自学内容网 自学内容网

学习pcie—20240708

学习pcie引脚分配及约束

参考:doc/FPGA_PCIe_pin_assignment.md · Dr.X.Wang/Xilinx-FPGA-PCIe-XDMA-Tutorial - Gitee.com

阅读开发板PCB原理图(schematic) ,自己编写 .xdc 进行引脚分配。以米联客7k325t为例

1.

首先我们要找到 PCIe 插口 这个元件(也就是PCIe金手指,用来插到计算机主板的PCIe插槽里)。

找到四对差分信号线,红色部分所示

找到参考时钟,黄色部分所示

找到复位信号,绿色部分所示

2.

找到fpga的引脚 原理图中没有连线,但是已经有约束文件

所以只能反着找了,正着推不出来。

这里注意以下几点:

  • PACKAGE_PIN 后跟着的是这个引脚对应的引脚号。
  • Xilinx 规定:对于差分对(包括差分时钟和差分信号),只需要约束 P 而不需要约束 N ,因此 .xdc 里没有出现 i_pcie_refclkn 、 o_pcie_txn 、 i_pcie_rxn 。
  •  TX 和 RX 是在 RC 的视角上而言的。而在 .xdc 里我们推荐使用 FPGA 的视角,与 RC 的视角相反,因此 .xdc 里的 o_pcie_txp[0] 对应的是原理图中的 PCIE-RX0_P ,以此类推 ……
  • NetFPGA 提供了 PCIe x8 的宽度。而实际上我们可以只用更窄的 x1 和 x4,此时我们要在 .xdc 中注释掉不用的引脚。
    • 例如只使用 PCIe x1 时,应该注释掉 o_pcie_txp[1~7] 和 i_pcie_rxp[1~7] ;只保留 o_pcie_txp[0] 和 i_pcie_rxp[0] 。
  • PCIe 复位信号 的 IOSTANDARD LVCMOS18 是指该引脚的电平为 1.8V CMOS 。 PCIe 的时钟和信号引脚不需要指定 IOSTANDARD
  • PCIe 复位信号 的PULLUP true 是指该引脚弱上拉为高电平。这里不指定 PULLUP true 应该也不影响功能,不过我还没试过。
  • 对于以上 .xdc 约束文件,则 FPGA 工程的顶层 Verilog 文件的模块定义应该如下。注意:

  • .xdc 中的引脚名应该和 Verilog 中保持一直。
  • 对于一对差分信号, Verilog 中会出现 P 和 N 这两个信号。而不像 .xdc 中只需要约束 P 。


原文地址:https://blog.csdn.net/weixin_49574391/article/details/140269979

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!