JP3929573B2 - 集積回路装置及びその通信方法 - Google Patents
集積回路装置及びその通信方法 Download PDFInfo
- Publication number
- JP3929573B2 JP3929573B2 JP30096097A JP30096097A JP3929573B2 JP 3929573 B2 JP3929573 B2 JP 3929573B2 JP 30096097 A JP30096097 A JP 30096097A JP 30096097 A JP30096097 A JP 30096097A JP 3929573 B2 JP3929573 B2 JP 3929573B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- chip
- bus
- serial
- memory
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
- G06F11/3648—Software debugging using additional hardware
- G06F11/3656—Software debugging using additional hardware using a specific debug interface
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/3181—Functional testing
- G01R31/3185—Reconfiguring for testing, e.g. LSSD, partitioning
- G01R31/318533—Reconfiguring for testing, e.g. LSSD, partitioning using scanning techniques, e.g. LSSD, Boundary Scan, JTAG
- G01R31/318572—Input/Output interfaces
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
- Microcomputers (AREA)
Description
【発明の属する技術分野】
本発明は集積回路装置とチップ境界を越えてこれと通信する方法とに関する。
【0002】
【従来の技術及び発明が解決しようとする課題】
本発明は、特に、これに限定されるものではないが、診断を目的とした通信の改良に関する。即ち、集積回路がプロセッサ等の埋め込まれた機能回路を有する場合、従来の診断技術を使用して機能回路のリアルタイム非割り込み監視を提供することは非常に困難である。機能回路はプロセッサである必要はなく、DMA(Direct Memory Access;直接メモリアクセス)エンジンを含む他の機能回路またはオン−チップキャッシュでもよい。
【0003】
従来、プロセッサ(CPU)は単一チップとして製造されており、メモリ等の全ての補助回路へのオフ−チップアクセスを必要とする。結果として、これらは複数のアクセスピンを有して、CPUに関する情報、特に、メモリアドレス情報がこれらのアクセスピンからいずれにしても外部的に入手できる。
メモリアドレス情報に加えて、プロセッサの内部状態に関する状態情報を入手して、例えば、割り込み、命令ストリームにおける変化、CPUの種々の状態レジスタにおけるフラグの設定等の事象を確認するのに使用できる。
【0004】
現今では、チップは複雑であり、オン−チップのプロセッサだけではなくその関連メモリや他の補助回路も含む。チップ上に複数のプロセッサを備えたり、或いは、少なくとも1つのプロセッサとDMA(直接メモリアクセス)エンジン、またはオン−チッププロセッサに関連するメモリにアクセスするためのEMI(External Memory Interface ;外部メモリインタフェース)を備える場合がある。このように、通常はオフ−チップ入手が可能な信号がもはやCPUの内部作動に関する直接表示を提供しないので、プロセッサ作動を監視するのはもはや単純なことではない。
【0005】
集積回路CPU上で実行するように設計されたソフトウエアの複雑さが増大するにつれて、ソフトウエアを適切にテストすることの重要性も増大する。これには、CPUがソフトウエアを実行するのと同時にCPUの作動を監視する技術を必要とする。ソフトウエアがリアルタイムで作動しながら非割り込みでモニタされることは特に煩わしい要件である。
【0006】
いわゆる診断又はデバッギング技術がこれを達成するために開発された。従来の1つの技術(ICE;回路内エミュレータ)は、オン−チップハードウエアにマッチし、このハードウエアに接続されるエミュレータボードの製造を必要とする。このように、オン−チップ接続がエミュレータにマップされるので、エミュレータ上でアクセスできる。しかしながら、エミュレータは構成が複雑かつ高価であり、いずれにしてもオン−チップ通信の速度または状態に十分にマッチできない。このため、優先するオン−チップ状態を正確にエミュレートすることは非常に困難である。
【0007】
他の従来技術では、論理状態アナライザ(LSA)を使用している。これは、全てのオフ−チップ通信状態を継続的に監視する集積回路のピンに接続される装置である。連続して発生する状態の各セットは記憶された後に分析できる。エミュレータよりは安いが、LSAは高価であるばかりではなく、記憶される莫大な数の連続して発生する状態セットから何らかの有用な情報を引き出すための多大な演繹と分析が必要である。オフ−チップで通信される状態信号を分析できるだけなので、オン−チップ状態に関する何らかの演繹または仮定を行うことが当然必要となる。
【0008】
更に近年では、埋め込まれたCPUの作動を監視する試みにおいて更なる開発がすすめられた。ある集積回路では、スキャンラッチチェインがオン−チップで提供されて、オン−チップTAPコントローラを使用してCPUのレジスタからデータを転送する。プロセスは破壊的なので、CPUが作動を継続する前にデータをCPUレジスタ内に戻して読み込ませる必要がある。このように、これを実行するには、CPUを停止させてそのレジスタから状態情報を抽出する必要がある。このため、これはソフトウエアがリアルタイムで監視されなければならないという要求を満足させるものではない。いくつかのケースでは、CPUの停止がソフトウエアの作動する方法を変化させるので、リアルタイムで目に見えるバグが、CPUがそのポイントで停止すると表れない。
【0009】
更に、テストスキャンが完了するのを待ってCPUレジスタからのすべてのスキャンデータをオフ−チップに送信する必要があるので、監視プロセスがゆっくりである。
このため、本発明は外部通信オフ−チップのための機能を増大させて改良された診断手順を実行させることを目的とする。
【0010】
オフ−チップホストプロセッサに、オン−チップターゲットプロセッサまたは他のオン−チップ機能と情報を共有させ、前記ターゲットプロセッサまたは他のオン−チップ機能で制御させ、または、前記ターゲットプロセッサまたは他のオン−チップ機能と通信させる種々の機構がある。しかしながら、これらの機構は、これらがリアルタイムまたは非割り込み診断に特に適してはいないという意味で不都合がある。
【0011】
1つの構成において、共通メモリバスはオフ−チップメモリとオン−チップメモリとを接続してこれらのリソースがホストプロセッサ及びターゲットプロセッサによって共有される可能性があるようにする。しかしながら、これには、境界でバス接続を実施するためにチップ境界で多数のコネクタピンが要求される。更に、本構成において許される共有スキーマに応じてメモリ仲介ロジックが要求される。チップ境界にはバッファリングが必要であり、これは実行と待ち時間の中間状態を可能にする。また、このような構成は、全てのアクセスが割り込みなので、非割り込み診断を考慮していない。
【0012】
別の構成では、オフ−チップホストプロセッサは、少数のコネクタピンを持つ通信ラインによってオン−チップターゲットプロセッサと直接通信する。しかしながら、これは、通信要件を処理するためにオン−チップターゲットプロセッサまたは他の機能回路を増加させて、使用する際に実行ペナルティを招くようにすることが要求される。また、ホストプロセッサは、ターゲットプロセッサのアドレススペース内のオン−チップメモリにアクセスして、ターゲットプロセッサにこのメモリアクセスをさせるだけである。このように、メモリアクセスを含むどんな診断手順も当然割り込みである。
【0013】
さらに別の構成はUART(Universal Asynchronous Receiver Transmitter)を介して通信する。この構成では、オフ−チップホストは直列/並列コンバータを介してオン−チップ機能回路と通信する。直列/並列変換は、ホストからターゲットへの情報を通過させるために生じ、並列/直列変換は逆方向に生じる。コンバータとターゲットとの間の接続点はオン−チップバスシステムの並列バス形成部分である。
【0014】
また別の構成は、直列メモリアクセス(DMA)を備えたオン−チップ周辺機器として直列/並列コンバータを提供する。この構成において、オフ−チップホストはDMAを備えた直列/並列コンバータを介してオン−チップターゲットと通信する。直列/並列変換はホストからターゲットへの情報を通過させるために生じ、並列/直列変換は逆方向に生じる。コンバータとターゲットとの間の接続はオン−チップバスシステムによって提供される。しかしながら、これは、オン−チップターゲットにコンバータを制御させてその状態を監視させる並列パスと、データをホストとターゲットのメモリとの間のいずれかの方向に通過させるパスとが本質的に要求される。
【0015】
コンバータ自体は変換の殆どを行って、オン−チップターゲットの実行が影響を受けないようにする。しかしながら、オン−チップターゲットはデータ転送の開始及び終了時に必要とされる。データ転送の開始時には、オン−チップターゲットは、コンバータを作動可能にすることによって制御して、メモリ内において、ホストと通信する情報にアクセスする場所、通過させる情報の量及びその方向を指示をする。ホストからのデータの転送終了時には、オン−チップターゲットは、ターゲットメモリ内に記憶された情報の要求がある場合でも、供給されたデータに基づいて動作しなければならない。
【0016】
したがって、パケットの入力及び出力は、オン−チップターゲットに必然的に影響を及ぼす。
【0017】
【課題を解決するための手段】
本発明の一態様によれば、
並列データの通信をオン−チップで実行するバスシステムと、
該バスシステムに接続されて、そのバスシステムから受信される並列データに応答して作動を実行する機能回路と、
直列データ入力コネクタと直列データ出力コネクタとを含んで構成され、外部装置と集積回路装置との間に、前記機能回路によって実行される作動を定義するデータパケット及び情報の性質を示すパケット識別子をそれぞれ含む直列データパケットを供給する外部ポートと、
前記並列バスシステムと前記外部ポートを相互に接続し、前記外部ポートを介して入力される直列パケットのパケット識別子を読み出すとともに、これらの直列パケットを、前記パケット識別子によって識別されたパケットの性質に応じて前記バスシステムに供給するための並列データに変換するように作動可能である直列/並列データパケットコンバータと、を含んで構成され、
前記直列パケットの並列データへの直列/並列変換が、前記機能回路を必要とせずに実行され、前記並列データが、前記機能回路に対して、変換された前記直列パケットに含まれる前記情報に応じて作動を実行させることを特徴とする単一チップ集積回路装置を提供する。
【0018】
また、前記データパケットコンバータは、並列データを直列データパケットに変換するとともに、前記バスシステムから受信した情報に従って、前記バスシステムからの並列データから変換された前記直列パケットに、タイプ識別子を配分するように作動可能としてもよい。
パケット識別子は、パケットの長さまたはパケットのタイプまたはその両方を表示することができる。パケット識別子が長さを識別する場合、データパケットコンバータは、パケット識別子からの直列データパケットの長さを決定する長さ識別回路を含んで構成される。
【0019】
パケット識別子がタイプを識別する場合、データパケットコンバータは、直列データパケットによって伝達されるメッセージのタイプをパケット識別子から決定するとともに特定の並列データを前記バスシステムに供給することによって前記メッセージを実行するメッセージ識別回路を含んで構成される。
前記バスシステムは、複数の並列バスを含んで構成され、前記データパケットコンバータは、パケット識別子により識別されたメッセージの性質に応じて、前記並列バスのうちの選択された1つに並列データを供給するように作動可能としてもよい。
【0020】
前記機能回路は、プロセッサでもよい。代わりにまたは付加的に、前記機能回路は、チップにローカルなメモリにアクセスするメモリインタフェース回路を含んで構成することもできる。この場合、少なくとも1つのバスは、メモリアクセスが外部装置からローカルメモリに実行できるアドレスライン、データライン及び制御ラインを含んで構成されるメモリバスである。
【0021】
集積回路装置は、複数のオン−チップレジスタを有することができる。この場合、少なくとも1つのバスはレジスタにアクセスするためのレジスタアクセスバスである。メモリバスかレジスタアクセスバスかの選択はメモリアクセス要求のアドレスによってなされる。並列データが、アドレスに従ってバスのうちの適宜なバスに供給される。
【0022】
オン−チップレジスタは、バスシステムから制御レジスタ内にロードされた並列データに応じて、オン−チップ機能回路の正常作動に割り込む制御レジスタを有する。
本発明は、外部装置が外部デバッギングホストを含んで構成されるような診断環境において特に有用である。このように外部ポートは、外部デバッギングホストからオン−チップ機能回路への命令をデバッグするための外部直列通信リンクを提供する。
【0023】
本発明は、直列データの入力コネクタ及び出力コネクタが、単一ワイヤをわたって各方向に直列パケットを送信するための単一ピンをそれぞれ含んで構成される場合に特に有効である。しかしながら、本発明はまた、並列データが供給されるバスシステムのビット幅より少ない数の接続ワイヤによってオフ−チップで直列データが送信される場合にも有効に使用できる。幅の広い並列バスをオフ−チップで接続する必要性が排除されることは本発明の重要な面である。
【0024】
外部装置には、該外部装置にローカルな別のメモリが設けられてもよい。この場合の外部ポートは、オン−チップ機能回路に対して、そのローカルメモリに加えて前記別のメモリにアクセスさせるように作動可能な接続点を提供する。
機能回路がコードを実行できるプロセッサである場合、ここで説明されるパケットコンバータは、命令コードを外部ポートを介して外部装置からプロセッサ用のローカルメモリ内に供給して、プロセッサが、外部装置によって制御されて外部装置から供給される命令コードを実行できるようにする。
【0025】
診断制御回路は、並列バスシステムに接続されたチップ上に設けることができ、前記外部ポートを介したオフ−チップ供給のためにバスシステムに診断情報を送信するように作動可能とすることができる。また、この回路は、診断目的のためのオン−チップレジスタにアクセスできるとともにオン−チップレジスタを制御できる。
【0026】
本発明の別の態様によれば、
オン−チップバスシステムに接続され、該バスシステムから受信される並列データに応答して作動を実行する機能回路を含んで構成された単一チップ集積回路装置と、外部装置との間の通信を実行する方法であって、
前記外部装置において、前記機能回路によって実行される作動を定義する直列データパケット及び情報についての性質を示すパケット識別子をそれぞれ含んだ直列データパケットを公式化し、
前記単一チップ集積回路装置の外部ポートの直列入力コネクタを介して前記直列データパケットを送信し、
前記直列入力コンバータを介して前記外部装置から供給された直列パケットの前記パケット識別子を読み出して、該パケット識別子によって識別されたパケットの性質に応じて、前記機能回路を必要とせずに前記直列データパケットを並列データに変換し、
前記並列データを前記バスシステムを介して前記機能回路に供給して、前記機能回路に前記直列パケットに含まれる前記情報に応じた作動を実行させる、
ことからなる通信方法が提供される。
【0027】
パケット識別子が各直列パケットの長さを示す場合、これは直列/並列変換の制御に使用されて、パケットの長さがバスシステムのビット幅より大きいビット長さを持つとして識別されると、直列パケットがバスシステム上に順次配置される連続した並列データセットに変換される。このように、1つの直列パケットがバスタイムの1サイクル以上を要して並列バス上に変換される。
【0028】
上記のように、パケットコンバータは、一方では、パケット通信プロトコルを使用してチップ境界における制限された数のピンを介してポートと通信し、他方では、「並列バスシステム」を介して種々のオン−チップ「リソース」と通信するターゲットチップ上に挿入される。パケットコンバータは、ホストと1つのオン−チップリソースとの間のインターフェースとして、他のオン−チップリソースを必要とすることなく、また、影響を与えることなく作動する。パケット通信は、ホストによって、または、ターゲットリソースのうちの1つによって開始されてもよい。
【0029】
パケット通信プロトコルの正確な形式は重要ではないが、プロトコルはいずれかの方向に通過する情報にオーバヘッドを加える。例えば、通過する情報の完全な状態を保証するフロー制御についての何らかの形式のようなものである。各パケットは、1方向を通過する情報を含むメッセージを含んで構成され、また、通過するパケットにどのような変換をパケットコンバータが実行するかを決定するパケット識別子を含む。
【0030】
オン−チップリソースとパケットコンバータとの間に複数の接続点がある場合、ホストからのパケットはどの接続点を使用するかを決定するアドレスを含む。パケット識別子は、パケットの長さに関する情報を含むことができる。これは、要求されたバスサイクルの数を制御するために並列バスシステム上を1サイクルで転送できるより多くの情報を、パケットが含む場合に有用である。
【0031】
パケット識別子は、応答が予測されるかどうかの決定をするための情報を含んでもよい。パケットコンバータは、単にこの情報を通過させるだけか、または、この情報を記憶して応答を待つ。
このように、パケット識別子は、パケットを4タイプのパケットの1つに類別する。この情報は上記のように(変換または予測される応答のために)使用できるか、または、単に通過する。4タイプのパケットは以下のとおりである。
【0032】
a)パケットが、イニシエータから受信部までを通過する順方向の情報を含む(これは「poke」または書き込みとして参照される)。
b)パケットが、次のパケット内を受信部からイニシエータまで戻って通過する逆方向の情報の要求である(これは「peek」または読み出し要求として参照される)。
【0033】
c)パケットが、前回要求パケットに応答して通過する逆方向の情報である(これは「peeked」、読み出しデータまたは読み出し応答として参照される)。
d)パケットが、特定事象のタイミングに関する情報についての制御ポイントを示し、事象のソースまたは宛先を含む(これはトリガまたは事象として参照される)。
【0034】
特に、オン−チップバスシステムは、オン−チップメモリ、外部メモリインタフェースを介したオフ−チップメモリ、オン−チップ自律機能(例えばCPU)、他のオン−チップ機能、さらに適宜なインタフェースを介したオフ−チップ機能等の他のリソースとアクセスする手段を提供する。オン−チップバスシステムは、アクセス手段を提供するものとして知られる、任意のアービトレーション、経路指定、変換、中間ストレージ及びバッファリングを含む。
【0035】
本発明で記載される実施例では、オン−チップリソースを監視し、制御し、又は監視及び制御することができる。リソースがストレージ又はメモリの場合、監視は読み出しで行われ、制御は書き込みで行われる。リソースがCPU等のオン−チップ自律機能の場合、監視は、レジスタ及び状態が参照できることを提供し、制御は、開始(ブーティング)、停止及び転換(事象、割り込みまたはトラップを使用)を含む。いくつかのリソースは、ホストから自律または独立して、ホストとの通信を開始する。リソースの監視は非割り込みであり、チップのどんな機能の実行または待ち時間に何の影響も与えない。これは、システムの高い実行性や診断目的にとって理想的である。
【0036】
好ましい実施例において、本発明は診断手順を実行するのに特に有用な以下の特徴を提供する。
1.リアルタイム診断をサポートするための、ホストプロセッサから独立した、プライベートリンクを備えた(メッセージコンバータ形式の)ハードウエア2.ホストプロセッサからターゲットメモリ及び診断レジスタへのアクセス
3.ターゲットプロセッサから診断機能へのアクセス
4.ターゲットからホストメモリへのアクセス
5.ホストからターゲットプロセッサをブートするための機能を有するターゲットプロセッサとサブシステムの制御
【0037】
【発明の実施の形態】
本発明を更に理解し、どのように実施するかを添付の図面を参照して説明する。
図1は、テストアクセスポート(TAP)コントローラ4とチップ境界スキャンチェイン10とを有する集積回路2を概略的に示す。TAPコントローラ4は、ライン14上のテストクロック信号TCKと、ライン16上のテストモード選択信号TMSと、ライン18上のテストデータ入力信号TDIと、ライン22上のテストリセット入力信号TRST*と、をオフ−チップから受信する。TAPコントローラ4は、ライン20上のテストデータ出力信号TDOをオフ−チップに出力する。TAPコントローラ4はまた、ライン12上の装置識別子信号DEVICEIDを受信する。図1において、装置識別子信号DEVICEIDは、集積回路内でアースに接続された信号ライン12として示される。信号ライン12はマルチビットワイヤでよく、また、装置識別子信号DEVICEIDは集積回路上またはオフ−チップ上のいずれかから発生できる。信号ライン12がマルチビットワイヤの場合には、各ビットがチップ上の低レベルロジックまたは高レベルロジックのいずれかに接続される。TAPコントローラ4は、ライン28上のスキャンデータ入力信号SCANINと、ライン38上のテストクロック信号TESTCLKと、ライン24上のスキャンテストモードSCANMODEの選択を示す信号と、をライン26上の診断モードDIAGMODEの選択を示す信号と、をオン−チップ回路に出力する。チップ境界スキャンチェイン10は、ライン28上のスキャンデータ入力信号SCANINと、ライン24上のスキャンテストモード信号SCANMODEと、を入力として受信し、ライン34上のスキャンデータ出力信号SCANOUTをTAPコントローラ4に出力する。本発明では、ライン28上のスキャンデータ入力信号SCANINはまた、後述するように、診断のためにオン−チップソース/宛先ロジックに接続される。本発明では、ソース/宛先ロジックは、入力信号DIAGSCANOUTをライン36上でTAPコントローラ4に供給する。
【0038】
以下に詳細に説明する図5は、ソース/宛先ロジックを構成する構成要素を示す。ソース/宛先ロジックは、少なくともオン−チップバスシステムに接続されるプロセッサであり、オン−チップバスシステムはこれに接続されたオン−チップメモリを有する。オフ−チップメモリもまたこのようなバスシステムに直接接続できる。オン−チップソース/宛先ロジックはまた、DMAエンジン又はEMIインタフェースを備えた他の機能回路を持つ。
【0039】
TAPコントローラ4は、標準演算に必要であり且つ本発明で要求される回路ブロックを備えて図2に概略的に示される。図2を参照すると、TAPコントローラ4はその基本形式において、ステートマシン50と、IDレジスタ42と、命令レジスタ44と、命令デコーダ46と、バイパスラッチ48と、データマルチプレクサ52と、命令/データマルチプレクサ54と、ラッチ56と、インバータ60と、を含んで構成される。命令レジスタ44は、ライン18上のテストデータ入力信号TDIを受信し、バス62への並列命令とライン76上への直列出力とを発生し、また、ライン82上の命令制御入力信号を受信する。命令デコーダ46は、バス62上の並列命令とライン84上のデコーダ制御入力信号とを受信して、信号SCANMODE及び信号DIAGMODEをライン24及び26それぞれに、また、ライン70上に並列データマルチプレクサ選択信号を発生する。バイパスラッチ48は、ライン18上のテストデータ入力信号TDIを受信し、ライン72上に出力信号を発生する。IDレジスタ42は、ライン12上の並列の信号DEVICEIDを受信し、ライン68上に直列の装置識別子出力信号を発生する。データマルチプレクサ52は、ライン68上のIDレジスタ42の出力信号と、ライン72上のバイパスラッチ48の出力信号と、ライン34上の信号SCANOUTと、ライン36上の信号DIAGSCANOUTと、ライン70上のデータマルチプレクサ選択信号と、を受信する。データマルチプレクサ52は、ライン74上に出力を発生する。命令/データマルチプレクサ54は、ライン76上の直列出力と、ライン74上のデータマルチプレクサの出力と、ライン78上の命令/データマルチプレクサ選択信号と、を受信する。命令/データマルチプレクサ54は、ライン80上に出力を発生する。ラッチ56は、ライン80上の命令/データマルチプレクサ54の出力を受信し、ライン20上にテストデータ出力信号TDOを発生する。ステートマシン50は、ライン16上の信号TMSと、ライン22上の信号TRST*と、を受信する。ステートマシン50は、ライン78への命令/データマルチプレクサ選択信号と、ライン82への命令制御入力信号と、ライン84へのデコーダ制御入力信号と、を発生する。IDレジスタ42、命令レジスタ44、命令デコーダ46、バイパスラッチ48、ステートマシン50、及びデータコンバータ57は、それぞれライン14上のテストクロック信号TCKを受信する。ラッチ56は、ライン64上のインバータ60を介して反転されたテストクロック信号TCKを受信する。テストクロック信号TCKとテストデータ入力信号TDIは、ライン38の出力TESTCLK及びライン28の出力SCANINとしてそれぞれ直接接続される。
【0040】
集積回路2のテストを実行する際のTAPコントローラ4の作動は、IEEE1149.1−1990に詳細に説明されている。本質的に、有限長さのスキャンチェインは、チップ境界スキャンチェイン10によって形成されるチェインのように集積回路上で形成される。
TAPコントローラ4は、IEEE基準1149.1−1990によって定義される同期有限ステートマシンである。IEEE基準1149.1−1990は、集積回路に含むことのできるテストロジックを定義して、集積回路間の相互接続のテスト、集積回路自体のテスト、集積回路の通常作動中における回路動作の監視又は修正の標準的な方法を提供する。
【0041】
集積回路2の通常作動中、TAPコントローラ4は、リセット状態にあり、その入力と出力は全て非作動である。IEEE基準1149.1−1990によるテストアクセスポートを使用したテストを実行する場合、TAPコントローラは前記基準の定義に従って作動する。このようなテストモードでは、TAPコントローラ4は少なくとも1つの作動のテストモードを選択できる。1つの可能なテストモードはスキャンテストモードであり、これはライン24上の信号SCANMODEを設定することにより選択される。スキャンテストモードでは、集積回路2上のスキャンチェインがテストのために選択される。本実施形態において、チップ境界スキャンチェイン10が信号SCANMODEによって選択される。このようなスキャンテストは、単にスキャンチェインの一端にデータを入力し、同一データがスキャンチェインの他端で出力されることを確認するためにチェックをすることを含む。或いは、オン−チップの機能ロジックに入力されるデータをスキャンし、1以上のクロックサイクルでチップを機能的にクロックして、機能ロジックの出力をスキャンするような、より複雑なスキャン操作を実行できる。オン−チップの任意の接続点または回路をテスト用に接続してスキャンチェインを形成できる。チップ境界スキャンチェイン10は、テストモードで制御されて集積回路2の全ての入力/出力ポートを接続する一連のフリップフロップである。このようなスキャンテスティングの完全な理解はIEEE基準1149.1−1990を参照することから求められる。スキャンテスティングをどのように実行するかの特定の例として、ヨーロッパ特許出願公開第0698890号、第0702239号、第0702240号、第0702241号、第0702242号、第0702243号、第0709688号が挙げられる。
【0042】
IEEE基準1149.1−1990のテストアクセスポートを使用する公知のテストモードの特徴は、スキャンチェインが有限の長さか又は閉ループであること、また、テストデータ出力信号TDOがテストデータ入力信号TDIに依存するとともに、テストデータ入力信号との時間関係を持つことである。
本実施形態では、作動の診断モードは、IEEE基準1149.1−1990と一致するオン−チップのソース/宛先ロジックの診断手順を実行するために提供される。このような診断テストモードでは、テストデータ出力信号TDOはテストデータ入力信号TDIに依存しないので、このテストデータ入力信号との時間関係を持たない。テストデータ入力信号TDIとテストデータ出力信号TDOとの間のチェインは、無限の長さまたは開ループであると考えられる。診断モードでは、TAPコントローラ4は、全ての正常な機能を提供しながら、付加的に全二重の、フロー制御された、束縛されない直列データを、これがデータの形式であるとは気づかずに伝える転送エージェントとして作動する。逆に、TAPコントローラ4は、通常はどんなフロー制御もせずに選択されたテストチェインを通過する単一のデータストリームを処理する。
【0043】
テストモードにおけるTAPコントローラ4の作動の大要を、図1及び図2を参照して説明する。図2においては、信号SCANINはテストデータ入力信号TDIに直接接続しているが、一定の状況では、信号SCANINは信号TDIの修正バージョンであってもよい。同様に、テストクロック信号TESTCLKはテストクロック信号TCKに直接接続しているが、一定の状況では、信号TCKの修正バージョンであることが要求される。
【0044】
作動のテストモードでは、テストデータ入力信号TDIとテストモード選択信号TMSは、テストクロック信号TCKの制御下でTAPコントローラ4に直列形式で供給される。ステートマシン50は、テストクロック信号TCKの各動作エッジでテストモード選択信号TMSの値に作用して、IEEE基準1149.1−1990によって定義されるようにその状態を反復させる。テストリセット信号TRST*は、IEEE基準1149.1−1990に応じた低ロジック状態にある時、TAPコントローラ4の非同期初期化を提供する。
命令レジスタ44は、テストクロック信号TCKによってクロックされて、ステートマシン50からのライン82上の命令制御入力信号の制御下でテストデータ入力信号TDIから直列形式で命令をロードする。命令が、命令レジスタ44内に直列にロードされると、この命令は、ステートマシン50からのライン84上のデコーダ制御入力信号の制御下で、命令バス62を経由して命令デコーダ46に並列に転送される。ここで記憶された命令に従って、命令デコーダ46は、実行されるのがスキャンテストか或いは診断テストかに応じて信号SCANMODEまたは信号DIAGMODEのいずれか一方を設定する。命令レジスタ44及び命令デコーダ46のローディングは、IEEE基準1149.1−1990に従ってステートマシン50により制御される。命令デコーダ46によってデコードされた命令に応じて、また、以下に更に説明するように、命令デコーダ46のライン70上の並列出力は、データマルチプレクサ52を制御して、その入力の1つを出力ライン74に接続する。同様に、ステートマシン50のライン78上の出力は、命令/データマルチプレクサ52を制御して、その入力の1つをライン80上の出力に接続する。
【0045】
IDレジスタ42は、ライン12上の並列の信号DEVICEIDを受信する。IDレジスタ42は、チップ識別子を記憶し、そのチップ識別子は、IDレジスタ42からライン68を介してテストデータ出力信号TDOにスキャンされる。チップ識別子は集積回路2を識別する。
一つの作動モードにおいて、命令デコーダ46によってデコードされた命令は、マルチプレクサ52が制御されてライン68上のその入力をライン74上のその出力に接続し、また、命令/データマルチプレクサ54が制御されてライン74上のその入力をライン80上のその出力に接続する場合に、装置の一致を単に出力するものでよい。そして、装置の一致は信号TDOとして直列に出力される。
【0046】
作動の別のモードでは、ライン76上の直列出力が命令/データマルチプレクサ54によりライン80に接続される場合に、テストデータ出力信号TDOに現行命令を出力することが要求される。
テスト作動の一つのモードでは、特定の集積回路2のTAPコントローラ4がテストデータ入力信号TDIをテストデータ出力信号TDOに接続することだけが要求される。この作動モードでは、データマルチプレクサ52が制御されてライン72上のバイパスラッチ48の出力をライン74上の出力に接続し、命令/データマルチプレクサ54が制御されてライン74をライン80上の出力に接続する。このように、テストデータ入力信号TDIは、ラッチ56を介してテストデータ出力信号TDOに接続される。
【0047】
ラッチ56は単に、テストデータ出力信号TDOの時間制御をして、この信号がテストクロック信号TCKの立ち下がりエッジに同期できるようにするためにだけ設けられたフリップフロップである。
実行されるテストモードがスキャンテストモードの場合、命令デコーダ46が信号SCANMODEを設定する。データマルチプレクサ52が命令デコーダ46により制御されて、信号SCANOUTを出力ライン74に接続する。命令/データマルチプレクサ54もまた制御されてライン74をライン80に接続して、信号SCANOUTをテストデータ出力信号TDOとして出力する。このようなスキャンテストモード中では、テストデータは、テストデータ入力信号TDIと直接接続する信号SCANIN上の選択されたスキャンチェイン内にスキャンされる。スキャンテスティング、特に境界スキャンテスティングは、IEEE基準1149.1−1990に十分に説明されている。実行されるテストに応じた付加制御信号が選択スキャンチェインに供給されて必要なテスト作動を実行する必要がある。
【0048】
本実施形態では、命令デコーダ46がライン26上の信号DIAGMODEを設定する場合に診断モードに入る。更に、データマルチプレクサ52が制御されてライン36上の信号DIAGSCANOUTをライン74上の出力に接続する。これは、命令/データマルチプレクサ54を介してライン80に、またラッチ56を介してテストデータ出力信号TDOに順次接続される。
【0049】
診断モードにおいて、テストデータ入力信号TDIとテストデータ出力信号TDOとの間の直列データフローは、スキャンテストモードに対抗するものとしての無限の長さのシフトレジスタを通ると考えられる。このモードにおいて直列データフローは有限の長さのシフトレジスタ(シフトレジスタチェイン)を通る。診断モードでは、テストデータ入力信号TDIとしてテストアクセスポート内にシフトされた一連のビットパターンは、テストデータ出力信号としてテストアクセスポートの外にシフトされた一連のビットパターンに反映されない。診断データの通信は、ホストからターゲットへ及びターゲットからホストへ(読み出し及び書き込み)のメモリアクセス要求、CPUレジスタの状態情報、メモリアクセス要求に応答してホストメモリまたはターゲットメモリから読み出されたデータ、CPUレジスタ内にロードするための状態データ、及びターゲットCPUによってアクセスされるメモリアドレスに関する情報を含む。このように、診断モードは、データの非割り込みモニタリングまたはデータの割り込みローディングを含む。
【0050】
診断モードにおいて、テストアクセスポート内にシフトされた直列データは、任意の所望の手段、例えば、データチャンクを表す開始ビット及び停止ビットでエンコードできる単一方向直列データストリームである。同様に、テストアクセスポートを介してシフトアウトされたデータは、任意の所望の手段、例えば、データチャンクを表す開始ビット及び停止ビットでエンコードできる1方向直列データストリームである。通常、シフトインされたデータ及びシフトアウトされたデータは、同様の方法でエンコードされる。1方向入力及び出力データストリームは、全二重の2方向直列通信を可能にするために同時に使用される。一連の直列データビットは情報バイトを構成できる。
【0051】
本実施形態において、通常テストモードに加えて作動の診断モードが提供されると、集積回路2には、図3に示すように、TAPコントローラ4とオン−チップソース/宛先ロジックとの間をインタフェースするデータアダプタ90が備えられる。データアダプタ90は、TAPコントローラ4からの入力として、ライン28上のスキャンデータ入力信号SCANINと、ライン38上のテストクロック信号TESTCLKと、ライン26上の診断モードDIAGMODEの選択を示す信号と、を受信する。データアダプタ90は、TAPコントローラ4にライン36上の信号DIAGSCANOUTを出力する。データアダプタ90は、ライン92上の送信データバスTXDATAのオン−チップソース/宛先ロジックからデータを受信し、ライン94上の受信データバスRXDATAのオン−チップソース/宛先ロジックにデータを出力する。データアダプタ90は、ライン96上の送信有効信号TXVALIDを入力し、ライン98上の送信肯定応答信号TXACKを出力する。両信号は、送信データバスTXDATAに関連する制御信号である。データアダプタ90は、ライン100上の受信有効信号RXVALIDを出力し、ライン102上の受信肯定応答信号RXACKを入力する。両信号は、受信データバスRXDATAに関連する制御信号である。
【0052】
データアダプタ90は、受信シフトレジスタ114と、受信バッファ116と、受信制御ロジック110と、受信フロー制御状態フリップフロップ120と、送信フロー制御状態フリップフロップ124と、送信シフトレジスタ118と、送信制御ロジック112と、を含んで構成される。受信シフトレジスタ114は、ライン28上の信号SCANINと受信制御ロジック110からのライン126上の制御信号とを受信し、バス130上に並列データを出力して受信バッファ116への入力を形成する。受信バッファ116は、更に受信制御ロジック110からのライン128上の制御信号を受信し、ライン94上に受信データバス信号RXDATAを発生する。受信制御ロジック110は、更にライン100上に信号RXVALIDを発生し、ライン102上の信号RXACKを受信し、ライン26上の信号DIAGMODEを受信し、ライン134及び132上に信号STARTDATA及びACKRXをそれぞれ発生する。受信フロー制御状態フリップフロップ120は、信号STARTDATAとライン136上の信号TXSENDACKとを受信し、送信制御ロジック112への信号RXSENDACKをライン142上に出力する。送信フロー制御状態フリップフロップ124は、信号ACKRXとライン138上の信号TXSENDBYTEとを受信し、送信制御ロジック112への信号TXWAITACKをライン140上に出力する。送信制御ロジック112は、更にライン26上の信号DIAGMODEとライン96上の信号TXVALIDとを受信し、信号TXACKをライン98上に、送信シフトレジスタ118への制御信号をライン144上に、並列信号SERCONTを送信シフトレジスタ118に出力する。送信シフトレジスタ118は、更にライン92上の並列データバスTXDATAを受信し、ライン36上に信号DIAGSCANOUTを出力する。
【0053】
図にはその接続は示されてはいないが、データアダプタ90には任意にオン−チップシステムクロックからの入力が供給される。データアダプタとオン−チップソース/宛先ロジックとの間のデータ及び制御信号が、オン−チップソース/宛先ロジックのクロックと同期する必要がある場合には、システムクロックは同期実行のために使用できる。データアダプタ90は、信号TESTCLK(信号TCKから引き出された)によってクロックされたTAPコントローラからソース/宛先ロジックの内部機能のクロック環境まで、また、ソース/宛先ロジックのクロック環境から信号TESTCLKによってクロックされたTAPコントローラまでの直列データの同期を実行する。図には示されていないが、TAPコントローラ4は任意にスキャンイネーブル信号をデータアダプタ90に供給してもよい。このようなスキャンイネーブル信号は、TAPコントローラがテストデータ出力信号TDOへのデータ出力用スキャンパスを選択したことを示す。
【0054】
データアダプタ90は、TAPコントローラ4を介したオフ−チップからの1方向直列データをオン−チップソース/宛先ロジックで使用するのにより適したフォーマットに変換する。逆に、データアダプタ90は、オン−チップソース/宛先ロジックにより供給されるデータフォーマットを1方向直列データに変換する。好ましい実施形態においては、並列8ビット又はバイトの形式でデータをオン−チップソース/宛先ロジックに供給するのが望ましい。しかしながら、特に受信データバスRXDATA及び送信データバスTXBUSは、1バイト幅よりも1ビット幅のみでもよい。また、受信及び送信データバスRXBUSとTXBUSは、複数バイト幅のバスであってもよい。
【0055】
データアダプタ90は、受信及び送信の両データの「フロー制御」の機能を実行する。直列データは、受信端部がこのデータを受信できる容量を有してデータ損失または低下を防止する時は、TAPコントローラ4を(どちらの方向でも)単に通過するだけである。受信端部がより多くのデータを受信する用意があることの通信は、そのような情報を反対方向に送信することにより実行される。これはフロー制御プロトコルを構成する。本実施形態におけるデータアダプタ90は、オン−チップソース/宛先ロジックとの通信のために1方向直列データの並列フォーマットへの変換を提供する。このように、フロー制御プロトコルはまた、データアダプタ90とオン−チップソース/宛先ロジックとの間で必要である。
【0056】
このように、このフロー制御は2つの境界、TAPコントローラ4とデータアダプタ90との間の境界、及びデータアダプタ90とこのデータアダプタ90がインタフェースするオン−チップソース/宛先ロジックとの間の境界、を越えて実行される。
TAPコントローラ4とデータアダプタ90との間のフロー制御を提供するには、テストデータ入力信号TDIライン及びテストデータ出力信号ライン上の1方向データが、図4(a) に示されるような開始及び停止ビットでエンコードされる。ビットフロー制御プロトコルは、2つの開始ビットS1及びS2、1つの停止ビットE1で信号を送るゼロ復帰方式(RTZ)である。開始ビットと停止ビットとの間にはデータのバイトが含まれる。このフォーマットの直列データは、TAPコントローラ4のテストデータ入力信号TDIからライン28上の信号SCANINまで通過してデータアダプタ90に入力される。データアダプタ90の受信制御ロジック110は、直列データ信号SCANINを受信する。受信制御信号が2つの連続した直列ビットを開始ビットS1及びS2として認識すると、受信シフトレジスタ114がライン126上で制御されて、データバイトを内部で形成する次の連続した8ビットを直列にロードする。
【0057】
2つの連続した開始ビットS1及びS2に応答して、受信制御ロジック110はまた、受信フロー制御状態フリップフロップ120を設定するライン134上の信号STARTDATAを設定する。設定されると、受信フロー制御状態フリップフロップ120は、順次、ライン142上の信号RXSENDACKを設定し、この信号により、送信制御ロジック112は、図4(b) に示される形式でテストデータ出力信号TDOに肯定応答信号を送る。この肯定応答信号は、開始肯定応答ビットACKと停止ビットE1のみを含んで構成される。これらのビットは、ライン144上の信号の制御下でライン150上の信号SERCONTとして送信シフトレジスタ118に並列に直接ロードされ、信号DIAGSCANOUTとして、図4(b) の直列形式で送信シフトレジスタ118から出力される。肯定応答信号が送られると、送信制御ロジック112は、ライン136上に信号TXSENDACKを設定して、受信フロー制御状態フリップフロップをリセットし、信号RXSENDACKをリセットする。
【0058】
本実施形態で使用されるフロー制御プロトコルによれば、信号SERCONTは、開始ビットS1とS2及び停止ビットE1とを送信シフトレジスタ118内に直接ロードするのを許可する3ビット信号である。TAPコントローラ4を介して出力され、オン−チップソース/宛先ロジックによって示されるデータバイトが送信データバスTXDATA上に現れると、このデータバイトは送信制御ロジック112の制御下で送信シフトレジスタ118内に並列にロードされ、送信制御ロジック112は、図4(a) に示されるフォーマットの信号を直列にシフトする前に、信号SERCONTを形成する開始ビットS1、S2及び停止ビットE1を送信シフトレジスタ内の適宜なビット位置に直接ロードする。肯定応答信号を送ると、送信制御ロジック112は単一の開始ビットと停止ビットを送信シフトレジスタ118内に直接ロードしてから、それらを全て直列にシフトする。
【0059】
受信制御ロジック110が信号SCANINの停止ビットE1を受信すると、データバイトは受信シフトレジスタ114内にロードされ、受信制御ロジック110の制御下でデータバイトはバス130上を受信シフトレジスタ114から受信バッファ116まで転送される。データバイトが受信バッファ116内にロードされると、このデータバイトは、ライン100上の信号RXVALIDも設定する受信制御ロジック110の制御下でバスRXDATA上に出力される。信号RXVALIDに応答して、オン−チップソース/宛先ロジックはRXBUS上のデータバイトを受け入れ、この受信をライン102上の信号RXACKを設定することによって示す。信号RXACKに応答して、受信制御ロジック110は、信号RXVALIDをリセットし、受信シフトレジスタ114内に別のデータバイトがある場合は、信号RAVALIDを再度設定する前にこれを受信バッファ116に転送する。
【0060】
受信バッファ116が好ましい実施形態において提供される。これは、データの受信をオーバーラップする公知のトークンを2つの開始ビットが受信されるとすぐに送信させ、また、連続したバイトを、各バイトの間にどんな隙間もなしに転送させることによって、効果的なデータ転送速度を維持する。データバッファリングもまた送信側に設けることができる。
【0061】
オン−チップソース/宛先ロジックは、データバイトをTXDATAバス92上のデータアダプタ90に並列に転送する。オン−チップソース/宛先ロジックが、転送されるデータバイトを有している時は、ライン96上の信号TXVALIDが設定される。信号TXVALIDが設定されるのに応答して、送信制御ロジック112が、ライン144を介して送信シフトレジスタ118を制御してTXDATAバス上のデータバイトを並列にロードする。更に、ライン150を使用して、送信制御ロジック112は、適宜な開始ビットS1とS2及び停止ビットE1を送信シフトレジスタ118内にロードする。そして、再びライン144を介した送信制御ロジック112の制御下で、2つの開始ビットと1つの停止ビットを含むデータバイトが信号DIAGSCANOUTとして送信シフトレジスタ118から外に直列にシフトされ、これはTAPコントローラ4を介して信号TDOに接続される。バスTXDATA上のデータバイトがシフトレジスタ内にロードされると、送信制御ロジック112は、ライン98上に信号TXACKを設定してオン−チップソース/宛先ロジックへのデータバイトの受信の肯定応答をする。そして、オン−チップソース/宛先ロジックは別のデータバイトを送信できる。データバッファリングが、必要に応じて送信シフトレジスタ118と関連して提供される。
【0062】
送信シフトレジスタ118が送信制御ロジック112に制御されて、図4(a) に示される形式の直列データを出力すると、送信制御ロジック112はまた、ライン138上に信号TXSENDBYTEを設定し、この信号は送信フロー制御状態フリップフロップ124を設定する。この信号に応答して、送信フロー制御状態フリップフロップ124はライン140上に信号TXWAITACKを設定する。信号TXWAITACKが設定されると、データバイトが受信されたことをオン−チップソース/宛先ロジックが肯定応答するのを送信制御ロジック112は待つ。オン−チップソース/宛先ロジックは送信データバイトをうまく受信すると、図4(b) に示されるタイプの肯定応答信号をテストデータ入力信号TDIに送る。ライン28上の信号SCANINのような肯定応答信号を受信すると、受信制御ロジック110は、ライン132上に信号ACKRXを設定して、送信フロー制御状態フリップフロップ124をリセットさせ、結果として信号TXWAITACKをリセットさせる。そして、送信制御ロジック112は、オン−チップソース/宛先ロジックからの次の並列データバイトの受信及び送信のための準備をする。
【0063】
図5は、ホストメモリとターゲットメモリとの間の接続を確立するのにどのようにデータアダプタ90を使用するかを系統図形式で示す。集積回路2は、相互の間をオフ−チップで通信し、また、上記信号を使用してオン−チップで回路と通信する、TAPコントローラ4とデータアダプタ90とを含んで構成される。図5において、上述の信号に相当する信号には同様の参照符号を使用する。図5から明らかなように、集積回路2はまた、メモリバスアダプタ160と、ターゲットCPU162と、オン−チップメモリ164と、を含んで構成される。集積回路2には、ターゲットCPU162及びオン−チップメモリ164とインタフェースするメモリバス166が備えられる。メモリバス166はまた、オフ−チップメモリ174に接続する。オフ−チップのテストアクセスポート信号TCK、TMS、TDI、TDO及びTRST*が、TAPコントローライニシャライザ176に接続しており、このTAPコントローライニシャライザ176は、それ自体別のデータアダプタ180からライン178上の直列データ入力信号SERINを受信し、データアダプタ180へライン179上の直列データ出力信号SEROUTを出力する。この別のデータアダプタ180は、ライン190、188及び186上の信号EXTRXDATA、EXTRXVALID及びEXTTXACKを、別のメモリバスアダプタ194に出力し、ライン184、182及び192上の信号EXTTXDATA、EXTTXVALID及びEXTRXACKをメモリバスアダプタ194から受信する。メモリバスアダプタ194は外部メモリバス198に接続される。ホストCPU200は、外部メモリバス198に接続され、別のオフ−チップメモリ202も外部メモリバス198に接続される。
【0064】
TAPコントローライニシャライザ176は、テストモードか診断モードのいずれかの作動用のTAPコントローラ4を構成する。メモリバスアダプタ160,194は、バスRXDATA上の並列データをオン−チップソース/宛先ロジックと通信するのにより適宜なメッセージフォーマットに調整する。このため、メモリバスアダプタはメッセージコンバータであって、英国特許出願第9622685.7号に開示されるタイプのメッセージコンバータである。メモリバスアダプタはまた、オン−チップソース/宛先ソースのメッセージフォーマットをバスTXDATAの送信用の並列データバイトに変換する。
【0065】
図5の構成は種々の診断手順に使用できる。オン−チップ及びオフ−チップ直列リンクが集積回路2とホストCPU200との間の種々の異なるタイプの診断データの通信を可能にする。
ホストCPU200は、オン−チップバスシステム166を使用してオン−チップメモリ164またはオフ−チップメモリ174にアクセスできるが、これにはターゲットCPU162を必要としない。このためには、ホストCPUによりなされたメモリアクセス要求が、オフ−チップメモリバスアダプタ194と、データアダプタ180と、TAPコントローライニシャライザ176と、オン−チップTAPコントローラ4と、データアダプタ90と、メモリバスアダプタ160と、を含んで構成されるインタフェース回路を介して、ここに述べられる種々の変換を行って送信できる。同様に、オン−チップメモリ164またはオフ−チップメモリ174から読み出されたデータは、オン−チップバスシステム166とインタフェース回路とを介してホストCPUに戻ることができる。逆に、ターゲットCPUが、ホストCPUに関連したオフ−チップメモリ202とアクセスできる。ホストCPU200に関連したオフ−チップメモリ202から読み出されたデータも、同様にインタフェース回路を介して戻ることができる。
【0066】
また、ターゲットCPUが診断目的のために監視される。例えば、それ自体のメモリへのそのアクセスがオン−チップ回路によって監視され、アクセスされたメモリアドレスに関する情報がインタフェース回路を使用してホストCPUに送信される。更に、ターゲットCPUは、その状態を示す構成レジスタを含むか又はアクセスできる。これらのレジスタの内容に関する情報はオフ−チップでインタフェース回路を使用してホストCPUに送信される。逆に、特定状態情報がこれらのレジスタ内にロードされてホストCPUの命令下でターゲットCPUの状況に影響を与える。
【0067】
このように、ここで述べられるインタフェース回路は、ホストからターゲットへのまたターゲットからホストへの(読み出し及び書き込み)メモリアクセス要求、CPUレジスタの状態情報、メモリアクセス要求に応答したホストメモリまたはターゲットメモリからの読み出しデータ、CPUレジスタ内へロードするための状況データ及びターゲットCPUによりアクセスされるメモリアドレスに関する情報を含む診断データの通信を可能にする。
【0068】
このように、インタフェース回路は、以下の診断上の機能を回路内に提供できる。
リアルタイムの診断手順の実行機能、即ち、ターゲットCPUがリアルタイムで作動すると同時に、その作動に割り込まずに診断手順を行う。特に、メモリバスの監視とターゲットメモリへのアクセスが、ターゲットCPUを必要とせずにホストCPUにより行える。
【0069】
ホストCPUからターゲットメモリ及び構成レジスタへのアクセス。
ターゲットCPUからホストメモリへのアクセス。
ホストプロセッサからCPUのブーティング操作を実行する機能を含む、ターゲットCPU及びサブシステムの制御。
本実施形態では、テストデータ入力信号TDIとテストデータ出力信号TDO上の作動の診断モードにおけるテストアクセスポート内及び外へシフトされる1方向直列データストリームは、メッセージ形式の情報である。このようなメッセージは、ホストCPUまたはターゲットCPUによって開始される。デバッギング環境において、ホストCPUは、オン−チップソース/宛先ロジックの割り込み又は非割り込み診断を実行できる。或いは、診断モードにおいて、このようなメッセージは、ターゲットCPUによって開始できる。
【0070】
図5のメモリバスアダプタ160は、チップに入力されるメッセージを、オン−チップソース/宛先ロジックによって使用するための制御情報、アドレス及びデータに変換する。本実施形態では、各メッセージは複数のバイトで構成されるパケットである。前述のように、データアダプタ90は入力する直列データを並列バイトに変換し、出力するバイトを直列データに変換する。メモリバスアダプタ160は、入力するメッセージをデコードして、オン−チップソース/宛先ロジックに制御情報、アドレス情報及びデータ情報を供給する。同様に、メモリバスアダプタ160は、オン−チップソース/宛先ロジックからの制御情報、アドレス情報及びデータ情報を、データアダプタに並列で送信されたメッセージにエンコードする。
【0071】
本実施形態において、開始される2つのタイプのメッセージと、応答として発生する2つのタイプのメッセージがある。開始される2つのタイプのメッセージは、特定メモリ位置に特定データを書き込むためのメモリ書き込み要求「poke」と、特定メモリ位置からデータを読み出すためのメモリ読み出し要求「peek」とである。レスポンスとして発生する2つのタイプのメッセージは、メモリ読み出し要求に応答して読み出しデータを戻す「peeked」メッセージと、後述の「triggered」メッセージとである。各メッセージの第1のバイトは、ヘッダバイトであり、4つのメッセージの各々の構成は図6に示される。ヘッダバイトは、パケットの性質を識別するパケット識別子を構成する。
【0072】
第1の2ビットのヘッダバイトは、メッセージのタイプ、即ち、メッセージが「poke」、「peek」、「peeked」又は「triggered」メッセージかどうか、を識別するタイプ識別子である。以下の6ビットのヘッダバイトは、ヘッダバイトに続き前記メッセージに関連するワード数を識別して、パケットの長さを識別する長さ識別子として機能する。或いは、以下に詳細に説明するように、これらの6ビットは理由識別子として機能できる。図7は本実施形態による4つのタイプのメッセージの各々の構成を示す。図7(a) は「poke」ヘッダバイト00+WORDCOUNTを含んで構成される「poke」メッセージを示し、アドレスワードが続き、更に少なくとも1つのデータワードが続く。図7(b) は「peek」ヘッダバイト01+WORDCOUNTを含んで構成される「peek」メッセージであり、アドレスワードが続く。図7(C) は「peeked」ヘッダバイト10+WORDCOUNTを含んで構成される「peeked」メッセージであり、少なくとも1つのデータワードが続く。図7(d) は「triggered」ヘッダバイト11+REASONのみを含む「triggered」メッセージである。4つのタイプのメッセージの各々の操作は以下に詳細に説明する。
【0073】
上記のように、メモリバスアダプタ160は、メッセージコンバータとして機能し、以下に説明される。図8は、本実施形態によるメッセージコンバータ160のブロック図である。既に詳細に説明したように、メッセージコンバータ160は、データアダプタ90からライン94上の受信データバスRXDATAの情報バイトを受信し、ライン92上の送信データバスTXDATAの情報バイトをデータアダプタ90に送信する。更に、上述のように、メッセージコンバータ160は、データアダプタからのライン100及び98上の信号RXVALID及びTXACKのそれぞれを受信し、ライン102及び96上に信号RXACK及びTXVALIDのそれぞれをデータアダプタに発生する。また、メッセージコンバータ160は、3つのメモリバスポート、即ち、メモリスレーブバス220、メモリマスタバス222及びメモリモニタバス226を介してオン−チップソース/宛先ロジックとインタフェースする。メッセージコンバータ160はさらに、診断バス234を介してオン−チップソース/宛先ロジックとインタフェースする。更に、メッセージコンバータ160は、ライン236上のシステム信号SYSTEMを受信する。
【0074】
メモリスレーブバス220、メモリマスタバス222、メモリモニタバス226及び診断バス234は、それぞれ1方向バスとして図8に示される。しかしながら、各バスは、図8の矢印で示されるのとは反対の方向の信号を含む。図8において使用される規則は、バスの矢印方向が要求がなされる方向を反映することである。図9は、特に各バスに含まれる信号を示す。
【0075】
図9を参照すると、各バスは、複数のADDRESS信号350と、複数のWRITE_DATA信号352と、複数のREAD_DATA信号354と、1つのREQUEST信号356と、1つのGRANT信号358と、1つのVALID信号360と、を含む。各バスは、図示されない関連する他の制御信号、即ち、読み出し書き込み制御信号を有する。図9から明らかなように、ADDRESS信号350とWRITE_DATA信号352とREQUEST信号356とは、全て1方向に伝達され、READ_DATA信号354とGRANT信号358とVALID信号360とは、反対方向に伝達される。しかしながら、メモリモニタバス226において、READ_DATA信号354とGRANT信号358もまた、ADDRESS信号350、WRITE_DATA信号352、REQUEST信号356と同じ方向に伝達できることは言うまでもない。VALID信号360は、メモリモニタバス226には接続されない。
【0076】
メモリマスタバス222は、オフ−チップホストCPUによって駆動されてメモリアクセス要求をターゲットCPUメモリ領域につくり、また、診断機能によっても駆動できる。メモリスレーブバス220は、ターゲットCPUによって駆動されてオフ−チップメモリまたは診断機能にメモリアクセス要求をつくる。メモリモニタバス226は、メモリスレーブバス220と同じオン−チップ信号に接続され、診断機能により使用されてどのターゲットCPUがスレーブバスを使用するかを確認(非割り込み)する固定通路バスである。診断バス234は、メモリバスというよりはレジスタアドレスバスであり、診断機能により発生する「triggered」事象を伝達すると同時に、オン−チップ診断機能からの読み出し及びオン−チップ診断機能への書き込みを実行できる。診断バスはまた、診断機能からのメモリアクセス(メモリマスタバスを介したローカルオン−チップ/オフ−チップメモリへのまたはデータアダプタを介したリモートホストメモリへの)を開始するのに使用される。
【0077】
状態信号が、ターゲットCPUから診断機能を介してメッセージコンバータに供給される。これらの信号は、命令ポインタが有効である時を示す制御信号を備えた命令ポインタ等のターゲットCPU進行情報を含む。ホストCPUは、命令ポインタを監視してターゲットCPUが何をしているかを判定する。状態信号はまた、CPUの作動状態に関する付加的な情報を提供する多面的な個別の制御信号を含む他のターゲットCPU状態信号を含む。状態は、診断バスの「register」読み出しによりアクセスされる。命令ポインタもまた異なるレジスタアドレスからではあるが、「register」読み出しによりアクセスできる。
【0078】
オン−チップソース/宛先ロジックのステータスに関連する他の情報は、オン−チップレジスタに関連する情報等のステータス信号として含まれるが、このような情報は、一般的には診断目的のためのオン−チップ機能のいくつかの抽出を含むレジスタから引き出されるだけである。機能信号は任意の非割り込みオン−チップ診断機能、例えば、診断情報及び制御の抽出を容易にする任意のレジスタ、に接続できる。
【0079】
メモリマスタバスは、オン−チップのアドレスバスと、書き込みバスと、読み出しバスと、関連する制御信号とに接続される。メモリマスタバスは、オン−チップメモリ164、オフ−チップメモリ174及び構成レジスタ等のメモリバスを介してアクセス可能な任意の他のリソースを含むターゲットメモリスペース内の範囲に、ホストCPU及び診断機能がアクセスできるように使用される。
【0080】
個別のバスポートにオン−チップソース/宛先ロジックとの種々の接続点を設けるよりも、それらの間を識別する適宜な制御信号を使用して、いくつかのバスを組合せることができる。例えば、メモリバス書き込みデータと読み出しデータとは、共通のメモリデータバスに組合される。メモリアドレスはメモリデータに組合される。メモリスレーブバスはメモリマスタバスに組合される。このような選択肢は、実行、領域及び他の要素間の実行トレードオフを表す。
【0081】
ライン236上のシステム信号は、システムサービスに接続点を提供する。このようなシステムサービスは、例えば、クロッキング、電源、リセット、テストである。
メッセージコンバータ160は、データアダプタによって直列ビットフォーマットから直列バイトフォーマットに変換された連続した情報バイトを受信し、ヘッダバイトを読み出してその内部に伝えられるメッセージを決定する。このようにメッセージコンバータ160は、入力するメッセージを解釈して必要な作動を実行する。この必要な動作には、ホストに戻される情報を選択すること、又は、メッセージコンバータに接続されるバスのうちの適宜な1つを介してメモリアクセスを開始してデータを読み出すか書き込むことが含まれる。メッセージコンバータ160はまた、メッセージプロトコルに従ってオン−チップバスから受信した並列データをオフ−チップ送信用のメッセージに編集する。これには、ヘッダバイトを並列データとアドレスバイトとに配分して、入力するデータ、アドレス及び制御信号に応じてメッセージの性質を定義することが含まれる。図8のメッセージコンバータ160の作動と図6及び7のメッセージプロトコルとを図10を参照して詳細に説明する。
【0082】
図10は、本実施形態によるメッセージコンバータ160を示す。メッセージコンバータ160は、ヘッダレジスタ240と、アドレスレジスタ242と、データレジスタ244と、減分制御246と、増分制御248と、シフト制御250と、ステートマシン252と、バス選択及び指定ロジック254と、を含んで構成される。メッセージコンバータ160には、全ての制御信号を伝達するための内部制御バス258と、内部情報バス256と、が備えられる。内部制御バス258は、ステートマシン252に接続し、ステートマシン252への及びステートマシン252からのフロー制御信号RXVALID、RXACK、TXVALID及びTXACKを伝達する。内部制御バス258は更に、ライン260上の減分制御信号を減分制御246に、ライン262上の増分制御信号を増分制御248に、ライン264上のシフト制御信号をシフト制御250に、ライン266上のヘッダ制御信号をヘッダレジスタ240に、ライン268上のアドレス制御信号をアドレスレジスタ242に、ライン270上のデータ制御信号をデータレジスタ244に、また、ライン272上の選択及び指定制御信号をバス選択及び指定ロジック254に伝達する。ヘッダレジスタ240は、減分制御246からライン241上の制御信号を受信し、アドレスレジスタ242は、増分制御248からライン243上の制御信号を受信し、また、データレジスタ244は、シフト制御250からライン245上の制御信号を受信する。情報バス256は、受信データバイトRXDATAをヘッダレジスタ240、アドレスレジスタ242、データレジスタ244及びバス選択及び指定ロジック254に伝達する。また、情報バス256は、バス選択及び指定ロジック254、データレジスタ244、アドレスレジスタ242及びヘッダレジスタ240からの出力を送信データ信号TXDATAに伝達する。バス選択及び指定ロジック254は、メモリスレーブバス220、メモリマスタバス222、メモリモニタバス226及び診断バス234の1つへの或いはこれらの1つからの情報バス256上の情報を指定し、その情報は、本実施形態ではバイト幅のものである。
【0083】
図10の実施形態において、システム信号236は、ヘッダレジスタ240と、アドレスレジスタ242と、データレジスタ244と、ステートマシン252とをクロックするのに使用されるライン280上のクロック信号を提供するだけである。メッセージコンバータ160の作動を、予測される種々のメッセージタイプについて以下に説明する。
ホストCPUが「poke」を開始すると、図7(a) に示される形式の直列メッセージが、集積回路2 のテストアクセスポートで受信され、続いて、受信データバスRXDATA上でデータアダプタ90によって並列の情報バイトの形式で出力される。受信データバスRXDATA上の各並列情報バイトを出力すると、データアダプタ90は、ライン100上で信号RXVALIDを設定する。ライン100上の信号RXVALIDに応答して、メッセージコンバータ160のステートマシン252は、受信データバスRXDATAの情報バイトをメッセージコンバータ160内にロードし、ライン102上に信号RXACKを設定して情報バイトの受信を肯定応答する。信号RXVALIDを設定してメッセージの第1の情報バイトを示すデータアダプタ90に応答して、ステートマシン252は、ライン266を介してヘッダレジスタ240を制御し、受信データバスRXDATAの情報バイトを内部情報バス256を介してヘッダレジスタ240内にロードする。そして、ステートマシン252は、ヘッダレジスタ240内にロードされたバイトのうちの少なくとも2つの重要なビットを検索して、どのタイプのメッセージが入力するのかを決定する。この場合、ステートマシン252は、受信したバイトの少なくとも2つの重要なビットを00として識別し、「poke」メッセージに対応するとして入力メッセージを識別する。ホストCPUによって開始された「poke」メッセージは、ホストCPUがターゲットCPUメモリ領域内に特定アドレスで挿入しようとするデータを含む。ヘッダレジスタ240に記憶されたヘッダバイトと関連するワードカウントは、メッセージ内のデータワード数のカウントである。ステートマシン252は、ライン268を介してアドレスレジスタ242を制御して、受信データバスRXDATA上で受信される次の4バイトを、情報バス256を介してアドレスレジスタ242内にロードする。この4バイトはアドレスワードを形成する。アドレスワードがアドレスレジスタ242内にロードされると、受信データバスRXDATAで受信される第1のデータワードを形成する次の4バイトが、制御ライン270を介してステートマシン252の制御下でデータレジスタ244内にロードされる。そして、ステートマシン252は、ライン272を介してバス選択及び指定ロジック254を制御してアドレスレジスタ242とデータレジスタ244の内容をメモリマスタバス222に出力する。
【0084】
アドレスレジスタとデータレジスタの内容をメモリマスタバス222に出力すると、ステートマシン252は、前記バスに関連する書き込み制御信号と、メモリマスタバスに関連するライン356上の要求信号とを設定する。アクセスされるターゲットCPUのメモリスペースに関連するメモリアービタは、要求されたメモリアクセスが進行できることを判定すると、メモリマスタバスに関連するライン358上の許可(GRANT)信号を宣言する。より高い優先順位の要求者(例えばCPU)が要求を出さずに前回アクセスを完了した場合、メッセージコンバータ160は低優先順位を持ってもよい。要求及び許可の信号セットは、各データワード転送毎に要求される。
【0085】
メモリアクセス後、ヘッダレジスタ240に含まれるワードカウントが1ではない場合(本実施形態では、1はゼロのワードカウントを示す)、アドレスレジスタ242は、制御ライン243を介して増分制御248によって増分され、別のワード情報がデータレジスタ244内にロードされる。更に、レジスタ244へのデータワードのローディング後、アドレスレジスタ242内に記憶されたアドレス及びデータレジスタ244内に記憶されたデータは、書き込み制御信号及び要求信号が設定されるのとともにメモリマスタバス上に出力され、また、データレジスタ244内に含まれるデータワードがアドレスレジスタ242内に含まれるアドレスに書き込まれる。その肯定応答は、メモリマスタバス上に許可信号を設定するメモリアービタによって確認される。この一連のアドレスレジスタ242の増分とデータレジスタ244内への4バイト情報のローディングは、ヘッダレジスタ240に含まれるワードカウントが1と同じ、即ち、データワードが残らない、状態になるまで継続する。
【0086】
ホストCPUが「peek」を開始すると、図7(b) に示される形式の直列メッセージが集積回路2のテストアクセスポートで受信され、続いて受信データバスRXDATA上のデータアダプタ90によって並列情報バイト形式で出力される。信号RAVALIDを設定して第1の情報バイトを示すデータアダプタ90に応答して、ステートマシン252はヘッダレジスタ240を制御してその内部に情報バイトをロードする。そして、ステートマシン252はその内部にロードされたバイトのうち少なくとも2つの重要なビットを検索して、どのメッセージが入力するかを判定するが、この場合、受信したバイトのうち少なくとも2つの重要なビットを01として識別し、入力するメッセージを「peek」メッセージに対応するものとして識別する。ホストCPUによって開始される「peek」メッセージはターゲットCPUメモリ領域内にアドレスを含み、その内容はホストCPUが検索する。
【0087】
ステートマシン252が、その内部に含まれる第1の2ビットのヘッダバイトを01として識別することにより、ヘッダレジスタ240内にロードされた「peek」メッセージを識別すると、ステートマシン252は、ヘッダバイトの第1の2ビットを「peeked」ヘッダ用の適宜なビット、即ち、10に対応するように変化させて、この変化させたヘッダバイトを送信データバスに送信してヘッダレジスタ内に記憶されたワードカウントをそのまま含むホストCPUに戻し、図7(c)に示される形式の戻された「peeked」メッセージのヘッダバイトを形成する。言い換えれば、「peek」ヘッダバイトは「peeked」ヘッダバイトとして、そのままのワードカウントと01から10に変化した少なくとも2つの重要なビットとともに戻される。受信データバスRXDATA上で受信された次の4バイト情報がアドレスレジスタ242内にロードされてアドレスワードを形成する。ステートマシン252は、ライン272を介して選択及び指定ロジック254を制御し、メモリマスタバスに関連する読み出し制御信号の設定と、メモリマスタバスに関連する要求信号が設定されるのと、を連係して、アドレスレジスタ242に含まれるアドレスワードをメモリマスタバス222上に出力する。
【0088】
設定される要求信号に応答して、アクセスされるターゲットCPUのメモリスペースに連絡するメモリアービタが、要求されたアクセスが進行できることを判定すると、アービタはメモリマスタバスに関連する許可信号を設定する。メモリマスタバス上のアドレス出力に関連する実際のメモリ位置がアクセスされ、その内部に記憶されたデータがメモリマスタバスの読み出しデータバス上に出力されると、アービタはメモリマスタバスに関連する信号VALIDを設定してデータがホストCPUに返送される用意ができていることを示す。設定される信号VALIDに応答して、ステートマシン252は、ライン272を介してバス選択及び指定制御ロジックを制御してメモリマスタバスの読み出しデータバス上のデータをデータレジスタ244内にロードする。データレジスタ244内にロードされたデータワードは、内部情報バス256を介して送信データバスTXDATA上に一度に1バイトずつシフトアウトされて、ホストCPUに返送される。要求、許可及び有効の信号のセットが転送される各データワード毎に必要である。
【0089】
データレジスタ244内にロードされたデータワードがホストCPUにシフトバックされた後、ステートマシン252はライン260を介して減分制御246を制御し、制御ライン241を介してヘッダレジスタ240に含まれるワードカウントを1だけ減少させる。ワードカウントが1ではない場合、増分制御248がライン262を介してステートマシン252によって制御されて、制御ライン243を介してアドレスレジスタ242に含まれるアドレスを増加し、このアドレスが再びバス選択及び指定ロジック254によって設定された要求信号及び読み出し制御信号とともにメモリマスタバス222上に出力される。このように、ターゲットCPUメモリ領域内の次の連続したメモリ位置が読み出され、その内容がメッセージコンバータ160のデータレジスタ244内に書き込まれる。また、このデータワードは1バイトずつ送信データバスTXDATA上でホストCPUにシフトアウトされ、ヘッダレジスタ内のワードカウントが再び1だけ減少される。ヘッダレジスタ240に含まれるワードカウントが0と同じ、即ちデータワードが残らない状態になるまで、このサイクルが繰り返される。
【0090】
ターゲットCPUは、「poke」又は「peek」メッセージを開始してホストCPU200のメモリスペースからデータを書き込むかまたは読み出す。ターゲットCPU領域のメモリスレーブバス220とその関連制御信号を監視し、読み出しまたは書き込み制御信号に関連して、ターゲットCPUによるアドレスバス上のアドレス出力がターゲットCPUではなくホストCPUのアドレス範囲内であることを識別するステートマシン252によって、ターゲットCPUによる「poke」メッセージまたは「peek」メッセージの開始が認識される。複数ワードの「peek」メッセージ及び「poke」メッセージを実行する上記のようなターゲットCPUにより開始される「poke」メッセージ及び「peek」メッセージに対して、ターゲットCPUは単一ワードの「peek」メッセージ及び「poke」メッセージのみを実行できる。
【0091】
ターゲットCPUが「poke」メッセージを開始すると、これは、メモリスレーブバスの書き込みデータバスに関連する書き込み信号と、設定されるメモリスレーブバスに関連する要求信号とを識別するステートマシン252によって認識される。また、ステートマシン252は、メモリスレーブバスによって要求される書き込みデータと関連するアドレスがターゲットCPU領域のメモリ範囲の外側であることを認識する。この状況に応じて、ステートマシン252は、図6(a) に示されるような予め記憶された「poke」ヘッダバイトを制御ライン266を介してヘッダレジスタ240内に直接ロードする。このような「poke」ヘッダバイトは1つのデータワードを示すワードカウントを持つ。そして、メモリスレーブバスのアドレスデータバス上のアドレスワードはバス選択及び指定ロジック254を介して、ステートマシン252の制御下でアドレスレジスタ242内にロードされ、メモリスレーブバスの書き込みデータバス上の書き込みデータも同様にデータアダプタ160のデータレジスタ244内にロードされる。そして、ステートマシン252の制御下で、ヘッダレジスタ240内の「poke」に含まれる4バイトデータが続く。
【0092】
同様に、要求信号とターゲットCPU領域のアドレス範囲の外側のメモリスレーブバスのアドレスバス上のアドレスとに関連して読み出し信号をメモリスレーブバス上で識別するステートマシン252に応答して、ステートマシン252は、「peek」ヘッダバイトに相当する図6(b) に示されるヘッダバイトをヘッダレジスタ240内にロードする。この場合、ヘッダバイトは1つのワードカウントを含む、即ち、データワードがないことを示す。同様に、上述のように、ステートマシン252はまた、データアダプタ160を制御してメモリスレーブバスのアドレスバス上のアドレスをアドレスレジスタ242内にロードする。そして、ヘッダレジスタ240に含まれるヘッダバイトは、送信データバスTXDATA上に出力され、アドレスレジスタ242に記憶された4つの連続したバイトが続く。
【0093】
この段階で、メッセージコンバータ160は、開始されたターゲット「peek」メッセージで終了するが、ターゲットCPUはメモリスレーブバス220上の信号VALIDを受信していない。結果として、ターゲットCPUは「stuck」(即ち、固定されたかまたは継続して待機中)であり、何もしていない(停止または他の中断ではない)。しかしながら、メッセージコンバータ160は「stuck」ではなく、その他の活動(CPUが「stuck」なので開始されたターゲット「peek」メッセージまたは「poke」メッセージを受信しないが)を進行する位置にいる。
【0094】
このように、メッセージコンバータがメモリアクセスメッセージをオフ−チップホストプロセッサに送信すると、後続のメッセージまたは要求を自由に処理できる。
ターゲットCPUにより開始された「poke」メッセージまたは「peek」メッセージに応答して、ホストCPUは「peeked」メッセージで応答する。ホストCPUからの「peeked」メッセージの受信は、図6(c) の構成に対応するヘッダレジスタ内のヘッダバイトを認識するステートマシン252によって識別される。受信データバスRXDATAからの次の4バイトの情報がデータレジスタ244内にシフトされ、その内部にロードされたデータワードが、設定されるメモリスレーブバスと連絡する信号VALIDと関連して、ステートマシン252の制御下で、ターゲットCPU領域のメモリスレーブバス220のデータバスに、バス選択及び指定制御ロジック254によって転送されるので、ターゲットCPUのメモリスペースと連絡するメモリアービタに、「peek」要求によって要求されたデータが利用可能であることを表示する。ターゲットCPUは単一ワード「peek」を開始するだけなので、ホストCPUからの「peeked」メッセージは単一データワードのみを含む。ターゲットCPUが信号VALIDを受信すると、「stuck」ではなくなる。
【0095】
メモリスレーブバス220は、ターゲットCPUによって使用されて、メッセージコンバータ160を介してホストCPUによってアクセスされるオン−チップ診断機能にアクセスする。これは開始されたターゲット「peek」/「poke」に使用するのと同じバスであり、アドレス範囲は、これがオン−チップ診断機能へのアクセスかどうか判定する。ターゲットCPUによってメモリスレーブバス220上で開始される任意の作動に応答して、ステートマシン252はライン272を介してバス選択及び指定ロジック254を制御しメモリスレーブバス220上の任意の情報または制御信号を診断バス234に転送する。
【0096】
図11を参照すると、図8及び図10のメッセージコンバータ160と、オン−チップソース/宛先ロジックまたはターゲット領域とホストCPUと、の間の相互接続が概略的に示される。図5を参照して前述したように、集積回路2は、TAPコントローラ4と、データアダプタ90と、CPUレジスタ163を有するターゲットCPU162と、オン−チップメモリ164と、を含んで構成される。加えて、図11の集積回路2は、診断レジスタ301を有する診断機能回路300と、メモリキャッシュ302と、外部メモリインタフェースコントローラ304と、図10で詳細に説明したメッセージコンバータ160と、を含んで構成される。図11において、ホストCPU200がホスト通信アダプタ308を介して集積回路2のTAPコントローラ4とインタフェースすることが示されている。本実施形態において、ホスト通信アダプタ308は、TAPコントローライニシャライザ176と、データアダプタ180と、図5において説明したメモリバスアダプタ194と、を含んで構成される。また、ホスト通信アダプタ308は、ホストCPU200からまたはホストCPU200へのメッセージを変換するための集積回路2に設けられたメッセージコンバータ160と同等のメッセージコンバータを有する。更に、図11を参照すると、メッセージコンバータ160が診断バス234を介して診断機能回路300と通信するのがわかる。診断機能回路300とターゲットCPU162とは、バス310を介して相互に通信する。メッセージコンバータ160のメモリモニタバス226とメモリスレーブバス220は、ターゲットCPUとメモリキャッシュ302との間の共通バス312と接続する。また、ターゲットCPUとメモリキャッシュ302とは、CPU命令−取り出しバス314を介して相互接続する。メッセージコンバータ160上のメモリマスタバス222は、オン−チップソース/宛先ロジックのメモリバス166に順次接続するメモリキャッシュ302に接続する。図5を参照して前述したように、メモリバス166はオン−チップメモリ164に接続する。また、メモリバス166は、外部メモリインタフェースコントローラ304と接続し、その外部メモリインターフェースコントローラ304は、オフ−チップメモリ174とインタフェースするオフ−チップメモリバス316にオン−チップソース/宛先ロジックメモリバス166をインタフェースする。
【0097】
図11の構成は、オン−チップソース/宛先ロジックとホストCPUとの間でメッセージを送信することによって種々の診断手順を実行するのに使用できる。診断バス234は、診断機能回路300の診断レジスタ301への又は診断レジスタ301からの読み出し及び書き込みを可能にするとともに、トリガ事象を読み出させる。ターゲットCPUに関連する制御情報は、診断機能回路300から読み出される。ターゲットCPUに関連する命令ポインタと他の制御信号は、診断機能回路300の診断レジスタ301に記憶される。命令ポインタは、診断レジスタ301の一つに連続して複写され、診断バス234上の要求によってアクセスされる。ターゲットCPUの状態を検索するには、診断機能回路300の診断レジスタ301の一つを検索する必要がある。診断レジスタ301は、例えば、STORE、TRAP、TAKE_A_TRAP、TRAP_AT_NEXT_EXIT等の、ターゲットCPUの種々の制御信号を記憶できる。これらの信号は特定のワイヤを介してCPUに伝達される。
【0098】
前述のように、ホストCPUがメモリマスタバス222を介してターゲットCPUメモリスペース内のメモリ位置に書き込みができるのと同様の方法で、ホストCPUは、診断バス234を介して診断機能回路300内のレジスタに書き込みができる。診断機能回路300のレジスタに書き込みをするホストCPUに応答して、トリガされた事象が発生する。このトリガ事象は、トリガ事象を識別する理由コードに関連する要求信号を識別するステートマシン252によってメッセージコンバータ160内で検出される。要求信号に応答して、ステートマシン252は、トリガ事象に関連する理由コードを、トリガヘッダバイトを識別する2ビット11とともに、ヘッダレジスタ240内にロードする。そして、ヘッダレジスタ240に記憶されたトリガヘッダバイトが送信データバスTXDATA上をターゲットCPUに出力される。
【0099】
上記のように、ターゲットCPU自体が、メモリモニタバス226と診断バス234とを介して診断機能回路300にアクセスできる。同様に、ターゲットCPUが診断機能回路に書き込みをすると、この書き込みに応答してトリガ事象が発生して、ステートマシン252がヘッダレジスタ240に含まれるトリガヘッダバイトを出力してターゲットCPUに戻す。ステートマシン252は、診断バス234上の書き込みがターゲットCPUによって行われたかまたはホストCPUによって行われたかを記憶し、トリガ事象を正しい宛先に返送する。
【0100】
図11に示された環境で実行される本実施形態によるメッセージコンバータは、テストアクセスポートからのブート、ホットプラグ挿入及びホストとターゲットの同期化等の種々の高レベルの診断特徴を維持できる。
このように、本実施形態によれば、集積回路に挿入され、限定されたピンカウントを介してホストCPUとオン−チップソース/宛先ロジックとの間の通信を提供するメッセージコンバータが設けられる。このコンバータは、種々のオン−チップリソースへのアクセスを有する。これらのリソースのうちのいくつかは単に監視されるだけであり、他は制御されるかまたは監視及び制御される。任意のリソースの監視は非割り込みであり、チップ機能の実行または待機に何の影響も与えない。これは診断目的には理想的である。メッセージコンバータは、受信メッセージの解釈と、送信メッセージの編集と、オン−チップソース/宛先ロジックへのまたはオン−チップソース/宛先ロジックからの情報の選択または指示との機能を実行する。メッセージコンバータは、オン−チップ機能のいずれからも独立して作動するので、何らかの割り込み作動の実行が指示されるまで或いは指示されなければ非割り込みである。
【0101】
図11を参照すると、その構成は、メモリキャッシュ302を取り除き、共通バス312とCPU命令取り出しバス314とをメモリバス166に直接接続することによって応用されてもよい。更に、この構成は、付加的なマスタまたはメモリバス166に接続されたオン−チップの自律機能を有するようにも応用できる。さらにまた、ターゲットCPU162は取り除くことができ、メモリスレーブバス220とメモリマスタバス222とメモリモニタバス226とをメモリバス166に直接接続できる。
【図面の簡単な説明】
【図1】本実施形態による接続点を有するテストアクセスポートコントローラを備えた集積回路を示す。
【図2】図1のテストアクセスポートコントローラを示す。
【図3】図2のテストアクセスポートコントローラに接続するための本実施形態によるデータアダプタを示す。
【図4】診断モードにおける図2のテストアクセスポートコントローラを介してオフ−チップ通信されたデータのデータフォーマットを示す。
【図5】図3のデータアダプタの実行を階層形状ブロック図で示す。
【図6】本実施形態によるメッセージのヘッダバイトのフォーマットを示す。
【図7】本実施形態によるメッセージのフォーマットを示す。
【図8】本実施形態によるメッセージコンバータを概略的に示す。
【図9】本実施形態におけるメッセージコンバータに接続されるバスのフォーマットを示す。
【図10】本実施形態のメッセージコンバータの実行を示す。
【図11】本実施形態のメッセージコンバータの実行を階層形状ブロック図で示す。
Claims (17)
- 単一チップ集積回路装置であって、
並列データの通信をオン−チップで実行するバスシステムと、
前記バスシステムに接続されて、そのバスシステムから受信される平行データに応答して作動を実行する機能回路と、
直列データ入力コネクタと直列データ出力コネクタとを含んで構成され、外部装置と前記単一チップ集積回路装置との間に、データパケットの長さを示すパケット識別子及び前記機能回路によって実行される作動を定義する情報をそれぞれ含む直列データパケットを供給する外部ポートと、
前記バスシステムと前記外部ポートを相互に接続し、前記パケット識別子を読み出して、前記外部ポートを介して入力される直列データパケットの長さを判定しかつこれらの直列データパケットを前記バスシステムに対して順方向に供給するための並列データに変換して、前記直列データパケットがバスの幅より大きい長さを有する場合に、前記直列データパケットが一連の組の並列データに変換されかつ前記バスシステム上に順次に配置されるようになされた直列/並列データパケットコンバータと、を含んで構成され、
前記直列/並列データパケットコンバータは、フロー制御信号を逆方向に送信することによって後続のデータパケットを受信する用意ができたことを示し、かつ並列データが前記機能回路に出力される用意ができた場合に前記バスシステムへのアクセスを要求するためのフロー制御論理をさらに含んでおり、
前記直列データパケットの並列データへの直列/並列変換が、前記機能回路を必要とせずに実行され、前記並列データが、前記機能回路に対して、変換された前記直列データパケットに含まれる前記情報に応じて作動を実行させることを特徴とする単一チップ集積回路装置。 - 前記直列/並列データパケットコンバータは、並列データを直列データパケットに変換するとともに、前記バスシステムから受信した情報に従って、前記バスシステムからの並列データから変換されたメッセージのタイプを示す前記直列データパケットに、パケット識別子を配分するように作動可能であることを特徴とする請求項1記載の単一チップ集積回路装置。
- 前記並列バスシステムに接続され、前記外部ポートを介したオフ−チップ供給のために前記バスシステムに診断情報を送信するように作動可能なオン−チップの診断制御回路を含んで構成されることを特徴とする請求項2に記載の単一チップ集積回路装置。
- 各直列データパケットのパケット識別子は、メッセージのタイプを示すパケットタイプ識別子を含んでおり、前記直列/並列データパケットコンバータは、前記直列データパケットによって伝えられるメッセージのタイプの表示を前記パケット識別子から判定しかつ前記バスシステムに適切な並列データを供給することによって前記メセージを実行するメッセージ識別回路を含むことを特徴とする請求項1に記載の単一チップ集積回路装置。
- 前記バスシステムが複数の並列バスを含んでおり、前記データパケットコンバータは、前記パケット識別子によって識別されるメセージの性質に応じて前記並列バスのうちの選択された1つに並列データを供給するように作動可能であることを特徴とする請求項4に記載の単一チップ集積回路装置。
- 前記機能回路は、チップにローカルなメモリにアクセスするメモリインタフェース回路を含んで構成され、前記並列バスの少なくとも1つは、メモリアクセスが前記外部装置から前記ローカルメモリに実行できる、アドレスライン、データライン及び制御ラインを含んで構成されるメモリバスであることを特徴とする請求項5記載の単一チップ集積回路装置。
- 前記並列バスの少なくとも1つは、オン−チップレジスタにアクセスするためのレジスタアクセスバスであることを特徴とする請求項5記載の単一チップ集積回路装置。
- 記メッセージがメモリアクセス要求であるとき、前記メッセージはアクセスされるアドレスを含み、前記並列データは前記アドレスに応じて前記並列バスの1つに供給されることを特徴とする請求項6記載の単一チップ集積回路装置。
- 前記オン−チップレジスタは、前記バスシステムから制御レジスタ内にロードされた並列データに応じて、前記オン−チップ機能回路の正常作動に割り込む制御レジスタを含むことを特徴とする請求項7記載の単一チップ集積回路装置。
- 前記機能回路は、1つのプロセッサを含んで構成されることを特徴とする請求項1記載の単一チップ集積回路装置。
- 前記機能回路は、複数のプロセッサを含んで構成されることを特徴とする請求項1に記載の単一チップ集積回路装置。
- 前記外部装置は、外部デバッギングホストを含んで構成され、前記外部ポートは、前記外部デバッギングホストから前記オン−チップ機能回路への命令をデバッグするための外部直列通信リンクを提供することを特徴とする請求項1記載の単一チップ集積回路装置。
- 前記外部装置は、該外部装置にローカルな別のメモリが設けられ、前記外部ポートは、前記オン−チップ機能回路に対して、該オン−チップ機能回路のローカルメモリに加えて前記別のメモリにアクセスさせるように作動可能な接続点を提供することを特徴とする請求項2記載の単一チップ集積回路装置。
- 前記外部ポートは、命令コードを前記外部装置からプロセッサ用のローカルメモリ内に供給して、前記プロセッサが、前記外部装置によって制御されて前記命令コードを実行できることを特徴とする請求項10記載の単一チップ集積回路装置。
- オン−チップバスシステムに接続され、該バスシステムから受信される並列データに応答して作動を実行する機能回路を含んで構成された単一チップ集積回路装置と、外部装置との間の通信を実行する方法であって、
前記外部装置において、直列データパケットの長さ示すパケット識別子及び前記機能回路によって実行される作動を定義する情報をそれぞれ含んだ直列データパケットを公式化し、
前記単一チップ集積回路装置の外部ポートの直列入力コネクタを介して前記直列データパケットを送信し、
前記直列入力コネクタを介して前記外部装置から供給された直列パケットの長さを判定するために前記パケット識別子を読み出し、かつ直列/並列データパケットコンバータによって前記直列データパケットを前記バスシステムに順方向に供給するための並列データに変換して、前記直列データパケットがバスの幅より大きい長さを有する場合に、機能回路を含むことなしに、前記直列データパケットが連続した組の並列データセットに変換されかつバスに順次配置されるようになし、
前記直列/並列データパケットコンバータは、フロー制御信号を逆方向に送信することによって後続のデータパケットを受信する用意ができたことを示し、かつ並列データが前記機能回路に出力される用意ができた場合に前記バスシステムへのアクセスを要求するためのフロー制御論理をさらに含んでおり、
前記並列データを前記バスシステムを介して前記機能回路に供給して、前記機能回路に前記直列データパケットに含まれる前記情報に応じた作動を実行させる、
ことからなることを特徴とする単一チップ集積回路装置と外部装置との間の通信方法。 - 前記オン−チップバスシステムから供給される並列データが、前記外部ポートの直列出力ピンを介したオフ−チップ送信用の直列データパケットに変換されることを特徴とする請求項15記載の通信方法。
- 前記並列データから変換されたメッセージのタイプを示すパケット識別子が、前記並列データに含まれる情報に従って、前記直列データパケットに配分されることを特徴とする請求項15記載の通信方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GBGB9622682.4A GB9622682D0 (en) | 1996-10-31 | 1996-10-31 | An integrated circuit device and method of communication therewith |
GB9622682-4 | 1996-10-31 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH10207732A JPH10207732A (ja) | 1998-08-07 |
JP3929573B2 true JP3929573B2 (ja) | 2007-06-13 |
Family
ID=10802225
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP30096097A Expired - Lifetime JP3929573B2 (ja) | 1996-10-31 | 1997-10-31 | 集積回路装置及びその通信方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US6125416A (ja) |
EP (1) | EP0840219B1 (ja) |
JP (1) | JP3929573B2 (ja) |
DE (1) | DE69713855D1 (ja) |
GB (1) | GB9622682D0 (ja) |
Families Citing this family (58)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7571364B2 (en) | 2005-08-09 | 2009-08-04 | Texas Instruments Incorporated | Selectable JTAG or trace access with data store and output |
US7421633B2 (en) * | 2005-03-21 | 2008-09-02 | Texas Instruments Incorporated | Controller receiving combined TMS/TDI and suppyling separate TMS and TDI |
GB9805479D0 (en) * | 1998-03-13 | 1998-05-13 | Sgs Thomson Microelectronics | Microcomputer |
GB9809197D0 (en) * | 1998-04-29 | 1998-07-01 | Sgs Thomson Microelectronics | Microcomputer with packet translation for event packets and memory acess packets |
GB9809203D0 (en) * | 1998-04-29 | 1998-07-01 | Sgs Thomson Microelectronics | Packet distribution in a microcomputer |
GB9818377D0 (en) * | 1998-08-21 | 1998-10-21 | Sgs Thomson Microelectronics | An integrated circuit with multiple processing cores |
US6571359B1 (en) * | 1999-12-13 | 2003-05-27 | Intel Corporation | Systems and methods for testing processors |
US6567932B2 (en) * | 1999-10-01 | 2003-05-20 | Stmicroelectronics Limited | System and method for communicating with an integrated circuit |
US7100027B1 (en) | 1999-12-13 | 2006-08-29 | Intel Corporation | System and method for reproducing system executions using a replay handler |
US7765095B1 (en) | 2000-10-26 | 2010-07-27 | Cypress Semiconductor Corporation | Conditional branching in an in-circuit emulation system |
US6724220B1 (en) | 2000-10-26 | 2004-04-20 | Cyress Semiconductor Corporation | Programmable microcontroller architecture (mixed analog/digital) |
US8149048B1 (en) | 2000-10-26 | 2012-04-03 | Cypress Semiconductor Corporation | Apparatus and method for programmable power management in a programmable analog circuit block |
US6823282B1 (en) * | 2000-10-26 | 2004-11-23 | Cypress Semiconductor Corporation | Test architecture for microcontroller providing for a serial communication interface |
US8160864B1 (en) | 2000-10-26 | 2012-04-17 | Cypress Semiconductor Corporation | In-circuit emulator and pod synchronized boot |
US8103496B1 (en) | 2000-10-26 | 2012-01-24 | Cypress Semicondutor Corporation | Breakpoint control in an in-circuit emulation system |
US8176296B2 (en) | 2000-10-26 | 2012-05-08 | Cypress Semiconductor Corporation | Programmable microcontroller architecture |
US6914892B1 (en) * | 2001-01-29 | 2005-07-05 | Advanced Micro Devices, Inc. | Arrangement for testing network switch expansion port data by converting to media independent interface format |
US7406674B1 (en) | 2001-10-24 | 2008-07-29 | Cypress Semiconductor Corporation | Method and apparatus for generating microcontroller configuration information |
US8078970B1 (en) | 2001-11-09 | 2011-12-13 | Cypress Semiconductor Corporation | Graphical user interface with user-selectable list-box |
US8042093B1 (en) | 2001-11-15 | 2011-10-18 | Cypress Semiconductor Corporation | System providing automatic source code generation for personalization and parameterization of user modules |
US8069405B1 (en) | 2001-11-19 | 2011-11-29 | Cypress Semiconductor Corporation | User interface for efficiently browsing an electronic document using data-driven tabs |
US7774190B1 (en) | 2001-11-19 | 2010-08-10 | Cypress Semiconductor Corporation | Sleep and stall in an in-circuit emulation system |
US7770113B1 (en) | 2001-11-19 | 2010-08-03 | Cypress Semiconductor Corporation | System and method for dynamically generating a configuration datasheet |
US7844437B1 (en) | 2001-11-19 | 2010-11-30 | Cypress Semiconductor Corporation | System and method for performing next placements and pruning of disallowed placements for programming an integrated circuit |
US6971004B1 (en) | 2001-11-19 | 2005-11-29 | Cypress Semiconductor Corp. | System and method of dynamically reconfiguring a programmable integrated circuit |
US20030158934A1 (en) * | 2002-02-05 | 2003-08-21 | Ben Chang | Condition monitor and controller for a server system |
US8103497B1 (en) | 2002-03-28 | 2012-01-24 | Cypress Semiconductor Corporation | External interface for event architecture |
US7308608B1 (en) | 2002-05-01 | 2007-12-11 | Cypress Semiconductor Corporation | Reconfigurable testing system and method |
US7761845B1 (en) | 2002-09-09 | 2010-07-20 | Cypress Semiconductor Corporation | Method for parameterizing a user module |
US7216276B1 (en) | 2003-02-27 | 2007-05-08 | Marvell International Ltd. | Apparatus and method for testing and debugging an integrated circuit |
US7496818B1 (en) | 2003-02-27 | 2009-02-24 | Marvell International Ltd. | Apparatus and method for testing and debugging an integrated circuit |
US7444571B1 (en) | 2003-02-27 | 2008-10-28 | Marvell International Ltd. | Apparatus and method for testing and debugging an integrated circuit |
US7197680B2 (en) | 2003-04-17 | 2007-03-27 | Arm Limited | Communication interface for diagnostic circuits of an integrated circuit |
US7295049B1 (en) | 2004-03-25 | 2007-11-13 | Cypress Semiconductor Corporation | Method and circuit for rapid alignment of signals |
US8286125B2 (en) | 2004-08-13 | 2012-10-09 | Cypress Semiconductor Corporation | Model for a hardware device-independent method of defining embedded firmware for programmable systems |
US8069436B2 (en) | 2004-08-13 | 2011-11-29 | Cypress Semiconductor Corporation | Providing hardware independence to automate code generation of processing device firmware |
US7332976B1 (en) | 2005-02-04 | 2008-02-19 | Cypress Semiconductor Corporation | Poly-phase frequency synthesis oscillator |
US7400183B1 (en) | 2005-05-05 | 2008-07-15 | Cypress Semiconductor Corporation | Voltage controlled oscillator delay cell and method |
US8089461B2 (en) | 2005-06-23 | 2012-01-03 | Cypress Semiconductor Corporation | Touch wake for electronic devices |
US8085067B1 (en) | 2005-12-21 | 2011-12-27 | Cypress Semiconductor Corporation | Differential-to-single ended signal converter circuit and method |
US8067948B2 (en) | 2006-03-27 | 2011-11-29 | Cypress Semiconductor Corporation | Input/output multiplexer bus |
US7737724B2 (en) | 2007-04-17 | 2010-06-15 | Cypress Semiconductor Corporation | Universal digital block interconnection and channel routing |
US8092083B2 (en) | 2007-04-17 | 2012-01-10 | Cypress Semiconductor Corporation | Temperature sensor with digital bandgap |
US8130025B2 (en) | 2007-04-17 | 2012-03-06 | Cypress Semiconductor Corporation | Numerical band gap |
US8026739B2 (en) | 2007-04-17 | 2011-09-27 | Cypress Semiconductor Corporation | System level interconnect with programmable switching |
US9564902B2 (en) | 2007-04-17 | 2017-02-07 | Cypress Semiconductor Corporation | Dynamically configurable and re-configurable data path |
US8516025B2 (en) | 2007-04-17 | 2013-08-20 | Cypress Semiconductor Corporation | Clock driven dynamic datapath chaining |
US8040266B2 (en) | 2007-04-17 | 2011-10-18 | Cypress Semiconductor Corporation | Programmable sigma-delta analog-to-digital converter |
US8266575B1 (en) | 2007-04-25 | 2012-09-11 | Cypress Semiconductor Corporation | Systems and methods for dynamically reconfiguring a programmable system on a chip |
US8065653B1 (en) | 2007-04-25 | 2011-11-22 | Cypress Semiconductor Corporation | Configuration of programmable IC design elements |
US9720805B1 (en) | 2007-04-25 | 2017-08-01 | Cypress Semiconductor Corporation | System and method for controlling a target device |
US8049569B1 (en) | 2007-09-05 | 2011-11-01 | Cypress Semiconductor Corporation | Circuit and method for improving the accuracy of a crystal-less oscillator having dual-frequency modes |
US9448964B2 (en) | 2009-05-04 | 2016-09-20 | Cypress Semiconductor Corporation | Autonomous control in a programmable system |
CN109783419A (zh) * | 2018-12-29 | 2019-05-21 | 安徽皖兴通信息技术有限公司 | 一种通信设备背板控制总线的方法 |
US11138134B2 (en) * | 2019-05-22 | 2021-10-05 | Nxp Usa, Inc. | Non-intrusive semihosting solution for debug using direct memory access implementation-based library |
CN110958224A (zh) * | 2019-11-05 | 2020-04-03 | 郑州信大捷安信息技术股份有限公司 | 远程串口调试系统及方法 |
US11209483B2 (en) * | 2020-02-28 | 2021-12-28 | Micron Technology, Inc. | Controller accessible test access port controls |
CN112305411A (zh) * | 2020-11-23 | 2021-02-02 | 珠海市一微半导体有限公司 | 一种i2s接口的功能测试电路及测试方法 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4641263A (en) * | 1982-05-17 | 1987-02-03 | Digital Associates Corporation | Controller system or emulating local parallel minicomputer/printer interface and transferring serial data to remote line printer |
DE3584690D1 (de) * | 1984-06-20 | 1992-01-02 | Convex Computer Corp | Ein-/ausgabebus fuer rechner. |
US4660170A (en) * | 1985-04-29 | 1987-04-21 | General Dynamics, Pomona Division | System for providing reprogramming data to an embedded processor |
US5086388A (en) * | 1988-03-18 | 1992-02-04 | Hitachi Maxell, Ltd. | Semiconductor serial/parallel-parallel/serial file memory and storage system |
US5005151A (en) * | 1988-05-13 | 1991-04-02 | Dallas Semiconductor Corporation | Interleaved arbitration scheme for interfacing parallel and serial ports to a parallel system port |
US5734920A (en) * | 1993-06-28 | 1998-03-31 | Nippondenso Co., Ltd. | Input/output processing IC |
DE69415600T2 (de) * | 1993-07-28 | 1999-07-15 | Koninklijke Philips Electronics N.V., Eindhoven | Mikrokontroller mit hardwaremässiger Fehlerbeseitigungsunterstützung nach dem Boundary-Scanverfahren |
EP0652516A1 (en) * | 1993-11-03 | 1995-05-10 | Advanced Micro Devices, Inc. | Integrated microprocessor |
JP2752592B2 (ja) * | 1994-12-28 | 1998-05-18 | 日本ヒューレット・パッカード株式会社 | マイクロプロセッサ、マイクロプロセッサ−デバッグツール間信号伝送方法及びトレース方法 |
JPH0922393A (ja) * | 1995-07-06 | 1997-01-21 | Mitsubishi Electric Corp | 通信機能を有するワンチップフラッシュメモリ装置 |
-
1996
- 1996-10-31 GB GBGB9622682.4A patent/GB9622682D0/en active Pending
-
1997
- 1997-10-20 EP EP97308309A patent/EP0840219B1/en not_active Expired - Lifetime
- 1997-10-20 DE DE69713855T patent/DE69713855D1/de not_active Expired - Lifetime
- 1997-10-29 US US08/960,757 patent/US6125416A/en not_active Expired - Lifetime
- 1997-10-31 JP JP30096097A patent/JP3929573B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
US6125416A (en) | 2000-09-26 |
GB9622682D0 (en) | 1997-01-08 |
EP0840219A1 (en) | 1998-05-06 |
DE69713855D1 (de) | 2002-08-14 |
JPH10207732A (ja) | 1998-08-07 |
EP0840219B1 (en) | 2002-07-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3929573B2 (ja) | 集積回路装置及びその通信方法 | |
JP3929574B2 (ja) | 集積回路装置及びその通信方法 | |
EP0849669B1 (en) | Diagnostic system and procedure in an integrated circuit device | |
EP0849668B1 (en) | Diagnostics system and procedure in an integrated circuit device | |
US6279103B1 (en) | Method and device for providing an instruction trace from an on-chip CPU using control signals from the CPU | |
JP4037494B2 (ja) | テストアクセスポート制御器及びそれを用いた有効な通信方法 | |
JP3998303B2 (ja) | Tapコントローラを有する集積回路 | |
EP0982595B1 (en) | An integrated circuit with multiple processing cores | |
JP4426655B2 (ja) | トリガシーケンシングコントローラ | |
JP3929572B2 (ja) | 集積回路装置及びその通信方法 | |
JP4504466B2 (ja) | コンピュータシステム内の通信を実行する方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20041029 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060613 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060913 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20070206 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070307 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110316 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110316 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120316 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130316 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140316 Year of fee payment: 7 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |