DDR5 IBIS-AMI with Clock Forwarding
This example shows how to use Signal Integrity Toolbox™ for MATLAB to analyze a DDR5 interface with the IBIS-AMI feature Clock-Forwarding enabled for analysis of system margins. IBIS BIRD 204, "DQ_DQS GetWave Flow for Clock Forwarding Modeling," adds the ability to pass in an external Clock signal (or Strobe, as appropriate) to an Address (or Data) IBIS-AMI receiver
GetWave model using the
clock_times pointer defined by the IBIS specification. A new AMI Reserver Parameter,
Rx_Use_Clock_Input, is used to enable this functionality.
Open DDR5 Memory-Down Clock Forwarding Kit
Open the DDR5 Memory-Down Clock Forwarding kit in the Parallel Link Designer app using the
Signal Integrity Toolbox recommends you to set the Java Heap Memory to at least 8192MB. Use Home Tab -> Preferences -> MATLAB -> General -> Java Heap Memory Current Java Heap: 762MB with 307MB in use. Maximum heap: 1584MB. Heap setting: 1728MB.
Project name: DDR5_MD_Clock_Forwarding
Interface name: md
Target data rate: DDR5-3200 to DDR5-4800
Widebus sheet for each of two channels of Address/Command (5 DRAMs per lane with ODT selectable)
Widebus sheet for DQ Read transactions (8 DQ plus 1 DQS in Widebus Group with ODT selectable)
Widebus sheet for DQ Write transactions (8 DQ plus 1 DQS in Widebus Group with ODT selectable)
Note: Widebus sheets are required for Clock-Forwarding analysis.
Typical DDR5 coupled channel simulation setup using clock-forwarding
The clock times or waveform generated by DQS is passed to DQ[7:0] using the DQ DLL clock_times pointer. The DQ DLL then operates on these clock times as desired (for example triggering DFE taps, modelling the DQS delay tree or centering the DQ on the DQS waveform) and then passes out the same or modified clock_times.