(57)【要約】【課題】特別な解析装置を用いずに不具合の発生しているフリップフロップの場所特定を行うことができる半導体装置を提供する。【解決手段】フリップフロップにより構成されたスキャンチェーンを有するテスト対象回路１０２と、任意のクロックタイミングでスキャンチェーンのノーマル動作からスキャンテストのシフトモードに切り替えるモード制御回路１０３とを備えている。同期化設計された半導体装置の動作モードを任意の時刻で、フリップフロップの論理状態を保持しつつ、ノーマルモードからスキャンモードに切り替えて、フリップフロップの論理状態を調べ、正常動作品と異常動作品の比較をすることで不具合フリップフロップを特定する。【選択図】  図１
2004325124.tif 000002
【特許請求の範囲】
【請求項１】
フリップフロップにより構成されたスキャンチェーンと、任意のクロックタイミングで前記スキャンチェーンのノーマル動作からスキャンテストのシフトモードに切り替えるモード制御回路とを備えた半導体装置。
【請求項２】
正常動作を示す電源電圧と異常動作を示す電源電圧とを切り替え可能な電源電圧発生器を内付けまたは外付けする半導体装置であって、モード制御回路はノーマル動作からシフトモードに切り替える際の一定期間、前記正常動作を示す電源電圧から前記異常動作を示す電源電圧に切り替える電源電圧制御信号を、前記電源電圧発生器に出力する請求項１記載の半導体装置。
【請求項３】
正常動作を示すクロック間隔と異常動作を示すクロック間隔を切り替えるクロック間隔制御手段を有し、モード制御回路はノーマル動作からシフトモードに切り替える際の一定期間、前記正常動作を示すクロック間隔と異常動作を示すクロック間隔に切り替える制御信号を、前記クロック間隔制御手段に出力する請求項１記載の半導体装置。
【請求項４】
クロック間隔制御手段は異常動作を示すクロック間隔が可変な遅延バッファ選択回路である請求項３記載の半導体装置。
【請求項５】
ＤＲＡＭを有し、モード制御回路は電源電圧切り替え時およびノーマル動作からスキャンテストのシフトモードへのモード切替時の安定化時間に、前記ＤＲＡＭのリフレッシュ信号を発生する機能を有する請求項２記載の半導体装置。
【請求項６】
正常動作を示す電源電圧と異常動作を示す電源電圧とを切り替え可能な電源電圧発生器を内付けまたは外付けする半導体装置であって、フリップフロップにより構成されたスキャンチェーンと、任意のクロックタイミングで一定期間前記電源電圧発生器を前記正常動作を示す電源電圧から前記異常動作を示す電源電圧に切り替える制御手段とを備えた半導体装置。
【請求項７】
ＤＲＡＭを有し、前記制御手段は前記ＤＲＡＭのリフレッシュ信号を発生する機能を有する請求項６記載の半導体装置。
【請求項８】
フリップフロップにより構成されたスキャンチェーンと、任意のクロックタイミングで一定期間正常動作を示すクロック間隔から異常動作を示すクロック間隔に切り替えるクロック間隔制御手段とを備えた半導体装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、スキャンテスト回路を有する半導体装置の不具合発生の解析が可能な半導体装置に関し、詳しくは、特別な解析装置を用いずに不具合の発生しているフリップフロップの場所特定を行うことができるテスト回路を有する半導体装置に関するものである。
【０００２】
【従来の技術】
近年、半導体の微細化が進み回路規模が飛躍的に増大してきており、半導体装置の不良解析や設計マージン不足の場所特定が困難になって来ている。図１１は従来の一般的なロジック回路の解析フローを示す。１１０１はＬＳＩテスタによるテスト項目がスキャンテストかノーマル動作（半導体装置を組み込んだ電子機器での実動作をＬＳＩテスタに反映した動作）かの判断、１１０２はテスト結果のＦＡＩＬ端子、ＦＡＩＬ時刻から故障箇所を特定可能な故障診断ツール、１１０３はＦＡＩＬ端子、ＦＡＩＬ時刻から故障箇所を特定可能なフォルトシミュレーション手法、１１０４は推定縮退故障リスト、１１０５は回路や半導体装置内の配置情報の確認である。
【０００３】
ＬＳＩテスタで半導体装置をテストし、ＦＡＩＬしたテスト項目がスキャンテストの場合故障診断１１０２を用いて解析を行い被疑故障リスト１１０４が得られる。ＦＡＩＬしたテスト項目がノーマル動作の場合フォルトシミュレーション手法１１０３を用いて被疑故障リスト１１０４が得られる。被疑故障リスト１１０４は各々半導体装置の回路や配置場所を特定する。被疑故障箇所の回路上の等価性などを考慮して場所特定を行う。フォルトシミュレーション手法１１０３は、回路情報のネットリスト、テストパターン、ライブラリ情報を元にダイナミックシミュレーションが実施される。テストパターンはＬＳＩテスタでＦＡＩＬした端子と時刻のみ出力端子に期待値を与える必要がある。
【０００４】
【特許文献１】
フォルトシミュレーションを用いた解析  特開昭６１−２４１６７２号「ＩＣ試験装置」
【特許文献２】
集積回路の実機動作中に内部信号をモニタ  特開２００１−１１８８０７９の「半導体集積回路」
【特許文献３】
バウンダリスキャンを用いてテスト  特開２００１−１３１８９「ＩＣチップ内モジュールテスト制御方式」
【０００５】
【発明が解決しようとする課題】
デバイスの誤動作は故障の場合、縮退故障と遅延故障があり、設計上の問題の場合、論理設計ミスやマージン不足が上げられる。この内、遅延故障と設計マージン不足はフリップフロップのデータとクロックの動作タイミングの問題であり、クロックに対するデータのホールドもしくはセットアップ関係によって決まる。不具合現象としては、電源電圧依存や温度依存、動作周波数依存として現れる。
【０００６】
従来、半導体装置の不具合特定には、ＥＢテスタによるバックトレース解析やＬＳＩテスタによるテスト結果のＦＡＩＬ情報を元にフォルトシミュレーションを実施し、縮退故障扱いとして被疑故障個所を抽出する方法が採られてきた。
【０００７】
しかし、半導体プロセスの微細化が進み搭載される回路規模の増大と多層配線化により、ＥＢテスタでは観測ポイントやテスタパターンが増加し、極端なスループットの低下が生じ、またフォルトシミュレーションにおいては回路規模とテストパターンステップ数の増加から扱うデータ量が大きくなり、処理時間が非現実的なものとなって来ている。また、ＬＳＩテスタで半導体装置のすべての動作をテストする困難さから、半導体装置を組み込んだ製品の不具合現象がＬＳＩテスタで再現できない状況も発生している。
【０００８】
したがって、本発明の目的は、特別な解析装置を用いずに不具合の発生しているフリップフロップの場所特定を行うことができる半導体装置を提供することである。
【０００９】
【課題を解決するための手段】
以上の課題を解決するために本発明は、同期設計された半導体回路がクロック信号によって動作し、不具合の有無がフリップフロップの状態に依存する、すなわち動作の各時刻においてフリップフロップに論理状態が記録されている事に着目し、またスキャンテストがフリップフロップの情報を読み出す事が可能なことから、不具合の発生した時刻のフリップフロップの情報をスキャンテスト回路を使って読み出すことを特徴としている。
【００１０】
請求項１記載の半導体装置は、フリップフロップにより構成されたスキャンチェーンと、任意のクロックタイミングでスキャンチェーンのノーマル動作からスキャンテストのシフトモードに切り替えるモード制御回路とを備えたものである。
【００１１】
請求項１記載の半導体装置によれば、スキャンテスト回路を有する半導体装置の不具合発生回路の解析において、任意のクロックタイミングでフリップフロップの論理状態を保持しつつ、モード制御回路により、ノーマル動作からスキャンテストのシフトモードに切り替え、正常動作時と異常動作時のスキャンチェーンの出力を比較する事により、不具合発生を生じているフリップフロップを特定する。これにより、通常動作からスキャンテスト回路への切り替えを回路で実現して、ＬＳＩテストパターンの変更をすることなく、任意の時刻のフリップフロップの状態を知ることができる。また、半導体装置を組み込んだ製品においてもスキャンテストモードへの切り替えが可能であり、ＬＳＩテスタで再現しない不具合の解析が可能である。
【００１２】
請求項２記載の半導体装置は、請求項１において、正常動作を示す電源電圧と異常動作を示す電源電圧とを切り替え可能な電源電圧発生器を内付けまたは外付けする半導体装置であって、モード制御回路はノーマル動作からシフトモードに切り替える際の一定期間、正常動作を示す電源電圧から異常動作を示す電源電圧に切り替える電源電圧制御信号を、電源電圧発生器に出力するものである。
【００１３】
請求項２記載の半導体装置によれば、半導体装置の正常動作と異常動作が電源電圧に依存して生じる場合、制御信号により電源電圧を切り替え可能な電源電圧発生器に接続された半導体装置のモード制御回路に、切り替え直前の例えばクロック１イベント区間に電源電圧を異常動作を示す状態にし、その他の区間は正常動作を示す電源電圧になる様、電源電圧制御信号を出力する機能を付加しているので、電源電圧に依存した動作不具合のフリップフロップの発生場所を特定する事が可能である。
【００１４】
請求項３記載の半導体装置は、請求項１において、正常動作を示すクロック間隔と異常動作を示すクロック間隔を切り替えるクロック間隔制御手段を有し、モード制御回路はノーマル動作からシフトモードに切り替える際の一定期間、正常動作を示すクロック間隔と異常動作を示すクロック間隔に切り替える制御信号を、クロック間隔制御手段に出力するものである。
【００１５】
請求項３記載の半導体装置によれば、半導体装置の正常動作と異常動作が周波数に依存して生じる場合、モード切替回路に、例えば切り替え直前のクロック１イベント区間のみ異常状態を示す様クロック間隔を小さくし、その他の区間は正常動作を示すクロック間隔になる様、クロック間隔制御機能を付加したため、動作不具合のフリップフロップの発生場所を特定することが可能である。
【００１６】
請求項４記載の半導体装置は、請求項３において、クロック間隔制御手段が異常動作を示すクロック間隔が可変な遅延バッファ選択回路である。
【００１７】
請求項４記載の半導体装置によれば、請求項３と同様な効果のほか、クロック間隔が可変となるよう遅延バッファ選択回路を有するため、フリップフロップの動作タイミングの定量的なマージン解析が可能である。
【００１８】
請求項５記載の半導体装置は、請求項２において、ＤＲＡＭを有し、モード制御回路は電源電圧切り替え時およびノーマル動作からスキャンテストのシフトモードへのモード切替時の安定化時間に、ＤＲＡＭのリフレッシュ信号を発生する機能を有するものである。
【００１９】
請求項５記載の半導体装置によれば、請求項２において、半導体装置がＤＲＡＭを搭載した半導体装置で、電源電圧切り替え時およびノーマルからスキャンテストのモード切替時に、リフレッシュ信号を発生する機能をモード制御回路に付加したため、ＤＲＡＭ混載のＬＳＩの場合、テストモードの切り替え時にもリフレッシュ動作を行うため、電源電圧変更時一定期間クロックを停止させても、ＤＲＡＭ動作が安定し、ロジック回路の状態に影響を与えない。
【００２０】
請求項６記載の半導体装置は、正常動作を示す電源電圧と異常動作を示す電源電圧とを切り替え可能な電源電圧発生器を内付けまたは外付けする半導体装置であって、フリップフロップにより構成されたスキャンチェーンと、任意のクロックタイミングで一定期間電源電圧発生器を正常動作を示す電源電圧から異常動作を示す電源電圧に切り替える制御手段とを備えたものである。
【００２１】
請求項６記載の半導体装置によれば、スキャンテスト回路を有する半導体装置が正常動作と異常動作が電源電圧に依存して生じる場合において、制御信号により電源電圧を切り替え可能な電源電圧発生器に接続された半導体装置で、任意のクロックタイミングでフリップフロップの論理状態を保持しつつ、クロック１イベント区間に電源電圧を異常動作を示す状態にし、その他の区間は正常動作を示す電源電圧になる様、クロック制御と電圧制御を行う回路を有するため、フリップフロップの動作不具合の発生時刻を知るのに有効であり、請求項２の構成と組み合わせることで、不具合発生フリップフロップを特定可能になる。
【００２２】
請求項７記載の半導体装置は、請求項６において、ＤＲＡＭを有し、制御手段はＤＲＡＭのリフレッシュ信号を発生する機能を有するものである。
【００２３】
請求項７記載の半導体装置によれば、ＤＲＡＭを搭載した半導体装置で、リフレッシュ信号を発生する機能を、例えばクロック制御と電圧制御を行う回路に付加したため、ＤＲＡＭ混載のＬＳＩの場合、テストモードの切り替え時にリフレッシュ動作を行うので、電源電圧変更時の一定期間クロックを停止させても、ＤＲＡＭ動作が安定し、ロジック回路の状態に影響を与えない。
【００２４】
請求項８記載の半導体装置は、フリップフロップにより構成されたスキャンチェーンと、任意のクロックタイミングで一定期間正常動作を示すクロック間隔から異常動作を示すクロック間隔に切り替えるクロック間隔制御手段とを備えたものである。
【００２５】
請求項８記載の半導体装置によれば、スキャンテスト回路を有する半導体装置が周波数に依存して生じる場合において、任意のクロックタイミングで例えばクロック１イベント区間のみ異常状態を示す様クロック間隔を小さくし、その他の区間は正常動作を示すクロック間隔になる様、クロック間隔制御機能を有するため、周波数特性に依存した不具合発生時刻を特定でき、不具合発生フリップフロップの特定に利用することができる。
【００２６】
請求項９は  スキャンテスト回路を有する半導体装置が正常動作と異常動作が温度に依存して生じる場合において、半導体デバイスの表面にレーザ光照射を照射して、ノーマル動作からスキャンテストモードに切り替えてデバイス内部のＦＦの状態を知ることで、温度特性に依存した不具合発生場所を特定する。
【００２７】
【発明の実施の形態】
以下、図面を用いて本発明の第１の実施の形態について説明する。図１は本発明の原理を示す回路構成と動作波形である。
【００２８】
図１（ａ）で１０１は被測定デバイスの半導体装置、１０２はテスト対象回路、１０３はテストモード制御回路、１０４はクロックカウンタ、１０５は切り替え時刻セット回路、１０６はカウント値比較器、１０７はノーマル動作とスキャンテストのモード切替回路、１０８はクロック入力端子、１０９は切り替え時刻入力端子、１１０はテストモード端子、１１１はテスト信号入力端子、１１２はテスト出力端子である。
【００２９】
クロック入力端子１０８（ＣＬＫ）はカウンタ１０４とモード切替回路１０７に接続され、モード切替回路１０７を通じてテスト対象回路１０２のＴＥＳＴ＿ＣＬＫ端子に接続されている。テストモード端子１１０はモード切替回路１０７に接続され、切り替え時刻設定端子１０９は切り替え時刻セット回路１０５に接続される。モード切替回路１０７はテスト対象回路１０２のスキャンテストモード設定端子ＳＣＡＮ＿ＭＯＤＥとＳＣＡＮ＿ＮＴ端子に接続されている。カウント比較器１０６はカウンタ１０４とセット回路１０９の値を比較し、一致した場合に比較結果１１３に出力される。
【００３０】
次に、本発明のノーマル動作からスキャンテストモードへの切り替えについて、図１（ｂ）で波形を用いて説明する。図１（ａ）の切り替え時刻設定を有効にするためにテストモードを１にする。テストモードが０の場合、ＣＬＫ１０８より入力されたＣＬＫ信号は直接テスト対象回路１０２のＴＥＳＴ＿ＣＬＫ端子へ入力される。予めテストモードを１に設定し、テスト対象回路１０２がノーマル動作からスキャンテストモードに切り替える時刻、ｎを設定する。テスト信号入力端子１１１（ＴＥＳＴ＿ＩＮ）とＣＬＫ１０８が入力されてテストを開始し、クロックのカウント値が設定値ｎに達すると、時刻Ｔ１１に比較結果が０から１に変化し、遅延ｄ１１で後ＳＣＡＮ＿ＭＯＤＥが論理０から１に、さらに遅延ｄ１２でＳＣＡＮ＿ＮＴ信号が論理１から０に変化する。設定値ｎに達するまでテスト対象回路１０２にＴＥＳＴ＿ＣＬＫ信号が入力される。更に、遅延ｄ１３後テスト対象回路１０２へのＴＥＳＴ＿ＣＬＫ信号の入力が再開され、テスト出力信号端子１１２（ＴＥＳＴ  ＯＵＴ）にスキャンのシフトアウト信号が、スキャンチェーンのフリップフロップの段数分、出力される。ＳＣＡＮ＿ＭＯＤＥは論理０でノーマル動作、１でスキャンテストモード、ＳＣＡＮ＿ＮＴは論理１でフリップフロップがノーマル動作、論理０でスキャンシフトモードとする。遅延ｄ１１、ｄ１２、ｄ１３は設定値ｎでのＣＬＫ１０８のイベント時、デバイス内部の状態が安定するまでの時間であり、ＣＬＫ１０８を単位時間とする。
【００３１】
次に、図２を用いてテスト対象回路１０２に存するスキャンテスト回路のシフトアウトの比較結果例を説明する。図２（ａ）はスキャンテストのシフト回路を示す。２０１はスキャンフリップフロップ、２０２はクロック入力信号ＣＬＫ  ＩＮ、２０３はスキャンアウト信号である。（ｂ）にスキャンテストのシフトアウト波形を示す。出力状態ＡおよびＢはデバイスの動作条件が電源電圧や周囲温度などで異なった２つのスキャンのシフトアウト信号である。出力状態Ａがデバイスの正常動作、出力状態Ｂが異常状態と仮定する。図１の動作説明で述べたノーマル動作からスキャンシフト動作が時刻ｔで再開され、ＴＥＳＴ＿ＣＬＫ５回目でシフトアウトが完了する。２つの状態を比較し、シフトアウト３段目で出力論理の差があると仮定される場合、図２（ａ）の後ろから３段目のフリップフロップＦＦ３が誤動作をしていると特定する。不具合を受けているフリップフロップが特定された後、（１）設計不具合の場合、セットアップやホールドの動作タイミングを見直して不具合の設計要因を調べる、（２）フリップフロップを基点にＥＢテスタ等で経路追跡を行い不良発生場所を特定する、などの解析を行って流れを得る。出力状態の比較は、正常動作の期待値テストパターンを作成するか、テストの期待値を全てＬｏｗまたは全てＨｉｇｈに設定し、各出力端子の各出力時刻を各々論理比較して行うことも可能である。図２（ｃ）に半導体装置の電源電圧と周波数の動作特性を示す。半導体装置の動作周波数限界が、正常動作がｆ０に対し異常動作がｆ１、  電源電圧の動作限界が正常動作のｖ０に対し、異常動作がｖ１とする。出力状態Ａが正常状態領域、出力状態Ｂが異常状態領域の条件におけるそれぞれのデバイスの出力であると仮定すると、図２（ｂ）で求めた不具合発生フリップフロップ、すなわち図２（ａ）のＦＦ３が半導体装置に動作限界を与えていると究明される。正常動作と異常動作はそれぞれ、製造上の場合良品と不良品、設計上の場合、動作マージンの有り、無しと考える。また、スキャンテストで未検出な故障箇所の特定も可能である。
【００３２】
本発明の第２の実施の形態について図３により説明する。これは、電源電圧に依存して正常動作と異常動作を示す半導体装置の場合である。図３（ａ）に本発明の回路構成を示す。３０１は被測定デバイスの半導体装置、３０２はテスト対象回路、３０３はテストモード制御回路、３０４はクロックカウンタ、３０５は切り替え時刻セット回路、３０６はカウント値比較器、３０７はノーマル動作とスキャンテストのモード切替回路、３０８はクロック入力端子、３０９は切り替え時刻入力端子、３１０はテストモード端子、３１１はテスト信号入力端子、３１２はテスト出力端子、３１４は電源電圧制御信号出力端子、３１５は電源、３１６は電源端子である。クロック入力端子３０８はカウンタ３０４とモード切替回路３０７に接続され、モード切替回路３０７を通じてテスト対象回路３０２のＴＥＳＴ＿ＣＬＫ端子に接続している。テストモード端子３１０はモード切替回路３０７に接続され、切り替え時刻設定端子３０９は切り替え時刻セット回路３０５に接続される。モード切替回路３０７はテスト対象回路３０２のスキャンテストモード設定端子ＳＣＡＮ＿ＭＯＤＥとＳＣＡＮ＿ＮＴ端子に接続されている。カウント比較器３０６はカウンタ３０４とセット回路３０９の値を比較し、一致した場合に比較結果３１３に出力される。また、モード着替え回路３０７の出力が電源電圧制御信号出力端子３１４から電源３１５の制御端子であるｃｔｒｌ端子に接続され、電源ＶＯＵＴが被測定デバイス３０１の電源端子ＶＤＤに接続されている。
【００３３】
次に、本発明の電源電圧依存ノーマル動作からスキャンテストモードへの切り替えについて、図３（ｂ）の動作波形を用いて説明する。予めテストモードを１に設定し、電圧変更開始時刻ｎを設定する。テスト信号入力端子（ＴＥＳＴ＿ＩＮ）３１１とクロック入力端子（ＣＬＫ）３０８が入力されてテストを開始し、クロックのカウント値が設定値ｎに達すると比較結果３１３が０から１に変化し、遅延ｄ３１後電源電圧制御信号出力端子３１４の制御信号が論理０から１に変化し、電圧制御電源３１５のｃｔｒｌ端子に入力される。電圧制御電源３１５のｃｔｒｌ端子に１が入力されると出力電圧ＶＯＵＴはＶＤＤ１からＶＤＤ０に変化する。ＶＤＤ１は被測定デバイス３０１が正常動作を示す電圧、ＶＤＤ０は時刻ｎのクロックイベントで異常動作が発生している電源電圧である。電源電圧制御信号（３１４）の１への変化後、遅延ｄ３２後の時刻Ｔ３２からクロックのイベントを２回発生させ、２回目のクロックイベント時刻Ｔ３３から遅延ｄ３３で、電源電圧制御信号を１から０にし電源電圧をＶＤＤ０からＶＤＤ１に戻す。電源電圧制御信号が０に変化後遅延ｄ３４でＳＣＡＮ＿ＭＯＤＥが論理０から１に、更に遅延ｄ３５でＳＣＡＮ＿ＮＴ信号が論理１から０に変化する。ＳＣＡＮ＿ＮＴが論理０に変化の後、遅延ｄ３６でＴＥＳＴ＿ＣＬＫが再開される。遅延ｄ３１、ｄ３３、ｄ３５、ｄ３６はそれぞれの動作でデバイス内部の状態が安定するまでの時間であり、ｄ３２、ｄ３４は電源電圧の安定時間である。時刻Ｔ３４のクロックイベント以降スキャン回路のシフトアウト動作が行われる。この場合、図２で示したと同様の方法で、スキャン回路のシフトアウトから不具合発生フリップフロップが特定される。
【００３４】
このように、電源電圧を変えてクロックイベントを２回発生させることで、Ｔ３２−Ｔ３３間の電源電圧に顕著なセットアップマージンの問題箇所を特定可能であり、特定の時刻のみ電源電圧を変更するため、第１の実施の形態で示した方法に比べ、不具合発生時刻が複数ある場合に有効である。
【００３５】
本発明の第３の実施の形態について説明する。これは、半導体装置が動作周波数に依存して正常動作と異常動作を示す場合である。回路構成は発明の第１の実施の形態と同じで、図１（ａ）のモード切替回路１０７の動作について、図４を用いて説明する。予めテストモードを１に設定し、クロック幅変更時刻ｎを設定する。ＴＥＳＴ＿ＩＮ１１１とＣＬＫ１０８が入力されてテストを開始し、クロックのカウント値が設定値ｎに達すると、時刻Ｔ４１で比較結果１１３が０から１に変化し、時刻Ｔ４１から時間Ｐｗ２後、時刻Ｔ４２でクロックのイベントが発生される。クロックイベント時刻Ｔ４２後、遅延ｄ４１でＳＣＡＮ＿ＭＯＤＥが論理０から１に変化し、更に遅延ｄ４２でＳＣＡＮ＿ＮＴ信号が論理１から０に変化する。そしてＳＣＡＮ＿ＮＴの変化後、遅延ｄ４３の時刻Ｔ４３でＴＥＳＴ＿ＣＬＫが再開される。遅延ｄ４１、ｄ４２、ｄ４３はそれぞれの動作でデバイス内部の状態が安定するまでの時間である。
【００３６】
次に、上記のクロック間隔制御手段すなわちクロック幅を可変するクロック間隔幅可変手段（クロック間隔調整回路）の実施の形態について、図５を用いて説明する。図５（ａ）に回路構成を、（ｂ）でその動作を説明する。５０１は遅延素子、５０２はインバータ、５０３はセレクタである。制御信号Ｓ５１が０のときＣＬＫ５＿ＩＮを選択し、１のとき信号Ｂ５１を選択するとする。信号Ｂ５１はＣＬＫ５＿ＩＮに対し、ｄ５１遅れて変化させ、クロック幅を変化させる目的で時刻Ｔ５１とＴ５２の間でＳ５１を１に変化させる。Ｓ５１が１の区間でセレクタ５０３の出力ＣＬＫ５＿ＯＵＴはＢ５１の信号を選択し、クロック幅Ｐｗ２が得られる。その他のクロック幅はＰｗ１である。遅延ｄ５１は遅延素子５０１とバッファ５０２の素子遅延となる。実際の半導体装置は配線遅延も考慮される。このクロック幅可変手段は例えばモード切替回路１０７のＴＥＳＴ−ＣＬＫへの出力部に付加され、出力ＣＬＫ５＿ＯＵＴがＴＥＳＴ−ＣＬＫとなる。
【００３７】
これにより、周波数に依存して異常動作する場合の動作不具合のフリップフロップの発生場所を特定可能となる。
【００３８】
本発明の第４の実施の形態を図６により説明する。すなわち、クロック間隔制御手段をクロック幅を可変する遅延バッファ選択回路により構成している。図６（ａ）は回路構成、（ｂ）はその動作波形である。６０１、６０２、６０３は遅延素子、６０４、６０５、６０６はトライステート素子で、遅延値を遅延素子６０１がｄ６１、６０２がｄ６２、６０３がｄ６３とし、トライステート素子６０４、６０５、６０６がｄｔ６とする。Ｓ６１とＳ６２は遅延値の選択端子で正常動作のクロック信号であるクロック入力端子ＣＬＫにつながるのＤ６＿ＩＮに対し、入力Ｓ６１とＳ６２がそれぞれ、０と０でｄ６１＋ｄｔ６、１と０でｄ６２＋ｄｔ６、１と１でｄ６３＋ｄｔ６の遅延差を得る。なお実際の半導体装置は配線遅延も考慮される。入力Ｓ６１とＳ６２の信号は予め選択してモード切り替え回路のシフトモード切り替え時にモード切り替え回路より発生させる。Ｄ６−ＯＵＴがＴＥＳＴ−ＣＬＫとなる。
【００３９】
本発明の第５の実施の形態について図７により説明する。すなわち、半導体装置がＤＲＡＭを搭載した場合であり、  図７（ａ）に本発明の回路構成を示す。７０１は被測定デバイスの半導体装置、７０２はテスト対象回路、７０３はＤＲＡＭコア、７０４はテストモード制御回路、７０５はクロックカウンタ、７０６は切り替え時刻セット回路、７０７はカウント値比較器、７０８はノーマル動作とスキャンテストのモード切替回路、７０９はクロック入力端子（ＣＬＫ）、７１０は切り替え時刻入力端子、７１１はテストモード端子、７１２はテスト信号入力端子（ＴＥＳＴ  ＩＮ）、７１３はテスト出力端子、７１４はカウント比較器の出力（比較結果）、７１５は電源電圧制御信号出力端子、７１６はモード切替回路の出力、７１７は電源、７１８は電源端子である。
【００４０】
クロック入力端子７０９はカウンタ７０５とモード切替回路７０８に接続され、モード切替回路７０８を通じてテスト対象回路７０２のＴＥＳＴ＿ＣＬＫ端子に接続される。テストモード端子７１１はモード切替回路７０８に接続され、切り替え時刻設定端子７１０は切り替え時刻セット回路７０６に接続される。モード切替回路７０８はテスト対象回路７０２のスキャンテストモード設定端子ＳＣＡＮ＿ＭＯＤＥとＳＣＡＮ＿ＮＴ端子とＯＲ回路７１９を介してＤＲＡＭコアのオートリフレッシュ（外部からの信号によってＤＲＡＭのリフレッシュ動作が行われる）端子Ｒ＿ＣＬＫに接続されている。カウント比較器７０７はカウンタ７０５とセット回路７１０の値を比較し、一致した場合に比較結果７１４に出力される。また、モード着替え回路７０８の出力が電源電圧制御信号出力端子７１５から電源７１７のｃｔｒｌ端子に接続され、電源ＶＯＵＴが被測定デバイス７０１の電源端子ＶＤＤに接続されている。
【００４１】
次に、本発明の電源電圧依存ノーマル動作からスキャンテストモードへの切り替えについて、図７（ｂ）の動作波形を用いて説明する。予めテストモードを１に設定し、モード切替時刻ｎを設定する。ＴＥＳＴ＿ＩＮ７１２とＣＬＫ７０９が入力されてテストを開始し、クロックのカウント値が設定値ｎに達すると比較結果７１４が０から１に変化し、遅延ｄ７１後電源電圧制御信号出力端子７１５の制御信号が論理０から１に変化し、電圧制御電源７１７のｃｔｒｌ端子に入力される。電圧制御電源７１７のｃｔｒｌ端子に１が入力されると出力電圧ＶＯＵＴはＶＤＤ１からＶＤＤ０に変化する。ＶＤＤ１は被測定デバイス７０１が正常動作を示す電圧、ＶＤＤ０は時刻ｎのクロックイベントで異常動作が発生している電源電圧である。電源電圧制御信号の１への変化後、時刻Ｔ７２からクロックのイベントを２回発生させ、２回目のクロックイベント時刻Ｔ７３から遅延ｄ７３で、電源電圧制御信号を１から０にし電源電圧をＶＤＤ０からＶＤＤ１に戻す。電源電圧制御信号が０に変化後遅延ｄ７４でＳＣＡＮ＿ＭＯＤＥが論理０から１に、更に遅延ｄ７５でＳＣＡＮ＿ＮＴ信号が論理１から０に変化する。ＳＣＡＮ＿ＮＴが論理０に変化の後、遅延ｄ７６でＴＥＳＴ＿ＣＬＫが再開される。遅延ｄ７１、ｄ７３、ｄ７５、ｄ７６はそれぞれの動作でデバイス内部の状態が安定するまでの時間であり、ｄ７２、ｄ７４は電源電圧の安定時間である。時刻Ｔ７４のクロックイベント以降スキャン回路のシフトアウト動作が行われる。Ｔ７１−Ｔ７２、Ｔ７３−Ｔ７４間は電源電圧が変化するための安定化時間で、数ｍ秒必要であるがＤＲＡＭのリフレッシュ動作間隔は数μ秒であり、ＤＲＡＭのデータ保持の為に安定化時間の間もリフレッシュ信号が必要で、モード切替回路７０８のＲ＿ＯＵＴから信号Ｐ１が複数発出力される。なおＲ＿ＣＬＫ０はテスト対象回路７０２で発生されるリフレッシュ信号であり、通常内部クロック信号（本実施の形態の場合はＴＥＳＴ＿ＣＬＫ）より生成される。
【００４２】
本発明の第６の実施の形態を図８により説明する。上記の第１の実施の形態から第５の実施の形態までは、不具合フリップフロップの特定方法について説明してきたが、第６の実施の形態は、ノーマル動作時に不具合発生時刻をもとめる方法について説明する。図８（ａ）に本発明の回路構成を示す。回路の基本的構成は、発明の第２の実施の形態の図３（ａ）と同様であるが、図３（ａ）の３０７がモード切替回路であるのに対し、８０７はクロック制御回路であり、クロック制御回路８０７の出力がテスト対象回路８０２のクロック端子ＴＥＳＴ＿ＣＬＫに接続されて、スキャンテスト回路の動作モードは行わない点が異なっている。なお、図３の３００番台の符号を８００番台に代えて表している。
【００４３】
次に、図８（ｂ）の波形を用いて簡単に動作を説明する。ＣＬＫのＴ８１〜Ｔ８４はＴ３１〜Ｔ３４に相当する。予めテストモードを１に設定し、電圧変更開始時刻ｎを設定する。ＴＥＳＴ＿ＩＮ８１１とＣＬＫ８０８が入力されてテストを開始し、クロックのカウント値が設定値ｎに達すると比較結果８１３が０から１に変化し、電圧制御電源８１５のｃｔｒｌ端子が１になり、出力電圧ＶＯＵＴはＶＤＤ１からＶＤＤ０に変化する。ＶＤＤ１は被測定デバイス８０１が正常動作を示す電圧、ＶＤＤ０は異常動作現象を示す電源電圧である。電源電圧制御信号の１への変化後、クロックのイベントを２回発生させ、その後、電源電圧をＶＤＤ０からＶＤＤ１に戻した後、ＴＥＳＴ＿ＣＬＫへのクロック入力が再開され、出力端子８１２の出力であるＴＥＳＴ＿ＯＵＴがＬＳＩテスタなどにより期待値と比較される。電源電圧変更時刻ｎを順次切り替えながら、都度テスト対象回路８０２の出力ＴＥＳＴ＿ＯＵＴの期待値を比較する事により、図２（ｃ）で示すようなデバイス特性の発生時刻を調べる。
【００４４】
本実施の形態を上記他の実施の形態と組み合わせることで、不具合発生フリップフロップを特定可能になる。
【００４５】
本発明の第７の実施の形態について図９により説明する。これは、ＤＲＡＭ搭載半導体装置のノーマル動作時に不具合発生時刻をもとめる方法を示す。図９（ａ）に本発明の回路構成を示す。基本的構成は、発明の第６の実施の形態と同様であり、図９（ａ）のＤＲＡＭのオートリフレッシュ部は図７（ａ）と同様であり、クロック制御回路９０８の出力（Ｒ−ＯＵＴ）９１６がＤＲＡＭコア９０３のＲ＿ＣＬＫ端子に接続されている。なお図９の符号は図７の符号の７００番台を９００番台に代えて表している。
【００４６】
次に、図９（ｂ）の波形を用いて簡単に動作を説明する。Ｔ９１〜Ｔ９４はＴ８１〜Ｔ８４に相当する。予めテストモードを１に設定し、電圧変更開始時刻ｎを設定する。ＴＥＳＴ＿ＩＮ９１２とＣＬＫ９０９が入力されてテストを開始し、クロックのカウント値が設定値ｎに達すると比較結果９１４が０から１に変化し、電圧制御電源３１５のｃｔｒｌ端子が１になり、出力電圧ＶＯＵＴはＶＤＤ１からＶＤＤ０に変化する。ＶＤＤ１は被測定デバイス９０１が正常動作を示す電圧、ＶＤＤ０は異常動作現象を示す電源電圧である。電源電圧制御信号の１への変化後、クロックのイベントを２回発生させ、その後、電源電圧をＶＤＤ０からＶＤＤ１に戻した後、ＴＥＳＴ＿ＣＬＫへのクロック入力が再開され、出力端子９１３の出力であるＴＥＳＴ＿ＯＵＴがＬＳＩテスタなどにより期待値と比較される。電源電圧変更時刻ｎを順次切り替えながら、その都度テスト対象回路９０２の出力ＴＥＳＴ＿ＯＵＴの期待値を比較する事により、図２（ｃ）で示すようなデバイス特性の発生時刻を調べる。Ｔ９１−Ｔ９２とＴ９３−Ｔ９４の安定化時間にＲ＿ＯＵＴの信号Ｐ１が複数発出力され、ＤＲＡＭコア９０３のリフレッシュ動作が行われる。
【００４７】
本発明の第８の実施の形態について図１０により説明する。これは、半導体装置が動作周波数に依存して正常動作と異常動作を示す場合の不具合発生時刻をもとめる方法を示す。図１０（ａ）に本発明の回路構成を示す。基本的構成は、発明の第３の実施の形態に用いる図１（ａ）と同様であるが、図１（ａ）の１０７がモード切替回路であるのに対し、１００７はクロック制御回路であり、クロック制御回路１００７の出力がテスト対象回路１００２のクロック端子ＴＥＳＴ＿ＣＬＫに接続されて、スキャンテスト回路の動作モードは行わない。この点の構成および動作は図８に示す第６の実施の形態と共通する。なお図１０（ａ）の符号は図１（ａ）の符号の１００番台を１０００番台に代えて現している。
【００４８】
次に、図１０（ｂ）の波形を用いて簡単に動作を説明する。予めテストモードを１に設定し、クロック幅変更時刻ｎを設定する。ＴＥＳＴ＿ＩＮとＣＬＫが入力されてテストを開始し、クロックのカウント値が設定値ｎに達すると時刻Ｔ１０１で、比較結果１０１３が０から１に変化し、クロック幅可変信号が時刻Ｔ１０１の遅延ｄ１０１後、論理０から１に変化し、ｎの次のクロックイベントは、クロック幅が通常のＰｗ１より短いＰｗ２となる。クロック幅を制御する手段は第３および第４の実施の形態と同じ構成である。
【００４９】
そして、クロック幅が通常のＰｗ１に戻った後、ＴＥＳＴ＿ＣＬＫへのクロック入力が再開され、出力端子１０１２の出力であるＴＥＳＴ＿ＯＵＴがＬＳＩテスタなどにより期待値と比較される。時刻ｎを順次切り替えながら、その都度テスト対象回路１００２の出力ＴＥＳＴ＿ＯＵＴの期待値を比較する事により、デバイス特性の発生時刻を調べる。
【００５０】
この実施の形態によれば、周波数特性に依存した不具合発生時刻を特定でき、上記他の実施の形態と組み合わせることによって、不具合発生フリップフロップの特定に利用することができる。
以上述べたように、本発明によれば、半導体装置のテストモードを任意時刻でノーマル動作からスキャンテスト回路のシフト動作に切り替え、スキャンテスト回路の全フリップフロップの論理状態を調べることで、ノーマル動作時のセットアップやボールドマージンの最も厳しい回路を特定することが可能であり、不良解析や半導体装置の特性改善に有効である。また、電源電圧やクロック幅を初期設定により任意時刻で可変する事で、半導体装置を組み込んだ電子機器上での解析も可能であり、ＬＳＩテスタで非再現の動作不具合も可能とする、従来にない優れた発明である。
【００５１】
なお、実施の形態において、電源電圧発生器すなわち電圧制御電源３１５、７１７、８１５、９１７等は、半導体装置内に配置する内付けまたは半導体装置外に配置する外付けが可能であり、どらちでも良い。
【００５２】
【発明の効果】
請求項１記載の半導体装置によれば、スキャンテスト回路を有する半導体装置の不具合発生回路の解析において、任意のクロックタイミングでフリップフロップの論理状態を保持しつつ、モード制御回路により、ノーマル動作からスキャンテストのシフトモードに切り替え、正常動作時と異常動作時のスキャンチェーンの出力を比較する事により、不具合発生を生じているフリップフロップを特定する。これにより、通常動作からスキャンテスト回路への切り替えを回路で実現して、ＬＳＩテストパターンの変更をすることなく、任意の時刻のフリップフロップの状態を知ることができる。また、半導体装置を組み込んだ製品においてもスキャンテストモードへの切り替えが可能であり、ＬＳＩテスタで再現しない不具合の解析が可能である。
【００５３】
請求項２記載の半導体装置によれば、半導体装置の正常動作と異常動作が電源電圧に依存して生じる場合、制御信号により電源電圧を切り替え可能な電源電圧発生器に接続された半導体装置のモード制御回路に、切り替え直前の例えばクロック１イベント区間に電源電圧を異常動作を示す状態にし、その他の区間は正常動作を示す電源電圧になる様、電源電圧制御信号を出力する機能を付加しているので、電源電圧に依存した動作不具合のフリップフロップの発生場所を特定する事が可能である。
【００５４】
請求項３記載の半導体装置によれば、半導体装置の正常動作と異常動作が周波数に依存して生じる場合、モード切替回路に、例えば切り替え直前のクロック１イベント区間のみ異常状態を示す様クロック間隔を小さくし、その他の区間は正常動作を示すクロック間隔になる様、クロック間隔制御機能を付加したため、動作不具合のフリップフロップの発生場所を特定することが可能である。
【００５５】
請求項４記載の半導体装置によれば、請求項３と同様な効果のほか、クロック間隔が可変となるよう遅延バッファ選択回路を有するため、フリップフロップの動作タイミングの定量的なマージン解析が可能である。
【００５６】
請求項５記載の半導体装置によれば、請求項２において、半導体装置がＤＲＡＭを搭載した半導体装置で、電源電圧切り替え時およびノーマルからスキャンテストのモード切替時に、リフレッシュ信号を発生する機能をモード制御回路に付加したため、ＤＲＡＭ混載のＬＳＩの場合、テストモードの切り替え時にもリフレッシュ動作を行うため、電源電圧変更時一定期間クロックを停止させても、ＤＲＡＭ動作が安定し、ロジック回路の状態に影響を与えない。
【００５７】
請求項６記載の半導体装置によれば、スキャンテスト回路を有する半導体装置が正常動作と異常動作が電源電圧に依存して生じる場合において、制御信号により電源電圧を切り替え可能な電源電圧発生器に接続された半導体装置で、任意のクロックタイミングでフリップフロップの論理状態を保持しつつ、クロック１イベント区間に電源電圧を異常動作を示す状態にし、その他の区間は正常動作を示す電源電圧になる様、クロック制御と電圧制御を行う回路を有するため、フリップフロップの動作不具合の発生時刻を知るのに有効であり、請求項２の構成と組み合わせることで、不具合発生フリップフロップを特定可能になる。
【００５８】
請求項７記載の半導体装置によれば、ＤＲＡＭを搭載した半導体装置で、リフレッシュ信号を発生する機能を、例えばクロック制御と電圧制御を行う回路に付加したため、ＤＲＡＭ混載のＬＳＩの場合、テストモードの切り替え時にリフレッシュ動作を行うので、電源電圧変更時の一定期間クロックを停止させても、ＤＲＡＭ動作が安定し、ロジック回路の状態に影響を与えない。
【００５９】
請求項８記載の半導体装置によれば、スキャンテスト回路を有する半導体装置が周波数に依存して生じる場合において、任意のクロックタイミングで例えばクロック１イベント区間のみ異常状態を示す様クロック間隔を小さくし、その他の区間は正常動作を示すクロック間隔になる様、クロック間隔制御機能を有するため、周波数特性に依存した不具合発生時刻を特定でき、不具合発生フリップフロップの特定に利用することができる。
【図面の簡単な説明】
【図１】（ａ）は本発明の第１の実施の形態の構成を示すブロック図、（ｂ）はその各部の動作波形の説明図である。
【図２】（ａ）はフリップフロップで構成されたスキャンチェーンの回路図、（ｂ）および（ｃ）はその不具合フリップフロップの特定方法の説明図である。
【図３】（ａ）は本発明の第２の実施の形態の構成を示すブロック図、（ｂ）はその各部の動作波形図である。
【図４】本発明の第３の実施の形態の動作波形図である。
【図５】（ａ）は第３の実施の形態におけるクロック間隔制御手段の回路図、（ｂ）はその各部の動作波形の説明図である。
【図６】（ａ）は本発明の第４の実施の形態におけるクロック間隔制御手段の回路図、（ｂ）はその各部の動作波形図である。
【図７】（ａ）は本発明の第５の実施の形態の構成を示すブロック図、（ｂ）はその各部の動作波形図である。
【図８】（ａ）は本発明の第６の実施の形態の構成を示すブロック図、（ｂ）はその各部の動作波形図である。
【図９】（ａ）は本発明の第７の実施の形態の構成を示すブロック図、（ｂ）はその各部の動作波形図である。
【図１０】（ａ）は本発明の第８の実施の形態の構成を示すブロック図、（ｂ）はその各部の動作波形図である。
【図１１】従来の不具合解析フローの説明図である。
【符号の説明】
１０１・・・半導体装置
１０２・・・テスト対象回路
１０３・・・テストモード制御回路
１０４・・・カウンタ
１０５・・・比較値セット回路
１０６・・・比較器
１０７・・・モード切替回路
２０１・・・半導体装置内のフリップフロップ
３０１・・・半導体装置
３０２・・・テスト対象回路
３０３・・・テストモード制御回路
３０４・・・カウンタ
３０５・・・比較値セット回路
３０６・・・比較器
３０７・・・モード切替回路
３１５・・・電圧制御電源
５０１・・・遅延素子
５０３・・・セレクタ
６０１、６０２、６０３・・・遅延素子
６０４、６０５、６０６・・・トライステート素子
７０１・・・半導体装置
７０２・・・テスト対象回路
７０３・・・ＤＲＡＭコア
７０４・・・テストモード制御回路
７０５・・・カウンタ
７０６・・・比較値セット回路
７０７・・・比較器
７０８・・・モード切替回路
７１７・・・電圧制御電源
８０１・・・半導体装置
８０２・・・テスト対象回路
８０３・・・テストモード制御回路
８０４・・・カウンタ
８０５・・・比較値セット回路
８０６・・・比較器
８０７・・・クロック制御回路
８１５・・・電圧制御電源
９０１・・・半導体装置
９０２・・・テスト対象回路
９０３・・・ＤＲＡＭコア
９０４・・・テストモード制御回路
９０５・・・カウンタ
９０６・・・比較値セット回路
９０７・・・比較器
９０８・・・クロック制御回路
９１７・・・電圧制御電源
１００１・・・半導体装置
１００２・・・テスト対象回路
１００３・・・テストモード制御回路
１００４・・・カウンタ
１００５・・・比較値セット回路
１００６・・・比較器
１００７・・・クロック制御回路
【図１】
2004325124.tif 000003
【図２】
2004325124.tif 000004
【図３】
2004325124.tif 000005
【図４】
2004325124.tif 000006
【図５】
2004325124.tif 000007
【図６】
2004325124.tif 000008
【図７】
2004325124.tif 000009
【図８】
2004325124.tif 000010
【図９】
2004325124.tif 000011
【図１０】
2004325124.tif 000012
【図１１】
2004325124.tif 000013