云计算百科
云计算领域专业知识百科平台

VS Code用Waveform Render画波形图

文章目录

    • 简介
    • 波形说明
    • 其他功能

Waveform Render是一款将JSON格式文件转换为波形图的工具,其在线版本为Wavedrom编辑器。通过定义signal列表中的波形字典,可以创建多行波形,其中name表示信号名,wave决定波形走向(使用p、n、.、0、1等字符表示不同波形状态),data为特殊波形命名。工具还支持相位调制(phase)、周期设置(period)和波形嵌套组织功能。示例展示了如何创建包含时钟信号、数据信号和测试信号的复杂波形图,并演示了分层组织波形的能力。

简介

【Waveform Render】可以将json格式的文件转换为波形图,wavedrom为其在线版本。

对于如下json文件

{ "signal": [
{ "name": "clk", "wave": "p…..|…"},
{ "name": "dat", "wave": "x.245x|=.x", "data": ["head", "body", "tail", "data"] },
{ "name": "req", "wave": "0.1..0|1.0"},
{ "name": "ack", "wave": "1…..|01."},
{},
{ "name": "test", "wave": "lhLH01|011" }
]}

点击文件上方的波形按钮,即可生成如下波形

在这里插入图片描述

波形说明

Waveform Render的整体结构很简单,signal实际上是个列表,列表中的每个元素都是一个波形字典,代表一行波形。字典中,【name】是信号名;【wave】为信号形状;【data】为信号中某些特殊波形的名字。

【wave】是决定波形走向的关键,其中每个字符都表示1个时钟周期。以【clk】和【test】为例,不同字符的含义如下

p 上升沿开始的一个时钟周期 n 下降沿开始的一个时钟周期
. 与上一个时钟周期相同 | 表示省略
0 信号低电平 1 信号高电平
l 时钟低电平 h 时钟高电平
L 下降沿+低电平 H 上升沿+高电平

接下来看【dat】,由于点号代表延续上一个字符,则其波形等价为【xx345x|==x】,结合dat的波形,就可以很容易看出x 为无效波形;=和2到9的数字为有效波形。对于有效波形,可以用data列表中的字符串来描述,且不同的数字对应不同的颜色。

其他功能

【phase】可调制相位;【period】可添加周期;通过列表嵌套,可以对波形进行组织,示例如下

{"signal": [
{"name": "clk", "wave": "LHLH", "period":2},
["A",
["A1",
{"name": "a11", "wave": "01010101"},
{"name": "a12", "wave": "01010101", "phase":0.5}
],
{"name": "a2", "wave": "01010101", "phase":1},
{"name": "a3", "wave": "01010101", "phase": 1.5}
],
{},
["B",
{"name": "b1", "wave": "0101", "period":2},
{"name": "b2", "wave": "0101"}]
]}

在这里插入图片描述

赞(0)
未经允许不得转载:网硕互联帮助中心 » VS Code用Waveform Render画波形图
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!