- 1、本文档共21页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
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
文档评论(0)