IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ルネサスエレクトロニクス株式会社の特許一覧

特開2023-171270デバッグ装置、デバッグシステムおよび記録媒体
<>
  • 特開-デバッグ装置、デバッグシステムおよび記録媒体 図1
  • 特開-デバッグ装置、デバッグシステムおよび記録媒体 図2
  • 特開-デバッグ装置、デバッグシステムおよび記録媒体 図3
  • 特開-デバッグ装置、デバッグシステムおよび記録媒体 図4
  • 特開-デバッグ装置、デバッグシステムおよび記録媒体 図5
  • 特開-デバッグ装置、デバッグシステムおよび記録媒体 図6
  • 特開-デバッグ装置、デバッグシステムおよび記録媒体 図7
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023171270
(43)【公開日】2023-12-01
(54)【発明の名称】デバッグ装置、デバッグシステムおよび記録媒体
(51)【国際特許分類】
   G06F 11/36 20060101AFI20231124BHJP
   G06F 9/50 20060101ALI20231124BHJP
   G06F 11/34 20060101ALI20231124BHJP
   G06F 11/30 20060101ALI20231124BHJP
【FI】
G06F11/36 164
G06F9/50 150Z
G06F11/34 133
G06F11/30 193
G06F11/30 140D
【審査請求】未請求
【請求項の数】17
【出願形態】OL
(21)【出願番号】P 2023069489
(22)【出願日】2023-04-20
(31)【優先権主張番号】17/748,738
(32)【優先日】2022-05-19
(33)【優先権主張国・地域又は機関】US
(71)【出願人】
【識別番号】302062931
【氏名又は名称】ルネサスエレクトロニクス株式会社
(74)【代理人】
【識別番号】110002066
【氏名又は名称】弁理士法人筒井国際特許事務所
(72)【発明者】
【氏名】氏井 呂圭
(72)【発明者】
【氏名】森 祐紀
(72)【発明者】
【氏名】落合 和徳
【テーマコード(参考)】
5B042
【Fターム(参考)】
5B042GB08
5B042HH49
5B042MA08
5B042MC38
(57)【要約】
【課題】温度の均一化が図られたターゲットプログラムの割り当てを実行するデバッグ装置を提供する。
【解決手段】デバッグ装置400は、半導体装置から温度センサによって測定された温度データを受け取る。デバッグ装置400は、温度データの分析結果として、実行するターゲットプログラムの数を減らすCPUおよび実行するターゲットプログラムの数を増やすCPUを決定する。デバッグ装置400は、温度データの分析結果に基づいて、半導体装置内の複数のCPUが実行するターゲットプログラムの割り当てを変更する。
【選択図】図4
【特許請求の範囲】
【請求項1】
複数のCPUおよび複数の温度センサを備える半導体装置において動作する複数のプログラムを含むターゲットプログラムをデバッグするためのデバッグ装置であって、
プロセッサと、
制御プログラム、CPU位置情報、温度センサ位置情報、CPU種別情報およびターゲットプログラム制約情報を格納するメモリと、
を備え、
前記複数のCPUは、前記ターゲットプログラムを実行し、
前記ターゲットプログラムが前記複数のCPUによって実行されている間に、前記複数の温度センサは、前記半導体装置の温度を測定し、
前記CPU位置情報は、前記半導体装置における前記複数のCPUの位置を特定するための情報であり、
前記温度センサ位置情報は、前記半導体装置における前記複数の温度センサの位置を特定するための情報であり、
前記CPU種別情報は、前記複数のCPUの種類を特定するための情報であり、
前記ターゲットプログラム制約情報は、前記複数のCPUが実行する前記ターゲットプログラムの割り当てを変更するか否かを判定する際に使用される情報であり、
前記プロセッサによって実行されることにより、前記制御プログラムは、前記デバッグ装置に、
前記半導体装置に対して前記ターゲットプログラムの実行を指示し、
前記複数の温度センサによって測定された複数の温度データを取得し、
前記複数の温度データ、前記CPU位置情報および前記温度センサ位置情報に基づいて、前記複数のCPUの中から、実行する前記ターゲットプログラムの数を減らす少なくとも1つのCPUを、第1の変更対象CPUとして、および、実行する前記ターゲットプログラムの数を増やす少なくとも1つのCPUを、第2の変更対象CPUとして決定し、
前記第1の変更対象CPU、前記第2の変更対象CPU、前記CPU種別情報および前記ターゲットプログラム制約情報に基づいて、前記複数のCPUが実行する前記ターゲットプログラムの割り当てを変更する、
ことをさせる、
デバッグ装置。
【請求項2】
請求項1に記載のデバッグ装置であって、
前記メモリは、測定時間情報およびサンプリング時間情報を格納し、
前記プロセッサによって実行されることにより、前記制御プログラムは、前記デバッグ装置に、
測定タイマに前記測定時間情報をセットし、
周期タイマに前記サンプリング時間情報をセットし、
前記ターゲットプログラムの実行の開始に基づいて、前記測定タイマのカウント動作および前記周期タイマのカウント動作を開始し、
前記周期タイマのカウント値が前記サンプリング時間情報によって示される値と一致し、かつ、前記測定タイマのカウント値が前記測定時間情報によって示される値を超えていない場合、前記複数の温度センサによって測定された前記複数の温度データを取得し、かつ、前記周期タイマのカウント値をクリアして前記周期タイマのカウント動作を再開し、
前記周期タイマのカウント値が前記サンプリング時間情報によって示される値と一致し、かつ、前記測定タイマのカウント値が前記測定時間情報によって示される値を超えている場合、前記測定タイマのカウント動作および前記周期タイマのカウント動作を停止する、
ことをさせる、
デバッグ装置。
【請求項3】
請求項1に記載のデバッグ装置であって、
前記プロセッサによって実行されることにより、前記制御プログラムは、前記デバッグ装置に、
所定のサンプリング間隔で、前記複数の温度センサによって測定された前記複数の温度データを複数回取得し、
前記複数の温度センサの各々について、温度データの平均値を算出し、
前記温度データの平均値の算出結果に基づいて、前記複数の温度センサの中から、最も高い平均値を持つ温度センサおよび最も低い平均値を持つ温度センサを特定し、
前記CPU位置情報および前記温度センサ位置情報を用いて、前記複数の温度センサの各々と前記複数のCPUのうちの少なくとも1つのCPUとを関連付け、
最も高い平均値を持つ温度センサに関連付けられた少なくとも1つのCPUを、前記第1の変更対象CPUとして決定し、
最も低い平均値を持つ温度センサに関連付けられた少なくとも1つのCPUを、前記第2の変更対象CPUとして決定する、
ことをさせる、
デバッグ装置。
【請求項4】
請求項1に記載のデバッグ装置であって、
前記プロセッサによって実行されることにより、前記制御プログラムは、前記デバッグ装置に、前記CPU種別情報および前記ターゲットプログラム制約情報を参照し、前記第1の変更対象CPUに割り当てられている前記ターゲットプログラムの一部を、前記第2の変更対象CPUに割り当てることによって、前記複数のCPUが実行する前記ターゲットプログラムの割り当てを変更する、ことをさせる、
デバッグ装置。
【請求項5】
請求項1に記載のデバッグ装置であって、
前記プロセッサによって実行されることにより、前記制御プログラムは、前記デバッグ装置に、前記半導体装置に前記ターゲットプログラムの実行を指示する前に、前記半導体装置に対して前記複数の温度センサによる前記半導体装置の温度の測定が行われないダミー動作の実行を指示する、ことをさせる、
デバッグ装置。
【請求項6】
デバッグシステムであって、
請求項1に係る前記デバッグ装置と、
前記デバッグ装置に接続される前記半導体装置と、
を備え、
前記半導体装置は、デバッグインターフェース回路を備え、
前記デバッグインターフェース回路は、複数の温度データ格納部と、デバッグインターフェース制御回路と、を有し、
前記複数の温度データ格納部は、前記複数の温度センサによって測定された前記複数の温度データを格納し、
前記デバッグインターフェース回路は、前記デバッグ装置からの読み出し指示に応答して、前記複数の温度データ格納部に格納された前記複数の温度データを、前記デバッグ装置に送信する、
デバッグシステム。
【請求項7】
複数のCPUおよび複数の温度センサを備える半導体装置において動作する複数のプログラムを含むターゲットプログラムをデバッグするためのデバッグ装置であって、
前記複数のCPUは、前記ターゲットプログラムを実行し、
前記ターゲットプログラムが前記複数のCPUによって実行されている間に、前記複数の温度センサは、前記半導体装置の温度を測定し、
前記デバッグ装置は、
CPU位置情報、温度センサ位置情報、CPU種別情報およびターゲットプログラム制約情報を格納する情報格納部と、
前記半導体装置に対して前記ターゲットプログラムの実行を指示するデバッグ制御部と、
前記複数の温度センサによって測定された複数の温度データを取得する温度測定制御部と、
前記複数の温度データ、前記CPU位置情報および前記温度センサ位置情報に基づいて、前記複数のCPUの中から、実行する前記ターゲットプログラムの数を減らす少なくとも1つのCPUを、第1の変更対象CPUとして、および、実行する前記ターゲットプログラムの数を増やす少なくとも1つのCPUを、第2の変更対象CPUとして決定する温度データ分析部と、
前記第1の変更対象CPU、前記第2の変更対象CPU、前記CPU種別情報および前記ターゲットプログラム制約情報に基づいて、前記複数のCPUが実行する前記ターゲットプログラムの割り当てを変更するプログラム割り当て部と、
を備え、
前記CPU位置情報は、前記半導体装置における前記複数のCPUの位置を特定するための情報であり、
前記温度センサ位置情報は、前記半導体装置における前記複数の温度センサの位置を特定するための情報であり、
前記CPU種別情報は、前記複数のCPUの種類を特定するための情報であり、
前記ターゲットプログラム制約情報は、前記複数のCPUが実行する前記ターゲットプログラムの割り当てを変更するか否かを判定する際に使用される情報である、
デバッグ装置。
【請求項8】
請求項7に記載のデバッグ装置であって、
前記情報格納部は、測定時間情報およびサンプリング時間情報を格納し、
前記温度測定制御部は、測定タイマおよび周期タイマを備え、
前記温度測定制御部は、
前記測定タイマに前記測定時間情報をセットし、
前記周期タイマに前記サンプリング時間情報をセットし、
前記ターゲットプログラムの実行の開始に基づいて、前記測定タイマのカウント動作および前記周期タイマのカウント動作を開始し、
前記周期タイマのカウント値が前記サンプリング時間情報によって示される値と一致し、かつ、前記測定タイマのカウント値が前記測定時間情報によって示される値を超えていない場合、前記複数の温度センサによって測定された前記複数の温度データを取得し、かつ、前記周期タイマのカウント値をクリアして前記周期タイマのカウント動作を再開し、
前記周期タイマのカウント値が前記サンプリング時間情報によって示される値と一致し、かつ、前記測定タイマのカウント値が前記測定時間情報によって示される値を超えている場合、前記測定タイマのカウント動作および前記周期タイマのカウント動作を停止する、
デバッグ装置。
【請求項9】
請求項7に記載のデバッグ装置であって、
前記温度測定制御部は、所定のサンプリング間隔で、前記複数の温度センサによって測定された前記複数の温度データを複数回取得し、
前記温度データ分析部は、
前記複数の温度センサの各々について、温度データの平均値を算出し、
前記温度データの平均値の算出結果に基づいて、前記複数の温度センサの中から、最も高い平均値を持つ温度センサおよび最も低い平均値を持つ温度センサを特定し、
前記CPU位置情報および前記温度センサ位置情報を用いて、前記複数の温度センサの各々と前記複数のCPUのうちの少なくとも1つのCPUとを関連付け、
最も高い平均値を持つ温度センサに関連付けられた少なくとも1つのCPUを、前記第1の変更対象CPUとして決定し、
最も低い平均値を持つ温度センサに関連付けられた少なくとも1つのCPUを、前記第2の変更対象CPUとして決定する、
デバッグ装置。
【請求項10】
請求項7に記載のデバッグ装置であって、
前記プログラム割り当て部は、前記CPU種別情報および前記ターゲットプログラム制約情報を参照し、前記第1の変更対象CPUに割り当てられている前記ターゲットプログラムの一部を、前記第2の変更対象CPUに割り当てることによって、前記複数のCPUが実行する前記ターゲットプログラムの割り当てを変更する、
デバッグ装置。
【請求項11】
請求項7に記載のデバッグ装置であって、
前記デバッグ制御部は、前記半導体装置に前記ターゲットプログラムの実行を指示する前に、前記半導体装置に対して前記複数の温度センサによる前記半導体装置の温度の測定が行われないダミー動作の実行を指示する、
デバッグ装置。
【請求項12】
デバッグシステムであって、
請求項7に係る前記デバッグ装置と、
前記デバッグ装置に接続される前記半導体装置と、
を備え、
前記半導体装置は、デバッグインターフェース回路を備え、
前記デバッグインターフェース回路は、複数の温度データ格納部と、デバッグインターフェース制御回路と、を有し、
前記複数の温度データ格納部は、前記複数の温度センサによって測定された前記複数の温度データを格納し、
前記デバッグインターフェース回路は、前記温度測定制御部からの読み出し指示に応答して、前記複数の温度データ格納部に格納された前記複数の温度データを、前記デバッグ装置に送信する、
デバッグシステム。
【請求項13】
プロセッサおよびメモリを備え、複数のCPUおよび複数の温度センサを有する半導体装置において動作する複数のプログラムを含むターゲットプログラムをデバッグするデバッグ装置において実行されるプログラムを非一時的に記録する、有体のコンピュータ読み取り可能な記録媒体であって、
前記メモリは、CPU位置情報、温度センサ位置情報、CPU種別情報およびターゲットプログラム制約情報を格納し、
前記複数のCPUは、前記ターゲットプログラムを実行し、
前記ターゲットプログラムの実行中に、前記複数の温度センサは、前記半導体装置の温度を測定し、
前記CPU位置情報は、前記半導体装置における前記複数のCPUの位置を特定するための情報であり、
前記温度センサ位置情報は、前記半導体装置における前記複数の温度センサの位置を特定するための情報であり、
前記CPU種別情報は、前記複数のCPUの種類を特定するための情報であり、
前記ターゲットプログラム制約情報は、前記複数のCPUが実行する前記ターゲットプログラムの割り当てを変更するか否かを判定する際に使用される情報であり、
コンピュータに、
前記半導体装置に対して前記ターゲットプログラムの実行を指示する手順と、
前記複数の温度センサによって測定された複数の温度データを取得する手順と、
前記複数の温度データ、前記CPU位置情報および前記温度センサ位置情報に基づいて、前記複数のCPUの中から、実行する前記ターゲットプログラムの数を減らす少なくとも1つのCPUを、第1の変更対象CPUとして、および、実行する前記ターゲットプログラムの数を増やす少なくとも1つのCPUを、第2の変更対象CPUとして決定する手順と、
前記第1の変更対象CPU、前記第2の変更対象CPU、前記CPU種別情報および前記ターゲットプログラム制約情報に基づいて、前記複数のCPUが実行する前記ターゲットプログラムの割り当てを変更する手順と、
を実行させるプログラムを記録する記録媒体。
【請求項14】
請求項13に記載の記録媒体であって、
前記メモリは、測定時間情報およびサンプリング時間情報を格納し、
コンピュータに、さらに、
測定タイマに前記測定時間情報をセットする手順と、
周期タイマに前記サンプリング時間情報をセットする手順と、
前記ターゲットプログラムの実行の開始に基づいて、前記測定タイマのカウント動作および前記周期タイマのカウント動作を開始する手順と、
前記周期タイマのカウント値が前記サンプリング時間情報によって示される値と一致し、かつ、前記測定タイマのカウント値が前記測定時間情報によって示される値を超えていない場合、前記複数の温度センサによって測定された前記複数の温度データを取得し、かつ、前記周期タイマのカウント値をクリアして前記周期タイマのカウント動作を再開する手順と、
前記周期タイマのカウント値が前記サンプリング時間情報によって示される値と一致し、かつ、前記測定タイマのカウント値が前記測定時間情報によって示される値を超えている場合、前記測定タイマのカウント動作および前記周期タイマのカウント動作を停止する手順と、
を実行させるプログラムを記録する記録媒体。
【請求項15】
請求項13に記載の記録媒体であって、
コンピュータに、さらに、
所定のサンプリング間隔で、前記複数の温度センサによって測定された前記複数の温度データを複数回取得する手順と、
前記複数の温度センサの各々について、温度データの平均値を算出する手順と、
前記温度データの平均値の算出結果に基づいて、前記複数の温度センサの中から、最も高い平均値を持つ温度センサおよび最も低い平均値を持つ温度センサを特定する手順と、
前記CPU位置情報および前記温度センサ位置情報を用いて、前記複数の温度センサの各々と前記複数のCPUのうちの少なくとも1つのCPUとを関連付ける手順と、
最も高い平均値を持つ温度センサに関連付けられた少なくとも1つのCPUを、前記第1の変更対象CPUとして決定する手順と、
最も低い平均値を持つ温度センサに関連付けられた少なくとも1つのCPUを、前記第2の変更対象CPU決定する手順と、
を実行させるプログラムを記録する記録媒体。
【請求項16】
請求項13に記載の記録媒体であって、
コンピュータに、さらに、前記CPU種別情報および前記ターゲットプログラム制約情報を参照し、前記第1の変更対象CPUに割り当てられている前記ターゲットプログラムの一部を、前記第2の変更対象CPUに割り当てることによって、前記複数のCPUが実行する前記ターゲットプログラムの割り当てを変更する手順を実行させるプログラムを記録する記録媒体。
【請求項17】
請求項13に記載の記録媒体であって、
コンピュータに、さらに、前記半導体装置に前記ターゲットプログラムの実行を指示する前に、前記半導体装置に対して前記複数の温度センサによる前記半導体装置の温度の測定が行われないダミー動作の実行を指示する手順を実行させるプログラムを記録する記録媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、デバッグ装置、デバッグシステムおよび記録媒体に関する。
【背景技術】
【0002】
自動運転や電動化、コネクテッド技術の進化に伴い、自動車の電気/電子(E/E)アーキテクチャの複雑化・高度化が進んでいる。自動車のE/Eアーキテクチャでは、多くの電子制御ユニット(ECU)が複雑に連携して動作する。ECUを構成する半導体装置には、複数の中央処理装置(CPU)が搭載される。各CPUには、プログラムが割り当てられ、各CPUは、割り当てられたプログラムを実行する。
【0003】
ECUを構成する半導体装置では、各CPUが割り当てられたプログラムを実行することで、半導体装置内の回路が動作する。半導体装置内の回路が動作すると、半導体装置が発熱する。半導体装置の発熱を抑えるために、ヒートシンクやファンなどによる熱対策が必要となる。
【0004】
複数のCPUを搭載する半導体装置では、CPUが実行するプログラムを適当に割り当てしまうと、CPU間で処理負荷に偏りが生じる。特定のCPUに処理負荷が集中すると、半導体装置の温度が上昇する原因となる。半導体装置の温度の上昇は、ヒートシンクの大型化やファンの追加などの熱対策の見直しが必要となり、製造コストの増大につながる。そのため、CPUの処理負荷をできるだけ均一化することが望ましい。
【0005】
また、各CPUに対するプログラムの割り当ては、一般的なデバッグ手法を用いて行われる。例えば、一般的なデバック手法の一例として、特許文献1がある。ユーザは、各CPUに対してプログラムを割り当て、各CPUの処理負荷情報を取得する。取得した処理負荷情報に基づいて、特定のCPUへの処理負荷の集中が確認された場合、ユーザは、各CPUに対するプログラムの割り当てを見直す。この作業を繰り返すことにより、CPUの処理負荷が均一化するようなプログラムの割り当てが決定される。このように、従来では、CPUの処理負荷を均一化することが半導体装置の温度の均一化になるとみなして、各CPUに対するプログラムの割り当てが決定される。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2010-140240号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、半導体装置は、CPUの処理によって様々な機能回路やメモリが動作するため、CPUの処理負荷のみで半導体装置全体の温度が決まるわけではない。したがって、従来の手法では、真の温度の均一化を図るためには、半導体装置全体の構造や動作を把握した上で各CPUに対するプログラムの割り当てを行うことが必要となるが、その作業は容易ではない。
【0008】
その他の課題および新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
【課題を解決するための手段】
【0009】
実施の形態に係るデバッグ装置は、半導体装置から温度センサによって測定された温度データを受け取る。デバッグ装置は、温度データの分析結果として、実行するターゲットプログラムの数を減らすCPUおよび実行するターゲットプログラムの数を増やすCPUを決定する。デバッグ装置は、温度データの分析結果に基づいて、半導体装置内の複数のCPUが実行するターゲットプログラムの割り当てを変更する。
【発明の効果】
【0010】
実施の形態によれば、実際の温度の測定結果に基づいて、ターゲットプログラムの割り当ての変更が行われる。そのため、従来よりも、温度の均一化が図られたターゲットプログラムの割り当てを容易に実現することができ、その結果、製造コストの上昇を抑制することができる。
【図面の簡単な説明】
【0011】
図1図1は、実施の形態に係るデバッグシステムの構成の一例を示すブロック図である。
図2図2は、実施の形態に係るターゲットデバイスのレイアウトの一例を示す平面図である。
図3図3は、実施の形態に係るデバッグインターフェース回路の構成の一例を示すブロック図である。
図4図4は、実施の形態に係るデバッグ装置の機能の一例を示すブロック図である。
図5図5は、実施の形態に係るデバッグシステムの動作の一例を示すフローチャートである。
図6図6は、温度データの取得の処理の一例を示すフローチャートである。
図7図7は、実施の形態に係る温度データの測定結果の一例を示す図である。
【発明を実施するための形態】
【0012】
以下、実施の形態について、図面を参照して詳細に説明する。なお、明細書および図面において、同一の構成要素または対応する構成要素には、同一の符号を付し、重複する説明は省略する。また、図面では、説明の便宜上、構成を省略または簡略化している場合もある。
【0013】
図1は、実施の形態に係るデバッグシステム100の構成の一例を示すブロック図である。図1に示されるように、デバッグシステム100は、ターゲットデバイス200、エミュレータ300およびデバッグ装置400を備える。
【0014】
ターゲットデバイス200は、複数のCPUを搭載する半導体装置である。複数のCPUは、デバッグ対象である複数のプログラムを実行する。以下、複数のプログラムを含むデバッグ対象のプログラムは、ターゲットプログラムと称される。エミュレータ300は、イーサーネット(登録商標)あるいはユニバーサル・シリアル・バス(USB)を用いて、ターゲットデバイス200とデバッグ装置400との間を接続する。デバッグ装置400は、エミュレータ300と連携して動作し、ターゲットデバイス200上で動作するターゲットプログラムの実行の制御およびターゲットデバイス200内のレジスタの値の読み出しなどの処理を行う。
【0015】
デバッグ装置400は、例えば、パーソナルコンピュータであり、プロセッサ401およびメモリ402を備える。メモリ402は、例えば、SRAM(Static Random Access Memory)である。プロセッサ401は、バスを介して、メモリ402に接続される。
【0016】
メモリ402は、ターゲットプログラムに対するデバッグ作業の支援およびターゲットデバイス200内のCPUに対するターゲットプログラムの割り当ての決定を行うための制御プログラムを格納する。また、メモリ402は、ターゲットプログラムの割り当てを決定する際に利用される各種データを格納する。プロセッサ401は、メモリ402に格納された制御プログラムを読み出し、読み出された制御プログラムを実行する。
【0017】
なお、図1では、デバッグ装置400は、エミュレータ300を介して、ターゲットデバイス200に接続されるが、デバッグ装置400は、エミュレータ300を介さずに、ターゲットデバイス200に直接接続するようにしてもよい。その場合には、デバッグ装置400は、エミュレータ300の機能を搭載するように構成される。
【0018】
図2は、実施の形態に係るターゲットデバイス200のレイアウトの一例を示す平面図である。図2に示されるように、ターゲットデバイス200は、CPU211-216、周辺回路220、パワーマネジメント回路230、内部メモリ240、通信インターフェース(IF)回路250、外部メモリIF回路260、デバッグIF回路270および温度センサ281-286を備える。
【0019】
内部メモリ240は、例えば、SRAMであり、ターゲットプログラムを格納する。ターゲットプログラムは、CPU211-216の各々によって実行される複数のプログラムを含む。ターゲットプログラムは、CPU211-216の各々に対応するロードモジュールの形式で内部メモリ240に格納される。すなわち、内部メモリ240には、CPU211-216が実行する6つのロードモジュールが格納される。CPU211-216の各々は、内部メモリ240から自身に割り当てられたロードモジュール形式のターゲットプログラムを読み出し、読み出されたターゲットプログラムを実行する。
【0020】
また、CPU211-216の種類は、異なっていてもよい。CPU211-216の種類が異なる場合、CPU211-216の各々が実行するターゲットプログラムは、CPUの種類に応じたコンパイラを用いてコンパイルされる。
【0021】
周辺回路220は、タイマなどのデジタル回路およびアナログ-デジタル変換器(ADC)などのアナログ回路を含む。パワーマネジメント回路230は、ターゲットデバイス200内の回路ブロックに供給される電源を管理する。通信IF回路250は、外部の半導体装置と通信を行うためのIF回路である。外部メモリIF回路260は、外部メモリと接続するためのIF回路である。デバッグIF回路270は、エミュレータ300を介して、デバッグ装置400と通信を行うためのIF回路である。これらの回路ブロックは、CPU211-216の処理に伴って動作する。
【0022】
温度センサ281-286は、ターゲットデバイス200の温度を測定するためのセンサである。温度センサ281-286の各々は、自身が配置されたターゲットデバイス200内の位置の温度を測定する。図2に示されるように、温度センサ281は、CPU211とCPU212との間に配置される。温度センサ282は、CPU211とCPU214との間に配置される。温度センサ283は、CPU214とCPU215との間に配置される。温度センサ284は、CPU212とCPU213との間に配置される。温度センサ285は、CPU213とCPU216との間に配置される。温度センサ286は、CPU215とCPU216との間に配置される。
【0023】
例えば、温度センサ281-286の各々は、ダイオードおよびADCを有する。ダイオードは、ターゲットデバイス200の温度に応じて変化する順方向電圧を出力する。ADCは、ダイオードから出力された順方向電圧のアナログ値をデジタル値に変換する。温度センサ281-286の各々は、デジタル値の温度データを、温度測定の結果として、デバッグIF回路270へ送信する。
【0024】
図3は、実施の形態に係るデバッグIF回路270の構成の一例を示すブロック図である。図3に示されるように、デバッグIF回路270は、温度データ格納部271-276およびデバッグIF制御回路277を備える。
【0025】
デバッグIF制御回路277は、温度センサ281-286に接続される。デバッグIF制御回路277は、温度センサ281-286の各々から出力される温度データを受け取る。デバッグIF制御回路277は、温度センサ281-286から出力された温度データを温度データ格納部271-276に格納する。
【0026】
温度データ格納部271-276は、デバッグIF制御回路277に接続される。温度データ格納部271-276は、温度センサ281-286に対応して設けられる。温度センサ281から出力される温度データ(温度データ1)は、温度データ格納部271に格納される。温度センサ282から出力される温度データ(温度データ2)は、温度データ格納部272に格納される。温度センサ283から出力される温度データ(温度データ3)は、温度データ格納部273に格納される。温度センサ284から出力される温度データ(温度データ4)は、温度データ格納部274に格納される。温度センサ285から出力される温度データ(温度データ5)は、温度データ格納部275に格納される。温度センサ286から出力される温度データ(温度データ6)は、温度データ格納部276に格納される。
【0027】
また、デバッグIF制御回路277は、デバッグ装置400から発行された温度データの読み出し指示に応答して、温度データ格納部271-276に格納された温度データ1-6を読み出し、読み出された温度データ1-6をデバッグ装置400へ送信する。
【0028】
なお、温度センサ281-286の各々は、任意の送信周期で、温度データをデバッグIF回路270へ送信することができるが、温度データの送信周期は、デバッグ装置400が温度データの読み出し指示をターゲットデバイス200に対して発行する周期よりも短い方が好ましい。
【0029】
図4は、実施の形態に係るデバッグ装置400の機能の一例を示すブロック図である。図4に示されるように、デバッグ装置400は、デバッグ制御部410、温度測定制御部420、温度データ分析部430、プログラム割り当て部440および情報格納部450を備える。デバッグ制御部410、温度測定制御部420、温度データ分析部430およびプログラム割り当て部440の機能は、プロセッサ401がメモリ402に格納された制御プログラムを実行することによって実現される。また、情報格納部450は、メモリ402の一部の領域によって構成される。
【0030】
デバッグ制御部410は、エミュレータ300を介して、ターゲットデバイス200に接続される。また、デバッグ制御部410は、温度測定制御部420およびプログラム割り当て部440に接続される。
【0031】
デバッグ制御部410は、ターゲットデバイス200にターゲットプログラムの実行および停止を指示する。デバッグ制御部410は、ターゲットデバイス200にターゲットプログラムの実行を指示した場合、ターゲットプログラムの実行が開始されたことを示すプログラム開始信号を温度測定制御部420へ出力する。
【0032】
また、デバッグ制御部410は、プログラム割り当て部440からロードモジュールを受け取る。デバッグ制御部410は、ロードモジュールをターゲットデバイス200の内部メモリ240にダウンロードする。
【0033】
温度測定制御部420は、エミュレータ300を介して、ターゲットデバイス200に接続される。また、温度測定制御部420は、デバッグ制御部410、温度データ分析部430および情報格納部450に接続される。
【0034】
温度測定制御部420は、測定タイマ421および周期タイマ422を備える。測定タイマ421は、温度測定時間をカウントするためのタイマである。周期タイマ422は、温度を測定するためのサンプリング時間をカウントするためのタイマである。温度測定制御部420は、デバッグ制御部410から出力されるプログラム開始信号に応答して、測定タイマ421のカウント動作および周期タイマ422のカウント動作を開始させる。
【0035】
温度測定制御部420は、情報格納部450に格納された測定時間情報およびサンプリング時間情報を読み出す。温度測定制御部420は、測定タイマ421のカウント値、周期タイマ422のカウント値、測定時間情報およびサンプリング時間情報に基づいて、ターゲットデバイス200から温度データを取得する。取得される温度データは、温度センサ281-286から出力された温度データ1-6である。温度測定制御部420は、取得された温度データを温度データ分析部430へ出力する。
【0036】
温度データ分析部430は、温度測定制御部420、プログラム割り当て部440および情報格納部450に接続される。
【0037】
温度データ分析部430は、温度測定制御部420から温度データを受け取る。また、温度データ分析部430は、情報格納部450に格納されたデバイス情報を読み出す。デバイス情報は、CPU位置情報および温度センサ位置情報を含む。CPU位置情報は、ターゲットデバイス200におけるCPU211-216の位置を特定するための情報である。温度センサ位置情報は、ターゲットデバイス200における温度センサ281-286の位置を特定するための情報である。
【0038】
温度データ分析部430は、温度データを参照し、所望の温度データが得られたか否かを確認する。温度データの値が所望の値ではない場合、温度データ分析部430は、温度データ、CPU位置情報および温度センサ位置情報に基づいて、CPU211-216の中から、実行するターゲットプログラムの数を減らす少なくとも1つのCPUと、実行するターゲットプログラムの数を増やす少なくとも1つのCPUとを決定する。温度データ分析部430は、温度データの分析結果として、実行するターゲットプログラムの数を減らす少なくとも1つのCPUと、実行するターゲットプログラムの数を増やす少なくとも1つのCPUとに関する情報を、プログラム割り当て部440へ出力する。以下、実行するターゲットプログラムの数を減らす少なくとも1つのCPUは、第1の変更対象CPUと称される。また、実行するターゲットプログラムの数を減らす少なくとも1つのCPUは、第2の変更対象CPUと称される。
【0039】
プログラム割り当て部440は、デバッグ制御部410、温度データ分析部430および情報格納部450に接続される。
【0040】
プログラム割り当て部440は、温度データ分析部430から温度データの分析結果を受け取る。また、プログラム割り当て部440は、情報格納部450に格納されたデバイス情報、ターゲットプログラムおよびターゲットプログラム制約情報を読み出す。デバイス情報は、CPU種別情報を含む。CPU種別情報は、CPU211-216の種類を特定するための情報である。ターゲットプログラムは、CPU211-216によって実行される複数のプログラムを含む。ターゲットプログラム制約情報は、CPU211-216が実行するターゲットプログラムの割り当てを変更するか否かを判定する際に使用される情報である。
【0041】
プログラム割り当て部440は、温度データの分析結果、CPU種別情報およびターゲットプログラム制約情報に基づいて、CPU211-216が実行するターゲットプログラムの割り当てを変更する。プログラム割り当て部440は、ターゲットプログラムの割り当てを変更した後、割り当てが変更されたターゲットプログラムをコンパイルすることにより、CPU211-216各々に対するロードモジュールを作成する。
【0042】
プログラム割り当て部440は、作成されたロードモジュールをデバッグ制御部410へ出力する。また、プログラム割り当て部440は、CPU211-216に対する割り当てが変更されたターゲットプログラムを情報格納部450に格納することにより、情報格納部450に格納されるターゲットプログラムを、次にターゲットデバイス200で実行されるべきターゲットプログラムに更新する。
【0043】
情報格納部450は、温度測定制御部420、温度データ分析部430およびプログラム割り当て部440に接続される。
【0044】
情報格納部450は、測定時間情報、サンプリング時間情報、デバイス情報、ターゲットプログラムおよびターゲットプログラム制約情報を格納する。情報格納部450は、測定時間情報およびサンプリング時間情報を温度測定制御部420に提供する。また、情報格納部450は、デバイス情報を温度データ分析部430に提供する。また、情報格納部450は、デバイス情報、ターゲットプログラムおよびターゲットプログラム制約情報をプログラム割り当て部440に提供する。
【0045】
次に、デバッグシステム100の動作について説明する。図5は、実施の形態に係るデバッグシステム100の動作の一例を示すフローチャートである。図5のフローチャートは、9つの処理ステップS510-S590を含む。まず、ステップS510において、温度測定のための設定の処理が行われる。温度測定制御部420は、情報格納部450に格納された測定時間情報を読み出し、読み出された測定時間情報を測定タイマ421にセットする。また、温度測定制御部420は、情報格納部450に格納されたサンプリング時間情報を周期タイマ422にセットする。
【0046】
ステップS520において、ダミー動作の処理が行われる。デバッグ制御部410は、ターゲットデバイス200に対して、温度センサ281-286による温度の測定が行われないダミー動作の実行を指示する。ターゲットデバイス200が冷えている状態では、ターゲットデバイス200の温度を適切に測定することができない。そのため、温度の測定を伴うターゲットプログラムの実行を行う前に、ターゲットデバイス200に温度測定を伴わないダミー動作を実行させることにより、ターゲットデバイス200の温度を適度に温める。
【0047】
CPU211-216の各々は、ダミー動作の実行指示に応答して、内部メモリ240に格納されたターゲットプログラムを実行する。また、その期間中に、温度センサ281-286は、ターゲットデバイス200の温度の測定を行わない。
【0048】
デバッグ制御部410は、所定時間の経過後、ターゲットデバイス200に対してダミー動作の停止を指示する。CPU211-216の各々は、デバッグ制御部410からのダミー動作の停止指示に応答して、ターゲットプログラムの実行を停止する。また、ターゲットデバイス200は、内部リセット機能を用いて、ターゲットデバイス200の状態を初期化する。
【0049】
ステップS530において、ターゲットプログラムの実行の処理が行われる。デバッグ制御部410は、ターゲットデバイス200に対してターゲットプログラムの実行を指示する。CPU211-216の各々は、デバッグ制御部410からのターゲットプログラムの実行指示に応答して、内部メモリ240に格納されたターゲットプログラムを実行する。初期的に実行されるターゲットプログラムでは、CPU211-216の各々が実行するプログラムの量が大体均等になるように、CPU211-216の各々が実行するターゲットプログラムの割り当てが行われている。
【0050】
また、温度センサ281-286は、デバッグ制御部410からのターゲットプログラムの実行指示に応答して、温度の測定を開始する。温度センサ281-286は、ターゲットプログラムの実行中、温度の測定結果である温度データをデバッグIF回路270へ送信する。
【0051】
また、デバッグ制御部410は、ターゲットプログラムの実行が開始されたことを示すプログラム開始信号を温度測定制御部420へ出力する。
【0052】
ステップS540において、温度データの取得の処理が行われる。ここで、図6を参照して、温度データの取得の処理を詳細に説明する。図6は、温度データの取得の処理の一例を示すフローチャートである。図6のフローチャートは、6つの処理ステップS541-S546を含む。まず、ステップS541において、タイマのカウント開始の処理が行われる。温度測定制御部420は、デバッグ制御部410からのプログラム開始信号に応答して、測定タイマ421のカウント動作および周期タイマ422のカウント動作を開始させる。
【0053】
ステップS542において、周期タイマ422のカウント値は、サンプリング時間情報によって示される値(サンプリング時間)と比較される。周期タイマ422のカウント値がサンプリング時間と一致する場合(ステップS542のYES)、処理はステップS543へ進む。一方、周期タイマ422のカウント値がサンプリング時間と一致しない場合(ステップS542のNO)、周期タイマ422は、カウント値とサンプリング時間が一致するまで、カウント動作を継続する。
【0054】
ステップS543において、測定タイマ421のカウント値は、測定時間情報によって示される値(測定時間)と比較される。測定タイマ421のカウント値が測定時間を超えている場合(ステップS543のYES)、処理はステップS544へ進む。一方、測定タイマ421のカウント値が測定時間を超えていない場合(ステップS543のNO)、処理はステップS545へ進む。
【0055】
ステップS544において、タイマの停止の処理が行われる。温度測定制御部420は、測定タイマ421および周期タイマ422を停止する。これにより、温度データの取得の処理が完了となる。
【0056】
一方、ステップS545において、温度データの読み出しの処理が行われる。温度測定制御部420は、ターゲットデバイス200に対して温度データの読み出しを指示する。デバッグIF制御回路277は、温度データの読み出し指示を受け取ると、温度データ格納部271-276に格納された温度データ1-6をデバッグ装置400に対して送信する。
【0057】
デバッグIF制御回路277は、温度データ1-6を送信する際、温度データを測定した温度センサを特定するための情報を紐づけて、温度データ1-6を送信するようにしてもよい。例えば、デバッグIF制御回路277は、温度データ格納部271に格納された温度データ1を送信する際には、温度データ1に温度センサ281を特定するための情報を紐づけて送信する。
【0058】
ステップS546において、周期タイマ422のクリアおよびリスタートの処理が行われる。温度測定制御部420は、周期タイマ422のカウント値をクリアし、周期タイマ422のカウント動作を再び開始させる。その後、処理はステップS542へ戻る。
【0059】
このように、ステップS540において、温度測定制御部420は、周期タイマ422を用いてサンプリング時間を計測し、所定の間隔(サンプリング間隔)で、ターゲットデバイス200から温度データを複数回取得する。また、温度測定制御部420は、測定タイマ421を用いて測定時間を計測し、測定時間が経過するまで、ターゲットデバイス200から温度データを取得し続ける。
【0060】
図5に戻り、デバッグシステム100の動作についての説明を続ける。次に、ステップS550において、ターゲットプログラムの停止の処理が行われる。デバッグ制御部410は、ターゲットデバイス200に対してターゲットプログラムの停止を指示する。CPU211-216の各々は、デバッグ制御部410から発行されたターゲットプログラムの停止指示に応答して、ターゲットプログラムの実行を停止する。
【0061】
ステップS560において、温度データの分析の処理が行われる。温度データ分析部430は、温度測定制御部420から温度データを受け取る。温度データは、温度センサ281-286によって測定された6種類の温度データ1-6を含む。また、温度データ1-6の各々は、指定されたサンプリング間隔で測定された複数の温度データを含む。
【0062】
図7は、実施の形態に係る温度データの測定結果の一例を示す図である。図7に示される例では、1回の測定時間中に、t1-t4の4つのタイミングで、温度センサ281-286によって測定された温度データ1-6の取得が行われている。図7に示される温度データの値の単位は、℃である。
【0063】
温度データ分析部430は、受け取られた温度データの分析を行う。温度データの分析においては、例えば、温度データの平均に基づく分析手法を利用することができる。図7に示されるように、温度データ分析部430は、温度センサ281-286によって測定された温度データ1-6の各々について、4回の測定における平均値を求める。
【0064】
温度データ分析部430は、温度データの平均値を求めると、温度センサ281-286の中から、最も高い平均値を持つ温度センサと、最も低い平均値を持つ温度センサとを特定する。図7に示される例では、温度センサ284が、最も高い平均値を持つ温度センサとして特定され、温度センサ283が、最も低い平均値を持つ温度センサとして特定される。
【0065】
また、温度データ分析部430は、デバイス情報に含まれるCPU位置情報および温度センサ位置情報を用いて、温度センサ281-286の各々とCPU211-216のうちの少なくとも1つのCPUとを関連付ける。図7における温度センサ281-286の各々とCPU211-216との関連付けは、図2のターゲットデバイス200のレイアウトに対応する。例えば、図2のレイアウトにおいて、温度センサ281は、CPU211とCPU212との間に配置されているため、温度データ分析部430は、温度センサ281とCPU211,212とを関連付ける。
【0066】
ステップS570において、取得された温度データが所望の温度データであるか否かが判定される。温度データ分析部430は、温度データに基づいて算出された値と所定値とを比較することによって、取得された温度データが所望の温度データであるか否かを判定する。例えば、温度データ分析部430は、温度センサ281-286の温度データの平均値のうちの最も高い平均値と最も低い平均値の差分が、所定の範囲内に収まっているか否かを確認する。当該差分が所定の範囲内に収まっている場合、温度データ分析部430は、取得された温度データが所望の温度データであると判定する(ステップS570のYES)。一方、当該差分が所定の範囲内に収まっていない場合、温度データ分析部430は、取得された温度データが所望の温度データではないと判定する(ステップS570のNO)。
【0067】
取得された温度データが所望の温度データであると判定された場合には、CPU211-216の各々が実行するターゲットプログラムの割り当てが適切であったものと判定される。その結果、ステップS580において、温度データ分析部430は、ターゲットプログラムの割り当てとして、温度データの測定が行われた現状のターゲットプログラムの割り当てを決定する。
【0068】
取得された温度データが所望の温度データではないと判定された場合には、ステップS590において、ターゲットプログラムの割り当ての変更の処理が行われる。温度データ分析部430は、最も高い平均値を持つ温度センサに関連付けられた少なくとも1つのCPUを、第1の変更対象CPUとして決定する。また、温度データ分析部430は、最も低い平均値を持つ温度センサに関連付けられた少なくとも1つのCPUを、第2の変更対象CPUとして決定する。
【0069】
最も高い平均値を持つ温度センサの周囲には、処理負荷の重いCPUが位置していると想定される。つまり、処理負荷の重いCPUが実行するプログラムの数を減らせば、その周囲の温度上昇は抑制される。一方、最も低い平均値を持つ温度センサの周囲には、処理負荷の軽いCPUが位置していると想定される。つまり、処理負荷の軽いCPUが実行するプログラムの数を増やせば、温度上昇の均一化が図られる。
【0070】
温度データ分析部430は、温度データの分析結果として、第1の変更対象CPUおよび第2の変更対象CPUに関する情報を、プログラム割り当て部440へ出力する。
【0071】
図7に示される例では、最も高い平均値を持つ温度センサは、温度センサ284となる。温度センサ284に関連付けられたCPUは、CPU212,213である。そのため、CPU212,213が、第1の変更対象CPUとして、プログラム割り当て部440へ通知される。
【0072】
また、最も低い平均値を持つ温度センサは、温度センサ283となる。温度センサ283に関連付けられたCPUは、CPU214,215である。そのため、CPU214,215が、第2の変更対象CPUとして、プログラム割り当て部440へ通知される。
【0073】
なお、例えば、第1の変更対象CPUとして、CPU211,212が特定され、第2の変更対象CPUとして、CPU211,214が特定されたとする。CPU212は、第1の変更対象CPUにも、第2の変更対象CPUにも該当する。このような場合、CPU212は、実行するターゲットプログラムの数を増減するCPUの対象から外してもよい。つまり、CPU212が、第1の変更対象CPUとして、また、CPU214が、第2の変更対象CPUとして、プログラム割り当て部440へ通知される。
【0074】
プログラム割り当て部440は、情報格納部450から温度データの測定が行われたターゲットプログラムを読み出し、温度データの分析結果に基づいて、CPU211-216の各々に対するターゲットプログラムの割り当ての変更を行う。ターゲットプログラムの割り当ての変更は、第1の変更対象CPUおよび第2の変更対象CPUに対するターゲットプログラムの割り当てを変更することによって行われる。
【0075】
具体的には、プログラム割り当て部440は、デバイス情報およびターゲットプログラム制約情報を参照し、第1の変更対象CPUに割り当てられているターゲットプログラムの一部を、第2の変更対象CPUに割り当てることによって、CPU211-216が実行するターゲットプログラムの割り当てを変更する。
【0076】
例えば、第1の変更対象CPUとしてCPU211が指定され、第2の変更対象CPUとしてCPU212が指定されている、と仮定する。この場合、プログラム割り当て部440は、デバイス情報およびターゲットプログラム制約情報を参照しながら、現状でCPU211に割り当てられているターゲットプログラムのうち、CPU212に割り当ての変更が可能なターゲットプログラムを抽出する。
【0077】
ターゲットプログラム制約情報は、例えば、ターゲットプログラムがリアルタイム性を要求されるプログラムであるか否かを示すリアルタイム性処理情報を含む。リアルタイム性が要求されるプログラムは、リアルタイム処理向けのCPUによって実行される必要がある。そのため、プログラム割り当て部440は、リアルタイム性処理情報およびCPU種別情報に基づいて、ターゲットプログラムの実行先のCPUを変更できるか否かを確認する。
【0078】
また、ターゲットプログラム制約情報は、例えば、ターゲットプログラムが画像処理プログラムであるか否かを示す画像処理関連情報を含む。画像処理プログラムは、並列処理向けのCPUによって実行されることが望ましい。そのため、プログラム割り当て部440は、画像処理関連情報およびCPU種別情報に基づいて、ターゲットプログラムの実行先のCPUを変更できるか否かを確認する。
【0079】
プログラム割り当て部440は、CPU211-216に対するターゲットプログラムの割り当てを変更した後、割り当てが変更されたターゲットプログラムをコンパイルする。また、プログラム割り当て部440は、割り当てが変更されたターゲットプログラムを情報格納部450に格納する。これにより、情報格納部450に格納されたターゲットプログラムが、次回に温度データの測定が行われるべきターゲットプログラムに更新される。
【0080】
プログラム割り当て部440によって作成されたロードモジュールは、デバッグ制御部410によって、ターゲットデバイス200の内部メモリ240にダウンロードされる。その後、処理は、ステップS520に戻る。
【0081】
以上の通り、実施の形態によれば、温度測定制御部420は、ターゲットプログラムの実行中に測定された温度データを取得する。温度データ分析部430は、温度データの分析結果として、実行するターゲットプログラムの数を減らす少なくとも1つのCPUと、実行するターゲットプログラムの数を増やす少なくとも1つのCPUとに関する情報を出力する。プログラム割り当て部440は、温度データの分析結果に基づいて、CPU211-216が実行するターゲットプログラムの割り当てを変更する。
【0082】
このように、実施の形態では、ターゲットデバイス200の温度の測定結果に基づいて、ターゲットプログラムの割り当ての変更が行われる。つまり、実際の温度の測定結果に基づいてターゲットプログラムの割り当ての変更が行われているため、ターゲットデバイス200に搭載されるCPU212-216以外の回路の動作も考慮されたターゲットプログラムの割り当ての変更が可能となる。そのため、従来よりも、温度の均一化が図られたターゲットプログラムの割り当てを容易に実現することができ、その結果、製造コストの上昇を抑制することができる。
【0083】
なお、上述された実施の形態では、ターゲットデバイスは1つとして説明されたが、本開示は、これに限定されない。本開示は、複数のターゲットデバイスを含むシステムに対しても適用可能である。その場合、複数のターゲットデバイスは、デイジーチェーンによってデバッグ装置と接続される。デバッグ装置は、システム上のターゲットデバイスの数に関する情報を取得する。デバッグ装置は、複数のターゲットデバイスから出力される温度データを、デイジーチェーン上でターゲットデバイスの数分だけシフト動作させることによって、複数のターゲットデバイスの温度データを取得できる。
【0084】
また、実施の形態で説明された処理を実行させる制御プログラムは、磁気ディスク、光ディスク、光磁気ディスクおよび半導体メモリなどの一時的でない有体のコンピュータ読取り可能な記録媒体にて記録させて、プログラム製品として提供することもできる。あるいは、コンピュータに内蔵するハードディスクなどの記録媒体にて記録させて、制御プログラムを提供することもできる。また、ネットワークを介したダウンロードによって、制御プログラムを提供することもできる。
【0085】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は既に述べた実施の形態に限定されるものではなく、その要旨を逸脱しない範囲において種々の変更が可能であることはいうまでもない。
【符号の説明】
【0086】
100:デバッグシステム
200:ターゲットデバイス(半導体装置)
211-216:CPU
220:周辺回路
230:パワーマネジメント回路
240:内部メモリ
250:通信IF回路
260:外部メモリIF回路
270:デバッグIF回路
271-276:温度データ格納部
277:デバッグIF制御回路
281-286:温度センサ
300:エミュレータ
400:デバッグ装置
401:プロセッサ
402:メモリ
410:デバッグ制御部
420:温度測定制御部
421:測定タイマ
422:周期タイマ
430:温度データ分析部
440:プログラム割り当て部
450:情報格納部
図1
図2
図3
図4
図5
図6
図7