JP3077757B2 - レイアウトコンパクション方法及びレイアウトコンパクション装置 - Google Patents

レイアウトコンパクション方法及びレイアウトコンパクション装置

Info

Publication number
JP3077757B2
JP3077757B2 JP11025310A JP2531099A JP3077757B2 JP 3077757 B2 JP3077757 B2 JP 3077757B2 JP 11025310 A JP11025310 A JP 11025310A JP 2531099 A JP2531099 A JP 2531099A JP 3077757 B2 JP3077757 B2 JP 3077757B2
Authority
JP
Japan
Prior art keywords
component
terminal
constraint graph
compaction
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 - Lifetime
Application number
JP11025310A
Other languages
English (en)
Other versions
JP2000222453A (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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP11025310A priority Critical patent/JP3077757B2/ja
Priority to US09/495,804 priority patent/US6412097B1/en
Publication of JP2000222453A publication Critical patent/JP2000222453A/ja
Application granted granted Critical
Publication of JP3077757B2 publication Critical patent/JP3077757B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/398Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM]

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、大規模半導体集積
回路のレイアウトや印刷配線基板のレイアウトの設計に
利用される自動レイアウトシステムに関し、特に、レイ
アウトをコンパクションし、面積の小さい半導体集積回
路等を実現できる自動レイアウトシステムに関する。
【0002】
【従来の技術】従来、この種の自動レイアウトシステム
として、複数の部品を連動しながら移動させる各種のコ
ンパクション技術を採用したシステムが提案されてい
る。
【0003】従来のコンパクション技術としては、例え
ば、部品を2方向に同時に移動させてコンパクションを
行なう2次元コンパクションが提案されていた(以下、
従来例1)。この詳細は、文献『Hyunchul S
hin,Alberto L. Sangiovann
i−Vincentelli, Carlo H.Se
quin,「Two−Dimensional Com
paction by ‘Zone Refinin
g'」、Proc. of 23rd Design
Automation Conference,198
6,pp115−122』に開示されている。
【0004】この従来例1のコンパクションシステムに
おいては、上から下に半導体セルを順次に移動させる。
その際にセルを直下に移動すると同時に左右にも移動さ
せ、セルを適正な位置に配置する。
【0005】また、特開平5−274392号公報(以
下、従来例2)には、「レイアウト・コンパクション方
法」が開示されている。この従来例2のレイアウトコン
パクション方法においては、基板を配線位置で分割し
て、配線を境界とした部分領域を得、左の基板端から部
分領域の形を左右に圧縮しつつ、同時に上の基板端から
も部分領域の形を上下に圧縮していくことにより、領域
の上下左右の関係を維持しつつ、基板の全領域に対して
一様なコンパクションを行なうこととしている。しか
し、これらの従来例1及び2は、斜め配線を扱えないと
いう欠点を有していた。
【0006】この欠点を解決する方法として、特開平1
0−3491号公報(従来例3)には、「コンパクショ
ン方法コンパクション装置、配線方法配線装置、概略配
線方法及び概略配線装置」が開示されている。この従来
例3のコンパクション方法では、元からある全ての配線
を一旦消去し、その後、配線を新規に行ないつつ、コン
パクションを同時に実行することにより、斜め配線も行
なえることとしている。
【0007】
【発明が解決しようとする課題】しかし、この従来例3
によっては、配線をコンパクション方向に寄せるため、
配線の位置が偏り、配線間のクロストークを軽減するた
めに必要な配線間の間隙として十分な広さを確保するこ
とができないという欠点があった。
【0008】そこで、本発明は、部品端子間における配
線と当該部品端子との関係を維持したまま、部品を移動
させることを可能とするコンパクション方法であって、
配線の延設される方向として縦及び横のみならず斜め方
向をも許容するとともに設計ルール上必要とされる配線
間の適切な間隙等をも保証した上で、コンパクションを
行うことのできるコンパクション方法を提供することを
目的とする。
【0009】また、本発明は、上述したコンパクション
方法を適用してなるコンパクション装置を提供すること
を目的とする。
【0010】
【課題を解決するための手段】本発明は、上述した課題
を解決するための手段として、以下に示すレイアウトコ
ンパクション方法及びレイアウトコンパクション装置を
提供する。
【0011】まず、レイアウトコンパクション方法につ
いて説明する。
【0012】本発明が提供する第1のレイアウトコンパ
クション方法は、基板領域内におけるレイアウトであっ
て、一の層面上にコンパクション対象となる複数の部品
と配線とが配置されたパターンを一又は複数層備えるレ
イアウトを対象とするものである。第1のレイアウトコ
ンパクション方法は、当該レイアウトが前記パターンを
一層のみ有する場合には勿論のこと当該一層について下
記の方法を適用するのであるが、複数層有する場合に
は、各層毎において、下記の方法を実行しコンパクショ
ンする。尚、ここで、部品とは、いわゆる部品自体の他
に、次のものも含まれる。即ち、部品とビアホールとを
組合せてなる一体物に関しては、それら全体として一の
部品として取り扱う。また、単体のビアホールもまた部
品として取り扱われる。また、部品端子は、部品の有す
るものであり、換言すれば部品の一部である。部品端子
としては、いわゆる一般的な部品の有する端子の他に、
ビアホールの層面毎の部分、半導体セル、部品外形をも
含む。更に、多角形導体形状自体は、前記部品として取
り扱われ、また、前記多角形導体形状を各辺毎に分割
し、それにより得られた分割された辺の夫々は、前記部
品端子として取り扱われる。
【0013】本発明による第1のレイアウトコンパクシ
ョン方法の特徴は、1)個々の前記配線の幅を固定とす
る、2)所定数の前記配線を一まとまりの配線束として
存在する場合には、当該配線束の全幅に対して設計ルー
ルにより必要とされる間隙を更に加えてなる配線帯の幅
を固定する、及び3)前記配線の幅方向の端若しくは前
記配線帯の幅方向の端から前記部品までの距離を可変と
することであり、これら1)〜3)の条件下において、
部品のコンパクションを行うことである。
【0014】第1のレイアウトコンパクション方法は、
より具体的には、次のような端子制約グラフについての
データである端子制約グラフを作成し、これを利用した
部品レイアウトのコンパクションを行う。まず、複数の
部品の夫々を当該部品の有する複数の部品端子毎に分け
る。端子制約グラフは、前記複数の部品端子から選択さ
れた特定の二つの部品端子であって所定方向において隣
接する特定の部品端子について、当該二つの部品端子を
グラフの両端の節として作成されるものである。また、
端子制約グラフは、前記配線の配線位置を設計ルールの
範囲内で自由に動かし得るものと仮定した状態で、前記
特定の二つの部品端子の一方の部品端子を基準として他
方の部品端子を所定方向へ移動させる場合において、前
記特定の二つの部品端子が前記設計ルールの下で最接近
し得るような当該他方の部品端子の最大移動可能距離を
グラフの長さとしてなるものである。
【0015】第1のレイアウトコンパクション方法にお
いては、かかる端子制約グラフデータを作成した後、当
該端子制約グラフデータを利用して、前記最大移動可能
距離内において前記他方の部品の属する部品を前記所定
方向へ移動させることで、部品レイアウトのコンパクシ
ョンを行う。かかる端子制約グラフデータの利用が適切
に行われた上で、コンパクションが行われれば、設計ル
ールに違反することもない。この端子制約グラフは、後
述するが、他の方法によっても利用可能である。
【0016】尚、かかる第1のレイアウトコンパクショ
ン方法においては、各層面毎に、前記複数の部品端子に
より考えられる前記特定の二つの部品端子の組み合わせ
の全てについて前記端子制約グラフデータの作成を行う
ものとする。
【0017】また、本発明によれば、次に示されるよう
に、上述した第1のレイアウトコンパクション方法にお
いて、前記端子制約グラフデータを各層面毎に作成した
後、部品制約グラフデータを作成し、部品のレイアウト
のコンパクションを行う第2のレイアウトコンパクショ
ン方法が得られる。
【0018】第2のレイアウトコンパクション方法にお
いて、部品制約グラフデータは、部品制約グラフについ
てのデータであり、大別して、次の2つに分けられる。
一の部品制約グラフデータは、前記特定の二つの部品端
子を両節とする前記端子制約グラフデータが一の層面上
においてのみ作成され且つ当該特定の二つの部品端子が
それらの属する特定の二つの部品の夫々の有する唯一の
部品端子である場合におけるものであり、具体的には、
当該特定の二つの部品を両節とすると共に当該端子制約
グラフデータの有するグラフの長さと同じグラフの長さ
を有する部品制約グラフに関するデータである。他の部
品制約グラフデータは、前記特定の二つの部品端子の属
する前記特定の二つの部品が双方とも前記複数層に亘っ
て存在している場合におけるものであり、具体的には、
両節となる当該特定の二つの部品端子の属する特定の二
つの部品が同じである全ての端子制約グラフデータの有
するグラフの長さのうち、最も短い長さと同じグラフの
長さを有し、且つ、当該特定の二つの部品を両節とする
部品制約グラフに関するデータである。
【0019】当該第2のレイアウトコンパクション方法
においては、かかる部品制約グラフデータを作成した
後、該部品制約グラフデータに基づいて、各層毎におけ
る前記他の部品端子に関する前記最大移動可能距離を最
も移動が制限される層における最大移動可能距離に実質
的に調整した上で、各層毎に、当該調整された最大移動
可能距離内において前記他方の部品端子の属する部品を
前記所定方向へ移動させるることで、部品レイアウトの
コンパクションを行う。このように部品制約グラフデー
タに基づいたコンパクションを行うことにより、各層毎
のレイアウトのコンパクション結果が互いに矛盾するよ
うなことがなくなる。
【0020】本発明による第3のレイアウトコンパクシ
ョン方法は、上記した第2のレイアウトコンパクション
方法において、前記移動前における前記特定の二つの部
品端子間に前記配線若しくは前記配線帯が存在していた
場合であって、当該配線若しくは前記配線帯を間に挟ん
でなる前記特定の二つの部品端子間の間隔が前記設計ル
ールにより定められる必要な間隔よりも狭い場合に対応
したものであり、次のようにして端子制約グラフデータ
及び部品制約グラフデータを作成することにより、適切
な部品レイアウトのコンパクションを行うことを可能と
するものである。
【0021】すなわち、かかる場合において、第3のレ
イアウトコンパクション方法においては、前記最大移動
可能距離として負の値が設定される。即ち、前記端子制
約グラフデータの有するグラフの長さは、負の値を有す
る。更に、これに関連して、当該端子制約グラフデータ
に基づいて得られる前記部品制約グラフデータも、グラ
フの長さとして負の値を有することとなる。第3のレイ
アウトコンパクション方法においては、このような部品
制約グラフデータを作成した後、当該部品制約グラフデ
ータに基づいて、前記他の部品端子の属する部品を前記
所定方向と逆の方向へ移動させることにより、上記適切
なコンパクションが行われる。
【0022】第3のレイアウトコンパクション方法によ
れば、このような処理を行うことにより、初期のレイア
ウトが設計ルールに違反する場合であっても、その違反
が是正されることとなる。
【0023】また、本発明によれば、上述した複数の部
品制約グラフを利用して、最短路問題(ある始点からグ
ラフ上の各点への最短距離を求める問題)を解くことに
より、移動の順番を決定する第4のレイアウトコンパク
ション方法が得られる。
【0024】詳しくは、第4のレイアウトコンパクショ
ン方法は、次の第1乃至第3のステップを有する。第1
のステップは、各層面毎に、当該部品制約グラフデータ
で示される部品制約グラフを、同一の前記部品に対応す
る前記節同士を結ぶようにして、接続してなる重み付き
グラフのデータとして、重み付きグラフデータを作成す
るものである。第2のステップは、各層面毎に、当該重
み付きグラフデータを用いて、当該重み付きグラフにお
ける特定の一の節から他の各節への最短距離を求めるグ
ラフ問題を解くことにより、前記全ての組合せにおける
前記他の部品端子の属する部品の移動の順番及び移動経
路長を決定するものである。更に、第3のステップは、
各層面毎に、前記全ての組合せにおける前記他の部品端
子の属する部品を、当該決定に従った順番で、且つ、夫
々の他の部品端子に関する前記移動経路長だけ前記所定
方向に対して移動させるものである。尚、端子制約グラ
フ、部品制約グラフ及び重み付きグラフというのは、便
宜上用いた用語であり、かかる名称がついているか否か
にかかわらず、同様の操作によりコンパクションを行う
限り、本発明の実施であることは言うまでもない。例え
ば、上記部品制約グラフを辺(エッジ、枝、ブランチ)
と呼び、節点をノード(頂点、ヴェルテックス)と呼ぶ
こととしても実質的に本発明の概念下にあることは言う
までもない。
【0025】また、本発明によれば、第5のレイアウト
コンパクション方法として、上記第4のレイアウトコン
パクション方法において、前記最短距離を求めるグラフ
問題を解く際に、ダイクストラ法を利用することを特徴
とするレイアウトコンパクション方法を得ることができ
る。
【0026】更に、本発明によれば、第6のレイアウト
コンパクション方法として、前記第4のレイアウトコン
パクション方法において、次のような特定の端子制約グ
ラフデータを作成し、これを利用するレイアウトコンパ
クション方法が得られる。
【0027】第6のレイアウトコンパクション方法にお
いて、特定の端子制約グラフデータは、各層面毎に作成
されるものであり、前記基板領域の一の角を一端の節と
し、また、当該一の角に最も近接して配置された前記部
品端子を他端の節とした端子制約グラフに関するもので
ある。また、この特定の端子制約グラフは、当該部品端
子を前記他の部品端子として取り扱うことにより定まる
前記最大移動可能距離をグラフの長さとするものであ
る。
【0028】第6のレイアウトコンパクション方法にお
いては、上記した特定の端子制約グラフデータが作成さ
れると、当該特定の端子制約グラフデータに応じた特定
の前記部品制約グラフデータが作成され、更に、前記基
板領域の一の角に相当する節を、当該特定の部品制約グ
ラフデータにおける前記特定の一の節として、前記最短
距離を求めるグラフ問題を解くことが実行される。本方
法において明記していない他の点については、上述の第
4のレイアウトコンパクション方法による。
【0029】また、本発明によれば、第7のレイアウト
コンパクション方法として、前記第4乃至第6のいずれ
かのレイアウトコンパクション方法において、前記移動
前における前記特定の二つの部品端子間に前記配線若し
くは前記配線帯が存在していた場合には、前記他方の部
品端子の属する部品の前記所定方向への移動の後に、前
記配線若しくは前記配線帯を前記特定の二つの部品端子
間に設計ルールで許容される形態で再配線することを特
徴とするレイアウトコンパクション方法を得ることがで
きる。
【0030】更に、本発明によれば、第8のレイアウト
コンパクション方法として、当該第7のレイアウトコン
パクション方法において、前記設計ルールで許容される
形態の配線として、縦配線、横配線又は斜め配線若しく
はこれらの組合せのいずれか一つを選択することを特徴
とするレイアウトコンパクション方法が得られる。
【0031】本発明においては、端子制約グラフ及び部
品制約グラフを利用して部品レイアウトのコンパクショ
ンが行われていることから、部品端子間に配線を配する
に必要とされる間隙が確保されており、従って、このよ
うな再配線の処理が可能である。
【0032】また、本発明によれば、第4のレイアウト
コンパクション方法において、所定方向のみならず、所
定方向に直交する方向へのコンパクションをも考慮した
第9のレイアウトコンパクション方法が得られる。
【0033】詳しくは、第9のレイアウトコンパクショ
ン方法においては、まず、各層面毎に、前記所定方向を
コンパクション方向とした場合における前記他の部品端
子に関する前記端子制約グラフデータに加え、前記所定
方向に直交する方向をコンパクション方向とした場合に
おける前記他の部品端子に関する付加的な端子制約グラ
フデータが更に作成される。続いて、第9のレイアウト
コンパクション方法においては、これら付加的な端子制
約グラフデータに従って、前記部品制約グラフデータ作
成の手法と同じ手法により、付加的な部品制約グラフデ
ータが作成される。更に、第9のレイアウトコンパクシ
ョン方法においては、各層面毎に、当該付加的な部品制
約グラフデータに基づいて、前記重み付きグラフデータ
作成の手法と同じ手法により、付加的な重み付きグラフ
データが作成される。このようにして付加的な重み付き
グラフデータが作成されると、次のようにして、部品の
移動が行われる。すなわち、第9のレイアウトコンパク
ション方法は、前述のように、前記重み付きグラフデー
タを用いて前記最短距離を求めるグラフ問題を解くこと
により決定された移動の順番及び移動経路長に従って、
前記他方の部品端子の属する部品を前記所定方向へ移動
させた後、前記付加的な重み付きグラフデータを用いて
前記最短距離を求めるグラフ問題を解くことにより決定
された移動の順番及び移動経路長に従って、前記他方の
部品端子の属する部品を前記直交する方向へ移動させ
る。尚、上述した配線についての再配線処理を、この前
記直交する方向への部品の移動が終了した後に、行うこ
ととしても良いことは言うまでもない。
【0034】本発明による第10のレイアウトコンパク
ション方法は、上述した第1乃至第9のレイアウトコン
パクション方法をコンピュータ上で実行・処理する場合
を考慮したものであり、主として、計算量を軽減させる
ものである。
【0035】第10のレイアウトコンパクション方法に
おいては、かかる計算量軽減のために、前記基板領域を
複数の縦仕切線及び横仕切線により仕切り、それにより
複数の仕切部屋を設定し、前記縦仕切線及び前記横仕切
線の夫々を部品端子として取り扱う。
【0036】その上で、第10のレイアウトコンパクシ
ョン方法は、仕切部屋に部品端子が所属するか否か、す
なわち、仕切部屋内に部品端子が存在することとなって
いるか否か等により、場合分けをして、端子制約グラフ
データの作成を行う。
【0037】詳しくは、前記仕切部屋に複数の部品端子
が所属している場合には、当該仕切部屋内において当該
縦仕切線及び横仕切線を含めた前記複数の部品端子によ
り考えられる前記特定の二つの部品端子の組合せについ
て、前記端子制約グラフデータの作成を行う。
【0038】また、前記仕切部屋に一の部品端子のみが
所属している場合には、当該仕切部屋を仕切る二つの前
記縦仕切線及び二つの前記横仕切線の各々と前記一の部
品端子とを前記特定の二つの部品端子として、前記端子
制約グラフデータの作成を行う。
【0039】更に、前記仕切部屋に部品端子が所属して
いない場合には、当該仕切部屋の中心位置に架空の部品
端子を想定し、当該架空の部品端子と当該仕切部屋を仕
切る二つの前記縦仕切線及び二つの前記横仕切線の各々
とを前記特定の二つの部品端子として、前記端子制約グ
ラフデータの作成を行う。
【0040】尚、このようにして端子制約グラフデータ
を作成した後は、前述の各方法における処理を行う。
【0041】更に、本発明によれば、第11のレイアウ
トコンパクション方法として、上述の第10のレイアウ
トコンパクション方法において、前記縦仕切線及び横仕
切線を除く前記他の部品端子の属する部品の移動に伴っ
て、前記縦仕切線及び横仕切線を移動させることを特徴
とするレイアウトコンパクション方法が得られる。
【0042】更には、本発明によれば、次に列挙される
ように、上述したレイアウトコンパクション方法を種々
に応用・変形してなるレイアウトコンパクション方法が
得られる。
【0043】すなわち、本発明によれば、第12のレイ
アウトコンパクション方法として、第1のレイアウトコ
ンパクション方法において、同じ信号を受ける前記部品
端子同士については、当該部品端子同士を両端の節とす
る前記端子制約グラフデータを作成しないことを特徴と
するレイアウトコンパクション方法が得られる。
【0044】また、本発明によれば、第13のレイアウ
トコンパクション方法として、第1のレイアウトコンパ
クション方法において、前記端子制約グラフデータに相
対限界移動量八角形を記録し、部品のコンパクション方
向への移動の際に、コンパクション方向に垂直方向にも
変位する部品移動ベクトルであって、該相対限界移動量
八角形の外側に限定する部品移動ベクトルで前記部品を
移動することを特徴とするレイアウトコンパクション方
法が得られる。この相対限界移動量八角形については、
特に、後述する実施の形態において、図面を利用した詳
細な説明がなされる。
【0045】更に、本発明によれば、第14のレイアウ
トコンパクション方法として、第4のレイアウトコンパ
クション方法において、前記部品端子について移動目標
となる方向及びその方向への移動距離を指定して、前記
部分制約グラフデータを作成し、当該指定に従ったコン
パクションを行うことを特徴とするレイアウトコンパク
ション方法が得られる。
【0046】また、本発明によれば、第15のレイアウ
トコンパクション方法として、第9のレイアウトコンパ
クション方法において、前記他の部品端子についての前
記所定方向における最大移動可能距離が、前記直交する
方向へのコンパクションに必要とされる距離未満である
場合には、当該他の部品端子の属する部品についての部
品制約グラフを経路として有しない前記重み付きグラフ
データを作成することを特徴とするレイアウトコンパク
ション方法が得られる。
【0047】更に、本発明によれば、第16のレイアウ
トコンパクション方法として、第9のレイアウトコンパ
クション方法において、前記部品を前記所定方向へ移動
する度に、前記直交する方向における前記付加的な端子
制約グラフデータにおける最大移動可能距離を適切な値
に更新することを特徴とするレイアウトコンパクション
方法が得られる。
【0048】ついで、レイアウトコンパクション装置に
ついて説明する。以下に列挙するレイアウトコンパクシ
ョン装置は、上述したレイアウトコンパクション方法を
ハードウェアとして具現化したものである。具体的に
は、コンピュータ等及び当該コンピュータ上で実行され
るソフトウェアなどにより構成される。
【0049】本発明が提供する第1のレイアウトコンパ
クション装置は、基板領域内におけるレイアウトであっ
て、一の層面上にコンパクション対象となる複数の部品
と配線とが配置されたパターンを一又は複数層備えるレ
イアウトをコンパクション対象とするものであり、次の
ようなコンパクション手段を備える。
【0050】すなわち、コンパクション手段は、1)個
々の前記配線の幅を固定とする、2)所定数の前記配線
を一まとまりの配線束として存在する場合には、当該配
線束の全幅に対して設計ルールにより必要とされる間隙
を更に加えてなる配線帯の幅を固定する、及び3)前記
配線の幅方向の端若しくは前記配線帯の幅方向の端から
前記部品までの距離を可変として取り扱う、ことを特徴
とし、これら1〜3)の条件下において、前記レイアウ
トのコンパクションを行うためのものである。
【0051】また、本発明によれば、第2のレイアウト
コンパクション装置として、前記第1のレイアウトコン
パクション装置における前記コンパクション手段が、端
子制約グラフ生成手段を備え、次のような処理を行うも
のであることを特徴とするレイアウトコンパクション装
置が得られる。
【0052】端子制約グラフ生成手段は、前記一の層に
おいて又は複数層ある場合には各層毎に、前記複数の部
品の夫々の有する複数の部品端子について、次のような
端子制約グラフデータを生成するためのものである。こ
の端子制約グラフデータは、前記複数の部品端子から選
択された特定の二つの部品端子であって所定方向におい
て隣接する特定の二つの部品端子について、当該二つの
部品端子をグラフの両端の節とする端子制約グラフに関
するデータである。端子制約グラフは、詳しくは、前記
配線の配線位置を設計ルールの範囲内で自由に動かし得
るものと仮定し、前記特定の二つの部品端子の一方の部
品端子を基準として他方の部品端子を前記所定方向へ移
動させる場合において、前記特定の二つの部品端子が前
記設計ルールの下で最接近し得るような当該他方の部品
端子の最大移動可能距離をグラフの長さとしてなるもの
である。
【0053】前記コンパクション手段は、このようにし
て端子制約グラフ生成手段により生成された当該端子制
約グラフデータを利用して、前記最大移動可能距離内に
おいて前記他方の部品端子の属する部品を前記所定方向
へ移動させる。
【0054】尚、本発明において、前記コンパクション
手段は、いわゆる部品自体の他に、部品とビアホールと
を組合せてなる一体物に関しても、それら全体として一
の部品として取り扱う。また、単体のビアホールもま
た、部品として取り扱う。また、前記コンパクション手
段は、いわゆる一般的な部品の有する端子の他に、ビア
ホールの層面毎の部分、半導体セル、部品外形をも部品
端子として取り扱う。更に、コンパクション手段におい
て、多角形導体形状自体は、前記部品として取り扱わ
れ、また、前記多角形導体形状を各辺毎に分割し、それ
により得られた分割された辺の夫々は、前記部品端子と
して取り扱われる。これらのことから理解されるよう
に、部品端子は、部品の有するものであり、換言すれば
部品の一部である。
【0055】また、本発明によれば、第3のレイアウト
コンパクション装置として、第2のレイアウトコンパク
ション装置において、前記端子制約グラフ生成手段が、
以下に列挙する制約グラフ作成手段、制約グラフデータ
格納手段、端子制約グラフ作成手段、端子制約グラフデ
ータ格納手段を有することを特徴とするレイアウトコン
パクション装置が得られる。
【0056】制約グラフ作成手段は、前記特定の二つの
部品端子を両端の節とする制約グラフについて、制約グ
ラフデータを作成するものである。この時点では、グラ
フの長さは設定されていない。即ち、制約グラフには重
み付けがなされていない。尚、制約グラフデータ格納手
段は、該制約グラフ作成手段の作成した制約グラフデー
タを格納するためのものである。
【0057】端子制約グラフ作成手段は、制約グラフに
重み付けを行って端子制約グラフとし、端子制約グラフ
データを作成するものである。詳しくは、端子制約グラ
フ作成手段は、前記他の部品端子に関する前記最大移動
可能距離を計算して、この計算結果をグラフ長として、
前記制約グラフデータ格納手段に格納された前記制約グ
ラフデータに対し加えることで、前記端子制約グラフデ
ータを作成する。このことから理解されるように、端子
制約グラフ作成手段が制約グラフに対して加える重み付
けは、グラフの長さとしての最大移動可能距離である。
尚、端子制約グラフデータ格納手段は、該端子制約グラ
フ作成手段の作成した端子制約グラフデータを格納する
ためのものである。
【0058】更に、本発明によれば、第4のレイアウト
コンパクション装置として、第3のレイアウトコンパク
ション装置において、端子制約グラフ作成手段が次に示
されるような部品制約グラフデータを作成し、コンパク
ション手段がそれに従ったコンパクションを行うことを
特徴とするレイアウトコンパクション装置が得られる。
【0059】第4のレイアウトコンパクション装置にお
いて、前記端子制約グラフ作成手段は、各層面毎に、前
記複数の部品端子により考えられる前記特定の二つの部
品端子の組み合わせの全てについて前記端子制約グラフ
データの作成を行い、その後、前記端子制約グラフデー
タ格納手段に格納された端子制約グラフデータを参照し
て、部品制約グラフデータを作成する。
【0060】詳しくは、端子制約グラフ作成手段は、前
記特定の二つの部品端子を両節とする前記端子制約グラ
フデータが一の層面上においてのみ作成され且つ当該特
定の二つの部品端子がそれらの属する特定の二つの部品
の夫々の有する唯一の部品端子である場合においては、
当該特定の二つの部品を両節とすると共に当該端子制約
グラフデータの有するグラフの長さと同じグラフの長さ
を有する部品制約グラフデータを作成する。また、端子
制約グラフ作成手段は、前記特定の二つの部品端子の属
する前記特定の二つの部品が双方とも前記複数層に亘っ
て存在している場合には、両節となる前記特定の二つの
部品端子の属する特定の二つの部品が同じである全ての
端子制約グラフデータの有するグラフの長さのうち、最
も短い長さと同じグラフの長さを有し、且つ、当該特定
の二つの部品を両節とする部品制約グラフデータを作成
する。
【0061】また、第4のレイアウトコンパクション装
置において、前記コンパクション手段は、前記端子制約
グラフデータを利用した該部品制約グラフデータに基づ
いて、各層毎における前記他の部品端子に関する前記最
大移動可能距離を最も移動が制限される層における最大
移動可能距離に実質的に調整した上で、各層毎に、当該
調整された最大移動可能距離内において前記他方の部品
端子の属する部品を前記所定方向へ移動させる。
【0062】更に、本発明によれば、第5のレイアウト
コンパクション装置として、前記第4のレイアウトコン
パクション装置において、前記移動前における前記特定
の二つの部品端子間に前記配線若しくは前記配線帯が存
在していた場合であって、当該配線若しくは前記配線帯
を間に挟んでなる前記特定の二つの部品端子間の間隔が
前記設計ルールにより定められる必要な間隔よりも狭い
場合における処理に、特徴を有するレイアウトコンパク
ション装置が得られる。
【0063】第5のレイアウトコンパクション装置にお
いて、前記端子制約グラフ作成手段は、上述したような
場合、前記グラフの長さとして負の値を有する前記端子
制約グラフデータを作成すると共に、当該グラフの長さ
として負の値を有する端子制約グラフデータに応じた前
記部品制約グラフデータを作成する。
【0064】また、第5のレイアウトコンパクション装
置において、前記コンパクション手段は、部品制約グラ
フデータがグラフの長さとして負の値を有する場合に
は、当該部品制約グラフデータに基づいて、対応する前
記他の部品端子の属する部品を前記所定方向と逆の方向
へ移動させる。
【0065】更に、本発明によれば、第6のレイアウト
コンパクション装置として、前記第4のレイアウトコン
パクション装置において、前記コンパクション手段は、
前記部品制約グラフデータを格納するための部品制約グ
ラフデータ格納手段を更に有することを特徴とするレイ
アウトコンパクション装置が得られる。
【0066】また、本発明によれば、第7のレイアウト
コンパクション装置として、第6のレイアウトコンパク
ション装置に対して、前述の第4のレイアウトコンパク
ション方法を適用してなるレイアウトコンパクション装
置が得られる。即ち、第7のレイアウトコンパクション
装置は、複数の部品制約グラフを利用して、最短路問題
(ある始点からグラフ上の各点への最短距離を求める問
題)を解くことにより、移動の順番を決定するものであ
る。
【0067】詳しくは、第7のレイアウトコンパクショ
ン装置において、前記コンパクション手段は、順位デー
タ作成手段及び部品コンパクション手段を備えている。
【0068】順位データ作成手段は、各層面毎に、重み
付きグラフデータを作成する。重み付きグラフデータ
は、当該部品制約グラフデータで示される部品制約グラ
フを、同一の前記部品に対応する前記節同士を結ぶよう
にして、接続して得られる重み付きグラフのデータであ
る。順位データ作成手段は、重み付きグラフデータを作
成すると、各層面毎に、当該重み付きグラフデータを用
いて、当該重み付きグラフにおける特定の一の節から他
の各節への最短距離を求めるグラフ問題を解く。これに
より、順位データ作成手段は、前記全ての組合せにおけ
る前記他の部品端子の属する部品の移動の順番を決定し
て、前記所定方向における当該移動の順番を示す順位デ
ータを作成する。
【0069】部品コンパクション手段は、各層面毎に、
前記全ての組合せにおける前記他の部品端子の属する部
品を、前記順位データに従った順番で移動させる。この
際、前記他の部品端子の属する部品の夫々は、夫々の他
の部品端子に関する前記最大移動可能距離だけ、前記所
定方向に対して移動させられる。このようにして、部品
コンパクション手段は、部品レイアウトのコンパクショ
ンを行う。
【0070】更に、本発明によれば、このような第7の
レイアウトコンパクション装置において、前記順位デー
タ作成手段が、前記最短距離を求めるグラフ問題を解く
際に、ダイクストラ法を利用するものであることを特徴
とする第8のレイアウトコンパクション装置を得ること
ができる。
【0071】また、本発明によれば、第9のレイアウト
コンパクション装置として、第7のレイアウトコンパク
ション装置における前記端子制約グラフ作成手段に特徴
を有するレイアウトコンパクション装置が得られる。
【0072】即ち、第9のレイアウトコンパクション装
置において、前記端子制約グラフ作成手段は、次のよう
な特定の端子制約グラフデータ及び特定の部品制約グラ
フデータを作成する。特定の端子制約グラフデータは、
各層面毎に、特定の端子制約グラフに係るデータであ
り、特定の端子制約グラフは、それぞれ、前記基板領域
の一の角を一端の節とし、当該一の角に最も近接して配
置された前記部品端子を他端の節とするものである。ま
た、特定の端子制約グラフは、当該部品端子を前記他の
部品端子として取り扱うことにより定まる前記最大移動
可能距離をグラフの長さとするものである。更に、端子
制約グラフ作成手段は、当該特定の端子制約グラフデー
タに応じた特定の前記部品制約グラフデータを作成す
る。
【0073】これに関連して、第9のレイアウトコンパ
クション装置における前記順位データ作成手段は、前記
前記基板領域の一の角に相当する節を、当該特定の部品
制約グラフデータにおける前記特定の一の節として、前
記最短距離を求めるグラフ問題を解く。この結果に従
い、部品レイアウトをコンパクションすると、前記一の
角の方向に部品端子(部品)が集まるようなコンパクシ
ョン結果が得られる。
【0074】また、本発明によれば、前記第7のレイア
ウトコンパクション装置における前記コンパクション手
段が配線コンパクション手段及び再配線手段を有してな
る第10のレイアウトコンパクション装置を得ることが
できる。尚、配線コンパクション手段は、前記部品コン
パクション手段に接続され、前記特定の二つの部品端子
間に介在する前記配線に関し、当該特定の二つの部品端
子のうちの一方の部品端子の形状に沿うようにして前記
配線を折り曲げた場合の配線限界位置を示す配線限界位
置データを作成するためのものであり、再配線手段は、
前記配線限界位置データを受けて、前記部品の移動後
に、前記配線限界位置に抵触しないような領域におい
て、前記配線を再配線するものである。
【0075】また、本発明によれば、第10のレイアウ
トコンパクション装置における前記再配線手段が、前記
配線若しくは前記配線帯を前記特定の二つの部品端子間
に設計ルールで許容される形態で再配線するためのもの
であることを特徴とする第11のレイアウトコンパクシ
ョン装置を得ることができる。
【0076】更に、本発明によれば、第12のレイアウ
トコンパクション装置として、第11のレイアウトコン
パクション装置において、前記再配線手段が、前記設計
ルールで許容される形態の配線として、縦配線、横配線
又は斜め配線若しくはこれらの組合せのいずれか一つを
選択し、配線後の形状が八角形形状の一部をなすように
して、再配線するものであることを特徴とするレイアウ
トコンパクション装置が得られる。
【0077】また、本発明によれば、第7のレイアウト
コンパクション装置において、所定方向のみならず、所
定方向に直交する方向へのコンパクションをも考慮した
第13のレイアウトコンパクション装置が得られる。
【0078】第13のレイアウトコンパクション装置に
おいて、前記端子制約グラフ作成手段は、各層面毎に、
前記所定方向をコンパクション方向とした場合における
前記他の部品に関する前記端子制約グラフデータに加
え、前記所定方向に直交する方向をコンパクション方向
とした場合における前記他の部品に関する付加的な端子
制約グラフデータを作成する。また、端子制約グラフ作
成手段は、これら付加的な端子制約グラフデータに従っ
て、前記部品制約グラフデータ作成の手法と同じ手法に
より、付加的な部品制約グラフデータを作成する。
【0079】更に、第13のレイアウトコンパクション
装置における前記順位データ作成手段は、各層面毎に、
当該付加的な部品制約グラフデータに基づいて、前記重
み付きグラフデータ作成の手法と同じ手法により、付加
的な重み付きグラフデータを作成する。また、順位デー
タ作成手段は、前記重み付きグラフデータを用いて前記
最短距離を求めるグラフ問題を解くことにより、前記所
定方向をコンパクション方向とした場合において前記他
の部品端子の属する部品を移動する際の順番を決定し、
前記順位データを作成すると共に、前記付加的な重み付
きグラフデータを用いて前記最短距離を求めるグラフ問
題を解くことにより、前記直交する方向をコンパクショ
ン方向とした場合において前記他の部品端子の属する部
品を移動する際の順番を決定して、付加的な順位データ
を作成する。
【0080】第13のレイアウトコンパクション装置に
おいて、このようにして付加的な順位データを得た前記
部品コンパクション手段は、前記順位データに従った移
動の順番で前記他方の部品端子の属する部品を前記所定
方向へ移動させた後、前記付加的な順位データに従った
移動の順番で前記他方の部品端子の属する部品を前記直
交する方向へ移動させることにより、部品の2次元的な
コンパクションを可能とする。
【0081】また、本発明によれば、第14のレイアウ
トコンパクション装置として、第7のレイアウトコンパ
クション装置において、計算量軽減のために、前記基板
領域を複数の複数の縦仕切線及び横仕切線により仕切
り、それにより複数の仕切部屋を設定し、前記縦仕切線
及び前記横仕切線の夫々を部品端子として取り扱うこと
を特徴とするレイアウトコンパクション装置が得られ
る。
【0082】詳しくは、前記コンパクション手段は、前
記基板領域を、複数の縦仕切線及び横仕切線で仕切るこ
とにより、複数の仕切部屋を設定するための仕切部屋配
置手段を更に備えている。
【0083】これに関連して、前記制約グラフ作成手段
は、前記縦仕切線及び前記横仕切線の夫々を部品端子と
して取り扱う。
【0084】また、前記端子制約グラフ作成手段は、仕
切部屋の状況に応じた場合分けをして、個々の場合に適
合した端子制約グラフを作成する。即ち、端子制約グラ
フ作成手段は、前記仕切部屋に複数の部品端子が所属し
ている場合には、当該仕切部屋内において、当該縦仕切
線及び横仕切線を含めた前記複数の部品端子により考え
られる前記特定の二つの部品端子の組合せについて、前
記端子制約グラフデータの作成を行う。また、端子制約
グラフ作成手段は、前記仕切部屋に一の部品端子のみが
所属している場合には、当該仕切部屋を仕切る二つの前
記縦仕切線及び二つの前記横仕切線の各々と前記一の部
品端子とを前記特定の二つの部品端子として、前記端子
制約グラフデータの作成を行う。更には、端子制約グラ
フ作成手段は、前記仕切部屋に部品端子が所属していな
い場合には、当該仕切部屋の中心位置に架空の部品端子
を想定し、当該架空の部品端子と当該仕切部屋を仕切る
二つの前記縦仕切線及び二つの前記横仕切線の各々とを
前記特定の二つの部品端子として、前記端子制約グラフ
データの作成を行う。
【0085】更に、本発明によれば、第15のレイアウ
トコンパクション装置として、前記第14のレイアウト
コンパクション装置において、前記部品コンパクション
手段は、前記縦仕切線及び横仕切線を除く前記他の部品
端子の属する部品の移動に伴って、前記縦仕切線及び横
仕切線を、移動させるものであることを特徴とするレイ
アウトコンパクション装置を得ることができる。
【0086】更には、本発明によれば、次に列挙される
ように、上述したレイアウトコンパクション装置を様々
に応用・変形してなるレイアウトコンパクション装置が
得られる。
【0087】即ち、本発明によれば、第16のレイアウ
トコンパクション装置として、第3のレイアウトコンパ
クション装置において、前記端子制約グラフ作成手段
が、同じ信号を受ける前記部品端子同士については、当
該部品端子同士を両端の節とする前記端子制約グラフデ
ータを作成しないものであることを特徴とするレイアウ
トコンパクション装置を得ることができる。
【0088】また、本発明によれば、第17のレイアウ
トコンパクション装置として、第7のレイアウトコンパ
クション装置において、前記端子制約グラフ作成手段
は、前記端子制約グラフデータに相対限界移動量八角形
を記録するものであり、前記部品コンパクション手段
は、部品のコンパクション方向への移動の際に、コンパ
クション方向に垂直方向にも変位する部品移動ベクトル
であって、該相対限界移動量八角形の外側に限定する部
品移動ベクトルで部品を移動するものであることを特徴
とするレイアウトコンパクション装置が得られる。
【0089】更に、本発明によれば、第18のレイアウ
トコンパクション装置として、第13のレイアウトコン
パクション装置において、前記端子制約グラフ作成手段
は、前記他の部品端子についての前記所定方向における
最大移動可能距離が前記直交する方向へのコンパクショ
ンに必要とされる距離未満である場合には、当該他の部
品端子の属する部品についての当該部品制約グラフデー
タを作成しないものであり、前記順位データ作成手段
は、当該部品制約グラフデータを経路として有しない前
記重み付きグラフデータに基づいて、前記順位を決定す
るものであることを特徴とするレイアウトコンパクショ
ン装置が得られる。
【0090】また、本発明によれば、第19のレイアウ
トコンパクション装置として、第13のレイアウトコン
パクション装置において、前記コンパクション手段は、
前記部品コンパクション手段及び前記端子制約グラフデ
ータ格納手段に接続され、前記部品コンパクション手段
により前記部品が前記所定方向へ移動されるたびに、前
記端子制約グラフデータ格納手段に格納された前記付加
的な端子制約グラフデータにおける最大移動可能距離を
適切な値に更新するための制約グラフ更新手段を更に備
えることを特徴とするレイアウトコンパクション装置が
得られる。
【0091】また、本発明によれば、第20のレイアウ
トコンパクション装置として、第14のレイアウトコン
パクション装置において、前記コンパクション手段に接
続され、前記部品端子について移動目標となる方向及び
その方向への移動距離を指定するための操作部を更に有
しており、前記コンパクション手段は、当該操作部から
の指示を受けて前記端子制約グラフ作成手段に伝達する
ための操作指令入力手段を更に備えており、前記端子制
約グラフ作成手段は、操作指令入力手段からの通知を受
けて、前記部品端子について移動目標となる方向及びそ
の方向への移動距離との指定された前記部分制約グラフ
データを作成するものであることを特徴とするレイアウ
トコンパクション装置が得られる。
【0092】更に、本発明によれば、第21のレイアウ
トコンパクション装置として、第20のレイアウトコン
パクション装置において、前記操作部は、初期の前記レ
イアウト上における前記部品端子及び配線の配置の変更
を指定し得るものであり、前記操作指令入力手段は、当
該配置の変更の指定を受けて、レイアウト変更情報を出
力するものであり、前記コンパクション手段は、当該操
作指令入力手段からのレイアウト変更情報を受けて、前
記レイアウトを変更するためのレイアウト変更手段を更
に有し、当該変更されたレイアウトをコンパクションす
るものであることを特徴とするレイアウトコンパクショ
ン装置が得られる。
【0093】また、本発明によれば、第22のレイアウ
トコンパクション装置として、第20のレイアウトコン
パクション装置において、前記コンパクション手段に接
続された表示部を更に備えており、当該表示部は、前記
コンパクション手段による前記レイアウトのコンパクシ
ョンの結果が予め定められた当該部品端子の配置される
べき領域を逸脱する場合、前記仕切線で囲まれた領域の
内、該逸脱を生じる領域を強調表示するものであること
を特徴とするレイアウトコンパクション装置が得られ
る。
【0094】また、本発明によれば、第23のレイアウ
トコンパクション装置として、第20のレイアウトコン
パクション装置において、前記操作部は、更に、前記配
線と部品端子あるいは前記配線同士の相対位置の入れ替
えを指定するものであり、前記操作指令入力手段は、当
該操作部からの指定を受けて配線入替情報を生成するも
のであり、前記コンパクション手段は、前記操作指令入
力手段に接続され、当該配線入替情報に従って、前記配
線と部品端子あるいは前記配線同士の相対位置を入れ替
えるための配線更新手段を更に有することを特徴とする
レイアウトコンパクション装置が得られる。
【0095】更には、本発明によれば、第24のレイア
ウトコンパクション装置として、第21のレイアウトコ
ンパクション装置において、前記コンパクション手段に
接続された表示部を更に備えており、前記コンパクショ
ン手段は、前記レイアウト変更手段及び当該表示部に接
続され、前記レイアウト変更手段によるレイアウトの変
更操作により設計ルール違反が発生した場合に、当該違
反の発生を検出するための違反発生検出手段を更に備
え、前記表示部は、前記仕切線で囲まれた領域の内、当
該違反発生検出手段により検出された違反の生じた領域
を強調表示するものであることを特徴とするレイアウト
コンパクション装置を得ることができる。
【0096】本発明は、上述したように配線の幅又は配
線帯の幅により移動距離に制限が加えられた状態におい
てコンパクションを行うことを可能とする。本発明の詳
細については、以下に説明される各実施の形態により明
らかになるであろう。
【0097】
【発明の実施の形態】本発明は、二次元空間に配置した
配線、端子、ビアホール及び多角形導体形状を有する一
乃至複数層の部品端子を縦横の仕切線で分けた仕切部屋
に収納し、縦方向と横方向にコンパクションし、部品端
子間に斜め配線を配線することの可能なレイアウトコン
パクション方法及びレイアウトコンパクション装置につ
いてなされたものであり、レイアウトコンパクション方
法の主要な手法は、概略、以下に示すようなステップか
ら構成されるものである。
【0098】本発明においては、まず、レイアウトデー
タが入力されると、当該レイアウトデータに含まれる部
品端子及びビアホールを層毎の素片データに分割する一
方、レイアウトデータに含まれる配線、多角形導体形状
を曲がり点及び分岐点毎の素片データに分割する。この
際、配線や多角形形状を分割して得られた素片により連
結される他の素片同士については、それら他の素片の素
片データに共通の部品番号を付すようにして、部品番号
の割り当てを行う。また、個々のビアホール毎に部品番
号を指定する(以後、ビアホールを部品とも呼ぶ)。
【0099】次いで、本発明においては、この各層面毎
に、基板領域を縦横の仕切線で仕切ることにより、格子
構造を作成する。この縦横の仕切線で仕切った部屋は、
仕切部屋と呼ばれる。各仕切線を伸縮することで、これ
ら仕切部屋の大きさを変えることができる。本発明にお
いては、このようにして各仕切部屋の大きさを変え、そ
の部屋に各部品端子を収納する。そして、隣接する仕切
部屋の収納する部品端子、ビアホールあるいは半導体セ
ルの素片同士に関して、部品相対移動限界長を記憶した
端子制約グラフデータを作成する。
【0100】ここで、部品相対移動限界長とは、上下、
左右の素片同士の間に挟まれる配線の幅と必要間隙とか
らなる帯(配線帯)を挟むようにして、端子同士が最も
接近し得る距離をいい、当該明細書中においては、最大
移動可能距離とも呼ばれる。端子制約グラフデータは、
各層面毎に作成される端子制約グラフのデータである。
端子制約グラフは、両節をいずれか2つの部品端子と
し、グラフ長を部品移動限界長とするグラフである。
【0101】次に、層面毎に作成した端子制約グラフの
グラフ長に対して、そのグラフの両端が同じ部品番号で
ある全ての端子制約グラフを全層面から抽出し、それら
の端子制約グラフの部品相対移動限界長のうち最小の値
を求め、その値を部品制約グラフデータに、部品相対移
動限界長として記憶する。尚、部品制約グラフデータ
は、部品制約グラフのデータである。この記載から明ら
かなように、部品制約グラフは、両節となる2つの部品
端子の属する部品が同じである全ての端子制約グラフか
ら得られるものであり、その両節を当該2つの部品と
し、そのグラフ長を全ての端子制約グラフのグラフ長の
内の最短のグラフ長とするグラフである。また、端子制
約グラフの両端の部品端子がその属する部品の唯一の部
品端子であり且つその部品端子が一の層面上にのみ存在
する場合、端子制約グラフと部品制約グラフとは、全く
同じグラフ長を有することとなる。尚、部品制約グラフ
データには、そのグラフの両端の節となる部品の部品番
号が記録される。
【0102】次に、部品制約グラフデータ同士を結んで
構成される重み付きグラフ(グラフ長、即ち部品相対移
動限界長若しくは最大移動可能距離が重みとなる。)に
ついて最短経路を計算し、その計算結果により定まる順
番で部品を移動させることにより、部品に関するレイア
ウトをコンパクションし、最後に、再配線手段で配線を
整形し部品端子間に再配線する。
【0103】かかる本発明についてシステム的、装置的
な側面から言及すると、本発明のシステムにおいては、
端子制約グラフ作成手段が、部品端子(配線を除く)を
節とする端子制約グラフデータを作成する。更に、端子
制約グラフ作成手段は、その端子制約グラフデータの節
が他端の節に近づく移動量を、端子制約グラフデータの
両端の節の素片の間に挟まれる配線の幅と必要間隙とを
加えた配線帯幅に基づいて、当該配線帯幅を挟むように
して、最も接近し得る部品間の限界距離を計算し部品相
対移動限界長として記憶する。次に、端子制約グラフデ
ータの両端が同じ部品番号である全ての端子制約グラフ
データを全層面について抽出し、それらの端子制約グラ
フの部品相対移動限界長のうち最小の値を求め、その値
を部品制約グラフデータに部品相対移動限界長として記
憶する。これら端子制約グラフ作成手段による処理がな
された後、部品コンパクション手段は、部品移動方向に
連動する部品をともに移動してコンパクションする。
尚、連動する部品とは、例えば複数層の層面上に現われ
るビアホールのように、同じ方向へ同じ距離だけ移動さ
せなければ、矛盾を生じてしまうような部品であり、以
下においては、連結部品(素片については連結素片)な
どと呼ばれる。その他の例としては、ある部品Aの端子
と他の部品Bの端子とが接している場合、又は形状の固
定された長方形の島状パターンとビアホールとが接して
いる場合などが挙げられる。前者の場合、両端子(部
品)は、一体となって動く連結体として、後述するよう
に、いずれかの部品番号を共用する。また、後者の場合
も、島状パターン及びビアホールは、一体として取り扱
われる。これら連結部品には同じ部品番号を付し、先に
説明した部品制約グラフデータを作成する際に、端子制
約グラフデータを抽出する際に利用する。
【0104】以下に、本発明の実施の形態について図面
を参照して、詳細に説明する。
【0105】(第1の実施の形態)図1を参照すると、
本発明の第1の実施の形態によるレイアウトコンパクシ
ョン装置は、プログラム制御により動作するコンピュー
タ100(中央処理装置、プロセッサ、データ処理装
置)と、表示部(CRTディスプレイあるいは液晶ディ
スプレイ等)101と、操作部(キーボードとマウスあ
るいはタブレット等)102とを備えている。
【0106】コンピュータ100の内部構成について更
に説明すると、コンピュータ100は、レイアウトデー
タ変換手段111、操作指令入力手段110、制約グラ
フ作成手段103、仕切部屋配置手段121、端子制約
グラフ作成手段104、順位データ作成手段105、部
品コンパクション手段107、配線コンパクション手段
108、再配線手段109、レイアウトデータ格納手段
20、素片データ格納手段30、制約グラフデータ格納
手段40、端子制約グラフデータ格納手段50、部品制
約グラフデータ格納手段60、配線限界位置データ格納
手段80とを備える。
【0107】これらコンピュータ100に設けられた手
段の各々は、概略、次のようにして動作する。
【0108】レイアウトデータ変換手段111は、レイ
アウトデータ格納手段20からレイアウトデータを受け
て、当該レイアウトに含まれる各要素の形状を素片とし
て分解し、各素片毎に素片データ300a等(図3参
照)を作成する。作成された素片データ300a等は、
素片データ格納手段30に格納される。
【0109】仕切部屋配置手段121は、各層面あるい
は部品配置面毎に基板領域を縦横の仕切線で仕切った仕
切部屋に分割する格子構造を作成し、部品端子の素片あ
るいはビアホール(配線を除く)の素片、若しくは部品
外形を、仕切部屋に分けて収納する。そして、仕切部屋
が収納する部品端子の全体を囲む位置に仕切線を平行移
動させる。ここで最初に仕切部屋を構成する際には、縦
仕切線及び横仕切線は各素片等と交わっていても良い。
次に、仕切部屋配置手段121は、一旦、各素片等を配
置した後、各素片等の殆どが、夫々、仕切部屋内に納ま
るように、即ち縦及び横仕切線と交わらずに当該縦及び
横仕切線にて囲まれるように、縦仕切線及び横仕切線を
並行移動させる。
【0110】尚、「各素片等の殆ど」としたのは、全て
の各素片等が仕切部屋に納まるものとしても良いし、許
容できる数を予め定め、仕切線と交わる素片等の数がそ
の許容できる数以下となるように、仕切線を移動するも
のとすることとしても良いことを意味する。また、ここ
でいう許容できる数は、設計事項であり、適宜選択決定
し得るものである。
【0111】制約グラフ作成手段103は、各仕切部屋
とそこに含まれる素片の素片データ300a等(図3参
照)とに基づいて、コンパクション方向61およびそれ
に垂直方向において隣接する素片の関係をデータとして
含む制約グラフデータ400(図4参照)をそれぞれの
方向毎に作成する。例えば、X方向をコンパクション方
向61と仮定すると、制約グラフ作成手段103は、各
仕切部屋毎に、部品又は素片、即ち、部品端子、ビアホ
ール若しくは配線にかかる素片データを素片データ格納
手段30から抽出する。この際、抽出は、X座標値の順
に従って行われ、これによって、各素片データのX方向
における順番を得るとともに、X方向において互いに隣
接する素片等の関係を得る。このようにしてX方向にお
いて互いに隣接する素片等の関係を得ると、次いで、制
約グラフ作成手段103は、一の素片とその一の素片に
対してX方向において隣接する他の素片との組み合わせ
を抽出し、それら隣接する素片の素片番号31と記録す
ると共に、X方向をコンパクション方向61として記録
した制約グラフデータ400(図4参照)を作成する。
制約グラフ作成手段103は、制約グラフデータ400
を作成すると、制約グラフデータ格納手段40に格納す
る。
【0112】端子制約グラフ作成手段104は、縦方向
又は横方向のいずれかで横仕切線あるいは縦仕切線を介
して隣接する部品端子同士の組合せに関し、その隣接す
る方向、つまり縦方向あるいは横方向をコンパクション
方向61とし記録するとともに、両部品端子同士が最も
接近するまで移動し得る距離を部品相対移動限界長62
として記録して、端子制約グラフデータ500(図4参
照)を作成する。この端子制約グラフデータ500の作
成には、制約グラフデータ格納手段40に格納された制
約グラフデータ400が利用される。
【0113】また、端子制約グラフ作成手段104は、
層面毎に作成した端子制約グラフのグラフ長に対して、
その端子制約グラフデータ500の部品端子素片番号3
1の素片データ300が同一の部品番号32を記録する
全ての端子制約グラフを全層面から抽出する。そして、
それら全ての端子制約グラフの部品相対移動限界長のう
ち、最小の値を求め、その値を部品制約グラフの部品相
対移動限界長として、部品制約グラフデータ600(図
4参照)に記憶する。また、それと共に、その最小値を
与える端子制約グラフデータを示す端子制約グラフ番号
を記録する。更に、端子制約グラフ群の両端の部品端子
が共通して属する部品の部品番号32を部品制約グラフ
の節として、部品制約グラフデータ600に記録する。
【0114】順位データ作成手段105は、Y方向をコ
ンパクション方向61とした場合の下の基板端からの部
品制約グラフについて最短経路を計算し、同様にX方向
をコンパクション方向61とした場合の左の基板端から
の部品制約グラフについて最短経路を計算する。
【0115】部品コンパクション手段107は、基板領
域の左下角から順に仕切部屋に収容された部品端子を、
そのX方向をコンパクション方向61とした場合の部品
制約グラフデータ600の最短経路長で左側に移動させ
ると共に、Y方向をコンパクション方向61とした場合
の部品制約グラフデータ600の最短経路長で下側に移
動させる。また、これら部品端子の移動に伴い、部品コ
ンパクション手段107は、その部品端子間の仕切線も
移動させ、仕切部屋を縮小させる。
【0116】配線コンパクション手段108は、配線限
界位置データ800(図3参照)を作成し、配線限界位
置データ格納手段80に格納するものである。配線限界
位置データ800は、概略、特定の二つの部品端子間に
介在する配線に関するデータであり、特定の二つの部品
端子のうちの一方の部品端子の形状に沿うようにして配
線を折り曲げた場合において、配線が部品端子に近づく
ことのできる限界の位置を示すデータである。
【0117】再配線手段109は、配線限界位置データ
800に従った制限の下で、配線の再配線を行うもので
ある。再配線手段によって、配線は、その延設される方
向に斜め方向を含むような形状に整形され、それによっ
て、再配線が行われる。また、再配線手段109は、再
配線の結果を新たなレイアウトデータとしてレイアウト
データ格納手段20に格納する。
【0118】以下に、図2に示されるフローチャートを
用い、併せて図3乃至図7ならびに図8から図10を参
照して、本実施の形態の全体の動作について詳細に説明
する。
【0119】レイアウトデータ変換手段111は、レイ
アウトデータ格納手段20から、例えば図5に示される
ようなレイアウトデータを受けて、図3に示されるよう
な素片データ等を作成する(ステップS100)。尚、
この素片データの作成処理は、信号層面、電源グランド
層面毎に行われる。
【0120】詳しくは、レイアウトデータ変換手段11
1は、先ず、レイアウトパターンを分解し、複数の素片
を得る。レイアウトデータ変換手段111は、レイアウ
トパターンを受けると、その構成要素である部品端子
1、配線2、ビアホール3、多角形導体形状4および部
品外形、基板外形線並びにマーキングパターン文字等に
分解する。特に、配線2及び多角形導体形状4などは、
次のようにして、更に分解される。すなわち、レイアウ
トデータ変換手段111は、レイアウトデータ格納手段
20からレイアウトデータを受けると、レイアウトデー
タに含まれる配線2を、曲がり角、分岐点、及び部品端
子との交差点毎に分解し、同様に、レイアウトデータに
含まれる多角形導体形状4を、その多角形の各辺に分解
する。このようにして分解された各々は、以下、一つの
素片として取り扱われる。
【0121】分解された各素片は、次のようにして、そ
の属する層面及びその座標値等で示される位置を認識さ
れる。まず、層面について説明すると、レイアウトデー
タ変換手段111は、レイアウトデータに従い、部品端
子1、配線2等から得られた各素片を信号層又は電源グ
ランド層面に配置されるものとして認識し、部品外形に
ついての素片を部品外形層面に配置されるものとして認
識し、また、マーキング及び文字並びにそれらに干渉す
る加工穴位置等のマーキング禁止領域パターンについて
の素片をマーキング層面に配置されるものとして認識す
る。次いで、レイアウトデータ変換手段111は、部品
端子1及びビアホール3等から得られた素片について
は、その素片そのもののレイアウトパターン上の位置か
らX座標値及びY座標値を認識し、一方、配線2及び多
角形導体形状4から得られた素片については、その素片
の有する二つの端部毎にX座標値及びY座標値を認識す
る。
【0122】また、レイアウトデータ変換手段111
は、それら素片の各々の形状を八角形形状に近似する。
尚、多角形導体形状4から得られた各素片は、形状の固
定されたものであると設定される。
【0123】概略、このようにして、レイアウトデータ
変換手段111は、素片データ300a,300bと、
位置データ34と、形状データ35とを作成し、素片デ
ータ格納手段30に格納する。この素片データ等の作成
処理は、前述の通り、各層面ごとに行われる。作成され
た素片データ等は、図3に示されるデータ構造を有する
ものであり、素片データ格納手段30に格納される。
【0124】ここで、素片データ300a等について図
3を用いて簡単に説明しておく。
【0125】図3(a)は、部品端子1及びビアホール
3に関する素片データ300aを示す。この素片データ
300aは、素片に割当てられる素片番号31、部品の
番号を示す部品番号32、図3(d)に示される形状デ
ータ35とリンクを張るための形状番号36、図3
(c)に示される位置データ34とリンクを張るための
位置番号33、信号名37等を含む構造を有する。すな
わち、素片データ300aで示される素片の形状は、素
片データ300aに含まれる形状番号36と同一の形状
番号36を含む形状データ35として記録される。ま
た、素片データ300aで示される素片の位置は、素片
データ300aに含まれる位置番号33と同一の位置番
号33を含む位置データ34として記録される。
【0126】特に、上記した部品番号32、形状番号3
6、位置番号33の内、部品番号32については、レイ
アウトデータ変換手段111により、一の部品に関連す
る全ての素片に対する部品番号32が同じものとなるよ
うに指定される。すなわち、同じ部品に関連する全ての
素片データ300aには、共通の部品番号32が含まれ
ている。更に詳しくは、ビアホール3については、ビア
ホール3毎に個々の部品番号32が指定され、一つのビ
アホール3では、その存在する各層毎に素片データ30
0aが作られ同じビアホール3の部品番号32が記録さ
れる。以下においては、特に記さない限り、部品と呼ぶ
場合には、ビアホールも指す。また、基板外形線も一つ
の部品として取り扱われる。基板外形線の各辺を分解し
て得られる素片データの夫々には、その基板外形線に指
定された共通の部品番号32が含まれている。以下にお
いては、特に記さない限り、部品と呼ぶ場合には基板外
形も指す。尚、異なる部品同士が連結されている場合に
おいては、それらの連結体を一体として考え、1つの部
品番号が付けられる。
【0127】図3(b)は、配線2及び多角形導体形状
4に関する素片データ300bを示す。この素片データ
300bは、素片に割当てられる素片番号31、図3
(d)に示される形状データ35とリンクを張るための
形状番号36、2つの位置データ34(図3(c)参
照)とリンクを張るための2つの位置番号33、信号名
37等を含む構造を有する。素片データ300bが、素
片データ300aよりも多い2つの位置番号33を有す
るのは、配線2又は多角形導体形状4を分解した線分の
二つの端部の位置を記録するためである。また、素片デ
ータ300bには、固定形状か変形自由かを区別するデ
ータ38が記録され、多角形導体形状から切り出された
素片については固定形状と記録され、配線を示す素片に
ついては変形可能と記録される。
【0128】特に、配線2についての素片データ300
bには、配線2の幅を表す図形の形状データ35の形状
番号36が記録される。形状データ35自身にも同じ形
状番号36が記録される。また、上述した通り、2つの
位置番号33は、夫々、対応する位置データ34と同じ
番号が割当てられている。ここで、配線2等の端部が、
他の部品端子等に接続されており、また、それら他の部
品端子等に割当てられている位置番号33と配線2の端
部等に割当てられている位置番号33が同一であること
も理解されるであろう。この関連を保持するため、位置
データ34には、位置番号33が同一である部品の部品
番号32が記録されている。具体的には、配線2の一端
が部品端子1又はビアホール3に接続されている場合、
その一端の位置番号33は、当該部品端子1又はビアホ
ール3の位置番号33と同一のものである。また、一の
配線2の一端が他の配線2の一端と接続されている場
合、一の配線2の一端を示す位置番号33は、他の配線
2の一端を示す位置番号33と同一のものである。
【0129】図3(c)及び図3(d)は、夫々、位置
データ34のデータ構造及び形状データ35の構造を示
す。位置データ34は、位置番号33、X座標値、Y座
標値、層面番号21、及び部品番号32を含む構造を有
する。層面番号等の指定方法は、前述の通りである。形
状データ35は、形状番号36、上下のパターン幅、左
右のパターン幅、右上がり斜め方向の幅、右下がり斜め
方向の幅を含む構造を有する。これら上下のパターン
幅、左右のパターン幅、右上がり斜め方向の幅、右下が
り斜め方向の幅は、各素片の形状を八角形形状で近似し
た際に得られるものである。
【0130】ここで、注目すべき点としては、現時点ま
での処理を行なう上で、設計ルールにおける最小間隙に
違反しているか否かを考慮する必要のないことが挙げら
れる。即ち、原則として、隣接する配線2、部品端子
1、ビアホール3及び多角形導体形状4間の間隙を設定
する場合、設計ルールに基づいて定められる最小間隙が
守られていなければならない。しかし、本システムは、
印刷配線板の初期のレイアウトとして与えられるレイア
ウトデータが、設計ルールの最小間隙を守らない間隙を
もって互いに隣接する配線2や部品端子1等が配置され
てなるものであっても、それを許容し得る。つまり、設
計ルールの最小間隙に違反する間隙が含まれているレイ
アウトデータであっても、本システムに適用可能であ
る。これは、設計ルールの最小寸法以下の間隙が、後述
する処理過程において、是正されるためである。
【0131】このようにしてレイアウトデータ変換手段
111により素片データ300a等の作成がされると、
仕切部屋配置手段121は、図5に示すように、基板領
域を仕切部屋に分割するための計算を行なう(ステップ
S100)。具体的には、仕切部屋配置手段は、一辺を
部品端子の最小寸法程度の長さとする方形で、基板領域
を区切り、区切られた各部屋を各仕切部屋とする。個々
の仕切部屋は、その位置(仕切部屋番地39)を、複数
の仕切部屋が配置された全領域において、左からの部屋
の順番と下からの部屋の順番とで特定される。尚、各層
面の仕切部屋同士については、平面上の位置が同じ仕切
部屋に対して同じ平面上の仕切部屋番地39を割当て、
また、層面番号21により区別する。この仕切部屋デー
タ700は、図6(a)に示す様に、仕切部屋番地39
と層面番号21を記録し、仕切部屋の各頂点の位置番号
33を記録し、また、仕切部屋を四辺で囲む仕切線の素
片番号31を記録する。
【0132】次いで、仕切部屋配置手段121は、仕切
部屋毎に、それが収納する部品端子の素片番号31を、
仕切部屋データ700に記録する。詳しくは、仕切部屋
配置手段121は、まず、部品端子の属する仕切部屋を
規定する。この規定は、各部品端子毎にその中心位置を
計算し、当該部品端子の中心位置が含まれることとなる
仕切部屋を求め、当該部品端子がその求められた仕切部
屋に属するものとするようにして行われる。これに基づ
いて、仕切部屋配置手段121は、図6(a)に示す仕
切部屋データ700に仕切部屋が収納する素片番号31
を記録し、更に、図3(a)に示されるように、素片デ
ータ300aに対して、当該素片が所属する仕切部屋の
仕切部屋番地を記録する。尚、多層面にまたがって存在
するビアホール3については、ビアホール3を素片とみ
なした場合の形状を考慮すれば理解されるように、その
形状の中心位置が全層面において重なることとなるの
で、全層面におけるビアホール3が層面の違いを除けば
同じ仕切部屋に属するように同じ仕切部屋番地39がそ
の素片データ300aに記録される。
【0133】次に、仕切部屋配置手段121は、仕切部
屋の頂点毎に当該頂点と当該頂点の上下の頂点とを結ぶ
縦仕切線に着目し、当該縦仕切線と交差する(若しく
は、当該縦仕切線を横切る)配線の数を数える。同様
に、仕切部屋配置手段121は、当該頂点と当該頂点の
左右の頂点とを結ぶ横仕切線にも着目し、この横仕切線
についても、それと交差する(若しくは、当該横仕切線
を横切る)配線の数を数える。これらの処理は、各層面
ごとに行われる。
【0134】ここで、説明の便宜上、縦仕切線又は横仕
切線のいずれか一方の方向を第1の方向とし、他の方向
を第2の方向とする。
【0135】縦仕切線及び横仕切線と夫々交差する配線
の数を計数した結果、第1の方向の仕切線と交差する配
線の数が第2の方向の仕切線と交差する配線の数よりも
少ない場合であって、その差が予め定めた数(例えば5
本)以下である場合には、仕切部屋配置手段121は、
第1の方向の仕切線を当該頂点において連結することと
する一方、第2の方向の仕切線を当該頂点において分割
することとする。更に、これに基づいて、仕切部屋配置
手段121は、当該頂点毎に、仕切線連結方向データと
して、縦或いは横のいずれか一方の連結方向を図6
(b)の仕切線の素片データ300cの仕切線連結方向
項に記録する。尚、仕切線の連結方向が縦とも横とも規
定されない場合については、隣り合う頂点毎に仕切線の
連結方向を交互に変える、即ち、一の頂点及びそれに隣
接する頂点の夫々における仕切線の連結方向が、縦
(横)及び横(縦)となるように連結方向を設定する。
このようにして、仕切部屋配置手段121は、全ての頂
点において仕切線連結方向データを計算し、仕切線の素
片データ300cに記憶する。かかる処理は、各層面毎
に行なわれ、結果として、各層面毎に縦仕切線の長さ及
び横仕切線の長さが計算される。また、こうして計算し
た仕切線を四辺に持つ仕切部屋の仕切部屋データ700
に図6(a)に示すデータ構造で、四辺の仕切線の素片
番号31を記録する。
【0136】次いで、仕切部屋配置手段121は、図7
に示すように、縦仕切線と横仕切線とを伸縮させる場合
の度合い、或いは平行移動させた場合の位置を決定する
ための計算を行なう。かかる計算は、各層面毎に独立に
行なわれる。詳しくは、仕切部屋配置手段121は、仕
切線が部品端子、ビアホール(配線を除く)又は部品外
形と交差する場合、その部品端子等の属する仕切部屋を
拡大して、部品端子等の殆どを完全に包むよう仕切部屋
の形状を変更する。具体的には、仕切部屋配置手段12
1は、所望とする仕切部屋の形状を構成するように、仕
切線を移動させる位置を計算したり伸縮させる程度を計
算したりして、それらを図6(b)に示される仕切線の
素片データ300cに記録する。すなわち、仕切線の素
片番号31と部品番号32を指定し、形状番号36で指
定する形状データ35の内容と位置番号33で指定した
位置データ34の座標値は仕切線の変形と移動にともな
い変更する。
【0137】また、仕切部屋配置手段121は、仕切部
屋が部品端子に交差しない限りにおいて各仕切線を左下
に移動させた場合に、最も左下となるような各仕切線の
位置と形状を計算し、その位置の位置番号36と仕切線
の形状番号33を仕切線素片データに記録する。尚、仕
切部屋配置手段121は、最初に仕切部屋の分割を行な
った際に複数の部品端子を1つの仕切部屋に収納した場
合には、それら複数の部品端子をそのまま1つの仕切部
屋に収納することとし、以降の計算を進める。また、あ
る部品端子に交差する仕切線を移動しても当該仕切線が
新たな部品端子と交差すること無しには先の交差を解消
出来ない場合は、仕切部屋配置手段121は、先の交差
は解消させない。その他の部品端子との間では交差を解
消出来る限り解消する位置に当該仕切線を移動配置させ
る。
【0138】次いで、制約グラフ作成手段103は、Y
方向をコンパクション方向61とした場合の制約グラフ
データ400(以下、Y方向制約グラフデータという。
尚、参照符号としては同じ400を付する。)を作成す
る。制約グラフデータ400のデータ構造を図4(a)
に示す。この制約グラフデータは作成する順に制約グラ
フ番号41を付し区別する。仕切部屋に複数の素片が含
まれる場合、制約グラフ作成手段103は、その仕切部
屋に収容される素片の素片データ300a,300b
を、対応する位置データ34に記録されたY座標の値に
従って順番に読み出し、それら素片データ300a,3
00bに記録される素片番号31に従って、素片のY方
向における並び(順番)を決定する。その結果に従い、
制約グラフ作成手段103は、更に、Y方向において隣
接する素片同士を特定する。このようにして、制約グラ
フ作成手段103は、Y方向において互いに隣接する素
片を特定し、それら素片データ300a又は300bに
格納される素片番号31、即ち一対の素片番号31と、
コンパクション方向61としてY方向を、図4(a)に
示されるデータ構造で記録し、Y方向制約グラフデータ
400として作成する。尚、この制約グラフデータ40
0は、同じ信号名37を有する二つの素片が隣接する場
合には、それぞれの素片毎に、それと同じ信号名37を
有する素片を全部除去した場合にその素片に隣接するこ
ととなる素片を抽出し、両素片を両端の節とする制約グ
ラフデータ400を作成する。すなわち、同一信号名を
有する素片同士については、一方の素片から見た場合他
方の素片が透明であり認識し得ないかのように扱う処理
を行ない、これら同じ信号名37を有し隣接する素片同
士については、制約グラフデータ400の作成を行わな
い。この結果、例えば同じ信号名37の素片番号31同
士は、それらに共通に隣接する他の信号名37の素片3
1があればその素片番号31に並列に接続された制約グ
ラフデータ400が作成される。
【0139】また、制約グラフ作成手段103は、各制
約グラフデータで示される制約グラフのコンパクション
方向61(この場合はY方向)における順位を求め、制
約グラフ順位データ420を作成する。詳しくは、制約
グラフ作成手段104は、まず、各Y方向制約グラフデ
ータ400(第1のグラフ)の下側の素片を抽出し、そ
の素片を上側の素片として記録するY方向制約グラフデ
ータ400(第2のグラフ)を抽出する。全ての第2の
グラフに既に順位が定められている場合に、第1のグラ
フに、既存の最終順位の次の順位を定め、図4(c)に
示す様に制約グラフ順位データ420に制約グラフ番号
41と順位を記録する。第2のグラフの順位が未設定の
場合は、第2のグラフに関して第1のグラフと同様に更
に下側の素片を抽出する処理を繰り返す。こうして、全
各制約グラフについてY方向における順位(Y方向にお
ける並びの順番)を求める。その結果に従い、制約グラ
フ作成手段104は、各制約グラフ毎に、グラフの方向
61、制約グラフのY方向における順位、及び当該制約
グラフに割当てられた制約グラフ番号41を図4(c)
に示されるデータ構造により、Y方向をコンパクション
方向61とした場合の制約グラフ順位データ420とし
て記録する。以降、Y方向をコンパクション方向61と
した場合の制約グラフ順位データは、便宜上、Y方向制
約グラフ順位データと呼ばれ、また、参照符号として4
20が付される。
【0140】これら制約グラフデータ400及び制約グ
ラフ順位データ420の作成は、各グラフに関し、コン
パクション方向61をX方向とした場合についても、同
様にして作成される(ステップS100)。このように
して作成された制約グラフデータ400及び制約グラフ
順位データ420は、制約グラフデータ格納手段40に
格納される。尚、コンパクション方向61をX方向とし
た場合における制約グラフデータ及び制約グラフ順位デ
ータは、以下において、夫々、X方向制約グラフデータ
400及びX方向制約グラフ順位データ420と呼ばれ
る。
【0141】次いで、端子制約グラフ作成手段104
は、ステップS104、及びステップS105又はステ
ップS106の処理を行なって、図4(b)及び(d)
にその構造が示された端子制約グラフデータ500及び
部品制約グラフデータ600を作成する。これら端子制
約グラフデータ500及び部品制約グラフデータ600
は、夫々、端子制約グラフデータ格納手段50及び部品
制約グラフデータ格納手段60に格納される。本実施の
形態において、これらの処理は、まず、X方向をコンパ
クション方向61として行い、更にその後、Y方向をコ
ンパクション方向61として行われる。
【0142】まず、端子制約グラフ作成手段104は、
縦仕切線を挟み両側に配置された部品端子の間に存する
配線の幅(配線帯幅)を計算する(ステップS10
4)。詳しくは、端子制約グラフ作成手段104は、図
8に示されるように、ある縦仕切線に着目し、当該縦仕
切線の右側に存する仕切部屋(若しくは仕切部屋群:以
下、第1の部屋という)に収納される部品端子(以下、
第1の端子という)と、当該縦仕切線の左側に存する仕
切部屋(若しくは仕切部屋群:以下、第2の部屋とい
う)に収納される部品端子(以下、第2の端子という)
との間に配置された配線を以下の様にして抽出する。す
なわち、X方向制約グラフ順位データ42から第1の端
子と第2の端子の間の制約グラフ番号41を読み出し、
その制約グラフデータ400からグラフの第1の節と第
2の節の素片番号31を読み出し、その素片が配線であ
り第1の端子と第2端子を結ぶ線と交差する配線を検出
することにより配線の束を抽出し、その配線の束の幅と
必要間隙との和として、配線帯幅を計算する。ここで、
第1の部屋あるいは第2の部屋に収納される部品端子が
存在しない場合、端子制約グラフ作成手段104は、第
1の部屋の中心の空点(配線位置を避けた位置に存する
ものと仮定される架空の点)に寸法0の空端子(架空の
端子)が存在するものと仮定し、空端子を実端子(実際
の端子)であるかのように取り扱い、上記配線帯幅の計
算を行なう。
【0143】次いで、ステップS104における計算の
結果により、両部品端子の間の配線帯幅が両部品端子の
間隙よりも大きい場合はステップS105に進み、そう
でない場合はステップS106に進み、夫々のステップ
おいて、部品制約グラフデータ600の作成を行なう。
【0144】ステップS105は、端子制約グラフ作成
手段104が、まず、X方向をコンパクション方向61
とし、端子制約グラフデータ500を作成すると共に部
品制約グラフデータ600を作成し、その後、Y方向を
コンパクション方向61として、端子制約グラフデータ
500を作成すると共に部品制約グラフデータ600を
作成する(ステップS105)。以下、X方向をコンパ
クション方向61とした場合の端子制約グラフデータ5
00及び部品制約グラフデータ600をX方向端子制約
グラフデータ及びX方向部品制約グラフデータ600と
呼び、Y方向をコンパクション方向61とした場合の端
子制約グラフデータ500及び部品制約グラフデータ6
00をY方向端子制約グラフデータ及びY方向部品制約
グラフデータ600と呼ぶ。
【0145】ステップS105は、詳しくは、端子制約
グラフ作成手段104が、層面毎に、まず、X方向をコ
ンパクション方向61として、図4(b)に示されるデ
ータ構造を有するX方向端子制約グラフデータ500を
作成する。X方向端子制約グラフデータ500には、ス
テップS104で定義した第1の端子の素片番号31と
第2の端子の素片番号31とを記録する。また、第1の
端子と第2の端子の間の配線帯幅52を記録し、その間
に挟まれる配線の素片番号31も記録する。配線の素片
番号31の記録について更に詳しく述べると、第1の端
子と第2の端子を結ぶ線と同じ層面で交差する配線の数
nとともに、それらn個の配線の夫々についての素片番
号31が記録される。更に、X方向における部品相対移
動限界長62として、値0を記録する。その上で、端子
制約グラフ作成手段104は、X方向部品制約グラフデ
ータ600を作成する。尚、以下においては、X方向を
コンパクション方向61とした場合における部品相対移
動限界長62をX方向部品相対移動限界長62と呼び、
これに関連して、Y方向をコンパクション方向61とし
た場合における部品相対移動限界長62をY方向部品相
対移動限界長62とも呼ぶ。
【0146】ここで、端子制約グラフ及び部品制約グラ
フについて、図9及び図10を用いて、説明する。
【0147】図9を参照すると、端子制約グラフの概念
図が示されている。図9から理解されるように、端子制
約グラフの両端の節は、ある層面(端子層面)におい
て、コンパクション方向61において隣接する二つの部
品端子である。特に、図9においては、一端の節が端子
層面におけるビアホールの素片であり、他端の節がその
端子層面における部品端子である。端子制約グラフの長
さは、コンパクション方向61への部品相対移動限界長
62である。ここで、部品相対移動限界長62とは、隣
接するビアホール、部品端子あるいは半導体セルの素片
同士に関して、一方のビアホール等をX方向あるいはY
方向のコンパクション方向61に移動させた場合に、一
方のビアホール等が他方のビアホール等に対して最も接
近したときの一方のビアホールの移動距離である。図9
を例にして具体的に説明すると、ビアホールを基準とし
て部品端子をコンパクション方向61へ移動させた場合
に、部品端子が移動前にあった位置から部品端子がビア
ホールに最も近づくことのできる位置までの距離(長
さ)である。この長さは、部品端子とビアホールとの間
(部品端子間)に配線又は配線帯が介在している場合に
は、その配線帯等の幅により制限される。また、この長
さは、部品端子間の距離が配線帯等の幅よりも短い場合
には、負の値を有する。つまり、図9における部品端子
の移動ベクトルは、コンパクション方向61と逆方向に
なる。これら端子制約グラフに関するコンパクション方
向61、両端の節、および長さは、それぞれ、コンパク
ション方向61、グラフの第1および第2の節の部品端
子素片番号31、並びに部品相対移動限界長62とし
て、端子制約グラフデータ500に記録される。
【0148】図10を参照すると、部品制約グラフの概
念図が示されている。図10から理解されるように、部
品制約グラフは、複数層の夫々の層面上において想定さ
れた端子制約グラフに基づいて想定されるグラフであ
る。つまり、第1乃至第nの層面がある場合、部品制約
グラフは、各層面上において想定されるn個の端子制約
グラフに基づいて決定される。ここで、部品制約グラフ
の両端の節にあたる部品は、端子制約グラフの両端の節
にあたる部品端子(素片)の属する部品である。図10
においては、図9に示される端子制約グラフに基づいて
部品制約グラフを想定する場合が示されており、したが
って、部品制約グラフの両端の節は端子制約グラフの両
端の節の素片の属する単体のビアホールおよび部品とな
っている。部品制約グラフのコンパクション方向61は
端子制約グラフと同じであり、第1乃至第nの層の各層
面上における部品相対移動限界長のうち最も短い長さを
部品制約グラフの部品相対移動限界長とする。これら、
コンパクション方向61、両端の節、長さについての情
報は、端子制約グラフ作成手段104により、部品制約
グラフデータ600に記録される。即ち、端子制約グラ
フ作成手段104は、部品制約グラフデータ600に、
当該グラフの第1及び第2の節の部品番号32を記録す
る。また、部品制約グラフデータ600には、層面毎に
作成した端子制約グラフのグラフ長(端子制約グラフデ
ータ500の部品相対移動限界長62)に対して、その
グラフの端の部品端子の属する部品が同一の全ての端子
制約グラフを全層面から抽出し、それらの端子制約グラ
フの部品相対移動限界長62のうち最小の値を求め、そ
の値が部品制約グラフデータ600の部品相対移動限界
長62として記憶される。さらに、部品制約グラフデー
タ600には、部品制約グラフの長さを定めるにあたっ
て考慮した複数の端子制約グラフのうち、最もグラフの
長さの短い端子制約グラフの番号51が記録される。
【0149】再び、動作の説明に戻る。ここでは、先に
作成した端子制約グラフデータ500の部品相対移動限
界長62を0としたため、その値が最小となる。従っ
て、端子制約グラフ作成手段104は、部品制約グラフ
データ600の部品相対移動限界長62として値0を記
録する。更には、端子制約グラフ作成手段104は、最
もグラフの長さの短いX方向端子制約グラフの番号51
を記録する。
【0150】ここで、既に両端の節に同じ部品番号32
を記録した既存の部品制約グラフデータ600が存在す
る場合、端子制約グラフ作成手段104は、その部品制
約グラフデータ600の記録するX方向部品相対移動限
界長62と新たに計算したX方向部品相対移動限界長6
2とを比較して、その既存の部品制約グラフデータ60
0に記録されるX方向部品相対移動限界長62をより小
さい方の値に更新し、最小のX方向部品相対移動限界長
62を与えるX方向端子制約グラフ番号51を記録す
る。
【0151】次に、端子制約グラフ作成手段104は、
このX方向部品制約グラフデータ600の両節と同じ2
つの部品を両節とするY方向部品制約グラフデータ60
0を作成する。詳しくは、端子制約グラフ作成手段10
4は、まず、第2の端子と第1の端子をグラフの両端の
節とし、コンパクション方向61をY方向とする、Y方
向端子制約グラフデータ500を作成する。次いで、端
子制約グラフ作成手段104は、その端子制約グラフの
両端間に対して自由に斜めに曲げられる配線帯が介在し
た状態において、当該端子制約グラフの両端の端子がY
方向に移動し得る最大移動距離Mを計算し、その計算結
果をY方向部品相対移動限界長62としてY方向端子制
約グラフデータ500に記録する。すなわち、隣接する
ビアホールの素片、部品端子あるいは半導体セルの素片
同士に関して、素片同士の間に挟まれる配線束、すなわ
ち、配線の幅と必要間隙の束、を介して当該素片同士が
Y方向に接近し得る最大移動距離Mを計算し、Y方向端
子制約グラフデータ500のY方向部品相対移動限界長
62とする。更に、端子制約グラフ作成手段104は、
両端子それぞれが属する部品を両端とするY方向部品制
約グラフデータ600を作成し、両端の属する部品が同
じY方向端子制約グラフの部品相対移動限界長62の最
小値を記録する。
【0152】最大移動距離Mの計算は、以下において、
下記の式1〜式6を用い、更に具体的に説明される。か
かる説明のために、いくつかの変数が定義される。図9
において、下の部品の中心位置を基準位置として上の部
品の中心位置が相対座標(X,Y)で示されるものとす
る。また、両端子の夫々の中心位置から夫々のX方向に
おける端部までの長さ(径)の和をBxとし、両端子の
夫々の中心位置から夫々のY方向における端部までの長
さ(径)の和をByとする。更に、両端子を座標(X+
Y)に投影した、端子の中心から他端の端子の中心まで
のそれぞれの幅を座標(X+Y)に投影した幅をBzと
し、両端子を座標(Y−X)に投影した、端子の中心か
ら他端の端子までの幅の和をBwとする。かかる定義の
もと、端子制約グラフ作成手段104は、式1が成り立
つ場合に限り、式2から式6を用いて、上述した最大移
動距離Mの値を計算し、その計算結果を部品相対移動限
界長62とする。 −Bx<X<Bx ・・・(式1) U1=By ・・・(式2) U2=Bz−X ・・・(式3) U3=Bw+X ・・・(式4) U=|U1,U2,U3の最小値| ・・・(式5) M=Y−U ・・・(式6) 端子制約グラフ作成手段104は、このようにして求め
られた最大移動距離Mを、部品相対移動限界長62とし
て、Y方向端子制約グラフデータ500に記録すると共
に、Y方向部品制約グラフデータ600にも記録する。
ここで、両部品を記録する既存のY方向部品制約グラフ
データ600が存在する場合、端子制約グラフ作成手段
104は、既存のY方向部品制約グラフデータ600に
記録されたY方向部品相対移動限界長62と新たに求め
られたY方向部品相対移動限界長62との比較を行な
う。更に、端子制約グラフ作成手段104は、比較の結
果、新たに求められたY方向部品相対移動限界長62の
方が短い場合には、既存のY方向部品制約グラフデータ
600に記録されるY方向部品移動限界長62の値を新
たに求められた値に更新し、この値が更新された場合
は、部品制約グラフデータ600が記録するY方向端子
制約グラフ番号51についても、その新たなY方向部品
相対移動限界長62を与えるY方向端子制約グラフ番号
51に変更する。これらの処理を終えた後、ステップS
107の処理へと進む(ステップS105)。
【0153】一方、上述したステップS104における
計算の結果、両部品端子の間の配線帯幅が両部品端子の
間隙以下であった場合、端子制約グラフ作成手段104
は、上述したステップS105ではなく、以下に説明す
るステップS106の処理を行ない、X方向端子制約グ
ラフデータ500及びX方向部品制約グラフデータ60
0を作成する。
【0154】ステップS106は、詳しくは、端子制約
グラフ作成手段104が、まず、X方向端子制約グラフ
データ500を作成して、当該X方向端子制約グラフデ
ータ500に両部品端子の素片番号31を記録すると共
に、その両部品端子の間隙と配線帯幅52の差を計算
し、その差をX方向部品相対移動限界長62として、同
じくX方向端子制約グラフデータ500に記録する。
【0155】ステップS104の後に多くの場合このス
テップS106に進み、ここで端子制約グラフ作成手段
104が、両部品端子の間隙と配線帯幅52の差をX方
向部品相対移動限界長62としてX方向端子制約グラフ
データ500に記録する。そのため、後に両部品端子同
士をX方向に近づけるコンパクション処理を行なう場
合、この部品相対移動限界長62以上には近づかない様
に制約される。この様に制約することで、両部品端子
は、Y方向には互いに自由に移動できる余裕を残して接
近させることが出来る。
【0156】次いで、端子制約グラフ作成手段104
は、X方向部品制約グラフデータ600を作成し、当該
X方向部品制約グラフデータ600に対して、両部品の
部品番号32を記録すると共に、両部品に属する部品端
子を両端に持つX方向端子制約グラフのX方向部品相対
移動限界長62の最小値を記録し、更に、その最小値を
与えるX方向端子制約グラフ番号51を記録する。ここ
で、既にX方向部品制約グラフデータ600が存在する
場合には、端子制約グラフ作成手段104は、既存のX
方向部品相対移動限界長62と新たに求められたX方向
部品相対移動限界長62とを比較し、新たに求められた
X方向部品相対移動限界長62がより小さい値であった
場合には、既存のX方向部品相対移動限界長62を新た
に求められたX方向部品相対移動限界長62に置き換え
ることで、X方向部品制約グラフデータ600の更新を
図る。
【0157】尚、本実施の形態においては、以上述べら
れたステップS106における処理を、次のような処理
に置き換えることも可能である。
【0158】まず、端子制約グラフ作成手段104は、
複数の部品端子の中から、端子間を結ぶ線のX軸からの
傾きが最も小さくなるような部品端子の組み合わせを選
択し、その部品端子を第1及び第2の端子とする。
【0159】次いで、端子制約グラフ作成手段104
は、縦仕切線を部品端子の一種であるとみなし、第2の
端子と縦仕切線とを両端の節とするX方向端子制約グラ
フデータ500を作成する。このX方向端子制約グラフ
データ500には、配線帯幅として値0が記録され、部
品相対移動限界長62として値0が記録される。更に、
端子制約グラフ作成手段104は、第2の端子の属する
部品及び縦仕切線の属する部品を定義し、両者を両節に
持つX方向部品制約グラフデータ600を作成し、その
部品相対移動限界長62についても値0として記録す
る。
【0160】続いて、端子制約グラフ作成手段104
は、第1の端子及び縦仕切線を両端の節とするグラフに
ついてX方向端子制約グラフデータ500を作成する。
このX方向端子制約グラフデータ500には、第1の端
子と第2の端子との間の配線帯幅が記録されると共に当
該端子間に挟まれる配線の素片番号32が記録され、部
品相対移動限界長62も、また記録される。更に、端子
制約グラフ作成手段104は、第1の端子の属する部品
及び縦仕切線の属する部品を両節の部品とするX方向部
品制約グラフデータ600を作成し、そのX方向部品制
約グラフデータ600に対して、先のX方向端子制約グ
ラフデータ500に記録されたX方向部品相対移動限界
長62の最小値の部品相対移動限界長62を記録する。
【0161】次いで、端子制約グラフ作成手段104
は、先に処理した第1及び第2の端子以外の端子であっ
て、当該端子と先に処理した第1の端子とを結ぶ線のX
軸からの傾きが最小となるような端子を選択し、新たな
第2の端子(新第2の端子)とする。その上で、端子制
約グラフ作成手段104は、その新第2の端子と縦仕切
線とを両端の部品端子と記録するX方向端子制約グラフ
データ500を作成する。詳しくは、端子制約グラフ作
成手段104は、第1及び新第2の端子間の配線幅か
ら、先に得た第1の端子及び縦仕切線間に存する配線の
配線帯幅を引き算する計算を行なう。その減算の結果
は、配線帯幅52として、新第2の端子と縦仕切線とを
両端の部品端子とするX方向端子制約グラフデータ50
0に記録される。併せて、新第2の端子及び縦仕切線間
に挟まれる配線の素片番号32もX方向端子制約グラフ
データ500に記録される。更に、端子制約グラフ作成
手段104は、前述の処理の同様にして、新第2の端子
と縦仕切線を両端の部品端子として記録するX方向部品
制約グラフデータ600を作成する。更に、端子制約グ
ラフ作成手段104は、先に処理した第1及び第2の端
子以外の端子であって、当該端子と先に処理した第2の
端子とを結ぶ線のX軸からの傾きが最小となるような端
子を選択し、新たな第1の端子(新第1の端子)とす
る。その上で、端子制約グラフ作成手段104は、その
新第1の端子と縦仕切線とを両節の部品端子として記録
するX方向端子制約グラフデータ500を作成する。詳
しくは、端子制約グラフ作成手段104は、新第1及び
第2の端子間の配線幅から、第2の端子と縦仕切線との
間に存する配線の配線帯幅を引き算する計算を行なう。
その減算の結果は、配線帯幅52として、新第1の端子
と縦仕切線とを両節の部品端子とするX方向端子制約グ
ラフデータ500に記録される。併せて、新第1の端子
及び縦仕切線間に挟まれる配線の素片番号32もX方向
端子制約グラフデータ500に記録される。更に、端子
制約グラフ作成手段104は、前述の処理と同様にし
て、新第1の端子の属する部品と縦仕切線の属する部品
を両端とするX方向部品制約グラフデータ600を作成
する。
【0162】以下、同様にして、未処理の端子と、縦仕
切線の反対側にある既処理の端子を結ぶ線のX軸からの
傾きを計算し、その傾きが最小となる線を選択する。そ
して、その線の端の未処理の端子と縦仕切線を両端とす
る端子制約グラフデータ500を作成し、それらの端子
の属する部品を両端とする部品制約グラフデータ600
を作成する処理を繰り返す。
【0163】ここに掲げたステップS106についての
他の例は、ステップS106の前処理において仕切部屋
を大きくとった場合に、先のステップS106の処理と
比較して、端子制約グラフの数を少なく出来るという利
点を有する。詳しくは、ステップS106の前処理にお
いて仕切部屋の大きさを大きくとると、1つの仕切部屋
に収納される部品端子数が多くなる。その結果、一の仕
切部屋の部品端子と他の仕切部屋の部品端子の組み合わ
せによる端子制約グラフ数は、両仕切部屋に収納される
部品端子数の積で多くなるが、後に説明されたステップ
S106の他の例によれば、その端子制約グラフ数を部
品端子数程度に少なくできる。
【0164】尚、仕切部屋内の部品端子同士の関係につ
いては、仕切部屋内の部品端子同士の全組み合わせ(第
1の端子と第2の端子と呼ぶ)から、以下の条件が成り
立つ組み合わせをX方向(Y方向)で隣接する部品端子
の組み合わせとする。 (1)第2の端子が第1の端子よりもX方向右側(Y方
向上側)に存在すること。 (2)第1の端子の右側(上側)に存在する端子のう
ち、その端子と第1の端子との距離が、第2の端子と第
1の端子の距離と比べ短いか又は等しい距離の端子の数
をAとし、第2の端子の左側(下側)に存在する端子の
うち、その端子と第2の端子との距離が、第1の端子と
第2の端子の距離と比べ短いか又は等しい距離の端子の
数をBとすると、(A−1)*(B−1)=0となるこ
と。
【0165】上記(1)および(2)の条件が成り立つ
第1の端子と第2の端子の組み合わせを隣接する部品端
子の組み合わせとして抽出し、端子制約グラフを設定す
ることとすると、全体として、端子制約グラフデータ5
00及び部品制約グラフデータ600の作成に伴う計算
量の削減を図ることができる。即ち、この組み合わせの
抽出の計算量は、仕切部屋内の部品数の二乗で増大する
計算量を持つが、全部品端子を仕切部屋に分けて収納す
るため、1つの仕切部屋あたりの部品端子数は少なくな
り、計算量が軽減される。
【0166】端子制約グラフ作成手段104は、この第
1の端子と第2の端子に関して、ステップS104と同
様の処理によりその間に存する配線の幅(配線帯幅)を
計算し、第1の端子と第2の端子の間のX方向の間隙が
配線帯幅に満たない場合は、ステップS105と同様の
処理により、両部品端子の端子制約グラフデータ500
と両部品端子の属する部品の部品制約グラフデ―タ60
0を作成する。一方、その間のX方向の間隙が配線幅以
上ある場合、端子制約グラフデータ104は、ステップ
S106の前者の処理と同様の処理により、両部品端子
によるX方向の端子制約グラフデータ500と両部品端
子の属する部品のX方向の部品制約グラフデータ600
とを作成する(ステップS106)。
【0167】これらのステップS106又は前述のステ
ップS105の処理を終えると、次のステップS107
の処理が行われる。このステップS107においては、
前述のステップS104からステップS106までの処
理が、手法を同じままとして、且つ、X座標とY座標が
置き換えられて、実行される。これにより、端子制約グ
ラフ作成手段104は、Y方向部品制約グラフデータ6
00及びY方向端子制約グラフデータ500を作成する
(ステップS107)。
【0168】次に、ステップS108は、以下のように
X方向の部品制約グラフデータ600のグラフ長の和が
最短になる最短経路を計算する。なお、部品制約グラフ
のグラフ長は、部品相対移動限界長62の事である。順
位データ作成手段105は、先にグラフ長の和が最短に
なる経路として計算された既存の最短経路を用い、その
最短経路を構成するグラフ群の節の部品に接続される部
品制約グラフを抽出する。なお、最短経路はコンパクシ
ョン方向61前方における基板端から開始する。既存の
最短経路の部品(第1の部品)に接続する部品制約グラ
フ毎に、そのグラフ長を基板端から第1の部品に至る最
短経路長に加えた値を計算し、この値が最小値を与える
部品制約グラフを選ぶ。その部品制約グラフを最短経路
に加え、また、その最小となった値をその部品制約グラ
フの先端の節の部品まで至る最短経路長として記録する
(ダイクストラ法)。その先端の節にあたる部品を選択
部品と呼ぶ。こうして、最短経路を形成するX方向部品
制約グラフデータ600を、ダイクストラ法によるコン
パクション手法により抽出する(ステップS108)。
【0169】次に、ステップS109は、部品コンパク
ション手段107が、選択部品をX方向にその最短経路
長で移動させ配置する。次に、ステップS108に戻る
(ステップS109)。
【0170】以上のステップS108からステップS1
09の処理を繰り返し、順位データ作成手段105が部
品制約グラフを、順次、X方向の最短経路に加え、部品
コンパクション手段108が、部品レイアウトをX方向
にコンパクションする。ここで、印刷配線板の初期のレ
イアウトは、多少、設計ルールに違反するものであって
も良い。具体的には、隣接する配線2及び部品端子1及
びビアホール3及び多角形導体形状4の間隙が設計ルー
ルの最小間隙を守らず配置されているレイアウトの場合
であっても、本実施の形態によるコンパクション装置に
おいては、許容される。これは、本実施の形態によるコ
ンパクション方法によれば、設計ルールの最小寸法以下
の間隙が上述した処理の過程において必然的に是正され
るからある。
【0171】次に、部品コンパクション手段107は、
Y方向に対して、以上のステップS108からステップ
S109の処理を繰り返し、部品制約グラフデータ60
0を、順次、Y方向の最短経路に登録し、部品レイアウ
トをY方向にコンパクションする(ステップS11
0)。
【0172】次に、配線コンパクション手段108は、
順次に配線の素片番号31(処理配線素片)を選択し、
その配線素片番号31を記録する全てのY方向端子制約
グラフデータ500を抽出する。そして、配線コンパク
ション手段108は、抽出したY方向端子制約グラフデ
ータ500の端の部品端子(核端子)毎に、その核端子
と処理配線素片との間に存在する配線の幅と必要間隔と
処理配線素片の幅の和を計算し配線帯幅52とする。次
に、配線コンパクション手段108は、核端子の縦横斜
めの八方向の幅に配線帯幅52を加えた八角形形状を計
算し、配線抑制領域(配線を配することの禁止される領
域)の形状データ35とし記憶する。ここで、配線コン
パクション手段108は、Y方向端子制約グラフデータ
500で、処理配線素片から部品端子までの間に既に位
置が確定した配線(位置確定配線)が存在する場合は、
それを検出し、その位置確定配線を固定形状の核端子と
する配線抑制領域の形状データ35を作成する。配線コ
ンパクション手段108は、こうして配線抑制領域の形
状データ35を形成した場合に、図3(e)にデータ構
造を示す配線限界位置データ80に、配線抑制領域の形
状番号36と、処理配線素片番号31と、核端子の素片
番号31と、核端子の位置番号33を記録する。こうし
て、処理配線素片に対して、核端子毎に配線限界位置デ
ータ80を作成する。
【0173】次に、再配線手段109は、処理配線を、
複数の配線限界位置データ80の配線抑制領域外に、斜
めの配線形状も含む整形された形状に再配線する。以上
の処理を、全ての配線素片に対して行ない、全配線を整
形し再配線する(ステップS111)。
【0174】次に、より具体的な動作の例について、図
5及び図7並びに図9乃至図13を用いて説明する。
【0175】仕切部屋配置手段121は、まず、図5に
示されるように、仕切部屋を設定し、次いで、図7に示
すように、仕切部屋が部品端子を完全に囲う様に仕切線
を移動する。
【0176】次に、端子制約グラフ作成手段104は、
図9に示されるようにして、X方向をコンパクション方
向61とする端子制約グラフデータ500を作成すると
ともに、図10に示されるようにして、X方向の部品制
約グラフデータ600を作成する(ステップS10
8)。
【0177】次に、部品コンパクション手段107は、
X方向における部品制約グラフの最短経路長を計算し、
部品をX方向に最短経路長で移動して配置する(ステッ
プS109からステップS110)。
【0178】更に、部品コンパクション手段107は、
Y方向における部品制約グラフの最短経路長を計算し、
部品をY方向に最短経路長で移動して配置する(ステッ
プS118)。
【0179】このようして、図11に示されるように、
部品のレイアウトを許容範囲に収容するようにコンパク
ションする。図11を参照すれば理解されるように、図
7に示される部品配置が基板領域の左下角に集まるよう
にして、コンパクションされている。
【0180】次に、配線コンパクション手段108は、
図12に示されるように、処理配線毎に、処理配線素片
を記録する端子制約グラフデータ500を読み出し、そ
の処理配線素片と部品端子の間に挟まれる配線を抽出す
る。そして、配線コンパクション手段108が、抽出し
た配線素片を、Y方向の下側の核端子に寄せて折り曲
げ、八角形形状の配線限界位置データ800を作成す
る。この配線限界位置データ800は、配線限界位置デ
ータ格納手段80に格納される。
【0181】次に、再配線手段109が、図13に示す
ように、処理配線素片を、斜め配線を含む形状に整形し
て再配線し、結果のレイアウトデータ20を記憶する
(ステップS111)。
【0182】こうして、部品端子を配置する仕切部屋を
計算し、仕切線の両側に存在する部品端子による端子制
約グラフデータ500を作成し、部品と配線をコンパク
ションし、斜め配線を含む自由な形に再配線できる。
【0183】これは、部品制約グラフデータ600に、
隣接する仕切部屋に収納した部品端子同士がその間の配
線帯を介してX方向及びY方向へ移動可能な距離を、部
品相対移動限界長62として記録し、それをグラフ長と
する部品制約グラフデータ600の最短経路を計算し、
それにより部品レイアウトをコンパクションすることに
よる。また、配線と部品端子の間の配線抑制領域を計算
する配線コンパクション手段108と、その配線抑制領
域外に自由に配線する再配線手段109を用いたことに
より可能になった。
【0184】(第2の実施の形態)本発明の第2の実施
の形態によるレイアウトコンパクション装置は、前述の
第1の実施の形態の変形例であり、図14に示されるよ
うに、プログラム制御により動作するコンピュータ10
0a(中央処理装置、プロセッサ、データ処理装置)
と、表示部(CRTディスプレイあるいは液晶ディスプ
レイ等)101と、操作部(キーボードとマウスあるい
はタブレット等)102とを備えている。
【0185】コンピュータ100aは、図1に示される
コンピュータ100の有する構成に加え、更に、制約グ
ラフ更新手段112と端子制約グラフ統合手段113を
有する。
【0186】この制約グラフ更新手段112は、概略、
部品とそれに接続する配線との移動により生じる端子制
約グラフ等の内容の変更を計算し、該当する端子制約グ
ラフデータを更新する。
【0187】また、端子制約グラフ統合手段113は、
空端子以外の部品端子同士を接続する端子制約グラフの
連鎖を抽出し、これら両部品端子を接続する連鎖をまと
めた第2端子制約グラフデータ500を図4(b)に示
すデータ構造で作成する。次に、第2端子制約グラフの
両端の部品端子が属する部品を両端とする第2部品制約
グラフデータ600を作成する。
【0188】尚、コンピュータ100aに含まれる他の
構成要素は前述の第1の実施の形態における構成要素と
同様であり、従って、それらについての説明は省略す
る。
【0189】以下に、本実施の形態によるレイアウトコ
ンパクション装置の動作を図15に示されるフローチャ
ートを参照し、併せて、図5および図7、図11乃至図
13、並びに図16乃至図18を用いて説明する。
【0190】レイアウトデータ変換手段111は、第1
の実施の形態における手順と同様の処理手順により、レ
イアウトデータ格納手段20からレイアウトデータを受
けて、素片データ300a等を作成し、素片データ格納
手段30に格納する。次に、仕切部屋配置手段121に
より、基板領域を仕切部屋に分割する処理が行なわれ
る。更に、制約グラフ作成手段103により、仕切部屋
毎に、制約グラフデータ400及び制約グラフ順位デー
タ42の作成がなされる(ステップS100)。
【0191】次いで、ステップS104からS107に
おいて、第1の実施の形態における手順と同様の処理手
順により、仕切部屋に収納される部品端子(あるいは、
空端子)を仕切線を介して接続してなる制約グラフにつ
いて、端子制約グラフデータ500及び部品制約グラフ
データ600の作成がなされる。
【0192】続いて、順位データ作成手段105及び部
品コンパクション手段107は、第1の実施の形態にお
ける手順と同様の処理手順により、部品レイアウトをX
方向及びY方向にコンパクションする(ステップS10
8〜S110)。
【0193】以上のコンパクションは、当初から存在す
る基板外形に合わせてコンパクションする。これは、最
終的に望む基板外形(第2の基板外形)に合わせてコン
パクションするものではないため、部品レイアウトは一
応は最大限に密集されるが、そのままでは第2の基板外
形からはみ出す部品もある一方、第2の基板外形内にま
だ部品を配置出来る空間も存在するという、レイアウト
の不整合が存在し得る。そのため、以下の手順により、
この不整合を解消する。
【0194】次に、端子制約グラフ統合手段113は、
先にコンパクションした部品レイアウトに対して以下の
処理を行なう(ステップS206)。
【0195】詳しくは、端子制約グラフ統合手段113
は、まず、先にコンパクションした部品のレイアウトが
第2の基板外形からX方向にはみ出した寸法を計算し、
その値以上の値をX方向変位許容値(例えば、X方向変
位許容値を1図面格子とする)として記憶する。
【0196】次に、端子制約グラフ統合手段113は、
当初の基板外形の左端と端子制約グラフで結ばれる部品
に対して、第2の基板外形の左端とその部品とを結ぶ部
品制約グラフデータ600を作成する。更に全部品に対
して、第2の基板外形の左端と各部品を結ぶ部品制約グ
ラフデータ600を作成し、コンパクション方向61を
X方向と記録し、部品相対移動限界長62としてX方向
変位許容値を記録する。また、各部品と第2の基板外形
の右端を結ぶ部品制約グラフデータ600も同様に作成
する。この部品制約グラフにより、各部品がX方向に左
右ともX方向変位許容値以上は移動しない様に制限す
る。
【0197】次に、端子制約グラフ統合手段113は、
レイアウトにおいて、Y方向下側に存する一の部品端子
(空端子以外)に接続するY方向上側の端子制約グラフ
の連鎖で接続する空端子以外の部品端子を抽出する。こ
こで、下側の部品端子は、基板外形の線分の素片も部品
端子とする。また、当初の基板外形と部品端子を結ぶY
方向端子制約グラフがあった場合は、それを、第2の基
板外形とその部品端子を結ぶ第2端子制約グラフデータ
500に置き換える。
【0198】その上で、端子制約グラフ統合手段113
は、両部品端子間をつなぐ複数の端子制約グラフの配線
帯幅52を合計し、その値を、両部品端子同士を結ぶ第
2端子制約グラフの配線帯幅52の候補として記憶す
る。なお、この第2端子制約グラフデータ500の作成
可否は以下の手順で決定する。
【0199】続いて、端子制約グラフ統合手段113
は、両端の部品端子の間隙であってX方向における間隙
から、その部品端子間の配線帯幅を引き算した値を計算
する。この値は、部品端子同士のX方向の間隙余裕であ
り、この値が負の値になる場合には部品端子をY方向に
移動させる場合に部品端子同士の衝突を生じ、移動が妨
げられる。この値が先に設定したX方向変位許容値の2
倍以下である場合に限り、端子制約グラフ統合手段11
3は、これら両部品端子を接続するY方向第2端子制約
グラフデータ500を以下の様に作成する。
【0200】すなわち、端子制約グラフ統合手段113
は、第2端子制約グラフデータ500を作成し、両部品
端子の素片番号31をそのグラフの両端の素片番号31
として記録し、両部品端子間の配線帯幅52を記録す
る。
【0201】更に、端子制約グラフ統合手段113は、
第1の実施の形態におけるステップS105の処理と同
様にして、Y方向の部品相対移動限界長62(M)を計
算し、当該部品相対移動限界長62を当該Y方向第2端
子制約グラフデータ500に記録する。また、端子制約
グラフ統合手段113は、Y方向第2部品制約グラフデ
ータ600を作成し、Y方向第2端子制約グラフデータ
500の両端の部品端子の属する部品の部品番号32を
記録すると共に、グラフ端の部品端子の属する部品が同
じY方向第2端子制約グラフデータ500の最小の部品
相対移動限界長62を記録し、その最小値を与えるY方
向第2端子制約グラフ番号51をY方向第2部品制約グ
ラフデータ600に記録する。
【0202】その上で、端子制約グラフ統合手段113
は、図19に示される様にして、Y方向第2端子制約グ
ラフデータ500の上側の節(枝側節)の素片が、自由
に曲がり得る配線帯を介して縦横斜め方向から下側の節
(根元側節)に向けて移動し得る距離と方向を、限界領
域内の移動ベクトルとして表わし、その限界領域を計算
する。尚、この領域は、その形状に起因して、相対限界
移動量八角形と呼ぶ。詳しくは、相対限界移動量八角形
は、図19に示される様に、端子制約グラフの枝側節の
素片の中心を原点とする座標系において、根元側節の素
片を中心とした八角形である。この八角形は、以下の様
にして計算する。先ず、根元側節の素片を八角形で表わ
し、それを配線帯幅で太らせた八角形を計算する。次
に、この八角形の根元側節の素片の中心から各辺までの
距離を、八角形で近似した枝側節の素片中心から根元側
節側の辺までの距離を加算することで拡大する。
【0203】この相対限界移動量八角形の形状に関して
は、図3(d)にしめされるようにして、形状データ3
5が作成される。枝側節からこの形状に至るベクトルの
方向と長さが、枝側節の端子の中心が根元側節に向け移
動し得る方向と限界移動距離を表わす。この相対限界移
動量八角形についての形状番号36は、第2端子制約グ
ラフデータ500に記録される。
【0204】これら述べたような部品端子の組み合わせ
の抽出と処理とは、部品レイアウトの上端に至るまで繰
り返される(ステップS206)。
【0205】次にステップS208は、こうして統合化
し作成したY方向第2部品制約グラフデータ600に対
してY方向の最短経路を以下のように計算する。
【0206】先ず、順位データ作成手段105が、ダイ
クストラ法による最短経路探索手法により、Y方向の既
存の最短経路上の部品に接続するY方向第2部品制約グ
ラフデータ600から、新たな最短経路を生じるものを
選び、選択グラフと呼ぶ。
【0207】次に、順位データ作成手段105が、この
選択グラフのY方向上側端の部品(選択部品)に対し
て、その全部品端子を抽出し、その部品端子にY方向下
側に接続するY方向第2端子制約グラフから、下端の部
品端子が既存の最短経路上の部品に属する第2端子制約
グラフデータ500(選択端子グラフ)を選ぶ。次に、
順位データ作成手段105が、その第2端子制約グラフ
データ500の相対限界移動量八角形(下側八角形)を
下側部品の部品移動ベクトル22(後にこの作成手順を
述べる)で移動させる。順位データ作成手段105が、
選択部品位置からY方向下側を向くベクトルを、X方向
にX方向変位許容値以内で変位させ、それが最初の下側
八角形群に交わる点までのY成分が最大になるベクトル
を計算し、それを選択部品の部品移動ベクトル22とし
て図6(c)に示す部品移動ベクトルデータ900に記
憶する。そして、順位データ作成手段105は、部品移
動ベクトル22の先端が接する相対限界移動量八角形の
属する部品(下側部品)を部品移動ベクトルデータ90
0の下側部品とし、選択部品を上側部品とし記憶する。
また、順位データ作成手段105は、選択部品の部品移
動ベクトル22のY方向成分を選択部品の最短経路長と
して記憶する。また、順位データ作成手段105は、選
択部品と下側部品を結ぶ部品制約グラフデータ600を
選択グラフとし、Y方向の最短経路に加える。そして、
順位データ作成手段105は、選択グラフには、選択部
品のY方向最短経路長から下側部品のY方向最短経路長
を引いた値でY方向部品相対移動限界長62を更新し記
録する。ここで、順位データ作成手段105は、後に、
選択グラフを最短経路に加える以前のデータ状態に復元
するために必要なデータ一式を記憶する。次に、ステッ
プS209に進む。また、この全ての処理を終えた場合
はステップS111に進む(ステップS208)。
【0208】次に、ステップS209は、部品コンパク
ション手段107が、選択部品の各端子(選択端子)を
順次に抽出する。そして、部品コンパクション手段10
7が、その選択端子を部品移動ベクトル22で移動させ
る位置に至るまで、選択端子を所属する仕切部屋から移
動方向で隣接する仕切部屋に順次移動させる。部品移動
ベクトル22のX方向成分が大きい場合は、X方向に隣
接する仕切部屋への移動も生じる。そして、選択端子が
収納される仕切部屋を移動する都度、その端子制約グラ
フデータ500を更新するよう、制約グラフ更新手段1
12に通知する。また、それに関する部品制約グラフデ
ータ600をも更新する。部品制約グラフデータ600
の更新は、制約グラフ更新手段112が直接行っても良
いし、更新された端子制約グラフデータ500に応じて
端子制約グラフ作成手段104が行っても良い。また、
別個に設けられた他の手段が行うこととしても良い。こ
うして、選択部品の全ての選択端子を処理した場合はス
テップS215に進む。
【0209】次に、図20から図21への部品のY方向
下への移動例を参考に、ステップS209で、制約グラ
フ更新手段112が、選択端子を仕切部屋から仕切部屋
に移動する都度、端子制約グラフデータ500と部品制
約グラフデータ600を更新する手順を詳しく説明す
る。
【0210】(1)すなわち、制約グラフ更新手段11
2は、第1に以下の処理を行なう。部品端子(第1の移
動端子:図20のA)が移動する先の仕切部屋が収納す
る部品端子(仲介端子:図20の空端子L)を抽出す
る。
【0211】第1の移動端子と仲介端子を結ぶ端子制約
グラフデータ500を読み、その他端の節(FからK及
びB)が第1の移動端子の元の仕切部屋には隣接しない
が、第1の移動端子の移動先の仕切部屋には隣接するよ
うな節を決定する。例えば、図20において、端子H、
I、Jは、端子Aの仕切部屋とは隣接しないが、端子A
の移動先の仕切部屋とは隣接する。この場合、第1の移
動端子(A)とその端子(H、I、J)を節とし結ぶ端
子制約グラフデータ500を作成し、第1の移動端子
(A)と仲介端子(L)を結ぶ端子制約グラフの挟む配
線束(中間束)を、仲介端子(L)と端子(H、I、
J)を結ぶ端子制約グラフデータ500の挟む配線束
(既存束)に加えた総配線束を記録する。ただし、第1
の移動端子(A)に接続する配線がその配線束に含まれ
る場合はそれを記録から除く。また、中間束と既存束が
結合端に同じ配線素片を持つ場合は、その配線素片を総
配線束から除去する。この除去後、再び中間束と既存束
が結合端に同じ配線素片を持つ場合は再度その配線素片
を総配線束から除去する。一方、第1の移動端子(A)
の元の仕切部屋には隣接するが、その移動先の仕切部屋
には隣接しない部品端子(C、D、E)については、そ
の部品端子と第1の移動端子(A)を結んでいた端子制
約グラフデータ500を削除する。それ以外の部品端子
(F、G、K、B)と第1の移動端子(A)を接続する
端子制約グラフデータ500についても、その接続方向
を再定義し更新する。
【0212】(2)制約グラフ更新手段112は、第2
に以下の処理を行なう。第1の移動端子(A)の元の仕
切部屋に空端子(図21の端子M)を設定し、第1の移
動端子(A)と結ばれていた部品端子のうち、空端子
(M)が仕切線を介して隣接する部品端子(K、B、
C、D、E、F、G)を結ぶ端子制約グラフデータ50
0を作成し、以前の第1の移動端子との間の配線束を空
端子との間の配線束として記録する。また、その空端子
と移動後の第1の移動端子とを結ぶ端子制約グラフデー
タ500を作成し、その間に挟む配線は無しとして記録
する。ここで、第1の移動端子と接続する配線が有り、
それが第1の移動端子の移動により引き伸ばされる場合
は、その配線を第1の移動端子から、その他端までの、
空端子の片側の部品端子と結ぶ端子制約グラフデータ5
00に追加し記録する。
【0213】次に、第1の実施の形態のステップS10
4からステップS107により、端子制約グラフ作成手
段104が、選択端子の移動により新規に作成あるいは
更新したX方向及びY方向の端子制約グラフデータ50
0全ての部品相対移動限界長62を更新し、また、それ
に関する部品制約グラフデータ600を更新する。その
後に次の選択端子を処理する。こうして、選択部品の全
ての選択端子を処理した場合は、次にステップS215
に進む(ステップS209)。
【0214】ステップS215は、以上の処理で更新し
た部品制約グラフに関し、その節の部品の第2の基板外
形内への収納可能性を以下の様に判定する。なお、ステ
ップS208の処理で既に移動した部品を既移動部品と
呼ぶ。すなわち、収納可能性の計算は、順位データ作成
手段105が、X方向をコンパクション方向61とし、
第2の基板外形の左端から既移動部品を選択部品まで結
ぶX方向部品制約グラフを抽出し、その最短経路を計算
する。次に、選択部品から既移動部品を第2の基板外形
の右端まで結ぶX方向部品制約グラフを抽出し、その最
短経路を計算する。そして、両最短経路を合わせ、第2
の基板外形の左端から既移動部品と選択部品を結び第2
の基板外形の右端に至るX方向最短経路を得る。この第
2の基板外形の右端の最短経路長は、X方向に更に第2
の基板外形のレイアウトを縮小する事が可能な寸法を意
味する。すなわち、その最短経路長が負の値になる場合
は、第2の基板外形内にこのX方向最短経路の部品連鎖
を収納し得ないことが分かる。その場合は、X方向のコ
ンパクションネックがあると判定し、以下のステップS
216に進む。
【0215】一方、そうでは無い場合は、順位データ作
成手段105が、最短経路の節の既移動部品(再配置部
品)をX方向最短経路長で左に移動させる部品移動ベク
トル22を計算する。次に、そのベクトルを再配置部品
の以前の部品移動ベクトル22に加算したベクトル(第
2のベクトル)を計算する。また、再配置部品に属する
部品端子を上端に持つ全てのY方向第2端子制約グラフ
を抽出する。次に、それらの第2端子制約グラフの下端
の部品端子の相対限界移動量八角形を下側部品の移動ベ
クトルで移動した位置を計算する。次に、再配置部品の
第2のベクトルの先端位置を通りY軸に平行な直線を計
算し、その直線がそれらの八角形と交わる位置の最上点
を計算する。次に、第2のベクトルの先端をその点まで
変位させたベクトルを計算し、それを新たな部品移動ベ
クトル22とし記録する。この様に部品移動ベクトル2
2を計算したのは、部品のX方向の相対配置を整え再配
置し、また、それにより、更にY方向下側に移動出来る
様になった部品をY方向下側に再配置したものである。
次に、ステップS208に戻り処理を繰り返す(ステッ
プS215)。
【0216】ステップS216は、順位データ作成手段
105が、選択部品の端子にX方向で連結する端子制約
グラフデータ500の両端の端子をY方向に投影し、そ
の影がその間の配線帯を介して最接近し得る位置までの
Y方向の移動距離を計算する。そして、順位データ作成
手段105が、その距離をY方向部品相対移動限界長6
2とするY方向の部品制約グラフデータ600(端子排
除グラフ43として図17に示される)を作成する。ま
た、この端子排除グラフ43の相対限界移動量八角形
は、その上端子の位置からその部品相対移動限界長だけ
Y方向下に存在する無限長の水平線とする。これによ
り、上端子が常に下端子よりもY方向で上に配置され、
X方向では両者は決して重ならないように制約される。
また、順位データ作成手段105が、その他の部品制約
グラフデータ600のY方向の最短経路の記録をステッ
プS208での選択部品の選択以前に戻し、ステップS
208に戻る(ステップS216)。
【0217】こうしてステップS216は、X方向の部
品レイアウトが制限範囲を逸脱しないようにY方向のコ
ンパクションを制御する。以上のステップS208から
ステップS216の処理を繰り返し、部品制約グラフデ
ータ600を順次登録する。
【0218】ステップS111は、配線コンパクション
手段108が、第1の実施の形態のステップS111と
同じく、配線限界位置データ80を作成し、再配線手段
109が、処理配線を配線限界位置データ80の配線抑
制領域外に斜めの配線形状を含む形状に整形して再配線
する(ステップS111)。
【0219】次に、より具体的な動作の例について、図
22を用いて説明する。
【0220】図22(a)を参照すると、初期の配置状
態が示されており、この配置を部品コンパクション手段
107がY方向下にコンパクションする場合について考
察する。ここで、部品のX方向への並びが4部品以下の
第2の基板外形が指定されているものとする。この指定
の下では、ステップS108からS109にかけての処
理により、部品1から部品4までが下に移動する一方、
部品5はステップS215による配置の結果、第2の基
板外形の外にはみ出すこととなる。このような違反を補
うべく、ステップS216において、部品5を上端子と
し部品4を下端子とする端子排除グラフ43を作成し、
部品5については、部品1〜部品4が移動後に存する行
まで降ろさない制約を加える。この端子排除グラフを加
えた状態で、改めてステップS108からステップS2
16を行なうと、部品5は部品1〜部品4の存する行の
上の行に配置されることとなる。次いで、ステップS1
08からS109にかけての処理により、部品5に続い
て部品6から部品8までを下に移動して、部品5〜部品
8を同じ行に配置する。ここで、部品9も同様にして下
に移動させることとすると、部品9が第2の基板外形の
外にはみ出すこととなるため、前述の部品5及び部品4
についての操作と同様に、部品9と部品8の端子排除グ
ラフ43を作成する。これにより、部品9は、部品5〜
部品8の存する行の上の行に配置されることとなる。更
に、部品9と同じ行に、部品10から部品12までを配
置し、また、前述の部品5及び部品9と同様にして、部
品13を部品9〜部品12の存する行の上の行に配置す
る。最後に、部品13と同じ行に部品14〜部品16が
配置されることで、図22(b)に示されるような配置
状態を得ることができる。
【0221】第1の効果は、Y方向のコンパクションに
より形成するレイアウトのX方向の最長経路長が限界値
以内におさえられるので、後に行なうX方向のコンパク
ションによるX方向の基板寸法を制限範囲におさめるこ
とができる。
【0222】その理由は、コンパクション方向61に垂
直方向の基板端のコンパクション移動可能な距離が必要
距離に満たない原因の部品を検出し、その部品と隣接す
る部品のコンパクション方向61への移動を制限する端
子排除グラフ43を作成する事で、コンパクション方向
61に垂直方向の部品の密度を制御する機能を有するた
めである。
【0223】(第3の実施の形態)本発明の第3の実施
の形態によるレイアウトコンパクション装置は、前述の
第2の実施の形態の変形例であり、概略、第2の実施の
形態における構成と同じ構成を有する。
【0224】特に、本実施の形態におけるレイアウトコ
ンパクション装置は、図23に示す様に、最短経路解消
手段210を有する。この最短経路解消手段210は、
部品コンパクション手段107が部品制約グラフデータ
600の最短経路を計算した後に、最短経路のビアホー
ルを最短経路を解消する方向に移動して最短経路を解消
し、コンパクションの障害を除去するものである。
【0225】以下に、本実施の形態によるレイアウトコ
ンパクション装置の動作について図面を参照して詳細に
説明する。尚、第3の実施の形態の動作のフローチャー
トを図24に示すが、これは、第2の実施の形態のフロ
ーチャートのステップS216を、最短経路解消手段2
10によるステップS316の動作に変えたものであ
る。
【0226】レイアウトデータ変換手段111は、第1
の実施の形態における手順と同様の処理手順により、レ
イアウトデータ格納手段20からレイアウトデータを受
けて、素片データ300a等を作成し、素片データ格納
手段30に格納する。次に、仕切部屋配置手段121に
より、基板領域を仕切部屋に分割する処理が行なわれ
る。更に、制約グラフ作成手段103により、仕切部屋
毎に、制約グラフデータ400及び制約グラフ順位デー
タ42の作成がなされる(ステップS100)。
【0227】次いで、端子制約グラフ作成手段104
は、ステップS104からS107において、第1の実
施の形態における手順と同様にして、仕切部屋に収納さ
れた部品端子(あるいは、空端子)を仕切線を介して接
続してなる制約グラフについて、端子制約グラフデータ
500及び部品制約グラフデータ600を作成する。
【0228】続いて、順位データ作成手段105及び部
品コンパクション手段107は、第1の実施の形態にお
ける手順と同様の処理手順により、部品レイアウトをX
方向及びY方向にコンパクションする(ステップS10
8からS110)。
【0229】次に、第2の実施の形態のステップS20
6からステップS209の処理により、選択部品をY方
向に最短経路長で移動し、更にX方向に移動する。次
に、第2の実施例のステップS215の処理により、第
2の基板外形の最左端から既移動部品と選択部品を結び
第2の基板外形の最右端に至るX方向最短経路を得る。
この第2の基板外形の最右端の最短経路長が負の値にな
る場合に、その最短経路をネック経路と呼ぶ。そして、
この場合は、以下のステップS316に進む。
【0230】そうでは無い場合は、ステップS208に
戻り処理を続行する。
【0231】ステップS316は、最短経路解消手段2
10が、第2の基板外形の最左端から既移動部品と選択
部品を結び第2の基板外形の最右端に至るX方向最短経
の節の部品のうち、その部品の上に接続するY方向部品
制約グラフが上端で既依存部品には接続しない部品を抽
出する。次に、その部品のうちビアホールあるいは少数
端子部品、あるいは、それらの内の最小端子数の部品を
選択する。その部品を変位部品と呼ぶ。
【0232】そして、以下の様にして、その変位部品を
そのネック経路から外す。すなわち、変位部品とネック
経路で連結する部品番号32を両端とするY方向端子排
除グラフ43(部品制約グラフデータ600)を作成す
る。そして、部品コンパクション手段107が、変位部
品の初期位置からY方向端子排除グラフのY方向部品相
対移動限界長62以下のY方向への移動位置を計算す
る。そして、変位部品を現在の位置からその位置までY
方向上側に移動させる様に、変位部品の各部品端子を現
在の仕切部屋からY方向上側で隣接する仕切部屋に順次
移動させる。その移動に伴い、変位部品の各部品端子の
端子制約グラフデータ500を更新し、また、変位部品
の部品制約グラフデータ600を更新する。
【0233】次に、ステップS208に戻りY方向及び
X方向の部品制約グラフデータ600の最短経路探索を
やり直す(ステップS316)。
【0234】こうしてX方向の部品レイアウトが制限範
囲を逸脱しないようにコンパクションを制御する。以上
のステップS208からステップS316の処理を繰り
返し、部品制約グラフデータ600を順次登録する。
【0235】ステップS111は、第1の実施の形態と
同じく、配線コンパクション手段108が、第1の実施
の形態のステップS111により、配線限界位置データ
800を作成し、再配線手段109が、配線を配線限界
位置データ800の配線抑制領域外に斜めの配線形状を
含む形状に整形して再配線する(ステップS111)。
【0236】こうして、第3の実施の形態では、最短経
路解消手段210が、部品のX方向のコンパクションの
障害となっているビアホールを検出し、そのビアホール
をY方向に移動させ障害を解消する事で、部品移動の障
害を自動的に解消して部品を移動できる。
【0237】(第4の実施の形態)本発明の第4の実施
の形態によるレイアウトコンパクション装置は、前述の
第1の実施の形態の変形例であり、第1の実施の形態と
同様に、図25に示すプログラム制御により動作するコ
ンピュータ100cと、表示部101を備えている。
【0238】特に、コンピュータ100cは、第1の実
施の形態の構成に加え、部品移動指定手段301を有す
る。この部品移動指定手段301は、各部品の移動方向
を指定する部品移動目標ベクトルデータ63をレイアウ
トの任意の位置に向けて設定するものである。
【0239】以下に、図26のフローチャートを参照し
て、第4の実施の形態の全体の動作について詳細に説明
する。
【0240】レイアウトデータ変換手段111は、第1
の実施の形態における手順と同様の処理手順により、レ
イアウトデータ格納手段20からレイアウトデータを受
けて、素片データ300a等を作成し、素片データ格納
手段30に格納する。次に、仕切部屋配置手段121に
より、図27に示す様に、基板領域を仕切部屋に分割す
る処理が行なわれる。更に、端子制約グラフ作成手段1
04により、仕切部屋毎に、制約グラフデータ400及
び制約グラフ順位データ42の作成がなされる(ステッ
プS100)。
【0241】その後、部品移動指定手段301は、各部
品それぞれの位置からレイアウトの任意の位置である移
動目標位置630に向かうベクトルである部品移動目標
ベクトルデータ63を設定する(ステップS301)。
詳しくは、操作指令入力手段110が操作者から管面で
のマウス操作、あるいはキーボード操作等により指示を
受け取ると、部品移動指定手段301は、各部品毎に、
その初期の位置を始点とし且つ移動目標位置630を終
点とするベクトルを、その部品移動目標ベクトルデータ
63として、設定する(図27参照)。また、部品移動
指定手段301は、部品移動中心点を指定する。この部
品移動中心点は、コンパクションの中心点であり、部品
移動中心点へ向かう方向をコンパクションの方向とす
る。ここで、本実施の形態によるシステムが、複数の部
品の部品移動目標ベクトルデータ63の群について、通
信回線を通じて読み込むこととしても良いし、あるいは
磁気記録媒体から読み込むこととしても良い。
【0242】本実施の形態においては、部品制約グラフ
データ600の節として移動目標起点とする不動点を記
録する。そして、部品のY方向(下方向)の移動目標距
離をグラフの長さとし、移動目標起点を第1の節とし部
品番号32を第2の節とするY方向の部品制約グラフデ
ータ600を作成する。同様に、部品のX方向(左方
向)の移動目標距離をグラフの長さとするX方向の部品
制約グラフデータ600を作成する。この様に移動目標
起点と部品とを結ぶ部品制約グラフデータ600を作成
することにより、部品を移動目標ベクトルデータ63に
合わせて移動することができる。
【0243】尚、ステップS301において、部品移動
目標ベクトルデータ63を次のように設定すると、部品
レイアウトの制御を行なうことができる。全部品につい
て、任意のレイアウト位置に向かう部品の移動方向を、
部品移動目標ベクトルデータ63として、一括して設定
すると、部品レイアウトを収束することができる。ま
た、全部品について、部品移動目標ベクトルデータ63
をその逆方向に向けるようにして、即ち、部品の移動方
向と逆方向に部品移動目標ベクトルデータ63が向くよ
うにして、部品移動目標ベクトルデータ63を一括して
設定すると、部品レイアウトを拡大することができる。
【0244】以上述べたような処理により、移動目標起
点と部品番号32で示される部品とを結ぶ部品制約グラ
フデータ600の作成がなされると、次いで、端子制約
グラフ作成手段104は、かかる部品制約グラフデータ
に加え、上述した第1の実施の形態におけるステップS
104からS107の処理と同様の処理手順に従い、そ
の他の端子制約グラフデータ500及び部品制約グラフ
データ600を作成(若しくは更新)する。
【0245】続いて、ステップS310は、部品コンパ
クション手段107が、部品(移動候補部品)毎に、そ
の部品に接続する部品制約グラフデータ600を読み出
す。そして、その部品制約グラフが他端で接続する部品
が、その部品制約グラフのコンパクション方向61で既
に移動済みの部品(移動済部品)である部品制約グラフ
データ600だけを抽出する。なお、不動点及び基板外
形は、処理の初期に移動済部品として登録される。次
に、その移動済部品のそのコンパクション方向61の移
動距離に部品制約グラフの部品相対移動限界長62を加
算した値を計算する。その値を移動候補部品のそのコン
パクション方向61の移動制約長として記憶する。ま
た、既に移動候補部品の移動制約長が記憶されていた場
合は、移動制約長を、より小さい値に更新し記憶する。
なお、移動制約長が負の値の場合は、コンパクション方
向61と逆方向に移動させることを意味し、また、この
負の値がより負側にある値はより小さい移動制約長であ
る。こうして、全ての移動候補部品の移動制約長を計算
する。次に、最小の移動制約長を与える移動候補部品と
コンパクション方向61の組み合わせを選ぶ。次に、そ
の移動候補部品をそのコンパクション方向61にその移
動制約長だけ移動させ、そのコンパクション方向61で
移動済みの部品として記憶する。この様に、移動制約長
が最小の部品をX方向あるいはY方向の量子化方向に順
次移動するコンパクション配置を行なう(ステッ プS
310)。
【0246】更に、配線コンパクション手段108は、
第1の実施の形態におけるステップS111に従い、配
線限界位置データ800を計算し、配線限界位置データ
格納手段80に格納する。
【0247】最後に、再配線手段109は、配線限界位
置データ格納手段80に格納された配線限界位置データ
800を参照して、その限界位置以内の空間に配線を斜
め線を有する自由な形状に再配線する。
【0248】尚、この第4の実施の形態は、部品移動指
定手段301が部品移動目標ベクトルデータ63を設定
し、その後に第2あるいは第3の実施の形態における動
作と同様の動作を行なうように、変形されるものとして
も良く、これにより、レイアウトをコンパクションする
ことも可能である。
【0249】次に、より具体的な動作の例について、図
26乃至図29を用いて説明する。
【0250】初期のレイアウトから、素片データの作
成、仕切部屋に対する部品端子の収納、及び制約グラフ
の作成が行なわれると(ステップS100)、部品移動
指定手段301は、操作者の指令に従い、図27に示さ
れるように、個々の部品に対し、部品移動目標ベクトル
データ63を指定する。また、部品移動中心点を部品G
の位置に指定する。この際、新たに挿入する配線の指定
も行われる(ステップS301)。
【0251】その後、端子制約グラフデータ500及び
部品制約グラフデータ600の作成が行なわれると(ス
テップS104〜107)、部品コンパクション手段1
07は、先ず、不動点が移動済部品と記録される。次
に、図27に示されるように、不動点に部品制約グラフ
で接続される各部品に対して、その移動目標距離を移動
制約長と記録する。次に、最小の移動制約長として、部
品Dを移動目標ベクトルでX方向に移動させる移動制約
長を抽出し、部品DをX方向に移動させる。次に、部品
KをX方向に移動目標ベクトルで移動させる移動制約長
を最小の移動制約長として抽出し、部品KをX方向に移
動させる。次に、部品Dを移動目標ベクトルでY方向に
移動させる移動制約長を最小の移動制約長として抽出
し、部品DをY方向に移動させる。次に、部品Kを移動
目標ベクトルの移動制約長でY方向に移動させる。次
に、部品EをY方向に移動させ、部品HをY方向に移動
させ、部品AをY方向に移動させ、部品JをY方向に移
動させる。以下、順に、部品FをX方向、部品CをY方
向、部品BをY方向、部品IをY方向、部品BをX方
向、部品IをX方向、部品EをX方向、部品AをX方
向、部品HをX方向の順に移動させ、図28の部品配置
を得る(ステップS310)。この段階においては、配
線の具体的配置位置は、まだ、定まっていない。
【0252】続いて、配線コンパクション手段108
は、配線に関して、その配線を挟む端子制約グラフデー
タ500の一方の端の部品端子の形に添って配線を寄せ
て折り曲げた八角形形状の配線限界位置データ80を作
成し記憶する(ステップS111)。
【0253】最後に、再配線手段109は、配線を斜め
配線を含む形状に整形して、再配線を行なう。再配線手
段109により再配線の行われた結果は、図29に示さ
れる。
【0254】以上説明したように、本実施の形態によれ
ば、部品の移動方向を移動目標で指定する部品移動指定
手段301がシステムに備えられていると共に、部品コ
ンパクション手段107が当該部品の移動方向に対して
部品を移動し得る機能をも有することから、任意の位置
に部品を移動でき、例えば部品レイアウトを広げつつコ
ンパクションを行なうことが可能である。
【0255】(第5の実施の形態)本発明の第5の実施
の形態によるレイアウトコンパクション装置は、第1の
実施の形態の変形例であり、概略、第1の実施の形態と
同様の構成を備える。
【0256】特に、本実施の形態によるレイアウトコン
パクション装置は、部品端子をその収納される仕切部屋
から他の仕切部屋に移動させるための部品移動指定手段
(当該手段自体については図示せず;動作にて説明)を
備える。
【0257】ここで、多端子の部品であって、且つ、端
子の間隔が固定されているような部品については、各端
子の属する仕切部屋同士の相対的な位置関係も定まって
いることとなる。即ち、一の端子の属する仕切部屋の番
地について他の端子の属する仕切部屋の番地を基準とし
て相対的に表すこととすると、その相対的な番地(相対
番地という)は、固定されてなければならない。従っ
て、かかる部品を移動させる場合には、夫々、上記した
相対番地を保持したまま、かかる部品の各端子を一斉に
移動させなければならない。即ち、移動前の各端子の属
する仕切部屋同士の相対的な位置関係は、移動後におい
ても変わらない。
【0258】また、本実施の形態において、制約グラフ
更新手段112は、部品端子が収納される仕切部屋を移
動した場合に、端子制約グラフと部品制約グラフを更新
する。
【0259】また、本実施の形態において、順位データ
作成手段105は、部品制約グラフデータ600の最短
経路を基板の上下左右から作成し、それにより、部品余
裕を計算することにより部品の配置位置がネックを生じ
ることを検出し、ネックを生じた最短経路の部品制約グ
ラフデータ600に記録した端子制約グラフデータ50
0の節の部品端子あるいは空端子を収納する仕切部屋を
表示部101に強調表示させる。
【0260】以下に、図30に示されるフローチャート
を参照して、第5の実施の形態の全体の動作について詳
細に説明する。
【0261】先ず、レイアウトデータ変換手段111に
より、第1の実施の形態におけるステップS100と同
様にして、レイアウトデータ格納手段20からのレイア
ウトデータを読み込み、素片データ300a等の作成、
及び作成した素片データ300a等の素片データ格納手
段30に対する格納がなされる。更に、仕切部屋配置手
段121により、基板領域が仕切部屋に分割され、部品
端子の素片、ビアホールの素片、或いは部品外形の素片
等の配線以外の素片の仕切部屋に対する配置がなされ
る。
【0262】尚、この仕切部屋に対する素片の配置処理
は、各層面或いは部品配置面毎に行なわれる。次いで、
制約グラフ作成手段103により、仕切部屋毎に、制約
グラフデータ400及び制約グラフ順位データ42の作
成がなされる(ステップS100)。
【0263】ステップS100の処理が行なわれると、
端子制約グラフ作成手段104は、第1の実施の形態に
おけるステップS104からS107の処理手順によ
り、端子制約グラフデータ500及び部品制約グラフデ
ータ600を作成する(ステップS104からS10
7)。
【0264】次に、ステップS409は、順位データ作
成手段105が、第1の実施の形態のステップS108
の処理により左の基板外形線からX方向部品制約グラフ
データ600を結び右の基板外形線に至るX方向の最短
経路を計算し、第1の実施の形態のステップS109の
処理により、部品をその最短経路長で移動させる。Y方
向に対しても同様に、第1の実施の形態のステップS1
10の処理により部品をY方向の最短経路長で移動す
る。その結果の部品の配置位置を図31に示す様に、表
示部101に配線を除いて表示し操作者に知らせる。
【0265】次に、操作指令入力手段110が、操作者
の指令を受け、部品をその範囲に収納する部品配置領域
を定める第2の基板外形データを入力する。
【0266】次に、当初の基板外形端と端子制約グラフ
で結ばれる部品に対して、第2の基板外形端とその部品
とを結ぶ部品制約グラフデータ600を作成する。
【0267】次に、順位データ作成手段105がX方向
をコンパクション方向61とする部品制約グラフの第2
の基板外形の左端から部品を結び第2の基板外形の右端
に至るX方向最短経路を得る。この第2の基板外形の右
端の最短経路長が負の値になる場合は、第2の基板外形
内にこのX方向最短経路の部品連鎖を収納し得ないと判
定する。この場合は、X方向のコンパクションの障害を
検出した。ここで、障害検出余裕値(正の値)を予め設
定しておき、基板外形線の最短経路長がその余裕値以下
の場合も検出し、その部品配置は第2の基板外形への収
納の余裕が少ないと判定する。
【0268】同様にY方向をコンパクション方向61と
する場合もY方向のコンパクションの障害を判定し、ま
た、部品配置の第2の基板外形への収納の余裕が少ない
場合も検出する。
【0269】次に、順位データ作成手段105が、その
逸脱を生じた最短経路の部品制約グラフデータ600を
読み出し、それに記録された端子制約グラフデータ50
0を得、その両端の部品端子あるいは空端子を抽出す
る。そして、図32に示す様に表示部101にレイアウ
トを表示し、コンパクションの障害の節の部品端子ある
いは空端子を、収納する仕切部屋を強調表示する事で操
作者に知らせる。
【0270】また、操作指令入力手段110が操作者か
ら部品移動の指令を受けた場合は、部品移動指定手段
が、部品(選択部品)とその移動方向と移動距離を読み
込み部品移動目標ベクトルとして記憶し、ステップS2
09に進む。これは、コンパクション前の初期のレイア
ウトで、部品端子を移動し新たに収納される仕切り部屋
を移動目標位置630として入力し記憶する事もでき
る。
【0271】また、操作者から配線コンパクション実行
指令を受けた場合は、ステップS111に進む(ステッ
プS409)。
【0272】ステップS209は第2の実施の形態と同
じく、部品コンパクション手段107が、選択部品の各
端子(選択端子)を順次に抽出し、部品移動方向の最短
経路長で移動させる。すなわち、最終の位置に至るま
で、選択端子を所属する仕切部屋から部品移動方向で隣
接する仕切部屋に順次移動させ、その都度、制約グラフ
更新手段112がその端子制約グラフデータ500を更
新する。選択部品の全ての選択端子を処理した場合はス
テップS409に戻る。
【0273】ステップS111は、第1の実施の形態の
ステップS111と同じく、配線コンパクション手段1
08が、配線限界位置データ800を作成し、再配線手
段109が、配線を配線限界位置データ800の配線抑
制領域外に斜めの配線形状を含む形状に整形して再配線
する。そして、ステップS409に戻り、操作指令入力
手段110が操作者からの次の指令を待つ(ステップS
111)。
【0274】次に、より具体的な動作の例について、図
7及び図31乃至図34を用いて説明する。
【0275】先ず、第1の実施の形態と同様にして、図
7に示されるように、部品を囲む仕切部屋の作成が行な
われる。次いで、図31に示されるように、基板外形線
を入力するとコンパクション位置の部品が基板外形範囲
からはみ出す。このような部品の基板外形範囲からのは
み出しは、Y方向の最短経路長が負になることにより、
検出され、これにより、図32に示されるように、その
最短経路の節を収納する仕切部屋が斜線で示されるよう
に強調表示される。次に、操作指令入力手段110は、
図32において矢印で示したように、部品端子の移動目
標位置630の仕切部屋を指定する。それにより、部品
移動指定手段が部品を仕切部屋間を移動させ、次に、そ
れを部品コンパクション手段107がコンパクション配
置し、図33の結果を得る。それを、配線コンパクショ
ン手段108と再配線手段109により再配線し、図3
4の結果を得る。
【0276】このように、第5の実施の形態において
は、部品移動指定手段が部品端子の属する仕切部屋から
他の仕切部屋に対して当該部品端子を移動させ、更に、
それに伴い、制約グラフ更新手段112が制約グラフデ
ータを更新することにより、部品をその属する仕切部屋
から移動させることができる。
【0277】(第6の実施の形態)本発明の第6の実施
の形態によるレイアウトコンパクション装置は、前述の
第1の実施の形態の変形例であり、コンピュータに配線
更新手段(当該手段自体は図示せず;動作にて説明)を
新たに含む点を除き、同じ構成を備える。
【0278】配線更新手段は、概略、指定した配線と指
定した部品端子及び配線との順序を入れ替える処理を行
なう。
【0279】以下に、図35のフローチャートを参照し
て、第6の実施の形態の全体の動作について詳細に説明
する。
【0280】先ず、レイアウトデータ変換手段111に
より、第1の実施の形態におけるステップS100と同
様にして、レイアウトデータ格納手段20からのレイア
ウトデータの読み込み、素片データ300a等の作成、
及び作成した素片データ300a等の素片データ格納手
段30に対する格納がなされる。次いで、仕切部屋配置
手段121により、基板領域が仕切部屋に分割され、部
品端子の素片、ビアホールの素片、或いは部品外形等の
仕切部屋に対する配置がなされる。更に、制約グラフ作
成手段103により、仕切部屋毎に、制約グラフデータ
400及び制約グラフ順位データ42の作成が行われる
(ステップS100)。
【0281】次いで、端子制約グラフ作成手段104
は、上述した第1の実施の形態におけるステップS10
4からS107と同様にして、端子制約グラフデータ5
00及び部品制約グラフデータ600を作成する(ステ
ップS104からS107)。
【0282】次に、ステップS504は、操作指令入力
手段110が1つの層面の配線のレイアウトを表示し、
操作者の指令を受け、図36に示す様に配線の接続しな
い部品端子D(指定部品端子)とそれに隣接する配線
(第1の配線)を指定した場合は、ステップS505に
進む。また、図39に示す様に、配線(第2の配線)の
接続する部品端子Aとそれに隣接する第1の配線を指定
した場合は、ステップS507に進む。また、コンパク
ション実行の操作指令を受けた場合は、ステップS10
8に進む(ステップS504)。
【0283】ステップS505は、配線更新手段が、図
37に示す様に配線(第1の配線)を指定部品端子に沿
う迂回配線を形成し、そして、その配線の素片番号31
とX方向あるいはY方向で隣接するその周囲の素片番号
31との制約グラフデータ400を更新し作成する。次
に、ステップS510に進む(ステップS505)。
【0284】ステップS507は、図39の部品端子A
の様に第1の配線に隣接する指定部品端子(この部分は
第1の隣接部)に第2の配線が接続されている場合で、
以下の条件が成り立つ場合に実行される。第1に、第2
の配線の両端の部品端子か配線端と第1の配線が互いに
隣接する(第1、第2の隣接部)か、あるいは、第1の
配線の片端の部品端子か配線端と第2の配線が互いに隣
接する(第2の隣接部)事。第2に、第1の隣接部と第
2の隣接部の間では第1の配線も第2の配線もいずれも
分岐しない事。以上の条件が成り立たない場合はステッ
プS504に戻り、以上の条件が成り立つ場合は、以下
の様にして配線更新手段が第1の配線と第2の配線を入
れ替える。
【0285】すなわち、配線更新手段が、第1の配線の
素片番号31を記録する制約グラフデータ400(第1
の制約グラフ)を抽出し、この制約グラフ番号41を、
第2の配線の左端の部品端子Aを記録する制約グラフか
ら第1の配線の右端の部品端子(部品端子B)を記録す
る制約グラフまで順に並べ第1の配線配列(図示せず)
に記憶する。また、第1の配線が連結する終端の部品端
子(部品端子B)の素片番号31を記憶する。
【0286】そして、配線更新手段が、第2の配線の素
片番号31が記録されている制約グラフデータ400
(第2の制約グラフ)を抽出し、この制約グラフ番号4
1を第2の配線の左端の部品端子(部品端子A)を記録
する制約グラフからから右端の部品端子(部品端子C)
を記録する制約グラフまで順に並べ第2の配線配列(図
示せず)に記憶する。また、配線更新手段が、第2の配
線の終端の位置番号33の部品端子(部品端子C)の素
片番号31を記憶する。次に、配線更新手段が、この順
の第1の配線配列と第2の配線配列を比較し、ステップ
S508の条件が成り立つ場合にステップS508に進
み、ステップS509の条件が成り立つ場合にステップ
S509に進む(ステップS507)。
【0287】ステップS508は、第2の配線配列の最
初の制約グラフ番号41と最後の制約グラフ番号41が
ともに第1の配線配列に記録されている場合に、以下の
処理を行なう。この場合は、第2の配線の始端と終端を
第1の配線が覆う場合である。その場合は、配線更新手
段が以下の様にして第1の配線と第2の配線の順番を入
れ替える。
【0288】すなわち、配線更新手段が、第2の配線の
うち、両端の部品端子と直結する第2の配線の素片デー
タ300a等を削除し配線形状を部品端子から分断す
る。そして、配線更新手段が、第1の配線から両部品端
子とY方向で隣接する部分を削除し配線形状を分断す
る。そして、配線更新手段が、両部品端子間の第1の配
線の部分を第2の両部品端子に連結する配線形状を作成
する。また、配線更新手段が、両部品端子の外の両側に
残った第1の配線の部分を両部品端子間に残った第2の
配線部分と連結する配線形状を作成する。そして、配線
更新手段が、それらの配線の素片番号31とX方向ある
いはY方向で隣接するその周囲の素片番号31との制約
グラフデータ400を更新し作成する。次に、ステップ
S510に進む(ステップS508)。
【0289】ステップS509は、第2の配線配列の最
初の制約グラフ番号41が第1の配線配列に記録され、
第1の配線配列の最後の制約グラフ番号41が第2の配
線配列に記録されている場合に行ない、また、第1の配
線配列と第2の配線配列を置き換えて以上の条件が成り
立つ場合にも行なう。これは、図39に示す様に、第2
の配線と第1の配線がそれぞれ一部で並行して走行する
場合である。この場合は、配線更新手段が、以下の様に
して、図40に示す様に第2の配線と第1の配線の順番
を入れ替える。
【0290】すなわち、配線更新手段が、第2の配線の
指定部品端子との結合部分を除去し配線形状を分断す
る。また配線更新手段が、第1の配線を右側の終端部品
端子との結合部分を除去し配線形状を分断する。そし
て、配線更新手段が、第1および第2の配線から両部品
端子とY方向で隣接する部分を除去し配線形状を分断す
る。そして、配線更新手段が、両部品端子間の第1の配
線の部分の左端を指定部品端子に接続し、右端を終端の
部品端子の右側に分断された第2の配線に接続する。ま
た、配線更新手段が、両部品端子間に分断された第2の
配線の部分の左端を指定部品端子の左側に分断された第
1の配線の部分と連結し、第2の配線の部分の右端を終
端部品端子に接続する。そして、配線更新手段が、それ
らの配線の素片番号31とX方向あるいはY方向で隣接
するその周囲の素片番号31との制約グラフデータ40
0を更新し作成する。次にステップS510に進む。な
お、第1の配線と第2の配線を置き換えた場合も同様に
処理する(ステップS509)。
【0291】こうして、第1の配線と第2の配線の順番
を入れ替える。
【0292】ステップS510は、第1の実施の形態の
ステップS104からステップS107の処理により、
配線を変更した仕切部屋の端子制約グラフデータ500
と部品制約グラフデータ600を更新する。
【0293】次に、順位データ作成手段105が、更新
した部品制約グラフデータ600の負ループの有無を計
算する。これは、順位データ作成手段105が部品制約
グラフデータ600の端子に順にダイクストラ法で最短
経路を求め、既に最短経路の節となった部品の経路が再
度、既に得た最短経路長よりもより大きい値の最短経路
を得た場合に負ループが有ると判定する。こうして順位
データ作成手段105が負ループを検出した場合に表示
部104にデザインルール違反として、負ループを生じ
る部品制約グラフのネックとなる端子制約グラフの部品
端子を収納する仕切部屋を強調表示する。このデザイン
ルール違反の表示は、例えば、間隔が定まった部品端子
間のその間隙以上に配線束を収納した場合に生じる。次
に、ステップS504に戻る(ステップS510)。
【0294】また、ステップS504において操作指令
入力手段110の指令により、第1の実施の形態のステ
ップS108からステップS110により、その部品制
約グラフデータ600を用い、部品レイアウトをコンパ
クションする。次に、ステップS111に進む(ステッ
プS108からS110)。
【0295】次に、ステップS111により、配線限界
位置データ800を計算し、配線を斜め線を有する自由
な形状に再配線する。次に、ステップS504に戻る
(ステップS111)。
【0296】こうして図37をY方向及びX方向にコン
パクションした結果、図38の様に、配線の間隙がデザ
インルールを満足するレイアウトを得る。
【0297】また、この第6の実施の形態は、部品移動
指定手段301が部品移動目標ベクトルデータ63を設
定し、その後に第2の実施の形態の動作あるいは第3の
実施の形態の動作によりレイアウトをコンパクションす
る事もできる。
【0298】次に、より具体的な動作の例について、図
41及び図42を用いて説明する。
【0299】先ず、図41の部品と配線のレイアウトに
対して、部品を囲む仕切部屋を作成する。次に、図41
において片矢印(両矢印である仕切線以外の矢印)で示
す様に配線とそれに隣接する部品端子Dを指定する。次
に、配線更新手段540が図41に太点線で示す様に配
線が部品端子を迂回する迂回配線を形成する。そして、
コンパクションした結果、図42のレイアウトを得る。
【0300】本実施の形態によれば、配線が部品端子を
迂回するような、又は配線同士の相対関係を逆転するよ
うなレイアウト変更を行ない、それをコンパクションす
ることができ、これにより、配線が形成されることか
ら、デザインルールを守ったレイアウトを形成すること
ができる。
【0301】
【発明の効果】以上説明したように、本発明によれば、
端子間の制約グラフに関するデータとして、配線の方向
として斜め方向をも前提としたことから、当然に、縦横
配線のみならず斜め配線をも許容し、且つ、部品相対移
動限界長及び相対限界移動量八角形といった概念を導入
したことにより、設計ルール上必要とされる配線間の適
切な間隙等をも保証した上で、レイアウトのコンパクシ
ョンを行なうことの出来るレイアウトコンパクション装
置が得られる。
【図面の簡単な説明】
【図1】本発明の第1の実施の形態によるレイアウトコ
ンパクション装置の構成を示すブロック図である。
【図2】本発明の第1の実施の形態によるレイアウトコ
ンパクション方法を示すフローチャートである。
【図3】本発明の第1の実施の形態によるレイアウトコ
ンパクション装置において用いられる各種データのデー
タ構造を示す図である。
【図4】本発明の第1の実施の形態によるレイアウトコ
ンパクション装置において用いられる各種データのデー
タ構造を示す図である。
【図5】本発明の第1の実施の形態において圧縮対象と
なるレイアウトの初期状態を示す図である。
【図6】本発明の第1の実施の形態で用いる各種データ
のデータ構造を示す図である。
【図7】図5に示される状態から各仕切部屋の大きさを
変更してなる状態を示す図である。
【図8】制約グラフと配線帯幅との関係を説明するため
に用いられる図である。
【図9】端子制約グラフの概念を示す図である。
【図10】部品制約グラフの概念を示す図である。
【図11】本発明の第1の実施の形態によるコンパクシ
ョン処理動作を説明するために用いられる平面図であっ
て、レイアウトの状態を示す平面図である。
【図12】本発明の第1の実施の形態によるコンパクシ
ョン処理動作を説明するために用いられる平面図であっ
て、レイアウトの状態を示す平面図である。
【図13】本発明の第1の実施の形態によるレイアウト
コンパクション方法を適用して得られる圧縮されたレイ
アウトを示す図である。
【図14】本発明の第2の実施の形態によるレイアウト
コンパクション装置の構成を示すブロック図である。
【図15】本発明の第2の実施の形態によるレイアウト
コンパクション方法を示すフローチャートである。
【図16】本発明の第2の実施の形態によるコンパクシ
ョン処理動作を説明するために用いられる平面図であっ
て、レイアウトの状態を示す平面図である。
【図17】本発明の第2の実施の形態によるコンパクシ
ョン処理動作を説明するために用いられる平面図であっ
て、レイアウトの状態を示す平面図である。
【図18】本発明の第2の実施の形態によるコンパクシ
ョン処理動作を説明するために用いられる平面図であっ
て、レイアウトの状態を示す平面図である。
【図19】本発明の第2の実施の形態における相対限界
移動量八角形を説明するために用いられる図である。
【図20】本発明の第2の実施の形態において部品を移
動した際に行われるデータの更新を説明するために用い
られる図である。
【図21】本発明の第2の実施の形態において部品を移
動した際に行われるデータの更新を説明するために用い
られる図である。
【図22】本発明の第2の実施の形態における具体的な
動作例を示す図である。
【図23】本発明の第3の実施の形態によるレイアウト
コンパクション装置の構成を示すブロック図である。
【図24】本発明の第3の実施の形態によるレイアウト
コンパクション方法を示すフローチャートである。
【図25】本発明の第4の実施の形態によるレイアウト
コンパクション装置の構成を示すブロック図である。
【図26】本発明の第4の実施の形態によるレイアウト
コンパクション方法を示すフローチャートである。
【図27】本発明の第4の実施の形態において設定され
る部品移動目標ベクトルデータを説明するための図であ
り、処理対象たるレイアウトの初期状態を示す図であ
る。
【図28】本発明の第4の実施の形態におけるレイアウ
トコンパクション方法により圧縮されている過程の処理
対象たるレイアウトの状態を示す図である。
【図29】本発明の第4の実施の形態におけるレイアウ
トコンパクション方法によりコンパクションされた結果
としてのレイアウトの状態を示す平面図である。
【図30】本発明の第5の実施の形態によるレイアウト
コンパクション方法を示すフローチャートである。
【図31】本発明の第5の実施の形態における動作処理
を説明するための図である。
【図32】本発明の第5の実施の形態における動作処理
を説明するための図である。
【図33】本発明の第5の実施の形態における動作処理
を説明するための図である。
【図34】本発明の第5の実施の形態により再配線の行
われた後のレイアウトを示す図である。
【図35】本発明の第6の実施の形態によるレイアウト
コンパクション方法を示すフローチャートである。
【図36】本発明の第6の実施の形態における動作処理
を説明するための図である。
【図37】本発明の第6の実施の形態における動作処理
を説明するための図である。
【図38】本発明の第6の実施の形態における動作処理
を説明するための図である。
【図39】本発明の第6の実施の形態における動作処理
を説明するための図である。
【図40】本発明の第6の実施の形態における動作処理
を説明するための図である。
【図41】本発明の第6の実施の形態における動作処理
を説明するための図である。
【図42】本発明の第6の実施の形態における動作処理
を説明するための図である。
【符号の説明】 20 レイアウトデータ格納手段 30 素片データ格納手段 40 制約グラフデータ格納手段 50 端子制約グラフデータ格納手段 60 部品制約グラフデータ格納手段 80 配線限界位置データ格納手段 100 コンピュータ 101 表示部 102 操作部 103 制約グラフ作成手段 104 端子制約グラフ作成手段 105 順位データ作成手段 107 部品コンパクション手段 108 配線コンパクション手段 109 再配線手段 110 操作指令入力手段 111 レイアウトデータ変換手段 112 制約グラフ更新手段 113 端子制約グラフ統合手段 301 部品移動指定手段
フロントページの続き (56)参考文献 特開 平10−242285(JP,A) 菊池秀雄,”プリント板の斜め配線コ ンパクション手法とその評価”,情報処 理学会研究報告(98−DA−88),平成 10年5月22日,第98巻,第43号,p.29 −34 (58)調査した分野(Int.Cl.7,DB名) G06F 17/50 H01L 21/82

Claims (38)

    (57)【特許請求の範囲】
  1. 【請求項1】 基板領域内におけるレイアウトであっ
    て、一の層面上にコンパクション対象となる複数の部品
    と配線とが配置されたパターンを一又は複数層備えるレ
    イアウトをコンパクションするレイアウトコンパクショ
    ン方法であって、 当該一の層において又は複数層ある場合には各層毎にお
    いて、 個々の前記配線の幅を固定とすると共に、所定数の前記
    配線が一まとまりの配線束として存在する場合には当該
    配線束の全幅に対して設計ルールにより必要とされる間
    隙を更に加えてなる配線帯の幅を固定する一方で、前記
    配線の幅方向の端若しくは前記配線帯の幅方向の端から
    前記部品までの距離を可変とした状態で、 前記複数の部品の夫々を当該部品の有する複数の部品端
    子毎に分け、 当該複数の部品端子から選択された特定の二つの部品端
    子であって所定方向において隣接する特定の二つの部品
    端子について、当該二つの部品端子をグラフの両端の節
    とし、且つ、前記配線の配線位置を設計ルールの範囲内
    で自由に動かし得るものと仮定し、前記特定の二つの部
    品端子の一方の部品端子を基準として他方の部品端子を
    前記所定方向へ移動させる場合において前記特定の二つ
    の部品端子が前記設計ルールの下で最接近し得るような
    当該他方の部品端子の最大移動可能距離をグラフの長さ
    としてなる端子制約グラフデータを作成し、 当該端子制約グラフデータの作成を、前記複数の部品端
    子により考えられる前記特定の二つの部品端子の組み合
    わせの全てについて繰り返し行い、 前記端子制約グラフデータを各層面毎に作成した後、こ
    れら全ての端子制約グラフデータに基づいて、 前記特定の二つの部品端子を両節とする前記端子制約グ
    ラフデータが一の層面上においてのみ作成され且つ当該
    特定の二つの部品端子がそれらの属する特定の二つの部
    品の夫々の有する唯一の部品端子である場合において
    は、当該特定の二つの部品を両節とすると共に当該端子
    制約グラフデータの有するグラフの長さと同じグラフの
    長さを有する部品制約グラフデータを作成し、 前記特定の二つの部品端子の属する前記特定の二つの部
    品が双方とも前記複数層に亘って存在している場合に
    は、両節となる当該特定の二つの部品端子の属する特定
    の二つの部品が同じである全ての端子制約グラフデータ
    の有するグラフの長さのうち、最も短い長さと同じグラ
    フの長さを有し、且つ、前記特定の二つの部品を両節と
    する部品制約グラフデータを作成し、 該部品制約グラフデータに基づいて、各層毎における前
    記他の部品端子に関する前記最大移動可能距離を最も移
    動が制限される層における最大移動可能距離に実質的に
    調整した上で、各層毎に、当該調整された最大移動可能
    距離内において前記他方の部品端子の属する部品を前記
    所定方向へ移動させることを特徴とするレイアウトコン
    パクション方法において、 前記移動前における前記特定の二つの部品端子間に前記
    配線若しくは前記配線帯が存在していた場合であって、
    当該配線若しくは前記配線帯を間に挟んでなる前記特定
    の二つの部品端子間の間隔が前記設計ルールにより定め
    られる必要な間隔よりも狭い場合にあっては、前記最大
    移動可能距離を負の値とすると共に前記端子制約グラフ
    データの有するグラフの長さとして負の値を設定し、そ
    れにより得られる前記部品制約グラフデータであってグ
    ラフの長さとして負の値を有する前記部品制約グラフデ
    ータに基づいて、前記他の部品端子の属する部品を前記
    所定方向と逆の方向へ移動させることを特徴とするレイ
    アウトコンパクション方法。
  2. 【請求項2】 請求項1に記載のレイアウトコンパクシ
    ョン方法において、 各層面毎に、当該部品制約グラフデータで示される部品
    制約グラフを、同一の前記部品に対応する前記節同士を
    結ぶようにして、接続してなる重み付きグラフのデータ
    として重み付きグラフデータを作成し、 各層面毎に、当該重み付きグラフデータを用いて、当該
    重み付きグラフにおける特定の一の節から他の各節への
    最短距離を求めるグラフ問題を解くことにより、前記全
    ての組合せにおける前記他の部品端子の属する部品の移
    動の順番及び移動経路長を決定し、 各層面毎に、前記全ての組合せにおける前記他の部品端
    子の属する部品を、当該決定に従った順番で、且つ、夫
    々の他の部品端子に関する前記移動経路長だけ前記所定
    方向に対して移動させることを特徴とするレイアウトコ
    ンパクション方法。
  3. 【請求項3】 請求項2に記載のレイアウトコンパクシ
    ョン方法において、 前記最短距離を求めるグラフ問題を解く際に、ダイクス
    トラ法を利用することを特徴とするレイアウトコンパク
    ション方法。
  4. 【請求項4】 請求項2に記載のレイアウトコンパクシ
    ョン方法において、 各層面毎に、前記基板領域の一の角と当該一の角に最も
    近接して配置された前記部品端子とを両端の節とするグ
    ラフについてのグラフデータであって、且つ、当該部品
    端子を前記他の部品端子として取り扱うことにより定ま
    る前記最大移動可能距離をグラフの長さとするグラフデ
    ータを、特定の端子制約グラフデータとして作成し、 当該特定の端子制約グラフデータに応じた特定の前記部
    品制約グラフデータを作成し、 前記基板領域の一の角に相当する節を、当該特定の部品
    制約グラフデータにおける前記特定の一のノードとし
    て、前記最短距離を求めるグラフ問題を解くことを特徴
    とするレイアウトコンパクション方法。
  5. 【請求項5】 請求項2乃至請求項4のいずれかに記載
    のレイアウトコンパクション方法において、 前記移動前における前記特定の二つの部品端子間に前記
    配線若しくは前記配線帯が存在していた場合には、前記
    他方の部品端子の属する部品の前記所定方向への移動の
    後に、前記配線若しくは前記配線帯を前記特定の二つの
    部品端子間に設計ルールで許容される形態で再配線する
    ことを特徴とするレイアウトコンパクション方法。
  6. 【請求項6】 請求項5に記載のレイアウトコンパクシ
    ョン方法において、 前記設計ルールで許容される形態の配線として、縦配
    線、横配線又は斜め配線若しくはこれらの組合せのいず
    れか一つを選択することを特徴とするレイアウトコンパ
    クション方法。
  7. 【請求項7】 請求項1乃至請求項5のいずれかに記載
    のレイアウトコンパクション方法において、 ビアホールの層面毎の部分、半導体セル、部品外形をも
    前記部品端子として取扱い、 部品とビアホールとを組合せてなる一体物に関しては、
    それら全体として一の前記部品として取り扱い、 更に、単体のビアホールをも前記部品として取り扱うこ
    とを特徴とするレイアウトコンパクション方法。
  8. 【請求項8】 請求項1乃至請求項5のいずれかに記載
    のレイアウトコンパクション方法において、 多角形導体形状自体については、前記部品として取り扱
    い、 前記多角形導体形状を各辺毎に分割し、それにより得ら
    れた分割された辺の夫々を更に前記部品端子として取り
    扱うことを特徴とするレイアウトコンパクション方法。
  9. 【請求項9】 請求項2に記載のレイアウトコンパクシ
    ョン方法であって、 各層面毎に、前記所定方向をコンパクション方向とした
    場合における前記他の部品端子に関する前記端子制約グ
    ラフデータに加え、前記所定方向に直交する方向をコン
    パクション方向とした場合における前記他の部品端子に
    関する付加的な端子制約グラフデータを更に作成し、 これら付加的な端子制約グラフデータに従って、前記部
    品制約グラフデータ作成の手法と同じ手法により、付加
    的な部品制約グラフデータを作成し、 更に、各層面毎に、当該付加的な部品制約グラフデータ
    に基づいて、前記重み付きグラフデータ作成の手法と同
    じ手法により、付加的な重み付きグラフデータを作成
    し、 前記重み付きグラフデータを用いて前記最短距離を求め
    るグラフ問題を解くことにより決定された移動の順番及
    び移動経路長に従って、前記他方の部品端子の属する部
    品を前記所定方向へ移動させた後、前記付加的な重み付
    きグラフデータを用いて前記最短距離を求めるグラフ問
    題を解くことにより決定された移動の順番及び移動経路
    長に従って、前記他方の部品端子の属する部品を前記直
    交する方向へ移動させることを特徴とするレイアウトコ
    ンパクション方法。
  10. 【請求項10】 請求項1乃至請求項9のいずれかに記
    載のレイアウトコンパクション方法において、 前記基板領域を複数の縦仕切線及び横仕切線により仕切
    り、それにより仕切られた複数の仕切部屋を設定し、 前記縦仕切線及び前記横仕切線の夫々を部品端子として
    取り扱い、 前記仕切部屋に複数の部品端子が所属している場合に
    は、当該仕切部屋内において、当該縦仕切線及び横仕切
    線を含めた前記複数の部品端子により考えられる前記特
    定の二つの部品端子の組合せについて、前記端子制約グ
    ラフデータの作成を行い、 前記仕切部屋に一の部品端子のみが所属している場合に
    は、当該仕切部屋を仕切る二つの前記縦仕切線及び二つ
    の前記横仕切線の各々と前記一の部品端子とを前記特定
    の二つの部品端子として、前記端子制約グラフデータの
    作成を行い、 前記仕切部屋に部品端子が所属していない場合には、当
    該仕切部屋の中心位置に架空の部品端子を想定し、当該
    架空の部品端子と当該仕切部屋を仕切る二つの前記縦仕
    切線及び二つの前記横仕切線の各々とを前記特定の二つ
    の部品端子とした前記端子制約グラフデータの作成を行
    うことを特徴とするレイアウトコンパクション方法。
  11. 【請求項11】 請求項10に記載のレイアウトコンパ
    クション方法において、 前記縦仕切線及び横仕切線を除く前記他の部品端子の属
    する部品の移動に伴って、前記縦仕切線及び横仕切線を
    移動させることを特徴とするレイアウトコンパクション
    方法。
  12. 【請求項12】 請求項1に記載のレイアウトコンパク
    ション方法において、 同じ信号を受ける前記部品端子同士については、当該部
    品端子同士を両端の節とする前記端子制約グラフデータ
    を作成しないことを特徴とするレイアウトコンパクショ
    ン方法。
  13. 【請求項13】 請求項2に記載のレイアウトコンパク
    ション方法において、 前記部品端子について移動目標となる方向及びその方向
    への移動距離を指定して、前記部品制約グラフデータを
    作成し、 当該指定に従ったコンパクションを行うことを特徴とす
    るレイアウトコンパクション方法。
  14. 【請求項14】 請求項9に記載のレイアウトコンパク
    ション方法において、 前記他の部品端子についての前記所定方向における最大
    移動可能距離が、前記直交する方向へのコンパクション
    に必要とされる距離未満である場合には、当該他の部品
    端子の属する部品についての部品制約グラフを経路とし
    て有しない前記重み付きグラフデータを作成することを
    特徴とするレイアウトコンパクション方法。
  15. 【請求項15】 請求項9に記載のレイアウトコンパク
    ション方法において、 前記部品を前記所定方向へ移動する度に、前記直交する
    方向における前記付加的な端子制約グラフデータにおけ
    る最大移動可能距離を、適切な値に更新することを特徴
    とするレイアウトコンパクション方法。
  16. 【請求項16】 基板領域内におけるレイアウトであっ
    て、一の層面上にコンパクション対象となる複数の部品
    と配線とが配置されたパターンを一又は複数層備えるレ
    イアウトをコンパクションするレイアウトコンパクショ
    ン方法であって、 当該一の層において又は複数層ある場合には各層毎にお
    いて、 個々の前記配線の幅を固定とすると共に、所定数の前記
    配線を一まとまりの配線束として存在する場合には当該
    配線束の全幅に対して設計ルールにより必要とされる間
    隙を更に加えてなる配線帯の幅を固定する一方で、前記
    配線の幅方向の端若しくは前記配線帯の幅方向の端から
    前記部品までの距離を可変とした状態で、 前記複数の部品の夫々を当該部品の有する複数の部品端
    子毎に分け、 当該複数の部品端子から選択された特定の二つの部品端
    子であって所定方向において隣接する特定の二つの部品
    端子について、当該二つの部品端子をグラフの両端の節
    とし、且つ、前記配線の配線位置を設計ルールの範囲内
    で自由に動かし得るものと仮定し、前記特定の二つの部
    品端子の一方の部品端子を基準として他方の部品端子を
    前記所定方向へ移動させる場合において前記特定の二つ
    の部品端子が前記設計ルールの下で最接近し得るような
    当該他方の部品端子の最大移動可能距離をグラフの長さ
    としてなる端子制約グラフデータを作成し、 当該端子制約グラフデータを利用して、前記最大移動可
    能距離内において前記他方の部品端子を有する前記部品
    を前記所定方向へ移動させることを特徴とするレイアウ
    トコンパクション方法において、 前記端子制約グラフデータに相対限界移動量八角形を記
    録し、部品のコンパクション方向への移動の際に、コン
    パクション方向に垂直方向にも変位する部品移動ベクト
    ルであって、該相対限界移動量八角形の外側に限定する
    部品移動ベクトルで前記部品を移動することを特徴とす
    るレイアウトコンパクション方法。
  17. 【請求項17】 基板領域内におけるレイアウトであっ
    て、一の層面上にコンパクション対象となる複数の部品
    と配線とが配置されたパターンを一又は複数層備えるレ
    イアウトをコンパクションするためのレイアウトコンパ
    クション装置あって、 前記レイアウトのコンパクションを行うためのコンパク
    ション手段を備えており、 当該コンパクション手段は、 個々の前記配線の幅を固定とすると共に、 所定数の前記配線を一まとまりの配線束として存在する
    場合には、当該配線束の全幅に対して、設計ルールによ
    り必要とされる間隙を、更に加えてなる配線帯の幅を固
    定する一方で、 前記配線の幅方向の端若しくは前記配線帯の幅方向の端
    から前記部品までの距離を可変として取り扱うものであ
    り、 前記一の層において又は複数層ある場合には各層毎にお
    いて、前記複数の部品の夫々の有する複数の部品端子に
    ついて、当該複数の部品端子から選択された特定の二つ
    の部品端子であって所定方向において隣接する前記特定
    の二つの部品端子について、端子制約グラフのデータで
    ある端子制約グラフデータを生成するための端子制約グ
    ラフ生成手段を備えており、 当該端子制約グラフは、 前記特定の二つの部品端子をグラフの両端の節とするグ
    ラフであって、且つ、 前記配線の配線位置を設計ルールの範囲内で自由に動か
    し得るものと仮定し、前記特定の二つの部品端子の一方
    の部品端子を基準として他方の部品端子を前記所定方向
    へ移動させる場合において、前記特定の二つの部品端子
    が前記設計ルールの下で最接近し得るような当該他方の
    部品端子の最大移動可能距離をグラフの長さとしてなる
    ものであり、 前記端子制約グラフ生成手段は、 前記特定の二つの部品端子を両端の節とする制約グラフ
    について制約グラフデータを作成する制約グラフ作成手
    段と、 該制約グラフ作成手段の作成した制約グラフデータを格
    納するための制約グラフデータ格納手段と、 前記他の部品端子に関する前記最大移動可能距離を計算
    して、この計算結果をグラフ長として、前記制約グラフ
    データ格納手段に格納された前記制約グラフデータに対
    して、加えることで、前記端子制約グラフデータを作成
    するための端子制約グラフ作成手段と該端子制約グラフ
    作成手段の作成した端子制約グラフデータを格納するた
    めの端子制約グラフデータ格納手段とを有するものであ
    り、 前記端子制約グラフ作成手段は、 各層面毎に、前記複数の部品端子により考えられる前記
    特定の二つの部品端子の組合せの全てについて前記端子
    制約グラフデータの作成を行い、その後、前記端子制約
    グラフデータ格納手段に格納された端子制約グラフデー
    タを参照し、 これら全ての前記端子制約グラフデータに基づいて、 前記特定の二つの部品端子を両節とする前記端子制約グ
    ラフデータが一の層面上においてのみ作成され且つ当該
    特定の二つの部品端子がそれらの属する特定の二つの部
    品の夫々の有する唯一の部品端子である場合において
    は、当該特定の二つの部品を両節とすると共に当該端子
    制約グラフデータの有するグラフの長さと同じグラフの
    長さを有する部品制約グラフについてのデータとして、
    部品制約グラフデータを作成し、 前記特定の二つの部品端子の属する前記特定の二つの部
    品が双方とも前記複数層に亘って存在している場合に
    は、両節となる前記特定の二つの部品端子の属する特定
    の二つの部品が同じである全ての端子制約グラフデータ
    の有するグラフの長さのうちの最も短い長さと同じグラ
    フの長さを有し、且つ、当該特定の二つの部品を両節と
    する部品制約グラフについてのデータとして、部品制約
    グラフデータを作成するものであり、 前記コンパクション手段は、 前記端子制約グラフデータを利用した該部品制約グラフ
    データに基づいて、各層毎における前記他の部品端子に
    関する前記最大移動可能距離を、最も移動が制限される
    層における最大移動可能距離に、実質的に調整した上
    で、 各層毎に、当該調整された最大移動可能距離内におい
    て、前記他方の部品端子の属する部品を前記所定方向へ
    移動させるものであることを特徴とするレイアウトコン
    パクション装置において、 前記端子制約グラフ作成手段は、 前記移動前における前記特定の二つの部品端子間に前記
    配線若しくは前記配線帯が存在していた場合であって、
    当該配線若しくは前記配線帯を間に挟んでなる前記特定
    の二つの部品端子間の間隔が前記設計ルールにより定め
    られる必要な間隔よりも狭い場合にあっては、 前記グラフの長さとして負の値を有する前記端子制約グ
    ラフデータを作成すると共に、 当該グラフの長さとして負の値を有する端子制約グラフ
    データに応じた前記部品制約グラフデータを作成するも
    のであり、 前記コンパクション手段は、部品制約グラフデータがグ
    ラフの長さとして負の値を有する場合には、当該部品制
    約グラフデータに基づいて、対応する前記他の部品端子
    の属する部品を前記所定方向と逆の方向へ移動させるも
    のであることを特徴とするレイアウトコンパクション装
    置。
  18. 【請求項18】 請求項17に記載のレイアウトコンパ
    クション装置において、 前記コンパクション手段は、ビアホールの層面毎の部
    分、半導体セル、部品外形をも前記部品端子として取り
    扱い、部品とビアホールとを組合せてなる一体物に関し
    てはそれら全体を一の前記部品として取り扱い、さら
    に、単体のビアホールをも前記部品として取り扱い、コ
    ンパクションを行うものであることを特徴とするレイア
    ウトコンパクション装置。
  19. 【請求項19】 請求項18に記載のレイアウトコンパ
    クション装置において、 前記コンパクション手段は、多角形導体形状自体につい
    ては、前記部品として取り扱い、且つ、前記多角形導体
    形状を各辺毎に分割し、それにより得られた分割された
    辺の夫々を更に前記部品端子として取り扱うものである
    ことを特徴とするレイアウトコンパクション装置。
  20. 【請求項20】 請求項17に記載のレイアウトコンパ
    クション装置において、 前記コンパクション手段は、前記部品制約グラフデータ
    を格納するための部品制約グラフデータ格納手段を更に
    有することを特徴とするレイアウトコンパクション装
    置。
  21. 【請求項21】 請求項20に記載のレイアウトコンパ
    クション装置において、 前記コンパクション手段は、前記所定の方向における前
    記部品の移動の順番を示す順位データを作成するための
    順位データ作成手段と、当該順位データに従って部品を
    移動させる部品コンパクション手段とを備えており、 前記順位データ作成手段は、 各層面毎に、当該部品制約グラフデータで示される部品
    制約グラフを、同一の前記部品に対応する前記節同士を
    結ぶようにして、接続してなる重み付きグラフのデータ
    として重み付きグラフデータを作成し、 各層面毎に、当該重み付きグラフデータを用いて、当該
    重み付きグラフにおける特定の一の節から他の各節への
    最短距離を求めるグラフ問題を解くことにより、前記全
    ての組合せにおける前記他の部品端子の属する部品の移
    動の順番を決定して、 前記所定方向における当該移動の順番を示す前記順位デ
    ータを作成するためのものであり、 部品コンパクション手段は、各層面毎に、前記全ての組
    合せにおける前記他の部品端子の属する部品を、前記順
    位データに従った順番で、且つ、夫々の他の部品端子に
    関する前記最大移動可能距離だけ、前記所定方向に対し
    て移動させるものであることを特徴とするレイアウトコ
    ンパクション装置。
  22. 【請求項22】 請求項21に記載のレイアウトコンパ
    クション装置において、 前記順位データ作成手段は、前記最短距離を求めるグラ
    フ問題を解く際に、ダイクストラ法を利用するものであ
    ることを特徴とするレイアウトコンパクション装置。
  23. 【請求項23】 請求項21に記載のレイアウトコンパ
    クション装置において、 前記端子制約グラフ作成手段は、 各層面毎に、前記基板領域の一の角を一端の節とすると
    共に当該一の角に最も近接して配置された前記部品端子
    を他端の節とし、当該部品端子を前記他の部品端子とし
    て取り扱うことにより定まる前記最大移動可能距離をグ
    ラフの長さとするグラフデータを特定の端子制約グラフ
    データとして作成し、更に、 当該特定の端子制約グラフデータに応じた特定の前記部
    品制約グラフデータを作成するものであり、 前記順位データ作成手段は、前記前記基板領域の一の角
    に相当する節を当該特定の部品制約グラフデータにおけ
    る前記特定の一の節として、前記最短距離を求めるグラ
    フ問題を解くものであることを特徴とするレイアウトコ
    ンパクション装置。
  24. 【請求項24】 請求項21に記載のレイアウトコンパ
    クション装置において、 前記コンパクション手段は、 前記部品コンパクション手段に接続され、前記特定の二
    つの部品端子間に介在する前記配線に関し、当該特定の
    二つの部品端子のうちの一方の部品端子の形状に沿うよ
    うにして前記配線を折り曲げた場合の配線限界位置を示
    す配線限界位置データを作成するための配線コンパクシ
    ョン手段と、 前記配線限界位置データを受けて、前記部品の移動後
    に、前記配線限界位置に抵触しないような領域におい
    て、前記配線を再配線するための再配線手段とを更に備
    えることを特徴とするレイアウトコンパクション装置。
  25. 【請求項25】 請求項24に記載のレイアウトコンパ
    クション装置において、 前記再配線手段は、前記配線若しくは前記配線帯を前記
    特定の二つの部品端子間に設計ルールで許容される形態
    で再配線するためのものであることを特徴とするレイア
    ウトコンパクション装置。
  26. 【請求項26】 請求項25に記載のレイアウトコンパ
    クション装置において、 前記再配線手段は、前記設計ルールで許容される形態の
    配線として、縦配線、横配線又は斜め配線若しくはこれ
    らの組合せのいずれか一つを選択し、配線後の形状が八
    角形形状の一部をなすようにして、再配線するものであ
    ることを特徴とするレイアウトコンパクション装置。
  27. 【請求項27】 請求項21に記載のレイアウトコンパ
    クション装置であって、 前記端子制約グラフ作成手段は、 各層面毎に、前記所定方向をコンパクション方向とした
    場合における前記他の部品端子に関する前記端子制約グ
    ラフデータに加え、前記所定方向に直交する方向をコン
    パクション方向とした場合における前記他の部品に関す
    る付加的な端子制約グラフデータを作成すると共に、 これら付加的な端子制約グラフデータに従って、前記部
    品制約グラフデータ作成の手法と同じ手法により、付加
    的な部品制約グラフデータを作成するものであり、 前記順位データ作成手段は、 各層面毎に、当該付加的な部品制約グラフデータに基づ
    いて、前記重み付きグラフデータ作成の手法と同じ手法
    により、付加的な重み付きグラフデータを作成し、 前記重み付きグラフデータを用いて前記最短距離を求め
    るグラフ問題を解くことにより、前記所定方向をコンパ
    クション方向とした場合において前記他の部品端子の属
    する部品を移動する際の順番を決定し前記順位データを
    作成すると共に、 前記付加的な重み付きグラフデータを用いて前記最短距
    離を求めるグラフ問題を解くことにより、前記直交する
    方向をコンパクション方向とした場合において前記他の
    部品端子の属する部品を移動する際の順番を決定して、
    付加的な順位データを作成するものであり、 前記部品コンパクション手段は、 前記順位データに従った移動の順番で、前記他方の部品
    端子の属する部品を前記所定方向へ移動させた後、 前記付加的な順位データに従った移動の順番で、前記他
    方の部品端子の属する部品を前記直交する方向へ移動さ
    せるものであることを特徴とするレイアウトコンパクシ
    ョン装置。
  28. 【請求項28】 請求項21に記載のレイアウトコンパ
    クション装置において、 前記コンパクション手段は、前記基板領域を、複数の縦
    仕切線及び横仕切線で仕切ることにより、複数の仕切部
    屋を設定するための仕切部屋配置手段を更に備えてお
    り、 前記制約グラフ作成手段は、前記縦仕切線及び前記横仕
    切線の夫々を部品端子として取り扱うものであり、 前記端子制約グラフ作成手段は、 前記仕切部屋に複数の部品端子が所属している場合に
    は、当該仕切部屋内において、当該縦仕切線及び横仕切
    線を含めた前記複数の部品端子により考えられる前記特
    定の二つの部品端子の組合せについて、前記端子制約グ
    ラフデータの作成を行い、 前記仕切部屋に一の部品端子のみが所属している場合に
    は、当該仕切部屋を仕切る二つの前記縦仕切線及び二つ
    の前記横仕切線の各々と前記一の部品端子とを、前記特
    定の二つの部品端子として、前記端子制約グラフデータ
    の作成を行い、 前記仕切部屋に部品端子が所属していない場合には、当
    該仕切部屋の中心位置に架空の部品端子を想定し、当該
    架空の部品端子と当該仕切部屋を仕切る二つの前記縦仕
    切線及び二つの前記横仕切線の各々とを、前記特定の二
    つの部品端子として、前記端子制約グラフデータの作成
    を行うものであることを特徴とするレイアウトコンパク
    ション装置。
  29. 【請求項29】 請求項28に記載のレイアウトコンパ
    クション装置において、 前記部品コンパクション手段は、前記縦仕切線及び横仕
    切線を除く前記他の部品端子の属する部品の移動に伴っ
    て、前記縦仕切線及び横仕切線を、移動させるものであ
    ることを特徴とするレイアウトコンパクション装置。
  30. 【請求項30】 請求項17に記載のレイアウトコンパ
    クション装置において、 前記端子制約グラフ作成手段は、同じ信号を受ける前記
    部品端子同士については、当該部品端子同士を両端の節
    とする前記端子制約グラフデータを作成しないものであ
    ることを特徴とするレイアウトコンパクション装置。
  31. 【請求項31】 請求項21に記載のレイアウトコンパ
    クション装置において、 前記端子制約グラフ作成手段は、前記端子制約グラフデ
    ータに相対限界移動量八角形を記録するものであり、 前記部品コンパクション手段は、部品のコンパクション
    方向への移動の際に、コンパクション方向に垂直方向に
    も変位する部品移動ベクトルであって、該相対限界移動
    量八角形の外側に限定する部品移動ベクトルで部品を移
    動するものであることを特徴とするレイアウトコンパク
    ション装置。
  32. 【請求項32】 請求項27に記載のレイアウトコンパ
    クション装置において、 前記端子制約グラフ作成手段は、前記他の部品端子につ
    いての前記所定方向における最大移動可能距離が前記直
    交する方向へのコンパクションに必要とされる距離未満
    である場合には、当該他の部品端子の属する部品につい
    ての当該部品制約グラフデータを作成しないものであ
    り、 前記順位データ作成手段は、当該部品制約グラフデータ
    を経路として有しない前記重み付きグラフデータに基づ
    いて、前記順位を決定するものであることを特徴とする
    レイアウトコンパクション装置。
  33. 【請求項33】 請求項27に記載のレイアウトコンパ
    クション装置において、 前記コンパクション手段は、前記部品コンパクション手
    段及び前記端子制約グラフデータ格納手段に接続され、
    前記部品コンパクション手段により前記部品が前記所定
    方向へ移動されるたびに、前記端子制約グラフデータ格
    納手段に格納された前記付加的な端子制約グラフデータ
    における最大移動可能距離を適切な値に更新するための
    制約グラフ更新手段を更に備えることを特徴とするレイ
    アウトコンパクション装置。
  34. 【請求項34】 請求項28に記載のレイアウトコンパ
    クション装置において、 前記コンパクション手段に接続され、前記部品端子につ
    いて移動目標となる方向及びその方向への移動距離を指
    定するための操作部を更に有しており、 前記コンパクション手段は、当該操作部からの指示を受
    けて前記端子制約グラフ作成手段に伝達するための操作
    指令入力手段を更に備えており、 前記端子制約グラフ作成手段は、操作指令入力手段から
    の通知を受けて、前記部品端子について移動目標となる
    方向及びその方向への移動距離との指定された前記部品
    制約グラフデータを作成するものであることを特徴とす
    るレイアウトコンパクション装置。
  35. 【請求項35】 請求項34に記載のレイアウトコンパ
    クション装置において、 前記操作部は、初期の前記レイアウト上における前記部
    品端子及び配線の配置の変更を指定し得るものであり、 前記操作指令入力手段は、当該配置の変更の指定を受け
    て、レイアウト変更情報を出力するものであり、 前記コンパクション手段は、 当該操作指令入力手段からのレイアウト変更情報を受け
    て、前記レイアウトを変更するためのレイアウト変更手
    段を更に有し、 当該変更されたレイアウトをコンパクションするもので
    あることを特徴とするレイアウトコンパクション装置。
  36. 【請求項36】 請求項34に記載のレイアウトコンパ
    クション装置において、 前記コンパクション手段に接続された表示部を更に備え
    ており、 当該表示部は、前記コンパクション手段による前記レイ
    アウトのコンパクションの結果が予め定められた当該部
    品端子の配置されるべき領域を逸脱する場合、前記仕切
    線で囲まれた領域の内、該逸脱を生じる領域を強調表示
    するものであることを特徴とするレイアウトコンパクシ
    ョン装置。
  37. 【請求項37】 請求項34に記載のレイアウトコンパ
    クション装置において、 前記操作部は、更に、前記配線と部品端子あるいは前記
    配線同士の相対位置の入れ替えを指定するものであり、 前記操作指令入力手段は、当該操作部からの指定を受け
    て配線入替情報を生成するものであり、 前記コンパクション手段は、前記操作指令入力手段に接
    続され、当該配線入替情報に従って、前記配線と部品端
    子あるいは前記配線同士の相対位置を入れ替えるための
    配線更新手段を更に有することを特徴とするレイアウト
    コンパクション装置。
  38. 【請求項38】 請求項35に記載のレイアウトコンパ
    クション装置において、 前記コンパクション手段に接続された表示部を更に備え
    ており、 前記コンパクション手段は、前記レイアウト変更手段及
    び当該表示部に接続され、前記レイアウト変更手段によ
    るレイアウトの変更操作により設計ルール違反が発生し
    た場合に、当該違反の発生を検出するための違反発生検
    出手段を更に備え、 前記表示部は、前記仕切線で囲まれた領域の内、当該違
    反発生検出手段により検出された違反の生じた領域を強
    調表示するものであることを特徴とするレイアウトコン
    パクション装置。
JP11025310A 1999-02-02 1999-02-02 レイアウトコンパクション方法及びレイアウトコンパクション装置 Expired - Lifetime JP3077757B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP11025310A JP3077757B2 (ja) 1999-02-02 1999-02-02 レイアウトコンパクション方法及びレイアウトコンパクション装置
US09/495,804 US6412097B1 (en) 1999-02-02 2000-02-01 Compacting method of circuit layout by moving components using margins and bundle widths in compliance with the design rule, a device using the method and a computer product enabling processor to perform the method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11025310A JP3077757B2 (ja) 1999-02-02 1999-02-02 レイアウトコンパクション方法及びレイアウトコンパクション装置

Publications (2)

Publication Number Publication Date
JP2000222453A JP2000222453A (ja) 2000-08-11
JP3077757B2 true JP3077757B2 (ja) 2000-08-14

Family

ID=12162440

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11025310A Expired - Lifetime JP3077757B2 (ja) 1999-02-02 1999-02-02 レイアウトコンパクション方法及びレイアウトコンパクション装置

Country Status (2)

Country Link
US (1) US6412097B1 (ja)
JP (1) JP3077757B2 (ja)

Families Citing this family (86)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6889372B1 (en) 2000-07-15 2005-05-03 Cadence Design Systems Inc. Method and apparatus for routing
US6898773B1 (en) 2002-01-22 2005-05-24 Cadence Design Systems, Inc. Method and apparatus for producing multi-layer topological routes
CA2352991C (en) 2000-07-24 2009-01-06 Honda Giken Kogyo Kabushiki Kaisha Shift control system for belt-type continuously variable transmission
US7080336B2 (en) * 2000-12-06 2006-07-18 Cadence Design Systems, Inc. Method and apparatus for computing placement costs
US6957410B2 (en) * 2000-12-07 2005-10-18 Cadence Design Systems, Inc. Method and apparatus for adaptively selecting the wiring model for a design region
US6826737B2 (en) 2000-12-06 2004-11-30 Cadence Design Systems, Inc. Recursive partitioning placement method and apparatus
EP1362373A2 (en) * 2000-12-06 2003-11-19 Simplex Solutions, Inc. Method and apparatus for considering diagonal wiring in placement
US6516455B1 (en) * 2000-12-06 2003-02-04 Cadence Design Systems, Inc. Partitioning placement method using diagonal cutlines
US7024650B2 (en) 2000-12-06 2006-04-04 Cadence Design Systems, Inc. Method and apparatus for considering diagonal wiring in placement
US7055120B2 (en) * 2000-12-06 2006-05-30 Cadence Design Systems, Inc. Method and apparatus for placing circuit modules
US7003754B2 (en) 2000-12-07 2006-02-21 Cadence Design Systems, Inc. Routing method and apparatus that use of diagonal routes
US6858928B1 (en) 2000-12-07 2005-02-22 Cadence Design Systems, Inc. Multi-directional wiring on a single metal layer
US7073150B2 (en) * 2000-12-07 2006-07-04 Cadence Design Systems, Inc. Hierarchical routing method and apparatus that use diagonal routes
US6900540B1 (en) 2000-12-07 2005-05-31 Cadence Design Systems, Inc. Simulating diagonal wiring directions using Manhattan directional wires
US6915501B2 (en) 2001-01-19 2005-07-05 Cadence Design Systems, Inc. LP method and apparatus for identifying routes
US6738960B2 (en) 2001-01-19 2004-05-18 Cadence Design Systems, Inc. Method and apparatus for producing sub-optimal routes for a net by generating fake configurations
US7076750B1 (en) * 2001-02-06 2006-07-11 Advanced Micro Devices, Inc. Method and apparatus for generating trenches for vias
US6957408B1 (en) 2002-01-22 2005-10-18 Cadence Design Systems, Inc. Method and apparatus for routing nets in an integrated circuit layout
US6859916B1 (en) 2001-06-03 2005-02-22 Cadence Design Systems, Inc. Polygonal vias
US7107564B1 (en) 2001-06-03 2006-09-12 Cadence Design Systems, Inc. Method and apparatus for routing a set of nets
US6895569B1 (en) 2001-06-03 2005-05-17 Candence Design Systems, Inc. IC layout with non-quadrilateral Steiner points
US6951005B1 (en) 2001-06-03 2005-09-27 Cadence Design Systems, Inc. Method and apparatus for selecting a route for a net based on the impact on other nets
US6957411B1 (en) 2001-06-03 2005-10-18 Cadence Design Systems, Inc. Gridless IC layout and method and apparatus for generating such a layout
US6877146B1 (en) 2001-06-03 2005-04-05 Cadence Design Systems, Inc. Method and apparatus for routing a set of nets
US6976238B1 (en) 2001-06-03 2005-12-13 Cadence Design Systems, Inc. Circular vias and interconnect-line ends
US6769105B1 (en) 2001-06-03 2004-07-27 Cadence Design Systems, Inc. Method and arrangement for layout and manufacture of gridded non manhattan semiconductor integrated circuits
US6829757B1 (en) 2001-06-03 2004-12-07 Cadence Design Systems, Inc. Method and apparatus for generating multi-layer routes
US6882055B1 (en) 2001-06-03 2005-04-19 Cadence Design Systems, Inc. Non-rectilinear polygonal vias
US7069530B1 (en) 2001-06-03 2006-06-27 Cadence Design Systems, Inc. Method and apparatus for routing groups of paths
US7310793B1 (en) 2001-06-03 2007-12-18 Cadence Design Systems, Inc. Interconnect lines with non-rectilinear terminations
US7155697B2 (en) * 2001-08-23 2006-12-26 Cadence Design Systems, Inc. Routing method and apparatus
US6931616B2 (en) * 2001-08-23 2005-08-16 Cadence Design Systems, Inc. Routing method and apparatus
US7143382B2 (en) 2001-08-23 2006-11-28 Cadence Design Systems, Inc. Method and apparatus for storing routes
US7398498B2 (en) 2001-08-23 2008-07-08 Cadence Design Systems, Inc. Method and apparatus for storing routes for groups of related net configurations
US6795958B2 (en) * 2001-08-23 2004-09-21 Cadence Design Systems, Inc. Method and apparatus for generating routes for groups of related node configurations
US7103524B1 (en) * 2001-08-28 2006-09-05 Cadence Design Systems, Inc. Method and apparatus for creating an extraction model using Bayesian inference implemented with the Hybrid Monte Carlo method
US7058913B1 (en) 2001-09-06 2006-06-06 Cadence Design Systems, Inc. Analytical placement method and apparatus
US7117468B1 (en) 2002-01-22 2006-10-03 Cadence Design Systems, Inc. Layouts with routes with different spacings in different directions on the same layer, and method and apparatus for generating such layouts
US6938234B1 (en) 2002-01-22 2005-08-30 Cadence Design Systems, Inc. Method and apparatus for defining vias
US7080329B1 (en) 2002-01-22 2006-07-18 Cadence Design Systems, Inc. Method and apparatus for identifying optimized via locations
US7096449B1 (en) 2002-01-22 2006-08-22 Cadence Design Systems, Inc. Layouts with routes with different widths in different directions on the same layer, and method and apparatus for generating such layouts
US6892371B1 (en) 2002-01-22 2005-05-10 Cadence Design Systems, Inc. Method and apparatus for performing geometric routing
US7013451B1 (en) 2002-01-22 2006-03-14 Cadence Design Systems, Inc. Method and apparatus for performing routability checking
US6944841B1 (en) 2002-01-22 2005-09-13 Cadence Design Systems, Inc. Method and apparatus for proportionate costing of vias
US7089524B1 (en) 2002-01-22 2006-08-08 Cadence Design Systems, Inc. Topological vias route wherein the topological via does not have a coordinate within the region
US6973634B1 (en) 2002-01-22 2005-12-06 Cadence Design Systems, Inc. IC layouts with at least one layer that has more than one preferred interconnect direction, and method and apparatus for generating such a layout
JP2003249591A (ja) * 2002-02-26 2003-09-05 Nec Electronics Corp エリアio型半導体装置の配線基板の設計方法
US7624367B2 (en) 2002-11-18 2009-11-24 Cadence Design Systems, Inc. Method and system for routing
US7171635B2 (en) 2002-11-18 2007-01-30 Cadence Design Systems, Inc. Method and apparatus for routing
US6892369B2 (en) * 2002-11-18 2005-05-10 Cadence Design Systems, Inc. Method and apparatus for costing routes of nets
US7047513B2 (en) 2002-11-18 2006-05-16 Cadence Design Systems, Inc. Method and apparatus for searching for a three-dimensional global path
US7480885B2 (en) * 2002-11-18 2009-01-20 Cadence Design Systems, Inc. Method and apparatus for routing with independent goals on different layers
US6988257B2 (en) * 2002-11-18 2006-01-17 Cadence Design Systems, Inc. Method and apparatus for routing
US7093221B2 (en) 2002-11-18 2006-08-15 Cadence Design Systems, Inc. Method and apparatus for identifying a group of routes for a set of nets
US7216308B2 (en) 2002-11-18 2007-05-08 Cadence Design Systems, Inc. Method and apparatus for solving an optimization problem in an integrated circuit layout
US7010771B2 (en) * 2002-11-18 2006-03-07 Cadence Design Systems, Inc. Method and apparatus for searching for a global path
US6996789B2 (en) * 2002-11-18 2006-02-07 Cadence Design Systems, Inc. Method and apparatus for performing an exponential path search
US7080342B2 (en) 2002-11-18 2006-07-18 Cadence Design Systems, Inc Method and apparatus for computing capacity of a region for non-Manhattan routing
US7003752B2 (en) * 2002-11-18 2006-02-21 Cadence Design Systems, Inc. Method and apparatus for routing
CA2414472A1 (en) * 2002-12-16 2004-06-16 Jonathan D. Bennett System and method based on an object-oriented software design framework for displaying constrained graphical layouts
US7506295B1 (en) 2002-12-31 2009-03-17 Cadence Design Systems, Inc. Non manhattan floor plan architecture for integrated circuits
US7013445B1 (en) 2002-12-31 2006-03-14 Cadence Design Systems, Inc. Post processor for optimizing manhattan integrated circuits placements into non manhattan placements
US7089519B1 (en) 2002-12-31 2006-08-08 Cadence Design System, Inc. Method and system for performing placement on non Manhattan semiconductor integrated circuits
US7096445B1 (en) 2003-01-14 2006-08-22 Cadence Design Systems, Inc. Non-orthogonal structures and space tiles for layout, placement, and routing of an integrated circuit
US7200827B1 (en) * 2003-05-14 2007-04-03 Apex Design Systems, Inc. Chip-area reduction and congestion alleviation by timing-and-routability-driven empty-space propagation
US7117456B2 (en) * 2003-12-03 2006-10-03 International Business Machines Corporation Circuit area minimization using scaling
CN100361129C (zh) * 2004-03-11 2008-01-09 华为技术有限公司 自动导入设计规则的pcb设计方法及系统
US8095903B2 (en) 2004-06-01 2012-01-10 Pulsic Limited Automatically routing nets with variable spacing
US7784010B1 (en) 2004-06-01 2010-08-24 Pulsic Limited Automatic routing system with variable width interconnect
US7373628B1 (en) 2004-06-01 2008-05-13 Pulsic Limited Method of automatically routing nets using a Steiner tree
US7131096B1 (en) 2004-06-01 2006-10-31 Pulsic Limited Method of automatically routing nets according to current density rules
US7257797B1 (en) 2004-06-07 2007-08-14 Pulsic Limited Method of automatic shape-based routing of interconnects in spines for integrated circuit design
US9245082B2 (en) 2005-06-21 2016-01-26 Pulsic Limited High-speed shape-based router
US7603644B2 (en) 2005-06-24 2009-10-13 Pulsic Limited Integrated circuit routing and compaction
US7363607B2 (en) 2005-11-08 2008-04-22 Pulsic Limited Method of automatically routing nets according to parasitic constraint rules
US7475373B2 (en) * 2006-04-20 2009-01-06 International Business Machines Corporation Method and apparatus to visually assist legalized placement with non-uniform placement rules
US8201128B2 (en) 2006-06-16 2012-06-12 Cadence Design Systems, Inc. Method and apparatus for approximating diagonal lines in placement
US20080010624A1 (en) * 2006-07-06 2008-01-10 Po Huang Lin Object-oriented layout data model and integrated circuit layout method using the same
US8250514B1 (en) 2006-07-13 2012-08-21 Cadence Design Systems, Inc. Localized routing direction
JP5136371B2 (ja) * 2008-11-14 2013-02-06 富士通セミコンダクター株式会社 設計支援方法
US8458636B1 (en) 2009-03-18 2013-06-04 Pulsic Limited Filling vacant areas of an integrated circuit design
TW201222304A (en) * 2010-11-30 2012-06-01 Inventec Corp Method for setting width of printed circuit board trace
US9792399B2 (en) 2013-01-07 2017-10-17 Nxp Usa, Inc. Integrated circuit hierarchical design tool apparatus and method of hierarchically designing an integrated circuit
US9734278B1 (en) * 2015-06-29 2017-08-15 Cadence Design System, Inc. Methods, systems, and articles of manufacture for automatic extraction of connectivity information for implementation of electronic designs
US10409945B1 (en) 2015-06-29 2019-09-10 Cadence Design Systems, Inc. Methods, systems, and computer program product for connectivity verification of electronic designs
CN117561513A (zh) * 2021-06-24 2024-02-13 华为技术有限公司 一种芯片布局方法及装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05274392A (ja) 1991-05-29 1993-10-22 Fujitsu Ltd レイアウト・コンパクション方式
US5625568A (en) * 1993-12-22 1997-04-29 Vlsi Technology, Inc. Method and apparatus for compacting integrated circuits with standard cell architectures
JP3014646B2 (ja) 1995-11-21 2000-02-28 松下電器産業株式会社 配線方法及びコンパクション方法
US6035108A (en) * 1996-10-17 2000-03-07 Nec Corporation Figure layout compaction method and compaction device
JP2877127B2 (ja) 1997-02-27 1999-03-31 日本電気株式会社 図形レイアウト圧縮装置およびその圧縮方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
菊池秀雄,"プリント板の斜め配線コンパクション手法とその評価",情報処理学会研究報告(98−DA−88),平成10年5月22日,第98巻,第43号,p.29−34

Also Published As

Publication number Publication date
US6412097B1 (en) 2002-06-25
JP2000222453A (ja) 2000-08-11

Similar Documents

Publication Publication Date Title
JP3077757B2 (ja) レイアウトコンパクション方法及びレイアウトコンパクション装置
JP3070678B2 (ja) 図形レイアウト変更システム及び図形レイアウト変更方法
JP3070679B2 (ja) 図形レイアウト圧縮システム及び図形レイアウト圧縮方法
JP3120838B2 (ja) 図形レイアウト圧縮システム及び図形レイアウト圧縮方法
JP3710710B2 (ja) Icレイアウトにおけるポリゴン表現
Leiserson et al. Algorithms for routing and testing routability of planar VLSI layouts
US6014506A (en) Method and apparatus for improving engineering change order placement in integrated circuit designs
US5953236A (en) Method and apparatus for implementing engineering change orders in integrated circuit designs
Schlag et al. An algorithm for optimal two-dimensional compaction of VLSI layouts
US8196080B2 (en) Method and system for routing
Schiele et al. A gridless router for industrial design rules
EP0055365A2 (en) Topology generation process for automated circuit design
US5835378A (en) Computer implemented method for leveling interconnect wiring density in a cell placement for an integrated circuit chip
JP2000259682A (ja) 自動部品配置システム及び方法並びに自動部品配置プログラムを記録した記録媒体
US7310793B1 (en) Interconnect lines with non-rectilinear terminations
US6895569B1 (en) IC layout with non-quadrilateral Steiner points
US6951005B1 (en) Method and apparatus for selecting a route for a net based on the impact on other nets
Avenier Digitizing, layout, rule checking—The everyday tasks of chip designers
JP3080161B2 (ja) 図形レイアウト圧縮装置、図形レイアウト圧縮方法及び記録媒体
Persky et al. The Hughes automated layout system-automated LSI/VLSI layout based on channel routing
US6882055B1 (en) Non-rectilinear polygonal vias
Sato et al. Applications of computational geometry to VLSI layout pattern design
JP2877127B2 (ja) 図形レイアウト圧縮装置およびその圧縮方法
Hsu et al. ALSO: A system for chip floorplan design
Watanabe et al. A layout design system for analog custom LSIs

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20000517