微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > 求教 Modelsim 中时序仿真的问题!谢谢了!

求教 Modelsim 中时序仿真的问题!谢谢了!

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

我现在遇到一个问题
用Modlsim对设计做功能仿真,正确。然后在QuarusII 中对设计加约束,生成 .sdc 文件,然后编译。生成的网表文件 .vo 再放回到Modelsim中,用功能仿真相同的 testbench 做时序仿真,可是仿真波形不正确,请问是为什么?
补充一下:做功能仿真,时钟用的400Mhz,功能正确。然后做时序仿真时,用同样的 testbench 即400Mhz的时钟仿真时,功能不正确,但换做 200Mhz 的时钟做时序仿真时,功能又正确了。这是为啥呀?是不是说我的设计只能工作在200M啊?

高速设计,很有可能是时序不满足要求。

我对设计进行时序约束以后,时序要求都满足了,可是为啥仿真的时候又不满足了呢?请高人答疑~

你说的时序要求都满足了是指的是用时序分析工具的结果吗?实际仿真中没有出现时序冲突的错误?

在QuartusII 中用TimeQuest 分析,加了时序约束以后,时序要求全部满足啊,restricted fmax 可以达到411M。我刚刚开始学习,所以不明白怎么回事,TimeQuest 说restricted fmax 为411M,意思不就是说可以工作的频率吗?然后我在Modelsim中用400M时钟为什么最后输出会不对呢?只有把testbench中的时钟调低到200M的时候,功能才正确,这是说我的电路最大只能工作在200M吗?谢谢了~

应该是时序的问题,setup


这个计算出来的最大频率,我个人认为是工具根据你的设计和布局布线的结果计算出来的,频率的变化不能引起内部结构的变化的情况下,才有效。
而你现在做的仿真,虽然只改变了外部的激励,但是内部的设计是否重新编译综合布局布线了呢?如果经过了这一步,那就不能确保之前的布局布线结果和现在的是一致的,除非你进行了区域锁定,以上仅仅是我的个人理解,不知道是不是正确的,希望各位拍砖。
不知道你是不是做了400M时钟下的时序分析?如果做了,得到满足的结果,那就比较奇怪了。时序如果出错,你可以具体看看到底是哪里出现的问题,做后仿真,有时候是需要你去通过网表查找时序违例的,不要怕麻烦。

你可以看哪个信号有问题,再逐级查看,慢慢往上查。你就能发现问题了,估计还是时序的问题,逻辑应该没问题,别怕麻烦哦,哈

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

网站地图

Top