特权同学

勇敢的芯伴你玩转Altera FPGA连载45:基于仿真的第一个工程实例之测试脚本创建与编辑

0
阅读(1355)

勇敢的芯伴你玩转Altera FPGA连载45:基于仿真的第一个工程实例之测试脚本创建与编辑

特权同学,版权所有

配套例程和更多资料下载链接:

http://pan.baidu.com/s/1i5LMUUD

1.jpg

 

回到Quartus II工具中,如图6.13所示,点击菜单栏的“ProcessingàStartàStart Test Bench Template Writer”,随后弹出提示“Test Bench Template Writer was successful”(在此之前,最好对整个工程做一次全编译,否则可能报错),那么我们就已经创建了一个Verilog测试脚本,在此脚本中,我们可以设计一些测试激励输入并且观察相应输出,借此我们就能够验证原工程的设计代码是否符合要求。

2.jpg

图6.13 生成测试脚本

         我们打开工程所在文件夹下的“…/simulation/modelsim”文件夹,如图6.14所示,可以看到一个名为cy4.vt的测试脚本文件创建好了。

3.jpg

图6.14 测试脚本文件

         测试脚本文件在Notepad++中打开了。这里的测试脚本只是一个基本的模板,它把设计文件cy4.v的接口在这个模块里面例化申明了,我们还需要自动动手添加复位和时钟的激励,编辑好的测试脚本如下所示。

`timescale 1 ns/ 1 ps

module cy4_vlg_tst();

 

// test vector input registers

reg ext_clk_25m;

reg ext_rst_n;

 

// wires                                              

wire clk_12m5;

 

// assign statements (if any)                          

cy4 i1 (

// port map - connection between master ports and signals/registers  

    .clk_12m5(clk_12m5),

    .ext_clk_25m(ext_clk_25m),

    .ext_rst_n(ext_rst_n)

);

 

    initial begin

        // Initialize Inputs

        ext_clk_25m = 0;

        ext_rst_n = 0;

 

        // Wait 100 ns for global reset to finish

        #100;

        ext_rst_n = 1;       

        // Add stimulus here

        #2000;

        $stop;

    end

     

    always #20 ext_clk_25m = ~ext_clk_25m; //产生25MHz时钟源 

                                                 

endmodule

         有朋友可能是第一次接触测试仿真,关于仿真的基本概念请查看《FPGA设计实战演练(逻辑篇)》第九章的设计仿真部分内容。

 

 

 

 

 


Baidu
map