(57)【要約】【課題】内部状態の退避および回復時の時間を短縮し、消費電力を削減する。【解決手段】スキャンチェーンは、スキャンパステストのときに、第１回路に含まれる複数の第１フリップフロップと、第２回路に含まれる複数の第２フリップフロップとを鎖状に接続してシフトレジスタとして動作する。バックアップ制御回路は、第１フリップフロップに保持される内部状態を示すデータを、第２フリップフロップをバイパスしたスキャンチェーンを介してメモリ回路に格納する退避動作と、メモリ回路から内部状態を示すデータを読み出して第２フリップフロップをバイパスしたスキャンチェーンを介して第１フリップフロップに再設定する回復動作とを制御する。入力選択回路は、スキャンパステストのテストデータと、メモリ回路から読み出した内部状態を示すデータとのうちの一方を選択してスキャンチェーンに供給する。【選択図】図２
2010145134.tif 000002
【特許請求の範囲】
【請求項１】
スキャンパステストのときに、第１回路に含まれる複数の第１フリップフロップと、第２回路に含まれる複数の第２フリップフロップとを鎖状に接続してシフトレジスタとして動作するスキャンチェーンと、
前記第１フリップフロップに保持される内部状態を示すデータを、前記第２フリップフロップをバイパスした前記スキャンチェーンを介してメモリ回路に格納する退避動作と、前記メモリ回路から前記内部状態を示すデータを読み出して前記第２フリップフロップをバイパスした前記スキャンチェーンを介して前記第１フリップフロップに再設定する回復動作とを制御するバックアップ制御回路と、
前記スキャンパステストのテストデータと、前記メモリ回路から読み出した前記内部状態を示すデータとのうちの一方を選択して前記スキャンチェーンに供給する入力選択回路と
を具備する
半導体集積回路。
【請求項２】
前記スキャンチェーンは、前記第２フリップフロップを経由する信号と、前記第２フリップフロップをバイパスする信号とのうちの一方を選択して出力するバイパス選択回路を備え、
前記退避動作及び前記回復動作のとき、前記バイパス選択回路は、前記第１フリップフロップの出力を選択する
請求項１に記載の半導体集積回路。
【請求項３】
前記スキャンチェーンは、単独の前記第２フリップフロップまたは連続して接続される前記第２フリップフロップの前段に設けられた前記第１フリップフロップの出力と、前記単独の前記第２フリップフロップまたは前記連続して接続される前記第２フリップフロップの最終段の出力とのうちの一方を選択して出力するバイパス選択回路を備え、
前記退避動作及び前記回復動作のとき、前記バイパス選択回路は、前記第１フリップフロップの出力を選択する
請求項１に記載の半導体集積回路。
【請求項４】
さらに、前記第１回路と前記第２回路とに供給する電源を制御する電源制御回路を具備し、
前記バックアップ制御回路は、前記退避動作が完了した後、前記第１回路及び前記第２回路への電源供給を停止し、前記回復動作を開始する前に前記第１回路への電源供給を再開するように前記電源制御回路に指示する
請求項１から請求項３のいずれかに記載の半導体集積回路。
【請求項５】
前記バックアップ制御回路は、前記回復動作を開始する前にさらに前記第２回路への電源供給を再開する
請求項４に記載の半導体集積回路。
【請求項６】
前記回復動作が終了するときに前記第２フリップフロップを初期化するリセット回路をさらに具備する
請求項５に記載の半導体集積回路。
【請求項７】
前記第１回路と前記第２回路との境界位置に前記第２回路から出力される出力信号の伝搬を遮断するバリアゲート回路を具備する
請求項１から請求項６のいずれかに記載の半導体集積回路。
【請求項８】
前記メモリ回路を内蔵する
請求項１から請求項７のいずれかに記載の半導体集積回路。
【請求項９】
前記メモリ回路は、電源供給が停止しても書き込みデータを保持する不揮発性メモリ回路を備える
請求項８に記載の半導体集積回路。
【請求項１０】
スキャンパステストのときに、第１回路に含まれる複数の第１フリップフロップと、第２回路に含まれる第２フリップフロップとを鎖状に接続したスキャンチェーンをシフトレジスタとして動作させるステップと、
前記第１フリップフロップに保持される内部状態を示すデータを、前記第２フリップフロップをバイパスした前記スキャンチェーンを介してメモリ回路に格納する退避ステップと、
前記メモリ回路から前記内部状態を示すデータを読み出して前記第２フリップフロップをバイパスした前記スキャンチェーンを介して前記第１フリップフロップに再設定する回復ステップと、
前記スキャンパステストのテストデータと、前記メモリ回路から読み出した前記内部状態を示すデータとのうちの一方を選択して前記スキャンチェーンに供給するステップと
を具備する
半導体集積回路の内部状態退避回復方法。
【請求項１１】
前記シフトレジスタとして動作させるステップは、前記第２フリップフロップを経由する信号と、前記第２フリップフロップをバイパスする信号とのうちの一方を選択して出力するステップを備え、
前記退避ステップ及び前記回復ステップでは、前記第１フリップフロップの出力が選択される
請求項１０に記載の半導体集積回路の内部状態退避回復方法。
【請求項１２】
前記シフトレジスタとして動作させるステップは、単独の前記第２フリップフロップまたは連続して接続される前記第２フリップフロップの前段に設けられた前記第１フリップフロップの出力と、前記単独の前記第２フリップフロップまたは前記連続して接続される前記第２フリップフロップの最終段の出力とのうちの一方を選択して出力するステップを備え、
前記退避ステップ及び前記回復ステップでは、前記単独の前記第２フリップフロップまたは連続して接続される前記第２フリップフロップの前段に設けられた前記第１フリップフロップの出力が選択される
請求項１０に記載の半導体集積回路の内部状態退避回復方法。
【請求項１３】
前記退避ステップが終了した後、前記第１回路及び前記第２回路への電源供給を停止し、前記回復ステップが開始される前に前記第１回路への電源供給を再開する電源制御ステップをさらに具備する
請求項１０から請求項１２のいずれかに記載の半導体集積回路の内部状態退避回復方法。
【請求項１４】
前記電源制御ステップは、前記回復ステップが開始される前に前記第２回路への電源供給を再開するステップをさらに備える
請求項１３に記載の半導体集積回路の内部状態退避回復方法。
【請求項１５】
前記回復ステップが終了するときに前記第２フリップフロップをリセットするステップをさらに具備する
請求項１４に記載の半導体集積回路の内部状態退避回復方法。
【請求項１６】
前記第１回路と前記第２回路との境界位置に前記第２回路から出力される出力信号の伝搬を遮断するステップを具備する
請求項１０から請求項１５のいずれかに記載の半導体集積回路の内部状態退避回復方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路に関し、特に、半導体集積回路の内部状態の退避および回復方法に関する。
【背景技術】
【０００２】
近年、スタンバイやレジューム機能等の低消費電力モードを備えた半導体集積回路が注目されている。通常、半導体集積回路は、電源供給が停止されるとその内部状態は不揮発性メモリを除いて消去される。電源供給を再開した時、回路の電源供給を停止する直前の状態から回路の動作を再開させるためには、内部状態を保持しなくてはならない。
【０００３】
例えば、特開２００７−１５７０２７号公報には、スキャンパステストに使用されるスキャンチェーンを利用した半導体集積回路の内部状態の退避および回復に関する技術が開示されている。この半導体集積回路は、対象回路と、バックアップ制御回路とを具備する。対象回路は、スキャンパステスト時にシフトレジスタを形成してテストデータをシリアルに入出力する少なくとも１つのスキャンチェーンを備える。バックアップ制御回路は、対象回路の内部状態を示す内部状態データをメモリに格納し、メモリから読み出す。スキャンチェーンは、複数のサブスキャンチェーンに分割され、複数のサブスキャンチェーンは並列に動作する。内部状態データは、複数のサブスキャンチェーンから出力されてメモリに格納される。メモリに格納されている内部状態データは、複数のサブスキャンチェーンに再び設定される。この技術では、スキャンチェーンを複数のサブスキャンチェーンに分割することにより、内部状態の退避・回復時間が短縮され、待機状態にある回路の消費電力が削減される。
【０００４】
【特許文献１】特開２００７−１５７０２７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
本発明は、内部状態の退避および回復時の時間を短縮し、消費電力を削減することのできる半導体集積回路、半導体集積回路の内部状態の退避および回復方法を提供する。
【課題を解決するための手段】
【０００６】
以下に、［発明を実施するための最良の形態］で使用される番号・符号を用いて、課題を解決するための手段を説明する。これらの番号・符号は、［特許請求の範囲］の記載と［発明を実施するための最良の形態］との対応関係を明らかにするために付加されたものである。ただし、それらの番号・符号を、［特許請求の範囲］に記載されている発明の技術的範囲の解釈に用いてはならない。
【０００７】
本発明の観点では、半導体集積回路は、スキャンチェーンと、バックアップ制御回路（３００）と、入力選択回路（１６０〜１６２）とを具備する。スキャンチェーンは、スキャンパステストのときに、第１回路（２１０）に含まれる複数の第１フリップフロップ（１０１〜１０３、１１１〜１１３、１２１〜１２３）と、第２回路（２２０）に含まれる複数の第２フリップフロップ（１０４〜１０５、１１４〜１１５、１２４〜１２５）とを鎖状に接続してシフトレジスタとして動作する。バックアップ制御回路（３００）は、第１フリップフロップ（１０１〜１０３、１１１〜１１３、１２１〜１２３）に保持される内部状態を示すデータを、第２フリップフロップ（１０４〜１０５、１１４〜１１５、１２４〜１２５）をバイパスしたスキャンチェーンを介してメモリ回路（５００）に格納する退避動作と、メモリ回路（５００）から内部状態を示すデータを読み出して第２フリップフロップ（１０４〜１０５、１１４〜１１５、１２４〜１２５）をバイパスしたスキャンチェーンを介して第１フリップフロップ（１０１〜１０３、１１１〜１１３、１２１〜１２３）に再設定する回復動作とを制御する。入力選択回路（１６０〜１６３）は、スキャンパステストのテストデータと、メモリ回路（５００）から読み出した内部状態を示すデータとのうちの一方を選択してスキャンチェーンに供給する。
【０００８】
本発明の他の観点では、半導体集積回路の内部状態退避回復方法は、シフトレジスタとして動作させるステップと、退避ステップと、回復ステップと、スキャンチェーンに供給するステップとを具備する。シフトレジスタとして動作させるステップでは、スキャンパステストのときに、第１回路に含まれる複数の第１フリップフロップと、第２回路に含まれる第２フリップフロップとを鎖状に接続したスキャンチェーンがシフトレジスタとして動作する。退避ステップでは、第１フリップフロップに保持される内部状態を示すデータが第２フリップフロップをバイパスしたスキャンチェーンを介してメモリ回路に格納される。回復ステップでは、メモリ回路から読み出された内部状態を示すデータが第２フリップフロップをバイパスしたスキャンチェーンを介して第１フリップフロップに再設定される。スキャンチェーンに供給するステップでは、スキャンパステストのテストデータと、メモリ回路から読み出した内部状態を示すデータとのうちの一方が選択されてスキャンチェーンに供給される。
【発明の効果】
【０００９】
本発明によれば、内部状態の退避および回復時の時間を短縮し、消費電力を削減することのできる半導体集積回路、半導体集積回路の内部状態の退避および回復方法を提供することができる。
【発明を実施するための最良の形態】
【００１０】
図面を参照して本発明を実施するための最良の形態が説明される。
【００１１】
まず、本実施の形態に係るスキャンチェーンを形成するスキャンフリップフロップについて説明する。図１は、スキャンチェーンを形成するスキャンフリップフロップ１０の接続状態を模式的に示した図である。スキャンフリップフロップ１０は、図１に示されるように、選択回路１２と、フリップフロップ本体１４とを備える。選択回路１２は、フリップフロップ本体１４に取り込むデータを選択する。即ち、選択回路１２は、前段のスキャンフリップフロップ１０から出力されるデータ、または、組み合わせ回路であるノーマルパス２０から出力されるデータの一方を選択してフリップフロップ本体１４に供給する。フリップフロップ本体１４は、選択回路１２から出力されるデータをクロック信号ＣＬＫに同期して取り込み、出力する。選択回路１２は、スキャンイネーブル信号ＳＥに基づいて出力するデータを選択する。スキャンイネーブル信号ＳＥがアクティブ（“１”）のとき、選択回路１２は、前段のスキャンフリップフロップ１０が出力するデータを選択し、スキャンフリップフロップ１０はスキャンチェーンを形成することになる。
【００１２】
通常動作のとき、スキャンイネーブル信号ＳＥはインアクティブ（“０”）であり、選択回路１２は、ノーマルパス２０から出力されるデータＤＴを選択してフリップフロップ本体１４に出力する。フリップフロップ本体１４は、クロック信号ＣＬＫに同期してデータＤＴを取り込んで保持する。保持するデータ、即ち内部状態は、データＤＯとしてノーマルパス２０に出力される。したがって、スキャンフリップフロップ１０は、クロック信号に同期して内部状態を更新する。
【００１３】
スキャンイネーブル信号ＳＥがアクティブ（“１”）になると、選択回路１２は、前段のスキャンフリップフロップ１０から出力されるデータＤＯを選択してフリップフロップ本体１４に出力する。フリップフロップ本体１４は、クロック信号ＣＬＫに同期してそのデータＤＯを取り込んで保持する。保持されたデータＤＯは、ノーマルパス２０及び次段のスキャンフリップフロップ１０に供給される。スキャンイネーブル信号ＳＥがアクティブである間、スキャンフリップフロップ１０は、ノーマルパス２０から出力されるデータＤＴではなく、前段のスキャンフリップフロップ１０から出力されるデータＤＯを取り込む。したがって、一連のスキャンフリップフロップ１０によってスキャンチェーンが形成され、クロック信号ＣＬＫに同期して動作するシフトレジスタとして動作する。
【００１４】
ここでは、図１に示されるようなスキャンフリップフロップ１０を例示したが、他の構成のスキャンフリップフロップであってもよく、スキャンパステストのときにシフトレジスタとして動作し、通常動作のときにそれぞれ個別に内部状態を保持するフリップフロップであればよい。なお、スキャンフリップフロップ１０は、初期設定のためのリセット信号を入力するノードＲを備えることが好ましい。
【００１５】
スキャンチェーンは、入出力の本数を抑制するため、長くなる傾向にある。したがって、このスキャンチェーンを内部状態の退避／回復に利用する場合、退避時間、回復時間が長くなってしまう。この退避／回復時間を短縮するためには、スキャンチェーンを短くするとよい。本発明では、スキャンチェーンに含まれるテスト専用回路等の通常動作時に寄与しない回路を退避／回復動作の対象から除外して退避／回復時間を短縮する。
【００１６】
一方、退避／回復動作は、内部状態の退避後に対象回路の電源供給を停止することによって消費電力の削減することを目的に実行される。したがって、電源供給が再開されると、保存されている内部状態を対象回路に戻して動作を再開することになるが、退避／回復動作から除外された回路は不定値を保持している。それらの回路部分が、回復動作によって内部状態を再設定された回路に対して、何らかの影響を及ぼす可能性があり、誤動作を防止する必要がある。
【００１７】
図２は、内部状態の退避および回復時における半導体集積回路の構成を示す図である。半導体集積回路６００は、例えば、ＣＰＵ等のように、動作状態と待機状態とを有し、待機状態には動作を停止させてもよい回路（電源遮断対象回路１００）を備える。待機時にその内部状態を保持することができれば電源供給を停止することも可能になる。内部状態は、フリップフロップに保持されるため、電源供給が停止されると、その内容は保存されない。本発明では、待機状態に移行するときにフリップフロップに保持される内部状態を常時電源供給されるメモリ回路（バックアップメモリ５００）に格納し、動作再開の際にメモリ回路から読み出してフリップフロップに再度設定することによって、待機時の電力消費を低減する。
【００１８】
半導体集積回路６００は、内部に電源遮断領域１００を備え、動作状態に応じて電源遮断領域１００への電源供給を開始および停止することができる。電源遮断領域１００の電源は、電源制御部４００により投入／遮断することが可能な構成になっている。
【００１９】
本発明の実施の形態に係る半導体集積回路６００は、図２に示されるように、電源遮断領域１００に展開される回路と、バックアップ制御回路３００と、電源制御回路４００と、バックアップメモリ５００とを備える。電源遮断領域１００に展開される回路は、スキャンフリップフロップ（以降フリップフロップと記載する）１１１〜１１５、１２１〜１２５、選択回路１６１〜１６２、１７１〜１７２、論理和回路１９０を備え、さらに、図示されていない組み合わせ回路（ノーマルパス）２０を含む。ここで、電源遮断領域１００に展開される回路は、例えば、ＣＰＵ（ｃｅｎｔｒａｌ  ｐｒｏｃｅｓｓｉｎｇ  ｕｎｉｔ）等のように、複雑な論理回路や多数のフリップフロップを含む回路が想定され、通常動作状態と待機状態とを有する回路である。待機状態においては、これらの回路の消費電力を極力削減することが求められている。したがって、待機状態になる前に、各フリップフロップに保持される内部状態がバックアップメモリ５００に退避され、電源遮断対象領域１００への電源供給が停止される。
【００２０】
バックアップ制御回路３００は、内部状態の退避及び回復動作、電源遮断領域１００への電源供給を制御する。内部状態の退避動作の指示は、スタンバイ指示信号ＳＢによって電源遮断対象領域１００に展開される回路からなされる。他の制御回路からなされてもよいが、ここでは、電源遮断領域１００に展開される回路上で動作するソフトウェアが指示するものとして説明する。
【００２１】
電源制御回路４００は、バックアップ制御回路３００から出力される指示信号ＰＣに応答して、電源遮断領域１００への電源供給を制御する。
【００２２】
バックアップメモリ５００は、図示されないメモリ部とアドレスカウンタと制御回路とを備える。バックアップメモリ５００は、退避回復動作のとき、順に入力されるデータをメモリ部に書き込み、格納されたデータを順に出力する。順にデータの書き込み及び読み出しができれば、バックアップメモリ５００は、どのように構成されてもよい。メモリ部が、不揮発性メモリであれば待機状態のときに電源供給を停止することができる。揮発性メモリであれば、電源供給を継続する必要はあるが、待機状態ではデータを保持するだけで書き込み読み出し動作をすることはないため、その消費電力は少ない。また、本実施の形態では、半導体集積回路６００内にバックアップメモリ５００が搭載されるが、半導体集積回路６００の外部に設けてもよい。
【００２３】
スタンバイ信号ＳＢにより内部状態のバックアップが指示されると、バックアップ制御回路３００は、退避対象回路２１０に含まれるフリップフロップ１１１〜１１３、１２１〜１２３に保持される内部状態を、スキャンチェーンを介してバックアップメモリ５００に退避させる。バックアップ制御回路３００は、内部状態の退避が完了すると、電源制御回路４００に対して電源遮断対象領域１００への電源供給の停止を指示する。また、何らかの要因に基づいて、回復要求信号ＲＱにより待機状態の解除が指示されると、バックアップ制御回路３００は、電源制御回路４００に対して、電源制御信号ＰＣによって電源遮断対象領域１００に電源供給の再開を指示する。電源遮断対象領域１００に電源が供給されると、バックアップ制御回路３００は、退避回復指示信号ＳＮをアクティブにして退避対象回路２１０に含まれるフリップフロップ１１１〜１１３、１２１〜１２３が形成するスキャンチェーンを介してバックアップメモリ５００に保持されている内部状態を再設定する。
【００２４】
図２は、フリップフロップ１１１〜１１５、１２１〜１２５がそれぞれスキャンチェーンを形成した状態を模擬的に示している。フリップフロップ１１１〜１１３、１２１〜１２３にはスキャンイネーブル信号ＳＥに基づいて生成されたチェーン形成信号ＳＣが供給され、フリップフロップ１１４〜１１５、１２４〜１２５にはスキャンイネーブル信号ＳＥが供給される。スキャンパステスト時（ノーマルモード切替信号ＮＭ＝“０”）、スキャンイネーブル信号ＳＥがアクティブ（“１”）になると、リップフロップ１１１〜１１５、１２１〜１２５がそれぞれスキャンチェーンを形成し、スキャンパステストが行われる。また、フリップフロップ１１１〜１１３、１２１〜１２３にはチェーン形成信号ＳＣが供給され、チェーン形成信号ＳＣがアクティブ（“１”）のとき、すなわち、内部状態の退避・回復時にもフリップフロップ１１１〜１１３、１２１〜１２３はスキャンチェーンを形成する。チェーン形成信号ＳＣは、バックアップ制御回路３００から出力される退避回復指示信号ＳＮとスキャンパステスト時に外部から入力されるスキャンイネーブル信号ＳＥとの論理和をとる論理和回路１９０により生成される。スキャンパステスト時、外部からスキャンイン信号ＳＩ１、ＳＩ２を取り込み、スキャンアウト信号ＳＯ１、ＳＯ２を外部へ出力する。なお、フリップフロップ１１４〜１１５、１２４〜１２５に保持される内部状態は、退避回復の対象外であるため、退避回復動作のときにスキャンチェーンを形成しなくてもよい。
【００２５】
スキャンチェーンを形成するフリップフロップ１１１〜１１５、１２１〜１２５は、退避対象回路２１０に含まれるフリップフロップ１１１〜１１３、１２１〜１２３と、退避非対象回路２２０に含まれるフリップフロップ１１４〜１１５、１２４〜１２５とに分類される。退避対象回路２１０に含まれるフリップフロップ１１１〜１１３、１２１〜１２３は、通常の動作に使用されるフリップフロップである。これらのフリップフロップに保持される内部状態は、半導体集積回路６００が待機状態になる前に、すなわち電源が遮断される前に、スキャンチェーンを利用してバックアップメモリ５００に退避される。退避非対象回路２２０に含まれるフリップフロップ１１４〜１１５、１２４〜１２５は、半導体集積回路６００のデバッグ或いは試験等において使用される回路であり、通常動作に関与しない。
【００２６】
選択回路１６１〜１６２は、通常動作時であることを示すノーマルモード切替信号ＮＭにより制御される。ノーマルモード切替信号ＮＭがインアクティブ（“０”）、すなわちスキャンパステスト時において、選択回路１６１〜１６２は、外部から入力されるスキャンイン信号ＳＩ１、ＳＩ２を選択してスキャンチェーンに供給する。ノーマルモード切替信号ＮＭがアクティブ（“１”）、すなわち通常動作時において、選択回路１６１〜１６２は、バックアップメモリ５００の出力ＭＯ１、ＭＯ２を選択してフリップフロップ１１１、１２１に供給する。このとき、チェーン形成信号ＳＣがアクティブであれば、スキャンチェーンが形成されてバックアップメモリ５００に保存されている内部状態がフリップフロップ１１１、１２１に供給される。
【００２７】
選択回路１７１〜１７２は、ノーマルモード切替信号ＮＭにより制御され、退避対象回路２１０の出力、退避非対象回路２２０の出力のうちの一方を選択し、スキャンアウト信号ＳＯ１、ＳＯ２として出力する。退避対象回路２１０の出力を選択して出力する退避回復時には、退避非対象回路２２０をバイパスするように動作することになる。ノーマルモード切替信号ＮＭがインアクティブ（“０”）、すなわちスキャンパステスト時、選択回路１７１〜１７２は、フリップフロップ１１５、１２５から出力されるスキャンパステストの結果データを選択して出力信号ＳＯ１、ＳＯ２として出力する。ノーマルモード切替信号ＮＭがアクティブ（“１”）、すなわち通常動作時、選択回路１７１〜１７２は、スキャンチェーンの途中に位置するフリップフロップ１１３、１２３の出力を選択して出力信号ＳＯ１、ＳＯ２として出力する。したがって、通常動作時のスキャンチェーンは、退避非対象回路２２０をバイパスし、その分だけ短縮される。このバイパスされ、退避対象回路２１０だけの内部状態を示すデータは、バックアップメモリ５００に保存される。なお、ここでは、説明を簡単にするためにそれぞれ５個のフリップフロップを備える２本のスキャンチェーンを示しているが、一般的に半導体集積回路は多数のフリップフロップを含むスキャンチェーンを多数含む。また、複数のスキャンチェーンが並列的に動作する。
【００２８】
次に図３を参照して、半導体集積回路６００の動作を説明する。
【００２９】
スキャンパステスト時は、外部からノーマルモード切替信号ＮＭ（インアクティブ：“０”）が入力される（図３（ｂ））。ノーマルモード切替信号ＮＭがインアクティブであるから選択回路１６１〜１６２、１７１〜１７２は、“０”側の信号を選択して出力する。テストデータを入力するときにスキャンイネーブル信号ＳＥがアクティブ（“１”）となり（図３（ａ））、フリップフロップ１１１〜１１５、１２１〜１２５に論理和回路１９０からアクティブ（“１”）のチェーン形成信号ＳＣが供給される（図３（ｆ））。フリップフロップ１１１〜１１５、１２１〜１２５はスキャンチェーンを形成し、スキャンイン信号ＳＩ１、ＳＩ２によりテストデータが入力される。スキャンチェーンを介してデストデータが設定されると、スキャンイネーブル信号は一旦インアクティブ（“０”）になってスキャンチェーンが解放される。このときの内部論理回路による演算結果がフリップフロップ１１１〜１１５、１２１〜１２５に取り込まれる。その後、再度スキャンイネーブル信号ＳＥがアクティブ（“１”）になり、スキャンチェーンが形成される。フリップフロップ１１１〜１１５、１２１〜１２５に取り込まれたデータが外部にスキャンアウト信号ＳＯ１、ＳＯ２として出力される。このスキャンアウト信号ＳＯ１、ＳＯ２に含まれるテスト結果は、シミュレーション結果と比較され、半導体集積回路６００の正常性が確認される。
【００３０】
通常時、ノーマルモード切替信号ＮＭはアクティブ（“１”）に設定され、スキャンイネーブル信号ＳＥはインアクティブ（“０”）に設定される（図３（ａ）（ｂ））。したがって、フリップフロップ１１１〜１１５、１２１〜１２５はスキャンチェーンを形成せずに動作する。半導体集積回路６００は、実行すべき処理がなくなったことを検知すると、待機状態（スタンバイモード）に移行する。そのとき、例えば、ソフトウェアの命令を実行することによりハードウェアに対して待機状態に移行することが指示される。ここでは、指示は、スタンバイ指示信号ＳＢにより示される（図３（ｃ））。
【００３１】
バックアップ制御回路３００は、スタンバイ指示信号ＳＢがアクティブになると、まず退避回復指示信号ＳＮをアクティブにする（図３（ｅ））。論理和回路１９０は、退避回復指示信号ＳＮとスキャンイネーブル信号ＳＥとの論理和信号であるチェーン形成信号ＳＣをアクティブにし、フリップフロップ１１１〜１１３、１２１〜１２３はスキャンチェーンを形成する（図３（ｆ））。退避しなければならない内部状態は、フリップフロップ１１１〜１１３、１２１〜１２３に保持されているため、フリップフロップ１１４〜１１５、１２４〜１２５はスキャンチェーンに組み込まれていなくてもよい。
【００３２】
チェーン形成信号ＳＣがアクティブになっている間にクロック信号ＣＬＫが入力されると、フリップフロップ１１１〜１１３、１２１〜１２３は、形成されたスキャンチェーン内で順に内部状態を示すデータをシフトする。選択回路１７１〜１７２は、ノーマルモード切替信号ＮＭがアクティブであるから、フリップフロップ１１３、１２３から出力される信号を選択し、スキャンアウト信号ＳＯ１、ＳＯ２としてバックアップメモリ５００に出力する。バックアップメモリ５００は、入力される内部状態を示すデータを順次メモリに格納する。これにより内部状態の退避が行われる。
【００３３】
内部状態を示すデータは、退避対象回路２１０内に形成されるスキャンチェーンの最終段のフリップフロップ１１３、１２３からバックアップメモリ５００に出力される。したがって、退避非対称回路２２０内に形成されるスキャンチェーン部分（フリップフロップ１１４〜１１５、１２４〜１２５）がバイパスされるため、退避時間が短縮される。また、退避する必要のないデータはバックアップメモリ５００に保存されないため、バックアップメモリ５００の容量を削減することができる。メモリ容量の削減によっても待機時の消費電力削減ができる。
【００３４】
内部状態の退避が完了すると、バックアップ制御回路３００は、電源制御信号ＰＣによって電源制御回路４００に電源遮断対象領域１００の電源供給の停止を指示する。電源制御回路４００は、電源遮断対象領域１００への電源ＰＷの供給を停止する（図３（ｇ））。以降半導体集積回路６００は待機状態（スタンバイ）となる。電源遮断対象領域１００への電源供給が停止されるため、待機状態における半導体集積回路の消費電力が低減できる。
【００３５】
待機状態において、例えば、タイマにより所定時間の経過が通知されたとき、或いは、外部からの信号が検出されたとき等、半導体集積回路６００に回復要求信号ＲＱが与えられると（図３（ｄ））、バックアップ制御回路３００は、回復動作を開始する。
【００３６】
バックアップ制御回路３００は、電源制御信号ＰＣによって電源制御回路４００に電源遮断対象領域１００の電源供給の再開を指示する。電源制御回路４００は、電源遮断対象領域１００への電源ＰＷの供給を再開する（図３（ｇ））。
【００３７】
電源遮断対象領域１００に電源が供給されると、バックアップ制御回路３００は、退避回復指示信号ＳＮをアクティブにしてスキャンチェーンを形成するように指示する(図３（ｅ））。フリップフロップ１１１〜１１３、１２１〜１２３は、論理和回路１９０から出力されるチェーン形成信号ＳＣがアクティブになると、スキャンチェーンを形成する（図３（ｆ））。
【００３８】
退避された内部状態を示す信号ＭＯ１、ＭＯ２は、バックアップメモリ５００から出力され、選択回路１６１〜１６２を介してスキャンチェーンに供給される。内部状態を示すデータは、バックアップメモリ５００から出力された順に退避対象回路２１０内のスキャンチェーンをシフトされていく。
【００３９】
退避対象回路２１０に含まれるフリップフロップ１１１〜１１３、１２１〜１２３に退避された内部状態が再設定されると、バックアップ制御回路３００は、退避回復指示信号ＳＮをインアクティブにする（図３（ｅ））。論理和回路１９０から出力されるチェーン形成信号ＳＣがインアクティブになり（図３（ｆ））、スキャンチェーンが解放され、フリップフロップ１１１〜１１３、１２１〜１２３は、待機状態直前の動作状態に戻って通常動作を再開する。
【００４０】
スキャンチェーンに供給されるデータは、退避対象回路２１０に含まれるフリップフロップのデータであり、退避非対象回路２２０のデータを含まないため、回復動作が短縮される。なお、選択回路１６１〜１６２は、スキャンパステスト時以外はノーマルモード切替信号ＮＭがアクティブになっているため、バックアップメモリ５００の出力信号ＭＯ１、ＭＯ２を選択してフリップフロップ１１１、１２１に出力する。
【００４１】
このように、本発明の内部状態退避回復方法によれば、退避非対象回路２２０の内部状態を示すデータが退避動作、回復動作の対象から外れるため、退避および回復時間の短縮、消費電力の削減をすることができる。
【００４２】
図２に示されるスキャンチェーンでは、退避対象回路２１０の出力が退避非対象回路２２０に供給されるように説明されているが、これに限定されない。図４Ａに示されるように、スキャンチェーンを１本で示すと、スキャンチェーンには、フリップフロップ１０１〜１０５が含まれ、この順に接続されている。スキャンチェーンの入力信号を選択する選択回路１６０は、ノーマルモード切替信号ＮＭがアクティブのときバックアップメモリ５００の出力ＭＯを選択し、ノーマルモード切替信号ＮＭがインアクティブのときスキャンパステストのスキャンイン信号ＳＩを選択してフリップフロップ１０１に供給する。また、選択回路１７０は、ノーマルモード切替信号ＮＭがアクティブのとき、退避非対象回路２２０のフリップフロップをバイパスしてフリップフロップ１０３の出力を選択し、ノーマルモード切替信号ＮＭがインアクティブのとき、退避非対象回路２２０に含まれるスキャンチェーンの最終段のフリップフロップ１０５の出力を選択して出力する。
【００４３】
図４Ｂに示されるように、退避非対象回路２２０と選択回路１７０とは、退避対象回路２１０のフリップフロップ１０２、１０３の間にあっても同じように動作する。さらに、退避非対称回路２２０、選択回路１７０は、複数回路存在してもよい。但し、１つのスキャンチェーンの中に多数の選択回路１７０を設けると、回路量が増加するため、好ましくない。スキャンチェーンのパスを工夫してなるべく削減することが好ましい。
【００４４】
また、図４Ｃに示されるように、スキャンアウト信号ＳＯの直前にある選択回路１７０を削除して、フリップフロップ１０５の出力をスキャンアウト信号ＳＯとして出力し、フリップフロップ１０３の出力をバックアップメモリ５００に出力するように構成することも可能である。但し、半導体集積回路６００の正常性確認等を考慮すると、別の経路を設けるより同一の経路を利用することが好ましい。
【００４５】
上述では、退避及び回復のデータの経路について説明した。退避非対象回路２２０に含まれるフリップフロップ１０４〜１０５の出力が退避対象回路２１０に対して影響を与えない場合、上述のように動作させて問題はない。しかし、フリップフロップ１０４は、待機状態において電源が遮断されるため、回復動作後、不定値を保持することになる。したがって、図５に示されるように、退避非対象回路２２０に含まれるフリップフロップ１０４の出力が組み合わせ回路２０によって何らかの演算が施され、退避対象回路２１０に含まれるフリップフロップ１０３の通常動作時のデータ入力として使用される場合、フリップフロップ１０４に保持される値によってフリップフロップ１０３が取り込む値が異なる可能性がある。
【００４６】
図６に示されるように、退避対象回路２１０、退避非対象回路２２０共に回復時に電源供給が再開される場合は、退避非対象回路２２０のフリップフロップ１０４〜１０５の値が固定されることが好ましい。電源制御回路４００は、退避対象回路２１０に供給する電源ＰＷ１、退避非対象回路２２０に供給する電源ＰＷ２をスイッチＳＷで制御し、同じように供給する。ここでは、論理回路１９２は、通常のリセット信号ＲＳＴと退避回復指示信号ＳＮとに基づいて、リセット信号ＲＳＴ１を生成する。リセット信号ＲＳＴ１は、フリップフロップ１０４〜１０５を所定の状態に設定する。すなわち、リセット信号ＲＳＴがアクティブ（“０”）になったとき、または、退避回復指示信号ＳＮがアクティブ（“１”）になったとき、リセット信号ＲＳＴ１がアクティブ（“０”）になり、フリップフロップ１０４〜１０５をリセットする。これによって、フリップフロップ１０４〜１０５は、回復動作後に所定値を保持することになり、不定値による誤動作を防止できる。
【００４７】
図７を参照して、動作を簡単に説明する。図７（ａ）〜（ｆ）は、図３と同じであるので説明を省略する。リセット信号ＲＳＴ１は、リセット信号ＲＳＴがアクティブのときと、退避回復指示信号ＳＮがアクティブのときにアクティブ（“０”）となる。したがって、退避動作時、回復動作時にアクティブ（“０”）となる（図７（ｉ））。待機状態では、退避対象回路２１０に供給される電源ＰＷ１、退避非対象回路２２０に供給される電源ＰＷ２は、共に供給が停止される（図７（ｇ）（ｈ））。したがって、回復動作が開始された時点でフリップフロップ１０１〜１０５は、不定値を保持する。回復動作が終了した時点で、フリップフロップ１０１〜１０３には内部状態が回復され、フリップフロップ１０４〜１０５はリセットされて所定値を保持することになる。したがって、退避対象回路２１０は退避非対象回路２２０の影響を受けないようにすることができる。
【００４８】
また、図８に示されるように、退避非対象回路２２０から退避対象回路２１０に向かう信号にマスク回路を挿入し、退避非対象回路２２０の影響を遮断してもよい。図８では、組み合わせ回路２０に向かうフリップフロップ１０４の出力を論理積回路１９４によってマスクする。論理積回路（バリアゲート）１９４は、ノーマルモード切替信号ＮＭがアクティブ（“１”）の場合に固定値“０”を出力し、フリップフロップ１０４の出力がマスクされる。退避非対象回路２２０に含まれるフリップフロップのうち出力が組み合わせ回路２０に接続されるフリップフロップの出力をマスクすることによって、退避対象回路２１０は退避非対象回路２２０の影響を受けないようにすることができる。
【００４９】
すなわち、図９に示されるように、ノーマルモード切替信号ＮＭがアクティブ（“１”）になると、退避非対象回路２２０の出力信号がマスクされる。したがって、退避対象回路２１０は、退避非対象回路２２０による影響を受けなくなる。図９（ｇ）に示されるように、退避対象回路２１０に供給される電源ＰＷ１は、待機状態（スタンバイ）において供給が停止され、回復動作を開始する前に供給が再開される。これに対して、ノーマルモード切替信号ＮＭがアクティブであれば退避対象回路２１０に影響が無いため、退避非対象回路２２０に供給される電源ＰＷ２は、ノーマルモード切替信号ＮＭがアクティブの間、供給を停止することができる（図９（ｈ））。
【００５０】
なお、このマスク回路により影響を遮断する方法は、退避対象回路２１０の電源制御用のスイッチＳＷ１、退避非対象回路２２０の電源制御用のスイッチＳＷ２を備える図８に示されるような回路に限定されることはない。図６に示されるように、１種類のスイッチＳＷで退避対象回路２１０と退避非対象回路２２０との電源を制御する場合にも適用することができる。
【００５１】
次に、スキャンチェーン設計の考え方を説明する。まず、図１０（ａ）に示されるように、半導体集積回路６００の主要部分である退避対象回路２１０及びその試験、デバック回路である退避非対象回路２２０が、本来の機能を満たすように設計される。通常、機能毎に近い位置に配置されるため、テスト用回路と通常動作の回路とは、分離されるように設計される。退避対象回路２１０と、退避非対象回路２２０とは、それぞれ別の設計層の回路として設計される。供給電源を制御するため、電源遮断領域１００に含まれる回路は、他の回路から明確に分離される。
【００５２】
それぞれの回路の本来の機能部分が設計されると、図１０（ｂ）に示されるように、内蔵されるフリップフロップのスキャンデータ入出力は、所定の方法によって順に接続され、それぞれの設計層毎にスキャンチェーンが設計される。このとき、それぞれのスキャンチェーンの長さ即ちスキャンチェーンに含まれるフリップフロップの数が調整される。少なくとも、同時に同じメモリ回路に内部状態が退避されるスキャンチェーンの長さは揃えられる。
【００５３】
それぞれの回路内のスキャンチェーンが設計されると、図１０（ｃ）に示されるように、退避対象回路２１０のスキャンチェーンと、退避非対象回路２２０のスキャンチェーンとが結び付けられる。退避／回復動作に対応して選択回路１６１〜１６２、１７１〜１７２が設けられ、制御信号線が接続されてスキャンチェーンを利用した内部情報退避回復用回路が出来上がる。
【００５４】
スキャンチェーン設計の一例を示したが、この方法に限定されることはない。退避対象回路２１０と、退避非対象回路２２０とを区別してスキャンチェーンを張ることが出来ればよい。
【００５５】
ノーマルモード切替信号ＮＭは、ここでは外部から入力されるが、ＴＡＰコントローラ等の他の制御回路によって生成されてもよい。また、バックアップ制御回路は、ＴＡＰコントローラと組み合わせて構成されてもよい。
【００５６】
このように、内部状態を退避回復するとき、データを保持する必要の無い回路をバイパスしたスキャンチェーンとするため、内部状態の退避および回復時の時間を短縮し、消費電力を削減することのできる半導体集積回路、半導体集積回路の内部状態の退避および回復方法を提供することができる。
【図面の簡単な説明】
【００５７】
【図１】スキャンフリップフロップとスキャンチェーンを説明する図である。
【図２】本発明の実施の形態に係る半導体集積回路の構成を示す図である。
【図３】本発明の実施の形態に係る半導体集積回路の動作を説明するタイムチャートである。
【図４Ａ】本発明の実施の形態に係る退避対象回路と退避非対象回路の接続例を示す図である。
【図４Ｂ】本発明の実施の形態に係る退避対象回路と退避非対象回路の接続例を示す図である。
【図４Ｃ】本発明の実施の形態に係る退避対象回路と退避非対象回路の接続例を示す図である。
【図５】本発明の実施の形態に係る退避非対象回路の影響を説明する図である。
【図６】本発明の実施の形態に係る退避非対象回路の影響を防止する例１を示す図である。
【図７】図６に示される回路の動作を説明するタイムチャートである。
【図８】本発明の実施の形態に係る退避非対象回路の影響を防止する例２を示す図である。
【図９】図８に示される回路の動作を説明するタイムチャートである。
【図１０】スキャンチェーンの設計手順を説明する図である。
【符号の説明】
【００５８】
１０  スキャンフリップフロップ
１２  選択回路
１４  フリップフロップ本体
２０  組み合わせ回路（ノーマルパス）
１００  電源遮断対象領域
１０１〜１０５  フリップフロップ
１１１〜１１５  フリップフロップ
１２１〜１２５  フリップフロップ
１６０〜１６２  選択回路
１７０〜１７２  選択回路
１９０  論理和回路
１９２  論理回路
１９４  論理積回路
２１０  退避対象回路
２２０  退避非対象回路
３００  バックアップ制御回路
４００  電源制御回路
５００  バックアップメモリ
６００  半導体集積回路
【図１】
2010145134.tif 000003
【図２】
2010145134.tif 000004
【図３】
2010145134.tif 000005
【図４Ａ】
2010145134.tif 000006
【図４Ｂ】
2010145134.tif 000007
【図４Ｃ】
2010145134.tif 000008
【図５】
2010145134.tif 000009
【図６】
2010145134.tif 000010
【図７】
2010145134.tif 000011
【図８】
2010145134.tif 000012
【図９】
2010145134.tif 000013
【図１０】
2010145134.tif 000014