急!求助:SDRAM的初始化和读写时序都正确,为何读出的数据总为16'hffff
最近在用EP2C8调试SDRAM控制模块。SDRAM的型号为三星公司的K4S641632K-UC60,用NIOS测试过了,SDRAM是好的。用的是50MHz的时钟。时钟直接供给SDRAM做工作时钟。将SDRAM的nCS和CKE始终有效。上电200us空操作,然后2个周期的预充电,8个刷新周期,寄存器的设置突发长度为1,CAS Latency为3,顺序读写。控制SDRAM的状态机的运行时钟为50MHz时钟下降沿,以保证在SDRAM的运行时钟到上升沿时写入的命令都稳定。每次自动刷新维持9个时钟周期,。开始设置是带预充的读写,后来改成不带预充的读写方式,结果都是读出的数据为16'hffff.用vwf仿真了下初始化的时序,nCS,CKE,nRAS,nCAS,nWE的时序都是正确的。然后用SignalTap在在线的查看了读写的时候的时序,而且在读的时序中看到SDRAM的数据线上是数据总是16’hffff。发现时序也都正确,SDRAM也周期性的正常的进行了自动刷新。每次的读写的周期我都改的比较长了,都在8个周期以上。
还请哪位大虾来指点下。在哪里可能出问题!我实在是没办法了。如果需要我仿真的时序的截图的话我可以发。。。 还在准备初始代码的飘过。。。
我比你进度慢多了。只能关注 代码发来看看? 谢谢楼上两位。。我已经完工了。。
在设计中出现的问题是:我定义的sdram的数据口为inout型的,但是在generate pins的时候Quartus居然把它generate成了一个输出型的。。我是在挣扎了一个星期后无意间发现的~!搞的我郁闷的。 回复【楼主位】conan_zlc
-----------------------------------------------------------------------
楼主好!我最近也在调试FPGA读写SDRAM的程序,调了很久了,对你说的问题,我也遇到了,可是我的端口设置时正确的,怎么回事?可否代码发来看看?谢谢 发个原码看看啊
学习下也好啊
楼主 好。。下次我整理下发出来。。 回复【6楼】conan_zlc
-----------------------------------------------------------------------
谢谢!期待中。。。 期待.... 期待 回复【3楼】conan_zlc
-----------------------------------------------------------------------
朋友,你好~~你说的问题我也遇到的了,用的是特权同学的工程,不知你解决了没有?望赐教~~~~谢谢~~~ 我也遇到同样的问题,最后发现是DQM没有设0 有特权同学的sdram例程么??请发到我邮箱2441701360qq.com,谢谢!!!不胜感激
页:
[1]