硬件参数
计算map关系前,先确定两个硬件决定的参数:MEMC_DRAM_DATA_WIDTH,MEMC_BURST_LENGTH。
MEMC_DRAM_DATA_WIDTH 是DDRC对DRAM的位宽。
MEMC_BURST_LENGTH 是DDRC 的burst 能力(和DRAM的burst length 的含义不同的。DRAM的burst length一般都是可配置的,理论上配置要比DDRC的小)。
这里 MEMC_DRAM_DATA_WIDTH = 32,MEMC_BURST_LENGTH =16.
计算方法,容量守恒
DRAM的容量 : MEMC_DRAM_DATA_WIDTH*2 (bit)
system addr : (byte)
a31 | a30 | a29 | a28 | a27 | a26 | a25 | a24 | a23 | a22 | a21 | a20 | a19 | a18 | a17 | a16 | a15 | a14 | a13 | a12 | a11 | a10 | a9 | a8 | a7 | a6 | a5 | a4 | a3 | a2 | a1 | a0 | Z | Z | Z |
row15 | row14 | row13 | row12 | row11 | row10 | row9 | row8 | row7 | row6 | row5 | row4 | row3 | row2 | row1 | row0 | bank2 | bank1 | bank0 | col10 | col9 | col8 | col7 | col6 | col5 | col4 | col3 | col2 | col1 | col0 | X | X | X | X | X |
ZZZ: byte到bit转换
XXXXX: MEMC_DRAM_DATA_WIDTH 转换为2的5次方,占5bit。
MEMC_BURST_LENGTH 和这个map没关系。