生态系统概述
PCIe 作为一个开放的行业标准(由 PCI-SIG 维护),拥有庞大的生态系统。从芯片设计到最终产品,涉及 IP 供应商、芯片厂商、工具厂商、软件社区等多个角色。了解这个生态有助于在开发、调试和选型时找到合适的资源。
PCI-SIG 的角色
PCI-SIG(PCI Special Interest Group)是 PCIe 规范的制定和维护组织,成员包括 Intel、AMD、NVIDIA、 Qualcomm 等数百家公司。PCI-SIG 负责:
- 制定和维护 PCIe Base Specification、CEM Specification 等规范
- 组织 Compliance Workshop(一致性测试研讨会)
- 维护 Integrators List(通过一致性测试的设备列表)
- 推动新版本规范的开发(如 Gen6、Gen7)
PCIe IP 供应商
大多数芯片公司不自己设计 PCIe 控制器 IP,而是从专业 IP 供应商购买许可。这些 IP 经过严格验证和一致性测试,大大降低了芯片开发风险。
| 厂商 |
主要 IP |
特点 |
| Synopsys |
DesignWare PCIe Controller |
业界最广泛使用的 PCIe IP,支持 RC/EP/Switch 全模式,覆盖 Gen1-Gen6,市占率最高 |
| Cadence |
Cadence PCIe Controller IP |
支持 Gen1-Gen6,提供完整 PHY + Controller 套件,低功耗优化突出 |
| ARM |
CoreLink PCIe Controller |
面向 ARM SoC 生态,与 Cortex 核心、SMMU 深度整合 |
| Alphawave |
PCIe PHY IP |
专注于高速 SerDes/PHY IP,在 Gen5/Gen6 PHY 领域领先 |
| Rambus |
PCIe Controller / PHY |
提供 Controller 和 PHY IP,支持安全启动和加密 |
| Arteris |
Ncore Cache Coherent Interconnect |
提供与 PCIe 配合的片上互联 IP,用于 CXL 场景 |
IP 选型考量
- 支持的代际:是否支持目标 Gen 版本(如 Gen5/Gen6)
- 角色模式:RC、EP、Switch 哪些模式需要
- 链路宽度:最大支持的 Lane 数(x1 到 x16/x32)
- 功耗/面积:移动端还是服务器端,PPA 优化方向不同
- 验证成熟度:IP 是否通过 PCI-SIG 一致性测试,是否在 Integrators List 上
主要芯片厂商
以下厂商在各自领域提供集成 PCIe 控制器的芯片产品:
CPU / 平台厂商
| 厂商 |
代表产品 |
PCIe 角色 |
| Intel |
Xeon / Core 处理器、Intel Server chipset |
RC(Root Complex),集成 PCIe Gen5 控制器 |
| AMD |
EPYC / Ryzen 处理器 |
RC,集成 PCIe Gen5,支持 EPYC 多 die 互联 |
| ARM |
Neoverse 平台(N1/N2/V2) |
RC,通过 CoreLink 控制器提供 PCIe Gen5 |
| Ampere |
Ampere Altra / Altra Max |
RC,ARM 服务器平台,多 PCIe 通道 |
GPU / 加速器厂商
| 厂商 |
代表产品 |
PCIe 角色 |
| NVIDIA |
H100 / A100 / RTX 系列 |
EP,PCIe Gen5 x16,支持 ATS/PRI/PASID |
| AMD (GPU) |
Instinct MI300 / Radeon |
EP,PCIe Gen5,支持 CXL 3.0 |
| Intel (GPU) |
Intel Data Center GPU (Ponte Vecchio) |
EP,PCIe Gen5,支持 CXL |
存储 / 网络厂商
| 厂商 |
代表产品 |
PCIe 角色 |
| Samsung |
NVMe SSD (9xx系列, PM9A3) |
EP,PCIe Gen4/Gen5 x4 |
| Marvell |
FastLinic 网卡、Switch 芯片 |
EP / Switch,PCIe Gen4/Gen5 |
| Broadcom |
NetXtreme 网卡、PCIe Switch (PLX) |
EP / Switch,PLX 是最知名的 PCIe Switch 品牌 |
| Mellanox (NVIDIA) |
ConnectX 系列网卡 |
EP,PCIe Gen4/Gen5,支持 RDMA |
| Microchip |
Switchtec PCIe Switch |
Switch,提供中小规模 PCIe Switch 芯片 |
硬件测试工具
PCIe 硬件测试需要专业的测试设备,用于信号质量分析、协议分析和一致性测试。
| 工具类型 |
厂商 / 产品 |
用途 |
| 协议分析仪 |
Teledyne LeCroy Summit 系列 |
抓取链路层/事务层 TLP/DLLP 流量,业界最常用 |
| 协议分析仪 |
Keysight U4310A / E4540A |
逻辑分析仪 + PCIe 协议解码 |
| 示波器 |
Teledyne LeCroy WavePro / LabMaster |
测量眼图、抖动、信号质量(Gen5 合规测量通常需要 50–65GHz,Gen6 PAM4 需要 100GHz+) |
| 示波器 |
Keysight Infiniium UXR |
高带宽实时示波器,支持 PCIe Gen5/Gen6 测量 |
| BERT |
Anritsu BERTWave / Keysight N4960A |
误码率测试仪,评估链路 BER 和接收端容限 |
| VNA |
Keysight PNA / R&S ZNA |
矢量网络分析仪,测量通道 S 参数和阻抗 |
| 夹具/治具 |
Wilder / Yamaichi PCIe 测试夹具 |
CEM 插槽测试夹具,用于信号引出 |
选型建议
硬件测试设备价格昂贵(单台设备数十万到数百万人民币)。选型时应考虑:
- 支持的代际:Gen5 合规测量通常需要 50–65GHz 带宽示波器(Gen6 需 100GHz+)
- 协议解码能力:是否支持最新的 TLP/DLLP/FLIT 格式解码
- 分析软件:是否提供丰富的触发条件和过滤功能
- 升级路径:是否可通过软件升级支持未来版本
软件工具
Linux 命令行工具
| 工具 |
安装 |
用途 |
lspci |
pciutils 包 |
列出所有 PCI 设备,查看配置空间、能力结构 |
setpci |
pciutils 包 |
读写配置空间寄存器(调试用,需 root 权限) |
pciehp |
内核模块 |
PCIe 热插拔控制器驱动 |
pciutils |
系统包 |
提供 lspci/setpci 工具集 |
dmidecode |
系统包 |
查看 BIOS/UEFI 中的 PCIe 配置信息 |
biosdecode |
系统包 |
解析 BIOS 中的 ACPI/MPT 表 |
常用命令示例
# 列出所有 PCIe 设备
lspci
# 详细查看(含配置空间和能力结构)
lspci -vvv
# 树形拓扑结构
lspci -t
# 查看 PCIe 速率和宽度
lspci -vvv -s 01:00.0 | grep -i -e "LnkSta" -e "LnkCap"
# 读取配置空间寄存器
setpci -s 01:00.0 04.l # 读取 Command 寄存器
setpci -s 01:00.0 06.l # 读取 Status 寄存器
setpci -s 01:00.0 10.l # 读取 BAR0
# 查看 AER 错误统计(每设备真实存在的属性)
cat /sys/bus/pci/devices/0000:01:00.0/aer_dev_correctable
cat /sys/bus/pci/devices/0000:01:00.0/aer_dev_nonfatal
cat /sys/bus/pci/devices/0000:01:00.0/aer_dev_fatal
# 查看链路状态
cat /sys/bus/pci/devices/0000:01:00.0/current_link_speed
cat /sys/bus/pci/devices/0000:01:00.0/current_link_width
Windows 工具
| 工具 |
来源 |
用途 |
| Device Manager |
Windows 内置 |
查看设备属性、资源分配 |
| HWiNFO |
免费 |
详细的硬件信息查看,含 PCIe 速率/宽度 |
| GPU-Z |
免费 |
GPU 专属,显示 PCIe 代际/宽度/当前速率 |
| PCI-Z |
免费 |
PCIe 设备识别,显示 Capability 信息 |
| WinDbg |
微软 |
内核调试,查看 PCI 驱动状态 |