(57)【要約】【課題】  テストの容易化が図られた半導体集積回路を提供する。【解決手段】  組み合わせ論理回路２２を構成する第１の組み合わせ論理回路２２＿１と第２の組み合わせ論理回路２２＿２との間に、第１，第２のラッチ４１，４２とアンドゲート４３とオアゲート４４とからなるスルーモード付きラッチ４０を備える。スルーモード付きラッチ４０は、通常動作時には第１の組み合わせ論理回路２２＿１から入力されたデータをスルーして第２の組み合わせ論理回路２２＿２に出力し、テスト動作時にはスキャンチェーンを構成する。【選択図】  図１
2010122009.tif 000002
【特許請求の範囲】
【請求項１】
クロック信号が供給される複数のフリップフロップと組み合わせ論理回路とを含み、通常動作時に、前記複数のフリップフロップから選ばれた入力側フリップフロップ群と出力側フリップフロップ群との間に前記組み合わせ論理回路を接続し、前記クロック信号のクロックエッジのタイミングで前記入力側フリップフロップ群に保持されたデータを入力データとして前記組み合わせ論理回路に供給し、前記クロック信号の次のクロックエッジのタイミングで前記組み合わせ論理回路から出力される出力データを前記出力側フリップフロップ群に保持する同期論理回路を含む半導体集積回路であって、
前記組み合わせ論理回路内に挿入され、前記クロック信号が供給されるとともに制御信号が供給され、該制御信号によって、入力されたデータをスルーして出力するスルーモードと、前記クロック信号のエッジのタイミングで入力されたデータを保持するラッチモードとを切り換えることができる、スルーモード付きラッチをさらに有し、
前記通常動作時に、前記スルーモード付きラッチをスルーモードとして前記組み合わせ論理回路内の信号経路とし、
テスト動作時に、前記複数のフリップフロップの少なくとも一部と前記スルーモード付きラッチとを直列に接続したスキャンチェーンを構成し、該スキャンチェーンを介して供給したテスト用データを前記スルーモード付きラッチに保持し、該保持したテスト用データを前記組み合わせ論理回路に供給することを特徴とする半導体集積回路。
【請求項２】
前記スルーモード付きラッチは、
クロック端子が第１のレベルにあるときに入力されたデータをスルーして出力し、該クロック端子が第１のレベルから第２のレベルに変化するタイミングにおいて入力されたデータを保持し、該クロック端子が第２のレベルにあるときに前記保持したデータを出力する第１のラッチと、
クロック端子が第２のレベルにあるときに入力されたデータをスルーして出力し、該クロック端子が第２のレベルから第１のレベルに変化するタイミングにおいて入力されたデータを保持し、該クロック端子が第１のレベルにあるときに前記保持したデータを出力する第２のラッチとが直列に接続されるとともに、
前記制御信号が第３のレベルにあるときに供給された前記クロック信号を前記第１および第２のラッチのクロック端子に供給し、前記制御信号が第４のレベルにあるときに前記第１のラッチのクロック端子を前記第１のレベルに固定するとともに前記第２のラッチのクロック端子を前記第２のレベルに固定するクロック信号制御回路とを含むことを特徴とする請求項１記載の半導体集積回路。
【請求項３】
前記スルーモード付きラッチおよび複数のフリップフロップの少なくとも一部のそれぞれの入力側に、前記制御信号が供給されたセレクタを備え、前記スルーモード付きラッチにテスト用データを保持するときに、該制御信号によって、前記セレクタを介して前記スキャンチェーンを構成することを特徴とする請求項１または２記載の半導体集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のフリップフロップと組み合わせ論理回路を含む半導体集積回路に関する。
【背景技術】
【０００２】
従来より、半導体集積回路に備えられた組み合わせ論理回路のテストにおいて、スキャンテスト方式を採用したテストが広く普及している。スキャンテスト方式によりテストされる半導体集積回路には、複数のフリップフロップを直列に接続してスキャンチェーンを構成し、組み合わせ論理回路にシリアルデータ（テストパターン）を与えることによりその組み合わせ論理回路の動作をテストするスキャンテスト回路が組み込まれている。スキャンテスト方式では、このスキャンテスト回路を構成するスキャンチェーンに、テスタ側からシリアルデータを入力し、組み合わせ論理回路を経由して観測用の端子に出力されるシリアルデータの論理状態をテスタ側で観測することで、その半導体集積回路に備えられた組み合わせ論理回路の機能や動作の良否判定が行なわれる。
【０００３】
図４は、従来の、スキャンテスト方式が採用された半導体集積回路の回路構成を示す図、図５は、図４に示すフリップフロップの回路構成を示す図である。
【０００４】
図４に示す半導体集積回路１００は、フリップフロップ１０１，１０２，１０３，１０４と、組み合わせ論理回路１１１，１１２，１１３，１１４，１１５，１１６とが交互に接続された、パイプライン構成を有する。
【０００５】
先ず、フリップフロップ１０１，１０２，１０３，１０４の回路構成について、図５を参照して説明する。尚、ここでは、フリップフロップ１０１のみの回路構成について説明するが、他のフリップフロップ１０２，１０３，１０４の回路構成も、図５に示すフリップフロップ１０１の回路構成と同じである。
【０００６】
図５に示すフリップフロップ１０１には、セレクタ１０１ａと内蔵フリップフロップ１０１ｂとが備えられている。
【０００７】
セレクタ１０１ａは、図４に示す組み合わせ論理回路１１１からのデータＤが入力されるデータ端子Ｄと、図示しない組み合わせ論理回路からのスキャンデータ（シフトデータ）ＳＤが入力されるスキャンデータ端子ＳＤと、スキャンイネーブル信号ＳＥが入力されるスキャンイネーブル信号端子ＳＥとを有する。このセレクタ１０１ａでは、スキャンイネーブル信号端子ＳＥに‘Ｌ’レベルが入力されると、データ端子ＤからのデータＤが出力される。一方、スキャンイネーブル信号端子ＳＥに‘Ｈ’レベルが入力されると、スキャンデータ端子ＳＤからのスキャンデータＳＤが出力される。
【０００８】
また、内蔵フリップフロップ１０１ｂは、セレクタ１０１ａからのデータが入力されるデータ端子Ｄと、クロック信号ＣＬＫが入力されるクロック端子ＣＫと、データＱが出力されるデータ端子Ｑとを有する。この内蔵フリップフロップ１０１ｂでは、クロック信号ＣＬＫのクロックエッジのタイミングでデータ端子Ｄに入力されているデータが保持され、その保持されたデータがデータ端子Ｑから出力される。再び、図４に戻って説明を続ける。
【０００９】
図４に示す半導体集積回路１００では、通常動作時においては、スキャンイネーブル信号ＳＥは‘Ｌ’レベルに設定され、フリップフロップ１０１，１０２，１０３，１０４のスキャンイネーブル信号端子ＳＥには‘Ｌ’レベルが入力される。フリップフロップ１０１，１０２，１０３，１０４では、クロック信号ＣＬＫのクロックエッジのタイミングで組み合わせ論理回路１１１，１１２，１１４，１１６からのデータＤが保持される。保持されたデータＱは、フリップフロップ１０１，１０２，１０３，１０４のデータ端子Ｑから出力される。
【００１０】
一方、スキャンテスト動作時においては、先ずシフトモードに設定される。このシフトモードでは、スキャンイネーブル信号ＳＥが‘Ｈ’レベルになり、各フリップフロップ１０１〜１０４のスキャンイネーブル信号端子ＳＥも‘Ｈ’レベルになる。これによって、フリップフロップ１０１〜１０４が、１０１→１０３→１０２→１０４の順にチェーン接続される。この状態で、各フリップフロップ１０１〜１０４にクロック信号ＣＬＫを供給する。これにより、スキャンデータＳＤ（テスト用データ）が、フリップフロップ１０１から入力され、チェーン接続の順にシフトされる。すなわち、まず、クロック信号ＣＬＫの最初のクロックエッジのタイミングで、フリップフロップ１０１にスキャンデータＳＤ（テスト用データ）の最初のビットが保持される。クロック信号ＣＬＫの次のエッジのタイミングでは、スキャンデータＳＤの最初のビットがフリップフロップ１０３に移動（シフト）され、保持される。同じタイミングで、フリップフロップ１０１には、スキャンデータＳＤの次のビットが保持される。さらに次のクロックエッジのタイミングでは、スキャンデータＳＤの最初のビットがフリップフロップ１０２にシフトされ、保持される。そして、フリップフロップ１０１，１０３には、それぞれ、次のビットが保持される。このようにして、スキャンイネープル信号ＳＥを‘Ｈ’レベルにした状態で、チェーン接続された初段のフリップフロップにスキャンデータＳＤを供給するとともに、所定の期間だけクロック信号ＣＬＫを供給することにより、チェーン接続されたフリップフロップのそれぞれに、テスト用のスキャンデータを保持させることができる。それぞれのフリップフロップに保持されたスキャンデークは、それぞれのフリップフロップのＱ出力に接続された組み合わせ論理回路に入力される。それぞれの組み合わせ論理回路では、入力されたスキャンデータＳＤにより所定のテスト論理動作が行なわれる。
【００１１】
次いで、シフトモードからキャプチャモードに切り換えられて、クロック信号ＣＬＫの１周期の期間だけ、スキャンイネーブル信号ＳＥが‘Ｈ’レベルから‘Ｌ’レベルに変化する。このため、フリップフロップ１０２のスキャンイネーブル信号端子ＳＥも‘Ｌ’レベルになり、クロック信号ＣＬＫのクロックエッジのタイミングで、それぞれのフリップフロップに、それぞれのＤ端子に接続された組み合わせ論理回路からのデータ（テスト結果）が保持される。
【００１２】
さらに、キャプチャモードからシフトモードに再度切り換えられて、スキャンイネーブル信号ＳＥが‘Ｌ’レベルから‘Ｈ’レベルに変化する。この状態で、所定の期間だけクロック信号ＣＬＫを供給することによって、それぞれのフリップフロップに保持されたテスト結果が、チェーン接続されたフリップフロップ内を移動（シフト）し、順番に、フリップフロップ１０４のデータ端子Ｑに接続された観測用の端子１２からデータＯＵＴとして出力される。このデータＯＵＴを期待値と比較することにより、半導体集積回路１００に備えられた組み合わせ論理回路の良否が判定される。
【００１３】
しかしながら、スキャンテスト方式によるテストでは、回路規模の大きな組み合わせ論理回路の深い論理パス、すなわち、出力側のフリップフロップに近い部分の故障検出が困難である。すなわち、入力側のフリップフロップに近い部分であれば、入力側のフリップフロップからスキャンデータを入力することにより、故障検出に適したデータを供給することが容易である。しかし、出力側のフリップフロップに近い部分に対しては、フリップフロップから入力したスキャンデータが、組み合わせ論理回路の、入力側に近い部分の論理動作によって、複雑に変化した後で供給される。このため、故障検出に適したデータを供給することが難しい。
【００１４】
ここで、スキャンテスト方式を採用して半導体集積回路に備えられた組み合わせ論理回路のテストを行なうにあたり、回路規模の大きな組み合わせ論理回路における深い論理パスの故障検出率を高める手法として、以下に説明する２つの手法が知られている。
【００１５】
第１の手法は、パイプラインの分割数を増やし、それぞれの組み合わせ論理回路の規模を小さくして、一方のフリップフロップから他方のフリップフロップまでの論理段数を減らすという手法である。
【００１６】
第２の手法は、データが伝達されるデータパスの任意の位置に観測専用のフリップフロップを接続するという手法である。この第２の手法に相当する技術として、例えば、特許文献１に、組み合わせ論理回路の診断容易化のための診断用スキャン回路群を設けて任意のゲート出力箇所に接続し、組み合わせ論理回路に存在する故障箇所を、出力フリップフロップ群を介さずに検出する技術が提案されている。また、例えば、特許文献２に、テストパターン数を低減するための診断用スキャンフリップフロップを備えることにより、内部回路からのデータの読出しを、フリップフロップ回路に限定されることなく任意の論理ゲートセルで行なうことができる技術が提案されている。
【特許文献１】特開平９−２６４９２７号公報
【特許文献２】特開平１０−２２３７６４号公報
【発明の開示】
【発明が解決しようとする課題】
【００１７】
しかし、上述した、パイプラインを分割してフリップフロップ間の論理段数を減らす第１の手法では、パイプライン段数が増加するため、増加したパイプライン数に対応するスキャンテストを行なう必要がある。従って、テスト時間が増加するという問題がある。また、パイプラインを分割してフリップフロップ間の論理段数を減らすにあたり、大幅な論理回路の変更が発生する場合が考えられる。
【００１８】
また、データパスの任意の位置に観測専用のフリップフロップを接続する第２の手法では、出力側に位置するフリップフロップに近い論理の観察は可能であるとしても、その部分の故障検出に適したデータを供給することが困難であるという問題は解決されない。従って、依然として、出力側に位置するフリップフロップに近い論理の不良検出が困難であるという問題を抱えている。
【００１９】
本発明は、上記事情に鑑み、テストの容易化が図られた半導体集積回路を提供することを目的とする。
【課題を解決するための手段】
【００２０】
上記目的を達成する本発明の半導体集積回路は、
クロック信号が供給される複数のフリップフロップと組み合わせ論理回路とを含み、通常動作時に、上記複数のフリップフロップから選ばれた入力側フリップフロップ群と出力側フリップフロップ群との間に上記組み合わせ論理回路を接続し、上記クロック信号のクロックエッジのタイミングで上記入力側フリップフロップ群に保持されたデータを入力データとして上記組み合わせ論理回路に供給し、上記クロック信号の次のクロックエッジのタイミングで上記組み合わせ論理回路から出力される出力データを上記出力側フリップフロップ群に保持する同期論理回路を含む半導体集積回路であって、
上記組み合わせ論理回路内に挿入され、上記クロック信号が供給されるとともに制御信号が供給され、その制御信号によって、入力されたデータをスルーして出力するスルーモードと、上記クロック信号のエッジのタイミングで入力されたデータを保持するラッチモードとを切り換えることができる、スルーモード付きラッチをさらに有し、
上記通常動作時に、上記スルーモード付きラッチをスルーモードとして上記組み合わせ論理回路内の信号経路とし、
テスト動作時に、上記複数のフリップフロップの少なくとも一部と上記スルーモード付きラッチとを直列に接続したスキャンチェーンを構成し、そのスキャンチェーンを介して供給したテスト用データを上記スルーモード付きラッチに保持し、その保持したテスト用データを上記組み合わせ論理回路に供給することを特徴とする。
【００２１】
本発明の半導体集積回路は、通常動作時には入力されたデータをスルーして出力するスルーモードとなり、テスト動作時には複数のフリップフロップの少なくとも一部と直列に接続したスキャンチェーンを構成するスルーモード付きラッチが、組み合わせ論理回路内に挿入されてなる構成である。このため、通常動作時におけるパイプライン段数の増大が無いとともに、テスト動作時においては、スルーモード付きラッチから、組み合わせ論理回路の、出力側に位置するフリップフロップに近い部分に、その部分の故障論理の検出に適したテストデータを供給することができる。従って、半導体集積回路に備えられた組み合わせ論理回路の回路規模が大きい場合であってもテストの容易化が図られる。
【００２２】
ここで、上記スルーモード付きラッチは、
クロック端子が第１のレベルにあるときに入力されたデータをスルーして出力し、そのクロック端子が第１のレベルから第２のレベルに変化するタイミングにおいて入力されたデータを保持し、そのクロック端子が第２のレベルにあるときに上記保持したデータを出力する第１のラッチと、
クロック端子が第２のレベルにあるときに入力されたデータをスルーして出力し、そのクロック端子が第２のレベルから第１のレベルに変化するタイミングにおいて入力されたデータを保持し、そのクロック端子が第１のレベルにあるときに上記保持したデータを出力する第２のラッチとが直列に接続されるとともに、
上記制御信号が第３のレベルにあるときに供給された上記クロック信号を上記第１および第２のラッチのクロック端子に供給し、上記制御信号が第４のレベルにあるときに上記第１のラッチのクロック端子を上記第１のレベルに固定するとともに上記第２のラッチのクロック端子を上記第２のレベルに固定するクロック信号制御回路とを含むことが好ましい。
【００２３】
このようにすると、スルーモード付きラッチを簡素な構成で実現することができる。
【００２４】
また、上記スルーモード付きラッチおよび複数のフリップフロップの少なくとも一部のそれぞれの入力側に、上記制御信号が供給されたセレクタを備え、上記スルーモード付きラッチにテスト用データを保持するときに、その制御信号によって、上記セレクタを介して上記スキャンチェーンを構成することも好ましい態様である。
【００２５】
このようなセレクタを備えると、スルーモード付きラッチを有するスキャンチェーンを簡単に構成することができる。
【発明の効果】
【００２６】
本発明によれば、テストの容易化が図られた半導体集積回路を提供することができる。
【発明を実施するための最良の形態】
【００２７】
以下、図面を参照して本発明の実施の形態を説明する。
【００２８】
図１は、本発明の一実施形態の半導体集積回路の回路構成を示す図である。
【００２９】
図１に示す半導体集積回路１には、フリップフロップ１１，１２，１３，１４と、組み合わせ論理回路２１，２２，２３，２４，２５，２６が備えられている。ここで、フリップフロップ１１，１２，１３，１４の回路構成は、前述した図５に示すフリップフロップ１０１の回路構成と同じであるため、説明は省略する。組み合わせ論理回路２２は、第１の組み合わせ論理回路２２＿１と第２の組み合わせ論理回路２２＿２から構成されている。
【００３０】
また、この半導体集積回路１には、第１の組み合わせ論理回路２２＿１と第２の組み合わせ論理回路２２＿２との間に挿入された、セレクタ３１およびスルーモード付きラッチ４０が備えられている。
【００３１】
本発明の半導体集積回路１では、組み合わせ論理回路２２の中の任意の位置に、スルーモード付きラッチ４０を挿入し、そのスルーモード付きラッチ４０を利用してテストデータを入力することにより、ラッチ４０を挿入した位置よりも出力側の論理の不良検出を容易にすることができる。
【００３２】
図１には、１個のスルーモード付きラッチ４０のみを示したが、通常、大きな回路規模を有する組み合わせ論理回路２２の途中の複数の位置に、それぞれ、スルーモード付きラッチ４０を接続し、テストデータの入力を行う。また、図１には、組み合わせ論理回路２２が第１の組み合わせ論理回路２２＿１と第２の組み合わせ論理回路２２＿２とに分けられ、その間が、スルーモード付きラッチ４０で接続された状態を示した。しかし、組み合わせ論理回路２２には、通常、スルーモード付きラッチを介することなく入力側フリップフロップから出力側フリップフロップにいたる信号経路も存在する。従って、実際には、大きな規模の組み合わせ論理回路２２内の複数の位置に、スルーモード付きラッチが埋め込まれたような構成になる。
【００３３】
セレクタ３１は、第１の組み合わせ論理回路２２＿１からのデータＤが入力されるデータ端子Ｄと、フリップフロップ１３からのスキャンデータＳＤが入力されるスキャンデータ端子ＳＤと、スキャンイネーブル信号ＳＥが入力されるスキャンイネーブル信号端子ＳＥとを有する。このセレクタ３１では、スキャンイネーブル信号端子ＳＥに‘Ｌ’レベルが入力されると、第１の組み合わせ論理回路２２＿１からのデータＤが出力される。一方、スキャンイネーブル信号端子ＳＥに‘Ｈ’レベルが入力されると、フリップフロップ１３からのスキャンデータＳＤが出力される。
【００３４】
スルーモード付きラッチ４０には、第１のラッチ４１と、第２のラッチ４２と、アンドゲート４３と、オアゲート４４とが備えられている。ここで、アンドゲート４３とオアゲート４４が、本発明にいうクロック信号制御回路の一例に相当する。アンドゲート４３およびオアゲート４４の双方には、クロック信号ＣＬＫとスキャンモード信号ＳＭが供給される。スキャンモード信号ＳＭは、通常動作時には‘Ｌ’レベルにあり、スキャンテスト動作時には‘Ｈ’レベルになる信号である。
【００３５】
このスルーモード付きラッチ４０は、スキャンモード信号ＳＭが‘Ｌ’レベルの場合は、入力されたデータをスルーして出力するスルーモードとなる。一方、スキャンモード信号ＳＭが‘Ｈ’レベルの場合は、クロック信号ＣＬＫのエッジのタイミングで入力されたデータを保持するラッチモードとなる。以下、詳細に説明する。
【００３６】
アンドゲート４３およびオアゲート４４は、スキャンモード信号ＳＭが‘Ｌ’レベルにあるときに、第１のラッチ４１のゲート端子Ｇを‘Ｌ’レベルに固定するとともに第２のラッチ４２のゲート端子Ｇを‘Ｈ’レベルに固定する。一方、スキャンモード信号ＳＭが‘Ｈ’レベルにあるときには、供給されたクロック信号ＣＬＫを、第１，第２のラッチ４１，４２のゲート端子Ｇに供給する。
【００３７】
第１のラッチ４１は、ゲート端子Ｇが‘Ｌ’レベルにあるときに、入力されたデータをスルーして出力する。また、ゲート端子Ｇが‘Ｌ’レベルから‘Ｈ’レベルに変化するタイミングにおいて入力されたデータを保持し、ゲート端子Ｇが‘Ｈ’レベルにあるときに上記保持したデータを出力する。
【００３８】
第２のラッチ４２は、ゲート端子Ｇが‘Ｈ’レベルにあるときに、入力されたデータをスルーして出力する。また、ゲート端子Ｇが‘Ｈ’レベルから‘Ｌ’レベルに変化するタイミングにおいて入力されたデータを保持し、ゲート端子Ｇが‘Ｌ’レベルにあるときに上記保持したデータを出力する。
【００３９】
このように構成された半導体集積回路１では、通常動作時においては、スキャンモード信号ＳＭは‘Ｌ’レベルに設定される。この‘Ｌ’レベルのスキャンモード信号ＳＭはアンドゲート４３に入力される。このため、アンドゲート４３からは‘Ｌ’レベルの信号が出力される。この‘Ｌ’レベルの信号は、第１のラッチ４１のゲート端子Ｇに入力される。このため、第１のラッチ４１は、入力されたデータをスルーして出力するスルーモードになる。また、‘Ｌ’レベルのスキャンモード信号ＳＭはオアゲート４４にも入力される。このため、オアゲート４４からは‘Ｈ’レベルの信号が出力される。この‘Ｈ’レベルの信号は、第２のラッチ４２のゲート端子Ｇに入力される。このため、第２のラッチ４２も、入力されたデータをスルーして出力するスルーモードになる。従って、通常動作時においては、スルーモード付きラッチ４０は、入力されたデータをスルーして出力するスルーモードとなる。
【００４０】
また、通常動作時においては、スキャンイネーブル信号ＳＥも‘Ｌ’レベルに設定される。この‘Ｌ’レベルのスキャンイネーブル信号ＳＥは、フリップフロップ１１，１２，１３，１４およびセレクタ３１のスキャンイネーブル信号端子ＳＥに入力される。このため、第１の組み合わせ論理回路２２＿１からのデータＤは、セレクタ３１→第１のラッチ４１→第２のラッチ４２をスルーして第２の組み合わせ論理回路２２＿２にそのまま伝達される。そして、クロック信号ＣＬＫのクロックエッジのタイミングで第２の組み合わせ論理回路２２＿２からの出力データＤがフリップフロップ１２に保持される。
【００４１】
このように、通常動作時においては、スルーモード付きラッチ４０が挿入されているにも拘わらず、第１の組み合わせ論理回路２２＿１からのデータがそのまま第２の組み合わせ論理回路２２＿２に伝達されることとなる。従って通常動作時においては、スルーモード付きラッチ４０が挿入されたことによる影響を受けない組み合わせ論理回路２２が実現されている。
【００４２】
次に、スキャンテスト動作時について説明する。スキャンテスト動作時では、スキャンモード信号ＳＭが‘Ｈ’レベルに設定される。この‘Ｈ’レベルのスキャンモード信号ＳＭがアンドゲート４３およびオアゲート４４に入力される。このため、アンドゲート４３およびオアゲート４４は、それらアンドゲート４３およびオアゲート４４に供給されたクロック信号ＣＬＫを、第１，第２のラッチ４１，４２のゲート端子Ｇに供給する役割を担うこととなる。即ち、スキャンテスト動作時では、スルーモード付きラッチ４０は、クロック信号ＣＬＫのエッジのタイミングで入力されたデータを保持するラッチモードとなる。
【００４３】
このスキャンテスト動作時では、先ずシフトモードに設定される。このシフトモードでは、スキャンイネーブル信号ＳＥが‘Ｈ’レベルになる。この状態で、所定の期間だけクロック信号ＣＬＫが供給され、チェーン接続されたフリップフロップにテスト用のデータがシフトされ、保持される。この時、スルーモード付きラッチ４０も、セレクタ３１を介して、スキャン接続されているため、スルーモード付きラッチ４０にも、テスト用のスキャンデータが保持される。このデータが、第２の組み合わせ論理回路２２＿２をテストするために利用される。具体的には、図１に示されたフリップフロップ１１，１２，１３，１４と、スルーモード付ラッチが、フリップフロップ１１→フリップフロップ１３→スルーモード付ラッチ４０→フリップフロップ１４→フリップフロップ１２の順にチェーン接続され、この順に、テストデータのシフトが行われる。
【００４４】
次いで、スキャンイネーブル信号ＳＥが‘Ｈ’レベルから‘Ｌ’レベルに変化し、シフトモードからキャプチャモードに切り換えられる。以下、図１および図２を参照して説明する。
【００４５】
図２は、図１に示す半導体集積回路の、シフトモードからキャプチャモードに切り替わり、再び、シフトモードに戻る期間の動作を示す図である。
【００４６】
図２の一番上には、クロック信号ＣＬＫが、２段目にはスキャンイネーブル信号ＳＥが示されている。シフトモードの期問にはスキャンイネーブル信号ＳＥが‘Ｈ’レベルであり、キャプチャモードの期間にはスキャンイネーブル信号ＳＥが‘Ｌ’レベルである。図２にはさらに、第１のラッチ４１および第２のラッチ４２に保持されるデータが示されるとともに、第１の組み合わせ論理回路２２＿１の入力側に接続されたフリップフロップ１１，および、第２の組み合わせ論理回路２２＿２の出力側に接続されたフリップフロップ１２に保持されるデータが示されている。
【００４７】
図２の左側には、キャプチャモードに切り替わる直前の、シフトモードの最後の部分が示されている。すなわち、図２に示されたクロック信号ＣＬＫの、最初（左側）の２つの立ち上がりエッジは、スキャンイネーブル信号ＳＥが‘Ｈ’レベルである、シフトモードの期間に供給されている。そして、この２つ目の立ち上がりエッジのタイミングで、スキャンチェーンを通じて供給された、第２の組み合わせ論理回路２２＿２をテストするためのスキャンデータ‘２’が、第１のラッチ４１に保持される。このデータは、第２のラッチ４２を通過して、第２の組み合わせ論理回路２２＿２に入力される。同時に、第１の組み合わせ論理回路２２＿１をテストするためのデータ‘１’が、第１の組み合わせ論理回路２２＿１の前段に接続されたフリップフロップ１１に保持される。
【００４８】
その後、スキャンイネーブル信号ＳＥが‘Ｈ’レベルから‘Ｌ’レベルに変化し、キャプチャモードに切り替わる。キャプチャモードは、１クロック周期の間だけ続く。そして、クロック信号ＣＬＫの次の立ち上がりエッジ（図２の左側から３つ目の立ち上がりエッジ）のタイミングで、第２のラッチ４２から入力されたテスト用データ‘２’により第２の組み合わせ論理回路２２＿２が論理動作を行った結果（テスト結果）である‘（２）’が、第２の組み合わせ論理回路２２＿２の出力に接続されたフリップフロップ１２に保持される。同時に、第１のラッチ４１には、フリップフロップ１１から供給されたデータ‘１’によって第１の組み合わせ論理回路２２＿１が論理動作を行った結果である‘（１）’が保持される。
【００４９】
その後、スキャンイネーブル信号ＳＥが‘Ｌ’レベルから‘Ｈ’レベルに変化し、再びシフトモードに切り替わる。これ以降の動作は、図３を利用して説明する。
【００５０】
図３は、図２においてスキャンモードに戻った後の、図１の半導体集積回路１の動作が示されている。図３の一番上に示されたクロック信号ＣＬＫの、最初（左から１つ目）の立ち上がりエッジは、図２の３つ目の立ち上がりエッジの次の立ち上がりエッジである。図３には、クロック信号ＣＬＫとスキャンイネーブル信号ＳＥに加えて、第１のラッチ４１，第２のラッチ４２、および、フリップフロップ１２に保持されるデータが示されるとともに、シフトモードにおいて第１のラッチ４１の入力側に接続されるフリップフロップ１３、および、同じくシフトモードにおいて第２のラッチ４２とフリップフロップ１２との間に接続されるフリップフロップ１４に保持されるデータが示されている。フリップフロップ１２に保持されるデータは、フリップフロップ１２のＱ出力に設けられた観察用出力端子ＯＵＴから出力される信号でもある。
【００５１】
まず、キャプチャモードにおいてフリップフロップ１２に保持された、第２の組み合わせ論理回路２２＿２のテスト結果‘（２）’は、そのまま、出力端子ＯＵＴから出力される。一方、キャプチャモードにおいて第１のラッチ４１に保持された、第１の組み合わせ論理回路２２＿１のテスト結果‘（１）’は、第２のラッチ４２に保持された後に、クロック信号ＣＬＫの、図３の最初（左から１つ目）の立ち上がりエッジのタイミングで、フリップフロップ１４に保持される。そして、クロック信号ＣＬＫのその次の立ち上がりエッジのタイミングで、フリップフロップ１２に保持され、出力端子ＯＵＴから出力される。これらのテスト結果‘（２）’および‘（１）’に加えて、キャプチャモードにおいてフリップフロップ１４に保持された、組み合わせ論理回路２５のテスト結果‘（３）’、および、同じくキャプチャモードにおいてフリップフロップ１３に保持された、組み合わせ論理回路２４のテスト結果‘（４）’が、クロック信号ＣＬＫの立ち上がりエッジごとにシフトし、フリップフロップ１２に保持されるとともに、出力端子ＯＵＴから出力される。
【００５２】
この、出力端子ＯＵＴから出力されるそれぞれのテスト結果を、期待値と比較することによって、それぞれの組み合わせ論理回路の良否を判定することができる。特に、テスト結果‘（２）’を期待値と比較することにより、組み合わせ論理回路２２の、出力側に位置するフリップフロップ１２に近い部分である、第２の組み合わせ論理回路２２＿２の良否を判定することができる。ここで、テスト結果‘（２）’は、シフトモードにおいて、スキャンデータＳＤとして入力され、第２のラッチ４２に保持されたデータ‘２’によって、第２の組み合わせ論理回路２２＿２に論理動作を行わせた結果のデータである。データ‘２’は、スキャンデータＳＤの一部として、例えばテスタから供給されるものであり、第２の組み合わせ論理回路２２＿２をテストするために適した任意のデータとすることができる。従って、第２の組み合わせ論理回路２２＿２に、そのテストを行うために適切なデータを供給し、その良否の判定を容易に行うことができる。このように、本実施形態の半導体集積回路１は、通常動作時においてはスルーモード付きラッチ４０が挿入されたことによる影響を受けない組み合わせ論理回路２２が実現されるとともに、スキャンテスト動作時においては回路規模の大きな組み合わせ論理回路２２のスキャンテストを容易に行なうことができる。
【００５３】
なお、図１の半導体集積回路１のように、組み合わせ論理回路２２内にスルーモード付きラッチ４０を挿入するのではなく、組み合わせ論理回路２２とは別に設けた、スキャンテスト専用のフリップフリップフロップを、スキャンテスト時のみに接続することも考えられる。そして、この、スキャンテスト専用のフリップフロップを利用して、第２の組み合わせ論理回路２２＿２に、テスト用のデータを供給することも可能である。しかし、この場合、通常動作において信号経路の一部として利用される、第１の組み合わせ論理回路２２＿１と第２の組み合わせ論理回路２２＿２との間の接続を、スキャンテスト時には切断し、スキャンテスト専用のフリップフロップを介した接続に置き換える必要がある。従って、第１の組み合わせ論理回路２２＿１と第２の組み合わせ論理回路２２＿２との間の接続に不良があった場合にも、発見ができないという問題がある。
【図面の簡単な説明】
【００５４】
【図１】本発明の一実施形態の半導体集積回路の回路構成を示す図である。
【図２】図１に示す半導体集積回路のキャプチャモードにおけるタイミングを示す図である。
【図３】図１に示す半導体集積回路のシフトモードにおけるタイミングを示す図である。
【図４】従来の、スキャンテスト方式が採用された半導体集積回路の回路構成を示す図である。
【図５】図４に示すフリップフロップの回路構成を示す図である。
【符号の説明】
【００５５】
１  半導体集積回路
１１，１２，１３，１４  フリップフロップ
２１，２２，２２＿１，２２＿２，２４，２５，２６  組み合わせ論理回路
３１  セレクタ
４０  スルーモード付きラッチ
４１  第１のラッチ
４２  第２のラッチ
４３  アンドゲート
４４  オアゲート
【図１】
2010122009.tif 000003
【図２】
2010122009.tif 000004
【図３】
2010122009.tif 000005
【図４】
2010122009.tif 000006
【図５】
2010122009.tif 000007