NOTICE: The Processors Wiki will End-of-Life in December of 2020. It is recommended to download any files or other content you may need that are hosted on processors.wiki.ti.com. The site is now set to read only.

Programming mDDR/DDR2 EMIF on OMAP-L1x/C674x

From Texas Instruments Wiki
Jump to: navigation, search


Download[edit]

Download the spreadsheet here.

Background
[edit]

Often, when it comes to programming the mDDR/DDR2 memory controller, customers reuse the values provided in an EVM GEL file.  This can lead to read/write issues as the GEL file timings are specifically tuned for a particular memory chip and clock speed. The mDDR/DDR2 memory controller register settings must be tuned for the customer's specific use case.

Configuring mDDR/DDR2 Memory Controller[edit]

The mDDR/DDR2 memory controller contains a set of registers which must be programmed according to the requirements of the memory chip being used. To determine the values to program into these registers you must read through AC timing information given in the memory chip data sheet.  The mDDR/DDR2 memory controller user guide contains a chapter with step by step instructions on how to calculate the values for the mDDR/DDR2 memory controller.  A spreadsheet was created to aid in that calculation. You can download the spreadsheet here.

To use the spreadsheet plug in the memory-specific timings into the green cells.  The spreadsheet will automatically generate the values for the mDDR/DDR2 memory controller registers.  It will also automatically populate some register fields when you select between DDR2 and mDDR. The "memory clock frequency" should be programmed to reflect the frequency at which the DDR bus will run (i.e. not the max frequency of the RAM itself).

NOTE: The function DEC2HEX is used during the register value calculation.  If you see an error where this function is used, you will have to install the Analysis ToolPak in Excel. Go to Tools>Add-Ins and select Analysis ToolPak from the options listed.

Spreadsheet Improvements
[edit]

The spreadsheet was created with minimal functionality.  Suggestions for future improvements include:

  • Implementing checks on the register field calculations to guard against overflows and illegal values.
  • Adding pull down lists to some options like "page size" instead of requiring user to enter specific values.

Completed improvements:

  • Rev 3 & 4 - Added a separate sheet which will input a register value and decode that value into the register bit fields. Two values for the same register are entered side by side, for quick comparison of the two register values at the same time. This is helpful when you want to quickly determine what is the difference between say an EVM GEL file configuration and your custom configuration.
  • Rev 5 - For mDDR, tRTP calculation formula has been updated.

References
[edit]


E2e.jpg {{
  1. switchcategory:MultiCore=
  • For technical support on MultiCore devices, please post your questions in the C6000 MultiCore Forum
  • For questions related to the BIOS MultiCore SDK (MCSDK), please use the BIOS Forum

Please post only comments related to the article Programming mDDR/DDR2 EMIF on OMAP-L1x/C674x here.

Keystone=
  • For technical support on MultiCore devices, please post your questions in the C6000 MultiCore Forum
  • For questions related to the BIOS MultiCore SDK (MCSDK), please use the BIOS Forum

Please post only comments related to the article Programming mDDR/DDR2 EMIF on OMAP-L1x/C674x here.

C2000=For technical support on the C2000 please post your questions on The C2000 Forum. Please post only comments about the article Programming mDDR/DDR2 EMIF on OMAP-L1x/C674x here. DaVinci=For technical support on DaVincoplease post your questions on The DaVinci Forum. Please post only comments about the article Programming mDDR/DDR2 EMIF on OMAP-L1x/C674x here. MSP430=For technical support on MSP430 please post your questions on The MSP430 Forum. Please post only comments about the article Programming mDDR/DDR2 EMIF on OMAP-L1x/C674x here. OMAP35x=For technical support on OMAP please post your questions on The OMAP Forum. Please post only comments about the article Programming mDDR/DDR2 EMIF on OMAP-L1x/C674x here. OMAPL1=For technical support on OMAP please post your questions on The OMAP Forum. Please post only comments about the article Programming mDDR/DDR2 EMIF on OMAP-L1x/C674x here. MAVRK=For technical support on MAVRK please post your questions on The MAVRK Toolbox Forum. Please post only comments about the article Programming mDDR/DDR2 EMIF on OMAP-L1x/C674x here. For technical support please post your questions at http://e2e.ti.com. Please post only comments about the article Programming mDDR/DDR2 EMIF on OMAP-L1x/C674x here.

}}

Hyperlink blue.png Links

Amplifiers & Linear
Audio
Broadband RF/IF & Digital Radio
Clocks & Timers
Data Converters

DLP & MEMS
High-Reliability
Interface
Logic
Power Management

Processors

Switches & Multiplexers
Temperature Sensors & Control ICs
Wireless Connectivity