JP5519060B2 - オンチップデータプロセッサのトレースおよびタイミング情報の獲得と出力 - Google Patents

オンチップデータプロセッサのトレースおよびタイミング情報の獲得と出力 Download PDF

Info

Publication number
JP5519060B2
JP5519060B2 JP2013115235A JP2013115235A JP5519060B2 JP 5519060 B2 JP5519060 B2 JP 5519060B2 JP 2013115235 A JP2013115235 A JP 2013115235A JP 2013115235 A JP2013115235 A JP 2013115235A JP 5519060 B2 JP5519060 B2 JP 5519060B2
Authority
JP
Japan
Prior art keywords
packet
trace
timing
data
synchronization
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
JP2013115235A
Other languages
English (en)
Other versions
JP2013211046A (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 JP2013211046A publication Critical patent/JP2013211046A/ja
Application granted granted Critical
Publication of JP5519060B2 publication Critical patent/JP5519060B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Landscapes

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

Description

本発明は、電子データ処理、とくに、電子データ処理装置およびシステムのエミュレーション、シミュレーションおよびテスト機能に関する。
最新のウェハーリソグラフィーおよび表面実装技術によって、電子回路設計によるシリコン基板およびプリント配線基板の双方の上に、より一層複雑な機能を集積するようになってきた。実装設計の高密度化と配線間隔の縮小によって、デバイスへの物理的なアクセスが損なわれるという残念な結果がもたらされている。設計時にテスト容易化を組み込むことが必要であり、これにより、テストとデバッグ中に、完成した製品の制御と計測の両方が可能となる。製品を出荷する前の最終検査の段階で、すべての製造上の不具合が検出されることが望ましい。このような基本的な要求を達成することは、自動テスト装置によって製品が検査できるように、論理設計段階でテスト性を考慮した設計をすることがなければ、複雑な設計にとっては、大変困難なものとなる。
機能性および製造上の不具合を検査することに加え、アプリケーソンソフトウェア開発では、システムあるいはサブシステムの設計フェーズと同様のレベルのシミュレーション、可観測性および可制御性が求められる。設計のエミュレーション段階では、IC(集積回路)あるいは複数のICの集合体がソフトウェアプログラムと一体となった、最終装置あるいは最終アプリケーションで、これらICが正しく機能することを確認することが必要である。
自動車産業、情報通信分野、防衛システム、生命維持システムでICが多量に使用されるようになり、完璧な検査と、広範囲にわたるリアルタイムデバッグの必要性が重要なものとなってきている。
機能テストでは、要求性能に対する適合性を確認するためのテストベクトルを設計者自身が作成する責任をもっているが、このテストは、いまだにテスト方法として広く用いられている。極めて大規模なシステムでは、このテスト方法は、検出可能な不具合の範囲を高いレベルにするたえには、きわめて不十分である。自動的に生成されたテストパタンが、完全なテスト性を保証するために望まれるところであり、可制御性と可観測性こそが、(システムレベルからトランジスタレベルに到るまでの)テストの全範囲を包括する重要な課題となる。
大規模設計での他の問題としては、長い設計時間と、それに伴う実質的なコスト高の問題がある。再利用性を考えた設計の考え方に基づいた、テスト容易化回路、システムおよび設計手法というものを備えることが望ましい。この方法によって、初期装置に組み込まれたテスト容易化回路、シミュレーションおよびエミュレーション回路、およびシステムならびに手法を再利用することにより、後で手掛けられる装置やシステムが、テスト容易性、シミュレーションおよびエミュレーションのためにより安い設計コストで実現できる。事前に仕組まれたテスト容易化、シミュレーションおよびエミュレーションの方法がなければ、実質的な設計時間というものは、その都度のテストパターン作成と変更に多くが費やされてしまう。
たとえ、モジュールを再利用可能なように設計し、そのテストパタンを完全に生成してグレード分けするように、巨大な投資をしても、その後のモジュールの利用が、アプリケーション固有の論理設計に埋もれてしまい、個々の再利用モジュールへのアクセスが困難になったり、不可能になってしまう恐れが多分にある。従って、このような落とし穴にはまることは是非とも避ける必要がある。
IC設計の進展に伴い、例えば、内部論理の可視性や制御性が損なわれたり、故障の検出範囲や状態の切り替え能力が減少したり、テスト開発・検証により多くの問題を生じたり、さらに設計シミュレーションの複雑度が増したり、CAD(計算機支援設計)ツールの止まないコスト増加の問題などが発生する。基板設計では、この影響の副作用としては、レジスタの可視性や制御性が損なわれたり、背系検証でのデバッグとシミュレーションが複雑化したり、多数の回路をひとつのパッケージに集積することにより、物理的に各回路へアクセスすることが困難となるために従来のエミュレーションができなくなったり、基板上の配線の複雑度が増したり、設計ツールや、混合モードでのパッケージ化ならびに生産性を考慮した設計などへのコスト高を招くといったものがあげられる。アプリケーション開発では、いくつかの副作用としては、状態の可視性が損なわれたり、高速エミュレーションが困難になったり、時間領域でのシミュレーションの規模を縮小せざるを得なくなったり、デバッグ作業の複雑度が増したり、エミュレータのコスト高を招くことなどがあげられる。生産の面での副作用としては、可視性や制御性が損なわれたり、テストベクトルとモデルの複雑度が増したり、テストの複雑度が増したり、混合モードでのパッケージ化の必要性、自動テスト装置に依然として7桁台のコスト高を招くこと、より厳しい許容範囲などがあげられる。
スキャンベースのエミュレーションと多重処理によるデバッグを用いたエミュレーション技術は、10年以上も前に導入されている。1988年には、設計時間の短縮への要請と、オンチップ・エミュレーションのために新たに活用可能となった領域によって、従来の回路内エミュレーションからスキャンベースに移行する動きが見られた。設計時間の短縮への要請は、3つの要因によって生じたものである。オンチップメモリのような、より高い集積度が可能になったこと、エミュレーションを実現するロジックによる電気的な浸入を引き起こすクロック周波数の増加、そして、エミュレータの接続性の問題を引き起こすより複雑なパッケージ化である。
現在でも、これらの要因が、形を変えて顕在化し、現在の複雑で高クロック周波数、高集積化設計によって必要となったシステムデバッグ装置を提供できるような、スキャンベース・エミュレータの開発の課題となっている。結果として得られたシステムは、より小型化、高速化、安価なものとなった。これらのシステムは、ますます高密度化した形状で、より高性能なものとなっている。これらの新しいシステムの各々は、迅速なシステム開発のキーとなる、システム動作の監視に逆に影響を及ぼすようになっている。この影響は、「可視化の阻害」と呼ばれるものである。
アプリケーション開発者は、全ての必要なシステム動作についての可視化と制御可能性を志向している。集積化レベルとクロック周波数が相変わらず増加しつづけることにより、時間がたつについて、その可視性と制御可能性が減少する。これらの影響により、可視性と制御可能性について、要求される可視性および制御可能性のレベルと、実際に利用可能なレベルとの間にギャップが生じる結果となる。時間と供にこのギャップは確実に広くなる。アプリケーション開発ツールベンダは、このギャップが広がるスピードをなんとか留めようと努力を続けている。開発ツールソフトウェアと、これに関連するハードウェア機器は、少ない努力で最大の効果をあげる必要もあり、それぞれが異なる方向に発展する宿命にある。
現在の高集積化されたチップ上システム(SOC)技術によって、可視性と制御可能性のギャップがより劇的に拡大してしまった。ロジック・アナライザや分割されたプロトタイプシステムのようは従来型のデバッグ手法では、集積化レベルと今日の増加しつづけるクロック周波数に追従することが不可能となっている。
集積化レベルが増加するにつれ、多数のサブシステム機器を接続するシステムバスは、従来型のロジックアナライザに対してこれらのバスへのアクセスを禁止しながら、チップ上を移動する。重要なバスの可視性が限定されたりまったく禁止されることにより、ロジックアナライザのようなツールは、システムの挙動を概観したり、開発中のシステムを制御するのに必要なトリガー機構を提供することに供することができない。アクセスすることができないようなものを制御すること自身が困難となるため、このような可視性が損なわれることに付随して、制御可能性の喪失という問題が起こる。
このような傾向に対処するために、システム設計者等は、これらのバスが露出するように、露出したバスを用いてプロトタイプシステムの構成を可能とするようなシステム要素を構築しながら、設計作業をしてきた。この方式もまた、システムクロック周波数がますます増加の一途を辿ることに対抗するものである。CPUクロック周波数が増加すると、チップ間のインターフェース速度は、それに追従できなくなる。開発者たちは、チップ間通信速度に遅延を与える補償のために追加されたインターフェースの待ち状態によって、分割されたシステム性能はその集積化された対象物に対して追従しないことに気付いている。ある時点で、この性能上の劣化は、許容しうる限界のレベルに達し、分割されたプロトタイプシステムは、実行可能なデバッグオプションとはなりえなくなる。我々は、アプリケーション開発のためのプラットフォームとして、生産するデバイス自身がその役目を負わなければならないような段階に入ったことになる。
CPUクロック周波数の増加は、また、他の単純な可視化機構の終焉を加速している。CPUクロック周波数は、I/O状態速度の最大値を上回る恐れがあるため、原形式で情報を出力するための可視化ポートは、もはや、CPU速度に追従することができない。オンチップサブシステムもまた、CPUクロック周波数よりも低速のクロック周波数で駆動される。この方法は、システム設計を簡素化し、電力消費を減少させるために採られるものである。これらの開発は、CPU動作の明瞭な概観を提供することに、単純な可視化ポートを信頼して用いることがも、もはやできなくなっていることを意味している。
可視性と制御可能性が損なわれるにつれ、アプリケーションを開発するために用いられる開発ツールは、その生産性を落としてしまっている。また、これらのツールは、可視性と制御可能性を確保するために必要となるツールの複雑度が増すことにより、適用自体が困難になっている。チップ上システムによって生じた、可視性と制御可能性、また利用のし易さの問題は、製品開発サイクルを長期化させる根源となる。
高集積化の傾向は、困難なデバッグ環境を設計者に与えるものとなるため、これは、デバッグ問題への新たな方法が現れることへの希望を提示するものでもある。開発サイクル時間に影響を及ぼす集積度とクロック周波数の増加は、また、これらの影響を解決する機会を生み出すという皮肉な結果をもたらしている。
チップ上のデバッグ機構は、これまでになく実現しやすいものになっている。高速の高性能なチップは、大規模メモリ構造をもち、急激にこの形態が主流となっているため、CPUとメモリサブシステムを伴うランダム論理に関するシステムコストは、全体のシステムコスト中を占める割合として、パーセント単位で下降している。数百というゲートのコストは、常に低いものであり、これは、ある場合には、現在のチップ設計では無視できる値となる。現在の高密度実装パッケージでの1ピン当たりのコストもまた下落してきており、これにより、より多数のピンをデバッグのために割り当てることが容易になっている。実装可能なゲートとピンの組合せによって、チップ上システムに伴う課題を解決するために必要となるチップ上の新しいデバッグ機構の利用が可能となっている。
生産するデバイスが、アプリケーションデバッグのプラットフォームとしても供用される際には、これらは、市場出荷までの時間を最短化するという目的を果たすための、十分なデバッグ機能を提供しなければならない。デバッグに対する要求は、アプリケーションごとに異なるため、市場出荷までの時間とコストへの要求のバランスをとるために、オンチップデバッグ機構を調整できることが高く望まれる。
これらのオンチップデバッグ機能は、チップの反復コストに影響を及ぼすため、すべての解決策が拡張性を有することが、基本的に重要なものとなる。「必要なものにのみ投資する」という考え方を、オンチップツールの活用のための、指針となる考え方とすべきである。この新しい考え方では、システム構築者は、チップコストに対する制約と製品開発チームのデバックに対する要求とのバランスをとりながら、機能性の他の事項とともに、オンチップデバッグ機構の仕様を定義することができる。
本発明のエミュレーション技術は、上述したようなデバッグの良い面を活用し、可視性と制御可能性のギャップを狭めることを目的としたデバッグ機能の手段を開発者たちに提供する。
このエミュレーション技術は、現在の高集積化された組み込みリアルタイムシステムの複雑なデバッグの問題に対する解決策を提供する。この技術は、現状のエミュレータの特徴点を拡張しながら、上述したような、可視性と制御可能性が損なわれる問題や使い易さについての問題に挑むものである。
本発明のオンチップデバッグ構成部品は、コストとデバッグ機能を最適化するための手段を提供する。このアーキテクチャは、システムコストと市場出荷までの時間について制約を満たすように、コストエミュレーション構成部品あるいは周辺機器の柔軟な組合せを実現するものである。拡張性についての側面によって、採算の合うコストと、性能への影響をある程度限定した形で製造デバイスにこれらのオンチップデバッグ構成部品を組み込むことが可能となる。
本発明のエミュレーションシステムの実施例の概略を示す図。 図1のエミュレーションシステムの部分を詳細に示す図。 本発明によるトレースパケット形式の一例を示す図。 本発明によるタイミングパケットの一例を示す図。 本発明によるタイミング同期パケットを示す図。 本発明によるPC同期ポイントコマンドの部分の一例を示す図。 本発明によるPC同期ポイントの一例を示す図。 図2のトレースコレクタの一実施例の関連する部分の概略を示す図。 本発明によるメモリ参照コマンドの一例を示す図。 本発明によるメモリ参照同期ポイントの一例を示す図。 図8とともに、図2のトレース収集器のさらに他の実施例の関連する部分の概略を示す図。 図8および11のパケット発生器に供用することができるデータ圧縮器の一例の概略を示す図。 図12のデータコンプレッサによって行うことができる動作の一例を示す図。 図12のデータコンプレッサによって行うことができる動作の一例を示す図。 図12のデータコンプレッサによって行うことができる動作の一例を示す図。 図12のデータコンプレッサによって行うことができる動作の一例を示す図。 図12のデータコンプレッサによって行うことができる動作の一例を示す図。 図12のデータコンプレッサによって行うことができる動作の一例を示す図。 図12のデータコンプレッサによって行うことができる動作の一例を示す図。 ターゲットチップからエミュレータにエミュレーション制御データとエミュレーションデータを送出する従来の方法を示す図。 図2のトレース収集器とデータ伝送収集器によって行うことができる動作の一例を示す図。 Aは、図2のデータ送出部の一例の関連する部分の概略を示す図であり、Bは、図22Aの伝送フォーマットの一例の関連する部分の概略を示す図。 図22Aと図22Bの伝送フォーマットによって行うことができる動作の一例を示す図。 図22Aと図22Bの伝送フォーマットによって行うことができる動作の一例を示す図。 図22Aと図22Bの伝送フォーマットによって行うことができる動作の一例を示す図。 図22Aと図22Bの伝送フォーマットによって行うことができる動作の一例を示す図。 図22Aと図22Bの伝送フォーマットによって行うことができる動作の一例を示す図。
本発明のエミュレーション、デバッグおよびシミュレーションツールを以下説明する。ここで説明するエミュレーションおよびデバッグの解決策は、オフチップで従来から実行されているデバッグ機能の多くが、もしこれらが開発者のデバッグ装備に留まっているならば、これらを製造デバイスに集積するという前提に基づくものである。デバッグ機能のチップ上への移行をサポートするために、本発明は、オンチップでの適用に適した強力な拡張性のあるデバッグ手段を提供する。この技術は、可視性を損なうことにより引き起こされる、可視性と制御可能性が損なわれる問題や使い易さについての問題に真正面から挑戦する能力を付加しつつ、初期のJTAG技術の全ての利点を継承するものである。
4つの重要な構造上の構成要素が、上述した可視性と制御可能性のギャップに関する課題を解決するカギとなる。
1.リアルタイム・エミュレーション(RTE)
2.リアルタイム・データ交換(RTDX)
3.トレース
4.高度解析
これらの要素は、表1に示すような、可視性と制御可能性に関する要求について対応するものである。
Figure 0005519060
リアルタイム・エミュレーション(RTE)は、実時間での実行制御(実行、停止、休止等)と、レジスタ/メモリの可視性のための、予め仕込まれた能力の基本的な組を提供する。この要素によって、ユーザは、実時間での割り込みを許しながら、アプリケーションコードをデバッグすることができる。割り込み処理への影響を与えずに、レジスタとメモリへは、実時間でアクセスすることができる。ユーザは、実時間と非実時間の割り込みを区別し、実時間でのデバッグ時のメモリアクセスによって影響を受けることのないコードを記すことができる。この基本的なエミュレーション能力は、2つの単点ハードウェアブレークポイント、単一のデータ観測ポイント、イベントカウンタあるいはデータロギング機構として構成することができるハードウェアを含んでいる。EMUピン能力は、マルチプロセッサイベント処理のための取りがI/Oと、単一方向(ターゲットからホストへ向き)データロギング機構とを含んでいる。
RTDXTMは、エミュレータホストとターゲットアプリケーションとの間の実時間データ転送を提供する。この要素は、エミュレータによって実装される双方向および単一方向のDSPターゲット/ホスト間データ転送を提供する。DSP(あるいはターゲット)アプリケーションは、ホストへ転送されるターゲットデータあるいはホストからの受信データを収集し、一方、(DSPおよびエミュレータ中の)エミュレータハードウェアは、実際の転送を管理する。いくつかのRTDX転送機構がサポートされ、各々は、帯域要求に対するゲートとピンの可用性にトレードオフの関係となる、異なる帯域レベルとピン利用を提供する。
トレースは、アプリケーション動作についての可視性を提供する非侵入性の機構である。トレースは、プログラムフロー、メモリアクセスといったCPUに関する動作と、ASIC状態器械のようなシステムの動作と、データストリームおよびCPUが収集するデータとを監視するために用いられる。ヒストリカルトレース技術は、生産されるデバイスよりも多いピン数をもつ、ロジックアナライザのような収集および特別のエミュレーション(SE)デバイスを用いている。ロジックアナライザまたは同様のデバイスは、プログラミングインターフェース(フィルタ機構)のような状態器械を用いて、データの原形式を処理する。このトレースモデルは、格納、観測および解析に必要なデータを選択するための外部トリガーとともに出力される全ての活動に依存している。
しかし、既存のロジックアナライザと同種の技術は、高い集積化レベル、クロック周波数の増加およびより複雑度を増したパッケージ化によって損なわれた可視性を向上させる解決策を提供するものではない。このモデルでは、生産されるデバイスは、限られた数のピンによって可視性を向上させなければならない。出力されるデータは、必要とされる出力帯域を落とすために、符号化または圧縮される。記録機構は、出力されたデータを深いトレースメモリ中に積めこむ、純粋な記録デバイスとなる。トレースソフトウェアは、記録されたデータを、システム活動の記録に変換するために用いられる。
高速でのシリアルデータ出力をもつオンチップトレースは、高度解析と組み合わせて、SOC設計のための解決策を提供する。トレースは、プログラムフローやメモリアクセスなどのCPUに関連した動作と、ASIC状態機械などのシステム活動と、データストリームやCPU収集データを監視するために用いられる。これにより、4つの異なる種類のトレースデータが生まれる。
・DSPコアによって提供されるプログラムフローおよびタイミング(PCトレ ース)
・DSPコアまたはチップレベル周辺機器によるメモリデータの参照(データ読 み込み、書き込み)
・アプリケーション固有の信号およびデータ(ASIC活動)
・CPU収集データ
トレースデータの4つの種類のためのデータ収集機構は、モジュール化され、所望の帯域に対する要求を満たすために、機能性と、ゲートとピンの間のトレードオフとなっている。
RTDXとトレース機能は、同様の、しかし異なる形式の可視性を提供する。これらは、データがどのように収集されるかによって、また、最も効果的と思われる条件によって異なる。これを明確にするために、以下、概説する。
RTDXTM(実時間データ交換)は、CPUによってもたらされる、情報を交換するための解決策であり、交換されるデータは、プログラムフローに関連した明確な挙動を示すものとなっている。例えば、RTDXは、DSPアルゴリズムからの入力または出力バッファを記録することに用いられる。RTDXは、データを収集する際に、CPUの助けを必要とするため、これを行うために一定の、しかし小さいCPU帯域を必要とする。このように、RTDXは、低い反復オーバーヘッドコストで可視性を提供するための、アプリケーション内部の組み込み機構である。
トレースは、極めて高い帯域幅(BW)データ出力をもつ、ハードウェアによって行われる非侵入型の(バス探索のような)収集機構である。トレースは、極めて高いデータレートでデータを出力する必要がある際や、トレースするべき情報の挙動が未知であったり事実上不規則だったり、あるいはアドレスと関連づけられる場合に用いられる。プログラムフローは、事前に挙動を知ることができない場合の典型例である。この種類の情報を出力するために必要となる帯域幅は高いものである。特定のアドレスのデータトレースは、もう一つの例である。データトレースを出力するために必要な帯域幅は高いものである。
トレースデータは、ターゲットからホストのみ向かう、単一方向性をもっている。RTDXの単一方向形式(データロギング)がサポートされているにもかかわらず、RTDXは、いずれの方向にもデータを交換することができる。トレースデータ経路は、極めて高い速度の単一方向性RTDX(CPU収集トレースデータ)を提供するためにも用いられる。
トレースとRTDXの高いレベルの特徴を、表2に示す。
Figure 0005519060
高度解析は、非侵入型のオンチップイベント検出とトリガー生成機構を提供する。高度解析により生成されるトリガー出力は、トレースやRTDXなど他のインフラ要素を制御する。ヒストリカルトレース技術は、ロジックアナライザ中でのトレースを制御するトリガーを生成したり、実行を中断させるためにデバイスに供給されるトリガーを生成するために、ロジックアナライザに出力されるバス挙動を用いる。これは、通常、生産するデバイス(SEまたは特別のエミュレーションデバイス)よりも多くの数のピンをもつチップを含む。今日のデバイスの集積化レベルとクロック周波数は、完全な可視性をもつバス出力を妨げるものであるため、この解析モデルは、チップ上システム(SOC)の段階では、良好に働くものではなかった。
高度解析は、歴史的にオフチップで実現されていたトリガー機能の最も重要な部分を再構成するために、実現可能なオンチップ命令とデータバスコンパレータ、シーケンサおよび状態機械、ならびにイベントカウンタを提供する。この構造上の要素は、イベントを識別し、イベントシーケンスを追跡し、これらのイベントの発生に応じて動作(実行中断、トレースの許可・禁止、カウント、RTDXの許可・禁止等)を割り当てる。この能力のためにモジュラー型の構成ブロックは、バス比較器、外部イベント生成器、状態機械あるいは状態シーケンサ、およびトリガ生成器を含んでいる。高度解析システムのモジュラー構成によって、機能性とゲート間のトレードオフとなる。
エミュレータの能力は、以下の4つのエミュレータ要素の相互作用によってもたらされる。
1.デバッガーアプリケーションプログラム
2.ホストコンピュータ
3.エミュレーションコントローラ、および
4.オンチップデバッグ機構
これらの構成要素は、図1に示すように接続されている。ホストコンピュータ10は、(ホストの外部にある)エミュレーションコントローラ12に接続され、そのエミュレーションコントローラ(以下、エミュレータあるいはコントローラと称する)はまた、ターゲットシステム16に接続されている。ユーザは、例えば、テキサスインスツルメンツ社のコード・コンポーザ・スタジオ・プログラムのような、ホストコンピュータ上で動作するデバッガーアプリケーションプログラムによってターゲットアプリケーションを制御する。
典型的なデバッグシステムを、図1に示す。このシステムは、エミュレータ12によってデバッグ機能にアクセスするホストコンピュータ10(通常、PCで構成される)を用いる。デバッガアプリケーションプログラムは、ユーザに分かりやすい形式で、ホストコンピュータを介してデバッグ機能を提供する。ユーザの負担を軽減するため、デバッグソフトウェアによって、デバッグ資源が必要に応じて割り当てられる。ソースレベルデバッグは、ユーザから資源の複雑さが見えないようにして、デバッグ資源を利用する。デバッガーは、オンチップトレースとトリガ機構とともに、注目しているチップ挙動を選択、記録し表示する手段を提供する。トレース表示は、トレースログを生成したソースコードに自動的に対応付けられる。エミュレータは、デバッグ制御とトレース記録の機能を提供する。
デバッグ機能(facilities)は、ターゲットチップのJTAGあるいは同様のシリアルデバッグインターフェースを介した標準的なエミュレータデバッグアクセスを用いてプログラムされる。ピンは非常に貴重であるため、本技術は、シリコン費用の少ない増分によって、トレース、トリガおよび他のデバッグ機能がデバッグピン群を分け合うようにする。固定されたピン形式もサポートされている。ピン選択を分け合うことが選択された際には、トレース出力の帯域幅を最大化するように、各デバッグセッションの最初に(チップがアプリケーションプログラムを実行するように命じられる前に)デバッグピンの利用が決定される。トレース帯域幅は、トレースする最大のピン数をに割り当てることにより、最大化される。
システム内でのデバッグ機能と構成ブロックは、変化する。従って、エミュレータソフトウェアは、その構成を実行時に確立する。この方法は、ハードウェアブロックに対し、構成(configuration)とレジスタ組織(organization)を扱う一群の制約を満足することを要求する。他の構成要素は、構成ブロックと他の周辺装置をシステムメモリマップに割り当てるためのハードウェア検索機能を提供する。エミュレータソフトウェアは、検索機能を使って、資源を割り当てる。モジュールが割り当てられるアドレスと種類IDは、見つかった各ブロックを一意に識別する。一旦、IDが発見されると、設計データベースを用いて、的確な構成と全てのシステム入出力が決定される。
ホストコンピュータは、通常、少なくとも64Mバイトのメモリを持ち、少なくとも、Windows(登録商標)95、サービスリリース2(SR2)、Windows(登録商標)NTあるいはWindows(登録商標)の最新バージョンを動作させることができるPCである。このPCは、エミュレータによって要求される、例えば、以下に示す通信インターフェースの一つをサポートする必要がある。
・イーサネット(登録商標)10Tおよび100T、TCP/IPプロトコル
・ユニバーサルシリアルバス(USB)、リビジョン1.x
・Firewire、IEEE1394、および、または
・パラレルポート(SPP、EPPおよびECP)
エミュレーションコントローラ12は、ホストコンピュータ10とターゲットシステム16との間のブリッジを提供し、ホストコンピュータ上で動作するデバッガアプリケーションプログラムと、DSP(あるいは他のターゲットプロセッサ)14の上で動作するターゲットアプリケーションの間を通過する全てのデバッグ情報を扱う。
一つのエミュレーター構成の例は、以下の全ての機能をサポートする。
・実時間エミュレーション
・RTDX
・トレース、および
・高度解析
更に、エミュレータ/ターゲット間インターフェースは、以下をサポートする。
・入出力トリガー
・ビットI/O、および
・特別の拡張動作モードの管理
エミュレーションコントローラ12は、3、4または5ビットのスキャンベースのインターフェイスを介して、実時間エミュレーション機能(実行制御、メモリおよびレジスタアクセス)にアクセスする。RTCX機能には、スキャンによって、または、3つの項帯域幅RTDXフォーマットを用いてアクセスされる。入出力トリガーによって、他のシステム構成要素から、チップにデバッグイベントを通知でき、その逆も可能である。
エミュレータ12は、通信部およびエミュレーション部に分割されている。通信部は、ホスト通信リンクでのホスト10との通信をサポートし、一方、エミュレーション部は、ターゲットに接続され、ターゲットデバッグ機能とデバイスデバッグポートを管理している。エミュレータ12は、例えば、前述した工業規格に基づく15の通信リンクの一つを用いて、ホスト10と通信する。ホスト/エミュレーター間の接続は、流通している汎用配線技術によって確立される。ホスト/エミュレータ間の分離は、用いられるインターフェースに適用される規格によって定められる。
エミュレーションコントローラ12は、17の一本のターゲットケーブルあるいは複数のケーブルを介して、ターゲットシステム16と通信する。デバッグ、トレースおよびRTDX機能は、ターゲットケーブルを共有し、ある場合には、同一のデバイスピンを共有する。ターゲットシステムが、一本のケーブルに収容できないトレース幅を用いる際には、一本以上のターゲットケーブルが必要となる。全てのトレース、RTDXおよびデバッグ通信は、このリンクを介して行われる。
図2は、図1のエミュレーションシステム内のトレースシステムの実施例の核心部分の概略を示すものである。図2に示すように、トレースシステムは、ターゲットチップ上に形成されたトリガーサブシステムとトレースサブシステム、エミュレータ中に設けられたトレースレコーダ、およびホストコンピュータ中に設けられた設定および後処理部からなっている。
トリガサブシステムは、例えば、なにがしかの好適な従来手法によって、ハードウェアおよびソフトウェアトリガを識別するために動作する。トレースサブシステムは、トリガサブシステムに接続され、ハードウェアおよび/またはソフトウェアトリガを受信するためのトレース収集部(あるいはトレースコレクター)21を含んでいる。また、トレースコレクターは、複数の情報源から従来のトレース入力情報(例えば、タイミング情報、プログラムフロー情報、メモリ書き込み情報およびメモリ読み出し情報)を受信し、そこからトレース情報を含むトレースパケットのストリームを生成する。トレースサブシステムは、更に、トレースパケットストリームを受信し、これを、トレース出力ポートからターゲットチップの適切な出力ピン(例えば、デバッグポートまたはシステムバスポート)に出力される伝送パケットのストリームとして、近似的に成形するトレース出力部を含む。伝送パケットのストリームは、ターゲットチップのピン境界から、エミュレータ内のトレースレコーダに配信される。トレースレコーダ(あるいは、トレースレシーバ)は、例えば、一つあるいは複数の(図2に示す付加チャネルを含む)トレースチャネルから供給されるトレースストリームを単に記録するだけの、単純な記録機構である。ホストコンピュータは、記録されたパケットを後で検索し、トレースパケットレコーダでデコードし、デコードされたパケット情報をトレースディスプレーに表示する。
トレースコレクタ21のいくつかの実施例は、トレース情報を、プログラムカウンタ(PC)情報、メモリ読み出し情報、メモリ書き込み情報およびタイミング情報として表す10ビットのエンコーディングを用いる。また、もっと広いエンコーディングも利用可能である。更に、以下で詳説するように、前述で例示した全ての種類の情報は、ターゲットチップの同一のピンを介して、エミュレータのアクセスに伝送される。上述した10ビットエンコーディングの結果は、10ビットのパケットとなり、これには、オペレーションコード(opcodes)またはデータ、あるいは、オペレーションコードおよびデータの両方が含まれている。エンコードされたパケットの各々は、送信されている情報の種類を示す1つのオペレーションコードを含んでいる。従って、2ビット長のオペレーションコードについては、エンコードされたパケットの残りの8ビットが、2ビットオペレーションコードに関連するデータを表すものとなる。一方、10ビットのオペレーションコードを含むエンコードされたパケットは、いかなるデータビットも含むことはない。
多くの場合、付加データを、与えられたオペレーションコードに関連付けることが必要である。例えば、2ビットのオペレーションコードについて、8つの付加ビットのみが現状のパケットでは利用可能である。もし、8つ以上の付加ビットが、所定の情報の通信にとって必要ならば、付加データビットは、以降のパケットに含ませることができ、以下、このパケットをデータパケットあるいは継続パケットと称する。継続パケットは、例えば、その2つの最上位ビットを10のオペレーションコードを定義するように設定することによって一意に識別される。このオペレーションコードは、以下、継続オペレーションコードと称する。継続パケットに含まれるデータビットは、10という継続オペレーションコード以外のオペレーションコードを含む、以前のパケットに関連した情報を表す。
オペレーションコード(すなわち、継続オペレーションコード以外の)パケットで始まり、オペレーションコードパケットに続く全ての必要な継続(または、データ)パケットを含むパケット列は、以下、コマンドと称する。初期の非継続オペレーションコードは、コマンドオペレーションコードと称する。コマンドは、0またはそれ以上のパラメータを持っている。各パラメータは、コマンドオペレーションコードに関連したデータの独立した要素である。予期されるパラメータの数は、コマンドオペレーションコードに依存する。コマンドの各パラメータは、一つまたは複数のパケット列としてエンコードされ、その先頭は、「パラメータの開始」オペレーションコードとして識別され、その残りは、継続パケットとなる。
コマンドの解釈は、2つの要因、すなわち、コマンドオペレーションコードとコマンドに含まれるパラメータ数に依存する。言い換えると、例えば、コマンドオペレーションコードパケットは、もし他のコマンドオペレーションパケットがその直後に続くならば一つの意味があり、もしコマンドオペレーションコードパケットの直後に継続パケットが続くならば、まったく別の意味を持つことになる。図3は、本発明によるトレースパケット形式の一例を示すものである。図3に示すように、いくつかのオペレーションコードは、10ビット長をもち、他のものは10ビット以下の長さである。10ビット長以下のオペレーションコードを含むパケットでは、残りのビット(図3では、xで示す)は、データ伝送のために用いられる。
図3に示すように、オペレーションコード11は、タイミング情報パケットを示す。タイミングパケット中の各データ(すなわち、非オペレーションコード)ビットは、ターゲットプロセッサの単一のクロックサイクルを表す。いくつかのタイミングパケットの例を、図4に示す。オペレーションコードの第一ビット(すなわち、最も左側のビット)は、タイミングパケット中に記録された最新クロックサイクルを表し、最終ビット(すなわち、最も右側のビット)は、タイミングパケット中に記録された最古のクロックサイクルを表す。更に、タイミングパケット中の、0というデータビット値は、単一の命令あるいは複数の命令がそのクロックサイクル中に実行されることを表している。タイミングパケット中の、1というデータビット値は、待ち状態が発生し、そのクロックサイクル中にプログラム実行が中断されることを表している。これにより、トレース中の各命令について、サイクルごとの正確なプロファイリングが可能となる。タイミングパケットの例を、図4に示し、その説明を加えた。
いくつかの実施例では、各命令(または、並列命令群)は、単一の0ビットによって表される。もし命令の実行中に、実行中断が発生すると、追加の中断サイクルが、1というビット値で表される。このような実施例では、実行の第一サイクルが、0というビット値で表され、全ての追加のサイクルが、1というビット値で表される。
上述した本発明によるタイミングパケットは、ピン境界から伝送パケットを出力するために用いられるトレース出力クロック(例えば、図2の発振器によるものと仮定すると)が、ターゲットプロセッサコアの内部クロック周波数よりも十分低い同一のクロック周波数(例えば、200MHz)で動作したとしても、エミュレーションシステムが、例えば、300MHzから1.2GHzというターゲットプロセッサのクロック周波数に「追従」できるようにするものである。
ここで再び図2によれば、、トレース発振器21によって生成されたパケットストリームの任意のポイントで、タイミングパケットを発生させることが可能である。例えば、あるコマンドの中心にタイミングパケットを挿入しても、エミュレータによるそのコマンドの解釈に対して、変化や影響を与えないことが可能となる。例えば、挿入されたタイミングパケットに続くコマンドのデータパケットが、あたかもタイミングパケットが存在しないかのように扱われる。パケットストリーム中の任意のポイントに、このタイミングパケットを挿入する機能は、伝送に先立って、トレース発振器21中でタイミングパケットが待行列に入ることを有利に避けることができる。
また再び図3によれば、タイミング同期ポイントパケットは、トレースストリーム中のタイミングパケットと、トレースストリーム中の他のトレース情報との関係を示すために用いられる。例えば、図5に示したタイミング同期ポイントは、タイミングパケット中のタイミング情報を、パケットストリームのパケットで伝送中でもあるPCトレース情報に対応付けるために用いられる。図5のタイミング同期ポイントは、タイミング同期ヘッダ(すなわち、オペレーションコード)と、本例では、3ビットPC同期IDとを含んでいる。タイミング同期ポイントは、タイミングパケットのストリーム中での位置を記録するために用いられる。同期ポイントは、それがマークするタイミングパケットの前にタイミングパケットストリームに挿入される。タイミングパケットのように、タイミング同期ポイントパケットは、他のコマンドの真中に挿入され、この際、これらの割り込みコマンドのパケットの解釈と干渉しないようになっている。PC同期IDは、PCトレースパケットのストリームと一体となった対応するPC同期ポイントパケットに対応づけられるために用いられる。
再び、図3によれば、PC同期ポイントは、PCトレースパケットストリームの様々な状況に応じて用いられる。いくつかの種類のプログラムイベントを表すために、様々な種類のPC同期ポイントがある。例えば、PC同期ポイントは、周期的に生成されるPCおよびタイミングパケット同期ポイントと、PCトレースセグメントの開始もしくはPCトレースセグメントの終了をマーク付けするために用いられる。このように、あらゆるPC同期ポイントは、図3に示したオペレーションコードでさえ、図6に示すような付加的な種類コード情報を含んでいる。この種類コード情報は、PC同期ポイントに対する原因を表している。図6は、例えば、PCトレースストリームの第一ポイント、PCトレースストリームの最終ポイント、周期的に生成される同期ポイントなど、いろいろな理由によって生成される様々な種類のPC同期ポイントの種類コードの例を示している。
図7は、PC同期ポイントコマンドの例を、更に詳細に示したものである。図7に示すように、PC同期ポイントコマンドは、PC同期ポイントオペレーションコードとPC同期ポイントの種類コードを含む第一パケットを含んでいる。最初のコマンドオペレーションコードパケットの後、PC同期IDを指定するために第一継続パケットが用いられる。このPC同期IDは、最終的には、PC同期ポイントを、同一のPC同期IDをもつ対応したタイミング同期ポイントと一致させるために、ホストコンピュータによって用いられる。このPC同期IDと同一のパケットは、3ビットの時間インデックスパラメータである。図2のトレース収集器によって生成されたパケットストリームでは、対応するPC同期ポイントが発生している間、タイミング同期ポイントの後の第一タイミングパケットが、タイミングビットを保持し続ける。そのタイミングパケットのビットに対する3ビット時間インデックスポイントは、PC同期ポイントで指定されたPCでの命令実行の第一サイクルを表す。例えば、もし時間インデックス値が000ならば、タイミング同期ポイントの直後にあるタイミングパケットの全てのビットは、図7のPC同期ポイントの最後の4つのパケットで指定されたPC値の間もしくは後に実行されるサイクルに対応する。
図8は、図2のトレース収集器21の実施例の主要部分の概略を示すものである。図8のトレース収集器は、タイミングパケットを生成するためのタイミングパケット発生器81とPCトレースパケットを生成するためのPCトレースパケット発生器82を含んでいる。タイミングパケット発生器81は、ターゲットプロセッサクロックを入力として受け取り、また、実行情報(すなわち、実行もしくは待ち状態)も受け取り、上述のようにタイミングパケットを生成することにより、これらの入力に対して応答する。PCトレースパケット発生器82は、PCトレースパケットストリームの中に埋め込むためのPCアドレスを受け取るPCレジスタに接続されている。また、PCトレースパケット発生器82は、PCトレース動作をいつ開始、停止するか、また、PCトレースパケットストリームの中にPC同期ポイントをいつ生成させるかを指定するトリガー情報も入力する。このトリガー情報は、あらゆる望ましい方法で生成することができるが、タイミングパケット生成器81へも提供され、PCトレースパケット発生器82がいつPC同期ポイントを生成するかをタイミングパケット発生器81が検知できるようになっていて、この検知によって、タイミングパケット発生器81が対応するタイミング同期ポイントと時間インデックスを生成し、PC同期ポイントに埋め込むために時間インデックスをPCトレースパケット発生器82に送り出すことが可能となる。
PC同期ポイントと、それに対応するタイミング同期ポイントが生成される際には、タイミングパケット発生器81とPCトレースパケット発生器82は、PC同期ID番号のテーブル83にアクセスし、各パケット発生器は、同一のID番号を取得し、タイミング同期ポイントを一意にPC同期ポイントに対応付けることができる。各々の新しいPCとタイミング同期ポイントの組み合わせによって、タイミングパケット発生器81とPCトレースパケット発生器82は、テーブル83から新しいID番号を取得する。
タイミングパケット発生器81とPCトレースパケット発生器82によって生成されたパケットストリームは、受信したパケットストリームと、他のトレース収集動作から受信した他のすべてのトレースパケットストリームとを組み合わせ、図2のトレース出力部への出力として複合パケットストリームを生成するストリーム組み合わせ器85に与えられる。上記のように、タイミングパケットとタイミング同期ポイントは、複合パケットストリームの任意のポイントに挿入することができるが、通常は、複合ストリーム中の与えられたコマンドは、他のコマンドのパケットによる割り込みを受けることはない。図3のオペレーションコード情報を用いて、図2のトレースパケットデコーダは、例えば、PCトレースコマンドを、他のコマンドとタイミングパケットから簡単に分離することができる。トレースパケットデコーダは、簡単にタイミング同期ポイントとPC同期ポイントとを検出し、これらのPC同期IDによってこれらを適切に関連付けることができ、これにより、PCトレースストリームを、タイミングストリームに同期させる(すなわち、ターゲットプロセッサのクロックに同期させる)。
図9は、本発明で用いられるパケットシーケンス(コマンド)の一例を示すものであり、メモリ読出しやメモリ書き込みといったメモリ参照について記述したものである。メモリ参照コマンドは、0011オペレーションコード(図3参照)によって示されている。図9のLD/STビットは、メモリ参照が、ロード(読み込み)命令なのかストア(書き込み)命令なのかを表す。第一パケットの“データ、アドレス、PC”部は、例えば、ロードまたはストアのデータ値がコマンドに含まれているか、全ての含まれるデータの容量、メモリ参照のアクセス容量、ロードまたはストアのメモリアドレスがコマンドに含まれているか、さらに、ロードまたはストアに関連するPCがネーティブPCとして含まれているのか最後のPC同期ポイントからのオフセットとして含まれているのかに関するエンコードされた情報を含んでいる。図9のメモリ参照コマンドの残りのパケットは、ロードもしくはストアされたデータ、ロードまたはストアに関連したデータアドレス、ならびに、ネーティブPCアドレス、もしくは最後のPC同期ポイントからのオフセットとして表されるPCアドレスを伝送する。
また、図9は、本発明のトレースパケットのフォーマットについての特徴の一例も示している。特に、図3も参照すると、(例えば)01オペレーションコードは、それが用いられる場面によって、いくつかの異なる意味を持っている。図9にあるように、このオペレーションコードは、コマンド中のパラメータの始まりを示すために用いられる。与えられたコマンドのパラメータの数は、オペレーションコード(例えば、図9のパケット91の“データ、アドレス、PC”部)によって特定され、これによりパラメータの始まりを表す01オペレーションコードの発生が、トレースデコーダで検出される。
一方、01オペレーションコードが、コマンドの外部に発見された場合には、それは分岐についての情報を伝達するものとなる(図3参照)。1つまたは複数の(オペレーションコード10)データパケットは、一つの01オペレーションコードパケットに続く時、01オペレーションコードパケットとそれに続くデータパケットは、間接的な分岐を表す。それ以外の場合には、01オペレーションコードパケットは、相対的な分岐を表す。
図10は、図9に示したようなメモリ参照を、PCトレースによって指定されたプログラムフローと同期させるのに用いられる、メモリ参照同期ポイントパケットを示す。図10のメモリ参照同期ポイントは、図8のPCトレースパケット発生器82によるPC同期ポイントの生成によって、起動される。図10のメモリ参照同期ポイントは、メモリ参照同期ポイントを起動したPC同期ポイントの後の複合パケットストリーム中に現れる。さらに、メモリ参照同期ポイントは、メモリ参照同期ポイントを起動したPC同期ポイントに関連する命令を含みこれに続く対応するすべてのメモリ参照パケットの前の複合パケットストリーム中にも現れる。図10に示すように、メモリ参照同期ポイントパケットは、メモリ参照同期ポイント(図2参照)としてそれ自身を特定するオペレーションコードを含んでおり、さらに、メモリ参照同期ポイントの生成を起こさせたPC同期ポイントのPC同期IDも含んでいる。メモリ参照同期ポイントについては、対応するメモリ参照パケットを発行する必要がなければ、これを発行する必要はなく、対応するメモリ参照パケットシーケンス(例えば、図9に示したシーケンス)の起動の後で発行する。
図11は、図8と関連して、図2のトレース収集器の更に他の実施例の主要部を示したものである。図11の実施例は、(図9に図示したような)データ/アドレストレースパケットストリームと(図10に図示したような)メモリ参照同期ポイントを生成するメモリアクセストレースパケット発生器111を含んでいる。図11のメモリアクセストレースパケット発生器111は、入力としてPCレジスタと接続し、ターゲットプロセッサコアからデータ/アドレス情報112を受け取る。メモリアクセストレースパケット発生器111は、また、例えば、メモリアクセストレース動作の開始と終了の時期を指定する、従来の方法で生成されたトリガー情報を受け取る。メモリアクセストレースパケット発生器111は、また、83のDC番号テーブルに接続され、これにより、図10のメモリ参照同期ポイントに、適切なPC同期ID番号が提供される。
トリガー情報に応答して、メモリアクセストレースパケット発生器111は、データ/アドレス情報112から、データ/アドレストレースパケットストリームを生成する。このパケットストリームは、図8のストリーム組み合わせ器85に入力され、図8の複合パケットストリーム中に埋め込まれる。
また、パケット発生器111は、115で(すなわち、図8のPCトレースパケット発生器82から)PC同期パケットの発行を示す情報を受け取る。この115からの情報に応答して、メモリアクセストレースパケット発生器111は、テーブル83から現在のPC同期ID番号を受け取り、(必要に応じ)図10に図示したようなメモリ参照同期ポイントを生成する。また、PC同期ポイントの発生は、PCレジスタが更新されるたびにロードされるクロック112をクリアする。このように、カウンタ112は、最後のPC同期ポイントの後の、新たなPCロードの数の記録を逐次更新することができる。従って、カウンタ112の計数出力は、現在のPC値が最後のPC同期ポイントからどれだけオフセットしているかを表すPCロードの数を示す。このように、PCトレースが動作可能となっている時には、(例えば、図8のPCトレースパケット発生器82からの)信号118によって示され、メモリアクセスパケット発生器111は、図9に図示したようなコマンド内部で、対応するPCを、全体のネイティブPC値ではなくそのオフセット値によって識別することができ、これにより、図9のメモリ参照コマンド内の情報量(すなわち、これに要求される帯域幅) を減少させることができる。ネイティブPC値は、もし、PCトレースが実行無効である場合には、図9のコマンドに含まれる。
図12は、例えば、図11のメモリアクセスパケット発生器111または図8のPCトレースパケット発生器82に設けられるデータ圧縮器の一実施例の主要部の概略を示したものである。図12のデータ圧縮器は、入力トレースデータを受け付けるための新データレジスタ121と、新しいトレースデータをレジスタ121の入力として受信した時に新データレジスタ121の現在の内容を受信するための旧データレジスタ122とを含んでいる。圧縮マップ発生器123は、各々、旧データレジスタ122と新データレジスタ121に接続された、2つの入力をもっている。符号拡張評価器124は、圧縮決定器125の入力に接続された一つの入力をもっており、符号拡張評価器124は、圧縮決定器125のもう一つの入力に接続された出力をもっている。圧縮決定器125は、さらに、新データレジスタ121に接続された入力をもっている。
符号拡張評価器124は、レジスタ121中の新トレースデータに応答し、新たに受信されたトレースデータに対して、符号拡張圧縮を適用できるかどうかを判定する。もし適用できるならば、符号拡張評価器124は、圧縮決定器125に対して適切に信号を送り、符号拡張圧縮が適用できる旨を通知する。圧縮マップ発生器123は、レジスタ121中の新データのある部分が、旧データレジスタ122中に格納されたトレースデータの対応する部分と同一かどうかを判定する。もし同一である場合には、圧縮マップ発生器は、新データのどの部分が旧データの対応する部分と同一であるかを示す圧縮マップを生成する。新データの同一と判定されたすべての部分については、レミュレータに出力する必要はない(図2参照)。圧縮マップは、圧縮決定器125に送られる。
圧縮決定器125は、圧縮マップ発生器123と、もし圧縮が可能なら、どのような圧縮がレジスタ121中の新データに適用できるのかを決定する符号拡張評価器124の各々の出力に応答して、動作可能となる。もし、なんらかの圧縮が可能な場合には、圧縮決定器125は、データレジスタ121中の新データに対して、この圧縮処理に適用し、圧縮されたデータを、図2のトレース収集器21のパケット編成部に出力し、そこで、パケット編成部は、圧縮されたデータを、適切なパケット、例えば、図3に図示したデータ搬送パケット内に埋め込む。一方、データレジスタ121中の新データに対して、データ圧縮が適用できない場合には、圧縮決定器125は、新データをそのままの圧縮しない形で、パケット編成部へ送る。この有利な点は、圧縮決定器125が、符号拡張圧縮のみを用いるのか、圧縮マップ情報のみを用いるのか、あるいは符号拡張圧縮と圧縮マップの両方を用いるのかを選択して制御するところにある。この選択的な制御は、例えば、適切な制御コードをエミュレータによってスキャンし、圧縮決定器125に取り込むことにより、実装することができる。
図13は、PCコマンドに適用される符号拡張圧縮の一例を図示したものである。図13の例では、バイト0がPCの最下位桁であり、バイト1がPCの次の最下位桁であり、バイト2がPCの次の最下位桁であり、さらにバイト3がPCの最上位桁である。なお本例では、オペレーションコードは、説明簡略化のため省略している。バイト0は、通常、パケット131で送られ、バイト1は、通常、パケット132で送られ、バイト2は、通常パケット133で送られ、さらにバイト4は、通常、パケット134で送られる。しかし、図13に示すように、図示したバイト1の条件が満足された場合には、バイト1だけが送られ、図示したバイト2の条件が満足された場合には、バイト2だけが送られ、さらに、図示したバイト3の条件が満足された場合には、バイト3だけが送られる。また、図13では、“!=”の表記は、“等しくない”ことを意味する。いくつかの実施例では、図12の符号拡張評価器124は、符号拡張圧縮の適用可能性の判定のため、図13にその一例を図示した判定基準に従って、新トレースデータを評価することも可能である。
図14から18は、図12のデータ圧縮によって行われる処理の一例を示したものである。図14から18の各例では、圧縮決定器は、符号拡張手法か圧縮マップ手法のどちらか一方を利用するように、あるいは、その両方を適用するようにプログラムされている。これらの例では、バイト0から3は、順次、右から左に現れ、最下位桁から最上位桁に向かって、各バイト中のビットは、右から左に進行する。図14の例では、符号拡張圧縮はバイト1から3に適用可能であるため、バイト0のみが伝送される。パケットデコーダ(図2参照)は、符号拡張圧縮が、現在のバイトに適用されていることを認識している。新データの各バイトが、旧データの対応するバイトと同一であることを示すデータ圧縮アップもまた伝送され、ホスト(図2参照)のパケットデコーダは、新データがすべて旧データと同一であることを認識している。本例では、符号拡張圧縮もしくは圧縮マップのいずれか一方が、1パケット分の情報の伝送を必要としている。ここでは、図19に一般的なものとして示しているように、圧縮マップは、与えられたコマンドに含ませ、コマンドの初期ヘッダパケットに続く継続パケットとすることが可能である。
図19では、190でのデータヘッダパケットは、上記の図9のパケット91に対応しており、従って、データ圧縮マップは継続パケット192として伝送される。従って、図19に示すように、データバイト伝送は、図9に示したものと同様に進行する。特に、図19に示したデータ圧縮マップを考慮すると、このマップは、基本的に1バイト(8ビット)のデータであり、ここでは1というビット値は、対応する新データバイトが、その対応する旧データバイトと同じであるために送信されないことを示し、さらに、0というビット値は、対応する新データバイトが、その対応する旧データバイトとは異なるために送信されることを示している。図19では、網掛けしたバイトは、データ圧縮アップでの0をあらわし、これらのバイトのみが送信される。図2中のトレースパケットデコーダは、データ圧縮マップを、簡単にデコードでき、以って、どのバイトが伝送されているのか、また、どのバイトが単に複製されるのみで、伝送されていないのかが判定できる。
図15の例では、新バイト0は、旧バイト0とは異なり、残りの新バイトは、対応する旧バイトと同一である。本例では、符号拡張圧縮が適用可能であり、新バイト0のみが伝送される。トレースデコーダでは、符号拡張圧縮は、待ち受けながらも受信されなかったバイト1から3の全てのバイトに適用するものと仮定している。
図16の例では、新バイト0のみが、旧データと異なり、新データのバイト1から3に対しては、符号拡張圧縮を適用することはできない。従って、バイト0のみが異なることを示す圧縮マップが、バイト0自身とともに伝送される。
図17の例では、新バイト0および1が、旧データのバイトと同じであるが、新バイト2および3は、旧データのものとは異なる。さらに、符号拡張圧縮は、新バイト2および3に適用する。本例では、圧縮マップのみが伝送され、新バイト2および3が、これらに対応する旧バイトとは異なることを示す。従って、ホストコンピュータのトレースパケットデコーダは、バイト0および1が旧データからは変化していないことを認識しており、デコーダは、バイト2および3が伝送されてくることを待ち受けていたものの、これらを受信していないため、符号拡張圧縮は、新バイト2および3に適用するものと仮定する。このように、図17の例では、図12の圧縮器は、圧縮マップ手法を符号拡張手法とを組み合わせたものと言える。
図18の例は、図17の例と同様である。特に、新バイト0および1は、ここでも、旧データと同一であり、新バイト2および3は旧データとは異なり、さらに、符号拡張圧縮が、新バイト2および3に適用される。従って、新バイト2および3が旧データとは異なることを示す圧縮マップは伝送されるが、バイト2および3は伝送されず、トレースデコーダは、符号拡張圧縮が新バイト2および3に適用可能であることを仮定する。
図20は、エミュレーション制御情報およびエミュレーションデータをターゲットチップからエミュレータに出力する、従来の方法を示したものである。図20の方法では、デバッグポートの9本のピンが、エミュレーション情報を搬送するために割り当てられ、その5本のピンが、制御情報のために割り当てられ、さらに、その4本のピンがデータに割り当てられている。このように、制御情報とデータとに区別してピンを固定して割り当てることにより、大量のデータ伝送に必要な帯域幅が要求される際(きわめて、普通に起こる状況)や、制御情報のために大量の伝送帯域幅が要求される際(それほど普通とはいえないが、ありえあいことではない状況)のボトルネックを解消することができる。
次に、図21と、上述した10ビットのトレースパケット形式(図3参照)に準じると、本発明は、データ中心に伝送を行うのか、あるいは、制御中心に伝送を行うのかといった状況への必要性に応じて、トレース出力帯域幅を割り当てることができるような、レースパケット形式に十分な柔軟性を備えることに利点があることがわかる。例えば、上述した継続パケットでは、制御の2ビットは、データの8ビットとともに提供される。一方、10ビットの制御情報を不空パケットは、210に示されるような必要性に応じて、提供される図22Aのパケット210は、例えば、図9に関連して上述したパケット91に対応しており、図21のパケット212は、例えば、図9のデータあるいはアドレスバイト継続パケットに対応している。このように、先に図3で図示したパケット形式は、継続パケットの利用を含むものであり、出力パケットストリーム中の制御とデータの帯域幅の柔軟な割り当てを提供できるという利点があり、これにより、従来技術で問題となっていたボトルネックの多くを解決することができる。
図22Aは、図2のトレース出力部の一実施例の主要部を図示したものである。図22Aに示すように、トレース出力部は、伝送フォーマッター220に接続されたFIFOバッファを含んでいる。FIFOバッファは、ストリーム組み合わせ器85(図8参照)によって生成された複合トレースストリームを受信する。伝送フォーマッター220は、パケットを所望の、例えば、ターゲットチップ上のデバッグポートのピンに配送するピンマネージャー224に対して、伝送パケットのストリームを出力する。上述した10ビットトレースパケットの例に準じると、ストリーム組み合わせ器85は、10ビットトレースパケットの複合ストリームを生成する。トレース出力部は、FIFOバッファと伝送フォーマッター220を含んでおり、複合パケットストリームのトレースパケットを、10ビットトレースパケットとは異なるビット幅をもつ伝送パケットのストリームに変換する。この伝送パケットストリームは、順次、ターゲットチップのピン境界から、図2のトレースレコーダへ送られる。伝送パケットは、例えば、デバッグポートまたは他のシステムバスポートを介して、トレースレコーダへ配信される。
上記のタイミングパケットを利用することにより、ピン境界からエミュレータに出力される伝送パケットに対応した伝送クロックは、完全に、ターゲットプロセッサ(あるいは、コア)のクロックと独立させることができるという利点がある。従って、例えば、ターゲットプロセッサのクロックが比較的低い場合、例えば、マイクロコンピュータチップで67MHzといった場合には、図22Aの伝送クロックは、ターゲットプロセッサのクロックよりもはるかに高速なものとすることができる。この伝送クロックは、例えば、エミュレータとターゲットチップとの間のスキャンインターフェースに用いられる従来手法によるスキャンクロックに基づいて生成することも可能であり、このように生成した伝送クロックは、実質的に、67MHzというターゲットプロセッサのクロックよりも高速とすることができる。このような状況によって、ターゲットチップの10本以下のピンを用いて、10ビットトレースパケットを出力するために必要とされる伝送帯域幅が得られる。例えば、200MHzの伝送クロックでは、67MHzのターゲットプロセッサクロックに基づくターゲットプロセッサ内部処理に速度を合わせながら、2つの10ビットトレースパケットを、5つの4ビット伝送パケットあるいは4つの5ビット伝送パケットとして出力することができる。このように、本例では、5本または6本のピンを、他に必要となる機能のために空けておくことができるという利点がある。
図23Aは、6つの10ビットトレースパケットを、10個の6ビット伝送パケットとして伝送する場合の他の例を示したものである。図22Aの伝送クロック周波数は、ターゲットプロセッサのクロック周波数を上回るため、より狭いデータ幅のパケットと、それに伴うより少数のピンを用いて、同じデータ伝送速度を得ることが可能である。例えば、66.7MHzのターゲットプロセッサのクロック周波数と、200MHzの伝送クロック周波数では、図2および22のトレース出力部は、3つの10ビットトレースパケットを、10個の3−ビット伝送パケットに変換することが可能であり、ストリーム組み合わせ器85からの10ビットのトレースパケットのフローに追従することが可能である。
図23Bおよび図23Cは、6つの10ビットトレースパケットが、5つの12ビット伝送パケットとして伝送される(図23B)動作と、8つの10ビットトレースパケットが、5つの16ビット伝送パケットとして伝送される(図23C)動作について示したものである。
図22Bは、図22Aの伝送フォーマッター220の一実施例の主要部の概略を示したものである。図22Bに示されるように、伝送フォーマッター220は、FIFOバッファからトレースパケットを受信する、現在のパケットレジスタ221を含んでいる。また、図22Bに図示した旧パケットレジスタ222は、単に、新パケットレジスタ221の内容の旧版を格納したものである。トレースパケットの幅が、伝送パケットの幅に均等に分割可能となるように、例えば、2ビットあるいは5ビットの伝送パケット幅と10ビットのパケット幅とした実施例では、新パケットレジスタ221のみが必要とされる。均等に分割する場合には、トレースパケットデータは、単純に新パケットレジスタにロードされ、狭い幅のパケット形式で送出される。
トレースパケット幅が、伝送パケット幅によっては一様に分割されない場合には、2つの連続したトレースパケットは、組み合わせて伝送パケットのいくつかを構成する必要がある。このような、不均等な分割の場合には、追加されたレジスタ、すなわち旧パケットレジスタ222を用いる。伝送パケットは、新パケットレジスタの最下位桁からはじまる、新パケットレジスタ221の内容から生成される。一つまたは複数の伝送パケットが、新パケットレジスタのビットから生成された後には、新パケットレジスタ内部には、伝送パケット幅よりも小さい幅の多くのビットが残存することになる(すなわち、トレースパケット幅を、伝送パケット幅で割った余り)。このような状況では、新しいトレースパケットが、新パケットレジスタ221にロードされる。このロードの後で、新パケットレジスタは、新しいトレースパケットを保持し、最新パケットレジスタ222は、新パケットレジスタの直前の内容を保持する。組み合わせ器223は、伝送されなかった以前のトレースパケットのビット(新パケットレジスタ222に格納されているビット)を、次の伝送パケットを完成させるために必要なだけの数の新パケットレジスタの最下位桁を組み合わせる。
図24は、10ビットトレースパケットを6ビットの伝送パケットに変換するための、図22Bの伝送フォーマッターの処理の例を示す。図24の例では、網掛けした箱は、伝送パケットで伝送されるビットを表し、各々の横線は、一つの、伝送クロックサイクルを表す。まず、最初の6ビット、すなわち、最初の10ビットトレースパケットの0から5ビットが伝送され、その後、第一トレースパケットの6から9ビットが、第二のトレースパケットの0および1ビットとともに伝送され、また、その後、第二のトレースパケットの2から7ビットが伝送され、次に、第二のトレースパケットの8から9ビットが第三のトレースパケットとともに伝送され、その後に、第三のトレースパケットの4から9ビットが伝送され、その後、最後に、第四のトレースパケットの0から5ビットが伝送される。6ビットの伝送パケットが、直ちに、図2のトレースパケットデコーダによって、10ビットトレースパケットに再フォーマットされる。
図25から27は、図24と同様に、追加のトレースパケットデータが必要であるが、FIFOからは利用可能なデータが得られない場合の、図22Aと22Bの伝送フォーマッターにより実行される処理の一例を示したものである。図25では、完全な6ビット伝送パケットを構成するために、(次のトレースパケットから得られる)十分な量の追加トレースパケットデータが(251で)利用可能となるまで、伝送フォーマッターが単純に処理停止している。
図26は、NOPトレースパケットをトレースパケットストリームに埋め込み、全ての有効なトレースパケット情報が(261で)伝送パケットの中に出力されるまで、出力パケットの伝送を継続することにより、全ての有効なパケット情報を吐き出す際の、他の方法を示すものである。もし、追加のトレースパケット情報が伝送に使える状況になると、伝送は中断する。NOPは、図26では、0によって表現されている。一旦、(全てのビットが、0からなる)完全なNOP伝送パケットが262に出力されると、新たな10ビットのトレースパケットが、263で利用可能になるまで、伝送は中断し、これにより、伝送パケットを作るために、このトレースパケットの最初の4ビット(ビット0から3)は、組み込まれたNOPパケットの最後の2ビットと組み合わされる。従って、新しいトレースパケットのビット4から9が、伝送パケットとして264に出力され、その後、次のトレースパケットのビット0から5が、伝送パケットとして265に出力される。
図27は、有効なトレーズパケットが伝送のために利用可能とならない間に、NOPが伝送される場合の、本発明による他の方法を示すものである。図27の伝送サイクルの最初の3サイクルは、図26に示した最初の3つの伝送サイクルと同一である。しかし、図27では、次の有効な伝送パケットが図27の271に到着するまで、NOP伝送パケットが、順次、出力され続けている。図27に示す、サイクル271と、それに続く複数のサイクルは、図26のサイクル263とそれに続く複数のサイクルと同一である。
以上のように、本発明の実施例を説明したが、本実施例は、本発明の範囲を限定するものではなく、様々な様態での実施が可能である。
本出願は、2000年3月2日付け仮出願60/186,326(Docket TI−30526)、および米国出願番号09/515,093として2000年3月2日付けで最初に出願され、その後2000年8月18日に許可された請願により変更され仮出願60/219,340(Docket TI−30498)のコペンディングのアメリカ特許法第119(e)(1)に基づく優先権を主張している。
10 ホスト
12 エミュレータ
14 DSP
15 通信リンク
16 ターゲットシステム
17 ターゲットケーブル

Claims (6)

  1. 集積回路の外部に設けられたエミュレーションコントローラに、前記集積回路の内部データ処理活動を駆動する、前記集積回路の内部クロックを示すタイミング情報を提供する方法であって、
    前記内部クロックのサイクルを監視するステップと、
    各内部クロックに対し内部データ処理活動のオペレーションを監視するステップと、
    前記内部クロックの各サイクルに応答して、そのサイクルの間に命令が実行される場合に第1のデジタル状態を有し、そのサイクルの間に何ら命令が実行されない場合に前記第1のデジタル状態とは反対の第2のデジタル状態を有する、対応する単一のデジタルデータビットを生成するステップと、
    各々が第1の所定の数のデジタルデータビットを有する、複数のパケットを含むタイミングトレースパケットストリームを形成するステップであって、前記タイミングトレースパケットストリームが、
    タイミングパケットを識別する特定のオペレーションコードと、関連するクロックサイクルが発生する時間的順序に対応する所定の順序で前記内部クロックの複数のサイクルに対し前記単一のデジタルデータビットを含む、前記第1の所定の数のデジタルデータビットよりも少ない第2の所定の数のビットと、を有する、タイミングパケットと、
    タイミング同期ポイントパケットを識別する特定のオペレーションコードと、同期IDテーブルから供給される同期IDを含む第3の所定の数のビットと、を有する、タイミング同期ポイントパケットと、
    を含む、前記形成するステップと、
    プログラムカウンタのオペレーションを監視するステップと、
    各々が第1の所定の数のデジタルデータビットを有する、複数のパケットを含むPCトレースパケットストリームを形成するステップであって、前記PCトレースパケットストリームが、
    PC同期ポイントパケットを識別する特定のオペレーションコードと、PC同期ポイントパケットタイプを識別するタイプコードと、を有する、PC同期ポイントパケットと、
    特定のオペレーションコードと、同期IDテーブルから供給されてタイミング同期ポイントパケットに含まれるものと同じ同期IDと、を有する、PC同期IDパケットと、
    特定のオペレーションコードを有し、プログラムカウンタの状態に対応するデータを含む、PCトレースデータパケットと、
    を含む、前記形成するステップと、
    前記タイミングトレースパケットストリームと前記PCトレースパケットストリームとを前記集積回路から前記集積回路の端子を介して前記エミュレーションコントローラに複合パケットストリームとして組み合わせてエクスポートするステップと、
    を含む、方法。
  2. 請求項1に記載の方法であって、前記PC同期IDパケットの特定のオペレーションコードが前記PCトレースデータパケットの特定のオペレーションコードと同じである、方法。
  3. 請求項2に記載の方法であって、前記複合パケットストリームが他のトレースパケットストリームを更に含む、方法。
  4. 集積回路の外部に位置するエミュレーションコントローラに、前記集積回路の内部データ処理活動を駆動する、前記集積回路の内部クロックを示すタイミング情報を提供する装置であって、
    プログラムカウンタと、
    ID番号テーブルと、
    前記内部クロックを受信するための入力と、各内部クロックに対し内部データ処理活動を示す情報を受信するための入力と、トリガーを受信するための入力と、を有し、前記内部クロックの各サイクルに応答して、そのサイクルの間に命令が実行される場合に第1のデジタル状態を有し、そのサイクルの間に何ら命令が実行されない場合に前記第1のデジタル状態と反対の第2のデジタル状態を有する、対応する単一のデジタルデータビットを生成し、そして、各々が第1の所定の数のデジタルデータビットを有する複数のパケットを含むタイミングトレースパケットストリームを発生する、タイミングトレースパケット発生器であって、
    前記タイミングトレースパケットストリームが、
    タイミングパケットを識別する特定のオペレーションコードと、関連するクロックサイクルが発生する時間的順序に対応する所定の順序で前記内部クロックの複数のサイクルに対し前記単一のデジタルデータビットを含む、前記第1の所定の数のデジタルデータビットよりも少ない第2の所定の数のビットと、を有する、タイミングパケットと、
    タイミング同期ポイントパケットを識別する特定のオペレーションコードと、ID番号テーブルから供給される同期IDを含む第3の所定の数のビットと、を有する、タイミング同期ポイントパケットと、
    を含む、前記タイミングトレースパケット発生器と、
    プログラムカウンタの状態を示す情報を受信するための入力と、トリガーを受信するための入力と、を有し、プログラムカウンタとトリガーに応答して、各々が第1の所定の数のデジタルデータを有する、複数のパケットを含むPCトレースパケットストリームを発生するように作動する、PCトレースパケット発生器であって、
    前記PCトレースパケットストリームが、
    PC同期ポイントパケットを識別する特定のオペレーションコードと、PC同期ポイントパケットタイプを識別するタイプコードと、を有する、PC同期ポイントパケットと、
    特定のオペレーションコードと、ID番号テーブルから供給されてダイミング同期ポイントパケットに含まれるものと同じ同期IDと、を有する、PC同期IDパケットと、
    特定のオペレーションコードを有し、プログラムカウンタの状態に対応するデータを含む、PCトレースデータパケットと、
    を含む、前記PCトレースパケット発生器と、
    前記タイミングトレースパケットストリームと前記PCトレースパケットストリームとを、前記集積回路の端子を介して前記エミュレーションコントローラに、複合パケットストリームとして組み合わせてエクスポートする、ストリーム組み合わせ器と、
    を含む、前記装置。
  5. 請求項4に記載の装置であって、前記PC同期IDパケットのオペレーションコードが前記PCトレースデータパケットのオペレーションコードと同じである、装置。
  6. 請求項5に記載の装置であって、前記ストリーム組み合わせ器が、前記タイミングトレースパケットストリームと前記PCトレースパケットストリームと他のトレースパケットストリームとを前記複合パケットストリームとして組み合わせてエクスポートする、装置。
JP2013115235A 2000-03-02 2013-05-31 オンチップデータプロセッサのトレースおよびタイミング情報の獲得と出力 Expired - Lifetime JP5519060B2 (ja)

Applications Claiming Priority (4)

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

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2001109233A Division JP5328000B2 (ja) 2000-03-02 2001-03-02 オンチップデータプロセッサのトレースおよびタイミング情報の獲得と出力

Publications (2)

Publication Number Publication Date
JP2013211046A JP2013211046A (ja) 2013-10-10
JP5519060B2 true JP5519060B2 (ja) 2014-06-11

Family

ID=26913794

Family Applications (5)

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

Family Applications Before (4)

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

Country Status (1)

Country Link
JP (5) JP2001356930A (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
US7171497B2 (en) * 2002-11-22 2007-01-30 Texas Instruments Incorporated Progressive 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
JP2013211046A (ja) 2013-10-10
JP2002014837A (ja) 2002-01-18
JP2002049503A (ja) 2002-02-15
JP2001356930A (ja) 2001-12-26
JP4551019B2 (ja) 2010-09-22
JP2001356935A (ja) 2001-12-26
JP5328000B2 (ja) 2013-10-30

Similar Documents

Publication Publication Date Title
US6985848B2 (en) Obtaining and exporting on-chip data processor trace and timing information
US9047406B2 (en) Maintaining coherent synchronization between data streams on detection of overflow
US7747901B2 (en) Auxiliary link control commands
US7457739B2 (en) Read FIFO scheduling for multiple streams while maintaining coherency
JP5519060B2 (ja) オンチップデータプロセッサのトレースおよびタイミング情報の獲得と出力
EP1139220B1 (en) Obtaining and exporting on-chip data processor trace and timing information
JP2004178591A (ja) ダイナミック・トレース用プログレッシブ拡張圧縮マスク

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130628

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130628

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140228

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140328

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140402

R150 Certificate of patent or registration of utility model

Ref document number: 5519060

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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