(57)【要約】【課題】内部状態の退避・回復時間が短縮され、待機状態にある回路の消費電力が削減される半導体集積回路を提供する。【解決手段】半導体集積回路は、対象回路と、バックアップ制御回路とを具備する。対象回路は、スキャンパステスト時にシフトレジスタを形成してテストデータをシリアルに入出力する少なくとも１つのスキャンチェーンを備える。バックアップ制御回路は、対象回路の内部状態を示す内部状態データをメモリに格納し、メモリから内部状態データを読み出す。このスキャンチェーンは、複数のサブスキャンチェーンに分割されている。複数のサブスキャンチェーンは並列に動作する。内部状態データは、複数のサブスキャンチェーンから出力されてメモリに格納される。メモリに格納されている内部状態データは、複数のサブスキャンチェーンに再び設定され、対象回路は、元の内部状態に戻って動作を再開する。【選択図】図２
2008251013.tif 000002
【特許請求の範囲】
【請求項１】
フリップフロップを含み、
所定の機能を実行する通常動作モードと、
前記フリップフロップを含むスキャンチェーンを構成し該スキャンチェーンを用いて前記機能の検証を実行するスキャンパステストモードと、
前記通常動作モード時に前記フリップフロップが保持したデータを、前記スキャンチェーンを介して記憶装置に書き込む退避モードと
を有する対象回路を備え、
前記スキャンチェーンは前記退避モードにおいて、前記データを前記スキャンチェーンの出力端から前記記憶装置に出力するとともに前記スキャンチェーンの入力端から受信することを特徴とする半導体集積回路。
【請求項２】
前記スキャンチェーンは複数のサブスキャンチェーンを備え、
前記複数のサブスキャンチェーンは前記退避モードにおいて、前記データの内で前記サブスキャンチェーンが含む前記フリップフロップが保持したデータを、前記サブスキャンチェーンの出力端から前記記憶装置に出力するとともに前記サブスキャンチェーンの入力端から受信する退避動作を行うことを特徴とする請求項１に記載の半導体集積回路。
【請求項３】
前記スキャンチェーンに含まれる前記サブスキャンチェーンの各々が前記退避動作を行うことを特徴とする請求項２に記載の半導体集積回路。
【請求項４】
前記対象回路は、前記退避モードの際に前記記憶装置に書き込んだ前記データを、前記スキャンチェーンを介して取得する回復モードをさらに有し、
前記対象回路は、前記スキャンチェーンが前記記憶装置への前記データの出力を完了する前に前記退避モードから前記回復モードへ遷移した場合、前記スキャンチェーンが前記遷移前に前記記憶装置へ書き込んだデータを取得した時点で前記回復モードを終了することを特徴とする請求項１に記載の半導体集積回路。
【請求項５】
前記スキャンチェーンは、前記通常動作モード時に前記フリップフロップが保持したデータと、前記記憶装置に記憶されたデータとの内の一を選択的に出力する第１セレクタをさらに含むことを特徴とする請求項１に記載の半導体集積回路。
【請求項６】
前記スキャンチェーンは、前記第１セレクタが出力したデータと、前記機能の検証を実行するためのテストデータとの内の一を選択的に出力する第２セレクタをさらに含むことを特徴とする請求項５に記載の半導体集積回路。
【請求項７】
前記スキャンチェーンは、直列に接続された複数のフリップフロップを含むことを特徴とする請求項１に記載の半導体集積回路。
【請求項８】
前記サブスキャンチェーンの各々の一部に供給されるクロックが他の前記サブスキャンチェーンに供給されるクロックと異なることを特徴とする請求項３に記載の半導体集積回路。
【請求項９】
前記サブスキャンチェーンの各々に含まれる前記フリップフロップの数が同一であることを特徴とする請求項３に記載の半導体集積回路。
【請求項１０】
前記サブスキャンチェーンは、前記フリップフロップに加えてダミーのフリップフロップをさらに含むことを特徴とする請求項２に記載の半導体集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路及びその制御方法に関し、特に、内部状態を退避回復する回路を備える半導体集積回路およびその制御方法に関する。
【背景技術】
【０００２】
近年、スタンバイやレジューム機能等の低消費電力モードを備えた半導体集積回路が注目されている。通常、半導体集積回路は、電源供給が停止されると不揮発性メモリを除いてその内部状態は消去されるため、電源供給を再開した時、回路の電源供給を停止する直前の状態から回路の動作を再開させるためには、内部状態を保持しなくてはならない。
【０００３】
例えば、特開平６−５２０７０号公報によれば、レジスタに保持された内部状態データを電源供給停止時に外部メモリに退避させ、保持する集積回路が開示されている。この集積回路は、複数のレジスタとデータ退避部とデータ復帰部とを具備し、複数のレジスタは、スキャンチェーンを形成するように接続され、データ退避部は、外部信号に応答し、データ退避モード時に、複数のレジスタにスキャンチェーンを形成させ、形成されたスキャンチェーンを介して各レジスタの保持データを外部に読み出す。このとき、データ退避部は、内部状態データを所定のビット幅のデータに直列／並列変換し、データ入出力部を通じてデータ保護用メモリに格納する。データ復帰部は、外部信号に応答し、データ復帰モード時に、複数のレジスタにスキャンチェーンを形成させ、形成されたスキャンチェーンを介して退避していたデータをもとのレジスタに復帰させる。このとき、データ復帰部は、データ保護用メモリから内部状態データを読出してデータ入出力手段から入力し、所定のビット幅のデータを直列の内部状態データに変換してスキャンチェーンを通じて復帰する。
【０００４】
また、特開２００４−１６４６４７号公報によれば、１つまたは複数のノードを有する回路と、メモリと、システム・バスと、状態保存コントローラとを備えるデータ処理装置に関する技術が開示されている。１つまたは複数のノードを有する回路は、データの処理に用いられる回路であり、全体で回路の状態を定義する１つまたは複数のデータ値を記憶する。メモリは、データを記憶する。システム・バスは、回路とメモリとに結合するシステム・バスであり、回路とメモリの通常の処理動作中にシステム・バスに与えられたメモリ転送要求に応答して回路とメモリとの間で多ビット・データ語を転送する。状態保存コントローラは、回路とシステム・バスに結合し、保存トリガに応答して、回路の状態を定義するデータ値を１つまたは複数のノードから読み取ってメモリ書込み要求のシーケンスをシステム・バス上に生成し、データ値を表す１つまたは複数の状態保存多ビット・データ語をメモリに書き込んで、１つまたは複数の状態保存多ビット・データ語を用いて回路の状態を回復できるようにする。また、関連する技術として、米国公開公報２００５／０１４９７９９に記載されたものもある。
【０００５】
【特許文献１】特開平６−５２０７０号公報
【特許文献２】特開２００４−１６４６４７号公報
【特許文献３】米国公開公報２００５／０１４９７９９
【発明の開示】
【発明が解決しようとする課題】
【０００６】
上述のように、スキャンチェーンを用いて内部状態を退避・復帰する場合には、スキャンチェーンが直列接続された多数のレジスタによって構成されているために、レジスタに保持された全てのデータをシリアルに退避・復帰するために時間がかかる。また、システムバスを介して内部ノードデータをメモリに書き込み、メモリから読み出すために、システムバスの使用権確保を含むメモリ書き込みシーケンス、メモリ読み出しシーケンスを起動する必要性があるため、やはり内部状態の退避・回復時間が長くなる。
【０００７】
本発明は、半導体集積回路を待機状態にしつつ、内部状態の退避・回復時間を短縮することができる半導体集積回路及びその制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
以下に、［発明を実施するための最良の形態］で使用される番号・符号を用いて、課題を解決するための手段を説明する。これらの番号・符号は、［特許請求の範囲］の記載と［発明を実施するための最良の形態］との対応関係を明らかにするために付加されたものである。ただし、それらの番号・符号を、［特許請求の範囲］に記載されている発明の技術的範囲の解釈に用いてはならない。
【０００９】
本発明の観点では、半導体集積回路は、対象回路（１１）と、バックアップ制御回路（１２）とを具備する。対象回路（１１）は、スキャンパステスト時にシフトレジスタを形成してテストデータをシリアルに入出力する少なくとも１つのスキャンチェーン（１５）を備える。バックアップ制御回路（１２）は、対象回路（１１）の内部状態を示す内部状態データをメモリ（１３）に格納し、メモリ（１３）から内部状態データを読み出す。このスキャンチェーン（１５）は、複数のサブスキャンチェーン（２１〜２４、３１〜３４）に分割されている。複数のサブスキャンチェーン（２１〜２４、３１〜３４）は並列に動作する。内部状態データは、複数のサブスキャンチェーン（２１〜２４、３１〜３４）から出力されてメモリ（１３）に格納される。メモリ（１３）に格納されている内部状態データは、複数のサブスキャンチェーン（２１〜２４、３１〜３４）に再び設定され、対象回路（１１）は、元の内部状態に戻って動作を再開する。
【００１０】
本発明の他の観点では、内部状態退避回復方法は、動作切替ステップと、退避ステップと、回復ステップと、再開ステップとを具備する。対象回路（１１）は、スキャンパステストに使用される少なくとも１つのスキャンチェーン（１５）を備える。動作切替ステップは、そのスキャンチェーン（１５）を分割して、並列に動作する複数のサブスキャンチェーン（２１〜２４、３１〜３４）に構成し直す。退避ステップは、複数のサブスキャンチェーン（２１〜２４、３１〜３４）の各々から出力される対象回路（１１）の内部状態を示す内部状態データをメモリ（１３）に格納する。回復ステップは、メモリ（１３）から出力される内部状態データを複数のサブスキャンチェーン（２１〜２４、３１〜３４）に再び設定する。再開ステップは、複数のサブスキャンチェーン（２１〜２４、３１〜３４）を解放して対象回路（１１）の動作を元の状態から再開する。
【発明の効果】
【００１１】
本発明によれば、スキャンチェーンを複数のサブスキャンチェーンに分割し、サブスキャンチェーンの出力を並列にメモリに格納することによって、内部状態の退避・回復時間が短縮された半導体集積回路及びその制御方法を提供することが可能になる。
【発明を実施するための最良の形態】
【００１２】
図を参照して本発明の第１の実施の形態を説明する。図１は、第１の実施の形態に係る半導体集積回路の構成を示すブロック図である。半導体集積回路は、内部状態が外部に退避される対象回路１１と、対象回路１１の内部状態を記憶するバックアップメモリ１３と、対象回路１１の内部状態の退避・回復を制御するバックアップ制御回路１２と、対象回路１１の電源を制御するスイッチ１４とを具備する。対象回路１１の内部状態は、対象回路１１に内在するフリップフロップに保持される内部ノードデータにより具現化される。
【００１３】
バックアップ制御回路１２は、対象回路１１から指示（ＷＦＩ）を受けて、対象回路１１の動作モード（ＭＤ）を切り替え、対象回路１１の内部状態を示すデータ即ち内部ノードデータをバックアップメモリ１３に退避する。また、バックアップ制御回路１２は、外部からの割り込み信号（ＩＮＴ）により起動され、バックアップメモリ１３に格納されている内部ノードデータを対象回路１１の各ノードに設定し、対象回路１１の内部状態を回復する。この内部状態の退避・回復動作に際し、バックアップ制御回路１２は、バックアップメモリ１３の格納アドレス（ＡＤＤＲ）、書き込み・読み出しタイミング（ＣＴＲ）を制御する。
【００１４】
対象回路１１の電源系は、他の回路と分離されている。従って、対象回路１１だけの電源を切断することが可能となる。スイッチ１４は、この電源の投入切断をバックアップ制御回路１２の制御（ＰＷＣ）に基づいて行う。
【００１５】
バックアップメモリ１３は、対象回路１１の内部状態を示す内部ノードデータを保持する。バックアップメモリ１３は、対象回路１１の内部ノードデータを格納するだけの容量があればよい。内部ノードデータＴＯを効率よく取り込むためにデータ幅（ワード長）は広くなっている。例えば、スキャンチェーンが３２個、それぞれのスキャンチェーンから４ヵ所の内部ノードデータＴＯを取り出すとすると、１スキャンクロック毎に１２８ビットのデータが並列に出力される。そのため、バックアップメモリ１３は、１２８ビット以上のワード長が必要になる。バックアップメモリ１３の書き込み／読み出しの動作タイミングＣＴＲ、アドレスＡＤＤＲは、バックアップ制御回路１２から与えられる。このバックアップメモリ１３は、閾値電圧が高く設定され、低リーク電流のメモリである。従って、バックアップメモリ１３の速度はそれほど速くないが、消費電力は少ない。また、バックアップメモリ１３として、フラッシュメモリ等の不揮発性メモリを用いると、待機時にバックアップメモリ１３の電源も切断することが可能となり、さらに消費電力を削減することができる。
【００１６】
この対象回路１１の内部状態を示す内部ノードデータは、スキャンチェーン１５を介して入出力される。スキャンチェーン１５は、半導体集積回路の正常性を試験するスキャンパステストに使用される。スキャンチェーン１５は、スキャンパステスト時、テストデータをスキャン入力ＳＩからシリアル入力し、テスト結果をスキャン出力ＳＯから出力する。ここでは説明しないが、バックアップ制御回路１２、バックアップメモリ１３は、スキャンパステストの対象であってもよい。
【００１７】
対象回路１１は、待機中に保持すべき内部状態を有する回路部分である。対象回路１１は、対象回路１１の製造不良等を検出するために実施されるスキャンパステスト用の回路を内蔵している。このスキャンパステスト用回路は、テスト時に対象回路１１に内在するフリップフロップが鎖状に接続され、シフトレジスタとしてデータの入出力を行う。このシフトレジスタが、所謂スキャンチェーンと呼ばれる。対象回路１１内には、このスキャンチェーン１５が少なくとも１つ設定されている。最近の半導体集積回路では、スキャンチェーン１５は、３２個程度設定されていることが多いが、より多くのスキャンチェーンが設定されていてもよいし、１個だけであってもよい。各スキャンチェーン１５は、外部に接続されるスキャン入力ＳＩ（ＳＩ１〜ＳＩｎ〜ＳＩＮ）からスキャンパステスト用のシリアルデータが入力され、外部に接続されるスキャン出力ＳＯ（ＳＯ１〜ＳＯｎ〜ＳＯＮ）からスキャンパステスト結果データがシリアルに出力される。それぞれのシリアルデータの入出力は、同期している必要はなく、スキャンチェーン毎に独立して動作していてもよい。以下、スキャンチェーン１５は、スキャン入力ＳＩｎ、スキャン出力ＳＯｎ（ｎ＝１、２、…、Ｎ）の回路を例として説明される。
【００１８】
対象回路１１は、内部の論理回路が動作すると、論理回路に含まれる順序回路（フリップフロップ）にその動作状態が保持される。即ち、フリップフロップは、対象回路１１の内部状態を保持している。このフリップフロップに保持された内部ノードデータを退避することにより対象回路１１の内部状態が外部に出力でき、データを各フリップフロップに設定することにより対象回路１１の内部状態を設定することができる。一方、フリップフロップは、スキャンパステスト時、スキャンチェーン１５を形成し、その保持しているデータをシリアル出力することができる。また、スキャンチェーン１５は、データをシリアル入力して、スキャンパステストするためのデータを各フリップフロップに設定することができる。従って、このスキャンチェーン１５を使うことにより、フリップフロップの状態を読み出し、書き込むことが可能である。
【００１９】
対象回路１１は、バックアップ制御回路１２の制御に基づいて、スキャンチェーン１５の出力、即ち、スキャン出力ＳＯとスキャンチェーン１５の途中の複数の位置から取り出したデータＴＯとをバックアップメモリ１３に出力する。対象回路１１の全てのフリップフロップに保持されるデータが出力されると、対象回路１１の内部状態がバックアップメモリ１３に退避されたことになる。また、対象回路１１は、バックアップ制御回路１２の制御に基づいて、バックアップメモリ１３から出力されるデータＴＩを取り込みスキャンチェーン１５に設定する。スキャンチェーン１５にデータが設定されると、対象回路１１の内部状態が回復されたことになる。対象回路１１を回復状態から通常動作状態に切り替えると、対象回路１１は、通常動作に復帰する。
【００２０】
図２にスキャンチェーンが有効になっている時のスキャンチェーン１５の構成が示される。スキャンチェーン１５は、スキャンテスト時に複数のレジスタを連結して構成される１本のチェーンであり、この１本のチェーンを複数に分割したものがサブスキャンチェーンである。スキャンチェーン１５は、複数のサブスキャンチェーンを備える。ここでは、スキャンチェーン１５は、４つのサブスキャンチェーン２１、２２、２３、２４を備える。サブスキャンチェーン２１、２２、２３、２４は、それぞれ同数のフリップフロップを含む。サブスキャンチェーン２１、２２、２３、２４は縦続接続され、スキャンパステストの際、１つのスキャンチェーン１５として動作する。内部ノードデータの入出力時、サブスキャンチェーン２１、２２、２３、２４は並列に動作し、同時にデータを入出力する。サブスキャンチェーン２１は、選択回路２１０と、スキャンチェーンの実体であるフリップフロップ２１１〜２１４を備える。同じように、サブスキャンチェーン２２は選択回路２２０とフリップフロップ２２１〜２２４を備え、サブスキャンチェーン２３は選択回路２３０とフリップフロップ２３１〜２３４を備え、サブスキャンチェーン２４は選択回路２４０とフリップフロップ２４１〜２４４を備える。選択回路２１０、２２０、２３０、２４０は、選択信号ＴＢに基づいて、入力される２つの信号のどちらかを選択して出力する。
【００２１】
サブスキャンチェーン２１では、選択回路２１０は、スキャン入力ＳＩｎと、バックアップメモリ１３に格納されていた内部ノードデータＴＩ１とを入力する。選択回路２１０は、選択信号ＴＢに基づいて、スキャンパステスト時はスキャン入力ＳＩｎから入力されるデータを選択して出力し、内部状態退避・回復時はメモリ１３に記憶されている内部ノードデータＴＩ１を選択して出力する。フリップフロップ２１１〜２１４は鎖状に接続されてシフトレジスタを形成し、選択回路２１０の出力信号が入力される。フリップフロップ２１４の出力は、内部ノードデータＴＯ１として出力されるとともに、次段のサブスキャンチェーン２２に送られる。
【００２２】
サブスキャンチェーン２２では、選択回路２２０は、前段のサブスキャンチェーン２１の出力データＴＯ１と、バックアップメモリ１３に格納されていた内部ノードデータＴＩ２とを入力する。選択回路２２０は、選択信号ＴＢに基づいて、スキャンパステスト時は前段出力データＴＯ１を選択して出力し、内部状態退避・回復時はメモリ１３に記憶されている内部ノードデータＴＩ２を選択して出力する。フリップフロップ２２１〜２２４は、鎖状に接続されてシフトレジスタを形成し、選択回路２２０の出力信号が入力される。フリップフロップ２２４の出力は、内部ノードデータＴＯ２として出力されるとともに、次段のサブスキャンチェーン２３に送られる。
【００２３】
同じように、サブスキャンチェーン２３では、選択回路２３０は、前段のサブスキャンチェーン２２の出力データＴＯ２と、バックアップメモリ１３に格納されていた内部ノードデータＴＩ３とを入力する。選択回路２３０は、選択信号ＴＢに基づいて、スキャンパステスト時は前段出力データＴＯ２を選択して出力し、内部状態退避・回復時はメモリ１３に記憶されている内部ノードデータＴＩ３を選択して出力する。フリップフロップ２３１〜２３４は、鎖状に接続されてシフトレジスタを形成し、選択回路２３０の出力信号が入力される。フリップフロップ２３４の出力は、内部ノードデータＴＯ３として出力されるとともに、次段のサブスキャンチェーン２４に送られる。
【００２４】
同じように、サブスキャンチェーン２４では、選択回路２４０は、前段のサブスキャンチェーン２３の出力データＴＯ３と、バックアップメモリ１３に格納されていた内部ノードデータＴＩ４とを入力する。選択信号ＴＢに基づいて、選択回路２４０は、スキャンパステスト時は前段出力データＴＯ３を選択して出力し、内部状態退避・回復時はメモリ１３に記憶されている内部ノードデータＴＩ４を選択して出力する。フリップフロップ２４１〜２４４は、鎖状に接続されてシフトレジスタを形成し、選択回路２４０の出力信号が入力される。フリップフロップ２４４の出力は、内部ノードデータＴＯ４として出力されるとともに、スキャンチェーン１５の出力ＳＯｎとして外部に出力される。
【００２５】
次にスキャンチェーン１５の動作が説明される。対象回路１１の本来の機能動作時、フリップフロップ２１１〜２１４、フリップフロップ２２１〜２２４、フリップフロップ２３１〜２３４、フリップフロップ２４１〜２４４は、内部論理回路のレジスタとして、対象回路１１の内部状態（内部ノードデータ）を保持している。
【００２６】
スキャンパステストの場合、対象回路１１に内在するフリップフロップは、図２に示されるように、スキャンチェーン１５を構成するように接続される。スキャンチェーンに関してはよく知られているため、詳細な説明は省略される。実際には、接続配線されていて、図示されていないフリップフロップに内蔵された選択回路が、スキャンチェーンを形成する時にスキャンチェーンの信号を選択するように設定される。選択回路２１０、２２０、２３０、２４０は、選択信号ＴＢによりスキャンデータ側のデータを選択して出力するように設定される。従って、サブスキャンチェーン２１〜２４に含まれるフリップフロップは、連結された１つのシフトレジスタを形成する。スキャンクロックに同期してスキャンデータは、スキャン入力ＳＩｎから入力され、スキャン出力ＳＯｎに向かって順次フリップフロップを移動していく。全てのフリップフロップにスキャンデータが設定されると、各フリップフロップは、一旦スキャンチェーン１５の構成から解放され、本来の内部論理回路である対象回路１１のデータを取り込む。このとき、各フリップフロップはスキャンデータを出力しているため、各フリップフロップはスキャンパステストの結果を保持することになる。その後、フリップフロップはスキャンチェーン１５の構成に戻る。スキャンパステストの結果を保持するシフトレジスタは、スキャンクロックに基づいて、スキャンパステストの結果データをスキャン出力ＳＯｎから出力する。
【００２７】
内部ノードデータ退避の場合、スキャンチェーン１５は、サブスキャンチェーン２１〜２４が並列に機能するように設定される。選択信号ＴＢは、どちらに設定されていてもよいが、ここではバックアップメモリ１３の出力（ＴＩ）を選択するように設定される。スキャンパステスト時と同じように、フリップフロップに保持されている内部ノードデータは、クロックに同期して並列にサブスキャンチェーンの出力データＴＯ１〜ＴＯ４として順次バックアップメモリ１３に出力される。バックアップメモリ１３のアドレスＡＤＤＲは、バックアップ制御回路１２によりクロックに同期して更新され、サブスキャンチェーンの出力データＴＯ１〜ＴＯ４は、バックアップメモリ１３に順に記憶される。サブスキャンチェーンに含まれるフリップフロップの数だけデータを出力すると、このスキャンチェーン１５に含まれる全ての内部ノードデータは、バックアップメモリ１３に出力されたことになる。従って、スキャンチェーン１５の出力ＳＯｎをメモリに接続して内部ノードデータを記憶させるより、出力時間は短縮できる。図２に示されるように、スキャンチェーン１５をサブスキャンチェーン２１〜２４のように４分割すると、出力時間は１／４になる。
【００２８】
内部ノードデータ回復の場合、即ち、バックアップメモリ１３に保持されている内部ノードデータを元のフリップフロップに設定する場合、スキャンチェーン１５は、サブスキャンチェーン２１〜２４が並列に機能するように設定される。選択信号ＴＢは、バックアップメモリ１３の出力（ＴＩ）を選択するように設定される。バックアップメモリ１３から内部ノードデータＴＩ１〜４がサブスキャンチェーン２１〜２４に入力される。バックアップ制御回路１２は、バックアップメモリ１３のアドレスＡＤＤＲを初期設定値からクロック毎に更新して、内部ノードデータＴＩ１〜４が退避された順にサブスキャンチェーン２１〜２４に供給されるように制御する。サブスキャンチェーン２１〜２４に供給される内部ノードデータＴＩ１〜４は、選択回路２１０、２２０、２３０、２４０を介してサブスキャンチェーン内に形成されるシフトレジスタを出力ＴＯ１〜４に向けて移動していく。サブスキャンチェーンに含まれるフリップフロップの数だけシフトすると、各フリップフロップには元の内部ノードデータが設定されている。これで対象回路１１の内部状態は回復したことになる。その後、バックアップ回復モードを解除すると、対象回路１１は通常の動作に復帰する。
【００２９】
このように、スキャンチェーン（サブスキャンチェーン）を用いて、内部ノードデータをバックアップメモリ１３に退避し、バックアップメモリ１３から内部ノードデータを対象回路１１に回復する回路を内蔵する半導体集積回路の動作状態が図３を参照して説明される。ここでは、対象回路１１は、半導体集積回路に内蔵されるＣＰＵ（中央演算処理部）であるとし、ＣＰＵが実行しているソフトウェアの処理状態が対象回路１１の状態として説明される。図３の左側に半導体集積回路を外部（ソフトウェア）の観点で見たときの動作状態が示される。図３の右側に内部（ハードウェア）の観点で見たときの対象回路１１、バックアップ制御回路１２、バックアップメモリ１３の動作状態が示される。
【００３０】
半導体集積回路は、通常の動作において、例えば、周期処理やマンマシンインタフェース処理等により待機状態になることがある。そのとき、ＣＰＵ１１は、ＷＦＩ（Ｗａｉｔ  ｆｏｒ  Ｉｎｔｅｒｒｕｐｔ）命令を実行し、待機状態になる。通常、待機状態では、ソフトウェアの実行は停止される。その場合、処理再開を指示する割り込み信号ＩＮＴが入力されると即時実行再開ができるように、ハードウェアは必要最小限の待機電圧まで電源電圧を引き下げ、消費電力を削減する。さらに消費電力を削減するために、本発明では、図３に破線により囲まれて示されるように、ＣＰＵ１１の電源供給が停止され、待機状態におけるリーク電流が削減される。ＣＰＵ１１の電源がオフされると、ＣＰＵ１１の内部状態がクリアされるため、電源がオフされる前に、ＣＰＵ１１の内部状態がバックアップメモリ１３に退避される。
【００３１】
ＣＰＵ１１の動作を再開するトリガとなる割り込み信号ＩＮＴがバックアップ制御回路１２に入力されると、ＣＰＵ１１の電源がオンされる。ＣＰＵ１１の内部状態がバックアップメモリ１３から回復され、ソフトウェアの実行が再開される。割り込み信号ＩＮＴが入力されるため、ソフトウェアは割り込み処理をまず実行し、その後通常の処理に戻ることになる。従って、ソフトウェアとしては、電源のオン・オフに影響されずに、待機状態が維持されていたように動作することになる。
【００３２】
即ち、対象回路（ＣＰＵ）１１は、ＷＦＩ命令が発行されるまで通常の作動状態であり、ＷＦＩ命令によりソフトウェアは停止するため、内部状態は凍結される。ＷＦＩ命令が発行されると、バックアップ制御回路１２とバックアップメモリ１３は、待機状態から起動される。バックアップ制御回路１２は、対象回路（ＣＰＵ）１１をスキャンチェーンが設定される退避状態にする。バックアップ制御回路１２は、対象回路（ＣＰＵ）１１の凍結された内部ノードデータをバックアップメモリ１３に退避する。対象回路（ＣＰＵ）１１の全ての内部ノードデータが退避されると、バックアップ制御回路１２は、スイッチ１４を制御して対象回路（ＣＰＵ）１１の電源供給を停止する。バックアップ制御回路１２は、割り込み信号ＩＮＴが入力されるまで、待機状態になる。バックアップ制御回路１２とバックアップメモリ１３は、対象回路（ＣＰＵ）１１に比較して回路規模も小さく、また、低消費電力になるように構成されるため、リーク電流は削減される。
【００３３】
割り込み信号ＩＮＴがバックアップ制御回路１２に入力されると、バックアップ制御回路１２は、待機状態から作動状態に復帰する。まず、バックアップ制御回路１２は、スイッチ１４を制御して対象回路（ＣＰＵ）１１の電源供給を再開する。次に、バックアップ制御回路１２は、対象回路（ＣＰＵ）１１をスキャンチェーンが設定される回復状態にする。バックアップ制御回路１２は、バックアップメモリ１３に記憶されている内部ノードデータＴＩをサブスキャンチェーンに供給し、内部状態をリストアする。対象回路（ＣＰＵ）１１の内部状態が元の状態に回復すると、バックアップ制御回路１２は、対象回路（ＣＰＵ）１１の回復状態を解除して対象回路（ＣＰＵ）１１を起動する。対象回路（ＣＰＵ）１１は、動作を再開する。バックアップ制御回路１２とバックアップメモリ１３は、次のＷＦＩ命令発行まで待機状態になる。ここでは、対象回路１１はＣＰＵであるとして説明されたが、対象回路１１はＣＰＵに限らずランダムロジック回路でも同様に実施することが可能である。
【００３４】
このように、スキャンチェーン１５よりも短いサブスキャンチェーン２１〜２４にシリアルデータを送り込んで内部状態を再設定することになり、復帰時間は短縮される。上述のように、本発明によれば、より短い時間で内部状態を退避・回復することが可能になり、かつ、待機期間のリーク電流を削減することができる。
【００３５】
図４は、さらに最小回復時間を短縮するための経路を設けたスキャンチェーンの構成を示すブロック図である。最小回復時間は、内部状態データの退避が開始された直後に退避の中止、即ち、内部状態データの回復が指示されたときに要する時間である。図４に示されるスキャンチェーン１５は、図２に示されるサブスキャンチェーン２１〜２４の各々の先頭にさらに選択回路が設けられている。
【００３６】
このスキャンチェーン１５は、サブスキャンチェーン３１、３２、３３、３４を備える。サブスキャンチェーン３１は、選択回路３１９、３１０とフリップフロップ３１１〜３１４を備える。同じように、サブスキャンチェーン３２は、選択回路３２９、３２０とフリップフロップ３２１〜３２４を備え、サブスキャンチェーン３３は、選択回路３３９、３３０とフリップフロップ３３１〜３３４を備え、サブスキャンチェーン３４は、選択回路３４９、３４０とフリップフロップ３４１〜３４４を備える。選択回路３１９、３２９、３３９、３４９を除く部分は、図２に示されるスキャンチェーンと同じである。
【００３７】
選択回路３１９、３２９、３３９、３４９は、選択信号ＢＲに基づいて、バックアップメモリ１３が出力する退避された内部ノードデータＴＩと、サブスキャンチェーンが出力する内部ノードデータＴＯのいずれかを選択して選択回路３１０、３２０、３３０、３４０に出力する。
【００３８】
サブスキャンチェーン３１では、選択回路３１９は、バックアップメモリ１３から入力される内部ノードデータＴＩ１と、サブスキャンチェーン３１が出力する内部ノードデータＴＯ１とを入力する。選択回路３１９は、選択信号ＢＲに基づいて、内部状態退避時はフィードバックされるように内部ノードデータＴＯ１を選択して出力し、内部状態回復時は退避されていた内部ノードデータＴＩ１を選択して出力する。選択回路３１０は、スキャン入力ＳＩｎと、選択回路３１９の出力信号とを入力する。選択回路３１０は、選択信号ＴＢに基づいて、スキャンパステスト時はスキャン入力信号ＳＩｎを選択して出力し、内部状態退避・回復時は選択回路３１９の出力信号を選択して出力する。フリップフロップ３１１〜３１４は、鎖状に接続されてシフトレジスタを形成し、選択回路３１０の出力信号が入力される。フリップフロップ３１４の出力信号は、内部ノードデータＴＯ１として出力されるとともに、次段のサブスキャンチェーン３２に送られる。
【００３９】
サブスキャンチェーン３２では、選択回路３２９は、バックアップメモリ１３から入力される内部ノードデータＴＩ２と、サブスキャンチェーン３２が出力する内部ノードデータＴＯ２とを入力する。選択回路３２９は、選択信号ＢＲに基づいて、内部状態退避時はフィードバックされるように内部ノードデータＴＯ２を選択して出力し、内部状態回復時は退避されていた内部状態ＴＩ２を選択して出力する。選択回路３２０は、前段のサブスキャンチェーン３１の出力データＴＯ１と、選択回路３２９の出力信号とを入力する。選択回路３２０は、選択信号ＴＢに基づいて、スキャンパステスト時は前段出力データＴＯ１を選択して出力し、内部状態退避・回復時は選択回路３２９の出力信号を選択して出力する。フリップフロップ３２１〜３２４は、鎖状に接続されてシフトレジスタを形成し、選択回路３２０の出力信号が入力される。フリップフロップ３２４の出力信号は、内部ノードデータＴＯ２として出力されるとともに、次段のサブスキャンチェーン３３に送られる。
【００４０】
同じように、サブスキャンチェーン３３では、選択回路３３９は、バックアップメモリ１３から入力される内部ノードデータＴＩ３と、サブスキャンチェーン３３が出力する内部ノードデータＴＯ３とを入力する。選択回路３３９は、選択信号ＢＲに基づいて、内部状態退避時はフィードバックされるように内部ノードデータＴＯ３を選択して出力し、内部状態回復時は退避されていた内部状態ＴＩ３を選択して出力する。選択回路３３０は、前段のサブスキャンチェーン３２の出力データＴＯ２と、選択回路３３９の出力データとを入力する。選択回路３３０は、選択信号ＴＢに基づいて、スキャンパステスト時は前段出力データＴＯ２を選択して出力し、内部状態退避・回復時は選択回路３３９の出力信号を選択して出力する。フリップフロップ３３１〜３３４は、鎖状に接続されてシフトレジスタを形成し、選択回路３３０の出力信号が入力される。フリップフロップ３３４の出力は、内部ノードデータＴＯ３として出力されるとともに、次段のサブスキャンチェーン３４に送られる。
【００４１】
同じように、サブスキャンチェーン３４では、選択回路３４９は、バックアップメモリ１３から入力される内部ノードデータＴＩ４と、サブスキャンチェーン３４が出力する内部ノードデータＴＯ４とを入力する。選択回路３４９は、選択信号ＢＲに基づいて、内部状態退避時はフィードバックされるように内部ノードデータＴＯ４を選択して出力し、内部状態回復時は退避されていた内部状態ＴＩ４を選択して出力する。選択回路３４０は、前段のサブスキャンチェーン３３の出力データＴＯ３と、選択回路３４９の出力データとを入力する。選択回路３４０は、選択信号ＴＢに基づいて、スキャンパステスト時は前段出力データＴＯ３を選択して出力し、内部状態退避・回復時は選択回路３４９の出力信号を選択して出力する。フリップフロップ３４１〜３４４は、鎖状に接続されてシフトレジスタを形成し、選択回路３４０の出力信号が入力される。フリップフロップ３４４の出力は、内部ノードデータＴＯ４として出力されるとともに、スキャンチェーン１５の出力ＳＯｎとして外部に出力される。
【００４２】
図５Ａ、Ｂ、Ｃを参照してスキャンチェーン１５の動作が説明される。スキャンチェーンが形成されていない時、フリップフロップ３１１〜３１４、フリップフロップ３２１〜３２４、フリップフロップ３３１〜３３４、フリップフロップ３４１〜３４４は、対象回路１１の内部状態を保持している。
【００４３】
スキャンパステストの場合、図５Ａに示されるように、対象回路１１に内在するフリップフロップはスキャンチェーンを形成する。このとき、選択信号ＴＢは、スキャンパステスト用のデータを選択するように設定される。選択信号ＢＲの設定は、信号の経路に影響しないのでどちらでもよい。従って、フリップフロップ３１１〜３１４、フリップフロップ３２１〜３２４、フリップフロップ３３１〜３３４、フリップフロップ３４１〜３４４は、連続する１つのシフトレジスタを形成する。図５Ａに太線で示されるように、スキャンパステスト用データは、スキャン入力ＳＩｎから入力され、順次フリップフロップを移動して各フリップフロップに設定される。
【００４４】
各フリップフロップにスキャンパステスト用データが設定されると、一旦スキャンチェーンは解除され、内部論理の動作チェックが行われる。その結果は、各フリップフロップに取り込まれ、再度スキャンチェーンが形成される。各フリップフロップに設定されたチェック結果は、シフトレジスタを形成しているフリップフロップを移動してスキャン出力ＳＯｎから順次出力される。このように、スキャンパステストにおけるデータの入出力が行われる。
【００４５】
次に、図５Ｂを参照して対象回路１１の内部ノードデータをバックアップメモリ１３に退避する退避動作が説明される。内部ノードデータの退避動作の場合、選択回路３１０、３２０、３３０、３４０は、それぞれ、選択信号ＴＢに基づいて、選択回路３１９、３２９、３３９、３４９から入力されるデータを選択して出力するように設定される。選択信号ＢＲは、サブスキャンチェーン３１〜３４の出力ＴＯ１〜ＴＯ４をそれぞれ自身の入力ＴＩ１〜ＴＩ４に戻すように設定される。即ち、図５Ｂに太線で示されるように、内部ノードデータは、各サブスキャンチェーン内で循環するようにシフトされる。従って、サブスキャンチェーン３１に保持されていた内部ノードデータが全て出力データＴＯ１として出力されると、フリップフロップ３１１〜３１４には元の内部ノードデータが設定されていることになる。サブスキャンチェーン３２、３３、３４においても同じように、内部ノードデータを全て出力し終わると、フリップフロップ３２１〜３２４、フリップフロップ３３１〜３３４、フリップフロップ３４１〜３４４は、元の内部ノードデータを保持する。
【００４６】
これは、内部ノードデータの退避と回復とを同時に行っていることに他ならない。例えば、対象回路１１の内部ノードデータをバックアップメモリ１３に退避している最中に割り込み信号ＩＮＴが入力され、復帰動作を開始しなければならない場合、退避動作が完了した時点で対象回路の動作を再開することが可能となる。図２に示されるスキャンチェーン１５の構成では、一旦退避動作が開始されると、内部ノードデータを全てバックアップメモリ１３に退避し、その後バックアップメモリ１３から内部ノードデータをスキャンチェーン１５に回復させる必要がある。それに対して、このように、サブスキャンチェーン３１〜３４の内部ノードデータＴＯ１〜ＴＯ４を自身に循環させることにより、退避動作直後に対象回路１１の通常動作を再開することが可能となる。従って、退避動作が開始されてから動作回復までの時間を短縮することができる。
【００４７】
図５Ｃを参照してバックアップメモリ１３に格納されている内部ノードデータから対象回路１１の内部状態を回復する回復動作が説明される。バックアップメモリ１３には、図５Ｂを参照して説明されたように、対象回路１１の内部ノードデータが順に格納されている。このデータを対象回路１１に回復する場合、選択回路３１０、３２０、３３０、３４０は、選択信号ＴＢに基づいて、それぞれ選択回路３１９、３２９、３３９、３４９から入力されるデータを選択して出力するように設定される。選択信号ＢＲは、選択回路３１９、３２９、３３９、３４９がバックアップメモリ１３から出力される内部ノードデータＴＩを選択して出力するように設定される。
【００４８】
即ち、図５Ｃに太線で示されるように、バックアップメモリ１３から入力される内部ノードデータＴＩ１は、サブスキャンチェーン３１内をシフトされてフリップフロップ３１１〜３１４に設定される。同じように、内部ノードデータＴＩ２は、サブスキャンチェーン３２内をシフトされてフリップフロップ３２１〜３２４に設定される。内部ノードデータＴＩ３は、サブスキャンチェーン３３内をシフトされてフリップフロップ３３１〜３３４に設定される。内部ノードデータＴＩ４は、サブスキャンチェーン３４内をシフトされてフリップフロップ３４１〜３４４に設定される。
【００４９】
このように、バックアップメモリ１３に保持されている内部ノードデータは、フリップフロップ３１１〜３１４、フリップフロップ３２１〜３２４、フリップフロップ３３１〜３３４、フリップフロップ３４１〜３４４に格納され、元の内部状態に戻る。その後、スキャンチェーンが解除されて対象回路１１は通常の動作に復帰する。
【００５０】
上述において、サブスキャンチェーンは、それぞれ同数のフリップフロップを含むものとして説明したが、スキャンチェーン１５に含まれるフリップフロップの総数は、サブスキャンチェーン数の倍数であるとは限らない。従って、各サブスキャンチェーンに含まれるフリップフロップの数が異なる場合、仮の内部ノードデータを保持するダミーのフリップフロップを挿入して数を揃えることが好ましい。また、含まれるフリップフロップの数が等しいサブスキャンチェーン毎に同時にバックアップメモリに出力するように構成することも可能である。その場合、挿入されるダミーフリップフロップの数を少なく、あるいは不用とすることができる。また、サブスキャンチェーン毎に与えるシフトクロックを変えることにより、内蔵するフリップフロップの数が異なるサブスキャンチェーンの内部ノードデータを退避・回復することも可能である。
【００５１】
図６は、ダミーフリップフロップを備えたスキャンチェーン１５の一例を示すブロック図である。このダミーフリップフロップは、他のスキャンチェーンに属し、スキャンパステストの時、他のスキャンチェーンの一部として動作する。図６に示されるスキャンチェーン１５は、図２に示されるスキャンチェーンのフリップフロップ２２４、２４１がない状態である。即ち、図６に示されるスキャンチェーン１５は、サブスキャンチェーン２２、２４に含まれるフリップフロップの数が、サブスキャンチェーン２１、２３より少ない。サブスキャンチェーン２２は、スキャンチェーン１５に含まれていないフリップフロップ（以降ダミーフリップフロップと称する）２２４’をフリップフロップ２２３の後段に接続される。従って、フリップフロップ２２３は、ダミーフリップフロップ２２４’と次段のサブスキャンチェーン２３の選択回路２３０とに接続される。ダミーフリップフロップ２２４’は、フリップフロップ２２３の出力をバックアップメモリ１３に出力する。また、サブスキャンチェーン２４は、ダミーフリップフロップ２４１’を選択回路２４０の前段に接続される。バックアップメモリ１３から出力された内部ノードデータＴＩ４は、ダミーフリップフロップ２４１’に入力される。ダミーフリップフロプ２４１’の出力は、選択回路２４０を介してシフトレジスタを構成するフリップフロップ２４２〜２４４に入力される。このように、ダミーフリップフロップ２２４’、２４１’をサブスキャンチェーン２２、２４に接続することにより、サブスキャンチェーン２１、２３に含まれるフリップフロップと同数のフリップフロップを含むサブスキャンチェーン２２’、２４’が形成される。従って、サブスキャンチェーン２１、２２’、２３、２４’は、同じデータ数の内部状態データをバックアップメモリ１３に出力することが可能となる。また、サブスキャンチェーン２１、２２’、２３、２４’は、同じデータ数の内部状態データをバックアップメモリ１３から取り込んで各フリップフロップに設定することが可能となる。ここでは、過不足のフリップフロップ数はサブスキャンチェーン当たり１回路で説明したが、複数であっても各サブスキャンチェーンのフリップフロップ数を揃えることはできる。また、ダミーフリップフロップは、元のサブスキャンチェーンの前後のどちらに接続されても、さらに前後両側に接続されても同じように動作する。また、このダミーフリップフロップが接続されたサブスキャンチェーンの先頭に第２の選択回路を配置し、図４に示されるように、各サブスキャンチェーンの出力を先頭にフィードバックする構成にすることも可能である。
【００５２】
このように、ダミーフリップフロップを接続することにより、スキャンパステスト時のスキャンチェーンにダミーフリップフロップを含むことなく、サブスキャンチェーンに含まれるフリップフロップの数をそろえることができる。このダミーフリップフロップは、バックアップ制御回路と一緒にスキャンチェーンに含めることができ、対象回路のスキャンパステストに影響を与えることを防ぐことができる。
【００５３】
次に、図７を参照して第２の実施の形態が説明される。第２の実施の形態では、スキャンチェーンとバックアップメモリとのインタフェースが第１の実施の形態と異なる例が説明される。図７に、半導体集積回路の構成ブロック図が示される。半導体集積回路は、対象回路１１とバックアップメモリ１３とバックアップ制御回路１２とスイッチ１４とバスインタフェース部１６とを具備する。対象回路１１は、内部状態が外部に退避される回路であり、その電源はスイッチ１４により制御される。スイッチ１４は、バックアップ制御回路１２により制御される。対象回路１１の内部状態は、バスインタフェース部１６によりシステムバス１８に乗せられ、バックアップメモリ１３に退避される。また、バックアップメモリ１３に記憶されている内部状態は、システムバス１８に乗せられ、バスインタフェース部１６を介して対象回路１１に回復される。対象回路１１の内部状態の退避・回復は、バックアップ制御回路１２により制御される。
【００５４】
対象回路１１の構成、動作は、図１に示される回路と同じである。従って、スキャンチェーン１５に保持される内部状態は、スキャンパステストのときスキャン出力ＳＯとして外部に出力される。対象回路１１の内部状態退避のとき、スキャンチェーン１５に保持される内部ノードデータは、サブスキャンチェーンに分割されたパスを介してバスインタフェース部１６に送られる。このとき、内部ノードデータは、バスインタフェース部１６において、バス幅に等しいデータ幅でバスインタフェース部１６に送られることが好ましい。バスインタフェース部１６は、内部ノードデータの信号レベルやタイミングを調整してシステムバス１８に出力する。これに同期して、バックアップメモリ１３は、システムバス１８から内部ノードデータを取り込み、記憶する。バックアップメモリ１３のアドレスＡＤＤＲは、バックアップ制御回路１２から供給される。
【００５５】
対象回路１１の内部状態回復のとき、バックアップメモリ１３に格納されている内部ノードデータは、バックアップ制御回路１２から出力されるアドレスＡＤＤＲに基づいて読み出され、システムバス１８に送られる。これに同期して、バスインタフェース部１６は、システムバス１８からデータを取り込み、対象回路１１のサブスキャンチェーンに内部ノードデータＴＩとして供給する。システムバス１８からデータを取り込むタイミング、信号レベルの変換などは、バスインタフェース部１６が調整する。サブスキャンチェーンは、第１の実施の形態において説明された動作を行う。
【００５６】
このように、内部ノードデータＴＯは、システムバス１８を介してバックアップメモリ１３に格納され、バックアップメモリ１３に格納される内部ノードデータは、システムバス１８を介して対象回路１１に内部ノードデータＴＩとして供給され、対象回路１１は、元の内部状態に戻る。
【００５７】
システムバス１８を介して対象回路１１の内部ノードデータをバックアップメモリ１３に退避し、バックアップメモリ１３から回復することにより、半導体集積回路は、システムバス１８に接続されているシステムメモリの一部をバックアップメモリ１３として使用することも可能となる。その場合、バックアップ制御回路１２は、システムバス１８のインタフェース仕様に基づいてメモリをアクセスすることになる。
【００５８】
また、システムバス１８を介してシステムメモリにアクセス可能となれば、バックアップメモリ１３は、対象回路１１を内蔵する半導体集積回路の外部にあってもよいことになる。即ち、汎用のインタフェースがサポートされることにより、バックアップメモリとして使用されるメモリの選択の自由度が向上する。
【００５９】
上述のように、スキャンチェーンをサブスキャンチェーンに分割することにより、対象回路１１の内部ノードデータは、短時間に退避され、回復されるようになる。さらに、対象回路１１の内部状態が外部で保持されるため、対象回路１１の電源供給を停止することができ、消費電力の低減が可能となる。また、サブスキャンチェーンの各々の先頭に選択回路を挿入し、サブスキャンチェーンの出力を戻すことにより、内部状態の退避動作の中止に応じる回復動作の時間をさらに短縮することが可能となる。
【図面の簡単な説明】
【００６０】
【図１】本発明の実施の形態に係る半導体集積回路の構成を示すブロック図である。
【図２】同スキャンチェーンの構成を示すブロック図である。
【図３】同半導体集積回路の動作状態を示す図である。
【図４】同スキャンチェーンの他の構成を示すブロック図である。
【図５Ａ】同他の構成のスキャンチェーンのテスト時の動作を示す図である。
【図５Ｂ】同他の構成のスキャンチェーンの退避時の動作を示す図である。
【図５Ｃ】同他の構成のスキャンチェーンの回復時の動作を示す図である。
【図６】同ダミーフリップフロップを備えるスキャンチェーンの構成を示すブロック図である。
【図７】同半導体集積回路の他の構成を示すブロック図である。
【符号の説明】
【００６１】
１１  対象回路
１２  バックアップ制御回路
１３  バックアップメモリ
１４  スイッチ
１５  スキャンチェーン
１６  バスインタフェース部
１８  システムバス
２１、２２、２３、２４  サブスキャンチェーン
２１０、２２０、２３０、２４０  選択回路
２１１〜２１４、２２１〜２２４、２３１〜２３４、２４１〜２４４  フリップフロップ
３１、３２、３３、３４  サブスキャンチェーン
３１０、３２０、３３０、３４０  選択回路
３１１〜３１４、３２１〜３２４、３３１〜３３４、３４１〜３４４  フリップフロップ
３１９、３２９、３３９、３４９  選択回路
【図１】
2008251013.tif 000003
【図２】
2008251013.tif 000004
【図３】
2008251013.tif 000005
【図４】
2008251013.tif 000006
【図５Ａ】
2008251013.tif 000007
【図５Ｂ】
2008251013.tif 000008
【図５Ｃ】
2008251013.tif 000009
【図６】
2008251013.tif 000010
【図７】
2008251013.tif 000011