(57)【特許請求の範囲】
【請求項１】
テスト対象である被検査回路をテストするに十分な論理1又は論理0のランダム信号を発生させるランダム信号発生回路と、
前記ランダム信号発生回路の出力信号線のうち２本以上を用いて、各信号線に論理1/0 が現れる確率を変更して論理1又は論理0を出力する確率演算回路と、
前記確率演算回路の出力信号を入力し、前記確率演算回路により変更された確率で切り替えるまで、論理1又は論理0をそれぞれ続けて出力する保持回路と
を備え、
前記ランダム信号発生回路の出力信号を前記被検査回路に印加することに加え、前記保持回路の出力信号を被検査回路の特定の信号線に印加してテスト信号の一部とすること
を特徴とするLSI の自己検査回路。
【請求項２】
請求項１記載の自己検査回路202 と、テスト対象である被検査回路203 と、被検査回路203 の出力信号を圧縮するシグネチャ回路204 と、一連のテスト動作を制御する検査制御回路205 と、テスト時の信号ラインであるテストバス211 とを１つのLSI 上に統合化し、
前記自己検査回路202 の前記確率演算回路213 を構成する複数の回路のうち、任意の１回路を選択回路215 により選択して前記保持回路214 に入力することにより保持確率を切り替え可能な構成とし、
前記自己検査回路202 と前記シグネチャ回路204 が、前記テストバス211 に接続される構成であり、
前記被検査回路203 をテストするモードにおいて、前記検査制御回路205 から制御信号を出力して、前記被検査回路203 を前記テストバス211 に接続し、前記自己検査回路202 と、前記被検査回路203 と、前記シグネチャ回路204 とを直列的に接続する状態を有し、
前記テストバス211 を通じて、前記自己検査回路202 からテスト信号を前記被検査回路203 に入力し、さらに前記テストバス211 を通じて、被検査回路203 の出力信号を前記シグネチャ回路204 に入力することにより、前記被検査回路203 のテストを行うこと
を特徴とするLSI の自己検査方式。
【請求項３】
前記ランダム信号発生回路が、線型フィードバックシフトレジスタであること
を特徴とする請求項１記載のLSI の自己検査回路。
【請求項４】
ランダム信号発生回路が、被検査回路803 をテストするに十分な論理1又は論理0のランダム信号を発生させる機能と、前記被検査回路803 の出力信号を入力し信号圧縮をおこなう機能とを兼備したフィードバックテスト回路806 であって、前記フィードバックテスト回路806 の出力信号線のうち２本以上を用いて、各信号線に論理1/0 が現れる確率を変更して論理1又は論理0を出力する確率演算回路807 と、前記確率演算回路807 の出力信号を入力し、前記確率演算回路807 により変更された確率で切り替えるまで、論理1又は論理0をそれぞれ続けて出力する保持回路808 とを同時に備え、
前記フィードバックテスト回路806 および前記保持回路808 からテスト信号を印加すると同時に、被検査回路803 の出力信号を前記フィードバックテスト回路806 に入力して信号圧縮をおこなうこと
を特徴とするLSI の自己検査回路。
【請求項５】
前記確率演算回路が、
前記ランダム信号発生回路の出力信号のうち２本以上の信号の論理演算をおこなう論理回路によりなされること、
を特徴とする請求項１または４記載のLSI の自己検査回路。
【請求項６】
前記保持回路104 は、
前記確率演算回路102 の出力をフリップフロップ107 のクロック信号線に入力し、フリップフロップ107 の出力の反転値が、再び前記フリップフロップ107 の入力信号線に接続された構成であること
を特徴とする請求項１記載のLSI の自己検査回路。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は半導体装置である半導体集積回路（以下、LSI と記す）の自己検査回路に関する。
【０００２】
【従来の技術】
従来、LSI が大規模化して製造した回路が正しく機能しているかをチェックする検査が複雑化している。それで、被検査回路であるLSI 内部の論理回路をテストするために、被検査回路にテスト信号を入力して、その結果として被検査回路からの出力される応答出力信号を調べる方法が行われている。そのテスト信号としてランダム信号を利用する方法が、従来から知られている。このランダム信号発生回路としては、例えば、L.T.Wang, IEEE Fault Tolerant Computing "Autonomous Linear Feedback Shift Register with On-Line Detection Capability" に示されているように、線形フィードバックシフトレジスタ（以下、LFSRと記す）が用いられている。
【０００３】
【発明が解決しようとする課題】
上記従来技術は、疑似ランダムなテスト信号が容易に得られることで優れた検査方法であるが、被検査回路の回路構成によっては故障検出率が必ずしも高くないという欠点があった。
【０００４】
例えば、図１１の如き回路について考える。この回路のフリップフロップ（以下、F/F と記す）1101の入力部ｐにスタック（縮退）"0" 故障が生じたとする。この故障を検出するためには、F/F 1101〜1106がリセットされている状態から、CNT に論理"0→0 →0 →0"を、Ｄ1 に"1→d →d →d"(dはドントケア＝どちらの状態でもよい) を順に入力する必要がある。
【０００５】
Ｄ1 とCNT の信号を線形フィードバックシフトレジスタ等のランダム信号発生器を用いて生成した場合、"0" と"1" の発生確率は0.5 であり、ｐに生じたスタック"0" 故障を検出する確率は、
【数  １】
（１／２）5 ＝ 0.03125
となり、故障検出確率が非常に低い。このように、ランダム信号を用いる方法は、被検査回路の種類によっては必ずしも有効でない。
【０００６】
本発明の目的は、より効率的な故障検出が実現できるような、LSI の自己検査方式を提供することにある。
【０００７】
【課題を解決するための手段】
本発明は半導体集積回路(LSI) の自己検査を行う自己検査回路であって、上記課題を達成するため、
テスト対象である被検査回路203 をテストするのに十分な論理1又は論理0のランダム信号を発生させるランダム信号発生回路103(ここではLFSR) と、
前記LFSR103 の出力信号線のうち２本以上を用いて、論理1/0 が現れる確率（以下、保持確率と記す）を変更して論理1又は論理0を出力する確率演算回路102 と、
前記確率演算回路102 の出力信号を入力して、前記確率演算回路102 により変更された確率で切り替えるまで、論理1又は論理0をそれぞれ続けて出力する保持回路104 と、
を備えることで、
LFSR103 の出力信号を前記被検査回路203 に印加することに加えて、
保持回路104 の出力信号を被検査回路203 の特定の信号線に印加してテスト信号の一部とすることにより、テストを実施することを要旨とする。
【０００８】
【作用】
被検査回路の種類によっては全信号線にランダム信号を印加するよりも、特定の信号線には、論理1又は論理0に固定した信号を印加したほうが有効な場合がある。本発明では、LFSRから被検査回路にランダム信号を印加する一方で、保持回路からは一定の確率で現在の論理を保持するテスト信号を被検査回路に同時に印加し、テストを実施する。このようにして、LFSRのみで構成した自己検査回路を用いて自己検査を行なう場合よりも、効率の良い自己検査をおこなうことができる。また自己検査回路としてフィードバックテスト回路で構成した場合でもランダム信号が得られて、保持回路からは一定の確率で現在の論理を保持するテスト信号を被検査回路に同時に印加し、テストを実施する。なお、論理1/0 の状態とは、出力が"0" と"1" のいずれかをとることで、その状態を保持するとは、次の信号が入力された場合でも、その出力が変化しないことである。
【０００９】
【発明の効果】
以下の各実施例に示すように本発明においては、自己検査回路として、テスト対象である被検査回路をテストするに十分な論理1/0 ランダム信号を発生させるランダム信号発生回路（例えば LFSR)と、ランダム信号発生回路の出力信号線のうち２本以上を用いて、論理1/0 が現れる確率を変更して出力する確率演算回路と、確率演算回路の出力信号を入力して、確率演算回路により変更された確率で切り替えるまで、論理1又は論理0をそれぞれ続けて出力する保持回路とを備えることで、被検査回路をテストするモードにおいて、ランダム信号発生回路の出力をテスト信号として前記被検査回路に印加すると同時に、保持回路の出力信号を被検査回路の特定の信号線、例えばF/F のリセット入力等に印加してテスト信号の一部とすることにより、故障の伝搬を容易におこなうようにすることで、LSI の自己検査に関して、従来より効率的な故障検出を実現できるという効果を有する。
【００１０】
請求項２の構成では、シグネチャ回路204 を用いた自己検査回路でも有効に効率的な故障検出が実施できるという効果と、保持確率を変更することで、容易に、異なる被検査対象の検査を効率よく実施できる利点がある。請求項４の構成では、論理1/0 ランダム信号を発生させる機能と、出力信号の信号圧縮をおこなう機能とを兼備したフィードバックテスト回路を備えた自己検査回路でも同様に効率的な故障検出ができ、テスト回路面積が小さいにもかかわらず効率よくテストを実施できるという効果を有する。請求項５の構成では、複雑な回路を用いないで確率演算を実施できる効果がある。請求項６の構成では、クロックごとに出力を切り換える構成とすることができ、容易に保持回路が実現する。
【００１１】
【実施例】
以下、本発明を具体的な実施例に基づいて説明する。
（第一実施例）
以下、本発明の第１実施例を図１を用いて説明する。図１に、本発明の自己検査回路の一構成例を示す。図１において、LFSR103 、確率演算回路102 および保持回路104 が示されている。LFSR103 は、フリップフロップ(F/F)108〜112 および排他的論理和ゲート(EX-OR)113から構成される線形フィードバックシフトレジスタ(LFSR)である。線形フィードバックシフトレジスタの具体的構成に関しては、例えば、川又、保坂 "ディジタル回路" や、D.K.Bhavsar & R.W.Heckelman, IEEE Test Conference 1981 208-216頁の"Self-Testing by Polynominal Division"等で既に知られている。
【００１２】
信号線TCK は、F/F108〜112 をシフト動作させるクロック入力である。また信号線S/R は、F/F108〜112 をセットまたはリセットする信号線である。LFSR103 は、５次の原始多項式、
【数  ２】
ｘ5 ＋  ｘ2 ＋  １
を表すように構成されており、並列出力信号線ｘ1 〜ｘ5 は周期２5-1=31の疑似ランダム信号を発生することが分かっている。
【００１３】
各信号線ｘ1 〜ｘ5 が論理"1" および論理"0" をとる確率は、それぞれ、ほぼ0.5 である。信号線ｘ1 〜ｘ5 はテスト信号として被検査回路に出力されると同時に、確率演算回路102 の入力ともなっておりAND ゲート105 に接続されている。そして、確率演算回路102 の出力、すなわちAND ゲート105 の出力は、保持回路104 に接続されている。保持回路104 はF/F107およびNOT ゲート106 から構成されており、確率演算回路102 の出力がF/F107のクロック入力に接続されている。F/F107のリセット入力CLRBは、信号線S/R に接続されている。F/F107の出力Ｑは、出力信号線ｘ6 に接続され、テスト信号として被検査回路に出力されると同時に、NOT ゲート106 を通じて、F/F107の入力Ｄに接続されている。
【００１４】
このような構成の自己検査回路101 において、信号線ｘ1 〜ｘ6 からテスト信号を出力させるには、まずS/R を論理"0" にして、F/F107をリセットする（出力Ｑから論理"0" が出力される）と同時にF/F108〜112 をセット・リセットし、
次に、S/R を論理"1" にした後、クロック信号TCK を動作させると、ｘ1 〜ｘ6 からテスト信号が出力される。
【００１５】
このときの、確率演算回路102 および保持回路104 の動作を説明する。信号線ｘ2 〜ｘ5 には、論理"0" と"1" とが、確率0.5 でランダムに出力されている。従って、AND ゲート105 の出力が"0" から"1" に変化する（すなわちF/F107にクロック信号が入力され、Ｄの論理値がＱに伝搬する）確率は、(1/2)4×1/2 = 0.03125 である。
【００１６】
つまり平均してTCK 32回に１回の確率で、F/F107のＤの論理値がＱに伝搬する。F/F107の出力ＱはNOT ゲート106 を通してＤに入力されているため、クロック信号が入力される度にＱには論理"1" と論理"0" が交互に出力される。従って、信号線ｘ6 の論理値は、論理"0" と"1" をとる確率は0.5 のままで、"0" から"1" あるいは"1" から"0" へ遷移する確率が0.03125 である切り替えスイッチ動作をおこなうことができる。
【００１７】
一例として、検査対象である被検査回路が図１１で構成される場合について、本発明の効果を示す。図１１において、信号線CNT に保持回路104 の出力ｘ6 を入力し、信号線Ｄ1,Ｄ2 には、ｘ1 〜ｘ5 のうちいずれか２本を接続して検査を行う場合を考える。信号線ｘ1 〜ｘ5 の出力は、論理"0" と論理"1" をとる確率がそれぞれ0.5 のランダム信号であるから、どの信号線を接続してもよく、効果は等しい。ここでF/F1101 の入力部ｐに生じたスタック"0" 故障を検出するためには、F/F 1101〜1107がリセットされている状態から、CNT に論理"0→0 →0 →0"を、Ｄ1 に論理"1→d →d →d"(dはドントケア）を入力する必要がある。もしCNT の値がｐの故障をＱ1 に伝搬する前に変化すると、F/F 1101〜1107はリセットされてしまい、故障を伝搬して検出することができない。
【００１８】
図１の自己検査回路101 を用いた場合、ｑに生じたスタック"0" 故障を検出する確率は、
【数  ３】
１／２  ×  (1-0.03125)4  ＝ 0.440
となり、高い確率で故障を検出できる。他方、CNT が論理"1" のときには、同様にして、Ｄ2,Ｑ2 間の故障検出を行うことができ、効率の良い自己検査を実現できる。
【００１９】
（第二実施例）
以下、本発明の第二実施例を図２を用いて説明する。図２において、被検査回路203 をテストするために、LSI 201 上に自己検査回路202 、シグネチャ回路204 、制御回路205 、テストバス211 、が統合化されている。以下、各回路間の接続について説明する。
【００２０】
自己検査回路202 は、LFSR 212、確率演算回路213 、保持回路214 、選択回路215 から構成されており、出力信号線ｘ1 〜ｘ6 は、それぞれイネーブル206 を介してテストバス211 に接続されている。イネーブル206 の制御信号線ENP は、制御回路205 により制御され、ENP が論理"1" のとき信号線ｘ1 〜ｘ6 の論理値をテストバス211 に出力する。被検査回路203 の各入力信号線は、テストバス211 から、入力ラッチ207 を介して接続されている。入力ラッチ207 のラッチ制御線Rin は、制御回路205 により制御され、Rin が論理"1" のときテストバス211 上の論理値を被検査回路203 に出力し、Rin が論理"0" になったときのテストバス211 上の論理値を保持し被検査回路203 に出力する。
【００２１】
被検査回路203 の各出力信号線は、イネーブル208 を介して、テストバス211 に接続されている。イネーブル208 の制御信号線ENC は、制御回路205 により制御され、ENC が論理"1" のとき被検査回路203 の出力信号をテストバス211 に出力する。シグネチャ回路204 の各入力信号線209 は、テストバス211 と接続されている。シグネチャ回路204 の各出力信号線210 は、イネーブル210 を介してテストバス211 に接続されている。イネーブル210 の制御信号線ENS は、制御回路205 により制御され、ENS が論理"1" のとき最終的な圧縮結果（シグネチャ、テスト結果）が、出力信号線210 を通じてテストバス211 に出力される。
【００２２】
シグネチャ回路204 の具体的な構成については、例えば、Brend Konemann他、"Built-in Test for Complex Digital Integrated Circuits" IEEE Journal of Solid-State Circuits Vol.SC-15, No.3, June, 1980に示されている。
【００２３】
シグネチャ回路204 は、テストバス211 上の論理値を入力し、入力された信号値（すなわち被検査回路の出力信号）の圧縮を行う回路である。制御回路205 は、LSI 201 外部から直接入力される基本クロックCLK0により駆動され、信号線START が論理"1" になったとき自己検査を開始する。信号線START は、一連の自己検査を開始させる制御信号線である。制御回路205 は、制御信号線 TCK, SEL, ENP, Rin, ENC, SCK, ENS, S/R から制御信号を出力して、一連の自己検査を制御する。TCK は、LFSR 212を動作させるクロック信号である。SEL は、選択回路215 に入力されており、確率演算回路213 の出力のうち任意の１本を選択する信号線である。SCK は、シグネチャ回路204 を動作させるクロック信号である。S/R は、LFSR 212およびシグネチャ回路204 を、予め決められた論理値にセット・リセットする、すなわち初期化する信号である。なお、図２において、制御回路205 の出力配線は、簡単のため記述を省略してある。
【００２４】
次に、図３において、自己検査回路202 の構成を示す。図３において、LFSR 212の具体的な構成は、第一実施例の図１に示したLFSR 103と同様であり、直列的に接続されたF/F とEX-OR ゲートからなるランダム信号発生回路である。LFSR 212の各出力信号線ｘ1 〜ｘ5 には、論理"1" および論理"0" をとる確率がそれぞれ0.5のランダム信号が発生する。このLFSR 212の出力信号線ｘ1 〜ｘ5 は、テスト信号として出力されると同時に、確率演算回路213 であるAND ゲート301 〜303 に入力されている。確率演算回路213 は、３つのAND ゲート301,302,303 から構成されている。AND ゲート301 はｘ2 とｘ3 の論理値の論理和演算をおこない、信号線306 に出力する。従って信号線306 には、論理"1" 発生確率が0.52=0.25 のランダム信号が発生することになる。
【００２５】
次にAND ゲート302 は信号線306 とｘ4 の論理値の論理和演算をおこない、信号線307 に出力する。従って信号線307 には、論理"1" 発生確率が 0.25 × 0.5=0.125のランダム信号が発生する。同様にして、AND ゲート303 は信号線307 とｘ5 の論理値の論理和演算をおこなって信号線308 に出力するので、信号線308 には論理"1" 発生確率が 0.125×0.5=0.0625のランダム信号が発生する。このようにして発生した、論理"1" の発生確率が異なる３本の信号線306,307,308 が選択回路であるセレクタ215 に入力されている。セレクタ215 は、２ビット制御線SEL の値に従って、信号線306,307,308 のうちいずれか１本の信号線を選択し、その信号線を保持回路214 に接続する。保持回路214 は第一実施例に示した保持回路104 と同様の構成であり、F/F304およびNOT ゲート305 からなる。セレクタ215の出力はF/F 304のクロック入力に接続される。F/F 304 のリセット入力CLRBは、信号線S/Rに接続されている。
【００２６】
またF/F 304 の出力Ｑは、出力信号線ｘ6 に接続されテスト信号として被検査回路203に出力されると同時に、NOT ゲート305 を介して、F/F 304 の入力Ｄ
接続されている。従って信号線ｘ6 には、確率演算回路213 により変更されたある一定の確率で、現在の論理"1" または論理"0" が保持され出力される。
【００２７】
一例として、選択回路215 が信号線306 を選択している場合を考える。信号線ｘ6 には論理"0" が出力されているとする。信号線306 には論理"1" 発生確率が0.52=0.25 のランダム信号が発生しているため、保持回路214 の出力ｘ6 は、確率 0.25 ×0.5 = 0.125 で現在の論理"0" から論理"1" に変化する。すなわち、平均してTCK ８クロックに付き１度の割合で論理"1" および論理" 0"が交互に変化する。
【００２８】
次に被検査回路203 について説明する。被検査回路203 は、検査の対象となる論理回路であって、LSI の種類に応じて様々な構成が考えられる。図４に、被検査回路203 の一構成例を示す。
【００２９】
図４において、被検査回路203 は、２つの論理ブロック401 および402 から構成されている。論理ブロック401 および402 は様々なAND,OR等の論理ゲートおよびF/F から構成されているとする。信号線ｘ1 〜ｘ5 は、論理ブロック401,402 に入力されている。信号線ｘ6 は、信号線REA を介して論理ブロック401 に入力されるとともに、NOT ゲート403 、信号線REB を介して論理ブロック402 に入力されている。信号線ｙ1 〜ｙ3 は論理ブロック401 の出力、信号線ｙ4 〜ｙ6 は論理ブロック402 の出力である。
【００３０】
論理ブロック401 の一構成例を図５に示す。図５は、カウンタ501 の出力が、組み合わせ回路502 に入力されている例である。信号線REA は、カウンタをリセットする入力である。組み合わせ回路502 の出力信号線がｙ1 〜ｙ3 である。
【００３１】
論理ブロック402 の一構成例を図６に示す。図６において、F/F602〜603 が、組み合わせ回路601 に入力されている。組み合わせ回路601 の出力604 は、再びF/F602〜603 へのデータ入力となっている。出力信号線ｙ4 〜ｙ6 は、組み合わせ回路601 から出力されている。信号線REB は、F/F602〜603 をリセットする入力である。論理ブロック402 の構成は、一般的な順序回路をモデル化したものである。
【００３２】
上記の被検査回路203 を検査するためには、ｘ1 〜ｘ5 にランダム信号を入力するほかに、ｘ6 を論理"1" に固定したままで、論理ブロック401 の検査をおこない、次にｘ6 を論理"0" に固定したままで、論理ブロック402 の検査を行う必要がある。
【００３３】
従来のLFSRのみで構成された自己検査回路を用いた場合、ｘ6 にもランダム信号が入力されるため、F/F501およびF/F602〜603 が頻繁にリセットされてしまい、故障を出力ｙ1 〜ｙ3 、ｙ4 〜ｙ6 に伝搬することができず、効率的な自己検査をおこなうことができなかった。
【００３４】
以下、図２に示した自己検査方式の動作についてタイミングチャート図７を用いて説明する。図７において、LSI 201 外部から、基本クロックCLK0が既に入力されているとする。この状態で、LSI 201 外部または、スキャンパス法等の図示しないLSI 201 内部の検査機構から、START にパルス信号が入力されると、自己検査が開始される。
【００３５】
START 信号のパルスを受けた制御回路205 は、信号線S/R からセット・リセット信号を出力して、自己検査回路202 内のF/F,保持回路214 内のF/F304およびシグネチャ回路204 をセット・リセットする。同時に、信号線SEL により、セレクタ304 が信号線308 を選択し、保持回路214 に接続する。
【００３６】
次に、制御回路205 から、TCK, ENP, Rin, ENC, SCK を図７に示すタイミングで出力する。自己検査回路202 内では、TCK を受けて、信号線ｘ1 〜ｘ6 にランダム信号を出力する。このとき、保持回路214 の出力線ｘ6 には、論理が変化する確率が平均して(0.5)5=0.03125のランダム信号が発生する。ｘ1 〜ｘ6 に発生したランダム信号をａ1 とする。
【００３７】
ａ1 は図２においてENP が論理"1" のときテストバス211 に出力される。テストバス211 に出力されたランダム信号は、信号線Rin の立ち上がりエッジでラッチ207 に取り込まれ、立ち下がりエッジでラッチされて、被検査回路203 に入力される。その結果、被検査回路203 から入力に対応した出力値（応答出力）が出力される。
【００３８】
図２ではａ1 に対応した応答出力をｂ1 で表している。この応答出力ｂ1 はENC が論理"1" のときテストバス211 に出力される。テストバス211 に出力された応答出力ｂ1 は、SCK の立ち上がりエッジでシグネチャ回路204に取り込まれ、シグネチャ回路204内で圧縮され論理値$c＿1$となる。以上の一連の検査動作は、被検査回路203 の全ての故障が検出されるまで引き続き繰り返される。なお、全ての故障が検出されるまでのTCK パルス回数は、あらかじめシミュレーション等を行って求めておくことができる。
【００３９】
必要な回数だけTCK パルスが入力された後、制御回路205 は、TCK, SCK, ENC,Rin, ENP を止め、しかる後に、ENS を論理"1" にして、シグネチャ回路204 から最終的なテスト結果（シグネチャ）をテストバス211 に出力し、自己検査を終了する。
【００４０】
（第三実施例）
以下、本発明の第三実施例を図８を用いて説明する。図８において、LSI 801 上に自己検査回路802 、被検査回路803 、制御回路804 、およびテストバス805 が集積化されている。
【００４１】
以下、各回路間の接続について説明する。自己検査回路802 は、フィードバックテスト回路 806、確率演算回路807 および保持回路808 から構成されており、被検査回路803 をテストするためのテスト信号をｘ1 〜ｘ6 から出力する。信号線ｘ1 〜ｘ6 はそれぞれイネーブル809 を介してテストバス805 に接続されており、イネーブル809 の制御信号線ENP は、制御回路804 により制御される。テストバスに出力されたテスト信号は、それぞれ入力ラッチ810 を介して被検査回路803 に入力されており、入力ラッチ809 のラッチ制御線Rin は、制御回路804 により制御される。
【００４２】
被検査回路803 からの出力信号（応答出力）は、それぞれイネーブル811 を介して、テストバス805 に接続される。イネーブル811 の制御信号線ENC は、制御回路804 により制御される。テストバス805 に出力された応答出力は、それぞれイネーブル812 を介して、自己検査回路802 に取り込まれる。イネーブル812 の制御信号線ENR は、制御回路804 により制御される。
【００４３】
制御回路804 は、LSI801外部から直接入力される基本クロックCLK0、およびSTART 信号により駆動される。信号線START は、一連の自己検査を開始させる制御信号線である。制御回路804 は、制御信号線 TCK, S/R, ENP, ENC, Rin, ENR により、検査を制御する。テストクロック信号線TCK は、フィードバックテスト回路806 および保持回路808 を動作させるクロック信号である。信号線S/R は、フィードバックテスト回路806 をセット・リセットする信号である。なお、図８において、制御回路804 の出力配線は、簡単のため記述を省略してある。
【００４４】
次に、図９に自己検査回路802 の一構成例を示す。図９において、フィードバックテスト回路806 、確率演算回路807 および保持回路808 が示されている。以下、図９を用いて第三実施例の自己検査回路802 の構成について説明する。
【００４５】
フィードバックテスト回路806 の構成について説明する。図９において、F/F 901 の出力ｘ1 がEX-OR ゲート908 に入力されている。EX-OR 908 の他方の入力は、被検査回路803 の出力ｙ2 である。EX-OR 908 の出力は、EX-OR 913 を介して、F/F 902 に入力されている。F/F 902 の出力ｘ2 はEX-OR 909 を介してF/F 903 に入力されている。EX-OR 909 の他方の入力は、被検査回路803 の出力ｙ3 である。同様に、F/F 903 〜906 までが接続されている。F/F 906 の出力信号線は、EX-OR 907 を介してF/F 901 に接続されている。EX-OR 907 の他方の入力は、被検査回路803 の出力ｙ1 である。クロック信号線TCK は、F/F901〜906 をシフト動作させるクロック入力である。信号線S/R は、F/F901〜906 をセットまたはリセットする信号線である。
【００４６】
F/F 901 〜906 は、原始多項式
【数  ４】
ｚ6 ＋  ｚ  ＋  １
となるよう構成されており、入力信号ｙ1 〜ｙ6 の信号を圧縮しつつ、出力信号線ｘ1 〜ｘ6 にテスト信号を出力するという機能を持つ。
【００４７】
次に、図９において、確率演算回路807 の具体的構成は、第一実施例において図１に示した確率演算回路102 と同様である。すなわち確率演算回路807 は、４入力１出力AND ゲート914 で構成されている。確率演算回路807 の入力は、フィードバックテスト回路806 の出力信号線ｘ2 〜ｘ5 であり、出力は保持回路808 に接続されている。保持回路808 の具体的構成は、第一実施例における保持回路104 と同様であり、F/F915およびNOT ゲート916 からなる。確率演算回路807 の出力信号線は、F/F915のクロック入力部に接続されている。F/F915のリセット入力CLRBは、信号線S/R に接続されている。F/F915出力Ｑは、出力信号線ｘ6 に接続され、テスト信号として被検査回路803 に接続されると同時に、NOT ゲート916 を介して再びF/F915の入力Ｄに接続されている。
【００４８】
上記構成の自己検査方式において、第三実施例の自己検査動作をタイミングチャート図１０を用いて説明する。図９において、LSI 801 外部から基本クロックCLK0が既に入力されているとする。この状態で、LSI 801 外部またはスキャンパス法等の図示しないLSI 801 内部の検査機構からSTART 信号線にパルスが入力されると自己検査が開始される。START 信号のパルス信号を受けた制御回路804 は、信号線S/R から自己検査回路802 を予め決められた値にセット・リセットする。
【００４９】
次に TCK, ENP, ENC, ENR, Rinが図１０に示すタイミングで出力される。自己検査回路802 内では、クロック信号TCK の立ち上がりエッジごとに信号線ｘ1 〜ｘ5 に次々とランダム信号が発生する。このとき、保持回路808 の出力信号線ｘ6 には、論理"0" から論理"1"(または論理"1" から論理"0")に変化する確率が平均して (1/2)5=0.03125 のランダム信号が発生する。発生したランダム信号a'1 は、信号線ｘ1 〜ｘ6 から、ENP が論理"1" のとき、イネーブル809 を介してテストバス805 に出力される。テストバス805 に出力されたランダム信号a'1 は、Rin が論理"1" のときラッチ809 に取り込まれ、被検査回路803 に入力される。その結果、被検査回路803 から、a'1 に対応した出力値（応答出力）b'1 が出力され、この値はENC が論理"1" のとき、イネーブル811 を介して、テストバス805 に出力される。テストバス805 に出力された応答出力b'1 は、ENR が論理"1" のとき、イネーブル812 を介して、フィードバックテスト回路806 に取り込まれ、テストクロックTCK の立ち上がりエッジで論理値c'1(図示しない) に圧縮される。同時に、ｙ1 〜ｙ6 の値と、F/F901〜906 とから、フィードバックテスト回路806 内で新たなランダム信号ａ2 ’が生成される。
【００５０】
以上の一連の検査動作は、被検査回路803 の全ての故障が検出されるまで引き続き繰り返される。全ての故障が検出されるまでのTCK パルス回数は、あらかじめシミュレーション等を行って求めておくことができる。
【００５１】
必要な回数だけTCK が入力された後、制御回路804 は、TCK, ENP, ENC, ENR, Rin を止め、しかる後に、ENP を論理"1" にして、フィードバックテスト回路806 からF/F 901 〜906 に格納されている最終的なテスト結果（シグネチャ、圧縮結果）をテストバス805 に出力し、自己検査を終了する。
【００５２】
以上示したように、本発明の自己検査回路による故障検査は、検査対象となる被検査回路は予め設計段階で入力と出力の関係がはっきり判っており、故障もシミュレーションできる。従って確率演算回路102 がどのような程度の確率を出すようにするか、すなわちどれだけの配線を引き出してＡＮＤゲートをとるようにするかは予め設計でき、必要な検査機能を組み込んでしまうことができ、また製造後にすべての故障モードを検査することができる。
【図面の簡単な説明】
【図１】自己検査回路のブロック構成図。
【図２】第二実施例の自己検査回路を組み込んだＬＳＩのブロック構成図。
【図３】第二実施例の自己検査回路の構成図。
【図４】被検査回路構成例。
【図５】図４の被検査回路の論理ブロック４０１の構成例。
【図６】図４の被検査回路の論理ブロック４０２の構成例。
【図７】第二実施例のタイミングチヤャート。
【図８】第三実施例のブロック構成図。
【図９】第三実施例の自己検査回路の構成図。
【図１０】第三実施例のタイミングチャート。
【図１１】被検査回路の故障パターン例。
【符号の説明】
１０１  自己検査回路
１０２  確率演算回路
１０３  ランダム信号発生回路（線型フィードバックシフトレジスタ(LFSR)
１０４  保持回路
１０５  ＡＮＤゲート
１０６  ＮＯＴゲート
１０７  フリップフロップ（Ｆ／Ｆ）
１０８〜１１２  フリップフロップ（Ｆ／Ｆ）
１１３  排他的論理和ゲート（ＥＸ−ＯＲ）
ｘ１〜ｘ５  ＬＦＳＲの並列出力信号線
ｘ６  確率演算を施した出力の信号線
２０３  被検査回路
２０４  シグネチャ回路
２０５  制御回路
２０６  イネーブル
２０７  入力ラッチ
２０８  イネーブル
２０９  入力信号線
２１０  出力信号線
２１１  テストバス
２１５  選択回路
３０１〜３０３  ＡＮＤゲート
４０１、４０２  論理ブロック
４０３  ＮＯＴゲート
ｙ１〜ｙ６  被検査回路２０３（論理ブロック）の出力信号線
５０１  カウンタ
５０２  組み合わせ回路
６０２、６０３  フリップフロップ
８０１  ＬＳＩ
８０２  自己検査回路
８０５  テストバス
８０６  ランダム信号発生回路（フィードバックテスト回路）
８０７  確率演算回路
８０８  保持回路
８０９、８１１、８１２  イネーブル
８１０  入力ラッチ
９０１〜９０６  フリップフロップ
９０７〜９１３  排他的論理和ゲート（ＥＸ−ＯＲ）
９１５  フリップフロップ
９１６  ＮＯＴゲート
１１０１〜１１０６  フリップフロップ
１１０７  ＮＯＴゲート
【図１】
0003543399.tif 000002
【図２】
0003543399.tif 000003
【図３】
0003543399.tif 000004
【図４】
0003543399.tif 000005
【図５】
0003543399.tif 000006
【図６】
0003543399.tif 000007
【図７】
0003543399.tif 000008
【図８】
0003543399.tif 000009
【図９】
0003543399.tif 000010
【図１０】
0003543399.tif 000011
【図１１】
0003543399.tif 000012