
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