(57)【特許請求の範囲】
【請求項１】
組み合わせ回路のスキャンパステストを行う場合に、ノーマルモード時にはフリップフロップとして動作し、シフトモード時にはシフトレジスタとして動作するように構成された複数のスキャンパステスト用記憶素子を備えた半導体集積回路において、
ノーマルモード時のクロック信号の半分の周期の高速クロック信号を生成する高速クロック生成回路と、
前記スキャンパステストに使用するスキャンデータにもとづいてランダムデータを生成するとともに、前記高速クロック生成回路により生成された前記高速クロック信号の周期で前記スキャンデータと前記ランダムデータを交互に出現させた高速スキャンデータを生成する高速データ生成回路とを設け、
前記高速データ生成回路により生成された前記高速スキャンデータによって前記スキャンパステストを行うこと
を特徴とする半導体集積回路。
【請求項２】
組み合わせ回路のスキャンパステストを行う場合に、ノーマルモード時にはフリップフロップとして動作し、シフトモード時にはシフトレジスタとして動作するように構成された複数のスキャンパステスト用記憶素子を備えた半導体集積回路において、
ノーマルモード時のクロック信号の半分の周期の高速クロック信号を生成する高速クロック生成回路と、
前記スキャンパステストに使用するスキャンデータにもとづいてランダムデータを生成するとともに、前記高速クロック生成回路により生成された前記高速クロック信号の周期で前記スキャンデータと前記ランダムデータを交互に出現させた高速スキャンデータを生成する高速データ生成回路とを設け、
半導体集積回路は、機能モジュール毎に複数の機能モジュール回路に分割され、
それら機能モジュール回路をそれぞれパラレルに独立して、前記高速データ生成回路により生成された前記高速スキャンデータによって前記スキャンパステストを行うこと
を特徴とする半導体集積回路。
【請求項３】
高速データ生成回路は、スキャンデータを１ビットシフトさせ、その１ビットシフトしたデータとスキャンデータとの排他的論理和を取ってランダムデータを生成するランダムデータ生成回路と、
クロック入力端子に入力されるクロック信号のハイロウに基づき、スキャンデータとランダムデータを交互に選択して高速スキャンデータを生成するセレクタ回路と
から構成したことを特徴とする請求項１または請求項２記載の半導体集積回路。
【請求項４】
高速データ生成回路は、高速スキャンデータを高速クロック生成回路により生成された高速クロック信号に同期させるフリップフロップ回路を含むことを特徴とする請求項３記載の半導体集積回路。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、製造上の欠陥を検査するテストを行うためのテスト回路を備えた半導体集積回路に関するものである。
【０００２】
【従来の技術】
半導体集積回路を正しく設計しても、製造時に欠陥が発生してしまうと、半導体集積回路は動作しない。これを防止するためには、製造した半導体集積回路が正しく動作することを確認するためのテストが必要である。この場合のテストは、半導体集積回路の設計上ではなく製造上の欠陥がないか否かを検査するものである。このようなテストを行うために、半導体集積回路は、その内部にテスト回路を備えるように設計される。
【０００３】
半導体集積回路が大規模化、複雑化するにつれて、半導体集積回路の設計だけでなく、テスト回路の設計も困難になっている。テスト設計を簡単にするための設計上の工夫のことをテスト容易化設計という。一般に、テスト容易化設計には、何らかの回路構造の変更が必要になるが、動作速度を低下させないこと、および入出力端子の数やハードウェア量の増加を最小限にすることが要求される。
【０００４】
テスト容易化設計の代表的な手法としてスキャン設計がある。スキャン設計は、半導体集積回路内部の全ての記憶素子（フリップフロップ）をテスト時にはシフトレジスタとして動作させるような構成とすることにより、テスト時に入出力端子を介してシフトレジスタの状態設定および状態観測を行うことができ、実質的に試験対象とする回路を組み合わせ回路とみなすことができる。従って、組み合わせ回路用の機能試験系列生成手法を適用して、故障検出率の高い試験を行うことができる。
【０００５】
尚、スキャン設計には、スキャンパスやＬＳＳＤ（Ｌｅｖｅｌ  Ｓｅｎｓｉｔｉｖｅ  Ｓｃａｎ  Ｄｅｓｉｇｎ  ）などがあるが、本発明では、スキャンパス方式のテスト回路を備えた半導体集積回路に関するものである。
【０００６】
図１０は、そのような従来の半導体集積回路の構成を示す回路図である。図１０に示すように、半導体集積回路内部には、複数のスキャンパステスト用フリップフロップＸ１〜Ｘｎ，Ｙ１〜Ｙｎ，Ｚ１〜Ｚｎが設けられている。図１１は、半導体集積回路内のスキャンパステスト用フリップフロップの構成を示す回路図である。図１１に示すように、半導体集積回路内の全てのスキャンパステスト用フリップフロップＸ１〜Ｘｎ，Ｙ１〜Ｙｎ，Ｚ１〜Ｚｎは、フリップフロップ回路１１のデータ入力端子Ｄにセレクタ１０が接続されている。
【０００７】
セレクタ１０は、スキャンパステスト用モード切替端子Ｍから入力される切替制御信号に従って、２つのデータ入力端子Ｄ，ＳＩのうちのいずれか一方の端子を選択し、その選択した端子から供給されるデータをフリップフロップ回路１１に出力する。フリップフロップ回路１１は、クロック入力端子Ｃから供給されるクロック信号のクロックパルスに同期して、データ入力端子Ｄまたはデータ入力端子ＳＩからセレクタ１０を介して供給されるデータを取り込み、その取り込んだデータをデータ出力端子Ｑから出力する。
【０００８】
図１０に示すように、スキャンパステスト用フリップフロップＸ１〜Ｘｎは、それぞれ、データ入力端子Ｄがデータ入力端子１と接続され、スキャンパステスト用モード切替端子Ｍが切替制御信号入力端子３と接続され、クロック入力端子Ｃがクロック入力端子４と接続され、データ出力端子Ｑが組み合わせ回路７と接続されている。
【０００９】
また、スキャンパステスト用フリップフロップＹ１〜Ｙｎは、それぞれ、データ入力端子Ｄが組み合わせ回路７と接続され、スキャンパステスト用モード切替端子Ｍが切替制御信号入力端子３と接続され、クロック入力端子Ｃがクロック入力端子４と接続され、データ出力端子Ｑが組み合わせ回路８と接続されている。
【００１０】
また、スキャンパステスト用フリップフロップＺ１〜Ｚｎは、それぞれ、データ入力端子Ｄが組み合わせ回路８と接続され、スキャンパステスト用モード切替端子Ｍが切替制御信号入力端子３と接続され、クロック入力端子Ｃがクロック入力端子４と接続され、データ出力端子Ｑがデータ出力端子５と接続されている。
【００１１】
さらに、スキャンパステスト用フリップフロップＸ１のデータ入力端子ＳＩは、スキャンデータ入力端子２と接続され、スキャンパステスト用フリップフロップＸ２〜Ｘｎ，Ｙ１〜Ｙｎ，Ｚ１〜Ｚｎのデータ入力端子ＳＩは、それぞれ、前段のスキャンパステスト用フリップフロップのデータ出力端子Ｑと接続され、スキャンパステスト用フリップフロップＺｎのデータ出力端子Ｑは、スキャンデータ出力端子６と接続されている。従って、スキャンデータ入力端子２から供給されるデータ（スキャンパステストに使用するスキャンデータ）に対しては、全てのスキャンパステスト用フリップフロップＸ１〜Ｘｎ，Ｙ１〜Ｙｎ，Ｚ１〜Ｚｎは、シフトレジスタとして動作することとなる。
【００１２】
複数のデータ入力端子１は、半導体集積回路の通常動作時のデータ（ノーマルデータ）を入力する端子であり、スキャンデータ入力端子２は、スキャンパステストに使用するスキャンデータを入力する端子である。切替制御信号入力端子３は、スキャンパステスト用フリップフロップＸ１〜Ｘｎ，Ｙ１〜Ｙｎ，Ｚ１〜Ｚｎ内のセレクタ１０を切り替える切替制御信号を入力する端子である。
【００１３】
クロック入力端子４は、スキャンパステスト用フリップフロップＸ１〜Ｘｎ，Ｙ１〜Ｙｎ，Ｚ１〜Ｚｎを動作させるクロック信号を入力する端子である。複数のデータ出力端子５は、半導体集積回路の通常動作時のノーマルデータを出力する端子であり、スキャンデータ出力端子６は、スキャンパステストに使用するスキャンデータを出力する端子である。
【００１４】
組み合わせ回路７，８は、スキャンパステストの試験対象の回路であり、複数のゲートなどから構成されている。組み合わせ回路７は、入力側に接続された各スキャンパステスト用フリップフロップＸ１〜Ｘｎからのデータ（ノーマルデータまたはスキャンデータ）を入力し、その入力したデータを回路内のゲートを介して、出力側に接続された各スキャンパステスト用フリップフロップＹ１〜Ｙｎに出力する。また、組み合わせ回路８は、入力側に接続された各スキャンパステスト用フリップフロップＹ１〜Ｙｎからのデータを入力し、その入力したデータを回路内のゲートを介して、出力側に接続された各スキャンパステスト用フリップフロップＺ１〜Ｚｎに出力する。
【００１５】
次に、スキャンパステストの動作について説明する。
図１２は、従来の半導体集積回路のスキャンパステストの動作を説明するためのタイミングチャートである。ここで、例えば、スキャンパステスト用フリップフロップＸｎ−ｍとスキャンパステスト用フリップフロップＹ１とが、組み合わせ回路７内のゲートを介して接続されているとする（即ち、スキャンパステスト用フリップフロップＸｎ−ｍに取り込まれたデータが、組み合わせ回路７内のゲートを介してスキャンパステスト用フリップフロップＹ１に出力されるとする）と、その組み合わせ回路７内のゲートの故障検出を行う場合を例に、スキャンパステストの動作を説明する。
【００１６】
（１）スキャンデータの取り込み（シフトモード）
まず、全てのスキャンパステスト用フリップフロップＸ１〜Ｘｎ，Ｙ１〜Ｙｎ，Ｚ１〜Ｚｎは、切替制御信号入力端子３から出力される切替制御信号に基づき、データ入力端子ＳＩからスキャンデータを入力するシフトモードにセレクタ１０を切り替える。
【００１７】
次に、スキャンデータ（Ａ１，Ａ２・・・）がスキャンデータ入力端子２にシリアルに入力される。スキャンパステスト用フリップフロップＸ１は、クロック入力端子４から出力されるクロック信号のクロックパルスに同期して、スキャンデータ入力端子２から出力されるスキャンデータを取り込み、その取り込んだスキャンデータを次段のスキャンパステスト用フリップフロップＸ２にシフトしていく。スキャンパステスト用フリップフロップＸ２〜Ｘｎ−ｍも、スキャンパステスト用フリップフロップＸ１と同様に、前段のスキャンパステスト用フリップフロップから出力されたスキャンデータを取り込み、その取り込んだスキャンデータを次段のスキャンパステスト用フリップフロップにシフトしていく。スキャンデータは、スキャンパステスト用フリップフロップＸｎまでシフトされる。
【００１８】
このように、スキャンパステスト用フリップフロップＸ〜Ｘｎは、シフトモードでは、シフトレジスタとして動作して、スキャンデータを順次シフトして、組み合わせ回路７にスキャンデータを設定する。ここで、スキャンパステスト用フリップフロップＸｎ−ｍには、スキャンデータＡ２が設定されている。
【００１９】
（２）組み合わせ回路７，８の試験（ノーマルモード）
次に、全てのスキャンパステスト用フリップフロップＸ１〜Ｘｎ，Ｙ１〜Ｙｎ，Ｚ１〜Ｚｎは、切替制御信号入力端子３から出力される切替制御信号に基づき、データ入力端子Ｄからノーマルデータを入力するノーマルモードにセレクタ１０を切り替える。
【００２０】
ノーマルモードに切り替えられると、組み合わせ回路７に設定されたスキャンデータは、組み合わせ回路７内のゲートを介してスキャンパステスト用フリップフロップＹ１〜Ｙｎに取り込まれる。ここで、スキャンパステスト用フリップフロップＸｎ−ｍに設定されたスキャンデータは、上記したように、組み合わせ回路７内のゲートを介してスキャンパステスト用フリップフロップＹ１に出力されて取り込まれる。
【００２１】
（３）スキャンデータの出力（シフトモード）
次に、再度、全てのスキャンパステスト用フリップフロップＸ１〜Ｘｎ，Ｙ１〜Ｙｎ，Ｚ１〜Ｚｎは、切替制御信号入力端子３から出力される切替制御信号に基づき、データ入力端子ＳＩからスキャンデータを入力するシフトモードにセレクタ１０を切り替える。
【００２２】
スキャンパステスト用フリップフロップＹ１〜Ｙｎに取り込まれたスキャンデータは、クロック入力端子４から出力されるクロック信号のクロックパルスに同期して、スキャンパステスト用フリップフロップＺｎまでシフトされ、スキャンパステスト用フリップフロップＺｎのデータ出力端子Ｑに接続されているスキャンデータ出力端子６から出力される。
【００２３】
スキャンデータ出力端子６から出力されたスキャンデータを検査することによって、組み合わせ回路７，８内のゲートを故障を検出することができる。そして、上記の動作を繰り返し行い半導体集積回路の故障検出の精度を高めている。
【００２４】
【発明が解決しようとする課題】
しかし、上記の従来の半導体集積回路では、１回のスキャンパステストにクロック信号のクロックパルスが最低フリップフロップ数個必要となる。従って、半導体集積回路の高い故障検出率を得るために、スキャンパステストをｎ回行った場合、スキャンテスト専用のスキャンデータのテストパターンは、フリップフロップ数×２×ｎパターン必要となる。
【００２５】
従って、第一に、大規模な半導体集積回路のスキャンパステストを実行する場合、組み合わせ回路７，８のある１個のゲートのテストを行うだけのために、半導体集積回路内部に存在する全てのスキャンパステスト用フリップフロップＸ１〜Ｘｎ，Ｙ１〜Ｙｎ，Ｚ１〜Ｚｎ数分だけクロックパルスが必要となり（即ち、スキャンデータを全てのスキャンパステスト用フリップフロップＸ１〜Ｘｎ，Ｙ１〜Ｙｎ，Ｚ１〜Ｚｎにシフトしていく分だけのクロックパルスが必要となり）、スキャンデータのテストパターンのパターン長が長くなるため（スキャンデータのデータ量が多くなるため）、テスト効率が悪くなり、テスト時間が長くなってしまうという課題があった。
【００２６】
第二に、半導体集積回路が大規模になる程、スキャンデータのテストパターンのパターン長が長くなるため、テスタ（試験装置）のテストパターンメモリを多量に使用しなければならず、特に、同時に別の半導体集積回路のテストを行う場合にはテストパターンメモリの許容量がそれだけ大きくなり、テストに必要なコストが高くなってしまうという課題があった。
【００２７】
第三に、半導体集積回路が大規模になる程、スキャンパステストを実行するためのオーバーヘッド（スキャンパステストのために必要になる回路）が増加し、さらにパターン長の長いスキャンパスデータのテストパターンが必要となるため、全てのスキャンパステスト用フリップフロップＸ１〜Ｘｎ，Ｙ１〜Ｙｎ，Ｚ１〜Ｚｎのセレクタ１０をスイッチングするための消費電力が増加してしまうという課題があった。
【００２８】
この発明は、上記のような課題を解決するためになされたものであり、スキャンパステストにかかる時間を短くすることができるとともに、スキャンパステストに使用するスキャンデータのデータ量を少なくすることができ、さらにスキャンパステストのためのオーバーヘッドおよび消費電力を低減することができる半導体集積回路を得ることを目的とする。
【００２９】
【課題を解決するための手段】
請求項１記載の発明に係る半導体集積回路は、ノーマルモード時のクロック信号の半分の周期の高速クロック信号を生成する高速クロック生成回路と、スキャンパステストに使用するスキャンデータにもとづいてランダムデータを生成するとともに、高速クロック生成回路により生成された高速クロック信号の周期でスキャンデータとランダムデータを交互に出現させた高速スキャンデータを生成する高速データ生成回路とを設け、高速データ生成回路により生成された高速スキャンデータによってスキャンパステストを行うことを特徴とする。
【００３０】
請求項２記載の発明に係る半導体集積回路は、ノーマルモード時のクロック信号の半分の周期の高速クロック信号を生成する高速クロック生成回路と、スキャンパステストに使用するスキャンデータにもとづいてランダムデータを生成するとともに、高速クロック生成回路により生成された高速クロック信号の周期でスキャンデータとランダムデータを交互に出現させた高速スキャンデータを生成する高速データ生成回路とを設け、半導体集積回路は、機能モジュール毎に複数の機能モジュール回路に分割され、それら機能モジュール回路をそれぞれパラレルに独立して、高速データ生成回路により生成された高速スキャンデータによってスキャンパステストを行うこと特徴とする。
【００３１】
請求項３記載の発明に係る半導体集積回路は、高速データ生成回路を、スキャンデータを１ビットシフトさせ、その１ビットシフトしたデータとスキャンデータとの排他的論理和を取ってランダムデータを生成するランダムデータ生成回路と、クロック入力端子に入力されるクロック信号のハイロウに基づき、スキャンデータとランダムデータを交互に選択して高速スキャンデータを生成するセレクタ回路とから構成してもよい。
【００３２】
請求項４記載の発明に係る半導体集積回路は、高速データ生成回路を、高速スキャンデータを高速クロック生成回路により生成された高速クロック信号に同期させるフリップフロップ回路を含む構成としてもよい。
【００３７】
【発明の実施の形態】
以下、この発明の実施の一形態を説明する。
実施の形態１．
図１は、この発明の実施の形態１による半導体集積回路を示す回路図である。図１に示すように、スキャンパステスト用フリップフロップＸ１〜Ｘｎは、それぞれ、データ入力端子Ｄがデータ入力端子１と接続され、スキャンパステスト用モード切替端子Ｍが切替制御信号入力端子３Ａと接続され、クロック入力端子Ｃが高速クロック生成回路２１と接続され、データ出力端子Ｑが組み合わせ回路７と接続されている。
【００３８】
また、スキャンパステスト用フリップフロップＹ１〜Ｙｎ−ｍは、それぞれ、データ入力端子Ｄが組み合わせ回路７と接続され、スキャンパステスト用モード切替端子Ｍが切替制御信号入力端子３Ａと接続され、クロック入力端子Ｃが高速クロック生成回路２１と接続され、データ出力端子Ｑが組み合わせ回路８と接続されている。
【００３９】
また、スキャンパステスト用フリップフロップＹｎは、データ入力端子Ｄが組み合わせ回路７と接続され、スキャンパステスト用モード切替端子Ｍが切替制御信号入力端子３Ｂと接続され、クロック入力端子Ｃが高速クロック生成回路２１と接続され、データ出力端子Ｑが組み合わせ回路８と接続されている。
【００４０】
また、スキャンパステスト用フリップフロップＺ１〜Ｚｎは、それぞれ、データ入力端子Ｄが組み合わせ回路８と接続され、スキャンパステスト用モード切替端子Ｍが切替制御信号入力端子３Ｂと接続され、クロック入力端子Ｃが高速クロック生成回路２１と接続され、データ出力端子Ｑがデータ出力端子５と接続されている。
【００４１】
さらに、スキャンパステスト用フリップフロップＸ１，Ｙｎのデータ入力端子ＳＩは、高速データ生成回路２２と接続され、スキャンパステスト用フリップフロップＸ２〜Ｘｎ，Ｙ１〜Ｙｎ−ｍ，Ｚ１〜Ｚｎのデータ入力端子ＳＩは、それぞれ、前段のスキャンパステスト用フリップフロップのデータ出力端子Ｑと接続されている。スキャンパステスト用フリップフロップＹｎ−ｍのデータ出力端子Ｑは、スキャンデータ出力端子６Ａと接続され、スキャンパステスト用フリップフロップＺｎのデータ出力端子Ｑは、スキャンデータ出力端子６Ｂと接続されている。
【００４２】
従って、高速データ生成回路２２から供給されるデータに対して、スキャンパステスト用フリップフロップＸ１〜Ｘｎ，Ｙ１〜Ｙｎ−ｍおよびスキャンパステスト用フリップフロップＹｎ，Ｚ１〜Ｚｎは、それぞれ、シフトレジスタとして動作することとなる。
【００４３】
複数のデータ入力端子１は、半導体集積回路の通常動作時のデータ（ノーマルデータ）を入力する端子であり、スキャンデータ入力端子２は、スキャンパステストに使用するスキャンデータを入力する端子である。切替制御信号入力端子３Ａは、スキャンパステスト用フリップフロップＸ１〜Ｘｎ，Ｙ１〜Ｙｎ−ｍ内のセレクタ１０を切り替える切替制御信号を入力する端子であり、切替制御信号入力端子３Ｂは、スキャンパステスト用フリップフロップＹｎ，Ｚ１〜Ｚｎ内のセレクタ１０を切り替える切替制御信号を入力する端子である。
【００４４】
クロック入力端子４は、クロック信号を入力する端子であり、複数のデータ出力端子５は、半導体集積回路の通常動作時のノーマルデータを出力する端子である。スキャンデータ出力端子６Ａは、スキャンパステスト用フリップフロップＹｎ−ｍから出力される高速スキャンデータを出力する端子であり、スキャンデータ出力端子６Ｂは、スキャンパステスト用フリップフロップＺｎから出力される高速スキャンデータを出力する端子である。
【００４５】
組み合わせ回路７，８は、スキャンパステストの試験対象の回路であり、複数のゲートなどから構成されている。
【００４６】
図１に示すように、半導体集積回路内部のスキャンパステスト用フリップフロップＸ１〜Ｘｎ，Ｙ１〜Ｙｎ，Ｚ１〜Ｚｎおよび組み合わせ回路７，８は、機能モジュール毎に分割されている。機能モジュール回路１２は、スキャンパステスト用フリップフロップＸ１〜Ｘｎ，Ｙ１〜Ｙｎ−ｍおよび組み合わせ回路７から構成され、機能モジュール回路１３は、スキャンパステスト用フリップフロップＹｎ，Ｚ１〜Ｚｎおよび組み合わせ回路８から構成されている。
【００４７】
高速クロック生成回路２１は、クロック入力端子４とスキャンパステスト用フリップフロップＸ１〜Ｘｎ，Ｙ１〜Ｙｎ，Ｚ１〜Ｚｎとの間に設けられ、遅延回路１４およびＥＸ−ＯＲ回路（排他的論理和回路）１５から構成されている。遅延回路１４は、クロック入力端子４と接続され、クロック入力端子４から出力されるクロック信号を１／４周期遅延させて出力するものである。ＥＸ−ＯＲ回路１５は、クロック入力端子４から出力されるクロック信号と遅延回路１４から出力される１／４周期遅延したクロック信号との排他的論理和を取って、クロック信号の半分の周期の高速クロック信号を生成し、その高速クロック信号を出力するものである。
【００４８】
高速データ生成回路２２は、スキャンデータ入力端子２およびクロック入力端子４とスキャンパステスト用フリップフロップＸ１，Ｙｎとの間に設けられ、フリップフロップ回路１６，１７，２０、ＥＸ−ＯＲ回路（排他的論理和回路）１８およびセレクタ回路１９から構成されている。
【００４９】
フリップフロップ回路１６は、クロック入力端子４から出力されたクロック信号のクロックパルスの立ち上がりに同期して、スキャンデータ入力端子２から出力されたスキャンデータをシフトさせるものであり、フリップフロップ回路１７は、クロック入力端子４から出力されたクロック信号のクロックパルスの立ち下がりに同期して、フリップフロップ回路１６から出力されたスキャンデータをシフトさせるものである。
【００５０】
ＥＸ−ＯＲ回路１８は、スキャンデータ入力端子２から出力されるスキャンデータとフリップフロップ回路１７から出力された１ビットシフトされたスキャンデータとの排他的論理和を取ったランダムデータを出力するものである。
【００５１】
セレクタ回路１９は、クロック入力端子４から出力されたクロック信号がロウレベルのとき、スキャンデータ入力端子２から出力されるスキャンデータを選択し、また、クロック入力端子４から出力されたクロック信号がハイレベルのとき、ＥＸ−ＯＲ回路１８から出力されるランダムデータを選択することによって、スキャンデータの半分の周期（２倍のデータ量）の高速スキャンデータを生成し、その高速スキャンデータをフリップフロップ回路２０に出力するものである。
【００５２】
フリップフロップ回路２０は、高速クロック生成回路２１から出力された高速クロック信号のクロックパルスとの同期を取って、高速スキャンデータをスキャンパステスト用フリップフロップＸ１，Ｙｎに出力するものである。
【００５３】
次に、動作について説明する。
図２は、この発明の実施の形態１による半導体集積回路のスキャンパステストの動作を説明するためのタイミングチャートである。
【００５４】
（Ａ）高速クロック生成回路２１の動作
まず、高速クロック生成回路２１の動作について説明する。遅延回路１４は、クロック入力端子４から出力されるクロック信号を１／４周期遅延させてＥＸ−ＯＲ回路１５に出力する。ＥＸ−ＯＲ回路１５では、クロック入力端子４から出力されるクロック信号と遅延回路１４から出力される１／４周期遅延したクロック信号との排他的論理和を取って、クロック信号の半分の周期の高速クロック信号を生成し、その高速クロック信号を出力する。
【００５５】
（Ｂ）高速データ生成回路２２の動作
次に、高速データ生成回路２２の動作について説明する。スキャンデータ（Ａ，Ｂ，Ｃ・・・）は、スキャンデータ入力端子２からフリップフロップ回路１６、ＥＸ−ＯＲ回路１８およびセレクタ回路１９に出力される。
【００５６】
フリップフロップ回路１６は、クロック信号のクロックパルスの立ち上がりに同期して、スキャンデータ入力端子２から出力されたスキャンデータをシフトさせ、フリップフロップ回路１７は、クロック信号のクロックパルスの立ち下がりに同期して、フリップフロップ回路１６から出力されたスキャンデータをシフトさせる。結果的に、スキャンデータ入力端子２から出力されたスキャンデータは、フリップフロップ回路１６，１７によって１クロック（１ビット）シフトされる。
【００５７】
ＥＸ−ＯＲ回路１８は、スキャンデータ入力端子２から出力されたスキャンデータとフリップフロップ回路１７から出力された１ビットシフトされたスキャンデータとの排他的論理和を取ってランダムデータ（ａ，ｂ，ｃ・・・）を生成し、そのランダムデータをセレクタ回路１９に出力する。
【００５８】
セレクタ回路１９は、クロック信号がロウレベルのとき、スキャンデータ入力端子２から出力されたスキャンデータを選択し、また、クロック信号がハイレベルのとき、ＥＸ−ＯＲ回路１８から出力されたランダムデータを選択することによって、スキャンデータとランダムデータとがスキャンデータの半分の周期で交互に現れることになる。その結果、スキャンデータの半分の周期（２倍のデータ量）の高速スキャンデータ（Ａ，ａ，Ｂ，ｂ・・・）が生成される。セレクタ回路１９は、生成した高速スキャンデータをフリップフロップ回路２０に出力する。
【００５９】
フリップフロップ回路２０は、高速クロック生成回路２１から出力された高速クロック信号のクロックパルスとの同期を取って（高速クロック信号のクロックパルスの立ち下がりエッジに高速スキャンデータの変化点を一致させ）、高速スキャンデータをスキャンパステスト用フリップフロップＸ１，Ｙｎに出力する。このように、高速クロック信号と高速スキャンデータとの同期を取ることにより、スキャンパステスト時の高速クロック信号と高速スキャンデータとのレーシングが防止される。
【００６０】
（Ｃ）スキャンパステストの動作
次に、スキャンパステストの動作について説明する。ここで、例えば、スキャンパステスト用フリップフロップＸｎ−ｍとスキャンパステスト用フリップフロップＹ１とが、組み合わせ回路７内のゲートを介して接続され、また、スキャンパステスト用フリップフロップＹｎとスキャンパステスト用フリップフロップＺ１とが、組み合わせ回路８内のゲートを介して接続されているとすると、その組み合わせ回路７，８内のゲートの故障検出を行う場合を例に、スキャンパステストの動作を説明する。
【００６１】
（１）高速スキャンデータの取り込み（シフトモード）
まず、スキャンパステスト用フリップフロップＸ１〜Ｘｎ，Ｙ１〜Ｙｎ−ｍは、切替制御信号入力端子３Ａから出力される切替制御信号に基づき、また、スキャンパステスト用フリップフロップＹｎ，Ｚ１〜Ｚｎは、切替制御信号入力端子３Ｂから出力される切替制御信号に基づき、データ入力端子ＳＩから高速スキャンデータを入力するシフトモードにセレクタ１０を切り替える。
【００６２】
次に、高速スキャンデータ（Ａ，ａ，Ｂ，ｂ・・・）が、高速データ生成回路２２からスキャンパステスト用フリップフロップＸ１，Ｙｎに出力される。スキャンパステスト用フリップフロップＸ１〜Ｘｎ−ｍは、それぞれ、高速クロック生成回路２１から出力される高速クロック信号のクロックパルスに同期して、高速スキャンデータを次段のスキャンパステスト用フリップフロップにシフトしていく。スキャンデータは、スキャンパステスト用フリップフロップＸｎまでシフトされる。
【００６３】
尚、図１の回路例では、機能モジュール回路１３において、組み合わせ回路８の入力側にスキャンパステスト用フリップフロップＹｎ以外のスキャンパステスト用フリップフロップが存在しないので、スキャンパステスト用フリップフロップＹｎは、高速スキャンデータをシフトする必要はない。
【００６４】
ここで、スキャンパステスト用フリップフロップＸｎ−ｍには、高速スキャンデータａが設定され、スキャンパステスト用フリップフロップＹｎには、高速スキャンデータＡが設定されている。
【００６５】
（２）組み合わせ回路７，８の試験（ノーマルモード）
次に、スキャンパステスト用フリップフロップＸ１〜Ｘｎ，Ｙ１〜Ｙｎ−ｍは、切替制御信号入力端子３Ａから出力される切替制御信号に基づき、また、スキャンパステスト用フリップフロップＹｎ，Ｚ１〜Ｚｎは、切替制御信号入力端子３Ｂから出力される切替制御信号に基づき、データ入力端子Ｄからノーマルデータを入力するノーマルモードにセレクタ１０を切り替える。
【００６６】
ノーマルモードに切り替えられると、組み合わせ回路７に設定された高速スキャンデータは、組み合わせ回路７内のゲートを介してスキャンパステスト用フリップフロップＹ１〜Ｙｎに取り込まれる。また、組み合わせ回路８に設定された高速スキャンデータは、組み合わせ回路８内のゲートを介してスキャンパステスト用フリップフロップＺ１〜Ｚｎに取り込まれる。
【００６７】
ここで、スキャンパステスト用フリップフロップＸｎ−ｍに設定された高速スキャンデータは、上記したように、組み合わせ回路７内のゲートを介してスキャンパステスト用フリップフロップＹ１に出力されて取り込まれる。また、スキャンパステスト用フリップフロップＹｎに設定された高速スキャンデータは、上記したように、組み合わせ回路８内のゲートを介してスキャンパステスト用フリップフロップＺ１に出力されて取り込まれる。
【００６８】
（３）高速スキャンデータの出力（シフトモード）
次に、再度、スキャンパステスト用フリップフロップＸ１〜Ｘｎ，Ｙ１〜Ｙｎ−ｍは、切替制御信号入力端子３Ａから出力される切替制御信号に基づき、また、スキャンパステスト用フリップフロップＹｎ，Ｚ１〜Ｚｎは、切替制御信号入力端子３Ｂから出力される切替制御信号に基づき、データ入力端子ＳＩから高速スキャンデータを入力するシフトモードにセレクタ１０を切り替える。
【００６９】
スキャンパステスト用フリップフロップＹ１〜Ｙｎ−ｍに取り込まれた高速スキャンデータは、高速クロック生成回路２１から出力される高速クロック信号のクロックパルスに同期して、スキャンパステスト用フリップフロップＹｎ−ｍまでシフトされ、スキャンパステスト用フリップフロップＹｎ−ｍのデータ出力端子Ｑに接続されているスキャンデータ出力端子６Ａから出力される。また、スキャンパステスト用フリップフロップＺ１〜Ｚｎに取り込まれた高速スキャンデータは、高速クロック生成回路２１から出力される高速クロック信号のクロックパルスに同期して、スキャンパステスト用フリップフロップＺｎまでシフトされ、スキャンパステスト用フリップフロップＺｎのデータ出力端子Ｑに接続されているスキャンデータ出力端子６Ｂから出力される。
【００７０】
スキャンデータ出力端子６Ａ，６Ｂから出力された高速スキャンデータを検査することによって、機能モジュール回路１２，１３毎に、それぞれ組み合わせ回路７，８内のゲートの故障を検出することができる。
【００７１】
以上のように、この実施の形態１によれば、高速クロック生成回路２１でクロック信号の半分の周期の高速クロック信号を生成するとともに、高速データ生成回路２２でスキャンデータの半分の周期の高速スキャンデータを生成し、高速クロック信号および高速スキャンデータによってスキャンパステストを実行するように構成したので、従来のスキャンパステストと比較して、半分の時間でスキャンパステストを行うことができる。
【００７２】
また、高速データ生成回路２２は、スキャンデータの半分の周期（２倍のデータ量）の高速スキャンデータをスキャンデータから生成するように構成したので、スキャンデータのテストパターンのパターン長を短くすることができる。従って、テスタ（試験装置）のテストパターンメモリの容量を少なくすることができ、その結果、テストに必要なコストを低減することができる。
【００７３】
また、半導体集積回路を機能モジュール毎の機能モジュール回路１２，１３に分割して、それら機能モジュール回路１２，１３をそれぞれパラレルに独立してテスト可能に構成したので、スキャンデータのテストパターンのパターン長を短くすることができる。
【００７４】
例えば、半導体集積回路内部にスキャンパステスト用フリップフロップが１００個存在するとして、この半導体集積回路のスキャンパステストを１００回実行するとした場合、従来の半導体集積回路では、スキャンデータのテストパターンは１００×２×１００＝２００００パターン必要となるが、この実施の形態１では、５０個のスキャンパステスト用フリップフロップの機能モジュール回路に分割すれば、スキャンデータのテストパターンは５０×２×１００＝１００００パターンでスキャンパステストを実行することができる。
【００７５】
従って、一層、テストにかかる時間を短くすることができるとともに、テストに必要なコストも低減することができる。また、スキャンデータのテストパターンのパターン長を短くすることができるため、全体として、スキャンパステスト用フリップフロップＸ１〜Ｘｎ，Ｙ１〜Ｙｎ，Ｚ１〜Ｚｎのセレクタ１０をスイッチングする回数を減らすことができ、その結果、スキャンパステストのための消費電力を低減することができる。
【００７６】
実施の形態２．
図３は、この発明の実施の形態２による半導体集積回路の構成を示す回路図である。図３において、ＥＸ−ＯＲ回路２３は、組み合わせ回路７からスキャンパステスト用フリップフロップＹ１〜Ｙｎに出力される各データの排他的論理和を取る回路であり、ＥＸ−ＯＲ回路２４は、組み合わせ回路８からスキャンパステスト用フリップフロップＺ１〜Ｚｎに出力される各データの排他的論理和を取る回路である。出力端子２５Ａは、ＥＸ−ＯＲ回路２３の出力データを出力する端子であり、出力端子２５Ｂは、ＥＸ−ＯＲ回路２４の出力データを出力する端子である。
【００７７】
尚、その他の構成については上記図１に示したものと同様であるため、同一構成については同一符号を付して、重複説明を省略する。
【００７８】
次に、動作について説明する。
尚、ＥＸ−ＯＲ回路２３，２４以外の構成の動作は、上記実施の形態１で説明したのと同様であるため、重複説明を省略する。
【００７９】
組み合わせ回路７，８の試験動作（上記実施の形態１の（２）の動作）において、スキャンパステスト用フリップフロップＸ１〜Ｘｎ，Ｙ１〜Ｙｎ，Ｚ１〜Ｚｎのセレクタ１０がノーマルモードに切り替えられると、上記実施の形態１で説明したように、組み合わせ回路７に設定された高速スキャンデータは、組み合わせ回路７内のゲートを介してスキャンパステスト用フリップフロップＹ１〜Ｙｎに取り込まれ、また、組み合わせ回路８に設定された高速スキャンデータは、組み合わせ回路８内のゲートを介してスキャンパステスト用フリップフロップＺ１〜Ｚｎに取り込まれる。
【００８０】
ここで、組み合わせ回路７から出力される高速スキャンデータは、スキャンパステスト用フリップフロップＹ１〜Ｙｎだけでなく、ＥＸ−ＯＲ回路２３にも出力され、また、組み合わせ回路８から出力される高速スキャンデータは、スキャンパステスト用フリップフロップＺ１〜Ｚｎだけでなく、ＥＸ−ＯＲ回路２４にも出力される。
【００８１】
ＥＸ−ＯＲ回路２３，２４では、それぞれ、組み合わせ回路７，８から出力された高速スキャンデータの排他的論理和を取って出力端子２５Ａ，２５Ｂに出力する。このとき、組み合わせ回路７，８から出力された全ての高速スキャンデータの「１」の数が偶数個である場合、ＥＸ−ＯＲ回路２３，２４から出力されるデータの値は、「０」となる。一方、組み合わせ回路７，８から出力された全ての高速スキャンデータの「１」の数が奇数個である場合、ＥＸ−ＯＲ回路２３，２４から出力されるデータの値は、「１」となる。
【００８２】
従って、出力端子２５Ａ，２５Ｂから出力されたデータが、予め求めておいた期待値と異なる場合は、組み合わせ回路７，８内の奇数個のゲートに故障が発生していると判断できる。
【００８３】
以上のように、この実施の形態２によれば、ＥＸ−ＯＲ回路２３，２４によって、組み合わせ回路７，８から出力される全ての高速スキャンデータの排他的論理和を取るように構成したので、スキャンデータ出力端子６Ａ，６Ｂから出力された高速スキャンデータを検査することによって、組み合わせ回路７，８内のゲートを故障を検出する以前に、組み合わせ回路７，８内のゲート（奇数個のゲート）の故障を検出することができるため、早期に組み合わせ回路７，８の故障を検出することができるとともに、一層、スキャンパステストの故障検出率を高くすることができる。
【００８４】
実施の形態３．
図４は、この発明の実施の形態３による半導体集積回路の構成を示す回路図である。この実施の形態３による高速データ生成回路３０は、インバータ回路２６、ＰＮパターン発生回路２７、セレクタ回路１９およびフリップフロップ回路２０から構成されている。インバータ回路２６は、クロック入力端子４から出力されたクロック信号を反転させる回路であり、ＰＮパターン発生回路２７は、インバータ回路２６から出力された反転されたクロック信号を基に、生成多項式に基づいて擬似的にランダムデータを発生する回路である。
【００８５】
セレクタ回路１９は、クロック入力端子４から出力されたクロック信号がロウレベルのとき、スキャンデータ入力端子２から出力されるスキャンデータを選択し、また、クロック入力端子４から出力されたクロック信号がハイレベルのとき、ＰＮパターン発生回路２７から出力されるランダムデータを選択することによって、スキャンデータの半分の周期（２倍のデータ量）の高速スキャンデータを生成し、その高速スキャンデータをフリップフロップ回路２０に出力するものである。
【００８６】
フリップフロップ回路２０は、高速クロック生成回路２１から出力された高速クロック信号のクロックパルスとの同期を取って、高速スキャンデータをスキャンパステスト用フリップフロップＸ１，Ｙｎに出力するものである。
【００８７】
尚、その他の構成については上記図１に示したものと同様であるため、同一構成については同一符号を付して、重複説明を省略する。
【００８８】
図５は、ＰＮパターン発生回路の構成例を示す回路図である。図５において、ｍ＋１段接続されたフリップフロップ回路３２ｍ〜３２０は、入力端子３１から入力されたクロック信号に基づいて動作する。ＥＸ−ＯＲ回路３３は、フリップフロップ回路３２１の出力データとフリップフロップ回路３２０の出力データの排他的論理和を取って、その出力データをフリップフロップ回路３２ｍに出力する。フリップフロップ回路３２０の出力端子Ｄと接続された出力端子３４からランダムデータが出力される。
【００８９】
次に、動作について説明する。
尚、高速データ生成回路３０以外の構成の動作については、上記実施の形態１で説明したのと同様であるため、重複説明を省略する。
【００９０】
インバータ回路２６は、クロック入力端子４から出力されたクロック信号を反転させてＰＮパターン発生回路２７に出力する。ＰＮパターン発生回路２７では、ｍ＋１段接続されたフリップフロップ回路３２ｍ〜３２０がインバータ回路２６から出力されたクロック信号のクロックパルスの立ち下がりに同期して動作することによって、ランダムデータを発生する。ＰＮパターン発生回路２７で生成されたランダムデータは、上記図１に示したフリップフロップ回路１６，１７およびＥＸ−ＯＲ回路１８で生成したランダムデータと比較して、ランダム性の高い複雑なデータとなっている。
【００９１】
その後は、上記実施の形態１で説明したのと同様、セレクタ回路１９がスキャンデータの半分の周期（２倍のデータ量）の高速スキャンデータを生成し、フリップフロップ回路２０は、高速クロック生成回路２１から出力された高速クロック信号のクロックパルスとの同期を取って、高速スキャンデータをスキャンパステスト用フリップフロップＸ１，Ｙｎに出力する。
【００９２】
以上のように、この実施の形態３では、高速データ生成回路３０において、ＰＮパターン発生回路２７でランダムデータを生成するように構成したので、ランダム性の高い複雑なランダムデータを生成することができ、高速スキャンデータもランダム性の高いデータとなり、高速スキャンデータの客観性を高めることができ、その結果、スキャンパステストの故障検出率を高めることができる。
【００９３】
実施の形態４．
図６は、この発明の実施の形態４による半導体集積回路の構成を示す回路図である。この図６に示した半導体集積回路が上記図１に示した半導体集積回路と異なるのは、スキャンパステスト用フリップフロップＸ１〜Ｘｎ，Ｙ１〜Ｙｎ，Ｚ１〜Ｚｎをスキャンパステスト用フリップフロップＸＸ１〜ＸＸｎ，ＹＹ１〜ＹＹｎ，ＺＺ１〜ＺＺｎにした点である。
【００９４】
図７は、スキャンパステスト用フリップフロップＸＸ１〜ＸＸｎ，ＹＹ１〜ＹＹｎ，ＺＺ１〜ＺＺｎの構成を示す回路図である。図７に示すように、スキャンパステスト用フリップフロップＸＸ１〜ＸＸｎ，ＹＹ１〜ＹＹｎ，ＺＺ１〜ＺＺｎは、上記図１１に示したスキャンパステスト用フリップフロップＸ１〜Ｘｎ，Ｙ１〜Ｙｎ，Ｚ１〜ＺｎにＥＸ−ＯＲ回路３８が追加されている。このＥＸ−ＯＲ回路３８は、データ入力端子Ｄから出力されるデータと端子ＴＩから出力されるデータの排他的論理和を取って端子ＴＯから出力するものである。
【００９５】
尚、スキャンパステスト用フリップフロップＸＸ１〜ＸＸｎ，ＹＹ１〜ＹＹｎ，ＺＺ１〜ＺＺｎ以外の構成については、上記図１に示したものと同様であるため、同一構成については同一符号を付して、重複説明を省略する。
【００９６】
次に、動作について説明する。
尚、組み合わせ回路７，８の試験動作（上記実施の形態１の（２）の動作）以外の動作については、上記実施の形態１と同様であるため、重複説明を省略する。
【００９７】
スキャンパステスト用フリップフロップＸＸ１〜ＸＸｎ，ＹＹ１〜ＹＹｎ，ＺＺ１〜ＺＺｎのセレクタ１０がシフトモードの場合は、スキャンパステスト用フリップフロップＸＸ１では、端子ＴＩにローレベル（Ｌｏ）が入力されており、またデータ入力端子Ｄにはデータが入力されていないため、ＥＸ−ＯＲ回路３８は、「０」のデータを端子ＴＯから出力している。同様に、スキャンパステスト用フリップフロップＸＸ２〜ＸＸｎも、「０」のデータを端子ＴＯから出力している。
【００９８】
スキャンパステスト用フリップフロップＸＸ１〜ＸＸｎ，ＹＹ１〜ＹＹｎ，ＺＺ１〜ＺＺｎのセレクタ１０がノーマルモードに切り替えられると、上記実施の形態１で説明したように、組み合わせ回路７に設定された高速スキャンデータは、組み合わせ回路７内のゲートを介してスキャンパステスト用フリップフロップＹＹ１〜ＹＹｎに取り込まれ、また、組み合わせ回路８に設定された高速スキャンデータは、組み合わせ回路８内のゲートを介してスキャンパステスト用フリップフロップＺ１〜Ｚｎに取り込まれる。
【００９９】
ここで、スキャンパステスト用フリップフロップＹＹ１に例えば「０」のデータがデータ入力端子Ｄ（即ち、組み合わせ回路７）から入力されると、端子ＴＩには「０」のデータが入力されているため、スキャンパステスト用フリップフロップＹＹ１内のＥＸ−ＯＲ回路３８は、「０」のデータを端子ＴＯから出力する。また、スキャンパステスト用フリップフロップＹＹ２に例えば「１」のデータがデータ入力端子Ｄから入力されると、端子ＴＩには「０」のデータが入力されているため、スキャンパステスト用フリップフロップＹＹ２のＥＸ−ＯＲ回路３８は、「１」のデータを端子ＴＯから出力する。
【０１００】
同様に、スキャンパステスト用フリップフロップＹＹ３〜ＹＹｎ−ｍでは、前段のスキャンパステスト用フリップフロップの端子ＴＯから出力されるデータとデータ入力端子Ｄから入力されるデータとの排他的論理和を取って端子ＴＯから出力する。
【０１０１】
従って、スキャンパステスト用フリップフロップＹＹｎ−ｍの端子ＴＯから出力されるデータが「０」の場合は、組み合わせ回路７から出力された「１」のデータの数が偶数個であり、一方、スキャンパステスト用フリップフロップＹＹｎ−ｍの端子ＴＯから出力されるデータが「１」の場合は、組み合わせ回路７から出力された「１」のデータの数が奇数個である。スキャンパステスト用フリップフロップＺＺ１〜ＺＺｎについても同様である。
【０１０２】
従って、出力端子３７Ａ，３７Ｂから出力されたデータが、予め求めておいた期待値と異なる場合は、組み合わせ回路７，８内の奇数個のゲートに故障が発生していると判断できる。
【０１０３】
以上のように、この実施の形態４によれば、スキャンパステスト用フリップフロップＸＸ１〜ＸＸｎ，ＹＹ１〜ＹＹｎ，ＺＺ１〜ＺＺｎ内のＥＸ−ＯＲ回路３８によって、前段のＥＸ−ＯＲ回路３８の出力データと組み合わせ回路７，８から出力されるデータとの排他的論理和を取るように構成したので、上記実施の形態２と同様、早期に組み合わせ回路７，８の故障を検出することができるとともに、一層、スキャンパステストの故障検出率を高くすることができる。
【０１０４】
実施の形態５．
図８は、この発明の実施の形態５による半導体集積回路の構成を示す回路図である。この図８に示した半導体集積回路が上記図１に示した半導体集積回路と異なるのは、スキャンパステスト用フリップフロップＸ１〜Ｘｎ，Ｙ１〜Ｙｎ，Ｚ１〜Ｚｎをスキャンパステスト用フリップフロップＡＸ１〜ＡＸｎ，ＡＹ１〜ＡＹｎ，ＡＺ１〜ＡＺｎにした点である。
【０１０５】
尚、その他の構成については、上記図１に示したものと同様であるため、同一構成については同一符号を付して、重複説明を省略する。
【０１０６】
図９は、スキャンパステスト用フリップフロップＡＸ１〜ＡＸｎ，ＡＹ１〜ＡＹｎ，ＡＺ１〜ＡＺｎの構成を示す回路図である。図９に示すように、スキャンパステスト用フリップフロップＡＸ１〜ＡＸｎ，ＡＹ１〜ＡＹｎ，ＡＺ１〜ＡＺｎでは、フリップフロップ回路４４のデータ入力端子Ｄに、１個のインバータ回路４１と２個のトランスファゲート４２，４３で構成したセレクタ回路を追加したものである。
【０１０７】
次に、スキャンパステスト用フリップフロップＡＸ１〜ＡＸｎ，ＡＹ１〜ＡＹｎ，ＡＺ１〜ＡＺｎのセレクタ回路の切り替え動作について説明する。
セレクタ回路は、スキャンパステスト用モード切替端子Ｍから入力された切替制御信号がシフトモード（Ｈｉ）のとき、トランスファゲート４２はオフとなり、トランスファゲート４３はオンとなるため、データ入力端子ＳＩから入力された高速スキャンデータを選択し、その高速スキャンデータをフリップフロップ回路４４に取り込ませる。一方、セレクタ回路は、スキャンパステスト用モード切替端子Ｍから入力された切替制御信号がノーマルモード（Ｌｏ）のとき、トランスファゲート４２はオンとなり、トランスファゲート４３はオフとなるため、データ入力端子Ｄから入力されたノーマルデータを選択し、そのノーマルデータをフリップフロップ回路４４に取り込ませる。
【０１０８】
以上のように、この実施の形態５では、スキャンパステスト用フリップフロップＡＸ１〜ＡＸｎ，ＡＹ１〜ＡＹｎ，ＡＺ１〜ＡＺｎのセレクタ回路を、１個のインバータ回路４１と２個のトランスファゲート４２，４３で構成したので、スキャンパステスト用フリップフロップＡＸ１〜ＡＸｎ，ＡＹ１〜ＡＹｎ，ＡＺ１〜ＡＺｎの回路規模（オーバーヘッド）および消費電力を削減することができる。
【０１０９】
即ち、一般に、セレクタ回路は、２個のＡＮＤ回路と１個のＯＲ回路と１個のインバータ回路で構成され、トランジスタの数は１４個必要であるが、スキャンパステスト用フリップフロップＡＸ１〜ＡＸｎ，ＡＹ１〜ＡＹｎ，ＡＺ１〜ＡＺｎのセレクタ回路では、１個のインバータ回路４１と２個のトランスファゲート４２，４３で構成されており、１個のトランスファゲートは２個のトランジスタで構成可能なので、５個のトランジスタで構成することができる。
【０１１０】
【発明の効果】
以上のように、請求項１記載の発明によれば、ノーマルモード時のクロック信号の半分の周期の高速クロック信号を生成する高速クロック生成回路と、スキャンパステストに使用するスキャンデータにもとづいてランダムデータを生成するとともに、高速クロック生成回路により生成された高速クロック信号の周期でスキャンデータとランダムデータを交互に出現させた高速スキャンデータを生成する高速データ生成回路とを設け、高速データ生成回路により生成された高速スキャンデータによってスキャンパステストを行うように構成されているので、スキャンパステストを短時間に行うことができるとともに、スキャンデータのテストパターンのパターン長を短くすることができ、テストに必要なコストを低減することができるという効果を奏する。
【０１１１】
請求項２記載の発明によれば、ノーマルモード時のクロック信号の半分の周期の高速クロック信号を生成する高速クロック生成回路と、スキャンパステストに使用するスキャンデータにもとづいてランダムデータを生成するとともに、高速クロック生成回路により生成された高速クロック信号の周期でスキャンデータとランダムデータを交互に出現させた高速スキャンデータを生成する高速データ生成回路とを設け、半導体集積回路は、機能モジュール毎に複数の機能モジュール回路に分割され、それら機能モジュール回路をそれぞれパラレルに独立して、高速データ生成回路により生成された高速スキャンデータによってスキャンパステストを行うように構成されているので、スキャンデータのテストパターンのパターン長を短くすることができ、一層、スキャンパステストを短時間に行うことができるとともに、テストに必要なコストも低減するという効果を奏する。
【０１１２】
請求項３記載の発明によれば、高速データ生成回路は、スキャンデータを１ビットシフトさせ、その１ビットシフトしたデータとスキャンデータとの排他的論理和を取ってランダムデータを生成するランダムデータ生成回路と、クロック入力端子に入力されるクロック信号のハイロウに基づき、スキャンデータとランダムデータを交互に選択して高速スキャンデータを生成するセレクタ回路とから構成されているので、ランダム性の高い高速スキャンデータを生成することができ、その結果、高速スキャンデータの客観性を高め、スキャンパステストの故障検出率を高めることができるという効果を奏する。
【０１１３】
請求項４記載の発明によれば、高速データ生成回路は、高速スキャンデータを高速クロック生成回路により生成された高速クロック信号に同期させるフリップフロップ回路を含む構成とされているので、スキャンパステスト時の高速クロック信号と高速スキャンデータとのレーシングを防止することができるという効果を奏する。
【図面の簡単な説明】
【図１】この発明の実施の形態１による半導体集積回路の構成を示す回路図である。
【図２】この発明の実施の形態１による半導体集積回路のスキャンパステストの動作を説明するためのタイミングチャートである。
【図３】この発明の実施の形態２による半導体集積回路の構成を示す回路図である。
【図４】この発明の実施の形態３による半導体集積回路の構成を示す回路図である。
【図５】ＰＮパターン発生回路の構成例を示す回路図である。
【図６】この発明の実施の形態４による半導体集積回路の構成を示す回路図である。
【図７】この発明の実施の形態４による半導体集積回路のスキャンパステスト用フリップフロップの構成を示す回路図である。
【図８】この発明の実施の形態５による半導体集積回路の構成を示す回路図である。
【図９】この発明の実施の形態５による半導体集積回路のスキャンパステスト用フリップフロップの構成を示す回路図である。
【図１０】従来の半導体集積回路の構成を示す回路図である。
【図１１】従来の半導体集積回路内のスキャンパステスト用フリップフロップの構成を示す回路図である。
【図１２】従来の半導体集積回路のスキャンパステストの動作を説明するためのタイミングチャートである。
【符号の説明】
Ｘ１〜Ｘｎ，Ｙ１〜Ｙｎ，Ｚ１〜Ｚｎ  スキャンパステスト用フリップフロップ（スキャンパステスト用記憶素子）
ＸＸ１〜ＸＸｎ，ＹＹ１〜ＹＹｎ，ＺＺ１〜ＺＺｎ  スキャンパステスト用フリップフロップ（スキャンパステスト用記憶素子）
ＡＸ１〜ＡＸｎ，ＡＹ１〜ＡＹｎ，ＡＺ１〜ＡＺｎ  スキャンパステスト用フリップフロップ（スキャンパステスト用記憶素子）
７，８  組み合わせ回路
１２，１３，３５，３６，３９，４０  機能モジュール回路
１６，１７  フリップフロップ回路（ランダムデータ生成回路）
１８  ＥＸ−ＯＲ回路（ランダムデータ生成回路）
１９  セレクタ回路
２０  フリップフロップ回路
２１  高速クロック生成回路
２２，３０  高速データ生成回路
２３  ＥＸ−ＯＲ回路（排他的論理和回路）
２４  ＥＸ−ＯＲ回路（排他的論理和回路）
２７  ＰＮパターン発生回路（疑似ランダムデータ生成回路）
３８  ＥＸ−ＯＲ回路（排他的論理和回路）
４２，４３  トランスファゲート
【図１】
0003570944.tif 000002
【図２】
0003570944.tif 000003
【図３】
0003570944.tif 000004
【図４】
0003570944.tif 000005
【図５】
0003570944.tif 000006
【図６】
0003570944.tif 000007
【図７】
0003570944.tif 000008
【図８】
0003570944.tif 000009
【図９】
0003570944.tif 000010
【図１０】
0003570944.tif 000011
【図１１】
0003570944.tif 000012
【図１２】
0003570944.tif 000013