JP3913470B2 - システムlsi - Google Patents
システムlsi Download PDFInfo
- Publication number
- JP3913470B2 JP3913470B2 JP2000402630A JP2000402630A JP3913470B2 JP 3913470 B2 JP3913470 B2 JP 3913470B2 JP 2000402630 A JP2000402630 A JP 2000402630A JP 2000402630 A JP2000402630 A JP 2000402630A JP 3913470 B2 JP3913470 B2 JP 3913470B2
- Authority
- JP
- Japan
- Prior art keywords
- debug
- microprocessors
- microprocessor
- bus
- module
- 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 - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
- G06F11/3648—Software 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)
Description
【発明の属する技術分野】
この発明は、複数のマイクロプロセッサを備えたシステムLSIにおいて、各マイクロプロセッサを独立して監視制御可能とし、複数のマイクロプロセッサを有機的にデバッグできるようにしたシステムLSIに関する。
【0002】
【従来の技術】
近年、半導体プロセス技術の向上により、機器組み込み用途向けのシステムLSIでは、複数のマイクロプロセッサコアを同一のシリコンチップ上に搭載したものが登場し始めている。複数のプロセッサを使用する理由は、LSIが処理すべき内容を複数のタスクに分割し、各タスクに最適な構成を持ったプロセッサを並列に動作させることで、大幅な処理速度の向上と最適なシリコン面積の両立が可能になるからである。
【0003】
特に、マルチメディア関連のシステムLSIのうち、画像圧縮伸長処理を行うシステムLSIでは、膨大な計算量が必要であり、かつリアルタイムに処理を完結することが要求される。これらのシステムを実現するものとして、ハードウエア回路の組み合わせにより解決する実装法がある一方、ここで述べるようなマルチプロセッサシステムの構成により実現する手法が多くなってきている。
【0004】
この理由は、これらの処理が複数のタスクに分割しやすく、かつデータの依存関係から各タスクをパイプライン的に処理しやすいものだからである。また、時分割処理により一つのプロセッサに複数の機能の異なるタスクを割り当てることで、専用のハードウエア回路を複数用意するよりも結果的にシリコンコストを削減できる可能性があるからである。さらに、ファームウエアの書き換えを可能にしておき、仕様変更やアルゴリズム変更により性能向上への柔軟な対応が容易なことが、市場に供給された後にも必要になってきているからである。
【0005】
このような複数のプロセッサを同一のシリコン上に収めたシステムLSIにおいては、従来のマイクロプロセッサシステムにはないデバッグシステム設計上の課題がある。まず、一般的な複数のプロセッサをデバッグするために、外部との通信手段(一般的にはシリアルポート)を備えた従来のデバッグシステム(従来例1)と、複数の個々のプロセッサが単一で使用された場合に、外部に対してデバッグ機能を提供するようなデバッグモジュールを内蔵し、これらを組み合わせた従来のデバッグシステム(従来例2)を従来例とし、これら各々の従来例に対してシステム設計上の課題を説明する。
【0006】
図6は上記従来例1の一構成を示す図である。図6において、デバッグの対象となるユーザターゲットシステム60は、システムLSI601、システムLSI601に接続されたメモリ602ならびI/O603を備え、システムLSI601は、2つのマイクロプロセッサ604、605、デバッグモジュール606、メモリコントローラ608、DMAコントローラ609、I/Oコントローラ610を備え、これらはメインバス607を介して接続され、デバッグモジュール606は外部デバッグインターフェース62を介してデバッグツール61に接続されている。それぞれのマイクロプロセッサ604,605は、プロセッサコア611、バスインタフェースユニット612を備え、デバッグモジュール606は、シリアルI/F613、排他制御用セマフォ614を備えている。
【0007】
このようなシステムLSI601は、特別なデバッグサポートユニットを持たず、すべてのデバッグ制御がソフトウエア的に実装される形態である。デバッグソフトウエアプログラム自体は、デバッグモジュール606を介してデバッグツール61からシリアルI/F613の外部デバッグインタフェース62を経由して供給され、メインバス607上のメモリイメージとして見えるようになっている。あるいは、さらに単純にデバッグプログラムもユーザーメモリ上に置かれることも考えられる。また、複数のマイクロプロセッサ604、605が同時にデバッグモジュール606のシリアルポートをアクセスするような資源衝突を防止するために、排他制御用セマフォ614が実装されることが多い。
【0008】
このような構成において、まず従来例1の課題1を説明する。この課題とは、複数のマイクロプロセッサ604、605が同一の資源をアクセスすることにより発生するバグをどのようにしてデバッグを行うのかという点である。特にメインバス607の競合状態はバグを特定する上で重要な情報であり、競合時のメインバス状態はなるべく破壊されずにデバッグ時に観測できなければならない。また、この競合状態が深刻になり、メインバス607がデッドロックを起こした場合でも、デバッグが出来なければならない。しかし、従来例1では、デバッグソフトウエアプログラム自体がメインバス607を経由して供給されるため、上記の競合状態は破壊されて観測することができなかった。そもそも、メインバス607のデッドロックが解消された後でなければデバッグプログラムそのものが動作しない。
【0009】
次に、従来例1の課題2を説明する。メインバス607は通常同時に1つのマイクロプロセッサ604、605のみのアクセスを行う。このことは、複数のマイクロプロセッサ604.605間で命令供給の時間的な差異が生じ、デバッグプログラム実行上における同期ずれが発生する可能性がある。特に、ユーザモードからデバッグモードへの移行時、ならびにデバッグモードからユーザモードへの復帰時には、遷移時の各マイクロプロセッサ604.605でのプログラム実行位置の相対関係を保持しつつ行われることが必要である。しかし、例えばデバッグモードからユーザモードへ復帰する場合は、従来例1では同時に1つのマイクロプロセッサ604.605のみが命令供給とメモリアクセスが可能なため、先にユーザモード復帰命令の供給を受けたマイクロプロセッサ604.605と、その後に命令供給を受けたマイクロプロセッサ604.605の間では時間的な差異が生じ、プログラムの相対位置関係を正確に把握することができなかった。
【0010】
次に、従来例1の課題3を説明する。デバッグモジュール606は、メインバス607を経由してマイクロプロセッサ604、605よりアクセスを受ける。メインバス607は、特定のマイクロプロセッサ604.605のみにアクセス権を与えることが出来ない。このため、デバッグプログラムは常に公平にマイクロプロセッサ604、605にプログラムを実行させるのを前提にプログラミングする。特定のマイクロプロセッサ604.605のみの実行を連続的に行わせるといった制御は不可能なため、デバッグプログラムの実行の効率が悪化する。
【0011】
次に、従来例1の課題4を説明する。複数のマイクロプロセッサ604.605を効率よくコントロールし、デバッグのパフォーマンスをいかに確保するのかという点では、デバッグモジュール606がメインバス607から受け取るアクセスはどのマイクロプロセッサ604.605からのものであるかが判別できないという事が問題になる。すなわち、デバッグ時に複数のマイクロプロセッサ604.605を個別にコントロールすることが出来ないため、マイクロプロセッサ604,605固有の情報を利用したソフトウエア的な動作の切り替えを行うようにしなければならない。これは、制御対象とならないマイクロプロセッサ604,605にとっては、全く不要の処理となっていた。
【0012】
図7は上記従来例2の構成を示す図である。図7において、デバッグの対象となるユーザターゲットシステム70は、システムLSI701、システムLSI701に接続されたメモリ702ならびI/O703を備え、システム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が使用されず、また各マイクロプロセッサ704、705のデバッグ機能を個別に制御することにより、上記従来例1の課題2を除く課題を解消することが可能である。しかし、従来例2においても上記課題2は解消されず、また新たな課題が発生していた。
【0014】
まず、従来例2の課題1として、図7の構成において、デバッグツール71のメインバス707上のメモリに対するアクセスは、マイクロプロセッサ704,705の命令を介して行われるため、実行メモリ転送速度が低下していた。
【0015】
さらに、従来例2の課題2として、各マイクロプロセッサ704,705にはほとんど同じデバッグモジュール711、712が内蔵されるため、構成が大きくなりコストが上昇していた。
【0016】
【発明が解決しようとする課題】
以上説明したように、複数のプロセッサを備えた従来のシステムLSIにおいて、メインバスに共通接続された複数のマイクロプロセッサに対して、デバッグ作業を支援する単一のデバッグモジュールでデバッグ制御をソフトウェア的に行う場合には、メインバスの競合状態を観測できない、デバッグプログラムの相対位置関係を正確に把握できない、特定のマイクロプロセッサの連続実行が不可能になる、ならびに複数のマイクロプロセッサの動作切り替えをそれぞれのマイクロプロセッサの固有の情報を用いてソフトウェア的に行わなければならないといった不具合を招いていた。
【0017】
一方、それぞれのマイクロプロセッサにデバッグサポートユニットを備えたシステムLSIにあっては、デバッグプログラムの相対位置関係を正確に把握できない、実行メモリ転送速度が低下する、ならびに構成の大型化とコストが上昇するといった不具合を招いていた。
【0018】
そこで、この発明は、上記に鑑みてなされたものであり、その目的とするところは、構成の大型化を招くことなく十分なデバッグを可能とし、デバッグの品質を向上することができるシステムLSIを提供することにある。
【0019】
【課題を解決するための手段】
上記目的を達成するために、課題を解決する手段は、共有するメインバスを介して相互に接続され、デバッグの対象となる複数のマイクロプロセッサと、デバッグプログラムに基づいてデバッグ作業を制御するデバッグツールに接続され、前記各マイクロプロセッサとの間で個別にデバッグプログラムならびにデバッグデータの転送制御を行う単一のデバッグモジュールと、前記メインバスとは独立し、前記各マイクロプロセッサと前記デバッグモジュールをそれぞれ個別に接続し、前記各マイクロプロセッサと前記デバッグモジュールとの間で個別にデバッグプログラムならびにデバッグデータが転送されるデバッグシリアルバスと、前記デバッグモジュールと前記各マイクロプロセッサとをそれぞれ個別に接続して、前記各マイクロプロセッサがデバッグされる際のデバッグ制御情報が転送されるデバッグ制御バスとを具備し、前記各マイクロプロセッサは、それぞれ同期して動作しマルチプロセッサシステムを構築し、前記マイクロプロセッサのデバッグ機能を制御するデバッグサポートユニットを備え、前記デバッグモジュールは、前記デバッグ制御バスを介して前記各マイクロプロセッサの任意の前記マイクロプロセッサに並行してデバッグ割り込みを要求してユーザーモードからデバッグモードに移行させ、前記デバッグ制御バスを介して前記各マイクロプロセッサのデバッグ状態を個別かつ並行して監視し、監視結果に基づいて任意の前記マイクロプロセッサをユーザーモードからデバッグモードに移行させることを特徴とする。
【0023】
【発明の実施の形態】
以下、図面を用いてこの発明の実施形態を説明する。
【0024】
この発明の一実施形態に係るシステムLSIは、実行モードとしてユーザモードとデバッグモードを有する複数のマイクロプロセッサが、1本のメインバスを共有する形態のマルチプロセッサシステムで構成され、個々のマイクロプロセッサの実行モードを独立にコントロールし、その実行モードの状態を常に監視するためのインタフェースを備えている。この実行モードの監視機構を利用して、一つのマイクロプロセッサの実行状態が変化することを検出し、この変化を起点にして任意のマイクロプロセッサを同期的にデバッグモードへ移行させ、マルチプロセッサのデバッグ機能を実現する。
【0025】
マイクロプロセッサが行うメモリアクセスのうち、デバッグプログラムの実行に必要なメモリアクセスをメインバスとは分離したバスにより行なうことで、バグ発生時のメインバス状態の保持や、各マイクロプロセッサのバス競合関係を保存、復元することを可能にする。さらに、メインバスより分離したバスにより、特定のマイクロプロセッサに対してメモリアクセスを行うことと、複数のマイクロプロセッサに対して同一のデータを同時に供給することを並行して行うことで、デバッグプログラムの高速な実行を可能にする。また、メインバスに直接接続され、全てのマイクロプロセッサが共通してアクセスできるメモリ領域にマイクロプロセッサの介在なしにアクセスできるようにしている。
【0026】
図1はこの発明の一実施形態に係るシステムLSIの構成を示す図である。図1において、この実施形態のシステムLSIは、2つのマイクロプロセッサを備えたマルチプロセッサシステムであり、デバッグ対象のユーザターゲットシステム0は、システムLSI1、メモリ2ならびにI/O3を備えて構成され、システムLSI1は、デバッグモジュール10,マイクロプロセッサ11−1,11−2、メモリコントローラ15、DMAコントローラ16、I/Oコントローラ17を備えて構成されている。マイクロプロセッサ11−1,11−2は、それぞれバスインタフェースユニット11−11,11−21、プロセッサコア11−12,11−22、デバッグサポートユニット11−13,11−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を介してマイクロプロセッサ11−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から可能にする。また、メインバス14と外部デバッグインタフェース5は、メインバス14上に接続されるメモリなどをデバッグツール2が直接アクセスするために使用される。
【0028】
デバッグモジュール10は、図2に示すように構成される。図2において、デバッグモジュール10は、マルチデバッグコントロールレジスタ20、デバッグコントロールレジスタ21、アドレスレジスタ22、バイトイネーブルレジスタ23、データレジスタ24、外部デバッグインタフェース回路25、デバッグシリアルバス変換回路26、デバッグシリアルバスセレクタ27ならびにDMAコントローラ28を備えて構成されている。
【0029】
外部デバッグインタフェース回路25は、外部デバッグインタフェース5を介して転送される設定情報により、マルチデバッグコントロールレジスタ20、デバッグコントロールレジスタ21、アドレスレジスタ22、バイトイネーブルレジスタ23、データレジスタ24の設定を行う。また、これらのレジスタの設定内容は、外部デバッグインタフェース5を介してデバッグツール2に伝達される。
【0030】
マルチデバッグコントロールレジスタ20は、各マイクロプロセッサ11−1,11−2の状態を監視しており、ブレークなどによりマイクロプロセッサ11−1,11−2がデバッグ状態に移行すると、対応した値が反映される。また、マルチデバッグコントロールレジスタ20は、各マイクロプロセッサ11−1,11−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−12,11−22は、デバッグモードに移行した場合に、デバッグモード通知信号をアサートしてデバッグサポートユニット11−13,11−23に知らせる。これにより、デバッグサポートユニット11−13,11−23は、Dm信号をアサートしデバッグモジュール10に対してデバッグモードに移行したことを通知する。このDm信号がアサートされる条件は次のものがある。
【0034】
(条件1)DINT信号がアサートされたことをデバッグサポートユニット11−13,11−23が検出し、デバッグサポートユニット11−13,11−23がプロセッサコア11−12,11−22に対してデバッグ割り込み要求信号をアサートする。
【0035】
(条件2)デバッグサポートユニット11−13,11−23がデバッグ割り込み条件を検出し、プロセッサコア11−12,11−22に対してデバッグ割り込み要求信号をアサートする。
【0036】
(条件3)プロセッサコア11−12,11−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、DSDAO、DBSDIで構成され、バスインタフェースユニット11−11,11−21に接続されている。バスインタフェースユニット11−11,11−12は、メインバスデバッグバス制御回路40,パラレル→シリアル変換回路41,シリアル→パラレル変換回路42ならびにセレクタ43を備えて構成されている。
【0039】
プロセッサコア11−12,11−21からのデバッグモード通知信号は、メインバスデバッグバス制御回路40に入力され、REQ信号、ACK信号、ERR信号、アドレス、バイトイネーブル信号、リードライト要求信号、データといったメモリアクセスにかかわる信号をメインバス14又はデバッグシリアルバス13−1,13−2に切り替える。デバッグモード通知信号がアサートされている場合は、メインバスデバッグバス制御回路40から出力される選択信号によりセレクタ43を切り替え、アドレス、バイトイネーブル信号、リードライト要求信号、データをパラレル→シリアル変換回路41に入力する。デバッグモード通知信号がデアサートの場合には、上記選択信号に基づいてセレクタ43により、全ての要求はメインバス14へと切り替えられる。
【0040】
パラレル→シリアル変換回路41に入力されたアクセス内容は、DBSELがアサートされることによりメインバスデバッグバス制御回路40から出力される変換開始信号にしたがってDSDAOへのシリアルデータ転送開始が指示される。リード要求の場合には、DBSDIからデータを受け取り、シリアル→パラレル変換回路42によりデータを確定したことを変換終了信号としてメインバスデバッグバス制御回路40に入力し、またセレクタ43を介してプロセッサコア11−12,11−21にデータとして入力される。メモリアクセスの制御信号となるREQ信号、ACK信号、ERR信号は、上記変換開始信号ならびに変換終了信号から生成される。DSDAO,DBSDIによるシリアル転送の開始は、DBSELがアサートされることにより開始される。
【0041】
外部デバッグインタフェース5は、図5に示すように構成される。図5において、外部デバッグインタフェース5は、TCK、TRST* 、TMS、TDI、TDOより構成される。デバッグモジュール10の外部デバッグインタフェース回路25には、システムLSI1全体のリセット信号RESETが与えられる。リセット信号RESETがアサートされた場合は、外部デバッグインタフェース5はリセットされる。また、TRST* がアサートされた場合には、外部デバッグインタフェース回路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のそれぞれに内蔵されるプロセッサコア11−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 セレクタ
Claims (3)
- 共有するメインバスを介して相互に接続され、デバッグの対象となる複数のマイクロプロセッサと、
デバッグプログラムに基づいてデバッグ作業を制御するデバッグツールに接続され、前記各マイクロプロセッサとの間で個別にデバッグプログラムならびにデバッグデータの転送制御を行う単一のデバッグモジュールと、
前記メインバスとは独立し、前記各マイクロプロセッサと前記デバッグモジュールをそれぞれ個別に接続し、前記各マイクロプロセッサと前記デバッグモジュールとの間で個別にデバッグプログラムならびにデバッグデータが転送されるデバッグシリアルバスと、
前記デバッグモジュールと前記各マイクロプロセッサとをそれぞれ個別に接続して、前記各マイクロプロセッサがデバッグされる際のデバッグ制御情報が転送されるデバッグ制御バスとを具備し、
前記各マイクロプロセッサは、それぞれ同期して動作しマルチプロセッサシステムを構築し、前記マイクロプロセッサのデバッグ機能を制御するデバッグサポートユニットを備え、
前記デバッグモジュールは、前記デバッグ制御バスを介して前記各マイクロプロセッサの任意の前記マイクロプロセッサに並行してデバッグ割り込みを要求してユーザーモードからデバッグモードに移行させ、前記デバッグ制御バスを介して前記各マイクロプロセッサのデバッグ状態を個別かつ並行して監視し、監視結果に基づいて任意の前記マイクロプロセッサをユーザーモードからデバッグモードに移行させる
ことを特徴とするシステムLSI。 - 前記デバッグモジュールは前記メインバスに直接接続され、前記デバッグツールは、前記マイクロプロセッサを介することなく前記デバッグモジュールを介して前記メインバスに対して直接メモリアクセスを行う
ことを特徴とする請求項1記載のシステムLSI。 - 前記デバッグモジュールは、前記各マイクロプロセッサに個別かつ並行して、デバッグモードからユーザモードへの復帰を任意に延長指示する
ことを特徴とする請求項1又は2記載のシステムLSI。
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 JP2002202898A (ja) | 2002-07-19 |
JP3913470B2 true 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) |
Families Citing this family (61)
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 |
US7216276B1 (en) * | 2003-02-27 | 2007-05-08 | Marvell International Ltd. | Apparatus and method for testing and debugging an integrated circuit |
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 |
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 | プログラム処理装置 |
US7500152B2 (en) * | 2003-12-05 | 2009-03-03 | Freescale Semiconductor, Inc. | Apparatus and method for time ordering events in a system having multiple time domains |
JP4409349B2 (ja) * | 2004-04-27 | 2010-02-03 | Okiセミコンダクタ株式会社 | デバッグ回路およびデバッグ制御方法 |
US20050273520A1 (en) * | 2004-05-21 | 2005-12-08 | Bea Systems, Inc. | Service oriented architecture with file transport protocol |
US20050278335A1 (en) * | 2004-05-21 | 2005-12-15 | Bea Systems, Inc. | Service oriented architecture with alerts |
US20050273517A1 (en) * | 2004-05-21 | 2005-12-08 | Bea Systems, Inc. | Service oriented architecture with credential management |
US20060031354A1 (en) * | 2004-05-21 | 2006-02-09 | Bea Systems, Inc. | Service oriented architecture |
US20050267947A1 (en) * | 2004-05-21 | 2005-12-01 | Bea Systems, Inc. | Service oriented architecture with message processing pipelines |
US20060031433A1 (en) * | 2004-05-21 | 2006-02-09 | Bea Systems, Inc. | Batch updating for a service oriented architecture |
US20060069791A1 (en) * | 2004-05-21 | 2006-03-30 | Bea Systems, Inc. | Service oriented architecture with interchangeable transport protocols |
US20060005063A1 (en) * | 2004-05-21 | 2006-01-05 | Bea Systems, Inc. | Error handling for a service oriented architecture |
US20050267892A1 (en) * | 2004-05-21 | 2005-12-01 | Patrick Paul B | Service proxy definition |
US20060080419A1 (en) * | 2004-05-21 | 2006-04-13 | Bea Systems, Inc. | Reliable updating for a service oriented architecture |
US7653008B2 (en) | 2004-05-21 | 2010-01-26 | Bea Systems, Inc. | Dynamically configurable service oriented architecture |
US20050278374A1 (en) * | 2004-05-21 | 2005-12-15 | Bea Systems, Inc. | Dynamic program modification |
US20060031481A1 (en) * | 2004-05-21 | 2006-02-09 | Bea Systems, Inc. | Service oriented architecture with monitoring |
US20060007918A1 (en) * | 2004-05-21 | 2006-01-12 | Bea Systems, Inc. | Scaleable service oriented architecture |
US20050273502A1 (en) * | 2004-05-21 | 2005-12-08 | Patrick Paul B | Service oriented architecture with message processing stages |
US20060031353A1 (en) * | 2004-05-21 | 2006-02-09 | Bea Systems, Inc. | Dynamic publishing in a service oriented architecture |
US20060031930A1 (en) * | 2004-05-21 | 2006-02-09 | Bea Systems, Inc. | Dynamically configurable service oriented architecture |
US20050270970A1 (en) * | 2004-05-21 | 2005-12-08 | Bea Systems, Inc. | Failsafe service oriented architecture |
US20050273497A1 (en) * | 2004-05-21 | 2005-12-08 | Bea Systems, Inc. | Service oriented architecture with electronic mail transport protocol |
US20060031432A1 (en) * | 2004-05-21 | 2006-02-09 | Bea Systens, Inc. | Service oriented architecture with message processing pipelines |
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 | 株式会社東芝 | ソフトウェアのプラグイン方法、および、アプリケーションプログラム |
JP2007141200A (ja) * | 2005-10-21 | 2007-06-07 | Renesas Technology Corp | データ処理装置 |
JP4450787B2 (ja) * | 2005-11-28 | 2010-04-14 | 株式会社ルネサステクノロジ | 半導体集積回路装置 |
JP4787624B2 (ja) * | 2006-02-10 | 2011-10-05 | エヌイーシーコンピュータテクノ株式会社 | デバッグ回路 |
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 |
KR101090556B1 (ko) * | 2007-02-14 | 2011-12-08 | 닛본 덴끼 가부시끼가이샤 | 반도체 집적 회로, 디버그·트레이스 회로, 및 반도체 집적 회로 동작 관측 방법 |
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 |
JP5067111B2 (ja) * | 2007-10-18 | 2012-11-07 | 富士通セミコンダクター株式会社 | 半導体集積回路及びデバッグモード決定方法 |
US7870434B2 (en) * | 2008-02-29 | 2011-01-11 | Freescale Semiconductor, Inc. | Method and apparatus for masking debug resources |
US7870430B2 (en) * | 2008-02-29 | 2011-01-11 | Freescale Semiconductor, Inc. | Method and apparatus for sharing 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)
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 | 日本ヒューレット・パッカード株式会社 | マイクロプロセッサ、マイクロプロセッサ−デバッグツール間信号伝送方法及びトレース方法 |
EP0720093B1 (en) * | 1994-12-28 | 2001-11-14 | Kabushiki Kaisha Toshiba | Microprocessor and debug system |
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 |
-
2000
- 2000-12-28 JP JP2000402630A patent/JP3913470B2/ja not_active Expired - Fee Related
-
2001
- 2001-12-28 US US10/028,804 patent/US6918058B2/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
US20020087918A1 (en) | 2002-07-04 |
US6918058B2 (en) | 2005-07-12 |
JP2002202898A (ja) | 2002-07-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3913470B2 (ja) | システムlsi | |
US6189140B1 (en) | Debug interface including logic generating handshake signals between a processor, an input/output port, and a trace logic | |
JP4335999B2 (ja) | プロセッサ内蔵半導体集積回路装置 | |
US7577822B2 (en) | Parallel task operation in processor and reconfigurable coprocessor configured based on information in link list including termination information for synchronization | |
US6502209B1 (en) | Chip with debug capability | |
US8700835B2 (en) | Computer system and abnormality detection circuit | |
US8339869B2 (en) | Semiconductor device and data processor | |
US20230205726A1 (en) | Device with data processing engine array that enables partial reconfiguration | |
US20030115491A1 (en) | Apparatus and method for performing power management functions | |
KR20040019451A (ko) | 주변 장치의 동작 상태를 실시간으로 백업할 수 있는엠베디드 컨트롤러 | |
JP2001117858A (ja) | データ処理装置 | |
JPH11272493A (ja) | エミュレ―ションのためのcpu初期化方法 | |
US7904696B2 (en) | Communication paths for enabling inter-sequencer communication following lock competition and accelerator registration | |
EP0840223B1 (en) | Microcomputer capable of accessing an external memory | |
JP3626667B2 (ja) | 拡張スロットホットプラグ制御装置 | |
JP2001167058A (ja) | 情報処理装置 | |
JPH11163970A (ja) | 装置内基盤制御システム | |
EP0840221B1 (en) | Microcomputer with packet bus | |
JP2006079394A (ja) | データ処理装置 | |
JP4197798B2 (ja) | デバッグ能力を有するチップ | |
US6282600B1 (en) | Method and apparatus of resolving conflicting register access requests from a service processor and system processor | |
JP4217452B2 (ja) | プロセッサシステム | |
JP4084912B2 (ja) | マイクロプロセッサシステム | |
JP6535516B2 (ja) | マルチ・プログラマブルデバイス・システムとその制御方法 | |
TW202328931A (zh) | 用於可重組態處理器的強制停止 |
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 |