FPGA设计篇——波形绘制软件

news2024/11/20 1:36:42

FPGA设计篇——波形绘制软件

  • 写在前面
  • 一、Visio
  • 二、TimeGen
  • 三、WaveDrom
  • 写在最后

写在前面

  在FPGA设计过程中,经常需要编写设计文档,其中,不可缺少的就是仿真波形的绘制,可以直接截取Vivado或者Modelsim平台实际仿真波形,但是往往由于信号杂乱无法凸显重点。因此,通过相应软件绘制波形,并予以标注,会更加直观。目前,常用的波形绘制软件有:Visio、TimeGen、WaveDrom等,本文主要介绍这三款软件波形图的绘制。

一、Visio

  Visio软件用于波形绘制相较于后两者绘图可以达到一样的效果,但是在波形绘制过程中要做到信号名、信号波形边沿对齐等是比较繁琐的,而且需要搭配相应的图形包绘制起来才会更便捷(Visio常用波形图形包)。Visio绘制的时序波形如下图所示。

在这里插入图片描述

二、TimeGen

  TimeGen软件的界面如下图所示。
在这里插入图片描述
  该界面下的按键功能说明如下:

  • 添加时钟信号:用于添加理想时钟该信号。选中该信号右键选择Edit Attributes可以设置信号名、信号名字体、信号名字号颜色、上升沿触发(Rising Edge )还是下降沿触发(Falling Edge)、时钟信号占空比(Clock Duty)以及该时钟信号的时钟宽度是默认时钟宽度的几倍(Clock)等;
  • 添加电平信号: 用于添加位宽为1的电平信号。与时钟信号一致,选中该信号右键选择Edit Attributes可以设置各个参数;
  • 添加多比特信号:用于添加位宽为多比特的信号;
  • 添加空信号:在选中信号的上一行添加一个空信号(即占一个信号的高度);
  • ASCII波形输出:用于输出整个时序波形的ASCII表示,可以直接复制粘贴到word文档中;
  • 删除一个时钟周期:删除选中波形图中所有信号的最后一个时钟周期;
  • 增加一个时钟周期:在最后一个时钟周期后面添加一个时钟周期;
  • 增加时钟周期宽度:增加每个时钟周期的宽度;
  • 减小时钟周期宽度:减小每个时钟周期的宽度;
  • 增加信号高度:增加每个信号的高度;
  • 减小信号高度:减小每个信号的高度;
  • 减小信号之间间距:减小信号与信号之间的间距;
  • 增加信号之间间距:增加信号与信号之间的间距;
  • 选中信号:选中某个信号或者选中某个信号的某个时钟周期内的值;
  • 转为高/低电平:将信号当前时钟周期的值转为高/低电平(选中后向上/向下拉)
  • 转为高阻态Z:将信号当前时钟周期的值转为高阻态Z;
  • 多位宽信号变化:用于设置多比特信号在上升沿或者下降沿处发生改变;
  • 在某个时钟周期内添加数值:对信号某个时钟周期内的数值进行标注;
  • 标注建立/保持时间:标注建立时间/保持时间(两种不同的标注形式,一种是双向箭头,一种是两个单向箭头);
  • 添加信号箭头标注:在不同信号的不同时钟之间添加箭头标注;
  • 省略符:添加省略符,用于表示信号一段时间内保持该值;
  • 填充颜色:填充颜色,右击可切换填充色;
  • 清除填充颜色:清除填充颜色;

  TimeGen绘制的时序波形如下图所示。

在这里插入图片描述

三、WaveDrom

  WaveDrom是一种基于js的时序图工具,与前两者相比,没有便捷的工具栏直接绘制波形图,通过js语言进行绘制,绘制的波形图也较为美观。其基本语法如下:

{signal: [
  // 信号1
  {name: '信号名1', wave: '波形'},
  // 信号2
  {name: '信号名2', wave: '波形'},
  // 信号...
],
  "config" : { "hscale" : 信号宽度 }
}

  这里波形绘制主要有两个主要参数:信号名与波形。这里波形的控制常用语法如下表所示:

符号功能
.将先前的状态再延迟一个时钟周期
p以上升沿开始的一个时钟周期
P以上升沿开始的一个时钟周期(上升沿带箭头)
n以下降沿开始的一个时钟周期
N以下降沿开始的一个时钟周期(下降沿带箭头)
x不定态波形
z高阻态波形
u虚线高阻态波形
d虚线低电平
l理想波形的低电平
h理想波形的高电平
L理想波形的低电平(在变为低电平处带箭头)
H理想波形的高电平(在变为高电平处带箭头)
0理想波形的低电平
1理想波形的高电平
2多比特数据(背景白色)
3多比特数据(背景黄色)
4多比特数据(背景橙色)
5多比特数据(背景蓝色)
6多比特数据(背景天青色)
7多比特数据(背景绿色)
8多比特数据(背景紫色)
9多比特数据(背景粉色)
=多比特数据(背景白色),与“2”功能一致
∣ | 省略符

  WaveDrom软件绘制的时序波形如下图所示。

{signal: [
  {name: 'clk', wave: 'P.......'},
  {name: 'a' , wave:'010...10'},
  {name: 'b' , wave:'0.1...0.'},
  {name: 'c' , wave:'01.0....'},

],
  "config" : { "hscale" : 1 }
}

在这里插入图片描述

写在最后

  在本文中,我们学习了Visio、TimeGen、WaveDrom三种可以用于绘制时序波形图的软件的基本用法,三种软件各有长处,可根据自己喜欢的绘图风格学习其一,个人比较推荐WaveDrom。
  本文到此结束,欢迎评论区交流探讨。

在这里插入图片描述

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

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

相关文章

Java面试八股之Java中==和equals()的区别

Java中和equals()的区别 操作符: 对于基本数据类型(如int、char、boolean等),比较的是它们的值是否相等。 对于对象引用类型,比较的是两个对象的内存地址(即是否指向同一个对象实例)。也就是…

ROS标定海康威视摄像头

ROS视摄像头标定----海康威视 引言: ​ 摄像头标定是为了确保视觉系统能够准确反映现实世界中的对象,并消除图像中的畸变效果。在本实验中,我们使用了ROS中的功能包进行摄像头标定。标定的原理包括畸变校正和摄像头参数估计。通过移动标定板并…

美国服务器vs香港服务器,哪个网站部署打开更快一些?

网站打开速度受多种因素影响,包括服务器地理位置、网络质量、带宽等。用户距离服务器越近,访问速度越快。对于中国大陆用户而言,香港的服务器可能会提供更快的网站访问体验,因为香港距离大陆较近,且网络连接通常较好。…

ssm079基于SSM框架云趣科技客户管理系统+jsp

客户管理系统设计与实现 摘 要 现代经济快节奏发展以及不断完善升级的信息化技术,让传统数据信息的管理升级为软件存储,归纳,集中处理数据信息的管理方式。本客户管理系统就是在这样的大环境下诞生,其可以帮助管理者在短时间内处…

【ZYNQ】zynq启动模式及程序固化

一、前言 由于zynq含有arm cpu ,其启动模式由ps主导,与纯逻辑的fpga不相同,此处做一个记录。 二、zynq启动模式 关于zynq的启动模式详细内容可以参考官方文档:ug585-Zynq 7000 SoC Technical Reference Manual,第六章。 2.1 启…

centos 7 yum install -y nagios

centos 7 systemctl disable firewalld --now vi /etc/selinux/config SELINUXdisabled yum install -y epel-release httpd nagios yum install -y httpd nagios systemctl enable httpd --now systemctl enable nagios --now 浏览器 IP/nagios 用户名:…

GPT的全面历史和演变:从GPT-1到GPT-4

人工智能新篇章:GPT-4与人类互动的未来! 本文探讨了生成式预训练 Transformer (GPT) 的显着演变,提供了从开创性的 GPT-1 到复杂的 GPT-4 的旅程。 每次迭代都标志着重大的技术飞跃,深刻影响人工智能领域以及我们与技术的互动。 我…

Codeforces Round 939 D. Nene and the Mex Operator 【构造、思维、状压】

D. Nene and the Mex Operator 题意 给定一个长度为 n n n 的正整数数组 a a a,定义操作: 选定一个区间 [ l , r ] [l, r] [l,r],将区间内的数字替换成: m e x ( a l , a l 1 , . . . , a r ) mex(a_l,a_{l1},...,a_r) mex(…

探索适合你的6个兼职副业之路

在当下这个多元化的社会,寻找一份适合自己的兼职副业已成为许多人的追求。市场上的选择繁多,从线上调查到电子商务,每一种副业都有其独特的魅力和挑战。下面,我将为大家介绍六种热门的兼职副业选择,希望能够帮助你找到…

深度学习检测算法YOLOv5的实战应用

在当前的检测项目中,需要一个高效且准确的算法来处理大量的图像数据。经过一番研究和比较,初步选择了YOLOv5作为算法工具。YOLOv5是一个基于深度学习的检测算法,以其快速和准确而闻名。它不仅能够快速处理图像数据,还能提供较高的…

Springboot+Vue项目-基于Java+MySQL的网上点餐系统(附源码+演示视频+LW)

大家好!我是程序猿老A,感谢您阅读本文,欢迎一键三连哦。 💞当前专栏:Java毕业设计 精彩专栏推荐👇🏻👇🏻👇🏻 🎀 Python毕业设计 &…

【Python数据库】Redis

文章目录 [toc]数据插入数据查询数据更新数据删除查询存在的所有key 个人主页:丷从心 系列专栏:Python数据库 学习指南:Python学习指南 数据插入 from redis import Redisdef insert_data():redis_cli Redis(hostlocalhost, port6379, db…

软件工程中的耦合和内聚

耦合 在软件工程中,耦合是一个重要的概念,用于描述模块或组件之间的相互依赖程度。 从非直接耦合到内容耦合的耦合性依次升高,所以非直接耦合是我们最想见到的结果,内容耦合是我们最不想见到的结果。 非直接耦合数据耦合标记耦…

车企的数智化“内功”,大模型帮修炼

文|白 鸽 编|王一粟 时隔4年回归的北京车展,遇上了中国智能汽车的热潮。 开年价格战的持续洗礼,不仅让一众中国车企都慌得一批,也让全球巨头特斯拉也面临一季度销量大跌局面。 与此同时,智能汽车还在…

阿斯达年代记下载注册+短信验证教程分享

阿斯达年代记:三强争霸》预计将于4月24日盛大发布,标志着一款新颖的MMORPG游戏面世,它跨越安卓、苹果和PC三大平台,实现数据互通,满足多元化玩家群体的需求。无论是追求移动便捷的手游爱好者,还是偏爱高性能…

Redis系列5:深入分析Cluster 集群模式

1 背景 前面我们学习了Redis高可用的两种架构模式:主从模式、哨兵模式。 解决了我们在Redis实例发生故障时,具备主从自动切换、故障转移的能力,终保证服务的高可用。 但是这些其实远远不够,随着我们业务规模的不断扩展&#xff0…

Golang GMP解读

概念梳理 1. 1 线程 通常语义中的线程,指的是内核级线程,核心点如下: 是操作系统最小调度单元;创建、销毁、调度交由内核完成,cpu 需完成用户态与内核态间的切换;可充分利用多核,实现并行. …

指标+AI:迈向智能化,让指标应用更高效

近日,以“DataAI,构建新质生产力”为主题的袋鼠云春季发布会圆满落幕,大会带来了一系列“AI”的数字化产品与最新行业沉淀,旨在将数据与AI紧密结合,打破传统的生产力边界,赋能企业实现更高质量、更高效率的…

Java集合框架-Collection-List-vector(遗留类)

目录 一、vector层次结构图二、概述三、底层数据结构四、常用方法五、和ArrayList的对比 一、vector层次结构图 二、概述 Vector类是单列集合List接口的一个实现类。与ArrayList类似,Vector也实现了一个可以动态修改的数组,两者最本质的区别在于——Vec…