(57)【特許請求の範囲】
【請求項１】
半導体集積回路上の複数の機能ブロックを電気的に相互に接続するための配線設計方法において、
前記複数の機能ブロック間において、該機能ブロックのうち負荷として機能するブロックの入力端を含む配線分岐点を得るステップと、
前記配線分岐点について、前記機能ブロックの信号源側から負荷側方向へ検索を行い、前記信号源に近い順に前記電流密度の検証を行って前記配線分岐点における電流密度を求めるステップと、
前記電流密度が所定の制限値を越えているか否かを判定するステップと、
前記判定の結果をもとに、前記電流密度が前記制限値を超過している配線分岐点を末端とし、該配線分岐点とその信号源方向に位置する他の配線分岐点とで示される区間、または、該配線分岐点とその信号源方向に位置する前記機能ブロックの出力端とで示される区間に対して電流密度を低減する処理を施すステップとを備えることを特徴とする配線設計方法。
【請求項２】
前記所定の制限値は、前記区間における配線が溶断しない最大電流密度であることを特徴とする請求項１記載の配線設計方法。
【請求項３】
前記最大電流密度は、前記区間の信号源側に位置する前記機能ブロックの出力端の駆動能力、および、当該区間の配線抵抗の合計値によって規定されることを特徴とする請求項２記載の配線設計方法。
【請求項４】
前記電流密度を低減する処理には、前記配線部分の電気抵抗を低減する処理が含まれることを特徴とする請求項３記載の配線設計方法。
【請求項５】
半導体集積回路上の複数の機能ブロックを電気的に相互に接続するための配線設計装置において、
前記複数の機能ブロック間において該機能ブロックのうち負荷として機能するブロックの入力端を含む配線分岐点を得る手段と、
前記配線分岐点について、前記機能ブロックの信号源側から負荷側方向へ検索を行い、前記信号源に近い順に前記電流密度の検証を行って前記配線分岐点における電流密度を求める手段と、
前記電流密度が所定の制限値を越えているか否かを判定する手段と、
前記判定の結果をもとに、前記電流密度が前記制限値を超過している配線分岐点を末端とし、該配線分岐点とその信号源方向に位置する他の配線分岐点とで示される区間、または、該配線分岐点とその信号源方向に位置する前記機能ブロックの出力端とで示される区間に対して電流密度を低減する処理を施す手段とを備えることを特徴とする配線設計装置。
【請求項６】
前記所定の制限値は、前記区間における配線が溶断しない最大電流密度であることを特徴とする請求項５記載の配線設計装置。
【請求項７】
前記最大電流密度は、前記区間の信号源側に位置する前記機能ブロックの出力端の駆動能力、および、当該区間の配線抵抗の合計値によって規定されることを特徴とする請求項６記載の配線設計装置。
【請求項８】
前記電流密度を低減する処理には、前記配線部分の電気抵抗を低減する処理が含まれることを特徴とする請求項７記載の配線設計装置。
【請求項９】
半導体集積回路上の複数の機能ブロックを電気的に相互に接続するための配線設計方法を実行するプログラムを記録したコンピュータ可読記録媒体において、
前記複数の機能ブロック間において、該機能ブロックのうち負荷として機能するブロックの入力端を含む配線分岐点を得るステップのプログラムコードと、
前記配線分岐点について、前記機能ブロックの信号源側から負荷側方向へ検索を行い、前記信号源に近い順に前記電流密度の検証を行って前記配線分岐点における電流密度を求めるステップのプログラムコードと、
前記電流密度が所定の制限値を越えているか否かを判定するステップのプログラムコードと、
前記判定の結果をもとに、前記電流密度が前記制限値を超過している配線分岐点を末端とし、該配線分岐点とその信号源方向に位置する他の配線分岐点とで示される区間、または、該配線分岐点とその信号源方向に位置する前記機能ブロックの出力端とで示される区間に対して電流密度を低減する処理を施すステップのプログラムコードとを備えることを特徴とするコンピュータ可読記録媒体。
【請求項１０】
前記所定の制限値は、前記区間における配線が溶断しない最大電流密度であることを特徴とする請求項９記載のコンピュータ可読記録媒体。
【請求項１１】
前記最大電流密度は、前記区間の信号源側に位置する前記機能ブロックの出力端の駆動能力、および、当該区間の配線抵抗の合計値によって規定されることを特徴とする請求項１０記載のコンピュータ可読記録媒体。
【請求項１２】
前記電流密度を低減する処理には、前記配線部分の電気抵抗を低減する処理が含まれることを特徴とする請求項１１記載のコンピュータ可読記録媒体。
【請求項１３】
半導体集積回路上の複数の機能ブロックを電気的に相互に接続するための配線設計処理を実行するプログラムにおいて、
前記複数の機能ブロック間において、該機能ブロックのうち負荷として機能するブロックの入力端を含む配線分岐点を得る処理と、
前記配線分岐点について、前記機能ブロックの信号源側から負荷側方向へ検索を行い、前記信号源に近い順に前記電流密度の検証を行って前記配線分岐点における電流密度を求める処理と、
前記電流密度が所定の制限値を越えているか否かを判定する処理と、
前記判定の結果をもとに、前記電流密度が前記制限値を超過している配線分岐点を末端とし、該配線分岐点とその信号源方向に位置する他の配線分岐点とで示される区間、または、該配線分岐点とその信号源方向に位置する前記機能ブロックの出力端とで示される区間に対して電流密度を低減する処理を施す処理とを実行させるためのプログラム。
【請求項１４】
前記所定の制限値は、前記区間における配線が溶断しない最大電流密度であることを特徴とする請求項１３記載のプログラム。
【請求項１５】
前記最大電流密度は、前記区間の信号源側に位置する前記機能ブロックの出力端の駆動能力、および、当該区間の配線抵抗の合計値によって規定されることを特徴とする請求項１４記載のプログラム。
【請求項１６】
前記電流密度を低減する処理には、前記配線部分の電気抵抗を低減する処理が含まれることを特徴とする請求項１５記載のプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、半導体集積回路上の複数の機能ブロックを電気的に相互に接続するための配線設計方法および配線設計装置に関するものである。
【０００２】
【従来の技術】
近年、大規模集積回路（ＬＳＩ）では、高集積化、並びに高速化が著しく、これに伴って、回路における消費電力も増加している。このため、回路を構成する配線における電流密度が大きい箇所では、エレクトロマイグレーション(electromigration)による配線の溶断が生じる可能性が大きくなっている。
【０００３】
エレクトロマイグレーションとは、配線金属膜中の電流密度が増大したり、チップ当たりの消費電力が増大してデバイスの温度が上昇し、それによる高温の状態で高密度の電流が流れると、キャリアから電極構成電子に金属膜中の金属イオンの移動が起こって空孔が生じ、そのため、さらに電流密度が上がって、ついには配線が溶断することをいう。
【０００４】
このエレクトロマイグレーションを防ぐには、単に配線幅を広げたり、配線中に中継バッファ等を挿入して配線長を分断する等の対策が考えられる。例えば、特開平１１−９７５４１号公報には、半導体集積回路における配線設計方法に係る発明であって、機能ブロック間の配線を流れる電流密度を求め、それが規格内にあるか否かに応じて、配線の分枝ごとに必要な配線の本数を算出して、分枝ごとに再度、配線を行う技術が開示されている。
【０００５】
【発明が解決しようとする課題】
しかしながら、上記の問題を回避するため、従来は、エレクトロマイグレーションにより断線する可能性のあるネットについては、配線結果を人手で修正している例もあり、このような場合、人手による配線修正工数が増大するという問題がある。
【０００６】
また、上記特開平１１−９７５４１号公報に記載の配線設計方法では、配線を流れる電流密度が規格内にないとき、分枝ごとに必要な配線の本数を算出して、再配線を行っているため、場合によっては、初期配線が全く生かされないという事態も発生する。さらには、その再配線が、基板あるいはサブストレート上において多大な面積を占有することになる場合、配線上の制約が多くなるという問題がある。
【０００７】
本発明は、上述の課題に鑑みてなされたものであり、その目的とするところは、半導体集積回路における電流密度過多によるエレクトロマイグレーションの影響で生じる配線の溶断を防止する配線設計方法および配線設計装置を提供することである。
【０００８】
また、本発明の他の目的は、半導体集積回路の配線において溶断を生じやすい、あるいは、その可能性のある個所を効率的かつ迅速に発見、修正できる配線設計方法および配線設計装置を提供することである。
【０００９】
【課題を解決するための手段】
上記の目的を達成するため、本発明は、第１の態様として、半導体集積回路上の複数の機能ブロックを電気的に相互に接続するための配線設計方法において、前記複数の機能ブロック間において、該機能ブロックのうち負荷として機能するブロックの入力端を含む配線分岐点を得るステップと、前記配線分岐点について、前記機能ブロックの信号源側から負荷側方向へ検索を行い、前記信号源に近い順に前記電流密度の検証を行って前記配線分岐点における電流密度を求めるステップと、前記電流密度が所定の制限値を越えているか否かを判定するステップと、前記判定の結果をもとに、前記電流密度が前記制限値を超過している配線分岐点を末端とし、該配線分岐点とその信号源方向に位置する他の配線分岐点とで示される区間、または、該配線分岐点とその信号源方向に位置する前記機能ブロックの出力端とで示される区間に対して電流密度を低減する処理を施すステップとを備えることを特徴とする配線設計方法を提供するものである。
【００１０】
上記本発明の第１の態様においては、所定の制限値は、前記区間における配線が溶断しない最大電流密度であることが好ましい。これに加えて、最大電流密度は、前記区間の信号源側に位置する前記機能ブロックの出力端の駆動能力、および、当該区間の配線抵抗の合計値によって規定されることがより好ましい。さらに加えて、電流密度を低減する処理には、前記配線部分の電気抵抗を低減する処理が含まれることがより好ましい。
【００１１】
また、上記目的を達成するため、本発明は第２の態様として、半導体集積回路上の複数の機能ブロックを電気的に相互に接続するための配線設計装置において、前記複数の機能ブロック間において該機能ブロックのうち負荷として機能するブロックの入力端を含む配線分岐点を得る手段と、前記配線分岐点について、前記機能ブロックの信号源側から負荷側方向へ検索を行い、前記信号源に近い順に前記電流密度の検証を行って前記配線分岐点における電流密度を求める手段と、前記電流密度が所定の制限値を越えているか否かを判定する手段と、前記判定の結果をもとに、前記電流密度が前記制限値を超過している配線分岐点を末端とし、該配線分岐点とその信号源方向に位置する他の配線分岐点とで示される区間、または、該配線分岐点とその信号源方向に位置する前記機能ブロックの出力端とで示される区間に対して電流密度を低減する処理を施す手段とを備えることを特徴とする配線設計装置を提供するものである。
【００１２】
上記本発明の第２の態様においては、所定の制限値は、前記区間における配線が溶断しない最大電流密度であることが好ましい。これに加えて、最大電流密度は、前記区間の信号源側に位置する前記機能ブロックの出力端の駆動能力、および、当該区間の配線抵抗の合計値によって規定されることがより好ましい。さらに加えて、電流密度を低減する処理には、前記配線部分の電気抵抗を低減する処理が含まれることがより好ましい。
【００１３】
また、上記目的を達成するため、本発明は、第３の態様として、半導体集積回路上の複数の機能ブロックを電気的に相互に接続するための配線設計方法を実行するプログラムを記録したコンピュータ可読記録媒体において、前記複数の機能ブロック間において、該機能ブロックのうち負荷として機能するブロックの入力端を含む配線分岐点を得るステップのプログラムコードと、前記配線分岐点について、前記機能ブロックの信号源側から負荷側方向へ検索を行い、前記信号源に近い順に前記電流密度の検証を行って前記配線分岐点における電流密度を求めるステップのプログラムコードと、前記電流密度が所定の制限値を越えているか否かを判定するステップのプログラムコードと、前記判定の結果をもとに、前記電流密度が前記制限値を超過している配線分岐点を末端とし、該配線分岐点とその信号源方向に位置する他の配線分岐点とで示される区間、または、該配線分岐点とその信号源方向に位置する前記機能ブロックの出力端とで示される区間に対して電流密度を低減する処理を施すステップのプログラムコードとを備えることを特徴とするコンピュータ可読記録媒体を提供するものである。
【００１４】
上記本発明の第３の態様においては、所定の制限値は、前記区間における配線が溶断しない最大電流密度であることが好ましい。これに加えて、最大電流密度は、前記区間の信号源側に位置する前記機能ブロックの出力端の駆動能力、および、当該区間の配線抵抗の合計値によって規定されることがより好ましい。さらに加えて、電流密度を低減する処理には、前記配線部分の電気抵抗を低減する処理が含まれることがより好ましい。
【００１５】
また、上記目的を達成するため、本発明は、第４の態様として、半導体集積回路上の複数の機能ブロックを電気的に相互に接続するための配線設計処理を実行するプログラムにおいて、前記複数の機能ブロック間において、該機能ブロックのうち負荷として機能するブロックの入力端を含む配線分岐点を得る処理と、前記配線分岐点について、前記機能ブロックの信号源側から負荷側方向へ検索を行い、前記信号源に近い順に前記電流密度の検証を行って前記配線分岐点における電流密度を求める処理と、前記電流密度が所定の制限値を越えているか否かを判定する処理と、前記判定の結果をもとに、前記電流密度が前記制限値を超過している配線分岐点を末端とし、該配線分岐点とその信号源方向に位置する他の配線分岐点とで示される区間、または、該配線分岐点とその信号源方向に位置する前記機能ブロックの出力端とで示される区間に対して電流密度を低減する処理を施す処理とを実行させるためのプログラムを提供するものである。
【００１６】
上記本発明の第４の態様においては、所定の制限値は、前記区間における配線が溶断しない最大電流密度であることが好ましい。これに加えて、最大電流密度は、前記区間の信号源側に位置する前記機能ブロックの出力端の駆動能力、および、当該区間の配線抵抗の合計値によって規定されることがより好ましい。さらに加えて、電流密度を低減する処理には、前記配線部分の電気抵抗を低減する処理が含まれることがより好ましい。
【００１７】
【発明の実施の形態】
以下、添付図面を参照しながら、本発明の実施の形態について詳細に説明する。図１は、本発明の実施の形態に係るエレクトロマイグレーション・エラー改善システム（以下、適宜、システムともいう）の全体構成を示すブロック図である。同図に示すように、本システムは、論理接続情報格納部１１、物理接続情報格納部１２、電流密度制限値格納部１６、論理／物理接続情報入力部１３、配線トレース部１４、配線分岐点取得部１５、電流密度制限値取得部１７、電流密度計算部１８、電流密度検証部１９、検証結果格納部２０、そして、配線幅変更部２１からなる。
【００１８】
これらの構成要素の内、論理接続情報格納部１１は、回路を構成するブロック間の論理接続情報等を格納する。ここで「ブロック」とは、フリップフロップ（Ｆ／Ｆ）やゲート等、論理回路を構成している全ての素子の総称とする。また、物理接続情報格納部１２は、ブロックの配置結果、ブロック間接続の配線結果、各ネット／ブロックの性質を示す情報等からなる物理接続情報を格納する。
【００１９】
電流密度制限値格納部１６は、ネットのソース（信号源あるいは電流源）出力端の駆動能力ごと、かつ、ソース出力端から配線分岐点間の配線抵抗合計値ごとに定義された電流密度制限値からなる電流密度制限値情報を格納する。
【００２０】
論理／物理接続情報入力部１３は、論理接続情報格納部１１に格納された論理接続情報、物理接続情報格納部１２に格納された物理接続情報、および、電流密度制限値格納部１６に格納された電流密度制限値情報を入力する。
【００２１】
配線トレース部１４は、論理／物理接続情報入力部１３が入力した論理接続情報、および物理接続情報を参照して、ネットの配線接続情報をトレースする。また、配線分岐点取得部１５は、配線トレース部１４で取得した配線接続情報を参照して、ネットの配線分岐点を取得する。
【００２２】
電流密度制限値取得部１７は、論理／物理接続情報入力部１３が電流密度制限値格納部１６より入力した電流密度制限値情報を参照して、配線分岐点取得部１５で取得した配線分岐点における電流密度制限値を取得する。
【００２３】
また、電流密度計算部１８は、配線分岐点取得部１５で取得した配線分岐点における電流密度値を計算し、電流密度検証部１９は、配線分岐点取得部１５で取得した配線分岐点での電流密度を検証する。そして、電流密度検証部１９は、電流密度制限値取得部１７で取得した電流密度制限値と、電流密度計算部１８で計算した電流密度値とを比較して、電流密度値が電流密度制限値を越えている場合、その配線分岐点では電流密度超過エラーが起きているものと判定して、エラー情報を検証結果格納部２０に送る。
【００２４】
検証結果格納部２０は、上述のように電流密度検証部１９で判定された電流密度超過エラー情報を格納する。そして、配線幅変更部２１は、検証結果格納部２０に格納されたエラー情報を参照して、電流密度超過エラーが起きていると判定されたネットについて、ソース出力端と、電流密度超過エラーが起きている配線分岐点とを接続する配線の幅を、エラーとならない幅に広げる。
【００２５】
そこで、図１に示すエレクトロマイグレーション・エラー改善システムの各部の動作について、さらに詳細に説明する。論理／物理接続情報入力部１３は、論理接続情報格納部１１に格納された論理接続情報、物理接続情報格納部１２に格納された物理接続情報と各ネット／ブロックの性質を示す情報（電流密度計算に必要な情報も含む）、および、電流密度制限値格納部１６に格納された電流密度制限値を入力する。
【００２６】
配線トレース部１４は、論理／物理接続情報入力部１３が入力した論理接続情報、および物理接続情報を参照して、ネットのソース側ブロック、ロード（負荷）側ブロック、および、それらのブロック間を接続する配線等の配線接続情報を取得する。
【００２７】
次に、配線分岐点取得部１５は、配線トレース部１４でトレースした配線接続情報を参照して、ネットの配線分岐点を取得する。また、電流密度制限値取得部１７は、論理／物理接続情報入力部１３で入力した電流密度制限値の中から、配線分岐点取得部１５で取得した配線分岐点における電流密度制限値を取得する。
【００２８】
電流密度計算部１８は、配線分岐点取得部１５で取得した配線分岐点での電流密度値を計算する。ここでは、配線の接続関係をソース側からロード側方向に調べて、ソース側に近い配線分岐点から順番に、電流密度値を計算していく。
【００２９】
電流密度検証部１９は、配線分岐点取得部１５で取得した配線分岐点での電流密度を検証する。すなわち、電流密度検証部１９は、電流密度制限値取得部１７で取得した電流密度制限値と、電流密度計算部１８で計算した電流密度値とを比較する。そして、この電流密度値が電流密度制限値を越えている場合、電流密度検証部１９は、その配線分岐点では、電流密度超過エラーが起きているものと判定して、エラー情報を検証結果格納部２０へ出力する。
【００３０】
ネットの全配線分岐点における電流密度検証を終了後、電流密度超過エラーが起きている配線分岐点がある場合、配線幅変更部２１は、検証結果格納部２０に格納されたエラー情報を参照して、ソース出力端と電流密度超過エラーが起きている配線分岐点とを接続する配線の幅を、エラーが発生しない幅に広げる。
【００３１】
配線幅を変更することによって電流密度も変化するので、当該ネットについて、再び、電流密度計算部１８において電流密度を計算し、電流密度検証部１９で電流密度を検証し、さらに、配線幅変更部２１において、電流密度超過エラーが起きている配線分岐点の配線幅変更を行う。ここでは、これらの処理を、後述するように、電流密度超過エラーが起きている配線分岐点がなくなるまで繰り返す。
【００３２】
次に、本実施の形態に係るエレクトロマイグレーション・エラー改善システムの動作について詳細に説明する。
【００３３】
既に述べたように、一般的には、回路を構成する配線の電流密度が大きい箇所において、エレクトロマイグレーションによる配線の溶断が生じる可能性が大きくなる。また、配線の電流密度は、その配線を流れる電流値を配線の断面積で割ることにより計算できる。
【００３４】
また、配線が途中で分岐する場合、その分岐点以降の配線には、電流が分散されて流れるため、ソース出力端から分岐点を通過するに従って、配線を流れる電流は減少する。そのため、電流密度は配線分岐点、および、配線の断面積の変化点において変化する。
【００３５】
ここで、ネットの配線幅が配線分岐点のみで変更できるものとすると、電流密度は配線分岐点でのみ変化することになる。
【００３６】
本実施の形態に係るエレクトロマイグレーション・エラー改善システムでは、電流密度の変化点である配線分岐点での電流密度値と、あらかじめ設定した、エレクトロマイグレーションの影響による配線の溶断が生じない最大電流密度値（電流密度制限値）とを比較して、電流密度超過エラーを判定する。
【００３７】
電流密度超過エラーが起きている配線分岐点では、エレクトロマイグレーションによる配線の溶断が生じる可能性が大きいため、ソース出力端とその配線分岐点とを接続する配線の幅を広げることによって電流密度を低減して、エレクトロマイグレーションによる配線の溶断を防止する。
【００３８】
図２は、本実施の形態に係るシステムにおける電流密度超過エラーの判定、および配線幅の変更処理手順を示すフローチャートである。また、図３は、エラーの判定および配線幅変更処理の対象となるネットの例を示している。図２のステップＡ０１において、論理／物理接続情報入力部１３は、論理接続情報格納部１１に格納された論理接続情報、物理接続情報格納部１２に格納された物理接続情報、および、電流密度制限値格納部１６に格納された電流密度制限値を入力する。入力された論理接続情報と物理接続情報は、図１に示すシステムの各部によって参照される。
【００３９】
論理接続情報には、対象とする回路を構成するブロック間の論理接続情報等があり、物理接続情報としては、ブロックの配置結果、ブロック間接続の配線結果、および、各ネット／ブロックの性質を示す情報等がある。
【００４０】
上記の物理接続情報としてのブロックの配置結果、および、ブロック間接続の配線結果は、ここでは、従来のレイアウト手法を用いて配置配線処理を行った結果とし、配線の電流密度は特に考慮していないものとする。また、各ネット／ブロックの性質を示す情報として、例えば、ネットの配線幅／高さ、配線単位面積当たりの抵抗値／容量値、ブロックの端子抵抗値／容量値等が記述されているものとする。
【００４１】
次に、ステップＡ０２において、回路中の任意のネットについて、各配線分岐点での電流密度を検証する。ここでは、図３に示すネット３を例に説明する。まず、配線トレース部１４は、論理／物理接続情報入力部１３で入力した論理接続情報、および、物理接続情報を参照する。そして、配線トレース部１４は、ネット３が、ソース側ブロック３１とロード側ブロック３２〜３５とを接続する配線から構成され、ソース出力端（Ａ）、配線分岐点（Ｂ），（Ｄ），（Ｆ）、および、ロード入力端（Ｃ），（Ｅ），（Ｇ），（Ｈ）が存在するという配線接続情報を取得する。
【００４２】
なお、図３に示すネット３における配線抵抗値や配線電流値等は、以下の一覧表に示すようになっている。すなわち、
ソース出力端（Ａ）の端子抵抗Ｒｇ１＝０．０７［ＫΩ］
であり、
0003654190.tif 000002
である。
【００４３】
また、
ロード入力端（Ｃ）内配線の電流値I ｇ１＝１．０［Ａ］
ロード入力端（Ｅ）内配線の電流値I ｇ２＝１．０［Ａ］
ロード入力端（Ｇ）内配線の電流値I ｇ３＝１．０［Ａ］
ロード入力端（Ｈ）内配線の電流値I ｇ４＝１．０［Ａ］
である。
【００４４】
配線トレース部１４は、これらの配線接続情報を参照して、ソース側からロード側方向に配線の接続関係を調べて、ソース側に近い配線分岐点から順に電流密度を検証していく。このとき、ロード入力端も配線分岐点とみなして、電流密度の検証の対象に含める。
【００４５】
例えば、図３に示すネット３において、配線分岐点をソース側に近い順に列挙すると、配線分岐点（Ｂ）→配線分岐点（Ｄ）→ロード入力端（Ｃ）→ロード入力端（Ｅ）→配線分岐点（Ｆ）→ロード入力端（Ｇ）→ロード入力端（Ｈ）となっている。なお、ここでは、配線分岐点（Ｂ）で電流密度超過エラーが起きているものとして説明する。
【００４６】
次に、ステップＡ０３において、配線分岐点取得部１５は、未処理の配線分岐点の中で一番ソース側に近いものを調べて、配線分岐点（Ｂ）を取得し、その配線分岐点（Ｂ）における配線抵抗合計値Ｒｔｏｔａｌ（Ｂ）を計算する。なお、ここでは、配線抵抗合計値は、ソース出力端と配線分岐点とを一筆書きで接続する配線の抵抗値を合計したものとする。
【００４７】
例えば、配線分岐点（Ｂ）における、ソース出力端（Ａ）と配線分岐点（Ｂ）とを接続する配線の抵抗値Ｒｗ１は、上記の一覧表より３０．０［Ω］であるから、配線抵抗合計値Ｒｔｏｔａｌ（Ｂ）は３０．０［Ω］となる。
【００４８】
次に、ステップＡ０４において、電流密度制限値取得部１７は、配線分岐点（Ｂ）での電流密度制限値Ｊｌｉｍｉｔ（Ｂ）を取得する。電流密度制限値は、例えば、回路シミュレーションの実行結果等から決定された、エレクトロマイグレーションの影響による配線の溶断が生じない最大電流密度値であり、ソース出力端の駆動能力毎、かつ、配線抵抗合計値毎に定義する。また、ソース出力端の駆動能力は、端子抵抗で指定する。
【００４９】
図４は、本実施の形態に係るシステムにおける電流密度制限値の定義の一例を示している。同図において、１行が１レコードであり、各レコードにそれぞれユニークなレコード番号ｎが付与されている。そして、以下の電流密度制限値選択条件（ａ），（ｂ）を両方とも満たすレコードの電流密度制限値Ｊｌｉｍｉｔ（ｎ）が、その配線分岐点での電流密度制限値になる。
【００５０】
条件（ａ）：駆動能力最小値Ｒｅｓｏｕｒｃｅ＿ＭＩＮ（ｎ）≦ソース出力端の駆動能力＜駆動能力最大値Ｒｅｓｏｕｒｃｅ＿ＭＡＸ（ｎ）
条件（ｂ）：配線抵抗合計最小値Ｒｅｓｉｓｔ＿ＭＩＮ（ｎ）≦配線分岐点での配線抵抗合計値＜配線抵抗最大値Ｒｅｓｉｓｔ＿ＭＡＸ（ｎ）
【００５１】
上述のように、ソース出力端（Ａ）の端子抵抗Ｒｇ１は、０．０７［ＫΩ］であり、配線抵抗合計値Ｒｔｏｔａｌ（Ｂ）は、３０．０[ Ω] であるから、図４において、上記の条件（ａ），（ｂ）両方を満たすレコード番号は“８”となる。よって、この場合、レコード番号８の電流密度制限値である３０．０［Ａ／ｍｍ2 ］を、配線分岐点（Ｂ）での電流密度制限値Ｊｌｉｍｉｔ（Ｂ）とする。
【００５２】
次に、ステップＡ０５で、電流密度計算部１８は、配線分岐点（Ｂ）での電流密度値Ｊｔｏｔａｌ（Ｂ）を計算する。図３において、配線分岐点（Ｂ）を流れる電流値は、配線分岐点（Ｂ）とロード入力端（Ｃ），（Ｅ），（Ｇ），（Ｈ）とを接続する配線を流れる電流値の合計となる。このため、これらの区間の配線における電流値の合計を、配線分岐点（Ｂ）の断面積で割ったものが、配線分岐点（Ｂ）での電流密度値Ｊｔｏｔａｌ（Ｂ）となる。
【００５３】
図３に示すネット３の各分岐点間の配線における電流値が、Ｉｗ１〜Ｉｗ７であり、各ロード側ブロック内の配線の電流密度値がＩｇ１〜Ｉｇ４であるから、これらの区間での電流値は、Ｉｗ２〜Ｉｗ７とＩｇ１〜Ｉｇ４との合計値、すなわち、７０．０［Ａ］となる。そこで、配線分岐点（Ｂ）の断面積を１［ｍｍ2 ］すると、そこでの電流密度値Ｊｔｏｔａｌ（Ｂ）は、７０．０［Ａ／ｍｍ2 ］となる。以上が、図２のステップＡ０５で実行される処理である。
【００５４】
続くステップＡ０６において、配線分岐点（Ｂ）での電流密度を検証する。すなわち、電流密度検証部１９は、電流密度制限値取得部１７で取得した電流密度制限値Ｊｌｉｍｉｔ（Ｂ）と、電流密度計算部１８で計算した電流密度値Ｊｔｏｔａｌ（Ｂ）とを比較する。
【００５５】
上述のように、配線分岐点（Ｂ）における電流密度制限値Ｊｌｉｍｉｔ（Ｂ）が３０．０［Ａ／ｍｍ2 ］で、電流密度値Ｊｔｏｔａｌ（Ｂ）が７０．０［Ａ／ｍｍ2 ］であるから、電流密度値Ｊｔｏｔａｌ（Ｂ）は、電流密度制限値Ｊｌｉｍｉｔ（Ｂ）を越えている。この結果から、電流密度検証部１９は、配線分岐点（Ｂ）において電流密度超過エラーが起きているものと判定して、検証結果格納部２０にエラー情報を出力する（図２のステップＡ０７）。
【００５６】
ここでは、エラー情報として、ネット名、配線分岐点（Ｂ）の座標と端子抵抗Ｒｇ１、配線抵抗合計値Ｒｔｏｔａｌ（Ｂ）、電流密度値Ｊｔｏｔａｌ（Ｂ）、電流密度制限値Ｊｌｉｍｉｔ（Ｂ）等が出力される。そして、これらのエラー情報の出力後、ステップＡ０８において、全配線分岐点におけるチェックが終了したかどうかが判断される。
【００５７】
すなわち、配線分岐点（Ｂ）に対する処理が終了した後、未処理の配線分岐点があれば、ステップＡ０８での判定は“ｎｏ”であるから、ステップＡ０３に戻り、次の配線分岐点の処理に移行する。
【００５８】
このように、配線分岐点（Ｂ）での処理が終了したならば、次に、配線分岐点取得部１５は、未処理の配線分岐点の中で一番ソース側に近いものを調べる。その結果、配線分岐点（Ｄ）が取得され、その配線分岐点（Ｄ）での配線抵抗合計値Ｒｔｏｔａｌ（Ｄ）を計算する（ステップＡ０３）。
【００５９】
配線抵抗合計値Ｒｔｏｔａｌ（Ｄ）は、図３から明らかなように、ソース出力端（Ａ）と配線分岐点（Ｂ）を接続する配線の抵抗値Ｒｗ１（３０．０［Ω］）と、配線分岐点（Ｂ）と配線分岐点（Ｄ）を接続する配線の抵抗値Ｒｗ３（２０．０［Ω］）との合計値である、５０．０［Ω］となる。
【００６０】
次に、ステップＡ０４において、電流密度制限値取得部１７は、論理／物理接続情報入力部１３で入力された電流密度制限値の定義の中から、配線分岐点（Ｄ）における電流密度制限値Ｊｌｉｍｉｔ（Ｄ）を取得する。
【００６１】
配線分岐点（Ｄ）について、ソース出力端（Ａ）の端子抵抗Ｒｇ１は、０．０７［ＫΩ］であり、配線抵抗合計値Ｒｔｏｔａｌ（Ｄ）は、上記のように５０．０［Ω］）であるから、図４より、上記の電流密度制限値の選択条件（ａ），（ｂ）を両方満たすレコード番号は、“９”となる。よって、レコード番号９の電流密度制限値６０．０［Ａ／ｍｍ2 ］を、配線分岐点（Ｄ）での電流密度制限値Ｊｌｉｍｉｔ（Ｄ）とする。
【００６２】
次に、ステップＡ０５において、電流密度計算部１８は、配線分岐点（Ｄ）での電流密度値Ｊｔｏｔａｌ（Ｄ）を計算する。配線分岐点（Ｄ）を流れる電流値は、配線分岐点（Ｄ）と、ロード入力端（Ｅ），（Ｇ），（Ｈ）とを接続する配線を流れる電流値の合計となる。そして、これらの区間の配線における電流値の合計を、配線分岐点（Ｄ）の断面積で割ったものが、配線分岐点（Ｄ）での電流密度値Ｊｔｏｔａｌ（Ｄ）となる。
【００６３】
具体的には、上記の区間における電流値は、Ｉｗ４〜Ｉｗ７とＩｇ２〜Ｉｇ４との合計値である、５３．０［Ａ］となる。配線分岐点（Ｄ）の断面積を１［ｍｍ2 ］すると、電流密度値Ｊｔｏｔａｌ（Ｄ）は、５３．０［Ａ／ｍｍ2 ］となる。
【００６４】
次に、ステップＡ０６で、電流密度検証部１９による、配線分岐点（Ｄ）での電流密度の検証が行われる。具体的には、電流密度検証部１９は、電流密度制限値取得部１７で取得した電流密度制限値Ｊｌｉｍｉｔ（Ｄ）と、電流密度計算部１８で計算した電流密度値Ｊｔｏｔａｌ（Ｄ）とを比較する。
【００６５】
その結果、電流密度制限値Ｊｌｉｍｉｔ（Ｄ）が、６０．０[ Ａ／ｍｍ2]で、電流密度値Ｊｔｏｔａｌ（Ｄ）が、５３．０［Ａ／ｍｍ2 ］であるから、電流密度値Ｊｔｏｔａｌ（Ｄ）は、電流密度制限値Ｊｌｉｍｉｔ（Ｄ）を越えていないことが分かる（ステップＡ０６で“ｎｏ”）。
【００６６】
よって、電流密度検証部１９は、配線分岐点（Ｄ）において電流密度超過エラーが起きていないものと判定する。そこで、ステップＡ０８において、全配線分岐点におけるチェックが終了したかどうかが判断され、その判断結果に応じて、次の配線分岐点の処理に移る。
【００６７】
全配線分岐点におけるチェックが終了していなければ、上記の配線分岐点（Ｂ），（Ｄ）と同様に、ロード入力端（Ｃ）、ロード入力端（Ｅ）、配線分岐点（Ｆ）、ロード入力端（Ｇ）、ロード入力端（Ｈ）についても、それぞれ電流密度の検証を順次、行う。なお、上述したように、これらの配線分岐点（（Ｂ）以外）では、電流密度超過エラーは起きていないものとする。
【００６８】
各配線分岐点での電流密度の検証が終了したならば、次に、配線幅変更部２１は、電流密度超過エラーとなっている区間の配線幅を変更する。しかし、電流密度超過エラーが起きている配線分岐点が存在しない場合には、かかるネットの処理を終了して、次のネットの処理に移る。
【００６９】
電流密度超過エラーが起きている配線分岐点が存在する場合、ステップＡ０９での判定結果は“ｙｅｓ”となるから、配線幅変更部２１は、検証結果格納部２０に格納されたエラー情報を参照して、ソース出力端とエラーとなっている配線分岐点とを接続する配線の幅を、エラーとならない幅に広げる（ステップＡ１０）。
【００７０】
図３のネット３では、配線分岐点（Ｂ）で電流密度超過エラーが起きているので、配線幅変更部２１は、ソース出力端（Ａ）と配線分岐点（Ｂ）とを接続する配線の幅を広げる。そして、配線幅を変更することによって、電流密度も変化するので、配線幅の変更後、再び、ネット３の各配線分岐点での電流密度の検証を行い、変更後の配線幅で電流密度制限エラーが起きていないかを検証する。
【００７１】
上記の処理および検証を、電流密度制限エラーが起きている配線分岐点が存在しなくなるまで繰り返す。その結果、電流密度制限エラーが起きている配線分岐点が存在しなくなったならば、対象とするネットの処理を終了して、次のネットの処理に移る（ステップＡ１１で“ｎｏ”）。
【００７２】
上記の手順を繰り返して、回路中の全ネットについて処理を行い、ステップＡ１１での判定が“ｙｅｓ”となったならば、全ネットの処理が終了したとして、本エラー判定および配線幅変更処理を終える。
【００７３】
以上説明したように、本実施の形態によれば、半導体集積回路のネットの配線分岐点毎に電流密度値を計算して、これを電流密度制限値と比較することによりエレクトロマイグレーションの検証を行い、電流密度超過を起こしている部分の配線のみを、例えば、最適な配線幅に広げて電流密度低減を行うことで、エレクトロマイグレーションの影響による配線の溶断を未然に防止することができ、そのための再配線も不要になる。
【００７４】
このことは、大規模集積回路（ＬＳＩ）のレイアウト設計において、電流密度過多によるエレクトロマイグレーションの影響で生じる配線の溶断を考慮に入れて、その防止を図ることにつながる。
【００７５】
また、エレクトロマイグレーションによる配線の溶断が、配線分岐点で生じる可能性が大きいことに着目して、ソース側からロード側方向に配線の接続関係を調べて、ソース側に近い配線分岐点から順に電流密度を検証し、ソース出力端とその配線分岐点とを接続する配線における電流密度を低減することで、エレクトロマイグレーションによる配線の溶断を防止するために、効率的に電流密度過度な配線分岐点を発見できる。
【００７６】
なお、上記の実施の形態では、回路中の全ネットについて検証を行っているが、本発明は、これに限定されるものではなく、例えば、任意のネットについてのみ検証を行ってもよい。また、任意のネットを除いた全ネットについて、かかる検証を行うようにしてもよい。
【００７７】
【発明の効果】
以上説明したように、本発明によれば、半導体集積回路上の複数の機能ブロックを電気的に相互に接続するための配線設計方法において、複数の機能ブロック間において、該機能ブロックのうち負荷として機能するブロックの入力端を含む配線分岐点を得るステップと、配線分岐点について、機能ブロックの信号源側から負荷側方向へ検索を行い、信号源に近い順に電流密度の検証を行って配線分岐点における電流密度を求めるステップと、電流密度が所定の制限値を越えているか否かを判定するステップと、判定の結果をもとに、電流密度が制限値を超過している配線分岐点を末端とし、該配線分岐点とその信号源方向に位置する他の配線分岐点とで示される区間、または、該配線分岐点とその信号源方向に位置する機能ブロックの出力端とで示される区間に対して電流密度を低減する処理を施すステップとを備えることで、エレクトロマイグレーションの影響による配線の溶断を生じやすい個所、あるいは、その可能性のある個所を効率的かつ迅速に発見、修正して、かかる溶断を未然に防止できる。また、エレクトロマイグレーションによる配線の溶断を防止するための、電流密度過度な配線分岐点の発見を効率的に行える。
【００７８】
また、他の発明によれば、半導体集積回路上の複数の機能ブロックを電気的に相互に接続するための配線設計装置において、複数の機能ブロック間において該機能ブロックのうち負荷として機能するブロックの入力端を含む配線分岐点を得る手段と、配線分岐点について、機能ブロックの信号源側から負荷側方向へ検索を行い、信号源に近い順に電流密度の検証を行って配線分岐点における電流密度を求める手段と、電流密度が所定の制限値を越えているか否かを判定する手段と、判定の結果をもとに、電流密度が制限値を超過している配線分岐点を末端とし、該配線分岐点とその信号源方向に位置する他の配線分岐点とで示される区間、または、該配線分岐点とその信号源方向に位置する機能ブロックの出力端とで示される区間に対して電流密度を低減する処理を施す手段とを備えることで、エレクトロマイグレーションによる配線の溶断を生じやすい個所、溶断の可能性のある個所を効率的、かつ迅速に発見、修正でき、かかる溶断を未然に防止できるという効果がある。また、エレクトロマイグレーションによる配線の溶断を防止するための、電流密度過度な配線分岐点の発見を効率的に行える。
【図面の簡単な説明】
【図１】本発明の実施の形態に係るエレクトロマイグレーション・エラー改善システムの全体構成を示すブロック図である。
【図２】本実施の形態に係る電流密度超過エラーの判定、および配線幅の変更処理手順を示すフローチャートである。
【図３】エラーの判定および配線幅変更処理の対象となるネットの例を示す図である。
【図４】本実施の形態に係るシステムにおける電流密度制限値の定義の一例を示す図である。
【符号の説明】
３  ネット
１１  論理接続情報格納部
１２  物理接続情報格納部
１３  論理／物理接続情報入力部
１４  配線トレース部
１５  配線分岐点取得部
１６  電流密度制限値格納部
１７  電流密度制限値取得部
１８  電流密度計算部
１９  電流密度検証部
２０  検証結果格納部
２１  配線幅変更部
３１  ソース側ブロック
３２〜３５  ロード側ブロック
【図１】
0003654190.tif 000003
【図２】
0003654190.tif 000004
【図３】
0003654190.tif 000005
【図４】
0003654190.tif 000006