JP2021128712A - 情報処理装置及びプリント基板シミュレータ方法、及びプログラム - Google Patents

情報処理装置及びプリント基板シミュレータ方法、及びプログラム Download PDF

Info

Publication number
JP2021128712A
JP2021128712A JP2020024621A JP2020024621A JP2021128712A JP 2021128712 A JP2021128712 A JP 2021128712A JP 2020024621 A JP2020024621 A JP 2020024621A JP 2020024621 A JP2020024621 A JP 2020024621A JP 2021128712 A JP2021128712 A JP 2021128712A
Authority
JP
Japan
Prior art keywords
data
component
area
unit
region
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2020024621A
Other languages
English (en)
Inventor
哲行 久保田
Tetsuyuki Kubota
哲行 久保田
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2020024621A priority Critical patent/JP2021128712A/ja
Publication of JP2021128712A publication Critical patent/JP2021128712A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】 本発明の課題は、反り量の計算時間を削減することを目的とする。【解決手段】 上記課題は、プリント基板に実装される複数の部品それぞれの部品実装データから、所定の大きさ以上の部品の部品実装データを抽出する抽出部と、抽出された前記部品実装データの部品を配置する部品領域下の配線の配線形成データを抽出して、部分モデルデータを作成する作成部と、作成した前記部分モデルデータを含むデータセットを用いて、シミュレーションを実行し、熱荷重を与えたときの前記部品領域の変形量を取得する実行部と、前記変形量に基づく反り量が不合格の場合に、表示装置に警告を表示させる警告表示部とを有する情報処理装置により達成される。【選択図】 図5

Description

本発明は、情報処理装置及びプリント基板シミュレータ方法、及びプログラムに関する。
電子装置の開発では、実装された電子部品の接続不良の原因となるプリント配線板の反りを抑制するために、様々な工夫がなされている。例えば、配線パターンが設計された基材を複数のエリアに分割し、エリア内に配線されている配線パターンの面積率を算出し、エリアごとの基材の一方面及び他方面のそれぞれの面積率から得た反り量を濃淡又は色調差で視覚的に表示する技術等が知られている。
特開2007−79833号公報 特開2011−205151号公報
プリント配線板の反り量の計算処理には相当な時間を要する。上述した技術は、プリント配線板の表面全体を計算対象としており、反り量の計算時間を削減することができない。
したがって、1つの側面では、反り量の計算時間を削減することを目的とする。
一態様によれば、プリント基板に実装される部品の部品実装データから、処理対象を指定した抽出条件を満たす部品実装データを抽出する抽出部と、抽出された前記部品実装データの部品が配置される領域下の配線の配線形成データを抽出して、部分モデルデータを作成する作成部と、作成した前記部分モデルデータを用いて、前記領域の反り量を算出するシミュレーションを実行し、得られた該反り量が判定基準を超えている場合に不合格判定を行う第1の判定部と、前記不合格判定の警告を表示する警告表示部と、を有することを特徴とする情報処理装置が提供される。
反り量の計算時間を削減することができる。
第一実施例のシステムの構成例を示す図である。 第一実施例のシステムにおけるハードウェア構成例を示す図である。 計算対象とする領域を説明するための図である。 第一実施例におけるCAD装置の機能構成例を示す図である。 解析部及び合否判定部の機能構成例を示す図である。 シミュレーションを実行した場合の全体処理の概要を説明するための図である。 ユーザ設定データのデータ構成例を示す図である。 配線データのデータ構成例を示す図である。 ベタパターンデータのデータ構成例を示す図である。 基板製造データのデータ構成例を示す図である。 部品実装データ及び部品データのデータ構成例を示す図である。 基板データのデータ構成例を示す図である。 第一実施例におけるCAD装置によって行われる設計支援処理を説明するためのフローチャート図(続く)である。 第一実施例におけるCAD装置によって行われる設計支援処理を説明するためのフローチャート図(続く)である。 第一実施例におけるCAD装置によって行われる設計支援処理を説明するためのフローチャート図(続き)である。 図15のステップS248で行われる合否判定処理を説明するためのフローチャート図である。 図16における許容値ベース判定の場合のステップS274〜S277による処理を詳細に説明するためのフローチャート図である。 図14で行われる銅面積取得部による面積取得例を説明するための図である。 第一実施例における第一の表示例を示す図である。 合否判定結果のダイアログボックスの表示例を示す図である。 第二実施例におけるCAD装置の機能構成例を示す図である。 第二実施例における設計支援処理の全体を説明するためのフローチャートである。 第二実施例における選択処理を説明するためのフローチャート図である。 第二実施例におけるCAD装置によって行われる設計支援処理を説明するためのフローチャート図(続く)である。 第二実施例におけるCAD装置によって行われる設計支援処理を説明するためのフローチャート図(続き)である。 ユーザが複数の部品領域を選択した場合の画面例を示している。 ユーザが1つの部品領域を選択した場合の画面例を示している。 ユーザが1つの部品領域を選択した場合の他の画面例を示している。
以下、本発明の実施の形態を図面に基づいて説明する。
[第一実施例]
先ず、第一実施例における電子装置の設計に係るシステムについて説明する。図1は、第一実施例のシステムの構成例を示す図である。図1において、システム1000は、データサーバ90と、複数のCAD(Computer-Aided Design)装置100とを有し、データサーバ90と、各CAD装置100は、ネットワーク2を介して接続される。
データサーバ90は、電子装置の設計データ8を記憶し管理するサーバである。データサーバ90は、設計者等のユーザが利用するCAD装置100からの要求に応じて該要求で指定された電子装置の設計データ8を提供する。そして、変更された設計データ8の受信に応じて、データサーバ90は、データサーバ90内に保管している設計データ8を更新する。
CAD装置100は、設計者等のユーザに使用され、CAD機能を有する。CAD装置100は、ユーザの操作に応じてデータサーバ90から設計データ8を取得し、ユーザによる変更後の設計データ8をデータサーバ90に送信する。データサーバ90内の設計データ8が更新される。
システム1000におけるデータサーバ90と、各CAD装置100とは、図2に示すようなハードウェア構成を有する。図2は、第一実施例のシステムにおけるハードウェア構成例を示す図である。
図2において、データサーバ90は、データセンタとしての役目を担い、電子装置の設計に係る様ざまなデータを管理し、また、CAD装置100からの要求に応じて、要求されたデータを提供するコンピュータ装置である。第一実施例は、データの一例として図1に示したように設計データ8で説明するが、データサーバ90は、設計データ8のみの管理に限定されない。また、設計データ8は種々のデータを含み、主なデータについては後述される。
データサーバ90は、CPU(中央処理装置)91と、主記憶装置92aと、補助記憶装置92bと、入力装置94と、表示装置95と、通信I/F(InterFace)97と、ドライブ装置98とを有する。
CPU(中央処理装置)91は、データサーバ90を制御するプロセッサに相当する。CPU(中央処理装置)91は、記憶部93に格納されたサーバ処理プログラムを実行することで、以下に説明する第一実施例に係る様々な処理を実現する。入力装置94は、ユーザによって操作され、操作に応じてデータを入力する。表示装置95は、ユーザーインタフェースとして様々な画面を表示する。通信I/F97は、外部装置との通信を制御する。入力装置94と表示装置95とは一体化したタッチパネルであってもよい。
記憶媒体99(例えば、CD−ROM(Compact Disc Read-Only Memory)等)に記憶された第一実施例に係るサーバ処理プログラムは、ドライブ装置98を介して記憶部93にインストールされ、CPU91によって実行可能となる。
尚、第一実施例に係るサーバ処理プログラムを格納する記憶媒体99はCD−ROMに限定されず、コンピュータが読み取り可能な、構造(structure)を有する1つ以上の非一時的(non-transitory)な、有形(tangible)な媒体であればよい。コンピュータ読取可能な記憶媒体として、CD−ROMの他に、DVD(Digital Versatile Disk)ディスク、USBメモリ等の可搬型記録媒体、フラッシュメモリ等の半導体メモリであっても良い。
CAD装置100は、設計者等のユーザによって利用される端末装置であって、CPU11と、主記憶装置12aと、補助記憶装置12bと、入力装置14と、表示装置15と、通信I/F17と、ドライブ装置18とを有する。主記憶装置12aと、補助記憶装置12bと、CAD装置100がアクセス可能な外部記憶装置とを含めて、後述する機能ブロック図(図4)における記憶部13に相当する。
CPU11は、CAD装置100を制御するプロセッサに相当する。CPU11は、記憶部13に格納された設計支援プログラムを実行することで、以下に説明する第一実施例に係る様々な処理を実現する。入力装置14は、ユーザによって操作され、操作に応じてデータを入力する。表示装置15は、ユーザーインタフェースとして様々な画面を表示する。通信I/F17は、外部装置との通信を制御する。
記憶媒体19(例えば、CD−ROM等)に記憶された第一実施例に係る設計支援プログラムは、ドライブ装置18を介して記憶部93にインストールされ、CPU11によって実行可能となる。
尚、第一実施例に係る設計支援プログラムを格納する記憶媒体19はCD−ROMに限定されず、コンピュータが読み取り可能な、構造(structure)を有する1つ以上の非一時的(non-transitory)な、有形(tangible)な媒体であればよい。コンピュータ読取可能な記憶媒体として、CD−ROMの他に、DVD(Digital Versatile Disk)ディスク、USBメモリ等の可搬型記録媒体、フラッシュメモリ等の半導体メモリであっても良い。
図3及び図4を参照し、第一実施例におけるCAD装置100が行う設計支援処理の概要について説明する。図3は、計算対象とする領域を説明するための図である。第一実施例では、半導体パッケージ1が配置される領域に対して反り量を計算する。
図3(A)では、設計データ8に基づいて、計算対象となる、プリント基板(以下、基板3という)上に実装される半導体パッケージ1を特定する。この例では、BGA(Ball grid array)タイプを示しているが、半導体パッケージ1はこの例に限定されず、QFP(Quad Flat Package)等であってもよい。
図3(B)では、半導体パッケージ1が実装される部品領域1aを特定する。一例として、基板3の半導体パッケージ1が実装される実装面を上から見た平面図において、半導体パッケージ1の上面サイズを座標で特定すればよい。つまり、半導体パッケージ1の部品領域1aの中心4cの座標と、部品領域1aの1頂点4dの座標とを取得する。
図3(C)は、図3(B)のD−Dにおける基板3の断面例を示している。図3(C)では、基板3の一例として、基材3−1の一方の面に銅配線層3−2aが形成され、また、他方の面にも銅配線層3−2bが形成される両面実装タイプのプリント基板の例を示している。以下の説明では、単に、基板3の一方の面を「上側」といい、他方の面を「下側」という場合がある。
このような基材3−1の両面に銅配線又はベタパターンが形成される場合には、銅配線層3−2aと銅配線層3−2bにおける単位面積当たりの銅含有量の差が、半導体パッケージ1の接続不良の一因となる。しかしながら、半導体パッケージ1は、タイプにより形状、サイズが異なっている。半導体パッケージ1は、サイズが小さい程、基板3との接続性がより安定し、また、接続端子がリードピンである程、基板3との接続性がより安定する。このように、同一タイプであっても半導体パッケージ1の大きさによって基板3との接続の安定性も異なる。
第一実施例では、基板3全体に対してシミュレーションによる計算処理を行うのではない。つまり、半導体パッケージ1を特定し(図1(A))、特定した半導体パッケージ1が実装される部品領域1aを特定する(図1(B))。特定した部品領域1aを対象として、断面1bに対して基板3の上側と下側の銅含有率を算出する。このような仕組みとすることで計算時間を短縮することができる。
図4は、第一実施例におけるCAD装置の機能構成例を示す図である。図4において、CAD装置100は、条件取得部41と、型番抽出部42と、部品領域取得部43と、銅面積取得部44と、良否判断部45と、警告表示部48とを有する。各処理部41〜48及びシミュレーション5は、CAD装置100にインストールされたプログラムが、CAD装置100のCPU11に実行させる処理により実現される。
また、記憶部13には、ユーザ設定データ30、設計データ8、型番データ52、部品領域データ53、銅面積データ54、部分モデルデータPmdl、解析データ55、結果データ56等を記憶する。設計データ8には、基板製造データ33、部品実装データ34、部品データ35、基板データ36、配線形成データ37等が含まれる。また、配線形成データ37は、各配線層に形成される銅の配線データ31とベタパターンデータ32とを含む。設計データ8は、第一実施例の処理を開始する際に、データサーバ90から取得される。設計データ8のそれぞれのデータ構成についは後述される。
条件取得部41は、CAD装置100の表示装置15に所定の設定画面を表示することでユーザに設定を促すことで、ユーザ設定データ30を取得する。ユーザ設定データ30は、記憶部13に記憶される。型番抽出部42は、部品実装データ34からユーザ設定データ30で指定される抽出条件30a(図7)に該当する部品型番を抽出すると、1以上の型番を示す型番データ52を記憶部13に出力する。
部品領域取得部43は、部品実装データ34と部品データ35とを用いて、型番データ52の部品型番に一致する部品の部品領域1aを特定する。部品領域取得部43は、実装番号に対応付けて特定した部品領域を記憶した部品領域データ53を作成する。作成された部品領域データ53は記憶部13に記憶される。部品とは、電子部品であり、半導体パッケージ1に相当する。
銅面積取得部44は、配線データ31とベタパターンデータ32とを参照することで、部品領域データ53で指定される部品領域1aごとに、当該部品領域1a下に配置配線される配線又はベタパターンを特定する。そして、銅面積取得部44は、部品領域ごとの銅の総面積を求め、求めた銅の総面積を示す銅面積データ54を記憶部13に出力する。
良否判断部45は、基板3における部品領域1aでの上側と下側の銅の含有量に基づいて良否を判定する処理部であり、解析部46と、シミュレーション5と、合否判定部47とを有する。
解析部46は、部品領域データ53と銅面積データ54とに基づいて、部品領域ごとの上側と下側の銅含有率を用いて、接続不良の判定に係る解析を行う。解析部46は、ユーザ設定データ30で指定される合否判定基準30d(図7)に基づいて、シミュレーション5を用いた第1解析処理、又は、上側銅含有率と下側銅含有率の比を求める第2解析処理のいずれかを行う。解析部46によって得られた解析データ55が記憶部13に記憶される。
第1解析処理は、合否判定基準30d(図7)が許容値ベース判定を指定している場合に選択される処理である。解析部46は、部品領域上の半導体パッケージ1を直方体(図5の部分モデル1m)で表す部分モデルデータPmdlを生成する。解析部46は、生成した部分モデルデータPmdlを用いてシミュレーション5を実行することで解析データ55を得る。得られた解析データ55は、記憶部13に記憶される。
第2解析処理では、合否判定基準30d(図7)が基準値ベース判定を指定している場合に選択される処理である。解析部46は、予め定めた基準値を用いた合否判定の対象となる上側銅含有率3a(図5)の下側銅含有率3b(図5)に対する比を求める。得られた銅含有率の比を示す解析データ55は、記憶部13に記憶される。解析部46の機能構成については図5で詳述する。
合否判定部47は、合否判定基準30dの設定に従って、解析データ55を用いて部品領域における反りに対する合否判定を行う。不合格となった部品領域を特定する実装番号などを結果データ56に記憶する。合否判定部47の機能構成については図5で詳述する。
警告表示部48は、設計データ8(主に、部品実装データ34及び部品データ35)に基づいて作成したレイアウト8ytに、結果データ56に基づいて接続不良が発生する可能性のある部品領域を視認可能にした画面を表示装置15に表示させる。図5にシミュレーション5の実行例を示す。
図5は、解析部及び合否判定部の機能構成例を示す図である。図5において、先ず、解析部46の機能構成例について説明する。解析部46は、主に、含有率算出部460と、解析値取得部461とを有する。更に、解析値取得部461は、含有率比算出部7と、部分モデルデータ作成部6aと、等価物性値算出部6bと、実行部6cとを有する。
含有率算出部460は、計算対象である部品領域1a下の、上側銅含有率3aと下側銅含有率3bとを算出する。上側銅含有率3aは、部品領域1aの面積に対する上側銅面積の割合である。また、下側銅含有率3bは、部品領域1aの面積に対する下側銅面積の割合である。得られた上側銅含有率3aと下側銅含有率3bは、記憶部13に記憶される。
上側銅含有率3aと下側銅含有率3bとを得ると、解析値取得部461は、ユーザ設定データ30で指定される合否判定基準30d(図7)に基づいて、第1解析処理又は第2解析処理のいずれかを実行する。得られた解析データ55が記憶部13に出力される。部分モデルデータ作成部6a、等価物性値算出部6b、及びシミュレーション5による処理が第1解析処理に相当する。また、含有率比算出部7による処理が第2解析処理に相当する。
合否判定基準30dが許容値ベース判定を指定している場合、解析値取得部461は、部分モデルデータ作成部6a、等価物性値算出部6b、及び実行部6cの順に処理を実行する。
先ず、部分モデルデータ作成部6aは、部分モデル1mを表す部分モデルデータPmdlを作成する。部分モデル1mは、部品領域1aに対して基板3の高さを持つ直方体であればよい。部分モデルデータ作成部6aにより、部分モデルデータPmdlには、部品領域1aの座標(xs, ys)及び(xe, ye)と、基板3の高さTtotalと、上側の銅配線の厚さLupper及び下側の銅配線の厚さLlowerとが設定される。
等価物性値算出部6bは、部分モデルデータPmdlが作成されると、含有率算出部460によって得られた上側銅含有率3aと下側銅含有率3bとを用いて、等価物性値phyを算出する。等価物性値phyは、熱膨張率、ヤング率、及びポアソン比を含む。
そして、実行部6cは、部分モデルデータPmdlと等価物性値phyとを含むデータセットsimをシミュレーション5に送信することで、部分モデル1mに対してシミュレーション5を実行する。
シミュレーション5は、基板3の製造工程におけるリフロー時の熱荷重を加え、部品領域1aの変形をシミュレーションするツールに相当する。一例として、シミュレーション5は、有限要素法(Finite Element Method)による構造解析(線形熱変形解析)を行うABAQUS、LS−Dynaなどであればよい。シミュレーション5の実行により、部品領域1aに施したメッシュの節点ごとの変形量55aが実行部6c(解析値取得部461)への戻り値となる。変形量55aを示す解析データ55が記憶部13に出力される。
一方、合否判定基準30dが基準値ベース判定を指定している場合、解析値取得部461は、含有率比算出部7により、上側銅含有率3aと下側銅含有率3bとから銅含有率の比55bを得る。含有率比算出部7により得られた銅含有率の比55bが解析値取得部461への戻り値となる。銅含有率の比55bを示す解析データ55が記憶部13に出力される。
次に、合否判定部47の機能構成例について説明する。合否判定部47は、反り量判定部472aと、含有率比判定部472bとを有する。合否判定基準30dが許容値ベース判定を指定している場合に、合否判定部47は、反り量判定部472aにより合否判定を行う(第1合否判定処理)。また、合否判定基準30dが基準値ベース判定を指定している場合に、合否判定部47は、含有率比判定部472bにより合否判定を行う(第2合否判定処理)。
反り量判定部472aは、解析データ55に基づく反り量3wpと、部品領域1aに対する許容値3hとを比較することによって、部品領域1aの合否判定を行う(第1合否判定処理)。反り量3wpが許容値3hより大きい場合、反り量判定部472aは、部品領域1aは不合格であると判定する。不合格の判定となるごとに、部品領域1aの情報が結果データ56に追加される。
反り量判定部472aは、解析データ55に含まれる節点ごとの変形量55aのうち、部品領域1aの中心4cの変形量55aと当該部品領域1aの4つの頂点それぞれの変形量55aの差の絶対値を算出する。そして、反り量判定部472aは、得られた4つの絶対値のうち最大値を合否判定に用いる反り量3wpに設定する。また、反り量判定部472aは、部品領域1aに対応付けられる部品型番を用いて、部品データ35から許容値3hを取得して、反り量3wpが許容値3hより大きいかを判定する。
この例では、熱を加えた場合に、部品領域1aに対して垂直な断面1bが断面1b'のように上側に盛り上がるように湾曲し変形した場合を例としているが、このような変形例に限定しない。熱による変形は、下側への変形であってもよい。
反り量3wpが許容値3hより大きい場合、警告表示部48によって、レイアウトにおいて該当する半導体パッケージ1が強調表示される。
含有率比判定部472bは、解析データ55の銅含有率の比55bと基準値3bsとを比較することで、銅含有率の比55bが基準値3bsより大きいか否かを判定する(第2合否判定処理)。含有率比判定部472bは、銅含有率の比55bが基準値3bsより大きい場合に不合格と判定する。この場合、部品領域1aの情報が結果データ56に追加される。
上述したように、良否判断部45では、上側銅含有率3a及び下側銅含有率3bを得た後は、合否判定基準30dが許容値ベース判定を指定している場合、第1解析処理と第1合否判定処理とが行われる。また、合否判定基準30dが基準値ベース判定を指定している場合、第2解析処理と第2合否判定処理とが行われる。
基準値3bsは、ユーザ設定データ30で指定されていてもよいし、予め定めた値であってもよい。銅含有率の比55bが基準値3bsより大きい場合、警告表示部48によって、レイアウト8ytにおいて該当する半導体パッケージ1が強調表示される。
図6は、シミュレーションを実行した場合の全体処理の概要を説明するための図である。図6において、CAD装置100は、基板3に半導体パッケージ1等の電子部品を配置した設計データ8から合否判定を行う半導体パッケージ1を特定し、特定した半導体パッケージ1を配置する部品領域1aを計算対象として抽出する。シミュレーション5による計算対象とする部品領域1aは、実装される半導体パッケージ1のタイプ、サイズ等を条件として抽出する。抽出条件例として、接続不良が発生し易いタイプ、規定値以上の大きいサイズ等の少なくとも1つ以上が指定される。
CAD装置100は、抽出した個々の部品領域1aに対して部分モデルデータPmdlを作成し、作成した部分モデルデータPmdlを用いてシミュレーション5を実行する。CAD装置100は、シミュレーション5の実行により解析データ55として得られた変形量55aを用いて、半導体パッケージ1の部品領域1aで接続不良が発生する可能性があるか否かを判定する(合否判定)。不合格の部品領域1aの情報が結果データ56に記憶される。
CAD装置100は、結果データ56に基づく結果表示6を行う。CAD装置100は、接続不良が発生する可能性のある半導体パッケージ1の部品領域1aをレイアウト8yt上で視認可能に警告表示を行う。一例として、CAD装置100は、判別された半導体パッケージ1の部品領域1aを視認可能に他電子部品とは異なる色で表示してもよいし、点滅させてもよい。また、警告表示はこの例に限定されない。
このように、CAD装置100は、絞り込んだ半導体パッケージ1の部品領域1aのうち不合格の判定となった部品領域1aでシミュレーション5を実行する。そのため、レイアウト8yt全体を計算対象とした場合に比べて、計算処理の負担を大幅に削減することができる。
次に、ユーザ設定データ30及び設計データ8の様々なデータ31〜36のデータ構成例について図7〜図12で説明する。図7は、ユーザ設定データのデータ構成例を示す図である。図7において、ユーザ設定データ30は、抽出条件30a、合否判定基準30d等の項目を有する。
抽出条件30aは、半導体パッケージ1を特定するための条件を示し、実装タイプ30b、部品外形寸法30c等の少なくとも1つ以上を指定する。実装タイプ30bは、ICチップのパッケージ方式を指定し、例えば、BGA、QFP等の1つ以上を指定する。部品外形寸法30cは、半導体パッケージ1の最小サイズを、形状の1頂点を原点とした場合に他頂点の座標のうちx座標の最大値及びy座標の最大値を指定する。合否判定基準30dは、許容値ベース判定又は基準値ベース判定の何れかを指定する。
図8は、配線データのデータ構成例を示す図である。図8(A)において、配線データ31は、設計データ8内で銅配線を識別する配線番号lごとに、層番号layerNum、配線幅w、点番号1、2、3、・・・、点番号nlを記憶し管理するテーブルである。
図8(B)では、銅配線exの例を示している。この例では、点番号1は座標(x_1、y_1)、点番号2は座標(x_2、y_2)、点番号3は座標(x_3、y_3)等、そして、点番号nlは始点座標(x_nl、y_nl)である。配線番号lは、直線の銅配線を点と点の間で形成し接続された配線である。
図9は、ベタパターンデータのデータ構成例を示す図である。図9(A)において、ベタパターンデータ32は、設計データ8内でベタパターンを識別するベタパターン番号pごとに、層番号layerNum、配線幅w、点番号1、2、3、・・・、点番号npを記憶し管理するテーブルである。
図9(B)では、ベタパターン32exの例を示している。この例では、点番号1は座標(x_1、y_1)、点番号2は座標(x_2、y_2)、点番号3は座標(x_3、y_3)等、そして、点番号npは始点座標(x_np、y_np)である。ベタパターン番号pは、複数の頂点を結んだ形状の内部にベタに形成された銅配線である。
図10は、基板製造データのデータ構成例を示す図である。図10において、基板製造データ33は、設計データ8で設計された全総数L、銅の熱膨張率(a_Cu)、基材の熱膨張率(a_Ins)、銅のヤング率(y_Cu)、基材のヤング率(y_Ins)、銅のポアソン比(p_Cu)、基材のポアソン比(p_Ins)、基板の各層の厚さ、基板全体の厚さTtotalなどの項目を有する。
全総数Lは、基板3の上側銅配線層と下側銅配線層の総数を示す。銅の熱膨張率(a_Cu)、基材の熱膨張率(a_Ins)、銅のヤング率(y_Cu)、基材のヤング率(y_Ins)、銅のポアソン比(p_Cu)、及び基材のポアソン比(p_Ins)は、等価物性値phyの算出時に、等価物性値算出部6bによって参照される。
配列T[]は、各層の厚さt1, t2, t3, ... , tLを示す。基板全体の厚さTtotalは、各層の厚さt1〜tLの合計値を示す。
図11は、部品実装データ及び部品データのデータ構成例を示す図である。図11(A)において、部品実装データ34は、基板3に実装される半導体パッケージ1等の電子部品のそれぞれを特定して、実装時の電子部品の向きを記憶し管理するテーブルである。部品データ35は、基板3に実装する電子部品の部品情報を記憶し管理するテーブルであり、部品ライブラリに相当する。
部品実装データ34は、基板3に実装される電子部品ごとに、実装番号、部品型番、部品原点位置、回転角等の項目を有する。この例では、実装番号1、2、3、・・・ngで特定される電子部品が実装される。実装番号1の電子部品は、部品型番3、部品原点位置(x_1、y_1)であり、回転角θで実装されることが示されている。実装番号2、3、・・・ngにおいても同様である。
部品データ35は、実装する電子部品ごとに、部品型番、実装タイプ、部品外形寸法、許容値等の項目を有する。この例では、部品型番1の部品データ35は、実装タイプ1、部品外形寸法(xb_1、yb_1)、許容値h_1等を示す。反り量判定部426aが部品型番1の部品の合否判定を行う場合には、この許容値h_1が許容値3hに設定される。他部品についても同様に項目ごとに特性が示される。実装タイプの一例としては、BGA(Ball Grid Array)、QFP(Quad Flat Package)、SOJ(Small Outline J-leaded package)等が指定される。許容値の一例としては、BGAであれば半田バールの高さ、QFPであればピンの高さなどが示される。
図11(B)では、部品データ35から選択された部品型番1の電子部品(下側)の、部品実装データ34で指定される基板3上の配置例(上側)を示している。部品データ35では、電子部品の外形の定めた頂点を部品原点Pとし、部品原点Pの対角線上で対面する頂点が部品外形寸法(xb_1、yb_1)として指定されている。そして、部品実装データ34では、基板3上に配置(上側)した場合の、部品型番1の電子部品の向きを、部品原点Pから部品原点位置(x_1、y_1)への回転角θで指定される。
図12は、基板データのデータ構成例を示す図である。図12において、基板データ36は、設計された全ての銅配線及びベタパターンの一覧と、設計に係るデータを特定する特定情報A、B、C等を記憶し管理するテーブルである。
基板データ36は、配線データ31で管理されている配線番号l(l=1、2、・・・、nh)と、ベタパターンデータ32で管理されているベタパターン番号p(p=1、2、・・・、nb)とを記憶する。更に、基板データ36は、部品実装データ34を特定する特定情報A、部品データ35を特定する特定情報B、及び基板製造データ33を特定する特定情報C等を記憶している。特定情報A、B、及Cは、データ(又はテーブル)名、記憶部13内におけるそれぞれの記憶領域の先頭アドレスへのポインタ等であればよい。
次に、CAD装置100によって行われる第一実施例に係る設計支援処理について、図13から図16で説明する。先ず、設計支援処理の説明で用いられる主な配列と変数とを以下に示す。
・targetTypeは、反り量3wpの良否判断を行う実装タイプを保存する。
・(xt, yt)は、反り量3wpの良否判断を行う部品の最低寸法を保存する。
targetTypeと(xt, yt)とには、ユーザ設定データ30の抽出条件30bで指定される、実装タイプ30bと部品外形寸法30cとがそれぞれ格納される。
・配列targetpart[]では、各要素が、反り量3wpの良否判断を行う部品型番を格納し、型番データ52のデータ構成を定義する。配列targetpart[]により、複数の要素が保持される場合、
targetpart[]
要素
<部品型番>
<部品型番>
<部品型番>
・・・
のように表せる。以下の説明において、targetpart[j]は、先頭からj番目の部品型番を指定する。
・配列target_region[]では、各要素が、実装番号、xs、ys、xe、及びyeを格納し、部品領域データ53のデータ構成を定義する。xs及びysが1点の座標(xs、ys)に相当し、xe及びyeが1点の座標(xe、ye)に相当する。座標(xs、ys)及び座標(xe、ye)が、レイアウトyt上の実装部品の部品領域1aの対角線上の2点の位置を示す。配列target_region[]により、複数の要素が保持される場合、
target_region[]
要素
<実装番号, xs, ys, xe, ye>
<実装番号, xs, ys, xe, ye>
<実装番号, xs, ys, xe, ye>
<実装番号, xs, ys, xe, ye>
・・・
のように表せる。以下の説明において、target_region[i]は、先頭からi番目の要素<実装番号, xs, ys, xe, ye>を指定する。要素を部分的に指定する場合には、
target_region[i].実装番号
target_region[i].部品領域
と表すものとする。ここで、部品領域は<xs, ys, xe, ye>に相当する。要素の部分的な指定は、以下の配列においても同様の形式で表すものとする。
銅面積データ54は、以下の2の配列に相当する。
・配列lines_area[]では、各要素が、部品領域番号、層番号、及び面積を格納する。lines_area[]により、複数の要素が保持される場合、
lines_area[]
要素
<部品領域番号, 層番号, 面積>
<部品領域番号, 層番号, 面積>
<部品領域番号, 層番号, 面積>
<部品領域番号, 層番号, 面積>
・・・
のように表せる。以下の説明において、lines_area[j]は、先頭からj番目の要素<部品領域番号, 層番号, 面積>を指定する。
・配列plane_area[]では、各要素が、部品領域番号、層番号、及び面積を格納する。plane_area[]により、複数の要素が保持される場合、
plane_area[]
要素
<部品領域番号, 層番号, 面積>
<部品領域番号, 層番号, 面積>
<部品領域番号, 層番号, 面積>
<部品領域番号, 層番号, 面積>
・・・
のように表せる。以下の説明において、plane_area[j]は、先頭からj番目の要素<部品領域番号, 層番号, 面積>を指定する。
また、
・配列bad_parts[]では、各要素が、実装番号を格納し、結果データ56のデータ構成を定義する。
bad_parts[]
要素
<実装番号>
<実装番号>
<実装番号>
・・・
のように表せる。配列bad_parts[]の各要素に、実装番号に加えて解析によって得られた様々な数値等のデータを記憶してもよい。
図13から図15は、第一実施例におけるCAD装置によって行われる設計支援処理を説明するためのフローチャート図である。図13では、条件取得部41による条件取得処理(ステップS201)と、型番抽出部42による型番抽出処理(ステップS202〜S207)と、部品領域取得部43による領域取得処理(ステップS208〜S214)とについて説明する。
条件取得部41は、ユーザ設定データ30から、抽出条件30aで指定される反り量3wpの良否判断を行う実装タイプ30bと、部品外形寸法30cとを取得する(ステップS201)。実装タイプ30bは変数targetTypeに設定され、部品外形寸法30cは座標(xt, yt)に設定される。
次に、型番抽出部42は、抽出した部品の型番を保存する配列targetpart[]を初期化し(ステップS202)、また、変数である部品型番iと型番総数nbとを初期化する。即ち、型番抽出部42は、部品型番iを0に初期化し、部品データ35に登録されている部品型番の総数を繰り返し回数nbに設定する。そして、型番抽出部42は、ステップS203からS207までの処理を全ての部品型番に対して終了するまで繰り返す。
型番抽出部42は、部品型番iが繰り返し回数nb−1に達したか否かを判定する(ステップS203)。部品型番iが繰り返し回数nb−1に達している場合、型番抽出部42は、このループを抜けて型番抽出処理を終了する。型番抽出処理の終了により、部品領域取得部43による領域取得処理が開始される。一方、部品型番iが繰り返し回数nb−1に達していない場合、型番抽出部42は、部品データ35の部品型番iのレコードから実装タイプと部品外形寸法の値を取得し、変数type_iと座標(xi, yi)とに設定する(ステップS204)。
そして、型番抽出部42は、実装タイプの一致かつ座標の一致とを判断する(ステップS205)。つまり、部品データ35から得た実装タイプtype_iが抽出条件30aの実装タイプtargetTypeと一致を判断する。また、部品データ35から座標の値xiが抽出条件30aの座標の値xt以上及び部品データ35から座標の値yiが抽出条件30aで指定された座標の値yt以上であるか否かを判断する。実装タイプ及び座標の値のいずれかが条件に合致しない場合(ステップS205のYES)、型番抽出部42は、部品型番iを1インクリメントしてステップS203へと戻る。型番抽出部42は、部品型番iが繰り返し回数nb−1以下を示す間は、上述した同様の処理を繰り返す。部品型番iが繰り返し回数nb−1より大きい場合、型番抽出部42は、このループを抜けて型番抽出処理を終了する。
一方、実装タイプ及び座標の値が条件に合致した場合(ステップS205のYES)、型番抽出部42は、配列targetpart[]に部品型番iを保存し(ステップS206)、部品型番iを1インクリメントして(ステップS207)、ステップS203へと戻る。型番抽出部42は、部品型番iが繰り返し回数nb−1以下を示す間は、上述した同様の処理を繰り返す。部品型番iが繰り返し回数nb−1より大きくなった場合、型番抽出部42は、このループを抜けて型番抽出処理を終了する。部品型番iが保存された配列targetpart[]は、型番データ52に相当する。
そして、部品領域取得部43による領域取得処理が開始される。部品領域取得部43は、計算対象となる部品領域1aを保存する配列target_region[]を初期する(ステップS208)。配列target_region[]は、実装番号、値xs、値ys、値xe、及び値yeを有する。実装番号は、部品実装データ34に記憶される番号であり、値xs及び値ysと値xe及び値yeとは部品領域1eの対角線上に在る2つの頂点の座標(xs, ys)及び(xe, ye)を示す。
また、部品領域取得部43は、変数の実装番号iと繰り返し回数ngとを初期化する。即ち、部品領域取得部43は、実装番号iを0に初期化し、部品実装データ34に登録されているレコードの総数を繰り返し回数ngに設定する。そして、部品領域取得部43は、ステップS209からS215までの処理を全ての実装部品に対して終了するまで繰り返す。
部品領域取得部43は、実装番号iが繰り返し回数ng−1に達したか否かを判定する(ステップS209)。実装番号iが繰り返し回数ng−1に達している場合、部品領域取得部43は、このループを抜けて領域取得処理を終了する。領域取得処理の終了により、銅面積取得部44による面積取得処理が開始される。一方、実装番号iが繰り返し回数ngに達していない場合、部品領域取得部43は、実装部品データ34の実装番号iのレコードから部品型番を取得し、取得した部品型番を変数の部品型番piに設定する(ステップS210)。
そして、部品領域取得部43は、配列targetpart[](型番データ52に相当)から順番に要素の値(targetpart[j]:j=1、2、・・・、要素数)を取り出して、部品型番piと比較する処理を繰り返す(ステップS211、S212、及びS213)。
部品型番piが要素の値(targetpart[j])と一致する場合(ステップS212)、部品領域取得部43は、要素の値(targetpart[j])で示される部品型番の部品外形寸法と、実装番号iの部品原点位置と回転角度とを用いて、部品領域1aを算出する(ステップS212−2)。部品領域取得部43は、部品外形寸法を、部品型番を用いて部品データ35から取得すればよい。また、部品領域取得部43は、部品原点位置と回転角度を、実装番号iを用いて部品実装データ34から取得すればよい。
部品領域1aを算出すると、部品領域取得部43は、このループを抜けて、配列target_region[]に、実装番号iと部品領域1aとを保存する(ステップS214)。
target_region[]に、実装番号iと、部品領域1aの対角線上の2頂点の座標の各値xs、ys、xe、及びyeとが記憶される。
そして、部品領域取得部43は、実装番号iを1インクリメントして(ステップS215)、部品実装データ34から次のレコードを読み込み、上述した同様の処理を繰り返す。部品実装データ34のレコード全てに対して処理を終了すると、即ち、実装番号iが繰り返し回数ng−1に達すると、このループを抜けて領域取得処理が終了する。型番データ52の部品型番と一致する電子部品の実装番号iと部品領域1aとが保存された配列target_region[]は、型番データ52に相当する。
次に、図14に示すような銅面積取得部44による面積取得処理(ステップS216〜S231)が行われる。面積取得処理のうち、ステップS216〜S223までの処理が銅配線(以下、単に、配線という)の面積を取得する処理であり、ステップS224〜S231までの処理がベタパターンの面積を取得する処理である。
銅面積取得部44は、計算対象となる部品領域1aに含まれる配線の配線番号と、部品領域1aに含まれる部分の面積とを保存する配列lines_area[]を初期化する(ステップS216)。配列lines_area[]の各要素は、部品領域番号、層番号、及び面積である。配列lines_area[]は、銅面積データ54のうち、部品領域1aと重なる銅配線の面積を記憶したテーブルに相当する。
また、銅面積取得部44は、配線番号iを0に初期化し、配線データ31に登録されている配線総数を繰り返し回数nhに設定する。そして、銅面積取得部44は、ステップS216からS223までの処理を全ての銅配線に対して終了するまで繰り返す。
銅面積取得部44は、配線番号iが繰り返し回数nh−1に達したか否かを判定する(ステップS217)。配線番号iが繰り返し回数nh−1に達している場合、銅面積取得部44は、このループを抜けて、ベタパターンの面積の取得処理を開始する。一方、配線番号iが繰り返し回数nh−1に達していない場合、銅面積取得部44は、配線データ31から、配線番号iに対応する点座標、幅、及び層番号lnを取得する(ステップS218)。
そして、銅面積取得部44は、配線番号iの銅配線が1又は複数の部品領域1aのうちのいずれかと重なっている場合に重なった面積を求めるための繰り返し処理(ステップS219〜S222)を行う。銅面積取得部44は、配列target_region[](部品領域データ53)から順に要素の値(部品領域1aの座標)を読み出すための要素番号jを0に初期化する。
銅面積取得部44は、要素番号jが配列target_region[]が要素の総数に達した場合、このループを抜けて、ステップS223へと進む。要素番号jが配列target_region[]の要素の総数に達していない場合、銅面積取得部44は、配線番号iの配線が配列target_region[j].部品領域と重なるか否かを判断する(ステップS220)。
配線番号iの配線が配列target_region[j].部品領域と重なる場合(ステップS220のYES)、銅面積取得部44は、配線番号iの配線がtarget_region[j].部品領域と重なる部分の面積aを求めてlines_area[]に保存する(ステップS221)。銅面積取得部44は、配線番号iの配線がtarget_region[j].部品領域に重なる部分の長さlを算出し、得られた長さlに幅wを乗じて面積aを求める。
そして、銅面積取得部44は、部品領域番号j、層番号ln、及び面積aをlines_area[]に保存する。部品領域番号jには、計算対象の部品領域1aを一意に特定する配列target_region[]の要素番号jが設定される。面積aは、求めた重なる部分の面積である。層番号lnは、配線データ31から得られ、要素番号jに対応付けられた層番号である。銅面積取得部44は、要素番号jを1インクリメントし(ステップS222)、ステップS219へと戻り、上述した同様の処理を繰り返す。
一方、配線番号iの配線が配列target_region[j]の部品領域1aと重ならない場合(ステップS220のNO)、銅面積取得部44は、要素番号jを1インクリメントして(ステップS222)、ステップS219へと戻り、上述した同様の処理を繰り返す。
ステップS219において、要素番号jの値が要素数を超えると判断した場合、銅面積取得部44は、このループを抜けて、配線番号iを1インクリメントしてステップS217へと戻り、次の配線について上述同様の処理を繰り返す。ステップS217において、配線番号iの値が配線総数nh−1を超えたと判断した場合、銅面積取得部44は、このループを抜けて、ベタパターンの場合の部品領域1aと重なる面積を求める処理を行うためにステップS224へと進む。
銅面積取得部44は、計算対象となる部品領域1aに含まれるベタパターンの番号(単に、ベタパターン番号)と、部品領域1aに含まれる部分の面積とを保存する配列plane_area[]を初期化する(ステップS224)。配列plane_area[]の各要素は、部品領域番号、層番号、及び面積である。配列plane_area[]は、銅面積データ54のうち、部品領域1aと重なるベタパターンの面積を記憶したテーブルに相当する。
また、銅面積取得部44は、ベタパターン番号iを0に初期化し、ベタパターンデータ32に登録されているベタパターン総数を繰り返し回数nbに設定する、そして、銅面積取得部44は、ステップS225からS231までの処理を全てのベタパターンに対して終了するまで繰り返す。
銅面積取得部44は、ベタパターン番号iが繰り返し回数nb−1に達したか否かを判定する(ステップS225)。ベタパターン番号iが繰り返し回数nb−1に達している場合、銅面積取得部44は、このループを抜けて、銅配線及びベタパターンの面積の取得処理を終了する。一方、配線番号iが繰り返し回数nb−1に達していない場合、銅面積取得部44は、ベタパターンデータ32から、ベタパターン番号iに対応する点座標及び層番号lnを取得する(ステップS226)。
そして、銅面積取得部44は、ベタパターン番号iのベタパターンが1又は複数の部品領域1aのうちのいずれかと重なっている場合に重なった面積を求めるための繰り返し処理(ステップS227〜S231)を行う。銅面積取得部44は、配列target_region[](部品領域データ53)から順に要素の値(部品領域1aの座標)を読み出すための要素番号jを0に初期化する。
銅面積取得部44は、要素番号jが配列target_region[]が要素の総数に達した場合、このループを抜けて、ステップS231へと進む。要素番号jが配列target_region[]の要素の総数に達していない場合、銅面積取得部44は、ベタパターン番号iのベタパターンが配列target_region[j]で示される部品領域1aと重なるか否かを判断する(ステップS228)。
ベタパターン番号iのベタパターンが配列target_region[j]の部品領域1aと重なる場合(ステップS228のYES)、銅面積取得部44は、ベタパターン番号iのベタパターンがtarget_region[j].部品領域と重なる部分の面積aを求めてplane_area[]に保存する(ステップS229)。銅面積取得部44は、ベタパターン番号iのベタパターンがtarget_region[j].部品領域に重なる部分の面積aを求める。
そして、銅面積取得部44は、部品領域番号j、層番号ln、及び面積aをplane_area[]に保存する。部品領域番号jには、計算対象の部品領域1aを一意に特定する配列target_region[]の要素番号jが設定される。層番号lnは、ベタパターンデータ32から得られ、要素番号jに対応付けられた層番号である。銅面積取得部44は、要素番号jを1インクリメントし(ステップS230)、ステップS227へと戻り、上述した同様の処理を繰り返す。
一方、ベタパターン番号iのベタパターンが配列target_region[j].部品領域と重ならない場合(ステップS228のNO)、銅面積取得部44は、要素番号jを1インクリメントして(ステップS230)、ステップS227へと戻り、上述した同様の処理を繰り返す。
ステップS227において、要素番号jの値が要素数を超えると判断した場合、銅面積取得部44は、このループを抜けて、ベタパターン番号iを1インクリメントしてステップS225へと戻り、次のベタパターンについて上述同様の処理を繰り返す。ステップS225において、ベタパターン番号iの値がベタパターンの総数nb−1を超えたと判断した場合、銅面積取得部44は、この銅面積取得処理を終了する。図15のステップS232へと進み、良否判断部45による良否判断処理が行われる。
図15において、良否判断部45は、基板製造データ10から全層数Lを取得し(ステップS232)、不合格判定の実装番号を保存する配列bad_parts[]を初期化する(ステップS233)。配列bad_parts[]の各要素に実装番号が記憶される。配列bad_parts[]は、結果データ56に相当する。良否判断部45は、変数iを0で初期化し、配列target_region[]の各要素について、ステップS234からS241までの処理を繰り返し行う。
良否判断部45は、配列target_region[i]で指定される部品領域1aに対応する基板3の上側銅面積Cu_upperと基板3の下側銅面積Cu_lowerとを初期化する(ステップS235)。
先ず、良否判断部45は、銅配線について、配列lines_area[]を用いて上側銅面積Cu_upperと下側銅面積Cu_lowerとを求める処理を開始する。良否判断部45は、配列lines_area[]から順に要素を読み出すための変数jを0に初期化して、ステップS236からS241までの処理を繰り返し行う。
良否判断部45は、変数jが配列lines_area[]の要素数に達したか否かを判断する(ステップS236)。変数jが要素数より大きい場合、良否判断部45は、この銅配線のループを抜けて、ベタパターンの上側銅面積と下側銅面積とを加算するために、ステップS242へと進む。
変数iが要素数以下の場合、良否判断部45は、配列target_region[i].部品領域と、配列lines_area[j].面積とが一致するか否かを判定する(ステップS237)。一致する場合(ステップS237のYES)、良否判断部45は、lines_area[j]の層番号がL/2より大きいか否か、即ち、上側である否かを判定する(ステップS238)。
上側である場合(ステップS238のYES)、良否判断部45は、上側銅面積Cu_upperにlines_area[j].面積を加算し(ステップS239)、変数jを1インクリメントし(ステップS241)、ステップS236へと戻り、上述同様の処理を繰り返す。一方、下側である場合(ステップS238のNO)、良否判断部45は、下側銅面積Cu_lowerにlines_area[j].面積を加算し(ステップS240)、変数jを1インクリメントし(ステップS241)、ステップS236へと戻り、上述同様の処理を繰り返す。
配列target_region[i]の部品領域と、配列lines_area[j]の部品領域とが一致しない場合(ステップS237のNO)、良否判断部45は、変数jを1インクリメントして(ステップS241)、ステップS236へと戻り上述した同様の処理を繰り返す。
銅配線関して上側銅面積と下側銅面積それぞれの加算処理が終了すると、良否判断部45は、ベタパターンについて、配列plane_area[]を用いて上側銅面積Cu_upperと下側銅面積Cu_lowerとを求めるため、配列plane_area[]から順に要素を読み出すための変数jを0に初期化して、ステップS242からS247までの処理を繰り返し行う。
良否判断部45は、変数jが配列plane_area[]の要素数に達したか否かを判断する(ステップS242)。変数jが要素数より大きい場合、良否判断部45は、このベタパターンのループを抜けて、ステップS248へと進む。
変数jが要素数以下の場合、良否判断部45は、配列target_region[i]の部品領域と、配列plane_area[j]の部品領域とが一致するか否かを判定する(ステップS243)。一致する場合(ステップS243のYES)、良否判断部45は、plane_area[j]の層番号がL/2より大きいか否か、即ち、上側であるか否かを判定する(ステップS244)。
上側である場合(ステップS244のYES)、良否判断部45は、上側銅面積Cu_upperにplane_area[j].面積を加算し(ステップS245)、変数jを1インクリメントし(ステップS247)、ステップS242へと戻り、上述同様の処理を繰り返す。一方、下側である場合(ステップS244のNO)、良否判断部45は、下側銅面積Cu_lowerにplane_area[j].面積を加算し(ステップS246)、変数jを1インクリメントし(ステップS247)、ステップS242へと戻り、上述同様の処理を繰り返す。
plane_area[]の全てのベタパターンの面積を加算すると、解析部46による解析処理と合否判定部47による合否判定処理とが行われる。(ステップS248)。解析処理及び合否判定処理については、図16で説明する。良否判断部45は、合否判定処理の判定結果(戻り値)が合格を示すか否かを判定する(ステップS249)。合否判定処理の結果が不合格の場合、良否判断部45は、配列bad_parts[]にtarget_region[i]の実装番号を保存する(ステップS250)。
その後、良否判断部45は、変数iを1インクリメントして(ステップS251)、ステップS234へと戻り、次の部品領域における上側銅面積と下側銅面積とを算出するために上述同様の処理を繰り返す。
一方、合否判定処理の結果が合格の場合、合否判定部47は、結果を保存しない。良否判断部45は、変数iを1インクリメントし(ステップS251)、ステップS234へと戻り、次の部品領域における上側銅面積と下側銅面積とを算出するために上述同様の処理を繰り返す。
全ての部品領域に対して合否判定処理を終了すると、良否判断部45による良否判断処理は終了する。そして、警告表示部48による警告表示処理が行われる。警告表示部48は、不合格の判定となった実装番号(配列bad_parts[])について警告表示を行う(ステップS252)。警告表示部48は、配列bad_parts[]に保持される実装番号をダイアログボックス等で一覧にしたレポートを表示装置15に表示しても良いし、レイアウト8yt上に実装番号で特定される半導体パッケージ1の部品領域1aを強調表示してもよい。
図16は、図15のステップS248で行われる合否判定処理を説明するためのフローチャート図である。図16において、まず、解析部46による解析処理が行われる。ステップS271からS274、及び、S279が、解析処理に相当する。解析部46では、含有率算出部460が、配列target_region[i].部品領域の2点の座標(xs, ys)及び(xe, ye)を用いて面積aを算出する(ステップS271)。
含有率算出部460は、上側銅含有率と下側銅含有率とを算出する(ステップS272)。
上側銅含有率r_upper = 上側銅含有量Cu_upper/面積a
下側銅含有率r_lower = 下側銅含有量Cu_lower/面積a
により算出すればよい。
次に、解析部46は、合否判定基準は基準値であるか反り量であるかを判定する(ステップS273)。ユーザ設定データ30の合否判定基準30dに許容値ベース判定が指定されている場合、解析部46は、部分モデルデータ作成部6aと、等価物性値算出部6bと、シミュレーション5とにより解析値(変形量)を取得する処理を行う。ステップS274〜S276が、この処理に相当する。
部分モデルデータ作成部6aは、部分モデルデータPPmdlを作成する(ステップS274)。部品領域1aの座標(xs, ys)及び(xe, ye)、上側の配線層の厚さLupper、下側の配線層の厚さLlower、及び基板3の厚さTtotalが設定された部分モデルデータPmdlが作成される。
等価物性値算出部6bは、基板3の上側(上面側)及び下側(下面側)それぞれの等価物性値を算出する(ステップS275)。等価物性値として、熱膨張率、ヤング率、及びポアソン比が算出される。そして、実行部6cは、部分モデルデータPmdlと等価物性値phyとを含むデータセットsimを作成し、作成したデータセットsimを用いてシミュレーション5を実行する(ステップS276)。
シミュレーション5の実行により節点ごとの変形量55aを取得すると、解析部46による解析処理が終了する。そして、合否判定部47により許容値を用いた合否判定処理が開始される。ステップS277〜S280及びS285が、この合否判定処理に相当する。合否判定部47では、反り量判定部472aが許容値を用いた合否判定処理を行う。
反り量判定部472aは、シミュレーション5の実行により得られた変形量55aを用いて、反り量3wpを算出する(ステップS277)。また、反り量判定部472aは、target_region[i].実装番号を用いて、部品データ35から許容値3hを取得する(ステップS278)。反り量判定部472aは、部品実装データ34から、target_area[i]の実装番号に対応付けられた部品型番を用いて、部品データ35から許容値3hを取得すればよい。
そして、反り量判定部472aは、反り量3wpが許容値3hより大きいか否かを判定する(ステップS279)。反り量3wpが許容値3h以下の場合(ステップS279のNO)、反り量判定部472aは、判定結果(戻り値)に合格を設定し(ステップS280)、この合否判定処理を終了する。反り量3wpが許容値3hより大きい場合(ステップS279のYES)、反り量判定部472aは、判定結果(戻り値)に不合格を設定し(ステップS285)、この合否判定処理を終了する。
一方、ユーザ設定データ30の合否判定基準30dに基準値ベース判定が指定されている場合、解析部46は、含有率比算出部7により銅含有率比を導出する処理を行う。ステップS281からS285までの処理に相当する。
含有率比算出部7は、上側銅含有率3aの下側銅含有率3bに対する銅含有率の比55bを算出する(ステップS281)。銅含有率の比55bをを取得すると、解析部46による解析処理が終了する。そして、合否判定部47により基準値を用いた合否判定処理が開始される。ステップS277〜S280及びS285が、この合否判定処理に相当する。合否判定部47では、含有率比判定部472bが基準値を用いた合否判定処理を行う。
含有率比判定部472bは、ユーザ設定データ30から基準値3bsを取得して(ステップS282)、上側銅含有率3aの下側銅含有率3bに対する銅含有率の比55bが基準値3bsより大きいか否かを判定する(ステップS283)。基準値3bs以下である場合(ステップS283のNO)、含有率比算出部7は、判定結果(戻り値)に合格を設定し(ステップS284)、この合否判定処理を終了する。一方、基準値3bsより大きい場合(ステップS283のYES)、含有率比算出部7は、判定結果に不合格を設定した後(ステップS284)、この合否判定処理を終了する。
許容値を用いた合否判定処理、又は、基準値を用いた合否判定処理によって得られた判定結果(戻り値)が、図15のステップS249において参照される。
図17は、図16における許容値ベース判定の場合のステップS274〜S277による処理を詳細に説明するためのフローチャート図である。図17において、先ず、解析部46の部分モデルデータ作成部6aが、部分モデル1mを作成する(ステップS291)。具体的には、部分モデルデータ作成部6aは、部分モデルデータPmdlを生成して、生成した部分モデルデータPmdlに、target_region[i].部品領域と、基板の厚さTtotalとを設定する。これにより、target_region[i]に対応する部分モデル1mが作成される。部分モデル1mは、部品領域1aに対して基板3の高さを持つ直方体であればよい。ステップS291により、部分モデルデータPmdlは、所定のプログラム言語によりPmdl(xs, ys, xe, ye, Ttotal)のように記述される。
また、部分モデルデータ作成部6aは、上側及び下側の配線層の厚さを算出する(ステップS292)。部分モデルデータ作成部6aは、基板製造データ33(図10)の全総数Lと配線T[]とに基づいて、全総数Lを1/2で分割する。そして、部分モデルデータ作成部6aは、下側半分における各層の厚さを合算することで、下側の配線層の厚さLlowerを得る。また、部分モデルデータ作成部6aは、上側半分における各層の厚さを合算することで、上側の配線層の厚さLlowerを得る。
そして、部分モデルデータ作成部6aは、下側の配線層の厚さLlowerと、上側の配線層の厚さLlowerとを部分モデルデータPmdlに追加する(ステップS293)。ステップS293により、部分モデルデータPmdlは、所定のプログラム言語によりPmdl(xs, ys, xe, ye, Ttotal, Llower, Lupper)のように記述される。よって、target_region[i].部品領域に対応する部分モデルデータPmdlが完成する。
次に、等価物性値算出部6bが、target_region[i].部品領域の上側及び下側それぞれの等価物性値を算出する(ステップS294)。等価物性値算出部6bは、基板製造データ33を参照して、等価物性値として、熱膨張率、ヤング率、ポアソン比などを算出する。
具体的には、基板製造データ33から銅及び基材それぞれの熱膨張率、ヤング率、ポアソン比の値を取得して、
・上側
熱膨張率a_upper = a_Cu*r_upper + a_Ins*(1 - r_upper)
ヤング率y_upper = y_Cu*r_upper + y_Ins*(1 - r_upper)
ポアソン比p_upper = p_Cu*r_upper + p_Ins*(1 - r_upper)
・下側
熱膨張率a_lower = a_Cu*r_lower + a_Ins*(1 - r_lower)
ヤング率y_lower = y_Cu*r_lower + y_Ins*(1 - r_lower)
ポアソン比p_lower = p_Cu*r_lower + p_Ins*(1 - r_lower)
のように算出される。
等価物性値を得ると、実行部6cは、部分モデルデータPmdlと等価物性値phyとを用いて、シミュレーション5で用いるデータセットSimを定義する(ステップS296)。データセットSimの一例として、
Sim
{
Pmdl(xs, ys, xe, ye, Ttotal, Llower, Lupper)
a_upper, y_upper, p_upper
a_ lower, y_lower, p_lower
a_Ins, y_Ins, p_Ins
}
のように定義される。データセットSimにおいて、xs, ys, xe, ye, Ttotal, Llower, Lupper, a_upper, y_upper, p_upper, a_ lower, y_lower, 及びp_lower,は、変数であり、上述した処理によって得られた値で定義される。また、a_Ins, y_Ins, 及びp_Insは、等価物性値phyを算出するために基板製造データ33から取得した、基材の熱膨張率、ヤング率、ポアソン比の値で定義される。このようにして定義されたデータセットSimは、シミュレーション5への入力データに相当する。
実行部6cは、シミュレーション5を実行して、節点ごとの変形量55aを取得する(ステップS296)。実行部6cは、シミュレーション5にデータセットSimを送信することで、シミュレーション5による線形熱変形解析を実施する。シミュレーション5より得られた節点ごとの変形量55aは、解析データ55として記憶部13に記憶される。
その後、合否判定部47において反り量判定部472aによる処理が行われる。先ず、反り量判定部472aは、部分モデル1mの中心zcと、各頂点z1、z2、z3、及びz4の変形量の差の絶対値を算出する(ステップS297)。反り量判定部472aは、中心zcと頂点z1の差の絶対値d1、中心zcと頂点z2の差の絶対値d2、中心zcと頂点z3の差の絶対値d3、及び、中心zcと頂点z4の差の絶対値d4を得る。
反り量判定部472aは、得られた絶対値d1〜d4のうち最大値を反り量3wpに設定する(ステップS298)。以降、図16ステップS278からS280及びステップS285が行われる。
図18は、図14で行われる銅面積取得部44による面積取得例を説明するための図である。図18(A)では、図14のステップS220〜S221で行われる銅配線の面積取得例を示している。図18(A)において、図14のステップS220〜S221において、配線番号iの配線の、target_region[j]が指定する実装番号の部品領域1aと重なる部分の面積aが算出される。
target_region[j]から特定される部分領域<xs、ys、xe、ye>に対して、配線データ31の配線番号iの複数の点番号の座標を用いて配線の長さを算出し、得られた配線の長さに配線データ31の配線番号iの配線幅wを乗算して面積aを取得する。
図18(B)において、図14のステップS228〜S229において、ベタパターン番号iのベタパターンの、target_region[j]が指定する実装番号の部品領域1aと重なる部分の面積aが算出される。
target_region[j]から特定される部分領域<xs、ys、xe、ye>に対して、ベタパターンデータ32のベタパターン番号iの複数の点番号(ベタパターンの形状の頂点)の座標を用いてベタパターンの重なり部分の面積aを算出する。
図19は、第一実施例における第一の表示例を示す図である。図19において、画面G70は、設計データ8に基づくレイアウト8ytの表示例を示す。CAD装置100の表示装置15に表示された画面G70では、様々なタイプの半導体パッケージ1を実装するためのレイアウト8ytを表示している。部品領域1−1から1−7は半導体パッケージ1の外形を表す。
図19は、第一実施例における第一の表示例を示す図である。図19において、画面G70は、設計データ8に基づいくレイアウト8ytの表示例を示す。CAD装置100の表示装置15に表示された画面G70では、様々なタイプの半導体パッケージ1が配置されるレイアウト8ytを表示している。部品領域1−1から1−7は半導体パッケージ1の外形を表す。
ユーザが合否判定ボタン72を選択すると、画面G70に表示されたレイアウト8yt内の部品領域1−1〜1−7のうち、画面G71では、部品領域1−4、1−5、1−6、及び1−7が不合格判定となったことが容易に視認できるように強調表示される。合格判定であった部品領域1−1から1−3は、単に、部品領域を表すための規定の表示方法で表示(通常表示)される。
図20は、合否判定結果のダイアログボックスの表示例を示す図である。図20(A)及び図20(B)では、合否判定後の画面G71において、ユーザの部品領域の指定に応じて表示されるダイアログボックスの表示例を示している。
図20(A)では、ユーザが強調表示されている部品領域1−7を指定した場合のダイアログボックス73aを示している。ダイアログボックス73aには、不合格の判定となった内容が示される。一例として、「
エラー:銅含有率のバランスがとれていません。
上面が22%の超過
反り予測量:0.8mm」
等の内容を含む。
図20(B)では、ユーザが通常表示されている部品領域1−2を指定した場合のダイアログボックス73bを示している。ダイアログボックス73bには、合格の判定となった内容が示される。一例として、「
OK:銅含有率のバランスに問題はありません。」
等の内容を含む。
上述したように、第一実施例では、レイアウト8ytの全領域のうち、半導体パッケージ1等が実装される部品領域1aからユーザが指定した実装タイプ30bと部品外形寸法30cとによる抽出条件30aを満たす半導体パッケージ1の部品領域1aを特定する。この部品領域1aの絞り込みにより、レイアウト8ytの全領域に対して判定処理を行った場合に比べて、計算処理の負荷を大幅に削減できる。即ち、半導体パッケージ1と基板3との接続不良の判別を高速に行うことができる。
[第二実施例]
第二実施例では、ユーザによる計算対象とする部品領域の選択を可能とする。選択された領域のうち、抽出条件30aで抽出した部品領域1aに含まれる領域に対して良否判断処理(解析処理及び合否判定処理)を行う。良否判断処理により得られた判定結果に基づいてレイアウト8ytを表示する。
図20は、第二実施例におけるCAD装置の機能構成例を示す図である。図20において、CAD装置100は、図5に示す第一実施例の機能構成に加えて選択部49を有する。選択部49は、対応するプログラムがCAD装置100のCPU11に実行させる処理により実現される。また、記憶部13には、図5に示す様々なデータに加えて、選択データ59が記憶される。主に、選択部49及び選択データ59について説明し、第一実施例と同様の処理部及びデータには同じ符号を付しその説明を省略する。
選択部49は、ユーザによるレイアウト8ytで1又は複数の部品領域1aの選択に応じて、選択された部品領域1aのうち、部品領域データ53に含まれている部品領域1aを計算対象として、選択データ59に記憶する。
選択データ59のデータ構造は、配列chose[]で定義され、target_region[](部品領域データ53)の要素番号を指定する構造とすればよい。配列chose[]により、複数の要素が保持される場合、
chose[]
要素
<配列chose[]の要素番号>
<配列chose[]の要素番号>
<配列chose[]の要素番号>
・・・
のように表せる。
図22は、第二実施例における設計支援処理の全体を説明するためのフローチャートである。図22において、CAD装置100では、条件取得部41が条件取得処理を行い、ユーザ設定データ30を得る(ステップS310)。条件取得処理は、第一実施例における図13のステップS201に相当する。
そして、型番抽出部42が型番抽出処理を行い、型番データ52を得る(ステップS320)。型番抽出処理は、第一実施例における図13のステップS202からS207に相当する。
次に、部品領域取得部43が領域取得処理を行い、部品領域データ53を得る(ステップS330)。領域取得処理は、第一実施例における図13のステップS208からS215に相当する。
そして、第二実施例では、選択部49が、ユーザの部品領域1aの選択に応じて選択処理を行う(ステップS340)。選択された部品領域1aの実装番号のうち、部品領域データ53に存在する場合に、選択データ59に記憶する。計算対象となる部品領域1aの情報を記憶した選択データ59が作成される。
その後、銅面積取得部44が、面積取得処理を行い、選択データ59で指定される部品領域1aを計算対象として、銅配線及びベタパターンの銅の面積を示す銅面積データ54を得る(ステップS350)。面積取得処理は、第一実施例の図14に相当する。ただし、銅面積データ54を計算対象とせず、選択データ59を計算対象とする。
次に、解析部46が判定処理を行い、選択データ59で指定される部品領域1aにおける合否判定を示す結果データ56を得る(ステップS360)。判定処理は、第一実施例の図15及び図16に相当する。ただし、銅面積データ54を計算対象とせず、選択データ59を計算対象とする。
得られた結果データ56に基づいて、警告表示部48が警告表示処理を行う(ステップS370)。警告表示処理は、第一実施例の図15のステップS252に相当する。
第二実施例では、警告表示後に、更に、ユーザから選択を受けたか否かを判断し(ステップS380)、選択を受けた場合(ステップS380のYES)、ステップS340の選択処理から同様の処理を繰り返す。
選択を受けていない場合(ステップS380のNO)、設計支援処理の終了か否かを判断し(ステップS390)、終了でない場合(ステップS390のNO)、ステップS380から同様の処理を繰り返す。終了の場合(ステップS390のYES)、設計支援処理は終了する。
図23は、第二実施例における選択処理を説明するためのフローチャート図である。図23において、選択部49は、レイアウト8yt上で行われたユーザの部品領域1aの選択を受け付ける(ステップS341)。ユーザは、表示装置15に表示されたレイアウト8yt上で1又は複数の部品領域1aを選択する。選択がマウス操作で行われる場合、Ctrlキーとマウスの右クリックなどで操作可能な仕組み、又は、左クリックで選択したのち合否判定処理を実行させてもよい。
そして、選択部49は、配列target_region[]から、選択された部品領域1aと一致する要素を抽出して、配列chose[]に追加する(ステップS342)。配列chose[]の要素数は、ユーザの部品領域1aの選択数以下となる。配列chose[]の要素数は、選択数より少なくてもよい。その後、選択処理は終了する。
配列chose[]への追加例として、選択された最初の部品領域1aの頂点座標が、配列target_region[12].部品領域に一致する場合、配列chose[]の最初の要素に配列target_region[]の要素番号"12"が設定される。従って、配列chose[0]=12となる。
次に、第二実施例における設計支援処理について図24及び図25で説明する。図24及び図25は、第二実施例におけるCAD装置によって行われる設計支援処理を説明するためのフローチャート図である。図24及び図25中、第一実施例と同様の処理が行われるステップには同一の符号を付し、その説明を省略する。
図24において、第二実施例においても、第一実施例と同様に図13のステップS201〜S215を行い、その後、前述した第二実施例に係る、図23のステップS341〜S342が行われる。これにより第二実施例において計算対象となる部品領域1aが特定されたことになる。
図24に示すステップS216〜S231もほぼ第一実施例と同様であるが、部品領域データ53の代わりに選択データ59を用いることから、図14のステップS219、S222、S227、及びS230を、ここでは、ステップS219−2、S222−2、S227−2、及びS230−2に置き換える。これらのステップについて主に説明する。
ステップS219−2では、配列chose[]のインデックスを変数kとし、変数kの初期値は0である。変数kが配列chose[]の要素数に達したときにこのループを抜ける。配列chose[k]は配列target_region[]のインデックスを指定するため、配列target_region[]の要素を特定する。従って、配列chose[k]の値(即ち、配列target_region[]のインデックス)を変数jに設定することで、第一実施例と同様にステップS220からステップS221を行って、銅配線の面積を得ることができる。
ステップS222−2では、変数kを1インクリメントしてステップS219−2へと戻り、上述同様の処理を繰り返す。これにより、選択された各部品領域1aに対して、配線層ごとに銅配線の面積を得る。
ステップS227−2では、上記同様に、配列chose[]のインデックスを変数kとし、変数kの初期値は0である。変数kが配列chose[]の要素数に達したときにこのループを抜ける。配列chose[k]の値(即ち、配列target_region[]のインデックス)を変数jに設定することで、第一実施例と同様のステップS228からステップS229を行って、ベタパターンの面積を得ることができる。
ステップS230−2では、変数kを1インクリメントしてステップS227−2へと戻り、上述同様の処理を繰り返す。これにより、選択された各部品領域1aに対して、配線層ごとにベタパターンの面積を得る。そして、図25へと進む。
図25に示すステップS232〜S252もほぼ第一実施例と同様であるが、部品領域データ53の代わりに選択データ59を用いることから、図14のステップS234及びS251を、ここでは、ステップS234−2及びS251−2に置き換える。これらのステップについて主に説明する。
ステップS234−2では、配列chose[]のインデックスを変数kとし、変数kの初期値は0である。変数kが配列chose[]の要素数に達したときにこのループを抜ける。配列chose[k]の値(即ち、配列target_region[]のインデックス)を変数iに設定することで、第一実施例と同様にステップS235からステップS250を行って、選択された部品領域1aごとに、合否判定を行うことができる。
ステップS251−2では、変数kを1インクリメントしてステップS234−2へと戻り、上述同様の処理を繰り返す。これにより、選択された全ての部品領域1aに対して、合否判定結果を得る。
第二実施例における画面例について図26、図27、及び図28で説明する。図26は、ユーザが複数の部品領域を選択した場合の画面例を示している。図26において、画面G74は、ユーザがレイアウト8yt上で部品領域1−3、1−4、及び1−5を選択し、合否判定ボタン72を選択した状態を示している。
第二実施例では、選択部49により、部品領域データ53に含まれる部品領域1−4及び1−5に対して良否判断処理(解析処理及び合否判定処理)が実施され、画面G74は画面G75へと変化する。部品領域1−3は、ユーザに選択された領域であるが、計算対象とはならない。
画面G75では、選択された3つの部品領域のうち部品領域1−5が強調表示されている状態を示している。この強調表示により、ユーザは、1つの部品領域1−5で接続不良が発生し得ることを確認できる。
この画面G75において、ユーザが部品領域1−5を選択すると、ダイアログボックス73cが画面G75のレイアウト8yt上に表示される。ダイアログボックス73cには、例えば、「
エラー:銅含有率のバランスがとれていません。
上面が25%の超過
反り予測量:0.96mm」
等のエラー内容が示される。
図27は、ユーザが1つの部品領域を選択した場合の画面例を示している。図27において、画面G76は、ユーザがレイアウト8yt上で部品領域1−5を選択し、合否判定ボタン72を選択した状態を示している。
第二実施例では、選択部49により、部品領域1−5は部品領域データ53に含まれると判断されて良否判断処理が実施される。良否判断処理により、画面G76は画面G77へと変化する。
画面G77では、選択された部品領域1−5が強調表示されている状態を示している。この強調表示により、ユーザは、選択した部品領域1−5で接続不良が発生し得ることを確認できる。この画面G77において、ユーザが部品領域1−5を選択すると、図26と同様に、ダイアログボックス73cが画面G77のレイアウト8yt上に表示される。
図28は、ユーザが1つの部品領域を選択した場合の他の画面例を示している。図28において、画面G78は、ユーザがレイアウト8yt上で部品領域1−1を選択し、合否判定ボタン72を選択した状態を示している。
第二実施例では、選択部49により、部品領域1−1は部品領域データ53に含まれないと判断され、良否判断処理(解析処理及び合否判定処理)は実施されない。画面G78に対して強調表示はされない。画面G78で、ユーザが部品領域1−1を選択すると、第一実施例の図20(B)と同様のダイアログボックス73bが表示され、ユーザは、この領域において、接続不良の発生可能性は低いと確認することができる。
上述したように、第一実施例では、ユーザが指定した抽出条件30aを満たす半導体パッケージ1の部品領域1aに計算処理範囲を絞り込むため、レイアウト8yt全体を計算対象とした場合に比べて処理時間を削減できる。
第二実施例では、ユーザによる計算対象とする部品領域1aの選択を可能とし、選択された領域が、抽出条件30aに基づいて絞り込んだ計算処理範囲に含まれている場合に、良否判断処理を実施する。1つの部品領域1aに対する接続の良否判断処理は短時間で完了する。
ユーザに選択を可能とする仕組みにより、第一実施例よりも更に、接続不良の検証を短時間で行える。また、ユーザは、接続不良の可能性を確認しながら、設計を行うことができるため、設計効率を改善することが可能となる。
本発明の実施形態は詳細に説明されているが、本発明の精神及び範囲から外れることなく、様々な変更、置換及び修正をこれに加えることが可能であることを理解されたい。
第一実施例及び第二実施例において、型番抽出部42は抽出部の一例であり、は作成部の一例であり、は第1の判定部の一例であり、含有率比判定部472bは第2の判定部の一例である。
以上の第一実施例及び第二実施例を含む実施形態に関し、更に以下の付記を開示する。
(付記1)
プリント基板に実装される部品それぞれの部品実装データから、処理対象を指定した抽出条件を満たす部品実装データを抽出する抽出部と、
抽出された前記部品実装データの部品を配置する領域下の配線の配線形成データを抽出して、部分モデルデータを作成する作成部と、
作成した前記部分モデルデータを含むデータセットを用いて、シミュレーションを実行し、熱荷重を与えたときの前記部品領域の変形量を取得する実行部と、
前記変形量に基づく反り量が不合格の場合に、表示装置に警告を表示させる警告表示部と、
を有する情報処理装置。
(付記2)
前記プリント基板は第1の実装面と第2の実装面とを有する両面実装タイプの基板であり、
前記部分モデルデータを用いて、前記部品領域の前記第1の実装面側の配線量を表す第1の銅含有率と、前記第2の実装面側の配線量を表す第2の銅含有率とを算出する含有率算出部と、
前記第1の銅含有率を用いて前記第1の実装面側の第1の等価物性値を算出し、また、前記第2の銅含有率を用いて前記第2の実装面側の第2の等価物性値を算出する等価物性値算出部と、を有し、
前記実行部は、前記部分モデルデータと、前記第1の等価物性値及び前記第2の等価物性値と、を含むデータセットを用いて、前記シミュレーションを実行する
付記1記載の情報処理装置。
(付記3)
前記変形量に基づく前記反り量が前記部品領域に実装される電子部品に対して定められた許容値を超えている場合に不合格判定を行う第1の判定部を有する付記2記載の情報処理装置。
(付記4)
前記第1の銅含有率と前記第2の銅含有率との比を算出する比算出部と、
算出した前記比が、定めた基準値を超える場合に不合格判定を行う第2の判定部とを有し、
前記反り量か前記基準値かのいずれかを指定した合否判定基準に基づいて、該反り量が指定される場合、前記含有率算出部と、前記作成部と、前記実行部と、第1の判定部とを有効とし、該基準値が指定される場合、前記含有率算出部と、前記比算出部と、前記第2の判定部とを有効とする
付記3記載の情報処理装置。
(付記5)
前記警告表示部は、前記部品領域の不合格判定に応じて、前記プリント基板のレイアウトにおいて、該部品領域を強調表示した画面を表示する付記4記載の情報処理装置。
(付記6)
前記警告表示部は、前記強調表示後の前記画面において、前記レイアウトに配置された前記部品領域の選択に応じて、前記第1の判定部による判定結果又は前記第2の判定部による判定結果に基づく内容を表示する付記5記載の情報処理装置。
(付記7)
前記プリント基板のレイアウトに配置された複数の領域から1以上の領域の選択に応じて、選択された該領域に対応する部品実装データのうち、前記抽出部が抽出した部品実装データに含まれる部品実装データを示す選択データを作成する選択部を有し、
前記作成部は、前記選択データに基づいて前記配線形成データを抽出して、前記部分モデルデータを作成する付記5又は6記載の情報処理装置。
(付記8)
前記警告表示部は、選択された前記1以上の領域のうち前記不合格判定となった領域を強調表示した画面を表示する付記7記載の情報処理装置。
(付記9)
プリント基板に実装される複数の部品それぞれの部品実装データから、所定の大きさ以上の部品の部品実装データを抽出し、
抽出された前記部品実装データの部品を配置する部品領域下の配線の配線形成データを抽出して、部分モデルデータを作成しと、
作成した前記部分モデルデータを含むデータセットを用いて、シミュレーションを実行し、熱荷重を与えたときの前記部品領域の変形量を取得し、
前記変形量に基づく反り量が不合格の場合に、表示装置に警告を表示させる、
処理をコンピュータが行うプリント基板シミュレータ方法。
(付記11)
プリント基板に実装される複数の部品それぞれの部品実装データから、所定の大きさ以上の部品の部品実装データを抽出し、
抽出された前記部品実装データの部品を配置する部品領域下の配線の配線形成データを抽出して、部分モデルデータを作成しと、
作成した前記部分モデルデータを含むデータセットを用いて、シミュレーションを実行し、熱荷重を与えたときの前記部品領域の変形量を取得し、
前記変形量に基づく反り量が不合格の場合に、表示装置に警告を表示させる、
処理をコンピュータに行わせるプリント基板シミュレータプログラム。
1 半導体パッケージ
1m 部分モデル
Pmdl 部分モデルデータ
3 基板
5 シミュレーション
6 結果表示
8 設計データ
30 ユーザ設定データ
31 配線データ
32 ベタパターンデータ
33 基板製造データ
34 部品実装データ
35 部品データ
36 基板データ
41 条件取得部
42 型番抽出部
43 部品領域取得部
44 銅面積取得部
45 良否判断部
46 解析部
460 含有率算出部
6a 部分モデルデータ作成部
6b 等価物性値算出部
6c 実行部
7 含有率比算出部
47 合否判定部
472a 反り量判定部
472b 含有率比判定部
48 警告表示部
49 選択部
52 型番データ
53 部品領域データ
54 銅面積データ
55 解析データ
56 結果データ

Claims (8)

  1. プリント基板に実装される複数の部品それぞれの部品実装データから、所定の大きさ以上の部品の部品実装データを抽出する抽出部と、
    抽出された前記部品実装データの部品を配置する部品領域下の配線の配線形成データを抽出して、部分モデルデータを作成する作成部と、
    作成した前記部分モデルデータを含むデータセットを用いて、シミュレーションを実行し、熱荷重を与えたときの前記部品領域の変形量を取得する実行部と、
    前記変形量に基づく反り量が不合格の場合に、表示装置に警告を表示させる警告表示部と、
    を有する情報処理装置。
  2. 前記プリント基板は第1の実装面と第2の実装面とを有する両面実装タイプの基板であり、
    前記部分モデルデータを用いて、前記部品領域の前記第1の実装面側の配線量を表す第1の銅含有率と、前記第2の実装面側の配線量を表す第2の銅含有率とを算出する含有率算出部と、
    前記第1の銅含有率を用いて前記第1の実装面側の第1の等価物性値を算出し、また、前記第2の銅含有率を用いて前記第2の実装面側の第2の等価物性値を算出する等価物性値算出部と、を有し、
    前記実行部は、前記部分モデルデータと、前記第1の等価物性値及び前記第2の等価物性値と、を含むデータセットを用いて、前記シミュレーションを実行する
    請求項1記載の情報処理装置。
  3. 前記変形量に基づく前記反り量が前記部品領域に実装される電子部品に対して定められた許容値を超えている場合に不合格判定を行う第1の判定部を有する請求項2記載の情報処理装置。
  4. 前記第1の銅含有率と前記第2の銅含有率との比を算出する比算出部と、
    算出した前記比が、定めた基準値を超える場合に不合格判定を行う第2の判定部とを有し、
    前記反り量か前記基準値かのいずれかを指定した合否判定基準に基づいて、該反り量が指定される場合、前記含有率算出部と、前記作成部と、前記実行部と、第1の判定部とを有効とし、該基準値が指定される場合、前記含有率算出部と、前記比算出部と、前記第2の判定部とを有効とする
    請求項3記載の情報処理装置。
  5. 前記警告表示部は、前記部品領域の不合格判定に応じて、前記プリント基板のレイアウトにおいて、該部品領域を強調表示した画面を表示する請求項4記載の情報処理装置。
  6. 前記プリント基板のレイアウトに配置された複数の領域から1以上の領域の選択に応じて、選択された該領域に対応する部品実装データのうち、前記抽出部が抽出した部品実装データに含まれる部品実装データを示す選択データを作成する選択部を有し、
    前記作成部は、前記選択データに基づいて前記配線形成データを抽出して、前記部分モデルデータを作成する請求項5記載の情報処理装置。
  7. プリント基板に実装される複数の部品それぞれの部品実装データから、所定の大きさ以上の部品の部品実装データを抽出し、
    抽出された前記部品実装データの部品を配置する部品領域下の配線の配線形成データを抽出して、部分モデルデータを作成しと、
    作成した前記部分モデルデータを含むデータセットを用いて、シミュレーションを実行し、熱荷重を与えたときの前記部品領域の変形量を取得し、
    前記変形量に基づく反り量が不合格の場合に、表示装置に警告を表示させる、
    処理をコンピュータが行うプリント基板シミュレータ方法。
  8. プリント基板に実装される複数の部品それぞれの部品実装データから、所定の大きさ以上の部品の部品実装データを抽出し、
    抽出された前記部品実装データの部品を配置する部品領域下の配線の配線形成データを抽出して、部分モデルデータを作成しと、
    作成した前記部分モデルデータを含むデータセットを用いて、シミュレーションを実行し、熱荷重を与えたときの前記部品領域の変形量を取得し、
    前記変形量に基づく反り量が不合格の場合に、表示装置に警告を表示させる、
    処理をコンピュータに行わせるプリント基板シミュレータプログラム。
JP2020024621A 2020-02-17 2020-02-17 情報処理装置及びプリント基板シミュレータ方法、及びプログラム Pending JP2021128712A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2020024621A JP2021128712A (ja) 2020-02-17 2020-02-17 情報処理装置及びプリント基板シミュレータ方法、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020024621A JP2021128712A (ja) 2020-02-17 2020-02-17 情報処理装置及びプリント基板シミュレータ方法、及びプログラム

Publications (1)

Publication Number Publication Date
JP2021128712A true JP2021128712A (ja) 2021-09-02

Family

ID=77488798

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020024621A Pending JP2021128712A (ja) 2020-02-17 2020-02-17 情報処理装置及びプリント基板シミュレータ方法、及びプログラム

Country Status (1)

Country Link
JP (1) JP2021128712A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7513041B2 (ja) 2022-01-27 2024-07-09 トヨタ自動車株式会社 情報処理システム、情報処理方法、およびプログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7513041B2 (ja) 2022-01-27 2024-07-09 トヨタ自動車株式会社 情報処理システム、情報処理方法、およびプログラム

Similar Documents

Publication Publication Date Title
JP4597691B2 (ja) 有限要素法を用いた構造解析方法
US6769102B2 (en) Verifying proximity of ground metal to signal traces in an integrated circuit
US8104003B2 (en) Technique for creating analysis model and technique for creating circuit board model
US20160154924A1 (en) Semiconductor design method and computer-readable recording medium
US20090213558A1 (en) Support method and apparatus for printed circuit board
US20020157067A1 (en) Device, system, server, client, and method for supporting component layout design on circuit board, and program for implementing the device
JPH10171857A (ja) 集積回路設計方法、集積回路設計のためのデータベース装置および集積回路設計支援装置
US6922822B2 (en) Verifying proximity of ground vias to signal vias in an integrated circuit
US20020188925A1 (en) Pattern-creating method, pattern-processing apparatus and exposure mask
JP2021128712A (ja) 情報処理装置及びプリント基板シミュレータ方法、及びプログラム
US20090193051A1 (en) Analysis supporting apparatus, analysis supporting method, and analysis supporting program
CN117151021B (zh) 基于覆铜形状拓扑结构诊断集成电路版图设计缺陷的方法
JP2011215681A (ja) 配線間隔検証プログラムおよび配線間隔検証装置
JP2016153956A (ja) 部品配置プログラム、部位品配置方法、および情報処理装置
JP2003098651A (ja) Lsiパターンの寸法測定箇所選定方法、寸法測定情報作成手法および寸法測定順番決定方法
JP3958205B2 (ja) 半導体設計/製造システム、半導体設計/製造方法、及び半導体設計/製造プログラム
CN115221835A (zh) 一种芯片设计的物理验证方法及装置
JP2019159905A (ja) 生成プログラム、生成装置及び生成方法
EP2088525A1 (en) Analysis supporting apparatus, analysis supporting method, and analysis supporting program
US20090192770A1 (en) Analysis supporting apparatus, analysis supporting method, and analysis supporting program
JP2938431B1 (ja) 配線設計装置、配線判定装置およびこれらの方法
JP5397901B2 (ja) 回路情報管理装置、その方法、及びプログラム
CN115906760B (zh) 一种版图设计校验结果的显示方法及装置
JP2953051B2 (ja) 導体パターン相互間のクリアランスをチェックする方法
US20090192771A1 (en) Analysis supporting apparatus, analysis supporting method, and analysis supporting program