
AMD Confidential 
User Manual    September 12th, 2008 
Chapter 7: Device Configuration     57 
Once the  simulation is started,  the DIMM Device  allocates memory arrays  to hold the 
DRAM data. One  array is allocated for  each bank or virtual  bank. In the case  of 64-bit 
memory interfaces, memory ar rays are allocated to match th e size of the physical banks 
on each DIMM. If the  memory interface is 128 bits, then the memory arrays  are sized to 
the sum of the physical bank pairs that make up the virtual banks. For example: 
Virtual bank0  is the combination of  physical bank0 on  DIMM0 and physical bank0  on 
DIMM1. If physical bank0  on each DIMM is 32MB in  size, then the array allocated for 
virtual bank0 is sized at 64MB. 
Each virtual bank is  handled like it is one  large bank, rather than two  combined smaller 
banks. The model  does not distinguish  between addresses that hit  in the upper physical 
bank and addresses that hit in the lower physical bank. 
Memory read- and  write-messages sent to the DIMM  Device use the same  structure for 
both 128-bit and 64-bit  interfaces. Each message includes a bank select  field, an address 
field, and  a data size field.  The bank select  field implements the CS7:0  lines while the 
address field specifies the beginning offset within the bank/virtual bank, and the data siz e 
field specifies the size of the datum. 
Interfaces 
The D IMM device  is implemented  as a  single-interface device.  However, the  device 
accepts two distinct  classes of messages: RAM read/write  messages, and SMBUS reads 
of  SPD  data. In  most  system  configurations,  the DIMM  device  is  connected  to a 
Northbridge  device's  DIMM  interface  as  well  as  a  Southbridge  device's  SMBUS 
interface. 
Initialization/Reset State 
On creation  of the DIMM  device, all  RAM arrays are  set to  all ones, and  SPD ROM 
arrays are cleared. Reset initializes the RAM arrays to all ones, but does not alter the SPD 
ROM arrays. Configuration options are not affected by reset. 
Contents of a BSD 
The RAM arrays, SPD ROM arrays, and all configuration option settings are saved in the 
BSD. 
Configuration Options