歡迎光臨硬蛋創新!(股份代號:400.HK)

防止芯片产生意外的设计规划步骤

时间 :1970-01-01 来源:

    

        一旦了解了设计规划策略涉及的各种复杂的折中,设计规划策略就成了常识。获得这种直观了解的一种方法就是领会优秀设计规划的一些经验法则。这些切实可行的经验法则来自于处理布局规划和电源规划问题的日常经验。熟练掌握设计规划可以帮助你预防费时的反复设计和芯片重复加工。对于具有分级设计流程的大型芯片来说,由于其更可能具有很长的模块间路径,而这些路径的延迟导致无法实现时序收敛,所以设计规划变得至关重要。任何复杂的芯片都需要进行电源规划,以预防由于IR压降和电迁移产生的问题。这些经验法则,既有基本的又有高级的,不一而足。它们对COT(客户自有加工工具)设计流程和由ASIC厂商处理实际后端设计的ASIC流程都有好处。
       在生成布局规划图时,必须考虑工艺技术的一些基本特性。例如,典型的标准单元库将单元行定义为水平的,而各层的布线方向则遵循交替模式:第1金属层水平方向,第2金属层垂直方向,依次类推。在任何一层,都要避免违反该层次优选的布线方向的布线。在芯核和模块周围生成金属环时,设计师必须切记为连接引脚的布线预留空间。在将金属压入模块时,要小心避免在模块拐角处出现拥塞;要注意模块内部的封锁效应。
       在安排模块时,设计师必须避免在顶层通道中产生四向交叉,T型交叉产生的拥塞要少得多。根据可能进行的单元上方布线有多少,这一经验法则对于为布线通道留出必要空间是至关重要的。使用飞线(Flylines)可以帮助确定优化的布局和方位。一旦安排好了模块,就可以安排模块层引脚。首先要确定适合安排引脚的层,再展开引脚以减少拥塞。要避免将引脚安排在布线连接受限制的拐角处,并要使用多个引脚层来减少拥塞。
       切勿将单元安排在硬宏单元(hard macro)的周界以内。为了防止阻断到信号引脚的连接,要避免将单元安排在电源连接条下面,除非电源连接条在比第2金属层高的金属层上。要使用密度制约条件或布局封锁阵列来减少拥塞,这是因为这些策略有助于将单元分布到较大的区域,从而降低该区域的布线要求。最后,在安排顶层缓冲器时,切记要为电源连接线和接地连接线留出相应的区域。在布局后的时序收敛优化过程中,可能需要一些用于安排缓冲器或中继器的区域,还需要给这些区域提供电源和接地。要避免生成任何增加拥塞的封锁。在任何物理设计工作中,了解目标工艺技术的要求是非常重要的。设计规则文件描述了许多需要考虑的工艺因素。例如,大多数工艺现在要求在一个称为“打孔”或“制成干酪形”的工序中在很大的金属区域插入各种孔。打孔可缓解由于热效应在金属层中引起的与应力相关的问题,但是却可能会改变金属层的载流特性。请在设计规则文件中查阅这一变量以及其它许多变量。
        实用规划步骤
        除了在生成布局规划图时必须记住的大量实用经验法则之外,还需要一个满足业务目标的原则。具体说,就是必须决定要优化的事项。通常的优化事项包括可重复性、时序、项目进度、功耗和裸芯尺寸。这一决定确定了为面积使用率设定的余量,并且会影响其它参数。例如,如果想要优化项目进度,那么一个显而易见的选择就是把面积使用率设定得低于为优化裸芯片尺寸时所设定的使用率。面积使用率下降就会使芯片尺寸加大,但通常可预防走线中的各种问题。
        你也许还希望设定一种电源规划余量,而这种余量会在电源网中所用的金属层比避免直流电源负载产生的故障所需的金属层还多。这种策略会增加裸芯面积,但却可避免下游电源问题,进而加快进度。此外,可以在任何开放空间填充电源网金属层。半导体工艺要求一定百分比的金属层,所以你索性利用这些金属层来帮助避免电源问题。但是,应该确保额外的金属层不会使信号线靠得太近,从而避免增加电容量和功耗,并避免引起信号完整性问题。正如这些经验法则所暗示的,布局规划和电源规划是一个综合的过程。
       如果你有任意逻辑分级元件的多个实例,就要考虑将这些项目分类,形成一个分级物理元件。要寻找RTL(寄存器传送级)设计表示法中可以归入分级功能块的逻辑模块。由于用同样尺寸的功能块进行布局规划更加方便,所以还应该将多个小模块归入一个更大的模块。应该尝试使用中型模块。一个划分为6到12个尺寸大致相当的模块的设计是一个合理的布局规划候选方案。根据封装设计,通常希望从外设的I/O开始布局规划。
      设计师应该考虑设计中的所有非典型标准单元部件:内存、模拟电路、PLL、与倍速时钟配套的逻辑、需要不同电压的模块、超大模块以及非寻常的特殊设计实例。通常希望首先安排这些元件,以确保满足其特殊要求。务必一开始就要了解这些特殊要求。例如,闪存具有的高电压编程输入端必须在与I/O引脚相距一定的距离以内,所以应该首先安排闪存。
       如果由于具有两个或更多大型模块或者其它特性而使得合理的布局规划无法实现时,那就必须增加裸芯片尺寸或者重新排列I/O。在流程设计中及早发现这个问题,能很方便地就采用更大更贵的裸芯片的器件在财务上是否可行做出业务决策。如果任何大型模块都是软(可合成)IP(知识产权)或能以 RTL 的形式提供,那就可将该模块重新划分为多个更小部分而避免采用较大的裸芯片。要根据其I/O和功耗,将其余的模块安排在剩余空间内,从而完成布局规划。要努力避免将功耗大的模块安排在靠近芯片中心的地方。面积使用率大小不一,视设计所用的库、技术和特性而定,但是,就普通库而言,通常以70%的使用率为最佳。芯片中寄存器或硬IP所占百分比异常高,就会使面积使用率提高;芯片中具有大量多路传输器或其它小型而又引脚密集的单元,则会降低面积使用率。要进行初始合成,以确定模块有多大。
      为设计设定功率预算没有通用的方法。工程师们利用设计工具、电子数据表、手工计算等各种适合他们所拥有的信息处理方法来确定模块级的功耗。必须从计算芯核(非I/O模块)功耗开始。必需知道这一参数,而其精确度为最终值大约±30%,这样才能计算出芯片的电源电流。
      要分析芯片电源的I/O同时切换带来的影响。人们大多关心输出端,因为输出端吸收大部分电流。大多数I/O库供应商都对I/O进行全面的特性描述,并在设计中同时切换的焊接区的数量给定的情况下,推荐应该具备的电源焊接区和接地焊接区的比率。在为布局规划图生成电源网时,应该考虑到即使将功耗均匀分布于整个芯片,并从模块级别来考察它,IR压降仍然会因连线很长而在芯片中心部位产生更加不利的情况。
       因此,电源网中有些连线传送的电流比其它连线大,所以需要计算每根连线、每个接点和每个通孔的电流。电流过大时,太小的通孔就会像保险丝一样熔断。实际上,应该分析通孔阵列的IR、电流密度和电迁移。此外,还要记住芯片中心的IR压降会导致安排在该部位的逻辑电路运行速度稍有下降。只要满足工艺上最大电流密度极限,就可以避免电源网中的电迁移问题。硅片厂公布了这些极限,而诸如Synopsys公司提供的Astro-Rail等工具则可以估算整个电源网的电流密度,并突出所关心的区域。
     为了达到给定的稳定状态和最差情况下的功率下降,也为了把电流密度维持在可接受限度之内,就需要某一总宽度的金属条来传送功率。设计师在金属条数量和金属条间隔之间进行折衷,以便得到金属条总宽度。设计师还必须考虑构建配电网络中的其它问题。最常见的问题就是,在设计过程的某一点上,金属条末端的孔可能比工艺打孔尺寸更宽,从而导致传导性比此前为其计算的结果更低。
       由于电迁移,沿金属颗粒边缘(它们平行于电流方向)迁移的金属原子产生很多失效。随着金属线宽度减小,平行于电流方向的颗粒边缘也随之减小。当线宽处于“竹区域”范围内时,就几乎没有颗粒边缘与电流方向平行,垂直的颗粒边缘就使得金属线的外表类似竹节。在出现电迁移失效之前,这些金属线传送的电流密度可能比更宽的金属线大一个数量级。
电源线和接地线都为感应耦合效应建立了返回路径;使用的电源线和接地线越多,要加以保护、使之免遭感应噪声影响的信号线就越多。
       硬IP的布局规划和电源规划具有一些有趣的特殊特性。例如,请考虑一下使用TSMC 0.13微米技术来使ARM946E芯核固化。芯核固化涉及的步骤类似任何规划流程中的那些步骤,但是考虑到各种设计使用该芯核的方法的改变,因此该规划必须更加灵活。例如,在这里所描述的ARM芯核固化中,Synopsys ProfessiONal Services公司的设计小组制定了可以允许芯核旋转90°的设计。
     该设计小组在整个芯核上实现了一个电源网格,分别在最高的三层金属层上每隔24、22和32微米布放了1.2、1和1.6微米金属条。这个项目的布局规划的难题之一是排列水平金属条,以使其不影响标准单元的预布线。Perl脚本有助于该过程的自动化。旋转芯核的若干规定提出了另一个布局规划难题。该小组在第二层上复制了所有的电源引脚和信号引脚,并为连接芯核内的这两层生成了合适的通孔阵列。因此,客户能够在任何方位使用该芯核,并且仍然使用优选方向布线将其与信号引脚和电源引脚连接起来。
       从一层的一组引脚开始,该设计小组建立了所需的两组引脚。一个Perl脚本收集有关第一组引脚的信息,并复制出另一层上的引脚。另一个Perl脚本生成连接两组引脚的通孔阵列。
      无论芯核如何与网格对齐,所有的信号引脚都足够宽,无需网格外的布线也可以在芯片级进行连接。该设计小组还生成了RAM,以便RAM中的供电环处在所选的适合布局规划中RAM方位的层上,从而使得将RAM连接到电源网格更为容易。为了把信号完整性和电迁移问题减小到最低程度,他们使用双倍宽度、双倍间隔和双倍通孔来对时钟网进行布线。他们利用由Power Compiler公司插入的集成式时钟门控单元建立了时钟树。只要在I/O引脚附近增加一个反向偏置二极管单元,所有连接至宏单元的逻辑输入端和输出端都能得到保护,不存在收集电荷的天线问题。