10GBASE-R Test Patterns John Ewen IBM jfewen@us.ibm.com Test Pattern • Want to evaluate “pathological” events that occur on average once per day • At 10Gb/s “once per day” is equivalent to a probability of 1.1×10–15 ~ 1/250 – Equivalent to 7.9σ for a Gaussian distribution • 231 – 1 PRBS repeats ~ 200ms – Sufficient to meet worst case criteria of once per day? • 258 – 1 PRBS repeats in ~ 1 year – Too long for practical testing IEEE 802.3ae 3/12/2001 10GBASE-R Test Patterns IBM Test Pattern Function PCS Coder Insert patterns at scrambler Scrambler Block Gen. Decoder Descrambler Insert patterns at gearbox 66:16 Gearbox Sync Detect 16:66 Gearbox 16 16 PMA PMD Test here (or wrap only)? BER Rx IEEE 802.3ae 3/12/2001 BER Tx 10GBASE-R Test Patterns IBM Proposed Test Sequence • Use existing 1 + x39 + x58 scrambler – Seed register with defined value – Run for N bits (propose N= 216) • Allow non-zero scrambler data inputs for additional flexibility – Reset scrambler & repeat • Can use scrambler data input to reset its state (pseudo-seed) • Seed can be set via management registers • Seed chosen to stress: – Maximum run-length – Minimum transition density – Maximum baseline wander • N arbitrary, but … – Choose power of 2 for easy implementation – Choose N < memory depth of typical BERT • Periodically resetting the scrambler implies the pattern is no longer “random” IEEE 802.3ae 3/12/2001 10GBASE-R Test Patterns IBM Test Pattern Structure • Select a subset of the 258–1 PRBS using appropriate seed • Map the test pattern into the payload of the 66-bit blocks • Repeat the test pattern 3x1017 bits 1 + x39 + X58 PRBS N-bit Test Pattern (« 1017) 0 1 64b data 0 1 64b data … 0 1 64b data 66b blocks IEEE 802.3ae 3/12/2001 10GBASE-R Test Patterns IBM Test Pattern Generation • • • • Seed the scrambler Apply, short, repetitive data pattern (e.g. all zero’s) Apply pseudo-seed after N bits to transition to pattern beginning Repeat Input + + S0 S1 S2 S38 S39 S56 S57 p-Seed Data Output « N bits Input Seed Data Data … p-Seed Data Data … Data Output Seed Test Pattern … Test pattern … Test pattern Time N-bit test pattern IEEE 802.3ae 3/12/2001 10GBASE-R Test Patterns IBM Example • Choose 1 + x6 + x7 PRBS, – N= 16-bits – Pattern = 0 1 1 1 1 1 1 1 0 0 0 0 0 0 1 0 (longest run-length) • Initial Seed = 1 0 1 0 1 0 0 • To force scrambler to repeat the 16-bit pattern: – “Data” = 0 1 1 1 0 0 1 0 0 0 0 0 0 0 0 0 7bits reset the scrambler All zeros otherwise • ∴Seed= 1010100, Pseudo-seed= 0111001 • For Mth-order scrambler, need M-bits to reset the scrambler IEEE 802.3ae 3/12/2001 10GBASE-R Test Patterns IBM Error Detection • Only using a subset of the full 258–1 sequence • Self-synchronous descrambler will generate “errors” at pattern boundary – “Errors” are deterministic due to pattern mismatch • The “error” pattern at the descrambler equals the “data” pattern used to reset the scrambler to generate the test pattern – Can be taken into account to compute real error rate – Increases somewhat the complexity at the error detector IEEE 802.3ae 3/12/2001 10GBASE-R Test Patterns IBM Pattern Characteristics • Compare proposed pattern with a 216 –1 PRBS – PRBS choice is arbitrary – Want “random” pattern of ~216 length for comparison – 1+ x + x3 + x12 + x16 is convenient choice • Evaluate – – – – – Running disparity Transition density Autocorrelation Power spectral density Baseline wander IEEE 802.3ae 3/12/2001 10GBASE-R Test Patterns IBM Running Disparity Nomenclature • “216–1 PRBS”: 350 58 2 -1 PRBS 16 2 -1 PRBS 300 – 216 bits long (one cycle + 1 bit) – 1 + x + x3 + x12 + x16 Running Disparity 250 200 • “258–1 PRBS”: 150 – 216 bits long (« one cycle) – 1 + x39 + x58 – Seed chosen for max run-length ~8kb from pattern beginning 100 50 0 -50 -100 -150 0 IEEE 802.3ae 3/12/2001 1 2 3 4 Time (UI) 5 6 10GBASE-R Test Patterns 7 4 x 10 IBM Transition Density Transition Density 0.7 • Transition density averaged over 200 UI • 216–1 16 2 -1 PRBS 0.6 – 16 UI max run-length – 50% average density – 38% minimum density 0.5 0.4 0.3 0 • 258–1 1 2 3 4 5 6 7 Transition Density 4 x 10 0.8 – 58 UI max run-length – 44% average density – 3% minimum density 58 2 -1 PRBS 0.6 0.4 0.2 0 0 1 IEEE 802.3ae 3/12/2001 2 3 4 Time (UI) 5 6 7 4 x 10 10GBASE-R Test Patterns IBM Autocorrelation Autocorrelation 216 - 1 PRBS • 0.1 0.05 • 0 -0.05 -0.1 0 1 2 4 5 6 4 258 - 1 PRBS 0.15 Autocorrelation 3 • x 10 Random data = delta function Full PRBS closely approximates random data Partial PRBS more correlated than random data 0.1 0.05 0 -0.05 0 IEEE 802.3ae 3/12/2001 1 2 3 4 Time (UI) 5 6 4 x 10 10GBASE-R Test Patterns IBM Power Spectral Density • Power Spectral Density (dB/Hz) 5 0 • -5 -10 0 0.05 0.1 0.15 0.2 Increased low frequency content in partial PRBS pattern Tones due to correlation in sequence 58 2 -1 16 2 -1 0 -10 -20 -30 0 IEEE 802.3ae 3/12/2001 0.5 1 1.5 Relative Frequency 10GBASE-R Test Patterns 2 IBM 16 2 Baseline Wander -1 PRBS 58 2 -1 PRBS 1 1 0.8 0.6 0.5 0.2 Amplitude Amplitude 0.4 0 -0.2 0 -0.4 -0.5 -0.6 -0.8 -1 -1 0 0.5 1 Time (UI) 1.5 DJσ= 0.004,DJ-pp= 0.026 Total ISI= -0.33 dB, Penalty= -0.03 dB, BLWσ= 0.02442 IEEE 802.3ae 3/12/2001 0 0.5 1 Time (UI) 1.5 DJσ= 0.007,DJ-pp= 0.089, Min. PW= 0.911 Total ISI= -0.88 dB, Penalty= -0.62 dB, BLW σ= 0.04551 10GBASE-R Test Patterns IBM |Amplitude| Histogram (216–1 PRBS) Normal Probability Plot 3500 3000 Probability 2500 2000 1500 1000 500 0 0.9 1 1.1 1.2 0.999 0.997 0.99 0.98 0.95 0.90 0.75 0.50 0.25 0.10 0.05 0.02 0.01 0.003 0.001 0.95 Relative Amplitude IEEE 802.3ae 3/12/2001 10GBASE-R Test Patterns 1 1.05 Relative Amplitude IBM |Amplitude| Histogram (258–1 PRBS) Normal Probability Plot 8000 7000 6000 Probability 5000 4000 3000 2000 1000 0 0.6 0.8 1 1.2 0.999 0.997 0.99 0.98 0.95 0.90 0.75 0.50 0.25 0.10 0.05 0.02 0.01 0.003 0.001 1.4 0.8 Relative Amplitude 0.9 1 1.1 1.2 Relative Amplitude “tails” in distribution IEEE 802.3ae 3/12/2001 10GBASE-R Test Patterns IBM Running Disparity Alternate 258–1 PRBS Segments 600 • “258–1 PRBS”: 400 – 216 bits long (« one cycle) – 1 + x39 + x58 – Seed chosen for run-length of 58 ~8kb from pattern start 200 0 -200 Transistion Density 0 1 2 3 Time (UI) 4 5 6 x 10 4 • “258–1 Alternate” 0.6 0.4 0.2 0 0 0.5 IEEE 802.3ae 3/12/2001 1 1.5 Time (UI) 2 2.5 3 x 10 4 10GBASE-R Test Patterns – 216 bits long (« one cycle) – 1 + x39 + x58 – Seed chosen for run-length of 50 ~8kb from pattern start IBM Baseline Wander 58 58 2 -1 PRBS 2 -1 PRBS (Alternate) 1 1 0.5 Amplitude Amplitude 0.5 0 0 -0.5 -0.5 -1 -1 0 0.5 1 Time (UI) 1.5 DJσ= 0.007,DJ-pp = 0.089, Min. PW = 0.911 Total ISI = -0.88 dB, Penalty = -0.62 dB BLW σ = 0.0455, BLWpp = 0.365 IEEE 802.3ae 3/12/2001 0 0.5 1 Time (UI) 1.5 DJσ= 0.005,DJ-pp = 0.036, Min. PW = 0.964 Total ISI = -0.39 dB, Penalty = -0.05 dB BLW σ = 0.0255, BLWpp = 0.17 10GBASE-R Test Patterns IBM Baseline Wander 258-1 PRBS (Alternate) 0.999 0.997 0.99 0.98 0.95 0.90 0.75 Probability Probability 258-1 PRBS 0.50 0.25 0.10 0.05 0.02 0.01 0.003 0.001 0.8 IEEE 802.3ae 3/12/2001 0.9 1 1.1 |Amplitude| 1.2 0.999 0.997 0.99 0.98 0.95 0.90 0.75 0.50 0.25 0.10 0.05 0.02 0.01 0.003 0.001 0.9 10GBASE-R Test Patterns 0.95 1 1.05 |Amplitude| 1.1 IBM Alternate “Data” Inputs Running Disparity 400 • “0000… data” 0000... data 1000... data – Seed chosen for max run-length ~8kb from pattern start – Data input to scrambler all zeros 200 0 -200 0 2 4 6 8 x 10 4 • “1000… data” Transition Density 0.8 0.6 0.4 0.2 0 0 IEEE 802.3ae 3/12/2001 2 4 Time (UI) 6 8 – Seed chosen for max run-length – Data input to scrambler = 1 + 63 zeros – 64-bit data pattern repeats 4 x 10 10GBASE-R Test Patterns IBM Summary • Use existing scrambler / descrambler to generate and check test patterns • Wide variety of pattern characteristics available – Select long PRBS segments using short seed values • Pattern can be set via management registers – New patterns can be defined in the future without modifying hardware • Cost: increased complexity in the pattern checker IEEE 802.3ae 3/12/2001 10GBASE-R Test Patterns IBM Backup Material Stressed Eye 58 2 -1 PRBS 1 1 0.5 0.5 Amplitude Amplitude K28.5 + Random 8B/10B Data 0 0 -0.5 -0.5 -1 -1 0 0.5 1 Time (UI) 1.5 DJσ= 0.030,DJ-pp = 0.084, Min. PW = 0.986 Total ISI = 3.01 dB, Penalty = -2.84 dB IEEE 802.3ae 3/12/2001 0 0.5 1 Time (UI) 1.5 DJσ= 0.028,DJ-pp = 0.089, Min. PW = 0.981 Total ISI = -2.99 dB, Penalty = -2.76 dB 10GBASE-R Test Patterns IBM OC-192 “CID” Pattern OC-192 CID Pattern 800 • • • • A1/A2 700 Running Disparity 600 500 400 300 16kb PRBS • 32kb PRBS 16kb PRBS • 200 • 100 • • 0 -100 -200 0 72 1’s 72 0’s IEEE 802.3ae 3/12/2001 1 2 3 4 5 Time (UI) 6 7 10GBASE-R Test Patterns 192 bytes A1 192 bytes A2 64 bytes C1 128 bytes of “stuff” (return disparity to 0 with 50% transition density) 16kb PRBS (x10+ x7+1) 72 zeros 32kb PRBS (x15+ x14+1) 72 ones 16kb PRBS (x10+ x7+1) 8 4 x 10 IBM Running Disparity 800 OC-192 CID 258 - 1 PRBS 700 Running Disparity 600 500 400 300 200 100 0 -100 -200 0 IEEE 802.3ae 3/12/2001 1 2 3 4 5 Time (UI) 10GBASE-R Test Patterns 6 7 8 4 x 10 IBM Transistion Density Transistion Density Transition Density OC-192 CID Pattern 0.7 • Transition density averaged over 200 UI • OC-192 CID 0.6 0.5 – 72 UI max run-length – 50% average density – 21% minimum density 0.4 0.3 0.2 0 • 258–1 1 2 3 4 5 258 - 1 PRBS 0.8 6 7 8 4 x 10 – 58 UI max run-length – 44% average density – 3% minimum density 0.6 0.4 0.2 0 0 1 IEEE 802.3ae 3/12/2001 2 3 4 5 6 7 4 Time (UI) 10GBASE-R Test Patternsx 10 IBM Baseline Wander OC-192 CID Pattern 1 1 0.5 0.5 Amplitude Amplitude 58 2 -1 PRBS 0 0 -0.5 -0.5 -1 -1 0 0.5 1 Time (UI) 0 1.5 DJσ= 0.013,DJ-pp= 0.162 Total ISI= -2.25 dB, Penalty= -1.76 dB, BLWσ= 0.06953 IEEE 802.3ae 3/12/2001 0.5 1 Time (UI) 1.5 DJσ= 0.007,DJ-pp= 0.089, Min. PW= 0.911 Total ISI= -0.88 dB, Penalty= -0.62 dB, BLW σ= 0.04551 10GBASE-R Test Patterns IBM Baseline Wander (OC-192 CID) 3 x 10 Normal Probability Plot 4 2.5 Probability 2 1.5 1 0.5 0 0.5 1 1.5 0.999 0.997 0.99 0.98 0.95 0.90 0.75 0.50 0.25 0.10 0.05 0.02 0.01 0.003 0.001 0.6 Relative Amplitude IEEE 802.3ae 3/12/2001 10GBASE-R Test Patterns 0.8 1 1.2 1.4 Relative Amplitude IBM