(57)【要約】【課題】被検査装置の演算機能が正常であるか否かを判定する。【解決手段】被検査側のＭＣＵ１３は、検査側である電源ＩＣ１２から演算課題に使用する定数を取得する。ＭＣＵ１３は、複数の演算課題を順次に選択し、選択した演算課題に従って、取得した定数を使用した演算を実施する。電源ＩＣ１２の監視回路２３は、ＭＣＵ１３から演算課題の演算結果を受信する。監視回路２３は、受信した演算結果と、監視回路２３側で演算した演算課題の演算結果とを比較する。監視回路２３は、比較の結果に基づいて、ＭＣＵ１３の演算機能が正常に動作しているか否かを判定する。【選択図】図１
2018180999.tif 000002
【特許請求の範囲】
【請求項１】
互いに通信が可能な被検査装置及び検査装置を備え、
前記被検査装置は、
複数の演算課題を順次に選択する演算課題選択部と、
前記演算課題の演算に使用する定数を前記検査装置から取得する定数取得部と、
前記演算課題選択部が選択した演算課題に従って、前記定数を使用した演算を実施する演算部と、
前記演算部の演算結果を前記検査装置に送信する演算結果送信部とを有し、
前記検査装置は、
前記被検査装置に前記定数に送信する定数送信部と、
前記演算課題の演算を実施する演算回路と、
前記被検査装置から前記演算結果を受信し、該受信した演算結果と、前記定数送信部が送信した定数に基づいて前記演算回路に演算を実施させ結果とを比較し、該比較の結果に基づいて、前記被検査装置の演算機能が正常に動作しているか否かを判定する判定部とを有する検査システム。
【請求項２】
前記演算課題選択部は、カウンタを含み、該カウンタのカウント値に基づいて演算課題を選択する請求項１に記載の検査システム。
【請求項３】
前記定数は、第１の定数及び第２の定数を含み、前記演算課題選択部は、前記第２の定数の値に応じた値ずつ前記カウント値を増減する請求項２に記載の検査システム。
【請求項４】
前記定数送信部は、前記カウント値の増減の方向を示す情報を前記被検査装置に更に送信する請求項２に記載の検査システム。
【請求項５】
前記定数取得部は、前記演算課題選択部が所定回数だけ前記演算課題の選択を繰り返し実施すると、新たな定数を前記検査装置から取得する請求項２に記載の検査システム。
【請求項６】
前記演算課題選択部は、前記カウンタがオーバフローすると、又は前記カウント値が０以下になると、前記演算課題の選択の繰り返し回数を１つ加算する請求項５に記載の検査システム。
【請求項７】
前記被検査装置は、前記検査装置に前記演算課題の選択の繰り返し回数を通知する請求項５に記載の検査システム。
【請求項８】
前記被検査装置は、プロセッサを有するマイクロプロセッサユニットを含む請求項１に記載の検査システム。
【請求項９】
前記プロセッサは、所定の処理を実施しつつ、前記演算部としても機能する請求項８に記載の検査システム。
【請求項１０】
前記演算課題選択部は、前記プロセッサで実施される処理に応じて、前記演算課題の選択において、該選択の対象とする演算課題を決定する請求項９に記載の検査システム。
【請求項１１】
前記被検査装置は、前記プロセッサで実施される処理と、前記選択の対象とする演算課題とを対応付けて記憶するテーブルを更に有し、
前記演算課題選択部は、前記プロセッサが実施する処理と前記テーブルとに基づいて、前記選択の対象とする演算課題を決定する請求項１０に記載の検査システム。
【請求項１２】
前記被検査装置は、前記演算課題選択部が選択の対象とする演算課題を識別する情報を前記検査装置に通知する請求項１１に記載の検査システム。
【請求項１３】
前記複数の演算課題のそれぞれには番号が割り当てられており、前記被検査装置は、前記演算課題選択部が前記選択の対象とする演算課題の番号に対応するビットに所定の値をセットしたデータを、前記演算課題選択部が前記選択の対象とする演算課題を識別する情報として前記検査装置に送信する請求項１２に記載の検査システム。
【請求項１４】
前記定数送信部が乱数発生回路を含み、該乱数発生回路が発生した乱数を前記被検査装置に前記定数として送信する請求項１に記載の検査システム。
【請求項１５】
演算機能を有する被検査装置と通信する通信部と、
前記被検査装置が複数の演算課題から順次に選択された演算課題に従って演算を実施する際に使用される定数を前記被検査装置に送信する定数送信部と、
前記演算課題の演算を実施する演算回路と、
前記被検査装置から、前記演算課題に従って前記定数を使用した演算を実施した結果を受信し、該受信した演算結果と、前記定数送信部が送信した定数に基づいて前記演算回路に演算を実施させ結果とを比較し、該比較の結果に基づいて、前記被検査装置の演算機能が正常に動作しているか否かを判定する判定部とを有する検査装置。
【請求項１６】
演算機能を有する被検査装置を検査する演算機能検査方法であって、
演算に使用する定数を前記被検査装置に送信し、
前記被検査装置から、複数の演算課題から順次に選択された演算課題に従って前記定数を使用して実施された演算の結果を受信し、
演算回路において前記送信した定数に基づいて前記演算課題の演算を実施し、
前記被検査装置から受信した演算の結果と、前記演算回路の演算結果とを比較し、
前記比較の結果に基づいて、前記被検査装置の演算機能が正常に動作しているか否かを判定する演算機能検査方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は検査システム、検査装置、及び検査方法に関し、例えば演算部を含む被検査装置を検査する検査システム、検査装置、及び検査方法に関する。
【背景技術】
【０００２】
装置が備えるＣＰＵ（Central Processing Unit）などの機能が正常であるか否かを判断するための機構として、ウォッチドッグタイマ（ＷＤＴ：Watch Dog Timer）が知られている。一般に、ウォッチドッグタイマは、ＣＰＵから周期的にパルス信号を受信する。ウォッチドッグタイマは、所定時間が経過してもＣＰＵからパルス信号が受信できない場合は、ＣＰＵが正常に動作していないと判断し、ＣＰＵのリセットなどを行う。
【０００３】
しかしながら、上記ウォッチドッグタイマは、ＣＰＵから一定のタイミングでパルス信号が入力されていればＣＰＵが正常であると判断する。このため、ＣＰＵのタイマ機能の動作確認はできても、ＣＰＵの演算機能の動作確認はできない。このような問題点に対し、特許文献１は、複数のＣＰＵを備えた電子装置において、ＣＰＵの演算機能を検査する方法を開示する。特許文献１に記載の電子装置では、被検査側のＣＰＵは、演算課題の演算を行い、その演算結果を検査側のＣＰＵに送信する。検査側のＣＰＵは、受信した演算結果に基づいて、被検査側のＣＰＵの演算機能が正常か否かを判定する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００７−２９３５２４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ここで、特許文献１では、被検査側ＣＰＵは、カウンタを用いて、周期的に同じ内容を繰り返す演算課題を作成する。特許文献１において、演算課題の回答内容（演算結果）は固定されており、またカウンタの増加値も固定されている。このため、被検査側ＣＰＵは、事前に回答内容をレジスタに格納しておけば、実際には演算課題を計算しなくても、レジスタから読み出した回答内容を、演算結果として検査側ＣＰＵに送信することができる。その場合、検査側ＣＰＵは、被検査側ＣＰＵの演算機能が正常であるか否かの判定を行うことができない。
【０００６】
その他の課題と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
【課題を解決するための手段】
【０００７】
一実施の形態によれば、検査システムは、被検査装置と検査装置とを有し、被検査装置が検査装置から演算課題の演算に使用する定数を取得し、複数の演算課題を順次に選択しつつ、取得した定数を使用した演算を実施し、その演算結果を検査装置に送信し、検査装置が被検査装置の演算部が正常に動作しているか否かを判定するものである。
【発明の効果】
【０００８】
前記一実施の形態によれば、被検査装置の演算機能が正常であるか否かを判定できる。
【図面の簡単な説明】
【０００９】
【図１】実施形態１に係る検査システムを示すブロック図。
【図２】ＭＣＵ内に構成される要素を示すブロック図。
【図３】監視回路の構成を示すブロック図。
【図４】演算課題の一例を示す図。
【図５】検査システムにおける動作手順を示すフローチャート。
【図６】検査システムにおける動作例を示す模式図。
【図７】実施形態２に係る検査システムにおける動作手順を示すフローチャート。
【図８】実施形態２に係る検査システムにおける動作例を示す模式図。
【図９】実施形態３において用いることができるテーブルの例を示す図。
【図１０】実施形態３に係る検査システムにおける動作手順を示すフローチャート。
【図１１】処理Ａが実施される期間における検査システムの動作例を示す模式図。
【図１２】処理Ｂが実施される期間における検査システムの動作例を示す模式図。
【発明を実施するための形態】
【００１０】
以下、図面を参照しつつ、上記課題を解決するための手段を適用した実施形態を詳細に説明する。説明の明確化のため、以下の記載及び図面は、適宜、省略、及び簡略化がなされている。また、様々な処理を行う機能ブロックとして図面に記載される各要素は、ハードウェア的には、ＣＰＵ、メモリ、又はその他の回路で構成することができ、ソフトウェア的には、メモリにロードされたプログラムなどによって実現される。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、又はそれらの組合せによっていろいろな形で実現できることは当業者には理解されるところであり、何れかに限定されるものではない。なお、各図面において、同一の要素には同一の符号が付されており、必要に応じて重複説明は省略されている。
【００１１】
また、上述したプログラムは、様々なタイプの非一時的なコンピュータ可読媒体（non-transitory computer readable medium）を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体（tangible storage medium）を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体（例えばフレキシブルディスク、磁気テープ、ハードディスク）、光磁気記録媒体（例えば光磁気ディスク）、ＣＤ−ＲＯＭ（Read Only Memory）ＣＤ−Ｒ、ＣＤ−Ｒ／Ｗ、及び半導体メモリ（例えば、マスクＲＯＭ、ＰＲＯＭ（Programmable ROM）、ＥＰＲＯＭ（Erasable PROM）、フラッシュＲＯＭ、ＲＡＭ（Random Access Memory））を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体（transitory computer readable medium）によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【００１２】
以下の実施の形態においては便宜上その必要があるときは、複数のセクション又は実施の形態に分割して説明するが、特に明示した場合を除き、それらはお互いに無関係なものではなく、一方は他方の一部又は全部の変形例、応用例、詳細説明、又は補足説明等の関係にある。また、以下の実施の形態において、要素の数等（個数、数値、量、範囲等を含む）に言及する場合、特に明示した場合および原理的に明らかに特定の数に限定される場合等を除き、その特定の数に限定されるものではなく、特定の数以上でも以下でもよい。
【００１３】
さらに、以下の実施の形態において、その構成要素（動作ステップ等も含む）は、特に明示した場合及び原理的に明らかに必須であると考えられる場合等を除き、必ずしも必須のものではない。同様に、以下の実施の形態において、構成要素等の形状、又は位置関係等に言及するときは、特に明示した場合および原理的に明らかにそうでないと考えられる場合等を除き、実質的にその形状等に近似または類似するもの等を含むものとする。このことは、上記数等（個数、数値、量、範囲等を含む）についても同様である。
【００１４】
［実施形態１］
図１は、実施形態１に係る検査システムを示す。検査システム１０は、電源ＩＣ（Integrated Circuit）１２とＭＣＵ（Micro Computer Unit）１３とを備える。電源ＩＣ１２及びＭＣＵ１３は、半導体集積回路（半導体装置）として構成されており、例えば自動車などの車両に搭載される。ＭＣＵ１３は、演算機能を有している。ＭＣＵ１３は、例えば車両において各種制御を実施する。ＭＣＵ１３は、例えば、車両においてＡＤＡＳ（Advanced Driver Assistance System：先進運転支援システム）などに用いられる。本実施形態において、電源ＩＣ１２は、ＭＣＵ１３への電源供給を行いつつ、ＭＣＵ１３の演算機能を検査する検査装置としても機能する。
【００１５】
電源ＩＣ１２は、電圧生成回路２１、通信部２２、及び監視回路２３を有する。電圧生成回路（電源回路）２１は、ＭＣＵ１３に供給する電源を生成する。電圧生成回路２１は、例えばＤＣ（Direct Current）／ＤＣコンバータを含み、車両のバッテリ電圧ＶＢを、ＭＣＵ１３の動作電源電圧Ｖ＋に変換する。電圧生成回路２１は、例えば１２Ｖのバッテリ電圧を、５Ｖや３．３ＶなどのＭＣＵ１３の動作電源電圧Ｖ＋に変換する。電圧生成回路２１は、ＭＣＵ１３に生成した電圧Ｖ＋の電源を供給する。
【００１６】
監視回路（検査回路）２３は、被検査装置であるＭＣＵ１３が正常に動作しているか否かを監視する。監視回路２３は、例えば周期的にＭＣＵ１３の監視を行う。監視回路２３は、例えばウォッチドッグタイマ機能を有しており、ＭＣＵ１３が正常に動作していないと判定した場合は、ＭＣＵ１３にリセット信号を出力する。通信部２２は、ＭＣＵ１３との間で通信を行う。監視回路２３は、通信部２２を通じてＭＣＵ１３に信号（データ）を送信し、ＭＣＵ１３から信号を受信することができる。
【００１７】
ＭＣＵ１３は、ＣＰＵ３１、ＲＡＭ３２、ＲＯＭ３３、及び通信部３４を有する。ＣＰＵ（プロセッサ）３１は、ＭＣＵ１３において処理実行部を構成し、各種処理を実行する。通信部３４は、電源ＩＣ１２との間で通信を行う。ＣＰＵ３１は、通信部３４を通じて、電源ＩＣ１２に信号（データ）を送信し、電源ＩＣ１２から信号を受信することができる。
【００１８】
ＲＡＭ３２は、各種データを格納する揮発性のメモリである。ＲＯＭ３３は、例えばフラッシュメモリなどの不揮発性メモリである。ＲＯＭ３３は、ＣＰＵ３１によって実行されるプログラムなどを記憶する。ＣＰＵ３１は、ＲＯＭ３３からプログラム読み出し、読み出したプログラムを実行して各種処理を実行する。ＲＯＭ３３に記憶されるプログラムには、ＭＣＵ１３を被検査装置として動作させるための被検査側プログラムが含まれる。
【００１９】
［ＭＣＵ（被検査装置）］
図２は、ＭＣＵ１３内に構成される要素を示す。ＭＣＵ１３は、定数取得部５１、演算課題選択部５２、演算部５４、及び演算結果送信部５５を有する。これら各要素は、例えばＣＰＵ３１が被検査側プログラムに従って動作することで実現される。
【００２０】
演算課題選択部５２は、複数の演算課題を順次に選択する。演算課題選択部５２は、例えばカウンタ５３を含んでおり、カウンタ５３のカウント値に基づいて、演算課題の選択を行う。カウンタ５３は、カウント値をカウントアップするものであっても、カウントダウンするものであってもよい。例えば、複数の演算課題のそれぞれには、演算課題を一意に識別するための番号が割り当てられている。演算課題選択部５２は、カウンタ５３を動作させ、カウント値に対応する演算課題を順次に選択する。
【００２１】
定数取得部５１は、演算課題の演算に使用する定数を電源ＩＣ１２から取得する。定数取得部５１は、通信部３４（図１を参照）を通じて、電源ＩＣ１２から定数を取得する。定数取得部５１は、例えば電源ＩＣ１２から複数の定数を取得してもよい。以下では、主に定数取得部５１が２つの値（ｍ、ｎ）を定数として取得するものとして説明する。演算課題選択部５２は、２つの定数のうちの一方、例えばｎの値に応じて、カウンタ５３のカウント値を増減させる際のステップ幅を決定してもよい。別の言い方をすると、演算課題選択部５２は、ｎの値に応じた値ずつ、カウンタ５３のカウント値を増減させてもよい。
【００２２】
演算部５４は、演算課題の演算を実施する。演算部５４は、演算課題選択部５２が選択した演算課題に従って演算を実施し、回答を作成する。演算部５４は、演算課題の演算では、定数取得部５１が取得した定数を用いて演算を行う。演算部５４は、例えばＣＰＵ３１に備わるＡＬＵ（Arithmetic Logic Unit）及びレジスタなどを用いて、ソフトウェア処理により、演算を実施する。ＣＰＵ３１は、例えば車両の制御などの所定の処理を実施しつつ、演算部５４としても機能する。演算部５４が演算課題に対して正しい回答を作成できない場合、ＣＰＵ３１が実施する所定の処理において、演算機能が正常に動作していないと判断できる。
【００２３】
演算結果送信部５５は、演算部５４が演算課題に対して作成した回答（演算結果）を電源ＩＣ１２送信する。演算課題選択部５２は、例えば所定時間間隔で周期的に演算課題の選択を行い、演算部５４は、演算課題が選択されるたびに演算課題に対する回答を作成する。演算結果送信部５５は、周期的に作成される回答を、通信部３４を通じて電源ＩＣ１２に送信する。
【００２４】
［監視回路］
図３は、監視回路２３の構成を示す。監視回路２３は、定数発生回路４１、演算回路４２、及び判定回路４３を有する。監視回路２３内の各要素は、例えば半導体装置においてハードウェア回路を用いて形成される。
【００２５】
定数発生回路（定数送信部）４１は、ＭＣＵ１３に送信する定数を生成する。定数発生回路４１は、生成した定数を、通信部２２を通じてＭＣＵ１３に送信する。定数発生回路４１は、例えば乱数発生回路（乱数発生器）を含む。定数発生回路４１は、乱数発生回路を用いて発生した乱数を、ＭＣＵ１３に、演算課題の演算において使用される定数として送信する。
【００２６】
演算回路４２は、ＭＣＵ１３で実施される演算課題と同じ演算を実施する。演算回路４２は、演算課題に含まれる演算で使用される演算器を含んでいる。定数発生回路４１がＭＣＵ１３に送信した定数を演算器に適用することで、監視回路２３側において演算課題の演算が実施される。
【００２７】
判定回路４３は、ＭＣＵ１３の演算機能が正常に動作しているか否かを判定する。判定回路４３は、通信部２２を通じてＭＣＵ１３から演算課題に対する回答（演算結果）を受信する。また、判定回路４３は、演算回路４２から、演算課題の演算を実施した結果を取得する。判定回路４３は、両者を比較し、その比較結果に基づいて、ＭＣＵ１３の演算機能が正常に動作しているか否かを判定する。判定回路４３は、両者が一致していればＭＣＵ１３の演算機能が正常に動作していると判定し、一致しなければＭＣＵ１３の演算機能が正常に動作していないと判定する。判定回路４３は、ＭＣＵ１３の演算機能が正常に動作していないと判定した場合は、例えばＭＣＵ１３にリセット信号を出力し、ＭＣＵ１３をリセットする。
【００２８】
［演算課題］
図４は、演算課題の一例を示す。図４には、番号０から番号７までの８つの演算課題が示されている。例えばカウンタ５３（図２を参照）は、３ビットのカウンタとして構成されており、演算課題選択部５２は、カウント値に一致する番号の演算課題を選択する。演算課題選択部５２は、例えば、カウント値が「３」であれば、番号３の演算課題「ｍ／ｎ」を選択する。演算部５４は、演算課題の「ｍ」、「ｎ」に、定数取得部５１が取得した定数を代入し、選択された演算課題に対する回答を作成する。
【００２９】
［動作手順］
図５は、検査システム１０における動作手順を示す。被検査装置であるＭＣＵ１３の定数取得部５１（図２を参照）は、通信部３４及び通信部２２（図１を参照）を通じて、検査装置である電源ＩＣ１２の定数発生回路４１（図３を参照）に定数を要求する（ステップＡ１）。定数発生回路４１は、例えば乱数発生回路に乱数を２つ発生させ、発生させた２つの乱数を定数ｍ、ｎとして定数取得部５１に送信する（ステップＡ２）。定数取得部５１は、定数ｍ、ｎを受信する（ステップＡ３）。ここで、ｍ≠０であるとする。また、ｎ＞０であるとする。
【００３０】
定数取得部５１が取得した定数ｍ、ｎは、演算課題の演算に使用される。また、定数ｎは、例えばカウンタ５３を増加させる際の増加値としても使用される。定数ｎをカウンタ５３の増加値として使用するのに代えて、カウンタ５３の増加値を定義する別の定数を、電源ＩＣ１２からＭＣＵ１３に送信してもよい。定数ｎを、演算課題の演算と、カウンタ５３の増加値の双方として使用する場合、電源ＩＣ１２からＭＣＵ１３に送信する情報の量を削減することができる効果がある。
【００３１】
演算課題選択部５２は、演算課題を選択（作成）する（ステップＡ４）。演算課題選択部５２は、ステップＡ４では、例えば例えばカウンタの初期値が「０」である場合、番号０の演算課題「ｍ＊ｎ」（図４を参照）を選択する。演算部５４は、定数取得部５１から定数ｍ、ｎを取得し、演算課題選択部５２から選択された演算課題を取得する。演算部５４は、選択された演算課題に定数ｍ、ｎの値を適用することで演算課題の演算を実施し、演算課題に対する回答を作成する（ステップＡ５）。演算結果送信部５５は、ステップＡ５で作成された回答を通信部３４及び通信部２２を通じて判定回路４３に送信する（ステップＡ６）。
【００３２】
演算課題選択部５２は、演算課題に対する回答が作成された後、カウンタ５３のカウント値をｎだけ増加させる（ステップＡ７）。例えば、ｎ＝２であった場合、演算課題選択部５２は、カウンタ５３のカウント値を「０」から「２」に２つ増加させる。その後処理はステップＡ４に戻り、演算課題選択部５２は、ステップＡ４において、カウント値に応じた値の演算課題を選択する。カウンタ５３のカウント値をｎずつ増加させながら演算課題の選択を繰り返し実施することで、ＭＣＵ１３は、周期的に演算課題に対する回答を作成して、作成した回答を電源ＩＣ１２に送信する。
【００３３】
判定回路４３は、ＭＣＵ１３から回答を受信する（ステップＡ８）。演算回路４２は、ＭＣＵ１３から回答が受信される前に、或いは受信された後、ステップＡ２で送信された定数ｍ、ｎを用いて、ステップＡ４で選択される演算課題の演算を実施する。ＭＣＵ１３においてどの演算課題が選択されるかは、カウンタ５３の初期値と定数ｎの値に応じて一意に定まり、電源ＩＣ１２側は、ＭＣＵ１３側においてどの演算課題が選択されるかを知ることができる。別の言い方をすると、電源ＩＣ１２側は、ステップＡ８においてどの演算課題に対する回答が受信されるかを知ることができる。ＭＣＵ１３（演算結果送信部５５）は、送信する回答に、どの演算課題に対する回答であるかを示す情報を含めてもよい。
【００３４】
判定回路４３は、ＭＣＵ１３から受信した回答と、演算回路４２の演算結果とを比較し、ＭＣＵ１３の演算機能が正常であるか否かを判定する（ステップＡ９）。ステップＡ９においてＭＣＵ１３の演算機能が正常であると判定された場合、処理はステップＡ８に戻り、判定回路４３は、次の回答が受信されるまで待機する。
【００３５】
判定回路４３は、ステップＡ９でＭＣＵ１３の演算機能が正常ではないと判定すると、異常時の制御を行う（ステップＡ１０）。判定回路４３は、ステップＡ１０では、ＭＣＵ１３にリセット信号を送信し、ＭＣＵ１３をリセットする。判定回路４３は、図示しないランプやブザーなどの報知手段などを用いて、車両の乗員などにエラーが発生した旨を通知してもよい。
【００３６】
［動作例］
次いで、動作例を用いて本実施形態における動作を説明する。図６は、検査システムにおける動作例を示す。被検査側であるＭＣＵ１３は、検査に先立って、定数ｍ、ｎを検査側である電源ＩＣ１２に要求する。電源ＩＣ１２は、定数ｍ、ｎの値を決定し、ＭＣＵ１３に通知する。ここでは、ｎ＝２であったとする。ＭＣＵ１３は、初回の検査では、番号０の演算課題を選択し、定数ｍ、ｎを用いて番号０の演算課題に対する回答を作成する。電源ＩＣ１２は、演算回路４２を用いて、定数ｍ、ｎに対して番号０の演算課題の演算を実施する。電源ＩＣ１２は、ＭＣＵ１３から受信した回答と、演算回路４２の演算結果とを比較し、ＭＣＵ１３の演算機能が正常か否かを判定する。
【００３７】
ＭＣＵ１３において、演算課題選択部５２は、ｎ＝２であった場合は、次に番号２の演算課題を選択する。ＭＣＵ１３は、２回目の検査では、定数ｍ、ｎを用いて番号２の演算課題に対する回答を作成する。電源ＩＣ１２は、演算回路４２を用いて、定数ｍ、ｎに対して番号２の演算課題の演算を実施する。電源ＩＣ１２は、ＭＣＵ１３から受信した回答と、演算回路４２の演算結果とを比較し、ＭＣＵ１３の演算機能が正常か否かを判定する。
【００３８】
以下同様に、ＭＣＵ１３は、選択する演算課題の番号を２つずつ変化させながら、演算課題に対する回答を電源ＩＣ１２に送信する。電源ＩＣ１２は、ＭＣＵ１３から回答を受信するたびに、ＭＣＵ１３の演算機能が正常であるか否かを判定する。電源ＩＣ１２は、前回の回答の受信から所定時間が経過しても次の回答が受信されない場合も、ＭＣＵ１３の動作が正常ではないと判定して、ＭＣＵ１３をリセットとしてもよい。ＭＣＵ１３は、カウンタ５３がオーバフローした場合は、カウンタ５３を初期状態に戻し、番号０の演算課題から選択していけばよい。
【００３９】
ＭＣＵ１３は、任意のタイミングで電源ＩＣ１２に新たな定数の送信を要求してもよい。電源ＩＣ１２は、新たな定数の送信が要求された場合は、新たな定数の値を決定し、決定した値をＭＣＵ１３に通知する。ＭＣＵ１３は、新たな定数を受信すると、新たに受信した定数を用いて演算課題に対する回答を作成し、電源ＩＣ１２に送信する。
【００４０】
［まとめ］
本実施形態では、ＭＣＵ１３は、電源ＩＣ１２から定数を受信する。ＭＣＵ１３は、演算課題に対する回答の作成において、電源ＩＣ１２から受信した定数を変数として使用する。また、ＭＣＵ１３は、電源ＩＣ１２から受信した定数に応じた増加幅でカウンタ５３のカウント値を増加させる。この場合、ＭＣＵ１３は、順次に選択する演算課題に対して正しい回答を作成するためには、回答の作成ごとに毎回演算を行う必要がある。従って、電源ＩＣ１２は、ＭＣＵ１３の演算機能が正常であるか否かを判定することができる。
【００４１】
また、本実施形態では、初回の通信で定数がＭＣＵ１３に通知された後、ＭＣＵ１３は、演算課題に対する回答のみを電源ＩＣ１２に送信すればよい。一般的なＱ（Question）＆Ａ（Answer）方式では、検査側から被検査側に毎回演算課題（その変数）を通知する必要がある。これに対し、本実施形態では、複数回の演算課題の回答に対して、定数の送信は１回で済むため、通信負荷を抑制しつつ、ＭＣＵ１３の演算機能が正常であるか否かの判定が可能である。
【００４２】
［実施形態２］
次いで、実施形態２を説明する。本実施形態に係る検査システムの構成は、図１に示す検査システム１０の構成と同様でよい。本実施形態では、電源ＩＣ１２は、演算課題の選択の繰り返し回数をＭＣＵ１３に通知する。ＭＣＵ１３の定数取得部５１（図２を参照）は、演算課題選択部５２が電源ＩＣ１２から通知された回数だけ演算課題の選択を繰り返し実施すると、新たな定数の取得を電源ＩＣ１２に要求する。
【００４３】
また、本実施形態では、電源ＩＣ１２は、カウンタ５３のカウント値の増減の方向を示す情報をＭＣＵ１３に送信する。ＭＣＵ１３において、演算課題選択部５２は、電源ＩＣ１２から受信した増減の方向を示す情報に応じてカウンタ５３のカウント値を増減させ、演算課題の選択を行う。その他の点は、実施形態１と同様でよい。
【００４４】
［動作手順］
図７は、実施形態２に係る検査システム１０における動作手順を示す。被検査装置であるＭＣＵ１３の定数取得部５１（図２を参照）は、通信部３４及び通信部２２（図１を参照）を通じて、検査装置である電源ＩＣ１２の定数発生回路４１（図３を参照）に定数、繰り返し回数、及びカウンタの昇降の方向を要求する（ステップＢ１）。定数発生回路４１は、例えば乱数発生回路に乱数を２つ発生させる。また、定数発生回路４１は、繰り返し回数を決定し、かつ、カウンタ５３をカウントアップさせるのか、又はカウントダウンさせるのかを決定する。定数発生回路４１は、発生させた２つの乱数を定数ｍ、ｎとして定数取得部５１に送信する（ステップＢ２）。また、定数発生回路４１は、繰り返し回数、及びカウンタ５３の昇降の方向を定数取得部５１に送信（通知）する。
【００４５】
定数取得部５１は、定数ｍ、ｎ、繰り返し回数、及びカウンタ５３の昇降の方向を示す情報を受信する（ステップＢ３）。本実施形態においても、定数取得部５１が取得した定数ｍ、ｎは演算課題の演算に使用され、定数ｎは、カウンタ５３のカウント値の変化幅にも使用される。カウンタ５３の昇降の方向を示す情報は、例えばフラグとして構成されており、フラグのセットの有無に応じて、カウンタ５３がカウントアップ動作するのか、或いはカウントダウン動作するのかが指定される。
【００４６】
演算課題選択部５２は、演算課題を選択（作成）する（ステップＢ４）。演算部５４は、定数取得部５１から定数ｍ、ｎを取得し、演算課題選択部５２から選択された演算課題を取得する。演算部５４は、選択された演算課題に定数ｍ、ｎの値を適用することで演算課題の演算を実施し、演算課題に対する回答を作成する（ステップＢ５）。演算結果送信部５５は、ステップＢ５で作成された回答を通信部３４及び通信部２２を通じて判定回路４３に送信する（ステップＢ６）。ステップＢ４からステップＢ６は、図５のステップＡ４からステップＡ６と同様でよい。
【００４７】
演算課題選択部５２は、演算課題に対する回答が作成された後、カウンタ５３のカウント値をｎだけ増加、又は減少させる（ステップＢ７）。演算課題選択部５２は、例えばｎ＝２、かつ上記した昇降の方向がプラス（カウントアップ）を示す場合、カウンタ５３のカウント値を例えば初期値「０」から「２」に増加させる。一方、演算課題選択部５２は、ｎ＝２、かつ上記した昇降の方向がマイナス（カウントダウン）を示す場合、カウンタ５３のカウント値を例えば初期値「７」から「５」に減少させる。本実施形態では、電源ＩＣ１２は、カウンタ５３のカウント値の変化幅に加えて、カウンタ５３の動作の方向も制御することができる。このようにすることで、演算課題の選択順の制御を、実施形態１に比べて複雑にできる。
【００４８】
演算課題選択部５２は、演算課題の選択の繰り返し回数が、ステップＢ３で受信した回数に到達したか否かを判断する（ステップＢ８）。演算課題選択部５２は、例えばカウンタ５３がオーバフローすると、又はそのカウント値が０以下になると、演算課題の選択の繰り返し回数を１つ加算する。演算課題選択部５２は、ステップＢ８で繰り返し回数が所定回数に到達していないと判断した場合は、ステップＢ４に戻り、ｎだけ増減させたカウント値に応じた値の演算課題を選択する。
【００４９】
ステップＢ８において演算課題の選択の繰り返し回数が所定回数に到達したと判断されると、処理はステップＢ１に戻り、定数取得部５１は、新たな定数、繰り返し回数、及びカウンタの昇降の方向を要求する。以後、新たに取得された定数、繰り返し回数、及びカウンタの昇降の方向で、演算課題の選択及び演算課題に対する回答の作成が行われる。
【００５０】
判定回路４３は、ＭＣＵ１３から回答を受信する（ステップＢ９）。演算回路４２は、ＭＣＵ１３から回答が受信される前に、或いは受信された後、ステップＢ２で送信された定数ｍ、ｎを用いて、ステップＢ４で選択される演算課題の演算を実施する。判定回路４３は、ＭＣＵ１３から受信した回答と、演算回路４２の演算結果とを比較し、ＭＣＵ１３の演算機能が正常であるか否かを判定する（ステップＢ１０）。ステップＢ１０においてＭＣＵ１３の演算機能が正常であると判定された場合、処理はステップＢ９に戻り、判定回路４３は、次の回答が受信されるまで待機する。判定回路４３は、ステップＢ１０でＭＣＵ１３の演算機能が正常ではないと判定すると、異常時の制御を行う（ステップＢ１１）。ステップＢ９からステップＢ１１は、図５のステップＡ８からステップＡ１０と同様でよい。
【００５１】
［動作例］
続いて、動作例を用いて本実施形態における動作を説明する。図８は、検査システム１０における動作例を示す。被検査側であるＭＣＵ１３は、検査に先立って、定数ｍ、ｎと、繰り返し回数と、カウンタ５３の昇降の方向とを検査側である電源ＩＣ１２に要求する。電源ＩＣ１２は、定数ｍ、ｎの値、繰り返し回数と、カウンタ５３の昇降の方向とを決定し、ＭＣＵ１３に通知する。ここでは、ｎの値は「２」、繰り返し回数は２回、かつ昇降の方向はプラスであったとする。
【００５２】
ＭＣＵ１３は、繰り返し回数「１」の初回の検査では、番号０の演算課題を選択し、定数ｍ、ｎを用いて番号０の演算課題に対する回答を作成する。電源ＩＣ１２は、演算回路４２を用いて、定数ｍ、ｎに対して番号０の演算課題の演算を実施する。電源ＩＣ１２は、ＭＣＵ１３から受信した回答と、演算回路４２の演算結果とを比較し、ＭＣＵ１３の演算機能が正常か否かを判定する。
【００５３】
次いで、演算課題選択部５２は番号２の演算課題を選択し、ＭＣＵ１３は番号２の演算課題に対する回答を作成する。電源ＩＣ１２は、ＭＣＵ１３から受信した回答と、演算回路４２の演算結果とを比較し、ＭＣＵ１３の演算機能が正常か否かを判定する。以下同様に、ＭＣＵ１３は番号４及び番号６演算課題に対する回答を作成し、電源ＩＣ１２はＭＣＵ１３の演算機能が正常であるか否かを判定する。
【００５４】
番号６の演算課題が選択された後、カウンタ５３が２つカウントアップされると、カウンタ５３はオーバフローする。この場合、演算課題選択部５２は、繰り返し回数１が終了したと判断する。演算課題選択部５２は、繰り返し回数「２」においても、繰り返し回数１と同様に番号０、２、４、及び６の演算課題を順次に選択し、ＭＣＵ１３は、選択された演算課題に対する回答を電源ＩＣ１２に送信する。電源ＩＣ１２は、受信した回答に基づいて、ＭＣＵ１３の演算機能が正常であるか否かを判断する。ただし、繰り返し回数「２」では、ＭＣＵ１３は、電源ＩＣ１２から新たな定数などは受信しない。演算課題選択部５２は、繰り返し回数「１」の場合と同じ定数ｍ、ｎを用い、同じ増加幅でカウンタ５３を動作させつつ、演算課題を選択する。
【００５５】
繰り返し回数「２」において、番号６の演算課題が選択された後、カウンタ５３が２つカウントアップされると、カウンタ５３はオーバフローする。この場合、演算課題選択部５２は、繰り返し回数が所定回数に到達したと判断する。その場合、ＭＣＵ１３は、電源ＩＣ１２に、新たな定数ｍ、ｎと、繰り返し回数と、カウンタ５３の昇降の方向とを要求する。電源ＩＣ１２は、再度、定数ｍ、ｎと、繰り返し回数と、カウンタ５３の昇降の方向とを決定し、ＭＣＵ１３に通知する。演算課題選択部５２は、新たな定数ｍ、ｎを用い、新たな増加幅及び昇降の方向でカウンタ５３を動作させつつ、演算課題を選択する。
【００５６】
例えば、演算課題選択部５２は、番号０、ｎ、２ｎ、及び３ｎの演算課題を順次に選択する。ＭＣＵ１３は、選択された演算課題に対する回答を電源ＩＣ１２に送信する。電源ＩＣ１２は、受信した回答に基づいて、ＭＣＵ１３の演算機能が正常であるか否かを判断する。演算課題の選択の繰り返し回数が通知された回数まで到達した場合、ＭＣＵ１３は、電源ＩＣ１２に、新たな定数ｍ、ｎと、繰り返し回数と、カウンタ５３の昇降の方向とを要求する。
【００５７】
［まとめ］
本実施形態では、ＭＣＵ１３は、所定の繰り返し回数ごとに電源ＩＣ１２から定数ｍ、ｎなどを取得し、演算課題の選択及び回答の作成を行う。実施形態１では、新たな定数が要求されるまで、ＭＣＵ１３において同じ演算課題の演算が繰り返されるため、演算結果がキャッシュされた場合に、キャッシュから取得された演算結果が電源ＩＣ１２に送信される可能性がある。本実施形態では、所定の繰り返し回数後に新たな定数などが取得されるため、演算課題に対する回答が変化する。この場合、ＭＣＵ１３は演算課題に対する回答を作成するために演算を行う必要があり、ＭＣＵ１３の演算機能の検査精度を高めることが可能である。
【００５８】
また、本実施形態では、電源ＩＣ１２が繰り返し回数をＭＣＵ１３に通知する。この場合、電源ＩＣ１２は、繰り返し回数を変化させることで、演算機能の検査精度を制御することが可能である。例えば、電源ＩＣ１２が繰り返し回数を少ない回数に設定した場合、ＭＣＵ１３は新たな定数を頻繁に電源ＩＣ１２に要求することとなる。ＭＣＵ１３において、頻繁に変更される定数を用いて演算課題の演算が実施されることで、ＭＣＵ１３の演算機能を高い検査精度で検査することが可能である。一方、演算機能の検査精度が比較的低くてかまわない場合、電源ＩＣ１２は、繰り返し回数を多くする。その場合、ＭＣＵ１３が新たな定数を電源ＩＣ１２に要求する頻度は低下し、電源ＩＣ１２とＭＣＵ１３との間の通信が抑制される。電源ＩＣ１２は、例えば、ＭＣＵ１３が実施する他の処理の処理状況に応じて定数の取得頻度を変更することができ、処理状況に応じた検査精度でＭＣＵ１３の演算機能の検査を実施できる。
【００５９】
［実施形態３］
引き続き、実施形態３を説明する。本実施形態に係る検査システムの構成も、図１に示される実施形態１に係る検査システム１０と同様でよい。本実施形態では、演算課題選択部５２（図２を参照）は、ＣＰＵ３１で実施される処理に応じて、演算課題の選択において、その選択の対象とする演算課題を決定する。その他の点は、実施形態１又は実施形態２と同様でよい。
【００６０】
例えば、ＣＰＵ３１にてある処理を実施する期間では、特定の種類の演算が正しく実施されること重要である場合がある。また、ＣＰＵ３１にて別の処理が実施される期間では、別の特定の種類の演算が正しく実施されることが重要である場合がある。本実施形態は、ＣＰＵ３１にて実施される処理に応じて、演算課題選択部５２が選択の対象とする演算課題を変化させることを可能とする。このようにすることで、例えば、ＣＰＵ３１にある処理が実施されている場合に、その処理に重要な演算が正しく実施できるか否かを検査することが可能となる。
【００６１】
［テーブル］
図９は、本実施形態において選択の対象とする演算課題の決定に用いることができるテーブルを示す。ＭＣＵ１３は、例えばＲＯＭ３３に、プロセッサで実施される処理と、その処理の実行時に演算課題選択部５２が選択の対象とする演算課題とを対応付けたテーブルを記憶している。ここでは、演算課題の全体集合は、図４に示される番号０から番号７までの８つの演算課題を含むものとする。
【００６２】
図９では、処理Ａと、番号０、１、及び３とが対応付けてテーブルに記憶されており。また、処理Ｂと、番号１、２、３、及び５とが対応付けてテーブルに記憶されている。この場合、演算課題選択部５２は、ＣＰＵ３１で処理Ａが実施されている場合は、番号０、１、及び３の演算課題を順次に選択し、演算部５４にこれら演算課題の演算を実施させる。また、演算課題選択部５２は、ＣＰＵ３１で処理Ｂが実施されている場合は、番号１、２、４、及び５の演算課題を順次に選択し、演算部５４にこれら演算課題の演算を実施させる。演算課題選択部５２は、ＣＰＵ３１がテーブルに存在しない処理を実施している場合は、図４に示される８つの演算課題の中から、実施形態１又は実施形態２で説明したものと同様な手法で、演算課題の選択を行ってもよい。
【００６３】
［動作手順］
図１０は、本実施形態に係る検査システム１０における動作手順を示す。被検査装置であるＭＣＵ１３の演算課題選択部５２は、ＣＰＵ３１（図１を参照）において実施されている処理に応じて、選択対象の演算課題を決定する（ステップＣ１）。演算課題選択部５２は、ステップＣ１では、例えばＣＰＵ３１が既に実施している、又はこれら実施する処理と、上記テーブルとに基づいて、選択対象の演算課題を決定する。より詳細には、演算課題選択部５２は、例えばＣＰＵ３１で実施される処理を識別し、図９に示されるテーブルを参照して、実施される処理に対応して記憶されている番号の演算課題を、選択対象の演算課題として決定する。
【００６４】
演算課題選択部５２は、ステップＣ１において、決定した選択対象の演算課題を識別する情報を、検査装置である電源ＩＣ１２に送信（通知）する。演算課題選択部５２は、例えば処理Ａが実施される場合は、番号０、１、及び３の演算課題が、演算課題の選択において選択される旨を電源ＩＣ１２に通知する。演算課題選択部５２は、例えば、選択対象として決定した演算課題の番号に対応するビットに所定の値をセットしたデータを、選択対象の演算課題を識別する情報として送信してもよい。具体的には、演算課題が全部で８つある場合、８ビットのデータの各ビットを番号０から番号７に対応付け、選択対象とする演算課題の番号に対応するビットに「１」をセットしたデータを、選択対象の演算課題を識別する情報として送信してもよい。
【００６５】
ＭＣＵ１３の定数取得部５１は、通信部３４及び通信部２２（図１を参照）を通じて、電源ＩＣ１２の定数発生回路４１（図３を参照）に定数を要求する（ステップＣ２）。定数発生回路４１は、例えば乱数発生回路に乱数を２つ発生させ、発生させた２つの乱数を定数ｍ、ｎとして定数取得部５１に送信する（ステップＣ３）。定数取得部５１は、定数ｍ、ｎを受信する（ステップＣ４）。ステップＣ２からステップＣ４は、図５のステップＡ１からステップＡ３と同様でよい。
【００６６】
演算課題選択部５２は、演算課題を選択（作成）する（ステップＣ５）。演算課題選択部５２は、ステップＣ５では、ステップＣ１で決定した選択対象の演算課題の中から、演算課題を順次に選択する。演算部５４は、定数取得部５１から定数ｍ、ｎを取得し、演算課題選択部５２から選択された演算課題を取得する。演算部５４は、選択された演算課題に定数ｍ、ｎの値を適用することで演算課題の演算を実施し、演算課題に対する回答を作成する（ステップＣ６）。演算結果送信部５５は、ステップＣ６で作成された回答を通信部３４及び通信部２２を通じて判定回路４３に送信する（ステップＣ７）。ステップＣ６及びステップＣ７は、図５のステップＡ５及びステップＡ６と同様でよい。
【００６７】
演算課題に対する回答が作成された後、処理はステップＣ５に戻り、演算課題選択部５２は、選択対象の演算課題の中から、次の演算課題を選択する。演算課題選択部５２は、ステップＣ５では、選択対象の演算課題から未選択の演算課題を順次に１つずつ選択していく。演算課題選択部５２は、未選択の演算課題がなくなった場合、最初に戻り、選択対象の演算課題から順次に１つずつ演算課題を選択する。ＭＣＵ１３は、選択対象の演算課題に対する回答を順次に作成し、作成した回答を電源ＩＣ１２に順次に送信する。
【００６８】
判定回路４３は、ＭＣＵ１３から回答を受信する（ステップＣ８）。演算回路４２は、ＭＣＵ１３から回答が受信される前に、或いは回答が受信された後、ステップＣ３で送信された定数ｍ、ｎを用いて、ステップＣ５で選択される演算課題の演算を実施する。ＭＣＵ１３においてどの演算課題が選択対象であるかは、ステップＣ１で通知されており、電源ＩＣ１２側は、ＭＣＵ１３側においてどの演算課題が選択されるかを知ることができる。判定回路４３は、ＭＣＵ１３から受信した回答と、演算回路４２の演算結果とを比較し、ＭＣＵ１３の演算機能が正常であるか否かを判定する（ステップＣ９）。ステップＣ９においてＭＣＵ１３の演算機能が正常であると判定された場合、処理はステップＣ８に戻り、判定回路４３は、次の回答が受信されるまで待機する。
【００６９】
判定回路４３は、ステップＣ９でＭＣＵ１３の演算機能が正常ではないと判定すると、異常時の制御を行う（ステップＣ１０）。判定回路４３は、ステップＣ１０では、ＭＣＵ１３にリセット信号を送信し、ＭＣＵ１３をリセットする。ステップＣ８からステップＣ１０は、図５のステップＡ８からステップＡ１０と同様でよい。本実施形態においても、実施形態２と同様に、電源ＩＣ１２が繰り返し回数を通知し、ＭＣＵ１３が繰り返し回数ごとに新たな定数を要求することとしてもよい。
【００７０】
［動作例］
続いて、動作例を用いて本実施形態における動作を説明する。図１１は、処理Ａが実施される期間における検査システム１０の動作例を示す。ＣＰＵ３１において処理Ａが実施される場合、演算課題選択部５２は、図９に示すテーブルを参照して、番号０、１、及び３の演算課題を選択対象として決定する。被検査側であるＭＣＵ１３は、検査に先立って、定数ｍ、ｎを検査側である電源ＩＣ１２に要求する。また、ＭＣＵ１３は、以降の検査において選択対象の演算課題が番号０、１、及び３の演算課題である旨を電源ＩＣ１２に通知する。電源ＩＣ１２は、定数ｍ、ｎの値を決定し、ＭＣＵ１３に通知する。
【００７１】
ＭＣＵ１３は、初回の検査では、番号０の演算課題を選択し、定数ｍ、ｎを用いて番号０の演算課題に対する回答を作成する。電源ＩＣ１２は、演算回路４２を用いて、定数ｍ、ｎに対して番号０の演算課題の演算を実施する。電源ＩＣ１２は、ＭＣＵ１３から受信した回答と、演算回路４２の演算結果とを比較し、ＭＣＵ１３の演算機能が正常か否かを判定する。
【００７２】
演算課題選択部５２は、次に番号１の演算課題を選択する。ＭＣＵ１３は、２回目の検査では、定数ｍ、ｎを用いて番号１の演算課題に対する回答を作成する。電源ＩＣ１２は、演算回路４２を用いて、定数ｍ、ｎに対して番号１の演算課題の演算を実施する。電源ＩＣ１２は、ＭＣＵ１３から受信した回答と、演算回路４２の演算結果とを比較し、ＭＣＵ１３の演算機能が正常か否かを判定する。
【００７３】
演算課題選択部５２は、次に番号３の演算課題を選択する。ＭＣＵ１３は、３回目の検査では、定数ｍ、ｎを用いて番号３の演算課題に対する回答を作成する。電源ＩＣ１２は、演算回路４２を用いて、定数ｍ、ｎに対して番号３の演算課題の演算を実施する。電源ＩＣ１２は、ＭＣＵ１３から受信した回答と、演算回路４２の演算結果とを比較し、ＭＣＵ１３の演算機能が正常か否かを判定する。
【００７４】
以下同様に、演算課題選択部５２は、番号０、１、及び３の演算課題を順次に選択する。ＭＣＵ１３は、選択された演算課題に対する回答を電源ＩＣ１２に送信する。ＭＣＵ１３は、処理Ａの実施期間では、選択対象とされた番号０、１、及び３の演算課題の演算を繰り返し実施し、他の番号の演算課題の演算は実施しない。電源ＩＣ１２は、ＭＣＵ１３から回答を受信するたびに、ＭＣＵ１３の演算機能が正常であるか否かを判定する。ＭＣＵ１３は、任意のタイミングで電源ＩＣ１２に新たな定数の送信を要求してもよい。
【００７５】
図１１は、処理Ｂが実施される期間における検査システム１０の動作例を示す。ＣＰＵ３１において処理Ｂが実施される場合、演算課題選択部５２は、図９に示すテーブルを参照して、番号１、２、４、及び５の演算課題を選択対象として決定する。被検査側であるＭＣＵ１３は、検査に先立って、定数ｍ、ｎを検査側である電源ＩＣ１２に要求する。また、ＭＣＵ１３は、以降の検査において選択対象の演算課題が番号１、２、４、及び５の演算課題である旨を電源ＩＣ１２に通知する。電源ＩＣ１２は、定数ｍ、ｎの値を決定し、ＭＣＵ１３に通知する。
【００７６】
ＭＣＵ１３は、初回の検査では、番号１の演算課題を選択し、定数ｍ、ｎを用いて番号０の演算課題に対する回答を作成する。電源ＩＣ１２は、演算回路４２を用いて、定数ｍ、ｎに対して番号１の演算課題の演算を実施する。電源ＩＣ１２は、ＭＣＵ１３から受信した回答と、演算回路４２の演算結果とを比較し、ＭＣＵ１３の演算機能が正常か否かを判定する。
【００７７】
演算課題選択部５２は、次に番号２の演算課題を選択する。ＭＣＵ１３は、２回目の検査では、定数ｍ、ｎを用いて番号２の演算課題に対する回答を作成する。電源ＩＣ１２は、演算回路４２を用いて、定数ｍ、ｎに対して番号１の演算課題の演算を実施する。電源ＩＣ１２は、ＭＣＵ１３から受信した回答と、演算回路４２の演算結果とを比較し、ＭＣＵ１３の演算機能が正常か否かを判定する。
【００７８】
演算課題選択部５２は、次いで番号４の演算課題を選択する。ＭＣＵ１３は、３回目の検査では、定数ｍ、ｎを用いて番号４の演算課題に対する回答を作成する。電源ＩＣ１２は、演算回路４２を用いて、定数ｍ、ｎに対して番号４の演算課題の演算を実施する。電源ＩＣ１２は、ＭＣＵ１３から受信した回答と、演算回路４２の演算結果とを比較し、ＭＣＵ１３の演算機能が正常か否かを判定する。
【００７９】
演算課題選択部５２は、続いて番号５の演算課題を選択する。ＭＣＵ１３は、４回目の検査では、定数ｍ、ｎを用いて番号５の演算課題に対する回答を作成する。電源ＩＣ１２は、演算回路４２を用いて、定数ｍ、ｎに対して番号５の演算課題の演算を実施する。電源ＩＣ１２は、ＭＣＵ１３から受信した回答と、演算回路４２の演算結果とを比較し、ＭＣＵ１３の演算機能が正常か否かを判定する。
【００８０】
以下同様に、演算課題選択部５２は、番号１、２、４、及び５の演算課題を順次に選択する。ＭＣＵ１３は、選択された演算課題に対する回答を電源ＩＣ１２に送信する。ＭＣＵ１３は、処理Ｂの実施期間では、選択対象とされた番号１、２、４、及び５の演算課題の演算を繰り返し実施し、他の番号の演算課題の演算は実施しない。電源ＩＣ１２は、ＭＣＵ１３から回答を受信するたびに、ＭＣＵ１３の演算機能が正常であるか否かを判定する。ＭＣＵ１３は、任意のタイミングで電源ＩＣ１２に新たな定数の送信を要求してもよい。
【００８１】
［まとめ］
本実施形態では、演算課題選択部５２は、ＣＰＵ３１で実施される他の処理に応じて、ＭＣＵ１３の演算機能の検査の際に演算課題として選択される演算課題を決定する。例えば、実施される処理に重要な演算が含まれる演算課題を選択対象とすることで、電源ＩＣ１２は、ＭＣＵ１３がその重要な演算を正しく実施できるか否かを検査することができる。また、実施される処理に不要な演算が含まれる演算課題を選択対象から除外することで、不必要な演算については検査の対象としないことができ、効率的な演算機能の検査が可能となる。
【００８２】
［変形例］
なお、上記実施形態では、電源ＩＣ１２が検査装置であり、ＭＣＵ１３が被検査装置である例を説明したが、これには限定されない。検査装置の機能が搭載される半導体装置は、特に限定されず、電源ＩＣ以外のＩＣに検査装置の機能が搭載されることとしてもよい。あるいは、検査装置の機能は、何らかの機能を有するＩＣに搭載される必要はなく、検査装置の機能自体がＩＣ化されていてもよい。また、披検査装置は、演算機能を有するものであればよく、特にＭＣＵにのみ限定されるものではない。
【００８３】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は既に述べた実施の形態に限定されるものではなく、その要旨を逸脱しない範囲において種々の変更が可能であることはいうまでもない。
【００８４】
例えば、上記の実施形態の一部又は全部は、以下の付記のようにも記載され得るが、以下には限られない。
【００８５】
［付記１］
互いに通信が可能な被検査装置及び検査装置を備え、
前記被検査装置は、
複数の演算課題を順次に選択する演算課題選択部と、
前記演算課題の演算に使用する定数を前記検査装置から取得する定数取得部と、
前記演算課題選択部が選択した演算課題に従って、前記定数を使用した演算を実施する演算部と、
前記演算部の演算結果を前記検査装置に送信する演算結果送信部とを有し、
前記検査装置は、
前記被検査装置に前記定数に送信する定数送信部と、
前記演算課題の演算を実施する演算回路と、
前記被検査装置から前記演算結果を受信し、該受信した演算結果と、前記定数送信部が送信した定数に基づいて前記演算回路に演算を実施させ結果とを比較し、該比較の結果に基づいて、前記被検査装置の演算機能が正常に動作しているか否かを判定する判定部とを有する検査システム。
【００８６】
［付記２］
前記演算課題選択部は、カウンタを含み、該カウンタのカウント値に基づいて演算課題を選択する付記１に記載の検査システム。
【００８７】
［付記３］
前記定数は、第１の定数及び第２の定数を含み、前記演算課題選択部は、前記第２の定数の値に応じた値ずつ前記カウント値を増減する付記２に記載の検査システム。
【００８８】
［付記４］
前記定数送信部は、前記カウント値の増減の方向を示す情報を前記被検査装置に更に送信する付記２に記載の検査システム。
【００８９】
［付記５］
前記定数取得部は、前記演算課題選択部が所定回数だけ前記演算課題の選択を繰り返し実施すると、新たな定数を前記検査装置から取得する付記２に記載の検査システム。
【００９０】
［付記６］
前記演算課題選択部は、前記カウンタがオーバフローすると、又は前記カウント値が０以下になると、前記演算課題の選択の繰り返し回数を１つ加算する付記５に記載の検査システム。
【００９１】
［付記７］
前記被検査装置は、前記検査装置に前記演算課題の選択の繰り返し回数を通知する付記５に記載の検査システム。
【００９２】
［付記８］
前記被検査装置は、プロセッサを有するマイクロプロセッサユニットを含む付記１に記載の検査システム。
【００９３】
［付記９］
前記プロセッサは、所定の処理を実施しつつ、前記演算部としても機能する付記９に記載の検査システム。
【００９４】
［付記１０］
前記演算課題選択部は、前記プロセッサで実施される処理に応じて、前記演算課題の選択において、該選択の対象とする演算課題を決定する付記９に記載の検査システム。
【００９５】
［付記１１］
前記被検査装置は、前記プロセッサで実施される処理と、前記選択の対象とする演算課題とを対応付けて記憶するテーブルを更に有し、
前記演算課題選択部は、前記プロセッサが実施する処理と前記テーブルとに基づいて、前記選択の対象とする演算課題を決定する付記１０に記載の検査システム。
【００９６】
［付記１２］
前記被検査装置は、前記演算課題選択部が選択の対象とする演算課題を識別する情報を前記検査装置に通知する付記１１に記載の検査システム。
【００９７】
［付記１３］
前記複数の演算課題のそれぞれには番号が割り当てられており、前記被検査装置は、前記演算課題選択部が前記選択の対象とする演算課題の番号に対応するビットに所定の値をセットしたデータを、前記演算課題選択部が前記選択の対象とする演算課題を識別する情報として前記検査装置に送信する付記１２に記載の検査システム。
【００９８】
［付記１４］
前記定数送信部が乱数発生回路を含み、該乱数発生回路が発生した乱数を前記被検査装置に前記定数として送信する付記１に記載の検査システム。
【００９９】
［付記１５］
演算機能を有する被検査装置と通信する通信部と、
前記被検査装置が複数の演算課題から順次に選択された演算課題に従って演算を実施する際に使用される定数を前記被検査装置に送信する定数送信部と、
前記演算課題の演算を実施する演算回路と、
前記被検査装置から、前記演算課題に従って前記定数を使用した演算を実施した結果を受信し、該受信した演算結果と、前記定数送信部が送信した定数に基づいて前記演算回路に演算を実施させ結果とを比較し、該比較の結果に基づいて、前記被検査装置の演算機能が正常に動作しているか否かを判定する判定部とを有する検査装置。
【０１００】
［付記１６］
演算機能を有する被検査装置の検査を行う検査回路と、
前記被検査装置と通信する通信部と、
前記被検査装置に電源を供給する電源回路とを備え、
前記検査回路は、
前記被検査装置が複数の演算課題から順次に選択された演算課題に従って演算を実施する際に使用される定数を前記被検査装置に送信する定数送信部と、
前記被検査装置から、前記演算課題に従って前記定数を使用した演算を実施した結果を受信し、該受信した演算結果と、前記定数送信部が送信した定数に基づいて前記演算回路に演算を実施させ結果とを比較し、該比較の結果に基づいて、前記被検査装置の演算機能が正常に動作しているか否かを判定する判定部とを有する半導体装置。
【０１０１】
［付記１７］
検査装置と通信を行う通信部と、
複数の演算課題を順次に選択する演算課題選択部と、
前記演算課題の演算に使用する定数を前記検査装置から取得する定数取得部と、
前記演算課題選択部が選択した演算課題に従って、前記定数を使用した演算を実施する演算部と、
前記演算部の演算結果を前記検査装置に送信する演算結果送信部とを備える半導体装置。
【０１０２】
［付記１８］
プロセッサと、メモリとを有し、
前記プロセッサは、前記メモリに記憶されたプログラムを読み出して実行することで、
演算に使用する定数を、前記プロセッサの動作を検査する検査装置から取得し、
複数の演算課題を順次に選択し、
前記選択した演算課題に従って前記定数を使用した演算を実施し、該演算の結果を前記検査装置に送信する半導体装置。
【０１０３】
［付記１９］
演算機能を有する被検査装置を検査する演算機能検査方法であって、
演算に使用する定数を前記被検査装置に送信し、
前記被検査装置から、複数の演算課題から順次に選択された演算課題に従って前記定数を使用して実施された演算の結果を受信し、
演算回路において前記送信した定数に基づいて前記演算課題の演算を実施し、
前記被検査装置から受信した演算の結果と、前記演算回路の演算結果とを比較し、
前記比較の結果に基づいて、前記被検査装置の演算機能が正常に動作しているか否かを判定する演算機能検査方法。
【０１０４】
［付記２０］
演算機能を有する被検査装置の動作方法であって、
演算に使用する定数を、前記被検査装置の動作を検査する検査装置から取得し、
複数の演算課題を順次に選択し、
前記選択した演算課題に従って前記定数を使用した演算を実施し、
前記演算の結果を前記検査装置に送信する動作方法。
【符号の説明】
【０１０５】
１０：検査システム
１２：電源ＩＣ
１３：ＭＣＵ
２１：電圧生成回路
２２：通信部
２３：監視回路
３１：ＣＰＵ
３２：ＲＡＭ
３３：ＲＯＭ
３４：通信部
４１：定数発生回路
４２：演算回路
４３：判定回路
５１：定数取得部
５２：演算課題選択部
５３：カウンタ
５４：演算部
５５：演算結果送信部
【図１】
2018180999.tif 000003
【図２】
2018180999.tif 000004
【図３】
2018180999.tif 000005
【図４】
2018180999.tif 000006
【図５】
2018180999.tif 000007
【図６】
2018180999.tif 000008
【図７】
2018180999.tif 000009
【図８】
2018180999.tif 000010
【図９】
2018180999.tif 000011
【図１０】
2018180999.tif 000012
【図１１】
2018180999.tif 000013
【図１２】
2018180999.tif 000014