(57)【要約】      （修正有）【課題】  スキャンテスト時に瞬間的に流れる大電流を大幅に低減する。【解決手段】  データ入力端子Ｄ、スキャンデータ入力端子ＳＩ、データ又はスキャンデータの入力を選択するシフトイネーブル信号が入力されるシフトイネーブル信号入力端子ＳＥ、クロックパルス入力端子ＣＰ、データ出力端子Ｑ、スキャンデータ出力端子ＳＯ、シフトイネーブル信号に応じた出力イネーブル信号が入力される出力イネーブル端子ＯＥとを有するｎ個のフリップフロップであって前段のフリップフロップのスキャンデータ出力端子が後段のフリップフロップのスキャンデータ入力端子に直列に接続されてｎ段のチェーンを形成するフリップフロップと、少なくとも１つのフリップフロップのデータ出力端子に入力側が接続され、少なくとも１つのフリップフロップのデータ入力端子に出力側が接続された組み合わせ回路とを備える。【選択図】  図１
2006337256.tif 000002
【特許請求の範囲】
【請求項１】
データが入力されるデータ入力端子と、
スキャンデータが入力されるスキャンデータ入力端子と、
データ選択値を有する場合に前記データ入力端子からの前記データの入力を選択して保持させ、スキャンデータ選択値を有する場合に前記スキャンデータ入力端子からの前記スキャンデータの入力を選択して保持させるシフトイネーブル信号が入力されるシフトイネーブル信号入力端子と、
クロックパルスが入力されるクロックパルス入力端子と、
前記データ又は前記スキャンデータを出力するデータ出力端子と、
前記データ又は前記スキャンデータを出力するスキャンデータ出力端子と、
出力イネーブル値を有する場合に、保持した前記データ又は前記スキャンデータを前記データ出力端子及び前記スキャンデータ出力端子から出力させ、出力ディスイネーブル値を有する場合に、保持した前記データ又は前記スキャンデータを前記スキャンデータ出力端子のみから出力させる出力イネーブル信号が入力される出力イネーブル端子とを有するｎ（ｎは２以上の整数）個のフリップフロップであって、前段の前記フリップフロップの前記スキャンデータ出力端子が後段の前記フリップフロップの前記スキャンデータ入力端子に直列に接続されてｎ段のチェーンを形成する前記フリップフロップと、
少なくとも１つの前記フリップフロップの前記データ出力端子に入力側が接続され、少なくとも１つの前記フリップフロップの前記データ入力端子に出力側が接続された組み合わせ回路と、
を備えることを特徴とする半導体集積回路。
【請求項２】
前記シフトイネーブル信号が前記スキャンデータ選択値を有し、前記出力イネーブル信号が出力ディスイネーブル値を有する場合、スキャンデータが第１段目の前記フリップフロップの前記スキャンデータ入力端子に入力されて前記スキャンデータ出力端子から出力されて前記クロックパルスに同期して順次第ｎ段目の前記フリップフロップまで転送されていき、第１段目から第ｎ段目のフリップフロップに前記スキャンデータが入力されて保持され、前記フリップフロップのそれぞれの前記データ出力端子からは前記スキャンデータは出力されない状態にあり、
前記出力イネーブル信号が前記出力イネーブル値を有する場合、それぞれの前記フリップフロップの前記データ出力端子から前記スキャンデータが出力され、このうち前記組み合わせ回路の入力側に前記データ出力端子が接続された前記フリップフロップから出力された前記スキャンデータが前記組み合わせ回路に与えられ、前記組み合わせ回路が動作して前記データ出力端子から演算結果を出力し、前記シフトイネーブル信号が前記データ選択値を有し、前記クロックパルスを与えられると、前記フリップフロップのうち前記組み合わせ回路の出力側に前記データ入力端子が接続された前記フリップフロップに前記演算結果が前記クロックパルスに同期して与えられて保持され、
前記シフトイネーブル信号が前記スキャンデータ選択値を有する場合、第１段目から第ｎ段目の前記フリップフロップへそれぞれの前記スキャンデータ出力端子、前記スキャンデータ入力端子を介して前記クロックパルスに同期してそれぞれの前記フリップフロップが保持していた内容が順次転送されていくことで、前記演算結果が外部へ出力されることを特徴とする請求項１記載の半導体集積回路。
【請求項３】
前記フリップフロップは、
前記データ入力端子と、前記スキャンデータ入力端子と、前記シフトイネーブル信号入力端子とに接続され、前記シフトイネーブル信号に基づいて、前記データ入力端子から入力される前記データと前記スキャンデータ入力端子から入力される前記スキャンデータのいずれか一方を選択する選択部と、
前記選択部から出力された前記データ又は前記スキャンデータを前記クロックパルスに同期して与えられて保持し、出力ノードから出力するレジスタと、
前記出力ノードと、前記出力イネーブル信号入力端子と、前記データ出力端子と、前記スキャンデータ出力端子とに接続され、前記出力イネーブル信号の値にかかわらず前記レジスタの前記出力ノードから与えられた出力を前記スキャンデータ出力端子から出力し、前記出力イネーブル信号が前記出力イネーブル値を有する場合にのみ前記レジスタの前記出力ノードから与えられた出力を前記データ出力端子から出力する出力部と、
を備えることを特徴とする請求項１又は２記載の半導体集積回路。
【請求項４】
前記出力部は、
前記第２の出力端子に入力端子が接続された第１のインバータと、
前記第１のインバータの出力端子に一方の端子が接続され、前記出力イネーブル信号が前記出力イネーブル値を有するときオンする第１のアナログスイッチと、
前記第１のアナログスイッチの出力端子に一方の端子が接続され、前記データ出力端子に他方の端子が接続された第２のインバータと、
前記第２のインバータの前記他方の端子に入力端子が接続された第３のインバータと、
前記第３のインバータの出力端子に一方の端子が接続され、前記第１のアナログスイッチの前記他方の端子に他方の端子が接続され、前記出力イネーブル信号が前記出力ディスイネーブル値を有するときオンする第２のアナログスイッチと、
を有することを特徴とする請求項３記載の半導体集積回路。
【請求項５】
前記出力部は、
前記第２の出力端子に一方の入力端子が接続され、前記出力イネーブル信号が他方の入力端子に入力され、前記データ出力端子に出力端子が接続された二入力論理回路を有することを特徴とする請求項３記載の半導体集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は半導体集積回路であって、スキャン回路を有する半導体集積回路に関する。
【背景技術】
【０００２】
半導体集積回路における故障検出率を高めるためのテスト容易化手法として、スキャン回路が幅広く使用されている。テスト対象となる組み合わせ回路の入力側と出力側とに、スキャン回路として複数のフリップフロップをそれぞれ配置する。ここで、スキャン回路は、前段のフリップフロップのスキャンデータ出力端子が次段のフリップフロップのスキャンデータ入力端子に接続された複数のフリップフロップから成るスキャンチェーン構造を有する。
【０００３】
通常のシステム動作とテスト動作とを切り替えるためにシフトイネーブル信号が用いられ、シフトイネーブル信号が例えばローレベルの時に、クロックパルスの立ち上がりに同期してフリップフロップのデータ入力端子からデータが入力されて保持され、データ出力端子から出力される。
【０００４】
一方、シフトイネーブル信号がハイレベルの時には、クロックパルスの立ち上がりに同期してフリップフロップのスキャンデータ入力端子からスキャンデータが入力されて保持され、その値がスキャンデータ出力端子及びデータ出力端子から出力される。クロックパルスの立ち下り時には、データ出力端子の値は変化しない。
【０００５】
スキャンテストは、以下の３段階の動作にて組み合わせ回路のテストを行う手法である。
【０００６】
（ａ）シフトイネーブル信号をハイレベルにしてテスト動作に設定し、スキャンチェーンを構成する各フリップフロップにシリアルにスキャンデータを転送していき、保持させる。
【０００７】
（ｂ）シフトイネーブル信号をローレベルにしてシステム動作に切り替え、各フリップフロップに保持されたスキャンデータをそれぞれデータ出力端子から出力して組み合わせ回路に与えて、システム動作を行わせる。クロックパルスを１回各フリップフロップに与えて、組み合わせ回路からの出力を各フリップフロップのデータ入力端子に入力して取り込む。
【０００８】
（ｃ）シフトイネーブル信号をハイレベルにしてテスト動作に切り替え、各フリップフロップに取り込んだ組み合わせ回路からの出力データを、シリアルにスキャンデータ出力端子から外部へ出力させ、期待値と比較して故障を検出する。
【０００９】
しかしながら、従来のスキャン回路では、テストを行う際に同時に多くの回路が動作して消費電流が大きいという問題があった。
【００１０】
多くの回路が動作することにより平均電流が大きいという問題もあるが、より大きい問題はクロックパルスのエッジに同期していることにより瞬時に大電流が流れることにあった。
【００１１】
特に、スキャンデータをフリップフロップに入力して保持するシフトイン時、並びに組み合わせ回路から出力されたデータをフリップフロップに保持した後、外部へ出力するシフトアウト時には、クロックパルス毎に不要なスイッチングが発生して大電流が流れていた。
【００１２】
また、シフトイン、シフトアウト動作自体が不要なスイッチング動作であるばかりか、殆どの回路が同時に動作するためにゲート遅延によるグリッジが発生して、不要な電流が流れていた。
【００１３】
このように、従来は同時に全ての回路が動作することによる消費電流の他に、グリッジにより不要な回路動作を伴って電流を無駄に消費するため、通常の動作に比べて異常に多くの電流を消費していた。
【００１４】
ところで、半導体集積回路の初期不良をスクリーニングするバーイン工程では、バーイン中の活性化率を高める目的でスキャン回路を動作させるのが一般的である。
【００１５】
バーイン時には、一枚のバーインボード上に多数の半導体集積回路を搭載してスキャンテストを行う。このため、テスト中に大電流が流れるとバーイン装置の電流容量を超えて正常なテストを行うことができないという深刻な問題があった。
【００１６】
この問題を緩和するため、回路ブロック毎に異なるスキャンクロックを供給し、組み合わせ回路の全ての回路が同時に動作しないようにする技術も提案されている。しかし、低減できる電流量は、分割して動作させる回路ブロックの数程度分である。このため、このような技術を採用したとしても、依然として大規模な半導体集積回路ではバーイン時に正常なテストを行うことができないという問題があった。
【００１７】
以下に、従来のスキャン回路に関する技術を開示する文献名を記載する。
【特許文献１】特開平１０−１９７６０３号公報
【発明の開示】
【発明が解決しようとする課題】
【００１８】
本発明は上記事情に鑑み、スキャンテスト時に流れる平均電流、並びに特に瞬時に流れる大電流を大幅に低減することが可能な半導体集積回路を提供することを目的とする。
【課題を解決するための手段】
【００１９】
本発明の一態様による半導体集積回路は、
データが入力されるデータ入力端子と、
スキャンデータが入力されるスキャンデータ入力端子と、
データ選択値を有する場合に前記データ入力端子からの前記データの入力を選択して保持させ、スキャンデータ選択値を有する場合に前記スキャンデータ入力端子からの前記スキャンデータの入力を選択して保持させるシフトイネーブル信号が入力されるシフトイネーブル信号入力端子と、
クロックパルスが入力されるクロックパルス入力端子と、
前記データ又は前記スキャンデータを出力するデータ出力端子と、
前記データ又は前記スキャンデータを出力するスキャンデータ出力端子と、
出力イネーブル値を有する場合に、保持した前記データ又は前記スキャンデータを前記データ出力端子及び前記スキャンデータ出力端子から出力させ、出力ディスイネーブル値を有する場合に、保持した前記データ又は前記スキャンデータを前記スキャンデータ出力端子のみから出力させる出力イネーブル信号が入力される出力イネーブル端子とを有するｎ（ｎは２以上の整数）個のフリップフロップであって、前段の前記フリップフロップの前記スキャンデータ出力端子が後段の前記フリップフロップの前記スキャンデータ入力端子に直列に接続されてｎ段のチェーンを形成する前記フリップフロップと、
少なくとも１つの前記フリップフロップの前記データ出力端子に入力側が接続され、少なくとも１つの前記フリップフロップの前記データ入力端子に出力側が接続された組み合わせ回路と、
を備えることを特徴とする。
【発明の効果】
【００２０】
本発明の半導体集積回路によれば、スキャンテスト時に流れる平均電流、特に瞬時に流れる電流を大幅に低減することが可能である。
【発明を実施するための最良の形態】
【００２１】
以下、本発明の実施の形態について図面を参照して説明する。
【００２２】
（１）実施の形態１
本発明の実施の形態１による半導体集積回路において、スキャン回路と組み合わせ回路との構成を図１に示す。
【００２３】
組み合わせ回路ＣＣの入力側にフリップフロップＦ／Ｆ１〜Ｆ／Ｆ２が配置され、出力側にフリップフロップＦ／Ｆ３〜Ｆ／Ｆ４が配置され、４つのフリップフロップＦ／Ｆ１〜Ｆ／Ｆ４が直列に接続されてスキャンチェーンが構成されている。
【００２４】
フリップフロップＦ／Ｆ１〜Ｆ／Ｆ２のデータ出力端子Ｑが組み合わせ回路ＣＣの入力端子にそれぞれ接続され、フリップフロップＦ／Ｆ３〜Ｆ／Ｆ４のデータ入力端子Ｄが組み合わせ回路ＣＣの出力端子にそれぞれ接続されている。
【００２５】
フリップフロップＦ／Ｆ１〜Ｆ／Ｆ４のスキャンデータ入力端子ＳＩとスキャンデータ出力端子ＳＯとが直列に接続されている。
【００２６】
出力イネーブル信号ＯＥが、バッファＢＦ１を介してフリップフロップＦ／Ｆ１の出力イネーブル端子ＯＥに与えられ、バッファＢＦ１〜ＢＦ２を介してフリップフロップＦ／Ｆ２の出力イネーブル端子ＯＥに与えられ、さらにバッファＢＦ１〜ＢＦ３を介してフリップフロップＦ／Ｆ３の出力イネーブル端子ＯＥに与えられ、バッファＢＦ１〜ＢＦ４を介してフリップフロップＦ／Ｆ４の出力イネーブル端子ＯＥに与えられる。
【００２７】
ここで、フリップフロップＦ／Ｆ１〜Ｆ／Ｆ４と組み合わせ回路ＣＣとの接続であるが、図１に示された接続には限定されず、様々に変形することができる。複数のフリップフロップにおいて、それぞれ前段のスキャンデータ入力端子ＳＩと後段のスキャンデータ出力端子ＳＯとが直列に接続されてスキャンチェーンを形成する必要はあるが、１系統のみならず、複数系統のスキャンチェーンが形成されていてもよい。
【００２８】
また、複数のフリップフロップのうち、少なくとも一つのフリップフロップのデータ出力端子Ｑが組み合わせ回路ＣＣの入力端子に接続され、また少なくとも一つのフリップフロップのデータ入力端子Ｄが組み合わせ回路ＣＣの出力端子に接続されていればよく、他のフリップフロップのデータ出力端子Ｑ、データ入力端子Ｄの接続関係は任意に設定することができる。
【００２９】
図２に、このような構成を有するフリップフロップＦ／Ｆ１〜Ｆ／Ｆ４における各信号の真理値を示す。
【００３０】
ここで、用いられる信号には、システム動作におけるデータＤ、テスト動作におけるスキャンデータＳＩ、テスト動作におけるシフトイネーブル信号ＳＥ、出力イネーブル信号ＯＥ、クロックパルスＣＰ、出力データＱ、テスト動作においてフリップフロップＦ／Ｆから出力されるスキャンデータＳＯが含まれる。
【００３１】
このうち、シフトイネーブル信号ＳＥは、取り込むべき入力データの切り替えを行うための信号であり、データ端子Ｄに入力されるデータＤと、スキャンデータ入力端子ＳＩに入力されるスキャンデータＳＩのいずれか一方を選択して取り込む。
【００３２】
出力イネーブル信号ＯＥは、データ出力端子Ｑの出力の有無を制御するための信号である。より具体的には、出力イネーブル信号ＯＥが出力イネーブルである場合は、システム動作において入力されたデータＤがデータ出力端子Ｑ及びスキャンデータ出力端子ＳＯからともに出力され、テスト動作において入力されたスキャンデータＳＩがデータ出力端子Ｑ及びスキャンデータ出力端子ＳＯからともに出力される。即ち、いずれの動作であってもデータ出力端子Ｑ及びスキャンデータ出力端子ＳＯからともに出力される。
【００３３】
一方、出力イネーブル信号ＯＥが出力ディスイネーブルである場合は、システム動作において入力されたデータＤがスキャンデータ出力端子ＳＯからは出力されるがデータ出力端子Ｑからは出力されず、同様にテスト動作において入力されたスキャンデータＳＩがスキャンデータ出力端子ＳＯからは出力されるがデータ出力端子Ｑからは出力されない。即ち、いずれの動作であってもデータ出力端子Ｑからは出力されないがスキャンデータ出力端子ＳＯからは出力される。
【００３４】
このように本実施の形態では、出力イネーブル信号ＯＥによって出力の有無が制御されるデータ出力端子Ｑと、出力イネーブル信号ＯＥにより出力が制御されず入力されたものがそのまま出力されるスキャンデータ出力端子ＳＯとが設けられている。
【００３５】
図２において、「Ｕｐ」はクロックパルスＣＰの立ち上がりを示し、「Ｄｎ」はクロックパルスＣＰの立ち下がりを示す。Ｑｎは、データ出力端子Ｑにおける現在の値であり、Ｑｎ＋１は、出力イネーブル信号ＯＥがローレベルからハイレベルになったときのデータ出力端子Ｑの値である。
【００３６】
「ＳＯ」は、スキャンデータ出力端子ＳＯの現在の値であり、「ＳＯ＋１」は、クロックパルスＣＰが１回入力されたときの値である。
【００３７】
尚、「Ｘ」はローレベル「Ｌ」、ハイレベル「Ｈ」のいずれであっても影響がないことを示す。
【００３８】
（Ｉ）出力イネーブル信号ＯＥがハイレベルで、シフトイネーブル信号ＳＥがローレベルの場合
通常のシステム動作を行う。スキャンデータ入力端子ＳＩの値は無視され、データ入力端子Ｄの値「Ｌ」、「Ｈ」が、クロックパルスＣＰの立ち上がりに同期してデータ出力端子Ｑに出力される。
【００３９】
しかし、出力イネーブル信号ＯＥがローレベルの間は、この値はデータ出力端子Ｑからは出力されず、出力イネーブル信号ＯＥがハイレベルになると、「Ｑｎ＋１」としてこの値「Ｌ」、「Ｈ」が出力される。また、スキャンデータ出力端子ＳＯからは、クロックＣＰが１回入力されたときに、立ち上がりエッジ（Ｕｐ）に同期してこの値「Ｌ」、「Ｈ」が出力される。
【００４０】
（II）出力イネーブル信号ＯＥがローレベルで、シフトイネーブル信号ＳＥがハイレベルの場合
テスト動作を行う。データ入力端子Ｄの値は無視され、スキャンデータ入力端子ＳＩの値が、各フリップフロップＦ／ＦにクロックパルスＣＰに同期して転送されていき保持される。
【００４１】
しかし、出力イネーブル信号ＯＥがローレベルであるため、この値はデータ出力端子Ｑからは出力されない。
【００４２】
（III）クロックパルスＣＰの立ち下がり時（Ｄｎ）
データ出力端子Ｑの出力は現在の値Ｑｎを維持し、スキャンデータ出力端子ＳＯの出力は現在の値ＳＯを維持する。
【００４３】
（IV）出力イネーブル信号ＯＥがローレベルで、シフトイネーブル信号ＳＥがローレベルの場合
通常のシステム動作を行う。スキャンデータ入力端子ＳＩの値は無視され、データ入力端子Ｄの値「Ｌ」、「Ｈ」が、各フリップフロップＦ／Ｆに入力されて保持される。
【００４４】
しかし、出力イネーブル信号ＯＥがローレベルであるため、この新しく入力された値はデータ出力端子Ｑから出力されず、現在の値「Ｑｎ」の出力を維持する。スキャンデータ出力端子ＳＯからは、クロックＣＰが１回入力されたときに、立ち上がりエッジ（Ｕｐ）に同期して、新たに入力された値「Ｌ」、「Ｈ」が出力される。
【００４５】
図１に示されたスキャン回路に含まれるフリップフロップＦ／Ｆ１〜Ｆ／Ｆ４の回路構成の一例を、図３に示す。
【００４６】
フリップフロップＦ／Ｆには、入力されたデータを保持するレジスタ１１と、レジスタ１１に保持されたデータの出力を保持し出力しない場合、あるいは出力する場合を切り替えて制御する出力部１２とを備えている。
【００４７】
レジスタ１１は、データ入力端子Ｄと、スキャンデータ入力端子ＳＩとの入力をシフトイネーブル信号ＳＥに基づいて切り替えて出力するマルチプレクサＭＵＸ１と、インバータＩＮ２１、アナログスイッチＡＳＷ１、インバータＩＮ２２、アナログスイッチＡＳＷ２及びインバータＩＮ２３を含む１段目のレジスタと、インバータＩＮ３１、アナログスイッチＡＳＷ１１、インバータＩＮ３２、アナログスイッチＡＳＷ１２及びインバータＩＮ３３を含む２段目のレジスタと、クロックパルスＣＰを与えられて反転したクロックパルス／Φを生成するインバータＩＮ１、クロックパルスΦを生成するインバータＩＮ２とを有する。
【００４８】
ここで、アナログスイッチＡＳＷ１及びＡＳＷ１２はローレベルのクロックパルスΦを与えられてオンし、アナログスイッチＡＳＷ２及びＡＳＷ１１はハイレベルのクロックパルスΦを与えられてオンする。
【００４９】
出力部１２は、レジスタの出力ノードＮ１１に接続されたインバータＩＮ４１、アナログスイッチＡＳＷ２１、インバータＩＮ４２、アナログスイッチＡＳＷ２２及びインバータＩＮ４３を含むレジスタと、出力イネーブル信号ＯＥを入力されて反転した出力イネーブル信号／ＯＥを出力するインバータＩＮ１１と、出力イネーブル信号ＯＥを出力するインバータＩＮ１２とを有する。
【００５０】
このように、本実施の形態１によるスキャン回路は、フリップフロップＦ／Ｆにおいてデータ端子Ｄあるいはスキャンデータ入力端子ＳＩから入力されたデータを保持するレジスタ１１の他に、レジスタ１１の出力ノードＮ１１からの出力を出力イネーブル信号ＯＥを用いて制御する出力部１２とを有する点に特徴がある。
【００５１】
出力部１２は、出力イネーブル信号ＯＥがローレベルの場合に出力ノードＮ１１における現在の値を保持してデータ出力端子Ｑから出力し、この後に出力ノードＮ１１の値が変化した場合であっても引き続きこの値を維持し、その後に出力イネーブル信号ＯＥがハイレベルになると、変化した出力ノードＮ１１の新たな値を出力する機能を有する。
【００５２】
また出力部１２において、スキャンデータ出力端子ＳＯは、出力イネーブル信号ＯＥのレベルにかかわらず、出力ノードＮ１１における新たな値をそのまま出力する。
【００５３】
即ち、このフリップフロップＦ／Ｆでは、出力イネーブル信号ＯＥがローレベルにある場合、フリップフロップＦ／Ｆに新たに入力されたデータを、スキャンデータ出力端子ＳＯからはそのまま出力するが、データ出力端子Ｑからはその前のデータを引き続き出力する。その後に出力イネーブル信号ＯＥがハイレベルに変化すると、新たなデータがデータ出力端子Ｑから出力される。
【００５４】
図４のタイムチャートに、フリップフロップＦ／Ｆにおける各信号の動作波形を示す。
【００５５】
（Ａ）シフトイネーブル信号ＳＥがハイレベルになり、テスト動作（スキャンデータ入力動作）に設定される。
【００５６】
この動作期間中は、組み合わせ回路ＣＣをテストするために必要なスキャンデータが、各フリップフロップＦ／Ｆのスキャンデータ入力端子ＳＩから入力されて保持され、スキャンデータ出力端子ＳＯから出力される。フリップフロップＦ／Ｆ１〜Ｆ／Ｆ４は直列に接続されているため、順次スキャンデータがクロックパルスＣＰに同期してシリアルに転送されていき、各フリップフロップＦ／Ｆに保持される。
【００５７】
ここで、出力イネーブル信号ＯＥはローレベルである。従って、各フリップフロップＦ／Ｆにおいて、スキャンデータ入力端子ＳＩから入力されたスキャンデータは、スキャンデータ出力端子ＳＯからは出力されるが、データ出力端子Ｑの値は変化しない。
【００５８】
従って、データ出力端子Ｑに接続された組み合わせ回路ＣＣには、スキャンデータが入力されず、動作しない。この結果、電流はフリップフロップＦ／Ｆのみに流れ、組み合わせ回路ＣＣには全く流れず、消費電流が低減される。特に、クロックパルスＣＰに同期して瞬時に流れる電流が大幅に低減される。
【００５９】
（Ｂ）シフトイネーブル信号ＳＥがローレベルになり、システム動作に切り替わる。
【００６０】
出力イネーブル信号ＯＥがハイレベルになると、その立ち上がりエッジ（Ｕｐ）に同期して、各フリップフロップＦ／Ｆ１〜Ｆ／Ｆ４に保持されたスキャンデータがそれぞれのデータ出力端子Ｑから出力されて、組み合わせ回路ＣＣに与えられる。組み合わせ回路ＣＣが動作を開始し、組み合わせ回路ＣＣから出力されたデータがフリップフロップＦ／Ｆ３〜Ｆ／Ｆ４のデータ入力端子Ｄに入力される。
【００６１】
その後、一旦出力イネーブル信号ＯＥがローレベルとなる。クロックパルスＣＰがハイレベルになると、フリップフロップＦ／Ｆ３〜Ｆ／Ｆ４のデータ入力端子Ｄに入力された組み合わせ回路ＣＣからの出力データが、スキャンデータ出力端子ＳＯから出力される。
【００６２】
尚、システム動作期間中に、出力イネーブル信号ＯＥがハイレベルとなるタイミングがある。このときにフリップフロップＦ／Ｆ１〜Ｆ／Ｆ４のデータ出力端子Ｑの値が変化し、組み合わせ回路ＣＣにおいて瞬時に電流が多く流れないようにすることが望ましい。
【００６３】
出力イネーブル信号ＯＥは、クロックパルスＣＰのように全てのフリップフロップＦ／Ｆ１〜Ｆ／Ｆ４に完全に同期したタイミングで入力する必要がない。このため、各フリップフロップＦ／Ｆ１〜Ｆ／Ｆ４に与える出力イネーブル信号ＯＥがそれぞれハイレベルとなる位相をずらすことが可能である。
【００６４】
そこで、図１に示されたスキャン回路では、出力イネーブル信号ＯＥの信号線に直列にフリップフロップＦ／Ｆ１〜Ｆ／Ｆ４と同じ段数のバッファＢＦ１〜ＢＦ４を設けている。これにより、各フリップフロップＦ／Ｆ１〜Ｆ／Ｆ４に入力される出力イネーブル信号ＯＥの位相が徐々にずれていく。
【００６５】
この結果、組み合わせ回路ＣＣは支障なく動作するが、フリップフロップＦ／Ｆ１〜Ｆ／Ｆ４からスキャンデータを与えられて動作する個々の回路ブロックの動作タイミングは微妙にずれていくこととなり、瞬時に流れる電流を低減することが可能である。
【００６６】
また、組み合わせ回路ＣＣに含まれる多数のゲート回路が瞬時に同時に動くと、グリッジが発生して不必要な電流が流れる。しかし、本実施の形態１によれば組み合わせ回路ＣＣに含まれる個々の回路ブロックが動作するタイミングがずれていることにより、グリッジが発生しにくく消費電流の低減が可能である。
【００６７】
さらに、フリップフロップＦ／Ｆ１〜Ｆ／Ｆ４は出力イネーブル信号ＯＥの徐々にずれた位相とかかわりなく、全て位相が同期したクロックパルスＣＰのタイミングで同時に動作する。よって、組み合わせ回路ＣＣの各回路ブロックが動作するタイミングと、フリップフロップＦ／Ｆ１〜Ｆ／Ｆ４が動作するタイミングとは同期しておらず、この点においても瞬時に流れる電流を減らすことが可能である。
【００６８】
なお、システム動作期間中に、出力イネーブル信号ＯＥをハイレベルにしておくことも可能ではある。しかし、その場合にフリップフロップＦ／Ｆ１〜Ｆ／Ｆ４におけるスキャンデータ入力動作、スキャンデータ出力動作時の電流（瞬時電流、平均電流）は減らせるが、システム動作時における瞬時電流は減らすことはできない。
【００６９】
そこで、クロックパルスＣＰがハイレベルになる前後の期間は、出力イネーブル信号ＯＥをローレベルに戻すことが望ましい。
【００７０】
（Ｃ）シフトイネーブル信号ＳＥがハイレベルになり、テスト動作（スキャンデータ出力動作）に切り替わる。
【００７１】
組み合わせ回路ＣＣから出力されたテスト結果に相当するデータが各フリップフロップＦ／Ｆ３〜Ｆ／Ｆ４に保持されており、このデータがクロックパルスＣＰに同期して各フリップフロップＦ／Ｆ３〜Ｆ／Ｆ４のスキャンデータ出力端子ＳＯからシリアルに外部へ出力される。そして、出力されたテスト結果と期待値とが比較されて、故障検出が行われる。
【００７２】
尚、出力イネーブル信号ＯＥはローレベルであり、各フリップフロップＦ／Ｆ１〜Ｆ／Ｆ４のデータ出力端子Ｑは変化しない。このため、組み合わせ回路ＣＣは動作せず、電流を消費しない。従って、このスキャン出力動作期間中は、フリップフロップＦ／Ｆ１〜Ｆ／Ｆ４にのみ電流が流れるので、消費電流が低減される。
【００７３】
以上説明したように、本実施の形態のスキャン回路により、平均電流、さらに瞬時電流ともに大幅に削減することが可能である。
【００７４】
特に、スキャンテストを使用したバーインテスト時において、消費電流が大きいとテストの実施が不能となるおそれがあったが、このような問題を解消することができる。
【００７５】
（２）実施の形態２
本発明の実施の形態２による半導体集積回路に含まれるフリップフロップの回路構成を図５に示す。
【００７６】
図３に示された上記実施の形態１によるフリップフロップと比較し、出力部２２の構成が異なる。
【００７７】
本実施の形態２による出力部２２は、レジスタ２１の出力ノードＮ２１に一方の入力端子が接続され、他方の入力端子に出力イネーブル信号ＯＥが入力されるＡＮＤ回路ＡＮ１を有している。
【００７８】
出力イネーブル信号ＯＥがローレベルの場合は、レジスタ２１の出力ノードＮ２１における値が出力部２２から出力されずにローレベルに固定された状態となり、出力イネーブル信号ＯＥがハイレベルになると出力ノードＮ２１の値が出力される。
【００７９】
他の構成は上記実施の形態１におけるものと同様であり、説明を省略する。
【００８０】
（３）実施の形態３
本発明の実施の形態３による半導体集積回路に含まれるフリップフロップの回路構成を図６に示す。
【００８１】
図３に示された上記実施の形態１によるフリップフロップ、あるいは図５に示された上記実施の形態２と比較し、出力部３２の構成が異なる。
【００８２】
本実施の形態３による出力部３２は、レジスタ３１の出力ノードＮ３１に一方の入力端子が接続され、他方の入力端子に反転された出力イネーブル信号／ＯＥが入力されるＯＲ回路ＯＲ１を有している。
【００８３】
出力イネーブル信号／ＯＥがローレベルの場合は、レジスタ３１の出力ノードＮ３１における値が出力部３２から出力されずにハイレベルに固定された状態となり、出力イネーブル信号／ＯＥがハイレベルになるとこの出力ノードＮ３１の値が出力される。
【００８４】
他の構成は上記実施の形態１におけるものと同様であり、説明を省略する。
【００８５】
上記実施の形態によれば、スキャンデータの入出力時には出力イネーブル信号／ＯＥをローレベルに設定することにより、各フリップフロップＦ／Ｆのデータ出力端子Ｑの値が変化しなくなる。このため、フリップフロップにおいてのみ電流が流れ、データ出力端子Ｑに接続された組み合わせ回路には流れない。よって、組み合わせ回路に含まれる多数のゲートが変化せず、平均電流を低減することができると共に、クロックパルスのエッジに同期して瞬時に流れる電流を大幅に低減することが可能である。
【００８６】
またシステム動作時において、フリップフロップと、組み合わせ回路とが同時に動作しないことと、組み合わせ回路の各入力タイミングを微妙にずらすことが可能なため、平均電流、瞬時電流を低減することができる。また、従来技術で問題のあったスキャンテスト時の電流、特にスキャンテストを用いて行うバーインテスト時の電流の低減が可能である。
【００８７】
上述した実施の形態はいずれも一例であって、本発明を限定するものではなく、発明の技術的範囲内において様々に変形することが可能である。
【００８８】
例えば、図１に示された実施の形態１における回路構成では、各フリップフロップＦ／Ｆ１〜Ｆ／Ｆ４に供給される出力イネーブル信号ＯＥの位相をずらすために、フリップフロップＦ／Ｆ１〜Ｆ／Ｆ４に対応してバッファＢＦ１〜ＢＦ４を設けている。しかし、クロックツリーのように出力イネーブル信号ＯＥの位相を意図的に合わせない限り遅延により自然に位相はずれていく。このため、このようなバッファを必ずしも設けなくともよい。
【図面の簡単な説明】
【００８９】
【図１】本発明の実施の形態１による半導体集積回路が有するスキャン回路及び組み合わせ回路の構成を示すブロック図。
【図２】同スキャン回路における各信号の真理値を示す説明図。
【図３】同スキャン回路における半導体集積回路が有するフリップフロップの構成を示す回路図。
【図４】同スキャン回路における各信号の動作波形を示すタイムチャート。
【図５】本発明の実施の形態２による半導体集積回路が有するスキャン回路及び組み合わせ回路の構成を示すブロック図。
【図６】本発明の実施の形態３による半導体集積回路が有するスキャン回路及び組み合わせ回路の構成を示すブロック図。
【符号の説明】
【００９０】
Ｆ／Ｆ１〜Ｆ／Ｆ４、Ｆ／Ｆ１〜Ｆ／Ｆ（２ｎ）  フリップフロップ
ＢＦ１〜ＢＦ４、ＢＦ１〜ＢＦ（２ｎ）  バッファ回路
ＣＣ、ＣＣ１〜ＣＣｎ  組み合わせ回路
１１、２１、３１  レジスタ
１２、２２、３２  出力部
ＩＮ１〜ＩＮ２、ＩＮ１１〜ＩＮ１２、ＩＮ２１〜ＩＮ２３、ＩＮ３１〜ＩＮ３３、ＩＮ４１〜ＩＮ４３  インバータ
ＡＳＷ１〜ＡＳＷ２、ＡＳＷ１１〜ＡＳＷ１２、ＡＳＷ２１〜ＡＳＷ２２  アナログスイッチ
【図１】
2006337256.tif 000003
【図２】
2006337256.tif 000004
【図３】
2006337256.tif 000005
【図４】
2006337256.tif 000006
【図５】
2006337256.tif 000007
【図６】
2006337256.tif 000008