如果高速PCB设计能够像连接原理图节点那样简单,以及像在计算机显示器上所看到的那样优美的话,那将是一件多么美好的事情。然而,除非设计师初入PCB设计,或者是极度的幸运,实际的PCB设计通常不像他们所从事的电路设计那样轻松。在设计最终能够正常工作、有人对性能作出肯定之前,PCB设计师都面临着许多新的挑战。这正是目前高速PCB设计的现状--设计规则和设计指南不断发展,如果幸运的话,它们会形成一个成功的解决方案。
绝大多数PCB是精通PCB器件的工作原理和相互影响以及构成电路板输入和输出的各种数据传输标准的原理图设计师与可能知道一点甚至可能一点也不知道将小小的原理图连线转换成印刷电路铜线后将会发生什么的专业版图设计师相互合作的成果。通常,对最终电路板的成败负责的是原理图设计师。但是,原理图设计师对优秀的版图技术懂得越多,避免出现重大问题的机会就越多。
如果设计中含有高密度的FPGA,很可能会有许多挑战摆放在精心设计的原理图前面。包括数以百计的输入和输出口数量,超过500MHz(某些设计中可能更高) 的工作频率,以及小至半毫米的焊球间距等,这些都将导致设计单元之间产生不应有的相互影响。
并发开关噪声
第一个挑战很可能就是所谓的并发开关噪声(SSN)或并发开关输出(SSO)。大量的高频数据流将在数据线上产生振铃和串扰之类的问题,而电源和地平面上也会出现影响整个电路板性能的地线反弹和电源噪声问题。
为了解决高速数据线上的振铃和串扰,改用差分信号是很好的第一步。由于差分对上的一条线是吸收(Sink)端,另一条提供源电流,因此能从根本上消除感应影响。利用差分对传输数据时,由于电流保持在局部,因此有助于减小返回路径中的感应电流产生的“反弹”噪声。对于高达数百MHz甚至数GHz的射频,信号理论表明,在阻抗匹配时可以传送最大信号功率。而传输线匹配不好时,将会产生反射,只有一部分信号从发端传输到接收设备,而其他部分将在发送端和接收端之间来回反弹。在PCB上差分信号实现的好坏将对阻抗匹配(以及其他方面)起很大的作用。
差分走线设计
差分走线设计建立在阻抗受控的PCB原理上。其模型有点像同轴电缆。在阻抗受控的PCB上,金属平面层可以当作屏蔽层,绝缘体是FR4层压板,而导体则是信号走线对(见图1)。FR4的平均介电常数在4.2到4.5之间。由于不知道制造误差,有可能导致对铜线的过度蚀刻,最终造成阻抗误差。计算PCB走线阻抗的最精确方法是利用场解析程序(通常是二维,有时候用三维),它需要利用有限元对整个PCB批量直接解麦克斯韦方程。该软件可以根据走线间距、线宽、线厚以及绝缘层的高度来分析EMI效应。
图1:同轴电缆和PCB的比较。
100Ω特征阻抗已经成为差分连接线的行业标准值。100Ω的差分线可以用两根等长的50Ω单端线制作。由于两根走线彼此靠近,线间的场耦合将减小线的差模阻抗。为了保持100Ω的阻抗,走线的宽度必须减小一点。结果,100Ω差分线对中每根线的共模阻抗将比50欧略为高一点。
理论上走线的尺寸和所用的材料决定了阻抗,但过孔、连接器乃至器件焊盘都将在信号路径中引入阻抗不连续性。不用这些东西通常是不可能的。有时候,为了更合理的布局和布线,就需要增加PCB的层数,或者增加像埋孔这类功能。埋孔只连接PCB的部分层,但是在解决传输线问题的同时,也增加了板子的制作成本。但有时候根本没有选择。随着信号速度越来越快,空间越来越小,像对埋孔这类的额外需求开始增加,这些都应成为PCB解决方案的成本要素。
图2:差分线设计实例
如图2所示的横截面是实际差分线版图的最常见图案。在采用带状线布线时,信号被FR-4材料夹在中间。而微带线时,一条导体是裸露在空气中的。因为空气的介电常数最低(Er= 1),故顶层最适合布设一些关键信号,如时钟信号或者高频的SERial-DESerial (SERDES)信号。 微带线布线应该耦合到下方的地平面,该地平面通过吸收部分电磁场线来减小电磁干扰(EMI)。在带状线中,所有的电磁场线耦合到上方和下方的参考平面,这大大降低了EMI。如果可能的话,应该尽量不要用宽边耦合带状线设计。这种结构容易受到参考面中耦合的差分噪声的影响。另外还需要PCB的均衡制造,这是很难控制的。总的来说,控制位于同一层上的线间距还是比较容易的。
去耦和旁路电容器
另一个确定PCB的实际性能是否符合预期的重要方面需要通过增加去耦和旁路电容进行控制。增加去耦电容器有助于减小PCB的电源与地平面之间的电感,并有助于控制PCB上各处的信号和IC的阻抗。旁路电容有助于为FPGA提供一个干净的电源(提供一个电荷库)。传统规则是在方便PCB布线的任何地方都应布置去耦电容,并且FPGA电源引脚的数量决定了去耦电容的数量。但是,FPGA的超高开关速度彻底打破了这种陈规。
在典型的FPGA板设计中,最靠近电源的电容为负载的电流变化提供频率补偿。为了提供低频滤波并防止电源电压下降,要使用大的去耦电容。电压下降是由于设计电路启动时稳压器的响应有所滞后。这种大电容通常是低频响应较好的电解电容,其频率响应范围从直流到几百kHz。
每个FPGA输出变化都要求对信号线充电和放电,这需要能量。旁路电容的功能是在宽频率范围内提供局部能量存储。另外,还需要串联电感很小的小电容来为高频瞬变提供高速电流。而反应慢的大电容在高频电容器能量消耗掉以后继续提供电流。
电源总线上大量的电流瞬变增加了FPGA设计的复杂性。这种电流瞬变通常与SSO/SSN有关。插入电感非常小的电容器将提供局部高频能量,可用来消除电源总线上的开关电流噪声。这种防止高频电流进入器件电源的去耦电容必须非常靠近FPGA(小于1cm)。有时会将许多小电容并联到一起作为器件的局部能量存储,并快速响应电流的变化需求。
总的来说,去耦电容的布线应该绝对的短,包括过孔中的垂直距离。即便是增加一点点也会增加导线的电感,从而降低去耦的效果。
图3-典型的PCB叠层和设计要素(注意BGA焊盘要偏离于过孔)
其他技术
随着信号速度的提高,要在电路板上轻松地传输数据变得日益困难。可以利用其他一些技术来进一步提升PCB的性能。
首先也是最明显的方法就是简单的器件布局。为最关键的连接设计最短和最直接的路径已经是常识了,但不要低估了这一点。既然最简单的策略可以得到最好的效果,何必还要费力去调整板上的信号呢?
几乎同样简要的方法是要考虑信号线的宽度。当数据率高达622MHz甚至更高时,信号传导的趋肤效应变得越发突出。当距离较长时,PCB上很细的走线(比如4个或5个mil)将对信号形成很大的衰减,就像一个没有设计好的具有衰减的低通滤波器一样,其衰减随频率增加而增加。背板越长,频率越高,信号线的宽度应越宽。对于长度大于20英寸的背板走线,线宽应该达到10或12mil。
通常, 板子上最关键的信号是时钟信号。当时钟线设计得太长或不好的话,就会为下游放大抖动和偏移,尤其是速度增加的时候。应该避免使用多个层来传输时钟,并且不要在时钟线上有过孔,因为过孔将增加阻抗变化和反射。如果必须用内层来布设时钟,那么上下层应该使用地平面来减小延迟。当设计采用FPGA PLL时,电源平面上的噪声会增加PLL抖动。如果这一点很关键,可以为PLL创建一个“电源岛”,这种岛可以利用金属平面中的较厚蚀刻来实现PLL模拟电源和数字电源的隔离。
对于速率超过2Gbps的信号,必须考虑成本更高的解决方案。在这么高的频率下,背板厚度和过孔设计对信号的完整性影响很大。背板厚度不超过0.200英寸时效果较好。当PCB上为高速信号时,层数应尽可能少,这样可以限制过孔的数量。在厚板中,连接信号层的过孔较长,将形成信号路径上的传输线分支。采用埋孔可以解决该问题,但制造成本很高。另一种选择是选用低耗损的介电材料,例如Rogers 4350, GETEK或ARLON。这些材料与FR4材料相比其成本可能接近翻倍,但有时这是唯一的选择。
还有其他一些用于FPGA的设计技术,它们可以提供I/O位置的一些选择。在关键的高速SERDES设计中,可以通过保留(但不用)相邻的I/O引脚来隔离SERDES I/O。例如,相对于SERDES Rx和Tx, VCCRX# 和 VCCTX#以及球位置,可以保留3x3 或5x5 BGA 球区域。或者如果可能的话,可以保留靠近SERDES的整个I/O组。如果设计中没有I/O限制,这些技术能够带来好处,而且不会增加成本。
最后,也是最好的方法之一是参考FPGA制造商提供的参考板。绝大部分制造商会提供参考板的源版图信息,虽然由于私有信息问题可能需要特别申请。这些电路板通常包含标准的高速I/O接口,因为FPGA制造商在表征和认证他们的器件时需要用到这些接口。不过要记住,这些电路板通常是为多种用途设计的,不见得与特定的设计需求刚好匹配。虽然这样, 它们仍可以作为创建解决方案的起点。
本文小结
当然,本文只谈及了一些基本的概念。这里所涉及的任何一个主题都可以用整本书的篇幅来讨论。关键是要在为PCB版图设计投入大量时间和精力之前搞清楚目标是什么。一旦完成了版图设计,重新设计就会耗费大量的时间和金钱,即便是对走线的宽度作略微的调整。不能依赖PCB版图工程师做出能够满足实际需求的设计来。原理图设计师要一直提供指导,作出精明的选择,并为解决方案的成功负起责任。