type
Post
status
Published
date
Feb 1, 2025
slug
fpgawaveform
summary
tags
FPGA
category
FPGA
icon
password
上次编辑时间
Feb 2, 2025 12:20 PM
AI summary
开始的时候画时序图都是拿 visio 硬连,但是那个线宽太难统一了,丑不拉几的,遂学习 waveform 语法使用代码来画时序图。
开始
Vscode 中安装 waveform render 或者在 GitHub 搜索 wavedrom 安装即可。由于 vscode 是我常用的编辑器,所以选择在 vscode 安装插件的方式来学习使用 waveform。
在 vscode 中创建一个 json 文件,内容
在命令面板中选择如下命令后即可查看渲染结果:

语法
时钟信号
p表示上升沿开始的方波
n表示下降沿开始的方波
l表示低电平
h表示高电平
- 大写会在方波边沿绘制箭头
代码渲染出的时序图为:


数据信号
0和1
x表示未知状态
- =表示有效数据,也可写成
2~9,会用不同的颜色显示,并且可用data变量加上文本标签

- 可以用
|表示省略一段信号
period 和 phase 变量用于调整时序
period的值应该是一个数字 n ,表示横向等比例放大或缩小
phase的值应该是一个数字 n ,表示横向的位置调整,单位是一个时钟周期:- 如果是正数,表示向左移动 n 个时钟周期
- 如果是负数,表示向右移动 n 个时钟周期
多个信号可以用
['group name', {...}, {...}, ...] 语法编成一组,而且支持嵌套
时序绘制完毕后,还可以对图片进行修饰。 "config": { "hscale": n } 表示将图片横向等比例放大 n 倍。"head":{ } 和 "foot":{ } 分别表示在时序图的上方和下方添加一些内容:
text变量应该设置一个字符串,表示添加一行文本
tick变量应该设置一个整数,表示在时钟周期的起点显示序号,从 n 开始
tock变量应该设置一个整数,表示在时钟周期的中点显示序号,从 n 开始