Synopsys VC Formal中的不确定断言

时间:2015-12-19 05:56:46

标签: formal-verification synopsys-vcs

2个问题 -

  1. 在基于断言的形式验证中,如果我得到一个不确定的断言,那么处理该断言或收敛它的各种方法是什么?
  2. 开发参考rtl和写入断言以在每个活动时钟边沿上比较参考rtl输出和DUT输出是否是正确的方法?它会增加有效的状态空间,从而增加复杂性,运行时间吗?
  3. 如果有人可以为基于断言的形式验证提供一些好的参考资料,那么它也会有所帮助,因为我无法找到关于这个主题的很多文章/论文。

1 个答案:

答案 0 :(得分:0)

我已经得到了我自己的问题的答案,所以我在这里张贴它。

不确定断言是形式验证的自然组成部分。因此,如果您已获得“必需的证明约束深度”,则仍可以进行验证。 (它类似于基于模拟的验证中的覆盖范围,如果您已获得所需的覆盖率,您仍可以在其中签署验证)。要获得“必需的证明约束深度”,必须联系设计团队。

有界证明深度>要求的证明深度=>相当于完全证明

Bounded Proof可能有多种原因。

  • 设计和/或断言的状态空间
  • 设计和/或断言的复杂性
  • 工具选项(努力程度运行时内存约束算法)

所以你的方法应该是“必须的证明约束”。

现在要获得必需的证明限制,有各种选择。

  • 工具/资源选项(努力程度,运行时间,内存约束)
  • State Space&复杂性选项
    • 修改/添加约束
    • Blackboxing
    • 截点
    • 修改断言
    • 更改参数化设计的参数值
    • 基于模拟的重置状态
    • Guided Proofs
    • 抽象

仍然无法通过这种方法获得必要的证据限制。通常情况下,不使用独立形式验证,但使用它,而是作为基于模拟的验证的补充

是的,比较参考模型和DUT输出会增加复杂性,因此如果需要,应尽量少使用参考模型。