描述
MIG设计助手的这一部分将指导您获得有关在用户界面进行寻址的信息。
注意:本答复记录是Xilinx MIG解决方案中心(Xilinx答复34243)的一部分 。 Xilinx MIG解决方案中心可用于解决与MIG相关的所有问题。无论您是使用MIG开始新设计还是对问题进行故障排除,都可以使用MIG解决方案中心来指导您获取正确的信息。
解
从用户界面的角度来看,MCB为物理DRAM提供了一种简单的顺序字节寻址方案。 DRAM以固定段存储数据的事实被这种方案抽象出来,从而允许简单的类似SRAM的地址接口。 MCB自动将用户接口字节地址转换为特定存储器器件配置所需的行,存储体和列地址信号。
字节地址对齐的地址要求
提供给用户界面的字节地址必须与端口宽度对齐。根据端口宽度中的字节数,必须将一定数量的低地址位设置为0,以确保连续地址落在数据字边界上。有关更多信息,请参阅下表。
写数据掩码输入(pX_wr_mask)到用户界面可用于偏移起始地址字节位置;见(Xilinx答复43358) 。
内存地址转换的字节地址
存储器标准,总线宽度和密度都会影响用户接口字节地址位如何映射到相应的行,存储区和列地址位。 MIG工具中的存储器件选择导致将必要的参数传递给MCB,以便它可以创建正确的地址位分配。
MCB支持两种将用户界面字节地址映射到存储器接口物理地址的通用方案:ROW_BANK_COLUMN和BANK_ROW_COLUMN。
有关地址映射的更多信息,请参阅“MCB操作” – >“存储器地址转换的字节地址”下的Spartan-6 FPGAMemory控制器用户指南 (UG388): http : //www.xilinx.com/support/documentation/ user_guides / ug388.pdf
DDR2 / DDR3 Burst Wrapping
DDR2存储器实现了一个4n预取内部总线,允许SDRAM内部阵列通过比外部总线宽四倍的总线访问。例如,16位宽的DDR2内存使用64位宽的内部总线来访问核心阵列。预取架构采用这种64位提取并将其加载到四个16位预取缓冲区中。在DDR2突发周期期间,这四个寄存器由列地址选择。
DDR3存储器实现了一个8n预取内部总线,允许SDRAM内部阵列通过比外部总线宽一倍的总线访问。例如,16位宽DDR3内存使用128位宽的内部总线访问核心阵列。预取架构采用这种128位提取并将其加载到16位预取缓冲区中。在DDR3突发周期期间,这8个寄存器由列地址选择。
MCB始终在存储器的突发边界处开始读取和写入。因此,BL = 8的写入的突发顺序将始终从列地址0开始,并依次向上计数到7.而对于BL = 4,起始列地址将为0(A3 = 0)或4(A3 = 1)。有关突发寻址的更多详细信息,请参阅相应的JEDEC规范。如果用户界面指定了超出存储器突发边界的突发地址,则MCB将适当地屏蔽数据。
例:
32位用户界面
x16-DDR3 SDRAM(适用于DDR3MCB仅支持BL8)
对于32位用户界面,pX_cmd_addr [1:0]必须为2’b00。由于用户接口使用字节寻址,因此用户界面上的每两个地址对应于x16 DDR3列地址空间中的一个地址。
pX_cmd_addr [2:0] = 3’b100
pX_cmd_bl [5:0] = 5’b0_0000(1个32位字突发)
pX_cmd_instr [2:0] = 3’b000
这转换为x16 DDR3内存的以下写入:
地址 | 数据 |
000 |
蒙面 |
001 |
蒙面 |
010 |
低16位数据 |
011 |
高16位数据 |
100 |
蒙面 |
101 |
蒙面 |
110 |
蒙面 |
111 |
蒙面 |
没有回复内容