IP2022 Data Sheet www.ubicom.com 71 5.9 Linear Feedback Shift Register Four  linear  feedback  shift  register  (LFSR)  units  provide
hardware   support   for   the   computation-intensive   inner
loops
of algorithms commonly used in data communications, such as: Cyclic Redundancy Check (CRC) Data Scrambling Data Whitening Encryption/Decryption Hashing The LFSR units implement a programmable architecture,
which   can   be   adapted   for   algorithms   used   by   the
Bluetooth,   Ethernet,   Homeplug,   HomePNA,   HomeRF,
IEEE 802.11, and USB communication protocols. Figure
5-18 is a block diagram of the LFSR architecture.
Figure 5-18  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-19.
Figure 5-19  Mapping of the Residue Register Polynomial Register (POLYx) Residue Register (RESx) 1..39 1..39 0..39 0 0 0 1 0..38 0..39 FB1
40:1
0..39 FB2
40:1
0..39 FB3
40:1
0..39 DOUT 40:1     D0
Source
Gating
 POLY
Source
Gating
 DOUT
Source
Gating
16-bit DATAOUT Register DATAIN Register 515-082a.eps D0 POLY_XOR_EN DOUT DIN 0..39 FB4
40:1
40 39 39 1 1 1 1 1 1 1 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