使用Modelsim进行简单仿真
这里记载一下使用modelsim进行简单的仿真,方便以后使用的时候进行查看。所谓的简单的仿真,就是没有IP核、只用图形界面不用tcl脚本进行的仿真。简单的仿真步骤为:
1、改变路径到工作环境下的路径下面,创建工程。
2、添加仿真的源文件(.v文件等)。
3、编译源文件。
4、启动仿真,添加仿真信号。
5、调试、查看仿真波形。
这里就使用一个简单的例子——8分频电路,进行演示和讲解:
1、改变路径到工作环境下的路径下面,创建工程:
①打开modelsim后如果有工程,则先关掉工程:
关掉工程:
②改变工作路径:
③创建工程
OK之后,在当前的工作目录下面就创建了一个“work”的文件夹,这也就是物理库:
2、添加仿真源文件
或者右击空白处:
然后进行选择添加:
3、编译源文件
或者:
编译成功后:
如果编译不成功的,根据提示的信息,进行修改代码,然后对不成功的模块进行部分编译:
(如果modelsim看到的中文是乱码,那么可以在编辑器中进行模式转换,如从ASC转换成xxx编码模式),然后修改再编译(注意,所有的目录都应该放在英文路径中)。
4、启动仿真,添加仿真信号。
①切换到库选项卡,点开work,启动仿真
在信息栏上面有两个选项卡:library和project两个选项卡,编译完之后,文件被编译到work目录下(library上面有work的选项,点开可以看到设计和仿真的.v文件),work文件夹里面包含此次工程编译库的信息;用modelsim打开的是.mpf
文件,也就是.mpf是modelsim的工程文件。
右击tb文件(如下图所示),选中测试模块的文件,右击,选择第二个simulation without optimistic(不进行优化代码再仿真,因为优化代码可能会把一些信号给优化掉),然后就启动了仿真:
②进行添加仿真信号
启动仿真后,信息栏上面的选项卡会增加一个选项:sim;也就是总共有三个选项卡在信息栏上面(Library,project,sim)在sim选项中,左边是模块的整体结构;右击例化的设计文件,选择 ADD wire,就可以添加信号到波形窗口
然后就弹出了波形窗口:
5、调试、查看仿真波形。
①点击运行
就可以看到波形了:
Run是每点击一次运行固定的时间(如100ns);
Continuerun是一直运行,直到点击break,点击break后显示波形;
runall是运行所有,直到点击break,点击break后显示波形。
②看波形,发现不对;修改代码后,需要在project区进行重新编译,然后回到sim区,点击重新开始,然后根据①的步骤就可以继续完成简单的仿真工作了。
注:添加仿真信号可以直接把信号拖到波形窗口区:
然后可以调试查看波形。关于其他调试、查看波形的技巧,以后学习了、用到了再进行记录。
使用Modelsim进行简单仿真的更多相关文章
- 基于modelsim-SE的简单仿真流程—下
基于modelsim-SE的简单仿真流程—下 编译 在 WorkSpace 窗口的 counter_tst.v上点击右键,如果选择Compile selected 则编译选中的文件,Compile A ...
- 基于modelsim-SE的简单仿真流程—上
基于modelsim-SE的简单仿真流程 编写RTL功能代码 要进行功能仿真,首先得用需要仿真的模块,也就是RTL功能代码,简称待测试的模块,该模块也就是在设计下载到FPGA的电路.一个电路模块想要有 ...
- 通过文件读写方式实现Matlab和Modelsim的联合仿真
虽然Modelsim的功能非常强大,仿真的波形可以以多种形式进行显示,但是当涉及到数字信号处理的算法的仿真验证的时候,则显得有点不足.而进行数字信号处理是Matlab的强项,不但有大量的关于数字信号处 ...
- vivado和modelsim联合调试仿真
vivado和modelsim联合调试仿真 0赞 发表于 2017/5/10 19:10:59 阅读(881) 评论(0) 使用vivado和modelsim联合调试仿真时,在破解完modelsim后 ...
- Modelsim SE自动化仿真——如何将.do文件中自定义的库链接到testbench顶层模块
我们用Modelsim SE进行仿真时,为了方便,一般会编写.do文件来启动当前仿真.关于.do文件的编写,一般网上都有成型的模板,我们只要稍微改几个参数,就可以符合我们的仿真需求了.但是如果仿真时需 ...
- 用Modelsim SE 直接仿真 Altera(Intel PSG) IP核 需要注意的问题
如果我们直接用Modelsim SE仿真 Altera IP核,首先会进入Quartus II目录下找到IP核对应的仿真库源文件,然后在Modelsim SE中进行编译,添加到Modelsim SE的 ...
- vivado与modelsim的联合仿真(二)
最近在做Zynq的项目,曾经尝试使用ISE+PlanAhead+XPS+SDK组合和Vivado+SDK来搭建工程,使用中发现前者及其不方便后者有诸多不稳定.近期得闻Xilinx退出Vivado20 ...
- Xilinx ISE如何调用Modelsim进行联合仿真
图: 在对设计的芯片进行测试时,经常要用到FPGA,可是里面的仿真工具却不如Modelsim那么好用,且在规模比较大时,ISE在仿真时,软件经常会报告内存限制的问题,此时一般会切换到Modelsim软 ...
- 怎样用modelsim做后仿真
摘要: 怎样用modelsim做后仿(编译工具采用quatus) step1:在qurtus改变编译选项: assignments->EDA tool setting:选择verilog ...
随机推荐
- Myeclipse中隐藏jar包
在package explorer的右上角有一个向下的小三角 点击选择Filter 在打开的对话框中 第一个选框中打上对勾 文字框中填上 *.jar 然后点击OK就行了 多个隐藏内容之间用逗号隔开 如 ...
- MySQL数据库web维护客户端管理工具
TreeSoft数据库管理系统使用JAVA开发,采用稳定通用的springMVC +JDBC架构,实现基于WEB方式对 MySQL,Oracle,PostgreSQL 等数据库进行维护管理操作. 功能 ...
- ISO文件:AMD64和i386的区别
下载kali系统时,出现两个选项:ADM64和i386,那么这两者的区别是什么? i386=Intel 80386.其实i386通常被用来作为对Intel(英特尔)32位微处理器的统称. AMD6 ...
- [原]浅谈vue过渡动画,简单易懂
在vue中什么是动画 开始先啰嗦一下,动画的解释(自我理解
- 搭建带热更新功能的本地开发node server
引言 使用webpack有一段时间了,对其中的热更新的大概理解是:对某个模块做了修改,页面只做局部更新而不需要刷新整个页面来进行更新.这样就能节省因为整个页面刷新所产生开销的时间,模块热加载加快了开发 ...
- 按enter 进行搜索 enter提交表单
//按enter 进行搜索 document.onkeydown = function(e){ var ev = document.all ? window.event : e; if(ev.keyC ...
- 安装Dubbo管理控制台
样例参考视频:http://www.roncoo.com/course/view/f614343765bc4aac8597c6d8b38f06fd Dubbo管控台可以对注册到zookeeper注册中 ...
- Swift 路由机制设计
设计模式 APP设计模式多种多样,从最初的MVC到MVVM,再到MVP,VIPER等.越来越多的设计模式被开发出来并得以应用,但不论我们用到哪种设计模式,只需要记住高内聚.低耦合那边是好的设计模式.在 ...
- MySQL基础语法命令
1. 建表 创建MySQL数据表需要以下信息: 表名 表字段名 定义每个表字段 通用语法: CREATE TABLE table_name (column_name column_type); 实例: ...
- TCP长连接与短连接的原理及区别
一.当网络通信时采用TCP协议时: 1.过程: 第一步:(在真正的读写操作之前)Server 和Client 之间必须建立一个连接,连接的建立需要三次握手 经典的三次握手示意图: 第二步:进行读写操 ...