(57)【要約】【課題】電子部品のオンチップデバッグを実現するとともに、デバッグ対象となる電子部品の小型化を図る。【解決手段】電子部品１０を構成するＣＰＵ１１から出力されるアドレスＡ、データＤ、及び読書き指示Ｃの内容が、所定の条件を満たすか否かを判断する第１比較器２１ａ、第２比較器２１ｂ、及び第３比較器２１ｃを、電子部品１０に設ける。そして、第１比較器２１ａ、第２比較器２１ｂ、及び第３比較器２１ｃの判断結果に基づいて、トレース記録信号を生成する。【選択図】図１
2011227608.tif 000002
【特許請求の範囲】
【請求項１】
記憶手段に対する演算手段からの出力が、所定の条件を満たすか否かを判断する判断手段と、
前記判断手段による判断結果に応じたトレース記録信号を出力するトレース記録信号出力手段と、
を有する電子部品。
【請求項２】
前記判断手段は、前記演算手段から出力されるアドレス情報が、所定の条件を満たすか否かを判断する請求項１に記載の電子部品。
【請求項３】
前記判断手段は、前記演算手段から出力される前記記憶手段に保存させるための情報が、所定の条件を満たすか否かを判断する請求項１又は２に記載の電子部品。
【請求項４】
前記判断手段は、前記演算手段から出力される前記記憶手段に対する読書き指示の内容が、所定の条件を満たすか否かを判断する請求項１乃至３のいずれか一項に記載の電子部品。
【請求項５】
前記判断手段は、
外部装置から入力される論理回路に基づいて、前記演算手段からの出力が、前記所定の条件を満たすか否かを判断する請求項１乃至４のいずれか一項に記載の電子部品。
【請求項６】
記憶手段に対する演算手段からの出力が、所定の条件を満たすか否かを判断する第１工程と、
前記第１工程での判断結果に応じたトレース記録信号を出力する第２工程と、
を含むデバッグ方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子部品及びデバッグ方法に関し、更に詳しくは、演算素子を備える電子部品、及び前記電子部品のデバッグを行うためのデバッグ方法に関する。
【背景技術】
【０００２】
近年、ＣＰＵ（Central Processing Unit）やＤＳＰ（Digital Signal Processor）、或いは、これらを内蔵するシステムＬＳＩ（Large Scale Integrated Circuit）に対するデバッグ手法は、ＩＣＥ（In-Circuit Emulator）を用いた手法から、チップが有するデバッグ機能を用いたオンチップデバッグ手法へと移行しつつある。
【０００３】
オンチップデバッグ手法を用いると、集積度が高く処理速度が高速なチップについても、短時間にデバッグを行うことができる。このため、製品の製造コストを削減することができる。
【０００４】
しかし、チップにデバッグ機能を付加しようとすると、ＣＰＵやＤＳＰ、或いはシステムＬＳＩなどの電子部品が大型化するという問題がある。そこで、これらの電子部品の大型化を抑止しつつ、精度よいデバッグを実現するための技術が種々提案されている（例えば特許文献１参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許第３４７３０２０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１に開示された技術は、ＦＰＧＡ（Field Programmable Gate Array）に規定されたＦＰＧＡエリアを、複数のデバッグ手段に共通に利用させるものである。これによれば、複数のデバッグごとにＦＰＧＡ領域を設ける必要がなくなるので、ＦＰＧＡを小型化することができる。
【０００７】
しかしながら、特許文献１に開示された技術では、デバッグ手段によって必要なＦＰＧＡエリアの大きさが異なる場合にも、一定の大きさのＦＰＧＡエリアを確保する必要がある。
【０００８】
本発明は、上述の事情の下になされたもので、デバッグ手段に必要な機能のみをＦＰＧＡに付加することで、電子部品のオンチップデバッグを実現するとともに、デバッグ対象となる電子部品の小型化を図ることを目的とする。
【課題を解決するための手段】
【０００９】
上記目的を達成するため、本発明の電子部品は、
記憶手段に対する演算手段からの出力が、所定の条件を満たすか否かを判断する判断手段と、
前記判断手段による判断結果に応じたトレース記録信号を出力するトレース記録信号出力手段と、
を有する。
【発明の効果】
【００１０】
本発明によれば、デバッグ対象となる電子部品において、演算手段からの出力が、所定の条件を満たすか否かが判断され、判断結果に応じた出力が生成される。このため、デバッグ対象となる電子部品に、必要最小限の情報を記憶するための領域を設けるだけで済む。したがって、電子部品のオンチップデバッグを実現するとともに、デバッグ対象となる電子部品を小型化することができる。
【図面の簡単な説明】
【００１１】
【図１】本発明の一実施形態に係る電子部品と、この電子部品をデバッグする開発支援装置のブロック図である。
【図２】監視回路のブロック図である。
【図３】トレース記録信号の構成を模式的に示す図である。
【図４】監視回路による処理を示すフローチャートである。
【図５】本実施形態の変形例を示す図である。
【発明を実施するための形態】
【００１２】
以下、本発明の一実施形態を、図面を参照しつつ説明する。図１は本実施形態に係る電子部品１０と、この電子部品１０に対してデバッグを行う開発支援装置３０のブロック図である。
【００１３】
電子部品１０は、例えばパーソナルコンピュータのマザーボードに実装されるマイクロ・プロセシング・ユニットである。この電子部品１０は、ＣＰＵ１１、入出力回路１２、記憶回路１３、トリガ出力回路１４、監視回路２０、トレース記録回路１６を有している。
【００１４】
ＣＰＵ１１は、記憶回路１３に記憶されているプログラムを実行する。そして、記憶回路１３に記憶させるデータＤ、記憶回路１３に設けられた記憶領域でのアドレスＡ、及び記憶回路１３に対して、データＤの記憶を行わせるための読書き指示Ｃに関する情報を出力する。
【００１５】
記憶回路１３は、例えば、ＣＰＵ１１の作業領域として用いられるＲＡＭ（Random Access Memory）等の記憶素子を有している。この記憶回路１３は、ＣＰＵ１１から出力される読書き指示Ｃに基づいて、データＤを、アドレスＡによって特定される記憶領域へ記憶する。また、記憶回路１３は、読書き指示Ｃに基づいて、アドレスＡによって特定される記憶領域に記憶されたデータＤを読み出して出力する。
【００１６】
入出力回路１２は、ＣＰＵ１１と、電子部品１０の外部に設けられた外部ユニットとのインタフェースとして機能する。この入出力回路１２は、ＣＰＵ１１から出力されるアドレスＡ、データＤ、読書き指示Ｃに関する情報を、外部ユニットへ出力するとともに、外部ユニットから出力されたデータＤを、ＣＰＵ１１へ出力する。
【００１７】
監視回路２０は、ＣＰＵ１１から、アドレスＡ、データＤ、読書き指示Ｃに関する情報が出力されると、それぞれの情報が、所定の条件を満たしているかを判断する。そして、判断した結果に応じたトレース記録信号を、トレース記録回路１６へ出力する。
【００１８】
図２は、監視回路２０のブロック図である。図２に示されるように、監視回路２０は、第１比較器２１ａ、第２比較器２１ｂ、第３比較器２１ｃ、及びトレース記録信号出力器２１ｄを有している。
【００１９】
第１比較器２１ａは、アドレスＡ、データＤ、及び読書き指示Ｃに関する情報を受信すると、後述する状態アドレス抽出部３２から出力されるアドレス情報に基づいて、第１アドレス条件、第１データ条件、及び第１読書き条件を規定する。そして、アドレスＡが、第１アドレス条件を満たしているか否かを判断する。また、データＤの内容が、第１データ条件を満たしているか否かを判断する。また、読書き指示Ｃの内容が、第１読書き条件を満たしているか否かを判断する。
【００２０】
第１比較器２１ａは、アドレスＡ、データＤ、及び読書き指示Ｃについて行われた判断がすべて肯定された場合には、その結果をトレース記録信号出力器２１ｄへ通知する。一方、第１比較器２１ａは、アドレスＡ、データＤ、及び読書き指示Ｃについて行われた判断のうち、いずれかの判断が否定された場合は、その結果を第２比較器２１ｂへ通知する。
【００２１】
第２比較器２１ｂは、アドレスＡ、データＤ、及び読書き指示Ｃに関する情報を受信すると、後述する状態アドレス抽出部３２から出力されるアドレス情報に基づいて、第２アドレス条件、第２データ条件、及び第２読書き条件を規定する。そして、第１比較器２１ａから判断結果が通知されると、第２比較器２１ｂは、アドレスＡが、第２アドレス条件を満たしているか否かを判断する。また、データＤの内容が、第２データ条件を満たしているか否かを判断する。また、読書き指示Ｃの内容が、第２読書き条件を満たしているか否かを判断する。
【００２２】
第２比較器２１ｂは、アドレスＡ、データＤ、及び読書き指示Ｃについて行われた判断がすべて肯定された場合には、その結果をトレース記録信号出力器２１ｄへ通知する。一方、第２比較器２１ｂは、アドレスＡ、データＤ、及び読書き指示Ｃについて行われた判断のうち、いずれかの判断が否定された場合は、その結果を第３比較器２１ｃへ通知する。
【００２３】
第３比較器２１ｃは、アドレスＡ、データＤ、及び読書き指示Ｃに関する情報を受信すると、後述する状態アドレス抽出部３２から出力されるアドレス情報に基づいて、第３アドレス条件、第３データ条件、及び第３読書き条件を規定する。そして、第２比較器２１ｂから判断結果が通知されると、第３比較器２１ｃは、アドレスＡが、第３アドレス条件を満たしているか否かを判断する。また、データＤの内容が、第３データ条件を満たしているか否かを判断する。また、読書き指示Ｃの内容が、第３読書き条件を満たしているか否かを判断する。
【００２４】
第３比較器２１ｃは、アドレスＡ、データＤ、及び読書き指示Ｃについて行われた判断がすべて肯定された場合には、その結果をトレース記録信号出力器２１ｄへ通知する。
【００２５】
トレース記録信号出力器２１ｄは、第１比較器２１ａ、第２比較器２１ｂ、又は第３比較器２１ｃから、判断結果が通知されると、判断結果に応じたトレース記録信号を出力する。具体的には、第１比較器２１ａからの判断結果が通知されると、トレース記録信号出力器２１ｄは、データＤ及び条件番号１に関する情報を第１トレース記録信号として出力する。また、第２比較器２１ｂからの判断結果が通知されると、トレース記録信号出力器２１ｄは、データＤ及び条件番号２に関する情報を第２トレース記録信号として出力する。また、第３比較器２１ｃからの判断結果が通知されると、トレース記録信号出力器２１ｄは、データＤ及び条件番号３に関する情報を第３トレース記録信号として出力する。
【００２６】
図３は、トレース記録信号の構成を模式的に示す図である。図３に示されるように、トレース記録信号は、ＣＰＵ１１が実行するタスクの状態を示す２ビットの状態情報と、２ビットの条件番号情報と、８ビットのデータＤから構成される。なお、状態情報とは、例えば比較器での判断が肯定されたことを示す情報である。
【００２７】
図４は、監視回路２０による処理を示すフローチャートである。以下、このフローチャートを参照しつつ、監視回路２０の動作を説明する。
【００２８】
最初のステップＳ１０１では、監視回路２０は、ＣＰＵ１１から出力されたアドレスＡ、データＤ、及び読書き指示Ｃに関する情報を受信するまで待機する。そして、当該情報を受信すると（ステップＳ１０１：Ｙｅｓ）、次のステップＳ１０２へ移行する。
【００２９】
次のステップＳ１０２では、監視回路２０は、アドレスＡが、第１アドレス条件を満たすか否かを判断する。ステップＳ１０２での判断が肯定された場合には、監視回路２０は、ステップＳ１０３へ移行する。
【００３０】
次のステップＳ１０３では、監視回路２０は、データＤの内容が、第１データ条件を満たすか否かを判断する。ステップＳ１０３での判断が肯定された場合には、監視回路２０は、ステップＳ１０４へ移行する。
【００３１】
次のステップＳ１０４では、監視回路２０は、読書き指示Ｃの内容が、第１読書き条件を満たすか否かを判断する。ステップＳ１０４での判断が肯定された場合には、監視回路２０は、ステップＳ１０５へ移行する。
【００３２】
次のステップＳ１０５では、監視回路２０は、第１トレース記録信号を出力する。監視回路２０は、第１トレース記録信号を出力すると、最初のステップＳ１０１へ戻る。
【００３３】
一方、ステップＳ１０２〜Ｓ１０４での判断が否定された場合には、監視回路２０は、ステップＳ１０６へ移行する。
【００３４】
次のステップＳ１０６では、監視回路２０は、アドレスＡが、第２アドレス条件を満たすか否かを判断する。ステップＳ１０６での判断が肯定された場合には、監視回路２０は、ステップＳ１０７へ移行する。
【００３５】
次のステップＳ１０７では、監視回路２０は、データＤの内容が、第２データ条件を満たすか否かを判断する。ステップＳ１０７での判断が肯定された場合には、監視回路２０は、ステップＳ１０８へ移行する。
【００３６】
次のステップＳ１０８では、監視回路２０は、読書き指示Ｃの内容が、第２読書き条件を満たすか否かを判断する。ステップＳ１０８での判断が肯定された場合には、監視回路２０は、ステップＳ１０９へ移行する。
【００３７】
次のステップＳ１０９では、監視回路２０は、第２トレース記録信号を出力する。監視回路２０は、第２トレース記録信号を出力すると、最初のステップＳ１０１へ戻る。
【００３８】
一方、ステップＳ１０６〜Ｓ１０８での判断が否定された場合には、監視回路２０は、ステップＳ１１０へ移行する。
【００３９】
次のステップＳ１１０では、監視回路２０は、アドレスＡが、第３アドレス条件を満たすか否かを判断する。ステップＳ１１０での判断が肯定された場合には、監視回路２０は、ステップＳ１１１へ移行する。
【００４０】
次のステップＳ１１１では、監視回路２０は、データＤの内容が、第３データ条件を満たすか否かを判断する。ステップＳ１１１での判断が肯定された場合には、監視回路２０は、ステップＳ１１２へ移行する。
【００４１】
次のステップＳ１１２では、監視回路２０は、読書き指示Ｃの内容が、第３読書き条件を満たすか否かを判断する。ステップＳ１１２での判断が肯定された場合には、監視回路２０は、ステップＳ１１３へ移行する。
【００４２】
次のステップＳ１１３では、監視回路２０は、第３トレース記録信号を出力する。監視回路２０は、第３トレース記録信号を出力すると、最初のステップＳ１０１へ戻る。
【００４３】
また、ステップＳ１１０〜Ｓ１１２での判断が否定された場合には、監視回路２０は、ステップＳ１０１へ戻る。
【００４４】
監視回路２０は、上述の動作の他に、第１比較器２１ａ、第２比較器２１ｂ、及び第３比較器２１ｃそれぞれの判断結果に基づいて、トリガ出力回路１４にトリガ信号の出力を指示する。
【００４５】
図１に戻り、トレース記録回路１６は、バッファとして機能し、トレース記録信号を構成する情報を蓄積する。これにより、トレース記録回路１６に、データＤ、タスク状態等が蓄積される。トレース記録回路１６に蓄積された情報は、必要に応じて、開発支援装置３０へ出力される。
【００４６】
トリガ出力回路１４は、監視回路２０の指示に基づいて、ＣＰＵ１１に対して、アドレスＡ、データＤ、及び読書き指示Ｃに関する情報の出力を指示する。この指示は、例えば、ＣＰＵ１１に出力するトリガ信号を、ローレベルからハイレベルにすることにより行う。このトリガ信号は、開発支援装置３０にも出力される。
【００４７】
開発支援装置３０は、ソフトウエア５０によって規定される処理を実行することにより、電子部品１０のデバッグを行う装置である。図１に示されるように、開発支援装置３０は、トリガ読取部３１、状態アドレス抽出部３２、及びトレース読取部３３を含んで構成されている。
【００４８】
トリガ読取部３１は、トリガ出力回路１４から出力されるトリガ信号を監視する。そして、トリガ信号と同期してハイレベルとなる出力信号を、状態アドレス抽出部３２へ出力する。
【００４９】
状態アドレス抽出部３２は、ソフトウエア５０を読み込んで実行する。図１に示されるように、ソフトウエア５０は、ＣＰＵ１１によって実行されるタスクに関するタスク情報５５と、タスクの進行状態に関する進行状態情報５３と、各タスクにおいて実行される処理に関する第１処理情報５２と、第１処理情報に関連する処理以外の処理に関する第２処理情報５１と、タスク情報５５と第１処理情報５２を管理するタスク管理部（タスク管理プログラム）５６と、進行状態情報５３を管理する処理管理部（処理管理プログラム）５４とから構成される。
【００５０】
状態アドレス抽出部３２は、タスク情報５５と進行状態情報５３が割り当てられる、記憶回路１３におけるアドレスに関する情報（アドレス情報）を抽出する。そして、例えばトリガ読取部３１から出力される出力信号の立ち上がりに同期して、抽出したアドレス情報を、監視回路２０へ出力する。これにより、監視回路２０では、第１〜第３アドレス条件、第１〜第３データ条件、第１〜第３読書き指示条件が規定される。
【００５１】
トレース読取部３３は、トレース記録回路１６に一時的に蓄積された情報を読み出して記憶する。
【００５２】
以上説明したように、本実施形態では、電子部品１０を構成するＣＰＵ１１から出力されるアドレスＡ、データＤ、及び読書き指示Ｃの内容が、第１比較器２１ａ、第２比較器２１ｂ、及び第３比較器２１ｃによって、所定の条件を満たすか否かが判断される。次に、判断結果に基づいて、トレース記録信号が生成される。そして、トレース記録回路１６に、トレース信号を構成する情報が蓄積される。これにより、電子部品１０のデバックを行う開発支援装置３０は、トレース記録回路１６に蓄積された情報を読み込むことで、デバックに必要な情報を取得することができる。
【００５３】
トレース記録回路１６に蓄積される情報（以下、蓄積情報という）は、図３を参照するとわかるように、ＣＰＵ１１が実行するタスクの状態を示す２ビットの状態情報と、２ビットの条件番号情報と、８ビットのデータＤから構成される。したがって、開発支援装置３０は、取得した情報を解析することで、ＣＰＵ１１がどのような条件で、どのタスクを実行したのかを判断することが可能となる。また、ソフトウエアによる処理の進行状態を解析することが可能となる。
【００５４】
また、本実施形態では、電子部品１０の第１比較器２１ａ、第２比較器２１ｂ、及び第３比較器２１ｃによる判断結果に基づいて、トレース信号が生成される。このため、デバック対象となる電子部品１０には、各比較器２１ａ〜２１ｃでの判断に必要な情報のみを記憶しておくだけでよい。したがって、電子部品１０を小型化することが可能となる。
【００５５】
以上、本発明の実施形態について説明したが、本発明は上記実施形態によって限定されるものではない。例えば、監視回路２０は、処理ごとに進行ＩＤを発行するようにしてもよい。これにより、開発支援装置３０は、進行ＩＤを参照することで、ＣＰＵ１１による処理の進行状況に関する情報を取得することが可能となる。
【００５６】
また、監視回路２０の機能を論理回路によって実現し、この論理回路を、電子部品１０に記憶させることとしてもよい。具体的には、入力に対する出力が、図４のフローチャートによって示される処理の結果と等価となる論理回路を、電子部品１０に記憶させることとしてもよい。この論理回路は、外部機器等を用いて、電子部品１０にアップロードすることが考えられる。
【００５７】
また、本実施形態では、第１比較器２１ａ、第２比較器２１ｂ、又は第３比較器２１ｃによって、アドレスＡが所定のアドレス条件を満たし、データＤが所定のデータ条件を満たし、読書き指示Ｃが所定の読書き条件を満たしていると判断された場合に、トレース記録信号が出力される。これに限らず、アドレスＡ、データＤ及び読書き指示Ｃのいずれか、或いはアドレスＡ、データＤ及び読書き指示Ｃのうちの２つが、所定の条件を満たしている場合に、トレース記録信号が出力されることとしてもよい。
【００５８】
また、例えば図５に示されるように、本発明のデバック方法を実現する際には、トリガ出力回路１４、監視回路２０、及びトレース記録回路１６にそれぞれ相当する、トリガ出力部１４Ａ、監視部２０Ａ、及びトレース記録部１６Ａを、開発支援装置３０に設けても良い。また、例えば開発支援装置３０に設けられたＣＰＵに、図４のフローチャートによって示される処理を実行させることとしてもよい。
【００５９】
また、デバックを行う際に、入出力回路１２を介して外部機器等を接続してもよい。
【００６０】
なお、本発明は、本発明の広義の精神と範囲を逸脱することなく、様々な実施形態及び変形が可能とされるものである。また、上述した実施形態は、本発明を説明するためのものであり、本発明の範囲を限定するものではない。
【産業上の利用可能性】
【００６１】
本発明の電子部品及びデバッグ方法は、オンチップデバッグを実現するのに適している。
【符号の説明】
【００６２】
１０  電子部品
１１  ＣＰＵ
１２  入出力回路
１３  記憶回路
１４  トリガ出力回路
１６  トレース記録回路
２０  監視回路
２１ａ  第１比較器
２１ｂ  第２比較器
２１ｃ  第３比較器
２１ｄ  トレース記録信号出力器
３０  開発支援装置
３１  トリガ読取部
３２  状態アドレス抽出部
３３  トレース読取部
５０  ソフトウエア
５１  第２処理情報
５２  第１処理情報
５３  進行状態情報
５４  処理管理部（処理管理プログラム）
５５  タスク情報
５６  タスク管理部（タスク管理プログラム）
Ａ  アドレス
Ｃ  書き込み指示
Ｄ  データ
【図１】
2011227608.tif 000003
【図２】
2011227608.tif 000004
【図３】
2011227608.tif 000005
【図４】
2011227608.tif 000006
【図５】
2011227608.tif 000007