(57)【特許請求の範囲】
【請求項１】
ａ) 直列データ入力ピン及び直列データ出力ピンと、
ｂ) オン−チップ機能回路及びテストロジックと、
ｃ) 前記入力ピン及び出力ピンを介してチップ境界を越えた直列データ通信を実行するために接続され、第１の作動モードで前記テストロジックに接続されて、入力されるクロック信号の制御下で直列テストデータ通信を実行できるテストアクセスポートコントローラと、
ｄ) 第２の作動モードで前記テストアクセスポートコントローラを介して前記入力ピン及び出力ピンに接続できるデータアダプタと、を含んで構成され、
前記データアダプタは、前記第２の作動モードにおいて、前記オン−チップ機能回路から並列データ及び制御信号を供給され、前記並列データ及び制御信号を、前記入力されるクロック信号の制御下で前記テストアクセスポートコントローラを介してオフ−チップ通信するためのフロー制御ビットとデータビットとを有する一連の直列ビットに変換する第１の変換回路を有し、前記フロー制御ビットは前記オン−チップ機能回路から前記並列データ及び制御信号を受信したことに応答して生成され、
前記データアダプタは、フロー制御ビットとデータビットとを有する一連の直列ビットを、オフ−チップから前記直列データ入力ピンを介して受信して、前記オン−チップ機能回路用の並列データ及び制御信号に変換する第２の変換回路をさらに有し、前記制御信号は前記フロー制御ビットを受信したことに応答して生成されることを特徴とする集積回路。
【請求項２】
前記データアダプタは、前記オン−チップ機能回路からの並列データ及び制御信号を受信する第１のポートと、前記オン−チップ機能回路に並列データ及び制御信号を送信する第２のポートと、を有することを特徴とする請求項１記載の集積回路。
【請求項３】
前記データアダプタは、入力される一連の直列ビット内のフロー制御ビットから順方向のフロー制御情報を生成する回路を有し、
前記第１のポートは、前記順方向のフロー制御情報を前記オン−チップ機能回路に送信する少なくとも１つのピンを有することを特徴とする請求項２記載の集積回路。
【請求項４】
前記第の１のポートが、前記オン−チップ機能回路からの順方向のデータ制御情報を受信する少なくとも１つのピンを有し、前記順方向のデータ制御情報が、前記第１のポートに供給される前記並列データ信号に関連して、オン−チップ機能回路によって生成されることを特徴とする請求項２又は３記載の集積回路。
【請求項５】
前記データアダプタが、該データアダプタによって受信される一連の直列ビット内のデータビットから、及び前記オン−チップ機能回路に供給されるために生成された並列データ信号に関連して、逆方向のデータ制御情報を発生する回路を含んで構成され、
前記第２のポートが、前記逆方向のデータ制御情報を前記オン−チップ機能回路に送信する少なくとも１つのピンを有することを特徴とする請求項２〜４のいずれか１つに記載の集積回路。
【請求項６】
前記第２のポートが、前記オン−チップ機能回路によって受信される並列データに応答して、前記オン−チップ機能回路によって生成される逆方向のフロー制御情報を受信する少なくとも１つのピンを有することを特徴とする請求項２〜５のいずれか１つに記載の集積回路。
【請求項７】
前記データアダプタは、前記オン−チップ機能回路からのデータ及び制御信号をオフ−チップ送信用の直列ビットに変換する間、これらデータ及び制御信号を一時的に保持する記憶回路を含んで構成されることを特徴とする請求項１記載の集積回路。
【請求項８】
前記順方向のフロー制御情報が、前記データアダプタ内の記憶回路の内容の状態から付加的に得られることを特徴とする請求項７記載の集積回路。
【請求項９】
前記データアダプタによって受信及び送信される前記並列データが、８ビット幅であることを特徴とする請求項１〜８のいずれか１つに記載の集積回路。
【請求項１０】
オン−チップバスシステムを含んで構成されることを特徴とする請求項１〜９のいずれか１つに記載の集積回路。
【請求項１１】
前記オン−チップ機能回路は、前記オン−チップバスシステムに接続され、該バスシステムから受信した要求を前記データアダプタに供給するための並列データに変換するとともに、前記データアダプタから受信した並列データを前記バスシステムを介して供給するための要求に変換するメッセージコンバータを有することを特徴とする請求項１０記載の集積回路。
【請求項１２】
前記オン−チップ機能回路は、前記バスシステムに接続されるプロセッサを含んで構成されることを特徴とする請求項１０又は１１記載の集積回路。
【請求項１３】
前記バスシステムは、オン−チップ又はオフ−チップのメモリとの通信を実行する少なくとも１つのメモリバスを有することを特徴とする請求項１０〜１２のいずれか１つに記載の集積回路。
【請求項１４】
請求項１０〜１３のいずれか１つに記載の集積回路と、
オフ−チップホストプロセッサと、
前記ホストプロセッサに接続され、前記オフ−チップホストプロセッサと前記オン−チップバスシステムに接続する機能回路との間で選択的に集積回路の境界を越えた通信を行なうオフ−チップデータアダプタと、
を含んで構成されるコンピュータシステム。
【請求項１５】
ａ）オン−チップバスシステムに接続されるターゲットプロセッサと、前記オン−チップバスシステムに接続される付加機能回路と、直列データ入力ピンと直列データ出力ピンに接続されるテストアクセスポートコントローラと、前記テストアクセスポートコントローラ並びにその直列データ入力ピン及び直列データ出力ピンを介して、チップ境界を越えた通信を実行するオン−チップデータアダプタと、を含み、該オン−チップデータアダプタは、前記オン−チップバスシステムから並列データ及び制御信号を供給され、前記並列データ及び制御信号を、前記直列データ出力ピンを介してオフ−チップ通信するためのフロー制御ビット及びデータビットを有する一連の直列ビットに変換する第１の変換回路を有し、前記フロー制御ビットは前記オン−チップ機能回路から前記並列データ及び制御信号を受信したことに応答して生成され、オフ−チップから前記直列データ入力ピンを介して、フロー制御ビット及びデータビットを有する一連の直列ビットを受信し、該直列ビットを前記オン−チップバスシステム用の並列データ及び制御信号に変換する第２の変換回路をさらに有し、前記制御信号は前記フロー制御ビットを受信したことに応答して生成される構成とした単一チップ集積回路と、
ｂ）並列データ及び制御信号を生成するとともに受信するように作動可能なオフ−チップホストプロセッサと、
ｃ）前記ホストプロセッサに接続されて、該ホストプロセッサからの前記並列データ及び制御信号を受信し、これらを前記直列データ入力ピンを介してチップ上に送信するためのフロー制御ビット及びデータビットを有する一連の直列ビットに変換し、前記直列データ出力ピンから一連の直列ビットを受信し、前記一連の直列ビットを前記オフ−チップホストプロセッサ用の並列データ及び制御信号に変換するオフ−チップデータアダプタと、
を含んで構成され、
前記ホストプロセッサは、前記ターゲットプロセッサを必要とせずに、前記オン−チップバスシステムを介して前記付加機能回路と通信できることを特徴とするコンピュータシステム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は集積回路に関し、特に、チップ境界を越えての直列データ通信を実行する、テストアクセスポートコントローラ（ＴＡＰコントローラ）を有する集積回路に関する。
【０００２】
【従来の技術及び発明が解決しようとする課題】
テストアクセスポートコントローラは従来公知である。ＴＡＰコントローラは、ＪＴＡＧポートとして知られるポートを介して、オン−チップ及びオフ−チップでテストデータ通信を実行するのに使用される。公知のＴＡＰコントローラの機能は、ＩＥＥＥ基準１１４９．１−１９９０で定義されている。この基準は、テストロジックを定義し、そのテストロジックは、集積回路内に含まれることができて、集積回路間の相互の接続をテストし、集積回路自体をテストし、また、集積回路が「通常」または「ユーザーモード」で作動する間の回路動作を監視するかまたは修正するための基準化された方法を提供する。
【０００３】
ＩＥＥＥ基準によれば、ＴＡＰコントローラは種々の異なるテストモードを実行できる。これらのテストモードのそれぞれにおいて、テストデータはＴＡＰコントローラの入力ピンを介してチップに供給され、テスト後の結果として生じるデータがＴＡＰコントローラの出力ピンを介してオフ−チップに供給される。結果として生じるデータは、テストデータに依存し、予測データと比較されてテストの有効性を検査する。入力ピン及び出力ピンは、それぞれＴＤＩ及びＴＤＯとして参照される。現存する多くの集積回路は、既に入力ピンＴＤＩ及び出力ピンＴＤＯを有するこのタイプのＴＡＰコントローラを備えている。
【０００４】
本発明は、これらのピンとＴＡＰコントローラを使用して、ピンの数を増やすことなく、また、基準を超えることなく集積回路の通信機能を増大させることを目的とする。
このことは、診断目的のために特に有用である。即ち、集積回路がプロセッサ等の埋め込まれた機能回路を有する場合、従来の診断技術を使用して機能回路のリアルタイム非割り込み監視を提供することは非常に困難である。機能回路はプロセッサである必要はなく、ＤＭＡ（Direct Memory Access；直接メモリアクセス）エンジンを含む他の機能回路またはオン−チップキャッシュでもよい。
【０００５】
従来、プロセッサ（ＣＰＵ）は単一チップとして製造されており、メモリ等の全ての補助回路へのオフ−チップアクセスを必要とする。結果として、これらは複数のアクセスピンを有して、ＣＰＵに関する情報、特に、メモリアドレス情報がこれらのアクセスピンからいずれにしても外部的に入手できる。
メモリアドレス情報に加えて、プロセッサの内部状態に関する状態情報を入手して、例えば、割り込み、命令ストリームにおける変化、ＣＰＵの種々の状態レジスタにおけるフラグの設定等の事象を確認するのに使用できる。
【０００６】
現今では、チップは複雑であり、オン−チップのプロセッサだけではなくその関連メモリや他の補助回路も含む。チップ上に複数のプロセッサを備えたり、或いは、少なくとも１つのプロセッサとＤＭＡ（直接メモリアクセス）エンジン、またはオン−チッププロセッサに関連するメモリにアクセスするためのＥＭＩ（External Memory Interface ；外部メモリインタフェース）を備える場合がある。このように、通常はオフ−チップ入手が可能な信号がもはやＣＰＵの内部作動に関する直接表示を提供しないので、プロセッサ作動を監視するのはもはや単純なことではない。
【０００７】
集積回路ＣＰＵ上で実行するように設計されたソフトウエアの複雑さが増大するにつれて、ソフトウエアを適切にテストすることの重要性も増大する。これには、ＣＰＵがソフトウエアを実行するのと同時にＣＰＵの作動を監視する技術を必要とする。ソフトウエアがリアルタイムで作動しながら非割り込みでモニタされることは特に煩わしい要件である。
【０００８】
いわゆる診断又はデバッギング技術がこれを達成するために開発された。従来の１つの技術（ＩＣＥ；回路内エミュレータ）は、オン−チップハードウエアにマッチし、このハードウエアに接続されるエミュレータボードの製造を必要とする。このように、オン−チップ接続がエミュレータにマップされるので、エミュレータ上でアクセスできる。しかしながら、エミュレータは構成が複雑かつ高価であり、いずれにしてもオン−チップ通信の速度または状態に十分にマッチできない。このため、優先するオン−チップ状態を正確にエミュレートすることは非常に困難である。
【０００９】
他の従来技術では、論理状態アナライザ（ＬＳＡ）を使用している。これは、全てのオフ−チップ通信状態を継続的に監視する集積回路のピンに接続される装置である。連続して発生する状態の各セットは記憶された後に分析できる。エミュレータよりは安いが、ＬＳＡは高価であるばかりではなく、記憶される莫大な数の連続して発生する状態セットから何らかの有用な情報を引き出すための多大な演繹と分析が必要である。オフ−チップで通信される状態信号を分析できるだけなので、オン−チップ状態に関する何らかの演繹または仮定を行うことが当然必要となる。
【００１０】
更に近年では、埋め込まれたＣＰＵの作動を監視する試みにおいて更なる開発がすすめられた。ある集積回路では、スキャンラッチチェインがオン−チップで提供されて、オン−チップＴＡＰコントローラを使用してＣＰＵのレジスタからデータを転送する。プロセスは破壊的なので、ＣＰＵが作動を継続する前にデータをＣＰＵレジスタ内に戻して読み込ませる必要がある。このように、これを実行するには、ＣＰＵを停止させてそのレジスタから状態情報を抽出する必要がある。このため、これはソフトウエアがリアルタイムで監視されなければならないという要求を満足させるものではない。いくつかのケースでは、ＣＰＵの停止がソフトウエアの作動する方法を変化させるので、リアルタイムで目に見えるバグが、ＣＰＵがそのポイントで停止すると表れない。
【００１１】
更に、テストスキャンが完了するのを待ってＣＰＵレジスタからのすべてのスキャンデータをオフ−チップに送信する必要があるので、監視プロセスがゆっくりである。
また、本発明の別の目的は、オフ−チップ外部通信性を増大させることによって改良された診断手順を実行できるようにすることを目的とする。
【００１２】
【課題を解決するための手段】
本発明の１態様によれば、
ａ) 直列データ入力ピン及び直列データ出力ピンと、
ｂ) オン−チップ機能回路及びテストロジックと、
ｃ) 前記入力ピン及び出力ピンを介してチップ境界を越えた直列データ通信を実行するために接続され、第１の作動モードでテストロジックに接続されて、
入力されるクロック信号の制御下で直列テストデータ通信を実行できるテストアクセスポートコントローラと、
ｄ) 第２の作動モードで前記テストアクセスポートコントローラを介して前記入力ピン及び出力ピンに接続できるデータアダプタと、を含んで構成され、  前記データアダプタは、前記第２の作動モードにおいて、前記オン−チップ機能回路から並列データ及び制御信号を供給され、前記並列データ及び制御信号を、前記入力されるクロック信号の制御下で前記テストアクセスポートコントローラを介してオフ−チップ通信するためのフロー制御ビットとデータビットとを有する一連の直列ビットに変換する第１の変換回路を有し、前記フロー制御ビットは前記オン−チップ機能回路から前記並列データ及び制御信号を受信したことに応答して生成され、フロー制御ビットとデータビットとを有する一連の直列ビットを、オフ−チップから前記直列データ入力ピンを介して受信して、前記オン−チップ機能回路用の並列データ及び制御信号に変換する第２の変換回路をさらに有し、前記制御信号は前記フロー制御ビットを受信したことに応答して生成されることを特徴とする集積回路が提供される。
【００１３】
好ましい実施例における前記データアダプタは、該データアダプタと機能回路との間で、それぞれ並列データと制御信号を受信及び送信するための第１及び第２のポートを有する。
前記データアダプタは、前記機能回路とデータアダプタとの間を転送されるフロー制御ビット及びデータからフロー制御情報を発生する回路を有するのが好ましい。前記フロー制御情報は、以下のタイプの１つとすることができる。
【００１４】
１）入力する一連の直列ビット内のフロー制御ビットから生成され、前記第１のポートの少なくとも１つのピンによって出力される順方向のフロー制御情報２）前記第１のポートに供給される並列データ信号に関連して、前記オン−チップ機能回路によって生成される順方向のデータ制御情報
３）前記データアダプタによって受信される一連の直列ビット内のデータビットから生成される逆方向のデータ制御情報
４）前記オン−チップ機能回路によって受信される並列データに応答して、前記オン−チップ機能回路によって生成される逆方向のフロー制御情報
また、前記順方向のフロー制御情報は、データ及び制御信号を直列ビットに変換する間それらデータ及び制御信号を一時的に保持する、データアダプタ内の記憶回路の状態に応じて生成されてもよい。
【００１５】
本実施例においては、前記データアダプタによって受信及び送信される並列データ信号は、８ビット幅である。
前記集積回路は、オン−チップの種々のソース／宛先ロジックを有する。１つの実施例において、前記集積回路は、前記バスシステムから受信した要求を前記データアダプタに供給するための並列データに変換し、前記データアダプタから受信した並列データを前記バスシステムを介して供給するための要求に変換するメッセージコンバータが接続されたオン−チップバスシステムを有する。前記オン−チップ機能回路は、前記バスシステムに接続される少なくとも１つのプロセッサを含んで構成される。前記バスシステムは、少なくとも１つのメモリバスを有し、このメモリバスは、該メモリバスと接続する或いは接続可能なオン−チップまたはオフ−チップメモリとの通信を実行する。
【００１６】
また、本発明は、
ａ）オン−チップバスシステムに接続されるターゲットプロセッサと、前記オン−チップバスシステムに接続される付加機能回路と、直列データ入力ピンと直列データ出力ピンに接続されるテストアクセスポートコントローラと、前記テストアクセスポートコントローラ並びにその直列データ入力ピン及び直列データ出力ピンを介して、チップ境界を越えた通信を実行するオン−チップデータアダプタと、を含み、該オン−チップデータアダプタは、前記オン−チップバスシステムから並列データ及び制御信号を供給され、前記並列データ及び制御信号を、前記直列データ出力ピンを介してオフ−チップ通信するためのフロー制御ビット及びデータビットを有する一連の直列ビットに変換する第１の変換回路を有し、前記フロー制御ビットは前記オン−チップ機能回路から前記並列データ及び制御信号を受信したことに応答して生成され、オフ−チップから前記直列データ入力ピンを介して、フロー制御ビット及びデータビットを有する一連の直列ビットを受信し、該直列ビットを前記オン−チップバスシステム用の並列データ及び制御信号に変換する第２の変換回路をさらに有し、前記制御信号は前記フロー制御ビットを受信したことに応答して生成される構成とした単一チップ集積回路と、
ｂ）並列データ及び制御信号を発生するとともに受信するように作動可能なオフ−チップホストプロセッサと、
ｃ）前記ホストプロセッサに接続されて、該ホストプロセッサからの前記並列データ及び制御信号を受信し、これらを前記直列データ入力ピンを介してチップ上に送信するためのフロー制御ビット及びデータビットを有する一連の直列ビットに変換し、前記直列データ出力ピンから一連の直列ビットを受信し、前記一連の直列ビットを前記オフ−チップホストプロセッサ用の並列データ及び制御信号に変換するオフ−チップデータアダプタと、
を含んで構成され、
前記ホストプロセッサは、前記ターゲットプロセッサを必要とせずに、前記オン−チップバスシステムを介して前記付加機能回路と通信できることを特徴とするコンピュータシステムを提供する。
【００１７】
このように、集積回路の境界を越えた通信は、好ましくはオン−チップのターゲットプロセッサを必要とせずに、オフ−チップホストプロセッサとオン−チップの機能回路との間で選択的に実行できる。
このことは、診断環境において特に有用である。
ホストプロセッサとのオン−チップ及びオフ−チップ通信は、ターゲットプロセッサのリアルタイム作動に割り込まずに実行できるので、特に、ターゲットプロセッサ上で実行するソフトウエアをリアルタイムで監視できる。また、ＴＡＰコントローラ並びにその直列データ入力ピン及び直列データ出力ピンの使用により、オン−チップ通信を実行する際のチップ領域及びオーバーヘッドを節約できる。データアダプタは、オン−チップのデータ及び制御信号の並列フォーマットを、ＴＡＰコントローラの入力ピン及び出力ピンを介して通信可能な直列フォーマットに修正するのに役立つ。
【００１８】
【発明の実施の形態】
本発明を更に理解し、どのように実施するかを添付の図面を参照して説明する。
図１は、テストアクセスポート（ＴＡＰ）コントローラ４とチップ境界スキャンチェイン１０とを有する集積回路２を概略的に示す。ＴＡＰコントローラ４は、ライン１４上のテストクロック信号ＴＣＫと、ライン１６上のテストモード選択信号ＴＭＳと、ライン１８上のテストデータ入力信号ＴＤＩと、ライン２２上のテストリセット入力信号ＴＲＳＴ＊と、をオフ−チップから受信する。ＴＡＰコントローラ４は、ライン２０上のテストデータ出力信号ＴＤＯをオフ−チップに出力する。ＴＡＰコントローラ４はまた、ライン１２上の装置識別子信号ＤＥＶＩＣＥＩＤを受信する。図１において、装置識別子信号ＤＥＶＩＣＥＩＤは、集積回路内でアースに接続された信号ライン１２として示される。信号ライン１２はマルチビットワイヤでよく、また、装置識別子信号ＤＥＶＩＣＥＩＤは集積回路上またはオフ−チップ上のいずれかから発生できる。信号ライン１２がマルチビットワイヤの場合には、各ビットがチップ上の低レベルロジックまたは高レベルロジックのいずれかに接続される。ＴＡＰコントローラ４は、ライン２８上のスキャンデータ入力信号ＳＣＡＮＩＮと、ライン３８上のテストクロック信号ＴＥＳＴＣＬＫと、ライン２４上のスキャンテストモードＳＣＡＮＭＯＤＥの選択を示す信号と、をライン２６上の診断モードＤＩＡＧＭＯＤＥの選択を示す信号と、をオン−チップ回路に出力する。チップ境界スキャンチェイン１０は、ライン２８上のスキャンデータ入力信号ＳＣＡＮＩＮと、ライン２４上のスキャンテストモード信号ＳＣＡＮＭＯＤＥと、を入力として受信し、ライン３４上のスキャンデータ出力信号ＳＣＡＮＯＵＴをＴＡＰコントローラ４に出力する。本発明では、ライン２８上のスキャンデータ入力信号ＳＣＡＮＩＮはまた、後述するように、診断のためにオン−チップソース／宛先ロジックに接続される。本発明では、ソース／宛先ロジックは、入力信号ＤＩＡＧＳＣＡＮＯＵＴをライン３６上でＴＡＰコントローラ４に供給する。
【００１９】
以下に詳細に説明する図５は、ソース／宛先ロジックを構成する構成要素を示す。ソース／宛先ロジックは、少なくともオン−チップバスシステムに接続されるプロセッサであり、オン−チップバスシステムはこれに接続されたオン−チップメモリを有する。オフ−チップメモリもまたこのようなバスシステムに直接接続できる。オン−チップソース／宛先ロジックはまた、ＤＭＡエンジン又はＥＭＩインタフェースを備えた他の機能回路を持つ。
【００２０】
ＴＡＰコントローラ４は、標準演算に必要であり且つ本発明で要求される回路ブロックを備えて図２に概略的に示される。図２を参照すると、ＴＡＰコントローラ４はその基本形式において、ステートマシン５０と、ＩＤレジスタ４２と、命令レジスタ４４と、命令デコーダ４６と、バイパスラッチ４８と、データマルチプレクサ５２と、命令／データマルチプレクサ５４と、ラッチ５６と、インバータ６０と、を含んで構成される。命令レジスタ４４は、ライン１８上のテストデータ入力信号ＴＤＩを受信し、バス６２への並列命令とライン７６上への直列出力とを発生し、また、ライン８２上の命令制御入力信号を受信する。命令デコーダ４６は、バス６２上の並列命令とライン８４上のデコーダ制御入力信号とを受信して、信号ＳＣＡＮＭＯＤＥ及び信号ＤＩＡＧＭＯＤＥをライン２４及び２６それぞれに、また、ライン７０上に並列データマルチプレクサ選択信号を発生する。バイパスラッチ４８は、ライン１８上のテストデータ入力信号ＴＤＩを受信し、ライン７２上に出力信号を発生する。ＩＤレジスタ４２は、ライン１２上の並列の信号ＤＥＶＩＣＥＩＤを受信し、ライン６８上に直列の装置識別子出力信号を発生する。データマルチプレクサ５２は、ライン６８上のＩＤレジスタ４２の出力信号と、ライン７２上のバイパスラッチ４８の出力信号と、ライン３４上の信号ＳＣＡＮＯＵＴと、ライン３６上の信号ＤＩＡＧＳＣＡＮＯＵＴと、ライン７０上のデータマルチプレクサ選択信号と、を受信する。データマルチプレクサ５２は、ライン７４上に出力を発生する。命令／データマルチプレクサ５４は、ライン７６上の直列出力と、ライン７４上のデータマルチプレクサの出力と、ライン７８上の命令／データマルチプレクサ選択信号と、を受信する。命令／データマルチプレクサ５４は、ライン８０上に出力を発生する。ラッチ５６は、ライン８０上の命令／データマルチプレクサ５４の出力を受信し、ライン２０上にテストデータ出力信号ＴＤＯを発生する。ステートマシン５０は、ライン１６上の信号ＴＭＳと、ライン２２上の信号ＴＲＳＴ＊と、を受信する。ステートマシン５０は、ライン７８への命令／データマルチプレクサ選択信号と、ライン８２への命令制御入力信号と、ライン８４へのデコーダ制御入力信号と、を発生する。ＩＤレジスタ４２、命令レジスタ４４、命令デコーダ４６、バイパスラッチ４８、ステートマシン５０、及びデータコンバータ５７は、それぞれライン１４上のテストクロック信号ＴＣＫを受信する。ラッチ５６は、ライン６４上のインバータ６０を介して反転されたテストクロック信号ＴＣＫを受信する。テストクロック信号ＴＣＫとテストデータ入力信号ＴＤＩは、ライン３８の出力ＴＥＳＴＣＬＫ及びライン２８の出力ＳＣＡＮＩＮとしてそれぞれ直接接続される。
【００２１】
集積回路２のテストを実行する際のＴＡＰコントローラ４の作動は、ＩＥＥＥ１１４９．１−１９９０に詳細に説明されている。本質的に、有限長さのスキャンチェインは、チップ境界スキャンチェイン１０によって形成されるチェインのように集積回路上で形成される。
ＴＡＰコントローラ４は、ＩＥＥＥ基準１１４９．１−１９９０によって定義される同期有限ステートマシンである。ＩＥＥＥ基準１１４９．１−１９９０は、集積回路に含むことのできるテストロジックを定義して、集積回路間の相互接続のテスト、集積回路自体のテスト、集積回路の通常作動中における回路動作の監視又は修正の標準的な方法を提供する。
【００２２】
集積回路２の通常作動中、ＴＡＰコントローラ４は、リセット状態にあり、その入力と出力は全て非作動である。ＩＥＥＥ基準１１４９．１−１９９０によるテストアクセスポートを使用したテストを実行する場合、ＴＡＰコントローラは前記基準の定義に従って作動する。このようなテストモードでは、ＴＡＰコントローラ４は少なくとも１つの作動のテストモードを選択できる。１つの可能なテストモードはスキャンテストモードであり、これはライン２４上の信号ＳＣＡＮＭＯＤＥを設定することにより選択される。スキャンテストモードでは、集積回路２上のスキャンチェインがテストのために選択される。本実施形態において、チップ境界スキャンチェイン１０が信号ＳＣＡＮＭＯＤＥによって選択される。このようなスキャンテストは、単にスキャンチェインの一端にデータを入力し、同一データがスキャンチェインの他端で出力されることを確認するためにチェックをすることを含む。或いは、オン−チップの機能ロジックに入力されるデータをスキャンし、１以上のクロックサイクルでチップを機能的にクロックして、機能ロジックの出力をスキャンするような、より複雑なスキャン操作を実行できる。オン−チップの任意の接続点または回路をテスト用に接続してスキャンチェインを形成できる。チップ境界スキャンチェイン１０は、テストモードで制御されて集積回路２の全ての入力／出力ポートを接続する一連のフリップフロップである。このようなスキャンテスティングの完全な理解はＩＥＥＥ基準１１４９．１−１９９０を参照することから求められる。スキャンテスティングをどのように実行するかの特定の例として、ヨーロッパ特許出願公開第０６９８８９０号、第０７０２２３９号、第０７０２２４０号、第０７０２２４１号、第０７０２２４２号、第０７０２２４３号、第０７０９６８８号が挙げられる。
【００２３】
ＩＥＥＥ基準１１４９．１−１９９０のテストアクセスポートを使用する公知のテストモードの特徴は、スキャンチェインが有限の長さか又は閉ループであること、また、テストデータ出力信号ＴＤＯがテストデータ入力信号ＴＤＩに依存するとともに、テストデータ入力信号との時間関係を持つことである。
本実施形態では、作動の診断モードは、ＩＥＥＥ基準１１４９．１−１９９０と一致するオン−チップのソース／宛先ロジックの診断手順を実行するために提供される。このような診断テストモードでは、テストデータ出力信号ＴＤＯはテストデータ入力信号ＴＤＩに依存しないので、このテストデータ入力信号との時間関係を持たない。テストデータ入力信号ＴＤＩとテストデータ出力信号ＴＤＯとの間のチェインは、無限の長さまたは開ループであると考えられる。診断モードでは、ＴＡＰコントローラ４は、全ての正常な機能を提供しながら、付加的に全二重の、フロー制御された、束縛されない直列データを、これがデータの形式であるとは気づかずに伝える転送エージェントとして作動する。逆に、ＴＡＰコントローラ４は、通常はどんなフロー制御もせずに選択されたテストチェインを通過する単一のデータストリームを処理する。
【００２４】
テストモードにおけるＴＡＰコントローラ４の作動の大要を、図１及び図２を参照して説明する。図２においては、信号ＳＣＡＮＩＮはテストデータ入力信号ＴＤＩに直接接続しているが、一定の状況では、信号ＳＣＡＮＩＮは信号ＴＤＩの修正バージョンであってもよい。同様に、テストクロック信号ＴＥＳＴＣＬＫはテストクロック信号ＴＣＫに直接接続しているが、一定の状況では、信号ＴＣＫの修正バージョンであることが要求される。
【００２５】
作動のテストモードでは、テストデータ入力信号ＴＤＩとテストモード選択信号ＴＭＳは、テストクロック信号ＴＣＫの制御下でＴＡＰコントローラ４に直列形式で供給される。ステートマシン５０は、テストクロック信号ＴＣＫの各動作エッジでテストモード選択信号ＴＭＳの値に作用して、ＩＥＥＥ基準１１４９．１−１９９０によって定義されるようにその状態を反復させる。テストリセット信号ＴＲＳＴ＊は、ＩＥＥＥ基準１１４９．１−１９９０に応じた低ロジック状態にある時、ＴＡＰコントローラ４の非同期初期化を提供する。
【００２６】
命令レジスタ４４は、テストクロック信号ＴＣＫによってクロックされて、ステートマシン５０からのライン８２上の命令制御入力信号の制御下でテストデータ入力信号ＴＤＩから直列形式で命令をロードする。命令が、命令レジスタ４４内に直列にロードされると、この命令は、ステートマシン５０からのライン８４上のデコーダ制御入力信号の制御下で、命令バス６２を経由して命令デコーダ４６に並列に転送される。ここで記憶された命令に従って、命令デコーダ４６は、実行されるのがスキャンテストか或いは診断テストかに応じて信号ＳＣＡＮＭＯＤＥまたは信号ＤＩＡＧＭＯＤＥのいずれか一方を設定する。命令レジスタ４４及び命令デコーダ４６のローディングは、ＩＥＥＥ基準１１４９．１−１９９０に従ってステートマシン５０により制御される。命令デコーダ４６によってデコードされた命令に応じて、また、以下に更に説明するように、命令デコーダ４６のライン７０上の並列出力は、データマルチプレクサ５２を制御して、その入力の１つを出力ライン７４に接続する。同様に、ステートマシン５０のライン７８上の出力は、命令／データマルチプレクサ５２を制御して、その入力の１つをライン８０上の出力に接続する。
【００２７】
ＩＤレジスタ４２は、ライン１２上の並列の信号ＤＥＶＩＣＥＩＤを受信する。ＩＤレジスタ４２は、チップ識別子を記憶し、そのチップ識別子は、ＩＤレジスタ４２からライン６８を介してテストデータ出力信号ＴＤＯにスキャンされる。チップ識別子は集積回路２を識別する。
一つの作動モードにおいて、命令デコーダ４６によってデコードされた命令は、マルチプレクサ５２が制御されてライン６８上のその入力をライン７４上のその出力に接続し、また、命令／データマルチプレクサ５４が制御されてライン７４上のその入力をライン８０上のその出力に接続する場合に、装置の一致を単に出力するものでよい。そして、装置の一致は信号ＴＤＯとして直列に出力される。
【００２８】
作動の別のモードでは、ライン７６上の直列出力が命令／データマルチプレクサ５４によりライン８０に接続される場合に、テストデータ出力信号ＴＤＯに現行命令を出力することが要求される。
テスト作動の一つのモードでは、特定の集積回路２のＴＡＰコントローラ４がテストデータ入力信号ＴＤＩをテストデータ出力信号ＴＤＯに接続することだけが要求される。この作動モードでは、データマルチプレクサ５２が制御されてライン７２上のバイパスラッチ４８の出力をライン７４上の出力に接続し、命令／データマルチプレクサ５４が制御されてライン７４をライン８０上の出力に接続する。このように、テストデータ入力信号ＴＤＩは、ラッチ５６を介してテストデータ出力信号ＴＤＯに接続される。
【００２９】
ラッチ５６は単に、テストデータ出力信号ＴＤＯの時間制御をして、この信号がテストクロック信号ＴＣＫの立ち下がりエッジに同期できるようにするためにだけ設けられたフリップフロップである。
実行されるテストモードがスキャンテストモードの場合、命令デコーダ４６が信号ＳＣＡＮＭＯＤＥを設定する。データマルチプレクサ５２が命令デコーダ４６により制御されて、信号ＳＣＡＮＯＵＴを出力ライン７４に接続する。命令／データマルチプレクサ５４もまた制御されてライン７４をライン８０に接続して、信号ＳＣＡＮＯＵＴをテストデータ出力信号ＴＤＯとして出力する。このようなスキャンテストモード中では、テストデータは、テストデータ入力信号ＴＤＩと直接接続する信号ＳＣＡＮＩＮ上の選択されたスキャンチェイン内にスキャンされる。スキャンテスティング、特に境界スキャンテスティングは、ＩＥＥＥ基準１１４９．１−１９９０に十分に説明されている。実行されるテストに応じた付加制御信号が選択スキャンチェインに供給されて必要なテスト作動を実行する必要がある。
【００３０】
本実施形態では、命令デコーダ４６がライン２６上の信号ＤＩＡＧＭＯＤＥを設定する場合に診断モードに入る。更に、データマルチプレクサ５２が制御されてライン３６上の信号ＤＩＡＧＳＣＡＮＯＵＴをライン７４上の出力に接続する。これは、命令／データマルチプレクサ５４を介してライン８０に、またラッチ５６を介してテストデータ出力信号ＴＤＯに順次接続される。
【００３１】
診断モードにおいて、テストデータ入力信号ＴＤＩとテストデータ出力信号ＴＤＯとの間の直列データフローは、スキャンテストモードに対抗するものとしての無限の長さのシフトレジスタを通ると考えられる。このモードにおいて直列データフローは有限の長さのシフトレジスタ（シフトレジスタチェイン）を通る。診断モードでは、テストデータ入力信号ＴＤＩとしてテストアクセスポート内にシフトされた一連のビットパターンは、テストデータ出力信号としてテストアクセスポートの外にシフトされた一連のビットパターンに反映されない。診断データの通信は、ホストからターゲットへ及びターゲットからホストへ（読み出し及び書き込み）のメモリアクセス要求、ＣＰＵレジスタの状態情報、メモリアクセス要求に応答してホストメモリまたはターゲットメモリから読み出されたデータ、ＣＰＵレジスタ内にロードするための状態データ、及びターゲットＣＰＵによってアクセスされるメモリアドレスに関する情報を含む。このように、診断モードは、データの非割り込みモニタリングまたはデータの割り込みローディングを含む。
【００３２】
診断モードにおいて、テストアクセスポート内にシフトされた直列データは、任意の所望の手段、例えば、データチャンクを表す開始ビット及び停止ビットでエンコードできる単一方向直列データストリームである。同様に、テストアクセスポートを介してシフトアウトされたデータは、任意の所望の手段、例えば、データチャンクを表す開始ビット及び停止ビットでエンコードできる１方向直列データストリームである。通常、シフトインされたデータ及びシフトアウトされたデータは、同様の方法でエンコードされる。１方向入力及び出力データストリームは、全二重の２方向直列通信を可能にするために同時に使用される。一連の直列データビットは情報バイトを構成できる。
【００３３】
本実施形態において、通常テストモードに加えて作動の診断モードが提供されると、集積回路２には、図３に示すように、ＴＡＰコントローラ４とオン−チップソース／宛先ロジックとの間をインタフェースするデータアダプタ９０が備えられる。データアダプタ９０は、ＴＡＰコントローラ４からの入力として、ライン２８上のスキャンデータ入力信号ＳＣＡＮＩＮと、ライン３８上のテストクロック信号ＴＥＳＴＣＬＫと、ライン２６上の診断モードＤＩＡＧＭＯＤＥの選択を示す信号と、を受信する。データアダプタ９０は、ＴＡＰコントローラ４にライン３６上の信号ＤＩＡＧＳＣＡＮＯＵＴを出力する。データアダプタ９０は、ライン９２上の送信データバスＴＸＤＡＴＡのオン−チップソース／宛先ロジックからデータを受信し、ライン９４上の受信データバスＲＸＤＡＴＡのオン−チップソース／宛先ロジックにデータを出力する。データアダプタ９０は、ライン９６上の送信有効信号ＴＸＶＡＬＩＤを入力し、ライン９８上の送信肯定応答信号ＴＸＡＣＫを出力する。両信号は、送信データバスＴＸＤＡＴＡに関連する制御信号である。データアダプタ９０は、ライン１００上の受信有効信号ＲＸＶＡＬＩＤを出力し、ライン１０２上の受信肯定応答信号ＲＸＡＣＫを入力する。両信号は、受信データバスＲＸＤＡＴＡに関連する制御信号である。
データアダプタ９０は、受信シフトレジスタ１１４と、受信バッファ１１６と、受信制御ロジック１１０と、受信フロー制御状態フリップフロップ１２０と、送信フロー制御状態フリップフロップ１２４と、送信シフトレジスタ１１８と、送信制御ロジック１１２と、を含んで構成される。受信シフトレジスタ１１４は、ライン２８上の信号ＳＣＡＮＩＮと受信制御ロジック１１０からのライン１２６上の制御信号とを受信し、バス１３０上に並列データを出力して受信バッファ１１６への入力を形成する。受信バッファ１１６は、更に受信制御ロジック１１０からのライン１２８上の制御信号を受信し、ライン９４上に受信データバス信号ＲＸＤＡＴＡを発生する。受信制御ロジック１１０は、更にライン１００上に信号ＲＸＶＡＬＩＤを発生し、ライン１０２上の信号ＲＸＡＣＫを受信し、ライン２６上の信号ＤＩＡＧＭＯＤＥを受信し、ライン１３４及び１３２上に信号ＳＴＡＲＴＤＡＴＡ及びＡＣＫＲＸをそれぞれ発生する。受信フロー制御状態フリップフロップ１２０は、信号ＳＴＡＲＴＤＡＴＡとライン１３６上の信号ＴＸＳＥＮＤＡＣＫとを受信し、送信制御ロジック１１２への信号ＲＸＳＥＮＤＡＣＫをライン１４２上に出力する。送信フロー制御状態フリップフロップ１２４は、信号ＡＣＫＲＸとライン１３８上の信号ＴＸＳＥＮＤＢＹＴＥとを受信し、送信制御ロジック１１２への信号ＴＸＷＡＩＴＡＣＫをライン１４０上に出力する。送信制御ロジック１１２は、更にライン２６上の信号ＤＩＡＧＭＯＤＥとライン９６上の信号ＴＸＶＡＬＩＤとを受信し、信号ＴＸＡＣＫをライン９８上に、送信シフトレジスタ１１８への制御信号をライン１４４上に、並列信号ＳＥＲＣＯＮＴを送信シフトレジスタ１１８に出力する。送信シフトレジスタ１１８は、更にライン９２上の並列データバスＴＸＤＡＴＡを受信し、ライン３６上に信号ＤＩＡＧＳＣＡＮＯＵＴを出力する。
【００３４】
図にはその接続は示されてはいないが、データアダプタ９０には任意にオン−チップシステムクロックからの入力が供給される。データアダプタとオン−チップソース／宛先ロジックとの間のデータ及び制御信号が、オン−チップソース／宛先ロジックのクロックと同期する必要がある場合には、システムクロックは同期実行のために使用できる。データアダプタ９０は、信号ＴＥＳＴＣＬＫ（信号ＴＣＫから引き出された）によってクロックされたＴＡＰコントローラからソース／宛先ロジックの内部機能のクロック環境まで、また、ソース／宛先ロジックのクロック環境から信号ＴＥＳＴＣＬＫによってクロックされたＴＡＰコントローラまでの直列データの同期を実行する。図には示されていないが、ＴＡＰコントローラ４は任意にスキャンイネーブル信号をデータアダプタ９０に供給してもよい。このようなスキャンイネーブル信号は、ＴＡＰコントローラがテストデータ出力信号ＴＤＯへのデータ出力用スキャンパスを選択したことを示す。
【００３５】
データアダプタ９０は、ＴＡＰコントローラ４を介したオフ−チップからの１方向直列データをオン−チップソース／宛先ロジックで使用するのにより適したフォーマットに変換する。逆に、データアダプタ９０は、オン−チップソース／宛先ロジックにより供給されるデータフォーマットを１方向直列データに変換する。好ましい実施形態においては、並列８ビット又はバイトの形式でデータをオン−チップソース／宛先ロジックに供給するのが望ましい。しかしながら、特に受信データバスＲＸＤＡＴＡ及び送信データバスＴＸＢＵＳは、１バイト幅よりも１ビット幅のみでもよい。また、受信及び送信データバスＲＸＢＵＳとＴＸＢＵＳは、複数バイト幅のバスであってもよい。
【００３６】
データアダプタ９０は、受信及び送信の両データの「フロー制御」の機能を実行する。直列データは、受信端部がこのデータを受信できる容量を有してデータ損失または低下を防止する時は、ＴＡＰコントローラ４を（どちらの方向でも）単に通過するだけである。受信端部がより多くのデータを受信する用意があることの通信は、そのような情報を反対方向に送信することにより実行される。これはフロー制御プロトコルを構成する。本実施形態におけるデータアダプタ９０は、オン−チップソース／宛先ロジックとの通信のために１方向直列データの並列フォーマットへの変換を提供する。このように、フロー制御プロトコルはまた、データアダプタ９０とオン−チップソース／宛先ロジックとの間で必要である。
【００３７】
このように、このフロー制御は２つの境界、ＴＡＰコントローラ４とデータアダプタ９０との間の境界、及びデータアダプタ９０とこのデータアダプタ９０がインタフェースするオン−チップソース／宛先ロジックとの間の境界、を越えて実行される。
ＴＡＰコントローラ４とデータアダプタ９０との間のフロー制御を提供するには、テストデータ入力信号ＴＤＩライン及びテストデータ出力信号ライン上の１方向データが、図４(a) に示されるような開始及び停止ビットでエンコードされる。ビットフロー制御プロトコルは、２つの開始ビットＳ１及びＳ２、１つの停止ビットＥ１で信号を送るゼロ復帰方式（ＲＴＺ）である。開始ビットと停止ビットとの間にはデータのバイトが含まれる。このフォーマットの直列データは、ＴＡＰコントローラ４のテストデータ入力信号ＴＤＩからライン２８上の信号ＳＣＡＮＩＮまで通過してデータアダプタ９０に入力される。データアダプタ９０の受信制御ロジック１１０は、直列データ信号ＳＣＡＮＩＮを受信する。受信制御信号が２つの連続した直列ビットを開始ビットＳ１及びＳ２として認識すると、受信シフトレジスタ１１４がライン１２６上で制御されて、データバイトを内部で形成する次の連続した８ビットを直列にロードする。
【００３８】
２つの連続した開始ビットＳ１及びＳ２に応答して、受信制御ロジック１１０はまた、受信フロー制御状態フリップフロップ１２０を設定するライン１３４上の信号ＳＴＡＲＴＤＡＴＡを設定する。設定されると、受信フロー制御状態フリップフロップ１２０は、順次、ライン１４２上の信号ＲＸＳＥＮＤＡＣＫを設定し、この信号により、送信制御ロジック１１２は、図４(b) に示される形式でテストデータ出力信号ＴＤＯに肯定応答信号を送る。この肯定応答信号は、開始肯定応答ビットＡＣＫと停止ビットＥ１のみを含んで構成される。これらのビットは、ライン１４４上の信号の制御下でライン１５０上の信号ＳＥＲＣＯＮＴとして送信シフトレジスタ１１８に並列に直接ロードされ、信号ＤＩＡＧＳＣＡＮＯＵＴとして、図４(b) の直列形式で送信シフトレジスタ１１８から出力される。肯定応答信号が送られると、送信制御ロジック１１２は、ライン１３６上に信号ＴＸＳＥＮＤＡＣＫを設定して、受信フロー制御状態フリップフロップをリセットし、信号ＲＸＳＥＮＤＡＣＫをリセットする。
【００３９】
本実施形態で使用されるフロー制御プロトコルによれば、信号ＳＥＲＣＯＮＴは、開始ビットＳ１とＳ２及び停止ビットＥ１とを送信シフトレジスタ１１８内に直接ロードするのを許可する３ビット信号である。ＴＡＰコントローラ４を介して出力され、オン−チップソース／宛先ロジックによって示されるデータバイトが送信データバスＴＸＤＡＴＡ上に現れると、このデータバイトは送信制御ロジック１１２の制御下で送信シフトレジスタ１１８内に並列にロードされ、送信制御ロジック１１２は、図４(a) に示されるフォーマットの信号を直列にシフトする前に、信号ＳＥＲＣＯＮＴを形成する開始ビットＳ１、Ｓ２及び停止ビットＥ１を送信シフトレジスタ内の適宜なビット位置に直接ロードする。肯定応答信号を送ると、送信制御ロジック１１２は単一の開始ビットと停止ビットを送信シフトレジスタ１１８内に直接ロードしてから、それらを全て直列にシフトする。
【００４０】
受信制御ロジック１１０が信号ＳＣＡＮＩＮの停止ビットＥ１を受信すると、データバイトは受信シフトレジスタ１１４内にロードされ、受信制御ロジック１１０の制御下でデータバイトはバス１３０上を受信シフトレジスタ１１４から受信バッファ１１６まで転送される。データバイトが受信バッファ１１６内にロードされると、このデータバイトは、ライン１００上の信号ＲＸＶＡＬＩＤも設定する受信制御ロジック１１０の制御下でバスＲＸＤＡＴＡ上に出力される。信号ＲＸＶＡＬＩＤに応答して、オン−チップソース／宛先ロジックはＲＸＢＵＳ上のデータバイトを受け入れ、この受信をライン１０２上の信号ＲＸＡＣＫを設定することによって示す。信号ＲＸＡＣＫに応答して、受信制御ロジック１１０は、信号ＲＸＶＡＬＩＤをリセットし、受信シフトレジスタ１１４内に別のデータバイトがある場合は、信号ＲＡＶＡＬＩＤを再度設定する前にこれを受信バッファ１１６に転送する。
【００４１】
受信バッファ１１６が好ましい実施形態において提供される。これは、データの受信をオーバーラップする公知のトークンを２つの開始ビットが受信されるとすぐに送信させ、また、連続したバイトを、各バイトの間にどんな隙間もなしに転送させることによって、効果的なデータ転送速度を維持する。データバッファリングもまた送信側に設けることができる。
【００４２】
オン−チップソース／宛先ロジックは、データバイトをＴＸＤＡＴＡバス９２上のデータアダプタ９０に並列に転送する。オン−チップソース／宛先ロジックが、転送されるデータバイトを有している時は、ライン９６上の信号ＴＸＶＡＬＩＤが設定される。信号ＴＸＶＡＬＩＤが設定されるのに応答して、送信制御ロジック１１２が、ライン１４４を介して送信シフトレジスタ１１８を制御してＴＸＤＡＴＡバス上のデータバイトを並列にロードする。更に、ライン１５０を使用して、送信制御ロジック１１２は、適宜な開始ビットＳ１とＳ２及び停止ビットＥ１を送信シフトレジスタ１１８内にロードする。そして、再びライン１４４を介した送信制御ロジック１１２の制御下で、２つの開始ビットと１つの停止ビットを含むデータバイトが信号ＤＩＡＧＳＣＡＮＯＵＴとして送信シフトレジスタ１１８から外に直列にシフトされ、これはＴＡＰコントローラ４を介して信号ＴＤＯに接続される。バスＴＸＤＡＴＡ上のデータバイトがシフトレジスタ内にロードされると、送信制御ロジック１１２は、ライン９８上に信号ＴＸＡＣＫを設定してオン−チップソース／宛先ロジックへのデータバイトの受信の肯定応答をする。そして、オン−チップソース／宛先ロジックは別のデータバイトを送信できる。データバッファリングが、必要に応じて送信シフトレジスタ１１８と関連して提供される。
【００４３】
送信シフトレジスタ１１８が送信制御ロジック１１２に制御されて、図４(a) に示される形式の直列データを出力すると、送信制御ロジック１１２はまた、ライン１３８上に信号ＴＸＳＥＮＤＢＹＴＥを設定し、この信号は送信フロー制御状態フリップフロップ１２４を設定する。この信号に応答して、送信フロー制御状態フリップフロップ１２４はライン１４０上に信号ＴＸＷＡＩＴＡＣＫを設定する。信号ＴＸＷＡＩＴＡＣＫが設定されると、データバイトが受信されたことをオン−チップソース／宛先ロジックが肯定応答するのを送信制御ロジック１１２は待つ。オン−チップソース／宛先ロジックは送信データバイトをうまく受信すると、図４(b) に示されるタイプの肯定応答信号をテストデータ入力信号ＴＤＩに送る。ライン２８上の信号ＳＣＡＮＩＮのような肯定応答信号を受信すると、受信制御ロジック１１０は、ライン１３２上に信号ＡＣＫＲＸを設定して、送信フロー制御状態フリップフロップ１２４をリセットさせ、結果として信号ＴＸＷＡＩＴＡＣＫをリセットさせる。そして、送信制御ロジック１１２は、オン−チップソース／宛先ロジックからの次の並列データバイトの受信及び送信のための準備をする。
【００４４】
図５は、ホストメモリとターゲットメモリとの間の接続を確立するのにどのようにデータアダプタ９０を使用するかを系統図形式で示す。集積回路２は、相互の間をオフ−チップで通信し、また、上記信号を使用してオン−チップで回路と通信する、ＴＡＰコントローラ４とデータアダプタ９０とを含んで構成される。図５において、上述の信号に相当する信号には同様の参照符号を使用する。図５から明らかなように、集積回路２はまた、メモリバスアダプタ１６０と、ターゲットＣＰＵ１６２と、オン−チップメモリ１６４と、を含んで構成される。集積回路２には、ターゲットＣＰＵ１６２及びオン−チップメモリ１６４とインタフェースするメモリバス１６６が備えられる。メモリバス１６６はまた、オフ−チップメモリ１７４に接続する。オフ−チップのテストアクセスポート信号ＴＣＫ、ＴＭＳ、ＴＤＩ、ＴＤＯ及びＴＲＳＴ＊が、ＴＡＰコントローライニシャライザ１７６に接続しており、このＴＡＰコントローライニシャライザ１７６は、それ自体別のデータアダプタ１８０からライン１７８上の直列データ入力信号ＳＥＲＩＮを受信し、データアダプタ１８０へライン１７９上の直列データ出力信号ＳＥＲＯＵＴを出力する。この別のデータアダプタ１８０は、ライン１９０、１８８及び１８６上の信号ＥＸＴＲＸＤＡＴＡ、ＥＸＴＲＸＶＡＬＩＤ及びＥＸＴＴＸＡＣＫを、別のメモリバスアダプタ１９４に出力し、ライン１８４、１８２及び１９２上の信号ＥＸＴＴＸＤＡＴＡ、ＥＸＴＴＸＶＡＬＩＤ及びＥＸＴＲＸＡＣＫをメモリバスアダプタ１９４から受信する。メモリバスアダプタ１９４は外部メモリバス１９８に接続される。ホストＣＰＵ２００は、外部メモリバス１９８に接続され、別のオフ−チップメモリ２０２も外部メモリバス１９８に接続される。
【００４５】
ＴＡＰコントローライニシャライザ１７６は、テストモードか診断モードのいずれかの作動用のＴＡＰコントローラ４を構成する。メモリバスアダプタ１６０，１９４は、バスＲＸＤＡＴＡ上の並列データをオン−チップソース／宛先ロジックと通信するのにより適宜なメッセージフォーマットに調整する。このため、メモリバスアダプタはメッセージコンバータであって、英国特許出願第９６２２６８５．７号に開示されるタイプのメッセージコンバータである。メモリバスアダプタはまた、オン−チップソース／宛先ソースのメッセージフォーマットをバスＴＸＤＡＴＡの送信用の並列データバイトに変換する。
【００４６】
図５の構成は種々の診断手順に使用できる。オン−チップ及びオフ−チップ直列リンクが集積回路２とホストＣＰＵ２００との間の種々の異なるタイプの診断データの通信を可能にする。
ホストＣＰＵ２００は、オン−チップバスシステム１６６を使用してオン−チップメモリ１６４またはオフ−チップメモリ１７４にアクセスできるが、これにはターゲットＣＰＵ１６２を必要としない。このためには、ホストＣＰＵによりなされたメモリアクセス要求が、オフ−チップメモリバスアダプタ１９４と、データアダプタ１８０と、ＴＡＰコントローライニシャライザ１７６と、オン−チップＴＡＰコントローラ４と、データアダプタ９０と、メモリバスアダプタ１６０と、を含んで構成されるインタフェース回路を介して、ここに述べられる種々の変換を行って送信できる。同様に、オン−チップメモリ１６４またはオフ−チップメモリ１７４から読み出されたデータは、オン−チップバスシステム１６６とインタフェース回路とを介してホストＣＰＵに戻ることができる。逆に、ターゲットＣＰＵが、ホストＣＰＵに関連したオフ−チップメモリ２０２とアクセスできる。ホストＣＰＵ２００に関連したオフ−チップメモリ２０２から読み出されたデータも、同様にインタフェース回路を介して戻ることができる。
【００４７】
また、ターゲットＣＰＵが診断目的のために監視される。例えば、それ自体のメモリへのそのアクセスがオン−チップ回路によって監視され、アクセスされたメモリアドレスに関する情報がインタフェース回路を使用してホストＣＰＵに送信される。更に、ターゲットＣＰＵは、その状態を示す構成レジスタを含むか又はアクセスできる。これらのレジスタの内容に関する情報はオフ−チップでインタフェース回路を使用してホストＣＰＵに送信される。逆に、特定状態情報がこれらのレジスタ内にロードされてホストＣＰＵの命令下でターゲットＣＰＵの状況に影響を与える。
【００４８】
このように、ここで述べられるインタフェース回路は、ホストからターゲットへのまたターゲットからホストへの（読み出し及び書き込み）メモリアクセス要求、ＣＰＵレジスタの状態情報、メモリアクセス要求に応答したホストメモリまたはターゲットメモリからの読み出しデータ、ＣＰＵレジスタ内へロードするための状況データ及びターゲットＣＰＵによりアクセスされるメモリアドレスに関する情報を含む診断データの通信を可能にする。
【００４９】
このように、インタフェース回路は、以下の診断上の機能を回路内に提供できる。
リアルタイムの診断手順の実行機能、即ち、ターゲットＣＰＵがリアルタイムで作動すると同時に、その作動に割り込まずに診断手順を行う。特に、メモリバスの監視とターゲットメモリへのアクセスが、ターゲットＣＰＵを必要とせずにホストＣＰＵにより行える。
【００５０】
ホストＣＰＵからターゲットメモリ及び構成レジスタへのアクセス。
ターゲットＣＰＵからホストメモリへのアクセス。
ホストプロセッサからＣＰＵのブーティング操作を実行する機能を含む、ターゲットＣＰＵ及びサブシステムの制御。
【図面の簡単な説明】
【図１】本実施形態による接続点を有するテストアクセスポートコントローラを備えた集積回路を示す。
【図２】図１のテストアクセスポートコントローラを示す。
【図３】図２のテストアクセスポートコントローラに接続するための本実施形態によるデータアダプタを示す。
【図４】診断モードにおける図２のテストアクセスポートコントローラを介してオフ−チップ通信されたデータのデータフォーマットを示す。
【図５】図３のデータアダプタの実行を階層形状ブロック図で示す。
【図１】
0003998303.tif 000002
【図２】
0003998303.tif 000003
【図３】
0003998303.tif 000004
【図４】
0003998303.tif 000005
【図５】
0003998303.tif 000006