Zynq-7000 AP SoC and 7 Series FPGAs MIS v4.1
576
UG586 November 30, 2016
Chapter 4:
LPDDR2 SDRAM Memory Interface Solution
User Interface Block and User Interface
The UI block presents the UI to the user FPGA logic block. It provides a simple alternative to
the native interface by presenting a flat address space and buffering read and write data.
Memory Controller and Native Interface
The front end of the Memory Controller (MC) presents the native interface to the UI block.
The native interface allows the user design to submit memory read and write requests and
provides the mechanism to move data from the user design to the external memory device,
and vice versa. The backend of the Memory Controller connects to the physical interface
and handles all the interface requirements to that module. The Memory Controller also
provides a reordering option that reorders received requests to optimize data throughput
and latency.
PHY and the Physical Interface
The front end of the PHY connects to the Memory Controller. The backend of the PHY
connects to the external memory device. The PHY handles all memory device signal
sequencing and timing.
IDELAYCTRL
An IDELAYCTRL is required in any bank that uses IDELAYs. IDELAYs are associated with the
data group (DQ). Any bank/clock region that uses these signals require an IDELAYCTRL.
The MIG tool instantiates one IDELAYCTRL and then uses the IODELAY_GROUP attribute
(see the
iodelay_ctrl.v
module). Based on this attribute, the Vivado tool properly
replicates IDELAYCTRLs as needed within the design.
The IDELAYCTRL reference frequency should be set to 200 MHz. Based on the
IODELAY_GROUP attribute that is set, the Vivado tool replicates the IDELAYCTRLs for each
region where the IDELAY blocks exist. When a user creates a multicontroller design on their
own, each MIG output has the component instantiated with the primitive. This violates the
rules for IDELAYCTRLs and the usage of the IODELAY_GRP attribute. IDELAYCTRLs need to
have only one instantiation of the component with the attribute set properly, and allow the
tools to replicate as needed.