(57)【特許請求の範囲】
【請求項１】
スキャンイネーブル信号がスキャンテストモード、かつ、スキャンモード信号が圧縮スキャンモードに設定された場合に、内部回路に含まれる複数のスキャンセル回路のうち、各々のスキャンセル回路を直列に接続して構成された複数のサブスキャンチェーンによって構成され、前記スキャンイネーブル信号がスキャンテストモード、かつ、前記スキャンモード信号が非圧縮スキャンモードに設定された場合に、前記複数のサブスキャンチェーンを直列に接続して構成されるスキャンチェーンと、
前記圧縮スキャンモードの場合に、スキャンイン信号を分配した分配信号を、前記複数のサブスキャンチェーンの初段のスキャンセル回路のスキャンイン入力端子に入力し、前記非圧縮スキャンモードの場合に、前記スキャンイン信号を初段のサブスキャンチェーンの初段のスキャンセル回路のスキャンイン入力端子に入力し、かつ、前段のサブスキャンチェーンの最終段のスキャンセル回路の出力信号を後段のサブスキャンチェーンの初段のスキャンセル回路のスキャンイン入力端子に順次入力する入力分配回路と、
前記圧縮スキャンモードの場合に、前記複数のサブスキャンチェーンの最終段のスキャンセル回路の出力信号を圧縮した圧縮信号をスキャンアウト信号として出力し、前記非圧縮スキャンモードの場合に、最終段のサブスキャンチェーンの最終段のスキャンセル回路の出力信号を前記スキャンアウト信号として出力する出力圧縮回路とを備え、
前記スキャンチェーンは、前記圧縮スキャンモードの場合に、前記内部回路に含まれる複数のスキャンセル回路のうち、秘匿性が要求される秘匿性要求回路のスキャンセル回路を接続して前記複数のサブスキャンチェーンを構成し、前記非圧縮スキャンモードの場合に、前記秘匿性要求回路のスキャンセル回路をバイパスして前記複数のサブスキャンチェーンを構成するバイパス回路を備えることを特徴とするスキャンテスト回路。
【請求項２】
前記バイパス回路は、物理的な配線で接続された前記スキャンモード信号に基づいて、前記圧縮スキャンモードと前記非圧縮スキャンモードとが切り替えられ、
製造後の前記スキャンテスト回路の製品において、前記非圧縮スキャンモードの場合に、外部から前記秘匿性要求回路にアクセスすることができない構造にしたことを特徴とする、請求項１に記載のスキャンテスト回路。
【請求項３】
スキャンテストモードが圧縮スキャンモードおよび非圧縮スキャンモードを有するスキャンテスト回路を用いて内部回路のスキャンテストを行うスキャンテスト方法であって、
前記圧縮スキャンモードに設定して、前記内部回路に含まれる複数のスキャンセル回路のうち、各々のスキャンセル回路を直列に接続して構成された複数のサブスキャンチェーンによってスキャンチェーンを構成するステップと、
前記複数のサブスキャンチェーンを用いて前記内部回路のスキャンテストを行い、前記複数のサブスキャンチェーンの出力信号を圧縮した圧縮信号をテスト結果として出力するステップと、
前記非圧縮スキャンモードに設定して、前記内部回路に含まれるスキャンセル回路のうち、秘匿性が要求される秘匿性要求回路のスキャンセル回路をバイパスして接続して前記複数のサブスキャンチェーンを構成し、前記複数のサブスキャンチェーンを直列に接続してスキャンチェーンを構成するステップと、
前記スキャンチェーンを用いて前記秘匿性要求回路以外の内部回路のスキャンテストを行い、前記スキャンチェーンの出力信号を前記テスト結果として出力するステップとを含むことを特徴とするスキャンテスト方法。
【請求項４】
物理的な配線で接続されたスキャンモード信号に基づいて、前記圧縮スキャンモードと前記非圧縮スキャンモードとを切り替え、
製造後の前記スキャンテスト回路の製品において、前記非圧縮スキャンモードの場合に、外部から前記秘匿性要求回路にアクセスすることができないことを特徴とする、請求項３に記載のスキャンテスト方法。
【請求項５】
内部回路に含まれる複数のフリップフロップを複数のスキャンセル回路に置換するステップと、
スキャンイネーブル信号を前記複数のスキャンセル回路のスキャンイネーブル入力端子に接続し、かつ、前段のスキャンセル回路の出力信号を後段のスキャンセル回路のスキャンイン入力端子に順次接続することにより、前記スキャンイネーブル信号がスキャンテストモードに設定された場合に、前記複数のスキャンセル回路を直列に接続してスキャンチェーンを構成するステップと、
前記スキャンチェーンを分割して複数のサブスキャンチェーンを構成するステップと、
スキャンモード信号が圧縮スキャンモードに設定された場合に、スキャンイン信号を分配した分配信号を、前記複数のサブスキャンチェーンの初段のスキャンセル回路のスキャンイン入力端子に入力し、前記スキャンモード信号が非圧縮スキャンモードに設定された場合に、前記スキャンイン信号を初段のサブスキャンチェーンの初段のスキャンセル回路のスキャンイン入力端子に入力し、かつ、前段のサブスキャンチェーンの最終段のスキャンセル回路の出力信号を後段のサブスキャンチェーンの初段のスキャンセル回路のスキャンイン入力端子に順次入力する入力分配回路を追加するステップと、
前記スキャンイン信号および前記スキャンモード信号を前記入力分配回路に接続し、かつ、前記入力分配回路の出力信号を、前記複数のサブスキャンチェーンの初段のスキャンセル回路のスキャンイン入力端子に接続するステップと、
前記圧縮スキャンモードの場合に、前記複数のサブスキャンチェーンの最終段のスキャンセル回路の出力信号を圧縮した圧縮信号をスキャンアウト信号として出力し、前記非圧縮スキャンモードの場合に、最終段のサブスキャンチェーンの最終段のスキャンセル回路の出力信号を前記スキャンアウト信号として出力する出力圧縮回路を追加するステップと、
前記スキャンアウト信号および前記スキャンモード信号を前記出力圧縮回路に接続し、かつ、前記複数のサブスキャンチェーンの最終段のスキャンセル回路の出力信号を前記出力圧縮回路に接続するステップと、
秘匿性が要求される秘匿性要求回路の情報に基づいて、前記内部回路のうち、前記秘匿性要求回路を特定するステップと、
前記圧縮スキャンモードの場合に、前記秘匿性要求回路のスキャンセル回路を接続して前記複数のサブスキャンチェーンを構成し、前記非圧縮スキャンモードの場合に、前記秘匿性要求回路のスキャンセル回路をバイパスし、前記秘匿性要求回路の初段のスキャンセル回路の前段の回路の出力信号を、前記秘匿性要求回路の最終段のスキャンセル回路の後段の回路に接続して前記複数のサブスキャンチェーンを構成するバイパス回路を追加するステップと、
前記秘匿性要求回路の初段のスキャンセル回路の前段の回路の出力信号、前記秘匿性要求回路の最終段のスキャンセル回路の出力信号、および、前記スキャンモード信号を前記バイパス回路に接続し、前記バイパス回路の出力信号を、前記秘匿性要求回路の最終段のスキャンセル回路の後段の回路に接続するステップとを含むことを特徴とするスキャンテスト回路の設計方法。
【請求項６】
前記スキャンモード信号を前記バイパス回路に接続するステップは、前記スキャンモード信号に基づいて、前記圧縮スキャンモードと前記非圧縮スキャンモードとが切り替えられるように、物理的な配線で前記スキャンモード信号を接続し、
製造後の前記スキャンテスト回路の製品において、前記非圧縮スキャンモードの場合に、外部から前記秘匿性要求回路にアクセスすることができない構造にすることを特徴とする、請求項５に記載のスキャンテスト回路の設計方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路（LSI）の内部回路のテストを容易化するスキャンテスト回路、スキャンテスト方法およびスキャンテスト回路の設計方法に関するものである。
【背景技術】
【０００２】
スキャンチェーンを用いてLSIの内部回路のテストを行うスキャンテスト方式が、昨今のLSIでは使用されている。スキャンテスト方式は、回路内部の観測性が高く、テスト容易化のために欠かせない手法である。しかし、一般に、スキャンテスト方式を採用するスキャンテスト回路は、その観測性の高さから、セキュリティホールになりやすいという問題が指摘されている。
【０００３】
近年のスキャンテスト回路は、出力信号を圧縮して出力する圧縮スキャンモードと、出力信号を圧縮せずに出力する非圧縮スキャンモードとを備えている。非圧縮スキャンモードでは、回路内部のスキャンセル回路の出力信号の値が直接外部へ読み出せる状態になるため、これがセキュリティ上の問題となる。一方、圧縮スキャンモードでは、出力信号の値が圧縮されるため、セキュリティ上の問題の程度は低い。
【０００４】
また、一般的に、高い秘匿性が要求される高秘匿性要求回路をスキャンテスト回路のテスト対象から外し、別途専用のテスト容易化設計および出荷テストを行っているが、そのためのオーバヘッドが発生するという別の問題がある。
【０００５】
スキャンテスト回路に関する先行技術文献には、特許文献１〜５および非特許文献１がある。
【０００６】
特許文献１には、スキャンパス回路に入力されるシリアルデータに対して論理演算を行ってモード信号を生成し、モード信号の状態に応じて、スキャンパス回路の出力データをそのまま出力するか、異なるデータを出力して秘匿することが記載されている。
【０００７】
特許文献２には、機密データを格納するメモリから出力される信号をスキャンFFチェーンのテスト回路に取り込んでテストを行い、テスト回路から機密データを直接外部出力しないことによって機密性を保持することが記載されている。
【０００８】
特許文献３には、複数の圧縮スキャンテスト対応半導体集積回路を備え、それぞれの圧縮スキャンテスト対応半導体集積回路のスキャン出力端子を後段のスキャン入力端子へ順次接続して１つのスキャンテスト経路を形成することが記載されている。
【０００９】
特許文献４には、バイパステストモードでのスキャンチェーン故障診断用テストパターンと、圧縮テストモードでのスキャンチェーン用のテストパターンの両方でのテスト結果から、故障候補スキャン・フリップフロップを絞り込み、圧縮テストモードのスキャンチェーン用のテストパターンを用いたテスト結果と比較し、圧縮テストモードとバイパステストモードでのスキャンチェーン構造の差異から、圧縮テストモードにおける故障スキャンチェーンを特定することが記載されている。
【００１０】
特許文献５には、スキャンパス間の出力応答を比較することによってスキャンパス自体の故障を検査することが記載されている。
【００１１】
非特許文献１には、制御・観測共にされてはならないFFを可制御性・可観測性共に付加しないノンスキャンFFで構成し、制御・観測共にされてもよいFFは可制御性・可観測性を付加した通常のスキャンFFで構成することが記載されている。また、同文献には、観測されてはならないが、制御はされてよいFFには可制御性のみを付加し、逆に制御されてはならないが、観測はされてもよいFFには可観測性のみを付加することが記載されている。
【先行技術文献】
【特許文献】
【００１２】
【特許文献１】特開２００１−１４１７９１号公報
【特許文献２】特開２００８−２３４７８２号公報
【特許文献３】特開２００８−２８６５５３号公報
【特許文献４】特開２０１３−３６９０３号公報
【特許文献５】特開２００６−３４９５４８号公報
【非特許文献】
【００１３】
【非特許文献１】伊藤侑磨、吉村正義、安浦寛人、「スキャンパス攻撃を考慮した暗号LSIのテスタビリティ評価」、信学技報、社団法人電子情報通信学会、２００８年２月、第１０７巻、第４８２号、p.57-62
【発明の概要】
【発明が解決しようとする課題】
【００１４】
しかし、特許文献１の手法では、高秘匿性要求回路専用に、圧縮回路または暗号化回路が必要となるため、例えば、制御用回路の加工および回路面積の増加等の点でオーバヘッドが大きい。
また、特許文献２の手法は、機密データを格納するメモリが対象であり、特許文献３は、高秘匿性要求回路のテストを対象としていない。
特許文献４および５は、非圧縮スキャンモードおよび圧縮スキャンモードを備えているが、いずれも故障解析を対象とし、高秘匿性要求回路のテストを対象としていない。
非特許文献１は、圧縮スキャンモードを備えていないため、例えば、制御用回路の加工およびパターン長の増加等の点でオーバヘッドが大きい。
【００１５】
本発明の目的は、従来技術の問題点を解消し、オーバヘッドの増加を抑え、高秘匿性要求回路の秘匿性を守りながらテストを行うことができるスキャンテスト回路、スキャンテスト方法およびスキャンテスト回路の設計方法を提供することにある。
【課題を解決するための手段】
【００１６】
上記目的を達成するために、本発明は、スキャンイネーブル信号がスキャンテストモード、かつ、スキャンモード信号が圧縮スキャンモードに設定された場合に、内部回路に含まれる複数のスキャンセル回路のうち、各々のスキャンセル回路を直列に接続して構成された複数のサブスキャンチェーンによって構成され、前記スキャンイネーブル信号がスキャンテストモード、かつ、前記スキャンモード信号が非圧縮スキャンモードに設定された場合に、前記複数のサブスキャンチェーンを直列に接続して構成されるスキャンチェーンと、
前記圧縮スキャンモードの場合に、スキャンイン信号を分配した分配信号を、前記複数のサブスキャンチェーンの初段のスキャンセル回路のスキャンイン入力端子に入力し、前記非圧縮スキャンモードの場合に、前記スキャンイン信号を初段のサブスキャンチェーンの初段のスキャンセル回路のスキャンイン入力端子に入力し、かつ、前段のサブスキャンチェーンの最終段のスキャンセル回路の出力信号を後段のサブスキャンチェーンの初段のスキャンセル回路のスキャンイン入力端子に順次入力する入力分配回路と、
前記圧縮スキャンモードの場合に、前記複数のサブスキャンチェーンの最終段のスキャンセル回路の出力信号を圧縮した圧縮信号をスキャンアウト信号として出力し、前記非圧縮スキャンモードの場合に、最終段のサブスキャンチェーンの最終段のスキャンセル回路の出力信号を前記スキャンアウト信号として出力する出力圧縮回路とを備え、
前記スキャンチェーンは、前記圧縮スキャンモードの場合に、前記内部回路に含まれる複数のスキャンセル回路のうち、秘匿性が要求される秘匿性要求回路のスキャンセル回路を接続して前記複数のサブスキャンチェーンを構成し、前記非圧縮スキャンモードの場合に、前記秘匿性要求回路のスキャンセル回路をバイパスして前記複数のサブスキャンチェーンを構成するバイパス回路を備えることを特徴とするスキャンテスト回路を提供するものである。
【００１７】
ここで、前記バイパス回路は、物理的な配線で接続された前記スキャンモード信号に基づいて、前記圧縮スキャンモードと前記非圧縮スキャンモードとが切り替えられ、
製造後の前記スキャンテスト回路の製品において、前記非圧縮スキャンモードの場合に、外部から前記秘匿性要求回路にアクセスすることができない構造にしたことが好ましい。
【００１８】
また、本発明は、スキャンテストモードが圧縮スキャンモードおよび非圧縮スキャンモードを有するスキャンテスト回路を用いて内部回路のスキャンテストを行うスキャンテスト方法であって、
前記圧縮スキャンモードに設定して、前記内部回路に含まれる複数のスキャンセル回路のうち、各々のスキャンセル回路を直列に接続して構成された複数のサブスキャンチェーンによってスキャンチェーンを構成するステップと、
前記複数のサブスキャンチェーンを用いて前記内部回路のスキャンテストを行い、前記複数のサブスキャンチェーンの出力信号を圧縮した圧縮信号をテスト結果として出力するステップと、
前記非圧縮スキャンモードに設定して、前記内部回路に含まれるスキャンセル回路のうち、秘匿性が要求される秘匿性要求回路のスキャンセル回路をバイパスして接続して前記複数のサブスキャンチェーンを構成し、前記複数のサブスキャンチェーンを直列に接続してスキャンチェーンを構成するステップと、
前記スキャンチェーンを用いて前記秘匿性要求回路以外の内部回路のスキャンテストを行い、前記スキャンチェーンの出力信号を前記テスト結果として出力するステップとを含むことを特徴とするスキャンテスト方法を提供する。
【００１９】
ここで、物理的な配線で接続されたスキャンモード信号に基づいて、前記圧縮スキャンモードと前記非圧縮スキャンモードとを切り替え、
製造後の前記スキャンテスト回路の製品において、前記非圧縮スキャンモードの場合に、外部から前記秘匿性要求回路にアクセスすることができないことが好ましい。
【００２０】
さらに、本発明は、内部回路に含まれる複数のフリップフロップを複数のスキャンセル回路に置換するステップと、
スキャンイネーブル信号を前記複数のスキャンセル回路のスキャンイネーブル入力端子に接続し、かつ、前段のスキャンセル回路の出力信号を後段のスキャンセル回路のスキャンイン入力端子に順次接続することにより、前記スキャンイネーブル信号がスキャンテストモードに設定された場合に、前記複数のスキャンセル回路を直列に接続してスキャンチェーンを構成するステップと、
前記スキャンチェーンを分割して複数のサブスキャンチェーンを構成するステップと、
スキャンモード信号が圧縮スキャンモードに設定された場合に、スキャンイン信号を分配した分配信号を、前記複数のサブスキャンチェーンの初段のスキャンセル回路のスキャンイン入力端子に入力し、前記スキャンモード信号が非圧縮スキャンモードに設定された場合に、前記スキャンイン信号を初段のサブスキャンチェーンの初段のスキャンセル回路のスキャンイン入力端子に入力し、かつ、前段のサブスキャンチェーンの最終段のスキャンセル回路の出力信号を後段のサブスキャンチェーンの初段のスキャンセル回路のスキャンイン入力端子に順次入力する入力分配回路を追加するステップと、
前記スキャンイン信号および前記スキャンモード信号を前記入力分配回路に接続し、かつ、前記入力分配回路の出力信号を、前記複数のサブスキャンチェーンの初段のスキャンセル回路のスキャンイン入力端子に接続するステップと、
前記圧縮スキャンモードの場合に、前記複数のサブスキャンチェーンの最終段のスキャンセル回路の出力信号を圧縮した圧縮信号をスキャンアウト信号として出力し、前記非圧縮スキャンモードの場合に、最終段のサブスキャンチェーンの最終段のスキャンセル回路の出力信号を前記スキャンアウト信号として出力する出力圧縮回路を追加するステップと、
前記スキャンアウト信号および前記スキャンモード信号を前記出力圧縮回路に接続し、かつ、前記複数のサブスキャンチェーンの最終段のスキャンセル回路の出力信号を前記出力圧縮回路に接続するステップと、
秘匿性が要求される秘匿性要求回路の情報に基づいて、前記内部回路のうち、前記秘匿性要求回路を特定するステップと、
前記圧縮スキャンモードの場合に、前記秘匿性要求回路のスキャンセル回路を接続して前記複数のサブスキャンチェーンを構成し、前記非圧縮スキャンモードの場合に、前記秘匿性要求回路のスキャンセル回路をバイパスし、前記秘匿性要求回路の初段のスキャンセル回路の前段の回路の出力信号を、前記秘匿性要求回路の最終段のスキャンセル回路の後段の回路に接続して前記複数のサブスキャンチェーンを構成するバイパス回路を追加するステップと、
前記秘匿性要求回路の初段のスキャンセル回路の前段の回路の出力信号、前記秘匿性要求回路の最終段のスキャンセル回路の出力信号、および、前記スキャンモード信号を前記バイパス回路に接続し、前記バイパス回路の出力信号を、前記秘匿性要求回路の最終段のスキャンセル回路の後段の回路に接続するステップとを含むことを特徴とするスキャンテスト回路の設計方法を提供する。
【００２１】
ここで、前記スキャンモード信号を前記バイパス回路に接続するステップは、前記スキャンモード信号に基づいて、前記圧縮スキャンモードと前記非圧縮スキャンモードとが切り替えられるように、物理的な配線で前記スキャンモード信号を接続し、
製造後の前記スキャンテスト回路の製品において、前記非圧縮スキャンモードの場合に、外部から前記秘匿性要求回路にアクセスすることができない構造にすることを特徴とすることが好ましい。
【発明の効果】
【００２２】
本発明では、非圧縮スキャンモードの場合に、スキャンテストが、高秘匿性要求回路のスキャンセル回路をバイパスして行われるため、高秘匿性要求回路の秘匿性を守ることができる。
【００２３】
また、本発明では、圧縮スキャンモードの場合に、スキャンテストが、高秘匿性要求回路のスキャンセル回路を接続して行われるため、高秘匿性要求回路を完全にテスト対象外とする場合に比べて、高いテスト品質（高故障検出）を維持することができる。
【００２４】
さらに、本発明では、既存の入力分配回路および出力圧縮回路をそのまま使用して、圧縮スキャンモードの場合に、高秘匿性要求回路のテストが行われる。つまり、内部回路のテスト結果を圧縮して出力することによって、高秘匿性要求回路の機密保持を実現する。そのため、制御用回路の追加、回路面積の増加、パターン長の増加等のオーバヘッドを最小限に抑えることができる。
【図面の簡単な説明】
【００２５】
【図１】本発明のスキャンテスト回路の構成を表す一実施形態の回路図である。
【図２】従来のスキャンテスト回路の設計方法を表す一例のフローチャートである。
【図３】スキャンテスト回路の挿入の処理を表す一例のフローチャートである。
【図４】本発明のスキャンテスト回路の設計方法を表す一実施形態のフローチャートである。
【図５】高秘匿性要求回路に対応する処理を表す一実施形態のフローチャートである。
【発明を実施するための形態】
【００２６】
以下に、添付の図面に示す好適実施形態に基づいて、本発明のスキャンテスト回路、スキャンテスト方法およびスキャンテスト回路の設計方法を詳細に説明する。
【００２７】
図１は、本発明のスキャンテスト回路の構成を表す一実施形態の回路図である。同図に示すスキャンテスト回路１０は、LSIの内部回路のテストを容易化するものであり、スキャンチェーン１２と、入力分配回路１４と、出力圧縮回路１６とを備えている。
【００２８】
内部回路は、組み合わせ回路と、スキャンセル回路とを含む。また、内部回路は、本実施形態の場合、高い秘匿性が要求されない回路と、高い秘匿性が要求される高秘匿性要求回路の情報に基づいて特定される高秘匿性要求回路とによって構成されている。図１中、点線で囲まれた領域に含まれる内部回路が高秘匿性要求回路４０であり、組み合わせ回路５０と、スキャンセル回路２０を含む。それ以外の内部回路は高い秘匿性が要求されない回路である。
【００２９】
スキャンテスト回路１０は、スキャンイネーブル信号によって設定される通常動作モードおよびスキャンテストモードを有し、スキャンイネーブル信号がローレベルの場合に通常動作モードとなり、ハイレベルの場合にスキャンテストモードとなる。
また、スキャンテストモードは、スキャンモード信号（Compress）によって設定される圧縮スキャンモードおよび非圧縮スキャンモードを有し、スキャンモード信号がローレベルの場合に非圧縮スキャンモードとなり、ハイレベルの場合に圧縮スキャンモードとなる。
【００３０】
スキャンテストモードは、内部回路のスキャンテストを行うモードであり、通常動作モードは、通常動作時の入力信号に基づいて内部回路が通常動作するモードである。圧縮スキャンモードは、複数のサブスキャンチェーンの出力信号であるスキャンテストの結果を圧縮して出力するモードであり、非圧縮スキャンモードは、スキャンチェーンの出力信号であるスキャンテストの結果を圧縮せずに出力するモードである。
【００３１】
スキャンテスト回路１０において、スキャンチェーン１２は、スキャンイネーブル信号がスキャンテストモードに設定された場合に、内部回路に含まれる複数のスキャンセル回路を直列に接続してシフトレジスタを構成するものである。スキャンチェーン１２は、本実施形態の場合、５つのサブスキャンチェーン１２ａ、１２ｂ、１２ｃ、１２ｄ、１２ｅと、バイパス回路１８とによって構成されている。
【００３２】
初段（１段目）のサブスキャンチェーン１２ａは、内部回路に含まれる５つのスキャンセル回路２０ａ、２０ｂ、２０ｃ、２０ｄ、２０ｅによって構成されている。
【００３３】
スキャンセル回路２０ａ、２０ｂ、２０ｃ、２０ｄ、２０ｅのデータ入力端子Dには、通常動作時の入力信号、例えば、外部から入力される入力信号、内部回路に含まれる前段の組み合わせ回路５０の出力信号等が入力されている。また、スキャンセル回路２０ａ、２０ｂ、２０ｃ、２０ｄ、２０ｅのスキャンイネーブル入力端子SEにはスキャンイネーブル信号が入力され、クロック入力端子CKにはクロック信号が入力されている。
【００３４】
初段のスキャンセル回路２０ａのスキャンイン入力端子SIには、入力分配回路１４からスキャンイン信号（分配信号）が入力されている。また、２段目〜最終段（５段目）のスキャンセル回路２０ｂ、２０ｃ、２０ｄ、２０ｅのスキャンイン入力端子SIには、それぞれ、前段のスキャンセル回路２０ａ、２０ｂ、２０ｃ、２０ｄのデータ出力端子Qから出力される出力信号が入力されている。
【００３５】
図示省略しているが、サブスキャンチェーン１２ａ、１２ｂ、１２ｃ、１２ｄのスキャンセル回路２０ａ、２０ｂ、２０ｃ、２０ｄ、２０ｅの出力信号は、各々後段の内部回路に含まれる組み合わせ回路５０に入力される。組み合わせ回路５０の出力信号は、各々後段のサブスキャンチェーン１２ｂ、１２ｃ、１２ｄ、１２ｅのスキャンセル回路２０ａ、２０ｂ、２０ｃ、２０ｄ、２０ｅのデータ入力端子Dに入力される。
【００３６】
サブスキャンチェーン１２ａのスキャンセル回路２０ａ、２０ｂ、２０ｃ、２０ｄ、２０ｅからは、スキャンイネーブル信号が通常動作モードに設定された場合に、クロック信号に同期して、通常動作時の入力信号が出力され、スキャンイネーブル信号がスキャンテストモードに設定された場合に、クロック信号に同期して、スキャンイン信号および前段のスキャンセル回路２０ａ、２０ｂ、２０ｃ、２０ｄの出力信号が出力される。
【００３７】
２段目のサブスキャンチェーン１２ｂは、初段のサブスキャンチェーン１２ａにおいて、さらに、バイパス回路１８を備えている。バイパス回路１８は、本実施形態の場合、マルチプレクサ２２によって構成されている。
【００３８】
マルチプレクサ２２の入力端子０、１には、それぞれ、初段のスキャンセル回路２０ａおよび４段目のスキャンセル回路２０ｄの出力信号が入力され、マルチプレクサ２２の選択入力端子にはスキャンモード信号が入力されている。また、マルチプレクサ２２から出力される出力信号は、最終段のスキャンセル回路２０ｅのスキャンイン入力端子SIに入力されている。
【００３９】
マルチプレクサ２２からは、スキャンモード信号が圧縮スキャンモードに設定された場合に、４段目のスキャンセル回路２０ｄの出力信号が出力され、スキャンモード信号が非圧縮スキャンモードに設定された場合に、初段のスキャンセル回路２０ａの出力信号が出力される。
【００４０】
つまり、バイパス回路１８は、圧縮スキャンモードの場合に、内部回路に含まれる複数のスキャンセル回路のうち、高秘匿性要求回路４０のスキャンセル回路２０ｂ、２０ｃ、２０ｄを接続してサブスキャンチェーン１２ｂを構成する。また、非圧縮スキャンモードの場合に、高秘匿性要求回路４０のスキャンセル回路２０ｂ、２０ｃ、２０ｄをバイパスし、高秘匿性要求回路４０の初段のスキャンセル回路２０ｂの前段の回路、図１の例の場合には、初段のスキャンセル回路２０ａの出力信号を、高秘匿性要求回路４０の最終段のスキャンセル回路２０ｄの後段の回路、図１の例の場合には、最終段のスキャンセル回路２０ｅに接続してサブスキャンチェーン１２ｂを構成する。
【００４１】
３段目のサブスキャンチェーン１２ｃは、２段目のサブスキャンチェーン１２ｂと同様の構成であり、４段目および最終段のサブスキャンチェーン１２ｄ、１２ｅは、初段のサブスキャンチェーン１２ａと同様の構成である。
【００４２】
つまり、スキャンチェーン１２は、スキャンテストモード、かつ、圧縮スキャンモードの場合に、内部回路に含まれる複数のスキャンセル回路のうち、高秘匿性要求回路のスキャンセル回路を含めて、各々のスキャンセル回路を直列に接続して構成された複数のサブスキャンチェーンによって構成される。一方、スキャンテストモード、かつ、非圧縮スキャンモードの場合に、高秘匿性要求回路のスキャンセル回路をバイパスして複数のサブスキャンチェーンが構成され、複数のサブスキャンチェーンを直列に接続してスキャンチェーン１２が構成される。
【００４３】
続いて、入力分配回路（De-Compressor）１４は、圧縮スキャンモードの場合に、スキャンイン信号（Scan In）を５つのサブスキャンチェーン１２ａ、１２ｂ、１２ｃ、１２ｄ、１２ｅに分配するものである。入力分配回路１４は、本実施形態の場合、４つのマルチプレクサ２４ｂ、２４ｃ、２４ｄ、２４ｅによって構成されている。
【００４４】
初段のサブスキャンチェーン１２ａの初段のスキャンセル回路２０ａのスキャンイン入力端子SIには、入力分配回路１４からスキャンイン信号が入力されている。
【００４５】
マルチプレクサ２４ｂ、２４ｃ、２４ｄ、２４ｅの入力端子０には、各々前段のサブスキャンチェーン１２ａ、１２ｂ、１２ｃ、１２ｄの最終段のスキャンセル回路２０ｅの出力信号が入力され、入力端子１にはスキャンイン信号が入力されている。マルチプレクサ２４ｂ、２４ｃ、２４ｄ、２４ｅの選択入力端子にはスキャンモード信号が入力され、その出力信号は、各々対応するサブスキャンチェーン１２ｂ、１２ｃ、１２ｄ、１２ｅの初段のスキャンセル回路２０ａのスキャンイン入力端子SIに入力されている。
【００４６】
マルチプレクサ２４ｂ、２４ｃ、２４ｄ、２４ｅからは、圧縮スキャンモードの場合に、スキャンイン信号が分配信号として出力され、非圧縮スキャンモードの場合に、各々前段のサブスキャンチェーン１２ａ、１２ｂ、１２ｃ、１２ｄの最終段のスキャンセル回路２０ｅの出力信号が出力される。
【００４７】
つまり、入力分配回路１４は、圧縮スキャンモードの場合に、スキャンイン信号を分配した分配信号を、５つのサブスキャンチェーン１２ａ、１２ｂ、１２ｃ、１２ｄ、１２ｅの初段のスキャンセル回路２０ａのスキャンイン入力端子SIに入力する。一方、非圧縮スキャンモードの場合に、スキャンイン信号を初段のサブスキャンチェーン１２ａの初段のスキャンセル回路２０ａのスキャンイン入力端子SIに入力し、かつ、サブスキャンチェーン１２ａ、１２ｂ、１２ｃ、１２ｄの最終段のスキャンセル回路２０ｅの出力信号を各々後段のサブスキャンチェーン１２ｂ、１２ｃ、１２ｄ、１２ｅの初段のスキャンセル回路２０ａのスキャンイン入力端子SIに順次入力する。
【００４８】
最後に、出力圧縮回路（Compressor）１６は、圧縮スキャンモードの場合に、５つのサブスキャンチェーン１２ａ、１２ｂ、１２ｃ、１２ｄ、１２ｅの出力信号を圧縮して出力するものである。出力圧縮回路１６は、本実施形態の場合、４つのEXOR回路２６ａ、２６ｂ、２６ｃ、２６ｄと、マルチプレクサ２８とによって構成されている。
【００４９】
EXOR回路２６ａには、初段および２段目のサブスキャンチェーン１２ａ、１２ｂの最終段のスキャンセル回路２０ｅの出力信号が入力され、EXOR回路２６ｂには、３段目および４段目のサブスキャンチェーン１２ｃ、１２ｄの最終段のスキャンセル回路２０ｅの出力信号が入力されている。また、EXOR回路２６ｃには、EXOR回路２６ａ、２６ｂの出力信号が入力されている。EXOR回路２６ｄには、EXOR回路２６ｃの出力信号および最終段のサブスキャンチェーン１２ｅの最終段のスキャンセル回路２０ｅの出力信号が入力されている。
【００５０】
EXOR回路２６ａ、２６ｂ、２６ｃ、２６ｄによって５つのサブスキャンチェーン１２ａ、１２ｂ、１２ｃ、１２ｄ、１２ｅの出力信号が圧縮され、EXOR回路２６ｄからは、その圧縮信号が出力される。
【００５１】
マルチプレクサ２８の入力端子０には、最終段のサブスキャンチェーン１２ｅの最終段のスキャンセル回路２０ｅの出力信号が入力され、入力端子１には、EXOR回路２６ｄの出力信号が入力されている。また、マルチプレクサ２８の選択入力端子にはスキャンモード信号が入力されている。マルチプレクサ２８からは、スキャンアウト信号（Scan Out）が出力されている。
【００５２】
マルチプレクサ２８からは、圧縮スキャンモードの場合に、EXOR回路２６ｄの出力信号、つまり、圧縮信号が出力され、非圧縮スキャンモードの場合に、最終段のサブスキャンチェーン１２ｅの最終段のスキャンセル回路２０ｅの出力信号が出力される。
【００５３】
つまり、出力圧縮回路１６は、圧縮スキャンモードの場合に、５つのサブスキャンチェーン１２ａ、１２ｂ、１２ｃ、１２ｄ、１２ｅの最終段のスキャンセル回路２０ｅの出力信号を圧縮した圧縮信号をスキャンアウト信号として出力する。一方、非圧縮スキャンモードの場合に、最終段のサブスキャンチェーン１２ｅの最終段のスキャンセル回路２０ｅの出力信号、つまり、スキャンチェーン１２の最終段のスキャンセル回路２０ｅの出力信号をスキャンアウト信号として出力する。
【００５４】
次に、スキャンテスト回路１０の動作を説明する。
【００５５】
通常動作を行う場合、スキャンイネーブル信号が通常動作モードに設定される。
通常動作モードの場合、内部回路に含まれる全てのスキャンセル回路は、クロック信号に同期して、通常動作時の入力信号を保持する。つまり、スキャンチェーン１２は構成されない。
これにより、内部回路は、通常動作時の入力信号に基づいて通常動作する。
【００５６】
スキャンテストを行う場合、まず、スキャンイネーブル信号がスキャンテストモード（シフトモード）に設定され、続いて、通常動作モード（キャプチャモード）に設定され、再びスキャンテストモード（シフトモード）に設定される。
また、スキャンテストモードの場合、スキャンテスト回路１０は、非圧縮スキャンモードまたは圧縮スキャンモードで動作する。
【００５７】
まず、非圧縮スキャンモードの場合のスキャンテスト回路１０の動作を説明する。
【００５８】
非圧縮スキャンモードの場合、まず、スキャンイネーブル信号がスキャンテストモード（シフトモード）に設定される。
【００５９】
この場合、入力分配回路１４のマルチプレクサ２４ｂ、２４ｃ、２４ｄ、２４ｅからは、各々前段のサブスキャンチェーン１２ａ、１２ｂ、１２ｃ、１２ｄの最終段のスキャンセル回路２０ｅの出力信号が出力される。
【００６０】
つまり、初段のサブスキャンチェーン１２ａの初段のスキャンセル回路２０ａのスキャンイン入力端子SIには、入力分配回路１４からスキャンイン信号が入力され、２段目〜最終段のサブスキャンチェーン１２ｂ、１２ｃ、１２ｄ、１２ｅの初段のスキャンセル回路２０ａのスキャンイン入力端子SIには、それぞれ、入力分配回路１４からマルチプレクサ２４ｂ、２４ｃ、２４ｄ、２４ｅの出力信号、つまり、前段のサブスキャンチェーン１２ａ、１２ｂ、１２ｃ、１２ｄの最終段のスキャンセル回路２０ｅの出力信号が入力される。
これにより、５つのサブスキャンチェーン１２ａ、１２ｂ、１２ｃ、１２ｄ、１２ｅを直列に接続してスキャンチェーン１２が構成される。
【００６１】
また、２段目および３段目のサブスキャンチェーン１２ｂ、１２ｃのバイパス回路１８を構成するマルチプレクサ２２からは、それぞれ、サブスキャンチェーン１２ｂ、１２ｃの初段のスキャンセル回路２０ａの出力信号が出力される。
これにより、高秘匿性要求回路４０のスキャンセル回路２０ｂ、２０ｃ、２０ｄをバイパスしてサブスキャンチェーン１２ｂ、１２ｃが構成される。
【００６２】
出力圧縮回路１６のマルチプレクサ２８からは、最終段のサブスキャンチェーン１２ｅの最終段のスキャンセル回路２０ｅの出力信号が出力される。
【００６３】
非圧縮スキャンモードの場合、スキャンチェーン１２を構成する全てのスキャンセル回路の合計の段数である２５段から、高秘匿性要求回路４０のスキャンセル回路２０ｂ、２０ｃ、２０ｄの合計の数である６段を差し引いた１９段に相当する数だけ、クロック信号およびスキャンイン信号が順次入力される。
【００６４】
スキャンチェーン１２の初段のスキャンセル回路（初段のサブスキャンチェーン１２ａの初段のスキャンセル回路２０ａ）は、クロック信号に同期して、スキャンイン入力端子SIに入力されるスキャンイン信号を順次保持し、それ以降のスキャンチェーンのスキャンセル回路は、クロック信号に同期して、それぞれ、前段のスキャンセル回路の出力信号を順次保持する。
【００６５】
これにより、スキャンイン信号は、スキャンチェーン１２の初段のスキャンセル回路から、順次後段のスキャンセル回路へシフトされ、スキャンチェーン１２にテストパターンがセットされる。
【００６６】
内部回路に含まれる組み合わせ回路５０は、スキャンチェーン１２にセットされたテストパターンに基づいて動作し、組み合わせ回路５０から、スキャンテストのテスト結果が出力される。
【００６７】
続いて、スキャンイネーブル信号が通常動作モード（キャプチャモード）に設定される。
【００６８】
この場合、スキャンチェーン１２は構成されず、内部回路に含まれる全てのスキャンセル回路は、クロック信号に同期して、その前段の組み合わせ回路５０の出力信号（テスト結果）を保持する。
これにより、内部回路に含まれる全てのスキャンセル回路にテスト結果が格納される。
【００６９】
続いて、再びスキャンイネーブル信号がスキャンテストモード（シフトモード）に設定される。
【００７０】
この場合、スキャンテスト回路１０は、前述の通りに構成され、同様にスキャンチェーンを構成するスキャンセル回路の合計の段数である１９段に相当する数だけ、クロック信号が順次入力される。
【００７１】
同様に、スキャンチェーン１２の初段のスキャンセル回路は、クロック信号に同期して、スキャンイン入力端子SIに入力されるスキャンイン信号を順次保持し、それ以降のスキャンチェーンのスキャンセル回路は、クロック信号に同期して、それぞれ、前段のスキャンセル回路の出力信号を順次保持する。
【００７２】
これにより、スキャンチェーン１２のスキャンセル回路に保持されたテスト結果は、スキャンチェーン１２の初段のスキャンセル回路から、順次後段のスキャンセル回路へシフトされ、その最終段のスキャンセル回路（最終段のサブスキャンチェーン１２ｅの最終段のスキャンセル回路２０ｅ）から順次出力される。
また、出力圧縮回路１６のマルチプレクサ２８からは、スキャンチェーン１２の最終段のスキャンセル回路の出力信号が、スキャンアウト信号として順次出力される。
【００７３】
このように、非圧縮スキャンモードの場合、５つのサブスキャンチェーン１２ａ、１２ｂ、１２ｃ、１２ｄ、１２ｅが直列に接続されてスキャンチェーン１２が構成される。非圧縮スキャンモードの場合に、スキャンテストが、高秘匿性要求回路４０のスキャンセル回路２０ｂ、２０ｃ、２０ｄをバイパスして行われるため、高秘匿性要求回路４０の秘匿性を守ることができる。
【００７４】
言い換えると、高秘匿性要求回路４０を接続してサブスキャンチェーンを構成するか、高秘匿性要求回路４０をバイパスしてサブスキャンチェーンを構成するかは、バイパス回路１８のマルチプレクサ２２によって、物理的な配線で接続されたスキャンモード信号に基づいて自動的に切り替えられ、非圧縮スキャンモードの場合に、外部からの操作によって高秘匿性要求回路４０を接続するかバイパスするかを自由に切り替えることはできない。
従って、製造後のスキャンテスト回路の製品において、非圧縮スキャンモードの場合に、外部から高秘匿性要求回路４０にアクセスすることができない構造にしたため、高秘匿性要求回路４０の秘匿性を守ることができる。
【００７５】
次に、圧縮スキャンモードの場合のスキャンテスト回路１０の動作を説明する。
【００７６】
圧縮スキャンモードの場合も、まず、スキャンイネーブル信号がスキャンテストモード（シフトモード）に設定される。
【００７７】
この場合、入力分配回路１４のマルチプレクサ２４ｂ、２４ｃ、２４ｄ、２４ｅからは、スキャンイン信号が分配された分配信号が出力される。
【００７８】
つまり、初段のサブスキャンチェーン１２ａの初段のスキャンセル回路２０ａのスキャンイン入力端子SIには、入力分配回路１４からスキャンイン信号（分配信号）が入力され、２段目〜最終段のサブスキャンチェーン１２ｂ、１２ｃ、１２ｄ、１２ｅのスキャンイン入力端子SIには、入力分配回路１４からマルチプレクサ２４ｂ、２４ｃ、２４ｄ、２４ｅの出力信号、つまり、分配信号が入力される。
これにより、５つのサブスキャンチェーン１２ａ、１２ｂ、１２ｃ、１２ｄ、１２ｅは直列に接続されず、５つのサブスキャンチェーン１２ａ、１２ｂ、１２ｃ、１２ｄ、１２ｅが構成される。
【００７９】
また、２段目および３段目のサブスキャンチェーン１２ｂ、１２ｃのバイパス回路１８を構成するマルチプレクサ２２からは、４段目のスキャンセル回路２０ｄの出力信号が出力される。
これにより、高秘匿性要求回路４０のスキャンセル回路２０ｂ、２０ｃ、２０ｄを接続してサブスキャンチェーン１２ｂ、１２ｃが構成され、５つのスキャンセル回路２０ａ、２０ｂ、２０ｃ、２０ｄ、２０ｅが直列に接続される。
【００８０】
出力圧縮回路１６のマルチプレクサ２８からは、EXOR回路２６ｄの出力信号、つまり、EXOR回路２６ａ、２６ｂ、２６ｃ、２６ｄが、５つのサブスキャンチェーン１２ａ、１２ｂ、１２ｃ、１２ｄ、１２ｅの最終段のスキャンセル回路２０ｅの出力信号のEXOR（排他的論理和）を算出することによって圧縮した圧縮信号が出力される。
【００８１】
圧縮スキャンモードの場合、各々のサブスキャンチェーン１２ａ、１２ｂ、１２ｃ、１２ｄ、１２ｅを構成する全てのスキャンセル回路２０ａ、２０ｂ、２０ｃ、２０ｄ、２０ｅの合計の段数である５段に相当する数だけ、クロック信号およびスキャンイン信号が順次入力される。
【００８２】
サブスキャンチェーン１２ａの初段のスキャンセル回路２０ａは、クロック信号に同期して、スキャンイン入力端子SIに入力されるスキャンイン信号を順次保持し、２段目〜最終段のサブスキャンチェーン１２ｂ、１２ｃ、１２ｄ、１２ｅの初段のスキャンセル回路２０ａは、クロック信号に同期して、それぞれ、入力分配回路１４のマルチプレクサ２４ｂ、２４ｃ、２４ｄ、２４ｅの出力信号、つまり、分配信号を順次保持する。
また、サブスキャンチェーン１２ａ、１２ｂ、１２ｃ、１２ｄ、１２ｅの２段目〜最終段のスキャンセル回路２０ｂ、２０ｃ、２０ｄ、２０ｅは、クロック信号に同期して、それぞれ、前段のスキャンセル回路２０ａ、２０ｂ、２０ｃ、２０ｄの出力信号を順次保持する。
【００８３】
これにより、スキャンイン信号および分配信号は、それぞれ、サブスキャンチェーン１２ａおよびサブスキャンチェーン１２ｂ、１２ｃ、１２ｄ、１２ｅの初段のスキャンセル回路２０ａから、順次後段のスキャンセル回路２０ｂ、２０ｃ、２０ｄ、２０ｅへシフトされ、サブスキャンチェーン１２ａ、１２ｂ、１２ｃ、１２ｄ、１２ｅにテストパターンがセットされる。
【００８４】
内部回路に含まれる組み合わせ回路５０は、それぞれ、サブスキャンチェーン１２ａ、１２ｂ、１２ｃ、１２ｄ、１２ｅにセットされたテストパターンに基づいて動作し、組み合わせ回路５０から、スキャンテストのテスト結果が出力される。
【００８５】
続いて、スキャンイネーブル信号が通常動作モード（キャプチャモード）に設定される。
【００８６】
この場合、サブスキャンチェーン１２ａ、１２ｂ、１２ｃ、１２ｄ、１２ｅは構成されず、内部回路に含まれる全てのスキャンセル回路は、クロック信号に同期して、その前段の組み合わせ回路５０の出力信号（テスト結果）を保持する。
これにより、内部回路に含まれる全てのスキャンセル回路にテスト結果が格納される。
【００８７】
続いて、再びスキャンイネーブル信号がスキャンテストモード（シフトモード）に設定される。
【００８８】
この場合、スキャンテスト回路１０は、前述の通りに構成され、同様にサブスキャンチェーン１２ａ、１２ｂ、１２ｃ、１２ｄ、１２ｅを構成するスキャンセル回路の合計の段数である５段に相当する数だけ、クロック信号が順次入力される。
【００８９】
同様に、サブスキャンチェーン１２ａおよびサブスキャンチェーン１２ｂ、１２ｃ、１２ｄ、１２ｅの初段のスキャンセル回路２０ａは、クロック信号に同期して、それぞれ、スキャンイン信号および分配信号を順次保持し、それ以降のサブスキャンチェーン１２ａ、１２ｂ、１２ｃ、１２ｄ、１２ｅのスキャンセル回路２０ｂ、２０ｃ、２０ｄ、２０ｅは、クロック信号に同期して、それぞれ、前段のスキャンセル回路２０ａ、２０ｂ、２０ｃ、２０ｄの出力信号を順次保持する。
【００９０】
これにより、サブスキャンチェーン１２ａ、１２ｂ、１２ｃ、１２ｄ、１２ｅのスキャンセル回路２０ａ、２０ｂ、２０ｃ、２０ｄ、２０ｅに保持されたテスト結果は、それぞれ、サブスキャンチェーン１２ａ、１２ｂ、１２ｃ、１２ｄ、１２ｅの初段のスキャンセル回路２０ａから、順次後段のスキャンセル回路へシフトされ、その最終段のスキャンセル回路２０ｅから順次出力される。
【００９１】
また、５つのサブスキャンチェーン１２ａ、１２ｂ、１２ｃ、１２ｄ、１２ｅの最終段のスキャンセル回路２０ｅから出力されるテスト結果は、出力圧縮回路１６のEXOR回路２６ａ、２６ｂ、２６ｃ、２６ｄによって圧縮されて圧縮信号が出力され、マルチプレクサ２８からは、EXOR回路２６ｄの出力信号、つまり、圧縮信号がスキャンアウト信号として順次出力される。
【００９２】
このように、圧縮スキャンモードの場合、スキャンチェーン１２として、５つのサブスキャンチェーン１２ａ、１２ｂ、１２ｃ、１２ｄ、１２ｅが構成される。圧縮スキャンモードの場合に、スキャンテストが、高秘匿性要求回路４０のスキャンセル回路２０ｂ、２０ｃ、２０ｄを接続して行われるため、高秘匿性要求回路４０を完全にテスト対象外とする場合に比べて、高いテスト品質（高故障検出）を維持できる。
【００９３】
通常、スキャンテスト回路では、内部回路に含まれる全てのスキャンセル回路を接続してスキャンチェーンが構成される。また、スキャンチェーン１２の構成によって圧縮スキャンモードおよび非圧縮スキャンモードを備える。
【００９４】
また、非圧縮スキャンモードでは、内部回路に与えられたスキャンイン信号およびスキャンアウト信号のセットの数で内部回路に含まれる全てのスキャンセル回路を分割し、平均化して、分割したスキャンセル回路を各々直列に接続した構造でスキャンテストが行われる。従って、スキャンチェーンは非常に長い段数、例えば、数万段のスキャンセル回路によって構成され、テストパターンが長くなる要因となる。
【００９５】
一方、圧縮スキャンモードでは、非圧縮スキャンモードの場合のスキャンチェーンを、さらに、数百段程度のスキャンセル回路からなるサブスキャンチェーンに分割してスキャンテストが行われる。サブスキャンチェーンへの分割の際には、例えば、EDA(Electronic Design Automation)ベンダ毎に提供されている入力分配回路および出力圧縮回路が使用され、テストパターンを短くすることができる要因となっている。
【００９６】
圧縮スキャンモードには、テストパターンを短くするメリットがあるが、例えば、圧縮構造に起因して故障を検出できない部分が残る。そのため、最終到達故障検出率が低くなることや、同じく圧縮構造に起因して不具合箇所の特定が困難であるため、製品の出荷選別時のデバッグおよび不良解析が手間となるというデメリットもある。
【００９７】
このため、非圧縮スキャンモードおよび圧縮スキャンモードの両方が一般的に使用されている。近年、圧縮構造の改善によって圧縮スキャンモードのデメリットを減らすことが進められており、非圧縮スキャンモードは不要であると提唱するEDAベンダもある。しかし、前述のように、デバッグ等では非圧縮スキャンモードが有効であるため、現状は、非圧縮スキャンモードおよび圧縮スキャンモードの両方が実装されるのが通常である。
【００９８】
また、本実施形態のスキャンテスト回路１０では、バイパス回路１８としてマルチプレクサ２２を挿入するが、これが配置配線に与える影響は微小である。
【００９９】
また、スキャンテスト回路１０では、EDAベンダによって提供される既存の入力分配回路１４および出力圧縮回路１６をそのまま使用して、圧縮スキャンモードの場合に、高秘匿性要求回路４０のテストが行われる。つまり、内部回路のテスト結果を圧縮して出力することによって、高秘匿性要求回路４０の機密保持を実現する。そのため、制御用回路の追加、回路面積の増加、パターン長の増加等のオーバヘッドを最小限に抑えることができる。
【０１００】
次に、本発明のスキャンテスト回路の設計方法について説明する前に、まず、従来のスキャンテスト回路の設計方法について説明する。
【０１０１】
図２は、従来のスキャンテスト回路の設計方法を表す一例のフローチャートである。同図のフローチャートに示すように、従来のスキャンテスト回路の設計では、まず、ハードウェア記述言語を用いて、RTL（Register Transfer Level：レジスタ転送レベル）設計によりRTLの回路が記述され（ステップS1）、RTLの回路の記述からRTLのネットリストが生成される（ステップS2）。
【０１０２】
続いて、論理合成ツールを用いて、RTLのネットリストに基づいて論理合成が行われ（ステップS3）、フリップフロップおよび組み合わせ回路を含む論理回路（内部回路）のネットリストが生成される（ステップS4）。
【０１０３】
最後に、テスト回路挿入ツールを用いて、論理回路のネットリストに基づいてスキャンテスト回路が挿入される（ステップS5）。
【０１０４】
ここで、スキャンテスト回路の挿入の処理は、図３のフローチャートに示すように、以下のステップで行われる。
【０１０５】
まず、論理回路のネットリストに含まれる複数のフリップフロップが複数のスキャンセル回路に置換される（ステップS5-1）。
【０１０６】
続いて、非圧縮スキャンモードが追加される（ステップS5-2）。
【０１０７】
この場合、例えば、スキャンイネーブル信号が複数のスキャンセル回路のスキャンイネーブル入力端子に接続され、かつ、前段のスキャンセル回路の出力信号がその後段のスキャンセル回路のスキャンイン入力端子に順次接続される（ステップS5-2-1）。
これにより、スキャンイネーブル信号がスキャンテストモードに設定された場合に、複数のスキャンセル回路が直列に接続されてスキャンチェーンが構成される。
【０１０８】
続いて、圧縮スキャンモードが追加される（ステップS5-3）。
【０１０９】
この場合、例えば、スキャンチェーンを構成する複数のスキャンセル回路が分割されて複数のサブスキャンチェーンが構成される（ステップS5-3-1）。
続いて、入力分配回路が追加される（ステップS5-3-2）。
続いて、スキャンイン信号およびスキャンモード信号が入力分配回路に接続され、かつ、入力分配回路の出力信号が、複数のサブスキャンチェーンの初段のスキャンセル回路のスキャンイン入力端子に接続される（ステップS5-3-3）。
続いて、出力圧縮回路が追加される（ステップS5-3-4）。
続いて、スキャンアウト信号およびスキャンモード信号が出力圧縮回路に接続され、かつ、複数のサブスキャンチェーンの最終段のスキャンセル回路の出力信号が出力圧縮回路に接続される（ステップS5-3-5）。
尚、本手順は一例として示したものであり、各ツールや回路構造によっては、順序は前後する。
【０１１０】
次に、本発明のスキャンテスト回路の設計方法について説明する。
【０１１１】
図４は、本発明のスキャンテスト回路の設計方法を表す一実施形態のフローチャートである。同図に示すステップS1〜S5までは、従来のスキャンテスト回路の設計方法と同じである。
【０１１２】
本発明のスキャンテスト回路の設計方法では、続いて、高秘匿性要求回路対応ツールを用いて、スキャンテスト回路が挿入された論理回路のネットリストに基づいて、高秘匿性要求回路に対応する処理が行われる（ステップS6）。
【０１１３】
ここで、高秘匿性要求回路に対応する処理は、図５のフローチャートに示すように、以下のステップで行われる。
【０１１４】
まず、ネットリスト内の階層名等のように、高秘匿性要求回路の情報に基づいて、スキャンテスト回路が挿入された論理回路（つまり、論理回路のネットリスト）の中から、高秘匿性要求回路が特定される（ステップS6-1）。
【０１１５】
続いて、スキャンセル回路のスキャンイン入力端子およびデータ出力端子等の情報を含むスキャン関連情報に基づいて、論理回路に含まれるスキャンセル回路のスキャンイン入力端子およびデータ出力端子が特定される（ステップS6-2）。
【０１１６】
続いて、スキャン関連情報に基づいて、スキャンモード信号が確認される（ステップS6-3）。スキャンモード信号は、本実施形態の場合、圧縮スキャンモードの場合にハイレベル、非圧縮スキャンモードの場合にローレベルに設定されるとする。
【０１１７】
続いて、高秘匿性要求回路の最終段のスキャンセル回路と、その後段のスキャンセル回路との間にバイパス回路１８となるマルチプレクサ２２が追加される（ステップS6-4）。
【０１１８】
続いて、前述のスキャンモード信号の極性に基づいて、高秘匿性要求回路の初段のスキャンセル回路の前段の回路、つまり、初段のスキャンセル回路２０ａの出力信号、および、高秘匿性要求回路の最終段のスキャンセル回路の出力信号がマルチプレクサ２２の入力端子０および１に接続され、スキャンモード信号がマルチプレクサ２２の選択入力端子に接続される。また、マルチプレクサ２２の出力信号が、高秘匿性要求回路の最終段のスキャンセル回路の後段の回路、つまり、スキャンセル回路２０ｅのスキャンイン入力端子SIに接続される（ステップS6-5）。
【０１１９】
上記各ステップにより、スキャンテスト回路１０の設計が行われる。
【０１２０】
なお、入力分配回路１４、出力圧縮回路１６、バイパス回路１８の具体的な構成は何ら限定されず、これらの回路は、同様の機能を果たす各種構成の回路によって実現可能である。
【０１２１】
また、図１の例では、圧縮スキャンテストの場合に、スキャンチェーン１２が５つのサブスキャンチェーン１２ａ、１２ｂ、１２ｃ、１２ｄ、１２ｅによって構成されるが、サブスキャンチェーンの数は何ら限定されない。また、スキャンチェーンの数も何ら限定されず、２以上であってもよい。図１の例では、高秘匿性要求回路４０が１つであるが、高秘匿性要求回路４０の数も何ら限定されず、２以上であってもよい。
【０１２２】
また、図１の例では、２段目のサブスキャンチェーン１２ｂの高秘匿性要求回路４０の初段のスキャンセル回路２０ｂの前段の回路は、同じサブスキャンチェーン１２ｂの初段のスキャンセル回路２０ａである。しかし、例えば、高秘匿性要求回路４０の初段のスキャンセル回路がスキャンセル回路２０ａの場合、その前段の回路は、前段のサブスキャンチェーン１２ａの最終段のスキャンセル回路２０ｅとなる。
また、２段目のサブスキャンチェーン１２ｂの高秘匿性要求回路４０の最終段のスキャンセル回路２０ｄの後段の回路は、同じサブスキャンチェーン１２ｂの最終段のスキャンセル回路２０ｅである。しかし、例えば、高秘匿性要求回路４０の最終段のスキャンセル回路がスキャンセル回路２０ｃの場合、その後段の回路は、同じサブスキャンチェーン１２ｂのスキャンセル回路２０ｄとなる。
このように、高秘匿性要求回路４０の配置位置も何ら限定されず、高秘匿性要求回路４０の配置位置に応じて、その前段の回路および後段の回路は適宜変わる。
【０１２３】
以上、本発明について詳細に説明したが、本発明は上記実施形態に限定されず、本発明の主旨を逸脱しない範囲において、種々の改良や変更をしてもよいのはもちろんである。
【符号の説明】
【０１２４】
１０  スキャンテスト回路
１２  スキャンチェーン
１２ａ、１２ｂ、１２ｃ、１２ｄ、１２ｅ  サブスキャンチェーン
１４  入力分配回路
１６  出力圧縮回路
１８  バイパス回路
２０ａ、２０ｂ、２０ｃ、２０ｄ、２０ｅ  スキャンセル回路
２２、２４ｂ、２４ｃ、２４ｄ、２４ｅ、２８  マルチプレクサ
２６ａ、２６ｂ、２６ｃ、２６ｄ  EXOR回路
４０  高秘匿性要求回路
５０  組み合わせ回路
【図１】
0006731733.tif 000002
【図２】
0006731733.tif 000003
【図３】
0006731733.tif 000004
【図４】
0006731733.tif 000005
【図５】
0006731733.tif 000006