FPGA开发时序图绘制

ops/2025/2/27 16:18:13/

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

开始

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

{"signal":[{"name":"clk","wave":"p....."},{"name":"data","wave":"010101"}]}

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

语法

时钟信号

  • p 表示上升沿开始的方波
  • n 表示下降沿开始的方波
  • l 表示低电平
  • h 表示高电平
  • 大写会在方波边沿绘制箭头
    |300
    代码渲染出的时序图为:
    |365

数据信号

  • 01

  • x 表示未知状态

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

  • 可以用 | 表示省略一段信号
    500
    periodphase 变量用于调整时序

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

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

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

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

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


http://www.ppmy.cn/ops/161719.html

相关文章

jmeter聚合报告如何添加单位_性能测试连载(8)jmeter压力测试中的难点解析

概述 新人在用jmeter做压力测试的时候,会被一些性能术语搞懵,直接导致的后果就是对测试出来的结果数据根本不能理解,更谈不上分析。这篇文章着重给大家实例解释一下jmeter压力测试的一些专有名词 问题1:什么是压力测试 问到如何做…

微信小程序源码逆向 MacOS

前言 日常工作中经常会遇到对小程序的渗透测试,微信小程序的源码是保存在用户客户端本地,在渗透的过程中我们需要提取小程序的源码进行问题分析,本篇介绍如何在苹果电脑 MacOS 系统上提取微信小程序的源码。 0x01 微信小程序提取 在苹果电…

RIP-AV:使用上下文感知网络进行视网膜动脉/静脉分割的联合代表性实例预训练

文章目录 RIP-AV: Joint Representative Instance Pre-training with Context Aware Network for Retinal Artery/Vein Segmentation摘要方法实验结果 RIP-AV: Joint Representative Instance Pre-training with Context Aware Network for Retinal Artery/Vein Segmentation …

【Maven】-- Maven Scope 详解

目录 Maven Scope 详解 1. 引言 2. Maven 依赖范围(Scope)分类 2.1 compile(默认范围) 2.2 provided 2.3 runtime 2.4 test 2.5 system 2.6 import(仅用于 dependencyManagement) 3. Scope 作用范…

Wireshark详解

Wireshark使用详解 1.Wireshark 简介2.下载与安装1. 下载地址2. 安装步骤(以 Windows 为例) 3. 界面与核心功能1. 主界面布局2. 常用菜单功能 4. 过滤功能详解1. 过滤类型2. 常用过滤命令 5. 过滤命令与网络结构对应6. 使用注意事项7. 案例分析 TCP 三次…

java 单例模式(Lazy Initialization)实现遍历文件夹下所有excel文件且返回其运行时间

单例模式Singleton介绍 定义 在java核心结构中只包含一个被称为单例的特殊类。通过单例模式可以保证系统中,应用该模式的类一个类只有一个实例。即一个类只有一个对象实例 实现思路 将该类的构造方法定义为私有方法,这样其他处的代码就无法通过调用该…

buuctf-简单注册器题解

下载好资源包解压,发现是apk文件。 这里用apk改之理这个软件打开这个文件。 从这里用idea打开class文件,查看main函数 发现了这些代码,看到了注册码错误,那么上面的判断就是正确的flag 那么只要将题目给出的var5里的数值通过下面…

通过阿里云RDS排查解决MYSQL慢SQL--图文教学

通过自治服务和DMS解决数据库IOPS过高的问题,包括排查慢SQL、确定优化方向和使用无锁变更等步骤。 数据库IOPS居高不下,影响过多API业务信息 1. 跟进告警内容 【自治服务】-》【一键诊断】-》【当前资源使用率】-》【IOPS】 RDS-一键诊断 2. 排查慢…