模拟集成电路的设计已经越来越具有挑战性。终端产品的市场需求和价格压力压缩了设计时间。除了严苛的性能和频率要求及出现的制造问题之外,还存在很多潜在的不稳定因素。虽然关于“上市时间”的讨论有很多,但是“良率”已经成为日益重要的一个因素。因此,模拟设计部分成为满足这些目标的关键所在。
许多模拟器件仍然通过手工布线,这依赖于模拟器件设计人员的经验从而得到最具成本效率的布局。工程师们将花数月时间揣摩设计以优化布局达到最高良率。他们在多种掩模组修订方案、数百万美元的成本之间折衷权衡,只是要实现产品良率提高一个百分点的目标。
现在,人们对在更短时间内能够达到类似性能水平的自动设计工具的需求很大,特别是在布线领域。采用自动工具能够将典型的模拟芯片布线时间从手工设计的3个月缩短到3小时,并将裸片面积减小30%。
降低良率意味着尽可能快地完成设计,但是这不单单是涉及开发超快速设计工具。更重要的是减少了重复工作,并且减少了工具之间数据传递周期的重复次数。
由于一种工具有许多种能力,检查其所有规则很重要。这样,设计人员组织工作流程才更准确,以减少甚至消除重复工作。
这些问题不仅仅只与模拟芯片有关。许多大型芯片设计,即使不是大部分,存在一些混合信号设计因素,或者通过模拟接口,或者数字子系统的模拟部分(如高速总线、电源管理、内部压泵、PLL锁相环路和非易失性RAM等)。
基于网格的布线
如今的大多数布线器采用基于网格的算法,它采用一个完整设计,并在数据库中将它分成小面积的网格。包括元件的网格区域被隔离出来(block out)。然后,沿着网格线布线以连接设计的各元件,利用网格中的方块数确定布线的最短路径。由于这种技术非常消耗内存,主要设计数据(元件的类型、潜在的线交互作用)来源于布线数据库。
为了加快基于网格的布线器(router)并降低对内存的要求,最好采用全局布线。它不是将设计分成很多布线网格方块,而是分成更少的方块,每个方块的边等于多倍布线间距。由于这些方格的大小,布线器无法考虑相互连接的具体位置。然而,这些方块可以解决如拥塞等全局性问题。一旦完成了全局布线,采用布线网格方案就可以一次性地将引脚与全局布线网格边缘连接在一起。
这种技术支持百万门设计的快速布线,并且可以有助于PC内存成本的降低和获得更好的PC处理器性能。但它存在两个主要问题,特别是对于模拟设计。
主要问题是没有正在布线的网络周围其他网络的数据。因此,网络不同类(例如模拟或数字网络)之间的交互的控制或信号完整性管理问题很困难。网格也许迫使布线以非优化布线间距布局(由于具有相同网格点的层之间的通孔的要求)。要给通孔留有空间,即使在不需的地方,可能会导致布局效率降低和成本提高。而且,刚性网格使得增加网络间距以解决信号完整性问题变得成本更高。
基于形状的布线
采用传统基于网格的布线算法的替代解决方案可能非常有益,大大改善了设计的面市时间和良率。在电路板设计中基于形状化的布线已经出现数年了。现在它在面积效率、信号完整性以及产量提高方面的优势——特别是对于模拟和混合信号设计——促使它被采用于芯片设计中。
基本算法最初是由pc电路板工具供应商Racal-Redac(现在的Zuken)于上世纪80年代开发的。这些算法不使用抽象网格,而是建立了一种碰到障碍物就调整方向的单向扩散模式(图1)。在目标方向上可以找到一个没有障碍物的“边缘”,然后算法向这一方向扩散,达到另一个障碍物时调整方向继续扩散,重复这一过程直至达到目标。
评价每个边缘不仅要估算它通过的距离,还包括寄生和信号完整性等因素。这给这项技术带来了更大的灵活性。在整个运行过程中要对所有估算进行跟踪,由于探索的一个方向可能会走进死胡同或以人们不希望的路线结束。但是从前人们不太喜爱的边缘也可能得到更优化的总体路线(该项技术还与“推倒重来”一同使用)。在这种场景下,计算中考虑了引起错误的路径。
由于采用了物体(object)的真实形状,走线能够安排得尽可能靠近障碍物。这样得到了更紧凑的布线图案。它也影响产量和工艺信息,特别是对于OPC (optical proximity correction)。而由于已经知道了每个目标相关的网络,可以很方便地采用更有力的规则控制那些目标的间距。所以,比如说,模拟和数字网络之间的间距可以比用于两个数字网络之间的间距更大。这样能够大大提高最终设计的产量。
为了第一轮就得到最有效的布线,布线过程可能用到广泛的数据,将一特定路径与设计规则和约束条件进行比较。这样消除了基于网格解决方案中所需的多次布线和后处理的重复循环。
采用真实形状的详细连接性信息意味着可以采用“push- aside”技术,而不是绕很长的弯路或走错路。布线算法可以识别哪些地方可以通过简单地把已有的线移开而解决问题。这样布线可以更短且通孔更少,并且达到更高的布线效率。得到的结果是更小、更成本有效的设计。这种布线解决方案也使工具可以分开走线以降低电容,并使走线变更宽以达到更低的阻抗(图2)。
两种技术有都助于降低RC延时并提高时序收敛(timing closure)。关键是布线过程的步骤,而不是随后在独立工具中的处理过程。结果是可以不需重复工作而对设计进行正确布线。这无法在基于网格的算中完成,因宽度或间距的变化常常要求走线移过整个网格间距,留下比所需要的更大的间距。
利用基于形状的布线系统,设计过程可以是交互性和重复性的。如果有什么明显的错误,设计人员可以终止自动布线并调整版图规则、布线成本,或其他规则——或者甚至对某特定区域手工布线,然后继续自动布线。这对于基于网络的布线几乎是不可能的。
设计人员可以对于单独网络采用“push- aside”布线,以利用他们自己的经验。在线设计检查(DRC)和稳固连接性可以辅助以这种手工布线。
所有这些优点对每个网络单独布线进行了弥补。它比基于网格的解决方案慢,但不涉及聚合解决方案时的多次重复过程。网络的单独布线也使设计人员与过程交互,这在基于网格的解决方案中是不可能的。
基于形状的解决方案致力于用于掩模原版(reticle)的制造分辨率,而不是普通的布线间距。具有更精细的分辨率使它有可能有效地利用更多的芯片面积,提供更高效、更成本有效性的、更易于制造的芯片(图3)。
集成分析工具
由于采用基于形状的算法布线过程中提供了所有设计数据,实时寄生效应和信号完整性分析成为资产分析的一部分,并直接捆绑于DRC工具。其结果是,布线路径从最开始就满足了设计要求。
甚至移开一条走线以给新走线留出空间时,变化也被结合于进布线过程中。自动分布工具的新决定考虑了这一点,因为它采用了底层设计数据库。这不是说不需要布局后分析工具和重复过程,相反,它们主要用于检查结果,而不是引致新的重复过程。
应用
模拟和混合信号设计不是唯一受益于该解决方案的应用。它在Hynix和Elpida等嵌入式内存公司的应用已很普遍。
Elpida认为外围逻辑布线是最耗时的工作。在这种情况下,标准或定制单元行被安排在设计的内存核旁,但它在其DRAM设计0.11-µm流程中采用了这一工具。
该解决方案特别适用于具有极大宽长比的单元(通常宽度是高度的30倍)、有限的布线层(正常情况下为2-3层),和大部分信号在很长距离传输的设计。这样,它对于DRAM、SRAM、内存和图像传感器设计很有好处(图4)。
面向制造的设计(DFM)
一旦采用了一种自动工具,其它工具可以被集成到布线器中以协助面向制造的设计。那样所采用的工具可以容易地添加新规则以进行刻蚀和光刻法 (photolithography),如基于宽度和长度的间距规则和最大间距规则。
这些工具之一自动进行布局、整理和平滑处理。这样去掉了不好看、多余的布线图案,减少了布线段的数量和长度,减少了通孔数,并加大了走线之间的间距。工具还能够识别和调整过程“天线”。
另一种工具分析设计中的产量风险,如紧密间距的走线和单开槽(single-cut)通孔。然而其它工具自动加宽走线距离,并将单开槽通孔改为双开槽通孔,以得到更佳的成品率。
由于工具不针对网格操作,它很好地利用了每个布线层的可用面积。这样,对于一些设计就有可能采用比其它工具所要求更少的布线层。这大幅降低了芯片涉及的制造成本。
另一个DFM考虑是金属密度。制造中采用的刻蚀和平面化(planarization)工艺要求跨接芯片的金属密度均匀,即使在设计的一些地方没有线。工具可以通过在芯片空闲处添加金属片、在如电源线和地线等现有的宽走线中制造一些“狭槽”等以平衡密度。
工程设计更改(ECO)
不断增加的基于形状的布线的push-aside功能是减小工程变化单(ECO)所占用时间的关键。如果必须增加和减少器件,可以通过将走线移到一侧,重新布线而不必对大面积设计重新布线而在本地完成。这意味着它仅仅改变本地结果,所以工艺可以快速聚合。许多基于网络的布线器只能通过对设计进行大规模重新布线来处理ECO。
基于形状的技术也已扩展至其它工具。例如,这种技术已覆盖到单元在布局范围内的全自动布局中,从而产生合适的版图规划驱动布局引擎,并且还可应用于功率环和网孔的自动生成。
模拟设计迫切需要一个能够有效地使设计流程自动化的工具,而基于形状的布线在提高模拟、混合信号和嵌入内存设计的良率和DFM方面有很大优势。
利用完整的实时分析对单独网络布线,大大缩减了设计时间,并且提可以供了极具成本效益、成品率高的裸片。更加方便的是,设计人员仍然可以利用其对工具熟练的使用经验,充分结合自动布线和手工布线的优势。这就是解决当今设计人员所面临的上面市场时间短和成本要求高的有效途径。
作者:Mark Waller,英国Bristol的Pulsic公司共同创始人及研发副总裁,Email: mark.waller@pulsic.com
文章评论(0条评论)
登录后参与讨论