JPH10293701A - トリガシーケンシングコントローラ - Google Patents

トリガシーケンシングコントローラ

Info

Publication number
JPH10293701A
JPH10293701A JP10047030A JP4703098A JPH10293701A JP H10293701 A JPH10293701 A JP H10293701A JP 10047030 A JP10047030 A JP 10047030A JP 4703098 A JP4703098 A JP 4703098A JP H10293701 A JPH10293701 A JP H10293701A
Authority
JP
Japan
Prior art keywords
signal
data
trigger
bus
diagnostic
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
JP10047030A
Other languages
English (en)
Other versions
JP4426655B2 (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 JPH10293701A publication Critical patent/JPH10293701A/ja
Application granted granted Critical
Publication of JP4426655B2 publication Critical patent/JP4426655B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/348Circuit details, i.e. tracer hardware

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Tests Of Electronic Circuits (AREA)
  • Semiconductor Integrated Circuits (AREA)
  • Debugging And Monitoring (AREA)
  • Testing Or Measuring Of Semiconductors Or The Like (AREA)

Abstract

(57)【要約】 オン−チップ機能回路と、オン−チップ機能回路を監視
するために接続された複数の診断ユニットと、を有する
単一チップ集積回路装置が開示される。前記複数の診断
ユニットは、オン−チップ機能回路からの信号と診断ユ
ニットのそれぞれの診断レジスタ内に保持されるデータ
とを比較することによってそれぞれのトリガ状態を検出
する。単一チップ集積回路装置はさらに、トリガ状態を
受信して所定シーケンスのトリガ状態が検出された時に
トリガメッセージを開始するトリガシーケンシング制御
回路を有する。また、このようなトリガシーケンシング
を制御する方法が開示される。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はトリガシーケンシン
グの提供に関する。特に、本発明はトリガシーケンシン
グが実行される単一チップ集積回路装置に関する。
【0002】
【従来の技術及び発明が解決しようとする課題】回路ボ
ードレベルで利用可能な信号がロジック状態アナライザ
装置によって監視できる。このようなロジック状態アナ
ライザ装置は、ボードレベルで利用可能な数百の信号を
監視できる。これらの信号は、メモリバス等の機能の部
分であり、ボードレベルでの解析のために特に生成され
た信号、または、チップの外部ピン接続点として作られ
た信号でよい。ロジック状態アナライザは、トリガとし
て監視される選択された数の信号上の特定パターンを処
理することができる。ロジック状態アナライザは、トリ
ガが発生したことに気づいただけであっても、このトリ
ガを使用して任意の動作を行うことができる。いくつか
のトリガを考慮して、ロジック状態アナライザは、ま
た、ボードレベルに複素シーケンスのトリガ事象を構築
できる。
【0003】しかしながら、ロジック状態アナライザは
ボードレベル信号の監視にのみ制限され、チップ内に埋
没している信号へのアクセスができない。
【0004】
【課題を解決するための手段】本発明によれば、オン−
チップ機能回路と、前記オン−チップ機能回路を監視す
るように接続される複数の診断ユニットであって、前記
オン−チップ機能回路からの信号と診断ユニットの各診
断レジスタ内に保持されるデータとを比較して各トリガ
状態を検出する複数の診断ユニットと、前記トリガ状態
を受信するように配列され、前記トリガ状態の所定のシ
ーケンスが検出された時にトリガメッセージを開始する
トリガシーケンス制御回路と、を含んで構成された単一
チップ集積回路装置が提供される。
【0005】このように、トリガシーケンシングコント
ローラが、任意の数のオン−チップ診断ブロックととも
にチップ上に組み込まれる。診断ブロックは、オン−チ
ップ信号の数を観察し、これらを任意の方法でプログラ
ム可能な内容を有するレジスタと比較することによっ
て、任意のトリガを検出するのに使用できる任意のユニ
ットでよい。
【0006】1つの実施の形態において、トリガシーケ
ンシングコントローラの機能が分散されて、複数の診断
ユニットを接続するトリガバスを備えた前記複数の診断
ユニットのそれぞれに併合される。これにより、オン−
チップ集積回路に適したモジュールによる容易に拡張可
能なアプローチができる。モジュールから構成されるト
リガシーケンス制御回路は調整可能であり、いずれのモ
ジュールも、他のモジュールより大きな制御力或いは支
配力を持たず、必要に応じて付加モジュールを追加でき
る。
【0007】トリガシーケンス制御回路は、結果として
結合された機能が、任意の診断目的のために使用される
結果としての任意のトリガ事象をもたらす複素シーケン
スのトリガ事象を構築する機能なるように、同様の能力
を有する他のブロックと対話できる。トリガシーケンス
制御回路は、一定の診断回路とそれぞれ接続し共通のト
リガバスと接続する複数の分散型回路を含んで構成され
る。
【0008】前記診断ユニットの1つは、ブレークポイ
ントアドレスを保持し、CPUによって実行されるべき
次の命令がブレークポイントアドレスとマッチするとC
PUの通常作動を中断する信号を出すように動作可能な
ブレークポイントユニットでよい。診断ユニットの1つ
は、それぞれ上側ブレークポイントアドレスと下側ブレ
ークポイントアドレスを保持して、その間のCPUによ
る通常作動を中断できる第1及び第2のブレークポイン
トレジスタを有するブレークポイントレンジユニットで
よく、このブレークポイントレンジユニットは、実行さ
れる次の命令が下側ブレークポイントアドレスと上側ブ
レークポイントアドレスとの間にある時にCPUの通常
作動を中断するブレークポイント信号を出すように作動
可能である。
【0009】診断ユニットは、CPUによって実行され
るアドレスを監視して、前記アドレスのうち選択された
アドレスを前記アドレス内の不連続に依存するトレース
ストレージ位置に記憶させる命令トレースコントローラ
を含んで構成できる。
【0010】
【発明の実施の形態】本発明を更に理解し、どのように
実施するかを添付の図面を参照して説明する。図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に供給する。
【0011】以下に詳細に説明する図5は、ソース/宛
先ロジックを構成する構成要素を示す。ソース/宛先ロ
ジックは、少なくともオン−チップバスシステムに接続
されるプロセッサであり、オン−チップバスシステムは
これに接続されたオン−チップメモリを有する。オフ−
チップメモリもまたこのようなバスシステムに直接接続
できる。オン−チップソース/宛先ロジックはまた、D
MAエンジン又はEMIインタフェースを備えた他の機
能回路を持つ。
【0012】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としてそれぞれ直接接続される。
【0013】集積回路2のテストを実行する際のTAP
コントローラ4の作動は、IEEE1149.1−19
90に詳細に説明されている。本質的に、有限長さのス
キャンチェインは、チップ境界スキャンチェイン10に
よって形成されるチェインのように集積回路上で形成さ
れる。TAPコントローラ4は、IEEE基準114
9.1−1990によって定義される同期有限ステート
マシンである。IEEE基準1149.1−1990
は、集積回路に含むことのできるテストロジックを定義
して、集積回路間の相互接続のテスト、集積回路自体の
テスト、集積回路の通常作動中における回路動作の監視
又は修正の標準的な方法を提供する。
【0014】集積回路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号が挙げられる。
【0015】IEEE基準1149.1−1990のテ
ストアクセスポートを使用する公知のテストモードの特
徴は、スキャンチェインが有限の長さか又は閉ループで
あること、また、テストデータ出力信号TDOがテスト
データ入力信号TDIに依存するとともに、テストデー
タ入力信号との時間関係を持つことである。本実施形態
では、作動の診断モードは、IEEE基準1149.1
−1990と一致するオン−チップのソース/宛先ロジ
ックの診断手順を実行するために提供される。このよう
な診断テストモードでは、テストデータ出力信号TDO
はテストデータ入力信号TDIに依存しないので、この
テストデータ入力信号との時間関係を持たない。テスト
データ入力信号TDIとテストデータ出力信号TDOと
の間のチェインは、無限の長さまたは開ループであると
考えられる。診断モードでは、TAPコントローラ4
は、全ての正常な機能を提供しながら、付加的に全二重
の、フロー制御された、束縛されない直列データを、こ
れがデータの形式であるとは気づかずに伝える転送エー
ジェントとして作動する。逆に、TAPコントローラ4
は、通常はどんなフロー制御もせずに選択されたテスト
チェインを通過する単一のデータストリームを処理す
る。
【0016】テストモードにおけるTAPコントローラ
4の作動の大要を、図1及び図2を参照して説明する。
図2においては、信号SCANINはテストデータ入力
信号TDIに直接接続しているが、一定の状況では、信
号SCANINは信号TDIの修正バージョンであって
もよい。同様に、テストクロック信号TESTCLKは
テストクロック信号TCKに直接接続しているが、一定
の状況では、信号TCKの修正バージョンであることが
要求される。
【0017】作動のテストモードでは、テストデータ入
力信号TDIとテストモード選択信号TMSは、テスト
クロック信号TCKの制御下でTAPコントローラ4に
直列形式で供給される。ステートマシン50は、テスト
クロック信号TCKの各動作エッジでテストモード選択
信号TMSの値に作用して、IEEE基準1149.1
−1990によって定義されるようにその状態を反復さ
せる。テストリセット信号TRST*は、IEEE基準
1149.1−1990に応じた低ロジック状態にある
時、TAPコントローラ4の非同期初期化を提供する。
【0018】命令レジスタ44は、テストクロック信号
TCKによってクロックされて、ステートマシン50か
らのライン82上の命令制御入力信号の制御下でテスト
データ入力信号TDIから直列形式で命令をロードす
る。命令が、命令レジスタ44内に直列にロードされる
と、この命令は、ステートマシン50からのライン84
上のデコーダ制御入力信号の制御下で、命令バス62を
経由して命令デコーダ46に並列に転送される。ここで
記憶された命令に従って、命令デコーダ46は、実行さ
れるのがスキャンテストか或いは診断テストかに応じて
信号SCANMODEまたは信号DIAGMODEのい
ずれか一方を設定する。命令レジスタ44及び命令デコ
ーダ46のローディングは、IEEE基準1149.1
−1990に従ってステートマシン50により制御され
る。命令デコーダ46によってデコードされた命令に応
じて、また、以下に更に説明するように、命令デコーダ
46のライン70上の並列出力は、データマルチプレク
サ52を制御して、その入力の1つを出力ライン74に
接続する。同様に、ステートマシン50のライン78上
の出力は、命令/データマルチプレクサ52を制御し
て、その入力の1つをライン80上の出力に接続する。
【0019】IDレジスタ42は、ライン12上の並列
の信号DEVICEIDを受信する。IDレジスタ42
は、チップ識別子を記憶し、そのチップ識別子は、ID
レジスタ42からライン68を介してテストデータ出力
信号TDOにスキャンされる。チップ識別子は集積回路
2を識別する。一つの作動モードにおいて、命令デコー
ダ46によってデコードされた命令は、マルチプレクサ
52が制御されてライン68上のその入力をライン74
上のその出力に接続し、また、命令/データマルチプレ
クサ54が制御されてライン74上のその入力をライン
80上のその出力に接続する場合に、装置の一致を単に
出力するものでよい。そして、装置の一致は信号TDO
として直列に出力される。
【0020】作動の別のモードでは、ライン76上の直
列出力が命令/データマルチプレクサ54によりライン
80に接続される場合に、テストデータ出力信号TDO
に現行命令を出力することが要求される。テスト作動の
一つのモードでは、特定の集積回路2のTAPコントロ
ーラ4がテストデータ入力信号TDIをテストデータ出
力信号TDOに接続することだけが要求される。この作
動モードでは、データマルチプレクサ52が制御されて
ライン72上のバイパスラッチ48の出力をライン74
上の出力に接続し、命令/データマルチプレクサ54が
制御されてライン74をライン80上の出力に接続す
る。このように、テストデータ入力信号TDIは、ラッ
チ56を介してテストデータ出力信号TDOに接続され
る。
【0021】ラッチ56は単に、テストデータ出力信号
TDOの時間制御をして、この信号がテストクロック信
号TCKの立ち下がりエッジに同期できるようにするた
めにだけ設けられたフリップフロップである。実行され
るテストモードがスキャンテストモードの場合、命令デ
コーダ46が信号SCANMODEを設定する。データ
マルチプレクサ52が命令デコーダ46により制御され
て、信号SCANOUTを出力ライン74に接続する。
命令/データマルチプレクサ54もまた制御されてライ
ン74をライン80に接続して、信号SCANOUTを
テストデータ出力信号TDOとして出力する。このよう
なスキャンテストモード中では、テストデータは、テス
トデータ入力信号TDIと直接接続する信号SCANI
N上の選択されたスキャンチェイン内にスキャンされ
る。スキャンテスティング、特に境界スキャンテスティ
ングは、IEEE基準1149.1−1990に十分に
説明されている。実行されるテストに応じた付加制御信
号が選択スキャンチェインに供給されて必要なテスト作
動を実行する必要がある。
【0022】本実施形態では、命令デコーダ46がライ
ン26上の信号DIAGMODEを設定する場合に診断
モードに入る。更に、データマルチプレクサ52が制御
されてライン36上の信号DIAGSCANOUTをラ
イン74上の出力に接続する。これは、命令/データマ
ルチプレクサ54を介してライン80に、またラッチ5
6を介してテストデータ出力信号TDOに順次接続され
る。
【0023】診断モードにおいて、テストデータ入力信
号TDIとテストデータ出力信号TDOとの間の直列デ
ータフローは、スキャンテストモードに対抗するものと
しての無限の長さのシフトレジスタを通ると考えられ
る。このモードにおいて直列データフローは有限の長さ
のシフトレジスタ(シフトレジスタチェイン)を通る。
診断モードでは、テストデータ入力信号TDIとしてテ
ストアクセスポート内にシフトされた一連のビットパタ
ーンは、テストデータ出力信号としてテストアクセスポ
ートの外にシフトされた一連のビットパターンに反映さ
れない。診断データの通信は、ホストからターゲットへ
及びターゲットからホストへ(読み出し及び書き込み)
のメモリアクセス要求、CPUレジスタの状態情報、メ
モリアクセス要求に応答してホストメモリまたはターゲ
ットメモリから読み出されたデータ、CPUレジスタ内
にロードするための状態データ、及びターゲットCPU
によってアクセスされるメモリアドレスに関する情報を
含む。このように、診断モードは、データの非割り込み
モニタリングまたはデータの割り込みローディングを含
む。
【0024】診断モードにおいて、テストアクセスポー
ト内にシフトされた直列データは、任意の所望の手段、
例えば、データチャンクを表す開始ビット及び停止ビッ
トでエンコードできる単一方向直列データストリームで
ある。同様に、テストアクセスポートを介してシフトア
ウトされたデータは、任意の所望の手段、例えば、デー
タチャンクを表す開始ビット及び停止ビットでエンコー
ドできる1方向直列データストリームである。通常、シ
フトインされたデータ及びシフトアウトされたデータ
は、同様の方法でエンコードされる。1方向入力及び出
力データストリームは、全二重の2方向直列通信を可能
にするために同時に使用される。一連の直列データビッ
トは情報バイトを構成できる。
【0025】本実施形態において、通常テストモードに
加えて作動の診断モードが提供されると、集積回路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に関連する制御信号である。
【0026】データアダプタ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を出力する。
【0027】図にはその接続は示されてはいないが、デ
ータアダプタ90には任意にオン−チップシステムクロ
ックからの入力が供給される。データアダプタとオン−
チップソース/宛先ロジックとの間のデータ及び制御信
号が、オン−チップソース/宛先ロジックのクロックと
同期する必要がある場合には、システムクロックは同期
実行のために使用できる。データアダプタ90は、信号
TESTCLK(信号TCKから引き出された)によっ
てクロックされたTAPコントローラからソース/宛先
ロジックの内部機能のクロック環境まで、また、ソース
/宛先ロジックのクロック環境から信号TESTCLK
によってクロックされたTAPコントローラまでの直列
データの同期を実行する。図には示されていないが、T
APコントローラ4は任意にスキャンイネーブル信号を
データアダプタ90に供給してもよい。このようなスキ
ャンイネーブル信号は、TAPコントローラがテストデ
ータ出力信号TDOへのデータ出力用スキャンパスを選
択したことを示す。
【0028】データアダプタ90は、TAPコントロー
ラ4を介したオフ−チップからの1方向直列データをオ
ン−チップソース/宛先ロジックで使用するのにより適
したフォーマットに変換する。逆に、データアダプタ9
0は、オン−チップソース/宛先ロジックにより供給さ
れるデータフォーマットを1方向直列データに変換す
る。好ましい実施形態においては、並列8ビット又はバ
イトの形式でデータをオン−チップソース/宛先ロジッ
クに供給するのが望ましい。しかしながら、特に受信デ
ータバスRXDATA及び送信データバスTXBUS
は、1バイト幅よりも1ビット幅のみでもよい。また、
受信及び送信データバスRXBUSとTXBUSは、複
数バイト幅のバスであってもよい。
【0029】データアダプタ90は、受信及び送信の両
データの「フロー制御」の機能を実行する。直列データ
は、受信端部がこのデータを受信できる容量を有してデ
ータ損失または低下を防止する時は、TAPコントロー
ラ4を(どちらの方向でも)単に通過するだけである。
受信端部がより多くのデータを受信する用意があること
の通信は、そのような情報を反対方向に送信することに
より実行される。これはフロー制御プロトコルを構成す
る。本実施形態におけるデータアダプタ90は、オン−
チップソース/宛先ロジックとの通信のために1方向直
列データの並列フォーマットへの変換を提供する。この
ように、フロー制御プロトコルはまた、データアダプタ
90とオン−チップソース/宛先ロジックとの間で必要
である。
【0030】このように、このフロー制御は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ビットを直列にロードする。
【0031】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をリセットする。
【0032】本実施形態で使用されるフロー制御プロト
コルによれば、信号SERCONTは、開始ビットS1
とS2及び停止ビットE1とを送信シフトレジスタ11
8内に直接ロードするのを許可する3ビット信号であ
る。TAPコントローラ4を介して出力され、オン−チ
ップソース/宛先ロジックによって示されるデータバイ
トが送信データバスTXDATA上に現れると、このデ
ータバイトは送信制御ロジック112の制御下で送信シ
フトレジスタ118内に並列にロードされ、送信制御ロ
ジック112は、図4(a) に示されるフォーマットの信
号を直列にシフトする前に、信号SERCONTを形成
する開始ビットS1、S2及び停止ビットE1を送信シ
フトレジスタ内の適宜なビット位置に直接ロードする。
肯定応答信号を送ると、送信制御ロジック112は単一
の開始ビットと停止ビットを送信シフトレジスタ118
内に直接ロードしてから、それらを全て直列にシフトす
る。
【0033】受信制御ロジック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に転送する。
【0034】受信バッファ116が好ましい実施形態に
おいて提供される。これは、データの受信をオーバーラ
ップする公知のトークンを2つの開始ビットが受信され
るとすぐに送信させ、また、連続したバイトを、各バイ
トの間にどんな隙間もなしに転送させることによって、
効果的なデータ転送速度を維持する。データバッファリ
ングもまた送信側に設けることができる。
【0035】オン−チップソース/宛先ロジックは、デ
ータバイトを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と関連して提供される。
【0036】送信シフトレジスタ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は、オン−
チップソース/宛先ロジックからの次の並列データバイ
トの受信及び送信のための準備をする。
【0037】図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に接続される。
【0038】TAPコントローライニシャライザ176
は、テストモードか診断モードのいずれかの作動用のT
APコントローラ4を構成する。メモリバスアダプタ1
60,194は、バスRXDATA上の並列データをオ
ン−チップソース/宛先ロジックと通信するのにより適
宜なメッセージフォーマットに調整する。このため、メ
モリバスアダプタはメッセージコンバータであって、本
出願人による特許出願に開示されるタイプのメッセージ
コンバータである。メモリバスアダプタはまた、オン−
チップソース/宛先ソースのメッセージフォーマットを
バスTXDATAの送信用の並列データバイトに変換す
る。
【0039】図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から読み出されたデ
ータも、同様にインタフェース回路を介して戻ることが
できる。
【0040】また、ターゲットCPUが診断目的のため
に監視される。例えば、それ自体のメモリへのそのアク
セスがオン−チップ回路によって監視され、アクセスさ
れたメモリアドレスに関する情報がインタフェース回路
を使用してホストCPUに送信される。更に、ターゲッ
トCPUは、その状態を示す構成レジスタを含むか又は
アクセスできる。これらのレジスタの内容に関する情報
はオフ−チップでインタフェース回路を使用してホスト
CPUに送信される。逆に、特定状態情報がこれらのレ
ジスタ内にロードされてホストCPUの命令下でターゲ
ットCPUの状況に影響を与える。
【0041】このように、ここで述べられるインタフェ
ース回路は、ホストからターゲットへのまたターゲット
からホストへの(読み出し及び書き込み)メモリアクセ
ス要求、CPUレジスタの状態情報、メモリアクセス要
求に応答したホストメモリまたはターゲットメモリから
の読み出しデータ、CPUレジスタ内へロードするため
の状況データ及びターゲットCPUによりアクセスされ
るメモリアドレスに関する情報を含む診断データの通信
を可能にする。
【0042】このように、インタフェース回路は、以下
の診断上の機能を回路内に提供できる。リアルタイムの
診断手順の実行機能、即ち、ターゲットCPUがリアル
タイムで作動すると同時に、その作動に割り込まずに診
断手順を行う。特に、メモリバスの監視とターゲットメ
モリへのアクセスが、ターゲットCPUを必要とせずに
ホストCPUにより行える。
【0043】ホストCPUからターゲットメモリ及び構
成レジスタへのアクセス。ターゲットCPUからホスト
メモリへのアクセス。ホストプロセッサからCPUのブ
ーティング操作を実行する機能を含む、ターゲットCP
U及びサブシステムの制御。本実施形態では、テストデ
ータ入力信号TDIとテストデータ出力信号TDO上の
作動の診断モードにおけるテストアクセスポート内及び
外へシフトされる1方向直列データストリームは、メッ
セージ形式の情報である。このようなメッセージは、ホ
ストCPUまたはターゲットCPUによって開始され
る。デバッギング環境において、ホストCPUは、オン
−チップソース/宛先ロジックの割り込み又は非割り込
み診断を実行できる。或いは、診断モードにおいて、こ
のようなメッセージは、ターゲットCPUによって開始
できる。
【0044】図5のメモリバスアダプタ160は、チッ
プに入力されるメッセージを、オン−チップソース/宛
先ロジックによって使用するための制御情報、アドレス
及びデータに変換する。本実施形態では、各メッセージ
は複数のバイトで構成されるパケットである。前述のよ
うに、データアダプタ90は入力する直列データを並列
バイトに変換し、出力するバイトを直列データに変換す
る。メモリバスアダプタ160は、入力するメッセージ
をデコードして、オン−チップソース/宛先ロジックに
制御情報、アドレス情報及びデータ情報を供給する。同
様に、メモリバスアダプタ160は、オン−チップソー
ス/宛先ロジックからの制御情報、アドレス情報及びデ
ータ情報を、データアダプタに並列で送信されたメッセ
ージにエンコードする。
【0045】本実施形態において、開始される2つのタ
イプのメッセージと、応答として発生する2つのタイプ
のメッセージがある。開始される2つのタイプのメッセ
ージは、特定メモリ位置に特定データを書き込むための
メモリ書き込み要求「poke」と、特定メモリ位置か
らデータを読み出すためのメモリ読み出し要求「pee
k」とである。レスポンスとして発生する2つのタイプ
のメッセージは、メモリ読み出し要求に応答して読み出
しデータを戻す「peeked」メッセージと、後述の
「triggered」メッセージとである。各メッセ
ージの第1のバイトは、ヘッダバイトであり、4つのメ
ッセージの各々の構成は図6に示される。ヘッダバイト
は、パケットの性質を識別するパケット識別子を構成す
る。
【0046】第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つのタイプのメッセージの各々の操作は以下
に詳細に説明する。
【0047】上記のように、メモリバスアダプタ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を受信する。
【0048】メモリスレーブバス220、メモリマスタ
バス222、メモリモニタバス226及び診断バス23
4は、それぞれ1方向バスとして図8に示される。しか
しながら、各バスは、図8の矢印で示されるのとは反対
の方向の信号を含む。図8において使用される規則は、
バスの矢印方向が要求がなされる方向を反映することで
ある。図9は、特に各バスに含まれる信号を示す。
【0049】図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には接続されない。
【0050】メモリマスタバス222は、オフ−チップ
ホストCPUによって駆動されてメモリアクセス要求を
ターゲットCPUメモリ領域につくり、また、診断機能
によっても駆動できる。メモリスレーブバス220は、
ターゲットCPUによって駆動されてオフ−チップメモ
リまたは診断機能にメモリアクセス要求をつくる。メモ
リモニタバス226は、メモリスレーブバス220と同
じオン−チップ信号に接続され、診断機能により使用さ
れてどのターゲットCPUがスレーブバスを使用するか
を確認(非割り込み)する固定通路バスである。診断バ
ス234は、メモリバスというよりはレジスタアドレス
バスであり、診断機能により発生する「trigger
ed」事象を伝達すると同時に、オン−チップ診断機能
からの読み出し及びオン−チップ診断機能への書き込み
を実行できる。診断バスはまた、診断機能からのメモリ
アクセス(メモリマスタバスを介したローカルオン−チ
ップ/オフ−チップメモリへのまたはデータアダプタを
介したリモートホストメモリへの)を開始するのに使用
される。
【0051】状態信号が、ターゲットCPUから診断機
能を介してメッセージコンバータに供給される。これら
の信号は、命令ポインタが有効である時を示す制御信号
を備えた命令ポインタ等のターゲットCPU進行情報を
含む。ホストCPUは、命令ポインタを監視してターゲ
ットCPUが何をしているかを判定する。状態信号はま
た、CPUの作動状態に関する付加的な情報を提供する
多面的な個別の制御信号を含む他のターゲットCPU状
態信号を含む。状態は、診断バスの「registe
r」読み出しによりアクセスされる。命令ポインタもま
た異なるレジスタアドレスからではあるが、「regi
ster」読み出しによりアクセスできる。
【0052】オン−チップソース/宛先ロジックのステ
ータスに関連する他の情報は、オン−チップレジスタに
関連する情報等のステータス信号として含まれるが、こ
のような情報は、一般的には診断目的のためのオン−チ
ップ機能のいくつかの抽出を含むレジスタから引き出さ
れるだけである。機能信号は任意の非割り込みオン−チ
ップ診断機能、例えば、診断情報及び制御の抽出を容易
にする任意のレジスタ、に接続できる。
【0053】メモリマスタバスは、オン−チップのアド
レスバスと、書き込みバスと、読み出しバスと、関連す
る制御信号とに接続される。メモリマスタバスは、オン
−チップメモリ164、オフ−チップメモリ174及び
構成レジスタ等のメモリバスを介してアクセス可能な任
意の他のリソースを含むターゲットメモリスペース内の
範囲に、ホストCPU及び診断機能がアクセスできるよ
うに使用される。
【0054】個別のバスポートにオン−チップソース/
宛先ロジックとの種々の接続点を設けるよりも、それら
の間を識別する適宜な制御信号を使用して、いくつかの
バスを組合せることができる。例えば、メモリバス書き
込みデータと読み出しデータとは、共通のメモリデータ
バスに組合される。メモリアドレスはメモリデータに組
合される。メモリスレーブバスはメモリマスタバスに組
合される。このような選択肢は、実行、領域及び他の要
素間の実行トレードオフを表す。
【0055】ライン236上のシステム信号は、システ
ムサービスに接続点を提供する。このようなシステムサ
ービスは、例えば、クロッキング、電源、リセット、テ
ストである。メッセージコンバータ160は、データア
ダプタによって直列ビットフォーマットから直列バイト
フォーマットに変換された連続した情報バイトを受信
し、ヘッダバイトを読み出してその内部に伝えられるメ
ッセージを決定する。このようにメッセージコンバータ
160は、入力するメッセージを解釈して必要な作動を
実行する。この必要な動作には、ホストに戻される情報
を選択すること、又は、メッセージコンバータに接続さ
れるバスのうちの適宜な1つを介してメモリアクセスを
開始してデータを読み出すか書き込むことが含まれる。
メッセージコンバータ160はまた、メッセージプロト
コルに従ってオン−チップバスから受信した並列データ
をオフ−チップ送信用のメッセージに編集する。これに
は、ヘッダバイトを並列データとアドレスバイトとに配
分して、入力するデータ、アドレス及び制御信号に応じ
てメッセージの性質を定義することが含まれる。図8の
メッセージコンバータ160の作動と図6及び7のメッ
セージプロトコルとを図10を参照して詳細に説明す
る。
【0056】図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
上の情報を指定し、その情報は、本実施形態ではバイト
幅のものである。
【0057】図10の実施形態において、システム信号
236は、ヘッダレジスタ240と、アドレスレジスタ
242と、データレジスタ244と、ステートマシン2
52とをクロックするのに使用されるライン280上の
クロック信号を提供するだけである。メッセージコンバ
ータ160の作動を、予測される種々のメッセージタイ
プについて以下に説明する。
【0058】ホストCPUが「poke」を開始する
と、図7(a) に示される形式の直列メッセージが、集積
回路2 のテストアクセスポートで受信され、続いて、受
信データバスRXDATA上でデータアダプタ90によ
って並列の情報バイトの形式で出力される。受信データ
バスRXDATA上の各並列情報バイトを出力すると、
データアダプタ90は、ライン100上で信号RXVA
LIDを設定する。ライン100上の信号RXVALI
Dに応答して、メッセージコンバータ160のステート
マシン252は、受信データバスRXDATAの情報バ
イトをメッセージコンバータ160内にロードし、ライ
ン102上に信号RXACKを設定して情報バイトの受
信を肯定応答する。信号RXVALIDを設定してメッ
セージの第1の情報バイトを示すデータアダプタ90に
応答して、ステートマシン252は、ライン266を介
してヘッダレジスタ240を制御し、受信データバスR
XDATAの情報バイトを内部情報バス256を介して
ヘッダレジスタ240内にロードする。そして、ステー
トマシン252は、ヘッダレジスタ240内にロードさ
れたバイトのうちの少なくとも2つの重要なビットを検
索して、どのタイプのメッセージが入力するのかを決定
する。この場合、ステートマシン252は、受信したバ
イトの少なくとも2つの重要なビットを00として識別
し、「poke」メッセージに対応するとして入力メッ
セージを識別する。ホストCPUによって開始された
「poke」メッセージは、ホストCPUがターゲット
CPUメモリ領域内に特定アドレスで挿入しようとする
データを含む。ヘッダレジスタ240に記憶されたヘッ
ダバイトと関連するワードカウントは、メッセージ内の
データワード数のカウントである。ステートマシン25
2は、ライン268を介してアドレスレジスタ242を
制御して、受信データバスRXDATA上で受信される
次の4バイトを、情報バス256を介してアドレスレジ
スタ242内にロードする。この4バイトはアドレスワ
ードを形成する。アドレスワードがアドレスレジスタ2
42内にロードされると、受信データバスRXDATA
で受信される第1のデータワードを形成する次の4バイ
トが、制御ライン270を介してステートマシン252
の制御下でデータレジスタ244内にロードされる。そ
して、ステートマシン252は、ライン272を介して
バス選択及び指定ロジック254を制御してアドレスレ
ジスタ242とデータレジスタ244の内容をメモリマ
スタバス222に出力する。
【0059】アドレスレジスタとデータレジスタの内容
をメモリマスタバス222に出力すると、ステートマシ
ン252は、前記バスに関連する書き込み制御信号と、
メモリマスタバスに関連するライン356上の要求信号
とを設定する。アクセスされるターゲットCPUのメモ
リスペースに関連するメモリアービタは、要求されたメ
モリアクセスが進行できることを判定すると、メモリマ
スタバスに関連するライン358上の許可(GRAN
T)信号を宣言する。より高い優先順位の要求者(例え
ばCPU)が要求を出さずに前回アクセスを完了した場
合、メッセージコンバータ160は低優先順位を持って
もよい。要求及び許可の信号セットは、各データワード
転送毎に要求される。
【0060】メモリアクセス後、ヘッダレジスタ240
に含まれるワードカウントが1ではない場合(本実施形
態では、1はゼロのワードカウントを示す)、アドレス
レジスタ242は、制御ライン243を介して増分制御
248によって増分され、別のワード情報がデータレジ
スタ244内にロードされる。更に、レジスタ244へ
のデータワードのローディング後、アドレスレジスタ2
42内に記憶されたアドレス及びデータレジスタ244
内に記憶されたデータは、書き込み制御信号及び要求信
号が設定されるのとともにメモリマスタバス上に出力さ
れ、また、データレジスタ244内に含まれるデータワ
ードがアドレスレジスタ242内に含まれるアドレスに
書き込まれる。その肯定応答は、メモリマスタバス上に
許可信号を設定するメモリアービタによって確認され
る。この一連のアドレスレジスタ242の増分とデータ
レジスタ244内への4バイト情報のローディングは、
ヘッダレジスタ240に含まれるワードカウントが1と
同じ、即ち、データワードが残らない、状態になるまで
継続する。
【0061】ホストCPUが「peek」を開始する
と、図7(b) に示される形式の直列メッセージが集積回
路2のテストアクセスポートで受信され、続いて受信デ
ータバスRXDATA上のデータアダプタ90によって
並列情報バイト形式で出力される。信号RAVALID
を設定して第1の情報バイトを示すデータアダプタ90
に応答して、ステートマシン252はヘッダレジスタ2
40を制御してその内部に情報バイトをロードする。そ
して、ステートマシン252はその内部にロードされた
バイトのうち少なくとも2つの重要なビットを検索し
て、どのメッセージが入力するかを判定するが、この場
合、受信したバイトのうち少なくとも2つの重要なビッ
トを01として識別し、入力するメッセージを「pee
k」メッセージに対応するものとして識別する。ホスト
CPUによって開始される「peek」メッセージはタ
ーゲットCPUメモリ領域内にアドレスを含み、その内
容はホストCPUが検索する。
【0062】ステートマシン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上に出力す
る。
【0063】設定される要求信号に応答して、アクセス
されるターゲットCPUのメモリスペースに連絡するメ
モリアービタが、要求されたアクセスが進行できること
を判定すると、アービタはメモリマスタバスに関連する
許可信号を設定する。メモリマスタバス上のアドレス出
力に関連する実際のメモリ位置がアクセスされ、その内
部に記憶されたデータがメモリマスタバスの読み出しデ
ータバス上に出力されると、アービタはメモリマスタバ
スに関連する信号VALIDを設定してデータがホスト
CPUに返送される用意ができていることを示す。設定
される信号VALIDに応答して、ステートマシン25
2は、ライン272を介してバス選択及び指定制御ロジ
ックを制御してメモリマスタバスの読み出しデータバス
上のデータをデータレジスタ244内にロードする。デ
ータレジスタ244内にロードされたデータワードは、
内部情報バス256を介して送信データバスTXDAT
A上に一度に1バイトずつシフトアウトされて、ホスト
CPUに返送される。要求、許可及び有効の信号のセッ
トが転送される各データワード毎に必要である。
【0064】データレジスタ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と同じ、即ちデータ
ワードが残らない状態になるまで、このサイクルが繰り
返される。
【0065】ターゲットCPUは、「poke」又は
「peek」メッセージを開始してホストCPU200
のメモリスペースからデータを書き込むかまたは読み出
す。ターゲットCPU領域のメモリスレーブバス220
とその関連制御信号を監視し、読み出しまたは書き込み
制御信号に関連して、ターゲットCPUによるアドレス
バス上のアドレス出力がターゲットCPUではなくホス
トCPUのアドレス範囲内であることを識別するステー
トマシン252によって、ターゲットCPUによる「p
oke」メッセージまたは「peek」メッセージの開
始が認識される。複数ワードの「peek」メッセージ
及び「poke」メッセージを実行する上記のようなタ
ーゲットCPUにより開始される「poke」メッセー
ジ及び「peek」メッセージに対して、ターゲットC
PUは単一ワードの「peek」メッセージ及び「po
ke」メッセージのみを実行できる。
【0066】ターゲットCPUが「poke」メッセー
ジを開始すると、これは、メモリスレーブバスの書き込
みデータバスに関連する書き込み信号と、設定されるメ
モリスレーブバスに関連する要求信号とを識別するステ
ートマシン252によって認識される。また、ステート
マシン252は、メモリスレーブバスによって要求され
る書き込みデータと関連するアドレスがターゲットCP
U領域のメモリ範囲の外側であることを認識する。この
状況に応じて、ステートマシン252は、図6(a) に示
されるような予め記憶された「poke」ヘッダバイト
を制御ライン266を介してヘッダレジスタ240内に
直接ロードする。このような「poke」ヘッダバイト
は1つのデータワードを示すワードカウントを持つ。そ
して、メモリスレーブバスのアドレスデータバス上のア
ドレスワードはバス選択及び指定ロジック254を介し
て、ステートマシン252の制御下でアドレスレジスタ
242内にロードされ、メモリスレーブバスの書き込み
データバス上の書き込みデータも同様にデータアダプタ
160のデータレジスタ244内にロードされる。そし
て、ステートマシン252の制御下で、ヘッダレジスタ
240内の「poke」バイトは、送信データバスTX
DATA上を通ってホストCPUに出力され、アドレス
レジスタ242に含まれる4バイトアドレスとデータレ
ジスタ244に含まれる4バイトデータが続く。
【0067】同様に、要求信号とターゲットCPU領域
のアドレス範囲の外側のメモリスレーブバスのアドレス
バス上のアドレスとに関連して読み出し信号をメモリス
レーブバス上で識別するステートマシン252に応答し
て、ステートマシン252は、「peek」ヘッダバイ
トに相当する図6(b) に示されるヘッダバイトをヘッダ
レジスタ240内にロードする。この場合、ヘッダバイ
トは1つのワードカウントを含む、即ち、データワード
がないことを示す。同様に、上述のように、ステートマ
シン252はまた、データアダプタ160を制御してメ
モリスレーブバスのアドレスバス上のアドレスをアドレ
スレジスタ242内にロードする。そして、ヘッダレジ
スタ240に含まれるヘッダバイトは、送信データバス
TXDATA上に出力され、アドレスレジスタ242に
記憶された4つの連続したバイトが続く。
【0068】この段階で、メッセージコンバータ160
は、開始されたターゲット「peek」メッセージで終
了するが、ターゲットCPUはメモリスレーブバス22
0上の信号VALIDを受信していない。結果として、
ターゲットCPUは「stuck」(即ち、固定された
かまたは継続して待機中)であり、何もしていない(停
止または他の中断ではない)。しかしながら、メッセー
ジコンバータ160は「stuck」ではなく、その他
の活動(CPUが「stuck」なので開始されたター
ゲット「peek」メッセージまたは「poke」メッ
セージを受信しないが)を進行する位置にいる。
【0069】このように、メッセージコンバータがメモ
リアクセスメッセージをオフ−チップホストプロセッサ
に送信すると、後続のメッセージまたは要求を自由に処
理できる。ターゲット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」ではなくな
る。
【0070】メモリスレーブバス220は、ターゲット
CPUによって使用されて、メッセージコンバータ16
0を介してホストCPUによってアクセスされるオン−
チップ診断機能にアクセスする。これは開始されたター
ゲット「peek」/「poke」に使用するのと同じ
バスであり、アドレス範囲は、これがオン−チップ診断
機能へのアクセスかどうか判定する。ターゲットCPU
によってメモリスレーブバス220上で開始される任意
の作動に応答して、ステートマシン252はライン27
2を介してバス選択及び指定ロジック254を制御しメ
モリスレーブバス220上の任意の情報または制御信号
を診断バス234に転送する。
【0071】図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をインタフェースする。
【0072】図11の構成は、オン−チップソース/宛
先ロジックとホストCPUとの間でメッセージを送信す
ることによって種々の診断手順を実行するのに使用でき
る。診断バス234は、診断機能回路300の診断レジ
スタ301への又は診断レジスタ301からの読み出し
及び書き込みを可能にするとともに、トリガ事象を発生
させる。ターゲットCPUに関連する制御情報は、診断
機能回路300から読み出される。ターゲットCPUに
関連する命令ポインタと他の制御信号は、診断機能回路
300の診断レジスタ301に記憶される。命令ポイン
タは、診断レジスタ301の一つに連続して複写され、
診断バス234上の要求によってアクセスされる。ター
ゲットCPUの状態を検索するには、診断機能回路30
0の診断レジスタ301の一つを検索する必要がある。
診断レジスタ301は、例えば、STALL AT
NTERRUPT POINT、TRAP AT IN
TERRRUPT POINT等の、ターゲットCPU
の種々の制御信号を記憶できる。これらの信号は特定の
ワイヤを介してCPUに伝達される。
【0073】前述のように、ホストCPUがメモリマス
タバス222を介してターゲットCPUメモリスペース
内のメモリ位置に書き込みができるのと同様の方法で、
ホストCPUは、診断バス234を介して診断機能回路
300内のレジスタに書き込みができる。診断機能回路
300のレジスタに書き込みをするホストCPUに応答
して、トリガされた事象が発生する。このトリガ事象
は、トリガ事象を識別する理由コードに関連する要求信
号を識別するステートマシン252によってメッセージ
コンバータ160内で検出される。要求信号に応答し
て、ステートマシン252は、トリガ事象に関連する理
由コードを、トリガヘッダバイトを識別する2ビット1
1とともに、ヘッダレジスタ240内にロードする。そ
して、ヘッダレジスタ240に記憶されたトリガヘッダ
バイトが送信データバスTXDATA上をターゲットC
PUに出力される。
【0074】上記のように、ターゲットCPU自体が、
メモリモニタバス226と診断バス234とを介して診
断機能回路300にアクセスできる。同様に、ターゲッ
トCPUが診断機能回路に書き込みをすると、この書き
込みに応答してトリガ事象が発生して、ステートマシン
252がヘッダレジスタ240に含まれるトリガヘッダ
バイトを出力してターゲットCPUに戻す。ステートマ
シン252は、診断バス234上の書き込みがターゲッ
トCPUによって行われたかまたはホストCPUによっ
て行われたかを記憶し、トリガ事象を正しい宛先に返送
する。
【0075】図11に示された環境で実行される本実施
形態によるメッセージコンバータは、テストアクセスポ
ートからのブート、ホットプラグ挿入及びホストとター
ゲットの同期化等の種々の高レベルの診断特徴を維持で
きる。このように、本実施形態によれば、集積回路に挿
入され、限定されたピンカウントを介してホストCPU
とオン−チップソース/宛先ロジックとの間の通信を提
供するメッセージコンバータが設けられる。このコンバ
ータは、種々のオン−チップリソースへのアクセスを有
する。これらのリソースのうちのいくつかは単に監視さ
れるだけであり、他は制御されるかまたは監視及び制御
される。任意のリソースの監視は非割り込みであり、チ
ップ機能の実行または待機に何の影響も与えない。これ
は診断目的には理想的である。メッセージコンバータ
は、受信メッセージの解釈と、送信メッセージの編集
と、オン−チップソース/宛先ロジックへのまたはオン
−チップソース/宛先ロジックからの情報の選択または
指示との機能を実行する。メッセージコンバータは、オ
ン−チップ機能のいずれからも独立して作動するので、
何らかの割り込み作動の実行が指示されるまで或いは指
示されなければ非割り込みである。
【0076】図11を参照すると、その構成は、メモリ
キャッシュ302を取り除き、共通バス312とCPU
命令取り出しバス314とをメモリバス166に直接接
続することによって応用されてもよい。更に、この構成
は、付加的なマスタまたはメモリバス166に接続され
たオン−チップの自律機能を有するようにも応用でき
る。さらにまた、ターゲットCPU162は取り除くこ
とができ、メモリスレーブバス220とメモリマスタバ
ス222とメモリモニタバス226とをメモリバス16
6に直接接続できる。
【0077】以下の実施の形態によれば、診断機能回路
300はトリガシーケンシングコントローラを有する。
図12を参照して説明する。図12は、2つの診断ユニ
ット402、404とトリガシーケンシングコントロー
ラ400とを含んで構成される診断機能回路300を示
す。各診断ユニット402、404は、各トリガ接続点
406、408を介してトリガシーケンシングコントロ
ーラ400に接続される。各診断ユニット402、40
4のオン−チップ回路の残り部分との相互接続は個々の
診断ユニットの機能に依存する。診断バス234が図1
2に示され、通常は診断機能回路300に接続され、ま
た、診断ユニット402、404のそれぞれまたは一方
に接続することもでき、トリガシーケンシングコントロ
ーラに接続することもできる。図12に示される具体例
では、診断ユニット402はバス310を介してターゲ
ットCPU162に接続され、診断ユニット404はバ
ス410を介してメモリバス166に接続される。
【0078】上記のように、各診断ユニット402、4
04の相互接続は個々の診断ユニットの性質に依存す
る。更に、診断機能回路300は図12に示された2つ
の診断ユニットより多くの診断ユニットを含んで構成す
ることができ、各診断ユニットはここに記載した本発明
の実施の形態によりトリガシーケンシングコントローラ
400に接続される。
【0079】診断機能回路300の各診断ユニットは、
例えば、1996年12月19日出願の英国特許出願第
9626367.8号に記載の命令トレースコントロー
ラ、1996年12月19日出願の英国特許出願第96
26401.5号に記載のブレークポイントユニット、
或いは、1996年12月19日出願の英国特許出願第
9626412.2号に記載のブレークポイントレンジ
ユニットでよい。命令トレースコントローラは、CPU
によって実行されるアドレスを監視して、前記アドレス
内の不連続に応じて、トレースストレージ位置に前記ア
ドレスのうち選択されたアドレスを記憶させるように動
作可能である。このように、命令トレースコントローラ
は、付加的な外部ピンを必要とせずに、リアルタイム
で、命令トレースを収集できる。ブレークポイントユニ
ットは、CPUが通常実行するはずの次の命令の代わり
に、一連の命令(いわゆる「トラップ命令」)をCPU
に取り出させて実行させるブレークポイント信号を発生
する。或いは、ブレークポイント信号は、診断手順が行
われている間にCPUが何らかの別の命令を実行するの
を防止することもできる。ブレークポイントユニットは
ブレークポイントアドレスを保持するとともに、CPU
によって実行されるべき次の命令がブレークポイントア
ドレスとマッチした時に、CPUの通常作動を中断する
信号をだすように動作可能である。ブレークポイントレ
ンジユニットは、レンジ内(又は外)の値を有する命令
ポインタに応答してブレークポインティングを開始させ
ることができる。ブレークポイントレンジユニットは、
それぞれ上側ブレークポイントアドレスと下側ブレーク
ポイントアドレスを保持し、その間でCPUの通常作動
が中断される第1及び第2のブレークポイントレジスタ
を有する。ブレークポイントレンジユニットは、次に実
行される命令が下側ブレークポイントアドレスと上側ブ
レークポイントアドレスとの間にある時には、CPUの
通常作動を中断するブレークポイント信号を出すように
動作可能である。
【0080】診断ユニットは選択されたオン−チップ信
号を観察して状態を検出するのに使用される。診断ユニ
ットが命令トレースコントローラ、ブレークポイントユ
ニット又はブレークポイントレンジユニットの場合に
は、診断ユニットが検出する状態は、その機能を使用可
能にする適宜な状態である。或いは、診断ユニットはオ
ン−チップ信号の数を観察して、これらの信号を任意の
方法でプログラム可能な内容を持つレジスタと比較する
ように接続できる。
【0081】図12の配列では、各診断ユニット40
2、404は、それぞれの状態の検出に応じて、各トリ
ガ接続点406、408を介したトリガシーケンシング
コントローラ400へのトリガ信号をセットする。以下
に更に説明するように、トリガシーケンシングコントロ
ーラ400は、診断機能回路300の特定の1つ又は複
数の診断ユニットに応答して、診断機能回路300の特
定の1つ又は複数の診断ユニットがそれぞれの状態の検
出に応答して、即ち、一連のトリガ信号に応答して、ト
リガ信号を発生できるようにする。
【0082】図12の配列において、トリガシーケンシ
ングコントローラ400が一連のトリガ信号に応答して
診断バス234及び前記バスが上記のように接続された
メッセージコンバータ160を介してトリガメッセージ
を開始するように、トリガシーケンシングコントローラ
400を診断バス234に接続することができる。トリ
ガメッセージの開始に加えて、トリガシーケンシングコ
ントローラ400は診断ユニット402、404の一方
又は両方を使用可能にできる。
【0083】図13は、図12のトリガシーケンシング
コントローラ400が分散された別の実施の形態を示
す。この実施の形態において、診断機能回路の各診断ユ
ニット450、452は図12のトリガシーケンシング
コントローラ400の機能部分を分担し、各接続点45
6、458を介してトリガバス454に接続される。図
13のその他の接続は図12と同様である。図13に示
される分散型トリガシーケンシングコントローラの動作
を図14を参照して説明する。
【0084】図14は図13の診断ユニット450を示
す。図14に示された例において、この特定の診断ユニ
ットは、ターゲットCPU162に接続されたバス31
0に接続されるとともに診断バス234に接続される診
断機能ロジック460を有する。診断ユニット450の
機能を実行する診断機能ロジック460に加えて、トリ
ガシーケンシングを実行する分散型トリガシーケンシン
グコントローラロジック回路462が設けられる。
【0085】分散型トリガシーケンシングコントローラ
ロジック回路462は、制御ロジック464、イネーブ
ル比較ロジック466、ディスエーブル比較ロジック4
68、使用可能ビット470、トリガビット472、反
復可能ビット474、イネーブル状態レジスタ476及
びディスエーブル状態レジスタ478を有する。使用可
能ビット470、トリガビット472、反復可能ビット
474、イネーブル状態レジスタ476及びディスエー
ブル状態レジスタ478は全て診断機能回路300の診
断レジスタ301の役割を行う。
【0086】使用可能ビット470、トリガビット47
2、反復可能ビット474、イネーブル状態レジスタ4
76及びディスエーブル状態レジスタ478は全て、図
14においてビットをロードして読み出す診断バス23
4に接続して示される。この特定の実施の形態におい
て、診断バス234はこのために使用されるものである
が、データのローディング及びアクセシングが可能な任
意のバスをこの目的に使用することができる。
【0087】制御ロジックはライン480上の信号EN
ABLEDを診断機能ロジック460に出力し、ライン
482上の信号CONDITION DETECTを診
断機能ロジック460から受信する。制御ロジックは2
方向信号ライン484、486、488のそれぞれを介
して使用可能ビット470、トリガビット472及び反
復可能ビット474のそれぞれに接続される。イネーブ
ル比較ロジック466はバス490上のイネーブル状態
レジスタ476及びトリガバス456の内容を受信し
て、ライン492上の信号ENABLEを制御ロジック
464に出力する。ディスエーブル比較ロジック468
はバス494上のディスエーブル状態レジスタ478及
びトリガバス456の内容を受信して、ライン496上
の信号DISABLEを制御ロジック464に出力す
る。制御ロジック464は、トリガバス456の一部を
構成するライン467上の信号TRIGGEREDを出
力する。
【0088】診断機能ロジック460はバス310又は
234を介して選択されたオン−チップ信号に接続され
て、選択された状態を検出する。例えば、診断機能ロジ
ック460は、バス310上のターゲットCPUの命令
ポインタを監視するように接続された命令トレースコン
トローラであってもよい。診断機能ロジック460が所
望の状態を検出すると、診断機能ロジック460に要求
される機能動作を実行することに加えて、診断機能ロジ
ック460はライン482上にCONDITION
ETECT信号をセットする。ライン482上のCON
DITION DETECT信号を受信すると、制御ロジ
ック464は2方向ライン486を介してトリガビット
472をセットするとともに、ライン467上にTRI
GGERED信号をセットする。ライン467上のトリ
ガ信号はトリガバス456の役割を果たす。トリガバス
456の各ラインは診断機能回路300の診断ユニット
の1つによって発生するトリガ信号に相当する。このよ
うに、診断機能回路300が2つの診断ユニットを有す
る図13に示される特定の実施の形態において、トリガ
バス456は診断ユニット450によってライン467
上に発生するTRIGGERED信号と、診断ユニット
452によって発生する対応するTRIGGERED信
号とを含んで構成される2ビット幅である。しかしなが
ら、トリガバス456の幅は診断ユニット450の数に
依存し、また、診断機能回路300が複数の診断ユニッ
トを含んで構成される場合、トリガバス456は対応す
る複数のビット幅であることが理解される。このよう
に、図14を再び参照すると、ライン467上のTRI
GGERED信号はトリガバス456の出力ラインを形
成し、トリガバス456の他方のラインは診断ユニット
450に入力してイネーブル比較ロジック466及びデ
ィスエーブル比較ロジック468によって受信される。
【0089】イネーブル比較ロジック466はトリガバ
ス456の全てのビットを受信して、これらをライン4
90上にあるイネーブル状態レジスタ476内に記憶さ
れた値と比較する。有効な比較がなされた場合、イネー
ブル比較ロジック466はライン492上のENABL
E信号を制御ロジック464に出力する。ライン492
上のENABLE信号に応答して、制御ロジック464
は2方向ライン484を介して使用可能ビット470を
セットする。更に、ライン492上のENABLE信号
に応答して、制御ロジック464がライン480上のE
NABLE信号を診断機能ロジック460にセットする
ことによって、診断機能ロジック460が診断バス23
4を介してトリガメッセージを開始して機能動作を実行
することができる。
【0090】同様に、ディスエーブル比較ロジック46
8はトリガバス456の全てのビットを受信して、これ
らのビットをバス494上にあるディスエーブル状態レ
ジスタ478内に記憶された値と比較する。トリガバス
の値がディスエーブル状態レジスタの値とマッチする
と、ディスエーブル比較ロジック468は制御ロジック
464へのライン496上にDISABLE信号を発生
する。ライン496上のDISABLE信号に応答し
て、制御ロジック464は2方向ライン484を介して
使用可能ビット470をリセットし、ライン480上に
ENABLE信号をセットする。使用可能ビット470
はまた、診断バス234を介して、或いは、論理回路4
62を制御するトリガシーケンスの記憶素子をロードし
また記憶素子にアクセスするのに使用される他の適宜な
バスを介して、直接にセット及びリセットできる。
【0091】このように、診断ユニットの診断機能ロジ
ック460はトリガメッセージを開始して、他のユニッ
トがセットしたトリガ出力に応答して診断機能回路30
0のこれらの他の診断ユニットに応じた機能を実行でき
る。同様に、図14の診断ユニット450の診断機能ロ
ジック460の動作は、トリガ信号の発生によって、他
の診断ユニットの機能ロジックを使用可能とする。
【0092】分散型トリガシーケンシングコントローラ
論理回路462は反復可能な方法で動作できるので、ラ
イン482上の信号CONDITION DETECT
によって各状態の検出がセットされるのに続いて、トリ
ガビット472が次の状態検出のための次のクロックサ
イクルでクリアされる。反復可能な動作は反復可能ビッ
ト474がセットされたかどうかによって制御される。
反復可能ビットがセットされていない場合、トリガビッ
トが一旦セットされると、診断バス234を介してリセ
ットされるまで「stuck」である。
【0093】イネーブル比較ロジック466及びディス
エーブル比較ロジック468により実行される比較は簡
単な等価演算であるが、「レジスタ内にセットされる全
てのビットのために、対応するビットもまたトリガバス
上にセットされる」ような、より適切な比較も使用でき
る。上記のことから、診断機能回路300の各診断ユニ
ットが単一の検出可能な状態に応答可能であることが明
らかである。診断ユニットの全体としての収集は、トリ
ガバス及び各診断ユニットのイネーブル状態レジスタ及
びディスエーブル状態レジスタによって決定されるよう
な前記バスの特定の状態に応答する各診断ユニットの能
力によって提供される相互接続に基づいてより大きな能
力を有する。このように、他の診断ユニットが適宜な状
態を検出している或いは検出していない間に、トリガメ
ッセージを開始でき、一定回数適宜な状態を検出する他
の診断ユニットに応答して特定診断ユニットの機能を使
用可能にできるようにトリガシーケンスを構築できる。
このように、診断機能回路300の診断ユニットを結合
して複素シーケンスのトリガ事象を構築して任意の診断
目的を達成する結果としての任意のトリガ事象を導くこ
とができる。
【図面の簡単な説明】
【図1】本実施形態による接続点を有するテストアクセ
スポートコントローラを備えた集積回路を示す。
【図2】図1のテストアクセスポートコントローラを示
す。
【図3】図2のテストアクセスポートコントローラに接
続するための本実施形態によるデータアダプタを示す。
【図4】診断モードにおける図2のテストアクセスポー
トコントローラを介してオフ−チップ通信されたデータ
のデータフォーマットを示す。
【図5】図3のデータアダプタの実行を階層形状ブロッ
ク図で示す。
【図6】本実施形態によるメッセージのヘッダバイトの
フォーマットを示す。
【図7】本実施形態によるメッセージのフォーマットを
示す。
【図8】本実施形態によるメッセージコンバータを概略
的に示す。
【図9】本実施形態におけるメッセージコンバータに接
続されるバスのフォーマットを示す。
【図10】本実施形態のメッセージコンバータの実行を
示す。
【図11】本実施形態のメッセージコンバータの実行を
階層形状ブロック図で示す。』
【図12】診断ユニットを備えたトリガシーケンシング
コントローラの使用を示すブロック図。
【図13】分散型トリガシーケンシング制御を備えた診
断ユニットを示すブロック図。
【図14】図13の診断ユニットのブロック図。

Claims (11)

    【特許請求の範囲】
  1. 【請求項1】 オン−チップ機能回路と、 前記オン−チップ機能回路を監視するように接続される
    複数の診断ユニットであって、前記オン−チップ機能回
    路からの信号と診断ユニットの各診断レジスタ内に保持
    されるデータとを比較して各トリガ状態を検出する複数
    の診断ユニットと、 前記トリガ状態を受信するように配列され、前記トリガ
    状態の所定のシーケンスが検出された時にトリガメッセ
    ージを開始するトリガシーケンス制御回路と、を含んで
    構成された単一チップ集積回路装置。
  2. 【請求項2】 前記トリガシーケンス制御回路が各診断
    ユニットに接続される制御ユニットを含んで構成される
    請求項1記載の単一チップ集積回路装置。
  3. 【請求項3】 前記トリガシーケンス制御回路が前記診
    断ユニットとそれぞれ接続し共通のトリガバスと接続す
    る複数の分散型回路を含んで構成される請求項1記載の
    単一チップ集積回路装置。
  4. 【請求項4】 前記機能回路がCPUである請求項1か
    ら3のいずれか1つに記載の単一チップ集積回路装置。
  5. 【請求項5】 前記診断ユニットの1つがブレークポイ
    ントアドレスを保持し、CPUによって実行されるべき
    次の命令がブレークポイントアドレスとマッチした時に
    CPUの次の動作を中断する信号を出すように動作可能
    である請求項4記載の単一チップ集積回路装置。
  6. 【請求項6】 前記診断ユニットの1つが、それぞれ上
    側ブレークポイントアドレスと下側ブレークポイントア
    ドレスとを保持して、その間のCPUによる通常作動が
    中断される第1及び第2ブレークポイントレジスタを有
    するブレークポイントレンジユニットであり、前記ブレ
    ークポイントレンジユニットは実行される次の命令が下
    側ブレークポイントアドレスと上側ブレークポイントア
    ドレスとの間にある時にCPUの通常作動を中断するブ
    レークポイント信号を出すように動作可能である請求項
    4または5記載の単一チップ集積回路装置。
  7. 【請求項7】 前記診断ユニットの1つが、CPUによ
    って実行されるアドレスを監視して、前記アドレスのう
    ち選択されたアドレスを前記アドレス内の不連続に依存
    するトレースストレージ位置に記憶させる命令トレース
    コントローラを含んで構成される請求項4、5または6
    記載の単一チップ集積回路装置。
  8. 【請求項8】 オン−チップ機能回路を監視し、前記オ
    ン−チップ機能回路からの信号と記憶されたデータとを
    比較してトリガ状態を検出し、前記トリガ状態の所定の
    シーケンスの検出に応答してトリガメッセージを開始す
    ることを含んで構成されるトリガシーケンシング制御方
    法。
  9. 【請求項9】 前記比較が、ブレークポイントアドレス
    を保持し、CPUによって実行されるべき次の命令がブ
    レークポイントアドレスとマッチするとCPUの通常作
    動を中断する信号を出すように動作可能なブレークポイ
    ントユニットによって実行される請求項8記載のトリガ
    シーケンシング制御方法。
  10. 【請求項10】 前記比較が、それぞれ上側ブレークポ
    イントアドレスと下側ブレークポイントアドレスとを保
    持して、その間のCPUによる通常作動が中断される第
    1及び第2ブレークポイントレジスタを有するブレーク
    ポイントレンジユニットによって実行され、前記ブレー
    クポイントレンジユニットは実行される次の命令が下側
    ブレークポイントアドレスと上側ブレークポイントアド
    レスとの間にある時にCPUの通常作動を中断するブレ
    ークポイント信号を出すように動作可能である請求項8
    または9記載のトリガシーケンシング制御方法。
  11. 【請求項11】 前記比較が、CPUによって実行され
    るアドレスを監視して、前記アドレスのうちの選択され
    たアドレスを前記アドレス内の不連続に依存するトレー
    スストレージ位置で記憶させる命令トレースコントロー
    ラによって実行される請求項8、9または10に記載の
    トリガシーケンシング制御方法。
JP04703098A 1997-02-27 1998-02-27 トリガシーケンシングコントローラ Expired - Lifetime JP4426655B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GBGB9704068.7A GB9704068D0 (en) 1997-02-27 1997-02-27 Trigger sequencing controller
GB9704068-7 1997-02-27

Publications (2)

Publication Number Publication Date
JPH10293701A true JPH10293701A (ja) 1998-11-04
JP4426655B2 JP4426655B2 (ja) 2010-03-03

Family

ID=10808401

Family Applications (1)

Application Number Title Priority Date Filing Date
JP04703098A Expired - Lifetime JP4426655B2 (ja) 1997-02-27 1998-02-27 トリガシーケンシングコントローラ

Country Status (5)

Country Link
US (1) US6178525B1 (ja)
EP (1) EP0862115B1 (ja)
JP (1) JP4426655B2 (ja)
DE (1) DE69802977T2 (ja)
GB (1) GB9704068D0 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009527813A (ja) * 2006-02-16 2009-07-30 ブイエヌエス ポートフォリオ リミテッド ライアビリティ カンパニー 非同期電力節約コンピュータ

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6542000B1 (en) * 1999-07-30 2003-04-01 Iowa State University Research Foundation, Inc. Nonvolatile programmable logic devices
US6567932B2 (en) * 1999-10-01 2003-05-20 Stmicroelectronics Limited System and method for communicating with an integrated circuit
US6484275B1 (en) * 1999-11-26 2002-11-19 Hewlett-Packard Company System and method for interfacing data with a test access port of a processor
GB2383437B (en) * 2001-12-20 2004-02-04 Sun Microsystems Inc System trace unit
US7107585B2 (en) * 2002-07-29 2006-09-12 Arm Limited Compilation of application code in a data processing apparatus
KR100498473B1 (ko) * 2003-01-06 2005-07-01 삼성전자주식회사 제어신호 발생회로 및 상기 제어신호 발생회로를 구비하는데이터 전송회로
US7278073B2 (en) 2003-04-17 2007-10-02 Arm Limited Diagnostic data capture within an integrated circuit
US7937557B2 (en) 2004-03-16 2011-05-03 Vns Portfolio Llc System and method for intercommunication between computers in an array
US20060236148A1 (en) * 2005-01-21 2006-10-19 Glenn Wood One hot counter proxy
US7788748B2 (en) * 2005-04-06 2010-09-07 Piedmont Global Solutions, Inc. Hospital beds with a rotating sleep surface that can translate into a chair configuration
US7904695B2 (en) * 2006-02-16 2011-03-08 Vns Portfolio Llc Asynchronous power saving computer
US7904615B2 (en) 2006-02-16 2011-03-08 Vns Portfolio Llc Asynchronous computer communication
US7966481B2 (en) 2006-02-16 2011-06-21 Vns Portfolio Llc Computer system and method for executing port communications without interrupting the receiving computer
US7617383B2 (en) * 2006-02-16 2009-11-10 Vns Portfolio Llc Circular register arrays of a computer
US7555637B2 (en) * 2007-04-27 2009-06-30 Vns Portfolio Llc Multi-port read/write operations based on register bits set for indicating select ports and transfer directions
GB2456813B (en) 2008-01-24 2012-03-07 Advanced Risc Mach Ltd Diagnostic context construction and comparison
US20100023730A1 (en) * 2008-07-24 2010-01-28 Vns Portfolio Llc Circular Register Arrays of a Computer
US8791713B2 (en) * 2010-06-17 2014-07-29 Advanced Micro Devices, Inc. Method and apparatus for bypassing silicon bugs
US8984347B2 (en) * 2012-10-17 2015-03-17 Scaleo Chip Real-time trigger sequence checker
US20160371166A1 (en) * 2015-06-19 2016-12-22 International Business Machines Corporation Stream-based breakpoint for too many tuple creations

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57199054A (en) * 1981-06-02 1982-12-06 Fujitsu Ltd Program tracer with sequential function
JPS63155336A (ja) * 1986-12-19 1988-06-28 Hitachi Ltd デ−タ処理装置
JPH02103643A (ja) * 1988-10-13 1990-04-16 Nec Corp デバッグ用割込発生回路
US5491793A (en) * 1992-07-31 1996-02-13 Fujitsu Limited Debug support in a processor chip
US5664159A (en) * 1994-03-08 1997-09-02 Exponential Technology, Inc. Method for emulating multiple debug breakpoints by page partitioning using a single breakpoint register
GB2288666B (en) * 1994-04-12 1997-06-25 Advanced Risc Mach Ltd Integrated circuit control
US5812830A (en) * 1996-11-14 1998-09-22 Hewlett-Packard Company Debug system with raw mode trigger capability
US5951696A (en) * 1996-11-14 1999-09-14 Hewlett-Packard Company Debug system with hardware breakpoint trap
US5771240A (en) * 1996-11-14 1998-06-23 Hewlett-Packard Company Test systems for obtaining a sample-on-the-fly event trace for an integrated circuit with an integrated debug trigger apparatus and an external pulse pin
US5751735A (en) * 1996-11-14 1998-05-12 Hewlett-Packard Company Integrated debug trigger method and apparatus for an integrated circuit

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009527813A (ja) * 2006-02-16 2009-07-30 ブイエヌエス ポートフォリオ リミテッド ライアビリティ カンパニー 非同期電力節約コンピュータ

Also Published As

Publication number Publication date
DE69802977T2 (de) 2002-08-29
US6178525B1 (en) 2001-01-23
DE69802977D1 (de) 2002-01-31
GB9704068D0 (en) 1997-04-16
EP0862115B1 (en) 2001-12-19
EP0862115A1 (en) 1998-09-02
JP4426655B2 (ja) 2010-03-03

Similar Documents

Publication Publication Date Title
JP3929574B2 (ja) 集積回路装置及びその通信方法
JP3929573B2 (ja) 集積回路装置及びその通信方法
JPH10240572A (ja) 命令トレース供給方式
EP0849668B1 (en) Diagnostics system and procedure in an integrated circuit device
US6430727B1 (en) Diagnostic procedures in an integrated circuit device
JPH10293701A (ja) トリガシーケンシングコントローラ
JP4037494B2 (ja) テストアクセスポート制御器及びそれを用いた有効な通信方法
EP0982595B1 (en) An integrated circuit with multiple processing cores
JP3998303B2 (ja) Tapコントローラを有する集積回路
JPH10240572A5 (ja)
JP3929572B2 (ja) 集積回路装置及びその通信方法
JP4504466B2 (ja) コンピュータシステム内の通信を実行する方法
JPH1011112A (ja) システム用のファームウェアの開発及びテスト用のモニタ装置、開発方法、及び、汎用回路内エミュレータ装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050225

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20061010

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20070109

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20070115

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070409

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080408

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20080708

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20080711

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20080808

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20080813

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20080908

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20080911

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081003

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090804

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091030

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: 20091124

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20091211

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: 20121218

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131218

Year of fee payment: 4

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term