本文为大家介绍在 MATLAB 中调用 Signal Tap Logic Analyzer 采集数据的方法。列出计算机的环境配置和工程 stp 文件的配置,分析 MATLAB 中使用的脚本语句,以及讲解在实操中可能遇到的问题。
计算机的环境配置
在 Quartus 的安装路径下找到 alt_signaltap_run 文件,我们需要有这个文件才能在 MATLAB 中调用 Signal Tap Logic Analyzer。如下图 (图1) 所示:
图1 Quartus 安装路径
将 alt_signaltap_run 文件的路径添加到环境变量 “Path” 中。编辑环境变量,如下图 (图2) 所示:
图2 编辑环境变量
添加路径到环境变量中,如下图 (图3) 所示:
图3 添加路径到环境变量中
完成以上步骤,MATLAB 才能成功运行 alt_signaltap_run 函数。这里 alt_signaltap_run 文件的路径是 'D:ProgramFileintelFPGA_pro20.2quartusin64',在 MATLAB 中输入命令:
>> addpath 'D:ProgramFileintelFPGA_pro20.2quartusin64'
>> alt_signaltap_run
若出现 alt_signaltap_run 函数的使用说明,如下图 (图4) 所示,则环境配置成功。
图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 界面
在 MATLAB 中调用函数前,需要在 Signal Tap Logic Analyzer 中设置好 JTAG 配置并保存,让 MATLAB 能通过 stp 文件找到器件进行采样。
MATLAB 脚本
调用 Signal Tap 采集数据的 MATLAB 脚本包含 3 个关键命令:
将 alt_signaltap_run 的路径添加到搜索路径
调用 alt_signaltap_run 函数得到数据矩阵
断开 JTAG 链接
一个简单的采集脚本,如下图 (图6) 所示:
图6 MATLAB 调用脚本
其中 'D:ProgramFileintelFPGA_pro20.2quartusin64' 是 alt_signaltap_run 文件的路径,而 stp 文件的完整路径和文件名为'D:Project_Examples10_jesd204b_directoutput_filesstp1.stp'。运行后会得到矩阵 data,每一列对应指定 instance 中的每个信号,顺序为 stp 文件信号的排列次序,每一行对应一个样点,可以提取需要的数据进行运算。采集的数据,如下图 (图7) 所示:
图7 采集的数据
常见问题
对实际操作中可能出现的常见问题进行小结。比如在 MATLAB 中输入 alt_signaltap_run 命令导致 MATLAB 未知错误闪退,这应该是环境变量没有设置好;在 MATLAB 提示无法建立 JTAG 链路,可能是 stp 文件的 JTAG 配置有更改,需要再次保存,才能通过 stp 文件采集数据。
总结
本文通过讲解实际操作步骤,介绍了在 MATLAB 中调用 Signal Tap Logic Analyzer 采集数据的方法,并总结了在使用过程中可能出现的问题。
-
matlab
+关注
关注
184文章
2970浏览量
230358 -
计算机
+关注
关注
19文章
7480浏览量
87841 -
quartus
+关注
关注
16文章
171浏览量
74618 -
逻辑分析仪
+关注
关注
3文章
214浏览量
23161 -
脚本
+关注
关注
1文章
389浏览量
14858
原文标题:在 MATLAB 中调用 Quartus SignalTap 逻辑分析仪采集数据的方法
文章出处:【微信号:骏龙电子,微信公众号:骏龙电子】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
评论