User manual

Table Of Contents
Zynq-7000 AP SoC Technical Reference Manual www.xilinx.com 299
UG585 (v1.11) September 27, 2016
Chapter 10: DDR Memory Controller
10.3.1 Row/Bank/Column Address Mapping
The DDRC is responsible for mapping byte-addressable physical addresses used by the PS and PL AXI
masters to DDR row, bank and column addresses. This address mapping has a limited configurability
to allow user optimization. Optimizing the mapping to specific data access patterns can allow
increased DDR utilization by reducing page and row change overhead.
Note: Many combinations of address remapping are not available, notably a complete
bank-row-column mapping.
The address mapper associates linear request addresses to DRAM addresses by selecting the AXI bit
that maps to each and every applicable DRAM address bit. The full available address space is only
accessible to the user when no two DRAM address bits are determined by the same AXI address bit.
Each DRAM row, bank, and column address bit has an associated register vector to determine its
associated AXI source in the DDRC DRAM_addr_map_bank, DRAM_addr_map_row, and
DRAM_addr_map_col registers. The associated AXI address bit is determined by adding the internal
base of a given register to the programmed value for that register, as described in the following
equation:
[internal base] + [register value] = [AXI address bit number]
For example, from the description for reg_ddrc_addrmap_col_b3, it can be seen that this register
determines the mapping for DRAM column bit 4 and its internal base is 3. When the full data bus is
in use, DRAM column bit 4 is determined by the following:
[internal base] + [register value].
If reg_ddrc_addrmap_col_b3 register is programmed to 2, then the AXI address bit is:
3 + 2 = 5.
In other words, the column address bit 4 sent to DRAM is mapped to AXI address bit *_ADDR[5].
All the column bits left-shift one bit in half bus width mode (including ECC). In this case,
reg_ddrc_addrmap_col_b2 determines the mapping of DRAM column address bit 4. In the full bus
width case, reg_ddrc_addrmap_col_b3 determines DRAM column address 4.
10.4 DDRC Arbitration
The DDRC arbitration consists of three stages (see Figure 10-5):
•Stage 1 is AXI read/write port arbitration
Stage 2 is winner of read and write compete
Stage 3 is transaction scheduler
Each of these stages has their own arbitration steps that will be discussed in more detail.