Hardware and Software Design • Manufacturing Services
page 25
Address Generator SDRAM Base Control Registers
0x00B0
ADD0_3
SDRAM Base 0-3
0x01B0
ADD4_7
SDRAM Base 4-7
Bit#
Definition
0
Initialize SDRAM 0 = hold inactive, 1 = initialize
1-3
undefined – mask off for read-back
4
swp EEPROM write protect [Memory on SDRAM DIMM]
5
SCL
6
SDA direction 1 = write, 0 = read
7
SDA data
The Control register is used to access the EEPROM supplied on the DIMM if desired and to control initialization.
SDRAM supplied in DIMM form comes with an EEPROM installed to allow the operating system to read the DIMM
over an I2C bus to determine the characteristics. In this design we ignore the DIMM and can use for general
purpose memory. The I2C address is set to ‘0’. Please refer to I2C and DIMM references for programming the
memory.
The SDRAM requires initialization. The initialization involves a pre-charge cycle followed by a register write and
then two refresh cycles. The hardware will stay in the low power undefined state until the initialization bit is set
high. The SDRAM has an internal register which is controlled by writing to it with the “data” placed on the address
lines. Channel 0 has been selected as the initialization source for the “data”.
Prior to setting the initialization bit
the data 0x27 must be written into the Channel 0 Start register
. During the initialization cycle the 0x27 will be
transferred to the SDRAM to set the CAS delay to 2 cycles and the burst size to page size. The hardware
automatically will do the pre-charge, register write and refresh cycles. Once the initialization bit is set the
software should delay for 2 uS before setting the channel 0 address to correspond to the channel 0 definition. The
other channels can be set earlier because they are not involved with initialization. In addition, the SDRAM requires
100 uS of time after the Xilinx removed from reset before the initialization takes place. The Address Generator
Xilinx’s are held in reset after power-on until the software releases them [DMA Xilinx control]. If software causes a
reset at some time after power-on then the reset delay must also be redone before the initialization sequence is
performed.