今天的CMOS技术能让一颗FPGA元件拥有多个I/O介面。同时,近几年来,低功耗也已开始成为高速I/O介面的主流概念。降低功耗的最有效途径就是降低电压,而电压降低就会导致I/O介面所允许的杂讯余量变小。因此,对FPGA用户而言,量化晶片、封装和PCB环境下的系统级同步开关杂讯(SSN)就显得十分必要。
本文对SSN进行了系统性介绍,着重介绍由FPGA输出缓冲导致的SSN。这种杂讯通常被称为同步开关输出杂讯(SSO),与输入缓冲导致的SSN不同。本文介绍了系统级SSO的成因,并提出了一种分层的系统级SSO建模方法。同时,本文还讲解了如何将SSO模型与频域和时域测量关联,并提出几种减少SSO的PCB设计方法。
系统级SSO的形成机制
带FPGA的PCB是一个复杂的系统,可将其分为包含主动电路的晶片部份、具有嵌入式被动元件的支撑走线的封装部份,以及为FPGA与外部提供连接的电路板部份。在此类系统中,要想弄清晶片内部的杂讯特性很困难。因此,对与FPGA相连的PCB走线近端和远端的SSO进行量化就显得很有价值。有两大因素会造成SSO:电源分配网路(PDN)的阻抗和开关I/O之间的互感藕合。
从系统的角度来说,PDN中包含晶片级、封装级和板卡级的元件,这些元件共同为CMOS电路供电。当一定数量的CMOS输出驱动电路同时打开时,就会有很大电流瞬间涌入PDN的感性电路元件中,产生一个delta-I压降。互连结构会产生寄生电感,如球栅阵列封装上的电源焊球和PCB中的电源过孔。这种快速变化的电流还会在电源/接地平面对之间激励起放射状的电磁波,电磁波从PCB的平面边缘反射回来,在电源/接地平面之间产生谐振,因而导致电压波动。
造成SSO的另一个重要原因是互感藕合,尤其是在晶片封装/PCB边沿周围产生的互感藕合。晶片BGA封装上的焊球与PCB上的过孔都属于紧藕合的多导线结构。每个I/O焊球及其相应的PCB过孔与离它最近的接地焊球和接地过孔构成一个闭合回路。当多个I/O埠的状态同时发生变化时,会有瞬态I/O电流流过这些讯号回路。这种瞬态I/O电流又会产生时变的磁场,并侵入邻近的讯号回路造成感应电压杂讯。
一个优秀的SSO模型应能展现SSO的基本形成机制。图1为一个用于预测PCB中SSO的分层模型。在晶片级,我们需要的是能在有限复杂度下提供电源线和讯号线上精确电流分佈的输出缓冲模型。在封装级,为简单起见,可利用建模工具分别得到PDN模型和讯号藕合模型,但应谨慎考虑PDN和讯号藕合模型之间的相互影响。这两个模型连接了晶片封装上凸点端的输出缓冲模型和焊球端的PCB级模型。PCB的PDN模型通常包含电源/接地平面和其上的大容量/去藕电容,而PCB的讯号藕合模型中则包含一个紧藕合的过孔阵列和不同讯号层上的松藕合讯号走线。这两个PCB级模型的交互效应出现在PCB过孔阵列中,感性串扰正是从这里将杂讯带入PDN模型,delta-I杂讯反过来会降低I/O讯号品质。这种分层建模方法合理地保持了模拟精密度,同时也提高了此类复杂系统的运算效率。
图1:带FPGA的PCB的SSO模型示意图。
透过PCB设计减少SSO
以下将针对搭载了FPGA的印刷电路板介绍两种以SSO产生机制来减少SSO的基本设计方法。
1. 减少感性藕合的设计方法
模拟结果显示,晶片封装/PCB介面上的感性藕合是导致SSO波形中高频尖峰的元凶。一个大小为t×d的讯号回路由一个讯号过孔和距其最近的接地过孔组成,这个回路的大小就代表着了感性藕合的强弱,如图2所示。I/O干扰回路的面积越大,产生的磁场就越容易侵入邻近的被干扰回路。被干扰I/O讯号回路的面积越大,也就更容易受其他I/O回路干扰。因此,要降低串扰和参数t,设计中就应注意采用较薄的PCB,而且PCB上的关键I/O应从较浅的讯号层引出。同时,设计师还可透过缩短I/O过孔与接地过孔之间的距离来减少串扰。在图中所示的设计中,设计师专门将一对I/O焊盘连到了地平面和VCCIO平面,以减少干扰接脚和被干扰接脚相应的讯号回路面积。
图2:讯号回路的示意图。
为评估本方法的有效性,我们对FPGA I/O Bank1和Bank2进行了两次测量,如图3所示。这两个Bank中的所有I/O埠都配置为电流强度12mA的LVTTL 2.5V介面,并透过50Ω带状线与10pF的电容端接。
图3:I/O Bank 1和I/O Bank 2的接脚映射图。
在Bank1中,接脚AF30是被干扰接脚。在FPGA设计中,将W24、W29、AC25、AC32、AE31和AH31这6个接脚透过编程设置为逻辑‘0’,它们透过过孔连接到PCB的接地平面。U28、AA24、AA26、AE28和AE30这5个接脚则透过编程设置为逻辑‘1’,并连接到PCB的VCCIO平面。其他68个I/O埠以10MHz频率同时发生状态转换,因此是产生干扰的接脚。为了进行比较,Bank2中没有将W24、W29、AC25、AC32、AE31、AH31、U28、AA24、AA26、AE28和AE30这些I/O透过编程设置为接地脚或VCCIO脚,只是将其空置,其他68个I/O仍然同时开关,如图3所示。
实验测试显示Bank1中AF30上的地弹(ground bounce)已比Bank 2中的G30降低了17%,电压下陷(power sag)也减少了13%。模拟结果也验证了这一改善。由于可编程接地接脚的出现缩短了干扰回路和被干扰回路的距离d,因此SSO的减少是预料中的,如图2所示。然而,由于晶片封装中的讯号回路面积无法减少,所以改善程度也有限。
2. 透过合理设计减少PDN阻抗
PCB上介面处VCCIO和接地接脚之间的阻抗,是评估一颗FPGA晶片PDN性能的最重要标淮。透过采用有效的去藕策略,并使用较薄的电源/接地平面对可减少这一输入阻抗。但最有效的方法还是缩短将VCCIO焊球连接至VCCIO平面的电源过孔的长度。而且,缩短电源过孔也会减少其与邻近接地过孔构成的回路,使这一回路较不易受干扰I/O回路状态变化的影响。因此,设计时应将VCCIO平面安排在离PCB顶层更近的位置。
本文小结
本文对装有FPGA的PCB上的同步开关杂讯模拟进行了全面分析。分析结果显示,封装和PCB介面上的串扰与封装和PCB上的PDN阻抗分佈是SSO的两个重要成因。
相关模型适用于帮助PCB设计师减少SSO,实现更优秀的PCB设计。文中还介绍了几种降低SSO的方法。其中,合理分配讯号层并充分利用可编程的接地/电源接脚可帮助减少PCB级的感性串扰,将VCCIO安排在PCB迭层中较浅的位置也可降低PDN阻抗。