JP4126105B2 - デジタルプロセッサのテスト方法 - Google Patents

デジタルプロセッサのテスト方法 Download PDF

Info

Publication number
JP4126105B2
JP4126105B2 JP33416296A JP33416296A JP4126105B2 JP 4126105 B2 JP4126105 B2 JP 4126105B2 JP 33416296 A JP33416296 A JP 33416296A JP 33416296 A JP33416296 A JP 33416296A JP 4126105 B2 JP4126105 B2 JP 4126105B2
Authority
JP
Japan
Prior art keywords
digital processor
register
test
data
trace
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP33416296A
Other languages
English (en)
Other versions
JPH10340203A (ja
Inventor
エル.スウォボダ ゲイリー
ジェイ.ストッツアー エリック
Original Assignee
テキサス インスツルメンツ インコーポレイテツド
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 テキサス インスツルメンツ インコーポレイテツド filed Critical テキサス インスツルメンツ インコーポレイテツド
Publication of JPH10340203A publication Critical patent/JPH10340203A/ja
Application granted granted Critical
Publication of JP4126105B2 publication Critical patent/JP4126105B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • 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/2268Logging of test results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • GPHYSICS
    • G06COMPUTING; 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/3636Software debugging by tracing the execution of the program

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Debugging And Monitoring (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は電子データ処理および、エミュレーション、およびテスト容易化装置およびシステム、およびそれらの製造および動作方法に関する。
【0002】
【従来の技術】
最先端ウェーハリソグラフィおよび表面実装パッケージング技術ではシリコンおよび印刷回路板の両方の電子設計レベルにおいてますます複雑な機能が集積されつつある。より緻密な設計および配線ピッチの縮小の結果残念ながら物理的アクセスが低下してきている。完成品がテストおよびデバッグ中であっても制御容易性かつ観察容易性であるような、テスト容易化設計が必要とされている。製品を出荷する前の最終テスト中にいかなる製造上の欠陥も検出できることが好ましい。自動テスト装置により製品をテストできるように、論理設計フェーズにおいてテスト容易性を考慮しなければこの基本的な要求を複雑な設計について達成するのは困難である。
【0003】
機能性および製造上の欠陥テストの他に、アプリケーションソフトウェアの開発にはシステムやサブシステムの設計フェーズにおいて同レベルのシミュレーション、観察容易性および制御容易性が必要である。設計のエミュレーションフェーズではIC(集積回路)、もしくはICのセット、がソフトウェアプログラムとリンクさせた時に最終装置もしくはアプリケーションにおいて正しく機能することを保証しなければならない。
【0004】
自動車産業、電気通信、防衛システム、および生活支援システムにおけるICの使用が増加するにつれ、徹底的なテストおよび広範なリアルタイムデバッグを行うことが需要になってきている。
【0005】
例えば、ICの設計の進展には内部可視性および制御の低下、故障検出率および状態トグル能力の低下、テスト開発および検証問題の増加、設計シミュレーションの一層の複雑化およびCAD(コンピュータ支援設計)ツールの間断ないコスト増加が伴う。ボードの設計では副作用としてレジスタの可視性および制御の低下、設計の検証におけるデバッグおよびシミュレーションの複雑化、1パッケージ内に多くの回路をパッケージして物理的アクセスが失われることによる従来のエミュレーションのロス、ボード上の配線の一層の複雑化、設計ツールのコスト増大、混合モードパッケージング、および製造容易性設計が含まれる。アプリケーションの開発では、状態の可視性低下、高速エミュレーションの困難性、スケーリングされた時間シミュレーション、デバッグの一層の複雑化、およびエミュレータのコスト増大等のいくつかの副作用がある。製造側の副作用としては可視性および制御の低下、テストベクトルおよびモデルの複雑化、テストの複雑化、混合モードパッケージング、7桁の範囲にも達する自動テスト装置の間断ないコスト増大、および厳しい公差が含まれる。
【0006】
【発明が解決しようとする課題】
したがって、改良型エミュレーション、シミュレーションおよび試験容易性アーキテクチュアおよび物理的プロービングや特殊なテスト機能を要することなく可視性および制御が得られる方法を提供することが本発明の目的である。
【0007】
改良型エミュレーション、シミュレーションおよび試験容易性アーキテクチュアおよびアプリケーション開発時間を短縮して新製品を市場へ出すまでの時間を短縮する方法を提供することが本発明のもう1つの目的である。
【0008】
【課題を解決するための手段】
本発明に従って、メモリ部、テストポート、およびメッセージレジスタを有するデジタルプロセッサのテスト方法が提供される。本方法はメモリ部のエリアをトレース領域として画定し、トリガイベントが生じるまでデジタルプロセッサにおいてアプリケーションプログラムを実行し、デジタルプロセッサがアプリケーションプログラムの実行を継続している間にトリガに応答してトレース領域内の位置へデータアイテムを格納し、デジタルプロセッサがアプリケーションプログラムの実行を継続している間にテストポートを介してテストホストプロセッサへデータアイテムを転送するステップからなっている。
【0009】
本発明の別の局面によりメモリ部、テストポート、およびメッセージレジスタを有するデジタルプロセッサのテスト方法が提供されそれは、(1)メモリ部のエリアをトレース領域として画定するステップと、(2)トリガイベントが生じるまでデジタルプロセッサにおいてアプリケーションプログラムを実行するステップと、(3)デジタルプロセッサがアプリケーションプログラムの実行を継続している間にトリガイベントに応答してトレース領域内の位置へデータアイテムを格納するステップであって、トレース領域が満杯になるまでステップ(2)および(3)を繰り返し、(4)デジタルプロセッサがアプリケーションプログラムの実行を継続している間にデータプロセッサの制御下で実行される命令によりトレース領域からメッセージ通過レジスタへデータアイテムを移すことによりテストポートを介してテストホストプロセッサへ少なくとも1つのデータアイテムを転送するステップとを含んでいる。
【0010】
本発明のもう1つの局面ではトレース領域内に少なくとも1つのデータアイテムがある場合にテストポートを介してデジタルプロセッサからテストホストプロセッサへ通知信号が送られテストホストプロセッサがデジタルプロセッサからデータアイテムを受け入れる準備が完了していることを示すハンドシェーク信号がテストポートを介してテストホストプロセッサからデジタルプロセッサへ送られるのを待機する。
【0011】
【発明の実施の形態】
さまざまな創意に富んだ電子アーキテクチュア、デバイス、システムおよび方法が同じ譲受人の1991年、10月10日に出願された特許出願第347,596号(米国特許第5,072,418号)および1994年、7月12日に出願された特許出願第84,787号(米国特許第5,329,471号)の詳細説明および図面に広範に記載されている。これらの同じ譲受人の出願は参照としてここに組み入れられている。明瞭な検討を行うために本出願および前記同じ譲受人の出願において対応する番号は対応する部品を表している。
【0012】
同じ譲受人の出願に記載されさらにここにも記載されるプロセッサデバイス(CPU)11は図1に示す開発ツールに対して複雑なインターフェイスを行うようにされている。ハードウェアデザインツールにはシリアルライン1103を介してデバイス11を保持する回路板1043とインターフェイスされる(テストホスト1101とも呼ばれる)拡張開発システム1101が含まれている。回路板1043はアプリケーションホストコンピュータ1044と作動できることが有利である。開発ツールにはアナログインターフェイスボードAIB1113に接続された評価モジュール1111も設けられている。
【0013】
図1において、ソフトウェア開発システムSWDSはCコンピュータ言語によるアプリケーションプログラムに対するソースコード1121のユーザエントリを提供する。ソースコードはCコンパイラ1123によりアセンブリコード1125へコンパイルされる。アセンブラ1127およびリンカ1129によりアセンブルされリンクされた後で、得られるオブジェクトコードプログラムはボード1043へダウンロードされそこでデジタルプロセッサ11により実行される。
【0014】
プログラムはダウンロードされて実行されると、デバッグを必要とすることがある。実行される時にプログラムのさまざまなアスペクトをトレースすることはプログラムをデバッグする周知の技術である。しかしながら、デジタルプロセッサ11の内部アドレスおよびデータバスへのアクセスの制限によりトレースが不可能となることがある。本発明の特徴はプロセッサ11内のメモリエリアをトレース領域として指定することができ次にトリガイベントに応答してさまざまなデータアイテムをトレース領域内へ転送できることである。トレース領域の内容はアプリケーションプログラムの実行を継続できるようにシリアルライン1103を介してテストホストプロセッサ1101へ転送することができる。トレースデータはアプリケーションプログラムの動作を妨げることなくテストホスト1101において調べることができる。これによりある完了点に達するまで有利にプログラム実行を進めることができ、同時にトレース情報を集めてプログラム実行の進行を理解するためのデバッグ活動を支援することができる。
【0015】
次にソフトウェア開発システム、テストホスト1101およびプロセッサ11のインタラクションについて詳細に説明する。図1に戻って、Cコンパイラ1123は、例えば、標準ANSI C言語を完全に実施する最適化コンパイラである。コンパイラ1123はCで書かれたプログラムを受け入れてアセンブリ言語ソースコードを作り、次にそれはアセンブラ1127によりオブジェクトコードへ変換される。この高水準言語コンパイラ1123によりアセンブリ言語で書かれたタイムクリティカルルーチンをCプログラム内から呼び出すことができる。逆に、アセンブリルーチンはC関数を呼び出すことができる。コンパイラの出力は適切に編集された後でアセンブリおよびリンクされてコードの性能をさらに最適化することができる。コンパイラ1123はCソースコードへのアセンブリ言語コードの挿入を支援して、高水準およびアセンブリ言語の相対的割合が所与のアプリケーションのニーズに従って調整されるようにする。
【0016】
コード1125はアセンブラ1127により再配置可能オブジェクトコードへアセンブルされる。リンカ1129は非再配置可能マシンコードもしくはリンクされたオブジェクトコードを作り出しそれは開発システムを介してデバイス11へダウンロードされる。
【0017】
アセンブラ1127およびリンカ1129によりアセンブリ言語ファイルを実行可能なオブジェクトコードへ変換するソフトウェア開発ツールが構成される。重要な特徴はマクロケーパビリティおよびライブラリ関数、条件付アセンブリ、再配置可能モジュール、完全エラー診断、および記号テーブルおよび相互参照である。次に特定のソフトウェア開発ニーズに向けられた4つのプログラムについて検討する。
【0018】
(1)アセンブラ1127はアセンブリ言語ソースファイルを機械語オブジェクトファイルへ変換する。ソースファイルは命令、アセンブラディレクティブおよびマクロディレクティブを含んでいる。アセンブラディレクティブはソースリスティングフォーマット、データアライメントおよびセクション内容等のアセンブリプロセスのさまざまなアスペクトをコントロールするのに使用される。
【0019】
(2)リンカ1129はオブジェクトファイルを1つの実行可能なオブジェクトモジュールと結合する。リンカは実行可能なモジュールを生成すると、再配置を実施して外部参照を取り除く。リンカはアセンブラにより生成された再配置可能なオブジェクトファイルを入力として受け入れる。それはアーカイブライブラリメンバも受け入れて前のリンカ実行により生成されたモジュールを出力する。リンカディレクティブによりファイルセクションや記号を組み合わせてすなわち結合して大域記号をアドレスおよび定義もしくは再定義することができる。
【0020】
(3)アーカイブにより1群のファイルの集まりを1つのアーカイブファイルとすることができる。例えば、いくつかのマクロを適切に集めてマクロライブラリとすることができる。アセンブラはライブラリを探索しソースコード1125によりマクロとして呼び出されたメンバを使用する。またアーカイブは1群のオブジェクトファイルを適切に集めてリンキング中に外部参照を取り除くファイル等のオブジェクトライブラリとする。
【0021】
(4)オブジェクトフォーマットコンバータによりオブジェクトファイルは、TI−TAGフォーマット等のいくつかのEPROMプログラマフォーマットの中の任意の1つへ変換される。次に変換されたファイルはEPROMプログラマへダウンロードされそのように確立されたEPROMコードがシステム1043内のデバイス11ターゲットチップで実行されるようにされる。
【0022】
本発明に従って、例えば、ユーザ定義トレースコードをCもしくはアセンブリ言語で書き込むことができる。さまざまなトレースルーチンもアプリケーションプログラム内へ容易に組み込めるマクロとして取り込むこともできる。トレースコードはトリガイベントへ応答してプログラムカウンタアドレス、メモリアドレス、もしくはレジスタ内容等のデータアイテムを例えば内部メモリのトレース領域として指定されたエリアへ転送することができる。
【0023】
シミュレータ1131はコスト効果的なソフトウェア開発のためのターゲットチップの動作および非リアルタイムプログラム検証をシミュレートするソフトウェアプログラムを実行する。シミュレータは全ターゲットチップ命令セットをシミュレートしてDMA、タイマおよびターゲットチップに含まれる場合のシリアルポートを含む重要な周辺特徴をシミュレートする。コマンドエントリはメニユー駆動キーストローク(メニューモード)もしくはバッチファイル(ラインモード)から受け入れられる。全スクリーンモードに対してヘルプメニューが与えられる。その標準インターフェイスはユーザカスタマイズすることができる。シミュレーションパラメータはファイルから迅速に格納/検索され個別セッションの準備を容易にする。逆アセンブリによりソースステートメントの編集および再アセンブリを行うことができる。メモリ内のデータは16進32ビット値として表示されソースコードと別々にもしくは同時にアセンブルされる。
【0024】
シミュレータ1131実行モードには1)単一/多数命令カウント、2)単一/多数サイクルカウント、3)Until Condition Is Met、4) While Condition Exist、5)For SetLoop Coutおよび6)Unrestricted Run withHalt by Key Inputが含まれる。これらの式は容易に定義される。トレース実行の場合、ディスプレイ選択には1)指示された式の値、2)キャッシュレジスタ、および3)コードの容易な最適化のための命令パイプラインが含まれる。ブレークポイント条件にはAddress Read,Address Wrire,Address Read or Write,Address Execute,およびExpression Validが含まれる。シミュレータ1131はキャッシュ利用法をシミュレートしサイクルカウンティングを行う。例えば、サイクルカウンティングではシングルステップモードもしくはすなわち実行モードのクロックサイクル数が表示される。外部メモリは正確なサイクルカウンティングを行うための待機状態により適切に構成される。
【0025】
シミュレータ1131はアセンブラ1127およびリンカ1129により作られるオブジェクトコードを受け入れる。入力および出力ファイルにはプロセッサに接続されたI/OデバイスをシミュレートするI/O命令のポートアドレスが適切に関連している。プログラム実行を開始する前に、任意のブレークポイントが設定されトレースフォーマットが定義される。
【0026】
シミュレータ1131によるプログラム実行中に、各命令がシミュレータ1131により解釈されると内部レジスタおよびシミュレートされたターゲットチップのメモリが修正される。ブレークポイントやエラーに出会ったり実行の停止時には実行が保留される。プログラム実行が保留されると、内部レジスタおよびプログラムメモリとデータメモリの両方を調べて修正することができる。トレースメモリも表示することができる。シミュレーションセッションのレコードをジャーナルファイル内に維持し再実行して別のシミュレーションセッション中に同じマシン状態を再び得ることができる。
【0027】
シミュレータ1131によりハードウェアを要求することなくターゲットチップの状態を検証かつ監視することができる。シミュレーション速度はオペレーティングシステムおよびシミュレータ1131のために選定されたハードウェアに応じて数百もしくは数千命令/秒程度である。state−accurateシミュレーションは1−2命令/秒の低速とすることができる。高いリアルタイムファンクショナルクロックレートのエミュレーションはシミュレータ1131ではなく開発システム1101により実施される。
【0028】
シミュレータ1131はデバイスだけでなくボード1043上のその周辺装置についても例えばファイルI/Oを介して完全なコンピュータシミュレーションを行う。
【0029】
拡張開発システム1101によりシステム設計の全速、インサーキットエミュレーションおよび広く入手できるパーソナルコンピュータシステムのハードウェアおよびソフトウェアデバッグが提供される。開発ツールは使い易い最終製品に対するシステムコンセプトにより技術的支援を行いアプリケーションシステムの開発時間およびコストを著しく低減するのに必要なツールを設計者へ提供する。
【0030】
本発明の利点は、内部バスを開発システムに直接利用できない場合でも、ソフトウェアシミュレートトレースと同様な情報を提供する開発システム1101においてユーザ定義トレーシングを実施できることである。
【0031】
図2に拡張開発システム1101により提供されるエミュレーション環境をより詳細に示す。IEEE JTAG標準に適合するコントローラカード1141がエミュレーションホストコンピュータ1101に含まれている。JTAGはIEEE文献1149.1,1149.3および1149.3に説明されている。コントローラカード1141はシリアルライン1103を介して図2のPCボード1043およびDSPデバイス11と連絡されている。システム1043はテキサスインスツルメンツスコープ(TM)試験容易性を有しテキサスインスツルメンツMPSD(Modular Port Scan Desin)エミュレーションと噛み合わされて開発、製造および現地試験を含めた完全な解決策を提供する。発明の手法はデジタル信号プロセッサ(DSP),グラフィック信号プロセッサ(GSP),メモリ(MEM),プログラマブルアレイ論理(PAL),特定用途集積回路(ASIC),および汎用論理(GPL)汎用マイクロコンピュータおよびマイクロプロセッサ、およびテストもしくはコード開発を必要とする任意のデバイスに応用できる。
【0032】
図2のホストコンピュータ1101はプリンタ1147、ハードディスク1145、および電話線に接続されて現地試験や他の手順の遠隔メインフレームへアップロードされる電気通信モデム1143を含む周辺装置を有している。ホストコンピュータ1101のバス1148の周辺ケーパビリティはエミュレーションには利用できないが、シリアルライン1103に沿ったこれらの周辺装置へのアプリケーションシステム1043によるアクセスも提供する。したがってホストコンピュータ1101はエミュレーションホストとしてシステム1043を利用できるだけでなくAP(attached prpcessor)自体および通信I/Oポートとして利用することができかつシステム1043が常時は利用できないが一時的に必要とする他の周辺ケーパビリティを利用することができる。
【0033】
図3にデバイス独立エミュレータソフトウェアがウィンド駆動ユーザインターフェイスおよびテスト実行プログラムを有するコンピュータ1101のエミュレーションおよびシミュレーションソフトウェア構成を示す。
【0034】
ボード1043上の各デバイスに対する特定デバイス構成ファイルが提供される。例えば、DSP構成ファイル、GSP(graphic signal processor)構成、プログラマブルアレイ論理(PAL)、ASICファイルおよびGPLレジスタファイルがある。
【0035】
図2および図3のエミュレーションハードウェアおよびソフトウェアによりボード1043上のターゲットチップに全速インサーキットエミュレーションを実施するのに必要な全機能を提供するユーザフレンドリな、パーソナルコンピュータもしくはワークステーションベース開発システムが提供される。例えば、DSP11は1987年3月13日に出願され1990年3月27日に発行され参照としてここに組み入れられている同じ譲受人の出願第025,417号(米国特許第4,912,636号)に開示されているテキサスインスツルメンツ320シリーズデジタル信号プロセッサ、もしくは参照としてここに組み入れられている米国特許第5,072,418号に開示されている320C50デジタル信号プロセッサとするのが適切である。代表的なグラフィック信号プロセッサはテキサスインスツルメンツ34020である。
【0036】
図2のコントローラカード1141付きホストコンピュータ1101および図3のソフトウェアで構成されるエミュレータによりユーザはソフトウェアおよびハードウェアの開発を行うことができ、ソフトウェアおよびハードウェアをターゲットシステムと一体化することができる。エミュレーションインターフェイスによりターゲットチップの各メモリ位置およびレジスタに対するコントロールおよびアクセスが提供されデバイスアーキテクチュアはAPとして拡張される。
【0037】
エミュレータコントローラカード1141により多ピンターゲットコネクタを介したユーザのターゲットシステム1043内のデバイス11等の各ターゲットチップの全速実行および監視が行われる。1実施例では、ソフトウェアおよびハードウェアブレークポイント、ソフトウェアおよびハードウェアトレースおよびタイミング、およびシングルステップ実行が提供される。エミュレータは全デバイス11レジスタをロードし、検査し、修正するケーパビリティを有している。プログラムデータおよびプログラムメモリはアップロードもしくはダウンロードすることができる。エミュレーションのためのホストコンピュータ1101のユーザインターフェイスは対応するターゲットチップに対するシミュレータ1131のユーザインターフェイスの窓をかけたユーザインターフェイスと同じとなるように設計された窓をかけたユーザインターフェイスである。エミュレータ1101はポータブルでありマルチ処理を行うように再接続することができる。エミュレータ1101は実行時間クロックサイクルのベンチマークをリアルタイムで提供する。
【0038】
ターゲットシステムの全速実行および監視はマルチワイヤインターフェイスもしくは多ピンターゲットコネクタ内のスキャンパスを介して適切にコントロールされる。スキャンパスによりシステム1043内のターゲットチップがコントロールされ、全レジスタおよび関連する内部および外部メモリへのアクセスが提供される。
【0039】
プログラム実行はターゲットシステム1043内のターゲットチップ(例えば、11)で行われる。したがって、本実施例により提供されるインサーキットエミュレーションが無い場合に生じることがある、エミュレーション中のタイミング差は生じない。本実施例はチップ11自体を利用する非侵入性システムとして有利にケーブル長および伝送問題を回避している。信号のローディング問題は回避され、人工的なメモリ制約は予防される。エミュレーション性能はエミュレートされるターゲットチップ自体の仕様と一致する。
【0040】
ソフトウェアブレークポイントにより指定された命令アドレスにおいてプログラムの実行を停止することができる。ハードウェアブレークポイントもチップ上で有利に作動することができる。所与のブレークポイントに達すると、プログラムは実行を停止してユーザがメモリおよび状態レジスタを観察できるようにするか、もしくはブレークポイントはより複雑な状態に含まれ、それが満たされると適切な停止モードが実行される。この点において、ユーザは僅か1つのコマンドによりターゲットチップもしくはシステムの状態をディスプレイすることができる。
【0041】
本発明の利点はユーザが定義可能なソフトウェアルーチンがブレークポイントイベントへ応答し、関連情報をトレース領域へ転送し、アプリケーションプログラムのオペレーションに僅かな影響しか及ぼすことなくアプリケーションプログラムの実行を継続できることである。
【0042】
ソフトウェアトレースおよびハードウェアプログラムカウンタートレースによりユーザはブレークポイントに達した時にターゲットチップ11の状態を調べることができる。この情報はファイル内のコマンド上に適切に保存されて将来解析される。ソフトウェアタイミングによりユーザはブレークポイント間のクロックサイクルを追跡してタイムクリティカルコードをベンチマークすることができる。
【0043】
シングルステップ実行により一時に1命令ずつプログラムを進める能力がユーザに与えられる。各命令の後で、レジスタおよびCPUの状態が表示される。これによりソフトウェアデバッグ中にフレキシビリティが増大し開発時間の短縮を助ける。
【0044】
オブジェクトコードは指令によりインターフェイスを介して任意の有効なプログラムメモリ位置もしくはデータメモリ位置へダウンロードされる。実施例では、1Kバイトのオブジェクトプログラムをダウンロードするのに100ミリ秒程度かかる。プログラムをシングルステッピングしながらレジスタを検査して修正することにより、ユーザはプログラムコードやパラメータを調べて修正することができる。
【0045】
エミュレータ1101に対する窓かけされたユーザインターフェイスは適切にシミュレータ1131のそれと同一とされ、シミュレータベース開発からエミュレータベース開発へまっすぐに移行することができる。ユーザフレンドリな画面によりニーモニックなプログラムコードおよび等価16進コードがディスプレイされる。拡張された精密レジスタ、CPU状態およびメモリ位置に対する窓かけされたディスプレイが適切に提供される。
【0046】
第1の画面オプションは画面の頂部にディスプレイされたコマンドライン、特殊ファンクションキーの機能、および市販のキーボードのF1キーを使用して個別にアクセスされる4つの状態ウィンドウを含む1次画面である。ウィンドウにはソースコードウィンドウ、補助ディスプレイウィンドウ、CPU状態ウィンドウ、および拡張精密レジスタウィンドウが含まれる。ウィンドウの内容はユーザの検査および修正のためにアクセス可能とされる。
【0047】
コマンドはMENUモードもしくはLINEモードで入力される。MENUモードでは、画面頂部のメニューによりユーザは1つのコマンドを入力しながら利用可能な各オプションを調べることができる。全コマンドが入力されるまでさらにメニューがディスプレイされる。LINEモードによりユーザは全コマンド式を入力することができる。
【0048】
図2のエミュレータカード1141はIBM PCコンパチブルコンピュータをホストコンピュータ1101として使用する場合にそのスロットを適切に占有する。カード1141は取り外され必要に応じて別のPC(機能性の等価なパーソナルコンピュータ)へ転送され、エミュレータ可搬性が得られる。シミュレーションについては、EPROM(erasable programmableread only memory),SRAM(static random access memory),DRAM(dynamic randomaccess memory),オンチップメモリおよび周辺装置を含むことができるコントローラカード1141のメモリマップを、待機状態およびアクセス特権を含む、ターゲットシステム1043の実際の環境を反映するように設計者が構成することができる。このようにして、カード1141およびホストコンピュータ1101は特別な開発状況においてボード1043にはない周辺装置をシミュレートすることができる。
【0049】
1実施例では、いくつかの各アプリケーションボード間で次々にライン1103を延長し、リアルタイムエミュレーションを維持し各ターゲットチップ上に情報を保存することによりマルチプロセッシングアプリケーションがエミュレートされる。
【0050】
開発システム1141は1)エミュレーションモードおよび2)アルゴリズム開発および検証モードの2つのモードで作動する。アルゴリズム開発/検証モードでは、ターゲットチップ11はターゲットシステムが完了する前にそのソフトウェアを全速でデバッグする。これを達成するために、コードがボード1043上のメモリへダウンロードされ不完全ターゲットシステムの替わりに使用されるアプリケーションボードのインターフェイスを介して全速で実行される。適切なアプリケーションボードはDSP11、1次バス上の16Kx32ビットの全速(ゼロ待機状態)SRAM、延長バス上の8Kx32ビット全速(ゼロ待機状態)SRAMの選択可能な2バンク、および512Kx32ビットDRAMが含まれている。十分なSRAMにより、ユーザはリアルタイムエミュレーションケーパビリティおよびさまざまなアルゴリズムに対するメモリ格納フレキシビリティを有する。SRAM内のゼロ待機状態ケーパビリティによりリアルタイムのメモリリードライトが可能となる。
【0051】
アルゴリズム開発およびコード検証についてシステムはシングルステップを行ってブレークポイントに達するまで実行することができる。本発明に従って、アプリケーションプログラムはブレークポイントに達してトレース領域へ情報が転送された後でも実行し続けることができる。アルゴリズム検証ではアルゴリズムにデータを通してその機能が検証される。バースト実行、I/Oその他の機能を利用することができる。
【0052】
ページモードDRAMによりバルク記憶性能が改善される。アプリケーションボードの1例では3種のDRAMサイクルが使用される。それらは1語リード、1語ライトおよびページモードでありそれぞれアクセス当たり4つ,2つ,および1つの待機状態を有している。デバイス11が同じメモリページ(256語)で2つ以上のバック−ツウ−バックリードサイクルを実施する時にページモードリードサイクルが自動的に呼び出される。ページモードの利用によりアプリケーションボード1043上のアプリケーションボード1043DRAMにアクセスする時の待機状態が減少する。
【0053】
図2においてテストおよび開発支援システムのアプリケーションシステムリソースへのアクセスはコントローラカード1141上のシリアルスキャンバスマスタもしくはスキャンインターフェイスを介してなされ、それについては後記する。複雑なエミュレーションおよびシミュレーション機能がプリミティブにより組み立てられる。プリミティブはコントローラカード1141を介して利用できる(コマンドや命令のような)コントロールオペレーションを定義するビットのセットである。
【0054】
デバイス11の機能性には2つのシリアルインプリメンテーションの実施例の各々によりアクセスすることができる。第1のシリアルインプリメンテーションの実施例は図4にMPSDモジュール1213として示され米国特許第4,860,290号に開示され参照としてここに組み入れられているテキサスインスツルメンツ社製odular ort can esign(MPSD)である。“S”で示すシフトレジスタラッチ(SRL)が各モジュールに対してシリアルスキャンパス上に一筋のビーズのようにデバイス11中に分散されて“重要な”全てのレジスタへのアクセスを提供する。
【0055】
第2の方法では図4のSCOPEインターフェイス1150においてMPSD技術と組み合わせたSCOPE(テキサスインスツルメンツystem ontrollability,bservability,およびartition nvironment)伝送媒体が使用される。
【0056】
図4においてデバイス11は前記したようにオンチップJTAGインターフェイス1149も有している。スキャンインターフェイスは図2の線1103に接続されておりテストクロックTCK,モードセレクトTMS,およびテストデータ入力TDI(スキャンイン)用入力、およびテストデータ出力TDO(スキャンアウト)を有している。特殊エミュレーションアダプタ1203がデバイス11のスキャンインターフェイス1149とファンクション回路1213のMPSDモジュール間に接続されている。さきざまな形式のエミュレーションアダプタ1203がハードウェア状態機械回路、アセンブリ言語、もしくはマイクロコード状態機械実施例を含んでいる。
【0057】
エミュレーションを支援するために使用する場合のいくつかのインプリメンテーションの特性を表1に示す。
【表1】
Figure 0004126105
SCOPE/MPSDインプリメンテーションはMPSDおよびSCOPEの強度を個別に利用してハイブリッドエミュレーション技術を作り出す。
【0058】
図5にPCボード1043上のデバイス11のような各チップ上に設けられる改良型SCOPEハードウェアのブロック図を示す。4本のピンTDI,TMS,TCKおよびTDOがシステムに連絡されている。TMSおよびTCKは命令レジスタ1153および命令復号回路1155に接続されるTAPコントローラ1151に連絡されている。
【0059】
テストアクセスポート(TAP)コントローラ1151は次に命令レジスタ(IR)1153および第1のマルチプレクサ1173に接続されている。命令レジスタはTDI線からシリアルスキャン信号を受信してMUX1173へシリアルに出力することができる。MUX1173はTAPの制御下にあり命令レジスタもしくは他のMUX1171から出力信号をセレクトすることができる。
【0060】
命令レジスタはバイパスレジスタ(BR)1167および1つ以上のバウンダリスキャンレジスタ(BSR)1161もコントロールする。バイパスレジスタはTDI信号を受信してMUX1171へ出力する。MUX1171は命令レジスタ1153の制御下にある。命令レジスタへロードされる命令に基づいて、MUX1171はバイパスレジスタからのその入力もしくは1つ以上のBSR、あるいは内部デバイスレジスタスキャンからのその入力を出力する。各バウンダリスキャンレジスタはテストアクセスポートおよび命令レジスタを介してコントロールされる。
【0061】
バウンダリスキャン構造は正規モードもしくはテストモードで作動する。正規モード中は、IC論理の端子へ入る入力データはバウンダリスキャンレジスタを介してIC論理へ通されBSRによりなんら変化することなく正規出力端子へ送られる。テストモード中は、正規の入力データは中断され、テスト入力データが捕捉され、シフトされ、バウンダリスキャンレジスタ内で更新される。バウンダリスキャンレジスタは2個のラッチを含み、第1のラッチはTDIからのデータを受信してシフトし第2のラッチは出力データを保持する。第2のラッチは第1のラッチから第2のラッチへデータを転送するように選択的に作動する。
【0062】
一般的に、図5において、シリアル情報はエミュレーションコンピュータ1101からSCOPEコントローラカード1141を介してピンTDIへダウンロードされバウンダリスキャンレジスタ1161、デバイス識別レジスタ1163および特定設計テストデータレジスタ1165を含むいくつかのシフトレジスタの中の任意のシフトレジスタへ入る。バイパスレジスタ1167も設けられている。これらのシフトレジスタやシリアルスキャンレジスタは命令復号回路1155の制御下でMUX1171を介してセレクトされる。MUX1171からのセレクトされた出力はMUX1173へ送られタップコントローラ1151の制御下で命令レジスタ1153もしくはMUX1171がMUX1173によりセレクトされるようになされる。JTAGクロックTCKおよびMUX1173出力はフリップフロップ1175へ送られそれはシリアルリターン回路1177に接続されておりそれは適切にイネーブルされてオンチップJTAG回路のあらゆる部分からのシリアル出力を出力シリアルピンTDOを介してコンピュータJTAGカード1141へ戻すすなわち返送する。
【0063】
JTAG TAP(Test Access Port)コントローラの状態はテキサスインスツルメンツテクニカルジャーナル第5巻、第4号、1988年、第48−59頁のL.Whetselの論文“標準テストバスおよびバウンダリスキャンアーキテクチュア”および米国特許第5,084,874号および第4,872,169号に記載されている。
【0064】
ここで認識され利用されている基本概念に戻って、エミュレーションには各回路周りに作られたハードウェアサポートが含まれ回路がランする時に並列に解析を行いながら回路内でオペレーションを実行できるようにされる。エミュレーションによりエミュレーションコンピュータ1101が回路を監視して起動および停止する時に回路を全速でリアルタイムでランさせることができる。ユーザはターゲットシステムの環境でソフトウェアを定義して展開する。別の方法では、エミュレーションによりボード1043からの入力が読み取られデバイス11が存在しなければ、適切なソフトウェアおよび動作信号を決定するために、ボードへの出力が発生される。最後に、エミュレーションワークにより生じる適切なソフトウェアがデバイス11へ供給されると、デバイス11はボード1043の残りの回路とコンパチブルな方法で作動する。ここに開示する改良型システムでは、デバイス11は実際上シリアル通信ケーパビリティのあるボード上にあり、デバイス11の動作は全てデバイス自体から直接監視される。デバイス11は極めて高速であることを考えると、デバイス自体がそれ自体のエミュレーションを支援する。
【0065】
前記した方法では、ケーブルはエミュレートされたデバイスの替わりにボード上に設けられるソケットに嵌まるピンプラグで終端する。ソケットによりノイズの問題が生じる。表面実装デバイスをエミュレートする場合には、ボードのスペースが限定されるためソケットは実際的ではない。デバイス11はボード1043上にはんだ付けしてデバイス自体によりエミュレーションを仲介するのが有利である。
【0066】
スキャンインターフェイス1150に使用する少数のピンにより従来の全pin−outターゲットコネクタが不要となりケーブルの信頼度、伝送効果およびタイミング差に伴う問題が解消される。このようにして、ボード1043をプローブしてエミュレータ1101に接続された重責ケーブルとの物理的もしくは電磁的干渉を生じることなくデバイス11以外の論理回路の動作を改良型システム内の論理アナライザおよびオシロスコープにより検証することができる。さらに、デバイス11の20メガヘルツを越えるクロックレートは高すぎて従来のエミュレーション方式ではそれをエミュレートできなくなることがある。
【0067】
ここで用語として使用するシミュレーションによりターゲットボード1043のソフトウェア表現が生成され図1のシミュレータ1131(もしくはコンピュータ1101でシミュレータプログラムをランさせることにより)全ボードのシミュレーションを展開できるようにされる。シミュレーションの別の局面において、デバイス11を利用できるがターゲットボード1043の残りの回路が不完全である場合には、デバイス11からコンピュータ1101へシリアルスキャンアップロードもしくはダウンロードを行い、次にコンピュータ1101からデバイス11へシリアルスキャンダウンロードもしくはアップロードを行ってボード1043の消失回路を置換することによりシミュレータは計画された完成ボードを真似ることができる。この局面では、ここに記載された改善に従ってデバイス11自体を全速でランさせることによりシミュレーションは加速される。コンピュータ1101がデバイス11よりも低速でランされる場合であっても、デバイス11により頻繁にアクセスされる周辺装置をシミュレートするのにシミュレーションは有効である。
【0068】
ここで使用するテストという用語は4つの異なるエリアを有している。最初のエリア“Device Test”はデバイスメーカが出荷する前のデバイス11自体のテストである。
【0069】
第2のテストエリアは“Device Verification”−すなわちデバイスのあらゆる局面における完全な機能性の検証である。
【0070】
第3のテストエリアは“Device Characterization”である。これによりデバイスのタイミングを決定して実際に作られたデバイスの作動方法を厳密に規定する。
【0071】
第4のテストエリアは“User Test”である。ユーザテストでは、ボード全体をテストしてボード1043全体の状況におけるデバイス11の機能性が調べられる。
【0072】
各MPSDモジュールが2つのスキャンパスを有している。一方のスキャンパスはMPSDデータパスと呼ばれそれは通常モジュール中を一筋のビーズのようにシリアルに配線されたおびただしいシフトレジスタラッチS(もしくはSRL)を有している。第2のスキャンパスはMPSDコントロールパスと呼ばれ一般的にシフトレジスタラッチの数は少なくどのMPSDデータパスをスキャンすべきかをセレクトする。これらのスキャンパスについては前記した米国特許第4,860,290号に記載されている。
【0073】
図4および図6において、改良型エミュレーション構造は所望によりさまざまなクロックによりクロックされるいくつかの主エリアへデバイス11を分割できることを認識する。これらの主エリアはクロックドメインもしくは単に“ドメイン”と呼ばれる。デバイス11等のDSPデバイスのドメインはCPUコアドメイン1213、メモリおよび周辺装置(システム)ドメイン1215および解析ドメイン1217であることが適切である。別のチップについては、しばしば異なるクロックによりクロックされるチップ部分と矛盾しない方法でドメインを定義することができる。しかしながら、チップ設計、エミュレーションおよびテストをモジュール性とするために、通常モジュールは全体ドメインよりも小さいユニットとしなければならない。それによりモジュールをビルディングブロックとして使用する他のチップを設計する際のフレキシビリティが高くなり、モジュールへデータをスキャンするのに要する時間が短縮される(時間はモジュールサイズの非線形ベき関数である)。
【0074】
したがって、各ドメインには通常2つ以上のモジュールが含まれることが理解できるであろう。図4において、エミュレータアダプタ1203はさまざまなクロックをさまざまなドメインへ送ったりスキャンインターフェイスと特定ドメイン間のビット毎の転送を監視することができる。さらに、アダプタ1203はさまざまなMPSDコントロール信号をさまざまなドメインのコントロールパスへ送る。
【0075】
図6には、オンチップエミュレーションブロックも図示されておりJTAGコントロールはMPSD(Modular Port Scan Design)に従ってエミュレーション周りを取り囲んでいる。参照としてここに組み入れられている同じ譲受人の米国特許第4,701,921号にはモジュラスキャンテストの原理も開示されている。
【0076】
図5のJTAGコントロールは図6のJTAGコントロールブロック1201として示されている。MPSDに従ったエミュレーションコントロールはブロック1203として設けられている。テストコントロールブロック1205によりJTAGはMPSDへ連結される。シリアルスキャンライン1207によりシリアルビット流は図5のBSR1161を含むバウンダリスキャンエリア1211の1つ以上の選定エリアへ入力されデバイス11のピンバウンダリスキャンされる。図6のCPUコアドメイン1213、システムドメイン1215および解析ドメイン1217はチップのさまざまな部分の全てとインターフェイスする。
【0077】
図7によりデバイス11のドメインの全体像が得られる。CPUコアドメイン1213は参照として組み入れられた米国特許第5,072,418号の図1Aおよび図1Bの回路を含んでいる。後記するように、解析回路がCPUコアに接続されている。解析回路は停止制御用ハードウェアブレークポイントセンサ等の状態センサおよびリアルタイムレコード保持用トレーススタック回路を含んでいる。解析回路はシリアルスキャンアクセシブルであり解析ドメイン1217として示されている。メモリおよびシリアルおよびパラレルポートを含む全ての周辺装置がシステムドメイン1215として示されている。エミュレーションコントロール回路1203が図7のもう1つのドメインである。特殊なメッセージ通過回路1216もシステムもしくは解析ドメイン内に含まれておりプロセッサ11のデータバスを図2のシリアルスキャンライン1103へインターフェイスすることによりテストホスト1101とプロセッサ11間で容易に通信を行うことができる。これについて図14を参照として詳細に説明する。プログラムメモリ61およびデータメモリ25も図示されている。これらのメモリ部は1個のメモリとすることができるが、好ましくは別々のメモリである。本発明に従って、トレース領域99はユーザソフトウェアの制御の元でデータメモリ25内に画定される。トレース領域99のサイズはさまざまなデバッグタスクに対して変えることができる。
【0078】
図8にデバイス11のチップ上のさまざまなドメインの物理的な全体像を示す。デバイス11の実際のピン1161における全ての論理状態をリードもしくはライトできるようにするバウンダリスキャンレジスタ1211を含むシリアルバウンダリスキャンアセンブリを介してJTAGコントロール1201がピンとインターフェイスする。JTAG TAコントローラ1151およびJTAG命令レジスタIR1153がチップ上に設けられている。テストコントロール1205およびMPSDコントロール1203が回路に集積されている。MPSDコントロール1203はデバイス11のコア1213、システム1215および解析1217ドメインとシリアルにインターフェイスする。4つの端子1221の他に外部インターフェイス用の双方向ピンEMU0およびEMU1が設けられている。JTAG試験容易性インターフェイス技術を付加ピンEMU0およびEMU1付きMPSDモジュラポートスキャンと組み合わせることによりエミュレーション、ソフトウェア開発、および製造および現地試験プロセスを統合するケーパビリティが協同的に開始される。
【0079】
図7および図8において、実施例の開発システムケーパビリティはさまざまなテストケーパビリティを選定できるようにアプリケーション開発を支援するものである。開示された開発支援ハードウェアコンポーネントを全て使用することによりアプリケーションプログラムが実行を継続できるような並行性、チップブレークポイントおよびトレースを含む開発ケーパビリティが提供され、図2のエミュレーションコントローラ1101と図7のデバイス11間のリアルタイムメッセージ通過はコストに敏感なアプリケーションでは含めたり省いたりすることができる。例えば、基本的なシステムは基本的なMPSD(Modular Port Scan Desin)エミュレーションを支援するかあるいは極端な場合、エミュレーションは支援せずバウンダリスキャンを行うもしくは行わないテストしか支援しない。
【0080】
エミュレーション、シミュレーション、およびチップ速度測定エリアにおける総合的な開発システムの利点はさまざまなテストおよび機能的特徴と相互関連している。実施例には3つのアーキテクチュアがあり、それは、a)機能的アーキテクチュア(例えば、CPUメモリおよびI/O)、b)JTAGおよびMPSDシリアルスキャンベース試験容易性回路を含むテストアーキテクチュア、およびc)メッセージ通過回路、シミュレーション機能、およびバウンダリスキャンテスト等のエミュレーション/支援アーキテクチュアである。3つのアーキテクチュアによりCPU、メモリおよびI/Oの機能的アーキテクチュアのテストに関連する複雑さが最小限に抑えられテストとの協同性が最大とされる。
【0081】
図9は端子TDIおよびTDO間をスキャンするためにJTAG命令レジスタIR1153が選定されている図5のレジスタの全体像を示す線図である。IR1153は図5において復号されシリアルライン1103を介して図2のコントロールカード1141から要求されると他のシリアルシフトレジスタもしくはスキャンパスへアクセスする。これらのシフトレジスタはバイパスレジスタ1167、バウンダリスキャンレジスタ1161、図7のメッセージ周辺装置1216、エミュレーションコントロールレジスタ1251およびさまざまなドメイン内の1対のMPSDスキャンパス1252およびドメイン内のモジュールである。
【0082】
図10において、図9からのスキャン線1253はSCINとして示されこの線は各々が内部MUX選定により内部スキャンコントロールパスおよびスキャンデータパスへ分割されている3本のスキャンパス1252へ選択的に接続される。1組の外部MUX1261,1263および1265がエミュレーションコントロール1203からのロック信号LOCK(lock system domain),LOCKA(lock analysis domain),およびLOCKC(lock core domain)によりコントロールされ、存在する場合の、選定された1つのドメインを除く全ドメインをスキャンおよび実行の目的でバイパスする。ロックされたドメインには(後記する)MPSDコードが供給されておりドメインがロックされる期間中凍結されたままである。いずれか1つのドメイン(例えば、解析ドメイン)をスキャンする場合、その対応するMUX1263がASCIN線(analysis scan in data)をデセレクトしASCOUT線(analysisscanout)をセレクトする。このようにして、SCIN線へ入るシリアルスキャンビットはASCIN線上の解析ドメイン1217へ入り、ASCOUT線を介して解析ドメインを去り、他の2つのドメインをバイパスする。他の2つのドメインは同様にセレクトされる。スキャン出力は図10の底部においてSCOUT線を介してエグジットする。
【0083】
図11と図2および説明文は半導体チップおよびチップ上の電子プロセッサを含むデータ処理装置を有する電子システムを示すものである。前記したように、オフチップテストホストコンピュータ回路がJTAG等のテストポートを介してデータ処理装置に接続されている。データ処理装置11はさらにオフチップハードウェアブレークポイントアドレス回路、トレーススタック、パイプラインコントローラ状態感知回路および周期的トリガイベントや特定時間におけるトリガイベントの生成をリアルタイムでプロセッサへ知らせ、テストホストコンピュータにも知らせる、ためのカウンタ1715を含む他のオフチップ状態センサを有している。図11の回路は1例にすぎず、当業者であればここに記載した原理に従ってさまざまな変更を行っていかなる論理的組合せの状態に対してもセンサ論理を提供していかなる複雑な組合せの状態もしくは一連の状態の発生をも感知できるようにすることができる。ブレークポイント信号は前記したように停止信号ANASTPもしくは感知された論理/機能状態に応答する停止信号以外の他の任意のコントロール信号とすることができる。
【0084】
図12において、図11の解析回路の作動方法がSTART1721で開始されステップ1725へ進んで命令取得を感知する。ステップ1727においてサブルーチン呼び出しが感知され、ステップ1729においてReturnが感知される。ステップ1731において、割込状態が感知される。ステップ1733においてブレークポイントプログラムアドレスが感知され、ステップ1735においてブレークポイントデータアドレスが感知される。ステップ1737において、トレーススタック満杯状態が感知される。次にステップ1739において例えば図11のシフトレジスタ1711およびロック1703(1703.1−1703.8)を使用してどの状態が関連するかセレクトされる。セレクトされた状態のカウントがステップ1741において保持される。判断ステップ1743においてカウントが所定のカウントNを越えるか確認され越える場合には、カウントNに達したという信号がステップ1745において出力される。オペレーションはステップ1743もしくは1745からステップ1747へ進みそこからデバイス11の動作速度よりも低い速度で外部処理装置へ出力が与えられる。ステップ1749において、この出力はホストコンピュータへ接続されそこでオペレーションはSTART1721へ戻って無限にステップが繰り返される。
【0085】
図13において、ブレークポイントセンサ1697の回路は図11の解析回路へBPPA(program address breakpoint)信号を与える。この回路はBPDA(data address breakpoint)信号を発生するブレークポイントセンサについても繰り返すことが適切である。
【0086】
図13において、プログラムアドレスバス101Aがデジタルコンパレータ1811に接続されている。最上位ビットMSBおよび最下位ビットLSBを有する解析ドメイン内のもう1つのレジスタ1813へ基準値がスキャンロードされる。また、レジスタ1813はデジタルプロセッサ11で実行されているコードの制御の元でデータバス111Dからロードすることもできる。アドレスバス101A上に表明されるプログラムアドレスがレジスタ1813の内容と同じであれば、コンパレータ1811はBPPA線上のブレークポイントアドレスの発生を示す出力を発生する。
【0087】
ブレークポイント回路のさらに有利な特徴として、ブレークポイントはレジスタ1813の最上位ビットMSBにより示されるような選定されたアドレス群内の任意のアドレスとすることができる。このような場合、スキャナブルマスクレジスタLSBENがスキャンロードされレジスタ1813のLSBビットに対するコンパレータ1811の応答をディセーブルする。このマスク状態において最上位ビットだけがコンパレータ1811により比較され、特別なアドレス範囲内のプログラムアドレスの発生時にブレークポイントが与えられる。
【0088】
ブレークポイントのためのスキャナブルレジスタ1813はデータバス111Dへ接続する必要がない。しかしながら、このレジスタ1813は図2のエミュレーション/シミュレーション/テストホストコンピュータ1101とターゲットデバイスのデータバス111D間のメッセージ通過アクセスのために再使用するのが有利である。メッセージ通過機能はブレークポイント感知を生じる必要がない場合に使用され、逆の場合もあり、レジスタ1813は色々な時にさまざまな機能を実施できるようにされる。
【0089】
図14はチップ上に配置されたメッセージ通過回路1216のブロック図を示す。メッセージ通過回路1216は解析ドメイン1217、コアドメインと相互接続されエミュレーションアダプタ1203およびスキャンコントロール1149と連絡されている。割込発生回路1943はまたメッセージ通過回路1216の残りをデバイス11内の16本の割込線とインターフェイスさせる。図9および図14のシリアルスキャンパスはメッセージ通過回路1216を作動させるコマンドを入力し状態情報をスキャンアウトするためにシフトレジスタ1923CMD/STATUSへシリアルデータSCAN INを入力させる。シリアルパスは16BIT DATA REGISTERとして示すもう1つのシリアルレジスタ1925へ続いておりそこでスキャンパスはSCAN OUT線へエグジットする。シリアルレジスタ1925の機能は解析ドメイン内の図13のレジスタ1813により実現することができ再使用原理によりメッセージ通過に必要なチップの実際の領域は一般的に最小限に抑えられる。
【0090】
シリアルレジスタ1925は3本のパスの中の1本をセレクトしてレジスタ1925へロードするMUX1931の出力に接続されている。これらのパスの2本は図7のTIBUS周辺バスのデータおよびアドレスバスである。図14においてデータ部は1935で示されアドレス部は1937で示されている。通信レジスタバス1939と呼ばれる第3のパスが通信レジスタ1941に接続されている。
【0091】
メッセージ通過回路1216はシミュレート周辺アクセス、AP(attached processor)としてのテストホストコンピュータ1101との通信I/O(入出力)、およびテストホストコンピュータ1101とデバイス11間のデータ構造転送に有用である。
【0092】
メッセージ通過回路1216の構造および動作をテストホスト交換の例に関連してさらに説明する。周辺アクセスもしくは他の外部への通信が開始されるとデバイス11はMUX1931を介してレジスタ1925をパラレルロードする。テストホストコンピュータ1101はレジスタ1925へデータをスキャンダウンロードするかもしくは信号をハンドシェークすることができる。周辺バスへデータを運ぶために、レジスタ1925は通信レジスタ1941へロードされるようにMUX1945によりセレクトされる。次に通信レジスタ1941はMUX1955および出力バッファ1947を介してTIBUS周辺バスのデータバス部1935へデータを送る。
【0093】
MUX1945は逆データ転送を行うこともできそこではTIデータバス1935を介した外部への通信は入力1951においてMUX1945に達し通信レジスタ1941、通信レジスタバス1935およびMUX1931を介して16ビットデータレジスタ1925へ連絡される。
【0094】
MUX1955は通信レジスタバス1939もしくはデータレジスタ1925に直接接続されたもう1つのバス1961をセレクトする。このようにして、レジスタ1925からパス1961、MUX1955および出力バッファ1947を介してTIデータバスへより直接的にデータを通信することができる。
【0095】
バッファ状態フラグがデバイス11のハードウェア1965からリード/ライト信号R/Wと共にCMD/STATUSレジスタ1923へ送られホストコンピュータ1101へスキャンアウトされる。ホストコンピュータはこれらのバッファ状態フラグを受信して、ME線上のその“偽装”返答を含めた、周辺装置をシミュレートする返答コマンド信号を返送する。
【0096】
レジスタ1923からのコマンドビットのいくつかはコマンドデコーダCMDDEC1971へ送られる。デコーダ1971はコマンドを復号してMUXへのオペレーション出力線OPO...OPNおよびメッセージ通過回路1216のレジスタを選択的に活性化させコマンドに従って回路を作動させる。したがって、プロセッサレベルの精巧さおよびフレキシビリティをメッセージ通過回路1216内で利用することができる。さらに別の局面において、MUX1945は周辺バスTIBUSのデータ部に接続された入力1951を有しさらにフレキシビリティが増す。レジスタ1925は割込発生ブロック1943に接続されデバイス11の割込状態もホストコンピュータ1101からスキャンロードできるようにされる。
【0097】
レジスタUID1981がデータバス1935に接続されている。もう1つのレジスタJID1983がデータレジスタ1925に接続されている。レジスタUIDおよびJIDの出力はタスク識別比較回路1985へ与えられる。識別が一致すると、出力信号TSKOKが出力される。したがって、メッセージ通過回路はそのワークを完了している場合情報を有利に利用できる任意の回路へその内部状態を知らせることができる。例えば、タスクOK信号TSKOKを使用して図11の12ビットダウンカウンタ1715に保持されているSUSPENDを解除することができる。
【0098】
本発明に従って、CPU11を停止させずにエミュレーションおよびシミュレーション機能を実施し、割込みをサービスして他の機能を実施するその能力を保存したいというニーズがある。このケーパビリティは通常コアを停止させて替わりに保存された位置へトラップを呼び出すトリガイベントを設定して実現される。ユーザはトレースモニタプログラムをユーザソフトウェアへリンクしてトラップをサービスする。トラップが生じると、モニタプログラムは内部もしくは外部メモリ内の図7のトレース領域99へ1つ以上の関連データアイテムを転送する。トレースモニタはいくつかのデータアイテムをトレース領域へ格納して領域が満杯になったら全てテストホストへ転送するか、もしくはデータを捕捉次第テストホストへ転送することができる。
【0099】
トレースモニタはTIBUSアドレススペースに常駐するアドレスを有するメッセージ通過レジスタ1925等のTIBUS周辺装置を介してテストホストコンピュータ1101と通信する。トレースモニタはデータを転送できることをテストホストへ知らせ次にテストホストがデータを転送する。この通知信号は、例えば、状態レジスタ1923へ書き込まれる1ビットとすることができる。また、通知信号はデータレジスタ1925へ書き込まれる特定のデータパターンもしくはデータビットとすることができる。レジスタ1925へデータアイテムを書き込み通知信号を送出した後で、トレースモニタはアプリケーションプログラムへ戻りトレースモニタが僅かな時間しか使用しないようにする。テストホストがシリアル線1103を介してプロセッサ11のテストポートからデータアイテムを受信すると、テストホスト1101はシリアル線1103を介してハンドシェーク信号を戻しプロセッサ11がメッセージ通過レジスタ1925へ別のデータアイテムを書き込めることを示す。メッセージ通過回路1216は発生器1943へ割込みを設定することによりハンドシェーク信号が受信されていることをトレースモニタへ知らせることができる。割込みは、例えば、レジスタ1923に状態ビットを設定するかコマンドデコーダ1971でコマンドを復号して行うことができる。
【0100】
図15にプロセッサ11が、例えば、シリアルバスとすることができる配線2103を介してホストプロセッサ2101に接続されたスタンドアロンプロセッサである別の実施例を示す。メッセージレジスタ1925が配線2103とインターフェイスしておりトレース領域99に格納されたデータアイテムがCPU1213で実行されるソフトウェアの制御の元でホストプロセッサ2101に対して送受信できるようにCPU1213によりコントロールされる。ホストプロセッサ2101はホストプロセッサ1101について前記したテスト支援機能を実施する。トレース領域99はCPU1213で実行されるソフトウェアによりダイナミックに画定される。トレース領域99はメモリ25から物理的に分離されておらず、メモリ25内の画定された領域にすぎない。
【0101】
本発明に従って、CPU11を停止させずにエミュレーションおよびシミュレーション機能を実施し、割込みをサービスして他の機能を実施するその能力を保存したいというニーズがある。このケーパビリティは保存された位置へトラップを呼び出すトリガイベントを設定して実現される。ユーザはトレースモニタプログラムをユーザソフトウェアへリンクしてトラップをサービスする。トラップが生じると、モニタプログラムはトレース領域99へ1つ以上の関連データアイテムを転送する。トレースモニタはいくつかのデータアイテムをトレース領域へ格納して領域が満杯になったら全てテストホスト2101へ転送するか、もしくはデータを捕捉次第テストホストへ転送することができる。
【0102】
本発明の利点はトレース領域99内にさまざまなデータアイテムを格納するモニタプログラムをユーザが生成することができプログラムのデバッギングに役立つことである。さまざまなトリガイベントを利用してモニタプログラムがトレース領域99にさまざまなデータアイテムを格納するようにすることができる。
【0103】
本発明のもう1つの利点はプロセッサ11の一部であるイベント検出回路によりトリガを開始できることである。したがって、プロセッサ11は外部モニタハードウェアを必要とせずにそれ自体をアクティブに解析することができる。
【0104】
本発明のもう1つの利点はトリガイベントが生じると、トレースモニタプログラムがアドレスバウンドチェック等の付加処理を実施し、プログラムカウンタを評価し、他のプロセッサ状態レジスタをチェックする等によりどのルーチンがデータアイテムを書き込んだかを確認できることである。
【0105】
本発明のもう1つの利点はトレースモニタプログラムのオペレーションを変えて内部レジスタ修正、トレース領域99内のエラー状態セーブ、CPU1213停止等のさまざまな最終結果を得ることである。
【0106】
ここで使用した“適用した”、“接続した”、“接続”という用語は、電気接続パスに付加素子がある場合を含めた、電気的接続を意味する。
【0107】
実施例について説明してきたが、明細書は制約的意味合いを有するものではない。当業者であれば明細書を読めば他のさまざまな実施例が自明であるものと思われる。したがって、発明の真の範囲および精神に含まれる実施例の修正は全て特許請求の範囲に入るものとする。
以上の説明に関して更に以下の項を開示する。
【0108】
(1) デジタルプロセッサのテスト方法であって、前記デジタルプロセッサはメモリ部およびテストポートを有し、該方法は、前記メモリ部をトレース領域として画定するステップと、予め選定されたイベントが生じるまで前記デジタルプロセッサでアプリケーションプログラムを実行するステップと、前記予め選定されたイベントに応答して前記トレース領域内の位置に少なくとも1つのデータアイテムを格納して前記デジタルプロセッサは前記データアイテムが格納された後でも前記アプリケーションプログラムを実行し続けるようにするステップと、前記テストポートを介してテストホストプロセッサへ前記データアイテムを転送して前記デジタルプロセッサは前記データアイテムが転送された後でも前記アプリケーションプログラムを実行し続けるようにするステップとを含むデジタルプロセッサのテスト方法。
【0109】
(2) 第1項記載の方法であって、前記データアイテムを格納するステップはさらに前記データプロセッサの制御の元で実行される命令により前記データアイテムを前記トレース領域に格納するステップを含むデジタルプロセッサのテスト方法。
【0110】
(3) 第1項記載の方法であって、前記デジタルプロセッサはさらにメッセージ通過レジスタを具備し前記データアイテムを転送するステップはさらに前記データプロセッサの制御の元で実行される命令により前記データアイテムを前記トレース領域から前記メッセージ通過レジスタへ移すステップを含むデジタルプロセッサのテスト方法。
【0111】
(4) 第1項記載の方法であって、少なくとも1つのデータアイテムを格納するステップはさらに、前記トレース領域が満杯であるかを確認するステップと、前記トレース領域が満杯である場合に前記テストホストプロセッサへ通知メッセージを送るステップを含むデジタルプロセッサのテスト方法。
【0112】
(5) 第4項記載の方法であって、前記データアイテムを格納するステップは少なくとも1度繰り返されるデジタルプロセッサのテスト方法。
【0113】
(6) 第1項記載の方法であって、前記データアイテムはメモリアドレスであるデジタルプロセッサのテスト方法。
【0114】
(7) 第1項記載の方法であって、前記データアイテムはプログラムカウンタアドレスであるデジタルプロセッサのテスト方法。
【0115】
(8) 第1項記載の方法であって、前記データアイテムはレジスタ内容であるデジタルプロセッサのテスト方法。
【0116】
(9) 第1項記載の方法であって、前記予め選定されたイベントはアプリケーションプログラム実行不連続性であるデジタルプロセッサのテスト方法。
【0117】
(10) 第1項記載の方法であって、前記予め選定されたイベントはアドレスブレークポイントであるデジタルプロセッサのテスト方法。
【0118】
(11) 所定のイベントに応答してデジタルプロセッサ11が実行するユーザが定義可能なプログラムの制御の元でデジタルプロセッサからテストホストプロセッサへトレースデータを転送するのにテストポート1149が使用されるデジタルプロセッサのテスト方法。プログラムメモリ61にロードされたアプリケーションプログラムがデジタルプロセッサにより実行される間にトレースデータが集められる。トリガイベントに応答してデジタルプロセッサによりバックグラウンド式に実行されるユーザ定義可能なコードによりデータメモリ25のトレース領域99にトレースデータが一時的に格納される。解析ハードウェア1217のさまざまな部分をイネーブルするユーザ定義可能なコードによりトリガイベントもイネーブルされる。メッセージ通過レジスタ1216によりテストホストプロセッサへ通知信号を送ることによりテストポート1149を介してデジタルプロセッサからテストホストプロセッサへトレースデータが転送される。次にデジタルプロセッサはテストホストプロセッサからのハンドシェーク信号についてメッセージ通過レジスタを監視する。ハンドシェーク信号が受信されると、ユーザ定義可能なコードによりバックグラウンド式にメッセージ通過レジスタへトレースデータが書き込まれテストホストプロセッサへ転送される。
【図面の簡単な説明】
【図1】集積回路チップおよびソフトウェアを開発する従来の開発ツールの絵画図。
【図2】エミュレーション、シミュレーション、試験容易性およびデータ処理、I/O通信および周辺アクセスのためのAP(attached processpr)の従来のシステム構成を示す部分絵画、部分ブロック図。
【図3】図2のホストコンピュータの従来のソフトウェア構成を示す線図。
【図4】テストおよびエミュレーション回路への従来の統合方法を示すブロック図。
【図5】従来のスキャン試験容易性インターフェイスを示す部分ブロック、部分模式図。
【図6】従来のチップ上のプロセッサチップドメイン、バウンダリスキャンおよびスキャンテスト/エミュレーション回路を示すブロック図。
【図7】さまざまなドメインへ割り当てられたチップの機能ブロック、および本発明によるトレース領域およびメッセージ通過回路を示す図6のプロセッサチップのブロック図。
【図8】図6および図7の従来のプロセッサチップの部分絵画、部分ブロック図。
【図9】図5の従来のスキャンパスの詳細ブロック図。
【図10】図9の従来のスキャンパスの詳細ブロック図。
【図11】従来の集積回路デバイスの動作をモニタする解析回路のブロック図。
【図12】図11の従来の解析回路の動作を示すプロセスフロー図。
【図13】従来のハードウェアブレークポイント回路のブロック図。
【図14】図7の従来のメッセージ通過回路のブロック図。
【図15】プロセッサをスタンドアロンプロセッサとすることができる別の実施例を示す図。
【符号の説明】
11 プロセッサデバイス
1043 回路板
1044 アプリケーションホストコンピュータ
1101 ホストコンピュータ
1111 評価モジュール
1113 アナログインターフェイスボード
1123 Cコンパイラ
1127 アセンブラ
1129 リンカ
1131 シミュレータ
1141 エミュレータコントローラカード
1143 電気通信モデム
1145 ハードディスク
1147 プリンタ
1149 JTAGインターフェイス
1150 SCOPEインターフェイス
1151 TAPコントローラ
1153 命令レジスタ
1161,1211 バウンダリスキャンレジスタ
1165 特定設計テストデータレジスタ
1167 バイパスレジスタ
1171,1173 マルチプレクサ
1175 フリップフロップ
1177 シリアルリターン回路
1201 JTAGコントロール
1203 エミュレータアダプタ
1205 テストコントロール
1216 メッセージ通過回路
1217 解析
1221 JTAG端子
1251 エミュレーションコントロールレジスタ
1261,1263,1265 外部MUX
1697 ブレークポイントセンサ
1715 カウンタ
1811 デジタルコンパレータ
1813 スキャナブルレジスタ
1923,1925 シフトレジスタ
1931,1945,1955 MUX
1941,1981 レジスタ
1943 割込み発生回路
1947 出力バッファ
1965 ハードウェア
1971 デコーダ
1985 タスク識別比較回路
2101 ホストプロセッサ

Claims (11)

  1. デジタルプロセッサのテスト方法であって、前記デジタルプロセッサはメモリ部と、外部からシリアル接続されるテスト入力信号端子及びテスト出力信号端子を有するテストポートと、前記テストポートにシリアルに接続され内部バスを介してデジタルプロセッサにパラレルに接続されたデータレジスタ及び状態レジスタと、を有し、該方法は、
    所定のイベントが生じるまで前記デジタルプロセッサでアプリケーションプログラムを実行し、
    前記デジタルプロセッサで実行されるトレースモニタプログラムに従い、前記所定のイベントに応答して前記メモリ部に画定したトレース領域に、前記内部バスを介してデバック対象である前記デジタルプロセッサ内部のデータアイテムを格納し、
    前記内部バスを介して前記データアイテムを前記データレジスタに格納し、少なくとも1ビットからなる通知信号を前記状態レジスタへ格納し、
    前記テストポートを介して前記テスト出力信号端子に前記状態レジスタの前記通知信号をシリアルに読み出し、
    前記テストポートを介して前記テスト出力信号端子に前記データレジスタの値をシリアルに読み出し、
    前記トレースモニタプログラムの実行終了後、前記デジタルプロセッサでアプリケーションプログラムの実行を継続して行う、
    ステップを有するデジタルプロセッサのテスト方法。
  2. 前記データレジスタが、前記デジタルプロセッサのトラップのためのブレイクポイントイベントを格納するレジスタを含み、前記テスト入力信号端子にブレイクポイントイベントを示すデータを受け取り、前記テストポートを介して前記レジスタにシリアルに設定するステップをさらに有する、請求項1に記載のデジタルプロセッサのテスト方法。
  3. 前記デジタルプロセッサが、前記テストポートにシリアルに接続され、前記ブレイクポイントイベントのマスクデータを格納するマスクレジスタを含み、前記テスト入力信号端子に前記マスクデータを受け取り、前記テストポートを介して前記マスクレジスタにシリアルに設定するステップをさらに有する、請求項2に記載のデジタルプロセッサのテスト方法。
  4. 前記通知信号は前記データレジスタに前記データアイテムが格納されたことを外部デバッガーへ通知する信号である、請求項1乃至3のいずれか一つに記載のデジタルプロセッサのテスト方法。
  5. 前記所定のイベントが、前記デジタルプロセッサが実行するプログラムのアドレスが一定値になったことである請求項1乃至4のいずれか一つに記載のデジタルプロセッサのテスト方法。
  6. 前記所定のイベントが、前記デジタルプロセッサがアクセスするデータが一定値になったことである請求項1乃至4のいずれか一つに記載のデジタルプロセッサのテスト方法。
  7. 前記トレース領域に前記データアイテムを格納するステップを、前記トレース領域が満杯になるまで行う請求項1乃至6のいずれか一つに記載のデジタルプロセッサのテスト方法。
  8. (ア)アプリケーションプログラム及びトレースモニタプログラムを実行するデジタルプロセッサと、
    (イ)メモリ部と、
    (ウ)前記トレースモニタプログラムにより前記メモリの所定の領域に定義されるトレース領域であって、前記トレースモニタプログラムに従い、デバッグ対象である前記デジタルプロセッサ内部のデータアイテムが格納される、前記トレース領域と、
    (エ)シリアル接続のためのテスト入力信号端子及びテスト出力信号端子を有するテストポートと、
    (オ)前記テストポートにシリアルに接続され、内部バスを介して前記デジタルプロセッサにパラレルに接続されており、前記トレース領域に格納された前記データアイテムを格納するデータレジスタと、
    (カ)前記テストポートにシリアルに接続され、内部バスを介して前記デジタルプロセッサにパラレルに接続されており、少なくとも1ビットからなる通知信号を格納する状態レジスタと、
    を有する半導体装置。
  9. 前記データレジスタが、前記データアイテムに加え前記デジタルプロセッサのトラップのためのブレイクポイントイベントを格納するレジスタを含む、請求項8に記載の半導体装置。
  10. 前記テストポートにシリアルに接続され、前記ブレイクポイントイベントのマスクデータを格納するマスクレジスタを含む、請求項9に記載の半導体装置。
  11. 前記通知信号は前記データレジスタに前記データアイテムが格納されたことを外部デバッガーへ通知する信号である、請求項8乃至10のいずれか一つに記載の半導体装置。
JP33416296A 1995-12-14 1996-12-13 デジタルプロセッサのテスト方法 Expired - Lifetime JP4126105B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US861795P 1995-12-14 1995-12-14
US008617 1995-12-14

Publications (2)

Publication Number Publication Date
JPH10340203A JPH10340203A (ja) 1998-12-22
JP4126105B2 true JP4126105B2 (ja) 2008-07-30

Family

ID=21732636

Family Applications (1)

Application Number Title Priority Date Filing Date
JP33416296A Expired - Lifetime JP4126105B2 (ja) 1995-12-14 1996-12-13 デジタルプロセッサのテスト方法

Country Status (2)

Country Link
US (1) US5884023A (ja)
JP (1) JP4126105B2 (ja)

Families Citing this family (57)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5535331A (en) * 1987-09-04 1996-07-09 Texas Instruments Incorporated Processor condition sensing circuits, systems and methods
US6282506B1 (en) * 1996-02-20 2001-08-28 Matsushita Electric Industrial Co., Ltd. Method of designing semiconductor integrated circuit
US6324614B1 (en) * 1997-08-26 2001-11-27 Lee D. Whetsel Tap with scannable control circuit for selecting first test data register in tap or second test data register in tap linking module for scanning data
EP0826974B1 (en) * 1996-08-30 2005-10-19 Texas Instruments Incorporated Device for testing integrated circuits
US6065078A (en) * 1997-03-07 2000-05-16 National Semiconductor Corporation Multi-processor element provided with hardware for software debugging
JP3151808B2 (ja) * 1997-07-16 2001-04-03 日本電気株式会社 集積回路装置、回路検査装置および方法
US6279123B1 (en) * 1997-09-15 2001-08-21 Lucent Technologies, Inc. System for viewing and monitoring embedded processor operation
US6016557A (en) * 1997-09-25 2000-01-18 Lucent Technologies, Inc. Method and apparatus for nonintrusive passive processor monitor
US6026497A (en) * 1997-12-23 2000-02-15 Sun Microsystems, Inc. System and method for determining the resolution of a granular clock provided by a digital computer and for using it to accurately time execution of computer program fragment by the digital computer
US6405335B1 (en) 1998-02-25 2002-06-11 Texas Instruments Incorporated Position independent testing of circuits
US6110225A (en) * 1998-07-10 2000-08-29 Agilent Technologies Inverse assembler with reduced signal requirements using a trace listing
US6182280B1 (en) * 1998-07-10 2001-01-30 Agilent Technologies Inverse assembler with reduced signal requirements with a user supplied memory map
US6185523B1 (en) * 1998-10-05 2001-02-06 International Business Machines Corporation Apparatus and method for computer system interrupt emulation
US6543048B1 (en) * 1998-11-02 2003-04-01 Texas Instruments Incorporated Debugger with real-time data exchange
US6230313B1 (en) * 1998-12-23 2001-05-08 Cray Inc. Parallelism performance analysis based on execution trace information
US6820051B1 (en) * 1999-02-19 2004-11-16 Texas Instruments Incorporated Software emulation monitor employed with hardware suspend mode
US6557116B1 (en) * 1999-02-19 2003-04-29 Texas Instruments Incorporated Emulation suspension mode with frame controlled resource access
US6598150B2 (en) * 1999-02-26 2003-07-22 Arm Limited Asynchronously accessing the program counter values of a data processing system by applying an independent clock on the latching and scan-chain circuits
US7058862B2 (en) * 2000-05-26 2006-06-06 Texas Instruments Incorporated Selecting different 1149.1 TAP domains from update-IR state
US6691079B1 (en) * 1999-05-28 2004-02-10 Ming-Chih Lai Method and system for analyzing test coverage
US6615344B1 (en) 1999-09-03 2003-09-02 Infineon Technologies North America Corp. System and method for tracking selectively enabling modules used in an integrated processor using a tracking register providing configuration information to an external pin
US6567932B2 (en) * 1999-10-01 2003-05-20 Stmicroelectronics Limited System and method for communicating with an integrated circuit
US6918065B1 (en) * 1999-10-01 2005-07-12 Hitachi, Ltd. Method for compressing and decompressing trace information
US6732307B1 (en) 1999-10-01 2004-05-04 Hitachi, Ltd. Apparatus and method for storing trace information
US6684348B1 (en) 1999-10-01 2004-01-27 Hitachi, Ltd. Circuit for processing trace information
US6598177B1 (en) * 1999-10-01 2003-07-22 Stmicroelectronics Ltd. Monitoring error conditions in an integrated circuit
US6601189B1 (en) * 1999-10-01 2003-07-29 Stmicroelectronics Limited System and method for communicating with an integrated circuit
US6487514B1 (en) * 1999-12-22 2002-11-26 Koninklijke Philips Electronics N.V. System and method for computer controlled interaction with integrated circuits
US6728915B2 (en) 2000-01-10 2004-04-27 Texas Instruments Incorporated IC with shared scan cells selectively connected in scan path
US6769080B2 (en) 2000-03-09 2004-07-27 Texas Instruments Incorporated Scan circuit low power adapter with counter
US6643796B1 (en) * 2000-05-18 2003-11-04 International Business Machines Corporation Method and apparatus for providing cooperative fault recovery between a processor and a service processor
US7007187B1 (en) * 2000-06-30 2006-02-28 Intel Corporation Method and apparatus for an integrated circuit having flexible-ratio frequency domain cross-overs
US6912673B1 (en) 2001-02-02 2005-06-28 Cradle Technologies, Inc. Bus analyzer unit with programmable trace buffers
JP2002236153A (ja) * 2001-02-08 2002-08-23 Mitsubishi Electric Corp 半導体試験装置および半導体装置の試験方法
KR100802606B1 (ko) * 2001-04-13 2008-02-13 엘지전자 주식회사 데이터의 천이 상태에 따른 디버깅 장치 및 방법
US6829730B2 (en) * 2001-04-27 2004-12-07 Logicvision, Inc. Method of designing circuit having multiple test access ports, circuit produced thereby and method of using same
US6931492B2 (en) * 2001-11-02 2005-08-16 International Business Machines Corporation Method for using a portion of the system cache as a trace array
GB2383437B (en) * 2001-12-20 2004-02-04 Sun Microsystems Inc System trace unit
US7046536B2 (en) * 2002-05-29 2006-05-16 Micron Technology, Inc. Programable identification circuitry
US7343591B2 (en) * 2002-08-01 2008-03-11 Texas Instruments Incorporated Real-time data exchange on demand
US20040117690A1 (en) * 2002-12-13 2004-06-17 Andersson Anders J. Method and apparatus for using a hardware disk controller for storing processor execution trace information on a storage device
US20040153813A1 (en) * 2002-12-17 2004-08-05 Swoboda Gary L. Apparatus and method for synchronization of trace streams from multiple processors
US20040133386A1 (en) * 2002-12-17 2004-07-08 Swoboda Gary L. Apparatus and method for trace stream identification of a pause point in code execution sequence
US7565576B2 (en) * 2003-04-17 2009-07-21 Seagate Technology Llc Method and apparatus for obtaining trace data of a high speed embedded processor
US20050172178A1 (en) * 2004-01-15 2005-08-04 Elias Gedamu Cache-testable processor identification
US20050159925A1 (en) * 2004-01-15 2005-07-21 Elias Gedamu Cache testing for a processor design
US20050172182A1 (en) * 2004-01-15 2005-08-04 Elias Gedamu Optimal operational voltage identification for a processor design
US7434205B1 (en) 2004-02-19 2008-10-07 Steenhagen Shawn K Virtual type interpretation, interaction and detection
US7395471B2 (en) * 2004-06-17 2008-07-01 Texas Instruments Incorporated Connection of auxiliary circuitry to tap and instruction register controls
US9759771B2 (en) 2004-06-17 2017-09-12 Texas Instruments Incorporated TAP and auxiliary circuitry with auxiliary output multiplexer and buffers
US8006082B2 (en) * 2008-09-29 2011-08-23 Intel Corporation Dynamically reconfiguring platform settings
WO2012098434A1 (en) * 2011-01-21 2012-07-26 Freescale Semiconductor, Inc. Method, system, and computer program product
US8914673B2 (en) * 2012-02-20 2014-12-16 Microsoft Corporation Distributed testing within a serial testing infrastructure
US9710349B2 (en) * 2013-11-05 2017-07-18 Texas Instruments Incorporated Storing first computer trace information in memory of second computer
CN106095691A (zh) * 2016-06-28 2016-11-09 国营芜湖机械厂 一种应用于机载处理器模块的软件替代测试方法
US10732869B2 (en) * 2018-09-20 2020-08-04 Western Digital Technologies, Inc. Customizing configuration of storage device(s) for operational environment
CN114077566B (zh) * 2020-08-20 2023-10-13 富联精密电子(天津)有限公司 用于上位机与cpld之间数据处理的系统及方法

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0637433B2 (ja) * 1985-04-08 1994-05-18 日本エステル株式会社 テレフタル酸グリコールエステルの製造法
US4701921A (en) * 1985-10-23 1987-10-20 Texas Instruments Incorporated Modularized scan path for serially tested logic circuit
US4872169A (en) * 1987-03-06 1989-10-03 Texas Instruments Incorporated Hierarchical scan selection
US4912636A (en) * 1987-03-13 1990-03-27 Magar Surendar S Data processing device with multiple on chip memory buses
US5329471A (en) * 1987-06-02 1994-07-12 Texas Instruments Incorporated Emulation devices, systems and methods utilizing state machines
US4860290A (en) * 1987-06-02 1989-08-22 Texas Instruments Incorporated Logic circuit having individually testable logic modules
US5535331A (en) * 1987-09-04 1996-07-09 Texas Instruments Incorporated Processor condition sensing circuits, systems and methods
US5072418A (en) * 1989-05-04 1991-12-10 Texas Instruments Incorporated Series maxium/minimum function computing devices, systems and methods
US5263143A (en) * 1988-07-11 1993-11-16 Star Semiconductor Corporation Real time probe device for internals of signal processor
US5084874A (en) * 1988-09-07 1992-01-28 Texas Instruments Incorporated Enhanced test circuit
JPH04345906A (ja) * 1991-05-24 1992-12-01 Toshiba Corp 磁気ヘッドおよびその製造方法
US5425036A (en) * 1992-09-18 1995-06-13 Quickturn Design Systems, Inc. Method and apparatus for debugging reconfigurable emulation systems
US5621651A (en) * 1994-03-09 1997-04-15 Texas Instruments Incorporated Emulation devices, systems and methods with distributed control of test interfaces in clock domains
JPH07271629A (ja) * 1994-03-29 1995-10-20 Mitsubishi Electric Corp マイクロコンピュータ
US5809293A (en) * 1994-07-29 1998-09-15 International Business Machines Corporation System and method for program execution tracing within an integrated processor

Also Published As

Publication number Publication date
US5884023A (en) 1999-03-16
JPH10340203A (ja) 1998-12-22

Similar Documents

Publication Publication Date Title
JP4126105B2 (ja) デジタルプロセッサのテスト方法
US6546505B1 (en) Processor condition sensing circuits, systems and methods
US5329471A (en) Emulation devices, systems and methods utilizing state machines
US6522985B1 (en) Emulation devices, systems and methods utilizing state machines
US5805792A (en) Emulation devices, systems, and methods
US6704895B1 (en) Integrated circuit with emulation register in JTAG JAP
US5479652A (en) Microprocessor with an external command mode for diagnosis and debugging
US5621651A (en) Emulation devices, systems and methods with distributed control of test interfaces in clock domains
US5841670A (en) Emulation devices, systems and methods with distributed control of clock domains
US6539497B2 (en) IC with selectively applied functional and test clocks
US6085336A (en) Data processing devices, systems and methods with mode driven stops
US6760866B2 (en) Process of operating a processor with domains and clocks
US5708773A (en) JTAG interface system for communicating with compliant and non-compliant JTAG devices
US6920416B1 (en) Electronic systems testing employing embedded serial scan generator
EP0652516A1 (en) Integrated microprocessor
US20040193957A1 (en) Emulation devices, systems and methods utilizing state machines
US6041176A (en) Emulation devices utilizing state machines
CN1312588C (zh) 基于目标机上的ejtag部件的交叉调试器实现方法
US20040250150A1 (en) Devices, systems and methods for mode driven stops notice
EP0411904A2 (en) Processor condition sensing circuits, systems and methods
US6349392B1 (en) Devices, systems and methods for mode driven stops
JP2008507025A (ja) 集積回路テスト用エミュレーション及びデバッグインターフェイス
EP0685793A2 (en) Emulation device, system and method with distributed control of test interfaces in clock domains
JP4213306B2 (ja) 半導体試験用プログラムデバッグ装置
Winters Using IEEE-1149.1 for in-circuit emulation

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20031215

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20040601

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040618

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20040921

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20040927

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20050301

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080327

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080512

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20110516

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120516

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130516

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20130516

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term