视频诚不欺我。。。
// 非门
// 1ns 时间单位,10ps 精度
`timescale 1ns / 10ps
module inv(A, Y);
input A;
output Y;
assign Y = ~A; // 取反运算
endmodule
// --- testbench of inv
module inv_tb; // 没有端口,不写括号
reg aa; // 随时间改变
wire yy; // 连线
inv inv( // 实例化?
.A(aa), // 异名实例化
.Y(yy)
);
// initial 语句块 按时间定义值
initial begin
$dumpfile("wave.vcd"); //生成的vcd文件名称
$dumpvars(0, led_demo_tb); //tb模块名称
aa <= 0; // 赋值
#10 aa <= 1;
#10 aa <= 0;
#10 aa <= 1;
#10 $stop; // 用 $stop 系统任务停止仿真
// #10 表示 10 个时间单位,前面定义时间单位
end
endmodule
然后使用 gtkwave 查看波形
gtkwave wave.vcd