IEEE Standard for SystemVerilog Chapter 3.4 Programs

本文讨论SystemVerilog中的program块,它是测试台环境建模的关键构造,用于提供执行入口、数据封装和调度上下文。program结构与clocking块协同工作,支持设计与测试台间的无竞争交互。实例化和分离的program块有助于简化测试台开发和维护。
摘要由CSDN通过智能技术生成

        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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值