(57)【要約】【課題】集積回路装置の検査において、集積回路装置内部のレジスターの値読出しに掛かる時間を短くする。【解決手段】集積回路装置が動作モード設定端子と読出しフラグを備えた第１のレジスターとを含み、前記読出しフラグは前記第１のレジスターに保存された値の読出しを許可するためのフラグであり、前記動作モード設定端子により第１の動作モードに設定されかつ前記読出しフラグが読出し許可に設定されているときは、外部からの読出し要求信号に対応して前記第１のレジスターの値が外部に出力されることを特徴とする。【選択図】図１
2011191093.tif 000002
【特許請求の範囲】
【請求項１】
動作モード設定端子と、
第１のフラグと、
第２のフラグと、
第１のレジスターと、
第２のレジスターと、を含み、
前記第１のフラグは、前記第１のレジスターに保存された値の読出しを許可するためのフラグであり、
前記第２のフラグは、前記第２のレジスターに保存された値の読出しを許可するためのフラグであり、
前記動作モード設定端子により第１の動作モードに設定され、かつ、前記第１のフラグ及び前記第２のフラグが共に読出し許可に設定されているときにおいて、
外部からのひとつの読出し要求信号に対応して、前記第１のレジスターの値又は前記第２のレジスターの値のいずれか一方の値が外部に出力されることを特徴とする集積回路装置。
【請求項２】
前記第１のレジスターは前記第２のレジスターよりも優先順位が高く設定されており、
前記第１のレジスターの値が出力された後の前記読出し要求信号に対応して前記第２のレジスターの値が出力されることを特徴とする請求項１に記載の集積回路装置。
【請求項３】
前記第１のレジスターは第１のアドレスによりアクセスされ、
前記第２のレジスターは第２のアドレスによりアクセスされ、
前記第１のアドレスは前記第２のアドレスよりもアドレスの値が小さいことを特徴とする請求項１又は２に記載の集積回路装置。
【請求項４】
前記第１のフラグ及び前記第２のフラグは、前記優先順位の順番で配列されていることを特徴とする請求項１乃至３のいずれか一項に記載の集積回路装置。
【請求項５】
集積回路装置の検査方法であって、
前記集積回路装置は、第１のレジスターと、前記第１のレジスターに保存された値の読み出しを許可するための第１のフラグと、第２のレジスターとを、前記第２のレジスターに保存された値の読み出しを許可するための第２のフラグと、を含み、
前記集積回路装置内部を第１の動作モードに設定する第１の処理と、
前記第１のフラグ及び前記第２のフラグの少なくともひとつをオンにする第２の処理と、
前記集積回路装置に読出し要求信号を与える第３の処理と、
前記集積回路装置から出力される値をサンプリングする第４の処理と、を含み、
前記第１の動作モードは、前記集積回路装置における検査を実行するためのモードのひとつであり、
前記第２の処理において前記第１のフラグ及び前記第２のフラグの少なくともひとつをオンとすることで読出しを行うレジスターの設定を行い、
前記第３の処理において前記読出しを行うレジスターの読出しを指示し、
前記第４の処理においてひとつの前記読出しを行うレジスターの値の読出しを行うことを特徴とする集積回路装置の検査方法。
【請求項６】
前記第２の処理において前記第１のフラグ及び前記第２のフラグの両方がオンとされた場合、
前記第３の処理及び前記第４の処理が繰り返されることにより、前記第１のレジスターの値及び前記第２のレジスターの値が読み出されることを特徴とする請求項５に記載の集積回路装置の検査方法。
【請求項７】
前記第１のレジスターのアドレスが前記第２のレジスターのアドレスよりも小さい場合は、前記第１のレジスターの値が先に読み出され、
前記第２のレジスターのアドレスが前記第１のレジスターのアドレスよりも小さい場合は、前記第２のレジスターの値が先に読み出されることを特徴とする請求項６に記載の集積回路装置の検査方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、たとえば、外部からの指示で内部のレジスターの値が読み出される機能を有する集積回路装置、及び、この集積回路装置の検査方法に関する。
【背景技術】
【０００２】
従来、集積回路装置の検査には、集積回路装置の内部のレジスターやメモリーなどデータを書き込んだり、又はデータを読み出したりするためのテスト装置が用いられている。テスト装置を用いることにより、集積回路装置の所定の端子に接続されたプローブを介して集積回路装置の出力信号をサンプリングしたり、サンプリングした信号をテスト装置のディスプレイに波形として表示したり、テスト装置の内部のメモリーなどに記憶したりすることができる。また、テスト装置を用いることにより、集積回路装置内部のレジスターやメモリーなどにデータを書込ませクロック信号の制御を行うことで集積回路装置に所定の動作を行わせることができ、該所定の動作により変更されたレジスターの値を読み出して集積回路装置が正常に動作しているかどうかの確認を行うことができる。
【０００３】
テスト装置には様々なタイプが存在する。たとえば、特許文献１には、ターゲットシステムに外部から制御可能なバスアービター回路を設け、テストシステムのメモリー・レジスターアクセスボードからバスアービター回路を制御することで、ターゲットシステム内部のレジスターやメモリーなどへのアクセスを行い、デバッグを行うことができることが記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平５−２０４７０１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１で提案された方法では、ターゲットシステム内部のバスを使用してレジスター及びメモリーなどのアクセスを行うことから、テストシステムは所定のバスサイクルを実行しないとデータの書込み又は読出しを行うことができない。このため、たとえば複数のレジスターに連続してアクセスするような場合は、少なくともアクセスするレジスターの個数分のバスサイクルの実行が必要になる。
【０００６】
また、ターゲットシステムのデバッグは、テストシステムの指示に対してターゲットシステムが応答する形で行われることから、たとえばターゲットシステムのひとつのレジスターの読出しに要する時間は、テストシステムからターゲットシステムに読み出しに必要な信号を与えるのに要する時間及びターゲットシステムからひとつのレジスターの値を取り出すのに要する時間を含むことになる。一般的に、ターゲットシステムにおける信号の駆動力はテストシステムにおける信号の駆動力よりも小さい。このため、ターゲットシステムからの信号の取り出しに要する時間が、テストシステムからターゲットシステムに信号を与えるのに要する時間よりも長くなる傾向がある。デバッグに要する時間を短くすることは、テストシステムからターゲットシステムに信号を与えるのに要する時間及びターゲットシステムからの信号の取り出しに要する時間の少なくともいずれかの時間を短くすることで行えるが、ターゲットシステムはターゲットシステム固有の仕様で作られていることから、デバッグ又はテストのためにターゲットシステムにおける信号の駆動力を大きくすることは難しい。
【課題を解決するための手段】
【０００７】
本発明は、上述した課題の少なくともひとつを解決するためになされたものであり、以下の適用例又は実施形態として実施することができる。
【０００８】
［適用例１］
本適用例にかかる集積回路装置は、動作モード設定端子と、第１のフラグと、第２のフラグと、第１のレジスターと、第２のレジスターと、を含み、前記第１のフラグは、前記第１のレジスターに保存された値の読出しを許可するためのフラグであり、前記第２のフラグは、前記第２のレジスターに保存された値の読出しを許可するためのフラグであり、前記動作モード設定端子により第１の動作モードに設定され、かつ、前記第１のフラグ及び前記第２のフラグが共に読出し許可に設定されているときにおいて、外部からのひとつの読出し要求信号に対応して、前記第１のレジスターの値又は前記第２のレジスターの値のいずれか一方の値が外部に出力されることを特徴とする。
【０００９】
この構成によれば、第１の動作モードに設定されているときにおいて、第１のフラグ及び第２のフラグを読出し許可に設定し、ひとつの読出し要求信号を外部から与えることにより第１のレジスターの値又は第２のレジスターの値のいずれか一方が外部に出力されることで、集積回路装置に接続された外部装置を用いて集積回路装置内部のレジスターの値を容易に読み出すことができる。外部装置は第１のレジスターのアドレス及び第２のレジスターのアドレスを与える必要がなく、読出しにかかる処理をより簡易なものとすることができると共に読み出しの処理に要する時間を短くすることができる。
【００１０】
［適用例２］
上記適用例にかかる集積回路装置において、前記第１のレジスターは前記第２のレジスターよりも優先順位が高く設定されており、前記第１のレジスターの値が出力された後の前記読出し要求信号に対応して前記第２のレジスターの値が出力されることが好ましい。
【００１１】
この構成によれば、予め読出しの優先順位を決めておくことで、外部装置は読出し要求信号の回数により読み出した値がいずれのレジスターの値であるかを認識することができる。
【００１２】
［適用例３］
上記適用例にかかる集積回路装置において、前記第１のレジスターは第１のアドレスによりアクセスされ、前記第２のレジスターは第２のアドレスによりアクセスされ、前記第１のアドレスは前記第２のアドレスよりもアドレスの値が小さいことが好ましい。
【００１３】
この構成によれば、読み出される優先順位の高いレジスターのアドレスの値が読み出される優先順位の低いレジスターのアドレスの値よりも小さいことで、外部装置における集積回路装置内部のレジスターの管理が容易となる。
【００１４】
［適用例４］
上記適用例にかかる集積回路装置において、前記第１のフラグ及び前記第２のフラグは、前記優先順位の順番で配列されていることが好ましい。
【００１５】
この構成によれば、第１のフラグ及び第２のフラグが優先順位の順番で配列されていることで、第１のフラグ及び第２のフラグの読出し許可の設定をするときなどの第１のフラグ及び第２のフラグの扱いが容易となる。たとえば、集積回路装置に外部から第１のフラグ及び第２のフラグの値を入力するための端子を設け、該端子からシリアルデータとして設定値を入力することができる。また、優先順位の順番で配列されていることは、集積回路装置のレジスターのアドレス生成の処理を容易とすることができる。
【００１６】
［適用例５］
本適用例にかかる集積回路装置の検査方法は、集積回路装置の検査方法であって、前記集積回路装置は、第１のレジスターと、前記第１のレジスターに保存された値の読み出しを許可するための第１のフラグと、第２のレジスターとを、前記第２のレジスターに保存された値の読み出しを許可するための第２のフラグと、を含み、前記集積回路装置内部を第１の動作モードに設定する第１の処理と、前記第１のフラグ及び前記第２のフラグの少なくともひとつをオンにする第２の処理と、前記集積回路装置に読出し要求信号を与える第３の処理と、前記集積回路装置から出力される値をサンプリングする第４の処理と、を含み、前記第１の動作モードは、前記集積回路装置における検査を実行するためのモードのひとつであり、前記第２の処理において前記第１のフラグ及び前記第２のフラグの少なくともひとつをオンとすることで読出しを行うレジスターの設定を行い、前記第３の処理において前記読出しを行うレジスターの読出しを指示し、前記第４の処理においてひとつの前記読出しを行うレジスターの値の読出しを行うことを特徴とする。
【００１７】
この方法によれば、第１の処理によって集積回路装置を第１の動作モードに設定し、第２の処理により集積回路装置内部の読出し許可フラグの設定をし、第３の処理により集積回路装置に対しての読出しの指示を行い、第４の処理により集積回路装置の出力をサンプリングすることで、第１のレジスターの値若しくは第２のレジスターの値を読出しフラグの設定に応じて外部装置により読み出すことができる。第１の動作モードとは所謂テストモードである。上記適用例に係る集積回路装置の検査方法は、第１のレジスターのアドレス若しくは第２のレジスターのアドレスを与える動作が必要なく、第１のレジスターの値若しくは第２のレジスターの値を読み出すことが可能となり、外部装置の読出しにかかる処理を簡易なものとすると共に読出しの処理に要する時間を短くすることができる。第２の処理は、検査項目に応じて実行されてもよく、また、製造段階において予め読み出し許可フラグを固定値に設定することにより行われてもよい。
【００１８】
［適用例６］
上記適用例にかかる集積回路装置の検査方法において、前記第２の処理において前記第１のフラグ及び前記第２のフラグの両方がオンとされた場合、前記第３の処理及び前記第４の処理が繰り返されることにより、前記第１のレジスターの値及び前記第２のレジスターの値が読み出されることを特徴とする。
【００１９】
この方法によれば、第２の処理において第１のフラグ及び第２のフラグをオンとし、第３の処理及び第４の処理を繰り返すことで、第１のレジスターの値及び第２のレジスターの値を続けて読み出すことができる。
【００２０】
［適用例７］
上記適用例にかかる集積回路装置の検査方法において、前記第１のレジスターのアドレスが前記第２のレジスターのアドレスよりも小さい場合は、前記第１のレジスターの値が先に読み出され、前記第２のレジスターのアドレスが前記第１のレジスターのアドレスよりも小さい場合は、前記第２のレジスターの値が先に読み出されることを特徴とする。
【００２１】
この方法によれば、読み出される優先順位の高いレジスターのアドレスの値が読み出される優先順位の低いレジスターのアドレスの値よりも小さいことで、外部装置における集積回路装置内部のレジスターの管理が容易となる。
【図面の簡単な説明】
【００２２】
【図１】集積回路装置における処理フローを示す図。
【図２】集積回路装置の概略ブロック図とテストシステムイメージ図。
【図３】集積回路装置内部の一部を示すブロック図。
【図４】テスト装置における処理フローを示す図。
【図５】プライオリティエンコーダーの真理値表。
【発明を実施するための形態】
【００２３】
以下、本発明に係る集積回路装置の実施形態について、図を用いて説明する。以下の実施形態の説明において、信号又は端子がその与えられた機能を有効とする状態にあることを「オン」、有効とする状態にないことを「オフ」と表現することがある。また、信号の表現について、たとえば４ビットのレジスターＸの出力信号をＸ３、Ｘ２、Ｘ１及びＸ０としたときに、レジスターＸの出力信号をＸ［３：０］として表すことがある。また、“”ではさまれた数値は２値を示すものとする。たとえば４ビットのＸ［３：０］の値を示すときに、Ｘ［３：０］＝“０１０１”のように記載する。
【００２４】
（第１実施形態）
本実施形態は、集積回路装置内のレジスターファイルを構成する複数のレジスター各々に格納されている値を、集積回路装置に接続した外部装置（テスト装置）を用いて読出す例である。
【００２５】
図２−（ａ）に本実施形態で説明する集積回路装置１００の概略ブロック図を示す。集積回路装置１００は、入出力部１１０、機能処理部１３０及びテスト制御部１２０を含む。入出力部１１０の詳細は図２−（ａ）に記載しないが、入出力部１１０には入出力端子、ドライバー及びレシーバーが含まれる。入出力端子の中には外部から集積回路装置１００のデバッグ又はテストを行うために必要な動作モードを指定するための端子が存在する。本実施形態において、デバッグ又はテストの動作モードを指定する端子をテストモード設定端子と呼ぶことにする。テストモード設定端子がオンの状態をテストモードと呼ぶことにする。また本実施形態の説明において、テストに用いられる端子をまとめてテスト端子と呼ぶ場合がある。テストモード設定端子はテスト端子に含まれる。
【００２６】
テストモードにおいて、集積回路装置１００内部の信号の接続は、テストに適した形の接続に変更される。具体的には、たとえばテストモード以外ではバスを介してからしか読み出せないレジスターの出力を、テストモードにおいては入出力端子の特定の端子から読み出せるように接続を変更する、などの形の接続変更がある。また、テスト項目に応じた集積回路装置１００の動作モードの制御などを外部装置から与えられるコマンドなどにより行うために、テスト制御部１２０内に図示しないテストモード制御部が存在する。また、本実施形態及び実施例においてひとつひとつの信号の説明はしないが、図２−（ａ）中、信号１１は外部装置への複数の出力信号を模式化したものである。同様に、信号１２は外部装置からの複数の入力信号を模式化したものである。信号１３は入出力部１１０から機能処理部１３０への複数の出力信号を模式化したものである。信号１４は機能処理部１３０から入出力部１１０への複数の出力信号を模式化したものである。信号１５は入出力部１１０からテスト制御部１２０への複数の出力信号を模式化したものである。信号１６はテスト制御部１２０から入出力部１１０への複数の出力信号を模式化したものである。信号１７は機能処理部１３０からテスト制御部１２０への複数の出力信号を模式化したものである。信号１８はテスト制御部１２０から機能処理部１３０への複数の出力信号を模式化したものである。
【００２７】
図２−（ｂ）は、本実施形態における集積回路装置１００を含むシステムを図示したもので、集積回路装置１００のテスト端子に外部装置としてテスト装置２００が接続されていることを示したものである。図示はしていないが、テスト装置２００はデバッグ状態若しくはテスト状態の表示や操作などに用いるための表示装置及びキーボードなどの操作部を有する。集積回路装置１００とテスト装置２００とはデバッグ若しくはテストに必要な複数の信号からなる信号１０により接続されている。信号１０は集積回路装置１００においてテスト端子に接続されている。テストモード設定端子自体は信号１０に接続されていても接続されていなくてもよいが、テスト装置２００からオン、オフの制御が行える方が好ましい場合もあることから本実施形態においては、テスト端子は信号１０に接続されていることとする。集積回路装置１００におけるテスト端子は、専用端子であってもよい。また、テストモード設定端子がオンのときに他の機能の端子が切り替わってテスト端子としての機能を果たすようにしてもよい。本実施形態においては、テストモード設定端子がオンの場合に他の機能の端子がテスト端子としての機能を果たすようにしてあるものとする。
【００２８】
図３に示したのは、機能処理部１３０の含まれる複数のレジスターを有するレジスターファイル１４０及び複数のレジスターの各々に対して設けられた読出しフラグ１４１、及び、テスト制御部１２０に含まれるアドレス生成部１５０である。レジスターファイル１４０は、より上側に図示してあるレジスターがより小さいアドレスを有するものとする。アドレス生成部１５０は、セレクター１５１、フラグチェックレジスター１５２、プライオリティエンコーダー１５３、フラグ更新部１５４、テストアドレス生成部１５５、セレクター１５６、ベースアドレスレジスター１５７及びベースアドレス更新部１５８を有する。
【００２９】
セレクター１５１はフラグチェックレジスター１５２に格納するデータを選択し出力するためのもので、信号２１（読出しフラグ１４１の値）又はフラグ更新部１５４の出力である信号２５のいずれかが信号２３により選択され、信号２２として出力される。信号２２の値はフラグチェックレジスター１５２に格納され、信号２４としてプライオリティエンコーダー１５３及びフラグ更新部１５４に出力される。信号２３はテストモード制御部より出力される。
【００３０】
プライオリティエンコーダー１５３は、フラグチェックレジスター１５２に格納された読出しフラグ１４１の中でオンとなっているフラグに対応するレジスターの中から最も優先順位の高いレジスターを選択するためのものである。本実施形態においては、アドレスのより小さいレジスターがより高い優先順位を有することとする。プライオリティエンコーダー１５３の真理値表を図５に示す。
【００３１】
プライオリティエンコーダー１５３においてフラグチェックレジスター１５２の出力である信号２４が入力信号であり、信号２４が図５で示した真理値表のＳ［７：０］に対応する。Ｓ０がＲｅｇ−Ａ０に対応するフラグである。テストアドレス生成部１５５に出力される信号２７は、図５で示した真理値表のＥ［２：０］に対応する。最も優先順位の高いフラグの位置を示す信号２８は、図５で示した真理値表のＢ［７：０］に対応する。また、プライオリティエンコーダー１５３からは、信号２４のすべてのビットがオフとなっていることを示す信号２６（ＥＺ）及びプライオリティエンコーダー１５３の出力が有効であることを示す信号ＥＥ（図３において図示せず）が出力される。図５で入力信号として示した信号ＰＥは、プライオリティエンコーダー１５３の動作を有効とするためのイネーブル信号である。信号ＰＥは、図３においては図示していないが、テストモード制御部より出力される。
【００３２】
フラグ更新部１５４は、最も優先順位の高いレジスターに対応するフラグのクリアを行う部分である。信号２４の中の、信号２８（Ｂ［７：０］）で示されたビットがクリアされ信号２５として出力され、セレクター１５１を介してフラグチェックレジスター１５２に格納される。
【００３３】
セレクター１５６はベースアドレスレジスター１５７に格納するデータを選択し出力するためのもので、信号２９（初期設定値）又は信号３２（後述するベースアドレス更新部１５８の出力）のいずれかが信号３４により選択され、信号３０として出力される。信号３４はテストモード制御部より出力される。
【００３４】
テストアドレス生成部１５５は、ベースアドレスレジスター１５７の出力である信号３１とプライオリティエンコーダー１５３の出力である信号２７（Ｅ［２：０］）から読出し対象となるレジスターのアドレス３３（以降、テストアドレス３３と呼ぶ）を生成する部分である。テストモードのときは、レジスターファイル１４０のアドレスとしてテストアドレス３３が使用される。
【００３５】
ベースアドレス更新部１５８は、フラグチェックレジスター１５２に格納された読出しフラグ１４１で読出し指定をされたレジスターすべての読出しが終了した場合に、次にフラグチェックレジスター１５２に設定される読出しフラグ１４１で指定されるレジスターのベースアドレスを生成する部分である。ベースアドレス更新部１５８で生成されたベースアドレスは信号３２として出力され、次の読出しフラグ１４１がフラグチェックレジスター１５２に格納されるタイミングでセレクター１５６を介しベースアドレスレジスター１５７に格納される。
【００３６】
フラグチェックレジスター１５２により読出し指定をされたレジスターすべての読出しが終了すると、フラグチェックレジスター１５２のすべてのビットがクリアされる。このため、信号２４（Ｓ［７：０］）＝“００００００００”となりプライオリティエンコーダー１５３の出力である信号ＥＺの値が“０”となる。すなわち、ＥＺ＝“０”のときは読み出されるレジスターが存在しないことを示し、続けてレジスターの読出しを行う場合はフラグチェックレジスター１５２及びベースアドレスレジスター１５７の内容が更新される必要があることを示している。従って、ＥＺ＝“０”を検出したときにフラグチェックレジスター１５２及びベースアドレスレジスター１５７の内容を更新することでレジスターの読出し動作を継続させることができる。このため、ＥＺ＝“０”の状態は、テスト装置２００が集積回路装置１００の制御を行う上でも必要であることから、ＥＺの値はテスト端子を介して集積回路装置１００からテスト装置２００に出力される。
【００３７】
テスト装置２００による集積回路装置１００内部のレジスターファイル１４０のデータの読出し動作は、レジスターリードコマンドを出力し、次に読出し要求信号を出力した後、所定の時間経過後に集積回路装置１００の出力をサンプリングすることにより行われる。また、テスト装置２００は所定のタイミング信号を出力し、集積回路装置１００の動作は所定のタイミング信号に同期をとっての動作となる。読出しフラグ１４１の値は、集積回路装置１００を製造したときに予め設定されていてもよいし、テストモードにおいてテスト装置２００から設定できるようにしていてもよい。しかしながら、所定のタイミング信号については、集積回路装置の仕様やテスト装置の仕様、又はテスト内容によっても異なってくるものであり、設計事項の一つと判断して特に記載はしない。従って、後述する実施例の中において、必要な所定のタイミング信号は出力されているものとする。
【実施例１】
【００３８】
本実施例は、予め読出しフラグ１４１の設定がなされている場合おける、テスト装置２００から集積回路装置１００のレジスターファイル１４０のデータを読出す例である。本実施例においては、フラグチェックレジスター１５２のサイズを８ビットとし、レジスターファイル１４０における各々のレジスターのサイズを８ビットとし、レジスターファイル１４０の各々のレジスターのアドレスはバイトアドレスで示されるものとする。また、読出しフラグ１４１が予め設定されていることに合わせて、ベースアドレスレジスター１５７の初期設定値も決められており、信号２９を介して初期設定値がセレクター１５６に入力されるようになっている。初期設定値は、レジスターファイル１４０の中のレジスターでアドレスが最小のレジスターであるＲｅｇ−Ａ０のアドレスとなる。
【００３９】
集積回路装置１００における処理の一部を図１のフローチャート１に示し、テスト装置２００における処理の一部を図３のフローチャート２に示す。フローチャート１及びフローチャート２におけるスタートの時点で、既に集積回路装置１００はテストモードに設定されているものとする。これにより、集積回路装置１００は、テストアドレス３３がレジスターファイル１４０のアドレスとして使用されるように設定されている。また、集積回路装置１００は、テスト装置２００からのコマンド待ちの状態にある。フローチャート１及びフローチャート２に記載された処理は、集積回路装置１００及びテスト装置２００のそれぞれにおいて平行して実行される。
【００４０】
まず、テスト装置２００は、信号１０を介してレジスターリードコマンドを出力する（図４・Ｓ１０）。集積回路装置１００は、リードコマンドの受信を確認する（図１・Ｓ１）と集積回路装置１００内部の信号接続をリードコマンドの実行が行うための初期状態の接続（リードモード）に設定する（図１・Ｓ２）。これにより、セレクター１５１は信号２３により信号２１を選択するように設定され、セレクター１５６は信号３４により信号２９を設定されるように選択され、レジスターファイル１４０の出力がテスト端子からテスト装置２００に信号１４を介して出力できるように設定される。また、プライオリティエンコーダー１５３の入力である信号ＰＥがイネーブルとなる（ＰＥ＝“０”）。また、信号ＰＥ＝“０”となることによりプライオリティエンコーダー１５３の出力である信号ＥＥが“１”から“０”に変化する。信号ＥＥは、プライオリティエンコーダー１５３の他の出力が有効であることを示す信号であり、プライオリティエンコーダー１５３の他の出力を使用する部分の動作イネーブル信号として用いることができる。
【００４１】
次にテスト装置２００は読出し要求信号を出力する（図４・Ｓ１１）。集積回路装置１００は、読出し要求信号を検出する（図１・Ｓ３）と８ワード分の読出しフラグ１４１の値（図３・Ａで示した部分）が、Ｒｅｇ−Ａ０のフラグがフラグチェックレジスター１５２のＳ０に対応する並びの順で、フラグチェックレジスター１５２に格納される（図１・Ｓ４）。同時にＲｅｇ−Ａ０のアドレスがベースアドレスレジスター１５７に格納される。また、信号２３の値が変化してセレクター１５１が信号２５（フラグ更新部１５４の出力信号）を選択するように設定され、信号３４の値が変化してセレクター１５６が信号３２（ベースアドレス更新部１５８の出力信号）を選択するように設定される。
【００４２】
フラグチェックレジスター１５２に読出しフラグ１４１の値がセットされたことにより信号２４（Ｓ［７：０］）＝“０００１１００１”となり、これによりプライオリティエンコーダー１５３の出力は信号２７（Ｅ［２：０］）＝“０００”、信号２８（Ｂ［７：０］）＝“０００００００１”、信号２６（ＥＺ）＝“１”となる。レジスターファイル１４０のアドレスはバイトアドレスであることから、テストアドレス生成部１５５において、ベースアドレスレジスター１５７の出力値に信号２７（Ｅ［２：０］）の値が加算されてテストレジスターのアドレスが生成され、テストアドレス３３として出力される。信号２７（Ｅ［２：０］）＝“０００”であることから、テストアドレス３３はベースアドレスレジスターに格納された値、即ちＲｅｇ−Ａ０のアドレスの値がテストアドレス３３として出力される（図１・Ｓ５）。これにより読出しレジスターが選択され、テストアドレス３３で指示されるレジスターの値であるＲｅｇ−Ａ０の値が、テスト端子を介して出力される。また、信号２６（ＥＺ）の値もテスト端子を介して出力される。
【００４３】
また、フラグ更新部１５４において信号２８（Ｂ［７：０］）と信号２４（Ｓ［７：０］）とで排他的論理和がとられ、信号２５は“０００１１０００”となる（図１・Ｓ６）。また、ベースアドレス更新部は、ＥＺ＝“１”のときはベースアドレスレジスター１５７からの出力である信号３１がそのまま信号３２として出力される。図１のフローチャートではＳ５の次にＳ６が実行されるように記載されているが、実際にはＳ５とＳ６の処理は平行して処理される。
【００４４】
その後、集積回路装置１００においてリードコマンドの終了条件が成立しているかどうかがチェックされ（図１・Ｓ７）、終了していなければ次の読出し要求信号の検出を行う（図１・Ｓ３）。図１・Ｓ７における終了条件としては、読み出されたレジスター数などをカウントし、カウントされた値により終了をチェックするようなものでよい。また、テスト装置２００から読出し要求信号と共に終了信号が送られ、この信号により判断するようにしてもよい。リードコマンドの終了条件が成立している場合には、テストモード設定端子の設定状態により、テストモードであればリードコマンドが受信可能な状態（図１・Ｓ１）に移行し、そうでない場合はテスト装置２００が集積回路装置１００からの最終データのサンプリングに必要な所定の時間の経過後にテストモードを終了する（図１・Ｓ８）。
【００４５】
テスト装置２００は、読出し要求信号を出力（図４・Ｓ１１）した後、所定の時間経過後に集積回路装置１００の出力信号のサンプリングを行う（図４・Ｓ１２）。サンプリングされる信号の中には、Ｒｅｇ−Ａ０の値及びＥＺの値が含まれる。
【００４６】
次に、テスト装置２００は、ＥＺ＝“１”であるかどうかを確認する（図４・Ｓ１３）。これは、サンプリングしたレジスターの値が有効であるかどうかどうかを確認するためのものである。ＥＺ＝“１”であれば、フラグチェックレジスター１５２に格納されているフラグのすべてがオフではない状態でのレジスターの値の出力であり有効であるとみなす。今回サンプリングしたＥＺは“１”であることから出力は有効である。テスト装置２００はサンプリングしたデータを所定の記憶部（図示なし）に記憶する。
【００４７】
次に、サンプリングしたレジスターの値が有効であるので、読出しフラグ１４１においてオンとなっているすべてのレジスターの値の読出し実行が終了したかどうかの確認を行う（図４・Ｓ１４）。今回は、レジスターファイル１４０のＲｅｇ−Ａ０のデータをサンプリングしたものであり、まだ終了していないことから、読出し要求信号出力の処理（図４・Ｓ１１）に分岐する。
【００４８】
テスト装置２００は、次のレジスターの値の読出しのために読出し要求信号を出力する（図４・Ｓ１１）。これにより図１・Ｓ４の処理が実行される。集積回路装置１００におけるセレクター１５１はフラグ更新部１５４の出力である信号２５を選択し、セレクター１５６はベースアドレス更新部１５８の出力である信号３２が選択されている。このため、フラグチェックレジスター１５２の値は信号２５の値である“０００１１０００”に更新される。また、ベースアドレスレジスター１５７の値は信号３２の値に更新されるが、信号３２の値は信号３１の値がそのまま出力されていることから、ベースアドレスレジスター１５７の値の変化はない。
【００４９】
フラグチェックレジスター１５２の値が更新されたことにより信号２４（Ｓ［７：０］）の値が変化し、プライオリティエンコーダー１５３の出力が変化する。信号２６（ＥＺ）は変わらないが、信号２７（Ｅ［２：０］）＝“０１１”及び信号２８（Ｂ［７：０］）＝“００００１０００”となる。これにより、テストアドレス生成部１５５で生成されるテストアドレス３３は、Ｒｅｇ−Ａ０のアドレスに＋３を行ったアドレス、すなわちＲｅｇ−Ａ３のアドレスとなる。これにより、Ｒｅｇ−Ａ３の値がテスト端子を介してテスト装置２００に出力される。また、フラグ更新部１５４の出力は“０００１００００”となる。ＥＺ＝“１”であることから、ベースアドレス更新部１５８の出力である信号３２の値は信号３１の値と同じである。
【００５０】
続いて、テスト装置２００において図４・Ｓ１２及び図４・Ｓ１３の処理が上述したように実行され、次のレジスターの値をサンプリングするために読出し要求信号が出力（図４・Ｓ１１）される。
【００５１】
読出し要求信号が出力されたことにより、フラグチェックレジスター１５２の値はフラグ更新部１５４の出力である信号２５の値である“０００１００００”に更新される。また、ベースアドレスレジスター１５７の値はベースアドレス更新部１５８の出力である信号３２の値に更新されるが、入力された値がそのまま出力されていることから、ベースアドレスレジスター１５７の値の変化はない。上述したように、信号２４（Ｓ［７：０］）の値が変化することで、プライオリティエンコーダー１５３の出力が変化する。信号２６（ＥＺ）は変わらないが、信号２７（Ｅ［２：０］）＝“１００”、及び、信号２８（Ｂ［７：０］）＝“０００１００００”となる。これにより、テストアドレス生成部１５５で生成されるテストアドレス３３は、Ｒｅｇ−Ａ０のアドレスに＋４を行ったアドレス、すなわちＲｅｇ−Ａ４のアドレスとなる。これにより、Ｒｅｇ−Ａ４の値がテスト端子を介して出力される。また、フラグ更新部１５４の出力である信号２５は“００００００００”となる。信号２６（ＥＺ）＝“１”であることから、ベースアドレス更新部１５８の出力である信号３２の値は入力である信号３１の値と同じである。
【００５２】
続いて、テスト装置２００において図４・Ｓ１２及び図４・Ｓ１３の処理が上述したように実行され、次のレジスターの値をサンプリングするために読出し要求信号が出力（図４・Ｓ１１）される。
【００５３】
読出し要求信号が出されたことにより、フラグチェックレジスター１５２の値はフラグ更新部１５４の出力である信号２５の値“００００００００”に更新される。また、ベースアドレスレジスター１５７の値はベースアドレス更新部１５８の出力信号である信号３２の値に更新されるが、信号３１の値がそのまま出力されていることから、ベースアドレスレジスター１５７の値に変化はない。上述したように、信号２４（Ｓ［７：０］）の値が変化したことで、プライオリティエンコーダー１５３の出力が変化する。信号２４（Ｓ［７：０］）＝“００００００００”であることから、信号２６（ＥＺ）＝“０”となる。
【００５４】
信号２６（ＥＺ）＝“０”はフラグチェックレジスター１５２及びベースアドレスレジスター１５７の内容を次の８個のレジスターの読出しのための設定を行うタイミングを示すものとして使用することができる。信号２６（ＥＺ）＝“０”により、セレクター１５１は読出しフラグ１４１を選択するように設定される。また、ベースアドレス更新部１５８は、出力である信号３２の値を入力である信号３１に＋８を行った値、すなわちＲｅｇ−Ｂ０のアドレスとする。セレクター１５６はベースアドレス更新部１５８の出力である信号３２を選択したままでよい。
【００５５】
続いて、テスト装置２００において図４・Ｓ１２及び図４・Ｓ１３の処理が行われる。Ｓ１２の処理によりＥＺ＝“０”がテスト装置２００によりサンプリングされ。これにより、サンプリングしたレジスターの値は無効であると判断され（図４・Ｓ１３）、次のレジスターの値をサンプリングするために読出し要求信号が出力（図４・Ｓ１１）される。
【００５６】
読出し要求信号が出されたことにより、ベースアドレスレジスター１５７に信号３２の値（Ｒｅｇ−Ｂ０のアドレス）が格納されるとともに、フラグチェックレジスター１５２に次の８ワード分の読出しフラグ１４１の値（図３・Ｂで示した部分）が、格納される。これによりＳ［７：０］＝“００１１０１１０”となる。
【００５７】
Ｓ［７：０］の値が変化したことで、プライオリティエンコーダー１５３の出力が変化する。ＥＺ＝“１”となり、Ｅ［２：０］＝“００１”及びＢ［７：０］＝“００００００１０”となる。これにより、テストアドレス生成部１５５で生成されるテストアドレス３３は、Ｒｅｇ−Ｂ０のアドレスに＋１を行ったアドレス、すなわちＲｅｇ−Ｂ１のアドレスとなる。これにより、Ｒｅｇ−Ｂ１の値がテスト端子を介して出力される。また、フラグ更新部１５４の出力は“００１１０１００”となる。ＥＺ＝“１”であることから、ベースアドレス更新部の出力値は入力値と同じである。続いて、Ｓ１２及びＳ１３の処理が上述したように実行される。また、ＥＺ＝“１”となることにより、セレクター１５１はフラグ更新部１５４の出力を選択するように設定される。
【００５８】
以降、フローチャート１及びフローチャート２の処理が上述したように繰り返し実行され、読出しフラグ１４１がオンとなっているすべてのレジスターの読出しが終了するとテスト装置２００はレジスターリードの処理を終了する（図４・Ｓ１３及び図４・Ｓ１４）。
【００５９】
以上、本発明に係る適用例、実施形態及び実施例の説明を行ったが、レジスターファイル１４０に対応した読出しフラグ１４１を有することにより、テスト装置２００はレジスターファイル１４０のレジスターを読み出すために個々のアドレスを指定する必要がない。レジスターリードコマンドを発行したあとは読出し要求信号を必要な回数だけ出力することで必要なレジスターの値を読み出すことが可能となることから、レジスターリードに掛かる時間を短縮することが可能となる。
【００６０】
また、図１のフローチャート１に示したＳ７及びＳ８の処理は、集積回路装置１００側の処理としては必ずしも必要ではない。集積回路装置１００はテスト装置２００の要求に応じて処理することにし、テスト装置２００において終了の判断を行うことでもよい。また、本発明の実施形態は上述した実施形態及び実施例に限られるものではない。たとえば、テスト装置２００がリードコマンドを発行する前に読出しフラグ１４１の設定を行うようにしてもよい。
【符号の説明】
【００６１】
１…フローチャート、２…フローチャート、１０…信号、１１…信号、１２…信号、１３…信号、１４…信号、１５…信号、１６…信号、１７…信号、１８…信号、２１…信号、２２…信号、２３…信号、２４…信号、２５…信号、２６…信号、２７…信号、２８…信号、２９…信号、３０…信号、３１…信号、３２…信号、３３…テストアドレス、３４…信号、１００…集積回路装置、１１０…入出力部、１２０…テスト制御部、１３０…機能処理部、１４０…レジスターファイル、１４１…読出しフラグ、１５０…アドレス生成部、１５１…セレクター、１５２…フラグチェックレジスター、１５３…プライオリティエンコーダー、１５４…フラグ更新部、１５５…テストアドレス生成部、１５６…セレクター、１５７…ベースアドレスレジスター、１５８…ベースアドレス更新部、２００…テスト装置。
【図１】
2011191093.tif 000003
【図２】
2011191093.tif 000004
【図３】
2011191093.tif 000005
【図４】
2011191093.tif 000006
【図５】
2011191093.tif 000007