赞
踩
建立新工程的方法不再赘述,这里只针对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
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文件是否设置正确,如下图所示,如果三角符号在没有在Test Bench文件前,说明需要修改TOP文件
方法是右键点击Test Bench文件,选择Set as Top
正确设置后的效果如下
设置都完成后,选择Flow→Run Simulation→Run Behavioral Simulation即可开始仿真
仿真运行完成后,通过上面的功能按钮调整波形显示后,即可清楚的看到时序图了,效果如下
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。