Modelsim仿真新手入门最详细教程
2021年11月15日
00 安装包/版本
我是提前在网上下好的(但这一点也给我的实验造成了“麻烦”),用的是Modelsim SE-64 2020.4版本的,学校实验室的似乎不同。但最终没有太大影响。
01 配置环境步骤
学校有一个文档,在机房电脑照做就行。我因为是自己下载的,配置与机房软件有所不同,所以又平添了很多麻烦。
01-0 verilog文件
这个代码可以在很多地方编写:Visual Studio Code里有Verilog的插件;还可以有更强大的语言编辑器:Nodepad++。
这里我使用的是Nodepad++,因为看上去专业一点。
Nodepad++的页面效果如图:
其实第一次上机,老师会给大家示例文件(包括设计代码与测试代码),跑出来示例波形就行。
01-1 具体步骤
新建一个用于安放project的文档,放在哪里都行。
把前面做出的.v文件添加到这个文档。
留意一下路径。
打开modelsim,在jumpstart中create a new project。
在弹出的提示框里browse,找到刚才的文件夹。选中。
填写project 名,注意要与.v文件里的module名保持一致。点击ok。
进入页面后会是这样子:
注意此处两个文件后面应当都有问号,代表没有编译。先逐个右击文件add to this project确保加入。
在上方提示栏中complie->compile all。
稍等些许会看到文件后问号全部变为对勾,表示代码编译通过,没有问题。
如果此步出错则代表代码有bug。在下面的Transcript中上翻查找错误。
点击上方Simulate->start simulation。
由于注意与实验室不同的,选中下面的Enable optimization,再在右侧Optimization Options中的Visibility中选中Apply full visibility....
接着在work里找到测试代码的文件,选中。
在弹出页面中的Object栏目(此处会有测试代码中设置的一些变量)中右击空白处,add to ->wave ->Signals in Region.
可见最右侧wave模块中出现这几个变量。
点击上方simulate -> run -> run all。即可出现波形图。
10 问题解决
这里记录一下配置过程中遇到的一些问题及其解决。
10-0 与nodepad++绑定
网上的办法是在控制面板中直接输入
proc external_editor {filename linenumber} { exec "I:/notepad++/notepad++.exe" $filename }
回车后
set PrefSource(altEditor) external_editor
其实也可以在创建的那个文件夹里,选中.v文件,右击打开方式,找到nodepad++并设为默认即可。
10-1 modelsim 仿真后object区没有变量
解决方案上面提到了。
就是在点击仿真后弹出的窗口中,选中Enable optimization,再在右侧Optimization Options中的Visibility中选中Apply full visibility....
即可解决。
Modelsim仿真新手入门最详细教程的更多相关文章
- SpringBoot(1)-新手入门(详细教程+理解)
前话:很多人刚学java没多久就开始学springboot,毕竟springboot屏蔽了很多框架的配置,导致搭建一个项目变得比以前简单很多.但建议还是先把基础的框架都熟悉一遍,再用springboo ...
- discuz插件开发新手入门 超详细
作为一个新手,目前也是刚刚玩转discuz的插件功能,好东西不敢独享,就拿出来大家一起分享入门的过程.现在网上很多关于discuz的插件教程都是很简单的教程,原因可能是这个东西是商业化的东西,本着分享 ...
- c++ 网络编程课设入门超详细教程 ---目录
原文作者:aircraft 原文链接:https://www.cnblogs.com/DOMLX/p/9663167.html c++ 网络编程(一)TCP/UDP windows/linux 下入门 ...
- 最适合新手入门的SpringCloud教程 6—Ribbon负载均衡「F版本」
SpringCloud版本:Finchley.SR2 SpringBoot版本:2.0.3.RELEASE 源码地址:https://gitee.com/bingqilinpeishenme/Java ...
- SpringBoot入门最详细教程
monkey01 关注 2017.08.08 13:36* 字数 1479 阅读 34248评论 0喜欢 15 网上有很多springboot的入门教程,自己也因为项目要使用springboot,所以 ...
- 利用python 数据分析入门,详细教程,教小白快速入门
这是一篇的数据的分析的典型案列,本人也是经历一次从无到有的过程,倍感珍惜,所以将其详细的记录下来,用来帮助后来者快速入门,,希望你能看到最后! 需求:对obo文件进行解析,输出为json字典格式 数据 ...
- burp suite 基础入门超详细教程
介绍: 都是我个人了解到的信息,,分享给大家 欢迎指正 burp suite 被誉为web安全工具中的瑞士军刀. 大家知道,瑞士军刀,都是体积小,功能强悍,.西方军队的标配.说这么多,只是想强调这款工 ...
- sqlmap基础入门超详细教程
前言: 总算进入了自己喜欢的行业. 要时刻记得当初自己说过的话, 不忘初心. Come on! 资料: 感谢超哥分享的干货.. sqlmap干货点击直达 学习环境: 本次学习使用的是kali集成的s ...
- 前端错误监控,sentry入门配置详细教程
一.前言 最近经理说要把公司项目结合sentry用起来,然后组长不想做,老员工也不想做,分配任务就这么分配给我了,很荣幸接锅,摸索了几天,了解了一些基本配置,深一点的玩法可能还得实践一段时间,这里对于 ...
随机推荐
- Python3入门系列之-----json与字典转换
json JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,易于人阅读和编写 JSON 函数 使用 JSON 函数需要导入 json 库:import js ...
- Excel备忘录
1. 导入文本文件(.txt) 2. 排序 3. 批量填充空白 选定区域,Ctrl+G,定位,空值. 输入内容,Ctrl+Enter. 4. 清除无法修改的背景色. 5. 身份证号 数字精度为15位, ...
- mysql从零开始之MySQL 删除数据库
MySQL 删除数据库 使用普通用户登陆 MySQL 服务器,你可能需要特定的权限来创建或者删除 MySQL 数据库,所以我们这边使用 root 用户登录,root 用户拥有最高权限. 在删除数据库过 ...
- mysql8.0.20安装教程,mysql下载安装教程8.0.20
mysql8.0.20下载安装教程 mysql8.0.20安装教程 mysql安装包+mysql学习视频+mysql面试指南视频教程 下载地址: 链接:https://pan.baidu.com/s ...
- openGauss X ShardingSphere,分布式方案的另一种最佳实践
Apache ShardingSphere 持续助力于 openGauss 分布式数据库能力的构建.openGauss 数据库自 2020 年 6 月开源以来,受到了业界的广泛关注,现已吸引众多伙伴. ...
- javascriptRemke之深入迭代
javascriptRemke之深入迭代 前言:"迭代"意为按照顺序反复多次执行一段程序,ECMAscript6中新增了两个高级特性:迭代器与生成器,使用这两个特性能更高效地实现迭 ...
- 关于web项目中的资源跳转
1.跳转包括两种方式: 转发 forward 重定向 redirect 2.两种方式的代码: AServlet类: //向request范围中存储数据 request.setAttribute(&qu ...
- cf1082D Maximum Diameter Graph(构造+模拟+细节)
QWQ不得不说 \(cf\)的\(edu\ round\)出这种东西 有点太恶心了 题目大意:给你\(n\)个点,告诉你每个点的最大度数值(也就是说你的度数要小于等于这个),让你构造一个无向图,使其满 ...
- bzoj2064分裂(dp)
题目大意: 给定一个初始集合和目标集合,有两种操作:1.合并集合中的两个元素,新元素为两个元素之和 2.分裂集合中的一个元素,得到的两个新元素之和等于原先的元素.要求用最小步数使初始集合变为目标集合, ...
- CTF入门记录(1
(https://ctf-wiki.org) 00 基础了解 CTF简介 (wolai.com) 00-1 CTF题目类型 Web 大部分情况下和网.Web.HTTP等相关技能有关. Web攻防的一些 ...