64b/66b overview – Teledyne LeCroy Line Code and Symbolic Decoders User Manual
Page 10

Line Code and Symbol Decoders
8
922663 Rev A
64b/66b Overview
64b/66b encoding is not a protocol, but a widely used method to encode 64-bit data within a 66-bit line
code. The overhead of 64b/66b is considerably less than 8b/10b encoding due to the higher ratio of data
bits to coding length.
64b/66b encoding differs from 8b/10b encoding in that 64b/66b coding is designed for clock recovery
and stream realignment, but not DC balance or run length limitation, whereas 8b/10b encoding ensures
DC balance and run length limitation. Therefore, it is possible for there to be 65 continuous zeros or
ones and not violate the encoding scheme, provided the scrambling pattern and data are aligned. More
than 65 continuous ones or zeros are not permitted because it violates the clock recovery requirements.
64b/66b is commonly used in optical signaling protocols, such as 10GFC (10 Gb/s FibreChannel), 10G
Ethernet Passive Optical Network (10G-EPON), and InfiniBand, and also for varieties of 10GBASE,
40GBASE, and 100GBASE Ethernet.
The 66-bit line code consists of a two-bit preamble followed by the 64 bits for transmission.
A preamble of 01 indicates the 64 bits are entirely comprised of data.
A preamble of 10 indicates the 64 bits are comprised of an 8-bit type field followed by 56 bits of
control information and/or data.
Preambles of 00 and 11 are disallowed and generate errors if present.
The 8-bit type field is defined by the protocol that employs the 64b/66b encoding. The remaining 56 or
64 data bits are then scrambled using a self-synchronous scrambler function to ensure a reasonable
distribution of zeros and ones in the data. However, there is no requirement for the distribution of zeros
and ones, and, as previously described, up to 65 continuous zeros or ones are permitted and may occur
as part of normal data transmissions.
Serial data standards using 64b/66b encoding may also define special signal codes indicating protocol-
specific commands or functionality.
8b/10b and 64b/66b Decode Setup
To set up an 8b/10b or 64b/66b decoder, follow the general procedures to
, choosing
Protocol 8b/10bor 64b/66b. This will cause the following right-hand dialogs to appear next to the
Decode Setup dialog. Open each tab in turn to configure decoder settings.
B
ASIC
D
IALOG
Bit Rate - Enter the Bit Rate value here, matching the one on the bus to which you are connected as
precisely as you know it (hardware engineers working on a design often know the Bit Rate). If you are
not sure about the value, use the cursor read outs on one single bit or a sequence of bits to determine
the exact Bit Rate of your signal. The value should be correct within 5%. A mismatched Bit Rate will
cause various confusing side effects on the decoding, so it is best to take time to correctly adjust this
fundamental value. Bit Rates can be selected from 10 bits/s to 10 Gbit/s. Bit Rate selection is
dynamically linked to the decoding bit rate; they are always the same value.
Level - Enter the level (as a percentage of signal amplitude) that marks the transitions in the signal.
Viewing - Choose from Hexadecimal or Symbolic. Hexadecimal decode viewing automatically ignores
the non-data bits in the 10-bit (or 66-bit) symbol/character and returns a Hexadecimal value for the 8
(or 64) data bits only. Symbolic provides a protocol-specific view of the 10/66-bit symbol.
NOTE: Regardless of your choice here, both are shown on the table display. This selection determines
which base is used in trace annotations on the display grid.