FPGA信号序列监测工具——VSTAR

it2024-04-11  67

VSTAR基本

本节介绍使用 VSTAR 的设计流程和 VSTAR 的基本内容。

下图1说明了使用 VSTAR 的设计流程的大纲。首先,FPGA项目是从FPGA项目数据导入的,RTL文件是使用设计窗口复制的。对于导入的FPGA项目,设置参数以生成VSTAR IP,并选择信号以探测和更新设计。之后,FPGA合成执行,然后FPGA设计数据(比特流)可以下载到FPGA。

如果设置完成,则运行装有 VSTAR IP 的 FPGA 板。通过 VSTAR IP 自己的学习函数自动了解正常事件传输并生成事件传输规则后,自动检测规则冲突。违规传输以红色显示在事件传输图表中,波形数据写入 VCD 文件。可以观察违反传输周期的波形查看器来调试规则违反的原因。

图1  使用VSTAR的设计流程

 

1. 信号转换顺序

VSTAR调用事件,例如信号转换(上升沿,下降沿,值变化等)。

图2显示了事件传输顺序的波形和事件距离。事件传输(信号传输)定义事件的货币顺序,例如,S1信号应在从 S0上升沿的 T0的一段时间后处于活动状态。间隔时间定义下一个事件应该或不应该在间隔时间的某些时间内发生。

图2   事件转换和事件距离示例

 

1.1 多个事件生成

VSTAR 定义事件的信号转换(上升沿、下降沿 、值变化等)。

对于简单情况,信号边缘更改作为一个事件处理,但多个事件是生成的一些时间。对于多个事件、信号上升和下降边缘的事件、用于比较总线值的事件和设置值以验证值匹配的事件的示例。

对于下图(图 3),显示了 master_port 001+3_enable 信号和地址值比较事件的上升沿事件,以匹配 Master_port_ARADDR总线和设置值。

 

图3  多个事件序列

1.2 数据计数的事件生成

为了验证图像处理管道设计,有时通过计算数据数来验证数据中没有越来越少的数据。下图(图4)显示每个模块计算 VALID 信号的周期,如果其计数达到比较值,则生成事件。通过设置 VSTAR IP 寄存器,可以设置每个模块的比较IP值。

 

图4  数据计数序列

1.3 通信数据的顺序检查

可以检查通信数据的顺序,并探测从发送数据和接收数据转换的并行数据。如果并行数据与常量值匹配,则可以同时生成事件并同时检查超时错误。

图5  数据事务序列检查

 

1.4 检测挂断状态

支持多种功能 , 这些功能可用于在固定时间内检测到无响应状态(超时错误检测功能),并检测在定影时间内未发生事件。 可以检测用户电路的挂断。

图6  固定时间时无响应检测

 

1.5 检查状态机

可以验证状态机的事件事务,如下所示。

图7  状态机的事务检查

 

1.6 具有CPU的系统的应用程序示例

通过探测 CPU 输出的地址总线,可以检查软件行为序列。可以检测地址将在特定地址中输入,以便它可以显示特定范围(缓冲区等)内数据访问的开始时间和完成时间。

图 8    CPU 系统系统验证的应用示例

 

下图显示了地址和使能信号的事件事务:

图9  系统的事务结果

 

2. 选择探头信号

通过使用“Design Window”为VSTAR IP选择信号探针。

2.1 设计窗口

VSTAR IP可嵌入FPGA板中,并通过下面的“Design Window”探测信号,并将其捕获到缓冲区中以进行信号瞬态和波形分析。 可以通过查找功能查看层次结构名称(实例名称)和信号名称。

 

图10  设计窗口的GUI

2.2 探测器种类

下表列出了信号探测器的信号类型和事件检测类型。 可以定义边缘类型,检测次数和事件的值。

子模块设计SIG_GEN有 8 个信号,这些信号被定义为一个组。有 8 个组,总探头信号为 8 个信号SIG_GEN x 8 groups = 64 个信号。样品设计的信号探头被定义为检测每个信号的上升沿。您只需选择 VSTAR 观测目标的信号。

表1  信号探针列表

2.3 事件组

 

VSTAR 可以设置多个组,将多个事件设置为一个组。VSTAR 可以提取每个组的事件事务规则,并检查规则, 以更改每个组的操作模式。

•      规则的自动提取模式

•      用户定义的规则模式

•      超时错误检测

•      断点

图11  事件组

 

2.4 探测和组设置的数量

在 VSTAR 中,默认 16 个信号,最多 256 个信号可以捕获为一组,默认为 16 组,最多可以定义 64 个组。因此,可以探测的默认信号数 是 16 个探头 x 16 个组 = 256 个信号,最多 256 个探头 x 64 个组 = 16,384 个信号。违反事件传输规则时,会自动为每个组学习事件传输,然后生成触发器。

3. 过渡规则的提取

在启动VSTAR IP之后,首先执行规则提取阶段。 如果与规则缓冲区不匹配。 它假定事件事务数据尚未写入规则缓冲区,因此事务已写入缓冲区。

在规则提取阶段,它将计算每个事件的不匹配数。 如果不匹配数可以小于阈值,则它决定完成规则提取阶段。 默认情况下,如果规则不匹配的数量可以等于零,则它决定完成规则提取。 用户可以更改寄存器的事件不匹配阈值。

在完成规则提取阶段之后,然后进入事件检查阶段(在正常行为模式下)。 规则提取的完成可以自动确定。 在检查阶段,当导致与规则缓冲区不匹配时,将其确定为错误,然后生成触发器。

 

图12  提取过渡规则和规则检查

组编号(组 ID)、事件编号(上次事件 ID)、下一个事件编号(事件 ID)和事件间隔时间的事件数据将写入捆绑中的缓冲区,并可以比较数据。请参阅 "6.3.3. 事件缓冲区选项卡"关于事件缓冲区的参数,

 

图13   将转换数据保存到缓冲区

4. 调试窗口的事件事务图表视图

VSTAR调试环境的“Design Window”支持事件传输图和信号波形查看器。 通过这种环境,用户可以在发生违反交易规则的情况以及何时无法完成自动学习功能(收敛)时分析设计错误。

图14显示了事件传输图表的示例,该事件传输图表指示事件的传输顺序。与规则不同的事件传输用红色表示,并且当发生违规时,违规触发器可以暂停运行。 红色部分可以通过波形查看器确认(图15)。

图14  事件过渡和VSTAR图表显示

 

图15  全事务视图和波形视图

 

完成设计调试之后,可以从设计中删除VSTAR IP,再次运行Vivado的FPGA综合,并将比特流文件下载到FPGA中。

虹科FPGA 硬件工程 FPGA开发 虹科FPGA致力于更好的FPGA、SoC以及ASIC开发调试,简化复杂设计的调试流程,大幅缩短开发周期,提高AXI总线利用率。并提供适用于人工智能以及边缘计算的高速处理FPGA开发板(50mm×40mm),支持Ubuntu Linux LTS,ROS,实时操作系统(ThreadX、QNX、FreeRTOS),Xilinx Vitis IDE(Python, C, C++, VHDL, Verilog),通用机器学习(ML)框架(Tensorflow、Caffe),加速库(视觉、数据、DSP、AI)。
最新回复(0)