May 2011 ‘‘Introduction’’ In the ‘‘Features’’ section, updated the description of features not supported and added additional information about the 64MB limit. January 2011 Initial Release ø-ii KeyStone Architecture External Memory Interface (EMIF16) User Guide SPRUGZ3A—May 2011 Submit Documentation Feedback...
This document describes the operation of the External Memory Interface (EMIF16) module in the KeyStone DSP family (refer to the device data manual for applicability to a particular part). The EMIF16 module is accessible across all the cores and all system masters that are not cores.
Forum C66x CorePac User Guide SPRUGW0 Trademarks All brand names and trademarks mentioned in this document are the property of Texas Instruments Incorporated or their respective owners, as applicable. ø-viii KeyStone Architecture External Memory Interface (EMIF16) User Guide SPRUGZ3A—May 2011...
Chapter 1 Introduction This manual describes the External Memory Interface peripheral utilizing a 16-bit bus (EMIF16). This manual describes the purpose, features, architecture, operating modes, and registers of the EMIF16. This chapter provides the following information: "Purpose of the Peripheral" on page 1-2 1.2 "Features"...
1.1 Purpose of the Peripheral The EMIF16 module is intended to provide a glue-less interface to a variety of asynchronous memory devices like ASRAM, NOR and NAND memory. A total of 256M bytes of any of these memories can be accessed at any given time via four chip selects with 64M byte access per chip select.
2.1 EMIF16 Signal Descriptions Chapter 2—Architecture www.ti.com 2.1 EMIF16 Signal Descriptions A basic block diagram of the EMIF16 asynchronous interface is shown in Figure 2-1. Table 2-1 below lists the asynchronous signals of the EMIF16 module. Figure 2-1 Basic Block diagram for EMIF16...
WE Strobe Mode • Select Strobe Mode EMIF16 is clocked at CPU/6 frequency. So, for a device running at 1GHz, EMIF16 is clocked at 166.67 MHz. All references to clock/clock cycles are in terms of EMIF16 clock cycles. In WE Strobe mode, the byte enables EMIFBE[1:0] can be used as write strobes for the current active chip select space.
EMIFCE, EMIFWE, EMIFOE, EMIFBE[1:0] are the control signals that determine the start and end of the read/write cycles. Figure 2-4 Figure 2-5 show reads and writes initiated by different control signals. SPRUGZ3A—May 2011 KeyStone Architecture External Memory Interface (EMIF16) User Guide Submit Documentation Feedback...
Data width - Width of the asynchronous device’s data bus (8/16-bit). The setup, strobe and hold parameters are in terms of EMIF16 clock cycles. Note that EMIF16 is clocked at CPU/6 (166.67 MHz for 1 GHz CPU frequency). The setup, strobe and hold values for reads can be calculated as follows (assume CPU=1 GHz).
Note— asynchronous access cycle, multiple cycles will be needed to complete the single read or write request. In this case, the EMIF16 enters the setup phase directly without incurring turnaround cycles. 2: If the entire read or write access has completed and there are more Note—...
Address on address lines EMIFA[23:0] become invalid. – EMIFD[15:0] becomes inactive. – EMIFCE becomes inactive (if no additional read/write accesses to the same chip select space are pending). KeyStone Architecture External Memory Interface (EMIF16) User Guide SPRUGZ3A—May 2011 Submit Documentation Feedback...
Note— asynchronous access cycle, multiple cycles are needed to complete the single read or write request. In this case, the EMIF16 enters the setup phase directly without incurring turnaround cycles. 2: If the entire read or write access has completed and there are more Note—...
Note— asynchronous access cycle, multiple cycles will be needed to complete the single read or write request. In this case, the EMIF16 enters the setup phase directly without incurring turnaround cycles. 2: If the entire read or write access has completed and there are more Note—...
Note— asynchronous access cycle, multiple cycles will be needed to complete the single read or write request. In this case, the EMIF16 enters the setup phase directly without incurring turnaround cycles. If the entire read or write access has completed and there are more Note—...
2-8), the byte enables act as write strobes. This mode is useful for combining two 8-bit devices to create a 16-bit data bus, allowing the EMIF16 to perform byte writes to two 8-bit devices which do not have byte enable inputs. In WE strobe mode, the byte enables are connected to the write strobes of the 8-bit devices.
The following sections describe connecting to a NAND Flash device, configuring EMIF16 registers for NAND Flash mode, command set, ECC support and so on. 3.1.1 Connecting to NAND Flash Figure 3-1...
3.2 Configuring EMIF16 in NAND Flash Mode EMIF16's memory-mapped registers must be programmed to configure NAND mode. In addition to configuring the fields in the Async Config Register for the chip select under consideration, the NAND Flash Control Register (NANDFCR) also needs to be configured.
After a read command is issued, it takes time t for the read data to be driven on the IO pins. Since chip select is inactive during this time, EMIF16 does not support Note— NAND devices that require the chip select to be low during t Each NAND operation starts off with issuing a command cycle.
R/B# goes low and remains low while the NAND Flash programs the device with the write data from the EMIF16. Once the device is free to accept the next transaction, the R/B# signal goes high. Thus, software can use the NANDFSR to determine the status of the Flash device and determining when to submit the next transaction.
Page 30
8-bit values for both 8-bit and 16-bit devices. The 8-bit value is converted to 10 bits and the upper 2 bits of the 10-bit value are zeroed out by EMIF16. Typically, spare area in NAND is used to store ECC-related information. For example, after a write, for the...
Page 31
Write the 10-bit parity values in the NAND Flash 4-Bit ECC Load Register. 7. Dummy Read: Perform a dummy read to EMIF16 Revision Code and Status Register. This ensures sufficient time for syndrome calculation after writing the ECC values in previous step.
Page 32
Error value from NAND Flash Error Value 1-2 Registers can be read and corrected by XOR – ing the errored word with the error value from NAND Flash Error Value 1-2 Registers. KeyStone Architecture External Memory Interface (EMIF16) User Guide SPRUGZ3A—May 2011 Submit Documentation Feedback...
Async 1-4 Config Registers. Extended Wait Mode is enabled by setting the EW bit in the Async 1-4 Config Register to 1. Once EW has been set, the EMIF16 monitors the EMIFWAIT pin mapped to that chip select to determine if the device wants to extend the strobe period.
End of Table 3-4 3.11 NOR Flash Page Mode EMIF16 supports Page Mode reads for NOR Flash on asynchronous memory chip selects. Page Mode can be enabled by writing a ‘1’ to the CSN_PG_MD_EN field in the Page Mode Control Register (PMCR) for chip selected in consideration. For more...
4.1 Registers Overview This section details the programmable register fields within the EMIF16’s configuration space that can be programmed to configure the EMIF16, and details on memory map and bit positions. Due to legacy considerations, CS2 will refer to chip select 0 (CE0), Note—...
Reserved. The reserved bit location is always read as 0. A value written to this field has no effect. 29-16 MOD_ID 0x46 Module ID Bits 15-8 MJ_REV Major Revision MIN_REV Minor Revision End of Table 4-2 SPRUGZ3A—May 2011 KeyStone Architecture External Memory Interface (EMIF16) User Guide Submit Documentation Feedback...
Page 39
Reserved. The reserved bit location is always read as 0. A value written to this field has no effect. MAX_EXT_WAIT 0x80 Maximum extended wait cycles. EMIF16 will wait for (MAX_EXT_WAIT + 1) x 16 cycles before an extended asynchronous cycles is terminated. End of Table 4-3 SPRUGZ3A—May 2011...
25-20 W_STROBE 0x3F Write Strobe Duration cycles. Number of EMIF16 clock cycles for which EMIFWE is held active, minus one cycle. The reset value is 64 cycles. This field cannot be zero when EW = 1. 19-17 W_HOLD Write Strobe Hold cycles.
Description Turn Around cycles. Number of EMIF16 clock cycles between the end of one asynchronous memory access and the start of another asynchronous memory access, minus one cycle. This delay is not incurred between a read followed by a read, or a write followed by a write to the same chip select.
Writing a 1 will clear this bit as well as the AT_MASKED bit in the Interrupt Masked register. Writing a 0 has no effect. End of Table 4-5 KeyStone Architecture External Memory Interface (EMIF16) User Guide SPRUGZ3A—May 2011 Submit Documentation Feedback...
Writing a 1 will clear this bit as well as the AT bit in the Interrupt Raw register. Writing a 0 has no effect. End of Table 4-6 SPRUGZ3A—May 2011 KeyStone Architecture External Memory Interface (EMIF16) User Guide Submit Documentation Feedback...
Writing a 1 will enable the interrupt, and set this bit as well as the AT_MASK_CLR bit in the Interrupt Mask Clear register. Writing a 0 has no effect. End of Table 4-7 4-10 KeyStone Architecture External Memory Interface (EMIF16) User Guide SPRUGZ3A—May 2011 Submit Documentation Feedback...
Writing a 1 will disable the interrupt, and set this bit as well as the AT_MASK_SET bit in the Interrupt Mask Set register. Writing a 0 has no effect. End of Table 4-8 SPRUGZ3A—May 2011 KeyStone Architecture External Memory Interface (EMIF16) User Guide 4-11 Submit Documentation Feedback...
Writing a 0 has no effect. Reserved Reserved. The reserved bit location is always read as 0. A value written to this field has no effect 4-12 KeyStone Architecture External Memory Interface (EMIF16) User Guide SPRUGZ3A—May 2011 Submit Documentation Feedback...
Page 47
Set to 1 if using NAND Flash on CE1. CS1_USE_NAND NAND Flash mode for chip select CE0. Set to 1 if using NAND Flash on CE0 End of Table 4-9 SPRUGZ3A—May 2011 KeyStone Architecture External Memory Interface (EMIF16) User Guide 4-13 Submit Documentation Feedback...
These bits show the raw status of the EMIFWAIT[1:0] input. The WP1-0 bits in the Async Wait Cycle Config register have no effect on these bits. End of Table 4-10 4-14 KeyStone Architecture External Memory Interface (EMIF16) User Guide SPRUGZ3A—May 2011 Submit Documentation Feedback...
CS5_PG_DEL 0x3F Page access delay for NOR Flash connected on CE3. Number of EMIF16 clock cycles required for the page read data to be valid, minus one cycle. This value must not be set to 0. CS5_PG_SIZE Page Size for NOR Flash connected on CE3.
Page 50
0x0 – 4 word page. CS2_PG_MD_EN Page Mode enable for NOR Flash connected on CE0. 0x1 – Use page mode. 0x0 – Disable page mode. End of Table 4-11 4-16 KeyStone Architecture External Memory Interface (EMIF16) User Guide SPRUGZ3A—May 2011 Submit Documentation Feedback...
For 16-bit NAND Flash, p1e, p2e, p4e and p8e are column parities. p16e to p2048e are row parities. End of Table 4-12 SPRUGZ3A—May 2011 KeyStone Architecture External Memory Interface (EMIF16) User Guide 4-17 Submit Documentation Feedback...
4BIT_ECC_LOAD 4-Bit ECC Load. This register is used to load 4-bit ECC values when performing syndrome calculation during NAND Flash reads. End of Table 4-13 4-18 KeyStone Architecture External Memory Interface (EMIF16) User Guide SPRUGZ3A—May 2011 Submit Documentation Feedback...
Reserved. The reserved bit location is always read as 0. A value written to this field has no effect 4BIT_ECC_VAL1 4-Bit ECC or syndrome value 1 calculated while writing or reading NAND Flash. End of Table 4-14 SPRUGZ3A—May 2011 KeyStone Architecture External Memory Interface (EMIF16) User Guide 4-19 Submit Documentation Feedback...
Reserved. The reserved bit location is always read as 0. A value written to this field has no effect 4BIT_ECC_VAL3 4-Bit ECC or syndrome value 3 calculated while writing or reading NAND Flash. End of Table 4-15 4-20 KeyStone Architecture External Memory Interface (EMIF16) User Guide SPRUGZ3A—May 2011 Submit Documentation Feedback...
Reserved. The reserved bit location is always read as 0. A value written to this field has no effect 4BIT_ECC_VAL5 4-Bit ECC or syndrome value 5 calculated while writing or reading NAND Flash. End of Table 4-16 SPRUGZ3A—May 2011 KeyStone Architecture External Memory Interface (EMIF16) User Guide 4-21 Submit Documentation Feedback...
Reserved. The reserved bit location is always read as 0. A value written to this field has no effect 4BIT_ECC_VAL7 4-Bit ECC or syndrome value 7 calculated while writing or reading NAND Flash. End of Table 4-17 4-22 KeyStone Architecture External Memory Interface (EMIF16) User Guide SPRUGZ3A—May 2011 Submit Documentation Feedback...
Reserved. The reserved bit location is always read as 0. A value written to this field has no effect ERR_ADDR1 4-Bit error address 1. End of Table 4-18 SPRUGZ3A—May 2011 KeyStone Architecture External Memory Interface (EMIF16) User Guide 4-23 Submit Documentation Feedback...
Reserved. The reserved bit location is always read as 0. A value written to this field has no effect ERR_ADDR3 4-Bit error address 3. End of Table 4-19 4-24 KeyStone Architecture External Memory Interface (EMIF16) User Guide SPRUGZ3A—May 2011 Submit Documentation Feedback...
Reserved. The reserved bit location is always read as 0. A value written to this field has no effect ERR_VAL1 4-Bit error value 1. End of Table 4-20 SPRUGZ3A—May 2011 KeyStone Architecture External Memory Interface (EMIF16) User Guide 4-25 Submit Documentation Feedback...
Reserved. The reserved bit location is always read as 0. A value written to this field has no effect ERR_VAL3 4-Bit error value 3. End of Table 4-21 4-26 KeyStone Architecture External Memory Interface (EMIF16) User Guide SPRUGZ3A—May 2011 Submit Documentation Feedback...
Page 63
IMPORTANT NOTICE Texas Instruments Incorporated and its subsidiaries (TI) reserve the right to make corrections, modifications, enhancements, improvements, and other changes to its products and services at any time and to discontinue any product or service without notice. Customers should obtain the latest relevant information before placing orders and should verify that such information is current and complete.
Need help?
Do you have a question about the EMIF16 and is the answer not in the manual?
Questions and answers