searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

FPGA开发中使用wavedrom editor自行分析波形

2025-06-23 10:43:24
3
0

在FPGA开发中,时钟对齐是非常关键的。有效的时钟对齐确保了信号在时钟边缘正确采样和处理,从而防止了数据错误和系统不稳定。不论是相同和不同的时钟域,都必须保证信号在传输和处理过程中的一致性。此外,未对齐的信号可能导致竞争和冒险情况,影响系统的可靠性。因此,在设计FPGA 逻辑时,必须要保证信号对齐在正确的时钟周期。

然而,FPGA开发过程中,单独面对代码或者在纸上画时序图来分析时序,很容易会遗漏部分需要分析的关键点,或者产生错误。而通过仿真过程来看时序图,需要首先进行一次仿真才能看到波形,消耗的时间比较长,且错误的逻辑不会得到正确仿真结果。因此,我们需要一个工具,能够方便地画出格式标准的时序图。Wavedrom Editor就是这样一款开源的时序图绘制工具。

Wavedrom Editor在官网上,既可以找到它的客户端,也可以直接在网页端使用。wavedrom editor本身轻量化,即开即用,而且可以方便地保存和打开波形文件。其官网可以通过搜索引擎很容易得到。

打开官网,可以看到在线使用的地方,以及客户端按钮。点击editor可以在网页中使用,点击download editor可以使用客户端。

打开时序图编辑器之后,我们可以看到整个编辑器划分为信号编辑部分和时序图展示部分,如下图1所示。

图1  wavedrom界面

在信号编辑部分,我们可以以json的格式添加信号。每一个信号的结构包括名称name和wave波形两个部分,也可以对波形的指定位置进行命名。波形中每一个符号代表一个时钟周期,具体的符号所表示的含义如下表所示。

.

上一个时钟周期波形继续延续

pn

在此周期时钟上升沿或下降沿

01

bit信号低或高

2~9

多位宽信号采取不同color,以作区分

xz

信号未知态或高阻态

|

表示略过一段时序图

通过不同的信号名和符号的组合,我们可以方便地对自己的逻辑的时序进行查看,从而分析编写逻辑的时序对齐状态,纠正可能存在的错误。例如,我们可以对avalon stream总线进行时序模拟和分析。在这里,我们手动编写json文件,可以看到对一次avst发包的分析波形。

图2  一次avalon stream发包的过程时序图编写

分析完成之后,我们还可以将图片保存为svg或png格式。客户端点击右下角的选项按钮即可导出,也有一些其他的选项,例如导入、刷新、push git等。

0条评论
作者已关闭评论
cuixinyu
6文章数
0粉丝数
cuixinyu
6 文章 | 0 粉丝
原创

FPGA开发中使用wavedrom editor自行分析波形

2025-06-23 10:43:24
3
0

在FPGA开发中,时钟对齐是非常关键的。有效的时钟对齐确保了信号在时钟边缘正确采样和处理,从而防止了数据错误和系统不稳定。不论是相同和不同的时钟域,都必须保证信号在传输和处理过程中的一致性。此外,未对齐的信号可能导致竞争和冒险情况,影响系统的可靠性。因此,在设计FPGA 逻辑时,必须要保证信号对齐在正确的时钟周期。

然而,FPGA开发过程中,单独面对代码或者在纸上画时序图来分析时序,很容易会遗漏部分需要分析的关键点,或者产生错误。而通过仿真过程来看时序图,需要首先进行一次仿真才能看到波形,消耗的时间比较长,且错误的逻辑不会得到正确仿真结果。因此,我们需要一个工具,能够方便地画出格式标准的时序图。Wavedrom Editor就是这样一款开源的时序图绘制工具。

Wavedrom Editor在官网上,既可以找到它的客户端,也可以直接在网页端使用。wavedrom editor本身轻量化,即开即用,而且可以方便地保存和打开波形文件。其官网可以通过搜索引擎很容易得到。

打开官网,可以看到在线使用的地方,以及客户端按钮。点击editor可以在网页中使用,点击download editor可以使用客户端。

打开时序图编辑器之后,我们可以看到整个编辑器划分为信号编辑部分和时序图展示部分,如下图1所示。

图1  wavedrom界面

在信号编辑部分,我们可以以json的格式添加信号。每一个信号的结构包括名称name和wave波形两个部分,也可以对波形的指定位置进行命名。波形中每一个符号代表一个时钟周期,具体的符号所表示的含义如下表所示。

.

上一个时钟周期波形继续延续

pn

在此周期时钟上升沿或下降沿

01

bit信号低或高

2~9

多位宽信号采取不同color,以作区分

xz

信号未知态或高阻态

|

表示略过一段时序图

通过不同的信号名和符号的组合,我们可以方便地对自己的逻辑的时序进行查看,从而分析编写逻辑的时序对齐状态,纠正可能存在的错误。例如,我们可以对avalon stream总线进行时序模拟和分析。在这里,我们手动编写json文件,可以看到对一次avst发包的分析波形。

图2  一次avalon stream发包的过程时序图编写

分析完成之后,我们还可以将图片保存为svg或png格式。客户端点击右下角的选项按钮即可导出,也有一些其他的选项,例如导入、刷新、push git等。

文章来自个人专栏
文章 | 订阅
0条评论
作者已关闭评论
作者已关闭评论
0
0