2021年11月15日

00 安装包/版本

我是提前在网上下好的(但这一点也给我的实验造成了“麻烦”),用的是Modelsim SE-64 2020.4版本的,学校实验室的似乎不同。但最终没有太大影响。

01 配置环境步骤

学校有一个文档,在机房电脑照做就行。我因为是自己下载的,配置与机房软件有所不同,所以又平添了很多麻烦。

01-0 verilog文件

这个代码可以在很多地方编写:Visual Studio Code里有Verilog的插件;还可以有更强大的语言编辑器:Nodepad++。

这里我使用的是Nodepad++,因为看上去专业一点。

Nodepad++的页面效果如图:

其实第一次上机,老师会给大家示例文件(包括设计代码与测试代码),跑出来示例波形就行。

01-1 具体步骤

  1. 新建一个用于安放project的文档,放在哪里都行。

    把前面做出的.v文件添加到这个文档。

    留意一下路径。

  2. 打开modelsim,在jumpstart中create a new project。

  3. 在弹出的提示框里browse,找到刚才的文件夹。选中。

    填写project 名,注意要与.v文件里的module名保持一致。点击ok。

  4. 进入页面后会是这样子:

    注意此处两个文件后面应当都有问号,代表没有编译。先逐个右击文件add to this project确保加入。

  5. 在上方提示栏中complie->compile all。

    稍等些许会看到文件后问号全部变为对勾,表示代码编译通过,没有问题。

    如果此步出错则代表代码有bug。在下面的Transcript中上翻查找错误。

  6. 点击上方Simulate->start simulation。

    由于注意与实验室不同的,选中下面的Enable optimization,再在右侧Optimization Options中的Visibility中选中Apply full visibility....

  7. 接着在work里找到测试代码的文件,选中。

  8. 在弹出页面中的Object栏目(此处会有测试代码中设置的一些变量)中右击空白处,add to ->wave ->Signals in Region.

  9. 可见最右侧wave模块中出现这几个变量。

  10. 点击上方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仿真新手入门最详细教程的更多相关文章

  1. SpringBoot(1)-新手入门(详细教程+理解)

    前话:很多人刚学java没多久就开始学springboot,毕竟springboot屏蔽了很多框架的配置,导致搭建一个项目变得比以前简单很多.但建议还是先把基础的框架都熟悉一遍,再用springboo ...

  2. discuz插件开发新手入门 超详细

    作为一个新手,目前也是刚刚玩转discuz的插件功能,好东西不敢独享,就拿出来大家一起分享入门的过程.现在网上很多关于discuz的插件教程都是很简单的教程,原因可能是这个东西是商业化的东西,本着分享 ...

  3. c++ 网络编程课设入门超详细教程 ---目录

    原文作者:aircraft 原文链接:https://www.cnblogs.com/DOMLX/p/9663167.html c++ 网络编程(一)TCP/UDP windows/linux 下入门 ...

  4. 最适合新手入门的SpringCloud教程 6—Ribbon负载均衡「F版本」

    SpringCloud版本:Finchley.SR2 SpringBoot版本:2.0.3.RELEASE 源码地址:https://gitee.com/bingqilinpeishenme/Java ...

  5. SpringBoot入门最详细教程

    monkey01 关注 2017.08.08 13:36* 字数 1479 阅读 34248评论 0喜欢 15 网上有很多springboot的入门教程,自己也因为项目要使用springboot,所以 ...

  6. 利用python 数据分析入门,详细教程,教小白快速入门

    这是一篇的数据的分析的典型案列,本人也是经历一次从无到有的过程,倍感珍惜,所以将其详细的记录下来,用来帮助后来者快速入门,,希望你能看到最后! 需求:对obo文件进行解析,输出为json字典格式 数据 ...

  7. burp suite 基础入门超详细教程

    介绍: 都是我个人了解到的信息,,分享给大家 欢迎指正 burp suite 被誉为web安全工具中的瑞士军刀. 大家知道,瑞士军刀,都是体积小,功能强悍,.西方军队的标配.说这么多,只是想强调这款工 ...

  8. sqlmap基础入门超详细教程

    前言: 总算进入了自己喜欢的行业. 要时刻记得当初自己说过的话, 不忘初心. Come on! 资料: 感谢超哥分享的干货..  sqlmap干货点击直达 学习环境: 本次学习使用的是kali集成的s ...

  9. 前端错误监控,sentry入门配置详细教程

    一.前言 最近经理说要把公司项目结合sentry用起来,然后组长不想做,老员工也不想做,分配任务就这么分配给我了,很荣幸接锅,摸索了几天,了解了一些基本配置,深一点的玩法可能还得实践一段时间,这里对于 ...

随机推荐

  1. P4451-[国家集训队]整数的lqp拆分【生成函数,特征方程】

    正题 题目链接:https://www.luogu.com.cn/problem/P4451 题目大意 给出\(n\),对于所有满足\(\sum_{i=1}^ma_i=n\)且\(\forall a_ ...

  2. 深入浅出WPF-04.x名称空间详解

    x名称空间详解 几个需要特别说明的名称空间: x:Class 用来标记XAML和后台代码之间的合并关系.x:Class根节点的类型必须和x:Class值指向的类型保持一致.x:Class的值指向的类型 ...

  3. java SE(未完结)

    数据类型与运算符 数据类型 基础数据类型 数值型 正整型 byte short int long 结尾加(l/L) 浮点型 float 结尾加(f/F) double 字符型 char 只能存储一个字 ...

  4. JDK源码阅读(4):HashMap类阅读笔记

    HashMap public class HashMap<K, V> extends AbstractMap<K, V> implements Map<K, V>, ...

  5. IPtable防火墙概念介绍

    1.iptables安全优化 1.不配外网,做代理转发或者防火墙映射 2.并发过大,不建议开启防火墙 2.防火墙的工作流程: 按照配置规则的顺序自上而下,从前到后进行过滤 如果匹配上新规则,表明是阻止 ...

  6. 我在阿里巴巴做 Serverless 云开发平台

    技术的成熟度源自大规模的实践,Java 领域,阿里将自身的实践源源不断的反哺给微服务技术体系:Node.js 领域,阿里正掀起了前所未有的前端革命浪潮,将实践反哺给 Serverless技术体系,并逐 ...

  7. 小白自制Linux开发板 番外篇 一 modprobe加载驱动问题(转载整理)

    使用modprobe加载驱动 转载地址:https://blog.csdn.net/qq_39101111/article/details/78773362 前面我们提到,modprobe并不需要指定 ...

  8. Markdown Syntax Images

    Markdown Syntax Images Admittedly, it's fairly difficult to devise a "natural" syntax for ...

  9. 爬虫逆向基础,理解 JavaScript 模块化编程 webpack

    关注微信公众号:K哥爬虫,QQ交流群:808574309,持续分享爬虫进阶.JS/安卓逆向等技术干货! 简介 在分析一些站点的 JavaScript 代码时,比较简单的代码,函数通常都是一个一个的,例 ...

  10. 【UE4 C++ 基础知识】<11>资源的同步加载与异步加载

    同步加载 同步加载会造成进程阻塞. FObjectFinder / FClassFinder 在构造函数加载 ConstructorHelpers::FObjectFinder Constructor ...