The Fabric DDR subsystem ports are categorized into the following groups:
The following figure shows the DDR subsystem ports.
In addition to ports shown in the preceding figure, the Fabric DDR subsystem also has some generic ports, see the following table.
Signal Name | Direction | Description |
---|---|---|
SYS_CLK | Output | Clock for user logic generated by the embedded PLL. All native interface signals are synchronous to this clock. Always on the global clock network. |
SYS_RESET_N | Input | Active-low asynchronous system reset. SYS_RESET_N must be generated by ANDing the DEVICE_INIT_DONE and BANK_X_CALIB_STATUS signals of the PF_INIT_MONITOR IP1. BANK_X refers to the BANK where Fabric DDR subsystem is placed. |
PLL_REF_CLK | Input | Reference clock to the PLL. |
PLL_LOCK | Output | Lock signal generated by the PLL to indicate that the PLL is locked on to the PLL_REF_CLK signal. |
CTRLR_READY | Output | Signal that is deasserted when in reset or after CTRLR_INIT is asserted, then asserted after initialization and training sequences (if applicable) are completed. |
ALERT_N (ERR_OUT_N) | Input | This signal is asserted by the DDR memory when it detects a CA parity error or a CRC error. It is an input from DDR3 RDIMM or LRDIMM, and DDR4 components or DIMMs. |
stat_ca_parity_error | Output | This signal is asserted when an assertion is
detected on the ALERT_N pin. Each occurrence of a write CRC error or CA parity error causes the assertion of the ALERT_N pin. The value is cleared on read. |
The DDR Controller complies with the AXI3/4 protocol. The AXI3/4 slave interface provides the following features:
For more information about the AXI3/4 protocol, see the AMBA AXI and ACE Protocol Specification.
The following table lists the AXI3/4 slave interface signals. All AXI interface signals are active-high and are synchronous to SYS_CLK.
Signal Name | Direction | Description |
---|---|---|
Write Address Channel | ||
AXI0_AWID[X-1:0]2 | Input | Write address ID. |
AXI0_AWADDR[31:0] | Input | Write address. |
AXI0_AWLEN[M:0] | Input | Burst length. M = 7 for AXI4 IF and M = 3 for AXI3 IF. |
AXI0_AWSIZE[2:0] | Input | Burst size. |
AXI0_AWBURST[1:0] | Input | Burst type. |
AXI0_AWLOCK[1:0] | Input | Lock type.Not supported. |
AXI0_AWCACHE[3:0] | Input | Memory type. Not supported. |
AXI0_AWPROT[2:0] | Input | Protection type. Not supported. |
AXI0_AWVALID | Input | Write address valid. |
AXI0_AWREADY | Output | Write address ready. |
Write Data Channel | ||
AXI0_WID[X-1:0] | Input | Write ID tag. Supported only in AXI3. |
AXI0_WDATA[N-1:0]1 | Input | Write data. |
AXI0_WSTRB[N/8 - 1:0]1 | Input | Write strobes. |
AXI0_WLAST | Input | Write last. |
AXI0_WVALID | Input | Write valid. |
AXI0_WREADY | Output | Write ready. |
Write Response Channel | ||
AXI0_BID[X-1:0] | Output | Response ID tag. |
AXI0_BRESP[1:0] | Output | Write response. |
AXI0_BVALID | Output | Write response valid. |
AXI0_BREADY | Input | Response ready. |
Read Address Channel | ||
AXI0_ARID[X-1:0]2 | Input | Read address ID. |
AXI0_ARADDR[31:0] | Input | Read address. |
AXI0_ARLEN[M:0] | Input | Burst length. M = 7 for AXI4 IF and M = 3 for AXI3 IF. |
AXI0_ARSIZE[2:0] | Input | Burst size. |
AXI0_ARBURST[1:0] | Input | Burst type. |
AXI0_ARLOCK[1:0] | Input | Lock type. Not supported. |
AXI0_ARCACHE[3:0] | Input | Memory type. Not supported. |
AXI0_ARPROT[2:0] | Input | Protection type. Not supported. |
AXI0_ARVALID | Input | Read address valid. |
AXI0_ARREADY | Output | Read address ready. |
Read Data Channel | ||
AXI0_RID[X-1:0]2 | Output | Read ID tag. |
AXI0_RDATA[N-1:0] | Output | Read data. |
AXI0_RRESP[1:0] | Output | Read response. |
AXI0_RLAST | Output | Read last. |
AXI0_RVALID | Output | Read valid. |
AXI0_RREADY | Input | Read ready. |
The following table lists the native interface signals. All control signals are active-high and are synchronous to SYS_CLK.
Signal Name | Direction | Description |
---|---|---|
L_ADDR[38:0] | Input | Native interface address sizes: DDR4 = 39 bits, DDR3 = 36 bits, and LPDDR3 = 36 bits |
L_B_SIZE[10:0] | Input | Native interface burst length in terms of bytes. It must be in multiples of the native interface bus width. |
L_R_REQ | Input | Native interface read request. |
L_W_REQ | Input | Native interface write request. |
L_AUTO_PCH | Input | When asserted along with L_R_REQ or L_W_REQ, causes the command to be issued as read with auto-precharge and write with auto-precharge, respectively. |
L_BUSY | Output | Specifies that the subsystem is busy and is not accepting new requests. A command is accepted on any clock cycle where L_R_REQ or L_W_REQ is set, and L_BUSY is low. If L_BUSY is high when L_R_REQ or L_W_REQ is set, the request may be kept asserted (along with the desired L_ADDR, L_B_SIZE and L_AUTO_PCH values) until L_BUSY goes low. |
L_D_REQ | Output | Requests data on the native interface write data bus (L_DATAIN) during a write transaction. Asserts one clock cycle prior to when data is required. |
L_D_REQ_LAST_P0 | Output | Requests the last data on the native interface write data bus This signal is used along with L_D_REQ |
L_R_VALID | Output | Data-valid indication for data on the native interface read data bus (L_DATAOUT). |
L_R_VALID_LAST_P0 | Output | Data-valid indication for the last data on the native interface read data bus This signal is used along with L_R_VALID |
L_DATAIN[N:0] | Input | Input data bus. This data bus is eight times the width of the SDRAM device data bus. Memory width (bits): 16, 32, 64. Input data bus (bits): 128, 256, 512. |
L_DATAOUT[N:0] | Output | Output data bus. This data bus is twice the width of the SDRAM device data bus. Memory width (bits): 16, 32, 64. Output data bus (bits): 128, 256, 512. |
L_DM_IN[N:0] | Input | Individual byte masks during data write. Memory width (bits): 16, 32, 64. Data mask bus (bits): 16, 32, 64. |
The following table lists the refresh control signals. To expose these signals, select the Enable User Refresh Controls check box from DDR3/LPDDR3 configurator > Controller tab > Efficiency.
Signal Name | Direction | Description |
---|---|---|
L_REF_REQ | Input | User-initiated refresh control. Causes a refresh command to be issued at the next opportunity. This signal is only used when manual control of refresh is desired. The DDR Configurator provides an option (Enable User Refresh Controls) to expose the user-initiated refresh control (L_REF_REQ) signal. tREFI parameter in the DDR Configurator specifies the period between refreshes. |
L_REF_ACK | Output | Refresh acknowledge. Asserted for one clock cycle when a refresh command is being issued. Typically used to determine when a refresh was last issued in user-controlled refresh. Can be ignored when the subsystem is automatically generating refreshes. |
The following table lists the ZQ calibration control signals. To expose these signals, enable User ZQ Calibration Controls in the DDR Configurator Memory Timing tab.
Signal Name | Direction | Description |
---|---|---|
L_ZQ_CAL_REQ | Input | Causes user-initiated ZQCS or ZQCL requests to be issued at the next opportunity. The ZQCS or ZQCL are issued to the ranks corresponding to the asserted bits. ZQ calibration can be initiated either automatically or manually. The DDR Configurator provides an option to enable automatic ZQ calibration and to set the automatic ZQ calibration period. |
L_ZQ_CAL_ACK | Output | ZQ calibration acknowledge. Asserted for a single clock cycle when a ZQ calibration command is issued to memory devices. Used for ZQ calibrations initiated by asserting the L_ZQ_CAL_REQ signal. |
The following table describes the reinitialization control signal. To expose this signal, enable RE-INIT Controls in the DDR Configurator Controller tab.
Signal Name | Direction | Description |
---|---|---|
CTRLR_INIT | Input | Causes the subsystem to reissue the initialization sequence to the SDRAM. The initialization begins when a low-to-high transition is detected on the input. The controller always issues the initialization sequence (including the startup delay) after a reset, regardless of this signal’s state. If run-time reinitialization is not required, the signal can be tied low. |
The following table lists the ECC status signals.
Signal Name | Direction | Description |
---|---|---|
ECC_ERROR_1BIT | Output | Active when a 1-bit error is detected on the data being presented on the AXI RDATA/L_DATAOUT port. |
ECC_ERROR_2BIT | Output | Active when a 2-bit error is detected on the data being presented on the AXI RDATA/L_DATAOUT port. |
ECC_ERROR_POS[6:0] | Output | Indicates bit position of the error in a 64-bit data output for a 1-bit error. |
The following table lists the SDRAM interface signals.
Signal Name | Direction | Description |
---|---|---|
CK | Output | Differential clock pair forwarded to SDRAM. |
CK_N | Output | Differential clock pair forwarded to SDRAM. |
RESET_N | Output | SDRAM reset. Supported only for DDR3 and DDR4. |
A[15:0] | Output | Address bus. Sampled during the active, precharge, read, and write commands. Also provides the mode register value during MRS commands. Bus width for LPDDR3 is 10 bits, DDR3 is 16 bits, and DDR4 is 14 bits. |
BA[2:0] | Output | Bank address. Sampled during active, precharge, read, and write commands to determine which bank the command is to be applied to. Supported only for DDR3 and DDR4. For DDR4, bus width is 2 bits. For DDR3, bus width is 3 bits. |
BG[1:0] | Output | DDR bank group address for DDR4 only. |
CS_N | Output | SDRAM chip select. |
CKE | Output | SDRAM clock enable. Held low during initialization to ensure SDRAM DQ and DQS outputs are in the hi-Z state. |
RAS_N | Output | SDRAM row address strobe command. Supported only for DDR3 and DDR4. |
CAS_N | Output | SDRAM column access strobe command. Supported only for DDR3 and DDR4. |
WE_N | Output | SDRAM write-enable command. Supported only for DDR3 and DDR4. |
ODT | Output | On-die termination control. ODT is asserted during reads and writes according to the ODT activation settings in the DDR Configurator. |
PAR | Output | Command and address parity output. Supported only for DDR4. |
ALERT_N (ERR_OUT_N) | Input | It is asserted by the DDR memory when it detects a CA parity error or a CRC error. It is an input from DDR3 RDIMM or LRDIMM, and DDR4 components or DIMMs. |
DQ | Bidirectional | SDRAM data bus. Supports 16-bit, 32-bit, 39-bit, 64-bit, and 72-bit DDR SDRAM data buses. |
DM/DM_N | Output | Write data mask. DM for DDR3/LPDDR3 and DM_N for DDR4. |
DQS | Bidirectional | Strobes data into the SDRAM devices during writes and into the DDR subsystem during reads. |
DQS_N | Bidirectional | Complimentary DQS. |
SHIELD | Output | Pads must be connected to ground. They are placed between the data lanes for improving signal integrity. |