Professional Documents
Culture Documents
Linear Feedback Shift Registers (LFSR)
Linear Feedback Shift Registers (LFSR)
(LFSR)
LFSR Applications
Pattern Generators
Counters
Built-in Self-Test (BIST)
Encryption
Compression
Checksums
Pseudo-Random Bit Sequences (PRBS)
time
time
time
time
time
time
time
=
=
=
=
=
=
=
1000.0ns
2000.0ns
3000.0ns
4000.0ns
5000.0ns
6000.0ns
7000.0ns
~RST=0
~RST=0
~RST=0
~RST=0
~RST=0
~RST=0
~RST=0
Operation
Q=1XXX
Q=11XX
Q=111X
Q=1111
Q=1111
Q=1111
Q=1111
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
time
time
time
time
time
time
time
time
time
time
time
time
time
time
time
time
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
9000.0ns
10000.0ns
11000.0ns
12000.0ns
13000.0ns
14000.0ns
15000.0ns
16000.0ns
17000.0ns
18000.0ns
19000.0ns
20000.0ns
21000.0ns
22000.0ns
23000.0ns
24000.0ns
~RST=1
~RST=1
~RST=1
~RST=1
~RST=1
~RST=1
~RST=1
~RST=1
~RST=1
~RST=1
~RST=1
~RST=1
~RST=1
~RST=1
~RST=1
~RST=1
Q=1111
Q=0111
Q=0011
Q=0001
Q=1000
Q=0100
Q=0010
Q=1001
Q=1100
Q=0110
Q=1011
Q=0101
Q=1010
Q=1101
Q=1110
Q=1111
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Number of Taps
For many registers of length n, only two
taps are needed, and can be implemented
with a single XOR (XNOR) gate.
For some register lengths, for example 8,
16, and 32, four taps are needed. For some
hardware architectures, this can be in the
critical timing path.
A table of taps for different register lengths
is included in the back of this module.
Linear Feedback Shift Register
Effects of Errors
If using a sequence of 2n-1 then there is a potential
lockup state
For XOR LFSRs, lock up state = all 0s.
For XNOR LFSRs, lock up state = all 1s.
Solutions:
use a modified LFSR with 2n states
implement a watchdog timer
Linear Feedback Shift Register
1
0
We know this is a legal state since the only illegal state is all
0s. If the first n-1 bits are 0, then bit 0 must be a 1.
n
So normally the next state will be:
1
n
Linear Feedback Shift Register
1
0
0
0
10
1
0
n
Linear Feedback Shift Register
0
0
11
0
0
n
Linear Feedback Shift Register
0
0
12
X
0
13
b)
n
0
0
0
n
c)
0
0
0
0
14
2n states
a) 000001 :
b) 000000 :
c) 100000 :
Linear Feedback Shift Register
16
Count n
1s (0s)
Basic Scheme
17
TCO
Logically
A string of n+1 1s an extra lockup state
18
19
20
~RST=0
~RST=0
~RST=1
~RST=1
~RST=1
~RST=1
~RST=1
~RST=1
~RST=1
~RST=1
~RST=1
~RST=1
~RST=1
~RST=1
~RST=1
~RST=1
~RST=1
~RST=1
~RST=1
~RST=1
Q=1111
Q=1111
Q=1111
Q=0111
Q=0011
Q=0001
Q=1000
Q=0100
Q=0010
Q=1001
Q=1100
Q=0110
Q=1011
Q=0101
Q=1010
Q=1101
Q=1110
Q=1111
Q=0111
Q=0011
21
TCNT=0
TCNT=0
TCNT=0
TCNT=0
TCNT=0
TCNT=0
TCNT=0
TCNT=0
TCNT=0
TCNT=0
TCNT=0
TCNT=0
TCNT=0
TCNT=0
TCNT=0
TCNT=0
TCNT=0
TCNT=1
TCNT=0
TCNT=0
COUNT=0\H
COUNT=0\H
COUNT=0\H
COUNT=1\H
COUNT=0\H
COUNT=0\H
COUNT=0\H
COUNT=1\H
COUNT=0\H
COUNT=0\H
COUNT=1\H
COUNT=2\H
COUNT=0\H
COUNT=1\H
COUNT=0\H
COUNT=1\H
COUNT=2\H
COUNT=3\H
COUNT=0\H
COUNT=0\H
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
0
1
22
23
References
The Art of Electronics, 2nd Edition, Horowitz and Hill,
1989, pp. 665-667
P. Alfke, Efficient Shift Registers, LFSR, Counters, and
Long Pseudo-Random Sequence Generators, XAPP 052,
July 7,1996 (Version 1.1)
HDL Chip Design, Douglas J. Smith, Doone Publications,
1996.
24