开源波形图绘制工具WaveDromGen

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

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

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

开源波形图绘制工具WaveDromGen_第1张图片

WaveDromGen

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

支持功能

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

1. 绘图区

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

开源波形图绘制工具WaveDromGen_第2张图片

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

2. 编辑区

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

开源波形图绘制工具WaveDromGen_第3张图片

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

3. 字符图区

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

开源波形图绘制工具WaveDromGen_第4张图片

5. 下载链接

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

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

你可能感兴趣的:(Python,单片机,fpga开发,嵌入式硬件,Python,Tkinter)