北邮22级信通院数电:Verilog-FPGA(3)实验“跑通第一个例程”modelsim仿真及遇到的问题汇总(持续更新中)

2023-09-18 23:00:04

北邮22信通一枚~

跟随课程进度更新北邮信通院数字系统设计的笔记、代码和文章

持续关注作者 迎接数电实验学习~

获取更多文章,请访问专栏:

北邮22级信通院数电实验_青山如墨雨如画的博客-CSDN博客

注意:本篇文章所有绝对路径的展示都来自上一篇博客

北邮22级信通院数电:Verilog-FPGA(2)modelsim北邮信通专属下载、破解教程_青山如墨雨如画的博客-CSDN博客

目录

操作步骤及批注

步骤一

步骤二

*批注

*批注

*批注

*批注

步骤三

步骤四

*批注:

*几种常见问题

*1.Unable to checkout a license.

*问题描述

*解决方法

*2.objects和process中都没有东西

*问题描述

*解决方法

*情况1:

*解决办法:

*情况2:

*解决方案:

接操作步骤与批注

步骤五 

*批注

步骤六

步骤七

步骤八

步骤九


说明:本篇博客一共有两套目录,不带“*”的一套目录是正常流程,带“*”的一套目录是小编自己的批注和遇到的问题及解决方案~

如果读者没有根据上一篇博客进行配置, 请读者按照自己的实际路径自行配置。

操作步骤及批注

步骤一

选择菜单栏Assignments→Settings 或 工具栏中Settings按钮,进入设置界面。

步骤二

选择菜单栏Simulation选项,单选Compile test bench,点击Test Benches,在弹出的对话框中点击New,填写Test bench name,按照目录添加测试文件,如下图标识顺序,最后点击OK回到设计界面。

*批注

Test Bench Name必须和测试文件名一致。比如第二个.v文件的名字是LED_shining_tb,那么这个 Test Bench Name就必须是LED_shining_tb。

*批注

Add Files的时候,找到你的LED_shining_tb.v文件所在的位置。一般在D:\intelFPGA_lite\22.1std\quartus\bin64中,看你LED_shining_tb.v原先存放在哪里了。

*批注

一定要点“Add”!!!之后一直点“OK”。

*批注

最后在“compile test bench”后面你就可以看到这样的效果:

步骤三

选择菜单栏Tools→Run Simulation Tool→RTL Simulation选项 或 工具栏中RTL Simulation按钮,Quartus软件会自动启动Modelsim软件。

 

步骤四

Modelsim软件启动后自动完成代码编译,界面如下图。

*批注:

*几种常见问题

*1.Unable to checkout a license.

*问题描述

modelsim显示

Unable to checkout a license. Make sure your license file environment variable (e.g, LM LICENSE FILE)is set correctly and then run lmutil lmdiag' to diagnose the problem.

有些同学按照上面的步骤走完之后,运行 RTL simulation会跳出这个界面,仿真无法继续进行。

*解决方法

重启。

 好几个同学遇到了这个问题,都按照这个方法解决了。亲测有效。

*2.objects和process中都没有东西

*问题描述

运行之后,transcript中有很多生成的语句,但是objects和process中都没有东西。这个问题很复杂,目前研究过的几种可能情况如下:

*解决方法

simulation如果运行成功,transcript最后一行应该为#run -all。如果最后一行不是这个,在transcript中向上翻找。

*情况1:

如果transcript中有红色字的,注意看报错信息

*解决办法:

1.检查各种名字

        检查各种名字,看是不是都一致;各种名字包括:LED_shining_tb模块名;LED_shining_tb文件名;LED_shining模块名;LED_shining_uut模块名;LED_shinig文件名;工程名;在assignments->settings->simulation->compile test bench中添加的文件名和新建的文件名都应该是LED_shining_tb

2.检查modelsim安装路径和引用路径是否完全一致

注意:本篇文章所有绝对路径的展示都来自上一篇博客,如果读者没有根据上一篇博客进行配置,请自行找到modelsim安装包的win64文件夹的绝对位置。

注意:引用路径能且只能填到win64文件夹!!!(绝对路径:D:/modeltech64_2020.4/win64/)

注意:win64后面必须加“/”!!!

3.检查所有和仿真相关的编译器是不是都是modelsim

具体包括:

 

*情况2:

如果transcript里没有红色字且没有报错信息,modelsim能运行但object和process全为空

*解决方案:

assignments->settings->simulation应该没配或者没配对。

接操作步骤与批注

步骤五 

选择需要观察波形的信号,点击右键,在弹出的右键菜单中选择Add Wave,这样就将对应信号添加至Wave窗口。

*批注

选中之后Ctrl+W也行。

步骤六

在wave窗口点击stop

步骤七

步骤八

按1、2顺序执行 

 

步骤九

一直点缩小窗口,直到图像正确为止。

也可以继续run。

 

更多推荐

陆拾捌- 如何通过数据影响决策(三)

一、如何正确的引导别人?引导与误导的区别是什么?看下面这广告图单看上面大字的结果,感觉好像真的使用过的人均觉得有好处可如果我们看下面的细字对111位连续14天食用(本产品)的燕麦片非重度使用者所做调研…从理性上来说,如果一个人觉得没用处,还会连续食用14天吗?所以这里用的一个技巧就是,从数据中各个维度深挖,然后把最有利

【C# 基础精讲】构造函数和析构函数

构造函数(Constructor)和析构函数(Destructor)是面向对象编程中的两个重要概念,它们分别用于在对象创建和销毁的时候执行特定的操作。这两个函数在C#以及其他面向对象编程语言中都具有重要的作用,用于初始化对象的状态、分配资源,以及在对象被销毁时释放资源。在本文中,我们将详细探讨构造函数和析构函数的概念、

Java乐观锁的实现

乐观锁是一种用于解决并发冲突的机制,它基于假设在大多数情况下没有并发冲突的原则。与悲观锁不同,乐观锁不会对数据加锁,而是通过一定的方式来检测并处理并发冲突。在实现乐观锁时,通常会使用版本号或时间戳作为标识。当多个线程同时访问同一个数据时,每个线程都会读取到数据的当前版本号或时间戳。在更新数据时,线程会比较当前的版本号或

【AI视野·今日CV 计算机视觉论文速览 第250期】Wed, 20 Sep 2023

AI视野·今日CS.CV计算机视觉论文速览Wed,20Sep2023Totally95papers👉上期速览✈更多精彩请移步主页DailyComputerVisionPapersPanopticNeRF-360:Panoramic3D-to-2DLabelTransferinUrbanScenesAuthorsXia

WebGL 用鼠标控制物体旋转

目录鼠标控制物体旋转如何实现物体旋转示例程序(RotateObject.js)代码详解示例效果鼠标控制物体旋转有时候,WebGL程序需要让用户通过鼠标操作三维物体。这一节来分析示例程序RotateObject,该程序允许用户通过拖动(即按住左键移动)鼠标旋转三维物体。为了简单,示例程序中的三维物体是一个立方体,但拖曳鼠

新型智慧公厕“1+3+N”架构,平台、系统、应用的创新

近年来,随着人民生活水平的提高,人们对公共设施的要求也越来越高。其中,如厕问题一直是人们关注的焦点,但传统的公厕设施已经不能满足人们对干净、舒适、安全的需求,这促使了新型智慧公厕的诞生与应用,以如中期科技「智慧公厕-智慧厕所」以“1+3+N”规划策略,让公共厕所实现信息化、智慧化、网络化。本文以智慧公厕源头厂家广州中期

二叉搜索树经典笔试题【力扣、牛客】

文章目录1.根据二叉树创建字符串2.二叉树的层序遍历3.二叉树的层序遍历Ⅱ4.二叉树的最近公共祖先1.法一:定位p、q在左还是右分类讨论2.法二:利用stack求出p、q路径求相交值5.二叉搜索树与双向链表1.法一:递归:递归过程修正指针指向2.数组:将二叉搜索树进行中序遍历可以得到由小到大的顺序排列6.前序中序遍历序

Spark_Spark内存模型管理

工作中经常用到Spark内存调参,之前还没对这块记录,这次记录一下。环境参数spark内存模型中会涉及到多个配置,这些配置由一些环境参数及其配置值有关,为防止后面理解混乱,现在这里列举出来,如果忘记了,可以返回来看看:spark.executor.memory:JVMOn-Heap内存(堆内内存),在使用sparksu

云服务器部署k8s集群

在两台不同厂商的云服务器上部署k8s集群,遇到一些问题。在此进行下总结。首先要网络能够互通,我是通过添加虚拟网卡的方式lsmod|grepip_vs#检查是否有开启#临时开启ip_vsforiin$(ls/lib/modules/$(uname-r)/kernel/net/netfilter/ipvs|grep-o"^

【Spark】PySpark DataFrame

1SparkSession执行环境入口2构建DataFrame2.1由rdd构建(StructType、StructField)2.2由pandas.DataFrame构建2.3由外部数据构建2.3.1text数据源2.3.2json数据源2.3.3csv数据源3DataFrame操作3.1SQL风格3.2DSL风格3

WebGL HUD(平视显示器)

目录HUD(平视显示器)如何实现HUD示例程序(HUD.html)示例程序(HUD.js)代码详解在网页文字上方显示三维物体代码详解HUD(平视显示器)平视显示器(headupdisplay)简称HUD,最早用于飞机驾驶。平视显示器将一些重要信息投射到飞机驾驶舱前方的一块玻璃上,飞行员能够将外界的影像和这些重要信息融合

热文推荐