IEEE Standard for SystemVerilog Chapter 3.4 Programs

        program构建块包含在关键字program ... endprogram之间。此构造用于对测试台环境进行建模。module结构适用于硬件描述。然而,对于测试台来说,重点不是硬件级别的细节,如布线、结构层次和互连,而是对验证设计的完整环境进行建模。
        program块有以下三个基本用途:
                --它为测试台的执行提供了一个入口点
                --它创建了一个范围,用于封装program范围的数据、任务和函数
                --它提供了一个语法上下文,用于指定Reactive区域中的调度
        program结构是设计和测试台之间的清晰分隔符,更重要的是,它指定了专门的模拟执行语义。与clocking块(见第14条)一起,program结构提供了设计和测试台之间的无竞争交互,并实现了循环和事务级别的抽象program块可以包含数据声明、类定义、子例程定义、对象实例,以及一个或多个initial或final过程。它不能包含 always 过程, primitive 实例, module 实例, interface 实例, 或者其他 program 实例
        SystemVerilog的抽象和建模结构简化了测试台的创建和维护。实例化和单独连接每个program实例的能力使它们能够用作通用模型。
        示例program声明如下:

program test (input clk, input [16:1] addr, inout [7:0] data);
    initial begin
        ...
endprogram

你可能感兴趣的:(Systemverilog,fpga开发)