JP3548398B2 - 概略経路決定方法および概略経路決定方式 - Google Patents
概略経路決定方法および概略経路決定方式 Download PDFInfo
- Publication number
- JP3548398B2 JP3548398B2 JP28374697A JP28374697A JP3548398B2 JP 3548398 B2 JP3548398 B2 JP 3548398B2 JP 28374697 A JP28374697 A JP 28374697A JP 28374697 A JP28374697 A JP 28374697A JP 3548398 B2 JP3548398 B2 JP 3548398B2
- Authority
- JP
- Japan
- Prior art keywords
- cost
- net
- route
- delay
- wiring
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Design And Manufacture Of Integrated Circuits (AREA)
Description
【発明の属する技術分野】
本発明は、多層の配線層を持つLSI(Large Scale integrated circuit)などの半導体集積回路を構成するチップの各セル間を接続するネットの概略経路を決める概略経路決定方法および概略経路決定方式に関する。
【0002】
【従来の技術】
半導体集積回路のレイアウト設計において自動的にセル間の配線を行う自動配線手法として、特開平8−123843号公報に開示されているような自動配置配線方法がある。図8に、その公報に開示されている自動配線システムの概略構成を示す。
【0003】
図8において、自動配線システムは、計算機101、ネットリストデータ102、セルレイアウトデータ103、および配線遅延パラメータ104から成る。計算機101は、遅延制約入力部111、セル配置部112、セル間配線部113、配線遅延計算部114、制約条件判断部115および配線変更部116を有する。
【0004】
遅延制約入力部111は、ネットリストのノード毎に遅延制約を与えるもので、回路図エディタにより制約を与えるノードを直接指定するか、または、遅延シミュレータとリンクして遅延時間がある閾値以上であるパスのノードを自動的に返すような処理を行う。セル配置部112は、ネットリストデータ102に使用されているセルのセルレイアウトデータ103を与えられた範囲で配置する。
【0005】
セル間配線部113は、ネットリストデータ102の接続情報から接続配線を生成する。配線遅延計算部114は、例えば各配線層のある配線幅の単位長あたりの配線容量として与えられた配線遅延パラメータ104を用いて配線遅延時間の計算を行う。制約条件判断部115は、各ノードが制約を満たしているかを判断する。配線変更部116は、制約を満たさないと判断されたノードについて配線層の変更を行う。
【0006】
上述の自動配線システムでは、例えば3層の配線層を有する半導体集積回路のレイアウト設計を行う場合、まず、セル配置部112がセルを与えられた範囲で配置し、セル間配線部113がそれらセル間の配線を生成する。この配線生成の際、配線層の選択は下層の配線を優先する。例えば、第1層(最下層)の配線を優先して行い、第1層の配線密度が増して、遅延制約を満たす配線が第1層ではできなくなったときに第2層を使用し、さらに第2層でできなくなったときに第3層を使用するというように下層から順に使用する。この場合、全体の配線結果は第1層、第2層、第3層の順で使用頻度が高くなる。また、遅延制約入力部111から遅延制約の与えられたノードを先行して配線することにより、遅延制約の与えられたノードはできるだけ他の配線による空間的な障害のない状態で、最短距離に近い配線を生成することができる。
【0007】
セル間の配線が生成されると、続いて、制約条件判断部115が各ノードが制約を満たしているかを判断する。制約を満たす場合は、そこで配線処理が終了し、満たさない場合には、配線層変更部116が制約を満たさないと判断されたノードについて配線層の変更を行う。
【0008】
上記の自動配線方法の他、特開平5−143692号公報に開示されているような、概略配線処理時の変更や詳細配線処理によって「遅延の厳しいパス」が遅延制約を違反することのないようにした概略経路決定方式もある。この方式の概略構成を図9に示す。
【0009】
図9において、概略経路決定方式の概略構成は、情報入力部201、遅延解析部202、違反ネット抽出部203、最適遅延値配線層抽出部204、違反ネット概略配線処理部205と、これを統括的に制御する制御部200からなる。
【0010】
情報入力部201は、処理対象のLSIおよびプリント基板等(処理対象基板)について、ブロックの配置を示すブロック配置情報、ブロック間の論理接続関係を示すブロック間論理接続情報、下地とブロックとに関する物理情報である下地・ブロック物理情報、下地とブロックとに関する遅延情報である下地・ブロック遅延情報をそれぞれ入力する。
【0011】
遅延解析部202は、下地・ブロック物理情報に基づいて、処理対象基板の各配線層を縦方向配線層と横方向配線層との2つに分類し、それぞれについて遅延値が最も大きな配線層を求める。さらに、遅延解析部202は、ブロック配置情報とブロック間論理接続情報とに基づいて、処理対象基板の各ネットの仮想配線長の縦方向長および横方向長を求める。そして、遅延が最大の配線層における仮想配線長条件での各パスの遅延解析を行う。
【0012】
違反ネット抽出部203は、遅延解析部202による遅延解析において遅延制約を違反するパスを抽出し、違反パスを構成するネットを示す違反ネット情報を作成する。最適遅延値配線層抽出部204は、違反ネット抽出部203によって抽出された違反パスが仮想配線長条件での遅延解析で遅延制約を満たす配線層を求める。違反ネット概略配線処理部205は、違反ネット抽出部203によって求められた違反ネット情報により示されるネットについて、仮想配線長と等しくなるような概略経路を求め、その概略経路を最適遅延値配線層抽出部204によって求められた縦方向配線および横方向配線に割り当てるとともに、この概略経路の割り当てが後に変更対象とされないように固定的なものとして設定する。
【0013】
上述の概略経路決定方式では、まずネットリストと遅延制約情報に基づいて遅延が最大の層で概略経路が求められ、違反しているネットに対して概略配線の層を遅延値が小さい層に割り当て直して概略経路が求められる。これのより、遅延制約の厳しいパスを構成するネットの経路に関しては、概略配線処理の段階で配線の割り当てと経路の長さとを遅延制約を違反しないように固定的に設定することが可能になる。
【0014】
【発明が解決しようとする課題】
しかしながら、上述した従来の手法には、以下のような問題がある。
【0015】
高速LSIにおいては、層によって配線ピッチや厚さが異なるため、同一配線長であっても使用する層により遅延時間が異なり、場合によっては、2倍以上もの遅延時間の差が生じることがある。そのため、クリティカルパス上のネットについては、配線長を最短にするだけでなく、使用する層を考慮して配線を行う必要がある。
【0016】
特開平8−123843号公報に開示された自動配置配線方法においては、遅延制約のあるノードの配線をできるだけ最短距離で配線でき、制約を満たさない配線については上層の配線に乗り換えて遅延制約を満たし易くすることができるようになっているが、使用する層の配線状態を考慮した配線は行われていない。このように、下層だけで配線し、遅延制約にひっかかった配線について上層へ移行する方法では、上層に何があるか不明のまま配線が行われてしまうため、例えば上層に電源パスなどがある場合には、配線を移行することはできないという問題が生じる。
【0017】
特開平5−143692号公報に開示された概略経路決定処理方式においては、概略配線処理の段階で配線の割り当てと経路の長さとを遅延制約を違反しないように設定することができるが、層の再割り当てを行う際は概略経路を変更せずに層のみが変更され、変更された層の配線の混雑度を考慮した概略経路の探索は行われていない。このように配線の混雑度を考慮して概略経路を求めていないものでは、詳細配線処理で配線ができなくなる場合がある。
【0018】
本発明は、上記各問題を解決し、遅延制約を満たしていないパス上のネットに対して、層毎の遅延値を考慮するとともに配線の混雑度をも考慮した概略経路の探索を行い、全てのパスが遅延制約を満たすように、正確な遅延見積もりで概略経路を求めることができる概略経路決定方法および概略経路決定方式を提供することにある。
【0019】
【課題を解決するための手段】
上記目的を達成するため、本発明の概略経路決定方法は、複数の配線層を有するチップの各セル間を接続するネットの概略経路を決める概略経路決定方法において、
前記チップを格子状に細かく区切って、前記複数の配線層のそれぞれにおける各格子の境界について、通すことのできるネットの容量を予め設定し、
前記複数の配線層の優先順位として用いるそれぞれの層のコストと、ネットの経路長を制限するオーバーフローコストとをそれぞれ所定の値に設定して、ネットが経由する前記格子のそれぞれの境界におけるネットのオーバーフロー数と、ネットが経由する配線層におけるネットの配線長とから、以下の式より求まるネットコストが最小となる経路を前記各セル間を接続するネットについてそれぞれ探索し、
ネットコスト=(オーバーフロー数)×(オーバーフローコスト)
+Σ{(各層の配線長)×(各層のコスト)}
予め設定された遅延制約を満たしていないネットがある場合は、該ネットについて、ネットの経路長が短くなるように前記オーバーフローコストを小さくするとともに上層の優先順位が高くなるように前記複数の層のうちの上層のコストを小さくして、前記式にて求まるネットコストが最小となる経路を再探索し、
オーバーフローしているネットがある場合には、該ネットについて、ネットの経路長が長くなるように前記オーバーフローコストを大きくして、前記式にて求まるネットコストが最小となる経路を再探索することを特徴とする。
【0020】
また、遅延制約を満たしていないネットがある場合に、違反した遅延が大きいものほどオーバーフローコストと上層のコストが小さくなるように設定してもよい。
【0021】
また、特定のネットに対して、前記複数の配線層のうちの上層のコストを他のネットの上層のコストより小さく設定して、前記式にて求まるネットコストが最小となる経路を探索するようにしてもよい。
【0022】
本発明の概略経路決定方式は、複数の配線層を有するチップの各セル間を接続するネットの接続情報および遅延制約が予め記憶された情報記憶手段と、
前記チップを格子状に細かく区切って、前記複数の配線層における各格子の境界について、通すことのできるネットの容量を予め定め、前記情報記憶手段に記憶された情報を基に、前記各セル間を接続するネットの概略経路を、前記遅延制約を満たし、かつ、ネットが経由する格子のそれぞれの境界における実際に配されたネットの数がそれぞれの境界に設定されている容量を超えないように決定する配線処理手段とを有する概略経路決定方式であって、
前記情報記憶手段は、
前記複数の配線層の優先順位として用いるそれぞれの層のコストとネットの経路長を制限するオーバーフローコストとをそれぞれ所定の値に設定したデフォルトコストと、
前記遅延制約を違反した場合に設定される経路探索コストであって、違反遅延に応じて前記デフォルトコストよりもネットの経路長が短くなるようにオーバーフローコストを小さくするとともに上層の優先順位が高くなるように上層のコストを小さくした少なくとも1つの経路探索コストと、が予め記憶されており、
前記配線処理手段は、
前記複数の配線層における各格子の境界について、通すことのできるネットの容量を予め設定し、ネットが経由する格子のそれぞれの境界について、その境界に設定された容量から実際に配されたネットの数を差し引いた残りの容量を算出する容量計算手段と、
前記各セル間のネットの概略経路を探索する経路探索手段と、
前記経路探索手段で探索されたネットの経路の遅延を計算する遅延計算手段と、
前記容量計算手段および遅延計算手段における計算結果に基づいて、前記経路探索手段で探索された各ネットの経路について、算出オーバーフローしていないか、前記遅延制約を違反していないかの判定を行う違反ネット判定手段と、
前記違反ネット判定手段で前記遅延制約を満していないと判定されたネットについて、その違反遅延に応じた経路探索コストを前記記憶手段に記憶された経路探索コストから決定し、前記違反ネット判定手段でオーバーフローしていると判定された場合に、前記記憶手段に記憶されたデフォルトコストおよび前記経路探索コストのオーバーフローコストをそれぞれ増加する経路探索コスト決定手段と、を有し、
前記経路探索手段が、
前記記憶手段に記憶されたデフォルトコストを用いて以下の式にて求まるネットコストが最小となる経路を探索し、
ネットコスト=(オーバーフロー数)×(オーバーフローコスト)
+Σ{(各層の配線長)×(各層のコスト)}
前記違反ネット判定手段で遅延制約を満していないと判定されたネットについては、前記経路探索コスト決定手段で設定された経路検索コストを用いて前記式にて求まるネットコストが最小となる経路を再探索し、違反ネット判定手段でオーバーフローしていると判定された場合は、前記経路探索コスト決定手段にてオーバーフローコストが増加されたデフォルトコストおよび経路探索コストを用いて前記式にて求まるネットコストが最小となる経路を再探索することを特徴とする。
【0023】
または、前記記憶手段に予め記憶された経路探索コストは、違反遅延の大きいネットほどオーバーフローコストと上層のコストが小さくなるように設定されてもよい。
【0024】
または、特定のネットに対して、前記複数の配線層のうちの上層のコストを他のネットの上層のコストより小さく設定した第2のデフォルトコストが前記情報記憶手段に予め記憶され、
前記経路探索手段が、前記特定のネットの概略経路を、前記第2のデフォルトコストを用いて前記式にて求まるネットコストが最小となる経路を探索することにより求めてもよい。
【0028】
(作用)
上記のとおりの本発明においては、格子の境界毎に通すことのできるネットの容量が設定され、その容量を超えないようにネットの経路が求められるので、配線の混雑度を考慮したネットの概略経路が求められる。したがって、従来の手法のように上層に電源パスなどがあるために配線を上層に移行することができなかったり、配線の混雑度を考慮して概略経路を求めていないために詳細配線ができなくなってしまうといった問題は生じない。
【0029】
また、本発明では、デフォルトコストを用いて以下の式にて求まるネットコストが最小となる経路を探索し、
ネットコスト=(オーバーフロー数)×(オーバーフローコスト)
+Σ{(各層の配線長)×(各層のコスト)}
遅延違反ネットについては、その違反遅延に応じてデフォルトコストよりもオーバーフローコストと上層のコストが小さく設定された経路探索コストを用いて上記式にて求まるネットコストが最小となる経路が再探索され、オーバーフローしている場合は、デフォルトコストおよび経路探索コストのオーバーフローコストをそれぞれ増加して前記式にて求まるネットコストが最小となる経路が再探索される。この遅延違反ネットの経路の再探索では、オーバーフローコストを小さくしたことにより最短経路が探索され、さらに上層のコストを小さくしたことにより遅延制約の小さい上層が優先して使用される。オーバーフローしていれば、オーバーフローコストを増加して経路の再探索が行われるので、探索される経路は、オーバーフローコストを増加した分、経路長が長くなる。すなわち、迂回経路が探索されることになる。このように本発明では、遅延違反ネットついては遅延制約の小さい上層を使用して最短経路が探索され、オーバーフローしている場合は、迂回路が探索されるので、各層毎の遅延値を考慮するとともに配線の混雑度をも考慮した概略配線経路の探索が行われる。
【0030】
また、本発明では、違反遅延の大きいネットほどオーバーフローコストと上層のコストが小さくなるように経路探索コストが設定されるので、違反遅延の大きいネットほど上層を優先的に使用されるとともに、より最短距離で経路が探索されることになる。これにより、遅延制約を満たしていないパス上のネットに対して、層毎の遅延値を考慮した概略配線経路の探索が可能になり、遅延制約の厳しいネット、厳しくないネットで層の使い分けが可能になる。
【0031】
【発明の実施の形態】
次に、本発明の実施形態について図面を参照して説明する。
【0032】
図1は、本発明の概略経路決定方式の概略構成を示すブロック図である。この方式は、各層毎の遅延値を考慮するとともに配線の混雑度をも考慮した概略経路の探索を行い、全てのパスが遅延制約を満たすような正確な遅延見積もりで配線を行うようにしたもので、その構成は、各セルに関する配置配線情報が記憶された情報記憶部10と、セル間の配線を行う配線処理部20と、配線結果を出力する配線結果出力部30とからなる。
【0033】
情報記憶部10は、セルの接続情報であるネットリスト11、セルに関する、内部配線や接続端子の位置、数などの情報が記憶されたセル情報ファイル12、セルの配置に関する情報が記憶された配置情報ファイル13、遅延制約に関する情報が記憶された遅延制約情報ファイル14を有する。
【0034】
配線処理部20は、上述の情報記憶部10の各情報に基づいてセルの配置、概略配線処理および詳細配線処理を行うもので、概略格子容量計算部21、経路探索部22、遅延計算部23、違反ネット判定部24、経路探索コスト決定部25の複数の処理部からなる。
【0035】
概略格子容量計算部21は、配線の混雑度を考慮するためのものである。この概略格子容量計算部21は、例えば図2に示すように、チップを水平方向および垂直方向に細かく区切り(格子状に区切る)、それぞれの格子の境界について、通すことのできる配線の本数(容量)を予め設定する。そして、ネットが経由する格子のそれぞれの境界について、境界に設定された容量から実際に配されたネットの数を差し引いた残りの容量を算出する。この容量の算出では、例えば、境界の容量を7本に設定した場合、その境界に実際に配された配線が3本ある場合は、その境界の残りの容量は4本になる。ここで、実際に配された配線には、電源パスやセルの内部配線など予め使用することが決まっている配線も含まれる。例えば図3に示すように、格子40の境界Aに対して7本の配線41を配することができるように設定され、その境界Aに電源パス42が配されている場合は、電源パス42と重なる部分(配線禁止部分)は配線することができないので、その分が差し引かれた本数がその境界Aの残りの容量として算出される。ここでは、電源パスやセルの内部配線などの配線禁止部分に関する情報は予め情報記憶部10に記憶しておき、概略格子容量計算部21が情報記憶部10に記憶されている配線禁止領域を基に容量を算出する。そして、実際に配された配線の本数(フロー)が境界に設定された配線の本数を超える場合(オーバーフロー)は、その境界は配線できないと判断し、超えていない場合は、その境界には配線を通す余裕があると判断する。なお、チップを水平方向および垂直方向に細かく区切る格子の望ましい大きさは、具体的には、チップを水平方向および垂直方向に区切ることができる配線トラックの数でいうと、水平方向および垂直方向ともに、15〜20本間隔で区切った大きさであるが、この大きさは特に限定されるものではない。
【0036】
経路探索部22は、セル間のネットの概略経路を探索する。この経路探索部22による経路探索では、ネット毎の配線経路のコスト(ネットコスト)を、
ネットコスト=(オーバーフロー数)×(オーバーフローコスト)
+Σ{(各層の配線長)×(各層のコスト)} ……(1)
で計算し、最小コストとなる経路を探索する。ここで、オーバーフローコストは、各ネットの経路に位置する格子のそれぞれの境界におけるオーバーフロー数に乗じられる係数で、この値が小さいほど経路長が短くなる。層のコストは、各ネットの経路となっている各層の配線長に乗じられる係数で、この値が小さい層ほど優先して使用される。ここでは、これらオーバーフローコストおよび各層のコストをデフォルト値に設定したデフォルトコスト、およびオーバーフローコストおよび各層のコストを違反遅延量に応じて設定した経路探索コスト(遅延制約違反ネットに対して設定されるコスト)を、予め情報記憶部10に記憶しておき、経路探索部22が、後述するように、まずデフォルトコスト(オーバーフローコストおよび各層のコストの基準値)で各ネットの経路探索を行い、その後に遅延制約違反したネットについて、その違反遅延に応じた経路探索コストで再度経路の探索を行う。
【0037】
遅延計算部23は、経路探索部22にて探索された各ネットの経路の遅延を計算する。違反ネット判定部24は、経路探索部22にて探索された各ネットの経路について、オーバーフローしていないか、遅延制約違反していないかのチェックを行い、いずれかに該当したネットを違反ネットとして判定する。
【0038】
経路探索コスト決定部25は、違反ネット判定部24にて遅延制約違反とされたネットの経路について、その違反遅延に応じた経路探索コストを決定する。具体的には、経路探索コスト決定部25が遅延計算部23にて計算された遅延結果に応じて、情報記憶部10に記憶された各経路探索コストのうちから経路探索コストを決定する。また、経路探索コスト決定部25は、オーバーフローしている場合は、情報記憶部10に記憶されているデフォルトコストおよび経路探索コストについて、それぞれオーバーフローコストを増加する。
【0039】
上述の経路探索部22は、違反ネット判定部24で遅延制約を満していないと判定されたネットについては、経路探索コスト決定部25で設定された経路検索コストを用いて上述の式1にて求まるネットコストが最小となる経路を再探索し、違反ネット判定部24でオーバーフローしていると判定された場合は、経路探索コスト決定部25でオーバーフローコストを増加されたデフォルトコストおよび経路探索コストを用いて上述の式1にて求まるネットコストが最小となる経路を再探索する。
【0040】
次に、上述の概略経路決定方式において行われる経路の探索処理手順について図4を参照して説明する。
【0041】
まず、概略格子容量計算部21が、与えられている情報(例えば電源パスなどの初期配線の情報など)に基づいて、各格子の境界の容量を算出する(ステップS10)。続いて、経路探索部22が、各ネットの経路について、情報記憶部10に用意されているデフォルトコストで経路の探索を行い、上述の式1にて求まる最小コストの経路を探索する(ステップS11)。
【0042】
経路探索部22によって経路探索が行われて初期経路が求められると、続いて、遅延計算部22が各ネットの経路の遅延を計算する(ステップS12)。そして、その遅延計算結果に基づいて、違反ネット判定部24が遅延制約を満たしていないネットがあるかの判断を行う(ステップS13)。遅延制約違反したネットがある場合は、経路探索コスト決定部25がその違反ネットに対してその違反遅延に応じた経路探索コストを決定し、経路探索部22が、その決定された経路探索コストで遅延制約違反したネットの経路を再検索する(ステップS14)。このときの経路再検索においても、上述の式1にて求まる最小コストの経路が探索される。
【0043】
上述のステップS14において、遅延制約違反したネットがない場合は、続いて違反ネット判定部24がオーバーフローしているネットがあるかの判断を行う(ステップS15)。オーバーフローしているネットがある場合は、経路探索コスト決定部25が情報記憶部10に記憶されているデフォルトコストおよび経路探索コストのオーバーフローコストをそれぞれ増加し、再びステップS11へ戻る(ステップS15)。オーバーフローしているネットがない場合は、処理を終了する。
【0044】
以下、上述の経路探索処理をより具体的な例を挙げて説明する。
【0045】
ここでは、図5に示すようにチップ50を水平方向および垂直方向に細かく区切った格子51を設定し、水平方向の配線については第1層、第3層を用い、垂直方向の配線については第2層を用いている。境界A、Bに予め設定されている容量は、ともに第1層で3本、第3層で1本である。ネットリストには3つのネットA、B、Cに関する情報が用意されており、経路探索部22によって図5に示したような初期経路(予め設定されたデフォルトコストで求められた経路)が設定されている。ここでは、経路探索に用いられるコストとしては、図6に示すようなデフォルトコスト、違反遅延1ns未満コスト、違反遅延1ns以上コストが予め設定されている。さらに、ここでは、図4に示したステップS11〜S16の処理を何回繰り返すかを指定する指定改善回数として、20回が設定されている。なお、以下の説明では、図示されたネットについて、水平方向については、実線が第1層に配線された経路を示し、破線が第3層に配線された経路を示す。
【0046】
まず、初期配線に基づいて各格子の境界の容量を計算して初期経路が決定されるが、この図5に示した例では、上述の図4に示したステップS10、S11の処理についてはすでに行われて、初期経路が探索された状態になっているので、ここではステップS12以降の処理について説明する。
【0047】
ネットA,B,Cに関する初期経路が探索されると、各ネットA,B,Cについてそれぞれ順番に上述の図4に示したステップS12〜S16の処理を行う。ここでは、ステップS12の処理において、ネットAは遅延制約を満たし、ネットBは0.5nsの違反、ネットCは2nsの違反をするものとして説明する。
【0048】
まず、ネットAについてステップS12〜S14の処理を行う。このネットAは遅延制約を満たしているので、その経路は図5に示した経路のままとする。
【0049】
続いて、ネットBについてステップS12〜S14の処理を行う。このネットBは0.5nsの遅延違反をしているので、ステップS14の処理によって、経路探索コストとして違反遅延1ns未満コストが決定され、そのコストに基づいて再度経路の探索が行われる(引き剥がし再配線)。この経路探索では、上述の式1より、
ネットBのコスト=0(オーバーフロー数)
×2(オーバーフローコスト)
+3(第3層の配線長)×5(第3層のコスト)
+2(第2層の配線長)×5(第2層のコスト)
で与えられる最小コスト経路が探索される。ここで、オーバーフロー数は、第3層の境界A,Bにおける現時点でのオーバーフロー数の和である。また、各層の配線長は探索されるネットの経路の各層における現時点での配線長で、ここでは配線長を経路が通る格子の数(経路がまたがっている格子の数)で表わしている。この経路探索では、図7(a)に示すように、水平方向の配線が第1層から第3層に移行された経路が探索される。経路が探索されると、この経路についての遅延が計算され、遅延制約を満たさなければその違反遅延に応じた経路探索コストで再び経路探索が行われる。ここでは、遅延制約を満たしたものとし、次のネットCについての処理に進む。
【0050】
ネットCは2nsの違反をしているので、ステップS14の処理によって、経路探索コストとして違反遅延1ns以上コストが決定され、そのコストに基づいて再度経路の探索が行われる(引き剥がし再配線)。この経路探索では、上述のネットBの場合と同様、式1より、
ネットCのコスト=2(オーバーフロー数)
×1(オーバーフローコスト)
+3(第3層の配線長)×2(第3層のコスト)
で与えられる最小コスト経路が探索される。ここで、オーバーフロー数はネットの経由する各境界A,Bにおけるオーバーフロー数の和である。ここでは、第3層の境界A,Bの容量はともに1本であり、上述したようにすでにネットBの経路がこれら境界A,Bを通るように配線されているため、ネットCの経路がそれら境界A,Bを通るように配線されると、各境界A,Bではそれぞれ1本のオーバーフローが生じ、これら境界A,Bにおける現時点でのオーバーフロー数の和は2となる。この経路探索では、例えば、図7(b)に示すように、水平方向の配線が第1層から第3層に移行された経路が探索される。経路が探索されると、この経路についての遅延が計算され、遅延制約を満たさなければその違反遅延に応じた経路探索コストで再び経路探索が行われる。ここでは、遅延制約を満たしたものとし、各ネットA〜Cについて次のステップS15、S16の処理を順次行う。
【0051】
この時点におけるネットAに関する経路は、第1層の境界A,Bを通るように配線されている(図7(b)参照)。第1層の境界A,Bにおける容量は3本で、これら境界A,BにはネットA以外のネットは配線されていない。したがって、このネットAはオーバーフローしていないことになり、ネットAの経路はそのまま変更なしとなる。
【0052】
ネットBに関する経路は、図7(b)に示すように第3層の境界A,Bを通るように配線されている。この第3層の境界A,Bの容量はともに1本であり、この第3層の境界A,BにはネットBの他にネットCに関する経路が配線されている。したがって、ネットBの経路では第3層の境界A,Bにおいてそれぞれ1本のオーバーフローが生じることとなり、ネットBはオーバーフローしていると判断される。オーバーフローと判断されると、ステップS16の処理において、デフォルトコストおよび各違反遅延に応じて設定された経路探索コストのオーバーフローコストが、例えば2倍に増幅され、再びステップS11において、その新たに設定されたデフォルトコストでネットBについての経路の探索が行われる。この経路探索では、例えば図7(c)に示すように、水平方向の配線が第3層の境界C、Dを通る経路が探索される。そしてステップS12〜S15の処理が続いて行われ、検索された経路が遅延制約を満たさない場合には、ステップS16の処理にて新たに設定された経路探索コストで再度経路の探索をするといった処理が行われる。このネットBに対する経路の探索は、遅延制約を満たし、オーバーフローもしていないと判断されるまで行われる。
【0053】
ネットBに対する経路が、遅延制約を満たし、オーバーフローもしていないと判断されると、続いてネットCについてオーバーフローしているかの判断が行われる。ネットCに関する経路は第3層の境界A,Bを通るように配線されたものとなっている(図7(b)参照)。第3層の境界A,Bにおける容量は1本であり、ネットBについては上述の処理で新たな経路が探索されているため、これら境界A,Bには現時点でネットC以外のネットは配線されていないことになる。したがって、ネットCはオーバーフローしていないことになり、ネットCの経路はそのまま変更なしとなる。なお、他のネットの経路が境界C、Dに存在してオーバーフローとなる場合には、上述のネットBのように、オーバーフローコストが増幅されたデフォルトコストで新たな経路が探索される。そして、その経路が遅延制約違反の場合には、オーバーフローコストが増幅された経路探索コストを用いて経路の再探索が行われる。
【0054】
上述のようにして各ネットA〜Cの経路(概略経路)が求められると、その求めた概略経路を守って詳細配線が行われる。なお、上述した各ネットA〜Cの経路探索の順序は特に限定するものではなく、設計に応じて決定されるものである。
【0055】
また、本形態では、全ネットについてデフォルトコストで初期経路を求めているが、これに限定されるものではない。例えば、特定のネット(例えばブロック間ネットのように遅延が大きいネット)に対してのみ、上層のコストをデフォルトコストのそれより小さくした指定コストで経路探索を行うようにしてもよい。この場合の経路探索も上述の式1により求まる最小コストの経路が探索される。
【0056】
【発明の効果】
以上説明したように構成される本発明によれば、遅延制約を満たしていないパス上のネットに対して、各層毎の遅延値を考慮するとともに配線の混雑度をも考慮して概略経路の探索が行われ、また、遅延制約の厳しいネット、厳しくないネットで層の使い分けが行われるので、全てのパスが遅延制約を満すような正確な遅延見積もりで配線を行うことができる。
【図面の簡単な説明】
【図1】本発明の概略経路決定方式の概略構成を示すブロック図である。
【図2】チップを格子状に区切った一例を示す図である。
【図3】配線が電源パスと重なった例を示す図である。
【図4】図1に示した概略経路決定方式において行われる経路の探索処理手順を示すフローチャートである。
【図5】初期経路の一例を示す図である。
【図6】デフォルトコスト、違反遅延1ns未満コスト、違反遅延1ns以上コストの一例を示す図である。
【図7】(a)〜(c)は各経路探索処理において探索された経路の一例を示す図である。
【図8】特開平8−123843号公報に開示されている自動配線システムの概略構成を示すブロック図である。
【図9】特開平5−143692号公報に開示されている概略経路決定方式の概略構成を示すブロック図である。
【符号の説明】
10 情報記憶部
11 ネットリスト
12 セル情報ファイル
13 配置情報ファイル
14 遅延制約情報ファイル
20 配線処理部
21 概略格子容量計算部
22 経路探索部
23 遅延計算部
24 違反ネット判定部
25 経路探索コスト決定部
30 配線結果出力部
Claims (6)
- 複数の配線層を有するチップの各セル間を接続するネットの概略経路を決める概略経路決定方法において、
前記チップを格子状に細かく区切って、前記複数の配線層のそれぞれにおける各格子の境界について、通すことのできるネットの容量を予め設定し、
前記複数の配線層の優先順位として用いるそれぞれの層のコストと、ネットの経路長を制限するオーバーフローコストとをそれぞれ所定の値に設定して、ネットが経由する前記格子のそれぞれの境界におけるネットのオーバーフロー数と、ネットが経由する配線層におけるネットの配線長とから、以下の式より求まるネットコストが最小となる経路を前記各セル間を接続するネットについてそれぞれ探索し、
ネットコスト=(オーバーフロー数)×(オーバーフローコスト)
+Σ{(各層の配線長)×(各層のコスト)}
予め設定された遅延制約を満たしていないネットがある場合は、該ネットについて、ネットの経路長が短くなるように前記オーバーフローコストを小さくするとともに上層の優先順位が高くなるように前記複数の層のうちの上層のコストを小さくして、前記式にて求まるネットコストが最小となる経路を再探索し、
オーバーフローしているネットがある場合には、該ネットについて、ネットの経路長が長くなるように前記オーバーフローコストを大きくして、前記式にて求まるネットコストが最小となる経路を再探索することを特徴とする概略経路決定方法。 - 請求項1に記載の概略経路決定方法において、
遅延制約を満たしていないネットがある場合に、違反した遅延が大きいものほどオーバーフローコストと上層のコストが小さくなるように設定することを特徴とする概略経路決定方法。 - 請求項1に記載の概略経路決定方法において、
特定のネットに対して、前記複数の配線層のうちの上層のコストを他のネットの上層のコストより小さく設定して、前記式にて求まるネットコストが最小となる経路を探索することを特徴とする概略経路決定方法。 - 複数の配線層を有するチップの各セル間を接続するネットの接続情報および遅延制約が予め記憶された情報記憶手段と、
前記チップを格子状に細かく区切って、前記複数の配線層における各格子の境界について、通すことのできるネットの容量を予め定め、前記情報記憶手段に記憶された情報を基に、前記各セル間を接続するネットの概略経路を、前記遅延制約を満たし、かつ、ネットが経由する格子のそれぞれの境界における実際に配されたネットの数がそれぞれの境界に設定されている容量を超えないように決定する配線処理手段とを有する概略経路決定方式であって、
前記情報記憶手段は、
前記複数の配線層の優先順位として用いるそれぞれの層のコストとネットの経路長を制限するオーバーフローコストとをそれぞれ所定の値に設定したデフォルトコストと、
前記遅延制約を違反した場合に設定される経路探索コストであって、違反遅延に応じて前記デフォルトコストよりもネットの経路長が短くなるようにオーバーフローコストを小さくするとともに上層の優先順位が高くなるように上層のコストを小さくした少なくとも1つの経路探索コストと、が予め記憶されており、
前記配線処理手段は、
前記複数の配線層における各格子の境界について、通すことのできるネットの容量を予め設定し、ネットが経由する格子のそれぞれの境界について、その境界に設定された容量から実際に配されたネットの数を差し引いた残りの容量を算出する容量計算手段と、
前記各セル間のネットの概略経路を探索する経路探索手段と、
前記経路探索手段で探索されたネットの経路の遅延を計算する遅延計算手段と、
前記容量計算手段および遅延計算手段における計算結果に基づいて、前記経路探索手段で探索された各ネットの経路について、算出オーバーフローしていないか、前記遅延制約を違反していないかの判定を行う違反ネット判定手段と、
前記違反ネット判定手段で前記遅延制約を満していないと判定されたネットについて、その違反遅延に応じた経路探索コストを前記記憶手段に記憶された経路探索コストから決定し、前記違反ネット判定手段でオーバーフローしていると判定された場合に、前記記憶手段に記憶されたデフォルトコストおよび前記経路探索コストのオーバーフローコストをそれぞれ増加する経路探索コスト決定手段と、を有し、
前記経路探索手段が、
前記記憶手段に記憶されたデフォルトコストを用いて以下の式にて求まるネットコストが最小となる経路を探索し、
ネットコスト=(オーバーフロー数)×(オーバーフローコスト)
+Σ{(各層の配線長)×(各層のコスト)}
前記違反ネット判定手段で遅延制約を満していないと判定されたネットについては、前記経路探索コスト決定手段で設定された経路検索コストを用いて前記式にて求まるネットコストが最小となる経路を再探索し、違反ネット判定手段でオーバーフローしていると判定された場合は、前記経路探索コスト決定手段にてオーバーフローコストが増加されたデフォルトコストおよび経路探索コストを用いて前記式にて求まるネットコストが最小となる経路を再探索することを特徴とする概略経路決定方式。 - 請求項4に記載の概略経路決定方式において、
前記記憶手段に予め記憶された経路探索コストは、違反遅延の大きいネットほどオーバーフローコストと上層のコストが小さくなるように設定されていることを特徴とする概略経路決定方式。 - 請求項4に記載の概略経路決定方式において、
特定のネットに対して、前記複数の配線層のうちの上層のコストを他のネットの上層のコストより小さく設定した第2のデフォルトコストが前記情報記憶手段に予め記憶され、
前記経路探索手段が、前記特定のネットの概略経路を、前記第2のデフォルトコストを用いて前記式にて求まるネットコストが最小となる経路を探索することにより求めることを特徴とする概略経路決定方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP28374697A JP3548398B2 (ja) | 1997-10-16 | 1997-10-16 | 概略経路決定方法および概略経路決定方式 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP28374697A JP3548398B2 (ja) | 1997-10-16 | 1997-10-16 | 概略経路決定方法および概略経路決定方式 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH11121626A JPH11121626A (ja) | 1999-04-30 |
JP3548398B2 true JP3548398B2 (ja) | 2004-07-28 |
Family
ID=17669583
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP28374697A Expired - Fee Related JP3548398B2 (ja) | 1997-10-16 | 1997-10-16 | 概略経路決定方法および概略経路決定方式 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3548398B2 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4872635B2 (ja) * | 2006-12-06 | 2012-02-08 | 日本電気株式会社 | 電子回路用プリント基板の設計方法とシステム |
JP5641046B2 (ja) | 2010-06-22 | 2014-12-17 | 富士通株式会社 | タイミング制約生成支援装置、タイミング制約生成支援プログラム、及び、タイミング制約生成支援方法 |
CN113723711B (zh) * | 2021-09-29 | 2022-10-28 | 东南大学 | 一种全局布线中针对单元移动的位置预测方法 |
-
1997
- 1997-10-16 JP JP28374697A patent/JP3548398B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH11121626A (ja) | 1999-04-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Pan et al. | FastRoute 2.0: A high-quality and efficient global router | |
US7299442B2 (en) | Probabilistic congestion prediction with partial blockages | |
EP0145925A2 (en) | Iterative method for establishing connections between nodes and the resulting product | |
JPH10270563A (ja) | 集積回路の自動概略配線方法 | |
US20030005398A1 (en) | Timing-driven global placement based on geometry-aware timing budgets | |
JPH077427B2 (ja) | ノードの相互接続方法 | |
CN110795908A (zh) | 偏差驱动的总线感知总体布线方法 | |
Lin et al. | A novel framework for multilevel routing considering routability and performance | |
JPH11126825A (ja) | 配線密度予測方法および配線密度予測プログラムを格納した記憶媒体並びにセル配置装置 | |
US7454724B2 (en) | Method and apparatus distribution power suply pad of semiconductor integrated circuit | |
JP3548398B2 (ja) | 概略経路決定方法および概略経路決定方式 | |
JP2002318827A (ja) | 集積回路製造システム | |
US6260184B1 (en) | Design of an integrated circuit by selectively reducing or maintaining power lines of the device | |
Wang et al. | Performance-driven interconnect global routing | |
US5825659A (en) | Method for local rip-up and reroute of signal paths in an IC design | |
Venkataraman et al. | Determination of yield bounds prior to routing | |
Zhong et al. | Whitespace insertion for through-silicon via planning on 3-D SoCs | |
JP3223902B2 (ja) | 半導体集積回路の配線方法 | |
JP3641209B2 (ja) | 自動配置配線装置および自動配置配線方法 | |
JP3530025B2 (ja) | 概略配線決定方法及び記憶媒体 | |
US10606976B2 (en) | Engineering change order aware global routing | |
JP3705737B2 (ja) | 半導体集積回路のレイアウト方法 | |
Mo et al. | Fishbone: a block-level placement and routing scheme | |
US6845346B1 (en) | Iterative method of parasitics estimation for integrated circuit designs | |
Minz et al. | A global router for system-on-package targeting layer and crosstalk minimization |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20010606 |
|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20040108 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040223 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20040416 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080423 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090423 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |