Zynq-7000 AP SoC and 7 Series FPGAs MIS v4.1
620
UG586 November 30, 2016
Chapter 4:
LPDDR2 SDRAM Memory Interface Solution
, requests 1 and 2 are accepted normally. The first time request 3 is presented,
accept is driven Low, and the request is not accepted. The user design retries request 3,
which is accepted on the next attempt. Request 4 is subsequently accepted on the first
attempt.
The
data_buf_addr
bus must be supplied with requests. This bus is an address pointer
into a buffer that exists in the user design. It tells the core where to locate data when
processing write commands and where to place data when processing read commands.
When the core processes a command, the core echoes
data_buf_addr
back to the user
design through
wr_data_addr
for write commands and
rd_data_addr
for read
commands. This behavior is shown in
. Write data must be supplied in the same
clock cycle that
wr_data_en
is asserted.
Transfers can be isolated with gaps of non-activity, or there can be long bursts with no gaps.
The user design can identify when a request is being processed and when it finishes by
monitoring the
rd_data_en
and
wr_data_en
signals. When the
rd_data_en
signal is
asserted, the Memory Controller has completed processing a read command request.
X-Ref Target - Figure 4-68
Figure 4-68:
Native Interface Flow Control
CLK
RANKBANKROWCOLUMN
CMDHI?PRIORITY
ACCEPT
USE?ADDR
DATA?BUF?ADDR
5'?C??
X-Ref Target - Figure 4-69
Figure 4-69:
Command Processing
CLK
WR?DATA?EN
WR?DATA?ADDR
WR?DATA?OFFSET
WR?DATA
WR?DATA?MASK
RD?DATA?EN
RD?DATA?ADDR
RD?DATA?ADDR
RD?DATA
$$
$$
$$
$$
$$
$$
$$
$$
$$
$$
4WO"ACKTO"ACK
$ATA"URSTS
$$
$$
5'?C??
4WO"ACKTO"ACK
$ATA"URSTS