Lingkaの宝藏之地
首页项目归档杂谈说说照片墙音乐友链关于
封面

AXU9EGB 双 SFP+(XCZU9EG-FFVB1156-2-I)GT Quad / Lane 选择调试记录

2026-06-25 20:04:14
# FPGA
# GT

1. 目标

为 AXU9EGB 开发板(黑金开发板)上的两个 SFP+ 光口配置 Vivado 10G/25G Ethernet Subsystem IP,并确认其对应的 GTH Quad 和 Lane。

器件型号:

xczu9eg-ffvb1156-2-i

板卡光口连接关系:

接口板卡信号FPGA 封装球位SFP1228_TX2_P/N、228_RX2_P/NTX:N4/N3;RX:M2/M1SFP2228_TX0_P/N、228_RX0_P/NTX:R4/R3;RX:T2/T1


2. 容易混淆的概念

228_TX0/RX0 中的 0 是板卡原理图或 GT Bank 内的通道编号,不等于 Vivado GT Site 坐标中的 X1Y0。

最终应以 Vivado 查询出的实际 GT Site 为准,而不是仅依据 Bank 编号或名称推测。


3. 初次查询遇到的问题

直接执行:

foreach p {R4 R3 T2 T1 N4 N3 M2 M1} {
    puts "$p -> [get_property SITE [get_package_pins $p]]"
}

报错:

ERROR: [Common 17-53] User Exception: No open design.
Please open an elaborated, synthesized or implemented design before executing this command.

原因:当前只打开了 IP 配置窗口,没有打开可查询的 design。

随后执行:

open_io_design -part xczu9eg-ffvb1156-2-i

报错:

ERROR: [Common 17-69] Command failed:
The design mode of fileset 'sources_1' must be 'PinPlanning'

原因:open_io_design 要求 sources_1 的 DESIGN_MODE 设置为 PinPlanning。


4. 正确的 Vivado Tcl 查询方法

在 Tcl Console 中执行:

set_property DESIGN_MODE PinPlanning [get_filesets sources_1]

open_io_design -name pincheck -part xczu9eg-ffvb1156-2-i

foreach p {R4 R3 T2 T1 N4 N3 M2 M1} {
    set pp [get_package_pins -quiet $p]
    puts [format "%-3s -> %s" $p [get_sites -of_objects $pp]]
}

查询输出如下:

R4  -> GTHE4_CHANNEL_X1Y4
R3  -> GTHE4_CHANNEL_X1Y4
T2  -> GTHE4_CHANNEL_X1Y4
T1  -> GTHE4_CHANNEL_X1Y4

N4  -> GTHE4_CHANNEL_X1Y6
N3  -> GTHE4_CHANNEL_X1Y6
M2  -> GTHE4_CHANNEL_X1Y6
M1  -> GTHE4_CHANNEL_X1Y6

结论:

SFP2:228_TX0/RX0 → GTHE4_CHANNEL_X1Y4
SFP1:228_TX2/RX2 → GTHE4_CHANNEL_X1Y6

5. Ethernet Subsystem IP 最终配置

两个通道均属于:

GT Selection = Quad X1Y1
GT Type      = GTH

Lane 选择如下:

光口GT SelectionLane-00SFP2Quad X1Y1X1Y4SFP1Quad X1Y1X1Y6

Quad X1Y1 中可用 Lane 的关系:

Quad X1Y1
├─ X1Y4  → SFP2,228_TX0 / 228_RX0
├─ X1Y5  → 未使用
├─ X1Y6  → SFP1,228_TX2 / 228_RX2
└─ X1Y7  → 未使用

6. 建议的 IP 参数

单路 10G Ethernet 配置建议:

GT Type                 = GTH
GT Selection            = Quad X1Y1
Lane-00                 = X1Y4(SFP2)或 X1Y6(SFP1)
GT RefClk               = 156.25 MHz
GT DRP/Free-running Clk = 100 MHz
GT Location             = Include GT subcore in core

注意:

  • GT RefClk = 156.25 MHz 的前提是板上实际连接到对应 GTH Quad 的专用 GT 参考时钟确实为 156.25 MHz。
  • 不能把普通 PL 逻辑时钟直接当作 GT RefClk。
  • SFP1 和 SFP2 若要分别作为独立 10G 接口,通常应分别实例化两个 Ethernet Subsystem IP:
  • SFP2 IP 绑定 X1Y4
  • SFP1 IP 绑定 X1Y6

7. 查询完成后的恢复操作

查询结束后可关闭 I/O design,并恢复工程默认模式:

close_design
set_property DESIGN_MODE RTL [get_filesets sources_1]

8. 最终结论

SFP2(R4/R3/T2/T1,228_TX0/RX0)
→ GTHE4_CHANNEL_X1Y4
→ Quad X1Y1,Lane-00 = X1Y4

SFP1(N4/N3/M2/M1,228_TX2/RX2)
→ GTHE4_CHANNEL_X1Y6
→ Quad X1Y1,Lane-00 = X1Y6
avatar

Lingka

一个在硬件、MCU、FPGA和ARM Linux SoC之间来回折腾的开发者,目标是让每一块板子都乖乖跑起来。

2026年6月

一
二
三
四
五
六
日
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30

Recent Records

Vivado 10G/25G Ethernet Subsystem Example Design 的 XDC 约束问题整理

2026-07-04 21:04:47

博客缓存与音乐播放问题总结

2026-06-16 14:42:48