SEM IP在上板調(diào)試過程中有時會出現(xiàn)一些錯誤,比如無法執(zhí)行IP的插錯糾錯功能,或者自身的初始化無法完成等等,需要對SEM IP本身進(jìn)行調(diào)試定位。我們最推薦客戶去查看IP從上電開始打印出來的串口信息。這里面的log不僅包含了IP從初始化開始經(jīng)歷的一系列狀態(tài),還能清楚地顯示出一些事件的時間戳。
但是很多客戶反應(yīng),實(shí)際調(diào)試的硬件板上沒有連接串口,沒辦法查看log,只能靠抓取SEM IP Status Interface的 status_*信號,通過其可以查看 IP有無心跳,或者IP是否進(jìn)入了正確的狀態(tài)等。困難的是,很多問題需要同時查看所有的status_*信號組合,并且綜合分析status_*的歷史狀態(tài)以及當(dāng)前狀態(tài),復(fù)雜且需要較多的調(diào)試經(jīng)驗(yàn)。
解決方法其實(shí)很簡單,我們只要在設(shè)計里面添加一個FIFO,將SEM IP Monitor Interface輸出的ASCII字符 log全部存入FIFO。需要定位的時候,用ILA+VIO控制讀出來并直接顯示就行了。
這里以VCU118 (VU9P) 開發(fā)板為例說明, 步驟如下:
1. 生成適配VCU118開發(fā)板的SEM IP example design。
2. 按照開發(fā)板的構(gòu)造, 按需修改icap_clk的頻率及管腳位置。也可以添加其他想要查看的信號。比如,可以綁定6個status_*信號到LED管腳上方便查看。
3. 頂層引入FIFO讀寫時鐘clk300p/n (300MHz)。
XDC里面做好相應(yīng)的約束:
4. 生成并添加用于存儲log的FIFO,讀取顯示FIFO字符的ILA和用于控制的VIO。
至于FIFO的大小,SEM IP 正常情況下除了最開始會打印出初始化過程和基本信息,進(jìn)入工作狀態(tài)Observation后就基本沒有輸出了。只有發(fā)生了SEU事件或者其他異常,才會在串口推送出對應(yīng)的報告。由于SEU事件是極為偶發(fā)的罕見事件,報告字符也不會多。所以這里設(shè)定500 bytes已經(jīng)能滿足絕大多數(shù)應(yīng)用需求:
更多步驟,請點(diǎn)擊閱讀原文移步賽靈思中文博客如何利用FIFO+ILA/VIO抓取SEM IP的串口log
原文標(biāo)題:開發(fā)者分享|如何利用FIFO+ILA/VIO抓取SEM IP的串口log
文章出處:【微信公眾號:XILINX開發(fā)者社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
審核編輯:湯梓紅
-
賽靈思
+關(guān)注
關(guān)注
32文章
1794瀏覽量
131369 -
fifo
+關(guān)注
關(guān)注
3文章
389瀏覽量
43769 -
串口
+關(guān)注
關(guān)注
14文章
1557瀏覽量
76725
原文標(biāo)題:開發(fā)者分享|如何利用FIFO+ILA/VIO抓取SEM IP的串口log
文章出處:【微信號:gh_2d1c7e2d540e,微信公眾號:XILINX開發(fā)者社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論