目录
一、前言
二、仿真分类
三、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"
Library Name输入库名,Library Physical Name名称默认相同即可
创建后可在“Library”中查看到创建的library
3.2 创建project
进入“File->New->Project” ,弹出如下设计弹框,Project Name自定义名称,Project Location设置创建的工程位置,Default Library Name默认为work,将其修改为上一步设置的library名称,此处为counter_lib,然后点“OK”
设置完project后会弹出源文件添加的弹框,本例因为事项写好了源文件和测试文件,故选择“Add Existing File”直接添加文件,也可选择“Create New File”进行创建文件后再编写
同时选择源文件和测试文件进行添加
添加成功后如下图所示
选中任一文件,鼠标点击右键,选择“compile->compile All”,对添加的文件进行编译,编译成功后status由“?”变为“√”
3.2 仿真配置设置
任选一个编译后的文件,点击鼠标右键,进入“Add to Project->Simulation Configuration”
"Simulation Configuration Name"设置配置名称,库文件中如图第一步选择测试文件“counter_tb”,然后点击右下角的“Optimization Options”
进入"Options","Optimization Level"选择第二个,点击"OK"。
回到仿真配置界面,再点击“save”
3.3 运行仿真
在project中可看到工程文件下多了一个“simulation_test”的配置文件,可双击该配置文件或点击鼠标右键后选择“Execute”
如果没有弹出"Objects"和“wave”窗口,则按下图操作勾选“wave” 和“Objects”
在“Objects”窗口中 ,选择需要查看的波形,点击鼠标右键,选择“Add to->Wave->Selected Signals”即将需要查看到的波形添加到Wave窗口
在Wave窗口中,按下图顺序,先点击1执行restart,再点击2执行Run -All运行仿真,此时仿真开始,需要停止仿真点击3,执行stop即停止仿真
仿真结果波形如下图
如果想运行指定时长的波形,则可在命令窗口设置,先执行restart,再执行run 100000,此处因测试文件的时间为'timescale 1ns/1ps,因此100000为100000ps
结果如下图,仿真在100000ps处停止
四、常见问题
4.1 # Error loading design
一般报此错误都是仿真文件设计问题,具体原因较多,可以查看具体的信息,此处的错误比较简单。
解决办法 :按照错误提示“ 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
4.3运行仿真时无任何报错,但object窗口为空,可正常运行仿真,如执行命令run -all 但没有波形
运行打印如下
object为空
解决办法:
运行仿真时进入“Optimization Options”,选择“Apply full visibility to all modules”即可
文章来源:https://www.toymoban.com/news/detail-404713.html
文章来源地址https://www.toymoban.com/news/detail-404713.html
到了这里,关于Modelsim仿真操作指导的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!