JP2009218839A - クロック供給回路 - Google Patents
クロック供給回路 Download PDFInfo
- Publication number
- JP2009218839A JP2009218839A JP2008060182A JP2008060182A JP2009218839A JP 2009218839 A JP2009218839 A JP 2009218839A JP 2008060182 A JP2008060182 A JP 2008060182A JP 2008060182 A JP2008060182 A JP 2008060182A JP 2009218839 A JP2009218839 A JP 2009218839A
- Authority
- JP
- Japan
- Prior art keywords
- clock
- circuit
- signal
- output
- tree
- 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.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03H—IMPEDANCE NETWORKS, e.g. RESONANT CIRCUITS; RESONATORS
- H03H11/00—Networks using active elements
- H03H11/02—Multiple-port networks
- H03H11/26—Time-delay networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Manipulation Of Pulses (AREA)
- Logic Circuits (AREA)
Abstract
【課題】動作条件が厳しい場合でも、クロックゲーティング信号を含む経路のタイミング違反の発生を防ぐことができるクロック供給回路を提供する。
【解決手段】クロック供給回路1は、クロックツリー13からのクロック信号に基づく信号を複数のインバータ回路32a及び32bによって遅延させ、複数のインバータ回路32a及び32bによる遅延量に基づいてタイミング違反を推定するモニタ回路17を有する。さらに、クロック供給回路1は、モニタ回路17の推定結果に基づいて、組合せ回路16により生成されたクロックゲーティング信号を制御するOR回路18と、OR回路18の出力信号に基づいて、クロック信号を供給又はクロック信号の供給を停止するクロックゲーティング回路12とを有する。
【選択図】図1
【解決手段】クロック供給回路1は、クロックツリー13からのクロック信号に基づく信号を複数のインバータ回路32a及び32bによって遅延させ、複数のインバータ回路32a及び32bによる遅延量に基づいてタイミング違反を推定するモニタ回路17を有する。さらに、クロック供給回路1は、モニタ回路17の推定結果に基づいて、組合せ回路16により生成されたクロックゲーティング信号を制御するOR回路18と、OR回路18の出力信号に基づいて、クロック信号を供給又はクロック信号の供給を停止するクロックゲーティング回路12とを有する。
【選択図】図1
Description
本発明は、クロック供給回路に関し、特に、クロックゲーティング回路を有するクロック供給回路に関する。
近年、半導体集積回路の大規模化及び高速化に伴い、半導体集積回路における消費電力が増加している。そのため、半導体集積回路における消費電力を削減する技術として、クロックゲーティング回路を利用したクロック供給回路によりクロック信号を制御する方法が知られている。
クロック供給回路では、ある記憶素子、例えば、フロップフロップ(以下、FFという)にクロック信号を供給する必要がない場合、FFに供給されるクロック信号を停止する。即ち、クロック信号を供給しても、FFの記憶内容が更新されない場合には、クロック信号を「0」又は「1」に固定する。これにより、クロック信号が変化する回数が減少するため、回路の消費電力を削減することができる。このようなクロックゲーティング回路を利用して、論理回路の消費電力を低減するクロック供給回路が提案されている(例えば、特許文献1参照)。
従来のクロック供給回路は、いくつかの異なる周波数でクロック信号を生成するPLLと、クロックゲーティング回路と、クロックツリーと、クロックツリーの末端に接続された複数のFFと、1以上のFFの出力に基づいて、クロックゲーティング信号を生成する組合せ回路とにより構成されている。
クロックツリーは、PLLからのクロック信号を多数のFFに同位相で供給するために、同じ駆動力を持つバッファをツリー上に接続したものである。従って、クロックツリーの末端同士を比べるとクロック位相は揃っているが、クロックツリーの先頭と比較すると、末端クロック信号は数ナノ秒程度遅れている。一般に、接続されているFFの数が多いほど、クロックツリーのバッファの段数が増加し、クロックツリーを伝播したクロック信号の遅延量も大きくなる。
クロックツリーの末端に接続されたFFは、この遅延されたクロック信号に基づいて、クロックゲーティング信号のもとになる信号を生成する。組合せ回路は、この生成された信号に基づいて、クロックゲーティング信号を生成する。即ち、クロックゲーティング信号には、クロックツリーの遅延量に加え、クロックゲーティング信号を生成するための組合せ回路に含まれる論理ゲートによる遅延量も付加される。
クロックゲーティング回路は、クロックゲーティング信号の値に従って、クロック信号を通過させたり遮断したりする機能を有する。例えば、クロックゲーティング信号の値が「1」の場合、クロック信号を通過させ、クロックゲーティング信号の値が「0」の場合、クロック信号を遮断する。
ところが、クロックゲーティング回路では、クロックツリーの遅延量及び論理ゲートの遅延量が付加されたクロックゲーティング信号を利用し、遅延する前のクロック信号、即ち、PLLからのクロック信号を制御するため、クロックゲーティング信号を含む経路は、厳しいタイミング制約を受けることになる。つまり、クロックツリーの末端のFFとクロックゲーティング回路との間に置かれた組合せ回路に許される遅延時間は、より小さくなる。
更に、近年では、FF数の増加、クロック周波数の高速化に伴い、クロックツリーの遅延量及び論理ゲートの遅延量が相対的に大きく見えるようになっている。そのため、クロックゲーティング信号を含む経路は、動作条件が厳しい場合、例えば、電源電圧の低下、チップ温度の上昇等により信号伝播の遅延量が増大した場合、タイミング違反が発生するという問題がある。
特開2006−3249号公報
本発明は、動作条件が厳しい場合でも、クロックゲーティング信号を含む経路のタイミング違反の発生を防ぐことができるクロック供給回路を提供することを目的とする。
本発明の一態様によれば、クロック生成部からのクロック信号を遅延させるクロックツリーと、前記クロックツリーにより遅延されたクロック信号により動作する1以上のフリップフロップと、前記1以上のフリップフロップの出力信号に基づいて、クロックゲーティング信号を生成する組合せ回路と、遅延素子の段数が前記クロックツリー及び前記組合せ回路に基づいて設定された第1の遅延部と、前記第1の遅延部の出力を所定の遅延量だけ遅延させる第2の遅延部とを有し、前記クロックツリーからのクロック信号に基づく信号を前記第1及び前記第2の遅延部によって遅延させ、前記第1及び前記第2の遅延部による遅延量に基づいてタイミング違反を推定するモニタ回路と、前記モニタ回路の推定結果に基づいて、前記クロックゲーティング信号を制御する第1の論理ゲートと、前記第1の論理ゲートの出力信号に基づいて、前記クロック信号を供給又はクロック信号の供給を停止するクロックゲーティング回路とを有することを特徴とするクロック供給回路を提供することができる。
本発明のクロック供給回路によれば、動作条件が厳しい場合でも、クロックゲーティング信号を含む経路のタイミング違反の発生を防ぐことができる。
以下、図面を参照して本発明の実施の形態について詳細に説明する。
まず、図1に基づいて、本発明の一実施の形態に係るクロック供給回路の構成について説明する。図1は、本発明の一実施の形態に係るクロック供給回路の構成を示すブロック図である。
まず、図1に基づいて、本発明の一実施の形態に係るクロック供給回路の構成について説明する。図1は、本発明の一実施の形態に係るクロック供給回路の構成を示すブロック図である。
図1に示すように、本実施の形態のクロック供給回路1は、PLL11と、クロックゲーティング回路12と、クロックツリー13及び13aと、FF群14及び15と、組合せ回路16と、モニタ回路17と、OR回路18とを有して構成されている。クロックツリー13は、複数のバッファ19a〜19nを有して構成され、クロックツリー13aは、複数のバッファ20a〜20nを有して構成されている。また、FF群14は、3個のFF21a,21b及び21cと、2個の組合せ回路22a及び22bとを有して構成され、FF群15は、3個のFF23a,23b及び23cと、2個の組合せ回路24a及び24bとを有して構成されている。なお、FF群14及びFF群15は、それぞれ3個のFFを有しているが、1個、2個又は4個以上のFFを有していてもよい。
PLL11は、FF群14及び15に供給するための所定の周波数のクロック信号を生成し、生成したクロック信号をクロックゲーティング回路12及びクロックツリー13に供給する。
クロックゲーティング回路12は、後述するクロックゲーティング信号に基づいて、FF群15にPLL11からのクロック信号を供給する、あるいは、クロック信号の供給を停止する。
クロックツリー13は、PLL11から供給されたクロック信号を複数のバッファ19a〜19nを介して伝播し、伝播したクロック信号をFF群14の各FF21a〜21c及びモニタ回路17に供給する。
組合せ回路16は、FF21cから供給された信号に基づいて、クロックゲーティング信号を生成し、生成したクロックゲーティング信号をOR回路18に出力する。なお、組合せ回路16は、FF21cから出力される信号に基づいて、クロックゲーティング信号を生成しているが、複数のFFから出力される信号に基づいて、クロックゲーティング信号を生成してもよい。
モニタ回路17は、動作条件が厳しい場合、論理値「1」をOR回路18に出力し、動作条件が厳しくない場合、論理値「0」をOR回路18に出力する。ここで、動作条件が厳しい場合とは、電源電圧が低下する、あるいは、チップ温度が高くなる場合であり、動作条件が厳しくない場合とは、電源電圧が高くなる、あるいは、チップ温度が低下する場合である。一般に、電源電圧が低下する、あるいは、チップ温度が高くなると、信号伝播の遅延量が増大することが知られている。即ち、動作条件が厳しい場合、信号伝播の遅延量が増大することにより、タイミング違反を起こす可能性が高くなる。なお、モニタ回路17の構成については、後述する図2を用いて詳細に説明する。
OR回路18は、モニタ回路17からの出力が「1」の場合、組合せ回路16からのクロックゲーティング信号を「1」に固定し、クロックゲーティング回路12に出力する。また、OR回路18は、モニタ回路17からの出力が「0」の場合、組合せ回路16からのクロックゲーティング信号を通過し、クロックゲーティング回路12に出力する。
クロックゲーティング回路12は、OR回路18からの出力に基づいて、FF群15にPLL11からのクロック信号を供給する、あるいは、クロック信号の供給を停止する。クロックゲーティング回路12は、OR回路18の出力が「1」の場合、PLL11からのクロック信号をFF群15に供給し、OR回路18の出力が「0」の場合、クロック信号の供給を停止する。この場合、クロックゲーティング回路12には、AND回路を用いるようにするとよい。
なお、OR回路18の出力が「1」の場合、PLL11からのクロック信号をFF群15に供給し、OR回路18の出力が「0」の場合、クロック信号の供給を停止するようにしているが、OR回路18の出力が「0」の場合、PLL11からのクロック信号をFF群15に供給し、OR回路18の出力が「1」の場合、クロック信号の供給を停止するようにしてもよい。この場合、クロックゲーティング回路12には、OR回路を用いるようにするとよい。
このようにクロックゲーティング回路12により制御されたクロック信号は、クロックツリー13aに供給される。クロックツリー13aは、このクロックゲーティング回路12から供給されたクロック信号を複数のバッファ20a〜20nを介して伝播し、伝播したクロック信号をFF群15の各FF23a〜23cに供給する。
FF群15の各FF23a〜23cは、クロックゲーティング回路12により制御され、クロックツリー13aにより遅延されたクロック信号に基づいて、入力信号を取り込み、取り込んだ値を出力する。
ここで、動作条件が厳しい場合、論理値「1」を出力し、動作条件が厳しくない場合、論理値「0」を出力するモニタ回路17の構成について説明する。図2は、モニタ回路の構成を示すブロック図である。
図2に示すように、モニタ回路17は、3個のFF31a,31b及び31cと、複数のインバータ回路32aと、複数のインバータ回路32bと、インバータ回路32cと、EXOR回路33とを有して構成されている。この複数のインバータ回路32aにより第1の遅延部が構成され、複数のインバータ回路32bにより第2の遅延部が構成される。
モニタ回路17には、クロックツリー13からのクロック信号、言い換えると、クロックツリー13の末端のクロック信号が供給されている。各FF31a〜31cは、このクロックツリー13からのクロック信号の立ち上がりエッジにおいて動作する。なお、各FF31a〜31cは、クロックツリー13からのクロック信号の立ち下がりエッジにおいて動作してもよい。
FF31aは、クロックツリー13からのクロック信号の立ち上がりエッジにおいて、複数のインバータ回路32aの内、初段のインバータ回路32aの出力を取り込み、初段のインバータ回路32a及びEXOR回路33に出力する。初段のインバータ回路32aは、FF31aからの出力を反転し、FF31a及び次段のインバータ回路32aに出力する。即ち、FF31aでは、クロック信号の立ち上がりエッジにおいて、初段のインバータ回路32aにより反転された信号が取り込まれる。
初段のインバータ回路32aに供給された信号は、複数のインバータ回路32a及び32bを伝播し、FF31bに供給される。即ち、FF31aの出力は、FF31aとFF31bとの間に含まれるインバータ回路の段数分だけ遅延されFF31bに供給される。このインバータ回路32aは、クロックツリー13の段数と組合せ回路16の論理ゲートの段数との和の段数に対応する段数に設定されている。即ち、インバータ回路32aによってクロックツリー13及び組合せ回路16の遅延量を推定することができる。インバータ回路32bの段数は、所定の遅延量が得られるように設定されている。温度条件などが変わりクロックツリー13及び組合せ回路16の遅延量が変化する場合には、インバータ回路32aによる遅延量も同様に変化し、インバータ回路32a、32bの遅延量は、インバータ回路32bの遅延量だけ、クロックツリー13及び組合せ回路16の遅延量より常に大きい。クロックツリー13及び組合せ回路16の遅延量が増大してタイミング違反が発生する前に、インバータ回路32a、32bの遅延量からタイミング違反を事前に認識することができる。また、FF31aとFF31bとの間に含まれるインバータ回路は、偶数個のインバータ回路により構成する。
FF31bは、クロックツリー13からのクロック信号の立ち上がりエッジにおいて、最終段のインバータ回路32bの出力を取り込み、EXOR回路33に出力する。
EXOR回路33は、FF31aとFF31bから入力された値のEXOR演算を施し、EXOR演算結果をFF31cに出力する。
FF31cは、クロックツリー13からのクロック信号の立ち上がりエッジにおいて、入力されたEXOR演算結果を取り込み、インバータ回路32cに出力する。
インバータ回路32cは、FF31cからの入力を反転し、クロックゲーティング回路12に出力する。
次に、このように構成された実施の形態の動作について説明する。
まず、クロックゲーティング信号を含む経路の遅延量について説明する。図3は、クロックゲーティング信号を含む経路の遅延量について説明するためのタイミングチャートである。
まず、クロックゲーティング信号を含む経路の遅延量について説明する。図3は、クロックゲーティング信号を含む経路の遅延量について説明するためのタイミングチャートである。
PLL11から出力されるクロック信号は、クロックツリー13に入力される。矢印41は、このクロックツリー13に入力されたクロックツリー13の根元のクロック信号の波形を示している。
クロックツリー13に入力されたクロック信号は、複数のバッファ19a〜19nにより遅延され、FF群14に出力される。矢印42は、クロックツリー13の末端のクロック信号の波形を示している。
このように遅延されたクロック信号は、FF群14に入力される。FF群14のFF21cでは、この遅延されたクロック信号に基づいて、クロックゲーティング信号のもとになる信号が生成され、組合せ回路16に出力される。矢印43は、このFF群14の出力を示している。
組合せ回路16では、FF群14からの信号に基づいて、クロックゲーティング信号が生成される。即ち、このクロックゲーティング信号は、組合せ回路16の論理ゲートの段数分の遅延量が付加される。矢印44は、組合せ回路16により生成されたクロックゲーティング信号の波形を示している。
このように、クロックゲーティング信号を含む経路には、クロックツリー13による遅延量と、クロックゲーティング信号を生成する論理ゲートによる遅延量とが付加される。従来では、このクロックゲーティング信号がクロックゲーティング回路12に入力されている。
このように、クロックゲーティング回路12では、クロックツリー13及び組合せ回路16により遅延されたクロックゲーティング信号に基づいて、遅延量が付加される前のクロック信号、即ち、PLL11からのクロック信号の制御が行われる。そのため、セットアップタイムが厳しくなっていた。図3の例では、タイミング違反を起こしていないが、動作条件が厳しくなった場合、信号伝播の遅延量が増大し、タイミング違反を起こす可能性が高くなる。
本実施の形態では、動作条件が厳しくなりタイミング違反を起こしそうな場合、モニタ回路17から「1」を出力し、OR回路18によりクロックゲーティング信号を「1」に固定する。即ち、動作条件が厳しい場合には、クロックゲーティング信号をマスクして、タイミング違反を起こさないようにしている。
ここで、動作条件が厳しくなく、タイミング違反がない場合のモニタ回路17の動作について説明する。図4は、タイミング違反がない場合のモニタ回路の動作を説明するためのタイミングチャートである。
上述したように、モニタ回路17内の各FF31a〜31cは、クロックツリー13から出力されるクロック信号の立ち上がりにおいて動作する。まず、FF31aでは、初段のクロック信号の立ち上がりにおいて、初段のインバータ回路32aの出力が取り込まれる。FF31aに取り込まれた値は、初段のインバータ回路32a及びEXOR回路33に出力される。インバータ回路32aでは、入力された値が反転され、FF31a及び次段のインバータ回路32aに出力される。FF31aでは、次段のクロック信号の立ち上がりにおいて、初段のインバータ回路32aの出力が取り込まれ、インバータ回路32a及びEXOR回路33に出力される。即ち、FF31aからの出力は、矢印45に示すように、1周期毎に、「0」と「1」が反転され出力される。
FF31aからの出力は、複数のインバータ回路32a及び32bにより遅延された後、FF31bに入力される。即ち、FF31bの入力は、矢印46の示す波形になる。この複数のインバータ回路32a及び32bの遅延量は、クロックツリー13による遅延量と、クロックゲーティング信号を生成する論理ゲートの段数分の遅延量とに所定の遅延量を加えたものとなる。
FF31bでは、クロックツリー13から出力されるクロック信号の立ち上がりにおいて、最終段のインバータ回路32bの出力が取り込まれ、EXOR回路33に出力される。即ち、FF31bの出力は、矢印47に示す波形になる。このように、動作条件が厳しくなく、複数のインバータ回路32a及び32bによる遅延量がクロック信号の1周期以内に収まっている場合、FF31aとFF31bとの出力は、互いに反転した関係になる。
EXOR回路33には、FF31a及びFF31bからの出力が供給される。EXOR回路33では、図4に示すように、「0」と「1」が反転された値が入力され、EXOR演算が施される。この結果、EXOR回路33からは、EXOR演算結果として常に「1」が出力される。
EXOR回路33の出力は、FF31cに取り込まれた後、インバータ回路32cにより値が反転される。即ち、インバータ回路32cの出力は、矢印48に示すように、常に「0」が出力される。この結果、動作条件が厳しくない場合、モニタ回路17からは「0」がOR回路18に出力されることになり、組合せ回路16から出力されるクロックゲーティング信号がクロックゲーティング回路12に入力される。
クロックゲーティング回路12は、組合せ回路16から出力されるクロックゲーティング信号に基づいて、FF群15にPLL11からのクロック信号を供給する、あるいは、クロック信号の供給を停止する。即ち、PLL11からのクロック信号は、従来のクロックゲーティング信号と同じ論理により制御される。従って、動的な消費電力については、従来のクロックゲーティング回路と同程度の低消費電力効果が得られる。
次に、動作条件が厳しく、タイミング違反がある場合のモニタ回路17の動作について説明する。図5は、タイミング違反がある場合のモニタ回路の動作を説明するためのタイミングチャートである。なお、図5において図4と同様の動作については、説明を省略する。
矢印49は、動作条件が厳しく、信号伝播の遅延量が大きい場合、即ち、複数のインバータ回路32a及び32bによる遅延量がクロック信号の1周期以内に収まっていない場合を示している。
FF31bでは、クロックツリー13から出力されるクロック信号の立ち上がりにおいて、最終段のインバータ回路32bの出力が取り込まれ、EXOR回路33に出力される。即ち、FF31bの出力は、矢印50に示す波形になる。このように、動作条件が厳しく、複数のインバータ回路32a及び32bによる遅延量がクロック信号の1周期以内に収まっていない場合、FF31aとFF31bとの出力は、同一の値となる。
EXOR回路33には、FF31a及びFF31bからの出力が供給される。EXOR回路33では、図5に示すように、同じ値が入力され、EXOR演算が施される。この結果、EXOR回路33では、FF31aとFF31bとのEXOR演算が施され、常に「0」が出力される。
EXOR回路33の出力は、FF31cに取り込まれた後、インバータ回路32cにより値が反転され、出力される。即ち、インバータ回路32cの出力は、矢印51に示すように、常に「1」が出力される。この結果、動作条件が厳しい場合、モニタ回路17からは、常に「1」が出力されることにより、OR回路18から出力されるクロックゲーティング信号は、常に「1」に固定される。OR回路18により「1」に固定されたクロックゲーティング信号は、クロックゲーティング回路12に入力される。クロックゲーティング回路12では、この「1」に固定されたクロックゲーティング信号に基づいて、FF群15にPLL11から出力されるクロック信号を供給し続ける。
つまり、モニタ回路17は、動作条件が厳しくなり、従来のクロックゲーティング信号を含む経路がタイミング違反を起こす動作条件より先にタイミング違反を検出し、クロックゲーティング信号をマスクする。
図6は、クロック供給回路の動作を説明するためのタイミングチャートである。
図6に示すグラフは、動作条件と時間の関係を示している。動作条件の厳しさをKファクタという変数を使って表している。KファクタAは、クロックゲーティング信号がタイミング違反を起こす温度及び電源電圧条件であり、KファクタBは、モニタ回路17がタイミング違反を起こす温度及び電源電圧条件である。電源電圧が高い、あるいは、チップの温度が低い場合は、Kファクタの値は小さくなる。逆に、電源電圧が低い、あるいは、チップの温度が高い場合は、Kファクタの値は大きくなる。
図6に示すグラフは、動作条件と時間の関係を示している。動作条件の厳しさをKファクタという変数を使って表している。KファクタAは、クロックゲーティング信号がタイミング違反を起こす温度及び電源電圧条件であり、KファクタBは、モニタ回路17がタイミング違反を起こす温度及び電源電圧条件である。電源電圧が高い、あるいは、チップの温度が低い場合は、Kファクタの値は小さくなる。逆に、電源電圧が低い、あるいは、チップの温度が高い場合は、Kファクタの値は大きくなる。
上述したように、モニタ回路17の複数のインバータ回路32a及び32bには、クロックツリー13による遅延量と、クロックゲーティング信号を生成する論理ゲートの段数分の遅延量とに所定の遅延量を加えた遅延量が設定されている。モニタ回路17は、この設定された遅延量に基づいて、タイミング違反を検出している。そのため、KファクタAの動作条件において、クロックゲーティング信号を含む経路がタイミング違反を起こすより先に、KファクタBの動作条件において、モニタ回路17がタイミング違反を検出する。モニタ回路17においてタイミング違反が検出されると、モニタ回路17は、論理値「1」をOR回路18に出力する。モニタ回路17から「1」が出力されると、OR回路18によりクロックゲーティング信号が「1」に固定される。この結果、クロックゲーティング回路12は、PLL11からのクロック信号を通過させ、FF群15に供給する。
このように、モニタ回路17は、クロックゲーティング信号を含む経路がタイミング違反を起こすKファクタAよりも小さなKファクタBによりタイミング違反を検出する。従って、クロックゲーティング信号を含む経路がタイミング違反を起こす期間は、モニタ回路17の出力が「1」である期間に包含され、常に、クロックゲーティング信号を含む経路がタイミング違反を起こす期間はマスクされる。
以上のように、クロック供給回路1は、動作条件が厳しい場合に、クロックゲーティング信号をマスクするための制御信号を出力するモニタ回路17と、クロックゲーティング信号をマスクするOR回路18とを追加した。モニタ回路17は、クロックツリー13による遅延量と、クロックゲーティング信号を生成する論理ゲートの段数分の遅延量とに所定の遅延量を加えた遅延量が設定された複数のインバータ回路32a及び32bを有している。モニタ回路17では、この設定された遅延量に基づいて、タイミング違反の発生を検出する。この結果、クロック供給回路1は、クロックゲーティング信号がタイミング違反を起こす動作条件より先にタイミング違反を検出し、クロックゲーティング信号をマスクすることができる。
よって、本実施の形態のクロック供給回路によれば、動作条件が厳しい場合でも、クロックゲーティング信号を含む経路のタイミング違反の発生を防ぐことができる。
また、このようなクロック供給回路によれば、厳しい動作条件でのタイミング制約が緩和されるため、論理合成時のタイミング収束に要する時間を短縮できる。更に、厳しい動作条件でのタイミング制約が緩和されるため、論理合成時に所定の条件を与えた場合、クロックゲーティング信号を含む経路に、従来の論理ゲートより低消費電力型の論理ゲートを割り付けることが可能になる。即ち、本実施の形態のクロック供給回路によれば、論理合成時のタイミング収束に要する時間を短縮し、且つ、論理回路の消費電力を下げるという効果も得ることができる。
本発明は、上述した実施の形態に限定されるものではなく、本発明の要旨を変えない範囲において、種々の変更、改変等が可能である。
1…クロック供給回路、11…PLL、12…クロックゲーティング回路、13,13a…クロックツリー、14,15…FF群、16,22a,22b,24a,24b…組合せ回路、17…モニタ回路、18…OR回路、19a〜19n,20a〜20n…バッファ、21a〜21c,23a〜23c,31a〜31c…FF、32a〜32c…インバータ回路、33…EXOR回路。
Claims (5)
- クロック生成部からのクロック信号を遅延させるクロックツリーと、
前記クロックツリーにより遅延されたクロック信号により動作する1以上のフリップフロップと、
前記1以上のフリップフロップの出力信号に基づいて、クロックゲーティング信号を生成する組合せ回路と、
遅延素子の段数が前記クロックツリー及び前記組合せ回路に基づいて設定された第1の遅延部と、前記第1の遅延部の出力を所定の遅延量だけ遅延させる第2の遅延部とを有し、前記クロックツリーからのクロック信号に基づく信号を前記第1及び前記第2の遅延部によって遅延させ、前記第1及び前記第2の遅延部による遅延量に基づいてタイミング違反を推定するモニタ回路と、
前記モニタ回路の推定結果に基づいて、前記クロックゲーティング信号を制御する第1の論理ゲートと、
前記第1の論理ゲートの出力信号に基づいて、前記クロック信号を供給又はクロック信号の供給を停止するクロックゲーティング回路と、
を有することを特徴とするクロック供給回路。 - 前記モニタ回路は、前記クロックツリーにより遅延されたクロック信号により動作する第1のフリップフロップと、
遅延素子の段数が前記クロックツリー及び前記組合せ回路に基づいて設定された第1の遅延部と、前記第1の遅延部の出力を所定の遅延量だけ遅延させる第2の遅延部とによって構成される第2の論理ゲートと、
前記第2の論理ゲートの出力を前記クロックツリーにより遅延されたクロック信号により取り込む第2のフリップフロップと、
前記第1及び前記第2のフリップフロップの出力を論理演算する第3の論理ゲートとを有し、
前記第3の論理ゲートの出力に基づいて、前記タイミング違反を検出することを特徴とする請求項1に記載のクロック供給回路。 - 前記第2の論理ゲートは、偶数個のインバータ回路により構成されていることを特徴とする請求項2に記載のクロック供給回路。
- 前記第3の論理ゲートは、EXOR演算を行うEXOR回路であることを特徴とする請求項2又は請求項3に記載のクロック供給回路。
- 前記第1の論理ゲートは、OR回路であることを特徴とする請求項1から請求項4の何れか1項に記載のクロック供給回路。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008060182A JP2009218839A (ja) | 2008-03-10 | 2008-03-10 | クロック供給回路 |
US12/399,463 US7808293B2 (en) | 2008-03-10 | 2009-03-06 | Clock distribution circuit |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008060182A JP2009218839A (ja) | 2008-03-10 | 2008-03-10 | クロック供給回路 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2009218839A true JP2009218839A (ja) | 2009-09-24 |
Family
ID=41052976
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008060182A Pending JP2009218839A (ja) | 2008-03-10 | 2008-03-10 | クロック供給回路 |
Country Status (2)
Country | Link |
---|---|
US (1) | US7808293B2 (ja) |
JP (1) | JP2009218839A (ja) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7844843B2 (en) * | 2008-12-22 | 2010-11-30 | International Business Machines Corporation | Implementing power savings in HSS clock-gating circuit |
US8572418B2 (en) * | 2009-03-12 | 2013-10-29 | Qualcomm Incorporated | Moving clock gating cell closer to clock source based on enable signal propagation time to clocked storage element |
US9058070B2 (en) * | 2012-05-30 | 2015-06-16 | Utah State University | Predicting timing violations |
US9047184B2 (en) * | 2012-07-13 | 2015-06-02 | Arm Limited | Processing error detection within pipeline circuitry |
US9053257B2 (en) * | 2012-11-05 | 2015-06-09 | Advanced Micro Devices, Inc. | Voltage-aware signal path synchronization |
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 |
US9716505B2 (en) | 2014-12-15 | 2017-07-25 | Nxp Usa, Inc. | System and method for enhanced clocking operation |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5371417A (en) * | 1993-07-02 | 1994-12-06 | Tandem Computers Incorporated | Multiple frequency output clock generator system |
US6943610B2 (en) * | 2002-04-19 | 2005-09-13 | Intel Corporation | Clock distribution network using feedback for skew compensation and jitter filtering |
US7023252B2 (en) * | 2004-05-19 | 2006-04-04 | Lsi Logic Corporation | Chip level clock tree deskew circuit |
JP2006003249A (ja) | 2004-06-18 | 2006-01-05 | Sanyo Electric Co Ltd | 論理回路 |
-
2008
- 2008-03-10 JP JP2008060182A patent/JP2009218839A/ja active Pending
-
2009
- 2009-03-06 US US12/399,463 patent/US7808293B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US20090224812A1 (en) | 2009-09-10 |
US7808293B2 (en) | 2010-10-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2009218839A (ja) | クロック供給回路 | |
JP5905243B2 (ja) | 集積回路、クロックゲート回路、および方法 | |
JP2009147221A (ja) | 半導体装置 | |
US8775857B2 (en) | Sequential on-chip clock controller with dynamic bypass for multi-clock domain testing | |
JP2007087380A (ja) | クロックスキュー管理方法および装置 | |
US6078202A (en) | Semiconductor device having portions that operate at different frequencies, and method of designing the device | |
US7492205B2 (en) | Clock generator | |
JP2009194905A (ja) | クロック分配システム、分配方法、それらを利用した集積回路 | |
JP2009177659A (ja) | パルスラッチ回路 | |
US11411553B1 (en) | System of free running oscillators for digital system clocking immune to process, voltage and temperature (PVT) variations | |
JP2009044709A (ja) | 半導体装置 | |
US7400178B2 (en) | Data output clock selection circuit for quad-data rate interface | |
US9304531B2 (en) | Dynamically scaling voltage/frequency | |
TWI552528B (zh) | 時脈產生裝置 | |
TWI462483B (zh) | 用來產生輸出時脈訊號的時脈產生電路及相關方法 | |
KR20080013291A (ko) | Dll 회로의 클럭 입력 장치 및 방법 | |
JP2012182689A (ja) | 半導体集積回路 | |
KR100732766B1 (ko) | 출력인에이블 신호 생성회로 | |
US20120030500A1 (en) | Hysteresis Management in SOI Data Processing Circuits | |
JP2004177194A (ja) | 半導体装置 | |
KR100897284B1 (ko) | 온 다이 터미네이션 제어 장치 | |
Anastasiou et al. | Power efficient scan testing by exploiting existing error tolerance circuitry in a design | |
KR100803370B1 (ko) | Dll 회로의 리셋 장치 및 방법 | |
JP2012014585A (ja) | 半導体設計装置 | |
JP2009054916A (ja) | ノイズ発生回路、半導体集積回路、及び、ノイズ耐性評価方法 |