组合逻辑always信号敏感列表对电路的影响

在verilog编写组合逻辑电路的时候会遇到敏感列表的信号应该包含哪些的问题,因此做如下仿真来验证信号敏感列表对电路的影响。在两个仿真例中通过设定不同的信号敏感列表来对比综合出来的仿真结果从而验证 信号敏感列表不影响最终的电路

信号敏感列表不完整

module mod_test(
    rd,
    rst,
    outdata
    );
    input rd;
    input rst;
    output reg outdata;
    always@(rst)
    if(!rst)
        outdata = 1'b0;
    else
        outdata = rd;
endmodule

RTL视图
在这里插入图片描述
前仿真
在这里插入图片描述
后仿真
在这里插入图片描述

信号敏感列表完整

module mod_test(
    rd,
    rst,
    outdata
    );
    input rd;
    input rst;
    output reg outdata;
    
    always@(rst or rd)
    if(!rst)
        outdata = 1'b0;
    else
        outdata = rd;
endmodule

RTL视图
在这里插入图片描述
前仿真
在这里插入图片描述
后仿真
在这里插入图片描述

结论
always信号敏感列表是否完整对综合出来的RTL视图、门级仿真、最终电路没有影响,但是会影响行为级仿真,不在敏感信号列表里面的信号无法触发和该信号相关的仿真进程,也就得不到正确的仿真结果。在verilog_IEEE官方标准手册-2005_IEEE_P1364手册有如下表述。
在这里插入图片描述

强调应该将所有的相关输入信号与条件判断信号都包含在敏感列表,否则将影响行为级仿真。因此如果在设计中希望通过修改敏感信号列表来得到不同的逻辑只能影响行为级仿真无法影响最终综合得到的电路。所以个人认为在使用always构建逻辑电路时采用always@(*)更加保险。

  • 15
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值