13.07.2013 Views

Slides

Slides

Slides

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!