(57)【要約】【課題】転送命令実行直前に何らかの要因で転送元のデータが書き換わるような場合にもハードウェアやソフトウェアなどのシステムの不具合が発見できる回路機能検証装置を提供する。【解決手段】制御部１０５は、データ転送命令に関わる転送元の情報を所定のタイミングで予めデータ格納部１０３に退避させておき、記憶部１０１から読み出して処理を行う命令を解析して、前記命令がデータ転送命令である場合に、該命令実行直後に、該命令に対応する転送元に格納されている情報とデータ格納部１０３に格納されている情報とを比較部１０４で比較させる。【選択図】図１
2007257186.tif 000002
【特許請求の範囲】
【請求項１】
ハードウェアと該ハードウェアを制御するためのソフトウェアとを含む回路の機能を検証する回路機能検証装置であって、
前記ソフトウェアを記憶する記憶部と、
制御系の処理を行う制御部と、
前記制御部に接続された少なくとも１つのハードウェア部と、
データ転送命令に関わる転送元の情報を格納するデータ格納部と、
前記制御部の指示に応じて、予め前記データ格納部に格納されている情報と転送元の情報とを比較する比較部と、を備え、
前記制御部は、前記記憶部から読み出した命令を解析し、前記命令がデータ転送命令である場合、該命令に対応する転送元に格納されている情報と前記データ格納部に格納されている情報とを比較するよう前記比較部に指示することを特徴とする回路機能検証装置。
【請求項２】
前記制御部は、動作開始直後に、前記データ転送命令に関わる転送元の情報を予め前記データ格納部に退避させることを特徴とする請求項１記載の回路機能検証装置。
【請求項３】
前記制御部は、割り込み発生直後に、前記データ転送命令に関わる転送元の情報を予め前記データ格納部に退避させることを特徴とする請求項１記載の回路機能検証装置。
【請求項４】
前記比較部は、比較結果を示す信号を出力することを特徴とする請求項１から３のいずれか一項記載の回路機能検証装置。
【請求項５】
ハードウェアと該ハードウェアを制御するためのソフトウェアとを含む回路の機能を検証する回路機能検証装置であって
前記ソフトウェアを記憶する記憶部と、
制御系の処理を行う制御部と、
前記制御部に接続された少なくとも１つのハードウェア部と、
割り込み発生のタイミングを格納するデータ格納部と、
前記制御部の指示に応じて、割り込み発生直後から転送命令実行までの間に転送元のデータが上書きされたかを判断する判断部と、を備え、
前記制御部は、前記記憶部から読み出した命令を解析し、前記命令がデータ転送命令である場合、前記タイミングから該命令実行までの間に転送元のデータが上書きされたかを判断するよう前記判断部に指示することを特徴とする回路機能検証装置。
【請求項６】
前記判断部は、判断結果を示す信号を出力することを特徴とする請求項５記載の回路機能検証装置。
【請求項７】
請求項１から６のいずれか一項記載の回路機能検証装置の回路データを検証する動作検証シミュレータを備えることを特徴とする設計支援装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ハードウェア及びソフトウェアを含むシステムの不具合を検証する回路機能検証装置に関する。
【背景技術】
【０００２】
従来、ハードウェア及びソフトウェアを含むシステムの回路機能検証方法としては、ＣＰＵが処理する命令を解析して、命令がロードやストアのような転送コマンドである場合に、転送元のデータと転送先のデータとが一致するか否かを命令実行直後に比較して、不一致の場合に不具合ありと判断する方法(例えば、特許文献１参照）などがある。
【特許文献１】特開２００３−２３３６３４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、上記従来の方法では、転送元のデータと転送先のデータとを比較することにより転送機能についてのハードウェアの不具合を発見することはできるが、書き換え可能なＲＡＭなどに転送元のデータが格納されている場合、転送命令実行直前に何らかの要因で転送元のデータが書き換わるような場合には、ハードウェアやソフトウェアなどのシステムの不具合を発見することができないことがあった。
【０００４】
本発明は、上記従来の事情に鑑みてなされたもので、転送元のデータを予め退避させておくことにより、転送命令実行直前に何らかの要因で転送元のデータが書き換わるような場合にもハードウェアやソフトウェアなどのシステムの不具合が発見できる回路機能検証装置を提供することを目的とする。
【課題を解決するための手段】
【０００５】
本発明の回路機能検証装置は、ハードウェアと該ハードウェアを制御するためのソフトウェアとを含む回路の機能を検証する回路機能検証装置であって、前記ソフトウェアを記憶する記憶部と、制御系の処理を行う制御部と、前記制御部に接続された少なくとも１つのハードウェア部と、データ転送命令に関わる転送元の情報を格納するデータ格納部と、前記制御部の指示に応じて、予め前記データ格納部に格納されている情報と転送元の情報とを比較する比較部と、を備え、前記制御部が、前記記憶部から読み出した命令を解析し、前記命令がデータ転送命令である場合、該命令に対応する転送元に格納されている情報と前記データ格納部に格納されている情報とを比較するよう前記比較部に指示することを特徴とするものである。
上記構成によれば、予め転送元のデータをデータ格納部に退避させ、退避させた転送元のデータと転送命令実行直後の転送元のデータとを比較することにより、ハードウェアやソフトウェアなどのシステムの不具合を的確に発見することができる。
【０００６】
また、本発明の回路機能検証装置は、前記制御部が、動作開始直後に、前記データ転送命令に関わる転送元の情報を予め前記データ格納部に退避させることを特徴とする。
上記構成によれば、ハードウェア初期化の有無を確認するための基準となるデータが退避されるため、ハードウェア初期化の有無によるハードウェアやソフトウェアなどのシステムの不具合を的確に発見することができる。
【０００７】
また、本発明の回路機能検証装置は、前記制御部が、割り込み発生直後に、前記データ転送命令に関わる転送元の情報を予め前記データ格納部に退避させることを特徴とする。
上記構成によれば、割り込み処理で必要なデータが退避されるため、割り込み処理起動中に割り込み処理で必要なデータが書き換わるハードウェアやソフトウェアなどのシステムの不具合を的確に発見することができる。
【０００８】
また、本発明の回路機能検証装置は、前記比較部が、比較結果を示す信号を出力することを特徴とする。
上記構成によれば、比較結果が出力されるため、ハードウェアやソフトウェアなどのシステムの不具合を的確に発見することができる。
【０００９】
また、本発明の回路機能検証装置は、ハードウェアと該ハードウェアを制御するためのソフトウェアとを含む回路の機能を検証する回路機能検証装置であって前記ソフトウェアを記憶する記憶部と、制御系の処理を行う制御部と、前記制御部に接続された少なくとも１つのハードウェア部と、割り込み発生のタイミングを格納するデータ格納部と、前記制御部の指示に応じて、割り込み発生直後から転送命令実行までの間に転送元のデータが上書きされたかを判断する判断部と、を備え、前記制御部が、前記記憶部から読み出した命令を解析し、前記命令がデータ転送命令である場合、前記タイミングから該命令実行までの間に転送元のデータが上書きされたかを判断するよう前記判断部に指示することを特徴とするものである。
上記構成によれば、データが退避されるタイミングからデータ転送命令実行直後までの間のデータ書き込みの有無が判断されるため、データが同じ値で上書きされる場合についても検出が可能で、ハードウェアやソフトウェアなどのシステムの不具合を高い精度で的確に発見することができる。
【００１０】
また、本発明の回路機能検証装置は、前記判断部が、判断結果を示す信号を出力することを特徴とする。
上記構成によれば、書き込み有無の結果が出力されるため、ハードウェアやソフトウェアなどのシステムの不具合を的確に発見することができる。
【００１１】
さらに、本発明の設計支援装置は、本発明の回路機能検証装置の回路データを検証する動作検証シミュレータを備えることを特徴とする。
上記構成によれば、回路の中に埋め込まれたテスト回路という形体ではなく、シミュレーションにより事前にハードウェアやソフトウェアなどのシステムの不具合を発見することができる。
【発明の効果】
【００１２】
本発明の回路機能検証装置によれば、データ転送命令実行直前に何らかの要因で転送元のデータが書き換わるような場合にもハードウェアやソフトウェアなどのシステムの不具合を高精度で的確に発見できる。
【発明を実施するための最良の形態】
【００１３】
以下、添付図面を参照しながら本発明の実施形態に係る回路機能検証装置について詳細に説明する。尚、実施の形態を説明するための全図において、同一機能を有するものは同一符号を付与し、説明は繰り返さないこととする。
【００１４】
［実施の形態１］
図１は、本発明の実施の形態１における回路機能検証装置の内部構成を示すブロック図である。回路機能検証装置１００は、主に、記憶部１０１、ユーザ回路部１０２、データ格納部１０３、比較部１０４、制御部１０５、などで構成される。
【００１５】
記憶部１０１は、ハードウェアを制御するソフトウェアや、回路機能検証装置１００で用いるデータなどを記憶する。ユーザ回路部１０２は、ユーザが任意に設計したハードウェア部分であり、様々な機能が搭載されている。データ格納部１０３は、記憶部１０１やユーザ回路部１０２に格納されているデータを、データ転送命令に関わる転送元のデータとして予め退避する。比較部１０４は、データ格納部１０３に退避させたデータと転送元のデータとを比較する。制御部１０５は、記憶部１０１に格納された制御プログラムにより、回路機能検証装置１００内の各部の動作を制御する。
【００１６】
また、制御部１０５は、記憶部１０１に格納されたソフトウェアを解釈した結果に基づいてデータ転送を行い、転送元のデータをデータ格納部１０３に退避させ、転送元データの読み出し処理時にデータ格納部１０３に退避させたデータと転送元データを比較する指示を比較部１０４に出力する。
【００１７】
次に、上記構成の回路機能検証装置の動作について説明する。図２は、本発明の実施の形態１における回路機能検証装置の回路検証動作手順を示すフローチャートである。
【００１８】
はじめに、回路機能検証装置の電源がＯＮされると（ステップＳ２０１）、制御部１０５は、ユーザ回路部１０２から制御部１０５に対する割り込みの有無を検出し（ステップＳ２０２）、割り込みがある場合には、記憶部１０１またはユーザ回路部１０２に格納されている転送元のデータをデータ格納部１０３に退避させる（ステップＳ２０３）。一方、ユーザ回路部１０２から制御部１０５に対する割り込みがない場合には、ステップＳ２０２に戻り、割り込みの検出動作を繰り返す。
【００１９】
次に、制御部１０５から転送元のデータへの読み出しアクセスの有無を検出し（ステップＳ２０４）、読み出しアクセスがある場合には、比較部１０４に、データ格納部１０３に退避させたデータと現時点での転送元のデータの値とを比較させる（ステップＳ２０５）。一方、読み出しアクセスがない場合には、ステップＳ２０４に戻り、読み出しアクセスの検出動作を繰り返す。
【００２０】
比較した結果が一致しない場合、制御部１０５は、比較部１０４から不一致であることを示す情報を出力させる（ステップＳ２０６）。一方、データを比較した結果が一致している場合は、ステップＳ２０２に戻り、割り込みの検出動作を繰り返す。
【００２１】
その後、電源の状態を検出し（ステップＳ２０７）、ＯＦＦの場合には処理を終了し、ＯＦＦでない場合にはステップＳ２０２に戻り、割り込みの検出動作を繰り返す。尚、フローチャートには記載されていないが、いずれの処理手順においても途中で電源がＯＦＦされた場合には処理が終了する。また、フローチャートには記載されていないが、ステップＳ２０４の読み出しアクセスの確認中に割り込みが発生した場合はステップＳ２０４のループ処理を抜けて転送元のデータを退避する処理（ステップＳ２０３）に戻る。
【００２２】
以上のように、本実施の形態の回路機能検証装置によれば、ユーザ回路部から制御部に対する割り込みが発生した直後に転送元のデータをデータ格納部に退避させることにより、制御部から転送元のデータに読み出しアクセス発生時点において何らかの要因で転送元のデータが書き換えられている場合でもハードウェアやソフトウェアなどのシステムの不具合を発見できる。
【００２３】
尚、本実施の形態では、比較部１０４をハードウェアで構成したが、制御部１０２でソフトウェア的に比較処理を行うようにしてもかまわない。
【００２４】
［実施の形態２］
図３は、本発明の実施の形態２における回路機能検証装置の内部構成を示すブロック図である。回路機能検証装置３００は、主に、記憶部１０１、ユーザ回路部１０２、データ格納部３０３、判断部３０４、制御部３０５、などで構成される。
【００２５】
データ格納部３０３は、転送元のデータを退避させる代わりに割り込み発生のタイミングに関わるデータを格納する。また、判断部３０４は、割り込み発生直後から転送命令実行直後までの間に転送元のデータにデータが上書きされたか否かを判断する。制御部３０５は、記憶部１０１に格納されたソフトウェアを解釈した結果に基づいてデータ転送を行い、転送命令実行タイミングをデータ格納部３０３に格納し、転送元データの読み出し処理時までの間にデータ転送元のデータが上書きされたか否かを確認する指示を判断部３０４に出力する。
【００２６】
次に、上記構成の回路機能検証装置の動作について説明する。図４は、本発明の実施の形態２における回路機能検証装置の回路検証動作手順を示すフローチャートである。
【００２７】
はじめに、回路機能検証装置の電源がＯＮされると（ステップＳ４０１）、制御部３０５は、ユーザ回路部１０２から制御部３０５に対する割り込みの有無を検出し（ステップＳ４０２）、割り込みがある場合には、データ格納部３０３に割り込み発生タイミングに関わる情報を格納する（ステップＳ４０３）。
【００２８】
次に、制御部３０５から転送元のデータへの読み出しアクセスの有無を検出し（ステップＳ４０４）、読み出しアクセスがない場合、制御部３０５は、次に、転送元への書き込みアクセスの有無を判断部３０４に判断させる（ステップＳ４０５）。
【００２９】
読み出しアクセスがなく且つ書き込みアクセスがある場合、制御部３０５は、判断部３０４から書き込み有無の判定結果情報を出力させる（ステップＳ４０６）と同時に、データ格納部３０３に格納した割り込み発生タイミングに関わる情報をクリアする（ステップＳ４０７）。一方、読み出しアクセスがある場合や、読み出しアクセスがなく且つ書き込みアクセスもない場合には、ステップＳ４０４に戻り、読み出しアクセス有無の検出動作を繰り返す。
【００３０】
その後、電源の状態を検出し（ステップＳ４０８）、ＯＦＦの場合には処理を終了し、ＯＦＦでない場合にはステップＳ４０２に戻り、割り込みの検出動作を繰り返す。尚、フローチャートには記載されていないが、いずれの処理手順においても途中で電源がＯＦＦされた場合には処理が終了する。また、割り込みや他の要因により、読み出しアクセス有無の検出動作（ステップＳ４０４）から書き込みアクセス有無の検出動作（ステップＳ４０５）までのループ処理を抜け、割り込みタイミング情報格納動作（ステップＳ４０３）へ戻るようにすることもできる。
【００３１】
以上のように、本実施の形態の回路機能検証装置によれば、ユーザ回路部から制御部に対する割り込みが発生したタイミングから転送元のデータに書き込みアクセスが発生するか否かを検出することにより、何らかの要因で転送元のデータが書き換えられた時点でハードウェアやソフトウェアなどのシステムの不具合を発見できる。さらに、転送元のデータが同じ値のデータで書き換えられた場合でもハードウェアなどのシステムの不具合を発見できる。
【００３２】
［実施の形態３］
図５は、本発明の実施の形態３における回路機能検証装置の内部構成を示すブロック図である。回路機能検証装置５００は、主に、プログラムメモリ５０１ａ、データメモリ５０１ｂ、ハードウェアモデル５０２、データ格納部５０３、関数起動有無判断機能部５０４ａ、比較処理機能部５０４ｂ、ＣＰＵ／μＤＳＰモデル５０５ａ、バスコントロ−ル部５０５ｂ、命令デコーダ５０５ｃ、などで構成される。
【００３３】
プログラムメモリ５０１ａは、ハードウェアを制御するためのソフトウェアやファームウェアのプログラムを格納する。データメモリ５０１ｂは、ユーザ回路であるハードウェアモデル５０２やＣＰＵ／μＤＳＰモデル５０５ａなどで使用するデータを格納する。ハードウェアモデル５０２は、ユーザが設計したハードウェアのモデルであり様々な機能が搭載されている。データ格納部５０３は、ハードウェアの初期化前のレジスタの値を格納するために用いる。関数起動有無判断機能部５０４ａは、データ転送命令の起動やハードウェアの初期化処理の起動を検出する。比較処理機能部５０４ｂは、データ格納部５０３に格納した初期化前のレジスタの値とデータメモリ５０１ｂに格納されている現時点でのレジスタの値を比較する。ＣＰＵ／μＤＳＰモデル５０５ａは、バスコントロ−ル部５０５ｂと命令デコーダ５０５ｃとハードウェアモデル５０２を制御してデータ転送などの処理を指示する。バスコントロ−ル部５０５ｂは、命令デコーダ５０５ｃで解析された命令に基づいてデータ転送を行う。命令デコーダ５０５ｃは、プログラムメモリ５０１ａに格納された命令を解析して転送命令であることを関数起動有無判断機能５０４ａに通知する。
【００３４】
尚、上記の構成において、プログラムメモリ５０１ａとデータメモリ５０１ｂは実施の形態１における記憶部１０１の機能を担う。同様に、データ格納部５０３は実施の形態１におけるデータ格納部１０３の機能を、関数起動有無判断機能部５０４ａと比較処理機能部５０４ｂは実施の形態１における比較部１０４の機能を、ＣＰＵ／μＤＳＰモデル５０５ａ、バスコントロ−ル部５０５ｂ及び命令デコーダ５０５ｃは、実施の形態１における制御部１０５の機能をそれぞれ担う。また、実施の形態３では、実施の形態１におけるユーザ回路部１０２がハードウェアモデル５０４に置換された形態となっている。
【００３５】
従って、回路機能検証装置５００は、全体としてはミュレータとしての機能を具備する。シミュレータでは、ハードウェア記述言語や一般的なソフトウェアで使用される言語で記載されたハードウェアモデル５０２やＣＰＵ／μＤＳＰモデル５０５ａなどのモデル及び比較処理機能部５０４ｂの検証用機能を用いてシステムの検証が行える。
【００３６】
次に、上記構成の回路機能検証装置の動作について説明する。図６は、本発明の実施の形態３における回路機能検証装置の回路検証動作手順を示すフローチャートである。
【００３７】
はじめに、回路機能検証装置でシュミレータの動作が開始すると（ステップＳ６０１）、ハードウェアモデル５０２やＣＰＵ／μＤＳＰモデル５０５ａで使用するレジスタの値が不定値としてデータ格納部５０３に格納される（ステップＳ６０２）。次に、命令デコーダ５０５ｃと関数起動有無判断機能部５０４ａで解析を行い、読み出しアクセスの有無を検出する（ステップＳ６０３）。
【００３８】
読み出し命令がある場合、比較処理機能部５０４ｂは、データ格納部５０３に格納されたレジスタの値とデータメモリ５０１ｂに格納されている現時点でのレジスタの値とを比較する（ステップＳ６０４）。一方、ＣＰＵ／μＤＳＰモデル５０５ａからの読み出し命令がない場合は、ステップＳ６０３に戻り、読み出しアクセス有無の検出動作を繰り返す。
【００３９】
比較した結果が一致している場合、比較処理機能部５０４ｂから一致／不一致の情報が出力される（ステップＳ６０５）。一方、比較結果が一致していない場合、ステップＳ６０３に戻り、読み出しアクセス有無の検出動作を繰り返す。
【００４０】
その後、シュミレータの動作状態を検出し（ステップＳ６０６）、シュミレータが停止の場合には処理を終了し、シュミレータが停止でない場合にはステップＳ６０３に戻り、割り込みの検出動作を繰り返す。尚、フローチャートには記載されていないが、いずれの処理手順においても途中でシュミレータが停止した場合には処理が終了する。
【００４１】
以上のように、本実施の形態の回路機能検証装置によれば、装置起動直後にデータメモリ上のレジスタの値として不定値をデータ格納部に格納することにより、ユーザ回路であるハードウェアモデルやＣＰＵ／μＤＳＰモデルからバスコントロ−ル部を介してレジスタに対して読み出しアクセスが発生した時点で、データメモリのレジスタがハードウェアモデルやＣＰＵ／μＤＳＰモデルから初期化されているか否かを簡単に確認することができる。
【００４２】
本発明の回路機能検証装置を実際の電気機器等に搭載、応用すれば、市場不具合発生時などにおいて迅速且つ的確に不具合の解析を行うことができる。特に、ハードウェアとソフトウェアの境界を持つ回路などの解析を行うシミュレータとして好適である。
【産業上の利用可能性】
【００４３】
本発明は、データ転送命令実行直前に何らかの要因で転送元のデータが書き換わるような場合でもハードウェアやソフトウェアなどのシステムの不具合を高い精度で的確に解析できるという効果を有し、ハードウェア及びソフトウェアを含むシステムの不具合を検証する回路機能検証装置等に有用である。
【図面の簡単な説明】
【００４４】
【図１】本発明の実施の形態１における回路機能検証装置の内部構成を示すブロック図
【図２】本発明の実施の形態１における回路機能検証装置の回路検証動作手順を示すフローチャート
【図３】本発明の実施の形態２における回路機能検証装置の内部構成を示すブロック図
【図４】本発明の実施の形態２における回路機能検証装置の回路検証動作手順を示すフローチャート
【図５】本発明の実施の形態３における回路機能検証装置の内部構成を示すブロック図
【図６】本発明の実施の形態３における回路機能検証装置の回路検証動作手順を示すフローチャート
【符号の説明】
【００４５】
１００  回路機能検証装置
１０１  記憶部
１０２  ユーザ回路部
１０３  データ格納部
１０４  比較部
１０５  制御部
３００  回路機能検証装置
３０３  データ格納部
３０４  判断部
３０５  制御部
５００  回路機能検証装置
５０１ａ  プログラムメモリ
５０１ｂ  データメモリ
５０２  ハードウェアモデル
５０３  データ格納部
５０４ａ  関数起動有無判断機能部
５０４ｂ  比較処理機能部
５０５ａ  ＣＰＵ／μＤＳＰモデル
５０５ｂ  バスコントロ−ル部
５０５ｃ  命令デコーダ
【図１】
2007257186.tif 000003
【図２】
2007257186.tif 000004
【図３】
2007257186.tif 000005
【図４】
2007257186.tif 000006
【図５】
2007257186.tif 000007
【図６】
2007257186.tif 000008