一种在sparecell上加入sparevia的方法

文档序号:9350156阅读:924来源:国知局
一种在spare cell上加入spare via的方法
【技术领域】
[0001] 本发明涉及芯片设计数据调整(EC0)、聚焦离子束微调(FIB)、可靠性设计等领 域。
【背景技术】
[0002] 随着集成工艺的发展,CMOS管及金属布线的尺寸越来越小,芯片规模及集成密度 越来越高,芯片制造过程中工艺的可靠性及可控性随之降低,在芯片设计过程中通过对设 计的改良而提升芯片制造过程中的可靠性的设计方法成为芯片设计领域内一个不可忽视 的重要环节。另一方面,芯片流片的费用及成本,也随着集成度的提高而快速增长,对成本 因素的考量也必须贯穿芯片设计领域的各个方面。而可靠性设计常常是通过在电路中引入 冗余设计而提高可靠性,而冗余设计的代价则是成本的提高。兼顾成本因素的可靠性设计 逐渐成为这一领域的热点。
[0003] 在电路中加入冗余单元(spare cell)是提高设计可靠性的一种有效手段。Spare cell的原理,就是在电路的各个区域加入冗余的标准单元,这些单元本身具有一些简单的 逻辑功能或是存储功能。当芯片的初始设计在流片完成后的验证中发现问题时(这种问题 可能是多方面的,有可能是工艺问题,有可能是版图结构问题,也有可能是由于前期功能验 证的不充分而导致的功能问题),需要通过更改或调整电路某一部分的结构来修正这些问 题,这些改动便可以通过设计阶段预先加入的spare cell来完成,并且仅仅只需通过修改 spare cell相应管脚的金属连接便可实现。制版时,只需要代工厂(Foundry)替换掉需进 行修改的几层金属的mask,便可以方便的修正掉芯片初始流片中所发现的各种问题。相比 于重新设计、重新流片,这种方法设计周期大大减少,其设计的成本也显著降低。
[0004] 由于需要对修改的金属层的掩膜(mask)进行替换,所以其所涉及到的mask的层 数,直接决定了这一修改的成本。如何获得最小的金属层数改动,是利用spare cell进行 ECO调整所面临的核心问题。
[0005] 目前关于spare cell的处理方式,一般是将spare cell的输入、输出端与电源或 地端相连,然后利用EDA工具完成这一连接的布线。EDA工具的处理方式,通常都是将输入、 输出端与其附近的电源轨(power rail)或地线轨(ground rail)相连。由于power rail 或ground rail -般由底层金属实现,所以这一连接布线,通常只涉及底层金属的少量布 线。当芯片需要ECO调整时,需首先将这一连接切断,然后选择合适的金属层,以及合适的 走线位置,将spare cell的端口与目标端口相连。这一方式存在的问题是,由于EDA工具 对于spare cell端口与power/ground rail之间的布线采用了很底层的金属走线完成,那 么当此处的spare cell需要进行ECO调整时,这一调整很有可能需要从顶层金属一路向下 跳到底层金属才能完成从spare cell端口到目标端口的走线,这将涉及到大量的金属及通 孔层重新制版的工作,所付出的费用和成本是巨大的。
[0006] 两方面的因素造成了这一问题:其一,spare cell本质上就是标准单元,一般标准 单元都由最底层金属即Ml实现的,其所有输入、输出端口以及power/ground rail都是采 用Ml走线的,并且power/ground rail -般处于标准单元版图结构的上下两边,所有输入、 输出端口处于power/ground rail之间,所以从输入、输出端口到power/ground rail的 布线距离是很小的,一般情况下M2以下的走线即可完成这一连接,这也是计算机自动化设 计(EDA)工具的普遍处理方方式;其二,布线密度从底层到顶层依次减小,所以当布线需要 ECO调整时,顶层由于布线密度低,存在可调整的空间,越往底层,其可调整的空间越小。以 上这两个因素,导致了多数利用spare cell进行的ECO布线调整都需要走线从顶层一路通 过通孔跳到底层才能实现。很多情况下,为了实现某一 ECO调整,可能需要从Ml开始直至 顶层所有的金属及通孔的mask都重新制版才能实现,成本巨大。

【发明内容】

[0007] 为了克服已有应用spare cell进行ECO调整时所产生的需重新制版的金属层及 通孔层的数量较大、ECO调整的费用及成本较高的不足,本发明提供一种减少应用spare cell进行ECO调整时所产生的需重新制版的金属层及通孔层的数量,降低ECO调整的费用 及成本的在spare cell上加入spare via的方法。
[0008] 本发明解决其技术问题所采用的技术方案是:
[0009] -种在spare cell上加入spare via的方法,包括以下环节:
[0010] 1)芯片整体的电源网络规划时需采用顶层金属,以power、ground为一组做水平 方向的电源、地线网格(power/ground stripe),两根stripe之间的间距要大于标准单元 所定义的标准单元最小位移(core site)的高度,但要小于这一高度的两倍。每组power/ ground stripe加入的位置要保证两根stripe之间能够容下一条完整的标准单元的行 (core row)〇
[0011] 之后,将 spare cell 加入每组 power/ground stripe 之间的 core row ;
[0012] 2)提取所有spare cell输入、输出端口的位置坐标,版图结构信息,根据所选择 的冗余通孔(spare via)结构,在端口上生成相应的通孔区域(via region);
[0013] 3)根据各端口的via region,选择各端口生成spare via的相应位置坐标,坐标 的选择要确保各端口的spare via在垂直方向,结合EDA工具,生成spare via ;
[0014] 4)将spare via通过顶层金属连接到与其相邻的一组顶层power/ground stripe 上。
[0015] 进一步,所述步骤2)中,首先找到全设计里所有的spare cell。$pattern变量定 义了 spare cell名称中的关键字,并以此关键字作为通配符来对全电路里的spare cell 进行筛选,进而获得每一个spare cell的位置坐标instLoc及尺寸坐标instCellDim, 之后代码对每一个spare cell的端口信息进行提取,通过dbForEachFTermLefPort和 dbForEachLefPortLayerShape,获得每一个端口的版图结构信息,由于在标准单元中很多 端口的版图为不规则多边形,dbForEachLayerShapeShape命令能够将不规则多边形拆分为 一组等价的矩形坐标数组,至此所有端口的版图形状及位置信息全部获得。
[0016] 再进一步,所述步骤2)中,Via region的生成通过对spare cell各端口的Ml的 版图进行提取、分析、处理得到,包括如下过程:2. 1),需对Ml的⑶S层号进行定义,将spare cell的Ml的版图信息按照GDS层号进行抽取,并依据图论对抽取的数据进行映射,建立数 学模型;2. 2),对映射后的数据进行遍历,生成能够容纳via的边界特征点,由此特征点构 建via region区域;2.3),将via region的坐标信息输出。
[0017] 更进一步,所述步骤3)中,坐标位置的选择过程为:
[0018] 3. 1)对spare cell所有的端口的via region按照权值大小进行排序,权值的选 择为via region面积的大小与via region垂直方向交叠次数的比例加权,面积越小,交叠 次数越高的via region其优先级越高;
[0019] 3. 2)设置已产生spare via的区域集合为空;
[0020] 3. 3)按照优先级的高低,依次对相应的via region区域进行扫描遍历,如发现遍 历区域与已产生spare via的区域集合中的区域在垂直方向有交叠,贝Ij跳过该区域继续遍 历,直至发现未产生交叠的via region区域为止;如不存在这样的区域,则选择交叠区域 作为spare via的生成区域,将得到的spare via的位置区域追加入已产生spare via的 区域集合,继续重复3. 3)的步骤。
[0021] 本发明的技术构思为:在spare cell的输入、输出端口上加入从底层至顶层的 spare via,并连接至顶层power/ground stripe。所有spare cell被布局在一组顶层金属 的power/ground stripe之间,确保从spare cell的输入、输出端口到power、ground的 连接距离最短,占用最少的布线资源。
[0022] 本发明的有益效果主要表现在:极大的减少了利用spare cell进行ECO调整时所 产生的需重新制版的mask数量,降低了芯片制造的成本。
【附图说明】
[0023] 图1是加入spare cell的芯片规划(floorplan)示意图,其中数字1代表ground stripe ;数字 2 代表 power stripe ;数字 3 代表 core row ;数字 4 代表 spare cell。
[0024] 图 2 是via region示意图。
[0025] 图3是spare via在via region区域内位置分布产生交叠的示意图。
[0026] 图4是在spare cell上生成spare via的版图示意图。
[0027] 图5是在spare cell上生成spare via的纵切面示意图。
【具体实施方式】
[0028] 下面结合附图对本发明作进一步描述。
[0029] 参照图1~图5, 一种在spare cell上加入spare via的方法,所述方法包括如下 步骤:
[0030] 1)加入spare cell的电源网格规划示意图如图1所示。其中水平的power/ground stripe采用顶层金属走线,两根stripe之间的间距恰好可以完整的容纳一条core row, spare cell放入该core row中。这样做的目的在于:首先,由于spare cell的输入、输出 端口既有可能与power端相连,也有可能与ground端相连,所以显而易见,将spare cell放 入一组power/ground stripe之间是最节省布线资源的解决方案;其次,所述方法的spare cell的输入、输出端口并不是与标准单元的power/ground rail相连,而是与顶层金属的 power/ground stripe相连,如果spare cell与其相邻的顶层金属的stripe相距过远,则 会导致布线过程中额外的布线资源的消耗,所以两根stripe之间的间距选择为大于1倍的 core row高度而小于或等于2倍的core row高度,亦即刚好可以容纳一条core row ;最后, 关于stripe的走线方向,如果将顶层金属的power/ground stripe改为垂直方向走线, 则放入两根stripe之间的spare cell的输入、输出端口有可能被其相邻的power/ground stripe遮蔽掉,需要通过低层金属的跳层走线才能连接到顶层金属,产生额外的布线资源 消耗。而如果要所有端口完全无遮蔽,则需加大两根stripe之间的间距,而这本身又会导 致端口与stripe之间的间距增大,产生额外的布线资源消耗。
[0031] spare cell的加入,可以在芯片布局阶段完成,只是加入的位置局限在每组顶层 金属 power/ground stripe 之间。
[0032] 2)因为需要在spare cell端口生成spare via,所以首先需提取所有spare cell 输入、输出端口的位置坐标,版图结构信息。
[0033] 采用TCL/TK这一标准接口,T
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1