1.1 Recovery状态转换图
Recovery对应的状态转换图如下所示:
1.2 Recovery解析
在Recovery状态下,Tx和Rx使用已经配置好的Link Number、Lane Number和之前协商好的速率发送和接收数据。在该状态下,可以进行切换速率,重新进行Bit Lock、Symbol Lock或者Block Alignment、Lane-to-Lane-de-skew操作。除此之外,还可以进行N_FTS新值的设定并且进入Loopback、Disabled、Hot Reset和Configuration状态。
1.2.1 Recovery.Equlization
1.2.1.1 Downstream Lane
一旦进入EQ子状态,则:
1 当前的Phase为Phase1:
(1)如果当前的速率为8.0GT/s:
- Equalization 8.0 GT/s Phase1 Successful,Equalization 8.0 GT/s Phase2 Successful,Equalization 8.0 GT/s Phase3 Successful,Link Equalization Request 8.0 GT/s,Equalization 8.0 GT/s Complete bits(Link Status2 Register),Perform Equalization bit(Link Control3 Register)都设置成0。
- equalization_done_8GT_data_rate变量设置为1。
(2)如果当前的速率为16.0GT/s:
- Equalization 16.0 GT/s Phase1 Successful,Equalization 16.0 GT/s Phase2 Successful,Equalization 16.0 GT/s Phase3 Successful,Link Equalization Request 16.0 GT/s,Equalization 16.0 GT/s Complete bits(16.0 GT/s Status Register),Perform Equalization bit of the (Link Control3 Register) 都设置成0。
- equalization_done_16GT_data_rate变量设置为1。
(3)如果当前的速率为32.0GT/s:
- Equalization 32.0 GT/s Phase1 Successful,Equalization 32.0 GT/s Phase2 Successful,Equalization 32.0 GT/s Phase3 Successful,Link Equalization Request 32.0 GT/s,Equalization 32.0 GT/s Complete bits(32.0 GT/s Status Register),Perform Equalization bit(Link Control 3 Register)都设置成0。
- equalization_done_32GT_data_rate变量设置为1。
2 start_equalization_w_preset变量设置为0b。
1.2.1.1.1 DSP Phase1 of Transmitter Equalization
1 Tx发送TS1来设定当前速率的Tx Preset数值。对于发送的TS1,EC设置为01b,每条Lane上的Tx Preset bit根据当前速率和设定值进行设置,FS、LF和Post-cursor Coefficient fields根据当前Lane的Preset进行相应的设定。具体Preset的选择需要满足如下要求:
(1)如果Recovery.Equlization是从Loopback.Entry进入的,则:
- 如果EQ TS1指示设备从Configuration.Linkwidth.Start进入Loopback.Entry,则EQ TS1中对应的Preset数值会被测试的Lane(Lane under test)使用。
- 如果标准的TS1指示设备从Configuration.Linkwidth.Start进入Loopback.Entry,必须使用特定实现的方法来选择一个支持的Preset数值。
(2)否则,在最近的一次经过Recovery.RcvrCfg状态的转换中,如果收到了连续的8个带有支持Preset数值的128b/130b EQ TS2 Ordered Sets并且当前的速率为16GT/s及以上,则选用该128b/130b EQ TS2 Ordered Sets中的Preset数值。
(3)否则,在最近的一次经过Recovery.RcvrCfg状态的转换中,如果收到了连续的8个带有支持Preset数值的EQ TS2 Ordered Sets并且当前的速率为32GT/s并且实行的是equalization bypass to 32.0 GT/s,则选用该EQ TS2 Ordered Sets中的Preset数值。
(4)否则,如果Downstream Port 8.0 GT/s Transmitter Preset field( Lane Equalization Control Register Entry)或者Downstream Port 16.0 GT/s Transmitter Preset field(16.0 GT/s Lane Equalization Control Register Entry)或者Downstream Port 32.0 GT/s Transmitter
Preset field(32.0 GT/s Lane Equalization Control Register Entry)中的Tx Preset数值不是reserved而是一个支持的数值,则选用该数值。
(5)否则,用特定实现的方式去选择一个支持的Tx Preset。
2 如果DSP需要时间去稳定自己的Rx逻辑,DSP在进入Phase1之后但在评估接收的TS1信息之前最多可以允许等待500ns。
3 如果所有配置的Lane上都收到了两个连续的带有EC=01b的TS1并且DSP想要执行EQ Phase2和Phase3,则进入Phase2。
(1)Rx必须完成Bit Lock然后在收到第一个有效的OS的第一个bit之后,在2ms之内识别OS。
(2)如果当前的速率为8.0GT/s,Equalization 8.0 GT/s Phase 1 Successful设置为1b。
(3)如果当前的速率为16.0GT/s,Equalization 16.0 GT/s Phase 1 Successful设置为1b。
(4)如果当前的速率为32.0GT/s并且perform_equalization_for_loopback=0b,Equalization 32.0 GT/s Phase 1 Successful设置为1b。
(5)如果DSP想要调节USP的Tx系数,DSP需要将接收的TS1中的FS和LF数值存储下来,用于Phase3。
4 如果所有配置的Lane上都收到了两个连续的带有EC=01b的TS1并且perform_equalization_for_loopback=0b并且DSP不执行EQ Phase2和Phase3,则进入Recovery.RcvrLock。
(1)如果当前的速率为8.0GT/s,Equalization 8.0 GT/s Phase 1 Successful和Equalization 8.0 GT/s Phase 2 Successful和Equalization 8.0 GT/s Phase 3 Successful和Equalization 8.0 GT/s Complete bit(Link Status 2 Register)都设置为1b。
(2)如果当前的速率为16.0GT/s,Equalization 16.0 GT/s Phase 1 Successful和Equalization 16.0 GT/s Phase 2 Successful和Equalization 16.0 GT/s Phase 3 Successful和Equalization 16.0 GT/s Complete bit(16.0 GT/s Status Register)都设置为1b。
(3)如果当前的速率为32.0GT/s,Equalization 32.0 GT/s Phase 1 Successful和Equalization 32.0 GT/s Phase 2 Successful和 Equalization 32.0 GT/s Phase 3 Successful和Equalization 32.0 GT/s Complete bit(32.0 GT/s Status Register)都设置为1b。
5 如果perform_equalization_for_loopback=1b并且满足以下任何一个条件,则进入Loopback.Entry。
(1)测试的Lane(Lane under test)收到了两个连续的带有EC=01b的TS1,并且DSP不执行EQ Phase2和Phase3。
(2)24ms timeout。
6 否则,如果24ms timeout后并且perform_equalization_for_loopback=0b,则进入Recovery.Speed。
(1)successful_speed_negotiation设置为0。
(2)如果当前的速率为8.0GT/s,Equalization 8.0GT/s Complete bit(Link Status 2 Register)设置为1。
(3)如果当前的速率为16.0GT/s,Equalization 16.0GT/s Complete bit(16.0 GT/s Status Register)设置为1。
(4)如果当前的速率为32.0GT/s,Equalization 32.0GT/s Complete bit(32.0 GT/s Status Register)设置为1。
1.2.1.1.2 DSP Phase2 of Transmitter Equalization
1 Tx在每条Lane上发送独立的带有EC=10b和系数设定值的TS1,具体如下:
(1)如果自从进入Phase2以来,收到了连续的两个带有EC=10b的TS1或者收到的连续的两个带有EC=10b的TS1中的Preset和Coefficients和上一次收到的的两个带有EC=10b的TS1不同,则:
- 如果最新一次的两个连续的TS1中的Preset和Coefficients是支持的,则:
<1> 将DSP的Tx的Preset和Coefficients设置为请求的数值。
<2> 将上述的数值嵌入到DSP Tx发送的TS1当中去。
- 否则(Preset or Coefficients are illegal or unsupported),不改变DSP的Tx的系数设置,但是会通过将Tx发送的TS1中的Reject Coefficient Values bit设置为1的方式表示拒绝该系数设定。
(2)否则,DSP的Tx使用当前TS1中的Preset和coefficients。
2 如果所有配置的Lane上都收到了连续的两个带有EC=11b的TS1,则进入Phase3。
(1)如果当前的速率为8.0GT/s,Equalization 8.0 GT/s Phase 2 Successful设置为1b。
(2)如果当前的速率为16.0GT/s,Equalization 16.0 GT/s Phase 2 Successful设置为1b。
(3)如果当前的速率为32.0GT/s并且perform_equalization_for_loopback=0b,Equalization 32.0 GT/s Phase 2 Successful设置为1b。
3 如果perform_equalization_for_loopback=1b,32ms(32~34ms)timeout后,则进入Loopback.Entry。
4 否则,如果32ms(32~36ms) timeout后,则进入Recovery.Speed。
(1)successful_speed_negotiation设置为0。
(2)如果当前的速率为8.0GT/s,Equalization 8.0GT/s Complete bit(Link Status 2 Register)设置为1。
(3)如果当前的速率为16.0GT/s,Equalization 16.0GT/s Complete bit(16.0 GT/s Status Register)设置为1。
(4)如果当前的速率为32.0GT/s,Equalization 32.0GT/s Complete bit(32.0 GT/s Status Register)设置为1。
1.2.1.1.3 DSP Phase3 of Transmitter Equalization
1 DSP的Tx发送带有EC=11b的TS1。
2 Port必须在每条Lane上独立评估并且达到最优的设置。当perform_equalization_for_loopback=1b的时候,EQ只在测试的Lane上进行。
(1)可以通过设置TS1中的Transmitter Preset bits数值并且设置Use Preset bit=1b来请求一组新的Preset设定值;或者可以通过设置TS1中的Pre-cursor、Cursor、Post-Cursor Coefficient fields并且设置Use Preset bit=0b来请求一组新的coefficients。一旦DSP发起了一个新的请求,则必须至少持续1us的连续发送或者直到请求的评估顺利的完成。
(2)如果USP接受了DSP发起的这组参数设置请求,USP的Tx会通过TS1的方式发送这组有效的系数设定。
(3)如果DSP的Rx收到了连续的两个带有Transmitter Preset bits(Preset Request)或者Pre-cursor, Cursor, and Post-Cursor fields(Coefficient Request)的TS1(和DSP要求设置的请求是一样的)并且Reject Coefficient Values bit=0b,则USP接收该参数的设定。
(4)如果DSP的Rx收到了连续的两个带有Transmitter Preset bits(Preset Request)或者Pre-cursor, Cursor, and Post-Cursor fields(Coefficient Request)的TS1(和DSP要求设置的请求是一样的)并且Reject Coefficient Values bit=1b,则USP拒绝该参数的设定。
(5)如果在Rx评估一段特定的时间之后,没有收到带有Transmitter Preset bits(Preset Request)或者Pre-cursor, Cursor, and Post-Cursor fields(Coefficient Request)的TS1(和DSP要求设置的请求是一样的),则改组系数不能设置。
(6)DSP负责设置TS1中的Reset EIEOS Interval Count bit。TS1中的Use Preset bit不能用来决定是否拒绝或者接受这个系数设置请求。
(7)发起的改变Preset或者Coefficient的请求到请求完成的时间,SPEC规定必须少于2ms。
(8)所有新的preset或者coefficient设置必须同时出现在所有配置好的Lane上。任何Lane在不改变原来设定的系数时,都可以允许发送当前的preset或者coefficient设置。
3 如果当前的速率是32GT/s并且perform_equalization_for_loopback=1b并且满足下面的任何一个条件,则进入Loopback.Entry。
(1)测试的Lane(Lane under test)是最优的设置并且所有的Lane收到了两个连续的带有Retimer Equalization Extend bit=0b的TS1。
(2)24ms(24~26ms)timeout。
4 如果perform_equalization_for_loopback=0b并且所有配置的Lane都处于最优的系数设置并且要么当前的速率为8.0GT/s,要么所有的Lane收到了两个连续的带有Retimer Equalization Extend bit=0b的TS1,则进入Recovery.RcvrLock。
(1)如果当前的速率为8.0GT/s,Equalization 8.0 GT/s Phase 3 Successful和Equalization 8.0GT/s Complete bit(Link Status 2 Register)设置为1b。
(2)如果当前的速率为16.0GT/s,Equalization 16.0 GT/s Phase 3 Successful和Equalization 16.0GT/s Complete bit(16.0 GT/s Status Register)设置为1b。
(3)如果当前的速率为32.0GT/s,Equalization 32.0 GT/s Phase 3 Successful和Equalization 32.0GT/s Complete bit(32.0 GT/s Status Register)设置为1b。
5 否则,如果24ms(24~26ms) timeout后,则进入Recovery.Speed。
(1)successful_speed_negotiation设置为0。
(2)如果当前的速率为8.0GT/s,Equalization 8.0GT/s Complete bit(Link Status 2 Register)设置为1。
(3)如果当前的速率为16.0GT/s,Equalization 16.0GT/s Complete bit(16.0 GT/s Status Register)设置为1。
(4)如果当前的速率为32.0GT/s,Equalization 32.0GT/s Complete bit(32.0 GT/s Status Register)设置为1。
1.2.1.2 Upstream Lane
一旦进入此子状态,则:
1 当前的Phase为Phase0。
(1)如果当前的速率为8.0GT/s:
- Equalization 8.0 GT/s Phase1 Successful,Equalization 8.0 GT/s Phase2 Successful,Equalization 8.0 GT/s Phase3 Successful,Link Equalization Request 8.0 GT/s,Equalization 8.0 GT/s Complete bits(Link Status2 Register)都设置成0。
- equalization_done_8GT_data_rate变量设置为1。
(2)如果当前的速率为16.0GT/s:
- Equalization 16.0 GT/s Phase1 Successful,Equalization 16.0 GT/s Phase2 Successful,Equalization 16.0 GT/s Phase3 Successful,Link Equalization Request 16.0 GT/s,Equalization 16.0 GT/s Complete bits(16.0 GT/s Status Register)都设置成0。
- equalization_done_16GT_data_rate变量设置为1。
(3)如果当前的速率为32.0GT/s:
- Equalization 32.0 GT/s Phase1 Successful,Equalization 32.0 GT/s Phase2 Successful,Equalization 32.0 GT/s Phase3 Successful,Link Equalization Request 32.0 GT/s,Equalization 32.0 GT/s Complete bits(32.0 GT/s Status Register)都设置成0。
- equalization_done_32GT_data_rate变量设置为1。
2 start_equalization_w_preset设置为1。
1.2.1.2.1 USP Phase0 of Transmitter Equalization
1 如果Recovery.Equalization是从 Loopback.Entry进入的,Tx发送EC=00b,Tx Preset设置为当前Lane使用的数值,Pre-cursor Coefficient 和Cursor Coefficient和Post-cursor Coefficient fields根据对应的Preset进行设置,测试的Lane的Tx Preset选择如下:
(1)如果EQ TS1 Ordered Sets指示设备从 Configuration.Linkwidth.Start进入Loopback.Entry,则Tx Preset的数值设置为该TS1中对应的数值。
(2)如果标准的TS1 Ordered Sets指示设备从 Configuration.Linkwidth.Start进入Loopback.Entry,则必须选用一种特定实现的方式去选择一个合适的Tx Preset数值。
2 如果当前的速率为8.0GT/s,Tx发送的TS1中的Tx Preset数值用最近一次从2.5GT/s或者5.0GT/s切换到8.0GT/s过程中收到的EQ TS2的Tx Preset field;如果当前的速率为16.0GT/s,Tx发送的TS1中的Tx Preset数值用最近一次从8.0GT/s切换到16.0GT/s过程中收到的128b/130b EQ TS2的Tx Preset field;如果当前的速率为32.0GT/s并且perform_equalization_for_loopback=0b,Tx发送的TS1中的Tx Preset数值用最近一次切换到32.0GT/s过程中收到的合适的TS2的Tx Preset field(如果是equalization bypass,则为EQ TS2;如果是从16GT/s切换到32GT/s则为128b/130b EQ TS2 Ordered Sets)。
3 如果USP需要时间去稳定自己的Rx逻辑,USP在进入Phase0之后但在评估接收的TS1信息之前最多可以允许等待500ns。
4 如果所有配置的Lane都收到了连续的两个带有EC=01b的TS1,则进入Phase1。
(1)Rx必须完成Bit Lock然后在收到第一个有效的OS的第一个bit之后,在2ms之内识别OS。
(2)如果USP想要调节DSP的Tx端系数,则Rx需要将从TS1中获取的FS和LF数值存储起来,用于USP的Phase2。
5 如果perform_equalization_for_loopback=1b,12ms timeout后,则进入Loopback.Entry。
6 否则,12ms timeout后,则进入Recovery.Speed。
(1)successful_speed_negotiation设置为0。
(2)如果当前的速率为8.0GT/s,Equalization 8.0GT/s Complete bit(Link Status 2 Register)设置为1。
(3)如果当前的速率为16.0GT/s,Equalization 16.0GT/s Complete bit(16.0 GT/s Status Register)设置为1。
(4)如果当前的速率为32.0GT/s,Equalization 32.0GT/s Complete bit(32.0 GT/s Status Register)设置为1。
1.2.1.2.2 USP Phase1 of Transmitter Equalization
1 Tx发送带有Phase0期间决定的Tx设置系数的TS1,其中EC=01b,FS、LF、Post-cursor Coefficient设置为当前Lane的Tx系数数值。
2 如果所有配置的Lane收到了两个连续的带有EC=10b的TS1,则进入Phase2。
(1)如果当前的速率为8.0GT/s,Equalization 8.0 GT/s Phase 1 Successful设置为1b。
(2)如果当前的速率为16.0GT/s,Equalization 16.0 GT/s Phase 1 Successful设置为1b。
(3)如果当前的速率为32.0GT/s并且perform_equalization_for_loopback=0b,Equalization 32.0 GT/s Phase 1 Successful设置为1b。
3 如果perform_equalization_for_loopback=1b并且满足下面任意条件,则进入Loopback.Entry。
(1)测试的Lane收到了连续8个带有EC=00b的TS1。
(2)12ms timeout。
4 如果所有配置的Lane收到了8个连续的带有EC=00b的TS1并且perform_equalization_for_loopback=0b,则进入Recovery.RcvrLock。
(1)如果当前的速率为8.0GT/s,Equalization 8.0 GT/s Phase 1 Successful和Equalization 8.0GT/s Complete bit(Link Status 2 Register)设置为1b。
(2)如果当前的速率为16.0GT/s,Equalization 16.0 GT/s Phase 1 Successful和Equalization 16.0GT/s Complete bit(16.0 GT/s Status Register)设置为1b。
(3)如果当前的速率为32.0GT/s,Equalization 32.0 GT/s Phase 1 Successful和Equalization 32.0GT/s Complete bit(32.0 GT/s Status Register)设置为1b。
5 如果perform_equalization_for_loopback=0b并且12ms timeout之后,则进入Recovery.Speed。
(1)successful_speed_negotiation设置为0。
(2)如果当前的速率为8.0GT/s,Equalization 8.0GT/s Complete bit(Link Status 2 Register)设置为1。
(3)如果当前的速率为16.0GT/s,Equalization 16.0GT/s Complete bit(16.0 GT/s Status Register)设置为1。
(4)如果当前的速率为32.0GT/s,Equalization 32.0GT/s Complete bit(32.0 GT/s Status Register)设置为1。
1.2.1.2.3 USP Phase2 of Transmitter Equalization
1 USP Tx发送带有EC=10b的TS1。
2 Port必须在每条Lane上独立评估并且达到最优的设置。当perform_equalization_for_loopback=1b的时候,EQ只在测试的Lane上进行。
(1)可以通过设置TS1中的Transmitter Preset bits数值并且设置Use Preset bit=1b来请求一组新的Preset设定值;或者可以通过设置TS1中的Pre-cursor、Cursor、Post-Cursor Coefficient fields并且设置Use Preset bit=0b来请求一组新的coefficients。一旦DSP发起了一个新的请求,则必须至少持续1us的连续发送或者直到请求的评估顺利的完成。
(2)如果DSP接受了USP发起的这组参数设置请求,DSP的Tx会通过TS1的方式发送这组有效的系数设定。
(3)如果USP的Rx收到了连续的两个带有Transmitter Preset bits(Preset Request)或者Pre-cursor, Cursor, and Post-Cursor fields(Coefficient Request)的TS1(和USP要求设置的请求是一样的)并且Reject Coefficient Values bit=0b,则DSP接收该参数的设定。
(4)如果USP的Rx收到了连续的两个带有Transmitter Preset bits(Preset Request)或者Pre-cursor, Cursor, and Post-Cursor fields(Coefficient Request)的TS1(和USP要求设置的请求是一样的)并且Reject Coefficient Values bit=1b,则DSP拒绝该参数的设定。
(5)如果在Rx评估一段特定的时间之后,没有收到带有Transmitter Preset bits(Preset Request)或者Pre-cursor, Cursor, and Post-Cursor fields(Coefficient Request)的TS1(和USP要求设置的请求是一样的),则改组系数不能设置。
(6)USP负责设置TS1中的Reset EIEOS Interval Count bit。TS1中的Use Preset bit不能用来决定是否拒绝或者接受这个系数设置请求。
(7)发起的改变Preset或者Coefficient的请求到请求完成的时间,SPEC规定必须少于2ms。
(8)所有新的preset或者coefficient设置必须同时出现在所有配置好的Lane上。任何Lane在不改变原来设定的系数时,都可以允许发送当前的preset或者coefficient设置。
3 如果perform_equalization_for_loopback=1b并且测试的Lane是最优的参数设置并且Rx收到了两个连续的带有Retimer Equalization Extend bit=0b的TS1,则进入Phase3。
4 如果perform_equalization_for_loopback=0b并且所有配置的Lane是最优的参数设置并且要么当前的速率为8.0GT/s要么所有配置的Lane收到了两个连续的带有Retimer Equalization Extend bit=0b的TS1,则进入Phase3。
(1)如果当前的速率为8.0GT/s,Equalization 8.0 GT/s Phase 2 Successful设置为1b。
(2)如果当前的速率为16.0GT/s,Equalization 16.0 GT/s Phase 2 Successful设置为1b。
(3)如果当前的速率为32.0GT/s,Equalization 32.0 GT/s Phase 2 Successful设置为1b。
5 如果perform_equalization_for_loopback=1b并且24ms(24~26ms) timeout,则进入Loopback.Entry。
6 否则,如果24ms(24~26ms) timeout后,则进入Recovery.Speed。
(1)successful_speed_negotiation设置为0。
(2)如果当前的速率为8.0GT/s,Equalization 8.0GT/s Complete bit(Link Status 2 Register)设置为1。
(3)如果当前的速率为16.0GT/s,Equalization 16.0GT/s Complete bit(16.0 GT/s Status Register)设置为1。
(4)如果当前的速率为32.0GT/s,Equalization 32.0GT/s Complete bit(32.0 GT/s Status Register)设置为1。
1.2.1.2.4 USP Phase3 of Transmitter Equalization
1 Tx在每条Lane上发送独立的带有EC=11b和系数设定值的TS1,具体如下:
(1)如果自从进入Phase3以来,收到了连续的两个带有EC=11b的TS1或者收到的连续的两个带有EC=11b的TS1中的Preset和Coefficients和上一次收到的的两个带有EC=11b的TS1不同,则:
- 如果最新一次的两个连续的TS1中的Preset和Coefficients是支持的,则:
<1> 将USP的Tx的Preset和Coefficients设置为请求的数值。
<2> 将上述的数值嵌入到USP Tx发送的TS1当中去。
- 否则(Preset or Coefficients are illegal or unsupported),不改变USP的Tx的系数设置,但是会通过将Tx发送的TS1中的Reject Coefficient Values bit设置为1的方式表示拒绝该系数设定。
(2)否则,USP的Tx使用当前TS1中的Preset和coefficients。
2 如果perform_equalization_for_loopback=1b并且满足以下任意一个条件,则进入Loopback.Entry。
(1)测试的Lane收到了两个连续的带有EC=00b的TS1。
(2)32ms(32~36ms) timeout。
3 如果所有配置的Lane上都收到了连续的两个带有EC=00b的TS1,则进入Recovery.RcvrLock。
(1)如果当前的速率为8.0GT/s,Equalization 8.0 GT/s Phase 3 Successful设置为1b。
(2)如果当前的速率为16.0GT/s,Equalization 16.0 GT/s Phase 3 Successful设置为1b。
(3)如果当前的速率为32.0GT/s,Equalization 32.0 GT/s Phase 3 Successful设置为1b。
4 否则,如果32ms(32~36ms) timeout后,则进入Recovery.Speed。
(1)successful_speed_negotiation设置为0。
(2)如果当前的速率为8.0GT/s,Equalization 8.0GT/s Complete bit(Link Status 2 Register)设置为1。
(3)如果当前的速率为16.0GT/s,Equalization 16.0GT/s Complete bit(16.0 GT/s Status Register)设置为1。
(4)如果当前的速率为32.0GT/s,Equalization 32.0GT/s Complete bit(32.0 GT/s Status Register)设置为1。
1.3 参考书籍
1 PCI Express® Base Specification Revision 5.0 Version 1.0
2 PCI Express Technology Comprehensive Guide to Generations 1.x, 2.x, 3.0