(57)【要約】【課題】消費電力を削減する。【解決手段】処理回路２は、信号供給源５から複数の異なるタイミングで供給される信号に基づく処理を行い、スイッチＳＷ１は、処理回路２の電源のオンオフを切り替える。クロック信号生成回路３はクロック信号を生成し、制御回路４は、信号供給源５から信号を受信したときに、その信号の受信タイミングによらず、クロック信号に同期して電源をオンするようにスイッチＳＷ１を制御することで、電源のオン回数を減らす。【選択図】図１
2016039626.tif 000002
【特許請求の範囲】
【請求項１】
信号供給源から複数の異なるタイミングで供給される信号に基づく処理を行う処理回路と、
前記処理回路の電源のオンオフを切り替えるスイッチと、
クロック信号を生成するクロック信号生成回路と、
前記信号を受信したときに、前記信号の受信タイミングによらず、前記クロック信号に同期して前記電源をオンするように前記スイッチを制御する制御回路と、
を有することを特徴とする半導体装置。
【請求項２】
前記信号供給源は、複数のセンサであり、前記制御回路は、前記複数のセンサの少なくとも１つから前記信号を受信したときに、前記受信タイミングによらず、前記クロック信号に同期して前記電源をオンするように前記スイッチを制御することを特徴とする請求項１に記載の半導体装置。
【請求項３】
前記信号を保持する記憶部を有し、前記処理回路は、前記電源がオンすると、前記記憶部に保持されている前記信号に基づく処理を行う、ことを特徴とする請求項１または２に記載の半導体装置。
【請求項４】
前記クロック信号の遷移タイミングの直前の前記クロック信号の１周期の間で前記信号供給源からの前記信号を受信しないとき、前記制御回路は、前記遷移タイミングに同期して、前記電源をオフするように前記スイッチを制御する、ことを特徴とする請求項１乃至３の何れか一項に記載の半導体装置。
【請求項５】
前記記憶部を制御する制御部を有し、
前記制御部は、前記電源がオンすると、前記記憶部に保持されている前記信号の一部を、前記信号供給源の優先度に基づき指定して前記記憶部から読み出し、前記処理回路に処理させる、ことを特徴とする請求項３に記載の半導体装置。
【請求項６】
前記制御部は、前記電源がオンすると、前記記憶部に保持されている前記信号の一部を、前記信号供給源の優先度または、前記信号供給源からの前記信号を少なくとも１回処理するか否かを示す情報に基づき指定して前記記憶部から読み出し、前記処理回路に処理させる、ことを特徴とする請求項５に記載の半導体装置。
【請求項７】
同一の信号供給源から第１の信号が供給され、その後、第２の信号が供給されたとき、前記制御部は、前記第２の信号を優先的に前記記憶部から読み出す、ことを特徴とする請求項５または６に記載の半導体装置。
【請求項８】
クロック信号を生成するクロック信号生成回路と、
信号供給源から複数の異なるタイミングで供給される信号を受信したとき、前記信号に基づく処理を行う処理回路の電源を、前記信号の受信タイミングによらず、前記クロック信号に同期してオンする制御回路と、
を有することを特徴とする電源供給制御回路。
【請求項９】
クロック信号生成回路が、クロック信号を生成し、
制御回路が、信号供給源から複数の異なるタイミングで供給される信号を受けたとき、前記信号に基づく処理を行う処理回路の電源を、前記信号の受信タイミングによらず、前記クロック信号に同期してオンする、
ことを特徴とする電源供給制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体装置、電源供給制御回路及び電源供給制御方法に関する。
【背景技術】
【０００２】
複数のセンサを無線でネットワーク化したセンサネットワークが知られている。センサネットワークでは、センサが検出した各種データがセンサ信号として、中継装置を介して管理装置に送信される。
【０００３】
中継装置側の省電力化のため、スリープ状態とアクティブ状態を繰り返すセンサと同期して、電源をオンオフする技術がある。
なお、無線通信システムにおいて、中継局は、無線端末からの接続要求が検出されたことを契機として、自身の起動を開始するようなイベントドリブン動作を行う手法がある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１０−２０６７２４号公報
【特許文献２】特開２００９−２４６５０８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
例えば、省電力化のため、センサなどの信号供給源からの信号を受信する装置が、その受信を契機としてその信号に基づく処理を行う回路の電源をオンし、回路がその信号に基づく処理を行った後に電源をオフすることが考えられる。
【０００６】
しかしながら、センサ信号のように、様々なタイミングで供給される信号の受信回数が多くなると、電源をオン（及びオフ）する頻度が増え、装置内に含まれる回路で充放電が多く繰り返されることになり、消費電力が増加してしまう。
【課題を解決するための手段】
【０００７】
発明の一観点によれば、信号供給源から複数の異なるタイミングで供給される信号に基づく処理を行う処理回路と、前記処理回路の電源のオンオフを切り替えるスイッチと、クロック信号を生成するクロック信号生成回路と、前記信号を受信したときに、前記信号の受信タイミングによらず、前記クロック信号に同期して前記電源をオンするように前記スイッチを制御する制御回路と、を有する半導体装置が提供される。
【０００８】
また、発明の一観点によれば、クロック信号を生成するクロック信号生成回路と、信号供給源から複数の異なるタイミングで供給される信号を受信したとき、前記信号に基づく処理を行う処理回路の電源を、前記信号の受信タイミングによらず、前記クロック信号に同期してオンする制御回路と、を有する電源供給制御回路が提供される。
【０００９】
また、発明の一観点によれば、クロック信号生成回路が、クロック信号を生成し、制御回路が、信号供給源から複数の異なるタイミングで供給される信号を受けたとき、前記信号に基づく処理を行う処理回路の電源を、前記信号の受信タイミングによらず、前記クロック信号に同期してオンする、電源供給制御方法が提供される。
【発明の効果】
【００１０】
開示の半導体装置、電源供給制御回路及び電源供給制御方法によれば、消費電力を削減できる。
【図面の簡単な説明】
【００１１】
【図１】第１の実施の形態の半導体装置の一例を示す図である。
【図２】第２の実施の形態の半導体装置の一例を示す図である。
【図３】制御回路の一例を示す図である。
【図４】制御信号生成部の一例の動作を示すタイミングチャートである。
【図５】半導体装置による処理回路の電源制御方法の一例を示すタイミングチャートである。
【図６】半導体装置の比較例を示す図である。
【図７】比較例の半導体装置による処理回路の電源制御方法の一例を示すタイミングチャートである。
【図８】第３の実施の形態の半導体装置の一例を示す図である。
【図９】制御部の一例を示す図である。
【図１０】優先度フラグの設定例を示す図である。
【図１１】書き込みデータの一例を示す図である。
【図１２】ＲＥ状態のときのＣＡＭとダウンカウンタの動作の一例を説明する図である。
【図１３】ＲＥ状態のときに、記憶部から読み出され、処理回路に出力されるセンサ信号のデータの一例を示す図である。
【図１４】書き込み動作時の第３の実施の形態の半導体装置の各部の信号の一例を示すタイミングチャートである。
【図１５】読み出し動作時の第３の実施の形態の半導体装置の各部の信号の一例を示すタイミングチャートである。
【図１６】書き込み動作時の一例の処理の流れを示すフローチャートである。
【図１７】読み出し動作時の一例の流れを示すフローチャートである。
【図１８】第４の実施の形態の半導体装置における制御部の一例を示す図である。
【図１９】割り込みフラグの設定例を示す図である。
【図２０】書き込みデータの一例を示す図である。
【図２１】ＲＥ状態のときのＣＡＭとダウンカウンタの動作の一例を説明する図である。
【図２２】ＲＥ状態のときに、記憶部から読み出され、処理回路に出力されるセンサ信号のデータの一例を示す図である。
【図２３】書き込み動作時の第４の実施の形態の半導体装置の各部の信号の一例を示すタイミングチャートである。
【図２４】読み出し動作時の第４の実施の形態の半導体装置の各部の信号の一例を示すタイミングチャートである。
【図２５】書き込み動作時の一例の処理の流れを示すフローチャートである。
【図２６】読み出し動作時の一例の流れを示すフローチャートである。
【発明を実施するための形態】
【００１２】
以下、発明を実施するための形態を、図面を参照しつつ説明する。
（第１の実施の形態）
図１は、第１の実施の形態の半導体装置の一例を示す図である。
【００１３】
半導体装置１は、処理回路２、スイッチＳＷ１、クロック信号生成回路３、制御回路４を有する。クロック信号生成回路３と制御回路４は、処理回路２への電源供給を制御する電源供給制御回路１ａとして機能する。
【００１４】
処理回路２は、信号供給源（以下センサとする）５から複数の異なるタイミングで供給される信号（以下センサ信号という）に基づく処理を行う。例えば、半導体装置１がセンサネットワークにおける中継装置として用いられる場合には、処理回路２は、センサ信号を、他の装置に転送する処理などを行う。
【００１５】
スイッチＳＷ１は、電源と処理回路２との間に接続されており、処理回路２の電源のオンオフの切り替えを行う。スイッチＳＷ１は、制御回路４から出力されるスイッチ制御信号に基づき、処理回路２の電源のオンオフの切り替えを行う。
【００１６】
クロック信号生成回路３は、クロック信号を生成する。例えば、制御回路４は、予め一定期間におけるセンサ信号の受信回数から受信頻度を求め、その受信頻度よりも処理回路２の電源をオンする頻度が少なくなるように、クロック信号生成回路３にクロック信号の周期を設定させてもよい。
【００１７】
制御回路４は、スイッチＳＷ１のオンオフを制御する。本実施の形態の半導体装置１では、制御回路４は、センサ信号を受信したときに、センサ信号の受信タイミングによらず、クロック信号に同期して、処理回路２の電源をオンするようにスイッチＳＷ１を制御する。制御回路４は、例えば、クロック信号に同期したスイッチ制御信号を生成して、そのスイッチ制御信号でスイッチＳＷ１を制御する。
【００１８】
（半導体装置の動作例）
以下、半導体装置１の動作例を説明する。
図１の下側には、半導体装置１による処理回路１３の電源供給制御方法の一例を示すタイミングチャートが示されている。タイミングチャートには、クロック信号、センサ信号、スイッチ制御信号の一例の様子が示されている。なお、スイッチ制御信号が“１”のときにスイッチＳＷ１はオンし、処理回路２の電源がオン状態となる。
【００１９】
図１の例では、タイミングｔ１，ｔ２で、センサ信号が出力されていることが示されている。制御回路４は、タイミングｔ１，ｔ２でセンサ信号を受けても、スイッチ制御信号を“１”とせず、“０”に維持している。これにより、スイッチＳＷ１はオフのままであり、処理回路２はオフ状態を維持する。
【００２０】
タイミングｔ３で、クロック信号が“１”に立ち上がる。制御回路４は、クロック信号の立ち上がりに同期して、スイッチ制御信号を“１”に立ち上げる。これにより、スイッチＳＷ１がオンし、処理回路２の電源がオン状態となる。電源がオン状態のとき、処理回路２は、タイミングｔ１，ｔ２で２回出力されているセンサ信号に基づく処理を行う。
【００２１】
なお、図１では図示を省略しているが、センサ信号は後述する記憶部（図２参照）に記憶される。この記憶部は、処理回路２の電源がオフ状態のときでも電源がオン状態となっていて、センサ信号を記憶しておくことができる。そのため、処理回路２は電源がオン状態になると、その記憶部に記憶されているセンサ信号に基づいて処理を行う。
【００２２】
タイミングｔ４で、スイッチ制御信号が“０”に立ち下がると、スイッチＳＷ１はオフし、処理回路２は電源がオフ状態になる。なお、スイッチ制御信号のパルス幅は、例えば、センサ信号に基づく処理の長さに応じて適宜設定される。
【００２３】
タイミングｔ５，ｔ６，ｔ７で再びセンサ信号が出力されるが、スイッチ制御信号は“０”のままである。
タイミングｔ８で、クロック信号が“１”に立ち上がると、制御回路４は、クロック信号の立ち上がりに同期して、スイッチ制御信号を“１”に立ち上げる。これにより、スイッチＳＷ１がオンし、処理回路２の電源がオン状態となる。電源がオン状態のとき、処理回路２は、タイミングｔ５〜ｔ７で３回出力されているセンサ信号に基づく処理を行う。
【００２４】
以上のように、半導体装置１は、センサ５から様々なタイミングで供給されるセンサ信号に基づく処理を行う処理回路２の電源を、センサ信号を受信したときに、センサ信号の受信タイミングではなく、内部生成したクロック信号に同期してオンする。そのため、センサ信号が出力される度に処理回路２の電源をオンすることがなく、処理回路２の電源のオン（及びオフ）の回数を削減することができる。これにより、処理回路２の電源のオンオフを切り替えるときに生じる処理回路２内での充放電に伴う電力消費を減らせ、半導体装置１の消費電力を削減することができる。
【００２５】
（第２の実施の形態）
図２は、第２の実施の形態の半導体装置の一例を示す図である。
半導体装置１０は、受信部１１Ａ，１１Ｂ，１１Ｃ、記憶部１２、処理回路１３、スイッチＳＷ２、クロック信号生成回路１４、制御回路１５を有する。クロック信号生成回路１４と制御回路１５は、処理回路１３への電源供給を制御する電源供給制御回路１０ａとして機能する。
【００２６】
受信部１１Ａ〜１１Ｃは、それぞれ、半導体装置１０の外部のセンサ５Ａ，５Ｂ，５Ｃから無線で送信されたセンサ信号を受信し、復調処理やＡ／Ｄ（Analog / Digital）変換処理などを行い、記憶部１２と制御回路１５に出力する。
【００２７】
なお、受信部１１Ａ〜１１Ｃは複数ではなく１つの回路としてもよく、処理後の各センサ５Ａ〜５Ｃからのセンサ信号を分けて、記憶部１２や制御回路１５に供給するようにしてもよい。
【００２８】
記憶部１２は、受信部１１Ａ，１１Ｂ，１１Ｃで処理されたセンサ信号（以下センサ信号Ａ，Ｂ，Ｃという）を保持する。また、記憶部１２は、処理回路１３の電源がオフ状態のときも電源がオン状態となっている。
【００２９】
処理回路１３は、電源がオンすると、スイッチＳＷ２を介して電源から供給される電力を用いて、記憶部１２に保持されているセンサ信号Ａ〜Ｃに基づく処理を行う。例えば、半導体装置１０がセンサネットワークにおける中継装置として用いられる場合には、処理回路１３は、センサ信号Ａ〜Ｃを、他の装置に転送する処理などを行う。また、半導体装置１０がセンサネットワークにおける管理装置として用いられる場合には、処理回路１３は、センサ信号Ａ〜Ｃで表される情報（例えば、温度や湿度などの環境情報やセンサ５Ａ〜５Ｃが人に取り付けられている場合には心拍数や脈拍など）を分析する。処理回路１３は、分析結果などを別の装置に送信するための処理を行ってもよい。
【００３０】
スイッチＳＷ２は、電源と処理回路１３との間に接続されており、制御回路１５から供給されるスイッチ制御信号に基づき、処理回路１３の電源のオンオフを切り替える。
クロック信号生成回路１４は、クロック信号を生成する。クロック信号の周期は、例えば、処理回路１３の電源をオンする頻度が、センサ５Ａ〜５Ｃがセンサ信号Ａ〜Ｃを出力する頻度より少なくなるように、適宜設定される。例えば、制御回路１５が、予め一定期間におけるセンサ信号Ａ〜Ｃの受信回数から受信頻度を求め、その受信頻度よりも処理回路２の電源をオンする頻度が少なくなるように、クロック信号生成回路１４にクロック信号の周期を設定させてもよい。また、記憶部１２の容量が大きいほど、多くのセンサ信号Ａ〜Ｃを保持できるため、クロック信号の周期はより長くなるようにしてもよい。
【００３１】
なお、処理回路１３の電源をオンするタイミングを、処理回路１３の内部クロックと同期させたい場合には、処理回路１３内の図示しないクロック信号生成回路をクロック信号生成回路１４としてもよい。また、クロック信号生成回路１４は、処理回路１３の内部クロック信号を分周して、クロック信号ＣＫとして出力してもよい。
【００３２】
制御回路１５は、センサ信号Ａ〜Ｃの少なくとも１つを受けたとき、センサ信号Ａ〜Ｃの受信タイミングによらず、後述するクロック信号ＣＫに同期して処理回路１３の電源をオンするように、スイッチ制御信号でスイッチＳＷ２を制御する。
【００３３】
また、制御回路１５は、後述するクロック信号ＣＫの遷移タイミングの直前の１周期の間に、センサ信号Ａ，Ｂ，Ｃの出力がないときは、処理回路１３の電源をオフするように、スイッチＳＷ２を制御する。
【００３４】
センサ５Ａ〜５Ｃは、半導体装置１０の外部に所在し、無線により半導体装置１０との間で通信を行う。なお、センサの数は、特にこの数に限定されるものではない。
（制御回路の一例）
以下、制御回路１５の一例を説明する。
【００３５】
図３は、制御回路の一例を示す図である。
制御回路１５は、遅延回路１６、波形整形回路１７、制御信号生成部１８Ａ，１８Ｂ，１８Ｃ、ＯＲ回路１９を有する。
【００３６】
遅延回路１６は、クロック信号ＣＫを遅延させ、遅延クロック信号ＣＫｄとして、波形整形回路１７と制御信号生成部１８Ａ〜１８Ｃに出力する。
波形整形回路１７は、遅延回路１６から出力される遅延クロック信号ＣＫｄのデューティ比を調整することにより波形を整形し、さらにその整形した波形を遅延させて、制御信号生成部１８Ａ〜１８Ｃに出力する。
【００３７】
制御信号生成部１８Ａは、受信部１１Ａから入力されるセンサ信号Ａと、クロック信号ＣＫ、遅延クロック信号ＣＫｄ及び波形整形回路１７の出力に基づいて、“１”または“０”の信号をＯＲ回路１９に出力する。
【００３８】
制御信号生成部１８Ｂは、受信部１１Ｂから入力されるセンサ信号Ｂと、クロック信号ＣＫ、遅延クロック信号ＣＫｄ及び波形整形回路１７の出力に基づいて、“１”または“０”の信号をＯＲ回路１９に出力する。
【００３９】
制御信号生成部１８Ｃは、受信部１１Ｃから入力されるセンサ信号Ｃと、クロック信号ＣＫ、遅延クロック信号ＣＫｄ及び波形整形回路１７の出力に基づいて、“１”または“０”の信号をＯＲ回路１９に出力する。
【００４０】
ＯＲ回路１９は、制御信号生成部１８Ａ〜１８Ｃから出力される信号のＯＲ演算を行い、そのＯＲ演算結果を、スイッチ制御信号として、スイッチＳＷ２に出力する。
以下、制御信号生成部１８Ａ〜１８Ｃの一例を、制御信号生成部１８Ａにより説明する。他の制御信号生成部１８Ｂ，１８Ｃについても同様の回路で実現できる。
【００４１】
制御信号生成部１８Ａは、ＦＦ（フリップフロップ）２０、インバータ回路２１、ＮＯＲ回路２２、ＦＦ２３、クロックドインバータ回路２４、ＮＯＲ回路２５を有する。
ＦＦ２０は、セット・リセット型ＦＦであり、セット端子Ｓは受信部１１Ａに接続され、リセット端子Ｒは波形整形回路１７の出力に接続され、また、出力端子Ｑはインバータ回路２１の入力に接続されている。
【００４２】
インバータ回路２１は、ＦＦ２０から出力される値を反転させ、ＮＯＲ回路２２に出力する。
ＮＯＲ回路２２は、インバータ回路２１から出力される値と、クロック信号ＣＫとのＮＯＲ演算を行い、その演算結果を、ＦＦ２３に出力する。
【００４３】
ＦＦ２３は、セット・リセット型ＦＦであり、セット端子ＳはＮＯＲ回路２２の出力に接続され、リセット端子Ｒは遅延回路１６の出力に接続され、また、出力端子Ｑはクロックドインバータ回路２４の入力に接続されている。
【００４４】
クロックドインバータ回路２４は、インバータ回路２６、トランジスタＴ１，Ｔ２，Ｔ３，Ｔ４を有する。また、クロックドインバータ回路２４は、入力されるクロック信号ＣＫが“１”のとき、活性状態となる。
【００４５】
インバータ回路２６は、クロック信号ＣＫの値を反転させ、トランジスタＴ１のゲートに出力する。
トランジスタＴ１，Ｔ２は、ｐチャネル型トランジスタであり、また、トランジスタＴ３，Ｔ４は、ｎチャネル型トランジスタである。
【００４６】
トランジスタＴ１のゲートはインバータ回路２６の出力に接続され、トランジスタＴ４のゲートはクロック信号生成回路１４の出力に接続され、また、トランジスタＴ２，Ｔ３のゲートはＦＦ２３の出力端子Ｑに接続されている。
【００４７】
トランジスタＴ１の一方の入出力端子（ソース）は電源に接続され、トランジスタＴ１の他方の入出力端子（ドレイン）とトランジスタＴ２の一方の入出力端子（ソース）が接続されている。また、トランジスタＴ２の他方の入出力端子（ドレイン）とトランジスタＴ３の一方の入出力端子（ドレイン）は互いに接続され、さらに、ＮＯＲ回路２５の入力に接続されている。また、トランジスタＴ３の他方の入出力端子（ソース）とトランジスタＴ４の一方の入出力端子（ドレイン）が接続され、トランジスタＴ４の他方の入出力端子（ソース）は接地されている。
【００４８】
ＮＯＲ回路２５は、クロックドインバータ回路２４から出力される値と、遅延回路１６から出力される遅延クロック信号ＣＫｄとのＮＯＲ演算を行い、その演算結果を、ＯＲ回路１９に出力する。
【００４９】
（制御信号生成部の動作例）
以下、制御信号生成部１８Ａの動作例を説明する。
図４は、制御信号生成部の一例の動作を示すタイミングチャートである。
【００５０】
図４では、クロック信号ＣＫ、遅延クロック信号ＣＫｄ、波形整形回路１７の出力、センサ信号Ａ、ＦＦ２０の出力、ＮＯＲ回路２２の出力、ＦＦ２３の出力、ＮＯＲ回路２５の出力の一例の様子が示されている。
【００５１】
タイミングｔ１０の直前では、クロックドインバータ回路２４の出力が“１”であるとする。
図４の例では、タイミングｔ１０で、所定の周期で“１”、“０”を繰り返すセンサ信号Ａが出力されている。センサ信号Ａが“１”に立ち上がることにより、ＦＦ２０の出力も“１”に立ち上がる。さらに、ＦＦ２０の出力の“１”を受けてインバータ回路２６の出力は“０”に立ち下がる。また、このとき、クロック信号ＣＫは“０”であるため、ＮＯＲ回路２２の出力は“１”に立ち上がる。さらに、ＮＯＲ回路２２の出力の“１”を受けて、ＦＦ２３の出力も“１”に立ち上がる。このとき、クロックドインバータ回路２４のトランジスタＴ２はオフ、トランジスタＴ３はオンするが、トランジスタＴ４がオフのままであるため、クロックドインバータ回路２４の出力はフローティング状態となり、直前の値“１”を保持する。そのため、ＮＯＲ回路２５の出力は“０”のままである。
【００５２】
タイミングｔ１１で、クロック信号ＣＫが“１”に立ち上がると、ＮＯＲ回路２２の出力は“０”に立ち下がる。さらに、クロックドインバータ回路２４が活性状態となるため、ＦＦ２３の出力“１”を反転させた“０”がＮＯＲ回路２５に入力される。また、このとき、遅延クロック信号ＣＫｄは“０”であるため、ＮＯＲ回路２５の出力が“１”に立ち上がる。これにより、制御信号生成部１８Ａから“１”がＯＲ回路１９に出力される。
【００５３】
タイミングｔ１２で、遅延クロック信号ＣＫｄが“１”に立ち上がると、ＦＦ２３がリセットされ、ＦＦ２３の出力が“０”に立ち下がる。これにより、クロックドインバータ回路２４の出力は“１”となり、ＮＯＲ回路２５の出力は“０”に立ち下がる。したがって、制御信号生成部１８Ａから“０”がＯＲ回路１９に出力される。
【００５４】
タイミングｔ１３で、波形整形回路１７の出力が“１”に立ち上がると、ＦＦ２０はリセットされ、ＦＦ２０の出力が“０”に立ち下がる。
タイミングｔ１４で、波形整形回路１７の出力が“０”に立ち下がると、ＦＦ２０のリセットが解除される。
【００５５】
タイミングｔ１５では、クロック信号ＣＫが“０”に立ち下がる。これにより、クロックドインバータ回路２４は非活性状態となる。
タイミングｔ１６で、遅延クロック信号ＣＫｄが“０”に立ち下がると、ＦＦ２３のリセットが解除される。
【００５６】
クロック信号ＣＫの次の立ち上がるタイミングｔ１７では、直前の１周期の間（タイミングｔ１１〜ｔ１６）で、センサ信号Ａの出力がない。そのため、ＦＦ２０，２３の出力は“０”のままとなる。クロック信号ＣＫが“１”になることで、クロックドインバータ回路２４が活性状態となり、反転動作を行い、“１”を出力する。これにより、ＮＯＲ回路２５の出力は、“０”のままとなり、制御信号生成部１８ＡからＯＲ回路１９への出力は“０”のままとなる。
【００５７】
このように、クロック信号ＣＫの直前の１周期の間に、センサ信号Ａからの出力がないとき、制御信号生成部１８ＡからＯＲ回路１９への出力は“０”となる。
なお、ＮＯＲ回路２５の出力の“０”への立ち下がり（タイミングｔ１２）からＦＦ２０の出力の“０”への立ち下がり（タイミングｔ１３）までの間に、センサ信号Ａが再び出力される場合がある。このような場合、そのセンサ信号ＡがＦＦ２０に取り込まれても、タイミングｔ１３で、波形整形回路１７の出力の“１”となるため、ＦＦ２０がリセットされ、ＦＦ２０の出力が“０”に立ち下がる。そのため、次にクロック信号ＣＫが立ち上がっても、ＮＯＲ回路２５の出力（制御信号生成部１８Ａの出力）は“１”にはならない。このとき、他の制御信号生成部１８Ｂ，１８Ｃの出力も“０”であると、ＯＲ回路１９から出力されるスイッチ制御信号は“０”のままであり、処理回路１３の電源はオンにならない。
【００５８】
しかし、そのような場合であっても、このとき出力されるセンサ信号Ａは、記憶部１２に保持され、さらに、その保持されたセンサ信号Ａは、次に、別のタイミングでセンサ信号Ａ〜Ｃが発生することにより処理回路１３の電源がオンとなったときに処理される。
【００５９】
以上のような動作は、制御信号生成部１８Ｂ，１８Ｃについても同様に行われる。ＯＲ回路１９は、制御信号生成部１８Ａ〜１８Ｃの出力が、何れか１つでも“１”となると、スイッチ制御信号を“１”とする。
【００６０】
（半導体装置の動作例）
以下、半導体装置１０の動作例を説明する。
図５は、半導体装置による処理回路の電源供給制御方法の一例を示すタイミングチャートである。タイミングチャートには、クロック信号、センサ信号、スイッチ制御信号の一例の様子が示されている。
【００６１】
なお、スイッチ制御信号が“１”のときにスイッチＳＷ２がオンし、さらに、処理回路１３の電源がオン状態となる。なお、図４では、センサ信号Ａは“１”、“０”を繰り返す信号としたが、図５では、図示が簡略化されていて、単に“１”である信号として表記されている。
【００６２】
図５に示す例では、タイミングｔ２０，ｔ２１で、センサ信号Ａ，Ｃが出力されている。このとき、前述の制御回路１５の動作により、ＯＲ回路１９の各入力は“０”を維持するため、ＯＲ回路１９から出力されるスイッチ制御信号は“０”のままとなる。これにより処理回路１３の電源がオフ状態を維持し、センサ信号Ａ，Ｃは、記憶部１２に記憶される。
【００６３】
タイミングｔ２２では、クロック信号ＣＫが“１”に立ち上がっている。このクロック信号ＣＫの遷移タイミングの直前の１周期の間に、センサ信号Ａ，Ｃが出力されているため、前述の制御回路１５の動作により、制御信号生成部１８Ａ，１８Ｃから“１”がＯＲ回路１９に出力される。そのため、スイッチ制御信号が“１”となり、処理回路１３の電源がオン状態となる。
【００６４】
これにより、処理回路１３は、記憶部１２に記憶されたセンサ信号Ａ，Ｃを読み出し、センサ信号Ａ，Ｃに基づく処理を行う。
タイミングｔ２３で、スイッチ制御信号“０”になると、処理回路１３の電源がオフ状態となる。
【００６５】
タイミングｔ２４で、クロック信号ＣＫが再び“１”に立ち上がると、クロック信号ＣＫの遷移タイミングの直前の１周期の間（タイミングｔ２２〜ｔ２４）に、センサ信号Ａ〜Ｃが出力されていない。そのため、制御信号生成部１８Ａ〜１８ＣからＯＲ回路１９への出力は、何れも“０”である。これにより、スイッチ制御信号は“０”のままであり、処理回路１３の電源はオフのままとなる。
【００６６】
このように、クロック信号ＣＫの遷移タイミングの直前の１周期の間でセンサ５Ａ〜５Ｃからのセンサ信号Ａ〜Ｃの出力がないときは、クロック信号ＣＫが“１”に立ち上がっても、処理回路１３の電源がオフとなるようにスイッチＳＷ２は制御される。
【００６７】
タイミングｔ２５では、センサ信号Ａが出力され、タイミングｔ２６，ｔ２７では、それぞれ、センサ信号Ｂが出力され、タイミングｔ２８では、センサ信号Ｃが出力されている。このとき、前述の制御回路１５の動作により、ＯＲ回路１９の各入力は“０”を維持するため、ＯＲ回路１９から出力されるスイッチ制御信号は“０”のままとなる。これにより処理回路１３の電源がオフ状態を維持し、センサ信号Ａ，Ｂ，Ｃは、記憶部１２に記憶される。
【００６８】
タイミングｔ２９では、クロック信号ＣＫが“１”に立ち上がっている。このクロック信号ＣＫの遷移タイミングの直前の１周期の間に、センサ信号Ａ，Ｂ，Ｃが出力されているため、前述の制御回路１５の動作により、制御信号生成部１８Ａ，１８Ｂ，１８Ｃから“１”がＯＲ回路１９に出力される。そのため、スイッチ制御信号が“１”となり、処理回路１３の電源がオン状態となる。
【００６９】
これにより、処理回路１３は、記憶部１２に記憶されたセンサ信号Ａ〜Ｃを読み出し、センサ信号Ａ〜Ｃに基づく処理を行う。
以下、本実施の形態の半導体装置１０の効果を説明する前に、センサ信号を受ける度に電源をオンするイベントドリブン型の半導体装置の例を比較例として説明する。
【００７０】
（比較例）
図６は、半導体装置の比較例を示す図である。
半導体装置３０は、受信部３１Ａ，３１Ｂ，３１Ｃ、処理回路３２、ＯＲ回路３３、スイッチＳＷ３を有する。
【００７１】
受信部３１Ａ，３１Ｂ，３１Ｃは、それぞれ、半導体装置３０の外部のセンサ５Ａ，５Ｂ，５Ｃから無線で送信されたセンサ信号を受信し、復調処理やＡ／Ｄ変換処理などを行い、処理回路３２とＯＲ回路３３に出力する。
【００７２】
処理回路３２は、第２の実施の形態の処理回路１３と同様に、電源がオンすると、スイッチＳＷ３を介して電源から供給される電力を用いて、受信部３１Ａ，３１Ｂ，３１Ｃから出力されるセンサ信号Ａ〜Ｃに基づく処理を行う。
【００７３】
ＯＲ回路３３は、受信部３１Ａ，３１Ｂ，３１Ｃから出力されるセンサ信号Ａ〜ＣのＯＲ演算を行い、その演算結果を、スイッチ制御信号として、スイッチＳＷ３に出力する。
スイッチＳＷ３は、電源と処理回路３２との間に接続されており、処理回路３２の電源のオンオフを切り替える。スイッチＳＷ３は、例えば、ＯＲ回路３３から供給されるスイッチ制御信号に基づき、処理回路３２の電源のオンオフを切り替える。
【００７４】
（比較例の動作例）
以下、半導体装置３０の動作例を説明する。
図７は、比較例の半導体装置による処理回路の電源供給制御方法の一例を示すタイミングチャートである。タイミングチャートでは、センサ信号、スイッチ制御信号の一例の様子が示されている。
【００７５】
図７に示す例ではタイミングｔ３０で、センサ信号Ａが出力されている。このセンサ信号ＡがＯＲ回路３３に入力され、スイッチ制御信号が“１”となり、処理回路３２の電源がオン状態となる。これにより、処理回路３２は、センサ信号Ａに基づく処理を行う。なお、スイッチ制御信号は、例えば、遅延回路などによって、センサ信号Ａの出力が停止しても所定期間“１”を維持してから“０”に遷移する。
【００７６】
タイミングｔ３１では、センサ信号Ｃが出力されている。このセンサ信号ＣがＯＲ回路３３に入力され、スイッチ制御信号が“１”となり、処理回路３２の電源がオン状態となる。これにより、処理回路３２は、センサ信号Ｃに基づく処理を行う。
【００７７】
タイミングｔ３２では、センサ信号Ａが出力されている。このセンサ信号ＡがＯＲ回路３３に入力され、スイッチ制御信号が“１”となり、処理回路３２の電源がオン状態となる。これにより、処理回路３２は、センサ信号Ａに基づく処理を行う。
【００７８】
タイミングｔ３３では、センサ信号Ｂが出力されている。このセンサ信号ＢがＯＲ回路３３に入力され、スイッチ制御信号が“１”となり、処理回路３２の電源がオン状態となる。これにより、処理回路３２は、センサ信号Ｂに基づく処理を行う。
【００７９】
以下、同様にして、センサ信号Ａ〜Ｃが出力される度に、スイッチ制御信号が“１”となり、処理回路３２の電源がオン状態となる。
このような半導体装置３０では、センサ信号Ａ〜Ｃを受信する度に、処理回路３２の電源のオンオフの切り替えが行われる。そのため、半導体装置３０では、センサ信号Ａ〜Ｃを受信する頻度が多いほど、処理回路３２の電源のオンオフの切り替え頻度が多くなる。処理回路３２の電源のオンオフの切り替え頻度が多くなると、処理回路３２内での充放電に伴う電力消費が増え、半導体装置３０の消費電力が増加する。
【００８０】
これに対し、第２の実施の形態の半導体装置１０では、センサが複数あってそれぞれから様々なタイミングでセンサ信号が供給されても、センサ信号の受信タイミングではなく、内部生成したクロック信号に同期して処理回路１３の電源をオンする。そのため、センサ数が増えても、また、センサ信号Ａ〜Ｃが出力される頻度が増加しても、処理回路１３の電源のオン（及びオフ）の回数の増加を抑えられる。これにより、処理回路１３の電源のオンオフにより生じる処理回路１３内での充放電に伴う電力消費を減らせ、半導体装置１０の消費電力を削減することができる。
【００８１】
さらに、第２の実施の形態の半導体装置１０では、クロック信号ＣＫの遷移タイミングの直前の１周期の間で、センサ信号Ａ〜Ｃを受信しないときは、処理回路１３の電源がオフするようにスイッチＳＷ２が制御されている。これにより、さらに半導体装置１０の消費電力を削減することができる。
【００８２】
（第３の実施の形態）
図８は、第３の実施の形態の半導体装置の一例を示す図である。なお、図２に示す要素と同一の要素には同一符号を付し、その説明を省略する。
【００８３】
半導体装置１０ｂは、受信部１１Ａ，１１Ｂ，１１Ｃ、記憶部１２、制御部１２ａ、処理回路１３、スイッチＳＷ２、クロック信号生成回路１４、制御回路１５を有する。
記憶部１２は、制御回路１５から供給されるスイッチ制御信号が“０”となり処理回路１３の電源がオフとなるときは、制御部１２ａの制御に基づき、受信部１１Ａ〜１１Ｃで処理されたセンサ信号Ａ〜Ｃを保持する。また、記憶部１２は、制御回路１５から供給されるスイッチ制御信号が“１”となり処理回路１３の電源がオンとなるときは、制御部１２ａの制御に基づき、保持したセンサ信号Ａ〜Ｃの一部を、処理回路１３に出力する。なお、記憶部１２は、複数の入力端子を有する記憶装置、例えば、複数の入力端子を有するＲＡＭ（Random Access Memory）である。以下では、説明のために、記憶部１２は、４ビットのアドレスにより指定させる１６本のワード線を有するものとする。
【００８４】
制御部１２ａは、制御回路１５から供給されるスイッチ制御信号が“０”のとき、記憶部１２をＷＥ（Write Enable）状態とし、記憶部１２に受信部１１Ａ〜１１Ｃに供給されたセンサ信号Ａ〜Ｃを保持させる。また、制御部１２ａは、スイッチ制御信号が“１”のときは記憶部１２をＲＥ（Read Enable）状態とし、記憶部１２に保持されているセンサ信号Ａ〜Ｃの一部を、センサ５Ａ〜５Ｃの優先度に基づき指定して記憶部１２から読み出し処理回路１３で処理させる。例えば、センサ５Ａ〜５Ｃにおいて、重要度の高いセンサほど優先度が高い。
【００８５】
（制御部の一例）
図９は、制御部の一例を示す図である。
制御部１２ａは、処理部４０Ａ，４０Ｂ，４０Ｃ、ＯＲ回路４１、バッファ４２，４３、アップカウンタ４４、レジスタ４５、減算器４６、比較器４７、アップカウンタ４８、ダウンカウンタ４９、ＣＡＭ（Content Addressable Memory）５０を有する。
【００８６】
処理部４０Ａは、受信部１１Ａからセンサ信号Ａが入力されると、センサ信号Ａの優先度フラグを生成し、ＣＡＭ５０に出力する。さらに、処理部４０Ａは、センサ信号Ａが入力されると“１”となる信号をＯＲ回路４１に出力する。また、処理部４０Ａは、センサ信号Ａの１ビットずつ順番に入力される信号を並列のデータに変換し、記憶部１２に出力する。
【００８７】
処理部４０Ｂは、受信部１１Ｂからセンサ信号Ｂが入力されると、センサ信号Ｂの優先度フラグを生成し、ＣＡＭ５０に出力する。さらに、処理部４０Ｂは、センサ信号Ｂが入力されると“１”となる信号をＯＲ回路４１に出力する。また、処理部４０Ｂは、センサ信号Ｂの１ビットずつ順番に入力される信号を並列のデータに変換し、記憶部１２に出力する。
【００８８】
処理部４０Ｃは、受信部１１Ｃからセンサ信号Ｃが入力されると、センサ信号Ｃの優先度フラグを生成し、ＣＡＭ５０に出力する。さらに、処理部４０Ｃは、センサ信号Ｃが入力されると“１”となる信号をＯＲ回路４１に出力する。また、処理部４０Ｃは、センサ信号Ｃの１ビットずつ順番に入力される信号を並列のデータに変換し、記憶部１２に出力する。
【００８９】
以下、処理部４０Ａの回路例を説明する。他の処理部４０Ｂ，４０Ｃについても同様の回路で実現できる。
処理部４０Ａは、フラグ発生器５１、ＯＲ回路５２、シリアル／パラレル回路５３を有する。
【００９０】
フラグ発生器５１は、受信部１１Ａからセンサ信号Ａが入力されると、センサ信号Ａの優先度フラグをＯＲ回路５２とＣＡＭ５０に出力する。優先度フラグは、例えば、２ビットの信号で表される。優先度フラグは、上記の優先度に基づいて予め外部（図示しないコンピュータ）によりフラグ発生器５１に設定されている。
【００９１】
図１０は、優先度フラグの設定例を示す図である。
図１０では、センサ５Ａ〜５Ｃで優先度が設定されている例が示されている。優先度フラグは、値が大きいほど優先度が高いことを示している。
【００９２】
すなわち、優先度フラグは、センサ５Ａに対しては“０１”、センサ５Ｂに対しては“１０”、センサ５Ｃに対して“１１”が設定されている。また、図１０には、各優先度フラグの値のときの、優先度の判断の一例が示されている。図１０の例では、優先度フラグが“０１”のセンサ５Ａは、優先度が低く、センサ信号Ａは処理せず捨てても良く、優先度フラグが“１０”のセンサ５Ｂは、優先度は低いが、センサ信号Ｂは処理することが望ましい。また、優先度フラグが“１１”のセンサ５Ｃのセンサ信号Ｂは最優先で処理することが望ましい。
【００９３】
図９の説明に戻る。
ＯＲ回路５２は、フラグ発生器５１から供給される優先度フラグの２ビットの信号のＯＲ演算を行い、その演算結果を、ＯＲ回路４１に出力する。センサ信号Ａが処理部４０Ａに供給されると、フラグ発生器５１により２ビットの信号のうち少なくとも１ビットが“１”となる優先度フラグ“０１”がＯＲ回路５２に出力されるため、ＯＲ回路５２は“１”となる信号をＯＲ回路４１に出力する。
【００９４】
シリアル／パラレル回路５３は、受信部１１Ａから、センサ信号Ａの１ビットずつ順番に入力される信号を並列のデータに変換し、記憶部１２に出力する。
ＯＲ回路４１は、処理部４０Ａ，４０Ｂ，４０Ｃから供給される信号（例えば処理部４０ＡのＯＲ回路５２）のＯＲ演算を行う。そして、ＯＲ回路４１は、ＯＲ演算結果をＷｒｉｔｅクロック信号（以下単にクロック信号ＣＫｗという）として出力する。
【００９５】
バッファ４２は、クロック信号ＣＫｗを遅延し、アップカウンタ４４に出力する。
バッファ４３は、クロック信号ＣＫｗを遅延し、記憶部１２に出力する。バッファ４２での遅延量は、バッファ４３での遅延量よりも大きい。
【００９６】
アップカウンタ４４は、例えば４ビットのカウンタであり、バッファ４２から供給される信号の立ち上がりに同期して、カウンタ値を“００００”からインクリメントしていく。さらに、アップカウンタ４４は、そのカウンタ値をＷｒｉｔｅアドレスとして、ＣＡＭ５０と記憶部１２に出力する。また、アップカウンタ４４は、制御回路１５から供給されるスイッチ制御信号が“１”（ＲＥ状態）となると、保持しているカウンタ値を“００００”にリセットする。
【００９７】
レジスタ４５は、例えば、一定期間の間に、処理回路１３が処理するセンサ信号Ａ〜Ｃのデータ量（以下ではデータ数とする）の上限値を保持する。レジスタ４５に保持されるこの上限値は、図示しないコンピュータなどによって予め設定される。
【００９８】
減算器４６は、レジスタ４５が保持する値から１を減算し、比較器４７に出力する。
比較器４７は、減算器４６の出力値とアップカウンタ４８のカウンタ値とを比較する。比較器４７は、アップカウンタ４８のカウンタ値が減算器４６の出力値を超えると、“１”となるリセット信号を出力する。
【００９９】
アップカウンタ４８は、ＣＡＭ５０から供給されるＵｐ信号の立ち上がりに同期して、カウンタ値をインクリメントしていく。また、アップカウンタ４８は、比較器４７が出力するリセット信号が“１”となると、カウンタ値をリセットする。
【０１００】
ダウンカウンタ４９は、例えば６ビットのカウンタである。ダウンカウンタ４９は、制御回路１５から供給されるスイッチ制御信号が“１”（ＲＥ状態）となると、Ｒｅａｄクロック信号（以下単にクロック信号という）ＣＫｒに同期して、６ビットのカウンタ値を出力する。また、ダウンカウンタ４９は、ＣＡＭ５０から供給される“１”となるＤｏｗｎ信号を受けると、出力するカウンタ値をデクリメントする。また、ダウンカウンタ４９は、比較器４７から供給される“１”となるリセット信号を受けると、カウンタ値を、初期値（“１１１１１１”）にリセットする。なお、クロック信号ＣＫｒには、例えば、クロック信号生成回路１４（図８参照）から供給されるクロック信号ＣＫを用いることができる。
【０１０１】
ＣＡＭ５０は、記憶部５０ａ，５０ｂを有する。
記憶部５０ａは、スイッチ制御信号が“０”（ＷＥ状態）のとき、クロック信号ＣＫｗに同期して、Ｗｒｉｔｅアドレスで指定されるアドレスに、処理部４０Ａ〜４０Ｃから供給される２ビットの信号である優先度フラグを記憶する。
【０１０２】
記憶部５０ｂには、アドレスを示す４ビットデータが予め記憶されている。４ビットデータは、後述するＲｅａｄアドレスとして用いられる。
ＣＡＭ５０は、スイッチ制御信号が“１”（ＲＥ状態）となると、ダウンカウンタ４９の６ビットのカウンタ値と、記憶部５０ａ，５０ｂに記憶されているデータとを比較する。ＣＡＭ５０は、６ビットのカウンタ値の最上位ビット（ＭＳＢ）と最下位ビット（ＬＳＢ）が、それぞれ、記憶部５０ａに記憶されている２ビットデータの最上位ビットと、記憶部５０ｂに記憶されている４ビットデータの最下位ビットに対応するように比較を行う。
【０１０３】
そして、ＣＡＭ５０は、ダウンカウンタ４９のカウンタ値と、記憶部５０ａ，５０ｂに記憶されている６ビットデータとが一致するときは、一致する６ビットデータのうち、記憶部５０ｂに記憶されている下位４ビットデータをＲｅａｄアドレスとして出力する。また、このとき、ＣＡＭ５０は、“１”となるＵｐ信号を出力する。
【０１０４】
また、ＣＡＭ５０は、ダウンカウンタ４９のカウンタ値と記憶部５０ａ，５０ｂに記憶されている６ビットデータとの比較毎に、“１”となるＤｏｗｎ信号を出力する。
以上が、制御部１２ａの回路例である。
【０１０５】
記憶部１２は、スイッチ制御信号が“０”（ＷＥ状態）のときは、クロック信号ＣＫｗに同期して、Ｗｒｉｔｅアドレスで指定されるアドレスに、処理部４０Ａ〜４０Ｃから供給されるセンサ信号Ａ〜Ｃを記憶する。また、記憶部１２は、スイッチ制御信号が“１”（ＲＥ状態）のときは、ＣＡＭ５０が出力するＲｅａｄアドレスを受けて、記憶しているセンサ信号Ａ〜Ｃのデータを処理回路１３に出力する。
【０１０６】
（書き込み動作例）
スイッチ制御信号が“０”のときは、ＷＥ状態となり書き込み動作が行われる。
図１１は、書き込みデータの一例を示す図である。
【０１０７】
図１１には、ＣＡＭ５０の記憶部５０ａに記憶される優先度フラグと、記憶部１２に記憶されるセンサ信号Ａ〜Ｃのデータの一例が示されている。センサ信号Ａ〜Ｃのデータが記憶される記憶部１２のアドレスと、そのセンサ信号Ａ〜Ｃの優先度フラグが記憶される記憶部５０ａのアドレスは同一である。
【０１０８】
Ｗｒｉｔｅアドレスはセンサ信号Ａ〜Ｃを制御部１２ａが受ける度に、アップカウンタ４４により“００００”から順にインクリメントされ、ＣＡＭ５０（記憶部５０ａ）と記憶部１２に供給される。そのため、センサ信号Ａ〜Ｃのデータは、制御部１２ａへの供給順に、記憶部１２のアドレス“００００”から順番に書き込まれる。また、そのセンサ信号Ａ〜Ｃを出力したセンサ５Ａ〜５Ｃの優先度に応じた値となる優先度フラグは、記憶部５０ａのアドレス“００００”から順番に書き込まれる。
【０１０９】
（読み出し動作例）
スイッチ制御信号が“１”のときは、ＲＥ状態となり読み出し動作が行われる。
図１２は、ＲＥ状態のときのＣＡＭとダウンカウンタの動作の一例を説明する図である。
【０１１０】
図１２には、前述のＷＥ状態のときに、記憶部５０ａに記憶された優先度フラグの２ビットデータと、予め記憶部５０ｂに記憶されている４ビットデータが示されている。
読み出し動作時には、ＣＡＭ５０は、ダウンカウンタ４９のカウンタ値と記憶部５０ａ，５０ｂに記憶されている６ビットデータとの比較を行う。
【０１１１】
まず、記憶部５０ａのアドレス“１１１１”に記憶されている優先度フラグの２ビットデータと、記憶部５０ｂに記憶されている４ビットデータ“１１１１”とを合わせた６ビットデータと、カウンタ値“１１１１１１”とが比較される。
【０１１２】
図１２の例では、記憶部５０ａのアドレス“１１１１”に記憶されている優先度フラグは“１０”であるため、ダウンカウンタ４９のカウンタ値“１１１１１１”とは一致しない。ＣＡＭ５０は、“１”となるＤｏｗｎ信号を出力する。
【０１１３】
ダウンカウンタ４９は“１”となるＤｏｗｎ信号を受けると、カウンタ値をデクリメントして、“１１１１１０”をＣＡＭ５０に出力する。
次に、ＣＡＭ５０は、記憶部５０ａのアドレス“１１１０”に記憶されている優先度フラグの２ビットデータと記憶部５０ｂの４ビットデータ“１１１０”とを合わせた６ビットデータと、カウンタ値“１１１１１０”とを比較する。
【０１１４】
図１２の例では、記憶部５０ａのアドレス“１１１０”に記憶されている優先度フラグは“１１”であるため、ダウンカウンタ４９のカウンタ値“１１１１１０”と一致する。そのため、ＣＡＭ５０は、記憶部５０ｂの４ビットデータ“１１１０”をＲｅａｄアドレスとして記憶部１２に出力し、さらに、“１”となるＵｐ信号をアップカウンタ４８に出力する。また、ＣＡＭ５０は、比較後、“１”となるＤｏｗｎ信号をダウンカウンタ４９に出力する。これにより、記憶部１２のアドレス“１１１０”に記憶されたセンサ信号のデータが読み出され、処理回路１３に供給される。
【０１１５】
同様の処理が繰り返され、アップカウンタ４８のカウンタ値が減算器４６の出力値を超えると、比較器４７によって“１”となるリセット信号が出力され、ダウンカウンタ４９のカウンタ値は“１１１１１１”にリセットされる。また、アップカウンタ４８のカウンタ値は“０”にリセットされる。
【０１１６】
図１３は、ＲＥ状態のときに、記憶部から読み出され、処理回路に出力されるセンサ信号のデータの一例を示す図である。
図１３では、センサ信号Ａ〜Ｃのデータが、処理回路１３で処理される順に並べられている。また、図１３の例では、レジスタ４５に格納されている、処理回路１３が処理するセンサ信号Ａ〜Ｃのデータ数の上限値は、“４”である。
【０１１７】
前述の読み出し処理によって、センサ信号Ａ〜Ｃのデータは、図１３に示すように、優先度フラグの２ビットデータの値が大きい順に読み出され、処理回路１３で処理される。つまり、センサ５Ａ〜５Ｃのうち、優先度の高いセンサ５Ｃのセンサ信号Ｃのデータが優先的に処理される。
【０１１８】
また、例えば、同一のセンサから供給される複数のデータについては、優先度フラグの２ビットデータの値が同一となるので、記憶部１２において、値が大きいアドレスに記憶されているデータほど優先的に読み出される。つまり、制御部１２ａに供給されたのが後のデータから優先的に読み出される。古いデータよりも新しいデータの方が、処理する価値が高いことが考えられるためである。
【０１１９】
例えば、センサ信号Ｂの複数のデータのうち、アドレス“００１１”に記憶されているデータ“ｄｄｄｄｄｄｄｄ”は、アドレス“０００１”に記憶されているデータ“ｂｂｂｂｂｂｂｂ”よりも先に記憶部１２から読み出され、処理回路１３で処理される。
【０１２０】
さらに、図１３の例では、処理回路１３が処理するセンサ信号Ａ〜Ｃのデータ数の上限値“４”であるため、センサ信号Ａの３つのうち２つのデータ（アドレス“０１００”，“００００”に記憶されているデータ）は、記憶部１２から読み出されない。すなわち、センサ信号Ａの３つのうち２つのデータは、処理回路１３で処理されない。
【０１２１】
以下、書き込み動作時と読み出し動作時の半導体装置１０ｂの各部の信号の一例を、タイミングチャートを用いて説明する。
（書き込み動作時の半導体装置１０ｂの各部の信号の一例）
図１４は、書き込み動作時の第３の実施の形態の半導体装置の各部の信号の一例を示すタイミングチャートである。
【０１２２】
図１４には、スイッチ制御信号、センサ信号Ａ〜Ｃ、各処理部４０Ａ〜４０Ｃのフラグ発生器の出力、クロック信号ＣＫｗ、アップカウンタ４４の出力（Ｗｒｉｔｅアドレス）の一例の様子が示されている。さらに、図１４には、ＣＡＭ５０の記憶部５０ａへの書き込みデータ（優先度フラグを示す２ビットデータ）と、記憶部１２への書き込みデータの一例の様子が示されている。
【０１２３】
タイミングｔ４０で、スイッチ制御信号が“１”から“０”に立ち下がると、制御部１２ａは、ＷＥ状態となる。記憶部５０ａの全データは、このタイミングで“０”にリセットされる。
【０１２４】
タイミングｔ４１では、所定の周期で“１”、“０”を繰り返すセンサ信号Ａが出力されている（図１４の例では４ビットのデータ“１１１１”を示している）。センサ信号Ａが“１”に立ち上がることにより、処理部４０Ａのフラグ発生器５１は“０１”となる優先度フラグを生成する。また、優先度フラグが生成されることにより、クロック信号ＣＫｗが“１”に立ち上がる。
【０１２５】
クロック信号ＣＫｗの立ち上がりは、アップカウンタ４４よりも記憶部１２に先に伝わる。アップカウンタ４４が出力するＷｒｉｔｅアドレスの初期値は“００００”であるため、記憶部１２は、アドレス“００００”に、処理部４０Ａのシリアル／パラレル回路５３により並列データとなったセンサ信号Ａのデータ“１１１１”を記憶する。さらに、クロック信号ＣＫｗの立ち上がりがアップカウンタ４４に伝わると、カウンタ値がインクリメントされ、次のＷｒｉｔｅアドレス“０００１”が生成される。なお、センサ信号Ａが所定期間“０”となると、処理部４０Ａのフラグ発生器５１の出力は“００”となり、クロック信号ＣＫｗが“０”に立ち下がる。
【０１２６】
４ビットのデータ“１０１１”となるセンサ信号Ｂが出力されたとき（タイミングｔ４２）と、４ビットのデータ“１１０１”となるセンサ信号Ｃが出力されたとき（タイミングｔ４３）も同様の処理が行われる。また、“１００１”となるセンサ信号Ａが出力されたとき（タイミングｔ４４）も、同様の処理が行われる。
【０１２７】
タイミングｔ４５では、スイッチ制御信号が“０”から“１”に立ち上がっている。これにより、制御部１２ａは、ＲＥ状態となる。このとき、アップカウンタ４４はリセットされ、Ｗｒｉｔｅアドレスは“００００”となる。
【０１２８】
（読み出し動作時の半導体装置１０ｂの各部の信号の一例）
図１５は、読み出し動作時の第３の実施の形態の半導体装置の各部の信号の一例を示すタイミングチャートである。
【０１２９】
図１５には、スイッチ制御信号、ダウンカウンタ４９の出力、Ｕｐ信号、アップカウンタ４８の出力、Ｒｅａｄアドレス、リセット信号の一例の様子が示されている。なお、以下では、処理回路１３が処理するセンサ信号Ａ〜Ｃのデータ数の上限値として、レジスタ４５に“４”（減算器４６が出力する値は“３”）が設定されているものとして説明する。
【０１３０】
タイミングｔ５０で、スイッチ制御信号が“０”から“１”に立ち上がっている。これにより、制御部１２ａは、ＲＥ状態となる。
スイッチ制御信号が“１”に立ち上がると、ダウンカウンタ４９は、タイミングｔ５１で、カウンタ値の初期値である“１１１１１１”を出力する。そして、ＣＡＭ５０は、ダウンカウンタ４９の出力“１１１１１１”と記憶部５０ａ，５０ｂに記憶されている６ビットデータとを比較する。図１５の例では、両者は一致しないので、ＣＡＭ５０は、Ｕｐ信号を“０”に維持したまま、比較後、“１”となるＤｏｗｎ信号をダウンカウンタ４９に出力する。
【０１３１】
“１”となるＤｏｗｎ信号を受けたダウンカウンタ４９は、タイミングｔ５２で、カウンタ値をデクリメントし、“１１１１１０”を出力し、ＣＡＭ５０で、記憶部５０ａ，５０ｂに記憶されている６ビットデータとの比較が行われる。このときも、ダウンカウンタ４９の出力“１１１１１０”と記憶部５０ａ，５０ｂの６ビットデータは一致しないので、Ｕｐ信号は“０”に維持されたままとなる。そして“１”となるＤｏｗｎ信号がダウンカウンタ４９に出力され、ダウンカウンタ４９はカウンタ値をデクリメントする。
【０１３２】
タイミングｔ５３でも、同様の処理が行われる。
図１５の例では、タイミングｔ５４で、ダウンカウンタ４９の出力は、“１１００１０”となったとき、記憶部５０ａ，５０ｂのデータと一致する。このとき、ＣＡＭ５０は、記憶部５０ｂの４ビットデータ“００１０”をＲｅａｄアドレスとして記憶部１２に出力する。また、ＣＡＭ５０は、Ｕｐ信号を“１”に立ち上げる。アップカウンタ４８は、Ｕｐ信号の立ち上がりを受けて、カウンタ値をインクリメントし、“００１”を出力する。また、ＣＡＭ５０は、比較後、“１”となるＤｏｗｎ信号をダウンカウンタ４９に出力する。
【０１３３】
図１５では、さらに、３度続けてダウンカウンタ４９の出力と、記憶部５０ａ，５０ｂのデータとが一致する例が示されている（タイミングｔ５５，ｔ５６，ｔ５７）。タイミングｔ５７でＵｐ信号が“１”に立ち上がると、アップカウンタ４８の出力は、“１００”（１０進数で“４”）となる。このとき、アップカウンタ４８の出力が、減算器４６の出力値“３”を超えるため、比較器４７により、リセット信号が“１”に立ち上がる（タイミングｔ５８）。リセット信号が“１”に立ち上がることにより、ダウンカウンタ４９の出力は“１１１１１１”に、アップカウンタ４８の出力は“０００”にリセットされる。
【０１３４】
タイミングｔ５９で、スイッチ制御信号が“１”から“０”に立ち下がっている。これにより、制御部１２ａはＷＥ状態になる。
ところで、上記のような制御部１２ａの処理は、ソフトウェアにより実現することもできる。その場合、制御部１２ａの機能は、例えば、ＲＯＭ（Read Only Memory）などに格納されたプログラムを、プロセッサ（ＣＰＵ（Central Processing Unit）など）が実行することにより実現される。以下、ソフトウェアにより実行させる場合の制御を説明する。
【０１３５】
まず、書き込み動作について説明する。
（ソフトウェアによる書き込み動作例）
図１６は、書き込み動作時の一例の処理の流れを示すフローチャートである。
【０１３６】
まず、制御部１２ａは、ＷＥ状態か否か判定する（ステップＳ１）。例えば、制御部１２ａは、制御回路１５から供給されるスイッチ制御信号が“０”であればＷＥ状態であると判定し、制御回路１５から供給されるスイッチ制御信号が“１”であれば、ＷＥ状態でない（ＲＥ状態である）と判定する。制御部１２ａは、ＷＥ状態と判定したときは、ステップＳ２Ａ，Ｓ２Ｂ，Ｓ２Ｃの処理を実行する。一方、制御部１２ａは、ＷＥ状態でないと判定したときは、処理を終了して読み出し動作を行う。
【０１３７】
ステップＳ２Ａ〜Ｓ２Ｃの処理は、それぞれ、センサ信号Ａ〜Ｃごとに行われる処理である。以下では、センサ信号Ａに対する処理であるステップＳ２Ａの処理を例に説明する。
【０１３８】
まず、制御部１２ａは、センサ信号Ａを受信したか否か判定する（ステップＳ３）。制御部１２ａは、センサ信号Ａを受信したと判定したときは、ステップＳ４の処理を実行する。一方、制御部１２ａは、センサ信号Ａを受信していないと判定したときは、ステップＳ１の処理に戻る。
【０１３９】
次に、制御部１２ａは、センサ信号Ａの優先度フラグ６０Ａを、例えば、記憶部１２から読み出して取得する（ステップＳ４）。優先度フラグ６０Ａ，６０Ｂ，６０Ｃは、例えば、記憶部１２に記憶されている。優先度フラグ６０Ａ，６０Ｂ，６０Ｃの値（例えば、前述したような２ビットデータ）は、センサ５Ａ〜５Ｃの優先度に基づいてセンサごとに設定されている。
【０１４０】
その後、制御部１２ａは、センサ信号Ａ〜Ｃのデータと、そのセンサ信号Ａ〜Ｃの優先度フラグ６０Ａ〜６０Ｃを含むテーブルデータ６１を作成する（ステップＳ５）。テーブルデータ６１として、例えば、図１１に示したようなものが作成される。作成されたテーブルデータ６１は、例えば、記憶部１２に記憶される。
【０１４１】
制御部１２ａは、制御部１２ａへのセンサ信号Ａ〜Ｃのデータに対し、制御部１２ａへの供給順に、アドレスを“００００”から昇順に割り当てていく。
そして、制御部１２ａは、テーブルデータ６１で指定された記憶部１２のアドレスに、センサ信号Ａ〜Ｃのデータを書き込む（ステップＳ６）。
【０１４２】
ステップＳ６の処理の終了後、制御部１２ａは、ステップＳ１からの処理を繰り返し行う。
次に、読み出し動作について説明する。
【０１４３】
（ソフトウェアによる読み出し動作例）
図１７は、読み出し動作時の一例の流れを示すフローチャートである。
まず、制御部１２ａは、ＲＥ状態か否か判定する（ステップＳ１０）。制御部１２ａは、例えば、制御回路１５から供給されるスイッチ制御信号が“１”であればＲＥ状態であると判定し、制御回路１５から供給されるスイッチ制御信号が“０”であれば、ＲＥ状態でない（ＷＥ状態）と判定する。制御部１２ａは、ＲＥ状態であると判定したときは、ステップＳ１１の処理を実行する。一方、制御部１２ａは、ＲＥ状態でないと判定したときは、処理を終了して書き込み動作を行う。
【０１４４】
次に、制御部１２ａは、テーブルデータ６１（図１６参照）をソートし、ソートデータ６２を作成する（ステップＳ１１）。ソートデータ６２として、例えば、図１３に示したようなものが作成される。
【０１４５】
制御部１２ａは、センサ信号Ａ〜Ｃのデータに対して、図１３に示したように、優先度フラグの２ビットデータの値が大きいものが上位になるようにソートする。また、制御部１２ａは、優先度フラグが同一となる複数のデータに対しては、アドレスが大きいもの、すなわち時間的に後に供給されたものが上位になるようにソートする。
【０１４６】
その後、制御部１２ａは、ソートデータ６２に基づいて、センサ信号Ａ〜Ｃのデータをソート順に記憶部１２から読み出し、処理回路１３に出力する（ステップＳ１２）。
また、制御部１２ａは、ステップＳ１２の処理により記憶部１２から読み出したセンサ信号Ａ〜Ｃのデータ数が、処理回路１３が処理する上限値６３に達したか否か判定する（ステップＳ１３）。上限値６３は、例えば、記憶部１２に記憶されており、その値は、予め外部から設定されている。制御部１２ａは、読み出したセンサ信号Ａ〜Ｃのデータ数が、上限値６３より小さいと判定したときは、ステップＳ１２からの処理を繰り返し行う。一方、制御部１２ａは、読み出したセンサ信号Ａ〜Ｃのデータ数が、上限値６３に達したと判定したときは、処理を終了する。
【０１４７】
例えば、上限値６３が“４”と設定されている場合、ステップＳ１３の処理により、図１３に示すセンサ信号Ａの２つのデータ（“ｅｅｅｅｅｅｅｅ”，“ａａａａａａａａ”）は、記憶部１２から読み出されず処理回路１３で処理されない。
【０１４８】
以上のように、本実施の形態の半導体装置１０ｂによれば、第２の実施の形態の半導体装置１０と同様の効果が得られるとともに、処理回路１３で処理されるデータが制限されるため、より消費電力を削減することができる。
【０１４９】
（第４の実施の形態）
図１８は、第４の実施の形態の半導体装置における制御部の一例を示す図である。なお、図９に示す要素と同一の要素には同一符号を付し、その説明を省略する。
【０１５０】
図１８には、第４の実施の形態の半導体装置１０ｃの制御部１２ｂが示されている。
制御部１２ｂは、制御回路１５から供給されるスイッチ制御信号が“０”のとき、記憶部１２をＷＥ状態とし、記憶部１２に受信部１１Ａ〜１１Ｃに供給されたセンサ信号Ａ〜Ｃを保持させる。また、制御部１２ｂは、制御回路１５から供給されるスイッチ制御信号が“１”のときはＲＥ状態とし、記憶部１２に保持されているセンサ信号Ａ〜Ｃの一部を、優先度フラグと割り込みフラグに基づき指定して記憶部１２から読み出し処理回路１３で処理させる。なお、割り込みフラグについては後述する。
【０１５１】
制御部１２ｂは、処理部４０Ａ１，４０Ｂ１，４０Ｃ１、ＯＲ回路４１、バッファ４２，４３、アップカウンタ４４、レジスタ４５、減算器４６、比較器４７、アップカウンタ４８、ダウンカウンタ４９ａ、ＣＡＭ５０ｃを有する。
【０１５２】
以下処理部４０Ａ１の一例を説明するが、処理部４０Ｂ１，４０Ｃ１についても、処理部４０Ａ１と同様である。
処理部４０Ａ１は、図９に示した処理部４０Ａとほぼ同様の機能を有するが、受信部１１Ａからセンサ信号Ａが入力されると、前述した優先度フラグの他に、割り込みフラグを生成し、ＣＡＭ５０ｃに出力する。
【０１５３】
処理部４０Ａ１は、処理部４０Ａと同様、フラグ発生器５１ａ、ＯＲ回路５２ａ、シリアル／パラレル回路５３を有する。ただし、フラグ発生器５１ａは、処理部４０Ａのフラグ発生器５１と異なり、受信部１１Ａからセンサ信号Ａが入力されると、センサ信号Ａの優先度フラグの他に割り込みフラグを、ＯＲ回路５２ａとＣＡＭ５０ｃに出力する。
【０１５４】
優先度フラグは、第３の実施の形態と同様に、例えば、２ビットの信号で表され、前述の優先度に基づいて予め外部（図示しないコンピュータ）によりフラグ発生器５１ａに設定されている。第４の実施の形態でも、第３の実施の形態と同様に、センサ５Ａ〜５Ｃの順で優先度が高いものとし、センサ信号Ａ〜Ｃの優先度フラグは、それぞれ、“０１”，“１０”，“１１”で設定されるものとする。
【０１５５】
割り込みフラグは、例えば、１ビットの信号で表され、各センサ５Ａ〜５Ｃに割り当てられている。優先度が低いセンサのデータであっても、そのセンサに割り当てられた割り込みフラグが、例えば、“１”となっている場合には、そのセンサのデータは少なくとも１回、記憶部１２から読み出され、処理回路１３で処理（以下割り込み処理という）される。
【０１５６】
図１９は、割り込みフラグの設定例を示す図である。
前述したようにセンサ５Ａは、優先度が低く、センサ信号Ａは処理せず捨てても良いため（図１０参照）、割り込み処理は不要であり、センサ５Ａに対しては割り込み処理を行わないことを示す割り込みフラグ“０”が割り当てられている。
【０１５７】
一方、センサ５Ｂは、優先度が低いが、センサ信号Ｂは処理することが望ましいため、割り込み処理を行うことが望ましく、センサ５Ｂに対しては割り込み処理を行うことを示す割り込みフラグ“１”が割り当てられている。
【０１５８】
また、センサ５Ｃは最優先であるため、割り込み処理を行わなくても、センサ信号Ｃは処理される。そのため、割り込みフラグ“０”が割り当てられている。
図１８の説明に戻る。
【０１５９】
ＯＲ回路５２ａは、フラグ発生器５１ａから供給される優先度フラグの２ビットの信号と割り込みフラグの１ビットの信号による３ビットの信号のＯＲ演算を行い、そのＯＲ演算結果を、ＯＲ回路４１に出力する。センサ信号Ａが処理部４０Ａ１に供給されると、フラグ発生器５１ａにより割り込みフラグと優先度フラグによる３ビットの信号のうち少なくとも１ビットが“１”となる３ビットの信号が、ＯＲ回路５２ａに出力される。そのため、センサ信号Ａが処理部４０Ａ１に供給されると、ＯＲ回路５２ａは“１”となる信号をＯＲ回路４１に出力する。
【０１６０】
シリアル／パラレル回路５３は、受信部１１Ａから、センサ信号Ａの１ビットずつ順番に入力される信号を並列のデータに変換し、記憶部１２に出力する。
ダウンカウンタ４９ａは、図９に示したダウンカウンタ４９と異なり、例えば７ビットのカウンタである。ダウンカウンタ４９ａは、制御回路１５から供給されるスイッチ制御信号が“１”（ＲＥ状態）となると、クロック信号ＣＫｒに同期して、７ビットデータ（初期値“１１１１１１１”）をＣＡＭ５０ｃに出力する。また、ダウンカウンタ４９ａは、ＣＡＭ５０ｃから“１”となるＤｏｗｎ信号を受けると、出力するカウンタ値をデクリメントする。
【０１６１】
さらに、ダウンカウンタ４９ａは、ＣＡＭ５０ｃから“１”となるリセット２信号を受けると、カウンタ値を“０１１１１１１”にリセットする。そして、ダウンカウンタ４９ａは、ＣＡＭ５０ｃから“１”となるＤｏｗｎ信号を受けると、リセット後の“０１１１１１１”からデクリメントしたカウンタ値を出力する。
【０１６２】
また、ダウンカウンタ４９ａは、比較器４７から“１”となるリセット信号を受けると、カウンタ値を、初期値（“１１１１１１１”）にリセットする。
以下では、比較器４７から出力されるリセット信号と区別するために、ＣＡＭ５０ｃから出力されるリセット信号を、リセット２信号と表記する。
【０１６３】
ＣＡＭ５０ｃは、記憶部５０ｄと記憶部５０ｂを有する。
記憶部５０ｄは、スイッチ制御信号が“０”（ＷＥ状態）のとき、クロック信号ＣＫｗに同期して、Ｗｒｉｔｅアドレスで指定されるアドレスに、処理部４０Ａ１〜４０Ｃ１から供給される優先度フラグと割り込みフラグによる３ビットの信号を記憶する。このとき、記憶部５０ｄは、３ビットの信号の最上位ビットが割り込みフラグの１ビットの信号、３ビットの信号の下位２ビットが割り込みフラグの２ビットの信号となるように記憶する。
【０１６４】
記憶部５０ｂには、アドレスを示す４ビットデータが予め記憶されている。４ビットデータは、後述するＲｅａｄアドレスとして用いられる。
ＣＡＭ５０ｃは、スイッチ制御信号が“１”（ＲＥ状態）となると、ダウンカウンタ４９ａの７ビットのカウンタ値と、記憶部５０ｄ，５０ｂに記憶されているデータとを比較する。ＣＡＭ５０ｃは、７ビットのカウンタ値の最上位ビット（ＭＳＢ）と最下位ビット（ＬＳＢ）が、それぞれ、記憶部５０ｄに記憶されている３ビットデータの最上位ビットと記憶部５０ｂに記憶されている４ビットデータの最下位ビットに対応するように比較を行う。
【０１６５】
そして、ＣＡＭ５０ｃは、ダウンカウンタ４９ａのカウンタ値と、記憶部５０ｄ，５０ｂに記憶されている７ビットデータとが一致するときは、一致する７ビットデータのうち、記憶部５０ｂに記憶されている下位４ビットデータをＲｅａｄアドレスとして出力する。またこの際、ＣＡＭ５０ｃは、“１”となるリセット２信号をダウンカウンタ４９ａに出力する。
【０１６６】
なお、ＣＡＭ５０ｃは、ダウンカウンタ４９ａの７ビットのカウンタ値と記憶部５０ｄ，５０ｂに記憶されている７ビットデータとの比較毎に、“１”となるＤｏｗｎ信号を出力する。
【０１６７】
（書き込み動作例）
スイッチ制御信号が“０”のときは、ＷＥ状態となり書き込み動作が行われる。
図２０は、書き込みデータの一例を示す図である。
【０１６８】
図２０には、ＣＡＭ５０ｃの記憶部５０ｄに記憶される優先度フラグ及び割り込みフラグと、記憶部１２に記憶されるセンサ信号Ａ〜Ｃのデータの一例が示されている。センサ信号Ａ〜Ｃのデータが記憶される記憶部１２のアドレスと、そのセンサ信号Ａ〜Ｃの優先度フラグ及び割り込みフラグが記憶される記憶部５０ｄのアドレスは同一である。
【０１６９】
Ｗｒｉｔｅアドレスはセンサ信号Ａ〜Ｃを制御部１２ｂが受ける度に、アップカウンタ４４により“００００”から順にインクリメントされ、ＣＡＭ５０（記憶部５０ｄ）と記憶部１２に供給される。そのため、センサ信号Ａ〜Ｃのデータは、制御部１２ｂへの供給順に、記憶部１２のアドレス“００００”から順番に書き込まれる。また、そのセンサ信号Ａ〜Ｃを出力したセンサ５Ａ〜５Ｃに割り当てられた優先度フラグと割り込みフラグは、記憶部５０ｄのアドレス“００００”から順番に書き込まれる。
【０１７０】
（読み出し動作例）
スイッチ制御信号が“１”のときは、ＲＥ状態となり読み出し動作が行われる。
図２１は、ＲＥ状態のときのＣＡＭとダウンカウンタの動作の一例を説明する図である。
【０１７１】
図２１には、前述のＷＥ状態のときに、記憶部５０ｄに記憶された割り込みフラグと優先度フラグによる３ビットデータと、予め記憶部５０ｂに記憶されている４ビットデータが示されている。
【０１７２】
読み出し動作時には、ＣＡＭ５０ｃは、ダウンカウンタ４９ａのカウンタ値と記憶部５０ｄ，５０ｂに記憶されている７ビットデータとの比較を行う。
まず、記憶部５０ｄのアドレス“１１１１”に記憶されている割り込みフラグ及び優先度フラグによる３ビットデータと、記憶部５０ｂに記憶されている４ビットデータ“１１１１”とを合わせた７ビットデータと、カウンタ値“１１１１１１１”とが比較される。
【０１７３】
図２１の例では、記憶部５０ｄのアドレス“１１１１”に記憶されている割り込みフラグ及び優先度フラグによる３ビットデータは“０１１”であるため、ダウンカウンタ４９ａのカウンタ値“１１１１１１１”とは一致しない。ＣＡＭ５０ｃは、“１”となるＤｏｗｎ信号を出力する。
【０１７４】
その後、カウンタ値のデクリメントが進み、カウンタ値が“１１０１０１１”となったとき、図２１の例では、記憶部５０ｄのアドレス“１０１１”に記憶されている割り込みフラグ及び優先度フラグは“１１０”であるため、カウンタ値と一致する。そのため、ＣＡＭ５０ｃは、記憶部５０ｂの４ビットデータ“１０１１”をＲｅａｄアドレスとして記憶部１２に出力し、さらに、“１”となるＵｐ信号とリセット２信号を出力する。これにより、記憶部１２のアドレス“１０１１”に記憶されたセンサ信号のデータが読み出され、処理回路１３に供給される。
【０１７５】
上記のリセット２信号により、ダウンカウンタ４９ａのカウンタ値は“０１１１１１１”にリセットされる。そして、同様の比較処理が繰り返される。
アップカウンタ４８のカウンタ値が減算器４６の出力値を超えると、比較器４７によって“１”となるリセット信号が出力され、ダウンカウンタ４９ａのカウンタ値は“１１１１１１１”にリセットされる。また、アップカウンタ４８のカウンタ値は“０”にリセットされる。
【０１７６】
図２２は、ＲＥ状態のときに、記憶部から読み出され、処理回路に出力されるセンサ信号のデータの一例を示す図である。
図２２では、センサ信号Ａ〜Ｃのデータが、処理回路１３で処理される順に並べられている。また、図２２の例では、レジスタ４５に格納されている、処理回路１３が処理するセンサ信号Ａ〜Ｃのデータ数の上限値は“４”である。
【０１７７】
前述の読み出し処理によって、まず、割り込みフラグが“１”となるセンサ信号Ｂの２つのデータのうち、アドレスが大きい方のセンサ信号Ｂのデータ（“ｄｄｄｄｄｄｄｄ”）が読み出され、処理回路１３で処理される。これに対し、アドレスが小さい方のデータ（“ｂｂｂｂｂｂｂｂ”）は読み出されず、処理回路１３で処理されない。
【０１７８】
その後、優先度フラグの２ビットデータの値が大きいセンサのセンサ信号が優先的に記憶部１２から読み出され、処理回路１３で処理される。つまり、センサ５Ａ，５Ｃのうち、優先度の高いセンサ５Ｃのセンサ信号Ｃのデータが優先的に処理される。
【０１７９】
また、例えば、同一のセンサから供給される複数のデータについては、優先度フラグの２ビットデータの値が同一となるので、記憶部１２において、第３の実施の形態と同様に、値が大きいアドレスに記憶されているデータほど優先的に読み出される。
【０１８０】
例えば、センサ信号Ｃの複数のデータのうち、アドレス“１００１”に記憶されているデータ“ｊｊｊｊｊｊｊｊ”は、アドレス“１０００”に記憶されているデータ“ｉｉｉｉｉｉｉｉ”よりも先に記憶部１２から読み出され、処理回路１３で処理される。
【０１８１】
さらに、図２２の例では、処理回路１３が処理するセンサ信号Ａ〜Ｃのデータ数の上限値が“４”であるため、センサ信号Ｃの２つのデータは、記憶部１２から読み出されない。さらに、センサ信号Ａの３つのデータは、記憶部１２から読み出されない。すなわち、センサ信号Ｃの２つのデータと、センサ信号Ａの３つのデータは、処理回路１３で処理されない。
【０１８２】
以下、書き込み動作時の半導体装置１０ｃの各部の信号の一例を、タイミングチャートを用いて説明する。
（書き込み動作時の半導体装置１０ｃの各部の信号の一例）
図２３は、書き込み動作時の第４の実施の形態の半導体装置の各部の信号の一例を示すタイミングチャートである。
【０１８３】
図２３には、スイッチ制御信号、センサ信号Ａ〜Ｃ、各処理部４０Ａ１〜４０Ｃ１のフラグ発生器の出力、クロック信号ＣＫｗ、アップカウンタ４４の出力（Ｗｒｉｔｅアドレス）の一例の様子が示されている。さらに、図２３には、ＣＡＭ５０ｃの記憶部５０ｄへの書き込みデータ（割り込みフラグと優先度フラグを示す３ビットデータ）と、記憶部１２への書き込みデータの一例の様子が示されている。
【０１８４】
タイミングｔ６０で、スイッチ制御信号が“１”から“０”に立ち下がると、制御部１２ｂは、ＷＥ状態となる。記憶部５０ｄの全データは、このタイミングで“０”にリセットされる。
【０１８５】
タイミングｔ６１では、所定の周期で“１”、“０”を繰り返すセンサ信号Ａが出力されている（図２３の例では４ビットのデータ“１１１１”を示している）。センサ信号Ａが“１”に立ち上がることにより、処理部４０Ａ１のフラグ発生器５１は“０”となる割り込みフラグと、“０１”となる優先度フラグを生成する。また、割り込みフラグと優先度フラグが生成されることにより、クロック信号ＣＫｗが立ち上がる。
【０１８６】
クロック信号ＣＫｗの立ち上がりは、アップカウンタ４４よりも記憶部１２に先に伝わる。アップカウンタ４４が出力するＷｒｉｔｅアドレスの初期値は“００００”であるため、記憶部１２は、アドレス“００００”に、処理部４０Ａ１のシリアル／パラレル回路５３により並列データとなったセンサ信号Ａのデータ“１１１１”を記憶する。さらに、クロック信号ＣＫｗの立ち上がりがアップカウンタ４４に伝わると、カウンタ値がインクリメントされ、次のＷｒｉｔｅアドレス“０００１”が生成される。なお、センサ信号Ａが所定期間“０”になると、処理部４０Ａ１のフラグ発生器５１ａの出力は“０００”となり、クロック信号ＣＫｗが“０”に立ち下がる。
【０１８７】
４ビットのデータ“１０１１”となるセンサ信号Ｂが出力されたとき（タイミングｔ６２）と、４ビットのデータ“１１０１”となるセンサ信号Ｃが出力されたとき（タイミングｔ６３）も同様の処理が行われる。また、“１００１”となるセンサ信号Ａが出力されたとき（タイミングｔ６４）も、同様の処理が行われる。
【０１８８】
タイミングｔ６５では、スイッチ制御信号が“０”から“１”に立ち上がっている。これにより、制御部１２ｂは、ＲＥ状態となる。このとき、アップカウンタ４４はリセットされ、Ｗｒｉｔｅアドレスは“００００”となる。
【０１８９】
（読み出し動作時の半導体装置１０ｃの各部の信号の一例）
図２４は、読み出し動作時の第４の実施の形態の半導体装置の各部の信号の一例を示すタイミングチャートである。
【０１９０】
図２４には、スイッチ制御信号、ダウンカウンタ４９ａの出力、リセット２信号、Ｕｐ信号、アップカウンタ４８の出力、Ｒｅａｄアドレス、リセット信号の一例の様子が示されている。なお、以下では、処理回路１３が処理するセンサ信号Ａ〜Ｃのデータ数の上限値として、レジスタ４５に“４”（減算器４６が出力する値は“３”）が設定されているものとして説明する。
【０１９１】
タイミングｔ７０で、スイッチ制御信号が“０”から“１”に立ち上がっている。これにより、制御部１２ｂは、ＲＥ状態となる。
スイッチ制御信号が“１”に立ち上がると、ダウンカウンタ４９ａは、タイミングｔ７１で、カウンタ値の初期値である“１１１１１１１”を出力する。そして、ＣＡＭ５０ｃは、ダウンカウンタ４９ａの出力“１１１１１１１”と記憶部５０ｄ，５０ｂに記憶されている７ビットデータとを比較する。図２４の例では、両者は一致しないので、ＣＡＭ５０ｃは、Ｕｐ信号を“０”に維持したまま、比較後、“１”となるＤｏｗｎ信号をダウンカウンタ４９ａに出力する。
【０１９２】
“１”となるＤｏｗｎ信号を受けたダウンカウンタ４９ａは、タイミングｔ７２で、カウンタ値をデクリメントし、“１１１１１１０”を出力し、ＣＡＭ５０ｃで、記憶部５０ｄ，５０ｂに記憶されている７ビットデータとの比較が行われる。このときも、ダウンカウンタ４９ａの出力“１１１１１１０”と記憶部５０ｄ，５０ｂの７ビットデータは一致しないので、Ｕｐ信号は“０”に維持されたままとなる。そして“１”となるＤｏｗｎ信号がダウンカウンタ４９に出力され、ダウンカウンタ４９はカウンタ値をデクリメントする。
【０１９３】
タイミングｔ７３でも、同様の処理が行われる。
図２４の例では、タイミングｔ７４で、ダウンカウンタ４９ａの出力は、“１１０００１１”となったとき、記憶部５０ｄ，５０ｂのデータと一致する。このとき、ＣＡＭ５０ｃは、記憶部５０ｂの４ビットデータ“００１１”をＲｅａｄアドレスとして記憶部１２に出力する。また、ＣＡＭ５０ｃは、リセット２信号とＵｐ信号を“１”に立ち上げる。アップカウンタ４８は、Ｕｐ信号の立ち上がりを受けて、カウンタ値をインクリメントし、“００１”を出力する。
【０１９４】
“１”となるリセット２信号を受けたダウンカウンタ４９ａは、タイミングｔ７５で、リセットしたカウンタ値“０１１１１１１”を出力する。そして、再度、ＣＡＭ５０ｃで、記憶部５０ｄ，５０ｂに記憶されている７ビットデータとの比較が行われる。このとき、ダウンカウンタ４９ａのカウンタ値“０１１１１１１”と記憶部５０ｄ，５０ｂの７ビットデータは一致しないので、ＣＡＭ５０ｃは、Ｕｐ信号を“０”に維持したまま、比較後、“１”となるＤｏｗｎ信号をダウンカウンタ４９ａに出力する。
【０１９５】
“１”となるＤｏｗｎ信号を受けたダウンカウンタ４９ａは、タイミングｔ７６で、“０１１１１１１”からデクリメントしたカウンタ値“０１１１１１０”を出力し、ＣＡＭ５０ｃで、記憶部５０ｄ，５０ｂに記憶されている７ビットデータとの比較が行われる。このときも、ダウンカウンタ４９ａの出力“０１１１１１０”と記憶部５０ｄ，５０ｂの７ビットデータは一致しないので、Ｕｐ信号は“０”に維持されたままとなる。そして“１”となるＤｏｗｎ信号がダウンカウンタ４９ａに出力され、ダウンカウンタ４９ａはカウンタ値をデクリメントする。
【０１９６】
タイミングｔ７７でも同様の処理が行われる。
その後、図２４の例では、３度続けてダウンカウンタ４９ａの出力と、記憶部５０ｄ，５０ｂのデータとが一致する例が示されている（タイミングｔ７８，ｔ７９，ｔ８０）。タイミングｔ８０でＵｐ信号が“１”に立ち上がると、アップカウンタ４８の出力は、“１００”（１０進数で“４”）となる。このとき、アップカウンタ４８の出力が、減算器４６の出力値“３”を超えるため、比較器４７により、リセット信号が“１”に立ち上がる（タイミングｔ８１）。リセット信号が“１”に立ち上がることにより、ダウンカウンタ４９ａの出力は“１１１１１１１”に、アップカウンタ４８の出力は“０００”にリセットされる。
【０１９７】
タイミングｔ８２で、スイッチ制御信号が“１”から“０”に立ち下がっている。これにより、制御部１２ｂはＷＥ状態になる。
ところで、第３の実施の形態における制御部１２ａと同様に、上記のような制御部１２ｂの処理も、ソフトウェアにより実現することもできる。その場合、制御部１２ｂの機能は、例えば、プロセッサにより実現される。以下、ソフトウェアにより実行させる場合の制御を説明する。
【０１９８】
まず、書き込み動作について説明する。
（ソフトウェアによる書き込み動作例）
図２５は、書き込み動作時の一例の処理の流れを示すフローチャートである。
【０１９９】
まず、制御部１２ｂは、ＷＥ状態か否か判定する（ステップＳ２０）。制御部１２ｂは、図１に示すステップＳ１の処理と同様に、スイッチ制御信号が“０”であるか“１”であるかに応じて、ＷＥ状態か否か判定する。制御部１２ｂは、ＷＥ状態と判定したときは、ステップＳ２１Ａ，Ｓ２１Ｂ，Ｓ２１Ｃの処理を実行する。一方、制御部１２ｂは、ＷＥ状態でないと判定したときは、処理を終了して読み出し動作を行う。
【０２００】
ステップＳ２１Ａ〜Ｓ２１Ｃの処理は、それぞれ、センサ信号Ａ〜Ｃごとに行われる処理である。以下では、センサ信号Ａに対する処理であるステップＳ２１Ａの処理を例に説明する。
【０２０１】
まず、制御部１２ｂは、センサ信号Ａを受信したか否か判定する（ステップＳ２２）。制御部１２ｂは、センサ信号Ａを受信したと判定したときは、ステップＳ２３の処理を実行する。一方、制御部１２ｂは、センサ信号Ａを受信していないと判定したときは、ステップＳ２０の処理に戻る。
【０２０２】
次に、制御部１２ｂは、センサ信号Ａの割り込みフラグ７０Ａと優先度フラグ７１Ａを、例えば、記憶部１２から読み出して取得する（ステップＳ２３）。割り込みフラグ７０Ａ，７０Ｂ，７０Ｃと優先度フラグ７１Ａ，７１Ｂ，７１Ｃは、例えば、記憶部１２に記憶されている。
【０２０３】
また、ステップＳ２３の処理と同様にして、センサ信号Ｂ，Ｃの割り込みフラグ７０Ｂ，７０Ｃと優先度フラグ７１Ｂ，７１Ｃもそれぞれ取得される。
その後、制御部１２ｂは、センサ信号Ａ〜Ｃのデータと、そのセンサ信号Ａ〜Ｃの割り込みフラグ７０Ａ〜７０Ｃ及び優先度フラグ７１Ａ〜７１Ｃを含むテーブルデータ７２を作成する（ステップＳ２４）。テーブルデータ７２として、例えば、図２０に示したようなものが作成される。作成されたテーブルデータ７２は、例えば、記憶部１２に記憶される。
【０２０４】
制御部１２ｂは、制御部１２ｂへのセンサ信号Ａ〜Ｃのデータに対し、制御部１２ｂへの供給順に、アドレスを“００００”から昇順に割り当てていく。
そして、制御部１２ｂは、テーブルデータ６１で指定された記憶部１２のアドレスに、センサ信号Ａ〜Ｃのデータを書き込む（ステップＳ２５）。
【０２０５】
ステップＳ２５の処理の終了後、制御部１２ｂは、ステップＳ２０からの処理を繰り返し行う。
次に、読み出し動作について説明する。
【０２０６】
（ソフトウェアによる読み出し動作例）
図２６は、読み出し動作時の一例の流れを示すフローチャートである。
まず、制御部１２ｂは、ＲＥ状態か否か判定する（ステップＳ３０）。制御部１２ｂは、図１７に示すステップＳ１０の処理と同様に、スイッチ制御信号が“０”であるか“１”であるかに応じて、ＲＥ状態か否か判定する。制御部１２ｂは、ＲＥ状態であると判定したときは、ステップＳ３１の処理を実行する。一方、制御部１２ｂは、ＲＥ状態でないと判定したときは、処理を終了して書き込み動作を行う。
【０２０７】
次に、制御部１２ｂは、テーブルデータ７２（図２５参照）をソートし、ソートデータ７３を作成する（ステップＳ３１）。ソートデータ７３として、例えば、図２２に示したようなものが作成される。
【０２０８】
制御部１２ｂは、まず、割り込みフラグが“１”となるセンサ信号Ｂのデータが、上位になるようにソートするとともに、割り込みフラグが“１”となる複数のセンサ信号Ｂのデータに対しては、アドレスが大きいものが、上位になるようにソートする。さらに、制御部１２ｂは、割り込みフラグが“０”となるセンサ信号Ａ，Ｃのデータに対しては、優先度フラグの２ビットデータの値が大きいものが、上位になるようにソートする。また、制御部１２ｂは、優先度フラグが同一となる複数のデータに対しては、アドレスが大きいものが、上位になるようにソートする。
【０２０９】
その後、制御部１２ｂは、割り込みフラグが“１”となる最上位行のセンサ信号のデータを、記憶部１２から読み出し、処理回路１３に出力する（ステップＳ３２）。図２２の例では、割り込みフラグが“１”となる最上位行のセンサ信号Ｂのデータ“ｄｄｄｄｄｄｄｄ”が記憶部１２から読み出され、処理回路１３に出力される。
【０２１０】
その後、制御部１２ｂは、ソートデータ７３において割り込みフラグが“０”となる最上位のセンサ信号のデータを選択する（ステップＳ３３）。図２２の例では、センサ信号Ｃのデータが選択される。
【０２１１】
そして、制御部１２ｂは、ソートデータ７３において、センサ信号Ａ〜ＣのデータをステップＳ３３の処理により選択されたデータからソート順に記憶部１２から読み出し、処理回路１３に出力する（ステップＳ３４）。
【０２１２】
また、制御部１２ｂは、ステップＳ３２，Ｓ３４の処理により記憶部１２から読み出したセンサ信号Ａ〜Ｃのデータ数が、処理回路１３が処理する上限値７４に達したか否か判定する（ステップＳ３５）。上限値７４は、例えば、記憶部１２に記憶されており、その値は、予め外部から設定されている。制御部１２ｂは、読み出したセンサ信号Ａ〜Ｃのデータ数が、上限値７４より小さいと判定したときは、ステップＳ３４からの処理を繰り返し行う。一方、制御部１２ｂは、読み出したセンサ信号Ａ〜Ｃのデータ数が、上限値７４に達したと判定したときは、処理を終了する。
【０２１３】
例えば、上限値７４が“４”と設定されている場合、ステップＳ３５の処理により、図２２に示すセンサ信号Ｃの２つのデータ（“ｇｇｇｇｇｇｇｇ”，“ｃｃｃｃｃｃｃｃ”）は、記憶部１２から読み出されず処理回路１３で処理されない。さらに、センサ信号Ａの３つのデータ（“ｆｆｆｆｆｆｆｆ”，“ｅｅｅｅｅｅｅｅ”，“ａａａａａａａａ”）も、記憶部１２から読み出されず処理回路１３で処理されない。
【０２１４】
以上のような半導体装置１０ｃによれば、第３の実施の形態の半導体装置１０ｂと同様の効果が得られるとともに、優先度が低いセンサのセンサ信号でも１回は処理されるようにしたため、優先度が低いセンサのセンサ信号が全く無視されることを防げる。
【０２１５】
以上、実施の形態に基づき、本発明の半導体装置の一観点について説明してきたが、これらは一例にすぎず、上記の記載に限定されるものではない。
例えば、上記の説明では、信号供給源としてセンサを例にして説明したが、これに限定されず、無線端末装置などであってもよい。
【符号の説明】
【０２１６】
１  半導体装置
１ａ  電源供給制御回路
２  処理回路
３  クロック信号生成回路
４  制御回路
５  信号供給源（センサ）
ＳＷ１  スイッチ
【図１】
2016039626.tif 000003
【図２】
2016039626.tif 000004
【図３】
2016039626.tif 000005
【図４】
2016039626.tif 000006
【図５】
2016039626.tif 000007
【図６】
2016039626.tif 000008
【図７】
2016039626.tif 000009
【図８】
2016039626.tif 000010
【図９】
2016039626.tif 000011
【図１０】
2016039626.tif 000012
【図１１】
2016039626.tif 000013
【図１２】
2016039626.tif 000014
【図１３】
2016039626.tif 000015
【図１４】
2016039626.tif 000016
【図１５】
2016039626.tif 000017
【図１６】
2016039626.tif 000018
【図１７】
2016039626.tif 000019
【図１８】
2016039626.tif 000020
【図１９】
2016039626.tif 000021
【図２０】
2016039626.tif 000022
【図２１】
2016039626.tif 000023
【図２２】
2016039626.tif 000024
【図２３】
2016039626.tif 000025
【図２４】
2016039626.tif 000026
【図２５】
2016039626.tif 000027
【図２６】
2016039626.tif 000028