AMD SimNow Simulator 4.4.4 User Manual
Page 69

AMD Confidential
User Manual
September 12
th
, 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 arrays are allocated to match the 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 size 
field specifies the size of the datum. 
 
Interfaces 
The DIMM 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 
 
