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用起来,然后组长不想做,老员工也不想做,分配任务就这么分配给我了,很荣幸接锅,摸索了几天,了解了一些基本配置,深一点的玩法可能还得实践一段时间,这里对于 ...
随机推荐
- sonarqube C# 单元测试覆盖率一栏总是0%解决办法
一.什么叫单元测试(unit testing)? 是指对软件中的最小可测试单元进行检查和验证.对于单元测试中单元的含义,一般来说,要根据实际情况去判定其具体含义,如C语言中单元指一个函 数,Java里 ...
- APScheduler(python 定时任务框架)最简单使用教程
有时候需要部署一些很简单的python定时任务,使用APScheduler是很好的选择.只需要简单的设置几个参数,就可以实现定时.定分甚至秒来跑. 第一步:用pip安装APScheduler pip ...
- Sentry 监控 - Distributed Tracing 分布式跟踪
系列 1 分钟快速使用 Docker 上手最新版 Sentry-CLI - 创建版本 快速使用 Docker 上手 Sentry-CLI - 30 秒上手 Source Maps Sentry For ...
- JavaWeb#JSP内置对象
[1.JSP内置对象简介] 内置对象:不加声明就可以在JSP页面脚本中使用的成员变量.(使用这些对象可以更容易收集客户端发送的请求信息,响应客户端的请求及存储客户信息.) 主要介绍:out,reque ...
- 11204备库升级PSU
某系统PSU为11.2.0.4.190115,备库打补丁20年10月份(31537677)由readme可知:1.要求OPatch要求为11.2.0.3.23或之后的版本.2.非rac环境打补丁需要关 ...
- 2021.2.23--vj补题
B - B CodeForces - 699B 题目: You are given a description of a depot. It is a rectangular checkered fi ...
- Flask 易错点
1.With上下文管理器 常用: with open("file_name","wb") as f: f.write("hello flask&quo ...
- ORB_SLAM3 -- 配置安装
安装环境 Ubuntu20.04 ORB_SLAM3依赖项安装 opencv3 ORB_SLAM3可用opencv3或opencv4编译,作者这里安装测试了opencv3 Step1: 安装openc ...
- 基于websocket实现的一个简单的聊天室
本文是基于websocket写的一个简单的聊天室的例子,可以实现简单的群聊和私聊.是基于websocket的注解方式编写的.(有一个小的缺陷,如果用户名是中文,会乱码,不知如何处理,如有人知道,请告知 ...
- Gitlab-CI使用及.gitlab-ci.yml配置入门一篇就够了
转载:Gitlab-CI使用及.gitlab-ci.yml配置入门一篇就够了 - 简书 (jianshu.com) 一. Gitlab-CI/CD使用场景 首先,公司使用Gitlab作为工作仓库进行代 ...