用于单元放置的方法以及执行该方法的计算机系统与流程

文档序号:16264236发布日期:2018-12-14 21:48阅读:136来源:国知局
用于单元放置的方法以及执行该方法的计算机系统与流程

本发明的实施例总体涉及电子电路设计领域,更具体地,涉及单元置放的方法以及执行该方法的计算机系统。

背景技术

电子设计自动化(eda)工具可以用于集成电路(ic)设计流程。例如,eda工具可以用于在ic布局设计中放置标准单元(例如,实现逻辑或其他电子功能的单元)。随着技术的不断增长和对按比例ic的需求的不断增长,eda工具对于帮助设计复杂的ic布局设计变得越来越重要。



技术实现要素:

根据本发明的一个方面,提供了一种用于单元放置的方法,包括:将布局区域划分为一个或多个连续单元,其中,每个单元均包括多个放置位置;将第一多个引脚位置和第二多个引脚位置映射到所述一个或多个连续单元中的每一个,其中,所述一个或多个连续单元中的每一个中的所述多个放置位置中的每一个均包括来自所述第一多个引脚位置的引脚轨迹、来自所述第二多个引脚位置的引脚轨迹或来自所述第一多个引脚位置的引脚轨迹和来自所述第二多个引脚位置的组合;以及基于将与单元相关联的一个或多个引脚分配到来自所述第一多个引脚位置的引脚轨迹、来自所述第二多个引脚位置的引脚轨迹或来自所述第一多个引脚位置的引脚轨迹和来自所述第二多个引脚位置的组合中的至少一个引脚轨迹,将所述单元放置到所述一个或多个连续单元中,其中,从包括所述单元的多个引脚位置的单元库中检索得到所述单元。

根据本发明的又一个方面,提供了一种计算机系统,包括:存储器,配置为存储指令;以及处理器,当执行所述指令时,所述处理器被配置为实施以下的操作,包括;将布局区域划分为一个或多个连续单元,其中,每个单元均包括多个放置位置;将第一多个引脚位置和第二多个引脚位置映射到所述一个或多个连续单元中的每一个,其中,所述一个或多个连续单元中的每一个中的所述多个放置位置中的每一个均包括来自所述第一多个引脚位置的引脚轨迹、来自所述第二多个引脚位置的引脚轨迹或来自所述第一多个引脚位置的引脚轨迹和来自所述第二多个引脚位置的引脚轨迹的组合;和基于将与单元相关联的一个或多个引脚分配到来自所述第一多个引脚位置的引脚轨迹、来自所述第二多个引脚位置的引脚轨迹或来自所述第一多个引脚位置的引脚轨迹和来自所述第二多个引脚位置的引脚轨迹的组合中的至少一个引脚轨迹,将所述单元放置到所述一个或多个连续单元中,其中,从包括所述单元的多个引脚位置的单元库中检索得到所述单元。

根据本发明的另一个方面,提供了一种具有存储在其上的指令的非暂时性计算机可读介质,当计算设备执行所述指令时,所述指令使所述计算设备实施操作,所述操作包括:将布局区域划分为一个或多个连续单元,其中,每个单元均包括多个放置位置;将第一多个引脚位置和第二多个引脚位置映射到所述一个或多个连续单元中的每一个,其中,所述一个或多个连续单元中的每一个中的所述多个放置位置中的每一个均包括来自所述第一多个引脚位置的引脚轨迹、来自所述第二多个引脚位置的引脚轨迹或来自所述第一多个引脚位置的引脚轨迹和来自所述第二多个引脚位置的引脚轨迹的组合;以及基于将与单元相关联的一个或多个引脚分配到来自所述第一多个引脚位置的引脚轨迹、来自所述第二多个引脚位置的引脚轨迹或来自所述第一多个引脚位置的引脚轨迹和来自所述第二多个引脚位置的引脚轨迹的组合中的至少一个引脚轨迹,将所述单元放置到所述一个或多个连续单元中,其中,从包括所述单元的多个引脚位置的单元库中检索得到所述单元。

附图说明

当结合附图进行阅读时,从以下详细描述可最佳地理解本发明的各个方面。应该注意,根据工业中的标准实践,各个部件未按比例绘制。实际上,为了清楚的讨论,各种部件的尺寸可以被任意增大或减小。

图1是根据本发明的一些实施例的划分成多个连续放置单元的示例性布局区域的图示。

图2是根据本发明的一些实施例的示出基于不同标准单元库的标准单元的放置位置的示例性表格的图示。

图3是根据本发明的一些实施例的具有不同引脚位置定义的示例性奇数宽度标准单元的图示。

图4是根据本发明的一些实施例的具有不同引脚位置定义的示例性偶数宽度标准单元的图示。

图5是根据本发明的一些实施例的用于将标准单元放置在布局中的方法的图示。

图6是根据本发明的一些实施例的其中可以实现本发明的各种实施例的示例性计算机系统的图示。

具体实施方式

以下公开内容提供了用于实现所提供主题的不同特征的许多不同实施例或实例。下面描述了组件和布置的特定实例以简化本发明。当然,这些仅仅是实例,而不旨在限制本发明。此外,本发明可在各个实例中重复参考标号和/或字符。该重复是为了简单和清楚的目的,并且除非另有声明,其本身并不指示所讨论的各个实施例和/或配置之间的关系。

以下公开内容涉及在集成电路(ic)布局设计中优化标准单元(例如,实现逻辑或其他电子功能的单元)的放置。在一些实施例中,可以在不同的标准单元库中定义标准单元,其定义标准单元的不同引脚位置。基于不同的引脚位置,可以实现标准单元放置的灵活性,从而优化ic布局设计。

电子设计自动化(eda)工具可以用于将标准单元放置在ic布局设计中。标准单元可以是具有预先设计好的布局的逻辑模块。例如,设计的布局区域可以用于放置具有固定高度但具有取决于标准单元的功能的不同宽度的标准单元。标准单元可以按行排列,其中,可以在行之间保留布线通道以将互连件布线至标准单元。互连件可以通过与标准单元相关的端子或引脚耦合(或电连接)到输入和输出。

图1是根据本发明的一些实施例的划分成连续放置单元1020至1022的示例性布局区域100的图示。布局区域100可以是较大ic布局设计(未示出)的一部分。每个放置单元1020至1022可以包括放置位置s1至s4。可以由诸如用于布局一个或多个标准单元的eda工具来使用一个或多个放置位置s1至s4。

在一些实施例中,标准单元可以跨越一个或多个放置位置s1至s4进行放置。例如,具有低复杂度逻辑功能(例如,反相器逻辑功能)的标准单元可以占据单个放置位置,例如放置位置s1至s4中的任何一个。具有中等复杂度逻辑功能的标准单元(例如,彼此连接以实施特定功能的多个逻辑门)可以占用一个或多个放置单元1020至1022内的多个放置位置。为了便于参考,跨越奇数个放置位置(例如,跨越1、3、5或7个放置位置)来放置的标准单元在本文中被称为“奇数宽度标准单元”。跨越偶数个放置位置(例如,跨越2、4、6或8个放置位置)来放置的标准单元在本文中被称为“偶数宽度标准单元”。

参照图1,根据本发明的一些实施例,可以将第一组引脚位置1040至1042(显示为虚线)和第二组引脚位置1060至1062(显示为实线)映射到每个放置单元1020至1022。为了说明的目的并且如图1所示,来自第一组引脚位置1040的引脚轨迹可以映射到放置位置s1,来自第一组引脚位置1041的引脚轨迹和来自第二组引脚位置1060的引脚轨迹可以映射到放置位置s1,来自第二组引脚位置1061的引脚轨迹可以映射到放置位置s3,并且来自第一组引脚位置1042的引脚轨迹和来自第二组引脚位置1062的引脚轨迹可以映射到放置位置s4。在一些实施例中,针对每个放置单元1020至1022重复该引脚轨迹图案。放置位置s1和s3中的每一个均具有分别映射到它们的单个引脚轨迹(例如,引脚轨迹1040和引脚轨迹1061)。这些引脚轨迹图案在本文中也被称为“单一图案s1”和“单一图案s3”。放置位置s2和s4中的每一个均具有分别映射到它们的两个引脚轨迹(例如,引脚轨迹1060/引脚轨迹1041以及引脚轨迹1042/引脚轨迹1062)。这些引脚轨迹图案在本文中也被称为“双重图案s2”和“双重图案s4”。根据一些实施例,第一组引脚位置1040至1042与第二组引脚位置1060至1062之间的节距(或间隔)可以是均匀或接近均匀的。

在一些实施例中,第一组引脚位置1040至1042可以映射到第一类型互连件(例如,金属m0互连件或金属m1互连件)或者与第一类型互连件相关联,第一类型互连件用于布线与标准单元相关联的一个或多个引脚。类似地,第二组引脚位置1060至1062可以映射到第二类型互连件(例如,金属m0互连件或金属m1互连件)或者与第二类型互连件相关联,第二类型互连件用于布线与标准单元相关联的一个或多个引脚。第一和第二类型互连件可以彼此不同并且可以具有不同的电特性。例如,第一类型互连件可以具有比第二类型互连件的电阻更低的电阻(例如,更宽的总线宽度)。

标准单元的输入和输出可以与来自第一组引脚位置104和第二组引脚位置106的一个或多个引脚轨迹对准或者沿着来自第一组引脚位置104和第二组引脚位置106的一个或多个引脚轨迹。可以在引脚位置处获得标准单元的输入和输出。根据与标准单元相关联的电特性,一个或多个输入和/或输出可能需要分别电连接到来自第一组引脚位置104和第二组引脚位置106的特定引脚轨迹。例如,如果要求标准单元的输入处于预定电压范围内,则相比较与其他引脚轨迹(例如,引脚轨迹104或引脚轨迹106)相关联的互连件,输入可以电连接到与具有更宽总线宽度(例如,较低的电阻路径)的互连件相关联的引脚轨迹(例如,引脚轨迹104或引脚轨迹106)。

随着技术的不断增长和对按比例ic的需求的不断增长,需要越来越多的标准单元来满足较小的ic布局设计,因此对ic制造商形成挑战。本发明的实施例尤其通过引入对于标准单元具有不同引脚位置的不同标准单元库来解决该挑战。在一些实施例中,标准单元可以具有用于其任何或全部输入和输出的多个引脚位置。不同的标准单元库可以定义标准单元的多个引脚位置。利用多个引脚位置,可以实现标准单元布局的灵活性,从而优化ic布局设计。

图2是根据本发明的一些实施例的示出基于不同标准单元库的标准单元的放置位置的示例性表格200的图示。表格200提供了图1的布局区域100的放置位置信息。本发明的实施例不限于图1的布局区域100中示出的放置位置和引脚轨迹布置的布局。其他布局和针脚轨迹布置在本发明的精神和范围内。基于其他布局和引脚轨迹布置,额外的标准单元库优化了标准单元的布局。

不同的标准单元库为标准单元提供不同的放置位置(并且因此提供不同的引脚位置)。表200的左边一列表示标准单元的起始放置位置(例如,图1的放置位置s1至s4)。表格200的第一行表示标准单元的末端放置位置。对于跨越3个放置位置的奇数宽度标准单元,如果奇数宽度标准单元在放置位置s2处具有起点,则终点将位于放置位置s4处。参照表格200,在起点放置位置s2和终点放置位置s4处,表格条目为“o:1/4(s2)”,这意味着:

“o”:奇数宽度标准单元;

“1/4”:奇数宽度标准单元可以放置在4个放置位置的四分之一中,即,1个放置位置满足单元的引脚位置要求;以及

“(s2)”:满足单元的引脚位置要求的1个放置位置是放置位置s2。

类似地,对于跨越分别在放置位置s4和s3处具有起点和终点的4个放置位置的偶数宽度标准单元,表格条目为“e:1/2(s4或s3)”,这意味着:

“e”:偶数宽度标准单元;

“1/2”:偶数宽度标准单元可以放置在4个放置位置的二分之一中,即,2个放置位置满足单元的引脚位置要求;以及

“(s4或s3)”:满足单元的引脚位置要求的2个放置位置是放置位置s4和s3。

下面参照在具有第一和第二引脚偏移的基本标准单元库中定义的奇数宽度和偶数宽度标准单元进一步详细地描述表格200。

图3是根据本发明的一些实施例的具有不同引脚位置定义的示例性奇数宽度标准单元300的图示。为了说明的目的,奇数宽度标准单元300跨越5个放置位置进行放置。奇数宽度标准单元300不限于该布局布置,并且根据单元的功能,用于奇数宽度标准单元300的放置位置的数量可以变化,例如多于或少于5个放置位置。在一些实施例中,可以在以下三个标准单元库中定义用于奇数宽度标准单元300的不同引脚位置:(i)基本标准单元库302;(ii)具有第一引脚偏移的基本标准单元库304;和(iii)具有第二引脚偏移的基本标准单元库306。

在基本标准单元库302中,奇数宽度标准单元300跨越放置单元1020中的放置位置s1至s4以及放置单元1021中的放置位置s1进行布置。通过该布局布置,奇数宽度标准单元300可以按照以下顺序跨越引脚轨迹:

(i)具有引脚轨迹1040的单图案s1(在放置单元1020中);

(ii)带有引脚轨迹1060和引脚轨迹1041的双图案s2(在放置单元1020中);

(iii)具有引脚轨迹1061的单图案s3(在放置单元1020中);

(iv)具有引脚轨迹1042和引脚轨迹1062的双图案s4(在放置单元1020中);以及

(v)具有引脚轨迹1040的单图案s1(在放置单元1021中)。

基于奇数宽度标准单元300的引脚轨迹布置,标准单元的布置可以限于图3中所示的布局布置。在一些实施例中,具有第一引脚偏移的基本标准单元库304和具有第二引脚偏移的基本标准单元库306为奇数宽度标准单元300提供额外的引脚轨迹布置,由此提供单元在布局中的放置的灵活性。

在具有第一引脚偏移的基本标准单元库304中,奇数宽度标准单元300的布局包括放置位置偏移。在一些实施例中,放置位置偏移可以是相对于在基本标准单元库302中定义的初始放置位置的一个放置位置。因此,如图3所示,奇数宽度标准单元300可以跨越放置单元1020中的放置位置s2至s4和放置单元1021中的放置位置s1至s2进行放置。利用该布局布置,奇数宽度标准单元300可以按照以下顺序跨越引脚轨迹:

(i)具有引脚轨迹1060和引脚轨迹1041的双图案s2(在放置单元1020中);

(ii)具有引脚轨迹1061的单图案s3(在放置单元1020中);

(iii)具有引脚轨迹1042和引脚轨迹1062的双图案s4(在放置单元1020中);

(iv)具有引脚轨迹1040的单图案s1(在放置单元1021中);以及

(v)具有引脚轨迹1060和引脚轨迹1041的双图案s2(在放置单元1021中)。

参照图2的表格200,在起点位于放置位置s2处并且终点位于放置位置s2处的情况下,奇数宽度标准单元300可以放置在4个放置位置的二分之一中:放置位置s2或放置位置s4。根据一些实施例,在起点位于放置位置s4处的情况下,奇数宽度标准单元300可以被“翻转”,使得单元的引脚轨迹顺序反向并且以下降的放置位置顺序放置在布局中。利用翻转的标准单元,奇数宽度标准单元300可以按照以下顺序跨越引脚轨迹:

(i)具有引脚轨迹1062和引脚轨迹1042的双图案s4(在放置单元1021中);

(ii)具有引脚轨迹1061的单图案s3(在放置单元1021中);

(iii)具有引脚轨迹1041和引脚轨迹1060的双图案s2(在放置单元1021中)。

(iv)具有引脚轨迹1040的单图案s1(在放置单元1021中);以及

(v)具有引脚轨迹1062和引脚轨迹1042的双图案s4(在放置单元1020中)。

根据一些实施例,除了由基本标准单元库302提供的1个放置位置(例如,放置位置s1)之外,具有第一引脚偏移的基本标准单元库304提供用于奇数宽度标准单元300的2个放置位置(例如,放置位置s2和s4)。因此,具有第一引脚偏移的基本标准单元库304在奇数宽度标准单元300的放置方面提供了额外的灵活性。为了便于参考,具有第一引脚偏移的基本标准单元库304在本文中也被称为“第一引脚偏移库304”。

在具有第二引脚偏移的基本标准单元库306中,奇数宽度标准单元300的布局包括另一放置位置偏移。在一些实施例中,放置位置偏移可以是相对于在基本标准单元库302中定义的初始放置位置的三个放置位置。因此,如图3所示,奇数宽度标准单元300可以跨越放置单元1020中的放置位置s4和放置单元1021中的放置位置s1至s4进行放置。利用该布局布置,奇数宽度标准单元300可以按照以下顺序跨越引脚轨迹:

(i)具有引脚轨迹1042和引脚轨迹1062的双图案s4(在放置单元1020中);

(ii)具有引脚轨迹1040的单图案s1(在放置单元1021中);

(iii)具有引脚轨迹1060和引脚轨迹1041的双图案s2(在放置单元1021中);

(iv)具有引脚轨迹1061的单图案s3(在放置单元1021中);以及(v)具有引脚轨迹1042和引脚轨迹1062的双图案s4(在放置单元1021中)。

参照图2的表格200,在起点位于放置位置s4处并且终点位于放置位置s4处的情况下,奇数宽度标准单元300可以放置在4个放置位置的二分之一中:放置位置s4或放置位置s2。根据一些实施例,在起点位于放置位置s2处的情况下,奇数宽度标准单元300可以被翻转,使得单元的引脚轨迹顺序反向并且以下降的放置位置顺序放置在布局中。利用该布局布置,奇数宽度标准单元300可以按照以下顺序跨越引脚轨迹:

(i)具有引脚轨迹1041和引脚轨迹1060的双图案s2(在放置单元1021中);

(ii)具有引脚轨迹1040的单图案s1(在放置单元1021中);

(iii)具有引脚轨迹1062和引脚轨迹1042的双图案s4(在放置单元1020中);

(iv)具有引脚轨迹1061的单图案s3(在放置单元1020中);以及

(v)具有引脚轨迹1041和引脚轨迹1060的双图案s2(在放置单元1020中)。

根据一些实施例,除了由基本标准单元库302提供的1个放置位置(例如,放置位置s1)之外,具有第二引脚偏移的基本标准单元库306提供用于奇数宽度标准单元300的2个放置位置(例如,放置位置s2和s4)。因此,具有第二引脚偏移的基本标准单元库306在奇数宽度标准单元300的放置方面提供了额外的灵活性。为了便于参考,具有第二引脚偏移的基本标准单元库306在本文中也被称为“第二引脚偏移库306”。

图4是根据本发明的一些实施例的具有不同引脚位置定义的示例性偶数宽度标准单元400的图示。为了说明的目的,偶数宽度标准单元400跨越4个放置位置进行放置。偶数宽度标准单元400不限于该布局布置,并且根据单元的功能,用于偶数宽度标准单元400的放置位置的数量可以变化,例如多于或少于4个放置位置。在一些实施例中,用于偶数宽度标准单元400的不同引脚位置可以在与上述奇数宽度标准单元300相同的以下标准单元库中定义:(i)基本标准单元库302;(ii)第一引脚偏移库304;以及(iii)第二引脚偏移库306。

在基本标准单元库302中,偶数宽度标准单元400跨越放置单元1020中的放置位置s1至s4和放置位置s1进行放置。利用该布局布置,偶数宽度标准单元400可以按照以下顺序跨越引脚轨迹:

(i)具有引脚轨迹1040的单图案s1(在放置单元1020中);

(ii)具有引脚轨迹1060和引脚轨迹1041的双图案s2(在放置单元1020中);

(iii)具有引脚轨迹1061的单图案s3(在放置单元1020中);以及

(iv)具有引脚轨迹1042和引脚轨迹1062的双图案s4(在放置单元1020中)。

基于偶数宽度标准单元400的引脚轨迹布置,标准单元的布置可以限于图4中所示的布局布置。在一些实施例中,第一引脚偏移库304和第二引脚偏移库306为偶数宽度标准单元400提供额外的引脚轨迹布置,由此提供单元在布局中的放置的灵活性。

在第一引脚偏移库304中,偶数宽度标准单元400的布局包括放置位置偏移。在一些实施例中,放置位置偏移可以是相对于在基本标准单元库302中定义的初始放置位置的一个放置位置。因此,如图4所示,偶数宽度标准单元400可以跨越放置单元1020中的放置位置s2至s4和放置单元1021中的放置位置s1进行放置。利用该布局布置,偶数宽度标准单元400可以按照以下顺序跨越引脚轨迹:

(i)具有引脚轨迹1060和引脚轨迹1041的双图案s2(在放置单元1020中);

(ii)具有引脚轨迹1061的单图案s3(在放置单元1020中);

(iii)具有引脚轨迹1042和引脚轨迹1062的双图案s4(在放置单元1020中);以及

(iv)具有引脚轨迹1040的单图案s1(在放置单元1021中)。

参照图2的表格200,在起点位于放置位置s2处并且终点位于放置位置s1处的情况下,偶数宽度标准单元400可以放置在4个放置位置的二分之一中:放置位置s2或放置位置s1。根据一些实施例,在起点位于放置位置s1处的情况下,偶数宽度标准单元400可以被翻转,使得单元的引脚轨迹顺序反向并且以上升的放置位置顺序放置在布局中。利用该布局布置,偶数宽度标准单元400可以按照以下顺序跨越引脚轨迹:

(i)具有引脚轨迹1040的单图案s1(在放置单元1021中);

(ii)具有引脚轨迹1060和引脚轨迹1041的双图案s2(在放置单元1021中);

(iii)具有引脚轨迹1061的单图案s3(在放置单元1021中);以及

(iv)具有引脚轨迹1042和引脚轨迹1062的双图案s4(在放置单元1021中)。

由于图1的布局区域100中的引脚轨迹的布置,偶数宽度标准单元400也可以被放置在放置位置s3和s4中。在起点位于放置位置s3处的情况下,偶数宽度标准单元400可以按照与放置位置s2相似的顺序跨越引脚轨迹:

(i)具有引脚轨迹1061的单图案s3(在放置单元1020中);

(ii)具有引脚轨迹1042和引脚轨迹1062的双图案s4(在放置单元1020中);

(iii)具有引脚轨迹1040的单图案s1(在放置单元1021中);以及

(iv)具有引脚轨迹1060和引脚轨迹1041的双重图案s2(在放置位置1021中)。

在起点位于放置位置s4处的情况下,偶数宽度标准单元400可以被翻转,使得单元的引脚轨迹顺序反向并且以上升的顺序放置在布局中。利用该布局布置,偶数宽度标准单元400可以按照以下顺序跨越引脚轨迹:

(i)具有引脚轨迹1042和引脚轨迹1062的双图案s4(在放置单元1020);

(ii)具有引脚轨迹1040的单图案s1(在放置单元1021中);

(iii)具有引脚轨迹1060和引脚轨迹1041的双图案s2(在放置单元1021中);以及

(iv)具有引脚轨迹1061的单图案s3(在放置单元1021中)。

与由基本标准单元库302提供的1个放置位置(例如,放置位置s1)相比,第一引脚偏移库304为偶数宽度标准单元400提供4个放置位置(例如,放置位置s1至s4)。因此,第一引脚偏移库304在偶数宽度标准单元400的布置中提供了额外的灵活性。

在第二引脚偏移库306中,偶数宽度标准单元400的布局包括另一放置位置偏移。在一些实施例中,放置位置偏移可以是相对于在基本标准单元库302中定义的初始放置位置的三个放置位置。因此,如图4所示,偶数宽度标准单元400可以跨越放置单元1020中的放置位置s4和放置单元1021中的放置位置s1至s3进行放置。利用该布局布置,偶数宽度标准单元400可以按照以下顺序跨越引脚轨迹:

(i)具有引脚轨迹1042和引脚轨迹1062的双图案s4(在放置单元1020中);

(ii)具有引脚轨迹1040的单图案s1(在放置单元1021中);

(iii)具有引脚轨迹1060和引脚轨迹1041的双图案s2(在放置单元1021中);以及

(iv)具有引脚轨迹1061的单图案s3(在放置单元1021中)。

参照图2的表格200,在起点位于放置位置s4处并且终点位于放置位置s3处的情况下,偶数宽度标准单元400可以放置在4个放置位置的二分之一中:放置位置s4或放置位置s3。根据一些实施例,在起点位于放置位置s3处的情况下,偶数宽度标准单元400可以被“翻转”,使得单元的引脚轨迹顺序反向并且以上升的放置位置顺序放置在布局中。利用该布局布置,偶数宽度标准单元400可以按照以下顺序跨越引脚轨迹:

(i)具有引脚轨迹1061的单图案s3(在放置单元1020中);

(ii)具有引脚轨迹1042和引脚轨迹1062的双图案s4(在放置单元1020中);

(iii)具有引脚轨迹1040的单图案s1(在放置单元1021中);以及

(iv)具有引脚轨迹1060和引脚轨迹1041的双图案s2(在放置单元1021中)。

由于图1的布局区域100中的引脚轨迹的布置,偶数宽度标准单元400也可以被放置在放置位置s1和s2中。在起点位于放置位置s1处的情况下,偶数宽度标准单元400可以按照与放置位置s4相似的顺序跨越引脚轨迹:

(i)具有引脚轨迹1040的单图案s1(在放置单元1020中);

(ii)具有引脚轨迹1060和引脚轨迹1041的双图案s2(在放置单元1020中);

(iii)具有引脚轨迹1061的单图案s3(在放置单元1020中);以及

(iv)具有引脚轨迹1042和引脚轨迹1062的双图案s4(在放置单元1020中)。

在起点位于放置位置s2处的情况下,偶数宽度标准单元400可以被翻转,使得单元的引脚轨迹顺序反向并且以上升的顺序放置在布局中。利用该布局布置,偶数宽度标准单元400可以按照以下顺序跨越引脚轨迹:

(i)带有引脚轨迹1060和引脚轨迹1041的双图案s2(在放置单元1020中);

(ii)具有引脚轨迹1061的单图案s3(在放置单元1020中);

(iii)带有引脚轨迹1042和引脚轨迹1062的双图案s4(在放置单元1020中);以及

(iv)具有引脚轨迹1040的单图案s1(在放置单元1021中)。

与由基本标准单元库302提供的1个放置位置(例如,放置位置s1)相比,第二引脚偏移库306为偶数宽度标准单元400提供4个放置位置(例如,放置位置s1至s4)。因此,第二引脚偏移库306在偶数宽度标准单元400的布置中提供了额外的灵活性。

鉴于以上所述,第一引脚偏移库304和第二引脚偏移库306可以在ic布局设计中放置标准单元时提供灵活性。例如,参照图1的布局区域100中所示的引脚轨迹映射,第一引脚偏移库304可以为标准单元提供2个放置选项,并且第二引脚偏移库306可以为标准单元提供4个放置选项。eda工具可以自动地或通过手动指令从基本标准单元库302、第一引脚偏移库304或第二引脚偏移库306选择标准单元,以将标准单元放置在图1的布局区域100中。利用由所公开的实施例提供的标准单元的放置灵活性,可以实现优化的ic布局设计。

本发明的实施例不限于图1的布局区域100中示出的放置位置和引脚轨迹映射的布置。其他布局和引脚轨迹布置在本发明的原理和范围内。基于其他布局和引脚轨迹布置,可以基于本文公开的实施例生成额外的标准单元库(例如,类似于第一引脚偏移库304和第二引脚偏移库306的标准单元库)以优化标准单元的放置。

图5是根据本发明的一些实施例的用于将标准单元放置在布局中的方法500的图示。方法500中描绘的操作可以由诸如在计算机系统上运行的eda工具来实施,该计算机系统例如下面参照图6描述的示例性计算机系统600。可以理解的是,并非所有的操作可以是实施本文提供的公开内容所必需的并且可以实施一个或多个附加操作。此外,一些操作可以与图5所示的同时实施或者以不同于图5所示的顺序实施。

在操作510中,可以将布局区域划分为一个或多个连续单元,其中,每个单元包括多个放置位置。例如,参照图1,布局区域100包括连续放置单元1020至1022。连续放置单元1020至1022中的每一个都包括放置位置s1至s4。

在操作520中,将第一组引脚位置和第二组引脚位置映射到一个或多个连续单元中的每一个,其中,一个或多个连续单元中的每一个中的每个放置位置均包括映射到第一组引脚位置中的引脚轨迹和/或第二组引脚位置中的引脚轨迹。例如,参照图1,布局区域100包括映射到每个放置单元1020至1022的第一组引脚位置1040至1042和第二组引脚位置1060至1062。此外,如图1所示,可以将来自第一组引脚位置1040的引脚轨迹映射到放置位置s1,可以将来自第一组引脚位置1041的引脚轨迹和来自第二组引脚位置1060的引脚轨迹映射到放置位置s2,可以将来自第二组引脚位置1061的引脚轨迹映射到放置位置s3,并且将来自第一组引脚位置1042的引脚轨迹和来自第二组引脚位置1062的引脚轨迹映射到放置位置s4。

在操作530中,将标准单元放置在一个或多个连续单元中。在一些实施例中,从包括用于标准单元的多个引脚位置的标准单元库(例如,图3的第一引脚偏移库304和/或第二引脚偏移库306)中检索单元。操作530包括基于将与标准单元相关联的一个或多个引脚分配至来自第一多个引脚位置的引脚轨迹、来自第二多个引脚位置的引脚轨迹或上述的组合中的至少一个,来从标准单元库中选择标准单元。上面参照图1至图4描述了将与标准单元相关联的引脚分配至来自不同组引脚位置的引脚轨迹的实例。

图5中描述的以上操作中的一个或多个可以用于制造平版印刷光掩模或光掩模板(在本文中也称为“掩模板”),每个光掩模板具有用于制造集成电路的预定义图案。光掩模或掩模板可以是具有允许光透过预定义图案的孔或透明片的不透明板。例如,预定义图案可以基于上面参照图1至图4描述的标准单元放置。例如,当集成电路布局设计完成时,与布局设计相关联的数据可以被翻译为工业-标准格式(例如,gdsii流格式或其他类型的数据库文件格式)。集成电路制造商(例如,半导体代工厂)可以将翻译过来的工业-标准数据转换为用于生成光掩模或掩模板的另一数据格式。

为了以顺序方式基于预定义图案制造集成电路的一个或多个层,可以将光掩模或掩模板放置在光刻步进机或扫描仪中并选择曝光。光掩模或掩模板上的图案可以被投影并缩小到晶圆(例如,半导体衬底)的表面上。通过进一步的制造工艺(例如,互连材料的沉积、一个或多个蚀刻工艺以及其他相关的制造操作),可以制造基于预定义图案(例如,上面参照图1至图5描述的标准单元放置)的集成电路的部分。

图6是根据本发明的一些实施例的其中可以实现本发明的各种实施例的示例性计算机系统600的图示。计算机系统600可以是能够实施在本文中描述的功能和操作的任何公知的计算机。例如但不限于,计算机系统600能够使用诸如eda工具将标准单元放置在ic布局设计中。例如,可以使用计算机系统600来执行方法500中的一个或多个操作,该方法500描述了用于将标准单元放置在布局中的示例性方法。

计算机系统600包括一个或多个处理器(也称为中央处理单元,或cpu),例如处理器604。处理器604连接到通信基础设施或总线606。计算机系统600还包括通过输入/输出接口602与通信基础设施或总线606进行通信的输入/输出设备603,例如监视器、键盘、显示设备等。eda工具可以通过输入/输出设备603接收指令以实施在本文中描述的功能和操作(例如,图5的方法500)。计算机系统600还包括主或主要存储器608,例如随机存取存储器(ram)。主存储器608可以包括一级或多级的高速缓冲存储器。主存储器608中存储有控制逻辑(例如,计算机软件)和/或数据。在一些实施例中,控制逻辑(例如,计算机软件)和/或数据可以包括上面参照图5的方法500描述的一个或多个操作。

计算机系统600还可以包括一个或多个辅助存储设备或存储器610。辅助存储器610可以包括诸如硬盘驱动器612和/或可移动存储设备或驱动器614。可移动存储驱动器614可以是软盘驱动器、磁带驱动器、光盘驱动器、光存储设备、磁带备份设备和/或任何其他的存储设备/驱动器。

可移动存储驱动器614可以与可移动存储单元618交互。可移动存储单元618包括其上存储有计算机软件(控制逻辑)和/或数据的计算机可用或可读存储设备。可移动存储单元618可以是软盘、磁带、光盘、dvd、光存储盘和/任何其他的计算机数据存储设备。可移动存储驱动器614以众所周知的方式从可移动存储单元618进行读取和/或向可移动存储单元618进行写入。

根据一些实施例,辅助存储器610可以包括用于允许计算机系统600存取计算机程序和/或其他指令和/或数据的其他手段、工具或其他方法。这样的手段、工具或其他方法可以包括诸如可移动存储单元622和接口620。可移除存储单元622和接口620的实例可以包括程序盒和盒接口(例如,在视频游戏设备中发现的)、可移动存储器芯片(例如,eprom或prom)和相关插座、存储条和usb端口、存储卡和相关存储卡插槽、和/或任何其他的可移动存储单元和相关接口。在一些实施例中,辅助存储器610、可移动存储单元618和/或可移动存储单元622可以包括上面参照图5的方法500描述的一个或多个操作。

计算机系统600还可以包括通信或网络接口624。通信接口624使得计算机系统600能够与远程设备、远程网络、远程实体等的任何组合进行通信和交互(单独地和共同地由参考标号628参考)。例如,通信接口624可以允许计算机系统600通过通信路径626与远程设备628进行通信,通信路径626可以是有线和/或无线的,并且通信路径626可以包括lan、wan、因特网等的任何组合。可以经由通信路径626将控制逻辑和/或数据传输到计算机系统600以及经由通信路径626从计算机系统600传输控制逻辑和/或数据。

可以以各种各样的配置和架构来实现上述实施例中的操作。因此,可以以硬件、软件或上述二者来实施上述实施例中的一些或全部操作(例如,图5的方法500)。在一些实施例中,包括有形计算机可用或可读介质的有形设备或制造品在本文中也被称为计算机程序产品或程序存储设备,在有形计算机可用或可读介质上存储有控制逻辑(软件)。有形设备或制造品包括但不限于计算机系统600、主存储器608、辅助存储器610和可移动存储单元618和622,以及体现上述任意组合的有形制造品。当由一个或多个数据处理设备(例如,计算机系统600)来执行这种控制逻辑时,使这种数据处理设备如本文所述的那样进行操作。

所公开的实施例涉及优化集成电路(ic)布局设计中的标准单元(例如,实现逻辑或其他电子功能的单元)的放置。在一些实施例中,可以在定义了标准单元的不同引脚位置的不同标准单元库中定义标准单元。基于标准单元的不同引脚位置,可以实现标准单元的放置的灵活性,从而优化ic布局设计。

本发明的实施例描述了用于单元放置的方法。该方法包括将布局区域划分为一个或多个连续单元,其中,每个单元包括多个放置位置。该方法还包括将第一多个引脚位置和第二多个引脚位置映射到一个或多个连续单元中的每一个,其中,一个或多个连续单元中的每一个中的多个放置位置中的每一个均包括来自第一多个引脚位置的引脚轨迹、来自第二多个引脚位置的引脚轨迹或上述的组合。该方法还包括基于将与单元相关联的一个或多个引脚分配到来自第一多个引脚位置的引脚轨迹、来自第二多个引脚位置的引脚轨迹或上述的组合中的至少一个引脚轨迹,将单元放置到一个或多个连续单元中,其中,从包括单元的多个引脚位置的单元库中检索单元。

在一些实施例中,所述一个或多个连续单元中的每一个均包括四个放置位置s1至s4,并且,所述划分包括以连续的方式布置所述放置位置s1、所述放置位置s2、所述放置位置s3和所述放置位置s4。

在一些实施例中,所述映射包括:将来自所述第一多个引脚位置的第一引脚轨迹映射到所述放置位置s1;将来自所述第二多个引脚位置的第二引脚轨迹和来自所述第一多个引脚位置的第三引脚轨迹映射到所述放置部位s2;将来自所述第二多个引脚位置的第四引脚轨迹映射到所述放置位置s3;以及将来自所述第一多个引脚位置的第五引脚轨迹和来自所述第二多个引脚位置的第六引脚轨迹映射到所述放置位置s4。

在一些实施例中,所述映射包括:将所述第一多个引脚位置映射到具有第一电特性的第一局部互连件,其中,所述第一局部互连件被布线为电连接到与所述单元相关联的所述一个或多个引脚中的至少一个;以及将所述第二多个引脚位置映射到具有与所述第一电特性不同的第二电特性的第二局部互连件,其中,所述第二局部互连件被布线以电连接到与所述单元相关联的所述一个或多个引脚中的至少另一个。

在一些实施例中,所述第一局部互连件和所述第二局部互连件中的每一个均包括金属m0互连件或金属m1互连件。

在一些实施例中,所述单元库包括基本单元库、具有第一引脚偏移的基本单元库和具有第二引脚偏移的基本单元库,并且,所述基本单元库、所述具有第一引脚偏移的基本单元库、以及所述具有第二引脚偏移的基本单元库中的每一个均包括所述单元。

在一些实施例中,所述具有第一引脚偏移的基本单元库包括用于所述单元的第一引脚位置,并且,所述第一引脚位置包括相对于在所述基本单元库中定义的所述单元的放置位置而偏移的放置位置。

在一些实施例中,所述具有第二引脚偏移的基本单元库包括用于所述单元的第二引脚位置,并且,所述第二引脚位置包括在所述基本单元库中定义的所述单元的放置位置偏移的另一放置位置。本发明的实施例描述了具有存储器和处理器的系统。存储器被配置为存储指令。当执行指令时,该过程被配置为包括将布局区域划分为一个或多个连续单元的操作,其中,每个单元包括多个放置位置。该操作还包括将第一多个引脚位置和第二多个引脚位置映射到一个或多个连续单元中的每一个,其中,一个或多个连续单元中的每一个中的多个放置位置中的每一个均包括来自第一多个引脚位置的引脚轨迹、来自第二多个引脚位置的引脚轨迹或上述的组合。该操作还包括基于将与单元相关联的一个或多个引脚分配到来自第一多个引脚位置的引脚轨迹、来自第二多个引脚位置的引脚轨迹或上述的组合中的至少一个引脚轨迹,将单元放置到一个或多个连续单元中,其中,从包括单元的多个引脚位置的单元库中检索单元。

在一些实施例中,所述一个或多个连续单元中的每一个均包括四个放置位置s1至s4,并且,所述划分包括以连续的方式布置所述放置位置s1、所述放置位置s2、所述放置位置s3和所述放置位置s4。

在一些实施例中,所述映射包括:将来自所述第一多个引脚位置的第一引脚轨迹映射到所述放置位置s1;将来自所述第二多个引脚位置的第二引脚轨迹和来自所述第一多个引脚位置的第三引脚轨迹映射到所述放置部位s2;将来自所述第二多个引脚位置的第四引脚轨迹映射到所述放置位置s3;以及将来自所述第一多个引脚位置的第五引脚轨迹和来自所述第二多个引脚位置的第六引脚轨迹映射到所述放置位置s4。

在一些实施例中,所述单元库包括基本单元库、具有第一引脚偏移的基本单元库和具有第二引脚偏移的基本单元库,并且,所述基本单元库、所述具有第一引脚偏移的基本单元库、以及所述具有第二引脚偏移的基本单元库中的每一个均包括所述单元。

在一些实施例中,所述具有第一引脚偏移的基本单元库包括用于所述单元的第一引脚位置,并且,所述第一引脚位置包括相对于在所述基本单元库中定义的所述单元的放置位置而偏移的放置位置。

在一些实施例中,所述具有第二引脚偏移的基本单元库包括用于所述单元的第二引脚位置,并且,所述第二引脚位置包括相对于在所述基本单元库中定义的所述单元的放置位置而偏移的另一放置位置。

本发明的实施例描述了一种具有存储在其上的指令的非暂时性计算机可读介质,当计算设备执行指令时,使计算设备实施操作。该操作包括将布局区域划分为一个或多个连续单元,其中,每个单元包括多个放置位置。该操作还包括将第一多个引脚位置和第二多个引脚位置映射到一个或多个连续单元中的每一个,其中,一个或多个连续单元中的每一个中的多个放置位置中的每一个均包括来自第一多个引脚位置的引脚轨迹、来自第二多个引脚位置的引脚轨迹或上述的组合。该操作还包括基于将与单元相关联的一个或多个引脚分配到来自第一多个引脚位置的引脚轨迹、来自第二多个引脚位置的引脚轨迹或上述的组合中的至少一个引脚轨迹,将单元放置到一个或多个连续单元中,其中,从包括单元的多个引脚位置的单元库中检索单元。

在一些实施例中,所述映射包括:将所述第一多个引脚位置映射到具有第一电特性的第一局部互连件,其中,所述第一局部互连件被布线为电连接到与所述单元相关联的所述一个或多个引脚中的至少一个;以及将所述第二多个引脚位置映射到具有与所述第一电特性不同的第二电特性的第二局部互连件,其中,所述第二局部互连件被布线以电连接到与所述单元相关联的所述一个或多个引脚中的至少另一个。

在一些实施例中,所述第一局部互连件和所述第二局部互连件中的每一个均包括金属m0互连件或金属m1互连件。

在一些实施例中,所述单元库包括基本单元库、具有第一引脚偏移的基本单元库和具有第二引脚偏移的基本单元库,并且,所述基本单元库、所述具有第一引脚偏移的基本单元库、以及所述具有第二引脚偏移的基本单元库中的每一个均包括所述单元。

在一些实施例中,所述具有第一引脚偏移的基本单元库包括用于所述单元的第一引脚位置,并且,所述第一引脚位置包括相对于在所述基本单元库中定义的所述单元的放置位置而偏移的放置位置。

在一些实施例中,所述具有第二引脚偏移的基本单元库包括用于所述单元的第二引脚位置,并且,所述第二引脚位置包括相对于在所述基本单元库中定义的所述单元的放置位置而偏移的另一放置位置。

应该认识到详细的描述部分,而不是公开内容的摘要部分,旨在用于说明权利要求。公开内容的摘要部分可以阐述发明人所设想的本发明的一个或多个但不是全部可能的实施例,因此,并不旨在以任何方式限制所附权利要求。

以上论述了若干实施例的特征,使得本领域的技术人员可以更好地理解本发明的各个方面。本领域技术人员应该理解,他们可以很容易地使用本发明作为基础来设计或更改其他用于达到与本文所介绍实施例相同的目的和/或实现相同优点的工艺和结构。本领域技术人员也应该意识到,这些等效结构并不背离本发明的精神和范围,并且在不背离本发明的精神和范围的情况下,可以进行多种变化、替换以及改变。

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