减少因IR压降而导致的设计违规的方法与流程
未命名
07-23
阅读:129
评论:0

减少因ir压降而导致的设计违规的方法
技术领域
1.本公开涉及半导体领域,更具体地,涉及减少因ir压降(ir drop)而导致的设计违规的方法。
背景技术:
2.最近的集成电路(ic)小型化趋势导致了更小的器件,这些器件消耗更少的功率并且还以更高的速度提供更多的功能。小型化工艺还导致了更严格的设计和制造规范以及对于可靠性的挑战。各种电子设计自动化(eda)工具生成、优化和验证集成电路的标准单元布局设计,同时确保满足标准单元布局设计和制造规范。
技术实现要素:
3.根据本公开的一方面,提供了一种设计集成电路的布局图的方法,所述方法包括:将所述布局图中的单元识别为未通过与ir压降相关的一个或多个设计规则的违规单元;利用根本原因类别来对导致所述违规单元的根本原因进行分类;确定搜寻区域,以搜寻安全区候选项;基于所述根本原因的根本原因类别,找出选定单元以进行移动;在所述搜寻区域中找出安全区,以移动所述选定单元;以及若在所述搜寻区域内找到所述安全区,则将所述选定单元移动到所述安全区。
4.根据本公开的一方面,提供了一种用于设计集成电路的布局图的系统,所述布局图被存储在非暂态计算机可读介质上,所述系统包括至少一个处理器和至少一个存储器,所述至少一个存储器包括一个或多个程序的计算机程序代码,并且其中,所述至少一个存储器、所述计算机程序代码和所述至少一个处理器被配置为使所述系统执行以下操作:将所述布局图中的单元识别为未通过与ir压降相关的一个或多个设计规则的违规单元;利用根本原因类别来对导致所述违规单元的根本原因进行分类;确定搜寻区域,以搜寻安全区候选项;基于所述根本原因的根本原因类别,找出选定单元以进行移动;在所述搜寻区域中找出安全区,以移动所述选定单元;以及若在所述搜寻区域内找到所述安全区,则将所述选定单元移动到所述安全区。
5.根据本公开的一方面,提供了一种设计集成电路的布局图的方法,所述方法包括:将所述布局图中的单元识别为未通过与ir压降相关的一个或多个设计规则的违规单元;利用相应根本原因类别来对导致所述违规单元的一个或多个根本原因中的每个根本原因进行分类;确定搜寻区域,以搜寻安全区候选项;在所述搜寻区域中找出安全区,以消除选定根本原因;基于所述选定根本原因的所述相应根本原因类别,找出选定单元以进行移动;以及若在所述搜寻区域内找到所述安全区,则将所述选定单元移动到所述安全区。
附图说明
6.在结合附图阅读时,通过下面的具体实施方式来最佳地理解本公开的各方面。应当注意,根据该行业的标准惯例,各种特征不是按比例绘制的。事实上,为了讨论的清楚起
见,各种特征的尺寸可能被任意增大或减小。
7.图1是根据一些实施例的对导致违规单元的根本原因进行分类的方法的流程图。
8.图2是根据一些实施例的分布在搜寻区域中的单元位置的示意图。
9.图3是根据一些实施例的具有多个分析区的搜寻区域的示意图。
10.图4a至图4b是根据一些实施例的在相邻单元被移开之前和之后的单元布局布置的示意图。
11.图5a至图5b是根据一些实施例的在相邻单元被移动到阻进区域(keep-out area)中之前和之后的单元布局布置的示意图。
12.图6a至图6b是根据一些实施例的在相邻单元被移开之前和之后的单元布局布置的示意图。
13.图7a至图7b是根据一些实施例的在相邻单元被移动到阻进区域中之前和之后的单元布局布置的示意图。
14.图8a至图8b是根据一些实施例的在违规单元和相邻单元被移动之前和之后的单元布局布置的示意图。
15.图9是根据一些实施例的设计集成电路的布局图的方法的流程图。
16.图10是根据一些实施例的电子设计自动化(eda)系统的框图。
17.图11是根据一些实施例的集成电路(ic)制造系统和与其相关联的ic制造流程的框图。
具体实施方式
18.下面的公开内容提供了用于实现所提供的主题的不同特征的许多不同的实施例或示例。下文描述了组件、材料、值、步骤、操作、布置等的具体示例以简化本公开。当然,这些仅是示例而不意在进行限制。也设想其他的组件、值、操作、材料、布置等。例如,下面的说明中,在第二特征之上或在第二特征上形成第一特征可以包括以直接接触的方式形成第一特征和第二特征的实施例,并且还可以包括可以在第一特征和第二特征之间形成附加特征使得第一特征和第二特征可以不直接接触的实施例。此外,本公开在各个示例中可以重复附图标记和/或字母。这种重复是为了简单和清楚的目的,并且其本身不表示所讨论的各个实施例和/或配置之间的关系。
19.此外,为了易于描述,本文可能使用了空间相关术语(例如,“之下”、“下方”、“下”、“上方”、“上”等),以描述附图中所示的一个要素或特征与另外(一个或多个)要素或(一个或多个)特征的关系。这些空间相关术语意在涵盖使用中或工作中的器件处于除了附图中所示朝向之外的不同朝向。装置可能以其他方式定向(旋转90度或处于其他朝向),并且本文使用的空间相关描述符可以类似地进行相应解释。
20.在一些实施例中,当eda程序在布局图中找到未通过ir压降测试的单元时,eda程序将失败的单元识别为违规单元并将导致该违规单元的根本原因分类。eda程序还确定用于搜寻安全区的搜寻区域,安全区是布局图中的这样的位置:在该位置处放置单元不会导致由于ir压降而产生的设计违规。基于对根本原因的分类,eda程序然后找到选定单元以进行移动。如果在搜寻区域内找到安全区,则eda程序将选定单元移动到该安全区。因为eda程序被实现为具有用于消除导致违规单元的一些根本原因的缓解处理,所以减少了需要用户
手动检查的由于布局图中的ir压降而导致的设计违规的数量。
21.图1是根据一些实施例的对导致违规单元的根本原因进行分类的方法100的流程图。图1中描绘方法100的操作的顺序仅用于说明;方法100的操作能够以不同于图1所描绘的顺序执行。应了解,可以在图1中所描绘的方法100之前、期间和/或之后执行其他操作,并且本文中仅简要描述其他工艺。
22.在方法100的操作110中,识别布局图中的违规单元。每个识别出的违规单元都不能通过与ir压降相关的一个或多个设计规则。在一些实施例中,每个违规单元都处于具有较高电源电压vdd和较低电源电压vss的功率域中。在一些实施例中,这些违规单元分布在两个不同的功率域中。一些违规单元在第一功率域中,并且一些违规单元在第二功率域中。第一功率域具有第一较高电源电压vdd1和第一较低电源电压vss1。第二功率域具有第二较高电源电压vdd2和第二较低电源电压vss2。在一些实施例中,第一较高电源电压vdd1不同于第二较高电源电压vdd2,并且第一较低电源电压vss1不同于第二较低电源电压vss2。在一些实施例中,第一较低电源电压vss1与第二较低电源电压vss2相同。在一些实施例中,第一较低电源电压vss1和第二较低电源电压vss2中的每一个都等于接地电压gnd。在一些实施例中,违规单元分布在三个或更多个不同功率域中。
23.在操作120、130和140中分析导致在操作110中识别出的违规单元的根本原因。在方法100的操作120中,将违规单元的ir电阻值与操作120中的参考值(被标记为r
high
诊断)进行比较。如果ir电阻值大于参考值,则导致违规单元的根本原因是电阻率类别,其在操作125中被标记为高电阻率。然后,处理流程进行到操作130。在一些实施例中,被选择用于操作120中的比较的ir电阻值是与用于对违规单元供电的功率域的电源电压vss和vdd相关的有效电阻r
eff
的值。在一些实施例中,有效电阻r
eff
取电压差(vdd-vss)与从较高电源电压vdd的电源轨流入到违规单元的电流idd之间的比率,如表示为等式r
eff
=(vdd-vss)/idd。在一些实施例中,有效电阻r
eff
取电压差(vdd-vss)与从违规单元流入较低电源电压vss的电源轨中的电流iss之间的比率,如表示为等式r
eff
=(vdd-vss)/iss。在一些实施例中,有效电阻r
eff
取电压差(vdd-vss)与电流idd和电流iss的平均值之间的比率,如表示为等式r
eff
=2(vdd-vss)/(idd+iss)。
24.在一些实施例中,将有效电阻r
eff
与临界电阻值r
spec
进行比较。如果r
eff
大于r
spec
,则导致违规单元的根本原因是电阻率类别。图1的插图128描绘了当导致违规单元的根本原因是电阻率类别时的示例单元布置。在插图128中,违规单元101和三个其他单元(单元1、单元2和单元3)放置在布局图的选定区域中。在图1中,有效电阻r
eff
被用作操作120中的电阻品质因数,并且有效电阻r
eff
被与临界电阻值r
spec
相比较。电阻品质因数是用于确定导致违规单元的根本原因是否是电阻率类型的物理量。在一些替代实施例中,有效电导g
eff
=1/r
eff
被用作操作120中的电阻品质因数。如果有效电导g
eff
小于临界电导值g
spec
,则导致违规单元的根本原因是电阻率类别。电阻品质因数的其他选择也在本公开的范围内。
25.在方法100的操作130中,确定违规单元附近的i
peak
单元密度。用于确定i
peak
单元密度的i
peak
单元中的每一个要么是违规单元、要么是与违规单元相邻的相邻单元。在一些实施例中,给定单元是否被算作i
peak
单元取决于电流idd和/或电流iss,电流idd是从用于较高电源电压vdd的电源轨流入到给定单元中的电流,电流iss是从给定单元流入到用于较低电源电压vss的电源轨的电流。在一些实施例中,如果从电源轨流入到选定单元的电流idd
大于临界电流值i
spec
,则选定单元是i
peak
单元。在一些实施例中,如果从选定单元流入到电源轨中的电流iss大于临界电流值i
spec
,则选定单元是i
peak
单元。在一些实施例中,如果电流idd和电流iss中的每一个都大于临界电流值i
spec
,则选定单元是i
peak
单元。
26.在操作130中,如果i
peak
单元的数量大于1,则导致违规单元的根本原因是集群类别(cluster class),其在操作135中被标记为集群。然后,处理流程进行到操作140。图1的插图138描绘了违规单元101和与违规单元101相邻的两个相邻单元192和194。因为违规单元101具有作为i
peak
单元的两个相邻单元(即192和194),所以导致违规单元101的根本原因是集群类别。
27.在方法100的操作140中,如果i
peak
单元的数量等于1并且唯一的i
peak
单元是违规单元自身,则导致违规单元的根本原因是自诱导类别(self-induced class),其在操作145中被标记为自诱导。另一方面,如果i
peak
单元的数量等于1并且唯一的i
peak
单元是与违规单元相邻的相邻单元,则导致违规单元的根本原因是受扰类别(disturbed class),其在操作155中被标记为受扰。图1的插图148描绘了作为i
peak
单元的违规单元101。导致插图148中违规单元101的根本原因是自诱导类别。图1的插图158描绘了违规单元101和作为i
peak
单元的相邻单元192。导致插图158中违规单元101的根本原因是受扰类别。
28.在图1中的处理流程期间,将导致操作110中识别出的违规单元的根本原因分类为各种根本原因类别。违规单元的可能根本原因类别包括电阻率类别、集群类别、自诱导类别和受扰类别。在一些实施例中,由eda程序修改操作110中识别出的违规单元以自动缓解与ir压降相关的设计违规。在一些实施例中,用于校正给定违规单元中的ir压降问题的算法或方法取决于导致给定违规单元中的ir压降问题的每个根本原因的类别。不同的根本原因类别规定了用于校正ir压降问题的不同算法或不同方法。需要校正的ir压降问题是动态ir(“dir”)下降问题或静态ir(“sir”)下降问题。在本公开中,由于与ir压降相关的一个或多个设计违规而引起的问题通常被称为dir/sir问题。
29.静态ir压降是设计的平均压降。它取决于将电源连接到各个标准单元的电网的rc。平均电流完全取决于时间段。栅极沟道漏电流是静态ir压降的主要原因。动态ir压降是当电路在执行一些功能时进行切换时由于电流流动而引起的电压降。
30.在一些实施例中,当eda程序确定违规单元的根本原因类别是电阻率类别时,eda程序自动开始在违规单元周围的搜寻区域中搜寻安全区。如果eda程序找到安全区,则eda程序将违规单元移动到安全区,以校正与违规单元相关联的dir/sir问题。图2是根据一些实施例的分布在违规单元101周围的搜寻区域200中的安全区候选项211-222的示意图。在图2中,违规单元101位于搜寻区域200的中心。在一些替代实施例中,搜寻区域200仍然在违规单元101周围,但违规单元101不位于搜寻区域200的中心。在一些实施例中,违规单元101相对于搜寻区域200的中心水平地偏移。在一些实施例中,违规单元101相对于搜寻区域200的中心垂直地偏移。在一些实施例中,违规单元101相对于搜寻区域200的中心水平地和垂直地偏移。
31.在图2的搜寻区域200中,用于移动违规单元101的安全区是基于电阻品质因数来确定的。在图2中,用于表征每个安全区候选项处的单元的电阻品质因数是相对数字,并且用于表征违规单元101的相对数字是100%。每个相对数字中的百分号“%”未在图2中明确示出。例如,相对数字100%在图2中显示为100。在一些实施例中,所选单元的电阻品质因数
(“rfm”)是所选单元的有效电阻与违规单元101的有效电阻之间的比率,表示为r
eff
(所选单元)/r
eff
(违规单元)乘以100%。或者等效地,所选单元的电阻品质因数(“rfm”)是违规单元101的有效电导与所选单元的有效电导之间的比率,表示为g
eff
(违规单元)/g
eff
(所选单元)乘以100%。在图2中,安全区候选项211、212、213和214处的单元的rfm值相应地为85%、75%、75%和89%。安全区候选项215、216、217和218处的单元的rfm值相应地为89%、85%、89%和87%。安全区候选项219、220、221和222处的单元的rfm值相应地为87%、85%、85%和80%。
32.在一些实施例中,在eda程序将导致违规单元101的根本原因分类为电阻率类别之后,由eda程序自动生成搜寻区域200,并且然后由eda程序确定搜寻区域200内的安全区候选项。计算每个安全区候选项处的单元的rfm值。在一些实施例中,选择具有最小rfm值的一个或多个安全区候选项。在一些实施例中,当发现多个安全区候选项具有最小rfm值时,放置为与高电流单元接近的安全区候选项被拒绝。例如,在搜寻区域200中,安全区候选项212和213中的每个都对应于75%的rfm值。放置在安全区候选项213处的单元与安全区候选项211处的高电流单元接近。因此,只要安全区候选项212处的单元不遭受额外的dir/sir问题,那么就只有安全区候选项212被发现作为安全区。在eda程序找到安全区候选项212处的安全区之后,由eda程序将违规单元101移动到安全区候选项212处的安全区,如图2中所描绘的。
33.在图2所示的具体示例中,搜寻区域200的宽度和高度都是10微米。在一些实施例中,搜寻区域200中的大部分单元具有在y方向上延伸的均匀高度“h”,并且搜寻区域200的高度在10h到100h的范围内。在一些实施例中,搜寻区域200中的大部分单元包括在y方向上延伸的栅极导体,这些栅极导体形成各种晶体管的栅极端子。两个相邻的栅极导体以沿着x方向(其垂直于y方向)的间距距离彼此分离,并且在搜寻区域200中的两个相邻的栅极导体之间的间距距离通常等于一个cpp(“接触多晶硅间距(contacted poly pitch)”)。在一些实施例中,搜寻区域200的宽度在50cpp到500cpp的范围内。通常,搜寻区域200的宽度和高度中的每一者需要足够大以在与违规单元101的功率域相同的功率域中包括安全区候选项。例如,在违规单元101附近的布局区域包括核心功率域和i/o功率域两者的情况下,如果违规单元101在i/o功率域中,则核心功率域中的安全区候选项被排除用于安全区选择,且相反地,如果违规单元101在核心功率域中,那么i/o功率域中的安全区候选项被排除用于安全区选择。通常,eda程序的速度性能要求对搜寻区域200的宽度和高度设置了一些上限,因为增加搜寻区域200的尺寸也会增加eda程序利用算法的一些实现来找到安全区所需的时间。
34.在一些实施例中,随着算法的一些改进,通过eda程序找到安全区所需的时间减少(即使搜寻区域200的尺寸保持不变)。参考图3描述了用于找到安全区的改进算法之一。图3是根据一些实施例的具有多个分析区的搜寻区域200的示意图。在图3中,违规单元101最初位于搜寻区域200的中心处的违规点处。在eda程序开始在搜寻区域200中搜寻安全区之前,将搜寻区域200划分为十六个分析区。十六个分析区包括第一行中的四个分析区311-314、第二行中的四个分析区321-324、第三行中的四个分析区331-334和第四行中的四个分析区341-344。在一些实施例中,在确定了十六个分析区中的每一个中的单元密度之后,eda程序首先搜寻在分析区中具有最低单元密度的安全区,然后搜寻在分析区中具有第二低单元密
度的安全区。eda程序在随后的每个分析区中按增加单元密度的顺序继续逐个搜寻分析区,直到找到安全区。在一些实施例中,在找到安全区之后,eda程序自动将违规单元101移动到安全区。图3的搜寻区域200中的十六个分析区被提供作为特定实施例的示例。在一些可选实施例中,搜寻区域200被分成多于十六个分析区。在一些可选实施例中,搜寻区域200被分成少于十六个分析区。
35.在一些实施例中,当eda程序确定违规单元的根本原因类别是集群类别时,eda程序自动选择具有最高峰值电流的相邻单元作为选定单元以进行移动。由eda程序将具有最高峰值电流的相邻单元移动到安全区或移动到阻进区域中,以校正dir/sir问题。用于给定单元的阻进区域是用于放置给定单元的区域,该区域具有包围给定单元的周围区域,以在布局图中实体地将给定单元与其他单元分隔开。
36.图4a至图4b是根据一些实施例的当导致违规单元的根本原因属于集群类别时,在相邻单元被从违规单元移开之前和之后的单元布局布置的示意图。在图4a中,违规单元101与两个相邻单元192和194相邻。在一些实施例中,在布局图中识别出违规单元101之后,确定一个或多个相邻单元中的峰值电流i
peak
。在图4a中,两个相邻单元192和194中的峰值电流i
peak
相应地等于150ua和260ua。在一些实施例中,单元的峰值电流i
peak
被测量为从用于较高电源电压vdd的电源轨流入到单元的电流idd。在一些实施例中,单元的峰值电流i
peak
被测量为从给定单元流入到用于较低电源电压vss的电源轨中的电流iss。在一些实施例中,单元的峰值电流i
peak
是电流idd和电流iss的平均值。
37.在一些实施例中,在确定相邻单元中的峰值电流i
peak
之后,选择所有相邻单元中具有最高峰值电流的相邻单元,并且将选定相邻单元从违规单元移动到安全区。移动具有最高峰值电流的相邻单元在解决与违规单元相关联的dir/sir问题中更有效,因为峰值电流越大,在违规单元中产生的ir压降越大。在图4a中,具有峰值电流260ua的相邻单元194从违规单元101移开。相邻单元194被移动到图4a或图4b中未示出的安全区。在具有峰值电流260ua的相邻单元194被从违规单元101移开之后,如图4b中所示,仅一个相邻单元192仍与违规单元101相邻。
38.在一些实施例中,当违规单元附近的所有相邻单元都是数据单元时,选择具有最高峰值电流的相邻单元使其从违规单元移开。在一些实施例中,然而,当违规单元附近的相邻单元包括数据单元和时钟单元两者时,对要移动的相邻单元的选择取决于由于时钟单元的位置改变而引起的时间影响。如果移动时钟单元的时间影响不受限制,则选择具有最高峰值电流的相邻单元使其远离违规单元,而不管具有最高峰值电流的相邻单元是数据单元还是时钟单元。另一方面,如果移动时钟单元的时间影响受到限制,则不允许移动时钟单元,并且选择数据单元之一以将其移开;在该限制下,选择所有相邻数据单元中具有最高峰值电流的相邻数据单元以进行移动,即使一个或多个时钟单元的峰值电流比被选择用于移动的数据单元的峰值电流更大。
39.在一些实施例中,在将选定相邻单元移动到安全区之前,由eda程序通过在违规单元周围的搜索区域中搜寻安全区来找出安全区。在移动之前,eda程序确保移动到安全区的选定相邻单元不会遭受dir/sir问题,并且不会移动到与所选相邻单元的先前功率域不同的功率域。例如,被放置在安全区的选定相邻单元不与任何i
peak
单元相邻,并且被放置在安全区的选定相邻单元的电阻品质因数(例如有效电阻r
eff
)不指示设计违规。
40.在一些实施例中,当在违规单元周围的搜寻区域中的搜寻安全区不返回任何有效安全区以移动违规单元的选定相邻单元时,eda程序将选定相邻单元放置在阻进区域中,从而减少选定相邻单元的泄漏电流对dir/sir问题的促成作用。图5a至图5b是根据一些实施例的当导致违规单元的根本原因属于集群类别时,在将相邻单元移动到阻进区域中之前和之后的单元布局布置的示意图。
41.图5a中的各种单元的布局布置与图4a中的相同。在图4a和图5a两者中,违规单元101与相邻单元192和194相邻。相邻单元192和194中的每一个都是i
peak
单元,并且相邻单元192和194中的峰值电流i
peak
相应地等于150ua和260ua。与图5a中的布局布置相比,图5b中的违规单元101和相邻单元192的位置未改变。然而,图5b中的相邻单元194被移动到阻进区域510中。因为相邻单元194在与违规单元101相邻的相邻单元中具有最高峰值电流,所以选择相邻单元194以移动到阻进区域510中。
42.在一些实施例中,当eda程序确定违规单元的根本原因类别是受扰类别时,eda程序自动选择违规单元或相邻单元作为选定单元以进行移动。在一些实施例中,在选择相邻单元以进行移动之后,由eda程序将也作为i
peak
单元的相邻单元移动到安全区或移动到阻进区域中,从而校正由i
peak
单元引起的dir/sir问题。在一些实施例中,在选择违规单元以进行移动之后,由eda程序将违规单元移动到安全区,从而校正由i
peak
单元导致的dir/sir问题。
43.图6a至图6b是根据一些实施例的当导致违规单元的根本原因属于受扰类别时,在相邻单元被从违规单元移开之前和之后的单元布局布置的示意图。图6a中的布局布置包括违规单元101和相邻单元192。相邻单元192的峰值电流i
peak
等于150μa。在一些实施例中,单元的峰值电流i
peak
被测量为从用于较高电源电压vdd的电源轨流入到单元的电流idd。在一些实施例中,单元的峰值电流i
peak
被测量为从给定单元流入到用于较低电源电压vss的电源轨的电流iss。在一些实施例中,单元的峰值电流i
peak
是电流idd和电流iss的平均值。当相邻单元192的峰值电流i
peak
大于临界电流值i
spec
时,相邻单元192被表征为i
peak
单元。由i
peak
单元导致的dir/sir问题在相邻单元192被从违规单元101移开之后被消除。图6b描绘了相邻单元192被移开之后的布局布置。在图6b中,在违规单元101附近没有相邻单元。
44.在一些实施例中,在违规单元101周围的搜寻区域中成功找到安全区之后移动相邻单元192。在一些实施例中,相邻单元192是数据单元,并且允许相邻单元192被eda程序移动到安全区。数据单元的示例包括逻辑门单元,例如缓冲器单元、反相器单元、nand门单元、nor门单元、aoi门单元和各种触发器单元。在一些实施例中,相邻单元192是时钟单元。时钟单元的示例包括在许多同步电路中使用的时钟选通单元,用于通过在电路不使用时去除时钟信号来减少动态功耗。如果移动作为时钟单元的相邻单元192的时间影响在可接受的范围内,则由eda程序将相邻单元192移动到安全区。在一些实施例中,如果eda程序未在违规单元101周围的搜寻区域中找到安全区,则将相邻单元192移动到阻进区域中。在一些实施例中,即使在搜寻区域中成功找到安全区,如果移动作为时钟单元的相邻单元192的时间影响超出可接受范围,则相邻单元192仍被移动到阻进区域中。
45.图7a是根据一些实施例的当导致违规单元的根本原因属于受扰类别时,在相邻单元192被移动到阻进区域中之前的单元布局布置的示意图。图6a和图7a中所描绘的布局布置相同,这些布局布置中的每一者都包括违规单元101和相邻单元192。图7b是根据一些实
施例的当导致违规单元的根本原因属于受扰类别时,在相邻单元192被移动到阻进区域中之前和之后的单元布局布置的示意图。在图7b中,相邻单元192被移动到阻进区域510中。相邻单元192的移动消除了由i
peak
单元导致的dir/sir问题。
46.图8a至图8b是根据一些实施例的当导致违规单元的根本原因属于受扰类别时,违规单元101被移开并且相邻单元192被移动到阻进区域中之前和之后的单元布局布置的示意图。图8a所示的布局布置与图6a或图7a所示的布局布置相同。图6a、图7a和图8a中的布局布置中的每一者都包括违规单元101和相邻单元192。在图8b中,仅描绘了阻进区域510内的相邻单元192,因为违规单元101被移开到安全区(未在图8b中示出)。在违规单元101被放置在安全区之后,相邻单元192不再在违规单元101中诱发dir/sir问题。在相邻单元192被放置在阻进区域510内之后,还防止了由作为i
peak
单元的相邻单元192诱发的其他单元中的潜在dir/sir问题。
47.图9是根据一些实施例的设计集成电路的布局图的方法900的流程图。图9中描绘的方法900的操作的顺序仅用于说明;方法900的操作能够以不同于图9所描绘的顺序执行。应了解,可以在图9中所描绘的方法900之前、期间和/或之后执行其他操作,并且本文中仅简要描述其他过程。
48.在方法900的操作910中,在布局图中识别出违规单元,因为违规单元未通过与ir压降相关的一个或多个设计规则。在方法900的操作920中,利用相应的根本原因类别来对导致违规单元的一个或多个根本原因中的每一个进行分类。在图1的示例实施例中,以电阻率类别、集群类别、自诱导类别和干扰类别的顺序依次测试导致违规单元的根本原因。在一些替代实施例中,用于测试根本原因类别的顺序不同于图1中的顺序。例如,在一些实施例中,在用于确定导致违规单元的根本原因是否是受扰类别的测试之后,执行用于确定导致违规单元的根本原因是否是集群类别的测试。
49.在其他一些实施例中,在操作910中,除了图1中的四个根本原因类别(即,电阻率类别、集群类别、自诱导类别和受扰类别)之外,针对一个或多个其他根本原因类别来测试导致违规单元的根本原因。例如,在一些实施例中,除了图1中的四个根本原因类别之外,还针对扇出类别(fan-out class)测试导致违规单元的根本原因。对应于扇出类别的dir/sir问题的一个可能的根本原因是由于将驱动器件的输出连接到许多接收器件(例如十六个接收器件)的输入的导线上的电流。在一些实施例中,eda程序通过在驱动器件的输出与许多接收器件的输入之间添加缓冲器驱动器来消除dir/sir问题。在上述包括十六个接收器件的示例中,在布局图被eda程序修改之后,在一个实现方式中,驱动器件的输出连接到四个缓冲器驱动器的输入,而四个缓冲器驱动器中的每一个的输出连接到四个接收器件的输入。在一些实施例中,为了消除扇出类别的dir/sir问题,在驱动器和n个接收机之间放置m个缓冲器,其中m和n是整数。在方法900中,在操作920之后,处理流程进行到操作930。
50.在方法900的操作930中,确定搜寻区域以搜寻安全区候选项。在图2所示的示例实施例中,由eda程序确定违规单元101周围的搜寻区域200。在图3所示的示例实施例中,由eda程序确定被划分为十六个分析区的搜寻区域200。在操作930之后,处理流程进行到操作940。
51.在方法900的操作940中,eda程序确定在搜寻区域内是否可以找到安全区以消除选定根本原因。如果在搜寻区域内不能找到安全区,则处理流程进行到操作960。如果在搜
寻区域内找到安全区,则处理流程进行到操作952。
52.在方法900的操作952中,由eda程序基于选定根本原因的类别来确定选定单元以移动到安全区。在方法900的操作954,将选定单元移动到安全区。在如图4a至图4b所示的示例实施例中,当导致违规单元的根本原因属于集群类别时,要移动到安全区的选定单元是相邻单元194。在如图6a至图6b所示的示例实施例中,当导致违规单元的根本原因属于受扰类别时,要移动到安全区的选定单元是相邻单元192。在如图8a至图8b所示的示例实施例中,当导致违规单元的根本原因属于受扰类别时,要移动到安全区的选定单元是违规单元101。在操作952之后,处理流程进行到操作960。
53.在操作952之后,当选定单元被移动到安全区时,处理流程进行到操作960,或者在操作930之后,当未在搜索区域内找到安全区时,处理流程进行到操作960。在方法900的操作960中,选择相邻单元以移动到阻进区域中。在如图5a至图5b所示的示例实施例中,当导致违规单元的根本原因属于集群类别时,用于移动到阻进区域中的所选相邻单元是相邻单元194。在如图7a至图7b和图8a至图8b所示的示例实施例中,当导致违规单元的根本原因属于受扰类别时,用于移动到阻进区域中的所选相邻单元是相邻单元192。
54.图10是根据一些实施例的电子设计自动化(eda)系统1000的框图。
55.在一些实施例中,eda系统1000包括apr系统。根据一个或多个实施例,本文描述的设计表示导线布线布置的布局图的方法可以例如使用根据一些实施例的eda系统1000来实现。
56.在一些实施例中,eda系统1000是通用计算设备,包括硬件处理器1002和非暂态计算机可读存储介质1004。存储介质1004还编码有(即存储)计算机程序代码1006,即一组可执行指令。由硬件处理器1002执行指令1006(至少部分地)表示实施本文描述的根据一个或多个实施例的方法(在下文中,所述过程和/或方法)的一部分或全部的eda工具。
57.处理器1002通过总线1008电耦合至计算机可读存储介质1004。处理器1002还通过总线1008电耦合至i/o接口1010。网络接口1012也通过总线1008电连接到处理器1002。网络接口1012连接到网络1014,以便处理器1002和计算机可读存储介质1004能够通过网络1014连接到外部元件。处理器1002被配置为执行编码在计算机可读存储介质1004中的计算机程序代码1006,以使系统1000可用于执行所述过程和/或方法的一部分或全部。在一个或多个实施例中,处理器1002是中央处理单元(cpu)、多处理器、分布式处理系统、专用集成电路(asic)、和/或合适的处理单元。
58.在一个或多个实施例中,计算机可读存储介质1004是电、磁、光、电磁、红外、和/或半导体系统(或装置或设备)。例如,计算机可读存储介质1004包括半导体或固态存储器、磁带、可移动计算机磁盘、随机存取存储器(ram)、只读存储器(rom)、刚性磁盘、和/或光盘。在使用光盘的一个或多个实施例中,计算机可读存储介质1004包括光盘只读存储器(cd-rom)、读/写光盘(cd-r/w)、和/或数字视频光盘(dmd)。
59.在一个或多个实施例中,存储介质1004存储计算机程序代码1006,该计算机程序代码1006被配置为使系统1000(其中这种执行(至少部分地)代表eda工具)可用于执行所述过程和/或方法的一部分或全部。在一个或多个实施例中,存储介质1004还存储有助于执行所述过程和/或方法的一部分或全部的信息。在一个或多个实施例中,存储介质1004存储标准单元(包括本文所公开的这种标准单元)的库1007。在一个或多个实施例中,存储介质
1004存储与本文公开的一个或多个布局相对应的一个或多个布局图1009。
60.eda系统1000包括i/o接口1010。i/o接口1010耦合到外部电路。在一个或多个实施例中,i/o接口1010包括用于将信息和命令传送到处理器1002的键盘、小键盘、鼠标、轨迹球、触控板、触摸屏、和/或光标方向键。
61.eda系统1000还包括耦合到处理器1002的网络接口1012。网络接口1012允许系统1000与网络1014进行通信,一个或多个其他计算机系统连接到网络1014。网络接口1012包括:无线网络接口,例如,蓝牙、wifi、wimax、gprs或wcdma;或有线网络接口,例如,以太网、usb或ieee-1364。在一个或多个实施例中,在两个或更多个系统1000中实施所述过程和/或方法的一部分或全部。
62.系统1000被配置为通过i/o接口1010接收信息。通过i/o接口1010接收的信息包括指令、数据、设计规则、标准单元库、和/或用于由处理器1002处理的其他参数中的一个或多个。信息经由总线1008传输到处理器1002。eda系统1000被配置为通过i/o接口1010接收与ui相关的信息。该信息作为用户界面(ui)1042存储在计算机可读介质1004中。
63.在一些实施例中,所述过程和/或方法的一部分或全部被实现为用于由处理器执行的独立软件应用。在一些实施例中,所述过程和/或方法的一部分或全部被实现为作为附加软件应用的一部分的软件应用。在一些实施例中,所述过程和/或方法的一部分或全部被实现为软件应用的插件。在一些实施例中,所述过程和/或方法中的至少一个被实现为作为eda工具的一部分的软件应用。在一些实施例中,所述过程和/或方法的一部分或全部被实现为eda系统1000所使用的软件应用。在一些实施例中,使用诸如可从铿腾电子科技有限公司(cadence design systems,inc.)获得的之类的工具、或另一合适的布局生成工具来生成包括标准单元的布局图。
64.在一些实施例中,这些过程被实现为存储在非暂态计算机可读记录介质中的程序的功能。非暂态计算机可读记录介质的示例包括但不限于外部/可移动和/或内部/内置存储装置或存储器单元,例如,光盘(例如,dmd)、磁盘(例如,硬盘)、半导体存储器(例如,rom、ram)、存储卡等中的一项或多项。
65.图11是根据一些实施例的集成电路(ic)制造系统1100的框图及与其相关联的ic制造流程。在一些实施例中,基于布局图,使用制造系统1100来制造下列项中的至少一项:(a)一个或多个半导体掩模、或(b)半导体集成电路的层中的至少一个组件。
66.在图11中,ic制造系统1100包括在与制造ic器件1160有关的设计、开发、以及制造周期和/或服务中彼此交互的实体,例如,设计室1120、掩模室1130和ic制造商/制造者(“fab”)1150。系统1100中的实体通过通信网络连接。在一些实施例中,通信网络是单个网络。在一些实施例中,通信网络是各种不同的网络,例如,内部网和互联网。通信网络包括有线和/或无线通信信道。每个实体与一个或多个其他实体进行交互,并向一个或多个其他实体提供服务和/或从一个或多个其他实体接收服务。在一些实施例中,设计室1120、掩模室1130和ic制造商/制造者1150中的两个或更多个由单个较大公司拥有。在一些实施例中,设计室1120、掩模室1130和ic制造商/制造者1150中的两个或更多个在公共设施中共存并使用公共资源。
67.设计室(或设计团队)1120生成ic设计布局图1122。ic设计布局图1122包括为ic器件1160设计的各种几何图案。几何图案对应于组成要制造的ic器件1160的各种组件的金
属、氧化物、或半导体层的图案。各个层进行组合以形成各种ic特征。例如,ic设计布局图1122的一部分包括在半导体衬底(例如,硅晶圆)中形成的各种ic特征(例如,有源区域、栅极电极、源极和漏极、层间互连的金属线或过孔、以及焊盘的开口)、以及设置在半导体衬底上的各种材料层。设计室1120实施适当的设计过程以形成ic设计布局图1122。设计过程包括逻辑设计、物理设计、或布局和布线中的一个或多个。ic设计布局图1122呈现在具有几何图案信息的一个或多个数据文件中。例如,ic设计布局图1122可以以gdsii文件格式或dfii文件格式表达。
68.掩模室1130包括数据准备1132和掩模制造1144。掩模室1130使用ic设计布局图1122来制造一个或多个掩模1145,其被用来根据ic设计布局图1122制造ic器件1160的各个层。掩模室1130执行掩模数据准备1132,其中,ic设计布局图1122被转换成代表性数据文件(“rdf”)。掩模数据准备1132将rdf提供给掩模制造1144。掩模制造1144包括掩模写入器。掩模写入器将rdf转换为衬底上的图像,例如,掩模(调制盘)1145或半导体晶圆1153。掩模数据准备1132处理设计布局图1122,以符合掩模写入器的特定特性和/或ic制造商/制造者1150的要求。在图11中,掩模数据准备1132和掩模制造1144被示为单独的要素。在一些实施例中,掩模数据准备1132和掩模制造1144可以被统称为掩模数据准备。
69.在一些实施例中,掩模数据准备1132包括光学接近校正(opc),其使用光刻增强技术来补偿图像误差,例如,可能由衍射、干涉、其他工艺影响等引起的图像误差。opc调整ic设计布局图1122。在一些实施例中,掩模数据准备1132包括进一步的分辨率增强技术(ret),例如,离轴照明、子分辨率辅助特征、相移掩模、其他合适的技术等、或其组合。在一些实施例中,还使用反光刻技术(ilt),其将opc视为反成像问题。
70.在一些实施例中,掩模数据准备1132包括掩模规则检查器(mrc),其利用一组掩模创建规则来检查已经在opc中进行过处理的ic设计布局图1122,该组掩模创建规则包含某些几何和/或连接性限制以确保足够的余量,以解决半导体制造工艺中的可变性等。在一些实施例中,mrc修改ic设计布局图1122以补偿掩模制造1144期间的限制,这可以撤消由opc执行的部分修改以满足掩模创建规则。
71.在一些实施例中,掩模数据准备1132包括光刻工艺检查(lpc),其模拟将由ic制造商/制造者1150实施以制造ic器件1160的工艺。lpc基于ic设计布局图1122来模拟该工艺以创建模拟制造器件,例如,ic器件1160。lpc模拟中的工艺参数可以包括与ic制造周期的各个工艺相关联的参数、与用于制造ic的工具相关联的参数、和/或制造工艺的其他方面。lpc考虑了各种因素,例如,航空图像对比度、焦深(dof)、掩模误差增强因素(meef)、其他合适的因素等、或其组合。在一些实施例中,在通过lpc创建了模拟制造器件之后,如果模拟器件在形状上不够接近以满足设计规则,则重复opc和/或mrc以进一步完善ic设计布局图1122。
72.应当理解,为了清楚起见,掩模数据准备1132的以上描述已被简化。在一些实施例中,数据准备1132包括诸如逻辑操作(lop)之类的附加特征,以根据制造规则来修改ic设计布局图1122。此外,可以以各种不同的顺序执行在数据准备1132期间应用于ic设计布局图1122的处理。
73.在掩模数据准备1132之后并且在掩模制造1144期间,基于经修改的ic设计布局图1122来制造掩模1145或一组掩模1145。在一些实施例中,掩模制造1144包括基于ic设计布局图1122来执行一个或多个光刻曝光。在一些实施例中,基于经修改的ic设计布局图1122,
使用电子束(e-beam)或多个电子束的机制来在掩模(光掩模或调制盘)1145上形成图案。以各种技术形成掩模1145。在一些实施例中,掩模1145可以是使用二进制技术形成的。在一些实施例中,掩模图案包括不透明区域和透明区域。用于曝光已经涂覆在晶圆上的图像敏感材料层(例如,光致抗蚀剂)的辐射束(例如,紫外线(uv)束)被不透明区域阻挡并透射通过透明区域。在一个示例中,掩模1145的二元掩模版本包括透明衬底(例如,熔融石英)以及涂覆在二元掩模的不透明区域中的不透明材料(例如,铬)。在另一示例中,使用相移技术形成掩模1145。在掩模1145的相移掩模(psm)版本中,在相移掩模上形成的图案中的各个特征被配置为具有适当的相差以增强分辨率和成像质量。在各个示例中,相移掩模可以是衰减psm或交替psm。由掩模制造1144生成的(一个或多个)掩模被用于各个工艺中。例如,这样的(一个或多个)掩模被用于离子注入工艺以在半导体晶圆1153中形成各种掺杂区域、被用于蚀刻工艺以在半导体晶圆1153中形成各种蚀刻区域、和/或被用于其他合适的工艺。
74.ic制造商/制造者1150是ic制造企业,其包括一个或多个用于制造各种不同的ic产品的制造设施。在一些实施例中,ic制造商/制造者1150是半导体铸造厂。例如,可能存在用于多个ic产品的前端制造(生产线前端(feol)制造)的制造设施,而第二制造设施可以提供用于互连和封装ic产品的后端制造(生产线后端(beol)制造),并且第三制造设施可以为铸造企业提供其他服务。
75.ic制造商/制造者1150包括制造工具1152,其被配置为对半导体晶圆1153执行各种制造操作,使得根据(一个或多个)掩模(例如,掩模1145)来制造ic器件1160。在各种实施例中,制造工具1152包括下列项中的一项或多项:晶圆步进机、离子注入机、光致抗蚀剂涂布机、处理室(例如,cmd室或lpcmd炉)、cmp系统、等离子体蚀刻系统、晶圆清洁系统、或能够执行如本文所讨论的一个或多个合适的制造工艺的其他制造设备。
76.ic制造商/制造者1150使用由掩模室1130制造的(一个或多个)掩模1145来制造ic器件1160。因此,ic制造商/制造者1150至少间接地使用ic设计布局图1122来制造ic器件1160。在一些实施例中,半导体晶圆1153由ic制造商/制造者1150使用(一个或多个)掩模1145来制造以形成ic器件1160。在一些实施例中,ic制造包括至少间接地基于ic设计布局图1122来执行一次或多次光刻曝光。半导体晶圆1153包括硅衬底、或在其上形成有材料层的其他合适的衬底。半导体晶圆1153还包括(在随后的制造步骤中形成的)各种掺杂区域、电介质特征、多级互连等中的一个或多个。
77.关于集成电路(ic)制造系统(例如,图11的系统1100)以及与其相关联的ic制造流程的详细信息可以在例如2016年2月9日授权的美国专利no.9,256,709、2015年10月1日公开的美国授权前公开no.20150278429、2014年2月6日公开的美国授权前公开no.20140040838、以及2007年8月21日授权的美国专利no.7,260,442中找到,它们中的每一个通过引用整体结合于此。
78.本说明书的一个方面涉及一种设计集成电路的布局图的方法。所述方法包括:将所述布局图中的单元识别为未通过与ir压降相关的一个或多个设计规则的违规单元;以及利用根本原因类别来对导致所述违规单元的根本原因进行分类。该方法还包括:确定搜寻区域,以搜寻安全区候选项;以及基于所述根本原因的根本原因类别,找出选定单元以进行移动。该方法还包括:在所述搜寻区域中找出安全区,以移动所述选定单元;以及若在所述搜寻区域内找到所述安全区,则将所述选定单元移动到所述安全区。
79.本说明书的另一方面涉及一种用于设计集成电路的布局图的系统。所述布局图存储在非暂态计算机可读介质上。该系统包括至少一个处理器和至少一个存储器,所述至少一个存储器包括用于一个或多个程序的计算机程序代码。所述至少一个存储器、所述计算机程序代码和所述至少一个处理器被配置为使所述系统执行操作。使所述系统执行以下操作:将所述布局图中的单元识别为未通过与ir压降相关的一个或多个设计规则的违规单元;以及利用根本原因类别来对导致所述违规单元的根本原因进行分类。还使所述系统执行以下操作:确定搜寻区域,以搜寻安全区候选项;以及基于所述根本原因的根本原因类别,找出选定单元以进行移动。还使所述系统执行以下操作:在所述搜寻区域中找出安全区,以移动所述选定单元;以及若在所述搜寻区域内找到所述安全区,则将所述选定单元移动到所述安全区。
80.本说明书的另一方面涉及一种设计集成电路的布局图的方法。所述方法包括:将所述布局图中的单元识别为未通过与ir压降相关的一个或多个设计规则的违规单元;以及利用相应根本原因类别来对导致所述违规单元的一个或多个根本原因中的每个根本原因进行分类。该方法还包括:确定搜寻区域,以搜寻安全区候选项;在所述搜寻区域中找出安全区,以消除选定根本原因。该方法还包括:基于所述选定根本原因的所述相应根本原因类别,找出选定单元以进行移动;以及若在所述搜寻区域内找到所述安全区,则将所述选定单元移动到所述安全区。
81.本领域普通技术人员很容易看出,一个或多个所公开的实施例实现了上述一个或多个优点。在阅读前述说明书之后,普通技术人员将能够实现如本文广泛公开的各种改变,等同物的替代和各种其他实施例。因此,这里授予的保护仅由包含在所附权利要求及其等同物中的定义来限制。
82.示例1.一种设计集成电路的布局图的方法,所述方法包括:
83.将所述布局图中的单元识别为未通过与ir压降相关的一个或多个设计规则的违规单元;
84.利用根本原因类别来对导致所述违规单元的根本原因进行分类;
85.确定搜寻区域,以搜寻安全区候选项;
86.基于所述根本原因的根本原因类别,找出选定单元以进行移动;
87.在所述搜寻区域中找出安全区,以移动所述选定单元;以及
88.若在所述搜寻区域内找到所述安全区,则将所述选定单元移动到所述安全区。
89.示例2.根据示例1所述的方法,其中,在所述搜寻区域中找出所述安全区包括:
90.将所述搜寻区域划分为多个分析区;
91.在第一分析区中搜寻所述安全区,所述第一分析区在所述多个分析区中具有最低单元密度;以及
92.若未在所述第一分析区内找到安全区,则在第二分析区中搜寻所述安全区,所述第二分析区在所述多个分析区中具有第二低的单元密度。
93.示例3.根据示例1所述的方法,其中,所述根本原因类别是电阻率类别,所述方法还包括:
94.基于电阻品质因数,在所述搜寻区域中找出所述安全区;以及
95.若在所述搜寻区域内找到所述安全区,则选择所述违规单元作为所述选定单元以
移动到所述安全区。
96.示例4.根据示例1所述的方法,其中,所述根本原因类别是集群类别,所述方法还包括:
97.若在所述搜寻区域内找到所述安全区,则选择在所有相邻单元中具有最高峰值电流的相邻单元作为所述选定单元以移动到所述安全区,并且其中,所述违规单元与所述所有相邻单元相邻。
98.示例5.根据示例1所述的方法,其中,所述根本原因类别是集群类别,所述方法还包括:
99.若在所述搜寻区域内找到所述安全区,则选择在所有相邻数据单元中具有最高峰值电流的相邻数据单元作为所述选定单元以移动到所述安全区,并且其中,所述违规单元与所述相邻数据单元以及至少一个相邻时钟单元相邻。
100.示例6.根据示例1所述的方法,其中,所述根本原因类别是集群类别,所述方法还包括:
101.若未在所述搜寻区域内发现安全区,则将在所有相邻单元中具有最高峰值电流的相邻单元移动到阻进区域中,并且其中,所述违规单元与所述所有相邻单元相邻。
102.示例7.根据示例1所述的方法,其中,所述根本原因类别是受扰类别,所述方法还包括:
103.若在所述搜寻区域内找到所述安全区,则选择影响所述违规单元的相邻数据单元作为所述选定单元以移动到所述安全区;以及
104.若未在所述搜寻区域内找到所述安全区,则将所述相邻数据单元移动到阻进区域中。
105.示例8.根据示例1所述的方法,其中,所述根本原因类别是受扰类别,所述方法还包括:
106.将影响所述违规单元的相邻时钟单元移动到阻进区域中。
107.示例9.根据示例1所述的方法,其中,所述根本原因类别是受扰类别,所述方法还包括:
108.若在所述搜寻区域内找到所述安全区,则选择所述违规单元作为所述选定单元以移动到所述安全区;以及
109.在移动所述违规单元之前,在影响所述违规单元的相邻数据单元周围添加阻进区域。
110.示例10.根据示例1所述的方法,其中,对导致所述违规单元的所述根本原因进行分类包括:
111.利用根本原因类别序列来检查导致所述违规单元的所述根本原因。
112.示例11.根据示例10所述的方法,其中,所述根本原因类别序列包括电阻率类别、集群类别、自诱导类别和受扰类别。
113.示例12.根据示例10所述的方法,其中,所述根本原因类别序列遵循包括以下项的顺序:作为第一根本原因类别的电阻率类别、作为第二根本原因类别的集群类别、作为第三根本原因类别的自诱导类别、以及作为第四根本原因类别的受扰类别。
114.示例13.根据示例1所述的方法,其中,所述搜寻区域被配置为在至少两个电压域
中具有安全区候选项。
115.示例14.一种用于设计集成电路的布局图的系统,所述布局图被存储在非暂态计算机可读介质上,所述系统包括至少一个处理器和至少一个存储器,所述至少一个存储器包括一个或多个程序的计算机程序代码,并且其中,所述至少一个存储器、所述计算机程序代码和所述至少一个处理器被配置为使所述系统执行以下操作:
116.将所述布局图中的单元识别为未通过与ir压降相关的一个或多个设计规则的违规单元;
117.利用根本原因类别来对导致所述违规单元的根本原因进行分类;
118.确定搜寻区域,以搜寻安全区候选项;
119.基于所述根本原因的根本原因类别,找出选定单元以进行移动;
120.在所述搜寻区域中找出安全区,以移动所述选定单元;以及
121.若在所述搜寻区域内找到所述安全区,则将所述选定单元移动到所述安全区。
122.示例15.根据示例14所述的系统,其中,被配置为使所述系统对导致所述违规单元的所述根本原因进行分类的所述计算机程序代码还包括:
123.被配置为使所述系统利用根本原因类别序列来检查导致所述违规单元的所述根本原因的计算机程序代码。
124.示例16.根据示例15所述的系统,其中,所述根本原因类别序列包括电阻率类别、集群类别、自诱导类别和受扰类别。
125.示例17.根据示例14的系统,其中,被配置为使所述系统找出所述安全区的所述计算机程序代码还被配置为使所述系统执行以下操作:
126.将所述搜寻区域划分为多个分析区;
127.在第一分析区中搜寻所述安全区,所述第一分析区在所述多个分析区中具有最低单元密度;以及
128.若未在所述第一分析区内找到安全区,则在第二分析区中搜寻所述安全区,所述第二分析区在所述多个分析区中具有第二低的单元密度。
129.示例18.一种设计集成电路的布局图的方法,所述方法包括:
130.将所述布局图中的单元识别为未通过与ir压降相关的一个或多个设计规则的违规单元;
131.利用相应根本原因类别来对导致所述违规单元的一个或多个根本原因中的每个根本原因进行分类;
132.确定搜寻区域,以搜寻安全区候选项;
133.在所述搜寻区域中找出安全区,以消除选定根本原因;
134.基于所述选定根本原因的所述相应根本原因类别,找出选定单元以进行移动;以及
135.若在所述搜寻区域内找到所述安全区,则将所述选定单元移动到所述安全区。
136.示例19.根据示例18所述的方法,其中,对导致所述违规单元的所述一个或多个根本原因进行分类包括:
137.利用根本原因类别序列来检查导致所述违规单元的所述一个或多个根本原因。
138.示例20.根据示例19所述的方法,其中,所述根本原因类别序列包括电阻率类别、
集群类别、自诱导类别和受扰类别。
技术特征:
1.一种设计集成电路的布局图的方法,所述方法包括:将所述布局图中的单元识别为未通过与ir压降相关的一个或多个设计规则的违规单元;利用根本原因类别来对导致所述违规单元的根本原因进行分类;确定搜寻区域,以搜寻安全区候选项;基于所述根本原因的根本原因类别,找出选定单元以进行移动;在所述搜寻区域中找出安全区,以移动所述选定单元;以及若在所述搜寻区域内找到所述安全区,则将所述选定单元移动到所述安全区。2.根据权利要求1所述的方法,其中,在所述搜寻区域中找出所述安全区包括:将所述搜寻区域划分为多个分析区;在第一分析区中搜寻所述安全区,所述第一分析区在所述多个分析区中具有最低单元密度;以及若未在所述第一分析区内找到安全区,则在第二分析区中搜寻所述安全区,所述第二分析区在所述多个分析区中具有第二低的单元密度。3.根据权利要求1所述的方法,其中,所述根本原因类别是电阻率类别,所述方法还包括:基于电阻品质因数,在所述搜寻区域中找出所述安全区;以及若在所述搜寻区域内找到所述安全区,则选择所述违规单元作为所述选定单元以移动到所述安全区。4.根据权利要求1所述的方法,其中,所述根本原因类别是集群类别,所述方法还包括:若在所述搜寻区域内找到所述安全区,则选择在所有相邻单元中具有最高峰值电流的相邻单元作为所述选定单元以移动到所述安全区,并且其中,所述违规单元与所述所有相邻单元相邻。5.根据权利要求1所述的方法,其中,所述根本原因类别是集群类别,所述方法还包括:若在所述搜寻区域内找到所述安全区,则选择在所有相邻数据单元中具有最高峰值电流的相邻数据单元作为所述选定单元以移动到所述安全区,并且其中,所述违规单元与所述相邻数据单元以及至少一个相邻时钟单元相邻。6.根据权利要求1所述的方法,其中,所述根本原因类别是集群类别,所述方法还包括:若未在所述搜寻区域内发现安全区,则将在所有相邻单元中具有最高峰值电流的相邻单元移动到阻进区域中,并且其中,所述违规单元与所述所有相邻单元相邻。7.根据权利要求1所述的方法,其中,所述根本原因类别是受扰类别,所述方法还包括:若在所述搜寻区域内找到所述安全区,则选择影响所述违规单元的相邻数据单元作为所述选定单元以移动到所述安全区;以及若未在所述搜寻区域内找到所述安全区,则将所述相邻数据单元移动到阻进区域中。8.根据权利要求1所述的方法,其中,所述根本原因类别是受扰类别,所述方法还包括:将影响所述违规单元的相邻时钟单元移动到阻进区域中。9.一种用于设计集成电路的布局图的系统,所述布局图被存储在非暂态计算机可读介质上,所述系统包括至少一个处理器和至少一个存储器,所述至少一个存储器包括一个或多个程序的计算机程序代码,并且其中,所述至少一个存储器、所述计算机程序代码和所述
至少一个处理器被配置为使所述系统执行以下操作:将所述布局图中的单元识别为未通过与ir压降相关的一个或多个设计规则的违规单元;利用根本原因类别来对导致所述违规单元的根本原因进行分类;确定搜寻区域,以搜寻安全区候选项;基于所述根本原因的根本原因类别,找出选定单元以进行移动;在所述搜寻区域中找出安全区,以移动所述选定单元;以及若在所述搜寻区域内找到所述安全区,则将所述选定单元移动到所述安全区。10.一种设计集成电路的布局图的方法,所述方法包括:将所述布局图中的单元识别为未通过与ir压降相关的一个或多个设计规则的违规单元;利用相应根本原因类别来对导致所述违规单元的一个或多个根本原因中的每个根本原因进行分类;确定搜寻区域,以搜寻安全区候选项;在所述搜寻区域中找出安全区,以消除选定根本原因;基于所述选定根本原因的所述相应根本原因类别,找出选定单元以进行移动;以及若在所述搜寻区域内找到所述安全区,则将所述选定单元移动到所述安全区。
技术总结
本公开涉及减少因IR压降而导致的设计违规的方法。一种方法包括:将布局图中的单元识别为未通过与IR压降相关的一个或多个设计规则的违规单元;以及利用根本原因类别来对导致违规单元的根本原因进行分类。该方法还包括确定搜寻区域以搜寻安全区候选项,并且基于根本原因的根本原因类别来找出选定单元以进行移动。该方法还包括在搜寻区域中找出安全区以移动选定单元,并且若在搜寻区域内找到安全区,则将选定单元移动到安全区。则将选定单元移动到安全区。则将选定单元移动到安全区。
技术研发人员:周发 刘金鑫 朱介甫 苏晏锋 廖家骏 吴孟轩 刘德培
受保护的技术使用者:台积电(南京)有限公司
技术研发日:2022.02.28
技术公布日:2023/7/22
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/