在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 7775|回复: 5

求助!!用ncverilog进行仿真,到250ns就中止了??

[复制链接]
发表于 2007-11-7 14:14:17 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
用ncsim仿真一开始还好的,也不知道我点了什么不该点的东西后,仿真到250NS就结束了,再点run也没用,重启也没用,同时有个error infor “Simulation interrupted at 250 NS + 16408719”,哪位用过ncsim的能告诉我,我是不是在什么地方设置了仿真结束的时间了????谢谢
发表于 2007-11-8 22:44:19 | 显示全部楼层
我在图形界面下操作也遇到过这种情况,改在命令行窗口里键入run time就好了time为你要的时间
发表于 2010-2-8 10:07:46 | 显示全部楼层
原理是什么呢??
发表于 2011-4-7 10:49:19 | 显示全部楼层
ncsim碰到了同样的现象。我的问题查找方法:
换成modelsim跑这个仿真,出错log比ncsim要详细。modelsim的log显示是由于代码中存在无限0时延loop,通过modelsim的simulation step工具可以定位loop所在的位置。

不过我不能肯定是不是只有infinite 0-delay loop才会导致ncsim出现这种现象。
发表于 2011-4-7 13:48:08 | 显示全部楼层
学习了。
发表于 2011-4-8 11:57:33 | 显示全部楼层
有时候在ncverilog simulation的时候会发生hang住的情况,time不往前走了。而delta timing却一直在增加,或者一直维持某个值。
一般是因为code中有zero-delay loop race condition。
assign (#TH) clk = ~clk;
如果在当前的仿真中,TH为0或者为x,会导致zero-delay loop race condition。


那么如何找到这一段代码呢?
可以通过在ncverilog加option ""+nclinedebug +gui" , 打开debug gui窗口。在File里打开 source file, 然后按F5可以单步执行,也可以按stop按钮。
操作应该跟其他debug工具一样。 单步执行的时候可以看到时间一直在增加。
等到zero-delay loop race发生时,时间就不往前走了。可以看到黄色的箭头一直停在那段rtl code里。稍加分析就可以找出错误的原因。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条


小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-11-26 01:35 , Processed in 0.023357 second(s), 8 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表