76
www.ubicom.com
IP2022 Data Sheet
Figure 5-22 LFSR Block Diagram
The 40-bit residue register and its surrounding circuits are
the computational core of an LFSR unit. On every clock
cycle, 39 output bits from the register are available at the
input for performing a shift operation or a polynomial
add/subtract-and-shift operation. Four 40-bit multiplexers
at the output of the residue register allow selecting up to
four terms of the register for feedback into the input (D0),
polynomial operation control (POLY_XOR_EN), and
output (DOUT) bit streams. A fifth multiplexer is only used
for generating the output bit stream.
The polynomial and residue registers are mapped as five
8-bit registers. The mapping of the residue register is
controlled by the ML_OUT bit of the LFSRCFG3 register,
as shown in Figure 5-23.
Figure 5-23 Mapping of the Residue Register
Input data is shifted out of the 16-bit DATAIN register,
which can be programmed to provide the data LSB-first or
MSB-first. Output data is shifted LSB-first into the 16-bit
DATAOUT register.
A 32-bit RESCMP register (not shown) can be used to
compare the result in the residue register against an
expected value. When ML_OUT is set, residue register
bits 0:31 are compared against RESCMP bits 0:31. When
ML_OUT is clear, residue register bits 39:8 are compared
to RESCMP bits 0:31, respectively. If there are bits in the
Polynomial Register (POLYx)
Residue Register (RESx)
1..39
1..39
0..39
0
0
0
1
0..38
0..39
FB1
0..39
FB2
0..39
FB3
0..39
DOUT
D0
Source
Gating
POLY
Source
Gating
DOUT
Source
Gating
DATAOUT Register
DATAIN Register
515-082.eps
D0
POLY_XOR_EN
DOUT
DIN
0..39
FB4
515-083.eps
RES4
7
0
RES3
7
0
RES2
7
0
RES1
7
0
RES0
7
0
0
Residue Register (ML_OUT = 0)
39
39
Residue Register (ML_OUT = 1)
0