赞
踩
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
- `timescale 1ns/1ps
- module vlg_design(
- input clk,
- input rst_n,
- input a,b,
- output reg c
- );
- always @(posedge clk or negedge rst_n)
- if(!rst_n) c <= 1'b0;
- else c <= a & b;
- endmodule
④、Testbench : 对测试文件进行编译
vlog -work work testbench_top.v
- `timescale 1ns/1ps
- module testbench_top();
- //参数定义
- `define CLK_PERIORD 10 //时钟周期设置为10ns(100MHz)
- //接口申明
- reg clk;reg rst_n;reg a;reg b;
- wire c;
- //对被测试的设计进行例化
- vlg_design uut_vlg_design(
- .clk(clk),.rst_n(rst_n),.a(a),.b(b),.c(c)
- );
- //时钟和复位初始化、复位产生
- initial begin
- clk <= 0;rst_n <= 0;#1000;rst_n <= 1;
- end
-
- //时钟产生
- always #(`CLK_PERIORD/2) clk = ~clk;
- //测试激励产生
- initial begin
- a <= 0;
- b <= 0;
- @(posedge rst_n); //等待复位完成
-
- @(posedge clk);a <= 0;b <= 0;
-
- @(posedge clk);a <= 1;b <= 0;
-
- @(posedge clk);a <= 0;b <= 1;
-
- @(posedge clk);a <= 1;b <= 1;
-
- @(posedge clk);a <= 0;b <= 0;
-
- repeat(10) begin
- @(posedge clk);
- end
-
- $stop;
- end
- 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、至此,仿真平台建立完毕。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。