通信算法之307:fpga之时序图绘制

时序图绘制软件

一. 序言

在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 功能互补,可满足不同场景下的波形图绘制需求。

原文链接:https://blog.csdn.net/qq_42224089/article/details/138061567

相关推荐
客梦6 分钟前
Java 道路信息系统
java·笔记
一只侯子9 小时前
Face AE Tuning
图像处理·笔记·学习·算法·计算机视觉
whale fall11 小时前
【剑雅14】笔记
笔记
星空的资源小屋13 小时前
跨平台下载神器ArrowDL,一网打尽所有资源
javascript·笔记·django
Xudde.13 小时前
Quick2靶机渗透
笔记·学习·安全·web安全·php
AA陈超14 小时前
Git常用命令大全及使用指南
笔记·git·学习
愚戏师15 小时前
Python3 Socket 网络编程复习笔记
网络·笔记
降临-max15 小时前
JavaSE---网络编程
java·开发语言·网络·笔记·学习
1560820721915 小时前
基于7VX690T FPGA实现万兆TCP/IP资源和性能测试
网络协议·tcp/ip·fpga开发
大白的编程日记.16 小时前
【计算网络学习笔记】MySql的多版本控制MVCC和Read View
网络·笔记·学习·mysql