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. 深入浅出WPF-11.Template(模板)01

    模板 在WPF中,模板可以分为两大类: 控件模板(ControlTemplate)是算法内容的表现形式,一个控件怎么组织其内部的结构才能让它更符合业务逻辑,让用户操作更舒服,都是由她控制的.它决定了控 ...

  2. github注册教程最新版(十年程序员保姆级教程)

    您可以在墨抒颖的网站体验本文章的纯净版 准备 拥有一个可以接受信息的邮箱即可 开始 点击github官网github step1.进入注册页面 点击Sign Up进入注册流程 step2.输入邮箱 这 ...

  3. oracle dg failover灾难切换

    oracle dg failover灾难切换SQL> alter database recover managed standby database finish force;SQL> a ...

  4. hexo访问优化之--------gulp压缩

    hexo访问优化之--------gulp压缩 hexo生成的博客是静态html页面,当有很多静态资源时,加载速度会非常慢,且github服务器在国外,导致网页加载速度非常差 gulp压缩 gulp是 ...

  5. 题解 SP6779 【GSS7 - Can you answer these queries VII】

    题目传送门 题目大意 给出一个\(n\)个点的树,每个点有权值.有\(m\)次操作,每次要么查询一条链上的最大子段和,要么把一条链的权值都修改为一个常数. \(n,m\le 10^5\) 思路 如果是 ...

  6. 洛谷2151[SDOI2009]HH去散步(dp+矩阵乘法优化)

    一道良好的矩阵乘法优化\(dp\)的题. 首先,一个比较\(naive\)的想法. 我们定义\(dp[i][j]\)表示已经走了\(i\)步,当前在点\(j\)的方案数. 由于题目中限制了不能立即走之 ...

  7. Kubernetes Job Controller 原理和源码分析(一)

    概述什么是 JobJob 入门示例Job 的 specPod Template并发问题其他属性 概述 Job 是主要的 Kubernetes 原生 Workload 资源之一,是在 Kubernete ...

  8. OSI模型与TCP/IP模型

    OSI模型与TCP/IP模型 OSI参考模型: ​ ---开放式系统互联参考模型 OSI/RM ISO ---国际标准化组织 --1979 应用层 ---- 通过应用进程间的交互来完成特定网络应用 表 ...

  9. 按键检测GPIO输入

    1. 项目 通过按键控制开关LED灯,按下按键灯亮,再按一下灯灭. 2. 代码 mian.c #include "stm32f10x.h" //相当于51单片机中的 #includ ...

  10. 2020年OO助教工作总结

    随着这学期课程的落幕,我一学期的OO助教工作也宣告结束.这学期我的工作主要在系统组,和OO后台的数据库打交道. 作业查重 我几乎每周都会做的例行工作,是对每周的homework进行查重管理.由于使用了 ...