(57)【要約】【課題】自動レイアウト処理で必要な予想値を設計者が容易に指定できるようにするための技術を提供する。【解決手段】自動レイアウト処理部５４は、記憶部５５に格納されたレイアウトデータベース５６を参照して自動レイアウト処理を行う。その記憶部５５には他に、クロストーク遅延値の見積もり用のＸｔａｌｋテーブル５７、クロック遅延値、及びクロックスキュー値の見積もり用のＣｌｏｃｋテーブル５８が格納されている。自動見積部５３は、それらのテーブル５７、５８を用いて、クロストーク遅延値、クロック遅延値、及び黒くスキュー値を自動的に見積もり、自動レイアウト処理部５４に提供する。【選択図】図５
2007249492.tif 000002
【特許請求の範囲】
【請求項１】
論理設計された電子回路を構成するセルの配置、及び該セル間を接続する配線を決定する自動レイアウト処理用に指定すべき予想値を自動的に見積もるための方法であって、
前記予想値が複数、定義されたテーブルを予め用意し、
前記自動レイアウト処理用のデータを取得させて、前記テーブルに定義された予想値を参照するための参照値を１つ以上、用意させ、
該用意させた参照値から特定される予想値を前記テーブルから抽出させて見積もりを自動的に行わせる、
ことを特徴とする自動見積方法。
【請求項２】
前記予想値がクロストーク遅延値であった場合、前記テーブルとして、前記セル間を接続する配線に生じるクロストークノイズが影響する度合いを示す複数の指標の組み合わせ別に前記予想値を定義したテーブルを用意する、
ことを特徴とする請求項１記載の自動見積方法。
【請求項３】
前記複数の指標のうちの何れかとして、前記配線の長さ、該配線に流れる信号を生成するセルの駆動力、及び該配線が存在するエリアで配線が行われた度合いを示す混雑度、を１つ以上採用している、
ことを特徴とする請求項２記載の自動見積方法。
【請求項４】
前記予想値がクロックスキュー値であった場合、前記テーブルとして、クロックを生成・出力するセルから該クロックが到達する最後のセルまでのクロックルート上に存在する最大のセル数、該クロックルート上に存在する全セル数、及び該全セルが存在するエリアの面積のうちの１つ以上を指標とするテーブルを用意する、
ことを特徴とする請求項１記載の自動見積方法。
【請求項５】
前記自動レイアウト処理の実行によって前記予想値に対応する確定値が得られている場合、前記テーブルとして、該確定値、及び該確定値から求められる値のうちの何れかを予想値として定義したテーブルを新たに用意する、
ことを特徴とする請求項１記載の自動見積方法。
【請求項６】
論理設計された電子回路を構成するセルの配置、及び該セル間を接続する配線を決定する自動レイアウト処理用に指定すべき予想値を自動的に見積もるための方法であって、
前記自動レイアウト処理用のデータを取得し、
該取得したデータから、前記予想値の見積もりに用いる値を複数、用意し、
該用意した複数の値を用いて前記予想値の見積もりを自動的に行わせる、
ことを特徴とする自動見積方法。
【請求項７】
論理設計された電子回路を構成するセルの配置、及び該セル間を接続する配線を決定する自動レイアウト処理用に指定すべき予想値を自動的に見積もる装置であって、
前記予想値が定義された複数、定義されたテーブルを取得するテーブル取得手段と、
前記自動レイアウト処理用のデータを取得するデータ取得手段と、
前記データ取得手段が取得したデータから、前記テーブルに定義された予想値を参照するための参照値を１つ以上、用意し、該用意した参照値から特定される予想値を該テーブルから抽出して自動的に見積もりを行う見積手段と、
を具備することを特徴とする自動見積装置。
【請求項８】
前記テーブル取得手段は、前記自動レイアウト処理の実行によって前記予想値に対応する確定値が得られている場合、前記テーブルとして、該確定値、及び該確定値から求められる値の何れかを予想値として定義したテーブルを新たに用意できる、
ことを特徴とする請求項７記載の自動見積装置。
【請求項９】
論理設計された電子回路を構成するセルの配置、及び該セル間を接続する配線を決定する自動レイアウト処理用に指定すべき予想値を自動的に見積もる自動見積装置として用いることが可能なコンピュータに実行させるプログラムであって、
前記予想値が定義された複数、定義されたテーブルを取得するテーブル取得機能と、
前記自動レイアウト処理用のデータを取得するデータ取得機能と、
前記データ取得機能により取得したデータから、前記テーブルに定義された予想値を参照するための参照値を１つ以上、用意し、該用意した参照値から特定される予想値を該テーブルから抽出して自動的に見積もりを行う見積機能と、
を実現させるためのプログラム。
【請求項１０】
前記テーブル取得機能は、前記自動レイアウト処理の実行によって前記予想値に対応する確定値が得られている場合、前記テーブルとして、該確定値、及び該確定値から求めた値を予想値として定義したテーブルを新たに用意できる、
ことを特徴とする請求項９記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、論理設計された電子回路を構成するセルの配置、及びセル間を接続する配線を決定する自動レイアウト処理用に指定すべき予想値を自動的に見積もるための技術に関する。
【背景技術】
【０００２】
現在では、電子回路の設計はＣＡＤを用いて行われるのが普通である。ＣＡＤでは、電子回路の機能的、或いは論理的な単位となる素子、或いは部品は基本素子（セル）としてライブラリに登録させている。このことから、論理設計は、基本的に、ライブラリに登録されたセルのなかで必要なセルを選択し、その選択したセル同士を接続させることで行われる。セル同士の接続は、それらがそれぞれ持つピンとピンを結ぶことで行われる。
【０００３】
論理設計の結果はネットリスト（論理回路データ）に変換される。そのネットリストはライブラリに登録されたセルの相互接続として記述されている。そのネットリストを利用して、自動レイアウト処理が行われ、その処理後の完了後、検証が行われる。
【０００４】
図１は、自動レイアウト処理の流れを説明する図である。
自動レイアウト処理は、図１に示すように、セルの配置の決定（ステップＳ１）、電子回路の遅延を見積もり，その遅延が回路の正常動作に必要な範囲内となるようにするタイミング最適化（ステップＳ２）、クロックツリー生成（ＣＴＳ）（ステップＳ３）、その後のタイミング最適化（ステップＳ４）、配線の配置（ステップＳ５）、その後のタイミング最適化（ステップＳ６）、がそれぞれ設計フェーズとしてその順序で行われる。ステップＳ２、Ｓ４、或いはＳ６でタイミング最適化を行った結果、改善すべき箇所が見つかった場合には、その前の設計フェーズに戻り、そのフェーズでの設計が再度、行われる。それにより、検証（Ｓｉｇｎ−ｏｆｆ）は、自動レイアウト処理で動作確認を行った後の電子回路を対象に行われる。図中に表記の「ｐｒｅＣＴＳ」「ｐｏｓｔＣＴＳ」及び「ｐｏｓｔＲｏｕｔｅ」はそれぞれ、ＣＴＳ前に行われる設計フェーズ、ＣＴＳ後に行われる設計フェーズ、及び配線配置後の設計フェーズを表している。
【０００５】
ステップＳ２のタイミング最適化は、ＣＴＳ前に行われる設計フェーズ（ｐｒｅＣＴＳ）である。ＣＴＳが行われていないために、その設計フェーズでは、図２に示すように、クロックの生成源となるセル（クロックルート）２１と、そのクロックが最終的に到達するセル（シンクセル）２２との間の経路が何れも不明となっている。このため、クロックの遅延、及びクロックが到達する時間のずれであるクロックスキューも不明となっている。
【０００６】
現在では、配線の微細化によるクロストーク（Ｘｔａｌｋ）ノイズが増大し、そのノイズが信号の遅延に影響を与えるようになっている。ステップＳ４のタイミング最適化では、配線を実施する前であるために、隣接する配線間に生じるカップリング容量の計算ができない。図３に示すように、配線実施後では、配線経路が決定しているため、セル３１、３２を接続する配線と、セル３５、３６を接続する配線との間に存在するカップリング容量、セル３２、３３を接続する配線と、セル３７、３８を接続する配線との間に存在するカップリング容量、はそれぞれ計算することができる。しかし、配線実施前では、それらのカップリング容量は何れも計算することはできない。
【０００７】
上述したようなことから、自動レイアウト処理を行うアプリケーション・ソフトウェアである自動レイアウトツールでは、図４に示すように、ｐｒｅＣＴＳ用にクロックスキュー、及びＸｔａｌｋ遅延（Ｄｅｌａｙ）の各予想値、ｐｏｓｔＣＴＳ用にＸｔａｌｋ遅延の予想値、をそれぞれ設計者がマニュアルで指定（設定）するようになっていた。それらの予想値（タイミングマージン）は、実際の値に近いものとすることが望まれる。なぜなら、実際の値より厳しい値であれば、必要以上に設計をより困難なものとし、実際の値より甘い値であれば、その前の設計を再度、行うイタレーションが起こりやすくなるからである。
【０００８】
そのような自動レイアウト処理で必要な予想値を指定するためには、高いスキルを持った設計者でも煩雑な作業を行わなければならないのが実情である。このことから、妥当と言える予想値を設計者が容易に指定できるようにすることが重要であると考えられる。
【特許文献１】特開２００１−２６７４２９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
本発明は、自動レイアウト処理で必要な予想値を設計者が容易に指定できるようにするための技術を提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明の第１、及び第２の態様の自動見積方法は共に、論理設計された電子回路を構成するセルの配置、及び該セル間を接続する配線を決定する自動レイアウト処理用に指定すべき予想値を自動的に見積もるための方法であって、それぞれ以下のように予想値の自動的な見積もりを行う。
【００１１】
第１の態様の自動見積方法では、予想値が複数、定義されたテーブルを予め用意し、自動レイアウト処理用のデータを取得させて、テーブルに定義された予想値を参照するための参照値を１つ以上、用意させ、該用意させた参照値から特定される予想値をテーブルから抽出させて見積もりを自動的に行わせる。
【００１２】
なお、上記予想値がクロストーク遅延値であった場合、テーブルとして、セル間を接続する配線に生じるクロストークノイズが影響する度合いを示す複数の指標の組み合わせ別に予想値を定義したテーブルを用意する、ことが望ましい。複数の指標のうちの何れかとしては、配線の長さ、該配線に流れる信号を生成するセルの駆動力、及び該配線が存在するエリアで配線が行われた度合いを示す混雑度、を１つ以上採用している、ことが望ましい。
【００１３】
また、予想値がクロックスキュー値であった場合、テーブルとして、クロックを生成・出力するセルから該クロックが到達する最後のセルまでのクロックルート上に存在する最大のセル数、該クロックルート上に存在する全セル数、及び該全セルが存在するエリアの面積のうちの１つ以上を指標とするテーブルを用意する、ことが望ましい。更には、自動レイアウト処理の実行によって予想値に対応する確定値が得られている場合、テーブルとして、該確定値、及び該確定値から求められる値のうちの何れかを予想値として定義したテーブルを新たに用意する、ことが望ましい。
【００１４】
第２の態様の自動見積方法は、自動レイアウト処理用のデータを取得し、該取得したデータから、予想値の見積もりに用いる値を複数、用意し、該用意した複数の値を用いて予想値の見積もりを自動的に行わせる。
【００１５】
本発明の自動見積装置は、論理設計された電子回路を構成するセルの配置、及び該セル間を接続する配線を決定する自動レイアウト処理用に指定すべき予想値を自動的に見積もることを前提とし、予想値が定義された複数、定義されたテーブルを取得するテーブル取得手段と、自動レイアウト処理用のデータを取得するデータ取得手段と、データ取得手段が取得したデータから、テーブルに定義された予想値を参照するための参照値を１つ以上、用意し、該用意した参照値から特定される予想値を該テーブルから抽出して自動的に見積もりを行う見積手段と、を具備する。
【００１６】
なお、上記テーブル取得手段は、自動レイアウト処理の実行によって予想値に対応する確定値が得られている場合、テーブルとして、該確定値、及び該確定値から求められる値の何れかを予想値として定義したテーブルを新たに用意できる、ことが望ましい。
【００１７】
本発明のプログラムは、論理設計された電子回路を構成するセルの配置、及び該セル間を接続する配線を決定する自動レイアウト処理用に指定すべき予想値を自動的に見積もる自動見積装置として用いることが可能なコンピュータに実行させることを前提とし、予想値が定義された複数、定義されたテーブルを取得するテーブル取得機能と、自動レイアウト処理用のデータを取得するデータ取得機能と、データ取得機能により取得したデータから、テーブルに定義された予想値を参照するための参照値を１つ以上、用意し、該用意した参照値から特定される予想値を該テーブルから抽出して自動的に見積もりを行う見積機能と、を実現させる。
【００１８】
なお、上記テーブル取得機能は、自動レイアウト処理の実行によって予想値に対応する確定値が得られている場合、テーブルとして、該確定値、及び該確定値から求めた値を予想値として定義したテーブルを新たに用意できる、ことが望ましい。
【発明の効果】
【００１９】
本発明では、自動レイアウト処理用のデータを取得し、取得したデータから、自動レイアウト処理用に指定すべき予想値の見積もりに用いる値を複数、用意し、用意した複数の値を用いて予想値の見積もりを自動的に行わせる。その見積もりは、例えば予想値が複数、定義されたテーブルを予め用意し、用意した複数の値から特定される予想値をテーブルから抽出することで行わせる。そのように予想値を自動的に見積もるため、設計者はその予想値を容易、且つ迅速に指定できるようになる。
【００２０】
過去に行った設計フェーズの設計（処理）を再度、行うイタレーションは何度か発生するのが普通である。そのイタレーションによって大規模の変更が行われることは比較的に少ない。このようなことから、自動レイアウト処理の実行によって予想値に対応する確定値が得られている場合、そのテーブルとして、その確定値、及びその確定値から求められる値のうちの何れかを予想値として定義したテーブルを新たに用意して用いることにより、より適切な予想値を見積もることができるようになる。
【発明を実施するための最良の形態】
【００２１】
以下、本発明の実施の形態について、図面を参照しながら詳細に説明する。
図５は、本実施の形態による自動見積装置を搭載した自動レイアウト処理装置の構成を説明する図である。
【００２２】
そのレイアウト処理装置は、図５に示すように、ユーザである設計者がデータ入力を行うための入力処理部５１と、表示装置に表示させるべき情報を表示させるための表示制御部５２と、自動レイアウト処理の実行に必要な予測値を自動的に見積もる自動見積部５３と、その自動レイアウト処理を実行する自動レイアウト処理部５４と、各種データを記憶可能な記憶部５５と、を備えた構成となっている。
【００２３】
記憶部５５には、レイアウトデータベース（ＤＢ）５６、Ｘｔａｌｋ遅延見積もり用のＸｔａｌｋテーブル５７、クロック遅延とクロックスキュー見積もり用のＣｌｏｃｋテーブル５８、及びクロック遅延とクロックスキューの２度目以降の見積もりに用いるテーブル５９、が格納されている。レイアウトＤＢ５６は、一般的な自動レイアウトツールで用いられるものであり、セルの配置を示す配置情報、セル間の接続関係を示す接続情報、セルの駆動力（抵抗値）を示す駆動力情報などが格納されている。格納された内容は、自動レイアウト処理部５４の処理の実行によって随時、更新される。その自動レイアウト処理部５４は、設計者の入力処理部５１を介した指示に従って、図１に示す自動レイアウト処理を実行するものである。
【００２４】
その自動レイアウト処理の実行には、図４に示すように、ｐｒｅＣＴＳではクロックスキュー、及びＸｔａｌｋ遅延（Ｄｅｌａｙ）の各予想値、ｐｏｓｔＣＴＳではＸｔａｌｋ遅延の予想値、がそれぞれ必要である。自動見積部５３は、それらの予想値を自動的に見積もり、自動レイアウト処理部５４に提供する。上記Ｘｔａｌｋテーブル５７、Ｃｌｏｃｋテーブル５８、及びテーブル５９は、それら予想値の見積もりに用いられる。
【００２５】
図６は、上記自動レイアウト処理装置として用いることが可能なコンピュータのハードウェア構成を説明する図である。図５についての詳細な説明の前に、自動レイアウト処理装置として用いることが可能なコンピュータの構成について具体的に説明する。
【００２６】
図６に示すコンピュータは、ＣＰＵ６１、メモリ６２、入力装置６３、出力装置６４、外部記憶装置６５、媒体駆動装置６６、及びネットワーク接続装置６７を有し、これらがバス６８によって互いに接続された構成となっている。同図に示す構成は一例であり、これに限定されるものではない。
【００２７】
ＣＰＵ６１は、当該コンピュータ全体を制御するものである。メモリ６２は、プログラム実行、データ更新等の際に、外部記憶装置６５（あるいは可搬型の記録媒体ＭＤ）に記憶されているプログラムあるいはデータを一時的に格納するＲＡＭ等のメモリである。ＣＰＵ６１は、プログラムをメモリ６２に読み出して実行することにより、全体の制御を行う。
【００２８】
入力装置６３は、例えば、キーボード、マウス等の外部入力装置と接続可能なものか、或いはそれらを有するものである。そのような外部入力装置に対するユーザの操作を検出し、その検出結果をＣＰＵ６１に通知する。
【００２９】
出力装置６４は、例えばディスプレイと接続可能なものか、或いはそれを有するものである。ＣＰＵ６１の制御によって送られてくるデータをディスプレイ上に出力させる。
ネットワーク接続装置６７は、例えばＬＡＮ、或いはインターネット等の通信ネットワークを介して、他の装置と通信を行うためのものである。外部記憶装置６５は、例えばハードディスク装置である。主に各種データやプログラムの保存に用いられる。
【００３０】
媒体駆動装置６６は、光ディスクや光磁気ディスク等の可搬型の記録媒体ＭＤにアクセスするものである。
図５に示す自動レイアウト処理装置は、ＣＰＵ６１が、例えば外部記憶装置６５に格納されたプログラムをメモリ６２に読み出して実行することで実現される。そのプログラムは、ネットワーク接続装置６７が通信ネットワークを介して取得したもの、或いは媒体駆動装置６６が記録媒体ＭＤから読み出したものであっても良い。
【００３１】
図１１は、Ｘｔａｌｋテーブルの構成を説明する図である。次に図１１を参照して、上記自動見積部５３によるＸｔａｌｋ遅延値の見積もり方法について具体的に説明する。
Ｘｔａｌｋ遅延はＸｔａｌｋノイズによって生じる。そのノイズの大きさはカップリング容量に依存する。その容量は、配線間の距離が近い程、近い部分が長い程、大きくなる。配線全体の長さが長くなる程、セル間を接続する配線（ネット配線）が近くなりやすい。Ｘｔａｌｋノイズが影響する度合いは、そのノイズが重畳する信号によって変化する。信号分に対してノイズ分が大きくなる程、影響の度合いは大きくなる。このようなことから本実施の形態では、図１１に示すように、Ｘｔａｌｋテーブル５７として、エリアの混雑度、セル駆動力、及びネット配線長の組み合わせ別にＸｔａｌｋ遅延値を定義した３次元テーブルを採用している。その図１１では、混雑度で分けた複数の２次元テーブルの集合として表現している。
【００３２】
エリアの混雑度は、電子回路を構成させる基板全体を複数のエリアに分け、エリア毎に、配線可能な部分であるトラックリソースのなかで配線が配置された度合いを表す指標である。図１３（ａ）に点線で示すようにトラックリソースが存在している場合、図１３（ｂ）〜（ｄ）に実線で示すように配線が存在していれば混雑度はそれぞれ１００、５０、及び２５と評価される。このことから、エリアの混雑度は、ネット配線間の距離、つまりカップリング容量の大きさを表す指標として採用している。ネット配線長はネット配線別にカップリング容量の大きさを表す指標として採用している。セル駆動力は、クロックソース（以下「駆動セル」）の駆動力である。それはＸｔａｌｋノイズが影響する度合いを示す指標として採用している。
【００３３】
Ｘｔａｌｋテーブル５７ではそれらの指標の組み合わせ毎にＸｔａｌｋ遅延値を定義している。それにより、その定義した遅延値は何れも、高いスキルを持った設計者がその遅延値を予測するうえで考慮すべき内容を考慮して見積もったものとなっている。このため、設計者はスキルの高さに係わらず、妥当なＸｔａｌｋ遅延値を常に迅速に指定することができる。そのＸｔａｌｋ遅延値の見積もりは、第１の見積部５３ａが自動的に行う。
【００３４】
設計する電子回路に合ったＸｔａｌｋテーブル５７を事前に用意しておくことはできない。しかし、一度、ｐｏｓｔＲｏｕｔｅ（図１のステップＳ６）まで設計が進めば、設計する電子回路に合ったＸｔａｌｋテーブル５７を生成することが可能となる。イタレーションは何度も行うのが普通である。このことから、本実施の形態では、ｐｏｓｔＲｏｕｔｅまで設計を進めた段階でＸｔａｌｋテーブル５７を生成し、次の見積もりにはそれを用いるようにしている。それにより、より精度の高い予測値を指定できるようにさせている。その生成は第１の生成部５３ｃが行う。そのようなＸｔａｌｋテーブル５７の生成を行うことから、予め用意したＸｔａｌｋテーブルには５７ａ、新たに生成するＸｔａｌｋテーブルには５７ｂを付してそれらを区別することとする。レイアウトＤＢ５６についても、更新前のものには５６ａ、更新後のものには５６ｂを付してそれらを区別することとする。
【００３５】
図１２は、Ｘｔａｌｋテーブル５７ｂの生成方法を説明する図である。
ｐｏｓｔＲｏｕｔｅまで設計を進めた段階では、ネット配線毎に、実際の配線長（実配線長）、混雑度、及びＸｔａｌｋ遅延値が全て確定している。実配線長、及びＸｔａｌｋ遅延値はレイアウトＤＢ５６に格納されている。このことから、３つの指標の組み合わせ別にＸｔａｌｋ遅延値をまとめ、まとめたＸｔａｌｋ遅延値を統計的に処理して代表させるＸｔａｌｋ遅延値を定義することでＸｔａｌｋテーブル５７ｂの生成を行うようにしている。統計的な処理として採用する遅延値は、平均値としているが、最悪となる遅延値を採用しても良い。３つの指標の組み合わせが存在しないＸｔａｌｋ遅延値は補間によって求めることから、Ｘｔａｌｋテーブル５７ｂに定義した遅延値が不規則に変化しないようにしても良い。
【００３６】
なお、本実施の形態では３つの指標によりＸｔａｌｋ遅延値を見積もる形を採用しているが、その見積もりに用いる指標はその３つに限定されるものではない。様々な変形が可能である。指標は３つより多くしても少なくしても良い。指標としては、例えばセル駆動力の代わりに、ネット配線に接続されたセルが出力するクロックの状態を評価した指標を採用しても良い。
【００３７】
図１４は、Ｃｌｏｃｋテーブル５８の構成を説明する図である。
クロックソース（駆動セル）から出力されたクロックがそれ以上、伝搬させないセル（フリップフロップ（ＦＦ）等のシンクセル）に到達するまでに要するクロック遅延値は、そのシンクセルに到達するまでに経由するセル数（ゲーティング段数）、つまりそのクロックルート上に存在するセル数によって変化するのが普通である。図２に示すように、クロックは分岐（及び合流）を繰り返してシンクセルに到達するようになっているのが普通である。単位面積当たりに存在するセルの数が多くなる程、配線は複雑な形状としなければならなくなって実配線長は長く、遅延値は大きくなる傾向にある。クロックスキュー値は、遅延値が大きくなる程、大きくなる傾向にある。このようなことから本実施の形態では、図１４に示すように、Ｃｌｏｃｋテーブル５８として、クロックルート上の最大ゲーティング段数、セル（リーフ）数、及び全てのセルが存在するエリアの面積の組み合わせ別にクロック遅延値、及びクロックスキュー値を定義した３次元テーブルを採用している。「／」の前に表記した数値はクロック遅延値、その後に表記した数値はクロックスキュー値をそれぞれ示している。その図１４では、図１１と同様に、最大ゲーティング数で分けた複数の２次元テーブルの集合として表現している。セル数をリーフ数と表記しているのは、クロックツリーではセルはリーフで表されるからである。
【００３８】
Ｃｌｏｃｋテーブル５８ではそれらの指標の組み合わせ毎にクロック遅延値、及びクロックスキュー値を定義することによって、高いスキルを持った設計者がそれらの値を予測するうえで考慮すべき内容を考慮して見積もったものとなっている。このため、設計者はスキルの高さに係わらず、それらの妥当な予測値を常に迅速に指定することができる。それらの予測値の見積もりは、第２の見積部５３ｂが自動的に行う。
【００３９】
図４に示すように、ｐｏｓｔＣＴＳ（図１のステップＳ４）まで設計が進めば、クロックルート毎にクロック遅延値、及びクロックスキュー値は確定する。それらの値は、同じデザインであれば次もさほど変わらない。イタレーションは何度も行うのが普通である。このことから、本実施の形態では、ｐｏｓｔＣＴＳまで設計を進めた段階で、クロックルート毎にクロック遅延値、及びクロックスキュー値の各確定値を格納したテーブル５９（図１０）を生成して、次の見積もりにはそれを用いるようにしている。それにより、より精度の高い予測値を指定できるようにさせている。その生成は第２の生成部５３ｄが行う。
【００４０】
次に、図７〜図１０に示す各フローチャートを参照して、上記自動見積部５３の動作について詳細に説明する。ここでは説明上、便宜的に、対象とするテーブルで分けて動作を説明する。それらのフローチャートは何れも、図６に示すＣＰＵ６１が外部記憶装置６５に格納されたプログラムをメモリ６２に読み出して実行することで実現される。
【００４１】
図７は、Ｘｔａｌｋ遅延値見積もり処理のフローチャートである。その見積もり処理は、Ｘｔａｌｋテーブル５７ａ、或いは５７ｂを用いてＸｔａｌｋ遅延値の見積もりを行う場合に実行する処理の流れを抜粋して示したものである。１回目の見積もりではＸｔａｌｋテーブル５７ａ、２回目以降の見積もりではＸｔａｌｋテーブル５７ｂが用いられる。始めに図７を参照して、その見積もり処理について詳細に説明する。その見積もり処理は、図１に示すステップＳ１の設計フェーズが終了した後に自動的に、或いは設計者の指示によって行われる。
【００４２】
先ず、ステップＳ２１では、レイアウトされたセルの配置を示す配置情報を取得する。次のステップＳ２２では、Ｘｔａｌｋ遅延値（設計マージン）の設定対象とするネット配線を選択する。その選択後はステップＳ２３に移行する。セルの配置情報、及びネット配線の選択はレイアウトＤＢ５６を参照して行われる。
【００４３】
ステップＳ２３では、レイアウトＤＢ５６から対象ネット配線の仮想配線長を抽出する。続くステップＳ２４では、ＤＢ５６を参照して、対象ネット配線の駆動セルを検出し、その次のステップＳ２５では、その駆動セルの駆動力を検出する。その後に移行するステップＳ２６では、ＤＢ５６を参照して、対象ネット配線が存在するエリアの混雑度を検出（算出）する。ステップＳ２７には、そのようにして３つの指標の各値を検出した後に移行する。
【００４４】
ステップＳ２７では、検出した３つの指標の各値を用いてＸｔａｌｋテーブル５７ａ（或いは５７ｂ）を参照してＸｔａｌｋ遅延値を計算し、計算した遅延値を対象ネット配線に割り当てる。その割り当て後に移行するステップＳ２８では、設定対象となるネット配線全てにＸｔａｌｋ遅延値の割り当てが完了したか否か判定する。Ｘｔａｌｋ遅延値を割り当てるべきネット配線が残っている場合、判定はＮＯとなってステップＳ２２に戻り、残ったネット配線のなかから設定対象の選択を行う。そうでない場合には、つまり割り当てが完了した場合には、判定はＹＥＳとなり、ここで一連の処理を終了する。それにより、自動レイアウト処理部５４は図１に示すステップＳ２の設計フェーズを行える状態に移行することとなる。
【００４５】
図８は、Ｘｔａｌｋテーブル生成処理のフローチャートである。次にその生成処理について詳細に説明する。その生成処理は、図１に示すステップＳ６の設計フェーズが終了した後に自動的に、或いは設計者の指示によって行われる。このことから、参照するのはレイアウトＤＢ５６ｂとなっている。
【００４６】
先ず、ステップＳ３１では、Ｘｔａｌｋ遅延値が確定したネット配線のうちの一つを対象として選択する。続くステップＳ３２では、レイアウトＤＢ５６ｂを参照して、選択した対象ネット配線の実配線長を検出する。それ以降は、ＤＢ５６ｂを参照して、対象ネット配線の駆動セル、その駆動力、混雑度、及びＸｔａｌｋ遅延値を順次、検出する（ステップＳ３３〜Ｓ３６）。それらの検出が終わった後はステップＳ３７に移行する。
【００４７】
ステップＳ３７では、検出した３つの指標の各値で特定されるテーブル欄に、検出したＸｔａｌｋ遅延値を割り当てる。続くステップＳ３８では、その割り当てが全てのネット配線を対象に完了しているか否か判定する。その割り当てを行うべきネット配線が残っている場合、判定はＮＯとなってステップＳ３１に戻り、残ったネット配線のなかから対象の選択を行う。そうでない場合には、つまり割り当てが完了した場合には、判定はＹＥＳとなってステップＳ３９に移行し、テーブル欄毎に統計処理を行って得られたＸｔａｌｋ遅延値（図１２）を格納したＸｔａｌｋテーブル５７ｂを生成した後、一連の処理を終了する。
【００４８】
図９は、クロック遅延値、及びクロックスキュー値の第１の見積もり処理のフローチャートである。その見積もり処理は、Ｃｌｏｃｋテーブル５８を用いてそれらの予想値の見積もりを行う場合に実行する処理の流れを抜粋して示したものである。次に図９を参照して、その見積もり処理について詳細に説明する。その見積もり処理は、図１に示すステップＳ１の設計フェーズが終了した後に自動的に、或いは設計者の指示によって行われる。
【００４９】
先ず、ステップＳ４１では、レイアウトされたセルの配置を示す配置情報を取得する。次のステップＳ４２では、クロック遅延値、及びクロックスキュー値を割り当てるクロックルートを選択する。その選択後はステップＳ４３に移行する。セルの配置情報、及びクロックルートの選択はレイアウトＤＢ５６を参照して行われる。ここでのクロックルートの選択は、駆動セルを選択することに相当する。
【００５０】
ステップＳ４３では、レイアウトＤＢ５６からクロックルートのセル（Ｌｅａｆ）数を検出する。続くステップＳ４４では、ＤＢ５６を参照して、全セルが存在するエリアの面積を検出する。その次のステップＳ４５では、そのクロックルートでの最大ゲーティング段数を検出する。ステップＳ４６には、そのようにして３つの指標の各値を検出した後に移行する。
【００５１】
ステップＳ４６では、検出した３つの指標の各値を用いてＣｌｏｃｋテーブル５８を参照して、クロック遅延値、及びクロックスキュー値を算出し、それら算出した値をクロックルートに割り当てる。その割り当て後に移行するステップＳ４７では、設定対象となるクロックルート全てにクロック遅延値、及びクロックスキュー値の割り当てが完了したか否か判定する。それらの予想値を割り当てるべきクロックルートが残っている場合、判定はＮＯとなってステップＳ４２に戻り、残ったクロックルートのなかから設定対象の選択を行う。そうでない場合には、つまり割り当てが完了した場合には、判定はＹＥＳとなり、ここで一連の処理を終了する。それにより、自動レイアウト処理部５４は図１に示すステップＳ２の設計フェーズを行える状態に移行することとなる。
【００５２】
図１０は、クロック遅延値、及びクロックスキュー値の第２の見積もり処理のフローチャートである。その見積もり処理は、２回目以降のそれらの予想値の見積もりを行う場合に実行する処理の流れを抜粋して示したものである。最後に図１０を参照して、その見積もり処理について詳細に説明する。その見積もり処理は、図１に示すステップＳ１の設計フェーズが終了した後に自動的に、或いは設計者の指示によって行われる。
【００５３】
先ず、ステップＳ５１では、レイアウトされたセルの配置を示す配置情報を取得する。次のステップＳ５２では、レイアウトＤＢ５６ｂからクロック遅延値、及びクロックスキュー値の抽出の対象とするクロックルートを選択し、それらを抽出する。その次のステップＳ５３では、抽出したクロック遅延値、及びクロックスキュー値をクロックルートと対応付けてテーブル５９に格納する。その格納後はステップＳ５４に移行して、全クロックルートのクロック遅延値、及びクロックスキュー値を検出しているか否か判定する。それらを検出すべきクロックルートが残っていた場合、判定はＮＯとなってステップＳ５２に戻り、残ったクロックルートのなかから対象の選択を行う。そうでない場合には、つまりテーブル５９の生成が完了した場合には、判定はＹＥＳとなってステップＳ５５に移行する。
【００５４】
ステップＳ５５では、レイアウトＤＢ５６ａを参照して、クロック遅延値、及びクロックスキュー値を割り当てる対象とするクロックルートを選択する。続くステップＳ５６では、テーブル５９から、選択したクロックルートのクロック遅延値、及びクロックスキュー値を抽出（算出）し、それらを割り当てる。その割り当て後はステップＳ５７に移行して、設定対象となるクロックルート全てにクロック遅延値、及びクロックスキュー値を割り当てて（アサインして）いるか否か判定する。それらの予想値を割り当てるべきクロックルートが残っている場合、判定はＮＯとなってステップＳ５５に戻り、残ったクロックルートのなかから設定対象の選択を行う。そうでない場合には、つまり割り当てが完了した場合には、判定はＹＥＳとなり、ここで一連の処理を終了する。それにより、自動レイアウト処理部５４は図１に示すステップＳ２の設計フェーズを行える状態に再度、移行することとなる。
【００５５】
なお、本実施の形態では、自動的にＸｔａｌｋ遅延値の割り当て、及びクロック遅延値、及びクロックスキュー値の割り当てを行い、その後の自動レイアウト処理を行える状態に移行させているが、必ずしもそうしなくとも良い。それら自動的に割り当てた予想値を設計者が任意に変更できるようにしても良い。その変更は、例えば割り当てた予想値を表示制御部５２によって表示装置に表示させ、入力処理部５１を介した設計者の指示に応じて行うようにすれば良い。そのような変更が可能な確認を行うか否かを設計者が任意に選択できるようにさせても良い。
【００５６】
（付記１）
論理設計された電子回路を構成するセルの配置、及び該セル間を接続する配線を決定する自動レイアウト処理用に指定すべき予想値を自動的に見積もるための方法であって、
前記予想値が複数、定義されたテーブルを予め用意し、
前記自動レイアウト処理用のデータを取得させて、前記テーブルに定義された予想値を参照するための参照値を１つ以上、用意させ、
該用意させた参照値から特定される予想値を前記テーブルから抽出させて見積もりを自動的に行わせる、
ことを特徴とする自動見積方法。
【００５７】
（付記２）
前記予想値がクロストーク遅延値であった場合、前記テーブルとして、前記セル間を接続する配線に生じるクロストークノイズが影響する度合いを示す複数の指標の組み合わせ別に前記予想値を定義したテーブルを用意する、
ことを特徴とする付記１記載の自動見積方法。
【００５８】
（付記３）
前記複数の指標のうちの何れかとして、前記配線の長さ、該配線に流れる信号を生成するセルの駆動力、及び該配線が存在するエリアで配線が行われた度合いを示す混雑度、を１つ以上採用している、
ことを特徴とする付記２記載の自動見積方法。
【００５９】
（付記４）
前記予想値がクロックスキュー値であった場合、前記テーブルとして、クロックを生成・出力するセルから該クロックが到達する最後のセルまでのクロックルート上に存在する最大のセル数、該クロックルート上に存在する全セル数、及び該全セルが存在するエリアの面積のうちの１つ以上を指標とするテーブルを用意する、
ことを特徴とする付記１記載の自動見積方法。
【００６０】
（付記５）
前記自動レイアウト処理の実行によって前記予想値に対応する確定値が得られている場合、前記テーブルとして、該確定値、及び該確定値から求められる値のうちの何れかを予想値として定義したテーブルを新たに用意する、
ことを特徴とする付記１記載の自動見積方法。
【００６１】
（付記６）
論理設計された電子回路を構成するセルの配置、及び該セル間を接続する配線を決定する自動レイアウト処理用に指定すべき予想値を自動的に見積もるための方法であって、
前記自動レイアウト処理用のデータを取得し、
該取得したデータから、前記予想値の見積もりに用いる値を複数、用意し、
該用意した複数の値を用いて前記予想値の見積もりを自動的に行わせる、
ことを特徴とする自動見積方法。
【００６２】
（付記７）
論理設計された電子回路を構成するセルの配置、及び該セル間を接続する配線を決定する自動レイアウト処理用に指定すべき予想値を自動的に見積もる装置であって、
前記予想値が定義された複数、定義されたテーブルを取得するテーブル取得手段と、
前記自動レイアウト処理用のデータを取得するデータ取得手段と、
前記データ取得手段が取得したデータから、前記テーブルに定義された予想値を参照するための参照値を１つ以上、用意し、該用意した参照値から特定される予想値を該テーブルから抽出して自動的に見積もりを行う見積手段と、
を具備することを特徴とする自動見積装置。
【００６３】
（付記８）
前記テーブル取得手段は、前記予想値がクロストーク遅延値であった場合、前記テーブルとして、前記セル間を接続する配線に生じるクロストークノイズが影響する度合いを示す複数の指標の組み合わせ別に該予想値を定義したテーブルを用意する、
ことを特徴とする付記７記載の自動見積装置。
【００６４】
（付記９）
前記複数の指標のうちの何れかとして、前記配線の長さ、該配線に流れる信号を生成するセルの駆動力、及び該配線が存在するエリアで配線が行われた度合いを示す混雑度、が１つ以上採用されている、
ことを特徴とする付記８記載の自動見積装置。
【００６５】
（付記１０）
前記テーブル取得手段は、前記予想値がクロックスキュー値であった場合、前記テーブルとして、クロックを生成・出力するセルから該クロックが到達する最後のセルまでのクロックルート上に存在する最大のセル数、該クロックルート上に存在する全セル数、及び該全セルが存在するエリアの面積のうちの１つ以上を指標として採用したテーブルを用意する、
ことを特徴とする付記７記載の自動見積装置。
【００６６】
（付記１１）
前記テーブル取得手段は、前記自動レイアウト処理の実行によって前記予想値に対応する確定値が得られている場合、前記テーブルとして、該確定値、及び該確定値から求められる値の何れかを予想値として定義したテーブルを新たに用意できる、
ことを特徴とする付記７記載の自動見積装置。
【００６７】
（付記１２）
論理設計された電子回路を構成するセルの配置、及び該セル間を接続する配線を決定する自動レイアウト処理用に指定すべき予想値を自動的に見積もる自動見積装置として用いることが可能なコンピュータに実行させるプログラムであって、
前記予想値が定義された複数、定義されたテーブルを取得するテーブル取得機能と、
前記自動レイアウト処理用のデータを取得するデータ取得機能と、
前記データ取得機能により取得したデータから、前記テーブルに定義された予想値を参照するための参照値を１つ以上、用意し、該用意した参照値から特定される予想値を該テーブルから抽出して自動的に見積もりを行う見積機能と、
を実現させるためのプログラム。
【００６８】
（付記１３）
前記テーブル取得機能は、前記自動レイアウト処理の実行によって前記予想値に対応する確定値が得られている場合、前記テーブルとして、該確定値、及び該確定値から求めた値を予想値として定義したテーブルを新たに用意できる、
ことを特徴とする付記１２記載のプログラム。
【図面の簡単な説明】
【００６９】
【図１】自動レイアウト処理の流れを説明する図である。
【図２】見積もりを行う対象を説明する図である（その１）。
【図３】見積もりを行う対象を説明する図である（その２）。
【図４】設計フェーズによって見積もりの指定が必要な予想値を説明する図である。
【図５】本実施の形態による自動見積装置を搭載した自動レイアウト処理装置の構成を説明する図である。
【図６】本実施の形態による自動見積装置を搭載した自動レイアウト処理装置として用いることが可能なコンピュータのハードウェア構成を説明する図である。
【図７】Ｘｔａｌｋ遅延値見積もり処理のフローチャートである。
【図８】Ｘｔａｌｋテーブル生成処理のフローチャートである。
【図９】クロック遅延値、及びクロックスキュー値の第１の見積もり処理のフローチャートである。
【図１０】クロック遅延値、及びクロックスキュー値の第２の見積もり処理のフローチャートである。
【図１１】Ｘｔａｌｋテーブルの構成を説明する図である。
【図１２】Ｘｔａｌｋテーブルの生成方法を説明する図である。
【図１３】混雑度を説明する図である。
【図１４】Ｃｌｏｃｋテーブルの構成を説明する図である。
【符号の説明】
【００７０】
５１    入力処理部
５２    表示制御部
５３    自動見積部
５３ａ    第１の見積部
５３ｂ    第２の見積部
５３ｃ    第１の生成部
５３ｄ    第２の生成部
５４    自動レイアウト処理部
５５    記憶部
５６    レイアウトデータベース
５７    Ｘｔａｌｋテーブル
５８    Ｃｌｏｃｋテーブル
５９    テーブル
【図１】
2007249492.tif 000003
【図２】
2007249492.tif 000004
【図３】
2007249492.tif 000005
【図５】
2007249492.tif 000006
【図６】
2007249492.tif 000007
【図７】
2007249492.tif 000008
【図８】
2007249492.tif 000009
【図９】
2007249492.tif 000010
【図１０】
2007249492.tif 000011
【図４】
2007249492.tif 000012
【図１１】
2007249492.tif 000013
【図１２】
2007249492.tif 000014
【図１３】
2007249492.tif 000015
【図１４】
2007249492.tif 000016