FPGA开发时序图绘制

开始的时候画时序图都是拿 visio 硬连,但是那个线宽太难统一了,丑不拉几的,遂学习 waveform 语法使用代码来画时序图。

开始

Vscode 中安装 waveform render 或者在 GitHub 搜索 wavedrom 安装即可。由于 vscode 是我常用的编辑器,所以选择在 vscode 安装插件的方式来学习使用 waveform。

在 vscode 中创建一个 json 文件,内容

json 复制代码
{

    "signal":[

        {"name":"clk","wave":"p....."},

        {"name":"data","wave":"010101"}

    ]

}

在命令面板中选择如下命令后即可查看渲染结果:

语法

时钟信号

  • p 表示上升沿开始的方波
  • n 表示下降沿开始的方波
  • l 表示低电平
  • h 表示高电平
  • 大写会在方波边沿绘制箭头

    代码渲染出的时序图为:

数据信号

  • 01

  • x 表示未知状态

  • =表示有效数据,也可写成 2~9,会用不同的颜色显示,并且可用 data 变量加上文本标签

  • 可以用 | 表示省略一段信号

    periodphase 变量用于调整时序

  • period 的值应该是一个数字 n ,表示横向等比例放大或缩小

  • phase 的值应该是一个数字 n ,表示横向的位置调整,单位是一个时钟周期:

    • 如果是正数,表示向左移动 n 个时钟周期
    • 如果是负数,表示向右移动 n 个时钟周期

      多个信号可以用 ['group name', {...}, {...}, ...] 语法编成一组,而且支持嵌套
      时序绘制完毕后,还可以对图片进行修饰。 "config": { "hscale": n } 表示将图片横向等比例放大 n 倍。"head":{ }"foot":{ } 分别表示在时序图的上方和下方添加一些内容:
  • text 变量应该设置一个字符串,表示添加一行文本

  • tick 变量应该设置一个整数,表示在时钟周期的起点显示序号,从 n 开始

  • tock 变量应该设置一个整数,表示在时钟周期的中点显示序号,从 n 开始

相关推荐
szxinmai主板定制专家1 天前
基于全志T527+FPGA全国产异步LED显示屏控制卡/屏幕拼接解决方案
大数据·运维·人工智能·fpga开发·边缘计算
FPGA狂飙1 天前
快速傅里叶变换(FFT):从数学公式到5G信号,揭开数字世界的“频率密码”
fpga开发·信号处理·verilog·fpga·vivado
超能力MAX1 天前
TMDS视频编解码算法
fpga开发·音视频
HHUCESTA2 天前
FPGA 常用的片上缓存方式
缓存·fpga开发
szxinmai主板定制专家2 天前
基于全志T536+FPGA+AI的智能服务机器人解决方案
大数据·运维·人工智能·fpga开发·机器人·边缘计算
mmmmmlovely2 天前
关于FPGA的代码书写错误引起的时序问题
fpga开发
番茄灭世神2 天前
6层高速PCB设计入门第1~10讲
fpga开发
waicsdn_haha2 天前
Eclipse IDE 2025-03 最新版安装教程(官方下载+环境配置详解)
java·linux·开发语言·ide·windows·fpga开发·eclipse
Terasic友晶科技2 天前
第30篇 基于ARM A9处理器用C语言实现中断<六>
c语言·fpga开发·中断