(57)【特許請求の範囲】
【請求項１】
コンピュータを、
設計対象回路の回路情報内の対象配線と他層の配線とを接続するビアを抽出する抽出手段、
前記回路情報に含まれる前記対象配線の長さと前記対象配線の幅に基づいて前記対象配線の面積を算出する算出手段、
前記算出手段により算出された前記対象配線の面積が、前記抽出手段により抽出されたビアの個数に対応する規定値以上の場合に前記対象配線を分割し、前記規定値未満の場合に前記対象配線を分割しない分割条件を決定する決定手段、
前記決定手段により決定された前記分割条件に基づいて、前記対象配線を、前記回路情報内でビアが配置されている位置を除く位置で分割する分割手段、
前記分割手段により前記対象配線が分割された後の配線間の接続関係を示す情報と、当該配線間を前記他層の配線により接続させる制約情報とを生成する生成手段、
前記生成手段により生成された接続関係を示す情報および制約情報と、前記対象配線が分割された後の回路情報とを出力する出力手段、
として機能させることを特徴とする設計支援プログラム。
【請求項２】
前記回路情報が、配線ごとに配線の面積を有し、
前記決定手段が、
前記回路情報内に含まれている前記対象配線の面積と前記抽出手段により抽出されたビアの個数に基づいて分割条件を決定することを特徴とする請求項１に記載の設計支援プログラム。
【請求項３】
前記コンピュータを、
前記生成手段により生成された接続関係を示す情報および制約情報に基づいて、前記分割された後の配線間がビアおよび前記他層の配線を介して接続されている回路情報を取得する取得手段、として機能させ、
前記抽出手段は、
前記取得手段により取得された回路情報から前記分割された後の配線をあらたに対象配線とし、当該対象配線と他層の配線とを所定数以下のビアで接続しているビアを抽出することを特徴とする請求項１または２に記載の設計支援プログラム。
【請求項４】
前記コンピュータを、
前記生成手段により生成された接続関係を示す情報および制約情報に基づいて前記対象配線が分割された後の回路情報内の分割された配線間をビアおよび前記他層の配線を介して接続する接続手段、として機能させ、
前記抽出手段は、
前記接続手段により前記分割された後の配線間が接続された回路情報から前記分割された後の配線をあらたに対象配線とし、当該対象配線と前記他層の配線とを接続するビアを抽出することを特徴とする請求項１または２に記載の設計支援プログラム。
【請求項５】
設計対象回路の回路情報内の対象配線と他層の配線とを接続するビアを抽出する抽出手段と、
前記回路情報に含まれる前記対象配線の長さと前記対象配線の幅に基づいて前記対象配線の面積を算出する算出手段と、
前記算出手段により算出された前記対象配線の面積が、前記抽出手段により抽出されたビアの個数に対応する規定値以上の場合に前記対象配線を分割し、前記規定値未満の場合に前記対象配線を分割しない分割条件を決定する決定手段と、
前記決定手段により決定された前記分割条件に基づいて、前記対象配線を、前記回路情報内でビアが配置されている位置を除く位置で分割する分割手段と、
前記分割手段により前記対象配線が分割された後の配線間の接続関係を示す情報と、当該配線間を前記他層の配線により接続させる制約情報とを生成する生成手段と、
前記生成手段により生成された接続関係を示す情報および制約情報と、前記対象配線が分割された後の回路情報とを出力する出力手段と、
を備えることを特徴とする設計支援装置。
【請求項６】
コンピュータが、
設計対象回路の回路情報内の対象配線と他層の配線とを接続するビアを抽出する抽出工程と、
前記回路情報に含まれる前記対象配線の長さと前記対象配線の幅に基づいて前記対象配線の面積を算出する算出工程と、
前記算出工程により算出された前記対象配線の面積が、前記抽出工程により抽出されたビアの個数に対応する規定値以上の場合に前記対象配線を分割し、前記規定値未満の場合に前記対象配線を分割しない分割条件を決定する決定工程と、
前記決定工程により決定された前記分割条件に基づいて、前記対象配線を、前記回路情報内でビアが配置されている位置を除く位置で分割する分割工程と、
前記分割工程により前記対象配線が分割された後の配線間の接続関係を示す情報と、当該配線間を前記他層の配線により接続させる制約情報とを生成する生成工程と、
前記生成工程により生成された接続関係を示す情報および制約情報と、前記対象配線が分割された後の回路情報とを出力する出力工程と、
を実行することを特徴とする設計支援方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路の設計を支援する設計支援プログラム、設計支援装置、および設計支援方法に関する。
【背景技術】
【０００２】
従来より、半導体集積回路の配線では、ストレスマイグレーションと呼ばれる応力により金属原子が移動する影響で断線不良が発生することが知られている。そして、マルチビアと呼ばれる同時に複数個のビアにより配線間を接続させることで、応力による影響を軽減させる技術が知られている（たとえば、下記特許文献１，２参照。）。そして、マルチビアに加え、マルチビアとは異なる位置でさらにビアにより配線間を接続させる技術が知られている（たとえば、下記特許文献３参照。）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００５−２２８８８２号公報
【特許文献２】特開２００４−３１４３９号公報
【特許文献３】特開２００３−１９７６２３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来技術では、同時に複数個のビアを接続させるための領域が必ず存在するとは限らないという問題点があった。さらに、従来技術では、設計者が、ストレスマイグレーションによる影響が大きいビアを設計対象回路の回路情報から探し、マルチビアに必要な領域があるか否かを判断するため、設計に手間がかかり設計が困難となる問題点があった。
【課題を解決するための手段】
【０００５】
本発明の一観点によれば、設計対象回路の回路情報内の任意の対象配線と他層の配線とを、所定数以下のビアで接続しているビアを抽出する抽出手段と、前記回路情報に含まれている前記対象配線の長さと前記対象配線の幅に基づいて前記対象配線の面積を算出する算出手段と、前記算出手段により算出された対象配線の面積と前記抽出手段により抽出されたビアの個数に基づいて分割条件を決定する決定手段と、前記決定手段により決定された分割条件に基づいて、前記対象配線を、前記回路情報内でビアが配置されている位置を除く位置で分割する分割手段と、前記分割手段により前記対象配線が分割された後の配線間の接続関係を示す情報と、当該配線間を同一配線層以外の配線により接続させる制約情報とを生成する生成手段と、前記生成手段により生成された接続関係を示す情報および制約情報と、前記対象配線が分割された後の回路情報とを出力する出力手段と、を備える設計支援装置が提供される。
【発明の効果】
【０００６】
開示の本設計支援プログラム、設計支援装置、および設計支援方法によれば、設計対象回路内の各ビアに対応する配線の面積を小さくすることで、ストレスマイグレーションの影響を小さくすることができ、不良要因の減少化を図ることができるという効果を奏する。
【図面の簡単な説明】
【０００７】
【図１−１】本実施の形態の一実施例を示す説明図（その１）である。
【図１−２】本実施の形態の一実施例を示す説明図（その２）である。
【図２−１】マルチビアの一例を示す説明図である。
【図２−２】シングルビアの一例を示す説明図である。
【図３】実施の形態にかかる設計支援装置のハードウェア構成を示すブロック図である。
【図４】実施の形態にかかる設計支援装置の機能的構成を示すブロック図である。
【図５−１】実施例１で用いる設計対象回路の回路情報の一例を示す説明図である。
【図５−２】回路情報５００の詳細例を示す説明図である。
【図６−１】回路情報の出力例を示す説明図である。
【図６−２】回路情報６００の詳細を示す説明図である。
【図７】対象配線６０１と対象配線６０２とが接続されている例を示す説明図である。
【図８】実施例２で用いる設計対象回路の回路情報の一例を示す説明図である。
【図９】実施例２の回路情報の出力例を示す説明図である。
【図１０】対象配線９０１と対象配線９０２が接続されている例を示す説明図である。
【図１１】設計支援装置４００の設計支援処理手順の一例を示すフローチャート（その１）である。
【図１２】設計支援装置４００の設計支援処理手順の一例を示すフローチャート（その２）である。
【発明を実施するための形態】
【０００８】
以下に添付図面を参照して、本発明による設計支援プログラム、設計支援装置、および設計支援方法の好適な実施の形態を詳細に説明する。
【０００９】
（実施の形態）
本実施の形態では、ビア１個あたりの配線の面積に基づいて、当該配線およびビアにストレスマイグレーションの影響による不良の可能性があるか否かが判断されて当該配線を分割するか否かが決定される。図１−１および図１−２にて本実施の形態の一実施例を示す。
【００１０】
図１−１は、本実施の形態の一実施例を示す説明図（その１）である。回路情報１００は、設計対象回路のレイアウトデータの一部の断面図である。回路情報１００では、対象配線１０１が、ビア１０２を介して下層の配線１０４と接続され、ビア１０３を介して下層の配線１０５と接続されている。
【００１１】
まず、対象配線１０１の面積が、対象配線１０１の長さと対象配線１０１の幅により算出される。つぎに、対象配線１０１と他層の配線とを接続するビアは、ビア１０３とビア１０２の２個である。そして、対象配線１０１の面積とビアの個数に基づいて、ビア１個あたりの対象配線１０１の面積が算出され、ビア１個あたりの配線の面積の規格値より大きい値であるか否かが判断される。ビア１個当たりの対象配線１０１の面積が規格値より大きいため、対象配線１０１と、ビア１０２と、ビア１０３とは、不良となる可能性があると判断される。
【００１２】
よって、本実施の形態では、対象配線１０１が、ビア１０２とビア１０３の配置位置を除く任意の位置で分割される。回路情報１１１では、対象配線１０１が対象配線１０６と対象配線１０７とに分割されている。そして、対象配線１０６および対象配線１０７は、ビア１０８と、ビア１０９と、下層の配線１１０とを介して接続されている。これにより、ビア１個あたりの配線の面積を小さくすることができ、不良が発生する可能性を減少させることができる。
【００１３】
図１−２は、本実施の形態の一実施例を示す説明図（その２）である。図１−２では、回路情報１００内の下層の配線に空き領域が無い場合について説明する。回路情報１１５は、設計対象回路のレイアウトデータの一部の断面図である。回路情報１１５では、対象配線１０１が分割された後の対象配線１０６および対象配線１０７が、ビア１１２と、ビア１１３と、上層の配線１１４とを介して接続されている。
【００１４】
これにより、分割された後の配線間が下層の配線を介して接続できない場合、上層の配線を介して接続されることでビア１個あたりの配線の面積を小さくすることができる。つぎに、図２−１にてマルチビアの一例を示し、図２−２にてシングルビアの一例を示す。
【００１５】
図２−１は、マルチビアの一例を示す説明図である。回路情報２００は、設計対象回路のレイアウトデータの一部を示している。そして、回路情報２００内の対象配線２０１は、ビア２０２やビア２０３を介して下層の配線と接続されている。たとえば、対象配線２０１の面積がビア１個あたりに対して所定の規格値より大きいため、対象配線２０１とビア２０２とビア２０３とが、不良となる可能性があるとする。そして、ビア２０２の右側には、同層および下層ともに配線可能な領域がある。よって、回路情報２０４では、対象配線２０１が、ビア２０２とビア２０５とを介して下層の配線と接続されている。ここで、ビア２０２とビア２０５とが、対象配線と下層の配線とを２個以上のビアで接続しているため、マルチビアである。
【００１６】
図２−２は、シングルビアの一例を示す説明図である。回路情報２０６は、設計対象回路のレイアウトデータの一部を示している。回路情報２０６内の対象配線２０７は、ビア２０８を介して下層の配線と接続され、ビア２０９を介して当該下層の配線とは異なる配線と接続されている。対象配線２０７の面積がビア１個あたりに対して大きいため、対象配線２０７とビア２０８とビア２０９とが、不良となる可能性がある。そして、ビア２０９を例に挙げると、ビア２０９の両側には、同層および下層ともに配線可能な領域が存在しない。よって、対象配線２０１と下層の配線とは、複数個のビアを介して接続できないため、ビア２０９がシングルビアである。
【００１７】
なお、本実施の形態では、回路情報内でシングルビアを介して接続されている箇所は、すべてマルチビアによる接続ができない箇所であるとし、マルチビアにより接続ができるか否かを判断する処理をおこなわない。
【００１８】
（設計支援装置のハードウェア構成）
図３は、実施の形態にかかる設計支援装置のハードウェア構成を示すブロック図である。図３において、設計支援装置は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）３０１と、ＲＯＭ（Ｒｅａｄ‐Ｏｎｌｙ  Ｍｅｍｏｒｙ）３０２と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）３０３と、磁気ディスクドライブ３０４と、磁気ディスク３０５と、光ディスクドライブ３０６と、光ディスク３０７と、ディスプレイ３０８と、Ｉ／Ｆ（Ｉｎｔｅｒｆａｃｅ）３０９と、キーボード３１０と、マウス３１１と、スキャナ３１２と、プリンタ３１３と、を備えている。また、各構成部はバス３００によってそれぞれ接続されている。
【００１９】
ここで、ＣＰＵ３０１は、設計支援装置の全体の制御を司る。ＲＯＭ３０２は、設計支援プログラムや自動配置配線ツールのプログラムなどのプログラムを記憶している。ＲＡＭ３０３は、ＣＰＵ３０１のワークエリアとして使用される。磁気ディスクドライブ３０４は、ＣＰＵ３０１の制御にしたがって磁気ディスク３０５に対するデータのリード／ライトを制御する。磁気ディスク３０５は、磁気ディスクドライブ３０４の制御で書き込まれたデータを記憶する。
【００２０】
光ディスクドライブ３０６は、ＣＰＵ３０１の制御にしたがって光ディスク３０７に対するデータのリード／ライトを制御する。光ディスク３０７は、光ディスクドライブ３０６の制御で書き込まれたデータを記憶したり、光ディスク３０７に記憶されたデータをコンピュータに読み取らせたりする。
【００２１】
ディスプレイ３０８は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。当該ディスプレイ３０８は、たとえば、ＣＲＴ、ＴＦＴ液晶ディスプレイ、プラズマディスプレイなどを採用することができる。
【００２２】
Ｉ／Ｆ３０９は、通信回線を通じてＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、インターネットなどのネットワーク３１４に接続され、当該ネットワーク３１４を介して他の装置に接続される。そして、Ｉ／Ｆ３０９は、ネットワーク３１４と内部のインターフェースを司り、外部装置からのデータの入出力を制御する。Ｉ／Ｆ３０９には、たとえばモデムやＬＡＮアダプタなどを採用することができる。
【００２３】
キーボード３１０は、文字、数字、各種指示などの入力のためのキーを備え、データの入力をおこなう。また、タッチパネル式の入力パッドやテンキーなどであってもよい。マウス３１１は、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などをおこなう。ポインティングデバイスとして同様に機能を備えるものであれば、トラックボールやジョイスティックなどであってもよい。
【００２４】
スキャナ３１２は、画像を光学的に読み取り、設計支援装置内に画像データを取り込む。なお、スキャナ３１２は、ＯＣＲ（Ｏｐｔｉｃａｌ  Ｃｈａｒａｃｔｅｒ  Ｒｅａｄｅｒ）機能を持たせてもよい。また、プリンタ３１３は、画像データや文書データを印刷する。プリンタ３１３には、たとえば、レーザプリンタやインクジェットプリンタを採用することができる。
【００２５】
（設計支援装置の機能的構成）
図４は、実施の形態にかかる設計支援装置の機能的構成を示すブロック図である。設計支援装置４００は、抽出部４０１と、算出部４０２と、決定部４０３と、分割部４０４と、生成部４０５と、取得部４０６と、接続部４０７と、出力部４０８を含む構成である。各機能（抽出部４０１〜出力部４０８）は、具体的には、たとえば、図３に示したＲＯＭ３０２、ＲＡＭ３０３、磁気ディスク３０５、光ディスク３０７などの記憶装置に記憶されたプログラムをＣＰＵ３０１に実行させることにより、または、Ｉ／Ｆ３０９により、各機能を実現する。
【００２６】
本実施の形態では、各機能（抽出部４０１〜出力部４０８）の具体的な処理を実施例１および実施例２の２種類を例に挙げて説明する。まず、実施例１では、対象配線と他層の配線とを接続するビアが、シングルビアのみの回路情報を用いた場合を例に挙げて説明する。つぎに、実施例２では、対象配線と他層の配線とが、マルチビアまたはシングルビアを介して接続されている回路情報を用いた場合を例に挙げて説明する。
【００２７】
（実施例１）
まず、実施例１では、上述したように対象配線と他層の配線とを接続するビアが、シングルビアのみの回路情報を用いた場合を例に挙げて説明する。回路情報内からシングルビアを抽出して各シングルビアに対応する対象配線の面積が最適化されるように対象配線を分割する。図５−１および図５−２にて実施例１の説明において用いる設計対象回路の回路情報を示す。
【００２８】
図５−１は、実施例１で用いる設計対象回路の回路情報の一例を示す説明図である。回路情報５００は、設計対象回路のレイアウトデータの一部を示している。実施例１では、対象配線５０１を、設計対象回路内のｎｅｔ１と呼ばれる素子間を接続するネットの一部として説明する。対象配線５０１は、座標（５５，３２）にてビア５０２を介して下層の配線と接続され、さらに、座標（３０，４０）にてビア５０３を介して下層の配線と接続されている。
【００２９】
対象配線５０１の長さは、対象配線５０１の各座標に基づいて算出されるか、あらかじめ、回路情報５００内に長さの情報として含んでいるとしてもよい。対象配線５０１の長さは、座標（２８，４０）から座標（５５，４０）までの長さと、座標（５５，４０）から座標（５５，３０）までの長さとの加算結果である。よって、対象配線５０１の長さは、３７である。そして、対象配線５０１の配線幅は、４である。なお、回路情報５００は、ＲＡＭ３０３、磁気ディスク３０５、光ディスク３０７などのＣＰＵ３０１がアクセス可能な記憶装置に記憶されている。
【００３０】
図５−２は、回路情報５００の詳細例を示す説明図である。テーブル５０４では、回路情報５００の詳細例を示している。テーブル５０４は、たとえば、層名５０５と、ネット名５０６と、配線幅５０７と、座標５０８と、配線の長さ５０９と、を含む構成である。テーブル５０４では、層名５０５がＭＥＴＡＬ３、ネット名５０６がｎｅｔ１、配線幅５０７が４、座標５０８が（２８，４０）から（５５，４０）と（５５，４０）から（５５，３０）までの配線を有している。当該配線が、対象配線５０１である。そして、対象配線５０１が、設計対象回路内の素子間を接続するｎｅｔ１であることがわかる。
【００３１】
つぎに、ビア２３が座標（３０，４０）の位置と座標（５５，３２）に配置されていることを示している。ここで、ビア２３とは、ＭＥＴＡＬ２とＭＥＴＡＬ３とを接続するビアとする。まず、座標（３０，４０）の位置に配置されているビア２３が、回路情報５００内のビア５０２である。そして、座標（５５，３２）の位置に配置されているビア２３が回路情報５００内のビア５０３である。このように、回路情報が、設計対象回路のネット名の情報を含んでいることで、対象配線が分割されてもネット名に基づいて同一ネットであることがわかる。
【００３２】
また、本実施の形態では、回路情報５００が、テーブル５０４で示すように配線の長さ５０９と、配線幅５０７を有しているが、配線の長さ５０９と配線幅５０７に代わって配線ごとに配線の面積に関する情報を有していてもよい。回路情報５００が配線の面積に関する情報を有している場合、詳細な説明は省略するが後述する算出部４０２の処理は不要である。
【００３３】
図４に戻って、まず、抽出部４０１は、設計対象回路の回路情報内の任意の対象配線と他層の配線とを所定数以下のビアで接続しているビアを抽出する機能を有する。具体的には、たとえば、ＣＰＵ３０１が、記憶装置にアクセスして回路情報５００を読み出し、回路情報５００内の対象配線５０１を選択する。そして、対象配線５０１と他層の配線とを、単一のビア（以下、「シングルビア」と称する。）のみで接続しているビア５０２とビア５０３とを抽出する。
【００３４】
具体的には、たとえば、ＣＰＵ３０１が、対象配線５０１と下層の配線とを接続する任意のビアを選択して、当該任意のビアとその他のビアとの距離に基づき、所定の距離以上離れていれば、任意のビアがシングルビアであると判断し、シングルビアを抽出する。または、たとえば、ＣＰＵ３０１が、対象配線５０１と任意の配線とを接続するビアをすべて抽出し、単一のビアのみ抽出されれば当該ビアは、シングルビアであると判断して、シングルビアを抽出する。ここで挙げた抽出方法は一例であるため、これに限らない。なお、抽出結果は、一旦、ＲＡＭ３０３、磁気ディスク３０５、光ディスク３０７などの記憶装置に記憶される。
【００３５】
つぎに、算出部４０２は、回路情報に含まれている対象配線の長さと対象配線の幅に基づいて対象配線の面積を算出する機能を有する。具体的には、たとえば、ＣＰＵ３０１が、回路情報５００に含まれている対象配線５０１の長さと対象配線５０１の幅に基づいて対象配線５０１の面積を算出する。対象配線５０１の長さは、３７である。そして、対象配線５０１の幅は、４である。よって、対象配線５０１の面積は、１４８である。なお、算出結果は、一旦、ＲＡＭ３０３、磁気ディスク３０５、光ディスク３０７などの記憶装置に記憶される。
【００３６】
そして、決定部４０３は、算出部４０２により算出された対象配線の面積と抽出部４０１により抽出されたシングルビアの個数に基づいて分割条件を決定する機能を有する。本実施の形態では、ビア１個あたりの配線の面積が、所定の規格値以下であれば、対象配線と当該ビアが不良要因でないと判断される。以下、所定の規格値が５０であるとして説明する。
【００３７】
具体的には、たとえば、ＣＰＵ３０１が、記憶装置から算出結果と抽出結果を読み出して対象配線５０１の面積とシングルビアの個数に基づいて、シングルビア１個あたりの対象配線５０１の面積を算出する。そして、ここでは、対象配線５０１の面積が１４８であり、シングルビアがビア５０２とビア５０３とで２個である。よって、シングルビア１個あたりの対象配線５０１の面積は、７４である。
【００３８】
そして、たとえば、ＣＰＵ３０１が、シングルビア１個あたりの対象配線５０１の面積が規格値以下であるか否かを判断する。そして、規格値以下であると判断された場合、対象配線５０１を分割しないと決定し、規格値より大きいと判断された場合、対象配線５０１を分割すると決定する。対象配線５０１の面積は、７４であり、規格値である５０より大きいと判断される。よって、たとえば、ＣＰＵ３０１が、対象配線５０１を分割すると決定する。なお、決定結果は、分割条件としてＲＡＭ３０３、磁気ディスク３０５、光ディスク３０７などの記憶装置に記憶される。
【００３９】
分割部４０４は、決定部４０３により決定された分割条件に基づいて、対象配線を、ビアが配置されている位置を除く位置で分割する機能を有する。具体的には、たとえば、ＣＰＵ３０１が、記憶装置から分割条件を読み出して、対象配線５０１を、ビアが配置されている位置を除いて対象配線５０１の長さが１／２となる位置で分割する。
【００４０】
生成部４０５は、分割部４０４により対象配線が分割された後の配線間の接続関係を示す情報と、当該配線間を同一配線層以外の配線により接続させる制約情報とを生成する機能を有する。
【００４１】
具体的には、たとえば、ＣＰＵ３０１が、分割された後の配線間を接続させる各配線の座標を、接続関係を示す情報として生成する。そして、対象配線５０１の層名より下層の層名と上層の層名とを、分割された後の配線間を同一配線層以外の配線により接続させる制約情報として生成する。対象配線５０１は、ＭＥＴＡＬ３であるため、たとえば、ＭＥＴＡＬ２およびＭＥＴＥＡＬ４の情報を含む情報が制約情報として生成される。
【００４２】
出力部４０８は、分割された後の回路情報と、生成部４０５により生成された接続関係を示す情報および制約情報とを出力する機能を有する。具体的には、たとえば、ＣＰＵ３０１が、分割された後の回路情報と分割された後の各配線間の接続関係を示す情報とを出力する。出力形式としては、たとえば、ディスプレイ３０８への表示、プリンタ３１３への印刷出力、Ｉ／Ｆ３０９による外部装置への送信がある。また、ＲＡＭ３０３、磁気ディスク３０５、光ディスク３０７などの記憶装置に記憶することとしてもよい。図６−１および図６−２にて出力例を示す。
【００４３】
図６−１は、回路情報の出力例を示す説明図である。回路情報６００では、回路情報５００内の対象配線５０１が対象配線６０１と対象配線６０２とに分割されている。そして、対象配線６０１と対象配線６０２とは、ＤＩＶ１の位置とＤＩＶ２の位置とで接続させるため、ＤＩＶ１の座標とＤＩＶ２の座標とが、上述した配線間の接続関係を示す情報である。つぎに、図６−２にて回路情報６００の詳細を示す。
【００４４】
図６−２は、回路情報６００の詳細を示す説明図である。図６−２に示すテーブル６０４では、分割された後の配線情報となっている。層名５０５がＭＥＴＡＬ３、ネット名５０６がｎｅｔ１、配線幅５０７が４、座標５０８が（２８，４０）から（４６，４０）である配線は、回路情報６００内の対象配線６０１である。層名５０５がＭＥＴＡＬ３、ネット名５０６がｎｅｔ１、配線幅５０７が４、座標５０８が（４７，４０）から（５５，４０）と（５５，４０）から（５５，３０）である配線は、回路情報６００内の対象配線６０２である。
【００４５】
したがって、対象配線６０１および対象配線６０２は、いずれもネット名５０６がｎｅｔ１であり、同一ネットであることがわかる。よって、回路情報６００と、ＤＩＶ１およびＤＩＶ２の座標情報と、ＭＥＴＡＬ２およびＭＥＴＡＬ４の制約情報とが自動配置配線ツールに与えられて、自動配置配線ツールにより対象配線６０１と対象配線６０２とがビアおよび他層の配線を介して接続される。図７にて対象配線６０１および対象配線６０２間がビアおよび他層の配線を介して接続されている例を示す。
【００４６】
図７は、対象配線６０１と対象配線６０２とが接続されている例を示す説明図である。回路情報７００では、対象配線６０１および対象配線６０２が、ビア７０１と、ビア７０２と、下層の配線７０３とを介して接続されている。これにより、ビア１個あたりの対象配線の面積が小さくなり、ストレスマイグレーションによる影響を小さくすることができ、不良要因を減少させることができる。さらに、図７では、対象配線６０１と下層の配線７０３とがビア７０１のみを介して接続されているが、複数個のビアを介してもよい。対象配線６０２と下層の配線７０３とも同様にビア７０２を介して接続されているが、複数個のビアを介してもよい。これにより、ストレスマイグレーションの影響を低減させることができる。
【００４７】
つぎに、取得部４０６は、分割された後の回路情報と、生成部４０５により生成された接続関係を示す情報と制約情報とに基づいて分割された後の配線間がビアおよび他層の配線を介して接続されている回路情報を自動配置配線ツールから取得する機能を有する。
【００４８】
具体的には、たとえば、ＣＰＵ３０１が、記憶装置に記憶されている自動配置配線ツールのプログラムを実行する。つぎに、対象配線５０１が分割された後の回路情報と、接続関係を示す情報と、制約情報とを自動配置配線ツールへ入力する。そして、対象配線６０１および対象配線６０２が、ＤＩＶ１およびＤＩＶ２の位置でＭＥＴＡＬ２を介して接続されている回路情報７００を自動配置配線ツールから取得する。
【００４９】
そして、抽出部４０１は、取得部４０６により取得された回路情報から分割された後の配線をあらたに対象配線とし、当該対象配線と他層の配線とを所定数以下のビアで接続しているビアを抽出する機能を有する。具体的には、たとえば、ＣＰＵ３０１が、回路情報７００から対象配線６０１をあらたに対象配線に選択する。そして、対象配線６０１と他層の配線とを接続するシングルビアを抽出する。
【００５０】
つぎに、再度、算出部４０２から生成部４０５までの処理をシングルビア１個あたりの配線の面積が規格値以下となるまで繰り返すことで、シングルビア１個あたりの配線の面積が最適化され、不良要因を減少させることができる。
【００５１】
実施例１では、自動配置配線ツールにより分割された配線間が接続される例を示したが、設計支援装置４００により当該配線間を接続させてもよい。下記に設計支援装置４００により分割された配線間が接続される例を示す。
【００５２】
接続部４０７は、生成部４０５により生成された接続関係を示す情報および制約情報に基づいて、分割された配線間をビアおよび他層の配線を介して接続する機能を有する。上述したように実施例１では、接続関係を示す情報であるＤＩＶ１の座標とＤＩＶ２の座標である。そして、制約情報は、ＭＥＴＡＬ２またはＭＥＴＡＬ４である。
【００５３】
具体的には、たとえば、ＣＰＵ３０１が、回路情報６００からＤＩＶ１の座標とＤＩＶ２の座標を通るＭＥＴＡＬ２の配線を検索する。そして、検索されなかった場合、対象配線６０１にＤＩＶ１の座標からデザインルールに記述されているビアの配置ルールに基づいてビア７０１を配置し、対象配線６０２にビア７０２を配置する。そして、ビア７０１とビア７０２に接続可能なＭＥＴＡＬ２の配線を配置する。なお、接続結果は、ＲＡＭ３０３、磁気ディスク３０５、光ディスク３０７などの記憶装置に記憶される。
【００５４】
そして、抽出部４０１は、接続部４０７により接続された回路情報から分割された後の配線をあらたに対象配線とし、当該対象配線と他層の配線とを所定数以下のビアで接続しているビアを抽出する機能を有する。なお、具体的な処理に関しては、上述した抽出部４０１の機能と同一機能であるため説明を省略する。
【００５５】
また、分割された後の配線間を、自動配置配線ツールを用いて接続させる例と設計支援装置４００内の接続部４０７の機能により接続させる例を説明したが、回路情報内で分割された配線の数が少ない場合、利用者が、接続してもよい。
【００５６】
出力部４０８は、自動配置配線ツールまたは接続部４０７により分割された後の配線間が接続できない場合、当該配線間が接続されない情報を出力する機能を有する。
【００５７】
（実施例２）
つぎに、実施例２を説明する。実施例２では、対象配線と他層の配線とを、マルチビアまたはシングルビアにより接続されている回路情報を用いる場合を例に挙げて説明する。実施例１で説明した機能と同一機能に関しては説明を省略する。以下、図８にて実施例２で用いる設計対象回路の回路情報を示す。
【００５８】
図８は、実施例２で用いる設計対象回路の回路情報の一例を示す説明図である。回路情報８００は、設計対象回路のレイアウトデータの一部を示している。実施例２では、対象配線８０１を、設計対象回路内のｎｅｔ２と呼ばれる素子間を接続するネットの一部として説明する。まず、対象配線８０１は、座標（５５，３０）にてビア８０２を介して下層の配線と接続され、座標（３０，４０）にてビア８０３を介して下層の配線と接続されている。ビア８０２とビア８０３は、それぞれシングルビアである。
【００５９】
さらに、対象配線８０１は、座標（３８，４０）にてビア８０４と座標（３５，４０）にてビア８０５とを介して下層の配線と接続されている。ビア８０４およびビア８０５とは、マルチビアである。そして、対象配線８０１の配線幅は、４である。なお、回路情報８００は、ＲＡＭ３０３、磁気ディスク３０５、光ディスク３０７などのＣＰＵ３０１がアクセス可能な記憶装置に記憶されている。
【００６０】
図４に戻って、抽出部４０１は、設計対象回路の回路情報内の任意の配線をマルチビアごとに対象配線とし、当該対象配線と他層の配線とを接続するためのシングルビアを抽出する。具体的には、たとえば、ＣＰＵ３０１が、記憶装置にアクセスして回路情報８００を読み出し、回路情報８００内の対象配線８０１を選択する。そして、対象配線８０１のマルチビアごとに単一の配線として、任意の配線を選択する。ここでは、対象配線８０１上のビア８０４の位置から座標（５５，３０）までの位置の配線が選択されているとして説明する。
【００６１】
つぎに、算出部４０２は、実施例１で説明した機能と同一機能であるため説明を省略する。対象配線の長さは、配線の座標とビアの座標に基づいて算出することができる。具体的には、ビア８０４の座標（３８，４０）から座標（５５，３０）までの長さは２７であり、対象配線８０１の幅は４であるため、よって面積は、１０８である。
【００６２】
つぎに、決定部４０３は、実施例１で説明した機能と同一機能であるため説明を省略する。実施例２では、実施例１と同様に規格値が５０であるとして説明する。そして、対象配線の面積が１０８であるため、当該対象配線は、分割すると決定される。
【００６３】
そして、分割部４０４と、生成部４０５と、出力部４０８とは、実施例１で説明した機能と同一機能であるため説明を省略する。さらに、回路情報８００内の座標（２８，４０）からビア８０５の位置までの対象配線８０１が、同様の機能により分割されるか否かが決定される。なお、座標（２８，４０）からビア８０５の座標（３５，４０）までの対象配線８０１の面積は、５０以下であるため、分割されない。図９にて実施例２の回路情報の出力例を示す。
【００６４】
図９は、実施例２の回路情報の出力例を示す説明図である。回路情報９００では、回路情報８００内のビア８０４の座標（３８，４０）から座標（５５，３０）までの対象配線８０１が２分割されている。一方、回路情報８００内の座標（２８，４０）からビア８０５の座標（３５，４０）までの対象配線８０１は、分割されていない。よって、対象配線８０１が、対象配線９０１と対象配線９０２に２分割されている。
【００６５】
そして、対象配線９０１と対象配線９０２とは、ＤＩＶ１の位置とＤＩＶ２の位置とで接続させるため、ＤＩＶ１の座標とＤＩＶ２の座標とが、上述した配線間の接続関係を示す情報である。
【００６６】
図４に戻って、取得部４０６は、実施例１で説明した機能と同一機能であり、自動配置配線ツールから分割された配線間が、ビアおよび他層の配線を介して接続されている回路情報を取得する機能を有する。図１０にて自動配置配線ツールにより配線間が接続されている例を示す。
【００６７】
図１０は、対象配線９０１と対象配線９０２が接続されている例を示す説明図である。回路情報１０００では、対象配線９０１と対象配線９０２が下層の配線を介して接続されている。対象配線９０１と下層の配線１００５がビア１００１とビア１００２とを介して接続され、当該下層の配線１００５と対象配線９０２とがビア１００３とビア１００４とを介して接続されることで、対象配線９０１および対象配線９０２とが接続されている。さらに、再度、抽出部４０１から出力部４０８までの処理を繰り返すことで、ビア１個あたりの対象配線の面積が最適化され、不良要因を減少させることができる。
【００６８】
また、本実施の形態では、所定数以下のビアをシングルビアのみを用いて説明したが、これに限らず、所定数をＮとした場合にＮが１以上であれば種々変更可能である。
【００６９】
（設計支援装置４００の設計支援処理手順）
図１１および図１２は、設計支援装置４００の設計支援処理手順の一例を示すフローチャートである。ここでは、具体的に実施例１に沿って各ステップを説明する。まず、図１１では、設計対象回路の回路情報を取得し（ステップＳ１１０１）、回路情報内から配線を抽出する（ステップＳ１１０２）。具体的には、たとえば、上述した回路情報５００が取得される。そして、回路情報５００から配線が抽出される。
【００７０】
つぎに、未選択の配線があるか否かを判断する（ステップＳ１１０３）。ステップＳ１１０３において、未選択の配線があると判断された場合（ステップＳ１１０３：Ｙｅｓ）、未選択の配線から任意の配線を対象配線に選択する（ステップＳ１１０４）。ここで、実施例１では、回路情報５００内の対象配線５０１が対象配線に選択される。
【００７１】
ステップＳ１１０４のつぎに、図１２に移って、抽出部４０１により、対象配線とその他層の配線とを接続するシングルビアを抽出し（ステップＳ１１０５）、シングルビアがあるか否かを判断する（ステップＳ１１０６）。実施例１では、対象配線５０１と下層の配線とを接続するビア５０２およびビア５０３が抽出される。
【００７２】
ステップＳ１１０６において、シングルビアがあると判断された場合（ステップＳ１１０６：Ｙｅｓ）、算出部４０２により、回路情報に含まれている対象配線の長さと対象配線の幅から対象配線の面積を算出する（ステップＳ１１０７）。実施例１では、上述したように対象配線５０１の長さは、３７であり、対象配線５０１の配線幅は、４であるため、対象配線５０１の面積は、１４８である。
【００７３】
そして、ビア１個あたりの配線の面積＝対象配線の面積／シングルビアの個数、を計算し（ステップＳ１１０８）、ビア１個あたりの対象配線の面積＞ビア１個あたりの配線の面積の規格値であるか否かを判断する（ステップＳ１１０９）。実施例１では、対象配線５０１の面積は１４８であり、抽出されたビアの個数は２個である。よって、ビア１個あたりの配線の面積は、７４である。そして、上述したように規格値を５０とした場合、ビア１個あたりの対象配線５０１の面積が、規格値より大きいと判断される。
【００７４】
まず、ビア１個あたりの配線の面積＞規格値であると判断された場合（ステップＳ１１０９：Ｙｅｓ）、決定部４０３により、対象配線を分割すると決定され、分割部４０４により、ビアの配置位置を除く位置で対象配線を２分割する（ステップＳ１１１０）。実施例１では、ビア１個あたりの対象配線５０１の面積が、規格値より大きいと判断されるため、対象配線５０１は分割すると決定され、２分割される。対象配線５０１が分割された後の回路情報が、回路情報６００である。
【００７５】
そして、生成部４０５により、分割後の配線間の接続関係を示す情報を生成し（ステップＳ１１１１）、生成部４０５により、分割後の配線間を接続させる配線の層情報を制約情報として生成する（ステップＳ１１１２）。実施例１では、分割後の配線とは、対象配線６０１と対象配線６０２である。そして、接続関係を示す情報が、ＤＩＶ１とＤＩＶ２である。そして、対象配線６０１と対象配線６０２の層名が、ＭＥＴＡＬ３であるため、ＭＥＴＡＬ２またはＭＥＴＥＡＬ４の情報が生成される。
【００７６】
ステップＳ１１１２のつぎに、出力部４０８により、接続関係を示す情報と、制約情報と、回路情報とを関連付けて保存し（ステップＳ１１１３）、ステップＳ１１０６へ戻る。
【００７７】
一方、ステップＳ１１０９において、ビア１個あたりの配線の面積＞規格値でないと判断された場合（ステップＳ１１０９：Ｎｏ）、図１１のステップＳ１１０３へ戻る。ビア１個あたりの配線の面積が規格値以下の場合、当該配線およびビアはストレスマイグレーションの影響により不良となる可能性が低いと判断されている。一方、ステップＳ１１０６において、シングルビアがないと判断された場合（ステップＳ１１０６：Ｎｏ）、図１１のステップＳ１１０３へ戻る。
【００７８】
図１１のステップＳ１１０３において、未選択の配線がないと判断された場合（ステップＳ１１０３：Ｎｏ）、分割された配線があるか否かを判断する（ステップＳ１１１４）。
【００７９】
そして、分割された配線があると判断された場合（ステップＳ１１１４：Ｙｅｓ）、自動配置配線ツールへ回路情報を与える（ステップＳ１１１５）。そして、自動配置配線ツールから配線後の回路情報を取得し（ステップＳ１１１６）、ステップＳ１１０２へ戻る。実施例１では、自動配置配線ツールから取得した回路情報が、回路情報７００である。
【００８０】
一方、ステップＳ１１１４において、分割された配線がないと判断された場合（ステップＳ１１１４：Ｎｏ）、一連の処理を終了する。これにより、シングルビアに対する配線の面積が最適化され、不良要因を減少化させることができる。
【００８１】
以上説明したように、設計支援プログラム、設計支援装置、および設計支援方法によれば、回路情報内の任意の対象配線と他層の配線とを接続するシングルビアの個数と、対象配線の面積とに基づいて対象配線を分割する。そして、分割された後の配線間の接続関係を示す情報と、当該配線間を直接接続させずに他層の配線により接続させるための他層の情報を含む制約情報とを生成する。これにより、シングルビア１個あたりの対象配線の面積を小さくすることができ、ストレスマイグレーションの影響で発生する不良を容易に減少させることができる。
【００８２】
また、当該回路情報を自動配置配線ツールへ与えることで、分割された配線間が他層の配線を介して接続されている回路情報を自動配置配線ツールから取得して分割された配線をあらたに対象配線とし、同様の処理を繰り返す。これにより、シングルビア１個あたりの対象配線の面積を最適化することができる、ストレスマイグレーションにより発生する不良を容易に減少させることができる。
【００８３】
また、対象配線が分割された後の回路情報と、生成された配線間の接続関係を示す情報と、制約情報とを自動配置配線ツールへ与える。そして、分割された配線間が他層の配線を介して接続されている回路情報を自動配置配線ツールから取得して分割された配線をあらたに対象配線とし、同様の処理を繰り返す。これにより、シングルビア１個あたりの対象配線の面積を最適化することができる。これにより、ストレスマイグレーションにより発生する不良を容易に減少させることができる。
【００８４】
また、配線間の接続関係を示す情報と制約情報とに基づいて分割された配線間を他層の配線を介して接続することで配線上のビアの数が増加し、シングルビア１個あたりの配線の面積が最適化される。これにより、ストレスマイグレーションにより発生する不良を容易に減少させることができる。
【００８５】
なお、本実施の形態で説明した設計支援方法は、あらかじめ用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本設計支援プログラムは、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また本設計支援プログラムは、インターネット等のネットワークを介して配布してもよい。
【符号の説明】
【００８６】
１００，１１１，１１５，２００，２０４，２０６，５００，６００，７００，８００，９００，１０００  回路情報
１０２，１０３，１０８，１０９，２０２，２０３，２０５，２０８，２０９，５０２，５０３，７０１，７０２，８０２，８０３，８０４，８０５，１００１，１００２，１００３，１００４  ビア
４００  設計支援装置
４０１  抽出部
４０２  算出部
４０３  決定部
４０４  分割部
４０５  生成部
４０６  取得部
４０７  接続部
４０８  出力部
１０１，２０１，５０１，８０１  対象配線
【図１−１】
0005434355.tif 000002
【図１−２】
0005434355.tif 000003
【図２−１】
0005434355.tif 000004
【図２−２】
0005434355.tif 000005
【図３】
0005434355.tif 000006
【図４】
0005434355.tif 000007
【図５−１】
0005434355.tif 000008
【図５−２】
0005434355.tif 000009
【図６−１】
0005434355.tif 000010
【図６−２】
0005434355.tif 000011
【図７】
0005434355.tif 000012
【図８】
0005434355.tif 000013
【図９】
0005434355.tif 000014
【図１０】
0005434355.tif 000015
【図１１】
0005434355.tif 000016
【図１２】
0005434355.tif 000017