(57)【要約】【課題】メモリ容量に制限されることなく高精度の診断テストを実施することが可能な回路診断テスト装置、及び回路診断テスト方法を提供する。【解決手段】回路診断テスト装置は、テストパターンが設定された診断対象回路の複数のスキャンＦＦに出力されるクロック信号の周期を設定するクロック周期設定部と、クロック周期設定部により所定の第１周期に設定されたクロック信号が出力されたときに複数のスキャンＦＦから出力される応答パターンに基づいて生成された応答シグネチャと、クロック周期設定部により第１周期よりも長い第２周期に設定されたクロック信号が出力されたときに複数のスキャンＦＦから出力される応答パターンに基づいて生成された期待シグネチャと、を比較する診断テスト部と、を備える。【選択図】図８
2020134303.tif 000002
【特許請求の範囲】
【請求項１】
テストパターンが設定された診断対象回路の複数のスキャンＦＦに出力されるクロック信号の周期を設定するクロック周期設定部と、
前記クロック周期設定部により所定の第１周期に設定された前記クロック信号が出力されたときに前記複数のスキャンＦＦから出力される応答パターンに基づいて生成された応答シグネチャと、前記クロック周期設定部により前記第１周期よりも長い第２周期に設定された前記クロック信号が出力されたときに前記複数のスキャンＦＦから出力される応答パターンに基づいて生成された期待シグネチャと、を比較する診断テスト部と、
を備えることを特徴とする回路診断テスト装置。
【請求項２】
テストパターン設定回路が前記テストパターンを展開するためのシードを記憶する記憶部を更に備え、
前記診断テスト部は、前記シードを前記テストパターン設定回路に設定し、前記シードから展開される前記テストパターンに対応する応答パターンに基づいて生成された前記応答シグネチャと前記期待シグネチャとを比較する、
請求項１に記載の回路診断テスト装置。
【請求項３】
前記診断テスト部は、前記診断対象回路の同一の故障を活性化させる前記テストパターンを展開する二以上の前記シードを前記テストパターン設定回路に設定し、前記二以上の前記シードから展開される一連の前記テストパターンに対応する一連の応答パターンに基づいて生成された前記応答シグネチャと前記期待シグネチャとを比較する、
請求項２に記載の回路診断テスト装置。
【請求項４】
前記診断テスト部による比較結果が異なる場合に、前記診断対象回路に遅延故障が存在すると判定する診断部を更に備え、
前記記憶部は、前記テストパターン設定回路により同一の前記シードから展開される一連の前記テストパターンのうち、第１テストパターンによって遅延故障が活性化される前記診断対象回路の第１診断領域、及び第２テストパターンによって遅延故障が活性化される前記診断対象回路の第２診断領域、を前記シードと対応付けてそれぞれ記憶し、
前記診断テスト部は、前記シードを前記テストパターン設定回路に設定し、
前記診断部は、前記第１テストパターンに対応する応答パターンに基づいて生成された前記応答シグネチャと前記期待シグネチャとの比較結果が異なる場合に、前記第１診断領域に遅延故障が存在すると判定し、前記第２テストパターンに対応する応答パターンに基づいて生成された前記応答シグネチャと前記期待シグネチャとの比較結果が異なる場合に、前記第２診断領域に遅延故障が存在すると判定する、
請求項２に記載の回路診断テスト装置。
【請求項５】
前記記憶部は、前記シードから展開される前記テストパターンに対応する応答パターンに基づいて生成されることが期待される前診断テスト用期待シグネチャを予め記憶し、
前記シードを前記テストパターン設定回路に設定し、前記シードから展開される前記テストパターンに対応する応答パターンに基づいて生成されたシグネチャと、前記記憶部に記憶された前記前診断テスト用期待シグネチャとの比較結果に基づいて、前記診断対象回路に故障が存在するか否かを判定する前診断テスト部を更に有し、
前記診断テスト部は、前記前診断テスト部による前記診断対象回路の前診断テストの結果に応じて、前記診断対象回路の診断テストを行うか否かを判定する、
請求項２から４のいずれか一項に記載の回路診断テスト装置。
【請求項６】
前記前診断テスト部は、前記クロック周期設定部により前記第１周期に設定された前記クロック信号が出力されたときに前記複数のスキャンＦＦから出力される応答パターンに基づいて生成されたシグネチャと、前記前診断テスト用期待シグネチャとの比較結果が異なる場合に、前記診断対象回路に遅延故障を含む故障が存在すると判定し、
前記診断テスト部は、前記診断対象回路に遅延故障を含む故障が存在すると前記前診断テスト部によって判定された場合に、前記診断対象回路の診断テストを実施する、
請求項５に記載の回路診断テスト装置。
【請求項７】
前記前診断テスト部は、前記クロック周期設定部により前記第２周期に設定された前記クロック信号が出力されたときに前記複数のスキャンＦＦから出力される応答パターンに基づいて生成されたシグネチャと、前記前診断テスト用期待シグネチャとの比較結果が異なる場合に、前記診断対象回路に遅延故障以外の故障が存在すると判定し、
前記診断テスト部は、前記診断対象回路に遅延故障以外の故障が存在すると前記前診断テスト部によって判定された場合には、前記診断対象回路の診断テストを実施しない、
請求項５又は６に記載の回路診断テスト装置。
【請求項８】
前記診断テスト部による比較結果が異なる場合に、トランジスタの電源端子に供給される電圧を診断テスト前の電源電圧よりも大きくする、又は前記クロック信号の周期を診断テスト前の前記クロック信号の周期よりも長くする故障修復部を更に有する、
請求項２から７のいずれか一項に記載の回路診断テスト装置。
【請求項９】
前記クロック周期設定部により前記第１周期に設定された前記クロック信号が出力されたときに前記複数のスキャンＦＦから出力される応答パターンに基づいて生成された第１シグネチャと、前記クロック周期設定部により前記第１周期よりも短い第３周期に設定された前記クロック信号が出力されたときに前記複数のスキャンＦＦから出力される応答パターンに基づいて生成された第２シグネチャと、の比較結果が異なる場合に前記診断対象回路に故障が発生する可能性があると判定する故障予測部を更に有する、
請求項１から８のいずれか一項に記載の回路診断テスト装置。
【請求項１０】
前記診断対象回路と同一のチップ内に実装された、
請求項１から９のいずれか一項に記載の回路診断テスト装置。
【請求項１１】
テストパターンが設定された診断対象回路の複数のスキャンＦＦに出力されるクロック信号の周期を設定するクロック周期設定ステップと、
前記クロック周期設定ステップにおいて所定の第１周期に設定された前記クロック信号が出力されたときに前記複数のスキャンＦＦから出力される応答パターンに基づいて生成された応答シグネチャと、前記クロック周期設定ステップにおいて前記第１周期よりも長い第２周期に設定された前記クロック信号が出力されたときに前記複数のスキャンＦＦから出力される応答パターンに基づいて生成された期待シグネチャと、を比較する診断テストステップと、
を有することを特徴とする回路診断テスト方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、回路診断テスト装置、及び回路診断テスト方法に関する。
【背景技術】
【０００２】
車両運転支援システムの機能安全規格に対応するためには、車両運転支援システムに用いられる装置に組み込まれる集積回路等の自己診断技術の研究及び開発が重要となる。
【０００３】
例えば、特許文献１には、チップに内蔵されたＢＩＳＴ（Ｂｕｉｌｔ  Ｉｎ  Ｓｅｌｆ  Ｔｅｓｔ）回路を備えるメモリテストシステムについて記載されている。このメモリテストシステムは、チップ上のメモリをテストするために、メモリからの出力データを、テストコントローラからの期待値データと比較することでテスト結果信号を出力するコンパレータ回路を有する。そして、このメモリテストシステムは、コンパレータ回路のフリップフロップを、メモリからの出力データをラッチするシステムロジック回路のフリップフロップと共用している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１７−１９９４４５号公報
【非特許文献】
【０００５】
【非特許文献１】ＦＰＧＡの自己テストのための可変タイミングクロック生成、佐藤康夫、松浦宗寛、荒川等、三宅庸資、梶原誠司（九工大）、信学技報、  ｖｏｌ．  １１３、  ｎｏ．  ３５３、  ＤＣ２０１３−６９、  ｐｐ．  ７−１２、  ２０１３年１２月
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１に記載されたメモリテストシステムは、テストパターンを印加した診断対象回路から出力される応答シグネチャを、診断対象回路に故障がない場合に診断対象回路から出力されることが期待される期待シグネチャと比較して診断対象回路を診断する。この場合、診断対象回路の故障個所を特定する精度を向上させるためには、診断対象回路の特定の診断領域の故障が活性化されるようにテストパターンを変更しながら、診断対象回路から出力される応答シグネチャを期待シグネチャと繰り返して比較する必要がある。この診断のためのテストを診断テストと呼ぶ。また、故障を活性化させるとは、故障が存在するときと存在しないときで、診断対象回路から出力される応答パターンが異なるようにテストパターンを診断対象回路に印加することをいう。
【０００７】
しかし、期待シグネチャはデータ量が大きく、診断対象回路の故障個所を特定できるだけの数の診断テストの期待シグネチャを記憶するためには大容量の不揮発性メモリを必要とする。このため、診断対象回路の故障個所を特定する精度が、不揮発性メモリの容量によって制限されてしまうという課題がある。
【０００８】
そこで、本発明は、メモリ容量に制限されることなく高精度の診断テストを実施することが可能な回路診断テスト装置、及び回路診断テスト方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明の一つの実施形態に係る回路診断テスト装置は、テストパターンが設定された診断対象回路の複数のスキャンＦＦに出力されるクロック信号の周期を設定するクロック周期設定部と、クロック周期設定部により所定の第１周期に設定されたクロック信号が出力されたときに複数のスキャンＦＦから出力される応答パターンに基づいて生成された応答シグネチャと、クロック周期設定部により第１周期よりも長い第２周期に設定されたクロック信号が出力されたときに複数のスキャンＦＦから出力される応答パターンに基づいて生成された期待シグネチャと、を比較する診断テスト部と、を備えることを特徴とする。
【００１０】
また、本発明の一つの実施形態に係る回路診断テスト方法は、テストパターンが設定された診断対象回路の複数のスキャンＦＦに出力されるクロック信号の周期を設定するクロック周期設定ステップと、クロック周期設定ステップにおいて所定の第１周期に設定されたクロック信号が出力されたときに複数のスキャンＦＦから出力される応答パターンに基づいて生成された応答シグネチャと、クロック周期設定ステップにおいて第１周期よりも長い第２周期に設定されたクロック信号が出力されたときに複数のスキャンＦＦから出力される応答パターンに基づいて生成された期待シグネチャと、を比較する診断テストステップと、を有することを特徴とする。
【発明の効果】
【００１１】
本発明の回路診断テスト装置は、メモリ容量に制限されることなく高精度の診断テストを実施することができる。
【図面の簡単な説明】
【００１２】
【図１】一つの実施形態に係る回路診断テスト装置の構成の一例を、診断対象回路とともに示した図である。
【図２】診断対象回路のスキャンＦＦのハードウェア構成の一例を示す図である。
【図３】図２に示したスキャンＦＦの動作の一例を示すタイミングチャートである。
【図４】診断対象回路のスキャンＦＦのハードウェア構成の他の一例を示す図である。
【図５】図４に示したスキャンＦＦの動作の一例を示すタイミングチャートである。
【図６】回路診断テスト装置の記憶部のメモリマップを示す図である。
【図７】回路診断テスト装置の制御部の機能ブロックを示す図である。
【図８】回路診断テスト装置において実行される回路診断テスト処理の一例を示すフローチャートである。
【図９Ａ】回路診断テスト装置において実行されるシグネチャ生成処理の一例を示すフローチャートである。
【図９Ｂ】回路診断テスト装置において実行されるシグネチャ生成処理の他の一例を示すフローチャートである。
【図９Ｃ】回路診断テスト装置において実行されるシグネチャ生成処理の更に他の一例を示すフローチャートである。
【図１０Ａ】回路診断テスト装置において実行される前診断テスト処理の一例を示すフローチャートである。
【図１０Ｂ】回路診断テスト装置において実行される前診断テスト処理の他の一例を示すフローチャートである。
【発明を実施するための形態】
【００１３】
本発明の回路診断テスト装置は、通常動作と同じ第１周期のクロック信号で診断対象回路を動作させたときの応答に基づく応答シグネチャと、第１周期よりも長い第２周期のクロック信号で診断対象回路を動作させたときの応答に基づく期待シグネチャとを比較する。そして、回路診断テスト装置は、応答シグネチャと期待シグネチャとの比較結果が異なる場合に、診断対象回路に遅延故障が存在すると判定することを可能とする。
【００１４】
本発明の回路診断テスト装置は、このように期待シグネチャを自動生成するため、期待シグネチャを予め不揮発性メモリ等に記憶しておく必要がない。したがって、本発明の回路診断テスト装置は、メモリ容量に制限されることなく高精度の診断テストを実施することができる。
【００１５】
以下、本発明の好適な実施形態について図面を用いて説明する。なお、本発明は以下の実施形態に限定されるものではなく、その要旨を逸脱しない範囲において適宜変更可能である。また、各図において同一、又は相当する機能を有するものは、同一符号を付し、その説明を省略又は簡潔にすることもある。
【００１６】
図１は、一つの実施形態に係る回路診断テスト装置１の構成の一例を、診断対象回路２とともに示した図である。まず、回路診断テスト装置１による診断の対象となる診断対象回路２について説明する。
【００１７】
診断対象回路２のＦＦ（フリップフロップ）は、スキャンテストを実施可能なスキャンＦＦ３に置き換えられている。これらのスキャンＦＦ３は、互いに直列に接続され、スキャンチェインと呼ばれるシフトレジスタを構成する。
【００１８】
スキャンチェインは、複数に分割されたマルチスキャンチェインであってもよい。例えば、図１に示す診断対象回路２は、入力端子又は出力端子に接続されたバウンダリスキャン用のスキャンＦＦ３から構成されるスキャンチェインと、診断対象回路２内のスキャンＦＦ３から構成される複数のスキャンチェインを有している。これにより、スキャンチェインごとのＦＦ段数が減って、テスト時間が低減される。
【００１９】
このような構成において、スキャンチェインのスキャンＦＦ３は、診断対象回路２内の組み合わせ回路２０の入力端子及び出力端子として機能する。したがって、組み合わせ回路２０にスキャンＦＦ３を介してテストパターンを印加し、同様に、組み合わせ回路２０からの応答パターンを、スキャンＦＦ３を介して読み出すことで、組み合わせ回路２０をテストすることができる。
【００２０】
図２は、診断対象回路２のスキャンＦＦ３のハードウェア構成の一例を示す図である。図２に示すスキャンＦＦ３は、ＦＦ３１と、ＦＦ３１の前段に配置されたマルチプレクサ３２を有する。
【００２１】
マルチプレクサ３２は、回路診断テスト装置１から出力される制御信号ＳＥに従って、スキャンＦＦ３の動作モードを、スキャンモードと非スキャンモードの間で切り替える。より具体的には、マルチプレクサ３２は、制御信号ＳＥがＨｉｇｈの場合、スキャンＦＦ３の動作モードをスキャンモードに切り替え、スキャンチェインの前段のスキャンＦＦ３（又は回路診断テスト装置１）から出力される信号ＳＩ又はＳＯを、ＦＦ３１に出力する。一方、制御信号ＳＥがＬｏｗの場合、マルチプレクサ３２は、スキャンＦＦ３の動作モードを非スキャンモードに切り替え、診断対象回路２の前段の組み合わせ回路２０（又は入力端子）から出力される信号Ｄを、ＦＦ３１に出力する。
【００２２】
ＦＦ３１は、回路診断テスト装置１から出力されるクロック信号ＣＫに同期して動作する。ＦＦ３１は、スキャンモードにおいて、マルチプレクサ３２から出力される信号ＳＩ又はＳＯを保持するとともに、保持した信号ＳＩ又はＳＯを、スキャンチェインの後段のスキャンＦＦ３（又は回路診断テスト装置１）に出力する。一方、非スキャンモードにおいて、ＦＦ３１は、マルチプレクサ３２から出力される信号Ｄを保持するとともに、保持した信号を、信号Ｑとして診断対象回路２の後段の組み合わせ回路２０（又は出力端子）に出力する。
【００２３】
図３（ａ）及び図３（ｂ）は、図２に示したスキャンＦＦ３の動作の一例を示すタイミングチャートである。スキャンテストは、スキャンイン  →  キャプチャ  →  スキャンアウトという一連の動作によって実施される。図３（ａ）及び図３（ｂ）は、特に、Ｌｏｃ（Ｌａｕｎｃｈ−ｏｆｆ−Ｃａｐｔｕｒｅ）方式のスキャンＦＦ３の動作の例を示している。
【００２４】
まず、回路診断テスト装置１は、制御信号ＳＥをＨｉｇｈとして、スキャンＦＦ３をスキャンモードに切り替える。そして、回路診断テスト装置１は、スキャンチェインにクロック信号ＣＫを連続して出力してスキャンチェインをシフト動作させ、複数のスキャンＦＦ３にテストパターンの値ＳＩをそれぞれ設定するスキャンイン動作を行う。この結果、複数のスキャンＦＦ３に設定されたテストパターンが、診断対象回路２の後段の組み合わせ回路２０に初期化パターンとして出力される。
【００２５】
このスキャンイン動作のためのクロック信号ＣＫの周期Ｔ０は、特には限定されず、スキャンチェインがシフト動作を行うことができる周期であればよい。スキャンイン動作のためのクロック信号ＣＫの周期Ｔ０は、例えば、続いて行われるキャプチャ動作のためのクロック信号ＣＫの周期と同じ周期、或いは、診断対象回路２の通常動作のクロック周期である第１周期Ｔ１と同じ周期とされてもよい。回路診断テスト装置１から出力されるクロック信号ＣＫは、回路診断テスト装置１の外部から回路診断テスト装置１に入力されるシステムクロックＳＣＫに基づいて、回路診断テスト装置１によって生成される。
【００２６】
次に、回路診断テスト装置１は、制御信号ＳＥをＬｏｗとして、スキャンＦＦ３を非スキャンモードに切り替える。そして、回路診断テスト装置１は、二つの連続するクロック信号ＣＫのパルスｐ１及びｐ２をスキャンＦＦ３に出力するキャプチャ動作を行う。この結果、後段の組み合わせ回路２０にローンチパターンが出力され、前段の組み合わせ回路２０からの応答パターンがスキャンＦＦ３に保持される。
【００２７】
このように、信号変化に起因する遅延故障をテストするためには、組み合わせ回路２０を所望の値に初期化する初期化パターンと、組み合わせ回路２０を遷移させるローンチパターンを印加する必要がある。これを２パターンテストという。
【００２８】
なお、遅延故障とは、組み合わせ回路２０を構成する素子又は配線の遅延が大きくなって組み合わせ回路２０に誤動作が生じる故障である。このような遅延故障が生じる原因としては、例えば、組み合わせ回路２０を構成するトランジスタの動作が経年劣化によって低速化するＮＢＴＩ（Ｎｅｇａｔｉｖｅ  Ｂｉａｓ  Ｔｅｍｐｅｒａｔｕｒｅ  Ｉｎｓｔａｂｉｌｉｔｙ）が挙げられる。ＮＢＴＩを起因とする遅延故障は、診断対象回路２の高集積化及び微細化が進むほど問題となることが知られている。
【００２９】
このキャプチャ動作のためのクロック信号ＣＫの周期は、図３（ａ）に示すように通常動作のクロック周期である第１周期Ｔ１、又は、図３（ｂ）に示すように第１周期よりも長い第２周期Ｔ２とされる。第２周期Ｔ２は、例えば、第１周期より５％〜５０％長い周期とされる。
【００３０】
次に、回路診断テスト装置１は、制御信号ＳＥをＨｉｇｈとして、スキャンＦＦ３をスキャンモードに切り替える。そして、回路診断テスト装置１は、スキャンチェインにクロック信号ＣＫを連続して出力してスキャンチェインをシフト動作させ、複数のスキャンＦＦ３に保持された前段の組み合わせ回路２０からの応答パターンの信号ＳＯをそれぞれ読み出すスキャンアウト動作を行う。このスキャンアウト動作のためのクロック信号ＣＫの周期Ｔ０は、スキャンイン動作のためのクロック信号ＣＫの周期Ｔ０と同様に、特には限定されない。
【００３１】
このように、通常動作のクロック周期である第１周期Ｔ１と、第１周期よりも長い第２周期Ｔ２の二通りでキャプチャ動作を行い、診断対象回路２からそれぞれ出力される応答パターンを比較することで、診断対象回路２の遅延故障をテストすることができる。例えば、回路診断テスト装置１は、診断対象回路２が第１周期Ｔ１では正常に動作しないが、第２周期では正常に動作する場合に、診断対象回路２に遅延故障が存在すると判定することができる。
【００３２】
図４は、診断対象回路２のスキャンＦＦ３のハードウェア構成の他の一例を示す図である。図４に示す拡張スキャンＦＦ３ｂは、ＦＦ３１と、ＦＦ３１の前段に配置されたマルチプレクサ３２の他に、ＦＦ３１の後段に配置されたラッチ回路３３を更に有する。その他については、図２に示したスキャンＦＦ３と同じであるため、以下では、図２と異なる点について説明する。
【００３３】
ラッチ回路３３は、回路診断テスト装置１から出力される制御信号Ｕｐｄａｔｅに同期して動作し、ＦＦ３１から出力される信号Ｑを保持するとともに、保持した信号を診断対象回路２の後段の組み合わせ回路２０（又は出力端子）に出力する。
【００３４】
図５（ａ）及び図５（ｂ）は、図４に示した拡張スキャンＦＦ３ｂの動作の一例を示すタイミングチャートである。図５（ａ）及び図５（ｂ）は、拡張スキャン方式の拡張スキャンＦＦ３ｂの動作の例を示している。
【００３５】
図５（ａ）及び図５（ｂ）に示すタイミングチャートは、キャプチャ動作が、制御信号Ｕｐｄａｔｅのパルスｐ１とクロック信号ＣＫのパルスｐ２によって行われる点が、図３（ａ）及び図３（ｂ）と異なる。その他については、図３（ａ）及び図３（ｂ）と同じである。この場合でも同様に、後段の組み合わせ回路２０にローンチパターンが出力され、前段の組み合わせ回路２０からの応答パターンが拡張スキャンＦＦ３ｂに保持される。
【００３６】
このように、スキャンＦＦ３の種類及び動作方式に依らず、回路診断テスト装置１は、キャプチャ動作におけるローンチパターンのパルスｐ１から次のパルスｐ２までの期間を制御して、スキャンＦＦ３に出力されるクロック信号ＣＫの周期を可変させることができる。
【００３７】
再び、図１を参照して、回路診断テスト装置１の各構成要素について順に説明する。回路診断テスト装置１は、テストパターン設定回路１１、シグネチャ生成回路１２、マルチプレクサ１３、期待シグネチャ保持部１４、シグネチャ比較回路１５、記憶部１６、及び制御部１７を備える。なお、テストパターン設定回路１１及びシグネチャ生成回路１２は、回路診断テスト装置１の代わりに、診断対象回路２に含まれてもよい。
【００３８】
回路診断テスト装置１は、例えば、ＢＩＳＴ（Ｂｕｉｌｔ  Ｉｎ  Ｓｅｌｆ  Ｔｅｓｔ）回路として、診断対象回路２と同一のチップ内に実装される。これにより、ＬＳＩチップ自身が自己テストを実施することができるため、ＬＳＩテスタが不要となり、フィールドテストが容易化される。或いは、回路診断テスト装置１は、ＬＳＩテスタとして構成されてもよい。この場合、回路診断テスト装置１は、ＣＰＵ等のプロセッサによって実行される回路診断テスト用コンピュータプログラムとして実現されてもよい。
【００３９】
テストパターン設定回路１１は、制御部１７によって設定されたシードから擬似乱数パターンを展開し、診断対象回路２の複数のスキャンＦＦ３にテストパターンとして設定する。テストパターン設定回路１１は、例えば、ＬＦＳＲ（Ｌｉｎｅａｒ  Ｆｅｅｄｂａｃｋ  Ｓｈｉｆｔ  Ｒｅｇｉｓｔｅｒ）とされる。
【００４０】
シグネチャ生成回路１２は、複数のスキャンＦＦ３から出力される一連の応答パターンを圧縮処理してシグネチャを生成する。シグネチャ生成回路１２は、例えば、ＭＩＳＲ（ｍｕｌｔｉｐｌｅ  ｉｎｐｕｔ  ｓｉｇｎａｔｕｒｅ  ｒｅｇｉｓｔｅｒ）とされる。シグネチャ生成回路１２は、制御部１７から出力される初期化信号に従って初期化される。すなわち、シグネチャ生成回路１２がシグネチャを生成するために圧縮処理される一連の応答パターンは、制御部１７から出力される初期化信号に従って選択される。
【００４１】
マルチプレクサ１３は、制御部１７から出力される制御信号ＥＳＳがＨｉｇｈの場合、制御部１７から出力される後述の前診断テスト用の期待シグネチャＳｉｇ０を選択して期待シグネチャ保持部１４に出力する。一方、制御部１７から出力される制御信号ＥＳＳがＬｏｗの場合、マルチプレクサ１３は、シグネチャ生成回路１２から出力される期待シグネチャＳｉｇ１を選択して期待シグネチャ保持部１４に出力する。この期待シグネチャＳｉｇ１は、クロック信号ＣＫが遅い第２周期で出力されたときに複数のスキャンＦＦ３から出力される応答パターンに基づいてシグネチャ生成回路１２によって生成されるシグネチャである。
【００４２】
期待シグネチャ保持部１４は、マルチプレクサ１３によって選択された期待シグネチャＳｉｇ０又はＳｉｇ１を保持する。期待シグネチャ保持部１４は、例えば、レジスタ等の記憶素子とされる。或いは、期待シグネチャ保持部１４は、ＲＡＭ（Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等の揮発性半導体メモリとされてもよい。
【００４３】
シグネチャ比較回路１５は、期待シグネチャ保持部１４に保持された期待シグネチャＳｉｇ０又はＳｉｇ１と、シグネチャ生成回路１２から出力される応答シグネチャＳｉｇ２とを比較して、比較結果を制御部１７に出力する。この応答シグネチャＳｉｇ２は、クロック信号ＣＫが第１周期で出力されたときに複数のスキャンＦＦ３から出力される応答パターンに基づいてシグネチャ生成回路１２によって生成されたシグネチャである。
【００４４】
記憶部１６は、例えば、ＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ）、又はフラッシュＥＥＰＲＯＭのような不揮発性半導体メモリを有する。記憶部１６は、ＳＲＡＭ、ＤＲＡＭ等の揮発性半導体メモリを更に有してもよい。
【００４５】
図６は、回路診断テスト装置１の記憶部１６のメモリマップを示す図である。記憶部１６は、診断テスト設定情報１６１、前診断テスト用の期待シグネチャ１６２、シード１６３、診断テスト結果１６４等を記憶する。
【００４６】
診断テスト設定情報１６１は、診断テストに用いるシードの数（シード数）、一つのシードから展開するテストパターンの数（展開数）、一つのシグネチャを生成するために展開するテストパターンの数（診断粒度）、生成するシグネチャの数（診断テスト回数）等の情報を含む。ここで、診断粒度は、展開数の約数又は倍数とされる。また、これらの情報の値は、下式（１）を満たされるように設定される。
診断テスト回数  ＝  シード数  ×  展開数  ／  診断粒度    （１）
【００４７】
前診断テスト用の期待シグネチャ１６２は、シードから展開されるテストパターンに対応する応答パターンに基づいて、シグネチャ生成回路１２によって生成されることが期待されるシグネチャである。この前診断テスト用の期待シグネチャ１６２は、回路診断テスト装置１が後述の前診断テストを実施する際に参照される。したがって、回路診断テスト装置１が前診断テストを行わない場合、前診断テスト用の期待シグネチャ１６２は必ずしも記憶されなくてもよい。記憶部１６は、複数の前診断テスト用の期待シグネチャ１６２を記憶してもよく、例えば、図１０Ａ及び図１０Ｂで説明する前診断テスト用の期待シグネチャ１６２を、検出テスト用と診断テスト用でそれぞれ別に記憶してもよい。
【００４８】
シード１６３は、制御部１７がテストパターン設定回路１１にテストパターンを展開させるために、制御部１７によって読み出されてテストパターン設定回路１１に設定される。記憶部１６は、複数のシード１６３を記憶してもよく、例えば、診断テスト用のシード１６３と、図１０Ａで説明する前診断テストの検出テスト用のシード１６３と、図１０Ｂで説明する前診断テストの診断テスト用のシード１６３とを、それぞれ別に記憶してもよい。また、記憶部１６には、シード１６３から展開されるテストパターンによって遅延故障が活性化される診断対象回路２の故障の種類又は領域が、シード１６３と対応付けて記憶されてもよい。
【００４９】
診断テスト結果１６４は、回路診断テスト装置１によって実施された診断対象回路２の診断テスト結果を含む。診断テスト結果１６４は、シグネチャ生成回路１２によって生成された応答シグネチャ、及びシグネチャ比較回路１５から出力された比較結果の情報等を更に含んでもよい。制御部１７の後述の診断部１７５は、この診断テスト結果１６４に基づいて、例えば、被疑故障の絞り込み及び故障箇所の特定を行う。また、制御部１７の後述の故障修復部は、この診断テスト結果１６４に基づいて、診断対象回路２の故障個所の修復処理を実行する。診断テスト結果１６４は、不揮発性領域に記憶されてもよい。
【００５０】
制御部１７は、例えば、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）、又はＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）等により構成される集積回路とされる。或いは、制御部１７は、回路診断処理用コンピュータプログラムを実行する一以上のプロセッサ及びその周辺回路とされてもよい。
【００５１】
図７は、回路診断テスト装置１の制御部１７の機能ブロックを示す図である。制御部１７は、前診断テスト部１７１、診断テスト部１７２、クロック周期設定部１７３、出力部１７４、及び診断部１７５を有する。また、制御部１７は、図１に示したシグネチャ比較回路１５の機能を更に有してもよい。制御部１７のこれらの各部は、ＦＰＧＡ又はＡＳＩＣに形成される回路として実現されてもよいし、プロセッサ上で実行されるコンピュータプログラムとして実現されてもよい。
【００５２】
図８は、回路診断テスト装置１において実行される回路診断テスト処理の一例を示すフローチャートである。図７に示した制御部１７の各部は、図８に示すフローチャートに従って、診断対象回路２の回路診断テスト処理を実行する。この回路診断テスト処理は、例えば、診断対象回路２を有する装置がパワーオンされたとき、又は、待機状態とされたときに実行される。
【００５３】
診断テスト部１７２が診断対象回路２の診断テストを実施する前に、前診断テスト部１７１は、診断対象回路２の前診断テストを実施する（ステップＳ８０１）。なお、この前診断テスト部１７１による前診断テストは省略されてもよい。その場合でも、診断テスト部１７２による診断対象回路２の診断テストが実施されることで、少なくとも診断対象回路２に遅延故障が存在するか否かについての判定が可能となる。
【００５４】
前診断テスト部１７１は、例えば、診断対象回路２に遅延故障を含む故障が存在するか否かを判定するための診断テストを行う。これにより、前診断テストによって診断対象回路２に遅延故障含む故障が存在しないと判定されると、診断テスト部１７２は、診断対象回路２の故障個所を特定するための診断テストを実施する必要がなくなる。したがって、診断テスト部１７２は、前診断テストによって診断対象回路２に遅延故障を含む故障が存在すると判定されたときに限り、診断対象回路２の遅延故障の個所を特定するための診断テストを実施するようにしてもよい。このような前診断テストの例については、後で図１０Ａのフローチャートを参照して説明する。
【００５５】
或いは、前診断テスト部１７１は、例えば、診断対象回路２に遅延故障以外の、例えば、縮退故障等が存在するか否かを判定するための診断テストを行う。これにより、前診断テストによって診断対象回路２に遅延故障以外の故障が存在すると判定されると、遅延故障以外の故障はそもそも修復することが困難であるため、遅延故障の故障個所を特定して後述の故障修復部によって遅延故障を修復する必要性が低下する。したがって、診断テスト部１７２は、前診断テストによって診断対象回路２に遅延故障以外の故障が存在すると判定されたときには、診断対象回路２の遅延故障の個所を特定するための診断テストを実施しないようにしてもよい。このような前診断テストの例については、後で図１０Ｂのフローチャートを参照して説明する。
【００５６】
診断テスト部１７２は、前診断テスト部１７１による診断対象回路２の前診断テストの実施結果に応じて、診断対象回路２の診断テストを実施するか否かを判定する（ステップＳ８０２）。診断テスト部１７２は、診断対象回路２の診断テストを実施しないと判定した場合（ステップＳ８０２：Ｎｏ）、回路診断テスト処理を終了する。一方、診断テスト部１７２は、診断対象回路２の診断テストを実施すると判定した場合（ステップＳ８０２：Ｙｅｓ）、以降の回路診断テスト処理を実行する。
【００５７】
診断テスト部１７２は、まず、通常動作のクロック周期である第１周期よりも長い（遅い）第２周期で診断対象回路２を動作させたときの診断対象回路２の応答に基づく期待シグネチャを、シグネチャ生成回路１２に生成させる（ステップＳ８０３）。
【００５８】
例えば、図９Ａは、回路診断テスト装置１において実行されるシグネチャ生成処理の一例を示すフローチャートである。図７に示した制御部１７の各部は、図９Ａに示すフローチャートに従って処理を実行して、シグネチャ生成回路１２にシグネチャを生成させる。
【００５９】
具体的には、診断テスト部１７２は、まず、シグネチャ生成回路１２に初期化信号を出力してシグネチャ生成回路１２を初期化する（ステップＳ９０１）。これにより、シグネチャ生成回路１２は、初期化後にスキャンＦＦ３から出力される一連の応答パターン（応答パターン集合）を圧縮処理してシグネチャの生成を開始する。
【００６０】
次に、クロック周期設定部１７３は、スキャンテストのキャプチャ動作においてクロック信号ＣＫが、通常動作のクロック周期である第１周期よりも長い第２周期でスキャンＦＦ３に出力されるように、クロック信号ＣＫの周期を設定する（ステップＳ９０２）。
【００６１】
より具体的には、クロック周期設定部１７３は、例えば、非特許文献１に記載のＰＬＬの位相シフトを用いたテストタイミング制御技術によって、クロック信号ＣＫの周期を可変することができる。或いは、クロック周期設定部１７３は、例えば、クロック信号ＣＫを偶数のＮＯＴゲート等の論理素子を経由させて遅延させることによって、クロック信号ＣＫの周期を可変することもできる。また、その他の周知の技術が、クロック信号ＣＫの周期を可変させるために用いられてもよい。
【００６２】
次に、診断テスト部１７２は、記憶部１６に記憶されたシードを、テストパターン設定回路１１に設定する（ステップＳ９０３）。このシードは、シードから展開される一連のテストパターン（テストパターン集合）が診断対象回路２の特定の種類又は領域の故障を活性化するように予め選択される。この結果、テストパターン設定回路１１によりシードから一連のテストパターンが展開されて複数のスキャンＦＦ３に設定される。
【００６３】
次に、診断テスト部１７２は、クロック周期設定部１７３により第２周期に設定されたクロック信号ＣＫを複数のスキャンＦＦ３に出力して、スキャンテストを実施する（ステップＳ９０４）。この結果、複数のスキャンＦＦ３から出力される応答パターンが、シグネチャ生成回路１２によって圧縮処理される。
【００６４】
次に、診断テスト部１７２は、テストパターン設定回路１１にシードが設定されてから所定の展開数のテストパターンが展開されたか否かを判定する（ステップＳ９０５）。所定の展開数のテストパターンが展開されていない場合（ステップＳ９０５：Ｎｏ）、診断テスト部１７２は、所定の展開数のテストパターンが展開されるまで、スキャンテストを繰り返す。
【００６５】
所定の展開数のテストパターンが展開されると（ステップＳ９０５：Ｙｅｓ）、診断テスト部１７２は、制御信号ＥＳＳをＬｏｗにして、シグネチャ生成回路１２から出力される期待シグネチャＳｉｇ１を期待シグネチャ保持部１４に保持する。
【００６６】
図８に戻って、診断テスト部１７２は、次に、通常動作のクロック周期である第１周期で診断対象回路２を動作させたときの診断対象回路２の応答に基づく応答シグネチャを、シグネチャ生成回路１２に生成させる（ステップＳ８０４）。
【００６７】
この場合も、図７に示した制御部１７の各部は、図９Ａに示したフローチャートに従って処理を実行し、同様にして、シグネチャ生成回路１２にシグネチャを生成させる。但し、この場合、クロック周期設定部１７３は、ステップＳ９０２においてクロック信号ＣＫが、通常動作のクロック周期である第１周期でスキャンＦＦ３に出力されるように、クロック信号ＣＫの周期を設定する。また、診断テスト部１７２は、ステップＳ９０３において、期待シグネチャを生成したときと同じシードがテストパターン設定回路１１に設定されるようにする。この結果、シグネチャ生成回路１２によって生成された応答シグネチャＳｉｇ２が、シグネチャ比較回路１５に出力される。
【００６８】
次に、出力部１７４は、シグネチャ比較回路１５による期待シグネチャＳｉｇ１と応答シグネチャＳｉｇ２の比較結果を、記憶部１６に記憶する（ステップＳ８０５）。或いは、出力部１７４は、シグネチャ比較回路１５による期待シグネチャＳｉｇ１と応答シグネチャＳｉｇ２の比較結果を、回路診断テスト装置１の外部に出力してもよい。
【００６９】
次に、診断テスト部１７２は、全ての診断テストを実施したか否かを判定する（ステップＳ８０６）。全ての診断テストを実施していない場合（ステップＳ８０６：Ｎｏ）、診断テスト部１７２は、全ての診断テストを実施するまで、診断対象回路２の診断テストを繰り返す。
【００７０】
診断テスト部１７２によって全ての診断テストが実施されると（ステップＳ８０６：Ｙｅｓ）、出力部１７４は、診断テスト部１７２による診断テスト結果を、記憶部１６に記憶する（ステップＳ８０７）。或いは、出力部１７４は、診断テスト部１７２による診断テスト結果を、回路診断テスト装置１の外部に出力してもよい。その後、診断部１７５は、診断テスト部１７２による診断テスト結果に基づいて、診断対象回路２の遅延故障を診断してもよい。
【００７１】
図９Ｂは、回路診断テスト装置１において実行されるシグネチャ生成処理の他の一例を示すフローチャートである。図９Ｂに示すシグネチャ生成処理は、二以上のシードから展開される一連のテストパターン（テストパターン集合）から、一組の期待シグネチャ及び応答シグネチャを生成する点が、図９Ａに示したシグネチャ生成処理と異なる。
【００７２】
図９Ｂに示すステップＳ９０１〜Ｓ９０５は、図９Ａに示したステップＳ９０１〜Ｓ９０５と同じであるため説明を省略する。
【００７３】
次に、診断テスト部１７２は、シグネチャ生成回路１２が初期化されてから展開されたテストパターンの総展開数が、一つのシグネチャを生成するために展開するテストパターンの数である所定の診断粒度以上であるか否かを判定する（ステップＳ９１６）。この診断粒度は、本シグネチャ生成処理では、一つのシードから展開されるテストパターンの展開数の倍数とされる。
【００７４】
テストパターンの総展開数が所定の診断粒度未満である場合（ステップＳ９１６：Ｎｏ）、診断テスト部１７２は、ステップＳ９０３に処理を戻し、記憶部１６から新しいシードを読み出して、テストパターン設定回路１１に設定する。この新しいシードも、展開される一連のテストパターンが、前のシードと同一の種類又は領域の故障を活性化するように選択される。この際、診断テスト部１７２は、期待シグネチャを生成するときと応答シグネチャを生成するときとで同じシードがテストパターン設定回路１１に設定されるようにする。
【００７５】
そして、診断テスト部１７２は、シグネチャ生成回路１２が初期化されてから展開されたテストパターンの総展開数が所定の診断粒度以上となるまで（ステップＳ９１６：Ｙｅｓ）、シードを変えながらスキャンテストを繰り返す。この結果、二以上のシードから展開される一連のテストパターンに対応する一連の応答パターンに基づいて、シグネチャ生成回路１２によってシグネチャが生成されて出力される。
【００７６】
このように、一連のテストパターンを展開するために用いるシード数を増やすことで、診断対象回路２の故障をより活性化しやすい一連のテストパターンを展開することができる。
【００７７】
図９Ｃは、回路診断テスト装置１において実行されるシグネチャ生成処理の更に他の一例を示すフローチャートである。図９Ｃに示すシグネチャ生成処理は、同一のシードから展開される一連のテストパターン（テストパターン集合）から、複数組の期待シグネチャ及び応答シグネチャを生成する点が、図９Ａに示したシグネチャ生成処理と異なる。
【００７８】
図９Ｃに示すステップＳ９０１〜Ｓ９０２は、図９Ａに示したステップＳ９０１〜Ｓ９０２と同じであるため説明を省略する。
【００７９】
次に、診断テスト部１７２は、テストパターン設定回路１１にシードが設定されてから所定の展開数のテストパターンが展開されたか否かを判定する（ステップＳ９２５）。所定の展開数のテストパターンが展開された場合（ステップＳ９２５：Ｙｅｓ）、診断テスト部１７２は、記憶部１６から新しいシードを読み出して、テストパターン設定回路１１に設定する（ステップＳ９０３）。この際、診断テスト部１７２は、期待シグネチャを生成するときと応答シグネチャを生成するときとで同じシードがテストパターン設定回路１１に設定されるようにする。
【００８０】
一方、所定の展開数のテストパターンが展開されていない場合（ステップＳ９２５：Ｎｏ）、診断テスト部１７２は、所定の展開数のテストパターンが展開されるまで、同じシードから展開される一連のテストパターンを用いてスキャンテストを実施する。
【００８１】
なお、本シグネチャ生成処理の以降の一連のスキャンテストでは、期待シグネチャを生成するときと応答シグネチャを生成するときとで同じ一連のテストパターンが複数のスキャンＦＦ３に設定されるようにする必要がある。そのために、回路診断テスト装置１は、例えば、テストパターン設定回路１１のシードの状態を保存するためのＳＢＲ（Ｓｅｅｄ  Ｂｕｆｆｅｒ  Ｒｅｇｉｓｔｅｒ）を備えてもよい。そして、診断テスト部１７２は、期待シグネチャを生成するために以降の一連のスキャンテストを行う前に、テストパターン設定回路１１のシード状態をＳＢＲに保存しておく。その後、診断テスト部１７２は、応答シグネチャを生成するために以降の一連のスキャンテストを行う前に、ＳＢＲに保存されたシード状態をテストパターン設定回路１１に設定する。
【００８２】
次に、診断テスト部１７２は、クロック周期設定部１７３により設定されたクロック信号ＣＫを複数のスキャンＦＦ３に出力して、スキャンテストを実施する（ステップＳ９０４）。この結果、複数のスキャンＦＦ３から出力される応答パターンが、シグネチャ生成回路１２によって圧縮処理される。
【００８３】
次に、診断テスト部１７２は、シグネチャ生成回路１２が初期化されてから展開されたテストパターンの総展開数が、一つのシグネチャを生成するために展開するテストパターンの数である所定の診断粒度以上であるか否かを判定する（ステップＳ９２６）。この診断粒度は、本シグネチャ生成処理では、一つのシードから展開されるテストパターンの展開数の約数とされる。
【００８４】
テストパターンの総展開数が所定の診断粒度未満である場合（ステップＳ９２６：Ｎｏ）、診断テスト部１７２は、テストパターンの総展開数が所定の診断粒度以上となるまで（ステップＳ９２６：Ｙｅｓ）、スキャンテストを繰り返す。この結果、同一のシードから展開される一連のテストパターンから、複数組の期待シグネチャ及び応答シグネチャが生成され、それぞれの組の期待シグネチャと応答シグネチャとが比較されて、診断対象回路２の故障個所が特定される。
【００８５】
例えば、同一のシードから展開される一連のテストパターンのうち、第１テストパターンによって遅延故障が活性化される第１診断領域、及び第２テストパターンによって遅延故障が活性化される第２診断領域が、記憶部１６に予め記憶される。そして、診断部１７５は、第１テストパターンに対応する応答パターンに基づいて生成された応答シグネチャと期待シグネチャとの比較結果が異なる場合に、第１診断領域に遅延故障が存在すると判定する。また、診断部１７５は、第２テストパターンに対応する応答パターンに基づいて生成された応答シグネチャと期待シグネチャとの比較結果が異なる場合に、第２診断領域に遅延故障が存在すると判定する。
【００８６】
このように、期待シグネチャと応答シグネチャを比較して診断対象回路２を診断テストする回数を増やすことで、診断対象回路２の故障個所を特定する精度が向上する。特に、本発明の回路診断テスト装置１は、期待シグネチャを自動生成するため、期待シグネチャを予め不揮発性メモリ等に記憶しておく必要がない。したがって、本発明の回路診断テスト装置１は、メモリ容量に制限されることなく、診断対象回路２の診断テスト回数を増やして高精度の診断を実施するための診断テスト結果を得ることができる。
【００８７】
図１０Ａは、回路診断テスト装置１において実行される前診断テスト処理の一例を示すフローチャートである。前診断テスト部１７１は、以下のフローチャートに従って、診断対象回路２の前診断テスト処理を実行する。
【００８８】
図１０Ａに示すステップＳ９０１〜Ｓ９０５は、図９Ａに示したステップＳ９０１〜Ｓ９０５と同じである。但し、クロック周期設定部１７３は、ステップＳ９０２においてクロック信号ＣＫが、通常動作のクロック周期である第１周期でスキャンＦＦ３に出力されるように、クロック信号ＣＫの周期を設定する。これにより、第１周期で診断対象回路２を動作させたときの診断対象回路２の応答が、シグネチャ生成回路１２によって圧縮処理される。また、ステップＳ９０３では、検出テスト用のシードが用いられる。
【００８９】
その後、前診断テスト部１７１は、全ての故障検出用のシードについて検出テストを実施したか否かを判定する（ステップＳ１００６）。全てのシードについて診断テストを実施していない場合（ステップＳ１００６：Ｎｏ）、前診断テスト部１７１は、全てのシードについて診断テストを実施するまで、シードを変えながらスキャンテストを繰り返す。
【００９０】
故障検出用の全てのシードについて診断テストを実施すると（ステップＳ１００６：Ｙｅｓ）、シグネチャ生成回路１２によって生成されたシグネチャが、シグネチャ比較回路１５に出力される。前診断テスト部１７１は、制御信号ＥＳＳをＨｉｇｈにして、マルチプレクサ１３に前診断テスト用の期待シグネチャＳｉｇ０を出力して、前診断テスト用の期待シグネチャＳｉｇ０を期待シグネチャ保持部１４に保持する。
【００９１】
次に、前診断テスト部１７１は、シグネチャ生成回路１２から出力されたシグネチャと、前診断テスト用の期待シグネチャＳｉｇ０とのシグネチャ比較回路１５による比較結果を、記憶部１６に記憶する（ステップＳ１００７）。
【００９２】
前診断テスト部１７１による前診断テスト処理が実施された後、診断テスト部１７２は、前診断テスト部１７１によって記憶部１６に記憶された比較結果が一致するか否かを判定する。
【００９３】
診断テスト部１７２は、比較結果が一致しない場合、診断対象回路２に遅延故障を含む故障が存在すると判定し、診断対象回路２の遅延故障の個所を特定するための診断テストを実施する。一方、比較結果が一致する場合、診断テスト部１７２は、診断対象回路２に遅延故障を含む故障が存在しないと判定し、診断対象回路２の遅延故障の個所を特定するための診断テストを実施しない。
【００９４】
図１０Ｂは、回路診断テスト装置１において実行される前診断テスト処理の他の一例を示すフローチャートである。前診断テスト部１７１は、以下のフローチャートに従って、診断対象回路２の前診断テスト処理を実行する。
【００９５】
図１０Ｂに示すステップＳ９０１〜Ｓ９０５及びＳ１００６〜Ｓ１００７は、図１０Ａに示したステップＳ９０１〜Ｓ９０５及びＳ１００６〜Ｓ１００７と同じである。但し、クロック周期設定部１７３は、ステップＳ９０２においてクロック信号ＣＫが、通常動作のクロック周期である第１周期よりも長い（遅い）第２周期でスキャンＦＦ３に出力されるように、クロック信号ＣＫの周期を設定する。これにより、第２周期で診断対象回路２を動作させたときの診断対象回路２の応答が、シグネチャ生成回路１２によって圧縮処理される。また、ステップＳ９０３では、診断テスト用のシードが用いられる。
【００９６】
前診断テスト部１７１による前診断テスト処理が実施された後、診断テスト部１７２は、図１０Ａに示した前診断テスト処理と同様に、前診断テスト部１７１によって記憶部１６に記憶された比較結果が一致するか否かを判定する。
【００９７】
診断テスト部１７２は、比較結果が一致する場合、診断対象回路２に遅延故障以外の故障が存在しないと判定し、診断対象回路２の遅延故障の個所を特定するための診断テストを実施する。一方、比較結果が一致しない場合、診断テスト部１７２は、診断対象回路２に遅延故障以外の故障が存在すると判定し、診断対象回路２の遅延故障の個所を特定するための診断テストを実施しない。
【００９８】
以上のように、回路診断テスト装置は、通常動作と同じ第１周期のクロック信号で診断対象回路を動作させたときの応答に基づく応答シグネチャと、第１周期よりも長い第２周期のクロック信号で診断対象回路を動作させたときの応答に基づく期待シグネチャとを比較する。そして、回路診断テスト装置は、応答シグネチャと期待シグネチャとの比較結果が異なる場合に、診断対象回路に遅延故障が存在すると判定する。
【００９９】
回路診断テスト装置は、このように期待シグネチャを自動生成するため、期待シグネチャを予め不揮発性メモリ等に記憶しておく必要がない。したがって、本発明の回路診断テスト装置は、メモリ容量に制限されることなく高精度の診断を行うための診断テストを実施することができる。
【０１００】
上述の実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならない。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
【０１０１】
他の実施例として、図７に示した制御部１７は、診断テスト部１７２による比較結果が異なる場合に、診断対象回路２の故障を修復する故障修復部（図示せず）を更に有してもよい。
【０１０２】
この故障修復部は、例えば、診断テスト部１７２による比較結果が異なる場合に、トランジスタの電源端子に供給される電源電圧を診断テスト前の電源電圧よりも大きくする。或いは、故障修復部は、診断テスト部１７２による比較結果が異なる場合に、クロック信号ＣＫの周期を診断前のクロック信号ＣＫの周期よりも長くする。その後、故障修復部は、遅延故障が修復されたことを確認するために、診断テスト部１７２に診断対象回路２を再び診断テストさせてもよい。
【０１０３】
これにより、回路診断テスト装置１は、診断対象回路２の故障個所を修復することができる。
【０１０４】
更に他の実施例として、図７に示した制御部１７は、近い将来、診断対象回路２に故障が発生する可能性があるか否かを判定する故障予測部（図示せず）を更に有してもよい。
【０１０５】
この故障予測部は、例えば、まず、第１周期に設定されたクロック信号ＣＫが出力されたときに複数のスキャンＦＦ３から出力される応答パターンに基づいて、シグネチャ生成回路１２に第１シグネチャを生成させる。次に、故障予測部は、第１周期よりも短い（速い）第３周期に設定されたクロック信号ＣＫが出力されたときに複数のスキャンＦＦ３から出力される応答パターンに基づいて、シグネチャ生成回路１２に第２シグネチャを生成させる。そして、故障予測部は、第１シグネチャと第２シグネチャとの比較結果が異なる場合に、近い将来、診断対象回路２に故障が発生する可能性があると判定する。
【０１０６】
これにより、回路診断テスト装置１は、診断対象回路２に故障が発生する可能性があると判定された診断対象回路２を、上述の故障修復部と同様の手法によって予防することができる。
【符号の説明】
【０１０７】
１    回路診断テスト装置
２    診断対象回路
３    スキャンＦＦ
３ｂ    拡張スキャンＦＦ
１１    テストパターン設定回路
１２    シグネチャ生成回路
１３    マルチプレクサ
１４    期待シグネチャ保持部
１５    シグネチャ比較回路
１６    記憶部
１７    制御部
２０    組み合わせ回路
３２    マルチプレクサ
３３    ラッチ回路
１６１    診断テスト設定情報
１６２    期待シグネチャ
１６３    シード
１６４    診断テスト結果
１７１    前診断テスト部
１７２    診断テスト部
１７３    クロック周期設定部
１７４    出力部
１７５    診断部
【図１】
2020134303.tif 000003
【図２】
2020134303.tif 000004
【図３】
2020134303.tif 000005
【図４】
2020134303.tif 000006
【図５】
2020134303.tif 000007
【図６】
2020134303.tif 000008
【図７】
2020134303.tif 000009
【図８】
2020134303.tif 000010
【図９Ａ】
2020134303.tif 000011
【図９Ｂ】
2020134303.tif 000012
【図９Ｃ】
2020134303.tif 000013
【図１０Ａ】
2020134303.tif 000014
【図１０Ｂ】
2020134303.tif 000015