PCIe时钟偏差补偿 (Clock Tolerance Compliance)

简介: PCIe时钟偏差补偿 (Clock Tolerance Compliance)

1. PCIe 时钟偏差


1.1 PCIe 时钟偏差出现的原因


为了减少EMI电磁辐射,芯片厂家往往会对时钟进行扩频(Spread Spectrum Clocking,SSC)。即便不进行SSC,受限于PLL工艺,时钟频率也很难做到与期望频率完全一致。


这样一来,PCIe发送端与接收端存在时钟偏差,尤其是频率偏差。当收发端时钟存在偏差时,如果不对时钟偏差进行补偿,收发端比特速率不匹配势必会导致数据包接收出错。





1.2 PCIe 时钟偏差补偿


为了实现收发端间的有效数据包正确传输,PCIe采用插入SKIP有序集的方式来对时钟偏差进行补偿。发送端(Tx)周期性地在传输lane上发送SKIP有序集,接收端(Rx)接收SKIP有序集并存入其弹性缓存(elastic buffer)中。Rx通过这种删除/插入SKP的方式,来达到补偿时钟偏差的目的。




1.2.1 8b/10b


8b/10b编码时(Gen1/Gen2),Tx发送的SKIP有序集由4个符号组成,以COM符号开始,后面跟着3个SKP符号。若Tx速率快于Rx,Rx从SKIP有序集中删除一个SKP;若Tx速率慢于Rx,Rx从SKIP有序集中插入一个SKP。Rx接收的SKIP有序集为1*COM+(1~5)*SKP。Tx发送有序集的时间间隔为1180~1538符号。




1.2.2 128b/130b


128b/130编码时(Gen3/Gen4/Gen5),Tx发送的SKIP有序集由16个符号组成。Rx接收的SKIP有序集可以为8,12,16,20,24符号。Tx发送有序集的时间间隔为370~375符号。


跟8b/10b下的SKIP有序集相比,128b/130b时的有序集是16SKP+1SKP_END(or SKP_END_CTL) + 3*other symbol。SKP symbol值为0xaa@gen3, 0x99@gen4/gen5。


SKIP_END symbol值为0xe1,SKP_END_CTL值为0x78。




Tx端发送SKIP有序集的原则:


1. 最快1180/370个符号周期、最慢1538/375个符号周期需发送一次SKIP有序集;


2. 多条lane上的SKIP有序集需同时发送,必要时可用PAD字符填充;


3. 发送SKIP有序集不能打乱正常包的发送(即需在包的边界进行插入),发送长包时可在长包发送完城后可集中一次发送多个SKIP有序集;


4. 发送逻辑闲时仍需发送SKIP有序集;


5. Low Power状态时SKIP interval timer需复位。




仿真中遇到的问题


1. SNPS PCIe VIP 报错

遇到问题:

UVM_ERROR */pciesvc_phy.svp(14136) @ *ns: uvm_test_top.*.host_env.io[0].port0.pl0[register_fail:ACTIVE_PL:SKP_OS:phy_max_rx_skp_interval] ReceivePhy: Exceeded maximum interval of 1538 symbol times on lane 0 before receiving a skp ordered set



解决办法:


VIP config中加大skp interval

目录
相关文章
|
缓存 移动开发 JavaScript
PCIe 参考时钟架构 (Refclk Architecture)
PCIe 参考时钟架构 (Refclk Architecture)
3662 0
PCIe 参考时钟架构 (Refclk Architecture)
|
3月前
|
算法
【Simulink】采用延时补偿的三相并网逆变器FCS-MPC
【Simulink】采用延时补偿的三相并网逆变器FCS-MPC
|
7月前
|
芯片 iOS开发
MCU 5V tolerant是什么意思?
MCU 5V tolerant是什么意思?
|
8月前
|
芯片
Constant frequency mode(恒频模式)和Burst mode(点放模式)
Constant frequency mode是指恒频模式或者连续模式,Burst mode是指点放模式或者突发模式。这两个概念在DC-DC开关电源中比较常见,大家都了解开关电源是通过PWM信号控制开关管的通断来进行供电。恒频模式指PWM信号频率保持不变,开关电源一直在工作,这样电压比较稳定。点放模式下,开关管不是周期性开关的,当在轻负载状态下(一般是设备进入低功耗休眠模式),当电压低于预设电压时,导通一次开关管,这样就比较省电。
156 0
ChIP-seq 分析:Consensus Peaks(14)
ChIP-seq 分析:Consensus Peaks(14)
137 0
【UCIe】UCIe Clock Gating
【UCIe】UCIe Clock Gating
366 0
【UCIe】UCIe Clock Gating
【UCIe】UCIe Data to Clock
【UCIe】UCIe Data to Clock
265 0
【UCIe】UCIe Data to Clock
【UCIe】UCIe 信号线修复(Lane Repair/Remapping)
【UCIe】UCIe 信号线修复(Lane Repair/Remapping)
282 0
【UCIe】UCIe 信号线修复(Lane Repair/Remapping)
|
网络协议 算法 Linux
Smooth Delivery:如何减少网络拥塞?
Akamai的Smooth Delivery计划旨在通过两个部分:Pacing+Rate Limiting 增强网络性能,在提高整体网络性能的同时,每个部分都侧重于减少拥塞。
192 0
Smooth Delivery:如何减少网络拥塞?
|
编解码 算法 Perl
h.264 Mode Decision
Mode Decision(模式选择)决定一个宏块以何种类型进行分割。宏块的分割类型有以下几种: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 //P_Skip and B_Skip means th...
627 0

热门文章

最新文章