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

相关推荐
Dlrbw5 小时前
FPGA——状态机实现流水灯
fpga开发
博览鸿蒙6 小时前
FPGA设计职位介绍|如何成为一名合格的数字前端设计工程师?
前端·fpga开发
XINVRY-FPGA6 小时前
XC7K160T-2FBG676I Xilinx 赛灵思 Kintex‑7 系列 FPGA
人工智能·ai·fpga开发·云计算·硬件工程·制造·fpga
胡叨叨-FPGAer6 小时前
公司级项目-AD9914扫频源(一)项目需求
fpga开发·射频工程
做一个优雅的美男子6 小时前
特权FPGA之UART串口
fpga开发
爱喝西北风的东北风21 小时前
状态机思想编程
单片机·嵌入式硬件·fpga开发
博览鸿蒙21 小时前
GPU是什么? 与 FPGA 有何关联
fpga开发
奋斗的牛马1 天前
FPGA_DDR(一) 仿真
fpga开发
泪水打湿三角裤1 天前
FPGA--HDLBits网站练习
fpga开发
632971 天前
FPGA状态机设计:流水灯实现、Modelsim仿真、HDLBits练习
fpga开发