AR# 34154

MIG Spartan-6 MCB - What is the REFRESH period and how can it be changed?


What is the REFRESH interval period used with the MIG Spartan-6 FPGA MCB design and how can it be changed?


Normal MCB Behavior

The MCB is set up by default to automatically send a REFRESH command every 7.8 or 3.9 microseconds. The operating temperature typically determines the selected refresh rate for a system. This auto-generated REFRESH adheres to the JEDEC specification. An internal counter is used for the auto-REFRESH period and is set by the C_MEM_TREFI parameter. When the counter expires, the REFRESH is automatically sent.

Manually Sending Refresh

You have the ability to manually send the REFRESH command (i.e., during a known idle period) from the user interface by setting pX_cmd_instr to 3b1xx. When a REFRESH is then sent from the user interface, the counter is reset.

Changing the Auto-Refresh Period

The MCB does not support completely turning auto-REFRESH off. However, there is the ability to change (increase) the period between REFRESH commands. The parameter for the refresh period is C_MEM_TREFI. The calculation for the counter is as follows:

refresh counter = ceiling (C_MEM_TREFI / tCK)

By default, C_MEM_TREFI is 7.8 or 3.9 microseconds,depending on the temperature you are running the memory, and tCK is the period of the sysclk. The allowable range for the refresh counter is 0 - 4095. As an example, a customer running DDR3 at 400 MHz and wanting as few REFRESH commands as possible would manually change the C_MEM_TREFI setting in the wrapper file (memc_wrapper.v) to 10237500 (4095 * 2500).

NOTE: Using the Create Custom Part feature, available in the MIG tool, allows the refresh period (trefi - average periodic refresh interval) to be defined within the tool and the corresponding MIG parameters to be set properly.

Linked Answer Records

Associated Answer Records

AR# 34154
Date 12/15/2012
Status Active
Type General Article