Xilinx Arch PCIE卡

作者:搞FPGA开发的Tony老师,来源:CSDN博客

FPGA开发,虽然说行业应用千奇百怪,但是回归到平台设计这款,对外无非接口,对内无非片内总线

这里贴上Xilinx UG883的框图,聊一聊FPGA PCIE卡

接口.png

带宽即是王道

不管面对怎么样的设计,明确用户的需求,完成带宽的评估是项目启动关键的第一步。这个步骤的进行,逻辑工程师也会对自己即将要处理的业务有个更深入的理解。

带宽的需求评估不妨从以下三个节点考虑

  • 输入带宽

  • 处理带宽

  • 输出带宽

  • 输入带宽

FPGA处理器输入的信源,是这个FPGA系统的入口,首先得考虑接不接的住的问题,不然从入口开始,我们就要考虑是采用一片FPGA还是多片FPGA的问题了。

处理带宽

信号到片内模块,经过各种算法处理、拆包、解析、打包…处理的过程中,处理带宽可能大于输入带宽,也可能小于输入带宽。根据带宽的变化以及处理延迟,需要考虑单片FPGA是否满足,同时是否需要外部存储及对应的带宽。

输出带宽

在完成处理之后,数据经过FPGA需要送出。输出多受限于数据流的下一级,需要跟俊数据流的下一级来选择合适的接口。

返璞归真——时钟与资源

完成了带宽的整体评估,从输入到输出,其实对应的逻辑时钟和资源其实可以评估的大差不差了。

FPGA对外接口需要注意的点:

  • GT的Lane数量、参考时钟与复位

  • DDR带宽与片内总线的适配

  • LVDS的bit clock 和 word clock

FPGA对内总线的注意点:

  • stream与memory mapped接口的选择

  • 片内总线与片外接口总线的带宽(时钟与数据位宽)适配

  • 片内总线的层级划分与地址空间划分

  • 模块的划分,高内聚低耦合

复位网络单独拎出来,这个需要结合具体业务来考虑。

最新文章