UCIE-PHY

背景知识:

​​​​​​​​​​​​​​​​​​(1)眼图中的le te?  左沿、右沿

(2)Cpi? Clock-path Phase Interpolator

CDR与相位插值器 知乎 (zhihu.com)

(3) Unit Interval UI, Given a data stream of a repeating pattern of alternating 1 and 0 values, the Unit Interval is the value measured by averaging the time interval between voltage transitions, over a time interval sufficiently long to make all intentional frequency modulation of the source clock negligible

眼图形成理论研究(关于眼图的原理、基础及测量)_cadence 眼图-CSDN博客

一些问题:

1track signal是干什么用的?

为了runtime recalibration

 

2Data to Clock point test  && Data to Clock eye width sweep 区别??

区别在于sweep操作时多次扫,每次扫完之后通过sbmsg获取这次的结果是fail还是pass,会一直持续到获取到结果是pass的;

而对于point操作来说,只会执行一次,获取结果后无论是fail还是pass都结束。

3VALVREFVALTRAINVERF的区别??

(4)Cpi dpi

移动clk、移动data调整相位

(5)如何找到眼图的中心位置???相位关系是如何确定的??

状态机跳转:

Reset ->

sbinit ->

mbinit(mbinit.param -> mbinit.cal -> mbinit.repairclk -> mbinit.repairval -> mbinit.reversalmb -> mbinit.repairmb)  ->

mbtrain(mbtrain_valvref -> mbtrain.datavref -> mbtrain.speedidle -> mbtrain.txselfcal -> mbtrain.rxclkcal ->

mbtrain.valtraincenter -> mbtrain.valtrainvref -> mbtrain.datatraincenter1 -> mbtrain.datatrainvref -> mbtrain.rxdeskew -> mbtrain.datatraincenter2 -> mbtrain.linkspeed -> mbtrain.repari) ->

linkint

Transmitter initiated Data to Clock Eye Width Sweep

 

 

Transmitter initiated Data to Clock Eye Width Sweep

 Per-Lane ID pattern

Transmitter initiated Data to Clock Eye Width Sweep

 Pattern mode:

1.Burst Mode

2. Continuous Mode

重复上述过程直到,发现passing PI phase range

主要是在MBTRAIN.VALTRAINCENTER MBTRAIN.DATATRAINCENTER1MBTRAIN.DATATRAINCENTER2状态下使用,主要目的是在于找到眼图的中心位置。

Receiver initiated Data to Clock Eye Width Sweep

 Start Rx Init D to C eye sweep req包含rx所需要的信息

使用的状态:MBTRAIN.VALVREF MBTRAIN.DATAVREF MBTRAIN.VALTRAINVREF MBTRAIN.DATATRAINVREF MBTRAIN.RXDESKEW。

RESET:

(1) 最小驻留时间:4ms  -> for pll stable, Power stable, Sideband clock running at 800 MHz

 (2) reset状态下,phy可以将收到的sb req作为ur处理,但是需要回复rdi credite2e credit;对于cpl来说直接丢掉,cpl不消耗crd,因此无需回复。

Sideband Initialization (SBINIT):

MBINIT

 

MBTRAIN:

1.setup operational speed and perform clock to data centering

2. additional calibrations like Rx clock correction, Tx and Rx deskew(for Link performance)

(1)Enter from datavref -> 协商的最高速率

(2)Enter form l1 -> last active state

(3)linkspeed/phyretrain(degrade) && not 4GT/s -> next_lower speed

(4)trainerror

MBTRAIN.VALTRAINCENTER:

Valid信号的traincenter必须在data信号之前。

 

1.128 iterations of continuous mode “VALTRAIN” (four 1and four 0) pattern

2. pattern must not be scrambled

MBTRAIN.VALVREF(MBTRAIN.VALTRAINVREF):

1.128 iterations of continuous mode “VALTRAIN” (four 1and four 0) pattern

2. pattern must not be scrambled

MBTRAIN.LINKSPEED:

For single-Module instantiations:

LINKSPEED状态下发现错误大于临界值,会主动tx将变为electrical idle state,并且发送{MBTRAIN.LINKSPEED error req} msg给对端。对端在收到{MBTRAIN.LINKSPEED error req}msg之后必须先完成上述12步骤,根据自己rx的评估结果来进行判断:

1)如果不需要进入retrainrx端进入electrical idle state状态,并且回复{MBTRAIN.LINKSPEED error resp}

2)如果需要进入retrain,进入PHYRETRAIN,发送 {MBTRAIN.LINKSPEED exit to PHY retrain req}txtx在收到该msg之后回复{MBTRAIN.LINKSPEED exit to PHY retrain resp}

对于(1)来说,tx在收到{MBTRAIN.LINKSPEED error resp} PHY_IN_RETRAIN会消除,再根据如下情况具体进行判断:

1)错误的数量可以通过degrade进行解决,tx发送{MBTRAIN.LINKSPEED exit to repair req}rx,如果rx不在进行speed degrade,那么发送{MBTRAIN.LINKSPEED exit to repair resp} msg,进入MBTRAIN.REPAIR(正在speed degrade的时候不需要回复msg)。

 ??

2)如果错误的数量不可以通过degrade进行解决,tx发送{MBTRAIN.LINKSPEED exit to speed degrade req}rxrx回复{MBTRAIN.LINKSPEED exit to speed degrade resp} msg,进入MBTRAIN.SPEEDIDLE

{MBTRAIN.LINKSPEED exit to speed degrade req}的优先级高于{MBTRAIN.LINKSPEED exit to repair req},如果收到前者,outstanding的后者需要被discard

{MBTRAIN.LINKSPEED error req}的优先级高于{MBTRAIN.LINKSPEED done req},如果收到前者,outstanding的后者需要被discard

For multi-module instantiations:

LINKSPEED状态下发现错误大于临界值,会主动tx将变为electrical idle state,并且发送{MBTRAIN.LINKSPEED error req} msg给对端。对端在收到{MBTRAIN.LINKSPEED error req}msg之后必须先完成上述12步骤,根据自己rx的评估结果来进行判断:

1)如果不需要进入retrainrx端进入electrical idle state状态,并且回复{MBTRAIN.LINKSPEED error resp}

2)如果需要进入retrain,进入PHYRETRAIN,发送 {MBTRAIN.LINKSPEED exit to PHY retrain req}txtx在收到该msg之后回复{MBTRAIN.LINKSPEED exit to PHY retrain resp}

对于(1)来说,tx在收到{MBTRAIN.LINKSPEED error resp} PHY_IN_RETRAIN会消除,再根据如下情况具体进行判断:

1)错误的数量可以通过degrade进行解决,tx发送{MBTRAIN.LINKSPEED exit to repair req}rx

2)如果错误的数量不可以通过degrade进行解决,tx发送{MBTRAIN.LINKSPEED exit to speed degrade req}rx,speed必须要degrade

3The UCIe Module informs MMPL of local and remote error or done requests and waits for resolution

4)根据CMLSHMLS进行判断,

如果下一个状态是REPAIR,回复MBTRAIN.LINKSPEED exit to repair resp

如果下一个状态是SPEEDIDLE(降低速率),回复MBTRAIN.LINKSPEED exit to speed degrade resp

如果下一个状态是TRAINERROR,回复MBTRAIN.LINKSPEED multi-module disable module resp

如果下一个状态是LINKINIT,回复MBTRAIN.LINKSPEED done resp

注意,Any mismatch on received message vs. expected resolution must take all modules to TRAINERROR

最终执行MBTRAIN.LINKSPEED done req/MBTRAIN.LINKSPEED done resp握手。

LINKSPEED状态下没有发现错误,tx方向上需要set the clock phase以保证采集最大的眼图。

对于single-module instantiations来说,

1 PHY_IN_RETRAIN=0

When sent and received the {MBTRAIN.LINKSPEED done resp} sideband message -> LINKINIT

LINKSPEED状态下没有发现错误,tx方向上需要set the clock phase以保证采集最大的眼图。

对于multi-module instantiations来说:

1 PHY_IN_RETRAIN=0

2PHY_IN_RETRAIN=1

如果,在之前PHYRETRAIN 阶段中在Runtime Link Testing Control register寄存器中检测到错误:

 在之前PHYRETRAIN 阶段中在Runtime Link Testing Control register寄存器中没有检测到错误, Runtime Link Testing Status寄存器中的busy bit0 PHY_IN_RETRAIN0

When sent and received the {MBTRAIN.LINKSPEED done resp} sideband message -> LINKINIT 

 

PHYRETRAIN:

1. Adapter directed PHY retrain

2. PHY initiated PHY retrain(on detecting a Valid framing error)

3. Remote die requested PHY retrain

4. a change is detected in Runtime Link Testing Control register during MBTRAIN.LINKSPEED

 

 

Multi-module initialization:

MMPL , Multi-module PHY Logic

正常模式下的module id匹配

 reversal模式下的module id匹配

degrade模式下的module id匹配 

disable模式下的module id匹配 

 

关于module降速、degradedisable的准则:

1. 如果小于等于一半数量的module需要在当前速率下需要width degrade,那么对应的module需要disable掉。

2. 其他情况下,需要根据如下条件进行判断:

  1)如果当前速率是4GT/S,那么所有module都需要width degrade

  2 Aggregate Raw BW(M, (CLS-1)) > Aggregate raw BW (M/2, CLS),也就是降低速率但是不减小位宽的情况下的带宽是大于速率不变但是module数量减小一半的位宽时,执行降低速率;

  3)否则,执行degrade

 

关于HMLS/2 > CMLS的理解,这里CMLS指的是  双方能够协商的最低的速率。

如果一开始4GT/s没有协商成功,那么这里CMLS就是0,也就是不满足上述条件,直接进入trainer

再比如4GT/s协议上成功,HMLS16GT/s进入trainerr??

 

  • 15
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值