(57)【要約】【課題】同期式回路の設計環境を使用して回路設計を行うことができ、なおかつ非同期式回路のように低消費電力を実現することができる同期式回路およびその設計方法を提供する。【解決手段】クロック制御セルを含むクロックツリーを合成するに際し、クロック制御セルが駆動する第１記憶素子の個数に応じて、クロックツリーの中におけるクロック制御セルの配置を決定し、クロック制御セルの配置に応じて変化する、第１記憶素子に入力される第１クロック信号とクロック制御セルに入力される第２クロック信号との間の位相のずれを考慮して、クロック制御セルのタイミング制約値を変更し、配置配線前のタイミング検証を行う。【選択図】図１
2004127012.tif 000002
【特許請求の範囲】
【請求項１】
クロックツリーによって生成される複数の第１クロック信号に同期して動作する複数の第１記憶素子を備える同期式回路であって、
前記クロックツリーは、前記第１クロック信号よりも位相の進んでいる第２クロック信号を出力するタイミングを指定するイネーブル信号により指定される所定のタイミングで前記第２クロック信号を出力するゲート素子を備えるクロック制御セルを含むことを特徴とする同期式回路。
【請求項２】
前記クロック制御セルは、前記イネーブル信号を保持する第２記憶素子を備え、前記ゲート素子は前記第２記憶素子に保持されたイネーブル信号により制御されることを特徴とする請求項１に記載の同期式回路。
【請求項３】
前記第２記憶素子は、前記第２クロック信号により前記イネーブル信号を保持することを特徴とする請求項２に記載の同期式回路。
【請求項４】
請求項１〜３のいずれかに記載の同期式回路の設計方法であって、
前記クロック制御セルを含むクロックツリーを合成するに際し、
前記クロック制御セルが駆動する前記第１記憶素子の個数に応じて、前記クロックツリーの中における前記クロック制御セルの配置を決定し、前記クロック制御セルの配置に応じて変化する、前記第１記憶素子に入力される前記第１クロック信号と前記クロック制御セルに入力される前記第２クロック信号との間の位相のずれを考慮して、前記クロック制御セルのタイミング制約値を変更し、配置配線前のタイミング検証を行うことを特徴とする同期式回路の設計方法。
【請求項５】
さらに、前記クロック制御セルの第２記憶素子による遅延時間を考慮して、前記クロック制御セルのタイミング制約値を変更し、前記配置配線前のタイミング検証を行う請求項４に記載の同期式回路の設計方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、クロックツリーによって生成される複数のクロック信号に同期して動作する複数の記憶素子を備える同期式回路およびその設計方法に関するものである。
【０００２】
【従来の技術】
大規模化するＬＳＩ（大規模集積回路）の設計には同期式回路を用いるのが主流である。同期式回路には、設計環境が整備されている（今現在、主流の設計手法である）、タイミングの検証が簡単である（静的タイミング検証）、テスト容易化設計としてスキャンテストを採用可能である等の利点がある反面、非同期式回路と比べて消費電力が大きい、非同期式回路と比べてＰＶＴ変動に対する信頼性が低い等の欠点がある。
【０００３】
ここで、ＰＶＴ変動とは、半導体製造プロセス（Ｐ）、電源電圧（Ｖ）、温度（Ｔ）の変動を意味する。
【０００４】
ところで、半導体製造プロセスの微細化に伴う、配線遅延の絶対値の増大とゲート遅延に対する配線遅延の相対値の増大により、大規模な半導体チップにおいて、同期式回路を用いてクロック信号を高速化することは次第に難しくなってきている。この問題に対する１つの回答は非同期式回路である。但し、クロック周波数が比較的低いアプリケーションも数多く存在し、それらに対しては同期式回路の方が好ましい場合も多い。
【０００５】
非同期式回路は、同期式回路とは相反する利点や欠点を持っている。すなわち、非同期式回路は、同期式回路と比べて消費電力が小さい、同期式回路と比べてＰＶＴ変動に対する信頼性が高い等の利点がある反面、設計環境が整備されていない、タイミング検証が難しい（静的タイミング解析は使用不可）、全てをイベントドリブンシミュレーションで行う必要がある、テスト容易化設計としてスキャンテストを採用できない等の欠点がある。
【０００６】
同期式回路において、消費電力に占めるクロックラインの充放電電流の割合は非常に高く、回路にも依存するが、消費電力の半分以上を占める場合もある。特に、携帯電話等のモバイル用途のアプリケーションでは、低消費電力の要求が非常に高いというのが現状である。
【０００７】
これに対し、前述のように、非同期式回路を採用して回路設計を行うことにより低消費電力を実現することができる。しかし、非同期式回路の設計環境は整備されていないし、スキャンテスト等のテスト容易化設計も利用できないため、設計工数の増大を招くという問題がある。
【０００８】
【発明が解決しようとする課題】
従って、本発明の目的は、前記従来技術に基づく問題点を解消し、同期式回路の設計環境を使用して回路設計を行うことができ、なおかつ非同期式回路のように低消費電力を実現することができる同期式回路およびその設計方法を提供することにある。
【０００９】
【課題を解決するための手段】
上記目的を達成するために、本発明は、クロックツリーによって生成される複数の第１クロック信号に同期して動作する複数の第１記憶素子を備える同期式回路であって、
前記クロックツリーは、前記第１クロック信号よりも位相の進んでいる第２クロック信号を出力するタイミングを指定するイネーブル信号により指定される所定のタイミングで前記第２クロック信号を出力するゲート素子を備えるクロック制御セルを含むことを特徴とする同期式回路を提供するものである。
【００１０】
ここで、前記クロック制御セルは、前記イネーブル信号を保持する第２記憶素子を備え、前記ゲート素子は前記第２記憶素子に保持されたイネーブル信号により制御されるのが好ましい。
【００１１】
また、前記第２記憶素子は、前記第２クロック信号により前記イネーブル信号を保持するのが好ましい。
【００１２】
本発明は、上記のいずれかに記載の同期式回路の設計方法であって、
前記クロック制御セルを含むクロックツリーを合成するに際し、
前記クロック制御セルが駆動する前記第１記憶素子の個数に応じて、前記クロックツリーの中における前記クロック制御セルの配置を決定し、前記クロック制御セルの配置に応じて変化する、前記第１記憶素子に入力される前記第１クロック信号と前記クロック制御セルに入力される前記第２クロック信号との間の位相のずれを考慮して、前記クロック制御セルのタイミング制約値を変更し、配置配線前のタイミング検証を行うことを特徴とする同期式回路の設計方法を提供する。
【００１３】
ここで、さらに、前記クロック制御セルの第２記憶素子による遅延時間を考慮して、前記クロック制御セルのタイミング制約値を変更し、前記配置配線前のタイミング検証を行うのが好ましい。
【００１４】
【発明の実施の形態】
以下に、添付の図面に示す好適実施形態に基づいて、本発明の同期式回路およびその設計方法を詳細に説明する。
【００１５】
図１は、本発明の同期式回路の一実施形態の構成概念図である。
同図に示す同期式回路１０は、大元（ルート）のクロック信号ＣＬＫから複数のクロック信号（第１クロック信号）ＣＬＫＯを生成するクロックツリー１２と、このクロックツリー１２によって生成される複数のクロック信号ＣＬＫＯに同期して動作する複数のフリップフロップ（第１記憶素子）１４と、組合せ論理回路１６とを備えている。
【００１６】
クロックツリー１２は、ルートバッファ（ＣＴＳ）１８と、複数のクロック制御セル２０とを備えている。ルートバッファ１８の入力端子には大元のクロック信号ＣＬＫが入力され、ルートバッファ１８の出力信号ＣＬＫＩは各クロック制御セル２０の一方の入力端子（図中下側の入力端子）に入力されている。また、各クロック制御セル２０の出力信号ＣＬＫＯは、各々対応するフリップフロップ１４のクロック入力端子に入力されている。
【００１７】
クロックツリー１２は、クロックツリー合成ツールを用いて自動生成されるものである。図示を省略しているが、ルートバッファ１８と各クロック制御セル２０との間、および各クロック制御セル２０と各々対応するフリップフロップ１４との間には、必要に応じて、ツリー状に構成された１段以上のバッファまたはインバータが適宜挿入される。これにより、クロック制御セル２０の出力信号ＣＬＫＯは複数のクロック信号に分配される。
【００１８】
クロック制御セル２０は、そのファンナウト数、すなわちクロック制御セル２０が最終的に駆動するフリップフロップ１４の個数に応じて、クロックツリー合成ツールにより、クロックツリー１２の中における配置が自動的に決定される。すなわち、クロック制御セル２０は、そのファンナウト数が多い場合には、クロックツリーの中の比較的上流側に配置され、ファンナウト数が少ない場合には比較的下流側に配置される。
【００１９】
フリップフロップ１４は、クロックツリー１２によって生成されるクロック信号ＣＬＫＯに同期して動作する。本実施形態のフリップフロップ１４の場合、クロック信号ＣＬＫＯの立ち上がりに同期して、データ入力端子Ｄに入力される信号が保持され、データ出力端子Ｑから出力される。フリップフロップ１４のデータ入力端子Ｄには組み合わせ回路１６からの出力信号が入力され、データ出力端子Ｑからの出力信号は組合せ論理回路１６に入力されている。
【００２０】
図示例では、各々のクロック制御セル２０からの出力信号ＣＬＫＯが、それぞれ対応するフリップフロップ１４のクロック入力端子に入力されている。図示を省略しているが、各々のフリップフロップ１４は、複数のフリップフロップをまとめて１つのフリップフロップ１４として概念的に表したものであり、各々のフリップフロップのクロック入力端子には、クロック制御セル２０の出力信号ＣＬＫＯが分配されて生成された複数のクロック信号がそれぞれ入力される。
【００２１】
組合せ論理回路１６は、クロックツリー１２およびフリップフロップ１４以外の回路を概念的に表したものである。組合せ論理回路１６には、外部からの信号も入力されている。また、組合せ論理回路１６からの出力信号の一部は、フリップフロップ１４のデータ入力端子Ｄの他、クロックツリー１２を構成するクロック制御セル２０の他方の入力端子（図中上側の入力端子）にも入力され、残りの出力信号は外部へ出力されている。
【００２２】
図１に示す同期式回路１０は、従来公知の同期式回路の設計環境を使用して設計することが可能である。また、スキャンテスト等のテスト容易化手法を採用することも可能である。
【００２３】
次に、同期式回路１０の動作を説明する前に、クロック制御セル２０について、図２の構成回路図および図３のタイミングチャートを参照して説明する。
【００２４】
図２に示すクロック制御セル２０は、ラッチ（第２記憶素子）２２と、ＡＮＤゲート（ゲート素子）２４とを備えている。ラッチ２２のデータ入力端子Ｄにはイネーブル信号ＣＬＫＥが入力され、その反転クロック入力端子Ｇにはクロック信号（第２クロック信号）ＣＬＫＩが入力されている。ラッチ２２のデータ出力端子Ｑからの出力信号およびクロック信号ＣＬＫＩがＡＮＤゲート２４に入力され、ＡＮＤゲート２４からはクロック信号ＣＬＫＯが出力されている。
【００２５】
図３のタイミングチャートに示すように、クロック信号ＣＬＫＩは、図１に示すクロックツリー１２のルートバッファ１８から直接、もしくは必要に応じて、ツリー状に構成されたバッファまたはインバータを介して入力される所定周波数のクロック信号である。このクロック信号ＣＬＫＩは、クロックツリー１２の中におけるクロック制御セル２０の配置に応じて、フリップフロップ１４に入力されるクロック信号に対して位相が所定の時間進んでいる。
【００２６】
イネーブル信号ＣＬＫＥは、このクロック制御セル２０から、クロック信号ＣＬＫＩをクロック信号ＣＬＫＯとして出力するタイミングを指定する制御信号であり、図１に示す組合せ論理回路１６から入力される。イネーブル信号ＣＬＫＥは、フリップフロップ１４に入力されるクロック信号に同期して変化するので、クロック信号ＣＬＫＩの立ち上がりエッジに対して所定時間遅延したタイミングで変化する。
【００２７】
クロック制御セル２０において、ラッチ２２は、クロック信号ＣＬＫＩがローレベル（Ｌ）の期間は透過モードとなり、データ入力端子Ｄに入力されるイネーブル信号ＣＬＫＥがデータ出力端子Ｑから出力される。また、クロック信号ＣＬＫＩがハイレベル（Ｈ）の期間は保持モードとなり、クロック信号ＣＬＫＩの立ち上がりのタイミングでデータ入力端子Ｄに入力されているイネーブル信号ＣＬＫＥの状態が保持される。
【００２８】
図４のタイミングチャートに示すように、ラッチ２２を正しく動作させるためには、クロック信号ＣＬＫＩの立ち上がりエッジに対してイネーブル信号ＣＬＫＥのデータ保持期間に物理的なタイミング制約がある。すなわち、ラッチ２２を正しく動作させるためには、イネーブル信号ＣＬＫＥは、クロック信号ＣＬＫＩの立ち上がりに対して所定のセットアップ時間ｔｓ　およびホールド時間ｔｈ　が必要である。
【００２９】
クロック制御セル２０では、図３のタイミングチャートに示すように、イネーブル信号ＣＬＫＥとしてハイレベルが入力されると、前述のように、クロック信号ＣＬＫＩのローレベルの期間にラッチ２２が透過モードとなり、そのデータ出力端子Ｑからハイレベルが出力される。そして、ＡＮＤゲート２４によりクロック信号ＣＬＫＩとの論理積が取られ、クロック信号ＣＬＫＩの次のハイレベルの期間に、クロック信号ＣＬＫＯとしてハイレベルが出力される。
【００３０】
次に、図１に示す同期式回路１０の動作を説明する。
【００３１】
同期式回路１０では、クロックツリー１２により、大元のクロック信号ＣＬＫが分配されて複数のクロック信号ＣＬＫＯが生成される。クロック制御セル２０には、組合せ論理回路１６からイネーブル信号ＣＬＫＥが入力されており、クロック制御セル２０から各々対応するフリップフロップ１４に供給されるクロック信号ＣＬＫＯは、フリップフロップ１４が動作する必要がある時にしか変化しないので、クロックラインの充放電による消費電力を大幅に削減することができる。
【００３２】
各々のフリップフロップ１４は、前述のように、クロックツリー１２から入力されるクロック信号ＣＬＫＯに同期して動作し、その出力信号は組合せ論理回路１６へ入力される。組合せ論理回路１６は、外部入力およびそれぞれのフリップフロップ１４からの出力信号に基づいて動作する。そして、その出力信号の一部はイネーブル信号ＣＬＫＥとしてクロック制御セル２０に入力され、他の一部はフリップフロップ１４のデータ入力端子Ｄに入力され、残りは外部へ出力される。
【００３３】
次に、本発明の同期式回路の設計方法について説明する。
【００３４】
既に述べたように、クロックツリー１２はクロックツリー合成ツールによって合成される。この時、クロック制御セル２０は、例えばラッチ２２の出力信号をハイレベルとして透過の属性が与えられ、クロックツリー１２を構成するバッファの１つとして扱われる。これにより、従来公知のクロックツリー合成ツールを使用してクロックツリー１２を合成することができる。
【００３５】
また、クロックツリー合成ツールによってクロックツリー１２が合成される場合、クロック制御セル２０は、そのファンナウト数に応じて、クロックツリー１２の中の配置が自動的に決定される。クロック制御セル２０の配置に応じて、クロック制御セル２０に入力されるクロック信号ＣＬＫＩは、フリップフロップ１４に入力されるクロック信号ＣＬＫＯに対して、そのファンナウト数に応じて位相が所定の時間だけ進んでいる。
【００３６】
例えば、クロック制御セル２０のファンナウト数が少ない場合、クロック制御セル２０はクロックツリー１２の中の比較的下流側に配置され、多い場合には比較的上流側に配置される。したがって、クロック制御セル２０のファンナウト数が多くなるにつれて、クロック制御セル２０は、次第にクロックツリー１２の中の上流側に配置されるので、クロック制御セル２０に入力されるクロック信号ＣＬＫＩの進み具合は大きくなる。
【００３７】
通常、同期式回路の設計において、配置配線前のタイミング検証、例えばシミュレーションや論理合成時のタイミング検証では、クロックライン上の全てのノードが同位相であると仮定して、例えばフリップフロップやラッチ等の各記憶素子のタイミング制約の検証が行われる。
【００３８】
しかし、クロック制御セル２０を用いてクロックツリー１２を合成した場合、クロックツリー１２からフリップフロップ１４に入力されるクロック信号ＣＬＫＯに対して、クロック制御セル２０に入力されるクロック信号ＣＬＫＩの位相が所定の一定時間進んでいるため、全てのクロック信号が同位相であるとしてタイミング検証を行うと、実際に配置配線した後のタイミング検証において、不具合が発生する可能性が高くなる。
【００３９】
その理由は、クロック制御セル２０のファンナウト数に応じて、クロックツリー１２におけるクロック制御セル２０の配置が上流側、下流側に前後し、クロック制御セル２０に入力されるクロック信号ＣＬＫＩの位相の進み具合、すなわちクロックツリー１２からフリップフロップ１４に入力されるクロック信号ＣＬＫＯとクロック制御セル２０に入力されるクロック信号ＣＬＫＩとの間の位相のずれ幅が変化するからである。
【００４０】
これに対して、本発明の同期式回路の設計方法では、ネットリスト解析を行って各クロック制御セル２０のファンナウト数を検出し、このファンナウト数すなわちクロック制御セル２０の配置に応じて変化する、フリップフロップ１４に入力されるクロック信号とクロック制御セル２０に入力されるクロック信号ＣＬＫＩとの間の位相のずれを考慮して、クロック制御セル２０のタイミング制約値を動的に変更し、配置配線前のタイミング検証を行う。
【００４１】
言い換えると、クロック制御セル２０に入力されるクロック信号ＣＬＫＩが、フリップフロップ１４に入力されるクロック信号と同位相であると仮定して配置配線前のタイミング検証を行っても、配置配線後のタイミング検証において不具合が発生する確率が低くなるように、クロック制御セル２０のタイミング制約値にオフセットを与えて配置配線前のタイミング検証を行う。
【００４２】
例えば、クロック制御セル２０の物理的なタイミング制約値として、セットアップ時間およびホールド時間がそれぞれ２ｎｓおよび１ｎｓである場合に、クロック制御セル２０のファンナウト数に応じて、クロック制御セル２０に入力されるクロック信号ＣＬＫＩの進み時間が１ｎｓであるとすると、配置配線前のタイミング検証では、クロック制御セル２０のセットアップ時間およびホールド時間がそれぞれ３ｎｓおよび０ｎｓに変更される。
【００４３】
このように、クロック制御セル２０のファンナウト数に応じて、そのタイミング制約値を動的に変更して配置配線前のタイミング検証を行うことにより、配置配線後にタイミングエラーが発生する確率を低く抑えることができる。
【００４４】
なお、クロック制御セル２０では、ラッチ２２による出力遅延が発生するため、この遅延時間を考慮して、ＡＮＤゲート２４から無用なパルスが発生しないようにラッチ２２のセットアップ時間ｔｓ　を調整する方が好ましい。また、本発明の同期式回路の設計方法では、各クロック制御セル２０のファンナウト数に応じてそのタイミング制約値を動的に変更するため、同一クロックライン上にクロック制御セル２０を１つだけ設けるようにする方が好ましい。
【００４５】
次に、従来公知の同期式回路に、本発明を適用した場合の一例を挙げて説明する。
【００４６】
図５（ａ）は、従来の同期式回路の一例の構成回路図である。
この同期式回路２６は、マルチプレクサ２８と、フリップフロップ３０とを備えている。マルチプレクサ２８の入力端子０には、フリップフロップ３０のデータ出力端子Ｑからの出力信号ＯＵＴが入力され、入力端子１には入力信号ＩＮが入力されている。また、フリップフロップ３０のクロック入力端子にはクロック信号ＣＬＫが入力され、データ入力端子Ｄには、マルチプレクサ２８からの出力信号が入力されている。
【００４７】
この同期式回路２６では、イネーブル信号ＥＮＢＬがハイレベルの場合には、クロック信号ＣＬＫの立ち上がりに同期して、入力信号ＩＮがマルチプレクサ２８を介してフリップフロップ３０に保持され、出力信号ＯＵＴとして出力される。一方、イネーブル信号ＥＮＢＬがローレベルの場合には、フリップフロップ３０の出力信号ＯＵＴがマルチプレクサ２８を介してフリップフロップ３０に再度保持されるため、フリップフロップ３０の出力信号ＯＵＴは変化しない。
【００４８】
この同期式回路２６では、イネーブル信号ＥＮＢＬの状態に応じて、フリップフロップ３０の出力信号ＯＵＴが不必要に変化するのを防止するが、フリップフロップ３０が動作する必要がない場合でもフリップフロップ３０に無駄なクロックが入力され、クロックラインの充放電に伴い無駄な消費電力が発生する。
【００４９】
図５（ｂ）は、図５（ａ）に示す従来の同期式回路に本発明を適用して構成された本発明の同期式回路である。図５（ｂ）に示す同期式回路３２は、図５（ａ）に示す同期式回路２６において、クロック信号ＣＬＫの代わりに、クロック制御セル２０の出力信号をフリップフロップ３０のクロック入力端子に入力したものである。また、クロック制御セル２０には、クロック信号ＣＬＫおよびイネーブル信号ＥＮＢＬが入力されている。
【００５０】
この同期式回路３２では、クロック制御セル２０の出力信号が、イネーブル信号ＥＮＢＬの状態に応じて、フリップフロップ３０が動作する必要がある時にしか変化しないので、クロック制御セル２０の出力信号ＣＬＫＯの充放電による消費電力を削減することができる。特に、クロック制御セル２０の出力信号ＣＬＫＯが入力されるフリップフロップ３０の個数が多くなるほど、また、フリップフロップ３０が動作する割合が少なければ少ないほど、クロック制御セル２０の出力信号ＣＬＫＯの充放電による消費電力の削減効果は大きくなる。
【００５１】
図５（ｃ）は、図５（ｂ）に示す本発明の同期式回路をさらに最適化したものである。図５（ｃ）に示す同期式回路３４は、図５（ｂ）に示す同期式回路３２において、マルチプレクサ２８が取り除かれ、フリップフロップ３０のデータ入力端子Ｄに入力信号ＩＮが直接入力されている。図５（ｂ）に示す同期式回路３２では、クロック制御セル２０の出力信号が、フリップフロップ３０が動作する必要がある時にしか変化しないので、マルチプレクサ２８は不要である。
【００５２】
このように、本発明を適用する同期式回路では、単にクロックラインの充放電電流を削減し、同期式回路の消費電力を削減することができるというだけではなく、図５（ｂ）および（ｃ）からも分かるように、従来、マルチプレクサ等の回路を用いてフリップフロップの出力信号が不必要に変化するのを防止していたところを、クロック信号が変化するのを防止し、マルチプレクサ等の回路を不要とすることにより、その分のトランジスタ数や消費電力も削減できるという効果もある。
【００５３】
なお、クロック制御セル２０は、図２の構成に限定されず、所定の機能を実現する他の構成のものを用いてもよい。例えば、ラッチ２２ではなくフリップフロップを使用してもよい。クロック立ち上がり同期のフリップフロップの場合には、データ出力端子からの出力信号の変化タイミングが１クロック後ろ側へずれることになる。クロック立ち下がり同期のフリップフロップの場合には出力信号の変化タイミングは遅れないが、データ入力信号に課せられる遅延時間制約がおよそクロック半周期分厳しくなる。また、フリップフロップ１４がクロック立ち下がり同期である場合や、イネーブル信号ＥＮＢＬの極性が異なる場合には、それに合わせてクロック制御セル２０内のラッチ２２やＡＮＤゲート２４の入力および出力信号の極性を適宜変化させる必要がある。
【００５４】
本発明は、基本的に以上のようなものである。
以上、本発明の同期式回路およびその設計方法について詳細に説明したが、本発明は上記実施形態に限定されず、本発明の主旨を逸脱しない範囲において、種々の改良や変更をしてもよいのはもちろんである。
【００５５】
【発明の効果】
以上詳細に説明した様に、本発明の同期式回路によれば、クロック制御セルから各々対応する第１記憶素子に供給されるクロック信号は、第１記憶素子が動作する必要がある時にしか変化しないので、クロックラインの充放電による消費電力を大幅に削減することができる。また、本発明の同期式回路は、同期式回路の設計環境を使用して短時間で設計を行うことができるし、スキャンテスト等のテスト方式を利用してテストを容易化することも可能である。
また、本発明の同期式回路の設計方法によれば、クロック制御セルのファンナウト数に応じて、そのタイミング制約値を動的に変更して配置配線前のタイミング検証を行うので、配置配線後のタイミング検証の時にタイミングエラーが発生する確率を低く抑えることができる。
また、本発明によれば、クロックツリー内で同じクロック制御セルを経由して生成されるクロック信号群の間のスキューが小さくなるので、配置配線後のタイミングエラーが発生しにくいという効果もある。例えば、シフトレジスタ回路にクロック制御セルが付加される場合は、ホールド時間制約エラーの発生する確率が抑えられることが期待される。
【図面の簡単な説明】
【図１】本発明の同期式回路の一実施形態の構成概念図である。
【図２】クロック制御セルの一実施形態の構成回路図である。
【図３】クロック制御セルの動作を表す一実施形態のタイミングチャートである。
【図４】クロック制御セルのタイミング制約を表す一実施形態のタイミングチャートである。
【図５】（ａ）、（ｂ）および（ｃ）は、それぞれ従来の同期式回路、本発明を適用した同期式回路、および本発明の同期式回路を最適化した状態を表す一実施形態の概念図である。
【符号の説明】
１０，２６，３２，３４　同期式回路
１２　クロックツリー
１４，３０　フリップフロップ
１６　組合せ論理回路
１８　ルートバッファ
２０　クロック制御セル
２２　ラッチ
２４　ＡＮＤゲート
２８　マルチプレクサ
【図１】
2004127012.tif 000003
【図２】
2004127012.tif 000004
【図３】
2004127012.tif 000005
【図４】
2004127012.tif 000006
【図５】
2004127012.tif 000007