Forum Discussion
Altera_Forum
Honored Contributor
12 years ago --- Quote Start --- Hi everyone, for a DDR Memory device with bank addr 2 bits, row addr 13 bits and col addr 9 bits I generated a half rate hpc ii ddr memory controller using 2 methods: Megawiz and Qsys.
- Megawiz: generated IP component has address width of 22 bits, which is expected as described in "emi.pdf" For one chip select: width = row bits + bank bits + column bits – 2 = 2 + 13 + 9 - 2 = 22
- Qsys: generated IP component used in the Qsys sytem has address width of 25 bits, this is what I do not understand.
- DDR memory device data width: 16 bit
- therefore Altera Half rate DDR controller (HPCII) local_wdata and local_rdata width: 64 bit
- HPCII address ordering: CHIP-BANK-ROW-COL
- word address width = 2 bank bits + 20 bits (row bits + col bits - 2), minus 2 because HPCII word address range = DDR memory address range >> 2
- byte address width = 2 bank bits + 23 bits ((row bits + col bits - 2) + 3), plus 3 because in this case the byte address range = 8 * word address range = word address range << 3