IEEE 802.3z Gigabit Ethernet Task Force September 9-11, 1996 Interim Meeting Coeur d'Alene Inn and Conference Center Coeur d'Alene, Idaho Richard Taborek, Amdahl GIGABIT ETHERNET SERIAL LINK CODES, CHANGE SUMMARY REV 4 ________________________________________________________ Change summary for serial link codes and receiver/transmitter states proposal based on the PCS protocol requirements. CONTENTS ________ Link startup codes Automatic link configuration data SOP/EOP and Idle codes Data and invalid character codes Link synchronization states and protocols The following companies have indicated their support for the concepts outlined in this proposal (in alphabetical order): 3Com, Amdahl, Cisco, Compaq, DEC, Granite, H-P, Madge, Packet Engines, Sun, VLSI Logic and Xaqti CHANGES IN REVISION 4 _____________________ o Howard Johnson - Interchanged T (EOP) and R (carrier extension) codes to improve error robustness. o Group consensus - Removed support for the defer bit transported by idle codes. This removes the I2 and I4 codes. Also removed defer bit from Config_Register - Remaining idle code, I1 and I3 are renumbered as I1 and I2. o Group consensus - Removed support for Long Topology and Short Topology bits from the Config_Register - July, 1996 meeting in Enschede, Motion #2 (Technical), Modify objective 12 to read: Support maximum collision domain diameter of 200m., M: Grow, S: Thomson, Passed: by acclamation o Corrected error in 8B10B tables with D0.2 code. Ending running disparity is ÒflipÓ, was ÒsameÓ. o Config_Register historic labels Selector and Technology Ability Field removed. REASONING BEHIND INTERCHANGE OF T AND R CODES _____________________________________________ o Of the codes previously assigned to S (K27.7), R (K29.7), H (K30.7), and T (K23.7), K23.7 is more error robust than the other three codes. o However, R may be used as a sequence (used repeatedly), whereas S, H, and T are always signals (single use). o Interchanging T and R codes improves error robustness. - R is reassigned code K23.7 and T is reassigned code K29.7. o Proof: - No data characters are a distance of one from a K23.7 of opposite beginning running disparity. - Four data characters are a distance of one from a K23.7 of the same beginning running disparity. - Two data characters are a distance of one from each of the K27.7, K29.7 and K30.7 characters of opposite beginning running disparity. - Four data characters are a distance of one from each of the K27.7, K29.7 and K30.7 characters of the same beginning running disparity. LISTING OF ORDERED SETS _______________________ Code Function Encoding Beg. RD End RD ---- -------------------- --------------------- ------- ------ F Link_Not_Available K28.5 D21.5 ? flip C Link_Configuration K28.5 D10.5 config_reg ? ? (config_reg is the Link Configuration Register) I1 Idle/Flip Disparity K28.5 D5.6 + - I2 Idle/Disparity OK K28.5 D16.2 - - S SOP K27.7 ? same T EOP1 K29.7 ? same R EOP2 K23.7 ? same H EOPinvalid K30.7 ? same LINK INFORMATION EXAMPLE ________________________ 802.3 info 8B10B codes ---------- ----------- LINK_NOT_AVAILABLE F LINK_NOT_AVAILABLE F ~ ~ LINK_NOT_AVAILABLE F LINK_CONFIGURATION C LINK_CONFIGURATION C ~ ~ LINK_CONFIGURATION C Idle/Disparity OK I2 Idle/Disparity OK I2 ~ ~ Idle/Disparity OK I2 0 PREAMBLE S (single short packet) 1 PREAMBLE Data = 10101010 2 PREAMBLE Data = 10101010 3 PREAMBLE Data = 10101010 4 PREAMBLE Data = 10101010 5 PREAMBLE Data = 10101010 6 PREAMBLE Data = 10101010 7 SFD Data = 10101011 8 DA Data = DA... ~ ~ LLC DATA Data = LLC DATA... ~ ~ FCS1 Data = FCS1 octet... FCS2 Data = FCS2 octet... FCS3 Data = FCS3 octet... FCS4 Data = FCS4 octet... EOP1 T EOP2 R EOP2 R ~ ~ EOP2 R (odd-num character) Idle/Flip Disparity I1 Idle/Disparity OK I2 ~ ~ Idle/Disparity OK I2 LINK_NOT_AVAILABLE F (error or reconfig) LINK_NOT_AVAILABLE F ~ ~ LINK_NOT_AVAILABLE F LINK_CONFIGURATION C LINK_CONFIGURATION C ~ ~ LINK_CONFIGURATION C Idle/Flip Disparity I1 Idle/Disparity OK I2 ~ ~ Idle/Disparity OK I2 ~ ~ Idle/Disparity OK I2 0 PREAMBLE S (1st packet of burst) 1 PREAMBLE Data = 10101010 2 PREAMBLE Data = 10101010 3 PREAMBLE Data = 10101010 4 PREAMBLE Data = 10101010 5 PREAMBLE Data = 10101010 6 PREAMBLE Data = 10101010 7 SFD Data = 10101011 8 DA Data = DA... ~ ~ LLC DATA Data = LLC DATA... ~ ~ FCS1 Data = FCS1 octet... FCS2 Data = FCS2 octet... FCS3 Data = FCS3 octet... FCS4 Data = FCS4 octet... EOP1 T (even char/no extension) EOP2 R 0 PREAMBLE S (2nd packet of burst) 1 PREAMBLE Data = 10101010 2 PREAMBLE Data = 10101010 3 PREAMBLE Data = 10101010 4 PREAMBLE Data = 10101010 5 PREAMBLE Data = 10101010 802.3 info 8B10B codes 6 PREAMBLE Data = 10101010 7 SFD Data = 10101011 8 DA Data = DA... ~ ~ LLC DATA Data = LLC DATA... ~ ~ FCS1 Data = FCS1 octet... FCS2 Data = FCS2 octet... FCS3 Data = FCS3 octet... FCS4 Data = FCS4 octet... EOP1 T (even char/no extension) EOP2 R Idle/Flip Disparity I1 Idle/Disparity OK I2 ~ ~ Idle/Disparity OK I2 CONFIG_REGISTER _______________ +-----------------------------------------------------+ |D0|D1|D2|D3|D4|D5|D6|D7|D8|D9|D10|D11|D12|D13|D14|D15| | | | | | |FD|HD| | | | | | | | RF|ACK| NP| +-----------------------------------------------------+ Config_Register bit usage: -------------------------- D5/A0: Full Duplex capable D6/A1: Half Duplex capable D13/RF: Remote Fault D14/ACK: Acknowledge D15/NP: Next Page (Escape) SUMMARY _______ o 8B10B codes and the proposed coding structure is efficient, robust, and flexible enough to meet Gigabit Ethernet PCS requirements. o Future activities: - Packet Burst: Currently supported. Need Task Force decision; - Idle addition/removal: Currently included for multi-link clock frequency compensation. If not required, running disparity requirements may be relaxed and only a single idle code is required; - Maintenance/Test mode: PCS additions pending proposal acceptance; - Transparent Signaling Channel: PCS additions pending proposal acceptance; - Preamble Priority and VLAN Tagging: PCS additions pending proposal acceptance; - Other direction from Task Force.