WaveDromGen开源波形图绘制工具详解

芯片前端设计经常要描述接口波形行为,传统的绘图工具,如TimeGen,Viso都是收费的,而开源工具WaveDrom需要记住繁琐的编码符号,并且,编码方式对画一些复杂接口时序来说,也是极不友好的,如何更快更方便且免费的画接口波形呢?

WaveDromGen使用python3编写,是一款功能强大的开源波形绘制工具,可以用于绘制数字电路的各种波形。该工具提供了一种简单易用的语言来生成各种波形,使得用户可以轻松地创建自己所需要的波形。WaveDromGen不仅易于使用,而且完全免费,是非常实用的工具。

WaveDromGen具有丰富的选项来定制波形,例如调整波形颜色和线宽、添加注释和图例等。这些选项可以帮助用户更好地展示数字电路中的各种信号,同时也为用户提供了更多的创造空间。除了这些选项外,WaveDromGen还支持多种波形类型,例如时钟波形、数据波形、使能波形等。这些波形类型可以满足用户在数字电路设计中的各种需求。

WaveDromGen

WaveDromGen 基于 wavedrom 开发,相比 wavedrom 代码式画图,WaveDromGen 所见即所得,更适合绘制、调整复杂的时序图。

支持功能

  • 图像化绘图,代码绘图、ascii图
  • 绘制 wavedrom 支持内容,输出 json 与 wavedrom 相同(wavedrom存图很麻烦。。)
  • 支持数据保存(json,svg,png)和读取(json)
  • 1. 绘图区

    绘图通过鼠标点击交互绘制波形,操作方式和TimeGen十分相似。

    1. 菜单栏,基本编辑功能
    2. 视图模式:
    3. 绘图器:点击波形绘图
    4. 编辑器:使用代码进行绘图
    5. 字符图:不可编辑,实时将波形准换为ascii图
    6. 绘图器工具栏,从上至下依次为:
    7. clk:时钟,点击后在波形区点击任意位置,将产生时钟波形,再次点击相同位置将改变值,值为依次为正时钟 -> 上升沿 -> 负时钟 -> 下降沿;
    8. sig:单比特信号,点击后在波形区点击任意位置,将产生0电平,再次点击相同位置将改变值为1;
    9. bus:总线信号,点击后在波形区点击任意位置,将产生总线标识,再次点击相同位置将恢复;
    10. x:不定态,点击后在波形区点击任意位置,将产生不定标识,再次点击相同位置将恢复;
    11. z:高阻态,点击后在波形区点击任意位置,将产生高阻标识,再次点击相同位置将恢复;
    12. sel:选择,点击后在波形区点击无波形区域,将增加行列数;上下拖动波形将调整波形位置;上下拖动波形时按住 ctrl 将复制对应波形;左右拖动波形将横向移动波形;
    13. t:文本框,点击后在波形区点击信号名或总线标识,可修改对应名称;
    14. clr:清除,点击后在波形区点击信号,将清除信号数据;
    15. 状态栏

    2. 编辑区

    编辑区整合了WaveDrom的功能,用WaveDrom的符号进行绘图,满足不同绘图要求。

    1. 编辑器工具栏,从左至右依次为:
    2. 渲染: 将编辑器内容渲染为波形图;
    3. 复制: 复制选中内容;
    4. 粘贴: 粘贴复制内容;
    5. 撤销;撤销上一步操作;
    6. 重做;重做撤销操作;
    7. 搜索;搜索关键字
    8. 编辑区: 编辑波形代码,语法遵循 wavedrom 定义

    3. 字符图区

    字符图区可以将绘制的波形实时转换成ascii字符,这下直接黏贴到代码里就可以了。

    5. 下载链接

    wavedromgen: WaveDriomGen是一块图形化绘制时序图的开源工具,快速绘制复杂时序。

    感兴趣的童鞋就试试吧,基于python3+tkinter写的,用来学习python也是个不错的例子哦!

    物联沃分享整理
    物联沃-IOTWORD物联网 » WaveDromGen开源波形图绘制工具详解

    发表评论