JP2011155066A - 半導体処理装置、および半導体処理システム - Google Patents

半導体処理装置、および半導体処理システム Download PDF

Info

Publication number
JP2011155066A
JP2011155066A JP2010014437A JP2010014437A JP2011155066A JP 2011155066 A JP2011155066 A JP 2011155066A JP 2010014437 A JP2010014437 A JP 2010014437A JP 2010014437 A JP2010014437 A JP 2010014437A JP 2011155066 A JP2011155066 A JP 2011155066A
Authority
JP
Japan
Prior art keywords
bus
trace information
semiconductor processing
monitoring control
control device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2010014437A
Other languages
English (en)
Inventor
Hiroshi Kinoshita
拓 木下
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.)
Renesas Electronics Corp
Original Assignee
Renesas Electronics 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 Renesas Electronics Corp filed Critical Renesas Electronics Corp
Priority to JP2010014437A priority Critical patent/JP2011155066A/ja
Publication of JP2011155066A publication Critical patent/JP2011155066A/ja
Withdrawn legal-status Critical Current

Links

Images

Landscapes

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

Abstract

【課題】オンチップデバッガが正常に動作しない場合でも、外部から正しく動作しているかどうかの監視が可能な半導体処理装置および半導体処理システムを提供する。
【解決手段】内部マスタバス18は、CPU4の命令に基づく信号を伝送する。OCD5は、デバッガ3からの指示に基づいて、CPU4のプログラム実行および内部マスタバス18上の信号の伝送を制御するとともに、内部マスタバス18を流れる信号をトレースして生成した第1のトレース情報として監視制御装置2へ出力する。第3バスバスタ8は、内部マスタバス18を流れる信号をトレースして生成した第2のトレース情報として監視制御装置2へ出力する。
【選択図】図1

Description

本発明は、半導体処理装置および半導体処理システムに関し、特に、オンチップデバッガを有する半導体処理装置および半導体処理システムに関する。
従来から、CPU(Central Processing Unit)を第1バスマスタとし、オンチップデバッガを第2バスマスタとした半導体チップが知られている。オンチップデバッガが果たす役割の一つに、CPUトレース機能がある。たとえば、CPUが内部メモリに格納されてあるコードをインストラクションフェッチして、デコードして、そのデコード結果に基づき周辺回路に対して命令を実行したり、外部メモリをアクセスしたりするときに、マスタバスを伝送される信号をオンチップデバッガがトレースして、外部に接続されたデバッガにトレースした結果を出力する。
このようなCPUをトレースする機能は、一般には、プログラムをデバックする場合に使用されるが、その他に、たとえば車載品のような高信頼性が要求される分野においては、半導体チップが正しく動作しているかどうかを監視する用途にも使用される。特許文献1には、デバッグサポートユニットで採取したCPU動作トレース情報を外部に出力し、CPUコアが正常に動作しているか否かの判定を行い、異常動作を行っていると判定された場合はCPU動作トレースに基づいてデバッグが行われることが記載されている。
特開2000−332205号公報
CPU動作トレースによる半導体チップが正しく動作するかの監視は、「オンチップデバッガが正常動作する」ことを前提としており、オンチップデバッガが正常に動作しない場合は、半導体チップが正しく動作するかを監視することができない。関連する公知の技術としては、複数のコンピュータシステムにより同じ動作を行い、得られた結果の異同により、いずれか一方のコンピュータシステムにおいて障害が生じたと判断する、デュアルシステムも存在する。しかしながら、オンチップデバッガは主にプログラムの動作判定を行うために用いられており、得られた結果が異常であることの原因追求の結果として、オンチップデバッガ自体の不良を含む半導体チップに不良が存在していることが判明することが一般的である。すなわち、オンチップデバッガにおいても半導体チップの他の機能モジュールと同程度に事後的に不良が発生する可能性が存在するが、特にオンチップデバッガにおいて事後的に不良が発生したことを検出することは、考慮されていない。
それゆえに、本発明の目的は、オンチップデバッガが正常に動作しない場合でも、外部から正しく動作しているかどうかの監視が可能な半導体処理装置および半導体処理システムを提供することである。
上記課題を解決するために、本発明の一実施形態の半導体装置は、外部のデバッガ、および監視制御装置と接続可能な半導体処理装置であって、プログラムを記憶する記憶部と、プログラムを実行するプロセッサと、プロセッサの命令に従って信号が伝送される内部マスタバスと、デバッガからの指示に基づいて、プロセッサによるプログラムの実行動作を制御し、内部マスタバス上の信号の伝送を制御するとともに、内部マスタバスに伝送される信号をトレースして生成した第1のトレース情報を監視制御装置へ出力する第1のインタフェース回路と、内部マスタバスを流れる信号をトレースして生成した第2のトレース情報を監視制御装置へ出力する第2のインタフェース回路とを備える。
本発明の一実施形態によれば、オンチップデバッガが正常に動作しない場合でも、外部から正しく動作しているかどうかの監視ができる。
第1の実施形態の監視システムの構成を表わす図である。 第1の実施形態の監視制御の動作の概要を説明するための図である。 第2のトレース情報を外部へ出力する動作のタイミングチャートである。 第3バスマスタへのデータを伝送する動作のタイミングチャートである。 第2の実施形態の監視制御の動作の概要を説明するための図である。 第3の実施形態の監視システムの構成を表わす図である。
以下、本発明の実施形態について図面を参照して説明する。
[第1の実施形態]
(構成)
図1は、第1の実施形態の監視システムの構成を表わす図である。
図1を参照して、この監視システムは、監視制御装置2と、デバッガ3と、半導体チップ1(半導体処理装置)と、外部メモリ14とを備える。半導体チップ1は、CPU(Central Processing Unit)4と、OCD(On-Chip Debugger)5と、第3バスマスタ8と、内部マスタバス18と、MBIU(Memory Bus Interface Unit)9と、内部メモリ10と、内部メモリバス15と、PBIU(Peripheral Bus Interface Unit)11と、周辺回路12と、周辺バス16と、EXBIU(Extension Bus Interface Unit)13と、外部メモリバス17とを備える。
監視制御装置2は、OCD5からの監視結果と第3バスマスタ8からの監視結果を受信する。
デバッガ3は、OCD5を通じて、CPU4によるプログラムの実行の制御、内部メモリ10のデータの読出し/書込み、CPU4内のレジスタの読出し/書込み、ブレークポイントの設定/解除、内部マスタバス18のトレースなどを実行する。
CPU4は、内部メモリ10に記憶されたプログラムに従って動作する。CPU4は、内部マスタバス18上の信号の伝送を制御する第1バスマスタとして機能する。
OCD5は、外部のデバッガ3および監視制御装置2と接続可能なインタフェース回路である。具体的には、OCD5は、JTAG(Joint Test Action Group)プロトコル(IEEE 1149.1)に従って動作するJTAGインタフェース回路である。OCD5は、外部のデバッガ3から制御信号およびシリアルデータを受信し、外部のデバッガ3の指示に基づいて、CPU5によるプログラムの実行動作を制御する。また、OCD5は、外部のデバッガ3および監視制御装置2へ内部マスタバス18のトレース情報を表わすシリアルデータを送信する。また、OCD5は、内部マスタバス18上の信号の伝送を制御する第2バスマスタとして機能する。
OCD5は、外部との通信のために5端子(TCLK/TRST/TMS/TDI/TDO)を有する。TDI(Test Data In)は、デバッガ3からのシリアルのテストデータの入力ピンである。TDO(Test Data Out)は、半導体チップ1からデバッガ3および監視制御装置2へのシリアルのテストデータの出力ピンである。TCK(Test Clock)は、デバッガ3からのクロックの入力ピンである。TMS(Test Mode Select)は、デバッガ3からのモード選択の入力ピンである。TCKおよびTMSによって、ステートマシンであるTAPコントローラのステートが遷移し、バウンダリスキャン機能を実現する。TRST(Test Reset)は、TAPコントローラを初期化するためのリセット信号の入力ピンである。
第3バスマスタ8は、外部の監視制御装置2から制御信号およびシリアルデータを受信し、外部の監視制御装置2へ内部マスタバス18のトレース情報を表わすシリアルデータを送信する。また、第3バスマスタ8は、内部マスタバス18上の信号の伝送を制御する。
第3バスマスタ8は、ある単位時間内においてOCD5(第2バスマスタ)よりも多くの情報を伝送できる能力を有する。そのためには、以下の方法が考えられる。
(1)第2バスマスタ5と第3バスマスタ8のデータ転送レートが同一であり、第3バスマスタ8のデータバス幅を第2バスマスタ5のデータバス幅より大きくする。
(2)第2バスマスタ5と第3バスマスタ8のデータバス幅が同一であり、第3バスマスタ8のデータ転送レートを第2バスマスタ5のデータ転送レートよりも高くする。
(3)第2バスマスタ5と第3バスマスタ8のデータバス幅が同一であり、かつ、第2バスマスタ5のデータ転送レートと第3バスマスタ8のデータ転送レートが同一であり、第3バスマスタ8の通信プロトコルを第2バスマスタ5の通信プロトコルよりも簡素にする。
(1)の方法では、データバス幅が増大した分の端子を第3バスマスタ8に付与しなければならなくなるというデメリットがある。また、(2)の方法では、ユーザが異なる2つの周波数(データ転送レート)をオンボード上で管理しなければならず、制御が複雑化するというデメリットがある。
したがって、本発明の実施形態では、(3)を採用する。すなわち、第2バスマスタ5と第3バスマスタ8とは、同一データバス幅、同一データ転送レートでデータを伝送する。また、第3バスマスタ8の通信プロトコルは、第2バスマスタ5のJTAGプロトコルよりも簡素とする。つまり、第3バスマスタ8は、内部マスタバス18のトレース結果を第2バスマスタ5より少ないサイクル数で監視制御装置2に伝える。ここでは、第3バスマスタ8の通信プロトコルをDAXS(Direct Access by eXtreme Serial Bus)と呼ぶことにする。
第3バスマスタ8は、監視制御装置2との通信のための2つの端子(DAXS_DATA端子およびDAXS_STATE端子)を有する。DAXS_DATA端子は、シリアルデータバス端子である。DAXS_STATE端子は、シリアルデータ通信を制御する通信制御端子である。
第3バスマスタ8と第2バスマスタ5の転送レートが同一のため、第3バスマスタ8は、第2バスマスタ5のTCKに入力されたクロックを用いる。また、第3バスマスタ8は、リセット信号も、第2バスマスタのTRSTに入力されたリセット信号を用いる。
内部マスタバス18は、バスマスタであるCPU4(第1バスマスタ)、OCD5(第2バスマスタ)、および第3バスマスタ8と接続されるバスである。内部マスタバス18には、CPU4の命令に従って信号が伝送される。
内部メモリ10は、プログラム、および各種のデータを記憶する。
内部メモリバス15は、内部メモリ10と接続されるバスである。
MBIU9は、内部メモリ10への信号の伝送制御、内部メモリ10からの信号の伝送制御を実行する。
周辺回路12は、この半導体チップ1の専用の機能を実現するための回路を含む。
周辺バス16は、周辺回路と接続されるバスである。
PBIU11は、周辺回路12への信号の伝送制御を実行する。
外部メモリ14は、半導体チップ1の外部に設けられたメモリである。
外部メモリバス17は、外部メモリ14と接続されるバスである。
EXBIU13は、外部メモリ14へ信号の伝送制御、外部メモリ14からの信号の伝送制御を実行する。
(監視制御の動作)
図2は、第1の実施形態の監視制御の動作の概要を説明するための図である。
図2を参照して、OCD5は、CPU4の命令に従って、内部マスタバス18を伝送する信号をトレースして(すなわち取得して)、そのトレースした信号から作成したJTAGプロトコル(第1の通信プロトコル)に準拠した第1のトレース情報を監視制御装置2にシリアルで送信する。この第1のトレース情報は、たとえば、内部マスタバス18を伝送する信号を表わすビット(S)に加えてスタートビット(B)、インストラクションビット(I)、パリティビット(P)、ストップビット(E)を含む。
一方、第3バスマスタ8は、内部バスマスタを伝送する信号をトレースして、そのトレースした信号から作成したDAXSプロトコル(第2の通信プロトコル)に従う第2のトレース情報を監視制御装置2にシリアルで送信する。この第2のトレース情報は、たとえば、内部マスタバス18を伝送する信号を表わすビット(S)を含むが、スタートビット(B)、インストラクションビット(I)、パリティビット(P)およびストップビット(E)を含まない。
たとえば、図2の例では、OCD5からの第1のトレース情報は(N+4)ビットで構成されるため、第1のトレース情報を受信するために(N+4)サイクルを要するのに対して、第3バスマスタ8から第2のトレース情報はNビットで構成されるため、第2のトレース情報を受信するためにNサイクルを要する。つまり、第3バスマスタ8は、少ないサイクル数でトレース結果を外部に伝えることが可能である。
監視制御装置2は、第3バスマスタ8からの第2のトレース情報を受信すると、OCD5から第1のトレース情報を受信するまでの間に、第2のトレース情報をJTAGプロトコルに従った形式に変換する(符号変換)。その後、監視制御装置2は、OCD5から第1のトレース情報を受信すると、受信した第1のトレース情報と、変換された第2のトレース情報とが一致するか否かを判定する。監視制御装置2は、一致している場合には、第3バスマスタ8とOCD5の両方が正常に動作していると推定する。一方、監視制御装置2は、不一致の場合には、第3バスマスタ8と、OCD5のいずれか一方が異常動作していると判断する。このように、監視制御装置2は、先に到着する第2のトレース情報をJTAGプロトコルの形式に変換することによって、OCD5が異常動作しているか否かをリアルタイムで監視することができる。
なお、上述の符号変換および一致/不一致の判定処理は、専用のハードウエアによって実現してもよいし、CPU4がプログラムを実行することによって実現してもよい。
(第3バスマスタのデータ出力動作)
図3は、第2のトレース情報を外部へ出力する動作のタイミングチャートである。
図3を参照して、監視制御装置2が、DAXS_STATE端子の入力を「1」に設定することによって、転送モードにエントリする。その後、監視制御装置2が、DAXS_STATE端子の入力を「1」から「0」に立下げたことをトリガとして、DAXS_STATE端子の入力が「0」の期間、監視制御装置2は、DAXS_DATA端子にシリアルデータb31〜b0を出力する。
ビットb31に「1」、ビットb30に「1」が設定されることにより、DAXS_STATE端子の入力が「0」から「1」に立上がった後の2つ目のクロックエッジで、第3バスマスタ8は、出力(リード)モードに設定される(つまり、内部状態データDXENT=「1」、内部状態データDXRW=「1」となる)とともに、内部状態データDXADR[29:0]の値が入力されたb29〜b0の値に設定される。
第3バスマスタ8は、DAXS_STATE端子の入力が「0」から「1」に立上がってから3つ目のクロックエッジに同期して、バスリクエスト信号をアサートに設定する(DX_BUSREQ端子の出力を「1」にする)。第3バスマスタ8は、バスリクエストが許可されるまで、つまりDX_BUSACK端子の入力が「1」になるまで、バスリクエスト信号をアサートした状態を維持する(DX_BUSREQ端子の出力を「1」に保持)。第3バスマスタ8は、バスリクエストが許可されたら、つまりDX_BUSACK端子の入力が「1」となったら、バスリクエスト信号をネゲートする(DX_BUSREQ端子の出力を「0」にする)。
以上の結果、DX_ADR[29:0]端子から出力されるアドレスに格納されたデータ(つまり、トレース情報)が内部マスタバス18のDATAO[31:0]に読み出される。ここで、読出し先を表わすDX_ADR[29:0]端子の出力アドレスには、内部状態データDXADR[29:0]の値が用いられる。内部状態データDXADR[29:0]は、エントリ時に、前述のようにb29〜b0の値に設定される。したがって、最初の転送では、DX_ADR[29:0]端子が出力するアドレスは、エントリ時に設定した後となる。その後、第3バスマスタ8は、バスリクエスト完了信号が返送されてきたとき、つまりDX_BUSEND端子の入力が「1」となった次のクロックに同期して、内部状態データDXADR[29:0]の値が1ずつインクリメントし、その結果、DX_ADR[29:0]端子の出力するアドレスも1ずつインクリメントする。
内部マスタバス18は、読出しを完了すると、完了信号を第3バスマスタ8へ送信し、DX_BUSEND端子の入力が「1」となる。
第3バスマスタ8は、DX_BUSEND端子が「1」となったときのクロックエッジで、内部マスタバス18のDATAO[31:0]の値をDX_DATAO[31:0]端子に取込み、その後、32ビットのシリアル/パラレル変換を行う。
その後、監視制御装置2は、DAXS_STATE端子の入力を「0」に立下げる。第3バスマスタ8は、DAXS_STATE端子の入力が「0」に立下がった次のクロックエッジから、32ビットのシリアルデータ列の監視制御装置2への転送を開始する。DAXS_STATE端子の入力が「0」の期間に、32ビットのシリアルデータ列が転送される。
上述の処理において、バスリクエスト発行、バスリクエスト許可、バスのデータ読出しといった一連のバスアクセスは内部マスタバス18のバスプロトコルである。したがって、このバスアクセスに要するサイクル数は、トレース情報の転送主体がOCD5でも、第3バスマスタ8でも同じである。しかし、OCD5は、JTAGプロトコルに従って、トレース情報を監視制御装置2へ伝送するので、32ビットのデータに加えて、JTAGプロトコルが必要とするインストラクションビット、およびデバッガが必要とするスタートビット、ストップビット、パリティビットなども送信する必要があるのに対して、第3バスマスタ8は、上述のように、32ビットのデータのみを監視制御装置2へ転送する。したがって、監視制御装置2は、OCD5からのトレース情報の受信が完了するまでの間に、受信した第3バスマスタ8からのトレース情報を符号変換することができる。
(第3バスマスタのデータ入力動作)
図4は、第3バスマスタへのデータを伝送する動作のタイミングチャートである。
図4を参照して、監視制御装置2が、DAXS_STATE端子の入力を「1」に設定することによって、転送モードにエントリする。その後、監視制御装置2が、DAXS_STATE端子の入力を「1」から「0」に立下げたことをトリガとして、DAXS_STATE端子の入力が「0」の期間、監視制御装置2は、DAXS_DATA端子にシリアルデータb31〜b0を出力する。
ビットb31に「1」、ビットb30に「0」が設定されることにより、DAXS_STATE端子の入力が「0」から「1」に立上がった後の2つ目のクロックエッジで、第3バスマスタ8は、入力(ライト)モードに設定される(つまり、内部状態データDXENT=「1」、内部状態データDXRW=「0」となる)とともに、内部状態データDXADR[29:0]の値が入力されたb29〜b0の値に設定される。
その後、監視制御装置2が、DAXS_STATE端子の入力を「1」から「0」に立下げ、その次のクロックエッジから、DAXS_DATA端子にシリアルデータb31〜b0を出力する。監視制御装置2が、DAXS_STATE端子の入力を「0」から「1」に立上げた後、さらに「1」から「0」に立下げることによって、シリアルデータの転送が終了する。
第3バスマスタ8は、DAXS_STATE端子の入力が「1」から「0」に立下げられてから1つの目のクロックエッジで、データb0を取込み、取込んだシリアルデータb31〜b0をパラレルデータに変換して、2つ目のクロックエッジで、パラレルデータをDX_DATAI[31:0]端子に出力する。
第3バスマスタ8は、DAXS_STATE端子の入力が「0」から「1」に立上がってから3つ目のクロックエッジに同期して、バスリクエスト信号をアサートに設定する(DX_BUSREQ端子の出力を「1」にする)。第3バスマスタ8は、バスリクエストが許可されるまで、つまりDX_BUSACK端子の入力が「1」になるまで、バスリクエスト信号をアサートした状態を維持する(DX_BUSREQ端子の出力を「1」に保持)。第3バスマスタ8は、バスリクエストが許可されたら、つまりDX_BUSACK端子の入力が「1」となったら、バスリクエスト信号をネゲートする(DX_BUSREQ端子の出力を「0」にする)。
以上の結果、DX_ADR[29:0]端子から出力されるアドレスにDX_DATAI[31:0]端子のデータが書き込まれる。
ここで、書込み先を表わすDX_ADR[29:0]端子の出力アドレスには、内部状態データDXADR[29:0]の値が用いられる。内部状態データDXADR[29:0]は、エントリ時に、前述のようにb29〜b0の値に設定される。したがって、最初の転送では、DX_ADR[29:0]端子が出力するアドレスは、エントリ時に設定した後となる。その後、第3バスマスタ8は、バスリクエスト完了信号が返送されてきたとき、つまりDX_BUSEND端子の入力が「1」となった次のクロックに同期して、内部状態データDXADR[29:0]の値が1ずつインクリメントし、その結果、DX_ADR[29:0]端子の出力するアドレスも1ずつインクリメントする。
内部マスタバス18は、書込みが完了すると、完了信号を第3バスマスタ8へ送信し、DX_BUSEND端子の入力が「1」となる。
以上のように、第1の実施形態によれば、OCDが、内部マスタバス18を流れる信号をトレースして生成した第1のトレース情報を外部の監視制御装置2へ出力するのに加えて、第3バスマスタも、内部マスタバス18を流れる信号をトレースして生成した第2のトレース情報を外部の監視制御装置2へ出力する。OCDが正常に動作していない場合には、受信した第1のトレース情報と第2のトレース情報が異なる可能性が高いので、監視制御装置2は、第1のトレース情報と第2のトレース情報が一致するか否かを判定することによって、OCDが正常に動作しているか否かを判断することができる。
[第2の実施形態]
第2の実施形態は、監視制御装置によるトレース情報の判定の仕方が、第1の実施形態と相違する。
(監視制御の動作)
図5は、第2の実施形態の監視制御の動作の概要を説明するための図である。
図5を参照して、OCD5は、CPU4の命令に従って、内部マスタバス18を伝送する信号をトレースして、そのトレースした信号から作成したJTAGプロトコル(第1の通信プロトコル)に準拠した第1のトレース情報を監視制御装置2にシリアルで送信する。この第1のトレース情報は、たとえば、内部マスタバス18を伝送する信号を表わすビット(S)に加えてスタートビット(B)、インストラクションビット(I)、パリティビット(P)、ストップビット(E)を含む。
一方、第3バスマスタ8は、内部バスマスタを伝送する信号をトレースして、そのトレースした信号から作成したDAXSプロトコル(第2の通信プロトコル)に従う第2のトレース情報を監視制御装置2をシリアルで送信する。この第2のトレース情報は、たとえば、内部マスタバス18を伝送する信号を表わすビット(S)を含むが、スタートビット(B)、インストラクションビット(I)、パリティビット(P)およびストップビット(E)を含まない。
監視制御装置2は、OCD5からの第1のトレース情報を受信すると、第1のトレース情報をDAXSプロトコルに従う形式に変換する(符号変換)。その後、監視制御装置2は、受信した第2のトレース情報と、変換された第1のトレース情報とが一致するか否かを判定する。監視制御装置2は、一致している場合には、第3バスマスタ8とOCD5の両方が正常に動作していると推定する。一方、監視制御装置2は、不一致の場合には、第3バスマスタ8と、OCD5のいずれか一方が異常動作していると判断する。なお、上述の符号変換および一致/不一致の判定処理は、専用のハードウエアによって実現してもよいし、CPU4がプログラムを実行することによって実現してもよい。
[第3の実施形態]
第3の実施形態は、複数の半導体チップを含み、これらのチップの異常動作を監視する監視システムに関する。
図6は、第3の実施形態の監視システムの構成を表わす図である。
図6を参照して、この監視システムは、半導体処理システム100と、監視制御装置52と、第1デバッガ3aと、第2デバッガ3bとを備える。
半導体処理システム100は、第1の実施形態の半導体チップ1と同様の第1半導体チップ1aおよび第2半導体チップ1bを備える。
第1半導体チップ1aは、第1の実施形態のデバッガ3と同様の第1デバッガ3aと接続される。
第2半導体チップ1bは、第2の実施形態のデバッガ3と同様の第2デバッガ3bと接続される。
第1半導体チップ1a内のOCD5aおよび第3バスマスタ8a、第2半導体チップ1b内のOCD5bおよび第3バスマスタ8bは、共通の監視制御装置52と接続される。
つまり、監視制御装置52は、第1半導体チップ1a内のOCD5aからの第1のトレース情報と、第1半導体チップ1a内の第3バスマスタ8aからの第2のトレース情報と、第2半導体チップ1b内のOCD5bからの第3のトレース情報と、第2半導体チップ1b内の第3バスマスタ8bからの第4のトレース情報とを受信する。
監視制御装置52は、受信した第1〜第4のトレース情報が一致しているか否かを判定する。
監視制御装置52は、第1〜第4のトレース情報のすべてが一致している場合には、第1半導体チップ1a内の第3バスマスタ8aとOCD5a、第2半導体チップ1b内の第3バスマスタ8bとOCD5bがすべて正常に動作していると推定する。一方、監視制御装置52は、第4のトレース情報が第1〜第3のトレース情報と異なる場合には、第2半導体チップ1b内の第3バスマスタ8bが異常動作していると判断する。一方、監視制御装置52は、第1のトレース情報が第2〜第4のトレース情報と異なる場合には、第1半導体チップ1a内のOCD5aが異常動作していると判断する。一方、監視制御装置52は、第1のトレース情報と第2のトレース情報が一致し、かつ第3のトレース情報と第4のトレース情報と一致し、かつ第1のトレース情報と第3のトレース情報が相違する場合には、第1半導体チップ1aまたは第2半導体チップ1bのいずれかの構成要素(第3バスマスタおよびOCDを除く)が異常動作していると判断する。
(変形例)
本発明は、上記実施形態に限定されるものではなく、本発明にはたとえば以下のような変形例も含まれる。
(1) 第3バスマスタ
本発明の実施形態の第3バスマスタは、独自のプロトコルDAXSに基づいて動作するものとしたが、これに限定するものではない。たとえば、第3バスマスタは、JTAGプロトコルに従って動作するOCDと同じものであってもよい。また、第3バスマスタは、内部マスタバスからのデータを監視制御装置に転送する機能(第1の機能)と監視制御装置からのデータを内部マスタバスに転送する機能(第2の機能)とをを有したが、第1の機能のみを有するものとしてもよい。さらに、第3バスマスタは、内部マスタバス上の信号の伝送を制御する機能を有さず、内部マスタバスを流れる信号をトレースした結果を監視制御装置へ単に転送するインタフェース回路であってもよい。
(2) 第2のトレース情報
本発明の実施形態では、第2のトレース情報は、スタートビット、インストラクションビット、パリティビット、およびストップビットのすべてを含まないこととしたが、監視制御装置での符号変換の速度が早い場合には、これらのビットのうち少なくとも1つのビットを含まないこととしてもよい。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
1 半導体チップ1、1a 第1半導体チップ1、1b 第2半導体チップ1、2,52 監視制御装置、3 デバッガ、3a 第1デバッガ、3b 第2デバッガ、4,4a,4b CPU、5,5a,5b OCD、8,8a,8b 第3バスマスタ、9,9a,9b MBIU、10,10a,10b 内部メモリ、11,11a,11b PBIU、12,12a,12b 周辺回路、13,13a,13b EXBIU、14,14a,14b 外部メモリ、15,15a,15b 内部メモリバス、16,16a,16b 周辺バス、17,17a,17b 外部メモリバス、18,18a,18b 内部マスタバス、100 半導体処理システム。

Claims (5)

  1. 外部のデバッガ、および監視制御装置と接続可能な半導体処理装置であって、
    プログラムを記憶する記憶部と、
    前記プログラムを実行するプロセッサと、
    前記プロセッサの命令に従って信号が伝送される内部マスタバスと、
    前記デバッガからの指示に基づいて、前記プロセッサによる前記プログラムの実行動作を制御し、前記内部マスタバス上の信号の伝送を制御するとともに、前記内部マスタバスに伝送される信号をトレースして生成した第1のトレース情報を前記監視制御装置へ出力する第1のインタフェース回路と、
    前記内部マスタバスを流れる信号をトレースして生成した第2のトレース情報を前記監視制御装置へ出力する第2のインタフェース回路とを備えた、半導体処理装置。
  2. 前記第2のインタフェース回路は、さらに、前記内部マスタバスを制御する、請求項1記載の半導体処理装置。
  3. 前記第1のインタフェース回路は、第1のプロトコルに従って、前記第1のトレース情報を出力し、
    前記第2のインタフェース回路は、第2のプロトコルに従って、前記第2のトレース情報を出力し、
    前記第2のプロトコルで送信される前記第2のトレース情報のビット数は、前記第1のプロトコルで送信される前記第1のトレース情報のビット数よりも少ない、請求項1記載の半導体処理装置。
  4. 前記第1のトレース情報は、スタートビット、インストラクションビット、パリティビット、およびストップビットを含み、
    前記第2のトレース情報は、前記スタートビット、前記インストラクションビット、前記パリティビット、および前記ストップビットのうちの少なくとも1つを含まない、請求項3記載の半導体処理装置。
  5. 複数の半導体処理装置を備えた半導体処理システムであって、
    各半導体処理装置は、対応のデバッガ、および共通の監視制御装置と接続可能であり、
    各半導体処理装置は、
    プログラムを記憶する記憶部と、
    前記プログラムを実行するプロセッサと、
    前記プロセッサの命令に従って信号が伝送される内部マスタバスと、
    前記デバッガからの指示に基づいて、前記プロセッサによる前記プログラムの実行動作を制御し、前記内部マスタバス上の信号の伝送を制御するとともに、前記内部マスタバスに伝送される信号をトレースして生成した第1のトレース情報を前記監視制御装置へ出力する第1のインタフェース回路と、
    前記内部マスタバスを流れる信号をトレースして生成した第2のトレース情報を前記監視制御装置へ出力する第2のインタフェース回路とを備えた、半導体処理システム。
JP2010014437A 2010-01-26 2010-01-26 半導体処理装置、および半導体処理システム Withdrawn JP2011155066A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010014437A JP2011155066A (ja) 2010-01-26 2010-01-26 半導体処理装置、および半導体処理システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010014437A JP2011155066A (ja) 2010-01-26 2010-01-26 半導体処理装置、および半導体処理システム

Publications (1)

Publication Number Publication Date
JP2011155066A true JP2011155066A (ja) 2011-08-11

Family

ID=44540839

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010014437A Withdrawn JP2011155066A (ja) 2010-01-26 2010-01-26 半導体処理装置、および半導体処理システム

Country Status (1)

Country Link
JP (1) JP2011155066A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013073009A1 (ja) * 2011-11-15 2013-05-23 トヨタ自動車株式会社 マイコンシステム、監視マイコン

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013073009A1 (ja) * 2011-11-15 2013-05-23 トヨタ自動車株式会社 マイコンシステム、監視マイコン

Similar Documents

Publication Publication Date Title
US9037911B2 (en) Debug state machines and methods of their operation
US9384108B2 (en) Functional built-in self test for a chip
CN107077409B (zh) 用于在电子系统中进行多接口调试的方法和装置
EP3369015B1 (en) Methods and circuits for debugging circuit designs
US7873874B2 (en) System and method for controlling synchronous functional microprocessor redundancy during test and analysis
US7673188B2 (en) System and method for controlling synchronous functional microprocessor redundancy during test and method for determining results
CN102662835A (zh) 一种针对嵌入式系统的程序调试方法及嵌入式系统
US10078113B1 (en) Methods and circuits for debugging data bus communications
KR20150067896A (ko) 직렬 통신 테스트 장치, 시스템 및 방법
US8301936B2 (en) Apparatus and method for performing a screening test of semiconductor integrated circuits
WO2006008721A2 (en) Emulation and debug interfaces for testing an integrated circuit with an asynchronous microcontroller
CN111722968A (zh) 一种硬件调试方法、装置、系统及可读存储介质
US7231568B2 (en) System debugging device and system debugging method
US10795797B2 (en) Controller, SATA system and method of operation therefor
JP2011155066A (ja) 半導体処理装置、および半導体処理システム
US7281162B2 (en) Program-controlled unit
JP2007058450A (ja) 半導体集積回路
US9291672B2 (en) Debug system, apparatus and method thereof for providing graphical pin interface
JP2004101203A (ja) ロジックlsiの不良解析システム及び不良解析方法
JP2016091277A (ja) トレースシステムおよびicチップ
JP2004094451A (ja) オンチップjtagインタフェース回路およびシステムlsi
JP2006301784A (ja) プログラマブルロジックコントローラ
JP2009258857A (ja) デバッグ装置及びデバッグ方法
JP2009080632A (ja) 半導体集積回路
US20080195896A1 (en) Apparratus and method for universal programmable error detection and real time error detection

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20130402