当前位置: 首页 > news >正文

UCIE Specification详解(九)

在这里插入图片描述
在这里插入图片描述

文章目录

        • 4.5.3.4 MBTRAIN
          • 4.5.3.4.1 MBTRAIN.VALVREF
          • 4.5.3.4.2 MBTRAIN.DATAVREF
          • 4.5.3.4.4 MBTRAIN.TXSELFCAL
          • 4.5.3.4.5 MBTRAIN.RXCLKCAL
          • 4.5.3.4.6 MBTRAIN.VALTRAINCENTER
          • 4.5.3.4.7 MBTRAIN.VALTRAINVREF
          • 4.5.3.4.8 MBTRAIN.DATATRAINCENTER1
          • 4.5.3.4.9 MBTRAIN.DATATRAINVREF
          • 4.5.3.4.10 MBTRAIN.RXDESKEW
          • 4.5.3.4.11 MBTRAIN.DATATRAINCENTER2
          • 4.5.3.4.12 MBTRAIN.LINKSPEED
          • 4.5.3.4.13 MBTRAIN.REPAIR
        • 4.5.3.5 LINKINIT(链路初始化)
        • 4.5.3.6 ACTIVE


4.5.3.4 MBTRAIN

MBTRAIN 状态用于设置操作速度并执行时钟到数据的居中。在更高速度下,可能需要诸如Rx 时钟校正、Tx 和Rx 去偏斜等额外校准来确保链路性能。MBTRAIN 使用子状态来执行所有所需的校准和训练。UCIe 模块必须进入每个子状态,并且每个子状态的退出在UCIe之间进行协调模块Partner通过边带握手。如果子状态内的特定操作不需要,UCIe 模块允许通过相关边带握手退出子状态,而无需执行该子状态中描述的操作。

一旦MBINIT 完成,设备就进入此状态。此状态对于先进封装和标准封装是通用的。

在这里插入图片描述

4.5.3.4.1 MBTRAIN.VALVREF

在该状态下优化用于对输入有效信号进行采样的接收器参考电压(Vref)。主带上的数据速率继续保持在支持的最低数据速率(4 GT/s)。UCIe 模块Partner必须将其主带发送器上转发时钟的相位设置在数据UI 的中心。UCIe 模块必须使用转发时钟对有效信号上的模式进行采样。在有效通道参考电压训练期间,所有数据通道和Track 必须保持低电平。允许禁用Track

接收器。当不执行与此状态相关的操作时:

 Clock 发送器保持差分低电平(对于差分时钟)或同时低电平(对于正交时钟)

 Clock 接收器已启用

有效接收器参考电压调整的顺序如下:

1. UCIe 模块必须发送{MBTRAIN.VALVREF start req} 边带消息并等待响应。当收到{MBTRAIN.VALVREF start req} 边带消息时,UCIe 模块Partner用{MBTRAIN.VALVREF startresp} 进行响应。

2. UCIe 模块通过调整接收器参考电压来优化其有效接收器上的Vref 并执行一个或多个接收器发起的Data-to-Clock 点测试(见第4.5.1.3 节)(和/或)一个或多个接收器发起的Data-to-Clock 眼宽扫描(见第4.5.1.4节)。

a. 发送模式必须设置为发送128 次连续模式的“VALTRAIN”(四个1 和四个0)模式(见表4-5)。此模式不得加扰。接收器必须设置为在有效通道上执行比较。

b. 如果“VALTRAIN”模式检测错误小于设定阈值(见第9.5.3.29 节中每个通道的比较阈值),则接收器通道上的检测被视为成功。

c. 应当注意,LFSR 复位在MBTRAIN.VALVREF 中没有影响。

3. 在Vref 优化(执行Vref 优化的一种方法是逐步调整Vref 并在每个设置下执行步骤2)之后,UCIe 模块必须发送{MBTRAIN.VALVREF end req} 边带消息。当收到 {MBTRAIN.VALVREF end req} 时,UCIe 模块Partner必须用{MBTRAIN.VALVREF end resp}进行响应。当UCIe 模块已发送并接收边带消息{MBTRAIN.VALVREF end resp} 时,它必须退出到MBTRAIN.DATAVREF。

4.5.3.4.2 MBTRAIN.DATAVREF

在该状态下优化用于对输入数据进行采样的接收器参考电压(Vref)。UCIe 模块主带上的数据速率继续保持在支持的最低数据速率(4GT/s)。

发送器将转发时钟相位设置在数据UI 的中心。Track 发送器保持低电平,并且允许禁用Track接收器。当不执行与此状态相关的操作时:

 Clock 发送器保持差分低电平(用于差分时钟)或同时低电平(用于正交时钟)

 Clock 接收器已启用

 Data 和Valid 发送器保持低电平

 Data 和Valid 接收器已启用

Data 接收器参考电压调整的顺序如下:
1. UCIe 模块发送边带消息{MBTRAIN.DATAVREF start req}。收到{MBTRAIN.DATAVREF start req} 边带消息时,UCIe 模块Partner用{MBTRAIN.DATAVREF start resp} 响应。
2. UCIe 模块通过调整Data 接收器参考电压来优化数据Vref并执行一个或多个接收器发起的Data-to-Clock 点测试(见第4.5.1.3 节)(和/或)一个或多个接收器发起的Data-to-Clock 眼宽扫描(见第4.5.1.4 节)。

a. 发送器必须设置为发送第4.4.1 节中描述的Continuous mode LFSR 模式的4K UI。数据上的LFSR 模式必须伴有第4.1.2 节中描述的有效通道上的正确有效帧。接收器必须设置为执行每个通道比较。

b. 如果总错误计数小于设定的错误阈值(见第9.5.3.29 节),则接收器通道上的检测被视为成功。

3. UCIe 模块必须在Vref 优化(执行Vref 优化的一种方法是逐步调整Vref 并在每个设置下执行步骤2)之后发送{MBTRAIN.DATAVREF end req} 边带消息。当收到 {MBTRAIN.DATAVREF end req} 时,UCIe 模块Partner必须用{MBTRAIN.DATAVREF end resp} 响应。一旦UCIe 模块发送并接收了边带消息{MBTRAIN.DATAVREF end resp},它必须退出到MBTRAIN.SPEEDIDLE。

4.5.3.4.3 MBTRAIN.SPEEDIDLE
这是一个允许频率更改的电气空闲状态。Clock 发送器保持差分低电平(用于差分时钟)或同时低电平(用于正交时钟)。Clock 接收器已启用。Data、Valid 和Track 发送器保持低电平。

以下规则适用:

1. 数据速率确定如下:
— 如果从此状态从MBTRAIN.DATAVREF 进入,UCIe 模块转换到基于两个设备之间的最高公共速度的数据速率(见第4.5.3.3.1 节)。

— 否则,如果从此状态从L1 进入,则必须恢复进入L1 之前的最后一个Active 状态中的工作速度。

— 否则,如果从此状态从LINKSPEED 或PHYRETRAIN(速度降级)进入,并且当前速度不是4 GT/s,则必须选择下一个更低的数据速率。

— 否则,UCIe 模块在执行TRAINERROR 握手后必须退出到TRAINERROR。

2. 链路的宽度设置为在MBINIT.REPAIRMB 或MBTRAIN.REPAIR 退出时先前确定的宽度(相对于进入SPEEDIDLE,以最近的状态为准)。

3. 在完成向所需数据速率的转换后,UCIe 模块必须发送{MBTRAIN.SPEEDIDLE done req}边带消息。当收到{MBTRAIN.SPEEDIDLE done req} 边带消息时,UCIe 模块Partner用{MBTRAIN.SPEEDIDLE done resp} 响应。一旦UCIe 模块发送并接收了
{MBTRAIN.SPEEDIDLE done resp}边带消息,它必须退出到MBTRAIN.TXSELFCAL。

4.5.3.4.4 MBTRAIN.TXSELFCAL

UCIe 模块独立于UCIe 模块Partner校准其电路参数。Data、Clock、Valid 和Track 发送器处于三态。Data、Clock、Valid 和Track 接收器允许被禁用。

1. UCIe 模块被允许执行特定于实现的发送器相关校准。

2. 在校准完成后,UCIe 模块必须发送{MBTRAIN.TXSELFCAL Done req} 边带消息。当收到{MBTRAIN.TXSELFCAL Done req} 边带消息时,UCIe 模块Partner必须用 {MBTRAIN.TXSELFCAL Done resp} 响应。当UCIe 模块发送并接收了 {MBTRAIN.TXSELFCAL Done resp} 边带消息,它必须退出到MBTRAIN.RXCLKCAL。

4.5.3.4.5 MBTRAIN.RXCLKCAL

在此状态下,Clock、Valid 发送器保持低电平(Data 和Valid 接收器允许禁用)。当不执行与此状态相关的操作时,如果UCIe 模块Partner通告了选通模式,Clock 发送器保持差分低电平(用于差分时钟)或同时低电平(用于正交时钟)。当不执行与此状态相关的操作时,如果UCIe 模块Partner通告了连续时钟模式且{MBTRAIN.RXCLKCAL start req} 边带消息已被接收,那么Clock 发送器提供自由运行的转发时钟。

1. UCIe 模块,当准备对其时钟接收路径执行校准时,发送{MBTRAIN.RXCLKCAL start req}边带消息。当收{MBTRAIN.RXCLKCAL start req} 边带消息时,UCIe 模块Partner开始发送转发Clock 和Track。随后,UCIe 模块Partner发送{MBTRAIN.RXCLKCAL start resp}边带消息。发送器时钟必须自由运行,并且所有数据通道和有效信号必须保持低电平。UCIe 模块被允许使用转发时钟来执行任何时钟路径相关和Clock-to-Track 相关的校准。UCIe 模块Partner在此状态下不得调整其发送器上的任何电路或PI 相位参数。

2. 当执行所需的校准(如果有)时,UCIe 模块发{MBTRAIN.RXCLKCAL done req} 边带消息。当收到{MBTRAIN.RXCLKCAL done req} 时,UCIe 模块Partner停止发送转发时钟,并通过发送{MBTRAIN.RXCLKCAL done resp} 边带消息进行响应。当UCIe 模块发送并接收{MBTRAIN.RXCLKCAL done resp} 边带消息,它必须退出到 MBTRAIN.VALTRAINCENTER。

4.5.3.4.6 MBTRAIN.VALTRAINCENTER

为确保有效信号起作用,在数据通道训练之前执行Valid to Clock 的训练。接收器使用转发时钟对有效信号上的模式进行采样。接收器参考电压设置为通过Vref 训练实现的优化值(见第4.5.3.4.1 节和第4.5.3.4.2 节)。在Valid 到时钟训练期间,所有Data 和Track 发送器保持低电平。当不执行与此状态相关的操作时,如果UCIe 模块Partner通告了选通模式,那么Clock发送器保持差分低电平(用于差分时钟)或同时低电平(用于正交时钟)。当不执行与此状态相关的操作时,如果UCIe 模块Partner通告了连续时钟模式,那么Clock 发送器提供自由运行的转发时钟。

以下是MBTRAIN.VALTRAINCENTER 序列:

1. UCIe 模块发送边带消息{MBTRAIN.VALTRAINCENTER start req}。UCIe 模块Partner以{MBTRAIN.VALTRAINCENTER start resp} 响应。

2. UCIe 模块必须执行一个或多个发送器发起的Data-to-Clock 眼宽扫描(见第4.5.1.2 节)(和/或)一个或多个发送器发起的Data-to-Clock 点测试(见第4.5.1.1 节),以确定正确的有效到时钟居中。

a. 发送模式必须设置为发送128 次连续模式“VALTRAIN”(四个1 和四个0)模式(见表4-5)。此模式不得加扰。接收器必须设置为在有效通道上执行比较。

b. 如果“VALTRAIN”模式检测错误小于设定阈值(见第9.5.3.29 节中的每条通道比较阈值),则接收器通道上的检测被视为成功。

c. 应当注意,LFSR 复位在MBTRAIN.VALVREF 中没有影响。

3. UCIe 模块可以使用接收到的结果日志来评估有效功能和余量。在此之后,必须执行步骤4。

4. UCIe 模块必须发送{MBTRAIN.VALTRAINCENTER done req} 边带消息。

当收到{MBTRAIN.VALTRAINCENTER done req} 时,UCIe 模块Partner以{MBTRAIN.VALTRAINCENTER done resp} 响应。一旦UCIe 模块发送并接收{MBTRAIN.VALTRAINCENTER done resp} 边带消息,UCIe 模块必须退出到MBTRAIN.VALTRAINVREF。

4.5.3.4.7 MBTRAIN.VALTRAINVREF

UCIe 模块允许可选地优化参考电压(Vref),以在操作数据速率下对输入的有效信号进行采样。在Valid-to-Clock 训练期间,所有Data 和Track 发送器保持低电平。当未执行与此状态相关的操作时,如果UCIe 模块Partner通告了选通模式,则Clock 发送器保持差分低(对于差分时钟)或同时低(对于正交时钟)。当未执行与此状态相关的操作时,如果UCIe 模块Partner通告了连续时钟模式,则Clock 发送器提供自由运行的转发时钟。

有效接收器参考电压调整的顺序如下:

1. UCIe 模块必须发送边带消息{MBTRAIN.VALTRAINVREF start req}。当收到{MBTRAIN.VALTRAINVREF start req} 边带消息时,UCIe 模块Partner以 {MBTRAIN.VALTRAINVREF start resp} 响应。

2. UCIe 模块通过调整其有效接收器上的接收器参考电压,并执行一个或多个接收器发起的Data-to-Clock 眼宽扫描(见第4.5.1.4 节)(和/或)一个或多个接收器发起的Data-to-Clock点测试(见第4.5.1.3 节),来可选地优化Vref。步骤2 是可选的,且与具体实现相关。

a. 如果进行有效居中操作,发送模式必须设置为发送128 次连续模式“VALTRAIN”(四个1 和四个0)模式(见表4-5)。此模式不得加扰。接收器必须设置为在有效通道上进行比较。

b. 如果“VALTRAIN”模式检测错误小于设定阈值(见第9.5.3.29 节中每条通道的比较阈值),则接收器通道上的检测被视为成功。

c. 应当注意,LFSR 复位在MBTRAIN.VALVREF 中没有影响。

3. UCIe 模块在Vref 优化完成后必须发送{MBTRAIN.VALTRAINVREF end req} 边带消息。

当收到{MBTRAIN.VALTRAINVREF end req} 时,UCIe 模块Partner必须以 {MBTRAIN.VALTRAINVREF end resp} 响应。一旦UCIe 模块发送并接收了边带消息{MBTRAIN.VALTRAINVREF end resp},它必须退出到MBTRAIN.DATATRAINCENTER1.

4.5.3.4.8 MBTRAIN.DATATRAINCENTER1

在此状态下,UCIe 模块执行Data-to-Clock 的训练(包括有效)。在第4.4.1 节中描述的LFSR模式必须在此状态下使用。Track 发送器保持低电平。当未执行与此状态相关的操作时:

 Clock 接收器已启用

 Data 和Valid 发送器保持低电平

 Data 和Valid 接收器已启用

 如果UCIe 模块Partner通告了选通模式,则Clock 发送器保持差分低(对于差分时钟)或同时低(对于正交时钟)

 如果UCIe 模块Partner通告了连续时钟模式,则Clock 发送器提供自由运行的转发时钟以下是MBTRAIN.DATATRAINCENTER1 序列:

1. UCIe 模块发送{MBTRAIN.DATATRAINCENTER1 start req} 边带消息。当收到{MBTRAIN.DATATRAINCENTER1 start req} 边带消息时,UCIe 模块Partner以 {MBTRAIN.DATATRAINCENTER1 start resp} 响应。

2. UCIe 模块必须执行一个或多个发送器发起的Data-to-Clock 眼宽扫描(见第4.5.1.2 节)(和/或)一个或多个发送器发起的Data-to-Clock 点测试(见第4.5.1.1 节),以确定正确的Data-to-Clock 居中并调整发送器的每比特去偏斜(如果需要)。

a. 发送器必须设置为发送第4.4.1 节中描述的Continuous mode LFSR 模式的4K UI。数据上的LFSR 模式必须伴有第4.1.2 节中描述的有效通道上的正确有效帧。接收器必须设置为执行逐通道比较。

b. 如果总错误计数小于设定的错误阈值(见第9.5.3.29 节),则接收器通道上的检测被视为成功。

3. 如果测试成功,UCIe 模块必须设置时钟相位以在最佳点对数据眼图进行采样,以最大化眼图余量。UCIe 模块必须发送{MBTRAIN.DATATRAINCENTER1 end req} 边带消息。当{MBTRAIN.DATATRAINCENTER1 end req} 边带消息被接收,UCIe 模块Partner以 {MBTRAIN.DATATRAINCENTER1 end resp} 响应。一旦UCIe 模块已发送并接收了{MBTRAIN.DATATRAINCENTER1 end resp} 边带消息,它必须退出到 MBTRAIN.DATATRAINVREF。

4.5.3.4.9 MBTRAIN.DATATRAINVREF

UCIe 模块被允许可选地优化其Data 接收器上的参考电压(Vref)以优化在工作数据速率下对输入数据的采样。Track 发送器保持低电平。当未执行与此状态相关的操作时:

 Clock 接收器已启用

 Data 和Valid 发送器保持低电平

 Data 和Valid 接收器已启用

 如果UCIe 模块Partner通告了选通模式,那么Clock 发送器保持差分低电平(用于差分时钟)或同时低电平(用于正交时钟)

 如果UCIe 模块Partner通告了连续时钟模式,那么Clock 发送器提供自由运行的转发时钟Data 接收器参考电压调整的序列如下:

1. UCIe 模块必须发送边带消息{MBTRAIN.DATATRAINVREF start req}。当 {MBTRAIN.DATATRAINVREF start req} 边带消息被接收时,UCIe 模块Partner以 {MBTRAIN.DATATRAINVREF start resp} 响应。

2. UCIe 模块通过调整接收器参考电压并执行一个或多个接收器发起的Data-to-Clock 眼宽扫描(见第4.5.1.4 节)(和/或)一个或多个接收器发起的Data-to-Clock 点测试(见第4.5.1.3节)来可选地优化Vref。步骤2 是可选的,且取决于具体实现。如果执行数据Vref 优化:

a. 发送器必须设置为发送第4.4.1 节中描述的连续模式的4K UI 的LFSR 模式。数据上的LFSR 模式必须伴有第4.1.2 节中描述的有效通道上的正确有效帧。接收器必须设置为执行逐通道比较。

b. 如果接收器通道上的总错误计数小于设定的错误阈值,则认为检测成功(见第9.5.3.29 节)。

3. Vref 优化完成后,UCIe 模块必须发送{MBTRAIN.DATATRAINVREF end req} 边带消息。

当收到{MBTRAIN.DATATRAINVREF end req} 时,UCIe 模块Partner以
{MBTRAIN.DATATRAINVREF end resp} 响应。一旦UCIe 模块发送并接收了边带消息{MBTRAIN.DATATRAINVREF end resp},它必须退出到MBTRAIN.RXDESKEW。

注意:在这一步中,眼图开口可能不足(测试失败),接收器可能需要进行每比特去偏斜。

因此,UCIe 模块必须退出到MBTRAIN.RXDESKEW。

4.5.3.4.10 MBTRAIN.RXDESKEW

UCIe 模块被允许可选地在其接收器上执行每条通道的去偏斜以改进在这种状态下的时序余量。Track 发送器保持低电平。当未执行与此状态相关的操作时:

 Clock 接收器启用

 Data 和Valid 发送器保持低电平

 Data 和Valid 接收器启用

 如果UCIe 模块Partner通告了选通模式,那么Clock 发送器保持差分低电平(用于差分时钟)或同时低电平(用于正交时钟)

 如果UCIe 模块Partner通告了连续时钟模式,那么Clock 发送器提供自由运行的转发时钟以下是MBTRAIN.RXDESKEW 序列:
1. UCIe 模块必须发送边带消息{MBTRAIN.RXDESKEW start req}。当收到 {MBTRAIN.RXDESKEW start req} 边带消息时,UCIe 模块Partner以{MBTRAIN.RXDESKEW start resp} 响应。

2. UCIe 模块可选地在其接收器上通过一个或多个接收器执行每条通道的去偏斜发起的Data-to-Clock 眼宽扫描(见第4.5.1.4 节)(和/或)一个或多个接收器发起的Data-to-Clock点测试(见第4.5.1.3 节)。步骤2 是可选的,且取决于具体实现。如果执行每条通道的去偏斜:

a. 发送器必须设置为发送第4.4.1 节中描述的连续模式的4K UI 的LFSR 模式。数据上的LFSR 模式必须伴有第4.1.2 节中描述的有效通道上的正确有效帧。接收器必须设置为执行逐通道比较。

b. 如果接收器通道上的错误总数小于设定的阈值,则认为该通道上的检测成功(见第9.5.3.29 节)。

3. 在执行或跳过去偏斜操作后,UCIe 模块必须发送{MBTRAIN.RXDESKEW end req} 边带消息。当收到{MBTRAIN.RXDESKEW end req} 时,UCIe 模块Partner必须以
{MBTRAIN.RXDESKEW end resp} 响应。一旦UCIe 模块已发送并收到边带消息 {MBTRAIN.RXDESKEW end resp},它必须退出到MBTRAIN.DATATRAINCENTER2。

4.5.3.4.11 MBTRAIN.DATATRAINCENTER2

在UCIe 模块Partner的接收器执行每条通道的去偏斜的情况下,此状态对于UCIe 模块重新对时钟进行中心化以聚合数据是必需的。Track 发送器保持低电平。当不执行与此状态相关的操作时:

 Clock 接收器已启用

 Data 和Valid 发送器保持低电平

 Data 和Valid 接收器已启用

 如果UCIe 模块Partner通告了选通模式,那么Clock 发送器保持差分低电平(用于差分时钟)或同时低电平(用于正交时钟)

 如果UCIe 模块Partner通告了连续时钟模式,那么Clock 发送器提供自由运行的转发时钟以下是MBTRAIN.DATATRAINCENTER2 序列:
1. UCIe 模块发送边带消息{MBTRAIN.DATATRAINCENTER2 start req}。当收到 {MBTRAIN.DATATRAINCENTER2 start req} 边带消息时,UCIe 模块Partner以 {MBTRAIN.DATATRAINCENTER2 start resp} 响应。

2. UCIe 模块必须执行一个或多个发送器发起的Data-to-Clock 眼宽扫描(见第4.5.1.2 节)(和/或)一个或多个发送器发起的Data-to-Clock 点测试(见第4.5.1.1 节),以确定正确的数据到眼图中心。

a. 发送器必须设置为发送第4.4.1 节中描述的连续模式的4K UI 的LFSR 模式。数据上的LFSR 模式必须伴有第4.1.2 节中描述的有效通道上的正确有效帧。接收器必须设置为执行逐通道比较

b. 如果接收器通道上的错误总数小于设定的错误阈值,则该通道上的检测被认为是成功的(见第9.5.3.29 节)。

3. UCIe 模块使用接收到的训练结果来计算最终的眼图中心,并设置时钟相位以在最佳点对数据眼进行采样,从而最大限度地扩大眼余量。UCIe 模块必须发送 {MBTRAIN.DATATRAINCENTER2 end req} 边带消息。当
{MBTRAIN.DATATRAINCENTER2 end req} 边带消息被接收时,UCIe 模块Partner以{MBTRAIN.DATATRAINCENTER2 end resp} 响应。一旦UCIe 模块已发送并收到{MBTRAIN.DATATRAINCENTER2 end resp} 边带消息,它必须退出到 MBTRAIN.LINKSPEED。

4.5.3.4.12 MBTRAIN.LINKSPEED

在此状态下,UCIe 模块以运行数据速率检查链路稳定性。Track 发送器是保持低电平。当不

执行与此状态相关的操作时:

 Clock 接收器已启用

 Data 和Valid 发送器保持低电平

 Data 和Valid 接收器被启用

 如果UCIe 模块Partner通告了选通模式,那么Clock 发送器保持差分低(用于差分时钟)或同时低(用于正交时钟)

 如果UCIe 模块Partner通告了连续时钟模式,那么Clock 发送器提供自由运行的转发时钟

在适用时,必须按顺序执行以下步骤:

1. UCIe 模块发送边带消息{MBTRAIN.LINKSPEED start req}。当收到
{MBTRAIN.LINKSPEED start req} 边带消息时,UCIe 模块Partner以{MBTRAIN.LINKSPEED start resp} 响应。

2. UCIe 模块必须使用在前一阶段计算出的最终时钟采样相位执行发送器发起的 Data-to-Clock 点测试(见第4.5.1.1 节) MBTRAIN.DATACENTER2 状态。在该状态下必须使用第4.4.1 节中描述的LFSR 模式。

a. 发送器必须设置为发送第4.4.1 节中描述的4K UIContinuous mode LFSR 模式。数据上的LFSR 模式必须伴有第4.1.2 节中描述的有效通道上的正确有效帧。接收器必须设置为执行逐通道比较

b. 如果接收器通道上的错误总数小于设定的阈值(见第9.5.3.29 节),则该通道上的检测被视为成功。

3. 对于单模块实例,如果遇到错误,UCIe 模块将其发送器设置为电空闲状态,并发送{MBTRAIN.LINKSPEED error req} 边带消息。如果收到{MBTRAIN.LINKSPEED error req}边带消息,UCIe 模块Partner必须完成步骤1 和步骤2,评估结果,如果不发起 {MBTRAIN.LINKSPEED exit to phy retrain req} 边带消息,UCIe 模块Partner在其接收器上进入电空闲状态,并发送{MBTRAIN.LINKSPEED error resp} 边带消息。如果
{MBTRAIN.LINKSPEED exit to phy retrain req} 边带消息被接收,UCIe 模块必须退出到PHYRETRAIN 并发送{MBTRAIN.LINKSPEED exit to PHY retrain resp} 边带消息;任何未完成的消息都被放弃。否则,在收到{MBTRAIN.LINKSPEED error resp} 边带消息后,PHY_IN_RETRAIN 标志被清除,以下规则适用:

a. 根据遇到错误的通道数量,UCIe 模块检查失败的通道是否可以修复(对于先进封装)或宽度降级(对于标准封装)。

如果通道可以修复(对于先进封装)或宽度降级(对于标准封装),UCIe 模块必须向UCIe 模块Partner发送{MBTRAIN.LINKSPEED exit to repair req}。UCIe 模块Partner,如果不发起速度降级,则进入MBTRAIN.REPAIR 并发送边带消息{MBTRAIN.LINKSPEED exit to repair resp}。如果收到{MBTRAIN.LINKSPEED exit to repair resp}作为对{MBTRAIN.LINKSPEED exit to repair req}的响应,UCIe 模块必须退出到
MBTRAIN.REPAIR。如果UCIe 模块正在发起速度降级,则它不得响应
{MBTRAIN.LINKSPEED exit to repair req}。

b. 如果通道无法修复(对于先进封装)或宽度无法降级(对于标准封装),则速度必须降级。UCIe 模块发送{MBTRAIN.LINKSPEED exit to speed degrade req}边带消息,并等待远程链路Partner的响应。UCIe 模块Partner必须用{MBTRAIN.LINKSPEED exit to speed degrade resp}进行响应。在此握手之后,UCIe 模块必须退出到MBTRAIN.SPEEDIDLE,将数据速率设置为下一个较低的速度。

c. 如果UCIe 模块收到{MBTRAIN.LINKSPEED exit to speed degrade req},任何未完成的{MBTRAIN.LINKSPEED exit to repair req} 必须被放弃,并且UCIe 模块必须响应{MBTRAIN.LINKSPEED exit to speed degrade req}。

d. 如果UCIe 模块已收到{MBTRAIN.LINKSPEED error req},则任何未完成的{MBTRAIN.LINKSPEED done req} 必须被放弃。

4. 对于单模块或多模块实例,如果未遇到错误,UCIe 模块必须在其发送器上设置时钟相位,以在最佳点对数据眼进行采样,从而最大程度地增加眼宽余量。如果对于单模块实例未设置

PHY_IN_RETRAIN,则转到步骤6。如果PHY_IN_RETRAIN 未设置,对于多模块实例,UCIe 模块必须发送{MBTRAIN.LINKSPEED done req}(如果作为重定时器不等待链路匹配标准)给远程UCIe 模块Partner,并在步骤5c 中等待多模块PHY 逻辑(MMPL)的解决。如果设置了PHY_IN_RETRAIN 变量,则必须采取以下操作:

a. 如果相对于上一次PHYRETRAIN 条目在Runtime Link Testing Control 寄存器中检测到变化,UCIe 模块必须发送{MBTRAIN.LINKSPEED exit to phy retrain req} 并等待响应。收到此消息后,UCIe 模块Partner必须退出到PHY 重训练并发送{MBTRAIN.LINKSPEED exit to PHY retrain resp}。一旦收到此边带消息,UCIe 模块必须退出到PHY 重训练。

b. 否则,如果相对于上一次PHYRETRAIN 条目的Runtime Link Testing Control 寄存器中未检测到变化,则必须清除Runtime Link Testing Status 中的Busy 位和PHY_IN_RETRAIN 变量,并且UCIe 模块必须继续进行到步骤6。

5. 对于多模块实例,如果遇到错误,UCIe 模块将其发送器设置为电空闲状态,并发送{MBTRAIN.LINKSPEED error req} 边带消息。如果收到{MBTRAIN.LINKSPEED error req}边带消息,UCIe 模块Partner必须完成步骤1 和步骤2,评估结果,如果不发起 {MBTRAIN.LINKSPEED exit to phy retrain req} 边带消息,UCIe 模块Partner在其接收器上进入电空闲状态,并发送{MBTRAIN.LINKSPEED error resp} 边带消息。如果收到
{MBTRAIN.LINKSPEED exit to phy retrain req} 边带消息,UCIe 模块必须退出到 PHYRETRAIN 并发送{MBTRAIN.LINKSPEED exit to PHY retrain resp} 边带消息;任何未完成的消息都将被放弃。否则,在收到{MBTRAIN.LINKSPEED error resp} 边带消息后,PHY_IN_RETRAIN 标志将被清除,并且以下规则适用:
a. 根据遇到错误的通道数量,UCIe 模块检查故障通道是否可以修复(对于先进封装)或宽度降级(对于标准封装)。如果通道可以修复(对于先进封装)或宽度可以降级(对于标准封装),UCIe 模块必须向UCIe 模块Partner发送{MBTRAIN.LINKSPEED exit to repair req}。

b. 如果通道无法修复(对于先进封装)或宽度无法降级(对于标准封装),速度必须降低。UCIe 模块发送{MBTRAIN.LINKSPEED exit to speed degrade req}。

c. UCIe 模块将本地和远程的错误请求、完成请求或速度降级请求通知给MMPL,并等待解决。它还将任何先前的宽度降级(例如在MBINIT.REPAIRMB 中)通知给MMPL,并且MMPL 将其视为相应的模块请求从完整的操作宽度进行宽度降级。

d. 根据第4.7 节中的解决流程图,MMPL 指示每个模块发送{MBTRAIN.LINKSPEED exit to repair resp}(表示下一个状态是REPAIR),{MBTRAIN.LINKSPEED exit to speed degrade resp}(表示下一个状态是SPEEDIDLE 且目标速度为下一个更低的速度),
{MBTRAIN.LINKSPEED multi-module disable module resp}(表示下一个状态是 TRAINERROR 并最终是RESET),或{MBTRAIN.LINKSPEED done resp}(表示下一个状态是LINKINIT)。无论模块的原始错误请求或完成请求如何,都会这样做,并向每个模块指示解决的结果和下一个状态。一旦发送并接收到与预期解决方案匹配的边带响应消息,UCIe 模块就会转换到下一个状态。接收到的消息与预期解决方案的任何不匹配都必须使所有模块进入TRAINERROR。对于重定时器Die,解决方案必须考虑任何链路匹配要求,并且在与远程重定时器Partner确定目标配置时,来自重定时器Die 的每个UCIe 模块必须每4 ms发送带有Stall 编码的{MBTRAIN.LINKSPEED done resp}。UCIe 重定时器必须确保此暂停不是永久性的,并且重定时器中必须包含特定于实现的超时。如果接收到带有Stall 编码的{MBTRAIN.LINKSPEED done resp},它必须为状态转换以及任何未完成的多模块解决方案的握手来复位定时器。

6. 如果UCIe Die 不是重定时器,则进行到步骤7。如果UCIe Die 是重定时器,则以下规则

适用于实现链路匹配(如果需要):

a. 重定时器不得发送{MBTRAIN.LINKSPEED done req},除非远程重定时器Partner的目标链路速度和宽度解析为当前链路和宽度。如果实现链路匹配或不需要链路匹配,则进行到步骤7。

b. 在与远程重定时器Partner解决目标链路速度和宽度时,如果重定时器已收到
{MBTRAIN.LINKSPEED done req},则必须每4 ms 发送带有Stall 编码的
{MBTRAIN.LINKSPEED done resp}。UCIe 重定时器必须确保此暂停不是永久性的,并且重定时器中必须包含特定于实现的超时。

c. 如果本地UCIe 链路速度或宽度大于远程重定时器UCIe 链路,则必须将其视为错误情况,并执行带有修复或速度降级的步骤3 或步骤5(以适用者为准)。

7. UCIe 模块必须发送{MBTRAIN.LINKSPEED done req} 边带消息。当
{MBTRAIN.LINKSPEED done req} 被接收时,UCIe 模块必须用{MBTRAIN.LINKSPEED done resp} 做出响应,并且当UCIe 模块已发送和接收{MBTRAIN.LINKSPEED done resp}边带消息时,发送器和接收器现在都已启用且空闲,并且两个设备都退出到LINKINIT。

4.5.3.4.13 MBTRAIN.REPAIR

此状态可以从PHYRETRAIN 或MBINIT.LINKSPEED 进入。对于先进封装,此状态将用于应用修复,对于标准封装,此状态将用于链路宽度降级。Track、Data 和Valid 发送器保持低电平。Clock 发送器保持差分低电平(用于差分时钟)或同时低电平(用于正交时钟)。

对于先进封装,如果当前可用的修复资源数量大于遇到错误的通道数量,则必须进行修复:

1. UCIe 模块为其发送器发送边带消息{MBTRAIN.REPAIR init req},UCIe 模块Partner用{MBTRAIN.REPAIR init resp} 响应。

2. 如果通道修复是可能的,UCIe 模块按照第4.3.1 节所述对其发送器通道进行修复,并发送{MBTRAIN.REPAIR Apply repair req} 边带消息。UCIe 模块Partner按照第4.3.1 节所述进行修复,并在应用所需修复后用{MBTRAIN.REPAIR Apply repair resp} 边带消息响应。3. UCIe 模块必须发送{MBTRAIN.REPAIR end req} 边带消息并等待响应。UCIe 模块Partner随后必须用{MBTRAIN.REPAIR end resp} 响应。当UCIe 模块已发送并接收 {MBTRAIN.REPAIR end resp} 时,它必须退出到MBTRAIN.TXSELFCAL。

对于x16 标准封装,如果遇到错误的通道都包含在Lane 0 至Lane 7 或Lane 8 至Lane 15 内,宽度必须降级为使用无错误通道集(Lane 0… Lane 7 或Lane 8… Lane 15)的x8 链路。同样,对于x8 标准封装,如果遇到错误的通道都包含在Lane 0 至Lane 3 或Lane 4 至Lane 7 内,必须将宽度降级为x4 链路,使用无错误的通道集合(Lane 0 至Lane 3 或Lane 4 至Lane 7)。

1. UCIe模块发送边带消息{MBTRAIN.REPAIR init req},接收器用{MBTRAIN.REPAIR init resp} 响应。

2. UCIe 模块必须发送{MBTRAIN.REPAIR apply degrade req}边带消息,使用表4-9 中的逻辑通道映射编码之一指示其发送器上的功能通道。只有当SPMW 位设置为1 或在发送或接收的{MBINIT.PARAM configuration req}边带消息中UCIe-S x8 位设置为1 时,才能使用编码100b 和101b。如果远程链路Partner在功能通道中指示宽度降级,UCIe 模块必须对其接收器应用相应的宽度降级。如果远程链路Partner指示所有通道都是功能正常的,UCIe 模块将其发送器和接收器设置为与在其发送器上确定的功能通道编码相对应的逻辑通道映射。UCIe 模块在将其发送器和接收器通道设置为相关逻辑通道映射后发送{MBTRAIN.REPAIR apply degrade resp}边带消息,如果可能降级或所有通道都是功能正常的,则继续执行步骤3。如果在{MBTRAIN.REPAIR apply degrade req}边带消息中发送或接收“Degrade not possible”编码,UCIe 模块在执行TRAINERROR 握手后必须退出到TRAINERROR。

3. UCIe 模块必须发送{MBTRAIN.REPAIR end req} 边带消息并等待响应。UCIe 模块Partner随后必须用{MBTRAIN.REPAIR end resp} 边带消息响应。当UCIe 模块已发送并接收到{MBTRAIN.REPAIR end resp} 边带消息时,UCIe 模块必须退出到MBTRAIN.TXSELFCAL。

4.5.3.5 LINKINIT(链路初始化)

此状态用于在RDI 上进入Active 状态之前,让Die-to-Die 适配器完成初始链路管理。有关RDI 启动流程的更多详细信息,请参阅第10.1.6 节。Track、Data 和Valid 发送器保持低电平。如果UCIe 模块Partner通告了选通模式,则Clock 发送器保持差分低电平(用于差分时钟)或同时低电平(用于正交时钟)。如果UCIe 模块Partner通告了连续时钟模式,则时钟发送器提供自由运行的转发时钟。Clock 接收器已启用。

一旦RDI 处于Active 状态,PHY 将从UCIe Link Control 寄存器中清除其“Start UCIe Link training”位的副本。

在进入此状态时,LFSR 必须复位。

此状态对于先进封装和标准封装配置是通用的。

4.5.3.6 ACTIVE

物理层初始化完成,RDI 处于Active 状态,并且来自上层的数据包可以在两个Die 之间交换。在此状态下的所有数据都使用第4.4.1 节中描述的扰码器LFSR 进行扰码。应用第5.11 节中

描述的时钟门控规则。

此状态对于先进封装和标准封装配置是通用的。

http://www.dtcms.com/a/357595.html

相关文章:

  • 马斯克杀入AI编程!xAI新模型Grok Code Fast 1发布,深度评测:速度、价格与API上手指南
  • 数列寻方:等差数列和为完全平方数
  • Node.js汉字转拼音指南:pinyin-pro全解析
  • Llama-index学习文档
  • 使用leapp升级Linux
  • (一)Python语法基础(上)
  • MYSQL-索引(上)
  • 营业执照识别技术应用OCR与深度学习,实现高效、精准提取企业核心信息,推动数字化管理发展。
  • Android init 进程部分理论
  • 为什么外贸企业管理需要外贸CRM系统
  • Electron 进程模型:主进程与渲染进程详解
  • LDA(隐狄利克雷分配):主题模型的经典之作
  • ubuntu如何识别windows的USB设备(WSL2)
  • Shell 编程基础(续):流程控制与实践
  • RustDesk(跨平台远程桌面软件) v1.4.1 中文绿色版
  • 单节锂电池,升压至12V/2.5A的芯片选型指南(附FP5207X 与 FP7208参数表)
  • 【大模型14】Fine-tuning与大模型优化1
  • 基于深度学习的文本情感分析系统:从理论到实践的全栈实现
  • UPDF for mac PDF编辑器
  • 表达式语言EL
  • 【0422】SMgrRelationData 中 md_num_open_segs 和 md_seg_fds 数组为什么是 4 个元素? 第四个元素表示什么?
  • 【观成科技】蔓灵花User下载者加密通信分析
  • 第二阶段WinForm-10:多线程
  • 亚马逊竞品分析新思路——从数据迷雾到精准截流
  • C++模板类的详细介绍和使用指南
  • 财务RPA机器人——解读 377页RPA财务机器人开发与应用—基于UiPath StudioX【前三章 附全文阅读】
  • [UVM]编写一个验证vld和rdy握手的断言
  • 第5篇 c++ 函数的多返回值实现-返回多个值
  • 工业智能体时代,制造业要不要建AI中台?
  • Day17 Docker学习