一、实验内容及目标
1、实验内容:
(1)自学《SystemVerilog Testbench Lab Guide》pdf文档,理解掌握相关内容;
(2)用SV给待测试模块(DUT)搭建最简单的测试平台(testbench);
(3)用SV写一个任务(Task)来重置(Reset)DUT;
(4)编译(Complie)和仿真(Simulate)这个SV程序。
2、实验目标:
(1)熟练使用Questa Sim软件编写程序、进行验证;
(2)掌握16输入,16输出的路由器的验证。
二、实验过程或步骤
任务一:创建SV接口(interface)文件
1、创建router_io.sv文件,并用编辑器打开它;
2、以下是需要连接的DUT信号;
interface router_io(input bit clock);
logic reset_n;
logic [15:0] din;
logic [15:0] frame_n;
logic [15:0] valid_n;
logic [15:0] dout;
logic [15:0] valido_n;
logic [15:0] busy_n;
logic [15:0] frameo_n;
注意:①在这一部分的所有接口都是异步且没有方向的(但input,output,inout任有方向)。
②接口的方向只能在针对同步信号的时钟模块(Clocking block)或是针对异步信号的(modport)中被说明。
下一步是为测试程序创建一组同步信号,以驱动和采样DUT信号。
3、声明一个由时钟上升沿驱动的时钟模块(Clocking block,);
这个时钟模块将会被测试程序用来实施同步驱动和采样。此时钟块中信号的所有方向必须与DUT中的信号方向一致。
clocking cb @(posedge clock);
output reset_n;
output din;
output frame_n;
output valid_n;</