描述
Spartan-6 FPGA器件中的IODELAY2模块可能会遇到延迟数据边沿延迟,早期数据边沿延迟和单数据位损坏。针对所有生产状态Spartan-6 FPGA器件, Spartan-6 FPGA生产勘误表 (EN148)已针对此问题进行了更新:
https://www.xilinx.com/support/documentation/errata/en148.pdf
本答复记录描述了先前掩码修订器件的行为。
有关新掩码修订器件的详细信息,请参阅(Xilinx答复41083) 。有关如何识别先前和新掩码修订的详细信息,请参阅XCN11012 。
XA Automotive,XQ,Q级和XC低功率-1L器件将仅通过New Mask Revision发布。
注意: MCB不受此问题的影响。
解
IDELAY和ODELAY模式中的延迟数据边缘延迟
对于所有IDELAY_TYPE设置,当IDELAY_VALUE或ODELAY_VALUE为4或更高时,或者当用作输出延迟时,IODELAY2块可在上升沿或下降沿转换时添加最多350 ps的延迟。
此行为可以在所有数据速率下出现,并应包含在系统时序裕度分析中。
延迟数据边缘延迟解决方法
后期数据边沿延迟问题没有解决方法,必须在系统时序裕度分析中考虑。有关时序约束的指导,请参阅(Xilinx答复39046) ,以说明延迟的潜在变化。
ODELAY模式下的早期数据边缘延迟
在ODELAY模式下使用的IODELAY2模块可以在上升沿或下降沿转换的早期产生高达350 ps的数据边沿。早期数据边缘早于预期或正常数据边缘。对于所有ODELAY_VALUE设置,此行为可能以高于533 Mb / s的数据速率出现,并应包含在系统时序裕度分析中。
早期数据边缘延迟解决方法
增加的边沿延迟问题没有解决方法,必须在系统时序裕度分析中考虑。有关时序约束的指导,请参阅(Xilinx答复39046) ,以说明延迟的潜在变化。
IDELAY和ODELAY模式下的单数据位损坏
IODELAY2块可以破坏所有IDELAY_TYPE设置的单个数据位或用作输出延迟。
单数据位损坏变通方法
具体的解决方法基于IDELAY_TYPE的设置。以下指南建议根据IODELAY2的使用模式限制IODELAY2的使用。注意,IDELAY_TYPE是用于定义操作模式的属性;它与IDELAY_MODE或SERDES_MODE属性无关。另请注意,所有性能限制均以实际数据速率而非时钟频率为准。这些值与SDR或DDR或ISERDES2 DATA_RATE属性的使用无关。
- IDELAY_TYPE = DEFAULT – 数据速率不得超过250 Mb / s以避免数据损坏。此模式最常用于低速注册输入,因此影响较低。
- IDELAY_TYPE = FIXED或VARIABLE_FROM_ZERO或在ODELAY模式下使用时 – IDELAY_VALUE或ODELAY_VALUE不得超过表2中的值,以避免指定数据速率下的数据损坏。
- IDELAY_TYPE = VARIABLE_FROM_HALF_MAX – 数据速率不得超过400 Mb / s,IODELAY2 IOCLK频率必须等于数据速率,正增量不得超过5以避免数据损坏。
- IDELAY_TYPE = DIFF_PHASE_DETECTOR – 数据速率不得超过400 Mb / s。在400 Mb / s及以下时,时钟偏移的数据(包括封装跟踪差异)不得超过0.15单位间隔(UI)以避免数据损坏。在这种情况下,时钟偏移的数据意味着时钟边沿不能超过0.15UI进入(之后)数据脉冲。 .15 UI指南涉及以下事实:延迟时钟强制抽头值递增,因此过多的偏斜会导致抽头增加超出支持的范围。
受影响的器件
- 这些问题会影响所有Spartan-6 Previous Mask Revision器件。有关如何识别先前和新掩码修订的详细信息,请参阅XCN11012 。
- 可以在(Xilinx答复41083)中找到此问题对Spartan-6 New Mask Revision器件的影响。
- 这个问题对-1L器件的影响可以在(Xilinx答复41356)中找到 。
失败特征
- 引脚上可能发生额外的边沿延迟,数据损坏或两者兼而有之。
- 避免数据损坏的解决方法不能避免额外的边缘延迟。
- 失败是间歇性的
- 对于超过400 Mb / s的所有数据速率,FIXED模式下的最大抽头限制在中点之前。对于可变模式,这会将限制驱动为400 Mb / s或更低,例如VARIABLE_FROM_HALF_MAX。
风险
总体故障率非常低,并且与数据速率和使用的IODELAY2元件数量有关。
内存控制器块
请注意,内存控制器模块(MCB)接口不受IODELAY2问题的影响。
软件/用户指南
没有软件或用户指南更改来解决此问题。
补充指导
以下是帮助设计上述解决方案的附加指南。当使用IDELAY_TYPE作为VARIABLE_FROM_ZERO或VARIABLE_FROM_HALF_MAX时,监控当前的抽头值非常重要,这样它就不会违反指定的值。为此,设计一个计数器电路,每次增加抽头延迟值时加“1”,每减少抽头延迟值,减去“1”。可以监视此值以确保抽头值不高于指定的值以避免单个数据位损坏。
- 避免每位偏移校正并使用时钟偏移校正来最小化易受影响的引脚数。
- 请联系您的FAE或通过以下网址向Xilinx技术支持部门提供服务请求: https : //www.xilinx.com
没有回复内容