JP3519584B2 - 非格子データを格子に割り当てる方法、及び非格子データを格子に割り当てるプログラムを記憶した記憶媒体、並びに非格子データの再利用方法 - Google Patents

非格子データを格子に割り当てる方法、及び非格子データを格子に割り当てるプログラムを記憶した記憶媒体、並びに非格子データの再利用方法

Info

Publication number
JP3519584B2
JP3519584B2 JP26649497A JP26649497A JP3519584B2 JP 3519584 B2 JP3519584 B2 JP 3519584B2 JP 26649497 A JP26649497 A JP 26649497A JP 26649497 A JP26649497 A JP 26649497A JP 3519584 B2 JP3519584 B2 JP 3519584B2
Authority
JP
Japan
Prior art keywords
grid
wiring
lattice
placement
rectangle
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
Application number
JP26649497A
Other languages
English (en)
Other versions
JPH11111852A (ja
Inventor
正博 福井
典子 四宮
泰男 西垣
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP26649497A priority Critical patent/JP3519584B2/ja
Publication of JPH11111852A publication Critical patent/JPH11111852A/ja
Application granted granted Critical
Publication of JP3519584B2 publication Critical patent/JP3519584B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Design And Manufacture Of Integrated Circuits (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、LSI等の自動配線方法
において、LSIのプロセス条件等が変化した場合にも、
マスクレイアウト図の再利用が行えるように、実座標を
用いて表現されたデ−タ(非格子データ)を格子上のシ
ンボリックデータに変換するための、非格子デ−タの格
子への割り当て方法に関する。
【0002】
【従来の技術】近年、LSI等の自動配線設計に際して、
部品化又は流用化可能なLSI機能回路 (IPコア) の動作
記述やマスクレイアウトを再利用することが、非常に重
要視されてきている。
【0003】前記マスクレイアウトの再利用に関して、
従来では、配置オブジェクトと配線の位置及び形状を含
む非格子デ−タを再利用する場合、設計ル−ルを変更し
て再利用するときには、その非格子デ−タを変更後の設
計ル−ルを満たす他のデ−タに変換する作業は、人手に
より行われていた。しかし、この変換作業は多大の時間
を要し、更には、変換後のデ−タをチェックし、最適な
デ−タに改善したい要求がある。
【0004】そこで、既存の自動配線技術である迷路探
索方法を利用して、前記変換作業を自動的に行うことが
考えられる。この迷路探索方法は、配線領域を多数の格
子に分割し、配置オブジェクトと配線を格子に割り当て
る方法である。この迷路探索方法を使用した技術とし
て、従来、特開平6−291188号公報に開示される
ものがある。この技術は、配線領域を予め所定間隔で分
割して、所定の大きさの多数の格子(グリッド)を設定
しておき、所定のデ−タ(例えば、端子位置)が格子に
制約されない場合にも、その端子位置近傍の格子点を仮
想的な端子とみなして、配線を実行する技術である。こ
の技術を利用すれば、予め分割された多数の格子に非格
子デ−タを割り当てることも可能である。このように、
非格子デ−タの配置オブジェクトや配線の位置が格子に
割り当てられたデ−タ(以下、格子デ−タという)が得
られれば、格子データ用の再利用手法、例えば、再配線
やシンボリックベースのコンパクション等の技術を適用
して、デ−タの再利用が可能になる。
【0005】
【発明が解決しようとする課題】しかしながら、明確な
配線領域を有するゲートアレイや、ブロック間配線問題
では、配線領域を予め多数の格子(以下、固定格子とい
う)に分割しておくことができ、従って、全ての配線に
対する固定格子数を十分に確保できるものの、配置オブ
ジェクトと配線が高密度に混在するライブラリセルや機
能ブロック内配線などでは、必ずしも配線に十分な固定
格子数を確保できないため、配線領域を予め多数の固定
格子に分割する従来の技術の適用は、そのままでは不可
能である。
【0006】本発明は前記欠点に着目してなされたもの
であり、その目的は、高密度な非格子データの再利用に
際し、非格子データ用の再利用手法、例えばポリゴンの
エッジベースコンパクション等の技術の適用だけでな
く、非格子データを格子上のシンボリックデータに変換
することにより、非格子データに対しても、前記格子デ
ータ用の再利用手法を適用して、現存するマスクレイア
ウトの再利用を容易にし、配線の修正、再最適化等を簡
易にできるようにすることにある。
【0007】
【課題を解決するための手段】以上の目的を達成するた
め、本発明では、配置オブジェクトと配線が高密度に混
在する非格子デ−タを格子に割り当てるに際し、その非
格子デ−タが持つ多数の配置オブジェクト及び配線の全
てを格子に割り当てることが可能なように、配線領域を
前記固定格子には分割せず、格子の大きさを適宜変更し
ながら、配線領域を多数の格子に分割する。
【0008】具体的には、請求項1記載の発明の非格子
デ−タを格子に割り当てる方法は、配置オブジェクトの
位置及び形状並びに配線の位置を実座標で表現した非格
子デ−タを入力した後、前記入力した配置オブジェクト
の位置及び形状並びに配線の位置に応じて、格子境界線
を配置する位置を求めて、前記配置オブジェクト又は配
線が密集する箇所では小さな格子を、前記配置オブジェ
クト又は配線が疎な箇所では大きな格子を各々設定する
配置オブジェクト及び配線対応格子境界線位置算出処理
と、前記配置オブジェクト及び配線を前記格子に割り当
てる処理とを備えたことを特徴とする。
【0009】請求項2記載の発明は、前記請求項1記載
の非格子データを格子に割り当てる方法において、前記
配置オブジェクト及び配線対応の格子境界線位置算出処
理は、隣接する配置オブジェクト同士、隣接する配線同
士、及び隣接する配置オブジェクトと配線とを、各々、
別格子に割り当てるように、前記格子境界線を配置する
位置を求めることを特徴とする。
【0010】請求項3記載の発明は、前記請求項1又は
2記載の非格子データを格子に割り当てる方法におい
て、前記配置オブジェクト及び配線対応の格子境界線位
置算出処理は、隣接する配置オブジェクト同士、隣接す
る配線同士、及び隣接する配置オブジェクトと配線との
間に、各々、少なくとも1本の格子境界線を割り当てる
処理であって、縦又は横の格子境界線を求めるために、
縦又は横配線と配置オブジェクトの左右端の縦辺又は上
下端の横辺を検索する検索ステップと、配線と配置オブ
ジェクトとの隣接関係を表わす区間情報を作成する区間
情報作成ステップと、前記区間を順に横方向又は縦方向
へ走査し、該区間の開始及び終了の情報を管理して、格
子境界線の挿入位置を決定する挿入位置決定ステップと
を備えたことを特徴とする。
【0011】請求項4記載の発明は、前記請求項1、2
又は3記載の非格子データを格子に割り当てる方法にお
いて、前記配置オブジェクト及び配線対応の格子境界線
位置算出処理は、複数の配置オブジェクトを配線禁止領
域として、配線禁止領域間に2本以上の格子境界線を配
置して、配線禁止領域間に格子を設定する配線禁止領域
間格子設定処理を有することを特徴とする。
【0012】請求項5記載の発明は、前記請求項1、2
又は3記載の非格子データを格子に割り当てる方法にお
いて、前記配置オブジェクト及び配線対応の格子境界線
位置算出処理は、格子境界線を配置する位置を求めて格
子を設定した後、その格子のうち、設定配線ピッチ幅よ
りも広い幅を持つ格子を、前記設定配線ピッチ幅を越え
ない幅に等分する補助線を設定する補助線設定処理を有
することを特徴としている。
【0013】請求項6記載の発明は、前記請求項1、2
又は3記載の非格子データを格子に割り当てる方法にお
いて、前記配置オブジェクト及び配線対応の格子境界線
位置算出処理の前に、配置オブジェクトであるトランジ
スタ、拡散コンタクト、外部端子を矩形図形で抽象化す
る抽象化処理を有することを特徴とする。
【0014】請求項7記載の発明は、前記請求項6記載
の非格子データを格子に割り当てる方法において、前記
抽象化処理は、トランジスタを、ポリシリコン矩形と、
ソースの拡散矩形と、ドレインの拡散矩形と、ポリシリ
コン端子の矩形との集合により表現し、拡散コンタクト
を、拡散矩形と、アルミ矩形と、アルミ端子の矩形とに
より表現し、外部端子を、アルミ矩形と、アルミ端子の
矩形とにより表現することを特徴とする。
【0015】請求項8記載の発明の非格子データを格子
に割り当てるプログラムを記録した記録媒体は、コンピ
ュ−タによりデ−タを変換するプログラムを記録した記
録媒体であって、配置オブジェクトの位置及び形状並び
に配線の位置を実座標で表現した非格子デ−タを入力し
た後、前記入力した配置オブジェクトの位置及び形状並
びに配線の位置に応じて、格子境界線を配置する位置を
求めて、前記配置オブジェクト又は配線が密集する箇所
では小さな格子を、前記配置オブジェクト又は配線が疎
な箇所では大きな格子を各々設定し、前記配置オブジェ
クト及び配線を前記格子に割り当てることを特徴とす
る。
【0016】請求項9記載の発明は、前記請求項8記載
の非格子データを格子に割り当てるプログラムを記録し
た記録媒体において、前記配置オブジェクト及び配線に
対応する格子境界線位置の算出は、隣接する配置オブジ
ェクト同士、隣接する配線同士、及び隣接する配置オブ
ジェクトと配線とを、各々、別格子に割り当てるよう
に、前記格子境界線を配置する位置を求めることを特徴
とする。
【0017】請求項10記載の発明は、前記請求項8又
は9記載の非格子データを格子に割り当てるプログラム
を記録した記録媒体において、前記配置オブジェクト及
び配線に対応する格子境界線位置の算出は、隣接する配
置オブジェクト同士、隣接する配線同士、及び隣接する
配置オブジェクトと配線との間に、各々、少なくとも1
本の格子境界線を割り当てる処理により行われ、この処
理は、縦又は横の格子境界線を求めるために、縦又は横
配線と配置オブジェクトの左右端の縦辺又は上下端の横
辺を検索し、配線と配置オブジェクトとの隣接関係を表
わす区間情報を作成し、前記区間を順に横方向又は縦方
向へ走査し、該区間の開始及び終了の情報を管理して、
格子境界線の挿入位置を決定することにより行うことを
特徴とする。
【0018】請求項11記載の発明は、前記請求項8、
9又は10記載の非格子データを格子に割り当てるプロ
グラムを記録した記録媒体において、前記配置オブジェ
クト及び配線に対応する格子境界線位置の算出と共に、
複数の配置オブジェクトを配線禁止領域として、配線禁
止領域間に2本以上の格子境界線を配置して、配線禁止
領域間に格子を設定することを特徴とする。
【0019】請求項12記載の発明は、前記請求項8、
9又は10記載の非格子データを格子に割り当てるプロ
グラムを記録した記録媒体において、前記配置オブジェ
クト及び配線に対応する格子境界線位置の算出と共に、
前記格子境界線の配置位置を求めて格子を設定した後、
その格子のうち、設定配線ピッチ幅よりも広い幅を持つ
格子を、前記設定配線ピッチ幅を越えない幅に等分する
補助線を設定することを特徴とする。
【0020】請求項13記載の発明は、前記請求項8、
9又は10記載の非格子データを格子に割り当てるプロ
グラムを記録した記録媒体において、前記配置オブジェ
クト及び配線に対応する格子境界線位置の算出処理の前
に、配置オブジェクトであるトランジスタ、コンタク
ト、外部端子を矩形図形で抽象化することを特徴として
いる。
【0021】請求項14記載の発明は、前記請求項13
記載の非格子データを格子に割り当てるプログラムを記
録した記録媒体において、前記抽象化は、トランジスタ
を、ポリシリコン矩形と、ソースの拡散矩形と、ドレイ
ンの拡散矩形と、ポリシリコン端子の矩形との集合によ
り表現し、拡散コンタクトを、拡散矩形と、アルミ矩形
と、アルミ端子の矩形とにより表現し、外部端子を、ア
ルミ矩形と、アルミ端子の矩形とにより表現することに
より行うことを特徴とする。
【0022】請求項15記載の発明の非格子データの再
利用方法は、配置オブジェクトの位置及び形状並びに配
線の位置を実座標で表現した非格子デ−タを入力した
後、前記入力した配置オブジェクトの位置及び形状並び
に配線の位置に応じて、格子境界線を配置する位置を求
めて、前記配置オブジェクト又は配線が密集する箇所で
は小さな格子を、前記配置オブジェクト又は配線が疎な
箇所では大きな格子を各々設定する配置オブジェクト及
び配線対応格子境界線位置算出処理と、前記配置オブジ
ェクト及び配線を前記格子に割り当てる処理と、前記格
子に割り当てられた配置オブジェクト及び配線のデ−タ
である格子デ−タに基づいて、格子ベースの配線方法に
より自動配線及び配線の自動改善を行なう処理とを備え
たことを特徴とする。
【0023】以上の構成により、請求項1ないし請求項
15記載の発明では、非格子デ−タの配置オブジェクト
及び配線を固定格子には割り当てず、これ等の配置オブ
ジェクト及び配線の位置や形状に応じて、配置オブジェ
クトや配線が混在、密集する箇所には小さな格子が、比
較的疎な箇所には大きな格子が各々設定されるので、
置オブジェクトや配線が密集する箇所には多数の格子が
存在して、その多数の配置オブジェクトや配線を確実に
格子に割り当てることができる。
【0024】特に、請求項3及び請求項10記載の発明
では、必要最小個数の格子が作成されるので、再配線の
計算処理の効率化を図ることができる。
【0025】また、請求項7及び14記載の発明では、
拡散コンタクトが矩形図形で表現されるので、配線のた
めの端子を明確に表現できると共に、この拡散コンタク
ト(配線コンタクト)を移動可能にできる。
【0026】
【発明の実施の形態】以下、本発明の実施の形態につい
て図面に基づいて説明する。
【0027】図1は本実施の形態の非格子データを格子
に割り当てる方法の処理フローを示す。このフローチャ
ートである割り付けプログラムは、コンピュ−タにより
読み取り可能な記録媒体に記録され、コンピュ−タによ
る非格子デ−タの再利用に使用される。
【0028】先ず、前処理101では、各配線層のう
ち、最大配線ピッチ幅を求め、該配線ピッチ幅を、現座
標系の配線ピッチ幅とする。
【0029】次に、矩形化処理(抽象化処理)102で
は、配置の対象となるトランジスタ、コンタクト、外部
端子に関して矩形図形を使った抽象化を行う。一般の矩
形と区別をするため抽象化された該矩形をboxと呼ぶこ
とにする。
【0030】続いて、108は格子境界線を配置する位
置を求める処理(配置オブジェクト及び配線対応格子の
境界線位置算出処理)であって、この格子境界線位置算
出処理108のうち、配線を表わすためのグリッドを作
成する処理103では、同一レイヤ別ネットの配置オブ
ジェクト又は配線セグメントが同一グリッドに割付けら
れないために必要な最小限のグリッド境界線、すなわ
ち、配置オブジェクト又は配線セグメントが密集する箇
所では小さな格子を、前記配置オブジェクト又は配線セ
グメントが疎な箇所では大きな格子を各々設定する。
【0031】更に、前記格子境界線位置算出処理108
のうち、配線禁止領域間にグリッドを設定する処理(配
線禁止領域間格子設定処理)104では、複数の配線禁
止領域間に配線することを可能にするために、複数の配
線禁止領域間にグリッドを設ける。
【0032】次に、前記格子境界線位置算出処理108
のうち、間隔の広いグリッドに補助線を引く処理(補助
線設定処理)105では、前記グリッド作成処理103
で設定したグリッドの幅を配線ピッチ幅と比較し、配線
ピッチ幅より広いグリッドは、そのグリッド幅が配線ピ
ッチ幅を越えない最大幅になるように等分する。
【0033】続いて、109は抽象化された図形と配線
を割り付ける処理(配置オブジェクト及び配線を格子に
割り当てる処理)であって、この割り当て処理109の
うち、配置オブジェクトを格子に割り当てる処理106
では、配置オブジェクトを抽象化した各々のboxに対
し、該boxが占めるグリッドに該boxを割り付ける。
【0034】更に、前記割り当て処理109のうち、配
線を表す配線セグメントを格子に割り当てる処理107
では、配線セグメントの両端点の位置に基づき、その配
線セグメントが存在するグリッド全てに該配線セグメン
トを割り付ける。
【0035】以上の処理により配線の概略経路が決定し
た後は、図示しないが、コンパクションにより、設計ル
−ルに基づく最終的な位置の決定処理が行われる。
【0036】以下、前記矩形による抽象化処理102以
降の詳細を説明する。
【0037】先ず、矩形による抽象化処理(即ち、box
の生成処理)102を説明する。この矩形による抽象化
処理102の説明を、図2を用いて行う。マスクレイア
ウトの再利用の対象となる配置オブジェクトは、トラン
ジスタ、配線コンタクト、トランジスタのソース及びド
レインから金属配線を引き出すために使用する拡散コン
タクト( CWコンタクト)、電源及びグランド電位を安
定させるために使用するコンタクト(基板コンタクト又
はCDコンタクト)、外部端子、及び配線である。これ等
を個別認識し、抽象化したデータ構造に置き換えること
が本処理の目的である。本実施の形態では、図2に示す
ように、配置の対象となるオブジェクトのうち、トラン
ジスタ、CWコンタクト、CDコンタクト、外部端子に関し
て矩形を使った抽象化を行う。一般の矩形と区別をする
ため抽象化された該矩形データをboxと呼ぶ。該boxは配
線禁止領域として扱う。ポリシリコン配線に対してはポ
リシリコンbox及び拡散boxが配線禁止領域に、アルミ配
線に対してはアルミboxが配線禁止領域になる。
【0038】各々の配置オブジェクトに関する処理内容
は以下の通りである。
【0039】(a) トランジスタ210は、ポリシリコン
211と拡散212とのマスク層によって構成される
が、該図形をポリシリコンbox213と、拡散box214と
に分割する。拡散box214は、トランジスタのソー
ス、ドレインに分けて2個のboxを生成する。また、ポ
リシリコンの端子に関しては、ポリシリコンの点をポリ
シリコン端子215として生成する。
【0040】(b) 拡散コンタクト230に関しては、拡
散box231と、アルミbox232とを生成する。形状及
び大きさは、該配線コンタクト230の形状に合わせ
る。また、アルミの端子に関しては、アルミの点をアル
ミ端子233として生成する。
【0041】(c) 外部端子240に関しては、アルミbox2
42のみを生成する。形状及び大きさは、該外部端子2
40の形状に合わせる。また、アルミの端子に関して
は、アルミの点をアルミ端子243として生成する。
【0042】(d) 同一ノードの拡散図形の間を埋めるた
めのboxの生成。
【0043】図3(a),(b)に示すように、拡散共有した
2個又は3個のトランジスタ210の同一ノードの拡散
box214に間隙がある場合には、この間隙をポリシリ
コン配線が通過することがないように、極小サイズの拡
散box310を生成して、拡散box214の間隙を埋め
る。
【0044】次いで、配線を表わすためのグリッドを作
成する処理103を説明する。この配線を表わすためのグ
リッドを作成する処理103の説明を、図4を用いて行
う。
【0045】図4(a)、(b)において、401は縦方向の
グリッド境界線(格子境界線)、402は横方向のグリ
ッド境界線である。図4(b)に示すように、グリッド
(格子)403は、縦方向グリッド境界線401と横方
向グリッド境界線402とで囲まれる極小の矩形であ
る。本グリッド作成処理103の目的は、隣接図形の組み
合わせを別グリッドに割り当てるように、グリッドの境
界線の設定を行うことにある。
【0046】隣接図形の組み合わせは、同一レイヤ別ネ
ットの配線同士、同一レイヤ別ネットの配線と配線禁止
領域(配線と同じ層のbox)、及び同一レイヤ別ネットの
配線禁止領域(box)同士の3通りがある。ここで、こ
れ等の2個の隣接図形を分離するための間隔(区間)を
表現するデータ構造として、図4(a)中に両端矢印で示
されるような "分離区間" を定義する。図4(a)におい
て、符号411は、同一レイヤ別ネットの配線同士の分
離区間、符号412は、同一レイヤ別ネットの配線と配
線禁止領域との分離区間、符号413は、同一レイヤ別
ネットの配線禁止領域(box)同士の分離区間を示す。
本処理103では、これ等の条件を満足する必要最小限
のグリッドを設定する。
【0047】以下、グリッドの境界線を設定するための
詳細な手順を示す。
【0048】グリッドの作成には、以下の3つの処理手
順を踏む。図5〜図7の説明図を用いて、縦方向のグリ
ッド境界線を設定する場合を例示して、前記3つの処理
手順を説明する。
【0049】先ず、図5に示すように、boxの左右端及
び配線セグメントの中央線分をエッジとして,リストEGL
ISTに保持する第1の手順(検索ステップ)を行う。こ
の手順は、エッジのリストEGLISTを空にするSTEP1と、
全配線セグメントを走査し、配線の縦セグメントの中央
線分をエッジ421としてリストEGLISTに追加するSTEP
2と、全boxを走査し、boxの左右端をエッジ422とし
てリストEGLISTに追加するSTEP3と、エッジのリストEG
LISTを座標の昇順でソートするSTEP4とを備える。
【0050】次に、図6に示すように、EGLISTを走査
し、図4(a)に示した分離区間を抽出してリストDVLIST
に保持する第2の手順(区間情報作成ステップ)を行
う。この手順は、分離区間のリストDVLISTを空にするST
EP1と、ソート済みのエッジのリストEGLISTを図6中符
号610で示すように走査し、分離区間の始点となり得
るboxの右端を表わすエッジ422、又は配線セグメン
トを表わすエッジ421を検索し、これをSTARTEDGE6
11とするSTEP2と、エッジのリストEGLISTのSTARTEDG
E611以降を図6中符号620で示すように走査し、
分離区間の終点となり得るboxの左端を表わすエッジ4
22、又は配線セグメントを表わすエッジ421を検索
して、同一レイヤ別ネットでy座標に重なりがあり且つ
最初に検索されエッジを、分離区間の終点ENDEDGE62
1とするSTEP3と、始点を表わすエッジSTARTEDGE61
1と終点を表わすエッジENDEDGE621とで構成される
分離区間を、分離区間のリストDVLISTに追加するSTEP4
と、これ等のステップSTEP2〜STEP4を繰り返すSTEP5
とを備える。
【0051】続いて、図7に示すように、DVLISTを走査
し、最小限のグリッド境界線を決定する第3の手順(挿
入位置決定ステップ)を行う。この手順は、グリッド境
界を設定するべき区間を表わす始点STARTDV及び終点END
DVを初期化するSTEP1と、分離区間のリストDVLISTを作
成順に図7中符号710で示すように走査するSTEP2
と、検索した分離区間の始点をSTARTDV711とするSTE
P3と、検索中の分離区間の終点でSTARTDV711に最も
近い終点をENDDV712とするSTEP4と、次の分離区間
の始点までにENDDV712がある場合、STARTDV711と
ENDDV712との区間713にグリッド境界線を設定
し、このグリッド境界線を設定した場合は、検索中の分
離区間、STARTDV、ENDDVの情報を初期化するSTEP5と、
これ等のステップSTEP2〜STEP5を繰り返すSTEP6とを
備える。
【0052】以上の手順で、縦のグリッド境界線を決定
する。横方向のグリッド境界線の設定も同様の手順で行
なう。
【0053】次に、図1の配線禁止領域間にグリッドを
設定する処理104を説明する。この処理104の説明
を、図8の説明図を用いて行なう。
【0054】複数の配線禁止領域間への配線を可能にす
るためには、複数の配線禁止領域間に配線禁止領域の割
り付かないグリッドが必要である。前記グリッド作成処
理103で配線禁止領域間にグリッドの作成が実現でき
なかった場合に、本処理104で配線禁止領域間にグリ
ッドを設ける。図8(b)では、隣接する2個のトランジ
スタ210の拡散box214の間隙に、ポリシリコン配
線が存在しないので、グリッド作成処理103でグリッ
ドの境界線が設定されるものの、この間隙に配線用のグ
リッドは生成されない。そこで、図8(c)に示す通り、
本処理104により、接しないbox間にグリッドの境界
線401を1本以上追加して、接しないbox間にグリッ
ドを設ける。従って、図8(a)に示すように、隣接する
2個のトランジスタ210の拡散box214の間隙に、
ポリシリコン配線を配置できる。
【0055】続いて、図1の間隔の広いグリッドに補助
線を引く処理105を説明する。
【0056】間隔の広い領域を有効に利用して配線を行
なうためには、間隔の広い領域に十分な数の格子を設け
ることが必要である。本処理105では、グリッド作成
処理103で設定した縦方向グリッド境界線401の間
隔及び横方向グリッド境界線402の間隔を、前処理1
01で設定した配線ピッチ幅と比較し、図9に示すよう
に、配線ピッチ幅より広いグリッドに対し、そのグリッ
ド幅が配線ピッチ幅を越えない最大幅になるように等分
するための補助線901を設定する。
【0057】更に、図1の配置オブジェクトを表すbox
を格子に割り付ける処理106を説明する。この格子割
り付け処理106では、抽象化処理102で作成したbo
xに対し、各box毎に、そのboxの四辺の存在するグリッ
ドと、その四辺に囲まれたグリッドとを取り出し、該bo
xが該グリッドを一定比率以上占有している場合に、そ
のグリッドに該boxを割り付ける。
【0058】図10は本割り当て処理106の結果の一
例を示す。同図(a)はグリッドへ割り当てる前の配置オ
ブジェクトを示す。同図(b)はポリシリコンのbox及びポ
リシリコンの配線をグリッドへ割り当てた結果を示す。
同図(c)はアルミのbox及びアルミの配線をグリッドへ割
り当てた結果を示す。
【0059】続いて、図1の配線を表す配線セグメント
を格子に割り付ける処理107を説明する。本格子割り
付け処理107では、配線セグメントの両端各々の座標
の存在するグリッドを検索し、得られた2つのグリッド
と、その2つのグリッドに挟まれるグリッドの全てに、
該配線セグメントを割り付ける。図10は本割り当て処
理の一例を示す。同図(a)はグリッドへ割り当てる前の
配置オブジェクトを示す。同図(b)はポリシリコンのbox
及びポリシリコンの配線をグリッドへ割り当てた結果を
示す。同図(c)はアルミのbox及びアルミの配線をグリッ
ドへ割り当てた結果を示す。
【0060】図11は、非格子デ−タを格子に割り当
て、これにより得られたデ−タ(格子デ−タ)を再利用
する一例を示す。
【0061】同図において、入力処理S1は、配線領域の
高さ制約及び結線情報を入力する入力処理である。これ
等の高さ制約及び結線情報を図12を用いて具体的に説
明する。
【0062】図12において、配線領域20は縦方向の格
子境界線1及び横方向の格子境界線2により多数の格子
30に分割され、この配線領域20内には、端子10A,10a,10
B,10b,10C,10c及び配線禁止領域21が存在する。配線領
域の高さ制約3として高さ“4”(格子数が“4”)が
与えられている。配線層は第1配線層及び第2配線層の
2層である。
【0063】図12は、第1配線層の配線領域を示すも
のである。端子10A,10a,10B,10b,10C,10c中の数字はネ
ット番号を示しており、同じネット番号の端子同士を結
線する必要がある。同図において、ネット2とネット3
は既に配線を完了しているものとし、ネット1の配線を
前記高さ制約3を満たして行なう場合について説明す
る。端子10Aを始点とし、端子10aを終点とする。
【0064】図11の探索可能格子抽出処理S2は、現時
点における探索可能な格子を抽出する処理であって、配
線禁止領域として設定された格子や端子が位置する格子
等でない配線可能な格子を抽出すると共に、この探索可
能な格子への探索方向を保存する。
【0065】図11の格子列余裕度算出処理S3を、図1
2を用いて説明する。
【0066】格子列余裕度を次式1で定義する。
【0067】 (格子列余裕度) = (配線領域の高さ制約) - (配線禁止領域の高さ) - (配線が占める領域の高さ) --- (式1)
【0068】図12において、第1配線層の配線領域20
において格子列番号が5、6、10である格子列のネッ
ト1に関する格子列余裕度を算出する。
【0069】格子列番号5の格子列には、ネット3の端
子10Cが存在する。端子の大きさを“1”とする。ネッ
ト3の端子10Cはネット1にとって配線禁止領域である
ので、格子列余裕度は“3”(=4-1-0) となる。
【0070】格子列番号6の格子列には、高さが“2”
の配線禁止領域が存在し、ネット2の端子10Bとネット
3の水平配線が存在する。端子の大きさ及び配線1本が
占める領域の高さを各々“1”と仮定する。ネット2の
端子10Bはネット1にとり配線禁止領域であるので、格
子列余裕度は“0” (=4-3-1) となる。
【0071】格子列番号10の格子列には、ネット1の
端子10aとネット2の端子10bとネット2の垂直配線が存
在する。ネット1の端子10aは、ネット1にとって配線
禁止領域とはならない。ネット2の端子10bはネット1
にとって配線禁止領域であり、端子の大きさは“1”と
する。ネット2の垂直配線は長さが“2”であるので、
格子列余裕度は“1” (=4-1-2) となる。
【0072】同様にして求めた格子列番号1〜11の格
子列余裕度を図12に示した。第2配線層における格子
列余裕度も同様に算出することができる。第2配線層に
は端子及び配線禁止領域が全く存在しないので、全ての
格子列において格子列余裕度は“4”となる。
【0073】図11の格子列通過コスト加算処理S4は、
前記探索可能格子抽出処理S2で求めた探索可能格子に探
索を進める場合、探索可能格子が属する格子列に関し、
前記格子列余裕度算出処理S3で求めた格子列余裕度に基
づく格子列通過コストを加算する。
【0074】格子列余裕度がSである格子列を通過する
場合の格子列通過コストを次式2で定義する。
【0075】 格子列通過コスト = 100 (S <= 0の場合) 格子列通過コスト = 0 (S > 0の場合) --- (式2)
【0076】ここに、S <= 0の場合の格子列通過コスト
は、他の配線経路が選択されるように、高い値であれば
よく、“100”に限定されない。
【0077】目標到達判定処理S5は、目標の格子(端
子)に到達した場合は次の処理に進み、目標に到達して
いない場合は前記探索可能格子抽出処理S20に戻る処理
を行なう。また、コスト最小経路選択処理S6は、トレー
スによりコスト最小の配線経路を抽出する処理である。
終点格子10aに到達するまで探索可能格子抽出処理S2か
ら目標到達判定処理S5までの処理を繰り返す。
【0078】図13(a),(b)は、ネット1に関する配線
経路探索結果を示す。各格子中の値は、第1項が配線長
コスト及びコンタクトコストを加算した結果を示し、第
2項は格子列通過コストを示す。第2項が“0”の格子
は第1項のみを示した。尚、コンタクトコストは、コン
タクトを1つ発生する毎に加算するコストであって、そ
のコストを“5”としている。
【0079】終点端子10aに到着すると、最小経路選択
処理S6において、終点端子10aから図13(a),(b)の探索
方向をトレースすることにより、図14(a)に示すよう
に、コスト最小の配線経路40が抽出される。尚、探索方
向は矢印又は丸印で示した。内部に斜線なしの丸印は第
1配線層71から第2配線層72への探索方向を示し、内部
に斜線ありの丸印はその逆の探索方向を示す。
【0080】図14(a)に配線結果を示す。ネット1の
配線経路コストが最小の配線経路40は、第1配線層71か
らコンタクト80Aを介して第2配線層72に乗り換え、更
に第2配線層72からコンタクト80Bを介して第1配線層
に乗り換える経路となる。
【0081】図14(b)に、同図(a)を下方向にコンパク
ションした結果を示す。高さ制約3を満足することが判
る。
【0082】
【発明の効果】以上説明したように、請求項1ないし請
求項15記載の発明によれば、非格子デ−タの配置オブ
ジェクト及び配線を固定格子には割り当てず、これ等の
配置オブジェクト及び配線の位置や形状に応じて、配置
オブジェクトや配線が混在、密集する箇所に小さな格子
を多数設定したので、十分な格子数を確保でき、密集し
た多数の配置オブジェクトや配線を確実に格子に割り当
てることができる。現状では、殆どのLSIマスクデータ
は格子によって表現されていず、非格子デ−タであるの
で、本発明では、既配置オブジェクト及び配線を含むマ
スクレイアウトの非格子デ−タ、特に、ライブラリセル
や機能ブロック内配線等のように配置オブジェクト及び
配線が混在する非格子デ−タを、格子デ−タの再利用手
法を用いて再利用できると共に、迷路探索法等を用いた
自動配線及び配線の自動改善を行うことができる。
【0083】特に、請求項3及び請求項10記載の発明
では、必要最小個数の格子を作成できるので、再配線の
計算処理の効率化を図ることができる。
【0084】また、請求項7及び14記載の発明では、
拡散コンタクトを矩形図形で表現したので、配線のため
の端子を明確に表現できると共に、この拡散コンタクト
(配線コンタクト)を移動可能にできる。
【図面の簡単な説明】
【図1】非格子データを格子に割り当てる方法のフロー
チャ−トを示す図である。
【図2】配置オブジェクトと生成する矩形図形との対応
を示す図である。
【図3】同一ノードとなる複数の拡散図形の間を埋める
ために矩形図形を生成する場合の説明図である。
【図4】配線を表わすためのグリッドを生成する処理の
説明図である。
【図5】グリッド作成処理の第1の手順(検索ステッ
プ)の説明図である。
【図6】同処理の第2の手順(区間情報作成ステップ)
の説明図である。
【図7】同処理の第3の手順(挿入位置決定ステップ)
の説明図である。
【図8】複数の配線禁止領域間にグリッドを設定する処
理の説明図である。
【図9】間隔の広いグリッドに補助線を引く処理の説明
図である。
【図10】配置オブジェクトを格子に割り当てる処理及
び、配線セグメントを格子に割り当てる処理の説明図で
ある。
【図11】本発明の実施の形態の割り当て方法により得
た格子デ−タを再利用する一例を示すフローチャート図
である。
【図12】同再利用例における格子列余裕度の算出方法
の説明図である。
【図13】(a)は同再利用例において、所定のネットの
第1配線層での配線経路探索結果を示す図、(b)は同ネ
ットの第2配線層での配線経路探索結果を示す図であ
る。
【図14】(a)は同再利用例における配線結果を示す
図、(b)は同結果をコンパクションした結果を示す図で
ある。
【符号の説明】
101 前処理 102 配置オブジェクト及び配線の矩形抽象
化処理(抽象化処理) 103 グリッド作成処理 104 配線禁止領域間へのグリッド設定処理
(配線禁止領域間格子設定処理) 105 間隔の広いグリッドに補助線を引く処
理(補助線設定処理) 106 配置オブジェクトの格子割り付け処理 107 配線セグメントの格子割り付け処理 108 格子境界線を配置する位置を求める処
理(配置オブジェクト及び配線対応の格子境界線位置算
出処理) 109 抽象化された図形と配線を割り付ける
処理(配置オブジェクト及び配線を格子に割り当てる処
理) 210 トランジスタ 211 トランジスタのポリシリコン層 212 トランジスタの拡散層 213 トランジスタのポリシリコンbox 214 トランジスタのトランジスタの拡散bo
x 215 トランジスタのポリシリコン端子box 230 拡散コンタクト 231 拡散コンタクトの拡散box 232 拡散コンタクトのアルミbox 240 外部端子 241 外部端子のアルミbox 243 外部端子のアルミ端子box 310 ノードの拡散box 401 縦方向のグリッド境界線(格子境界
線) 402 横方向のグリッド境界線(格子境界
線) 403 グリッド 901 グリッドを分割する補助線
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 昭61−93695(JP,A) (58)調査した分野(Int.Cl.7,DB名) H01L 21/82 H01L 21/822 H01L 27/04 G06F 17/50

Claims (15)

    (57)【特許請求の範囲】
  1. 【請求項1】 配置オブジェクトの位置及び形状並びに
    配線の位置を実座標で表現した非格子デ−タを入力した
    後、 前記入力した配置オブジェクトの位置及び形状並びに配
    線の位置に応じて、格子境界線を配置する位置を求め
    、前記配置オブジェクト又は配線が密集する箇所では
    小さな格子を、前記配置オブジェクト又は配線が疎な箇
    所では大きな格子を各々設定する配置オブジェクト及び
    配線対応格子境界線位置算出処理と、 前記配置オブジェクト及び配線を前記格子に割り当てる
    処理とを備えたことを特徴とする非格子データを格子に
    割り当てる方法。
  2. 【請求項2】 前記配置オブジェクト及び配線対応の格
    子境界線位置算出処理は、 隣接する配置オブジェクト同士、隣接する配線同士、及
    び隣接する配置オブジェクトと配線とを、各々、別格子
    に割り当てるように、前記格子境界線を配置する位置を
    求めることを特徴とする請求項1記載の非格子データを
    格子に割り当てる方法。
  3. 【請求項3】 前記配置オブジェクト及び配線対応の格
    子境界線位置算出処理は、 隣接する配置オブジェクト同士、隣接する配線同士、及
    び隣接する配置オブジェクトと配線との間に、各々、少
    なくとも1本の格子境界線を割り当てる処理であって、 縦又は横の格子境界線を求めるために、縦又は横配線と
    配置オブジェクトの左右端の縦辺又は上下端の横辺を検
    索する検索ステップと、 配線と配置オブジェクトとの隣接関係を表わす区間情報
    を作成する区間情報作成ステップと、 前記区間を順に横方向又は縦方向に走査し、該区間の開
    始及び終了の情報を管理して、格子境界線の挿入位置を
    決定する挿入位置決定ステップとを備えたことを特徴と
    する請求項1又は2記載の非格子データを格子に割り当
    てる方法。
  4. 【請求項4】 前記配置オブジェクト及び配線対応の格
    子境界線位置算出処理は、 複数の配置オブジェクトを配線禁止領域として、配線禁
    止領域間に2本以上の格子境界線を配置して、配線禁止
    領域間に格子を設定する配線禁止領域間格子設定処理を
    有することを特徴とする請求項1、2又は3記載の非格
    子データを格子に割り当てる方法。
  5. 【請求項5】 前記配置オブジェクト及び配線対応の格
    子境界線位置算出処理は、 格子境界線を配置する位置を求めて格子を設定した後、
    その格子のうち、設定配線ピッチ幅よりも広い幅を持つ
    格子を、前記設定配線ピッチ幅を越えない幅に等分する
    補助線を設定する補助線設定処理を有することを特徴と
    する請求項1、2又は3記載の非格子データを格子に割
    り当てる方法。
  6. 【請求項6】 前記配置オブジェクト及び配線対応の格
    子境界線位置算出処理の前に、 配置オブジェクトであるトランジスタ、拡散コンタク
    ト、外部端子を矩形図形で抽象化する抽象化処理を有す
    ることを特徴とする請求項1、2又は3記載の非格子デ
    ータを格子に割り当てる方法。
  7. 【請求項7】 前記抽象化処理は、 トランジスタを、ポリシリコン矩形と、ソースの拡散矩
    形と、ドレインの拡散矩形と、ポリシリコン端子の矩形
    との集合により表現し、 拡散コンタクトを、拡散矩形と、アルミ矩形と、アルミ
    端子の矩形とにより表現し、 外部端子を、アルミ矩形と、アルミ端子の矩形とにより
    表現することを特徴とする請求項6記載の非格子データ
    を格子に割り当てる方法。
  8. 【請求項8】 コンピュ−タによりデ−タを変換するプ
    ログラムを記録した記録媒体であって、 配置オブジェクトの位置及び形状並びに配線の位置を実
    座標で表現した非格子デ−タを入力した後、 前記入力した配置オブジェクトの位置及び形状並びに配
    線の位置に応じて、格子境界線を配置する位置を求め
    、前記配置オブジェクト又は配線が密集する箇所では
    小さな格子を、前記配置オブジェクト又は配線が疎な箇
    所では大きな格子を各々設定し、 前記配置オブジェクト及び配線を前記格子に割り当てる
    ことを特徴とする非格子データを格子に割り当てるプロ
    グラムを記録した記録媒体。
  9. 【請求項9】 前記配置オブジェクト及び配線に対応す
    る格子境界線位置の算出は、 隣接する配置オブジェクト同士、隣接する配線同士、及
    び隣接する配置オブジェクトと配線とを、各々、別格子
    に割り当てるように、前記格子境界線を配置する位置を
    求めることを特徴とする請求項8記載の非格子データを
    格子に割り当てるプログラムを記録した記録媒体。
  10. 【請求項10】 前記配置オブジェクト及び配線に対応
    する格子境界線位置の算出は、 隣接する配置オブジェクト同士、隣接する配線同士、及
    び隣接する配置オブジェクトと配線との間に、各々、少
    なくとも1本の格子境界線を割り当てる処理により行わ
    れ、この処理は、 縦又は横の格子境界線を求めるために、縦又は横配線と
    配置オブジェクトの左右端の縦辺又は上下端の横辺を検
    索し、 配線と配置オブジェクトとの隣接関係を表わす区間情報
    を作成し、 前記区間を順に横方向又は縦方向へ走査し、該区間の開
    始及び終了の情報を管理して、格子境界線の挿入位置を
    決定することにより行うことを特徴とする請求項8又は
    9記載の非格子データを格子に割り当てるプログラムを
    記録した記録媒体。
  11. 【請求項11】 前記配置オブジェクト及び配線に対応
    する格子境界線位置の算出と共に、 複数の配置オブジェクトを配線禁止領域として、配線禁
    止領域間に2本以上の格子境界線を配置して、配線禁止
    領域間に格子を設定することを特徴とする請求項8、9
    又は10記載の非格子データを格子に割り当てるプログ
    ラムを記録した記録媒体。
  12. 【請求項12】 前記配置オブジェクト及び配線に対応
    する格子境界線位置の算出と共に、 前記格子境界線の配置位置を求めて格子を設定した後、
    その格子のうち、設定配線ピッチ幅よりも広い幅を持つ
    格子を、前記設定配線ピッチ幅を越えない幅に等分する
    補助線を設定することを特徴とする請求項8、9又は1
    0記載の非格子データを格子に割り当てるプログラムを
    記録した記録媒体。
  13. 【請求項13】 前記配置オブジェクト及び配線に対応
    する格子境界線位置の算出処理の前に、 配置オブジェクトであるトランジスタ、コンタクト、外
    部端子を矩形図形で抽象化することを特徴とする請求項
    8、9又は10記載の非格子データを格子に割り当てる
    プログラムを記録した記録媒体。
  14. 【請求項14】 前記抽象化は、 トランジスタを、ポリシリコン矩形と、ソースの拡散矩
    形と、ドレインの拡散矩形と、ポリシリコン端子の矩形
    との集合により表現し、 拡散コンタクトを、拡散矩形と、アルミ矩形と、アルミ
    端子の矩形とにより表現し、 外部端子を、アルミ矩形と、アルミ端子の矩形とにより
    表現することにより行うことを特徴とする請求項13記
    載の非格子データを格子に割り当てるプログラムを記録
    した記録媒体。
  15. 【請求項15】 配置オブジェクトの位置及び形状並び
    に配線の位置を実座標で表現した非格子デ−タを入力し
    た後、 前記入力した配置オブジェクトの位置及び形状並びに配
    線の位置に応じて、格子境界線を配置する位置を求め
    、前記配置オブジェクト又は配線が密集する箇所では
    小さな格子 を、前記配置オブジェクト又は配線が疎な箇
    所では大きな格子を各々設定する配置オブジェクト及び
    配線対応格子境界線位置算出処理と、 前記配置オブジェクト及び配線を前記格子に割り当てる
    処理と、 前記格子に割り当てられた配置オブジェクト及び配線の
    デ−タである格子デ−タに基づいて、格子ベースの配線
    方法により自動配線及び配線の自動改善を行なう処理と
    を備えたことを特徴とする非格子データの再利用方法。
JP26649497A 1997-09-30 1997-09-30 非格子データを格子に割り当てる方法、及び非格子データを格子に割り当てるプログラムを記憶した記憶媒体、並びに非格子データの再利用方法 Expired - Fee Related JP3519584B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP26649497A JP3519584B2 (ja) 1997-09-30 1997-09-30 非格子データを格子に割り当てる方法、及び非格子データを格子に割り当てるプログラムを記憶した記憶媒体、並びに非格子データの再利用方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP26649497A JP3519584B2 (ja) 1997-09-30 1997-09-30 非格子データを格子に割り当てる方法、及び非格子データを格子に割り当てるプログラムを記憶した記憶媒体、並びに非格子データの再利用方法

Publications (2)

Publication Number Publication Date
JPH11111852A JPH11111852A (ja) 1999-04-23
JP3519584B2 true JP3519584B2 (ja) 2004-04-19

Family

ID=17431717

Family Applications (1)

Application Number Title Priority Date Filing Date
JP26649497A Expired - Fee Related JP3519584B2 (ja) 1997-09-30 1997-09-30 非格子データを格子に割り当てる方法、及び非格子データを格子に割り当てるプログラムを記憶した記憶媒体、並びに非格子データの再利用方法

Country Status (1)

Country Link
JP (1) JP3519584B2 (ja)

Also Published As

Publication number Publication date
JPH11111852A (ja) 1999-04-23

Similar Documents

Publication Publication Date Title
Li et al. Routability-driven placement and white space allocation
US5483461A (en) Routing algorithm method for standard-cell and gate-array integrated circuit design
US6175950B1 (en) Method and apparatus for hierarchical global routing descend
US6519749B1 (en) Integrated circuit partitioning placement and routing system
Hu et al. A survey on multi-net global routing for integrated circuits
US6247167B1 (en) Method and apparatus for parallel Steiner tree routing
US7594214B1 (en) Maximum flow analysis for electronic circuit design
JP2626153B2 (ja) レイアウトのコンパクション方法
US6260183B1 (en) Method and apparatus for coarse global routing
JPH05205011A (ja) 回路基板の配線パターン決定方法及び回路基板
Lin et al. Corner sequence-a P-admissible floorplan representation with a worst case linear-time packing scheme
Hsu et al. Routability-driven placement for hierarchical mixed-size circuit designs
JP2010097468A (ja) 配線方法、自動配線装置、及びプログラム
US5835378A (en) Computer implemented method for leveling interconnect wiring density in a cell placement for an integrated circuit chip
Sherwani et al. Routing in the Third Dimension: From VLSI Chips to MCMs
Cho et al. FLOSS: An approach to automated layout for high-volume designs
US20040221253A1 (en) ASIC routability improvement
Su et al. Nanowire-aware routing considering high cut mask complexity
JPH0666393B2 (ja) レイアウト設計における配置改良方法
JP3519584B2 (ja) 非格子データを格子に割り当てる方法、及び非格子データを格子に割り当てるプログラムを記憶した記憶媒体、並びに非格子データの再利用方法
Igusa et al. ORCA A sea-of-gates place and route system
Yan et al. BSG-route: A length-constrained routing scheme for general planar topology
Wu et al. Antenna avoidance in layer assignment
JP2938068B2 (ja) 自動配線設計における配線経路探索方法及び配線経路探索プログラムを記憶した記憶媒体
US6412095B1 (en) Method and apparatus for compacting wiring layout

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20030924

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20040106

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20040127

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040129

LAPS Cancellation because of no payment of annual fees