微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > Spartan6 mcb 控制时序

Spartan6 mcb 控制时序

时间:10-02 整理:3721RD 点击:




已经发了cmd en了,为什么DDR还不写呢,导致cmd fifo 满了,而且后面一直没写,导致cmd_full 一直为高,校验已经完成了。



    cmd_en 和其他控制信号,没有初始化导致后面都是x。

你好!我也在学sp6的DDR2控制器,毕业设计要用,但有很多不明白,仿真老不对,希望你能指点一下,谢谢



    看ug388.pdf。弄懂里面的生成的文件的作用,然后把sim.do文件看懂,最后跑仿真,看波形就全明白了。


谢谢回复哈,我看过ug388了,但也是半懂半不懂的,不过怎么操作那些fifo,还有配置port等是看懂了的。我在MIG里用第一种port配置方式,port2做写端,port3做读端。 生成核后,加入工程,再自己写了个verilog“外套”,里面没有任何逻辑,就例化了一个MCB核,输入输出接口是匹配的,这种最普通的IPcore调用方式行不行啊?
然后,我就直接在ise里生成了testbench文件,再按照ug388里面最基本的“simple write”时序,自己写了一了小段testbench代码,大概就是往MCB里写入一个32位数。我是先复位(低-高-低),过一小段时间后,往写port2写端的fifo里写数据,再在port2命令端里写入命令和地址。但是仿真结果是错的,不是一点点的错误,而是。感觉我整个操作就是错的。
所以,陷入泥潭了。万望指教



    把CoreGen生成的仿真工程跑起来,仔细看懂sim.do。不要自己写。


嗯,谢谢,虽然把modelsim给卸了,但是我还是用ise自带的仿真工具,把user design的sim文件夹里的仿真跑了一遍,看时序,有些明白了,慢慢来吧,逐渐转化成自己可以灵活使用的。

深奥的东西,哎呀,,,深奥呀

小编的问题我碰到过,当时我的情况是:P2写P3读,P2的信号都做好了时序,但是P3的信号都处于未知状态,所以无论如何也是写不进DDR的。后来我将P3的信号都接地,P2的数据就能顺利写入DDR了。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top