JP2001356930A - エミュレータ・目標デバイス間接続の自動検出方法および装置 - Google Patents

エミュレータ・目標デバイス間接続の自動検出方法および装置

Info

Publication number
JP2001356930A
JP2001356930A JP2001109234A JP2001109234A JP2001356930A JP 2001356930 A JP2001356930 A JP 2001356930A JP 2001109234 A JP2001109234 A JP 2001109234A JP 2001109234 A JP2001109234 A JP 2001109234A JP 2001356930 A JP2001356930 A JP 2001356930A
Authority
JP
Japan
Prior art keywords
integrated circuit
terminals
terminal
target
circuit device
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.)
Abandoned
Application number
JP2001109234A
Other languages
English (en)
Inventor
Gary L Swoboda
エル、スウォボダ ゲーリー
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.)
Texas Instruments Inc
Original Assignee
Texas Instruments Inc
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 Texas Instruments Inc filed Critical Texas Instruments Inc
Publication of JP2001356930A publication Critical patent/JP2001356930A/ja
Abandoned legal-status Critical Current

Links

Landscapes

  • Tests Of Electronic Circuits (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Debugging And Monitoring (AREA)

Abstract

(57)【要約】 【課題】 エミュレーション・コントローラと複数の目
標デバイスとの間の接続を自動検出する。 【解決手段】 目標デバイス(チップ1、チップN)お
よびエミュレーション・コントローラ(12)がそれの
各端子を3状態化したあとで、目標デバイスの1つがそ
れの上述の各端子に予め定められた論理レベルを順次駆
動し、その間に上述端子の残りを3状態のままに保持す
る。これらの駆動(33)および保持(31)動作は、
このあと、残りの各目標デバイスによって順次実行され
る。各駆動工程の間に、全目標デバイスおよびエミュレ
ーション・コントローラはそれら上述端子(34、4
3)における論理レベルを読み出す。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は一般的に電子式デー
タ処理に関するものであって、更に詳細には電子式デー
タ処理を行なうデバイスおよびシステムのエミュレーシ
ョン、シミュレーション、およびテスト機能に関する。
【0002】
【従来の技術】ウエハ・リソグラフィおよび表面搭載パ
ッケージング技術の進歩に伴って、電子的設計において
益々多くの複雑な機能がシリコンおよびプリント基板の
両方に集積されるようになってきた。設計の高密度化お
よび相互接続ピッチの縮小の結果として、残念ながら物
理的アクセスは減少する。設計時に組み込まれるテスト
機能が必要とされるようになり、それによって、完成品
はテストおよびデバッグ間にも制御および観察すること
が可能となる。製造時に生ずる欠陥は、製品出荷前の最
終的なテストで検出できることが望ましい。設計が複雑
なため、自動試験機器がその製品をテストできるように
論理設計段階でのテスタビリティを考慮することなくし
ては、このような基本的な要請を実現することは困難で
ある。
【0003】性能および製造時欠陥のテストに加えて、
アプリケーション・ソフトウエアの開発においても、そ
のシステムあるいはサブシステムの設計段階で同様なレ
ベルのシミュレーション、観察可能性、および制御可能
性が必要とされる。設計のエミュレーション段階では、
IC(集積回路)あるいはIC群が、ソフトウエア・プ
ログラムとリンクした時に、最終製品の機器またはアプ
リケーションの中で正しく機能することを確かめること
が必要である。
【0004】自動車産業、電気通信、防衛システム、お
よび生命維持システムで益々多くのICが使用されるよ
うになり、完璧なテストおよび拡張的な実時間デバッグ
が絶対的に必要とされるようになった。
【0005】仕様に適合していることを保証するための
テスト・ベクタを設計者が生成する性能試験方式は、今
でも広く採用されているが、非常に大規模のシステムに
対してこの方法は広範囲の欠陥を検出できないことから
不適切なことが分かっている。完全なテストができるた
めには自動的なテスト・パターンの生成が望ましく、テ
ストの全階層(システム・レベルからトランジスタ・レ
ベルまで)をカバーする制御可能性および透明性が重要
な鍵である。
【0006】大規模設計の別の問題点は長時間と過大な
コストを要することである。再利用を考慮した設計概念
に適したテスト用の回路、システム、および方法が望ま
しい。このように、以下のデバイスおよびシステムは、
初期デバイスに組み込まれたテスタビリティ、シミュレ
ーション、およびエミュレーションの回路、システム、
および方法を再利用することによって、低い設計コスト
でテスタビリティ、シミュレーション、およびエミュレ
ーションを実現する。先行するテスタビリティ、シミュ
レーション、およびエミュレーションの方式がなけれ
ば、テスト・パターンの生成および更新のために大きな
設計時間が費やされることになる。
【0007】再利用可能なようにモジュールを設計し、
それ用のテスト・パターンを完璧に生成および改良する
ために膨大な投資を行ったとしても、その後でそのモジ
ュールを利用する場合にそれが特定用途論理回路に埋め
込まれ、それへのアクセスを困難または不可能なものに
なることがある。従って、このような落とし穴は避ける
ことが望ましい。
【0008】IC設計の進歩には、例えば、内部可観察
性および制御の低下、欠陥保償の縮小、および状態切換
能力の低下、テスト開発および検証問題の増加、設計シ
ミュレーションの複雑化、および連続的に増大するCA
D(コンピュータ支援設計)ツールのコストが伴う。基
板設計での副産物には、レジスタ透明性および制御の低
下、設計検証でのデバッグおよびシミュレーションの複
雑化、1つのパッケージに多くの回路を実装することに
よって物理的アクセスが失われることによる従来エミュ
レーションのロス、基板上でのルーティングの複雑化、
設計ツールのコスト増、混在モードでの実装、および生
産容易な設計が含まれる。アプリケーション開発での副
産物には、状態の可観察性低下、高速エミュレーション
の困難、スケーリングされた時間シミュレーション、デ
バッグ複雑化、およびエミュレータのコスト増が含まれ
る。製品の副産物には、可観察性および制御の低下、テ
スト・ベクタおよびモデルの複雑化、テストの複雑化、
混在モードでの実装、7桁(100万ドルのオーダー)
程度にまで連続的に増大する自動試験機器のコスト増、
および厳しさを増す許容度が含まれる。
【0009】スキャン方式のエミュレーションおよび複
数処理デバッグを採用したエミュレーション技術は10
年以上昔に導入された。1988年に、設計サイクル時
間についての要求およびチップ状態でのエミュレーショ
ンに利用可能な新たな空間が動機となって従来の回路エ
ミュレーションからスキャン方式のエミュレーションへ
変化が起こった。設計サイクル時間の要求は3つの因子
によって発生した。すなわち、オンチップ・メモリなど
のより高度な集積レベル;増大するクロック・レート−
エミュレーションをサポートする論理によって引き起こ
される電気的干渉;およびより複雑なパッケージングに
よって生ずるエミュレータ接続性の問題である。
【0010】今日、これらの同じ因子が新しい展開を伴
って問題化しており、今日の複雑でより高いクロック・
レートで高密度に集積された設計において必要とされる
システム・デバッグ機能を供給するスキャン方式のエミ
ュレータ機能に対して課題となっている。その結果、シ
ステムはより小型で高速な低コストのものとなる。それ
らは益々高密度化する占有面積で高い性能を示すもので
ある。これらの積極的な各システム・トレンドは、逆に
高速なシステム開発にとって重要な要因であるシステム
動作の可観察性に悪影響を及ぼす。この効果は“可観察
性消滅”と呼ばれる。
【0011】アプリケーション開発者は関連するすべて
のシステム活動のうちで可観察性および制御を優先す
る。集積レベルの着実な進歩とクロック・レートの増大
は、利用できる可観察性および制御を時間とともに着実
に減少させている。これらの因子は可観察性および制御
のギャップ、すなわち望ましい可観察性および制御と実
際に利用できるレベルとの差を生ずる。時間とともにこ
のギャップは拡大している。アプリケーション開発ツー
ルの提供業者はこのギャップの拡大率を最小に留めよう
とする。開発ツールのソフトウエアおよび関連するハー
ドウエア・コンポネントは、より少ないもので、また異
なるやり方でより多くのことを成し遂げなければならな
い。利用の利便さへの挑戦はこれらの力によって増幅さ
れる。
【0012】
【発明の解決しようとする課題】今日の高密度集積され
たシステム・オンチップ(SOC)技術は可観察性およ
び制御のギャップを劇的に拡大した。ロジック・アナラ
イザや区分化されたプロトタイプ・システムなどのよう
な従来からのデバッグ・オプションは今日のシステムの
集積レベルや益々増大するクロック・レートに追随でき
ない。
【0013】集積レベルの増大とともに、数多くのサブ
システム・コンポネントをつなぐシステム・バスがチッ
プ上を駆け巡り、従来のロジック・アナライザがこれら
のバスへアクセスできなくなっている。バスの可観察性
が限定されるかほとんどない状況で、ロジック・アナラ
イザなどのツールはシステム動作を観察したり、開発中
のシステムを制御するために必要なトリガー機構を提供
したりすることができない。アクセスできないものを制
御するのが困難であるように、この可観察性の消失には
制御の消失が伴う。
【0014】この傾向に挑むために、システム設計者は
それらのバスを露出させ、露出したバスでプロトタイプ
・システムを構築できるようにシステム・コンポネント
を構築しようとしている。この方式もまた、システム・
クロック・レートの更なる増大傾向によって包囲されて
しまった。CPUクロック・レートが増大するほどに
は、チップとチップとの間のインタフェース速度は増大
できない。開発者は、区分化されたシステムの性能はチ
ップ間の通信速度の遅延を補うために加えられるインタ
フェース待ち状態のために、対応する集積化に追従でき
ないことを見出した。この性能劣化は或る時点で許容で
きないレベルに達し、区分化プロトタイプ・システムは
もはや実行可能なデバッグ・オプションではなくなっ
た。我々は製品デバイスがアプリケーション開発のため
のプラットフォームとして用いられるべき時代に突入し
ている。
【0015】増大するCPUクロック・レートはまた、
他の簡便な可観察性機構の終了を加速する。CPUクロ
ック・レートはI/O状態最大速度を超えることができ
るため、そのままの形式で情報を出力している可観察性
ポートはもはやCPUに追随できない。オンチップのサ
ブシステムもCPUクロック・レートより遅いクロック
・レートで動作する。この方式はシステム設計を簡略化
し電力消費を減らすために用いられよう。これらの開発
はCPU活動を明瞭に観察するために、簡便な可観察性
ポートはもはや、あてにできないことを意味する。
【0016】可観察性および制御が失われるとともに、
アプリケーションを開発するために使用される開発ツー
ルはより非生産的なものとなる。ツールはまた可観察性
および制御を維持するために要求されるツールの複雑化
のせいで使い難いものとなっている。システム・オンチ
ップによって発生した可観察性、制御、および使い易さ
の問題は製品開発サイクルを長期化する問題を孕んでい
る。
【0017】集積化の傾向が開発者に困難なデバッグ環
境を提供するとは言っても、一方で、デバッグ問題に対
する新たな方式が出現する期待もある。開発サイクル時
間の問題をもたらす密度およびクロック・レートの増大
はまた、その問題を解決する機会を生むことにもなっ
た。
【0018】オンチップのデバッグ手段は従来に増して
入手し易いものとなっている。高速、高性能のチップが
益々大規模メモリ構造によって支配されるようになる
と、CPUおよびメモリ・サブシステムに付随するラン
ダム・ロジックのシステム・コストは全システム・コス
トのパーセントで下降する。数千ゲートのコストはこれ
までで最も低く、或る場合には今日のチップ設計の中で
は無視されよう。今日の高密度パッケージにおけるピン
当りコストもまた下降しており、デバッグ用に多くのピ
ンを割り当てることがより容易になっている。ゲートお
よびピンの入手が容易になることで、システム・オンチ
ップによって発生した課題に対処するために必要な新し
いオンチップのエミュレーション機能の展開が可能とな
る。
【0019】製品デバイスがアプリケーションをデバッ
グするためのプラットフォームとしても使用されるとき
には、それらは製品を市場に出す時間をサポートするの
に十分なデバッグ能力を提供する必要がある。デバッグ
への要求はアプリケーション毎に変化するので、市場化
までの時間と必要なコストとの間でバランスを取るよう
にオンチップ・デバッグ機能を調節できることが非常に
望ましい。
【0020】これらのオンチップ機能はチップの循環コ
ストに影響するので、どの方法でもスケーリングできる
ことが最も重要である。オンチップ・ツールの展開にお
ける指針原則は“必要なものだけに金を使え”である。
この新しいパラダイムで、システム設計者はオンチップ
・デバッグ機能について、残りの機能と一緒に、チップ
・コスト制約と製品開発チームのデバッグ要請とのバラ
ンスを取りながら仕様を定めよう。
【0021】
【課題を解決するための手段】本発明のエミュレーショ
ン技術は上に述べたデバッグの上昇傾向の好機を利用し
て、開発者に対して制御および可観察性のギャップを狭
めることを狙ったデバッグ能力の蓄積を提供する。
【0022】本発明のエミュレーション技術は今日の高
度に集積された埋め込み式の実時間システムの複雑なデ
バッグ問題に対して解答を提供する。この技術は、前節
で述べた可観察性、制御および使い易さの喪失の問題に
取り組み、同時に現状のエミュレータの特徴を拡張す
る。
【0023】本発明のオンチップ・デバッグ・コンポネ
ントはコストおよびデバッグ能力を最適化するための手
段を提供する。その構造はシステム・コストおよび市場
化の時間という制約に合致するように調整されたエミュ
レーション・コンポネントまたは周辺機器の柔軟な組合
せを許容する。スケーリング可能という特徴によって、
それらを可能なコストおよび限られた性能オーバーヘッ
ドで製品デバイスに含めることが可能となる。
【0024】
【発明の実施の形態】ここで本発明のエミュレーショ
ン、デバッグ、およびシミュレーション・ツールについ
て説明する。ここに述べるエミュレーションおよびデバ
ッグ・ツールは次のような前提に基づいている。すなわ
ち、従来、オフチップで実行されているデバッグ機能の
すべてでなくてもいくつかのものは、もしそれらが開発
者のデバッグ倉庫に残すべきものであれば、いつの日に
か製品デバイスに集積されるようになるであろうという
ことである。デバッグ機能をチップ上へ移動する手助け
のために、本発明はオンチップ展開のための強力でスケ
ーリング可能なデバッグ機能の一覧表を提供する。この
技術は、可観察性消滅傾向によって生じた可観察性、制
御、および使い易さの問題に直接的に対処する能力を付
加するとともに、初期のJTAG技術の利益すべてを継
承している。
【0025】最初に述べた制御および可観察性のギャッ
プへの取り組みへの先鋒となる4つの重要な構造的イン
フラストラクチャ・コンポネントは次のものである。 1.実時間エミュレーション(RTE) 2.実時間データ交換(RTDX) 3.トレース 4.高度解析
【0026】これらのコンポネントは表1に示すように
可観察性および制御の要請に対処する。
【0027】
【表1】
【0028】実時間エミュレーション(RTE)は実時
間実行制御(ラン、ステップ、ホールト等)およびレジ
スタ/メモリ可観察性に関する基本的な固定機能セット
を提供する。このコンポネントはユーザがアプリケーシ
ョン・コードをデバッグすることを許容すると同時に、
実時間の割込みもサポートする。レジスタおよびメモリ
は割込み処理に影響せずに実時間でアクセスされよう。
ユーザは実時間と非実時間の割込みを区別し、実時間で
のメモリへのデバッグ・アクセスによって乱されるべき
でないコードにマークを付ける。この基本エミュレーシ
ョン機能には、2個のシングルポイント・ハードウエア
・ブレークポイント、シングル・データ・ウォッチポイ
ント、イベント・カウンタ、あるいはデータ・ログ機構
として構成可能なハードウエアが含まれる。EMUピン
機能には、マルチプロセッサ・イベント処理および一方
向性(目標からホストへ)のデータ・ログ機構用のトリ
ガーI/Oが含まれる。
【0029】RTDX(登録商標)はエミュレータ・ホ
ストと目標アプリケーションとの間で実時間データ転送
を提供する。このコンポネントはエミュレータによって
促進される双方向性および一方向性の両方のDSP目標
/ホスト転送を提供する。DSP(または目標)アプリ
ケーションはホストへ転送すべき目標データを収集する
か、あるいはホストからデータを受信し、他方でエミュ
レーション・ハードウエア(DSPおよびエミュレータ
の内部にある)が実際の転送を管理する。いくつかのR
TDX転送機構がサポートされており、その各々は異な
るレベルの帯域幅およびピン利用を提供することによっ
てゲートおよびピン利用性と帯域幅との間で要求のバラ
ンスを図っている。
【0030】トレースはアプリケーション活動の可観察
性を提供する非命令的機構である。トレースは、プログ
ラム・フローおよびメモリ・アクセスのようなCPUに
関連する活動、およびASIC状態機械、データの流
れ、およびCPU収集データのようなシステム活動を監
視するために使用される。経歴的なトレースの技術はま
た製品デバイスよりも多くのピンを有するロジック・ア
ナライザ的な収集および特殊エミュレーション(SE)
デバイスを使用していた。ロジック・アナライザあるい
は同様なデバイスは、プログラミング・インタフェース
(フィルタ機構)のような状態機械(state ma
chine)を使用して元々の表現でデータを処理して
いた。このトレース・モデルは、記憶し、観察し、解析
する必要のあるデータを選択する外部トリガーでエクス
ポートされるすべての活動に依存していた。
【0031】しかし、既存のロジック・アナライザ的な
技術は、より高レベルの集積化、増大するクロック・レ
ート、およびより複雑化するパッケージングによる可観
察性低下に対する解決手段(ソリューション)を提供し
ない。このモデルでは、製品デバイスは限られた数のピ
ンを通して可観察性を提供しなければならない。エクス
ポートされるデータは必要なエクスポート帯域幅を小さ
くするようにエンコードまたは圧縮される。記録機構は
純粋な記録デバイスになり、エクスポートされたデータ
を深いトレース・メモリに詰め込む。記録されたデータ
をシステム活動の記録へ変換するためにトレース・ソフ
トウエアが使用される。
【0032】高速シリアル・データ・エクスポートを備
えたオンチップ・トレースは先進的な解析と組み合わせ
てSOC設計に対する解決手段を提供する。トレース
は、プログラム・フローおよびメモリ・アクセスのよう
なCPUに関連する活動、およびASIC状態機械、デ
ータの流れ等、およびCPU収集データのようなシステ
ム活動を監視するために使用される。これは4つの異な
る種別のトレース・データを生成する。 ・DSPコアによって提供されるプログラム・フローお
よびタイミング(PCトレース) ・DSPコアまたはチップ・レベルの周辺機器によって
行なわれるメモリ・データ参照(データの読み書き) ・用途特定信号およびデータ(ASIC活動) ・CPU収集データ
【0033】4種類のトレース・データに関する収集機
構は、機能性と、望ましい帯域幅要求に合致するために
必要なゲートおよびピンとのトレードオフを許容するモ
ジュール構成になっている。
【0034】RTDXおよびトレース関数は同様である
が異なる形の可観察性を提供する。それらはデータ収集
方法およびそれらの最も効率的環境が異なる。理解を助
けるために以下に簡単な説明を行なう。
【0035】RTDX(実時間データ交換)はCPUの
支援を受けて情報交換を行なう手段である。ここで、交
換すべきデータはプログラム・フローに対して正しく定
義された振る舞いをする。例えば、RTDXはDSPア
ルゴリズムから入力および出力バッファを記録するため
に使用できる。RTDXはデータ収集にCPUの支援を
要求し、従ってそれを実行するために明確だが少しのC
PU帯域幅を必要とする。このように、RTDXは、少
ない循環オーバーヘッド・コストで以って可観察性を提
供するアプリケーション介入機構である。
【0036】トレースは非介入的なハードウエア支援収
集機構(バス監視器のような)であり、非常に高い帯域
幅(BW)のデータ・エクスポートを備えている。トレ
ースは非常に高いデータ・レートでデータをエクスポー
トしなければならないとき、あるいはトレースすべき情
報の振る舞いが分からないか、あるいは本質的にランダ
ムであるか、アドレスに付随する場合に使用される。プ
ログラム・フローは振る舞いを予め知ることができない
場合の典型例である。この種の情報をエクスポートする
ために要する帯域幅は高い。指定されたアドレスのデー
タ・トレースは別の例である。データ・トレースをエク
スポートするために要する帯域幅は非常に高い。
【0037】トレース・データは一方向性で、目標から
ホストへ向かう。一方向性のRTDXもサポートされて
いるが(データ・ログ)、RTDXはどちらの方向へも
データ交換を行なうことができる。トレース・データ経
路もまた、非常に高速の一方向性RTDXを提供するた
めに使用できる(CPU収集されたトレース・デー
タ)。
【0038】トレースおよびRTDXの高レベルな機能
について概略を表2に示す。
【0039】
【表2】
【0040】高度解析は非介入的なオンチップ・イベン
ト検出およびトリガー発生機構を提供する。高度解析に
よって生成されるトリガー出力はトレースおよびRTD
Xなどの他のインフラストラクチャ・コンポネントを制
御する。経歴的なトレース技術は、ロジック・アナライ
ザへエクスポートされたバス活動を使用してロジック・
アナライザ中でトレースを制御するトリガーを発生した
り、あるいは実行を停止させるためのトリガーを発生さ
せてデバイスへ供給したりした。通常、これには製品デ
バイスよりも多くのピンを有するチップが含まれていた
(SEまたは特殊エミュレーション・デバイス)。この
解析モデルはシステム・オンチップ(SOC)時代には
うまく動作しない。その理由は、今日のデバイスの集積
レベルおよびクロック・レートが完全な可観察性を有す
るバス・エクスポートを排除するためである。
【0041】高度解析は入手可能なオンチップ命令およ
びデータバス比較器、シーケンサおよび状態機械、およ
びイベント・カウンタを提供して、オフチップで用いら
れた経歴的なトリガー機能の最も重要な部分を再現す
る。高度解析は、トレース、RTDX、および実時間エ
ミュレーションに対してデバッグ・トリガー機構の制御
部分を提供する。この構成コンポネントはイベントを識
別し、イベント・シーケンスを追跡し、それらの発生に
基づいてアクションを割り当てる(ブレイク実行、トレ
ース・イネーブル/ディスエーブル、カウント、RTD
Xイネーブル/ディスエーブル等)。この機能に関する
モジュール構築ブロックには、バス比較器、外部イベン
ト発生器、状態機械あるいは状態シーケンサ、およびト
リガー発生器が含まれる。高度解析システムのモジュー
ル構成によって、機能性とゲートとのトレードオフが可
能となる。
【0042】
【実施例】エミュレータ機能は4つのエミュレータ・コ
ンポネントの相互動作によって生まれる。 1.デバッガ・アプリケーション・プログラム 2.ホスト・コンピュータ 3.エミュレーション・コントローラ 4.オンチップ・デバッグ機能
【0043】これらのコンポネントは図1に示すように
つながれる。ホスト・コンピュータ10はエミュレーシ
ョン・コントローラ12(ホストに対して外部にある)
へつながれ、エミュレーション・コントローラ(ここで
はエミュレータまたはコントローラとも呼ばれる)はま
た目標システム16へつながれる。ユーザは、望ましく
は、例えばテキサス・インスツルメンツ社のプログラム
“Code Composer Studio”のよう
な、ホスト・コンピュータ上で走っているデバッガ・ア
プリケーション・プログラムを介して、目標アプリケー
ションを制御する。
【0044】典型的なデバッグ・システムが図1に示さ
れている。このシステムはエミュレータ12を介してデ
バッグ機能へアクセスするために、ホスト・コンピュー
タ10(一般にはPC)を使用する。デバッガ・アプリ
ケーション・プログラムはホスト・コンピュータを介し
て、使用者に使い易いかたちでデバッグ機能を提供す
る。デバッグ資源は必要に応じてデバッグ・ソフトによ
って割り振られ、この作業をユーザが行わなくてもよく
なっている。ソース・レベルでのデバッグではデバッグ
資源を利用するが、それの複雑な部分はユーザから見え
ないようになっている。デバッガは、オンチップのトレ
ースおよびトリガー機能と一緒に、興味の対象であるチ
ップ活動を選択、記録、および表示するための手段を提
供する。トレースのディスプレイは、そのトレース・ロ
グを発生したソース・コードに対して自動的に関連づけ
られる。エミュレータはデバッグ制御とトレース記録機
能の両方を提供する。
【0045】デバッグ機能は、目標チップのJTAGま
たは同様なシリアル・デバッグ・インタフェースを介す
る標準的なエミュレータ・デバッグ・アクセスを用いて
プログラムされる。ピンは貴重なので、この技術ではト
レース、トリガー、およびその他のデバッグ機能でデバ
ッグ用ピンのプールを共有するようにしてシリコン・コ
ストの上昇を少なくしている。固定ピン・フォーマット
もサポートされている。ピンを共有するオプションを採
用するときには、デバッグ・ピンの利用は各デバッグ・
セッションの最初に(チップがアプリケーション・プロ
グラムを走らせるように命令される前に)トレース・エ
クスポート帯域幅を最大化するように決められる。トレ
ース帯域幅は最大数のピンをトレースに割り当てること
によって最大化される。
【0046】システム内でのデバッグ能力および構築ブ
ロックは変動しよう。従って、エミュレータ・ソフトウ
エアは実行時に構成を決める。この方式は、コンフィギ
ュレーションおよびレジスタ組織化と取引する制約群に
合致するハードウエア・ブロックを必要とする。他のコ
ンポーネント群は、ブロックおよび他の周辺機器をシス
テムのメモリ・マップ上で位置を突き止めるように設計
されたハードウエア検索能力を提供する。エミュレータ
・ソフトウエアは資源を位置決めするために検索機能を
使用する。モジュールの見つかったアドレスおよびタイ
プIDが、見出された各ブロックを一義的に同定する。
一旦IDが見出されると、設計データベースを用いて正
確なコンフィギュレーションおよびすべてのシステム入
出力が確認される。
【0047】ホスト・コンピュータは、一般に少なくと
も64メガバイトのメモリを持ち、少なくともWind
ows(登録商標)95、SR−2、WindowsN
T、あるいはWindowsの後継バージョンを走らせ
ることのできるPCである。PCはエミュレータが要求
する通信インタフェースの1つをサポートしなければな
らない。例えば、 ・イーサネット(登録商標)10Tおよび100T、T
CP/IPプロトコル ・ユニバーサル・シリアル・バス(USB)、rev
1.x ・ファイヤワイヤ、IEEE1394 ・パラレル・ポート(SPP、EPP、およびECP)
【0048】エミュレーション・コントローラ12はホ
スト・コンピュータ10と目標システム16との橋渡し
をし、ホスト・コンピュータ上で走るデバッガ・アプリ
ケーションとDSP(あるいはその他の目標プロセッ
サ)14上で実行される目標アプリケーションとの間で
渡されるすべてのデバッグ情報を取り扱う。
【0049】エミュレータ構成例の1つは以下の能力す
べてをサポートする。 ・実時間エミュレーション ・RTDX ・トレース ・高度解析
【0050】これに加えて、エミュレータから目標への
インタフェースは次をサポートする。 ・入力および出力トリガー ・ビットI/O ・特殊な拡張動作モードの管理
【0051】エミュレーション・コントローラ12は
3、4、または5ビットのスキャンをベースとするイン
タフェースを介して実時間エミュレーション機能(実行
制御、メモリ、およびレジスタ・アクセス)にアクセス
する。RTDX機能は、スキャンによって、あるいはス
キャン以外の目標からエミュレータへの直接的な接続を
使用するより高帯域幅の3つのRTDXフォーマットを
使用することによってアクセスできる。入出力トリガー
は他のシステム・コンポネントがそのチップに対してあ
るいはその逆に、デバッグ・イベント時に信号供給する
ことを許容する。
【0052】エミュレータ12は通信セクションとエミ
ュレーション・セクションとに区分される。通信セクシ
ョンはホスト通信リンク上でホスト10との通信をサポ
ートし、他方エミュレーション・セクションは目標への
インタフェースとなって、目標デバッグ機能およびデバ
イス・デバッグ・ポートを管理する。エミュレータ12
は、15に示す、例えば、上述の工業標準の通信リンク
の1つを用いてホスト・コンピュータ10と交信する。
ホストからエミュレータへの接続は規格のケーブル技術
を用いて確立できる。ホストとエミュレータとの間の分
離は、使用するインタフェースに適用される標準規格に
よって支配される。
【0053】エミュレーション・コントローラ12は1
7に示す1本または複数の目標ケーブルを通して目標シ
ステム16と交信する。デバッグ、トレース、トリガ
ー、およびRTDX機能は目標ケーブルを共有し、或る
場合には、同じデバイス・ピンを共有する。目標システ
ムが1本のケーブルに収納しきれないトレース幅で展開
するときには、2本以上の目標ケーブルが必要とされよ
う。すべてのトレース、RTDX、およびデバッグ通信
はこのリンク上で発生する。
【0054】図2は、図1に示すようなエミュレータ
と、この実施の形態では集積回路チップである複数の目
標デバイスとの間の接続例を示す回路図である。図2に
示すように、エミュレータ21の目標チップ通信ポート
20は22および23のケーブル接続によってチップ1
へつながれ、また24および25のケーブル接続によっ
てチップNへつながれる。ケーブル接続25はケーブル
接続23との間で少なくともいくつかの信号経路を共有
する。22−25のケーブル接続はチップ1およびチッ
プNのピンにおいて終端し、またチップ1の少なくとも
1本のピンは26のようにチップNの少なくとも1本の
ピンへつながれる。図2の構成には他のチップも含まれ
るが、それらの或るものはケーブル接続によってエミュ
レータ21へつながれ、また或るものは互いに相互接続
されよう。エミュレータ21はまた、一般に27で示す
従来のスキャン・パスによって複数の集積回路へつなが
れる。スキャン・インタフェースに付随する制御信号
は、これも例えば23および25のケーブル接続に含ま
れよう。
【0055】本発明の実施の形態例に従えば、図2のエ
ミュレータ21およびチップ1ないしチップNには、エ
ミュレータ21と各チップとの間の接続、およびチップ
相互の接続を自動検出する機構が備えられている。いく
つかの実施の形態例で、このことは次のような工程に従
って行われる。 (1)各チップの各ピンにプル・アップ用抵抗を備える
こと、(2)各チップがそのすべてのピンで3状態を取
ること(3)エミュレータが、それの目標チップ通信ポ
ートの全端子で3状態を取ること、(4)各個別チップ
がそれの各ピンへ、一時に1チップずつ、一時に1ピン
ずつ論理0を駆動すること、同時に、駆動しているチッ
プ、他の全チップ、およびエミュレータの残り全ピン/
端子を3状態のままに保持すること、(5)各チップお
よびエミュレータがそれの各ピン/端子の論理状態を読
み出すこと、他方、各個別チップが各個別論理0を駆動
すること、
【0056】上述の動作例の概要が図3および4に示さ
れている。
【0057】図3は論理0を駆動するチップによって実
行できる動作例を示す。チップはそれの各ピンで順次論
理0を駆動するようになっており、各論理0を駆動する
一方でそれのすべてのピンを読み出す。従って32にお
いて、チップのすべてのピンは3状態を取る。その後、
33において与えられたピンが論理0に駆動され、その
後、すべてのピンは34において読み出される。35に
示すように、32−34の上述の工程は、チップのすべ
てのピンが駆動されるまで繰り返される。
【0058】図4は、現在はピンを駆動していない図2
の各チップと図2のエミュレータとによって実行できる
動作を示す。42において、すべてのピンを3状態にす
る。その後、43においてすべてのピンが読み出され
る。44に示すように、43における読み出し動作は駆
動チップがそれのすべてのピンを駆動するまで繰り返さ
れる。
【0059】図5は、実施の形態例である図2の集積回
路チップの関連部分を示す回路図である。図5の構成は
図3および4に関して上述した動作を実行することがで
きる。図5には書き込みレジスタ61が含まれており、
その中へエミュレーション・コントローラは適切な機能
コードを書き込むことができ、それによって、マルチプ
レクサ62および63の動作によってピン65を3状態
にするか、あるいは論理0を駆動することができる(図
6の表も参照)。読み出しレジスタ64には(エミュレ
ーション・コントローラの制御によって)ピンの値をロ
ードできる。レジスタ61へ書き込まれるデータと、レ
ジスタ61および64のLOAD信号はエミュレーショ
ン・コントローラによって従来のやり方で提供でき、レ
ジスタ64からのデータは任意の従来のやり方でエミュ
レーション・コントローラによって読み出すことができ
る。図5のマルチプレクサおよびバッファの構成はチッ
プの各ピンについて同じものにできる。
【0060】上述のように、本発明は、エミュレータの
エミュレーション目標デバイスであり互いに接続される
であろう複数の集積回路チップとエミュレータとの間お
よびそれら相互間での接続を自動検出できるようになっ
ている。自動検出過程で決定される接続情報は容易にエ
ミュレータに提供でき、それを使用して接続に関するデ
ータベースが構築できる。このデータベースは、エミュ
レータと目標チップとの間のエミュレーション共同作業
の中で、エミュレータによって便利に活用できる。
【0061】自動接続点検には全チップの全ピンが含ま
れる必要はなく、任意のものでも、すべてでも構わない
ことを理解されよう。
【0062】本発明の実施の形例態について以上のよう
に詳細に説明してきたが、これは本発明の範囲を限定す
るものではない。本発明の範囲は多様な実施の形態で実
現することができる。
【0063】関連出願へのクロスリファレンス 本出願は35U.S.C.119(e)(1)のもと
で、下記の暫定的同時係属米国出願、すなわち2000
年3月2日付けの第60/186,326(事件番号T
I−30526)および、元々非暫定米国出願第09/
515,093号として2000年3月2日付けで出願
され、その後2000年8月18日に申請が認可されて
暫定出願形式に変更された第60/219,340号
(事件番号TI−30498)の優先権を請求する。
【図面の簡単な説明】
【図1】本発明に従うエミュレーション・システムの実
施の形態例を示す回路図。
【図2】エミュレータと複数の目標チップとの間の接続
例を示す回路図。
【図3】図2の目標チップによって実行できる動作例。
【図4】図2のエミュレータおよび目標チップによって
実行できる動作例。
【図5】図2のチップの実施の形態例の関連部分を示す
回路図。
【図6】図5のピンに関連する機能および機能コード
例。
【符号の説明】
20 通信ポート 22−26 ケーブル接続 27 スキャン・パス 61 書き込みレジスタ 62,63 マルチプレクサ 64 読み出しレジスタ
───────────────────────────────────────────────────── フロントページの続き Fターム(参考) 2G132 AA00 AA01 AC10 AC11 AC15 AG14 AG15 AK07 AK23 AL09 AL11 5B042 GB08 GB09 HH03 5B048 AA11 BB02 DD08

Claims (17)

    【特許請求の範囲】
  1. 【請求項1】 エミュレーション・コントローラと複数
    の目標デバイスとの間の接続を自動検出する方法であっ
    て、 各目標デバイスがそれの端子を3状態化すること、 エミュレーション・コントローラがそれの端子を3状態
    化すること、 目標デバイスの1つがそれの前記端子の各々で予め定め
    られた論理レベルを順次駆動することであって、他方そ
    れの前記端子の残りを3状態に保持すること、 残りの目標デバイスの各々が前記1つの目標デバイスの
    後で前記駆動および保持工程を順次実行すること、およ
    び目標デバイスの各々が前記各駆動工程の間にそれの前
    記端子における論理レベルを読み出し、またエミュレー
    ション・コントローラが前記各駆動工程の間にそれの前
    記端子における論理レベルを読み出すこと、の工程を含
    む方法。
  2. 【請求項2】 請求項1記載の方法であって、前記目標
    デバイスが前記駆動および保持工程を実行するべき時
    に、前記エミュレーション・コントローラが各目標デバ
    イスに対して情報を提供する工程を含む方法。
  3. 【請求項3】 請求項2記載の方法であって、前記情報
    提供工程が、前記エミュレーション・コントローラが各
    目標デバイス中に情報をスキャンする工程を含んでいる
    方法。
  4. 【請求項4】 請求項1記載の方法であって、前記目標
    デバイスが、それらの対応する端子において読み出した
    論理レベルを前記エミュレーション・コントローラへス
    キャン出力することを含んでいる方法。
  5. 【請求項5】 請求項1記載の方法であって、各目標デ
    バイスの端子を予め定められた論理レベルへプルする工
    程を含む方法。
  6. 【請求項6】 請求項1記載の方法であって、前記駆動
    工程が論理0レベルを駆動する工程を含んでいる方法。
  7. 【請求項7】 請求項6記載の方法であって、各目標デ
    バイスの端子を論理1レベルへプル・アップする工程を
    含む方法。
  8. 【請求項8】 外部エミュレーション・コントローラと
    の接続を自動検出できる集積回路デバイスであって、 外部デバイスと信号を送受信するための複数の端子、 前記端子につながれて、前記端子を選択的に3状態化
    し、予め定められた論理レベルを駆動するための端子制
    御回路、および前記端子制御回路へつながれて、前記予
    め定められた論理レベルを前記端子の各々で順次駆動
    し、同時に前記端子の残りのものを3状態に保持するよ
    うに前記端子制御回路を制御するための制御レジスタ、
    を含む集積回路デバイス。
  9. 【請求項9】 請求項8記載の集積回路デバイスであっ
    て、前記端子へつながれて前記端子における論理レベル
    をその中に記憶するための記憶装置であって、各端子が
    前記予め定められた論理レベルで駆動されるそれぞれの
    期間に前記記憶装置中へ前記端子から論理レベルをロー
    ドするための記憶装置を含む集積回路デバイス。
  10. 【請求項10】 請求項9記載の集積回路デバイスであ
    って、別の集積回路デバイスがそれの各端子上に予め定
    められた論理レベルを順次駆動している期間に、前記端
    子における信号活動を記録するために前記端子のすべて
    が3状態にある時に、前記記憶装置が前記端子のすべて
    から論理レベルをロードするようになった集積回路デバ
    イス。
  11. 【請求項11】 請求項10記載の集積回路デバイスで
    あって、前記記憶装置がレジスタである集積回路デバイ
    ス。
  12. 【請求項12】 請求項9記載の集積回路デバイスであ
    って、前記記憶装置がエミュレーション・コントローラ
    の動作によってロードできる集積回路デバイス。
  13. 【請求項13】 請求項9記載の集積回路デバイスであ
    って、前記記憶装置が外部エミュレーション・コントロ
    ーラから読み出し可能であって、そこに記憶された論理
    レベルを前記エミュレーション・コントローラへ出力す
    ることを許可するようになった集積回路デバイス。
  14. 【請求項14】 請求項8記載の集積回路デバイスであ
    って、前記予め定められた論理レベルが論理0レベルで
    ある集積回路デバイス。
  15. 【請求項15】 請求項8記載の集積回路デバイスであ
    って、前記端子制御回路が、前記制御レジスタへつなが
    れた制御入力を有する一対のマルチプレクサを含んでい
    る集積回路デバイス。
  16. 【請求項16】 請求項8記載の集積回路デバイスであ
    って、前記制御レジスタが前記エミュレーション・コン
    トローラの動作によって制御コードをロードできるよう
    になった集積回路デバイス。
  17. 【請求項17】 請求項8記載の集積回路デバイスであ
    って、前記端子制御回路が、前記端子の1つへつながれ
    た出力および前記制御レジスタへつながれた制御入力を
    有するマルチプレクサを含んでいる集積回路デバイス。
JP2001109234A 2000-03-02 2001-03-02 エミュレータ・目標デバイス間接続の自動検出方法および装置 Abandoned JP2001356930A (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US21934000P 2000-03-02 2000-03-02
US51509300A 2000-03-02 2000-03-02
US219340 2000-03-02
US515093 2000-03-02

Publications (1)

Publication Number Publication Date
JP2001356930A true JP2001356930A (ja) 2001-12-26

Family

ID=26913794

Family Applications (5)

Application Number Title Priority Date Filing Date
JP2001109235A Abandoned JP2002014837A (ja) 2000-03-02 2001-03-02 信号オーバーレイを許容する時分割多重化機能を備えたスキャン・インタフェース
JP2001109233A Expired - Lifetime JP5328000B2 (ja) 2000-03-02 2001-03-02 オンチップデータプロセッサのトレースおよびタイミング情報の獲得と出力
JP2001109234A Abandoned JP2001356930A (ja) 2000-03-02 2001-03-02 エミュレータ・目標デバイス間接続の自動検出方法および装置
JP2001109232A Expired - Lifetime JP4551019B2 (ja) 2000-03-02 2001-03-02 複数データ処理コアのデバッグ機能を同時サポートする動的に構成可能なデバッグ装置
JP2013115235A Expired - Lifetime JP5519060B2 (ja) 2000-03-02 2013-05-31 オンチップデータプロセッサのトレースおよびタイミング情報の獲得と出力

Family Applications Before (2)

Application Number Title Priority Date Filing Date
JP2001109235A Abandoned JP2002014837A (ja) 2000-03-02 2001-03-02 信号オーバーレイを許容する時分割多重化機能を備えたスキャン・インタフェース
JP2001109233A Expired - Lifetime JP5328000B2 (ja) 2000-03-02 2001-03-02 オンチップデータプロセッサのトレースおよびタイミング情報の獲得と出力

Family Applications After (2)

Application Number Title Priority Date Filing Date
JP2001109232A Expired - Lifetime JP4551019B2 (ja) 2000-03-02 2001-03-02 複数データ処理コアのデバッグ機能を同時サポートする動的に構成可能なデバッグ装置
JP2013115235A Expired - Lifetime JP5519060B2 (ja) 2000-03-02 2013-05-31 オンチップデータプロセッサのトレースおよびタイミング情報の獲得と出力

Country Status (1)

Country Link
JP (5) JP2002014837A (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7421633B2 (en) * 2005-03-21 2008-09-02 Texas Instruments Incorporated Controller receiving combined TMS/TDI and suppyling separate TMS and TDI
US7162552B2 (en) * 2002-11-22 2007-01-09 Texas Instruments Incorporated Programmable extended compression mask for dynamic trace
JP4813389B2 (ja) * 2007-02-02 2011-11-09 アンリツ株式会社 擬似基地局装置
JP2009009325A (ja) * 2007-06-27 2009-01-15 Tokushu Denshi Kairo Kk Icエミュレーション装置およびicエミュレーション方法
CN101548270A (zh) * 2007-09-03 2009-09-30 松下电器产业株式会社 半导体装置及开发支援装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05120071A (ja) * 1991-10-25 1993-05-18 Hitachi Ltd データ処理装置
JP3175757B2 (ja) * 1996-08-13 2001-06-11 日本電気株式会社 デバッグシステム
JPH10275092A (ja) * 1997-03-31 1998-10-13 Hewlett Packard Japan Ltd マイクロプロセッサのトレース情報出力方法
US6321331B1 (en) * 1998-04-22 2001-11-20 Transwitch Corporation Real time debugger interface for embedded systems
CN1439101A (zh) * 1998-06-16 2003-08-27 因芬尼昂技术股份公司 用于测量和分析集成电路块的电信号的装置

Also Published As

Publication number Publication date
JP2002014837A (ja) 2002-01-18
JP4551019B2 (ja) 2010-09-22
JP2002049503A (ja) 2002-02-15
JP2001356935A (ja) 2001-12-26
JP2013211046A (ja) 2013-10-10
JP5519060B2 (ja) 2014-06-11
JP5328000B2 (ja) 2013-10-30

Similar Documents

Publication Publication Date Title
US6928403B2 (en) Automatic detection of connectivity between an emulator and a target device
US9047406B2 (en) Maintaining coherent synchronization between data streams on detection of overflow
US7457739B2 (en) Read FIFO scheduling for multiple streams while maintaining coherency
EP1132816B1 (en) Automatic detection of connectivity between an emulator and a target device
JP5519060B2 (ja) オンチップデータプロセッサのトレースおよびタイミング情報の獲得と出力
US7884641B2 (en) Setting operating mode of an interface using multiple protocols
US20060200805A1 (en) Reporting a Saturated Counter Value
JP2004178590A (ja) データ一致認定および完全または部分的重複によって、多数のサイズのメモリ・アクセスを検出するアドレス範囲比較器
US8374841B2 (en) Precise detection of triggers and trigger ordering for asynchronous events
US7502727B2 (en) Tracing user change of program counter during stop event
US7924050B2 (en) Key based pin sharing selection
US20040153895A1 (en) Imprecise detection of triggers and trigger ordering for asynchronous events

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080228

A762 Written abandonment of application

Free format text: JAPANESE INTERMEDIATE CODE: A762

Effective date: 20090914