MATLAB 软件使用技巧 — 调用 Signal Tap Logic Analyzer 采集数据

【时间:2024 年 05 月 10 日, 来源:本站原创, 作者:】

本文为大家介绍在 MATLAB 中调用 Signal Tap Logic Analyzer 采集数据的方法。列出计算机的环境配置和工程 stp 文件的配置,分析 MATLAB 中使用的脚本语句,以及讲解在实操中可能遇到的问题。

计算机的环境配置

在 Quartus 的安装路径下找到 alt_signaltap_run 文件,我们需要有这个文件才能在 MATLAB 中调用 Signal Tap Logic Analyzer。如下图 (图1) 所示:

图1 Quartus 安装路径
图1 Quartus 安装路径

 将 alt_signaltap_run 文件的路径添加到环境变量 “Path” 中。编辑环境变量,如下图 (图2) 所示:

图2 编辑环境变量
图2 编辑环境变量

添加路径到环境变量中,如下图 (图3) 所示: 

图3 添加路径到环境变量中
图3 添加路径到环境变量中

完成以上步骤,MATLAB 才能成功运行 alt_signaltap_run 函数。这里 alt_signaltap_run 文件的路径是 'D:\ProgramFile\intelFPGA_pro\20.2\quartus\bin64',在 MATLAB 中输入命令:

>> addpath 'D:\ProgramFile\intelFPGA_pro\20.2\quartus\bin64'
>> alt_signaltap_run

若出现 alt_signaltap_run 函数的使用说明,如下图 (图4) 所示,则环境配置成功。

图4 MATLAB 命令行窗口
图4 MATLAB 命令行窗口

建议使用前输入“alt_signaltap_run ( 'VERBOSE_ON' )” 命令启用提示信息,方便排查问题。数据采集结束后必须使用 “alt_signaltap_run ( 'END_CONNECTION' )” 命令结束本次 JTAG 通信,否则会一直占用 JTAG 端口。

工程 stp 文件配置

在工程中添加 stp 文件,设置好要采样的信号。一般在使用时,输入目标 instance 的名字作为参数,在 MATLAB 中会返回指定 instance 的所有信号单次采样得到的数据。这些数据已经根据 int32 或者 uint32 转换成了十进制,单个信号的位宽如果超过了 32 比特就会返回 0。因此对于要采样的信号,如果超过 32 比特,需要分开组合成若干信号。

图5 Signal Tap Logic Analyzer 界面
图5 Signal Tap Logic Analyzer 界面

在 MATLAB 中调用函数前,需要在 Signal Tap Logic Analyzer 中设置好 JTAG 配置并保存,让 MATLAB 能通过 stp 文件找到器件进行采样。

MATLAB 脚本

调用 Signal Tap 采集数据的 MATLAB 脚本包含 3 个关键命令:

  • 将 alt_signaltap_run 的路径添加到搜索路径
  • 调用 alt_signaltap_run 函数得到数据矩阵
  • 断开 JTAG 链接 

一个简单的采集脚本,如下图 (图6) 所示:

图6 MATLAB 调用脚本
图6 MATLAB 调用脚本

其中 'D:\ProgramFile\intelFPGA_pro\20.2\quartus\bin64' 是 alt_signaltap_run 文件的路径,而 stp 文件的完整路径和文件名为'D:\Project_Example\s10_jesd204b_direct\output_files\stp1.stp'。运行后会得到矩阵 data,每一列对应指定 instance 中的每个信号,顺序为 stp 文件信号的排列次序,每一行对应一个样点,可以提取需要的数据进行运算。采集的数据,如下图 (图7) 所示: 

图7 采集的数据
图7 采集的数据

常见问题

对实际操作中可能出现的常见问题进行小结。比如在 MATLAB 中输入 alt_signaltap_run 命令导致 MATLAB 未知错误闪退,这应该是环境变量没有设置好;在 MATLAB 提示无法建立 JTAG 链路,可能是 stp 文件的 JTAG 配置有更改,需要再次保存,才能通过 stp 文件采集数据。

总结

本文通过讲解实际操作步骤,介绍了在 MATLAB 中调用 Signal Tap Logic Analyzer 采集数据的方法,并总结了在使用过程中可能出现的问题。欲了解更多技术细节和 Intel 相关方案,您可以点击下方「联系我们」,提交您的需求,我们骏龙科技公司愿意为您提供更详细的技术解答。

联系我们