(57)【特許請求の範囲】
【請求項１】
スキャンインされるテスト信号に応じて演算結果を出力する組合せ回路中に挿入されるテストポイント回路であって、
前記テストポイント回路は、
スキャンシフト動作期間に前記テスト信号が入力されるスキャンイン端子と、
前記組合せ回路からの演算結果が入力されるデータ入力端子と、
クロックシーケンシャルテストの１回のキャプチャ動作期間において、前記データ入力端子に入力された演算結果と前記スキャンイン端子に入力された第１演算結果とを受信し、排他論理和を出力するＸＯＲゲートと、
前記排他論理和を第１キャプチャクロックの後の第２キャプチャクロックで取り込むフリップフロップと、
を備え、
複数の前記テストポイント回路は、スキャンチェインを構成し、
前記キャプチャ動作期間において、前記第１キャプチャクロックの後の前記第２キャプチャクロックで前記スキャンチェインの前段のテストポイント回路がキャプチャした前記第１演算結果を取り込み、
前記スキャンイン端子は、前記第１演算結果を受信する、
テストポイント回路。
【請求項２】
前記キャプチャ動作期間において、前記データ入力端子に入力された演算結果とスキャンシフト動作からキャプチャ動作へ切替える制御信号とを受信して、否定論理和を出力するＮＯＲゲートをさらに備え、
前記ＸＯＲゲートは、前記スキャンイン端子に入力された前記第１演算結果と、前記否定論理和とを受信して、排他論理和を出力し、
前記フリップフロップは、前記ＸＯＲゲートから入力される前記排他論理和を前記第２キャプチャクロックで取り込む、
請求項１に記載のテストポイント回路。
【請求項３】
前記キャプチャ動作期間に前記スキャンチェインの最後段のテストポイント回路がキャプチャした前記第１演算結果が入力される第２データ入力端子をさらに備え、
前記ＸＯＲゲートは、前記キャプチャ動作期間において、前記データ入力端子に入力された演算結果と前記第２データ入力端子に入力された前記第１演算結果とを受信して、排他論理和を出力し、
前記フリップフロップは、前記排他論理和を前記第２キャプチャクロックで取り込む、
請求項１に記載のテストポイント回路。
【請求項４】
スキャンインされるテスト信号に応じて演算結果を出力する組合せ回路と、
前記組合せ回路中に挿入される複数のテストポイント回路と、
を備え、
複数の前記テストポイント回路は、スキャンチェインを構成し、
前記スキャンチェインは、
クロックシーケンシャルテストの１回のキャプチャ動作期間において、
第１キャプチャクロックで、第１演算結果をキャプチャする第１テストポイント回路と、
前記第１キャプチャクロックの後の第２キャプチャクロックで、前記第１テストポイント回路でキャプチャされた前記第１演算結果を取り込む、第２テストポイント回路と、
を含み、
前記第２テストポイント回路は、
スキャンシフト動作期間に前記テスト信号が入力され、前記キャプチャ動作期間に前記スキャンチェインの前段のテストポイント回路がキャプチャした前記第１演算結果が入力されるスキャンイン端子と、
前記組合せ回路からの演算結果が入力されるデータ入力端子と、
前記キャプチャ動作期間において、前記データ入力端子に入力された演算結果と前記スキャンイン端子に入力された前記第１演算結果とを受信し、排他論理和を出力するＸＯＲゲートと、
前記排他論理和を前記第２キャプチャクロックで取り込むフリップフロップと、
を備える、
半導体装置。
【請求項５】
前記第２テストポイント回路は、前記第１テストポイント回路の後段に設けられている、
請求項４に記載の半導体装置。
【請求項６】
前記スキャンチェインの最後段に設けられた第３テストポイント回路をさらに含み、
前記第１テストポイント回路は、前記スキャンチェインの最前段に設けられており、
前記第３テストポイント回路は、前記第１キャプチャクロックで第２演算結果をキャプチャし、
前記第１テストポイント回路は、前記第２キャプチャクロックで、前記第３テストポイント回路でキャプチャされた前記第２演算結果を受信する、
請求項５に記載の半導体装置。
【請求項７】
前記第１テストポイント回路は、前記スキャンチェインの最後段に設けられており、
前記第２テストポイント回路は、前記スキャンチェインの最前段に設けられている、
請求項４に記載の半導体装置。
【請求項８】
前記スキャンチェインから出力される応答結果を圧縮する圧縮器をさらに備え、
前記圧縮器は、前記第１キャプチャクロックで前記スキャンチェインの最後段に設けられたテストポイント回路がキャプチャした演算結果を、前記第２キャプチャクロックで取り込む、
請求項４に記載の半導体装置。
【請求項９】
前記第２テストポイント回路は、
前記キャプチャ動作期間において、前記データ入力端子に入力された演算結果とスキャンシフト動作からキャプチャ動作へ切替える制御信号とを受信して、否定論理和を出力するＮＯＲゲートをさらに備え、
前記ＸＯＲゲートは、前記スキャンイン端子に入力された前記第１演算結果と、前記否定論理和とを受信して、排他論理和を出力し、
前記フリップフロップは、前記ＸＯＲゲートから入力される前記排他論理和を前記第２キャプチャクロックで取り込む、
請求項４に記載の半導体装置。
【請求項１０】
前記第２テストポイント回路は、
前記キャプチャ動作期間に前記スキャンチェインの最後段のテストポイント回路前記第１演算結果が入力される第２データ入力端子をさらに備え、
前記ＸＯＲゲートは、前記キャプチャ動作期間において、前記データ入力端子に入力された演算結果と前記第２データ入力端子に入力された前記第１演算結果とを受信して、排他論理和を出力し、
前記フリップフロップは、前記排他論理和を前記第２キャプチャクロックで取り込む、
請求項４に記載の半導体装置。
【請求項１１】
前記スキャンチェインの入力側に設けられ、前記テスト信号として擬似乱数を供給する擬似乱数生成器をさらに備える、
請求項５に記載の半導体装置。
【請求項１２】
予め設定されたプログラムに従って所定の処理を実行可能な演算処理装置を備える半導体装置の設計装置であって、
前記半導体装置は、
スキャンインされるテスト信号に応じて演算結果を出力する組合せ回路と、
前記組合せ回路中に挿入される複数のテストポイント回路と、
を備え、
複数の前記テストポイント回路は、スキャンチェインを構成し、
前記スキャンチェインは、
クロックシーケンシャルテストの１回のキャプチャ動作期間において、
第１キャプチャクロックで、第１演算結果をキャプチャする第１テストポイント回路と、
前記第１キャプチャクロックの後の第２キャプチャクロックで、前記第１テストポイント回路でキャプチャされた前記第１演算結果を取り込む、第２テストポイント回路と、
を含み、
前記演算処理装置は、ネットリストを参照して前記半導体装置を生成する回路生成処理を実行する設計装置であって、
前記第２テストポイント回路は、
スキャンシフト動作期間に前記テスト信号が入力され、前記キャプチャ動作期間に前記スキャンチェインの前段のテストポイント回路がキャプチャした前記第１演算結果が入力されるスキャンイン端子と、
前記組合せ回路からの演算結果が入力されるデータ入力端子と、
前記キャプチャ動作期間において、前記データ入力端子に入力された演算結果と前記スキャンイン端子に入力された前記第１演算結果とを受信し、排他論理和を出力するＸＯＲゲートと、
前記排他論理和を前記第２キャプチャクロックで取り込むフリップフロップと、
を備える、
設計装置。
【請求項１３】
前記演算処理装置は、
前記組合せ回路からの演算結果が所定の論理状態になる確率を解析する解析処理を実行し、
前記解析処理の結果に基づき、テストポイント回路の挿入位置を選定し、
選定された前記挿入位置に前記第１テストポイント回路及び前記第２テストポイント回路を挿入し、
前記第１テストポイント回路と前記第２テストポイント回路とを用いて、前記スキャンチェインを構成する、
請求項１２に記載の設計装置。
【請求項１４】
前記演算処理装置は、
前記スキャンチェインにおいて、前記第２テストポイント回路を前記第１テストポイント回路の後段に接続する処理を実行する、
請求項１２に記載の設計装置。
【請求項１５】
前記半導体装置は、
前記第１及び第２テストポイント回路とともに、前記スキャンチェインを構成し、前記第２キャプチャクロックで、第２演算結果をキャプチャする第３テストポイント回路をさらに含み、
前記演算処理装置は、
前記第１テストポイント回路が前記第２演算結果を受信するよう、前記第１テストポイント回路を前記スキャンチェインの最前段に、前記第３テストポイント回路を前記スキャンチェインの最後段に接続する処理を実行する、
請求項１２に記載の設計装置。
【請求項１６】
前記演算処理装置は、
前記第１テストポイント回路を前記スキャンチェインの最後段に、前記第２テストポイント回路を前記スキャンチェインの最前段に接続する処理を実行する、
請求項１２に記載の設計装置。
【請求項１７】
前記演算処理装置は、前記スキャンチェインの最後段に設けられた前記テストポイント回路の出力側に、前記スキャンチェインから出力される応答結果を圧縮する圧縮器を挿入する処理を実行する、
請求項１２に記載の設計装置。
【請求項１８】
前記圧縮器は、前記第１キャプチャクロックで前記スキャンチェインの最後段に設けられたテストポイント回路がキャプチャした演算結果を、前記第２キャプチャクロックで取り込む、
請求項１７に記載の設計装置。
【請求項１９】
スキャンチェインを構成し、シフトレジスタとして動作するスキャンシフト動作と、組み合わせ回路からの演算結果をキャプチャするキャプチャ動作とを切り替え可能なシーケンシャルテスト用スキャンフリップフロップであって、
前記シーケンシャルテスト用スキャンフリップフロップは、
テストイネーブル信号が入力されるテストイネーブル入力端子を備え、
前記テストイネーブル信号に応じて、クロックシーケンシャルテストの１回のキャプチャ動作期間において、
第１キャプチャクロックの後の第２キャプチャクロックで、前記スキャンチェインにおける当該シーケンシャルテスト用スキャンフリップフロップの前段又は前記スキャンチェインの最後段の第１セルが前記第１キャプチャクロックでキャプチャした前記組み合わせ回路からの第１演算結果を取り込む、
シーケンシャルテスト用スキャンフリップフロップ。
【請求項２０】
前記シーケンシャルテスト用スキャンフリップフロップは、
前記第２キャプチャクロックで、前記第１演算結果と当該シーケンシャルテスト用スキャンフリップフロップがキャプチャする前記組み合わせ回路からの第２演算結果との排他的論理和又は否定排他的論理和を取り込む、
請求項１９に記載のシーケンシャルテスト用スキャンフリップフロップ。
【請求項２１】
請求項１９に記載のシーケンシャルテスト用スキャンフリップフロップと第１セルとを含むスキャンチェインと、組み合わせ回路とを備え、
前記スキャンチェイン内の前記第１セル及び前記シーケンシャルテスト用スキャンフリップフロップをシフトレジスタとして動作させるスキャンシフト動作と、前記組み合わせ回路からの演算結果をキャプチャするキャプチャ動作とを切り替え可能な半導体装置であって、
前記第１セルは、
クロックシーケンシャルテストの１回のキャプチャ動作期間における第１キャプチャクロックで、第１演算結果をキャプチャし、
前記シーケンシャルテスト用スキャンフリップフロップは、
テストイネーブル信号が入力されるテストイネーブル入力端子を備え、
前記テストイネーブル信号に応じて、前記第１キャプチャクロックの後の第２キャプチャクロックで、前記第１演算結果を取り込む、
半導体装置。
【請求項２２】
前記シーケンシャルテスト用スキャンフリップフロップは、前記第２キャプチャクロックで、前記第１演算結果と、当該シーケンシャルテスト用スキャンフリップフロップがキャプチャする前記組み合わせ回路からの第２演算結果との排他的論理和又は否定排他的論理和を取り込む、
請求項２１に記載の半導体装置。
【請求項２３】
前記第１セルは、スキャンフリップフロップであり、
前記スキャンチェインにおいて、前記第１セルの後段に前記シーケンシャルテスト用スキャンフリップフロップが接続される、
請求項２１に記載の半導体装置。
【請求項２４】
前記第１セルは、前記シーケンシャルテスト用スキャンフリップフロップと同様の構成を有している、
請求項２１に記載の半導体装置。
【請求項２５】
前記スキャンチェインは、
前記シーケンシャルテスト用スキャンフリップフロップと同様の構成を有する第２セルと、
前記第２セルがキャプチャする前記組み合わせ回路からの第３演算結果をそのまま取り込むフリップフロップと、
を含むシフトレジスタ構造をさらに備える、
請求項２１に記載の半導体装置。
【請求項２６】
前記スキャンチェインから出力される応答結果を圧縮する圧縮器をさらに備え、
前記圧縮器は、前記第１キャプチャクロックで前記スキャンチェインの最後段に設けられた前記シーケンシャルテスト用スキャンフリップフロップがキャプチャした演算結果を、前記第２キャプチャクロックで観測する、
請求項２３に記載の半導体装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はテストポイント回路、シーケンシャルテスト用スキャンフリップフロップ、半導体装置及び設計装置に関し、例えばロジックビルトインセルフテスト（Logic Built-In Self Test：ＬＢＩＳＴ）に適用可能な技術に関する。
【背景技術】
【０００２】
ＬＳＩ（Large Scale Integration）の一般的なテスト手法としてスキャンテストがある。スキャンテストを実行可能にするため、回路内のフリップフロップ（ＦＦ）がスキャンＦＦと呼ばれるマルチプレクサ（ＭＵＸ）付のＦＦに置換される。ＭＵＸは、スキャンイネーブル信号により、テスト入力と通常動作入力とを切り替えることができる。
【０００３】
スキャンテスト時には、スキャンＦＦ同士がシリアルに接続され、ＬＳＩの外部端子から制御・観測可能なシフトレジスタ（これを、「スキャンチェイン」と呼ぶ）として動作する。スキャンチェインをシフト動作させることによって、任意のテストパターン（ロードデータ）がテスト入力から各スキャンＦＦに供給される（ロード）。これを、「スキャンシフト動作」と呼ぶ。各スキャンＦＦに設定されたテストパターンは、テスト対象の組合せ回路に印加される。
【０００４】
そして、スキャンイネーブル信号を切り替えることにより、組合せ回路での演算結果が通常動作入力からスキャンＦＦに取り込まれる。これを、「キャプチャ動作」と呼ぶ。キャプチャ動作で取得された演算結果は再びスキャンＦＦでシフトされ、応答が観測される（アンロード）。このアンロードと同時に、次のテストパターンの印加（ロード）が行われる。テスタによりアンロードされた値（アンロードデータ）とその期待値とを比較することにより、ＬＳＩのスキャンテストが実行される。
【０００５】
スキャンテストでは、スキャンチェインに接続されているスキャンＦＦ数に対応したシフトサイクル数が必要であるため、非常に大きなテストステップ数が必要となる。また、ＬＳＩのスキャンテストを実行するためには、スキャンシフト動作に必要なロードデータ及びアンロードデータの期待値を含むテストデータをテスタのメモリに格納する必要がある。テストステップ数が非常に大きい場合、テストデータがテスタのメモリに収まらなくなり、必要なテストが出来なくなる可能性が生じる。
【０００６】
テストデータ量を減らすテスト容易化設計（Design For Testability：ＤＦＴ）の一例として、ロジックビルトインセルフテスト（Logic Built-in Self Test ：ＬＢＩＳＴ）が提案されている（非特許文献１）。ＬＢＩＳＴでは、回路内部の擬似乱数生成器（Pseudo Random Pattern Generator：ＰＲＰＧ）から発生させたロードデータをスキャンチェインに供給してスキャンシフト動作を行い、キャプチャ動作後のアンロードデータを回路内部の応答圧縮器（Multiple Input Signature Register：ＭＩＳＲ）で圧縮する。
【０００７】
このため、ＬＢＩＳＴによるスキャンテスト期間中は、外部テスタからテストデータを印加する必要はなく、クロックの供給だけでテスト実行が可能になる。そして、任意の時間のテスト実行後に、ＭＩＳＲで圧縮した値を外部テスタで観測し、故障の有無を判定する。そのため、外部テスタに必要なテストデータ量は、ＬＢＩＳＴコントローラの制御シーケンス、ＰＲＰＧとＭＩＳＲの初期値及びＭＩＳＲから出力される値の期待値だけで済む。
【先行技術文献】
【非特許文献】
【０００８】
【非特許文献１】Debaleena Das、Nur A. Touba著、「Reducing test data volume using external/LBIST hybrid test patterns」、International Test Conference 2000
【発明の概要】
【発明が解決しようとする課題】
【０００９】
自動車用車載機器の機能安全国際規格ＩＳＯ２６２６２準拠の機能安全の実現のために、Power-on Self-Test（ＰＯＳＴ）が要求されている。ＰＯＳＴでは、テストデータ量の制約から論理部のテストはＬＢＩＳＴで行われる。ＬＢＩＳＴでは、乱数パタン印加によるテスト実行のため、回路内の多くの故障は未検出で終わる可能性が高い。そのため、乱数印加時に回路内の故障の検出確率が高くなるようにテストポイント回路の挿入（Test Point Insertion：ＴＰＩ）を行うのが一般的である。ＬＢＩＳＴにおいて、故障検出率を高くするには大量のＴＰＩが必要になり、面積オーバーヘッド（以下、面積ＯＨとする）が大きくなるという問題がある。また、ＰＯＳＴの実行時間には制限があるため、テスト時間を短縮しつつ、故障検出率を上げる必要がある。
【００１０】
その他の課題と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
【課題を解決するための手段】
【００１１】
一実施の形態によれば、テストポイント回路は、スキャンチェインを構成し、クロックシーケンシャルテストの１回のキャプチャ動作期間において、第１キャプチャクロックで、前段のテストポイント回路又は最後段のテストポイント回路がキャプチャした第１演算結果を、第１キャプチャクロックの後の第２キャプチャクロックで取り込む。
なお、上記実施の形態の回路を方法や装置、システムに置き換えて表現したもの、該回路における一部の処理をコンピュータに実行せしめるプログラムなども、本発明の態様としては有効である。
【発明の効果】
【００１２】
前記一実施の形態によれば、目標故障検出率を達成するのに必要なテストポイント回路の挿入数を少なくすることでき、面積オーバーヘッドの増大を抑制し、テスト時間を短縮することが可能となる。
【図面の簡単な説明】
【００１３】
【図１】ＬＢＩＳＴを実行可能な半導体装置の一例を示す図である。
【図２】制御用テストポイント回路の挿入について説明する図である。
【図３】観測用テストポイント回路の挿入について説明する図である。
【図４】スキャンテストの動作波形例を示す図である。
【図５】クロックシーケンシャルテストの動作波形例を示す図である。
【図６】実施の形態１に係るテストポイント回路を挿入した半導体装置の構成を示す図である。
【図７】実施の形態１に係る半導体装置のスキャンテスト時間に対する故障検出率を示す図である。
【図８】実施の形態１に係るテストポイント回路の他の構成を示す図である。
【図９】実施の形態２に係るテストポイント回路を挿入した半導体装置の構成を示す図である。
【図１０】実施の形態３に係るテストポイント回路を挿入した半導体装置の構成を示す図である。
【図１１】実施の形態４に係るテストポイント回路の構成を示す図である。
【図１２】実施の形態に係る半導体装置を設計する設計装置の構成を示す図である。
【図１３】実施の形態に係る半導体装置の設計フローを示す図である。
【図１４】実施の形態に係る半導体装置の設計フローを示す図である。
【図１５】実施の形態５に係るシーケンシャルテスト用スキャンフリップフロップを挿入した半導体装置の構成を示す図である。
【図１６】実施の形態５に係るシーケンシャルテスト用スキャンフリップフロップの構成を示す図である。
【図１７】図１５に係る半導体装置の動作波形例を示す図である。
【図１８】図１５に係る半導体装置の動作波形例を示す図である。
【図１９】図１６に示すシーケンシャルテスト用スキャンフリップフロップの真理値表である。
【図２０】シーケンシャルテスト用スキャンフリップフロップの概略構成を示す図である。
【図２１】図２０に示すシーケンシャルテスト用スキャンフリップフロップの真理値表である。
【図２２】実施の形態５に係るシーケンシャルテスト用スキャンフリップフロップの他の構成を示す図である。
【図２３】図２２に示すシーケンシャルテスト用スキャンフリップフロップの真理値表である。
【図２４】実施の形態５に係るシーケンシャルテスト用スキャンフリップフロップの他の構成を示す図である。
【図２５】図２４に示すシーケンシャルテスト用スキャンフリップフロップの真理値表である。
【図２６】実施の形態５に係るシーケンシャルテスト用スキャンフリップフロップの他の構成を示す図である。
【図２７】図２６に示すシーケンシャルテスト用スキャンフリップフロップの真理値表である。
【図２８】図２４又は図２６に示すシーケンシャルテスト用スキャンフリップフロップを挿入した半導体装置の動作波形例を示す図である。
【図２９】図２４又は図２６に示すシーケンシャルテスト用スキャンフリップフロップを挿入した半導体装置の動作波形例を示す図である。
【図３０】実施の形態６に係るシーケンシャルテスト用スキャンフリップフロップを挿入した半導体装置の構成を示す図である。
【図３１】実施の形態６に係る半導体装置のスキャンテスト時間に対する故障検出率を示す図である。
【図３２】実施の形態７に係るシーケンシャルテスト用スキャンフリップフロップを挿入した半導体装置の構成を示す図である。
【図３３】実施の形態８に係るシーケンシャルテスト用スキャンフリップフロップを挿入した半導体装置の構成を示す図である。
【図３４】実施の形態９に係るシーケンシャルテスト用スキャンフリップフロップを挿入した半導体装置の構成を示す図である。
【図３５】実施の形態９において用いられるシーケンシャルテスト用スキャンフリップフロップの概略構成を示す図である。
【図３６】図３５に示すシーケンシャルテスト用スキャンフリップフロップの真理値表である。
【図３７】実施の形態１０に係るシーケンシャルテスト用スキャンフリップフロップを挿入した半導体装置の構成を示す図である。
【図３８】実施の形態に係る半導体装置を設計する設計装置の構成を示す図である。
【図３９】実施の形態に係る半導体装置の設計フローを示す図である。
【図４０】実施の形態に係るテストポイント回路とシーケンシャルテスト用スキャンフリップフロップとを挿入した半導体装置の構成を示す図である。
【発明を実施するための形態】
【００１４】
以下、図面を参照しながら実施の形態について説明する。説明の明確化のため、以下の記載及び図面は、適宜、省略及び簡略化がなされている。以下の実施の形態に示す具体的な数値などは、発明の理解を容易とするための例示にすぎず、特に断る場合を除き、それに限定されるものではない。なお、各図面において、同一の要素には同一の符号が付されており、必要に応じて重複説明は省略されている。
【００１５】
また、様々な処理を行う機能ブロックとして図面に記載される各要素は、ハードウェア的には、ＣＰＵ、メモリ、その他の回路で構成することができ、ソフトウェア的には、メモリにロードされたプログラムなどによって実現される。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではない。
【００１６】
実施の形態は、ロジックビルトインセルフテスト（Logic Built-In Self Test：ＬＢＩＳＴ）を実行可能な半導体装置、これに用いられるテストポイント回路及びこの半導体装置の設計装置に関する。まず、図１を参照して、ＬＢＩＳＴを実行可能な半導体装置について説明する。図１は、ＬＢＩＳＴを実行可能な半導体装置の一例を示す図である。以下の説明では、テスト対象の組合せ回路をＤＵＴ（Design Under Test）と称する。
【００１７】
図１に示すように、半導体装置１は、ＤＵＴ２、擬似乱数生成器（Pseudo Random Pattern Generator：以下、ＰＲＰＧとする）３、応答圧縮器（Multiple Input Signature Register：以下、ＭＩＳＲとする）４、ＬＢＩＳＴコントローラ５、スキャンフリップフロップ（以下、ＳＦＦとする）１０を備える。
【００１８】
半導体装置１では、複数のＳＦＦ１０がシリアルに接続されることにより、複数のスキャンチェインが構築される。図１に示す例では、１つのスキャンチェインにそれぞれ５つのＳＦＦ１０が接続されている。ＳＦＦ１０は、スキャンシフト動作とキャプチャ動作とを切り替え可能なシフト用スキャンフリップフロップである。ＳＦＦ１０は、ＭＵＸ（マルチプレクサ）１１、ＦＦ（フリップフロップ）１２、データ入力端子ＤＡＴＡ、スキャンイン端子ＳＩＮ、制御入力端子ＳＭＣ、クロック端子ＣＬＫ、データ出力端子Ｑを有している。
【００１９】
ＭＵＸ１１は、スキャンイン端子ＳＩＮから入力されるテスト信号と、データ入力端子ＤＡＴＡから入力されるＤＵＴ２からの演算結果とを受信する。ＭＵＸ１１は、制御入力端子ＳＭＣから入力されるスキャンイネーブル信号（ｓｃａｎ−ｅｎａｂｌｅ）に応じて、スキャンシフト動作とキャプチャ動作とを切り替える。すなわち、スキャンイネーブル信号は、スキャンシフト動作とキャプチャ動作とを切り替える制御信号である。
【００２０】
図１に示す例では、スキャンイネーブル信号がハイ（１）の時にスキャンイン端子ＳＩＮが有効となる。また、スキャンイネーブル信号がロウ（０）の時に、データ入力端子ＤＡＴＡが有効となる。ＦＦ１２は、クロック端子ＣＬＫから入力されるクロック信号（ｃｌｏｃｋ１又はｃｌｏｃｋ２）に応じて、ＭＵＸ１１から出力される値を取り込み、データ出力端子Ｑから後段のＳＦＦ１０のスキャンイン端子ＳＩＮに出力する。なお、図１では、各スキャンチェインに供給されるクロック信号が異なる例が示されているが、同じであってもよい。
【００２１】
複数のスキャンチェインの入力側には、ＰＲＰＧ３が接続される。ＰＲＰＧ３は、ＬＢＩＳＴにおけるロードデータ（テスト信号）を生成し、スキャンチェインに供給する。ＳＦＦ１０は、スキャンシフト動作期間において、スキャンイン端子ＳＩＮから入力されるテスト信号を後段のＳＦＦ１０に出力する。スキャンチェインをシフト動作させることによって、任意のテストパターンが各ＳＦＦ１０に設定される。
【００２２】
キャプチャ動作では、シフト動作期間において各ＳＦＦ１０に設定された値がＤＵＴ２に供給され、ＤＵＴ２での演算結果が各ＳＦＦ１０にキャプチャされる。複数のスキャンチェインの出力側には、ＭＩＳＲ４が接続されている。ＭＩＳＲ４は、キャプチャ動作後、複数のスキャンチェインからのアンロードデータを圧縮する。この圧縮結果は「シグネチャ（signature）」と呼ばれる。また、ＭＩＳＲ４が圧縮したシグネチャは、ＰＯＳＴ動作時には回路内の制御回路で、製造良品テスト時には外部テスタで期待値と比較され、故障の有無が判定される。
【００２３】
ＰＲＰＧ３、ＭＩＳＲ４には、ＬＢＩＳＴコントローラ５が接続されている。ＬＢＩＳＴコントローラ５、ＰＲＰＧ３、ＭＩＳＲ４には、それぞれクロック信号ｔｃｋが供給される。ＬＢＩＳＴコントローラ５は、ＰＲＰＧ３に初期値を供給する。ＰＲＰＧ３は、クロック信号ｔｃｋに同期して、ＬＢＩＳＴコントローラ５から供給される初期値に基づき、ロードデータを生成する。なお、ＰＲＰＧ３の初期値は、外部から供給されるテストデータ入力信号ｔｄｉにより任意に書き換えが可能である。
【００２４】
また、ＬＢＩＳＴコントローラ５は、ＭＩＳＲ４で圧縮された圧縮結果をテストデータ出力信号ｔｄｏとして外部テスタに出力する。任意の時間のテスト実行後に、外部テスタで圧縮結果を期待値と照合することにより、ＤＵＴの故障の有無が判定される。
【００２５】
半導体装置１には、乱数印加時に回路内の故障の検出確率が高くなるようにテストポイント回路の挿入が行われる。ここで、テストポイント回路とは、テスト対象回路中の信号線や端子の可制御性や可観測性を向上させることを目的として挿入される論理回路である。
【００２６】
「可制御性」とは、ＤＵＴの内部状態が外部端子からどの程度容易にコントロールできるかを表す尺度である。具体的には、「可制御性」は、ＤＵＴに含まれる任意の信号線又は端子の値を０又は１に設定するために論理値を設定しなければならない信号線数の最小値をいう。「可観測性」とは、ＤＵＴの内部状態がどの程度容易に外部端子で観測できるか表す尺度である。具体的には、信号を観測点に伝搬させるために、論理値を設定しなければならない信号線数の最小値をいう。
【００２７】
テスト対象回路にテストポイント回路を挿入することにより、ＬＢＩＳＴにおいて乱数印加時にＤＵＴ内の故障検出率を高くすることができる。ここで、可制御性を改善する目的で挿入されるテストポイント回路を、制御用テストポイント回路とする。制御用テストポイント回路は、ＤＵＴ中の信号線の値を０又は１に設定可能な制御点として機能する論理回路である。制御用テストポイント回路は、例えば、ＡＮＤゲート、ＯＲゲート等の組合せ回路や、外部入力端子、フリップフロップ等を含む。
【００２８】
また、可観測性を改善する目的で挿入されるテストポイント回路を観測用テストポイント回路とする。観測用テストポイント回路は、ＤＵＴの演算結果を観測できる観測点として機能する。観測用テストポイント回路は、外部出力端子やＳＦＦが該当する。なお、以下では、テストポイントをＴＰと略記する場合がある。また、テスタビリティ（可検査性、テスト容易性）の向上のためにＤＵＴの信号線にＴＰ回路を挿入することをＴＰＩ（Test Point Insertion）と略記する場合がある。
【００２９】
図２は、制御用ＴＰ回路の挿入について説明する図である。図２に示す例では、破線で示すように、制御用ＴＰ回路として、１の値の制御確率が低い信号線に対して、ＡＮＤゲート、ＯＲゲート、制御用ＦＦが挿入されている。制御用ＦＦからの値の伝搬で、ＡＮＤゲート及びＯＲゲートの挿入された部分を１に設定する確率を上げることができ、故障検出率を向上させることが可能となる。
【００３０】
図３は、観測用ＴＰ回路の挿入について説明する図である。図３に示す例では、破線で示すように、観測用ＴＰ回路として、終点ＦＦまで故障の伝搬確率が低い部分に観測用ＦＦが挿入される。観測用ＦＦをファンアウトで接続することで、故障を観測用ＦＦで観測することができ、故障検出率を向上させることが可能となる。
【００３１】
上述の通り、ＬＢＩＳＴにおいて、故障検出率を高くするためには大量のＴＰＩが必要となり、面積ＯＨが大きくなるという問題がある。本発明者らは、このような問題を鑑みて、挿入されるＴＰ数又はＬＢＩＳＴ実行時間を削減するため、ＬＢＩＳＴにおいて、クロックシーケンシャルテスト（マルチサイクルテスト）を適用することを考案した。
【００３２】
クロックシーケンシャルテストは、１回のキャプチャ動作期間に複数のキャプチャクロックが入力され、複数のキャプチャクロックでＤＵＴ２によるテスト信号の応答をキャプチャするスキャンテストである。ここで、図４、５を参照して、単一クロックによるスキャンテストと、複数クロックによるクロックシーケンシャルテストの動作波形について説明する。
【００３３】
図４、５において、スキャンシフト動作期間におけるテスト信号のシフトと、キャプチャ動作期間における演算結果の取り込みは、テストクロック（ｔｅｓｔ  ｃｌｏｃｋ）のクロックエッジに同期して行われる。なお、以下の説明において、キャプチャ動作期間におけるテストクロックを、「キャプチャクロック」と称する。
【００３４】
図４は、１回のキャプチャ動作期間に単一のクロックを印加する、単一縮退故障モデルに対するスキャンテストの動作波形例を示す図である。スキャンイネーブル信号がロウ（０）の時に、データ入力端子ＤＡＴＡから入力されるＤＵＴ２の演算結果がキャプチャされる。図４に示す例では、１回のキャプチャ動作期間に、１回のキャプチャクロックのみが入力される。
【００３５】
図５は、１回のキャプチャ動作期間に複数のクロックを印加する、クロックシーケンシャルテストの動作波形例を示す図である。図５に示す例では、１回のキャプチャ動作期間に、３回のキャプチャクロックが印加されている。図５において、図４と同様に、スキャンイネーブル信号がロウ（０）の時に、データ入力端子ＤＡＴＡから入力されるＤＵＴ２の演算結果がキャプチャされる。
【００３６】
このように、クロックシーケンシャルテストでは、１回のキャプチャ動作期間において、複数のキャプチャクロックでＤＵＴ２の演算結果をキャプチャすることができる。これにより、１回のキャプチャ動作期間に故障を活性化させる範囲を広げ、検出可能な故障数を増やすことができる。このため、目標故障検出率の達成に必要な挿入ＴＰ数の削減又はＬＢＩＳＴ実行時間の削減を図ることが可能となる。
【００３７】
図３において説明した観測用ＴＰ回路として用いられる観測用ＦＦは、図１において説明したＳＦＦと同じ構成を有しており、クロックシーケンシャルテストを想定していない。本発明者らは、クロックシーケンシャルテストの効果をより向上するために、クロックシーケンシャルテストを考慮したテストポイント回路を考案した。
【００３８】
実施の形態に係るテストポイント回路は、ＬＳＩのスキャンテストを実行することが可能なスキャンチェインを構成し、クロックシーケンシャルテストを行うものである。実施の形態に係るテストポイント回路は、テストポイント挿入による面積オーバーヘッドの増大を抑制し、テスト時間を短縮しつつ、故障検出率を高くすることが可能な論理構造を有する。具体的には、実施の形態に係るテストポイント回路は、クロックシーケンシャルテストの１回のキャプチャ動作期間において、第１キャプチャクロックで、前段のテストポイント回路又は最後段のテストポイント回路がキャプチャした第１演算結果を、第１キャプチャクロックの後の第２キャプチャクロックで取り込む。
【００３９】
実施の形態のテストポイント回路を用いた半導体装置は、例えば、国際規格ＩＳＯ２６２６２準拠のPower-on Self-Test（ＰＯＳＴ）を実装した製品に適用可能である。また、この半導体装置は、量産テスト工程における、ＬＢＩＳＴ適用時のテストコスト削減を図りたい製品や、ＬＢＩＳＴを実装する設計装置（ＥＤＡ（electronic design automation）ツール）等にも適用することが可能である。
【００４０】
実施の形態１．
実施の形態１に係るテストポイント回路を挿入した半導体装置について、図６を参照して説明する。図６は、実施の形態１に係る半導体装置１Ａの構成を示す図である。図６に示すように、半導体装置１Ａは、ＤＵＴ２、ＰＲＰＧ３、ＭＩＳＲ４、ＬＢＩＳＴコントローラ５、ＳＦＦ１０、観測用スキャンフリップフロップ（以下、観測用ＳＦＦとする）２０を備えている。図６においては、観測用ＳＦＦ２０はｏｂｓＳＦＦと示されている。なお、観測用ＳＦＦ２０以外の構成については、図１で説明したものと同一のため、詳細な説明は省略する。
【００４１】
半導体装置１Ａには、複数のスキャンチェインが構築されている。複数のスキャンチェインのうち少なくとも１つのスキャンチェインは、観測用ＳＦＦ２０のみで構成されている。図６に示す例では、１つのスキャンチェインが観測用ＳＦＦ２０のみで構成されており、残りのスキャンチェインはＳＦＦ１０で構成されている。ＳＦＦ１０で構成されたスキャンチェインは、観測用ＳＦＦ２０のみで構成されたスキャンチェインとは別に構成されている。
【００４２】
図６では、観測用ＳＦＦ２０により構成されたスキャンチェインを、スキャンチェイン６Ａと示している。スキャンチェイン６Ａでは、５つの観測用ＳＦＦ２０がシリアルに接続されている。また、他のスキャンチェインでは、それぞれ５つのＳＦＦ１０がシリアルに接続されている。
【００４３】
観測用ＳＦＦ２０は、可観測性を改善する目的で挿入される、クロックシーケンシャルテストの効率向上効果のある観測用テストポイント回路である。観測用ＳＦＦ２０は、スキャンインされるテスト信号に応じて演算結果を出力するＤＵＴ２中に挿入される。観測用ＳＦＦ２０は、ＸＯＲゲート２１、ＭＵＸ２２、ＦＦ２３、データ入力端子ＤＡＴＡ、スキャンイン端子ＳＩＮ、制御入力端子ＳＭＣ、クロック端子ＣＬＫ、データ出力端子Ｑ、を有している。すなわち、観測用ＳＦＦ２０は、ＳＦＦ１０と同様の入出力構成を有している。
【００４４】
観測用ＳＦＦ２０の出力が、後段の観測用ＳＦＦ２０のスキャンイン端子ＳＩＮに接続され、スキャンチェイン６Ａが構成される。観測用ＳＦＦ２０は、スキャンシフト動作とキャプチャ動作とを切り替え可能である。
【００４５】
観測用ＳＦＦ２０は、１回のキャプチャ動作期間において、複数のキャプチャクロックのそれぞれでＤＵＴ２からの演算結果を取り込む。例えば、１回のキャプチャ動作期間に印加される最初キャプチャクロックを第１キャプチャクロックとし、第１キャプチャクロックに続くキャプチャクロックを第２キャプチャクロックとする。また、第１キャプチャクロックで取り込まれるＤＵＴ２からの演算結果を第１演算結果とする。１回のキャプチャ動作期間における、１つのキャプチャクロックパルス動作を行う期間をキャプチャサイクルとする。
【００４６】
なお、第１キャプチャクロックは、１回のキャプチャ動作期間に最初に印加されるキャプチャクロックではなく、その後に印加されるものであってもよい。第２キャプチャクロックは、１回のキャプチャ動作期間において、第１キャプチャクロックの後に印加されるものであればよい。
【００４７】
データ入力端子ＤＡＴＡには、キャプチャ動作期間に、ＤＵＴ２からの演算結果が入力される。スキャンイン端子ＳＩＮには、スキャンシフト動作期間にテスト信号が入力され、キャプチャ動作期間にスキャンチェインの前段の観測用ＳＦＦ２０が第１キャプチャクロックでキャプチャした第１演算結果が入力される。
【００４８】
ＸＯＲゲート２１は、スキャンイン端子ＳＩＮから入力される信号と、データ入力端子ＤＡＴＡから入力される信号とを受信する。また、ＸＯＲゲート２１は、データ入力端子ＤＡＴＡから入力されたＤＵＴ２からの演算結果と、スキャンイン端子ＳＩＮから入力されたスキャンチェインの前段の観測用ＳＦＦ２０が第１キャプチャクロックでキャプチャした第１演算結果との排他論理和を出力する。
【００４９】
ＭＵＸ２２は、スキャンイン端子ＳＩＮから入力される信号と、ＸＯＲゲート２１から出力される信号とを受信する。ＭＵＸ２２は、制御入力端子ＳＭＣから入力されるスキャンイネーブル信号に応じて、スキャンシフト動作とキャプチャ動作とを切り替える。図６に示す例では、ＭＵＸ２２は、スキャンイネーブル信号がハイ（１）の時にスキャンシフト動作となり、スキャンイン端子ＳＩＮからの入力が有効となる。また、ＭＵＸ２２は、スキャンイネーブル信号がロウ（０）の時にキャプチャ動作となり、ＸＯＲゲート２１からの出力が有効となる。
【００５０】
ＦＦ２３は、クロック端子ＣＬＫから入力されるクロック信号（ｃｌｏｃｋ２）に応じて、ＭＵＸ２２から出力される値を取り込み、データ出力端子Ｑから後段の観測用ＳＦＦ２０のスキャンイン端子ＳＩＮに出力する。スキャンシフト動作期間には、ＦＦ２３は、テスト信号を取り込む。また、キャプチャ動作期間には、ＦＦ２３は、第１キャプチャクロックに続く第２キャプチャクロックで、ＭＵＸ２２が出力する排他論理和を取り込む。すなわち、スキャンチェイン６Ａの前段の観測用ＳＦＦ２０が第１キャプチャクロックでキャプチャした第１演算結果は、第１キャプチャクロックの後の第２キャプチャクロックで後段の観測用ＳＦＦ２０に伝搬される。
【００５１】
仮に、図６における観測用ＳＦＦ２０の代わりにＳＦＦ１０で構成した場合、クロックシーケンシャルテストにおいて、第１キャプチャクロックで観測用ＳＦＦ２０のデータ入力端子ＤＡＴＡまで到達した演算結果は、次の第２キャプチャクロックで伝搬先がなく消失してしまう。
【００５２】
これに対し、実施の形態１に係る半導体装置１Ａでは、１回のキャプチャ動作期間において第１キャプチャクロックで観測用ＳＦＦ２０に到達した演算結果は、次の第２キャプチャクロックでスキャンチェイン６Ａ上の後段の観測用ＳＦＦ２０にＸＯＲゲート２１を経由して伝搬される。このように、半導体装置１Ａでは、観測用ＳＦＦ２０に到達した演算結果を次のキャプチャサイクルで消失させることなく、スキャンチェイン６Ａの後段の観測用ＳＦＦ２０に蓄積できる確率を高くすることが可能となる。
【００５３】
また、観測用ＳＦＦ２０は、前段の観測用ＳＦＦ２０に到達した演算結果の蓄積とともに、各キャプチャサイクルで、観測用ＳＦＦ２０のデータ入力端子ＤＡＴＡからＸＯＲゲート２１を介してＤＵＴ２からの演算結果を取り込むことができる。このため、１回のキャプチャ動作期間に複数のキャプチャクロックを印加した時に、検出可能な故障数が多くなる。これにより、目標故障検出率を達成するのに必要な、挿入されるＴＰ数を少なくすることが可能となる。従って、面積オーバーヘッドの増大を抑制することができる。
【００５４】
また、図６の半導体装置１Ａにおいてクロックシーケンシャルテストを実行することで、１回のキャプチャ動作期間で多くの故障を検出できるようになり、結果としてテスト時間を削減することが可能となる。なお、スキャンテストでは、スキャンシフト動作時間がテスト時間の大半を占めるため、キャプチャ動作期間のキャプチャクロック数を増やしてもテスト時間への影響は殆どない。
【００５５】
ここで、図７を参照して、テスト時間の削減効果について説明する。図７は、テスト時間に対する故障検出率を示す図である。図７において、横軸はテスト時間を示しており、縦軸は故障検出率を示している。また、図７において、実線は実施の形態に係る観測用ＳＦＦ２０を用いた半導体装置１Ａの結果を示しており、破線は図６の観測用ＳＦＦ２０の代わりにＳＦＦ１０で構成した場合の半導体装置の結果を示している。
【００５６】
なお、図７に示す例では、１回のキャプチャ動作期間において１０回のキャプチャクロックを印加するクロックシーケンシャルテストを適用した。図７に示すように、ＳＦＦ１０を用いた場合と比較すると、観測用ＳＦＦ２０を用いることにより、目標故障検出率の到達に必要なテスト時間を半分以下に抑えることが可能となった。
【００５７】
以上説明したように、実施の形態によれば、特別なテスト回路の追加することなく、観測用ＳＦＦ２０によるスキャンチェインの構成により、低面積ＯＨでクロックシーケンシャルテストの効率向上を実現することができる。
【００５８】
なお、図６に示す半導体装置１ＡはＬＢＩＳＴを実行することが可能であり、ＰＲＰＧ３、ＭＩＳＲ４が実装されているが、この例に限定されるものではない。クロックシーケンシャルテストは、特にＬＢＩＳＴにおいて、挿入されるＴＰ数の削減又はＬＢＩＳＴ実行時間の削減という高い効果を発揮するが、圧縮スキャンにおいても一定の効果を有する。
【００５９】
圧縮スキャンは、テストデータ量を減らすテスト容易化設計（Design For Testability：ＤＦＴ）の一例である。圧縮スキャンでは、外部端子数よりも多くのスキャンチェインを内部に構築することで、スキャンチェイン１本辺りのＳＦＦの段数を削減する。そして、外部入力端子から供給した値を、伸張器を経由して内部のスキャンチェイン本数分に展開し、各スキャンＦＦにテストパターンを印加する。また、スキャンチェインからの出力を圧縮器で圧縮して外部出力端子で観測する。
【００６０】
圧縮スキャンでは、故障検出に必要なスキャンＦＦの設定値（ケアビット）を少ないシフトサイクル数で供給し、また、少ないシフトサイクル数で各スキャンＦＦの観測を行うことができる。このため、外部入出力端子１ビット辺りの故障検出数を増やし、テストデータ量を削減することが可能となる。実施の形態に係る観測用ＳＦＦ２０は、圧縮スキャンテストを実行可能な半導体装置にも適用することもできる。
【００６１】
圧縮スキャンを実行可能な半導体装置では、図６のＰＲＰＧ３、ＭＩＳＲ４の代わりに、外部から制御・観測可能な伸張器、圧縮器がそれぞれ接続される。圧縮スキャンを実行可能な半導体装置においても、図６に示す構成と同様の構成をとることにより、クロックシーケンシャルテストの効率を向上することができる。
【００６２】
なお、図６に示す例では、スキャンチェイン６Ａに供給されるクロック信号（ｃｌｏｃｋ２）と、他のスキャンチェインに供給されるクロック信号（ｃｌｏｃｋ１）とは異なっているが、同じであってもよい。すなわち、ＳＦＦ１０で構成されるスキャンチェインと、観測用ＳＦＦ２０で構成されるスキャンチェインとは、異なるクロックドメインであってもよく、同一のクロックドメインであってもよい。
【００６３】
図８に、観測用ＳＦＦ２０の他の例を示す。図８は、実施の形態１に係る他のテストポイント回路３０の構成を示す図である。観測用ＳＦＦ３０は、図６の半導体装置１Ａの観測用ＳＦＦ２０の代わりに用いられる。図８に示すように、観測用ＳＦＦ３０は、ＮＯＲゲート３１、ＸＯＲゲート３２、ＦＦ３３、データ入力端子ＤＡＴＡ、スキャンイン端子ＳＩＮ、制御入力端子ＳＭＣ、クロック端子ＣＬＫ、データ出力端子Ｑを有している。
【００６４】
図６のスキャンチェイン６Ａと同様に、複数の観測用ＳＦＦ３０が１つのスキャンチェインを構成する。また、半導体装置１Ａ中の複数のスキャンチェインのうち、少なくとも１つのスキャンチェインが観測用ＳＦＦ３０のみにより構成される。
【００６５】
観測用ＳＦＦ３０は、観測用ＳＦＦ２０と同様に、１回のキャプチャ動作期間において、複数のキャプチャクロックのそれぞれでＤＵＴ２からの演算結果を取り込む。データ入力端子ＤＡＴＡには、キャプチャ動作期間にＤＵＴ２からの演算結果が入力される。スキャンイン端子ＳＩＮには、スキャンシフト動作期間にテスト信号が入力され、キャプチャ動作期間にスキャンチェインの前段の観測用ＳＦＦ２０が第１キャプチャクロックでキャプチャした第１演算結果が入力される。
【００６６】
制御入力端子ＳＭＣには、スキャンシフト動作とキャプチャ動作とを切り替える制御信号であるスキャンイネーブル信号が入力される。ＮＯＲゲート３１は、キャプチャ動作期間において、制御入力端子ＳＭＣから入力されるスキャンイネーブル信号と、データ入力端子ＤＡＴＡから入力される信号とを受信して、否定論理和を出力する。ＸＯＲゲート３２は、スキャンイン端子ＳＩＮに入力された第１演算結果と、ＮＯＲゲート３１からの否定論理和とを受信し、排他論理和を出力する。
【００６７】
ＦＦ３３は、クロック端子ＣＬＫから入力されるクロック信号に応じて、ＸＯＲゲート３２から出力される値を取り込み、データ出力端子Ｑから後段の観測用ＳＦＦ２０のスキャンイン端子ＳＩＮに出力する。キャプチャ動作期間には、ＦＦ３３は、第１キャプチャクロックに続く第２キャプチャクロックで、ＸＯＲゲート３２が出力する排他論理和を取り込む。
【００６８】
スキャンシフト動作期間（スキャンイネーブル信号＝１）では、データ入力端子ＤＡＴＡの値は遮断され、スキャンイン端子ＳＩＮから入力されるテスト信号がＦＦ３３に取り込まれる。キャプチャ動作期間（スキャンイネーブル信号＝０）では、データ入力端子ＤＡＴＡの値は反転してスルーされる。ＸＯＲゲート３２には、データ入力端子ＤＡＴＡの値の反転値とスキャンイン端子ＳＩＮの値を受信する。ＦＦ３３は、クロック端子ＣＬＫに応じてＸＯＲゲート３２の出力値を取り込む。観測用ＳＦＦ３０のＦＦ３３は、取り込む値が反転する以外は、観測用ＳＦＦ２０のＦＦ２３と同等の機能を有する。
【００６９】
観測用ＳＦＦ３０を使用した場合、キャプチャ動作期間には、データ入力端子ＤＡＴＡから入力される値の反転値がＸＯＲゲート３２を経由してＦＦ３３に取り込まれる。観測用ＳＦＦ３０でデータ入力端子ＤＡＴＡの入力の反転値を取り込む場合でも、スキャンテスト動作、通常のユーザ動作への影響はない。
【００７０】
クロックシーケンシャルテストでは、スキャンチェイン６Ａの前段の観測用ＳＦＦ２０が第１キャプチャクロックでキャプチャした第１演算結果は、第１キャプチャクロックの後の第２キャプチャクロックで後段の観測用ＳＦＦ２０に伝搬される。これにより、低面積ＯＨでクロックシーケンシャルテストの効率向上を実現することができる。また、観測用ＳＦＦ３０の構成は、観測用ＳＦＦ２０の構成と比較すると、回路面積、遅延が小さい。このため、観測用テストポイント回路として観測用ＳＦＦ３０を用いることで、面積ＯＨをさらに抑制することができるとともに、動作速度低下を抑えることが可能となる。
【００７１】
実施の形態２．
実施の形態２に係るテストポイント回路を挿入した半導体装置について、図９を参照して説明する。図９は、実施の形態２に係る半導体装置１Ｂの構成を示す図である。図９に示すように、半導体装置１Ｂは、ＤＵＴ２、ＰＲＰＧ３、ＭＩＳＲ４、ＬＢＩＳＴコントローラ５、ＳＦＦ１０、観測用ＳＦＦ３０、観測用ＳＦＦ４０を備えている。観測用ＳＦＦ３０、観測用ＳＦＦ４０は、可観測性を改善する目的で挿入される、クロックシーケンシャルテストの効率向上効果のある観測用テストポイント回路である。図９においては、観測用ＳＦＦ３０はｏｂｓＳＦＦと示され、観測用ＳＦＦ４０はｏｂｓＳＦＦ２と示されている。
【００７２】
半導体装置１Ｂにおいて、複数のスキャンチェインのうち少なくとも１つのスキャンチェインは、観測用ＳＦＦ３０と観測用ＳＦＦ４０とにより構成されている。図６に示す例では、１つのスキャンチェインが観測用ＳＦＦ３０と観測用ＳＦＦ４０とにより構成されており、残りのスキャンチェインはＳＦＦ１０で構成されている。図９では、観測用ＳＦＦ３０と観測用ＳＦＦ４０とにより構成されたスキャンチェインを、スキャンチェイン６Ｂと示している。
【００７３】
スキャンチェイン６Ｂでは、最前段に観測用ＳＦＦ４０が接続されており、観測用ＳＦＦ４０の後段に４つの観測用ＳＦＦ３０がシリアルに接続されている。観測用ＳＦＦ３０としては、図８に示した構成のものが用いられる。なお、図９に示す例では観測用ＳＦＦ３０が用いられているが、観測用ＳＦＦ３０の代わりに図６に示した観測用ＳＦＦ２０を用いてもよい。すなわち、スキャンチェイン６Ｂにおいて、観測用ＳＦＦ４０と、４つの観測用ＳＦＦ２０がシリアルに接続されていてもよい。なお、観測用ＳＦＦ３０、観測用ＳＦＦ４０以外の構成については、図６で説明したものと同一のため、詳細な説明は省略する。
【００７４】
観測用ＳＦＦ４０の出力は、観測用ＳＦＦ３０のスキャンイン端子ＳＩＮに接続されている。また、観測用ＳＦＦ３０の出力は、後段の観測用ＳＦＦ３０のスキャンイン端子ＳＩＮ端子にそれぞれ接続され、スキャンチェイン６Ｂが構成される。最後段の観測用ＳＦＦ３０の出力は、観測用ＳＦＦ４０のデータ入力端子ＤＡＴＡ２に接続される。観測用ＳＦＦ４０、観測用ＳＦＦ３０は、いずれもスキャンシフト動作とキャプチャ動作とを切り替え可能である。観測用ＳＦＦ４０は、観測用ＳＦＦ３０と同様に、１回のキャプチャ動作期間において、複数のキャプチャクロックのそれぞれでＤＵＴ２からの演算結果を取り込むことが可能である。
【００７５】
実施の形態２に係る半導体装置１Ｂでは、クロックシーケンシャルテストにおいて、最後段の観測用ＳＦＦ３０に伝搬された故障を、スキャンチェイン６Ｂ上で保持可能である。図９に示すように、観測用ＳＦＦ４０は、ＸＯＲゲート４１、ＭＵＸ４２、ＦＦ４３、データ入力端子ＤＡＴＡ、データ入力端子ＤＡＴＡ２、スキャンイン端子ＳＩＮ、制御入力端子ＳＭＣ、クロック端子ＣＬＫ、データ出力端子Ｑを有している。
【００７６】
スキャンイン端子ＳＩＮには、スキャンシフト動作期間にテスト信号が入力される。データ入力端子ＤＡＴＡには、キャプチャ動作期間に、ＤＵＴ２からの演算結果が入力される。また、データ入力端子ＤＡＴＡ２には、キャプチャ動作期間に、最後段の観測用ＳＦＦ３０が第１キャプチャクロックでキャプチャした第１演算結果が入力される。すなわち、観測用ＳＦＦ４０は、２系統のデータ入力端子を有している。
【００７７】
ＸＯＲゲート４１は、データ入力端子ＤＡＴＡから入力される信号と、データ入力端子ＤＡＴＡ２から入力される信号とを受信する。ＸＯＲゲート４１は、データ入力端子ＤＡＴＡから入力されたＤＵＴ２からの演算結果と、データ入力端子ＤＡＴＡ２から入力されたスキャンチェインの最後段の観測用ＳＦＦ３０が第１キャプチャクロックでキャプチャした第１演算結果との排他論理和を出力する。
【００７８】
ＭＵＸ４２は、スキャンイン端子ＳＩＮから入力される信号と、ＸＯＲゲート４１から出力される信号とを受信する。ＭＵＸ４２は、制御入力端子ＳＭＣから入力されるスキャンイネーブル信号に応じて、スキャンシフト動作とキャプチャ動作とを切り替える。図９に示す例では、ＭＵＸ４２は、スキャンイネーブル信号がハイ（１）の時にスキャンシフト動作となり、スキャンイン端子ＳＩＮからの入力が有効となる。また、ＭＵＸ４２は、スキャンイネーブル信号がロウ（０）の時にキャプチャ動作となり、ＸＯＲゲート４１からの出力が有効となる。
【００７９】
ＦＦ４３は、クロック端子ＣＬＫから入力されるクロック信号（ｃｌｏｃｋ２）に応じて、ＭＵＸ４２から出力される値を取り込み、データ出力端子Ｑから後段の観測用ＳＦＦ３０のスキャンイン端子ＳＩＮに出力する。
【００８０】
スキャンシフト動作期間（スキャンイネーブル信号＝１）には、ＦＦ４３は、スキャンイン端子ＳＩＮから入力されるテスト信号を取り込む。また、キャプチャ動作期間（スキャンイネーブル信号＝０）には、ＦＦ４３は、第１キャプチャクロックに続く第２キャプチャクロックで、２個のデータ入力端子（ＤＡＴＡ、ＤＡＴＡ２）の排他論理和を取り込む。すなわち、スキャンチェイン６Ｂの最後段の観測用ＳＦＦ３０が第１キャプチャクロックでキャプチャした第１演算結果は、第１キャプチャクロックの後の第２キャプチャクロックで最前段の観測用ＳＦＦ２０に伝搬される。
【００８１】
このように、実施の形態２に係る半導体装置１Ｂでは、クロックシーケンシャルテストにおいて１回のキャプチャ動作期間に複数のキャプチャクロックを印加した場合でも、あるキャプチャクロックでスキャンチェイン６Ｂの最後段の観測用ＳＦＦ３０に取り込まれた故障が、次のキャプチャクロックで最前段の観測用ＳＦＦ４０へ伝搬され、消失しない。
【００８２】
回路構成の都合上、クロックシーケンシャルテストにおいて、キャプチャ動作期間にＭＩＳＲ４を使用できない場合や圧縮器を経由して外部テスタで観測できない場合がある。このような場合、最後段の観測用ＳＦＦ３０に取り込まれた演算結果は、次のキャプチャクロック出力時に伝搬先がなく消失してしまう。
【００８３】
実施の形態２のように、図９に示す回路構成を用いると、最後段の観測用ＳＦＦ３０に取り込まれた演算結果は、次キャプチャサイクルのキャプチャクロックで最前段の観測用ＳＦＦ４０へと伝搬でき、消失を防ぐことができる。
【００８４】
なお、スキャンチェイン６Ｂにおいて、観測用ＳＦＦ４０の後段に接続される各観測用ＳＦＦ３０は、実施の形態１で説明したように、前段の観測用ＳＦＦ４０又は観測用ＳＦＦ３０が第１キャプチャクロックでキャプチャした第１演算結果を第２キャプチャクロックで取り込む。これにより、クロックシーケンシャルテストの１回のキャプチャ動作で検出可能な故障数を、実施の形態１と比較して増加することが可能となる。結果として、目標故障検出率の達成に必要な挿入されるＴＰ数の削減又はＬＢＩＳＴ実行時間の削減を図ることが可能となる。
【００８５】
実施の形態３．
実施の形態３に係るテストポイント回路を挿入した半導体装置について、図１０を参照して説明する。図１０は、実施の形態３に係る半導体装置１Ｃの構成を示す図である。図１０に示すように、半導体装置１Ｃは、ＤＵＴ２、ＰＲＰＧ３、ＭＩＳＲ４Ｃ、ＬＢＩＳＴコントローラ５、ＳＦＦ１０、観測用ＳＦＦ３０を備えている。半導体装置１Ｃでは、クロックシーケンシャルテストにおいて、最後段の観測用ＳＦＦ３０に伝搬された故障を、ＭＩＳＲ４Ｃで保持可能である。
【００８６】
半導体装置１Ｃにおいて、複数のスキャンチェインのうち少なくとも１つのスキャンチェインは、観測用ＳＦＦ３０のみで構成されている。図６に示す例では、１つのスキャンチェインが観測用ＳＦＦ３０のみで構成されており、残りのスキャンチェインはＳＦＦ１０で構成されている。図１０では、観測用ＳＦＦ３０のみで構成されたスキャンチェインを、スキャンチェイン６Ｃと示している。
【００８７】
スキャンチェイン６Ｃでは、５つの観測用ＳＦＦ３０がシリアルに接続されている。観測用ＳＦＦ３０としては、図８に示した構成のものが用いられる。なお、図９に示す例では観測用ＳＦＦ３０が用いられているが、観測用ＳＦＦ３０の代わりに図６に示した観測用ＳＦＦ２０を用いてもよい。
【００８８】
キャプチャ動作期間（スキャンイネーブル信号＝０）には、スキャンチェイン６Ｃの最後段の観測用ＳＦＦ３０が第１キャプチャクロックでキャプチャした第１演算結果は、第１キャプチャクロックの後の第２キャプチャクロックでＭＩＳＲ４Ｃに伝搬される。なお、図１０に示す例では、ＭＩＳＲ４には、クロック信号（ｃｌｏｃｋ２）が入力されている。ＭＩＳＲ４Ｃは、クロック信号（ｃｌｏｃｋ２）に同期して、最後段の観測用ＳＦＦ３０から出力される値を取り込む。
【００８９】
ＭＩＳＲ４Ｃは、キャプチャ動作後の複数のスキャンチェインからのアンロードデータを圧縮してシグネチャを生成するとともに、キャプチャ動作期間中に最後段の観測用ＳＦＦ３０の値を取り込んで圧縮動作を行うことができる。すなわち、ＭＩＳＲ４Ｃは、シフト期間中だけでなく、クロックシーケンシャルテストでの複数キャプチャクロック印加時にも、キャプチャサイクル毎に最終段の観測用ＳＦＦ３０の出力値を取り込むことが可能である。
【００９０】
このように、各キャプチャサイクルで、最後段の観測用ＳＦＦ３０に到達した故障伝搬をＭＩＳＲ４Ｃで取り込むことができ、故障を消失させることなく観測できる。これにより、クロックシーケンシャルテストの１つのキャプチャ動作期間中に検出可能な故障数を増加させることができ、目標故障検出率の達成に必要な挿入ＴＰ数の削減又はＬＢＩＳＴ実行時間の削減を図ることが可能となる。
【００９１】
実施の形態４．
実施の形態４に係るテストポイント回路について、図１１を参照して説明する。図１１は、実施の形態４に係る観測用ＳＦＦ５０の構成を示す図である。図１１に示すように、観測用ＳＦＦ５０は、ＸＯＲゲート５１、ＭＵＸ５２、ＦＦ５３、データ入力端子ＤＡＴＡ、スキャンイン端子ＳＩＮ、制御入力端子ＳＭＣ、クロック端子ＣＬＫ、データ出力端子Ｑを有している。
【００９２】
観測用ＳＦＦ５０は、可観測性を改善する目的で挿入される、クロックシーケンシャルテストの効率向上効果のある観測用テストポイント回路である。観測用ＳＦＦ５０は、ＸＯＲゲート５１の自己ループ構造を有するＳＦＦセルである。観測用ＳＦＦ５０は、クロックシーケンシャルテストにおいて複数のキャプチャクロックを印加するときに、データ入力端子ＤＡＴＡに到達した故障を自己のＦＦ５３内で保持する機能を有する。
【００９３】
ＸＯＲゲート５１は、データ入力端子ＤＡＴＡから入力されるＤＵＴ２の演算結果と、ＦＦ５３から出力される値を受信する。ＸＯＲゲート５１の排他論理和は、ＭＵＸ５２に入力される。また、ＭＵＸ５２には、スキャンイン端子ＳＩＮから入力されるテスト信号が入力される。ＭＵＸ５２は、制御入力端子ＳＭＣから入力されるスキャンイネーブル信号に応じて、排他論理和とテスト信号のいずれか一方をＦＦ５３に出力する。
【００９４】
スキャンシフト動作期間（スキャンイネーブル信号＝１）では、データ入力端子ＤＡＴＡの値は遮断され、スキャンイン端子ＳＩＮから入力されるテスト信号がＦＦ５３に取り込まれる。キャプチャ動作期間（スキャンイネーブル信号＝０）では、データ入力端子ＤＡＴＡの値と、ＦＦ５３から出力される値の排他論理和がＦＦ５３に取り込まれる。
【００９５】
ＦＦ５３は、１回のキャプチャ動作期間において、第１キャプチャクロックでデータ入力端子ＤＡＴＡから入力される第１演算結果を取り込む。そして、第１キャプチャクロックに続く第２キャプチャクロックで、ＦＦ５３は、データ入力端子ＤＡＴＡから入力される値と第１演算結果との排他論理和を取り込む。
【００９６】
このように、あるキャプチャサイクルで観測用ＳＦＦ５０のＦＦ５３に取り込まれた故障が、次のキャプチャサイクルで自己ループのＸＯＲゲート５１を経由して再度ＦＦ５３に取り込まれ、消失せずに残る可能性がある。これにより、クロックシーケンシャルテストの１つのキャプチャ動作期間中に検出可能な故障数を増加させることができる。上述の実施の形態では、観測用テストポイント回路のみで構成したスキャンチェインを構築する必要があるが、観測用ＳＦＦ５０では、スキャンチェインの構成に依存せず、クロックシーケンシャルテストの効率を向上させることが可能となる。
【００９７】
実施の形態に係る設計装置１００について、図１２〜１４を参照して説明する。図１２は、実施の形態に係る半導体装置を設計する設計装置の構成を示す図である。図１３、１４は、実施の形態に係る半導体装置の設計フローを示す図である。設計装置１００は、上述したクロックシーケンシャルテストの効率の高い半導体装置を設計するものである。
【００９８】
設計装置１００は、演算処理装置１１０、記憶装置１２０、制御入力装置１３０、表示出力装置１３１を有する。演算処理装置１１０は、半導体装置の設計に必要なプログラムをロードして設計に必要な各機能プロセスを実行可能な装置であり、ＣＰＵやメモリ等を含む。演算処理装置１１０は、テストポイント挿入プログラム１１１、スキャン化プログラム１１２を有している。
【００９９】
記憶装置１２０は、ネットリスト１２１、機能ライブラリ１２２、テスト制約ＤＢ１２３、テストポイント挿入済ネットリスト１２４、テストポイント挿入情報ＤＢ１２５、スキャン化ネットリスト１２６を有している。記憶装置１２０は、ライブラリやネットリストの情報を保存するＨＤＤディスクやメモリなどの記憶媒体を指す。設計装置１００は、演算処理装置１１０のプログラムを使用し、記憶装置１２０のネットリストやライブラリを参照して、実施の形態１〜３で説明した観測用テストポイント回路を挿入した半導体装置を生成する。
【０１００】
制御入力装置１３０は、ユーザが演算処理装置１１０及び記憶装置１２０を操作するための装置の総称で、キーボードやマウス等が挙げられる。表示出力装置１３１は、ユーザが演算処理装置１１０及び記憶装置１２０の動作を確認するためのもので、ディスプレイ等が挙げられる。
【０１０１】
ネットリスト１２１には、上述した観測用テストポイント回路のセル情報の他、ＡＮＤゲート、ＯＲゲート、ＸＯＲゲート等のセル情報、端子間の接続情報等が記憶されている。機能ライブラリには、セルの機能等が記憶されている。テスト制約ＤＢ１２３には、テスト時の回路動作に必要な情報が格納されている。テスト制約ＤＢ１２３に格納される情報には、例えば、外部出力端子を０に固定する等の情報が含まれる。
【０１０２】
演算処理装置１１０は、ネットリスト１２１、機能ライブラリ１２２、テスト制約ＤＢ１２３を参照して、テストポイント挿入プログラム１１１を実行することにより、観測用テストポイント回路が挿入されたテストポイント挿入済ネットリスト１２４を生成する。テストポイント挿入プログラム１１１は、一般的なテストポイント挿入の機能に加えて、観測用テストポイント回路として、観測用ＳＦＦ２０、観測用ＳＦＦ３０又は観測用ＳＦＦ４０を挿入する機能を有する。
【０１０３】
また、演算処理装置１１０は、機能ライブラリ１２２、テスト制約ＤＢ１２３、テストポイント挿入済ネットリスト１２４、テストポイント挿入情報ＤＢ１２５を参照して、スキャン化プログラム１１２を実行することにより、クロックシーケンシャルテストの効率の高い半導体装置を生成する。テストポイント挿入情報ＤＢ１２５には、挿入されたテストポイント回路の接続情報等を含むテストポイント挿入情報が記憶されている。
【０１０４】
スキャン化プログラム１１２は、一般的なスキャンチェインの構築機能に加えて、挿入された観測用ＳＦＦのみで少なくとも１本のスキャンチェインを構築する機能を有する。スキャン化プログラム１１２は、テストポイント回路挿入後のネットリストを用いて、テストポイント挿入情報に基づき、観測用ＳＦＦのみで少なくとも１本のスキャンチェインを構築する。なお、テストポイント挿入情報は、テストポイント挿入プログラム１１１から出力するか、又は、テストポイント挿入済ネットリストのインスタンスのセル名から生成することができる。
【０１０５】
また、スキャン化プログラム１１２は、各スキャンチェインの最前段のＳＦＦ又はｏｂｓＳＦＦをＰＲＰＧ３に接続する処理、各スキャンチェインの最後段のＳＦＦ又はｏｂｓＳＦＦをＭＩＳＲ４に接続する処理を実行することも可能である。演算処理装置１１０は、スキャン化プログラム１１２を実行することにより、クロックシーケンシャルテストの効率を改善した、ＬＢＩＳＴが実行可能な可能な半導体装置のスキャン化ネットリスト１２６を生成することができる。
【０１０６】
ここで、図１３、１４を参照して、半導体装置の設計フローについて説明する。まず、図１３を参照して、テストポイント挿入済ネットリストの生成処理について説明する。図１３は、テストポイント挿入済ネットリストの生成アルゴリズムの一例を示す図である。
【０１０７】
図１３に示すように、まずネットリスト１２１、機能ライブラリ１２２、テスト制約ＤＢ１２３に所定の情報が入力される（ステップＳ１１）。その後、入力された情報を解析することにより、回路情報、テスト制約情報が識別される（ステップＳ１２）。ここでは、回路内のＳＦＦや、シフトレジスタ構造を有するユーザＦＦ、テスト制約情報等が取得される。テスト制約情報には、挿入されるテストポイント回路の目標数（目標挿入数）が定義される。
【０１０８】
そして、識別したＳＦＦの情報に基づき、一般的なＴＰＩアルゴリズムにおける乱数ベースでの論理回路の可制御性及び可観測性解析が行われる（ステップＳ１３）。そして、ステップＳ１３の解析結果に基づき、制御用テストポイント回路／観測用テストポイント回路の挿入箇所が選定される（ステップＳ１４）。
【０１０９】
その後、挿入箇所が、テスト制約情報として定義した目標挿入数に到達するまでテストポイント回路の挿入箇所の選定が実行される（ステップＳ１５）。挿入数の閾値に到達していない場合は（ステップＳ１５ＮＯ）、Ｓ１３からＳ１５の処理が繰り返される。挿入箇所が目標挿入数に到達した場合（ステップＳ１５ＹＥＳ）、選定された挿入箇所に観測用ＳＦＦが挿入される。なお、観測点には、観測用ＳＦＦ２０、観測用ＳＦＦ３０又は観測用ＳＦＦ４０が挿入される（ステップＳ１６）。その後、テストポイント挿入済ネットリストが出力され（ステップＳ１７）、テストポイント挿入済ネットリストの生成処理が終了する。
【０１１０】
次に、図１４を参照して、スキャン化ネットリストの生成処理について説明する。図１４は、スキャン化ネットリストの生成アルゴリズムの一例を示す図である。図１４に示すように、まず、ネットリスト１２１、機能ライブラリ１２２、テスト制約ＤＢ１２３、テストポイント挿入情報ＤＢ１２５に所定の情報が入力される（ステップＳ２１）。その後、入力された情報を解析することにより、回路情報、テスト制約情報が識別される（ステップＳ２２）。そして、識別された回路情報から、回路内のＳＦＦやクロックシーケンシャルテストに対応した観測用ＳＦＦが識別される（ステップＳ２３）。
【０１１１】
その後、識別された観測用ＳＦＦで、少なくとも１つのスキャンチェインが構築される（ステップＳ２４）。演算処理装置１１０は、観測用ＳＦＦからなるスキャンチェインにおいて、実施の形態１のように観測用ＳＦＦ２０又は観測用ＳＦＦ３０のみをシリアルに接続する処理を実行する。又は、演算処理装置１１０は、実施の形態２のように観測用ＳＦＦ４０を最前段に接続し、その後段に観測用ＳＦＦ２０又は観測用ＳＦＦ３０を接続する。この場合、最後段の観測用ＳＦＦの出力は、最前段の観測用ＳＦＦ４０のデータ入力端子ＤＡＴＡ２に接続される。このように、観測用ＳＦＦによりスキャンチェインを構成することで、クロックシーケンシャルテストの１つのキャプチャ動作期間中に検出可能な故障数を増加させることができる。
【０１１２】
そして、観測用ＳＦＦからなるスキャンチェインとは別に、ＳＦＦでスキャンチェインが構築される（ステップＳ２５）。これにより、スキャン化ネットリストが出力され（ステップＳ２６）、スキャン化ネットリストの生成処理が終了する。このようにして生成されたスキャン化ネットリストを用いることにより、クロックシーケンシャルテストの１つのキャプチャ動作期間中に検出可能な故障数を増加させる、目標故障検出率の達成に必要な挿入ＴＰ数の削減又はテスト実行時間の削減を図ることが可能な回路を設計することが可能となる。
【０１１３】
なお、図１４のスキャンチェインの構築以降の工程として、演算処理装置１１０は、一般的な圧縮回路付加プログラムを実行することにより、ＬＢＩＳＴを実行するための、ＰＲＰＧ３、ＭＩＳＲ４、ＬＢＩＳＴコントローラ５等のＬＢＩＳＴ回路の付加を行う。なお、実施の形態３の半導体装置を設計する場合は、スキャンチェインの最後段の観測用ＳＦＦの出力側に、クロックシーケンシャルテストの１回のキャプチャ動作期間に観測用ＳＦＦからの出力を取り込むことが可能なＭＩＳＲ４を挿入する。これにより、ＭＩＳＲ４は、１回のキャプチャ動作において、第１キャプチャクロックでスキャンチェインの最後段に設けられた観測用ＳＦＦがキャプチャした演算結果を、次の第２キャプチャクロックで取り込むことができる。なお、圧縮スキャンテストを行う場合は、演算処理装置１１０は、圧縮スキャンを実行するための伸張器、圧縮器等の付加を行う。
【０１１４】
そして、演算処理装置１１０は、圧縮回路付加プログラムにより生成された回路に対して、一般的なテストパターン生成プログラムを実行することで、クロックシーケンシャルテストを実行するためのテストパターンを生成する。これにより、図７に示すように、短いテスト時間で目標検出率を達成することが可能となる。
【０１１５】
なお、図１２に示した設計装置１００を用いて、観測用ＳＦＦ５０を用いたクロックシーケンシャルテスト効率の高い論理回路を設計することも可能である。設計装置１００は、テストポイント挿入プログラム１１１を実行して、観測点に観測用ＳＦＦ５０を挿入する。そして、設計装置１００は、観測用ＳＦＦ５０によるスキャンチェインの構築は行わず、ＳＦＦ１０によるスキャンチェインを構築する。すなわち、図１４におけるステップＳ２４の処理を行わず、ステップＳ２５の処理が実行される。このように、観測用ＳＦＦ５０を用いることで、観測用ＳＦＦ５０のみからなるスキャンチェインを構築するためのプログラムの機能を有する必要がない。
【０１１６】
また、上述したプログラムは、様々なタイプの非一時的なコンピュータ可読媒体（ｎｏｎ−ｔｒａｎｓｉｔｏｒｙ  ｃｏｍｐｕｔｅｒ  ｒｅａｄａｂｌｅ  ｍｅｄｉｕｍ）を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体（ｔａｎｇｉｂｌｅ  ｓｔｏｒａｇｅ  ｍｅｄｉｕｍ）を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体（例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ）、光磁気記録媒体（例えば光磁気ディスク）、ＣＤ−ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）ＣＤ−Ｒ、ＣＤ−Ｒ／Ｗ、半導体メモリ（例えば、マスクＲＯＭ、ＰＲＯＭ（Ｐｒｏｇｒａｍｍａｂｌｅ  ＲＯＭ）、ＥＰＲＯＭ（Ｅｒａｓａｂｌｅ  ＰＲＯＭ）、フラッシュＲＯＭ、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ））を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体（ｔｒａｎｓｉｔｏｒｙ  ｃｏｍｐｕｔｅｒ  ｒｅａｄａｂｌｅ  ｍｅｄｉｕｍ）によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【０１１７】
以上説明したように、実施の形態によれば、クロックシーケンシャルテストの１回のキャプチャ動作期間に、スキャン入力とデータ入力のＸＯＲ出力をフリップフロップに入力する構造を持つことにより、データ入力とスキャン入力に到達した故障伝搬を取り込むことができる。これにより、クロックシーケンシャルテストにおいて複数キャプチャクロックを印加した時に、各キャプチャサイクルでフリップフロップに到達した故障伝搬を消失させることなく、保持・圧縮できる。これにより、目標故障検出率に到達するためのテスト時間を削減することが可能である。
【０１１８】
なお、実施の形態にかかるテストポイント回路は、下記のように表現することもできる。以下に記載のテストポイント回路は、図１１に対応する。
【０１１９】
（付記１）
スキャンインされるテスト信号に応じて演算結果を出力する組合せ回路中に挿入されるテストポイント回路であって、
クロックシーケンシャルテストの１回のキャプチャ動作期間において、第１キャプチャクロックで、前記組合せ回路からの第１演算結果を取り込むフリップフロップと、
前記第１演算結果と前記組合せ回路からの第２演算結果との排他論理和を前記フリップフロップに出力するＸＯＲゲートと、
を含み、
前記フリップフロップは、前記第１キャプチャクロックに続く前記第２のキャプチャクロックで、前記排他論理和を取り込む、
テストポイント回路。
【０１２０】
（付記２）
予め設定されたプログラムに従って所定の処理を実行可能な演算処理装置を備える半導体装置の設計装置であって、
前記半導体装置は、
スキャンチェインを構成するスキャンフリップフロップと、
付記１に記載のテストポイント回路と、
を含み、
前記演算処理装置は、
前記組合せ回路からの演算結果が所定の論理状態になる確率を解析する解析処理を実行し、
前記解析処理の結果に基づき、前記テストポイント回路の挿入位置を選定し、
選定された前記挿入位置に前記テストポイント回路を挿入し、
前記スキャンフリップフロップによるスキャンチェインを構築する際に、前記テストポイント回路によるスキャンチェインの構築を実行しない、
設計装置。
【０１２１】
上述の実施の形態では、ＬＢＩＳＴを実行可能な半導体装置において、故障検出率を高くするためにテストポイント回路の挿入（ＴＰＩ）を行い、クロックシーケンシャルテスト（マルチサイクルテスト）を行う例について説明した。
【０１２２】
以下の実施の形態では、ＬＢＩＳＴを実行可能な半導体装置において、テストポイント回路の挿入を行わず、テスト実行時間を削減するためクロックシーケンシャルテストを行う例について説明する。
【０１２３】
上述したように、クロックシーケンシャルテストは、１回のキャプチャ動作期間に複数回のキャプチャクロックで組み合わせ回路からの演算結果をキャプチャするマルチサイクルテストである。クロックシーケンシャルテストは、テストポイント回路を挿入しない場合でも、ＬＢＩＳＴ実行時間の削減に有効である。
【０１２４】
なお、以下の実施の形態においても、ＬＢＩＳＴを実行可能な半導体装置の概略構成は、図１に示した半導体装置の構成と同一であるため、詳細な説明は省略する。また、複数クロックによるクロックシーケンシャルテストの動作波形例は、図５に説明した通りである。
【０１２５】
図１において用いられているＳＦＦ１０は、クロックシーケンシャルテストを想定していない。本発明者らは、クロックシーケンシャルテストの効果をより向上するために、図１のＳＦＦ１０の代わりに用いられる、クロックシーケンシャルテストを考慮したシーケンシャルテスト用スキャンフリップフロップ（以下、ｓｅｑＳＦＦとする）を考案した。
【０１２６】
実施の形態に係るシーケンシャルテスト用スキャンフリップフロップは、ＬＳＩのスキャンテストを実行することが可能なスキャンチェインを構成し、クロックシーケンシャルテストを行うものである。実施の形態に係るｓｅｑＳＦＦは、テスト実行時間を削減するとともに、故障検出率を高くすることが可能な論理構造を有する。
【０１２７】
具体的には、実施の形態に係るｓｅｑＳＦＦは、テストイネーブル信号が入力されるテストイネーブル入力端子を備える。ｓｅｑＳＦＦは、テストイネーブル信号に応じて、クロックシーケンシャルテストの１回のキャプチャ動作期間において、第１キャプチャクロックの後の第２キャプチャクロックで、スキャンチェインにおける当該シーケンシャルテスト用スキャンフリップフロップの前段又は前記スキャンチェインの最後段の第１セルが前記第１キャプチャクロックでキャプチャした組み合わせ回路からの第１演算結果を取り込む。
【０１２８】
実施の形態のｓｅｑＳＦＦを用いた半導体装置は、例えば、ＰＯＳＴを実装した製品に適用可能である。また、この半導体装置は、量産テスト工程における、ＬＢＩＳＴ適用時のテストコスト削減を図りたい製品や、ＬＢＩＳＴを実装する設計装置（ＥＤＡツール）等にも適用することが可能である。
【０１２９】
実施の形態５．
図１５、１６を参照して、クロックシーケンシャルテストを実行する半導体装置において用いられる、シーケンシャルテスト用スキャンフリップフロップ（ｓｅｑＳＦＦ）について説明する。図１５は、実施の形態５に係るｓｅｑＳＦＦを挿入した半導体装置の構成を示す図である。図１５の半導体装置１Ｄは、クロックシーケンシャルテストの複数クロック印加時にＳＦＦ１０に到達した故障伝搬を、次のキャプチャサイクルでも消失させることなく保持することが可能な最小の構成を有している。図１５では、ｓｅｑＳＦＦ６０を説明するための、半導体装置１Ｄの最小の構成のみを図示している。
【０１３０】
図１５に示すように、半導体装置１Ｄは、ＤＵＴ２、ＳＦＦ１０、ｓｅｑＳＦＦ６０を備える。ＳＦＦ１０の後段にはｓｅｑＳＦＦ６０がシリアルに接続され、１つのスキャンチェインが構築される。なお、ＤＵＴ２、ＳＦＦ１０は、図１において説明した構成と同一であるため説明を省略する。
【０１３１】
図１６は、実施の形態５に係るｓｅｑＳＦＦ６０の構成を示す図である。図１６に示すように、ｓｅｑＳＦＦ６０は、ＮＯＲゲート６１、ＮＡＮＤゲート６２、ＸＯＲゲート６３、ＦＦ６４、データ入力端子ＤＡＴＡ、制御入力端子ＳＭＣ、スキャンイン端子ＳＩＮ、テストイネーブル入力端子ＳＥＱ＿ＴＥＳＴ＿ＥＮ、クロック端子ＣＬＫ、データ出力端子Ｑを有している。ｓｅｑＳＦＦ６０の入出力構成は、テストイネーブル入力端子ＳＥＱ＿ＴＥＳＴ＿ＥＮ以外、ＳＦＦ１０と同一の入出力構成である。すなわち、ｓｅｑＳＦＦ６０は、ＳＦＦ１０の入出力構成に加えて、テストイネーブル入力端子ＳＥＱ＿ＴＥＳＴ＿ＥＮを有している。
【０１３２】
ＳＦＦ１０の出力が、ｓｅｑＳＦＦ６０のスキャンイン端子ＳＩＮに接続される。ｓｅｑＳＦＦ６０は、通常のユーザ動作とスキャンテスト動作を切り替え可能である。ｓｅｑＳＦＦ６０は、さらに、スキャンテスト動作期間において、スキャンシフト動作とキャプチャ動作とを切り替え可能である。ｓｅｑＳＦＦ６０は、１回のキャプチャ動作期間において、複数のキャプチャクロックのそれぞれでＤＵＴ２からの演算結果を取り込む。
【０１３３】
例えば、１回のキャプチャ動作期間に印加される最初キャプチャクロックを第１キャプチャクロックとし、第１キャプチャクロックに続くキャプチャクロックを第２キャプチャクロックとする。また、第１キャプチャクロックで取り込まれるＤＵＴ２からの演算結果を第１演算結果とする。１回のキャプチャ動作期間における、１つのキャプチャクロックパルス動作を行う期間をキャプチャサイクルとする。
【０１３４】
なお、第１キャプチャクロックは、１回のキャプチャ動作期間に最初に印加されるキャプチャクロックではなく、その後に印加されるものであってもよい。第２キャプチャクロックは、１回のキャプチャ動作期間において、第１キャプチャクロックの後に印加されるものであればよい。
【０１３５】
データ入力端子ＤＡＴＡには、キャプチャ動作期間に、ＤＵＴ２からの演算結果が入力される。スキャンイン端子ＳＩＮには、スキャンシフト動作期間にテスト信号が入力され、キャプチャ動作期間にスキャンチェインの前段のＳＦＦ１０が第１キャプチャクロックでキャプチャした第１演算結果が入力される。
【０１３６】
テストイネーブル入力端子ＳＥＱ＿ＴＥＳＴ＿ＥＮには、テストイネーブル信号（ｓｅｑ＿ｔｅｓｔ＿ｅｎａｂｌｅ）が入力される。ｓｅｑＳＦＦ６０は、テストイネーブル信号に応じて、通常のユーザ動作とスキャンテスト動作とを切り替える。例えば、テストイネーブル信号がロウ（０）の時にユーザ動作となり、テストイネーブル信号がハイ（１）のときにスキャンテスト動作となる。
【０１３７】
制御入力端子ＳＭＣには、スキャンイネーブル信号（ｓｃａｎ＿ｅｎａｂｌｅ）が入力される。ｓｅｑＳＦＦ６０は、スキャンイネーブル信号に応じて、スキャンシフト動作とキャプチャ動作とを切り替える。例えば、テストイネーブル信号がハイ（１）の場合において、スキャンイネーブル信号がハイ（１）の時にスキャンシフト動作となり、スキャンイネーブル信号がロウ（０）の時にキャプチャ動作となる。
【０１３８】
ＮＯＲゲート６１は、制御入力端子ＳＭＣから入力されるスキャンイネーブル信号（ｓｃａｎ−ｅｎａｂｌｅ）と、データ入力端子ＤＡＴＡから入力される信号とを受信して、否定論理和を出力する。ＮＡＮＤゲート６２は、スキャンイン端子ＳＩＮに入力された第１演算結果と、テストイネーブル信号とを受信し、否定論理積を出力する。ＸＯＲゲート６３は、ＮＯＲゲート６１からの否定論理和と、ＮＡＮＤゲート６２からの否定論理積とを受信し、排他論理和を出力する。
【０１３９】
ＦＦ６４は、クロック端子ＣＬＫから入力されるクロック信号（ｃｌｏｃｋ）に応じて、ＸＯＲゲート６３から出力される値を取り込み、データ出力端子Ｑから出力する。スキャンシフト動作期間には、ＦＦ６４は、テスト信号を取り込む。また、キャプチャ動作期間には、ＦＦ６４は、第１キャプチャクロックに続く第２キャプチャクロックで、ＸＯＲゲート６３が出力する排他論理和を取り込む。すなわち、スキャンチェインの前段のＳＦＦ１０が第１キャプチャクロックでキャプチャした第１演算結果は、第１キャプチャクロックの後の第２キャプチャクロックで後段のｓｅｑＳＦＦ６０に伝搬される。
【０１４０】
ここで、半導体装置１Ｄの動作について説明する。図１７、１８は、図１５に係る半導体装置１Ｄの動作波形例を示す図である。図１７に示すように、ユーザ動作時は、スキャンイネーブル信号＝０（ｃｏｎｓｔａｎｔ  ＬＯＷ）、かつ、テストイネーブル信号＝０（ｃｏｎｓｔａｎｔ  ＬＯＷ）に設定される。このとき、ＳＦＦ１０、ｓｅｑＳＦＦ６０は、いずれもデータ入力端子ＤＡＴＡから入力される値を取り込む。
【０１４１】
図１８に示すように、スキャンテスト動作時には、テストイネーブル信号＝１（ｃｏｎｓｔａｎｔ  ＨＩＧＨ）に設定される。スキャンテスト動作時において、スキャンシフト動作期間には、スキャンイネーブル信号＝１（ＨＩＧＨ）に設定される。このとき、ＳＦＦ１０、ｓｅｑＳＦＦ６０は、スキャンイン端子ＳＩＮからの値を取り込み、スキャンシフト動作が行われる。
【０１４２】
スキャンテスト動作時において、キャプチャ動作期間には、スキャンイネーブル信号＝０（ＬＯＷ）に設定される。このとき、ＳＦＦ１０はデータ入力端子ＤＡＴＡからの値を取り込み、ｓｅｑＳＦＦ６０は、データ入力端子ＤＡＴＡとスキャンイン端子ＳＩＮからの値の排他的論理和を取り込む。図１９に、図１６に示すシーケンシャルテスト用スキャンフリップフロップの真理値表を示す。ｓｅｑＳＦＦ６０は、図１９の真理値表に示す機能を満たす構成を有している。
【０１４３】
ここで、クロックシーケンシャルテストで２回のキャプチャクロックが印加される場合を考える。１回目のキャプチャサイクルでＳＦＦ１０がある故障伝搬の影響を取り込むものとする。すなわち、１回目のキャプチャクロック印加後のＳＦＦ１０のデータ出力端子Ｑの出力値は、正常時と故障発生時で反転する。
【０１４４】
ｓｅｑＳＦＦ６０は、２回目のキャプチャサイクルでデータ入力端子ＤＡＴＡとスキャンイン端子ＳＩＮからの値の排他的論理和を取り込むため、ＳＦＦ１０のデータ出力端子Ｑの値が反転した場合は、ｓｅｑＳＦＦ６０が取り込む値も反転する。このように、１回目のキャプチャサイクルでＳＦＦ１０が取り込んだ故障は、２回目のキャプチャサイクルでｓｅｑＳＦＦ６０に保持される。
【０１４５】
仮に、図１５におけるｓｅｑＳＦＦ６０の代わりにＳＦＦ１０で構成した場合について考える。クロックシーケンシャルテストにおいて、第１キャプチャクロックで前段のＳＦＦ１０のデータ入力端子ＤＡＴＡまで到達した演算結果は、ＤＵＴ２を介して後段のＳＦＦ１０に到達しない限り、次の第２キャプチャクロックで伝搬先がなく消失してしまう。この消失確率は、論理ゲート段数が多くなるに従って高くなる。一般的な論理においては多数の論理ゲートが存在するため、複数回のキャプチャクロックの印加で故障が保持できる可能性は低い。
【０１４６】
これに対し、実施の形態５に係る半導体装置１Ｄでは、１回のキャプチャ動作期間において第１キャプチャクロックでＳＦＦ１０に到達した演算結果は、次の第２キャプチャクロックでスキャンチェイン上の後段のｓｅｑＳＦＦ６０に伝搬される。このように、半導体装置１Ｄでは、複数回のキャプチャクロックが印加された時の故障検出率を高くすることが可能となる。
【０１４７】
また、半導体装置１Ｄにおいてクロックシーケンシャルテストを実行することで、１回のキャプチャ動作期間で多くの故障を検出できるようになり、結果としてテスト時間を削減することが可能となる。
【０１４８】
なお、ｓｅｑＳＦＦ６０は図１６に示した論理構造に限定されるものではない。ｓｅｑＳＦＦ６０の構成は、図２０に示すシーケンシャルテスト用スキャンフリップフロップの概略構成で、図２１に示す真理値表に示す機能を満たすものであれば、どのような構成でも構わない。
【０１４９】
すなわち、スキャンイネーブル信号＝０かつテストイネーブル信号＝０では、データ入力端子ＤＡＴＡの値が取り込まれる。スキャンイネーブル信号＝０かつテストイネーブル信号＝１では、データ入力端子ＤＡＴＡとスキャンイン端子ＳＩＮの値の排他的論理和
【数１】
0006654456.tif 000002
又は否定排他的論理和
【数２】
0006654456.tif 000003
が取り込まれる。
【０１５０】
スキャンイネーブル信号＝１では、テストイネーブル信号の値にかかわらず、スキャンイン端子ＳＩＮの値（ＳＩＮ）又はスキャンイン端子ＳＩＮの値の否定
【数３】
0006654456.tif 000004
が取り込まれる。
【０１５１】
図２１の真理値表を満たす、ｓｅｑＳＦＦ６０の他の論理回路例を図２２、２４、２６示す。図２２のｓｅｑＳＦＦ６０Ａ、図２４のｓｅｑＳＦＦ６０Ｂ、図２３のｓｅｑＳＦＦ６０Ｃの真理値表を図２３、２５、２７にそれぞれ示す。
【０１５２】
図２２に示すｓｅｑＳＦＦ６０Ａは、ＮＯＲゲート６１、ＸＯＲゲート６３、ＦＦ６４、ＯＲゲート６５を備える。ＮＯＲゲート６１は、制御入力端子ＳＭＣから入力されるスキャンイネーブル信号（ｓｃａｎ−ｅｎａｂｌｅ）と、データ入力端子ＤＡＴＡから入力される信号とを受信して、否定論理和を出力する。
【０１５３】
ＯＲゲート６５は、一方の入力端子が負論理となっている。ＯＲゲート６５は、スキャンイン端子ＳＩＮからの値と、テストイネーブル信号の負論理とを受信し、論理和を出力する。ＸＯＲゲート６３は、ＮＯＲゲート６１からの否定論理和と、ＯＲゲート６５からの論理和とを受信し、排他論理和を出力する。ＦＦ６４は、ＸＯＲゲート６３から出力される値を取り込み、データ出力端子Ｑから出力する。
【０１５４】
なお、図２２に示すｓｅｑＳＦＦ６０Ａの動作波形は、図１７、１８に示す動作波形と同一である。すなわち、図１７に示すように、ユーザ動作時は、スキャンイネーブル信号＝０（ｃｏｎｓｔａｎｔ  ＬＯＷ）、かつ、テストイネーブル信号＝０（ｃｏｎｓｔａｎｔ  ＬＯＷ）に設定される。また、図１８に示すように、スキャンテスト動作時には、テストイネーブル信号＝１（ｃｏｎｓｔａｎｔ  ＨＩＧＨ）に設定される。スキャンテスト動作時において、スキャンシフト動作期間には、スキャンイネーブル信号＝１（ＨＩＧＨ）に設定される。
【０１５５】
このように、図２２に示す構成であっても、キャプチャ動作期間には、スキャンチェインの前段のＳＦＦ１０が第１キャプチャクロックでキャプチャした第１演算結果は、第１キャプチャクロックの後の第２キャプチャクロックで後段のｓｅｑＳＦＦ６０に伝搬される。
【０１５６】
図２４に示すｓｅｑＳＦＦ６０Ｂは、ＮＯＲゲート６１、ＮＡＮＤゲート６２、ＸＯＲゲート６３、ＦＦ６４、ＯＲゲート６６を備える。ＮＯＲゲート６１は、制御入力端子ＳＭＣから入力されるスキャンイネーブル信号（ｓｃａｎ−ｅｎａｂｌｅ）と、データ入力端子ＤＡＴＡから入力される信号とを受信して、否定論理和を出力する。
【０１５７】
ＯＲゲート６６は、スキャンイネーブル信号とテストイネーブル信号の論理和を出力する。ＮＡＮＤゲート６２は、スキャンイン端子ＳＩＮからの値と、ＯＲゲート６６からの論理和とを受信し、否定論理積を出力する。ＸＯＲゲート６３は、ＮＯＲゲート６１からの否定論理和と、ＮＡＮＤゲート６２からの否定論理積とを受信し、排他論理和を出力する。ＦＦ６４は、ＸＯＲゲート６３から出力される値を取り込み、データ出力端子Ｑから出力する。
【０１５８】
図２６に示すｓｅｑＳＦＦ６０Ｃは、ＸＯＲゲート６７、ＭＵＸ６８、ＭＵＸ６９、ＦＦ６４を備えている。ＸＯＲゲート６７は、データ入力端子ＤＡＴＡからの値と、スキャンイン端子ＳＩＮからの値とを受信し、排他的論理和を出力する。ＭＵＸ６８は、データ入力端子ＤＡＴＡからの値と、ＸＯＲゲート６７からの排他的論理和を受信する。ＭＵＸ６８は、テストイネーブル信号がロウ（０）の時にデータ入力端子ＤＡＴＡからの値が有効となり、ハイ（１）の時にＸＯＲゲート６７からの値が有効となる。
【０１５９】
ＭＵＸ６８からの値は、ＭＵＸ６９に入力される。また、ＭＵＸ６９は、スキャンイン端子ＳＩＮからの値を受信する。ＭＵＸ６９は、スキャンイネーブル信号ロウ（０）の時にＭＵＸ６８からの値が有効となり、ハイ（１）の時にスキャンイン端子ＳＩＮからの値が有効となる。ＦＦ６４は、ＭＵＸ６９から出力される値を取り込み、データ出力端子Ｑから出力する。
【０１６０】
図２４、２６に示すｓｅｑＳＦＦ６０Ｂ、６０Ｃを挿入した半導体装置の動作波形を、図２８、２９に示す。図２８に示すように、ユーザ動作時は、スキャンイネーブル信号＝０（ｃｏｎｓｔａｎｔ  ＬＯＷ）に設定される。このとき、テストイネーブル信号は、０／１いずれの値でも構わない（ｄｏｎ’ｔ  ｃａｒｅ）。
【０１６１】
図２９に示すように、スキャンテスト動作時において、キャプチャ動作期間には、スキャンイネーブル信号＝０（ＬＯＷ）、テストイネーブル信号＝１（ＨＩＧＨ）に設定される。スキャンテスト動作時において、スキャンシフト動作期間には、スキャンイネーブル信号＝１（ＨＩＧＨ）に設定される。このとき、テストイネーブル信号は、０／１いずれの値でも構わない（ｄｏｎ’ｔ  ｃａｒｅ）。
【０１６２】
このように、スキャンイン端子ＳＩＮの値とデータ入力端子ＤＡＴＡの値との排他論理和又は否定排他論理和を取り込む構造を有することにより、スキャンイン端子ＳＩＮとデータ入力端子ＤＡＴＡに到達した故障を同時に取り込むことができる。これにより、クロックシーケンシャルテストで複数回のキャプチャクロック印加時に、各キャプチャサイクルでｓｅｑＳＦＦ６０まで到達した故障を保持することが可能となる。結果として、１回のキャプチャ期間で検出可能な故障数が増え、目標検出率に到達するためのテスト時間を削減することが可能である。
【０１６３】
実施の形態６．
実施の形態６に係るシーケンシャルテスト用スキャンフリップフロップ（ｓｅｑＳＦＦ）を挿入した半導体装置について、図３０を参照して説明する。図３０は、実施の形態６に係るｓｅｑＳＦＦを挿入した半導体装置１Ｅの構成を示す図である。
【０１６４】
図３０に示すように、半導体装置１Ｅは、ＤＵＴ２、ＰＲＰＧ３、ＭＩＳＲ４、ＬＢＩＳＴコントローラ５、複数のｓｅｑＳＦＦ６０を備えている。なお、ｓｅｑＳＦＦ６０以外の構成については、図１で説明したものと同一のため、詳細な説明は省略する。
【０１６５】
半導体装置１Ｅは、１以上の複数のスキャンチェインを有している。図３０に示す例では、各スキャンチェインがｓｅｑＳＦＦ６０のみで構成されている。図３０においては、ｓｅｑＳＦＦ６０により構成された１つのスキャンチェインを、スキャンチェイン６Ｄと示している。スキャンチェイン６Ｄでは、５つのｓｅｑＳＦＦ６０がシリアルに接続されている。
【０１６６】
ｓｅｑＳＦＦ６０は、図１６に示した構成と同一のものである。なお、ｓｅｑＳＦＦ６０の代わりに、図２１に示した真理値表の機能を満たす他の構成のｓｅｑＳＦＦを用いることも可能である。
【０１６７】
各ｓｅｑＳＦＦ６０の制御入力端子ＳＭＣには、スキャンイネーブル信号が入力される。また、各ｓｅｑＳＦＦ６０のテストイネーブル入力端子ＳＥＱ＿ＴＥＳＴ＿ＥＮには、テストイネーブル信号が入力される。なお、テストイネーブル入力端子ＳＥＱ＿ＴＥＳＴ＿ＥＮは必ずしも外部入力端子で制御する必要はなく、テストモードレジスタなどから制御してもよい。
【０１６８】
ユーザ動作時には、テストイネーブル信号＝０、スキャンイネーブル信号＝０が与えられる。各ｓｅｑＳＦＦ６０の制御入力端子ＳＭＣ、テストイネーブル入力端子ＳＥＱ＿ＴＥＳＴ＿ＥＮには、それぞれ、テストイネーブル信号＝０、スキャンイネーブル信号＝０が供給される。これにより，スキャンイン端子ＳＩＮから入力される値は遮断され、ｓｅｑＳＦＦ６０はデータ入力端子ＤＡＴＡからの値を取込む。
【０１６９】
スキャンテスト動作時はテストイネーブル信号＝１に設定される。スキャンシフト動作期間には、スキャンイネーブル信号＝１に設定される。各ｓｅｑＳＦＦ６０はスキャンイン端子ＳＩＮからの値を取り込むことで、スキャンシフト動作が行われる。キャプチャ動作時は、スキャンイネーブル信号＝０に設定される。各ｓｅｑＳＦＦ６０は、データ入力端子ＤＡＴＡからの値と、スキャンイン端子ＳＩＮからの値の排他論理和を取込む。
【０１７０】
このため、クロックシーケンシャルテストによる複数キャプチャクロック印加時において、あるキャプチャサイクルでｓｅｑＳＦＦ６０に到達した故障は、次のキャプチャサイクルでそのスキャンチェイン上の後段のｓｅｑＳＦＦ６０にスキャンイン端子ＳＩＮを経由して取り込まれる。
【０１７１】
例えば、スキャンチェイン６Ｄの段数がＮ段のとき、先頭ｓｅｑＳＦＦ６０に取込まれた故障は、最大でＮ回のキャプチャクロックが印加されるまで、スキャンチェイン６Ｄ上のｓｅｑＳＦＦ６０で保持できる可能性がある。この結果、クロックシーケンシャルテストにおけるキャプチャ動作期間中に検出可能な故障数を増大させることが可能となる。
【０１７２】
ここで、図３１を参照して、テスト時間の削減効果について説明する。図３１は、実施の形態６に係る半導体装置１Ｅのテスト時間に対する故障検出率を示す図である。図３１において、横軸はテスト時間を示しており、縦軸は故障検出率を示している。また、図３１において、実線は実施の形態に係るｓｅｑＳＦＦ６０を用いた半導体装置１Ｅの結果を示しており、破線は図３０のｓｅｑＳＦＦ６０の代わりにＳＦＦ１０で構成した場合の半導体装置の結果を示している。
【０１７３】
図３１に示すように、実施の形態６に係る半導体装置１Ｅでは、ｓｅｑＳＦＦ６０を用いることで、ＳＦＦ１０を用いた場合とよりも短いテスト時間で目標故障検出率を達成することが可能となる。
【０１７４】
実施の形態７．
実施の形態７に係るシーケンシャルテスト用スキャンフリップフロップ（ｓｅｑＳＦＦ）を挿入した半導体装置について、図３２を参照して説明する。図３２は、実施の形態７に係るｓｅｑＳＦＦを挿入した半導体装置１Ｆの構成を示す図である。
【０１７５】
図３２に示す半導体装置１Ｆは、一般的なＬＢＩＳＴの構成において、一部のＳＦＦがｓｅｑＳＦＦ６０で置換されている。なお、ｓｅｑＳＦＦ６０の代わりに、図２１に示した真理値表の機能を満たす他の構成のｓｅｑＳＦＦを用いることも可能である。図３２において、「ＦＦ」は、スキャンイン、スキャンアウト等のスキャン機能を持たないフリップフロップを示している。ここでは、スキャン機能を持たないフリップフロップを、ノーマルフリップフロップ（以下、ノーマルＦＦ）と称する。
【０１７６】
半導体装置１Ｆは、１以上の複数のスキャンチェインを有している。図３２に示す例では、複数のスキャンチェインのうち、少なくとも１つのスキャンチェイン６Ｅには、ユーザ論理中のシフトレジスタ構造７Ａが組み込まれている。シフトレジスタ構造７Ａでは、先頭がｓｅｑＳＦＦ６０に置換されており、ｓｅｑＳＦＦ６０の後段には、２つのノーマルＦＦがシリアルに接続されている。スキャンチェイン６Ｅにおいて、シフトレジスタ構造７Ａの前段及び後段にはそれぞれｓｅｑＳＦＦ６０が配置されている。
【０１７７】
シフトレジスタ構造７ＡのｓｅｑＳＦＦ６０のスキャンイン端子ＳＩＮには、前段のｓｅｑＳＦＦ６０のデータ出力端子Ｑが接続されている。シフトレジスタ構造７Ａの先頭のｓｅｑＳＦＦ６０がキャプチャするＤＵＴ２からの演算結果は、後段のノーマルＦＦにそのまま取り込まれる。また、シフトレジスタ構造７Ａの最後段のノーマルＦＦのデータ出力端子Ｑは、ＤＵＴ２への入力と、スキャンチェイン６Ｅ上の次段のｓｅｑＳＦＦ６０のスキャンイン端子ＳＩＮに接続されている。
【０１７８】
また、図３２に示す例では、ユーザ論理中には、１つのｓｅｑＳＦＦ、１つのノーマルＦＦからなるシフトレジスタ構造７Ｂ、１つのｓｅｑＳＦＦ、２つのノーマルＦＦからなるシフトレジスタ構造７Ｃが構成されている。シフトレジスタ構造７Ｂと、シフトレジスタ構造７Ｃとは、１つのスキャンチェインを構成する。
【０１７９】
シフトレジスタ構造７Ｂでは、ｓｅｑＳＦＦ６０の後段にノーマルＦＦがシリアルに接続されている。シフトレジスタ構造７Ｃでは、ｓｅｑＳＦＦ６０の後段に２つのノーマルＦＦがシリアルに接続されている。シフトレジスタ構造７ＢのノーマルＦＦのデータ出力端子Ｑは、ＤＵＴ２への入力と、シフトレジスタ構造７ＣのｓｅｑＳＦＦ６０のスキャンイン端子ＳＩＮに接続されている。
【０１８０】
なお、ここでは図示していないが、シフトレジスタ構造以外のＦＦは、ｓｅｑＳＦＦ６０で置換されている。ｓｅｑＳＦＦ６０又はシフトレジスタ構造の出力は、後段にそれぞれ接続されるｓｅｑＳＦＦ６０のスキャンイン端子ＳＩＮに接続され、スキャンチェインが構成される。シフトレジスタ構造７Ａ〜７Ｃ及び他のシフトレジスタ構造においても、ＳＦＦでスキャンチェインが構築された場合と同様に、スキャンシフト動作が行われる。
【０１８１】
実施の形態６において説明したのと同様に、実施の形態７においても、各ｓｅｑＳＦＦ６０の制御入力端子ＳＭＣには、スキャンイネーブル信号が入力される。また、各ｓｅｑＳＦＦ６０のテストイネーブル入力端子ＳＥＱ＿ＴＥＳＴ＿ＥＮには、テストイネーブル信号が入力される。
【０１８２】
実施の形態７では、クロックシーケンシャルテストによる複数キャプチャクロック印加時において、あるキャプチャサイクルでシフトレジスタ構造の先頭のｓｅｑＳＦＦ６０に到達した故障は、次のキャプチャサイクルで損失することなく、シフトレジスタ構造の後段のノーマルＦＦへ伝搬する。これにより、クロックシーケンシャルテストの効率を向上させることが可能となる。
【０１８３】
また、実施の形態７では、シフトレジスタ構造の先頭以外をノーマルＦＦのまま、スキャンチェインに組み込んでいる。このため、すべてスキャン機能を有するフリップフロップに置換した場合と比較すると、面積の増大を抑制することができる。
【０１８４】
実施の形態８．
実施の形態８に係るシーケンシャルテスト用スキャンフリップフロップ（ｓｅｑＳＦＦ）を挿入した半導体装置について、図３３を参照して説明する。図３３は、実施の形態８に係るｓｅｑＳＦＦを挿入した半導体装置１Ｇの構成を示す図である。
【０１８５】
回路内のユーザＦＦの中には、ｓｅｑＳＦＦ６０に置換してもクロックシーケンシャルテストの効率向上に寄与しないものが存在する。ｓｅｑＳＦＦ６０は、ＳＦＦよりも面積が大きいため、すべてのユーザＦＦをｓｅｑＳＦＦ６０で置換すると、面積が増大してしまう。
【０１８６】
そこで、実施の形態８に係る半導体装置１Ｇは、ｓｅｑＳＦＦ６０への置換対象を一部のユーザＦＦに限定した構造を有する。図３３において、スキャン機能を有さないフリップフロップをＦＦと示し、スキャン機能を有するフリップフロップをＳＦＦと示す。
【０１８７】
まず、実施の形態８では、クロックシーケンシャルテストにおける複数キャプチャクロック印加時に、データ入力端子ＤＡＴＡに到達した故障を蓄積した場合に検出故障数が効率よく増加するユーザＦＦを選定する。
【０１８８】
なお、クロックシーケンシャルテストの効率向上に寄与するユーザＦＦの選定は、データ入力端子ＤＡＴＡへの入力コーンの組合せ論理量や、確率ベースの故障シミュレーション等を利用して求めることができる。そして、選定したユーザＦＦのみをｓｅｑＳＦＦ６０に置換して、スキャンチェインを構築する。
【０１８９】
このようにしてｓｅｑＳＦＦ６０への置換対象を一部のユーザＦＦに限定した、半導体装置１Ｇの一例が、図３３に示される。半導体装置１Ｇは、１以上の複数のスキャンチェインを有している。図３３に示す例では、複数のスキャンチェインのうち、少なくとも１つのスキャンチェイン６Ｆには、ユーザ論理中のシフトレジスタ構造７Ｄが組み込まれている。スキャンチェイン６Ｆは、ＳＦＦを含まない。スキャンチェイン６Ｆは、２つのｓｅｑＳＦＦ６０と、これら２つのｓｅｑＳＦＦ６０の間に配置された、ｓｅｑＳＦＦ６０を先頭に持つシフトレジスタ構造７Ｄを有する。スキャンチェイン６Ｆは、実施の形態７のスキャンチェイン６Ｅと同様の構成であるため、詳細な説明は省略する。
【０１９０】
なお、図３３では、選定されたユーザＦＦ中にシフトレジスタ構造７Ｄが含まれるため、シフトレジスタ構造７Ｄをスキャンチェイン６Ｆに組み込んでいるが、これに限定されるものではない。選定されたユーザＦＦをすべてｓｅｑＳＦＦ６０で置換し、スキャンチェイン６ＦをｓｅｑＳＦＦ６０のみで構成してもよい。
【０１９１】
また、複数のスキャンチェインのうち、少なくとも１つのスキャンチェイン６Ｇは、ｓｅｑＳＦＦ６０を含まない。スキャンチェイン６Ｇは、２つのＳＦＦと、これら２つのＳＦＦの間に配置された、ＳＦＦを先頭に持つシフトレジスタ８を有する。シフトレジスタ８は、ＳＦＦと２つのＦＦからなる。なお、スキャンチェイン６Ｇは、シフトレジスタ８を含んでいるが、シフトレジスタを含まないスキャンチェインがあってもよい。
【０１９２】
このように、ｓｅｑＳＦＦ６０への置換対象を、クロックシーケンシャルテストの効率向上効果の高い一部のユーザＦＦに限定することで、面積の増大を抑制するとともに、テスト時間の短縮を図ることが可能となる。
【０１９３】
実施の形態９．
実施の形態９に係るシーケンシャルテスト用スキャンフリップフロップ（ｓｅｑＳＦＦ）を挿入した半導体装置について、図３４を参照して説明する。図３４は、実施の形態９に係るｓｅｑＳＦＦを挿入した半導体装置１Ｈの構成を示す図である。図９に示すように、半導体装置１Ｈは、ＤＵＴ２、ＰＲＰＧ３、ＭＩＳＲ４、ＬＢＩＳＴコントローラ５、ｓｅｑＳＦＦ６０、ｓｅｑＳＦＦ７０を有している。図３４においては、ｓｅｑＳＦＦ６０はｓｅｑＳＦＦと示され、ｓｅｑＳＦＦ７０はｓｅｑＳＦＦ２と示されている。
【０１９４】
半導体装置１Ｈにおいて、複数のスキャンチェインのうち少なくとも１つのスキャンチェイン６Ｈには、ｓｅｑＳＦＦ６０、ｓｅｑＳＦＦ７０が含まれている。図３４に示す例では、スキャンチェイン６Ｈの先頭にｓｅｑＳＦＦ７０が配置され、その後段にｓｅｑＳＦＦ６０と２つのノーマルＦＦからなるシフトレジスタ構造が配置され、その後段にｓｅｑＳＦＦ６０が接続されている。
【０１９５】
ｓｅｑＳＦＦ６０としては、図１６に示した構成のものが用いられる。なお、図３４に示す例ではｓｅｑＳＦＦ６０が用いられているが、ｓｅｑＳＦＦ６０の代わりに図２１に示した真理値表の機能を満たす他の構成のｓｅｑＳＦＦを用いてもよい。ｓｅｑＳＦＦ７０以外の構成については、図３３で説明したものと同一のため、詳細な説明は省略する。
【０１９６】
なお、他のスキャンチェインでは、先頭にＳＦＦが配置され、その後段にＳＦＦ、２つのノーマルＦＦ、ＳＦＦが順に接続されている。すなわち、他のスキャンチェインにはシフトレジスタが含まれている。しかしながら、これに限定されるものではなく、すべてのスキャンチェインに、ｓｅｑＳＦＦ６０、ｓｅｑＳＦＦ７０が含まれるようにしてもよい。
【０１９７】
実施の形態９に係る半導体装置１Ｈでは、クロックシーケンシャルテストにおいて、最後段のｓｅｑＳＦＦ６０に伝搬された故障を、スキャンチェイン６Ｈ上で保持可能である。図３４に示すように、ｓｅｑＳＦＦ７０は、ＡＮＤゲート７１、ＸＯＲゲート７２、ＭＵＸ７３、ＦＦ７４、データ入力端子ＤＡＴＡ、データ入力端子ＤＡＴＡ２、テストイネーブル入力端子ＳＥＱ＿ＴＥＳＴ＿ＥＮ、スキャンイン端子ＳＩＮ、制御入力端子ＳＭＣ、クロック端子ＣＬＫ、データ出力端子Ｑを有している。
【０１９８】
ｓｅｑＳＦＦ７０の出力は、その後段のｓｅｑＳＦＦ６０のスキャンイン端子ＳＩＮに接続されている。最後段のｓｅｑＳＦＦ６０の出力は、ｓｅｑＳＦＦ７０のデータ入力端子ＤＡＴＡ２に接続される。ｓｅｑＳＦＦ７０は、ｓｅｑＳＦＦ６０と同様に、１回のキャプチャ動作期間において、複数のキャプチャクロックのそれぞれでＤＵＴ２からの演算結果を取り込むことが可能である。
【０１９９】
データ入力端子ＤＡＴＡには、キャプチャ動作期間に、ＤＵＴ２からの演算結果が入力される。また、データ入力端子ＤＡＴＡ２には、キャプチャ動作期間に、最後段のｓｅｑＳＦＦ６０が第１キャプチャクロックでキャプチャした第１演算結果が入力される。すなわち、ｓｅｑＳＦＦ７０は、２系統のデータ入力端子を有している。
【０２００】
ＡＮＤゲート７１は、データ入力端子ＤＡＴＡ２から入力される信号と、テストイネーブル信号との論理積を出力する。ＸＯＲゲート７２は、データ入力端子ＤＡＴＡから入力される信号と、ＡＮＤゲート７１から入力される論理積とを受信し、排他論理和を出力する。
【０２０１】
ＭＵＸ７３は、スキャンイン端子ＳＩＮから入力される信号と、ＸＯＲゲート７２から出力される信号とを受信する。ＭＵＸ７３は、制御入力端子ＳＭＣから入力されるスキャンイネーブル信号に応じて、スキャンシフト動作とキャプチャ動作とを切り替える。図３４に示す例では、ＭＵＸ７３は、スキャンイネーブル信号がハイ（１）の時に、スキャンイン端子ＳＩＮからの入力が有効となる。また、ＭＵＸ７３は、スキャンイネーブル信号がロウ（０）の時に、ＸＯＲゲート７２からの出力が有効となる。
【０２０２】
ＦＦ７４は、クロック端子ＣＬＫから入力されるクロック信号（ｃｌｏｃｋ２）に応じて、ＭＵＸ７３から出力される値を取り込み、データ出力端子Ｑから後段のｓｅｑＳＦＦ６０のスキャンイン端子ＳＩＮに出力する。
【０２０３】
ｓｅｑＳＦＦ７０は、スキャンイネーブル信号＝１の時にスキャンイン端子ＳＩＮの値を取り込む。また、ｓｅｑＳＦＦ７０は、テストイネーブル信号＝０かつスキャンイネーブル信号＝０の時、データ入力端子ＤＡＴＡからの値を取り込む。テストイネーブル信号＝１かつスキャンイネーブル信号＝０の時は、第１キャプチャクロックに続く第２キャプチャクロックで、データ入力端子ＤＡＴＡの値とデータ入力端子ＤＡＴＡ２の値の排他論理和が取り込まれる。
【０２０４】
すなわち、ｓｅｑＳＦＦ７０は、データ入力端子ＤＡＴＡと、データ入力端子ＤＡＴＡ２の両方に到達した故障を同時に取り込むことができる。従って、スキャンチェイン６Ｈの最後段のｓｅｑＳＦＦ６０が第１キャプチャクロックでキャプチャした第１演算結果は、第１キャプチャクロックの後の第２キャプチャクロックで最前段のｓｅｑＳＦＦ７０に伝搬される。
【０２０５】
このように、実施の形態９に係る半導体装置１Ｈでは、クロックシーケンシャルテストにおいて１回のキャプチャ動作期間に複数のキャプチャクロックを印加した場合でも、あるキャプチャクロックでスキャンチェイン６Ｈの最後段のｓｅｑＳＦＦ６０に取り込まれた故障が、次のキャプチャクロックで最前段のｓｅｑＳＦＦ７０へ伝搬され、消失しない。
【０２０６】
実施の形態５〜８の構成では、クロックシーケンシャルテストにおいて、あるキャプチャクロックで、スキャンチェインの最後段のｓｅｑＳＦＦ６０に取り込まれた演算結果は、次のキャプチャサイクルで伝搬先がなく消失してしまう。
【０２０７】
しかしながら、実施の形態９のように、図３４に示す回路構成を用いると、最後段のｓｅｑＳＦＦ６０に取り込まれた演算結果は、次キャプチャサイクルのキャプチャクロックで最前段のｓｅｑＳＦＦ７０へと伝搬でき、消失を防ぐことができる。結果として、のキャプチャ動作期間中にキャプチャクロックを複数回印加したとき、検出可能な故障数が増え、テスト時間の短縮・故障検出率の向上が可能となる。
【０２０８】
なお、ｓｅｑＳＦＦ２としては、図３４に示したｓｅｑＳＦＦ７０の論理構造に限定されるものではない。ｓｅｑＳＦＦ７０の構成は、図３５に示すシーケンシャルテスト用スキャンフリップフロップの概略構成で、図３６に示す真理値表に示す機能を満たすものであれば、どのような構成でも構わない。
【０２０９】
すなわち、スキャンイネーブル信号＝０かつテストイネーブル信号＝０では、データ入力端子ＤＡＴＡの値が取り込まれる。スキャンイネーブル信号＝０かつテストイネーブル信号＝１では、データ入力端子ＤＡＴＡとデータ入力端子ＤＡＴＡ２の値の排他的論理和
【数４】
0006654456.tif 000005
又は否定排他的論理和
【数５】
0006654456.tif 000006
が取り込まれる。
【０２１０】
スキャンイネーブル信号＝１では、テストイネーブル信号の値にかかわらず、スキャンイン端子ＳＩＮの値（ＳＩＮ）又はスキャンイン端子ＳＩＮの値の否定
【数６】
0006654456.tif 000007
が取り込まれる。
【０２１１】
実施の形態１０．
実施の形態１０に係るシーケンシャルテスト用スキャンフリップフロップ（ｓｅｑＳＦＦ）を挿入した半導体装置について、図３７を参照して説明する。図３７は、実施の形態１０に係るｓｅｑＳＦＦを挿入した半導体装置１Ｉの構成を示す図である。図３７に示すように、半導体装置１Ｉは、ＤＵＴ２、ＰＲＰＧ３、ＭＩＳＲ４Ｉ、ＬＢＩＳＴコントローラ５、ｓｅｑＳＦＦ６０、を備えている。半導体装置１Ｉでは、クロックシーケンシャルテストにおいて、最後段のｓｅｑＳＦＦ６０に伝搬された故障を、ＭＩＳＲ４Ｉで保持可能である。
【０２１２】
半導体装置１Ｉにおいて、複数のスキャンチェインのうち少なくとも１つのスキャンチェイン６Ｉは、ｓｅｑＳＦＦ６０、ノーマルＦＦとで構成されている。図３７に示す例では、スキャンチェイン６Ｉの先頭にｓｅｑＳＦＦ６０が配置され、その後段にｓｅｑＳＦＦ６０と２つのノーマルＦＦとからなるシフトレジスタ構造が配置され、その後段にｓｅｑＳＦＦ６０が接続されている。
【０２１３】
観測用ＳＦＦ３０としては、図１６に示した構成のものが用いられる。なお、図３４に示す例ではｓｅｑＳＦＦ６０が用いられているが、ｓｅｑＳＦＦ６０の代わりに図２１に示した真理値表の機能を満たす他の構成のｓｅｑＳＦＦを用いてもよい。他のスキャンチェインでは、先頭にＳＦＦが配置され、その後段にＳＦＦ、２つのノーマルＦＦ、ＳＦＦが順に接続されている。スキャンチェインの構成については、図３３の例と同一であるため、詳細な説明は省略する。
【０２１４】
スキャンチェイン６Ｉの最後段のｓｅｑＳＦＦ６０が第１キャプチャクロックでキャプチャした第１演算結果は、第１キャプチャクロックの後の第２キャプチャクロックでＭＩＳＲ４Ｉに伝搬される。なお、図３７に示す例では、ＭＩＳＲ４Ｉには、クロック信号（ｃｌｏｃｋ２）が入力されている。ＭＩＳＲ４Ｃは、クロック信号（ｃｌｏｃｋ２）に同期して、最後段のｓｅｑＳＦＦ６０から出力される値を取り込む。
【０２１５】
通常のスキャンテストでは、キャプチャ動作期間中のスキャンチェインの最終段フリップフロップの出力を観測する必要がない。このため、通常ＭＩＳＲは、キャプチャ動作期間中最終段フリップフロップの出力値を取り込む機能を持たない。
【０２１６】
実施の形態１０では、ＭＩＳＲ４Ｉは、キャプチャ動作期間中もクロックが供給されて動作する。これにより、ＭＩＳＲ４Ｉは、クロックシーケンシャルテストの複数キャプチャクロック印加時にも、スキャンチェイン６Ｉの最終段のｓｅｑＳＦＦ６０の出力値を取り込むことができる。
【０２１７】
このように、各キャプチャサイクルで、最後段のｓｅｑＳＦＦ６０に到達した故障をＭＩＳＲ４Ｉで取り込むことができ、故障を消失させることなく観測できる。これにより、クロックシーケンシャルテストの１つのキャプチャ動作期間中に検出可能な故障数を増加させることができ、テスト時間の削減を図ることが可能となる。
【０２１８】
実施の形態に係る設計装置２００について、図３８、３９を参照して説明する。図３８は、実施の形態５〜１０に係る半導体装置を設計する設計装置２００の構成を示す図である。図３９は、実施の形態に係る半導体装置の設計フローを示す図である。設計装置２００は、上述したｓｅｑＳＦＦを用いた、クロックシーケンシャルテストの効率の高い半導体装置を設計するものである。
【０２１９】
設計装置２００は、演算処理装置２１０、記憶装置２２０、制御入力装置２３０、表示出力装置２３１を有する。制御入力装置２３０、表示出力装置２３１は、図１２で説明した、制御入力装置１３０、表示出力装置１３１と同様の構成であるため、説明を適宜省略する。
【０２２０】
演算処理装置２１０は、半導体装置１Ｄ〜１Ｉの設計に必要なプログラムをロードして設計に必要な各機能プロセスを実行可能な装置であり、ＣＰＵやメモリ等を含む。演算処理装置２１０は、スキャン化プログラム２１２を有している。スキャン化プログラム２１２は、一般的なスキャン化の機能に加えて、スキャン化対象ユーザＦＦの中から、図２１の真理値表の機能を満たすｓｅｑＳＦＦに置換することで、クロックックシーケンシャルテスト適用時の効果が高くなるユーザＦＦを選定する機能を持つ。
【０２２１】
記憶装置２２０は、機能ライブラリ２２２、テスト制約ＤＢ２２３、スキャン化ネットリスト２２６を有している。記憶装置２２０は、ライブラリやネットリストの情報を保存するＨＤＤディスクやメモリなどの記憶媒体を指す。
【０２２２】
ネットリスト２２１には、上述したｓｅｑＳＦＦのセル情報の他、ＡＮＤゲート、ＯＲゲート、ＸＯＲゲート等のセル情報、端子間の接続情報等が記憶されている。機能ライブラリ２２２には、セルの機能等が記憶されている。テスト制約ＤＢ２２３には、テスト時の回路動作に必要な情報が格納されている。
【０２２３】
設計装置２００は、演算処理装置２１０のスキャン化プログラム２１２を使用し、記憶装置２２０のネットリスト２２１や機能ライブラリ２２２、テスト制約ＤＢ２２３を参照して、実施の形態５〜１０で説明したｓｅｑＳＦＦを挿入した半導体装置を生成する。
【０２２４】
ここで、図３９を参照して、半導体装置の設計フローについて説明する。図３９に示すように、まずネットリスト２２１、機能ライブラリ２２２、テスト制約ＤＢ２２３に所定の情報が入力される（ステップＳ３１）。その後、入力された情報を解析することにより、回路情報、テスト制約情報が識別される（ステップＳ３２）。ここでは、回路内のスキャン化可能ユーザＦＦや、テスト制約情報等が取得される。そして、回路構造からシフトレジスタ構造を有するユーザＦＦが識別される（ステップＳ３３）。
【０２２５】
そして、識別したスキャン化可能なユーザＦＦの情報に基づき、面積オーバーヘッドを考慮して、ｓｅｑＳＦＦに置換するユーザＦＦを任意の指定数分だけ選定して、ｓｅｑＳＦＦへの置換対象候補を決定する（ステップＳ３４）。ｓｅｑＳＦＦへの置換対象候補の選定アルゴリズムは、例えば、置換対象ユーザＦＦの入力論理コーン上の可観測故障数の極大化を求める問題等に帰着させることができる。
【０２２６】
ｓｅｑＳＦＦへの置換対象候補を決定し終えたら、ｓｅｑＳＦＦ置換対象ユーザＦＦをｓｅｑＳＦＦに置換し、それに後続するシフトレジスタ構造を用いてスキャンチェインを構築する（ステップＳ３５）。そして、それ以外のユーザＦＦについてもＳＦＦに置換してスキャンチェインを構築する（ステップＳ３６）。これにより、ｓｅｑＳＦＦを挿入したスキャン化ネットリストが出力され（ステップＳ３７）、ネットリストの生成処理が終了する。図３８に示す設計装置２００を用いることで、シーケンシャルテストの効率の高い回路構造を持つスキャン化ネットリストを生成することができる。
【０２２７】
このようにして生成されたスキャン化ネットリストを用いることにより、クロックシーケンシャルテストの１つのキャプチャ動作期間中に検出可能な故障数を増加させ、テスト実行時間の削減を図ることが可能な半導体装置を設計することが可能となる。
【０２２８】
なお、以降の工程として、一般的な圧縮回路付加プログラムで圧縮スキャン回路又はＬＢＩＳＴ回路の付加を行い、一般的なテスト生成プログラムでクロックシーケンシャルテストパタンの生成を行う。これにより，図３１に示すようなテスト時間削減効果が得られる。
【０２２９】
なお、上述した実施の形態は、適宜組み合わせることが可能である。例えば、上述したテストポイント回路とシーケンシャルテスト用スキャンフリップフロップの両方を挿入した半導体装置を構成することも可能である。図４０に、テストポイント回路２０とｓｅｑＳＦＦ６０とを挿入した半導体装置の構成例を示す。
【０２３０】
図４０に示すように、複数のスキャンチェインのうち、少なくとも１つは、観測用ＳＦＦ２０のみにより構成されている。また、他のスキャンチェインの少なくとも１つは、ｓｅｑＳＦＦ６０のみにより構成されている。図４０に示す例では、１つのスキャンチェインにおいて５つの観測用ＳＦＦ２０がシリアルに接続されている。また、他の１つのスキャンチェインにおいて５つのｓｅｑＳＦＦ６０がシリアルに接続されている。
【０２３１】
このように、観測用ＳＦＦ２０とｓｅｑＳＦＦ６０とを挿入することにより、クロックシーケンシャルテストを行う際に、テストポイント挿入による面積オーバーヘッドの増大を抑制するとともに、テスト時間を短縮しつつ、故障検出率を高くすることが可能となる。
【０２３２】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は既に述べた実施の形態に限定されるものではなく、その要旨を逸脱しない範囲において種々の変更が可能であることはいうまでもない。
【符号の説明】
【０２３３】
１  半導体装置
１Ａ〜１Ｉ  半導体装置
２  ＤＵＴ
３  ＰＲＰＧ
４  ＭＩＳＲ
４Ｃ  ＭＩＳＲ
４Ｉ  ＭＩＳＲ
５  ＬＢＩＳＴコントローラ
６Ａ〜６Ｉ  スキャンチェイン
７Ａ〜７Ｄ  シフトレジスタ構造
８  シフトレジスタ
１０  ＳＦＦ
１１  ＭＵＸ
１２  ＦＦ
２０  観測用ＳＦＦ
２１  ＸＯＲゲート
２２  ＭＵＸ
２３  ＦＦ
３０  観測用ＳＦＦ
３１  ＮＯＲゲート
３２  ＸＯＲゲート
３３  ＦＦ
４０  観測用ＳＦＦ
４１  ＸＯＲゲート
４２  ＭＵＸ
４３  ＦＦ
５０  観測用ＳＦＦ
５１  ＸＯＲゲート
５２  ＭＵＸ
５３  ＦＦ
６０  ｓｅｑＳＦＦ
６０Ａ〜６０Ｃ  ｓｅｑＳＦＦ
６１  ＮＯＲゲート
６２  ＮＡＮＤゲート
６３  ＸＯＲゲート
６４  ＦＦ
６５  ＯＲゲート
６６  ＯＲゲート
６７  ＸＯＲゲート
６８  ＭＵＸ
６９  ＭＵＸ
７０  ｓｅｑＳＦＦ
７１  ＡＮＤゲート
７２  ＸＯＲゲート
７３  ＭＵＸ
７４  ＦＦ
ＳＥＱ＿ＴＥＳＴ＿ＥＮ  テストイネーブル入力端子
１００  設計装置
１１０  演算処理装置
１１１  テストポイント挿入プログラム
１１２  スキャン化プログラム
１２０  記憶装置
１２１  ネットリスト
１２２  機能ライブラリ
１２３  テスト制約ＤＢ
１２４  テストポイント挿入済ネットリスト
１２５  テストポイント挿入情報ＤＢ
１２６  スキャン化ネットリスト
１３０  制御入力装置
１３１  表示出力装置
２００  設計装置
２１０  演算処理装置
２１２  スキャン化プログラム
２２０  記憶装置
２２１  ネットリスト
２２２  機能ライブラリ
２２３  テスト制約ＤＢ
２２６  スキャン化ネットリスト
２３０  制御入力装置
２３１  表示出力装置
ＤＡＴＡ  データ入力端子
ＳＩＮ  スキャンイン端子
ＳＭＣ  制御入力端子
ＣＬＫ  クロック端子
Ｑ  データ出力端子
【図１】
0006654456.tif 000008
【図２】
0006654456.tif 000009
【図３】
0006654456.tif 000010
【図４】
0006654456.tif 000011
【図５】
0006654456.tif 000012
【図６】
0006654456.tif 000013
【図７】
0006654456.tif 000014
【図８】
0006654456.tif 000015
【図９】
0006654456.tif 000016
【図１０】
0006654456.tif 000017
【図１１】
0006654456.tif 000018
【図１２】
0006654456.tif 000019
【図１３】
0006654456.tif 000020
【図１４】
0006654456.tif 000021
【図１５】
0006654456.tif 000022
【図１６】
0006654456.tif 000023
【図１７】
0006654456.tif 000024
【図１８】
0006654456.tif 000025
【図１９】
0006654456.tif 000026
【図２０】
0006654456.tif 000027
【図２１】
0006654456.tif 000028
【図２２】
0006654456.tif 000029
【図２３】
0006654456.tif 000030
【図２４】
0006654456.tif 000031
【図２５】
0006654456.tif 000032
【図２６】
0006654456.tif 000033
【図２７】
0006654456.tif 000034
【図２８】
0006654456.tif 000035
【図２９】
0006654456.tif 000036
【図３０】
0006654456.tif 000037
【図３１】
0006654456.tif 000038
【図３２】
0006654456.tif 000039
【図３３】
0006654456.tif 000040
【図３４】
0006654456.tif 000041
【図３５】
0006654456.tif 000042
【図３６】
0006654456.tif 000043
【図３７】
0006654456.tif 000044
【図３８】
0006654456.tif 000045
【図３９】
0006654456.tif 000046
【図４０】
0006654456.tif 000047