Main Content

USB 3.1 Transmitter/Receiver IBIS-AMI Model

This example shows how to create generic Universal Serial Bus version 3.1 (USB 3.1) transmitter and receiver IBIS-AMI models using the library blocks in SerDes Toolbox™. The generated models conform to the IBIS-AMI and USB 3.1 specifications.

USB 3.1 Tx/Rx IBIS-AMI Model Setup in SerDes Designer App

The first part of this example sets up the target transmitter and receiver AMI model architecture using the datapath blocks required for USB 3.1 in the SerDes Designer app. The model is then exported to Simulink® for further customization.

This example uses the SerDes Designer model usb3_1_txrx_ami. Type the following command in the MATLAB® command window to open the model:

>> serdesDesigner('usb3_1_txrx_ami')

A USB 3.1 compliant transmitter uses a 3-tap feed forward equalizer (FFE) with one pre-tap and one post-tap. The receiver model uses a continuous time linear equalizer (CTLE) with seven pre-defined settings, and a 1-tap decision feedback equalizer (DFE). To support this configuration the SerDes System is set up as follows:

Configuration Setup

  • Symbol Time is set to 100 ps, since the maximum allowable USB 3.1 operating frequency is 10 GHz.

  • Target BER is set to 1e-12 as specified in the USB 3.1 specification.

  • Samples per Symbol, Modulation, and Signaling are kept at default values, which are respectively 16, NRZ (non-return to zero), and Differential.

Transmitter Model Setup

  • The Tx FFE block is set up for one pre- and one post-tap by including three tap weights, as specified in the USB 3.1 specification. This is done with the array [0 1 0], where the main tap is specified by the largest value in the array.

  • The Tx AnalogOut model is set up so that Voltage is 1.00 V, Rise time is 60 ps, R (single-ended output resistance) is 50 Ohms, and C (capacitance) is 0.5 pF.

Channel Model Setup

  • Channel loss is set to 15dB.

  • Differential impedance is kept at default 100 Ohms.

  • Target Frequency is set to the Nyquist frequency, 5 GHz.

Receiver Model Setup

  • The Rx AnalogIn model is set up so that R (single-ended input resistance) is 50 Ohms and C (capacitance) is 0.5 pF.

  • In the Rx CTLE, set the Mode to fixed and Configuration Select for "6." The Rx CTLE block is set up for 7 configurations. The GPZ (Gain Pole Zero) matrix data is derived from the transfer function given in the USB 3.1 Behavioral CTLE specification.

  • In the Rx DFE/CDR, set the Mode to adapt. The Rx DFE/CDR block is set up for one DFE tap. The limits for the tap are as defined by the USB 3.1 specification: +/-50 mV.

Plot Statistical BER Results

Use the SerDes Designer plots to visualize the results of the USB 3.1 setup.

Add the BER plot from ADD Plots and observe the results.

Change the Rx CTLE Mode parameter from adapt to fixed and change the ConfigSelect parameter value from 6 to 2 and observe how this changes the data eye.

Before continuing, change the value of Rx CTLE Mode back to adapt. Resetting the value here will avoid the need to set it again after the model has been exported to Simulink.

Export SerDes System to Simulink

Click on the Export button to export the above configuration to Simulink for further customization and generation of the AMI model executables.

USB 3.1 Tx/Rx IBIS-AMI Model Setup in Simulink

The second part of this example takes the SerDes system exported by the SerDes Designer app and customizes it as required for USB 3.1 in Simulink.

Review Simulink Model Setup

The SerDes System imported into Simulink consists of the Configuration, Stimulus, Tx, Analog Channel and Rx blocks. All the settings from the SerDes Designer app have been transferred to the Simulink model. Save the model and review each block setup.

  • Double click the Configuration block to open the Block Parameters dialog box. The parameter values for Symbol time, Samples per symbol, Target BER, Modulation and Signaling are carried over from the SerDes Designer app.

  • Double click the Stimulus block to open the Block Parameters dialog box. You can set the PRBS (pseudorandom binary sequence) order and the number of symbols to simulate. This block is not carried over from the SerDes Designer app.

  • Double click the Tx block to look inside the Tx subsystem. The subsystem has the FFE block carried over from the SerDes Designer app. An Init block is also introduced to model the statistical portion of the AMI model.

  • Double click the Analog Channel block to open the Block Parameters dialog box. The parameter values for Target frequency, Loss, Impedance and Tx/Rx Analog Model parameters are carried over from the SerDes Designer app.

  • Double click on the Rx block to look inside the Rx subsystem. The subsystem has the CTLE and DFECDR blocks carried over from the SerDes Designer app. An Init block is also introduced to model the statistical portion of the AMI model.

Run the Model

Run the model to simulate the SerDes System.

Two plots are generated. The first is a live time domain (GetWave) eye diagram that is updated as the model is running (note: this may not look exactly the same due to real-time adaptation).

After the simulation has completed the second plot contains views of the statistical (Init) and time domain (GetWave) results, similar to what is available in the SerDes Designer App.

Update Tx FFE Block

  • Inside the Tx subsystem, double click the FFE block to open the FFE Block Parameters dialog box.

  • Expand the IBIS-AMI parameters to show the list of parameters to be included in the IBIS-AMI model.

  • Deselect the Mode parameter to remove this parameter from the AMI file, effectively hard-coding the current value of Mode in the final AMI model to Fixed.

Review Rx CTLE Block

  • Inside the Rx subsystem, double click the CTLE block to open the CTLE Block Parameters dialog box.

  • Gain pole zero data is carried over from the SerDes Designer app. This data is derived from the transfer function given in the USB 3.1 Behavioral CTLE specification.

  • CTLE Mode is set to Adapt, which means an optimization algorithm built into the CTLE system object selects the optimal CTLE configuration at run time.

Update Rx DFECDR Block

  • Inside the Rx subsystem, double click the DFECDR block to open the DFECDR Block Parameters dialog box.

  • Expand the IBIS-AMI parameters to show the list of parameters to be included in the IBIS-AMI model.

  • Deselect the Phase offset and Reference offset parameters to remove these parameters from the AMI file, effectively hard-coding these parameters to their current values.

Generate USB 3.1 Tx/Rx IBIS-AMI Model

The final part of this example takes the customized Simulink model, modifies the AMI parameters for USB 3.1, then generates IBIS-AMI compliant USB 3.1 model executables, IBIS and AMI files.

Open the Block Parameter dialog box for the Configuration block and click on the SerDes IBIS-AMI Manager button. In the IBIS tab inside the SerDes IBIS-AMI manager dialog box, the analog model values are converted to standard IBIS parameters that can be used by any industry standard simulator. In the AMI-Tx and AMI-Rx tabs in the SerDes IBIS-AMI manager dialog box, the reserved parameters are listed first followed by the model specific parameters following the format of a typical AMI file.

Add Tx Jitter Parameters

To add Jitter parameters for the Tx model, in the AMI-Tx tab click the Reserved Parameters... button to bring up the Tx Add/Remove Jitter&Noise dialog, select the Tx_Dj and Tx_Rj boxes and click OK to add these parameters to the Reserved Parameters section of the Tx AMI file. The following ranges allow you to fine-tune the jitter values to meet USB 3.1 jitter mask requirements.

Set Tx Dj Jitter Value

  • Select Tx_Dj, then click the Edit... button to bring up the Add/Edit AMI Parameter dialog.

  • Set the Current Value to 0.0.

  • Change the Type to UI.

  • Change the Format to Range.

  • Set the Typ value to 0.

  • Set the Min value to 0.

  • Set the Max value to 0.17

  • Click OK to save the changes.

Set Tx Rj Jitter Value

  • Select Tx_Rj, then click the Edit... button to bring up the Add/Edit AMI Parameter dialog.

  • Set the Current Value to 0.0.

  • Change the Type to UI.

  • Change the Format to Range.

  • Set the Typ value to 0.

  • Set the Min value to 0.

  • Set the Max value to 0.012

  • Click OK to save the changes.

Add Rx Jitter and Noise Parameters

To add Jitter parameters for the Rx model, in the AMI-Rx tab click the Reserved Parameters... button to bring up the Rx Add/Remove Jitter&Noise dialog, select the Rx_Receiver_Sensitivity, Rx_Dj and Rx_Rj boxes and click OK to add these parameters to the Reserved Parameters section of the Rx AMI file. The following ranges allow you to fine-tune the jitter values to meet USB 3.1 jitter mask requirements.

Set Rx Receiver_Sensitivity Value

  • Select Rx_Receiver_Sensitivity, then click the Edit... button to bring up the Add/Edit AMI Parameter dialog.

  • Set the Current Value to 0.025

  • Change the Format to Range.

  • Set the Typ value to 0.025

  • Set the Min value to 0.015

  • Set the Max value to 0.100

  • Click OK to save the changes.

Set Rx Dj Jitter Value

  • Select Rx_Dj, then click the Edit... button to bring up the Add/Edit AMI Parameter dialog.

  • Set the Current Value to 0.0.

  • Change the Type to UI.

  • Change the Format to Range.

  • Set the Typ value to 0.

  • Set the Min value to 0.

  • Set the Max value to 0.3

  • Click OK to save the changes.

Set Rx Rj Jitter Value

  • Select Rx_Rj, then click the Edit... button to bring up the Add/Edit AMI Parameter dialog.

  • Set the Current Value to 0.0.

  • Change the Type to UI.

  • Change the Format to Range.

  • Set the Typ value to 0.

  • Set the Min value to 0.

  • Set the Max value to 0.015

  • Click OK to save the changes.

Export Models

Select the Export tab in the SerDes IBIS-AMI manager dialog box.

  • Update the Tx model name to usb3_1_tx

  • Update the Rx model name to usb3_1_rx

  • Note that the Tx and Rx corner percentage is set to 10%. This will scale the min/max analog model corner values by +/-10%.

  • Verify that Dual model is selected for both the Tx and the Rx. This will create model executables that support both statistical (Init) and time domain (GetWave) analysis.

  • Set the Tx model Bits to ignore value to 3 since there are three taps in the Tx FFE.

  • Set the Rx model Bits to ignore value to 20000 to allow sufficient time for the Rx DFE taps to settle during time domain simulations.

  • Verify that Both Tx and Rx are set to Export and that all files have been selected to be generated (IBIS file, AMI files and DLL files).

  • Set the IBIS file name to be usb3_1_serdes.ibs

  • Press the Export button to generate models in the Target directory.

Test Generated IBIS-AMI Models

The USB 3.1 transmitter and receiver IBIS-AMI models are now complete and ready to be tested in any industry standard AMI model simulator.

References

[2] IBIS 6.1 Specification, https://ibis.org/ver6.1/ver6_1.pdf.

See Also

| | |

Related Topics