FPGA学习---Modelsim自动仿真

       FPGA中的Modelsim自动仿真,就是在Quartus II 软件中调用Modelsim软件进行仿真。用流水灯的工程演示一下自动仿真步骤。

     首先打开led工程。

编译工程

代码没有错误,下面就可以生成仿真文件了。

工具栏中选择 Tools --- Options

打开的Options选项中选择 EDA Tool Options,然后在右边ModelSim的右边添加仿真软件的按照路径。

然后点击OK按钮,退出设置。

工具栏中选择 Assignments---Settings

在打开的设置对话框中选中左边的 EDA Tool Settings,在右边的选择Simulation的仿真工具为ModelSim,代码格式为 Verilog HDL。选择完成后点底下的OK按钮。

 

在工具栏中选择 Processing---Start---Start Test Bench Template Writer

这时软件最下方,信息提示栏会显示,测试文件led.vt已经生成。

这时候在led工程目录中就能看见生成的测试文件。文件在 led\par\simulation\modelsim文件夹中

为了方便区分哪个是测试文件,将文件重命名一下,将 led.vt 改成 led_tb.vt,给文件名后面加上 _tb,代表这是测试文件。

将修改后问led_tb.vt文件直接拖动到Quartus II软件中打开

打开文件后,文件里面已经有软件自动生成的测试代码了。不过这个代码不能直接用,还需要自己修改一下。

首先修改一下时钟和文件名,然后将里面没用的代码删除。

下来编写测试文件

        在初始化中设置系统时钟和复位默认值都为0,然后延时100个时钟周期,再讲复位信号拉高。always 语句用于产生系统时钟,由于系统是50MHz,时钟为20ns,所以always语句,每隔10ns对系统时钟取一次反。

       测试文件就编写好了,下来编译一下测试文件。

点三角形上面带对勾的那个按钮,开始编译当前测试文件。

编译完成后,会显示代码的错误和警告数量,没有错误的话就可以添加测试文件了。

工具栏中选择 Assignments----Settings 

在打开的设置界面中选择 EDA Tool Settings ---- Simulation 

下来选中Compile test bench,然后点击后面的Test bench 按钮,准备添加测试文件。

在打开的界面上选择右边的New按钮,准备添加新文件

在打开的对话框中 Test bench name 后面输入测试文件名 led_tb,这时候第二行也会自动填写上led_tb。

然后点File name后面 三个点的按钮,添加测试文件。

选择 \led\par\simulation\modelsim下的led_tb.vt文件。点open按钮。

这时候测试文件路径就被添加到File name 后面,然后点Add按钮,添加文件。

这时刚才选择的测试文件路径就会被添加到下面的列表中。

然后点OK按钮,这时会弹出一个确定界面。

直接点OK按钮,这时就会返回到设置界面。

测试文件已经被添加进去了,然后点底下的Apply按钮,在点OK按钮。

这时就可以使用自动仿真功能了。

点工具栏中的 Tools -- Run Simulation Tool -- RTL Simulation  

这时就会自动打开仿真界面,默认情况下看不到波形显示界面。

在信息提示框中会打印出测试文件中编写的字符串。说明测试文件系统启动成功。

如果要显示波形时,将鼠标停留在任务栏时,会显示出波形显示界面的缩略图。用鼠标选中右边的波形显示界面。

切换到波形显示界面后,看不到任何波形,这时要点一下红色的stop按钮,停止仿真。

停止仿真后就可以看见波形了

默认情况下波形显示的比较大,看不清楚,需要点缩小按钮,将波形缩小到能看清为止。可以将led波形前面的加号点一下,展开led的波形,就能看到四个led的波形变化。

如果感觉显示的名称比较长的话,在工具栏中选择 Format ---- Toggle leaf Names,这样就可以隐藏名称的路径。

这样就只显示信号名称,不显示路径。看起来就会比较清晰。

默认情况下仿真会一直进行,除非点停止按钮才会停止仿真。如果想要仿真运行指定时间后自动停止。可以在仿真时间设置框中直接填写要运行时长。

比如想要运行10us后停止运行,直接输入10us。

点复位按钮

在出现对话框中直接点OK按钮,这时候波形显示区域就会全部变成空白,也是就是全部为黑色。

下面点开始运行按钮

这时软件运行10us后,就会自动停止。

如果想要显示其他波形的话,在信号设置界面上选中要添加的波形,然后单击鼠标右键,选择Add Wave

在波形显示界面就会看到添加的信号,但是此时后面是没有波形显示的。需要先复位一次,然后重新运行。

复位之后重新运行一次,这时就能看到新添加信号的波形了。

关于如何新建工程参考  FPGA学习---Quartus II新建工程