FPGA-to-PCB系统设计
设计流程优化
DAVID WIENS
以前,FPGA集成到系统设计遵循芯片器件传统的“黑盒”工艺。PCB设计师们并不关心器件内部的机制,而只关心器件的原理图符号和印刷板布局。现在FPGA功能的增强以及不断提高的系统性能要求正驱使着新的设计方法的形成。FPGA和PCB设计工程师们必须在整个设计流程中保持紧密合作。

近年来FPGA器件复杂度和封装密度迅速增加。在1998,某公司*推出了一个包含680引脚的器件**,其中512个引脚可用,所有引脚封装在1mm间距的球栅阵列中。到2000后期,宣布下一代的器件包含1108可用引脚,也封装在1mm间距、1517引脚球栅阵列中。到2002早期,封装已增加到1704个引脚,到20057月增加到1760个引脚。

FPGA设计
随着业界集成片上系统的趋势,系统功能越来越复杂,器件的集成度越来越高,器件数量变得越来越少,FPGA的引脚数变得越来越多。为了达到系统性能最优以及产品成本最优,对FPGA的管脚分配优化的要求越来越高。
但是直到近期,FPGA设计师们才有相应的EDA工具来充分考虑系统I/O引脚分配以及优化。结果。
要有效地优化系统性能,FPGA和PCB设计师们必须通力合作,经常交流影响彼此的设计更改。FPGA更改必须传递给PCB设计师,并且在PCB设计环境中评估更改结果。而PCB的更改也必须及时反馈给FPGA设计流程,以保证产品设计的一致性要求会聚。但是因为FPGA和 PCB设计小组经常是独立的,就限制了整个流程的优化:通常设计小组分散在各个地方,小组成员之间不能有效地交流。不同的限制、设计方法给FPGA设计和PCB设计流程增加了交流困难。

FPGA I/O 设计和系统时序优化
下面的FPGA和连接器的简单示例说明了I/O设计优化对系统时序的影响。图1a显示了PCB的网线,其中32位数据总线的I/O设计由FPGA 布局布线工具完成。而FPGA布局布线工具没有考虑PCB布局的影响。图1b显示了PCB的实际布线结果。为了保证总线之间的时序容限,PCB布线工具不得不使用大量的蛇形线,结果导致整个系统的信号时序裕量变小。


图 1 a & b :由 FPGA布局布线工具得到的结果
在图2中,I/O Designer根据PCB布局的实际情况,自动调整优化了FPGA的管脚。最长的走线已从原来的3.6英寸缩减到1.8英寸,相比之下快了320ps。对于更复杂的设计,在I/O Designer中导入PCB的布局视图并且根据视图进行优化设计,可以显著的减少PCB互连长度以及布线密度甚至减少PCB的层数。
在实际的设计过程中,PCB和FPGA设计师们需要紧密合作以优化FPGA和PCB的引脚设计,FPGA设计师需要把I/O Designer的优化结果放到FPGA综合工具中再次布局布线,以保证系统时序的要求。

信号完整性
信号时序并不是唯一系统限制。现代FPGA具有丰富的I/O种类,专用于千兆位级范内的高速通信。要保证千兆级信号从驱动器经PCB顺利发送到接收器件,需要严格控制印刷板的互连(如引线和通孔)和驱动器/接收器的工作特性。
对于工作在千兆级赫兹频率范围下的信号,通孔的功能有如小型天线,每增加一个通孔,信号质量随之下降。业界标准的PCI-Express总线规范建议每条引线使用的通孔少于两个,引线长度匹配控制在0.025%容差内。
驱动能力在信号切换上起了重要作用。在图3a中,设计师可以选择2mA到24mA的驱动力。图3b显示了8mA驱动力的效果,过渡时间延迟,可能产生错误的切换边沿。图3c显示了24mA驱动力的效果。因为24mA驱动力引起的电流过大,必须在电源和信号完整性之间做出权衡(可以在12-16mA范围内找到合理的解决方案)。


3a-c : FPGA 驱动力选择。
大型FPGA设计面临一个重大挑战,即高效地创建原理图符号,并且生成FPGA部分相应的原理图,手工创建一个1200或1500引脚的原理图符号不仅费时而且容易出错。完成1500个引脚的器件的原理图就如同创建器件的原理图符号一样工作量浩大。

许多FGGA在会聚最终的I/O引脚分配前都会进行至少3到5次设计更改。在几分钟内,一位FPGA设计师就能完成FPGA器件到PCB接口的重新分配。这短短的几分钟可能对PCB设计造成灾难性的更改,有时甚至导致PCB设计师重新设计。需要有专人来维护每次设计更改器件的原理图符号和原理图,并在每位设计师、工具和数据库间完成交流和同步。考虑到30%的设计包含2个或多个FPGA,所以尝试手动完成更改是不可行的。许多公司通过锁定FPGA设计师所做的引脚指定来解决这个问题。而这限制了PCB设计师优化布线的努力,FPGA变成了可编程ASIC。

总结
在FPGA设计和PCB设计中的过程中,设计师遇到了FPGA到PCB的集成问题。随着FPGA功能和性能的提高,这些问题变得越来越重要。硬件设计团队应当在开发过程中使用新的开发流程,从而最大限度降低成本,优化产品设计。

* Xilinx
** Virtex
DAVID WIENS,系统设计部商业开发主管,联系方式:entor Graphics Corp., 1811 Pike Rd., Suite 2F, Longmont, CO 80501; 720/494-1086 ;E-mail: david_wiens@mentor.com。
Advanced Packaging January, 2006

Author(s) : David Wiens