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

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

3天内不再提示

Xilinx PCIE core管脚分配错误的解决方案

CHANBAEK 来源: FPGA的现今未 作者: FPGA的现今未 2023-11-17 17:02 次阅读

最近弄PCIE,遇到一个问题,以前我们总认为:Xilinx的PCIE core的管脚是固定的,即指定了PCIE core的位置,对应的管脚也就指定了,真实情况是怎么样的呢?

背景说明

硬件在分配PCIE的管脚的时候,没有分配到xilinx推荐的对应的管脚上,如何处理呢?是否只能改板?

背景介绍

使用7系列的xilinx FPGA,需要用到PCIE core,计划是使用xilinx提供的硬core,该系列的FPGA中只有一个硬core,所以没得选择,我们使用的是PCIE_X0Y0这个硬core,如下图所示:

图片

当PCIE的位置确定以后,PCIE对应的serdes位置也就“固定”了,有三种方式可以来查看这个“固定”位置。

第一、在PG054:7 Series FPGAs Integrated Block for PCI Express v3.2 LogiCORE IP Product Guide中,如下图所示:我们可以看到,对于的K7系列的325T的器件,X4的recommended GT locationg是X0Y4/X0Y5/X0Y6/X0Y7

图片

图片

另外我们在文档ug476:7 Series FPGAs GTX/GTH Transceivers中可以看到X0Y4/X0Y5/X0Y6/X0Y7对应的管脚如下图所示:

图片

第二种方式,直接综合PCIE core,综合后,查看综合结果,如下图所示,我们可以看到,在不对PCIE core做任何约束的情况下,该PCIE默认的管脚也是在channel X0Y4-——X0Y7所在Quad上。其pin的约束和上图一致。

图片

还有第三种方式,通过xilinx提供的example design来确定对应的管脚约束,通过查看example design的约束,我们发现关于位置的约束就只有如下一行,它约束的差分时钟双端转单端的refclk_ibuf,位置为IBUFDS_GTE2_X0Y3,这个刚好也位于MGT_BANG_116。

set_property LOC IBUFDS_GTE2_X0Y3 [get_cells refclk_ibuf]

结论:K7系列FPGA对于X4的PCIE,其默认的约束就是在MGT_BANG_116,

问题

硬件在管脚分配的时候,没有按照Xilinx默认的管脚分配原则分配在MGT_BANG_116,而是分配到了MGT_BANG_118上(第一张图中,右边的4个gtx quad从上到下分别是118/117/116和115)。

解决方案

pcie core和所用的gt是分开的,我们可以通过约束channel的位置来改变所使用的channel,从而改变pcie的管脚。约束如下所示,只需要绑定channel和pcie对应的lane即可,通过约束发现imp阶段工程是可以通过的。

set_property LOC GTXE2_CHANNEL_X0Y12 [get_cells {***/pcie_core/pcie_7x_1_i/inst/gt_top_i/pipe_wrapper_i/pipe_lane[0].gt_wrapper_i/gtx_channel.gtxe2_channel_i}]

测试结果

通过实际上板测试,pcie core能正常link up,进行业务测试收发数据也正常,不过这里也有一个风险,通过device视图我们可以看到,MGT_BANG_118所在的quad是离pcie core最远的quad,尤其是两者之间资源比较多的时候,布线会比较多,这必然导致时序风险。

结论

1、pcie的管脚有xilinx推荐的最佳约束位置,分配管脚的时候应该严格按照推荐的规则来分配;

2、如果硬件把管脚弄错了,可以通过约束来修改pcie core的默认管脚,但是资源紧张的时候可能有时序风险。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1602

    文章

    21323

    浏览量

    593214
  • Xilinx
    +关注

    关注

    70

    文章

    2121

    浏览量

    119374
  • PCIe
    +关注

    关注

    13

    文章

    1083

    浏览量

    80846
  • 管脚
    +关注

    关注

    1

    文章

    222

    浏览量

    31599
收藏 人收藏

    评论

    相关推荐

    #硬声创作季 #FPGA Xilinx入门-16 亚稳态现象原理与解决方案-1

    fpgaXilinx解决方案
    水管工
    发布于 :2022年10月09日 01:44:30

    #硬声创作季 #FPGA Xilinx入门-16 亚稳态现象原理与解决方案-2

    fpgaXilinx解决方案
    水管工
    发布于 :2022年10月09日 01:45:00

    #硬声创作季 #FPGA Xilinx入门-16 亚稳态现象原理与解决方案-3

    fpgaXilinx解决方案
    水管工
    发布于 :2022年10月09日 01:45:22

    #硬声创作季 #FPGA Xilinx入门-16 亚稳态现象原理与解决方案-4

    fpgaXilinx解决方案
    水管工
    发布于 :2022年10月09日 01:45:54

    #硬声创作季 #FPGA Xilinx入门-16 亚稳态现象原理与解决方案-5

    fpgaXilinx解决方案
    水管工
    发布于 :2022年10月09日 01:46:24

    xilinx ddr2硬核管脚问题

    我用xilinx spartan-6fpga 它硬核的管脚是固定的还是可配置的我在xilinx提供的文档里找不到关于硬核管脚分配求指导
    发表于 08-11 09:28

    用于 Xilinx FPGA Zynq 7 的电源解决方案

    描述该参考设计采用多种 TPS54325 和其他 TI 电源器件,是适用于 Xilinx Zynq FPGA 的全套电源解决方案。输入电压达到 12V 后,该参考解决方案可提供 Zynq FPGA
    发表于 04-14 09:46

    xilinx,ddrmig文件中管脚分配

    使用xilinx spartan6,在工程中使用原语生成DDR控制器mig文件,DDR数据管脚定义发生改变,需要重新分配管脚,求告知,这个管脚
    发表于 07-19 09:54

    PCIe应用中的时钟分配方法

    PCIe,那么都要达到 1ps rms 的 RefClk 要求(图 1)。图 1:解决方案 1:支持第 3 代 PCIe 通用 RefClk 抖动限制的服务器卡实例图 1 所示系统可使用一个 7 输出
    发表于 09-17 16:12

    怎么使用一个多点信号来分配PCIe时钟?

    PCI Express (PCIe)是嵌入式和其它系统类型的背板间通信的一个非常理想的协议。然而,在嵌入式环境中,背板连接器引脚通常很昂贵。因此,采用点对点连接的星型结构的PCIe时钟分配方案就变得
    发表于 08-30 06:54

    怎么使用一个多点信号分配PCIe时钟?

    PCI Express (PCIe)是嵌入式和其它系统类型的背板间通信的一个非常理想的协议。然而,在嵌入式环境中,背板连接器引脚通常很昂贵。因此,采用点对点连接的星型结构的PCIe时钟分配方案就变得
    发表于 09-26 07:56

    Xilinx FPGA是否有任何选项或可能的解决方案

    Refclk。对于Altera设计,100nF电容器不需要,因为可以选择使用直流耦合作为PCIe Reflck输入。虽然altera也不推荐这种方法,但它运行良好。Xilinx FPGA是否有任何选项或可能的解决方案可以为
    发表于 08-10 10:00

    PCIE高速传输解决方案FPGA技术XILINX官方XDMA驱动

    PCIE高速传输方案传输的带宽利用率可达到90%以上,延迟可达到理论的最低延迟值。该方案已经应用到航天航空、雷达等领域。一、 高效率传输方案 该采集
    发表于 05-19 08:58

    基于Core的动态内存分配方案

    为了解决基于C*Core系列芯片嵌入式开发过程中,C*Core系统在某些情况下由于受操作系统、数据格式差异等因素影响,不能动态分配C*Core系列芯片内存的问题,采用数组与标志位相结合
    发表于 07-11 10:37 38次下载
    基于<b class='flag-5'>Core</b>的动态内存<b class='flag-5'>分配方案</b>

    如何优化 PCIe 应用中的时钟分配

    如何优化 PCIe 应用中的时钟分配
    发表于 11-07 08:07 0次下载
    如何优化 <b class='flag-5'>PCIe</b> 应用中的时钟<b class='flag-5'>分配</b>