Altera_Forum
Honored Contributor
16 years agoDDR2 High Performance Controller settings
I am having a problem with Altera's DDR2 High Performance Controller v7.2 to control a single DIMM.
I am using the controller in half-rate Native interface mode. The DIMM has 2 chip selects, 11 Column Address bits, 14 Row Address bits, and 3 Bank bits. Bit 10 is the precharge bit. DQ width is 72 bits. The MegaWizard plug-in manager correctly reflects these values, and the amount of memory predicted is correct. When setting local_address[26:0] == 0x01, the memory controller addresses Row 0, Column 0x8 (mem_addr[3] == 1). When setting local_address[26:0] == 0x80, the memory controller addresses Row 0, Column 0x400 ({mem_addr[11],mem_addr[9:0]} = 11'h400). I never see mem_addr[2] change during the column phase. Writing to local_address 0x100 does not switch to the next row. {mem_addr[11],mem_addr[9:0]} = 0x0. mem_addr[12] (which is not a valid column bit) does not go high either. The overall effect of this is I get a stuck address bit error when addressing local_address 0x100. I cannot simply shift the entire address bus over one bit because the row address bits are correct and start at A0, and the precharge address bit is in the correct position. Any thoughts?