

Look to the comments within the module for further guidance. The size of the LFSR used for clocking can be changed by changing the generic “V” value in the module’s entity. The type of output distribution can be selected. The output word width can be scaled from 4 to 24 bits. The LFSR_Plus.v can be configured by changing the values within the generic parameters within the module’s entity block.


Sample histograms are included in the figures following. These distributions are created by altering a scalable LFSR output by clocking the output irregularly with a non-uniform clock, shifting scaled outputs into a buffer-adder-tree to effectively use the central limit theorem to create a normal distribution, and a feedback loop to further shape the distributions. The module gives the user 4 options for output distribution types, Gaussian unimodal, bimodal, uniform, and non-uniform distributions. This Verilog module uses 2 Linear Feedback Shift Registers (LFSR) with polynomials for maximal sequence length, one of which is scalable to output word size (4 to 24 bit) and one to operate as a non-uniform duty cycle clock. Writing Pseudo Random Numbers to File using a Test Bench (Verilog Test Fixture) Introduction.

Sample output distributions (Histograms).Basic LFSR_Plus.v Core options and configuration.Using Central Limit Theorem and feedback to shape distribution.Overview of the Linear Feedback Shift Register.The following topics are covered using the Lattice Diamond Design Software version 2.0.1.
