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

本文介绍了在FPGA设计中常用的波形绘制软件Visio、TimeGen和WaveDrom,比较了它们的特点和功能,强调了WaveDrom的推荐使用,适合清晰地展示时序波形和设计文档
摘要由CSDN通过智能技术生成

写在前面

  在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。
  本文到此结束,欢迎评论区交流探讨。

在这里插入图片描述

  • 19
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
FPGA自学笔记——设计与验证JMB FPGA(可编程逻辑门阵列)是一种可编程的硬件平台,可以实现各种数字电路的设计与验证。本文将简要介绍使用FPGA自学设计与验证JMB(低功耗、高效能、集成度高的多媒体芯片)的过程。 首先,我们需要了解JMB的功能和特性。JMB是一种面向多媒体应用的芯片,具备低功耗、高效能和高集成度的优势。我们需要详细研究JMB的硬件架构和内部模块,包括处理器核、存储器模块、图像和音频处理模块等。 接下来,我们可以使用FPGA开发板来设计和验证JMB。首先,我们需要熟悉FPGA设计工具,例如Vivado或Quartus等。这些工具提供了图形化界面和硬件描述语言(HDL)等设计方法。我们可以使用HDL编写JMB的功能模块,并将其综合为FPGA可执行的位流文件。 在设计完成后,我们需要验证JMB的功能和性能。我们可以使用仿真工具(例如ModelSim或ISE Simulator)来模拟JMB在不同情况下的行为。通过设计测试程序并运行仿真,我们可以验证JMB的各个模块是否正确地工作,是否满足设计要求。 在验证完成后,我们可以将位流文件下载到FPGA开发板中进行智能芯片的物理实现和测试。通过与外部设备的连接以及相关测试程序的运行,我们可以验证JMB在实际硬件中的功能和性能。 总结起来,学习FPGA设计与验证JMB,我们需要熟悉JMB的硬件架构和内部模块,并使用FPGA开发工具进行设计与验证。通过仿真和物理实现测试,我们可以验证JMB的功能和性能。这些过程需要理论知识和实践经验的结合,希望这些笔记能够给你提供一些参考和指导。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值