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
Application number
JP8239262A
Other languages
English (en)
Inventor
Donald D Harenberg
ドナルド・ディー・ハレンバーグ
A Watson George
ジョージ・エイ・ワトソン
Keith M Bindloss
ケイス・エム・ビンドロス
E Folwell Dale
デイル・イー・フォルウェル
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.)
Boeing North American Inc
Original Assignee
Rockwell International Corp
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 Rockwell International Corp filed Critical Rockwell International Corp
Publication of JPH09167105A publication Critical patent/JPH09167105A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3648Software debugging using additional hardware
    • G06F11/3656Software debugging using additional hardware using a specific debug interface
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2205Detection 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/2236Detection 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • G06F11/261Functional 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

(57)【要約】 【課題】 プロセッサ内でのアクセス困難な変数を参照
することを可能にする。 【解決手段】 デバッグポートは単一チップ・縮小命令
セットシグナルプロセッサ内部論理に組込まれる。完全
実装の場合、デバッグポートは、プロセッサとデバッグ
ポートの他要素からのデータをバッファし外部ソースか
らのデータを受ける回路を提供し、オフチップ接続を与
えるデバッグバスユニット200と、デバッグポートが
受取るデバッグコマンドをデコードし実行する回路を提
供するデバッグコマンドユニット205と、データ付/
なしの命令をプロセッサ命令ストリームに挿入する回路
を提供するデバッグ命令ユニット210と、情報の外部
ソース(アナログ入力信号、外部制御信号、反復データ
信号等)をプログラム制御下でプロセッサに投入する回
路を提供するデバッグ投入/抽出ユニット215と、プ
ログラム/タスク実行モニタ回路を提供するデバッグフ
ローユニット220とを含む。

Description

【発明の詳細な説明】
【0001】
【関連出願の参照】以下の同時係属中の米国特許出願は
オンチップデバッグ回路のさまざまな局面を開示してお
り、全体を本明細書に引用により援用する。 (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日出願 引用するすべての係属中の出願は本出願と同じ譲受人に
譲渡されている。
【0002】
【発明の分野】本発明は概してコンピュータシステム
(ハードウェアおよびソフトウェア)開発の分野に関
し、より特定的には、実時間でプロセッサ状態について
の情報を入手することができかつ実時間でデバッグコマ
ンドを実行することができるオンチップデバッグ回路に
関する。
【0003】
【発明の背景】コンピュータシステム(ハードウェアお
よびソフトウェア双方)をデバッグするためのある従来
の方法は、ロジックアナライザをプロセッサのアドレス
バス、データバス、および何らかの制御機能信号に接続
することである。このようにして、開発エンジニアはこ
れらパラメータの状態を実時間でモニタすることができ
る。超大規模集積回路(VLSI)プロセッサ、特にシ
ングルチップのものにおいてこの方法が受ける根本的な
制限は、プロセッサの外部ピンで入手できる信号しか問
合せをすることができないということである。
【0004】プロセッサ設計およびソフトウェアの複雑
化に伴い、プロセッサの外部ピンで与えられる情報のみ
に基づいてこうしたシステムをデバッグする上での効率
および能力が低下している。現在の複雑なコンピュータ
システムをデバッグするには、ほとんどがプロセッサの
内部でしか手に入れることができない数多くの変数(た
とえばデータ、アドレス、状態、および制御レジスタ内
容)を開発エンジニアはモニタする必要がある。これら
の変数にアクセスするには多数のデバッグ方法を使用し
なければならないことが多い。
【0005】ブレークポイント法においては、プロセッ
サはブレークポイント命令までは通常の動作速度で実行
している(すなわちプログラムが実行されている)。ブ
レークポイントで、プログラムの実行は停止し、プロセ
ッサの状態が保存され、そこで開発エンジニアはシステ
ムをデバッグするのに必要な多くの重要なパラメータに
ついて調べる。しかしながら、この方法は基本的には静
的なデバッグ方法である。シグナルプロセッサのような
現在の複雑なプロセッサにおいて生じるいくつかの問題
は、このストップ・アンド・ゴースタイルの分析には不
向きなことが多い。第1に、ブレークポイント法は非常
に遅い。第2に、連続的に実時間でシステム評価を行な
うことを妨げる。たとえば、ブレークポイント法はアナ
ログ信号の評価/処理用に設計されたシグナルプロセッ
サをデバッグするために効果的に使用することができな
いことが多い、というのもブレークポイントでプロセッ
サを停止させると信号そのものの捕捉および処理の妨げ
となるからである。したがってプロセッサが意図された
タスクを実行しているときに評価することができない。
【0006】コード置換法として知られている第2の方
法では、開発エンジニアは対象となる1つまたは複数の
変数に関連するプログラムコードを特定する。たとえ
ば、プロセッサの内部状態レジスタの状態を変更し得る
プログラム命令である。新たにソフトウェアルーチンが
書かれ、特定されたプログラム命令と置換される。次に
プロセッサ/プログラムが通常の動作速度で動作され
る。プログラムが、特定された命令が行なわれるべき時
点に到達すると、その代わりに置換されたルーチンが実
行される。典型的には置換ルーチンにより、プロセッサ
は特定された変数の状態およびその他の関連し得るプロ
セッサ状態情報をバッファメモリに出力する。その後プ
ログラムの実行は通常の方法で続行される。この方法に
は以下の欠点が含まれる。(1)プロセッサの動作に余
剰のサイクルが加えられ、コンピュータシステムを実時
間で評価する際の妨げとなるかもしれないこと、(2)
ターゲットプログラムにより明示的に操作される変数情
報の捕捉に限られていること、および(3)開発エンジ
ニアが評価するために、捕捉されたデータをバッファメ
モリから出してデバッグシステムに入れることについて
の問題があることである。
【0007】第3のデバッグ方法は、IEEEテストポ
ートおよびバウンダリ−スキャンアーキテクチャ(Test
Port and Boundary-Scan Architecture)(IEEE標
準番号1149.1)に具現化されている。このアーキ
テクチャは、プログラムの実行の停止時にプロセッサの
プログラムカウンタを捕捉する専用ハードウェアをプロ
セッサ内で使用することを規定している。この情報は次
にシリアルポートを通してプロセッサ外の装置に出力さ
れる。この方法の欠点には、情報の捕捉容量が制限され
ることおよび速度が遅いことが含まれている。テストポ
ートはシリアル形式で動作するため、実時間システムに
対応するほど速くはないことが多い。このことは特に実
時間シグナルプロセッサに当てはまるものである。
【0008】別の従来のデバッグ方法はインサーキット
エミュレータ(ICE)装置を使用することである。I
CE装置は一般的にはプロセッサの外部ピンよりも多く
の出力へのアクセスを提供するが、それでもなお非常に
限られたものである。さらに、ターゲットシステムと同
じ速度で実行することができるエミュレータを設計し製
造することは非常に困難であるため、この方法では実時
間でのデバッグを行なうことができないことが多い。
【0009】現在のシングルチップのパイプライン化さ
れたコンピュータプロセッサの到来に伴い、コンピュー
タシステムの動作をモニタし、テストし、かつ制御する
(すなわちデバッグする)ことの上記のような難しさが
大幅に増大している。現在のプロセッサ設計は非常に複
雑であり、ピン数の制限および動作速度のためにチップ
外でモニタするには利用することができない多数の異な
る内部データ、アドレスバス、およびレジスタを利用す
る。上記の制限を克服する、複雑なプロセッサ(および
ソフトウェア)を実時間でデバッグするための装置およ
び方法が、本発明の主題である。
【0010】
【発明の概要】本発明はアクセス不能なコンピュータプ
ロセッサ内で使用するためのコンピュータハードウェア
およびソフトウェア開発手段に関する。包括的にはオン
チップデバッグポートまたはより簡潔にデバッグポート
と称される本発明の好ましい実施例は、シングルチップ
の、縮小命令セットシグナルプロセッサの内部論理内に
組み入れられている。完全なデバッグポートの機能性
は、相互接続される5つの機能構成要素の相互作用によ
りもたらされる。
【0011】デバッグバスユニット(DBU)は、外部
インタフェースモジュール(IMod)およびデバッグ
ワークステーションとの通信手段を提供する。これはシ
グナルプロセッサから集められたデータをバッファおよ
び出力し、デバッグポート内で使用するためのコマンド
およびデータ、ならびにシグナルプロセッサ内で使用す
るための命令およびデータを入力する。
【0012】デバッグコマンドユニット(DCU)は、
IModまたはシグナルプロセッサから生じたコマンド
をデコードするための手段を提供する。DCUはそれ自
身に向けられたコマンドを実行し、IModまたはその
他のデバッグポートユニットに向けられたコマンドは転
送する。DCUはまた、シグナルプロセッサによりその
内部レジスタの1つに書込まれたデータを出力すること
ができる。
【0013】デバッグ命令ユニット(DIU)は、デー
タを伴いまたは伴わずに命令をシグナルプロセッサの命
令ストリームに挿入するための手段を提供する。主要な
命令のタイプは、(1)内部シグナルプロセッサレジス
タおよびメモリからデバッグポートレジスタにデータを
移動させるもの、ならびに(2)シグナルプロセッサの
プログラムフローを変更するもの、を含む。DIUはま
たデータをシグナルプロセッサに転送したりシグナルプ
ロセッサから転送したりするのに使用できる。
【0014】デバッグ投入/抽出ユニット(DJU)
は、情報の外部ソース(たとえばアナログ入力信号をデ
ィジタル化して表現したもの、外部制御信号、または反
復されるデータ信号)をプログラムの制御の下にシグナ
ルプロセッサに投入するための手段を提供する。このこ
とはプログラム開発中にシミュレートされた入力データ
を提供する手段として特に重要である。DJUはまた、
通常はルーチンを介して与えられるであろうデータを実
行プログラムに与えることができる。このようにして、
これから開発されるルーチンの存在をシミュレートする
ことができる。この特徴のお蔭で、異なる開発者たち
が、入力のソースが十分に開発されるのを待たずしてシ
ステムの異なる局面を並行してデバッグすることができ
る。さらに、DJUは実行中のシグナルプロセッサのプ
ログラム/タスクにより生み出されるデータを、実時間
でIModまたはデバッグワークステーションに送った
り抽出したりすることができる。
【0015】デバッグフローユニット(DFU)は、タ
スク分岐決定をエンコードすることによりプログラム/
タスクフローをモニタするための手段を提供するので、
シグナルプロセッサのプログラムカウンタの内容を記録
し、圧縮し、かつ効率的に外部デバッグワークステーシ
ョンに伝送することが可能となり、デバッグワークステ
ーションは、圧縮された情報、ならびに元のコンパイル
および/またはアセンブルされたプログラムから、装置
のプログラムを通った経路を再現する。DFUは、同時
係属中の米国特許出願第08/155,891号の主題である。
【0016】
【実施例の説明】
1.特定的な実施例の機能的説明 本発明の1つの実施例は、VLSI RISCシグナル
プロセッサのためのオンチップデバッグシステムにおい
て実現されるものとして、以下においては機能的用語で
説明する。本明細書では明確化のため実際に実現される
すべての特徴について説明することはしない。もちろ
ん、このような実際のデバイスの開発においては(どの
ような開発プロジェクトでも同様であるが)、実装ごと
に異なるであろう、システムおよびビジネス上の制約に
応じることなど、開発者の特定的な目的を達成するため
に、その実装例に特有の多数の決定を行なわねばならな
い。さらに、このような開発についての努力は複雑でか
つ時間を要するものではあるが、この開示の恩恵を受け
る当業者にとってはコンピュータ設計では必ず行なわれ
なければならない作業でもあることが理解されるであろ
う。
【0017】1.1 導入 本発明に従うオンチップデバッグ回路は、アクセス不能
なコンピュータプロセッサ内のプログラムフローをモニ
タし、かつ制御するための手段および装置に関連する。
デバッグポートと呼ばれる本発明に従う例示のオンチッ
プデバッグ回路は、シングルチップの縮小命令セットシ
グナルプロセッサの内部論理の中に組み入れられる。デ
バッグポートの目的は、シグナルプロセッサの動作に大
きく介入することなく実時間でデバッグ動作を行なうこ
とである。デバッグポートはいかなるプロセッサシステ
ムにおいても等しく有用に実装することができ、したが
ってシングルチップシグナルプロセッサに制限されるも
のではないことが当業者には理解されるであろう。
【0018】さらに、デバッグポートを用いて、実時間
で、デバッグ命令をシグナルプロセッサの命令ストリー
ムに投入し、データを投入し(たとえば入力/出力デー
タをシミュレートし)、かつシグナルプロセッサの入力
制御信号を操作して(たとえばプロセッサを停止(HA
LT)またはブレイク(BREAK)モードにしたりそ
のモードから解除したり、シグナルプロセッサ例外を生
じさせたり、内部プロセッサROMから外部エミュレー
ションROMメモリにスイッチしたりして)、シグナル
プロセッサの実行に影響を及ぼすことができる。
【0019】図1に示すように、本発明に従うオンチッ
プデバッグシステム100は、機能的に4つの部分に分
割することができる。すなわち、(1)シグナルプロセ
ッサ回路110と同じ場所にあるデバッグポート回路1
05、(2)外部デバッグバスおよびプロトコル11
5、(3)外部インタフェースモジュール(IMod)
120、および(4)デバッグワークステーション12
5である。
【0020】デバッグワークステーション125を用い
てシグナルプロセッサのプログラムをコンパイルおよび
/またはアセンブルし、デバッグ情報の非実時間処理を
行ない、デバッグ結果をシステムユーザ/エンジニアに
与える。典型的なデバッグワークステーションはたとえ
ば、サンマイクロシステムズの「SPARC」システム
とすることができる。
【0021】IMod120は、デバッグワークステー
ション125の非実時間処理と、デバッグポート回路1
05およびシグナルプロセッサ110の実時間での高速
動作とをインタフェースするための手段を提供する。そ
のために、IModは(1)デバッグポート行のデバッ
グ情報、および(2)デバッグポート回路から受取った
実時間情報をバッファするための手段を提供する。
【0022】さらに、IMod120を使用してデバッ
グポート105の動作をタスク実行(すなわちデバッグ
されているプログラム)の関数として動的に変えること
ができる。たとえば、タスク/プログラムがAおよびB
という2つの異なるルーチンから構成されていると仮定
する。さらに、特定された1組のプログラム/プロセッ
サの変数がルーチンAの実行中に分析され、別の組の変
数がルーチンBの実行中に分析されるものと仮定する。
(この2組の変数が完全に異なるものである必要はな
い。)通常のタスク実行中に各々のルーチンに入ると、
IModはそのルーチンに入ったという知らせを受けて
これに応答してオンチップデバッグ回路に所望の変数の
みの選択的な記録/モニタをさせることができる。この
特徴を支援するために、IModは、必要時にデバッグ
ポートに伝送されるデバッグ設定データを一時的に蓄積
することができる。この特徴により、複数のデバッグ設
定をデバッグポート回路そのもの内でストアする場合に
必要となる、メモリのためのシグナルプロセッサチップ
の面積が少なくて済み、デバッグワークステーションか
らデバッグ設定を引き出す場合の速度の制約/遅延を克
服することができる。
【0023】外部デバッグバスおよびプロトコル115
は、ピン数の制約内でできるだけ多くの情報をIMod
120とデバッグポート回路105との間で伝送するた
めの手段を提供する。ある実施例では、外部デバッグバ
スは12ビットバス(8データビットおよび4制御ビッ
ト)であり、実装されるプロトコルは非同期バイト幅プ
ロトコルである。この方法の利点は、プロセッサが高速
化しても、IModの速度もそれに対応して増大させる
必要がないことである。
【0024】図2に示すように、デバッグポート105
そのものは、内部デバッグバス225および移動コント
ローラバス230という2つのバスを含む多数の機能構
成要素を含んでいる。矢印は各デバッグ回路構成要素と
これらのバスとの間での情報の流れの方向を示す。図示
しないが、これらの機能構成要素間には多数の制御およ
びデータラインが必要である。
【0025】200 デバッグバスユニット(DB
U)。IMod120およびデバッグワークステーショ
ン125と通信するための手段を与える。シグナルプロ
セッサ110から集められたデータをバッファおよび出
力し、デバッグポート105で使用するためのコマンド
およびデータならびにシグナルプロセッサで使用するた
めの命令およびデータを入力する。
【0026】205 デバッグコマンドユニット(DC
U)。IMod120またはシグナルプロセッサ110
で発生されたコマンドをデコードするための手段を提供
する。DCUはそれ自身に向けられたコマンドを実行
し、IModまたはその他のデバッグポートユニットに
向けられたコマンドは転送する。シグナルプロセッサに
よりその内部レジスタの1つに書込まれているデータを
出力することもできる。
【0027】210 デバッグ命令ユニット(DI
U)。データを伴いまたはデータを伴わずに命令をシグ
ナルプロセッサ110の命令ストリームに挿入する手段
を提供する。最も重要な命令のタイプは、(1)シグナ
ルプロセッサ内部のレジスタおよびメモリからデバッグ
ポートレジスタにデータを移動させるもの、および
(2)シグナルプロセッサのプログラムフローを変更す
るものを含む。DIUの内部にあるレジスタを用いてデ
ータをシグナルプロセッサに転送したりシグナルプロセ
ッサから転送したりすることができる。
【0028】215 デバッグ投入/抽出ユニット(D
JU)。プログラムの制御の下で、情報の外部ソース
(たとえばアナログ入力信号をディジタル化して表現し
たもの、外部制御信号、または反復されるデータ信号)
をシグナルプロセッサ110に投入するための手段を与
える。これはプログラム開発中に、シミュレートされた
入力データを与える手段として特に重要である。DJU
はまた、実行しているタスク/プログラムに通常はルー
チンを介して与えられるデータを提供することができ
る。このようにして、これから開発されるルーチンの存
在をシミュレートすることができる。この特徴により異
なる開発者がシステムの異なる局面を並行してデバッグ
することができる、すなわち入力のソースが十分に開発
されるのを待つ必要がない。さらに、DJUは、実行し
ているシグナルプロセッサのプログラムにより発生され
るデータを実時間でIMod120またはデバッグワー
クステーション125に送ったり抽出したりすることが
できる。
【0029】220 デバッグフローユニット(DF
U)は、タスク分岐決定をエンコードすることによりプ
ログラム/タスクのフローをモニタするための手段を提
供するため、シグナルプロセッサのプログラムカウンタ
の内容を記録し、圧縮し、外部のデバッグワークステー
ション125に効率的に伝送することができる。デバッ
グワークステーションは圧縮された情報ならびに元のコ
ンパイルおよび/またはアセンブルされたプログラムか
ら装置のプログラムを通った経路を再現することができ
る。DFUは同時係属中の米国特許出願第08/155,891号
の主題である。
【0030】この実施例では、内部デバッグバス225
および移動コントローラバス230は16ビット幅であ
り、外部デバッグバス115は12ビット幅(8ビット
データおよび4ビット制御)である。本発明はオンチッ
プデバッグ回路105の実装を目的とする。そのため、
以下の開示では図1において概要が示されたこのデバッ
グシステムの局面を中心とする。
【0031】1.2 デバッグシステム構成要素間の通
信 コンピュータシステムをデバッグするプロセスは、ある
意味ではコンピュータシステムのプロセッサの実行時の
状態に関連するデータを捕捉し、転送し、かつ解釈する
プロセスである。本発明に従うデバッグシステムでは、
データの伝送はパケット形式で行なわれる。デバッグの
プロセスは開発エンジニアとデバッグシステムとの間で
情報が(パケット形式で)双方向で伝送されることによ
り達成される。
【0032】本発明のある実施例では、各パケットは整
数個のデータ半語が続く16ビット(半語)ヘッダから
なる。ヘッダは、ヘッダに続く半語の数を示す3ビット
フィールドを含むさまざまなフィールドから構成され
る。ヘッダにエンコードされ得るその他の情報は以下を
含む。 1.意図するパケットの宛先、たとえばDIU210ま
たはIMod120。 2.パケット内のデータのソース、たとえばDCU20
5の内部のレジスタの1つ。 3.たとえば特定されたデバッグポートのレジスタのビ
ットをセットすることまたはシグナルプロセッサを停止
/開始させることなどのオプションのコマンド。コマン
ドは可変長ビットとすることができる。 4.ヘッダに続くデータの説明。たとえば、特定された
デバッグポートの機能構成要素(たとえばDJU21
5)内のどのレジスタにデータが置かれるかというこ
と。
【0033】採用するエンコード方法は任意的なもので
あり、設計エンジニアの特定的な好みによるものである
ことが当業者には理解されるであろう。
【0034】1.3 デバッグバスユニット(DBU) 前述のように、デバッグバスユニット(DBU)200
はデバッグポート105と、チップ外のIMod120
およびデバッグワークステーション125との間のデー
タをバッファする役割を果たす。DBUを拡大したもの
が図3に示されており、その構成要素については以下に
述べる。
【0035】300 サービス要求調停装置。DBUを
除きデバッグポート内のすべてのユニットは複数のサー
ビス要求(SR)出力を有する。これらの出力は、要求
しているユニット内のレジスタからDBUの出力FIF
O310へのデータの転送をDBUが許可することを要
求するために用いられる。サービス要求調停装置は定期
的にサービス要求入力すべてのステータスをモニタす
る。調停装置300は、1つ以上のサービス要求入力の
アサーションを検出すると、一度に1つを選択して確認
し、それらの要求に優先順位をつける。SRの確認は要
求しているユニットに対して適切な信号要求確認信号を
アサートすることにより行なわれる。ある実施例では、
SR調停装置はセクション2で述べるように35の異な
るSR信号を受取る。各々のサービス要求信号はそれに
相当するサービス要求確認信号を有する。
【0036】305 ヘッダジェネレータ。出力FIF
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にある。
【0037】315 出力FIFO書込制御。この回路
は、出力FIFOメモリ310へのデータの書込動作
中、出力FIFOメモリ310に対しFIFO書込信号
および適切なアドレス信号を発生する責任を有する。F
IFO書込コントローラはFIFOメモリに16ビット
の半語各々が書込まれた後アドレスカウンタをインクリ
メントする。最上位FIFOメモリへの書込の後、次に
発生されるアドレスはFIFOの最下位アドレスであ
る。これにより環状バッファアーキテクチャが実現され
ている。
【0038】320 出力FIFO読出制御。読出制御
回路は、出力FIFOメモリ310からの読出動作中、
(1)読出されるべき出力FIFOメモリのアドレスを
発生し、かつ(2)デバッグポートの外部8ビット出力
バス115上を伝送するためにFIFOの16ビットの
半語を2つの8ビットバイトに分割することを可能にす
るMUX制御信号を発生する責任を有する。MUX信号
は、最上位バイトが始めに伝送され、次に半語の最下位
バイトが伝送されることを確実にする。読出コントロー
ラのアドレス発生は、書込コントローラ315と同じ態
様で循環する。
【0039】325 MUX。上記のように出力FIF
Oメモリの16ビットの半語を2つの連続する8ビット
バイトに変換する責任を有する物理的ハードウェアであ
る。
【0040】330 プロトコル論理。出力FIFOメ
モリ310からIMod120へのデータ転送を調停す
る。これは、データが始めに出力FIFOに書込まれた
ときdbrf出力ラインで信号を送るという要求をIM
od120に伝送し、dbsu入力ラインで信号を送る
ことについてのIModからの許可を検出した後データ
を出力することにより行なわれる。
【0041】335 移動コントローラ。IMod12
0はデータがデバッグポートから転送されていないとき
はいつでも自由にデバッグポートにデータを伝送するこ
とができる。IModからデバッグポートに送られるデ
ータは移動コントローラを通り、ここで内部デバッグポ
ートクロックと同期化され、8ビットバイトから16ビ
ットの半語に変換される。データは移動コントローラか
ら出る際に16ビットの移動コントローラバス230に
置かれる。移動コントローラはまた、メッセージのヘッ
ダが移動コントローラバスにあるときにはいつでもアサ
ートされる「ヘッダ存在」信号を発生する。
【0042】図3に示すように、DBU200は一連の
制御およびデータラインを介して外部デバッグバスポー
ト115へのインタフェースの役割をする。この実施例
では、外部インタフェースラインは、(1)デバッグポ
ート105とIMod120との間でのデータハンドシ
ェイクを実現するためのdbsuおよびdbrfライ
ン、(2)デバッグポートへのおよびデバッグポートか
らのデータをそれぞれクロックするためのdbclkお
よびdbclkrライン、ならびに(3)8ビットデー
タバス115を含む。DBUはまた図2に示すようにデ
バッグポートの内部デバッグバス225および移動コン
トローラバス230へのインタフェースの役割をする。
【0043】1.3(a) デバッグポートからIMo
dへのデータ転送 例示のために、シグナルプロセッサ110がDJU21
5内のレジスタDJ0605にデータを書込む場合につ
いて考察する。(DJU215に関する詳細な情報は以
下において与えられる。)これは抽出動作を構成してい
る、すなわちデバッグポートはシグナルプロセッサから
データ/情報を抽出している。書込が発生すると、DJ
Uはサービス要求調停装置300が受取るサービス要求
信号を発生する(djs0.sr をアサートする)。調停装置
は確認信号をDJUに送り、同時にヘッダジェネレータ
305がサービス要求に対し適切なヘッダを発生するよ
うな信号を送る。ヘッダジェネレータは適切なヘッダを
出力FIFOメモリ310に設ける。
【0044】DJU215がDBUの確認信号を受取る
と、始めに出力FIFOにヘッダが書込まれるまで待機
し、次にレジスタDJ0 605の内容を内部デバッグ
バス225に設ける。すべてのDJUレジスタは32ビ
ットであり内部デバッグバスは16ビットであるため、
32ビットデータ語の各々は2つのシーケンシャルな1
6ビットの半語として内部デバッグバスに出力される。
出力FIFO書込コントローラ315は出力FIFOメ
モリ310へのデータの書込を制御する。出力FIFO
が以前に空であったのならば、ヘッダが出力FIFOメ
モリに書込まれるとすぐに、プロトコル論理330はデ
バッグポートに利用できるデータがあることをIMod
120に(dbrf信号を介して)知らせる。
【0045】プロトコル論理330がdbsu信号を介して
IMod120から「送信許可」信号を受取ると、出力
FIFO読出コントローラ320に、出力FIFOメモ
リ310からIModにデータを転送するよう通知す
る。データはMUX325を通して外部デバッグバス1
15に転送され、最終的にはIModに転送される。
【0046】1.3(b) IModからデバッグポー
トへのデータ転送−投入動作 前述のように、デバッグポートからIModにデータが
転送されていないときはいつでもIMod120はデバ
ッグポートに自由にデータを伝送する。例示のために、
IModが複数の32ビット語を有しており、これらを
DJU215のDJ0 605レジスタに埋込もうとし
ているものとする。これは一連の投入動作を構成する。
(デバッグポートがデータ/情報をシグナルプロセッサ
に投入している。)投入動作各々に対し、IModは2
つの16ビットの半語からなる32ビットのデータが続
く16ビットのヘッダを準備する。次にこの48ビット
のパケットが8ビットバイトに分割され外部デバッグバ
ス115上を送られる。本実装例では、半語は最上位バ
イトの後に最下位バイトが来るようにして送られる。
【0047】IMod120がデバッグポート105に
データを送ろうとするとき、パケットが送られることが
前もって通知されるわけではない。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レジスタに新しいデータが
もはやないことをシグナルプロセッサに示す。
【0048】1.4 デバッグコマンドユニット(DC
U) 前に論じたように、デバッグコマンドユニット(DC
U)205は、IMod120またはシグナルプロセッ
サ110から受取ったデバッグコマンドをデコードする
ための手段を与える。DCUの拡大ブロック図を図4に
示し、その構成要素を以下に説明する。
【0049】400:DBEレジスタ。移動コントロー
ラバス230を介してIMod120からヘッダ情報を
受取るレジスタ。1つの実施例では、DBEレジスタは
16ビット幅であり、ゆえにヘッダ全体がロードされ得
る。他の実施例においては、DBEレジスタは、さらな
るDCUデコードに必要なビットを複写のみするように
実現され得る。つまり(1)後に続くデータ半語の数を
指定するフィールドおよび(2)DCU宛先を指定する
フィールドの後に残るビットは取除かれている。
【0050】405:DBCレジスタ。シグナルプロセ
ッサデータバスからのデータをロードされ得る、32ビ
ットのダブルバッファリングされるレジスタ。DBCレ
ジスタはそれに関連付けられる2つのアドレスを有す
る。最初の(上位の)アドレスは、DBCレジスタにロ
ードされたデータがその最上位半語(16ビット)にヘ
ッダを含むことを示す。2番目の(下位の)アドレス
は、データが厳密にデータであること、つまりヘッダ情
報を全く含まないことを示す。
【0051】DBCがヘッダ情報を含む場合には、その
ヘッダに対する宛先がDCUそれ自体であるかを判断す
るために、ヘッダ内の宛先フィールドがデコードされ
る。ヘッダに対する宛先がDCUである場合には、コマ
ンドを含むヘッダの一部がDCUのデコード論理415
に送られる。宛先がDCUでない場合には、dbc16c.sr
サービス要求またはdbc32c.sr サービス要求のいずれか
がアサートされて、ヘッダ/データをIMod120に
転送する。サービス要求dbc16c.sr は、後に続くデータ
半語数を特定するフィールドが0である場合にアサート
され、DBCがヘッダのみを含むことを示す。サービス
要求dbc32c.sr は、後に続くデータ半語数を指定するフ
ィールドが1である場合にアサートされ、DBCがヘッ
ダおよび1半語のデータを含むことを示す。
【0052】DBCがデータのみを含む場合には、デー
タがIMod120に転送されるべきことを示すdbc32
d.sr 信号要求がアサートされる。
【0053】410:MUXおよびMUX制御論理。コ
マンドデコード論理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がこれらコマンド/イネーブル信号のグループ
を説明している。
【0054】420:サービス要求論理。シグナルプロ
セッサデータバスアドレスをデコードし、シグナルプロ
セッサ110からDBUへ向けられるデータに対しDB
Cレジスタ405のロード信号を発生する。シグナルプ
ロセッサがデータをDBCレジスタ405の下位アドレ
スに向ける場合には、サービス要求dbc16c.sr またはdb
c32c.sr がアサートされる。シグナルプロセッサがデー
タをDBCレジスタの上位アドレスに向ける場合には、
サービス要求dbc32d.sr がアサートされる。セクション
2.1は、DCUのサービス要求論理により発生される
他のサービス要求およびそれらの機能の表を含む。
【0055】サービス要求確認信号は、元のサービス要
求の対象を実行するべく一連のステップをトリガするた
めに用いられる。たとえば、サービス要求論理が初めに
dbc32d.sr サービス要求を発生したとする。dbc32d.sr
確認がDBU200から受取られると、DCUはまず、
DBUのヘッドジェネレータ305が適当なヘッダを出
力FIFOメモリ310にロードしてしまうまで待機す
る。DCUは次いでDBCレジスタの最下位半語(16
ビット)を内部デバッグバス225上にゲートし、次い
でDBCレジスタの最上位半語をゲートする。DBCレ
ジスタの最上位半語の転送の途中で、dbc32d.sr サービ
ス要求がデアサートされる。同様のシーケンスがすべて
のサービス要求を処理する際に用いられる。すべてのサ
ービス要求信号は、最後のデータ転送動作の途中まで、
アサートされた状態で保持される。この独自の設計によ
り、可変長メッセージ/データの効率的な処理が可能と
なる。
【0056】425:DBGレジスタ。指定されるイネ
ーブル信号に対するラッチ機構を設ける、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に記載さ
れる。
【0057】430:DBSレジスタ。デバッグポート
全体からの32のステータスビットの集まり。セクショ
ン4がこれらのビットおよびそれらの機能の簡単なリス
トを示す。
【0058】435:実時間カウンタ。各デバッグポー
トクロックサイクルごとにインクリメントする32ビッ
トカウンタ。この実時間カウンタの内容は、シグナルプ
ロセッサデータバスまたは内部デバッグバス230のい
ずれの上にも出力され得る。デバッグ動作中、この実時
間カウンタは、デバッグデータがデバッグポートにより
捕捉される時間を示すために用いられ得る。
【0059】たとえば、信号処理プログラムは通常、数
値または計算オーバフローが生じないようにある動作の
後には結果がスケーリングされるように書かれる。しか
しながら、ときにランダムな間隔でプログラムが奇妙に
動作し、それがオーバフローのためではないかとプログ
ラマーが疑う場合を考えよう。そうであるかどうかを判
断するために、プログラマーは(1)オーバフロー例外
を可能にするようプログラムを修正し、(2)オーバフ
ロー例外ルーチンで、実時間カウンタの内容がIMod
120に送られるよう、DBCレジスタにヘッダを書込
む命令を含ませ、(3)種々のレジスタまたはメモリロ
ケーションの内容をDBCレジスタに複写するような他
の命令を含ませ、それによってデータがIMod120
に送られるようにして、なぜオーバフローが生じている
かをプログラマーが判断できるようにする。
【0060】440:ウォッチドッグタイマ。プログラ
ム/タスクデバッグ動作中に無限ループ状態に対するテ
ストをするために用いられ得る2ビット(4状態)カウ
ンタ。状態0はクリアまたはパワーオン状態を示す。状
態1は、実時間カウンタ435が1回オーバフローした
ことを示す。状態2は、実時間カウンタが2回オーバフ
ローしたことを示す。状態3は、実時間カウンタが3回
オーバフローしたことを示す。状態3に達すると、それ
はデバッグされているプログラムが無限ループにあるか
もしれないことを意味し、つまり、プログラムがタイマ
を状態0にリセットし戻すことができなかったことを意
味する。状態3に達すると、シグナルプロセッサ110
はパワーオンリセットされる。
【0061】445:トリガ制御論理。信号trig_inは
デバッグポート105への外部入力を表わし、特定の外
部事象の発生を示す。このトリガ制御論理は、trig_in
信号におけるエッジ(ハイからローまたはローからハイ
への遷移)の発生およびそのレベルを記録し、この情報
をDBS430レジスタを介してシグナルプロセッサ1
00およびIMod120に利用可能なようにする。
【0062】信号trig_out はデコード論理415から
の命令に応答して発生される。たとえば、trig_out 信
号(パルスまたはレベル)は、デバッグ下のプログラム
が指定されるルーチンに入るかまたは出るごとに、また
はループ(つまりfor −nextループ)の実行を完了する
ごとに発生され得る。このtrig_out 信号は開発者の直
接の制御下にある。
【0063】1.5 デバッグ命令ユニット(DIU) 先に論じたように、デバッグ命令ユニット(DIU)2
10は、シグナルプロセッサ110の命令ストリーム
に、データを伴って、またはデータを伴わずに、命令を
挿入する手段を設ける。他のタイプの命令が処理されて
もよいが、主に興味ある命令のタイプは、(1)データ
を内部シグナルプロセッサレジスタとメモリとオンチッ
プデバッグポートレジスタとの間で移動させるか、また
は(2)シグナルプロセッサのプログラムフローを変え
るタイプのものを含む。DIUの拡大図が図5に示さ
れ、その構成要素が以下に説明される。
【0064】500:DBBバッファ。移動コントロー
ラバス230から、DBI500、DBA510、DB
D515、またはスロットル535レジスタ行きのデー
タをロードされる32ビットバッファ。
【0065】505:DBIレジスタ。シグナルプロセ
ッサ110に投入される命令をロードされる32ビット
レジスタ。DIUが投入データヘッダ内で指定された投
入基準を満たし、シグナルプロセッサの命令フェッチユ
ニットとハンドシェイクした後、DBIの内容はシグナ
ルプロセッサの命令バスに複写される。
【0066】510:DBAレジスタ。DBIレジスタ
505を介してシグナルプロセッサ110に投入される
命令による使用のためのアドレスを供給し得る24ビッ
トレジスタ。DBAの内容はシグナルプロセッサのデー
タバスに複写される。DBAレジスタの8ビットは、た
とえばメモリのブロックの内容をワークステーションに
転送するために投入される各命令の後に自動的にデクリ
メントし得るカウンタビットである。
【0067】515:DBDレジスタ。シグナルプロセ
ッサのデータバスを用いてシグナルプロセッサ110へ
またはシグナルプロセッサ110からデータを転送する
ために用いられる32ビットレジスタ。シグナルプロセ
ッサからDBDレジスタにロードされるデータはdbd0.s
r サービス要求信号またはdbd1.sr サービス要求信号の
いずれかのアサーションを引起こし、それは次いでDB
Dレジスタの内容をDBD200へ送らせる。DBDレ
ジスタにロードされるデータがシグナルプロセッサ命令
ストリームに投入される命令と関連付けられる場合に
は、それは投入制御論理ユニット525の制御下でシグ
ナルプロセッサデータバス上にゲートされる。DBDレ
ジスタが投入演算に関連付けられないデータを含む場合
には、データは利用可能であり随意に読出され得ること
をシグナルプロセッサに知らせるようDBSレジスタ4
30のDBDAフラグがセットされる。DBSレジスタ
に関する情報についてはセクション4を参照されたい。
【0068】520:ヘッダレジスタ。この13ビット
レジスタは、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
に送られる。
【0069】525:投入制御論理。命令投入を制御す
るヘッダの7ビットをデコードする。これらビットの各
々は以下の意味を有する。
【0070】1.繰返しビット。0であれば、DBIレ
ジスタ505の命令が1回投入される。1であれば、D
BIレジスタ505の命令は繰返して投入される(「繰
返して」は連続するということを必ずしも意味しないこ
とに注目されたい。)。
【0071】2.スロットルビット。0であれば、DB
Iレジスタ505の命令はスロットルカウンタ540の
内容に関係なく投入される。1であれば、DBIレジス
タの命令はスロットルカウンタが0に達すると投入され
る。
【0072】3.利用可能ビット。0であれば、DBI
レジスタ505の命令は即座に投入される。1であれ
ば、DBIレジスタの命令はDBDレジスタ515がロ
ードされた後に投入され、DBD利用可能ビットがセッ
トされる。
【0073】4.トリガビット。0であれば、ヘッダレ
ジスタ520のトリガコードおよびDCU205のデコ
ードされたトリガ信号は無視される。1であれば、いず
れかが生ずるとDBIレジスタの命令が投入される。
【0074】5.デクリメントビット。0であれば、D
BAレジスタ510のカウントビットは各投入演算後に
デクリメントされない。1であれば、DBAレジスタの
カウントビットは各投入演算後にデクリメントされる。
【0075】6.クイットビット。0であれば、命令投
入はDBAレジスタ510のカウントビットが0にデク
リメントしても終了されない。1であれば、命令投入は
DBAレジスタ510のカウントビットが0にデクリメ
ントすると終了される。この動作は、繰返しビットがセ
ットされデクリメントビットがセットされる場合に引起
こされるのみである。
【0076】7.待ちビット。0であれば、進行中のい
かなる繰返し動作も終了され、DBBバッファ500の
データは宛先ビットにより指定されるレジスタに即座に
ロードされる。1であれば、すべての繰返し動作が完了
されるまでDBBバッファのデータは保持され、その後
DBBバッファの内容は宛先ビットにより指定されるレ
ジスタにロードされる。
【0077】530:レジスタ選択論理。以下の機能を
実行する:(1)シグナルプロセッサがDBAレジスタ
510またはDBDレジスタ515のいずれかを読もう
とすると、それはアドレス指定されるレジスタの内容を
シグナルプロセッサのデータバスに複写し、(2)シグ
ナルプロセッサがDBAレジスタまたはDBDレジスタ
のいずれかに書込もうとすると、それはシグナルプロセ
ッサデータバス上のデータをアドレス指定されるレジス
タにコピーし、(3)DBDレジスタが読出または書込
される場合には、それはセクション2に挙げられる対応
するサービス要求の1つをセットし、(4)サービス要
求確認信号がDBDの内容を出力FIFOメモリ310
に転送するために受取られると、それはまずヘッダジェ
ネレータがヘッダを出力FIFOメモリに書込むまで待
機し、次いで最下位半語を、続いて最上位半語を内部デ
バッグバス225に複写する。
【0078】535:スロットルレジスタ。バッファD
BB500の最下位半語からロードされる16ビットレ
ジスタ。このレジスタからの出力はスロットルカウンタ
540にロードされる。
【0079】540:スロットルカウンタ。投入制御論
理525にスロットル信号(パルス)を出力する16ビ
ットのカウントダウンカウンタであり、命令をいつ投入
すべきかを示す。上述の繰返しビットおよびスロットル
制御ビットに関連して用いられる。
【0080】545:ハンドシェイク論理。DIUがシ
グナルプロセッサの命令ストリームに単一の命令を投入
することを許可されるよう要求するために、DIU21
0とシグナルプロセッサ110の命令フェッチユニット
との間でのコマンドハンドシェイクインタフェースを実
現するために用いられる。
【0081】本発明において、この構成要素はまた、N
O−OP命令の連続するシーケンスを要求しそれをシグ
ナルプロセッサの命令ストリームに投入することによっ
てシグナルプロセッサのブレーク動作を実現する。この
構成要素は、ブレークモードを瞬間的に出てブレークモ
ードに戻る前に装置のプログラムメモリの単一の命令が
実行されるようにすることによって、シグナルプロセッ
サの1ステップ動作も実現する。この論理の細部がシグ
ナルプロセッサ設計(または他のオンチッププロセッサ
回路)に完全に依存すること、しかしそのような論理は
いかなる設計にも論理的かつ必要な部分であることが、
当業者には理解されるだろう。
【0082】1.6 デバッグ投入/抽出ユニット(D
JU) 先に論じたように、デバッグ投入/抽出ユニット(DJ
U)215は3つの主要な機能を有する。すなわち:
(1)情報の外部ソースをプログラム制御下でシグナル
プロセッサ110に実時間で投入するための手段を提供
し、(2)実行中プログラムにより発生されるデータを
IMod120またはデバッグワークステーション12
5への転送のために実時間で抽出し、(3)通常であれ
ばルーチンを介して与えられるであろうデータを実行プ
ログラムに供給する。DJUの拡大ブロック図が図6に
示され、その構成要素は以下に説明される。
【0083】600:ヘッダレジスタ。移動コントロー
ラバス230からDJU215宛のヘッダ情報を複写/
ロードし、それをデコードする。そのヘッダに続くデー
タを複写するために、DJUの内部レジスタ、つまりD
J0〜DJ3のうちの1つを選択する。
【0084】605:DJ0レジスタ。移動コントロー
ラバス230とシグナルプロセッサデータバスとのいず
れからの入力をも受入れ得る32ビットレジスタ。DJ
0レジスタからの出力は、内部デバッグバス225また
はシグナルプロセッサデータバスのいずれにも送られ得
る。本実施例では、移動コントローラバスおよび内部デ
バッグバスは16ビットバスである。したがって、DJ
0レジスタは移動コントローラバスから2ステップでロ
ードされ、まずその最下位半語(16ビット)がロード
され、それに続いてその最上位半語がロードされる。同
様に、DJ0レジスタの内容は内部デバッグバスまたは
シグナルプロセッサデータバスに2ステップで複写さ
れ、まずその最下位半語(16ビット)が複写され、そ
れに続いてその最上位半語が複写される。
【0085】DJ0投入動作を開始するために、シグナ
ルプロセッサ110はDJ0レジスタから読出を行なう
ことによってそのプロセスを開始し得、または代替的に
はIMod120がデータの最初の語をDJ0レジスタ
に書込むことによってそのプロセスを開始し得る。シグ
ナルプロセッサがこのプロセスを開始する場合には、読
出される最初の語は意味を有さず、破棄されるべきであ
る。
【0086】DJ0抽出動作を開始するためには、シグ
ナルプロセッサはデータをDJ0レジスタに書込むこと
によって常にそのプロセスを開始する。抽出データはD
JU215から内部デバッグバス215を介して転送さ
れる。
【0087】610:DJ0フラグレジスタ。サービス
要求:djr0.sr,djs0.sr,djf0.sr,およびdjow0.sr(これ
らのサービス要求信号の詳細についてはセクション2を
参照されたい)、ならびにDJ0使用済みフラグDJF
0(DJF0使用済みフラグはデバッグポートのステー
タスレジスタDBSの一部として読出される。このフラ
グの詳細についてはセクション4を参照されたい。)を
実現する5ビットからなるDJ0レジスタに対する補助
レジスタ。機能上、DJ0フラグレジスタは、データ転
送動作中におけるレジスタDJ0とDBU200との間
の自動ハンドシェイキングプロトコルを実現する。
【0088】615:DJ1レジスタ。機能的にDJ0
レジスタ605と等価である。 620:DJ1フラグレジスタ。機能的にDJ0フラグ
レジスタ610と等価である。
【0089】625:DJ2レジスタ。機能的にDJ0
レジスタ605と等価である。 630:DJ2フラグレジスタ。機能的にDJ0フラグ
レジスタ610と等価である。
【0090】635:DJ3レジスタ。機能的にDJ0
レジスタ605と等価である。 640:DJ3フラグレジスタ。機能的にDJ0フラグ
レジスタ610と等価である。
【0091】1.7 デバッグフローユニット(DF
U) この発明に従うデバッグフローユニットは、同時係属中
の米国特許出願連続番号第08/155,891号に記
載されている。
【0092】1.8 この発明の利点 (1) この発明に従うデバッグポートはシグナルプロ
セッサの実行時状態に応答し、間欠的にしか生じない問
題の検出を可能にする。
【0093】(2) この発明に従うデバッグポートは
特定的にはソフトウェア/ハードウェアの実時間デバッ
グを可能にするよう設計される。つまり、プログラム開
発情報はオンチッププロセッサの実行を中断することな
く集められる。加えて、このデバッグポートは標準的な
ブレークポイント1ステップデバッグ法を実現する。
【0094】(3) DBUユニット200は相手側の
外部インタフェースモジュール(IMod120)と非
同期的に通信する。この特徴は、プロセス(半導体)技
術の進歩とともに、オンチップ(VLSI)デバイスが
より高速で動作するのを、IModがプロセッサの速度
増大に追従することを要さずに可能にする。
【0095】(4) DCU205はシグナルプロセッ
サアプリケーション、つまりオンチッププロセッサ11
0上で実行するプログラムの対話形デバッグを可能にす
る。特に、DCUは、どのルーチンが現在実行中かをア
プリケーションプログラムがしめすことのできる手段
(DBCレジスタ405)を提供し、それに応じてIM
od120がそのコードセグメント向けのデバッグコマ
ンドを送り返すことができる。
【0096】(5) この発明のデバッグポートに特徴
的なのは、テスト中のプログラム、つまりオンチッププ
ロセッサまたはシグナルプロセッサ110で実行してい
るプログラムからコマンドを受入れる能力である。特
に、シグナルプロセッサアプリケーションは、DCUの
実時間カウンタ435がIMod120に伝送されるよ
うにすることができる。この特徴を、シグナルプロセッ
サからIModに転送されるデバッグ情報にタイムスタ
ンプを打つのに用いることができる。
【0097】(6) DIU210は、新しい変数を調
べようとするたびに特別なデバッグ命令を加えて、さら
に再アセンブルまたは再コンパイルする、という必要な
く、ユーザがオンチップ計算の結果を取出せるようにす
る。
【0098】(7) 稀にしか発生しない事象を、問題
を理解できるまで何度も再現し得るよう、DIU210
はそれら稀にしか発生しない事象の捕捉を可能にする。
【0099】(8) DIU210は、プログラム開発
中に、シミュレートされた事象からのデータの容易な入
力を可能にする。
【0100】2.デバッグポートサービス要求 以下のリストは、DBU200のサービス要求調停装置
ユニット300によって受付けられる35のサービス要
求(SR)を挙げたものである。各SRはその性格から
して2進であり、アサートされるかまたはアサートされ
ないかのいずれかである。
【0101】
【表1】
【0102】
【表2】
【0103】
【表3】
【0104】
【表4】
【0105】
【表5】
【0106】3.デバッグコマンドユニットのコマンド
およびイネーブル信号 デバッグコマンドユニット(DCU)205は、IMo
d120およびシグナルプロセッサ110からのコマン
ドをデコードする。デコードされたコマンドのいくつか
は、出力がイネーブル信号として用いられるフリップフ
ロップをセットまたはリセットするのに用いられる。他
のコマンドは、1クロック期間のみの間、正または負の
パルスとして直接出力される。以下の表は、DCUのコ
マンドデコード論理415により発生されるイネーブル
信号およびコマンド信号を説明し、かつそれらが向けら
れた宛先を示す。
【0107】
【表6】
【0108】
【表7】
【0109】
【表8】
【0110】
【表9】
【0111】
【表10】
【0112】
【表11】
【0113】
【表12】
【0114】
【表13】
【0115】
【表14】
【0116】4.デバッグステータス(DBS)レジス
タフォーマット
【0117】
【表15】
【0118】この開示の恩恵を受ける当業者には、ここ
に記載される発明の概念から逸脱することなく前述の例
示からの多数の変形が可能であることが理解されるだろ
う。したがって、単に前述の例示ではなく、前掲の特許
請求の範囲こそが、この出願において保護が要求される
独占権を定義するべく意図されている。
【図面の簡単な説明】
【図1】この発明に従うデバッグシステムのブロック図
である。
【図2】この発明に従うオンチップデバッグ回路のブロ
ック図である。
【図3】この発明に従うオンチップデバッグ回路のデバ
ッグバスユニット(DBU)のブロック図である。
【図4】この発明に従うオンチップデバッグ回路のコマ
ンド(DCU)ユニットのブロック図である。
【図5】この発明に従うオンチップデバッグ回路の命令
(DIU)ユニットのブロック図である。
【図6】この発明に従うオンチップデバッグ回路の投入
/抽出(DJU)ユニットのブロック図である。
【符号の説明】
100 オンチップデバッグシステム 105 オンチップデバッグ回路 110 シグナルプロセッサ 115 外部デバッグバス 120 IMod 125 デバッグワークステーション 200 デバッグバスユニット 205 デバッグコマンドユニット 210 デバッグ命令ユニット 215 デバッグ投入/抽出ユニット 220 デバッグフローユニット 225 内部デバッグバス 230 移動コントローラバス
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ジョージ・エイ・ワトソン アメリカ合衆国、92635 カリフォルニア 州、フラートン、ツリービュー・プレイ ス、2952 (72)発明者 ケイス・エム・ビンドロス アメリカ合衆国、92714 カリフォルニア 州、アーバイン、ビーバー・ストリート、 3861 (72)発明者 デイル・イー・フォルウェル アメリカ合衆国、92670 カリフォルニア 州、プラセンティア、ウイングフット・ス トリート、1113

Claims (5)

    【特許請求の範囲】
  1. 【請求項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. 【請求項2】 VLSIプロセッサの内部の第1のレジ
    スタにVLSI命令を送るため、VLSI命令に関連す
    るVLSI命令データをVLSIプロセッサの内部の第
    2のレジスタに送るため、およびVLSIプロセッサの
    内部の1つ以上のレジスタからデバッグデータを受取る
    ためのデバッグ命令ユニット(210)をさらに含み、
    前記デバッグ命令ユニットは(1)移動コントローラバ
    スを介して前記複数のユニットの少なくとも1つからデ
    バッグ情報を受取るように、および(2)内部デバッグ
    バスを介して前記複数のユニットの少なくとも1つにデ
    バッグ情報を送るように作動的に結合される、請求項1
    に記載のプログラム可能なVLSIプロセッサのための
    オンチップデバッグシステム。
  3. 【請求項3】 VLSIプロセッサが実行しているタス
    クをモニタするためのプログラムフローユニット(22
    0)をさらに含み、前記タスクは分岐実行動作を有し、
    前記プログラムフローユニットは内部デバッグバスを介
    して前記複数のユニットの少なくとも1つにデバッグ情
    報を送るように作動的に結合される、請求項1または2
    に記載のプログラム可能なVLSIプロセッサのための
    オンチップデバッグシステム。
  4. 【請求項4】 前記デバッグ状態情報は、(1)ユーザ
    フラグの状態、(2)デバッグバスユニット内の一時的
    メモリの利用可能性、(3)ウォッチドッグカウンタの
    状態、(4)デバッグ投入/抽出ユニットの内部のレジ
    スタメモリの使用状態、(5)デバッグ命令ユニットの
    内部のレジスタメモリの使用状態、(6)デバッグコマ
    ンドユニットの内部のレジスタメモリの使用状態、およ
    び(7)VLSIプロセッサの動作モードのうちの1つ
    以上を表わす情報を含む、請求項1〜3のいずれかに記
    載のプログラム可能なVLSIプロセッサのためのオン
    チップデバッグシステム。
  5. 【請求項5】 前記デバッグポートイネーブル信号は情
    報をエンコードして実時間カウンタの動作をイネーブル
    およびディセーブルする、請求項1〜4のいずれかに記
    載のプログラム可能なVLSIプロセッサのためのオン
    チップデバッグシステム。
JP8239262A 1995-09-11 1996-09-10 オンチップデバッグシステム Pending JPH09167105A (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Cited By (5)

* Cited by examiner, † Cited by third party
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