CN103443738B - 用于对路径排名以功率优化集成电路设计的方法和相应计算机程序产品 - Google Patents
用于对路径排名以功率优化集成电路设计的方法和相应计算机程序产品 Download PDFInfo
- Publication number
- CN103443738B CN103443738B CN201180069679.4A CN201180069679A CN103443738B CN 103443738 B CN103443738 B CN 103443738B CN 201180069679 A CN201180069679 A CN 201180069679A CN 103443738 B CN103443738 B CN 103443738B
- Authority
- CN
- China
- Prior art keywords
- path
- power
- design
- estimated
- ranking
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
- G06F30/398—Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/33—Design verification, e.g. functional simulation or model checking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/33—Design verification, e.g. functional simulation or model checking
- G06F30/3308—Design verification, e.g. functional simulation or model checking using simulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2119/00—Details relating to the type or aim of the analysis or the optimisation
- G06F2119/06—Power analysis or power optimisation
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
本发明涉及一种用于对路径排名以功率优化集成电路设计(10)的方法,包括识别所述集成电路设计(10)的多个路径,每个路径包括电子器件的一个或多个实例(24、26、28、34、38、46),为所识别的路径中的每个实例提供实例功率估计,基于对所述路径中的实例(24、26、28、34、38、46)的实例功率估计,为每个识别的路径提供至少一个加权功率估计;以及基于所述至少一个加权功率估计提供所述路径的排名。本发明还涉及一种相应计算机程序产品。
Description
技术领域
本发明涉及一种用于对路径排名以功率优化集成电路设计的方法和相应计算机程序产品。
背景技术
集成电路的发展,特别是对于微处理器、片上系统、数字信号处理器(DSP)以及类似的高度集成的器件的发展,导致日益复杂的设计,其中越来越多的半导体器件被排列在越来越小的表面上。这种集成器件通常被优化以满足预定的时间要求。然而,特别是在移动设备变得越来越普遍以及大型计算中心力求更加高效和能源廉价使用的情况下,期望增加集成电路设计的功率效率。由于这种电路的复杂本质,通常难以识别潜在可以被功率优化的结构。
发明内容
如所附权利要求中所描述的,本发明提供了一种用于对路径排名以功率优化集成电路设计的方法和相应计算机程序产品。
本发明的具体实施例在从属权利要求中被阐述。
参考下文中描述的实施例,本发明的这些或其它方面将会很明显并且被阐述。
附图说明
参考附图,仅仅通过举例的方式,描述了本发明的进一步细节、方面和实施例。在附图中,类似的符号被用于识别相同的或功能相似的元素。为了简便以及清晰,图示了附图中的元素,并且不一定按比例绘制所述元素。
图1示意性地示出了一种用于对路径排名以功率优化集成电路设计的方法的示例的流程图,该方法是用于功率优化集成电路设计的方法的一部分。
图2示出了寄存器传输级表示中的集成电路设计的示例的方框图,其中最大功耗路径被标记。
图3显示了图2的示例,其中不同的路径被标记。
具体实施方式
由于图示的本发明的实施例可能大部分是使用本领域技术人员所熟知的电子元件、电路和软件来实施,所以细节不会在比认为对本发明基本概念的理解以及认识有必要的程度大的任何程度上进行解释,以不混淆或偏离本发明的教导。
在本申请的情况下,集成电路设计可以表示集成电路,特别是在设计阶段期间。集成电路可以是同步电路。集成电路设计可以作为开发软件工具的数据被存储,并且没有必要被物理实施。例如,集成电路设计可以被实施为物理电路的软件或代码表示,例如,在适合类型的硬件描述语言中。这种表示可以例如作为能够运行模拟程序的装置可读的数据存储。当数据被运行程序的装置读取时,该装置执行集成电路的功能。任何数量的半导体和/或电子器件可以被包含在集成电路设计中。集成电路设计可以被映射在不同类型的表示中。具体地,集成电路设计可以被映射成门级(GL)或寄存器传输级(RTL)表示。在这种表示中,可以示出寄存器和延伸到或自寄存器或寄存器组的数据路径以及连接到寄存器的电子器件的实例。集成电路的输入或输出可以被认为是连接,由该设计表示的集成电路通过该连接可以连接到另外的电子或电气器件。集成电路设计的表示可以被适当的开发软件使用。这种软件可以是用于电路设计的时间优化的软件,或任何其它类型的半导体设计/分析软件。
寄存器可以表示门或带有存储元件的门布置,该存储元件例如但不限于触发器,特别是D型触发器。寄存器可以具有一个或多个输入,以及一个或多个输出。寄存器或寄存器组可以被布置为存储数据,特别是存储一个或多个数据位。
实例可以通常表示包括在集成电路中的任何类型的半导体器件,例如一个或多个晶体管和/或有源器件。实例可以例如表示逻辑门、缓冲器、任何类型的寄存器、采样级以及类似器件。逻辑门可以例如是AND(与)、OR(或)、NOT(非)、XOR(异或)、XNOR(异或非)、NAND(与非)、NOR(或非)门、这样的门的组合或具有类似逻辑功能的门。
集成电路设计的路径可以表示适合于在起点和终点之间进行数据传输的连接。起点可以是集成电路设计的输入或寄存器的输出,特别是触发器的输出。路径的终点可以是集成电路设计的输出或寄存器的输入,特别是触发器的输入。路径可以例如将寄存器连接到寄存器,将寄存器连接到集成电路设计的输入或输出或者将集成电路设计的输入与集成电路设计的输出连接起来。路径可以包括一个或多个实例。实例可以是多于一个路径的一部分。路径可以被认为其被连接到寄存器或集成电路设计的输入或输出的开始或终止。因此,在两个寄存器之间的路径没有必要包括其连接到的寄存器和/或路径没有必要包括寄存器。然而,将一个或多个寄存器包括在路径中是有可能的,从而导致较少数量的为集成电路设计定义的较长路径。集成电路设计的输入或寄存器输出可以通过一个或多个路径被连接到集成电路设计的一个或多个寄存器输入和/或输出。路径中的线可能分叉,使得形成不同的路径,其可以从一个起点延伸到不同的终点或通过不同的实例从一个共用起点延伸到一个共用终点。集成电路设计的路径可以被软件识别和/或提供,特别是被时间优化软件识别和/或提供。这种软件可以基于集成电路设计的RTL或GL表示和/或在集成电路设计的RTL或GL表示中提供路径。适当的时间优化软件可以例如是通常在RTL或GL表示中运作的静态时间分析软件。
可以在集成电路设计上已经执行时间优化之后,执行用于检测路径以功率优化集成电路设计的方法。应注意,在这种情况下,术语“优化”指努力改进,并且这并不一定意味着“优化的”器件被改进了或是最优的。
关键路径可以被定义为共享相同的起点和终点的一个或多个路径中具有最大延迟的一个或多个路径。因此,如果存在多个将相同的起点和相同的终点连接起来的路径,关键路径可以具有最高延迟。有可能出现多于一个的将相同的起点和相同的终点连接起来的关键路径。在时间优化和时间分析期间,关键路径通常被特别考虑。可以预期在时间优化之后,关键路径具有类似延迟,该延迟可以是根据时间优化要求所允许的最大延迟或松弛。
对于实例,可以提供功率估计。这种功率估计可以被称为实例功率估计。实例的功率估计可以基于相应实例的物理测试。实例功率估计可以指基于实例的门级功率估计。实例功率估计可以是统计估计,例如基于实例的统计功率估计。库数据可以被用于提供实例功率估计。静态功耗估计可以被提供用于实例功率估计。库数据可以为实例功率估计提供统计数据。对于给定实例的实例功率估计可以基于一个或多个这种估计。对于不同实例的实例功率估计可以基于功率估计的不同方法。
用于对路径排名或确定路径以功率优化集成电路设计的方法可以包括识别集成电路设计的多个路径,每个路径包括电子器件的一个或多个实例。因此识别的路径可以是关键路径或非关键路径。对所述多个路径的识别可以由例如时间分析软件的软件执行。集成电路设计可以被表示为RTL或GL设计。为在识别的路径中的实例提供实例功率估计可以例如由适当的软件执行。对于每个路径,可以基于路径中的实例的实例功率估计提供至少一个加权功率估计。这可以例如也由软件执行。该软件可以与提供实例功率估计的软件是相同的软件,可以通过适当的接口被连接到这样的软件或可以在这样的软件提供的数据上运作。通常,单独路径的加权功率估计P可以通过执行操作被计算,该操作可以用下面的数学公式描述:
其中i指示路径中的实例的计数,ai是被给予该示例i的加权系数,并且f(pi)对应于实例i的实例功率估计。f(pi)可能指示pi的任何函数,例如,像pi 2的pi的乘方或pi的多项式的任何形式。
该方法也可以包括基于所述至少加权功率估计提供路径的排名。提供该排名可以被执行以确定用于功率优化的候选路径和/或确定用于功率优化的路径。提供该排名也可以由上述提到的适当的软件执行。该排名对于路径所基于的加权功率估计值越高,路径可以被排名的越高。对路径提供实例功率估计或加权功率估计可以包括生成和/或计算相应估计。为了这个目的,关于实例的数据可以被访问和/或被检索和/或被处理。所述至少一个加权功率估计可以包括距离加权功率估计、逻辑距离加权功率估计和/或时间频率功率估计中的至少一个。为了进行比较,基于所述至少一个加权功率估计被排名的路径可以基于相同的加权功率估计被排名。路径可以根据多于一个加权功率估计被排名。关键路径可以通过所述至少一个加权功率估计被给予低排名。具体地,可以提供基于不同的加权功率估计的不同排名。排名可以被执行使得排排名靠前的路径被认为是用于功率优化的候选路径。
排名路径的加权功率估计的绝对和/或相对差可以被考虑。例如,如果降低排名的路径只有它们估计的稍微不同的值,它们可以被认为几乎是相等的排名。
该方法可以进一步包括优化排名路径中的至少一个以用于功率利用。包括这个,该方法可以被认为是用于集成电路设计的功率优化方法。为了功率优化对功率优化确定的路径,一个或多个采样级可以被添加到设计中的一个或多个路径。采样级可以包括连接到集成电路设计的时钟信号的驱动器和/或缓冲器。
集成电路设计的时间优化可以被执行。可以认为在识别多个路径之前执行时间优化和/或在时间优化期间识别多个路径。
该方法可以在集成电路设计的寄存器传输级表示上被执行。识别多个路径包括识别多个非关键路径。该方法可以被认为是一种静态方法,具体地是一种静态功率分析方法。然而,各实例功率估计可以被认为将实例的动态功率要求和/或动态行为考虑在内。可以考虑存储在计算机可读介质上的计算机程序产品,该计算机程序产品包括用于计算机系统执行所描述的方法的指令。
图1示出了用于功率优化集成电路设计的方法的示例的流程图,包括用于对路径进行排名以功率优化的多个阶段。在S10中,可以提供集成电路设计,例如RTL设计。基于提供的设计,在S20中,后端流程可以被执行,其中例如GL网格表被创建和/或功率域或必要的电源电压可以被分析。通常,在该方法的任何阶段期间,可以执行RTL设计到GL表示的映射。随后,在S30,RTL或GL设计的整体功率估计可以被提供。S30之后,在S40中,用于对路径排名以进行功率优化的路径分析可以被执行。S40可能包括几个子阶段。例如,在S45中,集成电路设计的多个路径可以被识别。集成电路和/或路径可以被映射在GL或RTL表示中。识别这样的路径可以包括提供关于到适当软件的路径的信息。基于在S45中识别的路径,在S50中,对于所述多个路径中的每个实例,实例功率估计可以被提供。可选地,相应信息或估计可以在先前阶段,例如在S30被提供。在这种情况下,S50可以被省略。在S50或S45之后,在S55中,基于路径中的实例的实例功率估计,可以为每个路径提供至少一个加权功率估计。可以为各路径提供不同的加权功率估计。随后,在S60中,基于所述至少一个加权功率估计对路径的排名可以被执行以为了功率优化而对路径排名。基于不同的加权功率估计可以提供多于一个排名。基于这种排名,用于功率优化的良好的候选路径可以被确定或被识别。因此,在S65中,排名靠前的路径可以被检查是否可以有效执行功率优化。基于排名和/或检查确定检查哪个路径以用于功率优化可以由软件自动执行、被设计者手动或半自动执行。如果决定为用于功率优化的候选路径的一个或多个路径要被优化,集成电路设计可以在S70中被适当修改。例如,适当的采样阶段可以被引入路径。对该设计的修改也可以被手动、自动或半自动执行。在为功率优化确定的路径被检查和/或优化之后,可以从S40或S70返回到S10,其中修改的集成电路设计被提供用于该方法的新的更迭。如果在S70中该路径没有被执行进一步的优化,优化可以被认为已完成并且该方法可以提供当前集成电路设计作为功率优化结果。
图2示出了集成电路设计的GL表示的示例。所表示的集成电路10可以包括第一寄存器12、第二寄存器14以及第三寄存器16,这些寄存器可以被认为属于第一寄存器组。可以提供第四寄存器18和第五寄存器20,这些寄存器可以属于第二寄存器组。在这个示例中,每个寄存器12、14、16、18以及20可以被实现为触发器,具体地是作为D型触发器。然而,任何适于作为寄存器的半导体元件可以被使用。应注意不同寄存器可以是不同类型的半导体器件。第一寄存器12的输出可以被连接到线22。线22可以通过第一缓冲器24和第二缓冲器26被连接到逻辑门28的第一输入,在这个示例中可以被实现为NAND门。NAND门28的输出可以被连接到第四寄存器18的输入。在所示出的示例中,第一路径因此从第一寄存器12的输出通过阶段24和26以及NAND28延伸到寄存器18的输入。
在第一阶段24和第一寄存器12的输出之间,线32可能从线22处分支。线32可以被连接到逻辑门34的第一输入。逻辑门34可以是带有三个输入的OR门。逻辑门34的输出可以通过分支35被连接到逻辑门28的第二输入。不同的分支36可以将逻辑门34的输出和逻辑门38的第一输入连接起来,这可以被实现为XNOR门。逻辑门38的输出可以被认为是被连接到第五寄存器20的输入。因此第一寄存器12被通过线22、32以及逻辑门34和28延伸的第二路径连接到第四寄存器18。通过线22、32以及逻辑门34和28延伸的第三路径可以被认为将第一寄存器18连接到第五寄存器20。
第二寄存器14可以被通过线42连接到OR门34的第二输入。相应地,可以认为从第二寄存器14的输出通过线42以及逻辑门34和28延伸到第四寄存器18的第四路径被提供。第五路径可以被预期通过门34和38将第二寄存器14连接到第五寄存器20。
在第二寄存器14的输出和逻辑门34之间,线44可以从线42处分支,线44将第二寄存器14的输出连接到另一个逻辑门46,该逻辑门可以被实现为AND门。门46的输出可以被连接到门38的第二输入。因此,通过线44以及门46和38将第二寄存器14的输出与寄存器20的输入连接起来的第六路径可以被定义。
第三寄存器16的输出可以通过线48被连接到AND门46的第二输入。因此,可以认为第七路径通过线48以及门46和38将第三寄存器16的输出连接到第五寄存器20的输入。
在第三寄存器16的输出和门46的输入之间,线52可以从线48处分支。线52可以将第三寄存器16的输出和门34的第三输入连接起来。相应地,可以预期第八路径通过线52以及门34和28将第三寄存器16的输出连接到第四寄存器18的输入。通过线52以及门34和38,第三寄存器16的输出可以被认为被连接到第五寄存器20的输入,定义第九路径。
如可以看到的,即使对于相对较小部分的电路设计,也可能存在大量不同的路径。应注意,所示出的设计只是带有多个路径的GL设计的示例并且不被认为能执行特定任务。逻辑门和缓冲器24、26、28、34、38和46可以被认为是包括在上述路径中的设计的实例。应注意每个实例通常可能是多于一个路径的部分。在这个示例中,寄存器12、14、16、18和20不被认为是这些路径的部分,但是它们可以被认为是定义了不包括路径的起点和终点。
在这个示例中,缓冲器24和26可以分别被分配1nW的实例功率估计。门28和46,也就是NAND门和AND门的实例功率估计,可以分别是1.5nW。被实现为带有三个输入的OR门的门34可以具有5nW的实例功率估计。对于门38,实例功率估计可以提供3nW的值。
通过将所有加权系数设置为1,路径的第一加权功率估计可以被提供。因此,第一加权功率估计给出了每个路径的实例功率估计的总和。
图2中用粗线标记的路径带有排名最高的加权功率估计,即该路径中的实例的实例功率估计的总和是最高的。在这种情况下,通过门34和38延伸的路径被排名靠前,即第三、第五和第九路径都有8nW的加权功率估计。这些路径也可以被认为是关键路径,因为它们包括最复杂的实例。排名第二的是通过门34和28运行的路径,第二、第四和第八路径分别都有6.5nW的加权功率估计。通过实例46和38延伸并且有4.5nW的第一加权功率估计的第六和第七路径可以被认为是第三排名路径。第一路径没有出现在靠前排名中,因为它的第一加权功率估计是最低的,即3.5nW。因此,根据这种方法,第一路径没有被识别为用于功率优化的良好的候选,但是通过门34和38延伸的关键路径可以是。利用这样的加权分析,可能很难区分有高功耗的“真正的”和“合成”创建的路径。为了容易地将不同的路径识别为功率优化的潜在有价值对象,例如像图3中示出的加粗的路径,使用不同的加权功率估计以提供不同的排名可以是有益的。
例如,距离加权估计可以被使用。距离加权估计D可以通过下面的公式决定:
其中I指示路径中的实例的总数。在这种情况下,上述的一般加权功率估计系数ai可以被认为被设置为1/I。利用该方法,消耗了高和/或过多功率的短路径可以通过接收高排名被识别。而对于在图2和图3中所示出的示例,路径的排名没有改变,可以看出长第一路径由于其包括与其它路径中两个实例相对的三个实例,更多的远离排名较高的路径。递减序列中的加权功率估计分别导致了4nW、3.25nW、2.25nW和1.17nW。因此,第一路径到较高排名路径的的加权估计的相对估计值距离大于上述第一加权功率估计情况中的距离。距离加权功率估计可以被解释为路径的每个实例的平均功率。
可以利用逻辑距离加权功率估计。在这种情况下,每个实例可以被分配预定复杂度值。路径的逻辑距离加权估计L可以被写作:
其中ci指示相应路径中的实例i的复杂度。这样的复杂度值ci可以例如是给定实例的输入端口的数量。相应地,例如缓冲器和/或逆变器可以被分配1的复杂度,而例如相加级或带有两个输入的AND/NAND门可以被认为有2的复杂度。在图2和图3中所示出的电路设计中,OR门34例如可能有3的复杂度值,因为它有三个输入接口。缓冲器24和26可以分别被分配1的复杂度,而门28、38和46可以被分配2的复杂度值。应用该长距离加权估计对于第一路径导致L=2.75nW,而通过门34和38延伸的路径有L=3.17nW。包括门34和28的路径有L=2.42nW,因此它们排名比第一路径低。该方法往往识别或排名逻辑上不复杂的高路径,但是由于时间问题被高度优化。这样的路径可以通过添加采样阶段被改进。另一方面,必然的关键路径通常包括多个高复杂度并且难以容易被优化的实例。因此,它们会被排名得相对低。可以认为提供逻辑距离加权功率估计,其中第一加权功率估计除以给定路径的复杂度值的总和而不是单独地估计每个实例。
该方法可以包括将实例的时间数据考虑在内的时间加权功率估计。实例的时间数据可以是估计并且可以以类似的方式被提供给实例功率估计。根据这种方法,加权功率估计T可以被写作:
其中si指示信号传播通过路径中的实例i所需要的时间。利用这种方法,包括带有短传播时间以及相应的高功耗实例的路径可以被排名高,指示替代通过为实例提供较长传播时间的功率优化的可能性。可以认为提供时间加权功率估计,其中第一加权功率估计除以给定路径的值si的总和而不是单独地估计每个实例。这样的时间加权功率估计可以被解释为路径的每个时间的平均功率。也可以认为时间加权功率估计是通过第一加权功率估计即路径中的实例的实例功率估计的总和除以路径的总松弛得出的。与路径有关的松弛时间可以被解释为通过路径延伸的信号的所需时间和到达时间之间的偏差并且在时间优化期间被优化。
应认识到被选择来例证发明思想的简单电路示例只示出了不同加权功率估计产生不同排名的趋势。对于更长或更复杂的电路,这些趋势将会导致显著不同的排名。
本发明可以在计算机程序或计算机程序产品中被实现。该程序用于在计算机系统上运行,至少包括用于当在可编程的装置上,例如计算机系统或启动可编程的装置以执行根据本发明的器件或系统的功能上运行时,执行根据本发明的方法的代码部分。
计算机程序是一系列指令例如特定应用程序和/或操作系统。计算机程序可能例如包括以下中的一个或多个:子程序、函数、过程、对象方法、对象实现、可执行的应用程序、小程序、小服务程序、源代码、对象代码、共享库/动态装载库和/或设计用于在计算机系统上的执行的其它指令序列。
计算机程序可以在计算机可读存储介质上被内部地存储或通过计算机可读传输介质传输到计算机系统。或者一些计算机程序可以被永久地、可移除地提供在计算机可读介质或远程地耦合于信息处理系统。计算机可读介质可能包括例如但不限定于以下的任何数量:磁存储介质包括磁盘和磁带存储介质;光学存储介质例如光盘介质(例如,CD-ROM、CD-R等等)以及数字视盘存储介质;非易失性存储器存储介质包括半导体存储单元例如FLASH存储、EEPROM、EPROM、ROM;铁磁数字存储;MRAM;易失性存储介质包括寄存器、缓冲或缓存、主存储器、等等;以及数字传输介质包括计算机网络、点对点通信设备、以及载波传输介质,仅举几例。
计算机处理通常地包括执行(运行)程序或程序的部分,现有的程序值和状态信息,以及通过操作系统用于管理处理的执行的资源。操作系统(OS)是管理计算机的资源共享以及提供给程序员用于访问这些资源的界面的软件。操作系统处理系统数据和用户输入,以及通过配置和管理任务以及内部系统资源作为系统对用户和程序员的服务响应。
计算机系统可能例如包括至少一个处理单元、相关联的存储器和大量的输入/输出(I/O)器件。当执行计算机程序时,计算机系统根据计算机程序处理信息并且通过I/O器件生产生成的输出信息。
在前面的说明中,参照本发明实施例的特定示例已经对本发明进行了描述。然而,很明显各种修改和变化可以在不脱离附属权利要求中所陈述的本发明的宽范围精神及范围的情况下被做出。
本发明所讨论的连接可以是任何类型的连接。该连接适于将信号从或传输到各节点、单元或器件,例如通过穿孔中间器件。因此,除非暗示或说明,连接例如可能是直接连接或间接连接。连接可以被说明或描述,涉及到是单一连接、多个连接、单向连接、或双向连接。然而,不同实施例可能改变连接的实现。例如,可以使用单独单向连接而不是双向连接,反之亦然。此外,多个连接可以被替换为连续地或以时间多路复用方式传输多个信号的单一连接。同样地,携带多个信号的单一连接可以被分离成各种不同的携带这些信号的子集的连接。因此,存在传输信号的许多选项。
此外,本领域所属技术人员将认识到上述描述的操作之间的界限只是说明性的。多个操作可以组合成单一的操作,单一的操作可以分布在附加操作中,并且操作可以至少在时间上部分重叠被执行。而且,替代实施例可能包括特定操作的多个实例,并且操作的顺序在各种其它实施例中会改变。
此外,本发明不限定在非程序化硬件中被实现的物理器件或单元,但也可以应用在可程序器件或单元中。这些器件或单元通过操作能够执行所需的器件功能。该执行是根据合适的程序代码,例如,主机、微型计算机、服务器、工作站、个人电脑、笔记本、个人数字助理、电子游戏、汽车和其它嵌入式系统、手机和其它无线器件,在本申请中通常表示“计算机系统”。
然而,其它修改、变化和替代也是可能的。说明书和附图相应地被认为是从说明性的而不是严格意义上来讲的。
在权利要求中,放置在括号之间的任何参考符号不得被解释为限定权利要求。词“包括”不排除其它元素或然后在权力要求中列出的那些步骤的存在。此外,本发明所用的“a”或“an”被定义为一个或多个。并且,在权利要求中所用词语如“至少一个”以及“或多个”不应该被解释以暗示通过不定冠词“a”或“an”引入的其它权利要求元素限定任何其它特定权利要求。所述特定权利要求包括这些所介绍的对发明的权利元素,所述权利元素不仅仅包括这样的元素。即使当同一权利要求中包括介绍性短语“一个或多个”或“至少一个”以及不定冠词,例如“a”或“an”。使用定冠词也是如此。除非另有说明,使用术语如“第一”以及“第二”是用于任意区分这些术语描述的元素的。因此,这些术语不一定表示时间或这些元素的其它优先次序。某些措施在相互不同的权利要求中被列举的事实并不表示这些措施的组合不能被用于获取优势。
Claims (20)
1.一种用于对路径排名以功率优化集成电路设计(10)的方法,包括:
识别所述集成电路设计(10)的多个路径,每个路径包括电子器件的一个或多个实例(24、26、28、34、38、46);
对所识别的路径中的每个实例提供实例功率估计;
基于对所述路径中的实例(24、26、28、34、38、46)的实例功率估计,为每个识别的路径提供至少一个加权功率估计(P、L、D、T);
基于所述至少一个加权功率估计(P、L、D、T)提供所述路径的排名;
其中所述至少一个加权功率估计(P、L、D、T)包括距离加权功率估计(D)和/或逻辑距离加权功率估计(L)和/或时间加权功率估计(T);以及
基于集成电路设计中的路径排名而生成集成电路;
其中每个路径的距离加权功率估计被计算为
其中pi对应于所述路径中的实例i的实例功率估计以及I对应于所述路径中的实例的总数,
其中每个路径的逻辑距离加权功率估计被计算为
其中pi对应于所述路径中的实例i的实例功率估计以及ci对应于被分配给实例i的预定复杂度值,以及
其中每个路径的时间加权功率估计被计算为
其中pi对应于所述路径中的实例i的实例功率估计以及si对应于信号传播通过实例i需要的时间。
2.根据权利要求1所述的方法,进一步包括为功率利用而优化至少一个所排名的路径。
3.根据权利要求1或2所述的方法,进一步包括将一个或多个采样阶段添加到为功率优化确定的路径。
4.根据权利要求1所述的方法,其中关键路径通过所述至少一个加权功率估计(P、L、D、T)被给予低排名。
5.根据权利要求1所述的方法,其中所述路径根据多于一个加权功率估计(P、L、D、T)被排名。
6.根据权利要求1所述的方法,其中ci对应于所述路径中的实例i的输入数量,定义被分配给实例i的复杂度值。
7.根据权利要求1所述的方法,进一步包括所述集成电路设计的时间优化。
8.根据权利要求7所述的方法,其中所述时间优化在识别所述多个路径之前执行和/或在时间优化期间识别所述多个路径。
9.根据权利要求1所述的方法,所述方法基于所述集成电路设计的寄存器传输级表示被执行。
10.根据权利要求1所述的方法,其中识别多个路径包括识别多个非关键路径。
11.一种用于对路径排名以功率优化集成电路设计(10)的系统,包括:
用于识别所述集成电路设计(10)的多个路径的装置,每个路径包括电子器件的一个或多个实例(24、26、28、34、38、46);
用于对所识别的路径中的每个实例提供实例功率估计的装置;
用于基于对所述路径中的实例(24、26、28、34、38、46)的实例功率估计,为每个识别的路径提供至少一个加权功率估计(P、L、D、T)的装置;
用于基于所述至少一个加权功率估计(P、L、D、T)提供所述路径的排名的装置;
其中所述至少一个加权功率估计(P、L、D、T)包括距离加权功率估计(D)和/或逻辑距离加权功率估计(L)和/或时间加权功率估计(T);以及
用于基于集成电路设计中的路径排名而生成集成电路的装置;
其中每个路径的距离加权功率估计被计算为
其中pi对应于所述路径中的实例i的实例功率估计以及I对应于所述路径中的实例的总数,
其中每个路径的逻辑距离加权功率估计被计算为
其中pi对应于所述路径中的实例i的实例功率估计以及ci对应于被分配给实例i的预定复杂度值,以及
其中每个路径的时间加权功率估计被计算为
其中pi对应于所述路径中的实例i的实例功率估计以及si对应于信号传播通过实例i需要的时间。
12.根据权利要求11所述的系统,进一步包括用于为功率利用而优化至少一个所排名的路径的装置。
13.根据权利要求11或12所述的系统,进一步包括用于将一个或多个采样阶段添加到为功率优化确定的路径的装置。
14.根据权利要求11所述的系统,其中关键路径通过所述至少一个加权功率估计(P、L、D、T)被给予低排名。
15.根据权利要求11所述的系统,其中所述路径根据多于一个加权功率估计(P、L、D、T)被排名。
16.根据权利要求11所述的系统,其中ci对应于所述路径中的实例i的输入数量,定义被分配给实例i的复杂度值。
17.根据权利要求11所述的系统,进一步包括所述集成电路设计的时间优化。
18.根据权利要求17所述的系统,其中所述时间优化在识别所述多个路径之前执行和/或在时间优化期间识别所述多个路径。
19.根据权利要求11所述的系统,所述系统基于所述集成电路设计的寄存器传输级表示被执行。
20.根据权利要求11所述的系统,其中用于识别多个路径的装置包括用于识别多个非关键路径的装置。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/IB2011/051292 WO2012131427A1 (en) | 2011-03-28 | 2011-03-28 | Method for ranking paths for power optimization of an integrated circuit design and corresponding computer program product |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103443738A CN103443738A (zh) | 2013-12-11 |
CN103443738B true CN103443738B (zh) | 2016-09-14 |
Family
ID=46929548
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201180069679.4A Expired - Fee Related CN103443738B (zh) | 2011-03-28 | 2011-03-28 | 用于对路径排名以功率优化集成电路设计的方法和相应计算机程序产品 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9171117B2 (zh) |
EP (1) | EP2691829A4 (zh) |
CN (1) | CN103443738B (zh) |
WO (1) | WO2012131427A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9217772B2 (en) * | 2012-07-31 | 2015-12-22 | Infineon Technologies Ag | Systems and methods for characterizing devices |
US9775102B2 (en) * | 2014-07-29 | 2017-09-26 | Aruba Networks, Inc. | Estimating a relative difference between signal strengths of wireless signals received by a device |
EP3182842A1 (en) * | 2014-08-21 | 2017-06-28 | Perfect Day, Inc. | Compositions comprising a casein and methods of producing the same |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1143860A (zh) * | 1995-05-26 | 1997-02-26 | 松下电器产业株式会社 | 逻辑合成方法、半导体集成电路和运算电路 |
US5673200A (en) * | 1994-02-16 | 1997-09-30 | Matsushita Electric Industrial Co., Ltd. | Logic synthesis method and logic synthesis apparatus |
US6449761B1 (en) * | 1998-03-10 | 2002-09-10 | Monterey Design Systems, Inc. | Method and apparatus for providing multiple electronic design solutions |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6526562B1 (en) * | 1999-05-10 | 2003-02-25 | Analog Devices, Inc. | Methods for developing an integrated circuit chip design |
US6396307B1 (en) | 1999-05-19 | 2002-05-28 | Matsushita Electric Industrial Co., Ltd. | Semiconductor integrated circuit and method for designing the same |
US7007247B1 (en) | 2002-05-24 | 2006-02-28 | Cadence Design Systems, Inc. | Method and mechanism for RTL power optimization |
US6938233B2 (en) | 2002-08-09 | 2005-08-30 | Matsushita Electric Industrial Co., Ltd. | Method and apparatus for designing semiconductor integrated circuit device based on voltage drop distribution |
WO2005114499A1 (en) * | 2004-05-24 | 2005-12-01 | Matsushita Electric Industrial Co., Ltd | Method and apparatus for allocating data paths |
US7551985B1 (en) * | 2006-10-30 | 2009-06-23 | Cadence Design Systems, Inc. | Method and apparatus for power consumption optimization for integrated circuits |
JP2008112318A (ja) * | 2006-10-31 | 2008-05-15 | Matsushita Electric Ind Co Ltd | 半導体集積回路の消費電力最適化方法及び半導体設計装置 |
-
2011
- 2011-03-28 CN CN201180069679.4A patent/CN103443738B/zh not_active Expired - Fee Related
- 2011-03-28 US US14/003,361 patent/US9171117B2/en not_active Expired - Fee Related
- 2011-03-28 EP EP11861976.6A patent/EP2691829A4/en not_active Withdrawn
- 2011-03-28 WO PCT/IB2011/051292 patent/WO2012131427A1/en active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5673200A (en) * | 1994-02-16 | 1997-09-30 | Matsushita Electric Industrial Co., Ltd. | Logic synthesis method and logic synthesis apparatus |
CN1143860A (zh) * | 1995-05-26 | 1997-02-26 | 松下电器产业株式会社 | 逻辑合成方法、半导体集成电路和运算电路 |
US6449761B1 (en) * | 1998-03-10 | 2002-09-10 | Monterey Design Systems, Inc. | Method and apparatus for providing multiple electronic design solutions |
Also Published As
Publication number | Publication date |
---|---|
WO2012131427A1 (en) | 2012-10-04 |
US20140013294A1 (en) | 2014-01-09 |
CN103443738A (zh) | 2013-12-11 |
EP2691829A4 (en) | 2014-11-05 |
US9171117B2 (en) | 2015-10-27 |
EP2691829A1 (en) | 2014-02-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8397188B1 (en) | Systems and methods for testing a component by using encapsulation | |
CN102831273B (zh) | 包含双边沿触发器的数字集成电路设计方法 | |
US11036908B1 (en) | Techniques for simulation-based timing path labeling for multi-operating condition frequency prediction | |
US11636246B2 (en) | Systems and methods for predicting and managing power and energy use of semiconductor devices | |
CN103443738B (zh) | 用于对路径排名以功率优化集成电路设计的方法和相应计算机程序产品 | |
US10318696B1 (en) | Efficient techniques for process variation reduction for static timing analysis | |
WO2018140300A1 (en) | Techniques for statistical frequency enhancement of statically timed designs | |
US8527925B2 (en) | Estimating clock skew | |
Raghunathan et al. | High-level macro-modeling and estimation techniques for switching activity and power consumption | |
US10162917B1 (en) | Method and system for implementing selective transformation for low power verification | |
Hashemi et al. | METRICS 2.0: A machine-learning based optimization system for IC design | |
US9679092B1 (en) | Constraint handling for parameterizable hardware description language | |
US10872185B1 (en) | Systems and methods for estimating wire capacitance in a register-transfer level circuit design | |
Trummer et al. | Searching extended IP-XACT components for SoC design based on requirements similarity | |
Hsu et al. | Crosstalk-aware multi-bit flip-flop generation for power optimization | |
CN108334313A (zh) | 用于大型soc研发的持续集成方法、装置及代码管理系统 | |
Pasricha et al. | Capps: A framework for power–performance tradeoffs in bus-matrix-based on-chip communication architecture synthesis | |
CN101794328A (zh) | 针对门输出负载的快速且准确的估计 | |
US20230044581A1 (en) | Learning-based power modeling of a processor core and systems with multiple processor cores | |
Es' haghi et al. | Aging-aware scheduling and binding in high-level synthesis considering workload effects | |
US20230114858A1 (en) | Circuit design simulation and clock event reduction | |
CN115098405B (zh) | 软件产品的测评方法、装置、电子设备及存储介质 | |
Bhattacharjee et al. | On-chip supply noise in multiprocessors: impact and clock gating inspired mitigation strategies | |
US11836426B1 (en) | Early detection of sequential access violations for high level synthesis | |
US9268898B1 (en) | Estimating power consumption of a circuit design |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CP01 | Change in the name or title of a patent holder |
Address after: Texas in the United States Patentee after: NXP America Co Ltd Address before: Texas in the United States Patentee before: Fisical Semiconductor Inc. |
|
CP01 | Change in the name or title of a patent holder | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20160914 Termination date: 20190328 |
|
CF01 | Termination of patent right due to non-payment of annual fee |