(57)【要約】【課題】配線工程後のレイアウトに対する配線変更により、タイミング改善及び消費電力改善を図る。【解決手段】まず、配線工程後のレイアウトを参照する。次に、配線工程後のレイアウトからタイミング制約に抵触する配線を検出し、検出された配線の周囲にスペースを空け、空いたスペースを利用して検出された配線の幅を変更し、配線工程後のレイアウトを変更する。最後に、変更された後のレイアウトを出力する。【選択図】図１
2009282638.tif 000002
【特許請求の範囲】
【請求項１】
配線工程後のレイアウトを取得する入力手段と、
前記配線工程後のレイアウトを参照し、タイミング制約に抵触する配線を検出し、前記検出された配線の周囲にスペースを空け、前記スペースを利用して前記検出された配線の幅を変更し、前記配線工程後のレイアウトを変更する改善手段と、
前記変更された後のレイアウトを出力する出力手段と
を含む
レイアウト設計システム。
【請求項２】
請求項１に記載のレイアウト設計システムであって、
前記改善手段は、前記スペースを利用して前記検出された配線を太幅化する
レイアウト設計システム。
【請求項３】
請求項１又は２に記載のレイアウト設計システムであって、
前記改善手段は、前記スペースを利用して前記検出された配線と対になるシールド配線を挿入する
レイアウト設計システム。
【請求項４】
請求項１乃至３のいずれか一項に記載のレイアウト設計システムであって、
前記改善手段は、前記検出された配線の周囲にスペースを空ける際、前記検出された配線を、他の配線層を経由するように再配線する
レイアウト設計システム。
【請求項５】
請求項１乃至４のいずれか一項に記載のレイアウト設計システムであって、
前記改善手段は、前記検出された配線の幅を変更した結果として生じたタイミングの余裕に応じて、前記検出された配線を駆動するセルのうち、不要なセルを削除し、残りのセルを縮小して消費電力を低減し、前記配線工程後のレイアウトを変更する
レイアウト設計システム。
【請求項６】
請求項５に記載のレイアウト設計システムであって、
前記改善手段は、前記検出された配線を駆動するセルのゲート幅を縮小する
レイアウト設計システム。
【請求項７】
請求項５又は６に記載のレイアウト設計システムであって、
前記改善手段は、
前記配線工程後のレイアウトに対してシミュレーションを実行するシミュレーション手段と、
前記シミュレーションの結果に基づいて、前記配線工程後のレイアウトから前記タイミング制約に抵触する配線を検出するパス検出手段と、
前記検出された配線の周囲に前記スペースを空け、前記スペースを利用して前記検出された配線の幅を変更する配線処理手段と、
前記検出された配線のタイミングスラックが改善したか判定する改善判定手段と、
前記タイミングスラックが改善している場合、設計制約を満たす範囲で、前記検出された配線を駆動しているセルのリサイズを行い、前記配線工程後のレイアウトを変更するセル処理手段と、
前記検出された配線を全て処理したか判定し、全て処理していると判定した場合、前記出力手段に対して、前記変更された後のレイアウトを通知する処理完了判定手段と
を具備する
レイアウト設計システム。
【請求項８】
配線工程後のレイアウトを参照する工程と、
前記配線工程後のレイアウトからタイミング制約に抵触する配線を検出し、前記検出された配線の周囲にスペースを空け、前記スペースを利用して前記検出された配線の幅を変更し、前記配線工程後のレイアウトを変更する工程と、
前記変更された後のレイアウトを出力する工程と
を含む
レイアウト設計方法。
【請求項９】
請求項８に記載のレイアウト設計方法であって、
前記スペースを利用して前記検出された配線の幅を変更する際、前記検出された配線を太幅化する工程
を更に含む
レイアウト設計方法。
【請求項１０】
請求項８又は９に記載のレイアウト設計方法であって、
前記スペースを利用して前記検出された配線の幅を変更する際、前記検出された配線と対になるシールド配線を挿入する工程
を更に含む
レイアウト設計方法。
【請求項１１】
請求項８乃至１０のいずれか一項に記載のレイアウト設計方法であって、
前記検出された配線の周囲にスペースを空ける際、前記検出された配線を、他の配線層を経由するように再配線する工程
を更に含む
レイアウト設計方法。
【請求項１２】
請求項８乃至１１のいずれか一項に記載のレイアウト設計方法であって、
前記検出された配線の幅を変更した結果として生じたタイミングの余裕に応じて、前記検出された配線を駆動するセルのうち、不要なセルを削除し、残りのセルを縮小して消費電力を低減し、前記配線工程後のレイアウトを変更する工程
を更に含む
レイアウト設計方法。
【請求項１３】
請求項１２に記載のレイアウト設計方法であって、
前記検出された配線を駆動するセルのゲート幅を縮小する工程
を更に含む
レイアウト設計方法。
【請求項１４】
請求項１２又は１３に記載のレイアウト設計方法であって、
前記配線工程後のレイアウトに対してシミュレーションを実行する工程と、
前記シミュレーションの結果に基づいて、前記配線工程後のレイアウトから前記タイミング制約に抵触する配線を検出する工程と、
前記検出された配線の周囲に前記スペースを空け、前記スペースを利用して前記検出された配線の幅を変更する工程と、
前記検出された配線のタイミングスラックが改善したか判定する工程と、
前記タイミングスラックが改善している場合、設計制約を満たす範囲で、前記検出された配線を駆動しているセルのリサイズを行い、前記配線工程後のレイアウトを変更する工程と、
前記検出された配線を全て処理したか判定し、全て処理していると判定した場合、前記変更された後のレイアウトを出力する工程と
を更に含む
レイアウト設計方法。
【請求項１５】
配線工程後のレイアウトを参照する工程と、
前記配線工程後のレイアウトからタイミング制約に抵触する配線を検出し、前記検出された配線の周囲にスペースを空け、前記スペースを利用して前記検出された配線の幅を変更し、前記配線工程後のレイアウトを変更する工程と、
前記変更された後のレイアウトを出力する工程と
をコンピュータに実行させるための
プログラム。
【請求項１６】
請求項１５に記載のプログラムであって、
前記スペースを利用して前記検出された配線の幅を変更する際、前記検出された配線を太幅化する工程
を更にコンピュータに実行させるための
プログラム。
【請求項１７】
請求項１５又は１６に記載のプログラムであって、
前記スペースを利用して前記検出された配線の幅を変更する際、前記検出された配線と対になるシールド配線を挿入する工程
を更にコンピュータに実行させるための
プログラム。
【請求項１８】
請求項１５乃至１７のいずれか一項に記載のプログラムであって、
前記検出された配線の周囲にスペースを空ける際、前記検出された配線を、他の配線層を経由するように再配線する工程
を更にコンピュータに実行させるための
プログラム。
【請求項１９】
請求項１５乃至１８のいずれか一項に記載のプログラムであって、
前記検出された配線の幅を変更した結果として生じたタイミングの余裕に応じて、前記検出された配線を駆動するセルのうち、不要なセルを削除し、残りのセルを縮小して消費電力を低減し、前記配線工程後のレイアウトを変更する工程
を更にコンピュータに実行させるための
プログラム。
【請求項２０】
請求項１９に記載のプログラムであって、
前記検出された配線を駆動するセルのゲート幅を縮小する工程
を更にコンピュータに実行させるための
プログラム。
【請求項２１】
請求項１９又は２０に記載のプログラムであって、
前記配線工程後のレイアウトに対してシミュレーションを実行する工程と、
前記シミュレーションの結果に基づいて、前記配線工程後のレイアウトから前記タイミング制約に抵触する配線を検出する工程と、
前記検出された配線の周囲に前記スペースを空け、前記スペースを利用して前記検出された配線の幅を変更する工程と、
前記検出された配線のタイミングスラックが改善したか判定する工程と、
前記タイミングスラックが改善している場合、設計制約を満たす範囲で、前記検出された配線を駆動しているセルのリサイズを行い、前記配線工程後のレイアウトを変更する工程と、
前記検出された配線を全て処理したか判定し、全て処理していると判定した場合、前記変更された後のレイアウトを出力する工程と
を更にコンピュータに実行させるための
プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、レイアウト設計方法に関し、特に配線工程におけるレイアウト設計方法に関する。
【背景技術】
【０００２】
これまでは、配線工程後に発覚したタイミング違反に対して、リピータ（バッファ＝インバータ×２個）を挿入することによって改善していた。
【０００３】
しかし、可能な限り最適なサイズや段数でリピータを挿入しても、タイミング違反を修正できない場合があった。
【０００４】
その理由は、近年の微細化プロセスでは、配線抵抗の影響が大きく、遅延の原因として配線遅延が支配的であるためである。
【０００５】
なお、配線工程では、自動配線ツール等を使用している場合が多く、どの配線がどのように配置されるかは、ユーザからはわからないことが多い。また、どこの配線抵抗が大きくなるかは、レイアウトしてみてからでないとわからないことが多い。従って、特性に影響する配線幅を事前に充分な太さにして配線抵抗を低減することは困難である。
【０００６】
関連する技術として、特開２００１−２９０８５４号公報（特許文献１）に信号伝播回路の設計方法が開示されている。
この関連技術では、複数の分岐を有する信号配線中に複数段にバッファを挿入する際に、入力段のバッファの入力位置と、最終段のバッファの出力側配線の最終位置との間に、バッファサイズ及びファンアウト数が実質的に等しい複数のバッファを、各バッファ間の配線距離及び出力段バッファの出力側配線距離が実質的に相互に等しくなるように挿入し、最終位置における信号伝播遅延時間を最小とするバッファサイズとバッファ段数とを夫々所定の計算式に基づいて独立に選定する。
【０００７】
また、特開２００５−２４２６４２号公報（特許文献２）にシミュレーション装置及び半導体集積回路の設計方法が開示されている。
この関連技術では、設計対象回路のサイクルベースモデルを状態制御モジュールモデルと演算モジュールモデルとメモリモデルとで構成する。演算モジュールモデルではアルゴリズム表記する。ハードウェアのパイプラインなどの詳細構成を単位クロックで処理される演算に短絡する。タイミングずれは状態制御モジュールモデルのウェイトステートで吸収することで高速なシミュレーションを実現する。シミュレーションモデルの活性化率測定に面積、配線容量などの情報を付加することで消費電力測定を可能にする。この測定結果から機能モジュールの優先配置配線を行い、シミュレーションを繰り返して最適な配置配線を行うことで低電力化設計を実現する。
【０００８】
また、押し退け配線に関する論文として、「Ａ  Ｄｅｔａｉｌｅｄ  Ｒｏｕｔｅｒ  Ｂａｓｅｄ  ｏｎ  Ｉｎｃｒｅｍｅｎｔａｌ  Ｒｏｕｔｉｎｇ  Ｍｏｄｉｆｉｃａｔｉｏｎｓ：  Ｍｉｇｈｔｙ  （ＩＥＥＥ  ＴＲＡＮＳＡＣＴＩＯＮＳ  ＯＮ  ＣＯＭＰＵＴＥＲ−ＡＩＤＥＤ  ＤＥＳＩＧＮ，  ＶＯＬ．  ＣＡＤ−６，  ＮＯ．  ６，  ＮＯＶＥＭＢＥＲ  １９８７）」のｐ９４７にある「Ｄ．  Ｗｅａｋ  Ｍｏｄｉｆｉｃａｔｉｏｎ」（非特許文献１）がある。ここでは、ＤＲＣ（Ｄｅｓｉｇｎ  Ｒｕｌｅ  Ｃｈｅｃｋｉｎｇ）エラーを改善するために、押し退け配線を行っている。
【０００９】
【特許文献１】特開２００１−２９０８５４号公報
【特許文献２】特開２００５−２４２６４２号公報
【非特許文献１】“Ａ  Ｄｅｔａｉｌｅｄ  Ｒｏｕｔｅｒ  Ｂａｓｅｄ  ｏｎ  Ｉｎｃｒｅｍｅｎｔａｌ  Ｒｏｕｔｉｎｇ  Ｍｏｄｉｆｉｃａｔｉｏｎｓ：  Ｍｉｇｈｔｙ  （ＩＥＥＥ  ＴＲＡＮＳＡＣＴＩＯＮＳ  ＯＮ  ＣＯＭＰＵＴＥＲ−ＡＩＤＥＤ  ＤＥＳＩＧＮ，  ＶＯＬ．  ＣＡＤ−６，  ＮＯ．  ６，  ＮＯＶＥＭＢＥＲ  １９８７）”  ｐ９４７  “Ｄ．  Ｗｅａｋ  Ｍｏｄｉｆｉｃａｔｉｏｎ”
【発明の開示】
【発明が解決しようとする課題】
【００１０】
本発明の目的は、配線工程後のレイアウトに対する配線変更により、タイミング改善及び消費電力改善を図るためのレイアウト設計方法、レイアウト設計システム、及びプログラムを提供することである。
【課題を解決するための手段】
【００１１】
本発明のレイアウト設計システムは、配線工程後のレイアウトを取得する入力手段と、配線工程後のレイアウトを参照し、タイミング制約に抵触する配線を検出し、検出された配線の周囲にスペース（空間、場所、空隙）を空け、空いたスペースを利用して検出された配線の幅を変更し、配線工程後のレイアウトを変更する改善手段と、変更された後のレイアウトを出力する出力手段とを含む。
【００１２】
本発明のレイアウト設計方法は、配線工程後のレイアウトを参照する工程と、配線工程後のレイアウトからタイミング制約に抵触する配線を検出し、検出された配線の周囲にスペースを空け、空いたスペースを利用して検出された配線の幅を変更し、配線工程後のレイアウトを変更する工程と、変更された後のレイアウトを出力する工程とを含む。
【００１３】
本発明のプログラムは、配線工程後のレイアウトを参照する工程と、配線工程後のレイアウトからタイミング制約に抵触する配線を検出し、検出された配線の周囲にスペースを空け、空いたスペースを利用して検出された配線の幅を変更し、配線工程後のレイアウトを変更する工程と、変更された後のレイアウトを出力する工程とをコンピュータに実行させるためのプログラムである。
【発明の効果】
【００１４】
配線工程後のレイアウトに比べて、本発明により改善された後のレイアウトでは、タイミングの余裕が発生し、消費電力を低減することができる。
【発明を実施するための最良の形態】
【００１５】
以下に、本発明の第１実施形態について添付図面を参照して説明する。
図１を参照すると、本発明のレイアウト設計システムは、入力部１１と、処理部１２と、記憶部１３と、出力部１４を備える。
【００１６】
入力部１１は、システム管理者からの実行指示や、各種設定、必要な情報等の入力を受け付ける。各種設定には、本発明を実施するための環境設定や、所定の実行条件に基づくレイアウト設計の実行指示の設定を含む。
【００１７】
ここでは、入力部１１は、設計制約１０１と、配線後のレイアウト情報１０２と、セルライブラリ情報１０３と、配線プロセス情報１０４の入力を受け付けることが可能である。
【００１８】
設計制約１０１は、タイミング及びエレクトロマイグレーション（Ｅｌｅｃｔｒｏｍｉｇｒａｔｉｏｎ（ＥＭ））の設計制約を示す。ここでは、設計制約１０１は、タイミング制約やＥＭ制約に関する情報を示す。
【００１９】
タイミング制約は、デザイン固有の制約情報として、設計ツールに与えられる。タイミング制約は、業界標準の「ＳＤＣ」というフォーマットを使用して記述される。タイミング制約では、各クロック系統に関して周波数を定義することにより、そのクロック系統に接続されるフリップフロップ（ＦｌｉｐＦｌｏｐ（ＦＦ））間のデータ転送における最大遅延を規定する。例えば、ＡＡＡ／ＢＢＢ／Ｃという端子をクロック源として規定し、その周波数を「２０ｎｓ」と規定する場合、以下の式のように記述される。
ｃｒｅａｔｅ＿ｃｌｏｃｋ＝［ｇｅｔ＿ｐｉｎｓ  ＡＡＡ／ＢＢＢ／Ｃ］−ｐｅｒｉｏｄ  ２０
【００２０】
ＥＭ制約は、ライブラリとして開発ツールに与えられる。ＥＭ制約は、各出力端子について、最大動作周波数を規定する。ここで、最大動作周波数（Ｆ＿ｍａｘ）は、その端子に接続する負荷容量（Ｃ＿ｌｏａｄ）と、波形なまり（ＴＲＦ）によって決定される。ライブラリは、以下の式を表すためのテーブルを記載する。
Ｆ＿ｍａｘ＝Ｆ（Ｃ＿ｌｏａｄ，ＴＲＦ）
【００２１】
配線後のレイアウト情報１０２は、事前に行われた配線工程の結果である配線後のレイアウトデータを示す。配線後のレイアウト情報１０２の例として、米Ｃａｄｅｎｃｅ（登録商標）社のＬＥＦ（Ｌｉｂｒａｒｙ  Ｅｘｃｈａｎｇｅ  Ｆｏｒｍａｔ）／ＤＥＦ（Ｄｅｓｉｇｎ  Ｅｘｃｈａｎｇｅ  Ｆｏｒｍａｔ）ベースの回路ライブラリ形式のレイアウトデータ等が考えられる。但し、実際には、これらの例に限定されない。
【００２２】
セルライブラリ情報１０３は、基本的な論理機能を論理ゲートの集合体として記述したレイアウトデータを示す。ここでは、セルライブラリ情報１０３は、スタンダードセルやハードマクロ等のライブラリ情報を示す。例えば、セルライブラリ情報１０３は、論理ゲート回路等のセルのネットリスト及びレイアウト情報を含む。また、セルライブラリ情報１０３は、ゲート幅を変更した時のようなセルサイズ変更時のタイミング情報も含む。
【００２３】
配線プロセス情報１０４は、配線容量や配線抵抗に関する情報を示す。例えば、配線プロセス情報１０４は、配線幅と配線抵抗の関係を示すデータを含む。
【００２４】
処理部１２は、入力部１１から受け取った情報を基に、処理を行う。ここでは、処理部１２は、入力部１１から入力された情報を取得し、取得された情報や、これらの情報に基づく処理結果を、記憶部１３に格納したり、出力部１４に出力したりする。
【００２５】
図１に示すように、処理部１２は、シミュレーション部１２１と、パス検出部１２２と、配線処理部１２３と、改善判定部１２４と、セル処理部１２５と、処理完了判定部１２６を備える。
【００２６】
シミュレーション部１２１は、配線後のレイアウト情報１０２を受け取ると、設計制約１０１、セルライブラリ情報１０３、及び配線プロセス情報１０４を参照して、シミュレーションを行う。例えば、シミュレーション部１２１は、ＤＲＣ（Ｄｅｓｉｇｎ  Ｒｕｌｅ  Ｃｈｅｃｋｉｎｇ）やＳＴＡ（Ｓｔａｔｉｃ  Ｔｉｍｉｎｇ  Ａｎａｌｙｓｉｓ）によるシミュレーションを実行する。また、シミュレーション部１２１は、レイアウト情報（配線抵抗値）とネットリストを用いたシミュレーションにより遅延時間を解析する。なお、シミュレーション部１２１は、本発明の処理過程における変更後のレイアウト情報や、改善されたレイアウト情報１０５に対しても、シミュレーションを行うことが可能である。
【００２７】
パス検出部１２２は、シミュレーションの結果に応じて、タイミングスラックが小さい順にパスをリストアップし、順にピックアップする。なお、タイミングスラックとは、各パスのタイミングマージンであり、どれくらい小さい微小遅延を検出できるかを示す。リストアップの対象となるパスは、複数のフリップフロップの間、又は複数のラッチ（ｌａｔｃｈ）回路の間に設けられているパスであることが多い。但し、実際には、これらの例に限定されない。
【００２８】
配線処理部１２３は、ピックアップされたパスを構成するネットに対して、そのネットの配線の周囲にスペース（空間、場所、空隙）を空け、空いたスペースを利用して、パスＰを構成するネットの配線を太幅化する。このように、配線処理部１２３は、配線の配置や幅を変更することが可能である。どの程度スペースを空けるかは、配線の幅をどの程度太くするか、すなわち、配線抵抗をどの程度下げるか、に応じて決められる。ここで、「配線を太幅化する」としているのは、通常、最初のレイアウトで配置される配線は最も細い配線であるため、配線幅を変更する際は、配線を太くしていくのが一般的であるためである。配線処理部１２３は、配線の幅を更に細くすることが可能であれば、配線の幅を細くするようにしても良い。なお、配線処理部１２３は、同一の配線層で当該配線の周囲に充分なスペースが空けられない場合、他の配線層を経由するように当該配線を再配線しても良い。例えば、配線処理部１２３は、他の配線層に、当該配線に対してパラレル（ｐａｒａｌｌｅｌ）な配線を配置し、配線抵抗を低減する。
【００２９】
改善判定部１２４は、配線の周囲にスペースを空けることにより、ピックアップされたパスのタイミングスラックが改善したか判定する。すなわち、改善判定部１２４は、タイミングスラックが増加してタイミングに余裕ができたか判定する。例えば、改善判定部１２４は、タイミングスラックが０より大きい値であれば、タイミングに余裕ができたと判定する。タイミングスラックは、プラスの値であれば、余裕あり、マイナスの値であれば、所望のタイミングよりも長く、遅延時間解消が必要となる。ここでは、改善判定部１２４は、タイミングスラックが改善したか否かを、シミュレーション部１２１でのレイアウト情報（配線抵抗値）とネットリストを用いたシミュレーションによる遅延時間解析の結果に基づいて判定する。
【００３０】
セル処理部１２５は、ピックアップされたパスのタイミングスラックが改善している場合、設計制約を満たす範囲で、ネットを駆動しているセルのリサイズ（サイズ変更）を行う。リサイズは、主にダウンサイジング（縮小）を示す。ダウンサイジングは、主にセルのゲート幅を縮小することを示す。また、リサイズには、サイズを０にすることも含む。すなわち、セルの削除（除去）もリサイズの一形態である。ここでは、セルは、バッファやインバータ等のリピータを示す。セル処理部１２５は、セルがインバータの場合、インバータの削除は行わずダウンサイジングのみ行うと好適である。なお、セル処理部１２５は、インバータを削除する必要がある場合、２の倍数の数のインバータを同時に削除する。但し、実際には、これらの例に限定されない。
【００３１】
処理完了判定部１２６は、リストアップされたパスを全て処理したか判定し、全て処理していると判定した場合、出力部１４に対して、改善されたレイアウト情報１０５を通知する。なお、処理完了判定部１２６は、出力部１４に対して、改善されたレイアウト情報１０５を作成するために必要な情報を通知するようにしても良い。改善されたレイアウト情報１０５については後述する。
【００３２】
記憶部１３は、処理部１２から受け取った情報を格納し、処理部１２から要求された際に、格納された情報を処理部１２に提供する。なお、記憶部１３は、設計制約１０１、セルライブラリ情報１０３、及び配線プロセス情報１０４を事前に格納していても良い。また、処理部１２が、プログラムを実行し、当該プログラムに基づいて処理を行う場合、記憶部１３は、当該プログラムを格納し、必要に応じて処理部１２に提供する。
【００３３】
出力部１４は、処理部１２から受け取った情報を、所定の出力形式で出力する。例えば、出力部１４は、処理部１２から受け取った情報を、閲覧可能なデータ形式で表示したり、送信可能なデータ形式でネットワーク上の通信装置に送信したりする。
【００３４】
ここでは、出力部１４は、処理部１２から、改善されたレイアウト情報１０５を受け取り、改善されたレイアウト情報１０５を出力することが可能である。なお、出力部１４は、処理部１２から通知された情報に基づいて、改善されたレイアウト情報１０５を自動的に作成し、所定の条件に応じて、改善されたレイアウト情報１０５を出力するようにしても良い。
【００３５】
改善されたレイアウト情報１０５は、配線後のレイアウト情報１０２を基に、本発明を適用することによりタイミングや消費電力が改善された後のレイアウトデータを示す。
【００３６】
ここでは、入力部１１の例として、外部の入力装置や記憶装置等から情報を取得するためのインターフェース（Ｉ／Ｆ：ｉｎｔｅｒｆａｃｅ）を想定している。他にも、入力部１１の例として、キーボードやキーパッド、画面上のキーパッド、タッチパネル（ｔｏｕｃｈ  ｐａｎｅｌ）、タブレット（ｔａｂｌｅｔ）、又は、記憶媒体（メディア）の読取装置等が考えられる。但し、実際には、これらの例に限定されない。
【００３７】
処理部１２の例として、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）やマイクロプロセッサ（ｍｉｃｒｏｐｒｏｃｅｓｓｏｒ）等の処理装置、又は同様の機能を有する半導体集積回路（Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ（ＩＣ））等が考えられる。なお、シミュレーション部１２１、パス検出部１２２、配線処理部１２３、改善判定部１２４、セル処理部１２５、及び処理完了判定部１２６は、各々の機能をコンピュータに実行させるためのプログラムでも良い。但し、実際には、これらの例に限定されない。
【００３８】
記憶部１３の例として、メモリ等の半導体記憶装置、ハードディスク等の外部記憶装置（ストレージ）、又は、記憶媒体（メディア）等が考えられる。但し、実際には、これらの例に限定されない。
【００３９】
ここでは、出力部１４の例として、外部の出力装置や記憶装置等に情報を出力するためのインターフェースを想定している。他にも、出力部１４の例として、ＬＣＤ（液晶ディスプレイ）やＰＤＰ（プラズマディスプレイ）、有機ＥＬディスプレイ（ｏｒｇａｎｉｃ  ｅｌｅｃｔｒｏｌｕｍｉｎｅｓｃｅｎｃｅ  ｄｉｓｐｌａｙ）等の表示装置、又は、表示内容を壁やスクリーンに投影するプロジェクタ等の映写装置、表示内容を用紙等に印刷するプリンタ等の印刷装置が考えられる。但し、実際には、これらの例に限定されない。
【００４０】
本発明のレイアウト設計システムでは、配線後のレイアウト情報とタイミングやＥＭの設計制約、スタンダードセルやハードマクロ等のライブラリ情報を入力とし、タイミングや消費電力を改善したレイアウトを出力とする。
【００４１】
本発明は、配線工程後のレイアウトを対象としている。その理由は、配線工程前や配線工程時の段階では、配線によるタイミングや消費電力の十分な予測が困難であるからである。そのため、本発明では、一旦、配線工程を実施し、配線工程後のレイアウトを基に、レイアウト変更を試みる。
【００４２】
図２を参照して、本発明のレイアウト設計システム内部の処理部１２における動作について説明する。すなわち、図２は、本発明のレイアウト設計方法の工程を示す。
【００４３】
（１）ステップＳ１０１
シミュレーション部１２１は、配線後のレイアウト情報１０２を受け取ると、処理を開始する。ここでは、シミュレーション部１２１は、配線後のレイアウト情報１０２を受け取ると、設計制約１０１、セルライブラリ情報１０３、及び配線プロセス情報１０４を参照して、シミュレーションを行う。なお、シミュレーション部１２１は、設計制約１０１、セルライブラリ情報１０３、及び配線プロセス情報１０４を、配線後のレイアウト情報１０２と同時に入力部１１から受け取っても良い。或いは、シミュレーション部１２１は、配線後のレイアウト情報１０２を受け取った際に、記憶部１３に事前に格納された設計制約１０１、セルライブラリ情報１０３、及び配線プロセス情報１０４を参照するようにしても良い。シミュレーション部１２１は、シミュレーションの結果、タイミング制約に抵触する配線を検出する。
【００４４】
（２）ステップＳ１０２
パス検出部１２２は、シミュレーションの結果、タイミングスラックの小さい順にパスをリストアップし、順にピックアップする。ここでは、ピックアップされたパスを「Ｐ」とする。すなわち、パスＰは、ピックアップされたパスを示す。
【００４５】
（３）ステップＳ１０３
次に、配線処理部１２３は、パスＰについて、パスＰを構成するネットの配線の周囲にスペースを空けるようにスペーシングを行い、レイアウトを変更する。このとき、配線処理部１２３は、できるだけ他の配線を押し退けたり、再配線したりすることにより、他の配線を避けることでスペースを空ける。これによって、配線処理部１２３は、ネットの配線容量を削減できる。更に、配線処理部１２３は、配線抵抗が大きいプロセスにおいて、配線を太幅化することで抵抗を削減する。なお、配線処理部１２３は、配線を太幅化する際、スペース等の都合で、当該配線の全体を均一に太幅化することができない場合、当該配線を部分的に太幅化するようにしても良い。このとき、配線処理部１２３は、当該配線において、周囲にスペースがあり太幅化することが可能な部分のみ太幅化する。
【００４６】
（４）ステップＳ１０４
改善判定部１２４は、パスＰについて、タイミングスラックが改善しているか判定し、タイミングスラックが改善していれば、この配線変更を採用する。
【００４７】
（５）ステップＳ１０５
改善判定部１２４は、タイミングスラックが改善していなければ、この配線変更を採用せずに元の配線の状態に戻す。ここでは、改善判定部１２４は、タイミングスラックが改善していなければ、直前に行われた配線変更を取り消し、当該配線変更の前の状態に戻す。或いは、改善判定部１２４は、これまでに行われた配線変更を全て取り消し、配線後のレイアウト情報１０２の状態に戻すようにしても良い。
【００４８】
（６）ステップＳ１０６
セル処理部１２５は、タイミングスラックが改善しており、配線変更が採用された場合、配線が変更されたネットについて、タイミングやＥＭの設計制約を満たす範囲で、それを駆動しているセルのリサイズを行う。ここでは、セル処理部１２５は、セルのダウンサイズや削除を行う。セルがリピータであるときのように、論理等価値を保てる場合は、セルを削除しても良い。
【００４９】
（７）ステップＳ１０７
処理完了判定部１２６は、リストアップされたパスを全て処理したか判定し、リストアップされたパスのうち未処理のものが存在しなければ、現在のレイアウトを、改善されたレイアウト情報１０５として出力して終了する。
【００５０】
（８）ステップＳ１０８
処理完了判定部１２６は、リストアップされたパスのうち未処理のものが存在すれば、次のパスに対して同様のことを繰り返す。
【００５１】
なお、シミュレーション部１２１は、上記の各ステップ（工程）において、配線がＤＲＣで違反とならない最小の間隔を保つように、ステップ（工程）毎にシミュレーションを行うようにすると好適である。例えば、シミュレーション部１２１は、配線の周りにスペースを空ける工程の後、或いは配線を太幅化する工程の後、ＤＲＣに基づく配線ルールチェックを行う。これは、配線が他の配線とプロセスでショートしないか等のチェックとなる。但し、実際には、これらの例に限定されない。
【００５２】
図３Ａ、図３Ｂを参照して、本発明の適用前後のレイアウト情報の改善点について説明する。
【００５３】
図３Ａは、配線後のレイアウト情報を示すイメージ図である。ここでは、フリップフロップ３１とフリップフロップ３２の間に配線３３が配置されている。また、配線３３の周囲に配線３４が配置されている。また、配線３３上に、リピータ３５、リピータ３６、リピータ３７、及びリピータ３８が設置されている。なお、フリップフロップ３１及びフリップフロップ３２は、ラッチ回路でも良い。また、リピータ３５、リピータ３６、リピータ３７、及びリピータ３８は、バッファやインバータでも良い。但し、実際には、これらの例に限定されない。
【００５４】
図３Ｂは、改善されたレイアウト情報を示すイメージ図である。すなわち、図３Ｂは、図３Ａに示すレイアウトデータに対して、本発明による改善を行った後のレイアウトデータを示す。図３Ａと比較すると、図３Ｂでは、配線処理部１２３が、配線３３の周囲にある配線３４を押し退けることで、配線３３と配線３４の間の幅を広げてスペースを空けている。また、配線処理部１２３が、空いたスペースを利用して、フリップフロップ３１とフリップフロップ３２の間にある配線３３を太幅化している。また、セル処理部１２５が、不要になったリピータ３５及びリピータ３７を削除している。また、セル処理部１２５が、リピータ３６及びリピータ３８をダウンサイズしている。
【００５５】
図４Ａ、図４Ｂ、図４Ｃを参照して、本発明の適用前後のレイアウト情報の具体的な改善の手順について説明する。
【００５６】
図４Ａは、配線後のレイアウト情報を示すイメージ図である。基本的に、図４Ａは、図３Ａと同様である。ここでは、フリップフロップ４１とフリップフロップ４２の間に配線４３が配置されている。また、配線４３の周囲に配線４４が配置されている。また、配線４３上に、リピータ４５、リピータ４６、リピータ４７、及びリピータ４８が設置されている。なお、フリップフロップ４１及びフリップフロップ４２は、ラッチ回路でも良い。また、リピータ４５、リピータ４６、リピータ４７、及びリピータ４８は、バッファやインバータでも良い。但し、実際には、これらの例に限定されない。
【００５７】
図４Ａでは、タイミング制約は「１０ｎｓ」である。見積もり遅延値は「１２ｎｓ」である。従って、タイミングスラックは「−２ｎｓ」である。また、消費電力は「０．０５０ｍＷ」である。配線処理部１２３は、図４Ａに示すレイアウトデータにおいて、配線４３の周囲にある配線４４を押し退けることで、配線４３と配線４４の間の幅を広げてスペースを空ける。また、配線処理部１２３は、フリップフロップ４１とフリップフロップ４２の間にある配線４３を太幅化する。これにより、図４Ａに示すレイアウトデータは、図４Ｂに示すようなレイアウトデータとなる。
【００５８】
図４Ｂは、配線変更された後のレイアウト情報を示すイメージ図である。
図４Ｂでは、見積もり遅延値は「８ｎｓ」に改善される。タイミング制約は「１０ｎｓ」であるため、タイミングスラックは「＋２ｎｓ」に改善されたことになる。また、配線が太幅化され、配線抵抗が低減した分、消費電力は「０．０４５ｍＷ」に改善される。このとき、タイミングスラックが増加してタイミングに余裕ができたため、その分、セル（リピータ４５、リピータ４６、リピータ４７、及びリピータ４８）のリサイズを試みる。
【００５９】
図４Ｃは、最終的に出力される改善されたレイアウト情報を示すイメージ図である。
図４Ｃでは、セル処理部１２５は、不要になったリピータ４５を削除する。また、セル処理部１２５は、リピータ４６、リピータ４７、及びリピータ４８をダウンサイズする。これにより、見積もり遅延値は「１０ｎｓ」になる。タイミング制約は「１０ｎｓ」であるため、タイミングスラックは「０ｎｓ」になる。また、セルを削除及びダウンサイズした分、駆動電力が低減されるため、消費電力は「０．０４０ｍＷ」に改善される。
【００６０】
図５は、配線幅（ｗ）とシート抵抗（Ｒｓ）の関係を示している。
図５に示されるグラフでは、横軸が配線幅（ｗ）、縦軸がシート抵抗（Ｒｓ）を示す。基本的に、配線幅（ｗ）とシート抵抗（Ｒｓ）は反比例する。ここでは、シート抵抗（Ｒｓ）は、最初、配線幅（ｗ）が太くなるにつれて低減しているが、ある程度まで低減すると、以降はあまり変化せず、一定の水準に近づいていく。
【００６１】
なお、抵抗（Ｒ）とシート抵抗（Ｒｓ）の関係は、以下の式により示される。
Ｒ＝Ｒｓ＊ｌ／ｗ
ここで、「ｌ」は配線長、「ｗ」は配線幅である。
【００６２】
図６は、配線幅（ｗ）と単位長あたりの配線容量（Ｃａｐ）の関係を示している。
図６に示されるグラフでは、横軸が配線幅（ｗ）、縦軸が単位長あたりの配線容量（Ｃａｐ）を示す。基本的に、配線幅（ｗ）と単位長あたりの配線容量（Ｃａｐ）は比例する。ここでは、単位長あたりの配線容量（Ｃａｐ）は、配線幅（ｗ）が太くなるにつれて右肩上がりに推移する。
【００６３】
図７は、押し退け配線の例を示している。
図７では、ピックアップされたパスを構成するネットの配線の周囲にある他の配線を押し退ける前後の変化を示している。ここでは、ピックアップされたパスを構成するネットの配線は、中央に示されている。なお、実線は、同一層（Ｘ層）上の配線を示している。破線は、Ｘ層の隣接層（Ｘ±１層）上の配線を示している。ここでは、対象となる配線の周囲にある他の配線を押し退ける際、他の配線同士の位置関係等を考慮して、他の配線の配置を整理している。
【００６４】
以下に、本発明の第２実施形態について説明する。
本発明の第１実施形態では、配線の周囲にスペースを空け、空いたスペースを利用して、当該配線を太幅化しているが、本発明の第２実施形態では、空いたスペースを利用して、当該配線と対になるシールド配線を挿入する。すなわち、本実施形態では、配線を太幅化する代わりに、配線の本数を増やすことで、配線の抵抗の影響を緩和する。
【００６５】
以上のように、本発明は、配線工程後のレイアウトにおいて、余っている配線リソースを有効に活用して、タイミングや消費電力を改善する手法である。具体的には、本発明では、配線後のレイアウト情報とタイミングやＥＭの設計制約、スタンダードセルやハードマクロ等のライブラリ情報を入力とし、タイミングや消費電力を改善したレイアウトを出力とする。
【００６６】
本発明では、配線幅を増加させることで、配線抵抗が減少し、遅延時間が減少する。これにより、タイミングスラックが増加し、タイミングに余裕ができる。タイミングに余裕ができた場合は、ゲート幅の縮小等によりセル（リピータ等）の電流駆動能力を減少することで、消費電力を減少する。
【００６７】
また、本発明では、配線の周りにスペースをおくことで、配線容量が減少する場合もある。
【００６８】
本発明により、従来の手法であるリピータ挿入では改善できないタイミング問題を、改善することができるようになる。更に、この改善によって生まれたタイミングのゆとりを使い、セルのリサイズや削除を行うことによって、消費電力を低減することができるようになる。その理由は、配線容量や配線抵抗を低減できるためである。特に微細化が進んだプロセスでは、配線によるタイミング遅延が支配的になり、この効果が大きい。
【００６９】
本発明の利用分野として、レイアウトツールやＣＡＤ（Ｃｏｍｐｕｔｅｒ  Ａｉｄｅｄ  Ｄｅｓｉｇｎ）ツール等に適用することが考えられる。
【００７０】
以上、本発明の実施形態を詳述してきたが、実際には上記の実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の変更があっても本発明に含まれる。
【図面の簡単な説明】
【００７１】
【図１】図１は、本発明のレイアウト設計システムの概要を示すブロック図である。
【図２】図２は、本発明のレイアウト設計方法の工程を示すフローチャートである。
【図３Ａ】図３Ａは、配線後のレイアウト情報を示すイメージ図である。
【図３Ｂ】図３Ｂは、改善されたレイアウト情報を示すイメージ図である。
【図４Ａ】図４Ａは、配線後のレイアウト情報を示すイメージ図である。
【図４Ｂ】図４Ｂは、配線変更された後のレイアウト情報を示すイメージ図である。
【図４Ｃ】図４Ｃは、改善されたレイアウト情報を示すイメージ図である。
【図５】図５は、配線幅（ｗ）とシート抵抗（Ｒｓ）の関係を示すグラフのイメージ図である。
【図６】図６は、配線幅（ｗ）と単位長あたりの配線容量（Ｃａｐ）の関係を示すグラフのイメージ図である。
【図７】図７は、押し退け配線の例を示すグラフのイメージ図である。
【符号の説明】
【００７２】
１１…  入力部
１２…  処理部
１２１…  シミュレーション部
１２２…  パス検出部
１２３…  配線処理部
１２４…  改善判定部
１２５…  セル処理部
１２６…  処理完了判定部
１３…  記憶部
１４…  出力部
１０１…  設計制約
１０２…  配線後のレイアウト情報
１０３…  セルライブラリ情報
１０４…  配線プロセス情報
１０５…  改善されたレイアウト情報
【図１】
2009282638.tif 000003
【図２】
2009282638.tif 000004
【図３Ａ】
2009282638.tif 000005
【図３Ｂ】
2009282638.tif 000006
【図４Ａ】
2009282638.tif 000007
【図４Ｂ】
2009282638.tif 000008
【図４Ｃ】
2009282638.tif 000009
【図５】
2009282638.tif 000010
【図６】
2009282638.tif 000011
【図７】
2009282638.tif 000012