(57)【特許請求の範囲】
【請求項１】
クロック信号供給パスと、該クロック信号供給パスからのクロック信号で共通に駆動される、複数のスキャンフリップフロップよりなるレジスタ群と、の組を複数組有し、
前記各クロック信号供給パス上にテストクロック制御回路を備え、
ユーザモード時には、前記各テストクロック制御回路は、対応するユーザクロック端子から供給されるユーザクロック信号を対応する前記各クロック信号供給パスへ伝播させ、
スキャンパステストモード時において、スキャンシフト期間中には、前記各テストクロック制御回路は、共通のスキャンクロック端子から供給されるテストクロック信号を、対応する前記クロック信号供給パスに伝播させ、複数組の前記レジスタ群をそれぞれスキャンシフトさせ、
スキャンキャプチャ期間中には、選択されたクロック信号供給パスには、対応するテスト制御回路からテストクロックパルスが供給され、前記選択されたクロック信号供給パスに接続するレジスタ群に対して選択的にキャプチャ動作を行わせ、非選択のクロック信号供給パスへはテストクロックパルスは供給されず、
前記クロック信号供給パスの数よりも少ないテストクロック端子数で前記複数のクロック信号供給パスのレジスタ群の各々に関するスキャンパステストを実行可能とし、
前記テストクロック制御回路は、スキャンフリップフロップと、前記スキャンフリップフロップに基づき、テストクロックパルスを伝播するか遮断するかを制御するクロックゲーティング回路と、を備え、
前記テストクロック制御回路内の前記スキャンフリップフロップは、他のテストクロック制御回路中のスキャンフリップフロップとスキャンチェーン接続され、
前記テストクロック制御回路内の前記スキャンフリップフロップに対して、スキャンシフト動作の最終値で、スキャンキャプチャ期間中における前記クロックゲーティング回路を制御するための値を設定する、ことを特徴とする半導体集積回路装置。
【請求項２】
前記テストクロック制御回路における前記クロックゲーティング回路は、前記スキャンフリップフロップの出力値を入力とする論理ゲートによって制御される、ことを特徴とする請求項１記載の半導体集積回路装置。
【請求項３】
ユーザクロックドメイン数（ｎ個）に対応して、ｎ個の前記テストクロック制御回路を備え、
１番目からｎ−１番目までの前記各テストクロック制御回路は、スキャンフリップフロップと、前記スキャンフリップフロップに基づき、テストクロックパルスを伝播するか遮断するかを制御するクロックゲーティング回路と、
を備え、
ｎ番目の前記テストクロック制御回路は、１番目からｎ−１番目までの前記テストクロック制御回路の前記スキャンフリップフロップの出力を入力し、その値の組み合わせに基づき、テストクロックパルスを伝播するか遮断するかを制御するクロックゲーティング回路を備えている、ことを特徴とする請求項１記載の半導体集積回路装置。
【請求項４】
前記テストクロック制御回路は、スキャンパステストモードとユーザモードを制御する制御信号を入力し、前記制御信号がユーザモードを示すときは、ユーザクロック信号を選択し、前記制御信号がスキャンパステストモードを示すときは、テストクロック信号を選択して出力するクロック選択回路を、前記クロックゲート回路の後段に備え、前記クロック選択回路で選択されたクロック信号が前記クロック信号供給パスに供給される、ことを特徴とする請求項１記載の半導体集積回路装置。
【請求項５】
前記テストクロック制御回路は、スキャンパステストモードとユーザモードを制御する制御信号を入力し、前記制御信号がユーザモードを示すときは、ユーザクロック信号を選択し、前記制御信号が、スキャンパステストモードを示すときは、テストクロック信号を選択するクロック選択回路を、前記スキャンフリップフロップの前段に備えている、ことを特徴とする請求項１記載の半導体集積回路装置。
【請求項６】
複数（ｎ個）のユーザクロック信号をそれぞれ入力する第１乃至第ｎのユーザクロック端子と、
少なくとも１つのテストクロック信号を入力するテストクロック端子と、
スキャンパステストモードとユーザモードを制御する第１の制御信号を入力する第１の制御信号入力端子と、
スキャンシフト動作モードとスキャンキャプチャ動作モードを切替制御する第２の制御信号を入力する第２の制御信号入力端子と、
スキャン入力端子と、
第１乃至第ｎ＋１のスキャン出力端子を備え、
前記第１乃至第ｎのユーザクロック端子と、第１乃至第ｎ群のスキャンフリップフロップへの第１乃至第ｎのテストクロック供給パスとの間にそれぞれ接続される第１乃至第ｎのテストクロック制御回路を備え、
前記各テストクロック制御回路は、前記第１及び第２の制御信号、前記テストクロック端子からのテストクロック信号、及び、対応するユーザクロック端子からのユーザクロック信号を入力し、
スキャンパステストモード時には、前記第２の制御信号に基づき、スキャンシフト期間中には、前記テストクロック信号に応答してスキャン入力端子からのシリアルデータをサンプル出力し、スキャンキャプチャ期間中には、入力されるテストクロック信号に応答してデータ入力端子の信号をサンプルするスキャンフリップフロップと、
前記スキャンフリップフロップの出力と、前記第２の制御信号との論理演算結果に基づき、テストクロック信号の伝達、非伝達を制御するクロックゲート回路と、
前記第１の制御信号を選択制御信号として受け、前記第１の制御信号がユーザモードを示すときには、前記ユーザクロックを選択し、前記第１の制御信号がスキャンパステストモードを示すときには、前記クロックゲート回路の出力を選択するクロック選択回路と、
を備え、
前記第１乃至第ｎのテストクロック制御回路のクロック選択回路の出力が、第１乃至第ｎのテストクロック供給パスにそれぞれ供給され、
前記第１テストクロック制御回路内の前記スキャンフリップフロップには、スキャン入力端子からの信号が供給され、
前記第ｉ（ただし、ｉは２以上ｎ以下の整数）のテストクロック制御回路内の前記スキャンフリップフロップには、前段のテストクロック制御回路のスキャンフリップフロップのスキャン出力端子からの信号が供給され、
前記第ｎのテストクロック制御回路のスキャンフリップフロップの出力は第１のスキャン出力端子に接続され、
前記第１乃至第ｎ群のスキャンフリップフロップのスキャン出力は、第２乃至第ｎ＋１のスキャン出力端子に接続されている、ことを特徴とする半導体集積回路装置。
【請求項７】
複数（ｎ個）のユーザクロック信号をそれぞれ入力する第１乃至第ｎのユーザクロック端子と、
少なくとも１つのテストクロック信号を入力するテストクロック端子と、
スキャンパステストモードとユーザモードを制御する第１の制御信号を入力する第１の制御信号入力端子と、
スキャンシフト動作モードとスキャンキャプチャ動作モードを切替制御する第２の制御信号を入力する第２の制御信号入力端子と、
スキャン入力端子と、
第１乃至第ｎ＋１のスキャン出力端子を備え、
前記第１乃至第ｎのユーザクロック端子と、第１乃至第ｎ群のスキャンフリップフロップへの第１乃至第ｎのテストクロック供給パスとの間にそれぞれ接続される第１乃至第ｎのテストクロック制御回路を備え、
前記第１乃至第ｎ−１のテストクロック制御回路は、前記第１及び第２の制御信号、前記テストクロック端子からのテストクロック信号、及び、対応するユーザクロック端子からのユーザクロック信号を入力し、
スキャンパステストモード時には、前記第２の制御信号に基づき、スキャンシフト期間中には、前記テストクロック信号に応答してスキャン入力端子からのシリアルデータをサンプル出力し、スキャンキャプチャ期間中には、入力されるテストクロック信号に応答してデータ入力端子の信号をサンプルするスキャンフリップフロップと、
前記スキャンフリップフロップの出力と、前記第２の制御信号との論理演算結果に基づき、テストクロック信号の伝達、非伝達を制御するクロックゲート回路と、
前記第１の制御信号を選択制御信号として受け、前記第１の制御信号がユーザモードを示すときには、前記ユーザクロックを選択し、前記第１の制御信号がスキャンパステストモードを示すときには、前記クロックゲート回路の出力を選択するクロック選択回路と、
を備え、
前記第ｎのテストクロック制御回路は、前記第１及び第２の制御信号、前記テストクロック端子からのテストクロック信号、及び、対応するユーザクロック端子からのユーザクロック信号を入力し、
前記第１乃至第ｎ−１のテストクロック制御回路の前記スキャンフリップフロップの各出力を入力し、スキャンキャプチャ期間中、前記スキャンフリップフロップの出力の組み合わせに応じた信号を生成するデコード回路と、
前記デコード回路の出力に基づき、テストクロック信号の伝達、非伝達を制御するクロックゲート回路と、
前記第１の制御信号を選択制御信号として受け、前記第１の制御信号がユーザモードを示すとき、前記ユーザクロックを選択し、前記第１の制御信号がスキャンパステストモードを示すとき、前記クロックゲート回路の出力を選択するクロック選択回路と、
を備え、
前記第１乃至第ｎのテストクロック制御回路のクロック選択回路の出力が、第１乃至第ｎのテストクロック供給パスにそれぞれ供給され、
前記第１テストクロック制御回路のスキャンフリップフロップには、スキャン入力端子からの信号が供給され、
前記第ｉ（ただし、ｉは２以上ｎ以下の整数）のテストクロック制御回路の前記スキャンフリップフロップには、前段のテストクロック制御回路のスキャンフリップフロップのスキャン出力端子からの信号が供給され、
前記第ｎのテストクロック制御回路の前記スキャンフリップフロップの出力は第１のスキャン出力端子に接続され、
前記第１乃至第ｎ群のスキャンフリップフロップのスキャン出力は、第２乃至第ｎ＋１のスキャン出力端子に接続されている、ことを特徴とする半導体集積回路装置。
【請求項８】
複数（ｎ個）のユーザクロック信号をそれぞれ入力する第１乃至第ｎのユーザクロック端子と、
少なくとも１つのテストクロック信号を入力するテストクロック端子と、
スキャンパステストモードを制御する第１の制御信号を入力する第１の制御信号入力端子と、
スキャンシフト動作モードとスキャンキャプチャ動作モードを切替制御する第２の制御信号を入力する第２の制御信号入力端子と、
スキャン入力端子と、
第１乃至第ｎ＋１のスキャン出力端子を備え、
前記第１乃至第ｎのユーザクロック端子と、第１乃至第ｎ群のスキャンフリップフロップへの第１乃至第ｎのテストクロック供給パスとの間にそれぞれ接続される第１乃至第ｎのテストクロック制御回路を備え、
前記各テストクロック制御回路は、前記第１及び第２の制御信号、前記テストクロック端子からのテストクロック信号、及び、対応するユーザクロック端子からのユーザクロック信号を入力し、
前記第１の制御信号がユーザモードを示すとき、前記ユーザクロックを選択し、前記第１の制御信号がスキャンパステストモードを示すとき、前記テストクロック端子からのテストクロック信号を選択するクロック選択回路と、
スキャンパステストモード時には、前記第２の制御信号に基づき、スキャンシフト期間中、テストクロック信号に応答してスキャン入力端子からのシリアルデータをサンプル出力し、スキャンキャプチャ期間中には、入力されるテストクロック信号に応答してデータ入力端子の信号をサンプルするスキャンフリップフロップと、
前記スキャンフリップフロップの出力と、前記第２の制御信号の論理演算結果に基づき、前記クロック選択回路から出力されるクロック信号の伝達、非伝達を制御するクロックゲート回路と、
を備え、
前記第１乃至第ｎのテストクロック制御回路のクロック選択回路の出力が、第１乃至第ｎのテストクロック供給パスにそれぞれ供給され、
前記第１テストクロック制御回路のスキャンフリップフロップには、スキャン入力端子からの信号が供給され、
前記第ｉ（ただし、ｉは２以上ｎ以下の整数）のテストクロック制御回路のスキャンフリップフロップには、前段のテストクロック制御回路のスキャンフリップフロップのスキャン出力端子からの信号が供給され、
前記第ｎのテストクロック制御回路のスキャンフリップフロップの出力は第１のスキャン出力端子に接続され、
前記第１乃至第ｎ群のスキャンフリップフロップのスキャン出力は、第２乃至第ｎ＋１のスキャン出力端子に接続されている、ことを特徴とする半導体集積回路装置。
【請求項９】
前記テストクロック制御回路内の前記スキャンフリップフロップの出力は、前記各テストクロック制御回路のスキャン出力端子、前記各テストクロック制御回路内の前記クロックゲート回路に接続されるとともに、前記スキャンフリップフロップのデータ入力端子に帰還入力される、ことを特徴とする請求項６乃至８のいずれか一に記載の半導体集積回路装置。
【請求項１０】
前記テストクロック制御回路内の前記スキャンフリップフロップは、前記第１の制御信号がユーザモードを示すとき、所定の値にセットされる、ことを特徴とする請求項６乃至８のいずれか一に記載の半導体集積回路装置。
【請求項１１】
前記スキャンフリップフロップのリセット又はセット用の制御信号を入力し、前記第１乃至第ｎのテストクロック制御回路の前記スキャンフリップフロップが、入力された前記リセット又はセット用の制御信号により、所定値にセットされる、ことを特徴とする請求項６乃至８のいずれか一に記載の半導体集積回路装置。
【請求項１２】
前記第ｎのテストクロック制御回路のスキャンフリップフロップの出力のうち少なくとも１つが対応するスキャンフリップフロップ群にスキャン入力される、ことを特徴とする請求項６乃至８のいずれか一に記載の半導体集積回路装置。
【請求項１３】
前記テストクロック端子の個数は、前記ユーザクロック端子の個数よりも少ない、ことを特徴とする請求項６乃至１２のいずれか一に記載の半導体集積回路装置。
【請求項１４】
クロック信号供給パスと、該クロック信号供給パスからのクロック信号で共通に駆動される、複数のスキャンフリップフロップよりなるレジスタ群と、の組を複数組有する半導体集積回路装置のテスト方法であって、
前記各クロック信号供給パス上にテストクロック制御回路を備え、
スキャンパステストモード時において、スキャンシフト期間中には、前記各テストクロック制御回路は、共通のスキャンクロック端子から供給されるテストクロック信号を、対応する前記クロック信号供給パスに伝播させ、複数組の前記レジスタ群をそれぞれスキャンシフトさせ、
スキャンキャプチャ期間中には、選択されたクロック信号供給パスには、対応するテスト制御回路からテストクロックパルスが供給され、前記選択されたクロック信号供給パスに接続するレジスタ群に選択的にキャプチャ動作を行わせ、非選択のクロック信号供給パスへはテストクロックパルスは供給されず、
前記クロック信号供給パスの数よりも少ないテストクロック端子数で前記複数のクロック信号供給パスのレジスタ群の各々に関するスキャンパステストを実行可能とし、
前記テストクロック制御回路に、スキャンフリップフロップと、前記スキャンフリップフロップに基づき、テストクロックパルスを伝播するか遮断するかを制御するクロックゲーティング回路と、を設け、
前記テストクロック制御回路内の前記スキャンフリップフロップは、他のテストクロック制御回路中のスキャンフリップフロップとスキャンチェーン接続され、
前記テストクロック制御回路内の前記スキャンフリップフロップに対して、スキャンシフト動作の最終値で、スキャンキャプチャ期間中における前記クロックゲーティング回路を制御するための値を設定する、ことを特徴とする半導体集積回路装置のテスト方法。
【請求項１５】
前記テストクロック制御回路における前記クロックゲーティング回路は、前記スキャンフリップフロップの出力値を入力とする論理ゲートによって制御される、ことを特徴とする請求項１４記載の半導体集積回路装置のテスト方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路に関し、特に半導体集積回路装置とそのテスト手法の分野に関する。
【背景技術】
【０００２】
半導体集積回路内部の故障状態を容易に検出するテスト容易化（ＤＦＴ）技術として、スキャンパステストがある。スキャンパステストでは、ユーザモードにおいて複数存在するクロックドメインのそれぞれで動作周波数が異なる場合に、個別クロックドメインごとのスピードテストを行う場合や、特定のクロックドメイン内で故障が発生した際の故障解析のために個別クロックドメインごとのスキャンパステストを行っている。なお、「ユーザモード」とは、スキャンパステストを実行する際に設定されるスキャンパステストモードと区別するために呼ぶ動作モードであり、スキャンパステストモード時以外に半導体集積回路の内蔵機能が通常動作する動作モードのことを意味する。「ノーマルモード」と呼ぶこともできるが、以下の説明では、ユーザモードを用いる。また、スキャンパステスト時に供給されるテストクロックと区別するために、ユーザモードでの動作時に供給される動作用クロックを「ユーザクロック」と呼び、ユーザクロックが供給される端子を「ユーザクロック端子」と呼ぶ。
【０００３】
大規模で端子数が多い半導体集積回路では、一般的に、ユーザモードにおける個別クロックドメインと同じか、または同程度の数のテストクロック端子を設けて各クロックドメインを個別に制御するスキャンパステストが採用されている。
【０００４】
一方、小規模で、端子数そのものが少ない半導体集積回路やＬＳＩテスタでの多並列テストを行うことを目的として、テスト端子数を制限している半導体集積回路では、より少ないテストクロック端子を使用したテスト構造が求められるほか、できるだけテストのための付加回路が増加しないことが求められる。
【０００５】
特許文献１には、２つ以上のクロックドメインを有する回路を、各々のドメインテストクロックレートでメインテストクロックの制御下でテストする方法が開示されている。図１は、特許文献１に開示された構成を示している。この回路は、コアロジック、および各々がクロック入力、コアロジックの出力に接続される入力、および／もしくはコアロジック２６の入力に接続される出力を有する、複数のスキャナブルメモリ素子を有する。破線は、２つのクロックドメインの境界を表す。該回路において、スキャンパステストモードで、該メモリ素子２０、２２、２８、３０が各ドメインにおける１つ以上のスキャンチェーンを規定するために接続され、ユーザモードで、該メモリ素子がノーマル動作モードのコアロジックと接続される構成が可能である。該方法は、メモリ素子をスキャンパステストモードで構成し、各々のクロックドメインの各々のスキャンチェーンにテスト信号を同時にクロックする。このクロックは、メインテストクロック信号に同期しているドメインテストクロック信号を有する各々のクロックドメインについて、テスト信号をメインテストクロック信号から導出されたシフトクロックレートでクロックし、メインテストクロック信号に非同期であるドメインテストクロック信号を有する各々のクロックドメインについて、テスト信号の所定数のビットを除くメインテストクロック信号から導出された第１のドメインシフトクロックレートでクロックした後、テスト信号の所定数のビットをドメインテストクロックレートに対応する第２のドメインシフトクロックレートでクロックする、ことを含む。該方法は、さらに、各々のスキャンチェーンのメモリ素子がノーマル動作モードでコアロジックによって相互接続されるユーザモードに、各々のスキャンチェーンのメモリ素子を構成し、各々のドメインテストクロックレートで、少なくとも１クロックサイクル、各々のスキャンチェーンの各々のメモリ素子をクロックし、メモリ素子をスキャンパステストモードで構成し、各々のスキャンアウトインターバルの間に各々のドメインシフトクロックレートでスキャンチェーンの各々のテスト応答パターン出力をクロックする。全ての各々のスキャンアウトインターバルは、複数のクロックサイクルの間、各々のクロックレートの最高レートで時間的にオーバーラップしている。
【０００６】
また、特許文献２には、複数のスキャンチェーングループが構成された半導体集積回路にてグループ間を接続して全体のスキャンチェーンを構成するときの配線混雑を防止するスキャンチェーン接続方法（図２参照）が開示されている。図２において、１０１は入出力セル領域、１０２〜１１０はスキャンチェーングループ、１１１はスキャン入力セル、１１２はスキャン出力セル、１１３〜１２１は各スキャンチェーングループの重心である。この方法は、個別のスキャンチェーングループ内でスキャンチェーンを接続した後にスキャンチェーングループ間を接続して全体のスキャンチェーンを構成するスキャンチェーン接続方法において、スキャンチェーングループのそれぞれのクロック系統に係るセルの配置位置情報に関する所定の評価によりスキャンチェーングループ間を接続する順序を決定する。この方法によれば、スキャンチェーングループ内のクロック系統に係るセルの配置位置情報の評価により、スキャンチェーン間の接続配線がより短くなるようにスキャンチェーングループ間の接続順序を決定することが可能になるため、半導体集積回路全体のスキャンチェーンを構成する際の配線混雑を防止することが可能となる。前記所定の評価は、それぞれのスキャンチェーングループに含まれる全てのフリップフロップ配置座標の重心座標の相互距離が近い順にスキャンチェーングループ間の接続順序とする。前記所定の評価は、スキャンチェーンのクロックグループ系に存在するゲーテッドセルの位置座標の相互距離が近い順にスキャンチェーングループ間の接続順序とする。前記所定の評価は、スキャンチェーングループのクロック系において予め任意指定された目印セルの位置座標の相互距離が近い順にスキャンチェーングループ間の接続順序とする。前記所定の評価は、相異なるスキャンチェーングループ間で位置座標の相互距離が最短であるフリップフロップの組をスキャンチェーン接続用フリップフロップの候補と決定し、このスキャンチェーン接続用フリップフロップの候補の相互距離が近い順にスキャンチェーングループ間の接続順序とする。
【０００７】
【特許文献１】特表２００３−５１３２８６公報
【特許文献２】特開２００５−２２３１７１公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
上記特許文献１には、スキャンパステスト時において、テストクロックレートが異なる複数のクロックドメインを個別に制御し、これら複数のクロックドメインを同時にテストするためのテスト回路とそのテスト手法が示されている。上記特許文献１のシステムでは、テストクロックレートが異なる複数のクロックドメインそれぞれについて、且つ、複数のクロックドメインを同時にテストすることができるものの、スキャナブルメモリ素子（スキャンフリップフロップ）に格納された内部ロジックの状態は、スキャンアウトインターバル（すなわちスキャンシフト動作）にて、ＢＩＳＴコントローラ中のＭＩＳＲ（結果圧縮回路）にて圧縮された結果を外部端子から観測するため、内部ロジックに故障が存在した場合の故障箇所特定が極めてに困難である。さらに、ＭＩＳＲにて結果を圧縮出力するということから、内部ロジック状態が不定となる回路構成が許されないため、不定となる状況を回避するためのテスト回路追加が必要になる、という問題点がある。
【０００９】
また、上記特許文献１のシステムにおいては、図１に示すように、テストクロックレートが異なる複数のクロックドメインを制御する仕組みとしてＢＩＳＴ機能を用いていることから、補助コントローラ、ＢＩＳＴコントローラなど大規模な回路追加が必要となるなど、小規模な半導体集積回路に対しては、回路面積の多大な増加を招く。このため、特許文献１を実際に採用することは困難である。
【００１０】
一方、上記特許文献２のシステムにおいては、複数のスキャンチェーングループが構成された半導体集積回路においてグループ間を接続して全体のスキャンチェーンを構成する際の配線混雑を防止する手法が示されている。半導体集積回路において実現可能なスキャンチェーンの本数制限に対応するため、個別のクロックグループ系統毎にスキャンチェーンを構築した後、スキャンチェーンが構築されたクロックグループ間の接続順序を決定する際にレイアウトにおけるフリップフロップなどの物理的位置関係を考慮することで、全体のスキャンチェーン配線混雑を抑制する手法であるが、スキャンパステストを行う場合に別途必要となるスキャンパステストクロック端子数を抑制することができない。
【００１１】
このため、半導体集積回路の端子数の増加要因となり、半導体集積回路のチップコスト増加、パッケージサイズ増大に伴う実装基盤に占める面積の増大、ＬＳＩテスタで複数個を同時にテストする並列テストの際の数量が抑制されることでテスト効率低下やテストコスト増加、などの問題がある。
【課題を解決するための手段】
【００１２】
本願で開示される発明は、前記課題を解決するため、概略以下の構成とされる。
【００１３】
本発明は、複数のユーザクロック端子とそれぞれのユーザクロック端子から供給されるユーザクロックに対応した複数のクロックドメイン（ユーザクロックドメイン）との間にクロックゲーティングセルを挿入し、該当するクロックゲーティングの出力を制御可能な構造としている。より詳しくは、本発明は、複数のレジスタ群へクロック信号をそれぞれ供給する複数のクロック信号供給パス上に、テストクロック信号を伝播するか遮断するかを制御するテストクロック制御回路をそれぞれ備え、ユーザクロックのドメイン数よりも少ない数のテストクロック端子を備え、スキャンパステスト時に、前記テストクロック端子からのテストクロック信号を前記複数のクロック信号供給パス上の前記テストクロック制御回路でそれぞれ制御して、前記複数のクロック信号供給パスのレジスタ群の各々に関するスキャンパステストが行われる。
【００１４】
本発明の１つのアスペクト(側面)に係る半導体集積回路装置は、クロック信号供給パスと、該クロック信号供給パスからのクロック信号で共通に駆動される、複数のスキャンフリップフロップよりなるレジスタ群と、の組を複数組有し、前記各クロック信号供給パス上にテストクロック制御回路を備え、ユーザモード時には、前記各テストクロック制御回路は、対応するユーザクロック端子から供給されるユーザクロック信号を対応する前記各クロック信号供給パスへ伝播させ、スキャンパステストモード時において、スキャンシフト期間中には、前記各テストクロック制御回路は、共通のスキャンクロック端子から供給されるテストクロック信号を、対応する前記クロック信号供給パスに伝播させ、複数組の前記レジスタ群をそれぞれスキャンシフトさせ、スキャンキャプチャ期間中には、選択されたクロック信号供給パスには、対応するテスト制御回路からテストクロックパルスが供給され、前記選択されたクロック信号供給パスに接続するレジスタ群にキャプチャ動作させ、非選択のクロック信号供給パスへはテストクロックパルスは供給されず、前記クロック信号供給パスの数よりも少ないテストクロック端子数で前記複数のクロック信号供給パスのレジスタ群の各々に関するスキャンパステストを実行可能としている。
【００１５】
本発明において、前記テストクロック制御回路は、スキャンフリップフロップと、前記スキャンフリップフロップに基づき、テストクロックパルスを伝播するか遮断するかを制御するクロックゲーティング回路と、を備えている。
【００１６】
本発明において、前記テストクロック制御回路内の前記スキャンフリップフロップは、他のテストクロック制御回路中のスキャンフリップフロップとスキャンチェーン接続される。
【００１７】
本発明において、前記テストクロック制御回路内の前記スキャンフリップフロップは、対応するクロック信号供給パス上の他のスキャンフリップフロップとチェーン接続される構成としてもよい。
【００１８】
本発明において、前記テストクロック制御回路内の前記スキャンフリップフロップに対して、スキャンシフト動作の最終値で、スキャンキャプチャ期間中における前記クロックゲーティング回路を制御するための値を設定する。
【００１９】
本発明において、前記テストクロック制御回路における前記クロックゲーティング回路は、前記スキャンフリップフロップの出力値を入力とする論理ゲートによって制御される。
【００２０】
本発明において、ユーザクロックドメイン数（ｎ個）に対応して、ｎ個の前記テストクロック制御回路を備え、１番目からｎ−１番目までの前記各テストクロック制御回路は、スキャンフリップフロップと、前記スキャンフリップフロップに基づき、テストクロックパルスを伝播するか遮断するかを制御するクロックゲーティング回路と、を備え、ｎ番目の前記テストクロック制御回路は、１番目からｎ−１番目までの前記テストクロック制御回路の前記スキャンフリップフロップの出力を入力し、その値の組み合わせに基づき、テストクロックパルスを伝播するか遮断するかを制御するクロックゲーティング回路を備えている構成としてもよい。
【００２１】
本発明において、前記テストクロック制御回路は、スキャンパステストモードとユーザモードを制御する制御信号を入力し、前記制御信号がユーザモードを示すときは、ユーザクロック信号を選択し、前記制御信号がスキャンパステストモードを示すときは、テストクロック信号を選択して出力するクロック選択回路を、前記クロックゲート回路の後段に備え、前記クロック選択回路で選択されたクロック信号が前記クロック信号供給パスに供給される。
【００２２】
本発明において、前記テストクロック制御回路は、スキャンパステストモードとユーザモードを制御する制御信号を入力し、前記制御信号がユーザモードを示すときは、ユーザクロック信号を選択し、前記制御信号が、スキャンパステストモードを示すときは、テストクロック信号を選択するクロック選択回路を、前記スキャンフリップフロップの前段に備えた構成としてもよい。
【００２３】
本発明に係る半導体集積回路装置は、複数（ｎ個）のユーザクロック信号をそれぞれ入力する第１乃至第ｎのユーザクロック端子と、少なくとも１つのテストクロック信号を入力するテストクロック端子と、スキャンパステストモードとユーザモードを制御する第１の制御信号を入力する第１の制御信号入力端子と、スキャンシフト動作モードとスキャンキャプチャ動作モードを切替制御する第２の制御信号を入力する第２の制御信号入力端子と、スキャン入力端子と、第１乃至第ｎ＋１のスキャン出力端子を備え、前記第１乃至第ｎのユーザクロック端子と、第１乃至第ｎ群のスキャンフリップフロップへの第１乃至第ｎのテストクロック供給パスとの間にそれぞれ接続される第１乃至第ｎのテストクロック制御回路を備えている。
【００２４】
前記各テストクロック制御回路は、前記第１及び第２の制御信号、前記テストクロック端子からのテストクロック信号、及び、対応するユーザクロック端子からのユーザクロック信号を入力し、スキャンパステスト時、前記第２の制御信号に基づき、スキャンシフト期間中には、前記テストクロック信号に応答してスキャン入力端子からのシリアルデータをサンプル出力し、スキャンキャプチャ期間中には、データ入力端子の信号をサンプルするスキャンフリップフロップと、前記スキャンフリップフロップの出力と、前記第２の制御信号との論理演算結果に基づき、テストクロック信号の伝達、非伝達を制御するクロックゲート回路と、前記第１の制御信号を選択信号として受け、前記第１の制御信号がユーザモード（非スキャンパステストモード）を示すときには、前記ユーザクロックを選択し、スキャンパステストモードを示すときには、前記クロックゲート回路の出力を選択するクロック選択回路と、を備えている。前記第１乃至第ｎのテストクロック制御回路のクロック選択回路の出力が、第１乃至第ｎのテストクロック供給パスにそれぞれ供給され、前記第１テストクロック制御回路内の前記スキャンフリップフロップには、スキャン入力端子からの信号が供給され、前記第ｉ（ただし、ｉは２以上ｎ以下の整数）のテストクロック制御回路内の前記スキャンフリップフロップには、前段のテストクロック制御回路のスキャンフリップフロップのスキャン出力端子からの信号が供給され、前記第ｎのテストクロック制御回路のスキャンフリップフロップの出力は第１のスキャン出力端子に接続され、前記第１乃至第ｎ群のスキャンフリップフロップのスキャン出力は、第２乃至第ｎ＋１のスキャン出力端子に接続されている。
【００２５】
本発明の別のアスペクトに係る半導体集積回路装置は、複数（ｎ個）のユーザクロック信号をそれぞれ入力する第１乃至第ｎのユーザクロック端子と、少なくとも１つのテストクロック信号を入力するテストクロック端子と、スキャンパステストモードとユーザモードを制御する第１の制御信号を入力する第１の制御信号入力端子と、スキャンシフト動作モードとスキャンキャプチャ動作モードを切替制御する第２の制御信号を入力する第２の制御信号入力端子と、スキャン入力端子と、第１乃至第ｎ＋１のスキャン出力端子を備え、前記第１乃至第ｎのユーザクロック端子と、第１乃至第ｎ群のスキャンフリップフロップへの第１乃至第ｎのテストクロック供給パスとの間にそれぞれ接続される第１乃至第ｎのテストクロック制御回路を備えている。
【００２６】
前記第１乃至第ｎ−１のテストクロック制御回路は、前記第１及び第２の制御信号、前記テストクロック端子からのテストクロック信号、及び、対応するユーザクロック端子からのユーザクロック信号を入力し、スキャンパステスト時、前記第２の制御信号に基づき、スキャンシフト期間中には、前記テストクロック信号に応答してスキャン入力端子からのシリアルデータをサンプル出力し、スキャンキャプチャ期間中には、データ入力端子の信号をサンプルするスキャンフリップフロップと、前記スキャンフリップフロップの出力と、前記第２の制御信号との論理演算結果に基づき、テストクロック信号の伝達、非伝達を制御するクロックゲート回路と、前記第１の制御信号を選択信号として受け、前記第１の制御信号がユーザモード（非スキャンパステストモード）を示すときには、前記ユーザクロックを選択し、スキャンパステストモードを示すときには、前記クロックゲート回路の出力を選択するクロック選択回路と、を備えている。
【００２７】
前記第ｎのテストクロック制御回路は、前記第１及び第２の制御信号、前記テストクロック端子からのテストクロック信号、及び、対応するユーザクロック端子からのユーザクロック信号を入力し、前記第１乃至第ｎ−１のテストクロック制御回路の前記スキャンフリップフロップの各出力を入力し、スキャンキャプチャ期間中、前記スキャンフリップフロップの出力の組み合わせに応じた信号を生成するデコード回路と、前記デコード回路の出力に基づき、テストクロック信号の伝達、非伝達を制御するクロックゲート回路と、前記第１の制御信号を選択信号として受け、前記第１の制御信号がユーザモードを示すとき、前記ユーザクロックを選択し、スキャンパステストモードのとき、前記クロックゲート回路の出力を選択するクロック選択回路と、を備えている。前記第１乃至第ｎのテストクロック制御回路のクロック選択回路の出力が、第１乃至第ｎのテストクロック供給パスにそれぞれ供給され、前記第１テストクロック制御回路のスキャンフリップフロップには、スキャン入力端子からの信号が供給され、前記第ｉ（ただし、ｉは２以上ｎ以下の整数）のテストクロック制御回路の前記スキャンフリップフロップには、前段のテストクロック制御回路のスキャンフリップフロップのスキャン出力端子からの信号が供給され、前記第ｎのテストクロック制御回路の前記スキャンフリップフロップの出力は第１のスキャン出力端子に接続され、前記第１乃至第ｎ群のスキャンフリップフロップのスキャン出力は、第２乃至第ｎ＋１のスキャン出力端子に接続されている。
【００２８】
本発明の別のアスペクトに係る半導体集積回路装置において、前記各テストクロック制御回路は、前記第１及び第２の制御信号、前記テストクロック端子からのテストクロック信号、及び、対応するユーザクロック端子からのユーザクロック信号を入力し、前記第１の制御信号がユーザモードを示すとき、前記ユーザクロックを選択し、スキャンパステストモードのとき、前記クロックゲート回路の出力を選択するクロック選択回路と、前記第１の制御信号がユーザモードを示すとき、所定の値にセットされ、前記第２の制御信号に基づき、スキャンシフト期間中、テストクロック信号に応答してスキャン入力端子からのシリアルデータをサンプル出力し、スキャンキャプチャ期間中には、テストクロック信号に応答してデータ入力端子の信号をサンプルするスキャンフリップフロップと、前記スキャンフリップフロップの出力と、前記第２の制御信号の論理演算結果に基づき、前記クロック選択回路から出力されるクロック信号の伝達、非伝達を制御するクロックゲート回路と、を備えている。前記第１乃至第ｎのテストクロック制御回路のクロック選択回路の出力が、第１乃至第ｎのテストクロック供給パスにそれぞれ供給され、前記第１テストクロック制御回路のスキャンフリップフロップには、スキャン入力端子からの信号が供給され、前記第ｉ（ただし、ｉは２以上ｎ以下の整数）のテストクロック制御回路のスキャンフリップフロップには、前段のテストクロック制御回路のスキャンフリップフロップのスキャン出力端子からの信号が供給され、前記第ｎのテストクロック制御回路のスキャンフリップフロップの出力は第１のスキャン出力端子に接続され、前記第１乃至第ｎ群のスキャンフリップフロップのスキャン出力は、第２乃至第ｎ＋１のスキャン出力端子に接続されている。
【００２９】
本発明において、前記テストクロック制御回路内の前記スキャンフリップフロップの出力は、前記各テストクロック制御回路のスキャン出力端子、前記各テストクロック制御回路内の前記クロックゲート回路に接続されるとともに、前記スキャンフリップフロップのデータ入力端子に帰還入力される。
【００３０】
本発明において、前記テストクロック制御回路内の前記スキャンフリップフロップは、前記第１の制御信号が非スキャンパスモード（ユーザモード）を示すとき、所定の値にセットされる。
【００３１】
本発明において、前記スキャンフリップフロップのリセット又はセット用の制御信号を入力し、前記第１乃至第ｎのテストクロック制御回路の前記スキャンフリップフロップが、リセット又はセット用の制御信号により所定値にセットされる。
【００３２】
本発明において、前記第ｎのテストクロック制御回路のスキャンフリップフロップの出力のうち少なくとも１つが対応するスキャンフリップフロップ群にスキャン入力される。
【００３３】
本発明の別のアスペクトに係る半導体集積回路装置のテスト方法によれば、クロック信号供給パスと、該クロック信号供給パスからのクロック信号で共通に駆動される、複数のスキャンフリップフロップよりなるレジスタ群と、の組を複数組有する半導体集積回路装置のテスト方法であって、
前記各クロック信号供給パス上にテストクロック制御回路を備え、
スキャンパステストモード時において、スキャンシフト期間中には、前記各テストクロック制御回路は、共通のスキャンクロック端子から供給されるテストクロック信号を、対応する前記クロック信号供給パスに伝播させ、複数組の前記レジスタ群をそれぞれスキャンシフトさせ、
スキャンキャプチャ期間中には、選択されたクロック信号供給パスには、対応するテスト制御回路からテストクロックパルスが供給され、前記選択されたクロック信号供給パスに接続するレジスタ群にキャプチャ動作させ、非選択のクロック信号供給パスへはテストクロックパルスは供給されず、
前記クロック信号供給パスの数よりも少ないテストクロック端子数で前記複数のクロック信号供給パスのレジスタ群の各々に関するスキャンパステストが行われる、ことを特徴とする。
【００３４】
本発明において、前記テストクロック制御回路は、スキャンフリップフロップと、前記スキャンフリップフロップに基づき、テストクロックパルスを伝播するか遮断するかを制御するクロックゲーティング回路と、を有する。
【００３５】
本発明において、前記テストクロック制御回路のスキャンフリップフロップに対して、スキャンシフト動作の最終値で、スキャンキャプチャ期間中における前記クロックゲーティング回路を制御するための値を設定する。本発明においては、前記テストクロック制御回路のスキャンフリップフロップを、該クロックゲーティングセルに接続し、更に、スキャンフリップフロップを他のスキャンチェーン上のスキャンフリップフロップとチェーン接続するようにしてもよい。
【発明の効果】
【００３６】
本発明によれば、クロックゲーティングセルと接続し、且つ、スキャンチェーンに接続されたスキャンフリップフロップに対して、スキャンシフト動作の最終値として、任意の値を設定することにより、スキャンパステストにおけるキャプチャ期間中のテストクロック伝播を制御可能とすることで、ユーザクロックドメインごとのスキャンパステストを可能としている。
【発明を実施するための最良の形態】
【００３７】
上記した本発明についてさらに詳細に説述すべく添付図面を参照して説明する。本発明の第１の実施形態について説明する。図３は、本発明に係るテストクロック制御回路（ＴＣＬＫＣＴＬ）を備えた半導体集積回路の構成を示す図である。
【００３８】
図３において、第１のテストクロック制御回路（ＴＣＬＫＣＴＬ）ＴＣ１１は、ユーザモード時のクロック信号ＵＣＬＫ１にて駆動されるクロックドメインに所属する第１のレジスタ群（スキャンフリップフロップ群）ＳＦＦＧ１ａ〜ＳＦＦＧ１ｚを制御する位置に配置されている。第１のレジスタ群ＳＦＦＧ１ａ〜ＳＦＦＧ１ｚは同一のスキャンチェーンに接続している。
【００３９】
第１のテストクロック制御回路ＴＣ１１は、第１のユーザクロック信号ＵＣＬＫ１、スキャンモード信号ＳＭＯＤＥ、スキャン入力信号ＳＩＮ１、スキャンイネーブル信号ＳＥＮ、スキャンパステストクロック信号ＳＣＬＫを入力する。スキャンモード信号ＳＭＯＤＥは、スキャンパステストのモードを制御する信号であり、ＨＩＧＨレベルでスキャンパステストを指示し、ＬＯＷレベルでユーザモードを指示する。スキャン入力信号ＳＩＮ１は、シリアル入力されるスキャン入力信号である。スキャンイネーブル信号ＳＥＮは、スキャンパステストクロック信号ＳＣＬＫによるスキャンチェーン上でのシリアルシフトと、スキャンキャプチャ（データ入力端子ＤＩＮをクロック信号に応答してサンプリング）の制御を行う信号である。第１のテストクロック制御回路ＴＣ１１に内蔵のスキャンフリップフロップ（図４のＳＦＦ）の出力をＳＯＴへ、第１のテストクロック制御回路ＴＣ１１で制御後のクロックを出力端子ＭＣＯＵＴへ出力する。
【００４０】
図３において、第２のテストクロック制御回路（ＴＣＬＫＣＴＬ）ＴＣ１２は、第１のテストクロック制御回路（ＴＣＬＫＣＴＬ）ＴＣ１１と内部構成は同一とされ、ユーザモード時のクロック信号ＵＣＬＫ２にて駆動されるクロックドメインに所属する第２のレジスタ群ＳＦＦＧ２ａ〜ＳＦＦＧ２ｚを制御する位置に配置される。第２のレジスタ群ＳＦＦＧ２ａ〜ＳＦＦＧ２ｚは同一のスキャンチェーンに接続する。第２のテストクロック制御回路ＴＣ１２は、第２のユーザクロック信号ＵＣＬＫ２、スキャンモード信号ＳＭＯＤＥ、第１のテストクロック制御回路ＴＣ１１のスキャン出力信号（ＳＯＴ）、スキャンイネーブル信号ＳＥＮ、スキャンパステストクロック信号ＳＣＬＫを入力する。また、第２のテストクロック制御回路ＴＣ１２に内蔵のスキャンフリップフロップの出力をＳＯＴへ、第２のテストクロック制御回路ＴＣ１２で制御後のクロックをＭＣＯＵＴへ出力する。
【００４１】
第３のテストクロック制御回路（ＴＣＬＫＣＴＬ）ＴＣ１３は、第１のテストクロック制御回路（ＴＣＬＫＣＴＬ）ＴＣ１１と内部構成は同一とされ、ユーザモード時のクロックＵＣＬＫ３にて駆動されるクロックドメインに所属する第３のレジスタ群ＳＦＦＧ３ａ〜ＳＦＦＧ３ｚを制御する位置に挿入する。第３のレジスタ群ＳＦＦＧ３ａ〜ＳＦＦＧ３ｚは同一のスキャンチェーンに接続する。第３のテストクロック制御回路ＴＣ１３は、第３のユーザクロックＵＣＬＫ３、スキャンモード信号ＳＭＯＤＥ、第２のテストクロック制御回路ＴＣ１２のスキャン出力信号（ＳＯＴ）、スキャンイネーブル信号ＳＥＮ、スキャンパステストクロックＳＣＬＫを入力する。また、第３のテストクロック制御回路ＴＣ１３に内蔵のスキャンフリップフロップの出力をＳＯＴへ、第３のテストクロック制御回路ＴＣ１３で制御後のクロックをＭＣＯＵＴへ出力する。
【００４２】
第１のテストクロック制御回路ＴＣ１１と第２のテストクロック制御回路ＴＣ１２と第３のテストクロック制御回路ＴＣ１３は、同一のスキャンチェーンに接続する。すなわち、第１のテストクロック制御回路ＴＣ１１のスキャン出力ＳＯＴは、第２のテストクロック制御回路ＴＣ１２のスキャン入力ＳＩＮに接続され、第２のテストクロック制御回路ＴＣ１２のスキャン出力ＳＯＴは、第３のテストクロック制御回路ＴＣ１３のスキャン入力ＳＩＮに接続され、第３のテストクロック制御回路ＴＣ１３のスキャン出力ＳＯＴは、スキャン出力端子ＳＯＴ１に接続され、テストクロックＳＣＬＫに応答してシフトされ、外部に出力される。
【００４３】
図４は、図３のテストクロック制御回路（ＴＣＬＫＣＴＬ）の詳細な回路構成を示す図である。図４において、ＳＣＧＣは、スキャンパステストモードでない場合、すなわちユーザモードの場合に、スキャンモード信号ＳＭＯＤＥをＬＯＷレベルとすることで、出力値Ｑが論理１にセットされ、ＴＣ１１、ＴＣ１２、ＴＣ１３のスキャンチェーンに組み込まれて、任意の値を設定可能なスキャンフリップフロップＳＦＦと、スキャンパステスト時のスキャンイネーブル信号ＳＥＮの値と、スキャンフリップフロップＳＦＦの出力値によって、スキャンパステスト時のテストクロック信号ＳＣＬＫを伝播させるか遮断するかを制御するクロックゲーティングセルＣＧＣとを備えている。スキャンフリップフロップＳＦＦは、スキャン入力端子ＳＩＮと、出力端子Ｑが、スキャン入力端子ＳＩＮ、スキャン出力端子ＳＯＴにそれぞれ接続され、スキャンチェーンに組み込まれ、また、データ入力ＤＩＮには出力端子Ｑが帰還入力される。
【００４４】
クロックゲーティングセルＣＧＣは、スキャンイネーブル信号ＳＥＮとフリップフロップＳＦＦの出力Ｑとを入力するＯＲ回路と、ＯＲ回路の出力とスキャンテストクロックＳＣＬＫを入力しＡＮＤ演算結果をクロック信号ＣＯＵＴとして出力するＡＮＤ回路を備えている。スキャンフリップフロップＳＦＦの出力端子Ｑは、テストクロック制御回路（ＴＣＬＫＣＴＬ）のスキャン出力ＳＯＴに接続されている。
【００４５】
クロック選択回路ＭＵＸＧは、スキャンモード信号ＳＭＯＤＥを選択制御信号として入力し、スキャンモード信号ＳＭＯＤＥがＬＯＷレベルのとき、ユーザクロックＵＣＬＫ、スキャンモード信号ＳＭＯＤＥがＨＩＧＨレベルのとき、ＳＣＧＣにて制御出力されたクロック信号ＣＯＵＴを選択し、ＭＣＯＵＴとして出力するマルチプレクサである。
【００４６】
図５は、本発明の第１の実施例において、第２のテストクロック制御回路ＴＣ１２のクロック出力ＭＣＯＵＴ２で駆動されるレジスタ群ＳＦＦＧ２ａ〜ＳＦＦＧ２ｚのクロックドメインについてのみ、スキャンパステストする場合のタイミング動作を示す図である。
【００４７】
スキャンパステストモードであることを示すスキャンモード信号ＳＭＯＤＥは、アクティブＨＩＧＨに固定する。
【００４８】
スキャンパステスト時のイネーブル信号ＳＥＮは、スキャンシフト期間中には、ＨＩＧＨレベルとされ、スキャンキャプチャ期間中には、ＬＯＷレベルとされる。
【００４９】
まず、スキャンイネーブル信号ＳＥＮをＨＩＧＨレベルに設定し、スキャンシフト動作モードに設定する。
【００５０】
スキャンパステスト時のテストクロック信号ＳＣＬＫは、第１、第２、第３のテストクロック制御回路ＴＣ１１、ＴＣ１２、ＴＣ１３にそれぞれ配設されている３つのスキャンフリップフロップＳＦＦ（スキャンチェーンを構成）をシフト動作するため、３クロックパルスを供給する必要がある。
【００５１】
ここで、第２のテストクロック制御回路ＴＣ１２の出力ＭＣＯＵＴ２で駆動されるクロックドメインのみをテストするために、スキャンシフト期間中にテストクロックＳＣＬＫの１クロックパルス目で、スキャン入力端子ＳＩＮ１からシフト入力の最初の値”０”を第１のテストクロック制御回路ＴＣ１１に内蔵のスキャンフリップフロップＳＦＦにシフト入力する。
【００５２】
次に、スキャンパステストクロック信号ＳＣＬＫの２クロックパルス目で、スキャン入力端子ＳＩＮ１からシフト入力の２番目の値”１”を第１のテストクロック制御回路ＴＣ１１に内蔵されるスキャンフリップフロップＳＦＦにシフト入力すると同時に、１クロックパルス目で第１のテストクロック制御回路ＴＣ１１に内蔵されるスキャンフリップフロップＳＦＦにシフト入力した値”０”が、第２のテストクロック制御回路ＴＣ１２に内蔵のスキャンフリップフロップへシフト入力される。
【００５３】
次に、スキャンパステストクロック信号ＳＣＬＫの３クロックパルス目で、スキャン入力端子ＳＩＮ１からシフト入力の３番目の値“０”を、第１のテストクロック制御回路ＴＣ１１に内蔵されるスキャンフリップフロップＳＦＦにシフト入力すると同時に、２クロックパルス目で第１のテストクロック制御回路ＴＣ１１に内蔵されるスキャンフリップフロップＳＦＦにシフト入力した値“１”が第２のテストクロック制御回路ＴＣ１２に内蔵されるスキャンフリップフロップＳＦＦへシフト入力され、更に、同時に、２クロック目で第２のテストクロック制御回路ＴＣ１２に内蔵されるスキャンフリップフロップＳＦＦにシフト入力された値“０”が、第３のテストクロック制御回路ＴＣ１３に内蔵のスキャンフリップフロップＳＦＦへシフト入力される。
【００５４】
このように、スキャンパステストクロック信号ＳＣＬＫの３つのクロックパルスによるシフト動作により、スキャン入力端子ＳＩＮ１からのスキャンシフト値として、第１のテストクロック制御回路ＴＣ１１に内蔵されるスキャンフリップフロップＳＦＦには、”０”、第２のテストクロック制御回路ＴＣ１２に内蔵されるスキャンフリップフロップＳＦＦには、”１”、第３のテストクロック制御回路ＴＣ１３に内蔵のスキャンフリップフロップＳＦＦには、”０”、という値が、最終シフト値としてシフト入力される。この動作は、スキャンパステストにおける、スキャンシフト動作に他ならない。
【００５５】
このスキャンシフト動作は、３つのクロックドメインをそれぞれレジスタ群ＳＦＦＧ１ａ〜ＳＦＦＧ１ｚ、レジスタ群ＳＦＦＧ２ａ〜ＳＦＦＧ２ｚ、レジスタ群ＳＦＦＧ３ａ〜ＳＦＦＧ３ｚに対しても、同時に、スキャンシフト動作が開始され、それぞれスキャンチェーンを構成するレジスタの全てについてスキャンシフト値が設定される。
【００５６】
なお、これらのレジスタ群に対するスキャンシフト動作に必要なクロックパルス数は、それぞれのクロックドメイン中に構成されたスキャンチェーン上のレジスタ群ＳＦＦＧ１ａ〜ＳＦＦＧ１ｚ、レジスタ群ＳＦＦＧ２ａ〜ＳＦＦＧ２ｚ、レジスタ群ＳＦＦＧ３ａ〜ＳＦＦＧ３ｚの段数、すなわちスキャンフリップフロップ数に依存する。
【００５７】
スキャンシフト動作によって、第１のテストクロック制御回路ＴＣ１１、第２のテストクロック制御回路ＴＣ１２、第３のテストクロック制御回路ＴＣ１３に内蔵されるスキャンフリップフロップＳＦＦに対して、スキャンシフト動作の最終値として、”０”、”１”、”０”をシフト入力した状態で、スキャンイネーブル信号ＳＥＮをＬＯＷレベルに設定し、スキャンキャプチャ動作モードに切り替える。
【００５８】
このとき、第１のテストクロック制御回路ＴＣ１１に内蔵されるスキャンフリップフロップＳＦＦにシフト入力された値は”０”であり、スキャンイネーブル信号ＳＥＮはキャプチャ期間中のＬＯＷレベルであるため、第１のテストクロック制御回路ＴＣ１１に内蔵のクロックゲーティングセルＣＧＣを通過後の出力は”０”である。また、第１のテストクロック制御回路ＴＣ１１に内蔵されるクロック選択回路ＭＵＸＧは、スキャンモード信号ＳＭＯＤＥがＨＩＧＨとなっていることから、クロックゲーティングセルＣＧＣの出力ＣＯＵＴを選択出力しており、結果的に、第１のテストクロック制御回路ＴＣ１１のクロック出力信号ＭＣＯＵＴは”０”、すなわち、スキャンキャプチャ期間中、ＭＣＯＵＴ１は”０”固定となり、クロックパルスとして動作しない。従って、レジスタ群ＳＦＦＧ１ａ〜ＳＦＦＧ１ｚにシフト入力することにより、該当クロックドメイン内のロジックを動作させた結果を、スキャンキャプチャ期間中、レジスタ群ＳＦＦＧ１ａ〜ＳＦＦＧ１ｚに取り込まない。
【００５９】
同様に、第３のテストクロック制御回路ＴＣ１３に内蔵されるスキャンフリップフロップＳＦＦにシフト入力された値は”０”であり、スキャンイネーブル信号SENはキャプチャ期間中のＬＯＷレベルであるため、第３のテストクロック制御回路ＴＣ１３に内蔵のクロックゲーティングセルＣＧＣを通過後の出力は”０”である。
【００６０】
また、第３のテストクロック制御回路ＴＣ１３に内蔵のクロック選択回路ＭＵＸＧはスキャンモード信号ＳＭＯＤＥがＨＩＧＨレベルとなっていることから、クロックゲーティングセルＣＧＣの出力”ＣＯＵＴ”を選択出力しており、結果的に、第３のテストクロック制御回路ＴＣ１３のクロック出力信号ＭＣＯＵＴは”０”、すなわちＭＣＯＵＴ３は”０”となり、スキャンキャプチャ期間中には、クロックパルスとして動作しない。従って、スキャンシフトにおいて、レジスタ群ＳＦＦＧ３ａ〜ＳＦＦＧ３ｚにシフト入力することにより、該当クロックドメイン内のロジックを動作させた結果を、スキャンキャプチャにおいて、レジスタ群ＳＦＦＧ３ａ〜ＳＦＦＧ３ｚに取り込まない。
【００６１】
一方、第２のテストクロック制御回路ＴＣ１２に内蔵されるスキャンフリップフロップＳＦＦにシフト入力された値は“１”であり、スキャンイネーブル信号ＳＥＮはキャプチャ期間中のＬＯＷレベルであるため、第２のテストクロック制御回路ＴＣ１２において、ＣＧＣのＯＲ回路の出力はＨＩＧＨレベルとなり、内蔵のクロックゲーティングセルＣＧＣの出力ＣＯＵＴ（ＡＮＤ回路の出力）にはテストクロックＳＣＬＫのクロックパルスが出力される。
【００６２】
この時、第２のテストクロック制御回路ＴＣ１２に内蔵されるクロック選択回路ＭＵＸＧはスキャンモード信号ＳＭＯＤＥがＨＩＧＨレベルとなっていることから、クロックゲーティングセルＣＧＣの出力ＣＯＵＴを選択出力しており、結果的に、第２のテストクロック制御回路ＴＣ１２からのクロック出力ＭＣＯＵＴ２は、テストクロック信号ＳＣＬＫと等しいクロックパルスとなる。すなわち、第２のテストクロック制御回路ＴＣ１２のクロック出力端子ＭＣＯＵＴ２からは、第２のテストクロック制御回路ＴＣ１２に入力されたＳＣＬＫ信号が、論理ゲートＡＮＤ、ＭＵＸＧを介して出力される。
【００６３】
従って、レジスタ群ＳＦＦＧ２ａ〜ＳＦＦＧ２ｚにシフト入力することにより該当クロックドメイン内のロジックを動作させた結果を、スキャンキャプチャ期間に、第２のテストクロック制御回路ＴＣ１２からのＭＣＯＵＴにより、ＳＦＦＧ２ａ〜ＳＦＦＧ２ｚにて取り込む。
【００６４】
再び、図５を参照すると、キャプチャ動作が終了した後、スキャンイネーブル信号ＳＥＮをＨＩＧＨに設定し、再度、スキャンシフトモードに設定する。
【００６５】
スキャンシフトモードにて、スキャンチェーンに接続された全てのレジスタＳＦＦＧ１ａ〜ＳＦＦＧ１ｚ、ＳＦＦＧ２ａ〜ＳＦＦＧ２ｚ、ＳＦＦＧ３ａ〜ＳＦＦＧ３ｚにそれぞれ格納された値は、それぞれのスキャン出力端子（ＳＯＴ２、ＳＯＴ３、ＳＯＴ４）から、シフト出力される。同様に、第１乃至第３のテストクロック制御回路ＴＣ１１乃至１３にそれぞれ内蔵されるスキャンフリップフロップＳＦＦに格納された値は、スキャン出力端子ＳＯＴ１から出力される。
【００６６】
このとき、スキャンキャプチャ期間中に、内部ロジックを動作させた結果を取り込んだレジスタ群はＳＦＦＧ２ａ〜ＳＦＦＧ２ｚ、すなわちＭＣＯＵＴ２で駆動されたクロックドメインのみであり、該当クロックドメインについてのみスキャンパステストが行われたことになる。
【００６７】
なお、第１のテストクロック制御回路ＴＣ１１の出力ＭＣＯＵＴ１で駆動されるクロックドメインのみをスキャンパステストする場合には、前述の動作にて、スキャンシフトの最終値で、第１のテストクロック制御回路ＴＣ１１に内蔵されるスキャンフリップフロップＳＦＦに対してのみ”１”をシフト入力し、第２、第３のテストクロック制御回路ＴＣ１２、ＴＣ１３にそれぞれ内蔵されるスキャンフリップフロップＳＦＦには”０”をシフト入力するようにすればよい。
【００６８】
同様に、第３のテストクロック制御回路ＴＣ１３の出力ＭＣＯＵＴ３で駆動されるクロックドメインのみをスキャンパステストする場合には、前述の動作にてスキャンシフトの最終値で第３のテストクロック制御回路ＴＣ１３に内蔵されるスキャンフリップフロップＳＦＦに対してのみ“１”をシフト入力し、第１、第２のテストクロック制御回路ＴＣ１１、ＴＣ１２にそれぞれ内蔵されるスキャンフリップフロップＳＦＦには”０”をシフト入力するようにすればよい。
【００６９】
このように、スキャンパステスト時のクロック端子（ＳＣＬＫ）の数が、たとえ１端子のみであっても、所望のクロックドメインのみをスキャンパステストすることができ、特定クロックドメインにおける故障発生時の故障箇所特定などの絞込みが容易に行える。
【００７０】
また、ユーザモードにおいては、スキャンモード信号ＳＭＯＤＥはＬＯＷレベルに固定されるので、第１のテストクロック制御回路ＴＣ１１、第２のテストクロック制御回路ＴＣ１２、第３のテストクロック制御回路ＴＣ１３にそれぞれ内蔵されるスキャンフリップフロップＳＦＦの出力Ｑの値は全て“１”となる。ユーザモードにおいては、スキャンイネーブル信号ＳＥＮもスキャンモード信号ＳＭＯＤＥと同じくＬＯＷレベルに固定される。スキャンパステストクロックＳＣＬＫもＬＯＷレベルに固定され、クロックパルスは供給されない。第１のテストクロック制御回路ＴＣ１１のクロック選択回路ＭＵＸＧはユーザクロックＵＣＬＫ１を選択しＭＣＯＵＴ１から出力する。第２のテストクロック制御回路ＴＣ１２のクロック選択回路ＭＵＸＧはユーザクロックＵＣＬＫ２を選択しＭＣＯＵＴ２から出力する。第３のテストクロック制御回路ＴＣ１３のクロック選択回路ＭＵＸＧはユーザクロックＵＣＬＫ３を選択しＭＣＯＵＴ３から出力する。
【００７１】
第１のテストクロック制御回路ＴＣ１１のクロック出力ＭＣＯＵＴ１、第２のテストクロック制御回路ＴＣ１２のクロック出力ＭＣＯＵＴ２、第３のテストクロック制御回路ＴＣ１３のクロック出力ＭＣＯＵＴ３は、それぞれのクロック選択回路ＭＵＸＧによりユーザクロックＵＣＬＫ１、ＵＣＬＫ２、ＵＣＬＫ３が選択出力されることにより、クロックゲーティングセルＣＧＣの出力はユーザモード時の動作には影響を与えない。
【００７２】
このように、本実施例においては、複数のユーザクロックごとに設けたテストクロックライン上のそれぞれにクロックゲーティングセルＣＧＣを挿入すると共に、該当クロックゲーティングセルＣＧＣの出力を制御可能な構造でスキャンフリップフロップＳＦＦを、該当クロックゲーティングセルＣＧＣに接続する。更に、該当スキャンフリップフロップＳＦＦを、他のスキャンチェーン上のスキャンフリップフロップとチェーン接続する。
【００７３】
本実施例においては、特定のユーザクロックドメインについてのみスキャンパステストを行う場合（例えばＭＯＵＴ２）、スキャンパステストモードに設定した後、スキャンパステスト対象のユーザクロックドメインを制御しているテストクロック制御回路中（例えばＴＣ１２）のスキャンフリップフロップ（ＳＦＦ）に対してスキャンシフト動作の最終値で”１”をシフト入力する。
【００７４】
この状態で、スキャンキャプチャモードに切り替えると、スキャンパステスト対象の特定のユーザクロックドメインに対してのみ、スキャンパステストのクロックパルスが供給される、つまり、スキャンキャプチャ動作が行われる。従って、スキャンパステスト時のテストクロック端子数は、ユーザモード時のクロックドメイン数と同じ数だけ確保できない場合（例えばスキャンパステストクロック端子数が１端子）でも、任意のクロックドメインについてのみ、スキャンキャプチャ動作を行うことが可能となる。つまり、スキャンパステストが実施可能となる。
【００７５】
また、スキャンパステスト対象とするクロックドメインが複数存在した場合でも、複数のテストクロック制御回路中のスキャンフリップフロップＳＦＦに対して、スキャンシフト動作の最終値で”１”を設定することが可能であることから、特にテスト回路を増やすことなく、複数のスキャンパステスト対象とするクロックドメインを任意に制御することができ、意図したクロックドメインをスキャンパステストすることができる。
【００７６】
次に、本発明の第２の実施例の構成を説明する。図６は、本発明の第２の実施例の構成を示す図である。図６において、第１のテストクロック制御回路ＴＣ１１、第２のテストクロック制御回路ＴＣ１２は、図３に示した前記第１の実施例と同じ構成であるが、第３のテストクロック制御回路ＴＣ２３を備えている点が前記第１の実施例と相違している。
【００７７】
第３のテストクロック制御回路ＴＣ２３は、第３のユーザクロックＵＣＬＫ３、スキャンイネーブル信号ＳＥＮ、スキャンパステストクロックＳＣＬＫを入力するとともに、第１のテストクロック制御回路ＴＣ１１からのスキャン出力信号を端子ＤＩＮ２に、第２のテストクロック制御回路ＴＣ１２からのスキャン出力信号を端子ＤＩＮ１に入力する。また、第３のテストクロック制御回路ＴＣ２３で制御後のクロックを端子ＭＣＯＵＴから出力する。
【００７８】
図７は、図６に示した本発明の第２の実施例における第３のテストクロック制御回路（ＴＣＬＫＣＴＬ２）ＴＣ２３の詳細な回路構成を示す図である。図７を参照すると、第３のテストクロック制御回路（ＴＣＬＫＣＴＬ２）は、第１のテストクロック制御回路ＴＣ１１に内蔵されるスキャンフリップフロップＳＦＦの出力ＳＯＴと第２のテストクロック制御回路ＴＣ１２に内蔵されるスキャンフリップフロップＳＦＦの出力ＳＯＴをＤＩＮ２、ＤＩＮ１より入力とし、スキャンイネーブル信号ＳＥＮの値と入力した２つのスキャンフリップフロップの値によってスキャンパステストクロックＳＣＬＫを伝播するか遮断するかを制御するクロックゲーティングセルＳＣＧＣ２を備えている。より詳細には、クロックゲーティングセルＳＣＧＣ２は、ＤＩＮ１、ＤＩＮ２に入力が接続されたＡＮＤ回路ＡＮＤ１と、ＤＩＮ１、ＤＩＮ２の反転信号を入力するＡＮＤ回路ＡＮＤ２と、ＡＮＤ１とＡＮＤ２の出力を入力するＯＲ回路ＯＲ１と、スキャンイネーブル信号ＳＥＮとＯＲ１の出力を入力するＯＲ回路ＯＲ２と、ＯＲ回路ＯＲ２の出力とＳＣＬＫを入力としＡＮＤ演算結果をＣＯＵＴとして出力するＡＮＤ回路ＡＮＤ３を備えている。ＯＲ２とＡＮＤ３はクロックゲーティングセルＣＧＣを構成している。
【００７９】
図８は、本発明の第２の実施例における回路の動作状況を示したタイミング図であり、テストクロック制御回路ＴＣ２３で出力したクロックＭＣＯＵＴ２３（図６参照）で駆動されるクロックドメインのみをスキャンパステストする場合のタイミング図である。
【００８０】
スキャンパステスト時のイネーブル信号ＳＥＮは、スキャンシフト期間中にはＨＩＧＨレベルとされ、スキャンキャプチャ期間中にはＬＯＷレベルとなる。
【００８１】
スキャンパステスト時のテストクロック信号ＳＣＬＫは、スキャンチェーンを構成する第１のテストクロック制御回路ＴＣ１１に内蔵されるスキャンフリップフロップＳＦＦと、第２のテストクロック制御回路ＴＣ１２に内蔵されるスキャンフリップフロップＳＦＦの２つをシフト動作させるため、スキャンシフト期間中に２クロックパルス供給する。
【００８２】
ここで、第３のテストクロック制御回路ＴＣ２３の出力ＭＣＯＵＴ２３で駆動されるクロックドメインのみをテストするためには、スキャンシフト期間中にテストクロックＳＣＬＫの１クロックパルス目で、シフト入力の最初の値“０”を第１のテストクロック制御回路ＴＣ１１に内蔵されるスキャンフリップフロップＳＦＦにシフト入力する。
【００８３】
次に、テストクロックＳＣＬＫの２クロックパルス目で、シフト入力の２番目の値“０”を第２のテストクロック制御回路ＴＣ１２に内蔵されるスキャンフリップフロップＳＦＦにシフト入力すると同時に、１クロックパルス目で第１のテストクロック制御回路ＴＣ１１に内蔵されるスキャンフリップフロップＳＦＦにシフト入力した値“０”を第２のテストクロック制御回路ＴＣ１２に内蔵されるスキャンフリップフロップＳＦＦにシフト入力する。
【００８４】
２つのクロックパルスの供給を行うことで、第１のテストクロック制御回路ＴＣ１１に内蔵されるスキャンフリップフロップＳＦＦには”０”、第２のテストクロック制御回路ＴＣ１２に内蔵されるスキャンフリップフロップＳＦＦには”０”がスキャンシフトの最終値としてセットされる。
【００８５】
次に、スキャンイネーブル信号ＳＥＮをＬＯＷレベルとし、スキャンキャプチャ期間に切り替える。
【００８６】
スキャンキャプチャ期間における第１のテストクロック制御回路ＴＣ１１の出力ＭＣＯＵＴ１は、第１のテストクロック制御回路ＴＣ１１に内蔵されるスキャンフリップフロップＳＦＦにシフト入力された値”０”と、スキャンイネーブル信号ＳＥＮの値＝ＬＯＷレベルにより、スキャンパステストクロックＳＣＬＫの伝播がカットされ、”０”となる。
【００８７】
第２のテストクロック制御回路ＴＣ１２の出力ＭＣＯＵＴ２も同様の動作により結果的に“０”となる。
【００８８】
一方、第３のテストクロック制御回路ＴＣ２３では、第１のテストクロック制御回路ＴＣ１１に内蔵のスキャンフリップフロップの値”０”と、第２のテストクロック制御回路ＴＣ１２に内蔵のスキャンフリップフロップの値“０”が、クロックゲーティングセルＳＣＧＣ２に入力される。クロックゲーティングセルＳＣＧＣ２において、ＡＮＤ２の出力がＨＩＧＨ、ＯＲ１、ＯＲ２の出力はＨＩＧＨレベルとなり、ＡＮＤ３の出力ＣＯＵＴからは、テストクロックＳＣＬＫが出力される。ＳＭＯＤＥがＨＩＧＨレベルであることから、クロック選択回路ＭＵＸＧはＣＯＵＴを選択出力する。テストクロックＳＣＬＫと同じクロックパルスがＭＣＯＵＴ２３に出力される。
【００８９】
なお、本実施例のテストクロック制御回路ＴＣ２３の構成では、クロックＭＣＯＵＴ１、ＭＣＯＵＴ２、ＭＣＯＵＴ２３で駆動する全てのクロックドメインを、同時にスキャンパステスト動作させることも可能である。
【００９０】
そのためには、第１のテストクロック制御回路ＴＣ１１に内蔵されるスキャンフリップフロップＳＦＦに対してスキャンシフトの最終値として“１”をシフト入力し、第２のテストクロック制御回路ＴＣ１２に内蔵されるスキャンフリップフロップＳＦＦに対してもスキャンシフトの最終値として“１”をシフト入力することにより、テストクロック制御回路ＴＣ２３に内蔵されるクロックゲーティングセルＳＣＧＣ２のＯＲ２の出力を”１”とする。クロックゲーティングセルＳＣＧＣ２において、ＡＮＤ１の出力がＨＩＧＨ、ＯＲ１、ＯＲ２の出力はＨＩＧＨレベルとなり、ＡＮＤ３の出力ＣＯＵＴからは、ＳＣＬＫが出力される。ＳＭＯＤＥがＨＩＧＨレベルであることから、ＭＵＸＧはＣＯＵＴを選択出力する。テストクロックＳＣＬＫと同じクロックパルスがＭＣＯＵＴ２３に出力される。
【００９１】
本発明の第２の実施例では、前記第１の実施例で示したものと同じく所望のクロックドメインについてのみスキャンパステストを実施することができるほか、第１、第２、第３のテストクロック制御回路中にスキャンフリップフロップを内蔵した構成と比較して、テストクロック制御回路が小さくできるという利点がある。
【００９２】
また、本発明の第２の実施例におけるテストクロック制御回路ＴＣ２３に内蔵するクロックゲーティングセルＳＣＧＣ２の論理ゲートを多入力の（例えばｎ個（ｎは３以上）のテストクロック制御回路のスキャンフリップフロップの出力をＤ１〜Ｄｎより入力する）デコード回路として構成することで、更に多くのユーザクロックを制御可能となる。
【００９３】
図９は、本発明における第３の実施例の構成を示す図である。前記第１の実施例と比較した場合、テストクロック制御回路の接続関係は同じであるが、テストクロック制御回路（ＴＣＬＫＣＴＬ３）ＴＣ３１、ＴＣ３２、ＴＣ３３の構成が相違している。
【００９４】
図１０は、本発明の第３の実施例におけるテストクロック制御回路ＴＣ３１、ＴＣ３２、ＴＣ３３の詳細な回路構成を示す図である。
【００９５】
前記第１の実施例におけるテストクロック制御回路（ＴＣＬＫＣＴＬ）では、クロックゲーティングＳＣＧＣの後段にクロック選択回路ＭＵＸＧが配置されていたが、本実施例では、図１０に示す通り、クロック選択回路ＭＵＸＧの後段にクロックゲーティングＳＣＧＣを配置するようにしてもよい。本実施例の動作は前記第１の実施例と同一であるためその説明は省略する。
【００９６】
図１１は、本発明の第４の実施例の構成を示す図である。図１１を参照すると、本実施例において、テストクロック制御回路（ＴＣＬＫＣＴＬ）ＴＣ１１のスキャン出力ＳＯＴは、レジスタ（スキャンフリップフロップ）ＳＦＦＧ１ａのシリアル入力ＳＩＮに入力され、レジスタ群ＳＦＦＧ１ａ〜ＳＦＦＧ１ｚとともにスキャンチェーンの一部を構成している。テストクロック制御回路（ＴＣＬＫＣＴＬ）ＴＣ２、ＴＣ３についても同様に、スキャン出力ＳＯＴは、それぞれのスキャンフリップフロップＳＦＦＧ２ａ、３ａのシリアル入力ＳＩＮに入力され、スキャンチェーンの一部を構成している。すなわち、テストクロック制御回路（ＴＣＬＫＣＴＬ）に内蔵されるスキャンフリップフロップＳＦＦは、テストクロック制御回路に内蔵されるスキャンフリップフロップＳＦＦ同士だけではなく、他の内部ロジックをテストするためのスキャンチェーンの一部として組み込む構成としても良い。なお、テストクロック制御回路（ＴＣＬＫＣＴＬ）ＴＣ１１のスキャンフリップフロップＳＦＦのデータ入力端子は、図４に示すようにデータ出力端子Ｑを帰還接続する代わりに、レジスタ群ＳＦＦＧ１ａ〜ＳＦＦＧ１ｚのデータ入力端子ＤＩＮ同様、内部ロジック回路（組み合わせ回路）の対応する出力に接続する構成としてもよい。
【００９７】
本発明は、従来スキャンパステストを行うテストクロック端子としてユーザモード時のクロック端子数と等しい数だけ設けることができない、小規模あるいはテスト端子数制限がある半導体集積回路においても、テストクロックライン上にクロックゲーティング構造とその出力値を制御可能なスキャンフリップフロップとを挿入し、スキャンフリップフロップをスキャンチェーンに組み込んだ上でスキャンシフトの最終シフト値によって任意の値をスキャンフリップフロップに設定することで、スキャンキャプチャ時にテストクロックを伝播させるか遮断するかを制御可能としたことで、所望のクロックドメインごとのスキャンパステストが行える様にした。従って、特定クロックドメインで発生した故障解析時の故障箇所特定の容易性向上や、特定クロックレートで動作するクロックドメインのみをテストすることが容易となる。
【００９８】
なお、図４、図１０に示したテストクロック制御回路（ＴＣＬＫＣＴＬ）の構成では、テストクロック制御回路（ＴＣＬＫＣＴＬ）に内蔵されるスキャンフリップフロップＳＦＦを初期値にセットする信号（ＳＦＦのＳＢ端子に接続される信号）としてスキャンパステストモード信号ＳＭＯＤＥが用いられているが、本発明は、かかる構成にのみ限定されるものではないことは勿論である。例えばスキャンパステストモード信号ＳＭＯＤＥとは別に、半導体集積回路装置の所定のテスト端子（例えばテスト時に用いられる端子）を、スキャンパスフリップフロップＳＦＦをセット又はリセットするための信号の入力端子に割り当て、この信号に基づき、テストクロック制御回路（ＴＣＬＫＣＴＬ）に内蔵されるスキャンフリップフロップＳＦＦの出力を”１”に設定するようにしてもよい。
【００９９】
また図３、図６、図９、図１１にそれぞれ示した上記各実施例では、スキャンパス時のテストクロックＳＣＬＫを入力する端子を１つ、ユーザクロックＵＣＬＫ１、ＵＣＬＫ２、ＵＣＬＫ３を入力する端子を３つとした例について説明したが、これは、ユーザクロックドメイン毎にテストクロック端子を設けることを必要とせず、ユーザクロックドメイン毎のスキャンパステストが実行可能なことを説明するため、テストクロック端子ＳＣＬＫを最大限縮減した具体例として１つの端子を例示したものであり、テストクロック端子の個数は、１つに限定されるものでないことは勿論である。すなわち、本発明においては、テストクロック端子は、ユーザクロックドメイン数よりも少なければよく、スキャンパス時のテストクロックＳＣＬＫを入力するテストクロック端子をさらに１つ別に設けた構成としてもよい。なお、本実施例によれば、半導体集積回路のテストクロック端子の個数（ピン数）を最小単位１にまで抑えながら複数のユーザクロックドメインのスキャンパステストが実行可能であるため、ピン数の縮減による製品コスト、不良の低減（歩留りの向上）効果が期待できるほか、ＬＳＩテスタによるテストにおいても、テスト用エレクトロニクスカードのテストクロック供給用の端子数（ピン数）を抑えることができ、例えば複数のＤＵＴ（Ｄｅｖｉｃｅ  Ｕｎｄｅｒ  Ｔｅｓｔ）を同時にテストする並列テスト等において有効である。
【０１００】
以上、本発明を上記実施例に即して説明したが、本発明は上記実施例の構成にのみ制限されるものでなく、本発明の範囲内で当業者であればなし得るであろう各種変形、修正を含むことは勿論である。
【図面の簡単な説明】
【０１０１】
【図１】特許文献１の構成を示す図である。
【図２】特許文献２の構成を示す図である。
【図３】本発明の第１の実施例の構成を示す図である。
【図４】本発明の第１の実施例のテストクロック制御回路の構成を示す図である。
【図５】本発明の第１の実施例の動作を示すタイミング図である。
【図６】本発明の第２の実施例の構成を示す図である。
【図７】本発明の第２の実施例のテストクロック制御回路の構成を示す図である。
【図８】本発明の第２の実施例の動作を示すタイミング図である。
【図９】本発明の第３の実施例の構成を示す図である。
【図１０】本発明の第３の実施例のテストクロック制御回路の構成を示す図である。
【図１１】本発明の第４の実施例の構成を示す図である。
【符号の説明】
【０１０２】
１０  集積回路
１４  低速ドメイン
１６  高速ドメイン
２０、２２、２８、３０  スキャナブルメモリ素子
２６  コアロジック
３２  スキャンチェーン
３４  高速ロジック
５２  補助テストコントローラ
５６  入力バス
１０１  入出力セル領域
１０２〜１１０  スキャンチェーングループ
１１１  スキャン入力セル
１１２  スキャン出力セル
１１３〜１２１  各スキャンチェーングループの重心
ＭＵＸＧ  クロック選択回路
ＣＧＣ、ＳＣＧＣ、ＳＣＧＣ２  クロックゲーティングセル
ＳＦＦ  スキャンフリップフロップ
ＳＦＦＧ１ａ〜ＳＦＦＧ１ｚ  レジスタ群（スキャンフリップフロップ群）
ＳＦＦＧ２ａ〜ＳＦＦＧ２ｚ  レジスタ群（スキャンフリップフロップ群）
ＳＦＦＧ３ａ〜ＳＦＦＧ３ｚ  レジスタ群（スキャンフリップフロップ群）
ＴＣ１１〜ＴＣ１３、ＴＣ２３、ＴＣ３１〜ＴＣ３３  テストクロック制御回路
【図１】
0004808051.tif 000002
【図２】
0004808051.tif 000003
【図３】
0004808051.tif 000004
【図４】
0004808051.tif 000005
【図５】
0004808051.tif 000006
【図６】
0004808051.tif 000007
【図７】
0004808051.tif 000008
【図８】
0004808051.tif 000009
【図９】
0004808051.tif 000010
【図１０】
0004808051.tif 000011
【図１１】
0004808051.tif 000012