(57)【要約】【課題】外部からプログラマブルロジックに対して、変更すべき回路を指定することなく、電気機器自身が自らの判断で、プログラマブルロジックの回路構成を変更できるようにする。【解決手段】マイコン４は、外部インタフェース３から入力された指令により実行した処理を処理内容で分類し、処理内容毎にその実行回数や処理時間などを累積しておき、定期的に処理内容毎に累積された実行回数や累積された処理時間などの情報に対して統計処理を行い、その結果にもとづいて、不揮発メモリ２に格納された複数の回路構成データの内から所定の条件を満たすデータ（例えば頻度の最も高い処理の回路構成データ）を選択して読み出し、これをプログラマブルロジック１に転送することで、プログラマブルロジック１の回路構成を、上記条件を満たす処理（例えば頻度の最も高い処理）を実行する回路に変更する。【選択図】図１
2008219806.tif 000002
【特許請求の範囲】
【請求項１】
複数の回路構成データを記憶する不揮発メモリと、前記回路構成データに基づいて回路を構成するプログラマブルロジックと、前記不揮発メモリおよび前記プログラマブルロジックを制御する制御部と、を備えた電気機器において、
前記制御部は、初期化時、前記不揮発メモリの複数の回路構成データの内から通信処理用の回路構成データを読み出して前記プログラマブルロジックに転送して前記プログラマブルロジックを外部の電気機器と外部通信路を介して通信する通信処理回路として構成したのち、前記通信処理回路を通じて前記外部の電気機器と通信を行い、前記外部の電気機器から通信応答がなかった場合、または、前記通信路に一定期間通信データが存在しなかった場合には、前記不揮発メモリの複数の回路構成データの内から他の回路構成データを読み出して前記プログラマブルロジックに転送して前記プログラマブルロジックを他の回路として構成することを特徴とする電気機器。
【請求項２】
外部からの指令情報を入力する外部インタフェースと、複数の回路構成データを記憶する不揮発メモリと、前記回路構成データに基づいて回路を構築するプログラマブルロジックと、前記外部インタフェース、前記不揮発メモリおよび前記プログラマブルロジックを制御する制御部と、を備えた電気機器において、
前記制御部は、前記外部インタフェースによって外部から入力された指令情報により実行した処理内容毎にその累積実行回数や累積処理時間などの情報に対して統計処理を行い、その結果にもとづいて前記不揮発メモリの複数の回路構成データの内から特定の回路構成データを読み出し、前記プログラマブルロジックに転送して前記プログラマブルロジックの回路構成を変更することを特徴とする電気機器。
【請求項３】
前記制御部は、一定時間内に最も実行回数の多かった処理を実行する回路構成データを前記プログラマブルロジックに転送することを特徴とする請求項２に記載の電気機器。
【請求項４】
前記制御部は、一定時間内に最も実行時間の長かった処理を実行する回路構成データを前記プログラマブルロジックに転送することを特徴とする請求項２に記載の電気機器。
【請求項５】
前記外部インタフェースは、外部の電気機器と通信を行うための通信処理回路であることを特徴とする請求項２〜４のいずれかに記載の電気機器。
【請求項６】
前記制御部は、前記外部インタフェースによって外部から入力された指令情報に基づいて実行した処理内容を記憶手段に蓄積し、前記記憶手段に蓄積された処理内容を一定の時間間隔で統計処理することを特徴とする請求項２に記載の電気機器。
【請求項７】
前記外部インタフェースは、外部に設けられた消費電力測定回路によって測定された消費電力を外部からの指令情報として入力し、
前記制御部は、前記外部インタフェースによって外部から入力された消費電力を一定の時間間隔で統計処理し、該消費電力が所定の値以内になるような回路構成データを選択してこの回路構成データに基づいて前記プログラマブルロジックの構成を変更することを特徴とする請求項２に記載の電気機器。
【請求項８】
前記制御部は、処理した内容を所定の時間毎に前記不揮発性メモリに記録して蓄積し、前記不揮発性メモリに蓄積された内容に基づいて、必ず決まった時刻に処理される内容を推定し、前記時刻が到来する前に、前記推定した処理内容の構成データに基づいて前記プログラマブルロジックの構成を変更することを特徴とする請求項２に記載の電気機器。
【請求項９】
前記制御部は、処理した内容を所定の時間毎に前記不揮発性メモリに記録して蓄積し、前記不揮発性メモリに蓄積された内容に基づいて、第１の処理を実行した時に必ず次に処理される第２の処理を推定し、前記第１の処理を実行した後に、前記第２の処理内容の構成データに基づいて前記プログラマブルロジックの構成を変更することを特徴とする請求項２に記載の電気機器。
【請求項１０】
外部からの指令情報を入力する外部インタフェースと、複数の回路構成データを記憶する不揮発メモリと、動作可能なクロック速度の異なる複数のプログラマブルロジックと、前記外部インタフェース、前記不揮発メモリおよび前記プログラマブルロジックを制御する制御部と、を備えた電気機器において、
前記制御部は、前記外部インタフェースによって外部から入力された指令情報により実行した処理内容毎にその累積実行回数や累積処理時間などの情報に対して一定の時間間隔で統計処理を行い、その結果にもとづいて、前記複数のプログラマブルロジックの構成を変更することを特徴とする電気機器。
【請求項１１】
頻度が第１の所定値より低い処理を第２の所定値より低速のクロックで動作するプログラマブルロジックに構成し、頻度が前記第１の所定値より高い処理を前記第２の所定値より高速のクロックで動作するプログラマブルロジックに構成することを特徴とする請求項１０に記載の電気機器。
【請求項１２】
外部からの指令情報を入力する外部インタフェースと、複数の回路構成データを記憶する不揮発メモリと、前記回路構成データに基づいて回路を構成するプログラマブルロジックと、前記外部インタフェース、前記不揮発メモリおよび前記プログラマブルロジックを制御する制御部と、を備えた電気機器において、
前記制御部は、前記外部インタフェースによって外部から入力された指令情報により実行した処理内容毎にその累積実行回数や累積処理時間などの情報に対して統計処理を行い、その結果に基づいて前記不揮発メモリに格納された、プログラマブルロジックを構成するための複数のプログラムソースコードのうち、特定のプログラムソースコードを選択し、選択されたプログラムソースコードをオブジェクトコードに変換した後に、このオブジェクトコードを前記プログラマブルロジックに転送して、前記プログラマブルロジックの論理回路を変更することを特徴とする電気機器。
【請求項１３】
外部からの指令情報を入力する外部インタフェースと、複数の回路構成データを記憶する不揮発メモリと、前記回路構成データに基づいて回路を構成するプログラマブルロジックと、前記外部インタフェース、前記不揮発メモリおよび前記プログラマブルロジックを制御する制御部と、を備えた電気機器において、
前記制御部は、前記外部インタフェースによって外部から入力された指令情報により実行した処理内容毎にその累積実行回数や累積処理時間などの情報に対して一定の時間間隔で統計処理を行い、その結果にもとづいて前記不揮発メモリに格納された、プログラマブルロジックを構成するための複数のプログラムソースコードのうち、特定のプログラムソースコードを選択し、選択されたプログラムソースコードを、オブジェクトコードに変換した後に、このオブジェクトコードを前記プログラマブルロジックに転送して、前記プログラマブルロジックの論理回路を変更することを特徴とする電気機器。
【請求項１４】
外部からの指令情報を入力する外部インタフェースと、複数の回路構成データを記憶する不揮発メモリと、前記回路構成データに基づいて回路を構成するプログラマブルロジックと、前記外部インタフェース、前記不揮発メモリおよび前記プログラマブルロジックを制御する制御部と、を備えた電気機器において、
前記制御部は、前記外部インタフェースによって外部から入力された指令情報により実行した処理内容毎にその累積実行回数や累積処理時間などの情報に対して一定の時間間隔で統計処理を行い、その結果に基づいて前記不揮発メモリに格納された、プログラマブルロジックを構成するための複数プログラムソースコードを組み合わせ、プログラマブルロジックを構成するためのオブジェクトコードに変換した後に、このオブジェクトコードに基づいて前記プログラマブルロジックの論理回路を変更することを特徴とする電気機器。
【請求項１５】
外部からの情報を入力する外部インタフェースと、複数の回路構成データを記憶する不揮発メモリと、前記回路構成データに基づいて回路を構成するプログラマブルロジックと、前記外部インタフェース、前記不揮発メモリおよび前記プログラマブルロジックを制御する制御部と、を備えた電気機器において、
前記制御部は、前記不揮発メモリに格納された、プログラマブルロジックを構成するための複数のプログラムソースコードのうち、統計処理した結果から、判断した不具合のある機能のプログラムソースコードを除いて、オブジェクトコードに変換した後に、このオブジェクトコードに基づいてプログラマブルロジックの構成を変更することを特徴とする電気機器。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ＦＰＧＡ(Field Programmable Gate Array）やＣＰＬＤ(Complex Programmable Logic Device)などのプログラマブルロジックの回路構成を変更する電気機器に関するものである。
【背景技術】
【０００２】
従来、複数のＦＰＧＡをコンフィギュレーション（ＦＰＧＡに回路情報を構成）するためには、キーボード、操作盤等の入力手段を用いて、複数のＦＰＧＡのなかから、コンフィギュレーションのターゲットのＦＰＧＡを選択し、ＦＰＧＡに搭載するアルゴリズムをＲＯＭから選択して、コンフィギュレーションをおこなっていた。これにより、ＲＯＭに搭載された複数の回路情報を任意のＦＰＧＡにコンフィギュレーションができるため、少ない個数のＦＰＧＡを用いて、複数のアルゴリズムから構成されるアルゴリズムのハードウェア化が実現できた。ＦＰＧＡは、このように外部インタフェースを介して、任意のアルゴリズムを構成する回路に変更することが可能である。（例えば、特許文献１参照）
【０００３】
また、外部インタフェースを介さずにＦＰＧＡの回路構成を変更する技術も知られている。ＦＰＧＡは、ＦＰＧＡに入力されるデータのなかから、特定のパターンのデータを検出したときに、それをトリガーに、メモリに回路構成データを書き込んでおき、ＦＰＧＡ内に構成されたコントローラ自身が、リセット出力信号（再構成する指示）を出力することで、メモリに書き込まれた回路構成データがＦＰＧＡに対して書き込まれるため、ＦＰＧＡの回路構成を変更することが可能である。（例えば、特許文献２参照）
【０００４】
【特許文献１】特開２０００−２７８１１６号公報（段落００１３、００１５、００１８、図１）
【特許文献２】特開２００２−３０５４３８号公報（段落００１５、図１）
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上述したようなＦＰＧＡのコンフィギュレーション方法は、キーボード、操作盤等からの入力手段からの操作や、特定パターンの更新データをＦＰＧＡのコントローラに検出させる手段によって、ＦＰＧＡの回路構成を変更することが可能である。しかし、このようなコンフィギュレーション方法は、人が介在して、キーボード、操作盤等から何らかの操作を行うか、あるいは、ＦＰＧＡに特定パターンの更新データを入力したりしなければならなかった。
【０００６】
この発明は、上述のような課題を解決するためになされたものであり、ＦＰＧＡの搭載された電気機器自身が、自動的に現時点で必要な回路構成を判断して、ＦＰＧＡの回路構成を変更するものである。
【課題を解決するための手段】
【０００７】
この発明に係る電気機器では、外部インタフェースからの指令によりマイコンが実行した処理内容毎の実行回数や実行時間などの情報に対して、マイコンが統計処理を行い、その結果にもとづいて、プログラマブルロジックの回路構成を変更するものである。
【０００８】
また、動作可能なクロック速度の異なる複数のプログラマブルロジックを備え、外部インタフェースからの指令によりマイコンが実行した処理内容毎の実行回数や実行時間などの情報に対して、マイコンが統計処理を行い、その結果にもとづいて、複数のプログラマブルロジックの構成を変更するものである。
【０００９】
また、外部インタフェースからの指令によりマイコンが実行した処理内容毎の実行回数や実行時間などの情報に対して、マイコンが統計処理を行い、その結果にもとづいて、不揮発メモリに格納された、プログラマブルロジックを構成するためのコードを、プログラマブルロジックを構成するためのオブジェクトコードに変換した後に、プログラマブルロジックの構成を変更するものである。
【発明の効果】
【００１０】
この発明によれば、マイコンが、蓄積された外部インタフェースからの情報に対して統計処理を行い、その結果にもとづいて、現時点で必要な回路構成を判断してプログラマブルロジックの回路構成を変更するので、外部からプログラマブルロジックに対して、変更すべき回路を指定することなく、電気機器自身で、プログラマブルロジックの構成を変更することが可能になる。
【発明を実施するための最良の形態】
【００１１】
実施の形態１． 
図１は、この発明のプログラマブルロジックを有する電気機器３０におけるハードウェア構成を示すものである。電気機器３０は、マイコン４とこのマイコン４にFlashメモリなどの不揮発メモリ２とＲＡＭ５とＦＰＧＡなどのプログラマブルロジック１と、スイッチなど外部からデータを入力する外部インタフェース３と、通信用のアナログ回路７と表示器９からなり、マイコン４は外部インタフェース３からの入力に応じた処理を行い、またマイコン４の処理結果を外部インタフェース３や表示器９に出力する。通信用のアナログ回路７は、他の機器と通信線８を介して接続されている。
なお、マイコン４は制御部を構成する。
【００１２】
また、不揮発メモリ２には、マイコン４を動作させるプログラムと、プログラマブルロジック１の回路を構成するための複数のコンフィギュレーションデータ（以下、回路構成データと呼ぶこともある）６が格納されている。
【００１３】
次に、この実施の形態１の動作について図１を用いて説明する。
このように構成された電気機器３０において、マイコン４の初期化時には、マイコン４は、不揮発メモリ２に格納された複数のコンフィギュレーションデータ６のうち、通信処理用のコンフィギュレーションデータを選択して読み出し、マイコン４から、プログラマブルロジック１に通信処理するためのコンフィギュレーションデータ６を転送することにより、プログラマブルロジック１の回路を通信処理回路として構成する。(図２のステップS１)
【００１４】
次に、マイコン４は、プログラマブルロジック１と通信線８を介して、他の電気機器３０と通信を試みる(図２のステップS２)。そして、マイコン４から通信線８を介して、送信したデータに対する応答が有った場合(図２のステップS３においてNOの場合)には、マイコン４は通常処理を行う(図２のステップS７)。一方、マイコン４から通信線８を介して、送信したデータに対する応答が無かった場合や、通信線８上に一定期間通信データがなかったと判断した場合など、通信相手が存在しないと見なされた場合(図２のステップS３においてYESの場合)には、マイコン４は、他のコンフィギュレーションデータを不揮発メモリ２から読み出してプログラマブルロジック１に構成するコンフィギュレーションデータ６を上記他のコンフィギュレーションデータに切り換えて、プログラマブルロジック１を再構成する。
【００１５】
即ち、マイコン４は、コンフィギュレーションデータ６を、別の通信処理方式（図１のコンフィギュレーションA'(通信処理２)）に変更して、プログラマブルロジック１を再構成する。（図２のステップS４）この場合においても、マイコン４から、送信したデータに対する応答が無かった場合や、通信線８上に一定期間通信データがなかったと判断した場合には、通信相手が存在しないと見なし、プログラマブルロジック１に構成するコンフィギュレーションデータ６をさらに他のコンフィギュレーションデータを不揮発メモリ２から読み出してプログラマブルロジック１に構成するコンフィギュレーションデータ６を上記さらに他のコンフィギュレーションデータに切り換えて、プログラマブルロジック１を再構成する。(図２のステップS５)
【００１６】
なお、電気機器３０の種別によって、通信用アナログ回路７を搭載していない場合にも、同様の処理が行われるが、この場合にはプログラマブルロジック１は、通信処理用のコンフィギュレーションを行わない。また、通信線８は、有線で描かれているが、無線通信であっても良い。
【００１７】
マイコン４は、通信相手が存在しないと見なしたとき、別のコンフィギュレーションデータ６として、符号化された画像を表示器９に表示するためのビットマップデータに変換するなどの表示処理を行う回路構成データを選択して不揮発メモリ２から読み出し、プログラマブルロジック１に該データを転送することにより、プログラマブルロジック１を再構成する (図２のステップS６) 。
【００１８】
この実施の形態１によれば、以上のように構成することで、該電気機器３０に必要のないコンフィギュレーションデータ６は、使用されないため、使用されない機能のためにプログラマブルロジック１の資源を消費することがなく、プログラマブルロジック１を有効に活用することができる。
【００１９】
実施の形態２．
図１の構成は、この実施の形態でも用いられる。また、図３は、この発明の実施の形態２を説明するための表である。
次に、実施の形態２の動作について図１及び図３を用いて説明する。
マイコン４は、外部インタフェース３からの指示に従った動作をする。プログラマブルロジック１は、通信処理のコンフィギュレーションを実行することで、他の電気機器３０と通信できるようになっているものとし、マイコン４は、外部インタフェース３からの指示により、マイコン内で表示処理や演算処理を行う。このとき、マイコン４は、外部インタフェース３からの指示によって、マイコン４が実行した表示処理と演算処理と暗号処理と通信処理の回数を図示しないレジスタ類またはＲＡＭ５を用いてカウントし、一定時間経過後、最も処理回数の多かった処理を判定する。図３には、一定時間経過後の処理回数と、それぞれ、１回あたりに必要な処理時間と累計の処理時間の一例が記載されている。
【００２０】
この例では、マイコン４は、図３および図４に示すグラフから、最も処理回数の多かった処理内容である表示処理を、不揮発メモリ２のプログラマブルロジック1構成用の複数の回路構成データの中から選択して読み出し、選択した回路構成データをプログラマブルロジック１に転送することにより、プログラマブルロジック１の回路を構成する。その後、マイコン４は、該処理に関しては、ソフトウェアではなく、プログラマブルロジック１に構成された回路を用いて処理を行う。
【００２１】
また、プログラマブルロジック１に最も処理回数の多かった処理内容を実行する回路を構成した後も、マイコン４は、表示処理と演算処理と暗号処理と通信処理の回数を蓄積し、一定時間経過後に、再び最も処理回数の多かった処理を判定し、判定した処理が、プログラマブルロジック１に既に構成してある機能の場合には、各処理の回数を数えるカウンタをリセットして、再び、カウントを再開するか通常動作を継続するが、そうでない場合には、プログラマブルロジックを、該当する処理を行うロジックとして再構成した後に、各処理の回数を数えるカウンタをリセットして、通常動作に移行する。
【００２２】
これにより、従来マイコン４で行っていた処理のうち、高い頻度で使用される機能をプログラマブルロジック１に実行させることができるため、マイコン４の処理負荷が低減し、また、該機能をソフトウェアでなく、論理回路により処理できるため、高速に処理することができるようになる。また、プログラマブルロジック１には、表示回路と演算回路と暗号処理と通信処理の機能を、同時に回路として構成することがないため、いずれか１つの機能のみをプログラマブルロジック１に搭載することが可能になる。従って、プログラマブルロジック１に搭載可能な回路規模を削減でき、小型で安価なプログラマブルロジック１を搭載することが可能になる。
【００２３】
なお、マイコン４は、初期化直後は、表示処理と演算処理と暗号処理と通信処理のすべてを、マイコン４のソフトウェアで実行し、一定時間経過後に、頻度の高い処理を判定した後に、プログラマブルロジック１の回路を構成していたが、初期化直後に、既定の回路構成を設定して、初期化直後は、プログラマブルロジック１に、既定の回路を構成してもよい。
【００２４】
実施の形態３．
実施の形態２では、表示処理と演算処理と暗号処理と通信処理を、それぞれの処理の回数で判定していたが、それぞれの処理時間で判定してもよい。
図１の構成と図３の表は、この実施の形態でも用いられる。
次に、この実施の形態の動作について図１及び図３を用いて説明する。
図３に示すように、例えば、暗号処理時間が１回当たり５００ｍｓであり、表示処理時間が１回当たり３０ｍｓであった場合、マイコン４は、一定時間間隔でそれぞれの処理時間と処理回数を乗算し、一定時間間隔でのそれぞれの処理時間を求め、処理時間の長かった方の処理をプログラマブルロジック１に構成する。この場合、マイコン４が算出した演算処理の累計処理時間は１０回×１ｍｓ＝１０ｍｓ、暗号処理の累計処理時間は５回×５００ｍｓ＝２５００ｍｓ、表示処理の累計処理時間は８０回×３０ｍｓ＝２４００ｍｓ、通信処理の累計処理時間は６０回×１０ｍｓ＝６００ｍｓとなる。すなわち、図３の累計処理時間に示す通りである。マイコン４は、図３に示す累計処理時間とそれをグラフ化した図５から、最も累計処理時間の長かった暗号処理を選択し、不揮発メモリ２の複数の回路構成データの内から暗号処理用の回路構成データを読み出して、プログラマブルロジック１に転送し、プログラマブルロジック１に暗号処理回路を構成する。
【００２５】
この実施の形態によれば、以上の構成により、実施の形態１および実施の形態２と同様の効果を奏する。
【００２６】
実施の形態４．
実施の形態２および実施の形態３では、一定時間間隔でプログラマブルロジック１に構成すべき回路を決定していたが、単純にそれぞれの処理の回数をカウントし、いずれかの処理が、一定回数以上に達した時に、その処理回路をプログラマブルロジック１に構成してもよい。
図１の構成と図３の表は、この実施の形態でも用いられる。
次に、この実施の形態の動作について図１及び図３を用いて説明する。
図３に示すように、例えば、演算処理の処理回数は１０回、暗号処理の処理回数は５回、表示処理の処理回数は８０回、通信処理の処理回数は６０回である。マイコン４は、図３に示す処理回数をグラフ化した図４から、最も処理回数の多かった表示処理を選択し、不揮発メモリ２の複数の回路構成データの内から表示処理用の回路構成データを読み出して、プログラマブルロジック１に転送し、プログラマブルロジック１に表示処理回路を構成する。
【００２７】
この実施の形態によれば、以上の構成により、実施の形態１および実施の形態２と同様の効果を奏する。
【００２８】
実施の形態５．
この実施の形態では、外部の電気機器３０との通信によって取得されるデータの内容によって異なる画像処理回路をプログラマブルロジックに構成するようにしてもよい。
図１の構成は、この実施の形態でも用いられる。外部インタフェース３は、他の電気機器３０と通信する通信用のインタフェースである。
次に、この実施の形態の動作について図１を用いて説明する。
この実施の形態では、予め、不揮発性メモリ２には、回路構成データとして外部の電気機器３０との通信によって取得されるデータの内容、"静止画の画像処理回路構成用データ"、"動画の画像処理回路構成用データ"、"暗号の画像処理回路構成用データ"などの複数の回路構成データが記憶されていることを前提とする。
マイコン４は、外部インタフェース３を介して外部の電気機器３０と通信処理を行う。このとき、マイコン４は、通信処理によって取得されるデータの内容を、静止画に関するデータ、動画に関するデータ、暗号処理に関するデータ、およびそれ以外のデータに分類し、それぞれの処理回数をカウントし、一定時間経過後、最も処理回数の多かった処理を判定する。この判定結果を基に、プログラマブルロジック１をコンフィギュレーションするデータを"静止画の画像処理回路"または、"動画の画像処理回路"または、"暗号の画像処理回路"に切り換える。プログラマブルロジック１をコンフィギュレーションする方法については実施の形態１と同様である。
【００２９】
この実施の形態によれば、以上のように構成することで、実施の形態１および実施の形態２の効果に加え、人を介さず、電気機器自体が外部機器から使用頻度の高いデータを自動で取得して表示するので、ユーザの負荷を軽減することができるという効果を奏する。
【００３０】
実施の形態６．
ユーザによって操作されたボタンやタッチパネルなどの種類に応じて異なる回路をプログラマブルロジックに構成してもよい。この実施の形態では、このような形態について説明する。
図１の構成は、この実施の形態でも用いられる。外部インタフェース３は、ボタンやタッチパネルなどユーザによって操作されるインタフェースである。
次に、この実施の形態の動作について図１を用いて説明する。
この実施の形態では、予め、不揮発性メモリ２には、回路構成データとして外部の電気機器３０との通信によって取得されるデータの内容、"音楽出力処理回路構成用データ"、" 画像表示処理回路構成用データ"などの複数の回路構成データが記憶されていることを前提とする。
マイコン４は、ボタンやタッチパネルなどの外部インタフェース３を介してユーザの操作により指定された内容の頻度を調べ、"音楽出力処理"や"画像表示処理"などのなかから頻度の最も高いものを選択して、実施の形態１と同様にしてプログラマブルロジック１に該当する処理の回路を構成する。これにより、マイコン４によるソフトウェア処理よりも、処理負荷を低減でき、また、プログラマブルロジックに構成した専用の回路を用いることによりソフトウェア処理では追従できないことによる音質劣化や画像の劣化の発生のない高音質な音楽や、高精細な画像処理を実現できる。
【００３１】
実施の形態７．
電気機器３０全体の消費電力を制御するようにしてもよい。この実施の形態では、この形態について説明する。
図１の構成は、この実施の形態でも用いられる。図示しない消費電力測定回路は、外部に設けられ、電気機器３０全体の消費電力を測定する。なお、この消費電力測定回路は、電力計でもよいし、商用交流電源の電流を測定する抵抗などを用いてその両端の電圧を測定することで電源の電圧が一定であるとして消費電力を換算するようにしても良いし、商用交流電源を整流して直流にした後、分圧回路に流れる直流電流をＣＴなどの電流測定素子を用いて測定して、消費電力を換算するようにしても良い。
外部インタフェース３は、外部に設けられた消費電力測定回路によって測定された消費電力のデータを指令情報として受け取り、マイコン４に伝達するものである。
次に、この実施の形態の動作について図１を用いて説明する。
この実施の形態では、予め、不揮発性メモリ２には、処理速度が遅く、消費電力の低い処理用の回路構成データが記憶されていることを前提とする。
マイコン４は、一定の周期で定期的に外部インタフェース３を通じて電気機器３０の消費電力を入力して電気機器３０の消費電力の時間推移を観測し、一定の消費電力を超えた場合には、消費電力を低く押えるために不揮発性メモリ２から処理速度が遅く、消費電力の低い処理用の回路構成データを読み出して、プログラマブルロジック１に転送することで、プログラマブルロジック１を処理速度が遅い回路に再構成する。
【００３２】
この実施の形態によれば、上記のように再構成することにより、処理速度の低下はあるが、消費電力を抑えることが可能となる。
【００３３】
実施の形態８．
定期的に決まった時刻に処理される内容については、電気機器自体で自動的に処理できるように構成しても良い。この実施の形態では、この形態について説明する。
図１の構成は、この実施の形態でも用いられる。
次に、この実施の形態の動作について図１を用いて説明する。
マイコン４は、処理した内容を、処理を行った時刻とともにＲＡＭ５に例えば毎日記録する。マイコン４は、上記データを一定期間（例えば１週間）ＲＡＭ５に記録し、ＲＡＭ５に記録された内容を判定する。そして、ほぼ同じような時刻に、決まった処理がなされていると判断される場合には、マイコン４は、その処理が実行される前に、その処理を行う論理回路の構成データをプログラマブルロジック１に転送して、論理回路を構築しておく。そして、決まった時刻になったらマイコン４からの指令によりプログラマブルロジック１に構築した論理回路を実行する。これにより、低頻度の処理であっても、決まった時刻に処理される内容であれば、高速に処理することが可能である。
【００３４】
実施の形態９．
或る処理αを実行すると必ず別の処理βが実行されるような場合には、処理αを実行すると電気機器自体が処理βを自動的に処理するように構成しても良い。この実施の形態では、この形態について説明する。
図１の構成は、この実施の形態でも用いられる。
次に、この実施の形態の動作について図１を用いて説明する。
マイコン４は、処理した内容を、処理を行った時刻とともにＲＡＭ５に例えば毎日記録する。マイコン４は、上記データを一定期間（例えば１週間）ＲＡＭ５に記録し、ＲＡＭ５に記録された内容を判定する。そして、暗号処理Ａが実行された後に必ず暗号処理Ｂが実行されるというように決まった処理手順があると分かった場合には、マイコン４は、暗号処理Ａが実行された後に暗号処理Ｂを実行するための論理回路の構成データをプログラマブルロジック１に転送して、論理回路を構築しておく。そして、暗号処理Ａを実行する時刻になったらマイコン４からの指令によりプログラマブルロジック１に構築した論理回路を実行する。これにより、連続した処理に対して、事前に論理回路を構成できるため、連続した処理を高速に処理することが可能である。
【００３５】
実施の形態１０．
ここでは、動作速度の異なる二種類のプログラマブルロジックを用いた場合の形態について説明する。
図６は、この発明の実施の形態を示す電気機器の構成図である。
次に、この実施の形態の動作について図６を用いて説明する。
図６に示すように、２つのプログラマブルロジックからなり、一方は、相対的により高速のクロック(例えば８００ＭＨｚクロック)で動作可能なプログラマブルロジックであり、他方は、相対的により低速のクロック(例えば８０ＭＨｚ)で動作するプログラマブルロジックである。実施の形態２に記載したように、マイコンにより、統計的な処理を行い、頻度が所定値より高い処理を判定し、この処理を実施の形態１と同様の手順で所定値より高速のクロックで動作するプログラマブルロジックに構成し、頻度が所定値より低い処理を実施の形態１と同様の手順で所定値より低速のクロックで動作するプログラマブルロジックに構成する。
これにより、相対的に頻度の高い処理をより高速で処理するので、システム全体の処理速度を上記の処理を行なわない場合より高くすることが可能になる。
【００３６】
実施の形態１１．
ここでは、動作速度の異なる二種類のプログラマブルロジックを用いた場合の形態について説明する。
図７は、この発明の実施の形態を示す電気機器の構成図である。
図７に示すように、電気機器３０は、外部インタフェース３と、不揮発メモリ２と、プログラマブルロジック１とマイコン４からなり、不揮発メモリ２にはマイコン４で処理を実行するための複数のコードが格納されている。
なお、ここで、コードとは、１つの処理機能を持つ一連のプログラムソースコードを意味しており、例えば、通信処理を行うコードは通信処理コード、表示処理を行うコードは表示処理コード、演算処理を行うコードは演算処理コードなどと呼ぶ。
次に、この実施の形態の動作について図７を用いて説明する。
マイコン４は、外部の電気機器から実施の形態１と同様に通信を通じて指令情報を受け取るか、あるいはユーザの操作などにより、ボタンやスイッチなどの外部インタフェース３を介して指令情報を受け取ると、外部インタフェース３からの指令に従った処理（表示処理や演算処理など）を行う。このとき、マイコン４は、外部インタフェース３からの指示によって、マイコン４が実行した表示処理と演算処理と暗号処理と通信処理の回数を図示しないレジスタ類またはＲＡＭ５を用いてカウントし、一定時間経過後、最も処理回数の多かった処理を判定する。次に、マイコン４は、最も処理回数の多かった処理内容、例えば表示処理用のプログラムソースコードである表示処理コードを、不揮発メモリ２のプログラマブルロジック1構成用の複数の回路構成データの中から選択して読み出し、さらにこのコードをコンパイル（配置配線）し、プログラマブルロジック１の回路を構成するためのオブジェクトコードに変換して、このデータをＲＡＭ５に格納する。次に、マイコン４は、ＲＡＭ５に格納されたオブジェクトコードをプログラマブルロジック１に転送することにより、プログラマブルロジック１に上記指令情報に対応する処理を行う論理回路を構成する。
【００３７】
次に、上記の動作をさらに詳しく説明する。
図８は、この発明の実施の形態１１を示す電気機器の詳細な構成を示す構成図である。
図８に示すように、マイコン４のアプリケーションは、外部インタフェース３を介して外部からの指令を受け取ると、この指令に基づき、アプリケーション内で処理を行った後、この処理内容に応じて分類し、それぞれの処理内容毎にその実行回数や処理時間を累積する。そして、一定の時間経過後、マイコン４のアプリケーションは処理内容毎の累積実行回数や累積処理時間などに基づいて統計処理を行い、その結果、最も処理回数の多かった処理として例えば「演算処理２」を特定する。次に、マイコン４は、不揮発メモリ２に格納された、マイコン４で実行可能なプログラム（例えば、逆ポーランド記法などで記載されたプログラムソースコード）を、インタプリタを用いて翻訳しながら実行する。例えば、「演算処理１」をマイコン４が実行中に、外部インタフェース３から、「演算処理２」をプログラマブルロジック１で実行するように指定された場合には、マイコン４のアプリケーションは、アプリケーションインタフェースを介して不揮発メモリ２の複数のコードのうちから「演算処理２」のプログラムソースコードを選択し、この「演算処理２」のプログラムソースコードを、アプリケーションプログラムを用いてコンパイルし、コンパイル済みの「演算処理２」（オブジェクトコード）をＲＡＭ５に格納する。
【００３８】
なお、マイコン４でコンパイルを実行するときには、マイコン４から、プログラマブルロジック１にアクセスするためのメモリアクセス機能のコードを結合し、コンパイル時の制約条件（ピン配置やピンの入出力など）を追加して、コンパイルを実行する。
マイコン４は、コンパイルした「演算処理２」をＲＡＭ５に格納した後に、プログラマブルロジック１に転送して、プログラマブルロジック１に演算処理２の論理回路を構成する。
【００３９】
マイコン４は、演算処理２を実行する場合には、マイコン４内のプログラムであるロジックアクセスドライバを介して、演算処理２の論理回路が構築されたプログラマブルロジック１にアクセスする。ロジックアクセスドライバは、「演算処理１」〜「演算処理３」に共通に利用可能なドライバであり、プログラマブルロジック１に構成したデュアルポートメモリを介して、演算処理すべきデータの授受を行う。
【００４０】
このようにすることにより、マイコンで実行するためのコードと、ＦＰＧＡを構成するためのデータの２種類を保持する必要がなくなるという効果がある。また、マイコン４のコンパイルのオプションによって、"プログラマブルロジックの内部回路を大きくし、回路を高速に動作させる場合"と、逆に" プログラマブルロジックの内部回路を小さくして、回路を低速で動作させ、消費電力を低く抑える"などのコンパイルのオプションを、外部インタフェース３からの指示により自由に変更することも可能となるといった効果がある。
【００４１】
実施の形態１２．
実施の形態１１では、マイコン４が実行した処理をカウントし、処理頻度の最も高いコードを選択して、コンパイルし、プログラマブルロジック１に転送することにより、処理頻度の最も高いコードをプログラマブルロジック１に実行させていたが、外部インタフェース３からの入力によって、マイコン４が実行した処理をカウントし、処理時間の最も長いコードを選択して、コンパイルし、プログラマブルロジック１に転送することにより、処理時間の最も長いコードをプログラマブルロジック１に実行させるようにしてもよい。
この場合も、実施の形態１１と同様の効果を奏する。
【００４２】
実施の形態１３．
実施の形態１１では、不揮発メモリ２に格納された複数のコードのうちいずれか１つを選択し、このコードをマイコン４でコンパイル（配置配線）していたが、複数のコードを同時に選択して、コンパイルしてもよいことは明らかである。
これにより、電気機器３０は、コンパイルした複数のコードから任意のコードを選択して論理回路をプログラマブルロジックに構築して実行することができ、外部インタフェースからの指令に対して柔軟な対応が可能である。
【００４３】
実施の形態１４．
マイコン４により、コードを診断するプログラムを定期的に実行し、不揮発メモリ２に格納された複数のコードのいずれかに不具合（データ化け、データの破損など）が生じていることが分かった場合には、複数のコードをコンパイルする際に、不具合のある機能のコードを除いてから、オブジェクトコードに変換して、プログラマブルロジック１の構成を変更する。
これにより、電気機器３０は、一定の機能を保持しながら、不具合がなく、かつ高速の動作を実現することが可能である。
【図面の簡単な説明】
【００４４】
【図１】この発明の電気機器の構成図であり、実施の形態１〜９を示す。
【図２】この発明の実施の形態１のフローチャートである。
【図３】この発明の実施の形態２〜４を説明するための表である。
【図４】この発明の実施の形態２〜４を説明するためのグラフである。
【図５】この発明の実施の形態２〜４を説明するためのグラフである。
【図６】この発明の実施の形態１０を示す電気機器の構成図である。
【図７】この発明の実施の形態１１〜１４を示す電気機器の構成図である。
【図８】この発明の実施の形態１１〜１４を示す電気機器の詳細図である。
【符号の説明】
【００４５】
１  プログラマブルロジック、２  不揮発メモリ、３  外部インタフェース、４  マイコン、５  ＲＡＭ、６  コンフィギュレーションデータ、７  通信用アナログ回路、８  通信線、９  表示器、１０  高速プログラマブルロジック、１１  低速プログラマブルロジック、３０  電気機器。
【図１】
2008219806.tif 000003
【図２】
2008219806.tif 000004
【図３】
2008219806.tif 000005
【図４】
2008219806.tif 000006
【図５】
2008219806.tif 000007
【図６】
2008219806.tif 000008
【図７】
2008219806.tif 000009
【図８】
2008219806.tif 000010