OpenCores

Generic LFSR Generator

Project maintainers

Details

Name: myhdl_lfsr
Created: Jan 11, 2018
Updated: Jan 11, 2018
SVN Updated: Jan 11, 2018
SVN: Browse
Latest version: download (might take a bit to start...)
Statistics: View
Bugs: 0 reported / 0 solved
Star2you like it: star it!

Other project properties

Category:Arithmetic core
Language:Other
Development status:Beta
Additional info:
WishBone compliant: No
WishBone version: n/a
License: LGPL

Description

An n-width Galois LFSR generator written in MyHDL with max-cycle tap positions for selected widths.

An table of taps for selected widths is used to generate n-width Galois LFSR modules. The table data is sourced from the work of Roy Ward and Tim Molteno, currently available at http://courses.cse.tamu.edu/walker/csce680lfsr_table.pdf

Users of the python script may generate a module of their own specification. Register width and starting value are specified.

Samples modules with randomized starting values are provided for each width in the project's tap table, so python is not actually needed in order to use take advantage of the efforts of this small project. Sample modules are available for both Verilog and VHDL.

TODO

- Use python to implement an algorithm for finding max-cyle taps. One such method is described by Ward and Molteno http://www.physics.otago.ac.nz/reports/electronicsETR2012-1.pdf

- Allow users to specify module parameters from the command line when generating new modules - eg "python lfsr_gen.py --width=8 init=44" - Currently, users must edit the python scripts to customize module output.