0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何用ZCU106来实现PL PCIE Tandem PROM功能

YCqV_FPGA_EETre 来源:Ingdan FPGA 作者:沈月红 2021-06-18 14:57 次阅读

根据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
    +关注

    关注

    1601

    文章

    21296

    浏览量

    593065
  • Xilinx
    +关注

    关注

    70

    文章

    2119

    浏览量

    119359
  • IP
    IP
    +关注

    关注

    5

    文章

    1401

    浏览量

    148267
  • PCIe
    +关注

    关注

    13

    文章

    1082

    浏览量

    80794
  • MPSoC
    +关注

    关注

    0

    文章

    194

    浏览量

    24109

原文标题:基于ZCU106来实现PL PCIE Tandem PROM功能

文章出处:【微信号:FPGA-EETrend,微信公众号:FPGA开发圈】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    zcu102和zcu104有什么区别

    ZCU102与ZCU104是赛灵思(Xilinx)推出的两款高性能嵌入式开发平台,用于开发和验证高性能应用程序。虽然它们都具备卓越的性能和功能,但在一些方面存在一些差异。下面将详细介绍ZCU
    的头像 发表于 01-04 10:54 1207次阅读

    何用BUCK电路简单实现一个可靠的负电源?

    何用BUCK电路简单实现一个可靠的负电源?
    的头像 发表于 12-05 15:12 477次阅读
    如<b class='flag-5'>何用</b>BUCK电路简单<b class='flag-5'>实现</b>一个可靠的负电源?

    何用热敏电阻测量温度?

    何用热敏电阻测量温度
    发表于 11-03 06:01

    何用低成本MCU实现音乐频谱显示

    何用低成本MCU实现音乐频谱显示
    的头像 发表于 10-18 17:10 469次阅读
    如<b class='flag-5'>何用</b>低成本MCU<b class='flag-5'>实现</b>音乐频谱显示

    ZCU216评估板用户指南

    电子发烧友网站提供《ZCU216评估板用户指南.pdf》资料免费下载
    发表于 09-15 10:54 6次下载
    <b class='flag-5'>ZCU</b>216评估板用户指南

    ZCU670评估板用户指南

    电子发烧友网站提供《ZCU670评估板用户指南.pdf》资料免费下载
    发表于 09-14 11:10 0次下载
    <b class='flag-5'>ZCU</b>670评估板用户指南

    ZCU1275特性板用户指南

    电子发烧友网站提供《ZCU1275特性板用户指南.pdf》资料免费下载
    发表于 09-13 10:20 0次下载
    <b class='flag-5'>ZCU</b>1275特性板用户指南

    何用液位开关实现液位保护功能

    液位开关是一种常用的设备,用于实现液位保护功能。光电液位开关可以通过不同的安装位置来实现不同的保护功能。 如果要实现缺水保护
    的头像 发表于 09-01 14:11 370次阅读
    如<b class='flag-5'>何用</b>液位开关<b class='flag-5'>实现</b>液位保护<b class='flag-5'>功能</b>?

    ZCU208评估板用户指南

    zcu208  XILINX品牌
    发表于 08-08 15:58 0次下载

    基于AMD FPGA的PCIE DMA逻辑实现

    AMD FPGA自带PCIE硬核,实现PCIE协议,把串行数据转换为并行的用户数据
    的头像 发表于 07-14 15:53 1026次阅读
    基于AMD FPGA的<b class='flag-5'>PCIE</b> DMA逻辑<b class='flag-5'>实现</b>

    AMD MPSoC R5 AES示例

    在Vitis的 “File - New ” 中,选择“Platform Project”, 指定名称如“zcu106_r5”
    的头像 发表于 07-10 16:56 408次阅读
    AMD MPSoC R5 AES示例

    ZCU106开发板上的仅限TX的设计内实现UHD-SDITX子系统

    本文将侧重于概述如何以 ZCU106 开发板为目标,创建和运行仅限 TX 的设计
    的头像 发表于 07-10 16:36 644次阅读
    在<b class='flag-5'>ZCU106</b>开发板上的仅限TX的设计内<b class='flag-5'>实现</b>UHD-SDITX子系统

    PCIe—Bar空间是怎么生效的?

    最近在研究cocotbext-pcie实现,对于学习PCIe还是挺有帮助的,陆陆续续做个总结,有时间也会在SpinalHDL下实现类似的方针功能
    的头像 发表于 07-03 17:47 2639次阅读
    <b class='flag-5'>PCIe</b>—Bar空间是怎么生效的?

    PCIe PHY寄存器没有内存映射吗?

    有没有办法确认 i.MX6SX PCIe RX 终端的设置。我在 i.MX6SX 上看到 PCIe 实现PCIe RX SI 结果可能表明 RX 终端设置为 OFF,我正在寻找一种
    发表于 05-12 06:40

    何用zabbix的实现主机监控

    Zabbix是企业级分布式开源监控解决方案。可以对应用服务,数据库,网络,操作系统等提供7x24小时的监控,在6.x版本开始也新增了Kubernetes监控功能;本文主要介绍如何用zabbix的实现主机监控。
    发表于 05-05 10:34 1183次阅读
    如<b class='flag-5'>何用</b>zabbix的<b class='flag-5'>实现</b>主机监控