集成电路设计方法和与触发器集成的集成时钟门控器与流程

文档序号:12177477阅读:296来源:国知局
集成电路设计方法和与触发器集成的集成时钟门控器与流程

技术领域

本发明构思的实施例涉及产生与时钟网络(以下,“时钟功率”)的操作关联的展现降低的功耗的集成电路的设计方法。本发明构思的实施例还涉及:包括集成时钟门控单元(以下,“集成时钟门控器”或“ICG”)和具有降低的时钟功率的多个时钟汇点(例如,触发器)的集成电路,以及生成使所述集成电路的制造实现的单一标准单元设计的设计方法。



背景技术:

各种时钟信号在大多数当代的半导体装置中是重要的控制机制。随着半导体装置的复杂性已经增加,时钟信号应用、时序考虑和有关的物理布局问题的复杂性也已增加。时钟网络被理解为包括多个时钟汇点(诸如,触发器)和ICG。许多时钟门控技术常被用于控制各种时钟汇点和有关组件的运行时序(例如,同步)。例如,时钟门控的考虑经常设法降低由时钟网络的操作消耗的功率的量。在本上下文中,时钟门控器是控制与一个或多个时钟汇点有关的一个或多个时钟信号的应用或非应用(或启用/禁用)的电路或组件。

如在图1A中示出,可能在集成电路中被找到的示例性时钟网络100A包括:时钟门控器110A,通过一些反相器(例如,反相器INT1、INT2和INT3)被连接到多个触发器(FF)。时钟门控器110A被假定为接收作为输入的时钟信号(CLK)和使能信号(EN)。反相器INT1、反相器INT2和反相器INT3被用于控制时钟偏斜和/或选择性地延迟由时钟门控器110A作为输出而提供的选择性地启用的时钟信号。因此,第二反相器INT2和第三反相器INT3接收由图1A的示出示例中的第一反相器INT1提供的启用和选择性地延迟的时钟信号作为输入信号。不幸地是,时钟网络中的每一个反相器(例如,反相器INT1、INT2和INT3)消耗时钟功率的一些部分。通常必需包括多个反相器也往往会使构成的时钟网络所需的物理大小或布局空间增加。此外,包括多个反相器增加总体的时钟信号(CLK)延迟。



技术实现要素:

本发明构思的示例实施例是针对用于设计集成电路的方法,所述方法包括:确定是否将第一时钟汇点、多个反相器和第一时钟门控器替换为一个标准单元;基于确定的结果,布置标准单元来代替第一时钟汇点、所述多个反相器和第一时钟门控器,其中,标准单元包括第二时钟门控器和第二时钟汇点,而且第二时钟门控器的输出端子被直接连接到多个第二时钟汇点中的每一个第二时钟汇点的时钟端子。

本发明构思的示例实施例是针对用于设计集成电路的方法,所述方法包括:接收与集成电路设计有关的网络表;接收与网络表有关的单元库以及与网络表有关的约束;使用网络表和单元库来布置第一时钟汇点、多个反相器和第一时钟门控器;通过改变第一时钟汇点的布置位置,确定第一时钟汇点是否满足约束;基于确定的结果,布置标准单元来代替第一时钟汇点、多个反相器和第一时钟门控器,其中,标准单元包括第二时钟门控器和第二时钟汇点,而且第二时钟门控器的输出端子被直接连接到多个第二时钟汇点中的每一个第二时钟汇点的时钟端子。

本发明构思的示例实施例是针对设计定义包括时钟门控器和时钟汇点的时钟网络的标准单元的方法,所述方法包括:识别和时钟门控器关联的时序空余自由区域与和时钟汇点关联的时序空余自由区域之间的重叠的时序空余自由区域;在重叠的时序空余自由区域中布置时钟门控器和时钟汇点;在在重叠的时序空余自由区域中布置时钟门控器和时钟汇点之后,确定标准单元是否满足密度约束和时钟偏斜约束中的至少一个约束,其中,在没有中间反相器的情况下,时钟门控器被直接连接到时钟汇点。

附图说明

图1A是传统的时钟网络的框图;

图1B是由根据本发明构思的示例性实施例的标准单元定义并包括时钟门控器和时钟汇点的时钟网络的框图;

图2是由根据本发明构思的示例性实施例的标准单元定义并包括时钟门控器和时钟汇点的时钟网络的框图;

图3是描述根据本发明构思的示例性实施例的用于设计包括标准单元的集成电路的方法的流程图;

图4示出与时序空余自由区域重叠的时序空余自由区域;

图5是描述根据本发明构思的示例性实施例的用于生成标准单元的时序约束的概念图;

图6是描述根据本发明构思的示例性实施例的用于生成标准单元的收集器的密度约束的概念图;

图7是描述根据本发明构思的示例性实施例的用于生成标准单元的时钟偏斜约束的概念图;

图8示出根据本发明构思的示例性实施例的在重叠的时序空余自由区域中布置的标准单元;

图9是描述根据本发明构思的示例性实施例的用于设计包括标准单元的集成电路的方法的流程图;

图10示出根据本发明构思的示例性实施例的包括标准单元的时钟路径的示例性实施例;

图11示出根据本发明构思的示例性实施例的包括标准单元的时钟路径的示例性实施例;

图12示出根据本发明构思的示例性实施例的用于设计包括标准单元的集成电路的计算系统的框图;

图13是描述用于使用图12中示出的计算系统设计包括根据本发明构思的示例性实施例的标准单元的集成电路的方法的流程图。

具体实施方式

当代的半导体装置以及有关的集成电路的设计和制造极其复杂。为了促进这些装置和电路的实际设计,设计“单元(cell)”的集合或库被使用。库中的每一个单元实质上定义相应的集成电路、组件、元件或其部分。单元可以是本质上“标准的”或“定制的”。虽然该指定往往是解释和使用中的一个,但是标准单元可以是被重复地合并到很多不同的半导体装置和有关集成电路中的单元。

因此,在半导体装置的设计期间,可将标准单元方法理解为例如至少部分地使用特定标准数字和/或逻辑特征来设计专用集成电路(ASIC)的方法。因此,标准单元可包括晶体管的组以及相应的互连结构(诸如,布局布线)。晶体管、有关元件和互连结构的这些集合可被用于提供布尔逻辑功能(例如,与门、或门、异或门、异或非门和反相器等)或数字数据位(bit)存储功能(例如,触发器、寄存器和锁存器等)。然而,这些仅是可使用给定库的一个或多个标准单元来有效实施的数字/逻辑特征的现成的示例。

在图1B和图2中分别示出两个标准单元100B和标准单元100C。本领域技术人员将认识到,这些仅仅是现存或可在未来存在的众多的标准单元的示例。然而,因为示出的标准单元100B或标准单元100C包括与多个时钟汇点合并的时钟门控器,所以他们是定义各自的时钟网络的标准单元。因此,本领域技术人员还将认识到,由于可通过相应的标准单元定义各种时钟门控器,以及可通过相应的标准单元定义各自的一个或多个时钟汇点,所以标准单元100B和标准单元100C中的每一个标准单元可被视为“合并的标准单元”。以下,为了简单起见,假定各种合并的标准单元被视为标准单元。这里,时钟门控器可以是例如时钟门控逻辑电路或集成时钟门控(ICG)单元。时钟汇点可以是响应于时钟信号而运行的电子元件。因此,时钟汇点的现成的示例包括:触发器、寄存器、锁存器、时序逻辑电路和/或时序逻辑单元。作为结果,在本说明书的上下文中,标准单元库可包括相对较低级别的电子逻辑功能(例如,与门、或门、异或门、异或非门、一个或多个反相器、锁存器和/或缓冲器)的集合。此外,多个标准单元中的一些标准单元可以是从更多基本的标准单元得到的合并的标准单元。每个标准单元与一个或多个“约束”(诸如,例如时序约束、大小约束、功耗约束和连接性约束)有关。

图1B是与本发明构思的实施例一致的由标准单元定义的时钟网络100B的框图。时钟网络100B包括时钟门控器110B和多个时钟汇点(例如,触发器120-1至触发器120-m,其中,‘m’是大于3的自然数)。根据本发明构思的特定实施例,定义时钟网络的标准单元不包括被布置在时钟门控器110B的输出与多个时钟汇点的各自时钟信号输入之间的多个(即,多于一个)反相器。参照图1,因为反相器INT1、反相器INT2和反相器INT3分别被布置在时钟门控器110A的输出与一个或多个时钟汇点的输入之间,所以可将他们视为“中间反相器”。因此,可将本发明构思的特定实施例说成省略或缺少中间反相器。或者这样表达,在根据本发明构思的特定实施例的时钟网络中,可将时钟门控器说成:“在没有中间反相器的情况下”,“直接被连接到”多个时钟汇点。确实,可将本发明构思的特定实施例中的中间反相器的省略视为标准单元设计约束。

在图1B中,响应于被施加到时钟门控器110B的使能信号EN,时钟门控器110B控制时钟信号CLK的启用/禁用。时钟门控器110B的输出提供的结果的时钟信号将被称为“门控时钟信号”或GCLK。时钟汇点120-1至时钟汇点120-m中的每一个时钟端子直接(没有中间反相器)接收门控时钟信号GCLK。由于已从时钟网络100B的设计中省略中间反相器,所以时钟网络100B将以与中间反相器通常相关的降低的时钟功率和时钟延迟来运行。此外,当与类似于在图1A中示出的时钟网络的等效时钟网络相比时,可减小时钟网络100B的布局面积(或大小)。由于从定义时钟网络100B的标准单元省略了中间反相器,所以可减小时钟门控器110B与每个时钟汇点120-1至时钟汇点120-m之间的总体的布线长度。

图2是与本发明构思的实施例一致的可由标准单元定义的另一时钟网络100C的框图。这里,时钟网络100C包括时钟门控器110B、第一时钟汇点和第二时钟汇点(例如,主/从锁存器配置或者“寄存器”120A和“寄存器”120B)。当然,在图2中仅示出两个时钟汇点,但是本领域技术人员将认识到,在没有中间反相器的情况下,多于两个时钟汇点的时钟汇点可被直接连接到时钟门控器110B。

时钟门控器110B响应于使能信号EN而生成在时钟门控器110B的第一输出“A”处提供的第一门控时钟信号GCLK1以及在时钟门控器110B的第二输出“B”处提供的第二门控时钟信号GCLK2(例如,第一门控时钟信号GCLK1的反相信号)被设置。这里,被用于从第一门控时钟信号GCLK1生成第二门控时钟信号GCLK2的反相器117不与涉及图1A描述的多个中间反相器中的任意一个中间反相器类似。相反,反相器117是在时钟门控器110B的内部,并生成由时钟门控器110B提供的一个或多个时钟信号中的一个时钟信号(即,第二门控时钟信号GCLK2)。因此,如以下使用的术语“门控时钟信号”可单独或总体地表示由时钟门控器提供的一个或多个门控时钟信号。

第一时钟汇点120A包括第一主锁存器121和第一从锁存器123,而第二时钟汇点120B包括第二主锁存器122和第二从锁存器124。在没有中间反相器的情况下,第一门控时钟信号GCLK1被直接连接到主锁存器121和主锁存器122中的每一个主锁存器的时钟端子,而第二门控时钟信号GCLK2被直接连接到从锁存器123和从锁存器124中的每一个从锁存器的时钟端子。

在图2的示出的示例中,时钟门控器110B包括掩模电路111以及反相器117。响应于使能信号EN的(例如)逻辑电平(高/低),掩模电路111控制接收的时钟信号CLK的启用/禁用。反相器117被连接在时钟门控器110A的第一输出‘A’和第二输出‘B’之间,以分别提供第一门控时钟信号GCLK1和第二门控时钟信号GCLK2。

因此,掩模电路111的输出可被用作第一输出‘A’,以将第一门控时钟信号GCLK1直接提供给各个主锁存器121和主锁存器122的时钟输入;而反相器117的输出可被用作第二输出‘B’,以将第二门控时钟信号GCLK2直接提供给各个从锁存器123和从锁存器124的时钟输入。

在图2的示出的示例中,掩模电路(mask circuit)111包括锁存器113和与非门115。锁存器113可被用于响应于时钟信号CLK的下降沿对由使能信号EN的逻辑电平指示的数据进行锁存。与非门115可对时钟信号CLK和锁存器113的输出执行与非操作,以生成第一门控时钟信号GCLK1。然而,这仅仅是与本发明构思的实施例一致的可能被用在时钟门控器中的掩模电路的一个可能的示例。

图3是概述根据本发明构思的实施例的设计包括标准单元的集成电路的一个方法的流程图。参照图3,设计方法可被实现为计算机可读软件或软件组件(以下,“软件”),所述软件当被执行时使包括时钟网络的标准单元的改良的设计最优化成为可能。本领域技术人员将认识到,可不同地实施与本发明构思的实施例一致的使设计方法成为可能的软件的执行。例如,可由处理器(诸如,以下涉及图12描述的一个处理器(处理器220))执行软件。

出于该实施方式的描述目的,假定讨论中的时钟网络的时钟汇点是触发器。然而,这仅仅是与本发明构思的实施例一致的可被合并到标准单元中的可能的时钟汇点的一个示例。

在图3的方法中,与触发器关联的时序空余自由区域(timing slack free region)与相应的ICG单元(S110)有关地被确定。“时序空余”或“空余”是定义的条件下针对特定时序路径的实际或获得的时间与期望的时间之间的差值。例如,触发器的时序空余可包括输入空余和/或输出空余。输入空余是触发器和(例如)与触发器关联的扇入门之间的没有时序违规的最大允许布线延迟。输出空余是触发器和(例如)与触发器关联的扇出门之间的没有时序违规的最大允许布线延迟。

在时序空余的识别之后,还可识别如在图4进一步示出的与第一触发器131和第二触发器136关联的各个(例如)时序空余自由区域130和时序空余自由区域135。可将第一触发器131和第二触发器136中的每一个触发器布置或置于它的各自时序空余自由区域130和时序空余自由区域135中的任何地方。因此,可满足与他们的各自的时序空余自由区域130和时序空余自由区域135中的第一触发器131和第二触发器136的互连(例如,引脚(诸如扇入门和/或扇出门的引脚))关联的特定时序约束。还可识别第一时序空余自由区域130与第二时序空余自由区域135之间的“重叠的时序空余自由区域”。

一旦已经识别时钟汇点的时序空余自由区域(S110),以及已经进一步识别重叠的时序空余自由区域(S120),那么将由与在图3中示出的方法类似的方法来执行特定约束(例如,密度约束和时钟偏斜约束)检查。然而,以下将参照图3至图6对这些约束检查的示例进行描述。

由本发明构思的设计方法生成的标准单元(例如,在图1B或图2中示出的标准单元100B或标准单元100C)意在降低时钟网络中的时钟路径(例如,时钟树或时钟网格)的布线开销,并由此降低时钟功率。然而,为了将传统的时钟网络(例如,在图1A中示出的时钟网络100A)替换为与本发明构思一致的改良的时钟网络,必须检查和确定结果的改良的时钟网络是否满足各种约束。如本领域技术人员将理解,存在可针对标准单元存在的很多不同的约束,以及它的相应集成电路。这样的约束可包括时序约束、密度约束、诸如与收集器关联的约束和时钟偏斜约束。

因此,使用涉及图3描述的方法的第一步骤,可将时钟汇点布置在相应的时序空余自由区域,以便满足与被连接到多个时钟汇点中的每一个时钟汇点的引脚(例如,与扇入门和/或扇出门有关的引脚)关联的特定时序约束。此外,一旦时序约束已经被满足,那么专用软件可被用于确定是否满足特定密度约束。例如,与特定收集器关联的密度约束可以是布置密度约束。

如先前参考,图4概念地示出第一时序空余自由区域和第二时序空余自由区域,以及第一时序空余自由区域和第二时序空余自由区域之间的重叠的时序空余自由区域。图5是进一步示出根据本发明构思的实施例的特定时序约束在标准单元的生成中扮演的角色的稍微更加复杂的概念图。

参照图3和图5,可将第一触发器141布置在收集器140-1、收集器140-2、收集器140-4和收集器140-5中定义的第一时序空余自由区域TSFR1中,可将时钟门控器143布置在收集器140-1、收集器140-2、收集器140-4和收集器140-5中定义的第二时序空余自由区域TSFR2中,可将第二触发器145布置在收集器140-2、收集器140-3、收集器140-5和收集器140-6中定义的第三时序空余自由区域TSFR3中,可将第三触发器147布置在收集器140-1、收集器140-2、收集器140-4和收集器140-5中定义的第四时序空余自由区域TSFR4中。这里,触发器(FF)再次被用作可被包括在根据本发明构思的实施例的标准单元中的各种时钟汇点的一个示例。例如,在图5中指示的触发器141、触发器145和触发器147中的每一个触发器在特定实施例中可以是包括多个触发器的寄存器。

如先前所描述,软件(例如,专用软件工具)被用于检查针对触发器141、触发器145和触发器147的每个时序空余自由区域TSFR1、时序空余自由区域TSFR3和时序空余自由区域TSFR4,以及时钟门控器143的时序空余自由区域TSFR2(S110)。然后,软件可被用于确定重叠的时序空余自由区域150是否存在于针对触发器141、触发器145和触发器147中的每一个触发器的时序空余自由区域TSFR1、时序空余自由区域TSFR3和时序空余自由区域TSFR4与时钟门控器143的时序空余自由区域TSFR2之间(S120)。

假定重叠的时序空余自由区域150存在(S120=是),件确定满足与收集器1至收集器6中的至少一个收集器相关的一个或多个密度约束(S130),则可将合并的标准单元布置在重叠的时序空余自由区域150中。

图6仍然是进一步示出根据本发明构思的实施例的针对可被使用的收集器使用标准单元的生成的上述密度约束确定的另一概念图。参照图3、图5和图6,可将软件用于确定与收集器2 140-2关联并与重叠的时序空余自由区域150相关的密度约束是否小于或等于最大布置密度值。例如,可基于触发器141、触发器145、触发器147以及时钟门控器143的一个或多个布置面积来确定收集器2 140-2的最大布置密度值。可根据高和/或宽、收集器中的组成部件的数量等来表示特定布置密度面积。

就这一点而言,存在可被用于确定密度(诸如,与一个或多个收集器关联的密度)的许多不同的方法。可将一些密度(和相应的密度约束)表示为具体的值,而将其他密度表示为值的范围或百分比等。一些密度确定方法可基于计算。例如,假定在图5和图6中示出的示例包括收集器2 140-2和重叠的时序空余自由区域150,可将下面的等式1用于计算相应的收集器密度(DOB)。

在等式1中并参照图6,术语‘AF’表示被置于组合逻辑单元160-2的一侧上的触发器160-1的第一布置面积,组合逻辑单元160-2被置于由术语‘AC’表示的第二布置面积中。给定收集器的规定的宽(W)和高(H),可确定收集器的密度。然后可将计算出的收集器密度(DOB)与给定的密度约束(DMAX)进行比较。只要收集器密度(DOB)依然不大于密度约束(DMAX),那么就认为满足密度约束(S130=是)。

以这种方式,例如,可确定针对特定的收集器的时钟汇点(例如,触发器、寄存器和/或组合逻辑单元)的合适数量。例如,针对与图6中的第二布置面积160-3和组合逻辑单元160-2可使用相同确定方法。就这一点而言,可外部地设置一个或多个密度约束(即,最大布置密度值)。可选择地,DOB可被计算为包括在收集器中的所有元件所占的面积与收集器的面积之比,或者通过将包括在收集器中的所有元件的数量除以收集器的面积来计算DOB。

一旦软件已经确定已满足一个或多个密度约束(例如,最大布置密度值),则还可被用于确定标准单元是否满足一个或多个时钟偏斜约束(S140)。

图7是示出根据本发明构思的实施例的用于生成的标准单元的时钟偏斜约束的确定的电路图。参照图3和图7,可将软件用于确定时钟偏斜约束,以排除与包括至少一个时钟门控器和多个时钟汇点的标准单元关联的任何时钟偏斜问题(S140)。例如,可使用下面的等式2来确定时钟偏斜约束。

|DS-Dl|≤Smax (等式2)

这里,可针对与时钟根170有关的多个时钟汇点175-1至时钟汇点175-k以及时钟汇点177-1至177-n中的一个时钟汇点来计算第一距离‘DS’,然后可针对与时钟根170有关的时钟汇点175-1至时钟汇点175-k以及时钟汇点177-1至177-n中的另一时钟汇点来计算第二距离‘Dl’。然后,可计算第一距离DS与第二距离Dl之间的差(例如,差的绝对值)。然后可将计算出的差与给定的最大允许偏斜距离Smax进行比较。

例如,假定第一时钟汇点(例如,时钟汇点175-3)在时钟汇点中离时钟根170最近,而第二时钟汇点(例如,时钟汇点177-n)在时钟汇点中离时钟根170最远,则可计算相应的差,并将相应的差与给定的最大允许偏斜距离Smax进行比较。一旦已经将各种元件(时钟汇点和时钟门控器)布置和合并到标准单元中,就可进行该计算和比较。

在确定根据本发明构思的实施例生成的标准单元违反(即,未能满足)密度约束或时钟偏斜约束时,可在标准单元中将时钟网络的组成元件(例如,时钟汇点和/或时钟门控器)中的一个或多个组成元件替换和/或重新布置,以纠正违反(S150)。换言之,约束的违反将妨碍重叠的时序空余自由区域150中的组成元件的布置。

图8是延伸图5的示例的另一概念图。这里,使用图3的方法将包括ICGFF的标准单元布置在满足时间约束、密度约束和时钟偏斜约束中的至少一个约束的重叠的时序空余自由区域150中。

图10是示出根据本发明构思的实施例的可由标准单元至少部分定义的时钟路径的电路图(时钟树)。时钟路径包括多个时钟缓冲器、与针对图1B、图2、图5和图7的先前描述的电路类似的多个ICGFF电路100B,以及与在图1A中示出的时钟网络类似的至少一个常规的时钟网络100A。

一旦满足所有相关的时序约束、密度约束和时钟偏斜约束,标准单元就将包括布置在重叠的时序空余自由区域中的至少一个时钟网络100B(例如,ICGFF)。然而,如果不能满足时序约束、密度约束和时钟偏斜约束中的一个或多个,则可使用传统的时钟网络100A。

图11是示出根据本发明构思的实施例的可由标准单元至少部分定义的时钟路径的另一电路图(时钟网格)。这里,时钟路径再次包括多个时钟缓冲器、与针对图1B、图2、图5和图7先前描述的电路类似的多个ICGFF电路100B,以及与在图1A中示出的时钟网络类似的至少一个常规的时钟网络100A。如果满足相关的时序约束、密度约束和时钟偏斜约束,则标准单元将包括被布置在重叠的时序空余自由区域中的至少一个时钟网络100B(例如,ICGFF)。然而,如果不能满足时序约束、密度约束和时钟偏斜约束中的一个或多个,则可使用传统的时钟网络100A。

图12示出根据本发明构思的实施例的可被用于针对半导体装置和/或集成电路设计一个或多个标准单元的计算系统300的框图。计算系统300一般包括控制器200和第二存储装置260。

控制器200包括总线210、处理器220、存储器230、第一存储装置240和第二存储装置控制器250。处理器220、存储器230、第一存储装置240和第二存储装置控制器250通过总线210传递数据和/或指令。

处理器220可被用于执行在第一存储装置240或第二存储装置260中存储的软件。软件可执行设计集成电路所必需的操作,所述集成电路包括与上面涉及图1A、图2、图5、图7、图10和图11描述的标准单元类似的至少一个标准单元。

可将第一存储装置240实施为硬盘驱动器(HDD)或固态驱动器或固态硬盘(SSD)。第二存储装置260可以是可移动存储装置。第二存储装置260可以是光学存储介质、磁存储介质或电子存储介质。然而,上述仅仅是可能的示例。

根据本发明构思的实施例,可从第一存储装置240或第二存储装置260将软件(例如,数据、指令、代码、命令和有关的组件)加载到存储器230上。存储器230可以是随机存取存储器(RAM)、动态RAM(DRAM)或静态RAM(SRAM)。被加载到存储器230上的软件可由处理器220执行。例如,可从第一存储装置240或第二存储装置260将软件加载到处理器220的高速缓冲存储器上。

第二存储装置控制器250可在处理器220的控制下控制控制器200与第二存储装置260之间的数据的通信。例如,第二存储装置控制器250可将数据写入到第二存储装置260中或从第二存储装置260读取数据。

图13是概述使用在图12中示出的计算系统来设计包括根据本发明构思的至少一个实施例的标准单元的集成电路的方法的流程图。

参照图9、图10、图11和图12,可将被存储在第一存储装置240或第二存储装置260中的软件加载到存储器230或处理器220的高速缓冲存储器。软件可包括:网络表,用于设计集成电路;单元库,包括至少一个标准单元;时序约束、密度约束和/或时钟偏斜约束。例如,可基于寄存器传输级(RTL)生成网络表。

除了根据本发明构思的实施例的各种合并的标准单元之外,单元库还可包括例如用于与门、或门、异或门、异或非门、反相器、时钟汇点、触发器、寄存器、锁存器和缓冲器等的标准单元。软件可包括ASIC布局和布线工具。例如,ASIC布局和布线工具可使用网络表、包括合并的标准单元(例如,ICGFF)的单元库、时序约束、密度约束和时钟偏斜约束布置(或设计)集成电路(例如,标准单元)(S210)。

在图1A中示出的电路100A可由ASIC布局和布线工具进行布局(S220)。ASIC布局和布线工具可使用网络表和单元库来布置电路100A。

ASIC布局和布线工具可将包括在电路100A中的时钟汇点FF移动为更靠近时钟门控器110A。例如,ASIC布局和布线工具可使用意识门控的时钟树的寄存器聚丛(gated clock tree aware register clumping)来将包括在电路100A中的时钟汇点FF移动为更靠近时钟门控器110A(S230)。意识门控的时钟树的寄存器聚丛可以是拉动被包括在电路100A中的时钟汇点FF使其更靠近时钟门控器110A的操作。

ASIC布局和布线工具可确定替换条件。即,替换条件可以是时序约束、密度约束和时钟偏斜约束中的至少一个约束。当满足所述时序约束、密度约束和时钟偏斜约束中的至少一个约束时,ASIC布局和布线工具可在重叠的时序空余自由区域150中布置在图1B中示出的电路100B来代替在图1A中示出的电路100A(S240)。即,ASIC布局和布线工具可使用合并的标准单元来执行电路设计。

ASIC布局和布线工具可在重叠的时序空余自由区域150中布置合并的标准单元,然后执行合并的标准单元的增量式布置(S250)。增量式布置可以是精细地调整被布置在时序空余自由区域150中的合并的标准单元的大小的操作。

ASIC布局和布线工具可布置包括在图10和图11中示出的时钟路径的电路。ASIC布局和布线工具可合成在图10和图11中示出的时钟路径(例如,时钟树或时钟网格)(S260),并可在被包括在时钟路径中的电路中进行相应的布线(S270)。

由ASIC布局和布线工具生成的电路是由半导体晶圆制造设备大量生产,而且以半导体晶圆实施的电路的功能和性能被测试。在针对以半导体晶圆实施的电路的测试结束时,电路可作为电子装置的一部分而被包括。电子装置可以是个人计算机(PC)、片上系统(SoC)、处理器、中央处理器(CPU)、应用处理器、图形处理器(GPU)、数字信号处理器或移动装置,然而,不限于此。

参照图12和图13,可将被存储在第一存储装置240或第二存储装置260中的数据和/或指令(或软件组件)加载到存储器230或处理器220的高速缓冲存储器。数据和/或指令(或软件组件)可包括:寄存器传输级(RTL),用于设计集成电路;单元库,包括合并的标准单元;时序约束(310)。时序约束可以是生成网络表所必需的约束,然而,不限于此。

数据和/或指令(或软件组件)可包括ASIC布局和布线工具。

ASIC布局和布线工具可合成RTL、包括合并的标准单元的单元库和时序约束(320),并生成与合成的结果对应的网络表。ASIC布局和布线工具可使用网络表、包括合并的标准单元的单元库、时序约束、密度约束和时钟偏斜约束来布置集成电路(330和340)。

在图1A中示出的电路100A可由ASIC布局和布线工具布局(340)。ASIC布局和布线工具可使用网络表和单元库来布置电路100A(340)。ASIC布局和布线工具可使用意识门控的时钟树的寄存器聚丛来将被包括在电路100A中的时钟汇点FF移动为更靠近时钟门控器110A(350)。

当满足时序约束、密度约束和时钟偏斜约束中的至少一个约束时,ASIC布局和布线工具可在重叠的时序空余自由区域150中布置在图1B中示出的电路100B来代替在图1A中示出的电路100A(360)。ASIC布局和布线工具可在重叠的时序空余自由区域150中布置合并的标准单元,然后执行合并的标准单元的增量式布置(370)。

ASIC布局和布线工具可布置包括在图10和图11中示出的时钟路径的电路。ASIC布局和布线工具可合成在图10和图11中示出的时钟路径(例如,时钟树或时钟网格)(380),并可在包括时钟路径的电路中进行相应的布线(390)。ASIC布局和布线工具可生成(或输出)设计,在所述设计中通过步骤310至步骤390完成布局和布线(400)。

由于时钟门控器与时钟汇点之间的反相器(即,时钟反相器)被移除,所以根据本发明构思的示例性实施例的方法设计的集成电路可降低由反相器消耗的时钟功率。

由于时钟反相器被移除,而且时钟门控器和时钟汇点被合并,所以减小了时钟布线长度,并因此降低时钟功率。此外,由于从集成电路移除了时钟反相器,所以减小了由反相器引起的时钟延迟。根据本发明构思的示例性实施例的方法设计的集成电路可减小布局面积(或大小)。

虽然已经示出和描述了本总体发明构思的一些实施例,但是本领域技术人员将理解,在不脱离本总体发明构思的原则和精神的情况下,可对这些实施例做出改变,所述总体发明构思的范围是在所附权利要求和他们的等同物中定义。

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