硬件-信号(有线)-PCIe信号及硬件设计深入解析

引言

PCIe(Peripheral Component Interconnect Express)是一种高性能、点对点的串行接口标准,自推出以来,已经成为现代计算机系统中最重要的接口之一。PCIe广泛应用于GPU、存储设备、网络接口、加速卡等领域,其高带宽、低时延和可扩展的特性使其成为高性能计算和数据中心的核心技术。

然而,PCIe的高速传输特性也带来了对信号完整性、硬件设计和协议实现的高要求。作为硬件工程师,深入理解PCIe信号的工作原理、设计规范和调试方法是确保系统性能和可靠性的关键。本文将从PCIe的基础知识、信号完整性、物理层规范、协议层结构、硬件设计指南、常见问题及调试技巧等方面,全面解析PCIe信号及硬件设计的核心内容。

PCIe协议的官方网站是由PCI-SIG(Peripheral Component Interconnect Special Interest Group)管理的:https://www.pcisig.com


PCIe基础知识

PCIe发展历程

PCIe是PCI(Peripheral Component Interconnect)接口的继任者,旨在解决传统PCI接口并行总线结构的带宽限制和扩展性问题。自第一代PCIe(Gen1)发布以来,PCIe经历了多次演进,每一代都在带宽、速度和功耗效率方面进行了显著提升。

版本编码率传输速率

X1吞吐量(单向 )

1.0(2003)

8b/10b(NRZ)

2.5 GT/s

250 MB/s
2.0(2006)8b/10b(NRZ)

5 GT/s

500 MB/s
3.0(2010)128b/130b(NRZ)

8 GT/s

985 MB/s
4.0(2017)128b/130b(NRZ)

16 GT/s

1969 MB/s
5.0(2019)128b/130b(NRZ)

32 GT/s

3938 MB/s
6.0(2021)1b/1b(PAM4,Flit)

64 GT/s

8 GB/s
7.0(2025)1b/1b(PAM4,Flit)

128 GT/s

16 GB/s

吞吐量计算方法:X1吞吐量(单向)=传输速率 * 编码率。

  • 对于PCIe 1.0,传输速率为 2.5 GT/s(Gigatransfers per second),编码率为 8b/10b
  • PCIe 1.0 X1吞吐量(单向)= 2.5 GT/s * 8b/10b = 2Gb/s = 250MB/s

PCIe拓扑结构

点对点是PCIe的基本拓扑结构,一个设备直接连接到另一个设备。

下图展示了由点对点链路组成的PCIe拓扑结构示例。其中,包含一个根桥设备、多个终端设备和多个转接器,并通过PCIe链路相互连接。

  • Root Complex:根桥设备,是PCIe系统的中心,通常集成在芯片组(Chipset)或主处理器(CPU)中。它负责管理PCIe总线,分配资源(如虚拟ID、设备编号等),并处理内存和I/O操作。可以直接连接到PCIe设备,或者通过Switch扩展更多设备。

  • Switch:转接器设备,用于扩展PCIe拓扑结构,使得一个Root Complex或上游设备可以连接到多个下游设备。它支持多端口,每个端口可以连接一个PCIe设备或另一个Switch。通过分隔(Lanes)来实现多端口之间的通信。

  • Endpoint:终端设备,例如显卡、网络卡、存储控制器等。

Switch被定义为多个虚拟PCI-PCI Bridge的逻辑组合,如下图所示。

  • Bridge:桥接设备,用于连接PCIe总线和其他总线(如PCI、PCI-X、NVMe等)。它将PCIe协议转换为其他总线协议,实现不同总线之间的通信。

PCIe基本架构

PCIe采用分层架构,包括事务层、数据链路层和物理层。

  • Transaction Layer:事务层,负责数据包的封装、解封装和协议处理。定义了PCIe的协议栈,包括请求/响应机制、流量控制等。

  • Data Link Layer:数据链路层,处理数据的错误检测和纠正(如CRC检查),实现流量控制和数据重传机制。

  • Physical Layer:物理层,负责比特级的数据传输,包括信号调制、编码、电气特性等。

通过各层的数据包流动,如下图示意。


PCIe 6.0物理层电气指标特性

REFCLK信号

1. 阻抗匹配:差分100Ω ± 10%

2. 允许的最大传输线损耗:15dB @4GHz

3. 主要电气指标

SymbolParameter

100 MHz Input

Unit

Min

Max

Rising Edge Rate

Rising Edge Rate0.64.0V/ns
Falling Edge RateFalling Edge Rate0.64.0V/ns
VIHDifferential Input High Voltage+150mV
VILDifferential Input Low Voltage-150mV
VCROSSAbsolute crossing point voltage+250+550mV
VCROSS DELTAVariation of VCROSS over all rising clock edges+140mV
TPERIOD AVGAverage Clock Period Accuracy-300+2800ppm
TPERIOD
AVG_32G_64G_CC
Average Clock Period Accuracy for devices that support 32.0 and 64.0 GT/s in CC Mode at any speed-100+2600ppm
TPERIOD
AVG_32G_64G_SRIS
Average Clock Period Accuracy for devices that support 32.0 and 64.0 GT/s in SRIS Mode at any speed-100+1600

ppm

TPERIOD ABSAbsolute Period (including Jitter and Spread Spectrum modulation)9.84710.203ns
TPERIOD
ABS_32G_64G_CC
Absolute Period (including Jitter and Spread Spectrum modulation) for devices that support 32.0 and 64.0 GT/s in CC Mode at any speed9.84910.201ns
TPERIOD
ABS_32G_64G_SRIS
Absolute Period (including Jitter and Spread Spectrum modulation) for devices that support 32.0 and 64.0 GT/s in SRIS Mode at any speed9.84910.181ns
VMAXAbsolute Max input voltage+1.15V
VMINAbsolute Min input voltage- 0.3V
Duty CycleDuty Cycle4060%

4. 支持两种参考时钟架构:公共参考时钟(Common Refclk,CC)和独立参考时钟(Independent Refclk,IR)。其中,公共参考时钟架构如下图。

TX信号

1. 单端和差分信号示意图

2. 主要电气指标(与数据速率无关)

Symbol Parameter
Description
ValueUnits
VTX-DC-CMTx DC peak-peak common mode voltage(min)
0
(max)
3.6
V
VTX-CM-DC-ACTIVE-IDLE-DELTAAbsolute delta of DC Common Mode Voltage
during L0 and Electrical Idle
(min)
0
(max)
100
mV
VTX-CM-DC-LINE-DELTA

 
Absolute Delta of DC Common Mode Voltage
between D+ and D-
(min)
0
(max)
25
mV
VTX-IDLE-DIFF-AC-pElectrical Idle Differential Peak Output Voltage(min)
0
(max)
20
mV
VTX-IDLE-DIFF-DC DCElectrical Idle Differential Output Voltage(min)
0
(max)
5
mV
TTX-IDLE-MINMinimum time spent in Electrical Idle20 (min)ns
TTX-IDLE-SET-TO-IDLEMaximum time to transition to a valid Electrical Idle after sending an EIOS(max)
8
ns
TTX-IDLE-TO-DIFF-DATAMaximum time to transition to valid diff signaling after
leaving Electrical Idle
(max)
8
ns
CTXAC Coupling Capacitor(min)
176
(max)
265
nF
ZTX-DIFF-DCDC differential Tx impedance(max)
120
Ω
ITX-SHORTTx short circuit current(max)
90
mA

3. 主要电气指标(与数据速率相关)

SymbolParameter
description
2.5
GT/s
5.0
GT/s
8.0
GT/s
16.0
GT/s
32.0
GT/s
64.0
GT/s
Units
UI (Tx)Unit Interval(min)
399.88
(max)
400.12
(300PPM)
(min)
199.94
(max)
200.06
(300PPM)
(min)
124.9625
(max)
125.0375
(300PPM)
(min)
62.48125
(max)
62.51875
(300PPM)
(min)
31.246875
(max)
31.253125
(100PPM)
(min)
31.246875
(max)
31.253125
(100PPM)
ps
VTX-DIFF-PPDifferential peak-peak Tx voltage swing for full swing operation(min)
800
(max)
1000
(min)
800
(max)
1000
(min)
800
(max)
1000
(min)
800
(max)
1000
(min)
800
(max)
1000
(min)
800
(max)
1000
mVPP
VTX-DIFF-PP- LOWDifferential peak-peak Tx voltage swing for low swing operation(min)
400
(max)
1000
(min)
400
(max)
1000
(min)
400
(max)
1000
(min)
400
(max)
1000
(min)
400
(max)
1000
(min)
400
(max)
1000
mVPP
VTX-AC-CM-PPTx AC peak-peak
common mode voltage over 0.03-500MHz range
(max)
150
(max)
100
(max)
50
(max)
50
(max)
50
(max)
25
mVPP
VTX-AC-CM-PP-filteredTx AC peak-peak
common mode voltage filtered with a simple low-pass
filter
(-3 dB roll-off at Nyquist frequency)
(max)
150
(max)
150
(max)
150
(max)
150
(max)
150
(max)
75
mVPP
LTX-SKEWLane-to-Lane Output Skew(max)
2.5
(max)
2.0
(max)
1.5
(max)
1.25
(max)
1.25
(max)
1.25
ns

4. TX&RX回波损耗指标(2.5, 5.0, 8.0, 16.0, and 32.0 GT/s)

5. TX&RX回波损耗指标(64.0 GT/s)

RX信号

1. 主要电气指标

SymbolParameter2.5 GT/s5.0 GT/s8.0 GT/s16.0 GT/s32.0 GT/s64.0 GT/sUnits
UI (Rx)Unit Interval(min)
399.88
(max)
400.12
(300PPM)
(min)
199.94
(max)
200.06
(300PPM)
(min)
124.9625
(max)
125.0375
(300PPM)
(min)
62.48125
(max)
62.51875
(300PPM)
(min)
31.246875
(max)
31.253125
(100PPM)
(min)
31.246875
(max)
31.253125
(100PPM)
ps
TRX-GND-FLOATRx termination
float time
(max)
500
(max)
500
(max)
500
(max)
500
μs
VRX-CM-AC-
P
Rx AC common
Mode Voltage
(max)
150
(max)
150
(max)
75
(max)
75
(max)
75
(max)
37.5
mVP
ZRX-DCReceiver DC
single ended
impedance
(min)
40
(max)
60
(min)
40
(max)
60

Not specified

bounded by RLRX-CM

Not specified

bounded by RLRX-CM

Not specified

bounded by RLRX-CM

Not specified

bounded by RLRX-CM

Ω
ZRX-HIGH-IMP-
DC-POS
DC input CM input impedance
for V ≥ 0 during Reset or powerdown
≥ 10K
(0-200mV)
≥ 20K
(> 200mV)
≥ 10K
(0-200mV)
≥ 20K
(> 200mV)
≥ 10K
(0-200mV)
≥ 20K
(> 200mV)
≥ 10K
(0-200mV)
≥ 20K
(> 200mV)
≥ 10K
(0-200mV)
≥ 20K
(> 200mV)
≥ 10K
(0-200mV)
≥ 20K
(> 200mV)
Ω
ZRX-HIGH-IMP-
DC-NEG
DC input CM input impedance
for V < 0 during Reset or powerdown
1.0K (min)1.0K (min)1.0K (min)1.0K (min)

1.0K

(min)

1.0K

(min)

Ω
VRX-IDLE-DET-
DIFF-PP
Electrical Idle Detect threshold(min)
65
(max)
175
(min)
65
(max)
175
(min)
65
(max)
175
(min)
65
(max)
175
(min)
65
(max)
175
(min)
65
(max)
175
mV
LRX-SKEWLane to Lane skew(max)
20
(max)
8
(max)
6
(max)
5
(max)
5
(max)
5
ns

2. NRZ编码允许的最大时序和电平裕量

3. PAM4编码允许的最大时序和电平裕量


信号调制技术

NRZ编码

1. 什么是NRZ编码

NRZ(Non-Return-to-Zero)编码是一种常见的线路编码技术,主要用于将数字数据转换为适合通过物理介质传输的信号。在NRZ编码中,数字信号的高电平和低电平分别代表逻辑1和逻辑0。在每个数据位期间,电平保持不变,直到下一个数据位的到来。PCIe 1.0至5.0均采用NRZ编码进行数据传输。

2. NRZ编码的优势

  • 简单性:NRZ编码的实现相对简单,硬件成本较低。
  • 稳定性:在每个数据位期间,电平保持稳定,减少了信号的噪声和抖动,提高了信号的可靠性。
  • 兼容性:NRZ编码广泛应用于多种高速接口,包括PCIe、SATA、SAS等,具有良好的兼容性和互操作性。

3. NRZ编码的挑战

  • 高速传输下的信号完整性:随着数据传输速率的不断提升,NRZ编码在高速环境下可能面临信号失真和误码率上升的问题。
  • 未来发展的需求:为了应对更高的传输速率和更复杂的信号需求,可能需要引入更高效的编码方式,如PAM4(脉幅调制)。

PAM4编码

1. 什么是PAM4编码

PAM4(Pulse Amplitude Modulation 4-levels)是一种四电平脉冲幅度调制技术。它是一种信号机制,其中4个电平(2 bits)被编码在同一单位间隔(UI)中,从而形成3个“眼睛”的“多眼图”,如下图所示。它仅部署在64.0 GT/s或更高数据速率下。

2. PAM4编码的工作原理

(1)电平映射

PAM4四个电压电平0、1、2和3,名义上分别映射到-400mV、-133mV、+133mV和+400mV,并且分别对应Gray码编码值00b、01b、11b和10b,采用小端位序。

每个符号周期传输2个比特的信息。

(2)Gray编码

为了减少信号跳变和误码率,PAM4采用Gray编码技术。Gray编码确保相邻符号之间的电平变化只涉及一位的翻转,从而降低信号跳变的能量消耗和误码概率。

(3)发送端与接收端实现

  • 发送端

    • 将输入的比特流分组为2比特一组。
    • 使用查找表(LUT)将2比特映射到4个电平之一。
    • 通过DAC(数模转换器)生成对应的电压信号,并通过发射端均衡(Pre-emphasis)补偿信道损耗。
  • 接收端

    • 使用连续时间线性均衡器(CTLE)和判决反馈均衡器(DFE)恢复信号,减少码间串扰(ISI)。
    • 通过多阈值切片器将模拟信号映射回4个电平,再转换为2比特信息。

3. PAM4编码的优势

(1)带宽提升

  • 在64.0 GT/s数据速率下具有与32.0 GT/s相同的奈奎斯特频率。
  • 通过x16配置,PCIe 6.0的双向带宽可达256 GB/s。

(2)信道损耗降低

  • PAM4以每UI(单位间隔)传输2个比特的频率运行,相比NRZ的1个比特,频率降低了一半,从而减少了信道损耗。
  • 这使得PCIe 6.0的信道覆盖范围与PCIe 5.0类似,但支持更高的带宽。

4. PAM4的挑战与解决方案

(1)误码率增加

  • PAM4眼图更加拥挤,更小的眼高(EH)和眼宽(EW)导致误码率更高。
  • 解决方案:PCIe 6.0引入了“前向纠错(FEC)”机制。FEC通过在数据中添加冗余信息,能够纠正传输过程中发生的错误,确保数据完整性。  注:由于FEC基于固定大小的字工作,因此将使用Flit(flow control unit)来发送/接收数据流中的TLPs和DLLPs.

(2)信号完整性

  • PAM4信号更容易受到噪声和码间串扰的影响。
  • 解决方案:采用先进的均衡技术(如CTLE和DFE)以及智能均衡算法,实时优化信号质量。

硬件设计

PCIe连接器管脚定义(x16)

PIN

定义

(B)

说明

定义

(A)

说明

1

+12V

+12V电源

(通常用于提供设备的主要功率需求)

PRSNT1#

热插拔检测

2+12V+12V电源+12V+12V电源

3

+12V+12V电源+12V+12V电源

4

GNDGND

5

SMCLK

系统管理总线时钟

(用于连接系统中的各种设备,如电源管理控制器、温度传感器、风扇控制器等,并提供对这些设备的监控和管理功能)

JTAG_TCKJTAG时钟信号

6

SMDAT

系统管理总线数据

JTAG_TDIJTAG数据输入

7

GNDJTAG_TDOJTAG数据输出

8

+3.3V

+3.3V电源

(通常用于提供设备的辅助电源需求,例如设备的逻辑电路和控制电路)

JTAG_TMSJTAG测试模式

9

JTAG_TRST#JTAG复位信号+3.3V+3.3V电源

10

3.3Vaux

3.3V辅助电源

(可选,用于提供设备的辅助功能支持,如设备的唤醒功能、管理接口等辅助电路的供电)

+3.3V+3.3V电源

11

(以上为共性信号)

WAKE#PCIe设备唤醒PERST#全局复位

12

CLKREQ#

时钟请求信号

(如设备可以通过CLKREQ#信号向主控制器请求更改时钟频率,以降低功耗)

GND

13

GNDREFCLK+

差分参考时钟_正

(用于帮助接收端同步和恢复高速数据信号)

14

HSOP(0)差分信号发送_0_正REFCLK-差分参考时钟_负

15

HSON(0)差分信号发送_0_负GND

16

GNDHSIP(0)差分信号接收_0_正

17

PRSNT2#热插拔检测HSIN(0)差分信号接收_0_负

18

(以上为x1)

GNDGND

19

HSOP(1)差分信号发送_1_正RSVD

20

HSON(1)差分信号发送_1_负GND

21

GNDHSIP(1)差分信号接收_1_正
22GNDHSIN(1)差分信号接收_1_负

23

HSOP(2)差分信号发送_2_正GND
24HSON(2)差分信号发送_2_负GND
25GNDHSIP(2)差分信号接收_2_正

26

GNDHSIN(2)差分信号接收_2_负

27

HSOP(3)差分信号发送_3_正GND

28

HSON(3)差分信号发送_3_负GND

29

GNDHSIP(2)差分信号接收_3_正
30GNDHSIN(2)差分信号接收_3_负
31PRSNT3#热插拔检测GND

32

(以上为x4)

GNDRSVD

33

HSOP(4)差分信号发送_4_正RSVD

34

HSON(4)差分信号发送_4_负GND

35

GNDHSIP(4)差分信号接收_4_正

36

GNDHSIN(4)差分信号接收_4_负

37

HSOP(5)差分信号发送_5_正GND

38

HSON(5)差分信号发送_5_负GND

39

GNDHSIP(5)差分信号接收_5_正

40

GNDHSIN(5)差分信号接收_5_负

41

HSOP(6)差分信号发送_6_正GND

42

HSON(6)差分信号发送_6_负GND

43

GNDHSIP(6)差分信号接收_6_正

44

GNDHSIN(6)差分信号接收_6_负

45

HSOP(7)差分信号发送_7_正GND

46

HSON(7)差分信号发送_7_负GND

47

GNDHSIP(7)差分信号接收_7_正

48

PRSNT4#热插拔检测HSIN(7)差分信号接收_7_负

49

(以上为x8)

GNDGND

50

HSOP(8)差分信号发送_8_正RSVD

51

HSON(8)差分信号发送_8_负GND

52

GNDHSIP(8)差分信号接收_8_正

53

GNDHSIN(8)差分信号接收_8_负

54

HSOP(9)差分信号发送_9_正GND

55

HSON(9)差分信号发送_9_负GND

56

GNDHSIP(9)差分信号接收_9_正

57

GNDHSIN(9)差分信号接收_9_负

58

HSOP(10)差分信号发送_10_正GND

59

HSON(10)差分信号发送_10_负GND

60

GNDHSIP(10)差分信号接收_10_正

61

GNDHSIN(10)差分信号接收_10_负

62

HSOP(11)差分信号发送_11_正GND

63

HSON(11)差分信号发送_11_负GND

64

GNDHSIP(11)差分信号接收_11_正

65

GNDHSIN(11)差分信号接收_11_负

66

HSOP(12)差分信号发送_12_正GND

67

HSON(12)差分信号发送_12_负GND

68

GNDHSIP(12)差分信号接收_12_正

69

GNDHSIN(12)差分信号接收_12_负

70

HSOP(13)差分信号发送_13_正GND

71

HSON(13)差分信号发送_13_负GND

72

GNDHSIP(13)差分信号接收_13_正

73

GNDHSIN(13)差分信号接收_13_负

74

HSOP(14)差分信号发送_14_正GND

75

HSON(14)差分信号发送_14_负GND

76

GNDHSIP(14)差分信号接收_14_正

77

GNDHSIN(14)差分信号接收_14_负

78

HSOP(15)差分信号发送_15_正GND

79

HSON(15)差分信号发送_15_负GND

80

GNDHSIP(15)差分信号接收_15_正

81

PRSNT5#热插拔检测HSIN(15)差分信号接收_15_负

82

(以上为x16)

RSVDGND

原理图设计参考(x4)

PCB设计

1. PCB板材选型及走线长度

PCIe链路插损要求如上图。对于PCIe 6.0规范,PCB所产生的最大损耗不能超过13.5dB,只有PCB的损耗达到1.00dB/inch的时候,走线长度才能达到常规的13.5inch长度。

关于芯片的插损以及AC电容和过孔的插损模型搭建较为繁琐,本次直接以经验值进行考虑,如AC电容的插损以1dB为主,过孔的插损为1dB(1个VIA),芯片的插损为9dB,即协议规定的root package值。

当采用M6的板材且PCB走线长度为20inch时,整个链路的总插损值等于18.25dB(走线、连接器)+9dB(root package)+2dB(via)+1dB(AC电容),合计30.25dB,满足协议规定的36dB(PCIe 5.0)。

当采用M4的板材且PCB走线长度为20inch时,整个链路的总插损值等于28.67dB(走线、连接器)+9dB(root package)+2dB(via)+1dB(AC电容),合计40.67dB,已不满足协议规定的36dB(PCIe 5.0)。此时如果需要考虑M4的板材进行长距离走线,则需要考虑引入retimer芯片进行补偿链路插损。

(以上仿真计算引用自微信号“硬件之道”)

2. 布局布线常见要求

  • 阻抗控制:差分阻抗常见有85Ω/90Ω/100Ω(根据不同CPU)。
  • 线长控制:走线长度尽量不超过10inch,差分线对内需控制等长±2mil。
  • 走线平滑:采用10°转弯角度走线。
  • 信号隔离和屏蔽:走线有完整的参考地,并远离其他高速信号和电源;Lane和Lane之间采用地孔进行隔离,同时保持3W或5H原则。
  • 走线过孔:尽量避免过孔,过孔数量控制在2个以内;对于过孔处,需要做阻抗匹配以及预留回流地过孔。
  • 电源去耦电容:去耦电容靠近电源管脚放置。
  • 交流耦合电容:差分线对内的交流耦合电容需同一物料,电容下方做挖空处理。

PCIe的应用与未来发展

应用领域

  1. GPU和高性能计算:提供高带宽的数据传输通道,支持AI和深度学习加速。

  2. 存储设备:NVMe SSD通过PCIe接口实现高性能存储,优化存储系统的带宽和延迟。

  3. 网络设备:高速网络接口(如100GbE),支持数据中心的高性能通信。

未来发展趋势

  1. 更高速的传输:Gen6和Gen7的发展目标是实现128 GT/s或更高的传输速率。

  2. 新的调制技术:PAM4调制技术在高频率下实现更高的频谱效率,低功耗设计(如低电压差分信号)。

  3. 新兴应用场景:AI芯片和自动驾驶中的应用,高速交换机和路由器。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值