(57)【要約】【課題】ＬＳＩ  のクロックネットワーク回路において、レジスタセル数が多くなっても、クロックネットワークの構成を簡易化し、且つ、小規模化し、局所的な電圧降下現象を抑制し、クロックネットワークの設計を容易化する。【解決手段】データ入力をシステムクロック入力に同期してラッチするとともにシステムクロック入力を通過させる複数のレジスタセル２０を複数のグループに分け、同一のグループに属する複数のレジスタセルのクロック伝搬経路を形成して複数組のクロック伝搬セル２００  を形成する。複数のデータ入力に対応して複数組のクロック伝搬セルのうちの各組の対応する配列位置の複数のレジスタセルのデータ伝搬回路をカスケード接続して複数組のデータ伝搬セルを形成する。複数組のデータ伝搬セルのうちのクロックツリーシンセシス対象となる１組のレジスタセルに共通にシステムクロック入力を供給する。【選択図】    図１
2004185209.tif 000002
【特許請求の範囲】
【請求項１】
データ入力をシステムクロック入力に同期してラッチするとともにシステムクロック入力を通過させる機能を持った複数のレジスタセルと、
複数のクロック入力に対応して前記複数のレジスタセルを複数のグループに分け、同一のグループに属する複数のレジスタセルのクロック伝搬回路を接続して複数組のクロック伝搬セルを形成する複数のシステムクロック配線と、
複数のデータ入力に対応して前記複数組のクロック伝搬セルのうちの各組の対応する配列位置の複数のレジスタセルのデータ伝搬回路をカスケード接続して複数組のデータ伝搬セルを形成する複数のデータ配線と、
前記複数組のデータ伝搬セルのうちのクロックツリーシンセシス対象となる１組のレジスタセルに共通にシステムクロック入力を供給する１本のシステムクロック入力配線と、
前記複数のデータ入力および前記複数組のデータ伝搬セルのデータ出力にそれぞれ対応して接続された組み合わせロジック回路
とを具備することを特徴とする半導体集積回路のクロックネットワーク回路。
【請求項２】
前記各レジスタセルは、クロック入力端からのクロック入力に同期してデータ入力を取り込むコアレジスタ回路と、前記クロック入力をバッファ増幅してクロック出力端へ出力するバッファ回路とを具備することを特徴とする請求項１記載の半導体集積回路のクロックネットワーク回路。
【請求項３】
前記各クロック伝搬セルは、同一のグループに属する複数のレジスタセルをカスケード接続し、各レジスタセル間に発生するクロックスキューを利用してクロック回路のピーク消費電力を抑えることを特徴とする請求項１記載の半導体集積回路のクロックネットワーク回路。
【請求項４】
前記各クロック伝搬セルは、同一のグループに属する複数のレジスタセルのデータ処理順を利用してセットアップタイミング違反を修正することを特徴とする請求項１記載の半導体集積回路のクロックネットワーク回路。
【請求項５】
前記各クロック伝搬セルは、同一のグループに属する複数のレジスタセルのデータ処理順を利用してホールドタイミング違反を修正することを特徴とする請求項１記載の半導体集積回路のクロックネットワーク回路。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、半導体集積回路（ＬＳＩ）  のクロックネットワーク回路に係り、特に同期動作用のシステムクロックが伝搬するネットワーク回路に関するもので、例えばクロックスキュー発生回路、システムクロックネットワーク回路などに使用されるものである。
【０００２】
【従来の技術】
図８は、従来のＬＳＩ  に形成された順序回路におけるレジスタセル群とクロックツリーシンセシス（ＣＴＳ）  構造のシステムクロックネットワークを示す。
【０００３】
図８中、６１はクロックバッファセル、６２は組み合わせロジック部、６３はレジスタセルである。ここでは、システムクロック入力を各レジスタセル６３にできる限り時間差が生じないように到達させてクロックスキューを抑るために、ＣＴＳ  構造のシステムクロックネットワークを設計している。
【０００４】
図９は、従来のＬＳＩ  に形成されたファーストイン・ファーストアウト（Ｆｉｒｓｔ  ｉｎ  Ｆｉｒｓｔ  Ｏｕｔ；  ＦＩＦＯ）  回路のシステムクロックネットワークを示す。
【０００５】
図９中、７１はクロックバッファセル、７２は組み合わせロジック部、７３はレジスタセルである。ここでは、レジスタセル７３の全てがＣＴＳ  の対象となっており、レジスタセル７３の全てにシステムクロックが同時に到着するように、即ち、クロックスキューを極力なくするようにクロックネットワークが設計されている。
【０００６】
しかし、図８および図９に示した従来のクロックネットワーク回路は、レジスタセル数が多くなれば多くなる程、クロックネットワークの構成が複雑、且つ、大きくなるので、以下のような問題点がある。
【０００７】
１）クロックスキューを極力小さくするために、各レジスタセルにクロックが到達すると各レジスタセルのゲートがほぼ開くように設計している。これにより、システムクロックネットワークで消費する電力のピーク値が増大する。また、ＦＩＦＯ回路のような大量のレジスタセル７３がＬＳＩ  に局所的に配置されていると、レジスタセル７３が一斉に動作する時に、局所部分に電圧降下（ＩＲ−Ｄｒｏｐ  ）の現象が起こり易い。
【０００８】
２）クロック配線がクロックバッファセル（ＣＴＳ  バッファ）６１，７１  を経由しているので、レジスタセル数分のファンアウトをもつ１本の巨大なネットワークと捉えることができる。このため、レジスタセル数が多ければ多い程、クロックネットワークの設計が困難になる。
【０００９】
３）クロックネットワークの物理設計自体は、後工程で修正できる余裕はない。即ち、通常、ＣＴＳ  構造の設計はＬＳＩ  の物理設計の早い工程で実施されるが、その後、他の配線が修正されることはあっても、システムクロックネットワークの修正を行うことはＬＳＩ  の物理設計を初期段階からやり直すことに等しいので、その修正は実質的に行うことができない。
【００１０】
４）クロックネットワークのタイミング違反の解消方法としては、データパスの設計修正でしか対応できなかった。また、発生するクロックスキューとデータパスとの関係を設計することはできなかった。このため、各レジスタセルの配置でのタイミングの状況に対して都合の良いクロックスキューを設計することができなかった。
【００１１】
なお、特許文献１の「集積回路のためのクロック生成装置および生成方法」には、半導体集積回路において、課題として、回路の動作に影響せずにクロック変化時の瞬間電流を小さくし、これによって電源電圧降下がノイズを発生するといった問題を抑制する。そして、解決手段として、回路のネットリストを入力とし、セル配置、クロックスツリー生成、クロックキュー低減、セル間配線を行った後、セルの配置配線結果より遅延情報を抽出し、抽出された遅延情報により、回路が誤動作を起こさないクロック信号の遅延範囲を計算し、その遅延範囲内でクロックキューを拡大する点が開示されている。
【００１２】
【特許文献１】
特開２０００−２６７７５２号公報
【００１３】
【発明が解決しようとする課題】
上記したように従来のＬＳＩ  におけるシステムクロックネットワークは、レジスタセル数が多くなれば多くなる程、システムクロックネットワークの構成が複雑、且つ、大きくなり、様々な支障が発生するという問題があった。
【００１４】
本発明は上記の問題点を解決すべくなされたもので、レジスタセル数が多くなっても、システムクロックネットワークの構成を簡易化し、且つ、小規模化し、局所的な電圧降下現象を抑制し、クロックネットワークの設計を容易化し得る半導体集積回路のクロックネットワーク回路を提供することを目的とする。
【００１５】
【課題を解決するための手段】
本発明の半導体集積回路のクロックネットワーク回路は、データ入力をシステムクロック入力に同期してラッチするとともにシステムクロック入力を通過させる機能を持った複数のレジスタセルと、複数のクロック入力に対応して前記複数のレジスタセルを複数のグループに分け、同一のグループに属する複数のレジスタセルのクロック伝搬回路を接続して複数組のクロック伝搬セルを形成する複数のシステムクロック配線と、複数のデータ入力に対応して前記複数組のクロック伝搬セルのうちの各組の対応する配列位置の複数のレジスタセルのデータ伝搬回路をカスケード接続して複数組のデータ伝搬セルを形成する複数のデータ配線と、前記複数組のデータ伝搬セルのうちのクロックツリーシンセシス対象となる１組のレジスタセルに共通にシステムクロック入力を供給する１本のシステムクロック入力配線と、前記複数のデータ入力および前記複数組のデータ伝搬セルのデータ出力にそれぞれ対応して接続された組み合わせロジック回路とを具備することを特徴とする。
【００１６】
【発明の実施の形態】
以下、図面を参照して本発明の実施の形態を詳細に説明する。
【００１７】
＜第１の実施形態＞
図１は、本発明の第１の実施形態として、ＬＳＩ  に形成されたＦＩＦＯ回路のクロックネットワーク回路に適用した一例を示す論理回路図である。
【００１８】
図１に回路は、複数のクロックバッファセル１１、複数の組み合わせロジック部１２、複数のレジスタセル２０が配線１３群により接続されている。
【００１９】
複数のレジスタセル２０は、データ入力をシステムクロック入力に同期してラッチするとともにシステムクロック入力を通過させる機能を持つものであり、その詳細の一例は図２を参照して後述する。
【００２０】
前記複数のレジスタセル２０は、複数のクロック入力に対応して複数のグループに分けられる。そして、同一のグループに属する複数のレジスタセル２０をシステムクロック配線１３によりカスケード接続してクロック伝搬経路を形成することにより、複数組のクロック伝搬セルグループ２００  が形成されている。
【００２１】
さらに、前記複数組のクロック伝搬セルグループ２００  のうちの各組の対応する配列位置の複数のレジスタセル２０をデータ配線１４によりカスケード接続してデータ伝搬回路を形成することにより、複数のデータ入力に対応して複数組のデータ伝搬セルが形成されている。
【００２２】
そして、前記複数組のデータ伝搬セルのうちのクロックツリーシンセシス（ＣＴＳ）  の対象となる１組のレジスタセル（図中斜線表示）２０に対して、システムクロック入力をバッファ増幅するクロックバッファ１１の出力クロック（システムクロック）を共通に供給するように１本のシステムクロック入力配線１５が施されている。
【００２３】
なお、前記複数のデータ入力および前記複数組のデータ伝搬セルのデータ出力にそれぞれ対応して、別々の組み合わせロジック回路１２に接続されている。
【００２４】
図２は、図１中のレジスタセル２０の内部ファンクションの構造を示す論理回路図である。
【００２５】
このレジスタセル２０は、クロック入力端からのクロック入力に同期してデータ入力を取り込むコアレジスタ回路（記憶回路）２１と、前記クロック入力をバッファ増幅してクロック出力端へ出力するバッファ回路２２とを有する。
【００２６】
上記したように図１のクロック回路は、クロック入力を通過可能な機能を持ったレジスタセル２０を定義し、複数のレジスタセルのアレイのうちでＣＴＳ  の対象となる一部（図中斜線表示）にシステムクロック入力を共通に供給している。そして、残りのレジスタセル２０に対しては、前記ＣＴＳ  の対象となるレジスタセルを通過したクロックを伝搬させている。
【００２７】
この場合、レジスタ間のクロックラインには分岐が無いように設計し、ＣＴＳ  の対象となるレジスタセルの各段に対応して接続した各クロック伝搬セルグループ２００  内のセル数を等しくする。
【００２８】
上記構成のＦＩＦＯ回路のクロックネットワーク回路は、以下の特徴をもつ。
【００２９】
１）クロック伝搬経路のレジスタ間に逐次的に微小なクロックスキューを発生させることができるので、各レジスタセルが一斉（同時）に動作することを抑制し、ＬＳＩ  の局部的な電圧降下（ＩＲ−Ｄｒｏｐ  ）を抑えることができる。
【００３０】
本例では、クロック伝搬セルグループ２００  のクロックの伝搬段数を４段とし、４つのレジスタセル２０をカスケード接続している。このような設計により、同時に動作するレジスタセル２０は、従来の１／ｎ（上記の例では１／４  ）で済む。このため、ピーク電力を抑えることができ、局所的に発生する電圧降下の現象を抑えることができる。
【００３１】
２）ＣＴＳ  構造を有するシステムクロックネットワークは、クロックを伝搬させるレジスタセル群の最初（初段）のレジスタまでのネットワークであり、従来よりも小さな規模で済む。原理的には、クロック伝搬経路のレジスタセルの段数をｎ段とする（ｎ個のレジスタセルを１つのグループとする）と、ＣＴＳ  技術で設計してクロックスキューを保証しなければならないレジスタセル数は従来の１／ｎで済む。
【００３２】
このようにクロックネットワークを小規模に設計できるので、クロックネットワークの設計の負担を減らし、クロックネットワーク設計の難易度を低下させる（設計を容易化する）ことができる。また、ＣＴＳ  によって設計されたネットがデータパス回路内に食い込んでいないので、データパス内の配線の設計や修正が容易になる。
【００３３】
なお、従来例のクロックネットワークでは、クロックスキューを合わせるために、バッファ段数を揃え、各レジスタセルに到達する配線の長さにより調整するが、クロックネットワークがデータパス回路内に食い込んでいるので、多量のレジスタセルに対するクロックスキューを合わせることは非常に難しい。
【００３４】
３）クロック伝搬経路でクロックが伝搬するセル段数によって発生するクロックスキューがほぼ決定されるので、セル段数を適切に設計することにより、発生するスキューを制御することができる。
【００３５】
なお、本提案のクロックネットワーク回路は、従来のＣＴＳ  によるツリー構造を基本としてクロックネットワークの各終端のクロック伝搬のレジスタ数は一致させる設計とし、レジスタ間のクロック伝搬に分岐はない設計を基本とする。
【００３６】
但し、セルアレイのセル数の関係上、ＣＴＳ  の対象となるレジスタセルの例えば最終段においては、他の段よりもクロック伝搬経路のセル段数が少なくなる場合もある。
【００３７】
４）従来のクロックネットワークは、ＣＴＳ  を一度実行して物理設計を行った後にクロックネットワークの修正を行うことはしない。これは、ＣＴＳ  によって設計されたクロックスキューを維持するためである。
【００３８】
これに対して、本提案の設計では、少なくともレジスタ間のクロック伝搬経路についてはデータパスの設計に用いられるタイミングドリブン配線手法にて再設計可能であるので、従来の設計に比べてクロック設計の幅を広げることができる。このため、クリティカルパスの修正などによって、迂回配線の修正にかかる負担を軽減することができる。
【００３９】
５）クロックスキューを利用してクロックネットワークのタイミング違反を容易に修正することが可能である。この点については、後で詳細に説明するが、クロック伝搬経路において同一グループ内のレジスタセルにクロックが到達する順序を設計することが可能であるので、クロックの遅延とデータパスの関係を設計することが可能である。
【００４０】
例えばホールドチェックにタイミング余裕の無いレジスタセルに対しては、クロックスキューが他のレジスタセルよりも小さくなる設計、即ち、クロックが遅れずに到達するように設計してタイミング違反を修正することが可能である。
【００４１】
また、セットアップチェックにタイミング余裕の無いレジスタセルに対しては、クロックが少し遅れて到達するように設計してタイミング違反を修正することが可能である。
【００４２】
図３は、図１のＬＳＩ  のクロックネットワークを設計する際の手順を示すフローチャートであり、以下、その詳細を説明する。
【００４３】
まず、ステップ（１）  では、レジスタ数とクロック周波数からクロック伝搬段数を決定する。伝搬段数が大きくなると、それに伴ってクロックスキューが増大するので、クロック制約条件に余裕が無い場合は小さな伝搬段数（２〜３段）に設計する。
【００４４】
なお、前記クロック伝搬段数が大きくなると、後述するステップ（４）  における従来のＣＴＳ  設計手法によりＣＴＳ  を実施すべきレジスタ数は、「１／段数」に減るので、ＣＴＳ  設計の難易度は低下する。そこで、上記したＣＴＳ  設計の難易度が低下する効果とリスクのバランスを考えてレジスタ伝搬段数を決定する。
【００４５】
次のステップ（２）  では、ＬＳＩ  の物理設計段階に入りセルの配置を行う。セルの配置において、本発明のレジスタセル伝搬段数を特に意識する必要はない。
【００４６】
次のステップ（３）  では、クロックを伝搬させるレジスタ数毎に、同一のクロック伝搬経路に属するレジスタグループを作成する。このグループを作成する際、予めグループが決定されているレジスタセルについてはそれに従い、決定されていないレジスタセルについては、回路全体としてのクロックスキューのばらつきを抑えるために近傍に配置されたレジスタセル同士をひとつのグループになるようにする。レジスタセル数がクロック伝搬段数で割り切れない場合、設定したクロック伝搬段数以内で収まるようにする。
【００４７】
次のステップ（４）  では、セルの配置位置より各データパスの遅延予測を行い、クロックとデータパスの関係を確認し、レジスタグループ内のクロック伝搬の順序を決定する。この際、ホールドチェックのタイミング違反が起こりそうなレジスタセルは一層先の順序に、セットアップのタイミング違反が起こりそうなレジスタセルは一層後の順序にする。
【００４８】
次のステップ（５）  では、各レジスタグループの最初にクロックが到達すべき各１つのレジスタに従来のＣＴＳ  手法によりＣＴＳ  を実施する。よって、従来のＣＴＳ  によるクロックスキューの制御と保証が及ぶのは、この段階でクロックツリー設計されたレジスタまでである。
【００４９】
次のステップ（６）  では、前記ステップ（３）  にて作成したレジスタグループ内について、システムクロックが一方通行で到達できるようにクロックを伝搬させる配線を行う。この時、レジスタグループ内の各レジスタ間の配線に分岐する設計は行わない。また、これらのクロック伝搬の配線は、データパスと同様にタイミングドリブンにて配線を行う。
【００５０】
その後、ステップ（７）  にて、データパス等その他の配線を実施する。そして、タイミング違反があった場合、ステップ（８）  にて、まず、部分的に再配線を実施する。この時、レジスタ間もデータパスの配線と同様に取り扱い、必要なら再度配線をやり直し、タイミング違反を修正する。
【００５１】
次に、本発明のクロックネットワーク回路は、クロックスキューを利用してクロックネットワークにおけるセットアップ、ホールドなどのタイミング違反を容易に修正することが可能である点について説明する。
【００５２】
図４（ａ）、（ｂ）および図５（ａ）、（ｂ）は、図１に示したＦＩＦＯ回路のクロック伝搬経路におけるクロック伝搬の順序を変えてセットアップタイムの違反を修正する一例の論理回路とタイミング波形を示す。
【００５３】
図４（ａ）、（ｂ）に示すようにセットアップ違反したレジスタセルに対しては、図５（ａ）に示すようにクロック伝搬経路の後段に順序を変更する（クロックが到達する順序を遅らせる）。
【００５４】
これにより、図５（ｂ）に示すようにクロックスキューが余分に付いてクロックの遅延が多くなり、クロックがデータパスに対して相対的に遅れる。この結果、セットアップチェックに対するタイミング余裕が増す効果が現れるので、セットアップのタイミング違反を修正することが可能である。
【００５５】
即ち、セットアップ違反したレジスタセル（セットアップチェックにタイミング余裕の無いレジスタセル）に対しては、到達するクロックが遅れるようにクロック伝搬配線を修正することが可能である。
【００５６】
図６（ａ）、（ｂ）および図７（ａ）、（ｂ）は、図１に示したＦＩＦＯ回路のクロック伝搬経路におけるクロック伝搬の順序を変えてホールドタイムの違反を修正する一例の論理回路とタイミング波形を示す。
【００５７】
図６（ａ）、（ｂ）に示すようにホールド違反したレジスタセルに対しては、図７（ａ）に示すようにクロック伝搬経路の前段に順序を変更する（クロックが到達する順序を早くする）。クロックが早く到達するようにクロック伝搬配線を修正することが可能である。これにより、図７（ｂ）に示すようにクロックスキューが小さくなってクロックの遅延が少なくなり、クロックがデータパスに対し相対的に早くなる。
【００５８】
即ち、ホールド違反したレジスタセル（ホールドチェックにタイミング余裕の無いレジスタセル）に対しては、到達するクロックが早くなるようにクロック伝搬配線を修正することが可能である。
【００５９】
【発明の効果】
上述したように本発明によれば、レジスタセル数が多くなっても、システムクロックネットワークの構成を簡易化し、且つ、小規模化し、局所的な電圧降下現象を抑制し、クロックネットワークの設計を容易化し得る半導体集積回路のクロックネットワーク回路を提供することができる。
【図面の簡単な説明】
【図１】本発明の第１の実施形態として、ＬＳＩ  に形成されたＦＩＦＯ回路のクロックネットワーク回路に適用した一例を示す論理回路図。
【図２】図１中のレジスタセルの内部ファンクションの構造を示す論理回路図。
【図３】図１に示したＬＳＩ  のクロックネットワークを設計する際の手順を示すフローチャート。
【図４】図１に示したＦＩＦＯ回路のクロック伝搬経路にセットアップタイム違反がある場合の一例を示す論理回路図およびタイミング波形図。
【図５】図４に示したＦＩＦＯ回路のクロック伝搬経路におけるクロック伝搬の順序を変えてホールドタイム違反を修正した一例を示す論理回路図およびタイミング波形図。
【図６】図１に示したＦＩＦＯ回路のクロック伝搬経路にホールドタイム違反がある場合の一例を示す論理回路図およびタイミング波形図。
【図７】図６に示したＦＩＦＯ回路のクロック伝搬経路におけるにおけるクロック伝搬の順序を変えてホールドタイム違反を修正した一例を示す論理回路図およびタイミング波形図。
【図８】従来のＬＳＩ  に形成された順序回路におけるレジスタセル群とクロックツリーシンセシス（ＣＴＳ）  構造のシステムクロックネットワークを示す論理回路図。
【図９】従来のＬＳＩ  に形成されたＦＩＦＯ回路のシステムクロックネットワークを示す論理回路図。
【符号の説明】
１１…クロックバッファセル、
１２…組み合わせロジック部、
２０…レジスタセル、
２００  …クロック伝搬セルグループ。
【図１】
2004185209.tif 000003
【図２】
2004185209.tif 000004
【図３】
2004185209.tif 000005
【図４】
2004185209.tif 000006
【図５】
2004185209.tif 000007
【図６】
2004185209.tif 000008
【図７】
2004185209.tif 000009
【図８】
2004185209.tif 000010
【図９】
2004185209.tif 000011