基于断言的验证简介 – 第 1 部分
基于断言的验证(ABV)是一种与传统方法相比可以大大减少验证过程的技术.
ABV主要用于 ASIC 领域,但由于FPGA 设备的复杂性不断增加,事实证明它在 FPGA 验证流程中同样至关重要。
然而,在我们开始庆祝芯片项目验证周期大幅缩短的可能性之前,我们需要了解断言以及如何将它们有效地集成到验证方法中。
为了便于技术消化,断言的介绍将分为两部分。第一部分将解释什么是断言,讨论语言并发展基本术语和思想。在第二部分中,我们将深入挖掘并介绍蕴涵的使用和“空洞真理”的概念以及断言和覆盖。
什么是断言?
断言最简单的定义是“设备行为的抽象表示,在规范、验证和实现中很有用……”
稍后我们会看到这个定义可以扩展为更准确的描述,但现在就用这个定义了。
有两种语言可用于表达断言的实际应用,即属性规范语言(PSL)和SystemVerilog断言子集(SVA) 。
PSL 可用于 VHDL、Verilog、 SystemVerilog和SystemC ,并且是 VHDL-2008 的子集。
SVA 是SystemVerilog语言的断言相关子集,基于Superlog和OpenVera捐赠。它的断言和属性功能也借鉴了 PSL。
两种语言都是 IEEE 标准。
哪种语言?
VHDL 设计人员可以同时使用 SVA 和 PSL,但通常选择 PSL,因为它可以直接放入 VHDL 代码中并有助于设计文档,而 SVA 则不能。此外,PSL 现在是 VHDL 标准 (2008) 的一部分,因此这意味着只需要使用一种语言。
Verilog 设计人员可以同时使用 PSL 和 SVA,但通常使用 SVA,因为当直接放入 Verilog 代码中时,它比 PSL 具有更多可用功能。此外, SystemVerilog和 Verilog 现在合并为一个标准 - SystemVerilog 。
好消息是 PSL 和 SVA 属性看起来几乎相同。
为什么使用断言?
断言已经成为 ASIC 设计中一种既定且流行的验证方法,因此 FPGA设计可以从这一领域学习。重要的是,它们受 IEEE 标准(PSL、 SystemVerilog和 VHDL)管辖。
面向对象编程中处理类、对象、继承等要容易得多。它们基于您作为设计师所熟悉的设计规范,因此更容易实施。
断言在模拟中创建了额外的安全层,因为它们是对原始规范的引用,并且在进行综合和实现迭代时非常有用。
断言本质上以它们的编写方式创建“实时文档”,这使得设计的管理变得更加容易。它们非常容易阅读和解释,这使得与设计团队的共享变得更容易管理。</