ZYNQ初识4(zynq_7010)基于vivado,利用simulator进行仿真调试和波形查看
Vivado中Simulator仿真软件的使用_vivado中move to simulations-CSDN博客
上述链接内容详述尽备,以下是自己补充的几个点:
(1)记得需要将要仿真的文件和激励文件(tb)设置为顶层文件,否则软件会无法识别。
(2)另将自己的.v文件和testbench激励文件的代码放在下方,仿真图也附在下方做个记录:
`timescale 1ns/1ps
module test_009(
input sys_clk,
input sys_rst_n,
output [1:0] led
);
reg [25:0] cnt;
assign led = (cnt>4) ? 2'b01 : 2'b10;
always @ (posedge sys_clk or negedge sys_rst_n)
begin
if(!sys_rst_n)
cnt <= 26'd0;
else if (cnt< 26'd9)
cnt <= cnt + 1'b1;
else
cnt <= 26'd0;
end
endmodule
//tb激励文件:
`timescale 1ns / 1ps //延时数(单位)/精度
module tb_test_009();
reg sys_clk;
reg sys_rst_n;
wire [1:0] led;
initial begin
sys_clk = 1'b0;
sys_rst_n = 1'b0; //初始状态赋值为0
#200 //延时200ns
sys_rst_n = 1'b1; //拉高复位信号
end
always #10
sys_clk = ~sys_clk; //50Mhz,10ns系统时钟反转一次
//例化:
test_009 u_test_009(
.sys_clk (sys_clk),
.sys_rst_n (sys_rst_n),
.led (led)
);
endmodule
这里修改了下时钟周期和cnt的计数条件来节约仿真运行时间: