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
[1] USB, https://www.usb.org.
[2] IBIS 6.1 Specification, https://ibis.org/ver6.1/ver6_1.pdf.
See Also
FFE | CTLE | DFECDR | SerDes Designer
Related Topics
- Managing AMI Parameters
- USB 3.1 Compliance Kit (Signal Integrity Toolbox)