首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

仿真问题!

仿真问题!

第一段是给stone看的,就是我以前不能综合的原因找到了,那就是DLL没有用好,具体地说就是调用CLKDLL后在输入端要加IBUFG,而不是IBUF,害得我好惨!呵呵。


下面,如果stone和各位高手有空,帮忙解答一下:


我综合后,用modelsim仿真我的整个系统,这个系统内有.v文件、.xco文件,这些.xco文件是一些ROM核。我的行为仿真(behavial model)出来的结果,由两部分,一部分是ROM内的值,第二部分是我单片机通过SPI进入FPGA然后又并行出来的8位值,这两部分全部为零。


而我用第二级仿真(在ISE中调用translate model)时,第一部分结果正确,但是第二部分还是始终为零。


我说说第二部分的情况,第二部分的这些值是通过单片机进入FPGA的32位值中的8位,具体位置为2~9,这个32位值从IO串行进来进入移位寄存器,32个时钟后在进入32位D触发器,这个触发器分成几部分给FPGA的各个模块使用,前面说的那8位就直接通过一个8位锁存器送到外部。这个锁存器的时钟由D触发器的D[31]给出(因为它没有被其他模块使用),我仿真的时候令他为1,这样就能使那8位数据传到输出端进而到IO,但是这样却始终为零,我不知道什么原因?


不知道说清楚没有,很痛苦!各个模块作出来很久了,就是仿真综合这块麻烦!各个帮帮忙!特别是stone,你就好人做到底吧,呵呵。


另外一句,我的这些模块只能在XST中综合,在Syplify底下始终不认我的这些IP核,我照着stone的指导加了一些综合指令,还是不行,郁闷!

LZ的设计方不方便给外人看呢?有的话发一个上来吧;
“我的这些模块只能在XST中综合”是不是那天说的顶层是原理图文件造成的?
美梦成真-->噩梦降临!
不是原理图造成,我已经改为HDL了!但是还是不成,你让我发一个上来我没有意见,但是有很多文件,我不知道发哪个,我把我的所有发上来吧(除了仿真库,那个太大了)!有点乱,没有管理好项目,不好意思。你可以直接打开top.ise工程文件。希望你能给出中肯的意见!非常感谢!
没有上传成功,在上传一次!http://bbs.chinaecnet.com/uploadImages/top.rar
收到了,我去看看
美梦成真-->噩梦降临!
我大概看了一下,我的看法你可以参考一下:
1。从仿真中,MUX_EN信号常为0010,我认为LZ是想得到三角波(从MUX模块中推断出来的),下面的判断都是在这个基础上做出的;
2。首先是三角波模块没有输出,原因是三角波模块的地址没有输入;
3。负责产生三角波模块的PHASEREG1并没有产生地址;
4。最根本原因是PHASEREG1模块的RESET信号忘记写了;
上面都是一步一步推下来的,LZ以后有问题可以这样一级一级的去查,总会在某一级发现问题的;
另:我的机器用Syplify也没有问题,你的软件什么版本的?
美梦成真-->噩梦降临!
哦,非常感谢stone,你能这么仔细的看我这个垃圾项目,我想颇费了一番时间吧?呵呵!
看了你的看法,你的意思是你的Syplify能综合我这个系统?不会是版本的问题吧?我的版本是Syplify Pro 8.1版。
还有就是我的那个fuzhi(fuzhilatch文件)模块仿真的结果一直为零,不知道是什么原因,那个模块式单独的,我想与我的这些ROM没啥联系!
如果有时间,还想请你看看,我也仔细的再看看,再次感谢你!
我知道原因了(fuzhishu仿真为零的情况)!!!因为我的仿真数据SI是从右往左,而我一直以为是从左往右,哎,幼稚错误啊!害了我多少时间!我把图帖出来,你看看,是从CE开始跳边往左的数据。原来一直为零是因为最后几位我根本就没有赋值,因为我一直以为是相反的方向。[upload=image/pjpeg]uploadImages/系统仿真结果.JPG[/upload]

怎么打不开图片阿?我再上传一次。你确实高手阿,呵呵,以下就发现了我没有发现的错误!你可能还对我先前的错误莫名奇妙吧,呵呵,我的那个sanjiaobo确实仿真为零,现在还有方波也为零,就只有正弦波和锯齿波能仿真出数据来。我又莫名其妙了,呵呵。为什么这个4路选择器MUX能让1,3路(正弦和juchi)有效而2,4路(三角和方波)无效呢这方面?我还得研究研究。你说的复位问题我不太懂,我每次加激励它就应该自动改变阿!?

load=image/pjpeg]uploadImages/系统仿真.JPG[/upload]

[此贴子已经被作者于2006-7-11 17:05:59编辑过]

[此贴子已经被作者于2006-7-11 17:18:04编辑过]

对了,忘记问一下stone,你说我的MUX_EN常常为0010,你是怎么看到这个信号的,换句话说就是我怎么能够看到中间信号?
我又彻底仿真了四次,也就是说对每个ROM都仿真一次,结果还是与前面说的一样,只有正弦和锯齿波能仿真出结果,但是有一个奇怪问题,那就是这两个有结果的ROM仿真还不太一样,仿真锯齿波时,ROM出来的数据比CE上升沿只延迟100ps,并且fuzhi数也都要500ps;而仿真正弦波时,ROM出来的数据却延迟了240100PS,也就是比锯齿波多延迟六个CLK_25M周期(40ns),而fuzhi数延迟还是一样,500ps!
我用的modelsim进行仿真,modelsim启动以后会出来一系列的窗口,最重要也是最常用的是wave窗口,默认这里面只会出现在你顶层模块中出现的输入输出信号,如果你要看中间信号,可以这样操作:
1。最大化你的wave窗口;
2。用比较小但是能看清楚的尺寸打开结构和信号窗口;
3。在结构窗口中用鼠标点中某一个模块,在信号窗口中就会出现相应的信号;
4。拖动你需要的信号到wave窗口中;
5。重新初始化所有信号开始仿真;----就是有个向上的箭头那个图标
美梦成真-->噩梦降临!
至于我说的复位问题,应该是lz的个笔误,就是在调用产生地址的那个模块的时候没有给他值
美梦成真-->噩梦降临!
你说说的结构窗口是不是就是在modelsim主窗口中view->debug window->object,我也看过类似帖子,他们所说的struct窗口可能就是你说的结构窗口,但是我一直找不着struct。
哦,惨了,我看了一个modelsim教程的网页,发现modelsim XE主界面下的view下面直接就有你所说的信号和结构串口,而我用的是modelsim SE plus 6.5d,这里相对应的窗口为view->Debug Windows,但是这底下没有结构和信号窗口选项!我试了一下object窗口,然后点击ADD菜单,选择sigals in design ,出现了非常多的信号在我的wave窗口左边的信号栏,我再点击那个蓝色的向上箭头,还是只有顶层模块的输入输出端口信号有波形,其余全没有!你是用的XE版本吗?我以前装过,但是因为license不好用又给删了!
返回列表