(57)【特許請求の範囲】
【請求項１】
半導体装置あるいは電子回路基板の配線レイアウトを行う配線レイアウト装置であって、
回路素子の登録情報、前記回路素子の配置結果情報、デザインルール情報、レイアウトの結果となる配線結果情報及び片側隣接配線禁止指定情報を格納する情報格納部と、
前記回路素子を配置するレイアウト領域に格子状に実配線トラックを設定する実配線トラック設定部と、
前記回路素子の端子が前記実配線トラック上に位置するように前記回路素子を配置し、前記配置結果情報を出力する素子配置部と、
隣接する前記実配線トラックの間に仮想配線トラックを設定する仮想配線トラック設定部と、
前記片側隣接配線禁止指定情報によって指定される第１の配線が接続される前記回路素子の端子を隣接する前記仮想配線トラック上に移動させる端子配置変更部と、
前記デザインルール情報に従って、前記実配線トラック上の端子間を前記実配線トラックに沿って第２の配線で配線し、前記仮想配線トラック上の端子間を前記仮想配線トラックに沿って前記第１の配線で配線する配線部と、
前記第１の配線と前記第２の配線とが隣接して配置される隣接区間の長さを計算する隣接配線区間長算出部と、
前記第１の配線が配置される前記仮想配線トラックに隣接する前記実配線トラックであって、前記隣接区間の長さが短くなる側の前記実配線トラック上に前記第１の配線を移動させ、前記配線結果情報を出力する配線形状変更部と、
前記配線レイアウト装置における動作順序を制御する制御部と、
を有する配線レイアウト装置。
【請求項２】
前記配線形状変更部は、前記第１の配線を区間ごとに異なる前記実配線トラックに沿って配置する請求項１に記載の配線レイアウト装置。
【請求項３】
前記配線形状変更部は、前記第１の配線と低インピーダンス配線とが隣接する場合、前記隣接区間の長さによらず前記低インピーダンス配線に隣接する前記実配線トラックに沿って前記第１の配線を配置する請求項１に記載の配線レイアウト装置。
【請求項４】
前記隣接配線区間長算出部は、並走する前記第１の配線及び前記第２の配線のうち配線間距離が２トラック以下となる配線を対象として前記隣接区間の長さを計算する請求項１に記載の配線レイアウト装置。
【請求項５】
前記端子配置変更部は、前記第１の配線が配置される前記仮想配線トラックの１ピッチ隣に隣接する前記実配線トラックに配線が行われた場合にデザインルールエラーとなる距離が配線禁止領域となるように配線ルールを設定する配線ルール変更部を有する請求項１に記載の配線レイアウト装置。
【請求項６】
前記配線部は、配線を行う対象とするトラックを前記実配線トラックと前記仮想配線トラックとで切り替える配線トラック切り替え部を有する請求項１に記載の配線レイアウト装置。
【請求項７】
情報格納部より読み出した回路素子の情報を用いてコンピュータによって半導体装置あるいは電子回路基板の配線レイアウトを行う配線レイアウト方法であって、
前記コンピュータの処理により、
回路素子を配置するレイアウト領域に格子状に実配線トラックを設定し、
前記回路素子の端子が前記実配線トラック上に位置するように前記回路素子を配置し、
隣接する前記実配線トラックの間に仮想配線トラックを設定し、
前記情報格納部に格納された片側隣接配線禁止指定情報によって指定される第１の配線が接続される前記回路素子の端子を隣接する前記仮想配線トラック上に移動させ、
前記実配線トラック上の端子間を前記実配線トラックに沿って配置される第２の配線で接続し、
前記仮想配線トラック上の端子間を前記仮想配線トラックに沿って前記第１の配線で接続し、
前記第１の配線と前記第２の配線とが隣接して配置される隣接区間の長さを計算し、
前記第１の配線が配置される前記仮想配線トラックに隣接する前記実配線トラックであって、前記隣接区間の長さが短くなる側の前記実配線トラック上に前記第１の配線を移動させ、
配線が完了した配線結果情報を前記情報格納部に出力する
配線レイアウト方法。
【請求項８】
前記第１の配線は、区間ごとに異なる前記実配線トラックに沿って配置される請求項７に記載の配線レイアウト方法。
【請求項９】
前記第１の配線は、低インピーダンス配線が隣接する場合、前記隣接区間の長さによらず前記低インピーダンス配線に隣接する前記実配線トラックに沿って配置される請求項７に記載の配線レイアウト方法。
【請求項１０】
前記隣接区間の長さは、並走する前記第１の配線及び前記第２の配線のうち配線間距離が２トラック以下となる配線を対象として計算される請求項７に記載の配線レイアウト方法。
【請求項１１】
前記配線レイアウト方法は、前記仮想配線トラックの１ピッチ隣に隣接する前記実配線トラックを含む領域を配線禁止領域として配線ルールを設定する請求項７に記載の配線レイアウト方法。
【請求項１２】
情報格納部より読み出した回路素子の情報に基づき半導体装置あるいは電子回路基板の配線レイアウトをコンピュータに実行させる配線レイアウトプログラムであって、
前記回路素子を配置するレイアウト領域に格子状に実配線トラックを設定し、
前記回路素子の端子が前記実配線トラック上に位置するように前記回路素子を配置し、
隣接する前記実配線トラックの間に仮想配線トラックを設定し、
前記情報格納部に格納された片側隣接配線禁止指定情報によって指定される第１の配線が接続される前記回路素子の端子を隣接する前記仮想配線トラック上に移動させ、
前記実配線トラック上の端子間を前記実配線トラックに沿って第２の配線で接続し、
前記仮想配線トラック上の端子間を前記仮想配線トラックに沿って前記第１の配線で接続し、
前記第１の配線と前記第２の配線とが隣接して配置される隣接区間の長さを計算し、
前記第１の配線が配置される前記仮想配線トラックに隣接する前記実配線トラックであって、前記隣接区間の長さが短くなる側の前記実配線トラック上に前記第１の配線を移動し、
配線が完了した配線結果情報を前記情報格納部に出力する
配線レイアウトプログラム。
【請求項１３】
前記第１の配線は、区間ごとに異なる前記実配線トラックに沿って配置される請求項１２に記載の配線レイアウトプログラム。
【請求項１４】
前記第１の配線は、低インピーダンス配線が隣接する場合、前記隣接区間の長さによらず前記低インピーダンス配線に隣接する前記実配線トラックに沿って配置される請求項１２に記載の配線レイアウトプログラム。
【請求項１５】
前記隣接区間の長さは、並走する前記第１の配線及び前記第２の配線のうち配線間距離が２トラック以下となる配線を対象として計算される請求項１２に記載の配線レイアウトプログラム。
【請求項１６】
前記配線レイアウト方法は、前記仮想配線トラックに隣接する前記実配線トラックを含む領域を配線禁止領域として配線ルールを設定する請求項１２に記載の配線レイアウトプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は配線レイアウト装置、配線レイアウト方法及び配線レイアウトプログラムは、片側のみに隣接禁止配線領域を有する配線（例えば、片側隣接禁止配線）のレイアウトを行う配線レイアウト装置、配線レイアウト方法及び配線レイアウトプログラムに関する。
【背景技術】
【０００２】
近年、半導体装置（以下、ＬＳＩと称す）あるいは電子回路基板（以下、ＰＣＢ（Printed Wiring Board）と称す）の配線を演算装置による自動配置配線により行うことが行われている。また、ＬＳＩやＰＷＢにおいて配線される配線は、加工精度の向上にともない高密度化が進んでいる。高密度に配線を行った場合、クロック信号が隣接する配線から干渉ノイズを受け、信号遅延等の回路の不具合を生じる場合がある。この干渉ノイズは、配線間に形成される寄生容量に起因して発生する。そのため、この干渉ノイズを低減するためには、クロック配線等のノイズ源となる配線と他の配線との距離を大きくする必要がある。
【０００３】
そこで、ノイズ源となる配線と他の配線との距離を確保しながら、自動配置配線を行う手法が特許文献１、２に開示されている。特許文献１では、格子点ごとに配線種別配線隣接禁止及び配線種別ビア隣接禁止の状態を格納する配線マップを用いることにより、複数の線種が存在する場合のＬＳＩの配線設計において、実装密度が下がらない隣接禁止の配線設計方式が提案されている。また、特許文献２では、ネットリストに基づきゲートアレイやスタンダードセルの配線パターンを決定する際に、クロック配線やクリティカルパスの配線と他の配線との配線間隔が自動的に広がるようにして、信号遅延を低減することが提案されている。
【特許文献１】特開平６−４５４４２号公報
【特許文献２】特開平９−９２７２６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１、２に提案される方法では、ノイズ源となる配線の両側に他の配線が隣接しないようにするため、配線の収容性が低下する問題がある。この問題を説明するための図を図１２に示す。図１２に示す例では、配線トラックに沿って一層目配線１２１〜１３０及び二層目配線１３１〜１４０が配線される。また、端子１０１〜１０４を有するセルＡと、端子１１１〜１１４を有するセルＢが配置される。そして、セルＡの端子１０２とセルＢの端子１１２とが隣接禁止配線（例えば、クロック配線）ａで接続される。このような場合、特許文献１、２の手法では、隣接禁止配線ａの両側に１トラック以上の間隔が設定される。このとき、隣接禁止配線ａは、必ずしも両側に隣接配線を禁止する必要がない場合がある。しかし、特許文献１、２の手法では、片側のみに隣接配線を禁止することができない。そのため、特許文献１、２の手法では、不必要に配線間隔が設定され、配線の収容性が悪化する問題がある。
【０００５】
本発明はこのような問題点を解決するためになされたものであり、ＬＳＩやＰＷＢの自動配置配線において、片側のみに隣接禁止配線領域を有する片側隣接禁止配線の配置をノイズ低減効果を高めながら行うことを目的とする。
【課題を解決するための手段】
【０００６】
本発明にかかる配線レイアウト装置は、半導体装置あるいは電子回路基板の配線レイアウトを行う配線レイアウト装置であって、回路素子の登録情報、前記回路素子の配置結果情報、デザインルール情報、レイアウトの結果となる配線結果情報及び片側隣接配線禁止指定情報を格納する情報格納部と、前記回路素子を配置するレイアウト領域に格子状に実配線トラックを設定する実配線トラック設定部と、前記回路素子の端子が前記実配線トラック上に位置するように前記回路素子を配置し、前記配置情報を出力する素子配置部と、隣接する前記実配線トラックの間に仮想配線トラックを設定する仮想配線トラック設定部と、前記片側隣接配線禁止指定情報によって指定される第１の配線が接続される前記回路素子の端子を隣接する前記仮想配線トラック上に移動させる端子配置変更部と、前記デザインルール情報に従って、前記実配線トラック上の端子間を前記実配線トラックに沿って第２の配線で接続し、前記仮想配線トラック上の端子間を前記仮想配線トラックに沿って前記第１の配線で接続する配線部と、前記第１の配線と前記第２の配線とが隣接して配置される隣接区間の長さを計算する隣接配線区間長算出部と、前記第１の配線が配置される前記仮想配線トラックに隣接する前記実配線トラックであって、前記隣接区間の長さが短くなる側の前記実配線トラック上に前記第１の配線を移動させ、前記配線結果情報を出力する配線形状変更部と、前記配線レイアウト装置における動作順序を制御する制御部と、を有する。
【０００７】
本発明にかかる配線レイアウト方法は、半導体装置あるいは電子回路基板の配線レイアウトを行う配線レイアウト方法であって、回路素子を配置するレイアウト領域に格子状に実配線トラックを設定し、前記回路素子の端子が前記実配線トラック上に位置するように前記回路素子を配置し、隣接する前記実配線トラックの間に仮想配線トラックを設定し、片側隣接配線禁止指定情報によって指定される第１の配線が接続される前記回路素子の端子を隣接する前記仮想配線トラック上に移動させ、前記実配線トラック上の端子間を前記実配線トラックに沿って第２の配線で接続し、前記仮想配線トラック上の端子間を前記仮想配線トラックに沿って前記第１の配線で接続し、前記第１の配線と前記第２の配線とが隣接して配置される隣接区間の長さを計算し、前記第１の配線が配置される前記仮想配線トラックに隣接する前記実配線トラックであって、前記隣接区間の長さが短くなる側の前記実配線トラック上に前記第１の配線を移動させる。
【０００８】
本発明にかかる配線レイアウトプログラムは、情報格納部より読み出した回路素子の情報に基づき半導体装置あるいは電子回路基板の配線レイアウトをコンピュータに実行させる配線レイアウトプログラムであって、前記回路素子を配置するレイアウト領域に格子状に実配線トラックを設定し、前記回路素子の端子が前記実配線トラック上に位置するように前記回路素子を配置し、隣接する前記実配線トラックの間に仮想配線トラックを設定し、片側隣接配線禁止指定情報によって指定される片側隣接禁止配線が接続される前記回路素子の端子を隣接する前記仮想配線トラック上に移動させ、前記実配線トラック上の端子間を前記実配線トラックに沿って配置される通常配線で接続し、前記仮想配線トラック上の端子間を前記仮想配線トラックに沿って配置される前記片側隣接禁止配線で接続し、前記通常配線と前記片側隣接禁止配線とが隣接して配置される隣接区間の距離を計算し、前記片側隣接禁止配線が配置される前記仮想配線トラックに隣接する前記実配線トラックであって、前記隣接区間の長さが短くなる側の前記実配線トラック上に前記片側隣接禁止配線を移動し、配線が完了した配線結果情報を前記情報格納部に出力する配線レイアウトプログラム。
【発明の効果】
【０００９】
本発明にかかる配線レイアウト装置、配線レイアウト方法及び配線レイアウトプログラムは、ノイズ低減効果を高めながら、片側隣接禁止配線により配線を行うことで配線の収容性を呼応乗させることができる。
【発明を実施するための最良の形態】
【００１０】
実施の形態１
以下、図面を参照して本発明の実施の形態について説明する。本発明の実施の形態１にかかる配線レイアウト装置１のブロック図を図１に示す。図１に示すように、配線レイアウト装置１は、制御部１０、実配線トラック設定部１１、素子配置部１２、仮想配線トラック設定部１３端子配置変更部１４、配線部１６、隣接配線区間長算出部１８、配線形状変更部１９、情報格納部２０を有する。
【００１１】
制御部１０は、実配線トラック設定部１１、素子配置部１２、仮想配線トラック設定部１３端子配置変更部１４、配線部１６、隣接配線区間長算出部１８、及び、配線形状変更部１９の動作順序を制御する。
【００１２】
実配線トラック設定部１１は、回路素子を配置するレイアウト領域に格子状に実配線トラックを設定する。ここで、実配線トラックとは、所定間隔で格子状に配置され、回路素子及び配線を配置する位置の基準となるものである。以下の説明では、配線が複数の層に亘って行われるものとする。また、第１層目の配線は格子状に配置される実配線トラックのうち第１の方向（例えば、Ｘ方向）に延在するトラックを主軸方向とし、第２の方向（例えば、Ｙ方向）に延在するトラックを副軸方向とする。さらに、第１層目の上層の配線層となる第２層目の配線は格子状に配置される実配線トラックのうちＹ方向に延在するトラックを主軸方向とし、Ｘ方向に延在するトラックを副軸方向とする。そして、第１層目、第２層目ともに主軸方向に沿って主な配線がされるもとする。また、配線層の間を接続するビアあるいは回路素子の端子も実配線トラック上に配置される。
【００１３】
素子配置部１２は、情報格納部２０に格納されるレイアウト用物理ライブラリ情報２１を読み出して、レイアウト用物理ライブラリ情報から回路素子（以下では、セルと称す）の情報を抽出する。そして、抽出したセルの端子が実配線トラック上に位置するようにセルの配置を行う。セルの配置が完了すると、素子配置部１２は、情報格納部２０に配置結果情報２２を出力する。
【００１４】
仮想配線トラック設定部１３は、隣接する実配線トラックの間に仮想配線トラックを設定する。本実施の形態では、仮想配線トラックは、隣接する実配線トラック間の距離を等分する位置に沿って設定される。仮想配線トラックは、後述する第１の配線を仮に配置する配線トラックであって、配線のレイアウト完了後に、仮想配線トラック上には回路素子の端子及び配線は配置されない。
【００１５】
端子配置変更部１４は、情報格納部２０に格納される片側隣接配線禁止指定情報２５によって指定されるネットを接続する第１の配線（配線レイアウト完了後に片側隣接禁止配線となる配線）が接続されるセルの端子の位置を仮想配線トラック上に移動する。また、端子配置変更部１４は、配線ルール変更部１５を有する。配線ルール変更部１５は、情報格納部２０に格納されるデザインルール情報２３のうち第１の配線に対する配線ルールを変更する。この配線ルール変更方法の詳細は後述において詳細を説明する。
【００１６】
配線部１６は、情報格納部２０に格納されるデザインルール情報２３に従って、実配線トラック上の端子間を実配線トラックに沿って配置される第２の配線で接続し、仮想配線トラック上の端子間を仮想配線トラックに沿って配置される第１の配線片側隣接禁止配線で接続する。なお、配線部１６は、配線トラック切り替え部１７を有する。配線トラック切り替え部１７は、配線を行う対象とするトラックを実配線トラックと仮想配線トラックとで切り替える。つまり、配線トラック切り替え部１７が、配線対象トラックを実配線トラックにしている場合、配線部１６は実配線トラックに沿って第２の配線を配置し、配線対象トラックを仮想配線トラックとしている場合、配線部１６は仮想配線トラックに沿って第２の配線を配置する。なお、第１の配線と第２の配線は、レイアウト完了後の配線の属性が異なるのみであって、同一の構造を有する配線である。
【００１７】
隣接配線区間長算出部１８は、第１の配線と第２の配線とが隣接して配置される隣接区間の長さを計算する。配線形状変更部１９は、第１の配線が配置される仮想配線トラックに隣接する実配線トラックであって、隣接区間の長さが短くなる側の実配線トラック上に第１の配線を移動させる。そして、配線形状変更部１９は、配線が完了したレイアウトを配線結果情報２４として情報格納部２０に出力する。
【００１８】
情報格納部２０は、バスによって、実配線トラック設定部１１、素子配置部１２、仮想配線トラック設定部１３端子配置変更部１４、配線部１６、隣接配線区間長算出部１８、及び、配線形状変更部１９と接続される。また、情報格納部２０は、レイアウト用物理ライブラリ情報２１、配置結果情報２２、デザインルール情報２３、配線結果情報２４、片側隣接配線禁止指定情報２５が格納される。レイアウト用物理ライブラリ情報２１、デザインルール情報２３、片側隣接配線禁止指定情報２５は、レイアウト開始前に予め設定される情報である。一方、配置結果情報２２は、レイアウトにおける中間情報であり、配線結果情報２４はレイアウトの最終結果情報である。
【００１９】
続いて、実施の形態１にかかる配線レイアウト装置１の動作を示すフローチャートを図２に示し、図２を参照して配線レイアウト装置１の動作を説明する。図２に示すように、配線レイアウト装置１では、まず、実配線トラック設定部１１が、回路素子を配置するレイアウト領域に実配線トラックを設定する（ステップＳ１）。続いて、素子配置部１２が情報格納部２０よりレイアウト用物理ライブラリ情報２１を読み出す（ステップＳ２）。そして、素子配置部１２は、読み出したレイアウト用物理ライブラリ情報２１からセルの情報を抽出して、セルの配置処理を行う（ステップＳ３）。より具体的には、この配置処理は、セルの情報及びセルの接続情報を示すネットリストに基づき行われる。セルの配置が完了すると素子配置部１２は、セルの配置を示す配置結果情報２２を中間情報として情報格納部２０に出力する。その後、配線レイアウト装置１は、仮想配線トラック設定部１３によって、仮想配線トラックを設定する（ステップＳ４）。ステップＳ４までの処理が完了したレイアウトの概略図の一例を図３に示す。
【００２０】
図３に示す例では、セルＡとセルＢとが実配線トラック及び仮想配線トラックが設定されたレイアウト領域に配置される。セルＡは、端子３１〜３４を有し、セルＢは、端子４１〜４４を有する。そして、端子３１〜３４及び端子４１〜４４が実配線トラック上に位置するようにセルＡ及びセルＢは配置される。なお、セルＡとセルＢには予め電源配線ＶＤＤと接地配線ＶＳＳが配置されている。
【００２１】
続いて、配線レイアウト装置１は、端子配置変更部１４によって、片側隣接配線禁止指定情報２５によって指定される第１の配線が接続される端子の位置を仮想配線トラック上に移動させる（ステップＳ５）。端子位置変更後の図３のレイアウトの概略図を図４に示す。図４は、片側隣接配線禁止指定情報２５により端子３２及び端子４２に第１の配線が接続されることが指定される例を示す。図４では、端子３２及び端子４２を移動させた端子として端子３２ａ及び端子４２ａを示す。なお、端子配置変更部１４は、移動後の端子３２ａ及び端子４２ａを設定した後も、移動前の端子３２及び端子４２の端子は残すものとする。
【００２２】
次に、端子配置変更部１４は、配線ルール変更部１５によって、デザインルール情報２３を読み出し、デザインルール情報２３に含まれる配線ルールを変更する（ステップＳ６）。ここで、図５に変更前の配線ルールの例を示し、図６に変更後の配線ルールを示す。そして、配線ルールの変更例を図５、６を用いて説明する。図５に示す配線ルールは、第２の配線（図中の通常配線）に適用される配線ルールを示す。変更前の配線ルールでは、配線の最小線幅としてＷ１が設定され、配線間の最小距離がＷ２として設定される。第１の配線に対しては、この最小線幅Ｗ１及び最小距離Ｗ２が適用される。一方、変更後の配線ルールでは、第１の配線及び第２の配線の最小線幅の変更はないものの、第１の配線（図中の片側隣接禁止配線）の両側に設定される配線間の最小距離がＷ３として設定される。この最小距離Ｗ３は、最小距離Ｗ２よりも大きく設定される。例えば、最小距離Ｗ３は、第２の配線が配置される仮想配線トラックの１ピッチ隣の実配線トラックに配線がなされた場合にデザインルールエラーとなる距離が設定される。つまり、この距離は、片側隣接配線禁止指定情報によって指定される第１の配線が隣の仮想配線トラックに配置されることを防止できる距離が設定される。なお、既存のデザインルール情報内に、隣接配線禁止ルールがある場合、この隣接配線禁止ルールを第１の配線に対するデザインルールとして適用することも可能である。
【００２３】
続いて、配線レイアウト装置１は、配線部１６による配線処理を行う。このとき、本実施の形態では、配線部１６は、配線トラック切り替え部１７が配置処理を行う配線ごとに配線対象トラックを実配線トラックと仮想配線トラックとで逐次切替え処理を行いながら配置処理を実行する。そのため、配線部１６は、配線トラック切替え部１７にて次に配置を行う配線の種類を判断する（ステップＳ７）。ステップＳ７において、次に配置処理を行う配線が第１の配線であると判断された場合、配線トラック切替え部１７は仮想配線トラックを配線対象トラックに設定し、配線部１６は仮想配線トラックに沿って第１の配線の配置処理を行う（ステップＳ８）。一方、ステップＳ７において、次に配置処理を行う配線が第２の配線であると判断された場合、配線トラック切替え部１７は実配線トラックを配線対象トラックに設定し、配線部１６は実配線トラックに沿って第２の配線の配置処理を行う（ステップＳ９）。そして、ステップＳ８又はステップＳ９の配置処理の終了後にすべての配線に対する配置処理が終わったか否かを判定する（ステップＳ１０）。ステップＳ１０においてすべての配線に対して配置処理が完了していればステップＳ１１に進み、未だ配置処理が完了していない配線がある場合は、ステップＳ７に戻る。配線部１６は、処理対象としている配線ごとにこのステップＳ７〜Ｓ１０の処理を順次繰り返し実行する。なお、ステップＳ８、Ｓ９における配線処理では、配線部１６は、ステップＳ６において変更されたデザインルール情報２３を参照しながら配線を行う。つまり、配線部１６により配置された配線は、変更後のデザインルール情報２３による制約に基づき配置される。ステップＳ１０が完了した後のレイアウトの概略図を図７に示す。
【００２４】
図７に示す例では、第１層目配線として第２の配線５０〜６０及び第１の配線Ｃが配置され、第２層目配線として第２の配線６１〜７０が配置される。第１の配線Ｃは、セルＡの端子３２ａとセルＢの端子４２ａとを接続するように配置される。また、第１の配線Ｃは、仮想配線トラック上に配置される。第２の配線５０は端子３１と接続され、さらに第２層目の第２の配線６１とビア（不図示）を介して接続される。第２の配線５１は、第１の配線Ｃと一部が平行する配線であって、ビアを介して第２層目の第２の配線６２と接続される。第２の配線５２は、第１の配線Ｃと一部が平行する配線であって、ビアを介して第２層目の第２の配線６３、６４と接続される。第２の配線６３は、ビアを介して第１層目の第２の配線５３と接続される。第２の配線５３は、端子３３と接続される。第２の配線５４は、端子３４と接続され、さらにビアを介して第２層目の第２の配線６５に接続される。
【００２５】
第２の配線５５は端子４１と接続され、さらに第２層目の第２の配線６６とビアを介して接続される。第２の配線５６は、第１の配線Ｃと一部が平行する配線であって、ビアを介して第２層目の第２の配線６７と接続される。第２の配線５８は、第１の配線Ｃと一部が平行する配線であって、ビアを介して第２層目の第２の配線６８と接続される。第２の配線６８は、ビアを介して第１層目の第２の配線５７と接続される。第２の配線５７は、端子４３と接続される。第２の配線６０は、端子４４と接続され、さらにビアを介して第２層目の第２の配線７０に接続される。第２の配線５９は、第２の配線５８と第２の配線６０との間に配置される配線であって、ビアを介して第２層目の第２の配線６９に接続される。なお、図７に示すように、セルＡの実際の端子３２とセルＢの実際の端子４２には、この時点では配線は行われない。
【００２６】
続いて、配線レイアウト装置１は、隣接配線区間長算出部１８によって、第１の配線Ｃとこれに平行する第２の配線とが隣接する隣接区間の長さの算出処理を行う（ステップＳ１１）。この算出処理を図７のレイアウト図を例に説明する。図７において、第１の配線Ｃの上側に配置される配線は第２の配線５１と第２の配線５６である。このとき、第１の配線Ｃと第２の配線５１が隣接する距離は４トラックであり、第１の配線Ｃと第２の配線５６が隣接する距離は３トラックである。そのため、隣接配線区間長算出部１８は、第１の配線Ｃの上側に配置される第２の配線と第１の配線Ｃとの隣接区間の長さを７トラックと算出する。また、第１の配線Ｃの下側に配置される第２の配線は第２の配線５２と第２の配線５８である。このとき、第１の配線Ｃと第２の配線５２が隣接する距離は３トラックであり、第１の配線Ｃと第２の配線５８が隣接する距離は５トラックである。そのため、隣接配線区間長算出部１８は、第１の配線Ｃの下側に配置される第２の配線と第１の配線Ｃとの隣接区間の長さを８トラックと算出する。
【００２７】
そして、ステップＳ１１の計算結果に基づき、配線形状変更部１９は第１の配線Ｃの形状を変更する（ステップＳ１２）。ステップＳ１２における配線形状変更処理の例を図８に示す。図８に示すレイアウト図は、図７のレイアウト図に対して配線形状変更処理を行ったものである。ステップＳ８において、第１の配線Ｃの上側の隣接区間の長さは７トラックであり、下側の隣接区間の長さは８トラックと算出されたため、配線形状変更部１９は、第１の配線Ｃを第２の配線Ｃが配置されていた仮想配線トラックに隣接する実配線トラックのうち隣接区間の長さの短い上側の実配線トラックに移動させる。図８に示す例では、移動後の実配線トラック上に端子３２及び端子４２が位置しているため、これ以上の変更は行われない。この配線形状変更処理が終了すると配線形状変更部１９は、完成したレイアウトを配線結果情報２４として情報格納部２０に出力する。これにより、配線レイアウト装置１の処理は終了する。
【００２８】
上記説明より、実施の形態１にかかる配線レイアウト装置１は、第１の配線を片側のみに隣接配線禁止領域を有する片側隣接禁止配線としてレイアウトする。このとき、配線レイアウト装置１は、第１の配線とこの配線に隣接する第２の配線との隣接区間の長さを算出し、より隣接区間の長さが短くなる側の実配線トラック上に第１の配線を配置する。これにより、片側隣接禁止配線と他の配線が隣接する距離を最小限にすることができ、片側隣接禁止配線に対するノイズの影響を低減することができる。また、隣接禁止領域を片側のみに設定した片側隣接禁止配線を用いることで、配線の収容性を向上させることができる。
【００２９】
配線レイアウト装置１では、実配線トラック間に仮想配線トラック設定部１３により仮想配線トラックを設定し、仮想配線トラック上に第１の配線を仮配置する。そして、仮配置した第１の配線に対して隣接配線区間長算出部１８により隣接区間の長さを求める。その後に配線形状変更部１９により隣接区間の長さに応じた配線形状の変更を行う。配線レイアウト装置１の各ブロックでこのような処理を行うことで、片側隣接禁止配線となる第１の配線の認識及び第１の配線に関する処理を自動化することが容易になる。また、配線ルール変更部１５及び配線トラック切り替え部１７に関しても、これらブロックにより処理の自動化が容易になる。
【００３０】
実施の形態２
実施の形態２は、配線形状変更部１９における処理の別の例を示すものである。実施の形態２における配線変更処理の途中のレイアウト図を図９に示し、配線変更処理を行った後のレイアウト図を図１０に示す。図９、１０に示すレイアウトは、図７のレイアウトに対して、実施の形態２の配線変更処理を適用したものである。
【００３１】
実施の形態２における配線形状変更処理では、まず、図２のステップＳ１１において計算された隣接区間の長さのうち最大の５トラックとなる区間（第２の配線５８に隣接する区間）とそれに続く空き領域（第２の配線５８と対向する領域であって、第１の配線Ｃに隣接する配線のない領域）の第１の配線Ｃ（図９において、実配線トラック上に配置された第１の配線Ｃ）について配線形状の変更を行う（図９参照）。具体的には、配線変更処理の対象としているセグメントを隣接区間が短い第２の配線５６側の実配線トラックに載せ替えることで配線変更処理を行う。このとき、トラックの載せ替えを行った部分の第１の配線Ｃと未だトラックの載せ替えを行っていない部分の第１の配線Ｃとが不連続になってしまうため、この不連続な部分は副軸方向の配線にて接続する。
【００３２】
続いて、図９の段階においてトラックの載せ替えを行っていない第１の配線Ｃについて再度ステップＳ１１の隣接区間の計算処理を行う。そして、この計算処理において最大の隣接区間の長さを有する第１の配線Ｃについて、配線形状変更処理を行う。図９の段階では、トラックの載せ替えを行っていないセグメントは、第２の配線５１と第２の配線５２とに挟まれる第１の配線ＣがステップＳ１１の計算処理の対象となる。そして、計算された隣接区間の長さのうち最大の４トラックとなる区間（第２の配線５１に隣接する区間）とそれに続く空き領域（第２の配線５１と対向する領域であって、第１の配線Ｃに隣接する配線のない領域）の第１の配線Ｃ（図１０において第２の配線５２側の実配線トラック上に配置された第１の配線Ｃ）について配線形状の変更を行う（図１０参照）。具体的には、配線変更処理の対象としているセグメントを隣接区間が短い第２の配線５２側の実配線トラックに載せ替えることで配線変更処理を行う。このとき、端子３２と第１の配線Ｃとが未接続の状態となるが、この未接続部分は副軸方向の配線で接続される。なお、上記説明とは異なる順序で配線の載せ替えを行うことも可能である。
【００３３】
つまり、実施の形態２では、片側隣接禁止配線となる第１の配線Ｃが隣接区間ごとに異なる実配線トラックに位置するように配置される。その結果、図１０の第１の配線Ｃは屈曲した形状となる。また、実施の形態２では、ステップＳ１１の隣接区間の計算処理において計算された隣接区間の長さが最大となるセグメントに対してステップＳ１２の配線形状変更処理とを行う。これらの処理は、１つのセグメントに対する処理が完了する毎に繰り返し行われる。つまり、上記説明のステップＳ１１及びとステップＳ１２の処理を隣接区間の長いセグメントから順に繰り返し行うことで、隣接区間の長いセグメントに対して優先的に配線形状の変更がなされる。これにより、隣接区間の長さが短いセグメントが先に処理され、隣接区間の長さが長いセグメントの配線形状変更処理が隣接区間の短いセグメントによって阻害されるのを防止する。
【００３４】
このように、区間ごとに第１の配線Ｃを配置する実配線トラックを変更することで、片側隣接禁止配線となる第１の配線Ｃと他の配線の隣接区間の長さをより短くすることができる。これにより、片側隣接禁止配線Ｃに対するノイズの影響を低減する効果をさらに高めることができる。
【００３５】
実施の形態３
実施の形態３は、配線形状変更部１９における処理の別の例を示すものである。実施の形態３における配線変更処理を行った後のレイアウト図を図１１に示す。図１１に示すレイアウトは、第１の配線Ｃの上側にグローバル電源配線ＧＶＤＤが配置される。このグローバル電源配線ＧＶＤＤは、第２層目の第２の配線７１及びビア７２ａ〜ｆを介してセルＡ及びセルＢの電源配線ＶＤＤと接続される。また、グローバル電源配線ＧＶＤＤは第１の配線Ｃと隣接して配置される。図７のレイアウトに対して、実施の形態２の配線変更処理を適用したものである。
【００３６】
実施の形態３の配線形状変更処理は、電源配線のような電位変化がなくインピーダンスの低い配線と第１の配線Ｃが隣接する場合、隣接区間の長さにかかわらず第１の配線Ｃを電源配線側の実配線トラックに配置する。低インピーダンス配線は、ノイズの発生源とならないため、これに隣接して片側隣接禁止配線として配置される第１の配線Ｃを配置しても第１の配線がノイズの影響を受けにくい。
【００３７】
従って、低インピーダンス配線が第１の配線Ｃに隣接する場合、隣接区間の長さによらず低インピーダンス配線に隣接するように第１の配線Ｃを配置することで、ノイズ低減効果と配線収容性を向上させる効果とを得ることができる。
【００３８】
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。例えば、上記実施の形態では、配線レイアウト方法を実現するための配線レイアウト装置について説明したが、配線レイアウト装置における各動作をプログラムによって汎用のコンピュータ等の演算器に行わせることも可能である。また、片側隣接禁止配線として、ノイズの影響を受けたくない配線を指定することも可能である。
【図面の簡単な説明】
【００３９】
【図１】実施の形態１にかかる配線レイアウト装置のブロック図である。
【図２】実施の形態１にかかる配線レイアウト装置の動作を示すフローチャートである。
【図３】実施の形態１にかかる配線レイアウト装置において生成されるレイアウトの例である。
【図４】実施の形態１にかかる変更前の配線ルールの例を示す図である。
【図５】実施の形態１にかかる変更後の配線ルールの例を示す図である。
【図６】実施の形態１にかかる配線レイアウト装置において生成されるレイアウトの例である。
【図７】実施の形態１にかかる配線レイアウト装置において生成されるレイアウトの例である。
【図８】実施の形態１にかかる配線レイアウト装置において生成されるレイアウトの例である。
【図９】実施の形態２にかかる配線変更処理の途中のレイアウトの例である。
【図１０】実施の形態２にかかる配線変更処理の完了後のレイアウトの例である。
【図１１】実施の形態３かかる配線レイアウト装置において生成されるレイアウトの例である。
【図１２】従来のレイアウト方法によって生成されるレイアウトの例である。
【符号の説明】
【００４０】
１    配線レイアウト装置
１０    制御部
１１    実配線トラック設定部
１２    素子配置部
１３    仮想配線トラック設定部
１４    端子配置変更部
１５    配線ルール変更部
１６    配線部
１７    配線トラック切り替え部
１８    隣接配線区間長算出部
１９    配線形状変更部
２０    情報格納部
２１    レイアウト用物理ライブラリ情報
２２    配置結果情報
２３    デザインルール情報
２４    配線結果情報
２５    片側隣接配線禁止指定情報
３１〜３４、３２ａ、４１〜４４、４２ａ    端子
５０〜７１    第２の配線
７２ａ〜７２ｆ    ビア
Ａ、Ｂ    セル
Ｃ    第１の配線
ＧＶＤＤ    グローバル電源配線
ＶＤＤ    電源配線
ＶＳＳ    接地配線
Ｗ１    最小線幅
Ｗ２、Ｗ２    最小距離
【図１】
0005035003.tif 000002
【図２】
0005035003.tif 000003
【図３】
0005035003.tif 000004
【図４】
0005035003.tif 000005
【図５】
0005035003.tif 000006
【図６】
0005035003.tif 000007
【図７】
0005035003.tif 000008
【図８】
0005035003.tif 000009
【図９】
0005035003.tif 000010
【図１０】
0005035003.tif 000011
【図１１】
0005035003.tif 000012
【図１２】
0005035003.tif 000013