JPH11259556A - 電子部品のレイアウト設計支援方法及び装置、レイアウト設計支援プログラムを記録した媒体 - Google Patents

電子部品のレイアウト設計支援方法及び装置、レイアウト設計支援プログラムを記録した媒体

Info

Publication number
JPH11259556A
JPH11259556A JP10063371A JP6337198A JPH11259556A JP H11259556 A JPH11259556 A JP H11259556A JP 10063371 A JP10063371 A JP 10063371A JP 6337198 A JP6337198 A JP 6337198A JP H11259556 A JPH11259556 A JP H11259556A
Authority
JP
Japan
Prior art keywords
wiring
jog
jog insertion
insertion candidate
candidate
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.)
Pending
Application number
JP10063371A
Other languages
English (en)
Inventor
Hikaru Sonohara
ひかる 園原
Takeichiro Nishikawa
武一郎 西川
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP10063371A priority Critical patent/JPH11259556A/ja
Publication of JPH11259556A publication Critical patent/JPH11259556A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

(57)【要約】 【課題】 処理時間が少なく、面積縮小のためのジョグ
挿入だけでなく配線短縮に効果のあるジョグ挿入も可能
で、できるだけ不要なジョグを挿入しない電子部品のレ
イアウト設計支援方法及び装置を実現する。 【解決手段】 電子部品のレイアウト設計支援方法及び
装置において、配線の両側のオブジェクトの配置状況か
らジョグ挿入候補を作成し、保存する。保存したジョグ
挿入候補の中から、ジョグ挿入する必要のあるジョグ挿
入候補の組合せを探索し、そのような組合せが存在すれ
ばそれらのジョグ挿入候補の間にジョグを挿入する。レ
イアウト情報の保持手段と、ジョグ挿入処理の制御を行
なうジョグ挿入制御手段と、各種のジョグ挿入候補を作
成するジョグ挿入候補の作成手段と、作成されたジョグ
挿入候補の保持手段と、ジョグを挿入する位置があるか
調べる手段と、配線を分割、横方向の配線の作成、配線
どうしの接続の確立等を行なうジョグ挿入手段から構成
される。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、プリント基板や半
導体集積回路などにおいて電子部品のレイアウト設計を
行うときに利用されるレイアウト設計支援方法及び装置
に関する。
【0002】
【従来の技術】周知のように、プリント基板や集積回路
などのレイアウト設計は、コンピュータを利用した設計
支援装置(CAD)を用いて行われる場合が多い。この
ようなレイアウト設計支援装置は、複数の電子部品や各
電子部品間を接続する配線について、設計条件を満たし
た最小面積のレイアウトを得ることにより半導体の製造
コストを削減することを可能としている。このような元
のレイアウトデータに対してより面積の小さいレイアウ
トを得るための処理を、一般にコンパクションと呼んで
いる。また、コンパクションの対象となる電子部品とし
ては、トランジスタ、コンタクト、配線、ピン、ウェル
などがあるが、コンピュータを利用した設計支援装置で
は、これらを総称してオブジェクトと呼んでいる。
【0003】このようなレイアウトコンパクションを行
うときに使用される手法の機能の一つに、ジョグの挿入
処理がある。このジョグは、複数の電子部品間を接続す
る配線に挿入される折り曲げ部を言い、レイアウトコン
パクションにおいて、このようなジョグ挿入処理を行な
うことにより更に面積を縮小することが可能となる。
【0004】従来から提案されているレイアウトコンパ
クションの方法としては、大きく分けて1次元コンパク
ション(X方向とY向の処理を別々に行なう)と2次元
コンパクションがある。2次元コンパクションは計算量
において実用化するのは困難であり、本発明も1次元コ
ンパクションを対象としている。
【0005】1次元コンパクションの方法では、たとえ
ば下記のように、グラフ理論を用いたものが多く研究さ
れている。 (1) 山元渉, 粟島亨, 佐藤政生, 大附辰夫: ジョグ挿入
を伴ったチップコンパクション手法, 電子情報通信学会
論文誌 A Vol.J76-A No.7 pp.968-978 1993-07 (2) Werner Schiele,Tomas Truger and Matthias C.Ute
sch 2 Augest 1993Insertion of jog series in layo
ut compaction. Integr. VSLIJ.vol.16,no.2:pp.149-16
2PD:Dec.1993 (3) Chi-Yuan Lo, Ravi Varadarajan and W.H.Crocker:
Compaction with Performance Optimization. IEEE 19
87 このようなグラフ理論を用いたものでは、グラフ作成後
にグラフを解く段階でジョグを挿入するという方法が提
案されているが、以下のような問題点がある。 (a) 詳細なグラフが必要となり、グラフ作成及びグラフ
探索に時間がかかる。(b) グラフの最長経路を求めるこ
とが半導体集積回路の最小面積を得ることに対応する。
しかし、最長経路を辿りながらジョグを挿入すると、更
に最長経路が長くなるため、面積を縮小するためのジョ
グは挿入されるが、他の目的のためのジョグが挿入でき
ない。
【0006】また、グラフ作成前にジョグを挿入する方
法も研究され、例えば、幾何学的手法、平行平面走査法
を用いた方法が提案されている。 (1) Jin-fuw Lee and C.K.Wong: A Performance-Aimed
Cell Compactor Automatic Jogs, IEEE Trans actionon
Computer-Aimed Design. Vol.11 No.12. December 199
2. (2) 金整範、中島伸佳、佐藤政生、大附辰夫:ビア削除
を伴った高速多機能チャネルスペーサ、電子情報通信学
会誌 A Vol.J72-A No.2 pp.349-358 1989年02月 (3) Xiao-Ming Xiong and Ernest S.Kuh: Nutcracker:
An Efficient and Intelligent Channel Spacer, Proc.
24th Design Auto-mation Conf., 1987 pp.140-145. (4) 特開平 5-36830 名称:レイアウトコンパクション
における整形処理方法(出願人:松下電器産業株式会
社) これらの方法は、配線短縮のためのジョグが挿入でき
る、またラベル付き有向グラフが同時に移動できるグル
ープ単位を1つのノードとして扱うことができるため、
グラフ作成及び探索に要する実行時間が少ない等の長所
がある。しかし、これらの方法は、配線の片側のオブジ
ェクトの配置だけからジョグを挿入するため、不要なジ
ョグが多く挿入されてしまう。
【0007】例えば、図32(a)は、前記(2) に示す
ジョグの挿入方法を示すものである。この挿入方法は、
平行平面走査法と呼ばれ、コンパクション方向と平行に
スキャンラインSを移動させることによって、オブジェ
クトA,B,Cと配線Lとの位置関係を比較して、配線
Lに挿入するジョグJaの位置を決定するものである。
この方法では、スキャンラインSが部品Aを走査するこ
とにより、オブジェクトAのエッジAeを検出し、この
エッジAeの座標とオブジェクトAと配線Lとの距離に
関する制約を考慮して、配線LにおけるジョグJaの挿
入位置を決定する。
【0008】ところが、このようにして平行平面走査法
では、スキャンラインSが配線Lの片側(スキャンライ
ンSの走査方向から見て手前側)のオブジェクトAのエ
ッジAeだけを考慮してジョグJaを挿入している。し
かし、図32(a)から分かるように、このジョグJa
の部分で配線Lを折り曲げたとしても、配線Lや他のオ
ブジェクトBをコンパクション方向に沿ってこれ以上前
記オブジェクトAに近づけることができないので、この
ジョグJaはレイアウトコンパクションに当たっては不
要なジョグである。このように平行平面走査法による
と、配線の片側のオブジェクトしか考慮しないために、
不要なジョグが多数挿入されてしまう。
【0009】
【発明が解決しようとする課題】前記のように、従来の
ジョグの挿入位置を決定する方法では、 (a) 面積縮小には効果のあるジョグが挿入できるが計算
量が多いことや、面積縮小以外の目的でジョグを挿入す
ることができない。 (b) 計算量を少なくでき、面積縮小だけでなく配線短縮
に効果のあるジョグを挿入できるが、不要なジョグが多
数挿入されてしまう。といった問題があった。
【0010】本発明は、レイアウトから制約グラフを作
成する前にジョグの挿入処理を行なうという従来技術を
改良することにより、完成されたものである。すなわ
ち、本発明の目的は、 (a) 制約グラフの作成や制約グラフの探索に要する処理
時間を増大させることがない。 (b) 配線を短縮するのに有効なジョグを挿入できるよう
にグラフ作成前にジョグを挿入する位置を決定すること
ができる。 (c) ジョグの挿入位置を決定する際に、配線の両側にど
のようにオブジェクトが配置されているかを考慮するこ
とで、不要なジョグ挿入を行なわない。
【0011】といった利点を有する電子部品のレイアウ
ト設計支援方法及び装置、並びにレイアウト設計支援プ
ログラムを記録した媒体を提供することにある。
【0012】
【課題を解決するための手段】前記の目的を達成するた
めに、請求項1の発明は、コンパクション方向と直交す
る方向に配置された配線と、その両側に配置された他の
オブジェクトとを、その配線と直交するスキャンライン
によって走査する処理と、前記走査処理に伴って検出さ
れた配線と前記他のオブジェクトの配置状況から、その
配線上にジョグ挿入候補を作成する処理と、配線上にジ
ョグ挿入候補が作成された場合に、作成されたジョグ挿
入候補を配線毎に格納する処理と、配線毎に格納したジ
ョグ挿入候補の中に特定の組合せが存在する場合に、そ
の配線にジョグを挿入する処理と、を有することを特徴
とする。
【0013】請求項2の発明は、前記ジョグ挿入候補
は、配線の両側のオブジェクトの配置状況から、X方向
にコンパクションする場合はジョグ挿入候補のY方向の
座標、Y方向にコンパクションする場合はジョグ挿入候
補のX方向の座標で示される位置と、ジョグ挿入のきっ
かけとなったオブジェクトの位置と配線上のジョグ挿入
候補の位置との位置関係を表す方向を持つことを特徴と
する。
【0014】請求項3の発明は、前記ジョグ挿入候補
は、ジョグ挿入可能な位置と、配線とジョグ挿入のきっ
かけとなったオブジェクトの左右の位置関係と、オブジ
ェクトの上端をきっかけとしたかまたは下端をきっかけ
にしたかの上下関係を合成した方向によって構成される
ことを特徴とする。
【0015】請求項4の発明は、前記ジョグ挿入候補を
作成する処理は、コンパクション方向に対して垂直方向
に走る配線Lの隣に配線Lと間隔制約のあるオブジェク
トOがある場合、オブジェクトOの上端座標から、配線
LとオブジェクトOの間隔制約と配線Lの幅を考慮した
分だけ上の位置をジョグ挿入候補の位置とし、オブジェ
クトOが配線Lの右側にある場合にはジョグ挿入候補の
方向を北西、またはオブジェクトOが配線Lの左側にあ
る場合にはジョグ挿入候補の方向を北東とする処理と、
オブジェクトOの下端座標から、配線Lとオブジェクト
Oの間隔制約と配線Lの幅を考慮した分だけ下の位置を
ジョグ挿入候補の位置とし、オブジェクトOが配線Lの
右側にある場合にはジョグ挿入候補の方向を南西、また
はオブジェクトOが配線Lの左側にある場合にはジョグ
挿入候補の方向を南東とする処理を含むこと、を特徴と
する。
【0016】請求項5の発明は、前記ジョグ挿入候補を
作成する処理は、コンパクション方向に対して垂直方向
に走る配線L1において、配線L1の上端でコンパクシ
ョン方向に走る配線L2と接続し、かつ配線L1より配
線L2ができるだけ短くしたい配線の場合は、配線L1
が配線L2と接続しているオブジェクトO2の下端座標
から、配線L1と配線L2の間隔制約、配線L1とオブ
ジェクトO2の間隔制約と配線L1の幅を考慮した分を
加えた分だけ下の位置をジョグ挿入候補の位置とし、配
線L2が配線L1と接続している位置から右に走ってい
る場合はジョグ挿入候補の方向を南東とし、また配線L
2が配線L1と接続している位置から左に走っている場
合はジョグ挿入候補の方向を南西とする処理と、配線L
1の下端でコンパクション方向に走る配線L3と接続
し、かつ配線L1より配線L3ができるだけ短くしたい
配線の場合は、配線L1が配線L3と接続しているオブ
ジェクトO3の上端座標から、配線L1と配線L3の間
隔制約、配線L1とオブジェクトO3の間隔制約と配線
L1の幅を考慮した分を加えた分だけ上の位置をジョグ
挿入候補の位置とし、配線L3が配線L1と接続してい
る位置から右に走っている場合はジョグ挿入候補の方向
を北東とし、また配線L3が配線L1と接続している位
置から左に走っている場合はジョグ挿入候補の方向を北
西とする処理とを含むこと、を特徴とする。
【0017】請求項6の発明は、配線L1と配線L2が
コンパクション方向に対して垂直方向に並んで走ってい
て、配線L上に北東または北西のジョグ挿入候補を挿入
した場合に、挿入したジョグ挿入候補の位置をきっかけ
として隣接する配線L2にジョグ挿入候補を作成するこ
とを特徴とする。
【0018】請求項7の発明は、前記ジョグ挿入候補を
作成する処理は、配線L1と配線L2がコンパクション
方向に対して垂直方向に並んで走っていて、配線L1が
配線L2の右側にある場合には、配線L2上のジョグ挿
入候補として格納されたジョグ挿入候補のうち、北東の
方向を持つジョグ挿入候補があれば、北東の方向を持つ
ジョグ挿入候補の位置から、配線L1と配線L2の間隔
制約、配線L1の幅と配線L2の幅を考慮した分を加え
た分だけ上の位置を配線L1上のジョグ挿入候補の位置
とし、配線L1上のジョグ挿入候補の方向は北東とする
処理と、配線L1と配線L2がコンパクション方向に対
して垂直方向に並んで走っていて、配線L1が配線L2
の左側にある場合には、配線L2上のジョグ挿入候補と
して格納されたジョグ挿入候補のうち、北西を持つジョ
グ挿入候補があれば、北西方向を持つジョグ挿入候補の
位置から、配線L1と配線L2の間隔制約、配線L1の
幅と配線L2の幅を考慮した分を加えた分だけ上の位置
を配線L1上のジョグ挿入候補の位置とし、配線L1上
のジョグ挿入候補の方向を北西とする処理と、を含むこ
とを特徴とする。
【0019】請求項8の発明は、配線L1と配線L2が
コンパクション方向に対して垂直方向に並んで走ってい
て、配線L上に南東または南西のジョグ挿入候補を挿入
した場合に、挿入したジョグ挿入候補と他のジョグ挿入
候補との間の組合せにより、その配線上にジョグを挿入
できる場合に、配線L1に挿入したジョグ挿入候補をき
っかけとして隣接する配線L2にジョグ挿入候補を作成
することを特徴とする。
【0020】請求項9の発明は、前記ジョグ挿入候補を
作成する処理は、配線L1と配線L2がコンパクション
方向に対して垂直方向に並んで走っていて、配線L1が
配線L2の右側にある場合には、南東の方向を持つジョ
グ挿入候補があれば、南東の方向を持つジョグ挿入候補
の位置から、配線L1と配線L2の間隔制約、配線L1
の幅と配線L2の幅を考慮した分を加えた分だけ下の位
置を配線L1上のジョグ挿入候補の位置とし、配線L1
上のジョグ挿入候補の方向は南東とする処理と、配線L
1と配線L2がコンパクション方向に対して垂直方向に
並んで走っていて、配線L1が配線L2の左側にある場
合には、南西の方向を持つジョグ挿入候補があれば、南
西を方向を持つジョグ挿入候補の位置から、配線L1と
配線L2の間隔制約、配線L1の幅と配線L2の幅を考
慮した分を加えた分だけ下の位置を配線L1上のジョグ
挿入候補の位置とし、配線L1上のジョグ挿入候補の方
向は南西とする処理を含むこと、を特徴とする。
【0021】請求項10の発明は、配線毎に格納したジ
ョグ挿入候補の中に特定の組合せが存在する場合に、そ
の配線にジョグを挿入する処理は、(1) 2つのジョグ挿
入候補のうち位置座標の大きいジョグ挿入候補の方向が
南東で、かつ位置座標の小さいジョグ挿入候補の方向が
北西である、(2) 2つのジョグ挿入候補のうち位置座標
の大きいジョグ挿入候補の方向が南西で、かつ位置座標
の小さいジョグ挿入候補の方向が北東である。という組
合せが存在すれば、これらの組合せを満足する2つのジ
ョグ挿入候補の間にジョグを挿入することを特徴とす
る。
【0022】請求項11の発明は、電子部品のレイアウ
トを表すために必要な情報を含むレイアウト情報の格納
手段と、前記レイアウト情報に基づいて、オブジェクト
の各インターバルに対して初期イベントラインを作成す
るイベントライン生成手段と、作成された初期イベント
ラインを格納する初期イベントライン集合の格納手段
と、前記初期イベントライン集合や追加イベントライン
集合の中から次の処理対象となるイベントラインを選択
するイベントライン選択手段と、選択されたイベントラ
インに対応するインターバルIの状態及びインターバル
Iと制約のある他のインターバルJを探索する処理を制
御するジョグ挿入制御手段と、ジョグ挿入候補のきっか
けとなったオブジェクトの位置関係に基づいて、方向と
位置とを有するジョグ挿入候補を作成するジョグ挿入候
補作成手段と、作成されたジョグ挿入候補を配線毎に格
納するジョグ挿入候補テーブルと、作成されたジョグ挿
入候補と前記ジョグ挿入候補テーブルに格納されている
同じ配線のジョグ挿入候補とを調べ、特定の組合せがあ
った場合にジョグ挿入位置を決定するジョグ挿入位置決
定手段と、ジョグ挿入位置が決定された場合、ジョグ挿
入位置で配線の分割、その位置に横方向の配線の作成、
配線どうしの接続関係を確立するジョグ挿入手段と、分
割した配線のうち下の方の配線にイベントラインを作成
するイベントライン追加手段と、前記イベントライン追
加手段により作成されたイベントラインを格納する追加
イベントライン集合の格納手段と、を備えていることを
特徴とする。
【0023】請求項12の発明は、前記ジョグ挿入候補
作成手段は、インターバルがON、HALF、OFF のいずれか
を判別するインターバル状態判別手段と、オブジェクト
が配線かそれ以外かを判別するオブジェクト判別手段
と、インターバルがオブジェクトの左右どちらの辺かを
判別するインターバル左右判別手段と、インターバルI
と制約のある他のインターバルJを探索するインターバ
ル探索手段と、挿入しようとするジョグの座標と方向を
決定するジョグ挿入候補の座標・方向決定手段と、配線
上にジョグ挿入候補を挿入することができるか否かを判
定する挿入判定手段と、挿入可能なジョグ挿入候補をジ
ョグ挿入候補テーブルに格納し、格納されているジョグ
挿入候補を新たに挿入しようとするジョグ挿入候補と比
較するために取り出すためのテーブル操作手段と、を備
えていることを特徴とする。
【0024】請求項13の発明は、前記ジョグ挿入候補
作成手段には、配線L1と配線L2がコンパクション方
向に対して垂直方向に並んで走っていて、配線L上に北
東または北西のジョグ挿入候補を挿入した場合に、挿入
したジョグ挿入候補の位置をきっかけとして隣接する配
線L2にジョグ挿入候補を作成するための偽イベントラ
インを作成する手段と、作成した偽イベントラインを格
納する手段と、が設けられていることを特徴とする。
【0025】請求項14の発明は、前記ジョグ挿入候補
作成手段は、配線L1と配線L2がコンパクション方向
に対して垂直方向に並んで走っていて、配線L上に南東
または南西のジョグ挿入候補を挿入した場合に、挿入し
たジョグ挿入候補と他のジョグ挿入候補との間の組合せ
により、その配線上にジョグを挿入できる場合に、配線
L1に挿入したジョグ挿入候補をきっかけとして隣接す
る配線L2にジョグ挿入候補を作成することを特徴とす
る。
【0026】請求項15の発明は、電子部品のレイアウ
トを表すために必要な情報を含むレイアウト情報に基づ
いて、オブジェクトの各インターバルに対して初期イベ
ントラインを作成するステップと、作成された初期イベ
ントラインを格納するステップと、前記初期イベントラ
イン集合や追加イベントライン集合の中から次の処理対
象となるイベントラインを選択するステップと、選択さ
れたイベントラインに対応するインターバルIの状態及
びインターバルIと制約のある他のインターバルJを探
索するステップと、ジョグ挿入候補のきっかけとなった
オブジェクトの位置関係に基づいて、方向と位置とを有
するジョグ挿入候補を作成するステップと、作成された
ジョグ挿入候補を配線毎に格納するステップと、作成さ
れたジョグ挿入候補と前記ジョグ挿入候補テーブルに格
納されている同じ配線のジョグ挿入候補とを調べ、特定
の組合せがあった場合にジョグ挿入位置を決定するステ
ップと、ジョグ挿入位置が決定された場合、ジョグ挿入
位置で配線の分割、その位置に横方向の配線の作成、配
線どうしの接続関係を確立するステップと、分割した配
線のうち下の方の配線にイベントラインを追加するステ
ップと、前記イベントライン追加手段により作成された
追加イベントラインを格納するステップと、を備えてい
るプログラムを媒体に記録したことを特徴とする。
【0027】
【発明の実施の形態】以下、図面を参照しながら本発明
の実施形態について説明する。
【0028】(1)本発明を実現する手段 本発明の各実施形態はコンピュータ上に実現され、実施
形態の各機能は、所定の手順(プログラム)がこのコン
ピュータを制御することで実現される。例えば、入力手
段は、入力するプログラムやデータの態様によって種々
のものを採用することができ、キーボードやマウスなど
の入出力装置、ネットワーク接続装置、データ読み取り
装置などを使用できる。また、各記憶手段は、外部から
入力したデータを蓄えるためのものであり、磁気や光デ
ィスク装置、半導体メモリ等の所望の装置を用いること
ができる。さらに、他の部分は、コンピュータのソフト
ウェアによって構成されることが典型的である。
【0029】本明細書における各「手段」は、実施形態
の各機能に対応する概念的なもので、必ずしも特定のハ
ードウェアやソフトウェア・ルーチンに1対1には対応
しない。同一のハードウェア要素が、場合によって異な
った手段を構成する。例えば、コンピュータは、ある命
令を実行するときにある手段となり、別の命令を実行す
るときは別の手段となりうる。また、一つの手段が、わ
ずか1命令によって実現される場合もあれば、多数の命
令によって実現される場合もある。したがって、本明細
書では、以下、実施形態の各機能を有する仮想的回路ブ
ロック(手段)を想定して実施形態を説明する。また、
本実施形態における各手順の各ステップは、その性質に
反しない限り、実行順序を変更し、複数同時に実行し、
また、実行ごとに異なった順序で実行してもよい。
【0030】また、本発明をコンピュータのソフトウェ
アとして実現した場合には、そのソフトウェアを磁気あ
るいは光などの記録媒体に記録しておき、これを個々の
設計者が読み出して自己のコンピュータによって実行す
ることも、本発明の実施形態の一つである。
【0031】(2)用語の説明 本発明をより具体的に説明するに先立ち、本発明におい
て使用する用語を説明する。
【0032】(1) オブジェクト レイアウトの対象となる電子部品、配線、素子、コンタ
クト、インスタンス等の総称 (2) レイアウト情報 オブジェクトの配置、形状、マスク、接続などの位置や
制約に関する情報で、コンパクションを実施する電子回
路を表現するために必要な情報を言う。また、コンパク
ションを実施するために有効な情報、例えば、どの種の
オブジェクトを優先的に処理すべきかなどの情報も含
む。具体的には、各オブジェクトが配線やコンタクトな
どのうちどのような種類であるか、各オブジェクトが他
のオブジェクトに対してどのような優先度を持っている
か(例えば2種類の配線が存在した場合に、どちらの配
線を短縮することが求められているか)、各オブジェク
トが他のオブジェクトに対してどのように接続されてい
るか、各オブジェクトのインターバルの位置はどこにあ
るか、などの情報が含まれている。
【0033】(3) 間隔制約 各オブジェクトを配置する場合に、あるオブジェクトを
他のオブジェクトから最低限度距離を確保して配置する
ことが要求される条件。
【0034】(4) 最大制約条件 あるオブジェクトと他の複数のオブジェクトとの間隔制
約の中で、最も大きな間隔制約を言う。本実施形態で
は、ある配線にジョグを挿入する場合に、その配線と複
数のオブジェクトとの間の間隔制約の中で、最も大きな
制約。言い換えれば最も距離を大きくとる必要がある制
約条件で、他の制約条件が包含されるので、レイアウト
に際してはこの制約を満足すればよい。
【0035】(5) インターバル オブジェクトの辺を言う。本実施の形態においてジョグ
の挿入位置を決定するには、スキャンラインSと交差す
る配線Lの左右の辺と、オブジェクトの配線と対向する
辺が考慮される。
【0036】(6) スキャンライン 所定の領域に配置された各オブジェクトについて、その
レイアウト情報を取得するために、前記の領域を走査す
る線。本実施形態で使用される垂直平面走査法において
は、図の下から上に移動する。このスキャンラインと交
叉するオブジェクトについてその幾何学的データを取得
する。
【0037】(7) 垂直平面走査法 本実施形態は、配線にジョグの挿入位置を決定するに当
たり、スキャンラインをコンパクション方向と垂直に走
らせる垂直平面走査法を用いたものである。すなわち、
図32(b)は、垂直平面走査法を、従来技術の平行平
面走査法と比較して説明する図である。この図32
(b)において、コンパクション方向は図の左右方向と
すると、垂直平面走査法では、スキャンラインSをコン
パクション方向と垂直に図の下から上に走らせている。
従って、スキャンラインSは、ジョグを挿入する配線L
と直角に移動することになり、一度の走査によって、配
線Lの両側に配置された各オブジェクトA〜Cに関する
情報を取得することができる。そのため、配線Lの両側
のオブジェクトの配置を考慮してジョグを挿入する位置
を決めることができるので、図32(a)に示した平行
平面走査法のように不要なジョグJaを挿入すると言っ
た不都合が解消される。
【0038】(8) イベントライン オブジェクトのインターバルとスキャンラインとの位置
関係によって、以下のような4種類の状態1〜4が定義
される。 (a) 状態1:PRE …図33(a) インターバルの下端座標より下にスキャンラインがあ
る。 (b) 状態2:ON…図33(b) インターバルの下端座標から上端座標の間にスキャンラ
インがある。 (c) 状態3:HALF…図33(c) インターバルの上端座標から、上端座標からこのインタ
ーバルとの最大制約条件分だけ上の座標の間にスキャン
ラインがある。 (d) 状態4:OFF …図33(d) インターバルの上端座標からこのインターバルとの最大
制約条件分だけ上の座標より上にスキャンラインがあ
る。各々のインターバルについて、各状態が変化する位
置に作成されたラインをイベントラインと言う。つま
り、図33(a)〜(d)に示すように、1つのインタ
ーバルに対して、3つのイベントラインが作成されるこ
とになる。なお、それぞれ状態が変化する始点に位置す
るイベントラインをON、HALF、OFF のイベントラインと
呼ぶ。
【0039】(3)本実施形態の概要 本実施の形態は、前記の垂直平面走査法を利用してジョ
グの挿入位置を決定するものである。まず、このような
ジョグの挿入処理を伴う、レイアウトコンパクションの
全体の処理を説明する。図1は、コンパクション処理の
各工程を示すフローチャート、図2は、各工程における
オブジェクトの配置の変化を順番に示す図である。な
お、図2の左右方向(X方向)がコンパクション方向で
あり、スキャンラインの移動方向は図の下から上(Y方
向)である。
【0040】<ステップ101>…挿入候補となるジョ
グの決定 本実施の形態では、まず、図2(a)のように配置され
た各オブジェクト(この場合では、電子部品を示すオブ
ジェクトA,B,Cと配線L)を、前記垂直平面走査法
によって図2の下から上に向かって走査することによ
り、各オブジェクトのレイアウト情報を取得する。この
とき、スキャンラインSが配線L及びその左右に配置さ
れた各オブジェクトA,B,Cを走査し、捜査の結果得
られた配線Lと各オブジェクトの位置に基づいて、配線
Lにはジョグの挿入位置の候補Jo,Jpが算出され
る。
【0041】本実施の形態においては、この候補となる
ジョグJo,Jpは2つの情報を有する。第1の情報
は、ジョグJo,JpのスキャンラインSの移動方向
(Y方向)に対する座標値である。第2の情報は、各ジ
ョグJo,Jpを挿入する契機となったオブジェクトの
エッジから見て、各ジョグ(各ジョグの挿入位置の座
標)がどの方向に位置するかを示す値である。ところ
で、本発明の対象とするレイアウトコンパクションが、
配線Lに挿入するジョグが配線を直角に屈曲するもので
あること、及び配線Lと他のオブジェクトとの間に一定
の距離を確保するという制約があることを前提としてい
る。そのため、挿入候補となったジョグが有する方向に
関する値は、配線Lの長さ方向(スキャンラインSの移
動方向)を0°もしくは360°とすると、45°、1
35°、225°、315°の4種類になる。以下、ス
キャンラインSの移動方向を北と定義することにより、
各方向の値をぞれぞれ北東(45°)、南東(135
°)、南西(225°)、北東(315°)と呼ぶ。
【0042】なお、このジョグときっかけとなるオブジ
ェクトの4種類の位置関係は、本実施形態および特許請
求の範囲では方角を用いて表現しているが、これは理解
しやすいように便宜的に方角を使用しているだけであ
り、例えば番号や符号などで表現しても良い。基本的に
は、ジョグ挿入候補の座標値とそのジョグ挿入候補を挿
入するきっきけとなったオブジェクトとの位置関係を表
す値によって、ジョグ挿入候補は定義され、後の組合せ
を検索する場合に、この2つの値が参照される。
【0043】<ステップ102>…挿入するジョグの決
定 次に、得られたレイアウト情報に基づいて、配線Lに挿
入するジョグの挿入位置を決定する。前記のステップ1
01に示すように、ジョグの挿入候補は、配線Lとその
両側に配置されたオブジェクトとの位置から決定され
る。しかし、候補として挙げられたジョグのすべてが、
面積縮小に寄与するものではない。図3(a)(b)
は、挿入したジョグが面積縮小に有効な例を示す。この
図では、挿入候補となった2つのジョグが、次のような
座標値と方向を持つものの組み合わせになっている。 (a) 2つのジョグ挿入候補のうち位置座標の大きいジョ
グ挿入候補の方向が南西で、かつ位置座標の小さいジョ
グ挿入候補の方向が北東である。 (b) 2つのジョグ挿入候補のうち位置座標の大きいジョ
グ挿入候補の方向が南東で、かつ位置座標の小さいジョ
グ挿入候補の方向が北西である。 一方、図4(a)〜(f)は、配線Lに挿入が不可能で
あるか、仮に挿入したとしても面積縮小に貢献すること
がないジョグの組み合わせを示すものであって、前記
(a) (b) 以外の2つのジョグの組み合わせを示す。
【0044】<ステップ103>…配線の分割 前記のようにして挿入候補の中から、挿入するジョグの
組み合わせが決定した後は、これらの組み合わせに基づ
いてジョグの挿入位置(座標値)を決定し、図2(b)
に示すように、この挿入位置から配線Lを分割し、分割
された配線がコンパクション方向に沿って自由に移動で
きるようにする。また、分割された配線同士を繋ぐ横方
向の配線と、各配線を繋ぐターミナルを作成する。
【0045】<ステップ104>…下詰め処理 前記のようにしてジョグの挿入処理を行った後は、ジョ
グを挿入した配線及び各オブジェクトの配置に関する情
報に基づいて、下詰め処理を行う。この下詰め処理は、
各オブジェクトを、そのレイアウト上の制約を満足する
もっともコンパクション方向の座標値の小さい位置に移
動させ、配線領域のコンパクション方向の寸法を最小化
する処理である。図2(c)の例では、各オブジェクト
A,B,Cと配線Lに関して予め決められた制約の範囲
内で、分割された配線LとオブジェクトBとをできる限
り左方向に移動させる。この場合、ジョグを挿入するた
めに切り離された配線は互いに自由に移動し、それらの
配線の間に距離があれば横方向の配線がのびる。また、
横方向の配線が0の場合には、切り離された配線は元通
り1本の配線となる。
【0046】<ステップ105>…配線の短縮 前記のようにして下詰め処理を行った状態では、配線の
不必要な折れ曲がりが存在するので、下詰め処理された
配線領域の寸法を保持したまま、配線短縮処理を行う。
このようにすると、図2(d)に示すように、下詰め処
理をした図2(c)との面積を等しくしたまま、配線L
を短縮することができる。
【0047】なお、前記ステップ104及び105の詳
細については、 (1) Nutcracker: An Efficient and Intelligent Chann
el Spacer, Proc.24thDesign Auto-mation Conf., 1987
pp.298-304 (2) ビア削除を伴った高速多機能チャネルスペーサ、電
子情報通信学会誌 A Vol.J72-A No.2 pp.349-358 1989-
02 を参照のこと。
【0048】(4)第1実施形態 (4−1)第1実施形態の構成…図5,図6 本実施形態のレイアウト設計支援方法を実施するための
装置の構成を図5及び図6に従って説明する。
【0049】図5において、1は、素子の配置情報、形
状情報、マスク情報、接続情報など半導体集積回路を表
すために必要な情報を含むレイアウト情報である。この
レイアウト情報1は、後述する他の情報と同様に、メモ
リ、ハードディスク、光磁気ディスクなどの記憶手段に
記憶されている。
【0050】2は、イベントライン生成手段である。こ
のイベントライン生成手段2は、前記レイアウト情報1
に基づいて、1つのオブジェクトの各インターバルに対
して3本ずつ次の(1) 〜(3) の位置にイベントラインを
作成する。 (1) オブジェクトの下端…ON状態の始点 (2) オブジェクトの上端…HALF状態の始点 (3) オブジェクトの上端から、このオブジェクトとの制
約条件のうち最大制約条件だけ上の位置…OFF 状態の始
点 なお、これらのイベントラインは、コンパクション開始
時のレイアウト情報に基づいて生成されるので、初期イ
ベントラインと呼ぶ。
【0051】3は、この生成手段2によって作成された
初期イベントラインを格納する初期イベントライン集合
である。この場合、イベントライン集合に蓄積されてい
る各イベントラインは、どのオブジェクトのインターバ
ルに対応するイベントラインであるか、また、対応する
インターバルとどのような関係にあるイベントラインで
あるか(ON,HALF,OFF のいずれか)を示す情報と共に
記憶手段に格納されている。また、本実施形態では、初
期イベントライン集合2及び後述する追加イベントライ
ン集合11は共にX方向のコンパクションならY座標に
関して昇順に、またY方向のコンパクションならX座標
に関して昇順に格納されている。
【0052】4は、前記初期イベントライン集合3やそ
の後に作成された追加イベントライン集合11の中から
次の処理対象となるイベントラインを選択するイベント
ライン選択手段である。5はジョグ挿入制御手段であ
る。このジョグ挿入制御手段5は、前記イベントライン
選択手段4により選択されたイベントラインについて、
そのイベントラインに対応するインターバルを変数Iに
セットし、インターバルIの状態及びインターバルIと
制約のあるインターバルJを探索する処理を制御する。
【0053】6はジョグ挿入候補作成手段である。この
ジョグ挿入候補作成手段6は、前記ジョグ挿入制御手段
5により、以下の条件のいずれかであった場合に呼び出
され、それぞれの場合に応じてジョグ挿入候補の位置と
ジョグ挿入候補の方向からなるジョグ挿入候補を作成す
る。ここで、ジョグ挿入候補の方向は、配線上のジョグ
挿入候補の位置とジョグ挿入候補のきっかけとなったオ
ブジェクトの位置関係を示すものであって、本実施形態
では前記のように、南東、南西、北東、北西のように表
現される。7は、前記ジョグ挿入候補作成手段6により
作成されたジョグ挿入候補を配線毎に格納するジョグ挿
入候補テーブルである。
【0054】(条件1)…図12(a) インターバルIが構成するオブジェクトが配線H1、か
つインターバルIの状態がON、かつ配線H1のジョグ挿
入候補テーブル7が空である。 (条件2)…図12(b) インターバルJが構成するオブジェクトが配線H2、か
つインターバルIの状態がON、かつ配線H2のジョグ挿
入候補テーブル7が空でない。 (条件3)…図12(c) インターバルIが構成するオブジェクトが配線H3、か
つインターバルIの状態がHALF、かつ配線H3のジョグ
挿入候補テーブル7が空でない。
【0055】このような条件を判定するために、前記ジ
ョグ挿入候補作成手段6には、図6に示すように、イン
ターバルがON、HALF、OFF のいずれかを判別するインタ
ーバル状態判別手段61、オブジェクトが配線かそれ以
外かを判別するオブジェクト判別手段62、インターバ
ルがオブジェクトの左右どちらの辺かを判別するインタ
ーバル左右判別手段63が設けられている。また、イン
ターバルIと制約のある他のインターバルJを探索する
インターバル探索手段64、挿入しようとするジョグの
座標と方向を決定するジョグ挿入候補の座標・方向決定
手段65、配線上にジョグ挿入候補を挿入することがで
きるか否かを判定する挿入判定手段66が設けられてい
る。さらに、挿入可能なジョグ挿入候補をジョグ挿入候
補テーブル7に格納したり、テーブル7に格納されてい
るジョグ挿入候補を新たに挿入しようとするジョグ挿入
候補と比較するために取り出すために、テーブル操作手
段67が設けられている。
【0056】図5において、8は、ジョグ挿入位置決定
手段である。このジョグ挿入位置決定手段8は、前記ジ
ョグ挿入候補作成手段6により作成されたジョグ挿入候
補のうち、下向きのジョグ挿入候補があった場合、前記
ジョグ挿入候補テーブル7の中で同じ配線のジョグ挿入
候補のうちジョグ挿入可能な方向をもつジョグ挿入候補
があるか調べ、もしあればジョグ挿入位置を決定する。
【0057】9は、前記ジョグ挿入位置決定手段8によ
りジョグ挿入位置が決定された場合、ジョグ挿入位置で
配線の分割、その位置に横方向の配線の作成、配線どう
しの接続関係を確立するジョグ挿入手段である。このジ
ョグ挿入手段9には、分割した配線のうち下の方の配線
のONからHALFに状態が変化する際のイベントラインまた
はHALFからOFF に状態変化する際のイベントライン、ま
たはその両方を作成するイベントライン追加手段10が
設けられている。11は、前記イベントライン追加手段
10により作成されたイベントラインを格納する追加イ
ベントライン集合である。
【0058】(4−2)第1実施形態の作用 次に、本実施形態の動作を、図7〜図11のフローチャ
ートを参照しつつ説明する。なお、この実施形態の説明
に用いる初期レイアウトは図13のようなものである。
【0059】<ステップ301>…初期イベントライン
の生成と格納 コンパクションを実施するために与えられたレイアウト
情報1に基づいて、初期イベントライン生成手段2が、
1つのオブジェクトの左右のインターバルごとに3本ず
つ、それぞれON,HALF,OFF の位置にイベントラインを
作成する。このようにして生成されたイベントラインを
初期イベントライン集合3に格納する。
【0060】<ステップ302>…処理対象となるイベ
ントラインの選択 イベントライン選択手段4により、初期レイアウトイベ
ントライン集合3及び追加イベントライン集合11のい
ずれかの中から次に処理するイベントラインを選択す
る。この場合、前記各イベントライン集合3,11にお
いては、各イベントラインは、X方向のコンパクション
ならY座標に関して昇順に、またY方向のコンパクショ
ンならX座標に関して昇順に格納されているので、格納
されている順に従ってイベントラインを選択する。もし
選択するものが無ければ終了する(ステップ302のN
O)。
【0061】ちなみに、本実施形態では、コンパクショ
ン方向がX方向であるから、イベントラインはY座標に
関して昇順に格納されている。従って、格納順にイベン
トラインを選択することは、スキャンラインSを図の下
から上に順に移動させながら、図の下の方からイベント
ラインを選択することを意味する。
【0062】<ステップ303> ジョグ挿入制御手段5が、ステップ302において選択
されたイベントラインに対応するインターバルを変数I
にセットし、このインターバルIをジョグ挿入候補作成
手段6のインターバル状態判別手段61へ出力する。こ
の判別手段61では、与えられたインターバルIとスキ
ャンラインSとの関係を調べ、インターバルIの状態に
応じて次のような処理を行う。
【0063】すなわち、選択されたイベントラインに対
応するインターバルIの状態がONである場合(インター
バルIの下端をスキャンラインSが走査した場合)はス
テップ304に進む。また、インターバルIの状態がHA
LFである場合(インターバルIの上端にスキャンライン
Sが達した場合)はステップ312に進む。なお、イン
ターバルIがOFF の場合は、スキャンラインSが図の上
方に移動して、そのインターバルIを通過し、そのイン
ターバルIに付いてはジョグを挿入することはできない
から、ステップ302に戻って次のイベントラインを選
択する(ステップ303−1〜ステップ303−3)。
【0064】<ステップ304>…前記条件1の判定 このステップ304では、ジョグ挿入候補作成手段6の
オブジェクト判別手段62及びインターバル左右判別手
段63が、前記レイアウト情報に従って、インターバル
Iが構成するオブジェクトが配線(以下、L1と呼ぶ)
であり、かつインターバルIが左側のインターバルであ
るか調べる。すなわち、本実施形態では、ある1つの配
線があった場合に、その配線にジョグを挿入できるかど
うかを、配線の左側のインターバルを基準として検討す
る。従って、左側のインターバルIがONと言うことは、
その配線について最初にジョグが挿入できるか否かの走
査を行うことを意味する。従って、前記条件1の通り、
この配線についてはジョグ挿入候補は作成されておら
ず、ジョグ挿入候補テーブル7は空である。
【0065】このステップ304において条件を満足す
る配線H1とスキャンラインSの状態は、図12(a)
のようである。もし条件を満たせばステップ305に、
そうでなければステップ306に進む。すなわち、イン
ターバルIが構成するオブジェクトが配線でない場合に
は、そのオブジェクトにジョグを挿入する必要がないの
で、ステップ306に進む。また、本実施形態では、ジ
ョグを挿入する配線について、最初にその左側のインタ
ーバルを基準としてジョグの挿入候補の位置を決定す
る。そのため、右側のインターバルの場合には、その配
線について既に左側のインターバルでジョグの挿入候補
が決定されているので、ステップ306へ進む。
【0066】<ステップ305>…ジョグ挿入候補の位
置(最大値と最小値)の決定 このステップにおいては、ジョグ挿入候補の座標・方向
決定手段65によって、前記ステップ304の条件を満
足する配線についてジョグの挿入候補の位置と、その方
向を決定する。この場合、前記決定手段65は、その配
線がその上下の端部において、他のオブジェクトに対し
てどのように接続されているか、他のオブジェクトとの
間でどのような間隔制約を有しているか、他のオブジェ
クトに対してどのような優先度を持っているかを、レイ
アウト情報1から取得する。以下、このステップ305
の詳細を、図9のフローチャートによって説明する。
【0067】<ステップ305−1>…配線上端の制約
(最大値の決定) 例えば、図14のように、インターバルIによって表現
される配線L1がその上端でコンタクトC2を介して横
方向の他の配線L2に接続していて、配線L2の方が配
線L1よりもできるだけ短くしたい配線であった場合、
コンタクトC2の下端座標から、配線L1とコンタクト
C2の間隔制約と配線L1と配線L2の間隔制約のうち
大きい方と、配線L1の幅の半分を加えた分だけ下の位
置をジョグ挿入候補J11の位置とする。また、挿入候
補の方向は、配線L2が配線L1と接続している位置か
ら右に走っている場合はジョグ挿入候補J11の方向を
南東とし、配線L2が配線L1と接続している位置から
左に走っている場合はジョグ挿入候補の方向を南西とす
る。このジョグ挿入候補は、配線L1に挿入可能なジョ
グ挿入位置の最大値を示す。従って、後続の処理で配線
L1のジョグ挿入候補を追加する場合の目安として用い
る。
【0068】また、次のような場合は、実際にはジョグ
を挿入することはできないが、最大値を示す印として、
ジョグ挿入候補の方向を北東とする。これは必ずしも北
東とする必要はなく、ジョグ挿入に関らない印として
「北東」としてあるだけで、最大値を示す印であればど
のようなものでも良い。また、この場合のジョグ挿入候
補は、ジョグ挿入するのには用いられないが、ジョグ挿
入候補を追加する場合の目安として用いるため格納す
る。 (1) 配線L1の方が配線L2よりもできるだけ短くした
い配線である。 (2) 配線L1と配線L2の短くしたい度合いが同等であ
る。 (3) 配線L1の上端で接続している配線L2の方向が配
線L1と同じ方向である。 (4) 配線L1の上端に配線が接続していない。
【0069】<ステップ305−2>…配線下端の制約
(最小値の決定) 一方、配線L1の下端についても同様にしてジョグ挿入
候補を求める。すなわち、配線L1がその下端でコンタ
クトC3を介してコンパクション方向に走る配線L3と
接続し、かつ配線L1より配線L3ができるだけ短くし
たい配線の場合は、配線L1が配線L3と接続している
コンタクトC3の上端座標から、配線L1と配線L3の
間隔制約、配線L1とコンタクトC3の間隔制約と配線
L1の幅を考慮した分を加えた分だけ上の位置をジョグ
挿入候補J12の位置とする。また、配線L3が配線L
1と接続している位置から右に走っている場合はジョグ
挿入候補J12の方向を北東とし、また配線L3が配線
L1と接続している位置から左に走っている場合はジョ
グ挿入候補の方向を北西とする。
【0070】また、配線L1の下端についても次の(1)
から(4) の場合には、実際にはジョグを挿入することは
できないが、最小値を示す印として、ジョグ挿入候補の
方向を南西とする。これは必ずしも南西とする必要はな
く、ジョグ挿入に関らない印として「南西」とする。
【0071】(1) 配線L1の方が配線L3よりもできる
だけ短くしたい配線である。 (2) 配線L1と配線L3の短くしたい度合いが同等であ
る。 (3) 配線L1の下端で接続している配線L3の方向が配
線L1と同じ方向である。 (4) 配線L1の下端に配線が接続していない。 前記のようにして下端について作成されるジョグ挿入候
補は、配線L1に挿入可能なジョグ挿入位置の最小値を
示すものになる。従って、このジョグ挿入候補の位置よ
りも上であれば、ジョグ挿入可能で、下ならば不可能と
なる。
【0072】<ステップ305−3>…上下端のジョグ
挿入候補の比較 前記のようにして得られた配線L1の上端に関するジョ
グ挿入候補の位置が配線L1の下端に関するジョグ挿入
候補の位置よりも下の場合はリストまたは木に格納しな
い。それは、配線L1の上端側の制約と下端側の制約が
干渉するため、ジョグを挿入することが不可能であると
いう理由による。このようなリストに格納するか否かの
判断は、ジョグ挿入候補挿入判定手段66が行う。
【0073】<ステップ305−4>…最大値と最小値
のジョグ挿入候補をテーブル7に格納 前記のようにして、配線L1に関して得られたこれらの
ジョグ挿入候補を、その座標に関して昇順にジョグ候補
テーブル7に設けられたリストまたは木に格納する。こ
の際、テーブル操作手段67は、各配線について得られ
たジョグ挿入候補を配線ごとにソートしてテーブル7に
格納するための操作を行う。このようにして図14のよ
うな状態の配線L1に関してジョグ挿入候補のリストJ
11,J12が作成された後は、図8のステップ306
に進む。
【0074】<ステップ305−5>…最小値をリスト
に格納 ステップ305−3において、ジョグ挿入候補の最大値
が最小値よりも小さい場合には、最小値のみをリストに
格納し、図8のステップ306に進む。
【0075】<ステップ306>…前記条件2の判定 このステップにおいては、ジョグ挿入候補作成手段6に
設けられたインターバル探索手段64により、インター
バルIと間隔制約のあるインターバルJを、スキャンラ
インにのっているオブジェクトの中から探す。ステップ
306において、インターバルIは、 (1) ステップ304のNOのように配線でない場合、
(2) ステップ304のNOのように配線であって、右側
の辺である場合、(3) 配線であり、かつ左側の辺であっ
て、既にステップ305でその上下端部に接続された他
のオブジェクトの間の間隔制約を考慮して、ジョグ挿入
候補を作成した場合、が想定される。
【0076】このようなインターバルIについて、もし
コンパクション方向に関して間隔制約のあるインターバ
ルJ(同じスキャンラインSに乗っている)が有ればス
テップ307に進み、もし無ければステップ302に戻
り、次のイベントラインを選択する。ここで、インター
バルIとコンパクション方向に間隔制約のあるインター
バルJとは、隣り合った異なったオブジェクトの互いに
向き合った左右のインターバルを示す。なお、コンパク
ション方向と直角の方向の制約は、配線の上下端部に接
続された他の配線やコンタクトと間隔制約であり、これ
については、インターバルIが配線L1の左側の辺の時
に考慮している。
【0077】<ステップ307>…配線か否かの判定 インターバルJが構成するオブジェクトが配線(以下L
4と呼ぶ)であるか調べる。もし配線であればステップ
308に進み、もし配線でなければ前記条件2を満足し
ないので、ステップ306に戻る。
【0078】<ステップ308>…インターバルJに対
するジョグ挿入候補の作成 このジョグ挿入候補作成の処理は、インターバルJが構
成する配線上に、インターバルIが構成するオブジェク
ト(配線、コンタクト、などなんでもよい)の上端また
は下端をきっかけとしたジョグ挿入候補を作成すること
である。この処理は、ジョグ挿入候補の座標・方向決定
手段65により行う。例えば、インターバルJに対応す
る配線H2とインターバルIに対応するオブジェクト、
及びこれら各インターバルJ,IとスキャンラインSの
位置関係は図12(b)の場合に相当する。この場合、
オブジェクトの上端及び下端をきっかけとするジョグ挿
入候補を配線H2上に作成する。なお、インターバルJ
が配線であった場合に、この配線には、前記ステップ3
05において、ジョグ挿入候補の最大値と最小値が決定
され、リストに格納されている。以下、このステップ3
08の処理の詳細を、図10のフローチャートと、前記
図13のレイアウトの一部である図15の配線とコンタ
クトに付いて実施した場合を例にとって説明する。
【0079】<ステップ308−1>…上端をきっかけ
としたジョグ挿入候補 図15においては、コンタクトC4の上端をきっかけと
したジョグ挿入候補J43は、コンタクトC4の上端座
標からコンタクトC4と配線L4との間隔制約と配線L
4の幅の半分を加えた分だけ上の位置をジョグ挿入候補
J43の位置とする。ジョグ挿入候補J43の方向は、
図15の場合は配線L4に対してコンタクトC4が右側
にあるので西、また上端をきっかけにしたジョグ挿入候
補なので北とし、これらの方向を合成してジョグ挿入候
補の方向は北西であるとする。
【0080】<ステップ308−2>…最大値との比較 <ステップ308−3>…リストへの追加 <ステップ308−6>…リストへに追加せず この位置が配線L4のリストに既に格納されているジョ
グ挿入候補のうち最も大きい座標よりも小さいか調べ
る。もし小さければ配線L4のジョグ挿入候補を作成
し、格納するリストに追加する。もし大きければ作成し
ない。配線L4に格納されているジョグ挿入候補のうち
最も大きい座標というのは、前記ステップ305−1で
得られたジョグ挿入候補(例えばJ41)の座標であ
る。つまりステップ305−1で得られた値は、配線L
4に挿入可能なジョグ挿入の最大値であるから、この座
標より大きい座標をもつジョグ挿入候補は追加できな
い。図15の場合は、コンタクトC4の上端をきっかけ
としたジョグ挿入候補J43はリストに追加できるもの
とする。
【0081】<ステップ308−4>…下端をきっかけ
としたジョグ挿入候補 <ステップ308−5>…最小値との比較 <ステップ308−7>…リストへの追加 <ステップ308−6>…リストへに追加せず コンタクトC4の下端をきっかけとしたジョグ挿入候補
も同様に求める。図15の場合は、コンタクトC4の下
端をきっかけとしたジョグ挿入候補の位置は、ジョグを
挿入したときに配線L4が接続するコンタクトと間隔違
反を起こすので、配線L4のジョグ挿入候補は作成しな
い。
【0082】<ステップ308−8>…最大値のチェッ
ク <ステップ308−9>…小さい座標のジョグ挿入候補
を削除 ジョグ挿入候補のリストまたは木が増大するのを防ぐた
め、インターバルJに対して南東または南西の方向を持
つジョグ挿入候補を作成した場合は、そのジョグ挿入候
補の位置よりも小さい座標を持つ南東または南西の方向
のジョグ挿入候補をリストまたは木から消去し、新しく
挿入した南東または南西の方向を持つジョグ挿入候補を
配線L4のリストに格納する。すなわち、本実施形態で
は、配線上に南東または南西の方向のジョグ挿入候補が
挿入される都度、そのジョグ挿入候補よりも小さい座標
で、しかもそのジョグ挿入候補と対向する北西または北
東のジョグ挿入候補があるか否かを判定する。そして、
その組み合わせがあった場合に、ジョグの挿入を決定し
ている。従って、既にリストに格納されている古い南東
または南西のジョグ挿入候補はジョグを挿入可能とする
ための組み合わせがなかったものである。そこで、新た
に南東または南西のジョグ挿入候補が挿入された場合
は、新しいジョグ挿入候補についてジョグの挿入を可能
とする組み合わせを探せばよいので、古い南東または南
西のジョグ挿入候補を削除しても良い。
【0083】図13のような初期レイアウトの模式図に
ついて、各配線L1,L4,L5に対して、ジョグ挿入
候補を作成したときの模式図は図16のようになる。矢
印で示したのがジョグ挿入候補で、矢印の位置がジョグ
挿入候補の位置を示し、矢印の方向がジョグ挿入候補方
向を示す。
【0084】図16で配線L4の一番上に挿入された北
東のジョグ挿入候補J41は、配線L4の右側の辺をス
キャンした場合、言い換えれば、配線L4の左側の辺を
インターバルIとして選択し、図8のステップ304,
305によって処理したときに、挿入されたものであ
る。配線L4の一番下に挿入された南西のジョグ挿入候
補J42は、コンタクトC4の左側の辺をインターバル
Iとして配線L4をインターバルJとしたときに、コン
タクトC4の上端をきっかけとして挿入されたものであ
る。中間のジョグ挿入候補J43は、コンタクトC6の
右側の辺をインターバルIとして、配線L4をインター
バルJとしたときに、コンタクトC6の下端をきっかけ
として挿入されたものである。
【0085】同様にして、配線L1の上部には、ステッ
プ305において、配線L1上端の配線L2をきっかけ
としたジョグ挿入候補J11と、ステップ308でコン
タクトC6の左側の辺の下端をきっかけとしたジョグ挿
入候補J13が挿入されている。また、配線L1の下部
には、ステップ305で配線L3をきっかけとしたジョ
グ挿入候補J12が挿入されている。さらに、配線L5
の上部には、ステップ305において、配線L5上端の
配線L2をきっかけとしたジョグ挿入候補J51と、ス
テップ308でコンタクトC2の右側の辺の下端をきっ
かけとしたジョグ挿入候補J53が挿入されている。ま
た、配線L5の下部には、ステップ305で配線L7を
きっかけとしたジョグ挿入候補J52が挿入されてい
る。
【0086】<ステップ309>…組み合わせの探索 前記のようにして、配線上に南東または南西の方向を持
つジョグ挿入候補を作成した場合、配線に既に格納され
ているジョグ挿入候補のうち、新しく作成したジョグ挿
入候補の位置よりも小さい座標であるジョグ挿入候補
で、新しいジョグ挿入候補の方向と次のような組合せに
なるジョグ挿入候補の方向があるか調べる。 (組合せ1)新しいジョグ挿入候補の方向が南東、かつ
リスト中のジョグ挿入候補の方向が北西 (組合せ2)新しいジョグ挿入候補の方向が南西、かつ
リスト中のジョグ挿入候補の方向が北東
【0087】すなわち、ジョグを挿入したい配線を下か
ら上にスキャンしていくと、下から上に伸びる配線にジ
ョグを挿入することは、図2に示すように右曲がりある
いは左曲がりのクランク状に配線を折り曲げることにな
る。そのとき、元の配線の上方の座標の位置では、配線
を南東または南西に屈曲し、下方の座標では配線を北西
または北東に屈曲する。そこで、このような組み合わせ
をジョグ挿入候補の中から探索する。前記のような組み
合わせがもしあれば、ステップ310に進む。もし南東
または南西の方向を持つジョグ挿入候補を作成していな
い、または上の組合せとなるジョグ挿入候補がリスト中
に無かった場合は、ジョグを挿入することができないの
で、ステップ306に戻って新しいインターバルJ(新
しい配線)を選択する。
【0088】図5のような初期レイアウトの模式図に対
して、上のような組み合わせを調べた結果を図16で示
している。円で囲んだ矢印がジョグ挿入可能な組合せが
あったものである。図16では、配線L1のジョグ挿入
候補J11とJ12、及び配線L4のJ42とJ43の
2箇所でジョグ挿入可能な組合せがあったことが分か
る。
【0089】<ステップ310>…ジョグの挿入処理 このステップにおいては、図18(a)に示すように、
まず、組合せが存在したジョグ挿入候補の組みのジョグ
挿入候補の位置のうち、大きい方の座標をジョグ挿入位
置とする。次いで、図18(b)のように、ジョグ挿入
位置で配線を分割し、上の配線の下端を配線の幅半分分
だけ延長し、また下の配線の上端を配線の幅半分分だけ
延長する。また上の配線と下の配線がそれぞれ左右に自
由に移動するので、これらの配線を繋ぐ横方向の配線を
作成し、3本の配線の接続を確立する。なお、このジョ
グの挿入処理は、横方向の配線の長さを決定するもので
はない。横方向の配線の長さは、ジョグの挿入処理に引
き続いて行われる下詰め処理において決定され、その結
果、図18(c)のように配線の折り曲げができる。な
お、本ステップにおいて、ジョグの挿入位置を大きい方
の座標としたが、必ずしもこれに限定されるものではな
い。挿入するジョグの位置は、組み合わせた2つのジョ
グの座標の間に位置すれば良く、小さい方の座標でも、
大小の座標の中間でとしても良い。
【0090】このようにして、インターバルIがONのイ
ベントラインに対応するオブジェクトの上端または下端
をきっかけとして、このオブジェクトと間隔制約のある
配線に対してジョグ挿入候補を決定し、新たなジョグ挿
入候補が決定される度に、その配線のテーブルに格納さ
れている他のジョグ挿入候補とを比較して、前記の組み
合わせの有無を調べる。そして、前記の組み合わせが発
見されるごとにジョグを挿入していく。
【0091】<ステップ311>…追加イベントライン
の作成 ジョグを挿入した結果、その配線はジョグ挿入位置から
上下に分割されることになるので、その分割部分の上端
が他の配線にジョグを挿入する場合にきっかけとなる可
能性がある。そこで、分割した配線のうち、下の方の配
線に対するイベントラインを作成する。このイベントラ
インは、下の配線の上端の位置(下の配線のHALFの始点
の位置)及び上端からこの配線とレイアウト上のすべて
オブジェクトとの間隔制約のうち最大の制約分だけ上の
位置(OFF の始点の位置)、またどちらか一方を作成す
る。この作成されたイベントラインは追加イベントライ
ン集合に格納し、追加イベントライン集合を座標につい
て昇順に整列する。
【0092】<ステップ312>…前記条件3の判定 図7のステップ303−2において、選択したイベント
ラインに対応するインターバルIの状態がHALFであった
場合は図11のステップ312へ進み、インターバルI
が構成するオブジェクトが配線(以下L10)であるか
調べる。もし配線L10であればステップ313へ進
む。また配線でない場合は、ステップ302に戻り、次
のイベントラインを選択する。
【0093】すなわち、本実施形態では、最初にステッ
プ305において、配線の上下端部に最大値と最小値と
なるジョグ挿入候補を挿入している。しかし、前記の組
み合わせの探索は、他のオブジェクトの上端または下端
をきっかけとしてジョグ挿入候補を挿入した時点で、挿
入したジョグ挿入候補と既にその配線に挿入されている
ジョグ挿入候補とを比較することによって行っている。
従って、ステップ305で配線の上端に挿入されたジョ
グ挿入候補については、ステップ309では組み合わせ
の探索を行っていない。従って、ステップ305で挿入
された配線の最大値のジョグ挿入候補については、改め
てジョグ挿入候補の組み合わせを探索する必要がある。
そこで、次のステップ313において、このような組み
合わせの有無をチェックする。
【0094】<ステップ313>…最大座標のジョグ挿
入候補の選択 配線H3とスキャンラインSとの状態は図12(c)の
場合に相当する。配線H3について格納されているジョ
グ挿入候補の中で、ジョグ挿入候補の位置が最大のもの
を新規候補として、ステップ314に進む。
【0095】<ステップ314>…ジョグ挿入可能の判
定 <ステップ315>…ジョグ挿入処理 ステップ313で得られたジョグ挿入候補の位置が最大
のものと組合せになる他のジョグ挿入候補があるか調
べ、もしあればジョグを挿入する。組み合わせとなる他
のジョグ挿入候補がない場合、及びジョグの挿入が完了
した後は、ステップ302に戻って次のイベントライン
を選択する。このようにして図13に示す初期レイアウ
トの模式図を入力として、ジョグ挿入処理、下詰め処理
及び配線短縮処理を実行した結果得られた模式図は、図
17のようになる。
【0096】(4−3)第1実施形態の効果 以上の通り、第1実施形態は、スキャンラインSが各オ
ブジェクトのイベントラインを順に走査していくのに従
って、各イベントラインに関連づけられた各インターバ
ルにジョグ挿入候補を挿入することができるか否かを検
討する。その場合、スキャンラインSは、コンパクショ
ン方向と直角に、すなわち各インターバルとは直角方向
に移動するため、ジョグ挿入候補の挿入に当たっては、
各インターバルの両側に位置する他のオブジェクトとの
間隔制約を考慮することが可能になる。
【0097】例えば、図19(a)は、配線Lの上下に
伸ばしたくない他の配線La,Lbが接続され、配線L
の両側には他のオブジェクトOc,Od,Oeが配置さ
れている場合、第1実施形態により、配線Lにジョグを
挿入する手順を示している。すなわち、スキャンライン
Sが配線Lの下端から上方に移動すると、まず配線Lの
右側のインターバルにスキャンラインSが達した状態
で、上下の配線La,Lbとの制約条件に従ってジョグ
挿入候補Ja,Jbが挿入される。次いで、スキャンラ
インSが、オブジェクトOaの下端に達すると、その左
側のインターバルが変数Iに代入され、これと制約関係
にある配線Lの右側のインターバルが変数Jに代入され
る。その結果、配線Lの右側のインターバルには、オブ
ジェクトOcの上端をきっかけとした北西のジョグ挿入
候補Jcが挿入される。同様に、オブジェクトOdの上
端をきっかけとして北西のジョグ挿入候補Jdが挿入さ
れる。
【0098】なお、オブジェクトOc,Odの下端をき
っかけとしたジョグ挿入候補は、前記ジョグ挿入候補J
aよりもそのY座標値が小さいために、リストに格納し
ない。また、配線Lの左側のオブジェクトOeの下端を
きっかけとしてジョグ挿入候補を挿入することができる
が、これについては図19(a)ではスキャンラインS
が下端に達した瞬間なので、まだリストには、格納され
ていない。同様にオブジェクトOeの上端をきっかけと
するジョグ挿入候補もまだスキャンラインSがオブジェ
クトOe上端に達していないので、リストに格納されな
い。
【0099】これらのジョグ挿入候補の位置と方向は、
図19(b)のように、テーブル7に設けられたリスト
中にスキャンラインSの移動方向(Y方向)の座標値の
小さい順にソートされた状態で格納されていく。このリ
ストには、一例として、そのリストがどの配線のもので
あるかの識別名、ジョグ候補となったきっかけのオブジ
ェクト、ジョグ挿入候補の方向、ジョグ挿入候補の位
置、及び次の候補へのポインタが記録されている。そし
て、新しいジョグ挿入候補がリストに加えられるごと
に、その新しい候補と、既にリストに格納されている候
補との組み合わせを検査して、前記の2つの組み合わせ
のいずれかが発見された場合に、新しいジョグ挿入候補
の座標と方向に基づいて、ジョグを挿入する。
【0100】例えば、図19において、スキャンライン
SがオブジェクトOeを走査した時点で、配線Lの左側
のオブジェクトOeの下端をきっかけとしたジョグ挿入
候補が挿入できるような場合スキャンラインSがオブジ
ェクトOeを走査した時点でには、そのジョグ挿入候補
は、南東の方向でしかもその座標はオブジェクトOcを
上端をきっかけとしたジョグ挿入候補Jcよりも大きい
ので、ジョグを挿入することのできる組み合わせが発見
される。また、図19の例で、間隔違反などの理由から
オブジェクトOeの上端あるいは下端をきっかけとした
ジョグ挿入候補が挿入できなかった場合には、配線Lの
両側に位置するオブジェクトOc,Od,Oeをきっか
けとしたジョグ挿入候補には、前記のような組み合わせ
は発見されない。その場合は、配線LとHALFの関係にあ
るイベントラインにスキャンラインSが達したときに、
前記ステップ313に従って、配線Lのリストに格納さ
れている最大の座標のジョグ挿入候補Jbを新規なジョ
グ挿入候補と見なして、組み合わせを探している。その
結果、配線Lの下部に挿入したジョグ挿入候補Jaとこ
の最大の座標のジョグ挿入候補Jbとの組み合わせによ
り、ジョグを挿入することが可能となる。
【0101】このように、本実施形態では、配線の両側
に複数のオブジェクトが存在し、それらをきっかけとし
たジョグ挿入候補が数多く作成されても、実際にジョグ
を挿入するのは前記2つの組み合わせの場合に限られ
る。その結果、不要なジョグの挿入が防止される効果が
ある。
【0102】(5)第2実施形態 (5−1)第2実施形態の構成 以下、図面を参照しながら本発明の第2実施形態につい
て説明する。図20及び図21は第2実施形態の構成を
示すブロック図である。この第2実施形態は、前記第1
実施形態に対して、並んだ配線を同時に折り曲げる処理
を追加したものである。なお、前記図5及び図6に示し
た第1実施例と同様な部分には、同一の符号を付し、説
明は省略する。
【0103】この第2実施形態においては、図20に示
すように、ジョグ挿入候補作成手段6に偽イベントライ
ン生成手段12が設けられている。すなわち、この偽イ
ベントライン生成手段12は、前記ジョグ挿入候補作成
手段において北東または北西の方向を持つジョグ挿入候
補が作成された場合に、偽イベントラインを生成する。
この偽イベントラインは、並んだ配線を一緒に折り曲げ
るために、北東または北西の方向を持つジョグ挿入候補
を制約のある隣の配線へ伝播する際に用いられるイベン
トラインである。この偽イベントライン生成手段12に
よって生成された偽イベントラインは、偽イベントライ
ン集合13に格納する。また、この第2実施形態では、
図21に示すように、ジョグ挿入候補作成手段6に、制
約のある隣接する配線を検出する検出手段68、制約の
ある隣接する配線に対してジョグ挿入候補を伝播し、そ
の配線上にジョグ挿入候補を作成する伝播手段69が設
けられている。
【0104】(5−2)第2実施形態の作用 次に、第2実施形態の作用を、図22〜図26のフロー
チャートを参照しつつ説明する。なお、この第2実施形
態においても、前記第1実施形態で用いた図13の初期
レイアウトを利用して説明を行う。
【0105】<ステップ401>…初期イベントライン
の生成と格納 図22のステップ401では、コンパクションを実施す
るために与えられたレイアウト情報1に基づいて、初期
イベントライン生成手段2が、1つのオブジェクトの左
右のインターバルごとに3本ずつ、それぞれON,HALF,
OFF の位置にイベントラインを作成する。このようにし
て生成されたイベントラインを初期イベントライン集合
3に格納する。
【0106】<ステップ402>…処理対象となるイベ
ントラインの選択 イベントライン選択手段4によって、初期レイアウトイ
ベントライン集合3、追加イベントライン集合11及び
偽イベントライン集合13のいずれかの中から次に処理
するイベントラインを選択する。この場合、前記各イベ
ントライン集合3,11,12において、各イベントラ
インは、X方向のコンパクションならY座標に関して昇
順に、またY方向のコンパクションならX座標に関して
昇順に格納されているので、格納されている順に従って
イベントラインを選択する。もし選択するものが無けれ
ば終了する(ステップ402のNO)。
【0107】<ステップ403>…偽イベントラインの
選択 ステップ402で選択されたイベントラインを調べ、選
択されたイベントラインが偽イベントラインであった場
合には、ステップ404へ進み、初期イベントラインま
たは追懐らの場合には、ステップ406へ進む。ちなみ
に、スキャンラインSをY座標の原点から上方に移動さ
せていくと、初期の状態では各配線にジョグ挿入候補は
作成されていないので、ジョグ挿入候補の作成に伴って
生成される追加イベントライン及び偽イベントラインは
存在しない。従って、最初は最も原点に近いオブジェク
トの下端に設定された初期イベントラインが選択され
る。このような初期イベントラインについての処理は、
前記第1実施形態と同様であるため、ここでは、第2実
施形態に特有の偽イベントラインを選択した場合を、先
にステップ404,405で説明する。
【0108】ここで、偽イベントラインとは、配線上に
北西、北東の方向を持つジョグ挿入候補が作成される都
度、そのジョグ挿入候補のY座標の位置に作成されたイ
ベントラインを言う。すなわち、第1実施形態で述べた
ように、配線上には、(1) インターバルIが構成するオ
ブジェクトが配線であってかつ左側の辺の時に、その配
線の上端に接続されている他のオブジェクトの制約に従
って挿入されるジョグ挿入候補(最大値と最小値のジョ
グ挿入候補)、(2) 配線がインターバルJであって、他
のオブジェクトを構成するインターバルIの上端または
下端をきっかけとして作成されるジョグ挿入候補、の2
種類がある。これら2種類のジョグ挿入候補が作成され
た場合に、ジョグ挿入候補の方向を調べ、北西または北
東のジョグ挿入候補であったときに、そのジョグ挿入候
補に対応した偽イベントラインを作成し、その偽イベン
トラインを偽イベントライン集合13内にそのきっかけ
となったジョグ挿入候補と共に格納する。
【0109】従って、本実施形態で、偽イベントライン
に格納されているジョグ挿入候補とは、その偽イベント
ラインを作成するきっかけとなったジョグ挿入候補のこ
とである。この偽イベントラインにスキャンラインSが
達したとき(ステップ403で偽イベントラインを選択
したとき)、この偽イベントラインに格納されているジ
ョグ挿入候補が、隣接する配線上にジョグ挿入候補を作
成するためのきっかけとなる。言い換えれば、以下述べ
るステップ404と405を実行することにより、偽イ
ベントラインとその偽イベントラインに格納されている
ジョグ挿入候補が隣接する配線に伝播され、隣接する配
線上に新しいジョグ挿入候補が作成される。
【0110】<ステップ404>…制約のある配線の探
索 本ステップにおいて、選択されたイベントラインが偽イ
ベントラインの場合には、その偽イベントラインFに格
納されているインターバルをKとする。偽イベントライ
ンに格納されているジョグ挿入候補の方向が北東の場
合、右隣にインターバルKが構成する配線M1と制約の
ある配線(以下M2と呼ぶ)があるか調べる。またジョ
グ挿入候補の方向が北西の場合は、左隣に配線M1と制
約のある配線があるか調べる。もしあればステップ40
4に進み、無ければステップ402に戻り、次に処理す
るイベントラインを選択する。図28は偽イベントライ
ンFに格納したジョグ挿入候補JM1の方向が北西の場
合である。このジョグ挿入候補JM1は、コンタクトC
5の左側の辺をインターバルIに、配線M1をインター
バルJに代入した場合に、コンタクトC5の上端をきっ
かけとして配線M1に作成されたものである。
【0111】<ステップ404>…ジョグ挿入候補の伝
播 ステップ403で発見された隣接する配線M1、配線M
2とスキャンラインSの状態は図12(d)の場合に相
当する。このような隣接する配線M1,M2が発見され
た場合、配線M2に、偽イベントラインFに格納された
ジョグ挿入候補JM1に基づいてジョグ挿入候補JM2
を作成する。すなわち、図28に示すように、配線M2
に作成するジョグ挿入候補JM2の位置は、偽イベント
ラインFに格納されたジョグ挿入候補JM1の位置か
ら、配線M1と配線M2の間隔制約、配線M1の幅の半
分と配線M2の幅の半分を加えた分だけ上とする。また
ジョグ挿入候補の方向は、偽イベントラインに格納され
たジョグ挿入候補JM1の方向と同じとする。この後、
ステップ402に戻り、次に処理するイベントラインを
選択する。
【0112】ところで、偽イベントラインは、配線上に
北西、北東の方向を持つジョグ挿入候補が作成される都
度作成される。従って、隣接する配線上に伝播されたジ
ョグ挿入候補JM2が作成されると、隣接する配線上に
も作成されたジョグ挿入候補を格納した偽イベントライ
ンF2が生成されることになる。伝播の結果生成された
ジョグ挿入候補JM2とその偽イベントラインF2は、
伝播元のジョグ挿入候補の方向が北西または北東のた
め、伝播元の偽イベントラインFよりも上方(Y座標値
が大きい位置)に設けられる。従って、伝播先の配線に
さらに隣接した第3の配線があった場合(例えば、図2
9において、配線M2の隣に、さらに配線M3があった
場合)は、伝播元の偽イベントラインの走査が終わり、
スキャンラインSが第2の配線に設けられた偽イベント
ラインF2に達したときに、第2の配線の偽イベントラ
インF2に格納した第2のジョグ挿入候補JM3が第3
の配線に伝播され、第3の配線上に第3のジョグ挿入候
補JM3を作成する。
【0113】なお、この偽イベントラインに格納された
ジョグ挿入候補が伝播して生成される第2、第3のジョ
グ挿入候補は、北西または北東の方向を持つため、これ
らジョグ挿入候補が生成された時点でステップ409の
ような組み合わせを調べる処理(ジョグの挿入処理)は
必要がない。しかし、伝播先のジョグ挿入候補が、後述
するステップ407及びステップ408で作成したジョ
グ挿入候補の最大値よりも大きい場合には、伝播先の配
線にジョグ挿入候補を挿入することはできない。
【0114】<ステップ406>…インターバルIのセ
ット ジョグ挿入制御手段5が、ステップ402において選択
されたイベントラインに対応するインターバルを変数I
にセットし、このインターバルIをジョグ挿入候補作成
手段6のインターバル状態判別手段61へ出力する。こ
の判別手段61では、与えられたインターバルIとスキ
ャンラインSとの関係を調べ、インターバルIの状態に
応じて次のような処理を行う。
【0115】すなわち、選択されたイベントラインに対
応するインターバルIの状態がONである場合(インター
バルIの下端をスキャンラインSが走査した場合)は図
23のステップ407に進む。また、インターバルIの
状態がHALFである場合(インターバルIの上端にスキャ
ンラインSが達した場合)は図27のステップ431に
進む。なお、インターバルIがOFF の場合は、スキャン
ラインSが図の上方に移動して、そのインターバルIを
通過し、そのインターバルIに付いてはジョグを挿入す
ることはできないから、ステップ402に戻って次のイ
ベントラインを選択する(ステップ406−1〜ステッ
プ406−3)。
【0116】<ステップ407>…前記条件1の判定 図23のステップ407では、ジョグ挿入候補作成手段
6のオブジェクト判別手段62及びインターバル左右判
別手段63が、前記レイアウト情報に従って、インター
バルIが構成するオブジェクトが配線(以下、L1と呼
ぶ)であり、かつインターバルIが左側のインターバル
であるか調べる。すなわち、本実施形態では、ある1つ
の配線があった場合に、その配線にジョグを挿入できる
かどうかを、配線の左側のインターバルを基準として検
討する。従って、左側のインターバルIがONと言うこと
は、その配線について最初にジョグが挿入できるか否か
の走査を行うことを意味する。
【0117】このステップ407において条件を満足す
る配線H1とスキャンラインSの状態は、図12(a)
のようである。もし条件を満たせばステップ408に、
そうでなければステップ411に進む。すなわち、イン
ターバルIが構成するオブジェクトが配線でない場合に
は、そのオブジェクトにジョグを挿入する必要がないの
で、ステップ411に進む。また、本実施形態では、ジ
ョグを挿入する配線について、最初にその左側のインタ
ーバルを基準としてジョグの挿入候補の位置を決定す
る。そのため、右側のインターバルの場合には、その配
線について既に左側のインターバルでジョグの挿入候補
が決定されているので、ステップ411へ進む。
【0118】<ステップ408>…ジョグ挿入候補の位
置(最大値と最小値)の決定 このステップにおいては、ジョグ挿入候補の座標・方向
決定手段65によって、前記ステップ407の条件を満
足する配線についてジョグの挿入候補の位置と、その方
向を決定する。この場合、前記決定手段65は、その配
線がその上下の端部において、他のオブジェクトに対し
てどのように接続されているか、他のオブジェクトとの
間でどのような間隔制約を有しているか、他のオブジェ
クトに対してどのような優先度を持っているかを、レイ
アウト情報1から取得する。なお、このステップ408
の具体的な処理(ステップ408−1からステップ40
8−5)は、図24に示すとおり、第1実施形態のステ
ップ305の処理(ステップ305−1から305−
5)と同様であるから、説明は省略する。
【0119】<ステップ409>…ジョグ挿入候補の方
向の検査 図23のステップ408においてジョグ挿入候補が作成
された場合には、そのジョグ挿入候補について偽イベン
トラインを作成するか否かを検査する。まず、このステ
ップ409において、ジョグ挿入候補の方向が北西・北
東のいずれかであるか否かを調べる。北西・北東の場合
には、そのジョグ挿入候補の座標部分に偽イベントライ
ンを作成することができるので、ステップ410に進
む。一方、南東・南西の場合には、偽イベントラインを
作成することなく、インターバルIをきっかけとして他
の配線(インターバルJ)にジョグ挿入候補を挿入する
ためにステップ411に進む。
【0120】<ステップ410>…偽イベントラインの
作成 このステップでは、前記北東または北西のジョグ挿入候
補に基づいて偽イベントラインを作成し、これを作成の
きっかけとなったジョグ挿入候補と共に偽イベントライ
ン集合13に格納する。
【0121】<ステップ411>…前記条件2の判定 このステップにおいては、ジョグ挿入候補作成手段6に
設けられたインターバル探索手段64により、インター
バルIと間隔制約のあるインターバルJを、スキャンラ
インにのっているオブジェクトの中から探す。ステップ
411において、インターバルIは、(1) ステップ40
7のNOのように配線でない場合、(2) ステップ407
のNOのように配線であって、右側の辺である場合、
(3) 配線であり、かつ左側の辺であって、既にステップ
408でその上下端部に接続された他のオブジェクトの
間の間隔制約を考慮して、ジョグ挿入候補を作成した場
合、が想定される。
【0122】このようなインターバルIについて、もし
コンパクション方向に関して間隔制約のあるインターバ
ルJ(同じスキャンラインSに乗っている)が有ればス
テップ412に進み、もし無ければステップ402に戻
り、次のイベントラインを選択する。ここで、インター
バルIとコンパクション方向に間隔制約のあるインター
バルJとは、隣り合った異なったオブジェクトの互いに
向き合った左右のインターバルを示す。なお、コンパク
ション方向と直角の方向の制約は、配線の上下端部に接
続された他の配線やコンタクトと間隔制約であり、これ
については、インターバルIが配線L1の左側の辺の時
に考慮している。
【0123】<ステップ412>…配線か否かの判定 インターバルJが構成するオブジェクトが配線(以下L
4と呼ぶ)であるか調べる。もし配線であればステップ
413に進み、もし配線でなければステップ411に戻
る。
【0124】<ステップ413>…インターバルJへの
ジョグ挿入候補の作成 このジョグ挿入候補作成の処理は、インターバルJが構
成する配線上に、インターバルIが構成するオブジェク
ト(配線、コンタクト、などなんでもよい)の上端また
は下端をきっかけとしたジョグ挿入候補を作成すること
である。この処理は、ジョグ挿入候補の座標・方向決定
手段65により行う。なお、このステップ413の具体
的な処理(ステップ413−1からステップ413−
9)は、図25に示すとおり、第1実施形態の図10に
示すステップ308の処理(ステップ308−1から3
05−9)と同様であるから、説明は省略する。
【0125】<ステップ414>作成したジョグ挿入候
補の方向のチェック このようにしてインターバルJの配線上にインターバル
Iをきっかけとしたジョグ挿入候補を作成した場合も、
前記インターバルIが配線の左側の辺であったとき(ス
テップ408,409)と同様に、偽イベントラインを
挿入するか否か検査する。すなわち、ステップ414に
おいて、ジョグ挿入候補の方向が北西・北東のいずれか
であるか否かを調べる。北西・北東の場合には、そのジ
ョグ挿入候補の座標部分に偽イベントラインを作成する
ことができるので、ステップ415に進む。一方、南東
・南西の場合には、偽イベントラインを作成することな
く、ステップ416に進み、このジョグ挿入候補と組み
合わせを満足する北西・北東のジョグ挿入候補があるか
否かを検査する。
【0126】<ステップ415>…偽イベントラインの
作成 このステップでは、前記北東または北西のジョグ挿入候
補に基づいて偽イベントラインを作成し、これを作成の
きっかけとなったジョグ挿入候補と共に偽イベントライ
ン集合13に格納する。
【0127】<ステップ416>…ジョグ挿入可能の判
定 前記のステップ413において、南東または南西の方向
を持つジョグ挿入候補を作成した場合、配線に既に格納
されているジョグ挿入候補のうち、新しく作成したジョ
グ挿入候補の位置よりも小さい座標であるジョグ挿入候
補で、新しいジョグ挿入候補の方向と次のような組合せ
になるジョグ挿入候補の方向があるか調べる。 (組合せ1)新しいジョグ挿入候補の方向が南東、かつ
リスト中のジョグ挿入候補の方向が北西 (組合せ2)新しいジョグ挿入候補の方向が南西、かつ
リスト中のジョグ挿入候補の方向が北東
【0128】前記のような組み合わせがもしあれば、ス
テップ417に進んでジョグの挿入処理を行う。図13
のような初期レイアウトの模式図に対して、上のような
組み合わせを調べた結果を図30で示している。円で囲
んだ矢印がジョグ挿入可能な組合せがあったものであ
る。図30では3箇所でジョグ挿入可能な組合せがあっ
たことが分かる。もし南東または南西の方向を持つジョ
グ挿入候補を作成していない、または上の組合せとなる
ジョグ挿入候補がリスト中に無かった場合は、ジョグを
挿入することができないので、ステップ411に戻って
新しいインターバルJ(新しい配線)を選択する。
【0129】<ステップ417>…ジョグの挿入処理 このステップ417では、前記第1実施形態のステップ
315と同様に、図18(a)に示すように、まず、組
合せが存在したジョグ挿入候補の組みのジョグ挿入候補
の位置のうち、大きい方の座標をジョグ挿入位置とす
る。次いで、図18(b)のように、ジョグ挿入位置で
配線を分割し、上の配線の下端を配線の幅半分分だけ延
長し、また下の配線の上端を配線の幅半分分だけ延長す
る。また上の配線と下の配線がそれぞれ左右に自由に移
動するので、これらの配線を繋ぐ横方向の配線を作成
し、3本の配線の接続を確立する。なお、このジョグの
挿入処理は、横方向の配線の長さを決定するものではな
い。横方向の配線の長さは、ジョグの挿入処理に引き続
いて行われる下詰め処理において決定され、その結果、
図18(c)のように配線の折り曲げができる。なお、
本ステップにおいて、ジョグの挿入位置を大きい方の座
標としたが、必ずしもこれに限定されるものではない。
挿入するジョグの位置は、組み合わせた2つのジョグの
座標の間に位置すれば良く、小さい方の座標でも、大小
の座標の中間でとしても良い。
【0130】このようにして、インターバルIがONのイ
ベントラインに対応するオブジェクトの上端または下端
をきっかけとして、このオブジェクトと間隔制約のある
配線に対してジョグ挿入候補を決定し、新たなジョグ挿
入候補が決定される度に、その配線のテーブルに格納さ
れている他のジョグ挿入候補とを比較して、前記の組み
合わせの有無を調べる。そして、前記の組み合わせが発
見されるごとにジョグを挿入していく。
【0131】<ステップ418>…追加イベントライン
の作成 ジョグを挿入した結果、その配線はジョグ挿入位置から
上下に分割されることになるので、その分割部分の上端
が他の配線にジョグを挿入する場合にきっかけとなる可
能性がある。そこで、分割した配線のうち、下の方の配
線に対するイベントラインを作成する。このイベントラ
インは、下の配線の上端の位置(下の配線のHALFの始点
の位置)及び上端からこの配線とレイアウト上のすべて
オブジェクトとの間隔制約のうち最大の制約分だけ上の
位置(OFF の始点の位置)、またどちらか一方を作成す
る。この作成されたイベントラインは追加イベントライ
ン集合に格納し、追加イベントライン集合を座標につい
て昇順に整列する。
【0132】<ステップ419>…隣接する配線の有無 ジョグ挿入が可能となったジョグ挿入候補の組合せのう
ち、南東または南西の方向を持つジョグ挿入候補を、そ
のジョグ挿入候補が格納されていた配線と制約のある隣
の配線に伝播する。ここで隣とは、ジョグ挿入候補の方
向が南東なら右隣、南西なら左隣とする。ステップ41
9 では、このような配線が存在するか調べる。隣に制約
のある配線があればステップ420に進み、隣接する配
線にジョグ挿入候補を挿入する。一方、そのような配線
がない場合には、次のインターバルJを探すためにステ
ップ411に戻る。
【0133】<ステップ420>…隣接する配線へジョ
グ挿入候補の伝播 図29は、隣接する配線M2,M3間のジョグ挿入候補
の伝播を説明する。すなわち、配線M3に挿入したジョ
グ挿入候補JP3がジョグを挿入可能なものであった場
合(図29では、配線M3にジョグ挿入候補JP3と組
合せになるジョグ挿入候補JM3が存在する)は、前記
ステップ419において、隣接する配線が存在するか否
かを調べる。図29の例では、隣接する配線M2が存在
するので、この配線M2に配線M3のジョグ挿入候補J
P3を伝播させて、新たなジョグ挿入候補JP2を作成
する。隣接する配線M2に作成するジョグ挿入候補の位
置と方向は、図29のように、配線M3上の伝播するジ
ョグ挿入候補JP3の位置から、配線M3と配線M2と
の間隔制約、配線M3の幅の半分と配線M2の幅の半分
を加えた分だけ下の位置をジョグ挿入候補の位置とし、
また配線M3上の伝播するジョグ挿入候補JP3の方向
をそのまま隣接する配線のジョグ挿入候補JP2の方向
とする。なお、図29において、配線M2,M3に設け
られた北西のジョグ挿入候補JM2,JM3は、偽イベ
ントラインによって配線M2からM3に伝播されたもの
である。
【0134】<ステップ421>…ジョグ挿入の判定 ステップ420により、配線M3のジョグ挿入候補JP
3が伝播された結果、隣接する配線M2にジョグ挿入候
補JP2が作成された場合、このステップ421では、
新たに作成されたジョグ挿入候補JP2がジョグを挿入
することのできる組合せを持つか否かを判定する。すな
わち、本実施形態では、新たなジョグ挿入候補を作成す
る都度、そのジョグ挿入候補がジョグ挿入に寄与するか
否かを判定するものであり、伝播の結果隣接する配線に
作成されたジョグ挿入候補においても同様な処理がなさ
れる。そして、ジョグが挿入できない場合には、それ以
上他の配線にジョグ挿入候補を伝播させることはできな
いのでステップ411に戻り、次のインターバルJを選
択する。なお、図29の例では、配線M2には、図28
の配線M1のジョグ挿入候補JM1から伝播されたジョ
グ挿入候補JM2が作成されており、このジョグ挿入候
補JM2と新たに作成されたジョグ挿入候補JP2との
組合せにより、ジョグを挿入することができる。
【0135】<ステップ422>…ジョグ挿入処理 <ステップ423>…追加イベントラインの作成 隣接する配線でもジョグの挿入が可能な場合には、既に
他のステップで述べたと同様にしてジョグの挿入、追加
イベントラインの作成を行なう。そして、ステップ41
9に戻り、隣接する配線の隣にさらに別の配線がある場
合には前記ステップ419から423を繰り返す。この
ようにして、隣接する配線がなくなった場合には、ステ
ップ419のNOに従ってステップ411に戻り、次のイ
ンターバルJを選択する。
【0136】<ステップ431〜ステップ434>…前
記条件3の判定 前記図22のステップ406−2において、選択したイ
ベントラインに対応するインターバルIの状態がHALFで
あった場合は図27のステップ431へ進み、インター
バルIが構成するオブジェクトが配線であるか調べる。
もし配線であればステップ432へ進む。また配線でな
い場合は、ステップ402に戻り、次のイベントライン
を選択する。以下、この条件3の判定の処理は、図27
のステップ431から434に示すように、第1実施形
態のステップ313〜315と同様である。
【0137】(5−3)第2実施形態の効果 以上の通り、第2実施形態によって、図13のような初
期レイアウトの模式図を入力として、隣接する配線にジ
ョグ挿入候補を伝播させることで、複数の配線上にジョ
グを挿入した結果は、図31のようになる。このことか
ら分かるように、本実施形態によれば、複数の並列した
配線上に次々とジョグ挿入候補を作成していくことが可
能になり、複数の配線に同時にジョグを挿入することが
可能となる。特に、北東及び北西方向のジョグ挿入候補
の伝播は偽イベントラインを使用し、一方南東及び南西
方向のジョグ挿入候補の伝播はその都度ジョグ挿入の可
否を検討しながら行うので、ジョグの挿入不可能なジョ
グ挿入候補を次々と伝播させるような不都合はない。
【0138】
【発明の効果】本発明では、下詰め処理(グラフ理論を
用いた場合の制約グラフ作成を含む)を行なう前にジョ
グ挿入処理を行なうことで、グラフ理論を用いた場合に
詳細な制約グラフの作成や探索によってかかる処理時間
を短縮し、また、平行平面走査法、幾何学的手法などを
用いた従来の下詰め処理前にジョグ挿入処理を行なう方
法に比べて、配線の両側にどのようにオブジェクトが配
置されているか考慮することにより、不要なジョグをで
きるだけ挿入しないことが可能になる。また、下詰め処
理を行なう前にジョグ挿入処理を行なうため、面積縮小
のためのジョグだけでなく、配線短縮に効果のあるジョ
グを挿入することも可能である。
【0139】例えば、従来技術では、配線の片側のオブ
ジェクトの配置からジョグ挿入位置を決定していたた
め、図34(b)のようにコンタクトC1の下端をきっ
かけとしたジョグが配線L1に挿入されてしまうが、こ
のジョグの挿入によって面積を縮小できないので、不要
なジョグである。これに対して、本発明では、図34
(a)のようにコンタクトC1の下端をきっかけとした
ジョグ挿入候補J1が配線L1に作成されるが、このジ
ョグ挿入候補と組合せになったジョグ挿入可能なジョグ
挿入候補が存在しないので、ジョグが挿入されない。こ
の効果は並んだ配線を処理する場合にも有効で、従来技
術では、図35(b)のように並んだ配線に不要なジョ
グが伝播してしまうが、本発明では、図17(a)のよ
うに同時に折り曲げることができない場合は、配線L1
でジョグを挿入することができないため、南東の方向を
持つジョグ挿入候補が配線L2側に伝播されないので、
不要なジョグを挿入することがない。
【図面の簡単な説明】
【図1】本発明に係わる一実施例の電子部品のレイアウ
ト設計支援方法の基本的な作用を示すフローチャート。
【図2】図1のフローチャートに従って、実行したコン
パクションの例を示す模式図。
【図3】配線にジョグの挿入可能な例を示す模式図。
【図4】配線にジョグを挿入することが不可能な例を示
す模式図。
【図5】本発明の電子部品のレイアウト設計支援装置の
第1実施形態の構成を示すブロック図。
【図6】図5のジョグ挿入候補作成手段の詳細を示すブ
ロック図。
【図7】本発明の第1実施形態のステップ301から3
03を示すフローチャート。
【図8】本発明の第1実施形態のステップ304から3
11を示すフローチャート。
【図9】本発明の第1実施形態のステップ305の詳細
を示すフローチャート。
【図10】本発明の第1実施形態のステップ308の詳
細を示すフローチャート。
【図11】本発明の第1実施形態のステップ312から
315を示すフローチャート。
【図12】ジョグ挿入処理を行う際のスキャンラインと
オブジェクトとの位置関係を示した図
【図13】本発明の第1実施形態及び第2実施形態を説
明するのに利用する電子回路の初期レイアウトを模式化
した図
【図14】第1実施形態のステップ305におけるジョ
グの挿入処理を示す配線図
【図15】第1実施形態のステップ308におけるジョ
グの挿入処理を示す配線図
【図16】第1実施形態によって図13の初期レイアウ
トの配線上に作成したジョグ挿入候補の例を示す配線図
【図17】第1実施形態によって図13の初期レイアウ
トにコンパクションを実行した例を示す配線図
【図18】本発明におけるジョグの挿入処理を説明する
模式図。
【図19】第1実施形態によるジョグの挿入と、配線上
に格納するジョグ挿入候補のリストを示す図。
【図20】本発明の電子部品のレイアウト設計支援装置
の第2実施形態の構成を示すブロック図。
【図21】図20のジョグ挿入候補作成手段の詳細を示
すブロック図。
【図22】本発明の第2実施形態のステップ401から
406を示すフローチャート。
【図23】本発明の第2実施形態のステップ407から
418を示すフローチャート。
【図24】本発明の第2実施形態のステップ408の詳
細を示すフローチャート。
【図25】本発明の第2実施形態のステップ413の詳
細を示すフローチャート。
【図26】本発明の第2実施形態のステップ419から
423を示すフローチャート。
【図27】本発明の第2実施形態のステップ431から
434を示すフローチャート。
【図28】第2実施形態における偽イベントラインの作
成を示す配線図。
【図29】第2実施形態における隣接する配線へのジョ
グ挿入候補の伝播を示す配線図。
【図30】図13の電子回路のレイアウトに設けられた
各配線にジョグ挿入候補を挿入した例を示す配線図。
【図31】図13のレイアウトに、図30のジョグ挿入
候補に従ってジョグを挿入した例を示す配線図。
【図32】従来のコンパクションで使用された平行平面
走査法と、本発明の垂直平面走査法の違いを示す模式
図。
【図33】本発明によるオブジェクトとイベントライン
の関係を示す模式図。
【図34】配線短縮に寄与しないオブジェクトが存在す
る場合の、本発明の効果を従来技術と比較して示す模式
図。
【図35】複数の配線を同時に折り曲げる場合の、本発
明の効果を時期と比較して示す模式図。
【符号の説明】
1…レイアウト情報 2…初期イベントライン生成手段 3…初期レイアウトイベントライン集合 4…イベントライン選択手段 5…ジョグ挿入制御手段 6…ジョグ挿入候補作成手段 7…ジョグ挿入候補テーブル 8…ジョグ挿入位置決定手段 9…ジョグ挿入手段 10…追加イベントライン生成手段 11…追加イベントライン集合 12…偽イベントライン生成手段 13…偽イベントライン集合 61…インターバル状態判別手段 62…オブジェクト判別手段 63…インターバル左右判別手段 64…インターバル探索手段 65…ジョグ挿入候補座標・方向決定手段 66…ジョグ挿入候補挿入判定手段 67…ジョグ挿入候補格納テーブル操作手段 68…制約のある配線の検出手段 69…隣接する配線へのジョグ挿入候補伝播部

Claims (15)

    【特許請求の範囲】
  1. 【請求項1】 コンパクション方向と直交する方向に配
    置された配線と、その両側に配置された他のオブジェク
    トとを、その配線と直交するスキャンラインによって走
    査する処理と、 前記走査処理に伴って検出された配線と前記他のオブジ
    ェクトの配置状況から、その配線上にジョグ挿入候補を
    作成する処理と、 配線上にジョグ挿入候補が作成された場合に、作成され
    たジョグ挿入候補を配線毎に格納する処理と、 配線毎に格納したジョグ挿入候補の中に特定の組合せが
    存在する場合に、その配線にジョグを挿入する処理と、
    を有することを特徴とする電子部品のレイアウト設計支
    援方法。
  2. 【請求項2】 前記ジョグ挿入候補は、配線の両側のオ
    ブジェクトの配置状況から、X方向にコンパクションす
    る場合はジョグ挿入候補のY方向の座標、Y方向にコン
    パクションする場合はジョグ挿入候補のX方向の座標で
    示される位置と、ジョグ挿入のきっかけとなったオブジ
    ェクトの位置と配線上のジョグ挿入候補の位置との位置
    関係を表す方向を持つことを特徴とする請求項1記載の
    電子部品のレイアウト設計支援方法。
  3. 【請求項3】 前記ジョグ挿入候補は、ジョグ挿入可能
    な位置と、配線とジョグ挿入のきっかけとなったオブジ
    ェクトの左右の位置関係と、オブジェクトの上端をきっ
    かけとしたかまたは下端をきっかけにしたかの上下関係
    を合成した方向によって構成されることを特徴とする請
    求項2に記載の電子部品のレイアウト設計支援方法。
  4. 【請求項4】 前記ジョグ挿入候補を作成する処理は、 コンパクション方向に対して垂直方向に走る配線Lの隣
    に配線Lと間隔制約のあるオブジェクトOがある場合、
    オブジェクトOの上端座標から、配線Lとオブジェクト
    Oの間隔制約と配線Lの幅を考慮した分だけ上の位置を
    ジョグ挿入候補の位置とし、オブジェクトOが配線Lの
    右側にある場合にはジョグ挿入候補の方向を北西、また
    はオブジェクトOが配線Lの左側にある場合にはジョグ
    挿入候補の方向を北東とする処理と、 オブジェクトOの下端座標から、配線Lとオブジェクト
    Oの間隔制約と配線Lの幅を考慮した分だけ下の位置を
    ジョグ挿入候補の位置とし、オブジェクトOが配線Lの
    右側にある場合にはジョグ挿入候補の方向を南西、また
    はオブジェクトOが配線Lの左側にある場合にはジョグ
    挿入候補の方向を南東とする処理を含むこと、を特徴と
    する請求項3記載の電子部品のレイアウト設計支援方
    法。
  5. 【請求項5】 前記ジョグ挿入候補を作成する処理は、 コンパクション方向に対して垂直方向に走る配線L1に
    おいて、配線L1の上端でコンパクション方向に走る配
    線L2と接続し、かつ配線L1より配線L2ができるだ
    け短くしたい配線の場合は、 配線L1が配線L2と接続しているオブジェクトO2の
    下端座標から、配線L1と配線L2の間隔制約、配線L
    1とオブジェクトO2の間隔制約と配線L1の幅を考慮
    した分を加えた分だけ下の位置をジョグ挿入候補の位置
    とし、 配線L2が配線L1と接続している位置から右に走って
    いる場合はジョグ挿入候補の方向を南東とし、また配線
    L2が配線L1と接続している位置から左に走っている
    場合はジョグ挿入候補の方向を南西とする処理と、 配線L1の下端でコンパクション方向に走る配線L3と
    接続し、かつ配線L1より配線L3ができるだけ短くし
    たい配線の場合は、 配線L1が配線L3と接続しているオブジェクトO3の
    上端座標から、配線L1と配線L3の間隔制約、配線L
    1とオブジェクトO3の間隔制約と配線L1の幅を考慮
    した分を加えた分だけ上の位置をジョグ挿入候補の位置
    とし、 配線L3が配線L1と接続している位置から右に走って
    いる場合はジョグ挿入候補の方向を北東とし、また配線
    L3が配線L1と接続している位置から左に走っている
    場合はジョグ挿入候補の方向を北西とする処理とを含む
    こと、を特徴とする請求項3記載の電子部品のレイアウ
    ト設計支援方法。
  6. 【請求項6】 配線L1と配線L2がコンパクション方
    向に対して垂直方向に並んで走っていて、配線L上に北
    東または北西のジョグ挿入候補を挿入した場合に、 挿入したジョグ挿入候補の位置をきっかけとして隣接す
    る配線L2にジョグ挿入候補を作成することを特徴とす
    る請求項3に記載の電子部品のレイアウト設計支援方
    法。
  7. 【請求項7】 前記ジョグ挿入候補を作成する処理は、 配線L1と配線L2がコンパクション方向に対して垂直
    方向に並んで走っていて、配線L1が配線L2の右側に
    ある場合には、 配線L2上のジョグ挿入候補として格納されたジョグ挿
    入候補のうち、北東の方向を持つジョグ挿入候補があれ
    ば、北東の方向を持つジョグ挿入候補の位置から、配線
    L1と配線L2の間隔制約、配線L1の幅と配線L2の
    幅を考慮した分を加えた分だけ上の位置を配線L1上の
    ジョグ挿入候補の位置とし、配線L1上のジョグ挿入候
    補の方向は北東とする処理と、 配線L1と配線L2がコンパクション方向に対して垂直
    方向に並んで走っていて、配線L1が配線L2の左側に
    ある場合には、 配線L2上のジョグ挿入候補として格納されたジョグ挿
    入候補のうち、北西を持つジョグ挿入候補があれば、北
    西方向を持つジョグ挿入候補の位置から、配線L1と配
    線L2の間隔制約、配線L1の幅と配線L2の幅を考慮
    した分を加えた分だけ上の位置を配線L1上のジョグ挿
    入候補の位置とし、配線L1上のジョグ挿入候補の方向
    を北西とする処理と、を含むことを特徴とする請求項6
    に記載の電子部品のレイアウト設計支援方法。
  8. 【請求項8】 配線L1と配線L2がコンパクション方
    向に対して垂直方向に並んで走っていて、配線L上に南
    東または南西のジョグ挿入候補を挿入した場合に、 挿入したジョグ挿入候補と他のジョグ挿入候補との間の
    組合せにより、その配線上にジョグを挿入できる場合
    に、配線L1に挿入したジョグ挿入候補をきっかけとし
    て隣接する配線L2にジョグ挿入候補を作成することを
    特徴とする請求項3に記載の電子部品のレイアウト設計
    支援方法。
  9. 【請求項9】 前記ジョグ挿入候補を作成する処理は、 配線L1と配線L2がコンパクション方向に対して垂直
    方向に並んで走っていて、配線L1が配線L2の右側に
    ある場合には、 南東の方向を持つジョグ挿入候補があれば、南東の方向
    を持つジョグ挿入候補の位置から、配線L1と配線L2
    の間隔制約、配線L1の幅と配線L2の幅を考慮した分
    を加えた分だけ下の位置を配線L1上のジョグ挿入候補
    の位置とし、配線L1上のジョグ挿入候補の方向は南東
    とする処理と、 配線L1と配線L2がコンパクション方向に対して垂直
    方向に並んで走っていて、配線L1が配線L2の左側に
    ある場合には、 南西の方向を持つジョグ挿入候補があれば、南西を方向
    を持つジョグ挿入候補の位置から、配線L1と配線L2
    の間隔制約、配線L1の幅と配線L2の幅を考慮した分
    を加えた分だけ下の位置を配線L1上のジョグ挿入候補
    の位置とし、配線L1上のジョグ挿入候補の方向は南西
    とする処理を含むこと、を特徴とする請求項8に記載の
    電子部品のレイアウト設計支援方法。
  10. 【請求項10】 配線毎に格納したジョグ挿入候補の中
    に特定の組合せが存在する場合に、その配線にジョグを
    挿入する処理は、 (1) 2つのジョグ挿入候補のうち位置座標の大きいジョ
    グ挿入候補の方向が南東で、かつ位置座標の小さいジョ
    グ挿入候補の方向が北西である、 (2) 2つのジョグ挿入候補のうち位置座標の大きいジョ
    グ挿入候補の方向が南西で、かつ位置座標の小さいジョ
    グ挿入候補の方向が北東である。という組合せが存在す
    れば、これらの組合せを満足する2つのジョグ挿入候補
    の間にジョグを挿入することを特徴とする請求項1記載
    の電子部品のレイアウト設計支援方法。
  11. 【請求項11】 電子部品のレイアウトを表すために必
    要な情報を含むレイアウト情報の格納手段と、 前記レイアウト情報に基づいて、オブジェクトの各イン
    ターバルに対して初期イベントラインを作成するイベン
    トライン生成手段と、 作成された初期イベントラインを格納する初期イベント
    ライン集合の格納手段と、 前記初期イベントライン集合や追加イベントライン集合
    の中から次の処理対象となるイベントラインを選択する
    イベントライン選択手段と、 選択されたイベントラインに対応するインターバルIの
    状態及びインターバルIと制約のある他のインターバル
    Jを探索する処理を制御するジョグ挿入制御手段と、 ジョグ挿入候補のきっかけとなったオブジェクトの位置
    関係に基づいて、方向と位置とを有するジョグ挿入候補
    を作成するジョグ挿入候補作成手段と、 作成されたジョグ挿入候補を配線毎に格納するジョグ挿
    入候補テーブルと、 作成されたジョグ挿入候補と前記ジョグ挿入候補テーブ
    ルに格納されている同じ配線のジョグ挿入候補とを調
    べ、特定の組合せがあった場合にジョグ挿入位置を決定
    するジョグ挿入位置決定手段と、 ジョグ挿入位置が決定された場合、ジョグ挿入位置で配
    線の分割、その位置に横方向の配線の作成、配線どうし
    の接続関係を確立するジョグ挿入手段と、 分割した配線のうち下の方の配線にイベントラインを作
    成するイベントライン追加手段と、 前記イベントライン追加手段により作成されたイベント
    ラインを格納する追加イベントライン集合の格納手段
    と、を備えていることを特徴とする電子部品のレイアウ
    ト設計支援装置。
  12. 【請求項12】 前記ジョグ挿入候補作成手段は、 インターバルがON、HALF、OFF のいずれかを判別するイ
    ンターバル状態判別手段と、 オブジェクトが配線かそれ以外かを判別するオブジェク
    ト判別手段と、 インターバルがオブジェクトの左右どちらの辺かを判別
    するインターバル左右判別手段と、 インターバルIと制約のある他のインターバルJを探索
    するインターバル探索手段と、 挿入しようとするジョグの座標と方向を決定するジョグ
    挿入候補の座標・方向決定手段と、 配線上にジョグ挿入候補を挿入することができるか否か
    を判定する挿入判定手段と、 挿入可能なジョグ挿入候補をジョグ挿入候補テーブルに
    格納し、格納されているジョグ挿入候補を新たに挿入し
    ようとするジョグ挿入候補と比較するために取り出すた
    めのテーブル操作手段と、を備えていることを特徴とす
    る請求項11に記載の電子部品のレイアウト設計支援装
    置。
  13. 【請求項13】 前記ジョグ挿入候補作成手段には、 配線L1と配線L2がコンパクション方向に対して垂直
    方向に並んで走っていて、配線L上に北東または北西の
    ジョグ挿入候補を挿入した場合に、 挿入したジョグ挿入候補の位置をきっかけとして隣接す
    る配線L2にジョグ挿入候補を作成するための偽イベン
    トラインを作成する手段と、 作成した偽イベントラインを格納する手段と、が設けら
    れていることを特徴とする請求項11または請求項12
    に記載の電子部品のレイアウト設計支援装置。
  14. 【請求項14】 前記ジョグ挿入候補作成手段は、 配線L1と配線L2がコンパクション方向に対して垂直
    方向に並んで走っていて、配線L上に南東または南西の
    ジョグ挿入候補を挿入した場合に、 挿入したジョグ挿入候補と他のジョグ挿入候補との間の
    組合せにより、その配線上にジョグを挿入できる場合
    に、配線L1に挿入したジョグ挿入候補をきっかけとし
    て隣接する配線L2にジョグ挿入候補を作成することを
    特徴とする請求項11、請求項12または請求項13に
    記載の電子部品のレイアウト設計支援装置。
  15. 【請求項15】 電子部品のレイアウトを表すために必
    要な情報を含むレイアウト情報に基づいて、オブジェク
    トの各インターバルに対して初期イベントラインを作成
    するステップと、 作成された初期イベントラインを格納するステップと、 前記初期イベントライン集合や追加イベントライン集合
    の中から次の処理対象となるイベントラインを選択する
    ステップと、 選択されたイベントラインに対応するインターバルIの
    状態及びインターバルIと制約のある他のインターバル
    Jを探索するステップと、 ジョグ挿入候補のきっかけとなったオブジェクトの位置
    関係に基づいて、方向と位置とを有するジョグ挿入候補
    を作成するステップと、 作成されたジョグ挿入候補を配線毎に格納するステップ
    と、 作成されたジョグ挿入候補と前記ジョグ挿入候補テーブ
    ルに格納されている同じ配線のジョグ挿入候補とを調
    べ、特定の組合せがあった場合にジョグ挿入位置を決定
    するステップと、 ジョグ挿入位置が決定された場合、ジョグ挿入位置で配
    線の分割、その位置に横方向の配線の作成、配線どうし
    の接続関係を確立するステップと、 分割した配線のうち下の方の配線にイベントラインを追
    加するステップと、 前記イベントライン追加手段により作成された追加イベ
    ントラインを格納するステップと、を備えていることを
    特徴とする電子部品のレイアウト設計支援プログラムを
    記録した媒体。
JP10063371A 1998-03-13 1998-03-13 電子部品のレイアウト設計支援方法及び装置、レイアウト設計支援プログラムを記録した媒体 Pending JPH11259556A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10063371A JPH11259556A (ja) 1998-03-13 1998-03-13 電子部品のレイアウト設計支援方法及び装置、レイアウト設計支援プログラムを記録した媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10063371A JPH11259556A (ja) 1998-03-13 1998-03-13 電子部品のレイアウト設計支援方法及び装置、レイアウト設計支援プログラムを記録した媒体

Publications (1)

Publication Number Publication Date
JPH11259556A true JPH11259556A (ja) 1999-09-24

Family

ID=13227373

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10063371A Pending JPH11259556A (ja) 1998-03-13 1998-03-13 電子部品のレイアウト設計支援方法及び装置、レイアウト設計支援プログラムを記録した媒体

Country Status (1)

Country Link
JP (1) JPH11259556A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010522975A (ja) * 2007-03-26 2010-07-08 サガンテック イスラエル リミテッド 半導体レイアウトの走査方法およびシステム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010522975A (ja) * 2007-03-26 2010-07-08 サガンテック イスラエル リミテッド 半導体レイアウトの走査方法およびシステム

Similar Documents

Publication Publication Date Title
US6516456B1 (en) Method and apparatus for selectively viewing nets within a database editor tool
US6966045B2 (en) Method and computer program product for estimating wire loads
US7721243B2 (en) Method and apparatus for routing
Williams STICKS-A graphical compiler for high level LSl design
Dai Hierarchical placement and floorplanning in BEAR
US6532572B1 (en) Method for estimating porosity of hardmacs
WO1991006061A1 (en) Improved routing system and method for integrated circuits
JP2006323643A (ja) 半導体集積回路のフロアプラン設計プログラム、フロアプラン設計装置、および設計方法
Xiang et al. Bus-driven floorplanning
JPH0786883B2 (ja) 網図または諭理回路図自動生成方法およびそのシステム
Dobre et al. Design implementation with noninteger multiple-height cells for improved design quality in advanced nodes
US8108814B2 (en) Dummy metal insertion processing method and apparatus
Nakatake et al. Module placement on BSG-structure with pre-placed modules and rectilinear modules
US7076410B1 (en) Method and apparatus for efficiently viewing a number of selected components using a database editor tool
Serdar et al. Automatic datapath tile placement and routing
US20170206298A1 (en) Method for analog circuit placement
JPH11259556A (ja) 電子部品のレイアウト設計支援方法及び装置、レイアウト設計支援プログラムを記録した媒体
US6665851B1 (en) Quick placement of electronic circuits using orthogonal one dimensional placements
Ranjan et al. Fast floorplanning for effective prediction and construction
US7797649B1 (en) Method and system for implementing an analytical wirelength formulation
JP3898787B2 (ja) 実装設計装置
Chu ABOUT THIS CHAPTER
US20080155486A1 (en) Systems and methods for reducing wiring vias during synthesis of electronic designs
US6775710B1 (en) Path determination method and computer-readable storage medium determining a path within a path determination region with an improved utilization efficiency
Pawanekar et al. A nonlinear analytical optimization method for standard cell placement of vlsi circuits