1、verilog的程序
module 模块名 (
input wire 端口名;
output reg 端口名;//端口定义+I/O说明+内部信号声明
);
....//功能定义
endmodule
2、测试文件Testbench:
`timescale 1ns/1ns
module count_text;
reg clk;
reg clear;
wire[3:0] Q;
count m1 (.clk(clk), .clear(clear), .Q(Q));
always #10 clk = ~clk; /*"#10"表示半个时钟周期, parameter #10 clk = ~clk;
这句定义了20ns为一个周期,频率为f=1/T=1/20*10^-9=5*10^7Hz=50MHz*/
initial
begin
clk = 0;
clear = 1;
#15 clear = 0;
#1000 $stop; //要有终止时间,否则程序会一直运行
end
endmodule