assume() does not work for initial statement

时间:2017-12-18 06:58:17

标签: verilog yosys

For https://i.imgur.com/NCUjYmr.png , why doesn't the signal "reset" assumed to be '1' initially ? Anyone have any idea why the assume does not work ?

2 个答案:

答案 0 :(得分:1)

我找到了解决方案。我处于时间归纳,它从一个不是系统初始状态的状态开始。因此,信号"重置"不被认为是' 1'最初

答案 1 :(得分:0)

假设仅在正式验证环境中作为假设起作用。但在基于模拟的验证中,它们仅用作assert语句。

根据LRM:

  

立即假设语句指定假定其表达式成立。例如,立即假设语句可以与形式验证工具一起使用,以指定约束验证计算的设计输入的假设。当以这种方式使用时,它们指定设计环境的预期行为而不是设计本身的行为。在模拟中,立即假设可以表现为立即断言以验证环境的行为与假设一样。模拟工具应该   提供以这种方式检查立即假设语句的能力。

因此,在您的设计中,它实际上不会assume该值,但会检查是否给出了正确的值。