JP4205583B2 - マイクロプロセッサまたはマイクロコントローラの計算機コアを検査する方法 - Google Patents

マイクロプロセッサまたはマイクロコントローラの計算機コアを検査する方法 Download PDF

Info

Publication number
JP4205583B2
JP4205583B2 JP2003535063A JP2003535063A JP4205583B2 JP 4205583 B2 JP4205583 B2 JP 4205583B2 JP 2003535063 A JP2003535063 A JP 2003535063A JP 2003535063 A JP2003535063 A JP 2003535063A JP 4205583 B2 JP4205583 B2 JP 4205583B2
Authority
JP
Japan
Prior art keywords
computer
test
self
microprocessor
gates
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
JP2003535063A
Other languages
English (en)
Other versions
JP2005505078A (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.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
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 Robert Bosch GmbH filed Critical Robert Bosch GmbH
Publication of JP2005505078A publication Critical patent/JP2005505078A/ja
Application granted granted Critical
Publication of JP4205583B2 publication Critical patent/JP4205583B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • G06F11/263Generation of test inputs, e.g. test vectors, patterns or sequences ; with adaptation of the tested hardware for testability with external testers

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Microcomputers (AREA)
  • Debugging And Monitoring (AREA)

Description

本発明は,マイクロプロセッサまたはマイクロコントローラの計算機コアを規定通りの機能について検査する方法に関する。計算機コアは,各々複数のトランジスタを備えた複数のゲートを有している。この方法において,マイクロプロセッサまたはマイクロコントローラ上でコンピュータプログラムの規定に従った実行の間セルフテストがサイクリックに行われる。セルフテストの範囲内で,計算機コアのゲートが規定通りの機能について検査される。
本発明は,さらに,マイクロプロセッサまたはマイクロコントローラの計算機コアを規定通りの機能について検査するためのセルフテストに関する。計算機コアは,各々複数のトランジスタを備えた複数のゲートを有している。セルフテストは,マイクロプロセッサまたはマイクロコントローラ上でコンピュータプログラムの規定通りの実行の間に,サイクリックなランにおいて実施することができる。その場合に,セルフテストは,計算機コアのゲートを規定通りの機能について検査する。
そして,本発明は,各々複数のトランジスタを備えた複数のゲートを有する計算機コアを備えたマイクロプロセッサまたはマイクロコントローラに関する。計算機コア上で,計算機コアを規定通りの機能について検査するセルフテストを実施することができる。セルフテストは,マイクロプロセッサまたはマイクロコントローラ上でコンピュータプログラムを規定通り実行する間に,サイクリックなランにおいて実施することができる。その場合にセルフテストは,計算機コアのゲートを規定通りの機能について検査する。
計算機コアのセルフテストは,ビルトインセルフテスト(Built−In−Self−Test/BIST)と称される。種々のセルフテスト方法が,例えばDE4305288A1とベール,E他の論文「フェイルストップコントローラAE11」(Boehl,E.et al.,“The Fail−Stop Controller AE11”, International Test Conference, Paper 24.1, p.567−577, 0−7803−4209−7/79, 1997 IEEE)から知られている。これらの文献を,はっきりと参照する。
「マイクロプロセッサまたはマイクロコントローラ上のコンピュータプログラムの規定通りの実行」というのは,例えば制御装置のマイクロプロセッサまたはマイクロコントローラ上で制御プログラムが実行されることであって,その制御プログラムによってマイクロプロセッサあるいはマイクロコントローラはそもそも初めて,その制御機能を満たすことができるようにされる。マイクロプロセッサまたはマイクロコントローラの計算機コアは,中央演算ユニット(CPU)またはコアと称される。
車両制御装置の領域からは,制御装置の規定通りの駆動の間に制御装置の計算機コアの機能を検査するために,同一の計算能力を有する2つの計算機を設けることが知られている。これは,冗長な計算機コンセプトとも称される。2つの計算機上で,開ループ制御アルゴリズムあるいは閉ループ制御アルゴリズムが実行される。2つの計算機の開ループ制御アルゴリズムあるいは閉ループ制御アルゴリズムの結果が,常に互いに比較される。結果が互いに意味のあるようにずれている場合には,2つの計算機の一方におけるエラーと仮定されて,エラーのある開ループ制御あるいは閉ループ制御を防止するために,システム全体がオフにされる。
しかし,制御装置のマイクロプロセッサまたはマイクロコントローラの計算機コアの規定通りの機能を検査する,従来技術から知られているこの方法においては,制御装置を規定通り駆動した場合に,即ち,開ループ制御プログラムあるいは閉ループ制御プログラムを処理した場合に初めて発生するエラーが,開ループ制御機能あるいは閉ループ制御機能が特に重要である時点において,制御装置のオフをもたらす,という欠点がある。例えば車両のための安定性制御の場合に,車両がまさに横滑りしようとする場合に,制御がアクティブになる。このような状況において,制御装置の計算機コアのエラーが検出されて,制御装置がオフにされて,それによって制御が非作動にされた場合には,それが車両の横滑りまでに至る危険な状況をもたらす可能性がある。
これらの欠点に対処するために,例えばDE19500188A1から知られた,いわゆるダイバーシティ計算機コンセプトが開発されており,その計算機コンセプトにおいては,第1の計算機,いわゆるアルゴリズム計算機は,第2の計算機,いわゆるモニタ計算機よりも能力が大きい。アルゴリズム計算機上では,本来の開ループ制御あるいは閉ループ制御アルゴリズムとさらにコントロール計算が実行される。コントロール計算は,開ループ制御あるいは閉ループ制御アルゴリズムと同じマイクロプロセッサまたはマイクロコントローラ上で実施されるが,異なるタイムスライスにおいて実施される。コントロール計算を呼び出すたびに,計算機コアの所定領域,即ち所定のゲートが規定通りの機能について検査される。コントロール計算によって,アルゴリズム計算機の計算機コアのエラーは,それが規定通り駆動されない場合,即ち開ループ制御あるいは閉ループ制御プログラムが処理されない場合にも,認識することができる。コントロール計算は,一種のセルフテストと称することができる。
モニタ計算機上では,同じコントロール計算が実行される。コントロール計算の結果が互いに比較されて,結果が互いに意味のあるように異なっている場合に,アルゴリズム計算機の計算機コア内のエラーが仮定されて,エラーのある開ループ制御あるいは閉ループ制御を防止するために,このアルゴリズム計算機がオフにされる。コントロール計算によって,アルゴリズム計算機の計算機コアの全てのゲートの80%〜85%までのテストカバーを得ることができる。
アルゴリズム計算機の計算機コアのゲートの,残りの15%〜20%は,相変わらず,モニタ計算機上の開ループ制御あるいは閉ループ制御アルゴリズムのモデリングおよびモデリングした結果とアルゴリズム計算機の実際の結果との比較を用いて規定通りの機能について検査しなければならない。従って,計算機コアのゲートのこの15%〜20%については,相変わらず上述した問題,即ち,エラーが場合によってはアルゴリズムを規定通り駆動した場合に初めて,即ち,例えば開ループ制御あるいは閉ループ制御プログラムを処理した場合に初めて発生して,認識できる,ということが生じる。さらに,モニタ計算機内の開ループ制御あるいは閉ループ制御のモデリングは,本来の開ループ制御あるいは閉ループ制御アルゴリズムが変化した場合には,モデルも変更しなければならないことをもたらす。従って,常に,一方では本来の開ループ制御あるいは閉ループ制御アルゴリズムを,他方ではモデルを展開するために,常に2つのグループの開発者がそれに従事する。これは,著しい人的およびコスト的消費を意味している。
本発明の課題は,マイクロプロセッサまたはマイクロコントローラの計算機コアを,上述した欠点が回避されるように,規定通りの機能について検査することである。特に,機能検査は,マイクロプロセッサまたはマイクロコントローラが規定通りに駆動された場合に初めて発生するようなエラーも早期に検出することができるようにし,また開ループ制御あるいは閉ループ制御のためのモデルの使用もできるだけ回避しようとしている。
この課題を解決するために,冒頭で挙げた種類の方法に基づいて,計算機コアの少なくとも,その状態がマイクロプロセッサまたはマイクロコントローラ上のコンピュータプログラムの規定通りの実行に作用を有するゲートが,セルフテストのランの間に検査されることが,提案される。
本発明によれば,計算機コア内に,その状態がマイクロプロセッサまたはマイクロコントローラ上のコンピュータプログラムの規定通りの実行に作用しない,幾つかのゲートがあることが認識された。従って,これらのゲートのエラー,例えば縮退0(Stuck at 0)または縮退1(Stuck at 1)は,コンピュータプログラムの実行とそれに伴ってマイクロプロセッサまたはマイクロコントローラの規定通りの機能に何ら作用しない。さらに,マイクロプロセッサの規定通りの機能を保証することができるようにするために,これらのゲートをセルフテストによって検査する必要がないことが認識された。
本発明にとって,重要なことは,まず,セルフテストに含まれない全てのゲートを求めて,こられのゲートの状態が重要ではないこと,即ちマイクロプロセッサまたはマイクロコントローラ上の所定のコンピュータプログラムの規定通りの実行に何ら作用を持たないことを証明することである。本発明によれば,計算機コアの全てのゲートの完全なテストカバーは得られないが,重要なゲートは全て検査される。セルフテストによってカバーされないゲートを検査するための,例えば開ループ制御あるいは閉ループ制御アルゴリズムによる,コンピュータプログラムのモデリングは,本発明においては省略することができる。というのは,これらのゲートはいずれにせよ,コンピュータプログラムの規定通りの実行に何ら作用を持たないからである。
本発明の好ましい展開によれば,セルフテストが,
−計算機コアのためのセルフテストのパターンが形成され;
−計算機コアの,セルフテストのパターンによってランの間に検査されないゲートの状態が,マイクロプロセッサまたはマイクロコントローラ上のコンピュータプログラムの規定通りの実行に作用を有するか,が検査され;
−計算機コアの,セルフテストのパターンによってランの間に検査されない,少なくとも1つのゲートの状態が,マイクロプロセッサまたはマイクロコントローラ上のコンピュータプログラムの規定通りの実行に作用を有している場合には,セルフテストのパターンが,付加的に計算機コアの少なくとも,セルフテストのパターンによって検査されておらず,かつその状態がマイクロプロセッサまたはマイクロコントローラ上のコンピュータプログラムの規定通りの実行に作用を有しているゲートが検査されるように,拡張されることによって,完成されたセルフテストが形成され;かつ,
−計算機コアの,セルフテストのパターンによってランの間に検査されないゲートの状態が,マイクロプロセッサまたはマイクロコントローラ上のコンピュータプログラムの規定通りの実行に何ら作用を持たない場合には,セルフテストのパターンが完成したセルフテストとして利用される,
ことよって形成されることが提案される。
本発明の好ましい実施形態によれば,計算機コアの,セルフテストのパターンによってランの間に検査されないゲートの状態が,マイクロプロセッサまたはマイクロコントローラ上のコンピュータプログラムの規定通りの実行に作用を有するか,を検査する前に,計算機コアのどのゲートがセルフテストのパターンによってランの間に検査されないか,を求めることが,提案される。
好ましくは,計算機コアのどのゲートがセルフテストのパターンによってランの間に検査されないかを求めることは,エミュレータ上で実施され,そのエミュレータ上に計算機コアのゲート構造が少なくとも部分的にコピーされている。
好ましくは,計算機コアの,セルフテストのパターンによってランの間に検査されないゲートの状態が,マイクロプロセッサまたはマイクロコントローラ上のコンピュータプログラムの規定通りの実行に作用を有するかを検査することは,エミュレータ上で実施され,そのエミュレータ上には計算機コアのゲート構造が少なくとも部分的にコピーされている。
本発明の課題の他の解決として,冒頭で挙げた種類のセルフテストに基づいて,セルフテストがランの間計算機コアの少なくとも,その状態がマイクロプロセッサまたはマイクロコントローラ上のコンピュータプログラムの規定通りの実行に作用を有するゲートを検査することが提案される。
本発明の課題のさらに他の解決として,冒頭で挙げた種類のマイクロプロセッサまたはマイクロコントローラに基づいて,マイクロプロセッサまたはマイクロコントローラ上に含まれているセルフテストは,ランの間に計算機コアの少なくとも,その状態がマイクロプロセッサまたはマイクロコントローラ上のコンピュータプログラムの規定通りの実行に作用を有するゲートを検査することが,提案される。
本発明によれば,計算機コア内に,その状態がマイクロプロセッサまたはマイクロコントローラ上のコンピュータプログラムの規定通りの実行に作用しない,幾つかのゲートがあることが認識された。従って,これらのゲートのエラー,例えば縮退0(Stuck at 0)または縮退1(Stuck at 1)は,コンピュータプログラムの実行とそれに伴ってマイクロプロセッサまたはマイクロコントローラの規定通りの機能に何ら作用しない。さらに,マイクロプロセッサの規定通りの機能を保証することができるようにするために,これらのゲートをセルフテストによって検査する必要がないことが認識された。
本発明の他の特徴,利用可能性および利点は,図面に示す本発明の実施例についての,以下の説明から明らかにされる。その場合に全ての記載あるいは図示されている特徴は,それ自体または任意の組合わせにおいて,特許請求の範囲におけるその要約またはその帰属に関係なく,かつ明細書あるいは図面におけるその表現あるいは表示に関係なく,本発明の対象を形成する。
図4には,本発明に基づくマイクロプロセッサが,その全体を参照符号30で示されている。好適なデータ伝送接続35を介してマイクロプロセッサ30はメインメモリ31および入/出力ユニット32と接続されている。メインメモリ31は,計算量とコンピュータプログラムを記憶するために用いられる。入/出力ユニット32を介して,データが周辺機器から読み込まれ,かつ周辺機器へ出力される。
マイクロプロセッサ30は,計算機コア36を有しており,その計算機コアは中央演算装置(CPU)またはコアとも称される。マイクロプロセッサ30は,制御装置33と演算装置34を有している。制御装置33は,プロセッサ30の内部のシーケンス制御およびメインメモリ31と入/出力ユニット32の駆動を司る。制御装置は,メインメモリ31からコンピュータプログラムの指令の読出しを行わせ,それを解釈し,その実施を制御する。処理すべきオペランドが,メインメモリ31から読み出され,あるいは入/出力ユニット32を介して演算装置34へ入力されて,結果がメインメモリ31へ書き込まれ,あるいは入/出力ユニット32を介して出力される。その場合に演算装置34は,オペランドと結果の中間記憶を司り,これらのオペランドにより論理的および算術的演算を実施する。
外部のメインメモリ31の他に,マイクロプロセッサ30自体幾つかのメモリスペースを有している。その幾つかは,プロセッサ30の内部の特殊なシーケンスのために設けられており,マシンあるいはアッセンブラプログラミングのためには直接提供されない。他は,メインメモリ31のメモリセルのようにはっきりと選択することができ,従ってプログラマにとって「見ることができる」。
計算機コア36の回路は,主として複数のトランジスタ(図示せず)から構築されている。複数のトランジスタを,ゲートにまとめることができる。ゲートの出力は,ノードと称される。ノードは,各時点で一義的な動態を有する計算機コアの回路の点として記述することができる。計算機コアは,例えば,各々約10〜100のトランジスタを有する約100,000のゲートを有している。
本発明に基づく方法をその上で同様に実施することのできる,マイクロコントローラは,ベール,E他の論文「フェイルストップコントローラAE11」(Boehl,E.et al.,“The Fail−Stop Controller AE11”, International Test Conference, Paper 24.1, p.567−577, 0−7803−4209−7/79, 1997 IEEE)から知られている。この印刷物を,明確に参照する。
図2には,例えばDE19500188A1から知られているような,ダイバーシティ計算機コンセプトが示されている。この公報を,明確に参照する。この計算機コンセプトは,車両制御装置のマイクロコントローラ30の計算機コア36を規定通りの機能について検査するための,従来技術から知られた方法を実施するために用いられる。
ダイバーシティ計算機コンセプトにおいては,2つの計算機が設けられている。第1の計算機,いわゆるアルゴリズム計算機1は,第2の計算機,いわゆるモニタ計算機2よりも能力が大きい。アルゴリズム計算機1上では,本来の開ループ制御あるいは閉ループ制御アルゴリズム3を有するコンピュータプログラムが実行される。さらに,アルゴリズム計算機1上で,コントロール計算(CR)4が実施される。コントロール計算4において,制限された範囲においてマイクロプロセッサ30によってテストプログラムが処理されて,出力信号が出力ユニット32を介して取り出されて評価される。コンピュータプログラムの一部としてソフトウェア的に実装されているコントロール計算4は,アルゴリズム計算機1によって,本来の開ループ制御あるいは閉ループ制御アルゴリズム3の実施に対して並列にタイムスライス内でオンラインで処理される。タイムスライス内でコントロール計算4を呼び出すたびに,計算機コア36の所定領域,即ち所定のゲートが規定通りの機能について検査される。コントロール計算4の完全なランのために,このコントロール計算は複数のタイムスライス内で呼び出される。コントロール計算のランの後に,計算機コア36の全てのゲートが検査されているわけではない。通常,コントロール計算において,アルゴリズム計算機1の計算機コア36の全てのゲートの約80%〜85%までのテストカバーが達成される。
モニタ計算機2上では,同様にコントロール計算(CR)4が実施される。その場合にモデル計算機2の計算機コア36のゲートの規定通りの機能が検査される。アルゴリズム計算機1上で実施されたコントロール計算4とモデル計算機2上で実施されたコントロール計算4の結果が,互いに比較される。結果が互いに意味のあるようにずれている場合には,アルゴリズム計算機1の計算機コア36内のエラーが仮定されて,エラーのある開ループ制御あるいは閉ループ制御を防止するために,このアルゴリズム計算機がオフにされる。
コントロール計算によって,アルゴリズム計算機1の計算機コア36のエラーは,この計算機コアが規定通りに駆動されない場合,即ち開ループ制御あるいは閉ループ制御プログラムが処理されない場合にも,検出することができる。コントロール計算は,ある種のセルフテストと称することができる。
アルゴリズム計算機1の計算機コア36のゲートの,コントロール計算に含まれない,残り15%〜20%は,モニタ計算機2上でのコンピュータプログラムの,即ち開ループ制御あるいは閉ループ制御アルゴリズムのモデリングおよびモニタ計算機2のモデリングされた結果とアルゴリズム計算機1の実際の結果との比較を用いて,規定通りの機能について検査しなければならない。モニタ計算機3上で,モデル6内に開ループ制御あるいは閉ループ制御アルゴリズム3がコピーされる。本来の開ループ制御あるいは閉ループ制御アルゴリズム3とモデリングされた開ループ制御あるいは閉ループ制御アルゴリズム6の結果が,互いに比較される。結果が互いに意味のあるようにずれている場合には,アルゴリズム計算機1の計算機コア36内のエラーが仮定されて,このアルゴリズム計算機がオフにされる。このようにしてコントロール計算によってカバーされない,マイクロプロセッサ30のゲートをエラーについて検査することができる。アルゴリズム計算機1のマイクロプロセッサ30のゲートのこの15%〜20%については,当然ながら,エラーは,必要に応じて,マイクロプロセッサ30が規定通り駆動された場合に,即ち開ループ制御あるいは閉ループ制御プログラムが処理された場合に初めて発生し,かつ認識することができる,という問題がある。さらに,モニタ計算機2内の開ループ制御あるいは閉ループ制御アルゴリズムのモデリング6は,開ループ制御あるいは閉ループ制御アルゴリズム3が変化した場合には,モデル6も変更しなければならないことをもたらす。
従って,本発明によれば,図1に示すダイバーシティ計算機コンセプトが提案され,その計算機コンセプトにおいては,既知のコントロール計算が完全なセルフテスト7,8,いわゆるビルトインセルフテスト(BIST)に拡張されている。BIST7のベースとして,半導体メーカーによって計算機コア36の製造の途中で使用されるテストベクトルを利用することができる。BIST7においては,テストプログラムはアルゴリズム計算機1によって処理されて,生成された結果(シグネチャ)が出力信号としてマイクロプロセッサ30の出力において取り出されて,評価される。
テスト結果を評価するために,このテスト結果はシリアルのデータインターフェイスを介してモニタ計算機2へ提供される。そこでアルゴリズム計算機1のBIST7とモニタ計算機2のBIST8のテスト結果が,互いに比較される。エラーが検出された場合には,供給電圧が次にオンにされるまで,アルゴリズム計算機1の安全遮断(ハードウェアリセット)が実施される。別体のモニタ計算機2の代わりに,第2の独立した計算機コンポーネントをアルゴリズム計算機1と共にASIC(Applicaiton Specific Integrated Circuit;利用固有回路)として共通のハードウェアモジュール上に集積することもできる。
マイクロプロセッサ30上で実行されるコンピュータプログラムの一部としてソフトウェア的に実装されたBIST7は,アルゴリズム計算機1によって,本来の開ループ制御あるいは閉ループ制御アルゴリズム3の実施に対して並列にタイムスライス内でオンラインで処理される。タイムスライス内でBIST7が呼び出されるたびに,計算機コア36の所定領域,即ち所定のゲートが規定通りの機能について検査される。BIST7のランのために,BISTは複数回呼び出されなければならない。BISTのランは,約数ミリ秒(例えば3ms)かかる。BISTのラン後に,アルゴリズム計算機1の計算機コアの全てのゲートの約90%〜95%のテストカバーが達成される。
BISTに含まれない,ゲートの残りの5%〜10%については,シミュレーションによって,これらのゲートの状態がマイクロプロセッサ30上で所定のコンピュータプログラムの,特に開ループ制御あるいは閉ループ制御アルゴリズムの規定通りの実行に作用を持たないことを証明することができる。従って,ゲートのこの5%〜10%までの規定通りの機能を保証するために,−従来技術の場合のように−コンピュータプログラムのモデル6を使用する必要はない。本発明に基づく方法によって,マイクロプロセッサ30の機能のアプリケーションに依存しない検査および同時に計算機コア36の全ての重要なゲートの完全な検査を得ることができる。
本発明に基づく方法を実現するためには,まず,アルゴリズム計算機1の計算機コア36のどのゲートがBIST7によって規定通りの機能について検査されるか,あるいははそのゲートがBIST7によって検出されないかが求められなければならない。その場合に,BIST7によって検出されないゲートについては,マイクロプロセッサ30上で実行される所定のコンピュータプログラムについて,このゲートの状態がコンピュータプログラムの規定通りの実行に作用を有するかを求めなければならない。
両者は,シミュレーション計算機,いわゆるシリコンエミュレータによって求めることができる。シミュレーション計算機上で,計算機コア36のゲート構造がプログラミング可能なゲート回路(FPGA;Field Programmable Gate Arrays)内にコピーされる。シミュレーション計算機は,計算機コア36のメーカーから出されて,計算機コア36の動態を記述するネットワークリストを用いてプログラミングされる。ゲート回路は,計算機,特にワークステーションから制御され,かつ操作される,エミュレーションボックス内にある。エミュレーションボックスとワークステーションが,シミュレーション計算機を形成する。
BISTの有効性は,エラーシミュレーション方法によって証明される。シミュレーションは,パーセンテージで表した変量として,エラーカバーの度合いのための指数を提供する。エラーシミュレーションにおいて,指令テストのために,指令テストプログラムがシミュレーション計算機上でアルゴリズム計算機1の計算機コア36のエラーのないモデルとエラーのあるモデルによって駆動される。指令テストプログラムが偏差を確認した場合に,エラーが認識される。全ての指令テストプログラム全体が計算機コア36のBIST7を形成する。BISTによって発見されない各個別エラーは,他の実行において,次のステップ内で実施すべきエラーエミュレーションのインプット変数である。
エラーエミュレーションは,コンピュータプログラムの規定通りの実行に対するゲートの状態の作用を求めるために,シミュレーション計算機のゲートモデル上で実施される。エラーエミュレータがアルゴリズム計算機1の周辺機器と協働するという事実に基づいて,BISTによって発見されないエラーの,システム全体に及ぼす作用を定めることができる。
エラーシミュレーションとエラーエミュレーションの範囲内で,アルゴリズム計算機1の計算機コア36の,一方ではBISTによって検出されず,他方ではコンピュータプログラムの規定通りの実行に作用を有するゲートが発見された場合には,BISTをそれに応じて拡張し,または変更することができるので,このゲートもBISTによって検出される。従ってBIST7は,反復プロセスにおいて,全部の危機的な残留エラーが認識され,従ってシステム安全性が保証されるように拡張される。
図3には,本発明に基づく方法のフローチャートが示されている。方法は,機能ブロック10で開始される。機能ブロック11においては,アルゴリズム計算機1の計算機コア36のためのBISTのパターンが形成される。このパターンは,後にマイクロプロセッサ30上で実行すべきコンピュータプログラム(例えば,開ループ制御あるいは閉ループ制御アルゴリズムを有する)に関係なく形成することができる。しかし,また,BISTのパターンにおいて,後にマイクロプロセッサ30上で実行すべきコンピュータプログラムを既に考慮することも考えられる。パターンの形成は,通常,計算機コア36のメーカーにおいて行われる。
機能ブロック12においては,BISTのパターンのためのパターンの有効性を求めるため,即ちパターンのどのゲートが検査されないか,を検出するために,エラーシミュレーションが実施される。その後,機能ブロック13において,エラーエミュレーションが実施される。エラーシミュレーションとエラーエミュレーションは,両者とも,マイクロプロセッサ30上で実行されるコンピュータプログラムのメーカーにおいてシミュレーション計算機内で実施される。エラーエミュレーションにおいては,各々,BISTのパターンによってランの間に検査されないゲートについて,ゲートの状態がマイクロプロセッサ30上のコンピュータプログラムの規定通りの実行に作用を有するかが求められる。そうである場合には,判断ブロック14から機能ブロック15へ分岐して,そこで実際のゲートの名称がエラーメモリに格納される。しかし,実際に考察されたゲートの状態がコンピュータプログラムの実行に作用を有していない場合には,他の判断ブロック16へ分岐して,そこで,BISTのパターンによって検出されない全てのゲートが検査されたかが調べられる。そうでない場合には,機能ブロック17へ分岐して,そこで次のゲートが実際のゲートとして選択される。判断ブロック16へは,機能ブロック15からも分岐が行われる。
BISTのパターンによって検出されない全てのゲートが検査された場合には,機能ブロック18へ分岐して,そこでエラーメモリが読み出される。判断ブロック19において,エラーメモリが空であるかが検査される。そうである場合には,機能ブロック20へ分岐して,そこでBISTの実際のパターンが完成したBIST7として利用される。その後機能ブロック21において,本発明に基づく方法が終了する。
しかし,BISTのパターンによってランの間に検査されなかった,計算機コア36の少なくとも1つのゲートの状態が,マイクロプロセッサ30上のコンピュータプログラムの規定通りの実行に作用を有する場合(エラーメモリは空ではない),判断ブロック19から機能ブロック11へ分岐して,そこでエラーメモリの内容を考慮しながら再度BISTのパターンが形成される。
この再帰的方法は,判断ブロック19内の条件(エラーメモリは空か?)が満たされるまでの間実行される。従って,本発明によれば,再帰的な方法で各々のコンピュータプログラムにとって最適なBISTが求められる。
マイクロプロセッサを規定通りの機能について検査する,本発明に基づく方法を実現するためのダイバーシティ計算機コンセプトを示している。 マイクロプロセッサを規定通りの機能について検査する,従来技術から知られた方法を実現するためのダイバーシティ計算機コンセプトを示している。 本発明に基づく方法のフローチャートである。 本発明に基づくマイクロプロセッサを示している。

Claims (4)

  1. マイクロプロセッサ(30)またはマイクロコントローラ内の計算機コア(36)の適正な機能を検査するためのセルフテストを形成する方法であって、前記計算機コア(36)が複数のトランジスタを各々に備えた複数のゲートを有し、前記マイクロプロセッサ(30)またはマイクロコントローラ上でのコンピュータプログラム(3)の適正な実行中にセルフテスト(7)が周期的に実行され、前記セルフテスト(7)が前記計算機コア(36)内のゲートを検査する方法において、
    前記セルフテスト(7)が実行されると、前記計算機コア(36)内のゲートのうちゲートの状態が前記マイクロプロセッサ(30)またはマイクロコントローラ上での前記コンピュータプログラム(3)の適正な実行に影響を及ぼす少なくとも1つのゲートが検査され、
    前記セルフテスト(7)の形成は、
    前記計算機コア(36)について前記セルフテスト(7)の暫定パターンを形成するステップ(11)と、
    前記計算機コア(36)内のゲートのうち前記セルフテスト(7)の実行中に前記セルフテスト(7)の暫定パターンにより検査されないゲートの状態が、前記マイクロプロセッサ(30)またはマイクロコントローラ上での前記コンピュータプログラム(3)の適正な実行に影響を及ぼすかを検査するステップ(14)と、
    前記計算機コア(36)内のゲートのうち前記セルフテスト(7)の実行中に前記セルフテスト(7)の暫定パターンにより検査されない少なくとも1つのゲートの状態が、前記マイクロプロセッサ(30)またはマイクロコントローラ上での前記コンピュータプログラム(3)の適正な実行に影響を及ぼす場合には、前記セルフテスト(7)の暫定パターンにより検査されず、かつゲートの状態が前記マイクロプロセッサ(30)またはマイクロコントローラ上での前記コンピュータプログラム(3)の適正な実行に影響を及ぼす少なくとも1つのゲートが追加的に検査されるように、前記セルフテスト(7)の最終パターンを形成するステップと、
    前記計算機コア(36)内のゲートのうち前記セルフテスト(7)の実行中に前記セルフテスト(7)の暫定パターンにより検査されない全てのゲートの状態が、前記マイクロプロセッサ(30)またはマイクロコントローラ上での前記コンピュータプログラム(3)の適正な実行に影響を及ぼさない場合には、前記セルフテスト(7)の暫定パターンを前記セルフテスト(7)の最終パターンとして利用するステップ(20)と、
    を含むことを特徴とする、セルフテストを形成する方法。
  2. 前記計算機コア(36)内のゲートのうち前記セルフテスト(7)の実行中に前記セルフテスト(7)の暫定パターンにより検査されない少なくとも1つのゲートの状態が、前記マイクロプロセッサ(30)またはマイクロコントローラ上での前記コンピュータプログラム(3)の適正な実行に影響を及ぼすかを判定する検査(14)に先立って、前記計算機コア(36)内のゲートのうち前記セルフテスト(7)の実行中に前記セルフテスト(7)の暫定パターンにより検査されないゲートが確認されることを特徴とする、請求項1に記載の方法。
  3. 前記計算機コア(36)内のゲートのうち前記セルフテスト(7)の実行中に前記セルフテスト(7)の暫定パターンにより検査されないゲートの確認(11)は、前記計算機コア(36)のゲート構造が少なくとも部分的にマッピングされたエミュレータ上で実行されることを特徴とする、請求項2に記載の方法。
  4. 前記計算機コア(36)内のゲートのうち前記セルフテスト(7)の実行中に前記セルフテスト(7)の暫定パターンにより検査されないゲートの状態が、前記マイクロプロセッサ(30)またはマイクロコントローラ上での前記コンピュータプログラム(3)の適正な実行に影響を及ぼすかを判定する検査(14)は、前記計算機コア(36)のゲート構造が少なくとも部分的にマッピングされたエミュレータ上で実行されることを特徴とする、請求項1〜3のいずれかに記載の方法。
JP2003535063A 2001-09-28 2002-07-30 マイクロプロセッサまたはマイクロコントローラの計算機コアを検査する方法 Expired - Fee Related JP4205583B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE10148032A DE10148032A1 (de) 2001-09-28 2001-09-28 Verfahren zum Überprüfen eines Rechnerkerns eines Mikroprozessors oder eines Mikrocontrollers
PCT/DE2002/002790 WO2003032162A2 (de) 2001-09-28 2002-07-30 Verfahren zum überprüfen eines rechnerkerns eines mikroprozessors oder eines mikrocontrollers

Publications (2)

Publication Number Publication Date
JP2005505078A JP2005505078A (ja) 2005-02-17
JP4205583B2 true JP4205583B2 (ja) 2009-01-07

Family

ID=7700735

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003535063A Expired - Fee Related JP4205583B2 (ja) 2001-09-28 2002-07-30 マイクロプロセッサまたはマイクロコントローラの計算機コアを検査する方法

Country Status (7)

Country Link
US (1) US7155351B2 (ja)
EP (1) EP1433061B1 (ja)
JP (1) JP4205583B2 (ja)
CN (1) CN1311356C (ja)
DE (2) DE10148032A1 (ja)
ES (1) ES2260474T3 (ja)
WO (1) WO2003032162A2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102004024386A1 (de) * 2004-05-17 2005-12-15 Siemens Ag Verfahren und Schaltungsanordnung zum Testen von Funktionen und/oder Algorithmen, die in elektronischen Schaltungen implementiert sind
JP5509568B2 (ja) * 2008-10-03 2014-06-04 富士通株式会社 コンピュータ装置、プロセッサ診断方法、及びプロセッサ診断制御プログラム
DE102011005766A1 (de) * 2011-03-18 2012-09-20 Zf Friedrichshafen Ag Steuergerät für ein Kraftfahrzeug
CN110502378B (zh) * 2019-08-16 2022-11-22 兆讯恒达科技股份有限公司 一种配置多算法协处理器自检的方法

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4726024A (en) * 1986-03-31 1988-02-16 Mieczyslaw Mirowski Fail safe architecture for a computer system
DE3737713A1 (de) 1987-11-06 1989-05-18 Steve Cordell Verfahren zur durchfuehrung einer pruefung und abnahme eines elektronischen geraetes
US5195095A (en) 1990-12-28 1993-03-16 General Electric Company Algorithm for identifying tests to perform for fault isolation
DE4139151A1 (de) * 1991-11-28 1993-06-03 Siemens Ag Verfahren zum selbsttest von mikroprogrammierten prozessoren
DE4305288A1 (de) 1993-02-20 1994-08-25 Bosch Gmbh Robert Selbsttestverfahren für nicht-reguläre CMOS-Schaltstrukturen mit hoher Defekterfassung
DE19500188B4 (de) 1995-01-05 2006-05-11 Robert Bosch Gmbh Schaltungsanordnung für eine Bremsanlage
US5732209A (en) * 1995-11-29 1998-03-24 Exponential Technology, Inc. Self-testing multi-processor die with internal compare points
US5963566A (en) * 1996-12-18 1999-10-05 Lsi Logic Corporation Application specific integrated circuit chip and method of testing same
US5937154A (en) * 1997-03-05 1999-08-10 Hewlett-Packard Company Manufacturing functional testing of computing devices using microprogram based functional tests applied via the devices own emulation debug port
US5991898A (en) * 1997-03-10 1999-11-23 Mentor Graphics Corporation Arithmetic built-in self test of multiple scan-based integrated circuits
US6408413B1 (en) * 1998-02-18 2002-06-18 Texas Instruments Incorporated Hierarchical access of test access ports in embedded core integrated circuits
US6701476B2 (en) * 2001-05-29 2004-03-02 Motorola, Inc. Test access mechanism for supporting a configurable built-in self-test circuit and method thereof
US6948096B2 (en) * 2001-07-31 2005-09-20 Intel Corporation Functional random instruction testing (FRIT) method for complex devices such as microprocessors
KR100430074B1 (ko) * 2002-01-08 2004-05-03 학교법인 한양학원 시스템칩 테스트 접근을 위한 랩드 코아 연결 모듈
US7577540B2 (en) * 2002-03-01 2009-08-18 Nec Corporation Re-configurable embedded core test protocol for system-on-chips (SOC) and circuit boards
US20040006729A1 (en) * 2002-07-03 2004-01-08 Pendurkar Rajesh Y. Hierarchical test methodology for multi-core chips
EP1496435A1 (en) * 2003-07-11 2005-01-12 Yogitech Spa Dependable microcontroller, method for designing a dependable microcontroller and computer program product therefor
US20060020411A1 (en) * 2004-07-22 2006-01-26 Elias Gedamu Built-in self-test emulator
US7818645B2 (en) * 2004-07-22 2010-10-19 Hewlett-Packard Development Company, L.P. Built-in self-test emulator
US20060031789A1 (en) * 2004-07-22 2006-02-09 Elias Gedamu Built-in self-test emulator
US20060020442A1 (en) * 2004-07-22 2006-01-26 Elias Gedamu Built-in self-test emulator

Also Published As

Publication number Publication date
JP2005505078A (ja) 2005-02-17
CN1561488A (zh) 2005-01-05
WO2003032162A3 (de) 2004-03-11
US20050033533A1 (en) 2005-02-10
US7155351B2 (en) 2006-12-26
ES2260474T3 (es) 2006-11-01
EP1433061B1 (de) 2006-03-15
DE10148032A1 (de) 2003-04-24
WO2003032162A2 (de) 2003-04-17
CN1311356C (zh) 2007-04-18
DE50206090D1 (de) 2006-05-11
EP1433061A2 (de) 2004-06-30

Similar Documents

Publication Publication Date Title
US5561762A (en) Malicious fault list generation method
US7340658B2 (en) Technique for combining scan test and memory built-in self test
US20070050740A1 (en) Method and System for Performing Functional Formal Verification of Logic Circuits
US20150377961A1 (en) System and method for testing a logic-based processing device
US20040034823A1 (en) Embedded sequence checking
CN114065677A (zh) 用于集成电路硬件设计的故障注入测试的方法和系统
Höller et al. FIES: a fault injection framework for the evaluation of self-tests for COTS-based safety-critical systems
US20180145041A1 (en) Self-test capable integrated circuit apparatus and method of self-testing an integrated circuit
Chen et al. Testing for interconnect crosstalk defects using on-chip embedded processor cores
US5740183A (en) Method and apparatus for the operational verification of a microprocessor in the presence of interrupts
CN111033630A (zh) 具有mbist的多处理器内核设备
RU2451990C2 (ru) Способ обработки объема данных, используемого во время фазы отладки функционального программного обеспечения системы, установленной на борту летательного аппарата, и устройство для его осуществления
KR20200139788A (ko) 데이터 변환 파이프라인용 하드웨어 설계 검증
da Silva et al. Special session: Autosoc-a suite of open-source automotive soc benchmarks
WO2010047946A1 (en) Snapshot based emulation by replaying of stored input signals in a selected time period
Eychenne et al. An effective functional safety infrastructure for system-on-chips
US20050154573A1 (en) Systems and methods for initializing a lockstep mode test case simulation of a multi-core processor design
JP4205583B2 (ja) マイクロプロセッサまたはマイクロコントローラの計算機コアを検査する方法
Backhausen et al. Robustness in automotive electronics: An industrial overview of major concerns
US20060129880A1 (en) Method and system for injecting faults into a software application
Bohl et al. The fail-stop controller AE11
US10528689B1 (en) Verification process for IJTAG based test pattern migration
US20070220338A1 (en) Method and system for generating checkpoints of hardware description language simulations that include a specific model state together with a software testcase state
US10796047B2 (en) Functional safety synthesis
Fruehling Delphi secured microcontroller architecture

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050708

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20071211

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080311

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080507

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080807

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: 20080916

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20081016

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111024

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4205583

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111024

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121024

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121024

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131024

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees