本文介绍了使用Modelsim SE-64 10.2c进行简单的覆盖率测试。
测试代码:
module tb_top;
//=====================================================================\
// ********** Define Parameter and Internal Signals *************
//=====================================================================/
//======================================================================
// *************** Main Code ****************
//======================================================================
class Transaction;
rand bit [2:0] x;
rand bit [3:0] y;
endclass
covergroup Cov(Transaction tr);
x:coverpoint tr.x;
y:coverpoint tr.y;
cross x, y;
endgroup
initial begin
Transaction tr;
Cov c;
tr = new();
c = new(tr);
repeat(200)begin
assert(tr.randomize());
c.sample();
end
end
endmodule
将上述代码保存为tp_top.sv文件,存在一个自建的文件夹。
1.打开Modelsim SE-64 10.2c软件,不同版本的modelsim操作差不多。
2.创建新工程。
3.填写工程名字并选择工程目录
4.添加文件
点击Add Existing File,然后选择刚刚的tb_top.sv文件
5.设置编译属性
在Project窗口中,右键代码文件,点击Properties弹出工程编译设置窗口,然后点击Coverage,按照下图勾选有关设置。
6.编译文件
在Project窗口中,右键代码文件,点击Compile->Compile All
7.覆盖率仿真
在Library窗口,右键work下面tb_top,右键选择Simulate with Coverage,稍等片刻。
8.运行程序
在Transcript窗口输入run命令,即可运行程序。
在Covergroups窗口即可看到覆盖率信息。