并行设计FPGA和PCB复杂度日益增加的系统设计要求高性能FPGA的设计与PCB设计并行进行。通过整合FPGA和PCB设计工具以及采用高密度互连(HDI)等先进的制造工艺,这种设计方法可以降低系统成本、优化系统性能并缩短设计周期。 电子工业背后的推动力是对更快、更便宜的产品的需求以及在竞争厂商之前将产品推向市场。IC技术的进步一直以来就是促使功能增加和性能提高的主要因素之一,而FPGA技术也一直以非常快的速度在发展。与过去FPGA仅仅用作胶合逻辑不同的是,现在FPGA已经被用来实现主要系统功能。FPGA的逻辑门数已达1千万,内核速度达到400MHz,能提供高达11Gbps的下一代芯片间通信速度。而与此同时,它仍然保持着非常合理的成本,因此,与ASIC和定制IC相比,FPGA是一种更具有吸引力的选择。 IC和FPGA技术的进步对下游产业产生的效应影响到了PCB行业,这些高管脚数和高性能封装推动新的PCB生产及设计技术具有诸如嵌入无源器件、数千兆位信号和EMI分析等功能,并对专用的高密度和高性能布线提出了需求。基本的系统设计方法也在发生变化,对FPGA和PCB的设计可以并行进行以降低系统成本、优化系统性能并缩短设计周期。 PCB和FPGA一般是在不同的设计环境下创建,过去这些设计方案很少相互沟通。然而,随着高性能、高密度FPGA器件的日益流行,为满足紧张的上市时间表,如今PCB和FPGA设计团队必须并行工作(见图1),不断地交换数据和信息以确保整个系统设计获得成功。 当在PCB上实现高端FPGA时,设计工程师面临性能优化和系统设计生产率的双重挑战。设计工程师必须问自己:是什么问题使得过程慢了下来?需要做什么来获得最佳性能?这些问题的答案可帮助他们鉴别可实现更小、更便宜和更快系统的解决方案。 设计效率的挑战
| 图1:FPGA和PCB设计团队必须并行工作, 不断地交换数据和信息以确保系统设计 成功。 |
设计工程师需要并行设计PCB和FPGA时,FPGA设计工程师再也不能像以前那样独立地设计,然后将完成的FPGA设计交给PCB设计工程师就可了事。一个有竞争力的设计要求FPGA和PCB设计工程师从上至下的协作,各自做些折衷以保证最后得到一个最优系统。并行设计的好处是它能减少设计周期、优化系统性能并降低制造成本。 并行设计的挑战在于FPGA布局和布线工具得到的结果需要准确、迅速地映射到原理图和PCB布局中,同时PCB设计的任何改变也必须在FPGA上更新。传统的设计过程是先设计FPGA,然后再将它们交给PCB设计工程师进行电路板实现,如今这种做法不再可行。 如果FPGA设计/综合、布局/布线以及PCB设计环境没有被整合,FPGA和PCB方案之间的沟通必须用人工的方法来实现。对于有几百个管脚的小型FPGA,这可能还可以接受,但是,如今很多设计拥有多个高度复杂的FPGA,使用这种方法进行信息沟通将非常浪费时间,并容易出错。仅仅是高管脚数FPGA的PCB原理图符号的创建和更新,就可以凸显这个问题(设计时间的评估见图2)。 另外一个问题涉及到PCB上的大型FPGA。与小型FPGA的符号不同,大型FPGA的单个符号在一张原理图放不下。这些符号必须通过功能分组被分成几个符号,并在FPGA的设计反复过程中保持不变。 | 图2:创建和更新FPGA的PCB原理 图符号所需时间的估计。 |
FPGA设计工程师花费大量时间调整性能、选择正确的I/O管脚驱动器/接收器,然而FPGA的设计并非仅受FPGA设计工程师的控制。当在PCB上进行FPGA的布局和布线时,设计环境可能要求改变FPGA的管脚分配,如果PCB工具中没有FPGA设计规则,这可能成为一个重复而费时的过程。 此外,FPGA 的I/O分配也成了一个系统问题。设计工具需要能够管理管脚分配,但它们必须能被PCB和FPGA设计工程师用来沟通管脚约束。PCB设计工程师无法创建一个阻止FPGA时序收敛的条件,而FPGA设计工程师也不能创建一个阻止系统时序收敛的条件。 图3、图4给出的例子体现了装配在PCB上的FPGA的性能优化前后的布线情况。FPGA的32位总线必须直接与左边连接器进行通讯,这是一个高速总线,其上所有网络必须匹配以获得适当的偏斜控制。 在图3中,为使所有的走线长度与最长网络相匹配,布线器增加了很多蛇形走线。从PCB布线的角度来看,其结果是一团糟:有很多额外的拥塞、太多额外的走线以及一个工作性能并非最优的总线。 | 图3:FPGA性能优化前的布线图。 |
在图4中,布线器也对所有的走线长度与最长走线进行了匹配。即使这样,每条走线的长度也只有1.8英寸,而此前为3.2英寸,更短的匹配长度使总线延时减少到320皮秒。这种性能优化是整合FPGA和PCB设计过程的结果,它可获得理想的FPGA管脚图。 这个例子说明了在PCB上装配FPGA可能存在的挑战,包括:额外的拥塞需要更长的PCB设计时间完成布线;并非最优的系统性能;额外的布线要求额外的PCB层,从而增加制造成本。 功能方面的性能障碍
IC和FPGA器件已经过优化以便得到更高性能,例如,它们现在能够实现每秒数Gb的串行通讯性能。从时序收敛、信号完整性以及全面降低PCB布线密度的角度来看,这种方法有以下几个优点: 1.时序校准没那么严格:时钟包含在串行信号内,因此设计工程师不需要管理时钟和数据之间的时序; 2.改善信号完整性:所有信号都使用差分线对,可提高信号质量; 3.布线简化:串行信号沿一条路径(实际上是差分线对)传输,而不是在具有多条走线的总线上并行传输,这意味着互连需要较少的走线和层数; 4.片上端接:通过在FPGA内集成可变电阻端接器,板上需要的表面贴器件更少,可以节省空间并提高性能。在更新的器件里还包含了片上电容,可节省更多的空间。 在系统中使用这些高端FPGA则使PCB设计成为整个系统设计取得成功的关键途径,其中系统必须能高速运行,并具有生产成本效益,还能按时设计出来。 每秒数Gb的通讯速度要求一套能够进行信号走线并验证的全新工具。这时PCB上的走线、连接器和过孔也需要消耗功率,必须小心地对它们建模,用经典的信号完整性分析方法计算延时、过冲/下冲和串扰。另外还必须用理解位模式、预加重、均衡和眼图,对工作在GHz频率范围的串行连接进行建模。EDA和FPGA供应商也正在协作,以“设计套件”的形式提供准确的器件模型、设计约束和参考设计,这都将提高设计质量并缩短设计周期。 串行I/O还需要由公共系统约束驱动的改进的PCB布局和布线技术,另外还须根据最大的匹配延时以及用到的过孔数量严格控制差分线对的走线。 |