A Study of Routing Algorithms for PCB Design
第一章
引言
本章主要研究印刷电路板(PCB)设计的布线算法,并提出了与PCB布线问题有关的三个主要方面。 本章首先概述了PCB的体系结构和封装以及再分配层(RDL)的结构,然后介绍了PCB中的三个典型布线问题,并提出了本文的建议。
1.1 PCB 以及 Flip-chip概述
PCB是由玻璃纤维,环氧树脂或其他材料制成的板,可为电子组件的连接提供走线,焊盘和其他功能。 它几乎用于所有电子产品中,并起着非常重要的作用。 在最近的PCB设计中,由于集成电路技术的飞速发展,PCB的复杂度越来越高。 如此高的引脚密度使得PCB布线非常耗时且容易出错[1]。 因此,近来各种研究集中在PCB布线问题上。 为了准确理解PCB布线问题,本节首先介绍PCB的一些基础知识。
PCB结构
在现代PCB设计中,它通常包含多个组件,例如多芯片模块(MCM),存储器和I / O模块[2]。 这些组件作为一组密集的引脚阵列安装在板上,如图1.1所示。 这些引脚阵列应通过不交叉的线段连接。
根据电路板的层数,PCB有三种类型:单面板、双面板和多层板,如图1.2所示
单面板
在单面板上,布线仅集中在一侧,如图1.2(a)所示。 由于对布线设计有很多严格的限制,例如,板上的线段不能相互交叉,因此单面板上的布线通常会失败。此外,现代布线设计中的高密度引脚使布线成为单一 双面板越来越难。 因此,只有早期电路才使用这种类型的电路板。
双面板
与单面板不同,双面板的两边都有线段,如图1.2(b)所示。 它是一个两层板,不同层的导体通过通孔连接。 这些通孔通常称为通孔,其上涂有金属。 由于双面电路板的布线面积较大,并且导线可以通过通孔无差别地进行布线,因此双面电路板可以解决单面电路板交叉导线,布线资源受限等问题。 它通常用于更复杂的电路中。
多层板
多层板使用更多的单面板或双面板以增加可用面积,如图1.2(c)所示。 所有的外层和内层都可以用于布线。 与双面板相同,多层板使用过孔将导体连接到不同的层上。 在当前应用中,最常见的PCB具有4-10层。 多层板允许更高的组件和引脚密度。
近年来,由于引脚数量的增加和严格的设计规则,通常在引脚阵列内部以及不同组件之间[2],都限制了组件的布线资源。 因此,多层PCB板被广泛应用。 在本文中,我们对PCB布线设计的研究也涉及多层。
Flip-chip 结构
在PCB制造中,组件应包装在板上。 由于较短的导线连接可产生更高的电路性能,因此存在一种封装技术,可将芯片直接安装到板上以与其他导体连接[3]。 这种技术称为裸芯片封装,它包括三种模式:引线键合( wire bonding),卷带键合(tape-automated bonding)和倒装芯片(flip-chip)。
引线键合
引线键合是一种使器件在制造期间与基板相互连接的方法,如图1.3(a)所示。它是PCB封装中组件与电路板之间电连接的一项主要技术。 在引线键合中,芯片是直立安装的,引线用于将组件互连到外部导体[4]。引线键合具有快速的键合过程,出色的电气和化学性能,被认为是一种灵活且经济高效的互连技术。大多数PCB封装都使用这种技术。
卷带键合
(TAB)是通过使用蚀刻的铜束将芯片直接放置到PCB上的过程,如图1.3(b)所示。 蚀刻的铜束的一端引出导体,而另一端引出PCB [5]。 TAB被创建为引线键合的替代方法,并在显示驱动器电路中得到了普遍使用。 TAB具有一些优点,例如较小的焊盘,较少的成型和较低的成本。 另外,它改善了热传递,执行了高频,并且需要更少的PCB表面积[6]。
倒装芯片
倒装芯片是一种利用缓冲器将元件与外部导体互连的方法。倒装芯片的结构如图1.3 ©所示,芯片的有源面朝下并安装在基板[7]上。凹凸球被放置在芯片顶部的凹凸垫上。 翻转芯片以使其与板上的匹配焊盘对齐以进行连接。
倒装芯片的结构可以分为两种类型:外围I / O倒装芯片和区域I / O倒装芯片,如图1.4所示[8]。 在外围I / O倒装芯片中,I / O焊盘沿管芯的边界放置,并且I / O焊盘应从边界布线到内部的焊球。 在I / O倒装芯片区域中,I / O焊盘放置在倒装芯片封装的整个区域中。 与外围I / O倒装芯片相比,面积I / O倒装芯片可产生更短的线长和更小的封装尺寸,因此得到了更广泛的应用。
与常规封装技术相比,倒装芯片具有许多优势:更高的I / O密度,更高的吞吐量,更好的散热,更短的互连,更小的占位面积,更小的外形等等。 这些优点使倒装芯片成为现代PCB设计中最有吸引力的技术之一[9]。
重新分配层
尽管倒装芯片技术已广泛用于PCB设计中,但有时I / O焊盘的位置不能很好地映射到凸点球上[10]。 结果,如图1.5所示,RDL用于将I / O焊盘重新分布到凸点球上,而不改变I / O焊盘的位置,RDL用于将金属I / O焊盘重新分布到凸点球上。 凹凸球放在RDL上,用于连接I / O焊盘。 在RDL中,通过现有技术,可以将电线按90度或45度的线段布线。
将I / O焊盘重新分配到凸点球上可提供更高的密度,更大的灵活性和更低的成本,并改善电路性能。此外,在某些应用中,这是一种有效的接触电源和接地并转换芯片外连接的有效方法。 芯片规模到板级规模。
最近,由于大规模倒装芯片封装中I / O焊盘的增加,仅单RDL可能不足以完成布线。 此外,在单个RDL中进行布线可能会引出更长的导线长度。 因此,在一些研究中已考虑将多个RDL用于I / O焊盘和碰碰球之间的连接[12]。 在本文中,我们对倒装芯片设计的研究涉及单个RDL和多个RDL。
1.2典型的路由问题
基于上述PCB的基本原理,我们将在本节中讨论PCB布线问题。 现代的PCB通常包含几个芯片封装,其封装是引脚阵列,我们目的是生成不交叉网络布线[1]。 介绍了PCB的三种典型的布线问题:逃逸布线,river布线和RDL布线。
逃逸布线
逃逸布线是组件内部引脚阵列之间的布线问题。 如图1.6所示,是将引脚从引脚阵列内部路由到边界,就像是协助引脚逃出引脚序列。
逃逸布线的主要任务是使用尽可能少的层逸出一组引脚,因为它通常会占主导地位。 此外,有时它应在两个组件的边界上提供匹配的针脚顺序,以供以后的river布线。 逃生路由问题主要有三种类型:无序逃逸布线,有序逃逸布线和同时逃逸布线[1],它们都被应用在PCB路由中,但本文没有讨论。
River 布线
相对于逃逸布线,River 布线是两个或多个组件之间的路由问题,它是将逃逸的引脚连接到具有一定长度限制的组件边界上,如图1.7所示。 通常,障碍物是在河道问题中意识到的。
River 布线的主要任务是在在长度约束范围内链接引脚对以保持由逃逸布线生成的平面拓扑。River 布线有两种典型的类别:最小-最大长度布线和等长布线。 在最小-最大长度布线中,每条线的长度应满足给定的最小和最大长度限制。 等长布线的目的是生成具有相同长度的导线。
在最近的PCB设计中,由于集成度高,信号传播延迟或偏斜已成为影响电路性能的重要因素。 我们可以通过调整导线长度来控制信号传播延迟。 如果布线区域足够大,则控制网的线长就很困难。 然而,路由区域通常是有限的,并且在密集区域应考虑多个网络。 因此,如何平衡多个网络的线长成为非常困难的问题。 此外,对于River布线问题,通常将引脚的位置固定在元件上,并且通常使起始和目标引脚无序。 因此,多层被用于布线无序的引脚,并且实际的问题在于如何为这些引脚分配层以及以什么顺序布线它们。
RDL 布线
此外,作为倒装芯片的特殊结构,RDL中的布线也经常在PCB设计中讨论。 它是通过最小化线长将I / O焊盘连接到凸球上的。有两个主要的RDL路由问题。其中一个问题是自由分配布线问题,其中在布线之前未将任何I / O焊盘分配给任何凹凸球。 另一个问题是预分配路线问题。 在此问题中,在布线之前定义了I / O焊盘和凸点球之间的连接。 由于连接的预分配具有更多的布线约束,因此与自由分配相比,预分配路由问题要困难得多。
对于面积倒装芯片的分配前RDL布线问题,通常着重于如何分配I / O焊盘到凸点焊球并最小化总线长。 此外,由于最近很难用传统的2D IC解决某些互连问题,因此3D IC已成为高性能电路的不错选择。 因此,应该解决2D和3D IC中的I / O焊盘分配和RDL布线问题,以改善整个电路性能。
1.3研究方案
本文针对PCB设计提出了一系列的布线算法,以解决上述不同的问题。 本文主要包括以下三点。
首先,为了给无序的引脚分配层并获得相等长度的布线结果,提出了一种在PCB设计中能够识别区域的布线算法。 在层分配过程中,起始和目标引脚集之间采用最长公共子序列(LCS)算法来确定引脚的层。 在路由过程中,如果引脚序列不满足中继路由拓扑条件,则需要设置虚拟边界。 多网的基本路线是通过单一项流动方法生成的。 另外,考虑到目标长度要求和布线区域系数,使用R-flip和C-flip技术来调整线长。 所提出的路由算法能够在合理的CPU时间内获得具有更好的线长平衡和更小的最差长度错误的布线。
其次,为使总线长最小,提出了一种基于排序的I / O焊盘分配和非曼哈顿RDL布线算法,用于区域I / O倒装芯片设计。通过对I / O焊盘和颠簸球之间的曼哈顿距离进行排序,可以进行预分配及其修订以确定初始分配。 分别进行了缩短线长,释放重叠和避免交叉的三种成对交换程序,以改善初始分配。交换顺序是根据分配的I / O垫和颠簸球对之间的曼哈顿距离递减的。为了缩短导线长度,采用具有90度和45度导线段的非曼哈顿RDL布线来连接I / O焊盘和凸点球。 此外,一些未路由的连接应断开并重新路由。 所提出的设计方法可有效减少总线长。无论I / O焊盘的位置和封装尺寸如何,都可以提高布线能力。
最后,我们将上述相同的排序方法应用于3D IC设计中的I / O焊盘分配和RDL布线方法。 同样,我们通过对两个RDLsto微型凸点之间的曼哈顿距离之和进行排序,来分配相同编号的I / O焊盘。 为了缩短导线长度,考虑了布线之间的成对交换修改,并且分别执行两个RDL中的单层布线。 最后,一些未布线的连接被撕开并重新布线。 这种用于3D IC的方法还能够以更短的总线长获得路由,从而减少了CPU时间。
综上所述,采用所提出的布线算法可以很好地解决PCB设计中无序引脚的等长布线问题和倒装芯片的RDL布线问题,此外,还进行了一些优化,例如更好的线长平衡,更小的最差长度误差和 使用它们可以很好地实现较短的总线长。
1.4 论文的组织
本文的其余部分安排如下:
第2章回顾了PCB布线的一些基础知识。 首先,解释了四种类型的信号网路由问题。 然后,分别讨论了两种基本的布线方法及其代表算法。
第3章介绍了PCB设计中无序引脚的区域感知层分配和等长布线方法。 通过使用该算法,可以获得具有更好的线长平衡和更小的最差长度错误的路由。
第4章介绍了基于排序的I / O焊盘分配和非曼哈顿RDL布线方法,用于区域I / O倒装芯片设计. 所提出的方法能够在合理的CPU时间内获得线径较短的路由。
第5章在第4章的排序方法的基础上,将I / O焊盘分配和RDL路由方法应用于3D IC。 通过与其他设计方法进行比较,还可以减少总导线长度。
第六章对本文进行了总结,并讨论了未来的工作。