本文轉(zhuǎn)載自:ZYNQ微信公眾號
ILA 簡介
集成邏輯分析儀 (Integrated Logic Analyzer :ILA) 功能允許用戶在 FPGA 設(shè)備上執(zhí)行系統(tǒng)內(nèi)調(diào)試后實(shí)現(xiàn)的設(shè)計(jì)。當(dāng)設(shè)計(jì)中需要監(jiān)視信號時,應(yīng)使用此功能。用戶還可以使用此功能在硬件事件和以系統(tǒng)速度捕獲數(shù)據(jù)時觸發(fā)。
添加 ILA
1.使用 IP 添加
添加IP
例化IP,并將所需要的信號放入 Probe 里面
2.圖形界面添加
給待測試的信號加上約束,防止被優(yōu)化
在綜合選項(xiàng)下點(diǎn)擊set up debug,選擇需要查看的信號即可
ILA 數(shù)據(jù)和波形的關(guān)系
1. hw_ila表示的是ila核
2. hw_ila_data表示保存在存儲器中的ila文件
3. WCFG是波形配置(信號顏色,總線進(jìn)制表示,信號順序,marker等)
4. WDB是波形數(shù)據(jù)庫(波形數(shù)據(jù))
ILA 失敗情景
情景1:沒有波形窗口
現(xiàn)象如下:
WARNING: [Labtools 27-3123] The debug hub core was not detected at User Scan Chain 1 or 3.
Resolution:
1. Make sure the clock connected to the debug hub (dbg_hub) core is a free running clock and is active OR
2. Manually launch hw_server with -e “set xsdb-user-bscan ” to detect the debug hub at User Scan Chain of 2 or 4. To determine the user scan chain setting, open the implemented design and use: get_property C_USER_SCAN_CHAIN [get_debug_cores dbg_hub]。
WARNING: [Labtools 27-1974] Mismatch between the design programmed into the device xc7z010_1 and the probes file E:/Xilinx/example/dma_sg_m/dma_sg_m.runs/impl_1/debug_nets.ltx.
The device design has 0 ILA core(s) and 0 VIO core(s)。 The probes file has 1 ILA core(s) and 0 VIO core(s)。
Resolution:
1. Reprogram device with the correct programming file and associated probes file OR
2. Goto device properties and associate the correct probes file with the programming file already programmed in the device.
解決方法:查看 ILA 的時鐘,如果不是自由時鐘會出現(xiàn)這種問題,然后重啟VIVADO軟件,重新打開
情景2:有波形窗口沒有波形
現(xiàn)象如下:
使用示波器查看ILA信號發(fā)現(xiàn)時鐘頻率發(fā)現(xiàn)是10M
分析:查看 Xilinx 手冊發(fā)現(xiàn)JATG的時鐘頻率要比被ILA的時鐘頻率2.5倍低
解決方法1:修改 Hardware Target 的 JTAG 時鐘頻率
解決方法2:在TCL里面添加約束
上電后查看 ILA 信號
使用場景:flash偶爾在上電后讀出來后出錯,可以使用該方法。
一般情況下都是讓要抓的事件延遲發(fā)生或者循環(huán)發(fā)生,方便調(diào)試。
如果實(shí)在要抓啟動時的事件,按下面的步驟:(下面流程是ILA核在綜合階段不能浮空)
先把有ILA核的bit文件下進(jìn)去,設(shè)置觸發(fā)好條件
運(yùn)行下面的Tcl命令把觸發(fā)寄存器的值保存在tas文件中
%run_hw_ila -file ila_trig.tas [get_hw_ilas hw_ila_1]
打開實(shí)現(xiàn)后的implement工程
運(yùn)行下面的Tcl命令把觸發(fā)設(shè)置加到當(dāng)前內(nèi)存里已經(jīng)布線的implement設(shè)計(jì)上去
%apply_hw_ila_trigger ila_trig.tas
注意:如果發(fā)生錯誤的話說明ILA核在綜合過程中被flattened了,這時需要設(shè)置保留hierarchy重新綜合實(shí)現(xiàn)。
直接用Tcl命令生成bit文件,不能點(diǎn)擊生成bit命令,這樣工程會認(rèn)為implement發(fā)生了改動而全部重新布線。
write_bitstream trig_at_startup.bit
參考鏈接
chrome-extension://ibllepbpahcoppkjjllbabhnigcbffpi/https://www.xilinx.com/support/documentation/sw_manuals/xilinx2020_1/ug9.。.
chrome-extension://ibllepbpahcoppkjjllbabhnigcbffpi/https://www.xilinx.com/support/documentation/sw_manuals/xilinx2020_1/ug9.。.
審核編輯:何安
-
Vivado
+關(guān)注
關(guān)注
19文章
804瀏覽量
66224
發(fā)布評論請先 登錄
相關(guān)推薦
評論