SEM IP在上板調試過程中有時會出現一些錯誤,比如無法執行IP的插錯糾錯功能,或者自身的初始化無法完成等等,需要對SEM IP本身進行調試定位。我們最推薦客戶去查看IP從上電開始打印出來的串口信息。這里面的log不僅包含了IP從初始化開始經歷的一系列狀態,還能清楚地顯示出一些事件的時間戳。
但是很多客戶反應,實際調試的硬件板上沒有連接串口,沒辦法查看log,只能靠抓取SEM IP Status Interface的 status_*信號,通過其可以查看 IP有無心跳,或者IP是否進入了正確的狀態等。困難的是,很多問題需要同時查看所有的status_*信號組合,并且綜合分析status_*的歷史狀態以及當前狀態,復雜且需要較多的調試經驗。
解決方法其實很簡單,我們只要在設計里面添加一個FIFO,將SEM IP Monitor Interface輸出的ASCII字符 log全部存入FIFO。需要定位的時候,用ILA+VIO控制讀出來并直接顯示就行了。
這里以VCU118 (VU9P) 開發板為例說明, 步驟如下:
1. 生成適配VCU118開發板的SEM IP example design。
2. 按照開發板的構造, 按需修改icap_clk的頻率及管腳位置。也可以添加其他想要查看的信號。比如,可以綁定6個status_*信號到LED管腳上方便查看。
3. 頂層引入FIFO讀寫時鐘clk300p/n (300MHz)。
XDC里面做好相應的約束:
4. 生成并添加用于存儲log的FIFO,讀取顯示FIFO字符的ILA和用于控制的VIO。
至于FIFO的大小,SEM IP 正常情況下除了最開始會打印出初始化過程和基本信息,進入工作狀態Observation后就基本沒有輸出了。只有發生了SEU事件或者其他異常,才會在串口推送出對應的報告。由于SEU事件是極為偶發的罕見事件,報告字符也不會多。所以這里設定500 bytes已經能滿足絕大多數應用需求:
更多步驟,請點擊閱讀原文移步賽靈思中文博客如何利用FIFO+ILA/VIO抓取SEM IP的串口log
原文標題:開發者分享|如何利用FIFO+ILA/VIO抓取SEM IP的串口log
文章出處:【微信公眾號:XILINX開發者社區】歡迎添加關注!文章轉載請注明出處。
審核編輯:湯梓紅
-
賽靈思
+關注
關注
32文章
1794瀏覽量
131505 -
fifo
+關注
關注
3文章
389瀏覽量
43855 -
串口
+關注
關注
14文章
1557瀏覽量
77037
原文標題:開發者分享|如何利用FIFO+ILA/VIO抓取SEM IP的串口log
文章出處:【微信號:gh_2d1c7e2d540e,微信公眾號:XILINX開發者社區】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
總結調試過程中常見的LOG的抓取辦法
如何找到帶有SEM IP的spartan 6的LUT地址?
sem ip core錯誤緩解問題的解決辦法?
STM32 教你用串口,配置所需詳細步驟!!!
![STM32 教你用<b class='flag-5'>串口</b>,配置所需<b class='flag-5'>詳細</b><b class='flag-5'>步驟</b>!!!](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
一款新拿到的芯片,沒有串口驅動時如何打印log?
一些封裝中沒有串口,或者串口已經被用作其他用途,要如何輸出log?
logcat命令抓取日志方法
![logcat命令<b class='flag-5'>抓取</b>日志方法](https://file1.elecfans.com/web2/M00/B2/66/wKgZomVfGPeABVS6AABEIBEupeg325.jpg)
linux更改ip步驟命令
AMD MPSoC器件中啟用SEM IP的策略與方法
![AMD MPSoC器件中啟用<b class='flag-5'>SEM</b> <b class='flag-5'>IP</b>的策略與方法](https://file1.elecfans.com/web2/M00/C2/35/wKgZomXhNaOATnz8AAAenx4s_Ts693.png)
評論