vivado simulation使用
simulation仿真
选择新建simulation文件,一般以tb为开头命名 testbench
写testbench文件首先要有一个时间刻度尺
`timescale 1ns / 1ps //代表每次步长为1ns精度为1ps。a7100t采用50mhz晶振。最小的一个时钟是20ns所以每次步长为1ns完全够。甚至都可以改成前面的值可以是1,10,100这种
后面的ps精度是可以变的,如果改成是1ns/1ns那么就只能延时20ns不能延时20.123ns。因为精度不够
然后需要一个initial模块代表初始状态,而后要有一个时钟周期,就需要每隔10ns取反一次就刚好20ns的时钟周期了。最后将需要仿真的模块在这里调用一下tb文件就写完了。
module tb_led();
reg clk;
reg rst_n;
//reg [25:0]cnt;
wire [1:0]led;
initial begin
clk=0;
rst_n=0;
#200 rst_n=1;
end
always
#10 clk=~clk;
testled1 testled1s(
.clk (clk) ,
.rst_n (rst_n) ,
.led (led)
);
endmodule
运行tb文件在左边simulation,第一个行为仿真最理想状态的结果,因为没有分配管脚所以后面的时序仿真,rtl仿真暂时不能用,分配完管脚就可以了。
点击运行仿真就会有一个跟ila类似的界面,按键什么的也类似。