DDR memory controller (MPMC)
RM0082
112/844
Doc ID 018672 Rev 1
AHB port. A deeper command FIFO is only useful in situations when the master issues
several very short WRITE bursts.
In this case, the commands and the associated data will be completely captured in the
command and write FIFOs and the bus will be free to start other operations.
Read FIFO
The read FIFO holds the ahbX_HRDATA signals sent back from the Memory Controller.
There is only one streaming READ data interface out from the memory for all AHB ports.
The Memory Controller steers this data stream to the port that requested the data. As a
result, the AHB ports must be ready to accept the READ data as soon as it is available on
the internal Memory Controller core bus to avoid stalling the Memory Controller itself.
Write FIFO
The write FIFO holds the ahbX_HWDATA signals sent into the Memory Controller. The
depth of the write FIFO depends on the typical length of a burst write transaction.
Note:
There is a WRITE data queue inside the Memory Controller core as well. Therefore, the
write FIFOs allow the AHB bus to off load its WRITE command completely before it is fully
transferred to the Memory Controller core buffers.
Settings
Reset
There are two sets of reset logic inside the Memory Controller: the reset for the Memory
Controller core and the reset for the AHB ports.
The reset signal for the Memory Controller core is the asynchronous active-low reset rst_n
signal that resets all critical flip-flops in the system to ensure the Memory Controller core
exits from reset in a known state.
When the Memory Controller core is reset all parameters are reset too, so any command
inside the Memory Controller core are lost. Resetting Memory Controller core does not
automatically reset the AHB ports: resetting the Memory Controller core without AHB port
reset will generate unknown behavior.
The AHB port reset is the active-low asynchronous signal ahbX_HRESETn. When this reset
is asserted, the associated AHB port will be reset. The port FIFOs will be cleared and the
pointers will be reset. To prevent corruption within the Memory Controller, AHB ports should
only be reset at initialization and while the port is idle at the interface and with no commands
within the Memory Controller core.
Table 55.
Configured AHB settings
Port
number
Data
width
Clock domain type
Command
FIFO depth
Write FIFO
depth
Read FIFO
depth
0
32
Async or Sync
8
8
8
1
32
Async or Sync
8
8
8
2
32
Async or Sync
8
16
16
3
32
Async or Sync
8
8
8
4
32
Async or Sync
8
8
8