(57)【特許請求の範囲】
【請求項１】
スキャン検査対象ロジック部（７）に、スキャン検査用のスキャンクロック信号と、データ経路を通常経路とするキャプチャモードと外部入出力経路とするシフトモードとを切り替えるスキャンモード信号と、スキャン入力データ信号と、を入力し、前記スキャン検査対象ロジック部からスキャン出力データ信号を出力する半導体集積回路（１）において、
スキャン検査用に時分割でスキャンモード信号とスキャン入力データ信号とスキャン出力データ信号となる検査データ入出力信号を第１の外部端子（２０）から入力し、第２の外部端子（２１）から入力するスキャン検査用の検査クロック信号に基づいて前記検査データ入出力信号の時分割の割り当てを管理し、前記管理により、前記スキャンクロック信号と前記スキャンモード信号と前記スキャン入力データ信号とへの復元、または前記スキャン出力データ信号の前記検査データ入出力信号への出力を行うスキャンパターン復元回路（６）と、を備え、
前記スキャンパターン復元回路は、
前記検査クロック信号に基づいて、前記検査データ入出力信号を前記スキャンモード信号に復元するモードセレクト状態、前記検査データ入出力信号を前記スキャン入力データ信号に出力するシフトイン状態、前記スキャン出力データ信号を前記検査データ入出力信号に出力するシフトアウト状態、前記キャプチャモードのキャプチャ状態、を時分割で制御する制御回路（１７）と、
前記シフトアウト状態時に前記スキャン出力データ信号を前記検査データ入出力信号に出力し、前記シフトアウト状態時以外に前記検査データ入出力信号を入力するデータ入出力回路（１６）と、
前記モードセレクト状態時の少なくとも一部の期間に前記検査データ入出力信号を取得し、前記モードセレクト状態時以外は取得した前記検査データ入出力信号を保持して前記スキャンモード信号に復元するモード選択回路（１８）と、
前記制御回路に基づいて、（ａ）前記キャプチャ状態時の少なくとも一部の期間、（ｂ）前記キャプチャ状態の次の状態遷移時の少なくとも一部の期間、（ｃ）前記シフトイン状態時の少なくとも一部の期間、（ｄ）前記シフトイン状態の次の状態遷移時の少なくとも一部の期間、のいずれかの期間に、前記検査クロック信号を前記スキャンクロック信号として出力制御するクロック選択回路（１９）と、を備え、
前記制御回路は、
前記シフトイン状態または前記シフトアウト状態の前記検査クロック信号の回数を計測するカウンタ回路（２４）を備え、
前記検査クロック信号に基づいて、前記検査データ入出力信号から状態遷移の繰り返し回数を設定するカウンタ設定状態を時分割で制御すると共に、前記カウンタ回路が前記繰り返し回数を満たすと、前記シフトイン状態または前記シフトアウト状態から前記モードセレクト状態へ遷移し、リセット後に前記カウンタ設定状態となることを特徴とする半導体集積回路。
【請求項２】
スキャン検査対象ロジック部（７）に、スキャン検査用のスキャンクロック信号と、データ経路を通常経路とするキャプチャモードと外部入出力経路とするシフトモードとを切り替えるスキャンモード信号と、スキャン入力データ信号と、を入力し、前記スキャン検査対象ロジック部からスキャン出力データ信号を出力する半導体集積回路（１）において、
スキャン検査用に時分割でスキャンモード信号とスキャン入力データ信号とスキャン出力データ信号となる検査データ入出力信号を第１の外部端子（２０）から入力し、第２の外部端子（２１）から入力するスキャン検査用の検査クロック信号に基づいて前記検査データ入出力信号の時分割の割り当てを管理し、前記管理により、前記スキャンクロック信号と前記スキャンモード信号と前記スキャン入力データ信号とへの復元、または前記スキャン出力データ信号の前記検査データ入出力信号への出力を行うスキャンパターン復元回路（６）と、を備え、
前記スキャンパターン復元回路は、
前記検査クロック信号に基づいて、前記検査データ入出力信号を前記スキャンモード信号に復元するモードセレクト状態、前記検査データ入出力信号を前記スキャン入力データ信号に出力するシフトイン状態、前記スキャン出力データ信号を前記検査データ入出力信号に出力するシフトアウト状態、前記キャプチャモードのキャプチャ状態、を時分割で制御する制御回路（１７）と、
前記シフトアウト状態時に前記スキャン出力データ信号を前記検査データ入出力信号に出力し、前記シフトアウト状態時以外に前記検査データ入出力信号を入力するデータ入出力回路（１６）と、
前記モードセレクト状態時の少なくとも一部の期間に前記検査データ入出力信号を取得し、前記モードセレクト状態時以外は取得した前記検査データ入出力信号を保持して前記スキャンモード信号に復元するモード選択回路（１８）と、
前記制御回路に基づいて、（ａ）前記キャプチャ状態時の少なくとも一部の期間、（ｂ）前記キャプチャ状態の次の状態遷移時の少なくとも一部の期間、（ｃ）前記シフトイン状態時の少なくとも一部の期間、（ｄ）前記シフトイン状態の次の状態遷移時の少なくとも一部の期間、のいずれかの期間に、前記検査クロック信号を前記スキャンクロック信号として出力制御するクロック選択回路（１９）と、を備え、
前記制御回路は、
前記シフトイン状態または前記シフトアウト状態の前記検査クロック信号の回数を計測するカウンタ回路（２４）を備え、
前記検査クロック信号に基づいて、前記検査データ入出力信号から状態遷移の繰り返し回数を設定するカウンタ設定状態を時分割で制御すると共に、前記カウンタ回路が前記繰り返し回数を満たすと、前記シフトイン状態または前記シフトアウト状態から前記モードセレクト状態へ遷移し、前記モードセレクト状態後に前記カウンタ設定状態となることを特徴とする半導体集積回路。
【請求項３】
前記制御回路は、
前記カウンタ回路のカウンタ値と前記カウンタ設定状態で設定された繰り返し回数に基づいて、前記シフトアウト状態と前記シフトイン状態を繰り返すことを特徴とする請求項１または２に記載の半導体集積回路。
【請求項４】
前記制御回路は、
前記シフトイン状態のみの繰り返し遷移、前記シフトアウト状態と前記シフトイン状態の繰り返し遷移、を切り替え可能であることを特徴とする請求項１または２に記載の半導体集積回路。
【請求項５】
前記制御回路は、
前記シフトアウト状態のみの繰り返し遷移を切り替え可能であり、
前記クロック選択回路は、
前記制御回路に基づいて、前記シフトアウト状態時の少なくとも一部の期間または前記シフトアウト状態の次の状態遷移時の少なくとも一部の期間に、前記検査クロック信号を前記スキャンクロック信号として出力制御することを特徴とする請求項４に記載の半導体集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、スキャン検査機能を備えた半導体集積回路に関する。
【背景技術】
【０００２】
半導体製品の小型、低コスト化の実現には、半導体集積回路のチップやパッケージのサイズの削減が必要である。一方で、半導体集積回路の品質を確保するためには、チップ内部を検査する外部端子が必要となり、サイズ増加の要因となり得る。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１３−２９５１５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
半導体集積回路の検査技術として、一般にスキャン検査手法が提供されている。スキャン検査を行うには、検査対象ロジック部の入力側と出力側に搭載されるフリップフロップをスキャンフリップフロップに置き換え、スキャン検査時にスキャンフリップフロップをシリアルに接続してスキャンチェーン（シフトレジタ）を形成する。そして、スキャンクロック信号を入力してスキャンチェーンをシフトすることにより、当該スキャンチェーンに記憶されている観測データをスキャン出力データ信号として順に出力すると同時に制御データをスキャン入力データ信号として順に入力することにより、スキャンチェーンに制御データを記憶すると共に観測データを記憶するようにしている（特許文献１参照）。
【０００５】
しかしながら、このようなスキャン検査を行うには、上述したスキャンモード信号、スキャンクロック信号、スキャン入力データ信号、スキャン出力データ信号を半導体集積回路に入出力するためにはスキャン検査用の外部端子として４本必要となり、半導体集積回路の外部端子数の増加の要因となっている。
【０００６】
本発明は上記事情に鑑みてなされたもので、その目的は、スキャン検査するために必要な外部端子数を削減することができる半導体集積回路を提供することにある。
【課題を解決するための手段】
【０００７】
本発明によれば、半導体集積回路に搭載されたスキャンパターン復元回路は、制御回路が検査クロック信号と検査データ入出力信号に基づいて検査データ入出力信号の時分割の割り当てを管理することで、スキャンモード信号、スキャンクロック信号、スキャン入力データ信号とに復元すると共に、スキャン出力データ信号を検査データ入出力信号に変換して外部に出力するので、スキャン検査に必要となる外部端子数は第１の外部端子と第２の外部端子との２本で済み、半導体集積回路の外部端子数を削減することができる。この場合、制御回路が検査データ入出力信号の時分割の割り当てを管理するので、端子用途の時分割切替を、外部から制御して、効率的にスキャンパターンを入出力することができる。
【図面の簡単な説明】
【０００８】
【図１】第１実施形態における半導体集積回路を示す機能ブロック図
【図２】スキャン検査対象ロジック部を示す論理回路図
【図３】クロック入力回路を示す電気回路図
【図４】データ入出力を示す電気回路図
【図５】モード選択回路の回路構成例を示す論理回路図
【図６】クロック選択回路の回路構成例を示す論理回路図
【図７】動作パターンの状態遷移を示す図
【図８】各信号を示すタイミング図
【図９】第２実施形態における制御回路の構成を示す機能ブロック図
【図１０】動作パターンの状態遷移を示す図
【図１１】第３実施形態における動作パターンの状態遷移を示す図
【図１２】第４実施形態におけるＳＩ状態のみを繰り返す動作パターンの状態遷移を示す図
【図１３】ＳＯ状態とＳＩ状態を繰り返す動作パターンの状態遷移を示す図
【図１４】ＳＯ状態のみを繰り返す動作パターンの状態遷移を示す図
【発明を実施するための形態】
【０００９】
（第１実施形態）
第１実施形態について図１から図８を参照して説明する。
スキャン検査システムは、図１に示すように、半導体集積回路１と検査装置２とから構成されており、スキャン検査時には半導体集積回路１と検査装置２とが電気的に接続される。検査装置２は、クロック出力回路３、検査回路４、データ入出力回路５を備えており、クロック出力回路３からはスキャン検査開始に応じて所定周期の検査クロック信号が半導体集積回路１に出力される。検査回路４は、テストモードの実行時はクロック出力回路３からの検査クロック信号に基づいてモード状態、制御データ、ハイインピーダンス状態の３つの状態を時分割で生成して検査データ入出力信号としてデータ入出力回路５に出力する。
【００１０】
検査回路４は、次の規則に従って検査データ入出力信号（図８の検査データ入出力信号（入力）参照）を生成してデータ入出力回路５に出力する。
（１）初期状態で検査データ入出力信号をハイレベルとする。このハイレベル状態は、後述するＴＭＳ（テストモードセレクト）が有効な状態を示している。
（２）ＴＭＳが有効となってから入力する検査クロック信号の立ち上がりでハイインピーダンスとする。このハイインピーダンス状態は、半導体集積回路１からの観測データを入力可能な状態である。
（３）ハイインピーダンスとなってから入力する検査クロック信号の立ち下がりで制御データに応じたレベル（図８に示すＴＤＩ）とする。つまり、制御データが１の場合はハイレベル、０の場合はローレベルとする。
（４）次に入力する検査クロック信号の立ち下がりでＴＭＳを継続する場合はハイレベル（ＴＭＳが有効な状態）とし、（２）〜（４）を繰り返す。
（５）ＴＭＳを終了する場合は、ＴＭＳが有効となってから入力する検査クロック信号の立ち下がりでローレベル（ＴＭＳが無効な状態）とする。
【００１１】
データ入出力回路５は、検査回路４から入力した検査データ入出力信号を半導体集積回路１に出力すると共に、検査データ入出力信号がハイインピーダンスの期間中に半導体集積回路１から入力した観測データを検査回路４に出力する。
検査回路４は、データ入出力回路５から入力した観測データが期待値か否かを検査するスキャン検査を実行する。
【００１２】
半導体集積回路１には、スキャンパターン復元回路６と、スキャン検査対象ロジック部７とが搭載されている。
スキャンパターン復元回路６は、後述するようにスキャンクロック信号、スキャンモード信号、スキャン入力データ信号をスキャン検査対象ロジック部７に出力すると共に、スキャン出力データ信号をスキャン検査対象ロジック部７から入力するように構成されている。スキャンクロック信号、スキャンモード信号、スキャン入力データ信号、スキャン出力データ信号は、従来と同一である。
【００１３】
スキャン検査対象ロジック部７は、図２に示すように、スキャンフリップフロップ８と、組合せロジック回路９とから構成されている。スキャンフリップフロップ８は、スキャン検査の対象となる組合せロジック回路９の機能を検査するためのものである。
【００１４】
スキャンフリップフロップ８は、組合せロジック回路９の入力側と出力側に搭載されるフリップフロップに置き換えられて搭載されているもので、スキャン検査時にスキャンフリップフロップをシリアルに接続してスキャンチェーンを形成するようになっている。スキャンフリップフロップ８は、マルチプレクサ１０とフリップフロップ１１とからなる単位セルＣｎ（ｎは正数）を複数組み合わせて構成されている。尚、図２では、説明の簡単化のために、入力側に単位セルＣｎとして第１〜３単位セルＣ１〜Ｃ３を配置し、出力側に単位セルＣｎとして第４，５単位セルＣ４，Ｃ５を配置したが、実際には数千〜数万の単位セルが配置されている。
【００１５】
第１〜３単位セルＣ１〜Ｃ３のマルチプレクサ１０の入力端子「０」には通常入力１〜３が入力する。この通常入力１〜３とは、半導体集積回路１の外部端子からの入力信号、或いは組合せロジック回路９の前段に位置する図示しないロジック部からの出力である。第４，５単位セルＣ４，Ｃ５のマルチプレクサ１０の入力端子「０」には組合せロジック回路９の出力が入力する。
【００１６】
スキャンフリップフロップ８の入力側にはディセーブル回路１２が設けられている。このディセーブル回路１２は、第１マルチプレクサ１３と第２マルチプレクサ１４とから構成されている。第１マルチプレクサ１３の入力端子「０」にはスキャンパターン復元回路６からスキャンモード信号が入力し、入力端子「１」には０固定（０レベル）が入力し、その出力はスキャンフリップフロップ８のマルチプレクサ１０の制御端子に入力する。第２マルチプレクサ１４の入力端子「０」にはスキャンパターン復元回路６からスキャンクロック信号が入力し、入力端子「１」には内部クロックが入力し、その出力はスキャンフリップフロップ８のフリップフロップ１１のクロック端子に入力する。内部クロックは半導体集積回路１を通常動作させるためのクロックである。第１マルチプレクサ１３及び第２マルチプレクサ１４の制御端子には通常モードが入力する。通常モードは半導体集積回路１を通常動作させるためのモードで、外部端子から直接入力したり、内部回路が所定状態となることに応じて入力するようになっている。
【００１７】
第１〜３単位セルＣ１〜Ｃ３のフリップフロップ１１の出力は組合せロジック回路９の入力端子に入力する。第４，５単位セルＣ４，Ｃ５のフリップフロップ１１の出力は後段に位置する図示しないロジック部に入力したり、外部端子に入力したりする。
【００１８】
第１単位セルＣ１のマルチプレクサ１０の入力端子「１」にはスキャンパターン復元回路６からのスキャン入力データ信号が入力する。第１〜４単位セルＣ１〜Ｃ４のフリップフロップ１１の出力が後段に位置する第２〜５単位セルＣ２〜Ｃ５のマルチプレクサ１０の入力端子「１」に入力する。そして、第５単位セルＣ５のフリップフロップ１１からはスキャン出力データ信号がスキャンパターン復元回路６に出力される。
【００１９】
次にスキャンパターン復元回路６について説明する。スキャンパターン復元回路６は、図１に示すように、クロック入力回路１５、データ入出力回路１６、制御回路１７、モード選択回路１８、クロック選択回路１９から構成されており、第１の外部端子２０と第２の外部端子２１と接続されている。第１の外部端子２０は検査装置２のデータ入出力回路５と接続され、第２の外部端子２１は検査装置２のクロック出力回路３と接続される。
【００２０】
クロック入力回路１５は、図３に示すようにバッファ１５ａから構成されており、検査装置２から第２の外部端子２１を介して入力する検査クロック信号を波形整形して出力する。
【００２１】
データ入出力回路１６は、図４に示すようにバッファ１６ａとスリーステートバッファ１６ｂとから構成されており、検査装置２から第１の外部端子２０を介して入力する検査データ入出力信号をバッファ１６ａで波形整形して制御回路１７、モード選択回路１８、クロック選択回路１９、スキャン入力データ信号へそれぞれ出力する。バッファ１６ａの入力端子にはスリーステートバッファ１６ｂからのスキャン出力データ信号が入力する。スリーステートバッファ１６ｂは通常は出力がハイインピーダンスであり、後述するように制御回路１７がＳＯ状態でスキャン出力データ信号を第１の外部端子２０に波形整形して出力する。
【００２２】
制御回路１７は、図１に示すようにデータ入出力回路１６のバッファ１６ａからのスキャン入力データ信号、及びクロック入力回路１５からの検査クロック信号が入力するようになっており、以下の規則に従って図７及び図８に示すように動作パターンを遷移する。
（１）リセット後の初期状態はＭＳ（モードセレクト）状態とする。
（２）検査データ入出力信号のＴＭＳが有効な状態で入力する検査クロック信号の立ち上がりでＳＯ（シフトアウト）状態とする。
（３）ＳＯ状態で入力する検査クロック信号の立ち上がりでＳＩ（シフトイン）状態とする。
（４）ＳＩ状態で入力する検査クロック信号の立ち上がりでＭＳ状態とする。
（５）ＭＳ状態で入力する検査クロック信号の立ち上がりで検査データ入出力信号のＴＭＳの有効状態が継続している場合は、（２）〜（５）を繰り返す。
（６）検査データ入出力信号のＴＭＳが無効となっている状態では検査クロック信号が立ち上る毎にＣＰ（キャプチャ）状態とする。
【００２３】
モード選択回路１８は、図５に示すようにマルチプレクサ１８ａとフリップフロップ１８ｂとから構成されている。マルチプレクサ１８ａの入力端子「１」にはデータ入出力回路１６のバッファ１６ａからの検査データ入出力信号が入力し、入力端子「０」にはフリップフロップ１８ｂからのスキャンモード信号が入力するようになっており、通常時は入力端子「０」の入力レベルを出力し、制御回路１７がＭＳ状態では入力端子「１」の入力レベルを出力する。フリップフロップ１８ｂのデータ入力端子にはマルチプレクサ１８ａの出力が入力し、クロック端子にはクロック入力回路１５からの検査クロック信号が入力する。フリップフロップ１８ｂは、検査クロック信号が立ち上がる毎にデータ入力端子の入力レベルを出力する。つまり、モード選択回路１８は、制御回路１７がＭＳ状態において検査クロック信号が立ち上がるタイミングでの検査データ入出力信号が示すＴＭＳが有効／無効を保持する保持回路として機能する。尚、初期状態ではフリップフロップ１８ｂからローレベルが出力されている。
【００２４】
クロック選択回路１９は、図６に示すようにＯＲ回路１９ａ、第１のフリップフロップ１９ｂ、第２のフリップフロップ１９ｃ、３入力のＡＮＤ回路１９ｄから構成されている。ＯＲ回路１９ａの入力端子には制御回路１７がＳＩ状態またはＣＰ状態で「１」が入力する。第１のフリップフロップ１９ｂのデータ入力端子にはＯＲ回路１９ａの出力が入力し、クロック入力端子にはクロック入力回路１５の出力が負論理で入力する。第１のフリップフロップ１９ｂは、制御回路１７がＳＩ状態またはＣＰ状態で入力する検査クロック信号が立ち下がってからＳＩ状態及びＣＰ状態以外の状態で入力する検査クロック信号の立ち下がりまでハイレベルを出力する。第２のフリップフロップ１９ｃのデータ入力端子にはＯＲ回路１９ａの出力が入力し、クロック入力端子にはクロック入力回路１５からの検査クロック信号が入力する。第２のフリップフロップ１９ｃは、制御回路１７がＳＩ状態またはＣＰ状態で入力する検査クロック信号が立ち上がってからＳＩ状態及びＣＰ状態以外の状態で入力する検査クロック信号の立ち上がりまでハイレベルを出力する。ＡＮＤ回路１９ｄの入力端子には第１のフリップフロップ１９ｂの出力、第２のフリップフロップ１９ｃの出力、クロック入力回路１５からの検査クロック信号が入力する。ＡＮＤ回路１９ｄは、第１のフリップフロップ１９ｂ及び第２のフリップフロップ１９ｃの出力がハイレベルな状態で入力する検査クロック信号をスキャンクロック信号として出力する。
【００２５】
次に上記構成の作用について説明する。
半導体集積回路１は電源投入後の初期状態では通常モードが有効となっている。スキャンフリップフロップ８は、通常モードの有効状態ではディセーブル（無効化）となり、半導体集積回路１の通常動作に影響を与えないようになっている。つまり、通常モードの有効状態ではディセーブル回路１２の第１マルチプレクサ１３の入力端子「１」が有効であり、スキャンフリップフロップ８の全てのマルチプレクサ１０の制御端子には０固定が入力しているので、マルチプレクサ１０の入力端子「０」が有効となり、通常入力１〜３がフリップフロップ１１に入力している。一方、第２マルチプレクサ１４の入力端子「１」が有効となり、スキャンフリップフロップ８の全てのフリップフロップ１１のクロック端子には内部クロックが入力しているので、内部クロックに応じて通常入力１〜３が組合せロジック回路９に入力している。つまり、半導体集積回路１は通常動作可能となっている。
【００２６】
さて、製造した半導体集積回路１を検査する場合は、半導体集積回路１に検査装置２を配線により接続する。つまり、検査装置２のクロック出力回路３とスキャンパターン復元回路６のクロック入力回路１５と第２の外部端子２１とを接続すると共に、検査装置２のデータ入出力回路５と第１の外部端子２０とを接続する。この接続状態で通常モードを無効状態とすると、スキャンフリップフロップ８がイネーブル（有効）となるので、スキャンパターン復元回路６からのスキャンモード信号及びスキャンクロック信号がスキャンフリップフロップ８に出力可能な状態となる。
検査装置２を動作させると、図８に示すように検査データ入出力信号をＴＭＳが有効な状態（ハイレベル）で検査クロック信号が出力される。
【００２７】
以下、スキャンパターン復元回路６の動作について説明する。
制御回路１７は初期状態ではＭＳ状態となっているので、モード選択回路１８は、最初に入力する検査クロック信号でスキャンモード信号をディセーブル回路１２の第１マルチプレクサ１３に出力する。この場合、第１マルチプレクサ１３は入力端子「０」が有効となっているので、スキャンモード信号をスキャンフリップフロップ８に出力する。これにより、スキャンフリップフロップ８の全てのマルチプレクサ１０はスキャンモード信号が入力するのに応じて入力端子を「０」から「１」に切替えるので、第１単位セルＣ１のマルチプレクサ１０はスキャンパターン復元回路６からのスキャン入力データ信号を選択し、第２〜５単位セルＣ２〜Ｃ５のマルチプレクサ１０は前段の第１〜４単位セルＣ１〜Ｃ４のフリップフロップ１１からの出力を受けるようになるので、各単位セルＣｎによりスキャンチェーンが形成される。このとき、スキャンフリップフロップ８の出力段となる第５単位セルＣ５のフリップフロップ１１からは当該フリップフロップ１１に記憶されているデータがスキャン出力データ信号としてデータ入出力回路１６に出力されている。
【００２８】
一方、制御回路１７は、検査開始から最初に入力する検査クロック信号の立ち上がりでＳＯ（シフトアウト）状態となるので、データ入出力回路１６からＴＤＯのタイミングで第５単位セルＣ５のフリップフロップ１１に記憶されているデータがスキャン出力データ信号として第１の外部端子２０を介して検査装置２に出力される。このとき、スキャン出力データ信号の出力期間では検査データ入出力信号がハイインピーダンスとなっているので、スキャン入力データ信号及びスキャン出力データ信号が不安定となることはない。
【００２９】
制御回路１７は、次に入力する検査クロック信号に応じて内部状態をＳＩ状態とする。クロック選択回路１９は、ＳＩ状態では、次に入力する検査クロック信号に同期したスキャンクロック信号を出力する。すると、スキャンフリップフロップ８がシフトして第１単位セルＣ１のフリップフロップ１１に新たな制御データが記憶されると同時に第１〜４単位セルＣ１〜Ｃ４のフリップフロップ１１に記憶されている制御データが後段の第２〜５単位セルＣ２〜Ｃ５のフリップフロップ１１に記憶されるようになる。
【００３０】
以上のような動作が制御データの数に応じて行われる結果、第１〜３単位セルＣ１〜Ｃ３のフリップフロップ１１には制御データが記憶されるようになるので、組合せロジック回路９にはそれらのフリップフロップ１１から制御データが与えられるようになる。すると、組合せロジック回路９はそれらの制御データの入力に応じた論理出力を第４，５単位セルＣ４，Ｃ５のマルチプレクサ１０を介してフリップフロップ１１に出力するようになる。同時に、第５単位セルＣ５のフリップフロップ１１からは観測データが順に出力されるようになるので、検査装置２は、観測データが期待値か否かを判断することにより組合せロジック回路９を検査することができる。
【００３１】
検査データ入出力信号のＴＭＳが無効（ローレベル）となると、モード選択回路１８からのスキャンモード信号が停止し、制御回路１７がＣＰ状態となる毎にスキャンクロック信号が出力されるので、組合せロジック回路９からの論理出力が第４，５単位セルＣ４，Ｃ５のフリップフロップ１１に観測データとして記憶されるようになる。
【００３２】
このような実施形態によれば、次のような効果を奏することができる。
半導体集積回路１は、検査装置２から検査データ入出力信号と検査クロック信号とを入力してスキャンパターン復元回路６でスキャンモード信号、スキャンクロック信号、スキャン入力データ信号を復元すると共に、観測データをスキャン出力データ信号としてスキャンパターン復元回路６から検査装置２に出力するようにしたので、半導体集積回路１においてスキャン検査に必要な外部端子数を第１の外部端子２０と第２の外部端子２１の２本で済み、半導体集積回路１の外部端子数を削減することができる。
【００３３】
（第２実施形態）
第２実施形態について図９及び図１０を参照して説明する。第１実施形態では、ＭＳ状態、ＳＯ状態、ＳＩ状態を順に繰り返して実行する動作パターンとなっているが、本実施形態は、ＭＳ状態からＳＯ状態へ移行した後は、ＳＯ状態とＳＩ状態とを交互に繰り返して実行する動作パターンとなっていることを特徴とする。
【００３４】
図９に示すように、制御回路２２は、状態遷移回路２３とカウンタ回路２４とから構成されている。状態遷移回路２３は、第１実施形態の制御回路１７と同様な動作するもので、本実施形態で新規に設けたカウンタ回路２４と区別して機能として名称化したものである。状態遷移回路２３は、ＭＳ状態からＳＯ状態へ移行した後は、ＳＯ状態とＳＩ状態とをカウンタ値の回数だけ交互に繰り返す。
【００３５】
具体的には、半導体集積回路１に対してスキャン検査を指示した状態で当該半導体集積回路１をリセットして初期化すると、図１０に示すように、状態遷移回路２３は、リセット後にＣＳ（カウンタセット）状態となりカウンタ値（ＣＮＴ）の設定待機状態となる。このＣＳ状態で例えば８回分の検査クロック信号に基づいて作成したカウンタ値設定用の検査データ入出力信号（例えば２進数で「００１１００１０」（１０進数で５０））を半導体集積回路１に与えると、状態遷移回路２３は、検査データ入出力信号（８ビット）の１ビット目を最初に取得したところで、取得した値をカウンタ回路２４にカウンタ値の１ビット目の値として記憶する。このＣＳ状態は所定回数（検査クロック信号８回分）繰り返され、カウンタ回路２４に１〜８ビット目の値を順に記憶することにより８ビットのカウンタ値を設定したところでＭＳ状態へ移行する。このとき、ＭＳ状態はハイレベルであることから、ＳＯ状態へ移行してからＳＩ状態へ移行し、カウンタ値が０でない場合は、カウンタ値をデクリメントした上でＳＯ状態へ移行し、以後、ＣＳ状態で設定したカウンタ値が０でないことを条件としてＳＯ状態とＳＩ状態とを交互に繰り返す。そして、ＳＯ状態とＳＩ状態との交互の繰り返しによりカウンタ値が減少して０になると、ＭＳ状態へ移行し、以後、第１実施形態と同様にＣＰ状態を実行してからＭＳ状態へ移行する。
【００３６】
尚、ＳＩ状態ではカウンタ値が０か否かの判定後にカウンタ値をデクリメントすることから、最初のＳＩ状態ではＳＯ状態からＳＩ状態へ既に１回移行した状態でカウンタ値を初めてデクリメントすることになる。このため、カウンタ値を設定する場合は、カウンタ値を最初にデクリメントする以前にＳＯ状態からＳＩ状態へ移行した１回分を考慮して設定する必要がある。
【００３７】
このような実施形態によれば、状態遷移回路２３は、ＭＳ状態からＳＯ状態へ移行した場合は、ＭＳ状態へ戻ることなくＳＯ状態とＳＩ状態とをカウンタ値の回数だけ交互に繰り返して実行するので、第１実施形態に比較して、スキャン検査時間の短縮を図ることができる。
【００３８】
（第３実施形態）
第３実施形態について図１１を参照して説明する。第２実施形態では、状態遷移回路２３は、電源投入時のリセット時にＣＳ状態となっていたが、本実施形態では、ＭＳ状態後にＣＳ状態となることを特徴とする。
【００３９】
即ち、状態遷移回路２３は、リセット後にＭＳ状態からＣＳ状態へ移行し、このＣＳ状態を所定回数実行することにより、第２実施形態と同様にカウンタ値を設定してから、ＳＯ状態とＳＩ状態とをカウンタ値の回数だけ交互に繰り返し、ＣＳ状態で設定したカウンタ値が０となると、ＭＳ状態へ移行する。
【００４０】
このような実施形態によれば、スキャン検査対象ロジック部７を複数のブロック毎に分割してスキャン検査することができる。つまり、第２実施形態では、スキャン検査対象ロジック部７全体を一度にスキャン検査する構成であることからカウンタ値はスキャン検査対象ロジック部７全体に応じた値となるが、スキャン検査対象ロジック部７が大規模の場合には、スキャン検査対象ロジック部７を複数のブロック毎に分割してそれぞれ独立して検査することが適している場合があり、そのような場合は、分割したブロックの大きさに応じたカウンタ値を設定することで、スキャン検査対象ロジック部７を効率良くスキャン検査することができる。
【００４１】
（第４実施形態）
第４実施形態について図１２を参照して説明する。第２実施形態では、ＭＳ状態後の動作パターンはＳＯ状態とＳＩ状態とを交互に繰り返して実行する動作パターンに固定されているが、本実施形態は、ＭＳ状態後に複数の動作パターンから一の動作パターンを選択して実行可能としたことを特徴とする。
【００４２】
即ち、状態遷移回路２３は、第２実施形態と同様に、電源投入時のリセット時にＣＳ状態となり、このＣＳ状態を第１所定回数（第２実施形態の所定回数に相当）繰り返すことによりカウンタ値を設定してから、ＭＳ状態へ移行し、このＭＳ状態で複数の動作パターンから一の動作パターンを設定するようになっている。つまり、図１２に示すように、ＭＳ状態はＭＳ１状態（第２実施形態のＭＳ状態に相当）とＭＳ２状態とから構成されており、ＣＳ状態からＭＳ１状態を経てＭＳ２状態へ移行すると、このＭＳ２状態で動作パターン値の設定待機状態となる。この動作パターン値とは、後述する動作パターンを示すものである。ＭＳ２状態で例えば２回分の検査クロック信号に基づいて作成した動作パターン値設定用の検査データ入出力信号（２ビット）を半導体集積回路１に与えると、状態遷移回路２３は、検査データ入出力信号（２ビット）の１ビット目を最初に取得したところで、取得した値を図示しない判定用メモリに動作パターン値の１ビット目の値として記憶する。このＭＳ２状態は第２所定回数（検査クロック信号２回分）繰り返され、判定用メモリに１，２ビット目の値を順に記憶することにより２ビットの動作パターン値を設定すると、動作パターン値に基づいて以下の動作パターンを実行する。
【００４３】
（１）第１動作パターン
第１動作パターンは動作パターン値が２進数で「００」の場合に実行するもので、ＭＳ２状態からＳＩ状態へ移行してＳＩ状態を連続して実行し、ＣＳ状態で設定したカウンタ値が０となったところでＭＳ１状態へ移行する。つまり、この第１動作パターンは、ＳＩ状態のみをカウンタ値の回数だけ繰り返すことを特徴とする。
【００４４】
（２）第２動作パターン
第２動作パターンは動作パターン値が２進数で「０１」の場合に実行するもので、ＭＳ２状態からＳＯ状態へ移行してＳＯ状態とＳＩ状態とを交互に繰り返し、ＣＳ状態で設定したカウンタ値が０となったところでＭＳ１状態へ移行する（第２実施形態と同一の動作パターン）。つまり、この第２動作パターンは、ＳＯ状態とＳＩ状態とをカウンタ値の回数だけ交互に繰り返すことを特徴とする。
【００４５】
（３）第３動作パターン
第３動作パターンは動作パターン値が２進数で「１０」の場合に実行するもので、ＭＳ２状態からＳＯ状態へ移行してＳＯ状態を連続して実行し、ＣＳ状態で設定したカウンタ値が０となったところでＭＳ１状態へ移行する。つまり、この第３動作パターンは、ＳＯ状態のみをカウンタ値の回数だけ繰り返すことを特徴とする。
【００４６】
このような実施形態によれば、複数の動作パターンから所望の動作パターンを選択してスキャン検査することができるので、スキャン検査対象ロジック部７の構成に応じた適切な動作パターンを選択してスキャン検査することができ、スキャン検査が可能となるスキャン検査対象ロジック部７の適用範囲を拡大することができる。
【００４７】
尚、第３実施形態と同様に、ＭＳ１状態後にＣＳ状態へ移行し、このＣＳ状態でカウンタ値を設定するようにしても良い。このような構成によれば、第３実施形態と同様に、スキャン検査対象ロジック部７を複数に分割したブロック毎に効率良くスキャン検査することができる。
また、ＭＳ状態からＣＰ状態への移行を一動作パターンとして定義し、ＭＳ１状態とＭＳ２状態とを統合しても良い。
【００４８】
（その他の実施形態）
本発明は、上記実施形態に限定されることなく、次のように変形または拡張しても良い。
検査データ入出力信号のＴＭＳはローレベルで有効、ハイレベルで無効としても良い。
検査データ入出力信号は図８に示す信号に限定されることはないし、スキャンパターン復元回路も図１に示す電気回路に限定されることはない。要するに、検査データ入出力信号と検査クロック信号とに基づいてスキャンモード信号、スキャンクロック信号、スキャン入力データ信号を復元すると共に、スキャン出力データ信号を検査データ入出力信号に重畳できれば良い
【符号の説明】
【００４９】
図面中、１は半導体集積回路、６はスキャンパターン復元回路、７はスキャン検査対象ロジック部、８はスキャンフリップフロップ、１６はデータ入出力回路、１７は制御回路、１８はモード選択回路、１９はクロック選択回路、２０は第１の外部端子、２１は第２の外部端子、２２は制御回路、２４はカウンタ回路である。
【図１】
0006459806.tif 000002
【図２】
0006459806.tif 000003
【図３】
0006459806.tif 000004
【図４】
0006459806.tif 000005
【図５】
0006459806.tif 000006
【図６】
0006459806.tif 000007
【図７】
0006459806.tif 000008
【図８】
0006459806.tif 000009
【図９】
0006459806.tif 000010
【図１０】
0006459806.tif 000011
【図１１】
0006459806.tif 000012
【図１２】
0006459806.tif 000013
【図１３】
0006459806.tif 000014
【図１４】
0006459806.tif 000015