简介
硬件描述语言(HDL)如被Verilog和VHDL用于描述硬件行为,以便可以将其转换为由组合门和顺序元素组成的数字模块。为了验证HDL 中的硬件描述是否正确,需要一种在 OOP 条件下具有更多功能的语言,该语言将支持复杂的测试过程,通常称为硬件验证语言。SystemVerilog是Verilog的扩展,具有许多此类验证功能,允许工程师使用复杂的测试平台结构和仿真中的随机激励来验证设计。
1.1简介
为什么Verilog不是首选?
早在 1990 年代,Verilog 是验证小型、不太复杂且功能较少的设计功能的主要语言。随着设计复杂性的增加,对设计和验证它的需求也在增加。SystemVerilog远远优于Verilog,因为它能够执行约束的随机激励,在测试平台构建中使用OOP功能,功能覆盖,断言等。
什么是验证?
验证是确保给定硬件设计按预期工作的过程。芯片设计是一个非常广泛且耗时的过程,制造成本高达数百万美元。如果在设计过程的早期阶段发现设计中的功能缺陷,将有助于节省成本。如果在设计流程的后期发现错误,则必须再次重复所有设计步骤,这将消耗更多的资源、金钱和时间。如果整个设计流程必须重复,那么它被称为芯片的重新定位。
Vera,e与其他类似的HVL呢?
它们已经使用了一段时间。SystemVerilog可以被认为是Verilog(最流行的HDL)的扩展,在SystemVerilog中验证Verilog设计是有意义的。此外,SystemVerilog支持OOP,这使得在更高抽象级别上验证设计成为可能。
如何用于验证?
硬件设计主要由几个Verilog(.v)文件和一个顶部模块组成,其中所有其他子模块都被实例化以实现所需的行为和功能。一个称为testbench的环境是验证给定verilog设计所必需的,现在通常用SystemVerilog编写。这个想法是用不同的刺激来驱动设计,以观察其输出并将其与预期值进行比较,以查看设计是否按其应有的方式运行。
为此, 顶级设计模块在测试平台环境中实例化, 设计输入/输出端口与适当的测试平台组件信号连接。设计的输入由某些值驱动,我们知道设计应该如何运作。分析输出并与预期值进行比较,以查看设计行为是否正确。