根據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
+關注
關注
1630文章
21759瀏覽量
604302 -
Xilinx
+關注
關注
71文章
2168瀏覽量
121686 -
IP
+關注
關注
5文章
1712瀏覽量
149660 -
PCIe
+關注
關注
15文章
1243瀏覽量
82778 -
MPSoC
+關注
關注
0文章
199瀏覽量
24300
原文標題:基于ZCU106來實現PL PCIE Tandem PROM功能
文章出處:【微信號:FPGA-EETrend,微信公眾號:FPGA開發圈】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論