(57)【特許請求の範囲】
【請求項１】
集積回路であって、
第１の動作モードの間に、相互接続バスを介してデータの交換を行うように相互接続された複数のデータハンドリング装置、および
前記集積回路の外部にある診断装置に応答する診断制御手段であって、第２の動作モードである診断モードの間に、前記相互接続バスを介して前記診断装置との間で診断データを交換するように前記データハンドリング装置の１または複数の装置を制御するための診断制御手段、を有し；
前記複数のデータハンドリング装置が１または複数のバスマスターデータハンドリング装置および１または複数のバススレーブデータハンドリング装置を含み、前記診断制御手段がバスマスターデータハンドリング装置を含み、前記集積回路は更に：
前記バスマスターデータハンドリング装置の１または複数の装置による前記相互接続バスの制御要求に応答する調停手段であって、前記バスマスターデータハンドリング装置に関する予め定められた優先順位に従って前記相互接続バスの制御を１つのバスマスターデータハンドリング装置へ割り当てるための前記調停手段、を含む前記集積回路。
【請求項２】
請求項第１項記載の集積回路であって、前記診断制御手段が前記予め定められた優先順位のうちで、前記相互接続バスへつながれたその他のバスマスターデータハンドリング装置のいずれよりも高い優先度を有している集積回路。
【請求項３】
請求項第１項記載の集積回路であって、前記診断制御手段が、前記相互接続バスへつながれたすべての他のデータハンドリング装置をバススレーブ装置として動作するように選択的に制御するための手段を含んでいる集積回路。
【請求項４】
請求項第１項記載の集積回路であって、前記診断データが、試験されるデータハンドリング装置に関連する予め定められた診断手順に従った１または複数の逐次的診断ベクトルを含んでいる集積回路。
【請求項５】
請求項第４項記載の集積回路であって、前記１または複数の診断ベクトルが試験すべきデータハンドリング装置を選択するための番地ベクトルを含んでいる集積回路。
【請求項６】
請求項第１項記載の集積回路であって、前記集積回路がクロック信号の逐次的サイクルの制御下で動作するようになった集積回路。
【請求項７】
請求項第６項記載の集積回路であって、前記診断制御手段が、クロック信号の現在のサイクルの間に診断装置から受信された制御信号に応答して、前記クロック信号の次に続くサイクルの間に前記相互接続バスを介して前記診断装置との間で診断データを交換するように前記データハンドリング装置の１または複数の装置を制御するようになった集積回路。
【請求項８】
請求項第１項記載の集積回路であって、データバッファを含み、前記データバッファが前記集積回路の外部にあるデータハンドリング装置と前記相互接続バストの間でデータ転送を可能とする外部データバスを提供しており、また前記診断制御手段が前記外部データバスを高インピーダンス状態に設定するように動作するようになった集積回路。
【請求項９】
第１の動作モードの間に相互接続バスを介してデータの交換を行うように相互接続された複数のデータハンドリング装置を有する集積回路の動作方法であって、
診断制御手段を用いて、第２の動作モードである診断モードの間に、前記相互接続バスを介して前記集積回路の外部にある診断装置との間で診断データを交換するように前記データハンドリング装置の１または複数の装置を制御するステップであって、前記複数のデータハンドリング装置が１または複数のバスマスターデータハンドリング装置および１または複数のバススレーブデータハンドリング装置を含み、前記診断制御手段がバスマスターデータハンドリング装置を含む前記ステップと、
前記バスマスターデータハンドリング装置の、１または複数の装置による前記相互接続の制御のための調停ユニットへの要求に応答して、前記バスマスターデータハンドリング装置に関連する所定の優先順位に従って、前記相互接続の制御を一つのバスマスターデータハンドリング装置に割り当てるステップと、
を有する、前記集積回路の動作方法。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は集積回路に関する。
【０００２】
【従来の技術】
データ処理用の集積回路のあるものは、マイクロプロセッサー等のデータハンドリング装置を複数個、ランダムアクセスメモリ（ＲＡＭ）、データバッファまたはその他の周辺論理関数を、単一の半導体チップ上に作製された形で含んでいる。そのようなオンチップのデータハンドリング装置は、装置間でのデータおよび制御情報の通信を可能とするために、例えば共通の相互接続バスによって互に接続されている。この相互接続バスは、オンチップの装置と外部（オフチップ）のデータハンドリング装置との間でのデータおよび制御情報の通信を許容するように、（バッファ回路を経由して）その集積回路の入力／出力端子へつながれているのが一般的である。
【０００３】
この型の集積回路はモジュール方式に従って設計および製造することができる。この方式では、集積回路の設計者は、多数の、それぞれがデータハンドリング装置を含んでいる予め設計されたモジュールのうちから選んで、特定の応用に適した集積回路を設計するように、モジュールの相対的な配置と相互接続とを設定すればよい。
【０００４】
この集積回路の端子には、各々のオンチップデータハンドリング装置（少なくともオンチップのマイクロプロセッサーモジュール）の各入力および出力に対して試験用または診断用のアクセスバスを設けることが一般的である。この試験用のアクセスバスは、製造工程の一部として、オンチップのデータハンドリング装置の試験を許容するために用いられる。この試験には外部のチップ試験装置が使用されて、それは試験用のアクセスバスを経由してオンチップデータハンドリング装置に対して試験入力を供給し、更にその試験入力に応答するオンチップデータハンドリング装置からの出力を検出するようになっている。
【０００５】
しかし、上述の型のモジュール方式の集積回路では、集積回路の完全な試験を許容するために、設計者が各データハンドリング装置のすべての入力および出力へ外部端子を設けることになればこのモジュール方式の利点は半減する。マイクロプロセッサーモジュールのような比較的複雑なデータハンドリング装置に対しては、必要とされるそのような端子の数は膨大なものとなろう。例えば、３２ビットのマイクロプロセッサーは、３２ビットの番地信号、３２ビットのデータ信号、約１３ビットの制御信号、および約１４ビットのステータス信号の併せて９１個の端子を使用する試験用のアクセスバスを必要とすることになろう。
【０００６】
過去において、この問題を解決するために提案されたものの失敗に終わった方法は、チップ試験装置によって生成すべき試験信号を個々の集積回路毎にあつらえるというものであった。このチップ固有の試験信号は幅を短縮した試験用のアクセスバスを経由してその集積回路に供給することができる。しかし、そのような特別にあつらえた試験信号を設ける方式は時間が掛かり、高価にもつく。
【０００７】
【発明の概要】
本発明の１つの目的は、集積回路内のデータハンドリング装置を、非常に多数の試験用アクセス端子または特別にあつらえた試験信号パターンを必要とせずに試験することを可能にすることである。
【０００８】
本発明は、集積回路であって：第１の動作モードの間に相互接続バスによってデータを交換するように相互接続された複数のデータハンドリング装置；第２の診断動作モードの間に、集積回路の外部にある診断装置に応答して、相互接続バスを経由して診断装置との間で診断データを交換するように１個または複数個のデータハンドリング装置を制御する診断制御回路；を含む集積回路を提供する。
【０００９】
本発明に従えば、共通バスが、第１の（通常の）動作モードの間には集積回路のデータバスとして使用され、第２の（診断）動作モードの間には診断または試験用のアクセスバスとして使用される。これによって、その集積回路に含まれる各種のモジュールが、非常に多数の試験用アクセス端子または供給すべき特別あつらえの試験信号パターンを必要とせずに試験できることになる。
【００１０】
当業者は、この診断が、その集積回路に対して施される製造段階での試験工程を意味すると解釈されるかもしれないが、回路に組み込んだ後のエミュレーションの状態分析のような製造後の診断をも含めて意味するものである。例えば、本発明を用いることによって、外部（オフチップ）の診断装置によってオンチップメモリまたはＣＰＵコアの内部情報が読み出され、修正され、書き戻されることができる。あるいは、診断データは単に、その集積回路の現在の処理状態の内部的データ表示であることもできる。
【００１１】
相互接続バス上のデータ通信を制御するために、複数のデータハンドリング装置は、１または複数のバスマスターデータハンドリング装置および１または複数のバススレーブデータハンドリング装置を含んでいることが好ましい。
【００１２】
好ましくは、診断制御手段はバスマスターデータハンドリング装置を含む。これによって、診断制御手段は必要なとき（例えば、診断動作モードの間）、相互接続バスを制御できる。
【００１３】
潜在的に競合する複数のバスマスターデータハンドリング装置を有する集積回路では、１または複数のバスマスターデータハンドリング装置による相互接続バスの制御要求に応答して、そのバスマスターデータハンドリング装置に関する予め定められた優先順位に従って相互接続バスの制御を１つのバスマスターデータハンドリング装置へ割り当てる調停（アービトレーション）手段を採用することが好ましい。
【００１４】
集積回路中のその他すべてのデータハンドリング装置に優先して診断制御手段が相互接続バスの制御を入手するために、その診断制御手段は予め定められた優先順位のなかで、その相互接続バスにつながるその他すべてのバスマスターデータハンドリング装置よりも高い優先権を有していることが好ましい。
【００１５】
好ましくは、診断制御手段はその相互接続バスへつながるその他すべてのデータハンドリング装置を選択的に制御して、バススレーブ装置として動作させるための手段を含む。
【００１６】
１つの好適実施例では、診断データは、試験されるデータハンドリング装置に関する予め定められた診断手順に従った１または複数の逐次的診断ベクトルを含む。好ましくは、その１または複数の診断ベクトルは、試験されるデータハンドリング装置を選択するための番地ベクトルを含む。
【００１７】
この集積回路はクロック信号の逐次的サイクルの制御下で動作することが好ましい。その場合、診断制御手段は、クロック信号の現在のサイクル中に診断装置から受け取った制御信号に応答して、クロック信号の次に続くサイクルの間に相互接続バスを経由して診断装置との間で診断データを交換するようにデータハンドリング装置の１または複数個を制御することが好ましい。この制御信号のパイプライン化は、オフチップとオンチップのバスクロックタイミングの間の時間歪みを補償し、また相互接続バスがフルスピードのバス速度で試験されることを許容する。
【００１８】
好ましくは、本集積回路は、集積回路の外部にあるデータハンドリング装置と相互接続バスとの間でデータ転送を許容する外部データバスを提供するデータバッファを含み、診断制御手段はその外部データバスを高インピーダンス状態にするように動作する。これによって、外部診断装置は集積回路の外部バスを高インピーダンス状態に設定制御できる。これによって等価的に、集積回路は一時的に例えば共通印刷回路基板等のその他の装置から切り離され、それらの他の装置は切り離された集積回路とは独立して試験できるようになる。
【００１９】
本発明の第２の特徴からは、第１の動作モードの間に相互接続バスによってデータを交換するように相互接続された複数のデータハンドリング装置を有する集積回路の動作方法であって、第２の診断動作モードの間に相互接続バスを経由して集積回路の外部にある診断装置との間で診断データを交換するようにデータハンドリング装置の１または複数を制御する工程を含む方法が提供される。
【００２０】
本発明に関する上述およびその他の特徴および利点については、以下の図面を参照した詳細な説明から明らかになろう。
【００２１】
【実施例】
さて図１を参照すると、集積回路１０は、すべて相互接続バス５０によって相互接続された、マイクロプロセッサー（ＣＰＵ）２０、内部ランダムアクセスメモリ（ＲＡＭ）３０、および試験制御装置４０を含んでいる。外部バスインターフェース（ＥＢＩ）６０は相互接続バス５０と外部（オフチップ）のメモリおよび周辺装置との間にバッファ付きのインターフェースを提供している。
【００２２】
集積回路１０はモジュール構造として設計・製造されており、各種の他のデータハンドリング装置も含めて相互接続バス５０へつなぐことができる。相互接続バス５０の利用を制御するために、データハンドリング装置のいくつかはバス’マスター’として分類され、また残りのものはバス’スレーブ’として分類される。
【００２３】
ＣＰＵ２０はバスマスターの一例である。バスマスターは調停ユニット７０から相互接続バスの制御を要求することによって相互接続バス５０上でのデータ転送を開始する。調停ユニット７０はシステム中の各種バスマスターから相互接続バス５０に関する一時的な制御要求を受け取り、それらバスマスターに関する優先順位に従って要求を出しているバスマスターの１つに対して相互接続バス５０の制御を割り振る。現在のバスマスターがバスの業務を完了するか、あるいはより優先度の高いバスマスターがバスの制御を要求してくると、調停ユニットは相互接続バス５０の制御を解放する。調停ユニット７０は次に、バスの制御を別の要求を出しているバスマスターへ与えることができる。
【００２４】
上述のように、ＣＰＵ２０はバスマスターであり、試験制御装置４０もそうである。集積回路１０に含まれるバスマスターのその他の例としては、デジタル信号処理専用の（ＤＳＰ）コプロセッサー等のコプロセッサー、ダイレクトメモリアクセス（ＤＭＡ）制御装置、および（例えば、ソフトウエアのリモートデバッグのための）診断制御装置が含まれる。
【００２５】
内部ＲＡＭ３０はバススレーブの一例である。バススレーブは、予めそのスレーブに対して割り当てられており、バスマスターによって相互接続バス５０上に供給されるスレーブ番地に応答して現在のバスマスターの制御下で読み出しまたは書き込みデータサイクルのバーストを実行する。バススレーブはバスの制御を要求もしないし、制御もしないので、それらは調停ユニット７０へ接続されていない。集積回路１０に含まれるその他のバススレーブ装置の例としては、オンチップの読み出し専用メモリ（ＲＯＭ）、割り込み制御装置、入力／出力チャンネル制御装置（例えば、シリアルチャンネル制御装置）、外部バスインターフェース６０、およびシステムタイマーユニットが含まれる。
【００２６】
各種のデータハンドリング装置（バスマスターおよびバススレーブ）間のデータ通信は、相互接続バス５０へつながれたデコーダー７５、調停ユニット７０、およびデータハンドリング装置によって制御される。
【００２７】
図１において、集積回路１０はそれの通常モードまたは’システム’モードにあるとして示されている。このモードにおいて、装置間のデータ通信が開始されると、現在のバスマスターは相互接続バス５０上へ受け手となるデータハンドリング装置の番地を供給する。この番地はデコーダー７５によって検出され、それは番地指定されたスレーブ装置に対して選択信号を供給し、その装置をデータ通信のためにイネーブルする。また、システムモードにおいて、外部バスインターフェース６０は外部バス８０を介して外部メモリおよび周辺装置へつながれる。
【００２８】
試験制御装置４０もまた外部インターフェース（試験制御インターフェース９０と呼ぶ）を有する。
【００２９】
図２は集積回路１０の第２の模式図であり、そこにおいて外部バス８０と試験制御インターフェース９０が、ＶＬＳＩ（超大規模集積）テスター（図示されていない）または診断回路基板テスターと呼ぶ集積回路試験装置へつながれている。この構成は、集積回路１０をその他のデータ処理部品から分離するために（その他の部品を試験するため）、あるいは集積回路を’試験’動作モードに設定するために用いることができる。
【００３０】
集積回路１０を分離させるために、ＶＬＳＩテスターは試験制御インターフェース９０を使用して、相互接続バス５０の制御を要求するように試験制御装置４０を制御する。試験制御装置４０は調停ユニット７０によって最も高い優先順位を与えられており、従って決まったシステムクロックサイクル数のうちに相互接続バス５０の制御を認可されることが保証されている。試験制御装置４０はそれが相互接続バス５０の制御を獲得したことを、試験制御インターフェース９０を介してＶＬＳＩテスターに外部信号を戻すことによって表示する。
【００３１】
試験制御装置４０が一旦相互接続バス５０の制御を獲得すると、それは外部バスインターフェース６０を制御して外部バスを高インピーダンス状態にする。これは等価的に集積回路１０を、その他の例えば共通印刷回路基板上の装置から切り離すことになり、それらの他の装置を独立して試験することを許容する。
【００３２】
この高インピーダンス状態から、ＶＬＳＩテスターは試験制御装置４０を制御して集積回路を試験モードに設定することができる。この試験モードにおいて、試験制御装置４０は外部バスインターフェースを介してＶＬＳＩテスターとの間のデータ通信をイネーブルし、等価的にＶＬＳＩテスターが集積回路１０を完全に制御することを許容する。試験制御装置４０はまた相互接続バス５０上へ各種の制御信号を配置して、ＶＬＳＩテスターとの間のデータ通信が内部バスマスター装置で行えるようにする。
【００３３】
言い換えれば、試験モードでは、外部バス８０は並列の試験ベクトルアクセスポートとなる。本実施例において、外部バス８０は３２ビットの広さを持ち、ＶＬＳＩテスターはこれを３２ビットの並列アクセスポートとして使用する。しかし、外部バス８０のビットのサブセットを用いた構成も可能である。あるいは、幅を縮小した外部バスを有する集積回路では（例えば、３２ビットＣＰＵ２０に対して１６ビットまたは８ビットの外部バス）、試験ベクトルの送信は外部バスによって時間多重化されよう。
【００３４】
試験モードでは、デコーダー７５が相互接続バス５０へつながる各装置（すなわち、通常はバスマスターまたはバススレーブである装置）のスレーブ番地を検出し、その装置を試験構成でのバススレーブとして設定する。通常はバスマスターである装置に関しては、これはその装置をバススレーブとして設定することを含む。
【００３５】
ＶＬＳＩテスターは次に、試験ベクトルプロトコルを開始し、そこにおいては番地および制御ベクトルを試験データの読み出しおよび書き込みバーストと混在して分散させる。
【００３６】
既に述べたように、試験工程の間にバスマスターであろうとバススレーブであろうと、すべてのオンチップ装置はあたかもバススレーブ装置であるかのように番地指定されて、システムメモリマップ内を番地空間としてマッピングされる。通常のシステムモードにおいてバスマスターとして作動する装置の場合は、システムメモリマップは試験制御装置４０が現在の能動的なバスマスターである時にその装置へスレーブアクセスのみを許容する。
【００３７】
試験制御インターフェース９０は、外部バス８０と一緒に使用される２つの入力信号と１つの出力信号を含む。試験制御インターフェース９０のこれらの３つの信号はＶＬＳＩテスターと試験制御装置４０との間のハンドシェーキングを提供する。試験制御インターフェース９０のこれらの３つの信号は：
Ｅ＿ＲＱ  −  外部バス要求入力（要求トリステートバス−すなわち、集積回路１０の分離）
Ｅ＿ＲＱＴ  −  外部バス試験要求入力（すなわち、ＶＬＳＩテスターが試験ベクトルを送信または受信しようとしている）
Ｅ＿ＧＴ  −  外部バス認可出力（これは相互接続バスの制御がその試験制御装置４０へ認可されたことを確認する）
である。
【００３８】
集積回路がシステムモードで動作する時、Ｅ＿ＲＱラインをアサートする（高レベルが能動的）ことは試験制御装置４０が調停ユニット７０から相互接続バス５０の制御を要求することを引き起こす。試験制御装置４０はその集積回路内のすべてのバスマスターのうちで最も高い優先順位を与えられており、従って、制御要求後の予め定められた数のクロックサイクルのうちに相互接続バスの制御を認可されることが保証されている。試験制御装置４０は外部バスインターフェース６０を制御して、外部バスを高インピーダンス状態に設定する。次にＥ＿ＧＴ外部認可信号をアサートすることによって、ＶＬＳＩテスターに対してそれがバス５０の制御を認可されたことを教える。
【００３９】
このモードにおいて、外部バス８０へつながれた（例えば、診断装置やその他のバス制御装置の一部を形成する）外部バス制御装置は、外部バスがその集積回路１０によって駆動されることのないことが保証されているため、他の集積回路や外部バス８０へつながれた装置（例えば、共通印刷回路基板上の）に対してＤＭＡ操作を実行することができる。
【００４０】
集積回路１０中のデータハンドリング装置の診断試験のために、ＶＬＳＩテスターは次に、Ｅ＿ＲＱＴをアサートすることができる。それはＶＬＳＩテスターがその集積回路１０に対してそれ自身で試験工程を開始しようとしていることを試験制御装置４０に対して示す。Ｅ＿ＲＱＴ信号に応答して、試験制御装置４０は外部バスインターフェース６０を制御してＶＬＳＩテスターとの間で通信を行わせる。
【００４１】
外部ハンドシェーク入力信号Ｅ＿ＲＱおよびＥ＿ＲＱＴがパイプライン信号として組み込まれ、現在のオンチップサイクルよりむしろ次に続くオンチップサイクルに対して与えられる。これによってオフチップとオンチップのバスクロックタイミングの間の時間歪みを補償することが可能となり、従って相互接続バス５０はフルスピードのバス速度で試験できるようになる。
【００４２】
外部バスインターフェースをトリステート状態（高インピーダンスまたは高Ｚ）にセットし、次に集積回路１０をシステムモードへリセットするための論理シーケンスを次の表１に示す。
【００４３】
【表１】
0003987589.tif 000002
【００４４】
表１を参照すると、Ｅ＿ＲＱ、Ｅ＿ＲＱＴ、およびＥ＿ＧＴがすべて低レベルである時、集積回路は通常のシステムモードにある。信号Ｅ＿ＲＱは次にアサート（高レベルに設定）されて、試験制御装置４０が相互接続バス５０の制御を獲得して外部バス８０上で高インピーダンスモードを設定することを要求する。この要求が認可された時、試験制御装置４０によって信号Ｅ＿ＧＴがアサートされ、その状態をＶＬＳＩテスターに対して教える。
【００４５】
Ｅ＿ＲＱ信号は続いて低レベル状態へ戻り、外部バス８０上の高インピーダンスモードを終了させる。Ｅ＿ＧＴ信号もまた低レベルへ戻った時、それは試験制御装置４０が相互接続バス５０の制御を解放し、通常のシステムモードが再び適用されることを意味する。
【００４６】
データハンドリング装置（バスマスターまたはバススレーブ）はその装置に対応するスレーブ番地を外部バス８０上へ与え、次に信号Ｅ＿ＲＱＴをアサートすることによってスレーブ装置として試験のためにセットアップすることができる。これによってデコーダー７５はその番地指定された装置をスレーブ装置として試験モードに設定し、ＶＬＳＩテスターがその装置に対して診断アクセスすることを、Ｅ＿ＲＱＴおよびＥ＿ＲＱ両信号が低レベルにセットされるまでは許容する。
【００４７】
バスマスター装置の装置試験モードでは、同期した３２ビットベクトルの読み出しおよび書き込みプロトコルが採用されて、番地指定された装置に対して試験ベクトルが供給される。この工程の間、試験制御インターフェース９０上の診断ハンドシェークは、動作制御のためにＥ＿ＲＱＴおよびＥ＿ＲＱのグレー符号化されたシーケンスを使用する。このシーケンスを次の表２に示す。
【００４８】
【表２】
0003987589.tif 000003
【００４９】
表２のベクトル入力の場合、書き込みベクトルのバーストが番地選択サイクルによって終端される開始番地から許可される。同様に、Ｖｏｕｔモードでは、読み出しベクトルのバーストが番地選択ベクトルによって終端される開始番地から許可される。
【００５０】
図３は外部バス８０へ供給される番地選択ベクトルの模式図である。上位の１６ビット（Ｄ３１ないしＤ１６）はその装置を試験するために選択されるスレーブ番地を含み、下位のビット（Ｄ１５ないしＤ０）はその装置に対して最も普通に要求される制御命令に対応する制御入力を含んでいる。
【００５１】
デコーダー７５は外部バス８０上（および従って相互接続バス５０の３２個のデータビット上にも）に与えられた図３に示すような型の番地ベクトルに対して次のように応答する。デコーダー７５は調停ユニット７０から試験制御装置４０が相互接続バス５０の制御を認可されたことを示す信号を既に受け取っており、従って、番地ベクトルの上位ビットによって指定される番地にのみ応答する。デコーダー７５は次に番地ベクトルによって番地指定された装置をその装置が通常バスマスターとして動作するか否かに関係なくバススレーブ装置として試験状態に設定する。試験状態の設定はその装置が番地ベクトルの下位のビットによって指定された装置構成を採用することを命令する。
【００５２】
データハンドリング装置が選択され、番地ベクトルによって構成された時、その装置はＶＬＳＩテスターとの間で試験データを交換（送信または受信）することを期待する。試験ベクトルの形式と順序は予め決定することができ、集積回路１０の特定の配置や形状に関係なく、そのデータハンドリング装置またはモジュールに固有なものである。従って、試験すべき装置はＶＬＳＩテスターに関しては（有限状態機械のように）予め定められたように振る舞い、従ってＶＬＳＩテスターおよびその試験すべき装置は、装置選択の後、予め定められた順序で試験データベクトルを交換する。
【００５３】
ここで指摘すべきことは、本実施例において、試験制御装置４０は上述のような方法では試験することのできない唯一のオンチップ装置であるということである。（試験制御装置４０はそれがその時点でのバスマスターであるため、試験手続きの間にバススレーブとして番地指定することができない）。しかし、残りの装置に対して実行される試験操作を成功させることによってその試験制御装置４０の動作の修正モードを導き出すことができる。
【００５４】
図４は装置に依存する試験データを含む試験データベクトルの模式図である。この場合、ベクトルは３２の使用可能なビットすべてを使ったフリーフォーマットである。
【００５５】
番地または試験データベクトルの交換の間に、その試験制御装置はＶＬＳＩテスターから受け取ったデータと一緒に相互接続バス５０上へ与えるべき制御信号を生成する。
【００５６】
ＣＰＵ２０（バスマスター）に対して実行される試験工程の例を図５ないし図１０を参照しながらここで説明する。これらの図面のうち、図５ないし図９は試験工程の各種段階においてＶＬＳＩテスターによって外部バス８０上へ供給されるデータ、制御、およびステータスのベクトルを示す。図１０は試験工程の間に実行されるステップを示すフローチャートである。
【００５７】
ＣＰＵ２０を試験するための試験シーケンスはＶＬＳＩテスターが図５に模式的に示すような番地選択および制御ベクトルを生成するところから始まる。既に述べたように、通常はバスマスターである装置はＶＬＳＩテスターによって試験工程中はバススレーブとして番地指定される。従って、図５のベクトルは上位ビットにＣＰＵ２０のスレーブ番地を含み、下位ビットにはＣＰＵ２０を試験のために構成する場合の制御情報が含まれている。
【００５８】
ＣＰＵ２０が一旦番地指定され、構成されると、図６に模式的に示されたように、データベクトルの３２ビットすべてを使用してデータがＣＰＵ２０に与えられる。
【００５９】
あるいは、データはＶＬＳＩテスターによってＣＰＵ２０から読み出すこともできる。それらのデータはＣＰＵの処理状態、現在のＣＰＵ番地出力、または処理操作に続いてＣＰＵから戻されるデータを示す。
【００６０】
プロセッサーのステータスは図７に模式的に示されたステータスベクトルの下位の１４ビットワードとして出力される。プロセッサーの番地出力は図８に模式的に示すように、３２ビットのＡＤＤＲ出力ベクトルとして検査されよう。最後に、ＣＰＵ２０の書き込み操作中に、プロセッサーによるデータ出力が、ＶＬＳＩテスターによって図９に模式的に示されたような並列のＤＯＵＴデータベクトルとして検査されよう。
【００６１】
図１０はＣＰＵ２０を試験する場合に実行されるステップを示す。
【００６２】
図１０を参照すると、アイドリング状態１００から、ＣＰＵ２０は番地フェーズの間に図５の制御ベクトルを使用して選ばれる（番地指定される）。次に、書き込みデータバースト、あるいは読み出しデータバーストのいずれかが続き、書き込みデータバーストの間には図６に示された形式のデータベクトルを使用してＣＰＵ２０へデータが送信される（ステップ１２０において）。
【００６３】
書き込みバーストと読み出しバーストのいずれが発生するかの選択はＶＬＳＩテスターの制御下にある。ＶＬＳＩテスターは、読み出しバーストの場合、Ｅ＿ＲＱＴを高レベルに、またＥ＿ＲＱを低レベルにセットするが、書き込みバーストの場合は、Ｅ＿ＲＱＴを低レベル、Ｅ＿ＲＱを高レベルにセットする（表２に示すように）。これらの信号は試験制御装置４０によって受信され、試験制御装置４０はそれが適正であれば内部バス書き込み信号を生成することによって応答する。
【００６４】
読み出しデータバーストの場合、ＣＰＵ統計量は図７に示されたステータスベクトルを用いてＶＬＳＩテスターへ（ステップ１３０において）送信され、次にオプションとして、図８に示されたＡＤＤＲベクトルを用いて（ステップ１４０において）ＣＰＵ番地が送信され、そしてＣＰＵデータは図９に示されたＤＯＵＴベクトルを用いて（ステップ１５０において）ＶＬＳＩテスターへ送信される。各々の書き込みデータバーストまたは読み出しデータバーストの後、制御は番地フェーズへ戻される。別の実施例では、書き込みデータバーストと読み出しデータバーストが、ＶＬＳＩテスターによって別の番地ベクトルが出力されるまで同じスレーブ番地において繰り返し実行される。
【００６５】
通常はバススレーブである内部ＲＡＭやＲＯＭのような装置はずっと単純なふうにインターフェースを与えられて試験され、’１の連立’パターンのような試験パターンについてバーストモードの書き込みおよび読み出しを許容される。そのような装置の試験に使用するために、試験制御装置４０はそのようなメモリマップされた装置へ逐次的番地を供給する番地増分器を含んでいる。試験制御装置４０に番地増分器を採用することで、各々のバススレーブ装置中に予めロードされる計数器を設けておく必要がなくなる。
【００６６】
３２ビットの全幅増分器を提供する代わりに、番地の増分を１２ビットフィールドで行い、番地空間のその他のビット（Ａ〔３１：１４〕およびＡ〔１：０〕）はページ境界毎に再ラッチされなければならない。これによって等価的に１６キロバイトのバーストアクセスウインドウが許容される。しかし、その他の実施例では、３２ビットの増分器を提供することを行ってもよい。
【００６７】
図１１は試験のためにバススレーブ装置を選択するための番地選択ベクトルの模式図である。このベクトルの上位のビットは試験すべき装置の（すなわち、その装置を選択する）スレーブ番地を提供し、下位のビットはその装置内のメモリ位置に対応するメモリ番地のビットを含んでいる。
【００６８】
図１２は試験すべきバススレーブ装置との間でやりとりされるデータパターンを読み出しまたは書き込みするために使用される３２ビットのフリーフォーマットデータベクトルを示す。
【００６９】
図１３ないし図１５は試験制御装置４０に関連してＶＬＳＩテスターによって実行される試験工程を示す時間図である。特に、図１３は書き込みデータバーストを示す時間図であり、図１４は読み出しデータバーストを示す時間図であり、更に図１５は書き込みデータバーストに続く読み出しデータバーストを示す時間図である。
【００７０】
図１３ないし図１５において、以下の省略記号を使用して試験工程中に含まれる各種の信号を表すことにする。
0003987589.tif 000004
【００７１】
図１３を参照すると、まずＥ＿ＲＱ信号がＶＬＳＩテスターによってアサートされる。試験制御装置４０が相互接続バス５０の制御を認可された時は、試験制御装置はＥ＿ＧＴ信号をアサートする。ＶＬＳＩテスターは試験モードを開始するために１クロックサイクルの間Ｅ＿ＲＱＴ信号をセットし、次に外部番地ベクトル（ＸＡ）とそれに続く２つの外部書き込みベクトル（ＸＷ）を送信する。それらの信号は外部バスインターフェース６０を経由してそれぞれ内部番地（Ａ）およびｗｒｉｔｅ（Ｗ）ベクトルとして相互接続バス５０へ送られる。
【００７２】
内部番地ベクトルに応答して、デコーダー７５は試験すべき装置を選択し、その装置を試験状態においてバススレーブとして設定する。その装置は次に（ＶＬＳＩテスターによって生成される外部書き込みベクトルに対応して）内部書き込みベクトルを受信し、その装置またはモジュールに依存した形でそれらのベクトルに応答する。
【００７３】
図１３の試験工程は、試験制御装置４０がＥ＿ＧＴ信号を低レベルへリセットすることによって終了する。
【００７４】
図１４は図１３に類似しているが、読み出しデータバーストを示しており、ここではデータが内部装置から読み出され、ＶＬＳＩテスターへ送信される。この場合、外部バスインターフェース６０は外部番地ベクトル（ＸＡ）を受信し、更にそれに応答して対応する内部番地ベクトル（Ａ）を内部バス上へあたえる。試験されている装置からの内部読み出しベクトル（Ｒ）は、次に、外部バス８０を経て外部読み出しベクトル（ＸＲ）としてＶＬＳＩテスターへ送信される。
【００７５】
最後に、図１５は図１３に示されたのと類似のデータ書き込みバーストの後に図１４に示したのと類似のデータ読み出しバーストが続く場合を示している。
【００７６】
以上説明してきた実施例は集積回路の基本的な製造工程における試験でのみ使用されるものではない。この試験方法はまた回路中エミュレーションの状態分析のような用途においても使用されよう。例えば、オンチップメモリまたはＣＰＵコアの内部状態を読み出し、修正し、そして再び書き戻すこともこれらの方法を用いて行われよう。
【００７７】
本発明の例示した実施例はここに図面を参照しながら詳細に説明してきたが、本発明がそれらの実施例に厳密に制限されるべきではなく、各種の変更および修正が請求の範囲に示した本発明の範囲および本質から外れることなしに実行可能であることを当業者は理解されるであろう。
【図面の簡単な説明】
【図１】システムモードで動作している集積回路の模式的ブロック図。
【図２】試験モードで動作している集積回路の模式的ブロック図。
【図３】番地選択ベクトルの模式図。
【図４】装置に依存した試験データを含む試験ベクトルの模式図。
【図５】ＣＰＵ番地選択および制御ベクトルの模式図。
【図６】ＣＰＵデータベクトルの模式図。
【図７】ＣＰＵステータスベクトルの模式図。
【図８】ＣＰＵ出力番地ベクトルの模式図。
【図９】ＣＰＵ出力データベクトルの模式図。
【図１０】ＣＰＵの試験において実行される一連の手続きを示すフローチャート。
【図１１】試験のためにバススレーブ装置を選択するための番地選択ベクトルの模式図。
【図１２】バススレーブ装置へデータパターンを読み書きするための３２ビットデータベクトル。
【図１３】書き込みデータのバーストを示す時間図。
【図１４】読み出しデータのバーストを示す時間図。
【図１５】書き込みデータのバーストに続く読み出しデータのバーストを示す時間図。
【符号の説明】
１０  集積回路
２０  マイクロプロセッサー（ＣＰＵ）
３０  内部ランダムアクセスメモリ（ＲＡＭ）
４０  試験制御装置
５０  相互接続バス
６０  外部バスインターフェース
７０  調停ユニット
７５  デコーダー
８０  外部バス
９０  試験制御インターフェース
１００  アイドリング状態
１２０  書き込みデータ送信
１３０  ＣＰＵ統計量送信
１４０  ＣＰＵ番地送信
１５０  ＣＰＵデータ送信
【図１】
0003987589.tif 000005
【図２】
0003987589.tif 000006
【図３】
0003987589.tif 000007
【図４】
0003987589.tif 000008
【図５】
0003987589.tif 000009
【図６】
0003987589.tif 000010
【図７】
0003987589.tif 000011
【図８】
0003987589.tif 000012
【図９】
0003987589.tif 000013
【図１０】
0003987589.tif 000014
【図１１】
0003987589.tif 000015
【図１２】
0003987589.tif 000016
【図１３】
0003987589.tif 000017
【図１４】
0003987589.tif 000018
【図１５】
0003987589.tif 000019