最近几天在做XILINX FPGA DDR3调试,调用ISE中的MIG核。从网上找到了讲解很详细的资料,将需要注意的DDR3的读写控制信号减少到6个,还有另外两个DDR3输出的两个状态信号,即可实现DDR3的实际读写。
DDR3 IP核的仿真倒是好做,ISE自带仿真测试文件,不用写任何代码,即可Modelsim中做仿真,查看仿真结果,不过一些标志信号还是需要看手册了解。
实际使用时,如果是流动数据,多是跨时钟域,一般需要在DDR3输入输出前后加入FIFO,然后做好相关的信号控制。
调试到现在遇到一个问题,尚未解决。读DDR第一个地址,输出的却是最后存入的数据,不清楚哪里出了问题!
【补充】经过检查发现,FIFO输出数据与DDR3的写入没有对齐,修改后就好了!
【参考资料】
1、DDR3 IP核使用详解