(57)【要約】【課題】ＦＦの値をスキャンテスト開始時の値にもどすことができ、回路規模の増加を抑制した解析装置を提供する。【解決手段】本発明に係る解析装置は、スキャンテスト機能を有する解析装置１００であって、複数のフリップ・フロップを含み、スキャンテスト時に前記複数のフリップ・フロップがシフトレジスタを構成する複数のスキャンパス１０１ａ、１０１ｂ及び１０１ｃと、第１の接続状態と、複数のスキャンパス１０１ａ、１０１ｂ及び１０１ｃを直列に接続し、かつ最終段のスキャンパス１０１ｃの出力１０３ｃを初段のスキャンパス１０１ａの入力に接続する第２の接続状態とを切り替えるセレクタ１０４ａ、１０４ｂ及び１０４ｃとを備える。【選択図】図１
2008089545.tif 000002
【特許請求の範囲】
【請求項１】
スキャンテスト機能を有する解析装置であって、
複数のフリップ・フロップを含み、スキャンテスト時に前記複数のフリップ・フロップがシフトレジスタを構成する複数のスキャンパスと、
第１の接続状態と、前記複数のスキャンパスを直列に接続し、かつ最終段のスキャンパスの出力を初段のスキャンパスの入力に接続する第２の接続状態とを切り替える切替手段とを備える
ことを特徴とする解析装置。
【請求項２】
スキャンテスト機能を有する解析装置であって、
複数のフリップ・フロップを含み、スキャンテスト時に前記複数のフリップ・フロップがシフトレジスタを構成する複数のスキャンパスと、
第１の接続状態と、前記各スキャンパスの出力を該スキャンパスの入力に接続する第２の接続状態とを切り替える切替手段と、
スキャンテスト時の前記複数のスキャンパスに含まれる全てのフリップ・フロップのデータを読み出すスキャン動作中に、前記各スキャンパスに、該スキャンパスに含まれるフリップ・フロップの段数と同数のクロックを供給するクロック制御手段とを備える
ことを特徴とする解析装置。
【請求項３】
前記切替手段は、前記各スキャンパスの入力に、スキャンテスト時に該スキャンパスに書込まれる信号を接続する前記第１の接続状態と、前記第２の接続状態とを切り替える
ことを特徴とする請求項１又は２記載の解析装置。
【請求項４】
前記解析装置は、さらに、
前記最終段のスキャンパスの出力を任意のデータに置き換えるデータ変換手段を備え、
前記切替手段は、前記第１の接続状態と、前記複数のスキャンパスを直列に接続し、かつ前記データ変換手段が置き換えたデータを初段のスキャンパスの入力に接続する前記第２の接続状態とを切り替える
ことを特徴とする請求項１記載の解析装置。
【請求項５】
前記データ変換手段は、
前記複数のスキャンパスに含まれる個々のフリップ・フロップを特定する情報を記憶する記憶手段を備え、
前記データ変換手段は、前記記憶手段に記憶される前記情報に基づき、前記複数のスキャンパスに含まれるフリップ・フロップに格納されるデータを置き換える
ことを特徴とする請求項４記載の解析装置。
【請求項６】
前記解析装置は、さらに、
前記複数のスキャンパスの出力をシリアル信号に変換するパラレル−シリアル変換手段を備える
ことを特徴とする請求項２記載の解析装置。
【請求項７】
前記解析装置は、さらに、
シリアル信号をパラレル信号に変換するシリアル−パラレル変換手段を備え、
前記切替手段は、前記シリアル−パラレル変換手段が変換したパラレル信号を前記スキャンパスの入力に接続する前記第１の接続状態と、前記第２の接続状態とを切り替える
ことを特徴とする請求項２記載の解析装置。
【請求項８】
前記解析装置は、さらに、
実動作時に用いられるデータを記憶する記憶手段と、
スキャンテスト時に、前記複数のスキャンパスのスキャン動作と独立して前記記憶手段の動作を制御するメモリ制御手段とを備える
ことを特徴とする請求項１又は２記載の解析装置。
【請求項９】
前記解析装置は、さらに、
実動作時に用いられるデータを記憶する第１の記憶手段と、
スキャンテストの開始時に、前記第１の記憶手段が記憶するデータを記憶する第２の記憶手段とを備える
ことを特徴とする請求項１又は２記載の解析装置。
【請求項１０】
前記複数のスキャンパスは、第１のスキャンパスと第２のスキャンパスとを含み、
前記解析装置は、
前記第１のスキャンパスを含む第１の機能ブロックと、
前記第２のスキャンパスを含み、実動作時に前記第１の機能ブロックと非同期に動作する第２の機能ブロックとを備え、
前記第１の機能ブロックは、実動作時に、前記第２の機能ブロックにデータの送信を行うデータ送信手段を備え、
前記第２の機能ブロックは、前記データ送信手段からのデータを正しく受信した場合に、該データを受信した旨を前記第１の機能ブロックに通知するアクノリッジ信号を生成するデータ受信手段を備え、
前記データ受信手段は、スキャンテストから実動作に移行し、前記第２の機能ブロックがデータ受信可能な状態となった時に、アクノリッジ信号を前記第１の機能ブロックに送信する
ことを特徴とする請求項１又は２記載の解析装置。
【請求項１１】
前記複数のスキャンパスは、第１のスキャンパスと第２のスキャンパスとを含み、
前記解析装置は、さらに、
前記第１のスキャンパスを含み、実動作時に第１のクロックで動作する第１の機能ブロックと、
前記第２のスキャンパスを含み、実動作時に前記第１のクロックと非同期な第２のクロックで動作する第２の機能ブロックと、
実動作からスキャンテストへの移行の際に、前記第１のクロックと前記第２のクロックとの位相差を検出する位相差検出手段と、
前記位相差検出手段が検出した位相差を保持する位相差保持手段と、
スキャンテストから実動作への復帰の際に、前記第１のクロックと前記第２のクロックとの位相差を前記位相差保持手段が保持する位相差に等しくなるように前記第１のクロック及び前記第２のクロックの少なくとも一方に遅延を与える遅延制御手段とを備える
ことを特徴とする請求項１又は２記載の解析装置。
【請求項１２】
前記複数のスキャンパスは、第１のスキャンパスと第２のスキャンパスとを含み、
前記解析装置は、さらに、
前記第１のスキャンパスを含み、実動作時に第１のクロックで動作する第１の機能ブロックと、
前記第２のスキャンパスを含み、実動作時に前記第１のクロックと非同期な第２のクロックで動作する第２の機能ブロックと、
前記第１のクロック、又は第３のクロックを選択し、前記第１の機能ブロックに供給する第１の選択手段と、
前記第２のクロック、又は前記第３のクロックと同期した第４のクロックを選択し、前記第２の機能ブロックに供給する第２の選択手段とを備える
ことを特徴とする請求項１又は２記載の解析装置。
【請求項１３】
前記解析装置は、さらに、
実動作時に用いられるクロックを発振する発振手段と、
実動作からスキャンテストへの移行の際に、前記発振手段の発振を停止させる発振制御手段とを備える
ことを特徴とする請求項１又は２記載の解析装置。
【請求項１４】
前記解析装置は、さらに、
スキャンテストから実動作への復帰時に、前記発振手段の発振の安定を待ち、実動作に用いられるクロックの供給を再開するクロック制御手段を備える
ことを特徴とする請求項１３記載の解析装置。
【請求項１５】
前記解析装置は、さらに、
実動作時に、外部装置からのデータを取得する外部データ取得手段と、
スキャンテスト時に前記外部装置を停止させ、スキャンテストから実動作への復帰時に前記外部装置の動作を再開させる外部装置制御手段とを備える
ことを特徴とする請求項１又は２記載の解析装置。
【請求項１６】
前記解析装置は、さらに、
実動作時に画像データを出力し、スキャンテスト時に実動作終了時の画像データを静止画像データとして出力する画像データ出力手段を備える
ことを特徴とする請求項１又は２記載の解析装置。
【請求項１７】
前記解析装置は、さらに、
スキャンテストから実動作への復帰の際に、前記画像データ出力手段の同期信号のタイミングで、実動作の再開を行う同期制御手段を備える
ことを特徴とする請求項１６記載の解析装置。
【請求項１８】
前記複数のスキャンパスは、それぞれ異なる機能ブロックに形成され、
前記解析装置は、さらに、
前記複数のスキャンパスにおけるスキャンテストと実動作とをそれぞれ個別に制御するモード切替手段とを備える
ことを特徴とする請求項１又は２記載の解析装置。
【請求項１９】
前記解析装置は、さらに、
実動作時に、内部の不具合の発生を検知し、不具合が発生した旨を示す割り込み信号を外部に出力する検知手段を備える
ことを特徴とする請求項１又は２記載の解析装置。
【請求項２０】
前記解析装置は、さらに、
外部からの信号に応じて、実動作を停止し、スキャンテストを行うモード切替手段を備える
ことを特徴とする請求項お１又は２記載の解析装置。
【請求項２１】
請求項１９記載の解析装置である第１の解析装置と、
請求項２０記載の解析装置であり、前記第１の解析装置と同一の回路構成を有する第２の解析装置と、
前記第１の解析装置及び前記第２の解析装置を、タイミングをずらして起動させる起動手段とを備え、
前記第２の解析装置の前記モード切替手段は、前記第１の解析装置の前記検知手段が出力する前記割り込み信号に応じて、実動作を停止し、スキャンテストを行う
ことを特徴とする解析装置。
【請求項２２】
前記起動手段は、前記第１の解析装置及び前記第２の解析装置の動作をリセットするリセット信号の解除のタイミングをずらすことで、前記第１の解析装置及び前記第２の解析装置を、タイミングをずらして起動させる
ことを特徴とする請求項２１記載の解析装置。
【請求項２３】
前記解析装置は、さらに、
前記複数のフリップ・フロップのうち特定のフリップ・フロップを選択する選択信号を生成する選択信号生成手段を備え、
前記各フリップ・フロップは、前記選択信号により選択された場合に、スキャンパスを用いて保持するデータを後段のフリップ・フロップに出力し、前記選択信号により選択されない場合には、前段のフリップ・フロップの出力したデータを後段のフリップ・フロップに出力する
ことを特徴とする請求項１又は２記載の解析装置。
【請求項２４】
前記解析装置は、さらに、
実動作時に、前記複数のスキャンパスのうちいずれか１以上が出力するデータが、所定のデータと一致するか否かを判定する判定手段と、
前記判定手段が一致すると判定した場合に、実動作を停止し、スキャンテストを行うモード切替手段とを備える
ことを特徴とする請求項２３記載の解析装置。
【請求項２５】
前記選択信号生成手段が生成する前記選択信号は、第１の選択信号と第２の選択信号とを含み、
前記各フリップ・フロップは、前記第１の選択信号と前記第２の選択信号との論理和により選択される
ことを特徴とする請求項２３記載の解析装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、解析装置に関し、特に、スキャンテスト機能を有する解析装置に関する。
【背景技術】
【０００２】
半導体集積回路、特に、大規模論理回路におけるテスト容易化のために、スキャンパスを用いる方法が知られている。複数のフリップ・フロップ（以下、ＦＦと称す。）により構成されるスキャンパスは、実動作時に動作する通常論理とは別に、スキャンテスト時には、複数のＦＦがシフトレジスタを構成する。これにより、スキャンテスト動作を行うモード（以下、スキャンモードと称す。）時には、回路の内部論理に影響されず、例えば、テスト用の入力端子から、回路内部のＦＦに任意の値を設定することができる。また、テスト用の出力端子に、回路内部のＦＦの値を出力することができる。
【０００３】
しかしながら、半導体集積回路に内蔵される従来のスキャンパスを用いた解析装置は、回路内部のＦＦのデータを読み出して解析した後に、引き続き動作させることが困難であった。これに対して、スキャンパスの出力信号を、スキャンパスの入力に帰還させる方法が知られている（例えば、特許文献１参照。）。
【０００４】
以下に、特許文献１に記載の従来のスキャンパスを用いた解析装置について説明する。図９は、従来の解析装置の構成を示すブロック図である。
【０００５】
図９に示す解析装置９００は、スキャンパス９０１ａ及び９０１ｂと、セレクタ９０４ａ及び９０４ｂと、ダミーＦＦ（フリップ・フロップ）９０６とを備える。
【０００６】
スキャンパス９０１ａ及び９０１ｂは、実動作回路の中に組み込まれたスキャンテスト用の回路である。スキャンパス９０１ａ及び９０１ｂは、スキャンモード時には、シフトレジスタとして動作し、クロック９０２によりシフト動作を行う。ここで、スキャンパス９０１ｂは、スキャンパス９０１ａよりＦＦの段数が少ないとする。
【０００７】
ダミーＦＦ９０６は、実動作において用いられないＦＦである。スキャンパス９０１ａの段数は、スキャンパス９０１ｂの段数とダミーＦＦ９０６の段数との和に等しい。
【０００８】
セレクタ９０４ａは、スキャンパス９０１ａの出力であるスキャンパス出力９０３ａ、又はスキャンパス入力９０５ａを選択し、スキャンパス９０１ａの入力に接続する。セレクタ９０４ｂは、スキャンパス９０１ｂの出力であるスキャンパス出力９０３ｂ、又はスキャンパス入力９０５ｂを選択し、スキャンパス９０１ｂの入力に接続する。
【０００９】
スキャンモード時には、セレクタ９０４ａ及び９０４ｂは、スキャンパス出力９０３ａ及び９０３ｂを選択する。スキャンパス９０１ａ及び９０１ｂは、クロック９０２が１発入力される毎にシフト動作を行い、内部回路のＦＦの値（スキャンパス９０１ａ及び９０１ｂのＦＦの値）が、スキャンパス出力９０３ａ及び９０３ｂに順次出力される。また、スキャンパス９０１ａに含まれるＦＦの段数と同じ数のクロック９０２が入力されると、スキャンパス９０１ａ及び９０１ｂに含まれるＦＦの値は、スキャンテスト開始時（実動作モード終了時）と同じ値となる。これにより、スキャンモード後に、引き続き実動作を行うことができる。さらに、ダミーＦＦ９０６を備えることで、ＦＦの段数が異なる複数のスキャンパスを備える場合でも、同じクロック数で、全てのスキャンパスに含まれるＦＦの値を、スキャンテスト開始時の値にもどすことができる。
【特許文献１】特開２００３−３４４５０２号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
しかしながら、従来のスキャンパスを用いた解析装置は、ＦＦの段数が異なる複数のスキャンパスを備える場合には、ダミーとしてＦＦを追加する必要があり、回路規模が増加するという問題がある。
【００１１】
そこで、本発明は、ＦＦの値をスキャンテスト開始時の値にもどすことができ、回路規模の増加を抑制した解析装置を提供することを目的とする。
【課題を解決するための手段】
【００１２】
上記目的を達成するために、本発明に係る解析装置は、スキャンテスト機能を有する解析装置であって、複数のフリップ・フロップを含み、スキャンテスト時に前記複数のフリップ・フロップがシフトレジスタを構成する複数のスキャンパスと、第１の接続状態と、前記複数のスキャンパスを直列に接続し、かつ最終段のスキャンパスの出力を初段のスキャンパスの入力に接続する第２の接続状態とを切り替える切替手段とを備える。
【００１３】
この構成によれば、切替手段により、複数のスキャンパスを直列に繋いで一つの大きなシフトレジスタとして扱うことができる。また、複数のスキャンパスは、帰還を形成する。これにより、複数のスキャンパスに含まれる全てのＦＦのデータを読み出した状態において、複数のスキャンパスに含まれるＦＦのデータは、スキャンテスト開始時のデータとなる。さらに、従来の解析装置のようにダミーのＦＦを追加する必要がないので、回路規模の増加を抑制することができる。さらに、複数のスキャンパスを備える場合であっても、それぞれのスキャンパスをつなげ、大きなスキャンパスとみなすことにより、入出力がひとつにまとめることができる。これにより、スキャンパスへのデータの入出力の経路を減少させることができる。
【００１４】
また、スキャンテスト機能を有する解析装置であって、複数のフリップ・フロップを含み、スキャンテスト時に前記複数のフリップ・フロップがシフトレジスタを構成する複数のスキャンパスと、第１の接続状態と、前記各スキャンパスの出力を該スキャンパスの入力に接続する第２の接続状態とを切り替える切替手段と、スキャンテスト時の前記複数のスキャンパスに含まれる全てのフリップ・フロップのデータを読み出すスキャン動作中に、前記各スキャンパスに、該スキャンパスに含まれるフリップ・フロップの段数と同数のクロックを供給するクロック制御手段とを備えてもよい。
【００１５】
この構成によれば、クロック制御手段は、複数のスキャンパスのＦＦの段数と同数のクロックを各スキャンパスに出力する。これにより、スキャンテスト動作により複数のスキャンパスに含まれる全てのＦＦのデータを読み出した状態において、複数のスキャンパスに含まれるＦＦのデータは、スキャンテスト開始時のデータとなる。さらに、従来の解析装置のようにダミーのＦＦを追加する必要がないので、回路規模の増加を抑制することができる。
【００１６】
また、前記切替手段は、前記各スキャンパスの入力に、スキャンテスト時に該スキャンパスに書込まれる信号を接続する前記第１の接続状態と、前記第２の接続状態とを切り替えてもよい。
【００１７】
この構成によれば、スキャンテスト時に、切替手段が各スキャンパスに書込むデータを選択することで、各スキャンパスに含まれるＦＦにデータを書込むことができる。さらに、スキャンテスト動作により読み出したデータを、再度書込むことにより、読み出した際の回路の状態を何度でも再現することができる。
【００１８】
また、前記解析装置は、さらに、前記最終段のスキャンパスの出力を任意のデータに置き換えるデータ変換手段を備え、前記切替手段は、前記第１の接続状態と、前記複数のスキャンパスを直列に接続し、かつ前記データ変換手段が置き換えたデータを初段のスキャンパスの入力に接続する前記第２の接続状態とを切り替えてもよい。
【００１９】
この構成によれば、データ変換手段により、スキャンパスの出力から取り出したデータの任意のフリップ・フロップの値を変更することができる。これにより、解析時に特定のフリップ・フロップの状態を変化させて動作がどのように変化するか確認することができる。
【００２０】
また、前記データ変換手段は、前記複数のスキャンパスに含まれる個々のフリップ・フロップを特定する情報を記憶する記憶手段を備え、前記データ変換手段は、前記記憶手段に記憶される前記情報に基づき、前記複数のスキャンパスに含まれるフリップ・フロップに格納されるデータを置き換えてもよい。
【００２１】
この構成によれば、データ変換手段は、内部、又は外部で発生した信号により記憶手段に記憶されたスキャンパスに含まれるフリップ・フロップを特定する情報を用いて指定されたフリップ・フロップにデータを書き込むことができる。これにより、特定の箇所で回路の不具合があった場合等において、例えば、割り込みにより自動的に特定の動作を切り替えることにより、回路の不具合を隠蔽することができる。
【００２２】
また、前記解析装置は、さらに、前記複数のスキャンパスの出力をシリアル信号に変換するパラレル−シリアル変換手段を備えてもよい。
【００２３】
この構成によれば、複数のスキャンパスの出力をシリアル信号に変更することができる。これにより、データを出力する端子数を減らすことができる。例えば、実動作を止めてスキャンテストを行う場合にデータを読み出す端子数が少なくて済むため、多くの端子で実動作状態での端子の状態を保ったままデータの読み出しを行うことができる。
【００２４】
また、前記解析装置は、さらに、シリアル信号をパラレル信号に変換するシリアル−パラレル変換手段を備え、前記切替手段は、前記シリアル−パラレル変換手段が変換したパラレル信号を前記スキャンパスの入力に接続する前記第１の接続状態と、前記第２の接続状態とを切り替えてもよい。
【００２５】
この構成によれば、複数のスキャンパスの入力に対して、外部から入力されたシリアル信号をパラレル信号に変換して、各スキャンパスの入力に割り振り動作をさせる。これにより、スキャンパスへのデータの入力に用いる端子数を減らすことができる。例えば、実動作を止めてスキャンテストを行う場合にデータを書き込む端子数が少なくて済むため、多くの端子で実動作状態での端子の状態を保ったままデータの書き込みを行うことができる。
【００２６】
また、前記解析装置は、さらに、実動作時に用いられるデータを記憶する記憶手段と、
スキャンテスト時に、前記複数のスキャンパスのスキャン動作と独立して前記記憶手段の動作を制御するメモリ制御手段とを備えてもよい。
【００２７】
この構成によれば、実動作を止めて、スキャンテストを行う場合においても、メモリ制御手段により、記憶手段に記憶された値を保持することができる。例えば、記憶手段がＤＲＡＭ等で構成される場合、メモリ制御手段は、スキャンテスト中にリフレッシュ動作を行うことで記憶手段のデータを保持することができる。これにより、再度、実動作に移行した際に、記憶手段は、スキャンテスト開始時（実動作終了時）のデータを保持することができる。
【００２８】
また、前記解析装置は、さらに、実動作時に用いられるデータを記憶する第１の記憶手段と、スキャンテストの開始時に、前記第１の記憶手段が記憶するデータを記憶する第２の記憶手段とを備えてもよい。
【００２９】
この構成によれば、実動作からスキャンテストに移行し、スキャンパスのＦＦの値を読み書きする場合において、実動作に用いられる第１の記憶手段のデータを第２の記憶手段に記憶し、実動作の復帰の前に第２の記憶手段のデータを、第１の記憶手段に戻すことができる。これにより、例えば、スキャンテスト動作により第１の記憶手段の保持するデータが失われる場合でも、再度、実動作に移行した際に、第１の記憶手段は、スキャンテスト開始時のデータが保持することができる。
【００３０】
また、前記複数のスキャンパスは、第１のスキャンパスと第２のスキャンパスとを含み、前記解析装置は、前記第１のスキャンパスを含む第１の機能ブロックと、前記第２のスキャンパスを含み、実動作時に前記第１の機能ブロックと非同期に動作する第２の機能ブロックとを備え、前記第１の機能ブロックは、実動作時に、前記第２の機能ブロックにデータの送信を行うデータ送信手段を備え、前記第２の機能ブロックは、前記データ送信手段からのデータを正しく受信した場合に、該データを受信した旨を前記第１の機能ブロックに通知するアクノリッジ信号を生成するデータ受信手段を備え、前記データ受信手段は、スキャンテストから実動作に移行し、前記第２の機能ブロックがデータ受信可能な状態となった時に、アクノリッジ信号を前記第１の機能ブロックに送信してもよい。
【００３１】
この構成によれば、スキャンテストから実動作への復帰の際に、第２の機能ブロックのデータ受信手段は、受信可能な状態になったことを示すアクノリッジ信号を第１の機能ブロックに送信する。第１の機能ブロックのデータ送信手段は、第２の機能ブロックからのアクノリッジ信号を受信することで、第２の機能ブロックが受信可能な状態であることを把握することができる。これにより、非同期のクロック系統を持つ機能ブロックにおいて、スキャンテストから実動作へ復帰させた時に、擬似的にクロックの周波数が上下し、位相関係が崩れることにより発生する誤動作（データの二重転送又はデータの未転送等）の発生を防止することができる。
【００３２】
また、前記複数のスキャンパスは、第１のスキャンパスと第２のスキャンパスとを含み、前記解析装置は、さらに、前記第１のスキャンパスを含み、実動作時に第１のクロックで動作する第１の機能ブロックと、前記第２のスキャンパスを含み、実動作時に前記第１のクロックと非同期な第２のクロックで動作する第２の機能ブロックと、実動作からスキャンテストへの移行の際に、前記第１のクロックと前記第２のクロックとの位相差を検出する位相差検出手段と、前記位相差検出手段が検出した位相差を保持する位相差保持手段と、スキャンテストから実動作への復帰の際に、前記第１のクロックと前記第２のクロックとの位相差を前記位相差保持手段が保持する位相差に等しくなるように前記第１のクロック及び前記第２のクロックの少なくとも一方に遅延を与える遅延制御手段とを備えてもよい。
【００３３】
この構成によれば、非同期のクロック系統を持つ機能ブロックにおいて、スキャンテストから実動作への復帰の際に、各機能ブロックに供給されるクロックの位相を実動作終了時の位相にすることができる。これにより、非同期のクロック系統を持つ機能ブロックにおいて、スキャン動作から実動作に復帰させた時に発生する誤動作（データの二重転送又はデータの未転送等）の発生を防止することができる。
【００３４】
また、前記複数のスキャンパスは、第１のスキャンパスと第２のスキャンパスとを含み、前記解析装置は、さらに、前記第１のスキャンパスを含み、実動作時に第１のクロックで動作する第１の機能ブロックと、前記第２のスキャンパスを含み、実動作時に前記第１のクロックと非同期な第２のクロックで動作する第２の機能ブロックと、前記第１のクロック、又は第３のクロックを選択し、前記第１の機能ブロックに供給する第１の選択手段と、前記第２のクロック、又は前記第３のクロックと同期した第４のクロックを選択し、前記第２の機能ブロックに供給する第２の選択手段とを備えてもよい。
【００３５】
この構成によれば、非同期のクロック系統を持つ機能ブロックにおいて、スキャンテストから実動作への復帰の際に、各機能ブロックに同期したクロックを供給することができる。これにより、非同期のクロック系統を持つ機能ブロックにおいて、スキャン動作から実動作に復帰させた時に発生する誤動作（データの二重転送又はデータの未転送等）の発生を防止することができる。
【００３６】
また、前記解析装置は、さらに、実動作時に用いられるクロックを発振する発振手段と、実動作からスキャンテストへの移行の際に、前記発振手段の発振を停止させる発振制御手段とを備えてもよい。
【００３７】
この構成によれば、実動作を停止する際に発振手段の発振を停止させ、復帰時に発振手段を再度動作させる。これにより、スキャンテスト時の発振手段の発振によるノイズの発生を低減することができる。さらに、スキャンテスト時の消費電力を低減することができる。
【００３８】
また、前記解析装置は、さらに、スキャンテストから実動作への復帰時に、前記発振手段の発振の安定を待ち、実動作に用いられるクロックの供給を再開するクロック制御手段を備えてもよい。
【００３９】
この構成によれば、発振手段の発振安定待ちを行うことにより、安定したクロックで実動作に復帰することができ、誤動作の発生を防止することができる。
【００４０】
また、前記解析装置は、さらに、実動作時に、外部装置からのデータを取得する外部データ取得手段と、スキャンテスト時に前記外部装置を停止させ、スキャンテストから実動作への復帰時に前記外部装置の動作を再開させる外部装置制御手段とを備えてもよい。
【００４１】
この構成によれば、実動作を停止しスキャンテストを行う際に、外部装置の動作を停止させ、実動作への復帰時には、外部装置の動作に再開させることにより、実動作への復帰の際に、正常に動作を継続することができる。
【００４２】
また、前記解析装置は、さらに、実動作時に画像データを出力し、スキャンテスト時に実動作終了時の画像データを静止画像データとして出力する画像データ出力手段を備えてもよい。
【００４３】
この構成によれば、スキャンテスト中において、画像データ出力手段が出力する画像データにより、外部の表示装置は、実動作終了時の画像を表示する。これにより、画像を確認しながら解析を行う場合に画像データの出力が止まることにより表示の同期信号が停止し、画像出力がされなくなるといった問題を回避することができる。
【００４４】
また、前記解析装置は、さらに、スキャンテストから実動作への復帰の際に、前記画像データ出力手段の同期信号のタイミングで、実動作の再開を行う同期制御手段を備えてもよい。
【００４５】
この構成によれば、実動作が停止したときと同じ表示のタイミングで実動作への復帰を行うことができる。これにより、スキャンテストから実動作への復帰の際の、画像の同期がずれることを回避することができる。
【００４６】
また、前記複数のスキャンパスは、それぞれ異なる機能ブロックに形成され、前記解析装置は、さらに、前記複数のスキャンパスにおけるスキャンテストと実動作とをそれぞれ個別に制御するモード切替手段とを備えてもよい。
【００４７】
この構成によれば、機能ブロックごとスキャンパスが独立して動作する。これにより、特定の機能ブロックのみ実動作を停止させてスキャン検査を行うことができる。また、実動作の状態で、特定の機能に絞りスキャンパスを動作させ内部回路の情報を読み出すことができる。
【００４８】
また、前記解析装置は、さらに、実動作時に、内部の不具合の発生を検知し、不具合が発生した旨を示す割り込み信号を外部に出力する検知手段を備えてもよい。
【００４９】
この構成によれば、検知手段は、内部での不具合などの目的の事象が発生した際に解析装置の外部に対して割り込み信号を出力する。出力された割り込み信号を観測することにより正確な不具合発生のタイミングを測定することができる。
【００５０】
また、前記解析装置は、さらに、外部からの信号に応じて、実動作を停止し、スキャンテストを行うモード切替手段を備えてもよい。
【００５１】
この構成によれば、外部からの割り込み信号により、実動作を停止し、スキャンテストに移行する。これにより、外部に接続されたデバイス等で不具合が発生したタイミングで解析装置の実動作を停止し、スキャンテストを行うことができる。
【００５２】
また、実動作時に、内部の不具合の発生を検知し、不具合が発生した旨を示す割り込み信号を外部に出力する検知手段を備える前記解析装置である第１の解析装置と、外部からの信号に応じて、実動作を停止し、スキャンテストを行うモード切替手段を備える前記解析装置であり、前記第１の解析装置と同一の回路構成を有する第２の解析装置と、前記第１の解析装置及び前記第２の解析装置を、タイミングをずらして起動させる起動手段とを備え、前記第２の解析装置の前記モード切替手段は、前記第１の解析装置の前記検知手段が出力する前記割り込み信号に応じて、実動作を停止し、スキャンテストを行ってもよい。
【００５３】
この構成によれば、第１の解析装置において不具合が発生した場合、第１の解析装置からの割り込み信号により、第２の解析装置の実動作が停止し、スキャンテストに移行する。第１の解析装置及び第２の解析装置は、同一の回路構成を有するので、第１の解析装置より遅れて動作を開始した第２の解析装置の内部状態は、不具合が発生するタイミングの前の状態となる。すなわち、第２の解析装置のスキャンパスのデータを読み出すことで、不具合発生前の内部回路の状態を解析することができる。
【００５４】
また、前記起動手段は、前記第１の解析装置及び前記第２の解析装置の動作をリセットするリセット信号の解除のタイミングをずらすことで、前記第１の解析装置及び前記第２の解析装置を、タイミングをずらして起動させてもよい。
【００５５】
この構成によれば、リセット信号を遅らせて各解析装置の起動を実現する事により、クロック等いくつかの配線を共有化することが可能となり、配線数を削減することができる。
【００５６】
また、前記解析装置は、さらに、前記複数のフリップ・フロップのうち特定のフリップ・フロップを選択する選択信号を生成する選択信号生成手段を備え、前記各フリップ・フロップは、前記選択信号により選択された場合に、スキャンパスを用いて保持するデータを後段のフリップ・フロップに出力し、前記選択信号により選択されない場合には、前段のフリップ・フロップの出力したデータを後段のフリップ・フロップに出力してもよい。
【００５７】
この構成によれば、特定のＦＦを選択し、選択したＦＦのデータを読み出すことができる。また、スキャンパスを用いることで、回路規模の増加を抑制することができる。
【００５８】
また、前記解析装置は、さらに、実動作時に、前記複数のスキャンパスうちいずれか1以上が出力するデータが、所定のデータと一致するか否かを判定する判定手段と、前記判定手段が一致すると判定した場合に、実動作を停止し、スキャンテストを行うモード切替手段とを備えてもよい。
【００５９】
この構成によれば、特定のＦＦの保持するデータに応じて、実動作からスキャンテストに移行することができる。これにより、内部状態が所定の状態となるタイミングで、実動作を停止させ解析を行うことができる。
【００６０】
また、前記選択信号生成手段が生成する前記選択信号は、第１の選択信号と第２の選択信号とを含み、前記各フリップ・フロップは、前記第１の選択信号と前記第２の選択信号との論理和により選択してもよい。
【００６１】
この構成によれば、実動作において複数の選択信号によりＦＦの特定を行うことにより、少ない配線でフリップ・フロップを特定することができる。
【発明の効果】
【００６２】
本発明は、ＦＦの値をスキャンテスト開始時の値にもどすことができ、回路規模の増加を抑制した解析装置を提供することができる。
【発明を実施するための最良の形態】
【００６３】
以下、本発明に係る解析装置の実施の形態について、図面を参照しながら詳細に説明する。
【００６４】
（実施の形態１）
本発明の実施の形態１に係る解析装置は、スキャンテスト動作において、複数のスキャンパスを直列に接続し、単一のシフトレジスタを形成するモードを有する。また、直列に接続したスキャンパスの出力を入力にループする機能を有する。これにより、複数のスキャンパスのＦＦの段数が異なる場合でも、所定のクロックを入力した後に、スキャンパスのＦＦの保持データを容易にスキャンテスト開始時の状態に戻すことができる。よって、スキャン動作後に引き続き実動作を行うことができる。
【００６５】
まず、本発明の実施の形態１に係る解析装置の構成を説明する。
図１は、本実施の形態１に係る解析装置の構成を示すブロック図である。
【００６６】
図１に示す解析装置１００は、例えば、半導体集積回路に集積化されたスキャン機能を有する回路である。解析装置１００は、スキャンパス１０１ａ、１０１ｂ及び１０１ｃと、セレクタ１０４ａ、１０４ｂ及び１０４ｃとを備える。
【００６７】
スキャンパス１０１ａ、１０１ｂ及び１０１ｃは、実動作回路の中に組み込まれたスキャンテスト回路であり、複数のＦＦを含む。スキャンパス１０１ａ、１０１ｂ及び１０１ｃのそれぞれに含まれる複数のＦＦは、スキャンモード時（スキャンテスト動作を行うモード時）に、シフトレジスタを構成する。スキャンパス１０１ａは、スキャンモード時において、クロック１０２によりシフト動作を行いスキャンパス出力１０３ａとして、スキャンパス１０１ａに含まれるＦＦのデータを順次出力する。スキャンパス１０１ｂは、スキャンテストモードにおいて、クロック１０２によりシフト動作を行いスキャンパス出力１０３ｂとして、スキャンパス１０１ｂに含まれるＦＦのデータを順次出力する。スキャンパス１０１ｃは、スキャンテストモードにおいて、クロック１０２によりシフト動作を行いスキャンパス出力１０３ｃとして、スキャンパス１０１ｃに含まれるＦＦのデータを順次出力する。
【００６８】
クロック１０２は、スキャンテスト時にスキャンパス１０１ａ、１０１ｂ及び１０１ｃのシフト動作に用いられるクロックであり、例えば、解析装置１００を含む半導体装置の外部から入力される。スキャンパス出力１０３ａ、１０３ｂ及び１０３ｃは、例えば、解析装置１００を含む半導体集積回路の外部に出力される信号である。
【００６９】
セレクタ１０４ａは、スキャンパス出力１０３ｃと、スキャンパス入力１０５ａとの一方を選択し、スキャンパス１０１ａの入力に接続する。セレクタ１０４ｂは、スキャンパス出力１０３ａと、スキャンパス入力１０５ｂとの一方を選択し、スキャンパス１０１ｂの入力に接続する。セレクタ１０４ｃは、スキャンパス出力１０３ｂと、スキャンパス入力１０５ｃとの一方を選択し、スキャンパス１０１ｃの入力に接続する。すなわち、セレクタ１０４ａ、１０４ｂ及び１０１ｃは、各スキャンパス１０１ａ、１０１ｂ及び１０１ｃの入力に、スキャンテスト時に各スキャンパス１０１ａ、１０１ｂ及び１０１に書込まれる信号であるスキャンパス入力１０５ａ、１０５ｂ及び１０５ｃを接続する第１の接続状態と、スキャンパス１０１ａ、１０１ｂ及び１０１ｃを直列に接続し、かつ最終段のスキャンパス１０１ｃの出力であるスキャンパス出力１０３ｃを初段のスキャンパス１０１ａの入力に接続する第２の接続状態とを切り替える。スキャンパス入力１０５ａ、１０５ｂ及び１０５ｃは、例えば、解析装置１００を含む半導体集積回路の外部から入力された信号である。
【００７０】
次に、解析装置１００の動作を説明する。
実動作モードは、解析装置１００を含む半導体集積回路の通常の動作が行われるモードである。実動作モード時には、スキャンパス１０１ａ、１０１ｂ及び１０１ｃに含まれるＦＦは、実動作回路と接続され実動作回路中のＦＦとして動作する。スキャンモード時には、スキャンパス１０１ａ、１０１ｂ及び１０１ｃに含まれるＦＦは、それぞれシフトレジスタとして動作する。スキャンモード時には、スキャンパス１０１ａ、１０１ｂ及び１０１ｃは、クロック１０２によりシフト動作を行う。
【００７１】
スキャンモードは、第１スキャンモードと、第２スキャンモードとを含む。第１スキャンモード時には、セレクタ１０４ａ、１０４ｂ及び１０４ｃは、スキャンパス入力１０５ａ、１０５ｂ及び１０５ｃを選択する。これにより、スキャンパス入力１０５ａ、１０５ｂ及び１０５ｃが、順次、スキャンパス１０１ａ、１０１ｂ及び１０１ｃをシフトし、スキャンパス１０１ａ、１０１ｂ及び１０１ｃに含まれるＦＦに保持される。また、スキャンパス１０１ａ、１０１ｂ及び１０１ｃに含まれるＦＦに保持されていたデータは、順次、スキャンパス１０１ａ、１０１ｂ及び１０１ｃをシフトし、スキャンパス出力１０３ａ、１０３ｂ及び１０３ｃとして出力される。すなわち、第１スキャンモード時には、スキャンパス１０１ａ、１０１ｂ及び１０１ｃに含まれるＦＦに、外部からデータを設定することができる。また、スキャンモード開始時（実動作モード終了時）にスキャンパス１０１ａ、１０１ｂ及び１０１ｃに含まれるＦＦに保持されていたデータを、外部に出力することができる。
【００７２】
第２スキャンモード時には、セレクタ１０４ａは、スキャンパス出力１０３ｃを選択し、セレクタ１０４ｂは、スキャンパス出力１０３ａを選択し、セレクタ１０４ｃは、スキャンパス出力１０３ｂを選択する。よって、スキャンパス１０１ａの出力が、スキャンパス１０１ｂの入力に接続され、スキャンパス１０１ｂの出力が、スキャンパス１０１ｃの入力に接続され、スキャンパス１０１ｃの出力が、スキャンパス１０１ａの入力に接続される。これにより、スキャンパス１０１ａ、１０１ｂ及び１０１ｃは１つのシフトレジスタとしてループを形成する。第２スキャンモード時には、クロック１０２が１発入力される毎に、スキャンパス出力１０３ｃに、スキャンパス１０１ａ、１０１ｂ及び１０１ｃに含まれるＦＦのデータが順次出力される。具体的には、クロック１０２が入力される毎に、スキャンパス１０１ｃの最終段のＦＦから順にスキャンパス１０１ｃの最初段のＦＦまでのデータが順次出力され、次に、スキャンパス１０１ｂの最終段のＦＦから順にスキャンパス１０１ｂの最初段のＦＦまでのデータが順次出力され、次に、スキャンパス１０１ａの最終段のＦＦから順にスキャンパス１０１ａの最初段のＦＦまでのデータが順次出力される。
【００７３】
以上より、本発明の実施の形態１に係る解析装置１００は、スキャンパス１０１ａ、１０１ｂ及び１０１ｃに含まれる全てのＦＦの合計の段数と同じ数のクロック１０２を入力することにより、スキャンモード開始時（実動作モード終了時）にスキャンパス１０１ａ、１０１ｂ及び１０１ｃに含まれる全てのＦＦに保持されているデータをスキャンパス出力１０３ｃに出力することができる。
【００７４】
また、スキャンパス１０１ａ、１０１ｂ及び１０１ｃに含まれる全てのＦＦの合計の段数と同じ数のクロックが入力された状態では、スキャンパス１０１ａ、１０１ｂ及び１０１ｃに含まれる全てのＦＦには、スキャンモード開始時と同じデータが保持される。よって、第２スキャンモードで、スキャンパス１０１ａ、１０１ｂ及び１０１ｃに含まれるＦＦのデータを読み出した後、実動作モードに移行し、引き続き実動作を行うことができる。
【００７５】
また、複数のスキャンパスのＦＦの段数が異なる場合には、図９に示す従来の解析装置９００では、スキャン後に実動作を引き続き行うために、ダミーＦＦ９０６を備える必要がある。一方、本発明の実施の形態１に係る解析装置１００では、複数のスキャンパス１０１ａ、１０１ｂ及び１０１ｃのＦＦの段数が異なる場合でも、ダミーのＦＦを必要としない。よって、本発明の実施の形態１に係る解析装置１００は、回路規模の増加を抑制することができる。
【００７６】
（実施の形態２）
本発明の実施の形態２に係る解析装置は、スキャンテスト時において、各スキャンパスへ供給するクロック数を制御する。また、スキャンパスの出力を入力にループする機能を有する。これにより、複数のスキャンパスのＦＦの段数が異なる場合でも、ＦＦの段数と同数のクロックを入力することで、スキャンパスのＦＦの保持データをスキャンテスト開始時の状態に戻すことができる。よって、スキャン動作後に引き続き実動作を行うことができる。
【００７７】
まず、本発明の実施の形態２に係る解析装置の構成を説明する。
図２は、本発明の実施の形態２に係る解析装置の構成を示すブロック図である。図２に示す解析装置２００は、例えば、半導体集積回路に集積化されたスキャン機能を有する回路である。解析装置２００は、スキャンパス２０１ａ、２０１ｂ及び２０１ｃと、セレクタ２０４ａ、２０４ｂ及び２０４ｃと、クロック制御部２０７と、シリアル−パラレル変換部２０８と、パラレル−シリアル変換部２０９とを備える。
【００７８】
スキャンパス２０１ａ、２０１ｂ及び２０１ｃは、実動作回路の中に組み込まれたスキャンテスト回路であり、複数のＦＦを含む。スキャンパス２０１ａ、２０１ｂ及び２０１ｃのそれぞれに含まれる複数のＦＦは、スキャンモード時に、シフトレジスタを構成する。スキャンパス２０１ａは、スキャンテスト時において、クロック２０２ａによりシフト動作を行いスキャンパス出力２０３ａとして、スキャンパス２０１ａに含まれるＦＦのデータを順次出力する。スキャンパス２０１ｂは、スキャンテストモードにおいて、クロック２０２ｂによりシフト動作を行いスキャンパス出力２０３ｂとして、スキャンパス２０１ｂに含まれるＦＦのデータを順次出力する。スキャンパス２０１ｃは、スキャンテストモードにおいて、クロック２０２ｃによりシフト動作を行いスキャンパス出力２０３ｃとして、スキャンパス２０１ｃに含まれるＦＦのデータを順次出力する。スキャンパス出力２０３ａ、２０３ｂ及び２０３ｃは、例えば、解析装置２００を含む半導体集積回路の外部に出力される信号である。
【００７９】
セレクタ２０４ａは、スキャンパス出力２０３ａ、スキャンパス入力２０５ａ、及びパラレル入力２０６ａのうちいずれか１つを選択し、スキャンパス２０１ａの入力に接続する。セレクタ２０４ｂは、スキャンパス出力２０３ｂ、スキャンパス入力２０５ｂ、及びパラレル入力２０６ｂのうちいずれか１つを選択し、スキャンパス２０１ｂの入力に接続する。セレクタ２０４ｃは、スキャンパス出力２０３ｃ、スキャンパス入力２０５ｃ、及びパラレル入力２０６ｃのうちいずれか１つを選択し、スキャンパス２０１ｃの入力に接続する。すなわち、セレクタ２０４ａ、２０４ｂ及び２０４ｃは、各スキャンパス２０１ａ、２０１ｂ及び２０１ｃの入力に、スキャンテスト時に各スキャンパス２０１ａ、２０１ｂ及び２０１に書込まれる信号であるスキャンパス入力２０５ａ、２０５ｂ及び２０５ｃを接続する第１の接続状態と、各スキャンパス２０１ａ、２０１ｂ及び２０１ｃの出力であるスキャンパス出力２０３ａ、２０３ｂ及び２０３ｃを該スキャンパスの入力に接続する第２の接続状態と、パラレル入力２０６ａ、２０６ｂ及び２０６ｃを各スキャンパス２０１ａ、２０１ｂ及び２０１ｃの入力に接続する第３の接続状態とを切り替える。
【００８０】
スキャンパス入力２０５ａ、２０５ｂ及び２０５ｃは、スキャンモード時に、スキャンパス２０１ａ、２０１ｂ及び２０１ｃに含まれるＦＦに設定される信号である。スキャンパス入力２０５ａ、２０５ｂ及び２０５ｃは、例えば、解析装置２００を含む半導体集積回路の外部から入力された信号である。
【００８１】
クロック制御部２０７は、スキャンモード時に、スキャンパス２０１ａ、２０１ｂ及び２０１ｃのシフト動作に用いられるクロック２０２ａ、２０２ｂ及び２０２ｃを出力する。クロック制御部２０７は、スキャンモード時のスキャンパス２０１ａ、２０１ｂ及び２０１ｃに含まれる全てのＦＦのデータを読み出すスキャン動作中に、スキャンパス２０１ａ、２０１ｂ及び２０１ｃのそれぞれに含まれるＦＦの段数と同数のクロック２０２ａ、２０２ｂ及び２０２ｃを出力する。すなわち、クロック制御部２０７は、スキャンモード時に、スキャンパス２０１ａに含まれるＦＦの段数と同数のクロック２０２ａをスキャンパス２０１ａに供給し、スキャンパス２０１ｂに含まれるＦＦの段数と同数のクロック２０２ｂをスキャンパス２０１ｂに供給し、スキャンパス２０１ｃに含まれるＦＦの段数と同数のクロック２０２ｃをスキャンパス２０１ｃに供給する。例えば、クロック制御部２０７は、スキャンパス２０１ａ、２０１ｂ及び２０１ｃのそれぞれのＦＦの段数を保持し、外部より入力される基準クロックに基づき、各スキャンパス２０１ａ、２０１ｂ及び２０１ｃに含まれるＦＦの段数と同数のクロックを出力した後、スキャンパス２０１ａ、２０１ｂ及び２０１ｃのうち最多段のＦＦを含むスキャンパスのＦＦの段数分のクロックを出力するまで、クロックをマスクし出力しない。
【００８２】
シリアル−パラレル変換部２０８は、シリアル信号であるシリアル入力２１０をシリアル−パラレル変換し、３ビットのパラレル信号であるパラレル入力２０６ａ、２０６ｂ及び２０６ｃを出力する。
【００８３】
パラレル−シリアル変換部２０９は、３ビットのパラレル信号であるスキャンパス出力２０３ａ、２０３ｂ及び２０３ｃをパラレル−シリアル変換し、シリアル信号であるシリアル出力２１１を出力する。
【００８４】
シリアル入力２１０は、スキャンモード時（後述する第３スキャンモード時）に、スキャンパス２０１ａ、２０１ｂ及び２０１ｃに含まれるＦＦに設定されるシリアルデータである。シリアル入力２１０は、例えば、解析装置２００を含む半導体集積回路の外部から入力された信号である。
【００８５】
シリアル出力２１１は、例えば、解析装置２００を含む半導体集積回路の外部に出力される信号である。
【００８６】
次に、解析装置２００の動作について説明する。
実動作モードは、解析装置２００を含む半導体集積回路の通常の動作が行われるモードである。実動作モード時には、スキャンパス２０１ａ、２０１ｂ及び２０１ｃに含まれるＦＦは、実動作回路と接続され実動作回路中のＦＦとして動作する。スキャンモード時には、スキャンパス２０１ａ、２０１ｂ及び２０１ｃに含まれるＦＦは、それぞれシフトレジスタとして動作する。スキャンモード時には、スキャンパス２０１ａは、クロック２０２ａによりシフト動作を行い、スキャンパス２０１ｂは、クロック２０２ｂによりシフト動作を行い、スキャンパス２０１ｃは、クロック２０２ｃによりシフト動作を行う。
【００８７】
スキャンモードは、第１スキャンモードと、第２スキャンモードと、第３スキャンモードを含む。第１スキャンモード時には、セレクタ２０４ａ、２０４ｂ及び２０４ｃは、スキャンパス入力２０５ａ、２０５ｂ及び２０５ｃを選択する。これにより、スキャンパス入力２０５ａ、２０５ｂ及び２０５ｃが、順次、スキャンパス２０１ａ、２０１ｂ及び２０１ｃをシフトし、スキャンパス２０１ａ、２０１ｂ及び２０１ｃに含まれるＦＦに保持される。また、スキャンパス２０１ａ、２０１ｂ及び２０１ｃに含まれるＦＦに保持されていたデータは、順次、スキャンパス２０１ａ、２０１ｂ及び２０１ｃをシフトし、スキャンパス出力２０３ａ、２０３ｂ及び２０３ｃとして出力される。すなわち、第１スキャンモード時には、スキャンパス２０１ａ、２０１ｂ及び２０１ｃに含まれるＦＦに、外部からデータを設定することができる。また、スキャンモード開始時（実動作モード終了時）にスキャンパス２０１ａ、２０１ｂ及び２０１ｃに含まれるＦＦに保持されていたデータを、外部に出力することができる。
【００８８】
第２スキャンモード時には、セレクタ２０４ａは、スキャンパス出力２０３ａを選択し、セレクタ２０４ｂは、スキャンパス出力２０３ｂを選択し、セレクタ２０４ｃは、スキャンパス出力２０３ｃを選択する。すなわち、各スキャンパス２０１ａ、２０１ｂ及び２０１ｃは、それぞれ出力と入力との間でループを形成する。第２スキャンモード時には、クロック２０２ａ、２０２ｂ及び２０２ｃが１発入力される毎に、スキャンパス出力２０３ａ、２０３ｂ及び２０３ｃに、スキャンパス２０１ａ、２０１ｂ及び２０１ｃのそれぞれに含まれるＦＦのデータが順次出力される。具体的には、クロック２０２ａが入力される毎に、スキャンパス２０１ａの最終段のＦＦから順にスキャンパス２０１ａの最初段のＦＦまでのデータが、スキャンパス出力２０３ａに順次出力される。クロック２０２ｂが入力される毎に、スキャンパス２０１ｂの最終段のＦＦから順にスキャンパス２０１ｂの最初段のＦＦまでのデータが、スキャンパス出力２０３ｂに順次出力される。クロック２０２ｃが入力される毎に、スキャンパス２０１ｃの最終段のＦＦから順にスキャンパス２０１ｃの最初段のＦＦまでのデータが、スキャンパス出力２０３ｃに順次出力される。また、スキャンパス出力２０３ａ、２０３ｂ及び２０３ｃに出力されたデータは、ループを介して、順次スキャンパス２０１ａ、２０１ｂ及び２０１ｃの初段のＦＦに入力される。ここで、クロック制御部２０７は、各スキャンパス２０１ａ、２０１ｂ及び２０１ｃのＦＦの段数と同数のクロックをクロック２０２ａ、２０２ｂ及び２０２ｃとして出力する。よって、スキャンパス２０１ａ、２０１ｂ及び２０１ｃのＦＦの全てのデータがスキャンパス出力２０３ａ、２０３ｂ及び２０３ｃに出力された状態では、スキャンパス２０１ａ、２０１ｂ及び２０１ｃに含まれるＦＦが保持するデータは、スキャンモード開始時（実動作モード終了時）と同一のデータとなる。よって、本発明の実施の形態２に係る解析装置は、第２スキャンモードで、スキャンパス２０１ａ、２０１ｂ及び２０１ｃに含まれるＦＦのデータを読み出した後、実動作モードに移行し、引き続き実動作を行うことができる。
【００８９】
また、複数のスキャンパスのＦＦの段数が異なる場合には、図９に示す従来の解析装置９００では、スキャン後に実動作を引き続き行うために、ダミーＦＦ９０６を備える必要がある。一方、本発明の実施の形態２に係る解析装置２００では、複数のスキャンパス２０１ａ、２０１ｂ及び２０１ｃのＦＦの段数が異なる場合でも、ダミーのＦＦを必要としない。よって、本発明の実施の形態２に係る解析装置２００は、回路規模の増加を抑制することができる。
【００９０】
第３スキャンモード時には、セレクタ２０４ａは、パラレル入力２０６ａを選択し、セレクタ２０４ｂは、パラレル入力２０６ｂを選択し、セレクタ２０４ｃは、パラレル入力２０６ｃを選択する。スキャンパス２０１ａ、２０１ｂ及び２０１ｃは、第１及び第２スキャンモード時と同様に、クロック２０２ａ、２０２ｂ及び２０２ｃに応じてシフト動作を行う。パラレル−シリアル変換部２０９は、スキャンパス出力２０３ａ、２０３ｂ及び２０３ｃに出力されたスキャンパス２０１ａ、２０１ｂ及び２０１ｃのＦＦのデータをパラレル−シリアル変換し、シリアル出力２１１を出力する。スキャンパス２０１ａ、２０１ｂ及び２０１ｃのＦＦが保持していたデータをシリアルデータに変換して出力することで、データを出力する端子数を減らすことができる。よって、実動作を止めてスキャンパスを有効にした場合にデータを読み出す端子数が少なくてすむため、多くの端子で実動作状態での端子の状態を保ったままデータの読み出しを行うことができる。例えば、スキャンパス出力２０３ａ、２０３ｂ及び２０３ｃの後段に、ラッチ回路又はセレクタを設けることで、実動作状態での端子の状態を保持することができる。
【００９１】
また、第３スキャンモード時には、外部からスキャンパス２０１ａ、２０１ｂ及び２０１ｃのＦＦに設定されるシリアルデータであるシリアル入力２１０が入力される。シリアル−パラレル変換部２０８は、シリアル入力２１０を３ビットのパラレルデータに変換し、それぞれパラレル入力２０６ａ、２０６ｂ及び２０６ｃとして出力する。スキャンパス２０１ａ、２０１ｂ及び２０１ｃは、クロック２０２ａ、２０２ｂ及び２０２ｃに応じて、順次シフト動作を行う。これにより、パラレル入力２０６ａ、２０６ｂ及び２０６ｃがスキャンパス２０１ａ、２０１ｂ及び２０１ｃのＦＦに設定される。シリアル入力２１０をパラレルデータに変換することで、データを入力する端子数を減らすことができる。よって、実動作を止めてスキャンパスを有効にした場合にデータを書込む端子数が少なくてすむため、多くの端子で実動作状態での端子の状態を保ったままデータの書込みを行うことができる。例えば、スキャンパス入力２０５ａ、２０５ｂ及び２０５ｃの前段に、ラッチ回路又はセレクタを設けることで、実動作状態での端子の状態を保持することができる。
【００９２】
また、シリアル出力２１１としてＦＦの状態を読み出し、読みだしたデータをシリアル入力２１０として入力し、ＦＦに書込むことで、読み出した際の回路の状態を何度でも再現することができる。
【００９３】
さらに、本発明の実施の形態２に係る解析装置２００は、各スキャンパスが独立しているので、複数のスキャンパスを機能ブロック毎に分けることにより、特定の機能ブロックを実動作させ、別の機能ブロックはスキャン動作を行い内部のデータの読み書きを行うことができる。すなわち、スキャンパス２０１ａ、２０１ｂ及び２０１ｃが、それぞれ異なる機能ブロックに形成されている場合には、解析装置２００は、さらに、スキャンパス２０１ａ、２０１ｂ及び２０１ｃにおけるスキャンモードと実動作モードとをそれぞれ個別に切り替える制御を行うモード切替部を備えてもよい。
【００９４】
なお、上記説明において、解析装置２００は、外部からスキャンパス入力２０５ａ、２０５ｂ、２０５ｃ及びシリアル入力２１０が入力され経路を備えるとしたが、スキャンパス入力２０５ａ、２０５ｂ及び２０５ｃと、シリアル入力２１０との一方のみが入力される経路のみを備えてもよい。また、上記説明において、解析装置２００は、スキャンパス出力２０３ａ、２０３ｂ、２０３ｃ及びシリアル出力２１１を外部に出力する経路を備えるとしたが、スキャンパス出力２０３ａ、２０３ｂ及び２０３ｃと、シリアル出力２１１との一方のみが出力する経路のみを備えてもよい。
【００９５】
また、上述した実施の形態１に係る解析装置１００においても、シリアル−パラレル変換部２０８及びパラレル−シリアル変換部２０９を備えることで、スキャンテスト時に使用する端子数を削減することができる。
【００９６】
（実施の形態３）
本発明の実施の形態３に係る解析装置は、スキャンテスト時において、読み出したデータを、ループを介して再度スキャンパスに含まれるＦＦに格納する。さらに、読み出したデータを変更し、再度スキャンパスに含まれるＦＦに格納する機能を有する。これにより、実動作モードへの復帰時に、ＦＦのデータを変更することができる。
【００９７】
まず、本発明の実施の形態３に係る解析装置の構成を説明する。
図３は、本発明の実施の形態３に係る解析装置の構成を示すブロック図である。
【００９８】
図３に示す解析装置３００は、半導体装置３３０と、外部メモリ３１５と、外部装置３２４と、外部記憶装置３２６とを備える。半導体装置３３０は、１チップの半導体集積回路であり、スキャンパス１０１ａ、１０１ｂ及び１０１ｃと、セレクタ１０４ａ、１０４ｂ及び１０４ｃと、データ制御部３０７と、タイミング制御部３２７と、外部メモリ制御部３１４と、内部メモリ制御部３１６と、内部メモリ３１７と、クロック制御部３１８と、表示部３１９と、表示同期部３２０と、ＰＬＬ発振部３２１と、タイマー３２２と、外部データ取得部３２９とを備える。
【００９９】
スキャンパス１０１ａ、１０１ｂ及び１０１ｃは、実動作回路の中に組み込まれたスキャンテスト回路であり、複数のＦＦを含む。スキャンパス１０１ａ、１０１ｂ及び１０１ｃは、スキャンモード時には、シフトレジスタとして動作する。スキャンパス１０１ａは、スキャンモード時において、クロック１０２によりシフト動作を行いスキャンパス出力１０３ａとして、スキャンパス１０１ａに含まれるＦＦのデータを順次出力する。スキャンパス１０１ｂは、スキャンテストモードにおいて、クロック１０２によりシフト動作を行いスキャンパス出力１０３ｂとして、スキャンパス１０１ｂに含まれるＦＦのデータを順次出力する。スキャンパス１０１ｃは、スキャンテストモードにおいて、クロック１０２によりシフト動作を行いスキャンパス出力１０３ｃとして、スキャンパス１０１ｃに含まれるＦＦのデータを順次出力する。スキャンパス出力１０３ａ、１０３ｂ及び１０３ｃは、例えば、半導体装置３３０の外部に出力される信号である。
【０１００】
セレクタ１０４ａは、データ制御部出力３２８と、スキャンパス入力１０５ａとの一方を選択し、スキャンパス１０１ａの入力に接続する。セレクタ１０４ｂは、スキャンパス出力１０３ａと、スキャンパス入力１０５ｂとの一方を選択し、スキャンパス１０１ｂの入力に接続する。セレクタ１０４ｃは、スキャンパス出力１０３ｂと、スキャンパス入力１０５ｃとの一方を選択し、スキャンパス１０１ｃの入力に接続する。すなわち、セレクタ１０４ａ、１０４ｂ及び１０４ｃは、スキャンパス１０１ａ、１０１ｂ及び１０１ｃを直列に接続し、かつデータ制御部出力３２８を初段のスキャンパス１０１ａの入力に接続する、又はスキャンパス１０１ａ、１０１ｂ及び１０１ｃに、スキャンテスト時にスキャンパス１０１ａ、１０１ｂ及び１０１ｃに書込むデータであるスキャンパス入力１０５ａ、１０５ｂ及び１０５ｃを入力する。スキャンパス入力１０５ａ、１０５ｂ及び１０５ｃは、例えば、半導体装置３３０の外部から入力された信号である。
【０１０１】
データ制御部３０７は、スキャンパス１０１ａ、１０１ｂ及び１０１ｃの内部の指定したＦＦのデータを書き換える。データ制御部３０７は、スキャンパス出力１０３ｃの指定されたＦＦのデータの論理値を任意の論理値に変換し、データ制御部出力３２８として出力する。データ制御部３０７は、記憶部３０８を備える。記憶部３０８は、スキャンパス１０１ａ、１０１ｂ及び１０１ｃに含まれる個々のＦＦを特定する情報を記憶する。例えば、記憶部３０８が記憶するデータは、データを変更するＦＦがスキャンパス１０１ａ、１０１ｂ及び１０１ｃに含まれる何段目のＦＦであることを示すデータと、書き換える論理値（「１」又は「０」）を示すデータとを含む。なお、複数のＦＦのデータを書き換える場合には、記憶部３０８は、複数のＦＦを特定する情報を格納する。データ制御部３０７は、記憶部３０８に記憶されるスキャンパス１０１ａ、１０１ｂ及び１０１ｃに含まれる個々のＦＦを特定する情報に基づき、スキャンパス１０１ａ、１０１ｂ及び１０１ｃに含まれるＦＦに格納されるデータを変換する。
【０１０２】
タイミング制御部３２７は、実動作モードからスキャンモードに移行するタイミングを制御する。タイミング制御部３２７は、カウンタ３１０と、比較部３１１と、レジスタ３１３とを備える。カウンタ３１０は、カウンタ起動割り込み信号３１２が入力されたタイミングで、所定のカウント値のカウントを開始する。レジスタ３１３は、スキャンモードに移行するタイミングの情報を保持するレジスタである。比較部３１１は、レジスタ３１３に保持されている情報と、カウンタ３１０のカウント値とが一致するか否かを判定し、一致した場合に割り込み信号３０９をアクティブにする。
【０１０３】
外部メモリ３１５は、実動作時に用いられるデータを記憶する。外部メモリ３１５は、半導体装置３３０の外部に形成されたメモリである。例えば、外部メモリ３１５は、ＤＲＡＭ等の揮発性メモリである。
【０１０４】
外部メモリ制御部３１４は、外部メモリ３１５の制御を行う。外部メモリ制御部３１４は、スキャンテスト時には、スキャンパス１０１ａ、１０１ｂ及び１０１ｃの動作と独立して動作する。
【０１０５】
内部メモリ３１７は、実動作時に用いられるデータを記憶する。内部メモリ３１７は、半導体装置３３０内に形成されたＤＲＡＭ等の揮発性メモリである。内部メモリ制御部３１６は、内部メモリ３１７の制御を行う。内部メモリ制御部３１６は、スキャンテスト時には、スキャンパス１０１ａ、１０１ｂ及び１０１ｃのスキャンテスト動作と独立して内部メモリ３１７の動作を制御する。
【０１０６】
外部記憶装置３２６は、半導体装置３３０の外部のメモリである。スキャンモードの開始時に、外部メモリ３１５及び内部メモリ３１７が記憶するデータを記憶する。
【０１０７】
表示部３１９は、実動作時に、動画像等の映像信号等の画像データを外部に出力する。表示部３１９は、スキャン動作時のスキャンパス１０１ａ、１０１ｂ及び１０１ｃの動作とは独立して動作する。表示部３１９は、スキャンモード時に実動作モード終了時の画像データを静止画像データとして出力する。表示同期部３２０は、スキャンモードから実動作モードへの復帰の際に、実動作時に用いられる表示部３１９の同期信号のタイミングで、実動作の再開を行う。
【０１０８】
ＰＬＬ発振部３２１は、実動作時に用いられるクロックを発振する。ＰＬＬ発振部３２１は、スキャンモード時に発振を停止し、クロックの出力を中断する。タイマー３２２は、所定の時間をカウントする。
【０１０９】
外部装置３２４は、半導体装置３３０の外部の装置であり、映像ストリーム信号等のデータ入力信号３２５を半導体装置３３０に出力する。外部データ取得部３２９は、実動作時に、外部装置３２４からのデータ入力信号３２５を取得する。
【０１１０】
クロック制御部３１８は、スキャンモード時にスキャンパス１０１ａ、１０１ｂ及び１０１ｃのシフト動作に用いられるクロック１０２を出力する。例えば、クロック制御部３１８は、スキャンモード時に外部から入力されたクロックに基づき、クロック１０２を生成する。さらに、クロック制御部３１８は、実動作モード時に、ＰＬＬ発振部３２１からのクロックに基づき、半導体装置３３０の内部回路の実動作に用いられるクロックを生成する。さらに、クロック制御部３１８は、スキャンモード時において、スキャンパス１０１ａ、１０１ｂ及び１０１ｃのシフト動作に用いられるクロックとは、独立したクロックを内部メモリ制御部３１６及び外部メモリ制御部３１４に出力する。さらに、クロック制御部３１８は、実動作モードからスキャンモードへの移行の際に、ＰＬＬ発振部３２１の発振を停止させ、スキャンモードから実動作モードへの復帰の際に、ＰＬＬ発振部３２１の発振を再開させる。また、クロック制御部３１８は、スキャンモードから実動作モードへの復帰時に、ＰＬＬ発振部３２１の発振の安定を待ち、実動作に用いられるクロックの供給を再開する。具体的には、クロック制御部３１８は、スキャンモードから実動作モードに移行した後、タイマー３２２のタイマー値が所定の値（ＰＬＬ発振部３２１の発振が安定する時間）になるまで、実動作に用いられるクロックを出力しない。また、クロック制御部３１８は、外部装置３２４に外部装置停止信号３２３を出力する。クロック制御部３１８は、外部装置停止信号３２３により、スキャンモード時に外部装置３２４を停止させ、スキャンモードから実動作モードへの復帰時に外部装置３２４の動作を再開させる。
【０１１１】
次に、解析装置３００の動作を説明する。
まず、スキャンモード時の解析装置３００の動作を説明する。実施の形態１と同様に、スキャンモードは、第１スキャンモードと、第２スキャンモードとを含む。なお、第１スキャンモード時の解析装置３００の動作は、実施の形態１で説明した解析装置１００の動作と同様であるので、説明は省略する。
【０１１２】
第２スキャンモード時には、セレクタ１０４ａは、データ制御部出力３２８を選択し、セレクタ１０４ｂは、スキャンパス出力１０３ａを選択し、セレクタ１０４ｃは、スキャンパス出力１０３ｂを選択する。よって、スキャンパス１０１ａの出力が、スキャンパス１０１ｂの入力に接続され、スキャンパス１０１ｂの出力が、スキャンパス１０１ｃの入力に接続され、スキャンパス１０１ｃの出力がデータ制御部３０７を介して、スキャンパス１０１ａの入力に接続される。すなわち、実施の形態１と同様に、スキャンパス１０１ａ、１０１ｂ及び１０１ｃは１つのシフトレジスタとしてループを形成する。第２スキャンモード時には、クロック１０２が１発入力される毎に、スキャンパス出力１０３ｃに、スキャンパス１０１ａ、１０１ｂ及び１０１ｃに含まれるＦＦのデータが順次出力される。よって、実施の形態１と同様に、スキャンパス１０１ａ、１０１ｂ及び１０１ｃに含まれる全てのＦＦの合計の段数と同じ数のクロック１０２を入力することにより、スキャンモード開始時（実動作モード終了時）にスキャンパス１０１ａ、１０１ｂ及び１０１ｃに含まれる全てのＦＦに保持されているデータをスキャンパス出力１０３ｃに出力することができる。また、実施の形態１と同様に、スキャンパス１０１ａ、１０１ｂ及び１０１ｃに含まれる全てのＦＦの合計の段数と同じ数のクロック１０２が入力された状態では、スキャンパス１０１ａ、１０１ｂ及び１０１ｃに含まれる全てのＦＦには、スキャンモード開始時と同じデータが保持される。よって、第２スキャンモードで、スキャンパス１０１ａ、１０１ｂ及び１０１ｃに含まれるＦＦのデータを読み出した後、実動作モードに移行し、引き続き実動作を行うことができる。
【０１１３】
さらに、実施の形態３に係る解析装置３００では、データ制御部３０７が、記憶部３０８に記憶されたデータに基づき、スキャンパス出力１０３ｃとして出力されたデータのうち、指定されたデータの論理値を変換し、スキャンパス１０１ａに再度入力する。具体的には、データ制御部３０７は、スキャンモード開始時からのクロック１０２のクロック数をカウントし、カウント値が、記憶部３０８が記憶しているデータの書換えを行うＦＦのスキャンパス内の段数と一致した場合、スキャンパス出力１０３ｃを記憶部３０８が記憶している論理値に変更しデータ制御部出力３２８として出力する。ここで、記憶部３０８が記憶するデータの書換えを行うＦＦのスキャンパス内の段数の情報、及び書き換える論理値は、例えば、スキャンモード開始前に、半導体装置３３０の外部から入力された情報である。また、クロック数のカウント値と、記憶部３０８が記憶しているデータの書換えを行うＦＦのスキャンパス内の段数と一致しない場合、データ制御部３０７は、スキャンパス出力１０３ｃの論理値の変更を行わず、スキャンパス出力１０３ｃをデータ制御部出力３２８として出力する。これにより、スキャンパス１０１ａ、１０１ｂ及び１０１ｃに含まれる全てのＦＦの合計の段数と同じ数のクロックが入力された状態では、指定されたＦＦのデータは書換えられる。また、書換えの行われなかったＦＦのデータは、スキャンモード開始時と同じデータが保持される。よって、スキャンパス１０１ａ、１０１ｂ及び１０１ｃに含まれるＦＦのデータを読み出した後、指定したＦＦのデータを書換え、その後、実動作モードに移行し、引き続き実動作を行うことができる。これにより、所望のＦＦのデータを変更した場合の動作を確認することができ、多種の不良解析等を容易に行うことができる。
【０１１４】
次に、実動作中の所定のタイミングでスキャンモードに移行する動作を説明する。
実動作中又は、実動作開始前にカウンタ起動割り込み信号３１２が入力される。例えば、カウンタ起動割り込み信号３１２は、半導体装置３３０の外部から入力される。カウンタ３１０は、カウンタ起動割り込み信号３１２が入力されたタイミングで、カウントを開始する。比較部３１１は、レジスタ３１３に保持されている値と、カウンタ３１０のカウント値とが一致するか否かを判定し、一致した場合に割り込み信号３０９をアクティブにする。ここで、レジスタ３１３が保持する値は、スキャンモードに移行するタイミング情報であり、例えば、半導体装置３３０の外部から、実動作開始前に入力される。スキャンパス１０１ａ、１０１ｂ及び１０１ｃは、割り込み信号３０９がアクティブになると、実動作モードからスキャンモードに移行する。以上より、実動作中の所望のタイミングで自動的にスキャンモードに移行することができる。これにより、実動作中の所望のタイミングにおける内部のＦＦが保持するデータの読出し、又は内部のＦＦのデータの書換えを行うことができる。
【０１１５】
次に、スキャンモード時の内部メモリ制御部３１６及び外部メモリ制御部３１４の動作を説明する。
【０１１６】
実動作時において、内部メモリ３１７及び外部メモリ３１５は、半導体装置３３０の実動作に用いられるデータを保持するメモリとして用いられる。スキャンモード時において、内部メモリ制御部３１６は、スキャンパス１０１ａ、１０１ｂ及び１０１ｃの動作とは独立した動作を行う。例えば、スキャンモード時において、内部メモリ制御部３１６は、内部メモリ３１７のリフレッシュ動作を継続して行う。これにより、スキャンモード中も、内部メモリ３１７のデータを保持することができる。よって、スキャンモード後に、実動作に復帰した場合に、内部メモリ３１７は、スキャンモード開始時（実動作終了時）のデータを保持することができる。これにより、スキャン動作終了後に引き続き実動作を行うことができる。
【０１１７】
スキャンモード時において、外部メモリ制御部３１４は、スキャンパス１０１ａ、１０１ｂ及び１０１ｃの動作とは独立した動作を行う。例えば、スキャンモード時において、外部メモリ制御部３１４は、外部メモリ３１５のリフレッシュ動作を継続して行う。これにより、スキャンモード中も、外部メモリ３１５のデータを保持することができる。よって、スキャンモード後に、実動作に復帰した場合に、外部メモリ３１５は、スキャンモード開始時（実動作終了時）のデータを保持することができる。これにより、スキャン動作終了後に引き続き実動作を行うことができる。
【０１１８】
なお、スキャンモード中に内部メモリ３１７及び外部メモリ３１５をスキャンパス動作と独立して動作させる代わりに以下の動作を行ってもよい。実動作モード終了時（スキャンモード開始前）に、内部メモリ制御部３１６は、内部メモリ３１７の保持するデータを読出し、外部記憶装置３２６に記憶する。また、外部メモリ制御部３１４は、外部メモリ３１５の保持するデータを読出し、外部記憶装置３２６に記憶する。スキャンモード終了時（実動作モード再開前）に、内部メモリ制御部３１６は、外部記憶装置３２６から、実動作モード終了時に内部メモリ３１７に保持されていたデータを読出し、再び内部メモリ３１７に書込む。外部メモリ制御部３１４は、外部記憶装置３２６から、実動作モード終了時に外部メモリ３１５に保持されていたデータを読出し、再び外部メモリ３１５に書込む。これにより、スキャンテスト動作により、内部メモリ３１７及び外部メモリ３１５のデータが失われる場合であっても、実動作モードへの復帰した際に、内部メモリ３１７及び外部メモリ３１５が保持するデータは、実動作モードの終了時と同じにすることができる。よって、スキャン動作終了後に引き続き実動作を行うことができる。
【０１１９】
次に、表示部３１９及び表示同期部３２０の動作を説明する。
実動作時において、表示部３１９は、動画像等の映像信号を外部に出力する。なお、表示部３１９が出力する映像信号は、半導体装置３３０の動作状態等を示す映像の信号であってもよい。スキャンモード時には、表示部３１９は、スキャンモード開始時（実動作モード終了時）に出力していた映像信号を静止画像として出力し続ける。これにより、画像を確認しながら解析を行う場合に画像データの出力が止まることにより表示の同期信号が停止し、画像出力がされなくなるといった問題を回避することができる。
【０１２０】
スキャンモードから実動作モードに復帰する際に、表示同期部３２０は、実動作の再開のタイミングを表示部３１９の同期信号と合わせる。例えば、表示同期部３２０は、表示部３１９の同期信号のタイミングにあわせ、クロック制御部３１８に実動作に用いられるクロックの出力を再開させる。これにより、復帰後の映像のタイミングのズレや、復帰直後の同期のズレを防ぐことができる。
【０１２１】
次に、クロック制御部３１８の動作を説明する。
実動作時において、クロック制御部３１８は、ＰＬＬ発振部３２１が出力するクロックに基づき、実動作に用いられるクロックを生成する。スキャンモード時には、クロック制御部３１８は、ＰＬＬ発振部３２１のクロック出力の動作を停止する。これにより、スキャンモード時における、ＰＬＬ発振部３２１の発振動作によるノイズの発生を低減することができる。また、スキャンモード時の消費電力を低減することができる。
【０１２２】
スキャンモードから実動作モードへの復帰時には、まず、クロック制御部３１８の制御により、ＰＬＬ発振部３２１が発振を開始する。また、ＰＬＬ発振部３２１の発振動作開始と同時に、クロック制御部３１８の制御により、タイマー３２２は、所定の時間をカウントする。ここで、タイマー３２２がカウントする時間は、ＰＬＬ発振部３２１の発振動作が安定する時間である。クロック制御部３１８は、タイマー３２２が、ＰＬＬ発振部３２１の発振動作が安定する時間をカウントした後に、ＰＬＬ発振部３２１が出力するクロックから実動作に用いられるクロックを生成し、半導体装置３３０内の各回路に生成したクロックを供給する。これにより、安定したクロックで実動作に復帰することができ、誤動作の発生を防止することができる。
【０１２３】
また、クロック制御部３１８は、実動作モードからスキャンモードに移行した際に、外部装置３２４のデータ出力を停止させる。また、クロック制御部３１８は、スキャンモードから実動作モードに復帰した際に、外部装置３２４のデータ出力を再開させる。これにより、実動作モードからスキャンモードに移行し、再度実動作モードに復帰しても、正常に動作を行うことができる。
【０１２４】
以上より、本発明の実施の形態３に係る解析装置３００は、実施の形態１と同様に、スキャンパス１０１ａ、１０１ｂ及び１０１ｃに含まれる全てのＦＦの合計の段数と同じ数のクロックが入力された状態では、スキャンパス１０１ａ、１０１ｂ及び１０１ｃに含まれる全てのＦＦに、スキャンモード開始時と同じデータが保持される。よって、第２スキャンモードで、スキャンパス１０１ａ、１０１ｂ及び１０１ｃに含まれるＦＦのデータを読み出した後、実動作モードに移行し、引き続き実動作を行うことができる。
【０１２５】
さらに、本発明の実施の形態３に係る解析装置３００は、データ制御部３０７が、記憶部３０８に記憶されたデータに基づき、スキャンパス出力１０３ｃとして出力されたデータのうち、指定されたデータの論理値を変換し、スキャンパス１０１ａに再度入力する。これにより、スキャンパス１０１ａ、１０１ｂ及び１０１ｃに含まれる全てのＦＦの合計の段数と同じ数のクロックが入力された状態では、指定されたＦＦのデータを書換えることができる。これにより、所望のＦＦのデータを変更した場合の動作を確認することができ、多種の不良解析等を容易に行うことができる。
【０１２６】
また、タイミング制御部３２７は、カウンタ起動割り込み信号３１２が入力されたタイミングから、所定の値をカウントし、割り込み信号３０９をアクティブにする。スキャンパス１０１ａ、１０１ｂ及び１０１ｃは、割り込み信号３０９がアクティブになると、実動作モードからスキャンモードに移行する。これにより、実動作中の所望のタイミングで自動的にスキャンモードに移行することができる。よって、実動作中の所望のタイミングにおける内部のＦＦが保持するデータの読出し、又は内部のＦＦのデータの書換えを行うことができる。
【０１２７】
また、内部メモリ３１７及び外部メモリ３１５は、スキャンモード時において、スキャンパス１０１ａ、１０１ｂ及び１０１ｃの動作とは独立した動作を行う。これにより、スキャンモード後に、実動作に復帰した場合に、内部メモリ３１７及び外部メモリ３１５は、スキャンモード開始時のデータを保持することができる。これにより、スキャン動作終了後に引き続き実動作を行うことができる。
【０１２８】
また、表示部３１９は、スキャンモード時に、スキャンモード開始時に出力していた映像信号を静止画像として出力し続ける。これにより、画像を確認しながら解析を行う場合に画像データの出力が止まることにより表示の同期信号が停止し、画像出力がされなくなるといった問題を回避することができる。
【０１２９】
また、スキャンモードから実動作モードに復帰する際に、表示同期部３２０は、実動作への復帰のタイミングを表示部３１９の同期信号と合わせる。これにより、復帰後の映像のタイミングのズレや、復帰直後の同期のズレを防ぐことができる。
【０１３０】
また、スキャンモード時には、クロック制御部３１８は、ＰＬＬ発振部３２１のクロック出力の動作を停止する。これにより、スキャンモード時における、ＰＬＬ発振部３２１の発振動作によるノイズの発生を低減することができる。また、スキャンモード時の消費電力を低減することができる。
【０１３１】
また、クロック制御部３１８は、ＰＬＬ発振部３２１の発振動作が安定した後に、ＰＬＬ発振部３２１が出力するクロックから実動作に用いられるクロックを生成する。これにより、安定したクロックで実動作に復帰することができ、誤動作の発生を防止することができる。
【０１３２】
また、クロック制御部３１８は、実動作モードからスキャンモードに移行した際に、外部装置３２４のデータ出力を停止させる。クロック制御部３１８は、スキャンモードから実動作モードに復帰した際に、外部装置３２４のデータ出力を再開させる。これにより、実動作モードからスキャンモードに移行し、再度実動作モードに復帰しても、正常に動作を行うことができる。
【０１３３】
なお、上記説明において、解析装置３００が備えるスキャンパスの構成として、実施の形態１で説明した構成を用いた例について述べたが、実施の形態２で説明した構成に適用してもよい。
【０１３４】
（実施の形態４）
本発明の実施の形態４に係る解析装置は、非同期でデータの送受信を行う複数の機能ブロックを含む。さらに、スキャンモードから実動作モードへの復帰の際に、アック信号を用いて機能ブロックの状態を他の機能ブロックに送信する。これにより、実動作モードに復帰した際の、データの消失等の不具合の発生を防止することができる。
【０１３５】
まず、本発明の実施の形態４に係る解析装置の構成を説明する。
図４は、本発明の実施の形態４に係る解析装置の構成を示すブロック図である。
【０１３６】
図４に示す解析装置４００は、機能ブロック４０２ａ及び４０２ｂを備える。機能ブロック４０２ａは、スキャンパス１０１ａと、データ送信部４０７とを備える。機能ブロック４０２ｂは、スキャンパス１０１ｂと、データ受信部４０８とを備える。機能ブロック４０２ａ及び４０２ｂは、実動作時には、それぞれ非同期の実動作クロック４０３ａ及び４０３ｂを用いて動作を行う。すなわち、機能ブロック４０２ｂは、実動作時に機能ブロック４０２ａと非同期に動作する。スキャンパス１０１ａ及び１０１ｂは、スキャンモード時には、共通のクロック１０２によりシフト動作を行う。例えば、スキャンパス１０１ａ及び１０１ｂは、実施の形態１で述べた解析装置１００に含まれるスキャンパス１０１ａ及び１０１ｂと同様の構成である。なお、スキャンパス１０１ａ及び１０１ｂの構成は、実施の形態２で述べた解析装置２００に含まれるスキャンパスの構成であってもよい。データ送信部４０７は、実動作時に、機能ブロック４０２ｂに、データ信号４０５を送信する。データ受信部４０８は、データ送信部４０７からのデータを正しく受信した場合に、該データを受信した旨を機能ブロック４０２ａに通知するアクノリッジ信号（以下、アック信号と記す。）４０６を生成する。データ受信部４０８は、スキャンテストモードから実動作モードに移行し、機能ブロック４０２ｂがデータ受信可能な状態となった時に、アック信号４０６を機能ブロック４０２ｂに送信する。
【０１３７】
次に、解析装置４００の動作を説明する。
実動作時には、機能ブロック４０２ａ及び４０２ｂは、それぞれ非同期の実動作クロック４０３ａ及び４０３ｂにより動作する。実動作において、機能ブロック４０２ａから機能ブロック４０２ｂにデータ信号４０５によりデータが送信される。機能ブロック４０２ｂのデータ受信部４０８は、正しく送信ができたかどうかを、アック信号４０６を用いて返信をする。
【０１３８】
スキャンモード時には、スキャンパス１０１ａ及び１０１ｂは、共通のクロック１０２によりスキャン動作を行う。スキャンモードでスキャンパス１０１ａ及び１０１ｂの内部のデータを読み出した後、実動作に復帰する際に、機能ブロック４０２ｂは、機能ブロック４０２ａからのデータ受信が可能な状態になると、機能ブロック４０２ａにアック信号４０６を送信する。通常の非同期通信においては、非同期の実動作クロック４０３ａ及び４０３ｂの位相差が実動作の停止時と復帰時で異なる。これにより、データの一部の消失、又は２重転送が発生する場合がある。一方、本発明の実施の形態４に係る解析装置４００は、機能ブロック４０２ｂが、機能ブロック４０２ａにアック信号４０６でテータの受信の可否を伝えることにより、データの一部の消失、及び２重転送の発生を回避し正しいデータの転送を行うことができる。
【０１３９】
（実施の形態５）
本発明の実施の形態５に係る解析装置は、非同期に動作する機能ブロックを含む。さらに、スキャンモードへの移行の際の、非同期のクロックの位相差を記憶し、実動作モードに復帰する際の、非同期のクロックの位相差を、記憶した位相差に設定する。これにより、実動作モードに復帰した際の、データの消失等の不具合の発生を防止することができる。
【０１４０】
まず、本発明の実施の形態５に係る解析装置の構成を説明する。
図５は、本発明の実施の形態５に係る解析装置の構成を示すブロック図である。
【０１４１】
図５に示す解析装置５００は、機能ブロック５０２ａ及び５０２ｂと、セレクタ５０６と、遅延制御部５０７と、外部クロック入力５０８と、位相制御部５１２と、実動作クロック入力５０９とを備える。
【０１４２】
機能ブロック５０２ａは、スキャンパス１０１ａを備える。機能ブロック５０２ｂは、スキャンパス１０１ｂを備える。機能ブロック５０２ａは、実動作時に、実動作クロック４０３ａで動作する。機能ブロック５０２ｂは、実動作時に、実動作クロック４０３ａと非同期な実動作クロック４０３ｂで動作する。機能ブロック５０２ａは、実動作時に、機能ブロック５０２ｂにデータ信号５０５を送信する。スキャンパス１０１ａ及び１０１ｂは、スキャンモード時には、同一のクロック５０４によりスキャン動作を行う。例えば、スキャンパス１０１ａ及び１０１ｂは、実施の形態１で述べた解析装置１００に含まれるスキャンパス１０１ａ及び１０１ｂと同様の構成である。なお、スキャンパス１０１ａ及び１０１ｂの構成は、実施の形態２で述べた解析装置２００に含まれるスキャンパスの構成であってもよい。
【０１４３】
外部クロック入力５０８は、解析装置５００の外部から互いに同期したクロック５０８ａ、５０８ｂ及び５０８ｃが入力される。
【０１４４】
実動作クロック入力５０９には、非同期のクロック５０９ａ及び５０９ｂが入力される。クロック５０９ａは、実動作時に機能ブロック５０２ａで用いられるクロックであり、クロック５０９ｂは、実動作時に機能ブロック５０２ｂで用いられるクロックである。
【０１４５】
遅延制御部５０７は、クロック５０９ａ及び５０９ｂに所定の遅延を与えて出力する。遅延制御部５０７は、遅延回路５０７ａ及び５０７ｂを備える。遅延回路５０７ａは、クロック５０９ａに所定の遅延を与えて出力する。遅延回路５０７ｂは、クロック５０９ｂに所定の遅延を与えて出力する。
【０１４６】
セレクタ５０６は、セレクタ５０６ａ、５０６ｂ及び５０６ｃを含む。セレクタ５０６ａは、遅延回路５０７ａが出力した信号、又は外部クロック入力に入力されたクロック５０８ａを選択し機能ブロック５０２ａに供給する。セレクタ５０６ｂは、遅延回路５０７ｂが出力した信号、又は外部クロック入力に入力されたクロック５０８ｂを選択し機能ブロック５０２ｂに供給する。セレクタ５０６ｃは、クロック５１３又は外部クロック入力に入力されたクロック５０８ｃを選択し機能ブロック５０２ａ及び５０２ｂに供給する。クロック５１３は、例えば、解析装置５００を含む半導体集積回路の外部から入力されるスキャンテスト動作に用いられるクロックである。
【０１４７】
位相制御部５１２は、スキャンモードから実動作モードへの復帰の際に、遅延制御部５０７の遅延量を制御する。位相制御部５１２は、位相比較部５１０と、レジスタ５１１とを備える。位相比較部５１０は、実動作モードからスキャンモードへの移行の際に、実動作クロック入力５０９に入力されたクロック５０９ａとクロック５０９ｂとの位相差を検出する。レジスタ５１１は、位相比較部５１０が検出した位相差を保持する。位相制御部５１２は、スキャンモードから実動作モードへの復帰の際に、クロック５０９ａとクロック５０９ｂとの位相差をレジスタ５１１が保持する位相差に等しくなるように遅延制御部５０７の遅延量を制御する。
【０１４８】
次に、解析装置５００の動作を説明する。
実動作時には、機能ブロック５０２ａ及び５０２ｂは、それぞれ非同期のクロック５０３ａ及び５０３ｂにより動作する。実動作において、機能ブロック５０２ａから機能ブロック５０２ｂにデータ信号５０５によりデータが送信される。また、遅延制御部５０７は、実動作クロック入力５０９に入力されたクロック５０９ａ及び５０９ｂに遅延を与えずに出力する。また、セレクタ５０６ａ及び５０６ｂは、遅延制御部５０７が出力した信号を選択し、機能ブロック５０２ａ及び５０２ｂに出力する。すなわち、実動作時には、クロック５０９ａがクロック５０３ａとして機能ブロック５０２ａに供給され、クロック５０９ｂがクロック５０３ｂとして機能ブロック５０２ｂに供給される。
【０１４９】
スキャンモード時には、セレクタ５０６ｃは、クロック５１３を選択し、機能ブロック５０２ａ及び５０２ｂにクロック５０４として供給する。スキャンパス１０１ａ及び１０１ｂは、共通のクロック５０４によりスキャン動作を行う。また、実動作モードからスキャンモードに移行する際に、位相比較部５１０は、実動作モード終了時のクロック５０９ａと５０９ｂとの位相を比較する。レジスタ５１１は、位相比較部５１０のクロックの位相の比較結果を保持する。スキャンモードにおいてスキャンパス１０１ａ及び１０１ｂの内部のデータを読み出した後、実動作に復帰する際に、位相制御部５１２は、レジスタ５１１に保持されている位相差と、遅延制御部５０７が出力するクロックの位相差とが同じになるように、遅延回路５０７ａ及び５０７ｂの遅延量を制御する。すなわち、位相制御部５１２は、機能ブロック５０２ａ及び５０２ｂに入力されるクロック５０３ａ及び５０３ｂの位相差が、実動作モード終了時と、実動作モード復帰時とで、等しくなるように遅延制御部５０７の遅延量を制御する。これにより、実動作モードの復帰時に、データの一部消失、及びデータの２重転送等の不具合の発生を防止することができる。
【０１５０】
また、上述した位相制御部５１２及び遅延制御部５０７による処理を行わずに、セレクタ５０６で外部クロック入力５０８を選択し、外部クロック入力５０８にそれぞれが同期したクロック５０８ａ、５０８ｂ及び５０８ｃを入力することにより、同様に、データの一部消失、及びデータの２重転送等の不具合の発生を防止することができる。
【０１５１】
なお、上記説明において、解析装置５００は、セレクタ５０６と、遅延制御部５０７と、位相制御部５１２とを備えるとしたが、セレクタ５０６を備えなくともよい。すなわち、実動作モードへの復帰の際に、上述した位相制御部５１２及び遅延制御部５０７による位相差の調整のみを行ってもよい。さらに、遅延制御部５０７及び位相制御部５１２を備えず、実動作モードへの復帰の際に、上述したセレクタ５０６によるクロックの切り替えのみを行ってもよい。
【０１５２】
（実施の形態６）
本発明の実施の形態６に係る解析装置は、同一の回路構成の半導体装置を２つ備え、２つの半導体装置を時間的にずらして動作させる。先に動作している半導体装置において不具合が発生した場合に、遅れて動作している半導体装置の内部信号を、スキャンパスを用いて読み出す。これにより、内部回路の不具合発生前の状態を読み出すことができる。
【０１５３】
まず、本発明の実施の形態６に係る解析装置の構成を説明する。
図６は、本発明の実施の形態６に係る解析装置の構成を示すブロック図である。
【０１５４】
図６に示す解析装置６００は、半導体装置６０２ａ及び６０２ｂと、リセットパルス生成部６０６とを備える。半導体装置６０２ａ及び６０２ｂは、例えば、それぞれ１チップの半導体集積回路である。半導体装置６０２ａは、機能ブロック６０１ａと、検知部６０７とを備える。半導体装置６０２ｂは、機能ブロック６０１ｂと、モード切替部６０８とを備える。半導体装置６０２ａ及び６０２ｂは、検知部６０７及びモード切替部６０８を備える点を除き、同一の回路構成の半導体集積回路であり、同一の機能を有する。機能ブロック６０１ａ及び６０１ｂは、例えば、実施の形態１で説明した解析装置１００を含む機能ブロックである。機能ブロック６０１ａ及び機能ブロック６０１ｂは、スキャンモード時に、クロック６０３によりスキャン動作を行う。なお、機能ブロック６０１ａ及び６０１ｂは、上述した実施の形態２〜５のいずれかで述べた解析装置２００、３００、４００又は５００であってもよい。さらに、後述する実施の形態５に係る解析装置７００であってもよい。
【０１５５】
検知部６０７は、実動作時に、半導体装置６０２ａで発生した機能不具合等の解析を要する状態である内部の不具合を検知する。検知部６０７は、半導体装置６０２ａの内部の不具合を検知した場合に、不具合が発生した旨を示す割り込み信号６０５を生成し、外部に出力する。
【０１５６】
モード切替部６０８は、実動作時に割り込み信号６０５を受信すると、半導体装置６０２ｂの実動作を停止し、半導体装置６０２ｂの動作モードをスキャンモードに切り替えスキャンテストを行う。
【０１５７】
リセットパルス生成部６０６は、半導体装置６０２ａ及び６０２ｂの動作をリセットするリセット信号６０４ａ及び６０４ｂを生成する。リセットパルス生成部６０６は、リセット信号の解除のタイミングをずらすことで、半導体装置６０２ａ及び６０２ｂを、タイミングをずらして起動させる。
【０１５８】
次に、解析装置６００の動作を説明する。
まず、リセットパルス生成部６０６は、リセット信号６０４ａ及び６０４ｂをアサート（半導体装置６０２ａ及び６０２ｂがリセット状態）にする。次に、リセットパルス生成部６０６は、リセット信号６０４ａをネゲートにする。これにより、半導体装置６０２ａが実動作を開始する。リセットパルス生成部６０６は、リセット信号６０４ａをネゲートしてから所定の時間後に、リセット信号６０４ｂをネゲートする。これにより、半導体装置６０２ａの動作に遅れて、半導体装置６０２ｂが実動作を開始する。
【０１５９】
半導体装置６０２ａの実動作において、機能不具合など解析を要する状態が発生すると、検知部６０７は、割り込み信号６０５を生成する。割り込み信号６０５を受信した半導体装置６０２ｂは、実動作を停止してスキャンモードに移行する。スキャンモードにおいて半導体装置６０２ｂの機能ブロック６０１ｂに含まれるスキャンパスは、保持しているデータを外部に出力する。ここで、半導体装置６０２ｂは、半導体装置６０２ａに対して所定の時間遅れて動作しているので、スキャン動作により機能ブロック６０１ｂから読み出されるデータは、半導体装置６０２ｂにおいて不具合が発生する直前の状態のデータである。よって、本発明の実施の形態６に係る解析装置６００は、不具合が発生する直前の回路内部の状態を解析することができる。なお、リセット信号６０４ａをネゲートしてから、リセット信号６０４ｂをネゲートする時間は、回路の動作速度、及び不具合の発生前の解析を行いたい所望のタイミングに応じて設定すればよい。
【０１６０】
また、上記説明において、半導体装置６０２ａが検知部６０７を備え、半導体装置６０２ｂがモード切替部６０８を備えるとしたが、半導体装置６０２ａ及び６０２ｂがそれぞれ検知部６０７及びモード切替部６０８を備えてもよい。すなわち、半導体装置６０２ａ及び６０２ｂは、同一の回路構成の半導体集積回路であってもよい。
【０１６１】
また、上記説明において、半導体装置６０２ａ及び６０２ｂは、同一の回路構成の半導体集積回路であるとしたが、スキャン動作により解析を行う同一の回路を備えていればよく、異なる構成の回路を有していてもよい。
【０１６２】
（実施の形態７）
本発明の実施の形態７に係る解析装置は、実動作時に、スキャンパスに含まれる特定のＦＦの保持するデータを監視し、特定のＦＦの保持するデータが所定のデータになった場合に、実動作モードからスキャンモードに移行する。これにより、所定のタイミングでの内部状態の解析を容易に行うことができる。
【０１６３】
まず、本発明の実施の形態７に係る解析装置の構成を説明する。
図７は、本発明の実施の形態７に係る解析装置の構成を示すブロック図である。
【０１６４】
図７に示す解析装置７００は、Ｙデコード部７０１と、Ｘデコード部７０２と、判定部７０７と、スキャンパス７０８ａ、７０８ｂ、７０８ｃ及び７０８ｄとを備える。
【０１６５】
スキャンパス７０８ａ、７０８ｂ、７０８ｃ及び７０８ｄは、それぞれ複数のスキャンフリップ・フロップ７０３を備える。例えば、スキャンパス７０８ａ、７０８ｂ、７０８ｃ及び７０８ｄは、上述した実施の形態１に係る解析装置１００が備えるスキャンパス１０１ａに含まれるスキャンパスである。
【０１６６】
Ｙデコード部７０１は、Ｙアドレス信号７０９をデコードしてＹアドレスデコード信号７０５を生成する。Ｙアドレスデコード信号７０５は、Ｙアドレスデコード信号７０５ａ、７０５ｂ、７０５ｃ及び７０５ｄを含む。Ｙアドレスデコード信号７０５ａ、７０５ｂ、７０５ｃ及び７０５ｄは、それぞれスキャンパス７０８ａ、７０８ｂ、７０８ｃ及び７０８ｄに対応する。Ｙデコード部７０１は、Ｙアドレス信号７０９に応じて、Ｙアドレスデコード信号７０５ａ、７０５ｂ、７０５ｃ及び７０５ｄのうちいずれか１つを「１」とし、他を「０」にする。なお、Ｙアドレス信号７０９は、例えば、解析装置７００を含む半導体集積回路の外部から入力された２ビットの信号である。
【０１６７】
Ｘデコード部７０２は、Ｘアドレス信号７１０をデコードしてＸアドレスデコード信号７０４を生成する。Ｘアドレスデコード信号７０４は、Ｘアドレスデコード信号７０４ａ、７０４ｂ、７０４ｃ及び７０４ｄを含む。Ｘアドレスデコード信号７０４ａ、７０４ｂ、７０４ｃ及び７０４ｄは、それぞれ図７における横方向のアドレスに対応する。Ｘデコード部７０２は、Ｘアドレス信号７１０に応じて、Ｘアドレスデコード信号７０４ａ、７０４ｂ、７０４ｃ及び７０４ｄのうちいずれか１つを「１」とし、他を「０」にする。なお、Ｘアドレス信号７１０は、例えば、解析装置７００を含む半導体集積回路の外部から入力された２ビットの信号である。
【０１６８】
Ｙデコード部７０１及びＸデコード部７０２が生成したＹアドレスデコード信号７０５及びＸアドレスデコード信号７０４により複数のスキャンフリップ・フロップ７０３のうち特定のスキャンフリップ・フロップが選択される。
【０１６９】
スキャンフリップ・フロップ７０３は、Ｙアドレスデコード信号７０５及びＸアドレスデコード信号７０４により選択された場合に、スキャンパスを用いて保持するデータを後段のスキャンフリップ・フロップ７０３に出力し、Ｙアドレスデコード信号７０５及びＸアドレスデコード信号７０４により選択されない場合には、前段のスキャンフリップ・フロップ７０３の出力したデータを後段のスキャンフリップ・フロップにスルーして出力する。
【０１７０】
判定部７０７は、スキャンアウト７０６が所定のデータと一致するか否かを判定する。さらに、判定部７０７は、スキャンアウト７０６が所定のデータと一致した場合に、実動作を停止させ、実動作モードからスキャンモードに動作モードを切り替え、スキャンテストを行う。
【０１７１】
図８は、スキャンフリップ・フロップ７０３の構成を示す図である。図８に示すスキャンフリップ・フロップ７０３は、デコード回路８０２と、フリップ・フロップ８０３と、セレクタ８０４とを備える。
【０１７２】
スキャン入力８０５には、スキャンパスを構成する前段のスキャンフリップ・フロップ７０３のスキャン出力８０８が接続される。スキャンモード信号８０６は、スキャンモード又は実動作モードであることを示す信号であり、例えば、スキャンモード時は「１」となり、実動作モード時は「０」となる。
【０１７３】
デコード回路８０２は、Ｘアドレスデコード信号７０４及びＹアドレスデコード信号７０５が共に「１」の場合に、スキャンフリップ・フロップ７０３のＱ出力をデコード回路出力８０７として出力する。また、デコード回路８０２は、Ｘアドレスデコード信号７０４及びＹアドレスデコード信号７０５のいずれか一方が「０」の場合に、スキャン入力８０５をデコード回路出力８０７として出力する。すなわち、スキャンフリップ・フロップ７０３は、Ｘアドレスデコード信号７０４とＹアドレスデコード信号７０５との論理和により選択される。
【０１７４】
セレクタ８０４は、スキャンモード信号８０６に応じて、スキャンフリップ・フロップ７０３のＮＱ出力、又はデコード回路出力８０７を出力する。具体的には、セレクタ８０４は、スキャンモード時には、スキャンフリップ・フロップ７０３のＮＱ出力をスキャン出力８０８に出力し、実動作モード時には、デコード回路出力８０７をスキャン出力８０８に出力する。
【０１７５】
フリップ・フロップ８０３は、スキャンモード信号８０６に応じて、スキャン入力８０５又はデータ入力８０９を、クロック８１０に応じて取り込む。具体的には、スキャンモード時には、フリップ・フロップ８０３は、スキャン入力８０５をクロック８１０に応じて取り込み、実動作モード時には、データ入力８０９をクロック８１０に応じて取り込む。
【０１７６】
次に、解析装置７００の実動作モードにおける動作を説明する。
実動作モードにおいて、Ｙアドレス信号７０９及びＸアドレス信号７１０により任意のスキャンフリップ・フロップ７０３が、データ監視の対象のＦＦとして選択される。Ｙデコード部７０１及びＸデコード部７０２により、選択されたスキャンフリップ・フロップ７０３のＹアドレスデコード信号７０５及びＸアドレスデコード信号７０４が「１」となる。よって、選択されたスキャンフリップ・フロップ７０３の保持するデータがスキャン出力８０８に出力される。選択されていないスキャンフリップ・フロップ７０３では、Ｙアドレスデコード信号７０５及びＸアドレスデコード信号７０４のうち少なくとも一方が「０」となり、スキャン入力８０５が、そのままスキャン出力８０８に出力される。すなわち、選択されたスキャンフリップ・フロップ７０３の保持するデータは、後段の全てのスキャンフリップ・フロップ７０３をスルーして、スキャンアウト７０６として判定部７０７に出力される。判定部７０７は、スキャンアウト７０６の信号、すなわち選択されたスキャンフリップ・フロップ７０３に保持されている信号を監視する。判定部７０７は、設定された時間範囲、かつスキャンアウト７０６が所定の論理になると、実動作モードからスキャンモードへの移行を行う。
【０１７７】
以上より、本発明の実施の形態７に係る解析装置７００は、実動作時において任意のスキャンフリップ・フロップ７０３に記憶された情報を監視し、その情報により実動作を停止し、スキャンテスト動作により内部回路の情報を読み出す。任意のスキャンフリップ・フロップ７０３の情報を監視し、その変化したタイミングを用いて情報を読み出すことにより特定の時間の特定の箇所の解析を行うことができる。さらに、スキャンパスを用いることにより、セル間の配線を増やすことなく実動作時の特定のフリップ・フロップの情報を読み出すことができる。
【０１７８】
なお、判定部７０７を備えず、スキャンアウト７０６をテスト端子等から外部に出力してもよい。
【産業上の利用可能性】
【０１７９】
本発明は、スキャンパス機能を有する解析装置を含む半導体集積回路に適用でき、特に、大規模論理回路を有する半導体集積回路に適用できる。また、半導体集積回路の設計段階における回路の不具合を解析する解析装置に適用できる。
【図面の簡単な説明】
【０１８０】
【図１】本発明の実施の形態１に係る解析装置の構成を示す図である。
【図２】本発明の実施の形態２に係る解析装置の構成を示す図である。
【図３】本発明の実施の形態３に係る解析装置の構成を示す図である。
【図４】本発明の実施の形態４に係る解析装置の構成を示す図である。
【図５】本発明の実施の形態５に係る解析装置の構成を示す図である。
【図６】本発明の実施の形態６に係る解析装置の構成を示す図である。
【図７】本発明の実施の形態７に係る解析装置の構成を示す図である。
【図８】本発明の実施の形態７に係る解析装置のスキャンフリップ・フロップの構成を示す図である。
【図９】従来の解析装置の構成を示す図である。
【符号の説明】
【０１８１】
１００、２００、３００、４００、５００、６００、７００、９００    解析装置
１０１ａ、１０１ｂ、１０１ｃ、２０１ａ、２０１ｂ、２０１ｃ    スキャンパス
１０２、２０２ａ、２０２ｂ、２０２ｃ    クロック
１０３ａ、１０３ｂ、１０３ｃ、２０３ａ、２０３ｂ、２０３ｃ    スキャンパス出力
１０４ａ、１０４ｂ、１０４ｃ、２０４ａ、２０４ｂ、２０４ｃ    セレクタ
１０５ａ、１０５ｂ、１０５ｃ、２０５ａ、２０５ｂ、２０５ｃ    スキャンパス入力
２０６ａ、２０６ｂ、２０６ｃ  パラレル入力
２０７    クロック制御部
２０８    シリアル−パラレル変換部
２０９    パラレル−シリアル変換部
２１０    シリアル入力
２１１    シリアル出力
３０７    データ制御部
３０８    記憶部
３０９    割り込み信号
３１０    カウンタ
３１１    比較部
３１２    カウンタ起動割り込み信号
３１３    レジスタ
３１４    外部メモリ制御部
３１５    外部メモリ
３１６    内部メモリ制御部
３１７    内部メモリ
３１８    クロック制御部
３１９    表示部
３２０    表示同期部
３２１    ＰＬＬ発振部
３２２    タイマー
３２３    外部装置停止信号
３２４    外部装置
３２５    データ入力信号
３２６    外部記憶装置
３２７    タイミング制御部
３２９    外部データ取得部
３３０    半導体装置
４０２ａ、４０２ｂ、５０２ａ、５０２ｂ  機能ブロック
４０３ａ、４０３ｂ、５０３ａ、５０３ｂ、５０４、５０８ａ、５０８ｂ、５０８ｃ、５０９ａ、５０９ｂ、５１３、６０３  クロック
４０５、５０５    データ信号
４０６    アック信号
４０７    データ送信部
４０８    データ受信部
５０６、５０６ａ、５０６ｂ、５０６ｃ    セレクタ
５０７    遅延制御部
５０７ａ、５０７ｂ    遅延回路
５０８    外部クロック入力
５０９    実動作クロック入力
５１０    位相比較部
５１１    レジスタ
５１２    位相制御部
６０１ａ、６０１ｂ    機能ブロック
６０２ａ、６０２ｂ    半導体装置
６０４ａ、６０４ｂ  リセット信号
６０５    割り込み信号
６０６    リセットパルス生成部
７０１    Ｙデコード部
７０２    Ｘデコード部
７０３    スキャンフリップ・フロップ
７０４、７０４ａ、７０４ｂ、７０４ｃ、７０４ｄ    Ｘアドレスデコード信号
７０５、７０５ａ、７０５ｂ、７０５ｃ、７０５ｄ    Ｙアドレスデコード信号
７０６    スキャンアウト
７０７    判定部
７０８ａ、７０８ｂ、７０８ｃ、７０８ｄ    スキャンパス
７０９    Ｙアドレス信号
７１０    Ｘアドレス信号
８０２    デコード回路
８０３    フリップ・フロップ
８０４    セレクタ
８０５    スキャン入力
８０６    スキャンモード信号
８０７    デコード回路出力
８０８    スキャン出力
８０９    データ入力
８１０    クロック
９０１ａ、９０１ｂ  スキャンパス
９０２    クロック
９０３ａ、９０３ｂ  スキャンパス出力
９０４ａ、９０４ｂ  セレクタ
９０５ａ、９０５ｂ  スキャンパス入力
９０６    ダミーＦＦ
【図１】
2008089545.tif 000003
【図２】
2008089545.tif 000004
【図３】
2008089545.tif 000005
【図４】
2008089545.tif 000006
【図５】
2008089545.tif 000007
【図６】
2008089545.tif 000008
【図７】
2008089545.tif 000009
【図８】
2008089545.tif 000010
【図９】
2008089545.tif 000011