半導体デバイスのソフトエラー率の検証方法
【課題】半導体デバイスの宇宙線中性子に起因する故障に対する耐性を短期間で確保するための宇宙線中性子ソフトエラーの解析する半導体デバイスのソフトエラー率の検証方法を提供する。
【解決手段】ユニーク番号を設定した各セルに対して、セル毎(ごと)にセル個別パラメータを登録し、乱数に基づき中性子による核破砕反応発生座標の計算を行い、生成する2次イオンの核種・エネルギー・進行方向を計算し、セル内のセル種類毎パラメータに含まれる敏感領域情報と計算した2次イオンの核種・エネルギー・飛行方向から、2次イオンの飛跡計算に基づきセル単位での記憶ノード反転エラー発生とSETパルス発生を計算し、計算したセル単位での記憶ノード反転またはSETパルスが、半導体デバイス上のロジック回路全体でソフトエラーとして顕在化するかの判定を行い、ソフトエラーとして顕在化した場合に、エラー数としてカウントし、ソフトエラー率を計算する。
【解決手段】ユニーク番号を設定した各セルに対して、セル毎(ごと)にセル個別パラメータを登録し、乱数に基づき中性子による核破砕反応発生座標の計算を行い、生成する2次イオンの核種・エネルギー・進行方向を計算し、セル内のセル種類毎パラメータに含まれる敏感領域情報と計算した2次イオンの核種・エネルギー・飛行方向から、2次イオンの飛跡計算に基づきセル単位での記憶ノード反転エラー発生とSETパルス発生を計算し、計算したセル単位での記憶ノード反転またはSETパルスが、半導体デバイス上のロジック回路全体でソフトエラーとして顕在化するかの判定を行い、ソフトエラーとして顕在化した場合に、エラー数としてカウントし、ソフトエラー率を計算する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、半導体デバイスのソフトエラーを解析するため、集積回路のスタンダードセル配置情報・スタンダードセル接続情報・冗長回路情報・スタンダードセル内冗長ノード情報を持ち、中性子入射による核破砕反応による2次イオンやα粒子の飛跡追跡と拡散層への電荷収集計算等を行い、冗長回路・ノードの効果を考慮しつつ、各種の条件でのエラー耐性の解析を行う半導体デバイスのソフトエラー率の検証方法に関し、特に宇宙線中性子によるソフトエラーの解析に関するものである。
【背景技術】
【0002】
半導体デバイスの高集積化・微細化に伴い、α粒子や宇宙線中性子によるソフトエラーが急増している。特に、1回の中性子入射により同時に複数の2次イオンが生成し、近接する複数のメモリが反転するMCU(Multi−Cell Upset)や、ロジック回路のSET(Single Event Transient)パルス起因の誤動作などの冗長化回路を無効とするエラーが急増している。
【0003】
従来、半導体デバイスレベルでソフトエラー率を検証する際に、メモリデバイスの場合、デバイス自体を用いてフィールド試験や粒子加速器・α線源などを用いる加速評価を行っていた。一方、ロジック回路の場合では、メモリ部についてのみソフトエラー率を検証し、ロジック回路部のソフトエラーは各種冗長回路等により対策を行ってきた。
【0004】
近年、半導体デバイスの高集積化が著しく進展している。高集積化に伴い、臨界電荷量は縮小傾向にあり、アルファ線や中性子線等が原因で生じるソフトエラーに対する耐性の確保が一層困難になると見られている。ソフトエラーはメモリセルやラッチ回路に記憶された情報が反転する現象である。
【0005】
メモリセルの場合、アルファ線や中性子線等により半導体装置内に発生した電荷がpn接合に本質的に付随する電場の影響により蓄積ノードに収集され、蓄積ノードに書き込まれた“1”情報が“0”情報に書き換えられるという問題であり、公知である(非特許文献1〜6参照)。
【0006】
また、ロジック回路の場合、ロジック回路に含まれるラッチ回路がメモリセルと同様の原因で反転するSEU(Single Event Upset)と、ラッチ以外の部分で発生したSETパルスが、ラッチ回路に捕らえられラッチ回路がメモリセルと同様の原因で反転するSET(Single Event Transient)パルス起因の誤動作等があり、その原理は、公知である(非特許文献7、8参照)。
【0007】
なお、以下の説明では、ラッチ回路に捕らえられる可能性のあるパルス持続時間・ピーク電圧を有するSET(Single Event Transient)パルスをSETパルスと呼称する。
【0008】
従来、ソフトエラーの評価方法としては、実デバイスによるフィールド試験・加速試験の他、例えば、特許文献1〜4に示すような、デバイスシミュレーションによるものやモンテカルロシミュレーションによるものがあった。
【0009】
ロジック回路のソフトエラーに関する発表は増えているが、評価方法自体が確立していないため、各社ともデバイスやシステムレベルでのベンチマークができていなかった。
【0010】
また、IOLTS(International On−Line Testing Symposium)2008において、iROC社がロジック回路のソフトウエアーによるSERシミュレーション手法の標準化を提案している。今後も同様の動きが予想され、シミュレーションの精度の確認・向上のための標準的な手法の確立が必要である。
【先行技術文献】
【特許文献】
【0011】
【特許文献1】特開2001−215255号公報
【特許文献2】特開2004−125633号公報
【特許文献3】特開2005−276360号公報
【特許文献4】特開2006−134938号公報
【非特許文献】
【0012】
【非特許文献1】J.F.Ziegler,IBM J.Res.Develop.,Vol.40,No.1,pp19−39
【非特許文献2】S.Huang,IEEE Trans.On Nuclear Science,Vol.47,No.6,pp.2640−2647
【非特許文献3】K.Johanssonetal.,IEEE Trans.Nuclear Science,Vol.45,No.6,pp2519−2526(1998)
【非特許文献4】H.H.K.Tang et al.,Phys.Rev.C,Vol.42,No.4,pp1598−1622(1990)
【非特許文献5】Y.Tosaka et al.,IEEE Trans.on Nuclear Science,Vol.45,No.7,pp1453−1460(1998)
【非特許文献6】伊部他、応用物理、Vol.70,No.11,pp.1308−1312 (2001)
【非特許文献7】Seifert,N.(Intel),Zhu,X.,Massengill,L.W.,“Impact of Scaling on Soft−Error Rates in Commercial Microprocessors”,TNS,Honolulu,Hawaii,July 23−27,Vol.49,No.6,pp.3100−3106 (2002)
【非特許文献8】T.Karnik,P.Hazucha and J.Patel,“Characterization of soft errors caused by single event upsets in CMOS processes”,IEEE Transm Dependable & Secure Compute.,vol.1,No.2,pp128−143,2004
【非特許文献9】J.A.Rivers,P.Bose,P.Kudva,J.−D.Wellman,P.N.Sanda,E.H.Cannon,L.C.Alves,IBM J.Res. & Dev.,Vol.52,No.3,pp.293−306(2008)
【発明の概要】
【発明が解決しようとする課題】
【0013】
プロセス微細化や動作電圧低下により、ロジック回路、例えばラッチやフリップフロツプ回路等のソフトエラーが無視できなくなってきた。ロジック回路には、様々種類の記憶素子や記憶素子に接続されているゲートが含まれているため、SEUだけでなくSETパルスもソフトエラー率に影響する。
【0014】
さらに、冗長回路等が存在するため、シミュレーションによるソフトエラー率の検証が困難である。この為、作成したデバイスによるフィールド試験や加速器による加速試験など時間と手間のかかる方法を用いてきた。
【0015】
ロジック回路のソフトエラー率を高速・簡単に検証することができる検証方法については、非特許文献9や特許文献4に記載のものなどが、提案されている。
【0016】
しかし、これらの方法は、1回の中性子入射により同時に複数の2次イオンが生成し、近接する複数のノードが反転(MNU:Multi−Node Upset)し、冗長化回路を無効とするエラーの効果を、冗長回路の配置・接続情報を元に検証することができない。
【0017】
そこで、本発明の目的は、半導体デバイスの宇宙線中性子に起因する故障に対する耐性を短期間で確保するための宇宙線中性子ソフトエラーの解析する半導体デバイスのソフトエラー率の検証方法を提供することにある。
【0018】
すなわち、冗長回路の配置・接続情報を元にロジック回路がメインとなる半導体デバイス、ロジック回路の設計用モンテカルロシミュレーション手法を提供する。
【0019】
本発明の前記ならびにその他の目的と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
【課題を解決するための手段】
【0020】
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、次の通りである。
【0021】
すなわち、代表的なものの概要は、半導体デバイスの設計に用いる複数のセルが登録されたセルライブラリに、セル種類毎にセル種類毎パラメータを登録するステップと、被検証対象である半導体デバイスに含まれる各セルのうちソフトエラー考慮対象となるセルに個別のユニーク番号を設定するステップと、ユニーク番号を設定した各セルに対して、セル毎にセル個別パラメータを登録するステップと、乱数に基づき中性子による核破砕反応発生座標の計算を行い、生成する2次イオンの核種・エネルギー・進行方向を計算するステップと、セル内のセル種類毎パラメータに含まれる敏感領域情報と計算した2次イオンの核種・エネルギー・飛行方向から、2次イオンの飛跡計算に基づきセル単位での記憶ノード反転エラー発生とSETパルス発生を計算するステップと、計算したセル単位での記憶ノード反転またはSETパルスが、半導体デバイス上のロジック回路全体でソフトエラーとして顕在化するかの判定を行うステップと、ソフトエラーとして顕在化した場合に、エラー数としてカウントするステップと、半導体デバイスの基板材料、入射中性子エネルギーとから定まる反応断面積、入射中性子のエネルギースペクトル、およびエラー数からソフトエラー率を計算するステップとを有するものである。
【発明の効果】
【0022】
本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば以下の通りである。
【0023】
すなわち、代表的なものによって得られる効果は、ロジック回路の配置・接続・動作率および冗長回路の配置・接続を考慮して、半導体デバイスのソフトエラー率を高速・簡単に検証することができる。特に、ロジック回路を含むロジックデバイス全体についてソフトエラー率を高速・簡単に検証することができる。
【図面の簡単な説明】
【0024】
【図1】本発明の実施の形態1に係る半導体デバイスのソフトエラー率の検証方法による動作を示すフローチャートである。
【図2】本発明の実施の形態1に係る半導体デバイスのソフトエラー率の検証方法が適用される半導体デバイスのセル種類毎パラメータの一例を示す図である。
【図3】本発明の実施の形態1に係る半導体デバイスのソフトエラー率の検証方法が適用される半導体デバイスの個別セル情報の一例を示す図である。
【図4】図1のフローチャートのステップS105における記憶ノード反転発生・SETパルス発生計算法の一例を示すフローチャートである。
【図5】図1のフローチャートのステップS106におけるエラー顕在化判定法の一例を示すフローチャートである。
【図6】本発明の実施の形態1に係る半導体デバイスのソフトエラー率の検証方法を適用した半導体デバイスの設計方法を示すフローチャートである。
【図7】本発明の実施の形態1に係る半導体デバイスのソフトエラー率の検証方法が適用される半導体デバイスのセルの配置がエラー率に影響を与えることを定性的に説明した図である。
【図8】本発明の実施の形態2に係る半導体デバイスのソフトエラー率の検証方法による動作を示すフローチャートである。
【図9】本発明の実施の形態2に係る半導体デバイスのソフトエラー率の検証方法が適用される半導体デバイスのセル種類毎パラメータの一例を示す図である。
【図10】本発明の実施の形態2に係る半導体デバイスのソフトエラー率の検証方法が適用される半導体デバイスの個別セル情報の一例を示す図である。
【図11】図8のフローチャートのステップS805における記憶ノード反転発生・SETパルス発生計算法の一例を示すフローチャートである。
【図12】本発明の実施の形態2に係る半導体デバイスのソフトエラー率の検証方法のエラーリストの一例を説明する図である。
【図13】図8のフローチャートのステップS809におけるSETパルスエラー顕在化判定法の一例を示すフローチャートである。
【図14】図8のフローチャートのステップS810における記憶ノード反転エラー顕在化判定法の一例を示すフローチャートである。
【図15】図14のフローチャートのステップS1404における冗長セル同時エラー判定法の一例を示すフローチャートである。
【図16】本発明の実施の形態3に係る半導体デバイスのソフトエラー率の検証方法による動作を示すフローチャートである。
【図17】本発明の実施の形態3に係る半導体デバイスのソフトエラー率の検証方法が適用される半導体デバイスのセル種類毎パラメータの一例を示す図である。
【図18】本発明の実施の形態3に係る半導体デバイスのソフトエラー率の検証方法が適用される半導体デバイスの個別セル情報の一例を示す図である。
【図19】図16のフローチャートのステップS1606とS1607の計算法の一例を示すフローチャートである。
【発明を実施するための形態】
【0025】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一の部材には原則として同一の符号を付し、その繰り返しの説明は省略する。
【0026】
(実施の形態1)
図1〜図7により、本発明の実施の形態1に係る半導体デバイスのソフトエラー率の検証方法による動作について説明する。図1は本発明の実施の形態1に係る半導体デバイスのソフトエラー率の検証方法による動作を示すフローチャート、図2は本発明の実施の形態1に係る半導体デバイスのソフトエラー率の検証方法が適用される半導体デバイスのセル種類毎パラメータの一例を示す図、図3は本発明の実施の形態1に係る半導体デバイスのソフトエラー率の検証方法が適用される半導体デバイスの個別セル情報の一例を示す図、図4は図1のフローチャートのステップS105における記憶ノード反転発生・SETパルス発生計算法の一例を示すフローチャートであり、一部の処理を示している。図5は図1のフローチャートのステップS106におけるエラー顕在化判定法の一例を示すフローチャート、図6は本発明の実施の形態1に係る半導体デバイスのソフトエラー率の検証方法を適用した半導体デバイスの設計方法を示すフローチャート、図7は本発明の実施の形態1に係る半導体デバイスのソフトエラー率の検証方法が適用される半導体デバイスのセルの配置がエラー率に影響を与えることを定性的に説明した図である。
【0027】
図1において、フローチャートの各処理は、例えば、表示部や入力部などを有する情報処理装置上でプログラムなどを動作させることにより実施されている。また、半導体デバイスの製造システムや、半導体デバイスの検査装置などに、半導体デバイスのソフトエラー率の検証方法の機能を持たせてもよい。以下の説明における各フローチャートにおいても同様である。
【0028】
図1に示すように、まず、半導体デバイスの設計に用いる複数のセルが登録されたセルライブラリに、セル種類毎に、セル種類毎パラメータを登録する(ステップS101)。被検証対象である半導体デバイスまたは回路に含まれる各セルのうち、ソフトエラー考慮対象となるセルに個別のユニーク番号を設定し、ユニーク番号を設定した各セルに対してセル毎にセル個別パラメータを登録する(ステップS102)。
【0029】
計算の進行状態から終了判定をする(ステップS103)。判定方法としては、入射中性子数、エラー数、計算時間、ユーザー指示などが使用できる。ステップS103で終了しない場合、乱数に基づき中性子による核破砕反応発生座標の計算を行い、生成する2次イオンの核種・エネルギー・進行方向等を計算する(ステップS104)。
【0030】
1回の中性子入射で複数の2次イオンが生じることがあるので、生成した2次イオンをすべて一時記憶するか、1個ずつ逐次計算する。本実施の形態では、一時記憶する例を示す。計算方法としては、非特許文献1〜6や特許文献1〜3に開示されいる各種手法が使用できる。
【0031】
セル内のセル種類毎パラメータに含まれる敏感領域情報とステップS104で計算した2次イオンの核種・エネルギー・飛行方向から2次イオンの飛跡計算に基づき、セル単位での記憶ノード反転エラー発生とSETパルス発生を計算する(ステップS105)。
【0032】
1個の2次イオンで複数の記憶ノード反転エラーおよびSETパルスが生じることがあるので、すべて一時記憶するか、1個ずつ逐次計算する。本実施の形態では、ステップS105〜S107を繰り返し逐次計算する例を示す。ステップS105で計算したセル単位での記憶ノード反転またはSETパルスが、ロジック回路全体でソフトエラーとして顕在化するかの判定を行う(ステップS106)。
【0033】
ステップS106でソフトエラーとして顕在化した場合、エラーとしてカウントする(ステップS107)。
【0034】
ステップS106、ステップS107の後、1イベントでの粒子飛跡追跡計算の終了判定をする(ステップS108)。ステップS108で1イベントでの粒子飛跡追跡計算が終了していればステップS103に戻り、ステップS108で1イベントでの粒子飛跡追跡計算が終了していなければステップS105に戻る。
【0035】
ステップS103〜S108を繰り返して、発生したソフトエラーを積算する。
【0036】
ステップS103での終了判定時に、基板材料と入射中性子エネルギーとから定まる反応断面積と入射中性子のエネルギースペクトルからソフトエラー率を計算する(ステップS109)。計算方法としては、特許文献1〜3に開示されいる各種手法が使用できる。
【0037】
以上説明した検証方法により、半導体デバイスのソフトエラー率を高速・簡単に検証することができる。
【0038】
図2において、本実施の形態での半導体デバイスのセル種類毎パラメータの一例では、セルの大きさ・セル内の敏感領域の相対座標・敏感領域の深さ・臨界電荷量・種類・冗長ノードの有無・冗長記憶ノード同時エラー率等を登録している。
【0039】
それ以外に登録する情報としては、特許文献1〜4に記載の様々なパラメータが使用できる。臨界電荷量は、記憶ノード反転またはソフトエラーを起こすレベルのSETパルスを発生させる電荷量である。
【0040】
冗長記憶ノード同時エラー率は、種類がラッチで冗長記憶ノードがある場合に、冗長記憶ノードが同時に記憶ノード反転を起こす確率である。これらのパラメータは、事前に回路シミュレータ・論理シミュレータ・実測等により決定しておく。特許文献1〜4に開示されている各種手法も使用できる。
【0041】
図3において、本実施の形態での半導体デバイスの個別セル情報の一例では、セルの座標・種類・SETパルスエラー化率・記憶ノード反転エラー化率・冗長セル有無・冗長セル同時エラー率を登録している。
【0042】
セルの種類は、セル種類毎パラメータと連結するためのパラメータであり、セルの種類から、個別セル情報のパラメータにアクセスできるようにしておく。
【0043】
SETパルスエラー化率は、該当セルにSETパルスが発生した場合、半導体デバイスにソフトエラーが顕在化する確率である。記憶ノード反転エラー化率は、該当セルにラッチが含まれる場合(冗長セルが存在する場合、冗長セルの記憶ノードも同時に反転すると見なした場合)、該当セルの記憶ノード反転により、半導体デバイスにソフトエラーが顕在化する確率である。
【0044】
冗長セル同時エラー率は、該当セルと冗長回路を構成する冗長セルがある場合に、冗長セルが同時に記憶ノード反転を起こす確率である。上記パラメータは、事前に回路シミュレータ・論理シミュレータ・実験等により決定しておく。特許文献1〜3に開示されいる各種手法も使用できる。
【0045】
図4において、図1のフローチャートのステップS105における記憶ノード反転発生・SETパルス発生計算法の一例は、まず、2次イオンの核種・エネルギー・飛行方向から飛跡計算を行い、各敏感領域の収集電荷量を計算する(図示せず)。収集電荷量の計算方法は、非特許文献1〜6や特許文献1〜4に開示されいる各種手法が使用できる。
【0046】
計算した各敏感領域の収集電荷量と各敏感領域の臨界電荷量を比較し(ステップS401)、収集電荷量<臨界電荷量の場合、ソフトエラー発生無とする(ステップS407)。ステップS401で収集電荷量>臨界電荷量であり、該当敏感領域の種類がラッチで無い場合、該当セルにおいてSETパルス発生とする(ステップS402、ステップS403)。
【0047】
ステップS401で収集電荷量>臨界電荷量であり、該当敏感領域の種類がラッチで冗長ノード無の場合、記憶ノード反転とする(ステップS404、ステップS405)。
【0048】
ステップS401で収集電荷量>臨界電荷量であり、該当敏感領域の種類がラッチで冗長ノード有の場合、乱数と冗長ノード同時エラー率を比較して記憶ノード反転が生じるか判定する(ステップS404、ステップS406)。
【0049】
各敏感領域ごとにステップS401〜S406を行いSETパルス発生と記憶ノード反転発生を積算することにより該当セルにおけるをSETパルス発生数・記憶ノード反転発生数を計算する(図示せず)。
【0050】
図5において、図1のフローチャートのステップS106におけるエラー顕在化判定法の一例は、まず、ステップS105で計算したSETパルス発生数にステップS102で設定したSETパルスエラー化率をかけてSETパルス起因ソフトエラー率を計算する(ステップS501)。
【0051】
冗長回路を構成するセルが存在しない場合、ステップS105で計算した記憶ノード反転数にステップS102で設定した記憶ノード反転エラー化率をかけて記憶ノード反転起因ソフトエラー率を計算する(ステップS502、ステップS503)。
【0052】
冗長回路を構成するセルが存在する場合、ステップS105で計算した記憶ノード反転数にステップS102で設定した記憶ノード反転エラー化率と冗長セル同時エラー率をかけて記憶ノード反転起因ソフトエラー率を計算する(ステップS502、ステップS504)。
【0053】
ステップS501で計算したSETパルス起因ソフトエラー率とステップS503またはステップS504で計算した記憶ノード反転起因ソフトエラー率を合計してソフトエラー発生率を計算し、乱数と比較して、ソフトエラー発生判定を行う(ステップS505)。
【0054】
ステップS505でソフトエラー発生率>乱数であれば、ソフトエラー顕在化とし(ステップS506)、ソフトエラー発生率>乱数でなければソフトエラー非顕在化とする(ステップS507)。
【0055】
図6において、本発明の実施の形態1に係る半導体デバイスのソフトエラー率の検証方法を適用した半導体デバイスの設計方法は、まず、半導体デバイスの設計に用いる複数のセルが登録されたセル種類毎パラメータを作成する(ステップS601)。
【0056】
次に、半導体デバイスのレイアウト・冗長回路・接続情報を作成する(ステップS602)。図1の検証方法により半導体デバイスのソフトエラー率を検証し(ステップS603)、ソフトエラー率が所定値以下かを判断する(ステップS604)。
【0057】
ステップS604でソフトエラー率が所定値以下である場合は設計を終了し、ステップS604で所定値より大きい場合は、回路・レイアウトパターンを修正し(ステップS605)、ステップS602に戻る。
【0058】
ステップS602〜S604を繰り返すことにより、ソフトエラー率が所定値以下となる回路・レイアウトパターンを得ることができる。その後、このレイアウトパターンに基づいてマスクパターンを設計し、フォトリソグラフィ等の手法を用いて半導体デバイスを製造する。
【0059】
図7において、レイアウトAは、3個の記憶回路(FF)が隣り合って存在しているため、1回の核反応で生成した複数の2次イオンにより2個以上の記憶回路(FF)に同時にエラーが出て、3重冗長系であるが出力が正しくないエラーとなりやすい。
【0060】
これに対してレイアウトBは、3個の記憶回路(FF)が互い違いに配置されているため、同様の核反応が生じた場合でも2個以上の記憶回路(FF)に同時にエラーが出にくくなり、レイアウトAよりソフトエラー耐性が高くなる。このように同一の回路でもセルの配置により冗長回路の効果が異なり、ソフトエラー率も異なる。
【0061】
(実施の形態2)
実施の形態1では、セルの配置により冗長回路の効果が異なる効果を、冗長セル同時エラー率・冗長記憶ノード同時エラー率等のパラメータとして別途計算して入力する必要がある。パラメータの計算が困難であることや、レイアウト変更毎にパラメータを再計算する必要があり、図6に示すサイクルをまわすのに時間がかかる場合があるが、実施の形態2では、これを改善したものである。
【0062】
図8〜図15により、本発明の実施の形態2に係る半導体デバイスのソフトエラー率の検証方法による動作について説明する。図8は本発明の実施の形態2に係る半導体デバイスのソフトエラー率の検証方法による動作を示すフローチャート、図9は本発明の実施の形態2に係る半導体デバイスのソフトエラー率の検証方法が適用される半導体デバイスのセル種類毎パラメータの一例を示す図、図10は本発明の実施の形態2に係る半導体デバイスのソフトエラー率の検証方法が適用される半導体デバイスの個別セル情報の一例を示す図、図11は図8のフローチャートのステップS805における記憶ノード反転発生・SETパルス発生計算法の一例を示すフローチャート、図12は本発明の実施の形態2に係る半導体デバイスのソフトエラー率の検証方法のエラーリストの一例を説明する図、図13は図8のフローチャートのステップS809におけるSETパルスエラー顕在化判定法の一例を示すフローチャート、図14は図8のフローチャートのステップS810における記憶ノード反転エラー顕在化判定法の一例を示すフローチャート、図15は図14のフローチャートのステップS1404における冗長セル同時エラー判定法の一例を示すフローチャートである。
【0063】
図8において、まず、半導体デバイスの設計に用いる複数のセルが登録されたセルライブラリに、セル種類毎に、セル種類毎パラメータを登録する(ステップS801)。被検証対象である半導体デバイスまたは回路に含まれる各セルのうち、ソフトエラー考慮対象となるセルに個別のユニーク番号を設定し、ユニーク番号を設定した各セルに対してセル毎にセル個別パラメータを登録する(ステップS802)。
【0064】
計算の進行状態から終了判定をする(ステップS803)。判定方法としては、入射中性子数、エラー数、計算時間、ユーザー指示などが使用できる。ステップS803で終了しない場合、乱数に基づき中性子による核破砕反応発生座標の計算を行い、生成する2次イオンの核種・エネルギー・進行方向等を計算する(ステップS804)。
【0065】
1回の中性子入射で複数の2次イオンが生じることがあるので、生成した2次イオンをすべて一時記憶するか、1個ずつ逐次計算する。本実施の形態では、一時記憶する例を示す。計算方法としては、実施の形態1の各種手法が使用できる。
【0066】
セル内のセル種類毎パラメータに含まれる敏感領域情報とステップS804で計算した2次イオンの核種・エネルギー・飛行方向から2次イオンの飛跡計算に基づき、1回の核反応で発生するすべてのセル内の冗長回路を考慮した記憶ノード反転とSETパルス発生を計算し、内部記憶(エラーリスト)に一時記憶する(ステップS805)。
【0067】
エラーリストにエラーがあるかを判断し(ステップS806)、ステップS806でエラーがない場合、ステップS803に戻る。
【0068】
ステップS806でエラーがある場合、エラーリストからエラーを1個読み出す(ステップS807)。ステップS807で読み出したエラーがSETパルスの場合、ロジック回路全体としてSETパルス起因ソフトエラーとして顕在化するかの判定を行う(ステップS808、ステップS809)。
【0069】
ステップS807で読み出したエラーが記憶ノード反転エラーの場合、ロジック回路全体として記憶ノード反転エラー起因ソフトエラーとして顕在化するかの判定を行う(ステップS808、ステップS810)。ソフトエラーとして顕在化した場合、エラーとしてカウントする(ステップS811、ステップS812)。
【0070】
エラー顕在化判定後に、エラー顕在化判定を行ったエラーをエラーリストから削除する(ステップS813)。ステップS803〜S813を繰り返して、発生したソフトエラーを積算する。終了判定時に、基板材料と入射中性子エネルギーとから定まる反応断面積と入射中性子のエネルギースペクトルからソフトエラー率を計算する(ステップS814)。計算方法としては、実施の形態1の各種手法が使用できる。
【0071】
以上説明した検証方法により、半導体デバイスのソフトエラー率を高速・簡単に検証することができる。
【0072】
図9において、本実施の形態での半導体デバイスのセル種類毎パラメータの一例では、セルの大きさ・セル内の敏感領域の相対座標・敏感領域の深さ・臨界電荷量・種類・冗長ノードの有無・冗長ノード番号等を登録している。
【0073】
それ以外に登録する情報としては、特許文献1〜4に記載の様々なパラメータが使用できる。臨界電荷量は、記憶ノード反転または(ソフトエラーを起こすレベルの)SETパルスを発生させる電荷量である。冗長ノード番号は、種類がラッチで冗長記憶ノードがある場合に、冗長記憶ノードを構成する敏感領域の番号である。これらのパラメータは、事前に実施の形態1と同様に計算しておく。
【0074】
図10において、本実施の形態での半導体デバイスの個別セル情報の一例では、セルの座標・種類・SETパルスエラー化率・記憶ノード反転エラー化率・冗長セル有無・冗長セル番号を登録している。
【0075】
セルの種類は、セル種類毎パラメータと連結するためのパラメータであり、セルの種類から、個別セル情報のパラメータにアクセスできるようにしておく。SETパルスエラー化率は、該当セルにSETパルスが発生した場合、半導体デバイスにソフトエラーが顕在化する確率である。
【0076】
記憶ノード反転エラー化率は、該当セルにラッチが含まれる場合(冗長セルが存在する場合、冗長セルの記憶ノードも同時に反転すると見なした場合)、該当セルの記憶ノード反転により、半導体デバイスにソフトエラーが顕在化する確率である。
【0077】
冗長セル番号は、該当セルと冗長回路を構成する冗長セルがある場合に、そのセルのユニーク番号である。これらのパラメータは、事前に実施の形態1と同様に計算しておく。
【0078】
図11において、図8のフローチャートのステップS805における記憶ノード反転発生・SETパルス発生計算法の一例は、まず、2次イオンの核種・エネルギー・飛行方向から飛跡計算を行い、各敏感領域の収集電荷量を計算する(図示せず)。
【0079】
計算した各敏感領域の収集電荷量と各敏感領域の臨界電荷量を比較し、収集電荷量<臨界電荷量の場合、ソフトエラー発生無とする(ステップS1101、ステップS1102)。収集電荷量>臨界電荷量であり、該当敏感領域の種類がラッチで無い場合、該当セルにおいてSETパルス発生とする(ステップS1103、ステップS1104)。
【0080】
収集電荷量>臨界電荷量であり、該当敏感領域の種類がラッチの場合、記憶ノード反転とする(ステップS1103、ステップS1105)。各敏感領域ごとにステップS1101〜S1105を行いSETパルス発生と記憶ノード反転発生を各セルの各敏感領域ごとに行うことにより、1個の中性子入射により生じた1回の核反応で生じた、該当半導体デバイスのおけるSETパルス発生または記憶ノード反転発生場所を、抽出したエラーリストを作成できる(図示せず)。
【0081】
図12において、エラーリストは、エラー番号、エラーが発生したセルのユニーク番号、エラーが発生した敏感領域の番号、エラーの種類等を記憶している。
【0082】
図13において、図8のフローチャートのステップS809におけるSETパルスエラー顕在化判定法の一例は、まず、ユニークセル番号から該当セルのSETパルスエラー化率を読み出して、SETパルスエラー化率を計算する(ステップS1301)。
【0083】
生成した乱数とSETパルスエラー化率を比較し(ステップS1302)、ステップS1302でSETパルスエラー化率>乱数であれば、ソフトエラー顕在化とし(ステップS1303)、SETパルスエラー化率>乱数でなければソフトエラー非顕在化とする(ステップS1304)。
【0084】
図14において、図8のフローチャートのステップS810における記憶ノード反転エラー顕在化判定法の一例は、まず、記憶ノード反転エラーが生じた敏感領域に冗長敏感領域が存在するか確認する(ステップS1401)。
【0085】
ステップS1401で冗長敏感領域が存在する場合、同時に記憶ノード反転エラーが生じているか確認する(ステップS1402)。ステップS1402で生じていない場合、記憶ノード反転エラーは、ソフトエラーとして顕在化しない(ステップS1407)。
【0086】
記憶ノード反転エラーが生じた敏感領域に冗長敏感領域が存在しない場合と冗長敏感領域が存在していても同時にエラーになっている場合、該当セルはエラーとなるので、該当セルに冗長セルが存在するか確認する(ステップS1403)。
【0087】
ステップS1403で冗長セルが存在する場合、冗長セルが同時にエラーとなるか確認する(ステップS1404)。ステップS1404で冗長セルが同時にエラーとならない場合、記憶ノード反転エラーは、ソフトエラーとして顕在化しない(ステップS1407)。
【0088】
ステップS1404で冗長セルが同時にエラーとなる場合、記憶ノード反転起因ソフトエラー発生率を該当セルの記憶ノード反転エラー化率とする(ステップS1405)。
【0089】
記憶ノード反転エラー化率と乱数を比較して(ステップS1406)、記憶ノード反転エラー化率>乱数であれば、ソフトエラー顕在化とし(ステップS1408)、記憶ノード反転エラー化率>乱数でなければソフトエラー非顕在化とする(ステップS1407)。
【0090】
図15において、図14のフローチャートのステップS1404における冗長セル同時エラー判定法の一例は、まず、冗長セルを構成する記憶ノードに対して、記憶ノード反転エラーが生じているか確認する(ステップS1501)。
【0091】
ステップS1501で記憶ノード反転エラーが生じていない場合、冗長セルは、非エラーである(ステップS1504)。ステップS1501で記憶ノード反転エラーが生じている場合、生じた敏感領域に冗長敏感領域が存在するか確認する(ステップS1502)。
【0092】
ステップS1502で冗長敏感領域が存在しない場合、冗長セルは、エラーである(ステップS1505)。ステップS1502で冗長敏感領域が存在する場合、同時にエラーが生じているか確認する(ステップS1503)。ステップS1503で生じている場合、冗長セルは、エラーである(ステップS1505)。ステップS1503で生じていない場合、冗長セルは、非エラーである(ステップS1504)。
【0093】
本実施の形態では、実施の形態1と比較して、冗長セル同時エラー率や冗長ノード同時エラー率のパラメータを必要としない。これは、冗長ノードや冗長セルの配置効果を、ステップS805〜S813で計算可能であるためである。
【0094】
レイアウト変更によりソフトエラー率を改善する場合、回路の変更を伴わないため、SETパルスエラー化率・記憶ノード反転エラー化率を再計算する必要がない。この為、本実施の形態は、図6に示すステップS603を図8の検証方法により半導体デバイスのソフトエラー率を検証することにより、実施の形態1より早く図6に示すサイクルをまわすことができる。
【0095】
(実施の形態3)
実施の形態3は、実施の形態1、2と比べて、比較的計算量が少なくなるようにしたものである。
【0096】
図16〜図19により、本発明の実施の形態3に係る半導体デバイスのソフトエラー率の検証方法による動作について説明する。図16は本発明の実施の形態3に係る半導体デバイスのソフトエラー率の検証方法による動作を示すフローチャート、図17は本発明の実施の形態3に係る半導体デバイスのソフトエラー率の検証方法が適用される半導体デバイスのセル種類毎パラメータの一例を示す図、図18は本発明の実施の形態3に係る半導体デバイスのソフトエラー率の検証方法が適用される半導体デバイスの個別セル情報の一例を示す図、図19は図16のフローチャートのステップS1606とステップS1607の計算法の一例を示すフローチャートである。
【0097】
図16において、まず、半導体デバイスの設計に用いる複数のセルが登録されたセルライブラリに、セル種類毎に、セル種類毎パラメータを登録する(ステップS1601)。被検証対象である半導体デバイスまたは回路に含まれる各セルのうち、ソフトエラー考慮対象となるセルに個別のユニーク番号を設定し、ユニーク番号を設定した各セルに対してセル毎にセル個別パラメータを登録する(ステップS1602)。
【0098】
計算の進行状態から終了判定をする(ステップS1603)。判定方法としては、入射中性子数、エラー数、計算時間、ユーザー指示などが使用できる。ステップS1603で終了しない場合、乱数に基づき中性子入射座標の計算を行う(ステップS1604)。ソフトエラー考慮対象となるセルのうち、入射中性子に対して計算対象となるセルか確認する(ステップS1605)。ソフトエラー考慮対象となるセルすべてを計算対象としても良いが、計算に時間がかかるので中性子入射座標から一定距離以下のセルのみを計算対象としても良い。
【0099】
ステップS1605で対象セルであれば、セル毎に記憶ノード反転確率とSETパルス発生確率を計算する(ステップS1606)。ステップS1606で計算した記憶ノード反転確率とSETパルス発生確率から、ロジック回路全体でソフトエラーとして顕在化するかの判定を行う(ステップS1607)。
【0100】
ステップS1607でソフトエラーとして顕在化した場合、エラーとしてカウントする(ステップS1608)。ステップS1603〜S1608を繰り返して、発生したソフトエラーを積算する。
【0101】
ステップS1603での終了判定時に、基板材料と入射中性子エネルギーとから定まる反応断面積と入射中性子のエネルギースペクトルからソフトエラー率を計算する(ステップS1609)。
【0102】
以上説明した検証方法により、半導体デバイスのソフトエラー率を高速・簡単に検証することができる。
【0103】
図17において、本実施の形態での半導体デバイスのセル種類毎パラメータの一例では、記憶ノード反転エラー確率・SETパルス発生確率を登録している。それ以外に登録する情報としては、特許文献1〜4に記載の様々なパラメータが使用できる。
【0104】
記憶ノード反転エラー確率は、セルから単位距離離れた場所に中性子が当たった場合にノード反転エラーが発生する確率である。SETパルス発生確率は、セルから単位距離離れた場所に中性子が当たった場合にソフトエラーを起こしうるレベルのSETパルスが発生する確率である。
【0105】
これらのパラメータは、事前に中性子エラーシミュレータ・回路シミュレータ・論理シミュレータ・実測等により決定しておく。特許文献1〜3に開示されいるCORIMSによる計算が有効な手法である。セル内の冗長ノードの効果もこの時点で考慮しておく。非特許文献1〜6や特許文献1〜4に開示されている各種手法も利用できる。
【0106】
図18において、本実施の形態での半導体デバイスの個別セル情報の一例では、セルの座標・種類・SETパルスエラー化率・記憶ノード反転エラー化率・冗長セル有無・冗長セル番号を登録している。
【0107】
セルの種類は、セル種類毎パラメータと連結するためのパラメータであり、セルの種類から、個別セル情報のパラメータにアクセスできるようにしておく。SETパルスエラー化率は、該当セルにSETパルスが発生した場合、半導体デバイスにソフトエラーが顕在化する確率である。
【0108】
記憶ノード反転エラー化率は、該当セルに記憶ノードが含まれる場合(冗長セルが存在する場合、冗長セルの記憶ノードも同時に反転すると見なす)、該当セルの記憶ノード反転により、半導体デバイスにソフトエラーが顕在化する確率である。上記パラメータは、事前に回路シミュレータ・論理シミュレータ・実験等により決定しておく。非特許文献1〜6や特許文献1〜4に開示されいる各種手法や様々なパラメータが使用できる。
【0109】
図19において、図16のフローチャートのステップS1606とステップS1607の計算法の一例は、まず、SETパルス起因ソフトエラー発生確率を計算する(ステップS1901)。計算方法の一例としては、SETパルス起因ソフトエラー発生確率=SETパルスエラー化係数×SETパルス発生確率×f(L)等が利用できる。
【0110】
f(L)としては、デバイスシミュレータ等から計算した値を関数で近似するのが望ましいが、簡易的にf(L)=(1/L)^3としても良い。Lは、中性子入射座標とセルの距離である。冗長回路を構成するセルの有無を確認する(ステップS1902)。
【0111】
ステップS1902で冗長回路を構成するセルが存在しない場合、記憶ノード反転起因ソフトエラー発生率を計算する(ステップS1904)。計算方法の一例としては、記憶ノード反転起因ソフトエラー発生率=記憶ノード反転エラー化率×記憶ノード反転確率×f(L)等が利用できる。
【0112】
f(L)としては、デバイスシミュレータ等から計算した値を関数で近似するのが望ましいが、簡易的にf(L)=(1/L)^3としても良い。
【0113】
ステップS1902で冗長回路を構成するセルが存在する場合、冗長回路を考慮した記憶ノード反転起因ソフトエラー発生率を計算する(ステップS1903)。冗長回路を考慮した計算方法の一例としては、計算対象セルと冗長回路を組んでいるすべての冗長セル(計算対象セルも含む)に対して冗長回路を組まない場合の記憶ノード反転起因ソフトエラー発生率を計算する。
【0114】
この確率をR(n)とする(n=0:計算対象セルn=1,…)。冗長回路を考慮した記憶ノード反転起因ソフトエラー発生率=R(0)×…×R(n)/nとする。該当セルのソフトエラー発生率を計算し、乱数と比較し(ステップS1905)、ステップS1905でソフトエラー発生率>乱数であれば、ソフトエラー顕在化とし(ステップS1906)、ソフトエラー発生率>乱数でなければソフトエラー非顕在化とする(ステップS1907)。
【0115】
各セル毎にステップS1901〜S1907の計算を行いソフトエラー発生をシミュレーションし結果を積算する。
【0116】
実施の形態1と実施の形態2は、核反応計算により生成する2次イオンを計算し各敏感領域の収集電化量を求めるなど計算量が膨大となる問題があるが、本実施の形態では、比較的計算量が少なくなる利点がある。この為、精度より時間が優先される初期段階の設計に適している。
【0117】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【産業上の利用可能性】
【0118】
本発明は、半導体デバイスのソフトエラーを解析するソフトエラー率の検証方法に関し、宇宙線中性子によるソフトエラーの解析を行う検証方法に広く適用可能である。
【技術分野】
【0001】
本発明は、半導体デバイスのソフトエラーを解析するため、集積回路のスタンダードセル配置情報・スタンダードセル接続情報・冗長回路情報・スタンダードセル内冗長ノード情報を持ち、中性子入射による核破砕反応による2次イオンやα粒子の飛跡追跡と拡散層への電荷収集計算等を行い、冗長回路・ノードの効果を考慮しつつ、各種の条件でのエラー耐性の解析を行う半導体デバイスのソフトエラー率の検証方法に関し、特に宇宙線中性子によるソフトエラーの解析に関するものである。
【背景技術】
【0002】
半導体デバイスの高集積化・微細化に伴い、α粒子や宇宙線中性子によるソフトエラーが急増している。特に、1回の中性子入射により同時に複数の2次イオンが生成し、近接する複数のメモリが反転するMCU(Multi−Cell Upset)や、ロジック回路のSET(Single Event Transient)パルス起因の誤動作などの冗長化回路を無効とするエラーが急増している。
【0003】
従来、半導体デバイスレベルでソフトエラー率を検証する際に、メモリデバイスの場合、デバイス自体を用いてフィールド試験や粒子加速器・α線源などを用いる加速評価を行っていた。一方、ロジック回路の場合では、メモリ部についてのみソフトエラー率を検証し、ロジック回路部のソフトエラーは各種冗長回路等により対策を行ってきた。
【0004】
近年、半導体デバイスの高集積化が著しく進展している。高集積化に伴い、臨界電荷量は縮小傾向にあり、アルファ線や中性子線等が原因で生じるソフトエラーに対する耐性の確保が一層困難になると見られている。ソフトエラーはメモリセルやラッチ回路に記憶された情報が反転する現象である。
【0005】
メモリセルの場合、アルファ線や中性子線等により半導体装置内に発生した電荷がpn接合に本質的に付随する電場の影響により蓄積ノードに収集され、蓄積ノードに書き込まれた“1”情報が“0”情報に書き換えられるという問題であり、公知である(非特許文献1〜6参照)。
【0006】
また、ロジック回路の場合、ロジック回路に含まれるラッチ回路がメモリセルと同様の原因で反転するSEU(Single Event Upset)と、ラッチ以外の部分で発生したSETパルスが、ラッチ回路に捕らえられラッチ回路がメモリセルと同様の原因で反転するSET(Single Event Transient)パルス起因の誤動作等があり、その原理は、公知である(非特許文献7、8参照)。
【0007】
なお、以下の説明では、ラッチ回路に捕らえられる可能性のあるパルス持続時間・ピーク電圧を有するSET(Single Event Transient)パルスをSETパルスと呼称する。
【0008】
従来、ソフトエラーの評価方法としては、実デバイスによるフィールド試験・加速試験の他、例えば、特許文献1〜4に示すような、デバイスシミュレーションによるものやモンテカルロシミュレーションによるものがあった。
【0009】
ロジック回路のソフトエラーに関する発表は増えているが、評価方法自体が確立していないため、各社ともデバイスやシステムレベルでのベンチマークができていなかった。
【0010】
また、IOLTS(International On−Line Testing Symposium)2008において、iROC社がロジック回路のソフトウエアーによるSERシミュレーション手法の標準化を提案している。今後も同様の動きが予想され、シミュレーションの精度の確認・向上のための標準的な手法の確立が必要である。
【先行技術文献】
【特許文献】
【0011】
【特許文献1】特開2001−215255号公報
【特許文献2】特開2004−125633号公報
【特許文献3】特開2005−276360号公報
【特許文献4】特開2006−134938号公報
【非特許文献】
【0012】
【非特許文献1】J.F.Ziegler,IBM J.Res.Develop.,Vol.40,No.1,pp19−39
【非特許文献2】S.Huang,IEEE Trans.On Nuclear Science,Vol.47,No.6,pp.2640−2647
【非特許文献3】K.Johanssonetal.,IEEE Trans.Nuclear Science,Vol.45,No.6,pp2519−2526(1998)
【非特許文献4】H.H.K.Tang et al.,Phys.Rev.C,Vol.42,No.4,pp1598−1622(1990)
【非特許文献5】Y.Tosaka et al.,IEEE Trans.on Nuclear Science,Vol.45,No.7,pp1453−1460(1998)
【非特許文献6】伊部他、応用物理、Vol.70,No.11,pp.1308−1312 (2001)
【非特許文献7】Seifert,N.(Intel),Zhu,X.,Massengill,L.W.,“Impact of Scaling on Soft−Error Rates in Commercial Microprocessors”,TNS,Honolulu,Hawaii,July 23−27,Vol.49,No.6,pp.3100−3106 (2002)
【非特許文献8】T.Karnik,P.Hazucha and J.Patel,“Characterization of soft errors caused by single event upsets in CMOS processes”,IEEE Transm Dependable & Secure Compute.,vol.1,No.2,pp128−143,2004
【非特許文献9】J.A.Rivers,P.Bose,P.Kudva,J.−D.Wellman,P.N.Sanda,E.H.Cannon,L.C.Alves,IBM J.Res. & Dev.,Vol.52,No.3,pp.293−306(2008)
【発明の概要】
【発明が解決しようとする課題】
【0013】
プロセス微細化や動作電圧低下により、ロジック回路、例えばラッチやフリップフロツプ回路等のソフトエラーが無視できなくなってきた。ロジック回路には、様々種類の記憶素子や記憶素子に接続されているゲートが含まれているため、SEUだけでなくSETパルスもソフトエラー率に影響する。
【0014】
さらに、冗長回路等が存在するため、シミュレーションによるソフトエラー率の検証が困難である。この為、作成したデバイスによるフィールド試験や加速器による加速試験など時間と手間のかかる方法を用いてきた。
【0015】
ロジック回路のソフトエラー率を高速・簡単に検証することができる検証方法については、非特許文献9や特許文献4に記載のものなどが、提案されている。
【0016】
しかし、これらの方法は、1回の中性子入射により同時に複数の2次イオンが生成し、近接する複数のノードが反転(MNU:Multi−Node Upset)し、冗長化回路を無効とするエラーの効果を、冗長回路の配置・接続情報を元に検証することができない。
【0017】
そこで、本発明の目的は、半導体デバイスの宇宙線中性子に起因する故障に対する耐性を短期間で確保するための宇宙線中性子ソフトエラーの解析する半導体デバイスのソフトエラー率の検証方法を提供することにある。
【0018】
すなわち、冗長回路の配置・接続情報を元にロジック回路がメインとなる半導体デバイス、ロジック回路の設計用モンテカルロシミュレーション手法を提供する。
【0019】
本発明の前記ならびにその他の目的と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
【課題を解決するための手段】
【0020】
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、次の通りである。
【0021】
すなわち、代表的なものの概要は、半導体デバイスの設計に用いる複数のセルが登録されたセルライブラリに、セル種類毎にセル種類毎パラメータを登録するステップと、被検証対象である半導体デバイスに含まれる各セルのうちソフトエラー考慮対象となるセルに個別のユニーク番号を設定するステップと、ユニーク番号を設定した各セルに対して、セル毎にセル個別パラメータを登録するステップと、乱数に基づき中性子による核破砕反応発生座標の計算を行い、生成する2次イオンの核種・エネルギー・進行方向を計算するステップと、セル内のセル種類毎パラメータに含まれる敏感領域情報と計算した2次イオンの核種・エネルギー・飛行方向から、2次イオンの飛跡計算に基づきセル単位での記憶ノード反転エラー発生とSETパルス発生を計算するステップと、計算したセル単位での記憶ノード反転またはSETパルスが、半導体デバイス上のロジック回路全体でソフトエラーとして顕在化するかの判定を行うステップと、ソフトエラーとして顕在化した場合に、エラー数としてカウントするステップと、半導体デバイスの基板材料、入射中性子エネルギーとから定まる反応断面積、入射中性子のエネルギースペクトル、およびエラー数からソフトエラー率を計算するステップとを有するものである。
【発明の効果】
【0022】
本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば以下の通りである。
【0023】
すなわち、代表的なものによって得られる効果は、ロジック回路の配置・接続・動作率および冗長回路の配置・接続を考慮して、半導体デバイスのソフトエラー率を高速・簡単に検証することができる。特に、ロジック回路を含むロジックデバイス全体についてソフトエラー率を高速・簡単に検証することができる。
【図面の簡単な説明】
【0024】
【図1】本発明の実施の形態1に係る半導体デバイスのソフトエラー率の検証方法による動作を示すフローチャートである。
【図2】本発明の実施の形態1に係る半導体デバイスのソフトエラー率の検証方法が適用される半導体デバイスのセル種類毎パラメータの一例を示す図である。
【図3】本発明の実施の形態1に係る半導体デバイスのソフトエラー率の検証方法が適用される半導体デバイスの個別セル情報の一例を示す図である。
【図4】図1のフローチャートのステップS105における記憶ノード反転発生・SETパルス発生計算法の一例を示すフローチャートである。
【図5】図1のフローチャートのステップS106におけるエラー顕在化判定法の一例を示すフローチャートである。
【図6】本発明の実施の形態1に係る半導体デバイスのソフトエラー率の検証方法を適用した半導体デバイスの設計方法を示すフローチャートである。
【図7】本発明の実施の形態1に係る半導体デバイスのソフトエラー率の検証方法が適用される半導体デバイスのセルの配置がエラー率に影響を与えることを定性的に説明した図である。
【図8】本発明の実施の形態2に係る半導体デバイスのソフトエラー率の検証方法による動作を示すフローチャートである。
【図9】本発明の実施の形態2に係る半導体デバイスのソフトエラー率の検証方法が適用される半導体デバイスのセル種類毎パラメータの一例を示す図である。
【図10】本発明の実施の形態2に係る半導体デバイスのソフトエラー率の検証方法が適用される半導体デバイスの個別セル情報の一例を示す図である。
【図11】図8のフローチャートのステップS805における記憶ノード反転発生・SETパルス発生計算法の一例を示すフローチャートである。
【図12】本発明の実施の形態2に係る半導体デバイスのソフトエラー率の検証方法のエラーリストの一例を説明する図である。
【図13】図8のフローチャートのステップS809におけるSETパルスエラー顕在化判定法の一例を示すフローチャートである。
【図14】図8のフローチャートのステップS810における記憶ノード反転エラー顕在化判定法の一例を示すフローチャートである。
【図15】図14のフローチャートのステップS1404における冗長セル同時エラー判定法の一例を示すフローチャートである。
【図16】本発明の実施の形態3に係る半導体デバイスのソフトエラー率の検証方法による動作を示すフローチャートである。
【図17】本発明の実施の形態3に係る半導体デバイスのソフトエラー率の検証方法が適用される半導体デバイスのセル種類毎パラメータの一例を示す図である。
【図18】本発明の実施の形態3に係る半導体デバイスのソフトエラー率の検証方法が適用される半導体デバイスの個別セル情報の一例を示す図である。
【図19】図16のフローチャートのステップS1606とS1607の計算法の一例を示すフローチャートである。
【発明を実施するための形態】
【0025】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一の部材には原則として同一の符号を付し、その繰り返しの説明は省略する。
【0026】
(実施の形態1)
図1〜図7により、本発明の実施の形態1に係る半導体デバイスのソフトエラー率の検証方法による動作について説明する。図1は本発明の実施の形態1に係る半導体デバイスのソフトエラー率の検証方法による動作を示すフローチャート、図2は本発明の実施の形態1に係る半導体デバイスのソフトエラー率の検証方法が適用される半導体デバイスのセル種類毎パラメータの一例を示す図、図3は本発明の実施の形態1に係る半導体デバイスのソフトエラー率の検証方法が適用される半導体デバイスの個別セル情報の一例を示す図、図4は図1のフローチャートのステップS105における記憶ノード反転発生・SETパルス発生計算法の一例を示すフローチャートであり、一部の処理を示している。図5は図1のフローチャートのステップS106におけるエラー顕在化判定法の一例を示すフローチャート、図6は本発明の実施の形態1に係る半導体デバイスのソフトエラー率の検証方法を適用した半導体デバイスの設計方法を示すフローチャート、図7は本発明の実施の形態1に係る半導体デバイスのソフトエラー率の検証方法が適用される半導体デバイスのセルの配置がエラー率に影響を与えることを定性的に説明した図である。
【0027】
図1において、フローチャートの各処理は、例えば、表示部や入力部などを有する情報処理装置上でプログラムなどを動作させることにより実施されている。また、半導体デバイスの製造システムや、半導体デバイスの検査装置などに、半導体デバイスのソフトエラー率の検証方法の機能を持たせてもよい。以下の説明における各フローチャートにおいても同様である。
【0028】
図1に示すように、まず、半導体デバイスの設計に用いる複数のセルが登録されたセルライブラリに、セル種類毎に、セル種類毎パラメータを登録する(ステップS101)。被検証対象である半導体デバイスまたは回路に含まれる各セルのうち、ソフトエラー考慮対象となるセルに個別のユニーク番号を設定し、ユニーク番号を設定した各セルに対してセル毎にセル個別パラメータを登録する(ステップS102)。
【0029】
計算の進行状態から終了判定をする(ステップS103)。判定方法としては、入射中性子数、エラー数、計算時間、ユーザー指示などが使用できる。ステップS103で終了しない場合、乱数に基づき中性子による核破砕反応発生座標の計算を行い、生成する2次イオンの核種・エネルギー・進行方向等を計算する(ステップS104)。
【0030】
1回の中性子入射で複数の2次イオンが生じることがあるので、生成した2次イオンをすべて一時記憶するか、1個ずつ逐次計算する。本実施の形態では、一時記憶する例を示す。計算方法としては、非特許文献1〜6や特許文献1〜3に開示されいる各種手法が使用できる。
【0031】
セル内のセル種類毎パラメータに含まれる敏感領域情報とステップS104で計算した2次イオンの核種・エネルギー・飛行方向から2次イオンの飛跡計算に基づき、セル単位での記憶ノード反転エラー発生とSETパルス発生を計算する(ステップS105)。
【0032】
1個の2次イオンで複数の記憶ノード反転エラーおよびSETパルスが生じることがあるので、すべて一時記憶するか、1個ずつ逐次計算する。本実施の形態では、ステップS105〜S107を繰り返し逐次計算する例を示す。ステップS105で計算したセル単位での記憶ノード反転またはSETパルスが、ロジック回路全体でソフトエラーとして顕在化するかの判定を行う(ステップS106)。
【0033】
ステップS106でソフトエラーとして顕在化した場合、エラーとしてカウントする(ステップS107)。
【0034】
ステップS106、ステップS107の後、1イベントでの粒子飛跡追跡計算の終了判定をする(ステップS108)。ステップS108で1イベントでの粒子飛跡追跡計算が終了していればステップS103に戻り、ステップS108で1イベントでの粒子飛跡追跡計算が終了していなければステップS105に戻る。
【0035】
ステップS103〜S108を繰り返して、発生したソフトエラーを積算する。
【0036】
ステップS103での終了判定時に、基板材料と入射中性子エネルギーとから定まる反応断面積と入射中性子のエネルギースペクトルからソフトエラー率を計算する(ステップS109)。計算方法としては、特許文献1〜3に開示されいる各種手法が使用できる。
【0037】
以上説明した検証方法により、半導体デバイスのソフトエラー率を高速・簡単に検証することができる。
【0038】
図2において、本実施の形態での半導体デバイスのセル種類毎パラメータの一例では、セルの大きさ・セル内の敏感領域の相対座標・敏感領域の深さ・臨界電荷量・種類・冗長ノードの有無・冗長記憶ノード同時エラー率等を登録している。
【0039】
それ以外に登録する情報としては、特許文献1〜4に記載の様々なパラメータが使用できる。臨界電荷量は、記憶ノード反転またはソフトエラーを起こすレベルのSETパルスを発生させる電荷量である。
【0040】
冗長記憶ノード同時エラー率は、種類がラッチで冗長記憶ノードがある場合に、冗長記憶ノードが同時に記憶ノード反転を起こす確率である。これらのパラメータは、事前に回路シミュレータ・論理シミュレータ・実測等により決定しておく。特許文献1〜4に開示されている各種手法も使用できる。
【0041】
図3において、本実施の形態での半導体デバイスの個別セル情報の一例では、セルの座標・種類・SETパルスエラー化率・記憶ノード反転エラー化率・冗長セル有無・冗長セル同時エラー率を登録している。
【0042】
セルの種類は、セル種類毎パラメータと連結するためのパラメータであり、セルの種類から、個別セル情報のパラメータにアクセスできるようにしておく。
【0043】
SETパルスエラー化率は、該当セルにSETパルスが発生した場合、半導体デバイスにソフトエラーが顕在化する確率である。記憶ノード反転エラー化率は、該当セルにラッチが含まれる場合(冗長セルが存在する場合、冗長セルの記憶ノードも同時に反転すると見なした場合)、該当セルの記憶ノード反転により、半導体デバイスにソフトエラーが顕在化する確率である。
【0044】
冗長セル同時エラー率は、該当セルと冗長回路を構成する冗長セルがある場合に、冗長セルが同時に記憶ノード反転を起こす確率である。上記パラメータは、事前に回路シミュレータ・論理シミュレータ・実験等により決定しておく。特許文献1〜3に開示されいる各種手法も使用できる。
【0045】
図4において、図1のフローチャートのステップS105における記憶ノード反転発生・SETパルス発生計算法の一例は、まず、2次イオンの核種・エネルギー・飛行方向から飛跡計算を行い、各敏感領域の収集電荷量を計算する(図示せず)。収集電荷量の計算方法は、非特許文献1〜6や特許文献1〜4に開示されいる各種手法が使用できる。
【0046】
計算した各敏感領域の収集電荷量と各敏感領域の臨界電荷量を比較し(ステップS401)、収集電荷量<臨界電荷量の場合、ソフトエラー発生無とする(ステップS407)。ステップS401で収集電荷量>臨界電荷量であり、該当敏感領域の種類がラッチで無い場合、該当セルにおいてSETパルス発生とする(ステップS402、ステップS403)。
【0047】
ステップS401で収集電荷量>臨界電荷量であり、該当敏感領域の種類がラッチで冗長ノード無の場合、記憶ノード反転とする(ステップS404、ステップS405)。
【0048】
ステップS401で収集電荷量>臨界電荷量であり、該当敏感領域の種類がラッチで冗長ノード有の場合、乱数と冗長ノード同時エラー率を比較して記憶ノード反転が生じるか判定する(ステップS404、ステップS406)。
【0049】
各敏感領域ごとにステップS401〜S406を行いSETパルス発生と記憶ノード反転発生を積算することにより該当セルにおけるをSETパルス発生数・記憶ノード反転発生数を計算する(図示せず)。
【0050】
図5において、図1のフローチャートのステップS106におけるエラー顕在化判定法の一例は、まず、ステップS105で計算したSETパルス発生数にステップS102で設定したSETパルスエラー化率をかけてSETパルス起因ソフトエラー率を計算する(ステップS501)。
【0051】
冗長回路を構成するセルが存在しない場合、ステップS105で計算した記憶ノード反転数にステップS102で設定した記憶ノード反転エラー化率をかけて記憶ノード反転起因ソフトエラー率を計算する(ステップS502、ステップS503)。
【0052】
冗長回路を構成するセルが存在する場合、ステップS105で計算した記憶ノード反転数にステップS102で設定した記憶ノード反転エラー化率と冗長セル同時エラー率をかけて記憶ノード反転起因ソフトエラー率を計算する(ステップS502、ステップS504)。
【0053】
ステップS501で計算したSETパルス起因ソフトエラー率とステップS503またはステップS504で計算した記憶ノード反転起因ソフトエラー率を合計してソフトエラー発生率を計算し、乱数と比較して、ソフトエラー発生判定を行う(ステップS505)。
【0054】
ステップS505でソフトエラー発生率>乱数であれば、ソフトエラー顕在化とし(ステップS506)、ソフトエラー発生率>乱数でなければソフトエラー非顕在化とする(ステップS507)。
【0055】
図6において、本発明の実施の形態1に係る半導体デバイスのソフトエラー率の検証方法を適用した半導体デバイスの設計方法は、まず、半導体デバイスの設計に用いる複数のセルが登録されたセル種類毎パラメータを作成する(ステップS601)。
【0056】
次に、半導体デバイスのレイアウト・冗長回路・接続情報を作成する(ステップS602)。図1の検証方法により半導体デバイスのソフトエラー率を検証し(ステップS603)、ソフトエラー率が所定値以下かを判断する(ステップS604)。
【0057】
ステップS604でソフトエラー率が所定値以下である場合は設計を終了し、ステップS604で所定値より大きい場合は、回路・レイアウトパターンを修正し(ステップS605)、ステップS602に戻る。
【0058】
ステップS602〜S604を繰り返すことにより、ソフトエラー率が所定値以下となる回路・レイアウトパターンを得ることができる。その後、このレイアウトパターンに基づいてマスクパターンを設計し、フォトリソグラフィ等の手法を用いて半導体デバイスを製造する。
【0059】
図7において、レイアウトAは、3個の記憶回路(FF)が隣り合って存在しているため、1回の核反応で生成した複数の2次イオンにより2個以上の記憶回路(FF)に同時にエラーが出て、3重冗長系であるが出力が正しくないエラーとなりやすい。
【0060】
これに対してレイアウトBは、3個の記憶回路(FF)が互い違いに配置されているため、同様の核反応が生じた場合でも2個以上の記憶回路(FF)に同時にエラーが出にくくなり、レイアウトAよりソフトエラー耐性が高くなる。このように同一の回路でもセルの配置により冗長回路の効果が異なり、ソフトエラー率も異なる。
【0061】
(実施の形態2)
実施の形態1では、セルの配置により冗長回路の効果が異なる効果を、冗長セル同時エラー率・冗長記憶ノード同時エラー率等のパラメータとして別途計算して入力する必要がある。パラメータの計算が困難であることや、レイアウト変更毎にパラメータを再計算する必要があり、図6に示すサイクルをまわすのに時間がかかる場合があるが、実施の形態2では、これを改善したものである。
【0062】
図8〜図15により、本発明の実施の形態2に係る半導体デバイスのソフトエラー率の検証方法による動作について説明する。図8は本発明の実施の形態2に係る半導体デバイスのソフトエラー率の検証方法による動作を示すフローチャート、図9は本発明の実施の形態2に係る半導体デバイスのソフトエラー率の検証方法が適用される半導体デバイスのセル種類毎パラメータの一例を示す図、図10は本発明の実施の形態2に係る半導体デバイスのソフトエラー率の検証方法が適用される半導体デバイスの個別セル情報の一例を示す図、図11は図8のフローチャートのステップS805における記憶ノード反転発生・SETパルス発生計算法の一例を示すフローチャート、図12は本発明の実施の形態2に係る半導体デバイスのソフトエラー率の検証方法のエラーリストの一例を説明する図、図13は図8のフローチャートのステップS809におけるSETパルスエラー顕在化判定法の一例を示すフローチャート、図14は図8のフローチャートのステップS810における記憶ノード反転エラー顕在化判定法の一例を示すフローチャート、図15は図14のフローチャートのステップS1404における冗長セル同時エラー判定法の一例を示すフローチャートである。
【0063】
図8において、まず、半導体デバイスの設計に用いる複数のセルが登録されたセルライブラリに、セル種類毎に、セル種類毎パラメータを登録する(ステップS801)。被検証対象である半導体デバイスまたは回路に含まれる各セルのうち、ソフトエラー考慮対象となるセルに個別のユニーク番号を設定し、ユニーク番号を設定した各セルに対してセル毎にセル個別パラメータを登録する(ステップS802)。
【0064】
計算の進行状態から終了判定をする(ステップS803)。判定方法としては、入射中性子数、エラー数、計算時間、ユーザー指示などが使用できる。ステップS803で終了しない場合、乱数に基づき中性子による核破砕反応発生座標の計算を行い、生成する2次イオンの核種・エネルギー・進行方向等を計算する(ステップS804)。
【0065】
1回の中性子入射で複数の2次イオンが生じることがあるので、生成した2次イオンをすべて一時記憶するか、1個ずつ逐次計算する。本実施の形態では、一時記憶する例を示す。計算方法としては、実施の形態1の各種手法が使用できる。
【0066】
セル内のセル種類毎パラメータに含まれる敏感領域情報とステップS804で計算した2次イオンの核種・エネルギー・飛行方向から2次イオンの飛跡計算に基づき、1回の核反応で発生するすべてのセル内の冗長回路を考慮した記憶ノード反転とSETパルス発生を計算し、内部記憶(エラーリスト)に一時記憶する(ステップS805)。
【0067】
エラーリストにエラーがあるかを判断し(ステップS806)、ステップS806でエラーがない場合、ステップS803に戻る。
【0068】
ステップS806でエラーがある場合、エラーリストからエラーを1個読み出す(ステップS807)。ステップS807で読み出したエラーがSETパルスの場合、ロジック回路全体としてSETパルス起因ソフトエラーとして顕在化するかの判定を行う(ステップS808、ステップS809)。
【0069】
ステップS807で読み出したエラーが記憶ノード反転エラーの場合、ロジック回路全体として記憶ノード反転エラー起因ソフトエラーとして顕在化するかの判定を行う(ステップS808、ステップS810)。ソフトエラーとして顕在化した場合、エラーとしてカウントする(ステップS811、ステップS812)。
【0070】
エラー顕在化判定後に、エラー顕在化判定を行ったエラーをエラーリストから削除する(ステップS813)。ステップS803〜S813を繰り返して、発生したソフトエラーを積算する。終了判定時に、基板材料と入射中性子エネルギーとから定まる反応断面積と入射中性子のエネルギースペクトルからソフトエラー率を計算する(ステップS814)。計算方法としては、実施の形態1の各種手法が使用できる。
【0071】
以上説明した検証方法により、半導体デバイスのソフトエラー率を高速・簡単に検証することができる。
【0072】
図9において、本実施の形態での半導体デバイスのセル種類毎パラメータの一例では、セルの大きさ・セル内の敏感領域の相対座標・敏感領域の深さ・臨界電荷量・種類・冗長ノードの有無・冗長ノード番号等を登録している。
【0073】
それ以外に登録する情報としては、特許文献1〜4に記載の様々なパラメータが使用できる。臨界電荷量は、記憶ノード反転または(ソフトエラーを起こすレベルの)SETパルスを発生させる電荷量である。冗長ノード番号は、種類がラッチで冗長記憶ノードがある場合に、冗長記憶ノードを構成する敏感領域の番号である。これらのパラメータは、事前に実施の形態1と同様に計算しておく。
【0074】
図10において、本実施の形態での半導体デバイスの個別セル情報の一例では、セルの座標・種類・SETパルスエラー化率・記憶ノード反転エラー化率・冗長セル有無・冗長セル番号を登録している。
【0075】
セルの種類は、セル種類毎パラメータと連結するためのパラメータであり、セルの種類から、個別セル情報のパラメータにアクセスできるようにしておく。SETパルスエラー化率は、該当セルにSETパルスが発生した場合、半導体デバイスにソフトエラーが顕在化する確率である。
【0076】
記憶ノード反転エラー化率は、該当セルにラッチが含まれる場合(冗長セルが存在する場合、冗長セルの記憶ノードも同時に反転すると見なした場合)、該当セルの記憶ノード反転により、半導体デバイスにソフトエラーが顕在化する確率である。
【0077】
冗長セル番号は、該当セルと冗長回路を構成する冗長セルがある場合に、そのセルのユニーク番号である。これらのパラメータは、事前に実施の形態1と同様に計算しておく。
【0078】
図11において、図8のフローチャートのステップS805における記憶ノード反転発生・SETパルス発生計算法の一例は、まず、2次イオンの核種・エネルギー・飛行方向から飛跡計算を行い、各敏感領域の収集電荷量を計算する(図示せず)。
【0079】
計算した各敏感領域の収集電荷量と各敏感領域の臨界電荷量を比較し、収集電荷量<臨界電荷量の場合、ソフトエラー発生無とする(ステップS1101、ステップS1102)。収集電荷量>臨界電荷量であり、該当敏感領域の種類がラッチで無い場合、該当セルにおいてSETパルス発生とする(ステップS1103、ステップS1104)。
【0080】
収集電荷量>臨界電荷量であり、該当敏感領域の種類がラッチの場合、記憶ノード反転とする(ステップS1103、ステップS1105)。各敏感領域ごとにステップS1101〜S1105を行いSETパルス発生と記憶ノード反転発生を各セルの各敏感領域ごとに行うことにより、1個の中性子入射により生じた1回の核反応で生じた、該当半導体デバイスのおけるSETパルス発生または記憶ノード反転発生場所を、抽出したエラーリストを作成できる(図示せず)。
【0081】
図12において、エラーリストは、エラー番号、エラーが発生したセルのユニーク番号、エラーが発生した敏感領域の番号、エラーの種類等を記憶している。
【0082】
図13において、図8のフローチャートのステップS809におけるSETパルスエラー顕在化判定法の一例は、まず、ユニークセル番号から該当セルのSETパルスエラー化率を読み出して、SETパルスエラー化率を計算する(ステップS1301)。
【0083】
生成した乱数とSETパルスエラー化率を比較し(ステップS1302)、ステップS1302でSETパルスエラー化率>乱数であれば、ソフトエラー顕在化とし(ステップS1303)、SETパルスエラー化率>乱数でなければソフトエラー非顕在化とする(ステップS1304)。
【0084】
図14において、図8のフローチャートのステップS810における記憶ノード反転エラー顕在化判定法の一例は、まず、記憶ノード反転エラーが生じた敏感領域に冗長敏感領域が存在するか確認する(ステップS1401)。
【0085】
ステップS1401で冗長敏感領域が存在する場合、同時に記憶ノード反転エラーが生じているか確認する(ステップS1402)。ステップS1402で生じていない場合、記憶ノード反転エラーは、ソフトエラーとして顕在化しない(ステップS1407)。
【0086】
記憶ノード反転エラーが生じた敏感領域に冗長敏感領域が存在しない場合と冗長敏感領域が存在していても同時にエラーになっている場合、該当セルはエラーとなるので、該当セルに冗長セルが存在するか確認する(ステップS1403)。
【0087】
ステップS1403で冗長セルが存在する場合、冗長セルが同時にエラーとなるか確認する(ステップS1404)。ステップS1404で冗長セルが同時にエラーとならない場合、記憶ノード反転エラーは、ソフトエラーとして顕在化しない(ステップS1407)。
【0088】
ステップS1404で冗長セルが同時にエラーとなる場合、記憶ノード反転起因ソフトエラー発生率を該当セルの記憶ノード反転エラー化率とする(ステップS1405)。
【0089】
記憶ノード反転エラー化率と乱数を比較して(ステップS1406)、記憶ノード反転エラー化率>乱数であれば、ソフトエラー顕在化とし(ステップS1408)、記憶ノード反転エラー化率>乱数でなければソフトエラー非顕在化とする(ステップS1407)。
【0090】
図15において、図14のフローチャートのステップS1404における冗長セル同時エラー判定法の一例は、まず、冗長セルを構成する記憶ノードに対して、記憶ノード反転エラーが生じているか確認する(ステップS1501)。
【0091】
ステップS1501で記憶ノード反転エラーが生じていない場合、冗長セルは、非エラーである(ステップS1504)。ステップS1501で記憶ノード反転エラーが生じている場合、生じた敏感領域に冗長敏感領域が存在するか確認する(ステップS1502)。
【0092】
ステップS1502で冗長敏感領域が存在しない場合、冗長セルは、エラーである(ステップS1505)。ステップS1502で冗長敏感領域が存在する場合、同時にエラーが生じているか確認する(ステップS1503)。ステップS1503で生じている場合、冗長セルは、エラーである(ステップS1505)。ステップS1503で生じていない場合、冗長セルは、非エラーである(ステップS1504)。
【0093】
本実施の形態では、実施の形態1と比較して、冗長セル同時エラー率や冗長ノード同時エラー率のパラメータを必要としない。これは、冗長ノードや冗長セルの配置効果を、ステップS805〜S813で計算可能であるためである。
【0094】
レイアウト変更によりソフトエラー率を改善する場合、回路の変更を伴わないため、SETパルスエラー化率・記憶ノード反転エラー化率を再計算する必要がない。この為、本実施の形態は、図6に示すステップS603を図8の検証方法により半導体デバイスのソフトエラー率を検証することにより、実施の形態1より早く図6に示すサイクルをまわすことができる。
【0095】
(実施の形態3)
実施の形態3は、実施の形態1、2と比べて、比較的計算量が少なくなるようにしたものである。
【0096】
図16〜図19により、本発明の実施の形態3に係る半導体デバイスのソフトエラー率の検証方法による動作について説明する。図16は本発明の実施の形態3に係る半導体デバイスのソフトエラー率の検証方法による動作を示すフローチャート、図17は本発明の実施の形態3に係る半導体デバイスのソフトエラー率の検証方法が適用される半導体デバイスのセル種類毎パラメータの一例を示す図、図18は本発明の実施の形態3に係る半導体デバイスのソフトエラー率の検証方法が適用される半導体デバイスの個別セル情報の一例を示す図、図19は図16のフローチャートのステップS1606とステップS1607の計算法の一例を示すフローチャートである。
【0097】
図16において、まず、半導体デバイスの設計に用いる複数のセルが登録されたセルライブラリに、セル種類毎に、セル種類毎パラメータを登録する(ステップS1601)。被検証対象である半導体デバイスまたは回路に含まれる各セルのうち、ソフトエラー考慮対象となるセルに個別のユニーク番号を設定し、ユニーク番号を設定した各セルに対してセル毎にセル個別パラメータを登録する(ステップS1602)。
【0098】
計算の進行状態から終了判定をする(ステップS1603)。判定方法としては、入射中性子数、エラー数、計算時間、ユーザー指示などが使用できる。ステップS1603で終了しない場合、乱数に基づき中性子入射座標の計算を行う(ステップS1604)。ソフトエラー考慮対象となるセルのうち、入射中性子に対して計算対象となるセルか確認する(ステップS1605)。ソフトエラー考慮対象となるセルすべてを計算対象としても良いが、計算に時間がかかるので中性子入射座標から一定距離以下のセルのみを計算対象としても良い。
【0099】
ステップS1605で対象セルであれば、セル毎に記憶ノード反転確率とSETパルス発生確率を計算する(ステップS1606)。ステップS1606で計算した記憶ノード反転確率とSETパルス発生確率から、ロジック回路全体でソフトエラーとして顕在化するかの判定を行う(ステップS1607)。
【0100】
ステップS1607でソフトエラーとして顕在化した場合、エラーとしてカウントする(ステップS1608)。ステップS1603〜S1608を繰り返して、発生したソフトエラーを積算する。
【0101】
ステップS1603での終了判定時に、基板材料と入射中性子エネルギーとから定まる反応断面積と入射中性子のエネルギースペクトルからソフトエラー率を計算する(ステップS1609)。
【0102】
以上説明した検証方法により、半導体デバイスのソフトエラー率を高速・簡単に検証することができる。
【0103】
図17において、本実施の形態での半導体デバイスのセル種類毎パラメータの一例では、記憶ノード反転エラー確率・SETパルス発生確率を登録している。それ以外に登録する情報としては、特許文献1〜4に記載の様々なパラメータが使用できる。
【0104】
記憶ノード反転エラー確率は、セルから単位距離離れた場所に中性子が当たった場合にノード反転エラーが発生する確率である。SETパルス発生確率は、セルから単位距離離れた場所に中性子が当たった場合にソフトエラーを起こしうるレベルのSETパルスが発生する確率である。
【0105】
これらのパラメータは、事前に中性子エラーシミュレータ・回路シミュレータ・論理シミュレータ・実測等により決定しておく。特許文献1〜3に開示されいるCORIMSによる計算が有効な手法である。セル内の冗長ノードの効果もこの時点で考慮しておく。非特許文献1〜6や特許文献1〜4に開示されている各種手法も利用できる。
【0106】
図18において、本実施の形態での半導体デバイスの個別セル情報の一例では、セルの座標・種類・SETパルスエラー化率・記憶ノード反転エラー化率・冗長セル有無・冗長セル番号を登録している。
【0107】
セルの種類は、セル種類毎パラメータと連結するためのパラメータであり、セルの種類から、個別セル情報のパラメータにアクセスできるようにしておく。SETパルスエラー化率は、該当セルにSETパルスが発生した場合、半導体デバイスにソフトエラーが顕在化する確率である。
【0108】
記憶ノード反転エラー化率は、該当セルに記憶ノードが含まれる場合(冗長セルが存在する場合、冗長セルの記憶ノードも同時に反転すると見なす)、該当セルの記憶ノード反転により、半導体デバイスにソフトエラーが顕在化する確率である。上記パラメータは、事前に回路シミュレータ・論理シミュレータ・実験等により決定しておく。非特許文献1〜6や特許文献1〜4に開示されいる各種手法や様々なパラメータが使用できる。
【0109】
図19において、図16のフローチャートのステップS1606とステップS1607の計算法の一例は、まず、SETパルス起因ソフトエラー発生確率を計算する(ステップS1901)。計算方法の一例としては、SETパルス起因ソフトエラー発生確率=SETパルスエラー化係数×SETパルス発生確率×f(L)等が利用できる。
【0110】
f(L)としては、デバイスシミュレータ等から計算した値を関数で近似するのが望ましいが、簡易的にf(L)=(1/L)^3としても良い。Lは、中性子入射座標とセルの距離である。冗長回路を構成するセルの有無を確認する(ステップS1902)。
【0111】
ステップS1902で冗長回路を構成するセルが存在しない場合、記憶ノード反転起因ソフトエラー発生率を計算する(ステップS1904)。計算方法の一例としては、記憶ノード反転起因ソフトエラー発生率=記憶ノード反転エラー化率×記憶ノード反転確率×f(L)等が利用できる。
【0112】
f(L)としては、デバイスシミュレータ等から計算した値を関数で近似するのが望ましいが、簡易的にf(L)=(1/L)^3としても良い。
【0113】
ステップS1902で冗長回路を構成するセルが存在する場合、冗長回路を考慮した記憶ノード反転起因ソフトエラー発生率を計算する(ステップS1903)。冗長回路を考慮した計算方法の一例としては、計算対象セルと冗長回路を組んでいるすべての冗長セル(計算対象セルも含む)に対して冗長回路を組まない場合の記憶ノード反転起因ソフトエラー発生率を計算する。
【0114】
この確率をR(n)とする(n=0:計算対象セルn=1,…)。冗長回路を考慮した記憶ノード反転起因ソフトエラー発生率=R(0)×…×R(n)/nとする。該当セルのソフトエラー発生率を計算し、乱数と比較し(ステップS1905)、ステップS1905でソフトエラー発生率>乱数であれば、ソフトエラー顕在化とし(ステップS1906)、ソフトエラー発生率>乱数でなければソフトエラー非顕在化とする(ステップS1907)。
【0115】
各セル毎にステップS1901〜S1907の計算を行いソフトエラー発生をシミュレーションし結果を積算する。
【0116】
実施の形態1と実施の形態2は、核反応計算により生成する2次イオンを計算し各敏感領域の収集電化量を求めるなど計算量が膨大となる問題があるが、本実施の形態では、比較的計算量が少なくなる利点がある。この為、精度より時間が優先される初期段階の設計に適している。
【0117】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【産業上の利用可能性】
【0118】
本発明は、半導体デバイスのソフトエラーを解析するソフトエラー率の検証方法に関し、宇宙線中性子によるソフトエラーの解析を行う検証方法に広く適用可能である。
【特許請求の範囲】
【請求項1】
半導体デバイスのソフトエラー率を情報処理装置の処理により検証する半導体デバイスのソフトエラー率の検証方法であって、
前記半導体デバイスの設計に用いる複数のセルが登録されたセルライブラリに、セル種類毎にセル種類毎パラメータを登録するステップと、
被検証対象である前記半導体デバイスに含まれる各セルのうちソフトエラー考慮対象となるセルに個別のユニーク番号を設定するステップと、
前記ユニーク番号を設定した各セルに対して、前記セル毎にセル個別パラメータを登録するステップと、
乱数に基づき中性子による核破砕反応発生座標の計算を行い、生成する2次イオンの核種・エネルギー・進行方向を計算するステップと、
前記セル内の前記セル種類毎パラメータに含まれる敏感領域情報と前記計算した2次イオンの核種・エネルギー・飛行方向から、前記2次イオンの飛跡計算に基づきセル単位での記憶ノード反転エラー発生とSETパルス発生を計算するステップと、
前記計算したセル単位での前記記憶ノード反転または前記SETパルスが、前記半導体デバイス上のロジック回路全体でソフトエラーとして顕在化するかの判定を行うステップと、
前記ソフトエラーとして顕在化した場合に、エラー数としてカウントするステップと、
前記半導体デバイスの基板材料、入射中性子エネルギーとから定まる反応断面積、入射中性子のエネルギースペクトル、および前記エラー数からソフトエラー率を計算するステップとを有することを特徴とする半導体デバイスのソフトエラー率の検証方法。
【請求項2】
半導体デバイスのソフトエラー率を情報処理装置の処理により検証する半導体デバイスのソフトエラー率の検証方法であって、
前記半導体デバイスの設計に用いる複数のセルが登録されたセルライブラリにセル種類毎にセル種類毎パラメータを登録するステップと、
被検証対象である前記半導体デバイスに含まれる各セルのうちソフトエラー考慮対象となるセルに個別のユニーク番号を設定するステップと、
前記ユニーク番号を設定した各セルに対して、前記セル毎にセル個別パラメータを登録するステップと、
乱数に基づき中性子による核破砕反応発生座標の計算を行い、生成する2次イオンの核種・エネルギー・進行方向を計算するステップと、
前記セル内の前記セル種類毎パラメータに含まれる敏感領域情報と前記計算した2次イオンの核種・エネルギー・飛行方向から、前記2次イオンの飛跡計算に基づき1回の核反応で発生するすべての記憶ノード反転とSETパルス発生を計算し、内部記憶に一時記憶するステップと、
前記内部記憶からエラーを読み出し、冗長回路を考慮しつつ前記エラーが、前記半導体デバイス上のロジック回路全体でソフトエラーとして顕在化するかの判定を行うステップと、
前記ソフトエラーとして顕在化した場合に、エラー数としてカウントするステップと、
前記ソフトエラーの顕在化判定後に、前記ソフトエラーの顕在化判定を行った前記エラーを前記内部記憶から削除または無効化するステップと、
前記半導体デバイスの基板材料と入射中性子エネルギーとから定まる反応断面積、入射中性子のエネルギースペクトル、および前記エラー数からソフトエラー率を計算するステップとを有することを特徴とする半導体デバイスのソフトエラー率の検証方法。
【請求項3】
半導体デバイスのソフトエラー率を情報処理装置の処理により検証する半導体デバイスのソフトエラー率の検証方法であって、
前記半導体デバイスの設計に用いる複数のセルが登録されたセルライブラリにセル種類毎にセル種類毎パラメータを登録するステップと、
被検証対象である前記半導体デバイスに含まれる各セルのうちソフトエラー考慮対象となるセルに個別のユニーク番号を設定するステップと、
前記ユニーク番号を設定した各セルに対して、前記セル毎にセル個別パラメータを登録するステップと、
乱数に基づき中性子入射座標の計算を行うステップと、
前記ソフトエラー考慮対象となるセルのうち、入射中性子に対して計算対象となるセルか確認するステップと、
確認した前記セル毎に記憶ノード反転確率とSETパルス発生確率を計算するステップと、
計算した前記記憶ノード反転確率と前記SETパルス発生確率から、前記半導体デバイス上のロジック回路全体でソフトエラーとして顕在化するかの判定を行うステップと、
前記ソフトエラーとして顕在化した場合に、エラー数としてカウントするステップと、
前記半導体デバイスの基板材料と入射中性子エネルギーとから定まる反応断面積、入射中性子のエネルギースペクトル、および前記エラー数からソフトエラー率を計算するステップとを有することを特徴とする半導体デバイスのソフトエラー率の検証方法。
【請求項1】
半導体デバイスのソフトエラー率を情報処理装置の処理により検証する半導体デバイスのソフトエラー率の検証方法であって、
前記半導体デバイスの設計に用いる複数のセルが登録されたセルライブラリに、セル種類毎にセル種類毎パラメータを登録するステップと、
被検証対象である前記半導体デバイスに含まれる各セルのうちソフトエラー考慮対象となるセルに個別のユニーク番号を設定するステップと、
前記ユニーク番号を設定した各セルに対して、前記セル毎にセル個別パラメータを登録するステップと、
乱数に基づき中性子による核破砕反応発生座標の計算を行い、生成する2次イオンの核種・エネルギー・進行方向を計算するステップと、
前記セル内の前記セル種類毎パラメータに含まれる敏感領域情報と前記計算した2次イオンの核種・エネルギー・飛行方向から、前記2次イオンの飛跡計算に基づきセル単位での記憶ノード反転エラー発生とSETパルス発生を計算するステップと、
前記計算したセル単位での前記記憶ノード反転または前記SETパルスが、前記半導体デバイス上のロジック回路全体でソフトエラーとして顕在化するかの判定を行うステップと、
前記ソフトエラーとして顕在化した場合に、エラー数としてカウントするステップと、
前記半導体デバイスの基板材料、入射中性子エネルギーとから定まる反応断面積、入射中性子のエネルギースペクトル、および前記エラー数からソフトエラー率を計算するステップとを有することを特徴とする半導体デバイスのソフトエラー率の検証方法。
【請求項2】
半導体デバイスのソフトエラー率を情報処理装置の処理により検証する半導体デバイスのソフトエラー率の検証方法であって、
前記半導体デバイスの設計に用いる複数のセルが登録されたセルライブラリにセル種類毎にセル種類毎パラメータを登録するステップと、
被検証対象である前記半導体デバイスに含まれる各セルのうちソフトエラー考慮対象となるセルに個別のユニーク番号を設定するステップと、
前記ユニーク番号を設定した各セルに対して、前記セル毎にセル個別パラメータを登録するステップと、
乱数に基づき中性子による核破砕反応発生座標の計算を行い、生成する2次イオンの核種・エネルギー・進行方向を計算するステップと、
前記セル内の前記セル種類毎パラメータに含まれる敏感領域情報と前記計算した2次イオンの核種・エネルギー・飛行方向から、前記2次イオンの飛跡計算に基づき1回の核反応で発生するすべての記憶ノード反転とSETパルス発生を計算し、内部記憶に一時記憶するステップと、
前記内部記憶からエラーを読み出し、冗長回路を考慮しつつ前記エラーが、前記半導体デバイス上のロジック回路全体でソフトエラーとして顕在化するかの判定を行うステップと、
前記ソフトエラーとして顕在化した場合に、エラー数としてカウントするステップと、
前記ソフトエラーの顕在化判定後に、前記ソフトエラーの顕在化判定を行った前記エラーを前記内部記憶から削除または無効化するステップと、
前記半導体デバイスの基板材料と入射中性子エネルギーとから定まる反応断面積、入射中性子のエネルギースペクトル、および前記エラー数からソフトエラー率を計算するステップとを有することを特徴とする半導体デバイスのソフトエラー率の検証方法。
【請求項3】
半導体デバイスのソフトエラー率を情報処理装置の処理により検証する半導体デバイスのソフトエラー率の検証方法であって、
前記半導体デバイスの設計に用いる複数のセルが登録されたセルライブラリにセル種類毎にセル種類毎パラメータを登録するステップと、
被検証対象である前記半導体デバイスに含まれる各セルのうちソフトエラー考慮対象となるセルに個別のユニーク番号を設定するステップと、
前記ユニーク番号を設定した各セルに対して、前記セル毎にセル個別パラメータを登録するステップと、
乱数に基づき中性子入射座標の計算を行うステップと、
前記ソフトエラー考慮対象となるセルのうち、入射中性子に対して計算対象となるセルか確認するステップと、
確認した前記セル毎に記憶ノード反転確率とSETパルス発生確率を計算するステップと、
計算した前記記憶ノード反転確率と前記SETパルス発生確率から、前記半導体デバイス上のロジック回路全体でソフトエラーとして顕在化するかの判定を行うステップと、
前記ソフトエラーとして顕在化した場合に、エラー数としてカウントするステップと、
前記半導体デバイスの基板材料と入射中性子エネルギーとから定まる反応断面積、入射中性子のエネルギースペクトル、および前記エラー数からソフトエラー率を計算するステップとを有することを特徴とする半導体デバイスのソフトエラー率の検証方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【公開番号】特開2011−40649(P2011−40649A)
【公開日】平成23年2月24日(2011.2.24)
【国際特許分類】
【出願番号】特願2009−188309(P2009−188309)
【出願日】平成21年8月17日(2009.8.17)
【出願人】(302062931)ルネサスエレクトロニクス株式会社 (8,021)
【Fターム(参考)】
【公開日】平成23年2月24日(2011.2.24)
【国際特許分類】
【出願日】平成21年8月17日(2009.8.17)
【出願人】(302062931)ルネサスエレクトロニクス株式会社 (8,021)
【Fターム(参考)】
[ Back to top ]