Modelsim仿真操作指导

目录

一、前言

二、仿真分类

三、RTL级仿真

 3.1创建库

3.2 仿真配置设置

3.3 运行仿真 

四、常见问题

4.1 # Error loading design

4.2 运行仿真时报错“can't read "Startup(-L)": no such element in array”

4.3运行仿真时无任何报错,但object窗口为空,可正常运行仿真,如执行命令run -all 但没有波形


一、前言

        目前网上较多的是使用ISE如vivado配合vivado进行仿真操作,本文将演示直接使用modelsim进行仿真,需要提供的是工程源文件和测试文件

二、仿真分类

        根据使用不同仿真阶段的源文件进行仿真,可划分为RTL仿真,综合后仿真,时序仿真。

RTL是根据.v源文件中verilog描述的功能进行仿真,是寄存器传送级的描述进行测试,验证功能的正确性,综合后仿真为对RTL级描述工程综合后的网表进行仿真,时序仿真是指布局布线后的仿真,并且考虑了布线后的线路时延。

三、RTL级仿真

以一个计数到10后重新计数的计数器工程为例,工程文件为counter1.

3.1创建库

打开modelsim,进入"file->new->library"

Modelsim仿真操作指导_第1张图片

Library Name输入库名,Library Physical Name名称默认相同即可

Modelsim仿真操作指导_第2张图片

创建后可在“Library”中查看到创建的library

Modelsim仿真操作指导_第3张图片

3.2 创建project

进入“File->New->Project” ,弹出如下设计弹框,Project Name自定义名称,Project Location设置创建的工程位置,Default Library Name默认为work,将其修改为上一步设置的library名称,此处为counter_lib,然后点“OK”

Modelsim仿真操作指导_第4张图片

设置完project后会弹出源文件添加的弹框,本例因为事项写好了源文件和测试文件,故选择“Add Existing File”直接添加文件,也可选择“Create New File”进行创建文件后再编写

Modelsim仿真操作指导_第5张图片

同时选择源文件和测试文件进行添加 

Modelsim仿真操作指导_第6张图片

添加成功后如下图所示 

Modelsim仿真操作指导_第7张图片

选中任一文件,鼠标点击右键,选择“compile->compile All”,对添加的文件进行编译,编译成功后status由“?”变为“√”

Modelsim仿真操作指导_第8张图片

3.2 仿真配置设置

任选一个编译后的文件,点击鼠标右键,进入“Add to Project->Simulation Configuration”

Modelsim仿真操作指导_第9张图片

"Simulation Configuration Name"设置配置名称,库文件中如图第一步选择测试文件“counter_tb”,然后点击右下角的“Optimization Options” 

 Modelsim仿真操作指导_第10张图片

 进入"Options","Optimization Level"选择第二个,点击"OK"。

Modelsim仿真操作指导_第11张图片

回到仿真配置界面,再点击“save”

 Modelsim仿真操作指导_第12张图片

3.3 运行仿真 

在project中可看到工程文件下多了一个“simulation_test”的配置文件,可双击该配置文件或点击鼠标右键后选择“Execute”

Modelsim仿真操作指导_第13张图片

 如果没有弹出"Objects"和“wave”窗口,则按下图操作勾选“wave” 和“Objects”

Modelsim仿真操作指导_第14张图片

在“Objects”窗口中 ,选择需要查看的波形,点击鼠标右键,选择“Add to->Wave->Selected Signals”即将需要查看到的波形添加到Wave窗口

Modelsim仿真操作指导_第15张图片

在Wave窗口中,按下图顺序,先点击1执行restart,再点击2执行Run -All运行仿真,此时仿真开始,需要停止仿真点击3,执行stop即停止仿真

Modelsim仿真操作指导_第16张图片

仿真结果波形如下图

Modelsim仿真操作指导_第17张图片

如果想运行指定时长的波形,则可在命令窗口设置,先执行restart,再执行run 100000,此处因测试文件的时间为'timescale 1ns/1ps,因此100000为100000ps

Modelsim仿真操作指导_第18张图片

结果如下图,仿真在100000ps处停止 

Modelsim仿真操作指导_第19张图片

四、常见问题

4.1 # Error loading design

一般报此错误都是仿真文件设计问题,具体原因较多,可以查看具体的信息,此处的错误比较简单。

Modelsim仿真操作指导_第20张图片

解决办法 :按照错误提示“ Port 'ce' not found in module 'FF' (4th connection)”可知端口ce不存在,检查设计的源文件修改即可

4.2 运行仿真时报错“can't read "Startup(-L)": no such element in array”

源文件和测试文件编译成功后,运行仿真报错 

解决办法 :进入到library下,选择测试文件divider_tb

Modelsim仿真操作指导_第21张图片

4.3运行仿真时无任何报错,但object窗口为空,可正常运行仿真,如执行命令run -all 但没有波形

运行打印如下

Modelsim仿真操作指导_第22张图片

 object为空

Modelsim仿真操作指导_第23张图片

 解决办法:

运行仿真时进入“Optimization Options”,选择“Apply full visibility to all modules”即可

Modelsim仿真操作指导_第24张图片

Modelsim仿真操作指导_第25张图片

你可能感兴趣的:(modelsim,fpga开发,verilog,modelsim仿真)