Home

Awesome

Verilog LFSR Readme

Build Status

For more information and updates: http://alexforencich.com/wiki/en/verilog/lfsr/start

GitHub repository: https://github.com/alexforencich/verilog-lfsr

Introduction

Fully parametrizable combinatorial parallel LFSR/CRC module. Implements an unrolled LFSR next state computation. Includes full cocotb testbenches.

Documentation

lfsr module

Fully parametrizable combinatorial parallel LFSR/CRC module. Implements an unrolled LFSR next state computation.

lfsr_crc module

Wrapper for lfsr module for standard CRC computation.

lfsr_descramble module

Wrapper for lfsr module for self-synchronizing descrambler.

lfsr_prbs_check module

Wrapper for lfsr module for standard PRBS check.

lfsr_prbs_gen module

Wrapper for lfsr module for standard PRBS computation.

lfsr_scramble module

Wrapper for lfsr module for self-synchronizing scrambler.

Source Files

lfsr.v             : Parametrizable combinatorial LFSR/CRC module
lfsr_crc.v         : Parametrizable CRC computation wrapper
lfsr_descramble.v  : Parametrizable LFSR self-synchronizing descrambler
lfsr_prbs_check.v  : Parametrizable PRBS checker wrapper
lfsr_prbs_gen.v    : Parametrizable PRBS generator wrapper
lfsr_scramble.v    : Parametrizable LFSR self-synchronizing scrambler

Testing

Running the included testbenches requires cocotb and Icarus Verilog. The testbenches can be run with pytest directly (requires cocotb-test), pytest via tox, or via cocotb makefiles.