CN101341656B - 用于多周期时钟门控的方法 - Google Patents

用于多周期时钟门控的方法 Download PDF

Info

Publication number
CN101341656B
CN101341656B CN2006800478040A CN200680047804A CN101341656B CN 101341656 B CN101341656 B CN 101341656B CN 2006800478040 A CN2006800478040 A CN 2006800478040A CN 200680047804 A CN200680047804 A CN 200680047804A CN 101341656 B CN101341656 B CN 101341656B
Authority
CN
China
Prior art keywords
gate
group
latching device
data latching
clock gating
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.)
Active
Application number
CN2006800478040A
Other languages
English (en)
Other versions
CN101341656A (zh
Inventor
C·艾斯纳
M·法卡施
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.)
Core Usa Second LLC
GlobalFoundries Inc
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 CN101341656A publication Critical patent/CN101341656A/zh
Application granted granted Critical
Publication of CN101341656B publication Critical patent/CN101341656B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Geometry (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Logic Circuits (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)

Abstract

一种设备包括多周期时钟门控器(20)以及电路设计更新器(22)。多周期时钟门控器(20)产生电路设计的数据锁存器件的多周期门控组。电路设计更新器(22)以选定的多周期门控组来更新电路设计。每个门控组与单一门控函数相关联。对于每个门控组,以门控函数来门控门控组的第0级数据锁存器件,并以该门控函数的第i个锁存版本来门控该门控函数的第i级数据锁存器件。

Description

用于多周期时钟门控的方法
技术领域
本发明总体涉及电路设计,并具体涉及对于数据锁存器件的时钟门控。
背景技术
复杂的硬件盘片通常包括数百万个晶体管。电路设计者通常利用计算机辅助设计程序来辅助他们的设计过程。一旦设计者已完成电路的概念设计,则存在多种可以执行的优化。
例如,对于低功率设计,通常添加逻辑元件使其他元件,当不需要它们时不进行操作,这通常是有用的。
现在参考图1A和图1B,它们示出了对于低功率操作可能发生的改变。图1A示出第一电路10,其具有触发器12。如同所有触发器,触发器12由时钟信号CLK控制。当时钟信号CLK变为高,则触发器12输出由其输入I计算得来的值Q,该输入I可以是逻辑电路14的函数,而该输入I又可以是多个输入(示出了a、b和c)的函数。触发器12将执行计算,而不考虑输入I是否变化。当涉及确定如何最小化其电路的功率消耗时,电路设计者可以检查触发器的活动性并可以“门控”那些他所知道在给定的特定情形下将不会改变值的触发器。为此,设计者可以添加线路以断开对该触发器的时钟输入。
这种改变在图1B中示出。在现在标记为10’的电路中,触发器12如逻辑电路14一样保留,但是触发器12的时钟信号已经改变。该时钟信号,标记为GCLK,现在是仅当时钟信号CLK和使能信号EN两者都激活时才激活的门控时钟信号。门控时钟信号GCLK由门16产生。这种在单独的触发器上执行的时钟门控被称为“细粒度(finegrained)”时钟门控。
用于时钟门控的另一方法被称为“粗粒度(coarse grained)”时钟门控。在粗粒度时钟门控下,使用相同的时钟门控函数关断大量触发器,以此提供功率使用量的显著降低。例如,作为单一单元操作的电路部分,诸如浮点单元,可以被时钟门控。
对于时钟门控的其他候选并不总是如此容易确定。另外,确定电路应当何时被门控的逻辑函数由逻辑门加以实现,诸如触发器。如果该逻辑函数与待门控电路相比是复杂的(即,其比被关断的电路具有更多的门),则该时钟门控极少节省,甚至不节省功率。
下文讨论自动时钟门控方法:
1997欧洲设计与测试会议,L.Benini,G.De Micheli,E.Macii,M.Poncino,R.Scarsi,“Symbolic Synthesis of Clocking-Gating Logic forPower Optimization of Control-Oriented Synchronous Networks”;1996年IFIP逻辑与结构合成国际研讨会会议文集,F.Theeuwen,E.Seelen的“Power Reduction through Clock Gating by SymbolicManipulation”。
1999年VLSI设计第十二次国际会议会议文集,N.Raghavan,V.Akella,S.Bakshi,“Automatic Insertion of Gated Clocks at RegisterTransfer Level”;以及T.Lang,E.Musoll,J.Cortadella,″IndividualFlip-Flops with Gated Clocks for Low Power Datapaths″,IEEETransactions on Circuits and Systems-II:Analog and Digital SignalProcessing,Vol.44,No.6,1997年6月。
发明内容
本发明的一些方面提供了用于寻找多周期时钟门控机会的方法,以及在随附的权利要求书中对其做出了定义,现在将参考这些内容。
因此,根据本发明优选实施方式,提供了具有多周期时钟门控器以及电路设计更新器的单元。多周期时钟门控器可以产生电路设计的数据锁存器件的多周期门控组。电路设计更新器可以以选定的多周期门控组来更新电路设计。
另外,根据本发明的优选实施方式,每个门控组可以与单一门控函数相关联。对于每个门控组,可以以门控函数来门控门控组的第0级数据锁存器件,以及可以以门控函数的第i级锁存的版本来门控门控函数的第i级数据锁存器件。
另外,根据本发明的优选实施方式,数据锁存器件可以是触发器或锁存器。
进一步,根据本发明的第一优选实施方式,多周期时钟门控器包括指示符信号发生器,展开器(unfolder)以及门控函数确定器。指示符信号发生器可以创建指示符信号用于标识其中输入电路设计的数据锁存器件的值不发生改变的条件。展开器可以以指示符信号多k次地展开电路,并且门控函数确定器可以从至少已展开的指示符信号确定用于多个数据锁存器件的多个候选门控函数。
更进一步,根据本发明的第一优选实施方式,门控函数确定器包括二进制决策图运算器用于建立一并“与”运算的已展开指示符信号的二进制决策图(BDD)X,用于在值不变化处生成X的BDD Y,对于每个时间戳k,去除其输入并非来自第k个周期的BDD Yk的变量。
另外,根据本发明的第二优选实施方式,多周期时钟门控器包括电路检查器、门控函数确定器以及组发生器。电路检查器可以寻找电路中仅依赖输入周期的数据锁存器件的组G。门控函数确定器可以确定组G中共享第j个门控函数Fj的数据锁存器件的组Hj,以及组发生器可以对于每个组Hj,添加电路中从组Hj的现有数据锁存器件接收输入的数据锁存器件。
进一步,根据本发明的第二优选实施方式,组发生器包括0级定义器以及非0级定义器,对于每个初始组Hj,0级定义器用于将其中的数据锁存器件定义为0级数据锁存器件;对于每个第i级,非0级定义器用于,如果电路的某个数据锁存器件仅依赖于已经出现在组Hj中的i级数据锁存器件,则将该数据锁存器件添加至组Hj中作为i+1级数据锁存器件。
最后,根据本发明的优选实施方式,本发明并入由多周期时钟门控器以及电路设计更新器实现的方法。
附图说明
在说明书的结束部分具体指出并明确要求保护的内容被认为是本发明的主题。然而,本发明,对于操作方法和机构两者,连同其对象、特征以及有益效果,可以通过阅读附图参考下文的详细描述而得到更好的理解,其中:
图1A是具有触发器的电路的示意电路图;
图1B是具有对触发器的时钟门控的图1A的电路的示意图;
图2是降低功率的电路检查器的示意框图;
图3是根据本发明的第一实施方式操作的时钟门控方法的示意流程图;
图4A、图4B以及图4C是有助于理解图3的方法步骤的示意电路图;
图5是有助于理解图3的方法步骤的二进制决策图的示意图;
图6A是具有32个重复的相同电路的元件的示意电路图;
图6B是图6A的电路的时钟门控版本的示意电路图;以及
图7是根据本发明第二实施方式操作的时钟门控方法的示意流程图。
应该理解,出于示图简化性和清晰性的考虑,图中所示元件不一定按比例绘出。例如,为了清晰,某些元件的尺寸相比于其他元件可能被夸大。另外,在认为适当的场合,在图中重复使用附图标记来指示对应或类似的元件。
具体实施方式
在下文的详细描述中,描述了许多具体细节以便提供对于本发明的完全理解。然而,本领域技术人员应该理解,本发明可以不具备这些特定细节而得以实施。在其他的举例中,并未详细描述公知方法、过程和组件从而避免模糊本发明。
除了特别说明之外,应该理解,利用了诸如“过程”、“计算”、“运算”、“确定”等术语的讨论代指计算机、计算系统或类似电子计算设备中用于对表现为计算系统的寄存器和/或存储器内的诸如电子之类的物理量的数据进行操作和/或将其变换为类似地表现为计算系统的存储器、寄存器或其他此类信息存储、传输或显示设备内的物理量的数据的动作和/或过程。
本文所述的过程和显示并不固有地涉及任何特定计算机或其他设备。另外,本发明的实施方式并非参考任何特定编程语言而描述。应该理解,可以使用各种编程语言来实现如本文所述的本发明的教导。
申请人已认识到存在这样的情形,其中能够以锁存的形式使用对于特定触发器的时钟门控函数作为对于至少一个其他触发器的时钟门控函数。这可以称为“多周期”时钟门控因为其可以包括使用相同、可能锁存的时钟门控函数的触发器的多个周期。
应该理解,以本发明的多周期门控组,电路的不同数据锁存器件在不同时间打开/关断,而不是一并关断一整段设计。
应该理解多周期门控组还可以门控数据锁存器件的“数据依赖”状态,其中数据依赖状态可以定义为当数据锁存器件的输出不仅依赖于输入值而且依赖于数据输入值时的状态。数据独立状态是那些其中无论数据输入如何数据锁存器件的输出都相同的状态。例如,对于简单输入函数,诸如(如果EN=1则f(A,B,C)否则为Q),当输出Q的值不变时存在两种情况:1)当EN=0;2)当EN=1以及f(A,B,C)=Q。第一种情况不依赖任何输入值A、B或C,并因此是数据独立的。第二种情况由于依赖输入值A、B或C,其是数据依赖的。
现在参考图2,其示出了降低功率的、电路检查器18。检查器18可以包括新颖的、多周期时钟门控器20以及电路更新器22。多周期时钟门控器20可以检查输入电路设计R用于寻找可能的、多周期、时钟门控机会并产生逻辑函数用于控制时钟门。电路更新器22可以与诸如电路设计者的用户交互,用于确定用户希望实施哪些可能的机会,并能够以选定的时钟门和与它们关联的逻辑来更新电路设计R。结果可以是更新的、更低功率的设计R’。
多周期时钟门控器20可以产生时钟门控逻辑函数,该函数可以用于多个周期,因此允许了用于时钟门控的更大函数(即具有更多的门)和/或降低了开销。
可以通过将电路作为整体考虑来操作多周期时钟门控器20,而不是基于其操作将电路划分为多个单元。现在参考图3,其示出了时钟门控器20所执行的方法,以及参考图4A、图4B和图4C,其有助于理解图3的方法的步骤。
初始地,时钟门控器20可以检查设计R用于识别(步骤24)其中的触发器、锁存器或其他数据锁存器件。其余的讨论将使用术语“触发器”,如图4中所示。然而,应该理解本发明对于所有类型的数据锁存器件均可操作。
在步骤25,时钟门控器20可以确定哪个使能信号控制哪个触发器,并可以据此对触发器分组。应理解,并非所有触发器都可以由使能信号控制,并且并非所有使能信号都可以用于门控。某些使能信号可以控制附近具有反馈回路的触发器。此种使能信号可以转换为使用在2005年12月7日提交的序列号为No.11/295936的、授予本发明共同受让人的美国专利申请“Clock Gating Through DataIndependent Logic”所描述方法的不同使能信号,该文献的公开内容通过引用并入本文。
对于每个如此确定的(如循环23中所检查的)使能信号,时钟门控器20可以继而临时增加逻辑(步骤26),该逻辑可以识别条件,在该条件下电路中由当前使能信号使能的触发器、或未分配给任何使能信号的触发器的值均不发生变化。例如,图4A示出待分析电路30。电路30具有五个输入x1,x2,x3,x4和x5以及三个触发器FF-1,FF-2和FF-3。电路30还具有组合逻辑32-1、32-2和32-3,其中逻辑32-1和32-3馈送触发器FF-1和FF-3,并且逻辑32-2将触发器FF-1和FF-3的输出组合以馈送到触发器FF-2。
图4B示出了在增加了分别与触发器FF-1,FF-2和FF-3相关联的临时逻辑34-1、34-2和34-3之后的电路,此处标号为30’。在本示例中,每个额外逻辑34-i(对于i=1,...,N,其中N是电路30中触发器的数目)可以是XOR门,其接收其所关联的触发器FF-i的输入A和输出B。XOR 34-i的输出信号可以是指示符信号pi,并且当其所关联的触发器FF-i的输入A和输出B不相同时其值为1,并且当输入A和输出B相同时其值为0。因此,指示符信号pi可以指示触发器FF-i何时改变值以及何时其未改变。时钟门控器20可以增加额外逻辑34-i(即,图4B中举例中的XOR)到RTL逻辑描述。
回到图3,在步骤40,时钟门控器20可以K步骤地“展开”电路30’,其中K是感兴趣逻辑的深度。例如,K可以定义为从芯片输入到芯片输出、或从芯片的某分段输入到其输出的最长路径中触发器的数目。在图4的示例中,K可以是2,由于只有两级触发器(第一级的FF-1和FF-3以及第二级的FF-2)。
“展开”可以是对于每k次虚拟制作电路30’副本的过程。2003年CHARME给出的,作者为R.Tzoref,M.Matusevich,E.Berger,I.Beer,题目为“An Optimized Symbolic Bounded Model CheckingEngine”的文章讨论了在符号模型检验器内的展开过程。
图4C示出了示例性电路30’对于周期1和2的展开。每个输入信号被记录有时间戳,如同指示符信号pi所记录的时间戳。例如,图4C对于两个周期,周期1和周期2,具有输入信号x1的两个副本(x11,x12)并且存在指示符信号p3的两个副本(p31,p32)。
返回图3,时钟门控器20可以继而建立(步骤42)二进制决策图(BDD)X,其表示一并“与”运算的已展开指示符信号pik。二进制决策图(BDD)通常是布尔表达式的简明表示,并一般用于符号模型检验,尤其是复杂硬件的检验。
简略地,BDD是表示布尔表达式的有向无环图。现在简略对图5进行参考,图5中示出了表达式((A&B&C)|(C&D))的示例性BDD,其中“&”代表“AND(与)并且“|”代表“OR(或)”。每个周期(或节点)指示变量(A,B,C,D),并且线指示当变量评估为FALSE(假)(左边)或TRUE(真)(右边)时接下来遵循的方向。叶节点51表示布尔表达式的值。
因此,在步骤42,时钟门控器20可以利用修改的电路30’的RTL逻辑来确定定义了每个指示符信号pi的布尔表达式Qi。由于布尔运算可以在BDD中执行,时钟门控器20可以一并“与”运算所有的布尔表达式Qi以及它们的多个副本Qik用于产生BDD X。
在步骤44,时钟门控器20可以产生不变BDD,其具有当触发器FF-i值不变时指示符信号pi所产生的值。在此实施方式中,当触发器FF-i值不变时指示符信号pi产生值为0,并因此,对于此实施方式,时钟门控器20可以通过创建BDD X=0来产生不变的BDD Y。
在0到K的k次循环50中,时钟门控器20可以通过消除任何依赖于来自并非k周期的输入xjk的指示符信号pi来确定第k个门控组。这样,时钟门控器20可以首先产生(步骤52)周期k中使用的不变BDD Y的临时副本Yk。时钟门控器20可以继而从临时不变BDDYk去除(步骤54)作为来自非k周期的输入xjnot_k的函数的任何指示符信号pi(not_k)。保留的指示符信号pi(remaim)形成第k个候选门控组Yk’。
时钟门控器20可以去除不理想的信号pi(not_k),并且可以继而对BDD Yk’执行标准压缩。此操作在现有技术中是已知的,并在1986年,IEEE Transactions on Computers,Vol.C-35(8),R.Bryant的题目为“Graph-based algorithms for Boolean function manipulation”文章中讨论。
留在第k个候选门控组Yk’中的保留指示符信号pi(remaim)指示能够以当前使能信号和/或其锁存形式门控的触发器FF-i。
相比于实现其门控函数所需要的逻辑,大的门控组可以是用于时钟门控的良好候选。门控组的大小可由其中触发器或其他数据锁存器件的数目所定义。
当时钟门控器20结束循环23和50,时钟门控器20可以具有一组候选门控函数以及它们的门控组用于检查。电路更新器22可以向电路设计者提供这些门控函数以及它们的门控组,以便其可以选择哪些加以实施,在此之后,电路更新器22可以继而将选定的门控函数添加到电路,从而产生更新的电路R’。
现在简略地参考图6A,其中示出了32个重复的相同元件n的简单电路,以及参考图6B,其示出了电路的时钟门控情形。每个元件n具有输入s(n)、多路复用器60-n、以及三个级联触发器62A-n、62B-n和62C-n。触发器62A-n、62B-n和62C-n的输出为a(n)、b(n)和o(n),并且多路复用器60-n的输入为输入s(n)、信号en、以及触发器62A-n的输出a(n)。使能信号en使能多路复用器60-n。
对于这样的电路,时钟门控器20可以产生以下门控函数,在图6B中示出。
以使能信号en来门控信号a(n),用于生成门控的时钟g0;
以使能信号en的锁存版本来门控信号b(n),用于生成门控的时钟g1;以及
以使能信号en的双重锁存版本来门控信号o(n),用于生成门控的时钟g2。
对于此举例,开销为三个门70-1、70-2和70-3以及两个延迟72-1和72-2。在某些情况下,这可能是可接受的开销。应该理解,即使存在简单电路之间的组合逻辑(因此,例如,b(0)可以是a(0)-a(4)的函数),上述门控也可以工作。
现在参考图7,其示出了可选的方法,将由时钟门控器20执行,用于确定对哪些数据锁存器件进行时钟门控以实现多周期时钟门控。
如前文的实施方式,时钟门控器20可以初始地检查设计R用于识别(步骤24)其中的数据锁存器件。再次地,下文的讨论将使用示例性触发器,应理解这包括所有类型的数据锁存器件。
根据本发明的可选的优选实施方式,时钟门控器20可以遍历(步骤80)设计R的连线表用于确定哪些触发器仅依赖输入。这便是组G。
在步骤82,时钟门控器20可以检查在先前步骤中所识别的“仅输入”触发器G,用于确定哪些触发器根据相同的时钟门控函数Fj操作。时钟门控函数Fj可以仅是对于仅输入触发器G的使能函数。可选地,可以使用用于细粒度时钟门控的标准算法确定时钟门控函数Fj,诸如上文提到的2005年12月7日提交的序列号为No.11/295936的美国专利申请“Clock Gating Through Data IndependentLogic”中所描述的算法。结果可以列出能够以第j个门控函数Fj一并时钟门控的数据锁存器件的组Hj
时钟门控器20可以继而确定将由每个门控函数Fj门控的触发器。对于每个门控函数Fj,由循环84经过j次所控制,时钟门控器20可以将门控组Hj中的触发器初始化(步骤86)为“0级”触发器。时钟门控器20可以继而进入经过i次的循环88。在步骤90,时钟门控器20可以检查电路的触发器用于在门控组Hj中寻找那些仅依赖i级触发器的触发器。这些触发器可以标记为“i+1级”触发器,并可以添加到门控组Hj。在步骤92,时钟门控器20可以检测在步骤90是否有任何新的触发器添加至门控组Hj。如果是,则时钟门控器20可以在步骤94递增i,并且可以继续循环88直到步骤92的结果为否定结果。
对于每个门控组j,时钟门控器20可以产生以下门控函数:
以时钟门控函数Fj来门控0级触发器的信号;
以时钟门控函数Fj的第i个锁存版本来门控第i级触发器的信号。
每个门控组Hj的大小可以是其中存储的触发器的数目。
尽管本发明的某些特征已在本文示出或描述,对于本领域技术人员将出现许多变型、替换、改变以及等同。因此,应该理解,随附的权利要求书意在覆盖所有这些在本发明的真实精神的范围内的变型以及改变。
本公开的范围包括本文所公开的任何新的特征以及特征的组合。因此申请人提请注意将可能在本申请或任何由此产生的进一步申请的授权过程中撰写对于这些特征或特征组合的新的权利要求。具体而言,参考随附的权利要求书,独立权利要求的特征可以与从属权利要求的特征相结合并且相应从属权利要求可以按任何可能的方式互相组合而不仅仅是权利要求书中所列举的特定组合。
为了避免疑问,在说明书和权利要求书中通篇使用的术语“包括”,不应限定为“仅由……组成”之意。

Claims (10)

1.一种用于产生数据锁存器件的多周期门控组的方法,所述方法包括:
创建指示符信号用于标识条件,在所述条件下输入电路设计的数据锁存器件的值不变;
以所述指示符信号多K次地展开所述电路;以及
从至少已展开指示符信号为所述数据锁存器件确定多个候选门控函数,
其中所述确定包括:
建立一并进行“与”运算的所述已展开指示符信号的二进制决策图X;
在值不变处产生X的二进制决策图Y;以及
对于每个时间戳k,去除其输入并非来自第k周期的二进制决策图Yk的变量。
2.根据权利要求1所述的方法,其中每个所述门控组与单一门控函数相关联,并且还包括对于每个门控组,以所述门控函数来门控所述门控组的第0级数据锁存器件,并以所述门控函数的第i个锁存版本来门控所述门控组的第i级数据锁存器件。
3.根据任意前述权利要求所述的方法,其中所述产生数据锁存器件的多周期门控组包括:
寻找所述电路中的仅依赖输入周期的数据锁存器件的组G;
确定所述组G中的共享第j个门控函数Fj的数据锁存器件的组Hj;以及
对于每个组Hj,添加所述电路的接收来自组Hj中现有数据锁存器件的输入的数据锁存器件。
4.根据权利要求3所述的方法,其中所述添加包括:
对于每个初始的组Hj,将其中的所述数据锁存器件定义为0级数据锁存器件;以及
对于每个第i级,如果所述电路的数据锁存器件仅依赖已出现在组Hj中的i级数据锁存器件,则将所述数据锁存器件添加至组Hj作为i+1级数据锁存器件。
5.一种多周期时钟门控器,用于产生数据锁存器件的多周期门控组,所述多周期时钟门控器包括:
指示符信号发生器,用于创建指示符信号来标识条件,在所述条件下输入电路设计的数据锁存器件的值不变;
展开器,用于以所述指示符信号多K次地展开所述电路;以及
门控函数确定器,用于从至少已展开指示符信号为所述数据锁存器件确定多个候选门控函数;并且
其中所述门控函数确定器包括:
二进制决策图运算器,用于建立一并进行“与”运算的所述已展开指示符信号的二进制决策图X,用于在值不变处产生X的二进制决策图Y,以及对于每个时间戳k,用于去除其输入并非来自第k周期的二进制决策图Yk的变量。
6.根据权利要求5所述的多周期时钟门控器,包括:
电路检查器,用于寻找所述电路中仅依赖输入周期的数据锁存器件的组G;
门控函数确定器,用于确定所述组G中共享第j个门控函数Fj的数据锁存器件的组Hj;以及
组发生器,对于每个组Hj,用于添加所述电路的接收来自组Hj中现有数据锁存器件的输入的数据锁存器件。
7.根据权利要求6所述的多周期时钟门控器,其中所述组发生器包括:
0级定义器,用于对于每个初始的组Hj将其中的所述数据锁存器件定义为0级数据锁存器件;以及
非0级定义器,用于对于每个第i级,如果所述电路的数据锁存器件仅依赖已出现在组Hj中的i级数据锁存器件,则将所述数据锁存器件添加至组Hj作为i+1级数据锁存器件。
8.根据前述权利要求5-7中任一项所述的多周期时钟门控器,其中每个所述门控组与单一门控函数相关联,并且其中电路设计更新器包括门控函数实现器用于门控所述数据锁存器件,其中对于每个门控组,所述门控函数实现器以所述门控函数来门控所述门控组的第0级数据锁存器件,并以所述门控函数的第i个锁存版本来门控所述门控组的第i级数据锁存器件。
9.根据前述权利要求5-7中任一项所述的多周期时钟门控器,其中所述数据锁存器件是以下类型:触发器和锁存器。
10.一种装置,包括:
根据前述权利要求5-9中任一项所述的多周期时钟门控器,用于产生电路设计的数据锁存器件的多周期门控组;以及
电路设计更新器,用于以选定的多周期门控组来更新所述电路设计。
CN2006800478040A 2005-12-19 2006-11-16 用于多周期时钟门控的方法 Active CN101341656B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/311,756 2005-12-19
US11/311,756 US7594200B2 (en) 2005-12-19 2005-12-19 Method for finding multi-cycle clock gating
PCT/EP2006/068582 WO2007071506A1 (en) 2005-12-19 2006-11-16 A method for multi-cycle clock gating

Publications (2)

Publication Number Publication Date
CN101341656A CN101341656A (zh) 2009-01-07
CN101341656B true CN101341656B (zh) 2010-09-22

Family

ID=37880745

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2006800478040A Active CN101341656B (zh) 2005-12-19 2006-11-16 用于多周期时钟门控的方法

Country Status (9)

Country Link
US (1) US7594200B2 (zh)
EP (1) EP1964266B1 (zh)
JP (1) JP4988758B2 (zh)
KR (1) KR100992025B1 (zh)
CN (1) CN101341656B (zh)
AT (1) ATE425585T1 (zh)
DE (1) DE602006005714D1 (zh)
TW (1) TW200745891A (zh)
WO (1) WO2007071506A1 (zh)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008028930A (ja) * 2006-07-25 2008-02-07 Toshiba Corp 半導体集積回路及びその設計方法
US7930673B2 (en) 2007-05-29 2011-04-19 Magma Design Automation, Inc. Method for automatic clock gating to save power
US7458050B1 (en) 2008-03-21 2008-11-25 International Business Machines Corporation Methods to cluster boolean functions for clock gating
US7884649B1 (en) * 2009-02-27 2011-02-08 Magma Design Automation, Inc. Selection of optimal clock gating elements
US8132144B2 (en) * 2009-06-17 2012-03-06 Oracle America, Inc. Automatic clock-gating insertion and propagation technique
US8166444B2 (en) * 2009-06-23 2012-04-24 International Business Machines Corporations Clock gating using abstraction refinement
JP5368941B2 (ja) * 2009-11-06 2013-12-18 シャープ株式会社 論理回路設計支援方法及び装置
JP5494468B2 (ja) * 2010-12-27 2014-05-14 富士通株式会社 状態検出装置、状態検出方法および状態検出のためのプログラム
KR20140020404A (ko) 2012-08-08 2014-02-19 삼성전자주식회사 집적 회로의 소비 전력 모델링 방법 및 장치
US8890573B2 (en) * 2012-09-07 2014-11-18 Nvidia Corporation Clock gating latch, method of operation thereof and integrated circuit employing the same
US8656326B1 (en) * 2013-02-13 2014-02-18 Atrenta, Inc. Sequential clock gating using net activity and XOR technique on semiconductor designs including already gated pipeline design
US9268889B2 (en) 2013-12-05 2016-02-23 International Business Machines Corporation Verification of asynchronous clock domain crossings
US9916407B2 (en) 2013-12-05 2018-03-13 International Business Machines Corporation Phase algebra for analysis of hierarchical designs
US10503856B2 (en) 2013-12-05 2019-12-10 International Business Machines Corporation Phase algebra for specifying clocks and modes in hierarchical designs
US10318695B2 (en) 2013-12-05 2019-06-11 International Business Machines Corporation Phase algebra for virtual clock and mode extraction in hierarchical designs
US10761559B2 (en) * 2016-12-13 2020-09-01 Qualcomm Incorporated Clock gating enable generation
CN116959519B (zh) * 2023-09-20 2023-12-15 深圳比特微电子科技有限公司 存储设备、包含该存储设备的片上系统和计算装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5980092A (en) * 1996-11-19 1999-11-09 Unisys Corporation Method and apparatus for optimizing a gated clock structure using a standard optimization tool
CN1573643A (zh) * 2003-06-18 2005-02-02 威盛-赛瑞斯公司 分级式时钟门控电路

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03131976A (ja) * 1989-10-18 1991-06-05 Hitachi Ltd 論理回路の製造方法
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
US6434704B1 (en) * 1999-08-16 2002-08-13 International Business Machines Corporation Methods for improving the efficiency of clock gating within low power clock trees
US6785832B2 (en) * 2001-06-22 2004-08-31 International Business Machines Corporation Process independent source synchronous data capture apparatus and method
JP2003330568A (ja) * 2002-05-09 2003-11-21 Toshiba Corp 半導体集積回路および回路設計システム
GB0210625D0 (en) 2002-05-09 2002-06-19 Paradigm Design Systems Control of guard flops
JP4083544B2 (ja) * 2002-11-18 2008-04-30 富士通株式会社 マルチサイクルパス解析方法
JP4288066B2 (ja) * 2002-12-27 2009-07-01 エヌエックスピー ビー ヴィ 回路装置
GB0301241D0 (en) * 2003-01-20 2003-02-19 Paradigm Design Systems Ltd Clocked gating on measured performance
GB0301244D0 (en) 2003-01-20 2003-02-19 Paradigm Design Systems Ltd Improved clock gating for synchronous circuits
US7080334B2 (en) * 2003-05-09 2006-07-18 Incentia Design Systems Corp. Automatic clock gating insertion in an IC design
US7032192B2 (en) * 2003-05-22 2006-04-18 Fujitsu Limited Performing latch mapping of sequential circuits
US6983437B2 (en) * 2003-11-05 2006-01-03 Sun Microsystems, Inc. Timing verification, automated multicycle generation and verification
JP2007164590A (ja) * 2005-12-15 2007-06-28 Fujitsu Ltd 回路設計装置、回路設計プログラム、及び回路設計方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5980092A (en) * 1996-11-19 1999-11-09 Unisys Corporation Method and apparatus for optimizing a gated clock structure using a standard optimization tool
CN1573643A (zh) * 2003-06-18 2005-02-02 威盛-赛瑞斯公司 分级式时钟门控电路

Also Published As

Publication number Publication date
US20070157130A1 (en) 2007-07-05
ATE425585T1 (de) 2009-03-15
CN101341656A (zh) 2009-01-07
WO2007071506A1 (en) 2007-06-28
TW200745891A (en) 2007-12-16
EP1964266A1 (en) 2008-09-03
EP1964266B1 (en) 2009-03-11
KR20080077231A (ko) 2008-08-21
DE602006005714D1 (de) 2009-04-23
JP4988758B2 (ja) 2012-08-01
US7594200B2 (en) 2009-09-22
JP2009520287A (ja) 2009-05-21
KR100992025B1 (ko) 2010-11-05

Similar Documents

Publication Publication Date Title
CN101341656B (zh) 用于多周期时钟门控的方法
Pedram Power minimization in IC design: Principles and applications
Chow et al. Low power realization of finite state machines—a decomposition approach
Weaver et al. Post-placement C-slow retiming for the Xilinx Virtex FPGA
Razdan PRISC: Programmable reduced instruction set computers
JP2000057201A (ja) 低電力vlsiデザインのための制限付きレジスタ共用方法及びそのシステム
Alam et al. Power efficient high-level synthesis by centralized and fine-grained clock gating
Pedram et al. Low-power RT-level synthesis techniques: a tutorial
US11308025B1 (en) State machine block for high-level synthesis
US20050039152A1 (en) Timing path detailer
Staunstrup et al. From high-level descriptions to VLSI circuits
Brandt et al. The model checking view to clock gating and operand isolation
Blaauw et al. Automatic generation of behavioral models from switch-level descriptions
Kim Null convention logic circuits for asynchronous computer architecture
Bingham et al. Self-timed adaptive digit-serial addition
Macii Sequential synthesis and optimization for low power
Barkalov et al. Basic Approaches for Reducing Power Consumption in Finite State Machine Circuits—A Review
Khodosevych et al. Combining relaxation with NCL_X for enhanced optimization of asynchronous NULL convention logic circuits
Roy et al. Partitioning sequential circuits for low power
US8245178B2 (en) Method for multi-cycle clock gating
Nystrom et al. An eight-bit divider implemented in asynchronous pulse logic
Thillai Rani et al. Recurrent deep neural learning classification algorithm based high level synthesis in VLSI circuit with runtime adaptability
Man et al. Power optimization of sequential circuits using switching activity based clock gating
Mamaghani et al. Asynchronous dataflow de-elastisation for efficient heterogeneous synthesis
De Gloria Microprocessor design for embedded system

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
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20171108

Address after: Grand Cayman, Cayman Islands

Patentee after: GLOBALFOUNDRIES INC.

Address before: American New York

Patentee before: Core USA second LLC

Effective date of registration: 20171108

Address after: American New York

Patentee after: Core USA second LLC

Address before: American New York

Patentee before: International Business Machines Corp.