JP2002202898A - システムlsi - Google Patents

システムlsi

Info

Publication number
JP2002202898A
JP2002202898A JP2000402630A JP2000402630A JP2002202898A JP 2002202898 A JP2002202898 A JP 2002202898A JP 2000402630 A JP2000402630 A JP 2000402630A JP 2000402630 A JP2000402630 A JP 2000402630A JP 2002202898 A JP2002202898 A JP 2002202898A
Authority
JP
Japan
Prior art keywords
debug
microprocessors
module
bus
microprocessor
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
JP2000402630A
Other languages
English (en)
Other versions
JP3913470B2 (ja
Inventor
Takashi Miura
貴 三浦
Takashi Miyamori
高 宮森
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP2000402630A priority Critical patent/JP3913470B2/ja
Priority to US10/028,804 priority patent/US6918058B2/en
Publication of JP2002202898A publication Critical patent/JP2002202898A/ja
Application granted granted Critical
Publication of JP3913470B2 publication Critical patent/JP3913470B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3648Software debugging using additional hardware

Landscapes

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

Abstract

(57)【要約】 【課題】 この発明は、構成の大型化を招くことなく十
分なデバッグを可能とし、デバッグの品質を向上するこ
とを課題とする。 【解決手段】 この発明は、デバッグシリアルバス13
−1,13−2を介して単一のデバッグモジュール10
と複数のマイクロプロセッサ11−1,11−2との間
で個別にデバッグ作業に必要な情報を転送するように構
成される。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、複数のマイクロ
プロセッサを備えたシステムLSIにおいて、各マイク
ロプロセッサを独立して監視制御可能とし、複数のマイ
クロプロセッサを有機的にデバッグできるようにしたシ
ステムLSIに関する。
【0002】
【従来の技術】近年、半導体プロセス技術の向上によ
り、機器組み込み用途向けのシステムLSIでは、複数
のマイクロプロセッサコアを同一のシリコンチップ上に
搭載したものが登場し始めている。複数のプロセッサを
使用する理由は、LSIが処理すべき内容を複数のタス
クに分割し、各タスクに最適な構成を持ったプロセッサ
を並列に動作させることで、大幅な処理速度の向上と最
適なシリコン面積の両立が可能になるからである。
【0003】特に、マルチメディア関連のシステムLS
Iのうち、画像圧縮伸長処理を行うシステムLSIで
は、膨大な計算量が必要であり、かつリアルタイムに処
理を完結することが要求される。これらのシステムを実
現するものとして、ハードウエア回路の組み合わせによ
り解決する実装法がある一方、ここで述べるようなマル
チプロセッサシステムの構成により実現する手法が多く
なってきている。
【0004】この理由は、これらの処理が複数のタスク
に分割しやすく、かつデータの依存関係から各タスクを
パイプライン的に処理しやすいものだからである。ま
た、時分割処理により一つのプロセッサに複数の機能の
異なるタスクを割り当てることで、専用のハードウエア
回路を複数用意するよりも結果的にシリコンコストを削
減できる可能性があるからである。さらに、ファームウ
エアの書き換えを可能にしておき、仕様変更やアルゴリ
ズム変更により性能向上への柔軟な対応が容易なこと
が、市場に供給された後にも必要になってきているから
である。
【0005】このような複数のプロセッサを同一のシリ
コン上に収めたシステムLSIにおいては、従来のマイ
クロプロセッサシステムにはないデバッグシステム設計
上の課題がある。まず、一般的な複数のプロセッサをデ
バッグするために、外部との通信手段(一般的にはシリ
アルポート)を備えた従来のデバッグシステム(従来例
1)と、複数の個々のプロセッサが単一で使用された場
合に、外部に対してデバッグ機能を提供するようなデバ
ッグモジュールを内蔵し、これらを組み合わせた従来の
デバッグシステム(従来例2)を従来例とし、これら各
々の従来例に対してシステム設計上の課題を説明する。
【0006】図6は上記従来例1の一構成を示す図であ
る。図6において、デバッグの対象となるユーザターゲ
ットシステム60は、システムLSI601、システム
LSI601に接続されたメモリ602ならびI/O6
03を備え、システムLSI601は、2つのマイクロ
プロセッサ604、605、デバッグモジュール60
6、メモリコントローラ608、DMAコントローラ6
09、I/Oコントローラ610を備え、これらはメイ
ンバス607を介して接続され、デバッグモジュール6
06は外部デバッグインターフェース62を介してデバ
ッグツール61に接続されている。それぞれのマイクロ
プロセッサ604,605は、プロセッサコア611、
バスインタフェースユニット612を備え、デバッグモ
ジュール606は、シリアルI/F613、排他制御用
セマフォ614を備えている。
【0007】このようなシステムLSI601は、特別
なデバッグサポートユニットを持たず、すべてのデバッ
グ制御がソフトウエア的に実装される形態である。デバ
ッグソフトウエアプログラム自体は、デバッグモジュー
ル606を介してデバッグツール61からシリアルI/
F613の外部デバッグインタフェース62を経由して
供給され、メインバス607上のメモリイメージとして
見えるようになっている。あるいは、さらに単純にデバ
ッグプログラムもユーザーメモリ上に置かれることも考
えられる。また、複数のマイクロプロセッサ604、6
05が同時にデバッグモジュール606のシリアルポー
トをアクセスするような資源衝突を防止するために、排
他制御用セマフォ614が実装されることが多い。
【0008】このような構成において、まず従来例1の
課題1を説明する。この課題とは、複数のマイクロプロ
セッサ604、605が同一の資源をアクセスすること
により発生するバグをどのようにしてデバッグを行うの
かという点である。特にメインバス607の競合状態は
バグを特定する上で重要な情報であり、競合時のメイン
バス状態はなるべく破壊されずにデバッグ時に観測でき
なければならない。また、この競合状態が深刻になり、
メインバス607がデッドロックを起こした場合でも、
デバッグが出来なければならない。しかし、従来例1で
は、デバッグソフトウエアプログラム自体がメインバス
607を経由して供給されるため、上記の競合状態は破
壊されて観測することができなかった。そもそも、メイ
ンバス607のデッドロックが解消された後でなければ
デバッグプログラムそのものが動作しない。
【0009】次に、従来例1の課題2を説明する。メイ
ンバス607は通常同時に1つのマイクロプロセッサ6
04、605のみのアクセスを行う。このことは、複数
のマイクロプロセッサ604.605間で命令供給の時
間的な差異が生じ、デバッグプログラム実行上における
同期ずれが発生する可能性がある。特に、ユーザモード
からデバッグモードへの移行時、ならびにデバッグモー
ドからユーザモードへの復帰時には、遷移時の各マイク
ロプロセッサ604.605でのプログラム実行位置の
相対関係を保持しつつ行われることが必要である。しか
し、例えばデバッグモードからユーザモードへ復帰する
場合は、従来例1では同時に1つのマイクロプロセッサ
604.605のみが命令供給とメモリアクセスが可能
なため、先にユーザモード復帰命令の供給を受けたマイ
クロプロセッサ604.605と、その後に命令供給を
受けたマイクロプロセッサ604.605の間では時間
的な差異が生じ、プログラムの相対位置関係を正確に把
握することができなかった。
【0010】次に、従来例1の課題3を説明する。デバ
ッグモジュール606は、メインバス607を経由して
マイクロプロセッサ604、605よりアクセスを受け
る。メインバス607は、特定のマイクロプロセッサ6
04.605のみにアクセス権を与えることが出来な
い。このため、デバッグプログラムは常に公平にマイク
ロプロセッサ604、605にプログラムを実行させる
のを前提にプログラミングする。特定のマイクロプロセ
ッサ604.605のみの実行を連続的に行わせるとい
った制御は不可能なため、デバッグプログラムの実行の
効率が悪化する。
【0011】次に、従来例1の課題4を説明する。複数
のマイクロプロセッサ604.605を効率よくコント
ロールし、デバッグのパフォーマンスをいかに確保する
のかという点では、デバッグモジュール606がメイン
バス607から受け取るアクセスはどのマイクロプロセ
ッサ604.605からのものであるかが判別できない
という事が問題になる。すなわち、デバッグ時に複数の
マイクロプロセッサ604.605を個別にコントロー
ルすることが出来ないため、マイクロプロセッサ60
4,605固有の情報を利用したソフトウエア的な動作
の切り替えを行うようにしなければならない。これは、
制御対象とならないマイクロプロセッサ604,605
にとっては、全く不要の処理となっていた。
【0012】図7は上記従来例2の構成を示す図であ
る。図7において、デバッグの対象となるユーザターゲ
ットシステム70は、システムLSI701、システム
LSI701に接続されたメモリ702ならびI/O7
03を備え、システムLSI701は、2つのマイクロ
プロセッサ704、705、デバッグモジュールセレク
タ706、メモリコントローラ708、DMAコントロ
ーラ709、I/Oコントローラ710を備え、デバッ
グモジュールセレクタ706を除くこれらはメインバス
707を介して接続され、デバッグモジュールセレクタ
706は外部デバッグインタフェース72を介してデバ
ッグツール71に接続されている。それぞれのマイクロ
プロセッサ704,705は、プロセッサコア711、
デバッグモジュール712、バスインタフェースユニッ
ト713、デバッグサポートユニット714を備えてい
る。
【0013】このような構成においては、それぞれのマ
イクロプロセッサ704,705は、デバッグモジュー
ル712ならびにデバッグサポートユニット714を備
えることにより、デバッグプログラムの供給にメインバ
ス707が使用されず、また各マイクロプロセッサ70
4、705のデバッグ機能を個別に制御することによ
り、上記従来例1の課題2を除く課題を解消することが
可能である。しかし、従来例2においても上記課題2は
解消されず、また新たな課題が発生していた。
【0014】まず、従来例2の課題1として、図7の構
成において、デバッグツール71のメインバス707上
のメモリに対するアクセスは、マイクロプロセッサ70
4,705の命令を介して行われるため、実行メモリ転
送速度が低下していた。
【0015】さらに、従来例2の課題2として、各マイ
クロプロセッサ704,705にはほとんど同じデバッ
グモジュール711、712が内蔵されるため、構成が
大きくなりコストが上昇していた。
【0016】
【発明が解決しようとする課題】以上説明したように、
複数のプロセッサを備えた従来のシステムLSIにおい
て、メインバスに共通接続された複数のマイクロプロセ
ッサに対して、デバッグ作業を支援する単一のデバッグ
モジュールでデバッグ制御をソフトウェア的に行う場合
には、メインバスの競合状態を観測できない、デバッグ
プログラムの相対位置関係を正確に把握できない、特定
のマイクロプロセッサの連続実行が不可能になる、なら
びに複数のマイクロプロセッサの動作切り替えをそれぞ
れのマイクロプロセッサの固有の情報を用いてソフトウ
ェア的に行わなければならないといった不具合を招いて
いた。
【0017】一方、それぞれのマイクロプロセッサにデ
バッグサポートユニットを備えたシステムLSIにあっ
ては、デバッグプログラムの相対位置関係を正確に把握
できない、実行メモリ転送速度が低下する、ならびに構
成の大型化とコストが上昇するといった不具合を招いて
いた。
【0018】そこで、この発明は、上記に鑑みてなされ
たものであり、その目的とするところは、構成の大型化
を招くことなく十分なデバッグを可能とし、デバッグの
品質を向上することができるシステムLSIを提供する
ことにある。
【0019】
【課題を解決するための手段】上記目的を達成するため
に、課題を解決する第1の手段は、共有するメインバス
を介して相互に接続され、デバッグの対象となる複数の
マイクロプロセッサと、デバッグプログラムに基づいて
デバッグ作業を制御するデバッグツールに接続され、前
記各マイクロプロセッサとの間で個別にデバッグプログ
ラムならびにデバッグデータの転送制御を行う単一のデ
バッグモジュールと、前記メインバスとは独立し、前記
各マイクロプロセッサと前記デバッグモジュールをそれ
ぞれ個別に接続し、前記各マイクロプロセッサと前記デ
バッグモジュールとの間で個別にデバッグプログラムな
らびにデバッグデータが転送されるデバッグシリアルバ
スとを有することを特徴とする。
【0020】第2の手段は、前記第1の手段において、
前記デバッグモジュールは前記メインバスに直接接続さ
れ、前記デバッグツールは、前記マイクロプロセッサを
介することなく前記デバッグモジュールを介して前記メ
インバスに対して直接メモリアクセスを行うことを特徴
とする。
【0021】第3の手段は、前記第1又は第2の手段に
おいて、前記各マイクロプロセッサは、マイクロプロセ
ッサのデバッグ機能を制御するデバッグサポートユニッ
トを具備し、前記デバッグモジュールと前記各マイクロ
プロセッサのデバッグサポートユニットとをそれぞれ個
別に接続するデバッグ制御バスを具備し、前記デバッグ
モジュールは、前記デバッグ制御バスを介して前記各マ
イクロプロセッサのデバッグ状態を個別に監視し、前記
それぞれのマイクロプロセッサに個別に、前記マイクロ
プロセッサをデバッグ状態に移行させるデバッグ割り込
みを要求することを特徴とする請求項1又は2記載のシ
ステムLSI。
【0022】第4の手段は、前記第1,第2又は第3の
手段において、前記デバッグモジュールは、前記各マイ
クロプロセッサに個別に、デバッグモードからユーザモ
ードへの復帰を任意に延長指示することを特徴とする。
【0023】
【発明の実施の形態】以下、図面を用いてこの発明の実
施形態を説明する。
【0024】この発明の一実施形態に係るシステムLS
Iは、実行モードとしてユーザモードとデバッグモード
を有する複数のマイクロプロセッサが、1本のメインバ
スを共有する形態のマルチプロセッサシステムで構成さ
れ、個々のマイクロプロセッサの実行モードを独立にコ
ントロールし、その実行モードの状態を常に監視するた
めのインタフェースを備えている。この実行モードの監
視機構を利用して、一つのマイクロプロセッサの実行状
態が変化することを検出し、この変化を起点にして任意
のマイクロプロセッサを同期的にデバッグモードへ移行
させ、マルチプロセッサのデバッグ機能を実現する。
【0025】マイクロプロセッサが行うメモリアクセス
のうち、デバッグプログラムの実行に必要なメモリアク
セスをメインバスとは分離したバスにより行なうこと
で、バグ発生時のメインバス状態の保持や、各マイクロ
プロセッサのバス競合関係を保存、復元することを可能
にする。さらに、メインバスより分離したバスにより、
特定のマイクロプロセッサに対してメモリアクセスを行
うことと、複数のマイクロプロセッサに対して同一のデ
ータを同時に供給することを並行して行うことで、デバ
ッグプログラムの高速な実行を可能にする。また、メイ
ンバスに直接接続され、全てのマイクロプロセッサが共
通してアクセスできるメモリ領域にマイクロプロセッサ
の介在なしにアクセスできるようにしている。
【0026】図1はこの発明の一実施形態に係るシステ
ムLSIの構成を示す図である。図1において、この実
施形態のシステムLSIは、2つのマイクロプロセッサ
を備えたマルチプロセッサシステムであり、デバッグ対
象のユーザターゲットシステム0は、システムLSI
1、メモリ2ならびにI/O3を備えて構成され、シス
テムLSI1は、デバッグモジュール10,マイクロプ
ロセッサ11−1,11−2、メモリコントローラ1
5、DMAコントローラ16、I/Oコントローラ17
を備えて構成されている。マイクロプロセッサ11−
1,11−2は、それぞれバスインタフェースユニット
11−11,11−21、プロセッサコア11−12,
11−22、デバッグサポートユニット11−13,1
1−23を備えて構成されている。デバッグモジュール
10は、外部デバッグインタフェース5を介してデバッ
グツール2と接続され、デバッグ制御バス12−1を介
してマイクロプロセッサ11−1のデバッグサポートユ
ニット11−13と接続され、デバッグ制御バス12−
2を介してマイクロプロセッサ11−2のデバッグサポ
ートユニット11−23と接続され、デバッグシリアル
バス13−1を介してマイクロプロセッサ11−1のバ
スインタフェースユニット11−11に接続され、デバ
ッグシリアルバス13−2を介してマイクロプロセッサ
11−2のバスインタフェースユニット11−21に接
続され、メインバス14を介してマイクロプロセッサ1
1−1のバスインタフェースユニット11−11、マイ
クロプロセッサ11−2のバスインタフェースユニット
11−21、メモリコントローラ15、DMAコントロ
ーラ16ならびにI/Oコントローラ17に接続されて
いる。
【0027】デバッグシリアルバス13−1,13−2
は、各マイクロプロセッサ11−1,11−2に対して
メインバス14を介在させずにデバッグツール2から供
給されるデバッグ作業を実行制御するモニタプログラム
をマイクロプロセッサ11−1,11−2が実行するた
めに使用される。デバッグ制御バス12−1,12−2
は、各マイクロプロセッサ11−1,11−2のデバッ
グサポートユニット11−13,11−23と結合し、
デバッグモードの実行制御関連レジスタの監視と制御を
デバッグツール2から可能にする。また、メインバス1
4と外部デバッグインタフェース5は、メインバス14
上に接続されるメモリなどをデバッグツール2が直接ア
クセスするために使用される。
【0028】デバッグモジュール10は、図2に示すよ
うに構成される。図2において、デバッグモジュール1
0は、マルチデバッグコントロールレジスタ20、デバ
ッグコントロールレジスタ21、アドレスレジスタ2
2、バイトイネーブルレジスタ23、データレジスタ2
4、外部デバッグインタフェース回路25、デバッグシ
リアルバス変換回路26、デバッグシリアルバスセレク
タ27ならびにDMAコントローラ28を備えて構成さ
れている。
【0029】外部デバッグインタフェース回路25は、
外部デバッグインタフェース5を介して転送される設定
情報により、マルチデバッグコントロールレジスタ2
0、デバッグコントロールレジスタ21、アドレスレジ
スタ22、バイトイネーブルレジスタ23、データレジ
スタ24の設定を行う。また、これらのレジスタの設定
内容は、外部デバッグインタフェース5を介してデバッ
グツール2に伝達される。
【0030】マルチデバッグコントロールレジスタ20
は、各マイクロプロセッサ11−1,11−2の状態を
監視しており、ブレークなどによりマイクロプロセッサ
11−1,11−2がデバッグ状態に移行すると、対応
した値が反映される。また、マルチデバッグコントロー
ルレジスタ20は、各マイクロプロセッサ11−1,1
1−2を強制的にデバッグモードに移行させるデバッグ
割り込みを個別に発生させる。また、1つのマイクロプ
ロセッサ11−1,11−2がデバッグモードに移行す
るのに同期して、特定のマイクロプロセッサ11−1,
11−2に対して上記のデバッグ割り込みを発生させ
る。
【0031】デバッグシリアルバス13−1又は13−
2は、マルチデバッグコントロールレジスタ20からの
デバッグシリアルバス選択信号の指示でデバッグシリア
ルバスセレクタ27により選択され、デバッグシリアル
バス変換回路26に選択入力される。デバッグコントロ
ールレジスタ21は、デバッグシリアル開始信号により
デバッグシリアルバス変換回路26を起動し、有効なデ
バッグシリアルバス13−1又は13−2とアドレスレ
ジスタ22、バイトイネーブルレジスタ23、データレ
ジスタ24のデータ交換を行う。デバッグシリアル開始
信号は、接続されるマイクロプロセッサ11−1,11
−2がデバッグモードにある場合に有効となる。
【0032】一方、デバッグコントロールレジスタ21
は、DMA開始信号によりDMAコントローラ28を起
動して、メインバス14に対しアドレスレジスタ22、
バイトイネーブルレジスタ23、データレジスタ24の
内容でメモリアクセスを起こす。これにより、デバッグ
モジュール10を介してデバッグツール2はメインバス
14に接続され、マイクロプロセッサ11−1,11−
2がデバッグモードになくても利用することが出来る。
【0033】デバッグ制御バス12−1,12−2は、
図3に示すように構成される。図3において、デバッグ
制御バス12−1,12−2は、DINT信号、Dm信
号、ならびにDStl信号で構成される。マイクロプロ
セッサ11−1,11−2のプロセッサコア11−1
2,11−22は、デバッグモードに移行した場合に、
デバッグモード通知信号をアサートしてデバッグサポー
トユニット11−13,11−23に知らせる。これに
より、デバッグサポートユニット11−13,11−2
3は、Dm信号をアサートしデバッグモジュール10に
対してデバッグモードに移行したことを通知する。この
Dm信号がアサートされる条件は次のものがある。
【0034】(条件1)DINT信号がアサートされた
ことをデバッグサポートユニット11−13,11−2
3が検出し、デバッグサポートユニット11−13,1
1−23がプロセッサコア11−12,11−22に対
してデバッグ割り込み要求信号をアサートする。
【0035】(条件2)デバッグサポートユニット11
−13,11−23がデバッグ割り込み条件を検出し、
プロセッサコア11−12,11−22に対してデバッ
グ割り込み要求信号をアサートする。
【0036】(条件3)プロセッサコア11−12,1
1−22が、デバッグ例外命令を実行することによりデ
バッグモードに移行する。
【0037】DStl信号は、デバッグサポートユニッ
ト11−13,11−23を介してコアストール要求信
号をプロセッサコア11−12,11−22にアサート
する。このコアストール要求信号がアサートされている
間は、ユーザーモードの実行は延期され、マイクロプロ
セッサ11−1,11−2間のユーザーモードの実行を
開始する際の同期に使用される。
【0038】デバッグシリアルバス13−1,13−2
は、図4に示すように構成される。図4において、デバ
ッグシリアルバス13−1,13−2はDBSEL、D
SDAO、DBSDIで構成され、バスインタフェース
ユニット11−11,11−21に接続されている。バ
スインタフェースユニット11−11,11−12は、
メインバスデバッグバス制御回路40,パラレル→シリ
アル変換回路41,シリアル→パラレル変換回路42な
らびにセレクタ43を備えて構成されている。
【0039】プロセッサコア11−12,11−21か
らのデバッグモード通知信号は、メインバスデバッグバ
ス制御回路40に入力され、REQ信号、ACK信号、
ERR信号、アドレス、バイトイネーブル信号、リード
ライト要求信号、データといったメモリアクセスにかか
わる信号をメインバス14又はデバッグシリアルバス1
3−1,13−2に切り替える。デバッグモード通知信
号がアサートされている場合は、メインバスデバッグバ
ス制御回路40から出力される選択信号によりセレクタ
43を切り替え、アドレス、バイトイネーブル信号、リ
ードライト要求信号、データをパラレル→シリアル変換
回路41に入力する。デバッグモード通知信号がデアサ
ートの場合には、上記選択信号に基づいてセレクタ43
により、全ての要求はメインバス14へと切り替えられ
る。
【0040】パラレル→シリアル変換回路41に入力さ
れたアクセス内容は、DBSELがアサートされること
によりメインバスデバッグバス制御回路40から出力さ
れる変換開始信号にしたがってDSDAOへのシリアル
データ転送開始が指示される。リード要求の場合には、
DBSDIからデータを受け取り、シリアル→パラレル
変換回路42によりデータを確定したことを変換終了信
号としてメインバスデバッグバス制御回路40に入力
し、またセレクタ43を介してプロセッサコア11−1
2,11−21にデータとして入力される。メモリアク
セスの制御信号となるREQ信号、ACK信号、ERR
信号は、上記変換開始信号ならびに変換終了信号から生
成される。DSDAO,DBSDIによるシリアル転送
の開始は、DBSELがアサートされることにより開始
される。
【0041】外部デバッグインタフェース5は、図5に
示すように構成される。図5において、外部デバッグイ
ンタフェース5は、TCK、TRST* 、TMS、T
DI、TDOより構成される。デバッグモジュール10
の外部デバッグインタフェース回路25には、システム
LSI1全体のリセット信号RESETが与えられる。
リセット信号RESETがアサートされた場合は、外部
デバッグインタフェース5はリセットされる。また、T
RST* がアサートされた場合には、外部デバッグイ
ンタフェース回路25のみがリセットされる。TCK,
TMSは外部デバッグインタフェース回路25のレジス
タ設定状態を決める。TDIはデバッグツール2から実
際のレジスタの選択と、レジスタ値の確定に使用され
る。また、TDOはレジスタの確定値の監視に使用され
る。
【0042】このように、上記実施形態では、2つのマ
イクロプロセッサ11−1,11−2が内蔵され、これ
らのマイクロプロセッサ11−1,11−2が一つのメ
インバス14を共有するシステムLSI1を構成し、メ
インバス14上でエラーが発生してデバッグが必要にな
った場合には、デバッグに必要なデバッグプログラムと
データをメインバス14とは独立したデバッグシリアル
バス13−1,13−2により任意かつ個別にやりとり
を一つのデバッグモジュール10で行い、このデバッグ
モジュール10と外部デバッグインタフェース5を介し
て接続されたデバッグツール2によりデバッグを行って
いる。これにより、複数のマイクロプロセッサ11−
1,11−2に対する個別のデバッグ機能を最小コスト
で実現することができる。また、デバッグモジュール
は、メインバス14に接続されて直接メインバス14に
対してメモリアクセスを行うDMAコントローラ28を
備え、このDMAコントローラ28を用いてデバッグツ
ール2からプログラム等を直接転送することが可能とな
り、ユーザープログラムのダウンロードなどの効率を改
善することができる。
【0043】また、2つのマイクロプロセッサ11−
1,11−2のそれぞれに内蔵されるプロセッサコア1
1−12,11−22のデバッグ機能をコントロールす
るデバッグサポートユニット11−13,11−23
と、デバッグ制御バス12−1,12−2を介して接続
されたデバッグモジュール10が、このデバッグ制御バ
ス12−1,12−2を介して2つのマイクロプロセッ
サ11−1,11−2のデバッグ状態を個別に監視し、
個別にデバッグ割り込み要求を発行している。これによ
り、ユーザモードからデバッグモードへの遷移を、マイ
クロプロセッサ11−1,11−2間の同期関係を崩さ
ずに遷移させることが出来る。さらに、デバッグモジュ
ール10は、デバッグ制御バス12−1,12−2を介
してデバッグモードからユーザモードへの復帰を任意の
時間だけ延期する指示を与える。これにより、デバッグ
モードからユーザモードへの復帰時に、マイクロプロセ
ッサ11−1,11−2間の同期関係を崩さずに遷移さ
せることが出来る。
【0044】
【発明の効果】以上説明したように、この発明によれ
ば、デバッグシリアルバスを介して単一のデバッグモジ
ュールと複数のマイクロプロセッサとの間で個別にデバ
ッグ作業に必要な情報を転送するようにしたので、各マ
イクロプロセッサを十分にデバッグすることができる。
【0045】また、デバッグツールがデバッグモジュー
ルを介して直接メモリアクセスを行えるようにしたの
で、デバッグツールからの情報転送を効率よく実施する
ことができる。
【0046】さらに、デバッグモジュールから各マイク
ロプロセッサへ個別にデバッグ割り込みを要求するよう
にしたので、マイクロプロセッサ間の同期関係を崩さず
に、マイクロプロセッサをユーザモードからデバッグモ
ードへ遷移させることができる。一方、デバッグモジュ
ールが各マイクロプロセッサのデバッグモードからユー
ザモードへの復帰を任意に延長指示するようにしたの
で、マイクロプロセッサ間の同期関係を崩さずに、各マ
イクロプロセッサをデバッグモードからユーザモードに
復帰させることが可能となる。
【図面の簡単な説明】
【図1】この発明の一実施形態に係るシステムLSIを
デバッグする構成を示す図である。
【図2】デバッグモジュールの構成を示す図である。
【図3】デバッグ制御バスの構成を示す図である。
【図4】バスインターフェースユニットならびにデバッ
グシリアルバスの構成を示す図である。
【図5】外部デバッグインタフェースの構成を示す図で
ある。
【図6】システムLSIをデバッグする従来の一構成を
示す図である。
【図7】システムLSIをデバッグする従来の他の構成
を示す図である。
【符号の説明】
0 ユーザターゲットシステム 1 システムLSI 2 デバッグツール 3 メモリ 4 I/O 5 外部デバッグインタフェース 10 デバッグモジュール 11−1,11−2 マイクロプロセッサ 11−11,11−21 バスインタフェースユニット 11−12,11−22 プロセッサコア 11−13,11−23 デバッグサポートユニット 12−1,12−2 デバッグ制御バス 13−1,13−2 デバッグシリアルバス 14 メインバス 15 メモリコントローラ 16 DMAコントローラ 17 I/Oコントローラ 20 マルチデバッグコントロールレジスタ 21 デバッグコントロールレジスタ 22 アドレスレジスタ 23 バイトイネーブルレジスタ 24 データレジスタ 25 外部デバッグインタフェース回路 26 デバッグシリアルバス変換回路 27 デバッグシリアルバスセレクタ 28 DMAコントローラ 40 メインバスデバッグバス制御回路 41 パラレル→シリアル変換回路 42 シリアル→パラレル変換回路 43 セレクタ
───────────────────────────────────────────────────── フロントページの続き Fターム(参考) 2G132 AA01 AB00 AB20 AK12 AK15 AL11 5B042 GC05 HH01 5B048 AA20 DD08 FF04

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】 共有するメインバスを介して相互に接続
    され、デバッグの対象となる複数のマイクロプロセッサ
    と、 デバッグプログラムに基づいてデバッグ作業を制御する
    デバッグツールに接続され、前記各マイクロプロセッサ
    との間で個別にデバッグプログラムならびにデバッグデ
    ータの転送制御を行う単一のデバッグモジュールと、 前記メインバスとは独立し、前記各マイクロプロセッサ
    と前記デバッグモジュールをそれぞれ個別に接続し、前
    記各マイクロプロセッサと前記デバッグモジュールとの
    間で個別にデバッグプログラムならびにデバッグデータ
    が転送されるデバッグシリアルバスとを有することを特
    徴とするシステムLSI。
  2. 【請求項2】 前記デバッグモジュールは前記メインバ
    スに直接接続され、前記デバッグツールは、前記マイク
    ロプロセッサを介することなく前記デバッグモジュール
    を介して前記メインバスに対して直接メモリアクセスを
    行うことを特徴とする請求項1記載のシステムLSI。
  3. 【請求項3】 前記各マイクロプロセッサは、マイクロ
    プロセッサのデバッグ機能を制御するデバッグサポート
    ユニットを具備し、 前記デバッグモジュールと前記各マイクロプロセッサの
    デバッグサポートユニットとをそれぞれ個別に接続する
    デバッグ制御バスを具備し、 前記デバッグモジュールは、前記デバッグ制御バスを介
    して前記各マイクロプロセッサのデバッグ状態を個別に
    監視し、前記それぞれのマイクロプロセッサに個別に、
    前記マイクロプロセッサをデバッグ状態に移行させるデ
    バッグ割り込みを要求することを特徴とする請求項1又
    は2記載のシステムLSI。
  4. 【請求項4】 前記デバッグモジュールは、前記各マイ
    クロプロセッサに個別に、デバッグモードからユーザモ
    ードへの復帰を任意に延長指示することを特徴とする請
    求項1,2又は3記載のシステムLSI。
JP2000402630A 2000-12-28 2000-12-28 システムlsi Expired - Fee Related JP3913470B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2000402630A JP3913470B2 (ja) 2000-12-28 2000-12-28 システムlsi
US10/028,804 US6918058B2 (en) 2000-12-28 2001-12-28 Semiconductor integrated circuit, system board and debugging system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000402630A JP3913470B2 (ja) 2000-12-28 2000-12-28 システムlsi

Publications (2)

Publication Number Publication Date
JP2002202898A true JP2002202898A (ja) 2002-07-19
JP3913470B2 JP3913470B2 (ja) 2007-05-09

Family

ID=18866881

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000402630A Expired - Fee Related JP3913470B2 (ja) 2000-12-28 2000-12-28 システムlsi

Country Status (2)

Country Link
US (1) US6918058B2 (ja)
JP (1) JP3913470B2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007513425A (ja) * 2003-12-05 2007-05-24 フリースケール セミコンダクター インコーポレイテッド 多数の時間領域群を有するシステムでイベント群を時間順序付けする装置及び方法
JP2007141200A (ja) * 2005-10-21 2007-06-07 Renesas Technology Corp データ処理装置
JP2007212327A (ja) * 2006-02-10 2007-08-23 Nec Computertechno Ltd デバッグ回路
JP2009099054A (ja) * 2007-10-18 2009-05-07 Fujitsu Microelectronics Ltd 半導体集積回路及びデバッグモード決定方法

Families Citing this family (57)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10119266A1 (de) * 2001-04-20 2002-10-31 Infineon Technologies Ag Programmgesteuerte Einheit
DE10138918A1 (de) * 2001-08-08 2003-03-06 Infineon Technologies Ag Programmgesteuerte Einheit
US7007157B2 (en) * 2001-10-30 2006-02-28 Microsoft Corporation Network interface sharing methods and apparatuses that support kernel mode data traffic and user mode data traffic
EP1349071A1 (en) * 2002-03-29 2003-10-01 STMicroelectronics N.V. Integrated circuit with direct debugging architecture
US20040019828A1 (en) * 2002-07-25 2004-01-29 Gergen Joseph P. Method and apparatus for debugging a data processing system
US7107489B2 (en) * 2002-07-25 2006-09-12 Freescale Semiconductor, Inc. Method and apparatus for debugging a data processing system
JP2004164367A (ja) * 2002-11-14 2004-06-10 Renesas Technology Corp マルチプロセッサシステム
US6895530B2 (en) * 2003-01-24 2005-05-17 Freescale Semiconductor, Inc. Method and apparatus for controlling a data processing system during debug
US7444571B1 (en) * 2003-02-27 2008-10-28 Marvell International Ltd. Apparatus and method for testing and debugging an integrated circuit
US7496818B1 (en) 2003-02-27 2009-02-24 Marvell International Ltd. Apparatus and method for testing and debugging an integrated circuit
US7216276B1 (en) * 2003-02-27 2007-05-08 Marvell International Ltd. Apparatus and method for testing and debugging an integrated circuit
US7444546B2 (en) * 2003-04-17 2008-10-28 Arm Limited On-board diagnostic circuit for an integrated circuit
DE10320785A1 (de) * 2003-05-09 2004-11-25 Bayer Healthcare Ag 6-Arylmethyl-substituierte Pyrazolopyrimidine
US7194658B2 (en) * 2003-07-24 2007-03-20 Sonics, Inc. Various methods and apparatuses for interfacing of a protocol monitor to protocol checkers and functional checkers
JP2005070949A (ja) * 2003-08-21 2005-03-17 Sanyo Electric Co Ltd プログラム処理装置
JP4409349B2 (ja) * 2004-04-27 2010-02-03 Okiセミコンダクタ株式会社 デバッグ回路およびデバッグ制御方法
US20050278374A1 (en) * 2004-05-21 2005-12-15 Bea Systems, Inc. Dynamic program modification
US20060031432A1 (en) * 2004-05-21 2006-02-09 Bea Systens, Inc. Service oriented architecture with message processing pipelines
US20050267947A1 (en) * 2004-05-21 2005-12-01 Bea Systems, Inc. Service oriented architecture with message processing pipelines
US20060031481A1 (en) * 2004-05-21 2006-02-09 Bea Systems, Inc. Service oriented architecture with monitoring
US20050273502A1 (en) * 2004-05-21 2005-12-08 Patrick Paul B Service oriented architecture with message processing stages
US20050267892A1 (en) * 2004-05-21 2005-12-01 Patrick Paul B Service proxy definition
US20050278335A1 (en) * 2004-05-21 2005-12-15 Bea Systems, Inc. Service oriented architecture with alerts
US20060007918A1 (en) * 2004-05-21 2006-01-12 Bea Systems, Inc. Scaleable service oriented architecture
US20060031930A1 (en) * 2004-05-21 2006-02-09 Bea Systems, Inc. Dynamically configurable service oriented architecture
US20050273517A1 (en) * 2004-05-21 2005-12-08 Bea Systems, Inc. Service oriented architecture with credential management
US20060069791A1 (en) * 2004-05-21 2006-03-30 Bea Systems, Inc. Service oriented architecture with interchangeable transport protocols
US7653008B2 (en) 2004-05-21 2010-01-26 Bea Systems, Inc. Dynamically configurable service oriented architecture
US20060031433A1 (en) * 2004-05-21 2006-02-09 Bea Systems, Inc. Batch updating for a service oriented architecture
US20050270970A1 (en) * 2004-05-21 2005-12-08 Bea Systems, Inc. Failsafe service oriented architecture
US20060031354A1 (en) * 2004-05-21 2006-02-09 Bea Systems, Inc. Service oriented architecture
US20050273520A1 (en) * 2004-05-21 2005-12-08 Bea Systems, Inc. Service oriented architecture with file transport protocol
US20060080419A1 (en) * 2004-05-21 2006-04-13 Bea Systems, Inc. Reliable updating for a service oriented architecture
US20060031353A1 (en) * 2004-05-21 2006-02-09 Bea Systems, Inc. Dynamic publishing in a service oriented architecture
US20050273497A1 (en) * 2004-05-21 2005-12-08 Bea Systems, Inc. Service oriented architecture with electronic mail transport protocol
US20060005063A1 (en) * 2004-05-21 2006-01-05 Bea Systems, Inc. Error handling for a service oriented architecture
US7237149B2 (en) * 2005-02-25 2007-06-26 Freescale Semiconductor, Inc. Method and apparatus for qualifying debug operation using source information
JP2006309338A (ja) * 2005-04-26 2006-11-09 Toshiba Corp データ変換器モジュール
JP4855710B2 (ja) * 2005-04-28 2012-01-18 株式会社東芝 ソフトウェアのプラグイン方法、および、アプリケーションプログラム
JP4450787B2 (ja) * 2005-11-28 2010-04-14 株式会社ルネサステクノロジ 半導体集積回路装置
US7958396B2 (en) * 2006-05-19 2011-06-07 Microsoft Corporation Watchdog processors in multicore systems
US7620840B2 (en) * 2006-12-29 2009-11-17 Intel Corporation Transactional flow management interrupt debug architecture
JP5151996B2 (ja) * 2007-02-14 2013-02-27 日本電気株式会社 半導体集積回路及びデバッグ・トレース回路
US7877347B2 (en) * 2007-05-03 2011-01-25 Payton David W Method and system for independently observing and modifying the activity of an actor processor
US8996394B2 (en) * 2007-05-18 2015-03-31 Oracle International Corporation System and method for enabling decision activities in a process management and design environment
US8185916B2 (en) 2007-06-28 2012-05-22 Oracle International Corporation System and method for integrating a business process management system with an enterprise service bus
US7870430B2 (en) * 2008-02-29 2011-01-11 Freescale Semiconductor, Inc. Method and apparatus for sharing debug resources
US7870434B2 (en) * 2008-02-29 2011-01-11 Freescale Semiconductor, Inc. Method and apparatus for masking debug resources
JP2010140240A (ja) * 2008-12-11 2010-06-24 Renesas Electronics Corp プロセッサ、マルチプロセッサ、及び、デバッグ方法
US9037911B2 (en) * 2010-12-09 2015-05-19 Advanced Micro Devices, Inc. Debug state machines and methods of their operation
US9053233B2 (en) * 2011-08-15 2015-06-09 Freescale Semiconductor, Inc. Method and device for controlling debug event resources
US20130305012A1 (en) * 2012-05-10 2013-11-14 Telefonaktiebolaget L M Ericsson (Publ) Implementation of counters using trace hardware
GB2541216B (en) * 2015-08-12 2021-03-17 Ultrasoc Technologies Ltd Reconfiguring debug circuitry
GB2571352B (en) 2018-02-27 2020-10-21 Advanced Risc Mach Ltd An apparatus and method for accessing metadata when debugging a device
JP7202225B2 (ja) * 2019-03-12 2023-01-11 ローム株式会社 半導体装置及びデバッグシステム
JP2020181229A (ja) * 2019-04-23 2020-11-05 セイコーエプソン株式会社 電子部品、電子機器及び移動体
US11581053B2 (en) * 2020-08-06 2023-02-14 Micron Technology, Inc. Memory device test mode access

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03268159A (ja) 1990-03-19 1991-11-28 Fujitsu Ltd 保守用コンソール接続方式
JP2752592B2 (ja) 1994-12-28 1998-05-18 日本ヒューレット・パッカード株式会社 マイクロプロセッサ、マイクロプロセッサ−デバッグツール間信号伝送方法及びトレース方法
DE69523884T2 (de) 1994-12-28 2002-06-27 Toshiba Kawasaki Kk Mikroprozessor mit Fehlersuchsystem
US5790871A (en) * 1996-05-17 1998-08-04 Advanced Micro Devices System and method for testing and debugging a multiprocessing interrupt controller
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
US6065078A (en) * 1997-03-07 2000-05-16 National Semiconductor Corporation Multi-processor element provided with hardware for software debugging
US6115763A (en) * 1998-03-05 2000-09-05 International Business Machines Corporation Multi-core chip providing external core access with regular operation function interface and predetermined service operation services interface comprising core interface units and masters interface unit
US6687865B1 (en) * 1998-03-25 2004-02-03 On-Chip Technologies, Inc. On-chip service processor for test and debug of integrated circuits
US6311302B1 (en) * 1999-04-01 2001-10-30 Philips Semiconductor, Inc. Method and arrangement for hierarchical control of multiple test access port control modules
US6601189B1 (en) * 1999-10-01 2003-07-29 Stmicroelectronics Limited System and method for communicating with an integrated circuit
US6691266B1 (en) * 1999-10-15 2004-02-10 Triscend Corporation Bus mastering debugging system for integrated circuits
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

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007513425A (ja) * 2003-12-05 2007-05-24 フリースケール セミコンダクター インコーポレイテッド 多数の時間領域群を有するシステムでイベント群を時間順序付けする装置及び方法
JP4805163B2 (ja) * 2003-12-05 2011-11-02 フリースケール セミコンダクター インコーポレイテッド 多数の時間領域群を有するシステムでイベント群を時間順序付けする装置及び方法
JP2007141200A (ja) * 2005-10-21 2007-06-07 Renesas Technology Corp データ処理装置
JP2007212327A (ja) * 2006-02-10 2007-08-23 Nec Computertechno Ltd デバッグ回路
JP2009099054A (ja) * 2007-10-18 2009-05-07 Fujitsu Microelectronics Ltd 半導体集積回路及びデバッグモード決定方法

Also Published As

Publication number Publication date
JP3913470B2 (ja) 2007-05-09
US6918058B2 (en) 2005-07-12
US20020087918A1 (en) 2002-07-04

Similar Documents

Publication Publication Date Title
JP3913470B2 (ja) システムlsi
USRE41293E1 (en) Multiprocessor computer having configurable hardware system domains
US7010722B2 (en) Embedded symmetric multiprocessor system debug
US6502209B1 (en) Chip with debug capability
US8700835B2 (en) Computer system and abnormality detection circuit
JP2000332205A (ja) プロセッサ内蔵半導体集積回路装置
US20060184834A1 (en) Method, apparatus, and computer program product in a processor for concurrently sharing a memory controller among a tracing process and non-tracing processes using a programmable variable number of shared memory write buffers
JP2004326809A (ja) ホットプラグ可能な問題のあるコンポーネントの動的検出および問題のあるコンポーネントからのシステムリソースの再割り当て
US20080184055A1 (en) Instruction-based timer control during debug
US20110016244A1 (en) Information processing device and processor
US20130073765A1 (en) Semiconductor device and data processor
US11599498B1 (en) Device with data processing engine array that enables partial reconfiguration
US7831862B2 (en) Selective timer control during single-step instruction execution
JP2010225094A (ja) 集積回路、デバッグ回路、デバッグコマンド制御方法
US5678003A (en) Method and system for providing a restartable stop in a multiprocessor system
EP0840223B1 (en) Microcomputer capable of accessing an external memory
JP3626667B2 (ja) 拡張スロットホットプラグ制御装置
JP2001167058A (ja) 情報処理装置
EP0840221B1 (en) Microcomputer with packet bus
EP0840222B1 (en) Microcomputer with debugging system
JP4197798B2 (ja) デバッグ能力を有するチップ
US6282600B1 (en) Method and apparatus of resolving conflicting register access requests from a service processor and system processor
EP0840224B1 (en) Microcomputer with booting system
JP2007316986A (ja) システムlsi
JP2550708B2 (ja) デバッグ方式

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040617

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060209

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060228

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060501

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070131

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

Free format text: PAYMENT UNTIL: 20100209

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20110209

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120209

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20120209

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20130209

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20140209

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees