There are two basic approaches to designing the analyzers data recovery circuitry. Some USB 3.0 analyzers use dedicated SuperSpeed PIPE PHYs while others rely on general purpose deserializer components.

The main limitation when considering test equipment that uses USB 3.0 PIPE PHYs, like the Texas Instruments TUSB1310, is that the PIPE interface on this chip does not preserve the 10-bit symbols on the bus. This PHY converts the data stream to 8-bit patterns before transferring to the analyzer logic. In the process, it discards the original 10-bit patterns including running disparity. Without the running disparity information, it becomes impossible to accurately recreate the 10b code, especially when an invalid 10 bit symbol is received. While the TI PIPE PHY can indicate receipt of an invalid 10b code, it cannot identify which 10b code was received. Also, a PIPE PHY can indicate a running disparity error, but cannot identify the disparity value that was received or the previous symbol’s running disparity.

Showing actual 8b10b codes

Header packets and link commands are designed to tolerate a single bad symbol within their packet delimiters. When these errors occur, SuperSpeed devices are required to accept these packets as long three out of four framing symbols are valid. Both analyzer approaches can detect when 10-bit code errors occur. The difference (highlighted below) indicates that PIPE PHY based analyzers do not show the actual 10-bit code when it contains an error. This is easy to see using USB-IF Link Layer test case 7.05 (Header Packet Framing Robustness) that intentionally corrupts the HP framing. Only analyzers that capture and preserve raw 10-bit symbols allow users to see what was actually received.

When framing errors occur, the TUSB1310 sets a flag that indicates the symbol did not decode properly. But it’s not possible to see the actual raw 10bit symbols that were received with errors. Instead of showing the actual bits for framing errors, the analyzer simply substitutes “D” characters for “K” characters to imply an error. These analyzers may show valid 10-bit codes but only by reverse calculating the values using valid 8-bit symbols.

When link framing errors occur, Deserializer-based analyzers show that the symbol was not valid by marking in red. The actual 10-bit code (3A9) is shown allowing developers to see transmission errors or bit flip errors. Running disparity is preserved allowing users to distinguish running disparity errors

Both analyzer approaches can detect and report errors in the payload portion of headers, data frames, and link commands (using CRC checks). However, analyzers that utilize the PIPE PHY only have access to the 8-bit symbols to analyze the traffic. This is normal for commercial PHYs because higher layers only use the 8-bit values. However, when it comes to test equipment, developers generally want to capture the most detailed picture possible of traffic on the bus (i.e.: header packet framing error example above).

In the event developers using PIPE PHY based analyzers need visibility to 10-bit errors in link or header framing, the only alternative is attaching a scope to the system-under-test to capture the raw bit information. A side benefit of PIPE PHY based analyzers is that they only transfer 8 bits instead of 10 bits from the analyzer. This means they upload 20% less information and provide faster access to captured data.

Teledyne LeCroy’s USB 3.0 analyzers, the Voyager M3i and the Advisor T3 both utilize deserializer components and feature true 10-bit capture. When it comes to debugging link layer or 8b10b encoding issues users will benefit having this additional information from the analyzer. Visibility to the raw 10-bit codes captured at the physical layer can help uncover root cause issues effecting link stability.