根據PCIE規范對設備的要求是PERST# must deassert 100 ms after the power good of the systems has occurred, and a PCI Express port must be ready to link train no more than 20 ms after PERST# has deasserted.
現在大規模FPGA的bitstream比較大導致板卡從上電到FPGA配置完成的時間遠遠超過100MS的要求,從而電腦端無法正常識別到PCIE設備。
為此Xilinx的PCIE Tandem(詳見PG156)功能是專為滿足PCIe設備在100ms之內枚舉起來要求而設計的。
Zynq UltraScale+ MPSoC是Xilinx推出的第二代多處理SoC系統,其PL提供高性能的PCIE GEN3 IP core給客戶使用。
由于MPSOC的啟動加載image方式是跟純FPGA器件是有所差異,MPSOC器件是需要從PS部分先去加載bootrom里面內容,然后按順序去加載FSBLBitstream等等內容。
MPSOC加載是比純FPGA器件復雜很多同時差異也比較大,所以本文主要是介紹如何在MPSOC的器件里面實現PL PCIE tandem的加載方式來滿足PCIE規范里面對設備100ms的加載時間要求。
此設計流程是James Shen基于Xilinx AE Iris Yang提供的方法上面完善設計并進行板卡驗證。
詳細操作步驟請按照下面流程來進行:
1、測試環境為ZCU106 V1.1板卡和Vivado 2019.1軟件;
2、由于ZCU106的PS DDR4 DIMM中間換過,所以新的DIMM需要按照下面參數來進行修正,不然系統會無法啟動;
3、在PL里面搭建PCIE XDMA架構;
4、根據ZCU106板卡硬件做XDMA配置;
5、根據Xilinx的PCIE example design修改XDC約束;
6、把ZCU106的QSPI配置同時提高時鐘頻率到300MHZ;
7、在XDMA界面設置Tandem PROM;
8、設置XDC里面相關約束文件;
9、修改xfsbl_qspi.c里面時鐘計算相關值;
10、去掉打印Debug等信息,從而節約加載時間;
11、修改xfsbl_partition_load.c來支持加載兩個階段的bitstream文件;
12、對ZCU106的硬件需要進行設置;
13、生成相關boot image;
14、根據ZCU106板卡硬件選擇下載方式去下載bit到板卡上面就實現本文目的。
根據上文的流程和要求,經過硬件板卡實際驗證可以滿足PCIE在100ms之內枚舉的要求。供大家參考。
編輯:jq
-
FPGA
+關注
關注
1660文章
22408瀏覽量
636218 -
Xilinx
+關注
關注
73文章
2200瀏覽量
131120 -
IP
+關注
關注
5文章
1862瀏覽量
155814 -
PCIe
+關注
關注
16文章
1460瀏覽量
88393 -
MPSoC
+關注
關注
0文章
203瀏覽量
25171
原文標題:基于ZCU106來實現PL PCIE Tandem PROM功能
文章出處:【微信號:FPGA-EETrend,微信公眾號:FPGA開發圈】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
基于AMD FPGA的HDMI2.1接口實現
Amphenol ANYTEK PL系列端子塊新品技術解析
如何用FPGA控制ADV7513實現HDMI畫面顯示和音頻播放
Xilinx高性能NVMe Host控制器IP+PCIe 3.0軟核控制器IP,純邏輯實現,AXI4和AXI4-Stream DMA接口,支持PCIe 3.0和4.0
NVMe高速傳輸之擺脫XDMA設計45:上板資源占用率分析
NVMe高速傳輸之擺脫XDMA設計44:工程設計考量?
NVMe高速傳輸之擺脫XDMA設計43:如何上板驗證?
NVMe高速傳輸之擺脫XDMA設計17:PCIe加速模塊設計
基于AMD Versal器件實現PCIe5 DMA功能
如何用ZCU106來實現PL PCIE Tandem PROM功能
評論