SGMII / LVDS User Defined Application

Document created by tkirchne Employee on Apr 25, 2018Last modified by tkirchne Employee on Jun 12, 2018
Version 3Show Document
  • View in full screen mode

Keysight’s User Defined Application (UDA) N5430A for the Oscilloscopes allows to create automated test solutions for validation of physical layer signal integrity from transmitters. While for most common used physical layers, such like PCIe, USB and more than 40 other standards, validation and compliance test already exist in Keysight’s solution portfolio, in some cases the test procedures for physical layer signal integrity are not standardized and test parameters are only provided in the data sheet from the chip vendor.

The User Defined Application for Serial Gigabit Media Independent Interface (SGMII) is an UDA example project for Low Voltage Differential Signaling (LVDS) standards, which could easily be modified to the specifications in the vendor’s data sheet. The example UDA for SGMII is based on the 1000-Base-KX SGMII standard from IEEE 802.3ap.

The zip file contains the UDA project file and an compiled installer. To run this example, you need the following:

1. create folder c:\apps

2. Unzip to the folder. You should get 3 subfolders: c:\apps\UDA\SGMII, c:\apps\UDA\UDAFiles and  c:\apps\UDA\User Files for UDA project SGMII.

3. Install the SGMII UDA to your oscilloscope using the installer file: c:\apps\UDA\SetupUda_Application_SGMII_v1.06r.exe

4. Make sure, you have Keysight IO Lib Version 18 or higher installed.

5. For executing any UDA, like the SGMII UDA, on the oscilloscope, you will need the UDA N5430A license. Ask your Keysight's representative for a quote.


The SGMII UDA supports connections and measurements on differential data only, where the clock is recovered from data, or on differential data and explicit single ended clock, or on using the Waveform Memory WMEM1 and 3 for data and loading offline waveforms *.h5 from disc, respectively. The default is set to data normal on ch1 and data complement on ch3, clock on ch4.

You can run this example fully offline, if you have Infiniium Offline N8900A installed and running. In the running SGMII UDA, select Connection Parameter: "L" for load from waveform. It will prompt the user to browse to the waveform file for data normal and complement. Or select "W" for waveform memory to use previous loaded waveforms in WMEM1 and 3.

If you want a permanently load waveform files without prompts, you can modify the UDA project like this:

In the UDA project, change in Debug Run the Infinium SICL Address or VISA Alias to the VISA address from Infiniium Offline, as shown in Infiniium GUI under Utility Remote Setup. Your data file should be at least 5 MPoints for Jitter Measurements and saved in *.h5 format for data normal and complement. In the SGMII UDA go to Configs and Edit Connection Channels and change the default connection to "W" for Waveform memory. Go to Subroutines - Channel Setup - Edit and enable the two lines between 51 and 52 (:disk:load commands). Eventually adjust the file path.

Please let me know any idea for improvements.