(57)【要約】【課題】低消費電力化と回路の簡素化を実現するための論理設計を行う回路設計装置を提供する。【解決手段】回路設計装置は設計対象ＲＴＬを解釈して構造解析を行う（Ｓ２）。構造解析の結果に基づいてクロックゲーティングを予測してＥＮ生成論理のＲＴＬ記述を検出し（Ｓ３）、かつ、同一のＥＮ生成論理を検出する（Ｓ４）。検出されたＥＮ生成論理からクロックゲーティング回路の挿入位置と論理階層の組み替えを決定して（Ｓ５）、論理合成における論理階層組み換えの指示（Ｓ８）と設計変更処理を行う（Ｓ６）。設計変更後のＲＴＬと論理階層組み換えの指示とによって論理合成を行い（Ｓ１０）、具体的な回路構成にレイアウトする（Ｓ１２）。【選択図】図２
2007164590.tif 000002
【特許請求の範囲】
【請求項１】
論理合成により回路設計を行うための回路設計データの修正を行う回路設計装置であって、
前記回路設計データに基づいて、第１のクロックゲーティング回路の生成が予測される第１データ部分、及び該回路を制御する制御回路の生成が予測される第２データ部分を検出する生成回路データ検出部と、
前記生成回路データ検出部により生成が予測される前記第１のクロックゲーティング回路の論理階層、及び前記制御回路の論理階層を検出する論理階層検出部と、
前記論理階層検出部により検出された前記第１のクロックゲーティング回路の論理階層が削減されるように、前記回路設計データにおける論理階層の組み換えを指示する回路設計データ修正指示部と、
を備える回路設計装置。
【請求項２】
請求項１に記載の回路設計装置において、
前記回路設計データ修正指示部は、前記生成回路データ検出部により生成が予測された前記制御回路と同じ論理階層に、前記第２のクロックゲーティング回路の挿入を指示することを特徴とする回路設計装置。
【請求項３】
請求項１または請求項２に記載の回路設計装置において、
前記回路設計データ修正指示部は、前記生成回路データ検出部により生成が予測された一つの制御回路により制御される複数の第１クロックゲーティング回路が複数の論理階層に生成されると予測された場合、前記複数の論理階層を展開するように前記回路設計データの修正を指示することを特徴とする回路設計装置。
【請求項４】
論理合成により回路設計を行うための回路設計データの修正をコンピュータに実行させる回路設計プログラムであって、
前記回路設計データに基づいて、第１のクロックゲーティング回路の生成が予測される第１データ部分、及び該回路を制御する制御回路の生成が予測される第２データ部分を検出する生成回路データ検出ステップと、
前記生成回路データ検出ステップにより生成が予測される前記第１のクロックゲーテインダ回路の論理階層及び前記制御回路の論理階層を検出する論理階層検出ステップと、
前記論理階層検出ステップにより検出された前記第１のクロックゲーティング回路の論理階層が削減されるように、前記回路設計データにおける論理階層の組み換えを指示する回路設計データ修正指示ステップと
をコンピュータに実行させる回路設計プログラム。
【請求項５】
論理合成により回路設計を行うための回路設計データの修正を実行する回路設計方法であって、
前記回路設計データに基づいて、第１のクロックゲーティング回路の生成が予測される第１データ部分、及び該回路を制御する制御回路の生成が予測される第２データ部分を検出する生成回路データ検出ステップと、
前記生成回路データ検出ステップにより生成が予測される前記第１のクロックゲーティング回路の論理階層及び前記制御回路の論理階層を検出する論理階層検出ステップと、
前記論理階層検出ステップにより検出された前記第１のクロックゲーティング回路の論理階層が削減されるように、前記回路設計データにおける論理階層の組み換えを指示する回路設計データ修正指示ステップと、
を実行する回路設計方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、回路の論理設計を行う回路設計装置などに関し、特に、回路の低消費電力化を実現するための論理設計を行う回路設計装置、回路設計プログラム、及び回路設計方法に関するものである。
【背景技術】
【０００２】
大規模なＬＳＩ（Large Scale Integrated circuit）においては低消費電力化が必要とされており、低消費電力化を実現するために様々な回路最適化が行われている。このような回路最適化を行うための手段として、ＬＳＩの論理設計を行う際に消費電力が低くなるように回路設計を行う回路設計装置及び回路設計手法が広く知られている。例えば、ＬＳＩの論理回路をハードウェア記述言語で記述する場合に、クロックゲーティング回路（ゲーティング論理付きクロックバッファ）を組み込むように記述することにより消費電力の低減化を図っている。
【０００３】
図３は、従来の回路設計装置においてＬＳＩの低消費電力化を実現するための概念図であり、（ａ）はハードウェア記述言語で記述される論理設計段階の論理構成、（ｂ）は論理合成後の回路構成、（ｃ）はレイアウト後の回路構成を示している。
【０００４】
図３（ａ）に示すように、論理構成の論理設計段階におけるハードウェア記述言語は、論理回路１１のクロックジェネレータ１１ａから、共通のクロック信号が各論理階層１２、１３のフリップフロップ回路１２ａ、１３ａに分配されるように記述されている。また、論理回路１１のイネーブル（ＥＮ）生成論理１１ｂからのイネーブル信号（制御信号）も同様に各論理階層１２、１３のフリップフロップ回路１２ａ、１３ａに分配されるように記述されている。
【０００５】
このとき、クロックジェネレータ１１ａからのクロック信号は各論理階層１２、１３へ常時供給されるが、ＥＮ生成論理１１ｂからのイネーブル信号（制御信号）は、それぞれの論理階層１２、１３におけるフリップフロップ回路１２ａ、１３ａの動作タイミングに合わせてイネーブルになるように記述されている。
【０００６】
図３（ａ）の論理設計段階の論理構成は、論理合成により、図３（ｂ）に示すような論理合成後の回路構成になる。すなわち、図３（ｂ）に示すように、各論理階層１２、１３は、それぞれのクロックゲーティング回路１２ｃ、１３ｃとイネーブル信号（制御信号）なしのそれぞれのフリップフロップ回路１２ｄ、１３ｄにマッピングされて回路化される。このとき、クロックゲーティング回路１２ｃ、１３ｃがどこのフリップフロップ回路に生成されるかは論理合成ツールの機能に依存されるが、通常は、クロックゲーティング回路はフリップフロップ回路と同じ論理階層にそれぞれ生成される場合が多い。
【０００７】
図３（ｂ）に示すような論理合成後の回路構成が実現されると、各クロックゲーティング回路１２ｃ、１３ｃは、各論理階層１２、１３のフリップフロップ回路１２ｄ、１３ｄの動作タイミングに合わせてゲートを開閉する。つまり、論理回路１１のＥＮ生成論理１１ｂからのイネーブル信号（制御信号）によって、動作すべきフリップフロップ回路のみへクロック信号が供給されるようにゲートが開閉される。したがって、ゲートが閉じている論理階層のクロックゲーティング回路から対応するフリップフロップ回路へはクロック信号が供給されないので、該当するフリップフロップ回路の消費電力は低減される。
【０００８】
さらに、図３（ｂ）に示すように論理合成後の回路構成が実現したとき、その回路構成をレイアウトすると、各クロックゲーティング回路１２ｃ、１３ｃは、それぞれのフリップフロップ回路１２ｄ、１３ｄの配置位置に依存して配置されることになる。この配置により、クロックジェネレータ１１ａと各クロックゲーティング回路１２ｃ、１３ｃとの間の配線距離が長くなるので、図３（ｃ）のレイアウト後の回路構成に示すように、レイアウトによりクロックジェネレータ１１ａと各クロックゲーティング回路１２ｃ、１３ｃとの間にバッファ回路１１ｃ、１２ｅ、１３ｅが挿入される。このようにして、図３（ｃ）に示すようなレイアウト後の回路構成により、低消費電力化を実現することが可能となる。
【０００９】
なお、本発明に関連する従来技術として、例えば、下記に示す特許文献１が知られている。この技術によれば、論理回路のハードウェア記述においてゲーテッドクロック供給回路を自動挿入することにより、論理回路の設計作業の高効率化と論理回路の低消費電力化を図ることができる。
【特許文献１】特開２００３−３３０９８８号公報  （段落番号００１６〜００１９、００３０、及び図１参照）
【発明の開示】
【発明が解決しようとする課題】
【００１０】
しかしながら、大規模なＬＳＩ回路において、低消費電力化を実現させるために回路最適化を行うように論理設計を行う論理合成ツールは種々報告されているが、論理合成ツールを用いた回路最適化においては、複数の論理階層を跨いだ回路最適化ができない、論理設計におけるハードウェア記述言語の記述に制限があるなど、さまざまな制約が存在する。
【００１１】
具体的には、図３（ｃ）に示すように、論理階層ごと及びフリップフロップ回路ごとにクロックゲーティング回路が挿入されてしまうので、必然的にクロックゲーティング回路が多くなってしまい、更なる低消費電力化を実現することができない。また、論理階層ごと及びフリップフロップ回路ごとにクロックゲーティング回路が存在するために信号ラインが長くなるので、論理階層ごとに波形整形用のバッファが必要となり、結果的に、ＬＳＩ回路の回路規模が大きくなると共に消費電力が増加してしまう。
【００１２】
本発明は上述した問題点を解決するためになされたものであり、低消費電力化と回路の簡素化を実現するための論理設計を行う回路設計装置、回路設計プログラム、及び回路設計方法を提供することを目的とする。
【課題を解決するための手段】
【００１３】
上述した課題を解決するため、本発明は、論理合成により回路設計を行うための回路設計データの修正を行う回路設計装置であって、回路設計データに基づいて、第１のクロックゲーティング回路の生成が予測される第１データ部分、及びその回路を制御する制御回路の生成が予測される第２データ部分を検出する生成回路データ検出部と、生成回路データ検出部により生成が予測される第１のクロックゲーティング回路の論理階層、及び制御回路の論理階層を検出する論理階層検出部と、論理階層検出部により検出された第１のクロックゲーティング回路の論理階層が削減されるように、回路設計データにおける論理階層の組み換えを指示する回路設計データ修正指示部とを備えたものである。
【００１４】
また、本発明は、上記発明の回路設計装置において、回路設計データ修正指示部は、生成回路データ検出部により生成が予測された制御回路と同じ論理階層に、第２のクロックゲーティング回路の挿入を指示するものである。
【００１５】
また、本発明は、上記各発明の回路設計装置において、回路設計データ修正指示部は、生成回路データ検出部により生成が予測された一つの制御回路により制御される複数の第１クロックゲーティング回路が複数の論理階層に生成されると予測された場合、複数の論理階層を展開するように回路設計データの修正を指示するものである。
【００１６】
また、本発明は、上記各発明の回路設計装置において、更に、回路設計データ修正指示部による指示に基づいて、前記論理階層における論理階層の組み換え及び第２のクロックゲーティング回路の挿入を回路設計データに対して行う回路設計データ修正部を備えたものである。
【００１７】
また、本発明は、上記発明の回路設計装置において、更に、回路設計データ修正部により修正された回路設計データの論理合成を行う論理合成部を備えたものである。
【００１８】
上述した課題を解決するため、本発明は、論理合成により回路設計を行うための回路設計データの修正をコンピュータに実行させる回路設計プログラムであって、回路設計データに基づいて、第１のクロックゲーティング回路の生成が予測される第１データ部分、及びその回路を制御する制御回路の生成が予測される第２データ部分を検出する生成回路データ検出ステップと、生成回路データ検出ステップにより生成が予測される第１のクロックゲーテインダ回路の論理階層及び制御回路の論理階層を検出する論理階層検出ステップと、論理階層検出ステップにより検出された第１のクロックゲーティング回路の論理階層が削減されるように、回路設計データにおける論理階層の組み換えを指示する回路設計データ修正指示ステップとをコンピュータに実行させるものである。
【００１９】
また、本発明は、上記発明の回路設計プログラムにおいて、回路設計データ修正指示ステップは、生成回路データ検出ステップにより生成が予測された制御回路と同じ論理階層に、第２のクロックゲーティング回路の挿入を指示するものである。
【００２０】
また、本発明は、上記各発明の回路設計プログラムにおいて、回路設計データ修正指示ステップは、生成回路データ検出ステップにより生成が予測された一つの制御回路により制御される複数の第１クロックゲーティング回路が複数の論理階層に生成されると予測された場合、複数の論理階層を展開するように回路設計データの修正を指示するものである。
【００２１】
また、本発明は、上記各発明の回路設計プログラムにおいて、更に、回路設計データ修正指示ステップの後、回路設計データ修正指示ステップによる指示に基づいて、前記論理階層における論理階層の組み換え及び第２のクロックゲーティング回路の挿入を回路設計データに対して行う回路設計データ修正ステップをコンピュータに実行させるものである。
【００２２】
また、本発明は、上記発明の回路設計プログラムにおいて、更に、回路設計データ修正ステップの後、回路設計データ修正ステップにより修正された回路設計データの論理合成を行う論理合成ステップをコンピュータに実行させるものである。
【００２３】
上述した課題を解決するため、本発明は、論理合成により回路設計を行うための回路設計データの修正を実行する回路設計方法であって、回路設計データに基づいて、第１のクロックゲーティング回路の生成が予測される第１データ部分、及びその回路を制御する制御回路の生成が予測される第２データ部分を検出する生成回路データ検出ステップと、生成回路データ検出ステップにより生成が予測される第１のクロックゲーティング回路の論理階層及び制御回路の論理階層を検出する論理階層検出ステップと、論理階層検出ステップにより検出された第１のクロックゲーティング回路の論理階層が削減されるように、回路設計データにおける論理階層の組み換えを指示する回路設計データ修正指示ステップとを実行するものである。
【発明の効果】
【００２４】
本発明によれば、適切なクロックゲーティング回路の挿入を行う論理設計により、低消費電力化と回路の簡素化を実現できる。
【発明を実施するための最良の形態】
【００２５】
以下、本発明における回路設計装置の実施の形態について図面を参照しつつ詳細に説明するが、まず、本発明における回路設計装置の概要について説明する。
【００２６】
本発明の回路設計装置は、例えば、ＬＳＩの低消費電力設計を行うものであって、まず、設計対象のＲＴＬ（Register Transfer Level）記述が入力される。そして、回路設計装置による構造解析によって、論理合成後に生成されるであろうクロックゲーティング回路を予測し、さらに同一のイネーブル（ＥＮ）生成論理を検出する。
【００２７】
そして、検出されたＥＮ生成論理からクロックゲーティング回路の最適な挿入位置を決定すると共に、展開すべき論理階層を決定する。さらに、クロックゲーティング回路の挿入と論理階層の組み換えを含む設計変更の指示を設計変更情報として出力すると共に、論理合成ツール向けの論理階層の組み換えの指示（コマンド）を論理階層組み換え指示カードとして出力する。これによって、ＬＳＩの低消費電力化と回路の簡素化とを併せて実現することができる。
【００２８】
さらに、上記の設計変更情報と論理階層組み換え指示カードに基づいて、クロックゲーティング回路の挿入や論理階層の組み換えなどの設計変更を実行することにより、論理合成及びレイアウトの処理を効率的に行うことが可能となる。
【００２９】
なお、論理階層を展開してしまうと、論理合成における処理時間の増大などの問題を招くことがある。したがって、このような不具合を回避するために、機能毎に論理階層を展開または作成することにより、論理階層の組み換えを行ってもよい。
【００３０】
以下、本発明における回路設計装置の好適な実施の形態とし、ＬＳＩの低消費電力設計を行う回路設計装置を例に挙げて説明する。図１は、本発明の回路設計装置においてＬＳＩの低消費電力化を実現するための概念図であり、（ａ）はハードウェア記述言語で記述された設計対象ＲＴＬの論理設計段階の論理構成、（ｂ）は回路設計装置によりクロックゲート論理記述及び論理階層組み替えを行った論理設計変更後の論理構成、（ｃ）は論理合成後の回路構成、（ｄ）はレイアウト後の回路構成を示している。
【００３１】
図１（ａ）に示すように、論理設計段階における設計対象ＲＴＬは、論理回路１のクロックジェネレータ１ａから、共通のクロック信号が各論理階層２、３のフリップフロップ回路２ａ、３ａへ分配されるように記述されている。また、論理回路１のイネーブル（ＥＮ）生成論理１ｂからのイネーブル信号（制御信号）も同様に各論理階層２、３のフリップフロップ回路２ａ、３ａに分配されるように記述されている。
【００３２】
このとき、クロックジェネレータ１ａからのクロック信号は各論理階層２、３へ常時供給されるが、ＥＮ生成論理１ｂからのイネーブル信号（制御信号）は、それぞれの論理階層２、３におけるフリップフロップ回路２ａ、３ａの動作タイミングに合わせてイネーブルになるように記述されている。
【００３３】
ここで、回路設計装置によってクロックゲート論理の挿入及び論理階層の組み換えを行うと、図１（ｂ）のように、クロックゲート論理の挿入及び論理階層の組み換えを行った論理設計変更後の論理構成となる。すなわち、図１（ｂ）に示すように、論理回路１において、クロックジェネレータ１ａの出力側とイネーブル（ＥＮ）生成論理１ｂの出力側の共通ラインにクロックゲート論理１ｃが追加されることにより、クロックゲーティング回路の挿入位置が決定される。さらに、図１（ａ）に示す論理階層２、３の展開が行われ、フリップフロップ回路２ａ、３ａがそれぞれ所属する論理階層は削除される。すなわち、論理設計変更後の設計対象ＲＴＬは図１（ｂ）に示すような論理構成となる。
【００３４】
さらに、回路設計装置が図１（ｂ）のような設計変更後の論理構成の論理合成を行うことにより、論理合成後の回路構成は図１（ｃ）のようにマッピングされて回路化される。すなわち、論理合成における低消費電力化の処理により、論理回路１においてクロックジェネレータ１ａの出力側とイネーブル（ＥＮ）生成論理１ｂの出力側との共通の位置にクロックゲーティング回路１ｄが挿入される。さらに、フリップフロップ回路２ｄ、３ｄは論理階層が取り除かれてクロックゲーティング回路１ｄの出力ラインに共通に接続されるようにマッピングされて回路化される。このとき、フリップフロップ回路２ｄ、３ｄは共にクロックゲーティング回路１ｄの出力側に接続されているので、当然、イネーブル信号（制御信号）なしの回路となる。
【００３５】
図１（ｃ）に示すような論理合成後の回路構成が実現されると、クロックゲーティング回路１ｄは、イネーブル（ＥＮ）生成論理１ｂからのイネーブル信号（制御信号）によりフリップフロップ回路２ｄ、３ｄの動作タイミングに合わせてゲートを開閉する。つまり、論理回路１のＥＮ生成論理１ｂからのイネーブル信号（制御信号）によって、動作すべきフリップフロップ回路のみへクロック信号が供給されるようにゲートが開閉される。したがって、ゲートが閉じているクロックゲーティング回路から対応するフリップフロップ回路へはクロック信号が供給されないので、該当するフリップフロップ回路の消費電力は低減される。さらに、クロックゲーティング回路１ｄが１個に集約されたことによって、さらなる消費電力の低減を図ることができると共に回路が簡素化される。
【００３６】
また、図１（ｃ）に示すような論理合成後の回路構成が実現されたとき、その回路構成をそのままレイアウトすると、共通のクロックゲーティング回路１ｄは各フリップフロップ回路２ｄ、３ｄの配置位置に依存して配置されることになる。そのため、クロックゲーティング回路１ｄと各フリップフロップ回路２ｄ、３ｄとの間の配線距離は長くなるが、クロックジェネレータ１ａからのクロック信号の波形を整形するためのバッファ回路は、クロックゲーティング回路１ｄに直列に１個設ければよいことになる。
【００３７】
すなわち、図１（ｄ）のレイアウト後の回路構成に示すように、クロックゲーティング回路１ｄと各フリップフロップ回路２ｄ、３ｄとの共通ラインにバッファ回路１ｅを１個だけ挿入すればよい。このようにして、回路最適化を行うことにより、レイアウト時に追加される波形整形用のバッファ回路を１個にまとめることができるので、回路が簡素化されると共にさらに低消費電力化を実現することが可能となる。
【００３８】
このようにして、本発明の回路設計装置を用いて設計対象ＲＴＬを書き替え、クロックゲート論理の挿入と論理階層の組換えを行うことにより、設計変更後の論理回路を論理合成した場合には１個のクロックゲーティング回路１ｄと１個のバッファ回路１ｅのみでマッピングされることになる。その結果、本発明によるレイアウト後の回路構成（図１（ｄ））と従来のレイアウト後の回路構成（図３（ｃ））とを比較して分かるように、本発明ではクロックゲーティング回路及びバッファ回路の数が大幅に削減されているので、回路の簡素化と消費電力の低減化を図ることができる。
【００３９】
次に、フロー図を用いて、本発明における回路設計装置の設計フローの流れを説明する。図２は、本発明の回路設計装置に適用されるＬＳＩの回路設計装置の設計フローを示す図である。
【００４０】
まず、回路設計装置は、ユーザから与えられた設計対象のＲＴＬ記述の回路情報（つまり、図1（ａ）に示すような論理設計段階の論理構成）を取得する（ステップＳ１）。すると、回路設計装置では、ＲＴＬ記述のハードウェア記述言語を解釈して、入力された回路情報の構造解析を行う（ステップＳ２）。
【００４１】
そして、回路設計装置は、構造解析の結果に基づいて論理合成によるクロックゲーティング回路の生成を予測し、そのクロックゲーティング回路を制御するＥＮ生成論理のＲＴＬ記述を検出し、予測されたクロックゲーティング回路が所属する論理階層と検出されたＥＮ生成論理が所属する論理階層を検出する（ステップＳ３）。さらに、構造解析の結果に基づいて同一のＥＮ生成論理を検出し、同一のＥＮ生成論理が用いられるフリップフロップ回路を検出する（ステップＳ４）。
【００４２】
次に、検出されたＥＮ生成論理に基づいてクロックゲーティング回路の最適な挿入位置を決定すると共に展開すべき論理階層を決定し、その結果をクロックゲート論理の挿入位置情報と論理階層の組み換え情報として作成する（ステップＳ５）。例えば、ステップＳ３で生成が予測されたクロックゲーティング回路のうち、ステップＳ４で検出された同一のＥＮ生成論理でゲーティング制御が行われる回路を全て集め、クロックジェネレータ１ａのクロック信号発生源へと遡って行き、クロックゲーティング回路１ｄを挿入すべき場所を探索する。さらに、ステップＳ４で検出された同一のＥＮ生成論理でゲーティング制御が行われる回路の論理階層を、展開すべき論理階層として決定する。
【００４３】
なお、ステップＳ５においては、展開すべき論理階層の決定について述べたが、論理階層を展開するだけでなく、回路の機能に応じた論理階層の展開や作成を含めた論理階層の組み換えを決定しても良い。
【００４４】
次に、ステップＳ１の設計対象のＲＴＬ記述の回路情報に対して、ステップＳ５で決定されたクロックゲート論理の挿入位置情報と論理階層の組み換え情報とにより設計変更処理を行い（ステップＳ６）、図１（ｂ）の論理設計変更後の論理構成のように、設計変更後のＲＴＬ記述を行ってクロックゲート論理１ｃを追加記述する（ステップＳ７）。なお、ステップＳ６の設計変更処理においては、、クロックゲート論理の挿入や論理階層の組み換えなどについて、自動的にＲＴＬ記述の回路情報の書き換えを行う。
【００４５】
一方、ステップＳ５において展開すべき論理階層が決定されたら、回路設計装置は論理合成時の論理階層の組み換えを指示するための論理階層組み換え指示カードを生成する（ステップＳ８）。論理階層組み換え指示カードとは、論理合成ツールのコマンドを用いて、論理階層の組み換えの指示が記述されたカードである。
【００４６】
そして、ステップＳ７の設計変更後のＲＴＬ記述とステップＳ８の論理階層組み換え指示カードとを用い、論理階層の組み換えを行いながら論理合成を行う。つまり、論理合成ツールが論理階層組み換え指示カードの指示によって論理階層を展開し、図１（ｃ）に示すような論理合成後の回路構成にマッピングする（ステップＳ１０）。
【００４７】
このようにして論理合成の処理が行われると、ＲＴＬ記述の回路（つまり、図１（ｃ）の論理合成後の回路構成）はテクノロジ依存のネットリストへと変換され、論理合成後のネットリストの内部において論理の最適化や論理階層の展開などが行われる（ステップＳ１１）。そして、レイアウトツールによってレイアウト処理が行われ、図１（ｄ）に示すレイアウト後の回路構成が生成される（ステップＳ１２）。
【００４８】
なお、前述のステップＳ６では、クロックゲート論理の挿入や論理階層の組み換えなどの設計変更処理は自動的に行ったが、ユーザによって手動で行ってもよい。すなわち、ステップＳ５において、回路設計装置は、クロックゲート論理に基づいてクロックゲーティング回路の最適な挿入位置を決定すると共に展開すべき論理階層を決定したら、クロックゲート論理の挿入指示レポートと論理階層の組み換え指示レポートとを作成する。そして、ユーザが、クロックゲート論理の挿入指示レポートと論理階層の組み換え指示レポートの情報に基づいて、ステップＳ６で手動にて設計変更を行うようにしてもよい。
【００４９】
以上詳述したように、本発明の回路設計装置は、ハードウェア記述言語で記述された論理回路を対象にした回路設計データの構造解析を行う処理機能を有する回路設計装置であって、論理回路内を論理合成することによってゲーティング論理付きのバッファヘのマッピングを予測する機能と、同一の論理式によってゲーティング論理を制御するＥＮ生成論理群を検出する機能と、論理階層を展開して得られる回路最適化によってゲーティング論理付きのバッファを削減できるか否かを判定する機能と、ゲーティング論理付きのバッファを挿入するのに最適な論理階層を決定する機能とを備えている。
【００５０】
従って、本発明によれば、このような機能を備えることによって論理階層の枠組みを取り除いてＥＮ生成論理を共有化することができる。したがって、論理合成を行って具体的な回路構成にマッピングしたとき、フリップフロップ回路へ供給するクロック信号を制御するためのクロックゲーティング回路の個数や、クロック信号の波形を整形するためのバッファ回路の個数を削減することができる。これによって、消費電力の低減化を図ることができると共に回路を簡素化することが可能となる。
【００５１】
また、本発明によれば、消費電力を低減させることができるようにするための論理回路の設計変更を、回路設計装置から出力された情報に基づいて自動的に行うことができるし、回路設計装置から出力されたレポートによって設計者が手動で行うこともできる。これによって、例えばＬＳＩの論理設計を行う際に消費電力が低くなるように設計することを支援する回路設計装置を、使い勝手のよい状態で実現することができる。
【００５２】
さらに、本発明の回路設計方法によれば、消費電力を低減させるためにクロックゲート論理付きのバッファを削減するように回路の設計変更を行う場合、回路設計装置を使用した論理階層の展開とクロックゲート論理付きのバッファの挿入位置とを適正に支援して回路最適化を実現する設計手法を提供することができる。
【００５３】
以上の実施の形態では好適な一例としてＬＳＩの回路設計装置について説明したが、本発明では、これに限定されることはなく、ハイブリッドＩＣの回路設計装置やディスクリート回路の回路設計装置などあらゆる回路設計装置に容易に適用することができる。
【００５４】
更に、回路設計装置を構成するコンピュータにおいて、上述した各ステップを実行させるプログラムを回路設計プログラムとして提供することもできる。このような回路設計プログラムは、コンピュータにより読取り可能な記録媒体に記憶させることによって、回路設計装置を構成するコンピュータに実行させることが可能となる。ここで、上記コンピュータにより読取り可能な記録媒体としては、ＲＯＭやＲＡＭ等のコンピュータに内部実装される内部記憶装置、ＣＤ−ＲＯＭやフレキシブルディスク、ＤＶＤディスク、光磁気ディスク、ＩＣカード等の可搬型記憶媒体や、コンピュータプログラムを保持するデータベース、或いは、他のコンピュータ並びにそのデータベースや、更に回線上の伝送媒体をも含むものである。
【００５５】
次に、各請求項における構成手段と実施の形態との対応関係について説明する。生成回路データ検出部及び論理階層検出部は、実施の形態における図２の回路設計装置が行う構造解析（ステップＳ２）、クロックゲーティング予測（ステップＳ３）、及び同一論理検出（ステップＳ４）の各処理の一部を実行する。
【００５６】
また、回路設計データ修正指示部は、実施の形態における図２の回路設計装置が行う最適クロックゲート論理挿入位置決定（ステップＳ５）の処理を実行する。さらに、回路設計データ修正部は、図２の設計変更（ステップＳ６）の処理を実行する。また、論理合成部は、図２の論理合成（ステップＳ１０）の処理を実行する。
【００５７】
（付記１）  論理合成により回路設計を行うための回路設計データの修正を行う回路設計装置であって、
前記回路設計データに基づいて、第１のクロックゲーティング回路の生成が予測される第１データ部分、及び該回路を制御する制御回路の生成が予測される第２データ部分を検出する生成回路データ検出部と、
前記生成回路データ検出部により生成が予測される前記第１のクロックゲーティング回路の論理階層、及び前記制御回路の論理階層を検出する論理階層検出部と、
前記論理階層検出部により検出された前記第１のクロックゲーティング回路の論理階層が削減されるように、前記回路設計データにおける論理階層の組み換えを指示する回路設計データ修正指示部と、
を備える回路設計装置。
（付記２）  付記１に記載の回路設計装置において、
前記回路設計データ修正指示部は、前記生成回路データ検出部により生成が予測された前記制御回路と同じ論理階層に、前記第２のクロックゲーティング回路の挿入を指示することを特徴とする回路設計装置。
（付記３）  付記１または付記２に記載の回路設計装置において、
前記回路設計データ修正指示部は、前記生成回路データ検出部により生成が予測された一つの制御回路により制御される複数の第１クロックゲーティング回路が複数の論理階層に生成されると予測された場合、前記複数の論理階層を展開するように前記回路設計データの修正を指示することを特徴とする回路設計装置。
（付記４）  付記１乃至付記３のいずれかに記載の回路設計装置において、
更に、前記回路設計データ修正指示部による指示に基づいて、前記論理階層における論理階層の組み換え及び前記第２のクロックゲーティング回路の挿入を前記回路設計データに対して行う回路設計データ修正部を備えることを特徴とする回路設計装置。
（付記５）  付記４に記載の回路設計装置において、
更に、前記回路設計データ修正部により修正された回路設計データの論理合成を行う論理合成部を備えることを特徴とする回路設計装置。
（付記６）  論理合成により回路設計を行うための回路設計データの修正をコンピュータに実行させる回路設計プログラムであって、
前記回路設計データに基づいて、第１のクロックゲーティング回路の生成が予測される第１データ部分、及び該回路を制御する制御回路の生成が予測される第２データ部分を検出する生成回路データ検出ステップと、
前記生成回路データ検出ステップにより生成が予測される前記第１のクロックゲーテインダ回路の論理階層及び前記制御回路の論理階層を検出する論理階層検出ステップと、
前記論理階層検出ステップにより検出された前記第１のクロックゲーティング回路の論理階層が削減されるように、前記回路設計データにおける論理階層の組み換えを指示する回路設計データ修正指示ステップと
をコンピュータに実行させる回路設計プログラム。
（付記７）  付記６に記載の回路設計プログラムにおいて、
前記回路設計データ修正指示ステップは、前記生成回路データ検出ステップにより生成が予測された前記制御回路と同じ論理階層に、前記第２のクロックゲーティング回路の挿入を指示することを特徴とする回路設計プログラム。
（付記８）  付記６または付記７に記載の回路設計プログラムにおいて、
前記回路設計データ修正指示ステップは、前記生成回路データ検出ステップにより生成が予測された一つの制御回路により制御される複数の第１クロックゲーティング回路が複数の論理階層に生成されると予測された場合、前記複数の論理階層を展開するように前記回路設計データの修正を指示することを特徴とする回路設計プログラム。
（付記９）  付記６乃至付記８のいずれかに記載の回路設計プログラムにおいて、
更に、前記回路設計データ修正指示ステップの後、前記回路設計データ修正指示ステップによる指示に基づいて、前記論理階層における論理階層の組み換え及び前記第２のクロックゲーティング回路の挿入を前記回路設計データに対して行う回路設計データ修正ステップをコンピュータに実行させることを特徴とする回路設計プログラム。
（付記１０）  付記９に記載の回路設計プログラムにおいて、
更に、前記回路設計データ修正ステップの後、前記回路設計データ修正ステップにより修正された回路設計データの論理合成を行う論理合成ステップをコンピュータに実行させることを特徴とする回路設計プログラム。
（付記１１）  論理合成により回路設計を行うための回路設計データの修正を実行する回路設計方法であって、
前記回路設計データに基づいて、第１のクロックゲーティング回路の生成が予測される第１データ部分、及び該回路を制御する制御回路の生成が予測される第２データ部分を検出する生成回路データ検出ステップと、
前記生成回路データ検出ステップにより生成が予測される前記第１のクロックゲーティング回路の論理階層及び前記制御回路の論理階層を検出する論理階層検出ステップと、
前記論理階層検出ステップにより検出された前記第１のクロックゲーティング回路の論理階層が削減されるように、前記回路設計データにおける論理階層の組み換えを指示する回路設計データ修正指示ステップと、
を実行する回路設計方法。
（付記１２）  付記１１に記載の回路設計方法において、
前記回路設計データ修正指示ステップは、前記生成回路データ検出ステップにより生成が予測された前記制御回路と同じ論理階層に、前記第２のクロックゲーティング回路の挿入を指示することを特徴とする回路設計方法。
（付記１３）  付記１１または付記１２に記載の回路設計方法において、
前記回路設計データ修正指示ステップは、前記生成回路データ検出ステップにより生成が予測された一つの制御回路により制御される複数の第１クロックゲーティング回路が複数の論理階層に生成されると予測された場合、前記複数の論理階層を展開するように前記回路設計データの修正を指示することを特徴とする回路設計方法。
（付記１４）  付記１１乃至付記１３のいずれかに記載の回路設計方法において、
更に、前記回路設計データ修正指示ステップの後、前記回路設計データ修正指示ステップによる指示に基づいて、前記論理階層における論理階層の組み換え及び前記第２のクロックゲーティング回路の挿入を前記回路設計データに対して行う回路設計データ修正ステップを実行することを特徴とする回路設計方法。
（付記１５）  付記１４に記載の回路設計方法において、
更に、前記回路設計データ修正ステップの後、前記回路設計データ修正ステップにより修正された回路設計データの論理合成を行う論理合成ステップを実行することを特徴とする回路設計方法。
【図面の簡単な説明】
【００５８】
【図１】本発明の回路設計装置においてＬＳＩの低消費電力化を実現するための概念図である。
【図２】本発明の回路設計装置に適用されるＬＳＩの回路設計装置の設計フローを示す図である。
【図３】従来の回路設計装置においてＬＳＩの低消費電力化を実現するための概念図である。
【符号の説明】
【００５９】
１  論理回路、１ａ  クロックジェネレータ、１ｂ  イネーブル（ＥＮ）生成論理、１ｃ  クロックゲート論理、１ｄ  クロックゲーティング回路、１ｅ  バッファ回路、２，３  論理階層、２ａ、３ａ、２ｄ、３ｄ  フリップフロップ回路。
【図１】
2007164590.tif 000003
【図２】
2007164590.tif 000004
【図３】
2007164590.tif 000005