Title

SystemVerilog -- 1.0 Introduction

Introduction

What is SystemVerilog ?

Verilog 和 VHDL 等硬件描述语言(HDL)用于描述硬件行为,以便将其转换为由组合门和顺序元素组成的数字快。为了验证 HDL 中的硬件描述是否正确,需要一种在 OOP 中具有更多功能的语言来支持复杂的测试过程,通常成为硬件验证语言。

What is Verilog not preferred ?

早在 1990 年代,Verilog 是验证小型、不太复杂且功能较少的设计功能的主要语言。随着设计复杂性的增加,对设计和验证工具的需求也在增加。SystemVerilog 远远由于 Verilog,因为它能够执行约束随机刺激、在测试台构建中使用 OOP 功能、功能覆盖率、断言等。

What is Verification ?

验证是确保给定硬件设计按预期工作的过程。芯片设计是一个非常广泛且耗时的过程,制造成本高昂。如果在设计过程的早期阶段发现设计中的功能缺陷,将有助于节省成本。如果在设计流程的后期发现错误,则必须再次重复所有设计步骤,这将消耗更多的资源、金钱和时间。如果整个设计流程必须重复,那么它被成为芯片的 respin。

What about Vera, e, and other similar HVL ?

它们已经使用了一段时间。SystemVerilog 可以被视为 Verilog (最流行的 HDL) 的扩展,在 SystemVerilog 中验证 Verilog 设计是有意义的。此外,SystemVerilog 还支持 OOP,这使得在更高抽象级别上对设计进行验证成为可能。

How is it used in verification ?

硬件设计主要由多个 Verilog (.v) 文件和一个 top 模块组成,其中所有其他子模块都经过实例化以实现所需的行为和功能。验证给定的 Verilog 设计需要称为 testbench 的环境,现在通常用 SystemVerilog 编写。这个想法使用不同的刺激驱动设计,以观察其输出并将其输出并将与预期值进行比较,以查看设计是否以应有的方式运行。

为此,在测试台环境中实例化top层设计模块,并将设计输入、输出端口与适当的测试台组件信号链接。设计的输入由某些值驱动,我们知道设计应该如何运行。对输出进行分析并与预期值进行比较,已查看设计行为是否正确。

Example

考虑一个需要验证的 D 触发器的简单 verilog 设计。DFF 的功能是,Q 输出引脚在每个正时钟边沿所存到 D 输入引脚中的值,这使其成为正边沿触发触发器。我们还假设触发器具有一个低电平复位引脚和一个时钟。

// File : d_ff.v
module d_ff (clk, resetn, q, d);
    input clk;
    input resetn;
    input d;
    output q;

    always @(posedge clk) begin
      if (!resetn)
        q <= 0;
      else
        q <= d;
    end
endmodule

我们需要为这种设计构建一个测试平台,以便将一些信号值驱动到其输入引脚 clk、复位、d,并观察输出的样子。通过驱动适当的刺激并检查结果,我们可以确保其功能行为。然后,综合工具可以将此设计转换为真正的硬件逻辑和门。

// File : tb_top.sv
module tb_top ();
    reg clk;
    reg resetn;
    reg d;
    wire q;

    // Instantiate the design
    d_ff d_ff0(
              .clk(clk),
              .resetn(resetn),
              .q(q),
              .d(d)
              );

    always #10 clk <= ~clk;

    initial begin
      resetn <= 0;
      d <= 0;
      #10 resetn <= 1;

      #5  d <= 1;
      #8  d <= 0;
      #2  d <= 1;
      #10 d <= 0;
    end
endmodule

文件 tb_top 表示一个简单的测试平台,您可以在其中创建设计 d_ff0 的对象,并将其端口与测试平台中的信号连接起来。然后,您只需在测试台中分配或驱动信号,它们就会传递到设计中。

posted on 2024-04-13 11:44  松—松  阅读(17)  评论(0编辑  收藏  举报

导航