(57)【特許請求の範囲】
【請求項１】
演算処理を実行する演算ブロックを設けた半導体集積回路であって、
入力データと前記入力データが有効なデータであるかを示すＶａｌｉｄ信号を入力し、前記有効であるときに入力データを保持する前記演算ブロックのバッファ部と、
前記バッファ部に保持した蓄積データの数が予め設定したデータ数に達したときに、前記蓄積データを利用して演算処理を実行し、前記演算処理実行後出力データと前記出力データが有効であるかを示すＶａｌｉｄ信号を出力する前記演算ブロックのロジック部と、
前記ロジック部が演算処理実行前に、電源供給をするために電源オン／オフを行う前記演算ブロックのスイッチ部の制御を行う電源スイッチ制御部と、
を具備することを特徴とする半導体集積回路。
【請求項２】
前記演算ブロックは、
前記演算ブロックに前記入力データと前記Ｖａｌｉｄ信号を入力するために設けられたデータネットワークとの接続を設定するセレクタ部と、
前記セレクタ部を介して前記入力データと前記Ｖａｌｉｄ信号を入力し、前記Ｖａｌｉｄ信号が有効である前記入力データを保持するデータバッファ部と、
前記Ｖａｌｉｄ信号が有効なとき前記データバッファ部に前記入力データと前記Ｖａｌｉｄ信号を書き込み制御信号を出力し、前記入力データが前記予め設定したデータ数になり、前記電源スイッチ制御部からの前記ロジック部への電源供給指示により、前記データバッファ部からデータ転送を開始する読み込み制御信号を前記データバッファ部に出力し、前記ロジック部への電源供給開始から前記ロジック部の演算処理終了までの時間をカウントするＷ／Ｒ制御部と、
を具備することを特徴とする請求項１に記載の半導体集積回路。
【請求項３】
電源スイッチ制御部は、
前記ロジック部への電源供給を制御する前記スイッチ部の切り替えタイミングを周期的に通知することを特徴とする請求項１に記載の半導体集積回路。
【請求項４】
前記ロジック部のリーク電流と演算に掛かる充放電電流の比に基づいて、前記ロジック部の動作周波数を決定することで、所望の消費電力を低減することを特徴とする請求項１に記載の半導体集積回路。
【請求項５】
演算処理を実行する演算ブロックを設けた半導体集積回路であって、
入力データと前記入力データが有効なデータであるかを示すＶａｌｉｄ信号を入力し、前記有効であるときに入力データを保持し、保持した蓄積データの数が予め設定したデータ数に達したときにフル信号を発行する前記演算ブロックのバッファ部と、
前記バッファ部に保持した蓄積データの数が予め設定したデータ数に達したときに、前記蓄積データを利用して演算処理を実行し、前記演算処理実行後に出力データと前記出力データが有効であるかを示すＶａｌｉｄ信号を出力する前記演算ブロックのロジック部と、
前記ロジック部が演算処理実行前に電源供給をするために電源供給許可と前記フル信号を受信して、電源オン／オフを行う前記演算ブロックのスイッチ部の制御を行う前記演算ブロックの電源制御部と、
前記電源制御部へ電源オン／オフを制御するトークンを発行して、前記ロジック部への前記電源供給許可をし、前記ロジック部が演算処理を完了すると前記電源制御部から前記電源供給許可を取り消す戻りトークンを受信するトークン発行部と、
を具備することを特徴とする半導体集積回路。
【請求項６】
前記演算ブロックは、
前記演算ブロックに前記入力データと前記Ｖａｌｉｄ信号を入力するために設けられたデータネットワークとの接続を設定するセレクタ部と、
前記セレクタ部を介して前記入力データと前記Ｖａｌｉｄ信号を入力し、前記Ｖａｌｉｄ信号が有効である前記入力データを保持するデータバッファ部と、
前記Ｖａｌｉｄ信号が有効なとき前記データバッファ部に前記入力データと前記Ｖａｌｉｄ信号を書き込み制御信号を出力し、前記入力データが前記予め設定したデータ数になり、前記データバッファ部からデータ転送を開始する読み込み制御信号と電源制御部にフル信号を前記データバッファ部に出力するＷ／Ｒ制御部と、
前記トークン発行部から発行される前記ロジック部への前記電源供給許可のトークンと前記フル信号を受信すると前記スイッチ部を切り替えて前記ロジック部に電源供給をし、前記ロジック部への電源供給開始から前記ロジック部の演算処理終了までの時間をカウントする電源制御部と、
を具備することを特徴とする請求項５に記載の半導体集積回路。
【請求項７】
前記ロジック部のリーク電流と演算に掛かる充放電電流の比に基づいて、前記ロジック部の動作周波数を決定することで、所望の消費電力を低減することを特徴とする請求項５に記載の半導体集積回路。
【請求項８】
演算処理を実行する演算ブロックを設けた半導体集積回路であって、
入力データと前記入力データが有効なデータであるかを示すＶａｌｉｄ信号を入力し、前記有効であるときに入力データを保持し、保持した蓄積データの数が予め設定したデータ数に達したときにトグル信号を発行する前記演算ブロックのバッファ部と、
前記バッファ部に保持した蓄積データの数が予め設定したデータ数に達したときに、前記蓄積データを利用して演算処理を実行し、前記演算処理実行後出力データと前記出力データが有効であるかを示すＶａｌｉｄ信号を出力する前記演算ブロックのロジック部と、
前記ロジック部が演算処理実行前に電源供給をするために前記バッファ部から前記トグル信号を受信し、前記ロジック部への電源オン／オフを行う前記演算ブロックのスイッチ部の制御を行う前記演算ブロックの電源制御部と、
を具備することを特徴とする半導体集積回路。
【請求項９】
前記ロジック部のリーク電流と演算に掛かる充放電電流の比に基づいて、前記ロジック部の動作周波数を決定することで、所望の消費電力を低減することを特徴とする請求項５に記載の半導体集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路のリーク電流を抑制するの技術に関する。
【背景技術】
【０００２】
近年、ＩＣチップなどのＬＳＩ（Large Scale Integration）に形成されるトランジスタサイズの微細化に伴い、リーク電流（leak current）が増大することが問題になっている。【０００３】
電流がリーク(漏洩)してしまう原因は、量子トンネル効果によるリーク電流などがあげられる。絶縁層の間を電子が通り抜けてしまう現象が確率的に起こりえるため、回路の高集積化にともない、リーク電流が無視できなくなる。また、リーク電流が増大すると、ＬＳＩの消費電力が大きくなってしまい、発熱量も増えて回路基板を傷めやすくなってしまう。【０００４】
一般に、リーク電流による電力消費はＬＳＩの総消費電力の半分程度を占める。ここで総消費電力とはロジックの充放電電力とリーク電力との和である。このため、集積度を高めて性能を向上させ、ＬＳＩの省電力化をするためには、リーク電流を抑制することが重要である。【０００５】
例えば、図１４に示す半導体基板上に形成されるトランジスタによりリーク電流について考える。半導体基板１４１にトランジスタは、ゲート部１４２（Gate）、ソース部１４３（Source）、ドレイン部１４４（Drain）、混合酸化物１４５（Oxide）から形成されている。このような構造の場合、リークはゲートリーク１４６（Gate leakage）、サブスレショルドリーク１４７（Sub-threshold leakage）等が発生する。これらによるリーク電流はいずれも純粋な演算動作（ロジック）とは無関係に定常的に流れる。また、ＣＭＯＳ（金属酸化膜半導体：Metal oxide semiconductor）ＬＳＩだけでなくバイポーラトランジスタにもリーク電力は存在する。【０００６】
従来はリーク電流はデバイスプロセス技術の向上、材料の改良により抑えていた。ところがそれだけでは高集積化によるリーク電流の増大を防ぐことが十分にできなくなりつつある。【０００７】
特許文献１によれば、待機時に電源電圧の供給が停止される電源供給停止線と、待機時にも供給される電源電圧供給線とを設けて、待機時に状態を保持する必要がない回路ブロックは電源供給停止線に接続してリーク電流を削減する回路が提案されている。【０００８】
また、特許文献２によれば、供給されたクロック信号に同期する論理回路ブロックと、回路ブロックに電源を供給する電源供給スイッチと、スイッチを制御する制御回路により、回路動作上必要な期間以外電源供給を遮断してリーク電流を減少させる提案がされている。【０００９】
特許文献３によれば、システムＬＳＩを各機能ブロック回路に分け、各ブロックを独立した電源ラインに接続し、電源供給はスタンバイ制御回路と電源制御回路が行い、消費電力を低減する提案がされている。【００１０】
特許文献４によれば、チップ内部を複数の回路ブロックに分割し、ブロックへの電源電圧の供給を遮断可能な構成にし、遮断可能なブロックから他のブロックへ出力される信号の経路上に信号を記憶可能なブロック間インターフェイス回路を設けることで電力を削減する提案がされている。【００１１】
しかしながら、今後も進む微細化により増大するリーク電流を抑えるには、上記説明したようなＬＳＩ内の各演算ブロックの電源制御だけでは十分な効果が得られない。つまり、ＬＳＩ内の各演算ブロックを構成する回路毎に電源制御しなければリーク電流を抑制できない。そのためにはＬＳＩ内の各回路（演算ブロック）の入力および出力データの流れと、そのタイミングとを把握して、電源制御をしなければならない。【００１２】
特許文献１〜４においては、ＬＳＩ内の各演算ブロックをバッファ部とロジック部に分け、バッファ部からデータ転送後にロジック部に電源電圧を供給し、それまではロジック部を停止する構成ではない。つまり、電源制御プログラムを各演算ブロックの構成と動作に合わせて作成し、その制御プログラムによって電源制御を行うものではない。【００１３】
また、電源制御プログラムの作成において、ＬＳＩ内にデータパスなどが複数あると複雑な制御が必要となるため、電源制御に合ったハードウェアが必要になる。
【特許文献１】特開２００４−０１５６７０号公報
【特許文献２】ＷＯ９９／６６６４０号公報
【特許文献３】特開２００４−１４０５０３号公報
【特許文献４】特開２００３−０９２３５９号公報
【非特許文献１】注1）日経ＢＰ社, 日経エレクトロニクス2004 4-26 no.872, p.99〜127.
【発明の開示】
【００１４】
本発明は上記のような実情に鑑みてなされたものであり、必要なときに必要な演算ブロックにのみ電源供給をする電源制御システムを回路上に構築することで、リーク電流を減らし、小消費電力化を実現する電源制御回路を提供することを目的とする。
本発明の態様のひとつである演算処理を実行する演算ブロックを設けた半導体集積回路は、入力データと前記入力データが有効なデータであるかを示すＶａｌｉｄ信号を入力し、前記有効であるときに入力データを保持する前記演算ブロックのバッファ部と、
前記バッファ部に保持した蓄積データの数が予め設定したデータ数に達したときに、前記蓄積データを利用して演算処理を実行し、前記演算処理実行後出力データと前記出力データが有効であるかを示すＶａｌｉｄ信号を出力する前記演算ブロックのロジック部と、
前記ロジック部が演算処理実行前に電源供給をするために電源オン／オフを行う前記演算ブロックのスイッチ部の制御を行う電源スイッチ制御部と、を具備する。
【００１５】
好ましくは、前記演算ブロックは、前記演算ブロックに前記入力データと前記Ｖａｌｉｄ信号を入力するために設けられたデータネットワークとの接続を設定するセレクタ部と、
前記セレクタ部を介して前記入力データと前記Ｖａｌｉｄ信号を入力し、前記Ｖａｌｉｄ信号が有効である前記入力データを保持するデータバッファ部と、
前記Ｖａｌｉｄ信号が有効なとき前記データバッファ部に前記入力データと前記Ｖａｌｉｄ信号を書き込み制御信号を出力し、前記入力データが前記予め設定したデータ数になり、前記電源スイッチ制御部からの前記ロジック部への電源供給指示により、前記データバッファ部からデータ転送を開始する読み込み制御信号を前記データバッファ部に出力し、前記ロジック部への電源供給開始から前記ロジック部の演算処理終了までの時間をカウントするＷ／Ｒ制御部と、を具備してもよい。
【００１６】
また、好ましくは電源スイッチ制御部は、前記ロジック部への電源供給を制御する前記スイッチ部の切り替えタイミングを周期的に通知する構成としてもよい。
好ましくは、前記ロジック部のリーク電流と演算に掛かる充放電電流の比に基づいて、前記ロジック部の動作周波数を決定することで、所望の消費電力を低減する。
【００１７】
上記構成によりＬＳＩを構成する各演算ブロックの回路を細分化し、電源供給を制御する回路（演算ブロックのロジック部）に対し最適な電源供給をすることでリーク電流の消費を抑制でき、ＬＳＩ全体の消費電力の削減を可能になる。また、電源供給を制御できる回路の動作周波数比を高めることでリーク電流の消費をさらに低減できる。
【００１８】
本発明の他の態様のひとつである演算処理を実行する演算ブロックを設けた半導体集積回路は、入力データと前記入力データが有効なデータであるかを示すＶａｌｉｄ信号を入力し、前記有効であるときに入力データを保持し、保持した蓄積データの数が予め設定したデータ数に達したときにフル信号を発行する前記演算ブロックのバッファ部と、
前記バッファ部に保持した蓄積データの数が予め設定したデータ数に達したときに、前記蓄積データを利用して演算処理を実行し、前記演算処理実行後に出力データと前記出力データが有効であるかを示すＶａｌｉｄ信号を出力する前記演算ブロックのロジック部と、
前記ロジック部が演算処理実行前に電源供給をするために電源供給許可と前記フル信号を受信して、電源オン／オフを行う前記演算ブロックのスイッチ部の制御を行う前記演算ブロックの電源制御部と、
前記電源制御部へ電源オン／オフを制御するトークンを発行して、前記ロジック部への前記電源供給許可をし、前記ロジック部が演算処理を完了すると前記電源制御部から前記電源供給許可を取り消す戻りトークンを受信するトークン発行部と、
を具備する。
【００１９】
好ましくは、前記演算ブロックは前記演算ブロックに前記入力データと前記Ｖａｌｉｄ信号を入力するために設けられたデータネットワークとの接続を設定するセレクタ部と、
前記セレクタ部を介して前記入力データと前記Ｖａｌｉｄ信号を入力し、前記Ｖａｌｉｄ信号が有効である前記入力データを保持するデータバッファ部と、
前記Ｖａｌｉｄ信号が有効なとき前記データバッファ部に前記入力データと前記Ｖａｌｉｄ信号を書き込み制御信号を出力し、前記入力データが前記予め設定したデータ数になり、前記データバッファ部からデータ転送を開始する読み込み制御信号と電源制御部にフル信号を前記データバッファ部に出力するＷ／Ｒ制御部と、
前記トークン発行部から発行される前記ロジック部への前記電源供給許可のトークンと前記フル信号を受信すると前記スイッチ部を切り替えて前記ロジック部に電源供給をし、前記ロジック部への電源供給開始から前記ロジック部の演算処理終了までの時間をカウントする電源制御部と、を具備してもよい。
【００２０】
また、好ましくは前記ロジック部のリーク電流と演算に掛かる充放電電流の比に基づいて、前記ロジック部の動作周波数を決定することで、所望の消費電力を低減する。
上記構成により、電源スイッチ制御部のプログラムはＡ〜Ｚの演算開始、終了といった内部動作を意識することなく、トークン制御のみに注目して、プログラムを簡単に作成することができる。
【００２１】
本発明の他の態様のひとつである演算処理を実行する演算ブロックを設けた半導体集積回路は、
入力データと前記入力データが有効なデータであるかを示すＶａｌｉｄ信号を入力し、前記有効であるときに入力データを保持し、保持した蓄積データの数が予め設定したデータ数に達したときにトグル信号を発行する前記演算ブロックのバッファ部と、
前記バッファ部に保持した蓄積データの数が予め設定したデータ数に達したときに、前記蓄積データを利用して演算処理を実行し、前記演算処理実行後出力データと前記出力データが有効であるかを示すＶａｌｉｄ信号を出力する前記演算ブロックのロジック部と、
前記ロジック部が演算処理実行前に電源供給をするために前記バッファ部から前記トグル信号を受信し、前記ロジック部への電源オン／オフを行う前記演算ブロックのスイッチ部の制御を行う前記演算ブロックの電源制御部と、を具備する。
【００２２】
好ましくは、前記ロジック部のリーク電流と演算に掛かる充放電電流の比に基づいて、前記ロジック部の動作周波数を決定することで、所望の消費電力を低減する。
上記構成により電源供給制御が簡単になる。演算ブロック間のデータ受け渡しの順番（データネットワークトポロジー）が入れ替ることや、複数演算ブロックからの入力がある場合にネットワークと演算ブロックとの間の接続が複雑になる。その場合にも、転送元（ソース）演算ブロックと転送先（ターゲット）演算ブロック間の関係だけを演算ブロック内電源スイッチ制御部に定義しておけば良い。また、ブロックを細分化して、きめ細かな制御も容易にできる。
本発明によれば、ＬＳＩを構成する各演算ブロックの回路を細分化し、電源供給を制御する回路（演算ブロックのロジック部）に対し最適な電源供給をすることでリーク電流の消費を抑制でき、ＬＳＩ全体の消費電力の削減が可能になる。また、電源供給を制御できる回路の動作周波数比を高めることでリーク電流の消費をさらに低減できる。
【図面の簡単な説明】
【００２３】
【図１】実施例１の構成を示すブロック図である。
【図２】実施例１の各演算部の構成を示すブロック図である。
【図３】ロジック部の演算を示すタームチャートである。
【図４】リーク電流の削減を比較した図である。
【図５】実施例１の動作を示すフロー図である。
【図６】動作を示すフロー図である。
【図７】電源制御を示すタイムチャートである。
【図８】実施例２の構成を示すブロック図である。
【図９】実施例２の各演算部の構成を示すブロック図である。
【図１０】実施例２の動作を示すフロー図である。
【図１１】実施例３の構成を示すブロック図である。
【図１２】実施例３の各演算部の構成を示すブロック図である。
【図１３】実施例３の動作を示すフロー図である。
【図１４】トランジスタの構成を示す図である。
【発明を実施するための最良の形態】
【００２４】
以下図面に基づいて、本発明の実施形態について詳細を説明する。
（実施例１）
図１は本発明を用いたＬＳＩ１の内部構成を示す概略図である。また図１はＬＳＩ１の構成を電源部２、データネットワーク３、電源スイッチ制御部４、演算ブロック５ａ〜５ｚなどから構成した例である。【００２５】
例えば、このＬＳＩ１の機能を無線ＬＡＮなどの復調部のベースバンド処理部と考えると、各演算ブロック５ａ〜５ｚを、フィルタ部、ＦＦＴ部などの機能を実現する回路と考えることができる。上記ベースバンド処理などのように各機能をシリアルに実行していく場合に、演算ブロック５ａ〜５ｚは演算処理を行い、データネットワーク３を介して次の演算ブロックにデータを転送する。前段演算ブロックが処理を完了した後、次段演算ブロックの入力として前段演算ブロックの出力を利用すれば、現在使用している演算ブロックのみに電源を供給するのみでリーク電流が削減できる。しかし、本発明はシリアルに処理する場合に限定をするわけではなく、演算処理中の演算ブロックだけが動作し、それ以外の演算ブロックが停止するようなシステムにおいて有効である。【００２６】
図１に示す電源部２は、ＬＳＩ１の各回路に電源を供給する。データネットワーク３は、クロスバネットワークまたはバスネットワークで構成され、各演算ブロック５ａ〜５ｚを相互接続するデータパスである。データネットワーク３は入力データとｖａｌｉｄデータを各演算ブロックに送り、さらに各演算ブロックの出力データを出力ネットワークを介して演算ブロックや他の周辺回路に出力する。ｖａｌｉｄデータは各演算ブロックで使用する入力データが有効であるか否かを判定するためのデータである。例えばクロックに同期させデータと一緒に送る。またデータとシリアルに転送してもパラレルに転送してもかまわない。【００２７】
電源スイッチ制御部４は、各演算ブロック５ａ〜５ｚの電源供給のタイミングを制御する。各演算ブロック５ａ〜５ｚはバッファ部６ａ〜６ｚとロジック部７ａ〜７ｚを設けている。そして電源部２はバッファ部６ａ〜６ｚとロジック部７ａ〜７ｚにともに供給する。バッファ部６ａ〜６ｚは入力データが何時きても保持できるように常時電源供給をする。ロジック部７ａ〜７ｚは上記説明した演算処理を実行し、演算処理を行うときにスイッチ部８ａ〜８ｚを制御して電源供給をする。また、電源スイッチ制御部４の構成は、ＣＰＵや再構成可能なハードウェアや専用のハードウェアでもよい。ＣＰＵなどにより実行する場合や再構成可能なハードウェアなどで構成する場合は、プログラムをＬＳＩ１起動時に読込み、その後実行させる。【００２８】
次に、演算ブロック５ａ〜５ｚの構成を図２に示す。バッファ部６は、セレクタ部２１、Ｗ／Ｒ制御部２２、データバッファ部２３などから構成される。演算ブロック５ａ〜５ｚには入力データとＶａｌｉｄ信号を入力し、演算処理後出力データと出力Ｖａｌｉｄ信号を出力する。【００２９】
セレクタ部２１は、回路設定信号によりデータネットワーク３とバッファ部６との接続が設定され、入力データとＶａｌｉｄ信号を演算ブロックに取り込む。演算ブロック毎に入力データとＶａｌｉｄ信号を送信する転送元の演算ブロックの転送元情報と、演算ブロックの出力として入力データとＶａｌｉｄ信号を出力する転送先の演算ブロックの転送先情報を設定している。【００３０】
Ｗ／Ｒ制御部２２は、セレクタ部２１経由で入力された入力データをデータバッファ部２３に書き込むための制御を行う。入力データはロジック部７で用いるデータを有しデータ入力用のクロックに同期している。また、セレクタ部２１を介して入力されたＶａｌｉｄ信号に基づいて有効な入力データのみをデータバッファ部２３に書き込む。電源スイッチ制御部４から周期的に電源制御信号（外部動作開始トリガ）を取得して、ロジック部７へデータとＶａｌｉｄ信号の転送を開始する。例えば、データバッファ部２３に所定のデータ数が蓄積され、外部動作開始トリガを受信するとＷ／Ｒ制御部２２はデータバッファ部２３に読み込み制御信号を出力し転送が開始される。【００３１】
データバッファ部２３はロジック部７へのデータ転送を行う。また、データバッファ部２３はメモリに入力データを保存してロジック部７にデータを転送する。メモリへのデータ書き込み（Ｗｒｉｔｅ）は一般的なアドレスに対してデータを保存する方式でもよいし、ＦＩＦＯのように入力順に保存してもよい。【００３２】
スイッチ部８はトランジスタにより電源供給を制御することができる。例えば、インバータ２４とトランジスタ２５、２６を用いて制御をする。本例ではトランジスタ２５と２６は異なる接合を用いているため、電源スイッチ制御部４からの電源制御信号（外部動作開始トリガ）をインバータ２４で反転してトランジスタ２５に入力している。一方のトランジスタ２６には反転をしないで入力する。【００３３】
ここで、ロジック部７の電源オン／オフを、ロジック部７のＶＤＤ側とＧＮＤ側で行っているがＶＤＤ側だけでもよい。ＶＤＤ側だけであると両側で電源オン／オフするのに比べて両方を入れる場合に比べ面積の無駄がなくなる。ＧＮＤ側に挿入する場合、回路ブロックにおけるトランジスタのゲート-Ｓｉ基板間や、ゲート-ドレイン（ソース）間に電位差が生じることがあり、ゲートリーク電流を引き起こす要因を完全に取り除けない場合がある。
（動作説明）
入力データは、入力ポートからデータネットワーク３を経由して、予めレジスタによって設定されたデータネットワーク設定に基づき、演算ブロック５ａ〜５ｚに転送される。そして、演算処理された出力データと出力Ｖａｌｉｄ信号が他の演算ブロックまたは出力ポートへ出力される。【００３４】
ここで、演算ブロック５ａが６４ポイントＦＦＴ、動作周波数ｆ＝４０ＭＨｚ、動作周波数比ｍ＝２である場合を考える。（１）入力データ信号波形、（２）データバッファ部２３出力信号波形、（３）Ｖｄｄ’の変化（電源制御信号）について、そのタイミングチャートを図３に示す。【００３５】
（１）の波形はデータネットワーク３を介してｆ＝４０ＭＨｚの動作周波数に乗って、演算ブロック５ａに送られてくる。演算ブロック５ａではｆ×ｍ＝８０ＭＨｚの動作周波数で動作しているため、２サイクルに１回有効なデータを受け取る。６４ポイントＦＦＴの場合、１回のＦＦＴ演算に６４個のデータが必要なため、１２８サイクル＊（１／８０ＭＨｚ）かけて６４個のデータを取得する。次に６４個のデータはバッファ部６からロジック部７に転送される。そのときに、ロジック部７に電源供給（Ｖｄｄ’を供給）し、演算終了後Ｖｄｄ’を遮断する。Ｖｄｄ’の供給を停止する期間だけ、リーク電流を低減することができる。【００３６】
ここで、データバッファ部２３のメモリサイズはブロック部７に割り当てる演算によって異なる。６４ポイントＦＦＴの場合は最低６４サイクル分必要である。仮に、ロジック部７のリーク電流と演算に係る充放電電流の比を１：１とすると、消費電流は従来に比べ
【数１】
0004551474.tif 000002
となる。【００３７】
ｍ＝２の場合には図４に示すとおり消費電力を従来の３／４に低減できる。従来、周波数ｆ＝１において、同図（ａ）の演算時間０〜２に渡り、消費電力２（リーク電力１とロジック充放電電力１の和）を必要とした演算処理を、周波数をｍ＝２倍にすることで従来の半分の時間だけ電源をオンにし、リーク電力を１／２に減らすことができる。同図（ｂ）の結果、総電力を３／４に減らす効果を得られる。パラメータｍに対する電力削減効果を一般化したのが先に示した（式１）である。動作周波数比ｍを高くするほど消費電流を低減できる。また、回路ブロックを細分化するほど電源を細かく制御でき、最適な制御による電流最小化が可能になる。
（動作フロー）
次に、実施例１の動作フローを図５を用い説明する。【００３８】
ステップＳ５１では、電源スイッチ制御部４の制御プログラムを設定する。ステップＳ５２では、上記説明したように各演算ブロックに対して電源制御信号を転送して電源オン／オフのタイミングを通知する設定をする。【００３９】
また、ステップＳ５３では各演算ブロックの設定をする。Ｗ／Ｒ制御部２２には定数として蓄積データ数（Ｎｄａｔａ）、ロジック部処理時間（Ｔｏｕｔｏｆｆ）を回路設定信号により設定するとともに、変数としてデータ読込みカウント数（Ｃｏｕｎｔｅｒ）、ロジック部処理時間カウント数（ｔｉｍｅｒ）を初期化する。同図では初期化を０にしてアップカウントしているがダウンカウントしてもかまわない。また、ロジック部７に対して機能を実現するためのパラメータなどを設定する。図２に示す回路設定信号により、例えばＦＦＴ演算であれが複素データの実部と虚部に対応するパラメータを設定する。またディジタルフィルタ演算であれば対応するフィルタ係数をパラメータとして設定する。【００４０】
ステップＳ５４は図２に示す回路設定信号により、図２に示す各演算ブロックのセレクタ部２１の設定（ＳＥＬ）をする。ここで、破線で囲んだ設定処理のステップＳ５１〜５４の順番は、本発明を限定するものではない。また設定処理とは、ＣＰＵ若しくは全体の制御を担う専用ハードによる設定である。【００４１】
ステップＳ５５では各演算部の入力データとＶａｌｉｄ信号をセレクタ部２１の接続（ＳＥＬ）に基づいてデータバッファ部２３とＷ／Ｒ制御部２２に取り込む。
ステップＳ５６では、Ｗ／Ｒ制御部２２によりＶａｌｉｄ信号が有効なデータのみをデータバッファ部２３に書き込みする。書き込み制御信号をデータバッファ部２３に出力して書き込みをする。またＷ／Ｒ制御部２２は有効なデータを１つ書き込む毎にデータ読み込みカウント数（Ｃｏｕｎｔｅｒ）をインクリメントする。ここでカウントは有効なデータ数をカウントし、Ｖａｌｉｄ信号が有効なものをカウントする。【００４２】
ステップＳ５７では、データバッファ部２３に有効な入力データが所定の数書き込まれたかを判断する。つまりデータ読み込みカウント数（Ｃｏｕｎｔｅｒ）＝蓄積データ数（Ｎｄａｔａ）が成立しているかを判断する。成立すれば（ＹＥＳ）ステップＳ５８に移行し、成立していなければ成立するまでＳ５７でループする。【００４３】
ステップＳ５８では、電源スイッチ制御部４からの電源制御信号（外部動作開始トリガ）により、対応する演算ブロックのロジック部７に電源を供給するスイッチ部８を制御して導通させロジック部処理時間カウント数（ｔｉｍｅｒ）のカウントアップを開始する。【００４４】
ステップＳ５９では、データバッファ部２３がＮｄａｔａ分の蓄積データをロジック部に転送する。ステップＳ５１０ではロジック部７がデータを受信し演算を開始する。その後、演算を完了したデータをステップＳ５１１でロジック部７からデータを出力する。【００４５】
ステップＳ５１２ロジック部７の処理が完了後、ロジック部処理時間（Ｔｏｕｔｏｆｆ）＝ロジック部処理時間カウント数（ｔｉｍｅｒ）になれば電源を遮断する。また、変数を初期化する。【００４６】
次に、図５に示すように次段の演算ブロックで演算処理を行うためステップＳ５５に移行する。例えば、図６に示す演算ブロックＡを初段とし、次に演算処理をする演算ブロックを演算ブロックＢとし演算ブロックＺまでを順に処理する場合について考える。演算ブロックＢは、演算ブロックＡまたはデータネットワーク３から入力データを取得する。演算ブロックＢは演算ブロックＡと同様にバッファ部の処理とロジック部の処理を完了し、次段の演算ブロックＣに移行する。この処理を繰り返し演算ブロックＺまでの演算を行う。【００４７】
ここで、演算ブロックＡと演算ブロックＢが同時に演算を行っても問題はなく、そのような並列処理が必要な場合は電源スイッチ制御部４の制御プログラムを図５と異なる、並列処理可能なプログラムにすればよい。
（電源制御）
図７で電源供給の動作を説明する。図７の（イ）に示す期間（ｃ）の波形はスイッチ部８（図２に示すトランジスタ２５、２６）の切り替えを示している。ロジック部７に電源供給し始めると（ロ）に示すロジック部７の電源電圧が立ち上がり同図（ｂ）の期間経過後（電源電圧が安定した後）ロジック部７は演算処理を開始し、（ハ）に示す同図（ａ）の期間演算処理を実行する。そして、演算終了後スイッチ部８の切り替えを行い電源供給を遮断する。このように電源スイッチ制御部４の制御プログラムを作成する場合、ロジック部７が安定動作状態になる期間（ｂ）を設けることが必要である。【００４８】
上記のようにロジック部７が動作するときのみ電源スイッチ制御部４が電源を対応する演算ブロックに供給することで、演算処理が完了する毎に電源供給経路を停止することにより電源供給を停止する。ただし、バッファ部６には常に電源が供給されている。なぜならば、電源状態によらず、データ入力を常に可能とするためである。全ての演算ブロックのバッファ部６も同様である。このため、お互いの電力供給の状況を意識することなく、データの転送を行うことができる。【００４９】
また、以上のシステムを有したＬＳＩ１に与えるクロックとして、入力データのｍ倍の動作周波数のクロックをロジック部に与えることにより演算時間を１／ｍにする。その結果、演算時間を１／ｍにでき電源供給時間を従来の１／ｍにすることが可能となり、電源停止の期間ロジック部のリーク電流を止めることができる。
（実施例２）
実施例２は、実施例１に示すような演算ブロックと電源スイッチ制御部との間での直接的な制御ではない。トークン発行部と各演算ブロックとの間にトークンバスを設け電源供給をトークン（電源供給権）を用いて行う。ＬＳＩ８１起動直後に、初段の演算ブロックに権利を与えて演算をする。そして、その演算ブロックでの演算が終わり次第、その権利を電源スイッチ制御部に返す。その戻りトークンを受けたトークン発行部が次段の演算ブロックにトークンを渡して電源供給を開始する仕組みを有する。【００５０】
図８はＬＳＩ８１の構成を電源部８２、データネットワーク８３、トークン発行部８４、演算ブロック８５ａ〜８５ｚなどから構成された場合の例である。
例えば、実施例１同様ＬＳＩ８１の機能を無線ＬＡＮなどの復調部のベースバンド処理部と考えると、各演算ブロック８５ａ〜８５ｚはフィルタ部、ＦＦＴ部などの機能を実現する回路である。また、各演算ブロック８５ａ〜８５ｚは演算処理を行いデータネットワーク８３を介して次の演算ブロックに転送する。前段演算ブロックが処理を完了した後、次段演算ブロックの入力として前段演算ブロックの出力を利用すれば、現在使用している演算ブロックのみに電源供給するのでリーク電流が削減できる。【００５１】
電源部８２は、ＬＳＩ８１の各回路に電源を供給する。データネットワーク８３は、クロスバネットワークまたはバスネットワークで構成された各演算ブロック８５ａ〜８５ｚを相互接続するデータパスである。データネットワーク８３は入力データとｖａｌｉｄデータを各演算ブロックに送り、さらに各演算ブロックの出力データと出力Ｖａｌｉｄ信号を演算ブロックや出力ポートを介して他の周辺回路に出力を転送する。ｖａｌｉｄデータは各演算ブロックで使用する入力データが有効であるか否かを判定するためのデータである。【００５２】
トークン発行部８４は、各演算ブロック８５ａ〜８５ｚの電源供給のタイミングを制御する。各演算ブロック８５ａ〜８５ｚはバッファ部８６ａ〜８６ｚとロジック部８７ａ〜８７ｚを設けている。そして電源供給はバッファ部８６ａ〜８６ｚとロジック部８７ａ〜８７ｚとともにする。バッファ部８６ａ〜８６ｚは、実施例１同様入力データが何時きても保持できるように常時電源供給をする。ロジック部８７ａ〜８７ｚは上記説明した演算処理を実行するときだけ、スイッチ部８８ａ〜８８ｚを電源制御部８９ａ〜８９ｚが制御して電源供給をする。【００５３】
また、トークン発行部８４の構成は、ＣＰＵや再構成可能なハードウェアや専用のハードウェアでもよい。ＣＰＵなどにより実行する場合や再構成可能なハードウェアなどで構成する場合は、プログラムをＬＳＩ８１起動時に読み込み実行してもよい。【００５４】
次に、演算ブロック８５ａ〜８５ｚは図９に示す構成である。バッファ部８６は、セレクタ部９１、Ｗ／Ｒ制御部９２、データバッファ部９３などから構成される。
演算ブロック８５ａ〜８５ｚには入力データとＶａｌｉｄ信号を入力する。演算ブロックから出力データと出力Ｖａｌｉｄ信号を出力する。【００５５】
セレクタ部９１は、回路設定信号によりデータネットワーク８３とバッファ部８６との接続を予め設定し、入力データとＶａｌｉｄ信号を演算ブロックに取り込む。
Ｗ／Ｒ制御部９２は、セレクタ部９１経由で入力された入力データとｖａｌｉｄ信号をデータバッファ部９３に書き込むための制御を行う。入力データはロジック部８７で用いるデータ値を有しデータ入力用のクロックに同期している。また、セレクタ部９１を介して入力されたＶａｌｉｄ信号に基づいて有効な入力データのみをデータバッファ部９３に書き込む。【００５６】
データバッファ部９３はメモリに入力データを保存してロジック部８７にデータを転送する。メモリへのデータ書き込み（Ｗｒｉｔｅ）は一般的なアドレスに対してデータを保存する方式でもよいし、ＦＩＦＯのように入力順に保存してもよい。また、ロジック部８７へのデータ転送を行う。【００５７】
演算ブロック内の電源制御部８９は、データバッファ部９３に所定のデータ数が蓄積され、トークン発行部８４からトークンを取得したことを検知するとスイッチ部８８の切り替えをする。そしてロジック部８７に電源が供給される。データバッファ部９３にロジック部８７へ蓄積データの転送を開始する。【００５８】
スイッチ部８８はトランジスタ９５、９６などにより電源供給を制御する。例えば、インバータ９４とトランジスタ９５、９６を用いて制御をする。本例ではトランジスタ９５と９６は異なる接合を用いているため、電源制御部８９からの電源制御信号（動作開始トリガ）をインバータ９４で反転してトランジスタ９５に入力している。一方のトランジスタ９６へは反転をしないで入力する。そしてＶＤＤ側とＧＮＤ側で電源オン／オフをしている。本例ではトランジスタ９６によりＧＮＤ側の切り替えもしているが、ＶＤＤ側のみの切り替えだけでもよい。
（動作説明）
次に、実施例２の動作フローを図１０を用い説明する。【００５９】
ステップＳ１０１ではトークン発行部８４でトークンを発行する制御プログラムなどを設定する。上記説明したように各演算ブロックに対してトークンを発行して演算ブロックに権利を与え電源オン／オフのタイミングを通知する設定をする。【００６０】
また、ステップＳ１０２では、ロジック部に対して機能を実現するためのパラメータなどを設定する。図９に示す回路設定信号により、例えばＦＦＴ演算であれが複素データの実部と虚部に対応するパラメータを設定する。またディジタルフィルタ演算であれば対応するフィルタ係数パラメータを設定する。【００６１】
ステップＳ１０３は図９に示す回路設定信号により、図１０に示す各演算ブロックのセレクタ部９１の設定（ＳＥＬ）をする。
また、ステップＳ１０４では各演算ブロックの電源設定をする。Ｗ／Ｒ制御部９２には定数として蓄積データ数（Ｎｄａｔａ）、ロジック部処理時間（Ｔｏｕｔｏｆｆ）を設定する。ステップＳ１０５では変数としてデータ読み込みカウント数（Ｃｏｕｎｔｅｒ）、ロジック部処理時間カウント数（ｔｉｍｅｒ）を初期化する。同図では初期化を０にしてアップカウントしているがダウンカウントしてもかまわない。ここで、破線で囲んだ設定処理のステップＳ１０１〜１０５の順番は限定するものではない。また、設定処理はＣＰＵ若しくは全体の制御を担う専用ハードによる設定である。【００６２】
ステップＳ１０６ではトークン発行部８４がトークンを目的の演算ブロックに発行する。
ステップＳ１０７では各演算部の入力データとＶａｌｉｄ信号をセレクタ部９１の接続（ＳＥＬ）に基づいて取り込む。【００６３】
ステップＳ１０８では、Ｗ／Ｒ制御部９２がＶａｌｉｄ信号の有効であるデータのみをデータバッファ部９３に書き込みをする。Ｖａｌｉｄ信号が有効なときデータバッファ部９３に入力データとＶａｌｉｄ信号を書き込み制御信号を出力する。そしてＶａｌｉｄデータを１つ書き込む毎にデータ読込みカウント数（Ｃｏｕｎｔｅｒ）をインクリメントする。【００６４】
ステップＳ１０９では、電源制御部８９がトークンを受信し、データバッファ部９３に有効な入力データが所定の数書き込まれたかを判断する。つまりデータ読み込みカウント数（Ｃｏｕｎｔｅｒ）＝蓄積データ数（Ｎｄａｔａ）が成立しているかを判断する。成立すれば（ＹＥＳ）ステップＳ１０１０に移行し、成立していなければ成立するまでＳ１０９でループする。Ｗ／Ｒ制御部は予め設定したデータ数になると、データバッファ部１０３からデータ転送を開始する読み込み制御信号と電源制御部にフル信号をデータバッファ部１０３に出力する。【００６５】
ステップＳ１０１０では、電源制御部８９からの電源制御信号（動作開始トリガ）により、対応する演算ブロックのロジック部８７に電源を供給するスイッチ部８８を制御して導通させロジック部処理時間カウント数（ｔｉｍｅｒ）のカウントアップを開始する。【００６６】
ステップＳ１０１１では、データバッファ部９３がＮｄａｔａ分の蓄積データをロジック部に転送する。ステップＳ１０１２ではロジック部８７がデータを受信し演算を開始する。その後、演算を完了したデータをステップＳ１０１３でロジック部８７からデータを出力する。【００６７】
ステップＳ１０１４では、ロジック部８７の処理が完了後、ロジック部処理時間（Ｔｏｕｔｏｆｆ）＝ロジック部処理時間カウント数（ｔｉｍｅｒ）になれば電源を遮断する。また、変数を初期化する。【００６８】
ステップＳ１０１５では、電源制御部８９がトークン発行部８４に権利を戻す。ステップＳ１０１６ではトークン発行部８４が、戻りトークンを受信する。
そして、次段の演算ブロックで演算処理を行うためステップＳ１０６に移行する。例えば、演算ブロックＡを初段とし、次に演算処理をする演算ブロックを演算ブロックＢとし演算ブロックＺまでを順に処理する。演算ブロックＢは、演算ブロックＡまたはデータネットワーク３から入力データを取得する。演算ブロックＢは演算ブロックＡと同様にバッファ部の処理とロジック部の処理を完了し、次段の演算ブロックＣに移行する。この処理を繰り返し演算ブロックＺまでの演算を行う。【００６９】
ここで、演算ブロックＡと演算ブロックＢが同時に演算を行っても問題はなく、そのような並列処理が必要な場合はトークン発行部８４の制御プログラムを図１０と異なる、並列のプログラムにすればよい。
（実施例３）
ブロック間のデータ受け渡しの順番（データネットワークトポロジー）が入れ替わる場合や、複数演算ブロックからの入力がある場合にネットワークと演算ブロックとの間の接続が複雑になる。その場合にソース演算ブロックとターゲット演算ブロック間の関係だけを電源制御部に定義しておけばよい。演算ブロックを細分化してきめ細かな制御が容易に可能になる。【００７０】
図１１はＬＳＩ１１１の構成を電源部１１２、データネットワーク１１３、演算ブロック１１４ａ〜１１４ｚなどから構成された場合の例である。
例えば、実施例１同様ＬＳＩ１１１の機能を無線ＬＡＮなどの復調部のベースバンド処理部と考えると、各演算ブロック１１４ａ〜１１４ｚはフィルタ部、ＦＦＴ部などの機能を実現する回路である。また、各演算ブロック１１４ａ〜１１４ｚは演算処理を行いデータネットワーク１１３を介して次の演算ブロックに転送する。前段演算ブロックが処理を完了した後、次段演算ブロックの入力として前段演算ブロックの出力を利用すれば、現在使用している演算ブロックのみに電源供給するのでリーク電流が削減できる。【００７１】
電源部１１２は、ＬＳＩ１１１の各回路に電源を供給する。データネットワーク１１３は、クロスバネットワークまたはバスネットワークで構成された各演算ブロック１１４ａ〜１１４ｚを相互接続するデータパスである。データネットワーク１１３は入力データとｖａｌｉｄ信号を各演算ブロックに送り、さらに各演算ブロックの出力データと出力Ｖａｌｉｄ信号を演算ブロックや出力ポートを介して他の周辺回路に出力を転送する。【００７２】
各演算ブロック１１４ａ〜１１４ｚはバッファ部１１５ａ〜１１５ｚとロジック部１１６ａ〜１１６ｚを設けている。そして電源供給はバッファ部１１５ａ〜１１５ｚとロジック部１１６ａ〜１１６ｚにする。バッファ部１１５ａ〜１１５ｚは入力データが何時きても保持できるように常時電源供給をする。ロジック部１１６ａ〜１１６ｚは上記説明した演算処理を実行し、演算処理を行うときにスイッチ部１１７ａ〜１１７ｚを制御して電源供給をする。各演算ブロック１１４ａ〜１１４ｚの電源制御部１１８ａ〜１１８ｚは、電源供給のタイミングを制御する。【００７３】
次に、演算ブロック１１４ａ〜１１４ｚは図１２に示す構成である。バッファ部１１５は、セレクタ部１２１、Ｗ／Ｒ制御部１２２、データバッファ部１２３などから構成される。【００７４】
演算ブロック１１４ａ〜１１４ｚには入力データとＶａｌｉｄ信号を入力する入力ポートと演算ブロックから出力データを出力ポートを設ける。
セレクタ部１２１は、回路設定信号によりデータネットワーク１１３とバッファ部１１５との接続を設定し、入力データとＶａｌｉｄ信号を演算ブロックに取り込む。【００７５】
Ｗ／Ｒ制御部１２２は、セレクタ部１２１経由で入力された入力データをデータバッファ部１２３に書き込むための制御を行う。また、Ｗ／Ｒ制御部１２２がトグル信号によりスイッチ部１１７の切り替えをする。データバッファ部１２３に所定のデータ数が蓄積されるとロジック部１１６への転送が開始される。入力データはロジック部１１６で用いるデータを有しデータ入力用のクロックに同期している。また、セレクタ部１２１を介して入力されたＶａｌｉｄ信号に基づいて有効な入力データのみをデータバッファ部１２３に書き込む。【００７６】
データバッファ部１２３はメモリに入力データを保存してロジック部１１６にデータを転送する。メモリへのデータ書き込み（Ｗｒｉｔｅ）は一般的なアドレスに対してデータを保存する方式でもよいし、ＦＩＦＯのように入力順に保存してもよい。【００７７】
スイッチ部１１７はトランジスタ１２５、１２６などにより電源供給を制御することができる。例えば、インバータ１２４とトランジスタ１２５、１２６を用いて制御をする。本例ではトランジスタ１２５と１２６は異なる接合であるため、電源制御部１１８からの信号をインバータ１２４で反転してトランジスタ１２５に入力している。一方のトランジスタ１２６へは反転をしないで入力する。【００７８】
本例ではトランジスタ１２６によりＧＮＤ側の切り替えもしているが、トランジスタ１２５だけを用いＶＤＤ側のみの切り替えだけでもよい。
（動作説明）
実施例３は回路設定信号によりロジック部１１６、Ｗ／Ｒ制御部１２２、セレクタ部１２１の設定を完了した後、（１）入力データをセレクタ部経由で演算ブロックへ取り込む。Ｖａｌｉｄ信号が有効である入力データのみをＷ／Ｒ制御部１２２で選り分け、データバッファ部１２３に書き込む。データバッファ部１２３は、回路設定信号により決められた一定のデータ数がデータバッファ部１２３に蓄積された段階で、そのデータをロジック部１１６に転送する。Ｗ／Ｒ制御部１２２は、データ書き込みと同時に電源制御部１１８にスイッチを導通させるトグルの役割を果たす信号を送ることにより、電源Ｖｄｄ’、グランドＧＮＤ’のスイッチをオンさせ電源供給をする。また、Ｗ／Ｒ制御部１２２はロジック部１１６から処理データが出力された後、トグル信号を送り電源を遮断する。電源供給から遮断するまでのタイミング設定は回路設定信号により行う。【００７９】
次に、実施例３の動作フローを図１３を用い説明する。
ステップＳ１３１では、ロジック部に対して機能を実現するためのパラメータなどを設定する。図１３に示す回路設定信号により、例えばＦＦＴ演算であれが複素データの実部と虚部に対応するパラメータを設定する。またディジタルフィルタ演算であれば対応するフィルタ係数パラメータを設定する。【００８０】
ステップＳ１３２は図１２に示す回路設定信号により、各演算ブロックのセレクタ部１２１の設定（ＳＥＬ）をする。
また、ステップＳ１３３では各演算ブロックの電源設定をする。Ｗ／Ｒ制御部１２２には定数として蓄積データ数（Ｎｄａｔａ）、ロジック部処理時間（Ｔｏｕｔｏｆｆ）を設定する。ステップ１３４では変数としてデータ読込みカウント数（Ｃｏｕｎｔｅｒ）、ロジック部処理時間カウント数（ｔｉｍｅｒ）を初期化する。同図では初期化を０にしてアップカウントしているがダウンカウントしてもかまわない。ここで、破線で囲んだ設定処理のステップＳ１３１〜１３４の順番は限定するものではない。【００８１】
ステップＳ１３５では各演算部の入力データとＶａｌｉｄ信号をセレクタ部１２１の接続（ＳＥＬ）に基づいて取り込む。
ステップＳ１３６では、Ｖａｌｉｄ信号が有効なデータのみをデータバッファ部１２３に書き込みＶａｌｉｄデータを１つ書き込む毎にデータ読み込みカウント数（Ｃｏｕｎｔｅｒ）をインクリメントなどする。Ｖａｌｉｄ信号が有効なときデータバッファ部１２３に入力データとＶａｌｉｄ信号を書き込み制御信号を出力する。【００８２】
ステップＳ１３７では、データバッファ部１２３に有効な入力データが所定の数書き込まれたかを判断する。つまりデータ読み込みカウント数（Ｃｏｕｎｔｅｒ）＝蓄積データ数（Ｎｄａｔａ）が成立しているかを判断する。成立していれば（ＹＥＳ）ステップＳ１３８に移行し、成立していなければ成立するまでＳ１３７でループする。Ｗ／Ｒ制御部は予め設定したデータ数になると、データバッファ部１２３からデータ転送を開始する読み込み制御信号と電源制御部にフル信号をデータバッファ部１２３に出力する
ステップＳ１３８では、トグル信号を電源制御部１１８が受信し、ロジック部１１６に電源供給をするスイッチ部１１７を制御し導通させる。そしてロジック部処理時間カウント数（ｔｉｍｅｒ）のカウントアップを開始する。【００８３】
ステップＳ１３９では、データバッファ部１２３がＮｄａｔａ分の蓄積データをロジック部１１６に転送する。ステップＳ１３１０ではロジック部１１６がデータを受信し演算を開始する。その後、演算を完了したデータをステップＳ１３１１でロジック部１０６からデータとＶａｌｉｄ信号を出力する。【００８４】
ステップＳ１３１２では、ロジック部１１６の処理が完了後、ロジック部処理時間（Ｔｏｕｔｏｆｆ）＝ロジック部処理時間カウント数（ｔｉｍｅｒ）になれば電源を遮断する。また、変数を初期化する。【００８５】
そして、次段の演算ブロックで演算処理を行うためステップＳ１３５に移行する。例えば、演算ブロックＡを初段とし、次に演算処理をする演算ブロックを演算ブロックＢとし演算ブロックＺまでを順に処理する。演算ブロックＢは、演算ブロックＡまたはデータネットワーク３から入力データを取得する。演算ブロックＢは演算ブロックＡと同様にバッファ部の処理とロジック部の処理を完了し、次段の演算ブロックＣに移行する。この処理を繰り返し演算ブロックＺまでの演算を行う。【００８６】
ここで、異なる演算ブロックが同時に演算を行っても問題はない。
また、本発明は、上記実施の形態に限定されるものでなく、本発明の要旨を逸脱しない範囲内で種々の改良、変更が可能である。
【図１】
0004551474.tif 000003
【図２】
0004551474.tif 000004
【図３】
0004551474.tif 000005
【図４】
0004551474.tif 000006
【図５】
0004551474.tif 000007
【図６】
0004551474.tif 000008
【図７】
0004551474.tif 000009
【図８】
0004551474.tif 000010
【図９】
0004551474.tif 000011
【図１０】
0004551474.tif 000012
【図１１】
0004551474.tif 000013
【図１２】
0004551474.tif 000014
【図１３】
0004551474.tif 000015
【図１４】
0004551474.tif 000016