EMIF Module Architecture
618
SPNU503C – March 2018
Copyright © 2018, Texas Instruments Incorporated
External Memory Interface (EMIF)
17.2 EMIF Module Architecture
This section provides details about the architecture and operation of the EMIF. Both, SDRAM and
asynchronous Interface are covered, along with other system-related issues such as clock control.
17.2.1 EMIF Clock Control
The EMIF clock is output on the EMIF_CLK pin and should be used when interfacing to external SDRAM
devices. The EMIF module gets the VCLK3 clock domain as the input. This clock domain is running at half
the frequency of the main oscillator by default, that is, between 2.5MHz to 10MHz. The VCLK3 frequency
is divided down from the HCLK domain frequency by a programmable divider (/1 to /16). Refer the
Architecture chapter of the device technical reference manual for more information on configuring the
VCLK3 domain frequency.
17.2.2 EMIF Requests
Different sources within the SoC can make requests to the EMIF. These requests consist of accesses to
SDRAM memory, asynchronous memory, and EMIF registers. The EMIF can process only one request at
a time. Therefore a high performance crossbar switch exists within the SoC to provide prioritized requests
from the different sources to the EMIF. The sources are:
1. CPU
2. DMA
3. Other master peripherals
If a request is submitted from two or more sources simultaneously, the crossbar switch will forward the
highest priority request to the EMIF first. Upon completion of a request, the crossbar switch again
evaluates the pending requests and forwards the highest priority pending request to the EMIF.
When the EMIF receives a request, it may or may not be immediately processed. In some cases, the
EMIF will perform one or more auto refresh cycles before processing the request. For details on the
EMIF's internal arbitration between performing requests and performing auto refresh cycles, see
17.2.3 EMIF Signal Descriptions
This section describes the function of each of the EMIF signals.
Table 17-1. EMIF Pins Used to Access Both SDRAM and Asynchronous Memories
Pins(s)
I/O
Description
EMIF_DATA[15:0]
I/O
EMIF data bus.
EMIF_ADDR[21:0]
O
EMIF address bus.
When interfacing to an SDRAM device, these pins are primarily used to provide the row and
column address to the SDRAM. The mapping from the internal program address to the external
values placed on these pins can be found in
. EMIF_A[10] is also used during the
PRE command to select which banks to deactivate.
When interfacing to an asynchronous device, these pins are used in conjunction with the
EMIF_BA pins to form the address that is sent to the device. The mapping from the internal
program address to the external values placed on these pins can be found in
EMIF_BA[1:0]
O
EMIF bank address.
When interfacing to an SDRAM device, these pins are used to provide the bank address inputs to
the SDRAM. The mapping from the internal program address to the external values placed on
these pins can be found in
When interfacing to an asynchronous device, these pins are used in conjunction with the EMIF_A
pins to form the address that is sent to the device. The mapping from the internal program
address to the external values placed on these pins can be found in
EMIF_nDQM[1:0]
O
Active-low byte enables.
When interfacing to SDRAM, these pins are connected to the DQM pins of the SDRAM to
individually enable/disable each of the bytes in a data access.
When interfacing to an asynchronous device, these pins are connected to byte enables. See
for details.