(57)【要約】【課題】動的故障テストは、リリースクロックとキャプチャクロックの時間的間隔が短く、回路の論理値変化の間隔が短い。このため電源の電圧降下の影響が重なり電源ノイズが発生し、正しいテスト結果を得ることができない。【解決手段】１つのクロック信号源を複数のクロック信号に分割し各クロック信号の伝搬の許容と遮断とを制御するクロック制御回路を用いて、供給するクロック信号によって被検査回路を複数のグループに分割する回路構成を実現し、この回路構成を利用して、１回のテストステップでの動的故障テストを被検査回路の一部のグループに限定して実施し、複数回のテストステップで、被検査回路の全てに対して動的故障テストを行う手法を用いる。【選択図】  図１
2005024359.tif 000002
【特許請求の範囲】
【請求項１】
組合せ回路と複数の記憶素子とを有し、前記記憶素子をシフトレジスタ状のスキャンチェインに構成する動作モードと前記動作モードに設定する制御信号線とを備え、一つまたは複数の相のクロック信号源が前記各記憶素子に分配され、前記クロック信号によって前記スキャンチェイン上のデータのシフト動作と前記組合せ回路からの信号値のキャプチャ動作と前記記憶素子の保持する内容の前記組合せ回路へのリリース動作とがなされる自己診断型論理回路であって、
前記クロック信号源の少なくとも一つについて一つの信号源からのクロックパルスの分配先となる前記複数の記憶素子が、複数のグループに分割され、
前記記憶素子の各グループ毎に設けられた前記クロック信号源からのクロックの伝播の許容と遮断とを制御する制御回路と、前記各制御回路を遮断モードに設定する前記各グループ毎の信号線とを備え、
前記各制御回路は、前記モード設定によってクロックパルスの一つの伝播が遮断された後に、前記クロックパルス自体に同期して前記クロック信号源からの次のクロックパルスの伝播を許容するモードに遷移するように構成されている自己診断型論理回路。
【請求項２】
請求項１の自己診断型論理回路であって、前記複数の記憶素子が、第１及び第２のグループに分割され、
前記第１及び第２のグループ毎に、前記クロック信号源からのクロックの伝播の許容と遮断とを制御する制御回路と、前記制御回路を遮断モードに設定する前記グループ毎の信号線とを備え、
前記各制御回路は、前記モード設定によって第１のクロックパルスの前記第１のグループへの伝播が遮断された後には、該第１のクロックパルス自体に同期して前記クロック信号源からの次の第２のクロックパルスの前記第１のグループへの伝播は許容し前記第２のグループへの伝播は遮断するモードに遷移し、前記モード設定によって前記第１のクロックパルスの前記第２のグループへの伝播が遮断された後には、該第１のクロックパルス自体に同期して前記クロック信号源からの次の第２のクロックパルスの前記第２のグループへの伝播は許容し前記第１のグループへの伝播は遮断するモードに遷移するように構成されている自己診断型論理回路。
【請求項３】
組合せ回路と被検査回路としての複数の記憶素子とを有し、前記記憶素子をシフトレジスタ状のスキャンチェインに構成する動作モードと前記動作モードに設定し、一つまたは複数の相のクロック信号源が前記各記憶素子に分配され、前記クロック信号によって前記スキャンチェイン上のデータのシフト動作と前記組合せ回路からの信号値のキャプチャ動作と前記記憶素子の保持する内容の前記組合せ回路へのリリース動作とがなされる自己診断型論理回路の動的故障テスト方法であって、
前記クロック信号源の少なくとも一つは、複数のクロック信号に分割されており、
前記各クロック信号の伝搬の許容と遮断とを制御するクロック制御回路を用いて、供給する前記クロック信号によって前記被検査回路を複数のグループに分割し、
１回のテストステップにおける動的故障テストを前記被検査回路の一部のグループに限定して実施し、
複数回のテストステップで、前記被検査回路の全てのグループに対して前記動的故障テストを行う、自己診断型論理回路の動的故障テスト方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は論理回路のテスト技術において、スキャンテスト、特に組み込み型自己テスト（Ｂｕｉｌｔ  Ｉｎ  Ｓｅｌｆ  Ｔｅｓｔ）を利用し、フルスキャン設計された論理回路について動的故障テストを行う、自己診断型論理回路及びその動的故障テスト方法に関する。
【０００２】
【従来の技術】
論理回路の大規模化に従い、論理回路をテストするためのパタン数が増大し、テスタに格納できる限界値を超えるケースが発生している。この問題に対処する手段として、例えば、非特許文献１に記載されているような、論理回路の内部に乱数パタン発生器（ＲａｎｄｏｍＰａｔｔｅｒｎ  Ｇｅｎｅｒａｔｅｒ  以下ＲＰＧと略す）と多入力符号圧縮器（Ｍｕｌｔｉ  Ｉｎｐｕｔ  ＳｉｇｎａｔｕｒｅＲｅｇｉｓｔｅｒ  以下ＭＩＳＲと略す）を備えた組み込み型自己診断方式（Ｂｕｉｌｔ  Ｉｎ  Ｓｅｌｆ  Ｔｅｓｔ  以下ＢＩＳＴと略す）がある。
【０００３】
図１４に従来のＢＩＳＴの回路例を示す。ＬＳＩ１００は、スキャン設計された被検査回路１０１と、ＲＰＧ３００と、ＭＩＳＲ４００を備えている。被検査回路１０１はクロックピン８０１より印加されるクロック信号によって動作する。被検査回路１０１のフリップフロップ（以下ＦＦと略す）群は、スキャン設計に基いたシフトレジスタ（スキャンチェイン）になっており、スキャンチェイン群１０２を通して、被検査回路１０１のＦＦ群に、ＲＰＧ３００で発生したテストパタンを入力すること（以後スキャンインと呼ぶ）や、被検査回路１０１のＦＦ群の論理値を取り出すこと（以後スキャンアウトと呼ぶ）ができる。ＦＦ群よりスキャンアウトした論理値はＭＩＳＲ４００で符号化され、圧縮符号の出力ピン４１０より取り出すことができる。ＲＰＧとＭＩＳＲは、通常、線形フィードバックシフトレジスタ（Ｌｉｎｅｒ  Ｆｅｅｄｂａｃｋ  Ｓｈｉｆｔ  Ｒｅｇｉｓｔｅｒ  以下ＬＦＳＲと略す）で構成されており、ＲＰＧは全て０を除く全てのパタンを疑似ランダム的に発生し、ＭＩＳＲはＬＦＳＲのビット数をｎビットとすると１／（２のｎ乗−１）の故障見逃し率で符号圧縮することができる。
【０００４】
ＢＩＳＴの手順を示すと以下の通りである。ＬＳＩの内部でパタンを発生し、またＬＳＩ内部で期待値を符号化するので、テスタに入力するテストパタンのデータ量を大幅に削減することができる。
【０００５】
（１）ＲＰＧ３００、ＭＩＳＲ４００、被検査回路１０１内のＦＦ群を初期化する。
（２）ＲＰＧ３００で、テストパタンを発生する。
（３）テストパタンを、スキャンチェイン群１０２を通して被検査回路１０１のＦＦ群にスキャンインする。
（４）スキャンイン終了後、被検査回路の応答結果を、テスト結果としてＦＦ群に保持する。
（５）テスト結果をスキャンチェイン群１０２を通してスキャンアウトする。
【０００６】
（６）スキャンアウトされたテスト結果を、ＭＩＳＲ４００に入力して圧縮する。
（７）（２）〜（５）を所定回数分実施した後、テスト結果の符号を圧縮符号出力ピン４１０から読み出す。
（８）読み出したテスト結果の符号と、あらかじめシミュレーションで求めておいた期待値符号とを比較し、テスト結果の合否判定を行う。
【０００７】
上記のＢＩＳＴの手順の特記事項として、回路構成上、手順２、３、５、６が同時に行われることを挙げておく。また、上記のＢＩＳＴ手順３の特記事項として、スキャンインの最後のステップで被検査回路内のＦＦ群の全ての論理値が当該テストステップの入力パタンとなることを挙げておく。
【０００８】
以後、スキャンインの最後のステップをリリースと呼び、リリース以外のスキャンインステップと区別する。また、上記のＢＩＳＴ手順４について、テスト結果をＦＦに保持する行為を、以後、キャプチャと呼ぶ。
【０００９】
ＢＩＳＴを利用すると、上記の通りテストパタンのデータ容量を削減できるので、テストパタンを大量に入力できる。このため、ＢＩＳＴは単一縮退故障でモデル化できない多くの故障の検出に有利である。
【００１０】
次に、論理回路の高速化について述べる。論理回路の高速化に従い、論理回路の動的故障テスト（ｄｙｎａｍｉｃ  ｔｅｓｔ）が重要になっている。動的故障とは信号伝搬が既定の時間内に収まらない故障である。論理回路内で動的故障が発生すると、論理回路の速度的性能が下がる場合や、論理回路そのものが正常に動作しない場合がある。動的故障テストは、動的故障の有無を確認するためのテストであり、例えば、非特許文献２に記載のように、機能テストを実動作速度で実施する方法や、スキャンテストを実動作速度で実施する方法などが採用されている。
【００１１】
ところで、ＭＯＳデバイスの論理回路は回路の論理値レベルが変化するときに電力を消費し、電源ノイズを発する特徴を持っている。ＢＩＳＴはＬＳＦＲで構成したＲＰＧで擬似乱数パタンを発生し利用しているため、スキャンモード時の平均変化率が５０％と高い。回路の変化率が高くなるほど消費電力が増大し、電源ノイズの影響が大きくなり、正常な回路動作を妨げる原因となる。
【００１２】
この問題を解決するための従来技術として、特許文献１に記載の自己診断型論理集積回路の診断方法及び自己診断型論理集積回路がある。特許文献１に記載の手法は、ＢＩＳＴを利用したＬＳＩの乱数変化率過多を解消する手法で、ＲＰＧの出力に乱数の変化率低減回路を挿入、あるいはＲＰＧに供給するクロック信号を制御してクロックを適宜遮断することによって、被検査回路にスキャンインするテストパタンの変化率を低減し、電源ノイズを低減するものである。
【００１３】
また、別の従来技術として、特許文献２に記載されたものがある。特許文献２の図４に開示された手法は、論理回路のクロック供給回路にクロック供給有無のイネーブル回路を付加し、スキャンイン動作時に供給するクロック信号を間引き、スキャンインの速度を相対的に遅くすることにより、平均消費電力と電源ノイズを低減するものである。
【特許文献１】
特開２００１−１７４５１５号公報
【特許文献２】
ＵＳＰ６，３３０，６８１号公報
【非特許文献１】
Ｐａｕｌ  Ｈ．  Ｂａｒｄｅｌｌ  他著「ＢＵＩＬＴ−ＩＮ−ＴＥＳＴ  ＦＯＲ  ＶＬＳＩ  Ｐｓｅｕｄｏｒａｎｄｏｍ  Ｔｅｃｈｎｉｑｕｅｓ」ＷＩＬＥＹ−ＩＮＴＥＲＳＣＩＥＮＣＥ出版、１９８７年、ｐ．３８−３９
【非特許文献２】
Ｄｅｓｉｇｎ  Ｗａｖｅ  ＭＡＧＡＺＩＮＥ  ２００１年３月号  ＣＱ出版社    ｐ．６３−６４  図１１）
【００１４】
【発明が解決しようとする課題】
前記特許文献１、２に記載された従来技術では、ＢＩＳＴの電源ノイズを低減する発明であるが、いずれもスキャンモード時の対策によってテスト時全体の平均的な電源ノイズを下げることを目的としている。しかし動的故障テストでは、リリースからキャプチャに至る間の電源ノイズも低減しなければ、正常なテストを実施できない。
【００１５】
前記従来技術において、リリースからキャプチャに至る間の電源ノイズの影響が動的故障テスト時顕著になるのは、クロックの間隔が短くなり、電圧降下の影響が重なることにより、より大きな電圧降下となるためである。なお論理値が変化する回路の数が多いほど電圧降下が大きくなる。
【００１６】
動的故障テストは、実動作速度と同様のテストタイミングでキャプチャクロックを印加する必要があるので、原理的にクロック間隔が短く、その結果回路の論理値変化の間隔も短くなり、電源電圧降下の影響が重なり合い、より大きな電圧降下が発生し、電源ノイズが大きくなる。
【００１７】
本発明の目的は、自己診断型論理回路における動的故障テストにおいて、クロックの間隔が短くひいてはリリースクロックとキャプチャクロックの時間的間隔が短いために発生する電源ノイズの影響を低減し、リリースからキャプチャに至る間の電源ノイズを低減することにある。
【００１８】
【課題を解決するための手段】
本発明は、ある回路構成と、その回路構成を利用したテスト手法とからなる。まず、１つのクロック信号源を複数のクロック信号に分割し各クロック信号の伝搬の許容と遮断とを制御するクロック制御回路を用いて、供給するクロック信号によって被検査回路を複数のグループに分割する回路構成を実現する。
【００１９】
すなわち、本発明は、組合せ回路と複数の記憶素子とを有し、前記記憶素子をシフトレジスタ状のスキャンチェインに構成する動作モードと前記動作モードに設定する制御信号線とを備え、一つまたは複数の相のクロック信号源が前記各記憶素子に分配され、前記クロック信号によって前記スキャンチェイン上のデータのシフト動作と前記組合せ回路からの信号値のキャプチャ動作と前記記憶素子の保持する内容の前記組合せ回路へのリリース動作とがなされる自己診断型論理回路であって、前記クロック信号源の少なくとも一つについて一つの信号源からのクロックパルスの分配先となる前記複数の記憶素子が、複数のグループに分割され、前記記憶素子の各グループ毎に設けられた前記クロック信号源からのクロックの伝播の許容と遮断とを制御する制御回路と、前記各制御回路を遮断モードに設定する前記各グループ毎の信号線とを備え、前記各制御回路は、前記モード設定によってクロックパルスの一つの伝播が遮断された後に、前記クロックパルス自体に同期して前記クロック信号源からの次のクロックパルスの伝播を許容するモードに遷移するように構成されている自己診断型論理回路に特徴がある。
【００２０】
また、本発明の他の特徴によれば、上記回路構成を利用して、１回のテストステップでの動的故障テストを被検査回路の一部のグループに限定して実施し、複数回のテストステップで、被検査回路の全てに対して動的故障テストを行う。  本発明によれば、テスト１回当りの動的故障テスト対象の回路を減らすことで、電源ノイズを低減できる。
【００２１】
【発明の実施の形態】
以下、図面を用いて本発明の実施例を説明する。図１は、本発明の一実施例になる自己診断型論理回路の全体構成の概念を示した図である。図１の１００は自己診断機能を備えた論理集積回路（ＬＳＩ）、１０１はスキャン設計した被検査回路、３００は乱数パタン発生器（ＲＰＧ）、４００は多入力符号圧縮器（ＭＩＳＲ）、１０２はスキャンパスである。ＲＰＧ３００と被検査回路とＭＩＳＲ４００はスキャンパス１０２で接続されており、またＭＩＳＲ４００の内容をＬＳＩ１００の外部に出力するための圧縮符号出力ピン４１０を備えている。被検査回路１０１の内部ＦＦは、ＡとＢ２つのグループに分割されている。８００はクロック制御回路であり、クロックピン８０１から入力されたクロック信号をクロックＡ、Ｂの２系統に分割する。被検査回路１０１のグループＡのＦＦにはクロックＡが供給され、グループＢのＦＦにはクロックＢが供給される。なお、図では、被検査回路１０１の内部ＦＦがＡ、Ｂの２つを交互に配置した細かいグループに分割されているように示しているが、これは発明概念をわかり易くするためであり、実際には回路構成の複雑化を避けるために被検査回路１０１の内部ＦＦを適度の大きさの領域を持つＡ群、Ｂ群に分割する。例えば、（図２に示すように）被検査回路１０１の全体を４つの領域に分割し、このうち離れた２つの領域を複数のＡからなるＡ群が占め、離れた２つの領域を複数のＢからなるＢ群が占めるように構成する。
【００２２】
以下、本実施例では被検査回路１０１の内部ＦＦをＡ、Ｂ２つのグループに分割し、先ず、最初のテストステップでグループＡに対して動的故障テストを実施すると共にグループＢに対して静的故障テストを実施し、別のテストステップでグループＡに対して静的故障テストを実施すると共にグループＢに対して動的故障テストを実施する方式を説明する。グループＡとＢの順序を逆にするケースも考えられるが本質的に同じなので説明しない。
【００２３】
なお、本実施例においては分割グループ数を２としたものを示しているが、３つ以上に分割しても構わない。いずれの場合でも、１つのクロック源を複数に分割して各クロック信号の伝搬と遮断とを制御するクロック制御回路を用いて、被検査回路を複数のグループに分割し、１回のテスト時の動的故障テスト対象回路を一部のグループにのみ限定して行い、複数回のテストで全てのグループの動的故障テストを行うようにすれば良い。
【００２４】
図２は、図１の自己診断型論理回路１００における被検査回路１０１とクロック制御回路８００の接続関係の一部を抜粋した図である。図２において、７１１〜７１４は被検査回路内のＦＦを示す。ＦＦ７１１とＦＦ７１４はグループＡに属しクロックＡが供給されており、ＦＦ７１２とＦＦ７１３はグループＢに属しクロックＢが供給されている。ＦＦ７１１の前段には組合せ回路７０１が接続されており、またＦＦ７１２の前段には組合せ回路７０２が接続されており、同様にＦＦ７１３の前段には組合せ回路７０３が、ＦＦ７１４の前段には組合せ回路７０４が接続されている。
【００２５】
図３にＲＰＧ３００の回路構成例を示し、図４にＭＩＳＲ４００の回路構成例を示す。
【００２６】
図５により、クロック制御回路８００の回路例を説明する。この図は、前述したとおり、クロック分割数が２の場合のクロック制御回路の例を示す。クロック制御回路８００はクロック入力端子８０１とクロック出力端子であるクロックＡ（８０２）とクロックＢ（８０３）を備えている。クロックの出力を制御する制御端子として、グループＡの動的故障テスト時にクロックＡ、Ｂの出力を制御するグループＡ動的故障テストモード信号（８０５）と、グループＢの動的故障テスト時にクロックＡ、Ｂの出力を制御するグループＢ動的故障テストモード信号（８０６）、及びテストモード（８０７）とリセット信号（８０８）を備える。８１０及び８１１は、エッジトリガタイプのフリップフロップである。
【００２７】
このクロック制御回路８００の動作について、図６により説明する。図６は、クロック制御回路８００の動作を説明するタイムチャートである。これらのタイムチャートには、クロック入力８０１と、出力クロックＡ（８０２）、クロックＢ（８０３）、グループＡ動的故障テストモード信号（８０５）、グループＢ動的故障テストモード信号（８０６）、及びテストモード（８０７）と、クロックタイミング（クロック８２１〜８３６）の関係が図示されている。
【００２８】
図６の（１）は、グループＡに対し動的故障テストを実施しグループＢに対し静的故障テストを実施するためのクロック制御方式のうち、キャプチャ側のクロックタイミングをずらすことで実現するタイムチャートのキャプチャ付近を抜き出したものである。クロック８２３と８２４の間隔が動的故障テストのテストタイミングであり、クロック８２３と８２５の間隔が静的故障テストのテストタイミングである。クロック８２１〜８２３がスキャンインクロックであり、クロック８２４がグループＡのキャプチャクロックであり、クロック８２５がグループＢのキャプチャクロックであり、クロック８２６がスキャンアウトクロックである。
【００２９】
クロック８２３でグループＡとＢ両方のＦＦのスキャンインが完了し、次のクロック８２４によってグループＡの動的故障テストのキャプチャが行われ、次のクロック８２５によってグループＢの静的故障テストのキャプチャが行われ、次のクロック８２６からグループＡとＢのスキャンアウトが同時に開始される。
【００３０】
尚、同じくキャプチャ側のクロックタイミングをずらす手法で、グループＡに対して静的故障テストを実施し、グループＢに対して動的故障を実施する場合には、グループＡ動的故障テストモード信号とグループＢ動的故障テストモード信号を入れ換えることで実現可能である。
【００３１】
図６の（２）は、グループＡに対し動的故障テストを実施し、グループＢに対し静的故障テストを実施するためのクロック制御方式のうち、リリース側のクロックタイミングをずらすことで実現するタイムチャートのキャプチャ付近を抜き出したものである。クロック８３３と８３４の間隔が動的故障テストのテストタイミングであり、クロック８３３と８３５の間隔が動的故障テストのテストタイミングである。クロック８３１はグループＡとＢのスキャンインクロックであり、クロック８３２はグループＢのスキャンインクロックであり、クロック８３３はグループＡのスキャンインクロックであり、クロック８３４がグループＡとＢのキャプチャクロックであり、クロック８３５〜８３６がグループＡとＢのスキャンアウトクロックである。クロック８３２でグループＢのスキャンインが完了し、次のクロック８３３でグループＡのスキャンインが完了し、次のクロック８３４の時点でグループＡの動的故障テストのキャプチャと共にグループＢの静的故障テストのキャプチャが行われ、次のクロック８３５からグループＡとＢのスキャンアウトが同時に開始される。
【００３２】
尚、同じくリリース側のクロックタイミングをずらす手法で、グループＡに対して静的故障テストを実施しグループＢに対して動的故障を実施する場合は、クロックＡ抑止信号とクロックＢ抑止信号を入れ換えることで実現可能である。
【００３３】
次に、図７、図８により、動的故障テストと静的故障テストを実施する一般的な構成及び手順について説明する。
【００３４】
図７に、スキャンテストによる動的故障テストを実施するための構成例を示す。５００は、Ｍｕｌｔｉｐｌｅｘｅｄ  Ｓｃａｎ（以下ＭＵＸ−ＳＣＡＮと略す）設計された論理回路（図２の論理回路１００に対応）であり、５０１が被検査回路（図２の組合せ回路７０１〜７０４に対応）である。ここでは簡略化のため、ＢＵＦ素子を被検査回路とする。５１０、５１１は図２の組合せ回路７０１〜７０４に対応するＭｕｌｔｉｐｌｅｘｅｄ  Ｆｌｉｐ−Ｆｌｏｐ（以下ＭＵＸ−ＦＦと略す）であり、クロック５２０を印加することにより、通常データ入力かスキャンデータのいずれかを取り込む。ＭＵＸ−ＦＦの入力データの切り替えはスキャンイネーブル信号（以下ＳＥＮ信号と略す）５３０の値によって行い、ＳＥＮ信号が０のときは通常データ側を取り込み、１のときはスキャンデータ側を取り込む。以下、ＳＥＮ信号が１の状態をスキャンモード、０の状態を通常モードと呼ぶ。５４０はスキャンインデータピン（以下ＳＩＤピンと略す）、５４１はスキャンアウトデータピン（以下ＳＯＤピンと略す）、５４２はスキャンチェインである。
【００３５】
スキャンモード時、ＳＩＤピンから印加したデータをスキャンチェインを通して、ＭＵＸ−ＦＦ５１０、５１１へ任意の値を印加（スキャンイン）したり、ＭＵＸ−ＦＦ５１０、５１１が保持した論理値をＳＯＤピンから出力する（スキャンアウト）ことができる。尚、ＭＵＸ−ＦＦ５１０の通常データ入力は０に固定されているものとする。
【００３６】
図８は、図７の構成に対応した動的故障テストのタイムチャート例である。尚、図７のＭＵＸ−ＦＦは、時刻ｔ０で全て０に初期化されているものとする。Ｔｓｙｓはテストタイミングを示す。まず時刻ｔ０でＳＥＮ信号をスキャンモードとし、ＳＩＤピンに１を印加しながら時刻ｔ１でクロックを印加し、ＭＵＸ−ＦＦ５１０に１をスキャンイン（リリース）する。このときＭＵＸ−ＦＦ５１０のｑ端子に０→１の遷移が発生する（５５０）。次に、時刻ｔ２でＳＥＮ信号を通常モードとしてから、時刻ｔ３でクロックを印加し、被検査回路５０１の出力信号をＭＵＸ−ＦＦ５１１に保持する（５５１）。被検査回路が正常ならば、ＭＵＸ−ＦＦ５１０で生じた０→１の遷移が、時刻ｔ１からｄ１後（ｄ１＜Ｔｓｙｓ）にＭＵＸ−ＦＦ５１１に到達するので、ＭＵＸ−ＦＦ５１１の論理値は１となる（５５２）。  逆に被検査回路５０１に動的故障があると、ＭＵＸ−ＦＦ５１０で生じた０→１の遷移が、時刻ｔ１からｄ２後（ｄ２＞Ｔｓｙｓ）にＭＵＸ−ＦＦ５１１に到達するので、ＭＵＸ−ＦＦ５１１の論理値は遷移前の０となり、被検査回路が故障していることを判定できる。
【００３７】
次に、本発明の一実施例におけるテスト回路について、図９〜図１１で説明する。
【００３８】
先ず、図９により、全てのＦＦを動的故障テストの対象にした場合のテスト回路の動作例を説明する。図２のＲＰＧ３００よりテストパタンを発生し、ＦＦ７１１〜７１４をスキャンモードとして原クロック８０１を印加すると、ＦＦ７１１〜ＦＦ７１４にテストパタンがスキャンインされる。次にＦＦ７１１〜７１４を通常モードとして原クロック８０１を印加すると、ＦＦの前段の組合せ回路に応じて、ＦＦ７１１〜ＦＦ７１４がテスト結果をキャプチャする。この場合は、全てのＦＦのクロックが動的故障テストのタイミングで印加されている。
【００３９】
次に、本発明の特徴である電源ノイズ低減手段のうち、キャプチャ側のクロックをずらす手段を適用したテスト回路の動作例について、図１０で説明する。
【００４０】
まず、図１０の（１）は、グループＡのみを動的故障テスト対象としたものである。図２のＲＰＧ３００よりテストパタンを発生し、ＦＦ７１１〜７１４をスキャンモードとして原クロック８０１を印加すると、ＦＦ７１１〜ＦＦ７１４にテストパタンがスキャンインされる。次にＦＦ７１１〜７１４を通常モードとし、クロック制御回路８００の制御信号を制御して、クロックＢのみ伝搬を抑止して原クロックを印加すると、ＦＦの前段の組合せ回路に応じてＦＦ７１１とＦＦ７１４がテスト結果をキャプチャする。この時点でクロックＢは抑止されているのでＦＦ７１２とＦＦ７１３はスキャンインされた値のまま変化しない。
【００４１】
次に、ＦＦ７１１〜７１４を通常モードのまま、クロック制御回路８００の制御信号を制御して、クロックＡのみ伝搬を抑止して原クロックを印加すると、ＦＦの前段の組合せ回路に応じてＦＦ７１２とＦＦ７１３がテスト結果をキャプチャする。この時点でクロックＡは抑止されているのでＦＦ７１１とＦＦ７１４はキャプチャした値のまま変化しない。この場合、全４つのＦＦ７１１〜７１４のうち、グループＡの２つのＦＦのみ動的故障テストのタイミングでクロックが印加されている。
【００４２】
このように、本発明によれば、ＢＩＳＴを利用した論理回路の動的故障テスト時に、全４つのＦＦ７１１〜７１４のうち、２つのグループのＦＦのうちの１つグループにのみ動的故障テストのタイミングでクロックが印加され、他のグループに対するクロックは抑止されている。これにより、１度に実施する動的故障テストの対象論理が制限されるので、リリースからキャプチャに至る間の電源ノイズを低減し、動的故障テストの電源ノイズによる不具合を解消できる。
【００４３】
図１０の（２）はグループＢのみを動的故障テスト対象としたものであるが、図１０の（１）のクロックＡとＢの制御を逆にすることで実現可能なので、特に説明しない。
【００４４】
次に、図１１で、前述した電源ノイズ低減手段のうち、リリース側のクロックをずらす手段を適用した動作例について説明する。
【００４５】
図１１の（１）は、グループＡのみを動的故障テスト対象としたものである。図２のＲＰＧ３００よりテストパタンを発生し、ＦＦ７１１〜７１４をスキャンモードとし、クロック制御回路８００を制御し、クロックＡのみ伝搬を抑止して原クロック８０１を１回印加すると、ＦＦ７１２とＦＦ７１３にテストパタンがスキャンインされる。この時点でクロックＡは抑止されているのでＦＦ７１１とＦＦ７１４の論理値は変化しない。次に、ＦＦ７１１〜７１４をスキャンモードのまま、クロック制御回路８００を制御し、クロックＢの伝搬を抑止して原クロックを印加すると、ＲＰＧ３００がテストパタンを発生し、ＦＦ７１１とＦＦ７１４にテストパタンがスキャンインされる。この時点でクロックＢは抑止されているのでＦＦ７１２とＦＦ７１３の論理値はスキャンされた値のまま変化しない。
【００４６】
次に、ＦＦ７１１〜７１４を通常モードとし、クロック制御回路８００の制御信号を制御して、クロックＡ、Ｂの伝搬を抑止せずに原クロックを印加すると、ＦＦの前段の組合せ回路に応じてＦＦ７１１〜７１４がテスト結果をキャプチャする。この場合、全４つのＦＦのうち、グループＡの２つのＦＦのみ動的故障テストのタイミングでクロックが印加されている。
図１１の（２）は、グループＢのみを動的故障テスト対象としたものであるが、図１１の（１）のクロックＡとＢの制御を逆にすることで実現可能なので、特に説明しない。
【００４７】
以上のテスト回路を使用したテスト手順の例を、図１２に示す。テスト手順は大別して２つのフローに分かれる。最初のフロー１でグループＡに対して動的故障テストを実施し、グループＢに対して静的故障テストを実施する。次のフロー２でグループＢに対して動的故障テストを実施し、グループＡに対して静的故障テストを実施する。
【００４８】
まず、図１２のフロー１を詳細に説明する。最初のステップ１で、ＲＰＧ３００とＭＩＳＲ４００と被検査回路１０１内のＦＦ群を初期化する。ＢＩＳＴにおいては当該回路の内部論理値が不定であると、期待値を求めるシミュレーション結果が不定となるため初期化が必要である。またＲＰＧの論理値がすべて０になると、ＬＦＳＲの内部で乱数を発生できないので、ＲＰＧは０以外の値で初期化する。
【００４９】
次のステップ２で、テストパタンのスキャンインとテスト結果のスキャンアウトを行う。ＲＰＧとスキャンチェイン、及びＭＩＳＲが直に接続されているので、パタン発生と共にスキャンインが行われ、スキャンインと同時にスキャンアウトが行われ、スキャンアウトと共にテスト結果の符号化が行われる。
【００５０】
次のステップ３で、クロック制御回路８００を制御してグループＡを動的故障テスト対象、グループＢを静的故障テスト対象とし、被検査回路の応答結果をテスト結果としてＦＦ群に保持する。このグループＡに対し動的故障テストを実施し、グループＢに対し静的故障テストを実施するためのクロック制御方式については、先に図６により説明した通りである。
【００５１】
所定回数＋１のテストを実施するまでステップ２、３を繰り返す。ここで所定回数に１回を加えるのは、＋１回のスキャンアウトと符号化を実施しなければ、所定回数分のテスト結果を符号化できないからである。
所定回数＋１のテストが終了したらステップ５で符号出力ピン４１０よりフロー１のテスト結果を読み出し、ステップ６であらかじめテストシミュレーションで求めた期待値符号と比較し、ＬＳＩの合否判定を行う。
【００５２】
フロー２については、ステップ８で動的故障テスト対象グループをＢ、静的故障テスト対象グループをＡとすることがフロー１と異なるだけで、内容的には同じなので特に説明しない。尚、ＲＰＧ３００、ＭＩＳＲ４００、被検査回路１０１内のＦＦ群の初期化がフロー２に存在しないが、フロー２の最初に入れても構わない。
【００５３】
上記手順により、ＢＩＳＴを利用した論理回路の動的故障テスト時に、１度に実施する動的故障テストの対象論理を制限することで、リリースからキャプチャに至る間の電源ノイズを低減できる。すなわち、動的故障テストの電源ノイズによる不具合を解消できる。
【００５４】
ここで、図１３を用いてリリースからキャプチャに至る間の電源ノイズの影響が動的故障テスト時顕著になる理由を述べる。
【００５５】
図１３の（１）は、論理回路の論理値変化による電源電圧波形を示したものである。クロックの印加に同期して論理回路の論理値が変化した時点から電力消費による電源電圧降下が発生し、徐々に回復していく現象が発生する（６１０）。
【００５６】
図１３の（２）は、静的故障テスト時の電源波形を示したものである。リリースクロック６２０の印加に伴い電源電圧降下が発生し、時間の経過とともに電圧降下が解消されていき、クロックの間隔が短い場合でも、キャプチャクロック６２２の印加が行われる以前に平常状態に戻る（６２１、６２３）。
【００５７】
図１３の（３）は、クロックの間隔が短い場合の動的故障テスト時の電源波形を示したものである。リリースクロック６３０の印加に伴い電圧降下が発生するところまでは静的故障テストと同じであるが（６３１）、電源波形が平常状態に戻る前にキャプチャクロック６３２の印加が行われる。クロックの間隔が短くなり、電圧降下の影響が重なることにより、より大きな電圧降下となっている（６３３）。なお論理値が変化する回路の数が多いほど電圧降下が大きくなる。以上のように動的故障テストは実動作速度と同様のテストタイミングでキャプチャクロックを印加する必要があるので原理的にクロック間隔が短く、その結果回路の論理値変化の間隔も短くなり、電源電圧降下の影響が重なり合い、重畳されてより大きな電圧降下が発生する。
【００５８】
本発明の実施例によれば、１度に実施する動的故障テストの対象論理を制限する。すなわち、最初のステップではグループＡのＦＦ７１１とＦＦ７１４に対し動的故障テストを実施し、グループＢのＦＦ７１２とＦＦ７１３に対し静的故障テストを実施する。次のステップでは、動的故障テスト対象グループをＢ、静的故障テスト対象グループをＡとする。
【００５９】
このように、ＢＩＳＴを利用した論理回路の動的故障テスト時に、１度に実施する動的故障テストの対象論理を制限することにより、クロックの間隔が短くなっても、１度に図１３の（３）に示したより大きな電圧降下（６３３）になる回路の数が制限され、例えば全体の１／２になり、電圧降下に伴う電源ノイズを低減できるので、リリースからキャプチャに至る間の電源ノイズを低減し、動的故障テストの電源ノイズによる不具合を解消することができる。
【００６０】
次に、本発明の他の実施例を説明する。この実施例では、被検査回路１０１の内部ＦＦをＡ、Ｂ、Ｃの３つのグループに分割し、先ず、最初のテストステップでグループＡに対して動的故障テストを実施すると共にグループＢ、Ｃに対して静的故障テストを実施し、別のテストステップでグループＡ、Ｃに対して静的故障テストを実施すると共にグループＢに対して動的故障テストを実施する。さらに、別のテストステップでグループＣに対して動的故障テストを実施すると共にグループＡ、Ｂに対して静的故障テストを実施する。動的故障テスト、静的故障テストのやり方は先に述べた実施例と同じである。この例でも、１度に実施する動的故障テストの対象論理を制限することができるため、電源ノイズの影響を低減できる。
【００６１】
【発明の効果】
本発明によれば、ＢＩＳＴを利用した論理回路の動的故障テスト時に、１度に実施する動的故障テストの対象論理を制限することにより、クロックの間隔が短い場合でも、リリースからキャプチャに至る間の電源ノイズを低減でき、動的故障テストの電源ノイズによる不具合を解消できる。
【図面の簡単な説明】
【図１】本発明の一実施例の全体構成を示す図である。
【図２】本発明の一実施例の具体例を説明する回路例を示す図である。
【図３】ＢＩＳＴ時に用いる、乱数パタン発生器（ＲａｎｄｏｍＰａｔｔｅｒｎ  Ｇｅｎｅｒａｔｅｒ）の構成例を示す図である。
【図４】ＢＩＳＴ時に用いる、多入力符号圧縮器（Ｍｕｌｔｉ  Ｉｎｐｕｔ  ＳｉｇｎａｔｕｒｅＲｅｇｉｓｔｅｒ）の構成例を示す図である。
【図５】本発明の一実施例の具体例を説明するクロック制御回路の例である。
【図６】本発明の一実施例の具体例を説明するクロック制御回路のタイムチャートである。
【図７】スキャンテストによる動的故障テストを実施するための構成例を示す図である。
【図８】動的故障テストの動作を説明するタイムチャートである。
【図９】本発明の一実施例の動作を説明するタイムチャートである。
【図１０】動的故障テストの動作を説明する回路例である。
【図１１】グループＡまたはグループＢのみを動的故障テスト対象としたテスト回路の動作例である。
【図１２】本発明の一実施例のテスト手順を示す図である。
【図１３】動的故障テストの電源ノイズを説明するタイムチャートである。
【図１４】従来の自己テスト（Ｂｕｉｌｔ  Ｉｎ  Ｓｅｌｆ  Ｔｅｓｔ）の回路例である。
【符号の説明】
１００−−論理集積回路（ＬＳＩ）
１０１−−スキャン設計された被検査回路
１０２−−スキャンチェイン
３００−−乱数発生器（ＲａｎｄｏｍＰａｔｔｅｒｎ  Ｇｅｎｅｒａｔｅｒ）
４００−−多入力符号圧縮器（Ｍｕｌｔｉ  Ｉｎｐｕｔ  ＳｉｇｎａｔｕｒｅＲｅｇｉｓｔｅｒ）
４１０−−テスト結果の符号出力ピン
５００−−小規模論理回路
５０１−−被検査回路
５１０−−Ｍｕｌｔｉｐｌｅｘｅｄ  フリップフロップ
５１１−−Ｍｕｌｔｉｐｌｅｘｅｄ  フリップフロップ
５２０−−クロックピン
５３０−−スキャンイネーブルピン
５４０−−スキャンインデータピン
５４１−−スキャンアウトデータピン
５４２−−スキャンチェイン
７０１〜７０４−−組合せ回路
７１１〜７１４−−Ｍｕｌｔｉｐｌｅｘｅｄ  フリップフロップ
８００−−クロック制御回路
８０１〜８０３−−クロックピン
８０６〜８０８−−クロック制御回路の制御ピン
８１０〜８１１−−エッジトリガタイプのフリップフロップ。
【図１】
2005024359.tif 000003
【図２】
2005024359.tif 000004
【図３】
2005024359.tif 000005
【図４】
2005024359.tif 000006
【図５】
2005024359.tif 000007
【図６】
2005024359.tif 000008
【図７】
2005024359.tif 000009
【図８】
2005024359.tif 000010
【図９】
2005024359.tif 000011
【図１０】
2005024359.tif 000012
【図１１】
2005024359.tif 000013
【図１２】
2005024359.tif 000014
【図１３】
2005024359.tif 000015
【図１４】
2005024359.tif 000016