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

    关注

    1664

    文章

    22570

    浏览量

    640647
  • Xilinx
    +关注

    关注

    73

    文章

    2209

    浏览量

    132166
  • IP
    IP
    +关注

    关注

    5

    文章

    1894

    浏览量

    156994
  • PCIe
    +关注

    关注

    16

    文章

    1502

    浏览量

    89127
  • MPSoC
    +关注

    关注

    0

    文章

    205

    浏览量

    25268

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

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

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    TTi全新PLPL - P系列实验室电源:创新与实用的完美结合

    TTi全新PLPL - P系列实验室电源:创新与实用的完美结合 在电子工程师的日常工作中,实验室电源是不可或缺的工具。今天,我们深入了解TTi推出的全新PL
    的头像 发表于 05-14 11:40 283次阅读

    PCIe校时卡 B码-PCIe授时卡 双模pcie时统卡发货视频

    PCIe
    jf_47371611
    发布于 :2026年04月23日 17:54:15

    Onsemi P 沟道 MOSFET:NTR0202PL 和 NVTR0202PL 的技术解析

    Onsemi P 沟道 MOSFET:NTR0202PL 和 NVTR0202PL 的技术解析 在电子设计领域,MOSFET 作为关键元件,其性能直接影响着电路的效率和稳定性。今天,我们深入探讨
    的头像 发表于 04-19 15:45 707次阅读

    ZCU一体化测试解决方案

    在汽车电子电气架构向中央集中化演进的背景下,区域控制器(ZCU)作为整车智能化的核心枢纽,承担着连接中央计算单元与执行器/传感器的关键角色。其功能覆盖配电管理、I/O控制、网络通信及区域算力分配等
    的头像 发表于 03-11 10:03 1158次阅读
    <b class='flag-5'>ZCU</b>一体化测试解决方案

    基于AMD FPGA的HDMI2.1接口实现

    HDMI2.1接口的产品部署。本文将以ZCU106开发板为基础,介绍HDMI2.1的硬件和软件实现,并针对常见调试问题给出解决思路。   HDMI2.1接口概述 High-Definition
    的头像 发表于 02-12 17:18 6700次阅读
    基于AMD FPGA的HDMI2.1接口<b class='flag-5'>实现</b>

    何用软件实现系统的复位?

    看门狗的工作过程是怎样的? 如何用软件实现系统的复位?
    发表于 01-08 06:15

    何用FPGA控制ADV7513实现HDMI画面显示和音频播放

    HDMI接口显示使用DMT时序+TMDS编码实现。当用FPGA控制HDMI的数据传输时,通常可以采用纯RTL实现TMDS算法或者使用专门的HDMI芯片(如ADV7513)这两种方案
    的头像 发表于 12-02 11:05 7210次阅读
    如<b class='flag-5'>何用</b>FPGA控制ADV7513<b class='flag-5'>实现</b>HDMI画面显示和音频播放

    Xilinx高性能NVMe Host控制器IP+PCIe 3.0软核控制器IP,纯逻辑实现,AXI4和AXI4-Stream DMA接口,支持PCIe 3.0和4.0

    命令接口,实现PCIe SSD的复位/断电/SMART/Error Information/Device Self-test管理功能Ø提供1个IO命令接口,实现
    发表于 11-14 22:40

    NVMe高速传输之摆脱XDMA设计45:上板资源占用率分析

    占用率低, 使其能够更容易的被集成到应用环境中。 表1 基于 ZCU106 开发板的资源占用率 表2 基于 VC709 开发板的资源占用率 基于 ZCU106 FPGA 和 VC709 FPGA 和硬件
    发表于 11-13 08:36

    NVMe高速传输之摆脱XDMA设计44:工程设计考量?

    。 system_ila 模块负责抓取总线信号波形, 方便测试过程中的观测与调试。 图1 Block Design 工程设计图 基于 ZCU106 FPGA 的 Block Design 工程设计
    发表于 11-12 09:52

    NVMe高速传输之摆脱XDMA设计43:如何上板验证?

    ZCU106 FPGA 开发板上分别搭建并执行测试。 同时为证明 NoP 逻辑加速引擎对不同 SSD 的适配性, 测试选用了三种不同型号的 SSD, 分别是三星970EVO Plus 250GB、 三星
    发表于 10-30 18:10

    基于AMD Versal器件实现PCIe5 DMA功能

    Versal是AMD 7nm的SoC高端器件,不仅拥有比16nm性能更强的逻辑性能,并且其PS系统中的CPM PCIe也较上一代MPSoC PS硬核PCIe单元强大得多。本节将基于AMD官方开发板展示如何快速部署PCIe5x8
    的头像 发表于 06-19 09:44 2103次阅读
    基于AMD Versal器件<b class='flag-5'>实现</b><b class='flag-5'>PCIe</b>5 DMA<b class='flag-5'>功能</b>

    何用 C# 代码对 FX3/CX3 的 EEPROM 进行编程?

    /CyUSB-NET-manual/td-p/105011),我如何用 C# 代码对 FX3/CX3 的 EEPROM 进行编程? 我应该使用这个功能吗? \"4.9.1
    发表于 05-26 07:21