Line 1... |
Line 1... |
# MPMC8 - Multiport Memory Controller
|
# MPMC9 - Multiport Memory Controller
|
## Overview
|
## Overview
|
The multi-port memory controller provides eight access ports with either small streaming read caches or a 16kB shared read cache to the ddr3 ram. The multi-port memory controller interfaces between the SoC and a MIG controller.
|
The multi-port memory controller provides eight access ports with either small streaming read caches or a 16kB shared read cache to the ddr3 ram. The multi-port memory controller interfaces between the SoC and a MIG controller.
|
Ports may be customized with parameter settings. Port #5 is setup to handle sprites and is read-only.
|
Ports may be customized with parameter settings. Port #5 is setup to handle sprites and is read-only.
|
# Read Cache / Streaming Cache
|
# Read Cache / Streaming Cache
|
The read cache is a 16kB direct mapped cache which may be shared between ports. The cache line size is 16 bytes. Note the cache only caches read operations. Writes cause the corresponding cache line to be invalidated to maintain cache coherency. Writes bypass the cache and write directly to memory.
|
The read cache is a 16kB direct mapped cache which may be shared between ports. The cache line size is 16 bytes. Note the cache only caches read operations. Writes cause the corresponding cache line to be invalidated to maintain cache coherency. Writes bypass the cache and write directly to memory.
|
Line 31... |
Line 31... |
## Address Reservations
|
## Address Reservations
|
The controller supports address reservations on memory for imnplementation of semaphores. The CPU must output address reservation set and clear signals to support this.
|
The controller supports address reservations on memory for imnplementation of semaphores. The CPU must output address reservation set and clear signals to support this.
|
|
|
## Parameters
|
## Parameters
|
STREAMn - cause port number 'n' to use a streaming cache instead of the main cache
|
STREAMn - cause port number 'n' to use a streaming cache instead of the main cache
|
STRIPSn - sets the number of memory strips (16 byte accesses) minus 1 for port 'n' to load consecutively (should be 0 (for 1), 1, 3, or 7 (for 8))
|
STRIPSn - sets the number of memory strips (16 byte accesses) minus 1 for port 'n' to load consecutively (should be 0 (for 1), 1, 3, 7 (for 8), 63)
|
CnW - sets the data width for the port (Note port #7 C7R must also be set)
|
CnW - sets the data width for the port (Note port #7 C7R must also be set)
|
NAR - sets the number of outstanding address reservation that are present, this should be a small number (eg. 2)
|
NAR - sets the number of outstanding address reservation that are present, this should be a small number (eg. 2)
|