PoC.comm.scramble¶
The LFSR computation is unrolled to generate an arbitrary number of mask bits in parallel. The mask are output in little endian. The generated bit sequence is independent from the chosen output width.
Entity Declaration:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | entity comm_scramble is
generic (
GEN : bit_vector; -- Generator Polynomial (little endian)
BITS : positive -- Width of Mask Bits to be computed in parallel in each step
);
port (
clk : in std_logic; -- Clock
set : in std_logic; -- Set LFSR to value provided on din
din : in std_logic_vector(GEN'length-2 downto 0) := (others => '0');
step : in std_logic; -- Compute a Mask Output
mask : out std_logic_vector(BITS-1 downto 0)
);
end entity comm_scramble;
|