微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > 时序约束和modelsim两个小问题。

时序约束和modelsim两个小问题。

时间:10-02 整理:3721RD 点击:
时序约束为时序分析提供了条件,那么添加时序约束会对电路本身的时序产生影响吗?为什么我在加上时序约束之后电路出现的现象不一样。
还有modelsim是否也是对时序进行仿真,那么和用内部逻辑分析signaltapII做时序仿真有什么区别呢?现在公司做的板子都是直接用signaltapII来观察,我想知道什么情况下才要用modelsim,它和signaltap在仿真上有什么区别呢。

添加了时序约束之后,综合和布局布线工具会按照你的约束去调整根据你的设计生成的实际电路,会想方设法地让最后生成的网表文件满足你的时序要求。如果加上约束之后,电路出现不一样的现象,那就肯定是什么地方时序没有满足。你需要做时序分析去检查下你的设计。
signaltapII是上板之后用的,不是用来做仿真的。它是ALTERA的工具,是按照你的设置往实际下载到FPGA的网表中插入了信号探针,然后可以通过信号探针观察你的设计在FPGA 实际跑的时候的状态变化。它会消耗掉你的fpga的部分资源,不是做仿真用的。modelsim采用用来做仿真的。


所以我如果能上板子调试的话就不用用modelsim来进行调试了吗?
如果设计正确modelsim和signaltap分析出来的时序结果应该是一样的吗?如果不一样那么出现差别的原因在哪里呢?

我觉得你还是用modelsim做下仿真再上板测,这样可以有个对比。
    上板测出来的结果一定要跟你的算法结果一样。不一样,那就说不清楚了,毕竟仿真能cover到的时间范围很窄,仅仅是ms毫秒级的,上板一跑就是秒级或者分级,小时级的。
    如果你的设计鲁棒性不好,那很有可能仿真OK,上板悲剧的。这种情况,你要用signaltap去triggle刚刚开始时候的状态,因为最开始一点点的时候,modelsim的仿真能cover到的,看看是不是一样的。
    如果一样,但是后面不一样,那肯定是鲁棒性有问题,那你就要想办法去triggle到从Ok的时候到不ok的时候那一瞬间的情况,就看这个点发生了什么,然后对照代码去改。如果开始都不一样,那就对比仿真和实际情况,看看差别,一般很好改。
    不好改的是鲁棒性的问题,复现问题和找到那个点最麻烦。


明白了,十分感谢~

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

网站地图

Top