在完成设计输入后,未验证代码的正确性,我们需要进行仿真测试。下面是一个在 Modelsim Altera Starter Edition 6.5e 中仿真的 testbench 示例,
`timescale 1 ps/ 1 ps //规定最小时钟
module uart_io_test_vlg_tst();
// constants
// general purpose registers
reg eachvec;
// test vector input registers
reg clk;
reg fpga_rxd;
reg rst_n;
// wires
wire fpga_txd;
// assign statements (if any)
uart_io_test i1 (
// port map - connection between master ports and signals/registers
.clk(clk),
.fpga_rxd(fpga_rxd),
.fpga_txd(fpga_txd),
.rst_n(rst_n)
);
initial //initial 中 的语句只执行一次,完成 激励赋值
begin
clk = 0;
rst_n = 0;
fpga_rxd = 1;
@(posedge clk) // 表示 下面的 语句 仅在 clk的上升沿 进行
#100; // 表示延迟 100ps 后 进行下面的 赋值
rst_n = 0; // 表示 给 rst_n 赋值 0
#2000;
rst_n = 1;
#200;
fpga_rxd = 0;
#6000;
fpga_rxd = 1;
end
always #10 clk = ~clk; // 每 10 ps clk 取反一次,得到 50 MHz的 时钟信号
endmodule
*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。