本文轉(zhuǎn)載自:ZYNQ微信公眾號(hào)
ILA 簡(jiǎn)介
集成邏輯分析儀 (Integrated Logic Analyzer :ILA) 功能允許用戶在 FPGA 設(shè)備上執(zhí)行系統(tǒng)內(nèi)調(diào)試后實(shí)現(xiàn)的設(shè)計(jì)。當(dāng)設(shè)計(jì)中需要監(jiān)視信號(hào)時(shí),應(yīng)使用此功能。用戶還可以使用此功能在硬件事件和以系統(tǒng)速度捕獲數(shù)據(jù)時(shí)觸發(fā)。
添加 ILA
1.使用 IP 添加
添加IP
例化IP,并將所需要的信號(hào)放入 Probe 里面
2.圖形界面添加
給待測(cè)試的信號(hào)加上約束,防止被優(yōu)化
在綜合選項(xiàng)下點(diǎn)擊set up debug,選擇需要查看的信號(hào)即可
ILA 數(shù)據(jù)和波形的關(guān)系
1. hw_ila表示的是ila核
2. hw_ila_data表示保存在存儲(chǔ)器中的ila文件
3. WCFG是波形配置(信號(hào)顏色,總線進(jìn)制表示,信號(hào)順序,marker等)
4. WDB是波形數(shù)據(jù)庫(kù)(波形數(shù)據(jù))
ILA 失敗情景
情景1:沒(méi)有波形窗口
現(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 的時(shí)鐘,如果不是自由時(shí)鐘會(huì)出現(xiàn)這種問(wèn)題,然后重啟VIVADO軟件,重新打開
情景2:有波形窗口沒(méi)有波形
現(xiàn)象如下:
使用示波器查看ILA信號(hào)發(fā)現(xiàn)時(shí)鐘頻率發(fā)現(xiàn)是10M
分析:查看 Xilinx 手冊(cè)發(fā)現(xiàn)JATG的時(shí)鐘頻率要比被ILA的時(shí)鐘頻率2.5倍低
解決方法1:修改 Hardware Target 的 JTAG 時(shí)鐘頻率
解決方法2:在TCL里面添加約束
上電后查看 ILA 信號(hào)
使用場(chǎng)景:flash偶爾在上電后讀出來(lái)后出錯(cuò),可以使用該方法。
一般情況下都是讓要抓的事件延遲發(fā)生或者循環(huán)發(fā)生,方便調(diào)試。
如果實(shí)在要抓啟動(dòng)時(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ā)生錯(cuò)誤的話說(shuō)明ILA核在綜合過(guò)程中被flattened了,這時(shí)需要設(shè)置保留hierarchy重新綜合實(shí)現(xiàn)。
直接用Tcl命令生成bit文件,不能點(diǎn)擊生成bit命令,這樣工程會(huì)認(rèn)為implement發(fā)生了改動(dòng)而全部重新布線。
write_bitstream trig_at_startup.bit
下載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文章
834瀏覽量
68711
發(fā)布評(píng)論請(qǐng)先 登錄
FPGA調(diào)試方式之VIO/ILA的使用

FPGA遠(yuǎn)程燒寫bit文件和調(diào)試ILA指南

如何使用One Spin檢查AMD Vivado Design Suite Synth的結(jié)果

一文詳解Vivado時(shí)序約束

Vivado FIR IP核實(shí)現(xiàn)

使用DDS生成三個(gè)信號(hào)并在Vivado中實(shí)現(xiàn)低通濾波器

AMD Vivado Design Suite IDE中的設(shè)計(jì)分析簡(jiǎn)介

Vivado Design Suite用戶指南:邏輯仿真

Vivado中DDRX控制器(mig)ip核配置中關(guān)于命令序號(hào)選擇和地址映射說(shuō)明

通過(guò)spi對(duì)ADC12DL3200進(jìn)行寄存器配置,當(dāng)0x200的值為0x01時(shí)沒(méi)有數(shù)據(jù),為什么?
每次Vivado編譯的結(jié)果都一樣嗎

評(píng)論