SerDes Tool

This section provides information about the SerDes Tool.

Introduction

This section introduces the SerDes tool (SerDes stands for Serializer/Deserializer) that is an embedded component of Config tools for i.MX and supports the LX2, LA, and i.MX 95 processor families.

The SerDes tool provides two main functionalities: configuration and validation.

Note: The SerDes tool is provided as it is to aid customer capabilities of evaluating, debugging, and optimizing their designs. The results, or any part thereof, provided by the tool cannot be under any circumstances seen as a substitute for the traditional validation and compliance methods, which must be performed to declare compliance of the designs with the respective IP standards.

Create a SerDes tool project

To use the SerDes tool, create a project.

To create a SerDes tool project, follow these steps:

  1. Open the Config tools for i.MX.

  2. Choose Create a new standalone configuration for a processor, board, or kit and click Next.

  3. From Processors, choose one of the devices with SerDes tool support and click Finish.

  4. Click the SerDes tool icon to open the SerDes tool view

    _images/image7.png

    Config Tools overview

  5. To use the SerDes tool, the Disclaimer must be accepted.

    _images/image8_s.png

    Disclaimer

SerDes configuration

The SerDes configuration provides a user-friendly graphical interface to configure the SerDes interface and other associated sub-systems. It can be used to change the SerDes configuration when a different protocol is used and to optimize the parameters associated with signal integrity.

An SoC can have several SerDes modules. Each SerDes module is organized into entities called lanes. The number of lanes varies with the device type.

Configuring SerDes means effectively configuring its lanes and involves:

  • Protocol and speed – define what kind of traffic and at which speed the lane can operate with

  • PLL used by the lane

  • Transmit and receive equalization and electrical parameters. These are more in-depth configuration parameters that can affect the quality of the transmission on the lane

Lane configuration

The Lane Configuration is provided in the SERDES view and gives access to various advanced SerDes configuration options, which are related to the transmitter and receiver, electrical and equalization parameters.

The Lane Configuration panel shows the configuration for a single lane a time. To configure a lane, click a specific tab (each tab represents a SerDes protocol) and then configure it in the Board Config.

_images/image9_s.png

Lane Configuration panel

Any change in the Lane Configuration is highlighted in the Register view for a quick SerDes register inspection.

_images/image10_s.png

Register view

SerDes validation

After a SerDes configuration is created in terms of protocol/speed, lane receive and transmit, and PLL allocation, the question is whether that configuration will perform reliably under the intended type of traffic.

The validation relies on the SerDes hardware block build-in, programmable test capabilities that are used to verify the block under different conditions. The validation programs the build-in testing capabilities and then runs a series of tests.

The SerDes validation uses different scenarios to assess SerDes performance by downloading a test image to the processor’s internal RAM using the Serial Download mode. Results are sent to the SerDes tool via UART.

SerDes validation can help to assess the stability of the SerDes interface on the board in a non-OS environment.

Connection

To connect to a board some prerequisites are necessary:

  1. Configure the board to boot in the Serial download mode/Manufacture mode and power up the board.

  2. Connect a UART cable from the host computer to the UART of the A-core on the board.

  3. Connect a USB cable from the host computer to the USB port on the board that is used by the Serial download mode. A HID-compliant device or USB Input Device will be shown in the Windows Device Manager.

Note: It is highly recommended to connect the USB cable directly to the Host PC USB port and not through a USB HUB.

With the board connected to the host computer, the next step is to search for the UART ports by using COM port scan. The COM port drop-down list is populated with all the available UART ports.

_images/image11_s.png

COM port drop-down list

Choose the correct UART that is used as the A-core debug UART port.

Test scenarios

Once the SerDes configuration and board connection are set up, different Test scenarios can be executed. Each test can be customized by setting the parameters from Test options.

Depending on the test and options selected, the execution time may differ. By default, a 90-second timeout is set, to assure that in case of an issue the test finishes. To change the default value, edit the Timeout (seconds) option:

_images/image12_s.png

Timeout option

To start test execution, press the Start Validation button. Check the status of the running test from the Logsconsole. By default, the log level is set to INFO. Additional log level options are available with different output in the console:

_images/image13_s.png

Additional log level options

At the end of the test, the status is displayed in Results with the test summary in Summary.

_images/image14_s.png

Test summary

Each cell color can be decoded using the Legend (see the figure below)

  • Yellow is for Test failed

  • Orange is for Configuration error

  • Red is for Target connection error or exception in the script

  • Green is for Test passed

_images/image15_s.png

Legend

The SerDes tool offers several test scenarios for each available lane.

TX pattern generator

Running the TX pattern generator test drives the SerDes module to generate a specific pattern (set up by the user) on the TX side of the lane that is being verified.

_images/image16_s.png

TX pattern generator

The TX pattern generator test can be used in an environment with two devices connected in a way that:

  • One device starts transmitting data with the TX pattern generation test.

  • The other device verifies the received data with the BIST test or the RX Pattern Checker in External mode.

  • The TX pattern generator test continues to run until the board is restarted.

RX pattern checker

The RX pattern checker verifies the pattern received on the RX side.

_images/image17_s.png

RX pattern checker

BIST

Build-in self-test (BIST) refers to a quick self-evaluation of a hardware block.

Running a BIST test involved the following steps:

  1. Choose a pattern to be generated and how the traffic flows through the lane (that is Loopback mode: Disabled, Internal, External).

  2. Choose the number of Insert Error. The BIST output must contain the same number of generated errors as the number of errors inserted. This is a quick on-the-fly method to detect if some bits were lost.

  3. Choose the Time to wait. This represents how much traffic is generated and analyzed by the SerDes lane. The time can widely vary from seconds to days, having a direct impact on when BIST results are available.

_images/image18_s.png

BIST test