JPH09167105A - オンチップデバッグシステム - Google Patents
オンチップデバッグシステムInfo
- Publication number
- JPH09167105A JPH09167105A JP8239262A JP23926296A JPH09167105A JP H09167105 A JPH09167105 A JP H09167105A JP 8239262 A JP8239262 A JP 8239262A JP 23926296 A JP23926296 A JP 23926296A JP H09167105 A JPH09167105 A JP H09167105A
- Authority
- JP
- Japan
- Prior art keywords
- debug
- bus
- data
- register
- information
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
- G06F11/3648—Software debugging using additional hardware
- G06F11/3656—Software debugging using additional hardware using a specific debug interface
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2205—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
- G06F11/2236—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test CPU or processors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/26—Functional testing
- G06F11/261—Functional testing by simulating additional hardware, e.g. fault simulation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
- Microcomputers (AREA)
Abstract
することを可能にする。 【解決手段】 デバッグポートは単一チップ・縮小命令
セットシグナルプロセッサ内部論理に組込まれる。完全
実装の場合、デバッグポートは、プロセッサとデバッグ
ポートの他要素からのデータをバッファし外部ソースか
らのデータを受ける回路を提供し、オフチップ接続を与
えるデバッグバスユニット200と、デバッグポートが
受取るデバッグコマンドをデコードし実行する回路を提
供するデバッグコマンドユニット205と、データ付/
なしの命令をプロセッサ命令ストリームに挿入する回路
を提供するデバッグ命令ユニット210と、情報の外部
ソース(アナログ入力信号、外部制御信号、反復データ
信号等)をプログラム制御下でプロセッサに投入する回
路を提供するデバッグ投入/抽出ユニット215と、プ
ログラム/タスク実行モニタ回路を提供するデバッグフ
ローユニット220とを含む。
Description
オンチップデバッグ回路のさまざまな局面を開示してお
り、全体を本明細書に引用により援用する。 (i)出願番号第08/079,580号「デバッギングマーカシ
ステム(Debugging Marker System )」、ワトソン(Wa
tson)、ビンドロス(Bindloss)、フォルウェル(Folw
ell )、1993年7月21日出願 (ii)出願番号第08/155,891号、「分岐決定エンコー
ド方法(Branch Decision Encoding Scheme )」、フォ
ルウェル(Folwell )、クラーク(Clark )、ハーレン
バーグ(Harenberg )、1993年11月23日出願 引用するすべての係属中の出願は本出願と同じ譲受人に
譲渡されている。
(ハードウェアおよびソフトウェア)開発の分野に関
し、より特定的には、実時間でプロセッサ状態について
の情報を入手することができかつ実時間でデバッグコマ
ンドを実行することができるオンチップデバッグ回路に
関する。
よびソフトウェア双方)をデバッグするためのある従来
の方法は、ロジックアナライザをプロセッサのアドレス
バス、データバス、および何らかの制御機能信号に接続
することである。このようにして、開発エンジニアはこ
れらパラメータの状態を実時間でモニタすることができ
る。超大規模集積回路(VLSI)プロセッサ、特にシ
ングルチップのものにおいてこの方法が受ける根本的な
制限は、プロセッサの外部ピンで入手できる信号しか問
合せをすることができないということである。
化に伴い、プロセッサの外部ピンで与えられる情報のみ
に基づいてこうしたシステムをデバッグする上での効率
および能力が低下している。現在の複雑なコンピュータ
システムをデバッグするには、ほとんどがプロセッサの
内部でしか手に入れることができない数多くの変数(た
とえばデータ、アドレス、状態、および制御レジスタ内
容)を開発エンジニアはモニタする必要がある。これら
の変数にアクセスするには多数のデバッグ方法を使用し
なければならないことが多い。
サはブレークポイント命令までは通常の動作速度で実行
している(すなわちプログラムが実行されている)。ブ
レークポイントで、プログラムの実行は停止し、プロセ
ッサの状態が保存され、そこで開発エンジニアはシステ
ムをデバッグするのに必要な多くの重要なパラメータに
ついて調べる。しかしながら、この方法は基本的には静
的なデバッグ方法である。シグナルプロセッサのような
現在の複雑なプロセッサにおいて生じるいくつかの問題
は、このストップ・アンド・ゴースタイルの分析には不
向きなことが多い。第1に、ブレークポイント法は非常
に遅い。第2に、連続的に実時間でシステム評価を行な
うことを妨げる。たとえば、ブレークポイント法はアナ
ログ信号の評価/処理用に設計されたシグナルプロセッ
サをデバッグするために効果的に使用することができな
いことが多い、というのもブレークポイントでプロセッ
サを停止させると信号そのものの捕捉および処理の妨げ
となるからである。したがってプロセッサが意図された
タスクを実行しているときに評価することができない。
法では、開発エンジニアは対象となる1つまたは複数の
変数に関連するプログラムコードを特定する。たとえ
ば、プロセッサの内部状態レジスタの状態を変更し得る
プログラム命令である。新たにソフトウェアルーチンが
書かれ、特定されたプログラム命令と置換される。次に
プロセッサ/プログラムが通常の動作速度で動作され
る。プログラムが、特定された命令が行なわれるべき時
点に到達すると、その代わりに置換されたルーチンが実
行される。典型的には置換ルーチンにより、プロセッサ
は特定された変数の状態およびその他の関連し得るプロ
セッサ状態情報をバッファメモリに出力する。その後プ
ログラムの実行は通常の方法で続行される。この方法に
は以下の欠点が含まれる。(1)プロセッサの動作に余
剰のサイクルが加えられ、コンピュータシステムを実時
間で評価する際の妨げとなるかもしれないこと、(2)
ターゲットプログラムにより明示的に操作される変数情
報の捕捉に限られていること、および(3)開発エンジ
ニアが評価するために、捕捉されたデータをバッファメ
モリから出してデバッグシステムに入れることについて
の問題があることである。
ートおよびバウンダリ−スキャンアーキテクチャ(Test
Port and Boundary-Scan Architecture)(IEEE標
準番号1149.1)に具現化されている。このアーキ
テクチャは、プログラムの実行の停止時にプロセッサの
プログラムカウンタを捕捉する専用ハードウェアをプロ
セッサ内で使用することを規定している。この情報は次
にシリアルポートを通してプロセッサ外の装置に出力さ
れる。この方法の欠点には、情報の捕捉容量が制限され
ることおよび速度が遅いことが含まれている。テストポ
ートはシリアル形式で動作するため、実時間システムに
対応するほど速くはないことが多い。このことは特に実
時間シグナルプロセッサに当てはまるものである。
エミュレータ(ICE)装置を使用することである。I
CE装置は一般的にはプロセッサの外部ピンよりも多く
の出力へのアクセスを提供するが、それでもなお非常に
限られたものである。さらに、ターゲットシステムと同
じ速度で実行することができるエミュレータを設計し製
造することは非常に困難であるため、この方法では実時
間でのデバッグを行なうことができないことが多い。
れたコンピュータプロセッサの到来に伴い、コンピュー
タシステムの動作をモニタし、テストし、かつ制御する
(すなわちデバッグする)ことの上記のような難しさが
大幅に増大している。現在のプロセッサ設計は非常に複
雑であり、ピン数の制限および動作速度のためにチップ
外でモニタするには利用することができない多数の異な
る内部データ、アドレスバス、およびレジスタを利用す
る。上記の制限を克服する、複雑なプロセッサ(および
ソフトウェア)を実時間でデバッグするための装置およ
び方法が、本発明の主題である。
ロセッサ内で使用するためのコンピュータハードウェア
およびソフトウェア開発手段に関する。包括的にはオン
チップデバッグポートまたはより簡潔にデバッグポート
と称される本発明の好ましい実施例は、シングルチップ
の、縮小命令セットシグナルプロセッサの内部論理内に
組み入れられている。完全なデバッグポートの機能性
は、相互接続される5つの機能構成要素の相互作用によ
りもたらされる。
インタフェースモジュール(IMod)およびデバッグ
ワークステーションとの通信手段を提供する。これはシ
グナルプロセッサから集められたデータをバッファおよ
び出力し、デバッグポート内で使用するためのコマンド
およびデータ、ならびにシグナルプロセッサ内で使用す
るための命令およびデータを入力する。
IModまたはシグナルプロセッサから生じたコマンド
をデコードするための手段を提供する。DCUはそれ自
身に向けられたコマンドを実行し、IModまたはその
他のデバッグポートユニットに向けられたコマンドは転
送する。DCUはまた、シグナルプロセッサによりその
内部レジスタの1つに書込まれたデータを出力すること
ができる。
タを伴いまたは伴わずに命令をシグナルプロセッサの命
令ストリームに挿入するための手段を提供する。主要な
命令のタイプは、(1)内部シグナルプロセッサレジス
タおよびメモリからデバッグポートレジスタにデータを
移動させるもの、ならびに(2)シグナルプロセッサの
プログラムフローを変更するもの、を含む。DIUはま
たデータをシグナルプロセッサに転送したりシグナルプ
ロセッサから転送したりするのに使用できる。
は、情報の外部ソース(たとえばアナログ入力信号をデ
ィジタル化して表現したもの、外部制御信号、または反
復されるデータ信号)をプログラムの制御の下にシグナ
ルプロセッサに投入するための手段を提供する。このこ
とはプログラム開発中にシミュレートされた入力データ
を提供する手段として特に重要である。DJUはまた、
通常はルーチンを介して与えられるであろうデータを実
行プログラムに与えることができる。このようにして、
これから開発されるルーチンの存在をシミュレートする
ことができる。この特徴のお蔭で、異なる開発者たち
が、入力のソースが十分に開発されるのを待たずしてシ
ステムの異なる局面を並行してデバッグすることができ
る。さらに、DJUは実行中のシグナルプロセッサのプ
ログラム/タスクにより生み出されるデータを、実時間
でIModまたはデバッグワークステーションに送った
り抽出したりすることができる。
スク分岐決定をエンコードすることによりプログラム/
タスクフローをモニタするための手段を提供するので、
シグナルプロセッサのプログラムカウンタの内容を記録
し、圧縮し、かつ効率的に外部デバッグワークステーシ
ョンに伝送することが可能となり、デバッグワークステ
ーションは、圧縮された情報、ならびに元のコンパイル
および/またはアセンブルされたプログラムから、装置
のプログラムを通った経路を再現する。DFUは、同時
係属中の米国特許出願第08/155,891号の主題である。
プロセッサのためのオンチップデバッグシステムにおい
て実現されるものとして、以下においては機能的用語で
説明する。本明細書では明確化のため実際に実現される
すべての特徴について説明することはしない。もちろ
ん、このような実際のデバイスの開発においては(どの
ような開発プロジェクトでも同様であるが)、実装ごと
に異なるであろう、システムおよびビジネス上の制約に
応じることなど、開発者の特定的な目的を達成するため
に、その実装例に特有の多数の決定を行なわねばならな
い。さらに、このような開発についての努力は複雑でか
つ時間を要するものではあるが、この開示の恩恵を受け
る当業者にとってはコンピュータ設計では必ず行なわれ
なければならない作業でもあることが理解されるであろ
う。
なコンピュータプロセッサ内のプログラムフローをモニ
タし、かつ制御するための手段および装置に関連する。
デバッグポートと呼ばれる本発明に従う例示のオンチッ
プデバッグ回路は、シングルチップの縮小命令セットシ
グナルプロセッサの内部論理の中に組み入れられる。デ
バッグポートの目的は、シグナルプロセッサの動作に大
きく介入することなく実時間でデバッグ動作を行なうこ
とである。デバッグポートはいかなるプロセッサシステ
ムにおいても等しく有用に実装することができ、したが
ってシングルチップシグナルプロセッサに制限されるも
のではないことが当業者には理解されるであろう。
で、デバッグ命令をシグナルプロセッサの命令ストリー
ムに投入し、データを投入し(たとえば入力/出力デー
タをシミュレートし)、かつシグナルプロセッサの入力
制御信号を操作して(たとえばプロセッサを停止(HA
LT)またはブレイク(BREAK)モードにしたりそ
のモードから解除したり、シグナルプロセッサ例外を生
じさせたり、内部プロセッサROMから外部エミュレー
ションROMメモリにスイッチしたりして)、シグナル
プロセッサの実行に影響を及ぼすことができる。
プデバッグシステム100は、機能的に4つの部分に分
割することができる。すなわち、(1)シグナルプロセ
ッサ回路110と同じ場所にあるデバッグポート回路1
05、(2)外部デバッグバスおよびプロトコル11
5、(3)外部インタフェースモジュール(IMod)
120、および(4)デバッグワークステーション12
5である。
てシグナルプロセッサのプログラムをコンパイルおよび
/またはアセンブルし、デバッグ情報の非実時間処理を
行ない、デバッグ結果をシステムユーザ/エンジニアに
与える。典型的なデバッグワークステーションはたとえ
ば、サンマイクロシステムズの「SPARC」システム
とすることができる。
ション125の非実時間処理と、デバッグポート回路1
05およびシグナルプロセッサ110の実時間での高速
動作とをインタフェースするための手段を提供する。そ
のために、IModは(1)デバッグポート行のデバッ
グ情報、および(2)デバッグポート回路から受取った
実時間情報をバッファするための手段を提供する。
グポート105の動作をタスク実行(すなわちデバッグ
されているプログラム)の関数として動的に変えること
ができる。たとえば、タスク/プログラムがAおよびB
という2つの異なるルーチンから構成されていると仮定
する。さらに、特定された1組のプログラム/プロセッ
サの変数がルーチンAの実行中に分析され、別の組の変
数がルーチンBの実行中に分析されるものと仮定する。
(この2組の変数が完全に異なるものである必要はな
い。)通常のタスク実行中に各々のルーチンに入ると、
IModはそのルーチンに入ったという知らせを受けて
これに応答してオンチップデバッグ回路に所望の変数の
みの選択的な記録/モニタをさせることができる。この
特徴を支援するために、IModは、必要時にデバッグ
ポートに伝送されるデバッグ設定データを一時的に蓄積
することができる。この特徴により、複数のデバッグ設
定をデバッグポート回路そのもの内でストアする場合に
必要となる、メモリのためのシグナルプロセッサチップ
の面積が少なくて済み、デバッグワークステーションか
らデバッグ設定を引き出す場合の速度の制約/遅延を克
服することができる。
は、ピン数の制約内でできるだけ多くの情報をIMod
120とデバッグポート回路105との間で伝送するた
めの手段を提供する。ある実施例では、外部デバッグバ
スは12ビットバス(8データビットおよび4制御ビッ
ト)であり、実装されるプロトコルは非同期バイト幅プ
ロトコルである。この方法の利点は、プロセッサが高速
化しても、IModの速度もそれに対応して増大させる
必要がないことである。
そのものは、内部デバッグバス225および移動コント
ローラバス230という2つのバスを含む多数の機能構
成要素を含んでいる。矢印は各デバッグ回路構成要素と
これらのバスとの間での情報の流れの方向を示す。図示
しないが、これらの機能構成要素間には多数の制御およ
びデータラインが必要である。
U)。IMod120およびデバッグワークステーショ
ン125と通信するための手段を与える。シグナルプロ
セッサ110から集められたデータをバッファおよび出
力し、デバッグポート105で使用するためのコマンド
およびデータならびにシグナルプロセッサで使用するた
めの命令およびデータを入力する。
U)。IMod120またはシグナルプロセッサ110
で発生されたコマンドをデコードするための手段を提供
する。DCUはそれ自身に向けられたコマンドを実行
し、IModまたはその他のデバッグポートユニットに
向けられたコマンドは転送する。シグナルプロセッサに
よりその内部レジスタの1つに書込まれているデータを
出力することもできる。
U)。データを伴いまたはデータを伴わずに命令をシグ
ナルプロセッサ110の命令ストリームに挿入する手段
を提供する。最も重要な命令のタイプは、(1)シグナ
ルプロセッサ内部のレジスタおよびメモリからデバッグ
ポートレジスタにデータを移動させるもの、および
(2)シグナルプロセッサのプログラムフローを変更す
るものを含む。DIUの内部にあるレジスタを用いてデ
ータをシグナルプロセッサに転送したりシグナルプロセ
ッサから転送したりすることができる。
JU)。プログラムの制御の下で、情報の外部ソース
(たとえばアナログ入力信号をディジタル化して表現し
たもの、外部制御信号、または反復されるデータ信号)
をシグナルプロセッサ110に投入するための手段を与
える。これはプログラム開発中に、シミュレートされた
入力データを与える手段として特に重要である。DJU
はまた、実行しているタスク/プログラムに通常はルー
チンを介して与えられるデータを提供することができ
る。このようにして、これから開発されるルーチンの存
在をシミュレートすることができる。この特徴により異
なる開発者がシステムの異なる局面を並行してデバッグ
することができる、すなわち入力のソースが十分に開発
されるのを待つ必要がない。さらに、DJUは、実行し
ているシグナルプロセッサのプログラムにより発生され
るデータを実時間でIMod120またはデバッグワー
クステーション125に送ったり抽出したりすることが
できる。
U)は、タスク分岐決定をエンコードすることによりプ
ログラム/タスクのフローをモニタするための手段を提
供するため、シグナルプロセッサのプログラムカウンタ
の内容を記録し、圧縮し、外部のデバッグワークステー
ション125に効率的に伝送することができる。デバッ
グワークステーションは圧縮された情報ならびに元のコ
ンパイルおよび/またはアセンブルされたプログラムか
ら装置のプログラムを通った経路を再現することができ
る。DFUは同時係属中の米国特許出願第08/155,891号
の主題である。
および移動コントローラバス230は16ビット幅であ
り、外部デバッグバス115は12ビット幅(8ビット
データおよび4ビット制御)である。本発明はオンチッ
プデバッグ回路105の実装を目的とする。そのため、
以下の開示では図1において概要が示されたこのデバッ
グシステムの局面を中心とする。
信 コンピュータシステムをデバッグするプロセスは、ある
意味ではコンピュータシステムのプロセッサの実行時の
状態に関連するデータを捕捉し、転送し、かつ解釈する
プロセスである。本発明に従うデバッグシステムでは、
データの伝送はパケット形式で行なわれる。デバッグの
プロセスは開発エンジニアとデバッグシステムとの間で
情報が(パケット形式で)双方向で伝送されることによ
り達成される。
数個のデータ半語が続く16ビット(半語)ヘッダから
なる。ヘッダは、ヘッダに続く半語の数を示す3ビット
フィールドを含むさまざまなフィールドから構成され
る。ヘッダにエンコードされ得るその他の情報は以下を
含む。 1.意図するパケットの宛先、たとえばDIU210ま
たはIMod120。 2.パケット内のデータのソース、たとえばDCU20
5の内部のレジスタの1つ。 3.たとえば特定されたデバッグポートのレジスタのビ
ットをセットすることまたはシグナルプロセッサを停止
/開始させることなどのオプションのコマンド。コマン
ドは可変長ビットとすることができる。 4.ヘッダに続くデータの説明。たとえば、特定された
デバッグポートの機能構成要素(たとえばDJU21
5)内のどのレジスタにデータが置かれるかというこ
と。
あり、設計エンジニアの特定的な好みによるものである
ことが当業者には理解されるであろう。
はデバッグポート105と、チップ外のIMod120
およびデバッグワークステーション125との間のデー
タをバッファする役割を果たす。DBUを拡大したもの
が図3に示されており、その構成要素については以下に
述べる。
除きデバッグポート内のすべてのユニットは複数のサー
ビス要求(SR)出力を有する。これらの出力は、要求
しているユニット内のレジスタからDBUの出力FIF
O310へのデータの転送をDBUが許可することを要
求するために用いられる。サービス要求調停装置は定期
的にサービス要求入力すべてのステータスをモニタす
る。調停装置300は、1つ以上のサービス要求入力の
アサーションを検出すると、一度に1つを選択して確認
し、それらの要求に優先順位をつける。SRの確認は要
求しているユニットに対して適切な信号要求確認信号を
アサートすることにより行なわれる。ある実施例では、
SR調停装置はセクション2で述べるように35の異な
るSR信号を受取る。各々のサービス要求信号はそれに
相当するサービス要求確認信号を有する。
Oメモリ310行きのすべてのパケットは関連するヘッ
ダを有する。(1つのヘッダのみからなるパケットもあ
り得る。)ヘッダジェネレータの機能は、出力FIFO
メモリに書込まれるほぼすべてのパケットに対しヘッダ
を生成することである。本発明のある実施例では、既に
ヘッダが含まれている2つのパケットがDBU200に
送られる。これらのパケットはDCU205が発行する
ものであるが、これらはシグナルプロセッサ110によ
ってDCUに書込まれる。SR調停装置300は要求し
ているモジュールをヘッダジェネレータに対して特定す
るため、ヘッダジェネレータは適切なヘッダを発生する
ことができる。ある実施例では、各々のSR入力に対し
別々のラインが調停装置300とヘッダジェネレータと
の間に設けられる(上記の2つのパケットを除く)。い
くつかのヘッダにはステータスビットが含まれる。たと
えば、以前に書込まれたデータが出力FIFOに送られ
る前にシグナルプロセッサがデバッグポートレジスタに
書込もうとすれば、オーバライト試行ステータスビット
がそのメッセージのヘッダにセットされる。セットされ
た「オーバライト試行ステータスビット」は、オーバラ
イトが阻止されたため、そのレジスタから来るはずであ
った次のパケットが失われていることを示す。(ステー
タス情報はデバッグポート内のほとんどのユニットから
ヘッダジェネレータに与えることが可能である。) 310 出力FIFOメモリ。デバッグポートからIM
od120およびデバッグワークステーション125に
送られるデータをストアするのに用いられる。図3に示
すように、出力FIFOメモリは16ビット内部デバッ
グバス225を介してデータ入力を受取る。この実施例
では、FIFOには16個の16ビット半語をストアす
るのに十分なメモリがある。FIFOメモリに半語が書
込まれるごとにカウンタがインクリメントされる。FI
FOから半語が読出されるごとに同じカウンタがデクリ
メントされる。したがって、カウンタが正の場合はデバ
ッグポートからすぐ送り出すことができるデータがFI
FOにある。
は、出力FIFOメモリ310へのデータの書込動作
中、出力FIFOメモリ310に対しFIFO書込信号
および適切なアドレス信号を発生する責任を有する。F
IFO書込コントローラはFIFOメモリに16ビット
の半語各々が書込まれた後アドレスカウンタをインクリ
メントする。最上位FIFOメモリへの書込の後、次に
発生されるアドレスはFIFOの最下位アドレスであ
る。これにより環状バッファアーキテクチャが実現され
ている。
回路は、出力FIFOメモリ310からの読出動作中、
(1)読出されるべき出力FIFOメモリのアドレスを
発生し、かつ(2)デバッグポートの外部8ビット出力
バス115上を伝送するためにFIFOの16ビットの
半語を2つの8ビットバイトに分割することを可能にす
るMUX制御信号を発生する責任を有する。MUX信号
は、最上位バイトが始めに伝送され、次に半語の最下位
バイトが伝送されることを確実にする。読出コントロー
ラのアドレス発生は、書込コントローラ315と同じ態
様で循環する。
Oメモリの16ビットの半語を2つの連続する8ビット
バイトに変換する責任を有する物理的ハードウェアであ
る。
モリ310からIMod120へのデータ転送を調停す
る。これは、データが始めに出力FIFOに書込まれた
ときdbrf出力ラインで信号を送るという要求をIM
od120に伝送し、dbsu入力ラインで信号を送る
ことについてのIModからの許可を検出した後データ
を出力することにより行なわれる。
0はデータがデバッグポートから転送されていないとき
はいつでも自由にデバッグポートにデータを伝送するこ
とができる。IModからデバッグポートに送られるデ
ータは移動コントローラを通り、ここで内部デバッグポ
ートクロックと同期化され、8ビットバイトから16ビ
ットの半語に変換される。データは移動コントローラか
ら出る際に16ビットの移動コントローラバス230に
置かれる。移動コントローラはまた、メッセージのヘッ
ダが移動コントローラバスにあるときにはいつでもアサ
ートされる「ヘッダ存在」信号を発生する。
制御およびデータラインを介して外部デバッグバスポー
ト115へのインタフェースの役割をする。この実施例
では、外部インタフェースラインは、(1)デバッグポ
ート105とIMod120との間でのデータハンドシ
ェイクを実現するためのdbsuおよびdbrfライ
ン、(2)デバッグポートへのおよびデバッグポートか
らのデータをそれぞれクロックするためのdbclkお
よびdbclkrライン、ならびに(3)8ビットデー
タバス115を含む。DBUはまた図2に示すようにデ
バッグポートの内部デバッグバス225および移動コン
トローラバス230へのインタフェースの役割をする。
dへのデータ転送 例示のために、シグナルプロセッサ110がDJU21
5内のレジスタDJ0605にデータを書込む場合につ
いて考察する。(DJU215に関する詳細な情報は以
下において与えられる。)これは抽出動作を構成してい
る、すなわちデバッグポートはシグナルプロセッサから
データ/情報を抽出している。書込が発生すると、DJ
Uはサービス要求調停装置300が受取るサービス要求
信号を発生する(djs0.sr をアサートする)。調停装置
は確認信号をDJUに送り、同時にヘッダジェネレータ
305がサービス要求に対し適切なヘッダを発生するよ
うな信号を送る。ヘッダジェネレータは適切なヘッダを
出力FIFOメモリ310に設ける。
と、始めに出力FIFOにヘッダが書込まれるまで待機
し、次にレジスタDJ0 605の内容を内部デバッグ
バス225に設ける。すべてのDJUレジスタは32ビ
ットであり内部デバッグバスは16ビットであるため、
32ビットデータ語の各々は2つのシーケンシャルな1
6ビットの半語として内部デバッグバスに出力される。
出力FIFO書込コントローラ315は出力FIFOメ
モリ310へのデータの書込を制御する。出力FIFO
が以前に空であったのならば、ヘッダが出力FIFOメ
モリに書込まれるとすぐに、プロトコル論理330はデ
バッグポートに利用できるデータがあることをIMod
120に(dbrf信号を介して)知らせる。
IMod120から「送信許可」信号を受取ると、出力
FIFO読出コントローラ320に、出力FIFOメモ
リ310からIModにデータを転送するよう通知す
る。データはMUX325を通して外部デバッグバス1
15に転送され、最終的にはIModに転送される。
トへのデータ転送−投入動作 前述のように、デバッグポートからIModにデータが
転送されていないときはいつでもIMod120はデバ
ッグポートに自由にデータを伝送する。例示のために、
IModが複数の32ビット語を有しており、これらを
DJU215のDJ0 605レジスタに埋込もうとし
ているものとする。これは一連の投入動作を構成する。
(デバッグポートがデータ/情報をシグナルプロセッサ
に投入している。)投入動作各々に対し、IModは2
つの16ビットの半語からなる32ビットのデータが続
く16ビットのヘッダを準備する。次にこの48ビット
のパケットが8ビットバイトに分割され外部デバッグバ
ス115上を送られる。本実装例では、半語は最上位バ
イトの後に最下位バイトが来るようにして送られる。
データを送ろうとするとき、パケットが送られることが
前もって通知されるわけではない。IModは各ヘッダ
の第1バイトが送られるときdbsuラインをアサートしど
の半語がヘッダでありどれがデータであるかを示す。ヘ
ッダおよびデータバイトが移動コントローラ335に到
達すると、16ビットの半語に組立てられ、移動コント
ローラバス230上に置かれる前にデバッグポートの内
部クロックに同期化される。移動コントローラ335が
各ヘッダを移動コントローラバス上に出力するときに
は、ヘッダ存在出力をアサートすることによりバス上の
その他のユニットに半語の存在を示す。DJU215が
ヘッダの存在を検出すると、そのメッセージがDJUに
対するものであるかどうかを決定するのに十分なヘッダ
のビットを始めにデコードする。もしそうならば次に、
DJUはヘッダのその他のビットをデコードしてデータ
の最終的な宛先を決定する、すなわちデータがターゲッ
トとしているのはどの内部DJUレジスタであるかを決
定する。この例では、DJ0に対するコードがデコード
され、ヘッダに続く2つの半語のデータがレジスタDJ
0 605にロードされる。DJUがデータの最後の半
語をDJ0にロードするとき、DJ0利用可能フラグも
セットする。DJ0利用可能フラグは、シグナルプロセ
ッサが読出すことのできる、デバッグポートのステータ
スレジスタ内の1ビットである(セクション4で説明す
る)。投入動作が予期されるときにDJ0利用可能ビッ
トが定期的にモニタされるようにプログラムが書かれる
と、プログラムはDJ0が新しいデータを含むときを決
定することができる。シグナルプロセッサがDJ0にお
ける新しいデータを読出すと、2つの事象が生じる、す
なわち1)djr0.sr サービス要求がアサートされヘッダ
がIModに送られレジスタDJ0により多くのデータ
を書込みできることを示し、および2)DJ0利用可能
フラグがリセットされDJ0レジスタに新しいデータが
もはやないことをシグナルプロセッサに示す。
U) 前に論じたように、デバッグコマンドユニット(DC
U)205は、IMod120またはシグナルプロセッ
サ110から受取ったデバッグコマンドをデコードする
ための手段を与える。DCUの拡大ブロック図を図4に
示し、その構成要素を以下に説明する。
ラバス230を介してIMod120からヘッダ情報を
受取るレジスタ。1つの実施例では、DBEレジスタは
16ビット幅であり、ゆえにヘッダ全体がロードされ得
る。他の実施例においては、DBEレジスタは、さらな
るDCUデコードに必要なビットを複写のみするように
実現され得る。つまり(1)後に続くデータ半語の数を
指定するフィールドおよび(2)DCU宛先を指定する
フィールドの後に残るビットは取除かれている。
ッサデータバスからのデータをロードされ得る、32ビ
ットのダブルバッファリングされるレジスタ。DBCレ
ジスタはそれに関連付けられる2つのアドレスを有す
る。最初の(上位の)アドレスは、DBCレジスタにロ
ードされたデータがその最上位半語(16ビット)にヘ
ッダを含むことを示す。2番目の(下位の)アドレス
は、データが厳密にデータであること、つまりヘッダ情
報を全く含まないことを示す。
ヘッダに対する宛先がDCUそれ自体であるかを判断す
るために、ヘッダ内の宛先フィールドがデコードされ
る。ヘッダに対する宛先がDCUである場合には、コマ
ンドを含むヘッダの一部がDCUのデコード論理415
に送られる。宛先がDCUでない場合には、dbc16c.sr
サービス要求またはdbc32c.sr サービス要求のいずれか
がアサートされて、ヘッダ/データをIMod120に
転送する。サービス要求dbc16c.sr は、後に続くデータ
半語数を特定するフィールドが0である場合にアサート
され、DBCがヘッダのみを含むことを示す。サービス
要求dbc32c.sr は、後に続くデータ半語数を指定するフ
ィールドが1である場合にアサートされ、DBCがヘッ
ダおよび1半語のデータを含むことを示す。
タがIMod120に転送されるべきことを示すdbc32
d.sr 信号要求がアサートされる。
マンドデコード論理415ユニットに送るための2つの
可能なデバッグコマンド入力のうちの1つを選択する。
MUXデータ入力は、そのソースにかかわらず、コマン
ドデータの9ビットからなる。この回路の目的は、デコ
ードされ実行されるコマンドのソースを選択することで
ある。言い換えれば、ソースがDBEレジスタである場
合には、DCUはIMod120により発行されるコマ
ンドをデコードし実行する。ソースがDBCレジスタで
ある場合には、DCUはシグナルプロセッサ110によ
り発行される命令をデコードし実行する。 415:コマンドデコード論理。入来9ビットコマンド
を1出力コマンド信号にデコードする。8つの一般的な
グループの信号:(1)DCUイネーブル信号、(2)
デバイスROMイネーブル信号、(3)DFUイネーブ
ル信号、(4)DBUコマンド、(5)DCUコマン
ド、(6)DIUコマンド、(7)DJUコマンド、お
よび(8)DFUコマンドが現在実現されている。セク
ション3がこれらコマンド/イネーブル信号のグループ
を説明している。
セッサデータバスアドレスをデコードし、シグナルプロ
セッサ110からDBUへ向けられるデータに対しDB
Cレジスタ405のロード信号を発生する。シグナルプ
ロセッサがデータをDBCレジスタ405の下位アドレ
スに向ける場合には、サービス要求dbc16c.sr またはdb
c32c.sr がアサートされる。シグナルプロセッサがデー
タをDBCレジスタの上位アドレスに向ける場合には、
サービス要求dbc32d.sr がアサートされる。セクション
2.1は、DCUのサービス要求論理により発生される
他のサービス要求およびそれらの機能の表を含む。
求の対象を実行するべく一連のステップをトリガするた
めに用いられる。たとえば、サービス要求論理が初めに
dbc32d.sr サービス要求を発生したとする。dbc32d.sr
確認がDBU200から受取られると、DCUはまず、
DBUのヘッドジェネレータ305が適当なヘッダを出
力FIFOメモリ310にロードしてしまうまで待機す
る。DCUは次いでDBCレジスタの最下位半語(16
ビット)を内部デバッグバス225上にゲートし、次い
でDBCレジスタの最上位半語をゲートする。DBCレ
ジスタの最上位半語の転送の途中で、dbc32d.sr サービ
ス要求がデアサートされる。同様のシーケンスがすべて
のサービス要求を処理する際に用いられる。すべてのサ
ービス要求信号は、最後のデータ転送動作の途中まで、
アサートされた状態で保持される。この独自の設計によ
り、可変長メッセージ/データの効率的な処理が可能と
なる。
ーブル信号に対するラッチ機構を設ける、16ビットの
セットアップおよびイネーブルレジスタ。このレジスタ
によりラッチされるイネーブル信号は、(1)RTC
E、(2)RSPBE、(3)RSPB、(4)SMM
E、(5)PROME、(6)DROME、(7)DF
E、(8)NEXCE、(9)QEXCE、(10)D
AE、および将来の使用のために予約される3ビットを
含む。これらのイネーブル信号はセクション3に記載さ
れる。
全体からの32のステータスビットの集まり。セクショ
ン4がこれらのビットおよびそれらの機能の簡単なリス
トを示す。
トクロックサイクルごとにインクリメントする32ビッ
トカウンタ。この実時間カウンタの内容は、シグナルプ
ロセッサデータバスまたは内部デバッグバス230のい
ずれの上にも出力され得る。デバッグ動作中、この実時
間カウンタは、デバッグデータがデバッグポートにより
捕捉される時間を示すために用いられ得る。
値または計算オーバフローが生じないようにある動作の
後には結果がスケーリングされるように書かれる。しか
しながら、ときにランダムな間隔でプログラムが奇妙に
動作し、それがオーバフローのためではないかとプログ
ラマーが疑う場合を考えよう。そうであるかどうかを判
断するために、プログラマーは(1)オーバフロー例外
を可能にするようプログラムを修正し、(2)オーバフ
ロー例外ルーチンで、実時間カウンタの内容がIMod
120に送られるよう、DBCレジスタにヘッダを書込
む命令を含ませ、(3)種々のレジスタまたはメモリロ
ケーションの内容をDBCレジスタに複写するような他
の命令を含ませ、それによってデータがIMod120
に送られるようにして、なぜオーバフローが生じている
かをプログラマーが判断できるようにする。
ム/タスクデバッグ動作中に無限ループ状態に対するテ
ストをするために用いられ得る2ビット(4状態)カウ
ンタ。状態0はクリアまたはパワーオン状態を示す。状
態1は、実時間カウンタ435が1回オーバフローした
ことを示す。状態2は、実時間カウンタが2回オーバフ
ローしたことを示す。状態3は、実時間カウンタが3回
オーバフローしたことを示す。状態3に達すると、それ
はデバッグされているプログラムが無限ループにあるか
もしれないことを意味し、つまり、プログラムがタイマ
を状態0にリセットし戻すことができなかったことを意
味する。状態3に達すると、シグナルプロセッサ110
はパワーオンリセットされる。
デバッグポート105への外部入力を表わし、特定の外
部事象の発生を示す。このトリガ制御論理は、trig_in
信号におけるエッジ(ハイからローまたはローからハイ
への遷移)の発生およびそのレベルを記録し、この情報
をDBS430レジスタを介してシグナルプロセッサ1
00およびIMod120に利用可能なようにする。
の命令に応答して発生される。たとえば、trig_out 信
号(パルスまたはレベル)は、デバッグ下のプログラム
が指定されるルーチンに入るかまたは出るごとに、また
はループ(つまりfor −nextループ)の実行を完了する
ごとに発生され得る。このtrig_out 信号は開発者の直
接の制御下にある。
10は、シグナルプロセッサ110の命令ストリーム
に、データを伴って、またはデータを伴わずに、命令を
挿入する手段を設ける。他のタイプの命令が処理されて
もよいが、主に興味ある命令のタイプは、(1)データ
を内部シグナルプロセッサレジスタとメモリとオンチッ
プデバッグポートレジスタとの間で移動させるか、また
は(2)シグナルプロセッサのプログラムフローを変え
るタイプのものを含む。DIUの拡大図が図5に示さ
れ、その構成要素が以下に説明される。
ラバス230から、DBI500、DBA510、DB
D515、またはスロットル535レジスタ行きのデー
タをロードされる32ビットバッファ。
ッサ110に投入される命令をロードされる32ビット
レジスタ。DIUが投入データヘッダ内で指定された投
入基準を満たし、シグナルプロセッサの命令フェッチユ
ニットとハンドシェイクした後、DBIの内容はシグナ
ルプロセッサの命令バスに複写される。
505を介してシグナルプロセッサ110に投入される
命令による使用のためのアドレスを供給し得る24ビッ
トレジスタ。DBAの内容はシグナルプロセッサのデー
タバスに複写される。DBAレジスタの8ビットは、た
とえばメモリのブロックの内容をワークステーションに
転送するために投入される各命令の後に自動的にデクリ
メントし得るカウンタビットである。
ッサのデータバスを用いてシグナルプロセッサ110へ
またはシグナルプロセッサ110からデータを転送する
ために用いられる32ビットレジスタ。シグナルプロセ
ッサからDBDレジスタにロードされるデータはdbd0.s
r サービス要求信号またはdbd1.sr サービス要求信号の
いずれかのアサーションを引起こし、それは次いでDB
Dレジスタの内容をDBD200へ送らせる。DBDレ
ジスタにロードされるデータがシグナルプロセッサ命令
ストリームに投入される命令と関連付けられる場合に
は、それは投入制御論理ユニット525の制御下でシグ
ナルプロセッサデータバス上にゲートされる。DBDレ
ジスタが投入演算に関連付けられないデータを含む場合
には、データは利用可能であり随意に読出され得ること
をシグナルプロセッサに知らせるようDBSレジスタ4
30のDBDAフラグがセットされる。DBSレジスタ
に関する情報についてはセクション4を参照されたい。
レジスタは、DIUをパケットのための宛先として指定
する3ビットを除くヘッダビットのすべてを移動コント
ローラバス230からロードする。ヘッダレジスタの1
3ビットのうち、2ビットは、DBB500のデータが
DBIレジスタ505、DBAレジスタ510、DBD
レジスタ515、またはスロットルレジスタ535のい
ずれにロードされるかを決定するためにデコードされ;
3ビットは、0、1または2データ半語がDBBにロー
ドされたかどうかを判断するためにデコードされ(DB
Iは常に2半語をロードされ、DBAおよびDBDは1
または2半語をロードされ、スロットルレジスタは1半
語をロードされ;0半語はメッセージがヘッダのみから
なることを示す);1ビットは、DBDデータがIMo
d120に送られるとDBUヘッダジェネレータ305
によりヘッダに加えられるステータスビットをセットま
たはリセットし;残りの7ビットは投入制御論理525
に送られる。
るヘッダの7ビットをデコードする。これらビットの各
々は以下の意味を有する。
ジスタ505の命令が1回投入される。1であれば、D
BIレジスタ505の命令は繰返して投入される(「繰
返して」は連続するということを必ずしも意味しないこ
とに注目されたい。)。
Iレジスタ505の命令はスロットルカウンタ540の
内容に関係なく投入される。1であれば、DBIレジス
タの命令はスロットルカウンタが0に達すると投入され
る。
レジスタ505の命令は即座に投入される。1であれ
ば、DBIレジスタの命令はDBDレジスタ515がロ
ードされた後に投入され、DBD利用可能ビットがセッ
トされる。
ジスタ520のトリガコードおよびDCU205のデコ
ードされたトリガ信号は無視される。1であれば、いず
れかが生ずるとDBIレジスタの命令が投入される。
BAレジスタ510のカウントビットは各投入演算後に
デクリメントされない。1であれば、DBAレジスタの
カウントビットは各投入演算後にデクリメントされる。
入はDBAレジスタ510のカウントビットが0にデク
リメントしても終了されない。1であれば、命令投入は
DBAレジスタ510のカウントビットが0にデクリメ
ントすると終了される。この動作は、繰返しビットがセ
ットされデクリメントビットがセットされる場合に引起
こされるのみである。
かなる繰返し動作も終了され、DBBバッファ500の
データは宛先ビットにより指定されるレジスタに即座に
ロードされる。1であれば、すべての繰返し動作が完了
されるまでDBBバッファのデータは保持され、その後
DBBバッファの内容は宛先ビットにより指定されるレ
ジスタにロードされる。
実行する:(1)シグナルプロセッサがDBAレジスタ
510またはDBDレジスタ515のいずれかを読もう
とすると、それはアドレス指定されるレジスタの内容を
シグナルプロセッサのデータバスに複写し、(2)シグ
ナルプロセッサがDBAレジスタまたはDBDレジスタ
のいずれかに書込もうとすると、それはシグナルプロセ
ッサデータバス上のデータをアドレス指定されるレジス
タにコピーし、(3)DBDレジスタが読出または書込
される場合には、それはセクション2に挙げられる対応
するサービス要求の1つをセットし、(4)サービス要
求確認信号がDBDの内容を出力FIFOメモリ310
に転送するために受取られると、それはまずヘッダジェ
ネレータがヘッダを出力FIFOメモリに書込むまで待
機し、次いで最下位半語を、続いて最上位半語を内部デ
バッグバス225に複写する。
BB500の最下位半語からロードされる16ビットレ
ジスタ。このレジスタからの出力はスロットルカウンタ
540にロードされる。
理525にスロットル信号(パルス)を出力する16ビ
ットのカウントダウンカウンタであり、命令をいつ投入
すべきかを示す。上述の繰返しビットおよびスロットル
制御ビットに関連して用いられる。
グナルプロセッサの命令ストリームに単一の命令を投入
することを許可されるよう要求するために、DIU21
0とシグナルプロセッサ110の命令フェッチユニット
との間でのコマンドハンドシェイクインタフェースを実
現するために用いられる。
O−OP命令の連続するシーケンスを要求しそれをシグ
ナルプロセッサの命令ストリームに投入することによっ
てシグナルプロセッサのブレーク動作を実現する。この
構成要素は、ブレークモードを瞬間的に出てブレークモ
ードに戻る前に装置のプログラムメモリの単一の命令が
実行されるようにすることによって、シグナルプロセッ
サの1ステップ動作も実現する。この論理の細部がシグ
ナルプロセッサ設計(または他のオンチッププロセッサ
回路)に完全に依存すること、しかしそのような論理は
いかなる設計にも論理的かつ必要な部分であることが、
当業者には理解されるだろう。
JU) 先に論じたように、デバッグ投入/抽出ユニット(DJ
U)215は3つの主要な機能を有する。すなわち:
(1)情報の外部ソースをプログラム制御下でシグナル
プロセッサ110に実時間で投入するための手段を提供
し、(2)実行中プログラムにより発生されるデータを
IMod120またはデバッグワークステーション12
5への転送のために実時間で抽出し、(3)通常であれ
ばルーチンを介して与えられるであろうデータを実行プ
ログラムに供給する。DJUの拡大ブロック図が図6に
示され、その構成要素は以下に説明される。
ラバス230からDJU215宛のヘッダ情報を複写/
ロードし、それをデコードする。そのヘッダに続くデー
タを複写するために、DJUの内部レジスタ、つまりD
J0〜DJ3のうちの1つを選択する。
ラバス230とシグナルプロセッサデータバスとのいず
れからの入力をも受入れ得る32ビットレジスタ。DJ
0レジスタからの出力は、内部デバッグバス225また
はシグナルプロセッサデータバスのいずれにも送られ得
る。本実施例では、移動コントローラバスおよび内部デ
バッグバスは16ビットバスである。したがって、DJ
0レジスタは移動コントローラバスから2ステップでロ
ードされ、まずその最下位半語(16ビット)がロード
され、それに続いてその最上位半語がロードされる。同
様に、DJ0レジスタの内容は内部デバッグバスまたは
シグナルプロセッサデータバスに2ステップで複写さ
れ、まずその最下位半語(16ビット)が複写され、そ
れに続いてその最上位半語が複写される。
ルプロセッサ110はDJ0レジスタから読出を行なう
ことによってそのプロセスを開始し得、または代替的に
はIMod120がデータの最初の語をDJ0レジスタ
に書込むことによってそのプロセスを開始し得る。シグ
ナルプロセッサがこのプロセスを開始する場合には、読
出される最初の語は意味を有さず、破棄されるべきであ
る。
ナルプロセッサはデータをDJ0レジスタに書込むこと
によって常にそのプロセスを開始する。抽出データはD
JU215から内部デバッグバス215を介して転送さ
れる。
要求:djr0.sr,djs0.sr,djf0.sr,およびdjow0.sr(これ
らのサービス要求信号の詳細についてはセクション2を
参照されたい)、ならびにDJ0使用済みフラグDJF
0(DJF0使用済みフラグはデバッグポートのステー
タスレジスタDBSの一部として読出される。このフラ
グの詳細についてはセクション4を参照されたい。)を
実現する5ビットからなるDJ0レジスタに対する補助
レジスタ。機能上、DJ0フラグレジスタは、データ転
送動作中におけるレジスタDJ0とDBU200との間
の自動ハンドシェイキングプロトコルを実現する。
レジスタ605と等価である。 620:DJ1フラグレジスタ。機能的にDJ0フラグ
レジスタ610と等価である。
レジスタ605と等価である。 630:DJ2フラグレジスタ。機能的にDJ0フラグ
レジスタ610と等価である。
レジスタ605と等価である。 640:DJ3フラグレジスタ。機能的にDJ0フラグ
レジスタ610と等価である。
U) この発明に従うデバッグフローユニットは、同時係属中
の米国特許出願連続番号第08/155,891号に記
載されている。
セッサの実行時状態に応答し、間欠的にしか生じない問
題の検出を可能にする。
特定的にはソフトウェア/ハードウェアの実時間デバッ
グを可能にするよう設計される。つまり、プログラム開
発情報はオンチッププロセッサの実行を中断することな
く集められる。加えて、このデバッグポートは標準的な
ブレークポイント1ステップデバッグ法を実現する。
外部インタフェースモジュール(IMod120)と非
同期的に通信する。この特徴は、プロセス(半導体)技
術の進歩とともに、オンチップ(VLSI)デバイスが
より高速で動作するのを、IModがプロセッサの速度
増大に追従することを要さずに可能にする。
サアプリケーション、つまりオンチッププロセッサ11
0上で実行するプログラムの対話形デバッグを可能にす
る。特に、DCUは、どのルーチンが現在実行中かをア
プリケーションプログラムがしめすことのできる手段
(DBCレジスタ405)を提供し、それに応じてIM
od120がそのコードセグメント向けのデバッグコマ
ンドを送り返すことができる。
的なのは、テスト中のプログラム、つまりオンチッププ
ロセッサまたはシグナルプロセッサ110で実行してい
るプログラムからコマンドを受入れる能力である。特
に、シグナルプロセッサアプリケーションは、DCUの
実時間カウンタ435がIMod120に伝送されるよ
うにすることができる。この特徴を、シグナルプロセッ
サからIModに転送されるデバッグ情報にタイムスタ
ンプを打つのに用いることができる。
べようとするたびに特別なデバッグ命令を加えて、さら
に再アセンブルまたは再コンパイルする、という必要な
く、ユーザがオンチップ計算の結果を取出せるようにす
る。
を理解できるまで何度も再現し得るよう、DIU210
はそれら稀にしか発生しない事象の捕捉を可能にする。
中に、シミュレートされた事象からのデータの容易な入
力を可能にする。
ユニット300によって受付けられる35のサービス要
求(SR)を挙げたものである。各SRはその性格から
して2進であり、アサートされるかまたはアサートされ
ないかのいずれかである。
およびイネーブル信号 デバッグコマンドユニット(DCU)205は、IMo
d120およびシグナルプロセッサ110からのコマン
ドをデコードする。デコードされたコマンドのいくつか
は、出力がイネーブル信号として用いられるフリップフ
ロップをセットまたはリセットするのに用いられる。他
のコマンドは、1クロック期間のみの間、正または負の
パルスとして直接出力される。以下の表は、DCUのコ
マンドデコード論理415により発生されるイネーブル
信号およびコマンド信号を説明し、かつそれらが向けら
れた宛先を示す。
タフォーマット
に記載される発明の概念から逸脱することなく前述の例
示からの多数の変形が可能であることが理解されるだろ
う。したがって、単に前述の例示ではなく、前掲の特許
請求の範囲こそが、この出願において保護が要求される
独占権を定義するべく意図されている。
である。
ック図である。
ッグバスユニット(DBU)のブロック図である。
ンド(DCU)ユニットのブロック図である。
(DIU)ユニットのブロック図である。
/抽出(DJU)ユニットのブロック図である。
Claims (5)
- 【請求項1】 プログラム可能なVLSIプロセッサの
ための複数のユニットを有する、デバッグポートと称さ
れるオンチップデバッグシステムであって、 (a) 内部デバッグバスと称される第1の内部バス
(225)と、 (b) 移動コントローラバスと称される第2の内部バ
ス(230)と、 (c) デバッグポートと外部インタフェースモジュー
ル(120)との間での情報の交換のためのデバッグバ
スユニット(200)とを含み、前記デバッグバスユニ
ットは(1)内部デバッグバスを介して前記複数のユニ
ットの少なくとも1つからデバッグ情報を受取るよう
に、および(2)移動コントローラバスを介して前記複
数のユニットの少なくとも1つにデバッグ情報を送るよ
うに、作動的に結合され、さらに、 (d) デバッグコマンドをデコードしおよび実行する
ためのデバッグコマンドユニット(205)を含み、前
記デバッグコマンドユニットは(1)移動コントローラ
バスを介して前記複数のユニットの少なくとも1つから
デバッグコマンドを受取るように、(2)VLSIプロ
セッサからデバッグコマンドを受取るように、(3)内
部デバッグバスを介して前記複数のユニットの少なくと
も1つにデバッグ状態およびタイマ情報を選択的に送る
ように、ならびに(4)前記複数のユニットの少なくと
も1つにデバッグポートイネーブル信号を選択的に送る
ように作動的に結合され、さらに、 (e) VLSIプロセッサが実行しているタスクにタ
スクデータを送るためかつタスクが生成したタスクデー
タを受取るためのデバッグ投入/抽出ユニット(21
5)を含み、前記デバッグ投入/抽出ユニットは(1)
移動コントローラバスを介して前記複数のユニットの少
なくとも1つからデバッグ情報を受取るように、および
(2)内部デバッグバスを介して前記複数のユニットの
少なくとも1つにデバッグ情報を送るように作動的に結
合される、オンチップデバッグシステム。 - 【請求項2】 VLSIプロセッサの内部の第1のレジ
スタにVLSI命令を送るため、VLSI命令に関連す
るVLSI命令データをVLSIプロセッサの内部の第
2のレジスタに送るため、およびVLSIプロセッサの
内部の1つ以上のレジスタからデバッグデータを受取る
ためのデバッグ命令ユニット(210)をさらに含み、
前記デバッグ命令ユニットは(1)移動コントローラバ
スを介して前記複数のユニットの少なくとも1つからデ
バッグ情報を受取るように、および(2)内部デバッグ
バスを介して前記複数のユニットの少なくとも1つにデ
バッグ情報を送るように作動的に結合される、請求項1
に記載のプログラム可能なVLSIプロセッサのための
オンチップデバッグシステム。 - 【請求項3】 VLSIプロセッサが実行しているタス
クをモニタするためのプログラムフローユニット(22
0)をさらに含み、前記タスクは分岐実行動作を有し、
前記プログラムフローユニットは内部デバッグバスを介
して前記複数のユニットの少なくとも1つにデバッグ情
報を送るように作動的に結合される、請求項1または2
に記載のプログラム可能なVLSIプロセッサのための
オンチップデバッグシステム。 - 【請求項4】 前記デバッグ状態情報は、(1)ユーザ
フラグの状態、(2)デバッグバスユニット内の一時的
メモリの利用可能性、(3)ウォッチドッグカウンタの
状態、(4)デバッグ投入/抽出ユニットの内部のレジ
スタメモリの使用状態、(5)デバッグ命令ユニットの
内部のレジスタメモリの使用状態、(6)デバッグコマ
ンドユニットの内部のレジスタメモリの使用状態、およ
び(7)VLSIプロセッサの動作モードのうちの1つ
以上を表わす情報を含む、請求項1〜3のいずれかに記
載のプログラム可能なVLSIプロセッサのためのオン
チップデバッグシステム。 - 【請求項5】 前記デバッグポートイネーブル信号は情
報をエンコードして実時間カウンタの動作をイネーブル
およびディセーブルする、請求項1〜4のいずれかに記
載のプログラム可能なVLSIプロセッサのためのオン
チップデバッグシステム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/526472 | 1995-09-11 | ||
US08/526,472 US5544311A (en) | 1995-09-11 | 1995-09-11 | On-chip debug port |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH09167105A true JPH09167105A (ja) | 1997-06-24 |
Family
ID=24097492
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP8239262A Pending JPH09167105A (ja) | 1995-09-11 | 1996-09-10 | オンチップデバッグシステム |
Country Status (4)
Country | Link |
---|---|
US (1) | US5544311A (ja) |
EP (1) | EP0764903B1 (ja) |
JP (1) | JPH09167105A (ja) |
DE (1) | DE69622112T2 (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008097646A (ja) * | 2002-06-07 | 2008-04-24 | Arm Ltd | データ処理装置およびトレース信号発生方法 |
JP2009193604A (ja) * | 2009-06-02 | 2009-08-27 | Renesas Technology Corp | 半導体情報処理装置 |
JP2010510585A (ja) * | 2006-11-15 | 2010-04-02 | クゥアルコム・インコーポレイテッド | 非侵入型デジタル信号プロセッサデバッギング中における命令スタッフィング動作に関する方法及びシステム |
US8341604B2 (en) | 2006-11-15 | 2012-12-25 | Qualcomm Incorporated | Embedded trace macrocell for enhanced digital signal processor debugging operations |
Families Citing this family (125)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0877035A (ja) * | 1994-09-06 | 1996-03-22 | Toshiba Corp | 中央処理装置及びマイクロコンピュータ |
US5978937A (en) * | 1994-12-28 | 1999-11-02 | Kabushiki Kaisha Toshiba | Microprocessor and debug system |
JP3313007B2 (ja) * | 1995-04-14 | 2002-08-12 | 三菱電機株式会社 | マイクロコンピュータ |
US5712972A (en) * | 1995-06-07 | 1998-01-27 | Sony Corporation | Identification of faults in data paths and functional units of a central processing unit by a systematic execution of test instructions |
US5838897A (en) * | 1996-02-27 | 1998-11-17 | Cyrix Corporation | Debugging a processor using data output during idle bus cycles |
US5826105A (en) * | 1996-06-10 | 1998-10-20 | Standard Microsystems Corporation | System for using an external CPU to access multifunction controller's control registers via configuration registers thereof after disabling the embedded microprocessor |
EP0840223B1 (en) * | 1996-10-31 | 2002-05-15 | STMicroelectronics Limited | Microcomputer capable of accessing an external memory |
US5838692A (en) * | 1996-11-14 | 1998-11-17 | Hewlett-Packard Company | System and method for extracting realtime debug signals from an integrated circuit |
EP0854422B1 (en) * | 1996-12-20 | 2004-04-07 | Texas Instruments Incorporated | A processor test port with scan chains and data streaming |
US5915083A (en) * | 1997-02-28 | 1999-06-22 | Vlsi Technology, Inc. | Smart debug interface circuit for efficiently for debugging a software application for a programmable digital processor device |
US5937154A (en) * | 1997-03-05 | 1999-08-10 | Hewlett-Packard Company | Manufacturing functional testing of computing devices using microprogram based functional tests applied via the devices own emulation debug port |
US6185732B1 (en) * | 1997-04-08 | 2001-02-06 | Advanced Micro Devices, Inc. | Software debug port for a microprocessor |
US6142683A (en) * | 1997-04-08 | 2000-11-07 | Advanced Micro Devices, Inc. | Debug interface including data steering between a processor, an input/output port, and a trace logic |
US6189140B1 (en) | 1997-04-08 | 2001-02-13 | Advanced Micro Devices, Inc. | Debug interface including logic generating handshake signals between a processor, an input/output port, and a trace logic |
US6314530B1 (en) | 1997-04-08 | 2001-11-06 | Advanced Micro Devices, Inc. | Processor having a trace access instruction to access on-chip trace memory |
US6148381A (en) * | 1997-04-08 | 2000-11-14 | Advanced Micro Devices, Inc. | Single-port trace buffer architecture with overflow reduction |
US6041406A (en) * | 1997-04-08 | 2000-03-21 | Advanced Micro Devices, Inc. | Parallel and serial debug port on a processor |
US6154856A (en) * | 1997-04-08 | 2000-11-28 | Advanced Micro Devices, Inc. | Debug interface including state machines for timing synchronization and communication |
US6094729A (en) * | 1997-04-08 | 2000-07-25 | Advanced Micro Devices, Inc. | Debug interface including a compact trace record storage |
US6618775B1 (en) * | 1997-08-15 | 2003-09-09 | Micron Technology, Inc. | DSP bus monitoring apparatus and method |
US6356960B1 (en) | 1997-10-29 | 2002-03-12 | Sgs-Thomson Microelectronics Limited | Microprocessor having an on-chip CPU fetching a debugging routine from a memory in an external debugging device in response to a control signal received through a debugging port |
US6112316A (en) * | 1997-12-03 | 2000-08-29 | Micron Electronics, Inc. | System for use of bus parking states to communicate diagnostic information |
US6092219A (en) | 1997-12-03 | 2000-07-18 | Micron Technology, Inc. | Method for use of bus parking states to communicate diagnostic information |
US6175914B1 (en) * | 1997-12-17 | 2001-01-16 | Advanced Micro Devices, Inc. | Processor including a combined parallel debug and trace port and a serial port |
US6230119B1 (en) * | 1998-02-06 | 2001-05-08 | Patrick Michael Mitchell | Integrated circuit with embedded emulator and emulation system for use with such an integrated circuit |
JPH11232135A (ja) * | 1998-02-10 | 1999-08-27 | Mitsubishi Electric Corp | 半導体装置 |
US6145100A (en) * | 1998-03-04 | 2000-11-07 | Advanced Micro Devices, Inc. | Debug interface including timing synchronization logic |
GB9805486D0 (en) | 1998-03-13 | 1998-05-13 | Sgs Thomson Microelectronics | Adapter |
GB9805479D0 (en) * | 1998-03-13 | 1998-05-13 | Sgs Thomson Microelectronics | Microcomputer |
EP0943995A3 (en) * | 1998-03-20 | 2000-12-06 | Texas Instruments Incorporated | Processor having real-time external instruction insertion for debug functions without a debug monitor |
US6321331B1 (en) * | 1998-04-22 | 2001-11-20 | Transwitch Corporation | Real time debugger interface for embedded systems |
US6145122A (en) * | 1998-04-27 | 2000-11-07 | Motorola, Inc. | Development interface for a data processor |
DE19819531C1 (de) * | 1998-04-30 | 1999-12-02 | Siemens Ag | RISC-Prozessor mit einer Debug-Schnittstelleneinheit |
US6321349B1 (en) * | 1998-06-30 | 2001-11-20 | Compaq Computer Corporation | Method and apparatus for developing and debugging portable computers via a peripheral interface slot |
US6145123A (en) * | 1998-07-01 | 2000-11-07 | Advanced Micro Devices, Inc. | Trace on/off with breakpoint register |
DE19835610A1 (de) * | 1998-08-06 | 2000-02-10 | Siemens Ag | Programmgesteuerte Einheit und Verfahren zum Debuggen derselben |
US6389568B1 (en) * | 1998-12-23 | 2002-05-14 | Maxtor Corporation | Method and apparatus for detecting handshaking protocol errors on an asynchronous data bus |
US6601189B1 (en) * | 1999-10-01 | 2003-07-29 | Stmicroelectronics Limited | System and method for communicating with an integrated circuit |
US6581191B1 (en) * | 1999-11-30 | 2003-06-17 | Synplicity, Inc. | Hardware debugging in a hardware description language |
US7065481B2 (en) * | 1999-11-30 | 2006-06-20 | Synplicity, Inc. | Method and system for debugging an electronic system using instrumentation circuitry and a logic analyzer |
US7072818B1 (en) * | 1999-11-30 | 2006-07-04 | Synplicity, Inc. | Method and system for debugging an electronic system |
US6931572B1 (en) | 1999-11-30 | 2005-08-16 | Synplicity, Inc. | Design instrumentation circuitry |
US7240303B1 (en) | 1999-11-30 | 2007-07-03 | Synplicity, Inc. | Hardware/software co-debugging in a hardware description language |
JP3737662B2 (ja) * | 1999-12-03 | 2006-01-18 | 富士通株式会社 | システムlsiのテストデータ最適化生成方式 |
GB2362968B (en) | 1999-12-23 | 2003-12-10 | St Microelectronics Sa | Computer system with debug facility |
GB2366006B (en) * | 1999-12-23 | 2004-06-30 | St Microelectronics Sa | A computer system with debug facility |
GB2365546B (en) | 1999-12-23 | 2004-02-18 | St Microelectronics Sa | A computer system with two debug watch modes |
GB2362729B (en) | 1999-12-23 | 2004-02-11 | St Microelectronics Sa | Memory access debug facility |
GB2362730B (en) | 1999-12-23 | 2004-02-11 | St Microelectronics Sa | Computer register watch |
US6769076B1 (en) * | 2000-02-07 | 2004-07-27 | Freescale Semiconductor, Inc. | Real-time processor debug system |
JP4212224B2 (ja) * | 2000-07-10 | 2009-01-21 | 株式会社東芝 | 半導体集積回路 |
DE10041697A1 (de) * | 2000-08-24 | 2002-03-14 | Infineon Technologies Ag | Verfahren zum Testen einer programmgesteuerten Einheit durch eine externe Testvorrichtung |
US6892322B1 (en) * | 2000-10-26 | 2005-05-10 | Cypress Semiconductor Corporation | Method for applying instructions to microprocessor in test mode |
US8149048B1 (en) | 2000-10-26 | 2012-04-03 | Cypress Semiconductor Corporation | Apparatus and method for programmable power management in a programmable analog circuit block |
US7765095B1 (en) | 2000-10-26 | 2010-07-27 | Cypress Semiconductor Corporation | Conditional branching in an in-circuit emulation system |
US6724220B1 (en) | 2000-10-26 | 2004-04-20 | Cyress Semiconductor Corporation | Programmable microcontroller architecture (mixed analog/digital) |
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 |
US8160864B1 (en) | 2000-10-26 | 2012-04-17 | Cypress Semiconductor Corporation | In-circuit emulator and pod synchronized boot |
US7222315B2 (en) * | 2000-11-28 | 2007-05-22 | Synplicity, Inc. | Hardware-based HDL code coverage and design analysis |
US6484273B1 (en) * | 2000-11-29 | 2002-11-19 | Lsi Logic Corporation | Integrated EJTAG external bus interface |
US7191373B2 (en) * | 2001-03-01 | 2007-03-13 | Syntest Technologies, Inc. | Method and apparatus for diagnosing failures in an integrated circuit using design-for-debug (DFD) techniques |
DE10125388A1 (de) | 2001-05-23 | 2002-12-12 | Infineon Technologies Ag | Programmgesteuerte Einheit |
DE10138918A1 (de) * | 2001-08-08 | 2003-03-06 | Infineon Technologies Ag | Programmgesteuerte Einheit |
DE10139660B4 (de) * | 2001-08-11 | 2007-07-05 | Infineon Technologies Ag | Programmgesteuerte Einheit mit Debug-Ressourcen |
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 |
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 |
US7774190B1 (en) | 2001-11-19 | 2010-08-10 | Cypress Semiconductor Corporation | Sleep and stall in an in-circuit emulation system |
US6971004B1 (en) | 2001-11-19 | 2005-11-29 | Cypress Semiconductor Corp. | System and method of dynamically reconfiguring a programmable integrated circuit |
US8069405B1 (en) | 2001-11-19 | 2011-11-29 | Cypress Semiconductor Corporation | User interface for efficiently browsing an electronic document using data-driven tabs |
US7770113B1 (en) | 2001-11-19 | 2010-08-03 | Cypress Semiconductor Corporation | System and method for dynamically generating a configuration datasheet |
US6812485B2 (en) * | 2001-12-28 | 2004-11-02 | Hewlett-Packard Development Company, L.P. | Dual interposer packaging for high density interconnect |
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 |
US7827510B1 (en) | 2002-06-07 | 2010-11-02 | Synopsys, Inc. | Enhanced hardware debugging with embedded FPGAS in a hardware description language |
US7761845B1 (en) | 2002-09-09 | 2010-07-20 | Cypress Semiconductor Corporation | Method for parameterizing a user module |
GB0329516D0 (en) * | 2003-12-19 | 2004-01-28 | Univ Kent Canterbury | Integrated circuit with debug support interface |
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 |
US20060136608A1 (en) * | 2004-12-22 | 2006-06-22 | Gilbert Jeffrey D | System and method for control registers accessed via private operations |
US7395454B1 (en) | 2005-01-04 | 2008-07-01 | Marvell Israel (Misl) Ltd. | Integrated circuit with integrated debugging mechanism for standard interface |
US7332976B1 (en) | 2005-02-04 | 2008-02-19 | Cypress Semiconductor Corporation | Poly-phase frequency synthesis oscillator |
US8205186B1 (en) | 2005-04-11 | 2012-06-19 | Synopsys, Inc. | Incremental modification of instrumentation logic |
US7400183B1 (en) | 2005-05-05 | 2008-07-15 | Cypress Semiconductor Corporation | Voltage controlled oscillator delay cell and method |
US7917914B2 (en) * | 2005-06-09 | 2011-03-29 | Whirlpool Corporation | Event notification system for an appliance |
CN101305350A (zh) * | 2005-06-09 | 2008-11-12 | 惠而浦公司 | 与家用电器内的至少一个部件通信以及对其进行管理的软件体系系统和方法 |
US7921429B2 (en) * | 2005-06-09 | 2011-04-05 | Whirlpool Corporation | Data acquisition method with event notification for an appliance |
US20080137670A1 (en) * | 2005-06-09 | 2008-06-12 | Whirlpool Corporation | Network System with Message Binding for Appliances |
US20070162158A1 (en) * | 2005-06-09 | 2007-07-12 | Whirlpool Corporation | Software architecture system and method for operating an appliance utilizing configurable notification messages |
US7813831B2 (en) * | 2005-06-09 | 2010-10-12 | Whirlpool Corporation | Software architecture system and method for operating an appliance in multiple operating modes |
US8089461B2 (en) | 2005-06-23 | 2012-01-03 | Cypress Semiconductor Corporation | Touch wake for electronic devices |
US8085067B1 (en) | 2005-12-21 | 2011-12-27 | Cypress Semiconductor Corporation | Differential-to-single ended signal converter circuit and method |
US8067948B2 (en) | 2006-03-27 | 2011-11-29 | Cypress Semiconductor Corporation | Input/output multiplexer bus |
US8533530B2 (en) * | 2006-11-15 | 2013-09-10 | Qualcomm Incorporated | Method and system for trusted/untrusted digital signal processor debugging operations |
US7657791B2 (en) * | 2006-11-15 | 2010-02-02 | Qualcomm Incorporated | Method and system for a digital signal processor debugging during power transitions |
US8370806B2 (en) * | 2006-11-15 | 2013-02-05 | Qualcomm Incorporated | Non-intrusive, thread-selective, debugging method and system for a multi-thread digital signal processor |
US7707459B2 (en) | 2007-03-08 | 2010-04-27 | Whirlpool Corporation | Embedded systems debugging |
US8484516B2 (en) * | 2007-04-11 | 2013-07-09 | Qualcomm Incorporated | Inter-thread trace alignment method and system for a multi-threaded processor |
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 |
US8516025B2 (en) | 2007-04-17 | 2013-08-20 | Cypress Semiconductor Corporation | Clock driven dynamic datapath chaining |
US8040266B2 (en) | 2007-04-17 | 2011-10-18 | Cypress Semiconductor Corporation | Programmable sigma-delta analog-to-digital converter |
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 |
US8092083B2 (en) | 2007-04-17 | 2012-01-10 | Cypress Semiconductor Corporation | Temperature sensor with digital bandgap |
US8266575B1 (en) | 2007-04-25 | 2012-09-11 | Cypress Semiconductor Corporation | Systems and methods for dynamically reconfiguring a programmable system on a chip |
US7870436B2 (en) * | 2007-04-25 | 2011-01-11 | Broadcom Corporation | System and method for tracing acceleration in an embedded device |
US9720805B1 (en) | 2007-04-25 | 2017-08-01 | Cypress Semiconductor Corporation | System and method for controlling a target device |
US8065653B1 (en) | 2007-04-25 | 2011-11-22 | Cypress Semiconductor Corporation | Configuration of programmable IC design elements |
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 |
US8078829B2 (en) * | 2007-12-12 | 2011-12-13 | Itt Manufacturing Enterprises, Inc. | Scaleable array of micro-engines for waveform processing |
US9448964B2 (en) | 2009-05-04 | 2016-09-20 | Cypress Semiconductor Corporation | Autonomous control in a programmable system |
CN101840368B (zh) * | 2010-03-26 | 2013-01-16 | 中国科学院计算技术研究所 | 多核处理器的jtag实时片上调试方法及其系统 |
CN102103535B (zh) * | 2011-03-07 | 2013-05-08 | 北京大学深圳研究生院 | 多核处理器、多核处理器的调试系统和调试方法 |
CN102628921B (zh) * | 2012-03-01 | 2014-12-03 | 华为技术有限公司 | 一种集成电路及对集成电路中总线状态进行监控的方法 |
US9552279B2 (en) * | 2013-08-16 | 2017-01-24 | Nxp Usa, Inc. | Data bus network interface module and method therefor |
CN105786685B (zh) * | 2014-12-18 | 2018-05-25 | 青岛海信移动通信技术股份有限公司 | 一种移动终端在线调试和诊断的方法及终端 |
US20160371166A1 (en) * | 2015-06-19 | 2016-12-22 | International Business Machines Corporation | Stream-based breakpoint for too many tuple creations |
US9547483B1 (en) * | 2015-11-06 | 2017-01-17 | International Business Machines Corporation | Feedback directed optimized compiling of optimized executable code |
JP7053891B2 (ja) * | 2018-06-27 | 2022-04-12 | シャンハイ カンブリコン インフォメーション テクノロジー カンパニー リミテッド | オンチップコードのブレークポイントによるデバッグ方法、オンチッププロセッサ及びブレークポイントによるチップデバッグシステム |
US11232016B1 (en) * | 2018-09-21 | 2022-01-25 | Amazon Technologies, Inc. | Debug for computation networks using error detection codes |
US11119149B2 (en) * | 2018-11-30 | 2021-09-14 | Western Digital Technologies, Inc. | Debug command execution using existing datapath circuitry |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4641308A (en) * | 1984-01-03 | 1987-02-03 | Texas Instruments Incorporated | Method of internal self-test of microprocessor using microcode |
US4674089A (en) * | 1985-04-16 | 1987-06-16 | Intel Corporation | In-circuit emulator |
JPS63121934A (ja) * | 1986-11-10 | 1988-05-26 | Oki Electric Ind Co Ltd | 評価用ワンチツプマイクロコンピユ−タ |
US5084814A (en) * | 1987-10-30 | 1992-01-28 | Motorola, Inc. | Data processor with development support features |
US5053949A (en) * | 1989-04-03 | 1991-10-01 | Motorola, Inc. | No-chip debug peripheral which uses externally provided instructions to control a core processing unit |
US5416919A (en) * | 1989-07-19 | 1995-05-16 | Sharp Kabushiki Kaisha | Semiconductor integrated circuit with functional blocks capable of being individually tested externally |
US5157781A (en) * | 1990-01-02 | 1992-10-20 | Motorola, Inc. | Data processor test architecture |
US5253255A (en) * | 1990-11-02 | 1993-10-12 | Intel Corporation | Scan mechanism for monitoring the state of internal signals of a VLSI microprocessor chip |
GB2266606B (en) * | 1992-04-27 | 1996-02-14 | Intel Corp | A microprocessor with an external command mode |
US5491793A (en) * | 1992-07-31 | 1996-02-13 | Fujitsu Limited | Debug support in a processor chip |
US5473754A (en) * | 1993-11-23 | 1995-12-05 | Rockwell International Corporation | Branch decision encoding scheme |
-
1995
- 1995-09-11 US US08/526,472 patent/US5544311A/en not_active Expired - Lifetime
-
1996
- 1996-09-10 JP JP8239262A patent/JPH09167105A/ja active Pending
- 1996-09-10 EP EP96114461A patent/EP0764903B1/en not_active Expired - Lifetime
- 1996-09-10 DE DE69622112T patent/DE69622112T2/de not_active Expired - Lifetime
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008097646A (ja) * | 2002-06-07 | 2008-04-24 | Arm Ltd | データ処理装置およびトレース信号発生方法 |
JP2010510585A (ja) * | 2006-11-15 | 2010-04-02 | クゥアルコム・インコーポレイテッド | 非侵入型デジタル信号プロセッサデバッギング中における命令スタッフィング動作に関する方法及びシステム |
US8341604B2 (en) | 2006-11-15 | 2012-12-25 | Qualcomm Incorporated | Embedded trace macrocell for enhanced digital signal processor debugging operations |
US8380966B2 (en) | 2006-11-15 | 2013-02-19 | Qualcomm Incorporated | Method and system for instruction stuffing operations during non-intrusive digital signal processor debugging |
JP2009193604A (ja) * | 2009-06-02 | 2009-08-27 | Renesas Technology Corp | 半導体情報処理装置 |
Also Published As
Publication number | Publication date |
---|---|
DE69622112T2 (de) | 2003-03-06 |
EP0764903A1 (en) | 1997-03-26 |
EP0764903B1 (en) | 2002-07-03 |
US5544311A (en) | 1996-08-06 |
DE69622112D1 (de) | 2002-08-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH09167105A (ja) | オンチップデバッグシステム | |
JP3105223B2 (ja) | マイクロコンピュータ,マイクロプロセッサおよびコア・プロセッサ集積回路用デバッグ周辺装置 | |
JP3929573B2 (ja) | 集積回路装置及びその通信方法 | |
JP3929574B2 (ja) | 集積回路装置及びその通信方法 | |
US6430727B1 (en) | Diagnostic procedures in an integrated circuit device | |
US6834360B2 (en) | On-chip logic analyzer | |
EP0849668B1 (en) | Diagnostics system and procedure in an integrated circuit device | |
US7401257B2 (en) | Microcomputer and method for developing system program | |
US6378064B1 (en) | Microcomputer | |
US6279103B1 (en) | Method and device for providing an instruction trace from an on-chip CPU using control signals from the CPU | |
JP4749556B2 (ja) | 割込強制レジスタを含む柔軟な割込コントローラ | |
JP2002244881A (ja) | 順序外データのトレーシング | |
EP0942373B1 (en) | Adapter device with a local memory and method for processor emulation | |
EP0840218B1 (en) | An integrated circuit device and method of communication therewith | |
US6760864B2 (en) | Data processing system with on-chip FIFO for storing debug information and method therefor | |
JP4504466B2 (ja) | コンピュータシステム内の通信を実行する方法 | |
EP0942374A1 (en) | Method and device to simulate interruptions for the emulation of a processor | |
EP1125200B1 (en) | Maintaining object size information concurrent with data optimization for debugging | |
US6606590B1 (en) | Emulation system with address comparison unit and data comparison unit ownership arbitration | |
JP2002175196A (ja) | インサーキットエミュレータ | |
JPH08235102A (ja) | Dma転送期間に代替デバイス・ストリームとメモリ・スペースを指定するメカニズムを備えたdmaコントローラ | |
IES20020443A2 (en) | A microprocessor development system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20051017 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20051108 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20060207 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20060210 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20060627 |