(57)【特許請求の範囲】
【請求項１】
設計対象の回路を形成する複数の実装ブロックを並行して設計する複数のクライアントコンピュータと、各クライアントコンピュータと情報のやり取りをリアルタイムで行うサーバを用いた回路設計方法であって、
前記サーバからの要求に応じて、各クライアントコンピュータから前記要求に対応する実装ブロックに関する情報を前記サーバに通知するステップと、
各クライアントコンピュータから取得した前記情報に基づいて、各実装ブロックを前記サーバ内の解析ツールにより解析して解析結果を求めるステップと、
前記解析結果にエラーが含まれると、前記エラーを含む実装ブロックについて前記サーバ内の変更容易性計算ツールにより前記エラーを抑制するための前記エラーを含む実装ブロックの設計変更の容易性を計算すると共に、前記容易性を考慮した解析結果を各クライアントコンピュータに通知するステップと、
前記変更容易性計算ツールにより前記容易性を計算する際に、各実装ブロックの優先順位を付与するステップを含み、
前記容易性は、配線変更のための変更容易性、ノイズ解析修正のための変更容易性、及び消費電力修正のための変更容易性の情報のうち少なくとも１つを含み、
各実装ブロックの優先順位とは、前記容易性が同じと判断された実装ブロックに対してどの実装ブロックを優先して設計変更を行うかを決定するための指標である、回路設計方法。
【請求項２】
前記優先順位は、予め設定した配線種別により配線の優先順位を指定するネットの優先順位と、回路部分の種別により優先順位を指定する階層の優先順位を含む、請求項１記載の回路設計方法。
【請求項３】
前記解析ツールは、前記回路の配置配線のスペーシング値、駆動能力、入力負荷、及び配線容量の情報のうち少なくとも１つの情報を有する配線規則情報を含む実装ルールに基づいて前記エラーを含む実装ブロックを解析し、
前記解析ツールは、解析する内容に応じて、配置配線を検証する配置配線検証ツール、ノイズを解析するノイズ解析ツール、及び消費電力を解析する消費電力解析ツールのうち少なくとも１つのツールを含む、請求項１又は２記載の回路設計方法。
【請求項４】
前記解析ツールは、前記配置配線検証ツールにより実装ブロック間の境界上の実配線データを用いて解析を行う、請求項３記載の回路設計方法。
【請求項５】
設計対象の回路を形成する複数の実装ブロックを並行して設計する複数のクライアントコンピュータと、
各クライアントコンピュータと情報のやり取りをリアルタイムで行うサーバとを備え、
各クライアントコンピュータは、前記サーバからの要求に応じて、前記要求に対応する実装ブロックに関する情報を前記サーバに通知する手段を有し、
前記サーバは、
各クライアントコンピュータから取得した前記情報に基づいて、各実装ブロックを前記サーバ内の解析ツールにより解析して解析結果を求める手段と、
前記解析結果にエラーが含まれると、前記エラーを含む実装ブロックについて前記サーバ内の変更容易性計算ツールにより前記エラーを抑制するための前記エラーを含む実装ブロックの設計変更の容易性を計算すると共に、前記容易性を考慮した解析結果を各クライアントコンピュータに通知する手段を有し、
前記変更容易性計算ツールは、前記容易性を計算する際に、各実装ブロックの優先順位を付与し、
前記容易性は、配線変更のための変更容易性、ノイズ解析修正のための変更容易性、及び消費電力修正のための変更容易性の情報のうち少なくとも１つを含み、
各実装ブロックの優先順位とは、前記容易性が同じと判断された実装ブロックに対してどの実装ブロックを優先して設計変更を行うかを決定するための指標である、回路設計システム。
【請求項６】
前記優先順位は、予め設定した配線種別により配線の優先順位を指定するネットの優先順位と、回路部分の種別により優先順位を指定する階層の優先順位を含む、請求項５記載の回路設計システム。
【請求項７】
前記解析ツールは、前記回路の配置配線のスペーシング値、駆動能力、入力負荷、及び配線容量の情報のうち少なくとも１つの情報を有する配線規則情報を含む実装ルールに基づいて前記エラーを含む実装ブロックを解析し、
前記解析ツールは、解析する内容に応じて、配置配線を検証する配置配線検証ツール、ノイズを解析するノイズ解析ツール、及び消費電力を解析する消費電力解析ツールのうち少なくとも１つのツールを含む、請求項５又は６記載の回路設計システム。
【請求項８】
前記解析ツールは、前記配置配線検証ツールにより実装ブロック間の境界上の実配線データを用いて解析を行う、請求項７記載の回路設計システム。
【請求項９】
前記変更容易性計算ツールは、前記配線変更のための変更容易性、前記ノイズ解析修正のための変更容易性、及び前記消費電力修正のための変更容易性の情報のうち少なくとも１つの情報に基づいて、前記エラーを含む実装ブロックに関する現在の実装データに対してどの程度変更が可能であるかを示すレベルを付けるレベル付けを行い、
前記配線変更のための変更容易性は、配線層、配線幅及び配線座標を示す配線情報と、周辺の配線情報及び混雑度を示す配線混雑度のうち少なくとも１つの情報を含み、
前記ノイズ解析修正のための変更容易性は、配線層、配線幅及び配線座標を示す配線情報と、周辺の配線情報及び混雑度を示す配線混雑度のうち少なくとも一方の情報を含み、
前記消費電力修正のための変更容易性は、使用するマクロのスレッショルド電圧、使用するトランジスタゲートの駆動能力、及び信号のタイミング変更が可能であるか否かを示す情報のうち少なくとも１つの情報を含む、請求項５又は６記載の回路設計システム。
【請求項１０】
設計対象の回路を形成する複数の実装ブロックを並行して設計する複数のクライアントコンピュータの各々と情報のやり取りをリアルタイムで行う回路設計をサーバコンピュータに行わせる回路設計管理プログラムであって、
前記サーバコンピュータからの要求に応じて、各クライアントコンピュータから取得した前記要求に対応する実装ブロックに関する情報に基づいて、各実装ブロックを解析ツールにより解析させて解析結果を求めさせる手順と、
前記解析結果にエラーが含まれると、前記エラーを含む実装ブロックについて変更容易性計算ツールにより前記エラーを抑制するための前記エラーを含む実装ブロックの設計変更の容易性を計算させると共に、前記容易性を考慮した解析結果を各クライアントコンピュータに通知させる手順と、
前記変更容易性計算ツールにより前記容易性を計算する際に、各実装ブロックの優先順位を付与する手順
を前記サーバコンピュータに実行させ、
前記容易性は、配線変更のための変更容易性、ノイズ解析修正のための変更容易性、及び消費電力修正のための変更容易性の情報のうち少なくとも１つを含み、
各実装ブロックの優先順位とは、前記容易性が同じと判断された実装ブロックに対してどの実装ブロックを優先して設計変更を行うかを決定するための指標である、回路設計管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、回路設計方法、回路設計システム及びプログラムに係り、特にＣＰＵ（Central Processing Unit）、ＳｏＣ（System-on-a-Chip）等の大規模集積回路のＣＡＤ（Computer Aided Design）による設計に適した回路設計方法、回路設計システム及びプログラムに関する。又、本発明は、そのようなプログラムを格納したコンピュータ読み取り可能な記憶媒体にも関する。
【背景技術】
【０００２】
ＣＰＵやＳｏＣ等の大規模回路の設計には、階層設計と呼ばれる手法が用いられる。階層設計手法では、設計対象の回路全体を複数の実装ブロックと呼ばれる領域に分割し、１又は複数の設計者が個々の実装ブロックの設計を行なう。全ての実装ブロックの設計作業が完了した段階で、全ての実装ブロックを結合（又は、マージ）してチップとして回路を組み立て、チップ全体に対して各種チェック（又は、検査）、テスト（又は、試験）や評価等の解析を行なう。このような階層設計手法では、全ての実装ブロックの設計作業が並行して進められるが、チップとして回路を組み立てるまで精度の高いチェック、テストや評価を行なうことができない。尚、互いに隣接する実装ブロック間の境界に配線禁止領域を確保することで、互いに隣接する実装ブロック間で間隔エラー（又は、スペーシングエラー）等を起こさないようして設計を行うことができる。【０００３】
階層設計手法で設計された複数の実装ブロックが内包関係にある場合、タイミング分配設計情報を参照する方法が提案されている（例えば、特許文献１）。しかし、この提案方法では、実装ブロックの設計作業中に内包関係にない他階層の実装ブロックの情報を考慮して実装ブロックの設計に反映させることはできない。【０００４】
このように、従来の階層設計手法を用いる回路設計方法では、次のような問題点が生じる。【０００５】
第１に、従来の階層設計手法を用いる回路設計方法では、実装ブロックを結合する時にスペーシングエラーやクロストークノイズエラー等による設計への手戻りが発生しないようにＣＡＤが自動的に各実装ブロック間に配線禁止領域を確保するため、使用できる配線数が減少する。又、配線禁止領域は、隣接する実装ブロックの配置や配線が最も近くにある場合であってもエラーとならないように十分なマージンを取られるため、スペース的に無駄が多い。【０００６】
第２に、従来の階層設計手法を用いる回路設計方法では、実装ブロックを結合した後でなければ精度の高い解析を行うことができないため、設計への手戻りが大きく、設計への手戻りの反映も必要であることから、設計の収束に比較的時間がかかる。例えば、作業手順は、設計対象の回路を形成する各実装ブロック内部のレイアウトを作成するステップ、全ての実装ブロックを結合してチップとして回路を組み立てるステップ、及び、組み立てられた回路のタイミングチェック等の解析を行うステップを含む。解析の結果、タイミング調整等が必要であると、設計への手戻り、即ち、各実装ブロック内部のレイアウトを作成するステップからやり直す必要がある。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００２−１４９７３０号公報
【特許文献２】特開平５−１８１９２９号公報
【特許文献３】特開平６−５２２４８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
従来の階層設計手法を用いる回路設計方法では、設計対象の回路を形成する実装ブロック間の配線自由度が比較的低く、設計の収束に比較的時間がかかるという問題があった。【０００９】
そこで、本発明は、設計対象の回路を形成する実装ブロック間の配線自由度を向上すると共に、設計の収束を比較的短時間で可能とする回路設計方法、回路設計システム及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明の一観点によれば、設計対象の回路を形成する複数の実装ブロックを並行して設計する複数のクライアントコンピュータと、各クライアントコンピュータと情報のやり取りをリアルタイムで行うサーバを用いた回路設計方法であって、前記サーバからの要求に応じて、各クライアントコンピュータから前記要求に対応する実装ブロックに関する情報を前記サーバに通知するステップと、各クライアントコンピュータから取得した前記情報に基づいて、各実装ブロックを前記サーバ内の解析ツールにより解析して解析結果を求めるステップと、前記解析結果にエラーが含まれると、前記エラーを含む実装ブロックについて前記サーバ内の変更容易性計算ツールにより前記エラーを抑制するための前記エラーを含む実装ブロックの設計変更の容易性を計算すると共に、前記容易性を考慮した解析結果を各クライアントコンピュータに通知するステップと、前記変更容易性計算ツールにより前記容易性を計算する際に、各実装ブロックの優先順位を付与するステップを含み、前記容易性は、配線変更のための変更容易性、ノイズ解析修正のための変更容易性、及び消費電力修正のための変更容易性の情報のうち少なくとも１つを含み、各実装ブロックの優先順位とは、前記容易性が同じと判断された実装ブロックに対してどの実装ブロックを優先して設計変更を行うかを決定するための指標である回路設計方法が提供される。
【００１１】
本発明の一観点によれば、設計対象の回路を形成する複数の実装ブロックを並行して設計する複数のクライアントコンピュータと、各クライアントコンピュータと情報のやり取りをリアルタイムで行うサーバとを備え、各クライアントコンピュータは、前記サーバからの要求に応じて、前記要求に対応する実装ブロックに関する情報を前記サーバに通知する手段を有し、前記サーバは、各クライアントコンピュータから取得した前記情報に基づいて、各実装ブロックを前記サーバ内の解析ツールにより解析して解析結果を求める手段と、前記解析結果にエラーが含まれると、前記エラーを含む実装ブロックについて前記サーバ内の変更容易性計算ツールにより前記エラーを抑制するための前記エラーを含む実装ブロックの設計変更の容易性を計算すると共に、前記容易性を考慮した解析結果を各クライアントコンピュータに通知する手段を有し、前記変更容易性計算ツールは、前記容易性を計算する際に、各実装ブロックの優先順位を付与し、前記容易性は、配線変更のための変更容易性、ノイズ解析修正のための変更容易性、及び消費電力修正のための変更容易性の情報のうち少なくとも１つを含み、各実装ブロックの優先順位とは、前記容易性が同じと判断された実装ブロックに対してどの実装ブロックを優先して設計変更を行うかを決定するための指標である回路設計システムが提供される。
【００１２】
本発明の一観点によれば、設計対象の回路を形成する複数の実装ブロックを並行して設計する複数のクライアントコンピュータの各々と情報のやり取りをリアルタイムで行う回路設計をサーバコンピュータに行わせる回路設計管理プログラムであって、前記サーバコンピュータからの要求に応じて、各クライアントコンピュータから取得した前記要求に対応する実装ブロックに関する情報に基づいて、各実装ブロックを解析ツールにより解析させて解析結果を求めさせる手順と、前記解析結果にエラーが含まれると、前記エラーを含む実装ブロックについて変更容易性計算ツールにより前記エラーを抑制するための前記エラーを含む実装ブロックの設計変更の容易性を計算させると共に、前記容易性を考慮した解析結果を各クライアントコンピュータに通知させる手順と、前記変更容易性計算ツールにより前記容易性を計算する際に、各実装ブロックの優先順位を付与する手順を前記サーバコンピュータに実行させ、前記容易性は、配線変更のための変更容易性、ノイズ解析修正のための変更容易性、及び消費電力修正のための変更容易性の情報のうち少なくとも１つを含み、各実装ブロックの優先順位とは、前記容易性が同じと判断された実装ブロックに対してどの実装ブロックを優先して設計変更を行うかを決定するための指標である回路設計管理プログラムが提供される。
【発明の効果】
【００１３】
開示の回路設計方法、回路設計システム及びプログラムによれば、設計対象の回路を形成する実装ブロック間の配線自由度を向上すると共に、設計の収束を比較的短時間で可能とすることができる。
【図面の簡単な説明】
【００１４】
【図１】本発明の一実施例における回路設計システムを示す図である。
【図２】配線に影響する実装ブロック間の境界情報を表示する処理を説明するための実装ブロックを示す図である。
【図３】配線に影響する実装ブロック間の境界情報を表示する処理を説明する図である。
【図４】配線に影響する実装ブロック間の境界情報を表示する処理をより詳細に説明するフローチャートである。
【図５】配線に影響する実装ブロック間の境界情報を表示する処理をより詳細に説明するフローチャートである。
【図６】配線が隣接階層の配線に与える影響を解析する処理を説明するための実装ブロックを示す図である。
【図７】配線が隣接階層の配線に与える影響を解析する処理を説明するための実装ブロックを示す図である。
【図８】配線が隣接階層の配線に与える影響を解析する処理を説明するための図である。
【図９】配線が隣接階層の配線に与える影響を解析する処理をより詳細に説明するフローチャートである。
【図１０】配線が隣接階層の配線に与える影響を解析する処理をより詳細に説明するフローチャートである。
【図１１】階層を跨るパスを転送される信号のタイミングを解析する処理を説明するための実装ブロックを示す図である。
【図１２】階層を跨るパスを転送される信号のタイミングを解析する処理を説明するための実装ブロックを示す図である。
【図１３】階層を跨るパスを転送される信号のタイミングを解析する処理を説明するための図である。
【図１４】階層を跨るパスを転送される信号のタイミングを解析する処理をより詳細に説明するフローチャートである。
【図１５】階層を跨るパスを転送される信号のタイミングを解析する処理をより詳細に説明するフローチャートである。
【図１６】配線ノイズを解析する処理を説明するための実装ブロックを示す図である。
【図１７】配線ノイズを解析する処理を説明するための実装ブロックを示す図である。
【図１８】配線ノイズを解析する処理を説明するための図である。
【図１９】配線ノイズを解析する処理をより詳細に説明するフローチャートである。
【図２０】配線ノイズを解析する処理をより詳細に説明するフローチャートである。
【図２１】消費電力解析エラーの処理を説明するための実装ブロックを示す図である。
【図２２】消費電力解析エラーの処理を説明するための実装ブロックを示す図である。
【図２３】消費電力解析エラーの処理を説明するための図である。
【図２４】消費電力解析エラーの処理をより詳細に説明するフローチャートである。
【図２５】消費電力解析エラーの処理をより詳細に説明するフローチャートである。
【発明を実施するための形態】
【００１５】
開示の回路設計方法、回路設計システム及びプログラムでは、複数の設計者がクライアントコンピュータで並行して設計している実装ブロックの状態をサーバとリアルタイム通信しながら設計を行う。ある実装ブロックにおける情報で、他の実装ブロックに影響を及ぼす情報は、自動的に抽出される。又、他の実装ブロックに影響を及ぼす情報が変更されると、リアルタイムで変更後の情報を参照することができる。
【００１６】
このため、各階層内の無駄な配置配線禁止領域をなくし、全ての実装ブロックの設計作業が終了しない段階で各階層が並行して解析作業を行うことを可能とする。
【００１７】
以下に、開示の回路設計方法、回路設計システム及びプログラムの各実施例を図面と共に説明する。
【実施例】
【００１８】
図１は、本発明の一実施例における回路設計システムを示す図である。回路設計システムは、図１に示す如く接続された階層インタフェース（ＩＦ）マネージャ１、解析ツール２、変更容易性計算ツール３、及び階層インタフェース（ＩＦ）クライアント６−１〜６−Ｎ（Ｎは２以上の自然数）を有する。階層ＩＦクライアント６−１〜６−Ｎは、対応する汎用コンピュータ（又は、クライアントコンピュータ）５−１〜５−Ｎにより形成されている。図１及び後述する図３、図８、図１３、図１８、及び図２３では、階層ＩＦクライアント６−１〜６−Ｎの処理と、コンピュータ５−１〜５−Ｎ内で実行される他の処理との関係が分かり易いように、階層ＩＦクライアント６−１〜６−Ｎと対応するコンピュータ５−１〜５−Ｎが接続されているかのように図示されているが、実際はコンピュータ５−１〜５−Ｎにより対応する階層ＩＦクライアント６−１〜６−Ｎの処理が実行される。【００１９】
各コンピュータ５−１〜５−Ｎは、同じ構成を有しても良い。図１では、一例としてコンピュータ５−２の構成のみを示す。コンピュータ５−２は、ＣＰＵ５１、半導体記憶装置やディスク装置等で形成される記憶部５２、インタフェース（Ｉ／Ｆ）５３、表示部５４、及びキーボード等の入力装置５５がバス５６により接続された周知の構成を有する。階層ＩＦクライアント６−１〜６−Ｎは、回路設計プログラムをコンピュータ５−１〜５−Ｎの記憶部５２に格納して実装することでコンピュータ５−１〜５−Ｎにより形成される。回路設計プログラムは、ディスクやメモリ等のコンピュータ読み取り可能な記憶媒体に格納されていても良く、コンピュータ読み取り可能な記憶媒体が記憶部５２にロードされても、回路設計プログラムがコンピュータ読み取り可能な記憶媒体から記憶部５２にインストールされても良い。階層設計手法では、設計対象の回路全体を複数の実装ブロックと呼ばれる領域に分割し、１又は複数の設計者が個々の実装ブロックの設計を行なう。従って、各コンピュータ５−１〜５−Ｎ（即ち、階層ＩＦクライアント６−１〜６−Ｎ）は、少なくとも１つの実装ブロックの設計をＣＡＤにより行う。【００２０】
階層ＩＦマネージャ１は、例えばコンピュータ５−１〜５−Ｎと同様の構成を有する汎用コンピュータ（サーバ、又は、サーバコンピュータ）で形成可能である。この場合、少なくとも階層ＩＦマネージャ１、解析ツール２、及び変更容易性計算ツール４は、回路設計管理プログラムを汎用コンピュータの記憶部に格納して実装することで汎用コンピュータにより形成される。回路設計管理プログラムは、ディスクやメモリ等のコンピュータ読み取り可能な記憶媒体に格納されていても良く、コンピュータ読み取り可能な記憶媒体が汎用コンピュータの記憶部にロードされても、回路設計管理プログラムがコンピュータ読み取り可能な記憶媒体から汎用コンピュータの記憶部にインストールされても良い。実装ルール３は、汎用コンピュータの記憶部に格納されていても、汎用コンピュータに対して外部接続された記憶部に格納されていても良い。【００２１】
階層ＩＦマネージャ１は、各階層ＩＦクライアント６−１〜６−Ｎと情報のやり取りを行う。階層ＩＦマネージャ１は、各階層ＩＦクライアント６−１〜６−Ｎから取得した設計対象の回路を形成する実装ブロックに関する情報を集めて、解析ツール２の各ツール２−１〜２−４へ通知する。又、階層ＩＦマネージャ１は、解析ツール２の解析結果を変更容易性計算ツール４に渡し、解析対象の回路の設計変更の容易性を考慮した解析結果を各階層ＩＦクライアント６−１〜６−Ｎへ通知する。階層ＩＦマネージャ１は、階層ＩＦクライアント６−１〜６−Ｎとの情報やり取り、及び変更容易性計算ツール４を用いた設計変更の容易性判断において、解析対象の回路を形成する各実装ブロックの優先順位を付与することができる。【００２２】
各階層ＩＦクライアント６−１〜６−Ｎは、階層ＩＦマネージャ１の要求に応じ、各実装ブロックの情報を階層ＩＦマネージャ１に通知する。又、各階層ＩＦクライアント６−１〜６−Ｎは、階層ＩＦマネージャ１から取得した情報を、ＣＰＵ５１により形成される各実装ブロックの処理部へ通知する。【００２３】
実装ルール３は、設計対象の回路（即ち、実装対象の回路）の配線規則情報（又は、配線ルール情報）を含む。配線規則情報は、配置配線の間隔値（又は、スペーシング値）、駆動能力、入力負荷、配線容量等の情報のうち少なくとも１つの情報を有する。【００２４】
解析ツール２は、実装ルール３に基づいて、各実装ブロックに関する実装データの解析を行う。解析ツール２は、解析する内容に応じて、配置配線を検証する配置配線検証ツール２−１、クロック等の各種信号のタイミングを解析するタイミング解析ツール２−２、ノイズを解析するノイズ解析ツール２−３、及び消費電力を解析する消費電力解析ツール２−４を含む。【００２５】
変更容易性計算ツール４は、解析ツール２でエラーを検出した場合に、エラーが検出された階層（即ち、実装ブロック）について検出されたエラーを抑制するための設計変更の容易性を任意の計算式に基づいて計算する。変更容易性計算ツール４で計算された設計変更の容易性は、階層ＩＦマネージャ１に通知される。【００２６】
尚、各階層（即ち、各実装ブロック）の配線情報を参照する場合は、予め設定されているデフォルト配線種別により配線（例えば、クロックネット等）を指定するか、或いは、ユーザが入力装置５５から指定することで配線を選択することができる。【００２７】
変更容易性計算ツール４は、現在の実装データに対して、設計変更の容易性、即ち、どの程度変更が可能であるかを示すレベルを付けるレベル付けを行う。階層ＩＦマネージャ１は、レベルの高い階層（即ち、実装ブロック）の処理部にエラー情報を通知する。変更容易性計算ツール４が行うレベル付けは、配線変更のための変更容易性、信号タイミング修正のための変更容易性、ノイズ解析修正のための変更容易性、消費電力修正のための変更容易性等の情報のうち少なくとも１つの情報に基づいて行われる。変更容易性計算ツール４が設計変更の容易性を計算するのに用いる計算式は、配線変更のための変更容易性、信号タイミング修正のための変更容易性、ノイズ解析修正のための変更容易性、又は、消費電力修正のための変更容易性のいずれを計算するかに応じて適切に選定すれば良い。【００２８】
配線変更のための変更容易性は、配線層、配線幅、配線座標等を示す配線情報と、周辺の配線情報、混雑度等を示す配線混雑度のうち少なくとも一方の情報を含む。【００２９】
信号タイミング修正のための変更容易性は、使用するトランジスタゲートの駆動能力に関する情報、及び信号のタイミングをどの程度短縮或いは延長可能であるかを示す情報のうち少なくとも一方の情報を含む。ゲートの駆動能力に関する情報は、ゲートの駆動能力を上げることが可能であるか、或いは、下げることが可能であるかを示す。信号のタイミングをどの程度短縮或いは延長可能であるかを示す情報は、入力負荷、配線容量、配線長、配線幅、端子間の距離、配線混雑度等の情報を複合して信号のタイミングをどの程度短縮或いは延長可能であるかを示す。【００３０】
ノイズ解析修正のための変更容易性は、配線層、配線幅、配線座標等を示す配線情報と、周辺の配線情報、混雑度等を示す配線混雑度のうち少なくとも一方の情報を含む。【００３１】
消費電力修正のための変更容易性は、使用するマクロ（特定機能を有する回路部分）のスレッショルド電圧、使用するトランジスタゲートの駆動能力、及び信号のタイミング変更が可能であるか否かを示す情報のうち少なくとも１つの情報を含む。使用するマクロのスレッショルド電圧は、スレッショルド電圧を下げることが可能であるか否かを示す。使用するトランジスタゲートの駆動能力は、駆動能力を下げることが可能であるか否かを示す。【００３２】
階層ＩＦマネージャ１は、変更容易性の判断において、配線情報等の条件が同じで、変更容易性計算ツール４の計算結果が同じ実装データ（即ち、実装ブロック）に対して、優先順位に応じて回路設計の変更容易性を判断し、優先順位が高いもの程設計変更しなくて済むような判断をする。優先順位には、ネットの優先順位と、階層（即ち、実装ブロック）の優先順位が含まれる。ネットの優先順位は、予め設定した配線種別により、配線（例えば、クロックネット等）の優先順位を指定する。階層の優先順位は、回路部分の種別により優先順位を指定する。階層の優先順位は、 例えば実装ブロックの実装データがＣＰＵに関するデータであれば優先順位を高く、インタフェース部に関するデータであれば低くする等して、予め階層の優先順位を指定する。【００３３】
本実施例では、階層ＩＦマネージャ１が実装ブロック間の境界上の実配線データを用いて解析を行うため、各実装ブロックは配置配線禁止領域のようなマージンを設けることなく配線できる。各実装ブロックの処理部は、階層ＩＦマネージャ１と通信することで各種解析を行うので、各実装ブロックに対して並行に作業を行え、各実装ブロックを結合（又は、マージ）しなくても精度の高い解析結果を得ることができる。更に、変更容易性計算ツール４は、解析ツール２の解析結果から変更容易性を計算し、階層ＩＦマネージャ１はその計算結果から設計変更が容易な箇所をエラーと判断して、設計変更が必要な階層へ通知する。【００３４】
このように、各階層ＩＦクライアント６−１〜６−Ｎからの実装データはリアルタイムで階層ＩＦマネージャ１において反映されるため、階層ＩＦマネージャ１では他階層の実装データの確定を待たずに設計変更がわかり、作業効率が向上する。又、階層ＩＦマネージャ１と各階層ＩＦクライアント６−１〜６−Ｎとの間でリアルタイム通信を行うことで、ある階層ＩＦクライアントにおける設計変更を他の階層ＩＦクライアントへ通知することもできるので、設計への手戻りが発生しなくなる。これにより、回路の設計期間の短期化を図ることができる。更に、階層間（即ち、実装ブロック間）の周辺での配置配線を禁止するための配置配線禁止領域を設ける必要がないので、実装ブロック間の配置配線の自由度が向上し、配置配線の混雑度等を減少させることができる。【００３５】
次に、配線に影響する実装ブロック間の境界情報を表示する処理を、図２及び図３と共に説明する。図２は、配線に影響する実装ブロック間の境界情報を表示する処理を説明するための実装ブロックを示す図である。図３は、配線に影響する実装ブロック間の境界情報を表示する処理を説明する図である。図３中、図１と同一部分には同一符号を付し、その説明は省略する。【００３６】
図２では説明の便宜上、設計対象の回路３１が実装ブロックＡ，Ｂ，Ｃ，Ｄにより形成されているものとする。図２に示す例では、実装ブロックＡ，Ｂ，Ｃに跨る影響範囲３１１内には配線３１２及び配線３１４が設けられている。梨地で示す影響範囲３１１は、配線３１２に影響を及ぼす範囲を示す。この例では、矢印３１３で示す部分で配線３１２に影響を及ぼす境界情報が、入手したい情報である。実装ブロックＤは、影響範囲３１１外にあるので、影響範囲３１１内の配線を有さない。【００３７】
図３において、ステップＳＴ１では、例えば実装ブロックＡの処理部（即ち、設計階層Ａ）を形成するコンピュータ５−１から階層ＩＦクライアント６−１に配線３１２の配線情報を要求する。ステップＳＴ２では、階層ＩＦクライアント６−１がＩＦマネージャ１に配線３１２の配線情報を要求する。ステップＳＴ３では、階層ＩＦマネージャ１が解析ツール２に配線３１２に影響する影響範囲３１１を要求する。ステップＳＴ４では、解析ツール２が実装ルール３にアクセスして配線３１２に影響する影響範囲３１１を取得する。このとき、解析対象とする配線３１２を指定した場合には、指定された配線３１２のみに対する影響範囲３１１が取得される。【００３８】
ステップＳＴ５では、解析ツール２が取得した影響範囲３１１を階層ＩＦマネージャ１へ通知する。ステップＳＴ６では、階層ＩＦマネージャ１が実装ブロックＡの処理部を形成するコンピュータ５−１以外のコンピュータ５−２〜５−Ｎ（即ち、実装ブロックＡ以外のブロックＢ〜Ｄの処理部）に対応する階層ＩＦクライアント６−２〜６−Ｎへ影響範囲３１１内の境界情報を要求する。ステップＳＴ７では、階層ＩＦマネージャ１の要求を受け、階層ＩＦクライアント６−２〜６−Ｎが対応するコンピュータ５−２〜５−Ｎ内の夫々の記憶部５２内に格納された影響範囲３１１内の境界情報を取得する。図２では、配線３１４を取得する。ステップＳＴ８では、階層ＩＦクライアント６−２〜６−Ｎが取得した影響範囲３１１内の境界情報を階層ＩＦマネージャ１へ通知する。ステップＳＴ９では、階層ＩＦマネージャ１が取得した各階層の境界情報の結合結果（又は、マージ結果）を要求元の階層ＩＦクライアント６−１へ通知する。ステップＳＴ１０では、階層ＩＦクライアント６−１が実装ブロックＡの処理部へ結合結果を通知し、実装ブロックＡの処理部が結合結果の情報をコンピュータ５−１の表示部５４に表示する。【００３９】
尚、図２に示す設計対象の回路３１は実装ブロックＡ，Ｂ，Ｃ，Ｄにより形成されているので、この場合は図３におけるＮはＮ＝４であれば良い。【００４０】
図４及び図５は、配線に影響する実装ブロック間の境界情報を表示する処理をより詳細に説明するフローチャートである。【００４１】
図４において、ステップＳ１では、要求元のコンピュータ５−１（又は、実装ブロックＡの処理部）が階層ＩＦクライアント６−１へ配線３１２の配線情報を要求する。ステップＳ２では、階層ＩＦクライアント６−１がＩＦマネージャ１に配線３１２の配線情報を要求する。ステップＳ３では、階層ＩＦマネージャ１が解析ツール２に配線３１２に影響する影響範囲３１１を要求する。【００４２】
ステップＳ４〜Ｓ７は、解析ツール２により実行される。ステップＳ４では、解析ツール２が実装ルール３にアクセスし、ステップＳ５では、配線３１２の配線情報の条件と実装ルール３の条件が一致するか否かを判定する。ステップＳ５の判定結果がＹＥＳになると、ステップＳ６では実装ルール３の一致する条件から配線３１２に影響する影響範囲３１１を取得する。このとき、解析対象とする配線３１２を指定した場合には、指定された配線３１２のみに対する影響範囲３１１が取得される。ステップＳ７では、解析ツール２が取得した影響範囲３１１を階層ＩＦマネージャ１へ通知する。【００４３】
ステップＳ８では、階層ＩＦマネージャ１が実装ブロックＡ以外の実装ブロックＢ〜Ｄの処理部（即ち、コンピュータ５−２〜５−Ｎ）に対応する階層ＩＦクライアント６−２〜６−Ｎのうち任意の１つの階層ＩＦクライアント６−ｉ（ｉ＝２〜Ｎ）へ影響範囲３１１内の境界情報を要求する。ステップＳ９では、階層ＩＦマネージャ１の要求を受け、任意の１つの階層ＩＦクライアント６−ｉが対応するコンピュータ５−ｉの記憶部５２に格納された影響範囲３１１内の境界情報を要求する。【００４４】
ステップＳ１０〜Ｓ１５は、階層ＩＦクライアント６−２〜６−Ｎに対応するコンピュータ５−２〜５−Ｎ（又は、実装ブロックＢ〜Ｄの処理部）のうち任意の１つのコンピュータ５−ｉにより実行される。ステップＳ１０では、階層ＩＦクライアント６−ｉからの要求に応答して、コンピュータ５−ｉの記憶部５２に格納されたデータを参照する。ステップＳ１１では、ステップＳ１０で参照したデータが終了したか否かを判定し、判定結果がＹＥＳであると処理は後述するステップＳ１５へ進む。一方、ステップＳ１１の判定結果がＮＯであると、ステップＳ１２では、ステップＳ１０で参照したデータが対象データ、即ち、境界情報に関するデータであるか否かを判定し、判定結果がＮＯであると処理は後述するステップＳ１５へ進む。ステップＳ１２の判定結果がＹＥＳであると、ステップＳ１３では、ステップＳ１０で参照したデータが影響範囲３１１内の境界情報に関するデータであるか否かを判定し、判定結果がＮＯであると処理は後述するステップＳ１５へ進む。ステップＳ１３の判定結果がＹＥＳであると、ステップＳ１４では、ステップＳ１０で参照したデータを要求元の階層ＩＦクライアント６−ｉに通知するべきデータに追加し、処理はステップＳ１０へ戻る。ステップＳ１５では、ステップＳ１０〜Ｓ１４により取得した影響範囲３１１内の境界情報に関するデータを要求元の階層ＩＦクライアント６−ｉへ通知し、処理は図５に示すステップＳ１６へ進む。【００４５】
図５において、ステップＳ１６では、階層ＩＦクライアント６−ｉが取得した境界情報を階層ＩＦマネージャ１へ通知する。ステップＳ１７〜Ｓ１９は、階層ＩＦマネージャ１により実行される。ステップＳ１７では、階層ＩＦクライアント６−ｉから通知されたデータを既に通知されたデータと結合する。ステップＳ１８では、階層ＩＦクライアント６−１以外の全ての階層ＩＦクライアント６−２〜６−Ｎからの要求の処理が終了したか否かを判定し、判定結果がＮＯであると処理は図４に示すステップＳ８へ戻り、処理を終了していない階層ＩＦクライアントの要求を上記と同様に処理する。一方、ステップＳ１８の判定結果がＹＥＳであると、ステップＳ１９では、収集した各階層（即ち、各実装ブロックＡ〜Ｄ）の配線情報の結合結果を要求元の階層ＩＦクライアント６−１へ通知する。【００４６】
ステップＳ２０では、階層ＩＦクライアント６−１が実装ブロックＡの処理部へ結合結果を通知する。ステップＳ２１では、実装ブロックＡの処理部、即ち、コンピュータ５−１が結合結果の情報を表示部５４に表示する。【００４７】
次に、配線が隣接階層の配線に与える影響を解析する処理を、図６乃至図８と共に説明する。図６及び図７は、配線が隣接階層の配線に与える影響を解析する処理を説明するための実装ブロックを示す図である。図６及び図７中、図２と同一部分には同一符号を付し、その説明は省略する。図８は、配線が隣接階層の配線に与える影響を解析する処理を説明するための図である。図８中、図１と同一部分には同一符号を付し、その説明は省略する。【００４８】
図６及び図７では説明の便宜上、配線３１２と隣接配線３１４との間に間隔エラーＥＲＲがある場合を示す。図７は、図６の実装ブロックＡ〜Ｄに対する設計変更の可能性の度合いを判断した結果を示す。【００４９】
図８において、ステップＳＴ２１では、例えば実装ブロックＡの処理部（即ち、設計階層Ａ）を形成するコンピュータ５−１から階層ＩＦクライアント６−１に配線解析結果を要求する。ステップＳＴ２２では、階層ＩＦクライアント６−１が階層ＩＦマネージャ１に配線解析結果を要求する。ステップＳＴ２３では、階層ＩＦマネージャ１が解析ツール２の配線検証ツール２−１に配線３１２に影響する影響範囲３１１を要求する。ステップＳＴ２４では、配線検証ツール２−１が配線ルール３にアクセスし、配線３１２に影響する影響範囲３１１を取得する。このとき、解析対象とする配線３１２を指定した場合には、指定された配線３１２のみに対する影響範囲３１１が取得される。【００５０】
ステップＳＴ２５では、配線検証ツール２−１が取得した影響範囲３１１を階層ＩＦマネージャ１へ通知する。ステップＳＴ２６では、階層ＩＦマネージャ１が実装ブロックＡの処理部を形成するコンピュータ５−１以外のコンピュータ５−２〜５−Ｎ（即ち、実装ブロックＢ〜Ｄの処理部）に対応する階層ＩＦクライアント６−２〜６−Ｎへ影響範囲３１１内の境界情報を要求する。ステップＳＴ２７では、階層ＩＦマネージャ１の要求を受け、階層ＩＦクライアント６−２〜６−Ｎが対応するコンピュータ５−２〜５−Ｎ内の夫々の記憶部５２内に格納された影響範囲３１１内の境界情報を取得する。ステップＳＴ２８では、階層ＩＦクライアント６−２〜６−Ｎが取得した境界情報を階層ＩＦマネージャ１へ通知する。ステップＳＴ２９では、階層ＩＦマネージャ１が取得した境界情報を解析ツール２へ通知する。ステップＳＴ３０では、配線検証ツール２−１が実装ルール３へアクセスして境界情報を解析する。ステップＳＴ３１では、配線検証ツール２−１が解析結果を階層ＩＦマネージャ１へ通知する。【００５１】
ステップＳＴ３２では、階層ＩＦマネージャ１が解析結果中のエラー箇所、例えば図６に示す配線３１２と隣接配線３１４の間隔エラーＥＲＲを変更容易性計算ツール４へ通知する。ステップＳＴ３３では、変更容易性計算ツール４が各実装ブロック（各階層）Ａ〜Ｄについて、設計変更の容易性を計算し、計算結果を階層ＩＦマネージャ１へ通知する。ステップＳＴ３４では、階層ＩＦマネージャ１内の変更容易性判断部１１が各実装ブロックＡ〜Ｄの設計変更の容易性を判断し、容易性の高い階層の階層ＩＦクライアントにエラー情報を含む解析結果を通知する。このとき、配線や階層の優先順位が指定されている場合は、優先順位を考慮して設計変更の容易性を判断する。この例では、階層ＩＦマネージャ１はステップＳＴ３４において階層ＩＦクライアント６−１，６−２に解析結果を通知する。ステップＳＴ３５では、階層ＩＦマネージャ１から解析結果の通知を受けた各階層ＩＦクライアント６−１，６−２が対応する実装ブロックＡ，Ｂの処理部、即ち、コンピュータ５−１，５−２へ解析結果を通知し、コンピュータ５−１，５−２が図７に示す如き解析結果を含む実装ブロックＡ〜Ｄの情報を表示部５４に表示する。図７において、ＤＩＦＦ１は、配線３１２又は配線３１４と配線３１５が隣接しており設計変更が困難な箇所を示す。又、図７において、破線で囲んだ所定範囲ＥＭは、間隔エラーＥＲＲを抑制するために設計変更が容易な領域を示す。このように、設計変更が容易な所定範囲ＥＭは、間隔エラーと判断されて設計変更が必要な階層へ通知される。【００５２】
図９及び図１０は、配線が隣接階層の配線に与える影響を解析する処理をより詳細に説明するフローチャートである。【００５３】
図９において、ステップＳ３１〜Ｓ４５の処理は図４に示すステップＳ１〜Ｓ１５の処理と同様であるため、その説明は省略する。【００５４】
図１０において、ステップＳ４６では、階層ＩＦクライアント６−ｉが取得した境界情報を階層ＩＦマネージャ１へ通知する。ステップＳ４７では、階層ＩＦマネージャ１が階層ＩＦクライアント６−１から通知された境界情報を配線検証ツール２−１へ通知する。ステップＳ４８，Ｓ４９は、解析ツール２により実行される。ステップＳ４８では、配線検証ツール２−１が実装ルール３へアクセスして境界情報を解析する。ステップＳ４９では、配線検証ツール２−１が解析結果を階層ＩＦマネージャ１へ通知する。【００５５】
ステップＳ５０〜Ｓ５２は、階層ＩＦマネージャ１により実行される。ステップＳ５０では、階層ＩＦクライアント６−ｉが取得した境界情報に対する配線検証ツール２−１の解析結果を既に通知された解析結果と結合する。ステップＳ５１では、階層ＩＦクライアント６−１以外の全ての階層ＩＦクライアント６−２〜６−Ｎからの要求の処理が終了したか否かを判定し、判定結果がＮＯであると処理は図９に示すステップＳ３８へ戻り、処理を終了していない階層ＩＦクライアントの要求を上記と同様に処理する。一方、ステップＳ５１の判定結果がＹＥＳであると、ステップＳ５２では、収集した各階層（即ち、各実装ブロックＡ〜Ｄ）の境界情報の解析結果の結合結果を変更容易性計算ツール４へ通知する。変更容易性計算ツール４へ通知される結合結果には、解析結果中のエラー箇所、例えば図６に示す配線３１２と隣接配線３１４の間隔エラーＥＲＲが含まれる。【００５６】
ステップＳ５３，Ｓ５４は、変更容易性計算ツール４により実行される。ステップＳ５３では、各実装ブロック（各階層）Ａ〜Ｄについて、設計変更の容易性を計算する。ステップＳ５４では、ステップＳ５３の計算結果を階層ＩＦマネージャ１へ通知する。【００５７】
ステップＳ５５〜Ｓ６０は、階層ＩＦマネージャ１により実行される。ステップＳ５５では、変更容易性判断部１１が各実装ブロックＡ〜Ｄの設計変更の容易性が低い（即ち、所定値より低い）か否かを判定し、判定結果がＮＯであると処理はステップＳ５６へ進み、判定結果がＹＥＳであると処理はステップＳ６０へ進む。ステップＳ５６では、変更容易性判断部１１が各実装ブロックＡ〜Ｄの設計変更の容易性が高い（即ち、所定値より高い）か否かを判定し、判定結果がＮＯであると処理はステップＳ５７へ進み、判定結果がＹＥＳであると処理はステップＳ５９へ進む。ステップＳ５７では、階層ＩＦマネージャ１が各実装ブロックＡ〜Ｄの配線順位が低い（即ち、所定値より低い）か否かを判定し、判定結果がＮＯであると処理はステップＳ５８へ進み、判定結果がＹＥＳであると処理はステップＳ５９へ進む。ステップＳ５８では、階層ＩＦマネージャ１が各実装ブロックＡ〜Ｄの階層順位が低い（即ち、所定値より低い）か否かを判定し、判定結果がＮＯであると処理はステップＳ６０へ進み、判定結果がＹＥＳであると処理はステップＳ５９へ進む。ステップＳ５９では、容易性の高い階層の階層ＩＦクライアントにエラー情報を含む解析結果を通知し、処理はステップＳ６０及びステップＳ６１へ進む。この例では、階層ＩＦマネージャ１はステップＳ５９において階層ＩＦクライアント６−１，６−２に解析結果を通知する。ステップＳ６０では、変更容易性計算ツール４から通知された全ての階層（即ち、実装ブロックＡ〜Ｄ）の計算結果に対する設計変更の容易性の判断が終了したか否かを判定し、判定結果がＮＯであると処理はステップＳ５５へ戻り、判定結果がＹＥＳであると処理は終了する。【００５８】
一方、ステップＳ６１では、階層ＩＦマネージャ１から解析結果の通知を受けた各階層ＩＦクライアント６−１，６−２が対応する実装ブロックＡ，Ｂの処理部、即ち、コンピュータ５−１，５−２へ解析結果を通知する。又、ステップＳ６２では、コンピュータ５−１，５−２が図７に示す如き解析結果を含む実装ブロックＡ〜Ｄの情報を表示部５４に表示する。【００５９】
次に、階層（即ち、実装ブロック）を跨るパスを転送される信号のタイミングを解析する処理を、図１１乃至図１３と共に説明する。図１１及び図１２は、階層を跨るパスを転送される信号のタイミングを解析する処理を説明するための実装ブロックを示す図である。図１１及び図１２中、図２と同一部分には同一符号を付し、その説明は省略する。図１３は、階層を跨るパスを転送される信号のタイミングを解析する処理を説明するための図である。図１３中、図１と同一部分には同一符号を付し、その説明は省略する。【００６０】
図１１及び図１２では説明の便宜上、実装ブロックＡ内の３つのバッファ３２１〜３２３、実装ブロックＢ内の１つのバッファ３２４、及び実装ブロックＤ内の１つのバッファ３２５が配線により直列接続されている場合を示す。バッファ３２１の駆動能力の増加は不可であり、配線変更も不可である。バッファ３２２，３２４の駆動能力の増加は可能である。図１１の上部は、実装ブロックＡ内の端子３３１から実装ブロックＤ内の端子３３２までの信号遅延時間を含む解析結果を示す。図１２は、図１１の実装ブロックＡ〜Ｄに対する設計変更の容易性を判断した結果を示す。【００６１】
図１３において、ステップＳＴ４１では、階層ＩＦマネージャ１が階層ＩＦクライアント６−１〜６−Ｎに解析対象パスの実装ブロックＡ〜Ｄ内の情報、即ち、接続パス情報を要求する。ステップＳＴ４２では、階層ＩＦマネージャ１の要求を受け、階層ＩＦクライアント６−１〜６−Ｎは対応するコンピュータ５−１〜５−Ｎ内の記憶部５４に格納された接続パス情報を取得する。ステップＳＴ４３では、階層ＩＦクライアント６−１〜６−Ｎが取得した接続パス情報を階層ＩＦマネージャ１へ通知する。ステップＳＴ４４では、階層ＩＦマネージャ１が収集した接続パス情報を結合し、解析ツール２のタイミング解析ツール２−２に解析を依頼し、タイミング解析結果を受け取る。ステップＳＴ４５では、階層ＩＦマネージャ１がタイミング解析結果を変更容易性計算ツール４へ通知する。【００６２】
ステップＳＴ４６では、変更容易性計算ツール４が各階層について、設計変更の容易性を計算し、計算結果を階層ＩＦマネージャ１へ通知する。ステップＳＴ４７では、階層ＩＦマネージャ１が各階層の設計変更の容易性を判断し、容易性の高い階層の階層ＩＦクライアントにエラー情報を含むタイミング解析結果を通知する。このとき、配線や階層の優先順位が指定されている場合は、優先順位を考慮して設計変更の容易性を判断する。この例では、階層ＩＦマネージャ１はステップＳＴ４７において階層ＩＦクライアント６−１，６−２にタイミング解析結果を通知する。ステップＳＴ４８では、階層ＩＦマネージャ１からタイミング解析結果の通知を受けた各階層ＩＦクライアント６−１，６−２が対応する実装ブロックＡ，Ｂの処理部、即ち、コンピュータ５−１，５−２へタイミング解析結果を通知し、コンピュータ５−１，５−２が図１２に示す如きタイミング解析結果を含む実装ブロックＡ〜Ｄの情報を表示部５４に表示する。図１２において、破線ＤＩＦＦ２は、配線が隣接しており変更が困難な箇所を示す。図１２は、バッファ３２２の駆動能力を増加することで図１１において遅延時間が６ｎｓであった箇所の遅延時間を３ｎｓに短縮可能であり、実装ブロックＢ内のバッファ３２４の出力側にバッファ３２７を追加することで図１１において遅延時間が５ｎｓであった箇所の遅延時間を３ｎｓに短縮可能である例を示す。従って、この例では、端子３３１，３３２間の遅延時間は３０ｎｓから２５ｎｓに短縮可能である。【００６３】
図１４及び図１５は、階層を跨るパスを転送される信号のタイミングを解析する処理をより詳細に説明するフローチャートである。【００６４】
図１４において、ステップＳ７１では、階層ＩＦマネージャ１が階層ＩＦクライアント６−１〜６−Ｎに解析対象パスの実装ブロックＡ〜Ｄ内の情報、即ち、接続パス情報を要求する。ステップＳ７２では、階層ＩＦマネージャ１の要求を受け、階層ＩＦクライアント６−１〜６−Ｎは対応するコンピュータ５−１〜５−Ｎに接続パス情報を要求する。【００６５】
ステップＳ７３〜Ｓ７６は、実装ブロックＡ〜Ｄの処理部、即ち、コンピュータ５−１〜５−Ｎにより実行される。ステップＳ７３では、各コンピュータ５−１〜５−Ｎが対応する実装ブロックＡ〜Ｄ内のパスをトレースし、ステップＳ７４では、各コンピュータ５−１〜５−Ｎがトレースしたパスに関する情報をパス接続情報に追加して記憶部５４に格納する。ステップＳ７５では、各コンピュータ５−１〜５−Ｎが対応する実装ブロックＡ〜Ｄ内のパスのトレースを終了したか否かを判定し、判定結果がＮＯであると処理はステップＳ７３へ戻る。一方、ステップＳ７５の判定結果がＹＥＳであると、ステップＳ７６では、各コンピュータ５−１〜５−Ｎが対応する記憶部５４から読み出して取得した接続パス情報を対応する階層ＩＦクライアント６−１〜６−Ｎへ通知する。【００６６】
ステップＳ７７では、階層ＩＦクライアント６−１〜６−Ｎが取得した接続パス情報を階層ＩＦマネージャ１へ通知する。ステップＳ７８〜Ｓ８０は、階層ＩＦマネージャ１により実行される。ステップＳ７８では、階層ＩＦマネージャ１が収集した接続パス情報を結合する。ステップＳ７９では、階層ＩＦマネージャ１が階層の通過（即ち、実装ブロックの通過）があるか否かを判定し、判定結果がＹＥＳであると処理はステップＳ７１へ戻る。一方、ステップＳ７９の判定結果がＮＯであると、ステップＳ８０では、階層ＩＦマネージャ１が解析ツール２のタイミング解析ツール２−２に接続パス情報の結合結果を通知すると共に、タイミング解析を依頼する。【００６７】
ステップＳ８１，Ｓ８２は、解析ツール２により実行される。ステップＳ８１では、タイミング解析ツール２−２がタイミング解析の依頼に基づいて接続パス情報の結合結果のタイミング解析を行う。ステップＳ８２では、タイミング解析ツール２−２がタイミング解析結果を階層ＩＦマネージャ１へ通知する。ステップＳ８３では、階層ＩＦマネージャ１が通知されたタイミング解析結果を変更容易性計算ツール４へ通知する。ステップＳ８４，Ｓ８５は、変更容易性計算ツール４により実行される。ステップＳ８４では、変更容易性計算ツール４が各階層について設計変更の容易性を計算する。ステップＳ８５では、変更容易性計算ツール４が計算結果を階層ＩＦマネージャ１へ通知し、処理は図１５に示すステップＳ８６へ進む。【００６８】
図１５において、ステップＳ８６〜Ｓ９３は、図１０に示すステップＳ５５〜Ｓ６２と同様であるため、その説明は省略する。【００６９】
次に、配線ノイズを解析する処理を、図１６乃至図１８と共に説明する。図１６及び図１７は、配線ノイズを解析する処理を説明するための実装ブロックを示す図である。図１６及び図１７中、図２と同一部分には同一符号を付し、その説明は省略する。図１８は、配線ノイズを解析する処理を説明するための図である。図１８中、図１と同一部分には同一符号を付し、その説明は省略する。【００７０】
図１６及び図１７では説明の便宜上、配線３１２と隣接配線３１４との間に１：１エラー、又は、１：ｎエラーがある場合を示す。図１７は、図１６の実装ブロックＡ〜Ｄに対する設計変更の可能性の度合いを判断した結果を示す。【００７１】
図１８において、ステップＳＴ５１では、設計階層Ａから階層ＩＦクライアント６−１に配線情報のノイズ解析結果を要求する。ステップＳＴ５２では、階層ＩＦクライアント６−１が階層ＩＦマネージャ１にノイズ解析結果を要求する。ステップＳＴ５３では、階層ＩＦマネージャ１が解析ツール２のノイズ解析ツール２−３に配線に影響する影響範囲３１１を要求する。ステップＳＴ５４では、ノイズ解析ツール２−３が配線ルール３にアクセスし、配線に影響する影響範囲３１１を取得する。このとき、解析対象とする配線３１２を指定した場合には、指定された配線３１２のみに対する影響範囲３１１が取得される。【００７２】
ステップＳＴ５５では、ノイズ解析ツール２−３が取得した影響範囲３１１を階層ＩＦマネージャ１へ通知する。ステップＳＴ５６では、階層ＩＦマネージャ１が実装ブロックＡ以外の階層ＩＦクライアント６−２〜６−Ｎへ、影響範囲３１１内の境界情報を要求する。ステップＳＴ５７では、階層ＩＦマネージャ１の要求を受け、各階層ＩＦクライアント６−２〜６−Ｎが対応するコンピュータ５−２〜５−Ｎ内の夫々の記憶部５２内に格納された影響範囲３１１内の境界情報を取得する。ステップＳＴ５８では、階層ＩＦクライアント６−２〜６−Ｎが取得した影響範囲３１１内の境界情報を階層ＩＦマネージャ１へ通知する。ステップＳＴ５９では、階層ＩＦマネージャ１が取得した各階層の影響範囲３１１内の境界情報をノイズ解析ツール２−３へ通知する。【００７３】
ステップＳＴ６０では、ノイズ解析ツール２−３が実装ルール３へアクセスして影響範囲３１１内の境界情報を解析する。ステップＳＴ６１では、ノイズ解析ツール２−３が影響範囲３１１内の境界情報の解析結果を階層ＩＦマネージャ１へ通知する。ステップＳＴ６２では、階層ＩＦマネージャ１が解析結果中のエラー箇所を変更容易性計算ツール４へ通知する。ステップＳＴ６３では、変更容易性計算ツール４が各階層について設計変更の容易性を計算し、計算結果を階層ＩＦマネージャ１へ通知する。ステップＳＴ６４では、階層ＩＦマネージャ１が各階層の設計変更の容易性を変更容易性判断部１１において判断し、設計変更の容易性の高い階層の階層ＩＦクライアントにエラー情報を含む解析結果を通知する。このとき、配線や階層の優先順位が指定されている場合は、優先順位を考慮して設計変更の容易性を判断する。この例では、階層ＩＦマネージャ１はステップＳＴ６４において階層ＩＦクライアント６−１，６−２に解析結果を通知する。ステップＳＴ６５では、階層ＩＦマネージャ１から解析結果の通知を受けた各階層ＩＦクライアント６−１，６−２が対応する実装ブロックＡ，Ｂの処理部、即ち、コンピュータ５−１，５−２へ解析結果を通知し、コンピュータ５−１，５−２が図１７に示す如き解析結果を含む実装ブロックＡ〜Ｄの情報を表示部５４に表示する。図１７において、ＤＩＦＦ３は、配線３１２又は配線３１４が配線３１５と隣接しており設計変更が困難な箇所を示す。又、図１７において、破線で囲んだ所定範囲ＥＭ１は、１：１又は１：ｎエラーを抑制するために設計変更が容易な領域を示す。このように、設計変更が容易な所定範囲ＥＭ１は、エラーと判断されて設計変更が必要な階層へ通知される。【００７４】
図１９及び図２０は、配線ノイズを解析する処理をより詳細に説明するフローチャートである。【００７５】
図１９において、ステップＳ１０１〜Ｓ１１５は、ステップＳ１０３において階層ＩＦマネージャ１が要求する相手が解析ツール２のノイズ解析ツール２−３であり、且つ、ステップＳ１０４〜Ｓ１０７がノイズ解析ツール２−３により実行されることを除けば、図９に示すステップＳ３１〜Ｓ４５と同様であるため、その説明は省略する。【００７６】
図２０において、ステップＳ１１６〜Ｓ１３２は、ステップＳ１１７において階層ＩＦマネージャ１が要求する相手がノイズ解析ツール２０３であり、且つ、ステップＳ１１８，Ｓ１１９がノイズ解析ツール２−３により実行されることを除けば、図１０に示すステップＳ４６〜Ｓ６２と同様であるため、その説明は省略する。【００７７】
次に、消費電力解析エラーの処理を、図２１乃至図２３と共に説明する。図２１及び図２２は、消費電力解析エラーの処理を説明するための実装ブロックを示す図である。図２１及び図２２中、図２と同一部分には同一符号を付し、その説明は省略する。図２３は、消費電力解析エラーの処理を説明するための図である。図２３中、図１と同一部分には同一符号を付し、その説明は省略する。【００７８】
図２１及び図２２では説明の便宜上、実装ブロックＡ内の５つのバッファのうち３つのバッファ３４１〜３４３がクリティカルパスに接続されており、実装ブロックＢ内の３つのバッファのうち１つのバッファ３４４がクリティカルパスを形成しており、実装ブロックＣ内の２つのバッファはクリティカルパスに接続されておらず、実装ブロックＤ内の３つのバッファのうち１つのバッファ３４５がクリティカルパスに接続されている場合を示す。クリティカルパスは、実装ブロックＡ内の端子３５１から実装ブロックＤ内の端子３５２までのバッファ３４１〜３４５が直列接続されたパスに含まれる。尚、実装ブロックＣ内のバッファ３４６は駆動能力の減少が不可であるバッファ、実装ブロックＡ内のバッファ３４７はスレッショルド電圧を上げるマクロへの変更（即ち、マクロ変更）が不可であるバッファを示す。図２１及び図２２では、消費電力エラーが発生した所定範囲を破線ＥＭ２で囲んだ梨地の領域で示す。図２２は、図２１の実装ブロックＡ〜Ｄに対する設計変更の容易性を判断した結果を示す。【００７９】
図２３において、ステップＳＴ７１では、階層ＩＦマネージャ１が階層ＩＦクライアント６−１〜６−Ｎに実装ブロックＡ〜Ｄ内の実装情報を要求する。ステップＳＴ７２では、階層ＩＦマネージャ１の要求を受け、階層ＩＦクライアント６−１〜６−Ｎが対応するコンピュータ５−１〜５−Ｎ内の記憶部５２に格納された実装情報を取得する。ステップＳＴ７３では、階層ＩＦクライアント６−１〜６−Ｎが取得した実装情報を階層ＩＦマネージャ１へ通知する。ステップＳＴ７４では、階層ＩＦマネージャ１が取得した実装情報を結合して解析ツール２の消費電力解析ツール２−４に結合結果の消費電力解析を依頼し、消費電力解析ツール２−４から消費電力解析結果を受け取る。【００８０】
ステップＳＴ７５では、階層ＩＦマネージャ１が消費電力解析結果を変更容易性計算ツール４へ通知する。ステップＳＴ７６では、変更容易性計算ツール４が各階層について設計変更の容易性を計算し、計算結果を階層ＩＦマネージャ１へ通知する。ステップＳＴ７７では、階層ＩＦマネージャ１が各階層の設計変更の容易性を変更容易性判断部１１において判断し、容易性の高い階層の階層ＩＦクライアントにエラー情報を含む消費電力解析結果を通知する。このとき、配線や階層の優先順位が指定されている場合は、優先順位を考慮して設計変更の容易性を判断する。この例では、階層ＩＦマネージャ１はステップＳＴ７７において階層ＩＦクライアント６−１〜６−４に消費電力解析結果を通知する。ステップＳＴ７８では、階層ＩＦマネージャ１から消費電力解析結果の通知を受けた各階層ＩＦクライアント６−１〜６−４が対応する実装ブロックＡ〜Ｄの処理部、即ち、コンピュータ５−１〜５−４へ消費電力解析結果を通知し、コンピュータ５−１〜５−４が図２２に示す如き解析結果を含む実装ブロックＡ〜Ｄの情報を表示部５４に表示する。図２２において、ＤＩＦＦ４は、マクロ変更が不可、又は、タイミング変更が不可の箇所を破線で示す。マクロ変更とは、特定機能を有する回路部分（即ち、マクロ）を変更することを言い、タイミング変更とは信号のタイミングの変更を言う。この例では、端子３５１，３５２間の梨地で示す所定範囲ＥＭ２における消費電力は６５Ｗから６０Ｗに低減可能である。このように、設計変更が容易な所定範囲ＥＭ２は、消費電力エラーと判断されて設計変更が必要な階層へ通知される。【００８１】
図２４及び図２５は、消費電力解析エラーの処理をより詳細に説明するフローチャートである。【００８２】
図２４において、ステップＳ１４１では、階層ＩＦマネージャ１が階層ＩＦクライアント６−１〜６−Ｎに実装ブロックＡ〜Ｄ内の実装情報を要求する。ステップＳ１４２では、階層ＩＦマネージャ１の要求を受け、階層ＩＦクライアント６−１〜６−Ｎが対応するコンピュータ５−１〜５−Ｎに実装情報を要求する。ステップＳ１４３，Ｓ１４４は、各コンピュータ５−１〜５−Ｎにより実行される。ステップＳ１４３では、各コンピュータ５−１〜５−Ｎがその記憶部５２に格納された実装情報を読み出して取得する。ステップＳ１４４では、各コンピュータ５−１〜５−Ｎが取得した実装情報を対応する階層ＩＦクライアント６−１〜６−Ｎへ通知する。ステップＳ１４５では、階層ＩＦクライアント６−１〜６−Ｎが取得した実装情報を階層ＩＦマネージャ１へ通知する。【００８３】
ステップＳ１４６〜Ｓ１４８は、階層ＩＦマネージャ１により実行される。ステップＳ１４６では、階層ＩＦマネージャ１が取得した実装情報を結合して結合結果を得る。ステップＳ１４７では、全ての階層ＩＦクライアント６−１〜６−Ｎからの実装情報の処理が終了したか否かを判定し、判定結果がＮＯであると処理はステップＳ１４１へ戻る。ステップＳ１４７の判定結果がＹＥＳであると、ステップＳ１４８では、実装情報の結合結果を消費電力解析ツール２−４へ通知する。【００８４】
ステップＳ１４９，Ｓ１５０は、消費電力解析ツール２−４により実行される。ステップＳ１４９では、実装情報の結合結果の消費電力解析を行う。ステップＳ１５０では、消費電力解析結果を階層ＩＦマネージャ１へ通知する。ステップＳ１５１では、階層ＩＦマネージャ１が消費電力解析結果を変更容易性計算ツール４へ通知する。ステップＳ１５２，Ｓ１５３は、変更容易性計算ツール４により実行される。ステップＳ１５２では、各階層について設計変更の容易性を計算する。又、ステップＳ１５３では、設計変更の容易性の計算結果を階層ＩＦマネージャ１へ通知し、処理は図２５に示すステップＳ１５４へ進む。【００８５】
図２５において、ステップＳ１５４〜Ｓ１６０は、ステップＳ１５８において階層ＩＦマネージャ１が階層ＩＦクライアント６−１〜６−４に消費電力解析結果を通知することを除けば、図１０に示すステップＳ５５〜Ｓ６２と同様であるため、その説明は省略する。【００８６】
尚、解析ツール２のツール２−１〜２−４のうち、任意の２以上のツールの組み合わせを用いた解析を行っても良いことは言うまでもない。【００８７】
上記各実施例では、設計対象の回路を形成する実装ブロックＡ〜Ｄは、平面図上（即ち、回路を形成する基板表面と平行な面上）、互いに異なる面積を専有しているが、２以上の実装ブロックが同じ占有面積を有しても、各実装ブロックが同じ占有面積を有しても良い。【００８８】
以上、開示の回路設計方法、回路設計システム及びプログラムを実施例により説明したが、本発明は上記実施例に限定されるものではなく、本発明の範囲内で種々の変形及び改良が可能であることは言うまでもない。
【符号の説明】
【００８９】
１      階層ＩＦマネージャ
２      解析ツール
３      実装ルール
４      変更容易性計算ツール
５−１〜５−Ｎ      コンピュータ
６−１〜６−Ｎ      階層ＩＦクライアント
５１      ＣＰＵ
５２      記憶部
【図１】
0005562359.tif 000002
【図２】
0005562359.tif 000003
【図３】
0005562359.tif 000004
【図４】
0005562359.tif 000005
【図５】
0005562359.tif 000006
【図６】
0005562359.tif 000007
【図７】
0005562359.tif 000008
【図８】
0005562359.tif 000009
【図９】
0005562359.tif 000010
【図１０】
0005562359.tif 000011
【図１１】
0005562359.tif 000012
【図１２】
0005562359.tif 000013
【図１３】
0005562359.tif 000014
【図１４】
0005562359.tif 000015
【図１５】
0005562359.tif 000016
【図１６】
0005562359.tif 000017
【図１７】
0005562359.tif 000018
【図１８】
0005562359.tif 000019
【図１９】
0005562359.tif 000020
【図２０】
0005562359.tif 000021
【図２１】
0005562359.tif 000022
【図２２】
0005562359.tif 000023
【図２３】
0005562359.tif 000024
【図２４】
0005562359.tif 000025
【図２５】
0005562359.tif 000026