JP2024074460A - 半導体チップ、デバッグシステム、および同期方法 - Google Patents

半導体チップ、デバッグシステム、および同期方法 Download PDF

Info

Publication number
JP2024074460A
JP2024074460A JP2022185608A JP2022185608A JP2024074460A JP 2024074460 A JP2024074460 A JP 2024074460A JP 2022185608 A JP2022185608 A JP 2022185608A JP 2022185608 A JP2022185608 A JP 2022185608A JP 2024074460 A JP2024074460 A JP 2024074460A
Authority
JP
Japan
Prior art keywords
common marker
core
trace
generation circuit
request signal
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.)
Pending
Application number
JP2022185608A
Other languages
English (en)
Inventor
宏幸 佐々木
博文 畑原
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 JP2022185608A priority Critical patent/JP2024074460A/ja
Priority to US18/482,241 priority patent/US20240168861A1/en
Publication of JP2024074460A publication Critical patent/JP2024074460A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/348Circuit details, i.e. tracer hardware
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/32Monitoring with visual or acoustical indication of the functioning of the machine
    • G06F11/323Visualisation of programs or trace data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3476Data logging

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Data Mining & Analysis (AREA)
  • Debugging And Monitoring (AREA)

Abstract

【課題】ヘテロマルチコアにおいて複数のコアからのトレースデータの同期を実現する。【解決手段】半導体チップ10は、第1の共通マーカ生成回路143および第2の共通マーカ生成回路144を備える。第1の共通マーカ生成回路143は、共通マーカを第2のトレースメモリ21に送信することを要求する第1の要求信号を、第2の共通マーカ生成回路144に送信し、共通マーカを第1のトレースメモリ151に送信することを要求する第2の要求信号を第2の共通マーカ生成回路144から受信した場合、共通マーカを第1のトレースメモリ151に送信する。第2の共通マーカ生成回路144は、第1の要求信号を受信したときに第2のコア112がユーザプログラムを実行していた場合、共通マーカを第2のトレースメモリ21に送信し、第2の要求信号を第1の共通マーカ生成回路143に送信する。【選択図】図1

Description

本発明は半導体チップ、デバッグシステム、および同期方法に関する。
特許文献1に記載された開発支援装置は、トレースデータとタイムスタンプとを対応付けたトレースメッセージを生成するトレースメッセージ生成回路(トレース制御回路とも言う)を備えている。特許文献1に記載されたトレースメッセージ生成回路は、マルチコアの各々からトレースデータを受け取っている。
特開2013-109621号公報
ヘテロジニアスマルチコア(ヘテロマルチコアとも言う)では、コア毎にトレースデータの仕様が定まっており、またコア間で命令セットが異なるため、コアごとに設計されたトレース制御回路を流用することが効率的である。言い換えると、ヘテロマルチコアでは、特許文献1のようにコア間で共通のトレース回路を設けることは困難である。ヘテロマルチコアではコア間でクロックが互いに異なっているため、複数のコアそれぞれのトレース制御回路が異なるクロックで動作することとなる。
一方、マルチコア型のマイクロコンピュータからのトレースデータを表示する際、複数のコアからのトレースデータを同期して表示することが望まれている。しかし、異なるクロックに基づくタイムスタンプ値を用いて同期を行うことは困難であるため、ヘテロマルチコアでは複数のコアからのトレースデータを同期させることが困難であった。
また、タイムスタンプ値を用いて同期を行う場合、一方のコアからのトレースデータに対応付けられたタイムスタンプの値と、他方のコアからのトレースデータに対応付けられたタイムスタンプの値とが一致している必要がある。しかし、同一のタイムスタンプに対応付けられた2つのトレースデータが存在する保証はない。したがって、ヘテロマルチコアでは、タイムスタンプ値を用いてトレースデータを同期させることが困難であった。
その他の課題と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
一実施の形態によれば、半導体チップは、第1の共通マーカ生成回路および第2の共通マーカ生成回路を備える。第1の共通マーカ生成回路は、第1のコアがユーザプログラムを実行している場合、共通マーカを第2のトレースメモリに送信することを要求する第1の要求信号を、第2の共通マーカ生成回路に送信し、共通マーカを第1のトレースメモリに送信することを要求する第2の要求信号を第2の共通マーカ生成回路から受信した場合、共通マーカを第1のトレースメモリに送信する。第2の共通マーカ生成回路は、第1の要求信号を受信したときに第2のコアがユーザプログラムを実行していた場合、共通マーカを第2のメモリに送信し、第2の要求信号を第1の共通マーカ生成回路に送信する。
一実施の形態によれば、デバッグシステムは、半導体チップと、共通マーカに基づいて、第1のコアからのトレースデータと第2のコアからのトレースデータを同期させて表示するホストコンピュータとを備える。
一実施の形態によれば、同期方法は、第1のコアがユーザプログラムを実行している場合、共通マーカを第2のトレースメモリに送信することを要求する第1の要求信号を、第1の共通マーカ生成回路から第2の共通マーカ生成回路に送信するステップを含む。そして、同期方法は、第2の共通マーカ生成回路が第1の要求信号を受信したときに第2のコアがユーザプログラムを実行していた場合、共通マーカを第1のトレースメモリに送信することを要求する第2の要求信号を第2の共通マーカ生成回路から第1の共通マーカ生成回路に送信し、共通マーカを第2の共通マーカ生成回路から第2のトレースメモリに送信するステップを含む。そして、同期方法は、第1の共通マーカ生成回路が第2の要求信号を受信した場合、共通マーカを第1の共通マーカ生成回路から第1のトレースメモリに送信するステップを含む。
前記一実施の形態によれば、ヘテロマルチコアにおいて複数のコアからのトレースデータを同期できる。
図1は、実施形態1にかかるデバッグシステムの構成を示すブロック図である。 図2は、実施形態1にかかる同期方法の流れを示すシーケンス図である。 図3は、実施形態1にかかる第1の共通マーカ生成回路の構成を示すブロック図である。 図4は、第1のトレースメモリまたは第2のトレースメモリに記憶されるデータの概要を示す概略図である。 図5は、第1のトレースデータおよび第2のトレースデータを同期させて表示させた画面を示す概略図である。
図1は、実施形態1にかかるデバッグシステム1の構成を示すブロック図である。デバッグシステム1は、半導体チップ10、エミュレータ20、およびホストコンピュータ30を備えている。
半導体チップ10は、ヘテロマルチコア11、デバッグ制御回路12、JTAG(Joint Test Action Group)インタフェース13、第1の半導体回路14、および第2の半導体回路15を備えている。半導体チップ10は、ターゲットとなるヘテロマルチコア11が搭載されたターゲットチップである。
ヘテロマルチコア11は、ヘテロジニアスなマルチコアであり、第1のコア111および第2のコア112を備えている。第1のコア111の種類と第2のコア112の種類は互いに異なっている。
第1のコア111の動作クロックと第2のコア112の動作クロックとは互いに異なっている。後述する第1のトレース制御回路141、第1の共通マーカ生成回路143、および第1のブレーク検出回路152は、第1のコア111のクロックに同期して動作してもよい。後述する第2のトレース制御回路142、第2の共通マーカ生成回路144、および第2のブレーク検出回路153は、第2のコア112のクロックに同期して動作してもよい。
デバッグ制御回路12は、ヘテロマルチコア11におけるデバッグを制御する専用回路である。
JTAGインタフェース13は、JTAGに準拠した通信信号のインタフェースである。
第1の半導体回路14は、第1のトレース制御回路141、第2のトレース制御回路142、第1の共通マーカ生成回路143、および第2の共通マーカ生成回路144を備えている。
第1のトレース制御回路141は、第1のコア111からのトレースデータ(第1のトレースデータと言う)を取得し、第2の半導体回路15が備える第1のトレースメモリ151に送信する。第1のトレース制御回路141は、特許文献1と同様に、第1のトレースデータにタイムスタンプを付与してもよい。
第2のトレース制御回路142は、第2のコア112からのトレースデータ(第2のトレースデータと言う)を取得し、エミュレータ20が備える第2のトレースメモリ21に送信する。第2のトレース制御回路142は、特許文献1と同様に、第2のトレースデータにタイムスタンプを付与してもよい。
第1の共通マーカ生成回路143は、第1のトレースデータと第2のトレースデータとを同期させる共通マーカを第1のトレースメモリ151に送信する回路である。第1の共通マーカ生成回路143は、第1の共通マーカ要求回路1431を備えている。
第1の共通マーカ生成回路143は、共通マーカを第1の共通マーカ生成回路143から第1のトレースメモリ151に送信することを要求する第2の要求信号を、第2の共通マーカ生成回路144から受信した場合、共通マーカを第1のトレースメモリ151に送信する。共通マーカは、第2の要求信号に含まれていてもよい。共通マーカは、第2の共通マーカ生成回路144に含まれる第2のカウンタ(不図示)を用いて生成されたID値(例:1から16の間に含まれる整数)であってもよい。
第1の共通マーカ要求回路1431は、第1のコア111がユーザプログラムを実行している場合、共通マーカを第2の共通マーカ生成回路144から第2のトレースメモリ21に送信することを要求する第1の要求信号を第2の共通マーカ生成回路144に送信する。第1の共通マーカ要求回路1431は、第1のコア111がユーザプログラムを実行している間、定期的に第1の要求信号を第2の共通マーカ生成回路144に送信してもよい。
なお、第1の共通マーカ生成回路143の詳細な構成については後述する。
第2の共通マーカ生成回路144は、上記共通マーカを第2のトレースメモリ21に送信する回路である。第2の共通マーカ生成回路144は、第2の共通マーカ要求回路1441および第2のカウンタ(不図示)を備えている。
第2の共通マーカ生成回路144は、第1の要求信号を受信したときに第2のコア112がユーザプログラムを実行していた場合、共通マーカを第2のトレースメモリ21に送信する。共通マーカは、第2のカウンタ(不図示)を用いて生成される。
第2の共通マーカ要求回路1441は、第1の要求信号を受信したときに第2のコア112がユーザプログラムを実行していた場合、第2の要求信号を第1の共通マーカ生成回路143に送信する。
第2の半導体回路15は、第1のトレースメモリ151、第1のブレーク検出回路152、および第2のブレーク検出回路153を備えている。第2の半導体回路15は、関連技術を用いて構成されてもよい。
第1のトレースメモリ151は、第1のトレースデータおよび共通マーカを記憶する。第1のトレースデータと共通マーカは、入力された順番通りに第1のトレースメモリ151に格納される。第1のトレースメモリ151のメモリサイズは、第2のトレースメモリ21のメモリサイズよりも小さい。
第1のブレーク検出回路152は、第1のコア111におけるユーザプログラムの実行を監視し、設定されたブレークポイントを検出する。第1のブレーク検出回路152は、ブレークポイントを検出した場合、第1のコア111にユーザプログラムの実行を停止させる。また、第1のブレーク検出回路152は、ブレークポイントを検出した場合、第1のトレース制御回路141の動作を停止させる。第1のブレーク検出回路152は、ブレークポイントの検出結果を第2のブレーク検出回路153に出力し、第2のコア112をリレーブレークさせてもよい。
第2のブレーク検出回路153は、第2のコア112におけるユーザプログラムの実行を監視し、設定されたブレークポイントを検出する。第2のブレーク検出回路153は、ブレークポイントを検出した場合、第2のコア112にユーザプログラムの実行を停止させる。また、第2のブレーク検出回路153は、ブレークポイントを検出した場合、第2のトレース制御回路142の動作を停止させる。第2のブレーク検出回路153は、ブレークポイントの検出結果を第1のブレーク検出回路152に出力し、第1のコア111をリレーブレークさせてもよい。
エミュレータ20は、第2のトレースメモリ21およびトレースツール22を備えている。
第2のトレースメモリ21は、第2のトレースデータおよび共通マーカを記憶する。第2のトレースデータと共通マーカは、入力された順番通りに第2のトレースメモリ21に格納される。第2のトレースメモリ21のメモリサイズは、第1のトレースメモリ151のメモリサイズよりも大きい。
トレースツール22は、第1のコア111および第2のコア112で実行されるユーザプログラムのデバッグ作業を支援する。トレースツール22は、ホストコンピュータ30からの制御に応じて、JTAGインタフェース13を介して、第1のコア111および第2のコア112にユーザプログラムを実行させる。また、トレースツール22は、ホストコンピュータ30からの制御に応じて、第1のトレースメモリ151や第2のトレースメモリ21からデータを読み出す。
ホストコンピュータ30は、エミュレータ20を介して半導体チップ10に接続されている。ホストコンピュータ30上では、デバッガソフトウェアが動作している。ホストコンピュータ30は、モニタやディスプレイなどの表示装置を備えている。
ホストコンピュータ30は、トレースツール22を介して、第1のトレースメモリ151から第1のトレースデータおよび共通マーカを読み出す。また、ホストコンピュータ30は、トレースツール22を介して、第2のトレースメモリ21から第2のトレースデータおよび共通マーカを読み出す。ホストコンピュータ30は、共通マーカに基づいて第1のトレースデータおよび第2のトレースデータを同期させて表示する。
なお、図1では、第1のトレースメモリ151が半導体チップ10に備えられ、第2のトレースメモリ21がエミュレータ20に備えられているが、第1のトレースメモリ151および第2のトレースメモリ21の両方が半導体チップ10に備えられていてもよい。また、第1のトレースメモリ151および第2のトレースメモリ21の両方が、エミュレータ20に備えられていてもよい。
次に、図2を参照して、デバッグシステム1の動作の一例を説明する。まず、第1のコア111がユーザプログラムの実行を開始し、第1のトレースメモリ151への第1のトレースデータの記録が開始される(ステップS101)。第1のトレースメモリ151は、第1のコア111のクロックに従って第1のトレースデータを記録する。
このとき、第2のコア112はユーザプログラムの実行を停止していたものとする。この場合、第2のトレースメモリ21への第2のトレースデータの記録が停止している(ステップS102)。
第1の共通マーカ生成回路143は、第1のコア111がユーザプログラムを実行中のため、第2の共通マーカ生成回路144に第1の要求信号を送信する(ステップS103)。第2の共通マーカ生成回路144が第1の要求信号を受信したとき、第2のコア112はユーザプログラムを実行していない。したがって、第2の共通マーカ生成回路144は、第2のトレースメモリ21に共通マーカを送信せず、第1の共通マーカ生成回路143に第2の要求信号を送信しない。このとき、第2のカウンタの値が「1」であったとすると、ID値が「1」である共通マーカは生成されない。第1のトレースメモリ151は、第1のトレースデータの記録を継続する。
次に、第2のコア112がユーザプログラムの実行を開始し、第2のトレースメモリ21への第2のトレースデータの記録が開始されたものとする(ステップS104)。第2のトレースメモリ21は、第2のコア112のクロックに従って第2のトレースデータを記録する。
第1の共通マーカ生成回路143は、第1のコア111がユーザプログラムを実行中のため、第2の共通マーカ生成回路144に再び第1の要求信号を送信する(ステップ105)。第2の共通マーカ生成回路144が第1の要求信号を受信したとき、第2のコア112はユーザプログラムを実行している。したがって、第2の共通マーカ生成回路144は、第2のトレースメモリ21に共通マーカを送信する(ステップS106)。第2のカウンタの値が「2」であったとすると、ID値が「2」である共通マーカが生成される。そして、第2の共通マーカ生成回路144は、第1の共通マーカ生成回路143に第2の要求信号を送信する(ステップS107)。第2の要求信号には、共通マーカ(ID値)が含まれる。
第1の共通マーカ生成回路143は、共通マーカ(例:2)を含む第2の要求信号を受信し、受け取った共通マーカを第1のトレースメモリ151に送信する(ステップS108)。
第1のコア111がユーザプログラムの実行を停止すると、第1のトレースメモリ151は第1のトレースデータの記録を停止する(ステップS109)。第1のコア111がユーザプログラムを実行していないため、第1の共通マーカ生成回路143は、第2の共通マーカ生成回路144に第1の要求信号を送信しない。そして、第2のコア112が同期ブレーク(リレーブレーク)により動作を停止し、第2のトレースメモリ21が、第2のトレースデータの記録を停止する(ステップS110)。記録された第1のトレースデータおよび第2のトレースデータは、共通マーカに基づいて同期して表示され得る。
図2において、第1の共通マーカ生成回路143から第2の共通マーカ生成回路144に第1の要求信号を送信している理由は、第2のコア112がユーザプログラムを実行しているか、つまり第2のコア112がブレーク状態でないかを確認するためである。
第1のトレースメモリ151に記録された共通マーカと第2のトレースメモリ21に記録された共通マーカとを同期化ポイントにすることで、デバッグシステム1は、第1のトレースデータと第2のトレースデータを同期できる。
次に、図3を参照して、図1に示す第1の共通マーカ生成回路143の構成について詳細に説明する。なお、図1と重複する要素については同じ符号を付して説明を省略する場合がある。
第1の共通マーカ生成回路143は、デバッグ制御回路12、第1のトレースメモリ151、第1のトレース制御回路141、クロック生成回路16、および第2の共通マーカ生成回路144に接続されている。
第1のトレース制御回路141は、第1のコア111がユーザプログラムの実行を開始したとき、つまり第1のトレースデータの記録を開始するとき、後述する第1のカウンタ1434にトレース開始信号を入力する。第1のトレース制御回路141は、第1のトレースデータの記録を停止するとき、停止信号を後述する停止制御回路1435に出力する。
クロック生成回路16は、半導体チップ10に備えられ、複数種類のクロックを後述するクロック選択回路1433に入力する。複数のクロックは、第1のコア111のクロックを含んでいる。
第1の共通マーカ生成回路143は、カウンタ設定レジスタ1432、クロック選択回路1433、第1のカウンタ1434、停止制御回路1435、第1の共通マーカ要求回路1431、および第1の共通マーカパケット生成回路1436を備えている。
カウンタ設定レジスタ1432には、JTAGインタフェース13およびデバッグ制御回路12を介してカウンタ値が設定される。
クロック選択回路1433は、入力された複数のクロックのうちのいずれかを、第1のカウンタ1434に入力する。クロック選択回路1433は、JTAGインタフェース13およびデバッグ制御回路12を介してホストコンピュータからの指示を受け取り、クロックを選択する。
第1のカウンタ1434は、トレース開始信号を受信した場合、つまり第1のコア111がユーザプログラムの実行を開始した場合、入力されたクロックに基づいてカウントを開始する。第1のカウンタ1434のカウンタ値と、カウンタ設定レジスタに設定されたカウンタ値が同一である場合、コンペアマッチ信号が第1の共通マーカ要求回路1431に出力するように構成される。第1のカウンタ1434は、コンペアマッチ信号を送信したときにカウンタ値をリセットしてもよい。
停止制御回路1435は、第1のトレース制御回路141から停止信号を受信すると、第1の共通マーカ要求回路1431の動作を停止させる。
第1の共通マーカ要求回路1431は、第1のカウンタ1434からコンペアマッチ信号を受信した場合、第1の要求信号を第2の共通マーカ生成回路144に送信する。
第1の共通マーカパケット生成回路1436は、第2の共通マーカ生成回路144から第2の要求信号を受信すると、受信した共通マーカ(ID値)を含む共通マーカパケットを生成する。第1の共通マーカパケット生成回路1436は、生成した共通マーカパケットを第1のトレースメモリ151に送信する。
このような構成によると、クロック選択回路1433で選択するクロックや、カウンタ設定レジスタ1432に設定されたカウンタ値に応じて、第1の要求信号の送信間隔を調整できる。
第1の要求信号の送信間隔が短い場合、第2の要求信号の受信間隔も短いため、第1のトレースメモリ151により多くの共通マーカが記録される。共通マーカの数が第1のトレースデータの数に比べて多すぎると、第1のトレースデータを記録できる量が減少してしまう。他方、第1の要求信号の送信間隔が長い場合、第1のトレースメモリ151に記録される共通マーカの数が少なくなる。第1のトレースメモリ151に記録される共通マーカの数が少ない場合、第1のトレースデータと第2のトレースデータを同期することが難しい。特に、第1のトレースメモリ151に共通マーカが記録されない場合、第1のトレースデータと第2のトレースデータを同期させることはできない。
次に、図4および図5を参照して、第1のトレースデータおよび第2のトレースデータを同期させて表示する方法について説明する。第1のトレースデータおよび第2のトレースデータを互いに区別しない場合、単にトレースデータと言う。
図4は、第1のトレースメモリ151または第2のトレースメモリに記憶されたデータの概要を示す概略図である。データは複数の行41~49を含んでいる。行41に近いほど早く記録されており、行49に近いほど遅く記録されている。各行は、タイムスタンプ(時間とも言う)、プログラムの行番号、逆アセンブルしたソースコード、アドレス、およびデータを含んでいる。行46は共通マーカ(例:10)を含むデータであり、行41~45および行47~行49はトレースデータである。トレースデータには、逆アセンブルしたソースコード、すなわち実行中の関数が記録されている。第1のトレースメモリ151や第2のトレースメモリ21には、複数の共通マーカが記録されていてもよい。
ホストコンピュータ30は、図1のトレースツール22内のメモリ(不図示)に第1のトレースメモリ151に記録されたデータおよび第2のトレースメモリ21に記録されたデータを移動させる。第1のトレースメモリ151に記録されたデータは、デバッグ制御回路12およびJTAGインタフェース13を介して移動される。ホストコンピュータ30は、第1のトレースメモリ151に記録されたデータおよび第2のトレースメモリ21に記録されたデータをそれぞれ表示するモードと、第1のトレースデータおよび第2のトレースデータを同期させて表示するモードとを備えている。ホストコンピュータ30は、第1のトレースメモリ151に記録されたデータおよび第2のトレースデータに記録されたデータから共通マーカを検索し、同期表示可能になるようにデータをソートする。
ホストコンピュータ30は、第1のトレースメモリ151に記憶された共通マーカと第2のトレースメモリ21に記憶された共通マーカとを対応付ける。これにより、ホストコンピュータ30は、第1のトレースデータと第2のトレースデータとを同期させる。ホストコンピュータ30は、タイムスタンプをさらに用いて第1のトレースデータと第2のトレースデータを同期させてもよい。
図5は、共通マーカに基づいて第1のトレースデータと第2のトレースデータを同期して表示させた画面50を示す。画面50の横軸は、共通マーカに基づく時間を表している。画面50は、第1のグラフ51~53および第2のグラフ54~56を含んでいる。第1のグラフ51~53は第1のコア111が関数A~Cを実行した時間を表し、第2のグラフ54~56は第2のコア112が関数D~Fを実行した時間を表す。画面50では、第1のグラフ51~53および第2のグラフ54~56が、共通マーカに基づいて同期して表示されている。
図5を参照することで、デバッグシステム1のユーザは、第1のコア111および第2のコア112で各関数が実行された順序を確認し、効率よくデバッグを実行できる。
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
デバッグシステム 1
半導体チップ 10
ヘテロマルチコア 11
第1のコア 111
第2のコア 112
デバッグ制御回路 12
JTAGインタフェース 13
第1の半導体回路 14
第1のトレース制御回路 141
第2のトレース制御回路 142
第1の共通マーカ生成回路 143
第1の共通マーカ要求回路 1431
カウンタ設定レジスタ 1432
クロック選択回路 1433
第1のカウンタ 1434
停止制御回路 1435
第1の共通マーカパケット生成回路 1436
第2の共通マーカ生成回路 144
第2の共通マーカ要求回路 1441
第2の半導体回路 15
第1のトレースメモリ 151
第1のブレーク検出回路 152
第2のブレーク検出回路 153
クロック生成回路 16
エミュレータ 20
第2のトレースメモリ 21
トレースツール 22
ホストコンピュータ 30
表示装置 31
行 41~49
画面 50
第1のグラフ 51~53
第2のグラフ 54~56
関数 A~F

Claims (9)

  1. 第1のコアからのトレースデータを記憶する第1のトレースメモリに、前記第1のコアと種類が異なる第2のコアからのトレースデータと前記第1のコアからのトレースデータとを同期させる共通マーカを送信する第1の共通マーカ生成回路と、
    前記第2のコアからのトレースデータを記憶する第2のトレースメモリに前記共通マーカを送信する第2の共通マーカ生成回路と
    を備え、
    前記第1の共通マーカ生成回路は、
    前記第1のコアがユーザプログラムを実行している場合、前記共通マーカを前記第2のトレースメモリに送信することを要求する第1の要求信号を、前記第2の共通マーカ生成回路に送信し、
    前記共通マーカを前記第1のトレースメモリに送信することを要求する第2の要求信号を前記第2の共通マーカ生成回路から受信した場合、前記共通マーカを前記第1のトレースメモリに送信し、
    前記第2の共通マーカ生成回路は、
    前記第1の要求信号を受信したときに前記第2のコアがユーザプログラムを実行していた場合、前記共通マーカを前記第2のトレースメモリに送信し、前記第2の要求信号を前記第1の共通マーカ生成回路に送信する
    半導体チップ。
  2. 前記第1の共通マーカ生成回路は、前記第1のコアがユーザプログラムを実行している間、前記第1の要求信号を定期的に送信する
    請求項1に記載の半導体チップ。
  3. 前記第1の共通マーカ生成回路は、
    第1のコアがユーザプログラムの実行を開始した場合、カウントを開始する第1のカウンタと、
    カウンタ値が設定されるカウンタ設定レジスタと
    を備え、
    前記第1のカウンタのカウンタ値と、前記カウンタ設定レジスタに設定されたカウンタ値とが一致した場合、前記第1の要求信号を送信する
    請求項2に記載の半導体チップ。
  4. 前記第1のカウンタに入力するクロックを複数のクロックから選択するクロック選択回路
    を備える請求項3に記載の半導体チップ。
  5. 前記第1のトレースメモリのメモリサイズと前記第2のトレースメモリのメモリサイズが互いに異なる
    請求項3に記載の半導体チップ。
  6. 請求項1に記載の半導体チップと、
    前記共通マーカに基づいて、前記第1のコアからのトレースデータと前記第2のコアからのトレースデータを同期させて表示するホストコンピュータと
    を備えるデバッグシステム。
  7. 前記ホストコンピュータは、前記第1のコアで関数を実行した時間を示す第1のグラフおよび前記第2のコアが関数を実行した時間を示す第2のグラフを、前記共通マーカに基づいて同期させた画面を表示させる
    請求項6に記載のデバッグシステム。
  8. 第1のコアからのトレースデータを記憶する第1のトレースメモリに、前記第1のコアと種類が異なる第2のコアからのトレースデータと前記第1のコアからのトレースデータとを同期させる共通マーカを送信する第1の共通マーカ生成回路と、
    前記第2のコアからのトレースデータを記憶する第2のトレースメモリに前記共通マーカを送信する第2の共通マーカ生成回路と
    を備えた半導体チップを用いた同期方法であって、
    前記第1のコアがユーザプログラムを実行している場合、前記共通マーカを前記第2のトレースメモリに送信することを要求する第1の要求信号を、前記第1の共通マーカ生成回路から前記第2の共通マーカ生成回路に送信するステップと、
    前記第2の共通マーカ生成回路が前記第1の要求信号を受信したときに前記第2のコアがユーザプログラムを実行していた場合、前記共通マーカを前記第1のトレースメモリに送信することを要求する第2の要求信号を前記第2の共通マーカ生成回路から前記第1の共通マーカ生成回路に送信し、前記共通マーカを前記第2の共通マーカ生成回路から前記第2のトレースメモリに送信するステップと、
    前記第1の共通マーカ生成回路が第2の要求信号を受信した場合、前記共通マーカを前記第1の共通マーカ生成回路から前記第1のトレースメモリに送信するステップと
    を含む同期方法。
  9. 前記共通マーカに基づいて、前記第1のコアからのトレースデータと前記第2のコアからのトレースデータを同期させて表示するステップ
    を含む請求項8に記載の同期方法。
JP2022185608A 2022-11-21 2022-11-21 半導体チップ、デバッグシステム、および同期方法 Pending JP2024074460A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2022185608A JP2024074460A (ja) 2022-11-21 2022-11-21 半導体チップ、デバッグシステム、および同期方法
US18/482,241 US20240168861A1 (en) 2022-11-21 2023-10-06 Semiconductor chip, debug system, and synchronization method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2022185608A JP2024074460A (ja) 2022-11-21 2022-11-21 半導体チップ、デバッグシステム、および同期方法

Publications (1)

Publication Number Publication Date
JP2024074460A true JP2024074460A (ja) 2024-05-31

Family

ID=91080028

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022185608A Pending JP2024074460A (ja) 2022-11-21 2022-11-21 半導体チップ、デバッグシステム、および同期方法

Country Status (2)

Country Link
US (1) US20240168861A1 (ja)
JP (1) JP2024074460A (ja)

Also Published As

Publication number Publication date
US20240168861A1 (en) 2024-05-23

Similar Documents

Publication Publication Date Title
JP4805163B2 (ja) 多数の時間領域群を有するシステムでイベント群を時間順序付けする装置及び方法
KR101109897B1 (ko) 메시지 교환 방법, 시스템 및 컴퓨터 판독 가능한 기록 매체
JP5260758B2 (ja) 汎用プロトコルエンジン
US8522079B2 (en) System and method for multi-core synchronous debugging of a multi-core platform
US9213615B2 (en) Information processing apparatus with debugging unit and debugging method therefor
US6502209B1 (en) Chip with debug capability
US20080312900A1 (en) Simulation apparatus and simulation method
JPWO2012077704A1 (ja) デバッグスタブサーバ、デバッグ方法およびプログラム
US9208008B2 (en) Method and apparatus for multi-chip reduced pin cross triggering to enhance debug experience
JP2024074460A (ja) 半導体チップ、デバッグシステム、および同期方法
CA2581524A1 (en) Data processing apparatus
JP5845771B2 (ja) 情報伝達システムおよび情報伝達方法
JP2010250365A (ja) 協調シミュレーションシステム、ハードウェアエミュレータ、及び協調シミュレーション方法
CN114968681A (zh) 监测i2c总线通信异常的方法及装置、i2c主设备
CN112859660B (zh) 一种设备同步控制方法、装置、终端及系统
JP4466372B2 (ja) マイクロプロセッサのモニタ回路により伝送されるメッセージの時間的相関
JP2754583B2 (ja) 擬似障害発生システム
JP2000155701A (ja) デバッグ回路
CN118227484A (zh) 一种指令集计算机的调试方法、系统、存储介质及产品
JP2023150108A (ja) インサーキットエミュレータ装置
JP3396107B2 (ja) マイクロコンピュータ及びデバック装置
US6725387B1 (en) Method and apparatus for causing computer system interconnection to be in the same state each time test code is executed
JP2715547B2 (ja) 伝送装置の親子局交替方式
KR100208296B1 (ko) 전전자 교환기에서 망동기 장비의 마스터 변경 방법
CN115494950A (zh) 一种双系统头戴显示设备的时间确定方法及相关组件