説明

電子部品及びデバッグ方法

【課題】電子部品のオンチップデバッグを実現するとともに、デバッグ対象となる電子部品の小型化を図る。
【解決手段】電子部品10を構成するCPU11から出力されるアドレスA、データD、及び読書き指示Cの内容が、所定の条件を満たすか否かを判断する第1比較器21a、第2比較器21b、及び第3比較器21cを、電子部品10に設ける。そして、第1比較器21a、第2比較器21b、及び第3比較器21cの判断結果に基づいて、トレース記録信号を生成する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、電子部品及びデバッグ方法に関し、更に詳しくは、演算素子を備える電子部品、及び前記電子部品のデバッグを行うためのデバッグ方法に関する。
【背景技術】
【0002】
近年、CPU(Central Processing Unit)やDSP(Digital Signal Processor)、或いは、これらを内蔵するシステムLSI(Large Scale Integrated Circuit)に対するデバッグ手法は、ICE(In-Circuit Emulator)を用いた手法から、チップが有するデバッグ機能を用いたオンチップデバッグ手法へと移行しつつある。
【0003】
オンチップデバッグ手法を用いると、集積度が高く処理速度が高速なチップについても、短時間にデバッグを行うことができる。このため、製品の製造コストを削減することができる。
【0004】
しかし、チップにデバッグ機能を付加しようとすると、CPUやDSP、或いはシステムLSIなどの電子部品が大型化するという問題がある。そこで、これらの電子部品の大型化を抑止しつつ、精度よいデバッグを実現するための技術が種々提案されている(例えば特許文献1参照)。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特許第3473020号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
特許文献1に開示された技術は、FPGA(Field Programmable Gate Array)に規定されたFPGAエリアを、複数のデバッグ手段に共通に利用させるものである。これによれば、複数のデバッグごとにFPGA領域を設ける必要がなくなるので、FPGAを小型化することができる。
【0007】
しかしながら、特許文献1に開示された技術では、デバッグ手段によって必要なFPGAエリアの大きさが異なる場合にも、一定の大きさのFPGAエリアを確保する必要がある。
【0008】
本発明は、上述の事情の下になされたもので、デバッグ手段に必要な機能のみをFPGAに付加することで、電子部品のオンチップデバッグを実現するとともに、デバッグ対象となる電子部品の小型化を図ることを目的とする。
【課題を解決するための手段】
【0009】
上記目的を達成するため、本発明の電子部品は、
記憶手段に対する演算手段からの出力が、所定の条件を満たすか否かを判断する判断手段と、
前記判断手段による判断結果に応じたトレース記録信号を出力するトレース記録信号出力手段と、
を有する。
【発明の効果】
【0010】
本発明によれば、デバッグ対象となる電子部品において、演算手段からの出力が、所定の条件を満たすか否かが判断され、判断結果に応じた出力が生成される。このため、デバッグ対象となる電子部品に、必要最小限の情報を記憶するための領域を設けるだけで済む。したがって、電子部品のオンチップデバッグを実現するとともに、デバッグ対象となる電子部品を小型化することができる。
【図面の簡単な説明】
【0011】
【図1】本発明の一実施形態に係る電子部品と、この電子部品をデバッグする開発支援装置のブロック図である。
【図2】監視回路のブロック図である。
【図3】トレース記録信号の構成を模式的に示す図である。
【図4】監視回路による処理を示すフローチャートである。
【図5】本実施形態の変形例を示す図である。
【発明を実施するための形態】
【0012】
以下、本発明の一実施形態を、図面を参照しつつ説明する。図1は本実施形態に係る電子部品10と、この電子部品10に対してデバッグを行う開発支援装置30のブロック図である。
【0013】
電子部品10は、例えばパーソナルコンピュータのマザーボードに実装されるマイクロ・プロセシング・ユニットである。この電子部品10は、CPU11、入出力回路12、記憶回路13、トリガ出力回路14、監視回路20、トレース記録回路16を有している。
【0014】
CPU11は、記憶回路13に記憶されているプログラムを実行する。そして、記憶回路13に記憶させるデータD、記憶回路13に設けられた記憶領域でのアドレスA、及び記憶回路13に対して、データDの記憶を行わせるための読書き指示Cに関する情報を出力する。
【0015】
記憶回路13は、例えば、CPU11の作業領域として用いられるRAM(Random Access Memory)等の記憶素子を有している。この記憶回路13は、CPU11から出力される読書き指示Cに基づいて、データDを、アドレスAによって特定される記憶領域へ記憶する。また、記憶回路13は、読書き指示Cに基づいて、アドレスAによって特定される記憶領域に記憶されたデータDを読み出して出力する。
【0016】
入出力回路12は、CPU11と、電子部品10の外部に設けられた外部ユニットとのインタフェースとして機能する。この入出力回路12は、CPU11から出力されるアドレスA、データD、読書き指示Cに関する情報を、外部ユニットへ出力するとともに、外部ユニットから出力されたデータDを、CPU11へ出力する。
【0017】
監視回路20は、CPU11から、アドレスA、データD、読書き指示Cに関する情報が出力されると、それぞれの情報が、所定の条件を満たしているかを判断する。そして、判断した結果に応じたトレース記録信号を、トレース記録回路16へ出力する。
【0018】
図2は、監視回路20のブロック図である。図2に示されるように、監視回路20は、第1比較器21a、第2比較器21b、第3比較器21c、及びトレース記録信号出力器21dを有している。
【0019】
第1比較器21aは、アドレスA、データD、及び読書き指示Cに関する情報を受信すると、後述する状態アドレス抽出部32から出力されるアドレス情報に基づいて、第1アドレス条件、第1データ条件、及び第1読書き条件を規定する。そして、アドレスAが、第1アドレス条件を満たしているか否かを判断する。また、データDの内容が、第1データ条件を満たしているか否かを判断する。また、読書き指示Cの内容が、第1読書き条件を満たしているか否かを判断する。
【0020】
第1比較器21aは、アドレスA、データD、及び読書き指示Cについて行われた判断がすべて肯定された場合には、その結果をトレース記録信号出力器21dへ通知する。一方、第1比較器21aは、アドレスA、データD、及び読書き指示Cについて行われた判断のうち、いずれかの判断が否定された場合は、その結果を第2比較器21bへ通知する。
【0021】
第2比較器21bは、アドレスA、データD、及び読書き指示Cに関する情報を受信すると、後述する状態アドレス抽出部32から出力されるアドレス情報に基づいて、第2アドレス条件、第2データ条件、及び第2読書き条件を規定する。そして、第1比較器21aから判断結果が通知されると、第2比較器21bは、アドレスAが、第2アドレス条件を満たしているか否かを判断する。また、データDの内容が、第2データ条件を満たしているか否かを判断する。また、読書き指示Cの内容が、第2読書き条件を満たしているか否かを判断する。
【0022】
第2比較器21bは、アドレスA、データD、及び読書き指示Cについて行われた判断がすべて肯定された場合には、その結果をトレース記録信号出力器21dへ通知する。一方、第2比較器21bは、アドレスA、データD、及び読書き指示Cについて行われた判断のうち、いずれかの判断が否定された場合は、その結果を第3比較器21cへ通知する。
【0023】
第3比較器21cは、アドレスA、データD、及び読書き指示Cに関する情報を受信すると、後述する状態アドレス抽出部32から出力されるアドレス情報に基づいて、第3アドレス条件、第3データ条件、及び第3読書き条件を規定する。そして、第2比較器21bから判断結果が通知されると、第3比較器21cは、アドレスAが、第3アドレス条件を満たしているか否かを判断する。また、データDの内容が、第3データ条件を満たしているか否かを判断する。また、読書き指示Cの内容が、第3読書き条件を満たしているか否かを判断する。
【0024】
第3比較器21cは、アドレスA、データD、及び読書き指示Cについて行われた判断がすべて肯定された場合には、その結果をトレース記録信号出力器21dへ通知する。
【0025】
トレース記録信号出力器21dは、第1比較器21a、第2比較器21b、又は第3比較器21cから、判断結果が通知されると、判断結果に応じたトレース記録信号を出力する。具体的には、第1比較器21aからの判断結果が通知されると、トレース記録信号出力器21dは、データD及び条件番号1に関する情報を第1トレース記録信号として出力する。また、第2比較器21bからの判断結果が通知されると、トレース記録信号出力器21dは、データD及び条件番号2に関する情報を第2トレース記録信号として出力する。また、第3比較器21cからの判断結果が通知されると、トレース記録信号出力器21dは、データD及び条件番号3に関する情報を第3トレース記録信号として出力する。
【0026】
図3は、トレース記録信号の構成を模式的に示す図である。図3に示されるように、トレース記録信号は、CPU11が実行するタスクの状態を示す2ビットの状態情報と、2ビットの条件番号情報と、8ビットのデータDから構成される。なお、状態情報とは、例えば比較器での判断が肯定されたことを示す情報である。
【0027】
図4は、監視回路20による処理を示すフローチャートである。以下、このフローチャートを参照しつつ、監視回路20の動作を説明する。
【0028】
最初のステップS101では、監視回路20は、CPU11から出力されたアドレスA、データD、及び読書き指示Cに関する情報を受信するまで待機する。そして、当該情報を受信すると(ステップS101:Yes)、次のステップS102へ移行する。
【0029】
次のステップS102では、監視回路20は、アドレスAが、第1アドレス条件を満たすか否かを判断する。ステップS102での判断が肯定された場合には、監視回路20は、ステップS103へ移行する。
【0030】
次のステップS103では、監視回路20は、データDの内容が、第1データ条件を満たすか否かを判断する。ステップS103での判断が肯定された場合には、監視回路20は、ステップS104へ移行する。
【0031】
次のステップS104では、監視回路20は、読書き指示Cの内容が、第1読書き条件を満たすか否かを判断する。ステップS104での判断が肯定された場合には、監視回路20は、ステップS105へ移行する。
【0032】
次のステップS105では、監視回路20は、第1トレース記録信号を出力する。監視回路20は、第1トレース記録信号を出力すると、最初のステップS101へ戻る。
【0033】
一方、ステップS102〜S104での判断が否定された場合には、監視回路20は、ステップS106へ移行する。
【0034】
次のステップS106では、監視回路20は、アドレスAが、第2アドレス条件を満たすか否かを判断する。ステップS106での判断が肯定された場合には、監視回路20は、ステップS107へ移行する。
【0035】
次のステップS107では、監視回路20は、データDの内容が、第2データ条件を満たすか否かを判断する。ステップS107での判断が肯定された場合には、監視回路20は、ステップS108へ移行する。
【0036】
次のステップS108では、監視回路20は、読書き指示Cの内容が、第2読書き条件を満たすか否かを判断する。ステップS108での判断が肯定された場合には、監視回路20は、ステップS109へ移行する。
【0037】
次のステップS109では、監視回路20は、第2トレース記録信号を出力する。監視回路20は、第2トレース記録信号を出力すると、最初のステップS101へ戻る。
【0038】
一方、ステップS106〜S108での判断が否定された場合には、監視回路20は、ステップS110へ移行する。
【0039】
次のステップS110では、監視回路20は、アドレスAが、第3アドレス条件を満たすか否かを判断する。ステップS110での判断が肯定された場合には、監視回路20は、ステップS111へ移行する。
【0040】
次のステップS111では、監視回路20は、データDの内容が、第3データ条件を満たすか否かを判断する。ステップS111での判断が肯定された場合には、監視回路20は、ステップS112へ移行する。
【0041】
次のステップS112では、監視回路20は、読書き指示Cの内容が、第3読書き条件を満たすか否かを判断する。ステップS112での判断が肯定された場合には、監視回路20は、ステップS113へ移行する。
【0042】
次のステップS113では、監視回路20は、第3トレース記録信号を出力する。監視回路20は、第3トレース記録信号を出力すると、最初のステップS101へ戻る。
【0043】
また、ステップS110〜S112での判断が否定された場合には、監視回路20は、ステップS101へ戻る。
【0044】
監視回路20は、上述の動作の他に、第1比較器21a、第2比較器21b、及び第3比較器21cそれぞれの判断結果に基づいて、トリガ出力回路14にトリガ信号の出力を指示する。
【0045】
図1に戻り、トレース記録回路16は、バッファとして機能し、トレース記録信号を構成する情報を蓄積する。これにより、トレース記録回路16に、データD、タスク状態等が蓄積される。トレース記録回路16に蓄積された情報は、必要に応じて、開発支援装置30へ出力される。
【0046】
トリガ出力回路14は、監視回路20の指示に基づいて、CPU11に対して、アドレスA、データD、及び読書き指示Cに関する情報の出力を指示する。この指示は、例えば、CPU11に出力するトリガ信号を、ローレベルからハイレベルにすることにより行う。このトリガ信号は、開発支援装置30にも出力される。
【0047】
開発支援装置30は、ソフトウエア50によって規定される処理を実行することにより、電子部品10のデバッグを行う装置である。図1に示されるように、開発支援装置30は、トリガ読取部31、状態アドレス抽出部32、及びトレース読取部33を含んで構成されている。
【0048】
トリガ読取部31は、トリガ出力回路14から出力されるトリガ信号を監視する。そして、トリガ信号と同期してハイレベルとなる出力信号を、状態アドレス抽出部32へ出力する。
【0049】
状態アドレス抽出部32は、ソフトウエア50を読み込んで実行する。図1に示されるように、ソフトウエア50は、CPU11によって実行されるタスクに関するタスク情報55と、タスクの進行状態に関する進行状態情報53と、各タスクにおいて実行される処理に関する第1処理情報52と、第1処理情報に関連する処理以外の処理に関する第2処理情報51と、タスク情報55と第1処理情報52を管理するタスク管理部(タスク管理プログラム)56と、進行状態情報53を管理する処理管理部(処理管理プログラム)54とから構成される。
【0050】
状態アドレス抽出部32は、タスク情報55と進行状態情報53が割り当てられる、記憶回路13におけるアドレスに関する情報(アドレス情報)を抽出する。そして、例えばトリガ読取部31から出力される出力信号の立ち上がりに同期して、抽出したアドレス情報を、監視回路20へ出力する。これにより、監視回路20では、第1〜第3アドレス条件、第1〜第3データ条件、第1〜第3読書き指示条件が規定される。
【0051】
トレース読取部33は、トレース記録回路16に一時的に蓄積された情報を読み出して記憶する。
【0052】
以上説明したように、本実施形態では、電子部品10を構成するCPU11から出力されるアドレスA、データD、及び読書き指示Cの内容が、第1比較器21a、第2比較器21b、及び第3比較器21cによって、所定の条件を満たすか否かが判断される。次に、判断結果に基づいて、トレース記録信号が生成される。そして、トレース記録回路16に、トレース信号を構成する情報が蓄積される。これにより、電子部品10のデバックを行う開発支援装置30は、トレース記録回路16に蓄積された情報を読み込むことで、デバックに必要な情報を取得することができる。
【0053】
トレース記録回路16に蓄積される情報(以下、蓄積情報という)は、図3を参照するとわかるように、CPU11が実行するタスクの状態を示す2ビットの状態情報と、2ビットの条件番号情報と、8ビットのデータDから構成される。したがって、開発支援装置30は、取得した情報を解析することで、CPU11がどのような条件で、どのタスクを実行したのかを判断することが可能となる。また、ソフトウエアによる処理の進行状態を解析することが可能となる。
【0054】
また、本実施形態では、電子部品10の第1比較器21a、第2比較器21b、及び第3比較器21cによる判断結果に基づいて、トレース信号が生成される。このため、デバック対象となる電子部品10には、各比較器21a〜21cでの判断に必要な情報のみを記憶しておくだけでよい。したがって、電子部品10を小型化することが可能となる。
【0055】
以上、本発明の実施形態について説明したが、本発明は上記実施形態によって限定されるものではない。例えば、監視回路20は、処理ごとに進行IDを発行するようにしてもよい。これにより、開発支援装置30は、進行IDを参照することで、CPU11による処理の進行状況に関する情報を取得することが可能となる。
【0056】
また、監視回路20の機能を論理回路によって実現し、この論理回路を、電子部品10に記憶させることとしてもよい。具体的には、入力に対する出力が、図4のフローチャートによって示される処理の結果と等価となる論理回路を、電子部品10に記憶させることとしてもよい。この論理回路は、外部機器等を用いて、電子部品10にアップロードすることが考えられる。
【0057】
また、本実施形態では、第1比較器21a、第2比較器21b、又は第3比較器21cによって、アドレスAが所定のアドレス条件を満たし、データDが所定のデータ条件を満たし、読書き指示Cが所定の読書き条件を満たしていると判断された場合に、トレース記録信号が出力される。これに限らず、アドレスA、データD及び読書き指示Cのいずれか、或いはアドレスA、データD及び読書き指示Cのうちの2つが、所定の条件を満たしている場合に、トレース記録信号が出力されることとしてもよい。
【0058】
また、例えば図5に示されるように、本発明のデバック方法を実現する際には、トリガ出力回路14、監視回路20、及びトレース記録回路16にそれぞれ相当する、トリガ出力部14A、監視部20A、及びトレース記録部16Aを、開発支援装置30に設けても良い。また、例えば開発支援装置30に設けられたCPUに、図4のフローチャートによって示される処理を実行させることとしてもよい。
【0059】
また、デバックを行う際に、入出力回路12を介して外部機器等を接続してもよい。
【0060】
なお、本発明は、本発明の広義の精神と範囲を逸脱することなく、様々な実施形態及び変形が可能とされるものである。また、上述した実施形態は、本発明を説明するためのものであり、本発明の範囲を限定するものではない。
【産業上の利用可能性】
【0061】
本発明の電子部品及びデバッグ方法は、オンチップデバッグを実現するのに適している。
【符号の説明】
【0062】
10 電子部品
11 CPU
12 入出力回路
13 記憶回路
14 トリガ出力回路
16 トレース記録回路
20 監視回路
21a 第1比較器
21b 第2比較器
21c 第3比較器
21d トレース記録信号出力器
30 開発支援装置
31 トリガ読取部
32 状態アドレス抽出部
33 トレース読取部
50 ソフトウエア
51 第2処理情報
52 第1処理情報
53 進行状態情報
54 処理管理部(処理管理プログラム)
55 タスク情報
56 タスク管理部(タスク管理プログラム)
A アドレス
C 書き込み指示
D データ

【特許請求の範囲】
【請求項1】
記憶手段に対する演算手段からの出力が、所定の条件を満たすか否かを判断する判断手段と、
前記判断手段による判断結果に応じたトレース記録信号を出力するトレース記録信号出力手段と、
を有する電子部品。
【請求項2】
前記判断手段は、前記演算手段から出力されるアドレス情報が、所定の条件を満たすか否かを判断する請求項1に記載の電子部品。
【請求項3】
前記判断手段は、前記演算手段から出力される前記記憶手段に保存させるための情報が、所定の条件を満たすか否かを判断する請求項1又は2に記載の電子部品。
【請求項4】
前記判断手段は、前記演算手段から出力される前記記憶手段に対する読書き指示の内容が、所定の条件を満たすか否かを判断する請求項1乃至3のいずれか一項に記載の電子部品。
【請求項5】
前記判断手段は、
外部装置から入力される論理回路に基づいて、前記演算手段からの出力が、前記所定の条件を満たすか否かを判断する請求項1乃至4のいずれか一項に記載の電子部品。
【請求項6】
記憶手段に対する演算手段からの出力が、所定の条件を満たすか否かを判断する第1工程と、
前記第1工程での判断結果に応じたトレース記録信号を出力する第2工程と、
を含むデバッグ方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate


【公開番号】特開2011−227608(P2011−227608A)
【公開日】平成23年11月10日(2011.11.10)
【国際特許分類】
【出願番号】特願2010−95007(P2010−95007)
【出願日】平成22年4月16日(2010.4.16)
【出願人】(000006013)三菱電機株式会社 (33,312)
【Fターム(参考)】