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的进阶使用和实际使用中的问题等相关内容。

相关推荐
FakeOccupational5 小时前
fpga系列 HDL:verilog 常见错误与注意事项 quartus13 bug 初始失效 reg *** = 1;
fpga开发·bug
zxfeng~13 小时前
AG32 FPGA 的 Block RAM 资源:M9K 使用
fpga开发·ag32
whik119413 小时前
FPGA 开发工作需求明确:关键要点与实践方法
fpga开发
whik119416 小时前
FPGA开发中的团队协作:构建高效协同的关键路径
fpga开发
南棱笑笑生17 小时前
20250117在Ubuntu20.04.6下使用灵思FPGA的刷机工具efinity刷机
fpga开发
我爱C编程19 小时前
基于FPGA的BPSK+costas环实现,包含testbench,分析不同信噪比对costas环性能影响
fpga开发·verilog·锁相环·bpsk·costas环
移知1 天前
备战春招—数字IC、FPGA笔试题(2)
fpga开发·数字ic
楠了个难2 天前
以太网实战AD采集上传上位机——FPGA学习笔记27
笔记·学习·fpga开发
博览鸿蒙2 天前
FPGA工程师有哪些?(设计、验证与应用)
fpga开发
Major_pro2 天前
Xilinx FPGA :开发使用及 Tips 总结
fpga开发