CN101779179A - 管线电子电路设计中检测时钟门控机会的方法和装置 - Google Patents

管线电子电路设计中检测时钟门控机会的方法和装置 Download PDF

Info

Publication number
CN101779179A
CN101779179A CN200880102482A CN200880102482A CN101779179A CN 101779179 A CN101779179 A CN 101779179A CN 200880102482 A CN200880102482 A CN 200880102482A CN 200880102482 A CN200880102482 A CN 200880102482A CN 101779179 A CN101779179 A CN 101779179A
Authority
CN
China
Prior art keywords
clock
pipeline
clock gating
chance
latch
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.)
Granted
Application number
CN200880102482A
Other languages
English (en)
Other versions
CN101779179B (zh
Inventor
M·E·弗斯勒
H·M·雅各布森
J·斯洛基
T·斯旺森
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN101779179A publication Critical patent/CN101779179A/zh
Application granted granted Critical
Publication of CN101779179B publication Critical patent/CN101779179B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3237Power saving characterised by the action undertaken by disabling clock generation or distribution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3867Concurrent instruction execution, e.g. pipeline, look ahead using instruction pipelines
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

一种管线电子电路和设计方法,其经由在管线的级之间识别时钟门控机会的仿真而实现管线的级中的电力节约。在一实施例中,仿真结果帮助设计者设计管线电子电路,以通过在管线的级之间在该仿真识别的时钟门控机会位置处并入时钟门控电路而实现电力节约。

Description

管线电子电路设计中检测时钟门控机会的方法和装置
技术领域
本发明涉及电子电路,更具体地,涉及通过检测电力减小机会进行的管线电子电路的有效设计。
背景技术
信息处理系统(IHS)可包括用于处理、处置、传达或以其它方式操作信息的多个处理器。每一处理器自身可包括共同工作以处理信息的多个处理器核心。处理器或处理器核心可包括若干管线级以增加处理器的有效吞吐量。管线通过并行执行操作而使处理器或处理器核心能够获得较大效率。向多核心处理器设计的转变趋于增加处理器中的电力耗散问题。
现在,总电力消耗为诸如多核心处理器设计的处理器设计中主要关注问题中之一。过多的处理器电力消耗可使处理器不正常地起作用。此外,在无充分热耗散的情况下的过多电力消耗可使处理器变得不稳定或永久地被损坏。诸如风扇、冷却器和散热器的外部冷却器件在一定程度上有效用于解决高效能处理器的高电力耗散和所导致的热产生的问题。遗憾地,这些器件通常是昂贵的并且有噪声。此外,这些冷却器件常常是庞大的并且需要尤其在携带型或电池供电系统中不合要求的特别设计和封装方法。
处理器中的电力耗散或消耗包括两个主要方面,即泄漏电力耗散和主动电力耗散。
随着半导体制造过程使处理器组件越来越小地收缩,泄漏电力耗散增加。与之对比,主动电力耗散主要与在特定工作负载下处理器的活动有关。举例而言,诸如锁存器的顺序组件的活动为处理器中主动电力耗散的一个原因。由处理器中的组合逻辑进行的数据交换为主动电力耗散的另一原因。处理器的管线级中的锁存器引起大量的电力消耗。基于锁存器的组件包括触发器(flip-flop)、数据存储逻辑、寄存器、开关组件和处理器中的其它组件。对基于锁存器的组件操作的较佳控制表示处理器中电力减小的重要机会。
锁存器计时为处理器中电力消耗和耗散的主动部分的主要组成。对锁存器进行计时(无论锁存器是否改变状态)使锁存器消耗电力。减少锁存器时钟活动以减小电力消耗是理想的,但在复杂处理器中提出一主要设计挑战。″时钟门控(Clock gating)″实现锁存器频率电力消耗的显著减少。时钟门控为在特定条件下断开或中断对于特定锁存器或锁存器的集合的时钟输入的时钟信号而不对锁存器功能性造成损害的技术。″被时钟门控″的锁存器为描述处于时钟门控电路断开或中断锁存器的时钟信号的状态中的锁存器的术语。在其它情况下,锁存器正常操作。″被时钟门控″的锁存器在正常时钟循环输入期间将不会致动、拨动或以其它方式改变状态。时钟信号输入的这种阻止和确保锁存器的静态为处理器提供电力节省。判定何时门控一锁存器和何时不门控一锁存器向处理器设计者提出一重大的设计挑战。基本上,当锁存器的状态在特定时钟循环期间将不改变时,或当锁存器的状态变化对后续下游逻辑无影响时,在该特定时钟循环期间时钟门控一锁存器为可接受的。然而,作出何时时钟门控和何时不时钟门控的这个判定为挑战。设计时钟门控逻辑的一方法为进行手动研究以判定锁存器中的数据为锁存器的输入上所存在的相同数据(也即,Din=Qout)的那些时间。仿真也可用于判定时钟门控机会。然而,这些方法在评估时钟门控机会方面可能过于不利。即使在设计者谨慎使用这些设计原则以产生用于处理器的时钟门控逻辑后,仍可能存在设计者可能不能完全探查到可产生其它时钟门控机会的复杂情况。
所需要的为一种更完全地识别复杂处理器中的时钟门控机会的方法和装置。
发明内容
因此,在一实施例中,公开一种用于时钟门控管线电子器件以实现电力节约的方法。该方法包括向管线电子器件提供多个管线级,所述多个管线级包括第一和第二管线级,每一管线级包括可被时钟门控的逻辑组件。每一管线级将信息供应至下游管线级。该方法还包括通过仿真器仿真管线电子器件的操作以判定仿真结果,所述仿真结果指定可在预定条件下被时钟门控的所选逻辑组件。该方法还包括基于仿真结果而时钟门控管线电子器件的所选逻辑组件,以实现电力节约。
在另一实施例中,公开一种包括存储器和管线电子处理器器件的信息处理系统(IHS)。该管线电子处理器器件耦合至该存储器。管线电子处理器器件包括多个管线级,所述多个管线级包括第一和第二管线级,每一管线级包括可被时钟门控的逻辑组件。每一管线级将信息供应至下游管线级。基于管线电子处理器器件的仿真来时钟门控所选逻辑组件,以实现电力节约,该仿真指定可在预定条件下被时钟门控的所选逻辑组件。
优选地,还提供一种设计管线电子器件的方法,包括:设计包括多个管线级的第一管线电子器件,所述多个管线级包括第一和第二管线级,每一管线级包括可被时钟门控的逻辑组件,每一管线级将信息供应至下游管线级;仿真该第一管线电子器件的操作,以判定用于指定可在预定条件下被时钟门控的所选逻辑组件的仿真结果;和修改该第一管线电子器件,以形成基于所述仿真结果来时钟门控所述所选逻辑组件以实现电力节约的第二管线电子器件。
附图说明
附图仅说明本发明的示例性实施例并且因此并不限制其范围,因为本发明的概念自身适合于其它等效实施例。
图1显示说明时钟门控的机会的电子电路的方块图。
图2显示用于电子电路中的时钟门控技术的图。
图3显示说明时钟门控方法的有效使用的管线电子电路的方块图。
图4为描绘所公开的时钟门控方法的流程图。
图5为描绘所公开的时钟门控设计改进方法的流程图。
图6为使用所公开的时钟门控方法的信息处理系统的方块图。
具体实施方式
在处理器中,时钟门控提供一减少主动电力消耗的机会。用于设计或产生时钟门控逻辑的基本方法为针对特定时钟循环阻止对于不需要该特定时钟循环的时钟信号的各个锁存器的时钟信号。如果对于一特定时钟循环,锁存器的状态将不改变,则对于该特定时钟循环,不必要将时钟信号发送至该锁存器。通过″时钟门控″或阻止对于锁存器的时钟信号,锁存器不转变经过时钟锁存或拨动状态。因而,锁存器不消耗在不存在时钟门控的情况下锁存器会以其它方式消耗的电力。每一″被时钟门控″的锁存器有助于处理器对于特定时钟循环经由时钟门控实现的总电力节省。
尽管利用统计分析来发现时钟门控机会的先前方法可减小处理器中的总电力消耗,但这些方法可能未能强加约束和利用管线系统和管线电子电路提供的时钟门控的机会。
在发明者Chaudhry等人的名为″Method And Apparatus In LocatingClock Gating Opportunities Within A Very Large Scale Integration ChipDesign″的同在申请中的美国专利申请(档案号码AUS920050826US1,序号11/380126,2006年4月25日递交,并且转让给同一受让人)中公开了识别时钟门控机会的方法。
理解时钟门控机会的一基本方法为考虑锁存器或锁存器的群组的输出在时钟转变或时钟循环期间不改变的情况。通常,这是在时钟转变期间向锁存器的数据输入保持处于静止状态以及锁存器的输出同样保持处于恒定状态的结果。另一时钟门控机会为在特定时钟循环期间锁存器的输出数据等于锁存器的当前输入数据的情况。在这个简单情况下,离散时钟门控逻辑可阻止、移除或以其它方式取消对于锁存器的时钟信号而锁存器的输出状态没有作为结果而发生的变化。这种″被时钟门控″的锁存器将不试图改变其状态。为此,该锁存器的电力消耗小于其以其它方式将消耗的电力。
如图1中所示,公知逻辑电路100包括时钟门控机会电路110,即在该特定实例中的锁存器120。在逻辑电路100中,锁存器120和140经由离散组合逻辑130(例如,AND门135)连接至提供数据输出信号的另一锁存器150。在一实施例中,逻辑电路100可表示大得多并且更为复杂的逻辑电路(未示出)的一部分。举例而言,逻辑电路100可为处理器或其它数字逻辑电路的部分。
锁存器120表示具有数据和时钟输入以及锁存数据输出信号的典型锁存电路。更具体地,来自另一电路逻辑(未示出)的输入数据信号″数据1″提供到锁存器120的数据输入。在特定信号条件下,锁存器120为用于进行时钟门控的候选者。换言之,在一些条件下,可存在用于时钟门控锁存器120的机会。为此,术语″时钟门控机会″电路110应用于锁存电路120,如图1中所示。
锁存器120的输出(显示为信号″数据3″)耦合至组合逻辑130的输入,即耦合至AND门135的两个输入之一。时钟信号CLK1向锁存器120和锁存器140提供计时。时钟电路(未示出)可从使用逻辑电路100的处理器或其它电子电路中的主时钟信号产生个别时钟信号(诸如,CLK1)。锁存器140从其它功能逻辑(未示出)接收″数据2″信号作为数据。锁存器140的输出(在信号″数据4″处显示)耦合至组合逻辑130的另一输入,即耦合至AND门135的两个输入中的第二个。组合逻辑130表示布尔(Boolean)函数可为了电路分析目的表达的任何数量的离散门和晶体管逻辑。组合逻辑130的输出(更具体地,AND门135的输出)耦合至如在信号″数据5″处所示的锁存器150的数据输入。锁存器150接收时钟输入信号CLK2。锁存器150产生提供输入信号至其它下游功能逻辑(未示出)的输出信号″数据6″。
逻辑电路100提出在特定条件下用于时钟门控的机会。以下实例显示一个这样的条件。如果在锁存器140的输出处的″数据4″信号显现逻辑零″0″,则AND门135的相应输入显现逻辑零″0″。在此情况下,通过布尔代数,AND门135的输出也为逻辑零″0″(即,″数据5″信号显现逻辑零″0″)。在此实例中,锁存器120的输出信号″数据3″(不管其逻辑状态(即1或0))对AND门135的输出信号″数据5″无影响。锁存器120的输出状态的分析可将锁存器120的状态视为″任意值(do not care)″(DNC)条件。对于下一顺序逻辑功能(即在该特定实例中的锁存器150),锁存器120的状态为不相关的。此外,对于还描述典型时钟循环的以上实例的条件,锁存器120表示在该特定时钟循环期间用于时钟门控的理想机会。在锁存器120提供用于时钟门控的机会的这些条件下,锁存器120的适当替代名称为时钟门控机会电路110。
图2为耦合至逻辑电路100中的时钟门控机会电路110的代表性公知时钟门控电路200的方块图。为方便起见,图2未重复整个逻辑电路100,而是仅展示时钟门控机会电路110和其锁存器120。通过分析时钟门控机会,电路设计者可将诸如时钟门控逻辑电路210的时钟门控逻辑并入至诸如处理器的电子电路中。″时钟门控″为利用阻止时钟信号向诸如锁存器或锁存器的群组的逻辑组件的传播的电路(通常为AND门或NAND门或其它逻辑电路)的方法。电路设计者使用时钟门控逻辑210以在时钟将不对时钟门控机会电路110的功能性具有影响的预定条件下阻止时钟信号向特定锁存器的传播。在存在这些预定条件的情况下,由于时钟门控电路的作用,时钟信号有效地不到达所述锁存器或所述这些锁存器。
展示为信号CG1的时钟门控逻辑210的输出耦合至AND门220的两个输入之一。AND门220的剩余输入接收从电子电路的其它功能逻辑(未示出)所输入的时钟信号CLK1。通过将信号CG1用作对于AND门220的输入,时钟门控逻辑210提供可在适于时钟门控的特定条件下有效地阻止CLK1信号的硬件组件。当时钟门控逻辑210的输出信号CG1显现逻辑零″0″时,AND门220产生逻辑零″0″的输出信号而不管来自信号CLK1的输入状态。AND门220的输出耦合至时钟门控机会电路110中的锁存器120的时钟输入。当时钟门控逻辑210输出显现逻辑零″0″状态的CG1信号时,对于锁存器120的输入数据信号(即″数据1″)对锁存器120无影响,并且因此构成″任意值″DNC输入。更具体地,锁存器120将不对展示为数据信号″数据1″的输入数据进行计时。在此条件下,锁存器120不对流动至下一顺序逻辑电路(未示出)的锁存输出信号″数据3″造成变化。此外,锁存器120将不产生转变状态并且因此将不消耗转变锁存器状态电力。然而,如果时钟门控逻辑210的输出信号CG1显现逻辑一″1″,则AND门220将传递时钟信号CLK1的状态直至锁存器120的时钟输入。在此情况下,时钟门控逻辑210不″时钟门控″或干扰锁存器120。
图2的实例中的方法未考虑包括如下文所描述的多个管线级的复杂处理器架构中的时钟门控。时钟门控机会存在于复杂管线架构中。电子电路的仿真和电子电路中的信号节点的分析表示用于识别时钟门控机会的方法。信号节点为电路的仿真模型中表示可表达为布尔逻辑的功能之间的连接点的离散迹线或连接。可将电子电路的仿真视为互连节点与布尔逻辑功能区块的集合。下文公开的示例性方法的一实施例包括在仿真模型中产生数据的实际工作负载仿真和进一步在信号状态中与实际电路相同地操作仿真模型。在一实施例中,仿真模型和程序操作实际工作负载状态中的仿真并且针对时钟门控机会监视信号节点。
图3展示这样的管线设计,其阐述检测诸如处理器的管线电子电路300中的时钟门控机会的所公开方法。管线电子电路300表示较大管线电路(未示出)的一部分。管线电子电路300包括多个级,即代表性管线级″级(STAGE)0″、″级1″、″级2″和″级3″,其中较为详细地展示″级1″和″级2″。″级0″的输出数据提供用于″级1″的输入数据。″级1″的输出数据提供用于″级2″的输入数据等等直至管线电子电路300的其它下游级。在该特定实施例中,″级1″为″级2″的上游,意味着数据从″级1″向下游流至″级2″。
图3的管线电子电路300包括主时钟电路302,其提供主时钟信号(CLK)至管线级(诸如″级1″和″级2″)的电路。时钟电路302耦合至″级1″的时钟门控电路305(A1)、时钟门控电路305(B1)等等直至时钟门控电路305(M1),以向其提供CLK信号。每一时钟门控电路(例如305(A1))的第二个文字表达(即″1″)表示该电路驻留的管线级数。时钟电路302还耦合至″级2″的时钟门控电路305(A2)、时钟门控电路305(B2)和时钟门控电路305(N2),以向其提供CLK信号。时钟门控电路305(A1)耦合至管线电子电路300的″级1″的锁存器A1(310)的时钟输入。在图3中,每一锁存器的第二个文字表示描绘锁存器的级数位置。举例而言,锁存器A1表示描绘第二个文字值″1″,其表示图3的管线电子电路的级1。时钟门控电路305(B1)耦合至″级1″的锁存器B1(320)的时钟输入。时钟门控电路305(M1)耦合至″级1″的锁存器M1(330)的时钟输入。时钟门控电路305(A2)耦合至管线电子电路300的″级2″的锁存器A2(350)的时钟输入。时钟门控电路305(B2)耦合至″级2″的锁存器B2(360)的时钟输入。时钟门控电路305(N2)耦合至″级2″的锁存器N2(370)的时钟输入。管线电子电路300显现一顺序架构。换言之,在锁定步骤中数据与主时钟信号CLK一起经由锁存器和逻辑组件从管线级流动至管线级。当时钟信号CLK从代表性时钟循环N前进至下一时钟循环N+1时,数据从一级移动至下一级。
以下论述描述数据关于时钟循环经由管线电子电路300的流动。举例而言,如果从″级0″输入至″级1″的锁存器A1(310)的数据在时钟循环N中经由锁存器A1(310)进行计时,则″级1″的锁存器A1在该时钟循环N期间存储该数据的值。然而,在下一时钟循环N+1中,″级2″的锁存器A2(350)存储逻辑电路340对锁存器A1数据的操作的结果。因而,在时钟循环N+1中,数据从″级1″的锁存器A1流动至″级2″的锁存器A2。锁存器A2接着存储该数据。以此方式,数据从一时钟循环至下一时钟循环以管线方式从诸如″级1″的上游级移动至诸如″级2″的下游级。图3中向下指向的箭头指示经由电子电路300的管线级的这种上游至下游数据流动。
更详细地,来自管线″级0″的数据向下游流至″级1″的锁存器A1的输入并且来自管线″级0″的数据还向下游流至锁存器B1的输入。管线电子电路300的每一级包括具有多个锁存器的管线逻辑。举例而言,″级1″包括锁存器A1(310)、锁存器B1(320)......锁存器M1(330)。锁存器M1(330)表示管线电子电路300的″级1″中的任意多个数目的锁存器″M″。如图所示,锁存器A1(310)的输出耦合至逻辑电路340与逻辑电路345两者的输入。逻辑电路340与逻辑电路345均表示为了操作和仿真的目的可表达为布尔函数的任一数量的组合逻辑。管线电子电路300的″级1″的锁存器B1(320)的输出耦合至逻辑电路345的输入。在实际实践中,管线的″级1″可含有比所示更多的逻辑组件。
″级1″的逻辑电路340的输出耦合至管线电路的″级2″中的锁存器A2(350)的输入。″级1″的逻辑电路345的输出耦合至″级2″中的锁存器B2(360)的输入。在实际实践中,″级2″可包括比所示更多的锁存器。举例而言,″级2″包括锁存器A2(350)、锁存器B2(360)......锁存器N2(370)。锁存器N2(370)表示管线电子电路300的″级2″中的任意多个数目的锁存器″N″。锁存器A2的输出耦合至逻辑电路372的输入。锁存器B2的输出耦合至逻辑电路374的输入。逻辑电路372和374的输出耦合至管线电子电路中的下一下游级(即″级3″)的输入锁存器(未图示)。在实际实践中,管线电子电路300可包括比图3的代表性电路中所示更多的级。
图3展示管线电子电路300以阐述根据所公开的方法,时钟门控可用于管线级的许多条件。以下表1展示5个代表性状况,其中时钟门控机会存在于诸如图3中所示的管线环境中:
表1
  状况   条件   结果
  1   如果电路300在时钟循环N中时钟门控锁存器A1,或锁存器A1在时钟循环N中未改变逻辑状态   则电路300可在时钟循环N+1中潜在地时钟门控锁存器A2
  2   如果电路300在时钟循环N中时钟门控锁存器A1和锁存器B1,或锁存器A1和锁存器B1在时钟循环N中未改变逻辑状态   则电路300可在时钟循环N+1中潜在地时钟门控锁存器A2和锁存器B2
  3   如果锁存器B2在时钟循环N+1中未改变逻辑状态   则电路300可在循环N中潜在地时钟门控锁
  存器B1
  4  如果锁存器A2在时钟循环N+1中未改变逻辑状态   则电路300可在循环N中潜在地时钟门控锁存器A1
  状况   条件   结果
  5  如果电路300在时钟循环N+1中时钟门控锁存器A2和锁存器B2或如果锁存器A2和锁存器B2在时钟循环N+1中未改变逻辑状态   则电路300可在循环N中潜在地时钟门控锁存器A1和锁存器B1
在表1的第一状况或情况下,如果时钟门控电路305(A1)在时钟循环N期间时钟门控锁存器A1(310),或替代地,如果锁存器A1所存储的逻辑状态或值在时钟循环N中未改变,则时钟门控电路305(A2)可在下一时钟循环N+1中潜在地时钟门控锁存器A2(350)。在此情况下,锁存器A1不表示经由管线电路级的数据流动的任何变化,因此,锁存器A1无需起作用。因为锁存器A1的状态在当前时钟循环期间与下游功能无关,所以锁存器A1的条件为″任意值″(DNC)条件。为此,时钟门控电路305(A1)可时钟门控锁存器A1或将其有效保持于其当前状态中。
在表1的第二状况或情况下,如果时钟门控电路305(A1)在时钟循环N期间时钟门控锁存器A1(310)并且时钟门控电路305(B1)时钟门控锁存器B1(320),则在下一时钟循环N+1中,时钟门控电路305(A2)和305(B2)可分别时钟门控锁存电路A2(350)和锁存电路B2(360)。这是因为从下游锁存器A2和B2的角度来看,被时钟门控的锁存器A1和B1对于时钟循环N+1的状态或值为″任意值″(DNC)。
在表1的第三状况或情况下,如果锁存器B2(360)的值在时钟循环N+1中未改变,则时钟门控电路305(B1)可在时钟循环N中时钟门控锁存器B1(320)。这是成立的,因为锁存器B1在时钟循环N中的输出对锁存器B2在时钟循环N+1中的输出值无影响。类似地,在表1的第四状况或情况下,如果锁存器A2(350)的值在时钟循环N+1中未改变,则时钟门控电路305(A1)可在时钟循环N中时钟门控锁存器A1(310)。这是因为锁存器A1在时钟循环N中的输出对锁存器A2在时钟循环N+1中的输出值无影响。
表1的第五状况描述锁存器A2(350)与锁存器B2(360)两者在时钟循环N+1中不改变逻辑状态或输出值,或替代地,锁存器A2和B2都显现时钟门控的情况。换言之,时钟门控电路305(A2)和时钟门控电路305(B2)在时钟循环N+1期间分别时钟门控锁存器A2和锁存器B2。在此情况下,锁存器A1和B1均为用于在时钟循环N中进行时钟门控的潜在候选者,因为锁存器A1和B1在时钟循环N期间的输出均显现对时钟循环N+1中的锁存器A2和B2无影响。向上游和下游查看图1的锁存器逻辑以辨别时钟门控机会的能力能实现在该管线电路设计中的显著电力减少潜力。对于一实例,在锁存器A2和B2的下游状态与时钟循环N期间的上游锁存器A1和B1相关时评估锁存器A2和B2的下游状态(图3中)提供用于评估时钟门控机会的数据。
在电子电路设计中,设计者可将特定逻辑电路表达为连线对照表(netlist)。在诸如管线电子电路300的逻辑电路的状况下,设计者手动或通过计算机帮助产生描述电子电路300的属性和连接的连线对照表375。连线对照表375为表示电子电路300的管线级的功能逻辑的连接和逻辑功能的列表。设计者或其它人可使用公知连线对照表产生技术以产生连线对照表375。连线对照表375包括描述管线电子电路300的连线对照表数据。将此连线对照表数据输入至如图3中所示的仿真器380。仿真器380使用连线对照表375的连线对照表数据以产生表示管线电子电路300的各种级和组件的操作的软件仿真模型382。管线电子电路300的仿真模型382表示管线电子电路300的每一级的每一互连节点和功能逻辑组件或电路的软件模型。仿真器380可以软件形式仿真每一输入节点,包括时钟信号输入、数据信号输入、输入数据总线和管线电子电路300的其它输入信号。仿真模型382提供用于仿真并分析管线电子电路300的每一时钟循环的每一节点的布尔表达式的工具。仿真器380包括仿真程序385。在一实施例中,仿真程序385包括拓扑程序392、优化程序394和工作负载仿真程序396。仿真器380可包括用于管线电子电路300的仿真支持的其它程序(未示出)。
仿真器380可执行拓扑程序392以提供包括用于管线电子电路100的时钟门控机会决策产生过程的物理参数。拓扑程序392在此决策产生过程中可使用拓扑数据。拓扑数据可包括连接迹线宽度、互连迹线长度、逻辑电路功能的离散晶体管的物理接近度和管线电子电路300的其它可用电路设计参数。仿真器380可执行优化程序394以减小仿真模型382的复杂性以及进一步帮助识别电路300中的时钟门控机会。优化程序394在组合锁存器与逻辑功能将不影响时钟门控机会的检测或电路设计的功能性的状况下通过该组合而减小仿真模型382的复杂性。举例而言,优化程序394可将多个锁存器组合或聚集至单一锁存器中以仅用于仿真,其中锁存器的该群组从同一源接收时钟和数据信号。
通过将软件仿真程序385应用于诸如上文图3中所示的管线电子电路和将表1的时钟门控情况应用于其中,系统仿真器380可开发对在电路300中的时钟门控机会的更准确和扩展的表示。图3和表1中所举例说明的用于识别时钟门控机会的以上方法非常适于复杂管线设计。通过考虑额外级(管线电子电路300的锁存器逻辑中未显示),更多数据节点可用于仿真器380。更多数据节点在仿真程序385执行期间将额外读取数据提供给仿真器380。此外,通过在管线电路的每一级中考虑更多时钟循环(诸如,N+2、N+3等),更多数据可用于仿真器380。在更多可用数据的情况下,仿真器380可通过使用本文中的诸如表1的代表性时钟门控情况的教导而定位更为准确和真实的时钟门控机会。
如果手动执行,则发现对于上文实例的时钟门控的机会为一冗长乏味并且耗时的任务。为此,图3包括仿真器380以用于仿真管线电子电路300以及根据表1的情况的工作负载环境。在一实施例中,仿真器380使用缓存器转移层级(RTL)语言产生管线电子电路300的仿真模型382。RTL为用于限定数字电子电路的高级描述语言。RTL模型将电子电路描述为锁存器和布尔逻辑表达式的软件集合。通过在模型上执行真实工作负载(即,将实际代表性数据输入至仿真模型382的输入节点中),工作负载仿真程序396读取在仿真器380中的每一节点处的实际电路结果。通过以仿真模型382的逐个级分析每一节点的结果,工作负载仿真程序396产生与表1的情况一致的时钟门控机会的集合。仿真器380可通过诸如表1的情况和其它标准来分析时钟门控机会结果并组织数据。仿真器380可将数据呈现给最终用户或设计者以供分析。这些结果可用于电子电路的重新设计或将来设计。
打开或关闭时钟门控的能力表示管线电子电路300中的时钟门控逻辑的有用特征。最终用户可能希望在不影响管线电子电路的逻辑功能性的情况下完全停用时钟门控逻辑。停用时钟门控电路具有增加与时钟门控提供的电力节省一致的电路的电力消耗的影响。停用时钟门控逻辑提供在无时钟门控效应的情况下测试管线电子电路300的机制。管线电子电路300包括提供主时钟门控启用(CGE)信号至管线级中的每一个的主时钟门控启用(CGE)电路308。时钟门控启用(CGE)电路308耦合至″级1″的时钟门控电路305(A1)、305(B1)和305(M1),以向其提供时钟门控启用信号。时钟门控启用CGE信号可显现用以启用在整个管线电子电路300上的时钟门控的逻辑状态并且显现用以停用在整个电路300上的时钟门控的相反逻辑状态。CGE电路308耦合至″级2″的时钟门控电路305(A2)、305(B2)和305(N2),以向其提供时钟门控启用信号。图3描绘包括多个级和多个锁存器和组合逻辑的代表性管线电子电路300。管线电子电路300可采取许多形式,诸如较大复杂电路的部分。举例而言,管线电子电路300可形成桌上型计算机、笔记本型计算机、服务器或其它形状因子计算机或数据处理系统中的处理器的部分。管线电子电路也可采取其它形状因子,诸如游戏器件、个人数字助理(PDA)、通信器件或包括管线系统架构的任何其它器件。
图4为描绘所公开时钟门控机会处理的一实施例的设计和操作方法的流程图。处理流程开始于开始块405处。根据设计管线电子电路块410,电路设计者设计包括多个管线级的管线电子电路。根据块412,设计者可使用公知技术来产生描述用以包括逻辑电路、连接、节点和描述管线电子电路的其它信息的多个管线级的连线对照表。举例而言,设计者可通过耗时的手动处理或通过使用连线对照表产生工具的计算机帮助而产生该连线对照表。在一实施例中,仿真器380通过使用缓存器转移层级(RTL)语言程序化而产生仿真模型382。更具体地,仿真器380将连线对照表转换为对应于并表示管线电子电路300的锁存器和互连布尔可表达逻辑功能的软件仿真。根据开发仿真模型块415,仿真器380从连线对照表开发仿真模型382。根据块420,仿真器380执行诸如拓扑程序392的仿真程序385以开发关于特定管线电子电路300的拓扑数据。拓扑结果保持在仿真器380中以用作下文用于识别时钟门控机会的最终决策产生标准的部分。根据块425,仿真器380还执行诸如优化程序394的仿真程序385以减少仿真器380分析的数据的量。在一实施例中,优化当前仿真模型382产生对软件仿真模型382的增强以用于图4中所示的所有后续仿真器380处理。
根据块430,仿真器380还以真实世界工作负载数字1和0数据执行诸如工作负载仿真程序396的仿真程序385。通过经由管线电子电路300仿真而仿真实际工作负载,可由仿真器380观测到更加真实的结果,即管线电子电路300的可观测时钟门控机会。根据块435,仿真器380通过针对诸如表1中所示的那些状况的条件事件探测内部节点来读取这些时钟门控机会。表1的状况1至5中的每一个表示仿真器380可识别出时钟门控机会存在于管线电子电路300中的条件。举例而言,执行工作负载仿真程序396的仿真器380可在表1的状况1至5下将″级1″中的锁存器A1或锁存器A1和B1的群组识别为显现出时钟门控机会。仿真器380可在表1的状况1至5之一下将″级1″中的锁存器A1或锁存器M1的任一群组组合识别为显现出时钟门控机会。时钟门控机会传递至下一操作,其中仿真器380根据发现时钟门控机会状况的决策块440验证过程发现显现出时钟门控机会的状况1至5中之一。如果仿真器380发现管线级中的特定组件显现出对应于表1的状况1至5之一的时钟门控机会,则因为我们具有″发现的状况″,所以处理流程继续至对状况加权的块445。根据块445,仿真器380将权重应用于显现出时钟门控机会的每一当前发现的状况。状况加权提供用以判定哪一时钟门控机会提供比另一个大的电力节省的方法。具有较大电力节省的时钟门控机会评定为高于具有较小电力节省潜力的时钟门控机会。下文论述的决策标准判定每一特定状况接收的特定权重。
状况加权为所公开方法的一方面,其中特定种类的时钟门控机会显现比其它时钟门控机会大的电路设计改进的机会。举例而言,仿真器380检测为时钟门控机会的来源的被时钟门控锁存器类型比仿真器380检测为时钟门控机会的″任意值″(DNC)类型的锁存器有价值。此值评定或加权的原因在于被时钟门控的锁存器类型为高度可预测的,并且时钟门控机会始终存在。在锁存器呈现″任意值″DNC类型时钟门控机会的状况下,时钟门控机会可表示在其它时钟循环中无时钟门控机会。即,时钟循环N+1、N+2等等可表示非DNC时钟门控机会。仿真器380如以下表2中所示将特定权重值指派给每一时钟门控机会类型。
表2
  种类   仿真器将指派权重值的时钟门控机会种类的描述   权重值
  A   具有共同时钟门控机会的多个锁存器   H
  B   下游时钟门控机会   H
  C   任意值(DNC)锁存器   M
  D   不改变锁存器   L
  E   上游时钟门控机会   L
如以上表2中所示,种类″A″表示在特定级中显现共同时钟门控机会的显现高权重或″H″值的多个锁存器。特定级中显现出时钟门控机会的锁存器的群组相比于显现出相同机会的单一锁存器具有更大的状况权重。多个锁存器的群组表示对于具有相同数量的时钟门控电路的较大的电力消耗减少的潜力。加权的另一实例为上游或下游时钟门控机会的仿真器380分析。如果时钟门控机会驻留在从仿真程序385时钟门控状况数据的下游,则状况权重如表2种类″B″中所示为较大,在此状况下,权重为表示高的″H″。举例而言,如果特定时钟门控机会为其它时钟门控机会的下游,则仿真器380向特定时钟门控机会给出比另一时钟门控机会大的权重。这是因为下游时钟门控机会较易于预测。
如表2中所示的针对任意值(DNC)时钟门控机会的种类″C″实例表示权重值″M″或中等。由于显现出任意值状态的锁存器,仿真器380判定可为时钟门控机会的锁存器在机会值上小于以上表2中的较高或″H ″值评定。在种类″D″中将值加权的另一实例显示为具有″L″或低的最小状况权重值的不改变锁存器。仿真器380检测从时钟循环N至时钟循环N+1显现无状态变化(更确切而言,锁存器状态不改变)的锁存器。在表2中作为种类″E″将另一实例显示为具有权重值″L″或低的上游时钟门控机会。仿真器380检测为从当前仿真状态或时钟循环N的上游的时钟门控机会表示表2的值的最低状况加权机会。根据块450,一旦执行工作负载仿真程序396的仿真器380完成加权操作,仿真器380按权重记录时钟门控机会。
当时钟门控机会的记录完成或块440的发现时钟门控机会状况的决策产生假结果时,根据使前进仿真器块455,仿真器380前进至下一时钟循环。当仿真器逐时钟循环地(即,时钟循环N至时钟循环N+1等等)前进时,工作负载仿真器程序396编译时钟门控的机会。仿真器380前进越多时钟循环,工作负载仿真器程序396将记录越多管线电子电路300设计的时钟门控机会。用于特定锁存器的时钟门控机会为来自图4的仿真过程自始至终的全部仿真数据的组合。仿真器380可在一时钟循环N处发现锁存器A1的特定时钟门控机会。然而,设计者在其设计时钟门控电路之前检查全部时钟门控数据。所有时钟门控机会以及锁存器和锁存器群组之间的互连逻辑的累积构成仿真器380的最终设计准则输出。
在扩展工作负载仿真程序396执行后,时钟门控机会较为完整并且具有较大值。举例而言,工作负载仿真程序396可检测最低有效数据位,诸如锁存器A1的输出数据,其显现工作负载仿真程序396中的早期时钟门控机会。工作负载仿真程序396可经过仿真的许多时钟循环而未检测到锁存器A1的数据输出的任何变化并且将潜在时钟门控机会记录为DNC状况,诸如在表1的状况1中。在许多仿真时钟循环后,锁存器A1的数据输出可表示时钟门控的良好机会。然而,因为锁存器A1表示低阶数据位,所以最终在工作负载仿真程序期间,位可改变并显现在整个仿真上对于时钟门控的较差候选资格。如果仿真较早中止,则位呈现为可时钟门控。然而,如果工作负载仿真程序396在大量数目个时钟循环中执行,则位可拨动并且该锁存器A1现在不再为时钟门控的候选者。如果仿真程序385未完成,则决策块460将产生假结果并且仿真器380返回至再次根据块435针对条件探测内部节点。然而,如果决策块460的结果产生肯定结果,则仿真完成并且仿真器380记录时钟门控机会的所有结果以考虑为对当前设计的设计改进。根据结束块470,仿真操作完成。
图5为表示设计改进过程的流程图。流程开始于开始块510。根据块520,电路设计者通过使用公知电路设计实践设计管线电子电路300的初始或初级版本。在块520的初始或初级电子电路设计完成后,仿真器380根据块530执行拓扑、优化和工作负载仿真程序385以完成如本文中所教导的对管线电子电路300的初级版本的仿真。仿真器380过程的结果为时钟门控机会的记录,其可为数据按状况、按权重、按锁存器或锁存器的分组或按表示经由时钟门控成为设计改变机会的有用输入的任何其它标准的组织。根据块540,仿真过程记录时钟门控机会仿真结果。根据块550,电路设计者评估全部仿真器380结果以识别时钟门控实施的最佳机会。通过组合所有结果和识别可受益于时钟门控的锁存器或锁存器的群组,设计者能够用离散时钟门控电路修改初始或初级管线电子电路设计,以改进管线电子电路300的设计。因而,设计者可根据块560通过利用由仿真过程产生的被识别的时钟门控机会而产生被修改的管线电子电路设计。因而,被修改的管线电子电路可经由处理被识别时钟门控机会的时钟门控电路实现电力消耗减小。作为一实例,设计者可使用仿真的被识别时钟门控机会结果来产生诸如管线电子电路300的″级1″的时钟门控电路305(A1)、305(B1)至305(M1)的时钟门控电路。时钟门控电路表示表1每一状况的任一状况组合。设计者可产生诸如管线电子电路300的″级2″的时钟门控电路305(A2)、305(B2)至305(N2)的时钟门控电路。根据结束块570,改进过程完成。以此方式,设计者提供管线电子电路300的被改进或被修改的最终版本。
图6显示使用处理器605的代表性信息处理系统(IHS)600的简化方块图。在一实施例中,处理器605包括管线电子电路300。IHS 600进一步包括将处理器605耦合至存储器控制器615和视频图形控制器620的总线610。更具体地,如图所示,系统存储器总线630耦合至系统存储器635。在实际实践中,总线610可包括多个总线,例如,存储器总线和I/O总线。显示器640耦合至视频图形控制器620。诸如硬盘驱动器、CD驱动器、DVD驱动器或其它非易失性存储装置的非易失性存储装置645耦合至总线610以向IHS 600提供信息的永久存储。诸如键盘和鼠标指针器件的I/O器件650经由I/O总线655和I/O控制器660耦合至总线610。诸如USB、IEEE 1394总线、ATA、SATA、PCI、PCIE和其它总线的一个或多个扩展总线665耦合至总线610,以促进外围装置和器件与IHS 600的连接。网络接口配接器670耦合至总线610,以使IHS 600能够以有线或无线方式连接至网络和其它信息处理系统。虽然图6显示在处理器605中使用管线电子电路300的一IHS,但IHS可采取许多形式。举例而言,IHS 600可采取桌上型、服务器、便携式、膝上型、笔记本型或其它形状因子的计算机或数据处理系统的形式。IHS 600可采取其它形状因子,诸如游戏器件、个人数字助理(PDA)、便携式电话器件、通信器件或包括处理器和存储器的其它器件。
前述内容公开通过识别时钟门控机会而实现在管线的级中的电力节约的管线电子电路和设计方法。在一实施例中,仿真结果可帮助设计者设计管线电子电路,以通过在管线的级之间在仿真识别的时钟门控机会位置处并入时钟门控电路而实现电力节约。
鉴于本发明的描述,本发明的修改和替代实施例对于本领域普通技术人员而言将为显而易见的。因此,该描述向本领域普通技术人员教导了执行本发明的方式并且意欲被解释为仅为说明性的。所显示和描述的本发明的形式组成本发明的实施例。本领域普通技术人员可对部件的形状、大小和配置作出各种改变。举例而言,本领域普通技术人员可用等效组件来替代此处所说明和描述的组件。此外,本领域普通技术人员在受益于本发明的该描述之后可在不脱离本发明的范围的情况下独立于其它特征的使用而使用本发明的特定特征。

Claims (20)

1.一种在管线电子器件中的用于电力节约的方法,其中所述管线电子器件包括多个管线级,所述多个管线级包括第一和第二管线级,每一管线级包括可操作以被时钟门控的逻辑组件,每一管线级将信息供应至下游管线级;所述方法包括:
仿真所述管线电子器件的操作,以判定用于指定在预定条件下可操作以被时钟门控的所选逻辑组件的仿真结果;和
基于所述仿真结果,时钟门控该管线电子器件的所述所选逻辑组件。
2.如权利要求1的方法,其中该仿真步骤包括:通过监视从时钟循环至时钟循环的未改变逻辑状态的第一管线逻辑组件的该第一管线级来针对时钟门控机会而分析该第二管线级。
3.如权利要求1的方法,其中该仿真步骤包括:通过监视从时钟循环至时钟循环的已被时钟门控的第一管线逻辑组件的该第一管线级来针对时钟门控机会而分析该第二管线级。
4.如权利要求1的方法,其中该仿真步骤包括:通过监视从时钟循环至时钟循环的未改变逻辑状态的第一管线逻辑组件的该第二管线级来针对时钟门控机会而分析该第一管线级。
5.如权利要求1的方法,其中该仿真步骤包括:通过监视从时钟循环至时钟循环的已被时钟门控的第二管线逻辑组件的该第二管线级来针对时钟门控机会而分析该第一管线级。
6.如权利要求1的方法,其中该仿真步骤进一步包括:通过仿真器从描述该管线电子器件的连线对照表产生仿真模型。
7.如权利要求6的方法,其进一步包括:通过该仿真器从时钟循环至时钟循环监视该第一和第二管线级的所述逻辑组件,以定位时钟门控机会。
8.如权利要求1的方法,其中该仿真器识别时钟门控机会,所述方法进一步包括:
相对于另一时钟门控机会加权一被识别时钟门控机会,以判定哪一时钟门控机会提供较多电力节省。
9.如权利要求1的方法,进一步包括:
修改该第一管线电子器件,以形成基于所述仿真结果来时钟门控所述所选逻辑组件的第二管线电子器件。
10.一种在管线电子器件中的用于电力节约的装置,其中所述管线电子器件包括多个管线级,所述多个管线级包括第一和第二管线级,每一管线级包括可操作以被时钟门控的逻辑组件,每一管线级可操作以将信息供应至下游管线级;所述装置包括:
仿真所述管线电子器件的操作,以判定用于指定在预定条件下可操作以被时钟门控的所选逻辑组件的仿真结果的部件;和
基于所述仿真结果,时钟门控该管线电子器件的所述所选逻辑组件部件。
11.如权利要求10的装置,其中该仿真部件包括:
监视从时钟循环至时钟循环的未改变逻辑状态的第一管线逻辑组件的该第一管线级以针对时钟门控机会而分析该第二管线级的部件。
12.如权利要求10的装置,其中该仿真部件进一步包括:
监视从时钟循环至时钟循环的已被时钟门控的第一管线逻辑组件的该第一管线级以针对时钟门控机会而分析该第二管线级的部件。
13.如权利要求10的装置,其中该仿真部件进一步包括:
监视从时钟循环至时钟循环的未改变逻辑状态的第一管线逻辑组件的该第二管线级以针对时钟门控机会而分析该第一管线级的部件。
14.如权利要求10的装置,其中该仿真部件进一步包括:
监视从时钟循环至时钟循环的已被时钟门控的第二管线逻辑组件的该第二管线级以针对时钟门控机会而分析该第一管线级的部件。
15.如权利要求10的装置,其中该仿真部件进一步包括:
从描述该管线电子器件的连线对照表产生仿真模型的部件。
16.如权利要求15的装置,进一步包括:
从时钟循环至时钟循环监视该第一和第二管线级的所述逻辑组件,以定位时钟门控机会的部件。
17.如权利要求10的装置,进一步包括:
响应于被识别的时钟门控机会,相对于另一时钟门控机会加权一被识别时钟门控机会,以判定哪一时钟门控机会提供较多电力节省的部件。
18.如权利要求10的装置,进一步包括:
修改该第一管线电子器件,以形成基于所述仿真结果来时钟门控所述所选逻辑组件的第二管线电子器件的部件。
19.一种信息处理系统(IHS),包括:
存储器,
管线电子处理器器件,其耦合至该存储器,该管线电子处理器器件包括:
多个管线级,其包括第一和第二管线级,每一管线级包括可操作以被时钟门控的逻辑组件,每一管线级可操作以将信息供应至下游管线级,其中所选逻辑组件可操作以基于该管线电子处理器器件的仿真而被时钟门控,该仿真可操作以指定可在预定条件下被时钟门控的所述所选逻辑组件。
20.一种计算机程序,包括当在计算机上运行所述程序时适于执行权利要求1至9中任一个的所有步骤的程序代码部件。
CN2008801024824A 2007-08-21 2008-08-14 管线电子电路设计中检测时钟门控机会的方法和装置 Active CN101779179B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/842,491 2007-08-21
US11/842,491 US8073669B2 (en) 2007-08-21 2007-08-21 Method and apparatus for detecting clock gating opportunities in a pipelined electronic circuit design
PCT/EP2008/060722 WO2009024540A2 (en) 2007-08-21 2008-08-14 Method and apparatus for detecting clock gating opportunities in a pipelined electronic circuit design

Publications (2)

Publication Number Publication Date
CN101779179A true CN101779179A (zh) 2010-07-14
CN101779179B CN101779179B (zh) 2012-07-11

Family

ID=40378739

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008801024824A Active CN101779179B (zh) 2007-08-21 2008-08-14 管线电子电路设计中检测时钟门控机会的方法和装置

Country Status (9)

Country Link
US (1) US8073669B2 (zh)
EP (1) EP2179342B1 (zh)
JP (1) JP5147944B2 (zh)
KR (1) KR20100037628A (zh)
CN (1) CN101779179B (zh)
AT (1) ATE507520T1 (zh)
DE (1) DE602008006561D1 (zh)
TW (1) TW200915724A (zh)
WO (1) WO2009024540A2 (zh)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2456363A (en) * 2008-01-08 2009-07-15 Ibm Methods and system for clock gating enhancement
US7844843B2 (en) * 2008-12-22 2010-11-30 International Business Machines Corporation Implementing power savings in HSS clock-gating circuit
US8302043B2 (en) * 2009-09-17 2012-10-30 International Business Machines Corporation Verification of logic circuit designs using dynamic clock gating
US9495490B2 (en) 2012-07-16 2016-11-15 International Business Machines Corporation Active power dissipation detection based on erroneus clock gating equations
US9268889B2 (en) 2013-12-05 2016-02-23 International Business Machines Corporation Verification of asynchronous clock domain crossings
US10318695B2 (en) 2013-12-05 2019-06-11 International Business Machines Corporation Phase algebra for virtual clock and mode extraction in hierarchical designs
US9916407B2 (en) 2013-12-05 2018-03-13 International Business Machines Corporation Phase algebra for analysis of hierarchical designs
US9928323B2 (en) 2015-08-20 2018-03-27 Microsemi Solutions (U.S.), Inc. Method and system for functional verification and power analysis of clock-gated integrated circuits
US9639641B1 (en) * 2015-08-20 2017-05-02 Microsemi Storage Solutions (U.S.), Inc. Method and system for functional verification and power analysis of clock-gated integrated circuits
KR20170025447A (ko) * 2015-08-28 2017-03-08 삼성전자주식회사 클락 파워를 줄일 수 있는 집적 회로를 설계하는 방법
US10684862B2 (en) 2016-01-08 2020-06-16 Mitsubishi Electric Corporation Processor synthesis device, processor synthesis method, and computer readable medium
US10761559B2 (en) * 2016-12-13 2020-09-01 Qualcomm Incorporated Clock gating enable generation
US10585995B2 (en) * 2017-06-26 2020-03-10 International Business Machines Corporation Reducing clock power consumption of a computer processor
KR101952518B1 (ko) 2017-09-12 2019-02-26 두산중공업 주식회사 파이프 지지대 설계 시스템 및 그 방법
CN112100793B (zh) * 2019-05-31 2023-06-13 超威半导体(上海)有限公司 用于重定时流水线的基于条带的自选通

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6247134B1 (en) * 1999-03-31 2001-06-12 Synopsys, Inc. Method and system for pipe stage gating within an operating pipelined circuit for power savings
US6393579B1 (en) * 1999-12-21 2002-05-21 Intel Corporation Method and apparatus for saving power and improving performance in a collapsable pipeline using gated clocks
US6965991B1 (en) * 2000-05-12 2005-11-15 Pts Corporation Methods and apparatus for power control in a scalable array of processor elements
US20030070013A1 (en) * 2000-10-27 2003-04-10 Daniel Hansson Method and apparatus for reducing power consumption in a digital processor
US7035785B2 (en) * 2001-12-28 2006-04-25 Intel Corporation Mechanism for estimating and controlling di/dt-induced power supply voltage variations
US7100060B2 (en) * 2002-06-26 2006-08-29 Intel Corporation Techniques for utilization of asymmetric secondary processing resources
US7076681B2 (en) * 2002-07-02 2006-07-11 International Business Machines Corporation Processor with demand-driven clock throttling power reduction
US7065665B2 (en) * 2002-10-02 2006-06-20 International Business Machines Corporation Interlocked synchronous pipeline clock gating
US20040193846A1 (en) * 2003-03-28 2004-09-30 Sprangle Eric A. Method and apparatus for utilizing multiple opportunity ports in a processor pipeline
US7076682B2 (en) * 2004-05-04 2006-07-11 International Business Machines Corp. Synchronous pipeline with normally transparent pipeline stages
US7752426B2 (en) * 2004-08-30 2010-07-06 Texas Instruments Incorporated Processes, circuits, devices, and systems for branch prediction and other processor improvements
US7653807B2 (en) * 2005-09-19 2010-01-26 Synopsys, Inc. Removing a pipeline bubble by blocking clock signal to downstream stage when downstream stage contains invalid data
US7401242B2 (en) * 2005-09-27 2008-07-15 International Business Machines Corporation Dynamic power management in a processor design
US7797561B1 (en) * 2006-12-21 2010-09-14 Nvidia Corporation Automatic functional block level clock-gating
US7958483B1 (en) * 2006-12-21 2011-06-07 Nvidia Corporation Clock throttling based on activity-level signals
US7802118B1 (en) * 2006-12-21 2010-09-21 Nvidia Corporation Functional block level clock-gating within a graphics processor
JP4388965B2 (ja) * 2007-02-13 2009-12-24 富士通株式会社 クロックゲーティング解析プログラム、該プログラムを記録した記録媒体、クロックゲーティング解析装置、およびクロックゲーティング解析方法
US20080307240A1 (en) * 2007-06-08 2008-12-11 Texas Instruments Incorporated Power management electronic circuits, systems, and methods and processes of manufacture

Also Published As

Publication number Publication date
WO2009024540A2 (en) 2009-02-26
US8073669B2 (en) 2011-12-06
ATE507520T1 (de) 2011-05-15
WO2009024540A3 (en) 2009-09-17
JP5147944B2 (ja) 2013-02-20
EP2179342B1 (en) 2011-04-27
US20090055668A1 (en) 2009-02-26
TW200915724A (en) 2009-04-01
CN101779179B (zh) 2012-07-11
JP2010537293A (ja) 2010-12-02
EP2179342A2 (en) 2010-04-28
DE602008006561D1 (de) 2011-06-09
KR20100037628A (ko) 2010-04-09

Similar Documents

Publication Publication Date Title
CN101779179B (zh) 管线电子电路设计中检测时钟门控机会的方法和装置
US8244515B2 (en) Structure for detecting clock gating opportunities in a pipelined electronic circuit design
US7958475B2 (en) Synthesis of assertions from statements of power intent
US8812286B1 (en) Emulation of power shutoff behavior for integrated circuits
US7735030B1 (en) Simulating restorable registers in power domain systems
US5946475A (en) Method for performing transistor-level static timing analysis of a logic circuit
US20200192994A1 (en) Performance modeling and analysis of microprocessors using dependency graphs
US7509606B2 (en) Method for optimizing power in a very large scale integration (VLSI) design by detecting clock gating opportunities
Amrouch et al. Optimizing temperature guardbands
van Santen et al. New worst-case timing for standard cells under aging effects
Behal et al. An automated setup for large-scale simulation-based fault-injection experiments on asynchronous digital circuits
US10162917B1 (en) Method and system for implementing selective transformation for low power verification
Kumar et al. Machine learning-based microarchitecture-level power modeling of CPUs
Pedram Power estimation and optimization at the logic level
Vijayan et al. Machine learning-based aging analysis
Jia et al. An adaptive clock scheme exploiting instruction-based dynamic timing slack for a GPGPU architecture
Hara-Azumi et al. Instruction-set extension under process variation and aging effects
Bal et al. Trident: Comprehensive choke error mitigation in NTC systems
Yasuura Design Automation for Reliability
Lin et al. An Error Resilient Design Platform for Aggressively Reducing Power, Area and Routing Congestion
US20230110425A1 (en) Stimuli-independent clock gating determination
Bal et al. Dynamic Choke Sensing for Timing Error Resilience in NTC Systems
Kulkarni et al. Self-Driven Clock Gating Technique for Dynamic Power Reduction of High-Speed Complex Systems
Cheng et al. Application-based, transistor-level full-chip power analysis for 700 MHz PowerPC/sup TM/microprocessor
Park Self-tuning dynamic voltage scaling techniques for processor 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