(57)【特許請求の範囲】
【請求項１】
入力端子からシフトされた命令コードを保持する命令レジスタ部と、
前記命令レジスタ部に保持された命令コードのエラーを検出し、検出されたエラーに基づいてエラー情報を出力するエラー検出部と、
前記命令コードに含まれるライトビットに基づいて、前記命令レジスタ部に保持された命令コードを、前記エラー検出部が出力するエラー情報で命令コードに含まれるエラーフラグを更新して、保持する命令保持レジスタ部と、
前記命令保持レジスタ部に保持された命令コードに含まれるエラーフラグが、命令コードにエラーが発生している旨を表す場合には、命令コードのデコードを抑止する命令デコード部と、
前記命令保持レジスタ部に保持された命令コードに含まれるリードビットに基づいて、前記命令保持レジスタ部に保持された命令コードを前記命令レジスタ部に書き戻す制御部を含む半導体装置。
【請求項２】
前記命令レジスタ部に保持された命令コードに含まれるエラーフラグのエラー情報と、前記エラー検出部が出力するエラー情報との論理和演算結果を出力する論理和演算部を有し、
前記命令保持レジスタ部は、前記命令コードに含まれるライトビットに基づいて、前記命令レジスタ部に保持された命令コードを、前記論理和演算部が出力する論理和演算結果で命令コードに含まれるエラーフラグを更新して、保持する請求項１記載の半導体装置。
【請求項３】
出力端子を有し、
前記制御部は、前記命令保持レジスタに保持された命令コードに含まれるリードビットに基づいて、前記命令レジスタ部に書き戻した命令コードを、前記出力端子からシフトしながら出力する請求項１又は２記載の半導体装置。
【請求項４】
前記エラー検出部は、前記命令レジスタ部に保持された命令コードのパリティエラーを検出し、検出されたパリティエラーに基づいてエラー情報を出力する請求項１又は３記載の半導体装置。
【請求項５】
前記エラー検出部は、前記命令レジスタ部が保持する命令コードと、前記命令保持レジスタ部が保持する命令コードとの不一致を検出することにより、前記命令レジスタ部に保持された命令コードのエラーを検出し、検出されたエラーに基づいてエラー情報を出力する請求項１又は３記載の半導体装置。
【請求項６】
少なくとも命令レジスタ部、エラー検出部、命令保持レジスタ部、命令デコード部、制御部を含む半導体装置の制御方法であって、
入力端子からシフトされた命令コードを前記命令レジスタ部に保持するステップと、
前記エラー検出部により、前記命令レジスタ部に保持された命令コードのエラーを検出し、検出されたエラーに基づいてエラー情報を出力するステップと、
前記命令コードに含まれるライトビットに基づいて、前記命令レジスタ部に保持された命令コードを、前記エラー検出部が出力するエラー情報で命令コードに含まれるエラーフラグを更新して、前記命令保持レジスタ部に保持するステップと、
前記命令保持レジスタ部に保持された命令コードに含まれるエラーフラグが、命令コードにエラーが発生している旨を表す場合には、前記命令デコード部による命令コードのデコードを抑止するステップと、
前記制御部により、前記命令保持レジスタ部に保持された命令コードに含まれるリードビットに基づいて、前記命令保持レジスタ部に保持された命令コードを前記命令レジスタ部に書き戻すステップとを含む半導体装置の制御方法。
【請求項７】
前記半導体装置は、更に、論理和演算部を有し、
前記論理和演算部により、前記命令レジスタ部に保持された命令コードに含まれるエラーフラグのエラー情報と、前記エラー検出部が出力するエラー情報との論理和演算結果を出力し、
前記命令保持レジスタ部により、前記命令コードに含まれるライトビットに基づいて、前記命令レジスタ部に保持された命令コードを、前記論理和演算部が出力する論理和演算結果で命令コードに含まれるエラーフラグを更新して、保持する請求項６記載の半導体装置の制御方法。
【請求項８】
前記制御部により、前記命令保持レジスタに保持された命令コードに含まれるリードビットに基づいて、前記命令レジスタ部に書き戻した命令コードを、前記半導体装置が有する出力端子からシフトしながら出力するステップを更に有する請求項６又は７記載の半導体装置の制御方法。
【請求項９】
前記エラー検出部により、前記命令レジスタ部に保持された命令コードのパリティエラーを検出し、検出されたパリティエラーに基づいてエラー情報を出力する請求項６又は８記載の半導体装置の制御方法。
【請求項１０】
前記エラー検出部により、前記命令レジスタ部が保持する命令コードと、前記命令レジスタ部が保持する命令コードとの不一致を検出することにより、前記命令レジスタ部に保持された命令コードのエラーを検出し、検出されたエラーに基づいてエラー情報を出力する請求項６又は８記載の半導体装置の制御方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、半導体装置及びその制御方法に係り、特に、信頼性試験用の回路内蔵する半導体装置及びその制御方法に関する。
【０００２】
【従来の技術】
近年、集積回路の集積度は年々増加しており、それと共に集積回路を用いた情報処理装置の試験方法も変化してきている。最近では、ＬＳＩやＦＰＧＡ等の集積回路の信頼性を向上させるためにＪＴＡＧ（JOINT TEST ACTION GROUP）対応のものが増加してきている。そこで、集積回路には高い信頼性でＪＴＡＧ試験を実行できることが望まれている。
【０００３】
従来、ＪＴＡＧは半導体装置の製造試験などに用いられていたため、命令を転送する場合でも、さほど高速に転送することはない。よって、伝送路上の誤りが問題になることは少なかった。しかし、最近、情報処理装置のピン数の削減によるチップ面積の低減などを目的として、ＪＴＡＧを用いて情報処理装置の動作モード等を制御するようになっている。このため、命令コードが誤って転送された場合には、重要な障害が発生する恐れがある。
【０００４】
そこで、一度入力した命令コードをスキャンにより読み出し、伝送路中に誤りが発生していないかどうかを確認していた。さらに、単純にスキャンをして値を読み出してしまうと、命令コードが他のコードに変わっている可能性があるので、読み出した値を再度自動的に転送し直す方法や、最初から同じコードを２回分転送し、スキャンにより読み戻された値が正しいか否かを確認するなどの方法が取られていた。
【０００５】
【発明が解決しようとする課題】
しかるに、従来の命令を確認する方法では、命令を与える側で確認していても、命令を受け取る側で実際に転送された命令が正しいか否かは保証されてないので、命令を受け取る側の情報処理装置での処理の信頼性を保証することはできなかった。例えば、伝送路上で命令にエラーが発生した場合などには処理の信頼性を保証することはできない。
【０００６】
また、データレジスタなどの値を確認する場合でも、通常のＪＴＡＧステートで動作を行なうと、データが必ずキャプチャステートとアップデートステートとを通過することになり、書き込みと読み出し機能とを分けて確認することができない等の問題点があった。
【０００７】
本発明は上記の点に鑑みてなされたもので、高い信頼性で信頼性試験を実行できる半導体装置及びその制御方法を提供することを目的とする。
【０００８】
【課題を解決するための手段】
本発明の半導体装置は、入力端子からシフトされた命令コードを保持する命令レジスタ部と、命令レジスタ部に保持された命令コードのエラーを検出し、検出されたエラーに基づいてエラー情報を出力するエラー検出部と、命令コードに含まれるライトビットに基づいて、命令レジスタ部に保持された命令コードを、エラー検出部が出力するエラー情報で命令コードに含まれるエラーフラグを更新して、保持する命令保持レジスタ部と、命令保持レジスタ部に保持された命令コードに含まれるエラーフラグが、命令コードにエラーが発生している旨を表す場合には、命令コードのデコードを抑止する命令デコード部と、命令保持レジスタ部に保持された命令コードに含まれるリードビットに基づいて、命令保持レジスタ部に保持された命令コードを命令レジスタ部に書き戻す制御部を含む。
【０００９】
【発明の効果】
本発明によれば、半導体装置内部で入力された命令のエラーを検出し、外部に通知することにより、外部で処理の正当性を確認でき、また、半導体装置内部で命令のエラーを検出したときに、命令を抑止することにより、不要な命令を実行することを防止できるため、半導体装置の試験の信頼性を向上でき、よって、情報処理装置の信頼性を向上させることができる。
【００１０】
【発明の実施の形態】
図１に本発明の一実施例のブロック構成図を示す。
【００１１】
本実施例の情報処理装置１は、例えば、入力ピン１１、入力バッファ１２、コアロジック部１３、出力バッファ１４、出力ピン１５、バウンダリスキャン回路１６を含む構成とされている。入力ピン１１に供給された信号は、入力バッファ１２を介してコアロジック部１３に供給される。コアロジック部１３は、入力ピン１１から入力バッファ１２を介して供給された入力信号に所定の処理を行なう。コアロジック部１３で処理された信号は、出力バッファ１４を介して出力ピン１５から出力される。
【００１２】
バウンダリスキャン回路１５は、例えば、“IEEE Standard 1149.1”（ＪＴＡＧ）に準拠した回路であり、コアロジック部１３のテストを行なう回路である。バウンダリスキャン回路１５は、バウンダリスキャンレジスタ部２１、命令レジスタ部２２、データレジスタ部２３、バイパスレジスタ２４、マルチプレクサ２５、２６、ＴＡＰ（test access port）コントローラ２７、出力バッファ２８、テストデータ入力ピンＴＤＩ、テストモードセレクトピンＴＭＳ、テストクロックピンＴＣＬＫ、テストデータ出力ピンＴＤＯを含む構成とされている。
【００１３】
テストデータ入力ピンＴＤＩ、テストモードセレクトピンＴＭＳ、テストクロックピンＴＣＬＫ、テストデータ出力ピンＴＤＯは、ＪＴＡＧコントローラ２に接続される。テストデータ入力ピンＴＤＩには、ＪＴＡＧコントローラ２からテストデータ、テスト命令などがシリアルに入力される。テストデータ入力ピンＴＤＩに入力されるデータあるは命令は、バウンダリスキャンレジスタ部２１、命令レジスタ部２２、データレジスタ部２３、バイパスレジスタ部２４に供給される。
【００１４】
バウンダリスキャンレジスタ部２１は、バウンダリスキャンセル３１を含む構成とされている。バウンダリスキャンセル３１は、入力バッファ１２及び出力バッファ１４とコアロジック部１３との間に設けられている。バウンダリスキャンレジスタ部２１は、テストデータ入力ピンＴＤＩに入力されたデータを保持し、コアロジック部１３に入力する。また、バウンダリスキャンレジスタ部２１は、コアロジック部１３からの出力を保持する。バウンダリスキャンセル３１に保持されたデータは、順次シフトされ、マルチプレクサ２５に供給される。
【００１５】
命令レジスタ部２２は、テストデータ入力ピンＴＤＩからのテスト命令を保持し、マルチプレクサ２５に出力するとともに、デコードしてマルチプレクサ２５を制御する。このとき、命令レジスタ部２２は、テスト命令に対してエラー検出を行い、エラーが検出されたテスト命令は実行されないように抑止されるように制御している。このようにエラー検出を行ない、命令の実行を抑止することにより、テスト命令に伝送路上で誤りがあっても、誤った命令を実行しなくて済む。なお、命令レジスタ部２２の詳細は、後述、図面とともに説明する。
【００１６】
データレジスタ部２３は、８ビットのシフトレジスタから構成されており、テストデータ入力ピンＴＤＩから入力されるデータをテストデータ出力ピンＴＤＯからユーザデータとして出力するための経路を提供している。データレジスタ部２３に保持されたデータは、順次シフトされ、マルチプレクサ２５に供給される。
【００１７】
バイパスレジスタ部２４は、１ビットのレジスタから構成されており、テストデータ入力ピンＴＤＩから入力されたテストデータをテストデータ出力ピンＴＤＯから出力するための最短の経路を提供している。バイパスレジスタ部２４に保持されたデータは、マルチプレクサ２５に供給される。
【００１８】
マルチプレクサ２５は、命令レジスタ部２２からのテスト命令に基づいてバウンダリスキャンレジスタ部２１の出力又は命令レジスタ部２２の出力又はデータレジスタ部２３の出力又はバイパスレジスタ部２４の出力を選択的に出力する。マルチプレクサ２５で選択されたデータは、マルチプレクサ２６に供給される。
【００１９】
マルチプレクサ２６には、マルチプレクサ２５で選択データの他、命令レジスタ部２２からリセット出力及びＴＡＰコントローラ２７からセレクト信号が供給される。
【００２０】
マルチプレクサ２６は、ＴＡＰコントローラ２７からのセレクト信号に基づいてマルチプレクサ２５の出力又は命令レジスタ部２２の出力を選択的に出力する。マルチプレクサ２６の出力は出力バッファ２８を介してテスト出力ピンＴＤＯに供給される。出力バッファ２８には、ＴＡＰコントローラ２７からリセット信号が供給される。出力バッファ２８は、ＴＡＰコントローラ２７からのリセット信号に基づいてマルチプレクサ２６の出力のテスト出力ピンＴＤＯへの出力を停止させる。
【００２１】
ＴＡＰコントローラ２７には、テストモードセレクトピンＴＭＳからテストモードセレクト信号が供給され、テストクロックピンＴＣＬＫからクロックが供給されている。ＴＡＰコントローラ２７は、テストモードセレクト信号及びクロックに基づいてデータのシフト及びデータの選択を制御している。
【００２２】
次に命令レジスタ部２２について詳細に説明する。
【００２３】
図２は本発明の一実施例の命令レジスタ部のブロック構成図を示す。
【００２４】
本実施例の命令レジスタ部２２は、命令レジスタ４１、エラー検出回路４２、ＯＲゲート４３、命令保持レジスタ４４、命令デコーダ４５、抑止信号生成回路４６を含む構成とされている。
【００２５】
命令レジスタ４１は、１２ビットシフトレジスタから構成され、テストデータ入力ピンＴＤＩからシリアルに供給されるテストデータを順次にシフトしつつ保持する。テストデータ入力ピンＴＤＩから供給されるテスト命令は、最下位から供給されており、１２ビットで１つのテスト命令が構成される。
【００２６】
図３は本発明の一実施例のテスト命令のデータ構成を説明するための図を示す。
【００２７】
図３（Ａ）は命令フィールドのデータ構成、図３（Ｂ）はパリティフィールドのデータ構成、図３（Ｃ）はオペレーションコードフィールドのデータ構成、図３（Ｄ）はステータスフィールドのデータ構成、図３（Ｅ）はフィックスフィールドのデータ構成を示す。
【００２８】
テスト命令は、フィックスフィールドｆｆ、ステータスフィールドｓｆ、オペレーションコードフィールドｏｐｆ、パリティフィールドｐｆから構成されている。
【００２９】
フィックスフィールドｆｆには、２ビットが割り当てられており、入力時には「００」とされており、命令レジスタ４１で固定値「０１」が入力される。
【００３０】
ステータスフィールドｓｆには、テスト命令がエラー検出状態か否かを示す情報が格納される。テスト命令入力時には、「００」が格納されており、エラー検出回路４２によりエラーが検出されると、値が変化する。このため、ステータスフィールドｓｆを参照することによりエラーを検出できる。例えば、ステータスフィールドｓｆの２ビット目が“１”のときには、アップデート命令の格納時にエラーが発生したことが認識でき、３ビット目が“１”のときには、アップデートデータの格納時にエラーが発生したことを認識できる。
【００３１】
なお、本実施例では、2ビット目を外部から強制的に“１”できる構成とされており、エラー検出回路４２のエラー検出機能の試験に用いることもできる構成とされている。
【００３２】
また、オペレーションコードフィールドｏｐｆには、命令コードが格納される。オペレーションコードフィールドｏｐｆの９ビット目と１０ビット目には、ＪＴＡＧステートを抑止するための情報が格納される。９ビット目は、ＤＥ（data error）ビットである。ＤＥビットには、データレジスタ部２３に格納されるデータのエラーに応じた値がセットされる。ＤＥビットは、データレジスタ部２３でデータにエラーが検出されると、“１”とされる。
【００３３】
また、１０ビット目は、ＩＥ（instruction error）ビットである。ＩＥビットには、命令レジスタ部２２に格納される命令のエラーに応じた値がセットされる。ＩＥビットは、命令レジスタ部２２で命令にエラーが検出されると、“１”とされる。
【００３４】
オペレーションコードフィールドｏｐｆの9ビット目が“１”の時にはアップデートステートが実行され、１０ビット目が“１”の時にはキャプチャステートが実行される。
【００３５】
従って、命令レジスタの読み出しのみを行ないたい場合には９ビット目を“１”にし、１０ビット目を“０”にすることによりキャプチャステートを実行し、アップデートステートを実行しないようにすることができる。また、命令レジスタの書き込みのみを行ないたい場合には９ビット目を“０”にし、１０ビット目を“１”にすることによりアップデートステートを実行し、キャプチャステートを実行しないようにすることができる。
【００３６】
また、９、１０ビット目を共に“１”にすることによりキャプチャステート及びアップデートステートを共に実行することができる。
【００３７】
また、パリティフィールドｐｆには、パリティ情報が格納されている。パリティフィールドｐｆに格納されるパリティ情報は、０〜１０ビットのイーブンパリティとされている。エラー検出回路４２は、このパリティフィールドｐｆに格納されるパリティ情報を用いて命令情報のエラーを検出する。
【００３８】
エラー検出回路４２によりエラーが検出されると、命令保持レジスタ４４のＩＥ（instruction error）ビットが“１”とされる。命令保持レジスタ４４に保持された命令情報は、命令デコーダ４５に供給される。命令デコーダ４５は、命令保持レジスタ４４に保持された命令情報をデコードする。このとき、命令情報のＩＥビットが“１”の場合には、命令の実行が抑止されるデコードが行なわれる。
【００３９】
また、命令保持レジスタ４４に保持された命令情報は、命令レジスタ４１に反映される。命令レジスタ４１に反映された命令情報は、シフトＩＲステートによって出力端子ＴＤＯから出力され、ＪＴＡＧコントローラ２に供給される。ＪＴＡＧコントローラ２では、出力端子ＴＤＯからの命令情報のＩＥビットを認識することによりエラーの有無を認識できる。
【００４０】
次に本実施例の命令レジスタ部２２の動作を、フローチャートを用いて説明する。
【００４１】
図４に本発明の一実施例の命令レジスタ部の動作フローチャートを示す。
【００４２】
まず、ステップＳ１−１で命令レジスタ４１に命令をシフトインする。ステップＳ２で、命令レジスタ４１に格納された命令のパリティチェックを行ない、パリティエラーが検出されたか、不検出かを判定する。
【００４３】
ステップＳ１−２で、パリティエラーが検出されなければ、ステップＳ１−３でステータスフィールドｓｆのＩＥビットが“１”か否かを判定する。
【００４４】
ステップＳ１−２でパリティエラーが検出された場合、あるいは、ステップＳ１−３でＩＥビットが“１”の場合には、ステップＳ１−４で命令保持レジスタ４４のステータスフィールドｓｆのＩＥビットを“１"にする。これらの動作は、図２に示すエラー検出回路４２、及びＯＲゲート４３により実現されている。
【００４５】
次にステップＳ１−５で命令レジスタ４１に格納された命令のオペレーションコードのライトビットが“１”か否かを判定する。ステップＳ１−５でライトビットが“１”であれば、ステップＳ１−６で命令レジスタ４１に格納された命令を命令保持レジスタ４４にライトする、いわゆる、アップデートＩＲが実行される。
【００４６】
次に、ステップＳ１−６でアップデートＩＲが実行されると、ステップＳ１−７で、命令保持レジスタ４４のステータスフィールドｓｆのＩＥビットが“１”か否かを判定するとともに、ステップＳ１−８で、オペレーションコードのリードビットが“１”か否かを判定する。ステップＳ１−７でＩＥビットが“１”であれば、ステップＳ１−９で命令保持レジスタ４４に格納された命令をデコードする。命令のデコードは、デコーダ４５で行ない、ステップＳ１−１に戻る。このとき、ＩＥビット又はＤＥビットが“１”であれば、デコーダ４５がこれを検出して、命令の実行を抑止する。このため、エラーの発生した命令が実行されることがなくなる。
【００４７】
また、ステップＳ１−８で、オペレーションコードのリードビットが“１”の場合には、命令保持レジスタ４４に格納された命令を命令レジスタ４１に移す、いわゆる、キャプチャＩＲが実行される。ステップＳ１−１０でキャプチャＩＲが実行された場合及びステップＳ１−８でオペレーションコードのリードビットが“０”の場合又はステップＳ１−１０でキャプチャＩＲが実行された後に、ステップＳ１−１１で命令レジスタ４１の命令をシフトアウト、すなわちシフトＩＲが実行される。ステップＳ１−２でエラーが検出された場合には、ＩＥビットが“１”とされてシフトアウトされるため、ＪＴＡＧコントローラ２で命令にエラーが発生されたことを通知できる。
【００４８】
次に、データレジスタ部２３の詳細を、図面を用いて説明する。
【００４９】
図５は本発明の一実施例のデータレジスタ部のブロック構成図を示す。
【００５０】
データレジスタ部２３は、データレジスタ５１、データ保持レジスタ５２、エラー検出回路５３を含む構成とされている。データレジスタ５１は、例えば、８ビットのシフトレジスタから構成され、データ入力端子ＴＤＩからのデータを順次シフトしつつ格納する。データレジスタ５１に格納されたデータは、データ保持レジスタ５２に格納される。
【００５１】
このとき、データレジスタ５１に保持されたデータはエラー検出回路５３に供給される。エラー検出回路５３は、データレジスタ５１に格納されたデータのパリティチェックを行う。エラー検出回路５３で、データレジスタ５１からデータ保持レジスタ５２に保持されるデータにエラーが検出された場合には、エラー検出回路５３の出力が“１”とされる。エラー検出回路５３の出力は、命令レジスタ部２２の命令保持レジスタ４４のＤＥビットに格納される。エラー検出回路５３でエラーが検出され、命令保持レジスタ４４のＤＥビットが“１”とされると、命令レジスタ部２２の命令デコーダ４５での命令実行が抑止される。
【００５２】
次に本実施例のデータレジスタ部２３の動作を、図面を用いて説明する。
【００５３】
図６は本発明の一実施例のデータレジスタ部の動作フローチャートを示す。
【００５４】
まず、ステップＳ２−１でデータレジスタ５１にデータシフトイン、すなわち、シフトＤＲが行なわれる。次にステップＳ２−２でエラー検出が行われ、パリティエラーが検出されたか、否かが判定される。
【００５５】
ステップＳ２−２でパリティエラーが検出されると、ステップＳ２−３で命令レジスタ部２２の命令保持レジスタ４４のステータスフィールドｓｆのＤＥビットが“１”にされる。上記ステップＳ２−２、Ｓ２−３の動作は、図５に示されるエラー検出回路５３により行われる。
【００５６】
次にステップＳ２−４で命令レジスタ４１のオペレーションコードのライトビットが“１”か否かが判定される。ステップＳ２−４で命令レジスタ４１のオペレーションコードのライトビットが“１”の場合には、ステップＳ２−５でデータレジスタ５１に格納されたデータをデータ保持レジスタ５２に移す、いわゆる、アップデートＤＲが実行される。
【００５７】
次に、ステップＳ２−４でオペレーションコードのライトビットが“０”の場合及びステップＳ２−５でデータがデータレジスタ５１からデータ保持レジスタ５２に移された場合には、ステップＳ２−６で命令レジスタ部２２のオペレーションコードのリードビットが“１”か否かを判定される。ステップＳ２−６で命令レジスタ部２２に格納されたオペレーションコードのリードビットが“１”の場合には、ステップＳ２−７でデータ保持レジスタ５２に格納されたデータをデータレジスタ５１に格納する。
【００５８】
ステップＳ２−６でオペレーションコードのリードビットが“０”の場合又はステップＳ２−７でデータ保持レジスタ５２に格納されたデータがデータレジスタ５１に格納された後には、ステップＳ２−８でデータレジスタ５１に格納されたデータをシフトアウト、すなわち、シフトＤＲを実行する。
【００５９】
以上、本実施例によれば、命令及び／又はデータにエラーが発生した場合には、命令の実行が抑止され、ＪＴＡＧコントローラ２に通知されるので、不要な命令を実行することがなくなり、ＪＴＡＧ試験を効率よく実施することができる。
【００６０】
なお、本実施例では、エラー検出回路４２としてパリティチェックを用いたが、命令レジスタ４１に格納された命令情報と命令保持レジスタ４４に格納された命令情報との一致／不一致を検出することにより命令情報のエラーを検出するようにしてもよい。
【００６１】
図７は命令レジスタ部の第１変形例のブロック構成図を示す。同図中、図２と同一構成部分には同一符号を付し、その説明は省略する。
【００６２】
本変形例の命令レジスタ部６１は、エラー検出回路４２及びＯＲゲート４３に代えて比較回路６２を設けた構成とされている。
【００６３】
比較回路６２には、命令レジスタ４１に格納されたデータと命令保持レジスタ４４に格納されたデータとが供給されている。比較回路６２は、命令レジスタ４１に格納されたデータと命令保持レジスタに格納されたデータとの一致／不一致を検出し、両方のデータが一致するときには、“０”、不一致のときには“１”を出力する。
【００６４】
比較回路６２の出力は、命令レジスタ４１のＩＥビット及びデコーダ４５に供給される。命令レジスタ４１のＩＥビットは、命令レジスタ４１に格納された命令と命令保持レジスタ４４に格納されため命令とが不一致のときに、比較回路６２により“１”とされる。ＩＥビットが“１”とされた命令をＪＴＡＧコントローラ２に通知することにより、ＪＴＡＧコントローラ２でエラーの発生を検出できる。
【００６５】
また、デコーダ４５は、比較回路６２の出力が“０”のときには命令保持レジスタ４４に格納された命令をデコードし、実行可能とし、比較回路６２の出力が“１"のときには命令の実行を抑止する。これにより、命令にエラーが発生したときには、命令の実行を抑止できる。
【００６６】
次に本変形例の動作を図面とともに説明する。
【００６７】
図８は本発明の一実施例の命令レジスタ部の第１変形例の動作フローチャートを示す。
【００６８】
まず、ステップＳ３−１で命令レジスタ４１に命令がシフトインされると、次にステップＳ３−２で命令レジスタ４１に格納された命令を命令保持レジスタ４４に格納する。ステップＳ３−２で命令レジスタ４１に格納された命令が命令保持レジスタ４４に格納されると、ステップＳ３−３で前回と同じ命令が命令レジスタ４１に再びシフトインされる。
【００６９】
ステップＳ３−３で命令レジスタ４１に命令がシフトインされると、ステップＳ３−４で命令レジスタ４１に格納された命令と命令保持レジスタ４４に格納された命令とが一致か、不一致かを判定する。ステップＳ３−４で命令レジスタ４１に格納された命令と命令保持レジスタ４４に格納された命令とが一致する場合には、ステップＳ３−５で命令保持レジスタ４４に格納された命令がデコードされ、実行される。また、ステップＳ３−４で命令レジスタ４１に格納された命令と命令保持レジスタ４４に格納された命令とが不一致の場合には、ステップＳ３−６で命令レジスタ４１のＩＥビットが“１”とされる。また、このとき、命令保持レジスタ４４に格納された命令は、デコードされず、命令は実行されない。これにより、命令レジスタ４１に格納された命令がシフトアウトされると、ＪＴＡＧコントローラ２で命令のエラーを認識でき、また、エラーが発生した命令を実行することもない。なお、ステップＳ３−４〜Ｓ３−６は、図７に示す比較回路６２により実行される。
【００７０】
また、上記実施例では、命令保持レジスタ４４を設けたが、命令レジスタ４１を設けた構成でも同様に命令のエラー検出及び命令の実行の抑止を行なうことができる。
【００７１】
図９は命令レジスタ部の第２変形例のブロック構成図を示す。同図中、図２と同一構成部分には同一符号を付し、その説明は省略する。
【００７２】
本変形例では、命令レジスタ４１に格納された命令は、デコーダ４５に直接供給可能とされている。また、エラー検出回路４２の出力により、命令レジスタ４１のＩＥビットを“１”にするとともに、デコーダ４５の動作を抑止し、命令の実行を抑止する構成とされている。
【００７３】
本変形例によれば、命令レジスタ４１のＩＥビットを“１”として、命令レジスタ４１の命令をシフトアウトすることによりＪＴＡＧコントローラ２に命令のエラーを通知でき、また、エラー検出回路４２の出力によりデコーダ４５の動作を抑止することにより命令の実行を抑止できる。本変形例によれば、命令保持レジスタが不要であるので、簡単な構成で回路構築できる。
【００７４】
なお、本実施例では、ＪＴＡＧ試験用の回路を例にとって説明したが、本発明は同様な構成で試験を行なう回路一般に適用できる。
【００７５】
なお、本発明は上記実施例に限定されるものではなく、請求の範囲の記載に基づいて種々の変形例が可能である。
【図面の簡単な説明】
【図１】  本発明の一実施例のブロック構成図である。
【図２】  本発明の一実施例の命令レジスタ部のブロック構成図である。
【図３】  本発明の一実施例の命令情報のデータ構成図である。
【図４】  本発明の一実施例の命令レジスタ部の動作フローチャートである。
【図５】  本発明の一実施例のデータレジスタ部のブロック構成図である。
【図６】  本発明の一実施例のデータレジスタ部の動作フローチャートである。
【図７】  本発明の一実施例の命令レジスタ部のブロック構成図である。
【図８】  本発明の一実施例の命令レジスタ部の第１変形例の動作フローチャートである。
【図９】  本発明の一実施例の命令レジスタ部の第２変形例のブロック構成図である。
【符号の説明】
【図１】
0004518790.tif 000002
【図２】
0004518790.tif 000003
【図３】
0004518790.tif 000004
【図４】
0004518790.tif 000005
【図５】
0004518790.tif 000006
【図６】
0004518790.tif 000007
【図７】
0004518790.tif 000008
【図８】
0004518790.tif 000009
【図９】
0004518790.tif 000010