JP5913969B2 - 基板設計装置及び基板設計方法 - Google Patents

基板設計装置及び基板設計方法 Download PDF

Info

Publication number
JP5913969B2
JP5913969B2 JP2011286610A JP2011286610A JP5913969B2 JP 5913969 B2 JP5913969 B2 JP 5913969B2 JP 2011286610 A JP2011286610 A JP 2011286610A JP 2011286610 A JP2011286610 A JP 2011286610A JP 5913969 B2 JP5913969 B2 JP 5913969B2
Authority
JP
Japan
Prior art keywords
point
unit
width
division
movement
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.)
Active
Application number
JP2011286610A
Other languages
English (en)
Other versions
JP2013134732A5 (ja
JP2013134732A (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.)
Shinko Electric Industries Co Ltd
Original Assignee
Shinko Electric Industries Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shinko Electric Industries Co Ltd filed Critical Shinko Electric Industries Co Ltd
Priority to JP2011286610A priority Critical patent/JP5913969B2/ja
Publication of JP2013134732A publication Critical patent/JP2013134732A/ja
Publication of JP2013134732A5 publication Critical patent/JP2013134732A5/ja
Application granted granted Critical
Publication of JP5913969B2 publication Critical patent/JP5913969B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

この発明は、基板設計装置及び基板設計方法に関する。
従来、CAD(Computer Aided Design)システムを用いて基板の設計が行われている。基板とは、例えば、電子部品を搭載し回路配線が構成された、半導体パッケージ等の部品である。
基板の設計においては、多数の電子部品を配置して相互を効率よく配線で接続しなければならず、CADシステムが使用されることが多い。設計者は、CADシステムを用いて概括的な配置を行い、配線等の幅や位置を調整する。
CADシステムにおいて設計中の基板上の部品は、線や面によって表示される。例えば、信号が通る部分は、所定の幅と長さをもった面として示される。以下、「面」とは、設計図上の、一つの入力と一つの出力とを有する部分を意味する。設計者は、モニタ等の表示装置上で面を視認して、周囲の部品との距離やデザインルールを考慮しつつ、当該面の位置や形状を修正する。なお、デザインルールとは、基板を設計する上で規定されているルールである。例えば、配線とボンディングパッドとの間の最短距離などが規定されている。
設計者の設計処理を支援するため、CADシステムには、測長機能、オフセット機能、サブ形状作成機能、輪郭編集機能等が設けられている。測長機能とは、配線やビア等の座標データに基づいて配線間や配線とビアとの間の距離を測定する機能である。オフセット機能とは、画面上から指定した形状を拡大・縮小したり、形状は変更せずに所定方向に平行移動させる機能である。サブ(Subtraction)形状作成機能とは、画面上の所定の図形から他の図形の形状に相当する部分を除去する機能である。輪郭編集機能とは、図形の輪郭を滑らかにしたり、不要な凹凸を除去したりする機能である。
ところで、従来、CADシステムを用いた自動配線方法において、配線設計を省力化、高速化することが行われている。例えば、設計処理をラフ配線工程と配線成形化工程に分けて行う場合がある。ラフ配線工程では、ボンディングパッド部に近い最内周側から最外周側にいたる複数の端子列を特定する。そして、ビア(Via)部間を均等に配線パターンが通過するように配線ルートを決定する。そして、配線成形化工程では、配線パターンが各端子列間を均等な距離で通過するようにデザインルールに基づき成形を行う。配線ルートの決定と、デザインルールを考慮した配線設計を段階的に行うことで、配線設計の省力化、高速化を実現している。なお、ビアとは、多層基板の層間を接続するための貫通孔である。
特開2002−83006号公報
しかしながら、上述した従来技術では、半導体パッケージの歩留まりを向上させることが困難であるという問題があった。つまり、上述した従来技術では、手作業で面を修正することから、依然として複数の条件を満たすように修正することは容易ではなく、半導体パッケージの歩留まりを向上させることが困難である。例えば、設計者が所定の面の幅を広げること、または狭めることに注意を集中させるため、面と周辺要素との距離がデザインルールに違反したり、面自体の幅がデザインルールに違反する等の恐れがある。その結果、半導体パッケージの信頼性が低下する。また、設計図面に含まれる面は、数が多く形状も複雑である。そのため、一つ一つの面について従来のように手作業で処理を行うためには多くの時間と人手が要される。その結果、半導体パッケージの歩留まり向上が困難である。
図15および図16を参照し、従来、設計者が手作業で行っていた基板設計方法を説明する。図15は、CADシステムを用いて作成される基板の設計図面の一例を示す図である。図16は、従来の手作業による面形状更新処理の一例を示す図である。図15に示す設計図面上には、ビア1a、1bと面2a、2bとが配置されている。面2aおよび2bはそれぞれ、一つの入力と一つの出力を有する。
まず、図16を参照して、図15中Aで示す箇所の面の幅を太くする場合の手順を説明する。設計者は、表示画面上に示される箇所Aを目視により確認する。つぎに設計者は、CADの測長機能を用いて、面2aの輪郭線からビア1bまでの距離を計測する(図16の(A)中、L1で示す距離)。計測結果に基づき、設計者は、デザインルールを考慮して面2aの輪郭線を移動させることができる距離を計算する(図16の(A)中、L2で示す距離)。デザインルール上、ビア1bと面2aとの間に確保すべき最短距離L3(図16の(B)参照)が規定されているので、この距離を考慮する。次に、デザインルールを考慮してビア1bの周辺に確保すべきスペースを加味した形状を、オフセット機能を用いて作成する(図16の(B))。その後、目視により隣の面2bとの間にデザインルールを考慮した距離L4を確保しつつ適当な範囲まで面2aの幅を太くした図形を作成する(図16の(B))。幅を太くした面2aから、先にオフセット機能により作成した、ビア1bの周辺にデザインルールに基づくスペースを確保した形状分を除去する(図16の(C))。そして、輪郭編集機能を用いて、面2aの輪郭線を滑らかにし、不要な部分を削除する(図16の(D))。
次に、設計者が配線と面との距離を広げる場合を説明する。例として、図16の(E)に示すように、ビア1c、面2c、配線3が、半導体パッケージの輪郭線4とともに画面上に表示されているとする。設計者は、面2cの図中上側の輪郭線と、配線3との距離L5を、測長機能を用いて計測する(図16の(F))。次に、デザインルールを考慮して配線3と面2cとの距離を広げることができる長さL6を計算する。そして、オフセット機能を用いて、配線3の形状を拡大して、長さL5に長さL6を加算して得られる長さL7だけ配線3から離れた位置を輪郭線が通る形状5を作成する(図16の(F))。次に、輪郭編集機能を用いて、形状5と面2cの輪郭線とが重なりあうよう、面2cの輪郭線を修正する(図16の(G))。最後に輪郭編集機能を用いて、デザインルールに違反しない幅L8に面2cの幅を修正する(図16の(H))。
このように、従来の手順によって設計図に示される面の修正を手作業で行う場合、複数の条件に留意して多数の面の位置と太さを修正しなければならない。このため、多くの時間と人手が要され、半導体パッケージの歩留まり向上が困難である。
そこで、本開示の技術は、上述した従来技術の問題に鑑みて、半導体パッケージの歩留まりを向上させることを可能にする基板設計装置および基板設計方法を提供することを目的とする。
上述した課題を解決し、目的を達成するため、開示の装置は、記憶部が、基板に設けられる要素に係る位置情報を少なくとも記憶する。そして、抽出部が、前記記憶部に記憶された位置情報に基づき前記基板に設けられる1の入力と1の出力とを有する面の入出力方向に沿って当該面の中心線を抽出する。抽出部はさらに、当該中心線を所定の長さに等分に分割する複数の分割点を設定し、当該分割点各々における前記面の幅を抽出する。そして、検出部が、前記分割点各々について、前記面の周辺に存在する障害物の輪郭上から障害点を検出する。そして、算出部が、前記分割点各々について、所定の移動条件と前記抽出部が抽出した面の幅と前記検出部が検出した障害点とに基づき移動先を算出する。さらに、設定部が、前記分割点各々について、前記所定の移動条件に基づき移動後の前記面の幅を設定する。最後に、更新部が、前記算出部が算出した移動先と前記設定部が設定した面の幅とに基づき、前記記憶部に記憶した前記面の位置情報を更新する。
開示の装置は、半導体パッケージの歩留まりを向上させることを可能にする。
図1は、実施例1に係る基板設計装置の構成を示す図である。 図2は、実施例1に係る基板設計装置により設計される基板の設計図の一部を模式的に示す図である。 図3は、図1に示す移動データ記憶部により記憶される情報の例を示す図である。 図4は、中心線抽出処理を説明するための図である。 図5は、分割点設定処理を説明するための図である。 図6は、面幅抽出処理を説明するための図である。 図7は、障害点検出処理を説明するための図である。 図8は、垂直二等分線、分割点垂点および障害点垂点を説明するための図である。 図9は、移動可能点算出処理を説明するための図である。 図10は、移動先決定処理を説明するための図である。 図11は、面幅設定処理を説明するための図である。 図12は、面形状更新処理の結果を移動条件ごとに示す図である。 図13は、実施例1に係る基板設計装置による面形状更新処理の手順を示すフローチャートである。 図14は、基板設計プログラムを実行するコンピュータを示す図である。 図15は、CADシステムを用いて作成される基板の設計図面の一例を示す図である。 図16は、従来の手作業による面形状更新処理の一例を示す図である。
以下に添付図面を参照して、本願の開示する基板設計装置及び基板設計方法の実施例を詳細に説明する。なお、本願の開示する基板設計装置および基板設計方法は、以下の実施例により限定されるものではない。
実施例1に係る基板設計装置は、CADシステムによって設計された半導体パッケージの設計図上の各要素の位置情報に基づいて、設計図に示される面の情報を更新する。なお、CADシステムによって設計された半導体パッケージの設計図上の各要素とは、例えば、ボンディングパッド、ビア、配線等である。実施例1に係る基板設計装置は、一つの入力と一つの出力とを有する面の形状および位置を所定の移動条件にしたがって更新する。ここで、移動条件とは、例えば、面の幅を維持することや、面の幅を増加または減少させること、面と他の要素との距離を増加または減少させること等である。
実施例1に係る基板設計装置は、面の中心線を所定の長さに分割する分割点を抽出し、各分割点の移動先および面の移動後の幅を所定の移動条件に応じて算出する。分割点の移動先および面の移動後の幅の算出においては、デザインルールを加味する。従って、実施例1に係る基板設計装置は、所定の移動条件を満たす面の移動先を自動的に決定することができる。すなわち、実施例1に係る基板設計装置によれば、例えば、面とビアとの間の距離を広げることに注視するあまり、面と他の要素との距離に関するデザインルールに違反する等の問題をなくすことができる。従って、半導体パッケージの歩留まりを向上させることができる。
[実施例1に係る基板設計装置の構成]
まず、実施例1に係る基板設計装置の構成について説明する。図1は、実施例1に係る基板設計装置100の構成を示す図である。図1に示すように、基板設計装置100は、入出力制御I/F部110と、入力部120と、表示部130と、記憶部140と、制御部150とを有する。そして、基板設計装置100は、CADシステムによって設計された半導体パッケージの、一つの入力と一つの出力を有する面の位置情報を更新する。なお、基板設計装置100は、例えば、PC(Personal Computer)、ワークステーション又は基板設計用の専用装置である。
入出力制御I/F部110は、入力部120および表示部130と制御部150との間での各種情報のやり取りを制御するインタフェース部である。入力部120は、例えば、ユーザによる種々の情報の入力処理を受け付ける。例えば、入力部120は、キーボードやタッチパネルなどである。表示部130は、例えば、ユーザに設計の情報を表示出力する。例えば、表示部130は、ディスプレイなどである。
記憶部140は、図1に示すように、設計情報記憶部141と、移動条件記憶部142と、移動データ記憶部143とを有し、入力部120を介してユーザから入力された情報や後述する制御部150による処理結果などを記憶する。記憶部140は、例えば、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ(Flash Memory)などの半導体メモリ素子、または、ハードディスク、光ディスクなどの記憶装置である。
設計情報記憶部141は、半導体パッケージの各要素に係る位置情報を少なくとも記憶する。例えば、設計情報記憶部141は、基板の形状、基板の層数、ビアや面の位置などの設計情報を記憶する。例えば、設計情報記憶部141は、図2に示すように設計された基板に配置される部品の位置情報を記憶する。図2は、基板設計装置により設計される基板の設計図の一部を模式的に示す図である。図2に示すように、CADシステムによる基板の設計では、例えば、ビア10とボンディングパッド60とが配置され、面20によって接続される。そして、半導体チップとボンディングパッド60とが配線70によって接続される。また、グラウンド面が斜線で示されている。
例えば、設計情報記憶部141は、図2に示す面20の位置データを記憶する。ここで、設計情報記憶部141は、面20の位置データとして、例えば、図2に示す面20の輪郭線の始点、終点、輪郭線の角度が変化する箇所などの座標などを記憶する。また、設計情報記憶部141は、ビア10やボンディングパッド60などの中点の座標、径及び径の曲率などを記憶する。同様に、設計情報記憶部141は、CADシステムによって設計された全ての配線やボンディングパッドなどの位置データを記憶する。
移動条件記憶部142は、後述する制御部150による面の位置等の修正に用いられる移動条件を記憶する。例えば、移動条件記憶部142は、移動させる面と障害物との距離がデザインルールに規定された距離よりも短くならない位置に面を移動させる旨の条件であるデザインルール情報を記憶する。また、移動条件記憶部142は、面の幅を維持しつつ面と障害物との間の幅をできるだけ広げる旨の移動条件1を記憶する。また、移動条件記憶部142は、面の幅を広げることを優先する旨の移動条件2を記憶する。また、移動条件記憶部142は、面の幅を広げる場合に増加させる面幅の最大値Wmaxを記憶する。また、移動条件記憶部142は、面と障害物との距離を広げることを優先する旨の移動条件3を記憶する。また、移動条件記憶部142は、面と障害物との距離を広げる場合に増加させる距離の最大値Lmaxを記憶する。
移動データ記憶部143は、後述する制御部150によって実行される面形状更新処理に関連する移動データを記憶する。図3は、移動データ記憶部143によって記憶される情報の例を示す図である。図3に示すように、移動データ記憶部143は、原点、障害点、障害点垂点、分割点垂点、移動可能点、移動先、面幅および移動後面幅等と、分割点ID(Identifier)とを対応付けて移動データとして記憶する。
ここで、図3に示す「分割点ID」とは、後述する制御部150によって仮想的に設定された、面の中心線を等分に分割する複数の分割点各々を一意に特定するための識別子である。例えば、「分割点ID」は、後述する制御部150によって面の中心線上に分割点が設定された時点でシーケンシャルに付加される。また、図3に示す「原点」とは、更新処理が実行される前の分割点の位置を示す座標である。また、図3に示す「障害点」、「障害点垂点」、「分割点垂点」とはそれぞれ、後述する障害点、障害点垂点、分割点垂点の位置を示す座標である。障害点、障害点垂点、分割点垂点はそれぞれ、分割点の左右双方について記憶される。以下、左右というときは、面の中心線上において出力方向をみた場合の左右をいう。また、図3に示す「移動可能点」とは、移動条件に基づいて算出された後述する左右の移動可能点の座標を示す。また、図3に示す「移動先」とは、移動可能点および移動条件に基づいて決定される移動先の座標を示す。また、図3に示す「面幅」とは、後述する抽出部が各分割点について抽出する面の幅を示す。面幅は分割点の左右双方について記憶する。また、図3に示す「移動後面幅」とは、移動条件に基づいて設定される移動後の面の幅を示す。分割点の左右双方の移動後面幅を記憶する。
例えば、移動データ記憶部143は、図3に示すように、「分割点ID:1」に対応付けて、「原点:(X,Y)」、「障害点、左:(X1OL,Y1OL)」、「障害点、右:(X1OR,Y1OR)」を記憶する。さらに、移動データ記憶部143は、「障害点垂点、左:(X1VOL,Y1VOL)」、「障害点垂点、右:(X1VOR,Y1VOR)」を記憶する。さらに、移動データ記憶部143は、「分割点垂点、左:(X1DL,Y1DL)」、分割点垂点、右:(X1DR,Y1DR)」、「移動可能点、左:(X1L,Y1L)」、「移動可能点、右(X1R,Y1R)」を記憶する。さらに、移動データ記憶部143は、「移動先:(X11,Y11)」、「面幅、左:1」、「面幅、右:1.1」、「移動後面幅、左:1」、「移動後面幅、右:1.1」を記憶する。
同様に、移動データ記憶部143は、図3に示すように、「分割点ID:2」および「分割点ID:3」それぞれに対応付けたデータを記憶する。
図1に戻って、制御部150は、抽出部151と、検出部152と、算出部153と、設定部154と、更新部155とを有する。制御部150は、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)などの集積回路、または、CPU(Central Processing Unit)やMPU(Micro Processing Unit)などの電子回路である。
以下に、実施例1に係る基板設計装置の各部の処理について説明する。以下、便宜上、各部の処理を、図面を用いて説明する。しかし、実際には、各部の処理は装置内の計算処理として実行される。したがって、各部の処理を説明するための図は、あくまでも例示であって、処理ごとに表示がされることを要するものではない。
[抽出部による中心線抽出処理、分割点設定処理及び面幅抽出処理]
抽出部151は、設計情報記憶部141に記憶された位置情報から定まる面の入出力方向に沿った中心線を抽出する。さらに、抽出部151は、抽出した中心線を所定の長さに等分に分割する複数の分割点を設定する。そして、抽出部151は、設定した各分割点における左右の面幅を算出する。
抽出部151による中心線の抽出処理について説明する。まず、抽出部151は、設計情報記憶部141から中心線抽出処理の対象となる面の位置情報を読み出す。具体的には、面の輪郭線上の所定位置にある点の座標等を読み出す。そして、読み出した位置情報に基づいて、面の入出力方向に沿って面の略中心を通る線分を設定する。そして、当該線分を所定の長さの複数のセグメントに等分に分割し、分割したセグメント各々の中心点を設定する。まず、一つのセグメントについて中心線を抽出するため、抽出部151は、当該セグメントの中心点と当該セグメントに隣接する一つのセグメントの中心点とを通る線分を得る。抽出部151は、当該線分に対し角の二等分線方向で、当該セグメントの中心点を通る線分と面の輪郭線とを通る線分を求め、中心点から当該輪郭線までの長さを得る。さらに抽出部151は、中心点の左右について同様の手順で中心点から輪郭線までの長さを求め、左右の長さが同じになるよう、中心点の位置を修正する。抽出部151は、この処理を全てのセグメントについて繰り返すことで、面の中心線を得る。
例として、図4を参照して、抽出部151による中心線CLの抽出処理を説明する。図4は、中心線抽出処理を説明するための図である。図4の(A)に、ビア1、面2、面2の略中心を通る線分Lを示す。抽出部151は、図4の(B)に示すように、線分Lを所定の長さの複数のセグメントに分割する。図4の(B)には例として3つのセグメントS、S、Sを示す。そして、各セグメントについてL上における中央の点を中心点として抽出する。図4の(B)には、各セグメントに対応する3つの中心点P、P、Pを示す。セグメントSについて中心線の抽出処理を行う場合、まず、セグメントSの中心点PとセグメントSに隣接するセグメントSの中心点Pとを通る線分を得る。そして、この線分に対し角の二等分線方向で中心点Pを通る線分を求める。この線分と面2の輪郭線2、2とが交わる点から中心点までの距離が等しくなるよう、中心点の位置を更新する。このようにして各セグメントについて中心点の位置を更新していき、更新後の中心点同士を結んで得られる線分が中心線CLとなる(図4の(C))。
次に抽出部151は、中心線CLを所定の長さに等分に分割する複数の分割点DPを設定する。図5は、分割点設定処理を説明するための図である。例えば図5に示すように、分割点DPは、中心線CLを所定の長さに等分に分割することで設定される。所定の長さは、基板の大きさや面の大きさに応じて自動的に設定されるものとしてもよいし、ユーザが設定してもよい。抽出部151が分割点を設定すると、移動データ記憶部143に各分割点の識別子「分割点ID」が記憶される。さらに、識別子に対応して、各分割点の座標情報が、「原点」として移動データ記憶部143に記憶される。
さらに、抽出部151は、分割点ごとに、当該分割点と、当該分割点と中心線に沿って隣接する2つの分割点各々とを結ぶ2つの線分を求める。そして抽出部151は、2つの線分が成す角度を二等分する線分を求める。抽出部151は、求めた線分と面の輪郭線とが交わる点から、当該分割点までの長さを、当該分割点における面幅として抽出する。面幅は、中心線の左右双方について抽出する。抽出された面幅は、移動データ記憶部143に「面幅、左」「面幅、右」として記憶される。
例として、図6を参照して、分割点DP2における面幅を抽出する処理を説明する。図6は、面幅抽出処理を説明するための図である。図6中、中心線CL上において、分割点DP2と、分割点DP1およびDP3とが隣接している。まず、分割点DP1とDP2、DP2とDP3を結ぶ2つの線分を引く。そして、この2つの線分が成す角度を二等分する線分を求める。この線分と面の輪郭線とが交わる位置を、図6中、CPとCPとして示す。分割点DP2からCPまでの長さWが、分割点DP2における右側の面幅である。また、分割点DP2からCPまでの長さWが、分割点DP2における左側の面幅である。
[検出部による障害点検出処理]
図1に戻って、検出部152は、面の周囲に存在する障害物を検出する。例えば、検出部152は、面の周囲にある障害物の内、抽出部151が抽出した分割点各々から最も近くにある当該障害物の輪郭線上の点を障害点として検出する。
図7を参照して、例えば、検出部152が、分割点DP2について障害点を検出する場合について説明する。図7は、障害点検出処理を説明するための図である。図7中、分割点DP1、DP2、DP3が中心線CL上に設定されている。中心線CLを有する面の周囲には障害物Oが存在する。検出部152は、分割点DP2を頂点とする所定の角度の範囲内において、分割点DP2から最も近くに存在する障害物の輪郭線上の点を検出する。ここで、検出範囲とする所定の角度は、ユーザが設定してもよく、分割点の間隔等に応じて自動的に決定されるものとしてもよい。図7に示す例の場合、障害物Oの輪郭線上の点Oは点Oよりも分割点DP2に近く、障害物Oの輪郭線上、最も分割点DP2に近い点である。検出部152は、障害物の輪郭線上において最も分割点DP2に近い点である点Oを、分割点DP2における障害点として検出する。検出された障害点Oの座標は、分割点DP2の分割点IDに対応づけて、「障害点、左」として移動データ記憶部143に記憶される。なお、検出部152は、同様の手順で分割点の右の障害点を検出する。
[算出部による移動先算出処理]
図1に戻って、算出部153は、抽出部151が抽出した分割点各々の移動先を算出する。例えば、算出部153は、予め定められた移動条件に従い、抽出部151が抽出した面の幅と検出部152が検出した障害点とに基づいて、各分割点の移動可能点の座標を算出する。移動可能点とは、分割点が移動しうる範囲を示す点であり、分割点の左右双方について算出する。そして、算出部153は、左右の移動可能点の座標に基づいて移動先を算出する。
移動条件としては、上述したように、面の幅を維持しつつ面と障害物との距離をできるだけ広げる旨の移動条件1、面の幅を広げることを優先する旨の移動条件2、面と障害物との距離を広げることを優先する旨の移動条件3等がある。移動条件は、基板設計装置のユーザが設定することもできる。また、設計対象等に応じて自動的に一つの移動条件が選択されるものとしてもよい。移動条件は、後述する移動コマンドの入力の際に受け付けられ、その後の処理において一つの移動条件が一貫して適用される。
算出部153は、まず、各分割点について、当該分割点に隣接する2つの分割点を相互に結ぶ線分の垂直二等分線を求める。そして、算出部153は、障害点を通り当該垂直二等分線に直交する線分と当該垂直二等分線との交点を第1の交点として求める。以下、この交点を便宜的に障害点垂点と呼ぶ。さらに、算出部153は、分割点を通り当該垂直二等分線に直交する線分と当該垂直二等分線との交点を第2の交点として求める。以下、この交点を便宜的に分割点垂点と呼ぶ。算出部153が算出した障害点垂点および分割点垂点の座標は、移動データ記憶部143に記憶される。算出部153は、分割点の左右双方について障害点垂点、分割点垂点を算出する。
図8を参照して、算出部153による垂直二等分線、分割点垂点、障害点垂点の算出について説明する。図8は、垂直二等分線、分割点垂点および障害点垂点を説明するための図である。図8の(A)に示すように、面2の中心線CL上に分割点DP1、DP2、DP3が設定される。分割点DP2についての垂直二等分線L、分割点垂点VP及び障害点垂点VPを求める場合について説明する。まず、中心線CL上において分割点DP2に隣接する2つの分割点DP1とDP3とを相互に結ぶ線分を引く。次に、この線分を二等分する点を求め、当該点を通り、この線分と直交する線分を引き、垂直二等分線Lとする。そして、分割点DP2から垂直二等分線Lに直交する線分を引き、垂直二等分線Lと交わる点を、分割点垂点VPとする。なお、図8の(B)は、図8の(A)に示す分割点垂点VPの周辺を拡大して示すものである。さらに、障害点Oから垂直二等分線Lに直交する線分を引き、垂直二等分線Lと交わる点を、障害点垂点VPとする。
[移動条件1における移動先算出処理]
まず、移動条件1の場合、すなわち、面の幅を維持しつつ面と障害物との距離をできるだけ広げることが移動条件である場合の移動可能点算出処理について図9の(A)を参照して説明する。図9は、移動可能点算出処理を説明するための図であり、図9の(A)は移動条件1の場合の移動可能点算出処理を説明するための図である。図9の(A)を参照し、移動条件が移動条件1であるときに、分割点DP2の移動可能点を算出する場合について説明する。算出部153は、上記の通り、処理対象となる分割点DP2について、垂直二等分線L、分割点垂点VP及び障害点垂点VPを求める。また、移動条件記憶部142から、面と障害物との間に確保するようデザインルールによって規定されている最短距離(以下便宜上、面障害物間DR(DR1)と呼ぶ)を読み出す。そしてまず、算出部153は、分割点DP2の左側につき、移動可能点を求める。すなわち、垂直二等分線L上において、障害点垂点VPから分割点垂点VPに向かう方向に、抽出部151が抽出した当該分割点における左側の面幅Wと面障害物間DR(DR1)とを合算した距離だけ離れた点を移動可能点Pとして求める。算出部153は、分割点の右側についても、同様の処理を行い、分割点DP2に対して2つの移動可能点P、Pを得る。算出した移動可能点P、Pの座標は、移動データ記憶部143に記憶する。
次に、図10を参照して、移動先決定処理について説明する。図10は、移動先決定処理を説明するための図である。算出部153は、分割点について求めた2つの移動可能点を相互に結ぶ線分を算出し、当該線分の中点を求める。そして、算出部153は、求めた中点と分割点との位置を比較し、中点が分割点より右にあれば、分割点を垂直二等分線L上で右方向に所定距離だけ移動させ、中点が分割点より左にあれば、分割点を垂直二等分線L上で左方向に所定距離だけ移動させる。例えば、図10に示す例では、右側の移動可能点Pと左側の移動可能点Pとを結ぶ線分の中央に位置する中点Cは、分割点DP2よりも右側にある。したがって、分割点DP2の移動先は右側となる。算出部153は、決定した移動先の座標を、移動データ記憶部143に記憶する。ここで、分割点を移動させる所定距離は、ユーザが設定してもよく、面幅に応じて自動的に設定されるものとしてもよい。例えば、分割点を移動させる距離は、1回の移動ごとに面幅の5%等としてもよい。
[移動条件2における移動先算出処理]
次に、図9に戻って、移動条件2の場合、すなわち、面の幅を増加させることを優先して面を移動させることが移動条件である場合の移動可能点算出処理について説明する。図9の(B)は、移動条件2の場合の移動可能点算出処理を説明するための図である。図9の(B)を参照し、算出部153は、移動条件1の場合と同様に、まず、処理対象となる分割点DP2について、垂直二等分線L、分割点垂点VP及び障害点垂点VPを求める。また、算出部153は、移動条件記憶部142から、面障害物間DR(DR1)を読み出す。さらに、算出部153は、移動条件記憶部142から、増加させる面幅の最大値Wmaxを読み出す。なお、増加させる面幅の最大値は、所定の設計情報に基づいて自動的に決定されるものとしてもよく、ユーザが指定するものとしてもよい。
そして、算出部153は、まず分割点DP2の左側につき、移動可能点を求める。すなわち、垂直二等分線上Lにおいて、障害点垂点VPから分割点垂点VPに向かう方向に、抽出部151が抽出した面幅Wと面障害物間DR(DR1)と増加させる面幅の最大値Wmaxとを合算した距離だけ離れた点を求める。そして、算出部153は、求めた点と、分割点垂点VPとの位置を比較して、垂直二等分線L上において、障害点垂点VPに近い点を、移動可能点Pとする。図9の(B)に示す例の場合、求めた点と分割点垂点VPとを比較すると、求めた点のほうが障害点垂点VPに近い。したがって、求めた点を移動可能点Pとする。
算出部153は、面の中心線の右側についても、同様の処理を行い、分割点DP2に対して2つの移動可能点を得る。その後の処理は、移動条件1の場合と同様である。
[移動条件3における移動先算出処理]
次に、移動条件3の場合、すなわち、面と障害物との距離を広げることを優先して面を移動させることが移動条件である場合の移動可能点算出処理について、図9の(C)を参照して説明する。図9の(C)は、移動条件3の場合の移動可能点算出処理を説明するための図である。図9の(C)を参照し、移動条件3のときに、分割点DP2の移動可能点を算出する場合について説明する。算出部153は、移動条件1の場合と同様に、まず、分割点DP2について、垂直二等分線L、分割点垂点VP及び障害点垂点VPを求める。また、算出部153は、移動条件記憶部142から、面障害物間DR(DR1)と、面幅として確保するようデザインルールによって規定されている最短距離(以下、最短距離の2分の1に相当する距離を面幅DR(DR2)と呼ぶ)とを読み出す。さらに、算出部153は、移動条件記憶部142から、面と障害物との間に増加させる距離の最大値Lmaxを読み出す。なお、増加させる距離の最大値は、所定の設計情報に基づいて自動的に決定されるものとしてもよく、ユーザが指定するものとしてもよい。
そしてまず、算出部153は、分割点DP2の左側につき、移動可能点を求める。すなわち、垂直二等分線上Lにおいて、障害点垂点VPから分割点垂点VPに向かう方向に、抽出部151が抽出した面幅Wと面障害物間DR(DR1)と移動条件記憶部142から読み出した距離の最大値Lmaxとを合算した距離だけ離れた点を求める。さらに、算出部153は、垂直二等分線L上において、分割点垂点VPから障害点垂点VPに向かう方向に、面幅DR(DR2)だけ離れた点を求める。そして、算出部153は、2つの点の位置を比較し、障害点垂点VPからより離れた位置にある方の点を移動可能点Pとする。図9の(C)の例の場合、障害点垂点VPから分割点垂点VPに向かう方向に、抽出部151が抽出した面幅Wと面障害物間DR(DR1)と移動条件記憶部142から読み出した距離の最大値Lmaxとを合算した距離だけ離れた点の方が障害点垂点VPから遠い。したがって、この点を移動可能点Pとする。
算出部153は、面の中心線の右側についても、同様の処理を行い、分割点DP2に対して2つの移動可能点を得る。その後の処理は、移動条件1の場合と同様である。
[設定部による面幅設定処理]
図1に戻って、設定部154は、分割点各々について、移動条件に基づいて移動後の面幅を設定する。移動条件が上記移動条件1乃至3のいずれであるかによって、設定態様が異なる。
[移動条件1の場合の面幅設定処理]
まず、図11の(A)を参照し、移動条件1の場合、すなわち、面の幅を維持しつつ面と障害物との距離をできるだけ広げることが移動条件である場合の移動後の面幅の設定処理について説明する。図11は、面幅設定処理を説明するための図である。図11の(A)は、移動条件1の場合の面幅設定処理を説明するための図である。この場合、面の幅を維持することが移動条件であるので、移動後の面幅は移動前のままとなる。したがって、設定部154は、移動データ記憶部143を参照して、既に記憶されている面幅Wをそのまま移動後面幅として移動データ記憶部143に記憶させる。
例えば、図11の(A)に示すように、分割点DP1、DP2、DP3のそれぞれについて、移動先C、C、Cが算出されたとする。すると、更新後のDP2については、CとC、CとCをつなぐ線分が成す角度を二等分する線分に沿って、左側に面幅WだけCから離れた箇所が新たな面の左側の輪郭線を決定する点となる。
[移動条件2の場合の面幅設定処理]
次に、図11の(B)および図11の(C)を参照し、移動条件2の場合、すなわち、面の幅を増加させることを優先して面を移動させることが移動条件である場合の面幅設定処理について説明する。図11の(B)および図11の(C)は、移動条件2の場合の面幅設定処理を説明するための図である。この場合、移動可能点として算出部153が算出した点が、分割点垂点であるか否かによって、移動後の面幅の設定方法が異なる。
まず、図11の(B)を参照し、図9の(B)に示す垂直二等分線 上において、障害点垂点から分割点垂点に向かう方向に、面障害物間DR(DR1)と増加させる面幅の最大値Wmaxと面幅Wとを合算した距離だけ離れた点を移動可能点Pとした場合について説明する。この場合、設定部154は、抽出部151が抽出した面幅Wと、増加させる面幅の最大値Wmaxとを合算したものを移動後の面幅とする。例えば、図11の(A)と同様、C、C、Cが算出されたとする。この場合、更新後のDP2については、CとC、CとCをつなぐ線分が成す角度を二等分する線分に沿って、左側にW+WmaxだけCから離れた箇所が新たな面の左側の輪郭線を決定する点となる。
他方、算出部153が、分割点垂点VPを移動可能点とした場合は、設定部154は、分割点垂点VPと障害点垂点VPとの間の距離(便宜上、以下、垂点間距離Dと呼ぶ)から面障害物間DR(DR1)を減算したものを、移動後の面幅とする。例えば、更新後のDP2については、図11の(C)に示すように、CとC、CとCをつなぐ線分が成す角度を二等分する線分に沿って、左側にD−DR1だけCから離れた箇所が新たな面の左側の輪郭線を決定する点となる。
[移動条件3の場合の面幅設定処理]
次に、図11の(D)および図11の(E)を参照し、移動条件3の場合、すなわち、面と障害物との距離を広げることを優先して面を移動させることが移動条件である場合の面幅設定処理について説明する。図11の(D)および図11の(E)は、移動条件3の場合の面幅設定処理を説明するための図である。この場合は、移動可能点として算出部153が算出した点が、分割点垂点から障害点垂点に向かう方向に面幅DR(DR2)だけ離れた点であるか否かによって、移動後の面幅の設定方法が異なる。
まず、図11の(D)を参照し、図9の(C)に示す垂直二等分線L上で、障害点垂点VPから分割点垂点VPに向かう方向に、面障害物間DR(DR1)と面幅Wと増加させる距離の最大値Lmaxとを合算した距離だけ離れた点を、移動可能点とした場合につき説明する。この場合、設定部154は、垂点間距離Dから、面障害物間DR(DR1)と増加させる距離の最大値Lmaxとを減算した長さを移動後の面幅とする。例えば、図11の(D)に示す例では、DP2の更新後の面幅は次のようになる。すなわち、CとC、CとCをつなぐ線分が成す角度を二等分する線分に沿って、Cから左側にD−(DR1+Wmax)の箇所が新たな面の左側の輪郭線を決定する点となる。
他方、算出部153が、図9の(C)に示す垂直二等分線L上において、分割点垂点VPから障害点垂点VPに向かう方向に面幅DR(DR2)だけ離れた点を移動可能点として算出した場合は、設定部154は、面幅DR(DR2)を移動後の面幅とする。例えば、図11の(E)に示す例では、更新後のDP2については、CとC、CとCをつなぐ線分が成す角度を二等分する線分に沿って、左側にDR2だけCから離れた箇所が新たな面の左側の輪郭線を決定する点となる。
[更新部による面形状更新処理]
図1に戻って、更新部155は、算出部153が算出した移動先と、設定部154が設定した移動後面幅とに基づいて、各分割点を移動させた位置における、移動後面幅を有する面の位置情報を作成し、移動データ記憶部143の位置情報を更新する。その後、移動データ記憶部143に記憶された位置情報によって設計情報記憶部141に記憶された位置情報を更新することで、面の位置情報を更新する。
更新部155は、まず、各分割点の座標を、算出部153が算出し移動データ記憶部143に記憶された移動先の座標に更新する。次に、更新部155は、移動後の各分割点について、当該分割点に隣り合う2つの分割点各々と、当該分割点とを結ぶ線分を求める。そして、更新部155は、当該分割点とそれに隣接する2分割点各々とを結ぶ2つの線分が成す角度を2等分する線分を求める。そして、更新部155は、この線分に沿って設定部154により設定された移動後面幅だけ移動後の分割点から離れた点を、移動後の面の輪郭上の点とする。このようにして、更新部155は、各分割点を移動させ、移動後の分割点各々について左右の輪郭上の点を設定する。そして、更新部155は、設定された輪郭上の点を左右それぞれについて順に結んだ線を求め、左右一本ずつの輪郭線とする。最後に、更新部155は、左右の輪郭上の端点を互いに結んだ面を、移動後の面とする。
[更新処理前後の面の例]
実施例1に係る基板設計装置100による更新処理前の面と、更新処理後の面との例を図12に示す。図12の(A)は、更新処理前の面2を示す図である。図の上方にはビア1が配置されており、その下に1つの面2が配置され、さらにその下に障害物6が配置されている。
図12の(A)のように設計された面2を、移動条件1に基づいて移動させた場合、すなわち、面の幅を維持しつつ面と障害物との距離をできるだけ広げるように移動させた場合の更新処理結果を図12の(B)に示す。図12の(B)においては、面2の幅は更新処理前と変化していないが、面2の下側輪郭線とその下の障害物6との距離は広がっている。
また、図12の(A)のように設計された面2を、移動条件2に基づいて移動させた場合、すなわち、面の幅を増加させることを優先して移動させた場合の結果を図12の(C)に示す。図12の(C)においては、面2とビア1との距離および面2と障害物6との距離は、デザインルールによって規定されている最短距離となっている。面2の幅はデザインルールを考慮して最大限に広げられている。
また、図12の(A)のように設計された面2を、移動条件3に基づいて移動させた場合、すなわち、面と障害物との距離を広げることを優先して面を移動させた場合の結果を図12の(D)に示す。図12の(D)においては、面2の幅はデザインルールに規定されている最短距離となっており、面2と障害物6との距離は大幅に広げられている。
[実施例1に係る基板設計装置による面形状更新処理の手順]
次に、実施例1に係る基板設計装置100による処理の手順を説明する。図13は、実施例1に係る基板設計装置100による面形状更新処理の手順を示すフローチャートである。図13に示すように、実施例1に係る基板設計装置100においては、面形状更新処理の実行コマンドである移動コマンドが実行されると(ステップS101肯定)、まず、抽出部151が処理対象となる面を選択する(ステップS102)。なお、移動コマンドは、移動条件の指定を含む。移動コマンドの実行がない場合は(ステップS101否定)、ステップ101を繰り返す。面の選択は、ユーザの指定に基づいて行われてもよく、設計図全体について移動コマンドが実行される場合は、基板設計装置100が自動的に行うものとしてもよい。そして、抽出部151は、選択した面の中心線を抽出する(ステップS103)。例えば、設計情報記憶部141に記憶された面の輪郭線の位置情報に基づいて、中心線を抽出する。そして、抽出部151は、抽出した中心線を所定の長さに等分に分割するN個の分割点を設定する(ステップS104)。ここで、Nは3以上の自然数である。次に、抽出部151はN個の分割点のうち、分割点DPnを選択する(ステップS105)。そして、抽出部151は、選択した分割点DPnにおける面幅を抽出する(ステップS106)。
抽出部151により、中心線、分割点が抽出され、分割点DPnにおける面幅が抽出されると、次に、検出部152が、分割点DPnにおける障害点を検出する(ステップS107)。
次に、算出部153が、分割点DPnおよび検出部152が検出した障害点の位置情報に基づいて、分割点DPnにおける垂直二等分線と、分割点DPnの分割点垂点と、障害点垂点と、を算出する(ステップS108)。そして、算出した垂直二等分線、分割点垂点、障害点垂点に基づいて、分割点DPnの移動先を算出する(ステップS108)。そして、算出部153は、算出した移動先を移動データ記憶部143に記憶させる。
次に、設定部154が、移動条件に応じて移動後の面幅を設定する(ステップS109)。移動後の面幅を設定した後、制御部150は、全ての分割点について、ステップS106〜ステップS110までの処理が完了したか否かを判定する(ステップS110)。全ての分割点について処理が完了していない場合(ステップS110否定)は、次の分割点を選択して、ステップS106以降の処理を繰り返す。全ての分割点について処理が完了している場合(ステップS110肯定)は、更新部155は、移動データ記憶部143に記憶された移動先のデータに基づいて各分割点を移動させる(ステップS112)。すなわち、分割点のデータを更新する。そして、更新部155は、設定部154が設定した面幅に基づいて各分割点に対応する面の輪郭を決定し、移動後の面を作成する(ステップ113)。すなわち、移動後の面のデータを作成する。その後、移動の完了した面、すなわち位置データの更新が完了した面について設計情報記憶部141に記憶された設計情報を更新し、移動データ記憶部143に記憶されたデータを消去する。
次に、制御部150は、全ての面について処理が完了したか否かを判定する(ステップS114)。全ての面について処理が完了していないと判定した場合(ステップS114否定)、制御部150は次の面を選択して(ステップS115)、ステップS103以降の処理を繰り返す。全ての面について処理が完了したと判定した場合(ステップS114肯定)、制御部150は、次に、面の更新処理を所定回数繰り返し行ったか否かを判定する(ステップS116)。所定回数繰り返し行っていないと判定した場合(ステップS116否定)、制御部150は、ステップS102に戻って再度処理を繰り返す。所定回数繰り返し行ったと判定した場合(ステップS116肯定)、制御部150は、処理を終了する。
なお、面形状更新処理を繰り返す回数は、ユーザが指定してもよく、面の数等に応じて自動的に設定されるものとしてもよい。
[実施例1の効果]
上述したように、実施例1によれば、設計情報記憶部141が、半導体パッケージの各要素に係る位置情報を少なくとも記憶する。そして、抽出部151が、設計情報記憶部141に記憶された位置情報に基づき、面の中心線、分割点、各分割点における面幅を抽出する。そして、検出部152が、各分割点における障害点を検出する。さらに、算出部153が、抽出部151が抽出した分割点および面幅並びに検出部152が検出した障害点に基づき、各分割点の移動先を算出する。そして、設定部154が各分割点について移動後の面の幅を設定する。そして、更新部155が、算出部153が算出した移動先および設定部154が設定した面幅に基づき、面の位置情報を更新する。従って、実施例1に係る基板設計装置100は、複数の面を有する半導体パッケージの設計図面において、各面が所定の移動条件を満たすよう、面の位置情報を更新することができる。よって、実施例1にかかる基板設計装置100は、面形状更新処理におけるミスを低減し、半導体パッケージの歩留まりを向上させることができる。
また、実施例1によれば、移動条件記憶部142はデザインルール情報を記憶し、算出部153は、デザインルールを加味しつつ、移動条件ごとに異なる態様で分割点の移動先を算出する。そして、設定部154は、分割点の移動先がどのように算出されたかという態様を考慮して、移動後の面幅を設定する。したがって、デザインルールを加味しつつ、分割点各々について、移動条件に従って適切な移動先を算出することができる。従って、実施例1に係る基板設計装置100は、移動条件に応じて柔軟に面形状更新処理を実行することができ、手作業による設計ミスを軽減し、基板設計の手間と時間を大幅に減じて、半導体パッケージの歩留まりを向上させることができる。
また、実施例1によれば、算出部153は、面の幅を増加する場合には増加させる最大値、面と障害物との距離を広げる場合には広げる最大値を加味して、分割点の移動先を算出する。これらの値は、ユーザが設定することができる。よって、ユーザの意図を柔軟に反映した面移動処理を行うことができる。
さて、これまで実施例1について説明したが、上述した実施例1以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下では、種々の異なる実施例を(1)〜(5)に区分けして説明する。
(1)移動条件
上記実施例では、移動条件としてデザインルール、移動条件1〜3を用いる場合について説明したが、本実施例はこれに限定するものではなく、例えば、面の幅を面と障害物との距離よりも広くする等、他の条件を設定してもよい。その場合は、移動条件の内容に応じて、算出部153における移動先算出処理の内容も変更する。
(2)処理対象
上記実施例では、設計情報記憶部141によって記憶された全ての面を面形状更新処理の対象とする場合について説明した。しかしながら、本実施例はこれに限定するものではなく、例えば、一部領域のみを面形状更新処理の対象とする場合であってもよい。
(3)中心線抽出
上記実施例では、面の略中心を通る線分を引き、これを所定の距離ごとに複数のセグメントに分割して各セグメントの中心点を抽出し、面の中心線を抽出するものとして説明した。しかし、本実施例はこれに限定するものではなく、例えば、略中心を通る線分を利用せずに、左右の輪郭線を基準に中心線を設定する等、他の方法で中心線を設定してもよい。
(4)システム構成等
図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示された構成要素と同一であることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、図1に示す抽出部151と検出部152とを一つの処理部として統合してもよい。また、一方で、図1に示す抽出部151を、中心線を抽出する抽出部と、分割点を設定する設定部と、面幅を算出する算出部とに分散してもよい。
また、本実施例において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともできる。例えば、図3に示す移動データ記憶部143の移動条件の設定は、設計対象に応じて自動的に決定されるとしてもよく、手動でユーザが設定するものとしてもよい。一方、手動的に行われるとして説明した処理の全部または一部を自動的に行うこともできる。例えば、図13における移動コマンドの実行を自動で行うこともできる。また、設計情報記憶部141を基板設計装置100の外部装置としてネットワーク経由で接続するようにしてもよい。また、設計情報記憶部141を別の装置が有し、ネットワークに接続されて協働することで、上記した基板設計装置100の機能を実現するようにしてもよい。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、CPUおよび当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
(5)基板設計プログラム
ところで、上記実施例1では、ハードウェアロジックによって各種の処理を実現する場合を説明したが、本実施例はこれに限定されるものではなく、予め用意されたプログラムをコンピュータで実行するようにしてもよい。そこで、以下では、図14を用いて上記実施例に示した基板設計装置100と同様の機能を有する基板設計プログラムを実行するコンピュータの一例を説明する。図14は、基板設計プログラムを実行するコンピュータを示す図である。
図14に示すように、コンピュータ1000は、例えば、メモリ1010と、CPU(Central Processing Unit)1020と、ハードディスクドライブインタフェース1030とを備える。さらにコンピュータ1000は、ディスクドライブインタフェース1040と、シリアルポートインタフェース1050と、ビデオアダプタ1060と、ネットワークインタフェース1070とを有する。これらの各部はバス1080によって接続される。
メモリ1010は、図14に示すように、ROM(Read Only Memory)1011及びRAM(Random Access Memory)1012を含む。ROM1011は、例えば、BIOS(Basic Input Output System)等のブートプログラムを記憶する。ハードディスクドライブインタフェース1030は、図14に示すように、ハードディスクドライブ1090に接続される。ディスクドライブインタフェース1040は、図14に示すように、ディスクドライブ1100に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ1100に挿入される。シリアルポートインタフェース1050は、図14に示すように、例えばマウス1110、キーボード1120に接続される。ビデオアダプタ1060は、図14に示すように、例えばディスプレイ1130に接続される。
ここで、図14に示すように、ハードディスクドライブ1090は、例えば、OS(Operating System)、アプリケーションプログラム、プログラムモジュール、プログラムデータを記憶する。すなわち、基板設計プログラムは、コンピュータ1000によって実行される指令が記述されたプログラムモジュールとして、例えばハードディスクに記憶される。例えば、上記実施例で説明した抽出部151と同様の情報処理を実行する抽出手順と、検出部152と同様の情報処理を実行する検出手順等が記述されたプログラムモジュールが、ハードディスクに記憶される。
また、上記実施例で説明した設計情報記憶部141に記憶されるデータのように、基板設計プログラムによる情報処理に用いられるデータは、プログラムデータとして、例えばハードディスクに記憶される。そして、CPU1020が、ハードディスクに記憶されたプログラムモジュールやプログラムデータを必要に応じてRAM1012に読み出し、抽出手順、検出手順、算出手順、設定手順、更新手順を実行する。
なお、基板設計プログラムに係るプログラムモジュールやプログラムデータは、ハードディスクに記憶される場合に限られず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ1100等を介してCPU1020によって読み出されてもよい。あるいは、基板設計プログラムに係るプログラムモジュールやプログラムデータは、ネットワーク(LAN(Local Area Network)、WAN(Wide Area Network)等)を介して接続された他のコンピュータに記憶されてもよい。そして記憶されたプログラムモジュールやプログラムデータが、ネットワークインタフェースを介してCPU1020によって読み出されてもよい。
100 基板設計装置
141 設計情報記憶部
142 移動条件記憶部
143 移動データ記憶部
151 抽出部
152 検出部
153 算出部
154 設定部
155 更新部

Claims (9)

  1. 基板に設けられる要素に係る位置情報を少なくとも記憶する記憶部と、
    前記記憶部に記憶された位置情報に基づき前記基板に設けられる1の入力と1の出力とを有する面の入出力方向に沿って当該面の中心線を抽出し、当該中心線を所定の長さに等分に分割する複数の分割点を設定し、当該分割点各々における前記面の幅を抽出する抽出部と、
    前記分割点各々について、前記面の周辺に存在する障害物の輪郭上から障害点を検出する検出部と、
    前記分割点各々について、所定の移動条件と前記抽出部が抽出した面の幅と前記検出部が検出した障害点とに基づき移動先を算出する算出部と、
    前記分割点各々について、前記所定の移動条件に基づき移動後の前記面の幅を設定する設定部と、
    前記算出部が算出した移動先と前記設定部が設定した面の幅とに基づき、前記記憶部に記憶した前記面の位置情報を更新する更新部と、
    を備える基板設計装置。
  2. 前記算出部は、前記分割点各々の前記移動先を、当該分割点と前記中心線上において隣接する2つの分割点を相互に結ぶ線分の垂直二等分線上に算出する請求項1に記載の基板設計装置。
  3. 前記抽出部は、前記分割点における前記面の幅を、前記中心線上において当該分割点と隣接する2つの分割点各々と当該分割点とを結ぶ線分が成す角度を二等分する線分と前記面の輪郭線とが交わる点から、当該分割点までの距離として抽出する請求項1または2に記載の基板設計装置。
  4. 前記検出部は、前記分割点を頂点として所定の角度を成す範囲内から、前記障害点を検出する請求項1〜3のいずれか一つに記載の基板設計装置。
  5. 前記所定の移動条件が、前記面の幅を維持しながら当該面と前記障害物との距離を広げることである場合において、
    前記算出部は、前記障害点を通り前記垂直二等分線に直交する線分と前記垂直二等分線との交点である第1の交点から前記分割点に向かう方向に、前記垂直二等分線上を、前記面と前記障害物との間に確保することが規定されている最短距離と前記抽出部が抽出した前記面の幅とを合算した距離だけ離れた点を、移動可能点として算出し、当該移動可能点に基づき前記移動先を算出する請求項2に記載の基板設計装置。
  6. 前記所定の移動条件が、前記面の幅を広くすることである場合において、
    前記算出部は、前記障害点を通り前記垂直二等分線に直交する線分と前記垂直二等分線との交点である第1の交点から前記分割点に向かう方向に、前記垂直二等分線上を、前記面と前記障害物との間に確保することが規定されている最短距離と前記抽出部が抽出した前記面の幅と前記面の幅を広げる長さの最大値とを合算した距離だけ離れた点と、前記分割点を通り前記垂直二等分線に直交する線分と前記垂直二等分線との交点である第2の交点と、のうち、前記第1の交点に近い方の点を、移動可能点として算出し、当該移動可能点に基づき前記移動先を算出する請求項2に記載の基板設計装置。
  7. 前記所定の移動条件が、前記面と前記障害物との間の距離を広げることである場合において、
    前記算出部は、前記障害点を通り前記垂直二等分線に直交する線分と前記垂直二等分線との交点である第1の交点から前記分割点に向かう方向に、前記垂直二等分線上を、前記面と前記障害物との間に確保することが規定されている最短距離と前記抽出部が抽出した前記面の幅と前記面と前記障害物との間において広げる距離の最大値とを合算した距離だけ離れた点と、前記分割点を通り前記垂直二等分線に直交する線分と前記垂直二等分線との交点である第2の交点から前記第1の交点に向かう方向に、前記面の幅として確保することが規定されている最短距離だけ離れた点と、のうち、前記第1の交点に近い方の点を、移動可能点として算出し、当該移動可能点に基づき前記移動先を算出する請求項2に記載の基板設計装置。
  8. 基板設計装置の抽出部が、記憶部に記憶された、基板に設けられる要素に係る位置情報に基づき、前記基板に設けられる1の入力と1の出力とを有する面の入出力方向に沿って当該面の中心線を抽出し、当該中心線を所定の長さに分割する複数の分割点を設定し、当該分割点各々における前記面の幅を抽出する抽出工程と、
    前記基板設計装置の検出部が、前記分割点各々について、前記面の周辺に存在する障害物の輪郭上から障害点を検出する検出工程と、
    前記基板設計装置の算出部が、前記分割点各々について、所定の移動条件と前記抽出工程において抽出した面の幅と前記検出工程において検出した障害点とに基づき移動先を算出する算出工程と、
    前記基板設計装置の設定部が、前記分割点各々について、前記所定の移動条件に基づき移動後の前記面の幅を設定する設定工程と、
    前記基板設計装置の更新部が、前記算出工程において算出した移動先と前記設定工程において設定した面の幅とに基づき、前記記憶部に記憶した前記面の位置情報を更新する更新工程と、
    を含む基板設計方法。
  9. 前記算出工程は、前記基板設計装置の前記算出部が、前記分割点各々の前記移動先を、当該分割点と前記中心線上において隣接する2つの分割点を相互に結ぶ線分の垂直二等分線上に算出する請求項8に記載の基板設計方法。
JP2011286610A 2011-12-27 2011-12-27 基板設計装置及び基板設計方法 Active JP5913969B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011286610A JP5913969B2 (ja) 2011-12-27 2011-12-27 基板設計装置及び基板設計方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011286610A JP5913969B2 (ja) 2011-12-27 2011-12-27 基板設計装置及び基板設計方法

Publications (3)

Publication Number Publication Date
JP2013134732A JP2013134732A (ja) 2013-07-08
JP2013134732A5 JP2013134732A5 (ja) 2014-10-23
JP5913969B2 true JP5913969B2 (ja) 2016-05-11

Family

ID=48911351

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011286610A Active JP5913969B2 (ja) 2011-12-27 2011-12-27 基板設計装置及び基板設計方法

Country Status (1)

Country Link
JP (1) JP5913969B2 (ja)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05289312A (ja) * 1992-04-06 1993-11-05 Ricoh Co Ltd 半導体集積回路のマスクパターン処理方法および処理装置
JP3192821B2 (ja) * 1993-05-26 2001-07-30 株式会社東芝 プリント配線板設計装置
JPH09325985A (ja) * 1996-06-03 1997-12-16 Ibiden Co Ltd パターン間隙算出装置
JP3932583B2 (ja) * 1996-10-29 2007-06-20 イビデン株式会社 拡大パターンの設計装置及び設計方法

Also Published As

Publication number Publication date
JP2013134732A (ja) 2013-07-08

Similar Documents

Publication Publication Date Title
CN110968983B (zh) 一种交互式布线方法
CN104346830A (zh) 在三维场景中设计连接第一点到第二点的路径
US9208277B1 (en) Automated adjustment of wire connections in computer-assisted design of circuits
US20080303810A1 (en) System and method for calculating loft surfaces using 3d scan data
TWI708304B (zh) 晶圓設計影像分析方法、系統與非暫態電腦可讀取媒體
JP2010108236A (ja) 散布図におけるデータ点の分布領域描画方法及び散布図におけるデータ点の分布領域描画プログラム
JP4609481B2 (ja) 形状検査装置および形状検査プログラム
KR20120086258A (ko) 설계 지원장치 및 그 정보처리 방법
WO2013171779A1 (ja) 配管又は配線支援装置
JP5913969B2 (ja) 基板設計装置及び基板設計方法
JP5673489B2 (ja) 点群データの処理装置、処理方法、処理プログラム及び記録媒体
US7546569B2 (en) Automatic trace determination method
JP5566257B2 (ja) データ生成方法および画像検査方法
JP5299196B2 (ja) マーカー検知装置及びマーカー検知装置用プログラム
JP5282511B2 (ja) 光近接効果補正パターンの検証方法及びその検証装置
JP4935232B2 (ja) 情報処理装置、配線設計方法及びプログラム
TWI540450B (zh) Machine configuration automatic calculation method and machine configuration automatic calculation device
JP5501102B2 (ja) 配線設計装置及び配線設計方法
US7627846B2 (en) Method and apparatus for automatically shaping traces on surface of substrate of semiconductor package by using computation
JP5526016B2 (ja) 基板設計装置及び基板設計方法
CN110146071A (zh) 定位维度提升方法及装置
CN109271668A (zh) 版图设计规则检查中区分多边形长宽度方向的方法
WO2023145177A1 (ja) 設計支援デバイス、設計支援デバイスを備える設計支援装置、及び設計支援方法
JP2011141491A (ja) 半導体デバイスパターン検証方法およびその検証プログラム
CN117272912A (zh) 一种将Pin快速布局到Boundary周围的方法

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140908

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140908

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150903

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150908

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151019

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160315

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160404

R150 Certificate of patent or registration of utility model

Ref document number: 5913969

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150