JP2013037686A - バリアトランザクションのデバッグ - Google Patents

バリアトランザクションのデバッグ Download PDF

Info

Publication number
JP2013037686A
JP2013037686A JP2012170920A JP2012170920A JP2013037686A JP 2013037686 A JP2013037686 A JP 2013037686A JP 2012170920 A JP2012170920 A JP 2012170920A JP 2012170920 A JP2012170920 A JP 2012170920A JP 2013037686 A JP2013037686 A JP 2013037686A
Authority
JP
Japan
Prior art keywords
transaction
barrier
debug
circuit
access port
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.)
Granted
Application number
JP2012170920A
Other languages
English (en)
Other versions
JP6125168B2 (ja
Inventor
Kalkunte Sheshadri
シェシャドリ・カルクンテ
Michael John Williams
マイケル・ジョン・ウィリアムズ
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.)
ARM Ltd
Original Assignee
ARM Ltd
Advanced Risc Machines Ltd
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 ARM Ltd, Advanced Risc Machines Ltd filed Critical ARM Ltd
Publication of JP2013037686A publication Critical patent/JP2013037686A/ja
Application granted granted Critical
Publication of JP6125168B2 publication Critical patent/JP6125168B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/31705Debugging aspects, e.g. using test circuits for debugging, using dedicated debugging test circuits

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Microcomputers (AREA)

Abstract

【課題】集積回路をデバッグするための技術を提供する。
【解決手段】集積回路2は、相互接続回路20を介してデータトランザクションを発行するための、1つ以上のトランザクションマスター8、10、12、4を含む。デバッグアクセスポート回路は、デバッグコントローラ6から受信されるデバッグコマンドに応答して、相互接続回路に発行されるバリアトランザクションを発生させるように構成される。相互接続回路は、データトランザクションの少なくともいくつかの相対的順序付けを、それらが相互接続回路を通過する時に抑制することによって、受信したバリアトランザクションに応答する。
【選択図】図1

Description

本発明は、集積回路の分野に関する。より具体的には、本発明は、集積回路をデバッグするための技術に関する。
デバッグ機構を伴う集積回路を提供することが知られている。いくつかの既知のデバッグ機構は、集積回路のメモリアドレス空間内の記憶場所を読み取るまたは書き込むために、メモリトランザクションを発生させる能力を提供する。故に、これらのデバッグ機構は、トランザクションマスターとしての機能を果たすことができ、また、集積回路の状態を判定するためにデータを読み取り、所望の刺激を集積回路に提供するためにデータを書き込む際に有用であり得る。
これは、典型的に、デバック動作を支援するために集積回路に提供される接続ピンの数が少ない場合である。集積回路パッケージ上のピンの増加速度は、それらの回路の複雑さの増加速度に追随できていない(いわゆるムーアの法則)。他の機能のために接続ピンを集積回路に使用する様に、かなりの圧力がある。デバッグ動作は、開発中だけにしか使用され得ず、故に、多数の接続ピンをデバッグ機能専用にするよう調整することは困難である。これは、集積回路がメモリの読み取りおよびメモリの書き込み等のトランザクションを実行するように指示した時に、デバッグコントローラがデバッグ回路と通信してもよい帯域幅を制限するという結果をもたらす。典型的な集積回路は、ほぼギガヘルツ程度の周波数で動作し得るのに対して、デバッグインターフェースは、数メガヘルツの周波数でしか通信することが可能になり得ない。こうした速度の不整合は、デバッグが開始したトランザクションを、集積回路内で最高速度で起こっている他のトランザクションと組み合わせ得る方法を限定する。
集積回路に提供されるデバッグ機構の有用性を高めるために、デバッグ専用のピンの数を増加させずに、好ましくは減少させながら、デバッグ動作を実行できる速度を増加させることが好ましい。これを達成するための1つの方法は、デバッグコントローラがデバッグインターフェースを介して集積回路と通信してもよい帯域幅を増加させることである。USB型通信の進歩等の、シリアルデータ通信技術の進歩は、デバッグ用ピンの数を増加させずに、集積回路がそのデータ処理を内部で実行するタイムスケールと同程度以上のタイムスケールで、集積回路でデバッグ機構と通信することが可能になりつつあるという結果をもたらす。
さらなる選択肢は、集積回路内のデバッグ回路を強化することである。集積レベルの増加によって可能となるより複雑なデバッグ回路は、デバッグインターフェース上でデバッグコントローラによって送信される比較的に単純なコマンドを、例えばブロックメモリフィル等の反復的なアクションといった、複雑なトランザクションに変換できることを意味する。動作はまた、デバッグ回路によってバッファリングすることができ、よって、デバッガは、デバッグインターフェースをポーリングして、さらなる動作を送信する前に1つの動作が完了するまで待つ必要はない。両方の選択肢は、組み合わせることができる。
一態様から概観すると、本発明は、
複数のデータトランザクションを発生させるように構成される、1つ以上のトランザクションマスターと、
該集積回路の外部のデバッグコントローラにデバッグインターフェースを介して連結されるように構成される、デバッグアクセスポート回路と、
該1つ以上のトランザクションマスターおよび該デバッグアクセスポート回路に連結され、かつ該1つ以上のトランザクションマスターおよび該デバッグアクセスポート回路から複数のデータトランザクションを受信するように構成される、相互接続回路と、を備え、
該デバッグアクセスポート回路は、該デバッグインターフェースを介して該デバッグコントローラから受信される1つ以上のデバッグコマンドに応答して、バリアトランザクションを発生させるように構成され、
該相互接続回路は、該バリアトランザクションを受信し、少なくとも該相互接続回路を通しての該複数のデータトランザクションの第1のサブセットと該第2のサブセットとの間の相対的順序付けを抑制することによって、該バリアトランザクションに応答するように構成される、集積回路を提供する。
本技術は、高速デバッグアクセスおよびデバッグ回路の増加した複雑さが集積回路に提供された時に、デバッグ中にその集積回路とのより高度な種類の相互作用が可能になることを認める。さらに、集積回路上の1つ以上のトランザクションマスターによって開始されるデータトランザクションに対するデバッグ活動の順序付けおよび同期は、特に、デバッグ回路が多数の複雑なデバッグ動作をバッファリングして、それらをシステム速度で実行することができる時に、さらに重要になる。本技術は、集積回路の外部から受信されるデバッグコマンドに応答してバリアトランザクションを発生させる能力を伴う、集積回路上のデバッグアクセスポート回路を提供する。これらのバリアトランザクションは、より高度で正確なデバッグ動作が実行されることを可能にする様式で、集積回路の相互接続回路を通過するデータトランザクションのうちの少なくともいくつかの相対的順序付けを抑制するために使用される。バリアトランザクションのアクションを検討する別の方法は、それらを2つの群、すなわちAおよびB(ならびにバリアによって順序付けされないトランザクションである、第3群のトランザクション)に分けて、それらの群の間で順序付けを形成することである。これらの群(サブセット)は、非重複である。
本技術を使用して導入(投入)することが可能である、異なる種類のバリアトランザクションがある。いくつかの実施形態では、バリアトランザクションは、メモリバリアトランザクションであり、相互接続回路は、該第1のサブセットの全ての該トランザクションの少なくともいくつかのアクションが、該1つ以上のトランザクションマスターおよび該デバッグアクセスポート回路のうちの1つである、各オブザーバに観察可能となった後に、該第2のサブセットの該トランザクションのうちのいずれかのアクションが該オブザーバに観察可能となることを提供するように構成される。観察可能であることは、オブザーバが観察(例えば、読み取り)を行い、次いで、そのアクションに注目(見る)するが、オブザーバが実際にその観察を行うことを必要としないという効果をもたらす。例示的実装は、メモリバリアトランザクション全体にわたって、データトランザクションのうちの少なくともいくつかの再順序付けを許可しないことによって、相対的順序付けを維持してもよい。したがって、バリアトランザクションのそれぞれの側にあるデータトランザクションは、それらがバリアトランザクションの同じ側に留まっているのであれば、再順序付けされ得るが、いかなるデータトランザクションも、一方のバリアトランザクションの側から他方のバリアトランザクションの側に変えるようには再順序付けされ得ない。
他の実施形態では、別々に、またはメモリバリアトランザクションと組み合わせて、同期バリアトランザクションが提供されてもよい。この場合、相互接続回路は、該第1のサブセットの全ての該トランザクションの少なくともいくつかのアクションが、該1つ以上のトランザクションマスターおよび該デバッグアクセスポート回路である、全てのオブザーバに対して観察可能となった後に、該第2のサブセットの該トランザクションのうちのいずれかのアクションが、該オブザーバのうちのいずれかに観察可能となることを提供するように構成される。例示的実装は、同期バリアトランザクションの直前のトランザクションの第1のサブセットがそれらの宛先スレーブに到達するまで、同期バリアトランザクションに続くトランザクションの第2のサブセットを遅延させることによって、相対的順序付けを維持してもよい。
複数のトランザクションマスターを伴うシステムでは、この相対的順序付けは、全てのマスターがトランザクションを発行しているマスターではない場合であっても、それらが同じ順序付けを見るように維持されなければならない。例えば、一方のマスターが、介入バリアトランザクションを伴う1対の書き込みトランザクションを発行した場合、それらの場所を読み取るもう一方のマスターは、バリアによって保証される順序で、書き込まれた値を観察することだけが可能でなければならない。
デバッグアクセスポート回路がデバッグコントローラによって制御されてもよい、種々の方法がある。いくつかの実施形態では、デバッグアクセスポート回路は、バリア制御レジスタを備え、デバッグアクセスポート回路は、デバッグコントローラから受信されるバリアデバッグコマンドに応答して、バリア制御値をバリア制御レジスタに書き込むように構成される。このようにして、データおよびコマンドは、バリア制御レジスタを介してデバッグアクセスポート回路に転送されてもよい。
いくつかの実施形態では、デバッグアクセスポート回路は、バリアトランザクションを発生させることによって、バリア制御値の書き込みに応答するように制御されてもよい。バリア制御値は、どのタイプのバリアトランザクションを発生させるのかを指定してもよい。バリアトランザクションと関連付けられる他のパラメータのようなさらなる情報もまた、デバッグアクセスポート内のバリア制御レジスタまたは他のレジスタに書き込まれてもよい。他のパラメータは、種々の形態を取ってもよい。
他のパラメータは、ドメイン指定子を含んでもよい。ドメインは、バリアが前述のように観察可能性順序付けを保証する、1組のマスターを備える。
システムは、複数のドメインを含んでもよく、それらのドメインは、階層的であってもよい。例えば、一方のマスター群が内部ドメインを形成するのに対して、他方のマスターが同じく内部ドメインを含む外部ドメインの一部であってもよい。
内部ドメインパラメータを伴うバリアは、同じ内部ドメインの中のマスターの観察可能性順序付けだけしか保証しないのに対して、外部ドメインの順序付けを伴うバリアは、内部および外部ドメイン双方の中の全てのマスターの観察可能性を保証する。
いくつかの実施形態では、ドメインは、バリア制御値で指定され、他では、バリア制御レジスタ等で指定される。
バリア信号伝達は、例えば、以下を使用してもよい。
00 共有不可能。このマスターだけの順序付け。
01 内部ドメイン。
10 外部ドメイン。
11 システム。システムの中の全てのマスター。
別の態様から概観すると、本発明は、
複数のデータトランザクションを発生させるための、1つ以上のトランザクションマスター手段と、
該集積回路の外部のデバッグコントローラにデバッグインターフェースを介して連結するための、デバッグアクセスポート手段と、
該1つ以上のトランザクションマスター手段および該デバッグアクセスポート手段から複数のデータトランザクションを受信するための、相互接続手段と、を備え、
該デバッグアクセスポート手段は、該デバッグインターフェースを介して該デバッグコントローラから受信される1つ以上のデバッグコマンドに応答して、バリアトランザクションを発生させ、
該相互接続手段は、該バリアトランザクションを受信し、少なくとも該相互接続回路を通しての該複数のデータトランザクションの第1のサブセットと第2のサブセットとの間の相対的順序付けを抑制することによって、該バリアトランザクションに応答する、集積回路を提供する。
さらなる態様から概観すると、本発明は、
より多くのトランザクションマスターのうちの1つを伴う複数のデータトランザクションを発生させるステップと、
デバッグアクセスポート回路を、該集積回路の外部のデバッグコントローラにデバッグインターフェースを介して連結するステップと、
該1つ以上のトランザクションマスターおよび該デバッグアクセスポート回路から複数のデータトランザクションを相互接続回路で受信するステップと、
該デバッグインターフェースを介して該デバッグコントローラから受信される1つ以上のデバッグコマンドに応答して、該デバッグアクセスポート回路から該相互接続回路に発行されるバリアトランザクションを発生させるステップと、
該相互接続回路によって受信される該バリアトランザクションに応答して、少なくとも該相互接続回路を通しての該複数のデータトランザクションの第1のサブセットと第2のサブセットとの間の相対的順序付けを抑制するステップと、を含む、集積回路を動作させる方法を提供する。
本発明の前述の、および他の目的、特徴、および利点は、添付図面に関連して読まれるべき、例示的な実施形態の以下の詳細な説明から明らかになるであろう。
デバッグコントローラにデバッグインターフェースを介して接続される集積回路を概略的に示す図である。 デバッグアクセスポート回路を概略的に示す図である。 デバッグアクセスポート回路内の制御レジスタを概略的に示す図である。 バリア制御レジスタを概略的に示す図である。 デバッグアクセスポート回路による、バリアトランザクションの発行のトリガリングを概略的に示す図である。 メモリバリアトランザクションのアクションを概略的に示す図である。 同期バリアトランザクションのアクションを概略的に示す図である。
図1は、デバッグインターフェースを介してデバッグコントローラ6に接続されるデバッグアクセスポート回路4を含む、集積回路2を概略的に例証する。集積回路2は、中央処理ユニット8、第1のトランザクションマスター10、および第2のトランザクションマスター12を含む、複数のトランザクションマスターを含む。メモリコントローラ14は、トランザクションスレーブであり、オフチップメモリ16へのアクセスを提供する。また、トランザクションスレーブとしての役割を果たす、オンチップメモリ18も提供される。PCIe等のインターフェース用の組み込み型周辺機器またはコントローラ等の、他のオンチップスレーブがあってもよい(図示せず)。中央処理ユニット8、第1のトランザクションマスター10、第2のトランザクションマスター12、デバッグアクセスポート回路4、メモリコントローラ14、およびオンチップメモリ18は、全て、マスターとスレーブとの間のデータトランザクションの経路を定める役目をする、相互接続回路20に接続される。相互接続回路20は、例えば、ARM Limited(Cambridge、England)によって設計された、AMBA AXI通信機構および技術に対応してもよい。
動作に際して、通常の機能モード処理を実行するトランザクションマスター8、10、12は、相互接続回路20を介してトランザクションスレーブ14、18へ送られる、データトランザクションを発生させる。これらのデータトランザクションは、読み取りトランザクションまたは書き込みトランザクションであってもよい。
デバッグアクセスポート回路4は、デバッグインターフェースを介してデバッグコントローラ6と通信する。デバッグコントローラ6は、次に、汎用コンピュータによって制御されてもよい。デバッグコントローラ6は、デバッグインターフェースを介してデバッグアクセスポート回路4にデバッグコマンドを発行する役目をする。これらのコマンドは、相互接続回路20に発行されるバリアトランザクションを発生させるために、デバッグアクセスポート回路4をトリガーするコマンドを含んでもよい。デバッグコマンドはまた、デバッグアクセスポート回路4によって発行される読み取りトランザクションまたは書き込みトランザクションをトリガーしてもよい。読み取りトランザクションは、図1で例証されるシステム内からのデータ値を復元するために、デバッグアクセスポート回路4によって発行されてもよい。書き込みトランザクションは、例えば集積回路内の制御レジスタを異なる値に設定して集積回路2の構成を変えるといった特定の方法で、図1に例証されるシステムを刺激するために発行されてもよい。
図2は、デバッグアクセスポート回路4をさらに詳細に概略的に例証する。デバッグアクセスポート回路4は、デバッグインターフェースとしての役割を果たすシリアルインターフェース(他の形態のインターフェースも可能である)を介してデバッグコントローラ6からデバッグコマンドを受信する、インターフェース制御回路22を含む。これらのデバッグコマンドは、インターフェース制御回路22内の制御レジスタ24に対する読み取りおよび書き込みを実行する役目をする。これらの制御レジスタ24に書き込まれる値は、デバッグアクセスポート回路4内の複数のアクセスポートノード26、28、30が種々のデバッグ関連の動作を実行するように構成するために使用されてもよい。これらのアクセスポートノード26、28、30は、それぞれ、インターフェース制御回路22および制御レジスタ24を介してその動作を構成するようにプログラムされる、アクセスポート制御レジスタ226、228、230を含む。アクセスポートノード26、28、30は、相互接続回路20に接続し、インターフェース制御回路22、制御レジスタ24、およびアクセスポート制御レジスタ226によって構成された時に相互接続回路20に発行される書き込みトランザクション、読み取りトランザクション、およびバリアトランザクションを発生させる役目をする、ノード26を含む。ノード28は、それを介してデバッグ動作が実行されてもよいプライベートデバッグバスへのインターフェースを提供し、ノード30は、集積回路2内に提供されるJTAGシリアルスキャンチェーン回路へのインターフェースを提供する。
図3は、制御レジスタ226をさらに詳細に概略的に例証する。これらの制御レジスタは、バリア制御レジスタ32と、データ読み取り/書き込みレジスタ34と、目標アドレスレジスタ36と、動作制御レジスタ38とを含む。動作制御レジスタ38には、トランザクションと関連付けられる特権レベルまたはドメイン等のパラメータを含む、所望の動作を実行するようにアクセスポートノード26を制御する値が書き込まれてもよい。目標アドレスレジスタ36は、相互接続回路20を介して実行される読み取りトランザクションまたは書き込みトランザクションのための目標アドレスである、アドレス値を保持するために使用される。読み取り/書き込みレジスタ34は、読み取りトランザクションに応答して、集積回路2内の記憶場所から読み取られる、または書き込みトランザクションに応答して、集積回路2内の記憶場所に書き込まれる、データ値を保持するために使用される。バリア制御レジスタ32は、バリアトランザクションの発生をトリガーするために使用される。
図4は、バリア制御レジスタ32をさらに詳細に概略的に例証する。バリア制御レジスタ32は、第1のフィールド40を含み、「1」の値が書き込まれた場合は、ノード26を介してバリアトランザクションが相互接続回路20に発行される。バリアトランザクションが発行された時に、フィールド40は、ノード26およびインターフェース回路22によって「0」の値に再設定される。フィールド40内で保持されている値が既に「1」であるのに「1」の値がフィールド40に書き込まれた場合は、既にバリアトランザクションが発行過程にあるので、第2の書き込みは無視される。
バリア制御レジスタ32内の第2のフィールド42は、発行されるバリアトランザクションの種類を指定する値に、デバッグコマンドによって書き込まれる。第2のフィールドに値「11」が書き込まれた場合は、同期バリアトランザクションが発行される。第2のフィールド42に値「01」が書き込まれた場合は、メモリバリアトランザクションが発行される。バリア制御レジスタ32に書き込まれるバリア制御値は、典型的に、第1のフィールド40と、第2のフィールド42とを含むことを理解するであろう。バリア制御値で最も重要なビットは、それらの意味において現在予約されている。
図5は、バリアトランザクションを発生させる際のデバッグアクセスポート回路4の挙動を概略的に例証する。ステップ44で、トランザクションコマンドがデバッグアクセスポート回路4で受信されるまで、処理を待機する。そのようなコマンドを受信した時に、ステップ46は、デバッグコマンドが指示されたレジスタアドレスを復号化する役目をする。このレジスタアドレスは、図3で例証されるアクセスポート制御レジスタ226のうちの1つを指定する。ステップ48は、ステップ44で受信したデバッグコマンドが、バリア制御レジスタ32への書き込みであるかどうかを判定する。この実施例では、バリア制御レジスタ32への書き込みがあった場合、これは、第1のフィールド40を検査することを必要とせずに、バリアトランザクションの発行をトリガーしているとみなされてもよい。しかしながら、他の実施例では、図4に関連して前述したように、「1」の値に送信されたかどうかを判定するために、第1のフィールド40の読み取りが行われ得る可能性がある。
ステップ48で、バリア制御レジスタ32への書き込みが行われたという判定であった場合、ステップ50は、バリア制御値内の第2のフィールド42からバリアの種類を判定する役目をする。次いで、ステップ52は、ステップ52で、選択された種類のバリアトランザクション(メモリバリアトランザクションか、または同期バリアトランザクション)を相互接続回路20に発行する。
ステップ48で、バリア制御レジスタへの書き込みがないという判定であった場合、いくつかの他の種類のデバッグ動作が指示されているので処理は終了し、これは、他の論理および制御機構によって処理される。
図6は、メモリバリアトランザクションを概略的に例証する。トランザクションは、メモリバリアトランザクションのそれぞれの側で最順序付けされてもよいことが分かる。しかしながら、メモリトランザクションは、メモリバリアトランザクションの側を変えるようには最順序付けされなくてもよい。
図7は、同期バリアトランザクションを概略的に例証する。相互接続回路20は、そのような同期バリアトランザクションに応答して、同期バリアトランザクションの他方の側の最も最近に先行するトランザクションZが、その宛先トランザクションスレーブに到達するまで、相互接続回路20を通してのトランザクションYの進行を遅延させる。
制御レジスタ38を伴うドメイン制御フィールドは、以下のような値を有してもよい。
00 共有不可能。このマスターだけのための順序付け。
01 内部ドメイン。
10 外部ドメイン。
11 システム。システムの中の全てのマスター。
バリアトランザクションのさらなる詳細は、特許出願公開第GB−A−2,474,532号および第GB−A−2,474,533号に見出すことができる。これらの公開出願の内容は、その全体を、具体的にはバリアトランザクションの動作および挙動に関連して参照することにより本明細書に組み込まれる。
本発明の例示的実施形態を、添付図面を参照しながら本明細書に詳細に説明したが、本発明は、それらの厳密な実施形態に限定されるものではなく、また、種々の変更および修正は、添付の特許請求の範囲に記載の本発明の範囲および趣旨から逸脱することなく、当業者によってその中で行うことができることを理解されたい。
2 集積回路
4 デバッグアクセスポート回路
6 デバッグコントローラ
8 中央処理ユニット
10 第1のトランザクションマスター
12 第2のトランザクションマスター
14 メモリコントローラ
16 オフチップメモリ
18 オンチップメモリ
20 相互接続回路

Claims (21)

  1. 複数のデータトランザクションを発生させるように構成される、1つ以上のトランザクションマスターと、
    前記集積回路の外部のデバッグコントローラにデバッグインターフェースを介して連結されるように構成される、デバッグアクセスポート回路と、
    前記1つ以上のトランザクションマスターおよび前記デバッグアクセスポート回路に連結され、かつ前記1つ以上のトランザクションマスターおよび前記デバッグアクセスポート回路から複数のデータトランザクションを受信するように構成される、相互接続回路と、
    を備え、
    前記デバッグアクセスポート回路は、前記デバッグインターフェースを介して前記デバッグコントローラから受信される1つ以上のデバッグコマンドに応答して、バリアトランザクションを発生させるように構成され、
    前記相互接続回路は、前記バリアトランザクションを受信し、少なくとも前記相互接続回路を通しての前記複数のデータトランザクションの第1のサブセットと第2のサブセットとの間の相対的順序付けを抑制することによって、前記バリアトランザクションに応答するように構成される、
    集積回路。
  2. 前記バリアトランザクションは、メモリバリアトランザクションであり、前記相互接続回路は、前記第1のサブセットの全ての前記トランザクションの少なくともいくつかのアクションが、前記1つ以上のトランザクションマスターおよび前記デバッグアクセスポート回路のうちの1つである、各オブザーバに観察可能となった後に、前記第2のサブセットの前記トランザクションのうちのいずれかのアクションが前記オブザーバに観察可能となることを提供するように構成される、請求項1に記載の集積回路。
  3. 前記バリアトランザクションは、メモリバリアトランザクションであり、前記相互接続回路は、前記メモリバリアトランザクション全体にわたって、前記複数の前記データトランザクションのうちの少なくともいくつかの再順序付けを許可しないことによって、前記相対的順序付けを維持するように構成される、請求項1に記載の集積回路。
  4. 前記バリアトランザクションは、同期バリアトランザクションであり、前記相互接続回路は、前記第1のサブセットの全ての前記トランザクションのうちの少なくともいくつかのアクションが、前記1つ以上のトランザクションマスターおよび前記デバッグアクセスポート回路である、全てのオブザーバに対して観察可能となった後に、前記第2のサブセットの前記トランザクションのうちのいずれかのアクションが、前記オブザーバのうちのいずれかに観察可能となることを提供するように構成される、請求項1に記載の集積回路。
  5. 前記バリアトランザクションは、同期バリアトランザクションであり、前記相互接続回路は、前記第1のサブセットがそれらの宛先スレーブに到達するまで、前記同期バリアトランザクションに続く前記第2のサブセットを遅延させることによって、前記相対的順序付けを維持するように構成される、請求項4に記載の集積回路。
  6. 前記デバッグアクセスポート回路は、バリア制御レジスタを備え、前記デバッグアクセスポート回路は、前記デバッグコントローラから受信されるバリアデバッグコマンドに応答して、バリア制御値を前記バリア制御レジスタに書き込むように構成される、請求項1に記載の集積回路。
  7. 前記デバッグアクセスポート回路は、前記バリアトランザクションを発生させることによって、前記バリア制御レジスタへの前記バリア制御値の書き込みに応答するように構成される、請求項6に記載の集積回路。
  8. 前記バリア制御値は、どのタイプの前記バリアトランザクションを発生させるのかを指定する、請求項6に記載の集積回路。
  9. 前記バリアトランザクションと関連付けられるバリア動作のパラメータを指定する、トランザクション制御レジスタをさらに備える、請求項1に記載の集積回路。
  10. 前記パラメータは、前記バリアトランザクションのための動作のドメインを含む、請求項9に記載の集積回路。
  11. 複数のデータトランザクションを発生させるための、1つ以上のトランザクションマスター手段と、
    前記集積回路の外部のデバッグコントローラにデバッグインターフェースを介して連結するための、デバッグアクセスポート手段と、
    前記1つ以上のトランザクションマスター手段および前記デバッグアクセスポート手段から複数のデータトランザクションを受信するための、相互接続手段と、
    を備え、
    前記デバッグアクセスポート手段は、前記デバッグインターフェースを介して前記デバッグコントローラから受信される1つ以上のデバッグコマンドに応答して、バリアトランザクションを発生させ、
    前記相互接続手段は、前記バリアトランザクションを受信し、少なくとも前記相互接続回路を通しての前記複数のデータトランザクションの第1のサブセットと第2のサブセットとの間の相対的順序付けを抑制することによって、前記バリアトランザクションに応答する、
    集積回路。
  12. 一つ以上のトランザクションマスターを持つ複数のデータトランザクションを発生させるステップと、
    デバッグアクセスポート回路を、前記集積回路の外部のデバッグコントローラにデバッグインターフェースを介して連結するステップと、
    前記1つ以上のトランザクションマスターおよび前記デバッグアクセスポート回路から複数のデータトランザクションを相互接続回路で受信するステップと、
    前記デバッグインターフェースを介して前記デバッグコントローラから受信される1つ以上のデバッグコマンドに応答して、前記デバッグアクセスポート回路から前記相互接続回路に発行されるバリアトランザクションを発生させるステップと、
    前記相互接続回路によって受信される前記バリアトランザクションに応答して、少なくとも前記相互接続回路を通しての前記複数のデータトランザクションの第1のサブセットと第2のサブセットとの間の相対的順序付けを抑制するステップと、
    を含む、集積回路を動作させる方法。
  13. 前記バリアトランザクションは、メモリバリアトランザクションであり、前記相対的順序付けは、前記第1のサブセットの全ての前記トランザクションの少なくともいくつのアクションが、前記1つ以上のトランザクションマスターおよび前記デバッグアクセスポート回路のうちの1つである、各オブザーバに観察可能となった後に、前記第2のサブセットの前記トランザクションのうちのいずれかのアクションが前記オブザーバに観察可能となることを提供することによって制限される、請求項12に記載の方法。
  14. 前記バリアトランザクションは、メモリバリアトランザクションであり、前記相対的順序付けは、前記メモリバリアトランザクション全体にわたって、前記複数の前記データトランザクションのうちの少なくともいくつかの再順序付けを許可しないことによって、前記相対的順序付けを維持するように抑制される、請求項13に記載の方法。
  15. 前記バリアトランザクションは、同期バリアトランザクションであり、前記相対的順序付けは、前記第1のサブセットの全ての前記トランザクションのうちの少なくともいくつかのアクションが、前記1つ以上のトランザクションマスターおよび前記デバッグアクセスポート回路である、全てのオブザーバに対して観察可能となった後に、前記第2のサブセットの前記トランザクションのうちのいずれかのアクションが、前記オブザーバのうちのいずれかに観察可能となることを提供することによって抑制される、請求項12に記載の方法。
  16. 前記バリアトランザクションは、同期バリアトランザクションであり、前記相対的順序付けは、前記第1のサブセットがそれらの宛先スレーブに到達するまで、前記同期バリアトランザクションに続く前記第2のサブセットを遅延させることによって、前記相対的順序付けを維持するように抑制される、請求項15に記載の方法。
  17. 前記デバッグコントローラから受信されるバリアデバッグコマンドに応答して、バリア制御値を前記デバッグアクセスポート回路内のバリア制御レジスタに書き込むことを含む、請求項12に記載の方法。
  18. 前記バリア制御レジスタへの前記バリア制御値の書き込みに応答して、前記バリアトランザクションを発生させることを含む、請求項17に記載の方法。
  19. 前記バリア制御値は、どのタイプの前記バリアトランザクションを発生させるのかを指定する、請求項17に記載の方法。
  20. 前記バリアトランザクションと関連付けられるバリア動作のパラメータをトランザクション制御レジスタに記憶することを含む、請求項12に記載の方法。
  21. 前記パラメータは、前記バリアトランザクションのための動作のドメインを含む、請求項20に記載の方法。
JP2012170920A 2011-08-03 2012-08-01 バリアトランザクションのデバッグ Active JP6125168B2 (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
IN2194DE2011 2011-08-03
IN2194/DEL/2011 2011-08-03
GB1119732.4 2011-11-16
GB1119732.4A GB2493405B (en) 2011-08-03 2011-11-16 Debug barrier transactions

Publications (2)

Publication Number Publication Date
JP2013037686A true JP2013037686A (ja) 2013-02-21
JP6125168B2 JP6125168B2 (ja) 2017-05-10

Family

ID=45444185

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012170920A Active JP6125168B2 (ja) 2011-08-03 2012-08-01 バリアトランザクションのデバッグ

Country Status (4)

Country Link
US (1) US9032252B2 (ja)
JP (1) JP6125168B2 (ja)
CN (1) CN103176926B (ja)
GB (1) GB2493405B (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9489307B2 (en) * 2012-10-24 2016-11-08 Texas Instruments Incorporated Multi domain bridge with auto snoop response
US20150106660A1 (en) * 2013-10-16 2015-04-16 Lenovo (Singapore) Pte. Ltd. Controller access to host memory
US9946492B2 (en) 2015-10-30 2018-04-17 Arm Limited Controlling persistent writes to non-volatile memory based on persist buffer data and a persist barrier within a sequence of program instructions
GB2571352B (en) 2018-02-27 2020-10-21 Advanced Risc Mach Ltd An apparatus and method for accessing metadata when debugging a device

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100268990A1 (en) * 2009-04-21 2010-10-21 Freescale Semiconductor, Inc. Tracing support for interconnect fabric
US20100306470A1 (en) * 2009-05-26 2010-12-02 Qualcomm Incorporated Methods and Apparatus for Issuing Memory Barrier Commands in a Weakly Ordered Storage System
JP2011138481A (ja) * 2009-10-13 2011-07-14 Arm Ltd インターコネクトにおけるデータ・ストア・メインテナンス要求

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6769076B1 (en) * 2000-02-07 2004-07-27 Freescale Semiconductor, Inc. Real-time processor debug system
US7444546B2 (en) * 2003-04-17 2008-10-28 Arm Limited On-board diagnostic circuit for an integrated circuit
US7107494B1 (en) * 2003-04-29 2006-09-12 Advanced Micro Devices, Inc. Bus architecture using debug packets to monitor transactions on an internal data processor bus
CN101634979B (zh) * 2008-07-22 2011-09-07 中国科学院计算技术研究所 一种满足SystemC语法的多核处理器

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100268990A1 (en) * 2009-04-21 2010-10-21 Freescale Semiconductor, Inc. Tracing support for interconnect fabric
US20100306470A1 (en) * 2009-05-26 2010-12-02 Qualcomm Incorporated Methods and Apparatus for Issuing Memory Barrier Commands in a Weakly Ordered Storage System
JP2011138481A (ja) * 2009-10-13 2011-07-14 Arm Ltd インターコネクトにおけるデータ・ストア・メインテナンス要求

Also Published As

Publication number Publication date
GB2493405B (en) 2017-04-05
CN103176926A (zh) 2013-06-26
US20130042142A1 (en) 2013-02-14
CN103176926B (zh) 2017-07-28
US9032252B2 (en) 2015-05-12
GB201119732D0 (en) 2011-12-28
JP6125168B2 (ja) 2017-05-10
GB2493405A (en) 2013-02-06

Similar Documents

Publication Publication Date Title
JP5197571B2 (ja) マルチポート・メモリ・デバイスにおけるインターポート通信
KR102222420B1 (ko) 메모리 물리 계층 인터페이스를 훈련하기 위한 통합 제어기
KR101035832B1 (ko) 집적 종단점 장치와, 집적 pci 익스프레스 종단점 장치및 pci 익스프레스 통신 시스템
JP5272014B2 (ja) 再構成可能なテスターでのテストのための方法
JP5302325B2 (ja) プロトコル認識デジタルチャネル装置
KR101758175B1 (ko) 메모리 컨트롤러를 사용하는 로버스트한 메모리 링크 테스팅
JP5260758B2 (ja) 汎用プロトコルエンジン
JP2004110785A (ja) メモリコントローラ
KR101782852B1 (ko) 엔드포인트 에뮬레이션을 이용한 빈 엔드포인트 슬롯의 초기 열거법
JP6125168B2 (ja) バリアトランザクションのデバッグ
TWI570627B (zh) 使用先進先出之介面仿真器
JP2007048280A (ja) バスモニタリングのための集積回路装置及びその方法
CN103793263B (zh) 一种基于PowerPC处理器的DMA事务级建模方法
US20060212768A1 (en) Verification circuitry for master-slave system
Gaikwad et al. Verification of AMBA AXI on-chip communication protocol
US20150046763A1 (en) Apparatus and Method for Controlling Internal Test Controllers
CN104598404B (zh) 计算设备扩展方法和装置、以及可扩展的计算系统
CN107770228B (zh) 一种基于CPCI主控的1-Wire通信系统及方法
JP2005141532A (ja) システムデバッグ装置
Bandara et al. Enabling virtio driver support on fpgas
GB2443541A (en) Serializer/De-serializer bus and controller for a ASIC with a method for testing the ASIC.
US8352239B2 (en) Emulator interface device and method thereof
JP2628311B2 (ja) マイクロコンピュータ
Wang et al. The art of portable and reusable UVM shared system memory model verification methodology across multiple verification platforms
US8341301B2 (en) Device and method for testing a direct memory access controller

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150708

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160531

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160704

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160915

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20161031

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170111

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: 20170313

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170405

R150 Certificate of patent or registration of utility model

Ref document number: 6125168

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250