基于RocketI/O模块的高速工I/O设计
2.4 通道绑定
通道绑定是指将多个串行通道组合在一起构成一个并行通道,以此来提高收发的数据吞吐率。由于每个通道在收发器互连、时钟再生和数据接收延迟上各不相同,会使接收到的数据产生“错位”的情况(如图3所示), 因此要在发送端数据流中加入一个特殊的序列——通道绑定序列,如图中的“P”字符。每个绑定通道都设定“P”字符为通道绑定序列,在接收端指定一个通道为主通道,其余通道都依据主通道的CHBONDO有效指示进入绑定状态,进而锁定本通道在Elastic Buffer中接收到通道绑定序列的位置。由Elastic Buffer向内部逻辑电路输出数据时,所有经过绑定的通道都以绑定序列指定的Elastic Buffer中的偏移位置进行对齐输出。通道绑定完成后,为了使绑定维持在稳定状态,各通道收发器也要以主通道收发器为基准进行时钟修正操作。
javascript:window.open(this.src);" style="cursor:pointer;"/>
2.5 PCB设计
PCB设计中差分线的线型可选为微波传输线和带状线,它们都有较好的性能。微波传输线一般有更高的差分阻抗,不需要额外的过孔;而带状线在信号间提供了更好的屏蔽。PCB差分线模型如图5所示。在通常的铜介质、环氧—玻璃纤维基材(FR4)条件下,布线要求为:(1)差分线对内两条线间的距离应尽量小于两倍线宽,即S<2W;(2)PCB板材厚度应大于差分线对内两条线之间的距离,即B>S;(3)相邻差分对之间的距离应大于两倍的差分线对的距离,即D>2S。
出于对信号线的屏蔽的考虑,设计的线型选用带状线,计算公式[2]为:
javascript:window.open(this.src);" style="cursor:pointer;"/>
当介电常数εr=4.3、T=1mil、W=6mil、S=10mil、B=20mil时,由(1)式得Z0≈54.4Ω≈。由(2)式得差分线阻抗ZDIFF≈100Ω,以适配Rocket I/O模块设定的50Ω差分输入阻抗。PCB布线时应注意以下几点:
(1)差分线对内的长度相互匹配以减少信号扭曲。为使设计传输速率达到2.5Gbaud,在差分线对内部每个走线区间内的实际布线公差应控制在5mil内。
(2)差分线对内两条线之间的距离应尽可能小,以使外部干扰为共模特征。差分线对间的距离应尽可能保持一致,以降低差分阻抗分布的不连续性。
(3)采用电源层作为差分线的信号回路,因为电源平面有最小的传输阻抗,从而减小噪声。
(4)由于每个过孔可带来0.5~1.0dB的损耗,应尽量减少过孔数目。过孔的通孔和焊盘应有尽量小的物理尺寸,并且在通孔穿越的未连接层不加焊盘。差分对内的过孔不仅在数量上要匹配,而且在放置的位置上也要接近,以使阻抗分布尽量一致。
(5)避免导致阻抗不连续的90°走线,而要用圆弧或45°折线来代替。走线时应使向左、向右折角的数量接近,这样可减少信号经差分线传输引起的扭曲。
javascript:window.open(this.src);" style="cursor:pointer;"/>
3 系统架构
系统架构如图6所示,在两片FPGA间有4个通道共8对直流耦合差分互连线,每个通道可提供双向2.5Gbaud的线路传输速率。通道绑定模块将每片FPGA的4个Rocket I/O模块绑定在一起,在.采用8B/10B编码条件下提供64x125Mbps双向速率。每片的通道绑定模块还提供8x2位的控制接口,指示当前正在发送或接收到的是控制字还是数据。系统的时钟源选用ICS8442差分输出(LVDS)。频率合成器,它可以提供31.25MHz~700MHz的频率合成范围和低的抖动 (RMS period:2.7ps;Cycle-to-cycle:18ps),可满足设计中Rocket I/O模块对参考时钟性能的要求。设计中由ICS8442的两路差分输出驱动器将合成后的时钟送至两片FPGA的差分时钟输人端。四个通道Rocket I/O模块发端采用20%颐加重,以减小信号高频分量因介质损耗而在收端引起的信号畸变,从而改善接收效果。
javascript:window.open(this.src);" style="cursor:pointer;"/>
javascript:window.open(this.src);" style="cursor:pointer;"/>
4 板级设计仿真
由于Rocket I/O收发器工作在2.5Gbaud的速率下,基于IBIS模型的仿真难以提供足够的精度。为了精确仿真RocketI/O收发器在板级设计中的性能,采用收发器HSPICE模型进行接收效果仿真。仿真中选择测试图样为1428.5’D21A'D215,D21.5’D28.2'D28.2'D 15.1’D15.4’D10.5’D10.5,仿真时长为110ns。图8所示依次为发送端输入、差分输出和接收端差分输入的60~85ns波形图,其中Rocket I/O发送器输入信号Vtx_in的tsetup=66.7ps。
分别对发送端差分输出和接收端差分输入信号进行眼图分析,得到如图9所示的眼图。图中测得发端抖动为0.203UI,接收端抖动为0.227UI,但这只是仿真得到的电路固有抖动,在实际情况下的随机抖动对性能的影响并未在仿真中考虑。由图中可以看出,在发端采用20%预加重后接收端眼图的宽度和张开程度都有所改善,因而可以较好地恢复发送信号。
javascript:window.open(this.src);" style="cursor:pointer;"/>