ddr就是双倍速率的SDRAM,用差分时钟线clkn和clkp传输数据。电压等级降到2.5,ddr2降到1.8v。
使用的 Micron DDR2 的颗粒 MT47H64M16,此 DDR 芯片的容量为1Gb。DDR2和 FPGA 之间的连接的数据宽度都为 16bit。配置引脚有要求,DDR2要求1.8v,需要配置相应引脚。在使用 ALTMEMPHY IP 之前需要确认是否安装了 DDR 的 License。
1、IP核里没有MT47H64M16选项,选择MT47H32M15-5E,再把Row address width的参数改为13。保存后下一次调用IP可以直接用。
2、设置频率时设置166.7MHz。原因:This design example targets a memory interface frequency of 167 MHz because the targeted development kit uses an EP3C120F780 device. This device is available in –7 and –8 speed grades only. You can achieve a higher clock rate, up to 200 MHz, for DDR2 SDRAM if you select a –6 speed grade device from the Cyclone III family.
3、DDR2 IP设置的参数意义再“实现和参数化存储器IP.pdf”里,
4、IP核生成后,打开 ddr2.v 程序来观察它的接口信号, 其中 mem_xx 信号是连接外部 DDR2 的,用于 DDR2 控制。 local_xx 为本地总线信号,用户可以用于跟 DDR IP 的通信。关于 local 总线信号的具体定义和读写的时序我们可以参考“ALTMEMPHY Design Tutorials.pdf” 文档。
5、IP核的内部结构包括ALTMEMPHY和Memory Controller,ip核生成后也会有一个example_top,example_top程序里例化了example_driver。自己驱动ddr的话就是要自己写这个driver。
6、与SDRAM新增的信号:
7、 总结:
对ddr2芯片的写操作,时钟来自ddr2控制器,但读操作,ddr2根据fpga板上给的ddr2芯片工作时钟来输出数据
DDR2(2):Quartus DDR2 IP 官方例程仿真 - 咸鱼FPGA - 博客园
DDR2(1):一些预备知识 - 咸鱼FPGA - 博客园l
full rate和half rate对列地址的设置: