(57)【要約】【課題】  本発明は、クロック合成方法、半導体装置及びプログラムに関し、ＳＴＡのクロック定義情報からＣＴＳ制約ファイルを自動生成することにより、短時間で、正確に、且つ、容易にクロック合成部分のゲートオーバーヘッドの影響と回路に生じる消費電力の影響を見積もることを可能とすることを目的とする。【解決手段】  コンピュータによる半導体装置のレイアウト設計におけるクロック合成方法において、回路のクロック情報に基づいて、回路におけるクロックツリーが互いに排他となり、重複部分がないようにクロックツリーを分割するために必要となるフォルスパス及びクロックツリー上に存在するフリップフロップ以外のポイントをリーフ扱いするためのリーフポイントをコンピュータにより抽出する抽出ステップを含むように構成する。【選択図】  図２
2006085595.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータによる半導体装置のレイアウト設計におけるクロック合成方法であって、
回路のクロック情報に基づいて、回路におけるクロックツリーが互いに排他となり、重複部分がないようにクロックツリーを分割するために必要となるフォルスパス及びクロックツリー上に存在するフリップフロップ以外のポイントをリーフ扱いするためのリーフポイントを該コンピュータにより抽出する抽出ステップを含むことを特徴とする、クロック合成方法。
【請求項２】
クロック合成の制約条件を抽出する上で必要となる回路上の構成を事前に該コンピュータによりチェックするチェックステップを更に含み、
該チェックステップは、マスタクロックから末端フリップフロップ又はレジスタの同一パスに対し、同一クロックが合流するか否かをチェックし、フォルスパスとして抽出するポイントがネガティブエッジである場合、そのネット上のファンアウトが存在するか否かをチェックすることを特徴とする、付記１記載のクロック合成方法。
【請求項３】
該クロック情報及び該抽出ステップにより抽出された情報に基づいて、クロックツリー合成（ＣＴＳ：Clock Tree Synthesis）の制約条件を示すＣＴＳ制約ファイルを該コンピュータにより生成する生成ステップを更に含むことを特徴とする、請求項１又は２記載のクロック合成方法。
【請求項４】
請求項１〜３のいずれか１項記載のクロック合成方法を用いて設計することを特徴とする、半導体装置。
【請求項５】
コンピュータに半導体装置のレイアウト設計におけるクロック合成を行わせるプログラムであって、
該コンピュータに、回路のクロック情報に基づいて、回路におけるクロックツリーが互いに排他となり、重複部分がないようにクロックツリーを分割するために必要となるフォルスパス及びクロックツリー上に存在するフリップフロップ以外のポイントをリーフ扱いするためのリーフポイントを抽出させる抽出手順を含むことを特徴とする、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、クロック合成方法、半導体装置及びプログラムに係り、特にコンピュータ支援設計（ＣＡＤ）を用いた半導体装置のレイアウト設計におけるクロック合成方法、そのようなクロック合成方法を用いて設計される半導体装置、及びコンピュータにそのようなクロック合成方法を用いた半導体装置の設計を行わせるプログラムに関する。
【背景技術】
【０００２】
大規模集積回路（ＬＳＩ）等の半導体装置（半導体チップ）のレイアウト設計をする場合、同期設計は、クロック合成を行いクロックツリーを構築することで行われる。
【０００３】
クロック合成に際し、クロックバッファツリーによるゲートオーバーヘッド（Gate Overhead）の影響やそのクロックバッファツリーによる消費電力の影響を正確に見積もる場合には、先ずクロック合成を実行することにより半導体チップ上のクロックツリーを構築する必要がある。その後、クロック合成の結果に基づいて、ゲートオーバーヘッドの見積りとクロックツリーを含めた半導体チップの消費電力の見積りを行う。
【０００４】
クロック合成を行うためには、クロックツリー合成（ＣＴＳ：Clock Tree Synthesis）の制約条件を示すＣＴＳ制約ファイルが必要となる。ＣＴＳ制約ファイルは、論理設計者からレイアウト設計者へデザインのクロックに関する仕様書及びツールであるＳＴＡ（Static Timing Analysis）のクロック定義情報等をもとに、レイアウト設計者がマニュアルで作成する方法が一般的である。
【０００５】
従って、クロック合成ツールからのエラーメッセージ、実際に回路の解析やパスの解析等を行うことにより、制約条件を抽出することとなる。
【特許文献１】特開２００２−９１５５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
従来技術では、実際にレイアウトの段階において制約条件を抽出することの検討を始め、本来行われるべきクロック合成後のゲートオーバーヘッドの見積もりや回路の消費電力の見積もりを行うまでに工程数を必要とするという問題があった。
【０００７】
そこで、本発明は、論理設計者が既に持つＳＴＡのクロック定義情報から、回路におけるクロックツリーが互いに重複する部分がないようにクロックツリーを分割するために必要となるフォルスパス／リーフポイント（false-path/leaf point）を抽出する手段を提供し、クロック合成の容易化と設計工程数への影響を小さくすることにある。
【課題を解決するための手段】
【０００８】
上記の課題は、コンピュータによる半導体装置のレイアウト設計におけるクロック合成方法であって、回路のクロック情報に基づいて、回路におけるクロックツリーが互いに排他となり、重複部分がないようにクロックツリーを分割するために必要となるフォルスパス及びクロックツリー上に存在するフリップフロップ以外のポイントをリーフ扱いするためのリーフポイントを該コンピュータにより抽出する抽出ステップを含むことを特徴とするクロック合成方法によって達成できる。
【０００９】
上記の課題は、上記クロック合成方法を用いて設計することを特徴とする半導体装置によっても達成できる。
【００１０】
上記の課題、コンピュータに半導体装置のレイアウト設計におけるクロック合成を行わせるプログラムであって、該コンピュータに、回路のクロック情報に基づいて、回路におけるクロックツリーが互いに排他となり、重複部分がないようにクロックツリーを分割するために必要となるフォルスパス及びクロックツリー上に存在するフリップフロップ以外のポイントをリーフ扱いするためのリーフポイントを抽出させる抽出手順を含むことを特徴とするプログラムによって達成できる。
【発明の効果】
【００１１】
本発明では、ＳＴＡのクロック定義情報からＣＴＳ制約ファイルを自動生成することにより、短時間で、正確に、且つ、容易にクロック合成部分のゲートオーバーヘッドの影響と回路に生じる消費電力の影響を見積もることが可能となる。
【発明を実施するための最良の形態】
【００１２】
以下に、本発明になるクロック合成方法、本発明になる半導体装置、及び本発明になるプログラムの各実施例を、図面と共に説明する。
【実施例】
【００１３】
本発明になるクロック合成方法は、汎用のコンピュータシステムを用いてコンピュータ支援設計（ＣＡＤ）によりＬＳＩ等の半導体装置を設計する際に用いられる。本発明になるプログラムは、ＣＰＵ等のプロセッサ及び記憶装置からなる汎用のコンピュータシステムにインストールされていても、磁気ディスクやＣＤ−ＲＯＭ等の記憶媒体に格納されていても良い。本発明になる半導体装置は、本発明になるクロック合成方法を用いて生成されたツリー構造の回路を備えたＬＳＩ等である。
【００１４】
図１は、ツリー型構造の回路を生成する処理を説明するフローチャートである。図１において、ステップＳ１１は、ＬＳＩの分割対象領域を複数の領域に分割し、分割により得られた各領域に、分配対象であるＬＳＩの構成素子、即ち、セルを分配する。ステップＳ１２は、クロック合成を行ってクロックツリーを生成し、ステップＳ１３は、概略配線を行う。ステップＳ１４は、必要に応じてクロック位相差を考慮してタイミング改善処理を行う。ステップＳ１５は、以上の処理がＬＳＩの領域を繰り返し分割する規定回数だけ行われたか否かを判定し、判定結果がＮＯであると、処理はステップＳ１１へ戻る。他方、ステップＳ１５の判定結果がＹＥＳであると、ステップＳ１６は、構成素子及び追加されたバッファ等の駆動セルの詳細配置を行う。以上の処理により、タイミングドリブン自動配置が行われる。最後に、ステップＳ１７は、自動配線を行う。このように、ＬＳＩを構成する素子の配置座標をトップダウンに決定する自動配置処理の途中のステップＳ１２で、ツリー構造の回路が生成される。
【００１５】
本発明になる半導体装置は、上記ツリー構造の回路を備え、本発明になるクロック合成方法は、上記ステップＳ１２におけるクロック合成を行う。本発明になるプログラムは、上記コンピュータシステムのＣＰＵに上記ステップＳ１２におけるクロック合成を行わせる。
図２は、本発明になるクロック合成方法の一実施例を示すフローチャートである。同図に示す処理は、図１に示すステップＳ１２内で行われる。セルライブラリ１は、セルに関する設計情報を格納する。ネットリスト２は、セル及び配線の接続関係に関する設計情報を格納する。クロック情報３は、主に３種類の情報Ｉ１〜Ｉ３を定義する。情報Ｉ１は、設計で使われる マスタ／スレーブクロック（master/slave clock）を定義する。情報Ｉ２は、同一クロックソースからのクロックパスが合流するポイント（point）でパスが一意に確定することを定義するもので、例えば後述する如くセレクタ等の選択信号への定数を設定することを示す。情報Ｉ３は、テストモードのオン／オフを定義する。セルライブラリ１、ネットリスト２及びクロック情報３は、いずれもコンピュータシステムの記憶装置内に設けられていても、外部の記憶装置に設けられてても良い。
【００１６】
ステップＳ２１は、セルライブラリ１及びネットリスト２に基づいてパス解析を行う。このパス解析を行う際、イネーブル端子付きクロックバッファ（又はゲーテッドクロックバッファ（gated-clock buffer）をフリップフロップ(FF)として扱うかどうかを決定しても良い。ステップＳ２２は、同一クロックソースからのクロックパスが合流するポイントにおいてパスが一意に確定しているか否かと、及びクロックツリーを分離するフォルスパス（false-path）とするポイントの設定が可能か否かのチェックを行う。チェックの結果ステップＳ２２の判定結果がＮＯであると、クロック情報３に適宜追加設定を行い、処理はステップＳ２１へ戻る。他方、ステップＳ２２の判定結果がＹＥＳであると、処理はステップＳ２３へ進む。尚、異なるクロックソースからのクロックパスが合流するポイントでは、クロック情報３に書かれたクロックの優先順位に従い、クロックの優先及び非優先が自動的に決定される。
【００１７】
ステップＳ２３は、クロック合成の制約として必要となるクロックの定義及びフォルスパス／リーフポイント（false-path/leaf-point）の抽出を行い、クロックツリー合成 (ＣＴＳ)制約ファイル１１を半自動的に生成する。フォルスパスは、回路におけるクロックツリーが互いに重複する部分がないようにクロックツリーを分割するために必要となるものであり、リーフポイントは、クロックツリー上に存在するフリップフロップ以外のポイントをリーフ扱いするためのものである。本実施例では、ステップＳ２３は次のような抽出ルールに従ってＣＴＳの制約条件を抽出する。つまり、３つの基本的なルールｒ１〜ｒ３にもとづいてフォルスパス／リーフポイントを抽出するものとする。ルールｒ１によると、複数のクロックツリーは互いに排他であり、重複部分がないようにクロックツリーを分離する。ルールｒ２によると、クロックツリーを分離するフォルスパスとするポイントがクロックソースのルート端子 (positive edge) の位相と異なる場合、位相と同じポイントまで遡り、そこをフォルスパスのポイントとする。ルールｒ３によると、クロックソースが外部出力端子に直結（即ち、クロックバッファ以外のゲートは介さずに接続）している場合は、リーフポイントとして抽出する。
【００１８】
図３は、ステップＳ２３においてＣＴＳの制約条件を抽出する上記抽出ルールを説明する図である。同図に示す回路中、ｒ１−Ａはルールｒ１が適用される部分、ｒ２−Ａはルールｒ２が適用される部分、ｒ３−Ａはルールｒ３が適用される部分を示す。同図中、ＭＣＫ１〜ＭＣＫ４はクロックソース、ＢＵＦ１〜ＢＵＦ４はクロックバッファ、ＳＥＬ１，ＳＥＬ２はセレクタ、ＦＦ２，ＦＦ４はフリップフロップ、Logicは論理ゲート、ＣＫ＿ＯＵＴは外部出力端子を示す。
【００１９】
ステップＳ２４は、ＣＴＳ制約ファイル１１に適当なテクノロジ情報及びクロックツリーで使用するセルの定義を追加する。ステップＳ２５は、レイアウト情報１２、タイミング制約１３、ＣＴＳ制約ファイル１１及び設定ファイル１４を入力として、クロック合成を行う。ステップＳ２６は、クロックバッファツリーによるゲートオーバーヘッドの見積もりを行い、ステップＳ２７は、消費電力の見積もりを行う。
図４は、ステップＳ２２の処理をより詳細に示すフローチャートである。同図中、ステップＳ３１は、クロックパス上にフリップフロップ群が存在するか否かをチェックし、ステップＳ３２は、クロックの合流が存在するか否かをチェックする。ステップＳ３１及びステップＳ３２の両方で該当するものがなければ、処理はステップＳ３５で終了する。
【００２０】
他方、ステップＳ３２で該当するクロックの合流が存在すると、ステップＳ３３は、合流するクロックが同一クロックであるか否かをチェックし、同一クロックであれば、ステップＳ３４は、パスを一意に確定する情報をクロック情報３へ追加設定する。又、ステップＳ３１で該当するクロックパス上のフリップフロップ群が存在すると、ステップＳ３６は、クロックツリーを分離するフォルスパスとするポイントを設定して格納する。ステップＳ３７は、クロックソースのルート端子（positive edge）の位相と異なる位相（negative edge）が存在するか否かをチェックし、ステップＳ３８は、ファンアウト（fan out）が存在するか否かをチェックする。ステップＳ３９は、ステップＳ３７、Ｓ３８のチェック結果に基づいてクロックツリー構造を再考する。
【００２１】
図５は、ステップＳ２２のチェック内容を説明する図である。同図中、（ａ），（ｂ）は、抽出するポイントの該当部分を示す。又、ＭＣＫ１〜ＭＣＫ３はクロックソース、ＳＥＬ１，ＳＥＬ２はセレクタ、ＦＦ１〜ＦＦ３はフリップフロップ、Logicは論理ゲート、ＮＡＮＤ１はナンドゲート、ＡＮＤ１はアンドゲートを示す。
【００２２】
部分（ａ）では、同一クロックソースＭＣＫ１からのクロックパスが合流するポイント（セレクタＳＥＬ１）が存在するので、パスを一意に確定する。具体的には、クロック情報３としてパスが一意に確定するように、セレクタＳＥＬ１のセレクト端子Ｓに定数を設定する。
【００２３】
部分（ｂ）では、セレクタＳＥＬ２の入力端子Ｂをクロックツリーから分離するフォルスパスとするポイントとした場合、クロックソースのルート端子(positive edge)の位相と異なるため、位相と同じポイントまで遡りそこをフォルスパスのポイント（アンド回路ＡＮＤ１の入力端子Ａ１）とする。しかし、ここでは遡った場合に、フリップフロップＦＦ３のファンアウトが存在するため、１回のクロック合成では処理が出来ない。そこでこの場合は、フリップフロップＦＦ３のクロック入力端子ＣＫ以降をスレーブクロック（slave clock）として個別にＣＴＳを行う必要がある。
【００２４】
図６は、ステップＳ２３の処理をより詳細に示すフローチャートである。同図中、ステップＳ４１は、図２に示すステップＳ２２のチェックによりクロックパス上にフリップフロップ群が存在しないことがわかると、スレーブクロックが存在するか否かをチェックする。ステップＳ４２は、スレーブクロックが存在することがわかると、スレーブクロックをフォルスパスと認識し、ステップＳ４３は、スレーブクロックをフォルスパスとして抽出して格納すると共に、処理は後述するステップＳ５１へ進む。他方、ステップＳ４４は、スレーブクロックが存在しないことがわかると、スレーブクロックをポート用のリーフと認識し、ステップＳ４５は、スレーブクロックをリーフとして抽出して格納すると共に、処理は後述するステップＳ５６へ進む。
【００２５】
ステップＳ４６は、図２に示すステップＳ２２のチェックによりクロックパス上にフリップフロップ群が存在することがわかると、フォルスパス／リーフポイントの設定を開始する。具体的には、ステップＳ４７でクロックの合流が存在することがわかると、ステップＳ５０−１でこれをフォルスパスとして抽出して格納する。又、ステップＳ４８でスレーブクロックが存在することがわかると、ステップＳ５０−１でこれをフォルスパスとして抽出して格納する。更に、ステップＳ４９で外部出力端子が存在することがわかると、ステップ５０−２でこれをリーフポイントとして抽出して格納する。ステップＳ５０−１の後、処理はステップＳ５１へ進み、ステップＳ５０−２の後、処理は後述するステップＳ５６へ進む。
【００２６】
ステップＳ５１は、抽出したフォルスパスとするポイントのエッジをチェックする。ステップＳ５１でエッジがネガティブエッジ（negative edge）、即ち、位相が異なることがわかると、ステップＳ５２で同相（positive edge）となるポイントを探し、ステップＳ５３は同相となるポイントを再抽出する。他方、ステップＳ５１でエッジがポジティブエッジ（positive edge）、即ち、同相であることがわかると、ステップＳ５４でこの同相（positive edge）となるポイントを維持する。ステップＳ５５は、ステップＳ５３で再抽出されたポイント、或いは、ステップＳ５４で維持されたポイントをフォルスパスとして格納する。ステップＳ５６は、上記の如く抽出したフォルスパス及びリーフを確定して格納する。
【００２７】
図７及び図８は、ステップＳ２３のフォルスパス／リーフポイントの抽出を説明する図である。同図中、ＭＣＫ１〜ＭＣＫ７はクロックソース、ＢＵＦ１〜ＢＵＦ５はクロックバッファ、ＳＥＬ１，ＳＥＬ３、ＳＥＬ４はセレクタ、ＦＦ１〜ＦＦ８はフリップフロップ、Logicは論理ゲート、ＣＫ＿ＯＵＴ１，ＣＫ＿ＯＵＴ２は外部出力端子、Gated-CKはゲーテッドクロックバッファを示す。又、（ａ）〜（ｆ）は抽出するポイントの該当部分を示す。
【００２８】
図７において、先ず、異なるクロックソースＭＣＫ４，ＭＣＫ５からのクロックパスが合流するポイント（セレクタＳＥＬ３）が存在する場合、クロックツリーを、互いに重複しないようにクロックツリーを分離する必要がある。クロック情報として与えるクロックの優先順位に従い、セレクタＳＥＬ３の入力端子Ａ或いはセレクタＳＥＬ３の入力端子Ｂをフォルスパスとして抽出する。
【００２９】
同一クロックソースＭＣＫ６からのクロックパスが合流するポイント（セレクタＳＥＬ４）が存在する場合、パスを一意に確定する必要がある。セレクタＳＥＬ４の入力端子Ａを選択した場合、クロックソースのルート端子の位相と異なるため、位相と同じポイント（クロックバッファＢＵＦ１の入力端子Ａまで遡りフォルスパスとして抽出する。
【００３０】
図８において、クロックソースから外部出力端子に直結している場合は、外部出力端子ＣＫ＿ＯＵＴ１をリーフポイントとして抽出するか、或いは、フリップフロップＦＦ６（リーフセル）が存在するネット（net）上のポイント（バッファＢＵＦ２の入力端子Ａ）をフォルスパスとして抽出する。
【００３１】
クロックソースから外部出力端子に直結している場合は、外部出力端子ＣＫ＿ＯＵＴ２をリーフポイントとして抽出する。
【００３２】
フリップフロップＦＦ５において分周クロックが存在する（クロックの定義がある）場合、クロックソースＭＣＫ６（マスタクロック）とフリップフロップＦＦ５の出力端子Ｑ（スレーブクロック）のクロックツリーを分離するために、フリップフロップＦＦ５のクロック入力端子ＣＫをフォルスパスとして抽出する。
【００３３】
イネーブル付クロックバッファ或いはアンド／オアゲートが存在する（クロックの定義がある）場合、クロックソースＭＣＫ７（マスタクロック）とゲーテッドクロックバッファGated-CKの出力端子Ｘ（スレーブクロック）のクロックツリーを分離するためにゲーテッドクロックバッファGated-CKのクロック入力端子ＣＫをフォルスパスとして抽出する。
【００３４】
上記実施例では、回路にフリップフロップが設けられている場合について説明したが、フリップフロップの代わりにレジスタが設けられている場合にも、本発明を同様に適用可能であることは言うまでもない。
【００３５】
尚、本発明は、以下に付記する発明をも包含するものである。
（付記１）  コンピュータによる半導体装置のレイアウト設計におけるクロック合成方法であって、
回路のクロック情報に基づいて、回路におけるクロックツリーが互いに排他となり、重複部分がないようにクロックツリーを分割するために必要となるフォルスパス及びクロックツリー上に存在するフリップフロップ以外のポイントをリーフ扱いするためのリーフポイントを該コンピュータにより抽出する抽出ステップを含むことを特徴とする、クロック合成方法。
（付記２）  クロック合成の制約条件を抽出する上で必要となる回路上の構成を事前に該コンピュータによりチェックするチェックステップを更に含み、
該チェックステップは、マスタクロックから末端フリップフロップ又はレジスタの同一パスに対し、同一クロックが合流するか否かをチェックし、フォルスパスとして抽出するポイントがネガティブエッジである場合、そのネット上のファンアウトが存在するか否かをチェックすることを特徴とする、付記１記載のクロック合成方法。
（付記３）  該抽出ステップは、マスタクロックから末端フリップフロップ又はレジスタの同一パスに対し、複数のクロックが合流している場合、クロックの優先順位或いは合流ポイントのパスを一意に決定する情報に基づいて、他方のクロックパスをフォルスパスとして抽出することを特徴とする、付記１又は２記載のクロック合成方法。
（付記４）  該抽出ステップは、複数のマスタクロックが合流し、他方をフォルスパスとする場合に、そのポイントがソースクロックのデフォルトポジティブエッジから見てネガティブエッジとなる場合は、ポジティブエッジとなるポイントまで遡り、そのポイントをフォルスパスとして抽出することを特徴とする、付記１〜３のいずれか１項記載のクロック合成方法。
（付記５）  該抽出ステップは、マスタクロックから末端フリップフロップ間でのネットワーク上に外部出力端子を含む場合、フリップフロップ群と直接つながるネット上のゲート入力をフォルスパスとして抽出するか、或いは、外部出力端子をリーフポイントとして抽出することを特徴とする、付記１〜４のいずれか１項記載のクロック合成方法。
（付記６）  該抽出ステップは、マスタクロックソースがフリップフロップ群を含まず、直接外部出力端子に接続されている場合、外部出力端子をリーフポイントとして抽出することを特徴とする、付記１〜５のいずれか１項記載のクロック合成方法。
（付記７）  該抽出ステップは、マスタクロックとスレーブクロックがクロック情報として与えられている場合、マスタクロック及びスレーブクロックの２つのクロックツリーを分離するために、マスタクロックのシンクポイント又はスレーブクロックのソースポイントをフォルスパスとして抽出することを特徴とする、付記１〜６のいずれか１項記載のクロック合成方法。
（付記８）  該抽出ステップは、スレーブクロックに対してもマスタクロックと同様の処理を行うことを特徴とする、付記１〜７のいずれか１項記載のクロック合成方法。
（付記９）  該クロック情報及び該抽出ステップにより抽出された情報に基づいて、クロックツリー合成（ＣＴＳ：Clock Tree Synthesis）の制約条件を示すＣＴＳ制約ファイルを該コンピュータにより生成する生成ステップを更に含むことを特徴とする、付記１〜８のいずれか１項記載のクロック合成方法。
（付記１０）  付記１〜９のいずれか１項記載のクロック合成方法を用いて設計することを特徴とする、半導体装置。
（付記１１）  コンピュータに半導体装置のレイアウト設計におけるクロック合成を行わせるプログラムであって、
該コンピュータに、回路のクロック情報に基づいて、回路におけるクロックツリーが互いに排他となり、重複部分がないようにクロックツリーを分割するために必要となるフォルスパス及びクロックツリー上に存在するフリップフロップ以外のポイントをリーフ扱いするためのリーフポイントを抽出させる抽出手順を含むことを特徴とする、プログラム。
（付記１２）  該コンピュータに、クロック合成の制約条件を抽出する上で必要となる回路上の構成を事前にチェックさせるチェック手順を更に含み、
該チェック手順は、該コンピュータに、マスタクロックから末端フリップフロップ又はレジスタの同一パスに対し、同一クロックが合流するか否かをチェックさせ、フォルスパスとして抽出するポイントがネガティブエッジである場合、そのネット上のファンアウトが存在するか否かをチェックさせことを特徴とする、付記１１記載のプログラム。
（付記１３）  該抽出手順は、該コンピュータに、マスタクロックから末端フリップフロップ又はレジスタの同一パスに対し、複数のクロックが合流している場合、クロックの優先順位或いは合流ポイントのパスを一意に決定する情報に基づいて、他方のクロックパスをフォルスパスとして抽出させることを特徴とする、付記１１又は１２記載のプログラム。
（付記１４）  該抽出手順は、該コンピュータに、複数のマスタクロックが合流し、他方をフォルスパスとする場合に、そのポイントがソースクロックのデフォルトポジティブエッジから見てネガティブエッジとなる場合は、ポジティブエッジとなるポイントまで遡り、そのポイントをフォルスパスとして抽出させることを特徴とする、付記１１〜１３のいずれか１項記載のプログラム。
（付記１５）  該抽出手順は、該コンピュータに、マスタクロックから末端フリップフロップ間でのネットワーク上に外部出力端子を含む場合、フリップフロップ群と直接つながるネット上のゲート入力をフォルスパスとして抽出させるか、或いは、外部出力端子をリーフポイントとして抽出させることを特徴とする、付記１１〜１４のいずれか１項記載のプログラム。
（付記１６）  該抽出手順は、該コンピュータに、マスタクロックソースがフリップフロップ群を含まず、直接外部出力端子に接続されている場合、外部出力端子をリーフポイントとして抽出させることを特徴とする、付記１１〜１５のいずれか１項記載のプログラム。
（付記１７）  該抽出手順は、該コンピュータに、マスタクロックとスレーブクロックがクロック情報として与えられている場合、マスタクロック及びスレーブクロックの２つのクロックツリーを分離するために、マスタクロックのシンクポイント又はスレーブクロックのソースポイントをフォルスパスとして抽出させることを特徴とする、付記１１〜１６のいずれか１項記載のプログラム。
（付記１８）  該抽出手順は、該コンピュータに、スレーブクロックに対してもマスタクロックと同様の処理を行なわせることを特徴とする、付記１１〜１７のいずれか１項記載のプログラム。
（付記１９）  該コンピュータに、該クロック情報及び該抽出手順により抽出された情報に基づいて、クロックツリー合成（ＣＴＳ：Clock Tree Synthesis）の制約条件を示すＣＴＳ制約ファイルを生成させる生成手順を更に含むことを特徴とする、付記１１〜１８のいずれか１項記載のプログラム。
【００３６】
以上、本発明を実施例により説明したが、本発明は上記実施例に限定されるものではなく、種々の変形及び改良が可能であることは、言うまでもない。
【図面の簡単な説明】
【００３７】
【図１】ツリー型構造の回路を生成する処理を説明するフローチャートである。
【図２】本発明になるクロック合成方法の一実施例を示すフローチャートである。
【図３】ＣＴＳの制約条件を抽出する抽出ルールを説明する図である。
【図４】ステップＳ２２の処理をより詳細に示すフローチャートである。
【図５】ステップＳ２２のチェック内容を説明する図である。
【図６】ステップＳ２３の処理をより詳細に示すフローチャートである。
【図７】ステップＳ２３のフォルスパス／リーフポイントの抽出を説明する図である。
【図８】ステップＳ２３のフォルスパス／リーフポイントの抽出を説明する図である。
【符号の説明】
【００３８】
１      セルライブラリ
２      ネットリスト
３      クロック情報
１１      ＣＴＳ
１２      レイアウト情報
１３      タイミング制約
１４      設定ファイル
【図１】
2006085595.tif 000003
【図２】
2006085595.tif 000004
【図３】
2006085595.tif 000005
【図４】
2006085595.tif 000006
【図５】
2006085595.tif 000007
【図６】
2006085595.tif 000008
【図７】
2006085595.tif 000009
【図８】
2006085595.tif 000010