PCIE6.0 equalization procedure

Pcie equalization 的过程可以调整发送端和接收端的 lane 的配置进而达到提升信号质量的目的。Equalization 从 Gen3(8.0GT/s) 开始引入。所有与 LTSSM 相关的lane,不管是否正在工作,只要能通过 Link Upconfig配置的lane都必须参与到 Equalization 过程中来。 

如果没有设置跳过 Equalization,那么 Equalization 必须在第一次向 Gen3 或者更高速率进行 Link Training 时执行。LinkUp = 1b 时,组件必须已经按照Equalization的要求设置完毕。任何速率下,都不可以发起重复进行 Equalization 的请求,尽管有redo eq的情况存在。在 Equalization 过程中已经被双方认可的发送端关于 EQ 的设置,要被记录下来,以便于后续在8.0GT/s及更高速率下的操作。即使 Equalization 的过程已经结束,组件依然可以去优化接收端的设置,只要不会让链路变得不可靠或者进入 Recovery 状态即可。

链路 Equalization 的过程并不是所有的速率都需要做的,而且当所有链路组件在它们发出的Ts Ordered sets 或者 Modified Ts Ordered Sets 里面都已经公布不需要做 Equalization 时,可以完全跳过 Equalization。链路组件如果支持 32.0GT/s 或者更高速率时,可以选择在大于 5.0GT/s 的任意速率公布它不需要 Equalization (下简称EQ)。并且它可以依靠已经做过的 EQ 的设置进行工作或者在可靠操作下并不需要 EQ 。

PCIE6.0 Spec 里面 Table4-22 详细描述了Equalization过程的要求:

从Gen1/2 train Gen3的过程如下:

首先,EQ必须由Downstream port发起。DSP会通过8b/10b编码发送transmitter和receiver的preset value给USP。在向更高速率train之前,这些值会通过EQ TS2 在recovery config状态机下发送。8GT/s 的preset值会在

Lane Equalization Control Register Entry寄存器中获取。

达到更高速率后,需要做EQ,USP收到preset value后再通过Ts1传给DSP,保证两端用的是同样的EQ setting。DSP 也需要将带有preset value的Ts1发给USP。

如果需要redo Eq,DSP必须发起一次speed change,在recovery lock状态下通过EQ Ts1 通知USP自己想要在更高的速率下重做EQ。USP如果想要在更高速率下工作,在接受到speed_change=1的TS1后,在recovery状态下需要advertise这个更高的速率。

从Gen3 train Gen4,Gen4 train Gen5,Gen5 train Gen6

DSP在recovery config将transmitter 的 preset value用128/130b编码发给USP。

在过渡到需要EQ的更高速率之前,若速率协商已经完成,USP在recovery_config时,可以选择通过EQ TS2将初始的transmitter preset setting 发送给DSP。这些preset value是由具体的实施情况决定的。

当速率转换到更高速率后,USP会通过TS1发送它收到的preset value。如果DSP在recovery_config没有收到preset value,在速率切换到更高速率后,DSP会根据Equalization Control Register Entry来发送相应的preset value。

如果想要做redo eq, DSP必须在recovery lock的时候通过Equalization Redo bit置1 的TS1 OS通知USP它需要redo eq。USP收到speed_change 以及Equalization Redo bit为1的TS1 OS, 在recovery时需要advertise 这个速率。

从Gen1/2 train Gen5

从gen1/gen2 train到gen5的唯一可能性是Link支持by eq。需要将bypass capabilities reg置1,bypass disable reg置0。 

从Gen1/2 train Gen6

不可行,Gen6的eq必须从Gen5发起

从当前速率向当前速率发起

这种情况只可以通过redo eq来实现,可以的情况有:Gen3 train Gen3;Gen4 train Gen4;Gen5 train Gen5。这种情况下,初始的preset value是上一次做Eq的时候记录的preset值。

Gen6不支持train Gen6。

  • 23
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值