当前位置:   article > 正文

基于modelsim的自动仿真环境(tequan)_bat文件访问modelsim

bat文件访问modelsim

1、环境变量中path路径确认

modelsim软件的安装路径。

2、bat文件

基于windows的可执行文件,运行它便可以调用可执行的程序

3、do文件

modelsim中可以运行的文件,可以对testbench和设计文件以及想编译的库文件都加入do文件。然后modelsim对这些加进来的文件进行仿真。

4、testbench和设计文件

5、运行自动测试

例子:下载例程提供的文件夹 simulation,它里面有三个文件。其中 design 里面是设计文件。testbench 里面是测试文件。而 run_simulation.bat 是批处理文件,可以在里面写脚本,自动调用文件。

6、用 notepad++ 打开 run simulation 可以查看代码,双击 run simulation 可以打开运行窗口。解释一下脚本的意思:①、title FPGA Auto Simulation batch script 设置窗口显示的名字 ②、echo ModelSim simulation 第一行内容  ③、echo.  空一行  ④、echo Press '1' to start simulation 显示的内容  ⑤、代码片段1,如果输入为 1 ,则跳转到 run1 代码块  ⑥、代码片段2,“vism”的意思: 在系统的环境变量中,如果添加了modelsim的路径,系统就会调用modelsim。然后modelsim执行testbench文件夹里面的compile.do文件。

可以通过这种方式查看系统是否添加了环境变量

7、compile.do里面的文件

 vlog 语句是编译语句。.. 两个圆点表示上一级文件。

①、library : 之前已经设置过了,并且把编译过的vivado IP库的文件放到了modelsim中,所以不用再对库进行编译。则用“#”注释,表示不执行。 

#vlog  -work work ../../library/artix7/*.v

②、IP : 如果配置使用的IP生成后,则需要对生成的IP进行编译。

#vlog  -work work ../../../source_code/ROM_IP/rom_controller.v

③、SourceCode :  对源码进行编译

vlog  -work work ../design/vlg_design.v

  1. `timescale 1ns/1ps
  2. module vlg_design(
  3. input clk,
  4. input rst_n,
  5. input a,b,
  6. output reg c
  7. );
  8. always @(posedge clk or negedge rst_n)
  9. if(!rst_n) c <= 1'b0;
  10. else c <= a & b;
  11. endmodule

 

④、Testbench : 对测试文件进行编译

vlog  -work work testbench_top.v 

  1. `timescale 1ns/1ps
  2. module testbench_top();
  3. //参数定义
  4. `define CLK_PERIORD 10 //时钟周期设置为10ns(100MHz)
  5. //接口申明
  6. reg clk;reg rst_n;reg a;reg b;
  7. wire c;
  8. //对被测试的设计进行例化
  9. vlg_design uut_vlg_design(
  10. .clk(clk),.rst_n(rst_n),.a(a),.b(b),.c(c)
  11. );
  12. //时钟和复位初始化、复位产生
  13. initial begin
  14. clk <= 0;rst_n <= 0;#1000;rst_n <= 1;
  15. end
  16. //时钟产生
  17. always #(`CLK_PERIORD/2) clk = ~clk;
  18. //测试激励产生
  19. initial begin
  20. a <= 0;
  21. b <= 0;
  22. @(posedge rst_n); //等待复位完成
  23. @(posedge clk);a <= 0;b <= 0;
  24. @(posedge clk);a <= 1;b <= 0;
  25. @(posedge clk);a <= 0;b <= 1;
  26. @(posedge clk);a <= 1;b <= 1;
  27. @(posedge clk);a <= 0;b <= 0;
  28. repeat(10) begin
  29. @(posedge clk);
  30. end
  31. $stop;
  32. end
  33. endmodule

 

⑤、把testbench_top文件添加到modelsim的work文件夹,然后对其仿真。

vsim -voptargs=+acc work.testbench_top

⑥、Add wave : 运行 wave.do 文件,即添加波形。

do wave.do

notepad里面的语句意思是,testbench_top模块中的reg、wire或者其他类型的变量都会添加到波形。

8、双击 run_simulation.bat 文件。输入“1”,然后回车,开始运行。弹出窗口 “Start Simulation ”,与此同时,调用了modelsim软件进行仿真。

9、点击 “Run-All” 才会产生波形。

10、产生波形后,点击 “Zoom Full”,便可以把波形展开。按住“CTRL”键,然后滚动鼠标滚轮,可以调节波形大小。

 

11、至此,仿真平台建立完毕。 

 

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Monodyee/article/detail/597937
推荐阅读
相关标签
  

闽ICP备14008679号