(57)【要約】【課題】スキャンＦＦ回路の初期化テストを、専用のパッドを設けることなく、簡便な設計フローにより容易に行えるようにする。【解決手段】ビルトインテスト回路２は、集積化される被テスト回路１０の同期回路として利用されて初期化可能な複数のスキャン機能付き同期回路１２が直列に接続され、複数のスキャン機能付き同期回路１２に共通のクロック信号が入力されるスキャンチェーン１４と、複数のスキャン機能付き同期回路１２に入力されるクロック信号のクロック数をカウントするカウンタ１６と、複数のスキャン機能付き同期回路１２へ初期化信号を出力する初期化回路１７とを有する。そして、初期化回路１７は、スキャンチェーン１４での複数のスキャン機能付き同期回路１２の直列接続個数以上の値をカウンタ１６がカウントした場合に、初期化信号を出力する。【選択図】図５
2010271065.tif 000002
【特許請求の範囲】
【請求項１】
集積化される被テスト回路の同期回路として利用されて初期化可能な複数のスキャン機能付き同期回路が直列に接続され、前記複数のスキャン機能付き同期回路に共通のクロック信号が入力されるスキャンチェーンと、
前記複数のスキャン機能付き同期回路に入力されるクロック信号のクロック数をカウントするカウンタと、
前記複数のスキャン機能付き同期回路へ初期化信号を出力する初期化回路と
を有し、
前記初期化回路は、
前記スキャンチェーンでの前記複数のスキャン機能付き同期回路の直列接続個数以上の値を前記カウンタがカウントした場合に、前記初期化信号を出力する
ビルトインテスト回路。
【請求項２】
前記ビルトインテスト回路は、
外クロック信号が入力され、前記複数のスキャン機能付き同期回路に対して前記外クロック信号に同期した内クロック信号を出力するクロック回路を有し、
前記クロック回路は、
前記初期化回路が前記初期化信号を出力する期間に、前記内クロック信号を停止する
請求項１記載のビルトインテスト回路。
【請求項３】
前記カウンタは、
前記被テスト回路をスキャンテストするスキャンモードを含む複数のモードから１つのモードを指定するためのモード信号が入力され、前記スキャンモードを指定するモード信号が入力されるとカウントを開始し、
前記初期化回路は、
前記モード信号が入力され、前記スキャンモードにおいて前記カウンタがカウントした場合に前記初期化信号を出力する
請求項１または２記載のビルトインテスト回路。
【請求項４】
直列に接続される前記複数のスキャン機能付き同期回路は、
前記初期化信号が入力されると、出力をリセットするスキャン機能付き同期回路と、
前記初期化信号が入力されると、出力をセットするスキャン機能付き同期回路と
を含む
請求項１から３のいずれか一項記載のビルトインテスト回路。
【請求項５】
前記ビルトインテスト回路は、
前記カウンタおよび前記初期化回路により前記初期化信号を生成して前記複数のスキャン機能付き同期回路を初期化する初期化テストを、各前記スキャン機能付き同期回路の初期化前の出力データ信号のレベルを変えて２回繰り返し、
１回目の初期化テストでは、
前記初期化信号の入力前の前記複数のスキャン機能付き同期回路から、ハイレベルの出力データ信号およびローレベルの出力データ信号から選択した一方のレベルを出力させ、
２回目の初期化テストでは、
前記初期化信号の入力前の前記複数のスキャン機能付き同期回路から、ハイレベルの出力データ信号およびローレベルの出力データ信号から選択した他方のレベルを出力させる
請求項１から４のいずれか一項記載のビルトインテスト回路。
【請求項６】
前記ビルトインテスト回路は、
前記複数のスキャン機能付き同期回路を直列に接続するための外スキャンイネーブル信号が入力されるイネーブル回路を有し、
前記イネーブル回路は、
前記カウンタおよび前記初期化回路により前記初期化信号を生成して前記複数のスキャン機能付き同期回路を初期化する初期化テストでは、入力される前記外スキャンイネーブル信号に関係なく、前記複数のスキャン機能付き同期回路に対して、これらを直列に接続させる内スキャンイネーブル信号を出力する
請求項１記載のビルトインテスト回路。
【請求項７】
前記ビルトインテスト回路は、
直列に接続された前記複数のスキャン機能付き同期回路への外スキャンデータ信号が入力されるデータ回路を有し、
前記データ回路は、
前記カウンタおよび前記初期化回路により前記初期化信号を生成して前記複数のスキャン機能付き同期回路を初期化する初期化テストでは、入力される前記外スキャンデータ信号に関係なく、前記複数のスキャン機能付き同期回路に対して内スキャンデータ信号を出力する
請求項１記載のビルトインテスト回路。
【請求項８】
集積化される被テスト回路と、
前記被テスト回路のテストに用いるビルトインテスト回路と
を有し、
前記ビルトインテスト回路は、
前記被テスト回路の同期回路として利用されて初期化可能な複数のスキャン機能付き同期回路が直列に接続され、前記複数のスキャン機能付き同期回路に共通のクロック信号が入力されるスキャンチェーンと、
前記複数のスキャン機能付き同期回路に入力されるクロック信号のクロック数をカウントするカウンタと、
前記複数のスキャン機能付き同期回路へ初期化信号を出力する初期化回路と
を有し、
前記初期化回路は、
前記スキャンチェーンでの前記複数のスキャン機能付き同期回路の直列接続個数以上の値を前記カウンタがカウントした場合に、前記初期化信号を出力する
集積回路装置。
【請求項９】
集積化される被テスト回路の同期回路として利用されて初期化可能な複数のスキャン機能付き同期回路が直列に接続されたスキャンチェーンの前記複数のスキャン機能付き同期回路に対して共通のクロック信号を入力し、前記スキャンチェーンの最初のスキャン機能付き同期回路から、前記複数のスキャン機能付き同期回路に対してそれぞれから出力させるデータ信号を入力するシフトインステップと、
前記複数のスキャン機能付き同期回路に入力されるクロック信号のクロック数をカウントするカウンタが、前記スキャンチェーンでの前記複数のスキャン機能付き同期回路の直列接続個数以上の値をカウントした場合に、前記複数のスキャン機能付き同期回路を初期化する初期化ステップと、
前記複数のスキャン機能付き同期回路に対して共通のクロック信号を入力し、前記スキャンチェーンの最後のスキャン機能付き同期回路から、初期化された前記複数のスキャン機能付き同期回路の出力データ信号を読み出すシフトアウトステップと
を有するスキャン機能付き同期回路の初期化テスト方法。
【請求項１０】
直列に接続される前記複数のスキャン機能付き同期回路は、
前記初期化信号が入力されると、出力をハイレベルに制御するスキャン機能付き同期回路と、
前記初期化信号が入力されると、出力をローレベルに制御するスキャン機能付き同期回路と
を含み、
前記シフトインステップでは、
前記スキャンチェーンでの前記複数のスキャン機能付き同期回路の接続順にしたがって、ハイレベルのスキャンデータ信号とローレベルのスキャンデータ信号とを組み合わせて入力し、
初期化前の前記複数のスキャン機能付き同期回路の出力データ信号のレベルを、それぞれの初期化後の出力データ信号のレベルとは異なるレベルにする
請求項９記載のスキャン機能付き同期回路の初期化テスト方法。
【請求項１１】
直列に接続される前記複数のスキャン機能付き同期回路は、
前記初期化信号が入力されると、出力をハイレベルに制御するスキャン機能付き同期回路と、
前記初期化信号が入力されると、出力をローレベルに制御するスキャン機能付き同期回路と
を含み、
前記シフトインステップ、前記初期化ステップおよび前記シフトアウトステップを、各前記スキャン機能付き同期回路の初期化前の出力データ信号のレベルを変えて２回繰り返し、
１回目の前記シフトインステップでは、
前記複数のスキャン機能付き同期回路から、ハイレベルの出力データ信号およびローレベルの出力データ信号から選択した一方のレベルを出力させ、
２回目の前記シフトインステップでは、
前記複数のスキャン機能付き同期回路から、ハイレベルの出力データ信号およびローレベルの出力データ信号から選択した他方のレベルを出力させる
請求項９記載のスキャン機能付き同期回路の初期化テスト方法。
【請求項１２】
１回目の前記シフトアウトステップと２回目の前記シフトインステップとは、同じクロック信号により実行され、
１回目の前記シフトアウトステップにおける前記スキャンチェーンの最後のスキャン機能付き同期回路からの出力データ信号の読み出し処理と、
２回目の前記シフトインステップにおける前記スキャンチェーンの最初のスキャン機能付き同期回路に対するデータ信号の入力処理とが同時に実行される
請求項１１記載のスキャン機能付き同期回路の初期化テスト方法。
【請求項１３】
被テスト回路および前記被テスト回路のテストに用いるビルトインテスト回路が集積化される集積回路装置のテストパターンデータとして、
前記被テスト回路の同期回路として利用されて初期化可能な複数のスキャン機能付き同期回路が直列に接続されるスキャンチェーンと、前記複数のスキャン機能付き同期回路へ共通に入力されるクロック信号のクロック数をカウントするカウンタと、前記複数のスキャン機能付き同期回路の直列接続個数と同じ値を前記カウンタがカウントした場合に、前記複数のスキャン機能付き同期回路へ初期化信号を出力する初期化回路とを有するビルトインテスト回路の前記複数のスキャン機能付き同期回路の初期化テストデータを含むテストパターンデータを生成するために、
前記被テスト回路のテストパターンデータを生成する生成ステップと、
前記被テスト回路の前記複数のスキャン機能付き同期回路の直列接続個数をカウントする個数カウントステップと、
前記被テスト回路のテストパターンデータに対して、前記複数のスキャン機能付き同期回路の初期化テストデータを追加する追加ステップと
を有し、
前記追加ステップでは、
前記複数のスキャン機能付き同期回路に対して、前記個数カウントステップにおいてカウントされた直列接続個数と同数のクロック信号を入力し、前記スキャンチェーンの最初のスキャン機能付き同期回路に対して、前記複数のスキャン機能付き同期回路から出力させるデータ信号を入力するシフトインパターンデータと、
前記複数のスキャン機能付き同期回路に対して、前記初期化回路が前記初期化信号を出力する期間に相当する数のクロック信号を入力する初期化パターンデータと、
前記複数のスキャン機能付き同期回路に対して、前記個数カウントステップにおいてカウントされた直列接続個数より１少ない数のクロック信号を入力し、前記スキャンチェーンの最後のスキャン機能付き同期回路から、初期化された前記複数のスキャン機能付き同期回路の出力データ信号を読み出すシフトアウトパターンデータと
を追加する
テストパターンデータの生成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、被テスト回路とともに集積化されるビルトインテスト回路、集積回路装置、スキャン機能付き同期回路の初期化テスト方法、およびテストパターンデータの生成方法に関する。
【背景技術】
【０００２】
特許文献１は、被テスト回路のテストを容易化するためにスキャンテスト回路を開示する。スキャンテスト回路では、被テスト回路の複数の順序回路に初期値を設定するためにスキャンＦＦ（フリップフロップ）回路を用いる。
そして、被テスト回路のテストに用いるスキャンＦＦのリセットテストする場合、スキャンＦＦ回路をリセットする外リセット信号を集積回路装置に入力しなければならない。そのため、半導体基板には、外リセット信号を入力するためのパッドを形成しなければならない。
特許文献１では、スキャンＦＦへリセット信号を出力する組み合わせ回路を追加する。これにより、特許文献１では、外リセット信号を入力するための専用パッドを不要にしている。
また、特許文献１では、組み合わせ回路とスキャンＦＦとの間に論理積回路を追加する。論理積回路は、組み合わせ回路の出力信号と、シフトイネーブル信号の反転信号との論理積を演算する。
これにより、シフトイネーブル信号がハイレベルになる期間では、リセット信号が入力されなくなる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００４−１８４３１６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１では、スキャンシフト中にはリセット動作しない対策が施されているが、通常ツールによって行われるＤＦＴ（Design For Test）挿入後にデザインを人手で修正する必要がある。
そのため、特許文献１では、集積回路の設計手順が煩雑になる。
また、特許文献１では、リセットラインに論理回路を挿入するので、ＤＦＴ挿入後の等価検証が難しい。
また、特許文献１では、外部からセット/リセット信号を制御可能にしようとしているものの、セット/リセットを単独の信号で制御できない。
そのため、特許文献１の回路は、ＡＴＰＧ（Automatic Test Pattern Generation）で推奨されるリセット制御方式にならない。
よって、特許文献１の回路は、ＡＴＰＧで、リセット動作を含むテストパターンデータを生成することは難しい。
【０００５】
このようにビルトインテスト回路では、スキャンＦＦ回路の初期化テストを、専用のパッドを設けることなく、簡便な設計フローにより容易に行えるようにすることが望まれている。
【課題を解決するための手段】
【０００６】
本発明の第１の観点のビルトインテスト回路は、集積化される被テスト回路の同期回路として利用されて初期化可能な複数のスキャン機能付き同期回路が直列に接続され、複数のスキャン機能付き同期回路に共通のクロック信号が入力されるスキャンチェーンと、複数のスキャン機能付き同期回路に入力されるクロック信号のクロック数をカウントするカウンタと、複数のスキャン機能付き同期回路へ初期化信号を出力する初期化回路とを有する。そして、初期化回路は、スキャンチェーンでの複数のスキャン機能付き同期回路の直列接続個数以上の値をカウンタがカウントした場合に、初期化信号を出力する。
【０００７】
好適には、ビルトインテスト回路は、外クロック信号が入力され、複数のスキャン機能付き同期回路に対して外クロック信号に同期した内クロック信号を出力するクロック回路を有し、クロック回路は、初期化回路が初期化信号を出力する期間に、内クロック信号を停止してもよい。
【０００８】
好適には、カウンタは、被テスト回路をスキャンテストするスキャンモードを含む複数のモードから１つのモードを指定するためのモード信号が入力され、スキャンモードを指定するモード信号が入力されるとカウントを開始し、初期化回路は、モード信号が入力され、スキャンモードにおいてカウンタがカウントした場合に初期化信号を出力してもよい。
【０００９】
好適には、直列に接続される複数のスキャン機能付き同期回路は、初期化信号が入力されると、出力をリセットするスキャン機能付き同期回路と、初期化信号が入力されると、出力をセットするスキャン機能付き同期回路とを含んでもよい。
【００１０】
好適には、ビルトインテスト回路は、カウンタおよび初期化回路により初期化信号を生成して複数のスキャン機能付き同期回路を初期化する初期化テストを、各スキャン機能付き同期回路の初期化前の出力データ信号のレベルを変えて２回繰り返し、１回目の初期化テストでは、初期化信号の入力前の複数のスキャン機能付き同期回路から、ハイレベルの出力データ信号およびローレベルの出力データ信号から選択した一方のレベルを出力させ、２回目の初期化テストでは、初期化信号の入力前の複数のスキャン機能付き同期回路から、ハイレベルの出力データ信号およびローレベルの出力データ信号から選択した他方のレベルを出力させてもよい。
【００１１】
第１の観点では、カウンタが、クロック信号のクロック数として、スキャンチェーンでの複数のスキャン機能付き同期回路の直列接続個数以上の値をカウントした場合に、初期化回路がスキャンＦＦ回路へ初期化信号を出力する。よって、第１の観点では、スキャンＦＦ回路への初期化信号に専用のパッドを設ける必要がない。
また、第１の観点では、複数のスキャン機能付き同期回路は、その直列接続個数以上の値をカウントした場合に自動的にリセットされる。よって、第１の観点では、複数のスキャン機能付き同期回路に対して所定の値を設定した上で、複数のスキャン機能付き同期回路をリセットできる。また、第１の観点では、複数のスキャン機能付き同期回路の故障を検出できる。
また、第１の観点では、シフトイン動作を用いた動作によりリセットテストが可能である。そのため、第１の観点では、スキャン機能付き同期回路を用いた被テスト回路のテストパターンデータに、リセットテストパターンを時分割的に追加できる。また、第１の観点では、その追加したテストパターンデータにより、被テスト回路のテストと、スキャン機能付き同期回路の初期化テストとを実施できる。
【００１２】
本発明の第２の観点の集積回路装置は、集積化される被テスト回路と、被テスト回路のテストに用いるビルトインテスト回路とを有する。そして、ビルトインテスト回路は、被テスト回路の同期回路として利用されて初期化可能な複数のスキャン機能付き同期回路が直列に接続され、複数のスキャン機能付き同期回路に共通のクロック信号が入力されるスキャンチェーンと、複数のスキャン機能付き同期回路に入力されるクロック信号のクロック数をカウントするカウンタと、複数のスキャン機能付き同期回路へ初期化信号を出力する初期化回路とを有する。また、初期化回路は、スキャンチェーンでの複数のスキャン機能付き同期回路の直列接続個数以上の値をカウンタがカウントした場合に、初期化信号を出力する。
【００１３】
本発明の第３の観点のスキャン機能付き同期回路の初期化テスト方法は、集積化される被テスト回路の同期回路として利用されて初期化可能な複数のスキャン機能付き同期回路が直列に接続されたスキャンチェーンの複数のスキャン機能付き同期回路に対して共通のクロック信号を入力し、スキャンチェーンの最初のスキャン機能付き同期回路から、複数のスキャン機能付き同期回路に対してそれぞれから出力させるデータ信号を入力するシフトインステップと、複数のスキャン機能付き同期回路に入力されるクロック信号のクロック数をカウントするカウンタが、スキャンチェーンでの複数のスキャン機能付き同期回路の直列接続個数以上の値をカウントした場合に、複数のスキャン機能付き同期回路を初期化する初期化ステップと、複数のスキャン機能付き同期回路に対して共通のクロック信号を入力し、スキャンチェーンの最後のスキャン機能付き同期回路から、初期化された複数のスキャン機能付き同期回路の出力データ信号を読み出すシフトアウトステップとを有する。
【００１４】
本発明の第４の観点のテストパターンデータの生成方法は、被テスト回路および被テスト回路のテストに用いるビルトインテスト回路が集積化される集積回路装置のテストパターンデータとして、被テスト回路の同期回路として利用されて初期化可能な複数のスキャン機能付き同期回路が直列に接続されるスキャンチェーンと、複数のスキャン機能付き同期回路へ共通に入力されるクロック信号のクロック数をカウントするカウンタと、複数のスキャン機能付き同期回路の直列接続個数と同じ値をカウンタがカウントした場合に、複数のスキャン機能付き同期回路へ初期化信号を出力する初期化回路とを有するビルトインテスト回路の複数のスキャン機能付き同期回路の初期化テストデータを含むテストパターンデータを生成するものである。そして、この生成方法は、被テスト回路のテストパターンデータを生成する生成ステップと、被テスト回路の複数のスキャン機能付き同期回路の直列接続個数をカウントする個数カウントステップと、被テスト回路のテストパターンデータに対して、複数のスキャン機能付き同期回路の初期化テストデータを追加する追加ステップとを有する。また、追加ステップでは、複数のスキャン機能付き同期回路に対して、個数カウントステップにおいてカウントされた直列接続個数と同数のクロック信号を入力し、スキャンチェーンの最初のスキャン機能付き同期回路に対して、複数のスキャン機能付き同期回路から出力させるデータ信号を入力するシフトインパターンデータと、複数のスキャン機能付き同期回路に対して、初期化回路が初期化信号を出力する期間に相当する数のクロック信号を入力する初期化パターンデータと、複数のスキャン機能付き同期回路に対して、個数カウントステップにおいてカウントされた直列接続個数より１少ない数のクロック信号を入力し、スキャンチェーンの最後のスキャン機能付き同期回路から、初期化された複数のスキャン機能付き同期回路の出力データ信号を読み出すシフトアウトパターンデータとを追加する。
【発明の効果】
【００１５】
本発明では、スキャンＦＦ回路の初期化テストを、専用のパッドを設けることなく、簡便な設計フローにより容易に行える。
【図面の簡単な説明】
【００１６】
【図１】図１は、本発明の第１の実施形態に係る集積回路装置の半導体基板の正面図である。
【図２】図２は、図１の半導体基板に集積化される回路のブロック図である。
【図３】図３は、図２のリセット型のスキャンＦＦ回路のブロック図である。
【図４】図４は、被テスト回路の一例のブロック図である。
【図５】図５は、第１の実施形態に係るビルトインテスト回路のブロック図である。
【図６】図６は、第１の実施形態に係る集積回路装置のテスト動作のタイミングチャートである。
【図７】図７は、本発明の第２の実施形態に係る集積回路装置の集積回路のブロック図である。
【図８】図８は、図７のセット型のスキャンＦＦ回路のブロック図である。
【図９】図９は、第２の実施形態に係る集積回路装置のテスト動作のタイミングチャートである。
【図１０】図１０は、本発明の第３の実施形態に係る集積回路装置のビルトインテスト回路のブロック図である。
【図１１】図１１は、第３の実施形態に係る集積回路装置のテスト動作のタイミングチャートである。
【図１２】図１２は、本発明の第４の実施形態に係る集積回路装置のビルトインテスト回路のブロック図である。
【図１３】図１３は、第４の実施形態に係る集積回路装置のテスト動作のタイミングチャートである。
【図１４】図１４は、第４の実施形態に係る集積回路装置のテスト装置のブロック図である。
【図１５】図１５は、図１４のテスト装置でのテストパターンデータ生成処理のフローチャートである。
【発明を実施するための形態】
【００１７】
以下、本発明の実施の形態を図面に関連付けて説明する。なお、説明は以下の順序で行う。
１．第１の実施形態
（スキャンチェーンの複数のスキャンＦＦ回路がリセット型のもののみで構成される例。）
２．第２の実施形態
（スキャンチェーンにリセット型のスキャンＦＦ回路とセット型のスキャンＦＦ回路とが混在する例。また、混在した複数のスキャンＦＦ回路を１回のリセット動作でテストする例。）
３．第３の実施形態
（リセット型とセット型とが混在した複数のスキャンＦＦ回路を２回のリセット動作でテストする例。）
４．第４の実施形態
（リセットテストにおけるシフトイネーブル信号ＳＥおよびスキャンデータ信号をビルトインテスト回路で生成する例。）
【００１８】
＜第１の実施形態＞
［集積回路装置の構成］
本発明の第１の実施形態に係る集積回路装置１は、半導体基板６を有する。
半導体基板６には、集積回路が集積化される。また、半導体基板６は、集積回路装置１の図示しないパッケージに封止して収容される。
【００１９】
図１は、集積回路装置１の半導体基板６の一例の正面図である。
半導体基板６は、回路が集積化される回路形成領域７を有する。
回路形成領域７には、たとえばトランジスタ１０１などの能動素子と、抵抗１０２、コンデンサ１０３などの受動素子とが形成される。これらの回路素子は、回路形成領域７に形成された配線１０４により相互接続される。
これにより、半導体基板６の回路形成領域７に、所定の回路を集積化できる。
【００２０】
また、半導体基板６は、その外周部に、複数のパッド８が形成される。
パッド８は、半導体基板６に形成された配線１０４により、回路形成領域７内の回路素子に接続される。
また、複数のパッド８は、集積回路装置１のパッケージの図示しない複数のリード端子にボンディング接続される。複数のリード端子は、パッケージから突出し、またはパッケージの表面に露出し、たとえばプリント基板にはんだ付けされる。
これにより、集積回路装置１に集積化された回路は、他の回路と電気的に接続される。
【００２１】
図２は、図１の半導体基板６に集積化される回路のブロック図である。
図２の集積回路は、回路形成領域７に形成される回路として、被テスト回路（ＤＥＶ）１０と、スキャン制御回路（ＳＣＡＮ）１１とを有する。
スキャン制御回路１１は、被テスト回路１０のテストを容易化するために集積化される回路である。
【００２２】
被テスト回路１０は、所定のデータ処理を実現する回路である。また、被テスト回路１０は、半導体基板６に集積化される回路である。
被テスト回路１０としては、たとえば画像データの加工処理のための回路、通信データの送受信処理のための回路などがある。
そして、被テスト回路１０は、第１スキャンＦＦ（フリップフロップ）回路（ＳＦＦ）１２−１と、第２スキャンＦＦ回路（ＳＦＦ）１２−２とを有する。
第１スキャンＦＦ回路１２−１と、第２スキャンＦＦ回路１２−２とは、直列に接続され、スキャンチェーン１４を形成する。
【００２３】
また、第１の実施形態の第１スキャンＦＦ回路１２−１および第２スキャンＦＦ回路１２−２は、リセット型のスキャンＦＦ回路１１１である。
リセット型のスキャンＦＦ回路１１１は、リセット信号INT_RST_Xが入力されると、出力をローレベルに制御する。
【００２４】
［リセット型のスキャンＦＦ回路１１１の構成］
図３は、リセット型のスキャンＦＦ回路１１１のブロック図である。
リセット型のスキャンＦＦ回路１１１は、ＤＦＦ回路（ＤＦＦ）１１２と、セレクタ（ＳＥＬ）１１３とを有する。
また、リセット型のスキャンＦＦ回路１１１は、シフトイネーブル端子１１４、スキャン入力端子１１５、データ入力端子１１６、クロック入力端子１１７、リセット入力端子１１８、データ出力端子１１９を有する。
セレクタ１１３は、スキャン入力端子１１５、データ入力端子１１６およびシフトイネーブル端子１１４に接続される。
そして、セレクタ１１３は、シフトイネーブル端子１１４からシフトイネーブル信号ＳＥが入力されていない場合、スキャン入力端子１１５およびデータ入力端子１１６からデータ入力端子１１６を選択する。
また、シフトイネーブル端子１１４からシフトイネーブル信号ＳＥが入力されている場合、セレクタ１１３は、スキャン入力端子１１５を選択する。
【００２５】
ＤＦＦ回路１１２は、セレクタ１１３、クロック入力端子１１７、リセット入力端子１１８、およびデータ出力端子１１９に接続される。
そして、ＤＦＦ回路１１２は、クロック入力端子１１７からクロック信号が入力されると、クロック信号の立ち上がりエッジの入力タイミングに同期して、セレクタ１１３が選択したデータ信号をラッチする。
また、ＤＦＦ回路１１２は、ラッチしたデータ信号をデータ出力端子１１９へ出力する。
また、ＤＦＦ回路１１２は、リセット入力端子１１８からリセット信号INT_RST_Xが入力されると、出力をリセットする初期化動作をする。具体的には、ＤＦＦ回路１１２は、データ出力端子１１９へローレベルのデータ信号を出力する。
【００２６】
［被テスト回路の構成例］
ここで、被テスト回路１０の構成例を説明する。
図４は、被テスト回路１０の一例のブロック図である。
図４の被テスト回路１０は、第１１スキャンＦＦ回路（ＳＦＦ）１２−１１、第１２スキャンＦＦ回路（ＳＦＦ）１２−１２、第１３スキャンＦＦ回路（ＳＦＦ）１２−１３、第１４スキャンＦＦ回路（ＳＦＦ）１２−１４を有する。
また、被テスト回路１０は、第１順序回路（ＳＣ：Sequential Circuit）１３−１、第２順序回路（ＳＣ）１３−２を有する。これらの回路は、回路形成領域７に形成される。
なお、集積回路装置１に被テスト回路１０の機能を実現するだけの場合、被テスト回路１０には、スキャンＦＦ回路１２のかわりにデータフリップフロップ（ＤＦＦ）回路を用いればよい。
【００２７】
第１１スキャンＦＦ回路１２−１１は、配線１０４により第１入力パッド８−１１に接続される。第１２スキャンＦＦ回路１２−１２は、配線１０４により第２入力パッド８−１２に接続される。
第１順序回路１３−１は、配線１０４により第１１スキャンＦＦ回路１２−１１および第１２スキャンＦＦ回路１２−１２に接続される。第１順序回路１３−１は、たとえば論理和回路、論理積回路などである。
第１３スキャンＦＦ回路１２−１３は、配線１０４により第１順序回路１３−１に接続される。
第２順序回路１３−２は、配線１０４により第１３スキャンＦＦ回路１２−１３に接続される。第２順序回路１３−２は、たとえば反転回路などである。
第１４スキャンＦＦ回路１２−１４は、配線１０４により第２順序回路１３−２に接続される。
そして、図４の被テスト回路１０において、４個のスキャンＦＦ回路１２−１１〜１２−１４は、入力される第１データ信号を、入力されるクロック信号のたとえば立ち上がりエッジのタイミングに同期してラッチする。
また、第１４スキャンＦＦ回路１２−１４は、保持したデータ信号を出力パッド８−１３へ出力する。
【００２８】
［スキャンチェーンの構成例］
そして、図４の被スキャン回路の構成例では、４個のスキャンＦＦ回路１２−１１〜１２−１４が直列に接続されてスキャンチェーン１４を形成する。
具体的にはたとえば図４の点線に示すように、第１１スキャンＦＦ回路１２−１１のスキャン入力端子１１５は、外スキャン入力パッド８−２に接続される。
第１１スキャンＦＦ回路１２−１１のデータ出力端子１１９は、第１２スキャンＦＦ回路１２−１２のスキャン入力端子１１５に接続される。
第１２スキャンＦＦ回路１２−１２のデータ出力端子１１９は、第１３スキャンＦＦ回路１２−１３のスキャン入力端子１１５に接続される。
第１３スキャンＦＦ回路１２−１３のデータ出力端子１１９は、第１４スキャンＦＦ回路１２−１４のスキャン入力端子１１５に接続される。
第１４スキャンＦＦ回路１２−１４のデータ出力端子１１９は、外スキャン出力パッド８−５に接続される。
【００２９】
このように図４の第１１スキャンＦＦ回路１２−１１から第１３スキャンＦＦ回路１２−１３は、それぞれのデータ出力端子１１９が後段のスキャンＦＦ回路のスキャン入力端子１１５に接続される。
また、図４の第１１スキャンＦＦ回路１２−１１から第１４スキャンＦＦ回路１２−１４には、後述するように共通するクロック信号が入力される。
よって、図４の第１１スキャンＦＦ回路１２−１１から第１４スキャンＦＦ回路１２−１４は、外スキャン入力パッド８−２から入力されデータ信号をクロック信号に同期して順番にラッチする。
そのため、スキャンチェーン１４に４サイクルのクロック信号が入力された時点では、第１１スキャンＦＦ回路１２−１１は、入力順の４番目のデータ信号をラッチして出力する。
また、第１２スキャンＦＦ回路１２−１２は、３番目のデータ信号をラッチして出力し、第１３スキャンＦＦ回路１２−１３は、２番目のデータ信号をラッチして出力し、第１４スキャンＦＦ回路１２−１４は、１番目のデータ信号をラッチして出力する。
このように、４個のスキャンＦＦ回路１２−１１〜１２−１４に、初期値を設定できる。
【００３０】
また、図４の第１１スキャンＦＦ回路１２−１１から第１４スキャンＦＦ回路１２−１４に対して４サイクルのクロック信号を入力すると、外スキャン出力パッド８−５から、４個のスキャンＦＦ回路１２−１１〜１２−１４の出力信号を出力できる。
すなわち、１サイクル目には、第１４スキャンＦＦ回路１２−１４が１サイクル目にラッチしたデータ信号を外スキャン出力パッド８−５から出力できる。
また、２サイクル目には、第１３スキャンＦＦ回路１２−１３が１サイクル目にラッチしたデータ信号を出力できる。
３サイクル目には、第１２スキャンＦＦ回路１２−１２が１サイクル目にラッチしたデータ信号を出力できる。
４サイクル目には、第１１スキャンＦＦ回路１２−１１が１サイクル目にラッチしたデータ信号を出力できる。
【００３１】
このようにスキャンチェーン１４を構成する複数のスキャンＦＦ回路１２は、最初のスキャンＦＦ回路１２から、複数のスキャンＦＦ回路１２に設定するデータ信号を入力できる。
また、複数のスキャンＦＦ回路１２は、所定のタイミングで複数のスキャンＦＦ回路１２が保持したデータ信号を、最後のスキャンＦＦ回路１２から出力することができる。
このため、たとえば図４の第１３スキャンＦＦ回路１２−１３のように、パッドに直接接続されていない第１３スキャンＦＦ回路１２−１３のデータを読み出したり、第１３スキャンＦＦ回路１２−１３にデータを設定したりすることができる。
これにより、被テスト回路１０のテストが容易になる。
【００３２】
また、図４の第１１スキャンＦＦ回路１２−１１から第１４スキャンＦＦ回路１２−１４の複数のシフトイネーブル端子１１４は、外シフトイネーブル入力パッド８−１に接続される。
外シフトイネーブル入力パッド８−１には、外シフトイネーブル信号EXT_SENが入力される。
そして、外シフトイネーブル信号EXT_SENが入力されていない場合、スキャンチェーン１４を構成する複数のスキャンＦＦ回路１２は、データ入力端子１１６を共通に選択する。
図４の被テスト回路１０は、図４の実線による接続に基づいて、第１入力パッド８−１１および第２入力パッド８−１２の入力に応じて動作する。
また、被テスト回路１０は、出力パッド８−１３から、被テスト回路１０の動作に基づくデータ信号を出力する。
【００３３】
また、外シフトイネーブル信号EXT_SENが入力されている場合、スキャンチェーン１４を構成する複数のスキャンＦＦ回路１２は、スキャン入力端子１１５を共通に選択する。
複数のスキャンＦＦ回路１２は、図４の点線による接続に基づいて動作する。たとえば第１１スキャンＦＦ回路１２−１１は、外スキャン入力パッド８−２から入力される外スキャンデータ信号EXT_SIをラッチする。
また、第１４スキャンＦＦ回路１２−１４は、外スキャン出力パッド８−５へ、ラッチしたスキャンデータ信号を出力する。
【００３４】
［ビルトインテスト回路の構成］
図５は、第１の実施形態に係るビルトインテスト回路２のブロック図である。
ビルトインテスト回路２は、被テスト回路１０に形成されたスキャンチェーン（ＣＨＡＩＮ）１４と、スキャン制御回路１１とを有する。
スキャン制御回路１１は、レジスタ（ＲＥＧ）１５と、カウンタ（ＣＯＵＮＴ）１６と、リセット回路（ＲＳＴ）１７と、クロック回路（ＣＬＫ）１８とを有する。
また、ビルトインテスト回路２は、外シフトイネーブル入力パッド８−１と、外スキャン入力パッド８−２と、外モード入力パッド８−３と、外クロック入力パッド８−４とを有する。
そして、ビルトインテスト回路２は、図２に示すように、被テスト回路１０とともに集積回路装置１に集積化される。
【００３５】
スキャンチェーン１４は、上述したように複数のスキャンＦＦ回路１２を直列に接続したものである。複数のスキャンＦＦ回路１２は、外シフトイネーブル入力パッド８−１に接続される。
また、スキャンチェーン１４の最初のスキャンＦＦ回路１２−１は、外スキャン入力パッド８−２に接続される。
スキャンチェーン１４の最後のスキャンＦＦ回路１２−２は、外スキャン出力パッド８−５に接続される。
【００３６】
レジスタ１５は、カウンタ１６のカウント数と比較される値を記憶する。レジスタ１５は、たとえばカウント数の上限値を記憶する。
このカウント数の上限値は、たとえばスキャンチェーン１４において直列に接続される複数のスキャンＦＦ回路１２の個数と同数であればよい。図２の場合、レジスタ１５は、上限値として「２」を記憶すればよい。
または、レジスタ１５に記憶される値は、複数のスキャンＦＦ回路１２の個数より多い値でもよい。
【００３７】
カウンタ１６には、レジスタ１５が接続される。また、カウンタ１６は、外モード入力パッド８−３と、外クロック入力パッド８−４とに接続される。
外クロック入力パッド８−４には、外クロック信号EXT_CLKが入力される。
外モード入力パッド８−３には、外モード信号EXT_MODEが入力される。
外モード信号EXT_MODEは、集積回路装置１の動作モードを指定する信号である。
集積回路装置１の動作モードには、たとえば、図４の実線の接続に基づいて集積回路装置１を動作させる通常動作モードと、集積回路装置１をテスト動作させるテストモードがある。
そして、カウンタ１６は、外モード信号EXT_MODEが通常動作モードからテストモードに切り替えられると、カウント動作を開始する。カウンタ１６は、外クロック信号EXT_CLKのクロック数をカウントする。
また、カウント値がレジスタ１５に記憶されている上限値と一致すると、カウンタ１６は、カウント信号CNTを生成して出力する。
【００３８】
リセット回路１７は、カウンタ１６が接続される。また、リセット回路１７は、外モード入力パッド８−３と、外クロック入力パッド８−４とに接続される。
そして、リセット回路１７は、外モード信号EXT_MODEがテストモードである場合に、カウンタ１６からカウント信号CNTが入力されると、リセット信号INT_RST_Xを出力する。
リセット信号INT_RST_Xは、スキャンチェーン１４の複数のスキャンＦＦ回路１２のリセット端子に入力される。
複数のスキャンＦＦ回路１２は、その出力をローレベルに制御する。
【００３９】
クロック回路１８は、カウンタ１６が接続される。また、クロック回路１８は、外モード入力パッド８−３と、外クロック入力パッド８−４とに接続される。
そして、クロック回路１８は、外クロック信号EXT_CLKが入力されると、外クロック信号EXT_CLKに同期する内クロック信号INT_CLKを生成して出力する。
内クロック信号INT_CLKは、スキャンチェーン１４の複数のスキャンＦＦ回路１２のクロック端子に入力される。
複数のスキャンＦＦ回路１２は、内クロック信号INT_CLKの立ち上がりエッジのタイミングで入力されているデータ信号をラッチして出力する。
また、クロック回路１８は、外モード信号EXT_MODEがテストモードである場合にカウンタ１６からカウント信号CNTが入力されると、内クロック信号INT_CLKの出力を所定の期間停止する。
この内クロック信号INT_CLKの出力停止期間は、たとえばリセット回路１７がリセット信号INT_RST_Xを出力する期間であればよい。
【００４０】
［集積回路装置（ビルトインテスト回路）のテスト動作］
次に、第１の実施形態に係る集積回路装置１のテスト動作を説明する。
【００４１】
図６は、第１の実施形態に係る集積回路装置１のテスト動作を示すタイミングチャートである。図６は、図２のようにスキャンチェーン１４が２個のリセット型のスキャンＦＦ回路１１１で構成されている場合でのタイミングチャートである。
図６（Ａ）は、外クロック入力パッド８−４から集積回路装置１に入力される外クロック信号EXT_CLKの信号波形である。
図６（Ｂ）は、クロック回路１８が生成する内クロック信号INT_CLKの信号波形である。
図６（Ｃ）は、外モード入力パッド８−３から集積回路装置１に入力される外モード信号EXT_MODEの信号波形である。外モード信号EXT_MODEは、ハイレベルがテストモードに対応し、ローレベルが通常動作モードに対応する。
図６（Ｄ）は、外シフトイネーブル入力パッド８−１から集積回路装置１に入力される外シフトイネーブル信号EXT_SENの信号波形である。外シフトイネーブル信号EXT_SENは、ハイレベルがイネーブルに対応し、ローレベルがディスエーブルに対応する。
図６（Ｅ）は、カウンタ１６が生成するカウント信号CNTの信号波形である。
図６（Ｆ）は、リセット回路１７が生成するリセット信号INT_RST_Xの信号波形である。リセット信号INT_RST_Xは、ローレベルがリセットイネーブルに対応し、ハイレベルがリセットディスエーブルに対応する。
図６（Ｇ）は、外スキャン入力パッド８−２から集積回路装置１に入力される外スキャンデータ信号EXT_SIの信号波形である。
図６（Ｈ）は、スキャンチェーン１４の１番目の第１スキャンＦＦ回路１２−１の出力データ信号ＳＯ（１２−１）の信号波形である。
図６（Ｉ）は、スキャンチェーン１４の２番目の第２スキャンＦＦ回路１２−２の出力データ信号ＳＯ（１２−２）の信号波形である。
図６（Ｊ）は、集積回路装置１が外スキャン出力パッド８−５から出力する出力スキャンデータ信号の信号波形である。
なお、以下の説明において、タイミングＴ１からＴ６は、外クロック信号EXT_CLKの立ち上がりタイミングである。
【００４２】
図６（Ａ）および（Ｂ）に示すように、集積回路装置１のクロック回路１８は、外クロック信号EXT_CLKが入力されると、それに同期した内クロック信号INT_CLKを出力する。
内クロック信号INT_CLKは、スキャンチェーン１４を構成する第１スキャンＦＦ回路１２−１および第２スキャンＦＦ回路１２−２に入力される。
【００４３】
タイミングＴ１において、図６（Ｃ）に示すように外モード信号EXT_MODEがローレベルからハイレベルに制御されると、スキャン制御回路１１のカウンタ１６は、外クロック信号EXT_CLKのクロック数のカウントを開始する。
また、カウンタ１６は、図６（Ｅ）に示すようにカウント信号CNTをローレベルに制御する。
【００４４】
また、タイミングＴ１において図６（Ｄ）に示すように、外シフトイネーブル信号EXT_SENがローレベルからハイレベルに制御されると、第１スキャンＦＦ回路１２−１および第２スキャンＦＦ回路１２−２は、シフトイン動作を開始する。
そして、第１スキャンＦＦ回路１２−１に入力される外スキャンデータ信号EXT_SIは、図６（Ｇ）に示すようにタイミングＴ１においてハイレベルに制御される。
そのため、第１スキャンＦＦ回路１２−１は、タイミングＴ２においてハイレベルを出力する。また、第２スキャンＦＦ回路１２−２は、タイミングＴ３においてハイレベルを出力する。
このシフトイン動作により、第１スキャンＦＦ回路１２−１の出力レベルは、リセット後の出力レベル（ローレベル）とは異なるレベルにセットされる。
また、第２スキャンＦＦ回路１２−２の出力レベルも、リセット後の出力レベル（ローレベル）とは異なるレベルにセットされる。
【００４５】
また、タイミングＴ１において外クロック信号EXT_CLKのクロック数のカウントを開始したカウンタ１６は、タイミングＴ３において「２」をカウントする。レジスタ１５は、スキャンＦＦ回路の個数「２」を記憶している。
そのため、カウンタ１６は、タイミングＴ３において図６（Ｅ）に示すようにカウント信号CNTをハイレベルに制御する。また、カウンタ１６は、クロック数のカウントを終了する。これにより、シフトイン動作は終了する。
【００４６】
タイミングＴ３においてカウント信号CNTがハイレベルに制御されると、リセット回路１７は、タイミングＴ４においてリセット信号INT_RST_Xを出力する。
これにより、第１スキャンＦＦ回路１２−１および第２スキャンＦＦ回路１２−２はリセットされる。第１スキャンＦＦ回路１２−１の出力レベルおよび第２スキャンＦＦ回路１２−２の出力レベルは、ローレベルに初期化される。
タイミングＴ５になると、リセット信号INT_RST_Xは、ハイレベルにネゲートされる。
【００４７】
また、タイミングＴ３においてカウンタ１６からカウント信号CNTが入力されると、クロック回路１８は、タイミングＴ４およびＴ５の２クロック分の内クロック信号INT_CLKの出力を停止する。
このようにリセット期間中に内クロック信号INT_CLKを入力しないので、タイミングＴ４における第１スキャンＦＦ回路１２−１の出力レベルの変化は、内クロック信号INT_CLKによるものではなく、リセット信号INT_RST_Xによることが保証される。
また、タイミングＴ４における第２スキャンＦＦ回路１２−２の出力レベルの変化も、リセット信号INT_RST_Xにより変化したものであることが保証される。
【００４８】
タイミングＴ４およびＴ５のリセット動作を終えてタイミングＴ６になると、クロック回路１８は、内クロック信号INT_CLKの出力を再開する。
第１スキャンＦＦ回路１２−１および第２スキャンＦＦ回路１２−２は、それぞれに入力される信号をラッチして出力する。
これにより、第２スキャンＦＦ回路１２−２は、第１スキャンＦＦ回路１２−１がタイミングＴ５〜Ｔ６において出力していた、第１スキャンＦＦ回路１２−１のリセット後の出力レベルを出力する。
そして、図６（Ｊ）に示すように、集積回路装置１は、タイミングＴ５からＴ６の出力スキャンデータ信号として、第２スキャンＦＦ回路１２−２のリセット後の出力レベルを出力している。
また、集積回路装置１は、タイミングＴ６からＴ７の出力スキャンデータ信号として、第１スキャンＦＦ回路１２−１のリセット後の出力レベルを出力する。
よって、集積回路装置１は、タイミングＴ５〜Ｔ７のシフトアウト期間において、第２スキャンＦＦ回路１２−２のリセット後の出力レベルと、第１スキャンＦＦ回路１２−１のリセット後の出力レベルとを出力できる。
【００４９】
第２スキャンＦＦ回路１２−２および第１スキャンＦＦ回路１２−１のリセット後の出力レベルを出力するシフトアウト動作を終えてタイミングＴ７になると、複数のスキャンＦＦ回路１２のリセットテストが終了する。
そして、被テスト回路１０のＡＴＰＧテストが開始される。
タイミングＴ７以降のＡＴＰＧテストでは、集積回路装置１に入力される図６（Ｄ）の外シフトイネーブル信号EXT_SENおよび図６（Ｇ）の外スキャンデータ信号EXT_SIは、ＡＴＰＧテストでの初期設定用のテストパターンデータに応じた信号となる。
たとえば外シフトイネーブル信号EXT_SENをハイレベルにアサートした状態で、第１スキャンＦＦ回路１２−１および第２スキャンＦＦ回路１２−２に初期設定する外スキャンデータ信号EXT_SIを入力する。
初期設定後に所定数のクロック信号が入力されると、被テスト回路１０は、初期設定されたデータと、その後に入力されたデータ信号とに応じた状態となる。
この所定数のクロック信号の入力後に、集積回路装置１は、出力スキャンデータ信号を出力する。
この出力スキャンデータ信号が期待値と一致する場合、被テスト回路１０は、正常に動作している。
また、これらが不一致である場合、被テスト回路１０に異常があると考えられる。
【００５０】
＜第２の実施形態＞
［集積回路装置の構成］
図７は、本発明の第２の実施形態に係る集積回路装置１の半導体基板６に集積化される回路のブロック図である。
第２の実施形態に係る集積回路装置１は、図７に示すように、スキャンチェーン１４を構成する被テスト回路１０の第１スキャンＦＦ回路（ＳＦＦ）１２−１Ａがセット型のスキャンＦＦ回路１２１である点で、第１の実施形態に係る集積回路装置１と相違する。
第２の実施形態に係る集積回路装置１のスキャン制御回路（ＳＣＡＮ）１１、第２スキャンＦＦ回路（ＳＦＦ）１２−２などは、第１の実施形態のものと同じ機能を発揮するものであり、同一の符号を付して説明を省略する。
【００５１】
図８は、セット型のスキャンＦＦ回路１２１のブロック図である。
セット型のスキャンＦＦ回路１２１は、セット信号が入力されると、出力をハイレベルに制御する。
セット型のスキャンＦＦ回路１２１は、ＤＦＦ回路１２２と、セレクタ１１３とを有する。
また、セット型のスキャンＦＦ回路１２１は、シフトイネーブル端子１１４、スキャン入力端子１１５、データ入力端子１１６、クロック入力端子１１７、セット入力端子１２３、データ出力端子１１９を有する。
セット入力端子１２３は、ＤＦＦ回路１２２に接続される。
そして、セット入力端子１２３からセット信号が入力されると、ＤＦＦ回路１２２は、出力をセットする初期化動作をする。具体的には、ＤＦＦ回路１２２は、データ出力端子１１９へハイレベルのデータ信号を出力する。
このセット型のスキャンＦＦ回路１２１からなる第１スキャンＦＦ回路１２−１Ａは、図７に示すように、第２スキャンＦＦ回路１２−２と直列に接続されて、被テスト回路１０においてスキャンチェーン１４を構成する。
また、第１スキャンＦＦ回路１２−１Ａのセット入力端子１２３は、リセット回路１７に接続される。よって、セット入力端子１２３には、第２スキャンＦＦ回路１２−２のリセット入力端子１１８と同様に、内リセット信号INT_RST_Xが入力する。
【００５２】
［集積回路装置（ビルトインテスト回路）のテスト動作］
次に、第２の実施形態に係る集積回路装置１のテスト動作を説明する。
【００５３】
図９は、第２の実施形態に係る集積回路装置１のテスト動作を示すタイミングチャートである。
図９（Ｈ）は、スキャンチェーン１４の１番目のセット型の第１スキャンＦＦ回路１２−１Ａの出力データ信号ＳＯ（１２−１Ａ）の信号波形である。
また、図９（Ａ）〜（Ｇ）および図９（Ｉ）〜（Ｊ）は、図６と同じ信号の信号波形である。
【００５４】
タイミングＴ１からのシフトイン動作において、第１スキャンＦＦ回路１２−１Ａに入力される外スキャンデータ信号EXT_SIは、図９（Ｇ）に示すように、タイミングＴ１においてハイレベルとなり、タイミングＴ２においてローレベルとなる。
そのため、シフトイン期間の終了時のタイミングＴ４では、第１スキャンＦＦ回路１２−１Ａは、ローレベルを出力する。また、第２スキャンＦＦ回路１２−２は、ハイレベルを出力する。
これにより、第１スキャンＦＦ回路１２−１Ａの出力レベルは、リセット後の出力レベル（ハイレベル）とは異なるローレベルにセットされる。
また、第２スキャンＦＦ回路１２−２の出力レベルも、リセット後の出力レベル（ローレベル）とは異なるハイレベルにセットされる。
【００５５】
また、タイミングＴ１において図９（Ｃ）に示すように外モード信号EXT_MODEがローレベルからハイレベルに制御されると、カウンタ１６は、外クロック信号EXT_CLKのクロック数をカウントする。
その後、カウンタ１６は、タイミングＴ３において図６（Ｅ）に示すようにカウント信号CNTをローレベルからハイレベルに制御する。
カウント信号CNTがハイレベルに制御されると、リセット回路１７は、タイミングＴ４からＴ５までにおいてリセット信号INT_RST_Xをローレベルに制御する。
これにより、第１スキャンＦＦ回路１２−１Ａはセットされる。第１スキャンＦＦ回路１２−１Ａの出力レベルは、ハイレベルになる。
また、第２スキャンＦＦ回路１２−２はリセットされる。第２スキャンＦＦ回路１２−２の出力レベルは、ローレベルになる。
【００５６】
タイミングＴ４およびＴ５のリセット動作を終えてタイミングＴ６になると、クロック回路１８は、内クロック信号INT_CLKの出力を再開し、シフトアウト動作を開始する。
これにより、図６（Ｊ）に示すように、集積回路装置１は、タイミングＴ５からＴ６の出力スキャンデータ信号として、第２スキャンＦＦ回路１２−２のリセット後の出力レベルを出力する。
また、集積回路装置１は、タイミングＴ６からＴ７の出力スキャンデータ信号として、第１スキャンＦＦ回路１２−１Ａのセット後の出力レベルを出力する。
タイミングＴ７以降には、被テスト回路１０のＡＴＰＧテストが実行される。
【００５７】
＜第３の実施形態＞
［集積回路装置（ビルトインテスト回路）の構成］
図１０は、本発明の第３の実施形態に係る集積回路装置１に集積化されるビルトインテスト回路２のブロック図である。
第３の実施形態に係る集積回路装置１は、図１０に示すように、カウンタ１６Ａに、リセット信号INT_RST_Xが入力される点で、第２の実施形態に係る集積回路装置１と相違する。
第２の実施形態に係る集積回路装置１のスキャンチェーン１４、リセット回路１７、およびクロック回路１８は、第２の実施形態のものと同じ機能を発揮するものであり、同一の符号を付して説明を省略する。
たとえばスキャンチェーン１４の第１スキャンＦＦ回路１２−１Ａはセット型のスキャンＦＦ回路１２１であり、第２スキャンＦＦ回路１２−２はリセット型のスキャンＦＦ回路１１１である。
【００５８】
カウンタ１６Ａは、テストモードにおいて２回のカウントを実行し、カウント信号CNTも２回出力する。
具体的にはたとえば、外モード入力パッド８−３から入力される外モード信号EXT_MODEが通常動作モードからテストモードに切り替えられると、カウンタ１６Ａは、１回目のカウント動作を開始する。
カウンタ１６Ａは、外クロック信号EXT_CLKのクロック数をカウントする。
また、カウント値がレジスタ１５に記憶されている上限値と一致すると、カウンタ１６Ａは、カウント信号CNTを生成して出力する。
また、カウンタ１６Ａは、外モード信号EXT_MODEがテストモードに切り替えられた後に最初のリセット信号INT_RST_Xが入力されると、２回目のカウント動作を開始する。カウンタ１６Ａは、外クロック信号EXT_CLKのクロック数をカウントする。
また、カウント値がレジスタ１５に記憶されている上限値と一致すると、カウンタ１６Ａは、カウント信号CNTを生成して出力する。
【００５９】
［集積回路装置（ビルトインテスト回路）のテスト動作］
次に、第３の実施形態に係る集積回路装置１のテスト動作を説明する。
第３の実施形態では、１回目のリセット前にスキャンＦＦ回路１２から出力させるレベルをハイレベルとし、２回目をローレベルとする。
図１１は、第３の実施形態に係る集積回路装置１のテスト動作を示すタイミングチャートである。図１１（Ａ）〜（Ｊ）は、第２の実施形態の図９（Ａ）〜（Ｊ）と同じ信号の信号波形である。
【００６０】
タイミングＴ１からＴ７までの１回目のリセット動作は、第２の実施形態の図９（Ａ）〜（Ｊ）と同じである。
ただし、図１１（Ｇ）に示すように、１回目のシフトイン期間において第１スキャンＦＦ回路１２−１Ａに入力される外スキャンデータ信号EXT_SIは、タイミングＴ１からＴ５までハイレベルとされる。
そのため、１回目のシフトイン期間の終了時のタイミングＴ４では、すべてのスキャンＦＦ回路１２は、ハイレベルを出力する。
また、１回目のリセット期間となり、外モード信号EXT_MODEがハイレベルに制御され、カウント信号CNTがハイレベルに制御されると、リセット回路１７は、タイミングＴ４においてリセット信号INT_RST_Xをローレベルからハイレベルに制御する。
これにより、第１スキャンＦＦ回路１２−１Ａはセットされる。第１スキャンＦＦ回路１２−１Ａの出力レベルは、ハイレベルのままである。これに対して、第２スキャンＦＦ回路１２−２はリセットされ、ローレベルを出力する。
【００６１】
１回目のシフトアウト期間になると、クロック回路１８は、タイミングＴ６から内クロック信号INT_CLKの出力を再開し、シフトアウト動作を開始する。
これにより、第２スキャンＦＦ回路１２−２は、第１スキャンＦＦ回路１２−１ＡがタイミングＴ５〜Ｔ６において出力していた、第１スキャンＦＦ回路１２−１Ａのセット後の出力レベルを出力する。
また、タイミングＴ５〜Ｔ７において、スキャンチェーン１４を構成する第２スキャンＦＦ回路１２−２および第１スキャンＦＦ回路１２−１Ａの出力レベルが出力される。
以上のように、外スキャンデータ信号EXT_SIをハイレベル（１）とした１回目のリセット動作が終了すると、ビルトインテスト回路２は、２回目のリセット動作を開始する。
この２回目のリセット動作では、外スキャンデータ信号EXT_SIをローレベル（０）とする。
【００６２】
２回目のシフトイン期間では、タイミングＴ５からＴ１１の図１１（Ｇ）に示すように、第１スキャンＦＦ回路１２−１Ａに入力される外スキャンデータ信号EXT_SIは、ローレベルである。
そのため、第１スキャンＦＦ回路１２−１Ａおよび第２スキャンＦＦ回路１２−２は、２回目のシフトイン期間の終了時のタイミングＴ８においてローレベルを出力する。
また、タイミングＴ５においてリセット信号INT_RST_Xがネゲートされると、カウンタ１６Ａは、２回目のカウントを開始する。
カウンタ１６Ａは、上限値「２」をカウントするタイミングＴ７においてカウント信号CNTをローレベルからハイレベルに制御する。
【００６３】
タイミングＴ７においてカウンタ１６Ａからカウント信号CNTが入力されると、リセット回路１７は、タイミングＴ８においてリセット信号INT_RST_Xを出力する。リセット信号INT_RST_Xは、タイミングＴ８からＴ９においてローレベルにアサートされる。
これにより、第１スキャンＦＦ回路１２−１Ａはセットされ、第２スキャンＦＦ回路１２−２はリセットされる。
【００６４】
タイミングＴ８からＴ９までのリセット期間を終えると、２回目のシフトアウト期間となる。２回目のシフトアウト期間において、タイミングＴ１０になると、クロック回路１８は、内クロック信号INT_CLKの出力を再開し、シフトアウト動作を開始する。
これにより、図１１（Ｊ）に示すように、集積回路装置１は、タイミングＴ９からＴ１０の出力スキャンデータ信号として、第２スキャンＦＦ回路１２−２のリセット後の出力レベルを出力している。
また、集積回路装置１は、タイミングＴ１０からＴ１１の出力スキャンデータ信号として、第１スキャンＦＦ回路１２−１Ａのセット後の出力レベルを出力する。
タイミングＴ１１以降は、被テスト回路１０のＡＴＰＧテスト動作である。
【００６５】
＜第４の実施形態＞
［集積回路装置（ビルトインテスト回路）の構成］
図１２は、本発明の第４の実施形態に係る集積回路装置１に集積化されるビルトインテスト回路２のブロック図である。
第４の実施形態に係るビルトインテスト回路２は、イネーブル回路（ＥＮ）１９と、データ回路（ＳＩ）２０とを有する点で、第３の実施形態に係る集積回路装置１と相違する。
第４の実施形態に係る集積回路装置１のスキャンチェーン１４、カウンタ１６Ａ、リセット回路１７、およびクロック回路１８は、第３の実施形態のものと同じ機能を発揮するものであり、同一の符号を付して説明を省略する。
たとえばカウンタ１６Ａは、テストモードにおいて２回のカウントを実行し、カウント信号CNTを２回生成して出力する。
【００６６】
イネーブル回路１９は、配線１０４により外シフトイネーブル入力パッド８−１、外モード入力パッド８−３、および外クロック入力パッド８−４に接続される。
また、イネーブル回路１９は、スキャンチェーン１４の第１スキャンＦＦ回路１２−１Ａおよび第２スキャンＦＦ回路１２−２に接続される。
そして、イネーブル回路１９は、基本的に、外シフトイネーブル入力パッド８−１から入力される外シフトイネーブル信号EXT_SENを、内シフトイネーブル信号INT_SENとして出力する。
内シフトイネーブル信号INT_SENは、スキャンチェーン１４を構成する第１スキャンＦＦ回路１２−１Ａおよび第２スキャンＦＦ回路１２−２に入力される。
【００６７】
また、イネーブル回路１９は、外モード入力パッド８−３から外モード信号EXT_MODEが入力されると、予め設定された所定の波形の内シフトイネーブル信号INT_SENを出力する。
この場合、内シフトイネーブル信号INT_SENは、外シフトイネーブル信号EXT_SENとは無関係の波形になる。
具体的にはたとえば、イネーブル回路１９は、外モード信号EXT_MODEが入力されたタイミングから所定のクロック数の期間において内シフトイネーブル信号INT_SENをハイレベルに維持する。
内シフトイネーブル信号INT_SENがハイレベルに維持される期間は、リセットテストの期間であればよい。
後述するように、第４の実施形態では、イネーブル回路１９は、外クロック信号EXT_CLKの１０周期に相当する期間において、内シフトイネーブル信号INT_SENをハイレベルに維持する。
【００６８】
データ回路２０は、配線１０４により外スキャン入力パッド８−２、外モード入力パッド８−３、および外クロック入力パッド８−４に接続される。また、データ回路２０は、スキャンチェーン１４の１番目の第１スキャンＦＦ回路１２−１Ａに接続される。
そして、データ回路２０は、基本的に、外スキャン入力パッド８−２から入力される外スキャンデータ信号EXT_SIを、内スキャンデータ信号INT_SIとして出力する。
内スキャンデータ信号INT_SIは、スキャンチェーン１４を構成する１番目の第１スキャンＦＦ回路１２−１Ａから、第１スキャンＦＦ回路１２−１Ａおよび第２スキャンＦＦ回路１２−２に入力される。
【００６９】
また、データ回路２０は、外モード入力パッド８−３から外モード信号EXT_MODEが入力されると、予め設定された所定の波形の内スキャンデータ信号INT_SIを出力する。
この場合、内スキャンデータ信号INT_SIは、外スキャンデータ信号EXT_SIとは無関係の波形になる。
具体的にはたとえば、データ回路２０は、外モード信号EXT_MODEが入力されたタイミングから所定のクロック数の期間（１回目のシフトイン期間）において内スキャンデータ信号INT_SIをハイレベルに維持する。
また、データ回路２０は、さらに所定のクロック数の期間（２回目のシフトアウトが終わるまでの期間）において内スキャンデータ信号INT_SIをローレベルに維持する。
【００７０】
［集積回路装置（ビルトインテスト回路）のテスト動作］
次に、第４の実施形態に係る集積回路装置１のテスト動作を説明する。
第４の実施形態では、２回のリセット動作を実行するリセットテスト期間においてスキャンチェーン１４に入力する内シフトイネーブル信号INT_SENおよび内スキャンデータ信号INT_SIを、ビルトインテスト回路２において自動生成する。
【００７１】
図１３は、第４の実施形態に係る集積回路装置１のテスト動作を示すタイミングチャートである。
図１３（Ｄ）は、外シフトイネーブル入力パッド８−１から集積回路装置１に入力される外シフトイネーブル信号EXT_SENの信号波形である。
図１３（Ｅ）は、イネーブル回路１９が生成する内シフトイネーブル信号INT_SENの信号波形である。
外シフトイネーブル信号EXT_SENまたは内シフトイネーブル信号INT_SENは、ハイレベルがイネーブルに対応し、ローレベルがディスエーブルに対応する。
図１３（Ｇ）は、外スキャン入力パッド８−２から集積回路装置１に入力される外スキャンデータ信号EXT_SIの信号波形である。
図１３（Ｈ）は、データ回路２０が生成する内スキャンデータ信号INT_SIの信号波形である。
また、図１３（Ａ）〜（Ｃ）、（Ｆ）および（Ｉ）〜（Ｌ）は、第３の実施形態の図１１（Ａ）〜（Ｃ）、（Ｅ）および（Ｇ）〜（Ｊ）と同じ信号の信号波形である。
【００７２】
タイミングＴ１において、図１３（Ｃ）に示すように外モード信号EXT_MODEが入力されると、イネーブル回路１９は、図１３（Ｅ）に示すように、ハイレベルの内シフトイネーブル信号INT_SENを出力する。
これにより、スキャンチェーン１４を構成する第１スキャンＦＦ回路１２−１Ａおよび第２スキャンＦＦ回路１２−２は、スキャン動作を開始する。
また、外モード信号EXT_MODEが入力されると、データ回路２０は、図１３（Ｉ）に示すように、ハイレベルの内スキャンデータ信号INT_SIを出力する。
これにより、スキャン動作を開始した第１スキャンＦＦ回路１２−１Ａおよび第２スキャンＦＦ回路１２−２は、１回目のリセット前にハイレベルを出力する。
そして、第１スキャンＦＦ回路１２−１Ａは、リセット信号INT_RST_Xによりセットされ、タイミングＴ５にハイレベルを出力する。
また、第２スキャンＦＦ回路１２−２は、リセット信号INT_RST_Xによりリセットされ、タイミングＴ５にローレベルを出力する。
また、図１３（Ｌ）に示すように、タイミングＴ５〜Ｔ７において、第１スキャンＦＦ回路１２−１Ａおよび第２スキャンＦＦ回路１２−２の１回目のセット後のレベルを出力する。
【００７３】
このような１回目のリセット動作が実行されている間に、データ回路２０は、図１３（Ｉ）に示すように、１回目のシフトイン期間が終了したタイミングＴ５において内スキャンデータ信号INT_SIをローレベルに切り替える。
これにより、１回目のリセット動作後の第１スキャンＦＦ回路１２−１Ａおよび第２スキャンＦＦ回路１２−２は、２回目のリセット前にローレベルを出力する。
そして、第１スキャンＦＦ回路１２−１Ａは、リセット信号INT_RST_Xによりセットされ、タイミングＴ８にハイレベルを出力する。
また、第２スキャンＦＦ回路１２−２は、リセット信号INT_RST_Xによりリセットされ、タイミングＴ８にローレベルを出力する。
また、図１３（Ｌ）に示すように、集積回路装置１の外スキャン出力パッド８−５は、タイミングＴ９〜Ｔ１０において第２スキャンＦＦ回路１２−２の２回目のリセット後のレベルを出力する。
また、外スキャン出力パッド８−５は、タイミングＴ１０〜Ｔ１１において第１スキャンＦＦ回路１２−１Ａの２回目のセット後のレベルを出力する。
【００７４】
タイミングＴ１１以降は、被テスト回路１０のＡＴＰＧテスト動作である。
この場合、所定の波形出力を終えたイネーブル回路１９は、外シフトイネーブル入力パッド８−１から入力される外シフトイネーブル信号EXT_SENを、内シフトイネーブル信号INT_SENとして出力する。
また、所定の波形を出力したデータ回路２０は、外スキャン入力パッド８−２から入力される外スキャンデータ信号EXT_SIを、内スキャンデータ信号INT_SIとして出力する。
【００７５】
［テスト装置の構成］
次に、図１２のビルトインテスト回路２が集積化された第４の実施形態に係る集積回路装置１をテストするテスト装置４１について説明する。
図１４は、第４の実施形態に係る集積回路装置１をテストするテスト装置４１のブロック図である。
また、図１４のテスト装置４１には、第４の実施形態に係る集積回路装置１が信号ケーブル４２により接続されている。集積回路装置１は、テスト装置４１のＤＵＴ（Device Under Test）である。
【００７６】
信号ケーブル４２により、集積回路装置１のたとえば被テスト回路１０のデータの入力パッド８−１１，８−１２は、テスト装置４１に電気的に接続される。
また、被テスト回路１０からのデータの出力パッド８−１３、外シフトイネーブル入力パッド８−１、外スキャン入力パッド８−２、外モード入力パッド８−３、外クロック入力パッド８−４、外スキャン出力パッド８−５もテスト装置４１に接続される。
【００７７】
テスト装置４１は、記憶部（ＭＥＭ）４３と、テストパターン生成部（ＡＴＰＧ）４４と、テスト信号生成部（ＳＩＧＮＡＬ）４５と、比較部（ＣＯＭＰ）４６とを有する。
また、記憶部４３は、ネットリストデータ（ＮＥＴ＿ＬＩＳＴ）４８と、テストパターンデータ（ＴＥＳＴ＿ＰＡＴＮ）４９と、テスト結果データ（ＲＳＬＴ）５０とを記憶する。
なお、テスト装置４１は、処理部として機能するＣＰＵ（Central Processing Unit）と、記憶部４３とがシステムバスで接続されたコンピュータを用いて実現できる。
この場合、記憶部４３にテスト装置４１用のプログラムを記憶し、このテスト装置４１用のプログラムをＣＰＵが読み込んで実行することにより、コンピュータに、テストパターン生成部４４、テスト信号生成部４５、および比較部４６を実現すればよい。
また、記憶部４３に記憶されるプログラムは、たとえばＣＤ−ＲＯＭ（Compact Disc Read Only Memory）などのコンピュータ読取可能な記録媒体に記憶されたものを、コンピュータにインストールしたものでよい。
または、記憶部４３に記憶されるプログラムは、たとえばインターネットなどの伝送媒体を介してコンピュータにダウンロードしてインストールしたものでよい。
【００７８】
ネットリストデータ４８は、被テスト回路１０のネットリストデータ４８である。
ネットリストデータ４８としては、たとえばＲＴＬ（Resistor Transistor Level）で記述したネットリストデータ４８がある。
ネットリストデータ４８は、被テスト回路１０を構成する複数の回路素子の情報と、複数の回路素子および複数のパッドとの接続情報とを含む。
【００７９】
テストパターンデータ４９は、集積回路装置１のテストに使用するテストパターンデータ４９である。
テストパターンデータ４９は、集積回路装置１へ供給する複数の信号の信号波形をデータ列で表したデータであり、被テスト回路１０のＡＴＰＧデータと、スキャンＦＦ回路１２のリセットテストデータとを含む。
また、テストパターンデータ４９は、集積回路装置１から出力される複数の出力信号を判定するための期待値データも含む。
たとえば、テストパターンデータ４９は、被テスト回路１０に入力するデータ信号のデータ列の他に、外モード信号EXT_MODE、外シフトイネーブル信号EXT_SEN、外スキャンデータ信号EXT_SIのデータ列を有する。
ハイレベルが「１」に対応し、ローレベルが「０」に対応する場合、図１３の外モード信号EXT_MODEのデータ列は、「０１１１１１１１１１１１１１１・・・」となる。
データ列の各ビットは、外モード信号EXT_MODEの外クロック信号EXT_CLKの１周期での波形レベルに対応する。
【００８０】
テスト結果データ５０は、比較部４６による比較判定結果のデータを有する。比較判定結果は、たとえば０が正常、１が故障を示す。
【００８１】
テストパターン生成部４４は、被テスト回路１０のネットリストデータ４８から、被テスト回路１０およびスキャンＦＦ回路１２をテストするテストパターンデータ４９を生成する。
【００８２】
テスト信号生成部４５は、記憶部４３に記憶されたテストパターンデータ４９を読み込み、読み込んだ値に応じたレベルとなる複数の信号を集積回路装置１へ出力する。
【００８３】
比較部４６には、集積回路装置１が出力した複数の信号が入力される。
そして、比較部４６は、入力される集積回路装置１の出力信号と、テストパターンデータ４９に含まれる当該出力信号の期待値とが一致するか否かを判断する。また、比較部４６は、比較結果を記憶部４３に保存する。
【００８４】
［テスト装置の動作］
次に、テスト装置４１を用いたテスト動作を説明する。
テストパターン生成部４４は、記憶部４３から被テスト回路１０のネットリストデータ４８を読み込み、集積回路装置１のテストパターンデータ４９を生成する。
【００８５】
図１５は、図１４のテストパターン生成部４４によるテストパターンデータ４９の生成処理のフローチャートである。
テストパターン生成部４４は、ＡＴＰＧ処理により、被テスト回路１０のネットリストデータ４８から、被テスト回路１０のみが集積回路装置１に集積化された場合のＡＴＰＧデータを生成する（ステップＳＴ１）。
【００８６】
また、ＡＴＰＧ処理において、テストパターン生成部４４は、ＡＴＰＧデータによる被テスト回路１０のテスト処理を容易にするために、被テスト回路１０のＦＦ回路の全部または一部をスキャンＦＦ回路１２に置き換えたネットリストデータを生成する。
また、テストパターン生成部４４は、ＡＴＰＧ処理後のネットリストデータに、スキャン制御回路１１を追加する。
具体的には、外モード入力パッド８−３および外クロック入力パッド８−４をスキャン制御回路１１に接続し、スキャン制御回路１１をスキャンチェーン１４を構成する複数のスキャンＦＦ回路１２に接続するように、ネットリストデータを加工する。
そして、テストパターン生成部４４は、加工後のネットリストデータで、記憶部４３に記憶されているネットリストデータ４８を上書きする。上書き後のネットリストデータ４８に基づいて、本実施形態に係る集積回路装置１が形成される。
【００８７】
次に、テストパターン生成部４４は、加工後のネットリストデータにおいて、スキャンチェーン１４を構成するスキャンＦＦ回路１２の直列接続個数をカウントする（ステップＳＴ２）。
【００８８】
スキャンＦＦ回路１２の直列接続個数をカウントした後、テストパターン生成部４４は、スキャンＦＦ回路１２のリセットテストデータを生成する（ステップＳＴ３）。
具体的には、テストパターン生成部４４は、図１３のタイミングＴ１からＴ１１までのリセットテスト期間の波形を値０または値１で表したリセットテストデータを生成する。
【００８９】
リセットテスト期間のリセットテストデータを生成した後、テストパターン生成部４４は、生成したリセットテストデータを、被テスト回路１０のＡＴＰＧデータに追加する（ステップＳＴ４）。
テストパターン生成部４４は、ＡＴＰＧデータの先頭部分である図１３のタイミングＴ１とＴ１１との間に、生成したリセットテストデータを追加する。
これにより、図１３のテストパターンデータ４９が生成される。
【００９０】
また、テストパターン生成部４４は、リセットテストデータを追加したテストパターンデータ４９を記憶部４３に保存する（ステップＳＴ５）。
これにより、記憶部４３は、集積回路装置１のテストパターンデータ４９を記憶する。
【００９１】
集積回路装置１のテストパターンデータ４９が記憶部４３に記憶されると、テスト信号生成部４５は、テスト処理を開始する。
テスト信号生成部４５は、記憶部４３からテストパターンデータ４９を読み込み、集積回路装置１へ供給する複数の信号を生成する。
テスト信号生成部４５は、生成した複数の信号を、外クロック信号EXT_CLKと同期させて出力する。
テスト信号生成部４５から集積回路装置１へ出力される各信号のレベルは、外クロック信号EXT_CLKに同期して、テストパターンデータ４９におけるそれぞれのデータ列の値に応じたレベルに変化する。
テスト信号生成部４５は、たとえば外モード信号EXT_MODEのデータ列「０１１１１１１１１１１１１１１・・・」に基づいて、タイミングＴ０でローレベル、タイミングＴ１以降でハイレベルとなる外モード信号EXT_MODEを出力する。
【００９２】
テスト信号生成部４５から複数の信号が入力されると、集積回路装置１は、その複数の信号の組み合わせに基づいて動作する。
また、集積回路装置１は、テスト装置４１へ信号を出力する。たとえば集積回路装置１は、図１３のテスト動作を実行し、図１３（Ｌ）の出力スキャンデータ信号を出力する。
出力スキャンデータ信号は、信号ケーブル４２を通じてテスト装置４１に入力される。
【００９３】
集積回路装置１の出力信号を取り込む所定のタイミングになると、テスト装置４１の比較部４６は、集積回路装置１の出力信号をラッチする。
たとえば図１３（Ｌ）のスキャンデータ信号の場合、比較部４６は、シフトアウト期間のタイミングＴ６、Ｔ７、Ｔ１０、Ｔ１１のタイミングでラッチする。
【００９４】
また、比較部４６は、記憶部４３のテストパターンデータ４９から、ラッチした出力信号の期待値を読み込む。比較部４６は、ラッチした出力信号のレベルに対応する値と期待値とを比較する。
たとえば図１３（Ｌ）のスキャンデータ信号の場合、比較部４６は、タイミングＴ６でラッチしたレベルの値がローレベルに対応する０である場合、期待値０と一致すると判定する。
また、比較部４６は、タイミングＴ７でラッチしたレベルの値がハイレベルに対応する１である場合、期待値１と一致すると判定する。
【００９５】
そして、ラッチした出力信号のレベルに対応する値と期待値とが一致する場合、比較部４６は、一致を示す比較判定結果を記憶部４３に保存する。
これにより、記憶部４３は、集積回路装置１のテストパターンデータ４９に基づく集積回路装置１のテスト動作の判定結果が蓄積される。
また、記憶部４３は、テスト結果データ５０を記憶する。
【００９６】
なお、比較部４６は、図１３のリセットテストのテスト結果については、以下のような判断をしてもよい。
比較部４６は、まず、タイミングＴ６でラッチした第２スキャンＦＦ回路１２−２の１回目のリセット動作の結果と、タイミングＴ１０でラッチした第２スキャンＦＦ回路１２−２の２回目のリセット動作の結果とが一致するか否かを判断する。
そして、これらが一致しない場合、比較部４６は、第２スキャンＦＦ回路１２−２のリセット機能が故障していると判断する。
また、１回目と２回目のリセット動作結果が一致する場合、比較部４６は、第２スキャンＦＦ回路１２−２のリセット動作の期待値「０」を読み込んで、いずれかの検出結果と比較する。
そして、これらが一致しない場合、比較部４６は、第２スキャンＦＦ回路１２−２のリセット機能が故障していると判断する。
また、検出結果と期待値とが一致する場合、比較部４６は、第２スキャンＦＦ回路１２−２のリセット機能が正常に動作していると判断する。
【００９７】
また、比較部４６は、タイミングＴ７でラッチした第１スキャンＦＦ回路１２−１Ａの１回目のセット動作の結果、およびタイミングＴ１１でラッチした第１スキャンＦＦ回路１２−１Ａの２回目のセット動作の結果についても同様に判断してもよい。
【００９８】
以上の各実施形態は、本発明の好適な実施形態の例であるが、本発明は、これに限定されることはなく、発明の要旨を逸脱しない範囲において種々の変形または変更が可能である。
【００９９】
たとえば上記各実施形態は、被テスト回路１０に１本のスキャンチェーン１４が形成される例である。
この他にも例えば、被テスト回路１０の複数のスキャンＦＦ回路１２は、複数本のスキャンチェーン１４を形成してもよい。
また、各スキャンチェーン１４は、３個以上のスキャンＦＦ回路１２が直列に接続されたものであってもよい。
複数のスキャンチェーン１４の間で、スキャンＦＦ回路１２の直列接続個数が異なっていてもよい。
複数のスキャンチェーン１４の間で直列接続個数が異なる場合、リセットテストでの１回のスキャンイン期間でのクロック数は、複数の直列接続個数での最大値とすればよい。
また、１回のスキャンアウト期間のクロック数は、最大値より１少ない値にすればよい。
【０１００】
また、スキャンチェーン１４が複数本である場合、複数の外スキャン入力パッド８−２と複数のスキャンチェーン１４との間にマルチプレクサを接続し、複数の外スキャン入力パッド８−２の個数を複数のスキャンチェーン１４より少なくしてもよい。
【０１０１】
また、スキャンチェーン１４が複数本である場合、複数の外スキャン出力パッド８−５と複数のスキャンチェーン１４との間にマルチプレクサを接続し、複数の外スキャン出力パッド８−５の個数を複数のスキャンチェーン１４より少なくしてもよい。
【０１０２】
また、第４の実施形態では、集積回路装置１のテストに用いるテストパターンデータ４９を、テスト装置４１により自動生成している。
この他にも例えば、第１の実施形態から第３の実施形態において、集積回路装置１のテストに用いるテストパターンデータ４９を、テスト装置４１により自動生成してもよい。
たとえは第２の実施形態では、外シフトイネーブル信号EXT_SENは、複数のスキャンＦＦ回路１２−１Ａ，１２−２へ直接に入力される。
また、外スキャンデータ信号EXT_SIは、スキャンチェーン１４の１番目のスキャンＦＦ回路１２−１Ａに直接に入力される。
この場合、テスト装置４１のテストパターン生成部４４は、図９のタイミングＴ１からＴ７までのリセットテストデータを生成し、これを被テスト回路１０のＡＴＰＧデータに追加すればよい。
また、タイミングＴ１からＴ４のシフトイン期間における外スキャンデータは、スキャンＦＦ回路１２の種類（セット型またはリセット型）および順番に応じて、それぞれのリセット後の出力レベルとは異なるレベルの値にすればよい。
【０１０３】
上記第１の実施形態で説明した図４の被テスト回路１０の構成例では、被テスト回路１０の４個のすべてのＦＦ回路が、スキャンＦＦ回路１２−１１〜１２−１４に置き換えられている。この他にもたとえば、被テスト回路１０の複数のＦＦ回路は、その一部がスキャンＦＦ回路１２に置き換えられてもよい。
【符号の説明】
【０１０４】
１…集積回路装置、２…ビルトインテスト回路、１０…被テスト回路、１２…スキャンフリップフロップ回路（スキャン機能付き同期回路）、１４…スキャンチェーン、１６、１６Ａ…カウンタ、１７…リセット回路（初期化回路）、１８…クロック回路、１９…イネーブル回路、２０…データ回路、４１…テスト装置、４９…テストパターンデータ、１１１…リセット型のスキャンフリップフロップ回路、１２１…セット型のスキャンフリップフロップ回路、Ｔ１〜Ｔ４…シフトイン期間、Ｔ４〜Ｔ５…リセット期間、Ｔ５〜Ｔ７…シフトアウト期間、Ｔ５〜Ｔ８…２回目のシフトイン期間、Ｔ８〜Ｔ９…２回目のリセット期間、Ｔ９〜Ｔ１１…２回目のシフトアウト期間、ＳＴ１…生成ステップ、ＳＴ２…個数カウントステップ、ＳＴ４…追加ステップ
【図１】
2010271065.tif 000003
【図２】
2010271065.tif 000004
【図３】
2010271065.tif 000005
【図４】
2010271065.tif 000006
【図５】
2010271065.tif 000007
【図６】
2010271065.tif 000008
【図７】
2010271065.tif 000009
【図８】
2010271065.tif 000010
【図９】
2010271065.tif 000011
【図１０】
2010271065.tif 000012
【図１１】
2010271065.tif 000013
【図１２】
2010271065.tif 000014
【図１３】
2010271065.tif 000015
【図１４】
2010271065.tif 000016
【図１５】
2010271065.tif 000017