JP2011113291A - 半導体装置の動作シミュレーション方法、測定データ取得方法、及び回路設計方法 - Google Patents

半導体装置の動作シミュレーション方法、測定データ取得方法、及び回路設計方法 Download PDF

Info

Publication number
JP2011113291A
JP2011113291A JP2009268935A JP2009268935A JP2011113291A JP 2011113291 A JP2011113291 A JP 2011113291A JP 2009268935 A JP2009268935 A JP 2009268935A JP 2009268935 A JP2009268935 A JP 2009268935A JP 2011113291 A JP2011113291 A JP 2011113291A
Authority
JP
Japan
Prior art keywords
point
model
procedure
element models
error
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
JP2009268935A
Other languages
English (en)
Inventor
Hiroyuki Higuchi
博之 樋口
Hidetoshi Matsuoka
英俊 松岡
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 Semiconductor Ltd
Original Assignee
Fujitsu Semiconductor 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 Semiconductor Ltd filed Critical Fujitsu Semiconductor Ltd
Priority to JP2009268935A priority Critical patent/JP2011113291A/ja
Publication of JP2011113291A publication Critical patent/JP2011113291A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

【課題】 本発明の課題は、半導体装置の動作シミュレーションを高精度に行い、最適な設計を行うことを目的とする。
【解決手段】 上記課題は、コンピュータ装置が、回路セルの複数の素子モデルの設計値を基準とした製造時のばらつき値による空間において、不良の生起確率が最大となる最確点を探索する探索手順と、前記探索の過程において、前記複数の素子モデルと夫々の実測値との差をモデル誤差として計算する誤差計算手順と、前記モデル誤差が所望の精度を満たさない場合、前記複数の素子モデルを再調整するモデル再調整手順と、前記再調整された複数の素子モデルを用いて前記最確点を中心としてサンプリングした結果に基づいて、前記半導体装置の歩留を予測する歩留予測手順とを実行することを特徴とする半導体装置の動作シミュレーション方法により達成される。
【選択図】 図5

Description

本発明は、半導体装置の動作シミュレーションを高精度に行い、最適な設計を行う半導体装置の動作シミュレーション方法、測定データ取得方法、及び回路設計方法に関する。
半導体装置を開発する際、半導体装置をモデル化したシミュレーションモデルを用いて、種々のシミュレーションを行い、半導体装置の設計検証が行われている。より精度の高い設計検証を行うには最適なシミュレーションモデルを用いる必要があるが、シミュレーションモデルは多くのパラメータで構成されており、最適値を決定するには開発者の経験を要し、またシミュレーションを繰り返し行う必要があった。
そのため、設定されたパラメータでシミュレーションを行なった結果、実測値とに誤差がある場合には勾配ベクトルを用いてパラメータを修正したり、キャリブレーションなどにより収束判定により収束するまでパラメータの設定範囲を自動的に再指定するなどが提案されている。(例えば、特許文献1、2を参照)
特開2007−257380号公報 特開平10−301979号公報
しかしながら、上述した従来技術では、シミュレーションモデルと実測値との誤差に基づいてパラメータの設定を容易とするが、設計値に基づいて製造した半導体装置の歩留を高精度に得ることができないという問題があった。
例えば、10MbitのSRAMの歩留を動作シミュレーションによって計算する場合、セルの数は約1千万必要であり、その一つでも不良があればSRAM自体が不良となってしまう。このSRAMの歩留が、設計値で製造した場合に99%以上であることを確認するには、10億個のサンプル数でシミュレーションをして不良が1サンプル以下であることを確認する必要がある。サンプル数が10億個以上の場合、すなわち、半導体装置の動作シミュレーションを10億回行わなければならない。しかしながら、現実には動作シミュレーションにはサンプル数に制限があり、10億個以上のサンプル数でシミュレーションを行えない、又は同程度の精度で歩留を得ることができないと言った問題があった。
開示の技術は、半導体装置の動作シミュレーション方法において、コンピュータ装置が、回路セルの複数の素子モデルの設計値を基準とした製造時のばらつき値による空間において、不良の生起確率が最大となる最確点を探索する探索手順と、前記探索の過程において、前記複数の素子モデルと夫々の実測値との差をモデル誤差として計算する誤差計算手順と、前記モデル誤差が所望の精度を満たさない場合、前記複数の素子モデルを再調整するモデル再調整手順と、前記再調整された複数の素子モデルを用いて前記最確点を中心としてサンプリングした結果に基づいて、前記半導体装置の歩留を予測する歩留予測手順とを実行するように構成される。
開示のコンピュータ装置によって、半導体装置の動作シミュレーションにて、製造ばらつきに基づくノイズ許容値がゼロとなる値の探索途中において、設計値とのモデル誤差に応じてトランジスタモデルを再調整することによって設定値の歩留精度を改善する。
SRAMセルのトランジスタ構成例を示す図である。 半導体装置の動作シミュレーション方法の概要を説明するための図である。 回路設計装置のハードウェア構成を示すブロック図である。 回路設計装置の機能構成例を示す図である。 本実施例に係る動作シミュレーション処理の概要を説明するためのフローチャート図である。 探索部による図5のステップS1からS4での処理を説明するためのフローチャート図である。 モデル誤差計算部による図5のステップS5での処理を説明するためのフローチャート図である。 モデル再調整部による図5のステップS7での処理を説明するためのフローチャート図である。 モデル再調整部による図8のステップS74における許容誤差の計算処理を説明するためのフローチャート図である。 最確点シミュレーション部の機能構成例を示す図である。 測定データ取得方法について説明するためのフローチャート図である。 本実施例に係る動作シミュレーション処理のモデル最適化設計への適用例を説明するためのフローチャート図である。
以下、本発明の実施の形態を図面に基づいて説明する。図1に示すようなSRAM(Static Random Access Memory)セル4を回路セルの例とし、トランジスタモデルのパラメータを調整しつつモデル誤差を最小限としたモンテカルロシミュレーションを行うことによって、設計値に対する歩留の精度を改善する半導体装置の動作シミュレーション方法について説明する。
図1は、SRAMセルのトランジスタ構成例を示す図である。図1に例示されるSRAMセル4は、ロード(Load)、ドライバ(Driver)、トランスファ(Transfer)の3種類のトランジスタを1組とし、これを2組組み合わせた6トランジスタ型のSRAMセルである。以下、LoA、DrA、TfA、LoB、DrB、及びTfBで示す。3種類の6トランジスタに対して長さ(L)、幅(W)、及び閾値(Vth)の変数を与えると、設計変数は下記の計18個となる。
LoA_L、LoA_W、LoA_Vth
DrA_L、DrA_W、DrA_Vth
TfA_L、TfA_W、TfA_Vth
LoB_L、LoB_W、LoB_Vth
DrB_L、DrB_W、DrB_Vth
TfB_L、TfB_W、TfB_Vth
これら設計変数は、予め定めた設計値と、モンテカルロシミュレーションによってランダムに与えられるばらつき値とで表される。ばらつき値とは、設計値でSRAMセル4を製造した場合における設計値との差分を示す。例えば、
LoA_L=設計値+ΔLoA_L
となる。ここでは、ΔLoA_Lがばらつき値(差分)を示す。他設計変数についても同様に表される。
図2は、半導体装置の動作シミュレーション方法の概要を説明するための図である。図2(A)において、SRAMセル4でのノイズマージン(ノイズ許容値)を例えば正規分布で推定した場合、ノイズマージンの平均μから負の方向へdσのときにゼロとなり、従って、ゼロ以降でセル不良率を予測でき歩留を得ることができる。しかし、セルが不良するポイント辺り、つまり、10Mbitで歩留99%では分布中心μから分散の平方根6σ程離れているため、実際のノイズマージン分布と正規分布との間では差が大きくなってしまう。歩留精度を改善するためには、ノイズマージンがゼロとなるSRAMセル4が不良するポイント辺りで歩留を算出する必要がある。
本実施例では、図2(B)に示すように、設計値を原点としてばらつき値を分散させた設計変数空間9において、原点からノイズマージンがゼロとなる境界2上の最確点IMを予測しつつシミュレーションを行い、最確点IMでの予測値とトランジスタモデルとの誤差が所定範囲内となるようにトランジスタモデルのパラメータを調整することによって、最確点IMにおけるばらつき値で不良率をシミュレーションする。
最確点IMでのモンテカルロシミュレーションの実施は、例えば、Rouwaida Kanj等の"Mixture Importance Sampling and Its Application to the Analysis of SRAM Designs in the Presence of Rare Failure Events", Design Automation Conference, 2006による重点的サンプリング手法を用いる。しかしながら、既に最確点IMから乖離している設計値に相当するトランジスタモデルを用いてシミュレーションするのではなく、本実施例では、パラメータを調整したトランジスタモデルを用いる。
トランジスタモデルのパラメータは、設計値の原点から最確点IMへ探索の過程で調整を行う。最確点IMにおいてパラメータを調整したトランジスタモデルを用いることによって、通常3σ程度のサンプリング数に制限されるモンテカルロシミュレーションであっても、十分な歩留精度を得ることができる。
図2(B)では、説明を簡単にするため、設計変数空間9は、x軸にΔLoA_Vth[σ]を示し、y軸にΔDrA_Vth[σ]を示す2次元座標で示したが、実際のシミュレーションでは設計変数の個数に応じた18次元空間となる。
本実施例における回路設計装置100は、例えば、図3に示すようなハードウェア構成を有する。図3は、回路設計装置のハードウェア構成を示すブロック図である。
図3において、回路設計装置100は、コンピュータによって制御される端末であって、CPU(Central Processing Unit)11と、メモリユニット12と、表示ユニット13と、出力ユニット14と、入力ユニット15と、通信ユニット16と、記憶装置17と、ドライバ18とを有し 、システムバスBに接続される。
CPU11は、メモリユニット12に格納されたプログラムに従って回路設計装置100を制御する。メモリユニット12には、RAM(Random Access Memory)及びROM(Read-Only Memory)等が用いられ、CPU11にて実行されるプログラム、CPU11での処理に必要なデータ、CPU11での処理にて得られたデータ等を格納する。また、メモリユニット12の一部の領域が、CPU11での処理に利用されるワークエリアとして割り付けられている。
表示ユニット13は、CPU11の制御のもとに必要な各種情報を表示する。出力ユニット14は、プリンタ等を有し、利用者からの指示に応じて各種情報を出力するために用いられる。入力ユニット15は、マウス、キーボード等を有し、利用者が回路設計装置100が処理を行なうための必要な各種情報を入力するために用いられる。通信ユニット16は、例えばインターネット、LAN(Local Area Network)等に接続し、外部装置との間の通信制御をするための装置である。記憶装置17には、例えば、ハードディスクユニットが用いられ、各種処理を実行するプログラム等のデータを格納する。
回路設計装置100よって行われる処理を実現するプログラムは、例えば、CD−ROM(Compact Disc Read-Only Memory)等の記憶媒体19によって回路設計装置100に提供される。即ち、プログラムが保存された記憶媒体19がドライバ18にセットされると、ドライバ18が記憶媒体19からプログラムを読み出し、その読み出されたプログラムがシステムバスBを介して記憶装置17にインストールされる。そして、プログラムが起動されると、記憶装置17にインストールされたプログラムに従ってCPU11がその処理を開始する。尚、プログラムを格納する媒体としてCD−ROMに限定するものではなく、コンピュータが読み取り可能な媒体であればよい。本実施例に係る処理を実現するプログラムは、通信ユニット16によってネットワークを介してダウンロードし、記憶装置17にインストールするようにしても良い。また、USB対応の回路設計装置100であれば、USB接続可能な外部記憶装置からインストールするようにしても良い。更に、SDカード等のフラッシュメモリ対応の回路設計装置100であれば、そのようなメモリカードからインストールするようにしても良い。
図4は、回路設計装置の機能構成例を示す図である。図4において、回路設計装置100は、動作シミュレーション部2と、測定点取得部8とを処理部として有する。動作シミュレーション部2は更に、探索点マージン計算部31を含む探索部3と、モデル誤差計算部4と、モデル再調整部5と、最確点シミュレーション部6と、歩留計算部7と、測定点取得部8とを処理部として有する。回路設計装置100において、CPU11が本実施例に係る処理を行うためのプログラムを実行することによってこれら処理部2から8として機能する。
また、回路設計装置100は、本実施例に係る処理にて使用されるネットリスト81と、トランジスタモデルDB82と、実測データDB83と、許容歩留誤差データ84と、最確点データ85と、圧縮測定点データ(集合CP)86とをメモリユニット12又は記憶装置17の記憶領域に保持する。
探索部3は、ネットリスト81とトランジスタモデルDB82とを用いて回路シミュレーションすることによって、図2(B)に示す設計変数空間9内におけるシミュレーションによって設計値(原点)から最確点IMへと探索する経路における探索点Mを決定する処理部である。そして、探索点マージン計算部31は、探索部3によって決定された探索点Mでのノイズマージンをシミュレーションすることによって計算する処理部である。探索部3は、ノイズマージンがゼロ以下となる探索点Mを最確点IMとし、最確点IMに係る最確点データ85を記憶領域に出力する。
モデル誤差計算部4は、実測データDB83を参照することによって得られる探索点Mでの実測値と、トランジスタモデルDB82の探索点Mの時点でのトランジスタモデルに対して回路シミュレーションすることによって得られるモデル値との誤差を計算する処理部である。
モデル再調整部5は、モデル誤差計算部4によって計算された実測値とモデル値との誤差の最大誤差が、探索点Mの時点でのトランジスタモデルにおける許容誤差を超えている場合に、トランジスタモデルDB82から許容誤差内となるパラメータを検索してトランジスタモデルを選択することによって、トランジスタモデルのパラメータの値を変更してトランジスタモデルの再調整を行う処理部である。トランジスタモデルの再調整が行われることによって、最確点IMの探索において、設計値から遠くなるほど実測値とモデル値との誤差が増大するのを防ぐ。
最確点シミュレーション部6は、最確点IMを中心としたモンテカルロシミュレーションを実行して不良率を取得する処理部である。最確点IMを中心としたモンテカルロシミュレーションを行うためのサンプル数は、原点を中心にモンテカルロシミュレーションを行う場合のサンプル数程度であれば良く、例えば、高品質を保証するためのノイズマージンの正規分布における6σの範囲を満たすに十分なサンプル数を備える必要がない。また、例えば3σの範囲を満たす程度の限られたサンプル数であっても高精度の不良率を得られるため、モンテカルロシミュレーションによる処理負荷を低減することができる。
歩留計算部7は、最確点シミュレーション部6による結果を用いて歩留を計算し、設計値を中心とした場合の歩留として出力する処理部である。
測定点取得部8は、例えば、Read、Writeなどのノイズマージンの種類、及びLSIチップのPTV条件(プロセス、温度、電圧)により異なる最確点IMの集合を用いて、測定点Pの数を圧縮する処理部である。
図5は、本実施例に係る動作シミュレーション処理の概要を説明するためのフローチャート図である。図5において、回路設計装置100において、ネットリスト81、トランジスタモデルDB82、実測データDB83、許容歩留誤差データ84から、動作シミュレーション処理にて必要なデータが入力される(ステップS1)。
探索部3は、図2(B)に示すような設計変数空間9における設計値に対応するばらつきのない原点を探索点Mとして設定し初期化する(ステップS2)。そして、探索点マージン計算部31によって、探索点Mでのノイズマージンを回路シミュレーションによって計算し、その結果をマージン変数に設定する(ステップS3)。探索部3は、マージン変数の値がゼロ以下であるか否かを判断する(ステップS4)。マージン変数がゼロ以下である場合、探索部3は、探索点Mを最確点IMに係る最確点データ85を記憶領域に出力して記憶する(ステップS8)。その後、回路設計装置100による処理は、ステップS10へ進む。
一方、マージン変数がゼロより大きい場合、探索部3は、次の探索点Mを探索し、その探索点Mでのノイズマージンを探索点マージン計算部31によって行い、マージン変数に設定する(ステップS5)。
次に、モデル誤差計算部4は、ステップS4で得られた探索点Mでの実測値とトランジスタモデルのモデル値とのパラメータ毎に誤差を算出する(ステップS6)。そして、モデル再調整部5は、その中の最大誤差が許容誤差を超えているか否かを判断して、許容誤差を超えている場合に、その探索点Mにおいて誤差が小さくなるようにトランジスタモデルのパラメータをトランジスタモデルDB82から選択して再調整する(ステップS7)。その後、回路設計装置100による処理は、ステップS4へ戻り、上述同様の処理を繰り返す。
ステップS4での判断によって、最確点IMが確定すると、最確点シミュレーション部6は、最確点IMを中心としたモンテカルロシミュレーションを実行する(ステップS9)。歩留計算部7は、モンテカルロシミュレーションの結果から歩留を計算し、その結果を歩留7rとして記憶領域に出力する(ステップS10)。よって、回路設計装置100による処理は終了する。
図6は、探索部による図5のステップS1からS4での処理を説明するためのフローチャート図である。図6において、探索部3は、現在の探索点Mから微小距離αで一番ノイズマージンが減少する次の探索点Mi+1を求める(ステップS11)。例えば、下記[数1]式による最急降下法などにより求めることができる。
Figure 2011113291
ただし、関数fはノイズマージンを算出する関数であるが与えられるものではないため、現在の探索点Mから+α分進んだ次の探索点Mi+1のx軸及びy軸のそれぞれの値(2点)で、ネットリスト81及びトランジスタモデルDB82とを用いて、実際に回路シミュレーションを行い各々のノイズマージンを算出してそれらの差分を計算する。
探索部3は、現在の探索点Mとして、求めた次の探索点Mi+1を設定する(ステップS12)。そして、探索部3は、現在の探索点Mのノイズマージンをネットリスト81及びトランジスタモデルDB82とを用いて、回路シミュレーションを行いノイズマージンを計算する(ステップS13)。
図7は、モデル誤差計算部による図5のステップS5での処理を説明するためのフローチャート図である。図7において、実測データDB83では、トランジスタの種別毎に、例えば、長さ(L)、幅(W)、及び閾値(Vth)の組み合わせを±6σの範囲内で均等なばらつき値に対し、例えば、1σ毎の実測点において既存SRAMで実測した測定値が測定項目毎に格納され管理される。測定項目1、測定項目2・・・として、トランジスタを動作させた際の特徴的な値が示されるが、例えば、トランジスタの閾値Vth、トランジスタのオン電流などである。
探索点Mでの補間された実測値7aは、実測データDB82から探索点Mでのばらつきの組み合わせに最も近いばらつきの組み合わせとなる各測定項目の測定値を取り出して、探索点Mで予測される各測定項目の測定値との間を補間した値である。
探索点Mでのモデル値7bは、探索点Mの時点で適応しているトランジスタモデルを用いてシミュレーションして得た各測定項目の測定値である。探索点Mが原点(ばらつきゼロ)であれば、3種類のトランジスタの設計値から得られる各測定項目の測定値となる。
モデル誤差計算部4は、実測データDB83から探索点Mに最も近いばらつきの組み合わせをトランジスタの種類毎に取り出して、探索点Mで予測される測定値との間を各測定項目毎に補間した補間された実測値7aを記憶領域に出力する。
また、モデル誤差計算部4は、探索点Mでのトランジスタモデルの各測定項目のモデル測定値7bを得て、トランジスタの種別毎に、各測定項目で、補間された実測値7aとモデル測定値7bとの誤差(%)を計算する。
モデル誤差計算部4によって計算されたトランジスタの種別毎の各測定項目の誤差(%)のうち最大誤差(%)が許容誤差を超えた場合に、トランジスタモデルの再調整が行われる。
図8は、モデル再調整部による図5のステップS7での処理を説明するためのフローチャート図である。図8において、モデル再調整部5は、設計変数空間9において、現在の探索点Mから次の探索点Mi+1へのベクトル方向に延長してノイズマージンがゼロになる点を点C1に設定し(ステップS71)、現在の探索点Mから次の探索点Mi+1へのベクトル方向に距離kσの点を点C2に設定する(ステップS72)。そして、モデル再調整部5は、点C1と点C2のうち原点0に近い方の点を再調整中心C0に設定する(ステップS73)。距離kσのk値はMCシミュレーションのサンプル数nに対応するσ数に対応した値を外部から入力するものとする。
次に、モデル再調整部5は、許容誤差を算出して(ステップS74)、再調整中心C0を中心に±kσの再調整範囲8rとなるように、現在適応されているトランジスタモデルのパラメータを再決定する(ステップS75)。モデル再調整部5は、許容誤差を満たすように、再調整中心C0に最も近い実測点を実測データDB83から取得して、トランジスタモデルDB82から検索することによってその実測点に近いパラメータセットを作成する。パラメータセットとは、3種類分のトランジスタのパラメータ値をセットにしたものである。
そして、モデル再調整部5は、許容誤差を満たすようにトランジスタモデルのパラメータの再決定が出来たか否かを判断する(ステップS76)。許容誤差を満たせなかった場合、再調整範囲8rにおけるトランジスタモデルのパラメータセットを分割して、ステップS75と同様に、トランジスタモデルDB82を参照することによってトランジスタモデルのパラメータセットを再決定し(ステップS77)、ステップS76へ戻る。一方、許容誤差を満たせた場合、モデル再調整部5は、この処理を終了する。
図9は、モデル再調整部による図8のステップS74における許容誤差の計算処理を説明するためのフローチャート図である。図9において、モデル再調整部5は、図8のステップS71で設定したC1を推定した推定した最確点IMestとし、その推定した最確点IMestで良不良確率を50%としたときの歩留を推定歩留Yestに設定する(ステップS74−2)。
次に、モデル再調整部5は、Mi+1と同じベクトル方向で、推定した最確点IMestを始点とし推定歩留が「Yest−ΔYmax」となる点を終点とするベクトルを、許容誤差ベクトルとして設定する(ステップS74−4)。
モデル再調整部5は、許容誤差ベクトルのトランジスタの種類(ロード、ドライブ、トランスファ)毎の成分の大きさを種類毎のトランジスタモデルの許容誤差[σ]に設定する(ステップS74−6)。
図7で説明したように、探索点Mでの補間された実測値7aと現在適応されているトランジスタモデルでの探索点Mでのモデル値7bとの誤差のうち最大誤差が、このようにして求められた許容誤差を超えたときは、トランジスタモデルのパラメータを変更して再調整する。許容誤差との比較は、トランジスタの種類毎に行う。
この許容誤差は、ノイズマージンの傾きが大きく、かつ探索点Mから推定した最確点IMが近いときは小さくなる。一方、許容誤差は、ノイズマージンの傾きが小さく、かつ探索点Mから推定した最確点IMが遠いときは大きくなる。従って、探索点Mのときの許容誤差におうじて必要な分だけトランジスタモデルのパラメータを調整することができ、よって、最確点IMを適切に見つけることができる。
また、最確点IMを予測しながら許容誤差との比較を行うことにより、トランジスタモデルを再調整する必要な回数分にまで少なくすることができる。
図10は、最確点シミュレーション部の機能構成例を示す図である。図10において、本実施例における最確点シミュレーション部6は、MC(モンテカルロ)シミュレーション部6mcと、ばらつき分布6dとを有する。
MCシミュレーション部6mcは、設計値のトランジスタモデル82aに対してパラメータ調整82bされたトランジスタと、最確点データ85とを入力し、また、18個の設計変数の各々に対して、例えば分散の平方根がσ1からσ18による正規分布で表されるばらつき分布データ6dを入力して、最確点IMでの重点的サンプリングによる回路シミュレーションを行う。サンプル数nはMCシミュレーションによって決定されるが、例えば3σの範囲である。
MCシミュレーション部6mcは、各サンプル1〜nの回路シミュレーションの結果を出力する。例えば、サンプル1では「良品」、サンプル2では「write不良」、・・・、サンプルnでは「read不良」等の結果が出力される。この結果に基づいて、歩留計算部8が歩留を算出する。
このように、最確点IMでの重点的サンプリングでのモンテカルロシミュレーションにおいて、図2(B)の設計変数空間9において原点0の設計値となるトランジスタモデル82aを用いるのではなく、パラメータ調整82bによって最確点IMに相当するトランジスタモデルで回路シミュレーションを行うことにより、モデル誤差を少なくすることができ、かつ、歩留精度を改善することができる。
また、3σの範囲のサンプル数であったとしても、正規分布の6σでノイズマージンを予測した場合と同等の精度で歩留を得ることができる。従って、実際のノイズマージン分布との差を改善することができる。
次に、記憶した最確点IMと設計中心から最確点IMにいたる直線上の実測点のポイントを重点的に設定し、測定することにより設定データ数と測定時間の短縮を図る測定点取得方法について図11で説明する。図11は、測定データ取得部による測定データ取得方法について説明するためのフローチャート図である。
図11において、測定点取得部8は、記憶した最確点データ85から最確点IMの集合{IM、・・・、IM}と、測定点Pの集合{P、・・・、P}と、範囲rとを読み込む(ステップS91)。
最確点IMi(i=1〜nの自然数)は、例えば、ReadかWriteかというノイズマージンの種類、及び歩留を考えるLSIチップのPTV条件(P:プロセス、T:温度、V:電圧)により異なる点となる。
また、測定点Pj(j=1〜mの自然数)は、例えば、各設計変数Lo(ロード)、Dr(ドライバ)、Tr(トランスファ)について±6σで1σ毎に測定する場合、13ポイントあり、そのトランジスタの種類毎に長さ(L)、幅(W)、及び閾値(Vth)があるため、13×13×13×3=6591の測定点となる。範囲rは、σで与えられ、例えば、0.5σなどの値で与えられ、その範囲r内の測定点Pjを選択することによって測定点の数を圧縮することができる。
動作シミュレーションでは、上述したように探索点Mの近傍の測定点の測定データのみが必要となる。従って、以下に必要な測定点のみを取得しておく処理について説明する。
測定点取得部8は、最確点IMの集合から要素を順番に取り出すための変数iに1を設定して初期化して(ステップS92)、変数iが要素数n以下であるか否かを判断する(ステップS93)。
変数iが要素数n以下である場合、測定点取得部8は、測定点Pの集合から要素を順番に取り出すための変数jに1を設定して初期化して(ステップS94)、変数jが要素数m以下であるか否かを判断する(ステップS95)。変数jが要素数mより大きい場合、測定点取得部8は、最確点IMの集合に対する変数iに1加算して(ステップS95−2)、ステップS93へ戻り、上述同様の処理を繰り返す。
一方、ステップS95において、変数jが要素数m以下である場合、測定点取得部8は、設計変数空間9内での設計中心(原点0)からのベクトルOMiとPjとの距離が範囲r以下であるか否かを判断する(ステップS96)。距離が範囲rを超える場合、測定点取得部8は、ステップS97を処理することなく、ステップS98にて変数jに1加算してステップS95へと進む。一方、距離が範囲r以下である場合、測定点取得部8は、測定点Pjを圧縮測定点データ86の集合CPに含め(ステップS97)、ステップS98にて変数jに1加算してステップS95へと進む。そして、上述同様の処理を繰り返す。
一方、ステップS93にて、変数iが最確点IMの集合の要素数nより大きい場合、測定点取得部8は、ステップS96で選別された測定点Pjを含む集合CPを圧縮測定点データ86として記憶領域に出力する(ステップS99)。そして、測定点取得部8は、この処理を終了する。
圧縮測定点データ86によって示される測定点Pjにて、既存のSRAMセルにおけるトランジスタモデルに対して、トランジスタ種別毎に測定した測定値は、実測データDB83に格納される。
圧縮測定点データ86によって示される測定点Pjのみで実測すればよく、±6σの範囲で1σ毎のばらつきに応じた6591点と比べて、実測数を低減させることができ、測定時間を短縮することができる。一方、集合CPの測定点Pjの数を圧縮するのみならず、測定点の集合の刻みを細かくして最実行するようにしても良い。
上述のように選択された集合CPの測定点Pjにおいて、実測された実測値が実測データDB83に格納される。従って、動作シミュレーション処理で必要となる実測値を測定するための作業負担を軽減することができる。
上述において、設計値に対する高精度の歩留を得るために、ばらつきにより設計値からトランジスタモデルのパラメータの値を変化させることを説明したが、本実施例に係る回路設計装置100は、設計値自体が最適でない、つまり、ノイズマージンが十分大きくない場合に、設計値自体のより最適な点を求めて探索する場合にも適用可能である。最適な点を求めて探索するモデル最適化設計について図12で説明する。
図12は、本実施例に係る動作シミュレーション処理のモデル最適化設計への適用例を説明するためのフローチャート図である。図12において、図5に示すフローチャートにおいて異なる部分についてのみ説明し、同様の処理については同一の符号で示し、その説明を省略する。また、図12における最適点IM'は、最確点IMの言い換えであって、処理自体がそれによって異なるものではない。
ステップS4−2における判断処理では、ノイズマージンが設計オーダーに従った所定値より大きいか否かを判断する。所定値以下の場合、ステップS5、S6、及びS7−2が行われる。従って、探索点Mはマージンが大きくなる方向に探索して行くことになる。ここで、ステップS7−2では、再調整中心C0(図8)を決定する際には、一次微分だけでなく二次微分も求めて増分が0になる点を最適点IM'として推定する。
一方、所定値より大きい場合、最適点IM'に係る最適点データを記憶領域に出力して記憶する(ステップS8)。そして、ステップS9及びS10が行なわれる。
上述したように、動作シミュレーション処理をモデル最適化設計に適用することによって、長さ(L)、幅(W)、及び閾値(Vth)を変えてより良い歩留を探して、トランジスタモデルの設計値を変更することができる。
以上の説明に関し、更に以下の項を開示する。
(付記1)
半導体装置の動作シミュレーション方法において、コンピュータ装置が、
回路セルの複数の素子モデルの設計値を基準とした製造時のばらつき値による空間において、不良の生起確率が最大となる最確点を探索する探索手順と、
前記探索の過程において、前記複数の素子モデルと夫々の実測値との差をモデル誤差として計算する誤差計算手順と、
前記モデル誤差が所望の精度を満たさない場合、前記該複数の素子モデルを再調整するモデル再調整手順と、
前記再調整された複数の素子モデルを用いて前記最確点を中心としてサンプリングした結果に基づいて、前記半導体装置の歩留を予測する歩留予測手順と
を実行することを特徴とする半導体装置の動作シミュレーション方法。
(付記2)
前記探索手順は、設計値から所定近傍毎にノイズ許容値が最も小さくなる製造時のばらつき値を探索点として取得し、
前記誤差計算手順は、前記複数の素子モデルと前記探索点に近い実測値との差をモデル誤差として計算し、
前記モデル再調整手順は、所定の許容歩留誤差を用いた前記探索点に基づいて推定した最確点における推定歩留に基づいて、前記所望の精度となる許容誤差を計算する許容誤差計算手順を有することを特徴とする付記1記載の半導体装置の動作シミュレーション方法。
(付記3)
前記許容誤差計算手順は、前記推定した最確点を中心に最も近い実測点に相当する前記複数の素子モデルのパラメータセットによって、該複数の素子モデルを再調整することを特徴とする付記2記載の半導体装置の動作シミュレーション方法。
(付記4)
前記モデル再調整手順は、前記モデル誤差が前記許容誤差を満たさない場合、該許容誤差に収まるまで、前記推定した最確点を中心とする再調整の範囲における前記複数の素子モデルのパラメータセットを分割することを特徴とする付記3記載の半導体装置の動作シミュレーション方法。
(付記5)
前記探索手順は、前記最確点に係る最確点データを記憶領域に記憶し、
前記基準となる前記設計値から前記最確点にいたる直線上に測定する実測点を設定する測定点取得手順を更に前記コンピュータ装置が実行する付記1乃至4のいずれか一項記載の半導体装置の動作シミュレーション方法。
(付記6)
前記歩留予測手順は、
前記再調整された複数の素子モデルを用いて、前記最確点を中心とした製造時のばらつき分布でサンプリングすることによって、サンプル毎の良不良を判定するシミュレーション手順と、
前記サンプル毎の良不良の結果から歩留を計算する歩留計算手順と
を有することを特徴とする付記1乃至5のいずれか一項記載の半導体装置の動作シミュレーション方法。
(付記7)
半導体装置の動作シミュレーションを行うコンピュータ装置における測定データ取得方法において、該コンピュータ装置が、
回路セルの複数の素子モデルの設計値を基準とする製造時のばらつき値のうちの不良の生起確率が最大となる最確点を用いて、該設計値から該最確点にいたる直線上に測定する実測点を取得する測定点取得手順と、
前記実測点にて既存の回路セルの複数の素子モデルに対して測定した測定データを取得する測定値取得手順と
を実行することを特徴とする測定データ取得方法。
(付記8)
半導体装置の回路設計方法において、コンピュータ装置が、
回路セルの複数の素子モデルの設計値を基準とした製造時のばらつき値による空間において、不良の生起確率が最大となる最確点を探索する探索手順と、
前記設計値から前記最確点にいたる直線上の実測点にて測定した測定データを取得する測定データ取得手順と、
前記探索の過程において、前記複数の素子モデルと夫々の前記実測点での前記測定データで示される実測値との差をモデル誤差として計算する誤差計算手順と、
前記モデル誤差が所望の精度を満たさない場合、前記該複数の素子モデルを再調整するモデル再調整手順と、
前記再調整された複数の素子モデルを用いて前記最確点を中心としてサンプリングした結果に基づいて、前記半導体装置の歩留を予測する歩留予測手順と
を実行することを特徴とする半導体装置の回路設計方法。
(付記9)
コンピュータ装置に半導体装置の動作シミュレーションを行わせるためのコンピュータ実行可能な動作シミュレーションプログラムにおいて、該コンピュータ装置に、
回路セルの複数の素子モデルの設計値を基準とした製造時のばらつき値による空間において、不良の生起確率が最大となる最確点を探索する探索手順と、
前記探索の過程において、前記複数の素子モデルと夫々の実測値との差をモデル誤差として計算する誤差計算手順と、
前記モデル誤差が所望の精度を満たさない場合、前記複数の素子モデルを再調整するモデル再調整手順と、
前記再調整された複数の素子モデルを用いて前記最確点を中心としてサンプリングした結果に基づいて、前記半導体装置の歩留を予測する歩留予測手順と
を実行させることを特徴とするコンピュータ実行可能な動作シミュレーションプログラム。
(付記10)
コンピュータ装置に半導体装置の動作シミュレーションで用いられる測定データを取得させるコンピュータ実行可能な測定データ取得プログラムにおいて、該コンピュータ装置が、
回路セルの複数の素子モデルの設計値を基準とする製造時のばらつき値のうちの不良の生起確率が最大となる最確点を用いて、該設計値から該最確点にいたる直線上に測定する実測点を取得する測定点取得手順と、
前記実測点にて既存の回路セルの複数の素子モデルに対して測定した測定データを取得する測定値取得手順と
を実行させることを特徴とするコンピュータ実行可能な測定データ取得プログラム。
(付記11)
半導体装置の回路設計装置において、
回路セルの複数の素子モデルの設計値を基準とした製造時のばらつき値による空間において、不良の生起確率が最大となる最確点を探索する探索手段と、
前記設計値から前記最確点にいたる直線上の実測点にて測定した測定データを取得する測定データ取得手段と、
前記探索の過程において、前記複数の素子モデルと夫々の前記実測点での前記測定データで示される実測値との差をモデル誤差として計算する誤差計算手段と、
前記モデル誤差が所望の精度を満たさない場合、前記複数の素子モデルを再調整するモデル再調整手段と、
前記再調整された複数の素子モデルを用いて前記最確点を中心としてサンプリングした結果に基づいて、前記半導体装置の歩留を予測する歩留予測手段と
を有する回路設計装置。
本発明は、具体的に開示された実施例に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。
2 動作シミュレーション部
3 探索部
31 探索点マージン計算部
4 モデル誤差計算部
5 モデル再調整部
6 最確点シミュレーション部
7 歩留計算部
7r 歩留
8 測定点取得部
81 ネットリスト
82 トランジスタモデルDB
83 実測データDB
84 許容歩留誤差データ
85 最確点データ
86 圧縮測定点データ
100 回路設計装置

Claims (6)

  1. 半導体装置の動作シミュレーション方法において、コンピュータ装置が、
    回路セルの複数の素子モデルの設計値を基準とした製造時のばらつき値による空間において、不良の生起確率が最大となる最確点を探索する探索手順と、
    前記探索の過程において、前記複数の素子モデルと夫々の実測値との差をモデル誤差として計算する誤差計算手順と、
    前記モデル誤差が所望の精度を満たさない場合、前記複数の素子モデルを再調整するモデル再調整手順と、
    前記再調整された複数の素子モデルを用いて前記最確点を中心としてサンプリングした結果に基づいて、前記半導体装置の歩留を予測する歩留予測手順と
    を実行することを特徴とする半導体装置の動作シミュレーション方法。
  2. 前記探索手順は、設計値から所定近傍毎にノイズ許容値が最も小さくなる製造時のばらつき値を探索点として取得し、
    前記誤差計算手順は、前記複数の素子モデルと前記探索点に近い実測値との差をモデル誤差として計算し、
    前記モデル再調整手順は、所定の許容歩留誤差を用いた前記探索点に基づいて推定した最確点における推定歩留に基づいて、前記所望の精度となる許容誤差を計算する許容誤差計算手順を有することを特徴とする請求項1記載の半導体装置の動作シミュレーション方法。
  3. 前記許容誤差計算手順は、前記推定した最確点を中心に最も近い実測点に相当する前記複数の素子モデルのパラメータセットによって、該複数の素子モデルを再調整することを特徴とする請求項2記載の半導体装置の動作シミュレーション方法。
  4. 前記モデル再調整手順は、前記モデル誤差が前記許容誤差を満たさない場合、該許容誤差に収まるまで、前記推定した最確点を中心とする再調整の範囲における前記複数の素子モデルのパラメータセットを分割することを特徴とする請求項3記載の半導体装置の動作シミュレーション方法。
  5. 半導体装置の動作シミュレーションを行うコンピュータ装置における測定データ取得方法において、該コンピュータ装置が、
    回路セルの複数の素子モデルの設計値を基準とする製造時のばらつき値のうちの不良の生起確率が最大となる最確点を用いて、該設計値から該最確点にいたる直線上に測定する実測点を取得する測定点取得手順と、
    前記実測点にて既存の回路セルの複数の素子モデルに対して測定した測定データを取得する測定値取得手順と
    を実行することを特徴とする測定データ取得方法。
  6. 半導体装置の回路設計方法において、コンピュータ装置が、
    回路セルの複数の素子モデルの設計値を基準とした製造時のばらつき値による空間において、不良の生起確率が最大となる最確点を探索する探索手順と、
    前記設計値から前記最確点にいたる直線上の実測点にて測定した測定データを取得する測定データ取得手順と、
    前記探索の過程において、前記複数の素子モデルと夫々の前記実測点での前記測定データで示される実測値との差をモデル誤差として計算する誤差計算手順と、
    前記モデル誤差が所望の精度を満たさない場合、前記複数の素子モデルを再調整するモデル再調整手順と、
    前記再調整された複数の素子モデルを用いて前記最確点を中心としてサンプリングした結果に基づいて、前記半導体装置の歩留を予測する歩留予測手順と
    を実行することを特徴とする半導体装置の回路設計方法。
JP2009268935A 2009-11-26 2009-11-26 半導体装置の動作シミュレーション方法、測定データ取得方法、及び回路設計方法 Pending JP2011113291A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009268935A JP2011113291A (ja) 2009-11-26 2009-11-26 半導体装置の動作シミュレーション方法、測定データ取得方法、及び回路設計方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009268935A JP2011113291A (ja) 2009-11-26 2009-11-26 半導体装置の動作シミュレーション方法、測定データ取得方法、及び回路設計方法

Publications (1)

Publication Number Publication Date
JP2011113291A true JP2011113291A (ja) 2011-06-09

Family

ID=44235582

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009268935A Pending JP2011113291A (ja) 2009-11-26 2009-11-26 半導体装置の動作シミュレーション方法、測定データ取得方法、及び回路設計方法

Country Status (1)

Country Link
JP (1) JP2011113291A (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012123592A (ja) * 2010-12-08 2012-06-28 Fujitsu Ltd 最適化プログラム、装置及びプログラム
WO2013109003A1 (ko) * 2012-01-20 2013-07-25 연세대학교 산학협력단 정적 램의 수율 추정 방법 및 정적 램의 수율 추정 장치
JP2013542526A (ja) * 2010-10-27 2013-11-21 ソリド デザイン オートメーション インコーポレイティド まれな不良事象率を識別するための方法およびシステム
KR101385109B1 (ko) * 2012-01-20 2014-04-16 연세대학교 산학협력단 정적 램의 수율 추정 방법 및 정적 램의 수율 추정 장치
JP2016004421A (ja) * 2014-06-17 2016-01-12 富士通株式会社 ポストレイアウト回路の歩留まり検証方法、歩留まり検証プログラム及び歩留まり検証装置
CN109426698A (zh) * 2017-08-30 2019-03-05 三星电子株式会社 预测半导体集成电路良率的装置和半导体器件的制造方法

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013542526A (ja) * 2010-10-27 2013-11-21 ソリド デザイン オートメーション インコーポレイティド まれな不良事象率を識別するための方法およびシステム
JP2012123592A (ja) * 2010-12-08 2012-06-28 Fujitsu Ltd 最適化プログラム、装置及びプログラム
WO2013109003A1 (ko) * 2012-01-20 2013-07-25 연세대학교 산학협력단 정적 램의 수율 추정 방법 및 정적 램의 수율 추정 장치
KR101385109B1 (ko) * 2012-01-20 2014-04-16 연세대학교 산학협력단 정적 램의 수율 추정 방법 및 정적 램의 수율 추정 장치
JP2016004421A (ja) * 2014-06-17 2016-01-12 富士通株式会社 ポストレイアウト回路の歩留まり検証方法、歩留まり検証プログラム及び歩留まり検証装置
CN109426698A (zh) * 2017-08-30 2019-03-05 三星电子株式会社 预测半导体集成电路良率的装置和半导体器件的制造方法
CN109426698B (zh) * 2017-08-30 2024-02-02 三星电子株式会社 预测半导体集成电路良率的装置和半导体器件的制造方法

Similar Documents

Publication Publication Date Title
US7792595B1 (en) Method and system for enhancing the yield in semiconductor manufacturing
Srivastava et al. Accurate and efficient gate-level parametric yield estimation considering correlated variations in leakage power and performance
US8036870B2 (en) Simulation method for efficient characterization of electronic systems under variability effects
US7930123B2 (en) Method, apparatus, and computer readable medium for evaluating a sampling inspection
US6934671B2 (en) Method and system for including parametric in-line test data in simulations for improved model to hardware correlation
JP2011113291A (ja) 半導体装置の動作シミュレーション方法、測定データ取得方法、及び回路設計方法
US20120210285A1 (en) Method and apparatus for thermal analysis of through-silicon via (tsv)
TW202018548A (zh) 製造積體電路的方法以及用於設計積體電路的計算系統
JP2009543333A (ja) 集積回路の物理的レイアウトの最適化方法
JP2010034402A (ja) パターン形状予測方法
US10713405B2 (en) Parameter generation for semiconductor device trapped-charge modeling
US10789406B1 (en) Characterizing electronic component parameters including on-chip variations and moments
US8584075B2 (en) Method and apparatus for characterizing and reducing proximity effect on cell electrical characteristics
US8479126B1 (en) Parametric yield improvement flow incorporating sigma to target distance
US20160140272A1 (en) Method to measure edge-rate timing penalty of digital integrated circuits
US6356861B1 (en) Deriving statistical device models from worst-case files
US8010930B2 (en) Extracting consistent compact model parameters for related devices
CN111487384B (zh) 处理脂质含量模拟训练样品和预测掺合配方的方法和系统
US7844932B2 (en) Method to identify timing violations outside of manufacturing specification limits
JP2010079418A (ja) 統計spiceモデルパラメータ算出方法、統計spiceモデルパラメータ算出装置及びプログラム
US20090276744A1 (en) Operation timing verifying apparatus and program
US6654712B1 (en) Method to reduce skew in clock signal distribution using balanced wire widths
JP2023513754A (ja) リーク電流に統計的ばらつきをもつダイナミックランダムアクセスメモリパストランジスタの設計
CN107992287B (zh) 一种系统需求优先级排序结果的检查方法和装置
KR102395474B1 (ko) 반도체 소자의 특성 예측 방법 및 반도체 소자의 특성 예측 장치