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 开始

相关推荐
第二层皮-合肥5 小时前
高速采集卡FPGA设计方案及代码
fpga开发
Runner.DUT7 小时前
详解赛灵思SRIO IP并提供一种FIFO封装SRIO的收发控制器仿真验证
fpga开发
嵌入式-老费8 小时前
再谈fpga开发(fpga调试方法)
fpga开发
XINVRY-FPGA11 小时前
XCZU4EV-1FBVB900E Xilinx FPGA AMD Zynq UltraScale+ MPSoC EV(Embedded Vision)
arm开发·嵌入式硬件·计算机视觉·fpga开发·硬件架构·硬件工程·fpga
从今天开始学习Verilog12 小时前
FFT算法实现之fft IP核
算法·fpga开发
Turing_kun20 小时前
基于FPGA的SPI控制FLASH读写
fpga开发
hahaha60161 天前
差模干扰 & 共模干扰
fpga开发
璞致电子1 天前
【PZ-KU060-KFB】——Kintex UltraScale 纯 FPGA 开发平台,释放高速并行计算潜能,高性价比的 FPGA 解决方案
fpga开发·fpga
我爱C编程1 天前
基于FPGA的16QAM软解调+卷积编码Viterbi译码通信系统,包含帧同步,信道,误码统计,可设置SNR
fpga开发·16qam·软解调·帧同步·卷积编码·viterbi译码
南棱笑笑生1 天前
20250726让荣品的PRO-RK3566开发板使用TF卡启动
fpga开发