TA的每日心情 | 开心 2025-11-21 15:15 |
|---|
签到天数: 28 天 [LV.4]偶尔看看III
|
Nick.song 发表于 2018-7-19 10:47
, z3 U% _* k2 t$ V; b8 U請問"通过工具强制让PCIe链路重新训练(retrain)"這段敘述是透過什麼工具?
7 @3 q I7 U, f3 E& g, d0 I以及Downstream的Device是什麼 ...
' q; k7 |5 V" R0 J, I8 x谢谢你的回答,以下是你提到的补充信息:
. M) U J+ A& ?' M; p- G0 @
0 { ?1 @4 p0 u3 r1 d1、用类似于PCIScope的工具,PCIe switch有一个“Retrain Link”的寄存器位,这个位默认是0,强制改成1让链路重新训练;
: q G1 l7 g: {# t2、Downstream的PCIe device,是M.2接口的SSD,PCIe带宽是x4的;
9 K: a: x$ r# \8 H3、给到PEX8724和4个PCIe device插槽的是同一个source,都是从同一个Clock buffer出来的;
w/ d8 h6 o3 `$ Q$ K' u- h# W4、Reset信号不是同一个source,以下是Reset信号以及PCIe信号的连接示意,Reset信号算是同源吧,因为FPGA接收到Reset信号后会立刻给PEX8724以及4个Device信号输出reset;
) i6 q' Z5 n+ b1 j7 i/ @* b# \) X$ d' J% O
如果怀疑reset信号的话,有2点说不通吧:5 P, c8 m) O9 D% [% V# ^
4.1、CPU和PEX8724之间每次都能正常工作到Gen3的,无论是开机还是重启,无需retrain,为何PEX8724和down device之间都需要retrain呢?" d. `" g4 h/ M
4.2、把强制retrain的操作通过driver(驱动)装到系统上,开机之后强制retrain,都能工作到Gen3,但是如果此时将系统重启(重启时系统不会掉电,包括FPGA,此时FPGA将reset in直连到out、o1、o2、o3、o4管脚的),重启之后,PEX8724与down device之间又掉到Gen1了,为什么呢?
1 f( u ~' G3 c7 K( S& y& g; F+ C# e
# ~, f, k& ] A" [
# y. b" B( A" b3 K* D6 {* r% {
* \. \& ^! \; i5 P |
|