ericyan

Vivado基础学习之三:仿真

0
阅读(21519)

任务:仿真

目的:了解Vivado的仿真

步骤:

1.准备好带有源程序的工程

blob.png

2.新建仿真文件

blob.png

blob.png

新建之后的界面

blob.png

注意Vivado不能像ISE中直接生成一个带有模块的testbench,这里只能生成一个只有模块名的测试文件,具体内容需自己添加,相当于写一个源文件。本例中测试程序如下:

`timescale 1ns / 1ps
//////////////////////////////////////////////////////////////////////////////////
// Company: 
// Engineer: 
// 
// Create Date: 2016/12/02 15:04:25
// Design Name: 
// Module Name: Fredivider_tb
// Project Name: 
// Target Devices: 
// Tool Versions: 
// Description: 
// 
// Dependencies: 
// 
// Revision:
// Revision 0.01 - File Created
// Additional Comments:
// 
//////////////////////////////////////////////////////////////////////////////////
module Fredivider_tb(
    );  
      
    reg sys_rst_n;
    reg sys_clk ;
    wire led;
    
    initial 
    begin
       sys_rst_n = 0;
        sys_clk = 0;
        #40 sys_rst_n = 1'b1;
    end
    
     always #20 sys_clk <= ~sys_clk;
     
     FreDivider m_FreDivider(sys_clk,sys_rst_n,led);
    
endmodule

写好后软件会自动加载待测试模块

blob.png

如果测试程序有错误,则软件会提示,如下图中红色部分。此时检查测试程序,并修改错误的地方即可。

blob.png

3.仿真。

Vivado本身自带有仿真器,也可以用第三方仿真器,需要再Similation Settings中设置,此处选择其自带的仿真器。

blob.png

Vidao提供多种仿真,有行为仿真,综合后功能仿真和时序仿真,实现后功能仿真和时序仿真。此处现在行为仿真。

blob.png

blob.png

红色框1中仿真开始停止按钮,可以设置仿真时间,红色框2中仿真的模块,红色框3中则对应于2中的相关信号,红色框4是添加的波形信号。此处选择仿真5ms。结果如下图所示:

blob.png