我在verilog中test_bench中遇到这样的问题,记录一下。
timescale 1ns / 1ps
基本知识:1ns=1000ps
含义为:时延单位为1ns,时延精度为1ps。
简而言之,前面是总时间,后面是每个单元的时间间隔。
#的使用
#是延时的意思,跟timescale中的时延单位有关。
`timescale 1ns / 1ps
module top_add5_tb(
);
reg a=0;
reg b=0;
wire c;
top_add5 top_add5_inst(
.a(a),
.b(b),
.c(c)
);
initial begin
a=0;
b=0;
#1
a=0;
b=1;
#1
a=1;
b=1;
#1
a=1;
b=0;
#10;
$stop;
end
endmodule
这里的#1就是时延1ns,跟timescale后面之前的数字单位保持一致。