(57)【特許請求の範囲】
【請求項１】
論理回路から出力された信号が入力される、スキャンチェーンを構成するスキャンレジスタと、
前記スキャンレジスタの後段に設けられ、前記スキャンレジスタからの出力信号を反転するインバータと、
前記スキャンレジスタの前段に設けられ、外部から入力される入力信号又は前記インバータから出力される信号のいずれかを選択する第１セレクタと、
前記インバータの後段に設けられ、前記入力信号又は前記インバータから出力される信号のいずれかを選択する第２セレクタと、
を備えるスキャンテスト回路。
【請求項２】
前記入力信号は、論理値が１又は０の固定値であることを特徴とする請求項１に記載のスキャンテスト回路。
【請求項３】
前記スキャンレジスタ、前記インバータ、前記第１セレクタ及び前記第２セレクタがマクロ化されハードマクロを構成し、
複数の前記ハードマクロが半導体集積回路のスキャンパスに配置されることを特徴とする請求項１に記載のスキャンテスト回路。
【請求項４】
前記スキャンレジスタ、前記インバータ、前記第１セレクタ及び前記第２セレクタがハードマクロ化された請求項１に記載のスキャンテスト回路と、
複数のスキャンテスト回路が配置されるスキャンパスと、
を備える半導体集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＬＳＩ（大規模半導体集積回路）等の故障検出に用いられるスキャンテスト回路、半導体集積回路に関する。
【背景技術】
【０００２】
ＬＳＩ等の半導体集積回路の複雑化、大規模化に伴い、高い故障検出率を実現するテストパタンの作成にはＤＦＴ（Design For Test）設計が必要になって来ている。ＤＦＴ設計の１つの手段として、スキャン設計を行い、ＡＴＰＧ（Automatic Test Pattern Generation）を実施して、縮退故障テスト及び遅延故障テストの為のパタン作成が行われる。
【０００３】
縮退故障テストは、単なる論理動作が正しく行われるかを見るテストである。遅延故障テストは、所望の動作時間内に動作が完了するかを確認するテストである。なお、所望の動作時間は一般的には、半導体集積回路のクロックサイクル時間に相当する。
【０００４】
縮退故障テストや遅延故障テストは、出来上がった半導体製品の品質確保の為、高い故障検出率が必要とされる。故障検出率とは、回路内に定義された故障定義点のうち、テストパタンにより動作し、動作結果が観測ポイント（ＦＦ（Flip-Flop）や出力端子）にて観測できる割合を言う。ここで、あるテストパタンで故障定義点が動作する時、"活性化"したと称する。
【０００５】
実際の半導体集積回路のテストにおいて、ＬＳＩテスタのパタンメモリ等のテスト設備の制限等により、使用できるテストパタンはある一定量を超える事が困難である。縮退故障テストの故障検出率を上げるためには、そのテストで用いられるテストパタンの故障検出率を上げる事が目標となるが、この為に非常に膨大なテストパタンが必要となる。また、こうして作成されたテストパタンによるテストは、テスト時間も長くなる。このため、テストコストに影響を及ぼす。
【０００６】
一方、遅延故障テスト用のテストパタンは、単純に故障定義点が論理動作するのみならず、所望の時間内にその動作が完了する事を確認する為のパタンである必要があり、テストパタン作成にさらに膨大な時間とパタン数を要する。
【０００７】
そこで、従来から様々な手法が提案されている（例えば、特許文献１、２）。特許文献１には、縮退故障テストにおいて制御性向上の為にテストポイントを挿入する技術が開示されている。また、特許文献２では遅延故障テストの制御性を向上する為に、もともとのスキャンレジスタを容易に所望のテストパタンを生成する事が出来るスキャンテストポイント回路に置き換える技術が開示されている。なお、特許文献２における制御性の向上とは、置き換えられたスキャンテストポイント回路の値を容易に反転できる事を指している。
【０００８】
しかしながら、実際の現場では、上述の通りテスト設備やテストのコストパフォーマンスの観点から、ある一定量以上のテストパタンを作成する事は困難である。この条件下において遅延故障テストの故障検出率を上げる為には、特許文献２に記載の技術だけでは足りない事がある。
【０００９】
例えば、論理が複雑な組み合わせ回路や論理段数が多い組み合わせ回路、多入力の組み合わせ回路は、ＡＴＰＧによるテストパタン生成難易度が上がる。このため、テストパタン作成時間、テストパタン数が増加し、テストのコストパフォーマンスが悪化してしまう。
【００１０】
このような場合には、特許文献１のようにテストポイント挿入を行い、ＡＴＰＧによるテストパタン生成難易度を低減するような対処が必要となる。しかし、特許文献１のテストポイント挿入回路は、遅延故障テストへの考慮がなされていない。
【先行技術文献】
【特許文献】
【００１１】
【特許文献１】特開２００６−８４４２７号公報
【特許文献２】特開２００８−２９２３６８号公報
【発明の概要】
【発明が解決しようとする課題】
【００１２】
これまで、縮退故障テストだけでなく遅延故障テストまでも視野に入れた、制御性向上の為のテストポイントを挿入する技術が無かった。
【課題を解決するための手段】
【００１３】
本発明の一態様に係るスキャンテスト回路は、論理回路から出力された信号が入力される、スキャンチェーンを構成するスキャンレジスタと、前記スキャンレジスタの後段に設けられ、前記スキャンレジスタからの出力信号を反転するインバータと、前記スキャンレジスタの前段に設けられ、外部から入力される入力信号又は前記インバータから出力される信号のいずれかを選択する第１セレクタと、前記インバータの後段に設けられ、前記入力信号又は前記インバータから出力される信号のいずれかを選択する第２セレクタとを備えるものである。
【００１４】
これにより、入力信号の論理値が０又は１の固定値であっても、所望の論理値のテストポイントを挿入することができるスキャンテスト回路を実現することが可能となる。
【発明の効果】
【００１５】
本発明によれば、縮退故障テストだけでなく遅延故障テストまでも視野に入れた、制御性向上の為のテストポイントを挿入するスキャンテスト回路、半導体集積回路を実現することができる。
【図面の簡単な説明】
【００１６】
【図１】実施の形態に係るスキャンテスト回路の構成を示す図である。
【図２】実施の形態に係るスキャンテスト回路を任意の組み合わせ回路に挿入した場合の構成を示す図である。
【図３】実施の形態に係るスキャンテスト回路のモード１におけるデータ遷移を示す図である。
【図４】実施の形態に係るスキャンテスト回路のモード１における遅延スキャン動作時の波形を示す図である。
【図５】実施の形態に係るスキャンテスト回路のモード２におけるデータ遷移を示す図である。
【図６】実施の形態に係るスキャンテスト回路のモード２における遅延スキャン動作時の波形を示す図である。
【図７】実施の形態に係るスキャンテスト回路のモード３におけるデータ遷移を示す図である。
【図８】実施の形態に係るスキャンテスト回路のモード３における遅延スキャン動作時の波形を示す図である。
【図９】実施の形態に係るスキャンテスト回路のモード４におけるデータ遷移を示す図である。
【図１０】実施の形態に係るスキャンテスト回路のモード４における遅延スキャン動作時の波形を示す図である。
【図１１】遅延スキャン動作時のＯＮパス制御、ＯＦＦパス制御を説明する図である。
【図１２】実施の形態に係るスキャンテスト回路の各モードにおけるスキャンレジスタの格納値ＤＦＴ＿ＲＥＧ、出力端子からの出力値ＤＦＴ＿ＯＵＴを示す表である。
【図１３】実施の形態に係るスキャンテスト回路に入力される信号ＤＦＴ＿ＩＮが「０固定」の場合のスキャンレジスタの格納値ＤＦＴ＿ＲＥＧ、出力端子からの出力値ＤＦＴ＿ＯＵＴの値を示した表である。
【図１４】実施の形態に係るスキャンテスト回路に入力される信号ＤＦＴ＿ＩＮが「１固定」の場合のスキャンレジスタの格納値ＤＦＴ＿ＲＥＧ、出力端子からの出力値ＤＦＴ＿ＯＵＴの値を示した表である。
【図１５】特許文献２の問題点を説明するための図である。
【図１６】図１５に示す回路に本実施の形態に係るスキャンテスト回路を適用した例を示す図である。
【発明を実施するための形態】
【００１７】
本発明の実施の形態に係るスキャンテスト回路１０の構成について、図１を参照して説明する。図１は、本実施の形態に係るスキャンテスト回路１０の構成を示す図である。図１に示すように、スキャンテスト回路１０は、スキャンレジスタ１１（ＤＦＴ＿ＲＥＧ）、インバータ１２（ＤＦＴ＿ＩＮＶ）、第１セレクタ１３（ＤＦＴ＿ＭＵＸ１）、第２セレクタ１４（ＤＦＴ＿ＭＵＸ２）を備えている。
【００１８】
集積回路内部の論理回路の動作テストを行うために、集積回路のフリップフロップをスキャンフリップフロップに置き換え、複数のスキャンフリップフロップをシリアルに接続してスキャンチェーンを構成し、スキャンチェーンをシフトレジスタのように動作させて動作テストに必要なフリップフロップの設定を行うスキャン設計が知られている。
【００１９】
動作テストを行いたいテスト対象パスの前後にスキャンチェーンを構成するスキャンフリップフロップを接続し、テスト対象パスの始点に接続された始点スキャンフリップフロップからテストパタンを入力して、テスト対象パスを伝播したテスト結果をテスト対象パスの終点に接続された終点スキャンフリップフロップにキャプチャする。
【００２０】
その後、スキャンチェーンをシフトレジスタのように動作させて出力をスキャンすることにより、テスト対象パスの動作を観測することができる。このようなスキャン設計は、例えば、集積回路の縮退故障テストや遅延故障テストに用いられている。本実施の形態に係るスキャンテスト回路１０は、テスト対象パスの任意の位置に挿入され、任意の位置の値を１又は０に設定したテストポイントを挿入するものである。
【００２１】
スキャンテスト回路１０には、６つの入力端子（入力端子２１〜２６）が設けられている。入力端子２１〜２６から入力される信号を、それぞれＤＦＴ＿ＳＩＮ、ＤＦＴ＿ＩＮ、ＤＦＴ＿ＳＭＣ、ＤＦＴ＿ＣＬＫ、ＤＦＴ＿ＭＤＥＴ１、ＤＦＴ＿ＭＤＥＴ２とする。
【００２２】
また、スキャンテスト回路１０には、２つの出力端子（出力端子３１、３２）が設けられている。出力端子３１、３２から出力される信号を、それぞれＤＦＴ＿ＯＵＴ、ＤＦＴ＿ＳＯＵＴとする。
【００２３】
入力端子２１、出力端子３２は、スキャンレジスタ１１のスキャンチェーンのスキャンイン端子、スキャンアウト端子にそれぞれ接続される。入力端子２３は、スキャンレジスタ１１のスキャンイネーブル端子に接続される。入力端子２３から入力されるスキャンイネーブル信号ＤＦＴ＿ＳＭＣは、スキャンシフト動作、スキャンキャプチャ動作を切り替える制御信号である。入力端子２４は、スキャンレジスタ１１のクロック端子に接続される。
【００２４】
入力端子２５は、第１セレクタ１３のセレクト端子に接続される。入力端子２６は、第２セレクタ１４のセレクト端子に接続される。インバータ１２は、スキャンレジスタ１１の出力端子に接続されている。インバータ１２は、スキャンレジスタ１１から出力される信号の値を反転する回路である。
【００２５】
第１セレクタ１３は、スキャンレジスタ１１の前段に接続されている。第１セレクタ１３は、インバータ１２から出力される信号と入力端子２２から入力される信号ＤＦＴ＿ＩＮのいずれかを選択し、スキャンレジスタ１１に出力する。
【００２６】
第２セレクタ１４は、インバータ１２の後段に接続されている。第２セレクタ１４は、入力端子２２から入力される信号ＤＦＴ＿ＩＮと、インバータ１２から出力される信号のいずれかを選択し、出力端子３１から信号ＤＦＴ＿ＯＵＴとして出力する。
【００２７】
ここで、図２を参照して、本実施の形態に係るスキャンテスト回路１０の動作について説明する。図２は、本実施の形態に係るスキャンテスト回路１０が任意の組み合わせ回路に挿入された場合の回路構成例を示している。図２に示す例では、入力端子２２から入力される信号ＤＦＴ＿ＩＮは組み合わせ回路Ｘの出力であり、出力端子３１から出力される信号ＤＦＴ＿ＯＵＴは組み合わせ回路Ｙの入力である。
【００２８】
スキャンテスト回路１０は、入力端子２５から入力される信号ＤＦＴ＿ＭＤＥＴ１、入力端子２６から入力される信号ＤＦＴ＿ＭＤＥＴ２の組み合わせにより、４種類の動作を行う。モード１を（ＤＦＴ＿ＭＤＥＴ１＝０、ＤＦＴ＿ＭＤＥＴ２＝０）、モード２を（ＤＦＴ＿ＭＤＥＴ１＝０、ＤＦＴ＿ＭＤＥＴ２＝１）、モード3を（ＤＦＴ＿ＭＤＥＴ１＝１、ＤＦＴ＿ＭＤＥＴ２＝０）、モード４を（ＤＦＴ＿ＭＤＥＴ１＝１、ＤＦＴ＿ＭＤＥＴ２＝１）とする。
【００２９】
（１）モード１の動作
図３に、スキャンテスト回路１０のモード１におけるデータ遷移を示す。図３に示すように、モード１は、入力端子２２から出力端子３１へダイレクトにデータ遷移する動作と、入力端子２２からの信号をスキャンレジスタ１１に格納する動作を行うモードである。
【００３０】
図４に、スキャンテスト回路のモード１における遅延スキャン動作時の各信号の波形を示す。図４に示すように、シフト動作の最終値を「ａ」とし、入力端子２１から入力される信号ＤＦＴ＿ＩＮは、「Ａ」→「Ｂ」→「Ｃ」と変化するものとする。Ｓｈｉｆｔ期間における信号ＤＦＴ＿ＣＬＫをＳｈｉｆｔクロック、Ｌａｕｎｃｈ期間における信号ＤＦＴ＿ＣＬＫをＬａｕｎｃｈクロック、Ｃａｐｔｕｒｅ期間における信号ＤＦＴ＿ＣＬＫをＣａｐｔｕｒｅクロックとする。
【００３１】
ここで言う遅延スキャン動作は、最終シフト動作後に、Ｌａｕｎｃｈクロック、Ｃａｐｔｕｒｅクロックの高速なクロック（基本的には実動作周期のクロック）で遅延スキャンテストを行うブロードサイド（Broad-Side）方式とする。
【００３２】
ここで、ブロードサイド方式の遅延テストについての説明を行う。まず、入力端子２３から入力されるスキャンイネーブル信号を活性状態とし、シフトレジスタ状に接続されたスキャンフリップフロップをシフトサイクルさせ、入力端子２１からテストパタンである信号ＤＦＴ＿ＳＩＮが入力される（スキャンイン）。これにより、各スキャンフリップフロップが初期値に設定される。
【００３３】
次に、スキャンイネーブル信号を非活性状態とし、スキャンチェーンのシフトサイクルを解除した状態で、Ｌａｕｎｃｈクロック、Ｃａｐｔｕｒｅクロックが印加される。Ｌａｕｎｃｈクロックの立ち上がりエッジからＣａｐｔｕｒｅクロックの立ち上がりエッジまでの時間は実動作と同じに時間に設定される。
【００３４】
Ｌａｕｎｃｈクロックの立ち上がりにおいて、始点スキャンフリップフロップの値を反転させる。次に、Ｃａｐｔｕｒｅクロックの立ち上がりにおいて、この反転信号を始点スキャンフリップフロップからテスト対象パスに出力し、テスト対象パスを伝播した結果を終点スキャンフリップフロップでキャプチャする。
【００３５】
このキャプチャされた信号を、スキャンイネーブル信号を活性状態とすることによりスキャンシフトさせて出力する（スキャンアウト）。このスキャンアウトされたテスト結果と、予測されるテスト対象パスの遷移後の予測結果とを比較する。これにより、実動作速度においてテスト対象パスが正常に動作するか否かをテストすることができる。
【００３６】
図４に示すように、Ｓｈｉｆｔ期間において、スキャンレジスタ１１は、Ｓｈｉｆｔクロックに応じて入力端子２１からの信号「ａ」を取り込む。これにより、スキャンレジスタ１１に格納されるＤＦＴ＿ＲＥＧ格納値は「ａ」となる。
【００３７】
その後、ＤＦＴ＿ＭＤＥＴ１＝０、ＤＦＴ＿ＭＤＥＴ２＝０となり、モード１の遅延スキャン動作が開始される。ＤＦＴ＿ＲＥＧ格納値は、Ｌａｕｎｃｈクロックに応じて「Ａ」となり、Ｃａｐｔｕｒｅクロックに応じて「Ｂ」となる。
【００３８】
ここで、スキャンレジスタ１１が「Ｂ」を取り込めずに「Ａ」のままの値である場合、スキャンレジスタ１１の入力側に遅延故障が存在していることが検出できる。このとき、「Ａ」、「Ｂ」の値は、必ず反対の値でなければならない。
【００３９】
（２）モード２の動作
図５に、スキャンテスト回路１０のモード２におけるデータ遷移を示す。図５に示すように、モード２は、スキャンレジスタ１１から出力端子３１へ、スキャンレジスタ１１に格納された値の反転値を遷移する動作と、モード１と同様に入力端子２２からの信号をスキャンレジスタ１１に格納する動作を行うモードである。
【００４０】
図６に、スキャンテスト回路のモード２における遅延スキャン動作時の各信号の波形を示す。図６に示すように、シフト動作の最終値を「ａ」とし、入力端子２２から入力される信号ＤＦＴ＿ＩＮは、「Ａ」→「Ｂ」→「Ｃ」と変化するものとする。なお、以下の説明において、「〜ａ」は「ａ」の反転値を示し、「〜Ａ」、「〜Ｂ」、「〜Ｃ」は、それぞれ、「Ａ」、「Ｂ」、「Ｃ」の反転値を示す。Ｓｈｉｆｔ期間後、ＤＦＴ＿ＭＤＥＴ１＝０、ＤＦＴ＿ＭＤＥＴ２＝１となり、モード２の遅延スキャン動作が開始される。ＤＦＴ＿ＲＥＧ格納値は、Ｌａｕｎｃｈクロックに応じて「Ａ」となり、Ｃａｐｔｕｒｅクロックに応じて「Ｂ」となる。
【００４１】
（３）モード３の動作
図７に、スキャンテスト回路１０のモード３におけるデータ遷移を示す。図７に示すように、モード３は、スキャンレジスタ１１に格納された値の反転値を再度スキャンレジスタ１１にデータ遷移させる動作と、モード１と同様に入力端子２２から出力端子３１にダイレクトにデータ遷移する動作を行うモードである。
【００４２】
図８に、スキャンテスト回路のモード３における遅延スキャン動作時の各信号の波形を示す。図８に示すように、シフト動作の最終値を「ａ」とし、入力端子２２から入力される信号ＤＦＴ＿ＩＮは、「Ａ」→「Ｂ」→「Ｃ」と変化するものとする。Ｓｈｉｆｔ期間後、ＤＦＴ＿ＭＤＥＴ１＝１、ＤＦＴ＿ＭＤＥＴ２＝０となり、モード３の遅延スキャン動作が開始される。ＤＦＴ＿ＲＥＧ格納値は、Ｌａｕｎｃｈクロックに応じて「〜ａ」となり、Ｃａｐｔｕｒｅクロックに応じて「ａ」となる。
【００４３】
（４）モード４の動作
図９に、スキャンテスト回路１０のモード４におけるデータ遷移を示す。図９に示すように、モード４は、スキャンレジスタ１１に格納された値の反転値を再度スキャンレジスタ１１にデータ遷移させる動作と、スキャンレジスタ１１に格納された値（スキャンシフト動作により格納された値）の反転値を、出力端子３１にデータ遷移する動作を行うモードである。
【００４４】
図１０に、スキャンテスト回路のモード４における遅延スキャン動作時の各信号の波形を示す。図１０に示すように、シフト動作の最終値を「ａ」とし、入力端子２２から入力される信号ＤＦＴ＿ＩＮは、「Ａ」→「Ｂ」→「Ｃ」と変化するものとする。Ｓｈｉｆｔ期間後、ＤＦＴ＿ＭＤＥＴ１＝１、ＤＦＴ＿ＭＤＥＴ２＝１となり、モード４の遅延スキャン動作が開始される。ＤＦＴ＿ＲＥＧ格納値は、Ｌａｕｎｃｈクロックに応じて「〜ａ」となり、Ｃａｐｔｕｒｅクロックに応じて「ａ」となる。
【００４５】
上記の４つのモードを用いる事で、出力端子３１に接続される組み合わせ回路に対して、遅延スキャン動作時に必要な制御を行う事が出来る。遅延スキャン動作時に必要な制御とは、遅延スキャンの為のＯＮパス制御（以降、単にＯＮパス制御と呼ぶ。）、遅延スキャンの為のＯＦＦパス制御（以降、単にＯＦＦパス制御と呼ぶ）の２つの制御である。
【００４６】
ここで、図１１を参照して、ＯＮパス制御、ＯＦＦパス制御について説明する。ＯＮパス制御は、図１１に示すフリップフロップ１からＯＲゲート４のＩＮ１を通り、フリップフロップ３に接続される経路に対して、最終シフト動作時の値を伝播した後、Ｌａｕｎｃｈ動作時に最終シフト動作時の反転値を伝播させる制御である。具体的には、最終シフト動作時に１→Ｌａｕｎｃｈ動作時に０又は最終シフト動作時に０→Ｌａｕｎｃｈ動作時に１が伝播される。
【００４７】
ＯＦＦパス制御は、図１１に示すフリップフロップ２からＯＲゲート４のＩＮ２を通る経路に対して、最終シフト動作時からＬａｕｎｃｈ動作時に固定値を伝播させる制御である。具体的には、ＯＦＦパス制御では、最終シフト動作時に０→Ｌａｕｎｃｈ動作時に０が伝播される。なお、ＯＲゲート４の代わりにＡＮＤゲートを用いる場合には、最終シフト動作時に１→Ｌａｕｎｃｈ動作時に１が伝播される。
【００４８】
図１２に、スキャンテスト回路１０の各モードのスキャンレジスタ１１の格納値ＤＦＴ＿ＲＥＧと、出力端子３１からの出力値ＤＦＴ＿ＯＵＴを示す。図１２に示すように、モード１、３では、出力端子３１からの出力値ＤＦＴ＿ＯＵＴは入力端子２２から入力される信号ＤＦＴ＿ＩＮとなる。モード２では、出力値ＤＦＴ＿ＯＵＴは最終シフト動作時に最終シフト反転値であり、Ｌａｕｎｃｈ動作時に信号ＤＦＴ＿ＩＮとなる。
【００４９】
フリップフロップ１又はフリップフロップ２とＯＲゲート４の入力端子との間にスキャンテスト回路１０を接続し、モード１〜３を選択すれば、信号ＤＦＴ＿ＩＮの値に依存するが、ＯＮパス制御、ＯＦＦパス制御のいずれの制御も実施できる。
【００５０】
モード４では、出力値ＤＦＴ＿ＯＵＴは最終シフト動作時に最終シフト反転値であり、Ｌａｕｎｃｈ動作時にはその最終シフト反転値の反転値となる。つまり、モード４においては、信号ＤＦＴ＿ＩＮの値に依存せずに最終シフト動作時とＬａｕｎｃｈ動作時とで反転値が出力される。従って、フリップフロップ１とＯＲゲート４のＩＮ１との間にスキャンテスト回路１０を接続し、モード４を選択すればＯＮパス制御が実施できる。
【００５１】
信号ＤＦＴ＿ＩＮとして「０」、「１」の値が自由に設定出来るのであれば、本スキャン回路の挿入は不要である。しかし、「０固定」、「１固定」のように制御性の悪い部分に本スキャンテスト回路を挿入し、各モードを切り替えることで制御性が向上する。
【００５２】
図１３はスキャンテスト回路１０に入力される信号ＤＦＴ＿ＩＮが「０固定」の場合、図１４はスキャンテスト回路１０に入力される信号ＤＦＴ＿ＩＮが「１固定」の場合のスキャンレジスタの格納値ＤＦＴ＿ＲＥＧ、出力端子からの出力値ＤＦＴ＿ＯＵＴの値を示した表である。
【００５３】
いずれの場合においても、出力値ＤＦＴ＿ＯＵＴとして、最終シフト動作時の値を伝播した後、Ｌａｕｎｃｈ動作時に最終シフト動作時の反転値を伝播させる制御（１→０又は０→１）、最終シフト動作時からＬａｕｎｃｈ動作時に固定値を伝播させる制御（１→１又は０→０）のいずれも行うことができる。すなわち、本実施の形態に係るスキャンテスト回路１０を用いて、各モードを切り替えることにより、ＯＮパス制御、ＯＦＦパス制御のいずれの制御も行うことができ、制御性を向上させることが可能となる。
【００５４】
以上説明したように、本発明に係るスキャンテスト回路を用いることにより、任意の組み合わせ回路にテストポイント挿入を行うことができ、制御性の悪い部分の制御性を改善する事が可能である。これにより、遅延故障テストの検出率を向上できる。
【００５５】
特許文献２では、前段の論理値によりＯＦＦパス制御ができない場合がある。図１５に、特許文献２の問題点を説明する図を示す。図１５に示すように、フリップフロップ２の前段が「１固定」の場合、シフト動作時に０→Ｌａｕｎｃｈ動作時０の固定値を出力することができず、ＯＦＦパス制御を実行することができない。このため、フリップフロップ１からＯＲゲート４のＩＮ１通り、フリップフロップ３への経路の遅延故障テストを行うことができない。
【００５６】
一方、図１６に、図１５に示す回路に本実施の形態に係るスキャンテスト回路１０を適用した例を示す。図１６に示すように、フリップフロップ２とＯＲゲート４のＩＮ２との間にスキャンテスト回路１０が接続される。ＯＲゲート４を用いた場合、出力端子３１からの出力値ＤＦＴ＿ＯＵＴが、最終シフト動作時及びＬａｕｎｃｈ動作時のいずれも「０」であればＯＦＦパス制御を行うことができる。
【００５７】
図１６に示す例では、フリップフロップ２は「１固定」であるため、図１４に示すようにスキャンテスト回路１０においてモード２を選択すれば、シフト動作時に０→Ｌａｕｎｃｈ動作時０の固定値を出力することが可能となる。これにより、フリップフロップ１からＯＲゲート４のＩＮ１通り、フリップフロップ３への経路の遅延故障テストを行うことができる。なお、ＯＲゲート４の代わりに、ＡＮＤゲートを用いた場合には、最終シフト動作時及びＬａｕｎｃｈ動作時のいずれも「１」であればＯＦＦパス制御を行うことができる。
【００５８】
このように、本発明によれば、縮退故障テストだけでなく遅延故障テストまでも視野に入れた、制御性向上の為のテストポイントを挿入する具体的な回路を実現することができる。任意の組み合わせ回路にテストポイント挿入する事により、遅延故障テストの為の制御性（ＯＮパス制御、ＯＦＦパス制御）を向上し、故障検出率を向上させる事が可能となる。
【００５９】
なお、本発明は上述した実施の形態のみに限定されるものではなく、既に述べた本発明の要旨を逸脱しない範囲において種々の変更が可能であることは勿論である。スキャンテスト回路１０は、スキャンレジスタ１１、インバータ１２、第１セレクタ１３、第２セレクタ１４がマクロ化されたハードマクロとして構成することも可能である。ハードマクロとは、特定用途向けの回路ブロックであって、予め各構成要素の配置が決定された状態のものをいう。ここでのハードマクロは、スキャンテスト用の回路ブロックである。また、半導体集積回路において、このハードマクロがテスト対象パスであるスキャンパスの任意の位置に複数設けられていてもよい。
【符号の説明】
【００６０】
１〜３  フリップフロップ
４  ＯＲゲート
１０  スキャンテスト回路
１１  スキャンレジスタ
１２  インバータ
１３  第１セレクタ
１４  第２セレクタ
２１〜２６  入力端子
３１〜３２  出力端子
【図１】
0005383588.tif 000002
【図２】
0005383588.tif 000003
【図３】
0005383588.tif 000004
【図４】
0005383588.tif 000005
【図５】
0005383588.tif 000006
【図６】
0005383588.tif 000007
【図７】
0005383588.tif 000008
【図８】
0005383588.tif 000009
【図９】
0005383588.tif 000010
【図１０】
0005383588.tif 000011
【図１１】
0005383588.tif 000012
【図１２】
0005383588.tif 000013
【図１３】
0005383588.tif 000014
【図１４】
0005383588.tif 000015
【図１５】
0005383588.tif 000016
【図１６】
0005383588.tif 000017