(57)【要約】【課題】クロストークエラーの検出を簡単かつ効率的におこなってＴＡＴまたは作業工数を短縮化することにより、レイアウト設計の作業効率の向上を図ること。【解決手段】レイアウト設計装置７００は、任意のネットリストを入力するネットリスト入力部７０４と、入力されたネットリストから得られるセルをＬＳＩチップ上に配置する配置部７０６と、配置されたセルの集合の中から検査対象となる任意のネットを抽出するネット抽出部７０７と、回路モデル２００の回路シミュレーションをおこなった結果発生したクロストークによって生じる遅延時間に基づいて作成された相関テーブル５００に基づいて、抽出されたネット内のセルの内部抵抗値ＲＤと相関関係のある配線長情報Ｌを抽出する配線長情報抽出部７０８と、抽出された配線長情報Ｌに基づいて、クロストーク遅延時間を抑制する遅延時間抑制セルをネットに挿入する挿入部７１１と、を備える。【選択図】        図７
2006004056.tif 000002
【特許請求の範囲】
【請求項１】
任意のネットリストの入力を受け付けるネットリスト入力手段と、
前記ネットリスト入力手段によって入力されたネットリストから得られるセルをＬＳＩチップ上に配置する配置手段と、
前記配置手段によって配置されたセルの集合の中から、検査対象となる任意のネットを抽出するネット抽出手段と、
所定の回路モデルの回路シミュレーションをおこなった結果発生したクロストークによって生じる遅延時間に基づいて作成された、前記回路モデルに含まれている各セルの駆動能力に関する情報と、当該セルどうしを接続する配線の配線長情報との相関関係を示す相関情報を記憶する記憶手段と、
前記記憶手段に記憶された相関情報に基づいて、前記ネット抽出手段によって抽出されたネット内のセルの駆動能力に関する情報と相関関係のある配線長情報を抽出する配線長情報抽出手段と、
前記配線長情報抽出手段によって抽出された配線長情報に基づいて、前記遅延時間を抑制する遅延時間抑制セルを前記ネットに挿入する挿入手段と、
を備えることを特徴とするレイアウト設計装置。
【請求項２】
前記配線長情報抽出手段によって抽出された配線長情報に基づいて、前記ネット抽出手段によって抽出されたネットがクロストークを発生するかどうかを判定する判定手段を備え、
前記挿入手段は、
前記判定手段によって判定された判定結果に基づいて、前記遅延時間抑制セルを前記ネットに挿入することを特徴とする請求項１に記載のレイアウト設計装置。
【請求項３】
前記ネット内のドライバセルとレシーバセルとの間に配線される配線の配線長情報を算出する配線長情報算出手段を備え、
前記判定手段は、
前記配線長情報抽出手段によって抽出された配線長情報と、前記配線長情報算出手段によって算出された配線長情報とに基づいて、前記ネット抽出手段によって抽出されたネットがクロストークを発生するかどうかを判定することを特徴とする請求項２に記載のレイアウト設計装置。
【請求項４】
任意のネットリストを入力するネットリスト入力工程と、
前記ネットリスト入力工程によって入力されたネットリストから得られるセルをＬＳＩチップ上に配置する配置工程と、
前記配置工程によって配置されたセルの集合の中から、検査対象となる任意のネットを抽出するネット抽出工程と、
所定の回路モデルの回路シミュレーションをおこなった結果発生したクロストークによって生じる遅延時間に基づいて作成された、前記回路モデルに含まれている各セルの駆動能力に関する情報と、当該セルどうしを接続する配線の配線長情報との相関関係を示す相関情報に基づいて、前記ネット抽出工程によって抽出されたネット内のセルの駆動能力に関する情報と相関関係のある前記配線長情報を抽出する配線長情報抽出工程と、
前記配線長情報抽出工程によって抽出された配線長情報に基づいて、前記遅延時間を抑制する遅延時間抑制セルを前記ネットに挿入する挿入工程と、
を含んだことを特徴とするレイアウト設計方法。
【請求項５】
前記配線長情報抽出工程によって抽出された配線長情報に基づいて、前記ネット抽出工程によって抽出されたネットがクロストークを発生するかどうかを判定する判定工程を含み、
前記挿入工程は、
前記判定工程によって判定された判定結果に基づいて、前記遅延時間抑制セルを前記ネットに挿入することを特徴とする請求項４に記載のレイアウト設計方法。
【請求項６】
前記ネット内のドライバセルとレシーバセルとの間に配線される配線の配線長情報を算出する配線長情報算出工程を含み、
前記判定工程は、
前記配線長情報抽出工程によって抽出された配線長情報と、前記配線長情報算出工程によって算出された配線長情報とに基づいて、前記ネット抽出工程によって抽出されたネットがクロストークを発生するかどうかを判定することを特徴とする請求項５に記載のレイアウト設計方法。
【請求項７】
任意のネットリストを入力させるネットリスト入力工程と、
前記ネットリスト入力工程によって入力されたネットリストから得られるセルをＬＳＩチップ上に配置させる配置工程と、
前記配置工程によって配置されたセルの集合の中から、検査対象となる任意のネットを抽出させるネット抽出工程と、
所定の回路モデルの回路シミュレーションをおこなった結果発生したクロストークによって生じる遅延時間に基づいて作成された、前記回路モデルに含まれている各セルの駆動能力に関する情報と、当該セルどうしを接続する配線の配線長情報との相関関係を示す相関情報に基づいて、前記ネット抽出工程によって抽出されたネット内のセルの駆動能力に関する情報と相関関係のある前記配線長情報を抽出させる配線長情報抽出工程と、
前記配線長情報抽出工程によって抽出された配線長情報に基づいて、前記遅延時間を抑制する遅延時間抑制セルを前記ネットに挿入させる挿入工程と、
をコンピュータに実行させることを特徴とするレイアウト設計プログラム。
【請求項８】
前記配線長情報抽出工程によって抽出された配線長情報に基づいて、前記ネット抽出工程によって抽出されたネットがクロストークを発生するかどうかを判定させる判定工程を含み、
前記挿入工程は、
前記判定工程によって判定された判定結果に基づいて、前記遅延時間抑制セルを前記ネットに挿入させることを特徴とする請求項７に記載のレイアウト設計プログラム。
【請求項９】
前記ネット内のドライバセルとレシーバセルとの間に配線される配線の配線長情報を算出させる配線長情報算出工程を含み、
前記判定工程は、
前記配線長情報抽出工程によって抽出された配線長情報と、前記配線長情報算出工程によって算出された配線長情報とに基づいて、前記ネット抽出工程によって抽出されたネットがクロストークを発生するかどうかを判定させることを特徴とする請求項８に記載のレイアウト設計プログラム。
【請求項１０】
請求項７〜９のいずれか一つに記載のレイアウト設計プログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、クロストークによって発生する遅延時間を抑制してＬＳＩチップのレイアウト設計をおこなうレイアウト設計装置、レイアウト設計方法、レイアウト設計プログラム、および記録媒体に関する。
【背景技術】
【０００２】
ＬＳＩ設計では、従来から設計期間の短縮による作業効率化が要求されており、特に、大規模化、高機能化、高速化および低消費電力化が要求されているＬＳＩについては、高品質を維持するためにもこの設計作業の効率化は重要である。
【０００３】
このため、ＬＳＩチップのレイアウト設計においては、配置配線終了後に隣接配線しているネットのクロストーク量を計算して解析をおこない、クロストークエラーがあるネットに対しバッファを挿入することにより、クロストークエラーの修正をおこなっていた（従来技術１）。
【０００４】
また、上記従来技術１において、バッファ挿入によってクロストークエラーの修正をおこなうかわりに、平行配線となった個所を再配線することにより、クロストークエラーの修正をおこなっていた（従来技術２）。
【０００５】
また、クロストークエラーを起こしそうな配線長の長いネットを発生しないように、あらかじめ人手で配置配線を適宜工夫し、論理設計時に過剰に中継バッファを挿入しておいて、クロストークの影響を受けにくいような配線長にするようにしていた（従来技術３）。
【０００６】
また、下記特許文献１のように、自動配置後にセル配置データを取得し、セル間自動配線前に同一ノードのセル端子間にマンハッタン長経路の仮配線を接続してできる並行配線の長さが所定値以上であるクロストークエラーを検出し、クロストークエラーが検出された仮配線に接続されている所定値以内の間隔に接近したセルの移動をおこなったり、バッファを挿入して、該当するクロストークエラーの修正をおこなったりしていた（従来技術４）。
【０００７】
【特許文献１】特開２００３−２８１２１２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、上述した従来技術１では、自動配置配線後に、クロストークエラーを検出し、該当個所のクロストークエラー改善のためにバッファ挿入をしている。したがって、バッファを挿入する個所において、当該バッファを配置するためのスペースがない場合、最初から配置配線をやり直す必要があり、ＴＡＴ（Ｔｕｒｎ  Ａｒｏｕｎｄ  Ｔｉｍｅ）が増大するという問題点があった。
【０００９】
また、上述した従来技術２においては、自動配置配線後に、クロストークエラーを検出し、該当箇所のクロストークエラー改善のために再配線をおこなっている。したがって、該当箇所の周辺がすでに配線混雑している場合、他の配線済み経路とショートしてしまうため、配線をはじめからやり直さないといけなくなり、ＴＡＴが増大するという問題点があった。
【００１０】
さらに、上述した従来技術３においては、クロストークエラーを起こさないようにあらかじめ人手で配置配線設計を工夫することが要求され、そのための多大な作業工数が必要になるという問題点があった。また、論理設計段階からあらかじめフロアプランを意識する必要があり、その設計制約が足かせとなって設計の混雑さが増大し、所要工数が増大するという問題点があった。
【００１１】
また、上述した従来技術４においては、自動配置後に、クロストークエラー箇所を発見して、クロストークエラーを改善している。したがって、配線が混雑している場合や配置スペースがない場合、バッファの挿入や配置されたセルの再移動をおこなうことができないため、結局、セルの配置をはじめからやり直す必要があり、ＴＡＴが増大するという問題点があった。
【００１２】
また、バッファの挿入やセルの移動により、該当箇所のクロストークエラーを改善することができたとしても、バッファの挿入やセルの移動によって相互接続されている他のネットにおいて、遅延時間が悪化したり、レイアウト収容性が悪化したりするという問題点があった。
【００１３】
このため、遅延時間やレイアウト収容性が悪化したかどうかのチェック処理をおこなったり、悪化した場合に自動配置をやり直したりする必要が生じ、ＴＡＴが増大するという問題点があった。このように、ＴＡＴの増大や作業工数の増大によって、レイアウト設計期間が増大し、作業効率が低下するという問題点があった。
【００１４】
この発明は、上述した従来技術による問題点を解消するため、クロストークエラーの検出を簡単かつ効率的におこなってＴＡＴまたは作業工数を短縮化することにより、レイアウト設計の作業効率の向上を図ることができるレイアウト設計装置、レイアウト設計方法、レイアウト設計プログラム、および記録媒体を提供することを目的とする。
【課題を解決するための手段】
【００１５】
上述した課題を解決し、目的を達成するため、この発明にかかるレイアウト設計装置、レイアウト設計方法、レイアウト設計プログラム、および記録媒体は、任意のネットリストを入力し、入力されたネットリストから得られるセルをＬＳＩチップ上に配置し、配置されたセルの集合の中から、検査対象となる任意のネットを抽出し、所定の回路モデルの回路シミュレーションをおこなった結果発生したクロストークによって生じる遅延時間に基づいて作成された、前記回路モデルに含まれている各セルの駆動能力に関する情報と、当該セルどうしを接続する配線の配線長情報との相関関係を示す相関情報に基づいて、抽出されたネット内のセルの駆動能力に関する情報と相関関係のある配線長情報を抽出し、抽出された配線長情報に基づいて、前記遅延時間を抑制する遅延時間抑制セルを前記ネットに挿入することを特徴とする。
【００１６】
この発明によれば、回路モデルを用いることにより、クロストークが発生するターゲットネットに遅延時間抑制セルを挿入して、クロストークの発生を未然に防止することができる。
【００１７】
また、上記発明において、抽出された配線長情報に基づいて、抽出されたネットがクロストークを発生するかどうかを判定し、この判定結果に基づいて、前記遅延時間抑制セルを前記ネットに挿入することとしてもよい。
【００１８】
この発明によれば、検査対象となる任意のネット（ターゲットネット）ごとに、クロストークが発生するかどうかの判定結果を得るため、平行配線となる箇所の特定のための検索処理や、その箇所に対するクロストーク遅延時間の計算をおこなう必要がなく、自動配置処理の効率化を図ることができる。
【００１９】
特に、上記発明において、前記ネット内のドライバセルとレシーバセルとの間に配線される配線の配線長情報を算出し、抽出された配線長情報と、算出された配線長情報とに基づいて、抽出されたネットがクロストークを発生するかどうかを判定することとしてもよい。
【００２０】
この発明によれば、検査対象となる任意のネット（ターゲットネット）ごとに、クロストークが発生するかどうかの判定を、配線長情報の比較によっておこなうことができ、自動配置処理の効率化を、より高速に実現することができる。
【発明の効果】
【００２１】
本発明にかかるレイアウト設計装置、レイアウト設計方法、レイアウト設計プログラム、および記録媒体によれば、クロストークエラーの検出を簡単かつ効率的におこなってＴＡＴまたは作業工数の短縮化を図ることができるという効果を奏する。またこれにより、レイアウト設計の作業効率の向上を図ることができるという効果を奏する。
【発明を実施するための最良の形態】
【００２２】
以下に添付図面を参照して、この発明にかかるレイアウト設計装置、レイアウト設計方法、レイアウト設計プログラム、および記録媒体の好適な実施の形態を詳細に説明する。なお、下記の実施の形態にかかるレイアウト設計装置およびレイアウト設計方法は、たとえば、この実施の形態にかかるレイアウト設計プログラムが記録された記録媒体を備えるＣＡＤによって実現することができる。
【００２３】
（実施の形態）
（レイアウト設計装置のハードウェア構成）
まず、この発明の実施の形態にかかるレイアウト設計装置のハードウェア構成について説明する。図１は、この発明の実施の形態にかかるレイアウト設計装置のハードウェア構成を示すブロック図である。
【００２４】
図１において、レイアウト設計装置は、ＣＰＵ１０１と、ＲＯＭ１０２と、ＲＡＭ１０３と、ＨＤＤ（ハードディスクドライブ）１０４と、ＨＤ（ハードディスク）１０５と、ＦＤＤ（フレキシブルディスクドライブ）１０６と、着脱可能な記録媒体の一例としてのＦＤ（フレキシブルディスク）１０７と、ディスプレイ１０８と、Ｉ／Ｆ（インターフェース）１０９と、キーボード１１０と、マウス１１１と、スキャナ１１２と、プリンタ１１３と、を備えている。また、各構成部はバス１００によってそれぞれ接続されている。
【００２５】
ここで、ＣＰＵ１０１は、レイアウト設計装置の全体の制御を司る。ＲＯＭ１０２は、ブートプログラムなどのプログラムを記憶している。ＲＡＭ１０３は、ＣＰＵ１０１のワークエリアとして使用される。ＨＤＤ１０４は、ＣＰＵ１０１の制御にしたがってＨＤ１０５に対するデータのリード／ライトを制御する。ＨＤ１０５は、ＨＤＤ１０４の制御で書き込まれたデータを記憶する。
【００２６】
ＦＤＤ１０６は、ＣＰＵ１０１の制御にしたがってＦＤ１０７に対するデータのリード／ライトを制御する。ＦＤ１０７は、ＦＤＤ１０６の制御で書き込まれたデータを記憶したり、ＦＤ１０７に記憶されたデータをレイアウト設計装置に読み取らせたりする。
【００２７】
また、着脱可能な記録媒体として、ＦＤ１０７のほか、ＣＤ−ＲＯＭ（ＣＤ−Ｒ、ＣＤ−ＲＷ）、ＭＯ、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）、メモリーカードなどであってもよい。ディスプレイ１０８は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。このディスプレイ１０８は、たとえば、ＣＲＴ、ＴＦＴ液晶ディスプレイ、プラズマディスプレイなどを採用することができる。
【００２８】
Ｉ／Ｆ１０９は、通信回線を通じてインターネットなどのネットワーク１１４に接続され、このネットワーク１１４を介して他の装置に接続される。そして、Ｉ／Ｆ１０９は、ネットワーク１１４と内部のインターフェースを司り、外部装置からのデータの入出力を制御する。Ｉ／Ｆ１０９には、たとえばモデムやＬＡＮアダプタなどを採用することができる。
【００２９】
キーボード１１０は、文字、数字、各種指示などの入力のためのキーを備え、データの入力をおこなう。また、タッチパネル式の入力パッドやテンキーなどであってもよい。マウス１１１は、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などをおこなう。ポインティングデバイスとして同様に機能を備えるものであれば、トラックボールやジョイスティックなどであってもよい。
【００３０】
スキャナ１１２は、画像を光学的に読み取り、レイアウト設計装置内に画像データを取り込む。なお、スキャナ１１２は、ＯＣＲ機能を持たせてもよい。また、プリンタ１１３は、画像データや文書データを印刷する。プリンタ１１３には、たとえば、レーザプリンタやインクジェットプリンタを採用することができる。
【００３１】
（相関情報の内容）
つぎに、この発明の実施の形態にかかるレイアウト設計装置に用いられる相関情報の内容について説明する。図２は、クロストークが発生する回路モデルを示すブロック図である。図２において、回路モデル２００は、アグレッサネット２０１とビクティムネット２１１とを有している。ここで、アグレッサネット２０１とは、クロストークを発生するネットであり、ビクティムネット２１１とは、発生したクロストークによって影響を受けるネットである。
【００３２】
アグレッサネット２０１は、ドライバセル２０２とレシーバセル２０３と負荷容量２０４とが直列接続されて構成されている。ドライバセル２０２には一例としてインバータが採用されており、レシーバセル２０３に伝送信号を出力する。レシーバセル２０３も一例としてインバータが採用されており、ドライバセル２０２からの伝送信号を入力する。負荷容量２０４は接地されている。ドライバセル２０２とレシーバセル２０３との間には、伝送信号が伝送される所定配線長のアグレッサライン２０５が配線されており、ドライバセル２０２の出力端子とレシーバセル２０３の入力端子とを接続する。
【００３３】
また、ビクティムネット２１１も、アグレッサネット２０１と同様、ドライバセル２１２とレシーバセル２１３と負荷容量２１４とが直列接続されて構成されている。ドライバセル２１２には一例としてインバータが採用されており、レシーバセル２１３に伝送信号を出力する。レシーバセル２１３も一例としてインバータが採用されており、ドライバセル２１２からの伝送信号を入力する。負荷容量２１４は接地されている。ドライバセル２１２とレシーバセル２１３との間には、伝送信号が伝送される所定配線長のビクティムライン２１５が配線されており、ドライバセル２１２の出力端子とレシーバセル２１３の入力端子とを接続する。なお、ビクティムライン２１５の配線長は、アグレッサライン２０５の配線長と同一配線長とする。
【００３４】
また、アグレッサネット２０１とビクティムネット２１１との間には、アグレッサライン２０５とビクティムライン２１５の配線間隔Ｓに応じて隣接間容量２１０が発生し、アグレッサネット２０１から発生するクロストークの原因となる。また、図２に示した波形は、アグレッサネットに伝送信号を与えたときに、ビクティムネット２１１のドライバセル２１２に発生するノイズ信号２２１と、ビクティムネット２１１のレシーバセル２１３に発生するノイズ信号２２２である。
【００３５】
このノイズ信号２２１、２２２の立ち上がりと立ち下りの急峻を示す値が、各セル２１２、２１３のスルーレートとなり、ビクティムネット２１１のドライバセル２１２に発生するノイズ信号２２１の立ち上がりからビクティムネット２１１のレシーバセル２１３に発生するノイズ信号２２２の立ち下がりまでの時間間隔Ｔが、アグレッサネット２０１が発生したクロストークによって生じる遅延時間（以下、「クロストーク遅延時間」という。）となる。したがって、このクロストーク遅延時間は、アグレッサネット２０１のドライバセル２０２の駆動能力と、隣接間容量２１０の値と、配線間隔Ｓと、ビクティムライン２１５の配線長（アグレッサライン２０５の配線長でも同じ。）と、スルーレートによって決定することができる。
【００３６】
つぎに、図２に示した回路モデルの回路シミュレーションをおこなった結果発生したクロストーク遅延時間と回路モデル２００内のセル２１２、２１３の入力端子への入力波形を示すスルーレートとの相関関係の一例について説明する。図３は、回路モデル２００のクロストークによって生じる遅延時間と回路モデル２００内のセル２１２、２１３の入力端子への入力波形を示すスルーレートとの相関関係の一例を示すグラフである。
【００３７】
図３において、横軸は、ビクティムネット２１１内のセル２１２、２１３の入力端子に入力された入力波形から得られるスルーレートであり、縦軸は、ビクティムネット２１１から得られるクロストーク遅延時間である。図３では、アグレッサネット２０１のドライバセル２０２の駆動能力を示す内部抵抗値ＲＤを３００［Ω］、６００［Ω］、１２００［Ω］とした場合の相関関係を示している。なお、プロットした点の間は線形補間を施している。
【００３８】
つぎに、図２に示した回路モデル２００内のセル２０２の内部抵抗値ＲＤと当該セル２０２、２０３間を接続する配線長との相関関係の一例について説明する。図４は、回路モデル２００内のセル２０２の内部抵抗値と当該セル２０２、２０３間を接続する配線長との相関関係の一例を示すグラフである。
【００３９】
図４において、横軸は、アグレッサネット２０１のドライバセル２０２の駆動能力を示す内部抵抗値ＲＤであり、縦軸は、アグレッサライン２０５の配線長である。図４では、ビクティムネット２１１のスルーレートＳＬＥＷを１００［ｐｓｅｃ］、２００［ｐｓｅｃ］、３００［ｐｓｅｃ］とした場合の相関関係を示している。なお、プロットした点の間は線形補間を施している。
【００４０】
つぎに、クロストーク遅延時間に基づいて作成された、アグレッサネット２０１のドライバセル２０２の内部抵抗値ＲＤ、アグレッサライン２０５の配線長（情報）Ｌ、およびビクティムネット２１１のスルーレートＳＬＥＷの相関関係をあらわす相関テーブルについて説明する。図５は、クロストーク遅延時間に基づいて作成された、アグレッサネット２０１のドライバセル２０２の内部抵抗値ＲＤ、アグレッサライン２０５の配線長（情報）Ｌ、およびビクティムネット２１１のスルーレートＳＬＥＷの相関関係をあらわす相関テーブルを示す説明図である。この相関テーブル５００は、図３および図４に示したグラフに基づいて作成される。
【００４１】
ここで、相関テーブル５００を用いたバッファの挿入例について説明する。図６は、相関テーブル５００を用いたバッファの挿入例を示す説明図である。図６において、ドライバセル６０１と、レシーバセル６０２と、ドライバセル６０１およびレシーバセル６０２を接続する配線ライン６１０と、によって構成されたターゲットネット６００が示されている。
【００４２】
ここで、たとえば、レイアウト設計において許容されるクロストーク遅延時間を、５０［ｐｓｅｃ］以下とする。ドライバセル６０１の内部抵抗値ＲＤを１２００［Ω］とすると、図３に示したグラフおよび図５に示した相関テーブル５００から、スルーレート２００［ｐｓｅｃ］を得る。また、図４に示したグラフおよび図５に示した相関テーブル５００から、スルーレート２００［ｐｓｅｃ］でかつドライバセル６０１の内部抵抗値１２００［Ω］の場合の配線長０．５［ｍｍ］を得る。
【００４３】
この配線長０．５［ｍｍ］が、レイアウト設計において許容されるクロストーク遅延時間を満足する配線長となる。そして、相関テーブル５００から得られた配線長と、ターゲットネット６００の配線ライン６１０の配線長とを比較し、配線ライン６１０の配線長が、相関テーブル５００から得られた配線長よりも長い場合は、ターゲットネット６００のドライバセル６０１から、相関テーブル５００から得られた配線長０．５［ｍｍ］離れた配線ライン６１０上の位置に、バッファ６０３を挿入する。
【００４４】
このときのバッファ６０３の駆動能力となる内部抵抗値ＲＤは、相関テーブル５００から得られた配線長０．５［ｍｍ］に対応する内部抵抗値１２００［Ω］とし、またバッファ６０３のスルーレートＳＬＥＷも、相関テーブル５００から得られた配線長０．５［ｍｍ］に対応するスルーレート２００［ｐｓｅｃ］とする。
【００４５】
（レイアウト設計装置の機能的構成）
つぎに、この発明の実施の形態にかかるレイアウト設計装置の機能的構成について説明する。図７は、この発明の実施の形態にかかるレイアウト設計装置の機能的構成を示すブロック図である。
【００４６】
図７において、レイアウト設計装置７００は、ネットリスト記憶部７０１と、セル記憶部７０２と、相関情報記憶部７０３と、ネットリスト入力部７０４と、セル抽出部７０５と、配置部７０６と、ネット抽出部７０７と、配線長情報抽出部７０８と、配線長情報算出部７０９と、判定部７１０と、挿入部７１１と、検出部７１２と、削除部７１３と、変更部７１４と、解析部７１５と、論理最適化部７１６と、から構成されている。
【００４７】
ネットリスト記憶部７０１は、ユーザから提供されたネットリストが記憶されている。ネットリストは、たとえば、ＥＤＩＦ（Ｅｌｅｃｔｒｏｎｉｃ  Ｄｅｓｉｇｎ  Ｉｎｔｅｒｃｈａｎｇｅ  Ｆｏｒｍａｔ）と呼ばれる標準テキスト形式で表現された回路接続を示している。
【００４８】
セル記憶部７０２は、ＬＳＩチップに配置するセルを記憶する。このセル記憶部７０２は、具体的には、セルライブラリによって構成される。セルライブラリに記憶されているセルとしては、たとえば、ＡＮＤ回路、ＯＲ回路、インバータ、バッファ、ＦＦや、ＲＡＭやＰＬＬなどのマクロセルなどが挙げられる。そして、各セルには、入力や出力などの端子の属性や端子数などの端子情報、内部抵抗値、スルーレートなどの情報を有している。
【００４９】
相関情報記憶部７０３は、クロストークが発生する回路モデルの回路シミュレーションをおこなった結果発生したクロストーク遅延時間に基づいて作成された、回路モデル２００に含まれている各セルの駆動能力に関する情報と、当該セルどうしを接続する配線の配線長情報との相関関係を示す相関情報を記憶する。この相関情報は、図５に示した相関テーブル５００であり、図２に示した回路モデル２００の回路シミュレーションをおこなった結果発生したクロストーク遅延時間に基づいて作成された、回路モデル２００に含まれている各セル２０２、２０３、２１２、２１３の内部抵抗値ＲＤと、当該セル２０２、２０３、２１２、２１３どうしを接続する配線ライン２０５、２１５の配線長情報Ｌとの相関関係を示している。
【００５０】
また、上述したネットリスト記憶部７０１、セル記憶部７０２、および相関情報記憶部７０３は、具体的には、たとえば、図１に示したＲＡＭ１０３、ＨＤ１０５、ＦＤ１０７などの読み書き可能な記録媒体によってその機能を実現する。
【００５１】
また、ネットリスト入力部７０４は、ネットリスト受信部７１７と、ネットリスト抽出部７１８とによって構成されている。ネットリスト受信部７１７は、図１に示したネットワーク１１４を介して、図示しない外部記憶装置からネットリストを受信する。また、ネットリスト抽出部７１８は、図１に示したキーボード１１０やマウス１１１を操作してネットリスト記憶部７０１からネットリストを抽出する。これにより、任意のネットリストを入力することができる。
【００５２】
また、セル抽出部７０５は、セル記憶部７０２から、ネットリスト入力部７０４によって入力されたネットリストの記述内容に合致するセルを抽出する。具体的には、ネットリストにはセル名と端子接続情報とが記述されているので、このセル名および端子接続情報に合致するセルを、セルライブラリであるセル記憶部７０２から抽出する。また、セル抽出部７０５は、挿入部７１１からのセル取得要求があった場合、取得要求に合致するセルをセル記憶部７０２から抽出する。この場合の抽出例は、後述する。
【００５３】
また、配置部７０６は、ネットリスト入力部７０４によって入力されたネットリストから得られるセルをＬＳＩチップ上に配置する。具体的には、セルの配置は、ネットリストによる接続関係にしたがっておこなわれる。より具体的には、ＬＳＩチップを複数の格子に分割して格子ごとにセルのグローバル配置をおこない、その後に、各格子内のセルの詳細配置をおこなう。
【００５４】
ネット抽出部７０７は、配置部７０６によって配置されたセルの集合の中から、検査対象となる任意のネットを抽出する。この抽出されたネットがターゲットネットであり、ドライバセルとレシーバセルとの組み合わせによって構成される。
【００５５】
配線長情報抽出部７０８は、相関情報記憶部７０３に記憶された相関情報から、ネット抽出部７０７によって抽出されたネット内のセルの駆動能力に関する情報と相関関係のある配線長情報を抽出する。具体的には、図５に示した相関テーブル５００から、ターゲットネット内のセルの駆動能力に関する情報である内部抵抗値ＲＤと相関関係のある配線長情報Ｌを抽出する。たとえば、このドライバセルは、図６に示したドライバセル６０１であり、レシーバセルは、図６に示したレシーバセル６０２である。そして、図６において説明した手法によって、ターゲットネット６００内のドライバセル６０１の配線長情報Ｌを抽出する。
【００５６】
また、配線長情報算出部７０９は、ターゲットネット内のドライバセルとレシーバセルとの間に配線される配線の配線長情報を算出する。具体的には、ＬＳＩチップ上におけるドライバセルの出力端子の座標位置とレシーバセルの入力端子の座標位置とに基づいて算出する。ＬＳＩチップ上の配線は、直交しあうＸ軸およびＹ軸に沿っておこなわれる。ここで、配線長情報算出部７０９による配線長情報の算出例について説明する。図８および図９は、配線長情報算出部７０９による配線長情報の算出例を示す説明図である。
【００５７】
まず、図８では、ドライバセル８０１の出力端子Ｄｏの座標値は（ｘ１，ｙ１）であり、レシーバセル８０２の入力端子Ｒｉの座標値は（ｘ２，ｙ１）である。したがって、Ｙ座標の値が同一であるため、配線ライン８０３の配線長情報Ｌは、ドライバセル８０１の出力端子ＤｏのＸ座標値とレシーバセル８０２の入力端子ＲｉのＸ座標値の差分として算出される。
【００５８】
一方、図９では、ドライバセル９０１とレシーバセル９０２とを接続する配線ライン９０３は、Ｘ軸またはＹ軸に沿った一直線とはならず、ドライバセル９０１の出力端子Ｄｏ（ｘ１，ｙ１）からレシーバセル９０２の入力端子Ｒｉ（ｘ３，ｙ２）までの配線ライン９０３は、点Ｐ（ｘ２，ｙ１）および点Ｑ（ｘ２，ｙ２）で屈曲している。したがって、配線ライン９０３の配線長情報Ｌは、点Ｄｏと点Ｐとの距離、点Ｐと点Ｑとの距離、および、点Ｑと点Ｒｉとの距離の合計値として算出される。
【００５９】
また、図７において、判定部７１０は、配線長情報抽出部７０８によって抽出された配線長情報に基づいて、ネット抽出部７０７によって抽出されたネットがクロストークを発生するかどうかを判定する。具体的には、図５に示した相関テーブル５００から抽出された配線長情報と、配線長情報算出部７０９によって算出されたターゲットネットの配線長情報とに基づいて、ネット抽出部７０７によって抽出されたネットがクロストークを発生するかどうかを判定する。
【００６０】
たとえば、図６に示したターゲットネット６００の配線長を、配線長情報算出部７０９によって算出された配線長情報Ｌｂとすると、相関テーブル５００から抽出された配線長情報Ｌａが、ターゲットネット６００の配線長情報Ｌｂよりも小さい場合、ターゲットネット６００はクロストークを発生すると判定する。一方、相関テーブル５００から抽出された配線長情報Ｌａが、ターゲットネット６００の配線長情報Ｌｂ以上の場合、ターゲットネット６００はクロストークを発生しないと判定する。
【００６１】
また、検出部７１２は、ネット抽出部７０７によって抽出されたネットに、あらかじめバッファやインバータなどの遅延時間抑制セルが含まれているかどうかを検出する。具体的には、ドライバセルとレシーバセルとの間に、遅延時間抑制セルとなるバッファやインバータが配置されているかどうかを検出する。より具体的には、配置されたセルのセル名によって検出する。
【００６２】
そして、削除部７１３は、検出部７１２によって遅延時間抑制セルが含まれていることが検出された場合、遅延時間抑制セルをネットから削除する。図１０は、検出部７１２によって遅延時間抑制セルが含まれていることが検出されたターゲットネットと、遅延時間抑制セルが削除されたターゲットネットとを示す説明図である。
【００６３】
図１０において、検出部７１２によって検出されたバッファ１０１２やインバータ１０１１、１０１３は、削除部７１３によって削除される。この場合、上述した配線長情報算出部７０９は、削除部７１３によってバッファ１０１２やインバータ１０１１、１０１３が削除されたターゲットネット１０００内において、ドライバセル１００１とレシーバセル１００２との間の配線ライン１００３の配線長情報Ｌを算出する。
【００６４】
また、変更部７１４は、ネット抽出部７０７によって抽出されたネット内のドライバセルの駆動能力が高くなるように、当該駆動能力に関する情報を変更する。具体的には、ドライバセルの駆動能力に関する情報として、たとえば、ドライバセルの内部抵抗値ＲＤを用いる。内部抵抗値ＲＤが高ければ駆動能力は低くなり、内部抵抗値ＲＤが低ければ駆動能力は高くなる。
【００６５】
変更部７１４は、ドライバセルの内部抵抗値ＲＤが所定値以上であるかどうかを判定する。そして、内部抵抗値ＲＤが所定値以上であると判定された場合、内部抵抗値ＲＤが高くなるように変更する。この変更処理としては、たとえば、内部抵抗値ＲＤを１／２倍にすることにより、駆動能力を２倍にアップする。
【００６６】
ここで、所定値が１０００［Ω］で、ターゲットネットの配線長情報Ｌを０．８［ｍｍ］とすると、ドライバセルの内部抵抗値ＲＤが１２００［Ω］の場合、図５の相関テーブル５００から抽出される配線長情報Ｌは、０．５［ｍｍ］となり、ターゲットネットの配線長情報Ｌである０．８［ｍｍ］以下となるため、バッファを挿入する必要がある。ここで、変更部７１４により、ドライバセルの内部抵抗値ＲＤを１／２倍して６００［Ω］に変更すると、相関テーブル５００から抽出される配線長情報Ｌは、１．０［ｍｍ］となり、ネットの配線長である０．８［ｍｍ］より大きくなり、バッファを挿入する必要がない。
【００６７】
挿入部７１１は、配線長情報抽出部７０８によって抽出された配線長情報に基づいて、クロストーク遅延時間を抑制するバッファまたはインバータなどの遅延時間抑制セルを、ネット抽出部７０７によって抽出されたネットに挿入する。具体的には、図６に示したように、相関テーブル５００から得られた配線長情報Ｌ（Ｌａ）と、ターゲットネット６００の配線ライン６１０の配線長情報Ｌ（Ｌｂ）とを比較し、相関テーブル５００から得られた配線長情報Ｌａが、ターゲットネット６００の配線ライン６１０の配線長情報Ｌｂよりも小さい場合は、ターゲットネット６００のドライバセル６０１から、相関テーブル５００から得られた配線長情報Ｌａ分離れた配線ライン６１０上の位置に、バッファ６０３を挿入する。
【００６８】
また、解析部７１５は、挿入部７１１によって遅延時間抑制セルが挿入されたターゲットネットのタイミング解析をおこなう。具体的には、解析部７１５は、遅延モデルを用いてタイミング解析をおこなう。図１１は、タイミング解析に用いられる遅延モデルを示すブロック図である。遅延モデル１１００は、ドライバセル（ＮＡＮＤ回路）１１０１と、レシーバセル（ＡＮＤ回路）１１０２とが、配線ライン１１０３によって接続されて構成されている。また、配線ライン１１０３は、配線抵抗Ｒと配線容量Ｃとを有する。
【００６９】
タイミング解析では、図１１に示した遅延モデル１１００に従い、それぞれのセル１１０１、１１０２のもつ固有な遅延値、出力端子に接続された負荷容量の遅延値、入力スルーレートに依存した遅延値、配線ライン１１０３による遅延値などを計算する。そして、計算された遅延値が、タイミング制約を満たしているかを解析する。
【００７０】
タイミング解析には、遅延計算に必要なパラメータが、遅延ライブラリに定義されている必要があり、定義されたパラメータと遅延計算式を用いてタイミング計算をおこなう。たとえば、ドライバセル１１０１の入力端子Ａから出力端子Ｘを通る遅延値Ｄaxは、下記式（１）のように、（ａ）〜（ｄ）の４つの遅延値の加算によってあらわされる。
【００７１】
Ｄax＝（ａ）＋（ｂ）＋（ｃ）＋（ｄ）・・・（１）
ここで、（ａ）は入力スルーレート遅延の遅延値であり、入力波形の傾きによる遅延をあらわしている。（ｂ）はセル内固有遅延の遅延値であり、セルが持つ固有の遅延で、セルにネットが接続されていない無負荷での遅延をあらわしている。また、（ｃ）は負荷容量遅延の遅延値であり、出力端子のドライブと負荷容量の影響による遅延をあらわしている。（ｄ）は配線遅延の遅延値であり、配線ライン１１０３上を伝送信号が伝播する際に発生する遅延をあらわしている。
【００７２】
ここでは、配線抵抗Ｒと配線容量Ｃの積で表したエルモアディレイモデルでの遅延を用いており、大規模で複雑なタイミングでのＬＳＩでは、式（１）のような単純な遅延式では表現できず、実際には複雑な計算式が使用される。また、上述した遅延特性ライブラリにおいて、式（１）の値を、例えば、２次元テーブルとして登録することで、遅延モデル１１００を表現することができる。なお、遅延ライブラリには、この他にセル名、ピン名、パス名、駆動能力値、パワータイプ、ピン容量などの遅延計算に必要なパラメータも格納されており、遅延値の算出に用いることができる。
【００７３】
図１２は、遅延ライブラリに記憶されている２次元テーブルを示す説明図である。この２次元テーブルを用いることにより、ターゲットネットの入力スルーレートと出力負荷容量を与えることで、ターゲットネットの（ｂ）セル内固有遅延値を得ることができる。
【００７４】
たとえば、図１１において、入力端子Ａから出力端子Ｘを経由しレシーバセル１１０２の入力端子Ｅまでの遅延値は、入力端子Ａに入力される伝送信号の入力スルーレートと出力端子Ｘにつながる負荷容量から、図１２の２次元テーブルを参照して得られたドライバセル１１０１内の遅延値に、エルモアディレイによるＲ×Ｃの配線遅延値を加算した値となる。
【００７５】
解析部７１５は、上述のようにして算出された遅延値から、ターゲットネットにタイミングエラーが生じているかどうかを解析する。また、論理最適化部７１６は、解析部７１５によって解析された解析結果に基づいて、ターゲットネットの論理最適化をおこなう。図１３は、タイミングエラーが発生したターゲットネットを示す説明図であり、図１４は、図１３に示したターゲットネットを論理最適化した説明図である。
【００７６】
解析部７１５のタイミング解析により、ターゲットネット１３００のレシーバセル１３０２、１３０３の入力端子１３０２ａ、１３０３ａごとに、この入力端子１３０２ａ、１３０３ａに到達する到達時刻ＡＡＴ（Ａｃｔｕａｌ  Ａｒｒｉｖａｌ  Ｔｉｍｅ）と、入力端子に到達してほしい要求時刻ＲＡＴ（Ｒｅｑｕｉｒｅｄ  Ａｒｒｉｖａｌ  Ｔｉｍｅ）を算出する。そして、要求時刻ＲＡＴから到達時刻ＡＡＴを減算してｓｌａｃｋを算出する。
【００７７】
算出されたｓｌａｃｋが、ネガティブな値、すなわち負の値をとる場合、ターゲットネット１３００にタイミングエラーが発生したことを意味する。たとえば、図１３において、セル１３０１と、負荷の値が「１」であるセル１３０２との間のパス１３０４が、ｓｌａｃｋが−０．４［ｎｓ］となるクリティカルパスとすると、このパス１３０４においてタイミングエラーが発生していることとなる。
【００７８】
また、セル１３０１と、負荷の値が「５」であるセル１３０３との間のパス１３０５のｓｌａｃｋが−０．２［ｎｓ］とすると、このパス１３０５においてもタイミングエラーが発生していることとなる。なお、セル１３０１をドライバセルとした場合の総負荷は、セル１３０２の負荷の値「１」とセル１３０３の負荷の値「５」を加算して「６」となる。
【００７９】
そして、パス１３０４、１３０５に発生したタイミングエラーを解消するため、負荷の値「１」のバッファ１３１０を、セル１３０１とセル１３０３のパス１３０５の間に挿入する。図１４に示したように、このバッファ１３１０の挿入により、セル１３０１をドライバセルとした場合の総負荷は、セル１３０２の負荷の値「１」とバッファ１３１０の負荷の値「１」を加算して「２」となる。
【００８０】
この総負荷の減少により、セル１３０１およびセル１３０２間のｓｌａｃｋが−０．４［ｎｓ］から＋０．１［ｎｓ］というポジティブな値となる。また、図１３において、セル１３０１とセル１３０３間のｓｌａｃｋは−０．２［ｎｓ］であるが、バッファ１３１０の挿入により、図１４において、セル１３０１とバッファ１３１０間のパス１３０６のｓｌａｃｋは＋０．３［ｎｓ］というポジティブｓｌａｃｋに改善され、タイミングエラーが消去される。同様に、バッファ１３１０とセル１３０３間のパス１３０７のｓｌａｃｋも＋０．４［ｎｓ］というポジティブｓｌａｃｋに改善され、タイミングエラーが消去される。
【００８１】
なお、上述したネットリスト入力部７０４、セル抽出部７０５、配置部７０６、ネット抽出部７０７、配線長情報抽出部７０８、配線長情報算出部７０９、判定部７１０、挿入部７１１、検出部７１２、削除部７１３、変更部７１４、解析部７１５、および論理最適化部７１６は、具体的には、たとえば、図１に示したＲＯＭ１０２、ＲＡＭ１０３、ＨＤ１０５、ＦＤ１０７等に記録されたプログラムを、ＣＰＵ１０１が実行することによってその機能を実現する。
【００８２】
（レイアウト設計処理手順）
つぎに、この発明の実施の形態にかかるレイアウト設計処理手順の一例について説明する。図１５は、この発明の実施の形態にかかるレイアウト設計処理手順の一例を示すフローチャートである。なお、許容されるクロストーク遅延時間は、あらかじめ所定のクロストーク遅延時間に設定されているものとする。
【００８３】
図１５において、まず、ネットリストが入力された場合（ステップＳ１５０１：Ｙｅｓ）、このネットリストに記述されているセルをセル記憶部７０２（セルライブラリ）から抽出する（ステップＳ１５０２）。そして、抽出されたセルを、ネットリストの接続関係にしたがってＬＳＩチップに配置する（ステップＳ１５０３）。
【００８４】
つぎに、ＬＳＩチップに配置されたセルの集合の中から、ターゲットネットを抽出する（ステップＳ１５０４）。このターゲットネットに含まれているセルのスルーレート、内部抵抗値、およびあらかじめ設定されているクロストーク遅延時間を用いて、相関テーブル５００から配線長情報Ｌａを抽出する（ステップＳ１５０５）。一方、抽出されたターゲットネットの配線長情報Ｌｂを算出する（ステップＳ１５０６）。
【００８５】
つぎに、ターゲットネットが、クロストークを発生するかどうかを判定する。すなわち、相関テーブル５００から抽出された配線長情報Ｌａが、ターゲットネットの配線長情報Ｌｂ以上であるかどうかを判定する（ステップＳ１５０７）。相関テーブル５００から抽出された配線長情報Ｌａが、ターゲットネットの配線長情報Ｌｂ以上の場合（ステップＳ１５０７：Ｙｅｓ）、ターゲットネットはクロストークを発生しないこととなり、ステップＳ１５１２に移行する。
【００８６】
一方、相関テーブル５００から抽出された配線長情報Ｌａが、算出されたターゲットネットの配線長情報Ｌｂよりも小さい場合（ステップＳ１５０７：Ｎｏ）、ターゲットネットはクロストークを発生することとなり、図６に示したように、バッファまたはインバータを挿入する（ステップＳ１５０８）。このあと、図１３に示したように、タイミング解析をおこなう（ステップＳ１５０９）。ターゲットネットにタイミングエラーが発生していない場合（ステップＳ１５１０：Ｎｏ）、ステップＳ１５１２に移行する。
【００８７】
一方、ターゲットネットにタイミングエラーが発生した場合（ステップＳ１５１０：Ｙｅｓ）、図１４に示したように、論理最適化をおこない（ステップＳ１５１１）、タイミングエラーを消去する。そして、ＬＳＩチップ上に配置されたセルの集合の中に、未チェックのネットがあるかどうかを検出する（ステップＳ１５１２）。未チェックのネットがある場合（ステップＳ１５１２：Ｙｅｓ）、ステップＳ１５０４に移行して、ターゲットネットとして抽出する。
【００８８】
一方、未チェックのネットがない場合（ステップＳ１５１２：Ｎｏ）、ＬＳＩチップ上に配置されていないセルがあるかどうかを検出する（ステップＳ１５１３）。配置されていないセルがある場合（ステップＳ１５１３：Ｙｅｓ）、ステップＳ１５０３に移行して、ＬＳＩチップ上にセルを配置する。一方、配置されていないセルがない場合（ステップＳ１５１３：Ｎｏ）、一連の処理を終了する。
【００８９】
このレイアウト設計処理手順によれば、配線長によって一律にターゲットネットがクロストークを発生するかどうかを判定しているため、セルの自動配置において、平行配線となる箇所の特定のための検索処理や、その箇所に対するクロストーク遅延時間の計算を行う必要がなく、自動配置処理の高速化を図ることができる。
【００９０】
つぎに、この発明の実施の形態にかかるレイアウト設計処理手順の他の例について説明する。図１６は、この発明の実施の形態にかかるレイアウト設計処理手順の他の例を示すフローチャートである。この図１６に示す処理ステップＳ１６０１〜Ｓ１６０４は、図１５に示したステップＳ１５０５に置き換わる処理ステップである。したがって、図１５に示した処理手順については、この処理手順でおこなわれる処理手順と同一であるため説明を省略する。
【００９１】
図１５に示したステップＳ１５０４によりターゲットネットを抽出した後、図１６において、ターゲットネット内のドライバセルの内部抵抗値が所定値以上かどうかを判定する（ステップＳ１６０１）。所定値以上でない場合（ステップＳ１６０１：Ｎｏ）、相関テーブル５００から配線長情報Ｌａを抽出する（ステップＳ１６０２）。このあと、図１５に示したステップＳ１５０６に移行して、配線長情報Ｌｂを算出する。
【００９２】
一方、ターゲットネット内のドライバセルの内部抵抗値が所定値以上である場合（ステップＳ１６０１：Ｙｅｓ）、変更部７１４によって、ドライバセルの駆動能力が上昇するように、内部抵抗値を変更する（ステップＳ１６０３）。具体的には、内部抵抗値を１／２倍して駆動能力を２倍にする。そして、相関テーブル５００から、変更後の内部抵抗値と相関関係のある配線長情報Ｌａを抽出する（ステップＳ１６０４）。このあと、図１５に示したステップＳ１５０６に移行して、配線長情報Ｌｂを算出する。
【００９３】
このレイアウト設計処理手順によれば、クロストークの発生を判定する前に、ターゲットネットのドライバセルの内部抵抗値を変更するため、ドライバセルの低駆動能力が原因で発生するクロストークを未然に防止することができる。またこれにより、バッファやインバータの挿入数の減少を図ることができ、ＬＳＩチップの製造時における部品点数の減少および製造期間の短縮を図ることができる。
【００９４】
つぎに、この発明の実施の形態にかかるレイアウト設計処理手順の別の例について説明する。図１７は、この発明の実施の形態にかかるレイアウト設計処理手順の別の例を示すフローチャートである。この図１７に示す処理ステップＳ１７０１、Ｓ１７０２は、図１５に示したステップＳ１５０４とステップＳ１５０５との間でおこなわれる処理ステップである。したがって、図１５に示した処理手順については、この処理手順でおこなわれる処理手順と同一であるため説明を省略する。
【００９５】
図１５に示したステップＳ１５０４によりターゲットネットを抽出した後、図１７において、バッファ（またはインバータ）が含まれているかどうかを検出する（ステップＳ１７０１）。ターゲットネット内にバッファ（またはインバータ）が含まれていない場合（ステップＳ１７０１：Ｎｏ）、図１５に示したステップＳ１５０５に移行して、配線長情報Ｌａを抽出する。
【００９６】
一方、ターゲットネット内にバッファ（またはインバータ）が含まれている場合（ステップＳ１７０１：Ｙｅｓ）、バッファ（またはインバータ）を削除する（ステップＳ１７０２）。このあと、図１５に示したステップＳ１５０５に移行して、配線長情報Ｌａを抽出する。なお、削除した後にクロストークが発生すると判定された場合（ステップＳ１５０７：Ｙｅｓ）でも、ステップＳ１５０８においてバッファ（またはインバータ）が挿入されるため、クロストークが発生しないレイアウト設計をおこなうことができる。
【００９７】
このレイアウト設計処理手順によれば、クロストーク遅延時間の抑制に関係のない不要なバッファ（またはインバータ）を、配線長情報Ｌａの抽出前に削除することができるため、バッファやインバータの挿入数の減少を図ることができ、ＬＳＩチップの製造時における部品点数の減少および製造期間の短縮を図ることができる。
【００９８】
以上説明したように、この実施の形態にかかるレイアウト設計装置、レイアウト設計方法、レイアウト設計プログラム、および記録媒体によれば、ＬＳＩチップの詳細配線前に、クロストーク遅延時間の変動を抑制することができるため、詳細配線後にクロストーク遅延時間の変動を低減することができる。その結果、詳細配線後のクロストークによるバイオレーションを調整するためのバッファの挿入や、配線間隔を広げるなどの作業の低減化を図ることができ、ＴＡＴの短縮化を実現することができる。
【００９９】
また、自動配置の段階で、許容されるクロストーク遅延時間を設定し、そのクロストーク遅延時間を満たす配線長を相関テーブル５００から参照し、適切な位置へのバッファ挿入を瞬時におこなうことができ、クロストークの遅延解析による膨大な演算時間を浪費せずに、クロストーク遅延時間の抑制を図ることができる。
【０１００】
なお、本実施の形態で説明したレイアウト設計方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション、ＣＡＤ等のコンピュータで実行することにより実現することができる。このプログラムは、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。またこのプログラムは、インターネット等のネットワークを介して配布することが可能な伝送媒体であってもよい。
【０１０１】
（付記１）任意のネットリストの入力を受け付けるネットリスト入力手段と、
前記ネットリスト入力手段によって入力されたネットリストから得られるセルをＬＳＩチップ上に配置する配置手段と、
前記配置手段によって配置されたセルの集合の中から、検査対象となる任意のネットを抽出するネット抽出手段と、
所定の回路モデルの回路シミュレーションをおこなった結果発生したクロストークによって生じる遅延時間に基づいて作成された、前記回路モデルに含まれている各セルの駆動能力に関する情報と、当該セルどうしを接続する配線の配線長情報との相関関係を示す相関情報を記憶する記憶手段と、
前記記憶手段に記憶された相関情報に基づいて、前記ネット抽出手段によって抽出されたネット内のセルの駆動能力に関する情報と相関関係のある配線長情報を抽出する配線長情報抽出手段と、
前記配線長情報抽出手段によって抽出された配線長情報に基づいて、前記遅延時間を抑制する遅延時間抑制セルを前記ネットに挿入する挿入手段と、
を備えることを特徴とするレイアウト設計装置。
【０１０２】
（付記２）前記配線長情報抽出手段によって抽出された配線長情報に基づいて、前記ネット抽出手段によって抽出されたネットがクロストークを発生するかどうかを判定する判定手段を備え、
前記挿入手段は、
前記判定手段によって判定された判定結果に基づいて、前記遅延時間抑制セルを前記ネットに挿入することを特徴とする付記１に記載のレイアウト設計装置。
【０１０３】
（付記３）前記ネット内のドライバセルとレシーバセルとの間に配線される配線の配線長情報を算出する配線長情報算出手段を備え、
前記判定手段は、
前記配線長情報抽出手段によって抽出された配線長情報と、前記配線長情報算出手段によって算出された配線長情報とに基づいて、前記ネット抽出手段によって抽出されたネットがクロストークを発生するかどうかを判定することを特徴とする付記２に記載のレイアウト設計装置。
【０１０４】
（付記４）前記ネット抽出手段によって抽出されたネットに、あらかじめ前記遅延時間抑制セルが含まれているかどうかを検出する検出手段と、
前記検出手段によって遅延時間抑制セルが含まれていることが検出された場合、当該遅延時間抑制セルを前記ネットから削除する削除手段と、を備え、
前記配線長情報算出手段は、
前記削除手段によって遅延時間抑制セルが削除されたネット内における、ドライバセルとレシーバセルとの間に配線される配線の配線長情報を算出することを特徴とする付記３に記載のレイアウト設計装置。
【０１０５】
（付記５）前記挿入手段は、
前記判定手段によってクロストークが発生すると判定された場合にのみ、前記遅延時間抑制セルを前記ネットに挿入することを特徴とする付記１〜４のいずれか一つに記載のレイアウト設計装置。
【０１０６】
（付記６）前記ネット抽出手段によって抽出されたネット内のドライバセルの駆動能力が高くなるように、当該駆動能力に関する情報を変更する変更手段を備え、
前記配線長情報抽出手段は、
前記相関情報に基づいて、前記変更手段によって変更されたセルの駆動能力に関する情報と相関関係のある配線長情報を抽出することを特徴とする付記１〜５のいずれか一つに記載のレイアウト設計装置。
【０１０７】
（付記７）前記遅延時間抑制セルは、バッファまたはインバータのうち少なくともいずれか一方を含むことを特徴とする付記１〜６のいずれか一つに記載のレイアウト設計装置。
【０１０８】
（付記８）前記挿入手段によって前記遅延時間抑制セルが挿入されたネットのタイミング解析をおこなう解析手段と、
前記解析手段によってタイミング解析された解析結果に基づいて、前記ネットの論理最適化をおこなう論理最適化手段と、
を備えることを特徴とする付記１〜７のいずれか一つに記載のレイアウト設計装置。
【０１０９】
（付記９）任意のネットリストを入力するネットリスト入力工程と、
前記ネットリスト入力工程によって入力されたネットリストから得られるセルをＬＳＩチップ上に配置する配置工程と、
前記配置工程によって配置されたセルの集合の中から、検査対象となる任意のネットを抽出するネット抽出工程と、
所定の回路モデルの回路シミュレーションをおこなった結果発生したクロストークによって生じる遅延時間に基づいて作成された、前記回路モデルに含まれている各セルの駆動能力に関する情報と、当該セルどうしを接続する配線の配線長情報との相関関係を示す相関情報に基づいて、前記ネット抽出工程によって抽出されたネット内のセルの駆動能力に関する情報と相関関係のある前記配線長情報を抽出する配線長情報抽出工程と、
前記配線長情報抽出工程によって抽出された配線長情報に基づいて、前記遅延時間を抑制する遅延時間抑制セルを前記ネットに挿入する挿入工程と、
を含んだことを特徴とするレイアウト設計方法。
【０１１０】
（付記１０）前記配線長情報抽出工程によって抽出された配線長情報に基づいて、前記ネット抽出工程によって抽出されたネットがクロストークを発生するかどうかを判定する判定工程を含み、
前記挿入工程は、
前記判定工程によって判定された判定結果に基づいて、前記遅延時間抑制セルを前記ネットに挿入することを特徴とする付記９に記載のレイアウト設計方法。
【０１１１】
（付記１１）前記ネット内のドライバセルとレシーバセルとの間に配線される配線の配線長情報を算出する配線長情報算出工程を含み、
前記判定工程は、
前記配線長情報抽出工程によって抽出された配線長情報と、前記配線長情報算出工程によって算出された配線長情報とに基づいて、前記ネット抽出工程によって抽出されたネットがクロストークを発生するかどうかを判定することを特徴とする付記１０に記載のレイアウト設計方法。
【０１１２】
（付記１２）任意のネットリストを入力させるネットリスト入力工程と、
前記ネットリスト入力工程によって入力されたネットリストから得られるセルをＬＳＩチップ上に配置させる配置工程と、
前記配置工程によって配置されたセルの集合の中から、検査対象となる任意のネットを抽出させるネット抽出工程と、
所定の回路モデルの回路シミュレーションをおこなった結果発生したクロストークによって生じる遅延時間に基づいて作成された、前記回路モデルに含まれている各セルの駆動能力に関する情報と、当該セルどうしを接続する配線の配線長情報との相関関係を示す相関情報に基づいて、前記ネット抽出工程によって抽出されたネット内のセルの駆動能力に関する情報と相関関係のある前記配線長情報を抽出させる配線長情報抽出工程と、
前記配線長情報抽出工程によって抽出された配線長情報に基づいて、前記遅延時間を抑制する遅延時間抑制セルを前記ネットに挿入させる挿入工程と、
をコンピュータに実行させることを特徴とするレイアウト設計プログラム。
【０１１３】
（付記１３）前記配線長情報抽出工程によって抽出された配線長情報に基づいて、前記ネット抽出工程によって抽出されたネットがクロストークを発生するかどうかを判定させる判定工程を含み、
前記挿入工程は、
前記判定工程によって判定された判定結果に基づいて、前記遅延時間抑制セルを前記ネットに挿入させることを特徴とする付記１２に記載のレイアウト設計プログラム。
【０１１４】
（付記１４）前記ネット内のドライバセルとレシーバセルとの間に配線される配線の配線長情報を算出させる配線長情報算出工程を含み、
前記判定工程は、
前記配線長情報抽出工程によって抽出された配線長情報と、前記配線長情報算出工程によって算出された配線長情報とに基づいて、前記ネット抽出工程によって抽出されたネットがクロストークを発生するかどうかを判定させることを特徴とする付記１３に記載のレイアウト設計プログラム。
【０１１５】
（付記１５）付記１２〜１４のいずれか一つに記載のレイアウト設計プログラムを記録したコンピュータ読み取り可能な記録媒体。
【産業上の利用可能性】
【０１１６】
以上のように、本発明にかかるレイアウト設計装置、レイアウト設計方法、レイアウト設計プログラム、および記録媒体は、ＬＳＩチップのレイアウト設計に有用であり、特に、ＣＡＤを用いたレイアウト設計に適している。
【図面の簡単な説明】
【０１１７】
【図１】この発明の実施の形態にかかるレイアウト設計装置のハードウェア構成を示すブロック図である。
【図２】クロストークが発生する回路モデルを示すブロック図である。
【図３】回路モデルのクロストークによって生じる遅延時間と回路モデル内のセルの入力端子への入力波形を示すスルーレートとの相関関係の一例を示すグラフである。
【図４】回路モデル内のセルの内部抵抗値と当該セル間を接続する配線長との相関関係の一例を示すグラフである。
【図５】クロストーク遅延時間に基づいて作成された、アグレッサネットのドライバセルの内部抵抗値、アグレッサラインの配線長（情報）、およびビクティムネットのスルーレートの相関関係をあらわす相関テーブルを示す説明図である。
【図６】相関テーブルを用いたバッファの挿入例を示す説明図である。
【図７】この発明の実施の形態にかかるレイアウト設計装置の機能的構成を示すブロック図である。
【図８】配線長情報算出部による配線長情報の一算出例を示す説明図である。
【図９】配線長情報算出部による配線長情報の他の算出例を示す説明図である。
【図１０】検出部によって遅延時間抑制セルが含まれていることが検出されたターゲットネットと、遅延時間抑制セルが削除されたターゲットネットとを示す説明図である。
【図１１】タイミング解析に用いられる遅延モデルを示すブロック図である。
【図１２】遅延ライブラリに記憶されている２次元テーブルを示す説明図である。
【図１３】タイミングエラーが発生したターゲットネットを示す説明図である。
【図１４】図１３に示したターゲットネットを論理最適化した説明図である。
【図１５】この発明の実施の形態にかかるレイアウト設計処理手順の一例を示すフローチャートである。
【図１６】この発明の実施の形態にかかるレイアウト設計処理手順の他の例を示すフローチャートである。
【図１７】この発明の実施の形態にかかるレイアウト設計処理手順の別の例を示すフローチャートである。
【符号の説明】
【０１１８】
２００  回路モデル
５００  相関テーブル
７００  レイアウト設計装置
７０３  相関情報記憶部
７０４  ネットリスト入力部
７０６  配置部
７０７  ネット抽出部
７０８  配線長情報抽出部
７０９  配線長情報算出部
７１０  判定部
７１１  挿入部
７１２  検出部
７１３  削除部
７１４  変更部
７１５  解析部
７１６  論理最適化部
【図１】
2006004056.tif 000003
【図２】
2006004056.tif 000004
【図３】
2006004056.tif 000005
【図４】
2006004056.tif 000006
【図５】
2006004056.tif 000007
【図６】
2006004056.tif 000008
【図７】
2006004056.tif 000009
【図８】
2006004056.tif 000010
【図９】
2006004056.tif 000011
【図１０】
2006004056.tif 000012
【図１１】
2006004056.tif 000013
【図１２】
2006004056.tif 000014
【図１３】
2006004056.tif 000015
【図１４】
2006004056.tif 000016
【図１５】
2006004056.tif 000017
【図１６】
2006004056.tif 000018
【図１７】
2006004056.tif 000019