学习目标:
SV绿皮书第四章:连接设计和测试平台
学习内容:
1.测试平台:各个组件、组件之间的连接关系、测试平台的配置和控制、编译仿真流程、结果分析报告、覆盖率检查
2.组件:激励发生器(stimulator/driver/BFM/behavioral/generator)、监测器(monitor)、比较器(checker)
激励发生器(initiator发起器+responder响应器):模拟与DUT相邻设计的接口协议
监测器:观察DUT的边界或者内部信号,并且经过打包整理传送给其他验证平台的组件
内部信号监测建议:通常采用灰盒,观察的内部信号应当尽量少
比较器:缓存从各个monitor收集到的数据,汇集到内置的reference model(参考模型),进行比较
3.对于复杂的系统验证,集中管理激励发生器和比较器,监测器和激励发生器一一对应,封装在agent单元组件中。
4.接口
interface arb_if(input bit clk);
logic [1:0] grant,request;
logic rst;
endinterface
接口信号必须使用非阻塞赋值来驱动
5.在一个接口中放入一个新的信号,只需要在接口定义和实际使用这个接口的模块中修改
使用接口时需要确保在你的模块和程序块之外声明接口变量
6.带有modport的接口
interface arb_if(input bit clk);
logic [1:0]grant,request;
logic rst;
modport TEST(output request,rst,input grant ,clk);
endinterface
module test(arb_if.TEST arbif);
....
endmodule
modport只需要在模块首部指明,而在模块例化时不需要指明
7.使用modport名
第一种:在使用接口信号的程序和模块中使用modport名
第二种:在顶层模块中使用modport名,然后把接口放到程序和模块的端口表里
8.在接口中不能例化模块,但是能例化其他接口
问题:
学习时间:
2022-3-19
早:9-11.30
中:15–17
1330

被折叠的 条评论
为什么被折叠?



