每一个verilog文件都要必备一个测试程序也就是testbench文件,生成的波形图也是testbench文件在起作用。
与非门
module nand_gate(
A,
B,
Y
);
input A;
input B;
output Y;
assign Y=~(A&B);
endmodule
testbench文件
`timescale 定义仿真时间单位与精度,1ns是时间单位,即在仿真中用#10表示延迟10ns,verilog程序是并行执行的,而‘#20’这样的语句表示延迟20ns,可以控制程序的执行顺序。
`timescale 1ns/10ps
module nand_gate_tb;
reg aa,bb;
wire yy;
nand_gate nand_gate1(
.A(aa),
.B(bb),
.Y(yy)
);
initial begin
aa<=0;bb<=0;
#10 aa<=0;bb<=1;
#10 aa<=1;bb<=0;
#10 aa<=1;bb<=1;
#10 $stop;
end
endmodule
以上也是自己的学习笔记,为了方便以后查看