Skip to content
/ PRNG Public

Cellular automaton based pseudo random number generator

Notifications You must be signed in to change notification settings

tom-urkin/PRNG

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Cellular Automaton Based Pseudo Random Number Generator (CA-based PRNG)

SystemVerilog CA-based PRNG module

Implementention in SystemVerilog of CA-based PRNG.

Principle of operation of 1D cellular automaton can be found in Mathworld. Programmable CA-based PRNG with:

  • Configurable number of CA array

  • Configurable number of neighbors

  • Configurable CA rule (i.e. 'rule 30', 'rule 150', etc.)

  • Configurable pseudo random number width

  • Conceptual block diagram of a CA-based PRNG module:

    CA_PRNG

Get Started

The source files are located at the repository root:

CA-based PRNG Architecture Parameters

  • ARRAY_WIDTH : Width of the one-dimensional CA grid
  • NEIGHBORHOOD : Number of neuighboring cells
  • RULE : Cellular automaton rule
  • N : Random number width
  • LOCATION : Bit location for random number generation

Testbench

  • 100 iterations of three PRNG with different CA rules ('rule 30', 'rule 60', 'rule 150')

    Terminal

Support

I will be happy to answer any questions.
Approach me here using GitHub Issues or at tom.urkin@gmail.com

About

Cellular automaton based pseudo random number generator

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published