本文為大家介紹在 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
+關注
關注
185文章
2974瀏覽量
230382 -
計算機
+關注
關注
19文章
7488瀏覽量
87849 -
quartus
+關注
關注
16文章
171瀏覽量
74622 -
邏輯分析儀
+關注
關注
3文章
214瀏覽量
23165 -
腳本
+關注
關注
1文章
389瀏覽量
14858
原文標題:在 MATLAB 中調用 Quartus SignalTap 邏輯分析儀采集數據的方法
文章出處:【微信號:駿龍電子,微信公眾號:駿龍電子】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論