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) 所示:
将 alt_signaltap_run 文件的路径添加到环境变量 “Path” 中。编辑环境变量,如下图 (图2) 所示:
添加路径到环境变量中,如下图 (图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) 所示,则环境配置成功。
建议使用前输入“alt_signaltap_run ( 'VERBOSE_ON' )” 命令启用提示信息,方便排查问题。数据采集结束后必须使用 “alt_signaltap_run ( 'END_CONNECTION' )” 命令结束本次 JTAG 通信,否则会一直占用 JTAG 端口。
工程 stp 文件配置
在工程中添加 stp 文件,设置好要采样的信号。一般在使用时,输入目标 instance 的名字作为参数,在 MATLAB 中会返回指定 instance 的所有信号单次采样得到的数据。这些数据已经根据 int32 或者 uint32 转换成了十进制,单个信号的位宽如果超过了 32 比特就会返回 0。因此对于要采样的信号,如果超过 32 比特,需要分开组合成若干信号。
在 MATLAB 中调用函数前,需要在 Signal Tap Logic Analyzer 中设置好 JTAG 配置并保存,让 MATLAB 能通过 stp 文件找到器件进行采样。
MATLAB 脚本
调用 Signal Tap 采集数据的 MATLAB 脚本包含 3 个关键命令:
- 将 alt_signaltap_run 的路径添加到搜索路径
- 调用 alt_signaltap_run 函数得到数据矩阵
- 断开 JTAG 链接
一个简单的采集脚本,如下图 (图6) 所示:
其中 '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) 所示:
常见问题
对实际操作中可能出现的常见问题进行小结。比如在 MATLAB 中输入 alt_signaltap_run 命令导致 MATLAB 未知错误闪退,这应该是环境变量没有设置好;在 MATLAB 提示无法建立 JTAG 链路,可能是 stp 文件的 JTAG 配置有更改,需要再次保存,才能通过 stp 文件采集数据。
总结
本文通过讲解实际操作步骤,介绍了在 MATLAB 中调用 Signal Tap Logic Analyzer 采集数据的方法,并总结了在使用过程中可能出现的问题。欲了解更多技术细节和 Intel 相关方案,您可以点击下方「联系我们」,提交您的需求,我们骏龙科技公司愿意为您提供更详细的技术解答。