达芬奇pro的FPGA学习笔记3--添加testbench文件、仿真

这是第一个实验,内容:小灯闪烁实验(主要参考正点原子的例程)

因为考虑到需要计数的数值较大,所以将计数减少,这样可以更好的进行仿真,下面的代码是修改后的Verilog的设计文件

module led_twinkle(
input sys_clk,
input sys_rst,
output [1:0] led
    );

reg [7:0] cnt = 8'd0;
assign led = (cnt<8'd5)?2'b01:2'b10;

always @(posedge sys_clk or negedge sys_rst)
begin
    if(!sys_rst)
        cnt <= 8'd0;
    else if(cnt<8'd9)
        cnt <= cnt +1'b1;
    else 
        cnt <= 8'd0;
end
endmodule

接着需要添加仿真文件及testbench文件。
达芬奇pro的FPGA学习笔记3--添加testbench文件、仿真_第1张图片
达芬奇pro的FPGA学习笔记3--添加testbench文件、仿真_第2张图片
达芬奇pro的FPGA学习笔记3--添加testbench文件、仿真_第3张图片
达芬奇pro的FPGA学习笔记3--添加testbench文件、仿真_第4张图片
达芬奇pro的FPGA学习笔记3--添加testbench文件、仿真_第5张图片
达芬奇pro的FPGA学习笔记3--添加testbench文件、仿真_第6张图片
达芬奇pro的FPGA学习笔记3--添加testbench文件、仿真_第7张图片

下面的是testbench的代码。

`timescale 1ns / 1ps

module testbench();
reg sys_clk = 0;
reg sys_rst = 0;
wire [1:0] led;
always #10 sys_clk = !sys_clk;

initial
begin
    #5
    sys_rst = 1;
end

led_twinkle led_twinkle_tb(
.sys_clk(sys_clk),
.sys_rst(sys_rst),
.led(led)         
);

endmodule

达芬奇pro的FPGA学习笔记3--添加testbench文件、仿真_第8张图片
注:因为这里的cnt没有在testbench中定义,所以需要添加设计Verilog中的信号。
达芬奇pro的FPGA学习笔记3--添加testbench文件、仿真_第9张图片
达芬奇pro的FPGA学习笔记3--添加testbench文件、仿真_第10张图片

你可能感兴趣的:(riscv处理器设计,fpga开发,学习)