(57)【特許請求の範囲】
【請求項１】
シンボリックレイアウト配線の容量を算出する配線容量計算方法において、算出対象である着目配線がオフグリッド配線の場合に、
該着目配線とその容量計算に影響する周囲の配線に関するデータを記憶部へ複写する第１工程と、
該複写されたデータに基づいて該着目配線とその容量計算に影響する周囲の配線とをレイアウトし、グリッドを剛体的にずらして該着目配線をオングリッド配線にする第２工程と、
該着目配線から所定距離内のオフグリッド配線をオングリッド配線に丸める第３工程と、
該着目配線に沿って、該着目配線のグリッド単位の配線容量をセグメント容量として算出し、該セグメント容量を該記憶部に累積加算して該着目配線の容量を求める第４工程と、
をコンピュータが実行することを特徴とする配線容量計算方法。
【請求項２】
上記第３工程では、上記着目配線に平行な隣のグリッドラインから所定距離内のオフグリッド配線を該グリッドライン上の配線に上記コンピュータが丸めることを特徴とする請求項１記載の配線容量計算方法。
【請求項３】
上記第１工程の前に、上記コンピュータが、グリッド間隔の長さの配線を配線セグメントとしたとき、着目配線セグメントの周囲の配線セグメントの存否状態を示すコードを該着目配線セグメントの配線状態ベクトルとして求め、該配線状態ベクトルに対応した上記セグメント容量を、該配線状態ベクトルをアドレスとしてメモリに格納しておき、
上記第４工程では、上記着目配線に沿って配線セグメント毎に該配線状態ベクトルを求め、求めた各配線状態ベクトルで該メモリをアドレス指定し、該メモリから読み出されたセグメント容量を上記記憶部に累積加算して該着目配線の容量を取得する、
ことを特徴とする請求項１又は２記載の配線容量計算方法。
【請求項４】
配線テーブル記憶部に格納されたシンボリックレイアウト配線データから読み出したデータに対応した着目配線の容量を求める配線容量計算方法において、
グリッド間隔の長さの配線を配線セグメントとしたとき、着目配線セグメントが通るグリッドラインとこれに平行な周囲のグリッドラインとの間隔を示すコードと、該着目配線セグメントの周囲の配線セグメントの存否状態を示すコードとの組を、該着目配線セグメントの配線状態ベクトルとし、該配線状態ベクトルに対応した該着目配線セグメントの容量であるセグメント容量を、該配線状態ベクトルをアドレスとしてメモリに格納しておく第１工程と、
マップ記憶部に、グリッド点又は隣り合うグリッド点間の各々に対応して配線状態ベクトル格納用記憶単位を確保しておき、該配線テーブル記憶部に格納されている配線データの各々について、該配線データに対応した配線を着目外配線とし該着目外配線を該グリッドに沿って配置したときに、該着目外配線の周囲の、容量計算に影響する配線を着目配線とし、該着目配線から見たときの該着目外配線の該配線状態ベクトルへの影響を、該着目配線に対応した該記憶単位に書き込む第２工程と、
該配線テーブル記憶部から配線データを順次読み出し、読み出された各配線データについて、該配線データに対応した配線を着目配線とする第３工程と、
該着目配線がオングリッド配線の場合、
該マップ記憶部を参照し該着目配線に沿って、該記憶単位の内容を配線状態ベクトルとして読み出し、読み出された該配線状態ベクトルで該メモリをアドレス指定し、該メモリから読み出されたセグメント容量を積算用記憶部に累積加算して該着目配線の容量を求め、
該着目配線がオフグリッド配線の場合、
該着目配線とその容量計算に影響する周囲の配線に関するデータを作業用記憶部へ複写し、該作業用記憶部において、
該複写されたデータに基づいて該着目配線とその容量計算に影響する周囲の配線とをレイアウトし、グリッドを剛体的にずらして該着目配線をオングリッド配線にし、
該着目配線から所定距離内のオフグリッド配線をオングリッド配線に丸め、
該着目配線に沿って上記配線セグメント毎に上記セグメント容量を算出し、該セグメント容量を該積算用記憶部に累積加算して該着目配線の容量を求める第４工程と、
をコンピュータが実行することを特徴とする配線容量計算方法。
【請求項５】
請求項１乃至４のいずれか１つに記載の配線容量計算方法をコンピュータに実行させるためのプログラムが格納されていることを特徴とするコンピュータ読み取り可能な記憶媒体。
【請求項６】
配線テーブル記憶部に格納されたシンボリックレイアウト配線データから読み出したデータに対応した着目配線の容量を求める配線容量計算装置において、
作業用記憶部と、
該着目配線がオフグリッド配線の場合に、該着目配線とその容量計算に影響する周囲の配線に関するデータを該作業用記憶部へ複写し、該作業用記憶部において、該複写したデータに基づいて該着目配線とその容量計算に影響する周囲の配線とをレイアウトし、グリッドを剛体的にずらして該着目配線をオングリッド配線にし、該着目配線から所定距離のオフグリッド配線をオングリッド配線に丸め、該着目配線に沿って、該着目配線のグリッド単位の配線容量をセグメント容量として算出するデータ処理部と、
該セグメント容量を累積加算して該着目配線の容量を求める累積加算部と、
を有することを特徴とする配線容量計算装置。
【請求項７】
配線テーブル記憶部に格納されたシンボリックレイアウト配線データから読み出したデータに対応した着目配線の容量を求める配線容量計算装置において、
作業用記憶部と、
グリッド点又は隣り合うグリッド点間の各々に対応して配線状態ベクトル格納用記憶単位が確保されたマップ記憶部と、
レジスタと、
グリッド間隔の長さの配線を配線セグメントとし、着目配線セグメントが通るグリッドラインとこれに平行な周囲のグリッドラインとの間隔を示すコードと、該着目配線セグメントの周囲の配線セグメントの存否状態を示すコードとの組を、該着目配線セグメントの配線状態ベクトルとしたとき、該配線状態ベクトルに対応した該着目配線セグメントの容量であるセグメント容量が、該配線状態ベクトルをアドレスとして格納され、該レジスタの出力でアドレス指定されるテーブル記憶部と、
該配線テーブル記憶部に格納されている配線データの各々について、該配線データに対応した配線を着目外配線とし該着目外配線を該グリッドに沿って配置したときに、該着目外配線の周囲の、容量計算に影響する配線を着目配線とし、該着目配線から見たときの該着目外配線の該配線状態ベクトルへの影響を、該着目配線に対応した該記憶単位に書き込ませ、該配線テーブル記憶部から配線データを順次読み出させ、読み出された各配線データについて、該配線データに対応した配線を着目配線とし、
（ａ）該着目配線がオングリッド配線の場合、
該マップ記憶部を参照し該着目配線に沿って、該記憶単位の内容を配線状態ベクトルとして読み出させ該レジスタに保持し、該テーブル記憶部から該レジスタの出力に対応するセグメント容量を読み出し、
（ｂ）該着目配線がオフグリッド配線の場合、
該着目配線とその容量計算に影響する周囲の配線に関するデータを該作業用記憶部へ複写させ、該作業用記憶部において、該複写されたデータに基づいて該着目配線とその容量計算に影響する周囲の配線とをレイアウトし、グリッドを剛体的にずらして該着目配線をオングリッド配線にし、該着目配線から所定距離内のオフグリッド配線をオングリッド配線に丸め、該着目配線に沿って、上記配線セグメント毎に上記セグメント容量を算出するデータ処理部と、
該処理（ａ）又は（ｂ）で得たセグメント容量を累積加算して該着目配線の容量を取得する累積加算部と、
を有することを特徴とする配線容量計算装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、シンボリックレイアウト配線の容量を計算する配線容量計算方法及び装置並びにこの方法を実施するためのプログラムが記憶された記憶媒体に関する。
【０００２】
【従来の技術】
ＬＳＩ設計において、ホールドタイムやセットアップタイム等の条件を満たすかどうかをシミュレーションするために、レイアウト配線の容量が算出される。図９（Ａ）に示すように配線幅を考慮して、例えば配線１０Ａの容量を計算する場合、配線１０Ａと１１Ａとの重なり部分の面積や配線１０Ａと１２Ａとの重なりの部分の面積等を求める必要があるので、回路が大規模なＬＳＩの場合には、計算時間が長くなり過ぎる。
【０００３】
そこで、計算時間短縮のため図９（Ｂ）に示すように、配線をその中心線で表したシンボリックレイアウト配線１０Ｂ〜１２Ｂを用い、例えば配線１０Ｂに着目し、グリッド単位の配線セグメントの容量をセグメント容量としてその周囲の配線状態から求め、セグメント容量を累積加算することにより配線容量を求めることが行われている。この場合、現在の着目配線がどれかとは無関係に、配線容量計算前に一括して、オフグリッド配線はオングリッド配線に丸められる。
【０００４】
【発明が解決しようとする課題】
しかし、図１０（Ａ）に示すように、着目配線１３がオフグリッドでその両側の配線１４及び１５がオングリッドの場合、着目配線１３が図１０（Ｂ）に示すように、例えば配線１５側のグリッド上の配線１３Ａに丸められる。着目配線の側方に関し例えば隣のグリッド上の配線のみ容量計算に考慮する場合、着目配線が配線１３Ａの場合には配線１４が無視され、着目配線が配線１４の場合には配線１３Ａが無視される。このため、算出された容量の精度が悪くなり、シミュレーション結果の信頼性が低くなる。
【０００５】
本発明の目的は、このような問題点に鑑み、シンボリックレイアウト配線を用いて配線容量をより高精度に算出することが可能な配線容量計算方法及び装置並びにこの方法を実施するためのプログラムが記憶された記憶媒体を提供することにある。
【０００６】
【課題を解決するための手段及びその作用効果】
本発明による第１態様では、シンボリックレイアウト配線の容量を算出する配線容量計算方法において、算出対象である着目配線がオフグリッド配線の場合に、該着目配線とその容量計算に影響する周囲の配線に関するデータを作業用記憶領域へ複写する第１工程と、該複写されたデータに基づいて該着目配線とその容量計算に影響する周囲の配線とをレイアウトし、グリッドを剛体的にずらして該着目配線をオングリッド配線にする第２工程と、該着目配線から所定距離内のオフグリッド配線をオングリッド配線に丸める第３工程と、該着目配線に沿って、該着目配線のグリッド単位の配線容量をセグメント容量として算出し、該セグメント容量を累積加算して該着目配線の容量を求める第４工程とを有する。
【０００７】
この配線容量計算方法によれば、着目配線がオフグリッド配線の場合に、着目配線毎に上記第１〜４工程が行われるので、シンボリックレイアウト配線を用いて配線容量を、マップ記憶領域内の全配線に対し一括してオフグリッド配線をオングリッド配線に丸める従来法よりも、高精度に算出することができるという効果を奏する。
【０００８】
本発明による配線容量計算方法の第２態様では、第１態様において、上記第３工程では、上記着目配線に平行な隣のグリッドラインから所定距離内のオフグリッド配線を該グリッドライン上の配線に丸める。本発明による配線容量計算方法の第３態様では、第１又は第２態様において、
上記第１工程の前に、グリッド間隔の長さの配線を配線セグメントとしたとき、着目配線セグメントの周囲の配線セグメントの存否状態を示すコードを該着目配線セグメントの配線状態ベクトルとして求め、該配線状態ベクトルに対応した上記セグメント容量を、該配線状態ベクトルをアドレスとしてメモリに格納しておき、上記第４工程では、上記着目配線に沿って配線セグメント毎に該配線状態ベクトルを求め、求めた各配線状態ベクトルで該メモリをアドレス指定し、該メモリから読み出されたセグメント容量を累積加算して該着目配線の容量を取得する。
【０００９】
この配線容量計算方法によれば、メモリから読み出されたセグメント容量を累積加算すれば着目配線の容量が求まるので、容量計算を高速実行することが可能になるという効果を奏する。
本発明による第４態様では、配線テーブル記憶領域に格納されたシンボリックレイアウト配線データから読み出したデータに対応した着目配線の容量を求める配線容量計算方法において、グリッド間隔の長さの配線を配線セグメントとしたとき、着目配線セグメントが通るグリッドラインとこれに平行な周囲のグリッドラインとの間隔を示すコードと、該着目配線セグメントの周囲の配線セグメントの存否状態を示すコードとの組を、該着目配線セグメントの配線状態ベクトルとし、該配線状態ベクトルに対応した該着目配線セグメントの容量であるセグメント容量を、該配線状態ベクトルをアドレスとしてメモリに格納しておく第１工程と、マップ記憶領域に、グリッド点又は隣り合うグリッド点間の各々に対応して配線状態ベクトル格納用記憶単位を確保しておき、該配線テーブル記憶領域に格納されている配線データの各々について、該配線データに対応した配線を着目外配線とし該着目外配線を該グリッドに沿って配置したときに、該着目外配線の周囲の、容量計算に影響する配線を着目配線とし、該着目配線から見たときの該着目外配線の該配線状態ベクトルへの影響を、該着目配線に対応した該記憶単位に書き込む第２工程と、該配線テーブル記憶領域から配線データを順次読み出し、読み出された各配線データについて、該配線データに対応した配線を着目配線とし、該マップ記憶領域を参照し該着目配線に沿って、該記憶単位の内容を配線状態ベクトルとして読み出し、読み出された該配線状態ベクトルで該メモリをアドレス指定し、該メモリから読み出されたセグメント容量を累積加算して該着目配線の容量を取得する第３工程とを有する。
【００１０】
この配線容量計算方法によれば、グリッド間隔が異なるグリッドを用いることにより、グリッド間隔が同一のグリッドを用いた場合にオフグリッドになる配線をオングリッドにすることができるので、オフグリッド配線をオングリッド配線に丸めた場合よりも、配線容量を高精度に算出することができるという効果を奏する。
【００１１】
本発明による配線容量計算方法の第５態様では、第４態様において、上記第３工程で上記配線テーブル記憶領域から読み出された配線データに対応した着目配線が、オフグリッド配線の場合、該第３工程で容量取得処理を行わずに、該第３工程の後で、該着目配線とその容量計算に影響する周囲の配線に関するデータを作業用記憶領域へ複写し、該作業用記憶領域において、該複写されたデータに基づいて該着目配線とその容量計算に影響する周囲の配線とをレイアウトし、グリッドを剛体的にずらして該着目配線をオングリッド配線にし、該着目配線から所定距離内のオフグリッド配線をオングリッド配線に丸め、該着目配線に沿って上記配線セグメント毎に上記セグメント容量を算出し、該セグメント容量を累積加算して該着目配線の容量を求める。
【００１２】
本発明による記憶媒体の第６態様では、第１態様乃至５態様のいずれか１つに記載の配線容量計算方法を実施するためのプログラムが記憶されている。
本発明による第７態様では、配線テーブル記憶領域に格納されたシンボリックレイアウト配線データから読み出したデータに対応した着目配線の容量を求める配線容量計算装置において、グリッド点又は隣り合うグリッド点間の各々に対応して配線状態ベクトル格納用記憶単位が確保されたマップ記憶部と、レジスタと、グリッド間隔の長さの配線を配線セグメントとし、着目配線セグメントが通るグリッドラインとこれに平行な周囲のグリッドラインとの間隔を示すコードと、該着目配線セグメントの周囲の配線セグメントの存否状態を示すコードとの組を、該着目配線セグメントの配線状態ベクトルとしたとき、該配線状態ベクトルに対応した該着目配線セグメントの容量であるセグメント容量が、該配線状態ベクトルをアドレスとして格納され、該レジスタの出力でアドレス指定されるテーブル記憶部と、該配線テーブル記憶領域に格納されている配線データの各々について、該配線データに対応した配線を着目外配線とし該着目外配線を該グリッドに沿って配置したときに、該着目外配線の周囲の、容量計算に影響する配線を着目配線とし、該着目配線から見たときの該着目外配線の該配線状態ベクトルへの影響を、該着目配線に対応した該記憶単位に書き込ませ、該配線テーブル記憶領域から配線データを順次読み出させ、読み出された各配線データについて、該配線データに対応した配線を着目配線とし、該マップ記憶領域を参照し該着目配線に沿って、該記憶単位の内容を配線状態ベクトルとして読み出させ該レジスタに保持させるデータ処理部と、該テーブル記憶部から読み出されたセグメント容量を累積加算して該着目配線の容量を取得する累積加算部とを有する。
【００１３】
本発明による配線容量計算装置の第８態様では、第７態様において、作業用記憶部を有し、上記データ処理部は、上記配線テーブル記憶領域から読み出された配線データに対応した着目配線がオフグリッド配線の場合、該着目配線とその容量計算に影響する周囲の配線に関するデータを該作業用記憶領域へ複写させ、該作業用記憶領域において、該複写されたデータに基づいて該着目配線とその容量計算に影響する周囲の配線とをレイアウトし、グリッドを剛体的にずらして該着目配線をオングリッド配線にし、該着目配線から所定距離内のオフグリッド配線をオングリッド配線に丸め、該着目配線に沿って、上記配線セグメント毎に上記セグメント容量を算出し、該セグメント容量を累積加算して該着目配線の容量を取得する。
【００１４】
【発明の実施の形態】
以下、図面に基づいて本発明の一実施形態を説明する。
図１は、配線容量計算装置の概略構成を示す。
データ処理部２０は、例えばマイクロプロセッサとプログラム格納用メモリ及び作業用メモリ２０ａを備えており、主に配線テーブルメモリ２１及びマップメモリ２２に対しデータ処理を行う。
【００１５】
配線テーブルメモリ２１には、レイアウト設計により得られた各配線層の全ての配線のデータが格納されている。折曲した配線は１直線の配線に分割されており、分割された配線の各々は連結された１つの配線であることを示すためにリスト構造で連結されている。各配線データ（折曲した配線は１直線の配線のデータ）は、１直線の配線の始端と終端の座標を含む。各配線データに対応して、容量Ｃと抵抗Ｒの空欄が確保されている。配線の抵抗Ｒは、その配線長に単位長さ当たりの抵抗値を乗ずることにより容易に求められる。各配線の信号伝播遅延時間（時定数）は、容量Ｃと抵抗Ｒとの積になる。
【００１６】
レイアウト配線は原則としてその中心線がグリッドライン上に存在し、１つの配線を構成する、隣り合うグリッド点間の配線部分を、配線セグメントと称する。
データ処理部２０により、配線テーブルメモリ２１内の全ての配線データに基づいて、マップメモリ２２に後述の配線状態ベクトルマップが作成され、次に、配線テーブルメモリ２１内から配線データが１つずつ読み出され、各配線データについて、マップメモリ２２内から、配線に沿った各配線セグメントの配線状態ベクトルＶが順次読み出され、レジスタ２３にロードされる。
【００１７】
この配線状態ベクトルＶを、図４を参照して説明する。
図４（Ａ）において、配線層Ｌ１の配線セグメント方向と配線層Ｌ２の配線セグメント方向とは互いに直角になっており、配線層Ｌ２の配線セグメント方向と配線層Ｌ３の配線セグメント方向とは互いに直角になっている。配線層Ｌ２内の着目配線セグメントＳＰの一方側及び他方側にはそれぞれ、１グリッド間隔離れて、配線セグメントＳＬ及びＳＲが配置されている。配線層Ｌ１内及びＬ３内にはそれぞれ、配線セグメントＳＤ及びＳＵが配置され、配線セグメントＳＤ及びＳＵはそれぞれ着目配線セグメントＳＰの真下及び真上の位置になっている。
【００１８】
着目配線セグメントＳＰの容量は、その周囲の配線状態により異なる。この配線状態を表すために、配線セグメントＳＬ、ＳＲ、ＳＤ及びＳＵの配線の有無をそれぞれ、図４（Ｂ）のようにビットＬｂ、Ｒｂ、Ｄｂ及びＵｂで表す。第１コードＣＤ１＝（Ｌｂ，Ｒｂ，Ｕｂ，Ｄｂ）は、配線状態を示している。第１コードＣＤ１は、図４（Ｃ）に示す如く１６進数０〜Ｆの１６通りあり、図４（Ｃ）ではその各々に対応した着目配線セグメントの容量Ｃｓ（セグメント容量）をＣｓ１〜ＣｓＦで表している。
【００１９】
図４では簡単化のために、配線層Ｌ１とＬ２との間の層間コンタクト、配線層Ｌ２とＬ３との間の層間コンタクト、配線層Ｌ２内の着目配線セグメントＳＰから同一配線層内で２グリッド間隔以上離れた配線セグメント、配線層Ｌ３内の配線セグメントＳＵの隣の配線セグメント、配線層Ｌ３の上方の配線セグメント及び配線層Ｌ１の下方の配線セグメントを考慮してないが、これらも第１コードＣＤ１の成分として追加してもよい。
【００２０】
一般にグリッド間隔は一定であるが、例えば図７（Ａ）に示すように、Ｘ方向について間隔ｄと間隔１．５ｄを含むグリッドを考えると多くの配線がオングリッドになる場合には、このような異ピッチグリッドを使用する。この場合も、図４の場合と同一の第１コードＣＤ１を用いる。
容量計算に影響する第２コードとして、図４（Ａ）において、着目配線セグメントＳＰの両側の配線間隔がｄの場合と、着目配線セグメントＳＰの一方の配線間隔がｄで他方の配線間隔が１．５ｄの場合と、着目配線セグメントＳＰの両側の配線間隔が１．５ｄの場合とを区別するコードを用いる。この第２コードＣＤ２には、容量計算に影響する他のパラメータを付加してもよい。
【００２１】
第１コードＣＤ１と第２コードＣＤ２とで、着目配線セグメントＳＰの容量計算に影響する周囲の配線状態が定まる。そこで、配線状態ベクトルＶ  ＝（ＣＤ２，ＣＤ１）を定義する。配線状態ベクトルＶの値の各々につきセグメント容量Ｃｓを計算により求め、図１において、配線状態ベクトル／セグメント容量テーブルメモリ２４のアドレスＡＤに、（アドレスＡＤ）＝（配線状態ベクトルＶ）に対応したセグメント容量Ｃｓを格納しておく。配線状態ベクトル／セグメント容量テーブルメモリ２４のアドレス入力端には、配線状態ベクトルＶがロードされるレジスタ２３のデータ出力端が接続されており、配線状態ベクトル／セグメント容量テーブルメモリ２４からは、レジスタ２３の出力でアドレス指定された内容が、セグメント容量として読み出される。
【００２２】
累積加算部２５では、読み出されたセグメント容量がレジスタ２６に保持され、レジスタ２６の出力とレジスタ２７の出力とが加算回路２８で加算され、その結果がレジスタ２７に保持される。レジスタ２７の出力は、データ処理部２０により、配線毎に配線テーブルメモリ２１内の容量Ｃの欄に書き込まれる。レジスタ２６及び２７へのデータ保持タイミング信号は、データ処理部２０から供給される。
【００２３】
次に、データ処理部２０によるデータ処理の手順を、図２及び図３に基づいて説明する。なお、配線状態ベクトル／セグメント容量テーブルメモリ２４の内容は、この処理とは独立に既に求められているとする。
（Ｓ１）データ処理部２０は、配線テーブルメモリ２１内の全配線データの各々に基づいて、マップメモリ２２に配線状態ベクトルマップを以下のようにして作成する。
【００２４】
図５（Ａ）は、配線テーブルメモリ２１内の任意の１つの配線層に対応した配線状態ベクトルマップの一部構成を、点線で示すグリッドとの関係で模式的に示している。隣り合うグリッド点の間の各々に、配線状態ベクトルＶ格納用のワードＲが対応している。図５（Ａ）では簡単化のために、配線状態ベクトルＶが４ビットの上記第１コードＣＤ１＝（Ｌｂ，Ｒｂ，Ｕｂ，Ｄｂ）で表される場合を示している。最初、配線テーブルメモリ２１内の全てのワードＲは、例えば０に初期化されている。
【００２５】
配線テーブルメモリ２１から１つの配線データ、例えば配線層Ｂ内の配線Ｐ０のデータを読み出し、その座標に基づいて、マップメモリ２２内に例えば図５（Ｂ）に示す如く配線Ｐ０を仮想的に配置する。配線Ｐ０に平行な左隣のグリッドラインに着目配線が存在すると仮定したときにこの着目配線の右隣に配線Ｐ０が存在するので、ワードＲＢ１〜ＲＢ３の各々のビットＲｂを‘１’にする。図５では、‘１’のビットをハッチングで表している。配線Ｐ０に平行な右隣のグリッドラインに着目配線が存在すると仮定したときにこの着目配線の左隣に配線Ｐ０が存在するので、ワードＲＢ７〜ＲＢ９の各々のビットＬｂを‘１’にする。配線層Ｂの上方の図６（Ａ）に示す配線層Ａ内の、配線Ｐ０の真上に対応したグリッドラインに着目配線が存在すると仮定したときにこの着目配線の真下に配線Ｐ０が存在するので、この着目配線に対応したワードＲＡ４〜ＲＢ６の各々のビットＤｂを‘１’にする。同様に、図５（Ｂ）の配線層Ｂの下方の図６（Ｂ）に示す配線層Ｃ内の、配線Ｐ０の真下に対応したグリッドラインに着目配線が存在すると仮定したときにこの着目配線の真上に配線Ｐ０が存在するので、この着目配線に対応したワードＲＣ４〜ＲＣ６の各々のビットＵｂを‘１’にする。
【００２６】
配線Ｐ０がオフグリッドの場合には、丸めによりオングリッド化して上記処理を行う。この場合も、上記着目配線はオングリッドである。
このような処理を、配線テーブルメモリ２１内の全配線データについて行うことにより、図１のマップメモリ２２内に配線状態ベクトルマップが作成される。（Ｓ２）データ処理部２０は、配線テーブルメモリ２１から着目配線のデータを１つ取り出す。取り出し順は、例えばテーブルの先頭から順にというように予め定められている。
【００２７】
（Ｓ３）ステップＳ２で取り出すべき着目配線が無ければ図３のステップＳ１２へ進み、有れば次のステップＳ４へ進む。
（Ｓ４）この着目配線がマップメモリ２２内において、オフグリッドであればステップＳ５へ進み、オングリッドであればステップＳ６へ進む。
（Ｓ５）配線テーブル上の、このオフグリッドの配線データのポインタを、作業メモリ２０ａ内に格納しておき、上記ステップＳ２へ戻る。
【００２８】
（Ｓ６）レジスタ２７の内容をゼロクリアする。
（Ｓ７）着目配線に沿って、着目点を１グリッド間隔進める。ただし、各着目配線について、ステップＳ７〜Ｓ１０のループ処理の初回は配線テーブルメモリ２１中の配線の一端座標を着目点とする。例えば図７（Ｂ）の場合、初回はグリッド点Ｇ０を着目配線Ｐ１の着目点とし、次回はグリッド点Ｇ１を着目点とする。
【００２９】
（Ｓ８）着目点から着目配線Ｐ１に沿って、１つ先の着目点までに配線セグメントが存在すればステップＳ９へ進み、存在しなけばステップＳ１１へ進む。図７（Ｂ）の場合、着目点がグリッド点Ｇ３であればステップＳ１１へ進む。
（Ｓ９）着目点から着目配線Ｐ１に沿って１つ先の着目点までの着目配線セグメントの配線状態ベクトルＶをマップメモリ２２から読み出し、これをレジスタ２３にロードする。
【００３０】
（Ｓ１０）配線状態ベクトル／セグメント容量テーブルメモリ２４から読み出されたセグメント容量Ｃｓをレジスタ２６に保持させ、加算回路２８の加算結果をレジスタ２７に保持される。次に、上記ステップＳ７へ戻る。
（Ｓ１１）レジスタ２７の内容を、着目配線の容量として配線テーブルメモリ２１内の、ステップＳ２で取り出した配線の欄の容量Ｃに書き込む。次に、上記ステップＳ２へ戻る。
【００３１】
（Ｓ１２）ステップＳ５で格納されたオフグリッド配線データのポインタを、着目配線のデータのポインタとして１つ取り出す。取り出すべきオフグリッド配線データのポインタが無ければ処理を終了し、有れば次のステップＳ１３へ進む。
（Ｓ１３）着目配線をオングリッド配線にし、その側方の所定距離内、例えば１．５ｄ内の配線を、オングリッド配線に丸める。この処理は、着目配線毎に行われるので、配線テーブルメモリ２１内の着目配線及びその容量計算に影響する周囲の配線のデータを読み出してデータ処理部２０内の作業用メモリ２０ａに複写し、作業用メモリ２０ａ内で行う。
【００３２】
例えば図８（Ａ）に示す如く、着目配線１３がオフグリッドである場合には、点線で示すグリッドを、着目配線１３の方向に直角な方向へずらすことにより、図８（Ｂ）に示す如く着目配線１３をオングリッドにする。次に、着目配線１３の隣のグリッドから例えば距離０．７５ｄ以内に存在する配線１４Ａ及び１５Ａを、着目配線１３の隣のグリッド上へずらすことにより、配線１４Ａ及び１５Ａをオングリッド配線に丸める。
【００３３】
（Ｓ１４）この着目配線のみについて、着目配線に沿って上述の配線状態ベクトルを求める。
（Ｓ１５）上記ステップＳ６〜Ｓ１１と同一処理を行って、着目配線の容量を算出し、これを配線テーブルの容量Ｃの欄に格納し、上記ステップＳ１２へ戻る。
【００３４】
オフグリッド配線について、ステップ１２〜Ｓ１５の処理を、着目配線毎に行うことにより、図１０について上述した問題点が解決される。
以上のような処理により、配線テーブルメモリ２１内の各配線容量Ｃが求められる。折曲した配線の容量は上記分割された配線の容量を加算することにより得られる。
【００３５】
なお、本発明には外にも種々の変形例が含まれる。
例えば図７（Ｂ）において、グリッド点を中心とする前後ｄ／２の距離の範囲Ｈ１〜Ｈ４を配線セグメントとして配線状態ベクトルＶを求めるようにしてもよい。この場合、配線端で配線セグメントの長さがｄ／２になるので、配線状態ベクトル／セグメント容量テーブルメモリ２４の出力に、１／２mを乗ずる。すなわち、配線状態ベクトル／セグメント容量テーブルメモリ２４の出力を下位側へｍビットシフトさせる。ここにｍは、着目配線セグメントとその周囲の配線セグメントとのうち、長さがｄ／２のセグメント本数である。
【００３６】
上述のワードは、メモリ内の配線状態ベクトル格納用記憶単位であればよく、例えば、（１ワード）＝（２記憶単位）又は（２ワード）＝（１記憶単位）であってもよい。
また、メモリ２０ａ、２１、２２及び２４は記憶装置の記憶領域に対応していればよい。
【図面の簡単な説明】
【図１】本発明の一実施形態に係る配線容量計算装置の概略構成図である。
【図２】図１中のデータ処理部による処理の手順を示すフローチャートである。
【図３】図２の続きを示すフローチャートである。
【図４】配線状態ベクトル説明図である。
【図５】図２のステップＳ１の処理説明図である。
【図６】図２のステップＳ１の処理説明図である。
【図７】（Ａ）は異ピッチグリッド上のシンボリックレイアウト配線図であり、（Ｂ）はこの配線の容量計算説明図である。
【図８】図２のステップＳ５の処理説明図である。
【図９】従来技術の問題点説明図である。
【図１０】従来技術の問題点説明図である。
【符号の説明】
２０  データ処理部
２０ａ  作業用メモリ
２１  配線テーブルメモリ
２２  マップメモリ
２３、２６、２７  レジスタ
２４  配線状態ベクトル／セグメント容量テーブル
２５  累積加算部
ＳＰ  着目配線セグメント
ＳＬ、ＳＲ、ＳＵ、ＳＤ  配線セグメント
Ｌ１〜Ｌ３  配線層
Ｇ０〜Ｇ３  グリッド点
【図１】
0004056110.tif 000002
【図２】
0004056110.tif 000003
【図３】
0004056110.tif 000004
【図４】
0004056110.tif 000005
【図５】
0004056110.tif 000006
【図６】
0004056110.tif 000007
【図７】
0004056110.tif 000008
【図８】
0004056110.tif 000009
【図９】
0004056110.tif 000010
【図１０】
0004056110.tif 000011