JP6045351B2 - 検証装置及び検証方法 - Google Patents

検証装置及び検証方法 Download PDF

Info

Publication number
JP6045351B2
JP6045351B2 JP2013000932A JP2013000932A JP6045351B2 JP 6045351 B2 JP6045351 B2 JP 6045351B2 JP 2013000932 A JP2013000932 A JP 2013000932A JP 2013000932 A JP2013000932 A JP 2013000932A JP 6045351 B2 JP6045351 B2 JP 6045351B2
Authority
JP
Japan
Prior art keywords
error
information
verification
unit
error insertion
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.)
Expired - Fee Related
Application number
JP2013000932A
Other languages
English (en)
Other versions
JP2014134842A (ja
Inventor
巧 上薗
巧 上薗
鳥羽 忠信
忠信 鳥羽
健一 新保
健一 新保
春彦 小松
春彦 小松
浩士 西井
浩士 西井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2013000932A priority Critical patent/JP6045351B2/ja
Publication of JP2014134842A publication Critical patent/JP2014134842A/ja
Application granted granted Critical
Publication of JP6045351B2 publication Critical patent/JP6045351B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Test And Diagnosis Of Digital Computers (AREA)
  • Microcomputers (AREA)

Description

本発明は、電子機器のソフトエラー耐性などの信頼性の検証技術に関する。
半導体デバイスの微細化・高集積化に伴い、環境放射線(地上における宇宙線中性子やα線など)に起因するソフトエラーの問題が、各種の電子機器、特にSRAMや論理ゲートやクロック系などの回路について顕在化している。電子機器のソフトエラー耐性などの信頼性を検証する技術が必要とされている。
環境放射線に起因するソフトエラーのメカニズムについては例えば以下のように説明されている。極めて高いエネルギーを有する中性子が、デバイスを構成する原子核内に突入すると、核内の核子(中性子、陽子)が衝突を繰り返し、特に高いエネルギーを持った核子が核外に放出される。核子が核外に飛び出すだけの運動エネルギーを持ち得ない状態になると、励起状態にある残留原子核から、陽子、中性子、重陽子、α粒子などの軽粒子が蒸発する過程が続く。そして最終的に残留核も反挑エネルギーを持つため、これらの2次粒子は、全てその飛程に見合った距離、デバイスの中を飛ぶことになる。
半導体パッケージなどに含まれる放射性同位元素から発生するα線や、核反応の結果発生する電荷を持った2次イオンが、例えばSRAMの“high”状態にあるストレージノードの空乏層を通過すると、電子はノードに吸収され正孔は反対方向に流れイオンの飛跡に沿って電荷収集領域が広がるファネリングメカニズムによってストレージノードに電荷が収集される。臨界電荷量以上の電荷が収集されると、“high”状態が“low”状態に推移し、ソフトエラーになる。上記が環境放射線に起因するソフトエラーのメカニズムとして考えられてきた典型的なメカニズムであり、SEU(Single Event Upset)とも称する。
メモリデバイスのSEUについて、複数のセルが同時にエラーになるケースをMCU(Multi Cell Upset)と呼んで、SBU(Single Bit Upset:単一ビットエラー)とは区別する。MCUは、同一ワードに発生した場合、MBU(Multiple Bit Upset)と呼び、通常のECC(Error Correction Code)では修復困難であるため、システムダウンに至る可能性がある。
上記SEUを含むソフトエラーは、ハードエラー(ハードウェアの固定故障)とは異なり、エラー発生後も、新たなデータに更新され、再起動などによって正常に復帰してしまうために、エラーの要因特定が困難といった問題もある。このように電子機器の論理回路に発生するソフトエラーの影響とは、コンピュータのプロセッサやASICや制御用デジタル回路などでの誤作動を引き起こすことを意味し、電子システムとしての誤作動の要因となることが懸念される。
近年では、様々な電子システムの制御用ロジック回路などとして、プログラマブル・デバイスないしプログラマブル・ロジック・デバイス(以下適宜PLDと略称)が多用されている。PLDはプログラム可能な論理回路ないしメモリを含んで成り、ユーザがPLDを購入後に所望の機能(ユーザロジック)を当該論理回路にプログラムすることで専用ロジック回路として利用可能となる。PLDの中でも特にFPGA(Field Programmable Gate Array)の利用は増大している。FPGAは、ロジック回路情報(ユーザロジック回路の構成情報)をデバイス内部のメモリ(コンフィギュレーションメモリ、以下適宜CMと略称)に格納することで、演算回路や制御回路を構築する。
しかしながら上記FPGAのメモリに格納されたデータないしロジックが、ソフトエラーにより破壊されることで、電子システムの誤作動を引き起こす可能性があることが問題視されつつある。通常、電子機器・電子システムとして誤動作による影響が出ないように設計で考慮されているが、消費電力、開発・検証の工数、コスト等の増大を招く要因となっている。
FPGA等の回路デバイスのソフトエラー対策の有効性(ソフトエラー耐性)を検証する手法としては、対象デバイス(そのメモリないし論理回路にプログラムされたデータ)に対して意図的にエラー(エラーデータ)を挿入した時の当該デバイスの動作を検証する手法、いわゆるエラー挿入手法がある。
上記技術に関して、例えば特表2010−507170号公報(特許文献1)(「ソフトウェア試験のために過渡ハードウェア故障を注入する方法及び装置」)がある。特許文献1では、「本発明は動的故障を回路デバイスに注入するための方法及び装置を含む。装置は、回路デバイスの複数の出力部のうちの選択されたもの及び回路デバイスの複数のエラーレジスタのうちの選択されたものの少なくとも1つを識別する選択データを受信するように適合された第1のレジスタ、出力部のうちの選択されたもの及びエラーレジスタのうちの選択されたものの少なくとも1つに向けた伝達のための動的故障データを受信するよう適合された第2のレジスタ、及び出力部のうちの選択されたものの各々及びエラーレジスタのうちの選択されたものの各々の少なくとも1つに動的故障を供給するように、選択データを第1のレジスタに、及び動的故障データを第2のレジスタに適用するためのコントローラを含む。」等と記載されている。即ち、エラー検出レジスタを変化させエラー挿入を模擬しソフトウェアの動作を評価する品質評価手法に関して記載されている。
また、エラー耐性の検証において故障・欠陥総数を推定する手法として、時系列データ(言い換えると履歴情報)を使用する手法がある。例えば特開平5−324309号公報(特許文献2)(「ソフトウェア品質評価装置」等)がある。特許文献2では、「本発明の目的は高い信頼度で完成度評価を可能にすることにある。」「テストケース(T.Cs)に従って評価対象ソフトウェア(S.W)を実行させる実行手段と、該実行に使用したT.Cs数の情報とS.Wに対するテストカバレッジ情報と検出バグ数とをデータ収集する収集手段と、該収集データをもとにT.Csの有する能力を推定する能力推定手段と、該T.Csの能力について所定の規則に従って補正し、テストカバレッジの情報を用いてT.Csの良さを求める手段と、収集手段の収集デ−タをもとにS.W信頼性成長モデルに基づいてS.W潜在のバグ総数推定値を得る第1推定手段と、収集手段の収集デ−タのうち、T.Cs数の情報と検出バグ数とを用い信頼性成長モデルに基づいてS.W潜在のバグ総数推定値を得る第2推定手段と、第1,2推定手段による各推定値に対し所定の規則に従って処理してバグ総数推定結果を得る総合判断手段とより構成する。」等と記載されている。即ち、テストケースの全てを評価する前の途中段階で、テストケースを使って評価した時系列データを使い、故障と欠陥総数を推定する検証手法に関して記載されている。
特表2010−507170号公報 特開平5−324309号公報
上述のように、半導体デバイスの微細化・高集積化に伴い、電子機器における環境放射線を起因とするソフトエラーの影響が拡大している。中でもFPGA等のPLDでのソフトエラーの頻度が増大し、FPGA等のPLDの利用が増えている電子システムへの影響が増大する可能性がある。
このような状況に対して、従来のPLDの対策としては、ECC(誤り訂正符号)によるエラー検出・訂正機構などに対応したエラー検出器の搭載や、TMR(三重冗長化)等の、エラー耐性向上技術を採用した設計が行われている。またPLDを搭載した電子システムでは、ハードウェアの二重化などの冗長構成による対策などが行われている。
しかしながら、これらエラー耐性技術を施した電子機器(PLD)・電子システムにおけるソフトエラー等の一過性エラーの耐性を検証(ないし試験など)することは容易ではない。
例えば、従来、中性子によるソフトエラーの耐性検証方法として、中性子照射実験による検証が行われてきた。この方法では、実機の実測による検証が可能であるが、粒子加速器などを使用する大掛かりな実験が必要であり、実験時間が制限され、高コストである。即ち電子機器・電子システムの設計時には手軽に利用できないという課題がある。
また実機によるエミュレーションでソフトエラー耐性を検証する方法として、前述のエラー挿入手法がある。例えばFPGAベンダからエラー挿入機能が提供されている。この手法及び機能では、対象デバイス(FPGA)におけるユーザ側で決定する部位(メモリ内の所望の箇所)に対してエラーを挿入した時の演算結果とそれに対応する演算期待値とを比較することで、ソフトエラー耐性の有無を検証する。
しかしながら、上記エラー挿入箇所の決定手法については考慮されていない。効果的な検証のためには上記エラー挿入箇所を効果的に選択する必要があると考えられるが、そのような手法及び機能については考慮されていない。先行技術文献でも上記エラー挿入箇所の決定手法については言及されていない。
またFPGA等のPLDの大容量化と共に、エラー挿入対象箇所及び候補が増加する。そのため、従来手法のままでは、検証時間が増大化してしまう課題がある。従って、PLDのメモリ領域全体におけるエラー挿入対象箇所の増大に対応できる、高効率なエミュレーション等による検証手法の確立が必須である。
本発明の目的は、PLD等の電子機器に関して、ソフトエラー等のエラー耐性の検証を高効率化することができる技術を提供することである。
上記目的を達成するため、例えば特許請求の範囲に記載の構成を採用する。
本願は上記課題を解決する手段を複数含んでいるが、その一例を挙げるならば、「プログラマブルデバイスを含む電子機器のエラー耐性を検証する検証装置であって、前記電子機器のユーザロジック回路の構成情報を格納するメモリに対しデータをリード及びライトする制御部と、前記電子機器のメモリに構成されるユーザロジック回路に対し、前記エラー耐性の検証のためのエラー挿入情報を書き込むエラー挿入部と、前記電子機器のメモリに構成されるユーザロジック回路での動作実行による演算結果とその期待値とを比較してチェックする比較部と、前記比較結果と前記エラー挿入情報とを含むエラー情報を履歴として記録する記録部と、前記電子機器のメモリに構成されるユーザロジック回路の情報を入力する入力部と、前記エラー情報をもとに、前記ユーザロジック回路の部位のエラー検出ミス率を含む情報を解析して解析結果を出力する解析部と、を有し、前記エラー挿入部は、前記ユーザロジック回路の情報、前記エラー情報、及び前記解析結果をもとに、次の回の前記エラー挿入情報を決定すること」を特徴とする。
また「前記エラー挿入部は、ランダムなエラー挿入パターンを生成するランダムパターン生成部と、前記ユーザロジック回路の情報、前記エラー情報、及び前記解析結果をもとに、エラー挿入パターンを新規に生成するエラー挿入パターン生成部と、を有し、前記エラー挿入部は、前記ランダムなエラー挿入パターンと、前記新規に生成したエラー挿入パターンとから、次の回に使用するエラー挿入パターン及びそれに対応するエラー挿入箇所を選択し、前記エラー挿入情報として決定すること」を特徴とする。
本発明のうち代表的な形態によれば、PLD等の電子機器に関して、ソフトエラー等のエラー耐性の検証を高効率化することができる。
本発明の実施の形態1の検証システムの構成を示す図である。 実施の形態1で、エラー情報記録部内のデータ構成例を示す図である。 実施の形態1で、エラー情報解析部の構成例を示す図である。 実施の形態1で、エラー挿入パターン生成部の構成例を示す図である。 実施の形態1で、エラー挿入手法について示す図である。 実施の形態1で、エラー挿入パターン決定方法の例を示す説明図である。 実施の形態1で、エラー耐性の検証に関する表示画面例を示す図である。 実施の形態1で、検証装置及び検証方法の処理フロー例を示す図である。 本発明の実施の形態2の検証システムの構成を示す図である。 本発明の実施の形態3の検証システムの構成を示す図である。 本発明の実施の形態4の検証システムの要部の構成を示す図である。 本発明の実施の形態5の検証システムの要部の構成を示す図である。 本実施の形態の動的な制御のイメージを示す図である。
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一部には原則として同一符号を付し、その繰り返しの説明は省略する。なお図面中に示す処理部間の矢印などの線は一部の線のみ図示している。
<概要等>
本実施の形態は、PLDを対象とした環境放射線に起因するソフトエラーの耐性を検証する手法に適用した場合を説明する。本検証装置及び対応する検証方法は、PLDのコンフィギュレーションメモリ(CM)のソフトエラー耐性を検証する手法として、前述のエラー挿入手法を用い、これに対応するエラー挿入機能及び検証機能などを有する。本機能では、検証(ないし試験)の際、前述のように、PLD(CM)に対してエラー(エラー挿入パターン)を挿入し、PLD(CM)での演算結果と演算期待値とを比較してエラーチェックし、当該エラー情報を履歴(時系列データ)として記録する。そして、エラー情報(履歴)を用いて解析などを行い、次の回のエラー挿入内容(エラー挿入パターン及びエラー挿入箇所など)を動的に変更・決定するという機能を有する。言い換えると過去のエラー情報ないし検証結果をもとに、未来のエラー挿入内容を効果的に決定するようにフィードバック制御を行う。この機能で、対象メモリ領域全体の中から次の回のエラー挿入箇所を効果的に選択する。特に、エラー挿入箇所を縮減するように選択し、これにより検証を高効率化する。PLDの容量の増大に対しても実用的時間で検証可能となる。
本検証装置は、検証時のエラー挿入(エラー挿入パターン)情報を生成しエラー挿入を制御する手段と、当該エラー挿入(エラー挿入パターン)に対応してPLDのCMを直接リード及びライトする手段と、PLDのCMに構築されるユーザロジックでの当該エラー挿入に対応した演算結果とその期待値との比較を行う手段と、当該比較結果とエラー挿入パターン情報とを含む情報をエラー情報(履歴)として記録する手段と、当該エラー情報(履歴)をもとに、対象ユーザブロックのエラー検出ミス率などのエラー耐性の指標値を解析する手段と、ユーザロジックの回路情報を解析する手段(例えば回路論理データからユーザブロックのブロック間接続情報などを含む論理情報を解析する手段、及び回路実装データからユーザブロックの物理的配置情報などを解析する手段)と、上記エラー情報(履歴)、指標値の解析結果、及びユーザロジックの解析情報をもとに、次の回の前記エラー挿入(エラー挿入パターン)情報を生成または選択して前記PLDに対するエラー挿入を実行する手段と、を有する構成である。上記構成での動作・処理例として、エラー挿入パターンに従いCMにエラーを挿入してユーザロジックを動作させ、その出力をエラーチェックし、エラー発生の有無、及びエラー挿入パターン等が記録される。そしてこの蓄積記録情報(エラー情報)と、PLDの論理情報及び実装情報から得られるユーザブロック間接続情報及び物理配置情報などとから、次の回のエラー挿入箇所及びパターン等が決定される。
<実施の形態1>
図1〜図8を用いて、本発明の実施の形態1について説明する。
[システム]
図1に、実施の形態1のシステムである、プログラマブルデバイス(PLD)のソフトエラー耐性の検証システムの全体の構成を示す。本システムは、検証装置1、及びプログラマブルデバイス(PLD)2等を含んで成る。PLD2と検証装置1が接続されている。検証装置1は、PDL2の環境放射線起因ソフトエラー耐性検証装置であり、PLD2のCM3のソフトエラー(SE)耐性を検証する機能を有する。また検証装置1に対してユーザ(検証者)Uの端末100が接続されている。
PLD2は、コンフィギュレーションメモリ(CM)3と、コンフィギュレーションメモリ・リード/ライト(CMR/W)回路4とを含んで成る。PLD2は例えばFPGAである。なおPLD2に類するデバイスであれば本システムに適用可能である。CM3は、ユーザロジック回路の構成情報を格納するメモリであり、メモリ素子ないし論理素子のアレイを含んで成り、入力データ(D0)に従い、所望の機能(ユーザロジック:UL)を実現する回路情報(ユーザロジック回路の構成情報)を格納する(言い換えるとULがプログラムされる)。CMR/W回路4は、CM3内の指定位置のデータを直接リード/ライトする機能を有するメモリ制御部である。またPLD2はECC等によるエラー検出機構を備えている。
ユーザ(検証者)Uの端末100は、例えばPC等であり、画面処理部101、ディスプレイ102等を備える。画面処理部101は、ディスプレイ102にGUI(グラフィカルユーザインタフェース)となる画面を表示する処理などを行う。ユーザ(検証者)Uは、本画面で各種データ情報の確認や検証装置1に対する指示入力などが可能である(後述)。画面処理部101は、検証装置1の解析結果(d15)やエラー情報(d14)等の各種データ情報を取得する。
検証装置1は、エラー挿入部20(エラー挿入パターン生成部21、ランダムパターン生成部22)、論理情報解析部11、実装情報解析部12、演算期待値比較部13、エラー情報記録部14、エラー情報解析部15、等を有する構成である。検証装置1は、UL情報(d0)、演算期待値データ(d6)等の必要なデータ情報を入力または記憶する。またユーザUはこれらのデータ情報を検証装置1または端末100で入力・出力することができる。
論理情報解析部11は、UL情報(d0)のうちの回路論理データ(d1)を入力して解析処理し、その結果であるULの論理情報(d11)を取得し記憶及び出力する。ULの論理情報(d11)は、PLD2のCM3(UL)における回路間の論理的接続情報を含む。実装情報解析部12は、UL情報(d0)のうちの回路実装データ(d2)を入力して解析処理し、その結果であるULの実装情報(d12)を取得し記憶及び出力する。ULの実装情報(d12)は、PLD2のCM3(UL)における物理的回路配置情報を含む。上記11,12では、UL情報(d0)を参照・解析することで、ULとしてCM3内のどの領域を使用しているか等がわかる。エラー挿入部20ではその情報(d11,d12)を用いてエラー挿入箇所などを決定する。なおUL情報(d0)は入力データ(D0)と対応する。上記11及び12は言い換えるとUL入力部ないし解析部である。
演算期待値比較部13は、PLD2のCM3の出力から入力するUL演算結果データ(d5)と、演算期待値データ(d6)とを比較してその比較結果(d13)を出力する。UL演算結果データ(d5)は、エラー挿入部20(21)から入力するデータ(d21)に基づくPLD2のCM3のULでの演算結果のデータである。演算期待値データ(d6)は、予めエラー挿入の実行前に検証装置1等で計算された、PLD2のCM3のULの演算(d5)の期待値データであり、エラー挿入を行わずにULを動作させた演算結果のデータ(ソフトエラーが発生しない場合の正常な演算結果データ)である。もしくは、演算期待値データ(d6)は、後述(実施の形態2)の論理シミュレーションの結果データを用いてもよい。
エラー情報記録部14は、PLD2での上記d21の入力及びd5の出力に伴い、PLD2のECC等のエラー検出機構で検出されたエラーを示す検出エラー情報(d8)と、演算期待値比較部13の出力である比較結果の情報(d13)と、エラー挿入パターン生成部21の出力のエラー挿入パターン(d21)とを入力し、それらを組み合わせて、エラー情報(d14)として記録・蓄積する。即ちエラー情報(d14)は、UL動作時のエラーデータ及びエラー履歴情報である。エラー情報記録部14は、後述図2のエラー情報記録テーブルT1及び期待値エラービット位置一覧テーブルT2などを管理する。
エラー情報解析部15は、エラー情報記録部14で蓄積されたエラー情報(d14)をもとに、解析処理により、ソフトエラー耐性の検証結果ないし解析結果(d15)を生成・出力する。端末100は解析結果(d15)を入力して画面表示処理などを行う。
なお端末100では、検証装置1で扱うその他の各種のデータ情報(d11,d12,d6,d14,d21等)を同様に画面で表示してユーザにより確認や編集を可能としてもよい。
エラー挿入部20において、ランダムパターン生成部22は、ULの実装情報(d12)を用いて、CM3の物理的な領域全体に対するランダムな位置に対するエラー挿入のためのランダムパターン(ランダムエラー挿入パターン)(d22)を生成する。ランダムパターン(d22)は、エラー挿入パターン(d21)の生成のために用いる。なお22と21を統合して1つにしても構わない。
エラー挿入パターン生成部21は、エラー情報(d14)と、解析結果(d15)と、論理情報(d11)と、実装情報(d12)と、ランダムパターン(d22)とを用いて、CM3に与えるためのエラー挿入パターン(d21)を生成・決定し、当該エラー挿入パターン(d21)を用いてCMR/W回路4を制御する。そしてCMR/W回路4により当該エラー挿入パターン(d21)に応じてCM3の指定された箇所(位置)に対し当該エラー挿入パターン(d21)のデータがライトされる(即ちエラー挿入される)。なおエラー挿入パターン(d21)は、ULの入力(D0)は含まれず、CM3領域におけるエラー挿入箇所(位置)の情報とその挿入のタイミングの情報とを含む。
実施の形態1のシステムでは、検証装置1は、PLD2(CM3)の外部の専用回路ないし専用装置として設けられ接続されている。なお検証装置1とユーザの端末100とを分けた構成に限らず、1つに統合した形態としてもよい。なお後述の他の形態として、検証装置1は、PLD2(CM3)の一部として設けることもできる。
[エラー情報]
図2の(a)は、エラー情報記録部14におけるエラー情報(d14)を履歴として記録し保持するエラー情報記録テーブルT1の構成一例を示す。エラー情報記録テーブルT1は、左端の項目から順に、(a)識別番号、(b)エラー挿入パターン、(c)エラー検出情報、(d)期待値エラー情報を有する。(a)識別番号は、エラー挿入イベント(言い換えると各回の検証ないし試験)を識別するための番号である。(b)エラー挿入パターンは、エラー挿入パターン生成部21で生成・出力したエラー挿入パターン(d21)の情報(例えばビット列)であり、エラー挿入箇所ないし位置情報(例えばエラービットを書き込むメモリセル)、及びタイミング情報を含む。(c)エラー検出情報は、PLD2のエラー検出機構で検出された検出エラー情報(d8)であり、例えば前述のECCの情報である。なおECCに限らず適用可能である。(d)期待値エラー情報は、演算期待値比較部13での比較結果(d13)の情報であり、例えば一致/不一致を示すフラグである。演算結果(d5)と演算期待値(d6)との比較で反転していたビットがある場合、不一致のフラグとして記録される共に、下記テーブルT2の期待値エラービット位置として記録される。なお(d)の情報としては、フラグに限らず、例えば不一致の箇所(CM3内の位置)の情報を同時に記録する構成としてもよい。
図2の(b)は、後述の期待値エラービット位置一覧を格納するテーブルT2の一構成例である。なおテーブルT2はエラー挿入部20などの他の場所で記録するようにしてもよい。
[エラー情報解析部]
図3は、エラー情報解析部15の構成例を示す。エラー情報解析部15は、エラー挿入回数カウント部31と、エラー事象重み付け部32と、エラー数加算部33と、エラー検出ミス率計算部34とを有する構成である。エラー情報解析部15は、概要としては、エラー情報(d14)及び必要に応じてUL情報(d0)等を用いて、エラー検出ミス率(d34)を推定する計算を行う。
エラー挿入回数カウント部31は、入力のエラー情報(d14)から、エラー挿入回数をカウントする。エラー事象重み付け部32は、エラー情報(d14)に、エラー事象としての情報の重み付けを行う。エラー数加算部33は、32による重み付けに従い、エラー数(エラー事象数)を加算する。エラー検出ミス率計算部34は、31によるエラー挿入回数と、33による重み付きエラー事象数から、エラー検出ミス率(d34)を計算する。エラー検出ミス率(d34)は、エラー耐性の指標値(ソフトエラー発生可能性が高い部位(例えばブロックや回路部など)を判断するための値)であり、出力の解析結果(d15)の中に含まれる。特に、エラー情報解析部15は、UL情報(論理接続情報及び物理配置情報)を用いて、ULを構成するブロックまたは回路部の単位でのエラー検出ミス率(d34)を推定計算する。
本実施の形態では、SE耐性の検証のため、エラー情報(d14)に基づきエラー挿入箇所及び対応するエラー挿入パターン(d21)を動的に変更する制御を行うが、そのために、本エラー情報解析部15の構成例では、エラー検出ミス率(d34)を計算(言い換えると推定)し、同時にその演算誤差を計算する。この際、例えば重点的サンプリング法などの、エラー挿入パターンの実現確率で重み付けをしたモンテカルロ法(ランダム法)によって上記エラー検出ミス率(d34)及び演算誤差を計算する。
他の実施の形態として、エラー情報解析部15等では、ユーザロジックのブロックまたは回路部の物理配置情報(d12に含まれる)を利用して、単一のエラー挿入の結果のエラー情報(d14)をもとに、複数ビットエラー発生時のエラー検出ミス率(d34)を解析してもよい。
[エラー挿入パターン生成部]
図4は、エラー挿入パターン生成部21の構成例を示す。エラー挿入パターン生成部21は、エラー出現確率計算部41と、エラー挿入パターン生成部42と、エラー挿入パターン選択部43とを有する構成である。
エラー出現確率計算部41は、ある試験の回(エラー挿入イベント)におけるCM3に発生したエラーが演算結果として外部に出現する確率(エラー出現確率:d41)を、前述のULの論理情報(d11)と、ULの実装情報(d12)と、エラー情報(d14)と、解析結果(d15)とに基づき計算する。
エラー挿入パターン生成部42は、上記41で求めたエラー出現確率(d41)に基づき、次の試験の回の候補のためのエラー挿入パターン(d42)を生成する。
エラー挿入パターン選択部43は、上記42で作成したエラー挿入パターン(d42)と、前述のランダムパターン(d22)とから、1つを選択して、次の試験の回に使用するエラー挿入パターン(d21)を決定し、PLD2(CMR/W回路4)へ出力する。
上記43におけるエラー挿入パターンの選択方法として、例えば、エラー情報(d14)の履歴が少ない時(まだ試験の回数が少ない時)は、ランダムパターン(d22)を選択し、そうでない場合(ある程度の試験の回数を実施した時)は、上記42で生成したエラー挿入パターン(d42)を選択する。なお必ずしも決定的に選択する必要は無く、両者のうち一方を確率的に選択する方法などを用いてもよい。
[エラー挿入手法]
図5は、補足としてエラー挿入手法について簡単に示す。(a)は、PLD2のCM3領域内のある位置(複数のメモリセル)におけるULのビット状態を示す。メモリセルのアレイにおいてXを列、Yを行とする。ある位置として例えばY1行のX1〜Xm列の複数ビットに着目する。例えば00110……0といった並びである。(a)は正常な演算期待値(d6)のデータに対応する。例えばSBUのソフトエラー発生を想定して、位置(Y1,X2)のビットをエラー挿入箇所とする。その場合、(b)のようなエラー挿入パターン(上書きの場合)となり、位置(Y1,X2)は反転ビットとなる。(c)は(b)に対応する反転ビット位置指示の場合のパターン情報である。エラー挿入パターン生成部21から上記のようなエラー挿入パターン情報(d21)をCMR/W回路4へ与え、CMR/W回路4からCM3の該当位置の領域へ当該パターンのデータがライト(上書き)される。演算の結果、上記エラー挿入位置(Y1,X2)のビットでエラーが検出された場合、「演算期待値エラー」とし、「期待値エラービット位置」(図2(b))を記録する。即ち、演算結果(d5)と演算期待値(d6)とを比較して、演算結果(d5)の中で差異として反転していたビットの位置を、「期待値エラービット位置」として、図2(b)のように記録する。
[エラー挿入パターン決定方法]
図6は、エラー挿入パターン生成部21におけるエラー挿入パターン(d21)の決定方法の例を示す。前提(初期段階)として、ランダムパターン生成部22で生成したランダムパターン(d22)によるエラー挿入パターン(d21)を、CM3領域へ一定回数挿入し、その結果のエラー情報(d14)をエラー情報記録部14に蓄積しておく。
まず図6(a)のように、本実施の形態(エラー挿入パターン生成部21)では、CM3(UL)の対象領域の全体を、仮想的に複数のブロック(ユーザブロック)に区切って考える。即ち分割されたブロック領域の単位を取り扱う。図6(a)は、CM3(UL)の領域のブロック(bとする)への分割の例を示している。例えばブロックb11〜b44がある。
次に、エラー挿入パターン生成部21は、上記蓄積されたエラー情報(d14)をもとに、CM3領域の複数のブロックbにおける、ブロックb単位の演算エラーの現れ方の類似度を計算し、当該類似度が高いブロックbを抽出する。
上記演算エラーの現れ方の定性的基準の例として、図2(b)の期待値エラービット位置一覧テーブルT2を示している。本テーブルT2では、前述の演算期待値エラーが起きた時に値が反転していたビットの位置を、期待値エラービット位置として記録している。T2は言い換えるとエラー発生実績情報を示す。
図2(b)のテーブルT2で、左列はエラー挿入回数、右列はCM3(UL)領域の各ブロックbごとの期待値エラービット位置を示す。例えば1回目のエラー挿入時、図6のブロックb11内の期待値エラービット位置が、ブロック内先頭ビットからの換算で10ビット目及び31ビット目であることを示す。エラー挿入パターン生成部21は、上記テーブルT2などに基づき、上記ブロックb単位の演算エラーの現れ方の類似度を計算する。
また、上記類似度の高いブロックの抽出方法として、例えば、質的変数を対象に類似性の高いものを抽出できる公知の対応分析法(AFC)などを利用した抽出方法が適用できる。上記類似度の高いブロックは、ULのデータフロー上の関連性の高い回路部や、同一のバスを構成している回路部など、演算出力への影響が似ている回路部で構成される(当該UL内容はUL情報(d0)からも解析可能である)。よって、類似(ほぼ同じ)のエラー具現化率(エラー出現確率ともいう)になると考えられる。そのため本システムでは、上記抽出した類似度の高いブロック群(2つ以上のブロック)のうち1つのブロックを選び、当該ブロックでエラー具現化率を計算し、その結果を残りのブロックの計算結果として使用する。これにより、エラー具現化率の計算を簡略化・削減して、高速化できる。従って、CM3領域に対するエラー挿入回数を削減でき、検証の高効率化ができる。
図6(b)は、上記エラー具現化率の計算の簡略化の例である。ブロックbのエラー具現化率をeとする。例えばブロックb11とブロックb22の(演算エラーの現れ方の)類似度が高いので、類似のブロックとして抽出し、それらのエラー具現化率e11=e22として近似し、一方のブロックb22で代表する場合である。次回以降の試験では、一方のブロックb22を対象箇所としてエラー挿入をすれば効率的である。結果としてブロックb11へのエラー挿入が必要無くなる。よって、前述のエラー率(エラー検出ミス率d34、エラー出現確率d41など)の計算に必要なエラー挿入回数を削減でき、エラー率を高速に計算できる。エラー挿入パターン生成部21からの各回のエラー挿入時に、エラー情報(d14)をもとに上記のような計算を採り入れ、エラー挿入箇所及びエラー挿入パターンを効率化する。
なお上記ブロック分割の手法に限らず類似の手法を適用可能である。例えばUL情報(d0)ないしその解析情報を用いて、UL回路部などの単位で柔軟に分割してもよい。またブロック(矩形)に限らず所望の形状の単位(例えば縦または横のライン単位)で分割してもよい。
また本実施の形態では上記エラー挿入パターン(d21)のエラー挿入回数(総数)については特に限定しない。例えば、単一エラーであるSEUに対する耐性の検証を目的とする場合は、1つのエラーを挿入し、複数ビットエラーであるMCUに対する耐性の検証を目的とする場合は、複数のエラーを挿入する。MCUの耐性検証においては、放射線により電子が広がる範囲を考慮してエラーを挿入する。なお基本的にはエラー挿入回数を多くすれば検証精度が高くなるが、その分時間を要する。本実施の形態では、前述の機能によりある程度以上の検証精度を達成しつつ、回数及び時間を少なくすることができる。
[画面例]
図7は、実施の形態1におけるソフトエラー耐性検証時の画面(ユーザ操作画面)51の例を示す。例えば前述のユーザUの端末100のディスプレイ102で本画面51を表示する。本画面51に、PLD2(CM3)のソフトエラー耐性検証の操作ウィンドウ52を表示する。本操作ウィンドウ52において、情報として、検証パラメータ53、検証結果54、エラー挿入結果一覧55等を有する。
検証パラメータ53では、検証装置1のSE耐性検証の動作のためのパラメータを表示して、ユーザUにより入力・設定が可能である。パラメータの例として、「エラー挿入数」、「演算有意水準」、「目標演算誤差」などがある。尚その他のパラメータを表示してもよい。「エラー挿入数」は、ここでは、本検証におけるエラー挿入の動的な変更の制御におけるフィードバック情報数に相当し、エラー挿入パターン(d21)を生成する時に使用する過去のエラー挿入情報数を示す。「演算有意水準」は、前述のエラー検出ミス率(d34)の推定の演算時(図3,15)における有意水準を示す。「目標演算誤差」は、上記有意水準を仮定したときの目標演算誤差範囲を示す。
検証結果54では、PLD2のCM3のULの領域の全体、及び前述の各ブロックbごとの、検証結果の各項目の情報と、55のエラー挿入結果一覧とを表示する。検証結果の各項目の情報として、「エラー挿入数」、「エラー検出数」、「期待値エラー数」、「エラー検出ミス率」、「演算誤差」を有する。「エラー挿入数」は、総数であり、図2(b)のテーブルT2のエラー挿入回数に対応する。「エラー検出数」は、d8で検出したものを含む全エラーの検出数を示す。「期待値エラー数」は、全エラーのうち前述の期待値エラービットとして検出したものを示す。「エラー検出ミス率」は、前述の解析結果(d15)のエラー検出ミス率(d34)に対応する。「演算誤差」は、本検証(試験)の処理の収束条件(後述図8)となる演算誤差を示す。
55のエラー挿入結果一覧では、前述の図2(a)のテーブルT1をもとにした各情報として、識別番号、「挿入箇所」、「エラー検出」、「期待値比較」、等を表示する。「挿入箇所」はCM3内のエラー挿入パターンの挿入箇所ないし位置を示す。「エラー検出」は、エラー検出の有無やその内容(ECC等)を示す。「期待値比較」は、一致/不一致を示す。
その他、本画面で前述のブロック(b)の分割の仕方に関する設定項目などを設けてもよい。
[検証処理]
図8は、実施の形態1の検証装置1によるPLD2のCM3のソフトエラー耐性の検証方法の処理フロー例を示す。ユーザUにより本検証装置1を起動して本検証処理を開始する。
ステップS61では、ユーザUにより検証パラメータ(エラー挿入回数などを含む)を前述の画面(図7)で入力する。また、CM3に構成されるULの情報(d0)などをユーザUにより同画面で入力するようにしてもよい。
ステップS62では、ある回の試験(検証)の開始として、エラー挿入パターン生成部21においてエラー挿入パターン(d21)を生成する。言い換えるとエラー挿入内容(エラー挿入箇所及びパターンを含む)を決定する。
ステップS63では、エラー挿入パターン生成部21からCMR/W回路4へ、S62で生成したエラー挿入パターン(d21)を入力し、CMR/W回路4からCM3内のULに対して当該エラー挿入パターン(d21)によるエラーを挿入する。
ステップS64では、PLD2のCM3内のULを動作させ、即ち所定の演算を実行させる。
ステップS65では、演算期待値比較部13で、CM3からの演算結果データ(d5)と対応する演算期待値データ(d6)とを比較する期待値エラーチェック処理を行う。
ステップS66では、エラー情報記録部14で、各入力情報(d13,d8,d21)をもとに、前述のエラー情報(d14)をテーブルT1(及びT2)に記録する。
ステップS67では、エラー情報解析部15で、エラー情報(d14)等を用いた解析処理を行い、この際、検証の収束条件として、演算誤差を計算する。この時、必要であれば、前述の画面(図7)の操作ウィンドウ52に、エラー挿入結果情報、及び演算結果の両方または一方を表示する(他のタイミングで同様に表示してもよい)。
ステップS68では、エラー情報解析部15での収束条件判定処理として、上記S67で計算した演算誤差を、目標演算誤差範囲(前記ユーザ入力による設定値)と比較する。演算誤差が目標演算誤差範囲以下となる場合(S68−Y)は本処理を終了し、そうでない場合(N)はエラー挿入パターン生成(S62)に戻り次の回のエラー挿入による試験(検証)を同様に繰り返す。
[制御イメージ]
図13は、補足として本実施の形態の動的な制御のイメージを示す。(a)で、初期段階として、(1)まずPLD2のCM3(UL)内における例えば図6同様のブロックb群に対し、主にランダムなエラー挿入パターン(d22,d21)によるランダムなエラー挿入箇所への試験を実行する。例えばb11,b22等がエラー挿入領域となる各ブロックbである。(2)そして上記試験の結果のエラー情報(d14)を解析する。
(b)で、フィードバック制御として、(3)上記解析結果などをもとに、次回以降の試験における効果的なエラー挿入内容を決定する。即ち、各ブロックb等のエラー出現確率を考慮して次回のエラー挿入箇所を選択し、かつ、エラー挿入箇所や回数が縮減ないし削減されるように(前述のブロック類似度など)、新規に生成したエラー挿入パターン(d42,d21)を用いて、対応する対象の箇所への試験を行う。(4)そして上記試験の結果のエラー情報(d14)を解析する。(5)以降同様に繰り返しフィードバック制御すると共に収束判定により終了する。
[効果等]
実施の形態1のシステムによれば、各種電子システムに用いられるPLD2(特にFPGA)のCM3を対象とした、中性子などの環境放射線に起因するソフトエラー耐性の試験(検証)の際に、エラー挿入パターン・箇所を動的に変更する機能などを有する。これによりソフトエラー耐性を検証する時間を短縮することができ、検証の高効率化ができる。これにより耐性設計・検証工数を削減すると共に、SDC(Silent Data Corruption)などの演算エラーの検証精度を上げ、電子機器・電子システムの信頼性を向上させることができる。
本実施の形態では、FPGA等のPLD2のCM3領域全体におけるエラー挿入対象箇所を縮減させる高効率なエミュレーション等による検証手法を実現している。
<実施の形態2>
次に図9を用いて実施の形態2について説明する。図9は、実施の形態2の検証システムの構成を示す。実施の形態2の検証システムは、論理シミュレーション結果を利用したソフトエラー耐性検証を行う機能を有する。実施の形態2は、実施の形態1と多くの要素は共通であるが、異なる部分として、検証装置1Bは、論理シミュレーション結果データ(d3)の入力、シミュレーション結果蓄積部17、エラー挿入部20B(エラー挿入パターン生成部21B)などがある。実施の形態2の検証装置1Bでは、予め実施したULの論理シミュレーションの結果(d3)を用いて、エラー挿入部20Bでエラー挿入数の削減効率を向上させる。
検証装置1Bは、図1の検証装置1に対し、シミュレーション結果蓄積部17が追加されており、エラー挿入部20Bの処理内容が異なる。シミュレーション結果蓄積部17は、ULの論理シミュレーション結果データ(d3)を入力・蓄積する。論理シミュレーション結果データ(d3)は、コンピュータ上でのULの論理シミュレーションの結果である。なお別に論理シミュレーション実行及びその結果データ(d3)を生成する処理部を有するが(例えば端末100内)、当該処理部を検証装置1B内に設けた形態としてもよい。
エラー挿入パターン生成部21Bは、エラー情報(d14)、解析結果(d15)、論理情報(d11)、実装情報(d12)、論理シミュレーション結果(d17)、及びランダムパターン(d22)をもとに、エラー挿入パターン(d21)を生成・決定し、CMR/W部4を制御する。
エラー挿入パターン生成部21Bの機能として、前述のエラー挿入パターン生成部21(図4等)の機能に加え、エラー挿入による期待値比較結果(d13)と論理シミュレーション結果(d17)とを用いて、もしくは論理シミュレーション結果(d17)のみを用いて、前述の分割ブロック(b)間の類似度の計算(図6等)を行う機能を有する。
またエラー情報解析部15は、論理シミュレーション結果(d17)を用いて、前述のエラー検出ミス率(d34)を計算してもよい。
実施の形態2によれば、論理シミュレーション結果(d17)を用いてブロック(b)間の類似度の計算(図6)を効率的に行うことができ、エラー挿入箇所・数を削減でき、即ち検証の高効率化ができる。
<実施の形態3>
次に図10を用いて実施の形態3について説明する。図10は、実施の形態3の検証システムの構成を示す。実施の形態3の検証システムは、中性子照射実験結果(背景技術)を利用したソフトエラー耐性検証を行う機能を有する。実施の形態3の検証装置1Cは、予め実施したUL(その全体もしくは一部、または対応するテスト回路)の放射線照射実験結果を用いて、エラー挿入数の削減効率を向上させる。
実施の形態3の検証装置1Cは、検証装置1に対して、ULもしくはテスト回路の放射線の照射実験結果データ(d4)を蓄積する照射実験結果蓄積部18が追加されている。また、エラー挿入パターン生成部21Cは、エラー情報(d14)、解析結果(d15)、論理情報(d11)、実装情報(d12)、照射実験結果(d18)、及びランダムパターン(d22)をもとに、エラー挿入パターン(d21)を生成・決定し、CMR/W回路4を制御する。
エラー挿入パターン生成部21Cの機能に関しては、前述(図4等)の機能に加え、エラー挿入による期待値比較結果(d13)と照射実験結果(d18)とを用いて、もしくは、照射実験結果(d18)のみを用いて、前述の分割ブロック(b)間の類似度の計算(図6等)を行う機能を有する。
またエラー情報解析部15は、照射実験結果(d18)を用いて、前述のエラー検出ミス率(d34)を計算してもよい。
実施の形態3によれば、照射実験結果(d18)を用いてブロック(b)間の類似度の計算を効率的に行うことができ、エラー挿入箇所・数を削減でき、即ち検証の高効率化ができる。
<実施の形態4>
次に図11を用いて実施の形態4について説明する。図11は、実施の形態4の検証システムの要部の構成を示す。実施の形態4では、エラー挿入数削減効率向上を目的に、PLD2のCM3のUL内の任意部分のデータを外部に出力する検証用ポート(901)を設置した構成例を示す。図11で、PLD2内のCM3に構成されたULの任意部分91について、部分91内のノード92(対象箇所)のデータを検証に使用する例を示している。なお900はCM3(UL)内の一部拡大であるが、他の部分についても同様に構成可能である。ノード92のデータを検出すなわち外部に出力するために、CM3内に新規に検証用出力回路93を構成している。そして、検証用出力回路93から出力される検証用データ94(前記d5に対応する)を、検証用出力ポート901を通じて外部へ出力する。外部へ出力された検証用データ94は、前述の演算期待値比較部13に対応する処理部である検証データ期待値比較部96に入力される。検証データ期待値比較部96では、検証用データ94と検証データ期待値95(前記d6に対応する)とを比較する。その比較結果(97)を、前述の演算期待値比較結果(d13)の一部として、エラー情報記録部14に記録する。またエラー情報解析部15は、上記検証用データ(94)を含むデータを用いて、エラー検出ミス率(d34)を計算する。
上記検証用出力回路93及びポート901は、PLD2のCM3の一部としてプログラムによる論理的な要素として設けることができる。
実施の形態4によれば、上記追加要素を用いて更に検証を高効率化ができる。
<実施の形態5>
次に図12を用いて実施の形態5について説明する。図12は、実施の形態5の検証システムの要部の構成を示す。実施の形態5は、前述の検証装置1に相当する機能を、検証回路のロジックとして、PLD2のCM3内に一部(ULとは別)として構成する形態である。図12で、PLD2は、CM3内におけるULが構成される部分である301と、検証回路が構成される部分である302とを有する。検証回路302は、前述の検証装置1の機能を持つ回路部と、CMR/W回路4とを含んだ構成である。検証回路302からは検証結果d30(前述のd15に対応)を出力し、前述同様に利用可能である。CM3内に設ける検証回路302は、ハードマクロもしくはソフトマクロのどちらで設けてもよい。
なお本実施の形態5では、CM3内に前述の検証装置1の機能の全てを持つ検証回路302を設けた場合である。他の実施の形態として、検証装置1の機能の一部のみをCM3内に302として設け、その他の機能を、PLD2の外部に設けて接続・連携する形態としてもよい。あるいは、PLD2内のCM3外部に当該機能の回路を設ける形態としてもよい。
実施の形態5では、検証装置1相当の検証回路302をプログラムとして実現でき、実施の形態1等と同様の効果と共に、装置構成を簡略化できる。
<その他>
本実施の形態のシステムの利用により、例えばPLD2の開発・設計段階においてもソフトエラー耐性の見積もりが高効率に可能である。なおその場合、CM3に構成(プログラム)されるユーザロジックとしては、所定のロジックを構成して検証をすればよい。
本実施の形態では、UL情報(d0)における論理情報(d11)及び実装情報(d12)を用いて、各回のエラー挿入内容(箇所及びパターン)を決定するようにフィードバック制御を行っている。次回の挿入対象ブロックを縮減する等、時系列上でエラー挿入内容を効率化できる。CM3(UL)の領域全体に対し、最初は例えばランダムパターン(d22)を用いて試行する。これによりいくつかの箇所(ブロックb等)でエラーを検出した場合、その箇所やその周辺を対象として、次回以降、同様にエラー挿入により試行する。従来手法では、次回以降にエラー挿入する対象(候補)が多いため、領域全体の検証に時間を要する。一方、本実施の形態では、エラー情報履歴をもとに次回以降にエラー挿入する対象(候補)を削減して決定できるため、領域全体の検証の時間を削減できる。
なお本実施の形態で検証の際にランダムパターン(d22)を用いたが、特定のパターンを用いてもよい。例えば設計時や製造時に応じた特定のパターンを用いてもよい。
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることは言うまでもない。例えば本発明の検証装置1等は、ソフトウェアプログラムでも実現可能である。本発明は、放射線起因のソフトエラーに限らず、一過性のエラーの検証(ないし試験、評価など)に関して適用可能である。また本発明は、PLD2に類するデバイス(CM3のようなプログラム可能なメモリを含んで成るシステムLSI等)であれば適用可能である。例えばFPGAに他の要素を追加して成るLSIも適用可能である。またエラー種類としてSEUやMCUに限らず適用可能である。
1…検証装置、2…プログラマブルデバイス(PLD)、3…コンフィギュレーションメモリ(CM)、4…コンフィギュレーションメモリ・リード/ライト回路(CMR/W回路)、11…論理情報解析部、12…実装情報解析部、13…演算期待値比較部、14…エラー情報記録部、15…エラー情報解析部、20…エラー挿入部、21…エラー挿入パターン生成部、22…ランダムパターン生成部、100…端末。

Claims (15)

  1. プログラマブルデバイスを含む電子機器のエラー耐性を検証する検証装置であって、
    前記電子機器のユーザロジック回路の構成情報を格納するメモリに対しデータをリード及びライトする制御部と、
    前記電子機器のメモリに構成されるユーザロジック回路に対し、前記エラー耐性の検証のためのエラー挿入情報を書き込むエラー挿入部と、
    前記電子機器のメモリに構成されるユーザロジック回路での動作実行による演算結果とその期待値とを比較してチェックする比較部と、
    前記比較結果と前記エラー挿入情報とを含むエラー情報を履歴として記録する記録部と、
    前記電子機器のメモリに構成されるユーザロジック回路の情報を入力する入力部と、
    前記エラー情報をもとに、収束条件を含む情報を解析して解析結果を出力する解析部と、を有し、
    前記エラー挿入部は、前記ユーザロジック回路の情報、前記エラー情報、及び前記解析結果をもとに、次の回の前記エラー挿入情報を決定すること、を特徴とする検証装置。
  2. 請求項1記載の検証装置において、
    前記エラー挿入部は、
    ランダムなエラー挿入パターンを生成するランダムパターン生成部と、
    前記ユーザロジック回路の情報、前記エラー情報、及び前記解析結果をもとに、エラー挿入パターンを新規に生成するエラー挿入パターン生成部と、を有し、
    前記エラー挿入部は、前記ランダムなエラー挿入パターンと、前記新規に生成したエラー挿入パターンとから、次の回に使用するエラー挿入パターン及びそれに対応するエラー挿入箇所を選択し、前記エラー挿入情報として決定すること、を特徴とする検証装置。
  3. 請求項1記載の検証装置において、
    前記入力部は、
    前記ユーザロジック回路の論理情報の入力により、当該ユーザロジック回路を構成するブロック間または回路部間の論理接続情報を解析する論理解析部と、
    前記ユーザロジック回路の実装情報の入力により、当該ユーザロジック回路を構成するブロックまたは回路部の物理配置情報を解析する実装解析部と、を有し、
    前記エラー挿入部は、前記論理接続情報及び物理配置情報を用いて、次の回の前記エラー挿入情報を決定すること、を特徴とする検証装置。
  4. 請求項3記載の検証装置において、
    前記解析部は、前記エラー情報と、前記論理接続情報及び物理配置情報とを用いて、前記ユーザロジック回路を構成するブロックないし回路部の単位でのエラー検出ミス率を推定する計算を行うこと、を特徴とする検証装置。
  5. 請求項2記載の検証装置において、
    前記記録部は、前記エラー情報として、前記比較結果と、前記電子機器から出力される当該電子機器のエラー検出機構による検出エラー情報と、前記エラー挿入パターン及びエラー挿入箇所を含むエラー挿入情報と、を記録すること、を特徴とする検証装置。
  6. 請求項1記載の検証装置において、
    前記エラー情報に加えて、前記ユーザロジック回路の全部もしくは一部を対象とした論理シミュレーション結果データを用いること、を特徴とする検証装置。
  7. 請求項1記載の検証装置において、
    前記エラー情報に加えて、前記ユーザロジック回路の全部もしくは一部または対応するテスト回路を対象として予め実施された放射線照射実験結果データを用いること、を特徴とする検証装置。
  8. 請求項1記載の検証装置において、
    前記電子機器のメモリは、前記ユーザロジック回路内の任意の対象のノードのデータを外部に出力して検証するために、当該ノードに接続される検証用出力回路を含む検証用ポートが構成され、
    前記比較部は、前記検証用ポートから出力される検証用データと、その期待値とを比較してチェックし、
    前記記録部は、前記比較結果を前記エラー情報として保持し、
    前記解析部は、前記検証用データを用いて、エラー検出ミス率を計算すること、を特徴とする検証装置。
  9. 請求項1記載の検証装置において、
    前記プログラマブルデバイスを含む電子機器のメモリの内部における前記検証の対象のユーザロジック回路の領域とは別の領域に、前記エラー挿入部を含む処理部が検証回路として構成されていること、を特徴とする検証装置。
  10. 請求項1記載の検証装置において、
    前記解析部は、前記ユーザロジック回路のブロックまたは回路部の物理配置情報を利用して、単一のエラー挿入の結果のエラー情報をもとに、複数ビットエラー発生時のエラー検出ミス率を解析すること、を特徴とする検証装置。
  11. 請求項1記載の検証装置において、
    前記エラー挿入部は、前記エラー挿入情報の内容として、
    エラー挿入位置として単一ビットにエラーを挿入する第1のエラー挿入パターンと、
    エラー挿入位置として複数ビットにエラーを挿入する第2のエラー挿入パターンと、を有すること、を特徴とする検証装置。
  12. 請求項1記載の検証装置において、
    ユーザにより情報を入力可能とする画面を出力する画面処理部を有し、
    前記画面では、前記検証のためのパラメータをユーザにより入力可能とする項目と、前記検証の結果または途中の状態を出力する項目と、前記エラー挿入情報の詳細内容を出力する項目と、を有すること、を特徴とする検証装置。
  13. 請求項1記載の検証装置において、
    前記エラー挿入部は、前記電子機器のメモリに構成されるユーザロジック回路の領域全体における複数のブロックまたは回路部の単位ごとに、エラーの現れ方の類似度を計算し、当該類似度が高い複数のブロックまたは回路部を抽出した場合、当該抽出したブロックまたは回路部のうちの一部を、次の回のエラー挿入の対象として選択すること、を特徴とする検証装置。
  14. 請求項1〜13のいずれか一項に記載の検証装置において、
    前記電子機器はFPGAであること、を特徴とする検証装置。
  15. 検証装置を用いてプログラマブルデバイスを含む電子機器のエラー耐性を検証する検証方法であって、
    前記検証のためのパラメータ及び前記電子機器のユーザロジック回路の構成情報を格納するメモリに構成されるユーザロジック回路の情報をユーザにより入力する第1のステップと、
    前記電子機器のメモリに構成されるユーザロジック回路に対する前記エラー耐性の検証のためのエラー挿入情報を決定する第2のステップと、
    前記電子機器のメモリに構成されるユーザロジック回路に対して前記エラー挿入情報のデータを書き込む第3のステップと、
    前記電子機器のメモリに構成されるユーザロジック回路での動作実行による演算結果及び検出エラー情報を出力する第4のステップと、
    前記演算結果とその期待値とを比較してチェックする第5のステップと、
    前記比較結果と前記検出エラー情報と前記エラー挿入情報とを含むエラー情報を履歴として記録する第6のステップと、
    前記エラー情報をもとに、収束条件を含む情報を解析して解析結果を出力する第7のステップと、
    前記検証の終了のための前記収束条件を判定して当該収束条件を満たす場合は終了し、満たさない場合は前記第2のステップに戻る第8のステップと、を有し、
    前記第2のステップでは、
    ランダムなエラー挿入パターンを生成するステップと、
    前記ユーザロジック回路の情報、前記エラー情報、及び前記解析結果をもとに、エラー挿入パターンを新規に生成するステップと、を有し、
    前記第2のステップでは、前記ユーザロジック回路の情報、前記エラー情報、及び前記解析結果をもとに、前記ランダムなエラー挿入パターンと、前記新規に生成したエラー挿入パターンとから、次の回に使用するエラー挿入パターン及びそれに対応するエラー挿入箇所を選択し、前記エラー挿入情報として決定すること、を特徴とする検証方法。
JP2013000932A 2013-01-08 2013-01-08 検証装置及び検証方法 Expired - Fee Related JP6045351B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013000932A JP6045351B2 (ja) 2013-01-08 2013-01-08 検証装置及び検証方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013000932A JP6045351B2 (ja) 2013-01-08 2013-01-08 検証装置及び検証方法

Publications (2)

Publication Number Publication Date
JP2014134842A JP2014134842A (ja) 2014-07-24
JP6045351B2 true JP6045351B2 (ja) 2016-12-14

Family

ID=51413079

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013000932A Expired - Fee Related JP6045351B2 (ja) 2013-01-08 2013-01-08 検証装置及び検証方法

Country Status (1)

Country Link
JP (1) JP6045351B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6363297B2 (ja) * 2015-07-14 2018-07-25 株式会社日立製作所 シミュレータ、半導体回路装置の設計支援システムおよび方法
KR101923778B1 (ko) * 2016-11-22 2018-11-29 연세대학교 산학협력단 듀얼 모듈러 리던던시 및 오류 예측을 이용한 고성능 컴퓨팅 장치 및 그 방법
JP6502998B2 (ja) * 2017-04-13 2019-04-17 ファナック株式会社 回路構成最適化装置及び機械学習装置
EP3637118B1 (en) 2017-06-05 2022-08-31 Fujitsu Limited Soft error inspection method, soft error inspection device, and soft error inspection system

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0926981A (ja) * 1995-07-11 1997-01-28 Fujitsu Ltd 回路の故障シミュレーション方法および故障シミュレーション装置
US8954806B2 (en) * 2010-12-07 2015-02-10 Cisco Technology, Inc. Single event-upset controller wrapper that facilitates fault injection

Also Published As

Publication number Publication date
JP2014134842A (ja) 2014-07-24

Similar Documents

Publication Publication Date Title
JP4943427B2 (ja) 集積回路内でのエラー伝播に基づくエラー検出回路の挿入
US7437692B2 (en) Memory debugger for system-on-a-chip designs
CN108710551B (zh) 基于sparc处理器单粒子翻转故障注入的测试方法及系统
US8826202B1 (en) Reducing design verification time while maximizing system functional coverage
US10546086B2 (en) Hard error simulation and usage thereof
CN114065677A (zh) 用于集成电路硬件设计的故障注入测试的方法和系统
JP6045351B2 (ja) 検証装置及び検証方法
Condia et al. Combining architectural simulation and software fault injection for a fast and accurate CNNs reliability evaluation on GPUs
KR20200139788A (ko) 데이터 변환 파이프라인용 하드웨어 설계 검증
WO2015111176A1 (ja) プログラマブルデバイス、エラー保持システム、及び電子システム装置
Sari et al. A fault injection platform for the analysis of soft error effects in FPGA soft processors
Gopalan et al. A saboteur and mutant based built-in self-test and counting threshold-based built-in self repairing mechanism for memories
CN111079356B (zh) 一种单粒子加固有效性系统级验证方法
Krishnaswamy et al. Design, analysis and test of logic circuits under uncertainty
US10956265B2 (en) Method of performing single event upset testing
KR101544649B1 (ko) SoC에서의 오류율 분석 방법
CN103984632A (zh) 一种基于错误传播分析的sdc脆弱指令识别方法
Pereira-Santos et al. Exploring redundancy granularities to repair real-time FPGA-based systems
Hajisadeghi et al. MOMENT: A cross-layer method to mitigate multiple event transients in combinational circuits
US8239801B2 (en) Architecturally independent noise sensitivity analysis of integrated circuits having a memory storage device and a noise sensitivity analyzer
US8301431B2 (en) Apparatus and method for accelerating simulations and designing integrated circuits and other systems
EP3553681B1 (en) Method and apparatus for error test coverage determination for a circuit by simulation
Beckler et al. GPU-accelerated fault dictionary generation for the TRAX fault model
Rao et al. Higher likelihood of multiple bit-flips due to neutron-induced strikes on logic gates
Costenaro et al. A new IP core for fast error detection and fault tolerance in COTS-based solid state mass memories

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150609

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160318

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160510

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160615

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160705

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160804

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20161108

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20161115

R150 Certificate of patent or registration of utility model

Ref document number: 6045351

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees