(57)【要約】【課題】設計期間の短縮化を図ること。【解決手段】設計支援装置は、クロックツリー合成処理（ステップ２３）にて生成したクロックツリーに含まれるクロックパスについて、電圧・温度の遅延感度をそれぞれ算出し、２つのクロックパスの遅延感度の差を０に近づけるように、クロックパスの遅延感度を調整する。【選択図】図２
2011175431.tif 000002
【特許請求の範囲】
【請求項１】
半導体装置に含まれるパスを設計支援装置により調整するパス調整方法であって、
前記設計支援装置が実行する処理は、
各パスについて、電圧・温度の遅延感度をそれぞれ算出する処理と、
２つのパスの遅延感度の差を前記パスに対応する保証範囲内とするように前記パスの遅延感度を調整する処理と、
を含むことを特徴とするパス調整方法。
【請求項２】
前記設計支援装置は、保証限界値による２つのコーナー条件のうち、第１のコーナー条件を基準とし、第２のコーナー条件による遅延感度を算出することを特徴とする請求項１記載のパス調整方法。
【請求項３】
前記設計支援装置は、各パスに含まれるインスタンス毎に遅延感度を算出し、パス毎にパスに含まれるインスタンスの遅延感度を合計した値をパスにおける遅延感度とする、ことを特徴とする請求項１又は２記載のパス調整方法。
【請求項４】
前記パスは、クロックツリーによってクロック信号が供給される２つのフリップフロップ回路について、第１のフリップフロップ回路から出力される信号が第２のフリップフロップ回路に供給されるデータパスを含み、
前記設計支援装置は、
前記第１及び第２のフリップフロップ回路に前記クロック信号をそれぞれ供給するクロックパスと前記データパスとをふくむパスの遅延感度と、前記第２のフリップフロップ回路におけるスラックとに基づいて前記データパスを調整する、
ことを特徴とする請求項１〜３のうちの何れか一項に記載のパス調整方法。
【請求項５】
半導体装置に含まれるパスを調整する設計支援装置であって、
各パスについて、電圧・温度の遅延感度をそれぞれ算出し、２つのパスの遅延感度の差を前記パスに対応する保証範囲内とするように前記パスの遅延感度を調整する、
ことを特徴とする設計支援装置。
【発明の詳細な説明】
【技術分野】
【０００１】
パス調整方法及び設計支援装置に関する。
【背景技術】
【０００２】
半導体集積回路装置（ＬＳＩ）の開発工程においては、論理回路の動作を確認し保証するため、タイミング検証が実施されている。タイミング検証は、設定されたコーナー条件において算出したパス（信号伝達経路）の遅延時間に基づいて、信号が供給される素子の動作を確認するものである。例えば、１つの回路から出力されるクロック信号に基づいて動作する同期回路においては、クロック信号を分岐して同期回路に含まれる複数のフリップフロップ回路に供給される。このクロック信号を供給する経路はクロックツリーと呼ばれる。そして、タイミング検証では、クロックツリーにてクロック信号が供給される回路、例えば、フリップフロップ回路において、設定されたコーナー条件におけるセットアップ／ホールド時間などのタイミングマージンをチェックする。
【０００３】
同期回路では、各クロックパスの遅延時間により、クロック信号が供給される複数の回路間、例えば、複数のフリップフロップ回路間においてクロック信号に時間差（クロックスキュー）が生じる場合がある。クロックスキューが生じた場合、上記複数のフリップフロップ回路において、タイミングマージンにずれを生じさせる。このため、クロックスキューが小さくなるように、クロックツリーにおける遅延時間の調整が行われる。
【０００４】
パスの遅延時間は、製造プロセスのばらつきの影響を受ける。このため、製造プロセスのバラツキによるクロックスキューを考慮して、設定されたコーナー条件における遅延時間を調整することで、タイミング補償を行う方法が提案されている（例えば、特許文献１参照）。また、製造プロセスのバラツキによるクロックスキューを考慮して、タイミング検証を行う方法が提案されている（例えば、特許文献２参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平１０−３０１９８２号公報
【特許文献２】特開２００７−９５０２８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ところで、パスの遅延時間を変化させる要因に、電源電圧変動、動作温度変化がある。これらの要因は、検証すべきコーナー条件を増加させる。例えば、配線の抵抗値は、温度上昇に対して増加するため、配線における遅延時間は長くなる。また、パスにおける遅延時間は、セル間の配線の長さに応じて変化する。
【０００７】
セルの遅延時間は、セルに含まれるトランジスタの移動度とトランジスタの閾値電圧のトレードオフにより決定される。例えば、トランジスタの移動度は、温度上昇に従って小さくなり、それに応じて遅延時間が長くなる。一方、トランジスタの閾値電圧は、温度上昇に従って低くなり、それに応じて遅延時間が短くなる。更に、セルの遅延時間は、セルの種類に対応する。
【０００８】
従って、パスにおける遅延時間は、温度・電圧に対して複雑な特性を持つ。このため、検証のために多くのコーナー条件を設定しなければならない。コーナー条件の数は、検証時間に影響するため、コーナー条件が増えると、検証に要する時間が長くなる。
【０００９】
また、第１のコーナー条件においてクロックスキューが０（ゼロ）であったとしても、第２のコーナー条件ではクロックスキューが０にならない場合がある。このため、第２のコーナー条件でクロックスキューを０とするように調整しても、第１又は第３のコーナー条件でクロックスキューが０とならなくなる場合がある。
【００１０】
この結果、複数のコーナー条件を網羅するタイミング検証における、コーナー条件ごとのタイミング調整にかかるＴＡＴ（Turn Around Time）が増大してしまい、設計期間の長期化を招いていた。
【課題を解決するための手段】
【００１１】
本発明の一観点によれば、半導体装置に含まれるパスを設計支援装置により調整するパス調整方法であって、前記設計支援装置が実行する処理は、各パスについて、電圧・温度の遅延感度をそれぞれ算出する処理と、２つのパスの遅延感度の差を前記クロックツリーに対応する保証範囲内とするように前記パスの遅延感度を調整する処理と、を含む。
【発明の効果】
【００１２】
本発明の一観点によれば、設計期間の短縮化を図ることができる。
【図面の簡単な説明】
【００１３】
【図１】設計支援装置の概略構成図である。
【図２】半導体装置の設計工程を示すフローチャートである。
【図３】半導体装置の設計工程を示すフローチャートである。
【図４】クロックツリーの説明図である。
【図５】クロックツリーの説明図である。
【図６】（ａ）（ｂ）は調整処理の説明図である。
【図７】（ａ）（ｂ）は調整処理の説明図である。
【図８】（ａ）（ｂ）は調整処理の説明図である。
【図９】（ａ）（ｂ）は調整処理の説明図である。
【図１０】（ａ）（ｂ）は調整処理の説明図である。
【図１１】同期回路の説明図である。
【図１２】同期回路の説明図である。
【発明を実施するための形態】
【００１４】
以下、一実施形態を説明する。
図１に示すように、設計支援装置１１は、半導体装置の設計を支援するための装置であり、例えば一般的な設計支援装置（ＣＡＤ：Computer Aided Design ）である。この設計支援装置１１は、中央処理装置（以下、ＣＰＵという）１２、メモリ１３、記憶装置１４、表示装置１５、入力装置１６、及び、ドライブ装置１７により構成され、それらはバス１８を介して相互に接続されている。
【００１５】
ＣＰＵ１２は、メモリ１３を利用してプログラムを実行し、半導体装置のレイアウト設計等の必要な処理を実現する。プログラムは、ＣＰＵ１２を、描画データを生成する設計支援装置としての各種手段として機能させるためのものである。メモリ１３には、各種処理を提供するために必要なプログラムとデータが格納され、メモリ１３としては、通常、キャッシュ・メモリ、システム・メモリおよびディスプレイ・メモリを含む。
【００１６】
表示装置１５は、パターン表示、パラメータ入力画面等の表示に用いられ、これにはＣＲＴ，ＬＣＤ，ＰＤＰ等が用いられる。入力装置１６は、ユーザからの要求や指示，パターン，パラメータの入力に用いられ、これにはキーボードおよびマウス装置（図示せず）等が用いられる。
【００１７】
設計支援装置１１は、レイアウトデータに基づき半導体装置に形成するパターン（図形）を表示装置１５に表示させる。そして、設計支援装置１１は、ユーザが操作する入力装置１６からの信号に従って、表示装置１５上のパターンの追加，削除を行うとともに、レイアウトデータに対してパターンデータの追加，削除を行う。
【００１８】
記憶装置１４は、通常、磁気ディスク装置、光ディスク装置、光磁気ディスク装置を含む。この記憶装置１４には、半導体装置（半導体集積回路装置）の描画データを生成するためのプログラムデータを含むファイルや、各種データを含むファイルが格納され、ＣＰＵ１２は、入力装置１６による指示に応答しているプログラム，データをメモリ１３へ転送し、それを実行する。
【００１９】
この設計支援装置１１において、記憶装置１４には半導体装置の設計に用いられる各種データを含むファイルが格納される。設計支援装置１１は、記憶装置１４のファイルに格納されたデータを読み出し、そのデータに基づいて、半導体装置の設計データ（例えばレイアウトデータ）を作成する。そして、設計支援装置１１は、作成したデータを含むファイルを記憶装置１４に格納する。
【００２０】
ＣＰＵ１２が実行するプログラムデータは、記録媒体１９にて提供される。ドライブ装置１７は、記録媒体１９を駆動し、その記憶内容にアクセスする。ＣＰＵ１２は、ドライブ装置１７を介して記録媒体１９からプログラムデータを読み出し、それを記憶装置１４にインストールする。
【００２１】
記録媒体１９としては、磁気テープ（MT）、メモリカード、フレキシブルディスク、光ディスク（CD-ROM,DVD-ROM,… ）、光磁気ディスク（MO,MD,…）等、任意のコンピュータ読み取り可能な記録媒体を使用することができる。この記録媒体１９に、上述のプログラム，データを格納しておき、必要に応じて、メモリ１３にロードして使用することもできる。
【００２２】
尚、記録媒体１９には、通信媒体を介してアップロード又はダウンロードされたプログラムデータを記録した媒体、ディスク装置を含む。更に、コンピュータによって直接実行可能なプログラムを記録した記録媒体だけでなく、いったん他の記録媒体（ハードディスク等）にインストールすることによって実行可能となるようなプログラムを記録した記録媒体や、暗号化されたり、圧縮されたりしたプログラムを記録した記録媒体も含む。
【００２３】
次に、設計支援装置１１が実行する処理の概要を図２に従って説明する。
図２は、半導体装置の設計工程の一部を示すフローチャートである。設計支援装置１１は、図２に示すステップ２１〜２４の処理を実行する。
【００２４】
ステップ２１（論理合成処理）において、設計支援装置１１は、半導体装置の論理をハードウェア記述言語（例えばＲＴＬ:Register Transfer Level）により記述したデータに基づいてネットリスト（論理データ）を生成する。
【００２５】
次に、ステップ２２（配置処理）において、設計支援装置１１は、セルライブラリ等のライブラリデータとネットリストとに基づいて、半導体装置に含まれるセルを配置する。セルの配置を示すデータ（配置データ）は記憶装置１４（図１参照）に記憶される。尚、データはメモリ１３に格納されてもよい。
【００２６】
次に、ステップ２３（クロックツリー合成（ＣＴＳ：Clock Tree Synthesis）処理）において、設計支援装置１１は、ネットリスト等のデータに基づいて、クロックツリーを生成する。クロックツリーは、クロックバッファと配線とを含む。そして、設計支援装置１１は、スキュー判定処理と感度判定処理とをそれぞれ実行し、判定結果に応じてクロックツリーを調整する。
【００２７】
スキュー判定処理について説明する。
設計支援装置１１は、生成したクロックツリーについて、クロックスキューを算出し、その算出したクロックスキューが設定範囲内か否かを判定する。設定範囲は、半導体装置の動作に対する制約条件又は保証条件として設定される。なお、回路条件として、スキューは０であることが好ましい。そして、設計支援装置１１は、クロックスキューが設定範囲内（例えば０）の場合には次の処理（感度判定処理）を実行し、クロックスキューが設定範囲外の場合にはクロックツリーを調整（スキュー調整）する。
【００２８】
例えば、設計支援装置１１は、対象とするクロック信号を出力する回路素子の出力端子から、クロック信号が供給される同期回路素子（例えばフリップフロップ回路）の入力端子までの遅延時間を、それぞれの入力端子毎に算出する。次に、設計支援装置１１は、各入力端子における遅延時間の差を、クロック信号の伝達時間差、即ちクロックスキューとして算出する。そして、設計支援装置１１は、算出したクロックスキューと設定範囲とを比較し、クロックスキューが設定範囲内か否かを判定する。
【００２９】
設計支援装置１１は、クロックスキューが設定範囲外の場合に、クロックスキューが設定範囲内（例えば０（ゼロ））となるように、クロックツリーを調整した後、スキュー判定を再び実行する。クロックツリーの調整は、２つのクロックパス間における遅延時間を等しくするように、置換処理及び挿入処理のうちの少なくとも一方の処理を行う。置換処理は、各クロックパスに含まれるクロックバッファを、遅延時間が異なる別のクロックバッファに置換する処理である。挿入処理は、クロックパス中にクロックバッファを挿入する処理である。
【００３０】
感度判定処理について説明する。
設計支援装置１１は、クロックツリーについて、スキューの温度・電圧感度（以下、スキュー感度という）を算出し、そのスキュー感度が設定範囲内か否かを判定する。設定範囲は、半導体装置の動作に対する制約条件又は保証条件として設定される。
【００３１】
スキュー感度は、温度と電圧の変化に対するスキューの変化の度合いを示すものであり、各パスにおける遅延感度の差として表現される。遅延感度は、温度と電圧の変化に対する遅延時間の変化の度合いを示すものであり、各パスに含まれる１つの遅延要素（例えばクロックバッファ）における遅延感度、又は複数の遅延要素における遅延感度の和として表現される。遅延感度は、温度、電圧を変数とする多項近似式（例えば応答局面法）により算出される。
【００３２】
即ち、設計支援装置１１は、各パスにおける遅延要素毎に、多項近似式によって遅延感度を算出し、各パスの遅延感度を算出する。更に、設計支援装置１１は、各パスの遅延感度に基づき、２つのパスに対するスキュー感度を算出する。
【００３３】
そして、設計支援装置１１は、算出したスキュー感度が設定範囲内か否かを判定する。スキュー感度が設定範囲内の場合、設計支援装置１１は次のステップに進む。一方、スキュー感度が設定範囲外の場合、設計支援装置１１は、各遅延要素の遅延感度に基づいて、クロックパスを調整（感度調整）する。
【００３４】
クロックツリーの調整は、上記と同様に、置換、挿入を行う処理である。例えば、設計支援装置１１は、セルライブラリに含まれるクロックバッファの情報を読み出し、その情報に基づいて、クロックバッファの遅延感度を算出する。そして、設計支援装置１１は、クロックバッファの種類を示す情報（例えばセル名）と、各クロックバッファの遅延時間と、算出した遅延感度を対応付けた遅延感度テーブルを例えば記憶装置１４（図１参照）に作成する。そして、設計支援装置１１は、スキュー感度を設定範囲内とするように、配線データに含まれるクロックバッファと、遅延感度テーブルに格納したクロックバッファとを置き換える、又は遅延感度テーブルに格納したクロックバッファを、パス中に挿入することで、クロックパスを調整する。なお、回路条件として、スキュー感度は０であることが好ましい。そして、設計支援装置１１は、調整後のクロックツリーについて、スキュー判定と感度判定を再実行する。
【００３５】
尚、置き換え、又は挿入するインスタンス（クロックバッファ）について、遅延感度をセルライブラリに含めるようにしてもよい。つまり、遅延感度を含むセルライブラリを用いて、クロックツリーを作成する。このようなライブラリを用いることで、半導体装置の設計時に遅延感度を算出する必要がなくなるため、その分、設計に要する時間の短縮を図ることが可能となる。
【００３６】
次に、ステップ２４（タイミング解析及び最適化処理）において、設計支援装置１１は、クロックツリーを含む同期回路におけるタイミング解析（例えば、静的タイミング解析，STA:Static Timing Analysis）を行い、その解析結果に応じて最適化処理を実行する。
【００３７】
解析結果は、フリップフロップ回路におけるセットアップタイムとホールドタイム、セットアップスラック(Setup Slack)、ホールドスラック(Hold Slack)を含む。フリップフロップ回路において、データの確定時と、そのデータを取り込むためのクロック信号のエッジとの間がセットアップタイムである。クロック信号のエッジとデータの終了時との間がホールドタイムである。スラックは、信号の到達時間に対する余裕を示す値であり、例えば、そのパスの終点に信号が到達する時間とタイミング要件を満たすために当該信号が当該終点に到達すべき最も遅い時間との差分である。
【００３８】
設計支援装置１１は、解析結果が、フリップフロップ回路の特性に応じて設定された条件を満たすか否かを判定する。例えば、設計支援装置１１は、セットアップスラック、ホールドスラックが規定値以上であるか否かを判定する。そして、設計支援装置１１は、判定結果に基づいて、条件を満たす（規定値以上）の場合に次の処理（感度判定処理）を行う。一方、条件を満たさない場合、設計支援装置１１は、タイミング最適化処理を実行し、その処理後に再度タイミング解析を実行する。タイミング最適化処理において、設計支援装置１１は、例えばインスタンスの遅延時間に従って、スラックを規定値以上とするように、インスタンスの追加、置換等を行う。
【００３９】
上記スラックがタイミング要件を満たす場合、設計支援装置１１は、感度判定を行い、その判定結果に応じて最適化処理を実行する。
感度判定は、タイミング解析の対象となるインスタンスにおけるスキュー感度と、インスタンスにおけるスラックとに基づいて、対象となるインスタンスに対するパスが違反しているか否かを判定する。
【００４０】
例えば、設計支援装置１１は、フリップフロップ回路について、そのフリップフロップ回路のデータ端子に信号を供給するパス（データパス）の遅延感度と、フリップフロップ回路にクロック信号を供給するパス（クロックパス）の遅延感度の差をスキュー感度とする。そして、設計支援装置１１は、スキュー感度とスラックとの関係を示す値（例えばスキュー感度にスラックを加算した値）が設定範囲内か否かを判定する。設定範囲は、例えば０より大きい範囲である。
【００４１】
フリップフロップ回路においてクロック信号とデータ信号の間の到達時間差がスキューである。スキュー感度が設定範囲外（例えば０以下）の場合、電圧・温度の変化によるスキューが、スラック以上となる、つまりホールドマージンが無くなってホールドエラーとなる可能性が高いことを示している。
【００４２】
従って、設計支援装置１１は、スキュー感度が負の値となる場合に感度差違反と判定し、そのパスを最適化の対象とする。そして、設計支援装置１１は、最適化の対象としたパスについて、スキュー感度を設定範囲内とするように、最適化処理を行う。この最適化処理において、設計支援装置１１は、対象としたパスに含まれるデータパスについて、最適化処理を行う。そして、設計支援装置１１は、最適化後に、タイミング解析及び各判定を再実行する。上記の感度判定において、スキュー感度が設定範囲内の場合、設計支援装置１１は、上記ステップ２４の処理を終了する。
【００４３】
次に、感度調整・最適化処理の詳細を図３に従って説明する。
ステップ３１において、図１に示す設計支援装置１１は、論理データ４１，配線データ４２，制約条件４３，温度・電圧保証条件４４を図１に示す記憶装置１４から入力する。次に、ステップ３２において、設計支援装置１１は、入力したデータに基づいて、クロックツリー合成処理を実行し、クロックツリーを生成する。次に、ステップ３３において、設計支援装置１１は、クロックツリーに含まれるクロックパスについて感度調整を行う。このステップ３３は、ステップ３４〜３９をサブステップとして含む。
【００４４】
先ず、ステップ３４（感度算出処理）において、設計支援装置１１は、半導体装置に含まれる１つのクロックツリーに着目し、その着目したクロックツリーのクロックパスに含まれる全てのインスタンスについて、保証条件４４に含まれる遅延と温度の保証限界値を用い、感度を算出する。このとき、設計支援装置１１は、保証限界値による２つのコーナー条件のうち、第１のコーナー条件（例えばベスト条件）を基準とし、第２のコーナー条件（例えばワースト条件）による感度を算出する。例えば、設計支援装置１１は、電圧・温度のコーナー条件に基づいて、高い電圧と低い温度（第１のコーナー条件）を基準とし、低い電圧と高い温度（第２のコーナー条件）による感度を算出する。
【００４５】
更に、設計支援装置１１は、各インスタンスについて、遅延時間に感度を乗算して遅延感度積を算出する。また、設計支援装置１１は、各クロックパスに含まれるインスタンスの遅延時間、感度の合計値を、クロックパス毎に算出する。そして、設計支援装置１１は、遅延時間、感度、遅延感度積、各合計値をインスタンスの識別情報に関連付けたテーブルをクロックパス毎に作成する。設計支援装置１１は、このテーブル例えばメモリ１３に格納する。
【００４６】
次に、ステップ３５（置換処理）において、設計支援装置１１は、各クロックパスに対する感度の合計値に基づいて、合計値の差（合計感度差）を算出する。次に、設計支援装置１１は、合計感度差が小さくなるように、クロックパスに含まれるインスタンスを、遅延・感度が異なるインスタンスと置換する。そして、設計支援装置１１は、インスタンスを置換したクロックパスについて、そのクロックパスにおける遅延・感度の合計値を算出し、その値をテーブルに格納する。
【００４７】
このとき、設計支援装置１１は、各クロックパスに含まれる全てのインスタンスのうち、遅延感度積の降順でインスタンスを置換対象とし、インスタンスの置換を行う。そして、設計支援装置１１は、対象としたインスタンスに対して最適な感度のインスタンスが見つからない場合、その対象としたインスタンスに対する置換をキャンセルして、次に遅延感度積が大きなインスタンスを置換対象とする。遅延感度積が大きなインスタンスを、遅延感度積が小さなインスタンスと置換することで、遅延感度積の合計値が大きく変化する。
【００４８】
遅延感度積は、遅延時間を算出したコーナー条件から、別のコーナー条件に動作環境が変化したときにおける遅延時間の変化量を示している。従って、２つのクロックパスにおいて、それぞれの遅延時間と遅延感度積の合計値を等しくすれば、両クロックパス間のスキューは０（ゼロ）となる。このように、遅延感度積が大きなインスタンスから順番に置換対象とすることで、少ない置換回数で効率的に合計感度差を０に近づけることができる。
【００４９】
次に、ステップ３６において、設計支援装置１１は、各クロックパスに対する遅延感度の合計値に基づいて合計感度差を算出する。そして、設計支援装置１１は、合計感度差の絶対値を制約条件４３の閾値と比較し、合計感度差が閾値以下か否かを判断する。閾値は、温度・電圧の変動により発生するスキューについて、許容可能な範囲を示す値である。
【００５０】
設計支援装置１１は、合計感度差が閾値を越える場合にステップ３７に移行し、合計感度差が閾値以下の場合にステップ３９に移行する。
尚、クロックパスの状態に応じて、合計感度差を０以上閾値以下とするように範囲が設定されてもよい。例えば、１つのクロックツリーによりクロック信号が供給される２つのフリップフロップ回路において、第１のフリップフロップ回路から出力される信号が、直接又は複数のインスタンスを介して第２のフリップフロップ回路のデータ端子に供給される同期回路がある。この同期回路において、第１のフリップフロップ回路にクロック信号を供給するクロックパスを例えばラウンチ(Launch)と呼び、第２のフリップフロップ回路にクロック信号を供給するクロックパスをキャプチャ(Capture )と呼ぶ。この場合、キャプチャの遅延時間よりも、ラウンチの遅延時間の方が小さい必要がある。つまり、ラウンチによるクロック信号のエッジに対して、そのエッジよりもキャプチャによるクロック信号のエッジの方が遅れるようなスキューは許容されるからである。
【００５１】
ステップ３７において、設計支援装置１１は、まだ調整可能なインスタンスがあるか否かを判断する。上記したように、設計支援装置１１は、遅延感度の大きなインスタンスから遅延感度の小さなインスタンスへと、遅延感度の降順でインスタンスを置換対象とする。従って、設計支援装置１１は、ステップ３５において遅延感度が最も小さなインスタンスを置換対象とした場合、調整可能なインスタンスは存在しないと判定し、ステップ３８へ移行する。一方、遅延感度が最も小さなインスタンスが置換対象ではない場合、調整可能なインスタンスが存在すると判定し、ステップ３５に移行する。
【００５２】
ステップ３８において、設計支援装置１１は、インスタンスをクロックパスに挿入することにって感度調整を行う。そして、設計支援装置１１は、インスタンスの挿入後、ステップ３５に移行する。
【００５３】
ステップ３９において、設計支援装置１１は、全てのクロックツリーについて調整が完了したか否かを判定する。全てのクロックツリーに対する調整が完了した場合、設計支援装置１１は、処理を終了する。一方、未調整のクロックツリーが存在する場合、設計支援装置１１は、未処理のクロックツリーを着目対象として設定し、ステップ３４に移行する。
【００５４】
つまり、設計支援装置１１は、ステップ３５〜３８の処理を繰り返し実行することにより、１つのクロックツリーにおいて、合計感度差を０に近づけるようにクロックパスを調整する。そして、設計支援装置１１は、ステップ３４〜３９の処理を繰り返し実行することにより、半導体装置に含まれる全てのクロックツリーに対する調整を行う。
【００５５】
次に、上記の処理を、回路例を用いて説明する。
尚、以下の説明において、２つのクロックパス間のスキューについては必要に応じて説明する。これは、スキュー感度による調整が、スキューが規定値を満たした場合（例えばスキューが０）の処理であるため、その説明を省略している。
【００５６】
先ず、クロックツリー合成時における感度の算出について説明する。
図４に示すように、クロック信号ＣＬＫは、クロックツリー５１を介してフリップフロップ回路５２，５３に供給される。クロックツリー５１は、複数のクロックバッファ６１〜６７を含む。そして、クロック信号ＣＬＫは、クロックバッファ６１〜６４を介してフリップフロップ回路５２に供給されるとともに、クロックバッファ６１，６２，６５〜６７を介してフリップフロップ回路５３に供給される。従って、クロックバッファ６１〜６４は１つのクロックパスに含まれ、クロックバッファ６１，６２，６５〜６７は別のクロックパスに含まれる。尚、クロックバッファ６３の大きさが他のクロックバッファ６１，６２，６４〜６７の大きさと異なるのは、電気的特性（例えば、駆動の揚力、遅延時間）が異なることを示している。
【００５７】
尚、２つのクロックパスにおいて、遅延差を生じるのは、クロックツリーにおける分岐点から同期回路（フリップフロップ回路５２，５３のクロック入力端子）までのパスにおける遅延による。従って、遅延感度は、分岐点から対象とする同期回路までの遅延時間により算出される。
【００５８】
つまり、図４に示すクロックツリー５１の場合、クロックバッファ６２からフリップフロップ回路５２までの第１のクロックパスＣｓと、クロックバッファ６２からフリップフロップ回路５３までの第２のクロックパスＣｔとが、調整の対象となる。従って、図１に示す設計支援装置１１は、これらのクロックパスＣｓ，Ｃｔについて、スキュー感度を算出し、その算出結果に基づいて感度調整を行う。
【００５９】
このクロックツリー５１におけるスキュー感度は、次式
【００６０】
【数１】
2011175431.tif 000003
に示すように、第１のクロックパスＣｓの遅延感度と、第２のクロックパスＣｔの遅延感度の差の値として算出される。
【００６１】
第１のクロックパスＣｓは、クロックバッファ６３に係るパスＣｓ１と、クロックバッファ６４に係るパスＣｓ２を含む。第２のクロックパスＣｔは、クロックバッファ６５に係るパスＣｔ１と、クロックバッファ６６に係るパスＣｔ２と、クロックバッファ６７に係るパスＣｔ３を含む。従って、クロックパスＣｓ，Ｃｔの遅延感度は、次式
【００６２】
【数２】
2011175431.tif 000004
に示すように、各パスにそれぞれ含まれるクロックバッファ６３〜６７に係る遅延感度の和の値として算出される。
【００６３】
従って、第１のクロックパスＣｓに含まれるクロックバッファ６３，６４と、第２のクロックパスＣｔに含まれるクロックバッファ６５〜６７を、遅延感度が異なるインスタンスと置換する、又はインスタンスをパス中に挿入する。これにより、両クロックパスＣｔ，Ｃｓの遅延感度の差、即ちスキュー感度を０に近づける、又は０とすることができる。
【００６４】
尚、回路シミュレーション（例えばＳＰＩＣＥ）を用いて、スキューと遅延感度との関係を確認した。所定のクロックツリー（例えば図４に示すクロックツリー５１）のインスタンスを変更した複数の回路を作成し、各回路におけるスキューを回路シミュレーションを用いて解析した。その解析結果に基づき、第１のコーナー条件のスキューと、第２のコーナー条件のスキューとの差（スキュー差）を算出する。また、上記の複数の回路について、クロックパスの遅延感度の差（感度差）を算出する。算出したスキュー差は、感度差とほぼ比例関係にある。従って、感度差を０に近づけるように、クロックパスのインスタンスを置換する処理、及びクロックパスにインスタンスを挿入する処理の少なくとも一方により、スキュー差を０に近づけることができる。
【００６５】
次に、感度調整を説明する。
図５に示すように、クロックツリー７１は、フリップフロップ回路７２にクロック信号を供給する第１のクロックパスＣｓと、フリップフロップ回路７３にクロック信号を供給する第２のクロックパスＣｔを含む。第１のクロックパスＣｓはクロックバッファＳ１〜Ｓ４を含み、第２のクロックパスＣｔはクロックバッファＴ１〜Ｔ５を含む。
【００６６】
設計支援装置１１は、第１のコーナー条件（高い電圧と低い温度）を基準として、各インスタンス（クロックバッファＳ１〜Ｓ４，Ｔ１〜Ｔ５）の遅延時間を算出する。また、設計支援装置１１は、第１のコーナー条件を基準とし、第２のコーナー条件（低い電圧と高い温度）による感度を算出する。更に、設計支援装置１１は、各インスタンス（クロックバッファ）について、遅延時間と感度の積を演算する。尚、図５において、各クロックバッファ内に記載した数値は感度を示し、各右下に記載した数値は遅延時間を示す。
【００６７】
そして、設計支援装置１１は、第１のクロックパスＣｓに対して図６（ａ）に示すテーブル７５を生成し、第２のクロックパスＣｔに対して図６（ｂ）に示すテーブル７６を生成する。更に、設計支援装置１１は、各クロックバッファＳ１〜Ｓ４の遅延（Ａ），感度（Ｂ），遅延と感度の積（Ｃ）の合計値を算出する。同様に、設計支援装置１１は、各クロックバッファＴ１〜Ｔ５の遅延（Ａ），感度（Ｂ），遅延と感度の積（Ｃ）の合計値を算出する。
【００６８】
図５に示すクロックツリー７１において、クロックバスＣｓの遅延時間（各インスタンスの遅延時間の合計値）と、クロックパスＣｔの遅延時間は、図６（ａ）及び図６（ｂ）に示すように、それぞれ７００（ｐｓ）であり、等しい。従って、図５に示すフリップフロップ回路７２，７３において、２つのクロック端子に供給されるクロック信号間のスキューは、第１のコーナ条件において０（ゼロ）である。
【００６９】
しかし、図６（ａ）に示すように、第１のクロックパスＣｓにおいて、各インスタンスの感度の合計値は「１．８」である。一方、図６（ｂ）に示すように、第２のクロックパスＣｔにおいて、各インスタンスの感度合計値は「１．５」である。従って、両クロックパスＣｓ，Ｃｔにおける感度の差（合計感度差）は「０．３」であり、この値は閾値を越えている。従って、設計支援装置１１は、このクロックツリー７１について感度調整を行う。
【００７０】
先ず、設計支援装置１１は、両クロックパスＣｓ，Ｃｔに含まれるインスタンス（クロックバッファ）のうち、遅延感度値の大きなインスタンスを抽出する。このクロックツリー７１では、図６（ａ）及び図６（ｂ）に示すように、クロックバッファＳ４の遅延感度積が最も大きい。従って、設計支援装置１１は、このクロックバッファＳ４を置換対象とする。そして、設計支援装置１１は、例えば遅延感度テーブルを検索し、遅延感度テーブルから置換可能なインスタンスを抽出する。そして、このインスタンスを、置換対象としたクロックバッファＳ４と置換する。
【００７１】
今、置換後のインスタンスを、図７（ａ）に示すインスタンス（クロックバッファ）Ｓ４ａとする。このクロックバッファＳ４ａの遅延時間は３００ｐｓであり、感度は０．２である。従って、感度の合計値は「１．５」となり、第２のクロックパスＣｔの感度の合計値（図７（ｂ）参照）と等しい。つまり、設計支援装置１１は、２つのクロックパスにおける感度を等しくすることができる。
【００７２】
尚、上記の例では、クロックバッファＳ４をクロックバッファＳ４ａと置換することで、調整を終了した。しかし、クロックバッファＳ４に対する置換処理だけでは調整完了とならない場合、次に遅延感度積が大きなインスタンス、つまりクロックバッファＴ４（図６（ｂ）参照）、クロックバッファＳ３（図６（ａ）参照）を順次置換対象とする。更に、置換処理だけでば調整完了とならない場合、インスタンスの挿入を行うことで、調整完了とすることができる。
【００７３】
調整前後のスキューについて説明する。
感度調整前は、図６（ａ）に示すように、第１のクロックパスＣｓにおいて、各インスタンスの感度と遅延の積の合計値は「２９５」である。この値は、半導体装置の動作環境が、第１のコーナー条件から第２のコーナー条件に変化したときにおける遅延時間の変化量を示している。つまり、第１のクロックパスＣｓの第２のコーナー条件における遅延時間は、第１のコーナー条件における遅延時間（７００ｐｓ）と、変化量（２９５ｐｓ）の合計値（９９５ｐｓ）となる。
【００７４】
一方、図６（ｂ）に示すように、第２のクロックパスＣｔにおいて、各インスタンスの感度と遅延の積の合計値は「２１０」である。従って、第２のクロックパスＣｔの第２のコーナー条件における遅延時間は９１０ｐｓ（＝７００ｐｓ＋２１０ｐｓ）となる。このため、第２のコーナー条件におけるスキューは、それぞれの遅延時間の差、即ち８５ｐｓとなる。
【００７５】
感度調整後は、図７（ａ）に示すように、第１のクロックパスＣｓにおいて、各インスタンスの感度と遅延の積の合計値は「２０５」である。従って、第１のクロックパスＣｓの第２のコーナー条件における遅延時間は９０５ｐｓ（＝７００ｐｓ＋２０５ｐｓ）となる。一方、第２のクロックパスＣｔは変更されていないため、図７（ｂ）に示すように、各インスタンスの感度と遅延の積の合計値は「２１０」であり、第２のクロックパスＣｔの第２のコーナー条件における遅延時間は９１０ｐｓ（＝７００ｐｓ＋２１０ｐｓ）となる。このため、第２のコーナー条件におけるスキューは５ｐｓとなる。
【００７６】
即ち、感度調整後のクロックツリーは、第１のコーナー条件においてスキューが０ｐｓであり、第２のコーナー条件におけるスキューが５ｐｓとなる。つまり、このクロックツリーは、動作環境の変動に対して、スキューの変化量が少ない安定した回路、所謂ロバストな回路となる。
【００７７】
尚、上記の感度調整では、図６（ａ）に示すクロックバッファＳ４を図７（ａ）に示すクロックバッファＳ４ａに置換する、つまり置換対象のインスタンスをそれと同じ種類のインスタンスに置換する例について説明した。これに対し、互いに種類が異なるインスタンスを置き換えるようにしてもよい。
【００７８】
例えば、図８（ａ）に示すインバータ回路８１を、図８（ｂ）に示す多入力（図では３入力）のＮＡＮＤ回路８２に置き換える。この場合、ＮＡＮＤ回路８２の２つの入力端子を電源レベルにクリップする。多入力のセル（例えばＮＡＮＤ回路、ＮＯＲ回路など）は、電源端子間に直列接続された複数のトランジスタを含む。このようなセルはたて積みトランジスタセルと呼ばれ、閾値電圧Ｖｔｈ感度が高く、電圧の変化に対する遅延感度が、単入力のセルより高い。従って、図中に示すように、インバータ回路８１の感度は小さく、ＮＡＮＤ回路８２の感度は大きい。このため、インバータ回路８１をＮＡＮＤ回路８２に置き換えることで、感度の値を大きくすることができる。
【００７９】
つまり、図５〜図７では、第１のクロックパスＣｓの合計感度値を小さくすることで、第２のクロックパスＣｔの合計感度値と一致させるようにしたが、第２のクロックパスＣｔの合計感度値を大きくすることで、第１のクロックパスＣｓの合計感度値と一致させることもできる。
【００８０】
また、１つのインスタンスを、複数のインスタンスと置き換える方法を用いることもできる。
例えば、図９（ａ）に示す４入力のＮＡＮＤ回路８３を、そのＮＡＮＤ回路８３の等価回路と置き換える。等価回路の一例を図９（ｂ）に示す。この等価回路８４は、２入力のＡＮＤ回路８４ａ，８４ｂと２入力のＮＡＮＤ回路８４ｃを含む。入力端子数に応じて感度が変化する。従って、図９（ａ）に示すナンド回路８３に対して、感度が低いＡＮＤ回路８４ａ，８４ｂ及びＮＡＮＤ回路８４ｃを含む等価回路８４を用いる。また、図１０（ａ）に示すバッファ回路８５を、図１０（ｂ）に示す等価回路８６と置き換える。この等価回路８６は、感度が小さな２つのバッファ回路８６ａ，８６ｂを含む。
【００８１】
これらのように、置換対象のインスタンスを、種類が異なるインスタンスと置換する、等価回路と置換することで、同じ種類のインスタンスを置換する単純な置換に比して、容易に感度差を０に近づけるように調整することが可能となる。
【００８２】
尚、感度の調整の際には、調整前後でパスの遅延時間が大きく変動しないようにする必要がある。例えば、等価回路に置き換える際には、配線素子を調整する事で、パスの遅延時間が大きく変化しないようすることができる。
【００８３】
次に、タイミング検証及び最適化における感度の算出について説明する。
図１１に示すように、クロック信号ＣＬＫは、クロックツリー１０１を介してフリップフロップ回路１０２，１０３に供給される。クロックツリー１０１は、複数のクロックバッファ１１１〜１２０を含む。そして、クロック信号ＣＬＫは、クロックバッファ１１１〜１１４を介してフリップフロップ回路１０２に供給されるとともに、クロックバッファ１１１，１１２，１１５〜１２０を介してフリップフロップ回路１０３に供給される。従って、クロックバッファ１１１〜１１４は１つのクロックパスに含まれ、クロックバッファ１１１，１１２，１１５〜１２０は別のクロックパスに含まれる。尚、クロックバッファ１１３の大きさが他のクロックバッファ１１１，１１２，１１４〜１２０の大きさと異なるのは、電気的特性（例えば、駆動の揚力、遅延時間）が異なることを示している。
【００８４】
尚、２つのクロックパスにおいて、遅延差を生じるのは、クロックツリーにおける分岐点から同期回路（フリップフロップ回路１０２，１０３のクロック入力端子）までのパスにおける遅延による。従って、遅延感度は、分岐点から対象とする同期回路までの遅延時間により算出される。
【００８５】
つまり、図１１に示すクロックツリー１０１の場合、クロックバッファ１１２からフリップフロップ回路１０２までの第１のクロックパスＣｓと、クロックバッファ１１２からフリップフロップ回路１０３までの第２のクロックパスＣｔとが、調整の対象となる。
【００８６】
更に、タイミング検証及び最適化処理では、フリップフロップ回路１０３において、データ端子に供給される信号と、クロック端子に供給される信号との相互のタイミングが検証及び調整の対象となる。従って、フリップフロップ回路１０２において、供給されるクロック信号によりデータ端子に供給される信号をラッチしてから、その信号がバッファ回路１０４を介してフリップフロップ回路１０３のデータ端子に到達するまでのパス（データパス）Ｄａｔが対象となる。つまり、タイミング検証及び最適化の処理では、クロックツリー１０１の第１のクロックパスＣｓとデータパスＤａｔを含む第１のパスと、第２のクロックパスＣｔの間のスキューと、フリップフロップ回路１０３におけるスラックが問題となる。
【００８７】
従って、図１に示す設計支援装置１１は、これらの第１のパス（Ｃｓ＋Ｄａｔ）と、第２のクロックパスＣｔについて、スキュー感度を算出する。このスキュー感度は、次式
【００８８】
【数３】
2011175431.tif 000005
に示すように、第１のパス（Ｃｓ＋Ｄａｔ）の遅延感度と、第２のクロックパスＣｔの遅延感度の差の値として算出される。
【００８９】
第１のクロックパスＣｓは、クロックバッファ１１３，１１４に係るパスＣｓ１，Ｃｓ２を含む。データパスＤａｔは、フリップフロップ回路１０２に係るパスＤ１と、バッファ回路１０４に係るパスＤ２を含む。第２のクロックパスＣｔは、クロックバッファ１１５〜１２０に係るパスＣｔ１〜Ｃｔ６を含む。そして、第１のパス（Ｃｓ＋Ｄａｔ）の遅延感度と、第２のクロックパスＣｔの遅延感度は、上記の式（２）と同様に算出される。
【００９０】
そして、設計支援装置１１は、算出したスキュー感度と、フリップフロップ回路１０３におけるスラック（例えばホールドスラック）との合計値が、設定範囲内か否かを判定する。
【００９１】
尚、最低の条件として、フリップフロップ回路１０３において、クロック信号に対するデータ信号のスキューと、ホールドスラックとの和の値が０より大きければ、クロック信号によるラッチのタイミングよりも後までデータが保持されていることになり、同期回路は正常に動作する。つまり、同期回路におけるスキュー感度と、フリップフロップ回路１０３におけるスラック（Ｓｌａｃｋ）は、
【００９２】
【数４】
2011175431.tif 000006
に示す関係となる必要がある。
【００９３】
このため、設計支援装置１１は、スキュー感度が、スラックの負の値（−Ｓｌａｃｋ）より大きくなるように、データパスＤａｔの遅延感度を調整する。これにより、ホールドマージンを有する同期回路を形成することができる。
【００９４】
次に、同期回路の別の例を説明する。
図１２には、半導体装置に形成されたドメイン１３０，１４０が示されている。ドメインは、対応する電源系統により動作電源が供給された領域（例えばセルアレイ領域）を示す。従って、ドメイン１３０，１４０には互いに異なる電源系統により動作電源が供給される。
【００９５】
クロック信号ＣＬＫは、ドメイン１３０内のバッファ１３１，１３２と、ドメイン１４０内のバッファ１４１〜１４３を介してドメイン１４０内のフリップフロップ回路１４５に供給されるとともに、ドメイン１３０内のバッファ１３３を介して同ドメイン１３０内のフリップフロップ回路１３７に供給される。このフリップフロップ回路１３７の出力信号は、ドメイン１３０内のバッファ１３４〜１３６と、ドメイン１４０内のバッファ１４４を介して同ドメイン１４０内のフリップフロップ回路１４５に供給される。つまり、バッファ１３１〜１３６，１４１〜１４４とフリップフロップ回路１３７，１４５を含む同期回路は、２つのドメイン１３０，１４０にまたがって形成されている。
【００９６】
上記したように、各ドメイン１３０，１４０には、それぞれ対応する電源系統によって動作電源が供給される。従って、各ドメイン１３０，１４０に供給される動作電源は、互いに独立して変動する。つまり、各ドメイン１３０，１４０は、互いに独立した動作環境で動作する。
【００９７】
このような同期回路に対し、タイミング検証及び最適化を行う場合、各パスをドメイン毎に分割し、ドメイン毎に調整を行えばよい。
つまり、図１２に示すように、ラウンチパスとデータパスを、ドメイン１３０内のパスＡ（ＰａｔｈＡと標記）と、ドメイン１４０内のパスＢ（ＰａｔｈＢと標記）とに分割する。同様に、キャプチャパスを、ドメイン１３０内のパスＣ（ＰａｔｈＣと標記）と、ドメイン１４０内のパスＤ（ＰａｔｈＤと標記）とに分割する。
【００９８】
そして、パスＡの遅延感度の値と、パスＣの遅延感度の値とを等しくするように、各パスＡ，Ｃを調整する。同様に、パスＢの遅延感度の値と、パスＤの遅延感度の値とを等しくするように、各パスＢ，Ｃを調整する。尚、パスＡ，Ｃの遅延感度積の合計値が、パスＢ，Ｄの遅延感度積の合計値以上となれば、フリップフロップ回路１４５におけるスラックを減少させないため、タイミングマージンを確保することができる。
【００９９】
このように、多電源設計の半導体装置についても、感度を用いてパスを調整することで、電圧の変動に影響されにくい回路を構成することができる。また、半導体装置の設計保証も容易に可能となる。
【０１００】
以上記述したように、本実施形態によれば、以下の効果を奏する。
（１）設計支援装置１１は、クロックツリー合成処理（ステップ２３）にて生成したクロックツリーに含まれるクロックパスＣｓ，Ｃｔについて、電圧・温度の遅延感度をそれぞれ算出する。そして、設計支援装置１１は、２つのクロックパスＣｓ，Ｃｔの遅延感度の差を０に近づけるように、クロックパスＣｓ，Ｃｔの遅延感度を調整するようにした。
【０１０１】
遅延感度は、電圧・温度の変動に対する遅延時間の変化の度合いを示す。従って、遅延感度の差を０に近づけることで、電圧・温度の変動に対して各クロックパスＣｓ，Ｃｔの遅延時間が安定する、つまりスキューの変化が少なくなる。このため、クロックツリーに対して検証すべきコーナー条件の数を少なくしても、回路の動作を保証することができる。従って、コーナー条件の数を低減することができ、ひいては設計期間の短縮を図ることができる。
【０１０２】
（２）設計支援装置１１は、遅延感度の差を０に近づけるようにクロックパスＣｓ，Ｃｔを調整することで、電圧・温度の変動に対するスキューの変化が少なくなる。つまり、電圧・温度の変動による影響が少ない回路を構成することができる。
【０１０３】
（３）設計支援装置１１は、各インスタンスについて、遅延時間に感度を乗算した結果を遅延感度積として記憶し、この遅延感度積が大きなインスタンスから順次置換対象とし、対象としたインスタンスを遅延感度が異なるインスタンスと置換するようにした。遅延感度積は、電圧・温度の変動に対する遅延時間の変化量を示す。従って、感度が異なるインスタンスと置き換えることで、遅延時間を大きく変更することができ、２つのクロックパスＣｓ，Ｃｔの遅延時間差、即ちスキューを短時間で０に近づけることができ、設計期間の短縮を図ることができる。
【０１０４】
（４）設計支援装置１１は、タイミング検証及び最適化処理（ステップ２４）において、クロックツリーによりクロック信号が供給される２つのフリップフロップ回路１０２，１０３間のデータパスＤａｔをフリップフロップ回路１０２にクロック信号を供給するクロックパスＣｓに含めて遅延感度を算出し、その遅延感度とフリップフロップ回路１０３にクロック信号を供給するクロックパスＣｔの遅延感度と、フリップフロップ回路１０３におけるスラックとに基づいて、データパスＤａｔを調整するようにした。従って、フリップフロップ回路１０３におけるタイミングマージンを確保することができる。
【０１０５】
尚、上記各実施形態は、以下の態様で実施してもよい。
・上記実施形態では、２つのクロックパスＣｓ，Ｃｔを有するクロックツリー（例えば、図５に示すクロックツリー７１）に対する調整を説明した。これに対し、３つ以上のクロックパスを有するクロックツリーに対し調整を行うようにしてもよい。
【０１０６】
上記各実施形態に関し、以下の付記を開示する。
（付記１）
半導体装置に含まれるパスを設計支援装置により調整するパス調整方法であって、
前記設計支援装置が実行する処理は、
各パスについて、電圧・温度の遅延感度をそれぞれ算出する処理と、
２つのパスの遅延感度の差を前記パスに対応する保証範囲内とするように前記パスの遅延感度を調整する処理と、
を含むことを特徴とするパス調整方法。
（付記２）
前記設計支援装置は、保証限界値による２つのコーナー条件のうち、第１のコーナー条件を基準とし、第２のコーナー条件による遅延感度を算出することを特徴とする付記１記載のパス調整方法。
（付記３）
前記設計支援装置は、各パスに含まれるインスタンス毎に遅延感度を算出し、パス毎にパスに含まれるインスタンスの遅延感度を合計した値をパスにおける遅延感度とする、ことを特徴とする付記１又は２記載のパス調整方法。
（付記４）
前記設計支援装置が実行する処理は、
前記遅延感度の差と、パスに含まれるインスタンスについて遅延時間に感度を乗算して遅延感度積を算出する処理と、
前記パスに含まれるインスタンスのうち、遅延感度積が大きなインスタンスを対象とし、前記遅延感度の差を前記保証範囲内とするように前記対象のインスタンスを他のインスタンスと置き換える処理と、
を含むことを特徴とする付記１〜３のうちの何れか一項に記載のパス調整方法。
（付記５）
前記設計支援装置が実行する処理は、
前記インスタンスの置換により前記遅延感度の差が保証範囲内とならない場合に、インスタンスの挿入処理を行う処理を含むことを特徴とする付記４記載のパス調整方法。
（付記６）
前記パスは、クロックツリーによってクロック信号が供給される２つのフリップフロップ回路について、第１のフリップフロップ回路から出力される信号が第２のフリップフロップ回路に供給されるデータパスを含み、
前記設計支援装置は、
前記第１及び第２のフリップフロップ回路に前記クロック信号をそれぞれ供給するクロックパスと前記データパスとをふくむパスの遅延感度と、前記第２のフリップフロップ回路におけるスラックとに基づいて前記データパスを調整する、
ことを特徴とする付記１〜５のうちの何れか一項に記載のパス調整方法。
（付記７）
前記設計支援装置は、
前記第１のフリップフロップ回路にクロック信号を供給する第１のクロックパスと前記データパスを含むパスにおける第１の遅延感度と、前記第２のフリップフロップ回路にクロック信号を供給する第２のクロックパスにおける第２の遅延感度とを算出し、前記第１の遅延感度から前記第２の遅延感度を減算した結果の値と前記第２のフリップフロップ回路におけるスラックとの合計値を０以上とするように前記データパスを調整する、
ことを特徴とする付記６記載のパス調整方法。
（付記８）
半導体装置に含まれるパスを調整する設計支援装置であって、
各パスについて、電圧・温度の遅延感度をそれぞれ算出し、２つのパスの遅延感度の差を前記パスに対応する保証範囲内とするように前記パスの遅延感度を調整する、
ことを特徴とする設計支援装置。
【符号の説明】
【０１０７】
１１  設計支援装置
２３  クロックツリー合成処理
２４  タイミング解析及び最適化処理
５１，７１  クロックツリー
Ｃｓ  クロックパス
Ｃｔ  クロックパス
Ｄａｔ  データパス
【図１】
2011175431.tif 000007
【図２】
2011175431.tif 000008
【図３】
2011175431.tif 000009
【図４】
2011175431.tif 000010
【図５】
2011175431.tif 000011
【図６】
2011175431.tif 000012
【図７】
2011175431.tif 000013
【図８】
2011175431.tif 000014
【図９】
2011175431.tif 000015
【図１０】
2011175431.tif 000016
【図１１】
2011175431.tif 000017
【図１２】
2011175431.tif 000018