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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 6676|回复: 12

[求助] Verilog代码仿真时一直运行下去不动了是怎么回事

[复制链接]
发表于 2011-7-5 15:18:21 | 显示全部楼层 |阅读模式

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

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

x
在ModelSim中运行仿真代码 结果点完run后就一直运行下去 也不出结果 其中testbench里面我写了$finish 语句了
我手动点完Break后停止run  但出现
# Break in Module iicslave at IIC_wr2/IICslave2.v line 238
一直停留在这行不能仿真运行下去 是为什么
发表于 2011-7-5 15:57:39 | 显示全部楼层
没人知道你的.v的line 238写的什么东西,怎么帮你?
 楼主| 发表于 2011-7-5 15:59:35 | 显示全部楼层
always @(cs or byte_done or addr_match or operation_dir)
这是238行,写的是一个状态机里面的组合逻辑块
发表于 2011-7-5 16:02:48 | 显示全部楼层
估计是你的code出现问题了,能不能把这个always的全部贴出来看看
发表于 2011-7-5 16:08:15 | 显示全部楼层
以前遇到过这样的情况,原因是代码里用了非常复杂的循环语句,算不过来了
 楼主| 发表于 2011-7-5 16:10:07 | 显示全部楼层
always @(cs or byte_done or addr_match or operation_dir)
        case(cs)
        start:
                ns <= slave_addr;
       
        slave_addr:               
                if(byte_done && addr_match)
                        ns <= slave_addr_ack;
                else
                        ns <= slave_addr;
               
        slave_addr_ack:
                        ns <= data;

        data:
                begin
                        if(byte_done)
                                   ns <= data_ack;
                           else
                              ns <=data;
                end
        data_ack:
                begin
                        if(operation_dir)
                                if(master_nack)
                                        ns<=start;
                                else
                                        ns<=data;
                        else
                                ns<=data;
                end
        endcase
这是这个always块
发表于 2011-7-5 16:13:32 | 显示全部楼层
你case分支不全的吧,组合逻辑为什么不加default分支?
另外,cs的复位值是哪个状态?
 楼主| 发表于 2011-7-5 16:22:51 | 显示全部楼层
case分支我用的独热码编码,很全啊,cs的复位值是起始状态start,加上default后结果还是那样,可能还是我的代码有问题吧
发表于 2011-7-6 11:21:18 | 显示全部楼层
状态机一直在某个状态下,检查你的激励,是否满足跳转条件吧。
发表于 2011-7-6 12:58:13 | 显示全部楼层
不要使用 run -all
使用run -2us这样的,就能在时间结束后停止了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

×

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

GMT+8, 2024-4-20 12:02 , Processed in 0.027828 second(s), 6 queries , Gzip On, Redis On.

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