JPH10207732A - 集積回路装置及びその通信方法 - Google Patents

集積回路装置及びその通信方法

Info

Publication number
JPH10207732A
JPH10207732A JP9300960A JP30096097A JPH10207732A JP H10207732 A JPH10207732 A JP H10207732A JP 9300960 A JP9300960 A JP 9300960A JP 30096097 A JP30096097 A JP 30096097A JP H10207732 A JPH10207732 A JP H10207732A
Authority
JP
Japan
Prior art keywords
data
chip
bus
packet
signal
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.)
Granted
Application number
JP9300960A
Other languages
English (en)
Other versions
JP3929573B2 (ja
Inventor
Robert Warren
ウォレン ロバート
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
STMicroelectronics Ltd Great Britain
Original Assignee
STMicroelectronics Ltd Great Britain
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by STMicroelectronics Ltd Great Britain filed Critical STMicroelectronics Ltd Great Britain
Publication of JPH10207732A publication Critical patent/JPH10207732A/ja
Application granted granted Critical
Publication of JP3929573B2 publication Critical patent/JP3929573B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3648Software debugging using additional hardware
    • G06F11/3656Software debugging using additional hardware using a specific debug interface
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3185Reconfiguring for testing, e.g. LSSD, partitioning
    • G01R31/318533Reconfiguring for testing, e.g. LSSD, partitioning using scanning techniques, e.g. LSSD, Boundary Scan, JTAG
    • G01R31/318572Input/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)

Abstract

(57)【要約】 バスシステムと、機能回路と、外部ポートと、並列バス
と外部ポートを相互接続する直列/並列データパケット
コンバータと、を含む単一チップ集積回路装置が開示さ
れる。直列パケットの並列データへの直列/並列変換
は、機能回路を必要とせずに実行され、並列データは、
機能回路に対して、直列パケットに含まれる情報に応じ
て動作を実行させる。単一チップ集積回路装置と外部装
置との間の通信を実行する方法もまた開示される。

Description

【発明の詳細な説明】
【発明の属する技術分野】本発明は集積回路装置とチッ
プ境界を越えてこれと通信する方法とに関する。
【従来の技術及び発明が解決しようとする課題】本発明
は、特に、これに限定されるものではないが、診断を目
的とした通信の改良に関する。即ち、集積回路がプロセ
ッサ等の埋め込まれた機能回路を有する場合、従来の診
断技術を使用して機能回路のリアルタイム非割り込み監
視を提供することは非常に困難である。機能回路はプロ
セッサである必要はなく、DMA(Direct Memory Acce
ss;直接メモリアクセス)エンジンを含む他の機能回路
またはオン−チップキャッシュでもよい。従来、プロセ
ッサ(CPU)は単一チップとして製造されており、メ
モリ等の全ての補助回路へのオフ−チップアクセスを必
要とする。結果として、これらは複数のアクセスピンを
有して、CPUに関する情報、特に、メモリアドレス情
報がこれらのアクセスピンからいずれにしても外部的に
入手できる。メモリアドレス情報に加えて、プロセッサ
の内部状態に関する状態情報を入手して、例えば、割り
込み、命令ストリームにおける変化、CPUの種々の状
態レジスタにおけるフラグの設定等の事象を確認するの
に使用できる。現今では、チップは複雑であり、オン−
チップのプロセッサだけではなくその関連メモリや他の
補助回路も含む。チップ上に複数のプロセッサを備えた
り、或いは、少なくとも1つのプロセッサとDMA(直
接メモリアクセス)エンジン、またはオン−チッププロ
セッサに関連するメモリにアクセスするためのEMI
(External Memory Interface ;外部メモリインタフェ
ース)を備える場合がある。このように、通常はオフ−
チップ入手が可能な信号がもはやCPUの内部作動に関
する直接表示を提供しないので、プロセッサ作動を監視
するのはもはや単純なことではない。集積回路CPU上
で実行するように設計されたソフトウエアの複雑さが増
大するにつれて、ソフトウエアを適切にテストすること
の重要性も増大する。これには、CPUがソフトウエア
を実行するのと同時にCPUの作動を監視する技術を必
要とする。ソフトウエアがリアルタイムで作動しながら
非割り込みでモニタされることは特に煩わしい要件であ
る。いわゆる診断又はデバッギング技術がこれを達成す
るために開発された。従来の1つの技術(ICE;回路
内エミュレータ)は、オン−チップハードウエアにマッ
チし、このハードウエアに接続されるエミュレータボー
ドの製造を必要とする。このように、オン−チップ接続
がエミュレータにマップされるので、エミュレータ上で
アクセスできる。しかしながら、エミュレータは構成が
複雑かつ高価であり、いずれにしてもオン−チップ通信
の速度または状態に十分にマッチできない。このため、
優先するオン−チップ状態を正確にエミュレートするこ
とは非常に困難である。他の従来技術では、論理状態ア
ナライザ(LSA)を使用している。これは、全てのオ
フ−チップ通信状態を継続的に監視する集積回路のピン
に接続される装置である。連続して発生する状態の各セ
ットは記憶された後に分析できる。エミュレータよりは
安いが、LSAは高価であるばかりではなく、記憶され
る莫大な数の連続して発生する状態セットから何らかの
有用な情報を引き出すための多大な演繹と分析が必要で
ある。オフ−チップで通信される状態信号を分析できる
だけなので、オン−チップ状態に関する何らかの演繹ま
たは仮定を行うことが当然必要となる。更に近年では、
埋め込まれたCPUの作動を監視する試みにおいて更な
る開発がすすめられた。ある集積回路では、スキャンラ
ッチチェインがオン−チップで提供されて、オン−チッ
プTAPコントローラを使用してCPUのレジスタから
データを転送する。プロセスは破壊的なので、CPUが
作動を継続する前にデータをCPUレジスタ内に戻して
読み込ませる必要がある。このように、これを実行する
には、CPUを停止させてそのレジスタから状態情報を
抽出する必要がある。このため、これはソフトウエアが
リアルタイムで監視されなければならないという要求を
満足させるものではない。いくつかのケースでは、CP
Uの停止がソフトウエアの作動する方法を変化させるの
で、リアルタイムで目に見えるバグが、CPUがそのポ
イントで停止すると表れない。更に、テストスキャンが
完了するのを待ってCPUレジスタからのすべてのスキ
ャンデータをオフ−チップに送信する必要があるので、
監視プロセスがゆっくりである。このため、本発明は外
部通信オフ−チップのための機能を増大させて改良され
た診断手順を実行させることを目的とする。オフ−チッ
プホストプロセッサに、オン−チップターゲットプロセ
ッサまたは他のオン−チップ機能と情報を共有させ、前
記ターゲットプロセッサまたは他のオン−チップ機能で
制御させ、または、前記ターゲットプロセッサまたは他
のオン−チップ機能と通信させる種々の機構がある。し
かしながら、これらの機構は、これらがリアルタイムま
たは非割り込み診断に特に適してはいないという意味で
不都合がある。1つの構成において、共通メモリバスは
オフ−チップメモリとオン−チップメモリとを接続して
これらのリソースがホストプロセッサ及びターゲットプ
ロセッサによって共有される可能性があるようにする。
しかしながら、これには、境界でバス接続を実施するた
めにチップ境界で多数のコネクタピンが要求される。更
に、本構成において許される共有スキーマに応じてメモ
リ仲介ロジックが要求される。チップ境界にはバッファ
リングが必要であり、これは実行と待ち時間の中間状態
を可能にする。また、このような構成は、全てのアクセ
スが割り込みなので、非割り込み診断を考慮していな
い。別の構成では、オフ−チップホストプロセッサは、
少数のコネクタピンを持つ通信ラインによってオン−チ
ップターゲットプロセッサと直接通信する。しかしなが
ら、これは、通信要件を処理するためにオン−チップタ
ーゲットプロセッサまたは他の機能回路を増加させて、
使用する際に実行ペナルティを招くようにすることが要
求される。また、ホストプロセッサは、ターゲットプロ
セッサのアドレススペース内のオン−チップメモリにア
クセスして、ターゲットプロセッサにこのメモリアクセ
スをさせるだけである。このように、メモリアクセスを
含むどんな診断手順も当然割り込みである。さらに別の
構成はUART(Universal Asynchronous Receiver Tr
ansmitter)を介して通信する。この構成では、オフ−チ
ップホストは直列/並列コンバータを介してオン−チッ
プ機能回路と通信する。直列/並列変換は、ホストから
ターゲットへの情報を通過させるために生じ、並列/直
列変換は逆方向に生じる。コンバータとターゲットとの
間の接続点はオン−チップバスシステムの並列バス形成
部分である。また別の構成は、直列メモリアクセス(D
MA)を備えたオン−チップ周辺機器として直列/並列
コンバータを提供する。この構成において、オフ−チッ
プホストはDMAを備えた直列/並列コンバータを介し
てオン−チップターゲットと通信する。直列/並列変換
はホストからターゲットへの情報を通過させるために生
じ、並列/直列変換は逆方向に生じる。コンバータとタ
ーゲットとの間の接続はオン−チップバスシステムによ
って提供される。しかしながら、これは、オン−チップ
ターゲットにコンバータを制御させてその状態を監視さ
せる並列パスと、データをホストとターゲットのメモリ
との間のいずれかの方向に通過させるパスとが本質的に
要求される。コンバータ自体は変換の殆どを行って、オ
ン−チップターゲットの実行が影響を受けないようにす
る。しかしながら、オン−チップターゲットはデータ転
送の開始及び終了時に必要とされる。データ転送の開始
時には、オン−チップターゲットは、コンバータを作動
可能にすることによって制御して、メモリ内において、
ホストと通信する情報にアクセスする場所、通過させる
情報の量及びその方向を指示をする。ホストからのデー
タの転送終了時には、オン−チップターゲットは、ター
ゲットメモリ内に記憶された情報の要求がある場合で
も、供給されたデータに基づいて動作しなければならな
い。したがって、パケットの入力及び出力は、オン−チ
ップターゲットに必然的に影響を及ぼす。
【課題を解決するための手段】本発明の一態様によれ
ば、並列データの通信をオン−チップで実行するバスシ
ステムと、該バスシステムに接続されて、そのバスシス
テムから受信される並列データに応答して作動を実行す
る機能回路と、直列データ入力コネクタと直列データ出
力コネクタとを含んで構成され、外部装置と集積回路装
置との間に、前記機能回路によって実行される作動を定
義するデータパケット及び情報の性質を示すパケット識
別子をそれぞれ含む直列データパケットを供給する外部
ポートと、前記並列バスシステムと前記外部ポートを相
互に接続し、前記外部ポートを介して入力される直列パ
ケットのパケット識別子を読み出すとともに、これらの
直列パケットを、前記パケット識別子によって識別され
たパケットの性質に応じて前記バスシステムに供給する
ための並列データに変換するように作動可能である直列
/並列データパケットコンバータと、を含んで構成さ
れ、前記直列パケットの並列データへの直列/並列変換
が、前記機能回路を必要とせずに実行され、前記並列デ
ータが、前記機能回路に対して、変換された前記直列パ
ケットに含まれる前記情報に応じて作動を実行させるこ
とを特徴とする単一チップ集積回路装置を提供する。ま
た、前記データパケットコンバータは、並列データを直
列データパケットに変換するとともに、前記バスシステ
ムから受信した情報に従って、前記バスシステムからの
並列データから変換された前記直列パケットに、タイプ
識別子を配分するように作動可能としてもよい。パケッ
ト識別子は、パケットの長さまたはパケットのタイプま
たはその両方を表示することができる。パケット識別子
が長さを識別する場合、データパケットコンバータは、
パケット識別子からの直列データパケットの長さを決定
する長さ識別回路を含んで構成される。パケット識別子
がタイプを識別する場合、データパケットコンバータ
は、直列データパケットによって伝達されるメッセージ
のタイプをパケット識別子から決定するとともに特定の
並列データを前記バスシステムに供給することによって
前記メッセージを実行するメッセージ識別回路を含んで
構成される。前記バスシステムは、複数の並列バスを含
んで構成され、前記データパケットコンバータは、パケ
ット識別子により識別されたメッセージの性質に応じ
て、前記並列バスのうちの選択された1つに並列データ
を供給するように作動可能としてもよい。前記機能回路
は、プロセッサでもよい。代わりにまたは付加的に、前
記機能回路は、チップにローカルなメモリにアクセスす
るメモリインタフェース回路を含んで構成することもで
きる。この場合、少なくとも1つのバスは、メモリアク
セスが外部装置からローカルメモリに実行できるアドレ
スライン、データライン及び制御ラインを含んで構成さ
れるメモリバスである。集積回路装置は、複数のオン−
チップレジスタを有することができる。この場合、少な
くとも1つのバスはレジスタにアクセスするためのレジ
スタアクセスバスである。メモリバスかレジスタアクセ
スバスかの選択はメモリアクセス要求のアドレスによっ
てなされる。並列データが、アドレスに従ってバスのう
ちの適宜なバスに供給される。オン−チップレジスタ
は、バスシステムから制御レジスタ内にロードされた並
列データに応じて、オン−チップ機能回路の正常作動に
割り込む制御レジスタを有する。本発明は、外部装置が
外部デバッギングホストを含んで構成されるような診断
環境において特に有用である。このように外部ポート
は、外部デバッギングホストからオン−チップ機能回路
への命令をデバッグするための外部直列通信リンクを提
供する。本発明は、直列データの入力コネクタ及び出力
コネクタが、単一ワイヤをわたって各方向に直列パケッ
トを送信するための単一ピンをそれぞれ含んで構成され
る場合に特に有効である。しかしながら、本発明はま
た、並列データが供給されるバスシステムのビット幅よ
り少ない数の接続ワイヤによってオフ−チップで直列デ
ータが送信される場合にも有効に使用できる。幅の広い
並列バスをオフ−チップで接続する必要性が排除される
ことは本発明の重要な面である。外部装置には、該外部
装置にローカルな別のメモリが設けられてもよい。この
場合の外部ポートは、オン−チップ機能回路に対して、
そのローカルメモリに加えて前記別のメモリにアクセス
させるように作動可能な接続点を提供する。機能回路が
コードを実行できるプロセッサである場合、ここで説明
されるパケットコンバータは、命令コードを外部ポート
を介して外部装置からプロセッサ用のローカルメモリ内
に供給して、プロセッサが、外部装置によって制御され
て外部装置から供給される命令コードを実行できるよう
にする。診断制御回路は、並列バスシステムに接続され
たチップ上に設けることができ、前記外部ポートを介し
たオフ−チップ供給のためにバスシステムに診断情報を
送信するように作動可能とすることができる。また、こ
の回路は、診断目的のためのオン−チップレジスタにア
クセスできるとともにオン−チップレジスタを制御でき
る。本発明の別の態様によれば、オン−チップバスシス
テムに接続され、該バスシステムから受信される並列デ
ータに応答して作動を実行する機能回路を含んで構成さ
れた単一チップ集積回路装置と、外部装置との間の通信
を実行する方法であって、前記外部装置において、前記
機能回路によって実行される作動を定義する直列データ
パケット及び情報についての性質を示すパケット識別子
をそれぞれ含んだ直列データパケットを公式化し、前記
単一チップ集積回路装置の外部ポートの直列入力コネク
タを介して前記直列データパケットを送信し、前記直列
入力コンバータを介して前記外部装置から供給された直
列パケットの前記パケット識別子を読み出して、該パケ
ット識別子によって識別されたパケットの性質に応じ
て、前記機能回路を必要とせずに前記直列データパケッ
トを並列データに変換し、前記並列データを前記バスシ
ステムを介して前記機能回路に供給して、前記機能回路
に前記直列パケットに含まれる前記情報に応じた作動を
実行させる、ことからなる通信方法が提供される。パケ
ット識別子が各直列パケットの長さを示す場合、これは
直列/並列変換の制御に使用されて、パケットの長さが
バスシステムのビット幅より大きいビット長さを持つと
して識別されると、直列パケットがバスシステム上に順
次配置される連続した並列データセットに変換される。
このように、1つの直列パケットがバスタイムの1サイ
クル以上を要して並列バス上に変換される。上記のよう
に、パケットコンバータは、一方では、パケット通信プ
ロトコルを使用してチップ境界における制限された数の
ピンを介してポートと通信し、他方では、「並列バスシ
ステム」を介して種々のオン−チップ「リソース」と通
信するターゲットチップ上に挿入される。パケットコン
バータは、ホストと1つのオン−チップリソースとの間
のインターフェースとして、他のオン−チップリソース
を必要とすることなく、また、影響を与えることなく作
動する。パケット通信は、ホストによって、または、タ
ーゲットリソースのうちの1つによって開始されてもよ
い。パケット通信プロトコルの正確な形式は重要ではな
いが、プロトコルはいずれかの方向に通過する情報にオ
ーバヘッドを加える。例えば、通過する情報の完全な状
態を保証するフロー制御についての何らかの形式のよう
なものである。各パケットは、1方向を通過する情報を
含むメッセージを含んで構成され、また、通過するパケ
ットにどのような変換をパケットコンバータが実行する
かを決定するパケット識別子を含む。オン−チップリソ
ースとパケットコンバータとの間に複数の接続点がある
場合、ホストからのパケットはどの接続点を使用するか
を決定するアドレスを含む。パケット識別子は、パケッ
トの長さに関する情報を含むことができる。これは、要
求されたバスサイクルの数を制御するために並列バスシ
ステム上を1サイクルで転送できるより多くの情報を、
パケットが含む場合に有用である。パケット識別子は、
応答が予測されるかどうかの決定をするための情報を含
んでもよい。パケットコンバータは、単にこの情報を通
過させるだけか、または、この情報を記憶して応答を待
つ。このように、パケット識別子は、パケットを4タイ
プのパケットの1つに類別する。この情報は上記のよう
に(変換または予測される応答のために)使用できる
か、または、単に通過する。4タイプのパケットは以下
のとおりである。 a)パケットが、イニシエータから受信部までを通過す
る順方向の情報を含む(これは「poke」または書き
込みとして参照される)。 b)パケットが、次のパケット内を受信部からイニシエ
ータまで戻って通過する逆方向の情報の要求である(こ
れは「peek」または読み出し要求として参照され
る)。 c)パケットが、前回要求パケットに応答して通過する
逆方向の情報である(これは「peeked」、読み出
しデータまたは読み出し応答として参照される)。 d)パケットが、特定事象のタイミングに関する情報に
ついての制御ポイントを示し、事象のソースまたは宛先
を含む(これはトリガまたは事象として参照される)。 特に、オン−チップバスシステムは、オン−チップメモ
リ、外部メモリインタフェースを介したオフ−チップメ
モリ、オン−チップ自律機能(例えばCPU)、他のオ
ン−チップ機能、さらに適宜なインタフェースを介した
オフ−チップ機能等の他のリソースとアクセスする手段
を提供する。オン−チップバスシステムは、アクセス手
段を提供するものとして知られる、任意のアービトレー
ション、経路指定、変換、中間ストレージ及びバッファ
リングを含む。本発明で記載される実施例では、オン−
チップリソースを監視し、制御し、又は監視及び制御す
ることができる。リソースがストレージ又はメモリの場
合、監視は読み出しで行われ、制御は書き込みで行われ
る。リソースがCPU等のオン−チップ自律機能の場
合、監視は、レジスタ及び状態が参照できることを提供
し、制御は、開始(ブーティング)、停止及び転換(事
象、割り込みまたはトラップを使用)を含む。いくつか
のリソースは、ホストから自律または独立して、ホスト
との通信を開始する。リソースの監視は非割り込みであ
り、チップのどんな機能の実行または待ち時間に何の影
響も与えない。これは、システムの高い実行性や診断目
的にとって理想的である。好ましい実施例において、本
発明は診断手順を実行するのに特に有用な以下の特徴を
提供する。 1.リアルタイム診断をサポートするための、ホストプ
ロセッサから独立した、プライベートリンクを備えた
(メッセージコンバータ形式の)ハードウエア 2.ホストプロセッサからターゲットメモリ及び診断レ
ジスタへのアクセス 3.ターゲットプロセッサから診断機能へのアクセス 4.ターゲットからホストメモリへのアクセス 5.ホストからターゲットプロセッサをブートするため
の機能を有するターゲットプロセッサとサブシステムの
制御
【発明の実施の形態】本発明を更に理解し、どのように
実施するかを添付の図面を参照して説明する。図1は、
テストアクセスポート(TAP)コントローラ4とチッ
プ境界スキャンチェイン10とを有する集積回路2を概
略的に示す。TAPコントローラ4は、ライン14上の
テストクロック信号TCKと、ライン16上のテストモ
ード選択信号TMSと、ライン18上のテストデータ入
力信号TDIと、ライン22上のテストリセット入力信
号TRST*と、をオフ−チップから受信する。TAP
コントローラ4は、ライン20上のテストデータ出力信
号TDOをオフ−チップに出力する。TAPコントロー
ラ4はまた、ライン12上の装置識別子信号DEVIC
EIDを受信する。図1において、装置識別子信号DE
VICEIDは、集積回路内でアースに接続された信号
ライン12として示される。信号ライン12はマルチビ
ットワイヤでよく、また、装置識別子信号DEVICE
IDは集積回路上またはオフ−チップ上のいずれかから
発生できる。信号ライン12がマルチビットワイヤの場
合には、各ビットがチップ上の低レベルロジックまたは
高レベルロジックのいずれかに接続される。TAPコン
トローラ4は、ライン28上のスキャンデータ入力信号
SCANINと、ライン38上のテストクロック信号T
ESTCLKと、ライン24上のスキャンテストモード
SCANMODEの選択を示す信号と、をライン26上
の診断モードDIAGMODEの選択を示す信号と、を
オン−チップ回路に出力する。チップ境界スキャンチェ
イン10は、ライン28上のスキャンデータ入力信号S
CANINと、ライン24上のスキャンテストモード信
号SCANMODEと、を入力として受信し、ライン3
4上のスキャンデータ出力信号SCANOUTをTAP
コントローラ4に出力する。本発明では、ライン28上
のスキャンデータ入力信号SCANINはまた、後述す
るように、診断のためにオン−チップソース/宛先ロジ
ックに接続される。本発明では、ソース/宛先ロジック
は、入力信号DIAGSCANOUTをライン36上で
TAPコントローラ4に供給する。以下に詳細に説明す
る図5は、ソース/宛先ロジックを構成する構成要素を
示す。ソース/宛先ロジックは、少なくともオン−チッ
プバスシステムに接続されるプロセッサであり、オン−
チップバスシステムはこれに接続されたオン−チップメ
モリを有する。オフ−チップメモリもまたこのようなバ
スシステムに直接接続できる。オン−チップソース/宛
先ロジックはまた、DMAエンジン又はEMIインタフ
ェースを備えた他の機能回路を持つ。TAPコントロー
ラ4は、標準演算に必要であり且つ本発明で要求される
回路ブロックを備えて図2に概略的に示される。図2を
参照すると、TAPコントローラ4はその基本形式にお
いて、ステートマシン50と、IDレジスタ42と、命
令レジスタ44と、命令デコーダ46と、バイパスラッ
チ48と、データマルチプレクサ52と、命令/データ
マルチプレクサ54と、ラッチ56と、インバータ60
と、を含んで構成される。命令レジスタ44は、ライン
18上のテストデータ入力信号TDIを受信し、バス6
2への並列命令とライン76上への直列出力とを発生
し、また、ライン82上の命令制御入力信号を受信す
る。命令デコーダ46は、バス62上の並列命令とライ
ン84上のデコーダ制御入力信号とを受信して、信号S
CANMODE及び信号DIAGMODEをライン24
及び26それぞれに、また、ライン70上に並列データ
マルチプレクサ選択信号を発生する。バイパスラッチ4
8は、ライン18上のテストデータ入力信号TDIを受
信し、ライン72上に出力信号を発生する。IDレジス
タ42は、ライン12上の並列の信号DEVICEID
を受信し、ライン68上に直列の装置識別子出力信号を
発生する。データマルチプレクサ52は、ライン68上
のIDレジスタ42の出力信号と、ライン72上のバイ
パスラッチ48の出力信号と、ライン34上の信号SC
ANOUTと、ライン36上の信号DIAGSCANO
UTと、ライン70上のデータマルチプレクサ選択信号
と、を受信する。データマルチプレクサ52は、ライン
74上に出力を発生する。命令/データマルチプレクサ
54は、ライン76上の直列出力と、ライン74上のデ
ータマルチプレクサの出力と、ライン78上の命令/デ
ータマルチプレクサ選択信号と、を受信する。命令/デ
ータマルチプレクサ54は、ライン80上に出力を発生
する。ラッチ56は、ライン80上の命令/データマル
チプレクサ54の出力を受信し、ライン20上にテスト
データ出力信号TDOを発生する。ステートマシン50
は、ライン16上の信号TMSと、ライン22上の信号
TRST*と、を受信する。ステートマシン50は、ラ
イン78への命令/データマルチプレクサ選択信号と、
ライン82への命令制御入力信号と、ライン84へのデ
コーダ制御入力信号と、を発生する。IDレジスタ4
2、命令レジスタ44、命令デコーダ46、バイパスラ
ッチ48、ステートマシン50、及びデータコンバータ
57は、それぞれライン14上のテストクロック信号T
CKを受信する。ラッチ56は、ライン64上のインバ
ータ60を介して反転されたテストクロック信号TCK
を受信する。テストクロック信号TCKとテストデータ
入力信号TDIは、ライン38の出力TESTCLK及
びライン28の出力SCANINとしてそれぞれ直接接
続される。集積回路2のテストを実行する際のTAPコ
ントローラ4の作動は、IEEE1149.1−199
0に詳細に説明されている。本質的に、有限長さのスキ
ャンチェインは、チップ境界スキャンチェイン10によ
って形成されるチェインのように集積回路上で形成され
る。TAPコントローラ4は、IEEE基準1149.
1−1990によって定義される同期有限ステートマシ
ンである。IEEE基準1149.1−1990は、集
積回路に含むことのできるテストロジックを定義して、
集積回路間の相互接続のテスト、集積回路自体のテス
ト、集積回路の通常作動中における回路動作の監視又は
修正の標準的な方法を提供する。集積回路2の通常作動
中、TAPコントローラ4は、リセット状態にあり、そ
の入力と出力は全て非作動である。IEEE基準114
9.1−1990によるテストアクセスポートを使用し
たテストを実行する場合、TAPコントローラは前記基
準の定義に従って作動する。このようなテストモードで
は、TAPコントローラ4は少なくとも1つの作動のテ
ストモードを選択できる。1つの可能なテストモードは
スキャンテストモードであり、これはライン24上の信
号SCANMODEを設定することにより選択される。
スキャンテストモードでは、集積回路2上のスキャンチ
ェインがテストのために選択される。本実施形態におい
て、チップ境界スキャンチェイン10が信号SCANM
ODEによって選択される。このようなスキャンテスト
は、単にスキャンチェインの一端にデータを入力し、同
一データがスキャンチェインの他端で出力されることを
確認するためにチェックをすることを含む。或いは、オ
ン−チップの機能ロジックに入力されるデータをスキャ
ンし、1以上のクロックサイクルでチップを機能的にク
ロックして、機能ロジックの出力をスキャンするよう
な、より複雑なスキャン操作を実行できる。オン−チッ
プの任意の接続点または回路をテスト用に接続してスキ
ャンチェインを形成できる。チップ境界スキャンチェイ
ン10は、テストモードで制御されて集積回路2の全て
の入力/出力ポートを接続する一連のフリップフロップ
である。このようなスキャンテスティングの完全な理解
はIEEE基準1149.1−1990を参照すること
から求められる。スキャンテスティングをどのように実
行するかの特定の例として、ヨーロッパ特許出願公開第
0698890号、第0702239号、第07022
40号、第0702241号、第0702242号、第
0702243号、第0709688号が挙げられる。
IEEE基準1149.1−1990のテストアクセス
ポートを使用する公知のテストモードの特徴は、スキャ
ンチェインが有限の長さか又は閉ループであること、ま
た、テストデータ出力信号TDOがテストデータ入力信
号TDIに依存するとともに、テストデータ入力信号と
の時間関係を持つことである。本実施形態では、作動の
診断モードは、IEEE基準1149.1−1990と
一致するオン−チップのソース/宛先ロジックの診断手
順を実行するために提供される。このような診断テスト
モードでは、テストデータ出力信号TDOはテストデー
タ入力信号TDIに依存しないので、このテストデータ
入力信号との時間関係を持たない。テストデータ入力信
号TDIとテストデータ出力信号TDOとの間のチェイ
ンは、無限の長さまたは開ループであると考えられる。
診断モードでは、TAPコントローラ4は、全ての正常
な機能を提供しながら、付加的に全二重の、フロー制御
された、束縛されない直列データを、これがデータの形
式であるとは気づかずに伝える転送エージェントとして
作動する。逆に、TAPコントローラ4は、通常はどん
なフロー制御もせずに選択されたテストチェインを通過
する単一のデータストリームを処理する。テストモード
におけるTAPコントローラ4の作動の大要を、図1及
び図2を参照して説明する。図2においては、信号SC
ANINはテストデータ入力信号TDIに直接接続して
いるが、一定の状況では、信号SCANINは信号TD
Iの修正バージョンであってもよい。同様に、テストク
ロック信号TESTCLKはテストクロック信号TCK
に直接接続しているが、一定の状況では、信号TCKの
修正バージョンであることが要求される。作動のテスト
モードでは、テストデータ入力信号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または信号DIA
GMODEのいずれか一方を設定する。命令レジスタ4
4及び命令デコーダ46のローディングは、IEEE基
準1149.1−1990に従ってステートマシン50
により制御される。命令デコーダ46によってデコード
された命令に応じて、また、以下に更に説明するよう
に、命令デコーダ46のライン70上の並列出力は、デ
ータマルチプレクサ52を制御して、その入力の1つを
出力ライン74に接続する。同様に、ステートマシン5
0のライン78上の出力は、命令/データマルチプレク
サ52を制御して、その入力の1つをライン80上の出
力に接続する。IDレジスタ42は、ライン12上の並
列の信号DEVICEIDを受信する。IDレジスタ4
2は、チップ識別子を記憶し、そのチップ識別子は、I
Dレジスタ42からライン68を介してテストデータ出
力信号TDOにスキャンされる。チップ識別子は集積回
路2を識別する。一つの作動モードにおいて、命令デコ
ーダ46によってデコードされた命令は、マルチプレク
サ52が制御されてライン68上のその入力をライン7
4上のその出力に接続し、また、命令/データマルチプ
レクサ54が制御されてライン74上のその入力をライ
ン80上のその出力に接続する場合に、装置の一致を単
に出力するものでよい。そして、装置の一致は信号TD
Oとして直列に出力される。作動の別のモードでは、ラ
イン76上の直列出力が命令/データマルチプレクサ5
4によりライン80に接続される場合に、テストデータ
出力信号TDOに現行命令を出力することが要求され
る。テスト作動の一つのモードでは、特定の集積回路2
のTAPコントローラ4がテストデータ入力信号TDI
をテストデータ出力信号TDOに接続することだけが要
求される。この作動モードでは、データマルチプレクサ
52が制御されてライン72上のバイパスラッチ48の
出力をライン74上の出力に接続し、命令/データマル
チプレクサ54が制御されてライン74をライン80上
の出力に接続する。このように、テストデータ入力信号
TDIは、ラッチ56を介してテストデータ出力信号T
DOに接続される。ラッチ56は単に、テストデータ出
力信号TDOの時間制御をして、この信号がテストクロ
ック信号TCKの立ち下がりエッジに同期できるように
するためにだけ設けられたフリップフロップである。実
行されるテストモードがスキャンテストモードの場合、
命令デコーダ46が信号SCANMODEを設定する。
データマルチプレクサ52が命令デコーダ46により制
御されて、信号SCANOUTを出力ライン74に接続
する。命令/データマルチプレクサ54もまた制御され
てライン74をライン80に接続して、信号SCANO
UTをテストデータ出力信号TDOとして出力する。こ
のようなスキャンテストモード中では、テストデータ
は、テストデータ入力信号TDIと直接接続する信号S
CANIN上の選択されたスキャンチェイン内にスキャ
ンされる。スキャンテスティング、特に境界スキャンテ
スティングは、IEEE基準1149.1−1990に
十分に説明されている。実行されるテストに応じた付加
制御信号が選択スキャンチェインに供給されて必要なテ
スト作動を実行する必要がある。本実施形態では、命令
デコーダ46がライン26上の信号DIAGMODEを
設定する場合に診断モードに入る。更に、データマルチ
プレクサ52が制御されてライン36上の信号DIAG
SCANOUTをライン74上の出力に接続する。これ
は、命令/データマルチプレクサ54を介してライン8
0に、またラッチ56を介してテストデータ出力信号T
DOに順次接続される。診断モードにおいて、テストデ
ータ入力信号TDIとテストデータ出力信号TDOとの
間の直列データフローは、スキャンテストモードに対抗
するものとしての無限の長さのシフトレジスタを通ると
考えられる。このモードにおいて直列データフローは有
限の長さのシフトレジスタ(シフトレジスタチェイン)
を通る。診断モードでは、テストデータ入力信号TDI
としてテストアクセスポート内にシフトされた一連のビ
ットパターンは、テストデータ出力信号としてテストア
クセスポートの外にシフトされた一連のビットパターン
に反映されない。診断データの通信は、ホストからター
ゲットへ及びターゲットからホストへ(読み出し及び書
き込み)のメモリアクセス要求、CPUレジスタの状態
情報、メモリアクセス要求に応答してホストメモリまた
はターゲットメモリから読み出されたデータ、CPUレ
ジスタ内にロードするための状態データ、及びターゲッ
トCPUによってアクセスされるメモリアドレスに関す
る情報を含む。このように、診断モードは、データの非
割り込みモニタリングまたはデータの割り込みローディ
ングを含む。診断モードにおいて、テストアクセスポー
ト内にシフトされた直列データは、任意の所望の手段、
例えば、データチャンクを表す開始ビット及び停止ビッ
トでエンコードできる単一方向直列データストリームで
ある。同様に、テストアクセスポートを介してシフトア
ウトされたデータは、任意の所望の手段、例えば、デー
タチャンクを表す開始ビット及び停止ビットでエンコー
ドできる1方向直列データストリームである。通常、シ
フトインされたデータ及びシフトアウトされたデータ
は、同様の方法でエンコードされる。1方向入力及び出
力データストリームは、全二重の2方向直列通信を可能
にするために同時に使用される。一連の直列データビッ
トは情報バイトを構成できる。本実施形態において、通
常テストモードに加えて作動の診断モードが提供される
と、集積回路2には、図3に示すように、TAPコント
ローラ4とオン−チップソース/宛先ロジックとの間を
インタフェースするデータアダプタ90が備えられる。
データアダプタ90は、TAPコントローラ4からの入
力として、ライン28上のスキャンデータ入力信号SC
ANINと、ライン38上のテストクロック信号TES
TCLKと、ライン26上の診断モードDIAGMOD
Eの選択を示す信号と、を受信する。データアダプタ9
0は、TAPコントローラ4にライン36上の信号DI
AGSCANOUTを出力する。データアダプタ90
は、ライン92上の送信データバスTXDATAのオン
−チップソース/宛先ロジックからデータを受信し、ラ
イン94上の受信データバスRXDATAのオン−チッ
プソース/宛先ロジックにデータを出力する。データア
ダプタ90は、ライン96上の送信有効信号TXVAL
IDを入力し、ライン98上の送信肯定応答信号TXA
CKを出力する。両信号は、送信データバスTXDAT
Aに関連する制御信号である。データアダプタ90は、
ライン100上の受信有効信号RXVALIDを出力
し、ライン102上の受信肯定応答信号RXACKを入
力する。両信号は、受信データバスRXDATAに関連
する制御信号である。データアダプタ90は、受信シフ
トレジスタ114と、受信バッファ116と、受信制御
ロジック110と、受信フロー制御状態フリップフロッ
プ120と、送信フロー制御状態フリップフロップ12
4と、送信シフトレジスタ118と、送信制御ロジック
112と、を含んで構成される。受信シフトレジスタ1
14は、ライン28上の信号SCANINと受信制御ロ
ジック110からのライン126上の制御信号とを受信
し、バス130上に並列データを出力して受信バッファ
116への入力を形成する。受信バッファ116は、更
に受信制御ロジック110からのライン128上の制御
信号を受信し、ライン94上に受信データバス信号RX
DATAを発生する。受信制御ロジック110は、更に
ライン100上に信号RXVALIDを発生し、ライン
102上の信号RXACKを受信し、ライン26上の信
号DIAGMODEを受信し、ライン134及び132
上に信号STARTDATA及びACKRXをそれぞれ
発生する。受信フロー制御状態フリップフロップ120
は、信号STARTDATAとライン136上の信号T
XSENDACKとを受信し、送信制御ロジック112
への信号RXSENDACKをライン142上に出力す
る。送信フロー制御状態フリップフロップ124は、信
号ACKRXとライン138上の信号TXSENDBY
TEとを受信し、送信制御ロジック112への信号TX
WAITACKをライン140上に出力する。送信制御
ロジック112は、更にライン26上の信号DIAGM
ODEとライン96上の信号TXVALIDとを受信
し、信号TXACKをライン98上に、送信シフトレジ
スタ118への制御信号をライン144上に、並列信号
SERCONTを送信シフトレジスタ118に出力す
る。送信シフトレジスタ118は、更にライン92上の
並列データバスTXDATAを受信し、ライン36上に
信号DIAGSCANOUTを出力する。図にはその接
続は示されてはいないが、データアダプタ90には任意
にオン−チップシステムクロックからの入力が供給され
る。データアダプタとオン−チップソース/宛先ロジッ
クとの間のデータ及び制御信号が、オン−チップソース
/宛先ロジックのクロックと同期する必要がある場合に
は、システムクロックは同期実行のために使用できる。
データアダプタ90は、信号TESTCLK(信号TC
Kから引き出された)によってクロックされたTAPコ
ントローラからソース/宛先ロジックの内部機能のクロ
ック環境まで、また、ソース/宛先ロジックのクロック
環境から信号TESTCLKによってクロックされたT
APコントローラまでの直列データの同期を実行する。
図には示されていないが、TAPコントローラ4は任意
にスキャンイネーブル信号をデータアダプタ90に供給
してもよい。このようなスキャンイネーブル信号は、T
APコントローラがテストデータ出力信号TDOへのデ
ータ出力用スキャンパスを選択したことを示す。データ
アダプタ90は、TAPコントローラ4を介したオフ−
チップからの1方向直列データをオン−チップソース/
宛先ロジックで使用するのにより適したフォーマットに
変換する。逆に、データアダプタ90は、オン−チップ
ソース/宛先ロジックにより供給されるデータフォーマ
ットを1方向直列データに変換する。好ましい実施形態
においては、並列8ビット又はバイトの形式でデータを
オン−チップソース/宛先ロジックに供給するのが望ま
しい。しかしながら、特に受信データバスRXDATA
及び送信データバスTXBUSは、1バイト幅よりも1
ビット幅のみでもよい。また、受信及び送信データバス
RXBUSとTXBUSは、複数バイト幅のバスであっ
てもよい。データアダプタ90は、受信及び送信の両デ
ータの「フロー制御」の機能を実行する。直列データ
は、受信端部がこのデータを受信できる容量を有してデ
ータ損失または低下を防止する時は、TAPコントロー
ラ4を(どちらの方向でも)単に通過するだけである。
受信端部がより多くのデータを受信する用意があること
の通信は、そのような情報を反対方向に送信することに
より実行される。これはフロー制御プロトコルを構成す
る。本実施形態におけるデータアダプタ90は、オン−
チップソース/宛先ロジックとの通信のために1方向直
列データの並列フォーマットへの変換を提供する。この
ように、フロー制御プロトコルはまた、データアダプタ
90とオン−チップソース/宛先ロジックとの間で必要
である。このように、このフロー制御は2つの境界、T
APコントローラ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ビットを直列にロードする。2つの連続した開始ビッ
トS1及びS2に応答して、受信制御ロジック110は
また、受信フロー制御状態フリップフロップ120を設
定するライン134上の信号STARTDATAを設定
する。設定されると、受信フロー制御状態フリップフロ
ップ120は、順次、ライン142上の信号RXSEN
DACKを設定し、この信号により、送信制御ロジック
112は、図4(b) に示される形式でテストデータ出力
信号TDOに肯定応答信号を送る。この肯定応答信号
は、開始肯定応答ビットACKと停止ビットE1のみを
含んで構成される。これらのビットは、ライン144上
の信号の制御下でライン150上の信号SERCONT
として送信シフトレジスタ118に並列に直接ロードさ
れ、信号DIAGSCANOUTとして、図4(b) の直
列形式で送信シフトレジスタ118から出力される。肯
定応答信号が送られると、送信制御ロジック112は、
ライン136上に信号TXSENDACKを設定して、
受信フロー制御状態フリップフロップをリセットし、信
号RXSENDACKをリセットする。本実施形態で使
用されるフロー制御プロトコルによれば、信号SERC
ONTは、開始ビットS1とS2及び停止ビットE1と
を送信シフトレジスタ118内に直接ロードするのを許
可する3ビット信号である。TAPコントローラ4を介
して出力され、オン−チップソース/宛先ロジックによ
って示されるデータバイトが送信データバスTXDAT
A上に現れると、このデータバイトは送信制御ロジック
112の制御下で送信シフトレジスタ118内に並列に
ロードされ、送信制御ロジック112は、図4(a) に示
されるフォーマットの信号を直列にシフトする前に、信
号SERCONTを形成する開始ビットS1、S2及び
停止ビットE1を送信シフトレジスタ内の適宜なビット
位置に直接ロードする。肯定応答信号を送ると、送信制
御ロジック112は単一の開始ビットと停止ビットを送
信シフトレジスタ118内に直接ロードしてから、それ
らを全て直列にシフトする。受信制御ロジック110が
信号SCANINの停止ビットE1を受信すると、デー
タバイトは受信シフトレジスタ114内にロードされ、
受信制御ロジック110の制御下でデータバイトはバス
130上を受信シフトレジスタ114から受信バッファ
116まで転送される。データバイトが受信バッファ1
16内にロードされると、このデータバイトは、ライン
100上の信号RXVALIDも設定する受信制御ロジ
ック110の制御下でバスRXDATA上に出力され
る。信号RXVALIDに応答して、オン−チップソー
ス/宛先ロジックはRXBUS上のデータバイトを受け
入れ、この受信をライン102上の信号RXACKを設
定することによって示す。信号RXACKに応答して、
受信制御ロジック110は、信号RXVALIDをリセ
ットし、受信シフトレジスタ114内に別のデータバイ
トがある場合は、信号RAVALIDを再度設定する前
にこれを受信バッファ116に転送する。受信バッファ
116が好ましい実施形態において提供される。これ
は、データの受信をオーバーラップする公知のトークン
を2つの開始ビットが受信されるとすぐに送信させ、ま
た、連続したバイトを、各バイトの間にどんな隙間もな
しに転送させることによって、効果的なデータ転送速度
を維持する。データバッファリングもまた送信側に設け
ることができる。オン−チップソース/宛先ロジック
は、データバイトをTXDATAバス92上のデータア
ダプタ90に並列に転送する。オン−チップソース/宛
先ロジックが、転送されるデータバイトを有している時
は、ライン96上の信号TXVALIDが設定される。
信号TXVALIDが設定されるのに応答して、送信制
御ロジック112が、ライン144を介して送信シフト
レジスタ118を制御してTXDATAバス上のデータ
バイトを並列にロードする。更に、ライン150を使用
して、送信制御ロジック112は、適宜な開始ビットS
1とS2及び停止ビットE1を送信シフトレジスタ11
8内にロードする。そして、再びライン144を介した
送信制御ロジック112の制御下で、2つの開始ビット
と1つの停止ビットを含むデータバイトが信号DIAG
SCANOUTとして送信シフトレジスタ118から外
に直列にシフトされ、これはTAPコントローラ4を介
して信号TDOに接続される。バスTXDATA上のデ
ータバイトがシフトレジスタ内にロードされると、送信
制御ロジック112は、ライン98上に信号TXACK
を設定してオン−チップソース/宛先ロジックへのデー
タバイトの受信の肯定応答をする。そして、オン−チッ
プソース/宛先ロジックは別のデータバイトを送信でき
る。データバッファリングが、必要に応じて送信シフト
レジスタ118と関連して提供される。送信シフトレジ
スタ118が送信制御ロジック112に制御されて、図
4(a)に示される形式の直列データを出力すると、送信
制御ロジック112はまた、ライン138上に信号TX
SENDBYTEを設定し、この信号は送信フロー制御
状態フリップフロップ124を設定する。この信号に応
答して、送信フロー制御状態フリップフロップ124は
ライン140上に信号TXWAITACKを設定する。
信号TXWAITACKが設定されると、データバイト
が受信されたことをオン−チップソース/宛先ロジック
が肯定応答するのを送信制御ロジック112は待つ。オ
ン−チップソース/宛先ロジックは送信データバイトを
うまく受信すると、図4(b) に示されるタイプの肯定応
答信号をテストデータ入力信号TDIに送る。ライン2
8上の信号SCANINのような肯定応答信号を受信す
ると、受信制御ロジック110は、ライン132上に信
号ACKRXを設定して、送信フロー制御状態フリップ
フロップ124をリセットさせ、結果として信号TXW
AITACKをリセットさせる。そして、送信制御ロジ
ック112は、オン−チップソース/宛先ロジックから
の次の並列データバイトの受信及び送信のための準備を
する。図5は、ホストメモリとターゲットメモリとの間
の接続を確立するのにどのようにデータアダプタ90を
使用するかを系統図形式で示す。集積回路2は、相互の
間をオフ−チップで通信し、また、上記信号を使用して
オン−チップで回路と通信する、TAPコントローラ4
とデータアダプタ90とを含んで構成される。図5にお
いて、上述の信号に相当する信号には同様の参照符号を
使用する。図5から明らかなように、集積回路2はま
た、メモリバスアダプタ160と、ターゲットCPU1
62と、オン−チップメモリ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上の信号E
XTTXDATA、EXTTXVALID及びEXTR
XACKをメモリバスアダプタ194から受信する。メ
モリバスアダプタ194は外部メモリバス198に接続
される。ホストCPU200は、外部メモリバス198
に接続され、別のオフ−チップメモリ202も外部メモ
リバス198に接続される。TAPコントローライニシ
ャライザ176は、テストモードか診断モードのいずれ
かの作動用のTAPコントローラ4を構成する。メモリ
バスアダプタ160,194は、バスRXDATA上の
並列データをオン−チップソース/宛先ロジックと通信
するのにより適宜なメッセージフォーマットに調整す
る。このため、メモリバスアダプタはメッセージコンバ
ータであって、英国特許出願第9622685.7号に
開示されるタイプのメッセージコンバータである。メモ
リバスアダプタはまた、オン−チップソース/宛先ソー
スのメッセージフォーマットをバスTXDATAの送信
用の並列データバイトに変換する。図5の構成は種々の
診断手順に使用できる。オン−チップ及びオフ−チップ
直列リンクが集積回路2とホストCPU200との間の
種々の異なるタイプの診断データの通信を可能にする。
ホストCPU200は、オン−チップバスシステム16
6を使用してオン−チップメモリ164またはオフ−チ
ップメモリ174にアクセスできるが、これにはターゲ
ットCPU162を必要としない。このためには、ホス
トCPUによりなされたメモリアクセス要求が、オフ−
チップメモリバスアダプタ194と、データアダプタ1
80と、TAPコントローライニシャライザ176と、
オン−チップTAPコントローラ4と、データアダプタ
90と、メモリバスアダプタ160と、を含んで構成さ
れるインタフェース回路を介して、ここに述べられる種
々の変換を行って送信できる。同様に、オン−チップメ
モリ164またはオフ−チップメモリ174から読み出
されたデータは、オン−チップバスシステム166とイ
ンタフェース回路とを介してホストCPUに戻ることが
できる。逆に、ターゲットCPUが、ホストCPUに関
連したオフ−チップメモリ202とアクセスできる。ホ
ストCPU200に関連したオフ−チップメモリ202
から読み出されたデータも、同様にインタフェース回路
を介して戻ることができる。また、ターゲットCPUが
診断目的のために監視される。例えば、それ自体のメモ
リへのそのアクセスがオン−チップ回路によって監視さ
れ、アクセスされたメモリアドレスに関する情報がイン
タフェース回路を使用してホストCPUに送信される。
更に、ターゲットCPUは、その状態を示す構成レジス
タを含むか又はアクセスできる。これらのレジスタの内
容に関する情報はオフ−チップでインタフェース回路を
使用してホストCPUに送信される。逆に、特定状態情
報がこれらのレジスタ内にロードされてホストCPUの
命令下でターゲットCPUの状況に影響を与える。この
ように、ここで述べられるインタフェース回路は、ホス
トからターゲットへのまたターゲットからホストへの
(読み出し及び書き込み)メモリアクセス要求、CPU
レジスタの状態情報、メモリアクセス要求に応答したホ
ストメモリまたはターゲットメモリからの読み出しデー
タ、CPUレジスタ内へロードするための状況データ及
びターゲットCPUによりアクセスされるメモリアドレ
スに関する情報を含む診断データの通信を可能にする。
このように、インタフェース回路は、以下の診断上の機
能を回路内に提供できる。リアルタイムの診断手順の実
行機能、即ち、ターゲットCPUがリアルタイムで作動
すると同時に、その作動に割り込まずに診断手順を行
う。特に、メモリバスの監視とターゲットメモリへのア
クセスが、ターゲットCPUを必要とせずにホストCP
Uにより行える。ホストCPUからターゲットメモリ及
び構成レジスタへのアクセス。ターゲットCPUからホ
ストメモリへのアクセス。ホストプロセッサからCPU
のブーティング操作を実行する機能を含む、ターゲット
CPU及びサブシステムの制御。本実施形態では、テス
トデータ入力信号TDIとテストデータ出力信号TDO
上の作動の診断モードにおけるテストアクセスポート内
及び外へシフトされる1方向直列データストリームは、
メッセージ形式の情報である。このようなメッセージ
は、ホストCPUまたはターゲットCPUによって開始
される。デバッギング環境において、ホストCPUは、
オン−チップソース/宛先ロジックの割り込み又は非割
り込み診断を実行できる。或いは、診断モードにおい
て、このようなメッセージは、ターゲットCPUによっ
て開始できる。図5のメモリバスアダプタ160は、チ
ップに入力されるメッセージを、オン−チップソース/
宛先ロジックによって使用するための制御情報、アドレ
ス及びデータに変換する。本実施形態では、各メッセー
ジは複数のバイトで構成されるパケットである。前述の
ように、データアダプタ90は入力する直列データを並
列バイトに変換し、出力するバイトを直列データに変換
する。メモリバスアダプタ160は、入力するメッセー
ジをデコードして、オン−チップソース/宛先ロジック
に制御情報、アドレス情報及びデータ情報を供給する。
同様に、メモリバスアダプタ160は、オン−チップソ
ース/宛先ロジックからの制御情報、アドレス情報及び
データ情報を、データアダプタに並列で送信されたメッ
セージにエンコードする。本実施形態において、開始さ
れる2つのタイプのメッセージと、応答として発生する
2つのタイプのメッセージがある。開始される2つのタ
イプのメッセージは、特定メモリ位置に特定データを書
き込むためのメモリ書き込み要求「poke」と、特定
メモリ位置からデータを読み出すためのメモリ読み出し
要求「peek」とである。レスポンスとして発生する
2つのタイプのメッセージは、メモリ読み出し要求に応
答して読み出しデータを戻す「peeked」メッセー
ジと、後述の「triggered」メッセージとであ
る。各メッセージの第1のバイトは、ヘッダバイトであ
り、4つのメッセージの各々の構成は図6に示される。
ヘッダバイトは、パケットの性質を識別するパケット識
別子を構成する。第1の2ビットのヘッダバイトは、メ
ッセージのタイプ、即ち、メッセージが「poke」、
「peek」、「peeked」又は「trigger
ed」メッセージかどうか、を識別するタイプ識別子で
ある。以下の6ビットのヘッダバイトは、ヘッダバイト
に続き前記メッセージに関連するワード数を識別して、
パケットの長さを識別する長さ識別子として機能する。
或いは、以下に詳細に説明するように、これらの6ビッ
トは理由識別子として機能できる。図7は本実施形態に
よる4つのタイプのメッセージの各々の構成を示す。図
7(a) は「poke」ヘッダバイト00+WORDCO
UNTを含んで構成される「poke」メッセージを示
し、アドレスワードが続き、更に少なくとも1つのデー
タワードが続く。図7(b) は「peek」ヘッダバイト
01+WORDCOUNTを含んで構成される「pee
k」メッセージであり、アドレスワードが続く。図7
(C) は「peeked」ヘッダバイト10+WORDC
OUNTを含んで構成される「peeked」メッセー
ジであり、少なくとも1つのデータワードが続く。図7
(d) は「triggered」ヘッダバイト11+RE
ASONのみを含む「triggered」メッセージ
である。4つのタイプのメッセージの各々の操作は以下
に詳細に説明する。上記のように、メモリバスアダプタ
160は、メッセージコンバータとして機能し、以下に
説明される。図8は、本実施形態によるメッセージコン
バータ160のブロック図である。既に詳細に説明した
ように、メッセージコンバータ160は、データアダプ
タ90からライン94上の受信データバスRXDATA
の情報バイトを受信し、ライン92上の送信データバス
TXDATAの情報バイトをデータアダプタ90に送信
する。更に、上述のように、メッセージコンバータ16
0は、データアダプタからのライン100及び98上の
信号RXVALID及びTXACKのそれぞれを受信
し、ライン102及び96上に信号RXACK及びTX
VALIDのそれぞれをデータアダプタに発生する。ま
た、メッセージコンバータ160は、3つのメモリバス
ポート、即ち、メモリスレーブバス220、メモリマス
タバス222及びメモリモニタバス226を介してオン
−チップソース/宛先ロジックとインタフェースする。
メッセージコンバータ160はさらに、診断バス234
を介してオン−チップソース/宛先ロジックとインタフ
ェースする。更に、メッセージコンバータ160は、ラ
イン236上のシステム信号SYSTEMを受信する。
メモリスレーブバス220、メモリマスタバス222、
メモリモニタバス226及び診断バス234は、それぞ
れ1方向バスとして図8に示される。しかしながら、各
バスは、図8の矢印で示されるのとは反対の方向の信号
を含む。図8において使用される規則は、バスの矢印方
向が要求がなされる方向を反映することである。図9
は、特に各バスに含まれる信号を示す。図9を参照する
と、各バスは、複数のADDRESS信号350と、複
数のWRITE_DATA信号352と、複数のREA
D_DATA信号354と、1つのREQUEST信号
356と、1つのGRANT信号358と、1つのVA
LID信号360と、を含む。各バスは、図示されない
関連する他の制御信号、即ち、読み出し書き込み制御信
号を有する。図9から明らかなように、ADDRESS
信号350とWRITE_DATA信号352とREQ
UEST信号356とは、全て1方向に伝達され、RE
AD_DATA信号354とGRANT信号358とV
ALID信号360とは、反対方向に伝達される。しか
しながら、メモリモニタバス226において、READ
_DATA信号354とGRANT信号358もまた、
ADDRESS信号350、WRITE_DATA信号
352、REQUEST信号356と同じ方向に伝達で
きることは言うまでもない。VALID信号360は、
メモリモニタバス226には接続されない。メモリマス
タバス222は、オフ−チップホストCPUによって駆
動されてメモリアクセス要求をターゲットCPUメモリ
領域につくり、また、診断機能によっても駆動できる。
メモリスレーブバス220は、ターゲットCPUによっ
て駆動されてオフ−チップメモリまたは診断機能にメモ
リアクセス要求をつくる。メモリモニタバス226は、
メモリスレーブバス220と同じオン−チップ信号に接
続され、診断機能により使用されてどのターゲットCP
Uがスレーブバスを使用するかを確認(非割り込み)す
る固定通路バスである。診断バス234は、メモリバス
というよりはレジスタアドレスバスであり、診断機能に
より発生する「triggered」事象を伝達すると
同時に、オン−チップ診断機能からの読み出し及びオン
−チップ診断機能への書き込みを実行できる。診断バス
はまた、診断機能からのメモリアクセス(メモリマスタ
バスを介したローカルオン−チップ/オフ−チップメモ
リへのまたはデータアダプタを介したリモートホストメ
モリへの)を開始するのに使用される。状態信号が、タ
ーゲットCPUから診断機能を介してメッセージコンバ
ータに供給される。これらの信号は、命令ポインタが有
効である時を示す制御信号を備えた命令ポインタ等のタ
ーゲットCPU進行情報を含む。ホストCPUは、命令
ポインタを監視してターゲットCPUが何をしているか
を判定する。状態信号はまた、CPUの作動状態に関す
る付加的な情報を提供する多面的な個別の制御信号を含
む他のターゲットCPU状態信号を含む。状態は、診断
バスの「register」読み出しによりアクセスさ
れる。命令ポインタもまた異なるレジスタアドレスから
ではあるが、「register」読み出しによりアク
セスできる。オン−チップソース/宛先ロジックのステ
ータスに関連する他の情報は、オン−チップレジスタに
関連する情報等のステータス信号として含まれるが、こ
のような情報は、一般的には診断目的のためのオン−チ
ップ機能のいくつかの抽出を含むレジスタから引き出さ
れるだけである。機能信号は任意の非割り込みオン−チ
ップ診断機能、例えば、診断情報及び制御の抽出を容易
にする任意のレジスタ、に接続できる。メモリマスタバ
スは、オン−チップのアドレスバスと、書き込みバス
と、読み出しバスと、関連する制御信号とに接続され
る。メモリマスタバスは、オン−チップメモリ164、
オフ−チップメモリ174及び構成レジスタ等のメモリ
バスを介してアクセス可能な任意の他のリソースを含む
ターゲットメモリスペース内の範囲に、ホストCPU及
び診断機能がアクセスできるように使用される。個別の
バスポートにオン−チップソース/宛先ロジックとの種
々の接続点を設けるよりも、それらの間を識別する適宜
な制御信号を使用して、いくつかのバスを組合せること
ができる。例えば、メモリバス書き込みデータと読み出
しデータとは、共通のメモリデータバスに組合される。
メモリアドレスはメモリデータに組合される。メモリス
レーブバスはメモリマスタバスに組合される。このよう
な選択肢は、実行、領域及び他の要素間の実行トレード
オフを表す。ライン236上のシステム信号は、システ
ムサービスに接続点を提供する。このようなシステムサ
ービスは、例えば、クロッキング、電源、リセット、テ
ストである。メッセージコンバータ160は、データア
ダプタによって直列ビットフォーマットから直列バイト
フォーマットに変換された連続した情報バイトを受信
し、ヘッダバイトを読み出してその内部に伝えられるメ
ッセージを決定する。このようにメッセージコンバータ
160は、入力するメッセージを解釈して必要な作動を
実行する。この必要な動作には、ホストに戻される情報
を選択すること、又は、メッセージコンバータに接続さ
れるバスのうちの適宜な1つを介してメモリアクセスを
開始してデータを読み出すか書き込むことが含まれる。
メッセージコンバータ160はまた、メッセージプロト
コルに従ってオン−チップバスから受信した並列データ
をオフ−チップ送信用のメッセージに編集する。これに
は、ヘッダバイトを並列データとアドレスバイトとに配
分して、入力するデータ、アドレス及び制御信号に応じ
てメッセージの性質を定義することが含まれる。図8の
メッセージコンバータ160の作動と図6及び7のメッ
セージプロトコルとを図10を参照して詳細に説明す
る。図10は、本実施形態によるメッセージコンバータ
160を示す。メッセージコンバータ160は、ヘッダ
レジスタ240と、アドレスレジスタ242と、データ
レジスタ244と、減分制御246と、増分制御248
と、シフト制御250と、ステートマシン252と、バ
ス選択及び指定ロジック254と、を含んで構成され
る。メッセージコンバータ160には、全ての制御信号
を伝達するための内部制御バス258と、内部情報バス
256と、が備えられる。内部制御バス258は、ステ
ートマシン252に接続し、ステートマシン252への
及びステートマシン252からのフロー制御信号RXV
ALID、RXACK、TXVALID及びTXACK
を伝達する。内部制御バス258は更に、ライン260
上の減分制御信号を減分制御246に、ライン262上
の増分制御信号を増分制御248に、ライン264上の
シフト制御信号をシフト制御250に、ライン266上
のヘッダ制御信号をヘッダレジスタ240に、ライン2
68上のアドレス制御信号をアドレスレジスタ242
に、ライン270上のデータ制御信号をデータレジスタ
244に、また、ライン272上の選択及び指定制御信
号をバス選択及び指定ロジック254に伝達する。ヘッ
ダレジスタ240は、減分制御246からライン241
上の制御信号を受信し、アドレスレジスタ242は、増
分制御248からライン243上の制御信号を受信し、
また、データレジスタ244は、シフト制御250から
ライン245上の制御信号を受信する。情報バス256
は、受信データバイトRXDATAをヘッダレジスタ2
40、アドレスレジスタ242、データレジスタ244
及びバス選択及び指定ロジック254に伝達する。ま
た、情報バス256は、バス選択及び指定ロジック25
4、データレジスタ244、アドレスレジスタ242及
びヘッダレジスタ240からの出力を送信データ信号T
XDATAに伝達する。バス選択及び指定ロジック25
4は、メモリスレーブバス220、メモリマスタバス2
22、メモリモニタバス226及び診断バス234の1
つへの或いはこれらの1つからの情報バス256上の情
報を指定し、その情報は、本実施形態ではバイト幅のも
のである。図10の実施形態において、システム信号2
36は、ヘッダレジスタ240と、アドレスレジスタ2
42と、データレジスタ244と、ステートマシン25
2とをクロックするのに使用されるライン280上のク
ロック信号を提供するだけである。メッセージコンバー
タ160の作動を、予測される種々のメッセージタイプ
について以下に説明する。ホストCPUが「poke」
を開始すると、図7(a) に示される形式の直列メッセー
ジが、集積回路2 のテストアクセスポートで受信され、
続いて、受信データバスRXDATA上でデータアダプ
タ90によって並列の情報バイトの形式で出力される。
受信データバスRXDATA上の各並列情報バイトを出
力すると、データアダプタ90は、ライン100上で信
号RXVALIDを設定する。ライン100上の信号R
XVALIDに応答して、メッセージコンバータ160
のステートマシン252は、受信データバスRXDAT
Aの情報バイトをメッセージコンバータ160内にロー
ドし、ライン102上に信号RXACKを設定して情報
バイトの受信を肯定応答する。信号RXVALIDを設
定してメッセージの第1の情報バイトを示すデータアダ
プタ90に応答して、ステートマシン252は、ライン
266を介してヘッダレジスタ240を制御し、受信デ
ータバスRXDATAの情報バイトを内部情報バス25
6を介してヘッダレジスタ240内にロードする。そし
て、ステートマシン252は、ヘッダレジスタ240内
にロードされたバイトのうちの少なくとも2つの重要な
ビットを検索して、どのタイプのメッセージが入力する
のかを決定する。この場合、ステートマシン252は、
受信したバイトの少なくとも2つの重要なビットを00
として識別し、「poke」メッセージに対応するとし
て入力メッセージを識別する。ホストCPUによって開
始された「poke」メッセージは、ホストCPUがタ
ーゲットCPUメモリ領域内に特定アドレスで挿入しよ
うとするデータを含む。ヘッダレジスタ240に記憶さ
れたヘッダバイトと関連するワードカウントは、メッセ
ージ内のデータワード数のカウントである。ステートマ
シン252は、ライン268を介してアドレスレジスタ
242を制御して、受信データバスRXDATA上で受
信される次の4バイトを、情報バス256を介してアド
レスレジスタ242内にロードする。この4バイトはア
ドレスワードを形成する。アドレスワードがアドレスレ
ジスタ242内にロードされると、受信データバスRX
DATAで受信される第1のデータワードを形成する次
の4バイトが、制御ライン270を介してステートマシ
ン252の制御下でデータレジスタ244内にロードさ
れる。そして、ステートマシン252は、ライン272
を介してバス選択及び指定ロジック254を制御してア
ドレスレジスタ242とデータレジスタ244の内容を
メモリマスタバス222に出力する。アドレスレジスタ
とデータレジスタの内容をメモリマスタバス222に出
力すると、ステートマシン252は、前記バスに関連す
る書き込み制御信号と、メモリマスタバスに関連するラ
イン356上の要求信号とを設定する。アクセスされる
ターゲットCPUのメモリスペースに関連するメモリア
ービタは、要求されたメモリアクセスが進行できること
を判定すると、メモリマスタバスに関連するライン35
8上の許可(GRANT)信号を宣言する。より高い優
先順位の要求者(例えばCPU)が要求を出さずに前回
アクセスを完了した場合、メッセージコンバータ160
は低優先順位を持ってもよい。要求及び許可の信号セッ
トは、各データワード転送毎に要求される。メモリアク
セス後、ヘッダレジスタ240に含まれるワードカウン
トが1ではない場合(本実施形態では、1はゼロのワー
ドカウントを示す)、アドレスレジスタ242は、制御
ライン243を介して増分制御248によって増分さ
れ、別のワード情報がデータレジスタ244内にロード
される。更に、レジスタ244へのデータワードのロー
ディング後、アドレスレジスタ242内に記憶されたア
ドレス及びデータレジスタ244内に記憶されたデータ
は、書き込み制御信号及び要求信号が設定されるのとと
もにメモリマスタバス上に出力され、また、データレジ
スタ244内に含まれるデータワードがアドレスレジス
タ242内に含まれるアドレスに書き込まれる。その肯
定応答は、メモリマスタバス上に許可信号を設定するメ
モリアービタによって確認される。この一連のアドレス
レジスタ242の増分とデータレジスタ244内への4
バイト情報のローディングは、ヘッダレジスタ240に
含まれるワードカウントが1と同じ、即ち、データワー
ドが残らない、状態になるまで継続する。ホストCPU
が「peek」を開始すると、図7(b) に示される形式
の直列メッセージが集積回路2のテストアクセスポート
で受信され、続いて受信データバスRXDATA上のデ
ータアダプタ90によって並列情報バイト形式で出力さ
れる。信号RAVALIDを設定して第1の情報バイト
を示すデータアダプタ90に応答して、ステートマシン
252はヘッダレジスタ240を制御してその内部に情
報バイトをロードする。そして、ステートマシン252
はその内部にロードされたバイトのうち少なくとも2つ
の重要なビットを検索して、どのメッセージが入力する
かを判定するが、この場合、受信したバイトのうち少な
くとも2つの重要なビットを01として識別し、入力す
るメッセージを「peek」メッセージに対応するもの
として識別する。ホストCPUによって開始される「p
eek」メッセージはターゲットCPUメモリ領域内に
アドレスを含み、その内容はホストCPUが検索する。
ステートマシン252が、その内部に含まれる第1の2
ビットのヘッダバイトを01として識別することによ
り、ヘッダレジスタ240内にロードされた「pee
k」メッセージを識別すると、ステートマシン252
は、ヘッダバイトの第1の2ビットを「peeked」
ヘッダ用の適宜なビット、即ち、10に対応するように
変化させて、この変化させたヘッダバイトを送信データ
バスに送信してヘッダレジスタ内に記憶されたワードカ
ウントをそのまま含むホストCPUに戻し、図7(c)に
示される形式の戻された「peeked」メッセージの
ヘッダバイトを形成する。言い換えれば、「peek」
ヘッダバイトは「peeked」ヘッダバイトとして、
そのままのワードカウントと01から10に変化した少
なくとも2つの重要なビットとともに戻される。受信デ
ータバスRXDATA上で受信された次の4バイト情報
がアドレスレジスタ242内にロードされてアドレスワ
ードを形成する。ステートマシン252は、ライン27
2を介して選択及び指定ロジック254を制御し、メモ
リマスタバスに関連する読み出し制御信号の設定と、メ
モリマスタバスに関連する要求信号が設定されるのと、
を連係して、アドレスレジスタ242に含まれるアドレ
スワードをメモリマスタバス222上に出力する。設定
される要求信号に応答して、アクセスされるターゲット
CPUのメモリスペースに連絡するメモリアービタが、
要求されたアクセスが進行できることを判定すると、ア
ービタはメモリマスタバスに関連する許可信号を設定す
る。メモリマスタバス上のアドレス出力に関連する実際
のメモリ位置がアクセスされ、その内部に記憶されたデ
ータがメモリマスタバスの読み出しデータバス上に出力
されると、アービタはメモリマスタバスに関連する信号
VALIDを設定してデータがホストCPUに返送され
る用意ができていることを示す。設定される信号VAL
IDに応答して、ステートマシン252は、ライン27
2を介してバス選択及び指定制御ロジックを制御してメ
モリマスタバスの読み出しデータバス上のデータをデー
タレジスタ244内にロードする。データレジスタ24
4内にロードされたデータワードは、内部情報バス25
6を介して送信データバスTXDATA上に一度に1バ
イトずつシフトアウトされて、ホストCPUに返送され
る。要求、許可及び有効の信号のセットが転送される各
データワード毎に必要である。データレジスタ244内
にロードされたデータワードがホストCPUにシフトバ
ックされた後、ステートマシン252はライン260を
介して減分制御246を制御し、制御ライン241を介
してヘッダレジスタ240に含まれるワードカウントを
1だけ減少させる。ワードカウントが1ではない場合、
増分制御248がライン262を介してステートマシン
252によって制御されて、制御ライン243を介して
アドレスレジスタ242に含まれるアドレスを増加し、
このアドレスが再びバス選択及び指定ロジック254に
よって設定された要求信号及び読み出し制御信号ととも
にメモリマスタバス222上に出力される。このよう
に、ターゲットCPUメモリ領域内の次の連続したメモ
リ位置が読み出され、その内容がメッセージコンバータ
160のデータレジスタ244内に書き込まれる。ま
た、このデータワードは1バイトずつ送信データバスT
XDATA上でホストCPUにシフトアウトされ、ヘッ
ダレジスタ内のワードカウントが再び1だけ減少され
る。ヘッダレジスタ240に含まれるワードカウントが
0と同じ、即ちデータワードが残らない状態になるま
で、このサイクルが繰り返される。ターゲットCPU
は、「poke」又は「peek」メッセージを開始し
てホストCPU200のメモリスペースからデータを書
き込むかまたは読み出す。ターゲットCPU領域のメモ
リスレーブバス220とその関連制御信号を監視し、読
み出しまたは書き込み制御信号に関連して、ターゲット
CPUによるアドレスバス上のアドレス出力がターゲッ
トCPUではなくホストCPUのアドレス範囲内である
ことを識別するステートマシン252によって、ターゲ
ットCPUによる「poke」メッセージまたは「pe
ek」メッセージの開始が認識される。複数ワードの
「peek」メッセージ及び「poke」メッセージを
実行する上記のようなターゲットCPUにより開始され
る「poke」メッセージ及び「peek」メッセージ
に対して、ターゲットCPUは単一ワードの「pee
k」メッセージ及び「poke」メッセージのみを実行
できる。ターゲットCPUが「poke」メッセージを
開始すると、これは、メモリスレーブバスの書き込みデ
ータバスに関連する書き込み信号と、設定されるメモリ
スレーブバスに関連する要求信号とを識別するステート
マシン252によって認識される。また、ステートマシ
ン252は、メモリスレーブバスによって要求される書
き込みデータと関連するアドレスがターゲットCPU領
域のメモリ範囲の外側であることを認識する。この状況
に応じて、ステートマシン252は、図6(a) に示され
るような予め記憶された「poke」ヘッダバイトを制
御ライン266を介してヘッダレジスタ240内に直接
ロードする。このような「poke」ヘッダバイトは1
つのデータワードを示すワードカウントを持つ。そし
て、メモリスレーブバスのアドレスデータバス上のアド
レスワードはバス選択及び指定ロジック254を介し
て、ステートマシン252の制御下でアドレスレジスタ
242内にロードされ、メモリスレーブバスの書き込み
データバス上の書き込みデータも同様にデータアダプタ
160のデータレジスタ244内にロードされる。そし
て、ステートマシン252の制御下で、ヘッダレジスタ
240内の「poke」に含まれる4バイトデータが続
く。同様に、要求信号とターゲットCPU領域のアドレ
ス範囲の外側のメモリスレーブバスのアドレスバス上の
アドレスとに関連して読み出し信号をメモリスレーブバ
ス上で識別するステートマシン252に応答して、ステ
ートマシン252は、「peek」ヘッダバイトに相当
する図6(b) に示されるヘッダバイトをヘッダレジスタ
240内にロードする。この場合、ヘッダバイトは1つ
のワードカウントを含む、即ち、データワードがないこ
とを示す。同様に、上述のように、ステートマシン25
2はまた、データアダプタ160を制御してメモリスレ
ーブバスのアドレスバス上のアドレスをアドレスレジス
タ242内にロードする。そして、ヘッダレジスタ24
0に含まれるヘッダバイトは、送信データバスTXDA
TA上に出力され、アドレスレジスタ242に記憶され
た4つの連続したバイトが続く。この段階で、メッセー
ジコンバータ160は、開始されたターゲット「pee
k」メッセージで終了するが、ターゲットCPUはメモ
リスレーブバス220上の信号VALIDを受信してい
ない。結果として、ターゲットCPUは「stuck」
(即ち、固定されたかまたは継続して待機中)であり、
何もしていない(停止または他の中断ではない)。しか
しながら、メッセージコンバータ160は「stuc
k」ではなく、その他の活動(CPUが「stuck」
なので開始されたターゲット「peek」メッセージま
たは「poke」メッセージを受信しないが)を進行す
る位置にいる。このように、メッセージコンバータがメ
モリアクセスメッセージをオフ−チップホストプロセッ
サに送信すると、後続のメッセージまたは要求を自由に
処理できる。ターゲットCPUにより開始された「po
ke」メッセージまたは「peek」メッセージに応答
して、ホストCPUは「peeked」メッセージで応
答する。ホストCPUからの「peeked」メッセー
ジの受信は、図6(c) の構成に対応するヘッダレジスタ
内のヘッダバイトを認識するステートマシン252によ
って識別される。受信データバスRXDATAからの次
の4バイトの情報がデータレジスタ244内にシフトさ
れ、その内部にロードされたデータワードが、設定され
るメモリスレーブバスと連絡する信号VALIDと関連
して、ステートマシン252の制御下で、ターゲットC
PU領域のメモリスレーブバス220のデータバスに、
バス選択及び指定制御ロジック254によって転送され
るので、ターゲットCPUのメモリスペースと連絡する
メモリアービタに、「peek」要求によって要求され
たデータが利用可能であることを表示する。ターゲット
CPUは単一ワード「peek」を開始するだけなの
で、ホストCPUからの「peeked」メッセージは
単一データワードのみを含む。ターゲットCPUが信号
VALIDを受信すると、「stuck」ではなくな
る。メモリスレーブバス220は、ターゲットCPUに
よって使用されて、メッセージコンバータ160を介し
てホストCPUによってアクセスされるオン−チップ診
断機能にアクセスする。これは開始されたターゲット
「peek」/「poke」に使用するのと同じバスで
あり、アドレス範囲は、これがオン−チップ診断機能へ
のアクセスかどうか判定する。ターゲットCPUによっ
てメモリスレーブバス220上で開始される任意の作動
に応答して、ステートマシン252はライン272を介
してバス選択及び指定ロジック254を制御しメモリス
レーブバス220上の任意の情報または制御信号を診断
バス234に転送する。図11を参照すると、図8及び
図10のメッセージコンバータ160と、オン−チップ
ソース/宛先ロジックまたはターゲット領域とホストC
PUと、の間の相互接続が概略的に示される。図5を参
照して前述したように、集積回路2は、TAPコントロ
ーラ4と、データアダプタ90と、CPUレジスタ16
3を有するターゲットCPU162と、オン−チップメ
モリ164と、を含んで構成される。加えて、図11の
集積回路2は、診断レジスタ301を有する診断機能回
路300と、メモリキャッシュ302と、外部メモリイ
ンタフェースコントローラ304と、図10で詳細に説
明したメッセージコンバータ160と、を含んで構成さ
れる。図11において、ホストCPU200がホスト通
信アダプタ308を介して集積回路2のTAPコントロ
ーラ4とインタフェースすることが示されている。本実
施形態において、ホスト通信アダプタ308は、TAP
コントローライニシャライザ176と、データアダプタ
180と、図5において説明したメモリバスアダプタ1
94と、を含んで構成される。また、ホスト通信アダプ
タ308は、ホストCPU200からまたはホストCP
U200へのメッセージを変換するための集積回路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をインタフェースする。図11
の構成は、オン−チップソース/宛先ロジックとホスト
CPUとの間でメッセージを送信することによって種々
の診断手順を実行するのに使用できる。診断バス234
は、診断機能回路300の診断レジスタ301への又は
診断レジスタ301からの読み出し及び書き込みを可能
にするとともに、トリガ事象を読み出させる。ターゲッ
トCPUに関連する制御情報は、診断機能回路300か
ら読み出される。ターゲットCPUに関連する命令ポイ
ンタと他の制御信号は、診断機能回路300の診断レジ
スタ301に記憶される。命令ポインタは、診断レジス
タ301の一つに連続して複写され、診断バス234上
の要求によってアクセスされる。ターゲットCPUの状
態を検索するには、診断機能回路300の診断レジスタ
301の一つを検索する必要がある。診断レジスタ30
1は、例えば、STORE、TRAP、TAKE_A_
TRAP、TRAP_AT_NEXT_EXIT等の、
ターゲットCPUの種々の制御信号を記憶できる。これ
らの信号は特定のワイヤを介してCPUに伝達される。
前述のように、ホストCPUがメモリマスタバス222
を介してターゲットCPUメモリスペース内のメモリ位
置に書き込みができるのと同様の方法で、ホストCPU
は、診断バス234を介して診断機能回路300内のレ
ジスタに書き込みができる。診断機能回路300のレジ
スタに書き込みをするホストCPUに応答して、トリガ
された事象が発生する。このトリガ事象は、トリガ事象
を識別する理由コードに関連する要求信号を識別するス
テートマシン252によってメッセージコンバータ16
0内で検出される。要求信号に応答して、ステートマシ
ン252は、トリガ事象に関連する理由コードを、トリ
ガヘッダバイトを識別する2ビット11とともに、ヘッ
ダレジスタ240内にロードする。そして、ヘッダレジ
スタ240に記憶されたトリガヘッダバイトが送信デー
タバスTXDATA上をターゲットCPUに出力され
る。上記のように、ターゲットCPU自体が、メモリモ
ニタバス226と診断バス234とを介して診断機能回
路300にアクセスできる。同様に、ターゲットCPU
が診断機能回路に書き込みをすると、この書き込みに応
答してトリガ事象が発生して、ステートマシン252が
ヘッダレジスタ240に含まれるトリガヘッダバイトを
出力してターゲットCPUに戻す。ステートマシン25
2は、診断バス234上の書き込みがターゲットCPU
によって行われたかまたはホストCPUによって行われ
たかを記憶し、トリガ事象を正しい宛先に返送する。図
11に示された環境で実行される本実施形態によるメッ
セージコンバータは、テストアクセスポートからのブー
ト、ホットプラグ挿入及びホストとターゲットの同期化
等の種々の高レベルの診断特徴を維持できる。このよう
に、本実施形態によれば、集積回路に挿入され、限定さ
れたピンカウントを介してホストCPUとオン−チップ
ソース/宛先ロジックとの間の通信を提供するメッセー
ジコンバータが設けられる。このコンバータは、種々の
オン−チップリソースへのアクセスを有する。これらの
リソースのうちのいくつかは単に監視されるだけであ
り、他は制御されるかまたは監視及び制御される。任意
のリソースの監視は非割り込みであり、チップ機能の実
行または待機に何の影響も与えない。これは診断目的に
は理想的である。メッセージコンバータは、受信メッセ
ージの解釈と、送信メッセージの編集と、オン−チップ
ソース/宛先ロジックへのまたはオン−チップソース/
宛先ロジックからの情報の選択または指示との機能を実
行する。メッセージコンバータは、オン−チップ機能の
いずれからも独立して作動するので、何らかの割り込み
作動の実行が指示されるまで或いは指示されなければ非
割り込みである。図11を参照すると、その構成は、メ
モリキャッシュ302を取り除き、共通バス312とC
PU命令取り出しバス314とをメモリバス166に直
接接続することによって応用されてもよい。更に、この
構成は、付加的なマスタまたはメモリバス166に接続
されたオン−チップの自律機能を有するようにも応用で
きる。さらにまた、ターゲットCPU162は取り除く
ことができ、メモリスレーブバス220とメモリマスタ
バス222とメモリモニタバス226とをメモリバス1
66に直接接続できる。
【図面の簡単な説明】
【図1】本実施形態による接続点を有するテストアクセ
スポートコントローラを備えた集積回路を示す。
【図2】図1のテストアクセスポートコントローラを示
す。
【図3】図2のテストアクセスポートコントローラに接
続するための本実施形態によるデータアダプタを示す。
【図4】診断モードにおける図2のテストアクセスポー
トコントローラを介してオフ−チップ通信されたデータ
のデータフォーマットを示す。
【図5】図3のデータアダプタの実行を階層形状ブロッ
ク図で示す。
【図6】本実施形態によるメッセージのヘッダバイトの
フォーマットを示す。
【図7】本実施形態によるメッセージのフォーマットを
示す。
【図8】本実施形態によるメッセージコンバータを概略
的に示す。
【図9】本実施形態におけるメッセージコンバータに接
続されるバスのフォーマットを示す。
【図10】本実施形態のメッセージコンバータの実行を
示す。
【図11】本実施形態のメッセージコンバータの実行を
階層形状ブロック図で示す。
【手続補正書】
【提出日】平成10年2月16日
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正内容】
【書類名】 明細書
【発明の名称】 集積回路装置及びその通信方法
【特許請求の範囲】
【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は集積回路装置とチッ
プ境界を越えてこれと通信する方法とに関する。
【0002】
【従来の技術及び発明が解決しようとする課題】本発明
は、特に、これに限定されるものではないが、診断を目
的とした通信の改良に関する。即ち、集積回路がプロセ
ッサ等の埋め込まれた機能回路を有する場合、従来の診
断技術を使用して機能回路のリアルタイム非割り込み監
視を提供することは非常に困難である。機能回路はプロ
セッサである必要はなく、DMA(Direct Memory Acce
ss;直接メモリアクセス)エンジンを含む他の機能回路
またはオン−チップキャッシュでもよい。
【0003】従来、プロセッサ(CPU)は単一チップ
として製造されており、メモリ等の全ての補助回路への
オフ−チップアクセスを必要とする。結果として、これ
らは複数のアクセスピンを有して、CPUに関する情
報、特に、メモリアドレス情報がこれらのアクセスピン
からいずれにしても外部的に入手できる。メモリアドレ
ス情報に加えて、プロセッサの内部状態に関する状態情
報を入手して、例えば、割り込み、命令ストリームにお
ける変化、CPUの種々の状態レジスタにおけるフラグ
の設定等の事象を確認するのに使用できる。
【0004】現今では、チップは複雑であり、オン−チ
ップのプロセッサだけではなくその関連メモリや他の補
助回路も含む。チップ上に複数のプロセッサを備えた
り、或いは、少なくとも1つのプロセッサとDMA(直
接メモリアクセス)エンジン、またはオン−チッププロ
セッサに関連するメモリにアクセスするためのEMI
(External Memory Interface ;外部メモリインタフェ
ース)を備える場合がある。このように、通常はオフ−
チップ入手が可能な信号がもはやCPUの内部作動に関
する直接表示を提供しないので、プロセッサ作動を監視
するのはもはや単純なことではない。
【0005】集積回路CPU上で実行するように設計さ
れたソフトウエアの複雑さが増大するにつれて、ソフト
ウエアを適切にテストすることの重要性も増大する。こ
れには、CPUがソフトウエアを実行するのと同時にC
PUの作動を監視する技術を必要とする。ソフトウエア
がリアルタイムで作動しながら非割り込みでモニタされ
ることは特に煩わしい要件である。
【0006】いわゆる診断又はデバッギング技術がこれ
を達成するために開発された。従来の1つの技術(IC
E;回路内エミュレータ)は、オン−チップハードウエ
アにマッチし、このハードウエアに接続されるエミュレ
ータボードの製造を必要とする。このように、オン−チ
ップ接続がエミュレータにマップされるので、エミュレ
ータ上でアクセスできる。しかしながら、エミュレータ
は構成が複雑かつ高価であり、いずれにしてもオン−チ
ップ通信の速度または状態に十分にマッチできない。こ
のため、優先するオン−チップ状態を正確にエミュレー
トすることは非常に困難である。
【0007】他の従来技術では、論理状態アナライザ
(LSA)を使用している。これは、全てのオフ−チッ
プ通信状態を継続的に監視する集積回路のピンに接続さ
れる装置である。連続して発生する状態の各セットは記
憶された後に分析できる。エミュレータよりは安いが、
LSAは高価であるばかりではなく、記憶される莫大な
数の連続して発生する状態セットから何らかの有用な情
報を引き出すための多大な演繹と分析が必要である。オ
フ−チップで通信される状態信号を分析できるだけなの
で、オン−チップ状態に関する何らかの演繹または仮定
を行うことが当然必要となる。
【0008】更に近年では、埋め込まれたCPUの作動
を監視する試みにおいて更なる開発がすすめられた。あ
る集積回路では、スキャンラッチチェインがオン−チッ
プで提供されて、オン−チップTAPコントローラを使
用してCPUのレジスタからデータを転送する。プロセ
スは破壊的なので、CPUが作動を継続する前にデータ
をCPUレジスタ内に戻して読み込ませる必要がある。
このように、これを実行するには、CPUを停止させて
そのレジスタから状態情報を抽出する必要がある。この
ため、これはソフトウエアがリアルタイムで監視されな
ければならないという要求を満足させるものではない。
いくつかのケースでは、CPUの停止がソフトウエアの
作動する方法を変化させるので、リアルタイムで目に見
えるバグが、CPUがそのポイントで停止すると表れな
い。
【0009】更に、テストスキャンが完了するのを待っ
てCPUレジスタからのすべてのスキャンデータをオフ
−チップに送信する必要があるので、監視プロセスがゆ
っくりである。このため、本発明は外部通信オフ−チッ
プのための機能を増大させて改良された診断手順を実行
させることを目的とする。
【0010】オフ−チップホストプロセッサに、オン−
チップターゲットプロセッサまたは他のオン−チップ機
能と情報を共有させ、前記ターゲットプロセッサまたは
他のオン−チップ機能で制御させ、または、前記ターゲ
ットプロセッサまたは他のオン−チップ機能と通信させ
る種々の機構がある。しかしながら、これらの機構は、
これらがリアルタイムまたは非割り込み診断に特に適し
てはいないという意味で不都合がある。
【0011】1つの構成において、共通メモリバスはオ
フ−チップメモリとオン−チップメモリとを接続してこ
れらのリソースがホストプロセッサ及びターゲットプロ
セッサによって共有される可能性があるようにする。し
かしながら、これには、境界でバス接続を実施するため
にチップ境界で多数のコネクタピンが要求される。更
に、本構成において許される共有スキーマに応じてメモ
リ仲介ロジックが要求される。チップ境界にはバッファ
リングが必要であり、これは実行と待ち時間の中間状態
を可能にする。また、このような構成は、全てのアクセ
スが割り込みなので、非割り込み診断を考慮していな
い。
【0012】別の構成では、オフ−チップホストプロセ
ッサは、少数のコネクタピンを持つ通信ラインによって
オン−チップターゲットプロセッサと直接通信する。し
かしながら、これは、通信要件を処理するためにオン−
チップターゲットプロセッサまたは他の機能回路を増加
させて、使用する際に実行ペナルティを招くようにする
ことが要求される。また、ホストプロセッサは、ターゲ
ットプロセッサのアドレススペース内のオン−チップメ
モリにアクセスして、ターゲットプロセッサにこのメモ
リアクセスをさせるだけである。このように、メモリア
クセスを含むどんな診断手順も当然割り込みである。
【0013】さらに別の構成はUART(Universal As
ynchronous Receiver Transmitter)を介して通信する。
この構成では、オフ−チップホストは直列/並列コンバ
ータを介してオン−チップ機能回路と通信する。直列/
並列変換は、ホストからターゲットへの情報を通過させ
るために生じ、並列/直列変換は逆方向に生じる。コン
バータとターゲットとの間の接続点はオン−チップバス
システムの並列バス形成部分である。
【0014】また別の構成は、直列メモリアクセス(D
MA)を備えたオン−チップ周辺機器として直列/並列
コンバータを提供する。この構成において、オフ−チッ
プホストは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)パケットが、イニシエータから受信部
までを通過する順方向の情報を含む(これは「pok
e」または書き込みとして参照される)。 b)パケットが、次のパケット内を受信部からイニシエ
ータまで戻って通過する逆方向の情報の要求である(こ
れは「peek」または読み出し要求として参照され
る)。
【0033】c)パケットが、前回要求パケットに応答
して通過する逆方向の情報である(これは「peeke
d」、読み出しデータまたは読み出し応答として参照さ
れる)。 d)パケットが、特定事象のタイミングに関する情報に
ついての制御ポイントを示し、事象のソースまたは宛先
を含む(これはトリガまたは事象として参照される)。
【0034】特に、オン−チップバスシステムは、オン
−チップメモリ、外部メモリインタフェースを介したオ
フ−チップメモリ、オン−チップ自律機能(例えばCP
U)、他のオン−チップ機能、さらに適宜なインタフェ
ースを介したオフ−チップ機能等の他のリソースとアク
セスする手段を提供する。オン−チップバスシステム
は、アクセス手段を提供するものとして知られる、任意
のアービトレーション、経路指定、変換、中間ストレー
ジ及びバッファリングを含む。
【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上の装置識別子信号DEVIC
EIDを受信する。図1において、装置識別子信号DE
VICEIDは、集積回路内でアースに接続された信号
ライン12として示される。信号ライン12はマルチビ
ットワイヤでよく、また、装置識別子信号DEVICE
IDは集積回路上またはオフ−チップ上のいずれかから
発生できる。信号ライン12がマルチビットワイヤの場
合には、各ビットがチップ上の低レベルロジックまたは
高レベルロジックのいずれかに接続される。TAPコン
トローラ4は、ライン28上のスキャンデータ入力信号
SCANINと、ライン38上のテストクロック信号T
ESTCLKと、ライン24上のスキャンテストモード
SCANMODEの選択を示す信号と、をライン26上
の診断モードDIAGMODEの選択を示す信号と、を
オン−チップ回路に出力する。チップ境界スキャンチェ
イン10は、ライン28上のスキャンデータ入力信号S
CANINと、ライン24上のスキャンテストモード信
号SCANMODEと、を入力として受信し、ライン3
4上のスキャンデータ出力信号SCANOUTをTAP
コントローラ4に出力する。本発明では、ライン28上
のスキャンデータ入力信号SCANINはまた、後述す
るように、診断のためにオン−チップソース/宛先ロジ
ックに接続される。本発明では、ソース/宛先ロジック
は、入力信号DIAGSCANOUTをライン36上で
TAPコントローラ4に供給する。
【0038】以下に詳細に説明する図5は、ソース/宛
先ロジックを構成する構成要素を示す。ソース/宛先ロ
ジックは、少なくともオン−チップバスシステムに接続
されるプロセッサであり、オン−チップバスシステムは
これに接続されたオン−チップメモリを有する。オフ−
チップメモリもまたこのようなバスシステムに直接接続
できる。オン−チップソース/宛先ロジックはまた、D
MAエンジン又はEMIインタフェースを備えた他の機
能回路を持つ。
【0039】TAPコントローラ4は、標準演算に必要
であり且つ本発明で要求される回路ブロックを備えて図
2に概略的に示される。図2を参照すると、TAPコン
トローラ4はその基本形式において、ステートマシン5
0と、IDレジスタ42と、命令レジスタ44と、命令
デコーダ46と、バイパスラッチ48と、データマルチ
プレクサ52と、命令/データマルチプレクサ54と、
ラッチ56と、インバータ60と、を含んで構成され
る。命令レジスタ44は、ライン18上のテストデータ
入力信号TDIを受信し、バス62への並列命令とライ
ン76上への直列出力とを発生し、また、ライン82上
の命令制御入力信号を受信する。命令デコーダ46は、
バス62上の並列命令とライン84上のデコーダ制御入
力信号とを受信して、信号SCANMODE及び信号D
IAGMODEをライン24及び26それぞれに、ま
た、ライン70上に並列データマルチプレクサ選択信号
を発生する。バイパスラッチ48は、ライン18上のテ
ストデータ入力信号TDIを受信し、ライン72上に出
力信号を発生する。IDレジスタ42は、ライン12上
の並列の信号DEVICEIDを受信し、ライン68上
に直列の装置識別子出力信号を発生する。データマルチ
プレクサ52は、ライン68上のIDレジスタ42の出
力信号と、ライン72上のバイパスラッチ48の出力信
号と、ライン34上の信号SCANOUTと、ライン3
6上の信号DIAGSCANOUTと、ライン70上の
データマルチプレクサ選択信号と、を受信する。データ
マルチプレクサ52は、ライン74上に出力を発生す
る。命令/データマルチプレクサ54は、ライン76上
の直列出力と、ライン74上のデータマルチプレクサの
出力と、ライン78上の命令/データマルチプレクサ選
択信号と、を受信する。命令/データマルチプレクサ5
4は、ライン80上に出力を発生する。ラッチ56は、
ライン80上の命令/データマルチプレクサ54の出力
を受信し、ライン20上にテストデータ出力信号TDO
を発生する。ステートマシン50は、ライン16上の信
号TMSと、ライン22上の信号TRST*と、を受信
する。ステートマシン50は、ライン78への命令/デ
ータマルチプレクサ選択信号と、ライン82への命令制
御入力信号と、ライン84へのデコーダ制御入力信号
と、を発生する。IDレジスタ42、命令レジスタ4
4、命令デコーダ46、バイパスラッチ48、ステート
マシン50、及びデータコンバータ57は、それぞれラ
イン14上のテストクロック信号TCKを受信する。ラ
ッチ56は、ライン64上のインバータ60を介して反
転されたテストクロック信号TCKを受信する。テスト
クロック信号TCKとテストデータ入力信号TDIは、
ライン38の出力TESTCLK及びライン28の出力
SCANINとしてそれぞれ直接接続される。
【0040】集積回路2のテストを実行する際のTAP
コントローラ4の作動は、IEEE1149.1−19
90に詳細に説明されている。本質的に、有限長さのス
キャンチェインは、チップ境界スキャンチェイン10に
よって形成されるチェインのように集積回路上で形成さ
れる。TAPコントローラ4は、IEEE基準114
9.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基準114
9.1−1990を参照することから求められる。スキ
ャンテスティングをどのように実行するかの特定の例と
して、ヨーロッパ特許出願公開第0698890号、第
0702239号、第0702240号、第07022
41号、第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からのライン8
2上の命令制御入力信号の制御下でテストデータ入力信
号TDIから直列形式で命令をロードする。命令が、命
令レジスタ44内に直列にロードされると、この命令
は、ステートマシン50からのライン84上のデコーダ
制御入力信号の制御下で、命令バス62を経由して命令
デコーダ46に並列に転送される。ここで記憶された命
令に従って、命令デコーダ46は、実行されるのがスキ
ャンテストか或いは診断テストかに応じて信号SCAN
MODEまたは信号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と直接接続する信号SCANI
N上の選択されたスキャンチェイン内にスキャンされ
る。スキャンテスティング、特に境界スキャンテスティ
ングは、IEEE基準1149.1−1990に十分に
説明されている。実行されるテストに応じた付加制御信
号が選択スキャンチェインに供給されて必要なテスト作
動を実行する必要がある。
【0048】本実施形態では、命令デコーダ46がライ
ン26上の信号DIAGMODEを設定する場合に診断
モードに入る。更に、データマルチプレクサ52が制御
されてライン36上の信号DIAGSCANOUTをラ
イン74上の出力に接続する。これは、命令/データマ
ルチプレクサ54を介してライン80に、またラッチ5
6を介してテストデータ出力信号TDOに順次接続され
る。
【0049】診断モードにおいて、テストデータ入力信
号TDIとテストデータ出力信号TDOとの間の直列デ
ータフローは、スキャンテストモードに対抗するものと
しての無限の長さのシフトレジスタを通ると考えられ
る。このモードにおいて直列データフローは有限の長さ
のシフトレジスタ(シフトレジスタチェイン)を通る。
診断モードでは、テストデータ入力信号TDIとしてテ
ストアクセスポート内にシフトされた一連のビットパタ
ーンは、テストデータ出力信号としてテストアクセスポ
ートの外にシフトされた一連のビットパターンに反映さ
れない。診断データの通信は、ホストからターゲットへ
及びターゲットからホストへ(読み出し及び書き込み)
のメモリアクセス要求、CPUレジスタの状態情報、メ
モリアクセス要求に応答してホストメモリまたはターゲ
ットメモリから読み出されたデータ、CPUレジスタ内
にロードするための状態データ、及びターゲットCPU
によってアクセスされるメモリアドレスに関する情報を
含む。このように、診断モードは、データの非割り込み
モニタリングまたはデータの割り込みローディングを含
む。
【0050】診断モードにおいて、テストアクセスポー
ト内にシフトされた直列データは、任意の所望の手段、
例えば、データチャンクを表す開始ビット及び停止ビッ
トでエンコードできる単一方向直列データストリームで
ある。同様に、テストアクセスポートを介してシフトア
ウトされたデータは、任意の所望の手段、例えば、デー
タチャンクを表す開始ビット及び停止ビットでエンコー
ドできる1方向直列データストリームである。通常、シ
フトインされたデータ及びシフトアウトされたデータ
は、同様の方法でエンコードされる。1方向入力及び出
力データストリームは、全二重の2方向直列通信を可能
にするために同時に使用される。一連の直列データビッ
トは情報バイトを構成できる。
【0051】本実施形態において、通常テストモードに
加えて作動の診断モードが提供されると、集積回路2に
は、図3に示すように、TAPコントローラ4とオン−
チップソース/宛先ロジックとの間をインタフェースす
るデータアダプタ90が備えられる。データアダプタ9
0は、TAPコントローラ4からの入力として、ライン
28上のスキャンデータ入力信号SCANINと、ライ
ン38上のテストクロック信号TESTCLKと、ライ
ン26上の診断モードDIAGMODEの選択を示す信
号と、を受信する。データアダプタ90は、TAPコン
トローラ4にライン36上の信号DIAGSCANOU
Tを出力する。データアダプタ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上に並列データを出力して受信バッファ11
6への入力を形成する。受信バッファ116は、更に受
信制御ロジック110からのライン128上の制御信号
を受信し、ライン94上に受信データバス信号RXDA
TAを発生する。受信制御ロジック110は、更にライ
ン100上に信号RXVALIDを発生し、ライン10
2上の信号RXACKを受信し、ライン26上の信号D
IAGMODEを受信し、ライン134及び132上に
信号STARTDATA及びACKRXをそれぞれ発生
する。受信フロー制御状態フリップフロップ120は、
信号STARTDATAとライン136上の信号TXS
ENDACKとを受信し、送信制御ロジック112への
信号RXSENDACKをライン142上に出力する。
送信フロー制御状態フリップフロップ124は、信号A
CKRXとライン138上の信号TXSENDBYTE
とを受信し、送信制御ロジック112への信号TXWA
ITACKをライン140上に出力する。送信制御ロジ
ック112は、更にライン26上の信号DIAGMOD
Eとライン96上の信号TXVALIDとを受信し、信
号TXACKをライン98上に、送信シフトレジスタ1
18への制御信号をライン144上に、並列信号SER
CONTを送信シフトレジスタ118に出力する。送信
シフトレジスタ118は、更にライン92上の並列デー
タバスTXDATAを受信し、ライン36上に信号DI
AGSCANOUTを出力する。
【0053】図にはその接続は示されてはいないが、デ
ータアダプタ90には任意にオン−チップシステムクロ
ックからの入力が供給される。データアダプタとオン−
チップソース/宛先ロジックとの間のデータ及び制御信
号が、オン−チップソース/宛先ロジックのクロックと
同期する必要がある場合には、システムクロックは同期
実行のために使用できる。データアダプタ90は、信号
TESTCLK(信号TCKから引き出された)によっ
てクロックされたTAPコントローラからソース/宛先
ロジックの内部機能のクロック環境まで、また、ソース
/宛先ロジックのクロック環境から信号TESTCLK
によってクロックされたTAPコントローラまでの直列
データの同期を実行する。図には示されていないが、T
APコントローラ4は任意にスキャンイネーブル信号を
データアダプタ90に供給してもよい。このようなスキ
ャンイネーブル信号は、TAPコントローラがテストデ
ータ出力信号TDOへのデータ出力用スキャンパスを選
択したことを示す。
【0054】データアダプタ90は、TAPコントロー
ラ4を介したオフ−チップからの1方向直列データをオ
ン−チップソース/宛先ロジックで使用するのにより適
したフォーマットに変換する。逆に、データアダプタ9
0は、オン−チップソース/宛先ロジックにより供給さ
れるデータフォーマットを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上の信号SCANI
Nまで通過してデータアダプタ90に入力される。デー
タアダプタ90の受信制御ロジック110は、直列デー
タ信号SCANINを受信する。受信制御信号が2つの
連続した直列ビットを開始ビットS1及びS2として認
識すると、受信シフトレジスタ114がライン126上
で制御されて、データバイトを内部で形成する次の連続
した8ビットを直列にロードする。
【0057】2つの連続した開始ビットS1及びS2に
応答して、受信制御ロジック110はまた、受信フロー
制御状態フリップフロップ120を設定するライン13
4上の信号STARTDATAを設定する。設定される
と、受信フロー制御状態フリップフロップ120は、順
次、ライン142上の信号RXSENDACKを設定
し、この信号により、送信制御ロジック112は、図4
(b) に示される形式でテストデータ出力信号TDOに肯
定応答信号を送る。この肯定応答信号は、開始肯定応答
ビットACKと停止ビットE1のみを含んで構成され
る。これらのビットは、ライン144上の信号の制御下
でライン150上の信号SERCONTとして送信シフ
トレジスタ118に並列に直接ロードされ、信号DIA
GSCANOUTとして、図4(b) の直列形式で送信シ
フトレジスタ118から出力される。肯定応答信号が送
られると、送信制御ロジック112は、ライン136上
に信号TXSENDACKを設定して、受信フロー制御
状態フリップフロップをリセットし、信号RXSEND
ACKをリセットする。
【0058】本実施形態で使用されるフロー制御プロト
コルによれば、信号SERCONTは、開始ビットS1
とS2及び停止ビットE1とを送信シフトレジスタ11
8内に直接ロードするのを許可する3ビット信号であ
る。TAPコントローラ4を介して出力され、オン−チ
ップソース/宛先ロジックによって示されるデータバイ
トが送信データバスTXDATA上に現れると、このデ
ータバイトは送信制御ロジック112の制御下で送信シ
フトレジスタ118内に並列にロードされ、送信制御ロ
ジック112は、図4(a) に示されるフォーマットの信
号を直列にシフトする前に、信号SERCONTを形成
する開始ビットS1、S2及び停止ビットE1を送信シ
フトレジスタ内の適宜なビット位置に直接ロードする。
肯定応答信号を送ると、送信制御ロジック112は単一
の開始ビットと停止ビットを送信シフトレジスタ118
内に直接ロードしてから、それらを全て直列にシフトす
る。
【0059】受信制御ロジック110が信号SCANI
Nの停止ビットE1を受信すると、データバイトは受信
シフトレジスタ114内にロードされ、受信制御ロジッ
ク110の制御下でデータバイトはバス130上を受信
シフトレジスタ114から受信バッファ116まで転送
される。データバイトが受信バッファ116内にロード
されると、このデータバイトは、ライン100上の信号
RXVALIDも設定する受信制御ロジック110の制
御下でバスRXDATA上に出力される。信号RXVA
LIDに応答して、オン−チップソース/宛先ロジック
はRXBUS上のデータバイトを受け入れ、この受信を
ライン102上の信号RXACKを設定することによっ
て示す。信号RXACKに応答して、受信制御ロジック
110は、信号RXVALIDをリセットし、受信シフ
トレジスタ114内に別のデータバイトがある場合は、
信号RAVALIDを再度設定する前にこれを受信バッ
ファ116に転送する。
【0060】受信バッファ116が好ましい実施形態に
おいて提供される。これは、データの受信をオーバーラ
ップする公知のトークンを2つの開始ビットが受信され
るとすぐに送信させ、また、連続したバイトを、各バイ
トの間にどんな隙間もなしに転送させることによって、
効果的なデータ転送速度を維持する。データバッファリ
ングもまた送信側に設けることができる。
【0061】オン−チップソース/宛先ロジックは、デ
ータバイトをTXDATAバス92上のデータアダプタ
90に並列に転送する。オン−チップソース/宛先ロジ
ックが、転送されるデータバイトを有している時は、ラ
イン96上の信号TXVALIDが設定される。信号T
XVALIDが設定されるのに応答して、送信制御ロジ
ック112が、ライン144を介して送信シフトレジス
タ118を制御してTXDATAバス上のデータバイト
を並列にロードする。更に、ライン150を使用して、
送信制御ロジック112は、適宜な開始ビットS1とS
2及び停止ビットE1を送信シフトレジスタ118内に
ロードする。そして、再びライン144を介した送信制
御ロジック112の制御下で、2つの開始ビットと1つ
の停止ビットを含むデータバイトが信号DIAGSCA
NOUTとして送信シフトレジスタ118から外に直列
にシフトされ、これはTAPコントローラ4を介して信
号TDOに接続される。バスTXDATA上のデータバ
イトがシフトレジスタ内にロードされると、送信制御ロ
ジック112は、ライン98上に信号TXACKを設定
してオン−チップソース/宛先ロジックへのデータバイ
トの受信の肯定応答をする。そして、オン−チップソー
ス/宛先ロジックは別のデータバイトを送信できる。デ
ータバッファリングが、必要に応じて送信シフトレジス
タ118と関連して提供される。
【0062】送信シフトレジスタ118が送信制御ロジ
ック112に制御されて、図4(a)に示される形式の直
列データを出力すると、送信制御ロジック112はま
た、ライン138上に信号TXSENDBYTEを設定
し、この信号は送信フロー制御状態フリップフロップ1
24を設定する。この信号に応答して、送信フロー制御
状態フリップフロップ124はライン140上に信号T
XWAITACKを設定する。信号TXWAITACK
が設定されると、データバイトが受信されたことをオン
−チップソース/宛先ロジックが肯定応答するのを送信
制御ロジック112は待つ。オン−チップソース/宛先
ロジックは送信データバイトをうまく受信すると、図4
(b) に示されるタイプの肯定応答信号をテストデータ入
力信号TDIに送る。ライン28上の信号SCANIN
のような肯定応答信号を受信すると、受信制御ロジック
110は、ライン132上に信号ACKRXを設定し
て、送信フロー制御状態フリップフロップ124をリセ
ットさせ、結果として信号TXWAITACKをリセッ
トさせる。そして、送信制御ロジック112は、オン−
チップソース/宛先ロジックからの次の並列データバイ
トの受信及び送信のための準備をする。
【0063】図5は、ホストメモリとターゲットメモリ
との間の接続を確立するのにどのようにデータアダプタ
90を使用するかを系統図形式で示す。集積回路2は、
相互の間をオフ−チップで通信し、また、上記信号を使
用してオン−チップで回路と通信する、TAPコントロ
ーラ4とデータアダプタ90とを含んで構成される。図
5において、上述の信号に相当する信号には同様の参照
符号を使用する。図5から明らかなように、集積回路2
はまた、メモリバスアダプタ160と、ターゲットCP
U162と、オン−チップメモリ164と、を含んで構
成される。集積回路2には、ターゲットCPU162及
びオン−チップメモリ164とインタフェースするメモ
リバス166が備えられる。メモリバス166はまた、
オフ−チップメモリ174に接続する。オフ−チップの
テストアクセスポート信号TCK、TMS、TDI、T
DO及びTRST*が、TAPコントローライニシャラ
イザ176に接続しており、このTAPコントローライ
ニシャライザ176は、それ自体別のデータアダプタ1
80からライン178上の直列データ入力信号SERI
Nを受信し、データアダプタ180へライン179上の
直列データ出力信号SEROUTを出力する。この別の
データアダプタ180は、ライン190、188及び1
86上の信号EXTRXDATA、EXTRXVALI
D及びEXTTXACKを、別のメモリバスアダプタ1
94に出力し、ライン184、182及び192上の信
号EXTTXDATA、EXTTXVALID及びEX
TRXACKをメモリバスアダプタ194から受信す
る。メモリバスアダプタ194は外部メモリバス198
に接続される。ホストCPU200は、外部メモリバス
198に接続され、別のオフ−チップメモリ202も外
部メモリバス198に接続される。
【0064】TAPコントローライニシャライザ176
は、テストモードか診断モードのいずれかの作動用のT
APコントローラ4を構成する。メモリバスアダプタ1
60,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のブ
ーティング操作を実行する機能を含む、ターゲットCP
U及びサブシステムの制御。本実施形態では、テストデ
ータ入力信号TDIとテストデータ出力信号TDO上の
作動の診断モードにおけるテストアクセスポート内及び
外へシフトされる1方向直列データストリームは、メッ
セージ形式の情報である。このようなメッセージは、ホ
ストCPUまたはターゲットCPUによって開始され
る。デバッギング環境において、ホストCPUは、オン
−チップソース/宛先ロジックの割り込み又は非割り込
み診断を実行できる。或いは、診断モードにおいて、こ
のようなメッセージは、ターゲットCPUによって開始
できる。
【0070】図5のメモリバスアダプタ160は、チッ
プに入力されるメッセージを、オン−チップソース/宛
先ロジックによって使用するための制御情報、アドレス
及びデータに変換する。本実施形態では、各メッセージ
は複数のバイトで構成されるパケットである。前述のよ
うに、データアダプタ90は入力する直列データを並列
バイトに変換し、出力するバイトを直列データに変換す
る。メモリバスアダプタ160は、入力するメッセージ
をデコードして、オン−チップソース/宛先ロジックに
制御情報、アドレス情報及びデータ情報を供給する。同
様に、メモリバスアダプタ160は、オン−チップソー
ス/宛先ロジックからの制御情報、アドレス情報及びデ
ータ情報を、データアダプタに並列で送信されたメッセ
ージにエンコードする。
【0071】本実施形態において、開始される2つのタ
イプのメッセージと、応答として発生する2つのタイプ
のメッセージがある。開始される2つのタイプのメッセ
ージは、特定メモリ位置に特定データを書き込むための
メモリ書き込み要求「poke」と、特定メモリ位置か
らデータを読み出すためのメモリ読み出し要求「pee
k」とである。レスポンスとして発生する2つのタイプ
のメッセージは、メモリ読み出し要求に応答して読み出
しデータを戻す「peeked」メッセージと、後述の
「triggered」メッセージとである。各メッセ
ージの第1のバイトは、ヘッダバイトであり、4つのメ
ッセージの各々の構成は図6に示される。ヘッダバイト
は、パケットの性質を識別するパケット識別子を構成す
る。
【0072】第1の2ビットのヘッダバイトは、メッセ
ージのタイプ、即ち、メッセージが「poke」、「p
eek」、「peeked」又は「triggere
d」メッセージかどうか、を識別するタイプ識別子であ
る。以下の6ビットのヘッダバイトは、ヘッダバイトに
続き前記メッセージに関連するワード数を識別して、パ
ケットの長さを識別する長さ識別子として機能する。或
いは、以下に詳細に説明するように、これらの6ビット
は理由識別子として機能できる。図7は本実施形態によ
る4つのタイプのメッセージの各々の構成を示す。図7
(a) は「poke」ヘッダバイト00+WORDCOU
NTを含んで構成される「poke」メッセージを示
し、アドレスワードが続き、更に少なくとも1つのデー
タワードが続く。図7(b) は「peek」ヘッダバイト
01+WORDCOUNTを含んで構成される「pee
k」メッセージであり、アドレスワードが続く。図7
(C) は「peeked」ヘッダバイト10+WORDC
OUNTを含んで構成される「peeked」メッセー
ジであり、少なくとも1つのデータワードが続く。図7
(d) は「triggered」ヘッダバイト11+RE
ASONのみを含む「triggered」メッセージ
である。4つのタイプのメッセージの各々の操作は以下
に詳細に説明する。
【0073】上記のように、メモリバスアダプタ160
は、メッセージコンバータとして機能し、以下に説明さ
れる。図8は、本実施形態によるメッセージコンバータ
160のブロック図である。既に詳細に説明したよう
に、メッセージコンバータ160は、データアダプタ9
0からライン94上の受信データバスRXDATAの情
報バイトを受信し、ライン92上の送信データバスTX
DATAの情報バイトをデータアダプタ90に送信す
る。更に、上述のように、メッセージコンバータ160
は、データアダプタからのライン100及び98上の信
号RXVALID及びTXACKのそれぞれを受信し、
ライン102及び96上に信号RXACK及びTXVA
LIDのそれぞれをデータアダプタに発生する。また、
メッセージコンバータ160は、3つのメモリバスポー
ト、即ち、メモリスレーブバス220、メモリマスタバ
ス222及びメモリモニタバス226を介してオン−チ
ップソース/宛先ロジックとインタフェースする。メッ
セージコンバータ160はさらに、診断バス234を介
してオン−チップソース/宛先ロジックとインタフェー
スする。更に、メッセージコンバータ160は、ライン
236上のシステム信号SYSTEMを受信する。
【0074】メモリスレーブバス220、メモリマスタ
バス222、メモリモニタバス226及び診断バス23
4は、それぞれ1方向バスとして図8に示される。しか
しながら、各バスは、図8の矢印で示されるのとは反対
の方向の信号を含む。図8において使用される規則は、
バスの矢印方向が要求がなされる方向を反映することで
ある。図9は、特に各バスに含まれる信号を示す。
【0075】図9を参照すると、各バスは、複数のAD
DRESS信号350と、複数のWRITE_DATA
信号352と、複数のREAD_DATA信号354
と、1つのREQUEST信号356と、1つのGRA
NT信号358と、1つのVALID信号360と、を
含む。各バスは、図示されない関連する他の制御信号、
即ち、読み出し書き込み制御信号を有する。図9から明
らかなように、ADDRESS信号350とWRITE
_DATA信号352とREQUEST信号356と
は、全て1方向に伝達され、READ_DATA信号3
54とGRANT信号358とVALID信号360と
は、反対方向に伝達される。しかしながら、メモリモニ
タバス226において、READ_DATA信号354
とGRANT信号358もまた、ADDRESS信号3
50、WRITE_DATA信号352、REQUES
T信号356と同じ方向に伝達できることは言うまでも
ない。VALID信号360は、メモリモニタバス22
6には接続されない。
【0076】メモリマスタバス222は、オフ−チップ
ホストCPUによって駆動されてメモリアクセス要求を
ターゲットCPUメモリ領域につくり、また、診断機能
によっても駆動できる。メモリスレーブバス220は、
ターゲットCPUによって駆動されてオフ−チップメモ
リまたは診断機能にメモリアクセス要求をつくる。メモ
リモニタバス226は、メモリスレーブバス220と同
じオン−チップ信号に接続され、診断機能により使用さ
れてどのターゲットCPUがスレーブバスを使用するか
を確認(非割り込み)する固定通路バスである。診断バ
ス234は、メモリバスというよりはレジスタアドレス
バスであり、診断機能により発生する「trigger
ed」事象を伝達すると同時に、オン−チップ診断機能
からの読み出し及びオン−チップ診断機能への書き込み
を実行できる。診断バスはまた、診断機能からのメモリ
アクセス(メモリマスタバスを介したローカルオン−チ
ップ/オフ−チップメモリへのまたはデータアダプタを
介したリモートホストメモリへの)を開始するのに使用
される。
【0077】状態信号が、ターゲットCPUから診断機
能を介してメッセージコンバータに供給される。これら
の信号は、命令ポインタが有効である時を示す制御信号
を備えた命令ポインタ等のターゲットCPU進行情報を
含む。ホストCPUは、命令ポインタを監視してターゲ
ットCPUが何をしているかを判定する。状態信号はま
た、CPUの作動状態に関する付加的な情報を提供する
多面的な個別の制御信号を含む他のターゲットCPU状
態信号を含む。状態は、診断バスの「registe
r」読み出しによりアクセスされる。命令ポインタもま
た異なるレジスタアドレスからではあるが、「regi
ster」読み出しによりアクセスできる。
【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と、ステートマシン2
52と、バス選択及び指定ロジック254と、を含んで
構成される。メッセージコンバータ160には、全ての
制御信号を伝達するための内部制御バス258と、内部
情報バス256と、が備えられる。内部制御バス258
は、ステートマシン252に接続し、ステートマシン2
52への及びステートマシン252からのフロー制御信
号RXVALID、RXACK、TXVALID及びT
XACKを伝達する。内部制御バス258は更に、ライ
ン260上の減分制御信号を減分制御246に、ライン
262上の増分制御信号を増分制御248に、ライン2
64上のシフト制御信号をシフト制御250に、ライン
266上のヘッダ制御信号をヘッダレジスタ240に、
ライン268上のアドレス制御信号をアドレスレジスタ
242に、ライン270上のデータ制御信号をデータレ
ジスタ244に、また、ライン272上の選択及び指定
制御信号をバス選択及び指定ロジック254に伝達す
る。ヘッダレジスタ240は、減分制御246からライ
ン241上の制御信号を受信し、アドレスレジスタ24
2は、増分制御248からライン243上の制御信号を
受信し、また、データレジスタ244は、シフト制御2
50からライン245上の制御信号を受信する。情報バ
ス256は、受信データバイトRXDATAをヘッダレ
ジスタ240、アドレスレジスタ242、データレジス
タ244及びバス選択及び指定ロジック254に伝達す
る。また、情報バス256は、バス選択及び指定ロジッ
ク254、データレジスタ244、アドレスレジスタ2
42及びヘッダレジスタ240からの出力を送信データ
信号TXDATAに伝達する。バス選択及び指定ロジッ
ク254は、メモリスレーブバス220、メモリマスタ
バス222、メモリモニタバス226及び診断バス23
4の1つへの或いはこれらの1つからの情報バス256
上の情報を指定し、その情報は、本実施形態ではバイト
幅のものである。
【0083】図10の実施形態において、システム信号
236は、ヘッダレジスタ240と、アドレスレジスタ
242と、データレジスタ244と、ステートマシン2
52とをクロックするのに使用されるライン280上の
クロック信号を提供するだけである。メッセージコンバ
ータ160の作動を、予測される種々のメッセージタイ
プについて以下に説明する。ホストCPUが「pok
e」を開始すると、図7(a) に示される形式の直列メッ
セージが、集積回路2 のテストアクセスポートで受信さ
れ、続いて、受信データバスRXDATA上でデータア
ダプタ90によって並列の情報バイトの形式で出力され
る。受信データバスRXDATA上の各並列情報バイト
を出力すると、データアダプタ90は、ライン100上
で信号RXVALIDを設定する。ライン100上の信
号RXVALIDに応答して、メッセージコンバータ1
60のステートマシン252は、受信データバスRXD
ATAの情報バイトをメッセージコンバータ160内に
ロードし、ライン102上に信号RXACKを設定して
情報バイトの受信を肯定応答する。信号RXVALID
を設定してメッセージの第1の情報バイトを示すデータ
アダプタ90に応答して、ステートマシン252は、ラ
イン266を介してヘッダレジスタ240を制御し、受
信データバスRXDATAの情報バイトを内部情報バス
256を介してヘッダレジスタ240内にロードする。
そして、ステートマシン252は、ヘッダレジスタ24
0内にロードされたバイトのうちの少なくとも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は、ライン2
72を介してバス選択及び指定ロジック254を制御し
てアドレスレジスタ242とデータレジスタ244の内
容をメモリマスタバス222に出力する。
【0084】アドレスレジスタとデータレジスタの内容
をメモリマスタバス222に出力すると、ステートマシ
ン252は、前記バスに関連する書き込み制御信号と、
メモリマスタバスに関連するライン356上の要求信号
とを設定する。アクセスされるターゲットCPUのメモ
リスペースに関連するメモリアービタは、要求されたメ
モリアクセスが進行できることを判定すると、メモリマ
スタバスに関連するライン358上の許可(GRAN
T)信号を宣言する。より高い優先順位の要求者(例え
ばCPU)が要求を出さずに前回アクセスを完了した場
合、メッセージコンバータ160は低優先順位を持って
もよい。要求及び許可の信号セットは、各データワード
転送毎に要求される。
【0085】メモリアクセス後、ヘッダレジスタ240
に含まれるワードカウントが1ではない場合(本実施形
態では、1はゼロのワードカウントを示す)、アドレス
レジスタ242は、制御ライン243を介して増分制御
248によって増分され、別のワード情報がデータレジ
スタ244内にロードされる。更に、レジスタ244へ
のデータワードのローディング後、アドレスレジスタ2
42内に記憶されたアドレス及びデータレジスタ244
内に記憶されたデータは、書き込み制御信号及び要求信
号が設定されるのとともにメモリマスタバス上に出力さ
れ、また、データレジスタ244内に含まれるデータワ
ードがアドレスレジスタ242内に含まれるアドレスに
書き込まれる。その肯定応答は、メモリマスタバス上に
許可信号を設定するメモリアービタによって確認され
る。この一連のアドレスレジスタ242の増分とデータ
レジスタ244内への4バイト情報のローディングは、
ヘッダレジスタ240に含まれるワードカウントが1と
同じ、即ち、データワードが残らない、状態になるまで
継続する。
【0086】ホストCPUが「peek」を開始する
と、図7(b) に示される形式の直列メッセージが集積回
路2のテストアクセスポートで受信され、続いて受信デ
ータバスRXDATA上のデータアダプタ90によって
並列情報バイト形式で出力される。信号RAVALID
を設定して第1の情報バイトを示すデータアダプタ90
に応答して、ステートマシン252はヘッダレジスタ2
40を制御してその内部に情報バイトをロードする。そ
して、ステートマシン252はその内部にロードされた
バイトのうち少なくとも2つの重要なビットを検索し
て、どのメッセージが入力するかを判定するが、この場
合、受信したバイトのうち少なくとも2つの重要なビッ
トを01として識別し、入力するメッセージを「pee
k」メッセージに対応するものとして識別する。ホスト
CPUによって開始される「peek」メッセージはタ
ーゲットCPUメモリ領域内にアドレスを含み、その内
容はホストCPUが検索する。
【0087】ステートマシン252が、その内部に含ま
れる第1の2ビットのヘッダバイトを01として識別す
ることにより、ヘッダレジスタ240内にロードされた
「peek」メッセージを識別すると、ステートマシン
252は、ヘッダバイトの第1の2ビットを「peek
ed」ヘッダ用の適宜なビット、即ち、10に対応する
ように変化させて、この変化させたヘッダバイトを送信
データバスに送信してヘッダレジスタ内に記憶されたワ
ードカウントをそのまま含むホストCPUに戻し、図7
(c)に示される形式の戻された「peeked」メッセ
ージのヘッダバイトを形成する。言い換えれば、「pe
ek」ヘッダバイトは「peeked」ヘッダバイトと
して、そのままのワードカウントと01から10に変化
した少なくとも2つの重要なビットとともに戻される。
受信データバスRXDATA上で受信された次の4バイ
ト情報がアドレスレジスタ242内にロードされてアド
レスワードを形成する。ステートマシン252は、ライ
ン272を介して選択及び指定ロジック254を制御
し、メモリマスタバスに関連する読み出し制御信号の設
定と、メモリマスタバスに関連する要求信号が設定され
るのと、を連係して、アドレスレジスタ242に含まれ
るアドレスワードをメモリマスタバス222上に出力す
る。
【0088】設定される要求信号に応答して、アクセス
されるターゲットCPUのメモリスペースに連絡するメ
モリアービタが、要求されたアクセスが進行できること
を判定すると、アービタはメモリマスタバスに関連する
許可信号を設定する。メモリマスタバス上のアドレス出
力に関連する実際のメモリ位置がアクセスされ、その内
部に記憶されたデータがメモリマスタバスの読み出しデ
ータバス上に出力されると、アービタはメモリマスタバ
スに関連する信号VALIDを設定してデータがホスト
CPUに返送される用意ができていることを示す。設定
される信号VALIDに応答して、ステートマシン25
2は、ライン272を介してバス選択及び指定制御ロジ
ックを制御してメモリマスタバスの読み出しデータバス
上のデータをデータレジスタ244内にロードする。デ
ータレジスタ244内にロードされたデータワードは、
内部情報バス256を介して送信データバスTXDAT
A上に一度に1バイトずつシフトアウトされて、ホスト
CPUに返送される。要求、許可及び有効の信号のセッ
トが転送される各データワード毎に必要である。
【0089】データレジスタ244内にロードされたデ
ータワードがホストCPUにシフトバックされた後、ス
テートマシン252はライン260を介して減分制御2
46を制御し、制御ライン241を介してヘッダレジス
タ240に含まれるワードカウントを1だけ減少させ
る。ワードカウントが1ではない場合、増分制御248
がライン262を介してステートマシン252によって
制御されて、制御ライン243を介してアドレスレジス
タ242に含まれるアドレスを増加し、このアドレスが
再びバス選択及び指定ロジック254によって設定され
た要求信号及び読み出し制御信号とともにメモリマスタ
バス222上に出力される。このように、ターゲットC
PUメモリ領域内の次の連続したメモリ位置が読み出さ
れ、その内容がメッセージコンバータ160のデータレ
ジスタ244内に書き込まれる。また、このデータワー
ドは1バイトずつ送信データバスTXDATA上でホス
トCPUにシフトアウトされ、ヘッダレジスタ内のワー
ドカウントが再び1だけ減少される。ヘッダレジスタ2
40に含まれるワードカウントが0と同じ、即ちデータ
ワードが残らない状態になるまで、このサイクルが繰り
返される。
【0090】ターゲットCPUは、「poke」又は
「peek」メッセージを開始してホストCPU200
のメモリスペースからデータを書き込むかまたは読み出
す。ターゲットCPU領域のメモリスレーブバス220
とその関連制御信号を監視し、読み出しまたは書き込み
制御信号に関連して、ターゲットCPUによるアドレス
バス上のアドレス出力がターゲットCPUではなくホス
トCPUのアドレス範囲内であることを識別するステー
トマシン252によって、ターゲットCPUによる「p
oke」メッセージまたは「peek」メッセージの開
始が認識される。複数ワードの「peek」メッセージ
及び「poke」メッセージを実行する上記のようなタ
ーゲットCPUにより開始される「poke」メッセー
ジ及び「peek」メッセージに対して、ターゲットC
PUは単一ワードの「peek」メッセージ及び「po
ke」メッセージのみを実行できる。
【0091】ターゲットCPUが「poke」メッセー
ジを開始すると、これは、メモリスレーブバスの書き込
みデータバスに関連する書き込み信号と、設定されるメ
モリスレーブバスに関連する要求信号とを識別するステ
ートマシン252によって認識される。また、ステート
マシン252は、メモリスレーブバスによって要求され
る書き込みデータと関連するアドレスがターゲットCP
U領域のメモリ範囲の外側であることを認識する。この
状況に応じて、ステートマシン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はメモリスレーブバス22
0上の信号VALIDを受信していない。結果として、
ターゲットCPUは「stuck」(即ち、固定された
かまたは継続して待機中)であり、何もしていない(停
止または他の中断ではない)。しかしながら、メッセー
ジコンバータ160は「stuck」ではなく、その他
の活動(CPUが「stuck」なので開始されたター
ゲット「peek」メッセージまたは「poke」メッ
セージを受信しないが)を進行する位置にいる。
【0094】このように、メッセージコンバータがメモ
リアクセスメッセージをオフ−チップホストプロセッサ
に送信すると、後続のメッセージまたは要求を自由に処
理できる。ターゲットCPUにより開始された「pok
e」メッセージまたは「peek」メッセージに応答し
て、ホストCPUは「peeked」メッセージで応答
する。ホストCPUからの「peeked」メッセージ
の受信は、図6(c) の構成に対応するヘッダレジスタ内
のヘッダバイトを認識するステートマシン252によっ
て識別される。受信データバスRXDATAからの次の
4バイトの情報がデータレジスタ244内にシフトさ
れ、その内部にロードされたデータワードが、設定され
るメモリスレーブバスと連絡する信号VALIDと関連
して、ステートマシン252の制御下で、ターゲットC
PU領域のメモリスレーブバス220のデータバスに、
バス選択及び指定制御ロジック254によって転送され
るので、ターゲットCPUのメモリスペースと連絡する
メモリアービタに、「peek」要求によって要求され
たデータが利用可能であることを表示する。ターゲット
CPUは単一ワード「peek」を開始するだけなの
で、ホストCPUからの「peeked」メッセージは
単一データワードのみを含む。ターゲットCPUが信号
VALIDを受信すると、「stuck」ではなくな
る。
【0095】メモリスレーブバス220は、ターゲット
CPUによって使用されて、メッセージコンバータ16
0を介してホストCPUによってアクセスされるオン−
チップ診断機能にアクセスする。これは開始されたター
ゲット「peek」/「poke」に使用するのと同じ
バスであり、アドレス範囲は、これがオン−チップ診断
機能へのアクセスかどうか判定する。ターゲットCPU
によってメモリスレーブバス220上で開始される任意
の作動に応答して、ステートマシン252はライン27
2を介してバス選択及び指定ロジック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
と、を含んで構成される。また、ホスト通信アダプタ3
08は、ホストCPU200からまたはホストCPU2
00へのメッセージを変換するための集積回路2に設け
られたメッセージコンバータ160と同等のメッセージ
コンバータを有する。更に、図11を参照すると、メッ
セージコンバータ160が診断バス234を介して診断
機能回路300と通信するのがわかる。診断機能回路3
00とターゲットCPU162とは、バス310を介し
て相互に通信する。メッセージコンバータ160のメモ
リモニタバス226とメモリスレーブバス220は、タ
ーゲットCPUとメモリキャッシュ302との間の共通
バス312と接続する。また、ターゲットCPUとメモ
リキャッシュ302とは、CPU命令−取り出しバス3
14を介して相互接続する。メッセージコンバータ16
0上のメモリマスタバス222は、オン−チップソース
/宛先ロジックのメモリバス166に順次接続するメモ
リキャッシュ302に接続する。図5を参照して前述し
たように、メモリバス166はオン−チップメモリ16
4に接続する。また、メモリバス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、TR
AP、TAKE_A_TRAP、TRAP_AT_NE
XT_EXIT等の、ターゲットCPUの種々の制御信
号を記憶できる。これらの信号は特定のワイヤを介して
CPUに伝達される。
【0098】前述のように、ホストCPUがメモリマス
タバス222を介してターゲットCPUメモリスペース
内のメモリ位置に書き込みができるのと同様の方法で、
ホストCPUは、診断バス234を介して診断機能回路
300内のレジスタに書き込みができる。診断機能回路
300のレジスタに書き込みをするホストCPUに応答
して、トリガされた事象が発生する。このトリガ事象
は、トリガ事象を識別する理由コードに関連する要求信
号を識別するステートマシン252によってメッセージ
コンバータ160内で検出される。要求信号に応答し
て、ステートマシン252は、トリガ事象に関連する理
由コードを、トリガヘッダバイトを識別する2ビット1
1とともに、ヘッダレジスタ240内にロードする。そ
して、ヘッダレジスタ240に記憶されたトリガヘッダ
バイトが送信データバスTXDATA上をターゲットC
PUに出力される。
【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とをメモリバス16
6に直接接続できる。
【図面の簡単な説明】
【図1】本実施形態による接続点を有するテストアクセ
スポートコントローラを備えた集積回路を示す。
【図2】図1のテストアクセスポートコントローラを示
す。
【図3】図2のテストアクセスポートコントローラに接
続するための本実施形態によるデータアダプタを示す。
【図4】診断モードにおける図2のテストアクセスポー
トコントローラを介してオフ−チップ通信されたデータ
のデータフォーマットを示す。
【図5】図3のデータアダプタの実行を階層形状ブロッ
ク図で示す。
【図6】本実施形態によるメッセージのヘッダバイトの
フォーマットを示す。
【図7】本実施形態によるメッセージのフォーマットを
示す。
【図8】本実施形態によるメッセージコンバータを概略
的に示す。
【図9】本実施形態におけるメッセージコンバータに接
続されるバスのフォーマットを示す。
【図10】本実施形態のメッセージコンバータの実行を
示す。
【図11】本実施形態のメッセージコンバータの実行を
階層形状ブロック図で示す。

Claims (21)

    【特許請求の範囲】
  1. 【請求項1】 並列データの通信をオン−チップで実行
    するバスシステムと、 該バスシステムに接続されて、そのバスシステムから受
    信される並列データに応答して作動を実行する機能回路
    と、 直列データ入力コネクタと直列データ出力コネクタとを
    含んで構成され、外部装置と集積回路装置との間に、前
    記機能回路によって実行される作動を定義するデータパ
    ケット及び情報の性質を示すパケット識別子をそれぞれ
    含む直列データパケットを供給する外部ポートと、 前記並列バスシステムと前記外部ポートを相互に接続
    し、前記外部ポートを介して入力される直列パケットの
    パケット識別子を読み出すとともに、これらの直列パケ
    ットを、前記パケット識別子によって識別されたパケッ
    トの性質に応じて前記バスシステムに供給するための並
    列データに変換するように作動可能である直列/並列デ
    ータパケットコンバータと、を含んで構成され、 前記直列パケットの並列データへの直列/並列変換が、
    前記機能回路を必要とせずに実行され、前記並列データ
    が、前記機能回路に対して、変換された前記直列パケッ
    トに含まれる前記情報に応じて作動を実行させることを
    特徴とする単一チップ集積回路装置。
  2. 【請求項2】 前記データパケットコンバータは、並列
    データを直列データパケットに変換するとともに、前記
    バスシステムから受信した情報に従って、前記バスシス
    テムからの並列データから変換された前記直列パケット
    に、タイプ識別子を配分するように作動可能であること
    を特徴とする請求項1記載の単一チップ集積回路装。
  3. 【請求項3】 前記データパケットコンバータは、前記
    パケット識別子からの直列データパケットの長さを決定
    する長さ識別回路を含んで構成されることを特徴とする
    請求項1又は2記載の単一チップ集積回路装置。
  4. 【請求項4】 前記データパケットコンバータは、直列
    データパケットによって伝達されるメッセージのタイプ
    を前記パケット識別子から決定するとともに、特定の並
    列データを前記バスシステムに供給することによって前
    記メッセージを実行するメッセージ識別回路を含んで構
    成されることを特徴とする請求項1〜3のいずれか1つ
    に記載の単一チップ集積回路装置。
  5. 【請求項5】 前記バスシステムは、複数の並列バスを
    含んで構成され、前記データパケットコンバータは、前
    記パケット識別子により識別された前記メッセージの性
    質に応じて、前記並列バスのうちの選択された1つに並
    列データを供給するように作動可能であることを特徴と
    する請求項4記載の単一チップ集積回路装置。
  6. 【請求項6】 前記機能回路は、チップにローカルなメ
    モリにアクセスするメモリインタフェース回路を含んで
    構成され、前記並列バスの少なくとも1つは、メモリア
    クセスが前記外部装置から前記ローカルメモリに実行で
    きる、アドレスライン、データライン及び制御ラインを
    含んで構成されるメモリバスであることを特徴とする請
    求項5記載の単一チップ集積回路装置。
  7. 【請求項7】 前記並列バスの少なくとも1つは、オン
    −チップレジスタにアクセスするためのレジスタアクセ
    スバスであることを特徴とする請求項5記載の単一チッ
    プ集積回路装置。
  8. 【請求項8】 前記メッセージがメモリアクセス要求で
    あるとき、前記メッセージはアクセスされるアドレスを
    含み、前記並列データは前記アドレスに応じて前記並列
    バスの1つに供給されることを特徴とする請求項6又は
    7記載の単一チップ集積回路装置。
  9. 【請求項9】 前記オン−チップレジスタは、前記バス
    システムから制御レジスタ内にロードされた並列データ
    に応じて、前記オン−チップ機能回路の正常作動に割り
    込む制御レジスタを含むことを特徴とする請求項7又は
    8記載の単一チップ集積回路装置。
  10. 【請求項10】 前記機能回路は、1つのプロセッサを
    含んで構成されることを特徴とする請求項1〜9のいず
    れか1つに記載の単一チップ集積回路装置。
  11. 【請求項11】 前記機能回路は、複数のプロセッサを
    含んで構成されることを特徴とする請求項1〜9のいず
    れか1つに記載の単一チップ集積回路装置。
  12. 【請求項12】 前記外部装置は、外部デバッギングホ
    ストを含んで構成され、前記外部ポートは、前記外部デ
    バッギングホストから前記オン−チップ機能回路への命
    令をデバッグするための外部直列通信リンクを提供する
    ことを特徴とする請求項1〜11のいずれか1つに記載
    の単一チップ集積回路装置。
  13. 【請求項13】 前記外部装置は、該外部装置にローカ
    ルな別のメモリが設けられ、前記外部ポートは、前記オ
    ン−チップ機能回路に対して、該オン−チップ機能回路
    のローカルメモリに加えて前記別のメモリにアクセスさ
    せるように作動可能な接続点を提供することを特徴とす
    る請求項1〜12のいずれか1に記載の単一チップ集積
    回路装置。
  14. 【請求項14】 前記外部ポートは、命令コードを前記
    外部装置からプロセッサ用の前記ローカルメモリ内に供
    給して、前記プロセッサが、前記外部装置によって制御
    されて前記命令コードを実行できることを特徴とする請
    求項10記載の単一チップ集積回路装置。
  15. 【請求項15】 前記並列バスシステムに接続され、前
    記外部ポートを介したオフ−チップ供給のために前記バ
    スシステムに診断情報を送信するように作動可能なオン
    −チップの診断制御回路を含んで構成されることを特徴
    とする請求項1〜14のいずれか1つに記載の単一チッ
    プ集積回路装置。
  16. 【請求項16】 オン−チップバスシステムに接続さ
    れ、該バスシステムから受信される並列データに応答し
    て作動を実行する機能回路を含んで構成された単一チッ
    プ集積回路装置と、外部装置との間の通信を実行する方
    法であって、 前記外部装置において、前記機能回路によって実行され
    る作動を定義する直列データパケット及び情報について
    の性質を示すパケット識別子をそれぞれ含んだ直列デー
    タパケットを公式化し、 前記単一チップ集積回路装置の外部ポートの直列入力コ
    ネクタを介して前記直列データパケットを送信し、 前記直列入力コンバータを介して前記外部装置から供給
    された直列パケットの前記パケット識別子を読み出し
    て、該パケット識別子によって識別されたパケットの性
    質に応じて、前記機能回路を必要とせずに前記直列デー
    タパケットを並列データに変換し、 前記並列データを前記バスシステムを介して前記機能回
    路に供給して、前記機能回路に前記直列パケットに含ま
    れる前記情報に応じた作動を実行させる、 ことからなることを特徴とする単一チップ集積回路装置
    と外部装置との間の通信方法。
  17. 【請求項17】 前記オン−チップバスシステムから供
    給される並列データが、前記外部ポートの直列出力ピン
    を介したオフ−チップ送信用の直列パケットに変換され
    ることを特徴とする請求項16記載の通信方法。
  18. 【請求項18】 パケット識別子が、前記並列データに
    含まれる情報に従って、前記並列データから変換された
    前記直列パケットに配分されることを特徴とする請求項
    16記載の通信方法。
  19. 【請求項19】 前記パケット識別子が、各直列パケッ
    トの長さを示すことを特徴とする請求項16〜18のい
    ずれか1つに記載の通信方法。
  20. 【請求項20】 パケットの長さが前記バスシステムの
    ビット幅より大きいビット長さを有するものとして識別
    されるとき、前記直列パケットが、前記バスシステムに
    順次配置される連続した並列データセットに変換される
    ことを特徴とする請求項19記載の通信方法。
  21. 【請求項21】 並列データの通信をオン−チップで実
    行するバスシステムと、 該バスシステムに接続されて、そのバスシステムから受
    信される並列データに応答して作動を実行する機能回路
    と、 直列データ入力コネクタと直列データ出力コネクタとを
    含んで構成され、外部装置と集積回路装置との間に、前
    記機能回路によって実行される作動を定義するデータパ
    ケット及び情報の性質を示すパケット識別子をそれぞれ
    含む直列データパケットを供給する外部ポートと、 前記並列バスシステムと前記外部ポートを相互に接続
    し、前記外部ポートを介して入力される直列パケットの
    パケット識別子を読み出すとともに、これらの直列パケ
    ットを、前記パケット識別子によって識別されたパケッ
    トの性質に応じて前記バスシステムに供給するための並
    列データに変換するように作動可能である直列/並列デ
    ータパケットコンバータと、を含んで構成され、 前記直列パケットの並列データへの直列/並列変換が、
    前記機能回路を必要とせずに実行でき、前記並列データ
    が、前記機能回路の任意の部分に対して、変換された前
    記直列パケットに含まれる前記情報に応じて作動を実行
    させることを特徴とする単一チップ集積回路装置。
JP30096097A 1996-10-31 1997-10-31 集積回路装置及びその通信方法 Expired - Lifetime JP3929573B2 (ja)

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 true JPH10207732A (ja) 1998-08-07
JP3929573B2 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 (57)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
US8176296B2 (en) 2000-10-26 2012-05-08 Cypress Semiconductor Corporation Programmable microcontroller architecture
US8103496B1 (en) 2000-10-26 2012-01-24 Cypress Semicondutor Corporation Breakpoint control in an in-circuit emulation system
US7765095B1 (en) 2000-10-26 2010-07-27 Cypress Semiconductor Corporation Conditional branching in an in-circuit emulation system
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
US6724220B1 (en) 2000-10-26 2004-04-20 Cyress Semiconductor Corporation Programmable microcontroller architecture (mixed analog/digital)
US8160864B1 (en) 2000-10-26 2012-04-17 Cypress Semiconductor Corporation In-circuit emulator and pod synchronized boot
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
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
US8069405B1 (en) 2001-11-19 2011-11-29 Cypress Semiconductor Corporation User interface for efficiently browsing an electronic document using data-driven tabs
US6971004B1 (en) 2001-11-19 2005-11-29 Cypress Semiconductor Corp. System and method of dynamically reconfiguring a programmable integrated circuit
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
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
US7444571B1 (en) 2003-02-27 2008-10-28 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
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
WO2007021732A2 (en) * 2005-08-09 2007-02-22 Texas Instruments Incorporated Selectable jtag or trace access with data store and output
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
US8092083B2 (en) 2007-04-17 2012-01-10 Cypress Semiconductor Corporation Temperature sensor with digital bandgap
US8516025B2 (en) 2007-04-17 2013-08-20 Cypress Semiconductor Corporation Clock driven dynamic datapath chaining
US8026739B2 (en) 2007-04-17 2011-09-27 Cypress Semiconductor Corporation System level interconnect with programmable switching
US8130025B2 (en) 2007-04-17 2012-03-06 Cypress Semiconductor Corporation Numerical band gap
US9564902B2 (en) 2007-04-17 2017-02-07 Cypress Semiconductor Corporation Dynamically configurable and re-configurable data path
US7737724B2 (en) 2007-04-17 2010-06-15 Cypress Semiconductor Corporation Universal digital block interconnection and channel routing
US8040266B2 (en) 2007-04-17 2011-10-18 Cypress Semiconductor Corporation Programmable sigma-delta analog-to-digital converter
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
US8266575B1 (en) 2007-04-25 2012-09-11 Cypress Semiconductor Corporation Systems and methods for dynamically reconfiguring a programmable system on a chip
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

Family Cites Families (10)

* Cited by examiner, † Cited by third party
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
EP0636976B1 (en) * 1993-07-28 1998-12-30 Koninklijke Philips Electronics N.V. Microcontroller provided with hardware for supporting debugging as based on boundary scan standard-type extensions
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 通信機能を有するワンチップフラッシュメモリ装置

Also Published As

Publication number Publication date
EP0840219B1 (en) 2002-07-10
GB9622682D0 (en) 1997-01-08
JP3929573B2 (ja) 2007-06-13
DE69713855D1 (de) 2002-08-14
EP0840219A1 (en) 1998-05-06
US6125416A (en) 2000-09-26

Similar Documents

Publication Publication Date Title
JPH10207732A (ja) 集積回路装置及びその通信方法
JPH10232792A (ja) 集積回路装置及びその通信方法
US6430727B1 (en) Diagnostic procedures in an integrated circuit device
JP4037494B2 (ja) テストアクセスポート制御器及びそれを用いた有効な通信方法
EP0849668B1 (en) Diagnostics system and procedure in an integrated circuit device
JP3998303B2 (ja) Tapコントローラを有する集積回路
JPH10240572A (ja) 命令トレース供給方式
US6675284B1 (en) Integrated circuit with multiple processing cores
US6178525B1 (en) Trigger sequencing controller
JPH10198576A (ja) 集積回路装置及びその通信方法
JPH10198581A (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