基于ZCU106实现PL PCIE Tandem PROM功能 从而满足100MS之内主板能识别PCIE接口

根据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里面内容,然后按顺序去加载fsbl\bitstream等等内容。
从上图看来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之内枚举的要求。供大家参考。

把机器人操作系统(ROS)正式引入Win10!
HoloLens、Magic Leap One、daystAR G1深度体验
IMG.L宣布视频编码器IP中新增对VP8视频编解码技术的支持
土壤含水量测定仪是什么,它的作用是什么
sql语句中having的用法
基于ZCU106实现PL PCIE Tandem PROM功能 从而满足100MS之内主板能识别PCIE接口
晶体管开关速度有两种方法可以考虑一下
软件开发平台Omniverse Kit 104:轻松创建自定义元宇宙应用
ST提升8位微控制器STMTouch的内置触控性能
人脸识别对于我们来说是风险还是便捷?
可调电阻器是什么 可调电阻器的3个脚如何接线?
“好”屏不好评, LED屏室内显示为啥尴尬了?
自制升压器12v升220v
PEMFC电源系统的工作原理及应用范围
梯度下降两大痛点:陷入局部极小值和过拟合
加装了摄像头和传感器的电视有多受欢迎?
pc服务器和服务器的区别是什么
各大厂商持续发力 全球智能音箱市场规模逐年增大
华为mate60最新消息,各项参数提前知晓
功率半导体类型及特点