SRAM到DDR组件
下载
描述
注意:在ISE中有一个映射米格的问题。简而言之,这些工具看不到MIG生成的UCF文件。这个问题可以通过遵循找到的流来解决在这里。与此问题相关的勤奋支持线程是在这里。
该组件为Digilent Nexys4-DDR板实现了一个简单的异步SRAM接口到DDR2转换器。它使用工业标准的SRAM控制总线。通过降低CEN、OEN和LB/UB,同时保持WEN高,启动读操作。在指定的访问时间过后,有效的数据将被从数据输出端口中驱动出来。写操作发生在CEN、WEN和LB/UB被压低,而OEN保持在高位时。
LB enable和UB enable信号支持全字节(8位)数据写入。在写操作期间,任何禁用的字节都将被屏蔽,不会传输到DDR。当LB和UB都启用时,将执行全字(16位)数据写入。
对于那些想要移植早期Nexys模型并异步访问板载CellRAM的设计的人来说,这个组件特别有用。该组件共享相同的接口,并且应该允许之前的项目继续在Nexys4-DDR上工作。惟一需要更改的是读周期和写周期等待时间。他们分别增加到210纳和260纳
转换器组件实例化一个LogiCORE MIG(内存接口生成器),该MIG配置了以下设置:
参数 | 价值 |
---|---|
控制器类型 | 可编程门阵列控制的DDR2 SDRAM |
时钟周期 | 3333 ps (300兆赫) |
PHY与控制器时钟比 | 2:1 |
内存类型 | 组件 |
记忆的一部分 | MT47H64M16HR-25E |
数据宽度 | 16 |
数据的面具 | 启用 |
订购 | 严格的 |
输入时钟周期 | 5000 ps (200 mhz) |
破裂类型 | 顺序 |
输出驱动力量 | Fullstrength |
控制器芯片选择引脚 | 启用 |
RTT(名义)- ODT | 50欧姆 |
内存地址映射选择 | Bank-Row-Column |
系统时钟 | 没有缓冲 |
参考时钟 | 使用系统时钟 |
系统复位极性 | 活性低 |
内存控制器的调试信号 | 从 |
内部Vref | 启用 |
输入输出功率降低 | 在 |
XADC实例化 | 启用¹ |
内部终止阻抗 | 50欧姆 |
表1。米格设置
如果XADC在设计的其他地方使用,则应禁用此功能。它在该核心的Ram2Ddr版本中被禁用
这个项目包含两个不同的组件:Ram2Ddr和Ram2DdrXadx。如果您的设计没有在其他地方使用XADC核心,那么应该使用Ram2DdrXadc组件。它在内部自动实例化XADC来监控芯片温度。如果您的设计确实使用了XADC核心,那么应该使用Ram2Ddr组件。然后必须将Ram2Ddr组件的device_temp行连接到XADC组件,如Xilinx的1.9版本中的122页所述7系列fpga内存接口解决方案指南(UG586).
组件可以作为一个预编译的网络列表(.ngc)插入到项目中,或者作为源文件复制VHDL和MIG项目文件到你的项目中。两者都包含在下载中。
端口的描述
图1显示了ram2ddr组件框图及其端口:
港口 | 方向 | 描述 |
---|---|---|
clk_200MHz | 输入 | 单端,缓冲200兆赫时钟输入 |
rst | 输入 | 高电平全局重置 |
device_temp | 输入 | 此端口仅在ram2ddr中是活动的。ngc文件(其中XADC模块没有内部实例化),并且应该被绑定接地ram2ddrxadc。ngc组件。有关驱动该端口的详细信息,请参阅“Xilinx UG586 7系列fpga内存接口解决方案”。 |
内存 | ||
ram_a (26:0) | 输入 | 输入地址 |
ram_dq_i (15:0) | 输入 | 数据输入 |
ram_dq_o (15:0) | 输出 | 数据输出 |
ram_cen | 输入 | 校验芯片启动 |
ram_oen | 输入 | 允许输出校验 |
ram_wen | 输入 | 允许写入校验 |
ram_ub | 输入 | Active-low上字节选择 |
ram_lb | 输入 | Active-low低字节选择 |
DDR | ||
ddr2_addr (12:0) | 输出 | 内存地址输出 |
ddr2_ba (2:0) | 输出 | 银行地址 |
ddr2_ras_n | 输出 | Active-low行地址频闪 |
ddr2_cas_n | 输出 | Active-low列地址频闪 |
ddr2_we_n | 输出 | 允许写入校验 |
ddr2_ck_p, ddr2_ck_n | 输出 | 差分存储器时钟输出 |
ddr2_cke | 输出 | Active-high Memory Clock使能 |
ddr2_cs_n | 输出 | 校验芯片选择 |
ddr2_dm (1:0) | 输出 | 输出数据的面具 |
ddr2_odt | 输出 | On-Die终止 |
ddr2_dq (15:0) | 双向 | 数据输入/输出总线 |
Ddr2_dqs_p (1:0), ddr2_dqs_n (1:0) | 双向 |
表2。端口的描述
公共汽车时间
与其他电路板一起使用
为了在Digilent Nexys4-DDR以外的电路板上使用该参考组件,需要修改以下内容:
-
内存接口生成器必须重新运行,以下内容必须更改:
-
控制器类型和/或内存部分(视内存类型而定)
-
控制器芯片选择引脚(取决于板)
-
RTT(标称)-模切终止(取决于板子)
-
内部Vref(取决于董事会)
-
内部终止阻抗(取决于单板)。
-
必须更改引脚约束以匹配DDR2在新板上的连接方式
-
-
根据新的设置更新MIG组件的实例化