(57)【特許請求の範囲】
【請求項１】
テスト対象回路におけるテストパタンの実行結果を用いて、前記テスト対象回路の正常性を判定する第１及び第２の診断コントローラを有する検査回路と、
前記第１の診断コントローラから出力される前記テスト対象回路の正常性判定結果と、前記第２の診断コントローラから出力される前記テスト対象回路の正常性判定結果とを比較して、前記検査回路の正常性を判定する検査回路判定部と、
前記第１の診断コントローラが前記テスト対象回路におけるテストパタンの実行結果を取得するタイミングよりも、前記第２の診断コントローラが前記テスト対象回路におけるテストパタンの実行結果を取得するタイミングを遅らせる第１の遅延部と、を備える自己診断システム。
【請求項２】
前記第１及び第２の診断コントローラは、
前記テスト対象回路におけるテストパタンの実行結果と、メモリに格納されている前記テストパタンを実行した際の期待値とを比較して、前記テスト対象回路の正常性を判定する、請求項１記載の自己診断システム。
【請求項３】
前記テスト対象回路におけるテストパタンの実行結果を示す信号を反転して前記第１の診断コントローラへ出力する第１の反転回路と、
前記第１の反転回路から出力された前記テストパタンの実行結果をさらに反転させる第２の反転回路と、をさらに備える請求項１又は２のいずれか１項に記載の自己診断システム。
【請求項４】
メモリに格納されている前記テストパタンを実行した際の期待値を前記第１の診断コントローラが、前記メモリから取得するタイミングよりも、前記第２の診断コントローラが前記メモリから前記期待値を取得するタイミングを遅らせる第２の遅延部をさらに備える、請求項１乃至３のいずれか１項に記載の自己診断システム。
【請求項５】
メモリに格納されている前記テストパタンを実行した際の期待値を反転して前記第２の診断コントローラへ出力する第３の反転回路をさらに備える請求項１乃至４のいずれか１項に記載の自己診断システム。
【請求項６】
前記メモリは、前記第１及び第２の診断コントローラの動作タイミングを制御する診断コントローラ制御信号を有し、
前記第１の診断コントローラが、前記診断コントローラ制御信号を取得するタイミングよりも、前記第２の診断コントローラが前記診断コントローラ制御信号を取得するタイミングを遅らせる第３の遅延部をさらに備える、請求項２、４及び５のいずれか１項に記載の自己診断システム。
【請求項７】
前記検査回路判定部が、前記第１の診断コントローラから出力される正常性判定結果と、前記第２の診断コントローラから出力される正常性判定結果とを取得するタイミングとを合わせるように、前記第１の診断コントローラから出力される正常性判定結果を遅延させて前記検査回路判定部へ出力する第４の遅延部をさらに備える、請求項６記載の自己診断システム。
【請求項８】
前記メモリから出力される前記診断コントローラ制御信号を反転して出力する第４の反転回路と、
前記第４の反転回路から出力された前記診断コントローラ制御信号をさらに反転して、前記第２の診断コントローラへ出力する第５の反転回路と、をさらに備える請求項６又は７記載に記載の自己診断システム。
【請求項９】
前記第１及び第２の診断コントローラは、
テストパタンを格納しているメモリから、前記テストパタン、前記期待値及び前記診断コントローラ制御信号の読み出しを行うメモリ制御信号を前記メモリへ出力し、
前記第１及び第２の診断コントローラから出力されるそれぞれのメモリ制御信号を比較する比較部をさらに備え、
前記検査回路判定部は、
前記比較部における比較結果に応じて、前記メモリ制御信号の正常性を判定する、請求項６に記載の自己診断システム。
【請求項１０】
前記比較部が、前記第２の診断コントローラから出力されるメモリ制御信号を取得するタイミングと、前記第１の診断コントローラから出力されるメモリ制御信号を取得するタイミングとを合わせるように、前記第１の診断コントローラから出力されるメモリ制御信号を遅延させて前記比較部へ出力する第５の遅延部をさらに備える、請求項９に記載の自己診断システム。
【請求項１１】
前記第１又は第２の自己診断コントローラから出力される正常性判定結果を反転して前記検査回路判定部へ出力する第６の反転回路をさらに備える請求項１乃至１０のいずれか１項に記載の自己診断システム。
【請求項１２】
前記第１又は第２の自己診断コントローラから出力されるメモリ制御信号を反転して前記比較部へ出力する第７の反転回路をさらに備える請求項９に記載の自己診断システム。
【請求項１３】
メモリから前記第１の診断コントローラへ出力される信号の正常性を判定し、前記検査回路判定部へ出力する第１の誤り検出回路と、
前記メモリから前記第２の診断コントローラへ出力される信号の正常性を判定する第２の誤り検出回路と、
前記第２の誤り検出回路から出力される判定結果を示す信号を反転して出力する第８の反転回路と、を備える請求項１乃至１２のいずれか１項に記載の自己診断システム。
【請求項１４】
メモリから出力される信号を、前記第１の診断コントローラへ出力する経路と、前記第２の診断コントローラへ出力する経路とに分岐させる分岐部をさらに備え、
前記分岐部は、
前記メモリから前記分岐部までの距離よりも、前記分岐部から前記第１の診断コントローラ及び前記第２の診断コントローラまでの距離を長くするように、配置される、請求項１乃至１３のいずれか１項に記載の自己診断システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は自己診断システム及び検査回路判定方法に関し、特に冗長構成を有する検査回路を備える自己診断システム及び冗長構成を有する検査回路の判定方法に関する。
【背景技術】
【０００２】
近年、ＬＳＩ（Large Scale Integration）のテストを実行する際に用いられるＬＳＩテスタ機能をチップ内に搭載した自己組み込みテスト回路（ＢＩＳＴ：built-in self-test）に関する開発が盛んに行われている。ＢＩＳＴ回路を用いることにより、ＬＳＩテスタをチップの外部に設けた場合と比較して、ＬＳＩテストにおけるテスト時間及びテストコストを削減することができる。
【０００３】
特許文献１には、自己診断装置の構成が開示されている。自己診断装置は、半導体デバイスの自己診断を行うＢＩＳＴ回路を備えている。図１１を用いて特許文献１に開示されている自己診断装置の構成について説明する。自己診断装置は、複数の機能ブロック及び複数のＢＩＳＴ回路を有する半導体デバイス１５０及び１６０と、半導体デバイス１５０及び１６０を制御する主コントローラ４００と、ＢＩＳＴ回路を制御するためのＢＩＳＴコントローラ２００と、ＢＩＳＴコントローラ２００を制御するプログラムを格納したメモリ３００とから構成される。
【０００４】
ここで、半導体デバイス１５０及び１６０は、それぞれ診断対象の半導体デバイスである。半導体デバイス１５０は、機能ブロック１５１及び１５２を有するとともに、機能ブロック１５１に対して自己診断を実施するＢＩＳＴ回路２０１及び機能ブロック１５２に対して自己診断を実施するＢＩＳＴ回路２０２を有している。なお、ＢＩＳＴ回路２０１及び２０２は、半導体デバイス１５０の中に内蔵され、それぞれ機能ブロック１５１及び１５２の近傍に設けられる。同様に、半導体デバイス１６０は、機能ブロック１６１及び１６２を有するとともに、機能ブロック１６１の自己診断を行うＢＩＳＴ回路２１１及び機能ブロック１６２の自己診断を行うＢＩＳＴ回路２１２を有している。ＢＩＳＴ回路２０１及び２０２は、半導体デバイス１６０の中に内蔵され、それぞれ機能ブロック１６１及び１６２の近傍に設けられる。
【０００５】
ＢＩＳＴコントローラ２００は、信号線３０１、３０２、３１１及び３１２によって、それぞれＢＩＳＴ回路２０１、２０２、２１１及び２１２と接続され、各機能ブロックに対応した診断条件をＢＩＳＴ回路２０１、２０２、２１１及び２１２へ送信する。各ＢＩＳＴ回路は、ＢＩＳＴコントローラ２００から受信した診断条件を、診断すべき機能ブロックへ送信する。さらに、各ＢＩＳＴ回路は、機能ブロックから診断結果を受信すると、ＢＩＳＴコントローラ２００へ、その診断結果を送信する。ＢＩＳＴコントローラ２００は、各ＢＩＳＴ回路から受信した診断結果とメモリ３００とから受信した診断期待値とを照合する。メモリ３００は、信号線２１０によりＢＩＳＴコントローラ２００と接続され、各ＢＩＳＴ回路が各機能ブロックを診断するための診断条件、各機能ブロックに対する診断期待値及び各機能ブロックの診断結果を機能ブロック毎に記憶する。
【０００６】
主コントローラ４００は、図示されていない外部装置、例えば、試験用テスタ又はキーボードのようなヒューマンインタフェース装置と接続される。また、主コントローラ４００は、信号線２２０を介してＢＩＳＴコントローラ２００と接続され、入出力信号線４１０、４２０、４３０及び４４０を介してそれぞれの機能ブロックの入出力端子と接続される。主コントローラ４００は、外部のヒューマンインタフェース装置からの指示に基づいて、各機能ブロックを用いて、通常の数値演算または画像処理等の処理を行う。一方、主コントローラ４００は、外部のテスタから受信した診断パターンに基づいて各機能ブロックの診断を行うこともできる。また、主コントローラ４００は、ＢＩＳＴコントローラ２００で得られた各半導体デバイスの機能ブロックの自己診断結果を外部テスタなどに送信することができる。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００３−０６８８６５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
自己診断の信頼性向上分野において、欧州では自動車などについての基準適合性を政府が確認するために、ＥＣＵレベルの機能安全認証の取得が義務付けられている。このような背景に伴い、診断対象である機能ブロックのみの診断だけでなく、診断制御を行う検査回路の信頼性向上への対応の必要性が高まってきた。
【０００９】
特許文献１に開示されている自己診断装置は、自己診断において、診断対象である機能ブロックの診断は行われているが、診断制御を行う検査回路の信頼性が保障されていない。つまり、自己診断動作中のノイズによる誤動作、もしくは検査回路に障害が発生した場合に、機能ブロックの診断が正しく行われていないにも関わらず、自己診断結果を正しいと誤判定してしまう問題がある。
【課題を解決するための手段】
【００１０】
本発明の第１の態様にかかる自己診断システムは、テスト対象回路におけるテストパタンの実行結果を用いて、前記テスト対象回路の正常性を判定する第１及び第２の診断コントローラを有する検査回路と、前記第１の診断コントローラから出力される前記テスト対象回路の正常性判定結果と、前記第２の診断コントローラから出力される前記テスト対象回路の正常性判定結果とを比較して、前記検査回路の正常性を判定する検査回路判定部と、を備えるものである。
【００１１】
このような自己診断システムを用いることにより、検査回路内に冗長に構成された診断コントローラから出力されるテスト対象回路の正常性判定結果をそれぞれ取得することができる。そのため、それぞれの診断コントローラから出力される正常性判定結果を比較することにより、検査回路の正常性を判定することができる。
【００１２】
本発明の第２の態様にかかる検査回路判定方法は、テスト対象回路におけるテストパタンの実行結果を用いて、検査回路に含まれる第１及び第２の診断コントローラにおいて前記テスト対象回路の正常性を判定し、前記第１の診断コントローラから出力される前記テスト対象回路の正常性判定結果と、前記第２の診断コントローラから出力される前記テスト対象回路の正常性判定結果とを比較して、前記検査回路の正常性を判定するものである。
【００１３】
このような検査回路判定方法を用いることにより、検査回路内に冗長に構成された診断コントローラから出力されるテスト対象回路の正常性判定結果をそれぞれ取得することができる。そのため、それぞれの診断コントローラから出力される正常性判定結果を比較することにより、検査回路の正常性を判定することができる。
【発明の効果】
【００１４】
本発明により、テスト対象回路の診断を実行する検査回路の正常性を判定することができる自己診断システム及び検査回路判定方法を提供することができる。
【図面の簡単な説明】
【００１５】
【図１】実施の形態１にかかる自己診断システムの構成図である。
【図２】実施の形態１にかかる検査回路の正常性判定にかかるフローチャートである。
【図３】実施の形態２にかかる自己診断システムの構成図である。
【図４】実施の形態２にかかる検査回路内の信号のタイミングを示す図である。
【図５】実施の形態３にかかる自己診断システムの構成図である。
【図６】実施の形態３にかかる反転部を設けない場合の出力結果を示す図である。
【図７】実施の形態３にかかる反転部を設けた場合の出力結果を示す図である。
【図８】実施の形態３にかかる検査回路の正常性判定にかかるフローチャートである。
【図９】実施の形態３にかかる検査回路の正常性判定にかかるフローチャートである。
【図１０】実施の形態３にかかる検査回路の正常性判定にかかるフローチャートである。
【図１１】特許文献１にかかる自己診断装置の構成図である。
【発明を実施するための形態】
【００１６】
（実施の形態１）
以下、図面を参照して本発明の実施の形態について説明する。図１を用いて本発明の実施の形態１にかかる自己診断システムの構成例について説明する。自己診断システムは、テスト対象回路１０と、検査回路判定部２０と、検査回路３０とを備えている。
【００１７】
はじめに、テスト対象回路１０の構成例について説明する。テスト対象回路１０は、主コントローラ１１を有している。主コントローラ１１は、検査回路３０から取得したテストパタンを実行する。さらに、主コントローラ１１は、テストパタンの実行結果を検査回路３０へ出力する。テスト対象回路１０は、数値演算や、画像処理等を実行する機能ブロックである。
【００１８】
続いて、検査回路３０の構成例について説明する。検査回路３０は、診断コントローラ３１及び３２と、メモリ３３とを有している。さらに、診断コントローラ３１は、比較部３４と、保持部３５と、メモリ制御部３６とを有している。同様に、診断コントローラ３２は、比較部３７と、保持部３８と、メモリ制御部３９とを有している。検査回路３０は、入力されるクロックに応じて動作する。また、リセット信号がインアクティブに設定された場合に、診断コントローラ３１及び３２が起動される。
【００１９】
メモリ制御部３６は、メモリ３３に格納されているデータを読み出すために、メモリ制御信号をメモリ３３へ出力する。メモリ３３は、メモリ制御信号を取得すると、診断コントローラ３１及び３２と、主コントローラ１１に対して格納しているデータを出力する。メモリ３３から出力されるデータには、テスト対象回路１０において実行されるテストパタンと、診断期待値と、診断コントロール信号とが含まれている。
【００２０】
テストパタンは、主コントローラ１１へ入力される。主コントローラ１１は、取得したテストパタンを実行し、テスト対象回路１０の正常性確認を行う。診断期待値は、比較部３４及び３７に入力される。診断期待値は、テストパタンが実行された際に、正常に動作した場合に出力される値である。比較部３４及び３７は、主コントローラ１１からテストパタンの実行結果を取得する。比較部３４は、診断期待値と、テストパタンの実行結果とを比較する。比較部３４は、比較結果を保持部３５へ出力する。同様に、比較部３７も診断期待値と、テストパタンの実行結果とを比較し、比較結果を保持部３８へ出力する。
【００２１】
診断コントロール信号は、診断コントローラ３１及び３２の動作を制御するために用いられる信号である。例えば、診断コントローラ３１及び３２は、診断コントロール信号を取得することによって、比較部３４又は３７における、診断期待値とテストパタンの実行結果との比較処理を開始及び終了する。このようにして、診断コントロール信号を用いて、比較部３４又は３７における比較動作タイミングを制御することができる。また、診断コントロール信号を用いて、テスト対象回路１０におけるテストパタンの実行中は、メモリ制御部３６又は３９からメモリ３３に対するアクセスを禁止するように制御することができる。
【００２２】
保持部３５及び３８は、取得した比較結果を保持し、判定信号としてそれぞれ検査回路判定部２０へ出力する。比較部３４及び３７から出力される比較結果は、診断期待値と、テストパタンの実行結果とが一致する場合、ＰＡＳＳ信号が出力され、一致しない場合はＦＡＩＬ信号が出力される。ＰＡＳＳ信号は、テスト対象回路１０が正常動作していることを示し、ＦＡＩＬ信号は、テスト対象回路１０が正常に動作していない、つまりテスト対象回路１０に障害等が発生していることを示す。
【００２３】
検査回路判定部２０は、保持部３５及び３８から、ＰＡＳＳ信号もしくはＦＡＩＬ信号が設定された判定信号を取得する。検査回路判定部２０は、保持部３５及び３８から、それぞれＰＡＳＳ信号を取得した場合、テスト対象回路１０及び検査回路３０ともに正常であると判定する。検査回路判定部２０は、保持部３５及び３８から、それぞれＦＡＩＬ信号を取得した場合、テスト対象回路１０は異常であり、検査回路３０は正常であると判定する。検査回路判定部２０は、保持部３５及び３８から、異なる判定結果を取得した場合、つまり保持部３５（又は保持部３８）からＰＡＳＳ信号を取得し、保持部３８（又は保持部３５）からＦＡＩＬ信号を取得した場合、検査回路３０は異常であると判定する。この時、検査回路判定部２０は、検査回路３０が異常であると判定されるため、テスト対象回路１０の正常性判定を行うことができない。このような場合、検査回路判定部２０は、テスト対象回路１０も異常であると判定してもよい。検査回路判定部２０は、テスト対象回路１０及び検査回路３０の正常性判定結果を外部装置等へ出力する。
【００２４】
次に、図２を用いて本発明の実施の形態１にかかるテスト対象回路１０及び検査回路３０の正常性判定にかかる処理の流れについて説明する。
【００２５】
はじめに、検査回路３０は、取得したリセット信号がアクティブレベルに設定されているか、インアクティブレベルに設定されているかを判定する（Ｓ１）。ここで、リセット信号に設定されているレベル判定は、例えば、検査回路３０が有する制御部（図示せず）によって実施される。検査回路３０は、リセット信号がアクティブレベルに設定されていると判定した場合、ステップＳ１の処理を繰り返す。検査回路３０によって、リセット信号がインアクティブに設定されていると判定された場合、診断コントローラ３１及び３２が起動される（Ｓ２）。
【００２６】
次に、メモリ制御部３６からメモリ３３に対して、メモリ制御信号が出力される。もしくは、メモリ制御部３９からメモリ３３に対して、メモリ制御信号が出力されるようにしてもよい。これにより、メモリ３３が保持しているデータが読み出され、診断コントローラ３１及び３２と、テスト対象回路１０へデータが出力される（Ｓ３）。
【００２７】
次に、主コントローラ１１は、メモリ３３からテストパタンを取得し、テストパタンを用いてテスト対象回路１０の診断を行う（Ｓ４）。次に、主コントローラ１１は、テストパタンの実行結果を検査回路３０へ出力する（Ｓ５）。
【００２８】
次に、比較部３４は、主コントローラ１１から取得した実行結果と、メモリ３３から取得した診断期待値とを用いて、テスト対象回路１０の正常性判定を行う（Ｓ６）。実行結果と、診断期待値とが一致する場合、比較部３４は、ＰＡＳＳ信号を保持部３５へ出力する。ＰＡＳＳ信号は、テスト対象回路１０が正常であることを示す。実行結果と、診断期待値とが一致しない場合、比較部３４は、エラーフラグをセット、つまりＦＡＩＬ信号を保持部３８へ出力する（Ｓ８）。ＦＡＩＬ信号は、テスト対象回路１０が異常、つまり障害が発生していることを示す。また、比較部３７も、比較部３４と同様の処理を実行する（Ｓ９乃至Ｓ１１）。
【００２９】
次に、診断コントローラ３１又は３２は、メモリから読み出されたデータに診断終了アドレスが設定されているか否かを判定する（Ｓ１２）。診断終了アドレスが設定されていない場合、アドレスをインクリメントして（Ｓ１５）、ステップＳ３以降の処理を繰り返す。診断終了アドレスが設定されている場合、テスト対象回路１０の診断を終了する。
【００３０】
次に、テスト対象回路１０の診断が終了後、検査回路判定部２０は、テスト対象回路１０及び検査回路３０の正常性を判定する。検査回路判定部２０は、上述したように、診断コントローラ３１及び診断コントローラ３２から出力されるテスト対象回路１０の診断結果に応じて、テスト対象回路１０及び検査回路３０の正常性を判定する。次に、検査回路判定部２０は、テスト対象回路１０及び検査回路３０の正常性判定結果を、例えば、外部装置等へ出力する（Ｓ１４）。
【００３１】
以上説明したように、本発明の実施の形態１にかかる自己診断システムを用いることにより、テスト対象回路１０の正常性のみならず、検査回路３０の正常性についても判定することができる。これにより、検査回路３０におけるテスト対象回路１０の正常性判定結果の信頼性が向上する。
【００３２】
（実施の形態２）
続いて、図３を用いて本発明の実施の形態２にかかる自己診断システムについて説明する。図３の自己診断システムは、図１の自己診断システムにさらに遅延部４１乃至４４と、比較回路４５と、保持部４６と、を備えている。その他の構成は、図１と同様であり、図１と同様の符号を用いて説明する。
【００３３】
遅延部４１乃至４４は、入力した信号を１クロック分遅らせて出力する。
【００３４】
遅延部４１は、メモリ３３と、比較部３７との間に接続されている。さらに、遅延部４１は、主コントローラ１１と、比較部３７との間にも接続されている。遅延部４１は、メモリ３３から比較部３７に対して出力される診断期待値の出力タイミングを遅延させる。これにより、比較部３７は、比較部３４が取得する診断期待値１２１のタイミングよりも遅れて遅延部４１から出力される診断期待値１２２を取得する。さらに、遅延部４１は、主コントローラ１１から比較部３７に対して出力される実行結果の出力タイミングを遅延させる。これにより、比較部３７は、比較部３４が取得する実行結果１３１のタイミングよりも遅れて、遅延部４１から出力される実行結果１３２を取得する。これにより、診断コントローラ３１及び３２へ冗長に出力される診断期待値及び実行結果が、ノイズ等の影響により同時に誤動作することを防止することができる。
【００３５】
遅延部４２は、メモリ３３から診断コントローラ３２に対して出力される診断コントロール信号１１２の出力タイミングを遅延させる。これにより、診断コントローラ３２は、診断コントローラ３１が取得する診断コントロール信号１１１のタイミングよりも遅れて、遅延部４２から出力される診断コントロール信号１１３を取得する。これにより、診断コントローラ３２と診断コントローラ３１とを、異なるタイミングにより動作させることができる。例えば、診断コントローラ３２は、診断コントローラ３１よりも１クロック遅延して動作する。診断コントローラ３１と、診断コントローラ３２とを異なるタイミングにより動作させることにより、ノイズ等の影響により、診断コントローラ３１と診断コントローラ３２とが同時に誤動作することを防止することができる。
【００３６】
遅延部４３は、保持部３５と、検査回路判定部２０との間に接続されている。遅延部４３は、保持部３５から検査回路判定部２０に対して出力される判定信号１４１の出力タイミングを遅延させる。判定信号１４１の出力タイミングを遅延させることにより、診断コントロール信号１１３の制御により遅延動作している診断コントローラ３２から検査回路判定部２０に対して出力される判定信号１４２の出力タイミングと、遅延部４３から出力される判定信号１４３の出力タイミングとが合わせられる。これより、検査回路判定部２０は、診断コントローラ３１及び３２から、同じタイミングに取得した判定信号１４２と判定信号１４３とを用いて、テスト対象回路１０及び検査回路３０の正常性判定を行うことができる。
【００３７】
遅延部４４は、メモリ制御部３６から出力されるメモリ制御信号を遅延させて、比較回路４５へ出力する。具体的には、メモリ制御信号は、メモリ３３から読み出すデータを格納しているアドレスが設定されている。以下、メモリ制御部３６及びメモリ制御部３９からメモリ３３へ出力されるメモリ制御信号をアドレス信号として説明する。
【００３８】
本発明の実施の形態２においては、実施の形態１と異なり、リセット信号がインアクティブに設定された場合、診断コントローラ３１が起動され、診断コントローラ３２は、診断コントローラ３１より遅れて起動される。診断コントローラ３１及び３２が起動されるとともに、メモリ制御部３６及び３９は、メモリ３３に対してアドレス信号を出力する。つまり、メモリ制御部３９から出力されるアドレス信号は、メモリ制御部３６から出力されるアドレス信号よりも遅れて出力される。メモリ制御部３６及び３９からそれぞれアドレス信号を出力することは、メモリ３３へ出力されるアドレス信号の正常性を判定するためである。比較回路４５は、メモリ制御部３６及び３９から出力されるアドレス信号を比較し、一致している場合には、アドレス信号が正常であるとしてＰＡＳＳ信号を、保持部４６を介して検査回路判定部２０へ出力する。また、比較回路４５は、メモリ制御部３６及び３９から出力されるアドレス信号が一致していない場合、アドレス信号が異常であるとしてＦＡＩＬ信号を、保持部４６を介して検査回路判定部２０へ出力する。この時、診断コントローラ３２は、診断コントローラ３１より遅れて起動されている。そのため、遅延部４４を用いて、診断コントローラ３１から出力されるアドレス信号１０３を遅延させ、アドレス信号１０４を出力させることにより、比較回路４５は、メモリ制御部３６から出力されるアドレス信号１０４と、メモリ制御部３９から出力されるアドレス信号１０２とを同じタイミングに取得することができる。
【００３９】
これより、比較回路４５は、同じタイミングに取得したアドレス信号１０２とアドレス信号１０４とを用いて、アドレス信号の正常性を判定することができる。
【００４０】
また、比較回路４５が複数個並列に配置され、それぞれの比較回路４５が、アドレス信号の正常性を判定してもよい。この場合、それぞれの比較回路４５における判定結果を収集し、いずれかの判定結果を選択し、検査回路判定部２０へ出力してもよい。
【００４１】
続いて、図４を用いて本発明の実施の形態２にかかる信号の出力タイミングについて説明する。検査回路３０は、取得したクロックに基づいて動作する。クロックは、クロック発振器（図示せず）等により供給される。リセット信号は、自己診断システムを備える装置の制御部（図示せず）等から出力される信号である。リセット信号がインアクティブ（Ｌｏｗレベル）に設定されると、はじめに診断コントローラ３１起動され、１クロック遅れて、診断コントローラ３２が起動される。
【００４２】
診断期待値１２２は、遅延部４１から出力されているため、診断期待値１２１よりも１クロック遅れて出力される。また、実行結果１３２も同様に、遅延部４１から出力されているため、実行結果１３１よりも１クロック遅れて出力される。
【００４３】
診断コントロール信号１１３は、遅延部４２から出力されているため、診断コントロール信号１１１よりも１クロック遅れて出力される。これより、診断コントローラ３２は、診断コントローラ３１よりも１クロック遅れて動作する。
【００４４】
アドレス信号１０２は、診断コントローラ３２が診断コントローラ３１よりも１クロック遅れて起動していることから、アドレス信号１０１よりも１クロック遅れて出力される。また、アドレス信号１０４は、遅延部４４から出力されているため、アドレス信号１０１よりも１クロック遅れて出力される。そのため、アドレス信号１０４及び１０２の出力タイミングが一致する。つまり、遅延部４２と、遅延部４４とは、遅延量が同じであるため、比較回路４５がアドレス信号１０４及び１０２を取得する際に、その遅延は相殺される。
【００４５】
判定信号１４２は、判定信号１４１よりも１クロック遅れて出力される。なぜなら、遅延部４１により、診断期待値１２２と、診断実行結果１３２とが、比較部３４に入力されるよりも１クロック遅れて比較部３７に入力されるためである。ここで、判定信号１４３は、遅延部４３から出力されるため、判定信号１４１よりも１クロック遅れて出力される。そのため、判定信号１４３及び１４２の出力タイミングが一致する。つまり、遅延部４１と遅延部４３とは、遅延量が同じであるため、検査回路判定部２０が判定信号１４２及び１４３を取得する際に、その遅延は相殺される。検査回路判定部２０は、一致したタイミングの判定信号１４２及び１４３に基づいて検査回路３０の正常性判定を行う。
【００４６】
以上説明したように、本発明の実施の形態２にかかる自己診断システムの遅延部４１を用いることにより、メモリ３３及び主コントローラ１１から出力される冗長化された信号を異なるタイミングに出力させることができる。これより、冗長化された信号が、ノイズ等の影響により同時に誤動作することを防止することができる。さらに、遅延部４２を用いることにより、冗長化された診断コントローラ３１及び３２を異なるタイミングに動作させることができるため、ノイズ等の影響により同時に誤動作することを防止することができる。
【００４７】
さらに、遅延部４３及び４４を用いることにより、検査回路判定部２０及び比較回路４５において、同じタイミングに取得された信号を用いて、検査回路３０の正常性判定をすることができる。
【００４８】
（実施の形態３）
続いて、図５を用いて本発明の実施の形態３にかかる自己診断システムの構成例について説明する。図５の自己診断システムは、図３の自己診断システムに、さらに反転部５１乃至５７と、保持部５８及び５９と、誤り検出部６０及び６１と、バッファ６２乃至６４と、分岐部６５と、を備えている。その他の構成は、図３と同様であり、図３と同様の符号を用いて説明する。
【００４９】
反転部５１は、主コントローラ１１と、遅延部４１と、比較部３４と接続されている。反転部５１は、主コントローラ１１から出力される実行結果の値を反転する。反転部５１は、反転した実行結果に関する信号を比較部３４及び遅延部４１へ出力する。反転部５２は、遅延部４１から出力された実行結果の値を反転して比較部３７へ出力する。さらに、反転部５２は、遅延部４１から出力された診断期待値を反転して比較部３７へ出力する。これより、比較部３４は、反転された実行結果と、メモリ３３から出力された診断期待値とを比較する。この場合、比較部３４は、実行結果と、診断期待値とが異なる場合に、ＰＡＳＳ信号を出力し、実行結果と、診断期待値とが一致する場合に、ＦＡＩＬ信号を出力する。同様に、比較部３７は、２度反転されて主コントローラ１１から出力された値に戻った診断実行結果と、反転された診断期待値とを比較する。
【００５０】
反転部５５は、保持部３８から出力される判定信号を反転させて検査回路判定部２０へ出力する。
【００５１】
ここで、検査回路判定部２０における判定処理について詳細に説明する。例えば、診断コントローラ３１から出力される判定信号にＨｉｇｈレベル信号が設定されている場合は、ＰＡＳＳ判定とし、Ｌｏｗレベル信号が設定されている場合は、ＦＡＩＬ判定とする。また、診断コントローラ３２から出力される判定信号は、反転部５５により反転される。そのため、診断コントローラ３２から出力される判定信号に、Ｈｉｇｈレベル信号が設定されている場合は、ＦＡＩＬ判定とし、Ｌｏｗレベル信号が設定されている場合は、ＰＡＳＳ判定とする。
【００５２】
検査回路判定部２０は、診断コントローラ３１及び３２からの出力がともにＰＡＳＳ判定である場合には、テスト対象回路１０及び検査回路３０は正常であると判定する。検査回路判定部２０は、診断コントローラ３１及び３２からの出力がともにＦＡＩＬ判定である場合、テスト対象回路１０は異常であり、検査回路３０は正常であると判定する。検査回路判定部２０は、診断コントローラ３１及び３２のどちらか一方からの出力がＦＡＩＬ判定である場合には、検査回路３０は異常であると判定する。
【００５３】
反転部５６は、遅延部４４を介してメモリ制御部３６から出力されたメモリ制御信号（アドレス信号）を、反転して比較回路４５へ出力する。これより、比較回路４５は、メモリ制御部３６から出力されたメモリ制御信号と、メモリ制御部３９から出力されたメモリ制御信号とが異なる場合に、メモリ制御信号は正常であると判定し、一致する場合に、メモリ制御信号は異常であると判定する。検査回路判定部２０は、比較回路４５から出力される比較結果信号に、メモリ制御信号が異常であると設定されている場合、検査回路３０が異常であると判定する。
【００５４】
上述した反転部５１、５２、５５、５６を用いることにより、耐ノイズ性を向上させることができる。その理由について、図６及び図７を用いて以下に説明する。
【００５５】
図６は、信号を反転させない正転比較を行う例について示している。期間Ｔにおいて、ノイズにより電圧レベルが高くなり、Ｌｏｗレベルの信号がＨｉｇｈレベルの信号と判定される場合（期間Ｔの間に示される点線）に、信号Ａ及びＢともにＨｉｇｈレベルの信号と判定される。そのため、ノイズが乗った時に、期間Ｔにおいて、信号Ａ及びＢはともにＨｉｇｈレベルで一致するため、信号Ａ及びＢの比較結果は正常であると判定される。
【００５６】
これに対して、図７は、信号Ｂを反転させ反転比較を行う例について示している。期間Ｔにおいて、ノイズの影響により電圧レベルが高くなり、Ｌｏｗレベルの信号がＨｉｇｈレベルの信号と判定される場合（期間Ｔの間に示される点線）に、期間Ｔにおいて、信号Ａ及びＢはＨｉｇｈレベルで一致する。そのため、信号Ａ及びＢの比較結果は、異常であると判定される。これにより、期間Ｔにおいて、信号ＡがノイズによりＨｉｇｈレベルの信号に反転した場合に、エラーを検出することができる。よって、反転部を用いることにより、耐ノイズ性を向上させることができる。
【００５７】
図５に戻り、本発明の実施の形態３にかかる自己診断システムの構成例について説明する。メモリ３３から診断コントローラ３１へ出力される診断期待値及び診断コントロール信号と、メモリ３３から診断コントローラ３２へ出力される診断期待値及び診断コントロール信号とは、異なる経路を用いて出力される。具体的には、メモリから出力される信号を分岐部６５により分岐させ、分岐したそれぞれの信号を、診断コントローラ３１及び３２へ出力する。これにより、診断コントローラ３１及び３２へ出力される信号は、それぞれ異なる経路を用いて出力されるため、検査回路３０内においてノイズが発生した場合にも、同時にエラーが発生する可能性を抑えることができる。
【００５８】
なお、分岐された経路が長いほど同一経路を伝送することによるノイズの影響を排除できる。そのため、分岐部６５は、メモリ３３の近傍にあることが望ましい。たとえば、メモリから分岐部６５までの距離と分岐部６５から診断コントローラ３１及び３２までの距離とを比較した場合に、メモリから分岐部６５までの距離のほうが短くなるように分岐部を配置することとしてもよい。
【００５９】
反転部５３は、メモリ３３から診断コントローラ３２へ出力される診断コントロール信号を反転させ、遅延部４２へ出力する。また、反転部５４は、反転された診断コントロール信号を遅延部４２から取得し、取得した信号をさらに反転させて診断コントローラ３２へ出力する。上述したように、診断コントロール信号は、比較部３４及び３７における比較処理の開始もしくは終了させるために、用いられる。そのため、反転部５３及び５４を設けることにより、診断コントローラ３１もしくは３２に対する診断コントロール信号にノイズ等の影響により同時にエラーが発生した場合、診断コントローラ３１及び３２は異なる動作をすることになる。例えば、一方の診断コントローラは比較処理を開始し、他方の診断コントローラは比較処理を開始しないということがある。このような場合、検査回路判定部２０は、診断コントローラ３１及び３２の出力結果より、検査回路３０の異常を検出することができる。
【００６０】
誤り検出部６０は、分岐部６５によって分岐され、メモリ３３から診断コントローラ３１及び主コントローラ１１へ出力されるデータの誤り検出を行う。例えば、誤り検出は、パリティビット等の誤り検出符号を用いて行われる。誤り検出部６０は、データに誤りがあったか否かを示す誤り検出結果信号を、保持部５８を介して検査回路判定部２０へ出力する。
【００６１】
誤り検出部６１は、分岐部６５によって分岐され、メモリ３３から診断コントローラ３２へ出力されるデータの誤り検出を行う。誤り検出方法は、誤り検出部６０と同様の方法が用いられる。誤り検出部６０は、保持部５９を介して反転部５７へ誤り検出結果信号を出力する。反転部５７は、取得した誤り検出結果信号を反転して検査回路判定部２０へ出力する。検査回路判定部２０は、誤り検出部６０及び６１から出力される誤り検出結果信号を反転比較する。反転部５７は、上述したように、耐ノイズ性を向上させるために用いられている。
【００６２】
ここで、検査回路判定部２０における誤り検出結果信号を用いた検査回路３０の正常性判断について詳細に説明する。例えば、誤り検出部６０から出力される誤り検出信号がＨｉｇｈレベルに設定されている場合、誤りが検出されたとしてＦＡＩＬ判定とし、Ｌｏｗレベルに設定されている場合、誤りが検出されていないとして、ＰＡＳＳ判定とする。また、誤り検出部６１から出力される誤り検出信号は、反転部５７において反転されるため、Ｈｉｇｈレベルに設定されている場合、ＰＡＳＳ判定とし、Ｌｏｗレベルに設定されている場合、ＦＡＩＬ判定とする。
【００６３】
このような場合、検査回路判定部２０は、誤り検出部６０及び６１からの出力がともにＰＡＳＳ判定である場合には、検査回路３０は正常であると判定する。検査回路判定部２０は、誤り検出部６０及び６１からの出力がともにＦＡＩＬ判定である場合、検査回路３０は異常であると判定する。検査回路判定部２０は、誤り検出部６０及び６１のどちらか一方からの出力がＦＡＩＬ判定である場合にも、検査回路３０は異常であると判定する。
【００６４】
上述したように、検査回路判定部２０は、診断コントローラ３１及び３２から出力される判定信号と、誤り検出部６０及び６１から出力される誤り検出信号と、比較回路４５から出力される比較結果信号と、を用いてそれぞれ検査回路３０の正常性を判定する。そのため、検査回路判定部２０は、それぞれの判定結果において、１つでも検査回路３０が異常であるとの判定された場合には、検査回路３０は異常であると判定し、全ての判定結果において検査回路３０が正常であると判定された場合には、検査回路３０は正常であると判定することができる。
【００６５】
バッファ６２は、メモリ制御部３６から出力されるメモリ制御信号を取得する。さらに、バッファ６２は、取得したメモリ制御信号をメモリ３３へ出力する。バッファ６３は、メモリ３３から出力されるテストパタンと、診断期待値と、診断コントローラ制御信号とを取得する。さらに、バッファ６３は、取得した上記信号等を、診断コントローラ３１及び主コントローラ１１へ出力する。バッファ６４は、メモリ３３から出力される診断期待値と、診断コントローラ制御信号とを取得する。さらに、バッファ６４は、取得した上記信号等を診断コントローラ３２へ出力する。このようにバッファ６２乃至６４を用いることにより、例えばバッファ６２とメモリ３３との間に発生したノイズをメモリ制御部３６とバッファ６２との間に伝送させないようにすることができる。
【００６６】
続いて、図８乃至１０を用いて、本発明の実施の形態３にかかるテスト対象回路１０及び検査回路３０の正常性判定にかかる処理の流れについて説明する。図８は、図２のフローチャートに、ステップＳ３の後及びステップＳ１２の前に分岐処理が追加されている。ステップＳ３の後に、図９におけるステップＳ１６及びＳ１９の処理を行うよう分岐し、ステップＳ１２の前に、合流する。また、ステップＳ３の後に、図１０におけるステップＳ２２の処理を行うよう分岐し、ステップＳ１２の前に合流する。その他の処理は図２と同様であるため、詳細な説明を省略する。
【００６７】
次に、図９を用いて誤り検出部６０及び６１の処理の流れについて説明する。誤り検出部６０は、メモリ３３から読み出されたデータについて、誤り検出を行う（Ｓ１６）。次に、誤り検出部６０は、誤り検出を行った結果が正常であるか否かを判定する（Ｓ１７）。ここで、誤り検出部６０は、誤り検出を行った結果が正常ではないと判定された場合、つまり、誤りを検出した場合、エラーフラグをセットする（Ｓ１８）。誤り検出部６１も同様にステップＳ１９乃至Ｓ２１の処理を実行する。誤り検出部６０及び６１において誤り検出処理が終了すると、ステップＳ１２以降の処理を実行する。
【００６８】
次に、図１０を用いて比較回路４５の処理の流れについて説明する。比較回路４５は、メモリ制御部３６及び３９から出力されたメモリ制御信号を比較する（Ｓ２２）。メモリ制御部３６から出力されるメモリ制御信号は、反転部５６を介して出力されるため、比較回路４５は反転比較を行う。次に、比較回路４５は、比較した結果が正常であるか否かを判定する（Ｓ２３）。比較回路４５は、２つのメモリ制御信号が一致する場合、いずれかのメモリ制御信号に異常が発生していると判定し、エラーフラグをセットする（Ｓ２４）。比較回路４５は、２つのメモリ制御信号が一致しない場合、正常であると判定する。比較回路４５においてメモリ制御信号の比較処理が終了するとステップＳ１２以降の処理を実行する。
【００６９】
以上説明したように、本発明の実施の形態３にかかる自己診断システムに、反転部を設けることにより、耐ノイズ性を向上させることができる。
【００７０】
また、メモリ３３から出力されるデータをメモリ３３近傍にて分岐し、検査回路３０内を伝送することにより、さらに耐ノイズ性を向上させることができる。
【００７１】
また、誤り検出部６０及び６１を用いてメモリ３３から出力されるデータの正常性を判定することができるため、診断コントローラ３１及び３２へ出力されるデータと、テスト対象回路１０へ出力されるデータの信頼性が向上する。これにより、テスト対象回路１０の診断結果の信頼性も向上する。
【００７２】
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。例えば、本発明は、本発明の実施の形態１乃至３を適宜組み合わせてもよい。
【符号の説明】
【００７３】
１０  テスト対象回路
１１  主コントローラ
２０  検査回路判定部
３０  検査回路
３１  診断コントローラ
３２  診断コントローラ
３３  メモリ
３４  比較部
３５  保持部
３６  メモリ制御部
３７  比較部
３８  保持部
３９  メモリ制御部
４１、４２、４３、４４  遅延部
４５  比較回路
４６  保持部
４７  バッファ
５１、５２、５３、５４、５５、５６、５７  反転部
５８、５９  保持部
６０、６１  誤り検出部
６２、６３、６４  バッファ
６５  分岐部
【図１】
0005608409.tif 000002
【図２】
0005608409.tif 000003
【図３】
0005608409.tif 000004
【図４】
0005608409.tif 000005
【図５】
0005608409.tif 000006
【図６】
0005608409.tif 000007
【図７】
0005608409.tif 000008
【図８】
0005608409.tif 000009
【図９】
0005608409.tif 000010
【図１０】
0005608409.tif 000011
【図１１】
0005608409.tif 000012