PL逻辑子层简介
PL逻辑子层简介
- 作用
- 将数据链路层的数据转发到电气子层
- 将电气子层的数据转发到数据链路层
- 采用的编码
- 8b/10b
- 128b/130b
- 1b/1b
- 数据流模型
模型 | 组成 | 开始的标识 | 结束的标识 |
---|---|---|---|
Non-Flit mode | 数据流由连续的TLPs,DLLPs和逻辑Idle/IDL Token构成 | 有序集结束后开始 | 另外一个有序集结束或者链路进入EI |
Flit mode | Flits | SDSOS后面的第一个SKPOS | 1. 有序集除SKPOS之前的最后一个Flit结束,不发Flit后会退出L0 2. 或者是链路进入电气空闲 |
- 数据流和编码组合
- note :
- 下列表格说明编码只跟速度有关,
- 只要在Configuration状态协商成Flit,不管什么速度下,都会工作在Flit模式下。也就是说哪怕速度是在2.5GT/s,只要协商成Flit模式,就会工作在Flit模式。PCIE5.0的spec没有Flit模式,即pcie5.0的设备应该也是没有flit模式的,要协商成flit模式,两端应当都是支持pcie6.0标准。
- 数据流和编码组合表
- note :
当前速度 | 当LinkUp=0(链路还没训练起来)时,在Configuration状态是否协商成了Flit模式 | 采用的编码 | 数据流模型 | 有序集格式 |
---|---|---|---|---|
2.5GT/s,5.0GT/s | No | 8b/10b | Flit Mode | Flit模式和Non-Flit具有相同的有序集 |
2.5GT/s,5.0GT/s | YES | 8b/10b | Non-Flit Mode | Flit模式和Non-Flit具有相同的有序集 |
8.0GT/s,16.0GT/s,32.0GT/s | NO | 128b/130b | Flit Mode | 1. 当需要发送SKPOS,8.0GT/时只有Standard SKPOS,剩下的有序集在Non-Flit和Flit模式相同 2. 当需要发送SKPOS时,16.0GT/s和32.0GT/s会交替发送Standard SKPOS和Control SKPOS,剩下的有序集在Flit模式和Non-Flit模式相同 |
8.0GT/s,16.0GT/s,32.0GT/s | YES | 128b/130b | Flit Mode | 需要发送SKPOS时,交替发送Standard SKPOS和Control SKPOS,其它的有序集在Non-flit和Flit模式相同 |
64.0GT/s | YES(强制) | 1b/1b | Flit Mode | 有的有序集在64.0GT/s都采用PAM4信号且为1b/1b编码。当需要发送SKPOS时,只发送Control SKPOS |
- 跟支持Flit模式有关的变量或寄存器
- Flit Mode Supported
- TS1/TS2中的Data Rate Identifier Symbol的bit[0]。如果PCI Express Capalibities寄存器中的Flit Mode Supported比特为1且Link Control寄存器中的Flit Mode Disable为0,则必须设置TS1/2中的Flit Mode Supported为1
- Flit_Mode_Enabled
- 表明Flit模式是否成功协商的变量
- Flit Mode Supported
- PCI Express Capalibities寄存器中的域,当该位为1时表明支持Flit模式
- Flit Mode Disable
- Link Control寄存器中的域,该比特用于禁用Flit模式。如果硬件有致命的缺陷,可以使用此位来禁用Flit模式
- Flit Mode Status
- Link Status2寄存器中的域,表明链路是否会工作在Flit模式,应当域变量Flit_Mode_Enabled保持一致
- Flit Mode Supported