待测试工程—流水灯

建立新工程的方法不再赘述,这里只针对TEST BENCH文件的建立进行描述。测试工程如下,功能是控制流水灯闪烁

`timescale 1ns / 1ps  //时延单位为1ns,时延精度为1ps

module test_top(
        input clk,//时钟
        input rst_n,//复位
        output reg[1:0] cnt1, //这里输出cnt1只是为了仿真更加直观
        output reg led  //led输出
    );

always @(posedge clk)
begin
    if(!rst_n) begin
        led <= 1'b0;
				cnt1<= 2'b00;
    end
    else begin
        if(cnt1 == 2'd3) begin
	        led<=!led;
					cnt1<=2'd0;
        end
				else begin
					led<=led;
					cnt1<=cnt1+1'b1;
			  end
    end
end
endmodule

创建TEST BENCH文件

1.点击PROJECT MANAGER目录下的Add Sources;

                                     

vivadotestbench_vivadotestbench

2.在Add Sources弹窗界面选择第三条—Add or create simulation sources后,点击Next

vivadotestbench_fpga开发_02

3.该界面常用选项有Add Files和Create File。其中Add Files是添加本地已存在的Test Bench文件,Create File是创建新的Test Bench.这里我们点击Create File.

vivadotestbench_右键_03

 

4.在新弹出的Create Source File窗口需要手动输入文件名在File name这一栏,命名习惯一般为tb_前缀+待测试Module名,如tb_test_top,tb表示这是test bench文件,要测试的模块是 test_top.该窗口还有两个下拉菜单,File type是选择文件对应的语言,这里选择Verilog。File location是选择文件生成的位置,一般默认为E:\VIVADO_PRO\test_soft\test_soft\test_soft.srcs\sim_1\new。选择好后点击OK。

vivadotestbench_fpga开发_04

 

5.回到Add Sources界面点击Finsh后弹出下图窗口。

   在Define Module界面点击OK再点击Yes完成文件创建

vivadotestbench_Source_05

 

编写仿真代码

回到Vivado主界面,在Sources窗口下的Simulation Source→sim_1菜单下找到创建好的Test Bench文件,开始编写仿真程序。

                            

vivadotestbench_右键_06

 

代码如下

`timescale 1ns / 1ps//时延单位为1ns,时延精度为1ps

module tb_test_top( );

reg sys_clk;//时钟
reg rst_n;//复位
wire led1;//Led
wire [1:0]cnt1;//Led闪烁计数

//产生激励:仿真文件中一般使用initial或者always产生激励
initial begin
	sys_clk = 1'b0;
	rst_n = 1'b0;
	#200
	rst_n = 1'b1;
end

// #10意思是延迟10ns,这里产生一个周期20ns的时钟(50MHz)
always #10 sys_clk = !sys_clk;//生成时钟,

//例化待测模块
test_top test_top_1(
    .clk(sys_clk),
    .rst_n(rst_n),
    .cnt1(cnt1),
    .led(led1)  
);
endmodule

仿真设置

仿真时间

常用的仿真设置为设置仿真运行时间,如下图右键点击SIMULATION,在弹出的菜单选择Simulation Settings

vivadotestbench_Test_07

 

在弹出的窗口选择Simulation,然后输入想要仿真的时间即可

       

vivadotestbench_右键_08

 

检查TOP文件

在开始仿真前,需要检查TOP文件是否设置正确,如下图所示,如果三角符号在没有在Test Bench文件前,说明需要修改TOP文件

 

vivadotestbench_fpga开发_09

方法是右键点击Test Bench文件,选择Set as Top

                     

vivadotestbench_Test_10

正确设置后的效果如下

vivadotestbench_vivadotestbench_11

 

运行仿真

设置都完成后,选择Flow→Run Simulation→Run Behavioral Simulation即可开始仿真

vivadotestbench_右键_12

 

仿真运行完成后,通过上面的功能按钮调整波形显示后,即可清楚的看到时序图了,效果如下

vivadotestbench_vivadotestbench_13