Oded Trainin, Hadas Yeger, Mark Gustlin
100GE PCS Modeling
IEEE HSSG September 2007
2
How Random is the PCS Data?
The Proposed 100G PCS has the concept of virtual lanes
A 100G stream is scrambled and then distributed and muxed to many lanes
How does the distribution, muxing and skew affect the “randomness” of the streams?
We rely on the scrambling to provide clock transitions for clock recovery, to control baseline wander etc…
Can’t prove or disprove the randomness (at least easily?) So run some simulations
3
How Random is the PCS Data?
Maximum run lengthsMaximum burst of ones or zeros throughout the simulation.
Running disparity(# of ones) – (# of zeros) in a 64,000bits sliding window.
Number of transitions within a windowNo. of transitions in 128 bits sliding window
4
Model Block Diagram - Transmit
Input 100G
Round-Robinof 66b words
between Virtual lanes
VL0 VL1
.
.
.
.
.
.
.VLn
Virtual lanes
Config-urable no. of VLs
Bit mux
Transmit Electrical media -
configurable: - number- latency per
SerDes
Tx GearboxRound-Robin
between electrical
media and between
optical lanes
Optical lanesconfigurable: - number - latency per
lane
*scrambler
Framing Adding
sync bits and
alignment words.
**
****
* - statistics are collected at these points
framing
Scrambler Self synchronous with polynomial X58+X39+1
Random number is picked for seed
Tx EM0
Tx EM9
5
Model Block Diagram – Receive
Rx Gearbox Round-Robin
between optical lanes and
between output electrical media
Receive electrical media -
configurable: - number- latency per
SerDes
Bit demux
VL0VL1.......VLn
Virtual lanes(same no. as input VLs)
-Word delimiter
-Word alignment
-Lane muxing
Output 100G
Verification compare
output with input
*
*
Rx EM0
Rx EM9
6
Scrambler Used
Self synchronous
Polynomial: X58+X39+1 (10GBASE-R)
0 1 38 57in
out
7
Various Input PatternsAll simulation were run with 10 transmit and receive electrical media, 4 optical and 20 Virtual lanes, and with various inputs.Simulations length: 7.5x1010 bits (0.75 second at 100Gbps)Random input data
– Random generated with “Mersenne Twister”.
Idle data input– Repeating 0x1e00000000
All zero inputAll ones inputSquare wave patterns
– SW1: 0b010101010…– SW2: 0b00110011001100…– SW4: 0b0000111100001111…– SW8: 0xFF00FF00…
8
Results: Max Run Length
373736373536343736Scrambler
43
35
38
35
33
40
34
34
43
35
41
37
36
37
39
34
43
35
41
35
38
35
33
40
34
max
4337373740413736Maximum
3231353032333333Rx EM 9
3833323230343233Rx EM 8
3032323132353232Rx EM 7
3133333131333231Rx EM 6
3131353340333336Rx EM 5
3431313431333433Rx EM 4
3133333133323432Rx EM 3
4335323331343431Rx EM 2
3035313132323333Rx EM 1
3537303433413432Rx EM 0
3232353734363232Optical 3
3435333533323634Optical 2
3733343434373335Optical1
3932343333333235Optical 0
3133333133323432Tx EM 9
4335323331343431Tx EM 8
3035313132323333Tx EM 7
3537303433413432Tx EM 6
3231353032333333Tx EM 5
3833323230343233Tx EM 4
3032323132353232Tx EM 3
3133333131333231Tx EM 2
3131353340333336Tx EM 1
3431313431333433Tx EM 0
Sw8Sw4Sw2Sw1All onesAll zeroIdleRandom
9
Results: Max Run Length
Maximum Run Lengths
2527293133353739414345
Rando
m Idle
All zero
All one
s
Sw1
Sw2
Sw4
Sw8
Input Pattern
Max
imum
Run
Len
gth
Tx EM 6Optical 3Rx EM 2ScramblerMax
10
Results: Max Running Disparity
171413861418153017141678122013021352Scrambler1714
1320
1392
1356
1326
1532
1350
1332
1502
1436
1426
1386
1354
1412
1462
1332
1502
1436
1426
1320
1392
1356
1326
1532
1350
max
13861436153017141678139213881412Max
12641296132012441196119212101190Rx EM 9
12781226125412501326139212501232Rx EM 8
11761324135612221250126811941238Rx EM 7
12741290132612361214123012321318Rx EM 6
11581196133611281532118413581328Rx EM 5
12561184120812601350129612281330Rx EM 4
11721252123612481260133211721206Rx EM 3
11521356150212641350117212261252Rx EM 2
12341436118812501268135812301230Rx EM 1
12181246117612601426124413881208Rx EM 0
12261222136012641300129612561386Optical 3
13521354130613001260121612721250Optical 2
12761246125213861274127212421412Optical1
13461330146213601220131012821260Optical 0
11721252123612481260133211721206Tx EM 9
11521356150212641350117212261252Tx EM 8
12341436118812501268135812301230Tx EM 7
12181246117612601426124413881208Tx EM 6
12641296132012441196119212101190Tx EM 5
12781226125412501326139212501232Tx EM 4
11761324135612221250126811941238Tx EM 3
12741290132612361214123012321318Tx EM 2
11581196133611281532118413581328Tx EM 1
12561184120812601350129612281330Tx EM 0
Sw8Sw4Sw2Sw1All onesAll zeroIdleRandom
11
Results: Max Running Disparity
Running Disparity
800900
100011001200130014001500160017001800
Rando
m Idle
All zero
All one
s
Sw1
Sw2
Sw4
Sw8
Input Pattern
Run
ning
Dis
parit
y
Tx EM 4Optical1Rx EM 1ScramblerMax
12
Results: Min Running Disparity
-1674-1430-1616-1410-1492-1234-1674-1478-1400Scrambler-1674
-1390
-1316
-1368
-1532
-1356
-1324
-1386
-1426
-1324
-1372
-1438
-1470
-1322
-1512
-1386
-1426
-1324
-1372
-1390
-1316
-1368
-1532
-1356
-1324min
-1470-1616-1410-1492-1360-1674-1512-1400Min
-1244-1292-1352-1284-1254-1242-1390-1244Rx EM 9
-1226-1218-1316-1244-1278-1230-1204-1272Rx EM 8
-1258-1324-1214-1178-1274-1368-1292-1318Rx EM 7
-1232-1532-1216-1268-1220-1366-1270-1220Rx EM 6
-1196-1210-1226-1322-1216-1356-1260-1252Rx EM 5
-1228-1324-1256-1230-1198-1278-1264-1294Rx EM 4
-1164-1290-1270-1186-1280-1386-1280-1250Rx EM 3
-1230-1172-1164-1426-1262-1234-1248-1224Rx EM 2
-1226-1268-1250-1202-1262-1282-1324-1268Rx EM 1
-1280-1346-1372-1168-1360-1250-1316-1238Rx EM 0
-1228-1438-1242-1316-1274-1304-1268-1278Optical 3
-1470-1316-1274-1286-1284-1262-1264-1310Optical 2
-1252-1322-1310-1272-1234-1280-1262-1288Optical1
-1262-1262-1394-1232-1266-1336-1512-1314Optical 0
-1164-1290-1270-1186-1280-1386-1280-1250Tx EM 9
-1230-1172-1164-1426-1262-1234-1248-1224Tx EM 8
-1226-1268-1250-1202-1262-1282-1324-1268Tx EM 7
-1280-1346-1372-1168-1360-1250-1316-1238Tx EM 6
-1244-1292-1352-1284-1254-1242-1390-1244Tx EM 5
-1226-1218-1316-1244-1278-1230-1204-1272Tx EM 4
-1258-1324-1214-1178-1274-1368-1292-1318Tx EM 3
-1232-1532-1216-1268-1220-1366-1270-1220Tx EM 2
-1196-1210-1226-1322-1216-1356-1260-1252Tx EM 1
-1228-1324-1256-1230-1198-1278-1264-1294Tx EM 0
Sw8Sw4Sw2Sw1All onesAll zeroIdleRandom
13
0
0.01
0.02
0.03
0.04
0.05
0.06
0.07
0.08
1 8 15 22 29 36 43 50 57 64 71 78 85 92 99 106 113 120 127no. of transitions in window
perc
enta
ge
idlesw1randomsw8sw4all oneall zerosw2
Transitions in 128 bits Window – Scrambler Output
14
Transitions in 128 bits Windowoptical and electrical media
0
0.01
0.02
0.03
0.04
0.05
0.06
0.07
0.08
1 6 11 16 21 26 31 36 41 46 51 56 61 66 71 76 81 86 91 96 101 106 111 116 121 126
no. of transitions in 128b w indow
perc
enta
ge
Electrical
optical
with skew
0
0.01
0.02
0.03
0.04
0.05
0.06
0.07
0.08
1 9 17 25 33 41 49 57 65 73 81 89 97 105 113 121
no. of transitionspe
rcen
tage
electrical
optical
These graphs were very similar
for the various input scenarios.
*
* Skew was added only for input Electrical media.
Average skew is 2.3 bits, maximal skew is 5.6 bits.
15
Stage 2 - Long Simulation, Setup A
Simulations length: 1012 bits, 10 seconds
10 input and output Electrical media, 4 opticalSkew:
None in electrical mediaMax skew in optical: 5 bits (latencies in bit-time: 1, 2, 4, 6)
Input scenarios:Random inputAll ones inputAll ones input, scrambler seed randomized every 6x106 bits (every 60µs, total 185649 times)
16
0
0.01
0.02
0.03
0.04
0.05
0.06
0.07
0.08
0.09
1 5 9 13 17 21 25 29 33 37 41 45 49 53 57 61 65 69 73 77 81 85 89 93 97 101 105 109 113 117 121 125
scrambler
Electrical media
optical media
Random Input (128b window)
1548(-1534)41Max (min)
1514-151039Scrambler
1418-129637Rx EM 9
1466-131636Rx EM 8
1396-135038Rx EM 7
1354-153439Rx EM 6
1314-130835Rx EM 5
1434-132636Rx EM 4
1476-134437Rx EM 3
1412-137235Rx EM 2
1374-138436Rx EM 1
1374-139837Rx EM 0
1402-141841Optical 3
1548-146636Optical 2
1410-144437Optical1
1454-144437Optical 0
1396-135036Tx EM 9
1332-136435Tx EM 8
1312-130835Tx EM 7
1366-141833Tx EM 6
1476-134437Tx EM 5
1348-137235Tx EM 4
1374-138235Tx EM 3
1444-139435Tx EM 2
1418-129638Tx EM 1
1424-144035Tx EM 0
Max running disparity
Min running disparity
Max run length
17
0
0.01
0.02
0.03
0.04
0.05
0.06
0.07
0.08
0.09
1 5 9 13 17 21 25 29 33 37 41 45 49 53 57 61 65 69 73 77 81 85 89 93 97 101 105 109 113 117 121 125
scrambler
Electrical media
optical media
All Ones Input (128b window)
1934(-1460)43Max (min)
1934-128443Scrambler
1400-133439Rx EM 9
1368-137840Rx EM 8
1390-140840Rx EM 7
1318-142837Rx EM 6
1390-130237Rx EM 5
1398-143837Rx EM 4
1494-139438Rx EM 3
1438-134437Rx EM 2
1370-140435Rx EM 1
1398-135039Rx EM 0
1468-136236Optical 3
1482-138440Optical 2
1466-140837Optical1
1502-146040Optical 0
1390-140842Tx EM 9
1336-142237Tx EM 8
1390-129837Tx EM 7
1410-132034Tx EM 6
1494-139437Tx EM 5
1394-132836Tx EM 4
1368-140436Tx EM 3
1428-133435Tx EM 2
1400-133439Tx EM 1
1358-137436Tx EM 0
Max running disparity
Min running disparity
Max run length
18
Stage 3 - Long Simulation, Setup B
Simulations length: 1012 bits, 10 seconds
4 transmit and receive electrical media, 2 opticalPossible future evolution
Skew:None in electrical mediaSkew in optical: 7 bits (latencies in bit-time: 1, 8)
Input scenarios:Random inputAll ones input
19
0
0.01
0.02
0.03
0.04
0.05
0.06
0.07
0.08
1 6 11 16 21 26 31 36 41 46 51 56 61 66 71 76 81 86 91 96 101 106 111 116 121 126
InEM0
Optic0
OutEM0
Scrambler
ElectricalScrambler
Optic
Random Input
1468(-1602)51Max (min)
1446-160240Scrambler
1414-137242Rx EM 3
1468-142238Rx EM 2
1424-140438Rx EM 1
1400-136836Rx EM 0
1412-142043Optical1
1438-142851Optical 0
1414-137242Tx EM 3
1400-136836Tx EM 2
1424-140438Tx EM 1
1468-142238Tx EM 0
Max running disparity
Min running disparity
Max run length
20
0
0.01
0.02
0.03
0.04
0.05
0.06
0.07
0.08
1 6 11 16 21 26 31 36 41 46 51 56 61 66 71 76 81 86 91 96 101 106 111 116 121 126
InEM1
Optical1
OutEM2
Scrambler
ElectricalScrambler
Optic
All Ones Input
2008(-1446)51Max (min)
2008-138444Scrambler
1496-144636Rx EM 3
1522-132839Rx EM 2
1494-138637Rx EM 1
1538-140438Rx EM 0
1508-138043Optical1
1624-132851Optical 0
1496-144636Tx EM 3
1538-140438Tx EM 2
1499-138637Tx EM 1
1522-132839Tx EM 0
Max running disparity
Min running disparity
Max run length
21
Conclusion
The multiplexing of the Universal PCS has a negligible effect on the scrambler properties for the various data paths