一种基于通孔的自动打孔方法与流程

文档序号:17161384发布日期:2019-03-20 00:46阅读:357来源:国知局
一种基于通孔的自动打孔方法与流程

本发明涉及一种半导体芯片物理版图的优化方法,尤其涉及一种基于通孔的自动打孔方法。



背景技术:

随着集成电路的高速发展,芯片上采用的金属互连线层数越来越多。设计规模的增大及设计复杂度的增加,使得布线的复杂度也相应上升。通孔作为金属互连线之间的连接媒介,在集成电路芯片设计中扮演着极其重要的角色。通孔的个数会引起线路电阻大小的变化,造成线路电压偏移,从而影响芯片的性能。通孔的过流能力,会影响线路的大电流传输,当通孔数量不足以承受大的电流时,会引发通孔的失效。芯片在制造生产中,也可能发生通孔失效的情况。通孔的失效意味着线路的中断,从而造成芯片功能无法实现。因此,通孔是保证电路正常工作的基础,也是把控电路工作精确度的关键所在。线路中的通孔数量越多越好。

传统的打孔方式有两种:1)手工打孔,通过手工计算打孔数,然后调用打孔器件,输入打孔数,在版图中,确定好打孔位置,放置,完成相邻两层金属层的连接;若需要进行连接的两层金属层是非相邻的金属层,则还需要重复前面的器件调用等后续操作。面对版图中密密麻麻的走线,这一操作环节显得尤为复杂、繁琐、耗时耗力。

2)eda工具自带的自动打孔方式,该方法要求版图设计者选中需要打孔的相邻两层金属层,然后按下相应快捷键,接着通过双击鼠标的方式来实现选定的金属层交叠区域内相邻两层金属层的打孔。该方法的缺点是操作上相对繁琐。因为在按下快捷键之后,还需要在选定的金属层交叠区域通过双击鼠标的方式来触发打孔行为。由于该打孔行为只能实现相邻两层金属层之间的自动打孔,无法做到跨层次打孔,且打孔数量会随着选定的金属层交叠区域大小的变化而改变,所以导致交叠区域较小的地方内自动打孔的数量仅为1。对于只有单个通孔但仍然有足够空间建立金属走线连接的版图结构,不仅造成线路中产生大的寄生电阻,还可能由于生产制造的原因,导致通孔失效,从而造成芯片功能失效。



技术实现要素:

本文提出一种基于通孔的自动打孔方法,其技术方案如下:

一种基于通孔的自动打孔方法,其特征在于,包括以下步骤:选定芯片物理版图中待打孔处理的第一金属层metal1和第三金属层metal3;其中,第一金属层metal1和第三金属层metal3包括跨层次的两层金属层和相邻的两层金属层;当检测到配置的打孔触发信号时,调用eda工具中提供的相关程序接口函数,获取待调用的通孔器件的层次规则信息、第一金属层metal1和第三金属层metal3的层次规则信息,进而定义第一金属层metal1和第三金属层metal3的金属交叠区的尺寸大小;根据所述金属交叠区的尺寸大小和所述通孔器件的层次规则信息,计算待调用的通孔器件的数目;判断所述通孔器件的数目是否小于或等于1,是则调用通孔数目为3的打孔器件,并调用打孔函数进行打孔操作;否则直接调用所述打孔函数进行打孔操作;其中,所述通孔器件的层次规则信息包括:金属层包围所述通孔器件的最小包围间距、所述通孔器件的最小宽度及其最小间距;第一金属层metal1和第三金属层metal3的层次规则信息包括:第一金属层metal1的线宽和第三金属层metal3的线宽。

进一步地,当第一金属层metal1和第三金属层metal3为跨层次的两层金属层时,这两层金属层之间还存在一层或多层中间金属层。

进一步地,完成所述打孔操作后,在第一金属层metal1和第三金属层metal3的金属交叠区内,第一金属层metal1、中间金属层metal2和第三金属层metal3之间形成通孔互连结构,所述通孔互连结构为第一通孔via12与第二通孔via23重合时形成的通孔结构,第一通孔via12为连接第一金属层metal1和中间金属层metal2的所述通孔器件,第二通孔via23为连接第三金属层metal3和中间金属层metal2的所述通孔器件。

进一步地,当调用通孔数目为3的打孔器件进行所述打孔操作时,所述通孔互连结构不局限存在于设置在第一金属层metal1和第三金属层metal3的金属交叠区内,还可以插入第一金属层metal1或第三金属层metal3内的冗余孔的位置,使得冗余孔的位置能够被第一金属层metal1和第三金属层metal3覆盖;其中,所述冗余孔是根据通孔数目为3的打孔器件而设置的所述通孔器件,使得插入的所述通孔互连结构同时连接第一金属层metal1和第三金属层metal3。

进一步地,所述计算待调用的通孔器件的数目的方法包括:将所述金属交叠区的宽度减去两倍的预设间距再加上所述通孔器件的间距的和值与预设宽度的比值向下取整,作为所述通孔器件的横向数目,其中,所述预设间距为金属层包围所述通孔器件的最小包围间距,所述预设宽度为所述通孔器件的最小宽度及其最小间距之和;将所述金属交叠区的长度减去两倍的所述预设间距再加上所述通孔器件的间距的和值与预设长度的比值向下取整,作为所述通孔器件的纵向数目,其中,所述预设长度为所述通孔器件的最小长度及其最小间距之和;在所述金属交叠区内,所述通孔器件的数目为所述通孔器件的横向数目及其纵向数目的乘积。

进一步地,前述步骤所执行的操作方法构建成一个脚本文件的自动打孔函数。

进一步地,所述自动打孔方法还包括,在所述打孔触发信号到来之前,配置所述脚本文件自动加载。

相对于现有技术,本发明的技术方案不仅可以通过一个触发信号实现跨金属层的自动打孔行为,而且在选定的小的金属层交叠区域做到冗余打孔,所述自动打孔方法操作简单、快捷、高效,一步到位,省去人工繁琐、复杂的重复操作,提高工作效率,使版图设计者的时间效益最大化。

通过对芯片物理版图中只有单孔连接的地方追加冗余孔,使得默认最少的通孔的打孔数目为3,从而强壮该处的连接,能够减少因通孔连接薄弱而在制造过程中造成失效的几率,提高芯片的良率及可靠性,确保电路不会由于对通孔数的不当调用而造成芯片失效及性能上的偏差。

附图说明

图1为本发明实施例一提供的第一金属层metal1和第三金属层metal3的金属层交叠区未打孔的版图示意图;其中,第一金属层metal1的线宽l1和第三金属层metal3的线宽l2较大;

图2为本发明实施例一提供的第一金属层metal1和第三金属层metal3的金属层交叠区完成打孔的版图示意图;其中,201表示可容纳多个通孔的金属层连接区域;

图3为本发明实施例二提供的第一金属层metal1和第三金属层metal3的金属层交叠区未打孔的版图示意图;其中,第一金属层metal1的线宽l11和第三金属层metal3的线宽l21较小;

图4为本发明实施例二提供的第一金属层metal1和第三金属层metal3的金属层交叠区完成打孔的版图示意图;其中,401表示插入冗余通孔的金属层连接区域;

图5为基于上述实施例一和实施例二的一种基于通孔的自动打孔方法流程图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行详细描述。应当理解,下面所描述的具体实施例仅用于解释本发明,并不用于限定本发明。

本发明实施例提供一种基于通孔的自动打孔方法,所述自动打孔方法中相关的步骤所执行的操作方法构建成一个脚本文件的自动打孔函数,并对该自动打孔函数配置相应的打孔触发信号。在所述打孔触发信号到来之前,配置所述脚本文件自动加载。然后脚本文件调用eda工具下的程序接口实现快速自动打孔。图1至图4是基于所述自动打孔方法的芯片物理版图自动打孔前后的版图示意图,而所述自动打孔方法流程图如图5所示:

步骤s501:选定芯片物理版图中待打孔处理的第一金属层metal1和第三金属层metal3,然后进入步骤s502。其中,第一金属层metal1和第三金属层metal3包括跨层次的两层金属层和相邻的两层金属层。由于所述自动打孔方法针对相邻的两层金属层的打孔处理方法与跨层次的两层金属层的打孔处理方法相同,所以在本发明实施例中,第一金属层metal1和第三金属层metal3为跨层次的两层金属层;进一步地,当第一金属层metal1和第三金属层metal3为跨层次的两层金属层时,第一金属层metal1和第三金属层metal3之间还存在一层或多层中间金属层,在本发明实施例中,第一金属层metal1和第三金属层metal3之间还存在一层中间金属层metal2。

步骤s502:当检测到配置的打孔触发信号时,脚本文件开始执行,调用eda工具中提供的相关程序接口函数,获取待调用的通孔器件的层次规则信息、第一金属层metal1的层次规则信息和第三金属层metal3的层次规则信息,进而定义第一金属层metal1和第三金属层metal3的金属交叠区的尺寸大小,从而获取预打孔层次信息参数,然后进入步骤s503。其中,所述通孔器件的层次规则信息包括:金属层包围所述通孔器件的最小包围间距、所述通孔器件的最小宽度及其最小间距;第一金属层metal1和第三金属层metal3的层次规则信息包括:所述第一金属层的线宽和所述第三金属层的线宽。

需要说明的是,所述通孔器件是通孔。根据最小设计规则,要求两个通孔之间的间距不得小于规定的尺寸(工艺节点不同,通孔的间距大小不同),并且通孔上所覆盖的金属与周围的金属之间的间距也不得小于规定的尺寸。

步骤s503:根据所述金属交叠区的尺寸大小和所述通孔器件的层次规则信息,计算待调用的通孔器件的数目,然后进入步骤s504。具体地,所述计算所述通孔器件的数目的方法包括:将所述金属交叠区的宽度减去两倍的预设间距再加上所述通孔器件的间距的和值与预设宽度的比值向下取整,作为所述通孔器件的横向数目,其中,所述预设间距为所述金属交叠区包围所述通孔器件的包围间距,所述预设宽度为所述通孔器件的宽度及其间距之和;将所述金属交叠区的长度减去两倍的所述预设间距再加上所述通孔器件的间距的和值与预设长度的比值向下取整,作为所述通孔器件的纵向数目,其中,所述预设长度为所述通孔器件的长度及其间距之和;在所述金属交叠区内,所述通孔器件的数目为所述通孔器件的横向数目及其纵向数目的乘积。其中,所述金属交叠区的尺寸大小与单个通孔周围的空间大小有关,如果想要在某一单个通孔周围追加冗余孔,需要确认该单个通孔的周围空间足够大,以确保所追加的冗余孔与该单个通孔之间的间距不小于规定尺寸。

步骤s504:判断所述通孔器件的数目是否小于或等于1,是则进入步骤s505,否则进入步骤s506。步骤s504根据步骤s503计算得到的所述通孔器件的数目来判断第一金属层metal1和第三金属层metal3的金属交叠区内可容纳的所述通孔器件的数目。

步骤s505:为了避免版图中出现单一的通孔,对电路的功能及性能造成影响,该步骤调用通孔数目为3的打孔器件,然后进入步骤s506。如图3和图4所示,未打孔之前第一金属层metal1和第三金属层metal3的金属交叠区面积较小,打孔之后,第一金属层metal1和第三金属层metal3的金属交叠区只能容纳一个所述通孔器件,而该金属交叠区的周围区域能够追加冗余孔,如图4所示,金属层连接区域401提供多个冗余孔的位置,都处于第三金属层metal3内。

步骤s506:调用对应的打孔函数进行打孔操作,其中打孔函数为eda工具下的与打孔相关的程序接口函数。该步骤执行的结果如图2和图4所示:在图2中,第一金属层metal1和第三金属层metal3的金属层交叠区面积较大,可插入多个所述通孔器件,对应图2的金属层连接区域201;在图4中,第一金属层metal1和第三金属层metal3的金属层交叠区面积较小,只能插入单个所述通孔器件,而金属层连接区域401可接受插入多个所述通孔器件。故所述自动打孔方法对只有单个通孔但仍然有足够空间的连接区域提供追加冗余孔的机会,而面积较大的金属连接区域内可接受插入多个通孔,从而减少因通孔连接薄弱而在制造过程中造成失效的几率,提高芯片的良率及可靠性,确保电路不会由于对通孔数的不当调用而造成芯片失效及性能上的偏差。其中,所述打孔函数用于调用工艺库自带的所述通孔器件对金属层进行打孔操作。

优选地,完成所述打孔操作后,在第一金属层metal1和第三金属层metal3的的金属交叠区内,第一金属层、中间金属层metal2和第三金属层metal3之间形成通孔互连结构,所述通孔互连结构为第一通孔via12与第二通孔via23重合时形成的通孔结构,第一通孔via12为连接第一金属层metal1和中间金属层metal2的所述通孔器件,第二通孔via23为连接第三金属层metal3和中间金属层metal2的所述通孔器件。

关于所述自动打孔方法的芯片物理版图自动打孔前后的版图,分为两种实施例进行描述说明。

实施例一:在图1中,存在选定的预打孔的第一金属层metal1和选定的预打孔的第三金属层metal3,其中,第一金属层metal1和第三金属层metal3为跨层次的两层金属层,第一金属层metal1和第三金属层metal3之间还存在一层中间金属层metal2,第一金属层metal1的线宽为l1,第三金属层metal3的线宽为l2;本发明实施例在检测到选中的第一金属层metal1和第三金属层metal3的基础上,通过进一步检测配置的打孔快捷键的触发信号,可一次性快速完成第一金属层metal1和第三金属层metal3跨层次的自动打孔操作,得到如图2所示的版图示意图。

同样在实施例一,如图2所示,第一金属层metal1和中间金属层metal2存在着第一通孔via12,中间金属层metal2和第三金属层metal3存在着第二通孔via23,第一金属层metal1的线宽为l1,第三金属层metal3的线宽为l2;第一金属层metal1和第三金属层metal3的金属层交叠区存在着可容纳多个通孔的金属层连接区域201,金属层连接区域201内存在基于metal1、metal2和metal3的跨层次金属互连区,跨层次金属互连区内存在金属互连层的通孔互连结构,所述通孔互连结构为第一通孔via12与第二通孔via23重合时形成的通孔结构,即所述通孔互连结构同时连接第一通孔via12与第二通孔via23,从而实现跨层次打孔。完成所述打孔操作后,在第一金属层metal1和第三金属层metal3的金属层交叠区内,所述通孔互连结构的数目为9个,表示第一金属层metal1和第三金属层metal3的金属层交叠区内最多可容纳插入9个所述通孔器件,其中,第一通孔via12处覆盖第一金属层metal1和中间金属层metal2,第二通孔via23处覆盖第三金属层metal3和中间金属层metal2,当第一通孔via12和第二通孔via23的位置重合得到所述通孔互连结构,完成连接第一金属层metal1和第三金属层metal3,即建立起第一金属层metal1和第三金属层metal3的跨层次电连接关系。相对于现有技术,本发明实施例通过配置的打孔触发信号实现快速、高效完成金属层连接的目的,使得传统繁琐、复杂的人工操作模式得以代替,而且大大优于传统的自动打孔模式。

实施例二:在图3中,存在选定的预打孔的第一金属层metal1和选定的预打孔的第三金属层metal3,其中,第一金属层metal1和第三金属层metal3为跨层次的两层金属层,第一金属层metal1和第三金属层metal3之间还存在一层中间金属层metal2,第一金属层metal1的线宽为l11,第三金属层metal3的线宽为l21,其中,l11小于实施例一的第一金属层metal1的线宽l1,l21小于实施例一的第三金属层metal3的线宽l2,使得实施例二中所述金属层交叠区的面积远小于实施例一中所述金属层交叠区的面积。由于本发明实施例选中的第一金属层metal1和第三金属层metal3的金属层交叠区的面积较小,但利用所述自动打孔方法,会自动将调用通孔数为3的打孔器件,避免版图中出现的单一通孔对电路的功能及性能造成影响,其操作得到的版图示意图如图4所示。

同样在实施例二,如图4所示,根据所述计算所述通孔器件的数目的方法得到第一金属层metal1和第三金属层metal3的金属层交叠区内只能容纳一个所述通孔器件,这时,在所述金属层交叠区内,由于单个所述通孔器件周围的区域没有足够的空间追加冗余孔,所以,基于所述自动打孔方法调用通孔数为3的打孔器件实现所述通孔互连结构不局限插入在第一金属层metal1和第三金属层metal3的金属交叠区内,还可以插入第一金属层metal1或第三金属层metal3内非交叠区域的位置,在实施例中,第三金属层metal3内的金属层连接区域401可接受插入3个所述通孔互连结构,即在所述金属层交叠区的左右两侧的对应的所述冗余孔位置处各插入1个所述通孔互连结构,使得所述冗余孔位置能够被第一金属层metal1和第三金属层metal3覆盖;其中,所述冗余孔是根据所述通孔数目为3的打孔器件而设置的所述通孔器件,所述冗余孔位置对应所述通孔数目为3的打孔器件在第三金属层metal3的摆放位置。另外,第一金属层metal1和中间金属层metal2存在着第一通孔via12,中间金属层metal2和第三金属层metal3存在着第二通孔via23,第一金属层metal1的线宽为l1,第三金属层metal3的线宽为l2;所述通孔数目为3的打孔器件在第三金属层metal3的区域存在着3个通孔的金属层连接区域401,金属层连接区域401内存在着基于metal1、metal2和metal3的跨层次金属互连区,跨层次金属互连区内存在金属互连层的通孔互连结构,所述通孔互连结构为第一通孔via12与第二通孔via23重合时形成的通孔结构,即所述通孔互连结构同时连接第一通孔via12与第二通孔via23,从而实现跨层次打孔,同时使得插入所述冗余孔位置的所述通孔互连结构连接第一金属层metal1和第三金属层metal3。

本发明提供一种快速自动打孔的方法,通过对传统打孔方式的分析,结合实际版图中的操作需要,利用eda工具下的程序接口,通过一个触发信号实现跨层次快速自动打孔的目的,从而节省繁琐、复杂的人工操作,提高工作效率,同时确保电路不会由于对通孔数的不当调用而造成芯片的失效及功能上的偏差。

以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1