aboutsummaryrefslogtreecommitdiff

vndecorrelator

A Verilog implementation of a von Neumann decorrelator.

This tiny module consumes pairs of bits and generates decorrelated bits. Basically given a sequence of two bits, the decorrelator will:

0, 1: Emit 1 1, 0: Emit 0 0, 0: Emit nothing 1, 1: Emit nothing

The rate of bits emitted is thus at most half of the bitrate on the input.

The module is synchronous, but bits may arrive a number of cycles between eachother. The module will set the syn_out flag during one cycle to signal that the value in data_out is a valid bit.