Slides
Slides
Slides
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
A Configurable<br />
Asynchronous<br />
Pseudorandom Bit<br />
Sequence Generator<br />
Alex Chow, Bill Coates, David Hopkins<br />
VLSI Research Group<br />
Sun Microsystems Laboratories<br />
1
Outline<br />
• Pseudorandom bit sequences (PRBSs)<br />
• Traditional PRBS generators<br />
• An asynchronous implementation<br />
> Design<br />
> Properties<br />
• Extension to other types of circuits<br />
A. Chow - Mar 14 2007<br />
ASYNC 2007 2
Properties & Applications of PRBSs<br />
• A statistically “random” bit sequence<br />
> Behaves like noise<br />
> Carries an equal number of 1's and 0's<br />
> Has near zero correlation with other PRBSs<br />
• Useful for<br />
> Testing I/O channels<br />
> Cryptography<br />
> Spread-spectrum communication systems<br />
A. Chow - Mar 14 2007<br />
ASYNC 2007 3
Generating a PRBS<br />
Using a Linear Feedback Shift Register (LFSR)<br />
• Next input bit is a linear function of the current state<br />
CLK<br />
A. Chow - Mar 14 2007<br />
Feedback Logic<br />
t 1 t 2 t 3 t N<br />
OUT<br />
ASYNC 2007 4
Generating a PRBS<br />
Using a Linear Feedback Shift Register (LFSR)<br />
• Next input bit is a linear function of the current state<br />
• Feedback logic is a sum (XOR) of a subset of bits in<br />
the register<br />
CLK<br />
A. Chow - Mar 14 2007<br />
t 1 t 2 t 3 t N<br />
OUT<br />
ASYNC 2007 5
Feedback Tap Sequence<br />
• Not every tap sequence generates a PRBS<br />
• A PRBS must be a maximal-length sequence<br />
> An N-stage LFSR produces a PRBS of length 2 N – 1<br />
> The PRBS contains every N-bit pattern (except all 0's)<br />
• Maximal tap sequence found using finite-field math<br />
A. Chow - Mar 14 2007<br />
ASYNC 2007 6
Feedback Tap Sequence<br />
Notation<br />
• We list the positions of all tapped bits<br />
• Example: 5-stage LFSR with taps at positions 3,5<br />
> Notation: N = 5, Taps = [5,3]<br />
> Produces a PRBS with length 2 5 – 1 = 31<br />
CLK<br />
A. Chow - Mar 14 2007<br />
1 2 3 4 5<br />
OUT<br />
ASYNC 2007 7
LFSR Logical Constraints<br />
• Properties of the PRBS strictly defined by LFSR<br />
topology, i.e.<br />
> Number of LFSR stages<br />
> Tap sequence (location and number of taps)<br />
• Each LFSR circuit can produce only one PRBS<br />
A. Chow - Mar 14 2007<br />
ASYNC 2007 8
An Asynchronous PRBS Generator<br />
• Started as a “Friday project”<br />
• Replace shift register with asynchronous FIFO stages<br />
• We present a GasP implementation<br />
A. Chow - Mar 14 2007<br />
ASYNC 2007 9
Two-Tap PRBS Generator<br />
The Circuit<br />
A. Chow - Mar 14 2007<br />
L<br />
Tap 1 Tap 2<br />
L L<br />
L L L<br />
L<br />
Feedback<br />
Logic<br />
DATA OUT<br />
CTL OUT<br />
Data path<br />
Control path<br />
ASYNC 2007 10
Two-Tap PRBS Generator<br />
GasP Control Elements<br />
A. Chow - Mar 14 2007<br />
L<br />
Control<br />
merge<br />
Tap 1 Tap 2<br />
L L<br />
L L L<br />
L<br />
Control<br />
branch<br />
Feedback<br />
Logic<br />
DATA OUT<br />
CTL OUT<br />
Data path<br />
Control path<br />
ASYNC 2007 11
Enforcing Proper Bit Sequence<br />
• LFSR uses global clock<br />
> Every stage contains valid data<br />
> Data moves in lock-step<br />
> Bit sequencing and synchronization implicitly enforced<br />
• Async implementation requires explicit control<br />
> Not every stage contains valid data<br />
> Data bits may propagate autonomously<br />
> Must explicitly synchronize pairs of control tokens to<br />
guarantee correct data sequencing<br />
A. Chow - Mar 14 2007<br />
ASYNC 2007 12
Two-Tap PRBS Generator<br />
Example<br />
• Emulate 5-stage LFSR with taps = [5,3]<br />
A. Chow - Mar 14 2007<br />
X<br />
L<br />
I<br />
X<br />
X X X<br />
L L L L L L L<br />
STOP<br />
DATA<br />
OUT<br />
CTL<br />
OUT<br />
ASYNC 2007 13<br />
L<br />
Data bit<br />
Control token
Two-Tap PRBS Generator<br />
Example<br />
• Emulate 5-stage LFSR with taps = [5,3]<br />
A. Chow - Mar 14 2007<br />
X<br />
L<br />
I<br />
X<br />
X X DATA<br />
L L L L L L L L<br />
OUT<br />
Data bit<br />
Control token<br />
CTL<br />
OUT<br />
ASYNC 2007 14
Two-Tap PRBS Generator<br />
Example<br />
• Emulate 5-stage LFSR with taps = [5,3]<br />
A. Chow - Mar 14 2007<br />
L<br />
I<br />
X<br />
X X<br />
X X DATA<br />
L L L L L L L L<br />
OUT<br />
Data bit<br />
Control token<br />
CTL<br />
OUT<br />
ASYNC 2007 15
Two-Tap PRBS Generator<br />
Example<br />
• Emulate 5-stage LFSR with taps = [5,3]<br />
A. Chow - Mar 14 2007<br />
X<br />
L<br />
I<br />
X<br />
X X X<br />
1L 2L 3L 4L 5L 6L 7L 8L<br />
STOP<br />
Physical taps<br />
[8,4]<br />
Data bit<br />
Control token<br />
DATA<br />
OUT<br />
CTL<br />
OUT<br />
ASYNC 2007 16
Two-Tap PRBS Generator<br />
Example<br />
• Emulate 5-stage LFSR with taps = [5,3]<br />
A. Chow - Mar 14 2007<br />
X<br />
L<br />
I<br />
X<br />
X X X<br />
L<br />
1<br />
L<br />
2<br />
L<br />
3<br />
L L L L<br />
4<br />
L<br />
5<br />
STOP<br />
Logical taps<br />
[5,3]<br />
Data bit<br />
Control token<br />
DATA<br />
OUT<br />
CTL<br />
OUT<br />
ASYNC 2007 17
Physical & Logical Independence<br />
• LFSR:<br />
> Physical tap sequence = logical tap sequence<br />
• Asynchronous implementation:<br />
> Logical tap sequence depends only on token distribution<br />
> Physical circuit structure need only enable logical tap<br />
sequence, not match it<br />
A. Chow - Mar 14 2007<br />
ASYNC 2007 18
Configurability<br />
• Async control decouples logical bit distribution from<br />
physical circuit structure<br />
• One circuit can produce many different PRBSs<br />
A. Chow - Mar 14 2007<br />
ASYNC 2007 19
Generating Different PRBSs<br />
Example<br />
• Construct a circuit to generate all two-tap maximallength<br />
patterns of order N ≤ 7<br />
A. Chow - Mar 14 2007<br />
Order N<br />
Logical Taps # Tokens Seg 1 # Tokens Seg 2<br />
3 [3,2] 2 1<br />
4 [4,3] 3 1<br />
5 [5,3] 3 2<br />
6 [6,5] 5 1<br />
7 [7,4] 4 3<br />
7 [7,6] 6 1<br />
ASYNC 2007 20
Generating All Patterns for N ≤ 7<br />
• N = 3<br />
• Taps = [3,2]<br />
A. Chow - Mar 14 2007<br />
X<br />
L<br />
I<br />
X<br />
X X X<br />
X X X<br />
L L L L L L L L L<br />
STOP<br />
DATA<br />
OUT<br />
CTL<br />
OUT<br />
ASYNC 2007 21
Generating All Patterns for N ≤ 7<br />
• N = 4<br />
• Taps = [4,3]<br />
A. Chow - Mar 14 2007<br />
X<br />
L<br />
I<br />
X<br />
X X<br />
X X X<br />
L L L L L L L L L<br />
STOP<br />
DATA<br />
OUT<br />
CTL<br />
OUT<br />
ASYNC 2007 22
Generating All Patterns for N ≤ 7<br />
• N = 5<br />
• Taps = [5,3]<br />
A. Chow - Mar 14 2007<br />
X<br />
L L<br />
X<br />
X<br />
L<br />
I<br />
X<br />
X X<br />
L L L L L L L<br />
STOP<br />
DATA<br />
OUT<br />
CTL<br />
OUT<br />
ASYNC 2007 23
Generating All Patterns for N ≤ 7<br />
• N = 6<br />
• Taps = [6,5]<br />
A. Chow - Mar 14 2007<br />
L L<br />
X<br />
L<br />
I<br />
X<br />
X X X<br />
L L L L L L L<br />
STOP<br />
DATA<br />
OUT<br />
CTL<br />
OUT<br />
ASYNC 2007 24
Generating All Patterns for N ≤ 7<br />
• N = 7A<br />
• Taps = [7,4]<br />
A. Chow - Mar 14 2007<br />
X<br />
L L<br />
X<br />
L<br />
I<br />
X<br />
X<br />
L L L L L L L<br />
STOP<br />
DATA<br />
OUT<br />
CTL<br />
OUT<br />
ASYNC 2007 25
Generating All Patterns for N ≤ 7<br />
• N = 7B<br />
• Taps = [7,6]<br />
A. Chow - Mar 14 2007<br />
L L<br />
X<br />
L<br />
I<br />
X<br />
X X X<br />
L L L L L L L<br />
STOP<br />
DATA<br />
OUT<br />
CTL<br />
OUT<br />
ASYNC 2007 26
Throughput and I/O<br />
• Throughput varies for different patterns<br />
> Because token occupancy is different for each pattern<br />
• May use the generator in synchronous systems<br />
> Take the output through async-to-clocked interfaces<br />
> Clock rate must be lower than minimum async throughput<br />
A. Chow - Mar 14 2007<br />
ASYNC 2007 27
Summary<br />
• Async design decouples number and distribution of<br />
logical bits from physical shift register structure<br />
• Exploit this orthogonality to let one FIFO circuit<br />
adopt multiple logical configurations<br />
• PRBS generator serves as an illustrative example<br />
> Can apply this idea to other circuits<br />
> Other examples: CRC generators, encoders, filters<br />
A. Chow - Mar 14 2007<br />
ASYNC 2007 28
Extension<br />
• Example: Cyclic Redundancy Checksum (CRC)<br />
generator<br />
IN<br />
CLK<br />
A. Chow - Mar 14 2007<br />
1 2 3 4 5<br />
OUT<br />
ASYNC 2007 29
Questions<br />
Alex Chow<br />
alex.chow@sun.com<br />
30