External Memory Interfaces (EMIF) IP User Guide: Agilex™ 5 FPGAs and SoCs

ID 817467
Date 11/18/2024
Public
Document Table of Contents

6.1. External Memory Interfaces (EMIF) IP - DDR4 Component Parameter Descriptions

The following topics describe the parameters available on each tab of the IP parameter editor, which you can use to configure your IP.
Table 117.  Group: High-level Configuration / Memory Device
Parameter Name Description
Data DQ Width

Number of DQ pins per memory channel, used for data.

Default value is 32

Legal values are: 16, 32, 40

(Identifier: MEM_CHANNEL_DATA_DQ_WIDTH)

ECC DQ Width

Number of additional DQ pins per memory channel, used for out-of-band ECC. If bigger than 0, controller will enable out-of-band ECC. Otherwise, out-of-band ECC will be disabled.

Default value is 0

Legal values are: 0, 8

(Identifier: MEM_CHANNEL_ECC_DQ_WIDTH)

Die DQ Width

Number of DQ pins in each die that makes up the interface. For dual-die packages, this is the width of the die, not the width of full the package.

Default value is 16

Legal values are: 8, 16

(Identifier: MEM_DIE_DQ_WIDTH)

Die Density

Capacity of each memory die (in Gbits), per channel per die. For dual-die packages, this is the density of each die, not the density of the full package.

Default value is 8

Legal values are: 2, 4, 8, 16

(Identifier: MEM_DIE_DENSITY_GBITS)

CS Width

Specifies the total number of CS pins used by each channel.

Default value is 1

Legal values are: 1, 2

(Identifier: MEM_CHANNEL_CS_WIDTH)

Memory Speedbin

Specifies the speedbin of the memory device(s) of which the interface consists.

Default value is 3200W

Legal values are: 1600J, 1600K, 1600L, 1866L, 1866M, 1866N, 2133N, 2133P, 2133R, 2400P, 2400R, 2400T, 2400U, 2666T, 2666U, 2666V, 2666W, 2933V, 2933W, 2933Y, 2933AA, 3200W, 3200AA, 3200AC

(Identifier: MEM_SPEEDBIN)

Use AC Mirroring

Enable command-address mirroring for multi-rank DDR4 interfaces per JEDEC Standard.

Default value is false

(Identifier: MEM_AC_MIRRORING_EN)

Share CK Pins Between Ranks

Specifies whether all the ranks in the same channel should share one pair of memory interface differential clock.

Default value is false

(Identifier: MEM_RANKS_SHARE_CK_EN)

Use AC Parity

Specifies whether address-command parity is enabled. If enabled then command latency is increased by the value of parameter "Address-Command Latency Mode".

Default value is false

(Identifier: MEM_AC_PARITY_EN)

Auto-set Memory Operating Frequency

if true, let IP select max frequency that this configuration can support for the current device speedgrade. If false, user can set custom value for operating frequency.

Default value is true

(Identifier: MEM_OPERATING_FREQ_MHZ_AUTOSET_EN)

Memory Operating Frequency

Specifies the frequency at which the memory interface will run.

Legal values are: 666.667, 800, 933.333, 1066.667, 1200, 1333.333, 1466.667, 1600

(Identifier: MEM_OPERATING_FREQ_MHZ)

Table 118.  Group: High-level Configuration / PHY
Parameter Name Description
Auto-set PLL Reference Clock Frequency

if true, let IP select max PLL refclk frequency that this configuration can support. If false, user can set custom value for PLL refclk frequency.

Default value is true

(Identifier: PHY_REFCLK_FREQ_MHZ_AUTOSET_EN)

Enable Advanced List of PLL Reference Clock Frequencies

If true, provide extended list of possible refclk values. Otherwise, prune possible list of refclk values to a more reasonable length.

Default value is false

(Identifier: PHY_REFCLK_ADVANCED_SELECT_EN)

Reference Clock Frequency

Specifies the reference clock frequency for the EMIF IOPLL.

(Identifier: PHY_REFCLK_FREQ_MHZ)

AC Placement

Indicates location on the device where the interface will reside (specifically, the location of the AC lanes in terms I/O BANK and TOP vs BOT part of the I/O BANK). Legal ranges are derived from device floorplan.

Default value is BOT

Legal values are: BOT, TOP

(Identifier: PHY_AC_PLACEMENT)

Alert_n AC-Lane Index

Specifies the AC lane index in which to place the ALERT_N pin.

Default value is AC2

Legal values are: AC2, AC3

(Identifier: PHY_ALERT_N_PLACEMENT)

Force Using 4 AC Lanes

Specifies if the minimum number of AC lanes for the memory interface should be forced to 4.

Default value is false

(Identifier: PHY_FORCE_MIN_4_AC_LANES_EN)

Auto-set Mainband Access Mode

if true, let IP select most likely usecase for the PHY_MAINBAND_ACCESS_MODE; if false, let user set a custom value for sideband access mode.

Default value is true

(Identifier: PHY_MAINBAND_ACCESS_MODE_AUTOSET_EN)

Mainband Access Mode

Specifies the path through which the EMIF QHIP mainband interface is exposed to the user. The mainband interface is the AXI4 interface to the memory controller.

Legal values are: NOC, ASYNC, SYNC

(Identifier: PHY_MAINBAND_ACCESS_MODE)

Auto-set Sideband Access Mode

if true, let IP select most likely usecase for the PHY_SIDEBAND_ACCESS_MODE; if false, let user set a custom value for sideband access mode.

Default value is true

(Identifier: PHY_SIDEBAND_ACCESS_MODE_AUTOSET_EN)

Sideband Access Mode

Specifies the path through which the EMIF QHIP sideband interface is exposed to the user. The sideband interface is the AXI4-Lite interface to the IOSSM.

Legal values are: NOC, FABRIC

(Identifier: PHY_SIDEBAND_ACCESS_MODE)

Pin Swizzle Map

Specifies the swizzle map for the data lanes and pins.

(Identifier: PHY_SWIZZLE_MAP)

Use Debug Toolkit

If enabled, the AXI-L port will be connected to SLD nodes, allowing for a system-console avalon manager interface to interact with this AXI-L subordinate interface.

Default value is false

(Identifier: DEBUG_TOOLS_EN)

Instance ID

Instance ID of the EMIF IP. This is useful when using a discovery mechanism over the side-band interface, to identify which EMIF instance's mailbox is at which offset. If expecting to use a discovery mechanism in hardware, this parameter must be set uniquely for all EMIFs that share a sideband. Otherwise, this parameter can be ignored / kept at the default value.

Default value is 0

Legal values are: from 0 to 6

(Identifier: INSTANCE_ID)

Table 119.  Group: High-level Configuration / Controller
Parameter Name Description
Use ECC Autocorrection

If ECC is enabled, specifies whether single-bit-errors (SBEs) should be corrected or just reported.

Default value is true

(Identifier: CTRL_ECC_AUTOCORRECT_EN)

Use Data Masking

Specifies whether Data Masking is enabled by the controller. When ECC is enabled, RMWs will occur (to recompute / write ECC), regardless of whether this is enabled.

Default value is false

(Identifier: CTRL_DM_EN)

Use WDBI

Specifies whether write Data-bus-inversion is enabled by the controller.

Default value is false

(Identifier: CTRL_WR_DBI_EN)

Use RDBI

Specifies whether read Data-bus-inversion is enabled by the controller.

Default value is false

(Identifier: CTRL_RD_DBI_EN)

Table 120.  Group: Advanced: Memory Timing / Overrides / JEDEC_TABLE
Parameter Name Description
JEDEC Parameter

Name of JEDEC Parameter to explicitly override; the values will be applied and appear in the list below.

Default value is

Legal values are: MEM_WR_PREAMBLE_MODE, MEM_RD_PREAMBLE_MODE, MEM_CL_CYC, MEM_CWL_CYC, MEM_TREFI_NS, MEM_TRAS_NS, MEM_TRCD_NS, MEM_TRP_NS, MEM_TRC_NS, MEM_TCCD_L_NS, MEM_TCCD_S_NS, MEM_TRRD_L_NS, MEM_TRRD_S_NS, MEM_TFAW_NS, MEM_TWTR_L_NS, MEM_TWTR_S_NS, MEM_TWR_NS, MEM_TMRD_NS, MEM_TCKSRE_NS, MEM_TCKSRX_NS, MEM_TCKE_NS, MEM_TCKESR_CYC, MEM_TMPRR_NS, MEM_TRFC_NS, MEM_TDQSCK_NS, MEM_TDQSS_CYC, MEM_TDSH_NS, MEM_TDSS_NS, MEM_TIH_NS, MEM_TIS_NS, MEM_TQSH_NS, MEM_TWLH_NS, MEM_TWLS_NS, MEM_TRFC_DLR_NS, MEM_TRRD_DLR_NS, MEM_TFAW_DLR_NS, MEM_TCCD_DLR_NS, MEM_TXP_NS, MEM_TXS_NS, MEM_TXS_DLL_NS, MEM_TCPDED_NS, MEM_TMOD_NS, MEM_TZQCS_NS, MEM_TZQINIT_CYC, MEM_TZQOPER_CYC

(Identifier: JEDEC_OVERRIDE_TABLE_PARAM_NAME)

Table 121.  Group: Advanced: Memory Timing / Values
Parameter Name Description
Write Preamble Length

Specifies the write preamble length in cycles.

(Identifier: MEM_WR_PREAMBLE_MODE)

Read Preamble Length

Specifies the read preamble length in cycles.

(Identifier: MEM_RD_PREAMBLE_MODE)

Read Latency

Read Latency of the memory device in clock cycles.

(Identifier: MEM_CL_CYC)

Write Latency

Write Latency in clock cycles.

(Identifier: MEM_CWL_CYC)

tREFI

Specifies the average refresh interval in nanoseconds.

(Identifier: MEM_TREFI_NS)

tRAS

Specifies the activation-to-precharge command period in nanoseconds.

(Identifier: MEM_TRAS_NS)

tRCD

Specifies the activation to interval read or write delay interval in nanoseconds.

(Identifier: MEM_TRCD_NS)

tRP

Specifies the precharge command period in nanoseconds.

(Identifier: MEM_TRP_NS)

tRC

Specifies the activate-to-activate or activate-to-refresh command period in nanoseconds.

(Identifier: MEM_TRC_NS)

tCCD_L

Specifies the CAS-to-CAS command delay for the same bank group in nanoseconds.

(Identifier: MEM_TCCD_L_NS)

tCCD_S

Specifies the CAS-to-CAS command delay for different bank groups in nanoseconds.

(Identifier: MEM_TCCD_S_NS)

tRRD_L

Specifies the activation-to-activation command delay for the same bank group in nanoseconds.

(Identifier: MEM_TRRD_L_NS)

tRRD_S

Specifies the activation-to-activation command delay for different bank groups in nanoseconds.

(Identifier: MEM_TRRD_S_NS)

tFAW

Specifies the four-activate-window in nanoseconds.

(Identifier: MEM_TFAW_NS)

tWTR_L

Specifies the minimum delay from the start of an internal write transaction to the immediately next internal read command for the same bank group in nanoseconds.

(Identifier: MEM_TWTR_L_NS)

tWTR_S

Specifies the minimum delay from the start of an internal write transaction to the immediately next internal read command for different bank groups in nanoseconds.

(Identifier: MEM_TWTR_S_NS)

tWR

Specifies the write recovery time in nanoseconds.

(Identifier: MEM_TWR_NS)

tMRD

Specifies the mode-register command cycle time in nanoseconds.

(Identifier: MEM_TMRD_NS)

tCKSRE

Specifies the amount of time, in nanoseconds, required after self-refresh entry or power-down entry.

(Identifier: MEM_TCKSRE_NS)

tCKSRX

Specifies the amount of time, in nanoseconds, required before self-refresh exit, power-down exit, or reset exit.

(Identifier: MEM_TCKSRX_NS)

tCKE

Specifies the minimum CKE low pulse width from self-refresh entry to self-refresh exit in nanoseconds.

(Identifier: MEM_TCKE_NS)

tCKESR

Specifies the minimum CKE low pulse width from self-refresh entry to self-refresh exit in memory clock cycles.

(Identifier: MEM_TCKESR_CYC)

tMPRR

Specifies the multi-purpose register recovery time measured in nanoseconds.

(Identifier: MEM_TMPRR_NS)

tRFC

Specifies the refresh-to-activate or refresh-to-refresh command period in nanoseconds.

(Identifier: MEM_TRFC_NS)

tDQSCK

Specifies the minimum DQS_t, DQS_c rising edge output timing location from rising CK_t, CK_c in nanoseconds.

(Identifier: MEM_TDQSCK_NS)

tDQSS

Specifies the skew between the memory clock (CK) and the output data strobes used for writes in cycles. It is the time between the rising data strobe edge (DQS_t/DQS_c).

(Identifier: MEM_TDQSS_CYC)

tDSH

Specifies the write DQS hold time, in nanoseconds. This is the time difference between the rising CK edge and the falling edge of DQS, measured as a percentage of tCK.

(Identifier: MEM_TDSH_NS)

tDSS

Describes the time, in nanoseconds, between the falling edge of DQS to the rising edge of the next CK transition.

(Identifier: MEM_TDSS_NS)

tIH (Base)

Refers to the hold time for the Address/Command bus after the rising edge of CK in nanoseconds. Depending on what AC level the user has chosen for a design, the hold margin can vary (this variance will be automatically determined when the user chooses the "tIH (base) AC level").

(Identifier: MEM_TIH_NS)

tIS (Base)

Refers to the setup time for the Address/Command/Control bus to the rising edge of CK in nanoseconds.

(Identifier: MEM_TIS_NS)

tQSH

Specifies the write DQS hold time in nanoseconds. This is the time difference between the rising CK edge and the falling edge of DQS, measured as a percentage of tCK.

(Identifier: MEM_TQSH_NS)

tWLH

Describes the write leveling hold time in nanoseconds. It is measured from the rising edge of DQS to the rising edge of CK.

(Identifier: MEM_TWLH_NS)

tWLS

Describes the write leveling setup time in nanoseconds. It is measured from the rising edge of CK to the rising edge of DQS.

(Identifier: MEM_TWLS_NS)

tRFC_DLR

Specifies the refresh cycle time across different logical rank in nanoseconds. Only applicable to 3DS devices.

(Identifier: MEM_TRFC_DLR_NS)

tRRD_DLR

Specifies the activation-to-activation time across different logical rank in nanoseconds. Only applicable to 3DS devices.

(Identifier: MEM_TRRD_DLR_NS)

tFAW_DLR

Specifies the four-activate-window across different logical ranks in nanoseconds.

(Identifier: MEM_TFAW_DLR_NS)

tCCD_DLR

Specifies the CAS-to-CAS delay across different logical ranks in nanoseconds.

(Identifier: MEM_TCCD_DLR_NS)

tXP

Specifies the delay from power down exit with DLL on to any valid command, or from precharge power down with with DLL frozen to commands not requiring a locked DLL. Measured in nanoseconds.

(Identifier: MEM_TXP_NS)

tXS

Specifies the delay from self refresh exit to commands not requiring a locked DLL in nanoseconds.

(Identifier: MEM_TXS_NS)

tXSDLL

Specifies the delay from self refresh exit to commands requiring a locked DLL in nanoseconds.

(Identifier: MEM_TXS_DLL_NS)

tCPDED

Specifies the command pass disable delay measured in nanoseconds.

(Identifier: MEM_TCPDED_NS)

tMOD

Specifies the mode register set command update delay in nanoseconds.

(Identifier: MEM_TMOD_NS)

tZQCS

Specifies the normal operation short calibration time in nanoseconds.

(Identifier: MEM_TZQCS_NS)

tZQINIT

Specifies the power-up and reset calibration time in cycles.

(Identifier: MEM_TZQINIT_CYC)

tZQOPER

Specifies the normal operation full calibration time in cycles.

(Identifier: MEM_TZQOPER_CYC)

Table 122.  Group: Advanced: Analog Overrides / Overrides / ANALOG_TABLE
Parameter Name Description
Analog Parameter

Name of Analog Parameter to explicitly override; the values will be applied and appear in the list below.

Default value is

Legal values are: PHY_TERM_X_R_S_AC_OUTPUT_OHM, PHY_TERM_X_R_S_CK_OUTPUT_OHM, PHY_TERM_X_R_S_DQ_OUTPUT_OHM, PHY_TERM_X_DQ_SLEW_RATE, PHY_TERM_X_R_T_DQ_INPUT_OHM, PHY_TERM_X_DQ_VREF, PHY_TERM_X_R_T_REFCLK_INPUT_OHM, MEM_ODT_DQ_X_TGT_WR, MEM_ODT_DQ_X_NON_TGT_WR, MEM_ODT_DQ_X_NON_TGT_RD, MEM_ODT_DQ_X_RON, MEM_VREF_DQ_X_RANGE, MEM_VREF_DQ_X_VALUE

(Identifier: ANALOG_PARAM_DERIVATION_PARAM_NAME)

Table 123.  Group: Advanced: Analog Overrides / Values
Parameter Name Description
AC Drive Strength

This parameter allows you to change the input on chip termination settings for the selected I/O standard on the refclk input pins. Perform board simulation with IBIS models to determine the best settings for your design.

Legal values are: SERIES_34_OHM_CAL, SERIES_40_OHM_CAL

(Identifier: PHY_TERM_X_R_S_AC_OUTPUT_OHM)

CK Drive Strength

This parameter allows you to change the output on chip termination settings for the selected I/O standard on the CK Pins. Perform board simulation with IBIS models to determine the best settings for your design.

Legal values are: SERIES_34_OHM_CAL, SERIES_40_OHM_CAL

(Identifier: PHY_TERM_X_R_S_CK_OUTPUT_OHM)

FPGA DQ Drive Strength

This parameter allows you to change the output on chip termination settings for the selected I/O standard on the DQ Pins. Perform board simulation with IBIS models to determine the best settings for your design.

Legal values are: SERIES_34_OHM_CAL, SERIES_40_OHM_CAL

(Identifier: PHY_TERM_X_R_S_DQ_OUTPUT_OHM)

DQ Slew Rate

Specifies the slew rate of the data bus pins. The slew rate (or edge rate) describes how quickly the signal can transition, measured in voltage per unit time. Perform board simulations to determine the slew rate that provides the best eye opening for the data bus signals.

Legal values are: SLOW, MEDIUM, FAST, FASTEST

(Identifier: PHY_TERM_X_DQ_SLEW_RATE)

DQ Input Termination

This parameter allows you to change the input on chip termination settings for the selected I/O standard on the DQ Pins. Perform board simulation with IBIS models to determine the best settings for your design.

Legal values are: RT_40_OHM_CAL, RT_50_OHM_CAL, RT_60_OHM_CAL

(Identifier: PHY_TERM_X_R_T_DQ_INPUT_OHM)

DQ Initial Vrefin

Specifies the initial value for the reference voltage on the data pins(Vrefin). The specified value serves as a starting point and may be overridden by calibration to provide better timing margins.

Legal values are: from 0 to 100

(Identifier: PHY_TERM_X_DQ_VREF)

PLL Reference Clock Input Termination

This parameter allows you to change the input on chip termination settings for the selected I/O standard on the refclk input pins. Perform board simulation with IBIS models to determine the best settings for your design.

Legal values are: RT_OFF, RT_DIFF

(Identifier: PHY_TERM_X_R_T_REFCLK_INPUT_OHM)

Target Write Termination

Specifies the target termination to be used during a write. The value of this parameter represents X, where: termination = RZQ/X = (240 Ohm)/X.

Legal values are: off, 1, 2, 3, 4, 5, 6, 7

(Identifier: MEM_ODT_DQ_X_TGT_WR)

Non-Target Write Termination

Specifies the termination to be used for the non-target rank in a multi-rank configuration during a write. The value of this parameter represents X, where: termination = RZQ/X = (240 Ohm)/X.

Legal values are: off, 1, 2, 3, 4, 5, 6, 7

(Identifier: MEM_ODT_DQ_X_NON_TGT_WR)

Non-Target Read Termination

Specifies the termination to be used for the non-target rank in a multi-rank configuration during a read. The value of this parameter represents X, where: termination = RZQ/X = (240 Ohm)/X.

Legal values are: off, 1, 2, 3, 4, 5, 6, 7

(Identifier: MEM_ODT_DQ_X_NON_TGT_RD)

Memory DQ Drive Strength

Specifies the termination to be used when driving read data from memory. The value of this parameter represents X, where: termination = RZQ/X = (240 Ohm)/X.

Legal values are: 7, 5

(Identifier: MEM_ODT_DQ_X_RON)

VrefDQ Range

Specifies which of the memory protocol defined ranges will be used.

Legal values are: 1, 2

(Identifier: MEM_VREF_DQ_X_RANGE)

VrefDQ Value

Specifies the initial VrefDQ value to be used.

Legal values are: from 60.00 to 92.50, from 45.00 to 75.00

(Identifier: MEM_VREF_DQ_X_VALUE)

Table 124.  Group: Example Design / Fileset Types
Parameter Name Description
HDL Selection

This option lets you choose the format of HDL in which generated simulation and synthesis files are created. You can select either Verilog or VHDL.

Default value is VERILOG

Legal values are: VERILOG, VHDL

(Identifier: EX_DESIGN_HDL_FORMAT)

Generate Synthesis Fileset

Generate Synthesis Example Design.

Default value is true

(Identifier: EX_DESIGN_GEN_SYNTH)

Generate Simulation Fileset

Generate Simulation Example Design.

Default value is true

(Identifier: EX_DESIGN_GEN_SIM)

Table 125.  Group: Example Design / User PLL
Parameter Name Description
Auto-set User PLL Output Clock Frequency

if true, let IP select a reference clock frequency for the user PLL in the example design; if false, let user set a custom value for this parameter.

Default value is true

(Identifier: EX_DESIGN_USER_PLL_OUTPUT_FREQ_MHZ_AUTOSET_EN)

User PLL Output Clock Frequency

Frequency of the core clock in MHz. This clock drives the traffic generator and NoC initiator (If in NoC mode).

Default value is 570

(Identifier: EX_DESIGN_USER_PLL_OUTPUT_FREQ_MHZ)

User PLL Reference Clock Frequency

PLL reference clock frequency in MHz for PLL supplying the core clock.

Default value is 100

(Identifier: EX_DESIGN_USER_PLL_REFCLK_FREQ_MHZ)

NOC Reference Clock Frequency

Reference Clock Frequency for the NOC control IP.

Default value is 100

Legal values are: 25, 100, 125

(Identifier: EX_DESIGN_NOC_PLL_REFCLK_FREQ_MHZ)

Table 126.  Group: Example Design / Traffic Generator
Parameter Name Description
Traffic Generator Remote Access

Specifies whether the Traffic Generator control and status registers are accessible via JTAG, exported to the fabric, or just disabled.

Default value is JTAG

Legal values are: EXPORT, JTAG

(Identifier: EX_DESIGN_TG_CSR_ACCESS_MODE)

Traffic Generator Program

Specifies the traffic pattern to be run.

Default value is MEDIUM

Legal values are: SHORT, MEDIUM, LONG, INFINITE

(Identifier: EX_DESIGN_TG_PROGRAM)

Table 127.  Group: Example Design / Performance Monitor
Parameter Name Description
Enable Performance Monitor for Channel 0

If true, example design will include a Performance Monitor instance connected to Channel 0.

Default value is false

(Identifier: EX_DESIGN_PMON_CH0_EN)