本发明涉及一种电子装置以及所执行的集成电路的布局方法,尤其涉及一种可易于调整布局密度的电子装置及所执行的布局方法。
背景技术:
在集成电路的布局中,布局工程师为使芯片具有最大的利用率,会倾向以相对高的密度来进行电路的布局。在完成主要电路的布局动作后,布局工程师并会针对集成电路中的空白区域的部分,进行虚拟区块的填入动作。在所有的空白区域皆完成虚拟区块的填入动作后,集成电路可能因为布局密度过高,而无法满足设计/布局规范的需求。在这样的状况下,布局工程师只能手动针对各个空白区域进行手动调整,以求满足设计/布局规范的需求。
上述的布局调整方法需要耗费大量的人力,且布局工程师的手动调整动作未必能一次到位,常需要多次反复的调整动作,方能满足设计/布局规范的需求,浪费时间以及人力。
技术实现要素:
本发明提供一种电子装置及所执行的集成电路的布局方法,其可易于调整布局密度。
本发明的集成电路的布局方法包括:接收布局信息,解析布局信息并获得集成电路中的多个空白区域;预设多个虚拟区块,虚拟区块具有不同的尺寸;依据各空白区域的尺寸,选择虚拟区块的至少其中之一,以对各空白区域的中心位置进行填入动作,并产生更新后布局信息;针对更新后布局信息执行布局密度检查来获得检查结果;以及,依据检查结果以缩减在集成电路中的多个设定虚拟区块的尺寸,并产生输出布局信息。
本发明的电子装置用以执行集成电路的布局动作。电子装置包括存储器以及处理器。存储器用以储存布局信息,以及预先设定的多个虚拟区块的布局信息,其中,虚拟区块具有不同的尺寸。处理器用以:接收布局信息,解析布局信息并获得集成电路中的多个空白区域;依据各空白区域的尺寸,选择虚拟区块的至少其中之一,以对各空白区域的中心位置进行填入动作,并产生更新后布局信息;针对更新后布局信息执行布局密度检查来获得检查结果;依据检查结果以缩减在集成电路中的多个设定虚拟区块的尺寸,并产生输出布局信息。
基于上述,本发明通过在集成电路中的空白区域填入不同尺寸的虚拟区块,并通过调整其中的设定虚拟区块的尺寸,以自动化的调整集成电路的布局密度。如此一来,集成电路的布局密度的调整动作,可通过自动化的方式来完成,免去人工调整的麻烦,并使集成电路的布局密度可更精确的被设定。
为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合附图作详细说明如下。
附图说明
图1示出本发明一实施例的集成电路的布局方法的流程图;
图2a至图2c示出本发明实施例的多个虚拟区块的示意图;
图3a、图3b示出本发明实施例的布局方法的一步骤的示意图;
图4示出本发明实施例的布局方法的另一步骤的示意图;
图5以及图6本发明实施例布局方法的另一步骤的示意图;
图7示出本发明另一实施例的布局方法的流程图;
图8示出本发明实施例的电子装置的示意图。
附图标记说明
s110~s150、s810~s850:集成电路的布局步骤
100:集成电路
110~190、1100、1110、1120:空白区域
da1:第一密度区块
da2:第二密度区块
210、220、230:虚拟区块
ba1:空白区
da31~da33:第三密度区块
db1、db2、db12、db13、db1a、db1b、db1c:虚拟区块
db1a’、db1d’:取代虚拟区块
900:电子装置
910:处理器
920:存储器
igds:布局信息
dbn:虚拟区块
具体实施方式
请参照图1,步骤s110接收布局信息,并通过解析布局信息并获得集成电路中的多个空白区域。在此,布局信息可以为图形数据系统(graphicdatabasesystem,gdsii)格式的相关信息,用以记录集成电路布局的平面的几何形状、文字标签,以及关于结构组成的相关信息。关于空白区域的解析细节,可先依据布局信息,来取得集成电路中的第一杂乱空白区域(如图3a所示),并找出第一杂乱空白区域中具有最大面积的第一矩形。接着,将第一矩形自第一杂乱空白区域移除,以更新而取得第二杂乱空白区域,再自第二杂乱空白区域中找出具有最大面积的第二矩形。通过重复执行上述步骤,直到具有最大面积的第n 1矩形的面积小于预定目标,可完成空白区域的解析动作。其中前述第一矩形至第n矩形即为空白区域。
以下请同时参照图1以及图3b,图3b是布局信息解析完的结果。在图3b中,集成电路100中的多个空白区域110~190、1100、1110以及1120被识别出。被识别出的空白区域110~190、1100、1110以及1120可以通过矩形的形式进行框架。空白区域110~190、1100、1110以及1120可具有相同或不相同的尺寸。
接着,在步骤s120中,则进行多个虚拟区块的预设动作,在此请同步参照图1以及图2a至图2c,在图2a中,虚拟区块210可以包括第一密度区块da1。第一密度区块da1可以通过集成电路的主动区元件来形成。在本实施方式中,除包括第一密度区块da1,虚拟区块210可包括一定尺寸的空白区ba1。
在图2b中,虚拟区块220包括第一密度区块da1、第二密度区块da2以及空白区ba1。第二密度区块da2设置在第一密度区块da1的周围,并环绕第一密度区块da1。值得一提的,虚拟区块220的尺寸大于虚拟区块210的尺寸。第二密度区块da2例如可由集成电路中的多晶硅层来形成。
在图2c中,虚拟区块230包括第一密度区块da1、第二密度区块da2、多个第三密度区块da31~da33以及空白区ba1。第二密度区块da2设置在第一密度区块da1的边缘。第三密度区块da31~da33则被插入至第二密度区块da2中。第一密度区块da1以及第三密度区块da31~da33可具有相同的布局密度,并可以通过集成电路的主动区元件来形成。第二密度区块da2例如可由集成电路中的多晶硅层来形成。在本发明部分实施例中,虚拟区块230可以不具有第二密度区块da2,或也可以不具有第三密度区块da31~da33。另外,在虚拟区块230包括第三密度区块da31~da33的情况下,第三密度区块da31~da33的数量可以是一个、两个或是三个以上,图2c示出的第三密度区块da31~da33的数量(3个)仅只是说明范例,不用以限缩本发明的范畴。值得一提的,虚拟区块230的尺寸大于虚拟区块220的尺寸,虚拟区块220的尺寸大于虚拟区块210的尺寸。
在本实施例中,虚拟区块210、虚拟区块220以及虚拟区块230有不同的布局密度。
接着,请重新参照图1,在步骤s130中,则依据集成电路中,各空白区域的尺寸,选择虚拟区块的至少其中之一,以对各空白区域的中心位置进行填入动作,并产生更新后布局信息。在此请同步参照图1以及图4,在图4中,以空白区域140为范例,空白区域140中被填入多个相同尺寸的虚拟区块db1。而以空白区域110为范例,空白区域110则被填入多个虚拟区块db1以及多个虚拟区块db2,其中的虚拟区块db1以及虚拟区块db2的尺寸不相同。
在此请注意,关于虚拟区块的填入动作,在本发明实施例中,可依据多个预设的虚拟区块来分别建立多个框架,其中,框架可依据分别对应的虚拟区块的边来建立。并且,在执行填入虚拟区块至空白区域时,可通过将被选中虚拟区块对应的框架填入空白区域即可。
关于虚拟区块的填入动作的细节,可依据各空白区域的尺寸以及一第一框架的尺寸来计算出n个可容纳数量,针对各空白区域填入n个该第一框架,其中n为不小于0的整数。在细节上,先计算出为矩形的空白区域中的长边与短边尺寸,并计算出第一框架在长边的可容纳数量(=x)与第一框架在短边的可容纳数量(=y),,并藉以决定最大的第一框架的数量(x*y=n),并将最大框架数量置中的填入至矩形空白区域内。接着,各空白区域可产生一个或多个子空白区域,本发明实施例则可依据子空白区域的尺寸以及一第二框架的尺寸来计算出m个可容纳数量。再针对子空白区域依序填入m个具有较小尺寸的第二框架。
通过针对集成电路中的各个空白区域,重复执行上述的填入动作,可使集成电路中的各个空白区域填入虚拟区块,完成步骤s130,并产生更新后布局数据。
请重新参照图1,步骤s140则针对更新后布局数据执行布局密度检查的动作,若检查结果指示集成电路的布局密度高于预设的一临界值时,则执行步骤s150,以依据检查结果以缩减在集成电路中的多个设定虚拟区块的尺寸,并产生输出布局信息。
关于步骤s150的实施细节,可同步参照图1、图5以及图6,在当检查结果指示集成电路的布局密度高于预设的一临界值时,可设定在集成电路中的虚拟区块中,相邻的多个虚拟区块的其中之一为设定虚拟区块。在图5中,相邻的二虚拟区块的其中之一被设定为设定虚拟区块。举例来说明,在集成电路100中,以空白区域140为范例,其中的虚拟区块db1a以及虚拟区块db1b在水平方向相邻。因此,可设定虚拟区块db1a为设定虚拟区块,而设定虚拟区块db1b为非设定虚拟区块。另外,虚拟区块db1a以及虚拟区块db1c在垂直方向相邻,且在虚拟区块db1a已被设定为设定虚拟区块,因此,虚拟区块db1c可被设定为非设定虚拟区块。依此类推,虚拟区块db1d可被设定为设定虚拟区块。
上述的临界值可以由集成电路生产工厂所提供的设计规范和/或布局规范来获得。
在图5中,以虚框形式表示的虚拟区块为设定虚拟区块,相对的,以实框形式表示的虚拟区块则为非设定虚拟区块。在实际的设定细节上,可分别针对设定虚拟区块以及非设定虚拟区块进行图形数据系统(gds)号码的设定动作。其中,所有的设定虚拟区块的gds号码可以为1,所有的非设定虚拟区块的gds号码可以为0,并藉以识别虚拟区块的种类。
附带一提的,设定虚拟区块的设定方式,也可通过使相邻的三个虚拟区块的其中之一或其中之二为设定虚拟区块,或使相邻的四个虚拟区块的其中之一、其中之二或其中之三为设定虚拟区块,没有特别的限制。
附带一提的,关于上述的设定虚拟区块以及非设定虚拟区块的动作,在本发明其他实施例中,可以针对虚拟区块对应的框架来执行。其中,当空白区域中仅填入框架的相关信息时,则可设定相邻的多个框架的其中之一为设定框架,其中之另一为非设定框架。相对应的,上述的图形数据系统号码的设定动作则可针对设定框架以及非设定框架来进行。
接着,在图6中,则进行设定虚拟区块的尺寸缩减动作。其中,在集成电路100中,以空白区域140为范例,原设定虚拟区块db1a以及db1d的位置被置换为具有相对小尺寸的取代虚拟区块db1a’以及db1d’,而为非设定虚拟区块db1b以及db1c则维持不变更。在本实施例中,取代虚拟区块db1a’以及db1d’可以为图2b的虚拟区块220,虚拟区块db1b以及db1c可以为图2c的虚拟区块230。
通过使设定虚拟区块db1b以及db1c进行区块置换的动作,原配置虚拟区块db1b以及db1c的位置可多出较多面积的空白区,也因此,集成电路100的布局密度可以自动被调降。
附带一提的,若当针对空白区域所进行的填入动作,是通过虚拟区块对应的框架来执行时,当进行虚拟区块的置换动作时,可针对所对应的框架进行置换即可。
在步骤s150完成后,符合规范需求的输出布局信息可被有效产生。
附带一提的,在完成产出输出布局信息的步骤后,可依据输出布局信息产生集成电路的布局密度分布信息。布局密度分布信息可数据的方式呈现,并通过数据分析的方式,以提供布局工程师和/或设计工程师进行分析。
此外,输出布局信息为可符合规范的信息。因此,输出布局信息可被提供以制作光罩,并由半导体制造工厂生产出实体的集成电路。
由上述说明不难得知,本发明实施例的布局方法,可通过自动化的方式,来针对集成电路的布局密度进行调整,使其符合规范。如此一来,可免去人工调整的麻烦,快速且准确的完成布局密度的调整动作。
以下请参照图7,图7示出本发明另一实施例的布局方法的流程图。其中,步骤s810识别集成电路中的空白区域,接着,步骤s820依据各个空白区域的中心位置,来执行虚拟区块的填入动作。步骤s820可先针对空白区域以依据虚拟区块的框架来进行填入动作,并在步骤s820完成后,再执行步骤s830使虚拟区块的框架与其对应的布局信息进行映射动作,以将虚拟区块实际的布局内容填入至空白区域中。在完成所有的虚拟区块的框架以及布局信息的映射动作后,可产生更新后布局信息(步骤s840)。
步骤s850可执行布局密度的检查,并检查集成电路的布局密度是否过高,当集成电路的布局密度过高时,执行步骤s860以进行虚拟区块的置换动作。通过将密度相对大的虚拟区块,置换为密度相对小的取代虚拟区块,可有效降低集成电路的布局密度。通过重复的布局密度的检查动作,并在当集成电路的布局密度符合规范时,结束本实施例的布局动作。
关于上述步骤的多个细节,在前述的实施例已有详细的说明,在此恕不多赘述。
以下请参照图8,图8示出本发明实施例的电子装置的示意图。电子装置900包括处理器910以及存储器920。处理器910以及存储器920相互耦接。存储器920用以储存布局信息igds,以及预先设定的多个虚拟区块dbn的信息,其中,虚拟区块dbn具有不同的尺寸。处理器910由存储器920接收布局信息igds以及虚拟区块dbn的信息,并执行如前述多个实施例的布局方法,并藉以调整集成电路的布局密度。
关于布局方法的多个实施细节,在前述的实施例已有详细的说明,在此恕不多赘述。
综上所述,本发明预设多个虚拟区块,并使虚拟区块依据空白区域的中心位置进行填入动作,再通过置换虚拟区块以调整集成电路的布局密度。如此一来,集成电路的布局密度的停整动作不需通过人工的方式来执行,而可以自动化的被执行,提升布局工作的效率。
虽然本发明已以实施例揭示如上,然其并非用以限定本发明,任何所属技术领域中技术人员,在不脱离本发明的精神和范围内,当可作些许的更改与润饰,故本发明的保护范围当视权利要求所界定的为准。
1.一种集成电路的布局方法,包括:
接收布局信息,解析所述布局信息并获得所述集成电路中的多个空白区域;
预设多个虚拟区块,所述多个虚拟区块具有不同的尺寸;
依据各所述空白区域的尺寸,选择所述多个虚拟区块的至少其中之一,以对各所述空白区域的中心位置进行填入动作,并产生更新后布局信息;
针对所述更新后布局信息执行布局密度检查来获得检查结果;以及
依据所述检查结果以缩减在所述集成电路中的多个设定虚拟区块的尺寸,并产生输出布局信息。
2.根据权利要求1所述的布局方法,其中依据各所述空白区域的尺寸,选择所述多个虚拟区块的至少其中之一,以对各所述空白区域的中心位置进行填入动作的步骤包括:
依据所述多个虚拟区块的边,以分别产生多个框架;以及
选择所述多个虚拟区块的至少其中之一,并使被选中虚拟区块对应的框架,对各所述空白区域的中心位置进行填入动作。
3.根据权利要求2所述的布局方法,其中依据各所述空白区域的尺寸,选择所述多个虚拟区块的至少其中之一,以对各所述空白区域的中心位置进行填入动作的步骤还包括:
依据各所述空白区域的尺寸以及第一框架的尺寸来计算出n个可容纳数量,针对各所述空白区域填入n个所述第一框架,其中n为不小于0的整数。
4.根据权利要求3所述的布局方法,其中在所述n个第一框架被填入各所述空白区域后,产生至少一子空白区,依据各所述空白区域的尺寸,选择所述多个虚拟区块的至少其中之一,以对各所述空白区域的中心位置进行填入动作的步骤还包括:
依据所述子空白区域的尺寸以及第二框架的尺寸来计算出m个可容纳数量,针对所述子空白区域填入m个所述第二框架,其中m为不小于0的整数。
5.根据权利要求4所述的布局方法,其中所述第一框架的尺寸大于所述第二框架的尺寸。
6.根据权利要求4所述的布局方法,其中依据所述检查结果以缩减在所述集成电路中的所述多个设定虚拟区块的尺寸的步骤包括:
使所述多个设定虚拟区块对应的多个设定框架分别为多个的二框架取代,
其中各所述设定框架的尺寸大于各所述第二框架的尺寸。
7.根据权利要求1所述的布局方法,其中依据所述检查结果以缩减在所述集成电路中的所述多个设定虚拟区块的尺寸的步骤包括:
设定在所述集成电路中的所述多个虚拟区块中,相邻的所述多个虚拟区块的至少其中之一为设定虚拟区块;
当所述检查结果指示所述集成电路的布局密度高于临界值时,置换各所述多个设定虚拟区块为取代虚拟区块,
其中,所述取代虚拟区块的密度小于对应的各所述设定虚拟区块的密度。
8.根据权利要求1所述的布局方法,其中所述输出布局信息提供以作为制造所述集成电路的信息。
9.根据权利要求1所述的布局方法,还包括:
依据所述输出布局信息以产生所述集成电路的布局密度分布信息。
10.根据权利要求1所述的布局方法,其中各所述虚拟区块包括第一密度区块。
11.根据权利要求10所述的布局方法,其中各所述虚拟区块还包括第二密度区块,其中所述第二密度区块配置在所述第一密度区块边缘。
12.根据权利要求11所述的布局方法,其中各所述虚拟区块还包括至少一第三密度区块,所述至少一第三密度区块配置在所述第二密度区块中,所述至少一第三密度区块与所述第一密度区块具有相同的密度。
13.一种电子装置,用以执行集成电路的布局动作,包括:
存储器,用以储存布局信息,以及预先设定的多个虚拟区块的信息,其中,所述多个虚拟区块具有不同的尺寸;以及
处理器,用以:
接收所述布局信息,解析所述布局信息并获得所述集成电路中的多个空白区域;
依据各所述空白区域的尺寸,选择所述多个虚拟区块的至少其中之一,以对各所述空白区域的中心位置进行填入动作,并产生更新后布局信息;
针对所述更新后布局信息执行布局密度检查来获得检查结果;以及
依据所述检查结果以缩减在所述集成电路中的多个设定虚拟区块的尺寸,并产生输出布局信息。
技术总结