(57)【特許請求の範囲】
【請求項１】
複数の配線層を有するチップの各セル間を接続するネットの概略経路を決める概略経路決定方法において、
前記チップを格子状に細かく区切って、前記複数の配線層のそれぞれにおける各格子の境界について、通すことのできるネットの容量を予め設定し、
前記複数の配線層の優先順位として用いるそれぞれの層のコストと、ネットの経路長を制限するオーバーフローコストとをそれぞれ所定の値に設定して、ネットが経由する前記格子のそれぞれの境界におけるネットのオーバーフロー数と、ネットが経由する配線層におけるネットの配線長とから、以下の式より求まるネットコストが最小となる経路を前記各セル間を接続するネットについてそれぞれ探索し、
ネットコスト＝（オーバーフロー数）×（オーバーフローコスト）
＋Σ｛（各層の配線長）×（各層のコスト）｝
予め設定された遅延制約を満たしていないネットがある場合は、該ネットについて、ネットの経路長が短くなるように前記オーバーフローコストを小さくするとともに上層の優先順位が高くなるように前記複数の層のうちの上層のコストを小さくして、前記式にて求まるネットコストが最小となる経路を再探索し、
オーバーフローしているネットがある場合には、該ネットについて、ネットの経路長が長くなるように前記オーバーフローコストを大きくして、前記式にて求まるネットコストが最小となる経路を再探索することを特徴とする概略経路決定方法。
【請求項２】
請求項１に記載の概略経路決定方法において、
遅延制約を満たしていないネットがある場合に、違反した遅延が大きいものほどオーバーフローコストと上層のコストが小さくなるように設定することを特徴とする概略経路決定方法。
【請求項３】
請求項１に記載の概略経路決定方法において、
特定のネットに対して、前記複数の配線層のうちの上層のコストを他のネットの上層のコストより小さく設定して、前記式にて求まるネットコストが最小となる経路を探索することを特徴とする概略経路決定方法。
【請求項４】
複数の配線層を有するチップの各セル間を接続するネットの接続情報および遅延制約が予め記憶された情報記憶手段と、
前記チップを格子状に細かく区切って、前記複数の配線層における各格子の境界について、通すことのできるネットの容量を予め定め、前記情報記憶手段に記憶された情報を基に、前記各セル間を接続するネットの概略経路を、前記遅延制約を満たし、かつ、ネットが経由する格子のそれぞれの境界における実際に配されたネットの数がそれぞれの境界に設定されている容量を超えないように決定する配線処理手段とを有する概略経路決定方式であって、
前記情報記憶手段は、
前記複数の配線層の優先順位として用いるそれぞれの層のコストとネットの経路長を制限するオーバーフローコストとをそれぞれ所定の値に設定したデフォルトコストと、
前記遅延制約を違反した場合に設定される経路探索コストであって、違反遅延に応じて前記デフォルトコストよりもネットの経路長が短くなるようにオーバーフローコストを小さくするとともに上層の優先順位が高くなるように上層のコストを小さくした少なくとも１つの経路探索コストと、が予め記憶されており、
前記配線処理手段は、
前記複数の配線層における各格子の境界について、通すことのできるネットの容量を予め設定し、ネットが経由する格子のそれぞれの境界について、その境界に設定された容量から実際に配されたネットの数を差し引いた残りの容量を算出する容量計算手段と、
前記各セル間のネットの概略経路を探索する経路探索手段と、
前記経路探索手段で探索されたネットの経路の遅延を計算する遅延計算手段と、
前記容量計算手段および遅延計算手段における計算結果に基づいて、前記経路探索手段で探索された各ネットの経路について、算出オーバーフローしていないか、前記遅延制約を違反していないかの判定を行う違反ネット判定手段と、
前記違反ネット判定手段で前記遅延制約を満していないと判定されたネットについて、その違反遅延に応じた経路探索コストを前記記憶手段に記憶された経路探索コストから決定し、前記違反ネット判定手段でオーバーフローしていると判定された場合に、前記記憶手段に記憶されたデフォルトコストおよび前記経路探索コストのオーバーフローコストをそれぞれ増加する経路探索コスト決定手段と、を有し、
前記経路探索手段が、
前記記憶手段に記憶されたデフォルトコストを用いて以下の式にて求まるネットコストが最小となる経路を探索し、
ネットコスト＝（オーバーフロー数）×（オーバーフローコスト）
＋Σ｛（各層の配線長）×（各層のコスト）｝
前記違反ネット判定手段で遅延制約を満していないと判定されたネットについては、前記経路探索コスト決定手段で設定された経路検索コストを用いて前記式にて求まるネットコストが最小となる経路を再探索し、違反ネット判定手段でオーバーフローしていると判定された場合は、前記経路探索コスト決定手段にてオーバーフローコストが増加されたデフォルトコストおよび経路探索コストを用いて前記式にて求まるネットコストが最小となる経路を再探索することを特徴とする概略経路決定方式。
【請求項５】
請求項４に記載の概略経路決定方式において、
前記記憶手段に予め記憶された経路探索コストは、違反遅延の大きいネットほどオーバーフローコストと上層のコストが小さくなるように設定されていることを特徴とする概略経路決定方式。
【請求項６】
請求項４に記載の概略経路決定方式において、
特定のネットに対して、前記複数の配線層のうちの上層のコストを他のネットの上層のコストより小さく設定した第２のデフォルトコストが前記情報記憶手段に予め記憶され、
前記経路探索手段が、前記特定のネットの概略経路を、前記第２のデフォルトコストを用いて前記式にて求まるネットコストが最小となる経路を探索することにより求めることを特徴とする概略経路決定方式。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、多層の配線層を持つＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  ｉｎｔｅｇｒａｔｅｄ  ｃｉｒｃｕｉｔ）などの半導体集積回路を構成するチップの各セル間を接続するネットの概略経路を決める概略経路決定方法および概略経路決定方式に関する。
【０００２】
【従来の技術】
半導体集積回路のレイアウト設計において自動的にセル間の配線を行う自動配線手法として、特開平８−１２３８４３号公報に開示されているような自動配置配線方法がある。図８に、その公報に開示されている自動配線システムの概略構成を示す。
【０００３】
図８において、自動配線システムは、計算機１０１、ネットリストデータ１０２、セルレイアウトデータ１０３、および配線遅延パラメータ１０４から成る。計算機１０１は、遅延制約入力部１１１、セル配置部１１２、セル間配線部１１３、配線遅延計算部１１４、制約条件判断部１１５および配線変更部１１６を有する。
【０００４】
遅延制約入力部１１１は、ネットリストのノード毎に遅延制約を与えるもので、回路図エディタにより制約を与えるノードを直接指定するか、または、遅延シミュレータとリンクして遅延時間がある閾値以上であるパスのノードを自動的に返すような処理を行う。セル配置部１１２は、ネットリストデータ１０２に使用されているセルのセルレイアウトデータ１０３を与えられた範囲で配置する。
【０００５】
セル間配線部１１３は、ネットリストデータ１０２の接続情報から接続配線を生成する。配線遅延計算部１１４は、例えば各配線層のある配線幅の単位長あたりの配線容量として与えられた配線遅延パラメータ１０４を用いて配線遅延時間の計算を行う。制約条件判断部１１５は、各ノードが制約を満たしているかを判断する。配線変更部１１６は、制約を満たさないと判断されたノードについて配線層の変更を行う。
【０００６】
上述の自動配線システムでは、例えば３層の配線層を有する半導体集積回路のレイアウト設計を行う場合、まず、セル配置部１１２がセルを与えられた範囲で配置し、セル間配線部１１３がそれらセル間の配線を生成する。この配線生成の際、配線層の選択は下層の配線を優先する。例えば、第１層（最下層）の配線を優先して行い、第１層の配線密度が増して、遅延制約を満たす配線が第１層ではできなくなったときに第２層を使用し、さらに第２層でできなくなったときに第３層を使用するというように下層から順に使用する。この場合、全体の配線結果は第１層、第２層、第３層の順で使用頻度が高くなる。また、遅延制約入力部１１１から遅延制約の与えられたノードを先行して配線することにより、遅延制約の与えられたノードはできるだけ他の配線による空間的な障害のない状態で、最短距離に近い配線を生成することができる。
【０００７】
セル間の配線が生成されると、続いて、制約条件判断部１１５が各ノードが制約を満たしているかを判断する。制約を満たす場合は、そこで配線処理が終了し、満たさない場合には、配線層変更部１１６が制約を満たさないと判断されたノードについて配線層の変更を行う。
【０００８】
上記の自動配線方法の他、特開平５−１４３６９２号公報に開示されているような、概略配線処理時の変更や詳細配線処理によって「遅延の厳しいパス」が遅延制約を違反することのないようにした概略経路決定方式もある。この方式の概略構成を図９に示す。
【０００９】
図９において、概略経路決定方式の概略構成は、情報入力部２０１、遅延解析部２０２、違反ネット抽出部２０３、最適遅延値配線層抽出部２０４、違反ネット概略配線処理部２０５と、これを統括的に制御する制御部２００からなる。
【００１０】
情報入力部２０１は、処理対象のＬＳＩおよびプリント基板等（処理対象基板）について、ブロックの配置を示すブロック配置情報、ブロック間の論理接続関係を示すブロック間論理接続情報、下地とブロックとに関する物理情報である下地・ブロック物理情報、下地とブロックとに関する遅延情報である下地・ブロック遅延情報をそれぞれ入力する。
【００１１】
遅延解析部２０２は、下地・ブロック物理情報に基づいて、処理対象基板の各配線層を縦方向配線層と横方向配線層との２つに分類し、それぞれについて遅延値が最も大きな配線層を求める。さらに、遅延解析部２０２は、ブロック配置情報とブロック間論理接続情報とに基づいて、処理対象基板の各ネットの仮想配線長の縦方向長および横方向長を求める。そして、遅延が最大の配線層における仮想配線長条件での各パスの遅延解析を行う。
【００１２】
違反ネット抽出部２０３は、遅延解析部２０２による遅延解析において遅延制約を違反するパスを抽出し、違反パスを構成するネットを示す違反ネット情報を作成する。最適遅延値配線層抽出部２０４は、違反ネット抽出部２０３によって抽出された違反パスが仮想配線長条件での遅延解析で遅延制約を満たす配線層を求める。違反ネット概略配線処理部２０５は、違反ネット抽出部２０３によって求められた違反ネット情報により示されるネットについて、仮想配線長と等しくなるような概略経路を求め、その概略経路を最適遅延値配線層抽出部２０４によって求められた縦方向配線および横方向配線に割り当てるとともに、この概略経路の割り当てが後に変更対象とされないように固定的なものとして設定する。
【００１３】
上述の概略経路決定方式では、まずネットリストと遅延制約情報に基づいて遅延が最大の層で概略経路が求められ、違反しているネットに対して概略配線の層を遅延値が小さい層に割り当て直して概略経路が求められる。これのより、遅延制約の厳しいパスを構成するネットの経路に関しては、概略配線処理の段階で配線の割り当てと経路の長さとを遅延制約を違反しないように固定的に設定することが可能になる。
【００１４】
【発明が解決しようとする課題】
しかしながら、上述した従来の手法には、以下のような問題がある。
【００１５】
高速ＬＳＩにおいては、層によって配線ピッチや厚さが異なるため、同一配線長であっても使用する層により遅延時間が異なり、場合によっては、２倍以上もの遅延時間の差が生じることがある。そのため、クリティカルパス上のネットについては、配線長を最短にするだけでなく、使用する層を考慮して配線を行う必要がある。
【００１６】
特開平８−１２３８４３号公報に開示された自動配置配線方法においては、遅延制約のあるノードの配線をできるだけ最短距離で配線でき、制約を満たさない配線については上層の配線に乗り換えて遅延制約を満たし易くすることができるようになっているが、使用する層の配線状態を考慮した配線は行われていない。このように、下層だけで配線し、遅延制約にひっかかった配線について上層へ移行する方法では、上層に何があるか不明のまま配線が行われてしまうため、例えば上層に電源パスなどがある場合には、配線を移行することはできないという問題が生じる。
【００１７】
特開平５−１４３６９２号公報に開示された概略経路決定処理方式においては、概略配線処理の段階で配線の割り当てと経路の長さとを遅延制約を違反しないように設定することができるが、層の再割り当てを行う際は概略経路を変更せずに層のみが変更され、変更された層の配線の混雑度を考慮した概略経路の探索は行われていない。このように配線の混雑度を考慮して概略経路を求めていないものでは、詳細配線処理で配線ができなくなる場合がある。
【００１８】
本発明は、上記各問題を解決し、遅延制約を満たしていないパス上のネットに対して、層毎の遅延値を考慮するとともに配線の混雑度をも考慮した概略経路の探索を行い、全てのパスが遅延制約を満たすように、正確な遅延見積もりで概略経路を求めることができる概略経路決定方法および概略経路決定方式を提供することにある。
【００１９】
【課題を解決するための手段】
上記目的を達成するため、本発明の概略経路決定方法は、複数の配線層を有するチップの各セル間を接続するネットの概略経路を決める概略経路決定方法において、
前記チップを格子状に細かく区切って、前記複数の配線層のそれぞれにおける各格子の境界について、通すことのできるネットの容量を予め設定し、
前記複数の配線層の優先順位として用いるそれぞれの層のコストと、ネットの経路長を制限するオーバーフローコストとをそれぞれ所定の値に設定して、ネットが経由する前記格子のそれぞれの境界におけるネットのオーバーフロー数と、ネットが経由する配線層におけるネットの配線長とから、以下の式より求まるネットコストが最小となる経路を前記各セル間を接続するネットについてそれぞれ探索し、
ネットコスト＝（オーバーフロー数）×（オーバーフローコスト）
＋Σ｛（各層の配線長）×（各層のコスト）｝
予め設定された遅延制約を満たしていないネットがある場合は、該ネットについて、ネットの経路長が短くなるように前記オーバーフローコストを小さくするとともに上層の優先順位が高くなるように前記複数の層のうちの上層のコストを小さくして、前記式にて求まるネットコストが最小となる経路を再探索し、
オーバーフローしているネットがある場合には、該ネットについて、ネットの経路長が長くなるように前記オーバーフローコストを大きくして、前記式にて求まるネットコストが最小となる経路を再探索することを特徴とする。
【００２０】
また、遅延制約を満たしていないネットがある場合に、違反した遅延が大きいものほどオーバーフローコストと上層のコストが小さくなるように設定してもよい。
【００２１】
また、特定のネットに対して、前記複数の配線層のうちの上層のコストを他のネットの上層のコストより小さく設定して、前記式にて求まるネットコストが最小となる経路を探索するようにしてもよい。
【００２２】
本発明の概略経路決定方式は、複数の配線層を有するチップの各セル間を接続するネットの接続情報および遅延制約が予め記憶された情報記憶手段と、
前記チップを格子状に細かく区切って、前記複数の配線層における各格子の境界について、通すことのできるネットの容量を予め定め、前記情報記憶手段に記憶された情報を基に、前記各セル間を接続するネットの概略経路を、前記遅延制約を満たし、かつ、ネットが経由する格子のそれぞれの境界における実際に配されたネットの数がそれぞれの境界に設定されている容量を超えないように決定する配線処理手段とを有する概略経路決定方式であって、
前記情報記憶手段は、
前記複数の配線層の優先順位として用いるそれぞれの層のコストとネットの経路長を制限するオーバーフローコストとをそれぞれ所定の値に設定したデフォルトコストと、
前記遅延制約を違反した場合に設定される経路探索コストであって、違反遅延に応じて前記デフォルトコストよりもネットの経路長が短くなるようにオーバーフローコストを小さくするとともに上層の優先順位が高くなるように上層のコストを小さくした少なくとも１つの経路探索コストと、が予め記憶されており、
前記配線処理手段は、
前記複数の配線層における各格子の境界について、通すことのできるネットの容量を予め設定し、ネットが経由する格子のそれぞれの境界について、その境界に設定された容量から実際に配されたネットの数を差し引いた残りの容量を算出する容量計算手段と、
前記各セル間のネットの概略経路を探索する経路探索手段と、
前記経路探索手段で探索されたネットの経路の遅延を計算する遅延計算手段と、
前記容量計算手段および遅延計算手段における計算結果に基づいて、前記経路探索手段で探索された各ネットの経路について、算出オーバーフローしていないか、前記遅延制約を違反していないかの判定を行う違反ネット判定手段と、
前記違反ネット判定手段で前記遅延制約を満していないと判定されたネットについて、その違反遅延に応じた経路探索コストを前記記憶手段に記憶された経路探索コストから決定し、前記違反ネット判定手段でオーバーフローしていると判定された場合に、前記記憶手段に記憶されたデフォルトコストおよび前記経路探索コストのオーバーフローコストをそれぞれ増加する経路探索コスト決定手段と、を有し、
前記経路探索手段が、
前記記憶手段に記憶されたデフォルトコストを用いて以下の式にて求まるネットコストが最小となる経路を探索し、
ネットコスト＝（オーバーフロー数）×（オーバーフローコスト）
＋Σ｛（各層の配線長）×（各層のコスト）｝
前記違反ネット判定手段で遅延制約を満していないと判定されたネットについては、前記経路探索コスト決定手段で設定された経路検索コストを用いて前記式にて求まるネットコストが最小となる経路を再探索し、違反ネット判定手段でオーバーフローしていると判定された場合は、前記経路探索コスト決定手段にてオーバーフローコストが増加されたデフォルトコストおよび経路探索コストを用いて前記式にて求まるネットコストが最小となる経路を再探索することを特徴とする。
【００２３】
または、前記記憶手段に予め記憶された経路探索コストは、違反遅延の大きいネットほどオーバーフローコストと上層のコストが小さくなるように設定されてもよい。
【００２４】
または、特定のネットに対して、前記複数の配線層のうちの上層のコストを他のネットの上層のコストより小さく設定した第２のデフォルトコストが前記情報記憶手段に予め記憶され、
前記経路探索手段が、前記特定のネットの概略経路を、前記第２のデフォルトコストを用いて前記式にて求まるネットコストが最小となる経路を探索することにより求めてもよい。
【００２８】
（作用）
上記のとおりの本発明においては、格子の境界毎に通すことのできるネットの容量が設定され、その容量を超えないようにネットの経路が求められるので、配線の混雑度を考慮したネットの概略経路が求められる。したがって、従来の手法のように上層に電源パスなどがあるために配線を上層に移行することができなかったり、配線の混雑度を考慮して概略経路を求めていないために詳細配線ができなくなってしまうといった問題は生じない。
【００２９】
また、本発明では、デフォルトコストを用いて以下の式にて求まるネットコストが最小となる経路を探索し、
ネットコスト＝（オーバーフロー数）×（オーバーフローコスト）
＋Σ｛（各層の配線長）×（各層のコスト）｝
遅延違反ネットについては、その違反遅延に応じてデフォルトコストよりもオーバーフローコストと上層のコストが小さく設定された経路探索コストを用いて上記式にて求まるネットコストが最小となる経路が再探索され、オーバーフローしている場合は、デフォルトコストおよび経路探索コストのオーバーフローコストをそれぞれ増加して前記式にて求まるネットコストが最小となる経路が再探索される。この遅延違反ネットの経路の再探索では、オーバーフローコストを小さくしたことにより最短経路が探索され、さらに上層のコストを小さくしたことにより遅延制約の小さい上層が優先して使用される。オーバーフローしていれば、オーバーフローコストを増加して経路の再探索が行われるので、探索される経路は、オーバーフローコストを増加した分、経路長が長くなる。すなわち、迂回経路が探索されることになる。このように本発明では、遅延違反ネットついては遅延制約の小さい上層を使用して最短経路が探索され、オーバーフローしている場合は、迂回路が探索されるので、各層毎の遅延値を考慮するとともに配線の混雑度をも考慮した概略配線経路の探索が行われる。
【００３０】
また、本発明では、違反遅延の大きいネットほどオーバーフローコストと上層のコストが小さくなるように経路探索コストが設定されるので、違反遅延の大きいネットほど上層を優先的に使用されるとともに、より最短距離で経路が探索されることになる。これにより、遅延制約を満たしていないパス上のネットに対して、層毎の遅延値を考慮した概略配線経路の探索が可能になり、遅延制約の厳しいネット、厳しくないネットで層の使い分けが可能になる。
【００３１】
【発明の実施の形態】
次に、本発明の実施形態について図面を参照して説明する。
【００３２】
図１は、本発明の概略経路決定方式の概略構成を示すブロック図である。この方式は、各層毎の遅延値を考慮するとともに配線の混雑度をも考慮した概略経路の探索を行い、全てのパスが遅延制約を満たすような正確な遅延見積もりで配線を行うようにしたもので、その構成は、各セルに関する配置配線情報が記憶された情報記憶部１０と、セル間の配線を行う配線処理部２０と、配線結果を出力する配線結果出力部３０とからなる。
【００３３】
情報記憶部１０は、セルの接続情報であるネットリスト１１、セルに関する、内部配線や接続端子の位置、数などの情報が記憶されたセル情報ファイル１２、セルの配置に関する情報が記憶された配置情報ファイル１３、遅延制約に関する情報が記憶された遅延制約情報ファイル１４を有する。
【００３４】
配線処理部２０は、上述の情報記憶部１０の各情報に基づいてセルの配置、概略配線処理および詳細配線処理を行うもので、概略格子容量計算部２１、経路探索部２２、遅延計算部２３、違反ネット判定部２４、経路探索コスト決定部２５の複数の処理部からなる。
【００３５】
概略格子容量計算部２１は、配線の混雑度を考慮するためのものである。この概略格子容量計算部２１は、例えば図２に示すように、チップを水平方向および垂直方向に細かく区切り（格子状に区切る）、それぞれの格子の境界について、通すことのできる配線の本数（容量）を予め設定する。そして、ネットが経由する格子のそれぞれの境界について、境界に設定された容量から実際に配されたネットの数を差し引いた残りの容量を算出する。この容量の算出では、例えば、境界の容量を７本に設定した場合、その境界に実際に配された配線が３本ある場合は、その境界の残りの容量は４本になる。ここで、実際に配された配線には、電源パスやセルの内部配線など予め使用することが決まっている配線も含まれる。例えば図３に示すように、格子４０の境界Ａに対して７本の配線４１を配することができるように設定され、その境界Ａに電源パス４２が配されている場合は、電源パス４２と重なる部分（配線禁止部分）は配線することができないので、その分が差し引かれた本数がその境界Ａの残りの容量として算出される。ここでは、電源パスやセルの内部配線などの配線禁止部分に関する情報は予め情報記憶部１０に記憶しておき、概略格子容量計算部２１が情報記憶部１０に記憶されている配線禁止領域を基に容量を算出する。そして、実際に配された配線の本数（フロー）が境界に設定された配線の本数を超える場合（オーバーフロー）は、その境界は配線できないと判断し、超えていない場合は、その境界には配線を通す余裕があると判断する。なお、チップを水平方向および垂直方向に細かく区切る格子の望ましい大きさは、具体的には、チップを水平方向および垂直方向に区切ることができる配線トラックの数でいうと、水平方向および垂直方向ともに、１５〜２０本間隔で区切った大きさであるが、この大きさは特に限定されるものではない。
【００３６】
経路探索部２２は、セル間のネットの概略経路を探索する。この経路探索部２２による経路探索では、ネット毎の配線経路のコスト（ネットコスト）を、
ネットコスト＝（オーバーフロー数）×（オーバーフローコスト）
＋Σ｛（各層の配線長）×（各層のコスト）｝  ……（１）
で計算し、最小コストとなる経路を探索する。ここで、オーバーフローコストは、各ネットの経路に位置する格子のそれぞれの境界におけるオーバーフロー数に乗じられる係数で、この値が小さいほど経路長が短くなる。層のコストは、各ネットの経路となっている各層の配線長に乗じられる係数で、この値が小さい層ほど優先して使用される。ここでは、これらオーバーフローコストおよび各層のコストをデフォルト値に設定したデフォルトコスト、およびオーバーフローコストおよび各層のコストを違反遅延量に応じて設定した経路探索コスト（遅延制約違反ネットに対して設定されるコスト）を、予め情報記憶部１０に記憶しておき、経路探索部２２が、後述するように、まずデフォルトコスト（オーバーフローコストおよび各層のコストの基準値）で各ネットの経路探索を行い、その後に遅延制約違反したネットについて、その違反遅延に応じた経路探索コストで再度経路の探索を行う。
【００３７】
遅延計算部２３は、経路探索部２２にて探索された各ネットの経路の遅延を計算する。違反ネット判定部２４は、経路探索部２２にて探索された各ネットの経路について、オーバーフローしていないか、遅延制約違反していないかのチェックを行い、いずれかに該当したネットを違反ネットとして判定する。
【００３８】
経路探索コスト決定部２５は、違反ネット判定部２４にて遅延制約違反とされたネットの経路について、その違反遅延に応じた経路探索コストを決定する。具体的には、経路探索コスト決定部２５が遅延計算部２３にて計算された遅延結果に応じて、情報記憶部１０に記憶された各経路探索コストのうちから経路探索コストを決定する。また、経路探索コスト決定部２５は、オーバーフローしている場合は、情報記憶部１０に記憶されているデフォルトコストおよび経路探索コストについて、それぞれオーバーフローコストを増加する。
【００３９】
上述の経路探索部２２は、違反ネット判定部２４で遅延制約を満していないと判定されたネットについては、経路探索コスト決定部２５で設定された経路検索コストを用いて上述の式１にて求まるネットコストが最小となる経路を再探索し、違反ネット判定部２４でオーバーフローしていると判定された場合は、経路探索コスト決定部２５でオーバーフローコストを増加されたデフォルトコストおよび経路探索コストを用いて上述の式１にて求まるネットコストが最小となる経路を再探索する。
【００４０】
次に、上述の概略経路決定方式において行われる経路の探索処理手順について図４を参照して説明する。
【００４１】
まず、概略格子容量計算部２１が、与えられている情報（例えば電源パスなどの初期配線の情報など）に基づいて、各格子の境界の容量を算出する（ステップＳ１０）。続いて、経路探索部２２が、各ネットの経路について、情報記憶部１０に用意されているデフォルトコストで経路の探索を行い、上述の式１にて求まる最小コストの経路を探索する（ステップＳ１１）。
【００４２】
経路探索部２２によって経路探索が行われて初期経路が求められると、続いて、遅延計算部２２が各ネットの経路の遅延を計算する（ステップＳ１２）。そして、その遅延計算結果に基づいて、違反ネット判定部２４が遅延制約を満たしていないネットがあるかの判断を行う（ステップＳ１３）。遅延制約違反したネットがある場合は、経路探索コスト決定部２５がその違反ネットに対してその違反遅延に応じた経路探索コストを決定し、経路探索部２２が、その決定された経路探索コストで遅延制約違反したネットの経路を再検索する（ステップＳ１４）。このときの経路再検索においても、上述の式１にて求まる最小コストの経路が探索される。
【００４３】
上述のステップＳ１４において、遅延制約違反したネットがない場合は、続いて違反ネット判定部２４がオーバーフローしているネットがあるかの判断を行う（ステップＳ１５）。オーバーフローしているネットがある場合は、経路探索コスト決定部２５が情報記憶部１０に記憶されているデフォルトコストおよび経路探索コストのオーバーフローコストをそれぞれ増加し、再びステップＳ１１へ戻る（ステップＳ１５）。オーバーフローしているネットがない場合は、処理を終了する。
【００４４】
以下、上述の経路探索処理をより具体的な例を挙げて説明する。
【００４５】
ここでは、図５に示すようにチップ５０を水平方向および垂直方向に細かく区切った格子５１を設定し、水平方向の配線については第１層、第３層を用い、垂直方向の配線については第２層を用いている。境界Ａ、Ｂに予め設定されている容量は、ともに第１層で３本、第３層で１本である。ネットリストには３つのネットＡ、Ｂ、Ｃに関する情報が用意されており、経路探索部２２によって図５に示したような初期経路（予め設定されたデフォルトコストで求められた経路）が設定されている。ここでは、経路探索に用いられるコストとしては、図６に示すようなデフォルトコスト、違反遅延１ｎｓ未満コスト、違反遅延１ｎｓ以上コストが予め設定されている。さらに、ここでは、図４に示したステップＳ１１〜Ｓ１６の処理を何回繰り返すかを指定する指定改善回数として、２０回が設定されている。なお、以下の説明では、図示されたネットについて、水平方向については、実線が第１層に配線された経路を示し、破線が第３層に配線された経路を示す。
【００４６】
まず、初期配線に基づいて各格子の境界の容量を計算して初期経路が決定されるが、この図５に示した例では、上述の図４に示したステップＳ１０、Ｓ１１の処理についてはすでに行われて、初期経路が探索された状態になっているので、ここではステップＳ１２以降の処理について説明する。
【００４７】
ネットＡ，Ｂ，Ｃに関する初期経路が探索されると、各ネットＡ，Ｂ，Ｃについてそれぞれ順番に上述の図４に示したステップＳ１２〜Ｓ１６の処理を行う。ここでは、ステップＳ１２の処理において、ネットＡは遅延制約を満たし、ネットＢは０．５ｎｓの違反、ネットＣは２ｎｓの違反をするものとして説明する。
【００４８】
まず、ネットＡについてステップＳ１２〜Ｓ１４の処理を行う。このネットＡは遅延制約を満たしているので、その経路は図５に示した経路のままとする。
【００４９】
続いて、ネットＢについてステップＳ１２〜Ｓ１４の処理を行う。このネットＢは０．５ｎｓの遅延違反をしているので、ステップＳ１４の処理によって、経路探索コストとして違反遅延１ｎｓ未満コストが決定され、そのコストに基づいて再度経路の探索が行われる（引き剥がし再配線）。この経路探索では、上述の式１より、
ネットＢのコスト＝０（オーバーフロー数）
×２（オーバーフローコスト）
＋３（第３層の配線長）×５（第３層のコスト）
＋２（第２層の配線長）×５（第２層のコスト）
で与えられる最小コスト経路が探索される。ここで、オーバーフロー数は、第３層の境界Ａ，Ｂにおける現時点でのオーバーフロー数の和である。また、各層の配線長は探索されるネットの経路の各層における現時点での配線長で、ここでは配線長を経路が通る格子の数（経路がまたがっている格子の数）で表わしている。この経路探索では、図７（ａ）に示すように、水平方向の配線が第１層から第３層に移行された経路が探索される。経路が探索されると、この経路についての遅延が計算され、遅延制約を満たさなければその違反遅延に応じた経路探索コストで再び経路探索が行われる。ここでは、遅延制約を満たしたものとし、次のネットＣについての処理に進む。
【００５０】
ネットＣは２ｎｓの違反をしているので、ステップＳ１４の処理によって、経路探索コストとして違反遅延１ｎｓ以上コストが決定され、そのコストに基づいて再度経路の探索が行われる（引き剥がし再配線）。この経路探索では、上述のネットＢの場合と同様、式１より、
ネットＣのコスト＝２（オーバーフロー数）
×１（オーバーフローコスト）
＋３（第３層の配線長）×２（第３層のコスト）
で与えられる最小コスト経路が探索される。ここで、オーバーフロー数はネットの経由する各境界Ａ，Ｂにおけるオーバーフロー数の和である。ここでは、第３層の境界Ａ，Ｂの容量はともに１本であり、上述したようにすでにネットＢの経路がこれら境界Ａ，Ｂを通るように配線されているため、ネットＣの経路がそれら境界Ａ，Ｂを通るように配線されると、各境界Ａ，Ｂではそれぞれ１本のオーバーフローが生じ、これら境界Ａ，Ｂにおける現時点でのオーバーフロー数の和は２となる。この経路探索では、例えば、図７（ｂ）に示すように、水平方向の配線が第１層から第３層に移行された経路が探索される。経路が探索されると、この経路についての遅延が計算され、遅延制約を満たさなければその違反遅延に応じた経路探索コストで再び経路探索が行われる。ここでは、遅延制約を満たしたものとし、各ネットＡ〜Ｃについて次のステップＳ１５、Ｓ１６の処理を順次行う。
【００５１】
この時点におけるネットＡに関する経路は、第１層の境界Ａ，Ｂを通るように配線されている（図７（ｂ）参照）。第１層の境界Ａ，Ｂにおける容量は３本で、これら境界Ａ，ＢにはネットＡ以外のネットは配線されていない。したがって、このネットＡはオーバーフローしていないことになり、ネットＡの経路はそのまま変更なしとなる。
【００５２】
ネットＢに関する経路は、図７（ｂ）に示すように第３層の境界Ａ，Ｂを通るように配線されている。この第３層の境界Ａ，Ｂの容量はともに１本であり、この第３層の境界Ａ，ＢにはネットＢの他にネットＣに関する経路が配線されている。したがって、ネットＢの経路では第３層の境界Ａ，Ｂにおいてそれぞれ１本のオーバーフローが生じることとなり、ネットＢはオーバーフローしていると判断される。オーバーフローと判断されると、ステップＳ１６の処理において、デフォルトコストおよび各違反遅延に応じて設定された経路探索コストのオーバーフローコストが、例えば２倍に増幅され、再びステップＳ１１において、その新たに設定されたデフォルトコストでネットＢについての経路の探索が行われる。この経路探索では、例えば図７（ｃ）に示すように、水平方向の配線が第３層の境界Ｃ、Ｄを通る経路が探索される。そしてステップＳ１２〜Ｓ１５の処理が続いて行われ、検索された経路が遅延制約を満たさない場合には、ステップＳ１６の処理にて新たに設定された経路探索コストで再度経路の探索をするといった処理が行われる。このネットＢに対する経路の探索は、遅延制約を満たし、オーバーフローもしていないと判断されるまで行われる。
【００５３】
ネットＢに対する経路が、遅延制約を満たし、オーバーフローもしていないと判断されると、続いてネットＣについてオーバーフローしているかの判断が行われる。ネットＣに関する経路は第３層の境界Ａ，Ｂを通るように配線されたものとなっている（図７（ｂ）参照）。第３層の境界Ａ，Ｂにおける容量は１本であり、ネットＢについては上述の処理で新たな経路が探索されているため、これら境界Ａ，Ｂには現時点でネットＣ以外のネットは配線されていないことになる。したがって、ネットＣはオーバーフローしていないことになり、ネットＣの経路はそのまま変更なしとなる。なお、他のネットの経路が境界Ｃ、Ｄに存在してオーバーフローとなる場合には、上述のネットＢのように、オーバーフローコストが増幅されたデフォルトコストで新たな経路が探索される。そして、その経路が遅延制約違反の場合には、オーバーフローコストが増幅された経路探索コストを用いて経路の再探索が行われる。
【００５４】
上述のようにして各ネットＡ〜Ｃの経路（概略経路）が求められると、その求めた概略経路を守って詳細配線が行われる。なお、上述した各ネットＡ〜Ｃの経路探索の順序は特に限定するものではなく、設計に応じて決定されるものである。
【００５５】
また、本形態では、全ネットについてデフォルトコストで初期経路を求めているが、これに限定されるものではない。例えば、特定のネット（例えばブロック間ネットのように遅延が大きいネット）に対してのみ、上層のコストをデフォルトコストのそれより小さくした指定コストで経路探索を行うようにしてもよい。この場合の経路探索も上述の式１により求まる最小コストの経路が探索される。
【００５６】
【発明の効果】
以上説明したように構成される本発明によれば、遅延制約を満たしていないパス上のネットに対して、各層毎の遅延値を考慮するとともに配線の混雑度をも考慮して概略経路の探索が行われ、また、遅延制約の厳しいネット、厳しくないネットで層の使い分けが行われるので、全てのパスが遅延制約を満すような正確な遅延見積もりで配線を行うことができる。
【図面の簡単な説明】
【図１】本発明の概略経路決定方式の概略構成を示すブロック図である。
【図２】チップを格子状に区切った一例を示す図である。
【図３】配線が電源パスと重なった例を示す図である。
【図４】図１に示した概略経路決定方式において行われる経路の探索処理手順を示すフローチャートである。
【図５】初期経路の一例を示す図である。
【図６】デフォルトコスト、違反遅延１ｎｓ未満コスト、違反遅延１ｎｓ以上コストの一例を示す図である。
【図７】（ａ）〜（ｃ）は各経路探索処理において探索された経路の一例を示す図である。
【図８】特開平８−１２３８４３号公報に開示されている自動配線システムの概略構成を示すブロック図である。
【図９】特開平５−１４３６９２号公報に開示されている概略経路決定方式の概略構成を示すブロック図である。
【符号の説明】
１０  情報記憶部
１１  ネットリスト
１２  セル情報ファイル
１３  配置情報ファイル
１４  遅延制約情報ファイル
２０  配線処理部
２１  概略格子容量計算部
２２  経路探索部
２３  遅延計算部
２４  違反ネット判定部
２５  経路探索コスト決定部
３０  配線結果出力部
【図１】
0003548398.tif 000002
【図２】
0003548398.tif 000003
【図３】
0003548398.tif 000004
【図４】
0003548398.tif 000005
【図５】
0003548398.tif 000006
【図６】
0003548398.tif 000007
【図７】
0003548398.tif 000008
【図８】
0003548398.tif 000009
【図９】
0003548398.tif 000010