Modelsim 使用教程(5)——Analyzing Waveforms

一、概述

        Wave窗口允许我们以HDL波形和数据的形式查看仿真结果。Wave窗口被划分为多个窗格。通过单击并在任意两个窗格之间拖动该条,可以调整路径名窗格、值窗格和波形窗格的大小。

二、加载一个设计(Loading a Design)

1、打开modelsim

2、加载一个设计,把目录改到我们本系列最开始创建的 Basic Simulation 文件夹,work应该已经存在了,此时我们可以直接在命令行输入

vsim testcounter_opt

 

三、把对象添加到波形窗口(Add Objects to the Wave Window)

1、打开object窗口

2、在Object窗口中选择对象,右击鼠标,选择 Add to > Wave > Signals in Region 。ModelSim会打开一个“波形”窗口,并在该区域内显示信号。

        添加对象的方式有非常多,可以使用拖拽的方式,也可以使用命令行的方式。

3、仿真500ns,这样我们就能看到波形了。

四、放大波形显示( Zooming the Waveform Display)

        有许多方法可以缩放波形显示器。

1、单击Wave窗口工具栏上的“缩放模式”图标

在波形显示中,单击并向下拖动并向右侧,您应该可以看到定义要放大的区域的蓝色垂直线和数字

 2、选择 View > Zoom > Zoom Last,波形显示器恢复了以前的显示范围。

3、点击放大缩小图标

4、在波形显示器中,单击并向上拖动并向右移动。你应该会看到一条蓝线和一个数字来定义一个要缩小的区域。

5、选择 View > Zoom > Zoom Full

五、在波形窗口中使用光标(Using Cursors in the Wave Window)

        光标在波形窗口中标记仿真时间。当ModelSim第一次绘制Wave窗口时,它会在时间0处放置一个光标。单击光标时间轴,会将光标带到鼠标的位置。你还可以:

  • 添加额外的光标
  • 命名,锁定,删除光标
  • 使用光标来测量时间间隔
  • 使用光标来查找替换

首先,通过点击停靠窗口图标,将波浪窗口停靠在主窗口中。

5.1 使用单个光标(Working with a Single Cursor)

1、在波形窗口的工具栏,选择Select Mode按键:

 单击光标时间轴中的任何位置。光标会捕捉到你单击的时间

2、拖动光标并观察该值窗格。信号值会随着你移动光标而变化。这可能是在特定时间检查信号值的最简单的方法。

5.2 重命名光标

        我们可以在下图位置处重命名光标

5.3 光标边沿跳转

        选中一个信号后,可以通过以下按键实现光标到信号边沿的跳转

5.2 使用多个光标(Working with Multiple Cursors) 

        当使用多个光标时,我们可以获得更多的信息。

1、添加另一个光标

        单击Wave窗口工具栏上的“插入光标”图标:

2、锁定光标

        点击如下位置就可以实现光标位置的锁定

六、保存和重新使用窗口格式(Saving and Reusing the Window Format)

        如果关闭Wave窗口,则对窗口进行的任何配置(例如,添加的信号、设置光标等)都被丢弃了。但是,我们通过可以使用“保存格式(Save Format)”命令捕获当前Wave窗口显示和信号首选项,把它们保存到.do文件。在之后我们重新打开.do文件,就会重新创建相应的窗口显示及波形。

        格式文件是特定于设计的,只会应用于你当前的仿真文件。

1、保存格式文件

        在Wave窗口中,选择 File > Save Format ,在“保存格式”对话框的“路径名”字段中,将文件名设置为wave.do,然后单击 OK。最后关闭wave窗口。

2、加载格式文件

        在主窗口中,选择 View > Wave ,打开窗口,我们设置的所有信号和光标都已经没有了。在Wave窗口中,选择 File > Load 。在“打开格式”对话框中,选择wave.do,然后单击 Open。ModelSim将窗口恢复到以前的状态。通过选择完成后,关闭Wave窗口 File > Close Window。

七、总结

        本文对于Modelsim中波形窗口的使用进行了一个简单的介绍,其实就算没有这篇文章,大家在使用的过程中自己摸索也应该可以很快展望基本的使用方式,本文只是希望能够提供一个相对丰富的介绍,便于大家查漏补缺,优化自己的使用方式,对于Modelsim基础介绍这个系列,可能会暂时告一段落,因为至此应该可以帮助大家上手Modelsim的使用了,也达到了笔者一个阶段性的目标,这个系列后续会持续更新关于Modelsim的进阶使用和实际使用中的问题等相关内容。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/130185.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SQL左连接实战案例

要求:用表df1和表df2的数据,得到df3 一、创建表 CREATE TABLE df1 (姓名 varchar(255) DEFAULT NULL,年龄 int DEFAULT NULL,部门 varchar(255) DEFAULT NULL,id int DEFAULT NULL );CREATE TABLE df2 (部门 varchar(255) DEFAULT NULL,年龄 int DEFAU…

C++ Qt QLineEdit如何响应回车事件

在Qt开发中,回车键的处理很常见,本篇博客介绍在QLineEdit里回车键的处理方法,例如下面的界面: QLineEdit回车键的处理有方式,一是链接returnPressed信号,二是用事件过滤。下面分别介绍这两种方式。 一、returnPressed信号 可以查看QLineEdit的头文件声明,有如下信号:…

洗地机哪个品牌好?家用洗地机选购攻略

随着家用洗地机的普及和市场的广泛认可,进入洗地机行业的制造商也越来越多。在面对众多洗地机品牌时,消费者常常感到困惑,不知道如何选择。面对众多选择,选择有良好保障的知名洗地机品牌是明智之举。知名品牌在质量、售后服务等方…

扩容一个新节点

1.删除nodes rm -rf nodes/ 2.挂载本地文件与创建节点 bash build_chain.sh -f ipconf -e /root/tools/fisco-bcos 3.部署节点 bash nodes/127.0.0.1/start_all.sh 4.把共享的gen_node_cert.sh文件下载到本地 cp /root/Desktop/共享文件夹/tools/gen_node_cert.sh ./…

java毕业设计基于springboot+vue的村委会管理系统

项目介绍 采用JAVA语言,结合SpringBoot框架与Vue框架以及MYSQL数据库设计并实现的。本村委会管理系统主要包括个人中心、村民管理、村委会管理、村民信息管理、土地变更管理、农业补贴管理、党员信息管理等多个模块。它帮助村委会管理实现了信息化、网络化&#xf…

初学Flutter:swiper实现

效果展示: flutter swiper 1、安装 card_swiper 2、引入card_swiper import package:card_swiper/card_swiper.dart;3、使用 这里我主要是对官网例子进行实践,主要是5种常用的swiper 1、普遍的swiper //custom swiper class CustomSwiper extends S…

css 图片好玩的一个属性,添加滤镜

鼠标经过效果对比: 上图是改变了图片的饱和度,代码如下: .img-box .v-image:hover {filter: saturate(1.75); }其他滤镜说明如下图:

R语言爬虫代码模版:技术原理与实践应用

目录 一、爬虫技术原理 二、R语言爬虫代码模板 三、实践应用与拓展 四、注意事项 总结 随着互联网的发展,网络爬虫已经成为获取网络数据的重要手段。R语言作为一门强大的数据分析工具,结合爬虫技术,可以让我们轻松地获取并分析网络数据。…

office2024下载详细安装教程

简单的说 Office 是一款由Microsoft 开发的一套办公软件,里面包含了常用的办公组件而其中就包含了Word、Excel、PowerPoint、Access等! 并且office是目前最常用的一类办公软件,使用它可以解决日常生活和工作中遇到的很多问题。 熟练掌握offi…

Java医院HIS系统源码

Java医院HIS系统源码 项目描述 该项目是用springbootlayuishiro写的医院管理系统,该系统的业务比较复杂,数据库一共有36张表。项目的视频业务参考文档,都在百度云盘中。可以先看看视频和参考文档。 运行环境 jdk8mysqlIntelliJ IDEAmaven…

shell script 的默认变量$0,$1,$2...,参数偏移的shift

简单来说,在scirpt脚本里面,$0表示文件名,$1表示第一个参数,以此类推,还有 $# 后面接参数的个数 $ 代表"$1","$2","$3",每个都是独立的,用双引号括起来 $* 代…

register_parameter和register_buffer 详解

在参考yolo系列代码或其他开源代码,经常看到register_buffer和 register_parameter的使用,接下来将详细对他们进行介绍。 1. 前沿 在搭建网络时,我们 自定义的参数,往往不会保存到模型权重文件中,或者成为模型可学习…

软件测试之BUG篇(定义,创建,等级,生命周期)

目录 1. BUG 的定义 2. 如何创建 BUG 3. BUG 等级 4. BUG 生命周期 高频面试题: 1. BUG 的定义 当且仅当产品规格书存在且正确时,程序的实现和规格书的要求不匹配时,那就是软件错误。当产品规格说明书没有提到的功能时,以用户…

国家统计局教育部各级各类学历教育学生情况数据爬取

教育部数据爬取 1、数据来源2、爬取目标3、网页分析4、爬取与解析5、如何使用Excel打开CSV1、数据来源 国家统计局:http://www.stats.gov.cn/sj/ 教育部:http://www.moe.gov.cn/jyb_sjzl/ 数据来源:国家统计局教育部文献教育统计数据2021年全国基本情况(各级各类学历教育学…

编写shell脚本,利用mysqldump实现MySQL数据库分库分表备份

查看数据和数据表 mysql -uroot -p123456 -e show databases mysql -uroot -p123456 -e show tables from cb_d 删除头部Database和数据库自带的表 mysql -uroot -p123456 -e show databases -N | egrep -v "information_schema|mysql|performance_schema|sys"编写…

HTML和CSS的基础-前端扫盲

想要写出一个网页,就需要学习前端开发(写网页代码)和后端开发(服务器代码)。 对于前端的要求,我们不需要了解很深,仅仅需要做到扫盲的程度就可以了。 写前端,主要用到的有&#xf…

蓝鹏测控测宽仪系列又添一员大将——双目测宽仪

轧钢过程中钢板的宽度是一个重要的参数,它直接决定了成材率。同时,随着高新科技越来越广泛的应用到工程实际中,许多控制系统需要钢板实时宽度值作为模型参数。 当前,相当一部分宽厚板厂还在采用人工检测的方法,检测环境…

【漏洞复现】Drupal XSS漏洞复现

感谢互联网提供分享知识与智慧,在法治的社会里,请遵守有关法律法规 复现环境:Vulhub 环境启动后,访问 http://192.168.80.141:8080/ 将会看到drupal的安装页面,一路默认配置下一步安装。因为没有mysql环境,…

Mac下使用nvm,执行微信小程序自定义处理命令失败

环境 系统:Mac OS 终端:zsh CPU:M1/ARM架构 node环境:nvm,node20 node目录:/Users/laoxu/.nvm/versions/node/v20.1.0/bin/ 问题 在使用微信小程序的自定义处理命令时,启动失败 提示找不…

【音视频 | Ogg】libogg库详细介绍以及使用——附带libogg库解析.opus文件的C源码

😁博客主页😁:🚀https://blog.csdn.net/wkd_007🚀 🤑博客内容🤑:🍭嵌入式开发、Linux、C语言、C、数据结构、音视频🍭 🤣本文内容🤣&a…