Modelsim仿真新手入门最详细教程「建议收藏」

Modelsim仿真新手入门最详细教程「建议收藏」Modelsim上手教程最详细攻略,含一些必坑指南。

大家好,又见面了,我是你们的朋友全栈君。

2021年11月15日

00 安装包/版本

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

01 配置环境步骤

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

01-0 verilog文件

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

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

Nodepad++的页面效果如图:

Modelsim仿真新手入门最详细教程「建议收藏」

 

 

 

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

01-1 具体步骤

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

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

    留意一下路径。

    Modelsim仿真新手入门最详细教程「建议收藏」

     

     Modelsim仿真新手入门最详细教程「建议收藏」

     

     

     

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

    Modelsim仿真新手入门最详细教程「建议收藏」

     

     

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

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

    Modelsim仿真新手入门最详细教程「建议收藏」

     

     

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

    Modelsim仿真新手入门最详细教程「建议收藏」

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

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

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

    Modelsim仿真新手入门最详细教程「建议收藏」

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

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

    Modelsim仿真新手入门最详细教程「建议收藏」

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

    Modelsim仿真新手入门最详细教程「建议收藏」

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

    Modelsim仿真新手入门最详细教程「建议收藏」

     

     

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

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

  10. 点击上方simulate -> run -> run all。即可出现波形图。

    Modelsim仿真新手入门最详细教程「建议收藏」

     

     

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….

即可解决。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/155218.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • ArcGIS教程:路径分析(一)

    ArcGIS教程:路径分析(一)求解路径分析表示根据要求解的阻抗查找最快、最短甚至是最优的路径。如果阻抗是时间,则最佳路线即为最快路线。如果阻抗是具有实时或历史流量的时间属性,则最佳路径是对指定日期和时间来说最快的路径。

    2022年8月24日
    11
  • linux重启mysql

    linux重启mysqllinux重启mysql的方法:1、直接使用“servicemysqldrestart”或“servicemysqlrestart”命令重启;2、使用“/etc/init.d/mysqldrestart”命令重启。1、查看mysql版本方法一:status;方法二:selectversion();2、Mysql启动、停止、重启常用命令a、重启1)、使用service启动: 1 2 servicemysqldres.

    2022年10月17日
    3
  • 大数运算算法汇总_小学减法的运算公式

    大数运算算法汇总_小学减法的运算公式大数加法:#include<iostream>#include<cstdio>#include<cstdlib>#include<algorithm>#include<vector>#include<string>#include<cmath>#include<stdexce…

    2022年10月7日
    2
  • python编程100例_python进阶书籍的推荐

    python编程100例_python进阶书籍的推荐异常模块下面介绍python常用的异常模块AttributeError异常AttributeError试图访问一个类中不存在的成员(包括:成员变量、属性和成员方法)而引发的异常Attribut

    2022年8月6日
    3
  • ospf数据库同步过程_OSPF的概念

    ospf数据库同步过程_OSPF的概念OSPF协议之链路数据库同步OSPF如何实现链路状态数据库的同步-链路信息主要包括:1、链路的类型;2、接口IP地址及掩码;3、链路上所连接的邻居路由器;4、链路的带宽(开销)。区别于RIP路由器之间交互的路由信息,OSPF路由器同步的是最原始的链路状态信息,而且对于邻居路由器发来的链路状态信息,仅作转发。最终所有路由器都将拥有一份相同且完整的原始链路状态信息。为…

    2022年10月15日
    2
  • 把ocx打包成CAB,并签名

    把ocx打包成CAB,并签名准备好工具包,微软的IESDK里包含这些工具, 但是那个开发包太过庞大,而且操作起来也稍微得繁琐了一些你只需要下载这么几个文件就可以了 文中提到的数字签名工具包,请在此处下载&#

    2022年6月30日
    24

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号