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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

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

vcs卡住问题,求助

[复制链接]
发表于 2022-2-24 17:18:38 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 nofoolish 于 2022-2-24 17:33 编辑

每次vcs跑了相同时间就会卡住,分析代码没有不带时序的while(1)循环,再卡住之前,模拟卡住时的行为,不会卡住,卡住后Ctrl+z时出现
Releasing License for VCSRuntime_Net at Thu Feb 24 17:07:48
Releasing License for VT_TestbenchRuntime at Thu Feb 24 17:07:48

license用的网上破解的,查看Synopsys.src这个文件里面有这两个license。。。。。

license的打印如下

image.png

image.png




 楼主| 发表于 2022-2-24 20:26:11 | 显示全部楼层
已解决,具体背后的原理还不清楚,
将代码:
while(1) begin
       if(ready == 1)
           break;
end
改成:
wait(ready);
就可以了,不知道为什么
拜求有大神知道原因的解释一下
 楼主| 发表于 2022-2-24 20:28:40 | 显示全部楼层


nofoolish 发表于 2022-2-24 20:26
已解决,具体背后的原理还不清楚,
将代码:
while(1) begin


分析卡住前后ready都应该是1。。。
发表于 2022-2-25 10:30:30 | 显示全部楼层
while(1)的块内无论是否break还是continue都必须有时间消耗,否则时间停止术,看起来rtl是并行的,但是如果这个while的这个时刻点是永进永出,则其他的模块无法进入下一刻的时刻点去处理或者改变条件了。你将原来的程序加个delay试试看
发表于 2022-2-26 17:07:47 | 显示全部楼层
while(1)

相当于一个没有时间消耗的always block,这个在c中写可以,但是对于事件触发的rtl语言,这个是不可行的
发表于 2022-2-26 18:01:23 | 显示全部楼层
是不是需要打一拍,即在每个时钟周期判断一次ready?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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


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

GMT+8, 2024-11-14 12:20 , Processed in 0.020618 second(s), 10 queries , Gzip On, Redis On.

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