测试Verilog模块

时间:2014-03-25 18:18:10

标签: testing verilog

我是Verilog编程的新手,想测试以下模块。有人可以指出我正确的方向,从哪里开始这个?我是否只需编写一堆for循环来模拟四个输入的所有可能值,然后使用一些显示语句来查看结果?

module HW7P1( A1, A0, B1, B0, O );
  input A1, A0, B1, B0;
  wire O;
  assign O = (!A1 & B1) | (!A1 & !A0 & B0) | (!A0 & B1 & B0);
endmodule

1 个答案:

答案 0 :(得分:1)

创建一个测试平台模块TB 101

由于不同输入的数量对您来说很小(16),您将能够详尽地检查所有输入。

您可以使用for循环顺序遍历所有输入值。最好在循环中随机分配输入($urandom)。

您应该创建一个检查器模块,其中包含每个输入的一组预期输出。每次输入更改时,都应检查实际输出与预期输出。如果它们不匹配,您应该$display出现错误消息。

有可用于执行此操作的高级验证方法,例如UVM。