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