(57)【特許請求の範囲】
【請求項１】
ゲーテッドクロック回路の設計を支援するゲーテッドクロック設計支援装置において、
第１の回路情報に基づいてゲーテッドクロック回路部分の第１のタイミング制約を第１のパラメータを設定して生成する第１のタイミング制約生成手段と、  前記第１のタイミング制約を参照して、前記第１の回路の論理合成及び配置処理をする回路設計手段と、
回路情報において前記第１のタイミング制約の課された回路部分に対してタイミングの解析を行なう第１のタイミング解析手段と、
前記第１のタイミング制約の下における前記タイミング解析の結果を参照してタイミングを満たしているか否かを判定する第１のタイミング判定手段と、
前記第１のタイミング制約の下における前記タイミングを満たしている場合、回路のクロック配線処理を実行する配線手段と、
前記クロック配線処理後の回路情報に基づいてゲーテッドクロック回路部分の第２のタイミング制約を第２のパラメータを設定して生成する第２のタイミング制約生成手段と、
前記クロック配線処理後の回路情報の中の前記第２のタイミング制約の課された回路部分に対してタイミング解析を行なう第２のタイミング解析手段と、
前記第２のタイミング制約の下における前記タイミング解析の結果を参照してタイミングを満たしているか否かを判定する第２のタイミング判定手段と、
前記第２のタイミング制約に対してタイミングを満たしていない場合、回路の論理合成及び配置処理をする第２の回路設計手段とを具備し、
前記第２の回路設計手段により得られた第２の回路情報を前記第１の回路情報とし、この第１の回路情報において前記第２のパラメータを用いて前記第１のタイミング制約を発生した後、前記第１のタイミング解析手段によるタイミング解析処理に戻り、更に、第１のタイミング判定手段の処理以降に進んで、前記第２のタイミング判定手段が前記第２のタイミング制約の下における前記タイミング解析の結果を参照してタイミングを満たしていると判定するまで処理を繰り返すことを特徴とするゲーテッドクロック設計支援装置。
【請求項２】
前記第１のパラメータは、ゲーテッドバッファの内部遅延時間又は予め決められた値とすることを特徴とする請求項１に記載のゲーテッドクロック設計支援装置。
【請求項３】
前記第２のパラメータは、ゲーテッドバッファからこのゲーテッドバッファが駆動するレジスタセルまでの遅延時間とすることを特徴とする請求項１又は２に記載のゲーテッドクロック設計支援装置。
【請求項４】
前記ゲーテッドバッファは、ＯＲゲート又はＡＮＤゲートであることを特徴とする請求項１乃至３いずれかに記載のゲーテッドクロック設計支援装置。
【請求項５】
ゲーテッドクロック回路の設計を支援するゲーテッドクロック設計支援方法において、
ゲーテッドバッファからレジスタまでの遅延時間を表わす第１のパラメータにゲーテッドバッファの遅延時間を設定するステップと、
前記第１のパラメータを考慮してゲーテッドクロック部分に第１のタイミング制約を与えるステップと、
前記第１のタイミング制約で拘束されるゲーテッドクロック部分を含む回路のタイミング解析を行うステップと、
前記タイミング解析結果から前記ゲーテッドクロック部分が前記第１のタイミング制約を満足するかどうかを判断するステップと、
前記ゲーテッドクロック部分が前記タイミング制約を満足して、前記回路に配線処理をした後のゲーテッドバッファからレジスタまでの遅延時間を表わす第２のパラメータとして、ゲーテッドバッファからこのゲーテッドバッファが駆動するレジスタセルまでの遅延時間を設定するステップと、
前記第２のパラメータを考慮してゲーテッドクロック部分に第２のタイミング制約を与えるステップと、
前記第２のタイミング制約で拘束されるゲーテッドクロック部分を含む回路のタイミング解析を行うステップと、
前記タイミング解析結果から前記ゲーテッドクロック部分が前記第２のタイミング制約を満足するかどうかを判断するステップと、
を具備することを特徴とするゲーテッドクロック設計支援方法。
【請求項６】
ゲーテッドクロック回路の設計を支援するゲーテッドクロック設計支援プログラムを記録した記録媒体において、
ゲーテッドバッファからレジスタまでの遅延時間を表わす第１のパラメータにゲーテッドバッファの遅延時間を設定する機能と、
前記第１のパラメータを考慮してイネーブル論理に第１のタイミング制約を与える機能と、
前記第１のタイミング制約で拘束されるゲーテッドクロック部分を含む回路のタイミング解析を行う機能と、
前記タイミング解析結果から前記ゲーテッドクロック部分が前記第１のタイミング制約を満足するかどうかを判断する機能と、
前記ゲーテッドクロック部分が前記タイミング制約を満足して、前記回路に配線処理をした後のゲーテッドバッファからレジスタまでの遅延時間を表わす第２のパラメータとして、ゲーテッドバッファからこのゲーテッドバッファが駆動するレジスタセルまでの遅延時間を設定する機能と、
前記第２のパラメータを考慮してイネーブル論理に第２のタイミング制約を与える機能と、
前記第２のタイミング制約で拘束されるゲーテッドクロック部分を含む回路のタイミング解析を行う機能と、
前記タイミング解析結果から前記ゲーテッドクロック部分が前記第２のタイミング制約を満足するかどうかを判断する機能と、
をコンピュータに実現させることを特徴とするゲーテッドクロック設計支援プログラムを記録した記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、計算機を利用した論理回路の設計に係り、特に消費電力を低減する効果の高いゲーテッドクロック回路の設計を支援するゲーテッドクロック設計支援装置、ゲーテッドクロック設計支援方法及びゲーテッドクロック設計支援プログラムに関するものである。
【０００２】
【従来の技術】
従来より消費電力の少ない論理回路を設計することを目的としたゲーテッドクロック設計手法が利用されている。この設計手法では、回路中の記憶素子の値を更新する必要がないときには、記憶素子へのクロックパルスの供給を行なわないような制御機構を設けることを特徴としている。この制御はイネーブル論理と呼ばれる組み合わせ回路により実現されるが、このイネーブル論理にはデータパスとは異なるタイミング制約が課される。
【０００３】
例えば、図９に示したゲーテッドクロック回路では、イネーブル論理１１に関するタイミング制約は次のように課される。
【０００４】
（イネーブル論理の最大遅延時間）＜Ｔ／２−α      （１）
但し、クロックの周期をＴ、ゲーテッドバッファ１２からレジスタ１３までの遅延時間をαとしている。ここでゲーテッドバッファとは図９におけるＯＲゲートのように、イネーブル論理の出力信号とクロック信号を入力として持ち、その出力がレジスタ１３のクロック入力端子に接続されたゲートのことである。また、レジスタ１３とフリップフロップＦ／Ｆは、クロック信号の立ち上がりに同期してデータを取り込むものとしている。図９ではゲーテッドバッファ１２からレジスタ１３までの遅延時間αは、ＯＲゲート一段分の遅延時間のように見えるが、実際にはこれよりも大きくなることがある。これは次の理由による。
【０００５】
クロック信号に関しては各レジスタやＦ／Ｆに対して、立ち上がり（または立ち下がり）のタイミングが同時になるように、信号線は特別に配線処理される（例えば、F.Minami et al.,“Ｃlock Tree Synthesis Based on RC Delay Balancing",Proceedings of the IEEE 1992 Custom Integrated Circuits Conference,p28.3.1-28.3.4）。この時にクロック入力からレジスタまでの間に必要に応じて中間バッファが付加される。ゲーテッドクロック設計された回路では、ゲーテッドバッファより前段に何個の中間バッファが付加されるのか、後段に何個の中間バッファが付加されるのか、レイアウト設計のクロック配線処理が行なわれるまではわからない。例えば中間バッファが２個付加される場合でも、図１０（ａ）に示したようにゲーテッドバッファ１２の前段に２個バッファ１６が入る、図１０（ｂ）に示したようにゲーテッドバッファ１２の前段と後段にバッファ１６が１個ずつ入る、図１０（ｃ）に示したようにゲーテッドバッファ１２の後段に２個バッファ１６が入る構成のどの形になるのか、クロック配線処理が行なわれるまではわからない。
【０００６】
【発明が解決しようとする課題】
一方、論理合成処理は、クロック配線処理よりも設計段階としては前段階に位置するが、論理合成処理では上記（１）をタイミング制約として、イネーブル論理部分の遅延時問を改善する。但し（１）の式においてαの値が定まっていないので、仮の値をαに設定して論理合成処理を行なっていた。このため、クロック配線処理後に得られる実際のαの値と、上記仮のαの値との差が大きいと、クロック配線後に（１）のタイミング制約が守られないという問題が発生していた。この場合、実際のαの値を使って論理合成処理をもう一度やり直せば、クロック配線後に（１）のタイミング制約を満たすことも可能な場合もあるが、この場合でも論理合成処理以降の処理を再度実行することとなり、設計期間の増大を招いていた。
【０００７】
そこで論理合成以降の処理の再実行を防ぐための方法として、（１）の式のαに考えられる最大の値を設定する方法が提案されている（T.Kitahara et al.,“Ａ Clock-Gating Method for Low-Power LSI Design",Proceedings of the ASP-DAC'98,p.307-312）。但しこの手法も、実際の値よりも大きな値をαとして与えてしまうことがあった。このような場合には必要以上に遅延時間を改善してしまうことにより、使用するトランジスタが大きくなって、イネーブル論理部分の面積を大きくしてしまったり、消費電力を大きくしてしまうという問題点があった。
【０００８】
また、ＬＳＩの微細化が進み、ゲート内部の遅延時間だけでなくゲート間の配線による遅延時間も考慮に入れないと論理回路の遅延時間を的確に解析できないようになってきている。従来の論理合成処理では個々のゲート間の配線長を考慮せずに、一括平均的に扱っていた。このため、論理合成処理におけるタィミング解析の精度が適切でなくなってきている。この問題に対処するために、ゲートの配置データに基づいて論理合成処理を行なったり、配置処理と論理合成処理を並行して行なう手法が提案されている（例えば、M.Murofushi et al.，“Layout Driven Re-synthesis for Low Power Consumption LSIs",Proceedings 1997 Design Automation Conference,p.666-669）。但しこの手法でも、ゲーテッドクロック設計された回路において、ゲーテッドバッファからレジスタまでの遅延時間αを的確に求めることはできなかった。
【０００９】
本発明は、上述の如き従来の課題を解決するためになされたもので、その目的は、ゲーテッドバッファからレジスタまでの遅延時間を的確に反映したタイミング制約をイネーブル論理に対して設定することができるゲーテッドクロック設計支援装置、ゲーテッドクロック設計支援方法及びゲーテッドクロック設計支援プログラムを提供することである。
【００１０】
【課題を解決するための手段】
上記目的を達成するために、請求項１の発明の特徴は、ゲーテッドクロック回路の設計を支援するゲーテッドクロック設計支援装置において、第１の回路情報に基づいてゲーテッドクロック回路部分の第１のタイミング制約を第１のパラメータを設定して生成する第１のタイミング制約生成手段と、前記第１のタイミング制約を参照しながら、前記第１の回路の論理合成及び配置処理をする回路設計手段と、回路情報において前記第１のタイミング制約の課された回路部分に対してタイミングの解析を行なう第１のタイミング解析手段と、前記第１のタイミング制約の下における前記タイミング解析の結果を参照してタイミングを満たしているか否かを判定する第１のタイミング判定手段と、前記第１のタイミング制約の下における前記タイミングを満たしている場合、回路のクロック配線処理を実行する配線手段と、前記クロック配線処理後の回路情報に基づいてゲーテッドクロック回路部分の第２のタイミング制約を第２のパラメータを設定して生成する第２のタイミング制約生成手段と、前記クロック配線処理後の回路情報の中の前記第２のタイミング制約の課された回路部分に対してタイミング解析を行なう第２のタイミング解析手段と、前記第２のタイミング制約の下における前記タイミング解析の結果を参照してタイミングを満たしているか否かを判定する第２のタイミング判定手段と、前記第２のタイミング制約に対してタイミングを満たしていない場合、回路の論理合成及び配置処理をする第２の回路設計手段とを具備し、前記第２の回路設計手段により得られた第２の回路情報を前記第１の回路情報とし、この第１の回路情報において前記第２のパラメータを用いて前記第１のタイミング制約を発生した後、前記第１のタイミング解析手段によるタイミング解析処理に戻り、更に、第１のタイミング判定手段の処理以降に進んで、前記第２のタイミング判定手段が前記第２のタイミング制約の下における前記タイミング解析の結果を参照してタイミングを満たしていると判定するまで処理を繰り返すことにある。
【００１１】
請求項２の発明の前記第１のパラメータは、ゲーテッドバッファの内部遅延時間又は予め決められた値とすることを特徴とする。
【００１２】
請求項３の発明の前記第２のパラメータは、ゲーテッドバッファからこのゲーテッドバッファが駆動するレジスタセルまでの遅延時間とすることを特徴とする。
【００１３】
請求項４の発明の前記ゲーテッドバッファは、ＯＲゲート又はＡＮＤゲートであることを特徴とする。
【００１４】
請求項５の発明の特徴は、ゲーテッドクロック回路の設計を支援するゲーテッドクロック設計支援方法において、ゲーテッドバッファからレジスタまでの遅延時間を表わす第１のパラメータにゲーテッドバッファの遅延時間を設定するステップと、前記第１のパラメータを考慮してゲーテッドクロック部分に第１のタイミング制約を与えるステップと、前記第１のタイミング制約で拘束されるゲーテッドクロック部分を含む回路のタイミング解析を行うステップと、前記タイミング解析結果から前記ゲーテッドクロック部分が前記第１のタイミング制約を満足するかどうかを判断するステップと、前記ゲーテッドクロック部分が前記タイミング制約を満足して、前記回路に配線処理をした後のゲーテッドバッファからレジスタまでの遅延時間を表わす第２のパラメータとして、ゲーテッドバッファからこのゲーテッドバッファが駆動するレジスタセルまでの遅延時間を設定するステップと、前記第２のパラメータを考慮してゲーテッドクロック部分に第２のタイミング制約を与えるステップと、前記第２のタイミング制約で拘束されるゲーテッドクロック部分を含む回路のタイミング解析を行うステップと、前記タイミング解析結果から前記ゲーテッドクロック部分が前記第２のタイミング制約を満足するかどうかを判断するステップとを具備することにある。
【００１５】
請求項６の発明の特徴は、ゲーテッドクロック回路の設計を支援するゲーテッドクロック設計支援プログラムを記録した記録媒体において、ゲーテッドバッファからレジスタまでの遅延時間を表わす第１のパラメータにゲーテッドバッファの遅延時間を設定する機能と、前記第１のパラメータを考慮してイネーブル論理に第１のタイミング制約を与える機能と、前記第１のタイミング制約で拘束されるゲーテッドクロック部分を含む回路のタイミング解析を行う機能と、前記タイミング解析結果から前記ゲーテッドクロック部分が前記第１のタイミング制約を満足するかどうかを判断する機能と、前記ゲーテッドクロック部分が前記タイミング制約を満足して、前記回路に配線処理をした後のゲーテッドバッファからレジスタまでの遅延時間を表わす第２のパラメータとして、ゲーテッドバッファからこのゲーテッドバッファが駆動するレジスタセルまでの遅延時間を設定する機能と、前記第２のパラメータを考慮してイネーブル論理に第２のタイミング制約を与える機能と、前記第２のタイミング制約で拘束されるゲーテッドクロック部分を含む回路のタイミング解析を行う機能と、前記タイミング解析結果から前記ゲーテッドクロック部分が前記第２のタイミング制約を満足するかどうかを判断する機能とをコンピュータに実現させるゲーテッドクロック回路の設計を支援するゲーテッドクロック設計支援プログラムを記録した記録媒体にある。
【００１６】
【発明の実施の形態】
以下、本発明の実施形態を図面に基づいて説明する。図１は、本発明のゲーテッドクロック設計支援装置の一実施形態に係る構成を示したブロック図である。ゲーテッドクロック設計支援装置は、イネーブル論理に関するタイミング制約を発生するタイミング制約生成部１、論理合成処理された回路やクロック配線処理された回路のタイミングを解析するタイミング解析部２、タイミング解析に基づいて前記タイミング制約が守られたかどうかを判定するタイミング判定部３、論理合成し、各構成要素を配置して回路を設計する論理合成／配置処理部４、論理合成して配置した回路にクロック配線を施すクロック配線処理部５、回路情報格納部６及びタイミング制約情報格納部７から構成される。
【００１７】
次に本実施形態の動作について説明する。図２は図１に示した支援装置の動作を示したフローチャートである。回路情報格納部６からゲーテッドバッファを取り出してその内部遅延時間を求める。ここでは配線による遅延時間は考慮しない。パラメータαにはこの内部遅延時間を設定する（ステップ１０１）。αの値が設定されたら、タイミング制約生成部１では回路情報格納部６中のイネーブル論理に対して、Ｔ／２−αのタイミング制約値を与える。このタイミング制約はタイミング制約情報格納部７に格納される（ステップ１０２）。ここで論理合成／配置処理実行部４において、このタイミング制約を満たすように論理合成処理及び配置処理を実行する（ステップ１０３）。
【００１８】
次に、タイミング判定部３では、まず、タイミング解析部２を使って回路情報格納部６中の前記論理合成及び配置処理した回路に対してタイミング解析を行なう。このとき、タイミング制約情報格納部７に格納されているタイミング制約情報が参照されて、タイミング制約が満たされているか否かがチェックされる。そして、タイミング判定部３では各イネーブル論理に対してタイミング制約が満たされているかどうかを判定する（ステップ１０４）。もし満たされていないならば、回路情報格納部６に格納されている回路情報を修正するか、またはタイミング制約情報格納部７に格納されるタイミング制約を緩和する（ステップ１０５）。そして、ステップ１０１へ戻る。
【００１９】
ステップ１０４にて前記タイミング制約が満たされている場合には、回路情報格納部６に格納されている回路情報に対してクロック配線処理を実行する（ステップ１０６）。ここで、ゲーテッドバッファからレジスタまでの遅延時間をタイミング解析部２で求めることにより、各イネーブル論理に対するそれぞれのαの値が求まる（ステップ１０７）。次にタイミング制約生成部１では、ステップ１０７で求まったαの値を使って、タイミング制約情報格納部７に格納されているイネーブル論理に関するタイミング制約値を更新する（ステップ１０８）。タイミング判定部３ではタイミング解析部２を使って、タィミング解析を行なう。このときタイミング制約としては、ステップ１０８で更新されたタイミング制約値を利用する。そして、タイミング判定部３では各イネーブル論理に対してタイミング制約が満たされているかどうかを判定する（ステップ１０９）。もし満たされていれば、処理は終了する。満たされていなければ、ステッブ１０３へ戻り、再度論理合成処理及び配置処理を実行する。このときのタイミング制約もステップ１０８で更新されたものを利用する。
【００２０】
更に上記した各構成要素の動作を具体例を用いて詳細に説明する。図３に示す論理回路が回路情報格納部６に格納されていたとする。この回路では２か所でゲーテッドクロック設計がなされている。ここでゲーテッドバッファｏｒ−１とｏｒ−２共、その遅延時間はｄであったとする。ステップ１０１では、図５におけるパラメータαｌとα２に値ｄを与える。ステップ１０２ではイネーブル論理にタイミング制約を与えるが、ここでは次のタイミング制約が与えられる。
【００２１】
（イネーブル論理１１−１の最大遅延時間）＜Ｔ／２−ｄ    （２）
（イネーブル論理１１−２の最大遅延時間）＜Ｔ／２−ｄ    （３）
ここで、ＴはクロックＣＬＫの周期を表わす。次にステップ１０３において、論理合成処理と配置処理を実行する。この処理においては、上記タイミング制約（２）及び（３）を満たすことを目的として処理が行なわれる。そしてステップ１０４において、配置処理後の論理回路に対して上記（２）及び（３）のタイミング制約を満たすかどうかを調べるためのタイミングの解析を行なう。タイミングが満たされていない場合には、ステップ１０５において論理回路を修正するかタイミング制約を緩和する。
【００２２】
論理回路を修正するとは、例えば図５のゲーテッドバッファｏｒ−１を含むイネーブル論理１１−１のタイミング制約が満たされないときに、ゲーテッドクロック設計を止めて、図３の論理回路を図４の上段に示すようにレジスタ１３にフィードバックループを付加する構成を論理回路に施して修正することである。また、タイミング制約を緩和するとは、例えばクロック周期Ｔの値を大きくすることで実現される。ステップ１０４においてタイミング制約が満たされた場合にはステップ１０６に進んで、クロック配線処理を実行する。
【００２３】
次にステップ１０７ではクロック配線処理された後の各イネーブル論理に対してαを求めるが、これは次のように求める。図５をクロック配線処理後の回路情報とする。この回路データ上でＯＲゲートｏｒ−１からこのｏｒ−１が駆動する各レジスタセル１７−１〜１７−４及び１８−１〜１８−４までの遅延時間をそれぞれ求める。すなわち、図５においてｏｒ−１から点線で囲んだ部分に存在する各レジスタセルまでの遅延時間を求める。そしてαの値としては、上記遅延時間の中で最大のものを与える。イネーブル論理１１−１に対するαの値をαｌとすれば、具体的には次の式で求めることができる。
【００２４】
αｌ＝ＭＡＸ１≦ｉ≦S ｄｅｌａｙ（ｏｒ−１→ＤＦ−１ｉ）    （４）
ここで、ｄｅｌａｙ（Ａ→Ｂ）はＡからＢまでの遅延時間を表わしている。そして、図３のＯＲゲートｏｒ−２を含むイネーブル論理１１−２に対するα２の値も上記（４）と同様の式を用いて求めることができる。ステップ１０８ではステップ１０７で求まったα１及びα２の値に応じて、タイミング制約値を計算する。この場合（２）及び（３）のタイミング制約は次のようになる。
【００２５】
（イネーブル論理１１−１の最大遅延時間）＜Ｔ／２−α１    （５）
（イネーブル論理１１−２の最大遅延時間）＜Ｔ／２−α２    （６）
次にステップ１０９において、上記タイミング制約（５）及び（６）が満たされているかどうかを判定する。満たされている場合には、処理は終了する。満たされていない場合には、ステップ１０３に戻り、タイミング制約（５）及び（６）を用いて再度論理合成処理及び配置処理を行なう。
【００２６】
本実施形態によれば、論理設計と、レイアウト設計の配置処理までは、ゲーテッドバッファの内部遅延か、或いは予め決められた適当な値をαとしてイネーブル論理のタイミング制約を求めて、回路を設計し、その回路にクロック配線処理をした後、新たにこの配線による遅延を考慮したαを求め、このαを用いて新たなタイミング制約を設定するため、ゲーテッドバッファからレジスタまでの遅延時間を的確に反映したタイミング制約をイネーブル論理に対して設定することができる。これにより、論理合成及び配置処理のときに的確なタイミング最適化を実行することができ、タイミング最適化設計にかかる手間を軽減することができ、設計期間を短縮することができる。
【００２７】
尚、上記実施形態では、ゲーテッドバッファにＯＲゲートを使った場合について述べたが、ＡＮＤゲートを使った場合にも同様の処理が可能である。図６はＡＮＤゲート１４を使った場合のゲーテッドクロック回路の例である。この場合の特徴は、イネーブル論理１１とＡＮＤゲート１４の間にラッチ１５が付加されていることである。このラッチ１５はイネーブル論理１１で発生するグリッチをレジスタのクロック入力に伝播させないように、グリッチを除去する目的で付加されている。図６のゲーテッドクロック回路に関するタイミング制約は次のようになる。
【００２８】
（イネーブル論理とラッチの最大遅延時間）＜Ｔ−α    （８）
上記（８）に示すようにタイミング制約にＯＲゲートを用いた場合に比べてクロック半周期（Ｔ／２）分余裕ができ、これを用いて図２に示したフローチャートを動作させれば、ＡＮＤゲートを使ったゲーテッドクロック回路にも適用可能である。このようにゲーテッドバッファにＡＮＤゲートを用いれば、タイミング制約に余裕ができて設計はしやすくなるが、ラッチが必要となる分、消費電力と回路面積に関してＯＲゲートを使った場合に比べて不利である。
【００２９】
また、上記実施形態では、レジスタとＦ／Ｆ（フリップフロップ）は、クロック信号の立ち上がりに同期してデータを取り込むものとしていた。しかし、レジスタとＦ／Ｆ（フリップフロップ）が、クロック信号の立ち下がりに同期してデータを取りこむ場合についても同様の処理が可能である。クロック信号の立ち下がりに同期してデータを取り込む場合には、タイミング制約はＡＮＤゲートがクロック半周期（Ｔ／２）を元にし、ＯＲゲートがクロック１周期（Ｔ）を元にして決められる。従って、ゲーテッドバッファにＡＮＤゲートを使う場合には、ゲーテッドクロック回路は図７のようになり、タイミング制約は（１）の制約を用いれば良い。またゲーテッドバッファにＯＲゲートを使う場合には、ゲーテッドクロック回路は図８のようになり、タイミング制約は（８）の制約を用いれば良い。
【００３０】
更に、上記実施形態では、最大遅延時間に関するタイミング制約について述べたが、最小遅延時間に関するタイミング制約についても同様の処理が可能である。例えば図３のイネーブル論理１１−１に関する最小遅延時間制約は、次のようになる。
【００３１】
（イネーブル論理１１−１の最小遅延時間）＞ＭＡＸ１≦ｉ≦S ｄｅｌａｙ（CLK→DF  1i）−ＭＩＮ１≦ｊ≦M ｄｅｌａｙ（CLK→FF  1j）−α１    （９）
上記（９）のタイミング制約を用いて図２に示したフローチャートの手順のように処理すれば、最小遅延時間に関するタイミング制約についても同様に処理が可能で、上記実施形態と同様の効果がある。
【００３２】
また、ゲーテッドクロック設計支援方法はプログラム化してコンピュータに実行させることにより実施でき、同様の効果を得ることができる。その際、コンピュータプログラムは、フロッピーディスクやハードディスク等のディスク型記録媒体、半導体メモリやカード型メモリなどの各種メモリ、或いは通信ネットワークなどの各種のプログラム記録媒体を通じてコンピュータに供給することができる。
【００３３】
尚、本発明は上記実施形態に限定されることなく、その要旨を逸脱しない範囲において、具体的な構成、機能、作用、効果において、他の種々の形態によっても実施することができる。
【００３４】
【発明の効果】
以上詳細に説明したように、請求項１、２、４、５、６の発明によれば、ゲーテッドクロック設計支援装置によれば、ゲーテッドバッファからレジスタまでの遅延時間を的確に反映したタイミング制約をイネーブル論理に対して設定できるので、論理合成及び配置処理の時にタイミング最適化を的確に実行することができる。これによりタイミング最適化設計にかかる手問を軽減することができ、設計期間を短縮することができる。
【００３５】
請求項３の発明によれば、ゲーテッドバッファからレジスタまでの遅延時間を的確に反映したタイミング制約が生成されるので、これを用いることによりタイミング最適化設計にかかる手間を軽減することができ、設計期間を短縮することができる。
【図面の簡単な説明】
【図１】本発明のゲーテッドクロック設計支援装置の一実施形態に係る構成を示したブロック図である。
【図２】図１に示した装置の動作を示すフローチャートである。
【図３】図１に示した回路情報格納部に格納された回路情報例を示した回路図である。
【図４】図３に示した回路図の一部に対してゲーテッドクロック設計を適用しないように修正した回路図である。
【図５】図１に示したクロック配線処理部の処理が終わった後の回路情報例を示した回路図である。
【図６】ゲーテッドバッファにＡＮＤゲートを利用した場合のゲーテッドクロック設計例を示す回路図である。
【図７】クロックの立下りでデータを取りこむレジスタとゲーテッドバッファにＡＮＤゲートを利用した場合のゲーテッドクロック設計例を示す回路図である。
【図８】クロックの立下りでデータを取りこむレジスタとゲーテッドバッファにＯＲゲートを利用した場合のゲーテッドクロック設計例を示す回路図である。
【図９】論理回路における従来のゲーテッドクロック設計の例を示す回路図である。
【図１０】クロック配線処理における中間バッファ付加例を示す図である。
【符号の説明】
１  タイミング制約生成部
２  タイミング解析部
３  タイミング判定部
４  論理合成／配置処理部
５  クロック配線処理部
６  回路情報格納部
７  タイミング制約情報格納部
１１−１、１１−２  イネーブル論理
１２  ゲーテッドバッファ
１３  レジスタ
１４  ＡＮＤゲート
１５  ラッチ
Ｆ／Ｆ  フリップフロップ
ｏｒ−１、ｏｒ−２  ＯＲゲート
【図１】
0003660241.tif 000002
【図２】
0003660241.tif 000003
【図３】
0003660241.tif 000004
【図４】
0003660241.tif 000005
【図５】
0003660241.tif 000006
【図６】
0003660241.tif 000007
【図７】
0003660241.tif 000008
【図８】
0003660241.tif 000009
【図９】
0003660241.tif 000010
【図１０】
0003660241.tif 000011