【解決手段】素子配置判定方法は、半導体チップの応力分布情報のうちで、半導体チップに配置された素子に流れる電流の方向と同じ方向の応力成分による応力分布情報を選択することと、選択された応力分布情報から、素子が配置された座標における応力値を算出することと、応力値から、応力による素子の特性の変動の影響度に応じた点数を算出することとを備える。
【発明を実施するための形態】
【0007】
以下、図面を参照して実施形態を説明する。
図1は、実施形態に係る表示装置の構成を示すブロック図である。表示装置1は、例えばパーソナルコンピュータに適用される。表示装置1は、プロセッサ11と、メモリ12と、入力インターフェイス13と、ディスプレイ14と、通信インターフェイス15とを有している。表示装置1は、データベース2と通信するように構成されていてよい。
【0008】
プロセッサ11は、例えばCPUである。プロセッサ11は、表示装置1における各種の処理を制御する。プロセッサ11は、ASIC、FPGA、GPU等であってもよい。また、プロセッサ11は、複数のCPU等から構成されていてもよい。
【0009】
メモリ12は、RAM及びROMを含む。RAMは、読み書き可能な半導体メモリである。RAMは、プロセッサ11等で使用される各種のデータを一時的に記憶する作業メモリである。ROMは、読み出し専用の半導体メモリである。ROMは、表示装置1の動作に必要なデータを記憶する。ROMは、例えば半導体チップ上の素子の配置の良否を判定するための素子配置判定プログラムを記憶していてよい。ここで、半導体チップは、基板上に各種の半導体素子が搭載されたチップである。半導体チップは、パッケージに封入される。半導体素子は、単体素子と、ペア素子とを含む。単体素子は、抵抗、コンデンサ等の単独である機能を持つ素子である。なお、単体素子は、配線等を含んでいてもよい。つまり、単体素子は、半導体チップの例えば基板又はパッケージからの応力を受けてその特性が変動する素子であれば特に限定されない。また、ペア素子は、2つの素子がペアとなってある機能を持つ素子である。例えば、増幅回路は、2つのトランジスタがペアとなって構成されるペア素子である。また、半導体素子は、単体素子とペア素子の組み合わせからなる素子を含んでいてもよい。
【0010】
入力インターフェイス13は、キーボード及びマウス等である。入力インターフェイス13は、ユーザが表示装置1に対して各種の入力をするためのインターフェイスである。
【0011】
ディスプレイ14は、例えば液晶ディスプレイである。ディスプレイ14は、各種の画面を表示する。
【0012】
通信インターフェイス15は、表示装置1とデータベース2との通信のためのインターフェイスである。通信インターフェイス15は、例えば有線LANのインターフェイスである。通信インターフェイス15は、無線LANのインターフェイスであってもよい。
【0013】
データベース2は、半導体チップ毎の応力分布情報を記憶しておくためのストレージを有している。ストレージは、ハードディスク等であってよい。応力分布情報は、例えば基板又はパッケージによって半導体チップにかかる応力の強さの分布を表す情報である。ここで、半導体チップには、水平方向(X方向)と垂直方向(Y方向)とが定められている。データベース2は、応力分布情報として、半導体チップのX方向にかかる応力の分布を表す応力分布情報と半導体チップのY方向にかかる応力の分布を表すY方向の応力分布情報とを記憶している。なお、半導体チップ内の素子が3次元構造を有しているときには、データベース2は、応力分布情報として、半導体チップのZ方向にかかる応力の分布を表すZ方向の応力分布情報も記憶していてよい。
図2は、半導体チップに設定されるX方向、Y方向、Z方向の一例を示す図である。
図2に示すように、X方向は、半導体チップ90において素子が配置される面である素子配置面91に対して平行な方向すなわち水平方向である。また、Y方向は、素子配置面91に対して平行な方向であって、X方向に対して直交する方向すなわち垂直方向である。また、Z方向は、素子配置面91の法線方向である。
【0014】
また、データベース2は、素子情報を記憶していてもよい。素子情報は、半導体チップ90に配置されている素子の座標と、この素子に流れる電流の方向とを示す情報を含む。
図3は、素子に流れる電流の方向の一例を示す図である。例えば、半導体チップ90に搭載されている素子がMOSトランジスタ92であるとする。MOSトランジスタ92の場合、ゲート電極Gに電圧が印加されると、ソース電極Sからドレイン電極Dに向けて電流が流れる。したがって、例えば
図3に示すように、ソース電極S、ゲート電極G、ドレイン電極DがX方向に並ぶようにMOSトランジスタ92が半導体チップ90に配置されているならば、素子を流れる電流の方向はX方向である。一方、図では示していないが、ソース電極S、ゲート電極G、ドレイン電極DがY方向に並ぶようにMOSトランジスタ92が半導体チップ90に配置されているならば、素子を流れる電流の方向はY方向である。また、素子情報は、応力による特性の変動の許容度の情報を含む。素子情報は、例えば半導体チップの設計データであってよい。
【0015】
次に、表示装置1の動作を説明する。
図4は、表示装置1の動作を示すフローチャートである。
図4の処理は、例えば素子配置判定プログラムがプロセッサ11によって実行されたときに開始される。ステップS1において、プロセッサ11は、素子配置の判定対象の半導体チップに実装されている素子の素子情報をデータベース2から取り込む。素子情報は、ユーザによって入力されてもよい。
【0016】
ステップS2において、プロセッサ11は、取り込んだ素子情報のうちの1つの素子の素子情報を選択する。
【0017】
ステップS3において、プロセッサ11は、選択した素子に流れる電流の方向が垂直方向であるか否かを判定する。例えば、抵抗等の素子の特性は、素子を流れる電流と同じ方向にかかる応力が支配的になって変動する。このため、素子にかかる応力の影響が素子に流れる電流と同じ方向の応力から判定されることで、素子にかかる応力の影響を後の点数化の処理において適切に評価することができる。ステップS3は、素子に流れる電流と同じ方向の応力成分による応力分布情報を判定するための処理である。ステップS3において、素子に流れる電流の方向が垂直方向であると判定されたときには、処理はステップS4に移行する。ステップS3において、素子に流れる電流の方向が垂直方向でない、すなわち水平方向であると判定されたときには、処理はステップS5に移行する。
【0018】
ステップS4において、プロセッサ11は、データベース2から、選択した素子に流れる電流と同じ方向、すなわち素子配置の判定対象の半導体チップの垂直方向の応力分布情報を取り込む。ステップS5において、プロセッサ11は、データベース2から、選択した素子に流れる電流と同じ方向、すなわち素子配置の判定対象の半導体チップの水平方向の応力分布情報を取り込む。ステップS4又はステップS5の後、処理はステップS6に移行する。
【0019】
ステップS6において、プロセッサ11は、取得した応力分布情報における最小の応力値F
Min及び最大の応力値F
Maxを算出する。なお、プロセッサ11は、極端に応力値が大きくなる半導体チップのエッジ部の応力値を除外した上で最大の応力値を算出することが望ましい。これは、通常、エッジ部には素子が配置されないためと、後で説明する応力値の点数化において極端に大きな応力値が用いられることによって必要以上に点数が低くなることを抑制するためである。
【0020】
ステップS7において、プロセッサ11は、素子を複数の領域に分割する。この領域は、例えば単体素子の1個分のサイズ程度、例えば1辺が5μm−10μm程度の格子領域である。前述したように、単体素子とは、抵抗等の単体で機能する素子である。一方、ペア素子とは、2つの単体素子がペアとなって機能する素子である。例えば、増幅回路は、ペアとなる2つのトランジスタが集まって構成されている。ここで、ペア素子を構成する1つのトランジスタ等は、複数の単体素子としてのトランジスタから形成されることもある。ペア素子は単体素子が集まって1つの素子を形成しているため、ある程度のサイズを有している。複数の座標にまたがっているようなある程度のサイズを有する素子は、場所によって応力が異なる場合がある。このため、1つの素子を複数の領域に分割して、素子の場所毎の応力値が取得されるようにする。
【0021】
ステップS8において、プロセッサ11は、応力分布情報から、分割された領域毎の応力値を取得する。
【0022】
ステップS9において、プロセッサ11は、取得した応力値から分割された領域毎に点数を算出する。点数は、選択中の素子が単体素子であるかペア素子であるかによって異なる基準で算出される。
【0023】
単体素子の場合、その素子にかかる応力値が小さいほど、特性の変動の影響が小さく、良い座標に配置されていると言える。したがって、単体素子の点数は、例えば、応力分布の最小値を0点、最大値を100点として素子の応力値を百分率化したものとして表される。例えば、単体素子の点数S1は、以下の(式1)によって算出される。
S1=(F−F
Min)/(F
Max−F
Min)×100 (式1)
ここで、Fは素子の応力値であり、F
Minは最小の応力値であり、F
Maxは最大の応力値である。例えば、半導体チップの例えば基板による応力分布情報が
図5のX方向応力分布情報101であるとき、座標102に位置する素子の点数は、50点である。
一方、ペア素子の場合、それぞれの素子にかかる応力値の大きさよりもペアとなる素子との応力差が小さいほど、すなわちペアとなる素子の間の特性の変動のばらつきが小さいほど、ペア素子全体としての特性の変動の影響が小さく、良い座標に配置されていると言える。したがって、ペア素子の点数は、例えば、応力差0を0点とし、予め定めた応力差のリミット値Limを100点としてペア素子の応力差を百分率化したものとして表される。例えば、ペア素子の点数S2は、以下の(式2)によって算出される。
S2=|F1−F2|/Lim×100 (式2)
ここで、F1はペア素子のうちの一方(素子1)の応力値であり、F2はペア素子のうちのもう一方(素子2)の応力値であり、Limは応力差のリミット値である。F1は以下の(式3)で表され、F2は以下の(式4)で表される。
F1=((F11
2+F12
2+…+F1n
2)/n)
1/2 (式3)
F2=((F21
2+F22
2+…+F2n
2)/n)
1/2 (式4)
ここで、F1n(n=1,2,3,…)は素子1の座標1nの応力値であり、F2n(n=1,2,3,…)は素子2の座標2nの応力値であり、nは素子1及び素子2の領域数である。
【0024】
ここで、
図4の説明に戻る。ステップS10において、プロセッサ11は、点数に応じた表示色を決定する。実施形態では、応力による素子の特性の変動の影響度が点数に基づいて色分けして表示される。例えば、プロセッサ11は、特性の変動の影響度が小さい座標は青で表示し、特性の変動の影響度が大きい座標は赤で表示するように表示色を決定する。ここで、色分けの仕方は、素子毎の特性の変動の許容度に応じて、例えば3段階に分けられるものとする。例えば、特性の変動がなるべく抑えられる必要がある素子については表示色が赤に近くなる点数の範囲が広げられ、特性の変動がある程度は許容される素子については表示色が青に近くなる点数の範囲が広げられている。
【0025】
図6Aは、特性の変動の許容度が小さい素子の点数と表示色との一例の対応関係を示す図である。
図6Aの例では、0点から20点までの表示色が青、21点から40点までの表示色が緑、41点から60までの表示色が黄、61点から100点までの表示色が赤に設定されている。
【0026】
図6Bは、特性の変動の許容度が中程度の素子の点数と表示色との一例の対応関係を示す図である。
図6Bの例では、0点から40点までの表示色が青、41点から60点までの表示色が緑、61点から80までの表示色が黄、81点から100点までの表示色が赤に設定されている。
【0027】
図6Cは、特性の変動の許容度が大きい素子の点数と表示色との一例の対応関係を示す図である。
図6Cの例では、0点から60点までの表示色が青、61点から80点までの表示色が緑、81点から100までの表示色が黄に設定されている。
【0028】
プロセッサ11は、現在の選択中の素子の特性の変動の許容度に応じて、
図6Aの対応関係と、
図6Bの対応関係と、
図6Cの対応関係の何れかを選択する。そして、選択した対応関係と、算出した点数とに応じて表示色を決定する。その後、処理はステップS11に移行する。
【0029】
ここで、点数と表示色との対応関係は、例えば3段階に分けられるとしているが、これに限定されない。すなわち、点数と表示色との対応関係は、複数段階に分けられていなくてもよいし、2段階に分けられていてもよいし、4段階以上に分けられていてもよい。
【0030】
ステップS11において、プロセッサ11は、選択していない素子がまだあるか否かを判定する。ステップS11において、選択していない素子がまだあると判定されたときには、処理はステップS2に戻る。この場合、プロセッサ11は、別の素子を選択する。ステップS11において、選択していない素子がないと判定されたときには、処理はステップS12に移行する。
【0031】
ステップS12において、プロセッサ11は、素子毎の応力による特性の変動の影響度を色分けしてディスプレイ14に表示させる。その後、プロセッサ11は、
図4の処理を終了させる。
【0032】
図7は、単体素子における特性の変動の影響度の表示例を示す図である。例えば、ディスプレイ14には、枠201が表示される。枠201は、半導体チップの外形を表している。枠201の付近には、パッド画像202が表示されてもよい。パッド画像202は、半導体チップ上のパッドの位置を表す画像である。枠201とパッド画像202とにより、ユーザは、半導体チップ上に配置されている各素子の位置関係を容易に把握することができる。
【0033】
単体素子における特性の変動の影響度203は、枠201内の対応する素子の座標上に表示される。
図7には、影響度203の表示の拡大
図204も示されている。拡大
図204に示すように、影響度203の表示は、例えば2つの矢印画像205、206を含む。矢印画像205は、半導体チップの水平方向に電流が流れるように素子が配置されたときの影響度を示す。矢印画像206は、半導体チップの垂直方向に電流が流れるように素子が配置されたときの影響度を示す。拡大
図204で示すように、矢印画像205及び206は、それぞれ、ステップS10で決められた色で表示される。矢印画像205の色は、例えば赤である。このことは、素子が水平方向に配置されたときの特性の変動の影響度が許容できない程度に大きいことを示している。また、矢印画像206の色は、例えば青である。このことは、素子が垂直方向に配置されたときの特性の変動の影響度が許容できる程度に小さいことを示している。このような表示を見たユーザは、素子を垂直方向に配置できるかを検討することができる。ここで、
図7では、影響度203の表示は、例えば2つの矢印画像205、206を含むとしているが、一方の矢印画像だけを含んでいてもよい。
【0034】
図8は、ペア素子における特性の変動の影響度の表示例を示す図である。ここで、
図8では省略されているが、ペア素子の場合においても、枠201及びパッド画像202が表示されてよい。
【0035】
ペア素子では、ペア素子の領域毎に特性の変動の影響度が表示される。ここで、
図8は、増幅回路についての特性の変動の影響度の表示例を示す図である。
図8は、異なる座標に配置された2つの同一の構成を有する増幅回路301、302についての表示例を示している。
【0036】
図8では、1つの矩形領域303が1つの単体素子であるトランジスタを表している。そして、
図8に示すように、増幅回路301は、単体素子のトランジスタが集まってペア素子としてのトランジスタ304a、304bを形成している。トランジスタ304a及び304bにおける各矩形領域303の表示色は、トランジスタ304aの応力値とトランジスタ304bの応力値との差によって定まる点数から決められる。例えば、
図8のペア素子としてのトランジスタ304a、304bの表示色は黄である。つまり、トランジスタ304a、304bが配置されている領域は比較的に特性の変動の影響度が大きいことが示されている。
【0037】
また、増幅回路302におけるペア素子としてのトランジスタ305a、305bの表示色は赤である。トランジスタ304aとトランジスタ305aとは同一の構成を有し、また、トランジスタ304bとトランジスタ305bとは同一の構成を有している。つまり、
図8は、増幅回路301と増幅回路302との配置される座標の違いによって、特性の変動の影響度に違いがあることを示している。
【0038】
以上説明したように本実施形態では、素子に流れる電流の方向と同じ方向の応力成分による応力分布情報を取得して、素子の応力値が算出される。つまり、実施形態では、素子の特性に支配的に影響を与える応力分布情報に基づいて素子の応力値が算出される。これにより、適切な素子の配置の良し悪しの判定が行われ得る。
【0039】
また、実施形態では、素子の応力値に応じて、素子毎の特性の変動の影響度の点数化が行われる。これにより、素子毎の特性の変動の影響度の評価が容易に行われ得る。この評価に際して、前述した色分けの他に変動の影響度のピーク値を抽出する、変動の影響度のヒストグラムで表すといった各種の統計処理が行われ得る。
【0040】
また、実施形態では、素子毎の特性の変動の影響度が色分けして表示される。これにより、ユーザは、素子の配置の良し悪しを容易に判断することができる。また、実施形態では、特性の変動の許容度に応じた異なる色分けが行われる。これにより、素子毎の特性に応じた素子の配置の良し悪しの判断が行われ得る。例えば、ユーザは、変動の許容度の小さい素子を優先して、変動の許容度の大きい素子を別の座標に移すといった検討をすることができる。
【0041】
[変形例1]
以下、変形例を説明する。
図9は、変形例1における処理の流れを示す図である。半導体チップは、複数のパッケージに封入されて展開され得る。実施形態の技術は、これらの複数のパッケージ間の性能評価にも使用され得る。以下、同一の素子が実装されたパッケージAとパッケージBの性能評価を例に挙げて説明する。
【0042】
プロセッサ11は、パッケージAの素子情報と応力分布情報とからパッケージA(PKG A)の各素子の点数401を算出する。同様に、プロセッサ11は、パッケージBの素子情報と応力分布情報とからパッケージB(PKG B)の各素子の点数402を算出する。これらの点数の算出処理は、
図4で説明した処理と同一である。パッケージAの各素子の点数401とパッケージBの各素子の点数402との算出後、プロセッサ11は、パッケージ間の変動度算出処理403を行う。パッケージ間の変動度算出処理403は、パッケージAの各素子の点数401とパッケージBの各素子の点数402とを領域毎に比較し、値の大きいものを選択する処理である。その後、プロセッサ11は、パッケージ間の特性の変動の影響度をディスプレイ14に表示させる。
【0043】
図10は、パッケージ間の特性の変動の影響度の表示例を示す図である。ここで、
図10は、
図8で示した増幅回路301、302がパッケージングされたパッケージAとパッケージBとの間の特性の変動の影響度の表示例を示している。各矩形領域501の表示色は、パッケージAの各素子の点数とパッケージBの各素子の点数との差によって定まる点数から決められる。したがって、表示色が赤いほど、パッケージ間での性能のばらつきが大きいことが示される。
【0044】
以上説明したように変形例1では、実施形態の技術がパッケージ間での性能評価にも適用され得る。
【0045】
ここで、
図9の例では、2つのパッケージ間で変動度算出処理403が行われるとしている。しかしながらこれに限らない。すなわち、変動度算出処理403は、3つ以上のパッケージ間で行われてもよい。この場合であっても、プロセッサ11は、パッケージ間の素子の点数を領域毎に比較し、値が最大のものを選択する。
【0046】
[変形例2]
図11は、変形例2における処理の流れを示す図である。前述した実施形態では、既に素子を配置する座標が確定された上で、その座標における特性の変動の影響度を示す点数が算出される。これに対し、素子を配置する座標が確定されていない場合であっても、実施形態で説明した技術により、素子の推奨位置を算出することができる。以下、同一の素子が実装される予定の2つのパッケージAとパッケージBとにおける素子の推奨位置の算出を例に挙げて説明する。
【0047】
プロセッサ11は、パッケージAに実行される予定の素子を半導体チップの各座標に配置したときの点数を応力分布情報から算出する。つまり、プロセッサ11は、パッケージAの応力分布情報から、素子をパッケージAの半導体チップの水平方向に電流が流れるように配置したときの座標毎の点数と、素子を半導体チップの垂直方向に電流が流れるように配置したときの座標毎の点数とを算出する。同様に、プロセッサ11は、パッケージBの応力分布情報から、素子をパッケージBの半導体チップの水平方向に電流が流れるように配置したときの座標毎の点数と、素子を半導体チップの垂直方向に電流が流れるように配置したときの座標毎の点数とを算出する。これらの点数の算出処理は、
図2で説明した処理と同一である。また、プロセッサ11は、パッケージAにおける素子の特性の変動の許容度と、パッケージBにおける素子の特性の変動の許容度とを取得する。
【0048】
パッケージAの素子の座標毎の点数及びパッケージBの素子の座標毎の点数を算出し、パッケージAにおける素子の特性の変動の許容度及びパッケージBにおける素子の特性の変動の許容度を取得した後、プロセッサ11は、推奨位置算出処理603を行う。推奨位置算出処理は、パッケージAの素子の座標毎の点数と変動の許容度601とによって定まる色と、パッケージAの素子の座標毎の点数と変動の許容度602とによって定まる色とを領域毎に比較し、より色が青に近いもの、すなわち許容度を含めた点数の低いものを選択する処理である。その後、プロセッサ11は、推奨配置座標をディスプレイ14に表示させる。
【0049】
図12は、推奨配置座標の表示例を示す図である。
図12の例では、半導体チップを表す枠701内の、許容度を含めた最も点数の低い座標については推奨配置座標であることを示すバツ印702が表示される。また、表示色が青の領域は推奨範囲703として表示される。また、表示色が緑の領域は次点範囲704として表示される。
【0050】
以上説明したように変形例2では、1つの素子の座標毎の点数と特性の変動の許容度とに応じて、この素子の推奨配置座標が表示される。これにより、ユーザは、事前の検討で素子の配置を決めることができる。したがって、素子の配置の修正時間が短縮され得る。
【0051】
ここで、
図11の例では、2つのパッケージの情報から推奨位置算出処理603が行われるとしている。しかしながらこれに限らない。すなわち、推奨位置算出処理603は、1つのパッケージだけで行われてもよい。この場合、プロセッサ11は、
図4で説明した色分けの仕方に応じて推奨位置を算出する。また、推奨位置算出処理603は、3つの以上のパッケージの情報を用いて行われてもよい。
【0052】
以上、いくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。