FPGA VIVADO仿真详解 TEST BENCH

待测试工程—流水灯

建立新工程的方法不再赘述,这里只针对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;

                                     

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

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

 

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。

 

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

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

 

编写仿真代码

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

                             

代码如下

`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

 

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

        

检查TOP文件

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

 

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

                     

正确设置后的效果如下

 

运行仿真

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

 

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

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值