FPGA设计思想与验证方法学系列学习笔记001
业精于勤荒于嬉,行成于思毁于随。学无止尽~小白常犯错误整理Question1: input/output端口定义对于设计模块而言:input 的数据类型必须是wire,output的数据可以是wire也可以是reg。对于TESTBENCH仿真而言module tb_my_module; // 声明与 DUT 接口对应的信号 reg clk; reg rst_n; reg [7:0] data_in; wire [7:0] data_out; wire valid; // 实例化 DUT my_module uut ( .clk (clk), .rst_n (rst_n), .data_in (data_in), .data_out(data_out), .valid (valid) ); // 激励生成部分 initial begin clk = 0; rst_n = 0; #10 rst_n = 1; data_in = 8'h55; #20 data_in = 8'haa; #100 $finish; end // 时钟生成 always #5 clk = ~clk; // 监控输出 initial begin $monitor("Time=%0t: data_out=%h, valid=%b", $time, data_out, valid); end endmodule输入端口(input) → 在 TestBenc