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

news2024/12/24 22:01:40

一、概述

        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.coloradmin.cn/o/1171535.html

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

相关文章

iOS开发 Command PhaseScriptExecution failed with a nonzero exit code

解决步骤: 1.重启电脑 2.把xcode项目Build Setting中的Sandboxing置为No 3.重跑项目

asp.net docker-compose添加volume配置

打开docker-compose.override.yml下面添加 volumes:killsb-one-sqldata:external: false 服务下面添加volume配置 volumes:- "./dapr/config/social-client.json:/app/OidcSettings.json" 添加volume配置成功

2023年内衣行业分析:京东大数据平台-服饰内衣市场解析

如今,女性消费力的提升正在推动国内女性内衣市场份额逐年提升。而今年,内衣市场更是进入了存量之战,增长趋势明显减弱。 根据鲸参谋数据显示,今年1月至9月,京东平台内衣(文胸)累计销量约500万件…

jvm实践

说一下JVM中的分代回收 堆的区域划分 1.堆被分为了两份:新生代和老年代[1:2] 2.对于新生代,内部又被分为了三个区域。Eden区,幸存者区survivor(分成from和to)[8:1:1] 对象回收分代回收策略 1.新创建的对象,都会先分配到eden区 2.当伊园内存…

好物周刊#29:项目管理软件

https://github.com/cunyu1943/JavaPark https://yuque.com/cunyu1943 村雨遥的好物周刊,记录每周看到的有价值的信息,主要针对计算机领域,每周五发布。 一、项目 1. HelloGithub 分享 GitHub 上有趣、入门级的开源项目。每月 28 号以月刊…

渗透工具使用及思路总结(持续更新)

扫描类 nmap 快速扫描开放端口 nmap --min-rate 10000 -p- 10.129.252.63扫描详细全服务 nmap -sV -A -p 22,80 10.129.252.63 nmap -sV -A -p- 10.129.252.63-l:显示正在监听的 TCP 和 UDP 端口; -a:显示所有活动的 TCP 连接; -A <网络类型>或 - <网络类型&g…

数据结构-邻接表广度优先搜索(C语言版)

对于一个有向图无向图&#xff0c;我们下面介绍第二种遍历方式。 广度优先搜索&#xff0c;即优先对同一层的顶点进行遍历。 如下图所示&#xff1a; 该例子&#xff0c;我们有六个顶点&#xff0c; 十条边。 对于广度优先搜索&#xff0c;我们先搜索a&#xff0c;再搜索abc…

电路正负反馈,电压电流反馈,串并联反馈详细判别方法

正/负反馈&#xff1a;假设输出升高&#xff0c;转一圈回来仍使其升高就是正反馈&#xff0c;反之就是负反馈。作图法&#xff1a;在RL的信号端画一个向上的小箭头&#xff0c;沿着反馈环路&#xff0c;每经过一个元器件就画一个相应的箭头&#xff0c;一直画到放大器的输出端&…

基于java+springboot+vue的游戏道具管理系统

项目介绍 本论文主要论述了如何使用JAVA语言开发一个游戏道具管理系统 &#xff0c;本系统将严格按照软件开发流程进行各个阶段的工作&#xff0c;采用B/S架构&#xff0c;面向对象编程思想进行项目开发。在引言中&#xff0c;作者将论述校园出入管理系统的当前背景以及系统开…

【云服务器】对比传统服务器,为什么说云服务器更具优势?

个人主页&#xff1a;【&#x1f60a;个人主页】 系列专栏&#xff1a;【❤️其他领域】 文章目录 前言云服务器云服务器的优势成本可扩展性可靠性和安全性 总结 前言 2006年搜索引擎大会上&#xff0c;“云服务器”的概念孕育而生&#xff0c;时至今日云服务器与传统服务器的…

基于java+springboot+vue在线选课系统

项目介绍 本系统结合计算机系统的结构、概念、模型、原理、方法&#xff0c;在计算机各种优势的情况下&#xff0c;采用JAVA语言&#xff0c;结合SpringBoot框架与Vue框架以及MYSQL数据库设计并实现的。员工管理系统主要包括个人中心、课程管理、专业管理、院系信息管理、学生…

WorkManger学习汇总

一.使用 WorkManger主要是用来执行一定会执行的任务的&#xff0c;如即使app被杀掉、手机重启都会执行。 适用场景&#xff1a;定期重复性任务&#xff0c;如定期log上传等 使用的话首先引入库&#xff08;我使用的是2.7.1&#xff09; implementation "androidx.work:…

Technology strategy Pattern 学习笔记1-Context: Architecture and Strategy

Context: Architecture and Strategy 1 Architect and Strategist 1.1 three primary concerns of the architect 1.1.1 Contain entropy(熵-混乱程度&#xff0c;不确定性&#xff0c;惊奇程度&#xff0c;不可预测性&#xff0c;信息量等等&#xff09; The architect wh…

Kafka(二)消息系统设计

文章目录 前言整体设计时序图时序图解释 最后 前言 当多个系统之间通过Kafka来解耦时&#xff0c;在系统设计初期&#xff0c;基本的要求都是相似的&#xff0c;只不过是消费消息时的业务逻辑可能不同。 本文以业务系统和邮件系统解耦作为示例。业务系统需要发送邮件时&#…

【入门Flink】- 05Flink运行时架构以及一些核心概念

系统架构 Flink运行时架构Standalone会话模式为例 1&#xff09;作业管理器&#xff08;JobManager&#xff09; JobManager 是一个 Flink 集群中任务管理和调度的核心&#xff0c;是控制应用执行的主进程。每个应用都应该被唯一的 JobManager 所控制执行。 JobManger 又包含…

广告引擎检索技术快速学习

目录 一、广告系统与广告引擎介绍 &#xff08;一&#xff09;广告系统与广告粗分 &#xff08;二&#xff09;广告引擎在广告系统中的重要性分析 二、广告引擎整体架构和工作过程 &#xff08;一&#xff09;一般概述 &#xff08;二&#xff09;核心功能架构图 三、标…

数字IC后端实现 |TSMC 12nm 与TSMC 28nm Metal Stack的区别

下图为咱们社区IC后端训练营项目用到的Metal Stack。 芯片Tapeout Review CheckList 数字IC后端零基础入门Innovus学习教程 1P代表一层poly&#xff0c;10M代表有10层metal&#xff0c;M5x表示M2-M6为一倍最小线宽宽度的金属层&#xff0c;2y表示M7-M8为二倍最小线宽宽度的金…

C++笔记之lambda捕获列表中的‘this‘指针

C笔记之lambda捕获列表中的’this’指针 code review! 捕获this指针的lambda表达式在C中有多种应用场景。以下是一些示例&#xff1a; 异步编程&#xff1a;当您需要在异步操作中访问类的成员变量或成员函数时&#xff0c;可以使用捕获this指针的lambda表达式。例如&#xf…

【高性能网络协议栈】openonload 篇

Onload 是 Solarflare 公司开发的加速的网络中间件。它在用户空间实现了 TCP/IP 网络协议栈&#xff0c;能在用户空间直接访问&#xff08;安全的&#xff09;网络适配器硬件访问权限硬件。网络数据可以直接在网络和应用之间收发&#xff0c;而不必通过操作系统&#xff0c;这种…

【蓝桥杯选拔赛真题10】C++求奇数和 青少年组蓝桥杯C++选拔赛真题 STEMA比赛真题解析

目录 C/C++求奇数和 一、题目要求 1、编程实现 2、输入输出 二、算法分析 <