SEM IP 的主要任務就是掃描 PL Configuration RAM, IP 自身也是在 PL 里面運行。其實 AMD MPSoC 器件同樣可以運行 SEM IP。
但 SEM IP “默認”情況下在 MPSoC 上跑不起來,原因是 PCAP 和 ICAP 的控制權移交問題。ICAP 是 FPGA 控制配置相關操作的接口,SEM IP 的工作是建立在 ICAP 的基礎上,它必須擁有 ICAP 的訪問權限才能夠正常工作。PCAP 和 ICAP 類似,它是 PS 訪問配置控制端的接口。ICAP 和 PCAP 不能同時工作,否則會有沖突。在 MPSoC 剛剛 Boot 起來的時候,配置控制權的接口默認分配給了 PS 和 PCAP。此時 ICAP 不能訪問,IP 也就無法工作起來。下面兩個文檔,以及本文介紹的簡單指令,都是為了解決這個問題。
https://docs.xilinx.com/v/u/en-US/xapp1303-integrating-sem-ip-with-axi
https://docs.xilinx.com/v/u/en-US/xapp1298-integrating-sem-ip
我們先來看指令解決方法。
如果你在 MPSoC 上運行一個 SEM IP,觀察到的 log 如下(此處以 ZCU102 為例):
IP 在初始化階段就卡住了。從 Uart 口的 log 看 ‘ICAP’后續(xù)無字符輸出,這是典型的 IP 無法通過 ICAP 訪問控制端的狀態(tài)。此時需要把控制權從默認的 PCAP 切換到 ICAP 去。我們需要利用 pcap_ctrl 這個寄存器。UG1087 對其定義如下:
https://docs.xilinx.com/r/en-US/ug1087-zynq-ultrascale-registers/pcap_rdwr-CSU-Register
地址為 0xffca3008, Bit 0 的 pcap_pr 就是控制位。其上電默認值為 0x1。
打開 XSCT,連接到 ZCU102 的器件 XCZU9。
根據(jù)地址查詢一下 pcap_ctrl 寄存器的值,返回值為 0x1, 說明確實 PCAP 在控制:
xsct% mrd -force 0xffca3008
FFCA3008: 00000001
把 Bit 0 清零:
xsct% mwr -force 0xffca3008 0x0
此時可以看到 Uart 窗口里 ICAP 立即變?yōu)榭梢栽L問的狀態(tài),并繼續(xù)打印出了完整的 Initialization log:
隨意操作一下 IP,根據(jù) IP 的響應情況,可以看到其已經完全正常開始工作了:
如果 PCB 上有 JTAG 控制接口,那么通過上述方法,直接修改 pcap_ctrl 寄存器就可以了。但是如果 PCB 上沒有 JTAG 口,或者是外場的產品應用,我們就要使用 XAPP1298 或者1303的方法,利用 PS 來做控制權的移交。后續(xù)文檔中我們會解析一下其使用方法并更新一下參考文件。
AMD 自適應SOC 及 FPGA中文技術支持社區(qū)
審核編輯:黃飛
-
amd
+關注
關注
25文章
5503瀏覽量
134696 -
寄存器
+關注
關注
31文章
5372瀏覽量
121283 -
SEM
+關注
關注
0文章
237瀏覽量
14510 -
MPSoC
+關注
關注
0文章
199瀏覽量
24336 -
PCAP
+關注
關注
0文章
12瀏覽量
12630
原文標題:開發(fā)者分享|在 AMD MPSoC 器件中使能 SEM IP (一)
文章出處:【微信號:gh_2d1c7e2d540e,微信公眾號:XILINX開發(fā)者社區(qū)】歡迎添加關注!文章轉載請注明出處。
發(fā)布評論請先 登錄
相關推薦
抓取SEM IP的串口log的詳細步驟
參加搜索引擎營銷SEM培訓的好處?
Zynq UltraScale + MPSoC USB 3.0 CDC器件類設計
有什么方法可以使用SEM和CAPTURE原語嗎?
如何調試Zynq UltraScale+ MPSoC VCU DDR控制器
SoC中IP核互連的不同策略
sem數(shù)據(jù)分析方法
AMD-Xilinx MPSoC的Watchdog在Linux中使用的簡明教程
幾種常見的關于SEM IP的沖突
Zynq UltraScale+ MPSoC中的隔離方法
![Zynq UltraScale+ <b class='flag-5'>MPSoC</b><b class='flag-5'>中</b>的隔離<b class='flag-5'>方法</b>](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
Zynq UltraScale+ MPSoC中的隔離方法應用筆記
![Zynq UltraScale+ <b class='flag-5'>MPSoC</b><b class='flag-5'>中</b>的隔離<b class='flag-5'>方法</b>應用筆記](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
AMD/Xilinx Zynq? UltraScale+ ? MPSoC ZCU102 評估套件
![<b class='flag-5'>AMD</b>/Xilinx Zynq? UltraScale+ ? <b class='flag-5'>MPSoC</b> ZCU102 評估套件](http://www.delux-kingway.cn/images/chaijie_default.png)
AMD Versal自適應SoC器件Advanced Flow概覽(下)
![<b class='flag-5'>AMD</b> Versal自適應SoC<b class='flag-5'>器件</b>Advanced Flow概覽(下)](https://file1.elecfans.com/web3/M00/06/F8/wKgZO2eRnLKAM_GZAAAk2TiKVbI293.png)
評論