文档详情

SystemVerilog数字集成电路功能验证课件 (5).pdf

发布:2024-12-20约1.45万字共21页下载文档
文本预览下载声明

SystemVerilog芯片验证

第4章接口

2024年3月12日

SystemVerilog芯片验证2024年3月12日1/21

接口的定义和使用使用接口简化连接

接口(interface)的定义和使用

1统一管理一组信号,简化测试模块与DUT的连接。

2接口主要为测试平台服务,不能被逻辑综合。

3接口是静态类型DUT与自动类型对象的通信桥梁(虚接口)。

测试模块接口加法器

时钟和复位顶层模块

SystemVerilog芯片验证2024年3月12日2/21

接口的定义和使用使用接口简化连接

1接口使用关键字interface定义。

2接口中可以使用连续赋值语句assign、过程块initial和always,也可以定

义函数和任务。

3接口封装了接口信号和与其相关的常用电平或时序操作。

4接口信号通常定义为logic类型,带有多驱动的接口信号定义为wire类型。

5接口是独立定义的,接口信号不需要给出信号方向。

4interfaceintf#(parameterWIDTH=4)(inputclk,inputrst_n);

5logic[WIDTH-1:0]a;

6logic[WIDTH-1:0]b;

7logic[WIDTH:0]sum;

8

9taskwait_reset_done();//等待异步复位结束

10@(posedgerst_n);

11endtask

12endinterface

SystemVerilog芯片验证2024年3月12日3/21

接口的定义和使用使用接口简化连接

1接口主要在测试模块中使用。

4moduleautomatictest#(parameterWIDTH=4)(intfi_intf);

5initialbegin

6$monitor(@%0t,a=%0d,b=%0d,sum=%0d,$time,i_intf.a,i_intf.b,i_intf

.sum);

7//输出初始值

8i_intf.a=4h0;

9i_intf.b=4h0;

10//等待复位结束

11i_intf.wait_reset_done();

12//发送激励并采集响应

13repeat(5)begin

14@(posedgei_intf.clk);

15i_intf.a=$urandom_range(0,4hf);

16i_intf.b=$urandom_range(0,4hf);

17end

18$finish();

19end

endmodule

SystemVerilog芯片验证2024年3月12日4/21

接口的定义和使用使用接口简化连接

1

显示全部
相似文档