(57)【要約】【課題】  省面積かつ低消費電力でアナログ・デジタル混載型の演算回路を提供する。【解決手段】  並列演算処理された演算結果の累算値を算出する演算回路に、アナログ信号で表される情報を演算処理する複数のアナログ演算回路と、前記複数のアナログ演算回路による演算結果の総和値を電荷量として蓄積するキャパシタと、前記キャパシタに蓄積された電荷量を対応するパルス幅を持つパルス信号に変換するコンパレータと、前記パルス信号をデジタル信号に変換するパルス幅変調回路と、変換された前記デジタル信号に基づいて累算値を算出するデジタル演算回路とを備え、前記パルス幅変調回路2が、クロックを計数してその計数値をデジタル信号として出力するカウンタ11と、それぞれに入力される各パルス信号の終端において前記カウンタが出力する共通の計数値をラッチする複数のパルス生成回路10-0〜10-(n-1)とを有する。【選択図】  図４
2005122467.tif 000002
【特許請求の範囲】
【請求項１】
並列演算処理された演算結果の累算値を算出する演算回路であって、
アナログ信号で表される情報を演算処理する複数のアナログ演算回路と、
前記複数のアナログ演算回路による演算結果の総和値を電荷量として蓄積するキャパシタと、
前記キャパシタに蓄積された電荷量を対応するパルス幅を持つパルス信号に変換するコンパレータと、
前記パルス信号をデジタル信号に変換するパルス幅・デジタル変換回路と、
変換された前記デジタル信号に基づいて累算値を算出するデジタル演算回路とを備え、
前記パルス幅・デジタル変換回路が、
クロックを計数してその計数値をデジタル信号として出力するカウンタと、
それぞれに入力される各パルス信号の終端において前記カウンタが出力する共通の計数値をラッチする複数の終端ラッチ回路とを有することを特徴とする演算回路。
【請求項２】
前記パルス幅・デジタル変換回路が、
前記パルス信号の始端において前記カウンタが出力する計数値をラッチする始端ラッチ回路と、
前記終端ラッチ回路のデジタル出力値と前記始端ラッチ回路のデジタル出力値との差を演算して出力する減算回路と
を、前記複数の終端ラッチ回路の各々に対応して備えていることを特徴とする請求項１に記載の演算回路。
【請求項３】
前記デジタル演算回路が、前記アナログ演算回路による演算結果の正負に関する情報に基づいて、前記変換されたデジタル信号の加算処理と減算処理とを切り替えて実行し、該デジタル信号の累算値を算出することを特徴とする請求項１に記載の演算回路。
【請求項４】
前記キャパシタには、前記複数のアナログ演算回路が並列に接続されていることを特徴とする請求項１〜３に記載の演算回路。
【請求項５】
前記キャパシタには、入力されるアナログ信号に基づいて、前記算出される累算値の部分和に相当する電荷量が蓄えられることを特徴とする請求項１〜４に記載の演算回路。
【請求項６】
前記デジタル演算回路は、前記複数のアナログ演算回路における演算処理が完了するごとに、処理を実行することを特徴とする請求項１〜５に記載の演算回路。
【請求項７】
前記アナログ演算回路は、前記アナログ信号に対して所定の荷重値を乗算することを特徴とする請求項１〜６に記載の演算回路。
【請求項８】
前記アナログ演算回路は、前記アナログ信号に対して所定の非線形変換を行うことを特徴とする請求項１〜６に記載の演算回路。
【請求項９】
前記アナログ演算回路は、前記非線形変換の出力値に対して、所定の荷重値を乗算することを特徴とする請求項８に記載の演算回路。
【請求項１０】
前記アナログ信号に基づいて算出される累算値は、該アナログ信号を入力値とするニューラルネットワークを構成するニューロンの内部状態値と等価であることを特徴とする請求項１〜９に記載の演算回路。
【請求項１１】
前記キャパシタに蓄えられる電荷量は、前記アナログ信号を入力値とするニューラルネットワークを構成するニューロンの内部状態値に対する部分和と等価であることを特徴とする請求項１〜１０に記載の演算回路。
【請求項１２】
前記アナログ信号は画像信号であり、前記アナログ演算回路は該画像信号について１行ごとに演算処理することを特徴とする請求項１〜１１に記載の演算回路。
【請求項１３】
デジタルデータを保持するメモリを更に備え、
前記デジタル演算回路は、前記メモリに保持されたデジタルデータと、前記変換されたデジタル信号とを加算し、前記メモリは該加算結果を保持することで、前記累算値を算出することを特徴とする請求項１〜１２に記載の演算回路。
【請求項１４】
デジタルデータを保持するメモリを更に備え、
前記アナログ演算回路による演算結果が正の場合、前記デジタル演算回路は、前記メモリに保持されたデジタルデータと、前記変換されたデジタル信号とを加算し、前記メモリは該加算結果を保持し、
前記アナログ演算回路による演算結果が負の場合、前記デジタル演算回路は、前記メモリに保持されたデジタルデータから、前記変換されたデジタル信号を減算し、前記メモリは該減算結果を保持することで、前記累算値を算出することを特徴とする請求項１〜１３に記載の演算回路。
【請求項１５】
前記デジタル演算回路では、加算処理と減算処理とが交互に実行されることを特徴とする請求項３に記載の演算回路。
【請求項１６】
クロックを計数してその計数値をデジタル信号として出力する第２のカウンタと、
それぞれに外部からデジタル値として入力される各入力値と前記カウンタが出力する共通の計数値とを比較して、所定の時点から前記入力値と前記計数値とが一致する時点までの時間幅の出力パルス信号、又は所定の最大計数値から前記入力値を引いた値と前記計数値とが一致する時点から前記計数値が前記最大計数値に達する時点までの時間幅の出力パルス信号を生成する複数のパルス生成手段と
を備えるデジタル・パルス幅変換回路を有することを特徴とする請求項１〜１５に記載の演算回路。
【請求項１７】
前記複数のパルス生成手段の各々は、
外部から入力される前記入力値をラッチするパルス幅レジスタと、
前記パルス幅レジスタがラッチした前記入力値の各ビットと、前記カウンタが出力する計数値の各ビットとを比較して、両者が完全に一致したときにトリガを発生するタイミングトリガ発生回路と、
前記タイミングトリガ発生回路がトリガを発生したときに、前記出力パルス信号の真理値を反転させる出力パルス反転回路と、
を備えていることを特徴とする請求項１６に記載の演算回路。
【請求項１８】
前記複数のパルス生成手段の各々は、
前記出力パルスの立ち上がりのタイミングを表すデジタル値である基準値をラッチする基準値レジスタと、
前記基準値と外部から入力されるデジタル値である前記入力値との加算値を出力する加算回路と、
前記加算回路の出力値をラッチするパルス幅レジスタと、
前記基準値レジスタがラッチしたデジタル値又は前記パルス幅レジスタがラッチしたデジタル値の何れか一方を切り換えて出力する切換回路と、
前記切換回路から出力されるデジタル値の各ビットと、前記カウンタが出力する計数値の各ビットとを比較して、両者が完全に一致したときにトリガを発生するタイミングトリガ発生回路と、
前記タイミングトリガ発生回路がトリガを発生したときに、前記出力パルス信号の真理値を反転させる出力パルス反転回路と
を備え、
前記切換回路は、前記出力パルス反転回路が出力する出力パルスが偽値のときは、前記基準値レジスタがラッチしたデジタル値を出力し、前記出力パルス反転回路が出力する出力パルスが真値のときは、前記パルス幅レジスタがラッチしたデジタル値を出力するように切り換えを行うことを特徴とする請求項１６に記載の演算回路。
【請求項１９】
前記デジタル・パルス幅変換回路からの出力パルス信号により制御される電流源回路と、
第２のキャパシタと
を備えることを特徴とする請求項１６〜１８に記載の演算回路。
【請求項２０】
並列演算処理された演算結果の累算値を算出する演算回路の動作制御方法であって、
アナログ信号で表される情報を複数のアナログ演算回路により演算処理するアナログ演算工程と、
前記アナログ演算工程による演算結果の総和値を電荷量としてキャパシタに蓄積する蓄積工程と、
前記キャパシタに蓄積された電荷量を対応するパルス幅を持つパルス信号に変換する電圧パルス変換工程と、
前記パルス信号をデジタル信号に変換するパルス幅・デジタル変換工程と、
変換された前記デジタル信号に基づいて累算値を算出する加算工程とを備え、
前記パルス幅・デジタル変換工程が、
カウンタによりクロックを計数してその計数値をデジタル信号として出力する工程と、
複数の終端ラッチ回路により、それぞれに入力される各パルス信号の終端において前記カウンタが出力する共通の計数値をラッチする工程とを有することを特徴とする演算回路の動作制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アナログ・デジタル混載型の演算回路に関し、例えば、デジタル信号をアナログ信号に変換し、アナログ演算回路において入力値に対して積和演算を行なった後に演算結果をアナログ値として出力する、またはさらに出力されたアナログ値をデジタル値に変換して処理を行なうようなアナログ・デジタル混載型の演算回路に関する。
【背景技術】
【０００２】
現在、コンピュータは大きな進展を見せ、世の中の様々な場面で使用されている。しかしながら、これらノイマン型と呼ばれるコンピュータは、その処理方式自体の特性により、人が容易に行うことができる処理（リアルタイムでの人の顔の認識等）を非常に不得意としている。
【０００３】
これに対して、脳の情報処理様式を真似た演算処理モデルである、ニューラルネットワークの研究が行われている。
【０００４】
ニューラルネットワークを構成するニューロンのモデルとしては、ニューロンに相当するユニットに対して、他の複数のユニット（ニューロン）の出力値をシナプス荷重値で重み付けした乗算値が入力され、その入力値の総和値をさらに非線形変換した値を出力値とするものが一般的である。
【０００５】
すなわち、一般的なニューラルネットワークにおいては、各ユニット、及びユニット間における積和演算と非線形変換により、所望の処理が実現される。
【０００６】
このニューロンモデルを用いたニューラルネットワークアーキテクチャとしては、これまでに、非線形な入出力特性を有するユニットを相互に結合した連想メモリや、同じく非線型な入出力特性を有するユニットを階層的に結合したパターン認識モデル等が提案されている。
【０００７】
ここでニューラルネットワークは、超並列・分散型の情報処理モデルであるため、逐次処理方式であるノイマン型コンピュータでの実行は極めて効率が悪い。従って、ニューラルネットワークの実用化に際しては、専用のハードウェアとしての集積回路化が有効である。
【０００８】
また集積回路化に際しては、入力データの保存や制御性といった面ではデジタル回路によるデジタル的な処理が適しているものの、前記の積和演算や非線形変換を実現する演算回路としては、アナログ演算回路を使用することでデジタル演算回路に比較して、素子数の大幅な削減が可能である。
【０００９】
すなわち、ニューラルネットワークの実用化においては、デジタル回路とアナログ回路をそれぞれの特徴が有効に機能する演算処理部に適用し、最終的に両者を混載した集積回路化を目指すのが有効である。
【００１０】
その場合、デジタル回路とアナログ回路の両者を結合するインターフェース部において、デジタル・パルス幅変換回路、D/A変換回路、およびA/D変換回路などが使用される。
【００１１】
ここで前記デジタル・パルス幅変換回路は、デジタル入力値を当該デジタル入力値に比例した時間幅のパルスに変換する機能を有するものを指し、クロックによって動作するカウンタの出力する計数値とデジタル入力値とを比較して、両者が一致したタイミングでパルス出力を立ち下げるものが広く知られている（例えば特許文献１参照）。
【００１２】
図２８は従来のデジタル・パルス幅変換回路の一例を示す図である（特許文献１の図１参照）。図２８に示した従来のデジタル・パルス幅変換回路は、ストローブ検出回路１０１、ラッチ回路１０２、カウンタ１０３、デジタル・コンパレータ１０４、及びＪＫフリップ・フロップ１０５を備えた構成からなる。
【００１３】
ストローブ検出回路１０１は、ストローブ信号NOT(STB)が入力されると、その後の最初のクロックCLKの立ち上がりでタイミング・イネーブル信号E1，E2を出力する。タイミング・イネーブル信号E1は、更にその次のクロックの立ち上がりでＬレベルとなる。一方、タイミング・イネーブル信号E2は、クリア信号NOT(reset)がＨレベルの間は常時Ｈレベルとなっている。
【００１４】
また、ラッチ回路１０２は、外部から入力される１６ビットのデジタル・データD0〜D15をラッチし、ラッチデータQ0〜Q15として出力する。そして、１６ビットのカウンタ１０３は、クロックCLKを計数して、その計数値C0〜C15を出力する。また、カウンタ１０３は、その計数値がFFFFになると、カウント・アウト信号C.O.を出力する。
【００１５】
デジタル・コンパレータ１０４は、ラッチデータQ0〜Q15と計数値C0〜C15とを比較して、計数値C0〜C15がラッチデータQ0〜Q15を越えるまで、ＪＫフリップ・フロップ１０５にＨレベルを出力し、計数値C0〜C15がラッチデータQ0〜Q15を越えた時に、この出力値をＬレベルに反転する。
【００１６】
ＪＫフリップ・フロップ１０５は、処理サイクルの最初では、デジタル・コンパレータ１０４の出力信号が入力端子Ｊに入力され、出力ＱにＨレベルを保持する。また、デジタル・コンパレータ１０４の出力信号がＬレベルに反転した後の最初のクロックCLKの立ち上がりタイミングで、ＪＫフリップ・フロップ１０５は、出力ＱをＬレベルに反転する。そして、カウント・アウト信号C.O.が入力されると、ＪＫフリップ・フロップ１０５は出力ＱをＨレベルに復帰させる。
【００１７】
このような構成によって、ＪＫフリップ・フロップ１０５の出力Ｑにはデジタル・データD0〜D15の値に比例した時間幅のパルスが出力される。
【００１８】
またD/A変換回路としては、前記デジタル・パルス幅変換回路と、スイッチド電流源とキャパシタを組み合わせたものが従来より使用されている。
【００１９】
すなわち、デジタル値をデジタル・パルス幅変換回路によって、パルス幅にデジタル値に比例する値をもつパルスに変換する。さらに前記パルスによってスイッチド電流源をオン・オフし、パルス幅に比例する電荷をキャパシタに蓄積することにより、最終的にデジタル値をキャパシタの電圧値としてアナログ値に変換する。
【００２０】
またA/D変換回路としては、アナログ電圧を当該アナログ電圧値に比例した時間幅のパルスに変換するコンパレータと、前記パルスの時間幅をデジタル値に変換するパルス幅・デジタル変換回路を組み合わせたものが従来より使用されている。
【００２１】
すなわち、アナログ電圧値をコンパレータによって、パルス幅に情報をもつパルスに変換する。さらに前記パルスをパルス幅・デジタル変換回路によってデジタル値に変換することでA/D変換を行なう。
【００２２】
ここでパルス幅・デジタル変換回路は、従来、積分型ＡＤ変換器において広く用いられている（例えば、特許文献２，３、非特許文献１参照）。
【００２３】
図２９は積分型ＡＤ変換器において用いられている従来のパルス幅・デジタル変換回路のブロック図である。
【００２４】
従来のパルス幅・デジタル変換回路111は、ANDゲート回路112とカウンタ113とを有する簡単な構成からなる。ANDゲート回路112には、デジタル・パルス幅変換された入力パルスPWとクロックCLKとが入力される。ANDゲート回路112は、この入力パルスPWとクロックCLKの論理積からなるゲート信号gをカウンタ113に出力する。カウンタ113は、入力されるゲート信号gの立ち上がりエッジを計数し、その計数値をmビットのデジタル出力D={D0,…,Dm-1}として出力する。
【００２５】
この構成により、入力パルスPWがＨレベルのときにANDゲート回路112が有効となり、入力パルスPWがＬレベルのときにANDゲート回路112が無効となる。ANDゲート回路112が有効である間は、クロックCLKがゲート信号gとして出力される。そして、カウンタ113は、ゲート信号gとして出力されるクロックを計数する。これにより、入力パルスPWの幅に比例したカウント値がデジタル出力D={D0,…,Dm-1}として得られる。
【特許文献１】特開平４−２２２２号公報
【特許文献２】特開平８−２０４５６６号公報
【特許文献３】特開昭６２−２６５８２０号公報
【非特許文献１】鈴木八十二，吉田正廣著，「パルス・デジタル回路入門」，日刊工業新聞社，２００１年７月２６日発行，ｐ．２２５〜ｐ．２３２
【発明の開示】
【発明が解決しようとする課題】
【００２６】
アナログ・デジタル混載型の演算回路において、デジタル・パルス幅変換回路、デジタル・パルス幅変換回路を利用したD/A変換回路、及びパルス幅・デジタル変換回路を利用したA/D変換回路を使用することは、その構造が簡単であることから、非常に有効な手段である。
【００２７】
しかしながら、多数のデジタル入力値を並列的にデジタル・パルス幅変換し、変調パルスを出力するような装置において、前記デジタル・パルス幅変換回路を使用すると、回路面積と消費電力が、並列的に動作するデジタル・パルス幅変換回路数に比例して大きくなるという問題がある。
【００２８】
すなわち、多数のデジタル入力値を並列的にデジタル・パルス幅変換する場合には、図２８に示したデジタル・パルス幅変換回路を複数個並列に配置して、それぞれのデジタル・パルス幅変換回路に対して各デジタル入力値を入力させればよい。そして、各デジタル・パルス幅変換回路から出力されるパルスを取り出すことで、並列的なデジタル・パルス幅変換が可能となる。
【００２９】
しかしこの場合、各デジタル・パルス幅変換回路において、回路面積が個数に比例して増大する。また、クロックによるスイッチング動作が頻繁に行われるため、総てのデジタル・パルス幅変換回路の駆動電力を合計すると、かなり大きな電力が消費されることとなる。従って、携帯機器のような省面積・低消費電力を要求される装置において、多数のデジタル入力値を並列的にデジタル・パルス幅変換する場合に使用することは困難である。
【００３０】
また同様に、多数のパルス入力を並列的にパルス幅デジタル変換し、デジタル値を出力するような装置において、前記パルス幅・デジタル変換回路を使用すると、各パルス幅・デジタル変換回路111の消費電力の総和がかなり大きくなるという問題がある。
【００３１】
すなわち、それぞれのパルス入力に対して、図２９に示したようなパルス幅・デジタル変換回路111を使用した場合、多数のカウンタ113が並列的にスイッチング動作を行うこととなる。そのため、例えば、カウンタ113をＣＭＯＳにより構成した場合でも、カウンタ113がスイッチング時の負荷容量を充放電する際の充放電電力消費が大きくなる。この充放電電力消費の増加は、パルス入力数が大きいほど顕著となる。
【００３２】
また、多数のカウンタ113が並列的に動作することにより、カウンタ113のスイッチングノイズが大きくなる。従って、回路全体のノイズ対策が必要となってくる。
【００３３】
そこで本発明の目的は、省面積かつ低消費電力で複数のデジタル入力値を並列的にパルス幅に変換するデジタル・パルス幅変換回路、及び低消費電力で動作し、回路から発生するノイズも小さいパルス幅・デジタル変換回路を用いたアナログ・デジタル混載型の演算回路を提供することにある。
【課題を解決するための手段】
【００３４】
上記の目的を達成するために、本発明によれば、並列演算処理された演算結果の累算値を算出する演算回路に、アナログ信号で表される情報を演算処理する複数のアナログ演算回路と、前記複数のアナログ演算回路による演算結果の総和値を電荷量として蓄積するキャパシタと、前記キャパシタに蓄積された電荷量を対応するパルス幅を持つパルス信号に変換するコンパレータと、前記パルス信号をデジタル信号に変換するパルス幅・デジタル変換回路と、変換された前記デジタル信号に基づいて累算値を算出するデジタル演算回路とを備え、前記パルス幅・デジタル変換回路が、クロックを計数してその計数値をデジタル信号として出力するカウンタと、それぞれに入力される各パルス信号の終端において前記カウンタが出力する共通の計数値をラッチする複数の終端ラッチ回路とを有することを特徴とする。
【００３５】
また本発明の他の態様によれば、並列演算処理された演算結果の累算値を算出する演算回路の動作制御方法に、アナログ信号で表される情報を複数のアナログ演算回路により演算処理するアナログ演算工程と、前記アナログ演算工程による演算結果の総和値を電荷量としてキャパシタに蓄積する蓄積工程と、前記キャパシタに蓄積された電荷量を対応するパルス幅を持つパルス信号に変換する電圧パルス変換工程と、前記パルス信号をデジタル信号に変換するパルス幅・デジタル変換工程と、変換された前記デジタル信号に基づいて累算値を算出する加算工程とを備え、前記パルス幅・デジタル変換工程が、カウンタによりクロックを計数してその計数値をデジタル信号として出力する工程と、複数の終端ラッチ回路により、それぞれに入力される各パルス信号の終端において前記カウンタが出力する共通の計数値をラッチする工程とを有することを特徴とする。
【発明の効果】
【００３６】
本発明によれば、並列演算処理された演算結果の累算値を算出する演算回路を省面積かつ低消費電力で実現することが可能となる。
【発明を実施するための最良の形態】
【００３７】
以下、添付図面を参照しながら、本発明の実施形態を説明する。
【００３８】
（第一の実施形態）
図１は、本実施形態でのアナログ・デジタル混載型の演算回路１００の全体構成図を示す。
【００３９】
図１に示すように、本アナログ・デジタル混載型の演算回路はデジタルメモリ1と、デジタル・パルス幅変換回路2と、アナログ演算回路3と、キャパシタ4とから構成される。
【００４０】
本アナログ・デジタル混載型の演算回路１００は、複数の乗算結果の累算値を算出する機能を実現するものである。
【００４１】
また図２は、図１に示されたアナログ演算回路3とキャパシタ4の構成を詳細に説明したものである。図２に示すように、本実施形態でのアナログ演算回路3とキャパシタ4は、キャパシタ4に接続するバスに、複数のアナログ演算回路3が並列に接続する構成となっている。
【００４２】
また図３は、本実施形態でのアナログ演算回路3の詳細な回路構成を示す。図３に示すように、本実施形態でのアナログ演算回路3は、定電流源として機能する１つのＰＭＯＳトランジスタＭ１を有する。
【００４３】
また図４は、本実施形態でのデジタル・パルス幅変換回路の構成を示すブロック図である。図５は、図４における各パルス生成回路の構成を表すブロック図である。図６は、本実施形態におけるデジタル・パルス幅変換回路の動作を表すタイミングチャートである。ここではまず、図４、図５、図６を用いてメモリに保持されたデジタルデータをパルス信号に変換する処理過程について説明する。
【００４４】
そして図３を用いてアナログ演算回路3の演算処理過程について説明し、続いて図２を用いてアナログ演算回路3による演算結果が、どのように部分和としてキャパシタ4に保持されるかについて説明し、さらに図１を用いて、どのように部分和から所望の累算値を算出するかについて説明していく。
【００４５】
図１に示すように、まずデジタルメモリ1に保持した被乗算値Ａのデジタル値をデジタル・パルス幅変換回路2に入力する。デジタル・パルス幅変換回路2においては、入力されたデジタル値を当該デジタル入力値に比例した時間幅のパルス信号に変換して出力する。
【００４６】
ここで図４に示すように、本実施形態に係るデジタル・パルス幅変換回路2は、並列配置された複数のパルス生成回路10-0〜10-(n-1)、及び一つのカウンタ11を有する。各パルス生成回路10-0〜10-(n-1)のデータ入力端子Dinには、ｍビットの各デジタル入力値ｘ０〜ｘｎ-1が入力される。そして、各パルス生成回路10-0〜10-(n-1)のパルス出力端子Poutからは、各デジタル入力値ｘ０〜ｘｎ-1に比例するPWM信号PWM0〜PWMn-1が出力される。
【００４７】
また、カウンタ11は、外部から入力されるクロックclockを計数し、ｍビットの計数値として出力する。このクロックclockは、各パルス生成回路10-0〜10-(n-1)のクロック入力端子clkにも共通に入力される。また、各パルス生成回路10-0〜10-(n-1)のカウンタ値入力端子CNTには、カウンタ11から出力される計数値が共通に入力される。
【００４８】
更に、各パルス生成回路10-0〜10-(n-1)の基準値入力端子Dbには、ｍビットの基準値ｘｂが共通に入力される。この基準値ｘｂは、出力PWM信号PWM0〜PWMn-1の立ち上がりのタイミングを指定する値である。
【００４９】
図５は図４の各パルス生成回路の構成を表すブロック図である。パルス生成回路10-ｉ（ｉ∈｛0,1,…,n-1｝）は、基準値レジスタ12、加減算回路13、パルス幅レジスタ14、切換回路15、タイミングトリガ発生回路16、及び出力パルス反転回路17を有している。
【００５０】
基準値レジスタ12は、基準値ｘｂをラッチして、そのラッチした基準値ｘｂの値を出力する。加減算回路13は、基準値ｘｂと外部から入力されるデジタル値である入力値ｘｉとの加算値ｘｉ＋ｘｂを出力する。パルス幅レジスタ14は、加減算回路13の出力値（加算値ｘｉ＋ｘｂ）を更新入力renewの立ち上がりにおいてラッチする。
【００５１】
切換回路15は、出力パルス反転回路17が出力する出力PWM信号PWMｉが偽値（Ｌレベル）のときは、基準値レジスタ12がラッチしたデジタル値ｘｂを出力し、出力パルス反転回路17が出力する出力PWM信号PWMｉが真値（Ｈレベル）のときは、パルス幅レジスタ14がラッチしたデジタル値ｘｉ＋ｘｂを出力するように切り換えを行う。
【００５２】
タイミングトリガ発生回路16は、切換回路15から出力されるデジタル値の各ビットと、カウンタ11が出力する計数値CNTの各ビットとを比較して、両者が完全に一致したときにトリガを発生する。このタイミングトリガ発生回路16は、ｍ個のＥＸＯＲゲート18-0〜18-(ｍ-1)、及び１個のＮＯＲゲート19により構成されている。各ＥＸＯＲゲート18-0〜18-(ｍ−１) の入力の一方には、切換回路15からの出力ビットがそれぞれ入力され、他方の入力には、カウンタ11からの出力ビットがそれぞれ入力される。そして、各ＥＸＯＲゲート18-0〜18-(ｍ-1)の出力P0〜Pm-1はＮＯＲゲート19に入力される。ＮＯＲゲート19は、各ＥＸＯＲゲート18-0〜18-(ｍ-1)の出力P0〜Pm-1の論理和の反転出力を出力パルス反転回路17に対して出力する。
【００５３】
すなわち、各デジタル入力値xi（i∈｛0,1,…,n-1｝）、各基準値ｘｂ、カウンタの出力値CNTをそれぞれ式（１），（２），（３）により表した場合、タイミングトリガ発生回路16の出力Tiは、出力パルス反転回路17の出力値PoutがLレベルのときは式（４）、出力パルス反転回路17の出力値PoutがHレベルのときは式（５）のように表される。
【００５４】
xi＝（xi,0，xi,1，…，xi,m-1）                (1)
xb＝（xb,0，xb,1，…，xb,m-1）                (2)
CNTi＝（CNTi,0，CNTi,1，…，CNTi,m-1）        (3)
【００５５】
【数１】
2005122467.tif 000003
（4）
【００５６】
【数２】
2005122467.tif 000004
（5）
【００５７】
出力パルス反転回路17は、タイミングトリガ発生回路16がトリガを発生したときに、出力PWM信号PWMiの真理値を反転させる。この出力パルス反転回路17は、同期型Ｔフリップ・フロップ（以下、「Ｔ−ＦＦ」という。）により構成されている。出力パルス反転回路17のトリガ入力端子ＴにはＮＯＲゲート19からの出力値が入力される。また、Ｔ−ＦＦのクロック端子clkには、共通のクロックclockが入力される。また、出力パルス反転回路17の出力端子Ｑからは、出力PWM信号PWMiが出力される。
【００５８】
以上のように構成された本実施形態に係るデジタル・パルス幅変換回路について、以下その動作を図６のタイミング・チャートを参照しながら説明する。
【００５９】
まず、時刻t1において、各パルス生成回路10-ｉに対して、外部回路から入力値ｘｉ及び基準値ｘｂが入力される。次いで、時刻t2においてカウンタ11のリセット入力ノードR並びに各パルス生成回路10-ｉの基準値レジスタ12及びパルス幅レジスタ14のクロック入力ノードCLKに対して更新信号renewが入力される。基準値レジスタ12及びパルス幅レジスタ14は、更新信号renewが入力されると、その立ち上がり時点において、それぞれ、そのときの基準値ｘｂ及び入力値ｘｉの値をラッチする。そして、基準値レジスタ12は、ラッチされた基準値ｘｂを出力し、パルス幅レジスタ14は、ラッチされた加算値ｘｉ＋ｘｂを出力する。
【００６０】
一方、時刻ｔ１においては、出力パルス反転回路の出力はＬレベルであるので、切換回路15は、基準値レジスタ12から入力される値ｘｂを出力する。また、カウンタ11は、更新信号renewの立ち上がりにおいて、計数値CNTを0にリセットするとともに、計数を開始する。
【００６１】
次に、カウンタ11がカウントアップして、時刻ｔ3においてカウンタ11の計数値CNTが切換回路15の出力値である基準値ｘｂと一致する。このとき、タイミングトリガ発生回路16の出力TiはＨレベルに反転する。これにより、出力パルス反転回路17の出力PoutがＬレベルからＨレベルに反転し、出力PWM信号PWMiの出力が開始される。
【００６２】
時刻ｔ4において、出力パルス反転回路17の出力PoutがＨレベルに反転すると、切換回路15の入力が切り換わって、パルス幅レジスタ14から入力される値ｘｂ＋ｘｉを出力するようになる。これに伴い各ＥＸＯＲゲート18-0〜18-(ｍ-1)の出力値も変化するが、xi≠0であれば、ＥＸＯＲゲート18-0〜18-(ｍ-1)の出力値が総て０となることはない。従って、タイミングトリガ発生回路の出力TiはＬレベルに反転する。
【００６３】
更にカウンタ11がカウントアップして、時刻ｔ5において、カウンタ11の計数値CNTが切換回路15の出力値である加算値ｘｂ＋ｘｉと一致する。このとき、タイミングトリガ発生回路16の出力TiはＨレベルに反転する。これにより、出力パルス反転回路17の出力PoutはＨレベルからＬレベルに反転し、出力PWM信号PWMiの出力が停止される。このようにして、デジタル入力値xiに比例した時間幅の出力PWM信号PWMiが生成され、デジタル・パルス幅変換が行なわれる。
【００６４】
時刻ｔ6において、出力パルス反転回路17の出力がＬレベルに反転すると、切換回路15の入力が切り換わり、切換回路15は基準値レジスタ12から入力される値ｘｂを出力するようになる。これに伴い各ＥＸＯＲゲート18-0〜18-(ｍ-1)の出力値も変化するが、xi≠0であれば、ＥＸＯＲゲート18-0〜18-(ｍ-1)の出力値が総て０となることはない。従って、タイミングトリガ発生回路の出力TiはＬレベルに反転する。
【００６５】
そして、カウンタ11はカウントアップするまで計数を続ける。この間、カウンタ値と切換回路の出力値ｘｂとが一致することはないので、出力パルス反転回路17の出力はＬレベルに保持される。カウンタ11がカウントアップすると計数を停止し、１サイクルが終了する。カウンタ11はカウントアップした後は、リセット入力ノードRが再度Hレベルに反転するまでは、カウントアップした時の出力値（総てHレベル）を維持する。
【００６６】
以上のようにして、各パルス生成回路10-ｉは、入力値ｘｉの値に比例した時間幅の出力PWM信号ＰＷＭｉを出力する。このとき、各パルス生成回路10-ｉは、共通のカウンタ11が出力する計数値を用いて、基準値ｘｂ又は加算値ｘｂ＋ｘｉとの比較を行う。従って、総てのパルス生成回路10-ｉにカウンタを備えた場合と比べると、消費電力が極めて小さくなるため、デジタル・パルス幅変換回路の低消費電力化が図られる。
【００６７】
また、本実施形態においては、基準値レジスタ12、パルス幅レジスタ14、及び切換回路15を用いて、出力PWM信号PWMiの立ち上がりと立ち下がりのタイミングを、共通のタイミングトリガ発生回路16を用いて発生させる構成としたことにより、回路遅延の影響を受けることなく、出力PWM信号PWMiのパルス幅を入力値ｘｉに正確に比例させることが可能となる。
【００６８】
尚、本実施形態においては、基準値xbにより、各パルス生成回路10-0〜10-(n-1)における出力パルスの立ち上がり時点を合わせる構成例を示したが、本発明においては、出力パルスの立ち下がり時点を合わせる構成としてもよい。この場合、加減算回路13は、基準値ｘｂから外部から入力されるデジタル値である入力値ｘｉを減算した減算値xb−ｘiを出力する構成とする。また、切換回路15は、出力パルス反転回路17が出力する出力PWM信号PWMiが真値（Hレベル）のときは、基準値レジスタ12がラッチしたデジタル値ｘｂを出力し、出力パルス反転回路17が出力する出力PWM信号PWMiが偽値（Lレベル）のときは、パルス幅レジスタ14がラッチしたデジタル値xb−ｘiを出力するように切り換えを行う構成とすればよい。
【００６９】
なお、各パルス生成回路2−i内に加減算回路11を用意せずに、デジタル入力信号xiとして、元々の入力値を基準値xbから加算または減算した結果を与えるようにしてもよい。
【００７０】
続いて、図３に示すアナログ演算回路は、本実施形態においては被乗算値Ａと乗算値Ｂの乗算：（Ａ×Ｂ）を実現する。（なおＡ、Ｂは、Ａ≧０、Ｂ≧０を満たすものとする。）ここで、被乗算値Ａと乗算値Ｂは、前記乗算をアナログ演算回路3で実現するために、前述したデジタル・パルス幅変換回路2から出力されたPWM信号PWM5と、アナログ電圧Vw6としてそれぞれ入力される。
【００７１】
なおアナログ演算回路3は、前記乗算を実現するもの以外でも、何らかの演算（たとえば非線形変換等）を行うものであれば別のアナログ演算回路でも構わない。
【００７２】
まず図３において、デジタル・パルス幅変換回路から出力されたPWM信号PWM5が入力端子7に入力され、また乗算値Ｂに所定の換算を施したアナログ電圧Ｖｗ6が入力端子8に入力される。
【００７３】
ここで、前記PWM信号の特性について簡単に説明しておく。パルス信号PWM（Ｐｕｌｓｅ Ｗｉｄｔｈ Ｍｏｄｕｌａｔｉｏｎ）は、情報をパルス波形の幅に持たせた変調方式であり、ノイズに強いデジタル的な特性（電圧方向にＨｉｇｈレベルとＬｏｗレベルの２値の情報を有するという特性）と、連続情報を１パルスで表現することができるアナログ的な特性（時間方向に連続情報を有するという特性）の両者を併せ持つものである。
【００７４】
Ｍ１のゲート端子には、入力端子8に入力された乗算値Ｂに相当するＶｗ6の電圧がかかる。また、Ｍ１のソース端子には、入力端子7よりＰＷＭ信号PWM5が入力される。なおＰＷＭ信号は、Ｌｏｗレベルを０Ｖ、Ｈｉｇｈレベルを電源電圧Ｖｄｄ（本実施形態では３.３Ｖ）と設定している。
【００７５】
ここで、ＰＷＭ信号がＨｉｇｈレベルの時、すなわちＭ１のソース端子にＶｄｄが加えられた時に、Ｍ１が飽和領域で動作するようにアナログ電圧Ｖｗ6を適切な電圧範囲に設定することにより、ＰＷＭ信号がＨｉｇｈレベルの間、Ｍ１を定電流源として動作させることができる。
【００７６】
またこの時、Ｍ１を流れる電流量は、ゲート−ソース間電圧、すなわち（Ｖｄｄ−Ｖｗ）で決定される。この時、ＰＷＭ信号PWM5のパルス幅は、被乗算値Ａに比例するように変換されている。またアナログ電圧Ｖｗ6は、（Ｖｄｄ−Ｖｗ）によって決定される電流量が乗算値Ｂに比例するように換算されている。
【００７７】
従ってＭ１は、ＰＷＭ信号がＨｉｇｈレベルの間だけ前記（Ｖｄｄ−Ｖｗ）により決定される電流を流すため、ＰＷＭ信号がＨｉｇｈレベルの間にＭ１が流す総電荷量は、Ａ×Ｂに比例したものとなる。なお、PWM信号を用いて前記乗算を実現できるものであれば、その他のアナログ演算回路を用いても構わない。
【００７８】
続いて図２を用いて、アナログ演算回路3による演算結果が、どのようにキャパシタ4に保持されるかについて説明する。図２において、前記のようにＭ１が流す電荷量は、バスによってアナログ演算回路3に接続されたキャパシタ4に蓄積される。
【００７９】
ここで、バスにはそれぞれ独立に演算を行う複数のアナログ演算回路3が接続されているため、それぞれのアナログ演算回路3により並列に実行された演算結果、すなわち、上で説明した電荷量は、バスを通してキャパシタ4に蓄積され、加算される。
【００８０】
従って、一回の並列な演算処理が完了するごとにキャパシタ4に蓄積される総電荷量は、共通のバスでキャパシタ4に接続された複数のアナログ演算回路3の演算結果の総和値を示している。
【００８１】
続いて図７のフローチャートを用いて、以上の演算処理フローの説明を行なう。また、説明に際しては各処理工程を実行する演算回路についても言及する。
【００８２】
図７において、まずデジタル信号の入力工程S1を実行し、次にそれぞれのデジタル・パルス幅変換回路において、デジタル信号をＰＷＭ信号に変換する工程S5を実行する。次にBi（電圧Vw）の入力工程S2を実行し、さらにそれぞれのアナログ演算回路において、工程S5からの出力であるＰＷＭ信号とアナログ電圧Vwを乗算する工程S3を実行する。次に、それぞれのアナログ演算回路において並列に算出された乗算値をキャパシタにおいて電荷量として蓄積し、部分和Σ(Ai×Bi)として保持する工程S4を実行する。
【００８３】
以上説明した演算フローを累算値を算出するために必要な回数（本実施形態では３回）繰り返すことにより、所望の累算値が算出される。
【００８４】
なお前記の演算フローは、必要に応じて複数回繰り返して、その演算結果をキャパシタに電荷として追加蓄積していっても構わない（図７では、S4を部分和算出としているが、演算結果をキャパシタに電荷として追加蓄積していく場合は、最終的に算出された累算値に相当する電荷量がキャパシタに蓄積される）。
【００８５】
またもしくは、一旦キャパシタに電荷として蓄積した演算結果を別の記憶回路に保存した後、新たに前記の演算フローを行なうものであっても構わない。
【００８６】
以上説明してきたように、低消費電力で複数のデジタル入力値を並列的にパルス幅に変換するデジタル・パルス幅変換回路を用いることで、低消費電力かつレイアウト面積が小さいアナログ・デジタル混載型の演算回路を実現することが可能となる。
【００８７】
（第二の実施形態）
本実施形態におけるアナログ・デジタル混載型の演算回路は、第一の実施形態におけるアナログ・デジタル混載型の演算回路と比較して、デジタル・パルス幅変換回路のみが異なっている。従って、以下では第一の実施形態と異なるデジタル・パルス幅変換回路についてのみ説明を行い、それ以外の部分は第一の実施形態と同様として説明を省略する。
【００８８】
ここで図３０に示すように、本実施形態に係るデジタル・パルス幅変換回路51は、並列配置された複数のパルス生成回路52−0〜52−（n-1）、及び一つのカウンタ53を有する。各パルス生成回路52−0〜52−（n-1）のデータ入力端子Dinには、mビットの各デジタル入力値ｘ０〜ｘｎ-1が入力される。そして、各パルス生成回路52−0〜52−（n-1）のパルス出力端子Poutからは、各デジタル入力値ｘ０〜ｘｎ-1に比例する時間幅のパルスPWM0〜PWMn-1が出力される。また、カウンタ53は、外部から入力されるクロックclockを計数し、mビットの計数値として出力する。また、各パルス生成回路52−0〜52−（n-1）のカウンタ値入力端子CNTには、カウンタ53から出力される計数値が共通に入力される。
【００８９】
図３１は図３０の各パルス生成回路の構成を表すブロック図である。パルス生成回路52−ｉ（i∈｛0,1,…,n-1｝）は、パルス幅レジスタ62、タイミングトリガ発生回路64、及び出力パルス反転回路65を有している。パルス幅レジスタ62は、外部から入力されるmビットのデジタル値である入力値ｘｉを更新入力renewの立ち上がりにおいてラッチして、その値を出力ノードに出力する。タイミングトリガ発生回路64は、パルス幅レジスタ62から出力されるmビットのデジタル値の各ビットと、カウンタ53が出力するmビットの計数値の各ビットとを比較して、両者が完全に一致したときにトリガを発生する。
【００９０】
このタイミングトリガ発生回路64は、m個のＥＸＯＲゲート66−0〜66−（ｍ−1）と１個のＮＯＲゲート67により構成されている。各ＥＸＯＲゲート66−0〜66−（ｍ−1）の入力の一方には、パルス幅レジスタ62からの出力ビットがそれぞれ入力され、入力の他方には、カウンタ53からの出力ビットがそれぞれ入力される。そして、各ＥＸＯＲゲート66−0〜66−（ｍ−1）の出力P0〜Pm-1はＮＯＲゲート67に入力される。ＮＯＲゲート67は、各ＥＸＯＲゲート66−0〜66−（ｍ−1）の出力P0〜Pm-1の論理和の反転出力を出力パルス反転回路65に対して出力する。
【００９１】
すなわち、各デジタル入力値ｘi（i∈｛0,1,…,n-1｝）、カウンタの出力値CNTを式（１），（３）により表した場合、タイミングトリガ発生回路64の出力Tiは式（６）のように表される。但し、ここでxiは0でないと仮定する。
【００９２】
【数３】
2005122467.tif 000005
（6）
【００９３】
式（６）より、タイミングトリガ発生回路64の出力Tiはデジタル入力値ｘiとカウンタの出力値CNTが、総てのビットにおいて一致したときに１となることが分かる。出力パルス反転回路65は、タイミングトリガ発生回路64がトリガを発生したときに、出力パルスPWMiの真理値を反転させる。この出力パルス反転回路65は、Ｔフリップ・フロップ（以下、「Ｔ−ＦＦ」という。）により構成されている。出力パルス反転回路65のトリガ入力端子ＴにはＮＯＲゲート67からの出力値が入力される。また、出力パルス反転回路65の出力端子Ｑからは、パルスPWMiが出力される。
【００９４】
以上のように構成された本実施形態に係るデジタル・パルス幅変換回路について、以下その動作を図３２のタイミング・チャートを参照しながら説明する。
【００９５】
まず、電源を入れた直後の初期状態では、カウンタ53の総ての計数値CNTはHレベルにあるものとし、入力値xｉは0であるとする。この状態で、時刻t0において、カウンタ53及びパルス幅レジスタ62に対して入力されているリセット入力resetを有効（Lレベル）とする。これにより、カウンタ53の計数値CNTは総て０リセットされる。また、パルス幅レジスタ62は、リセット信号resetがLレベルとされると、保持している記憶値を総て０にリセットする。そうすると、カウンタ53の計数値CNTとパルス幅レジスタ62の出力値とが一致し、タイミングトリガ発生回路64の出力TiはLレベルからHレベルに反転する。従って、出力パルス反転回路65の出力PoutiがHレベルに反転し、出力Poutiにパルスが出力され始める。
【００９６】
次に、時刻t1において、各パルス生成回路52−ｉに対して、外部回路から入力値ｘｉ（Xi≠（０，０，…，０））が入力される。このとき、パルス幅レジスタ62に入力されているリセット信号resetがLレベルなので、パルス幅レジスタ62の出力は総て０のままである。
【００９７】
次いで、時刻t2において、リセット入力resetが無効（Hレベル）とされるとともに、更新信号renewがLレベルからHレベルに反転される。更新信号renewは、各パルス幅レジスタ62のクロックCLK入力ノードに入力されており、更新信号renewがHレベルに反転した時点で、パルス幅レジスタ62はその時点の入力値ｘｉの値をラッチする。これにより、パルス幅レジスタ62の出力値は入力値ｘｉとなる。一方、カウンタ53の計数値CNTは依然として０なので、パルス幅レジスタ62の出力とカウンタ53の計数値CNTとは一致しなくなり、タイミングトリガ発生回路64の出力TはHレベルからLレベルに反転する。また、カウンタ53は、リセット信号resetがLレベルからHレベルに反転することにより、クロックclockの計数を開始する。尚、このとき、パルス幅レジスタ62は、ラッチされた加算値ｘｉを出力し続ける。
【００９８】
クロックclockとともにカウンタ53がカウントアップし、時刻ｔ3においてカウンタ53の計数値CNTが切換回路63の出力値であるｘiと一致する。このとき、タイミングトリガ発生回路64の出力値TはLレベルからHレベルに反転する。これにより、出力パルス反転回路65の出力PoutiはHレベルからLレベルに反転する。これにより、出力パルス反転回路65の出力PoutiのパルスPWMiの幅が確定する。このパルス幅は、デジタル入力値ｘｉに比例することから、デジタル・パルス幅変換が行われたこととなる。
【００９９】
更に、時刻t3から１クロック経過した時刻t4において、カウンタ53がカウントアップしてカウンタ53の計数値CNTが切換回路63の出力値ｘiと不一致となると、タイミングトリガ発生回路64の出力TiはHレベルからLレベルに反転する。
【０１００】
そして、カウンタ53はカウントアップするまで計数を続ける。この間、カウンタ53の計数値CNTと入力値ｘiとが一致することはないので、タイミングトリガ発生回路64の出力TiはLレベルを保持し、出力パルス反転回路65の出力もＬレベルに保持される。カウンタ53がカウントアップするとカウンタ53の計数値は総て０となり、１サイクルが終了する。そして、続けて同様のサイクルが繰り返される。
【０１０１】
以上のようにして、各パルス生成回路52−ｉ（ｉ＝０，…，ｎ−１）は、入力値ｘｉの値に比例した時間幅の出力パルスPWMｉを出力する。（ただし、この時間幅は、厳密にはreset信号がLの期間の2クロック分のオフセットが入る。これは、xiからあらかじめ2を引いておくなどの処理で対処できる。）
【０１０２】
このとき、各パルス生成回路52−ｉは、共通のカウンタ53が出力する計数値CNTを用いて、デジタル入力値ｘｉとの比較を行う。従って、総てのパルス生成回路52−ｉにカウンタを備えた場合と比べると、消費電力が極めて小さくなる。すなわち、総てのパルス生成回路52−ｉにカウンタを備えた場合には、各カウンタ内のスイッチング素子はクロックごとに少なくとも一つの素子の切換が行われる。従って、例えば、スイッチング素子としてＣＭＯＳを使用した場合、切換に伴って貫通電流や負荷への充放電電流が流れる。そのため、デジタル・パルス幅変換回路全体としての消費電力は大きくなる。
【０１０３】
一方、本実施形態のように、一つのカウンタ53を駆動し、各パルス生成回路52−ｉはこの共通のカウンタ53の出力値を参照してパルスの切り換えを行うようにすると、カウンタ53内のスイッチング素子の切換に伴って生じる貫通電流や負荷への充放電電流も少なく、消費電力も小さい。従って、デジタル・パルス幅変換回路51の低消費電力化が図られる。また、カウンタ53を共通化したことにより、回路のレイアウト面積が小さくなり、デジタル・パルス幅変換回路51の小型化が図られる。
【０１０４】
（第三の実施形態）
第三の実施形態におけるアナログ・デジタル混載型の演算回路200の構成例を図８に示す。
【０１０５】
図８から分かるように、本実施形態は、第一及び第二の実施形態で説明したアナログ・デジタル混載型の演算回路100において、それぞれのアナログ演算回路3の前段に、デジタルメモリ20と、D/A変換回路300が付加されていることが第一及び第二の実施形態と異なっている。
【０１０６】
従って本実施形態の説明においては、第一及び第二の実施形態と異なるD/A変換回路300の処理に関してのみ説明を行い、それ以外の処理に関しては第一及び第二の実施形態と同様として説明を省略する。
【０１０７】
また、図９に示すように、D/A変換回路300は、デジタル・パルス幅変換回路21と、電流源22と、キャパシタ23と、バッファ24から構成されている。なおD/A変換回路300の処理に関しては、デジタル・パルス幅変換回路21において並列に行なわれる処理は第一及び第二の実施形態と同様であるため、説明を省略する。
【０１０８】
図９に示すように、まずD/A変換回路300において、乗算値Bに相当するデジタル値をデジタルメモリからデジタル・パルス幅変換回路21に入力する。デジタル値が入力されたデジタル・パルス幅変換回路21では、第一及び第二の実施形態と同様の処理を行いＰＷＭ信号を出力する。続いて、ＰＷＭ信号はそれぞれ電流源22の動作のオン・オフを制御する。
【０１０９】
すなわち本実施形態においては、ＰＷＭ信号がHighの期間は電流源22がオンとなり、キャパシタ23に所定の電流が流れ込む。またＰＷＭ信号がLowの期間は電流源22がオフとなり、キャパシタ23への電流の流入がストップする。結果として、キャパシタ23にはそれぞれのＰＷＭ信号の時間幅に比例した電荷量が蓄積される。キャパシタ23においては、蓄積した電荷量はバッファ24を介して電圧値として参照することができるため、図８に示すようにアナログ演算回路に対して乗算値Bに相当するアナログ電圧値として入力される。
【０１１０】
続いて図１０のフローチャートを用いて、以上の演算処理フローの説明を行なう。
【０１１１】
図１０において、まずデジタル信号Aiの入力工程S1を実行し、次にそれぞれのデジタル・パルス幅変換回路において、デジタル信号をＰＷＭ信号に変換する工程を実行する。次にデジタル信号Bi（電圧Vw）の入力工程S6を実行し、次にD/A変換回路において、デジタル信号をアナログ信号に変換するD/A変換工程S7を実行する。
【０１１２】
続いて、それぞれのアナログ演算回路において、工程S5,S7からの出力であるＰＷＭ信号とアナログ電圧Vwを乗算する工程S3を実行する。次に、それぞれのアナログ演算回路において並列に算出された乗算値をキャパシタにおいて電荷量として蓄積し、部分和Σ(Ai×Bi)として保持する工程S4を実行する。
【０１１３】
以上説明した演算フローを累算値を算出するために必要な回数（本実施形態では３回）繰り返すことにより、所望の累算値が算出される。
【０１１４】
なお前記の演算フローは、必要に応じて複数回繰り返して、その演算結果をキャパシタに電荷として追加蓄積していっても構わない（図１０では、S4を部分和算出としているが、演算結果をキャパシタに電荷として追加蓄積していく場合は、最終的に算出された累算値に相当する電荷量がキャパシタに蓄積される）。またもしくは、一旦キャパシタに電荷として蓄積した演算結果を別の記憶回路に保存した後、新たに前記の演算フローを行なうものであっても構わない。
【０１１５】
以上のように、D/A変換回路において低消費電力で複数のデジタル入力値を並列的にパルス幅に変換するデジタル・パルス幅変換回路を用いることで、低消費電力かつレイアウト面積が小さいアナログ・デジタル混載型の演算回路を実現することが可能となる。
【０１１６】
（第四の実施形態）
以下、図面を参照して第四の実施形態を詳細に説明する。図１１は、本実施形態でのアナログ・デジタル混載型の演算回路400の全体構成図を示す。
【０１１７】
図１１に示すように、アナログ・デジタル混載型の演算回路は、複数のアナログ演算回路3、前記複数のアナログ演算回路3に接続するキャパシタ4と、図１２に示すコンパレータ28とパルス幅・デジタル変換回路29から構成されるＡ／Ｄ変換回路500と、デジタル加算回路25と、デジタルメモリ26とから構成される。このアナログ・デジタル混載型の演算回路400は、複数の乗算結果の累算値を算出する機能を実現するものである。
【０１１８】
また図２は、図１１に示されたアナログ演算回路3とキャパシタ4の構成を詳細に説明したものである。図２に示すように、本実施形態でのアナログ演算回路3とキャパシタ4は、キャパシタ4に接続するバスに、複数のアナログ演算回路3が並列に接続する構成となっている。
【０１１９】
また図３は、本実施形態でのアナログ演算回路3の詳細な回路構成を示す。図３に示すように、本実施形態でのアナログ演算回路3は、定電流源として機能する１つのＰＭＯＳトランジスタＭ１を有する。
【０１２０】
また図１２は、本実施形態におけるA/D変換回路500の構成を説明するものである。図１３は、A/D変換回路500を構成するパルス幅・デジタル変換回路29の構成を表すブロック図である。図１４は、パルス幅・デジタル変換回路29における終端ラッチ回路32-1〜32-(n-1)の内部構成を表すブロック図である。図１５は、ラッチ回路33-0〜33-(n-1)の内部構成を表すブロック図である。図１６は、パルス幅・デジタル変換回路29の各信号レベルの変化を表すタイムチャートである。
【０１２１】
ここでは、まず図３を用いてアナログ演算回路3の演算処理過程について説明し、続いて図２を用いてアナログ演算回路3による演算結果が、どのように部分和としてキャパシタ4に保持されるかについて説明し、さらに図１１を用いて、どのように部分和から所望の累算値を算出するかについて説明していく。続いて、図１３、図１４、図１５、図１６を用いて、A/D変換回路500の処理過程についてさらに詳しく説明していく。
【０１２２】
図３に示すアナログ演算回路3は、本実施形態においては被乗算値Ａと乗算値Ｂの乗算：（Ａ×Ｂ）を実現する。なおＡ、Ｂは、Ａ≧０、Ｂ≧０を満たすものとする。
【０１２３】
ここで、被乗算値Ａと乗算値Ｂは、前記乗算をアナログ演算回路3で実現するために、後述するように所定の換算を施したＰＷＭ信号PWM5と、アナログ電圧Ｖｗ6としてそれぞれ入力される。
【０１２４】
なお、アナログ演算回路3に入力される前記PWM信号及びアナログ電圧は、必要に応じて外部電源装置によって入力することも可能であるが、例えば第一、第二及び第三の実施形態で説明したPWM信号及びアナログ電圧の入力過程と同様に、デジタル値を変換して入力することが可能である。
【０１２５】
本実施形態においては、PWM信号及びアナログ電圧を第一、第二及び第三の実施形態で説明した入力過程と同様に入力することを想定しているが、詳細な入力過程の説明は第一、第二及び第三の実施形態における説明と同様のものとして省略する。なお、アナログ演算回路3は、前記乗算を実現するもの以外でも、何らかの演算（たとえば非線形変換等）を行うものであれば別のアナログ演算回路でも構わない。
【０１２６】
まず図３において、被乗算値Ａに所定の換算を施したＰＷＭ信号PWM5が入力端子7に入力され、また乗算値Ｂに所定の換算を施したアナログ電圧Ｖｗ6が入力端子8に入力される。
【０１２７】
Ｍ１のゲート端子には、入力端子8に入力された乗算値Ｂに相当するＶｗ6の電圧がかかる。また、Ｍ１のソース端子には、入力端子7よりＰＷＭ信号PWM5が入力される。なおＰＷＭ信号は、Ｌｏｗレベルを０Ｖ、Ｈｉｇｈレベルを電源電圧Ｖｄｄ（本実施形態では３.３Ｖ）と設定している。
【０１２８】
ここで、ＰＷＭ信号がＨｉｇｈレベルの時、すなわちＭ１のソース端子にＶｄｄが加えられた時に、Ｍ１が飽和領域で動作するようにアナログ電圧Ｖｗ6を適切な電圧範囲に設定することにより、ＰＷＭ信号がＨｉｇｈレベルの間、Ｍ１を定電流源として動作させることができる。
【０１２９】
またこの時、Ｍ１を流れる電流量は、ゲート−ソース間電圧、すなわち（Ｖｄｄ−Ｖｗ）で決定される。この時、ＰＷＭ信号PWM5のパルス幅は、被乗算値Ａに比例するように換算されている。またアナログ電圧Ｖｗ6は、（Ｖｄｄ−Ｖｗ）によって決定される電流量が乗算値Ｂに比例するように換算されている。
【０１３０】
従ってＭ１は、ＰＷＭ信号がＨｉｇｈレベルの間だけ前記（Ｖｄｄ−Ｖｗ）により決定される電流を流すため、ＰＷＭ信号がＨｉｇｈレベルの間にＭ１が流す総電荷量は、Ａ×Ｂに比例したものとなる。
【０１３１】
続いて図２を用いて、アナログ演算回路3による演算結果が、どのように部分和としてキャパシタ4に保持されるかについて説明する。図２において、前記のようにＭ１が流す電荷量は、バスによってアナログ演算回路3に接続されたキャパシタ4に蓄積される。
【０１３２】
ここで、バスにはそれぞれ独立に演算を行う複数のアナログ演算回路3が接続されているため、それぞれのアナログ演算回路により並列に実行された演算結果、すなわち、上で説明した電荷量は、バスを通してキャパシタ4に蓄積され、加算される。
【０１３３】
従って、一回の並列な演算処理が完了するごとにキャパシタ4に蓄積される総電荷量は、共通のバスでキャパシタ4に接続された複数のアナログ演算回路3の演算結果の総和値を示している。なお後述するように、この総和値は、最終的に算出しようとする累算値の部分和に相当している。
【０１３４】
なお、PWM信号を用いて前記乗算を実現できるものであれば、その他のアナログ演算回路を用いても構わない。
【０１３５】
続いて、図１１を用いて前記部分和から所望の累算値を算出する過程について説明していく。
【０１３６】
本実施形態において、所望の累算値は以下の演算式（７）で表されるとする。
【０１３７】
【数４】
2005122467.tif 000006
(7)
【０１３８】
これに対して、最終的な累算値を求めるために、図２に示す４つのアナログ演算回路3がバスを介してキャパシタ4に接続した構成を用いる。なお、この際トータルの演算個数（本実施形態では１２）が、アナログ演算回路数（４個）の倍数となっていなくても、乗算値Ｂ＝０に相当するアナログ電圧Ｖｗ6を入力することで、演算個数を調整することができる。
【０１３９】
ここでは、まず図２を用いて説明したように、４つのアナログ演算回路3によって、以下の演算式（８）で表される演算を並列に行い、演算結果を電荷量としてキャパシタ4に保持する。
【０１４０】
【数５】
2005122467.tif 000007
(8)
【０１４１】
ここでの演算結果は、所望の演算（演算式（７））に対する部分和とみなすことができる。
【０１４２】
続いて、キャパシタ4に電荷量としてアナログ的に保持した演算結果をＡ／Ｄ変換回路500によってデジタル値に変換する。そしてさらに、デジタル加算回路25によって、前記デジタル値をデジタルメモリ26に保存されているデジタル値に加算し、その演算結果をデジタルメモリ26に保持する。
【０１４３】
なお前記演算は、所望の演算（演算式（７））に対する一つ目の部分和の演算であるため、デジタルメモリ26に事前に保持された部分和は存在せず、全て０が保持されている。従って、ここでデジタルメモリ26に保持されたデジタル値は、演算式（８）の演算結果と等しい。
【０１４４】
続いて、二つ目の部分和の演算を前記と同様にアナログ演算回路3によって行う。すなわち、図２を用いて説明したように、４つのアナログ演算回路3によって、以下の演算式（９）で表される演算を並列に行い、演算結果を電荷量としてキャパシタ4に保持する。
【０１４５】
【数６】
2005122467.tif 000008
(9)
【０１４６】
ここでの演算結果は、所望の演算（演算式（７））に対する部分和とみなすことができる。
【０１４７】
続いて、キャパシタ4に電荷量としてアナログ的に保持した演算結果をＡ／Ｄ変換回路500によってデジタル値に変換する。
【０１４８】
そしてさらに、デジタル加算回路25によって、前記デジタル値をデジタルメモリ26に保存されているデジタル値に加算し、その演算結果をデジタルメモリ26に保持する。
【０１４９】
ここで、デジタルメモリ26に事前に保持されていたデジタル値は、演算式（８）の演算結果に相当するため、演算式（９）の演算結果を加算してデジタルメモリ26に保存した結果は、以下の演算式（１０）で表される。
【０１５０】
【数７】
2005122467.tif 000009
(10)
【０１５１】
続いて、三つ目の部分和の演算を前記と同様にアナログ演算回路3によって行う。すなわち、図２を用いて説明したように、４つのアナログ演算回路3によって、以下の演算式（１１）で表される演算を並列に行い、演算結果を電荷量としてキャパシタ4に保持する。
【０１５２】
【数８】
2005122467.tif 000010
(11)
【０１５３】
ここでの演算結果は、所望の演算（演算式（７））に対する部分和とみなすことができる。
【０１５４】
続いて、キャパシタ4に電荷量としてアナログ的に保持した演算結果をＡ／Ｄ変換回路500によってデジタル値に変換する。
【０１５５】
そしてさらに、デジタル加算回路25によって、前記デジタル値をデジタルメモリ26に保存されているデジタル値に加算し、その演算結果をデジタルメモリ26に保持する。
【０１５６】
ここで、デジタルメモリ26に事前に保持されていたデジタル値は、演算式（１０）の演算結果に相当するため、演算式（１１）の演算結果を加算してデジタルメモリ26に保存した結果は、以下の演算式（１２）で表されるように、所望の累算値となる。
【０１５７】
【数９】
2005122467.tif 000011
(12)
【０１５８】
以上説明したように、複数の乗算をアナログ演算回路3によりアナログ的に行い、それぞれの結果をキャパシタ4でアナログ的に加算して所望の累算値に対する部分和を算出する。
【０１５９】
さらに前記のように算出された部分和をＡ／Ｄ変換器500によりデジタルデータに変換した後、デジタル加算回路25により、デジタルメモリ26が保持する値にデジタル的に加算することにより所望の演算を実現する。
【０１６０】
続いて、前記のA/D変換回路500において行なわれる処理について詳しく説明する。
【０１６１】
図１２に示すように、A/D変換回路500はコンパレータ28とパルス幅・デジタル変換回路29から構成される。キャパシタ4に電荷として蓄積された演算結果は、キャパシタ4において電圧値として参照される。ここで、前記電圧値をコンパレータ28に入力し、コンパレータ28において別途入力された任意の電圧波形と比較を行なう。
【０１６２】
ここで前記任意の電圧波形は、電圧値が線形に上昇するランプ電圧波形27であっても良いし、その他の非線形電圧波形であっても良い。本実施形態で使用するランプ電圧波形27の場合は、キャパシタに蓄積された演算結果が線形変換されてPWM信号幅が設定される。また、その他の非線形電圧波形の場合は、キャパシタに蓄積された演算結果が非線形変換されてPWM信号幅が設定される。
【０１６３】
すなわちコンパレータ28の出力値が、ランプ電圧波形27のスタート時にＨｉｇｈレベルに立ち上がり、ランプ電圧値27とキャパシタ4の電圧値が等しくなった時点でＬｏｗレベルに立ち下がることでＰＷＭ信号に変換される。
【０１６４】
なお、コンパレータ28によるアナログ電圧のＰＷＭ信号への変換処理は、一般的に広く知られた技術であり、本発明の主眼とするところではないため、これ以上の詳しい説明は省略する。続いて、コンパレータ27から出力されたPWM信号はパルス幅・デジタル変換回路29に入力される。
【０１６５】
図１３はパルス幅・デジタル変換回路29の構成を表すブロック図である。
【０１６６】
本実施形態におけるパルス幅・デジタル変換回路29は、カウンタ31、及びn個（n＞２）の終端ラッチ回路32-0〜32-(n-1)を有している。パルス幅・デジタル変換回路29には、外部からクロックCLK、パルス出力トリガXRST、及びn個のPWM信号PW0〜PWn-1が入力される。また、電源電圧VDD及び基板電圧VSSが印加されている。
【０１６７】
クロックCLKには、一定の周期のパルス列が入力される。PWM信号PW0〜PWn-1は、前述したコンパレータ28からの出力である。パルス出力トリガXRSTは、PWM信号PW0〜PWn-1の出力開始を指示するトリガである。このパルス出力トリガXRSTには、クロックCLKの周期のM倍（Ｍ≧2m）の周期で、クロック周期分の時間幅の反転パルスが出力される。
【０１６８】
カウンタ31は、外部から入力されるクロックCLKを計数してその計数値CNT0〜CNTm-1をmビットのデジタル信号として出力する。各終端ラッチ回路32-ｉ（i∈{0,…,n-1}）は、外部から入力されるPWM信号PWiの終端においてカウンタ31が出力する計数値CNT0〜CNTm-1をラッチする。そして、各終端ラッチ回路32-ｉは、それぞれ、ラッチした計数値CNT0〜CNTm-1をmビットのデジタル出力Di,0〜Di,m-1として出力する。
【０１６９】
図１４は図１３の終端ラッチ回路の内部構成を表すブロック図である。
【０１７０】
終端ラッチ回路32-ｉ（i∈{0,…,n-1}）は、m個のラッチ33-0〜33-(m-1)、及び１個のインバータ34により構成されている。
【０１７１】
終端ラッチ回路32−ｉに入力されるPWM信号PWiは、インバータ34によりレベル反転され、各ラッチ33-0〜33-（m-1）のクロック入力端子clkに入力される。また、カウンタ31の各計数値CNT0〜CNTm-1は、それぞれ、ラッチ33-0〜33-（m-1）のデータ入力端子Dに入力される。パルス出力トリガXRSTは、各ラッチ33-0〜33-（m-1）のリセット入力端子NOT(R)に入力される。各ラッチ33-0〜33-（m-1）の出力端子Qから出力されるデータは、mビットのデジタル出力データDi={Di,0〜Di,m-1}として外部に出力される。
【０１７２】
尚、各ラッチ回路33-0〜33-（m-1）は、図１５に示したような、非同期リセット入力付きの同期型Ｄフリップ・フロップが用いられる。
【０１７３】
以上のように構成された本実施形態に係るパルス幅・デジタル変換回路29について、以下その動作を説明する。
【０１７４】
図１６は本実施形態に係るパルス幅・デジタル変換回路29の各信号レベルの変化を表すタイムチャートである。
【０１７５】
クロックCLKには、一定の周期Tで、幅T/2のパルスが連続的に入力されている。パルス出力トリガXRSTは、時刻t1において、幅Tの反転パルスを出力する。これにより、各ラッチ33-0〜33-（m-1）の出力はリセットされ、デジタル出力データDiは総て０リセットされる。
【０１７６】
そして、パルス出力トリガXRSTの立ち上がり時点（時刻t2）から、各PWM信号PWi（i∈{0,1,…,n-1}）の出力が開始される。また、それと同時に、カウンタ31は、クロックCLKの計数を開始する。カウンタ31は、クロックCLKの立ち上がりエッジにおいて、その計数値を１づつ増加させる。
【０１７７】
PWM信号PWiは、コンパレータ28からの出力信号である。このとき、コンパレータ28において、それぞれのランプ波形27のスタート時点を同期させることで、カウンタ31の計数開始と同期してPWM信号PWiを出力させることができる。
【０１７８】
時刻t3において、PWM信号PWiはＨレベルからＬレベルに反転する。これにより、インバータ34の出力NOT(PWi)のレベルはＬレベルからＨレベルに立ち上がる。各ラッチ33-ｊ（j∈{0,1,…,m-1}）は、このインバータ34の出力NOT(PWi)の立ち上がりエッジにおいて、データ入力端子Dに入力される計数値CNTjのレベルをラッチして、これをデータ出力端子Qから出力する。
【０１７９】
これにより、各終端ラッチ回路32-ｉ（i∈{0,…,n-1}）には、PWM信号PWiの立ち下がり時点におけるカウンタ31のカウント値CNT(i)={CNT(i)0, CNT(i)1,…, CNT(i)m-1}がラッチされる。このカウント値CNT(i)は、PWM信号PWiのパルス幅に比例した値となる。
【０１８０】
カウンタ31が計数を開始してから少なくとも時間2m・Tだけ経過した時点で、総ての終端ラッチ回路32-0〜32-（n-1）のデジタル出力値が確定する（勿論、それ以前に確定する場合もある）。従って、この確定時点後に、各終端ラッチ回路32-0〜32-（n-1）のデジタル出力値を取り出すことにより、PWM信号PW0〜PWn-1のパルス幅に比例したデジタル値を得ることができる。すなわち、パルス幅デジタル変換が完了する。
【０１８１】
このように、各終端ラッチ回路32-ｉ（i∈{0,…,n-1}）は、PWM信号PWiの終端で、共通のカウンタ31が出力する計数値CNTをラッチする。従って、カウンタ31は、それぞれの終端ラッチ回路32-ｉに対して計数値CNTを出力するための配線の寄生容量に抗して出力値（係数値CNT）の切り換えを行うだけであり、スイッチング時の消費電力は小さい。従って、上記従来のパルス幅デジタル変換を使用した場合に比べると、大幅に消費電力を低減させることが可能である。
【０１８２】
実際に計算機シミュレーションにより評価した結果、８０個のPWM信号PW0〜PW79を並列にパルス幅デジタル変換する場合、終端ラッチ回路として、図２９に示したような従来のパルス幅・デジタル変換回路を使用すると、226mWの電力が消費されることが見積もられた。それに対して、本実施形態に係るパルス幅・デジタル変換回路29を使用した場合、同じPWM信号をパルス幅デジタル変換する場合の消費電力は6.6mWであった。従って、消費電力は約1/50に抑えることができることが分かった。
【０１８３】
また、カウンタ31を一つにしたことによって、カウンタ31のスイッチング時に発生するスイッチング・ノイズを小さく抑えることができる。従って、回路のＳＮ比が向上する。従って、パルス幅にジッタ・ノイズが加わることによりパルス幅デジタル変換時に生じるジッタ誤差を最小限に抑えることができる。これにより、高速パルス幅デジタル変換にも使用することができる。
【０１８４】
また、各終端ラッチ回路32-0〜32-（n-1）は、共通のカウンタ31の出力値CNTをラッチするので、PWM信号PW0〜PWn-1に対する計数値CNTの切り替わりのタイミングにばらつきが生じない。そのため、カウンタ31のスイッチング時のジッタによる各PWM信号PW0〜PWn-1間でのタイミング誤差がばらつくことを防止できる。
【０１８５】
続いて図１７のフローチャートを用いて、以上の演算処理フローの説明を行なう。なお、説明に際しては各処理工程を実行する演算回路についても言及する。
【０１８６】
図１７において、まずデジタル信号Aiの入力工程S1を実行し、次にそれぞれのデジタル・パルス幅変換回路において、デジタル信号をＰＷＭ信号に変換する工程S5を実行する。
【０１８７】
次にデジタル信号Bi（電圧Vw）の入力工程S6を実行し、次にD/A変換回路において、デジタル信号をアナログ信号に変換するD/A変換工程S7を実行する。
続いて、それぞれのアナログ演算回路において、工程S5,S7からの出力であるＰＷＭ信号とアナログ電圧Vwを乗算する工程S3を実行する。
【０１８８】
次に、それぞれのアナログ演算回路において並列に算出された乗算値をキャパシタにおいて電荷量として蓄積し、部分和Σ(Ai×Bi)として保持する工程S4を実行する。
【０１８９】
次に、部分和Σ(Ai×Bi)に相当する前記電荷量（電圧値）をA/D変換回路によりA/D変換し、デジタル値とする工程S9を実行する。
【０１９０】
次に、前記部分和に相当するデジタル値と、工程S11により出力された、既にデジタルメモリに保持されている累算値（演算途中での累算値に相当）とをデジタル加算回路によって加算し、新たな累算値として算出する工程S10を実行する。
【０１９１】
最後に、以上のように算出した累算値をデジタルメモリに再書き込みして保持する工程S11を実行する。この場合、累算値はデジタルメモリ中の該当部（前記演算途中での累算値が保持されていた部位）に対して上書きされる。
【０１９２】
以上説明した演算フローを累算値を算出するために必要な回数（本実施形態では３回）繰り返すことにより、所望の累算値が算出される。
【０１９３】
なお以上の説明においては、所望の累算値がデジタルメモリに保持された時点で処理を完了したものとして説明したが、前記累算値に対してさらに所望の演算処理を行なうことも可能である。例えば、前記デジタルメモリの後段に非線形変換回路を接続して、前記累算値を非線形変換した値を出力するものであってもよい。
【０１９４】
この場合、非線形変換回路はルックアップテーブル回路等により実現することができる。このように、本実施形態で説明したアナログ・デジタル混載型の演算回路は、算出された累算値に対して任意の演算処理を行なうことが可能である。また前記非線形変換回路はデジタル加算回路の後段に接続しても構わない。
【０１９５】
この場合、非線形変換回路はルックアップテーブル回路等により実現することができる。
【０１９６】
すなわち、デジタル加算回路において算出された累算値をルックアップテーブル回路に入力し、ルックアップテーブル回路によって非線形変換した後にデジタルメモリに保持する。
【０１９７】
この場合は、デジタル加算回路において算出された所望の演算値（最終的に算出される累算値、すなわち演算式（７）または（１２）で示される値）に対してのみ非線形変換を行い、演算処理途中で算出される累算値（演算式（８）および（１０））に対しては非線形変換を行なわないものであっても良い。
【０１９８】
また、前記累算値を非線形変換できる構成であれば、その他どのような構成であっても構わない。
【０１９９】
以上のように、A/D変換回路において低消費電力で複数のPWM信号を並列的にデジタル値に変換するパルス幅・デジタル変換回路を用いることで、低消費電力かつレイアウト面積が小さいアナログ・デジタル混載型の演算回路を実現することが可能となる。
【０２００】
（第五の実施形態）
本実施形態におけるアナログ・デジタル混載型の演算回路は、第四の実施形態におけるアナログ・デジタル混載型の演算回路を構成するパルス幅・デジタル変換回路29の終端ラッチ回路32-0〜32-(n-1)の部分を図１８に示した回路に置き換えたものである。
【０２０１】
以下では、第四の実施形態と異なる部分に関してのみ説明を行い、それ以外の部分は第四の実施形態と同様として説明を省略する。
【０２０２】
図１８において、終端ラッチ回路32-ｉ（i∈{0,…,n-1}）、ラッチ33-0〜33-（m-1）、及びインバータ34の構成は、図１４と同様であるため説明は省略する。本実施形態に係るパルス幅・デジタル変換回路は、これらに加えて、更に、始端ラッチ回路35-ｉ（i∈{0,1,…,n-1}）及び減算回路36-ｉを備えていることを特徴としている。
【０２０３】
始端ラッチ回路35-ｉは、PWM信号PWiの始端（立ち上がりエッジ）において、カウンタ31から出力される計数値CNTをラッチする。減算回路36-ｉは、終端ラッチ回路32-ｉのデジタル出力値Ei={Ei,0〜Ei,m-1}から始端ラッチ回路35-ｉのデジタル出力値Si={Si,0〜Si,m-1}を減算した減算値を演算して、デジタル出力値Di={Di,0〜Di,m-1}として出力する。
【０２０４】
始端ラッチ回路35-ｉは、終端ラッチ回路32-ｉと同様に、ｍビットの計数値の各ビットCNT0〜CNTm-1の各々に対応してラッチ37-0〜37-（m-1）を備えている。これらのラッチ37-0〜37-（m-1）は、ラッチ33-0〜33-（m-1）と同様、図１５に示した非同期リセット入力付きの同期型Ｄフリップ・フロップにより構成されている。
【０２０５】
但し、始端ラッチ回路35-ｉ内のラッチ37-0〜37-（m-1）のクロック端子clkには、インバータ34を通すことなく、PWM信号PWiが直接入力される。そのため、ラッチ37-0〜37-（m-1）は、PWM信号PWiの立ち上がりの時点におけるカウンタ31の計数値CNTをラッチする。
【０２０６】
以上のように構成された本実施形態に係るパルス幅・デジタル変換回路について、以下その動作を説明する。
【０２０７】
図１９は本実施形態に係るパルス幅・デジタル変換回路の各信号レベルの変化を表すタイムチャートである。
【０２０８】
クロックCLKには、第四の実施形態の場合と同様、一定の周期Tで、幅T/2のパルスが連続的に入力されている。パルス出力トリガXRSTは、時刻t1において、幅Tの反転パルスを出力する。これにより、各ラッチ33-0〜33-（m-1），37-0〜37-（m-1）の出力はリセットされ、デジタル出力データEi，Siは総て０リセットされる。
【０２０９】
そして、パルス出力トリガXRSTの立ち上がり時点（時刻t2）から、カウンタ31は、クロックCLKの計数を開始する。カウンタ31は、クロックCLKの立ち上がりエッジにおいて、その計数値を１ずつ増加させる。
【０２１０】
時刻t2以後の適当な時刻t3において、PWM信号PWi（i∈{0,1,…,n-1}）の出力が開始される。この時刻t3におけるPWM信号PWiの立ち上がりにより、始端ラッチ回路35-ｉのラッチ37-ｊ（j∈{0,1,…,m-1}）は、カウンタ31の出力CNTjをラッチして、これをデータ出力端子Qからデジタル出力値Si={Si,0〜Si,m-1}として出力する。
【０２１１】
時刻t4において、PWM信号PWiはＨレベルからＬレベルに反転する。これにより、インバータ34の出力NOT(PWi)のレベルはＬレベルからＨレベルに立ち上がる。各ラッチ33-ｊ（j∈{0,1,…,m-1}）は、このインバータ34の出力NOT(PWi)の立ち上がりエッジにおいて、データ入力端子Dに入力される計数値CNTjのレベルをラッチして、これをデータ出力端子Qからデジタル出力値Ei={Ei,0〜Ei,m-1}として出力する。
【０２１２】
減算回路36-ｉは、終端ラッチ回路32-ｉのデジタル出力値Ei={Ei,0〜Ei,m-1}から始端ラッチ回路35-ｉのデジタル出力値Si={Si,0〜Si,m-1}を減算した減算値を演算して、デジタル出力値Di={Di,0〜Di,m-1}として出力する。従って、時刻t3以後において、このデジタル出力値Di={Di,0〜Di,m-1}は、PWM信号PWiのパルス幅に正比例した値となる。
【０２１３】
カウンタ31が計数を開始してから少なくとも時間2m・Tだけ経過した時点で、総ての終端ラッチ回路32-0〜32-（n-1）及び減算回路36-0〜36-（n-1）のデジタル出力値が確定する（勿論、それ以前に確定する場合もある）。従って、この確定時点後に、各減算回路36-0〜36-（n-1）のデジタル出力値を取り出すことにより、各PWM信号PW0〜PWn-1のパルス幅に比例したデジタル値Di={Di,0〜Di,m-1}を得ることができる。すなわち、パルス幅デジタル変換が完了する。
【０２１４】
このように、本実施形態においては、各入力パルスの始端及び終端におけるカウンタ31の計数値をラッチして、両者の差を演算してデジタル出力値とすることで、各PWM信号PWiの立ち上がりを同期させる必要がなくなる。また、各PWM信号PWiの立ち上がりとカウンタ31の計数開始タイミングも同期させる必要がなくなる。
【０２１５】
なお、減算回路36-ｉを用意せずに、デジタル出力値Si及びEiをそのまま外部に出力し、外部に用意した減算器で減算を行なってもよい。
【０２１６】
（第六の実施形態）
第六の実施形態にかかるアナログ・デジタル混載型の演算回路の構成例６００を図２０に示す。
【０２１７】
本実施形態は、第四および第五の実施形態で説明したアナログ・デジタル混載型の演算回路において、デジタル加算回路をデジタル加減算回路38で置き換え、さらにアナログ演算回路3において、正負の符号を有する乗算値Ｂに対して、それぞれの符号ごとに別個に乗算を行い、また乗算値Ｂの符号を表す符合ビット39をデジタル加減算回路38に入力し、また負の乗算値Ｂに対する演算結果の部分和は、デジタルメモリ26に保存されたデジタルデータとの演算において、前記デジタル加減算回路38によって、デジタルメモリ26のデジタルデータから減算を行うことが第四および第五の実施形態と異なっている。
【０２１８】
すなわち本実施形態におけるアナログ演算回路3における乗算は、乗算値Ｂの正負の符号に関して、正の符号の乗算と、負の符号の乗算をそれぞれ別個に行う。
【０２１９】
以下では、第四および第五の実施形態と異なる部分についてのみ説明を行い、それ以外の部分に関しては第四および第五の実施形態と同様として説明を省略する。
【０２２０】
以下の演算式（１３）で表される演算を図２０のアナログ・デジタル混載型の演算回路600で行う場合、４つのアナログ演算回路3では、演算式（１４）（１５）（１６）（１７）で表されるように、乗算値Ｂの符号に関して正負別々の演算を行う。
【０２２１】
【数１０】
2005122467.tif 000012
(13)
【０２２２】
なお、Ai≧0、
B1, B2, B5, B7, B9, B10, B14, B16≧0、B3, B4, B6, B8, B11, B12, B13, B15＜0
A1・B1+ A2・B2+ A5・B5+ A7・B7          (14)
A9・B9+ A10・B10+ A14・B14+ A16・B16      (15)
A3・B3+ A4・B4+ A6・B6+ A8・B8          (16)
A11・B11+ A12・B12+ A13・B13+ A15・B15      (17)
なおこの際、第一及び第二の実施形態と同様に、トータルの演算個数（前記ケースでは１６）が、アナログ演算回路数（４個）の倍数となっていなくても、乗算値Ｂ＝０に相当するアナログ電圧Ｖｗを入力することで、演算個数を調整することができる。
【０２２３】
続いて、第四、第五の実施形態と同様に演算式（１４）〜（１７）で表される部分和をアナログ演算回路3によって算出する。なおこの際には、それぞれの部分和は、乗算値Ｂの正負の符号を考慮しない絶対値として算出される。
【０２２４】
次に、算出された演算式（１４）〜（１７）で表される部分和をＡ／Ｄ変換回路500によりデジタルデータに変換し、変換されたデジタルデータは、デジタル加減算回路38に入力される。またこの際、乗算値Ｂの符号を表す符合ビット39もデジタル加減算回路38に入力される。
【０２２５】
続いて、デジタル加減算回路38では、入力された部分和のデジタルデータの符号ビットが１（乗算値Ｂが正）の時には、第四および第五の実施形態の場合と同様に、デジタルメモリ26に保持されたデジタルデータに対して、入力された部分和のデジタルデータを加算する。
【０２２６】
一方、入力された部分和のデジタルデータの符号ビットが０（乗算値Ｂが負）の時には、デジタルメモリ26に保持されたデジタルデータから、入力された部分和のデジタルデータを減算する。
【０２２７】
以上説明したように、デジタルメモリに保持されたデジタルデータと部分和のデジタルデータとを符号ビットに応じて加算または減算することにより所望の累算値を算出する。なお第五の実施形態と同様に前記累算値に対してさらに所望の演算処理を行なうことも可能である。すなわち、例えば、前記デジタルメモリの後段に非線形変換回路を接続して、前記累算値を非線形変換した値を出力するものであってもよい。この場合、非線形変換回路はルックアップテーブル回路等により実現することができる。
【０２２８】
このように、本実施形態で説明したアナログ・デジタル混載型の演算回路は、算出された累算値に対して任意の演算処理を行なうことが可能である。また前記非線形変換回路はデジタル加減算回路の後段に接続しても構わない。この場合、非線形変換回路はルックアップテーブル回路等により実現することができる。
【０２２９】
すなわち、デジタル加減算回路において算出された累算値をルックアップテーブル回路に入力し、ルックアップテーブル回路によって非線形変換した後にデジタルメモリに保持する。
【０２３０】
この場合は、デジタル加算回路において算出された所望の演算値（最終的に算出される累算値、すなわち演算式（１３）で示される値）に対してのみ非線形変換を行い、演算処理途中で算出される累算値に対しては非線形変換を行なわないものであっても良い。また、前記累算値を非線形変換できる構成であれば、その他どのような構成であっても構わない。
【０２３１】
続いて図２１のフローチャートを用いて、以上の演算処理フローの説明を行なう。なお、説明に際しては各処理工程を実行する演算回路についても言及する。
【０２３２】
図２１において、まずデジタル信号Aiの入力工程S1を実行し、次にそれぞれのデジタル・パルス幅変換回路において、デジタル信号をＰＷＭ信号に変換する工程S5を実行する。次にデジタル信号Bi（電圧Vw）の入力工程S6を実行し、次にD/A変換回路において、デジタル信号をアナログ信号に変換するD/A変換工程S7を実行する。続いて、それぞれのアナログ演算回路において、工程S5,S7からの出力であるＰＷＭ信号とアナログ電圧Vwを乗算する工程S3を実行する。
【０２３３】
次に、それぞれのアナログ演算回路において並列に算出された乗算値をキャパシタにおいて電荷量として蓄積し、部分和Σ(Ai×Bi)として保持する工程S4を実行する。次に、部分和Σ(Ai×Bi)に相当する前記電荷量（電圧値）をA/D変換回路によりA/D変換し、デジタル値とする工程S9を実行する。次にデジタル加減算回路において、デジタル加減算回路に対してBiの正負の符号を表す符号ビットを入力する工程S13を実行して入力された符号ビットの値に応じて、前記部分和に相当するデジタル値を演算処理する工程S12を実行する。
【０２３４】
すなわち、符号ビットが１（Biが正）の場合には、前記部分和に相当するデジタル値と、工程S11により出力された、既にデジタルメモリに保持されている累算値（演算途中での累算値に相当）とをデジタル加減算回路によって加算し、新たな累算値として算出する。
【０２３５】
また、符号ビットが０（Biが負）の場合には、前記部分和に相当するデジタル値を、工程S11により出力された既にデジタルメモリに保持されている累算値（演算途中での累算値に相当）からデジタル加減算回路によって減算し、新たな累算値として算出する。
【０２３６】
最後に、以上のように算出した累算値をデジタルメモリに再書き込みして保持する工程S11を実行する。この場合、累算値はデジタルメモリ中の該当部（前記演算途中での累算値が保持されていた部位）に対して上書きされる。
【０２３７】
以上説明した演算フローを累算値を算出するために必要な回数（本実施形態では４回）繰り返すことにより、所望の累算値が算出される。
【０２３８】
以上の様に、乗算値Ｂの正負の符号に対応して、それぞれ別個にアナログ演算回路3によって部分和を算出し、さらに正負の符号に対応して、デジタルメモリ26に保持されているデジタルデータとの加減算を行うことにより、以下の演算式（１８）で示される通り、正負の符号を含む乗算結果の累算値を算出することが可能となる。
【０２３９】
【数１１】
2005122467.tif 000013
(18)
【０２４０】
またさらに上記演算において、以下の演算式（１９）で示されるように、乗算値Ｂの正負の符号に対応する演算処理工程を正負交互に行う場合、正負の部分和が互いに相殺し合う為、デジタルメモリ26における線形加算精度の範囲（累算値のレンジ）が狭まり、デジタルメモリ26のビット長を少なくすることが可能となる。
【０２４１】
【数１２】
2005122467.tif 000014
(19)
【０２４２】
例えば、演算式（１４）〜（１７）で表される部分和がそれぞれ順に、（８５、５３、６０、７１）である場合に、同一の符号を連続して加減算したとすると、演算の途中経過でデジタルメモリ26に保存される値は、以下のようになる。
【０２４３】
１回目の演算による保存値＝８５
２回目の演算による保存値＝８５＋５３＝１３８
３回目の演算による保存値＝１３８−６０＝７８
４回目の演算による保存値＝７８−７１＝７
従って、この場合の部分和を加減算していく途中経過での最大値は１３８となるため、デジタルメモリ26のビット長は８ビット必要となる。
【０２４４】
これに対して、正負の符号に対応する演算を正負交互に行う場合に、演算の途中経過でデジタルメモリ26に保存される値は、以下の通りとなる。
【０２４５】
１回目の演算による保存値＝８５
２回目の演算による保存値＝８５−６０＝２５
３回目の演算による保存値＝２５＋５３＝７８
４回目の演算による保存値＝７８−７１＝７
従って、この場合の部分和を加減算していく途中経過での最大値は８５となるため、デジタルメモリ26に必要なビット長は７ビットとなり、前記の例よりも少ないビット長で済むことが分かる。
【０２４６】
（第七の実施形態）
第七の実施形態におけるニューラルネットワーク回路の構成例を図２２に示す。図２２に示すように、本実施形態におけるニューラルネットワーク回路700は、第六の実施形態で説明したアナログ・デジタル混載型の演算回路と、デジタル・パルス幅変換回路を含むことを特徴としている。
【０２４７】
なお第六の実施形態で説明した非線形変換を行なうために、デジタル加減算回路の後段に、ルックアップテーブル回路が接続されている。
【０２４８】
また、本実施形態で実現するニューラルネットワークモデルの構成図８00を図２３に示し、各ニューロンの特性を図２４に示す。
【０２４９】
以下では、まず図２３と図２４を用いて本実施形態におけるニューラルネットワークのモデルについて説明した後、図２２を用いて本実施形態におけるニューラルネットワーク回路700について説明する。
【０２５０】
図２３に示すように、本実施形態におけるニューラルネットワークは、複数のニューロン40が階層構造を成し、かつ異なる階層間のニューロンが互いにシナプス41を介して結合している。
【０２５１】
なお、ニューラルネットワークの構成には、本実施形態の他にニューロンがアレイ状に配置されたものなどがあり、またニューロン間の結合にも、２つのニューロン間で相互に結合を有するものなどがある。本発明におけるニューラルネットワークは、その構成や結合手法によって限定されるものではなく、本実施形態で示す階層構造以外の構造および結合手法を有するものであっても構わない。
【０２５２】
続いて、各ニューロン40における演算処理を図２３を用いて説明する。各ニューロン40は、前段に接続する複数のニューロンの出力値をシナプス荷重で重み付けした後、入力として受け取る。ニューロン内部では、入力された値の総和値を算出し、これに所定の変換を施して出力値とする。ここで各ニューロンにおける演算処理は、次式（２０）で表される。
y＝f(Σω・x)            (20)
y：出力値、f：変換関数、ωシナプス荷重、x：前段ニューロンの出力値
【０２５３】
なお変換関数としては、様々なモデルが提案されているが、本実施形態では、次式（２１）で表される一般的なシグモイド関数を適用している。シグモイド関数の特性を図２４にグラフで示す。
f(u)＝｛1+exp(−au)｝-1      (21)
a：シグモイド関数の傾きを決定するパラメータ
【０２５４】
なお、本発明におけるニューラルネットワークは、ニューロンにおける変換手法によって限定されるものではなく、本実施形態で示すシグモイド関数以外の変換関数を適用したものであっても構わない。
【０２５５】
続いて、図２２を用いて本実施形態におけるニューラルネットワーク回路を説明する。図２２を見ると分かるように、本実施形態におけるニューラルネットワーク回路は、第六の実施形態で説明したアナログ・デジタル混載型の演算回路を階層的に構成したものを含んでいる。
【０２５６】
なお前述したように、本実施形態における演算回路においては、加減算回路の後段にルックアップテーブル回路が接続されている。すなわち、デジタル加減算回路において算出された所望の累算結果は、ルックアップテーブル回路によって、シグモイド関数変換を施された後に、デジタルメモリ回路に保持される。なお、ルックアップテーブル回路によってシグモイド関数変換を行なうのは、最終的に算出された所望の演算結果に対してのみであり、累算中の途中経過のデータに対しては行なわれない。
【０２５７】
従って、図２２においては、デジタル加減算回路からの出力がルックアップテーブル回路に入力されるものと、デジタルメモリに直接入力されるものの２系統が描写してある。
【０２５８】
またさらに、本実施形態で説明するアナログ・デジタル混載型の演算回路では、階層的な演算処理を行うために、ある階層のアナログ・デジタル混載型の演算回路により算出された演算結果を次の階層のアナログ・デジタル混載型の演算回路の入力としている。この際には、デジタル・パルス幅変換回路により、デジタルメモリに保持された演算結果をＰＷＭ信号として読み出している。PWM信号の生成過程は、第一及び第二の実施形態で説明した通りである。
【０２５９】
なお、各階層におけるアナログ・デジタル混載型の演算回路における演算処理過程は、第六の実施形態と同様である。また、図２２では省略しているが、アナログ演算回路に対して乗算値Bに相当するアナログ電圧Vwが入力されている。アナログ電圧Vwの入力工程は、第六の実施形態と同様である。
【０２６０】
なお、本実施形態のアナログ・デジタル混載型の演算回路の演算処理過程において、キャパシタに保持される部分和は、各ニューロンにおける、前段ニューロンとの結合の一部に関する入力値の総和値を示しており、また最終的にデジタルメモリに保持される累算値が、各ニューロンにおける、結合する前段ニューロン全ての入力値の累算値を示している。なお、図２４に示す非線形変換は、前述したように非線形変換回路（ルックアップテーブル回路）において実現されている。
【０２６１】
ここで図２５は、以上で説明した演算処理フローを示している。図中の一点鎖線は、演算処理における前段層と後段層の境界を示している。
【０２６２】
まず、算出した前段層の所望の累算値をシグモイド変換S20した後に一旦デジタルメモリにデジタル値として保持S11し、さらにデジタル・パルス幅変換回路によってPWM信号に変換する工程S5を実行する。本実施形態においては、所望の累算値を算出した後に１回だけ、ルックアップテーブル回路により、シグモイド変換工程S20を実行する。なお前段層におけるシグモイド変換工程S20以外の処理工程は、第六の実施形態における演算処理と同様である。
【０２６３】
続いて、前記PWM信号を、入力信号Aiとして後段層に入力する。後段層において行なわれる演算処理は、前段層での演算処理と同じく、シグモイド変換工程S20による処理工程を除いて第六の実施形態で説明した演算処理と同様である。第六の実施形態と同様の演算処理フローの説明は省略する。また、図２５においては複数のその他のAiの入力工程を省略して点線矢印S14で描写している。
【０２６４】
以上の様にデジタルメモリに保持された、各ニューロンにおける累算値をデジタル・パルス幅変換回路によってPWM信号として読み出し、次の階層のニューロンに対する出力とすることで、図２３に示したニューラルネットワークのモデルを実現することができる。なお本実施形態におけるニューロン素子数及び階層数は、本発明におけるニューラルネットワークの構成を限定するものではなく、必要に応じて任意の数に設定することが可能である。
【０２６５】
（第八の実施形態）
第八の実施形態における画像信号処理回路の構成例を図２６に示す。図２６に示すように、本実施形態における画像信号処理回路は、第七の実施形態で説明したニューラルネットワーク回路を含むことを特徴としている。なお図２６では、第五の実施形態で説明した階層構造の初段のみを示しており、それ以降の階層の記述を省略している。
【０２６６】
また、ニューラルネットワーク回路中のアナログ・デジタル混載型の演算回路数が、第七の実施形態で説明した図２２のニューラルネットワーク回路とは異なっているが、それぞれのアナログ・デジタル混載型の演算回路における演算動作自体は、第七の実施形態と同様である。
【０２６７】
また図２６では、ルックアップテーブル回路とデジタルメモリとデジタル・パルス幅変換回路を一体のものとして描写しているが、これは単に紙面上の都合であり、実際の構成及び演算処理に関しては、第七の実施形態と全く同様である。
【０２６８】
ここで、ニューラルネットワーク回路中のアナログ演算回路に対して、ＰＷＭ信号として入力される信号は、二次元信号である画像信号である。すなわち、本実施形態における画像信号処理回路は、入力された画像信号に対して、ニューラルネットワーク回路により所定の演算を行うことにより、所望の画像処理（例えばパターン検出およびパターン認識）を行うことを目的とするものである。
【０２６９】
なお、実際に実現される画像処理の内容は、ニューラルネットワーク回路の回路パラメータ等を適当に調整することで、所望の処理内容（例えばパターン検出およびパターン認識）が実現されるよう設定することが可能であるが、その詳しい調整方法は、本発明の主眼とするところではないので、説明を省略する。
【０２７０】
ここで本実施形態においては、前記画像信号は、撮像素子43（例えばＣＣＤまたはＣＭＯＳイメージセンサなど）から出力される、各画素に対応する信号強度をパルスの時間幅に変換したＰＷＭ信号として入力している。
【０２７１】
なお、撮像素子からの出力信号がアナログ信号であり、その信号をＰＷＭ信号に変換する際には、図２６に示すように、コンパレータ42に入力したランプ電圧波形と、撮像素子から読み出された電圧値とをコンパレータ42により比較し、ランプ電圧波形のスタート時にＨｉｇｈレベルに立ち上がった出力が、ランプ電圧値とキャパシタの電圧値が等しくなった時点でＬｏｗレベルに立ち下がることでＰＷＭ信号に変換される。
【０２７２】
また、撮像素子43からの出力信号がデジタル信号であり、その信号をＰＷＭ信号に変換する際には、第一及び第二の実施形態で説明したように、デジタル・パルス幅変換回路によってPWM信号に変換する。なお、撮像素子としてＣＣＤまたはＣＭＯＳイメージセンサを想定しているが、画像を二次元信号として取り込むものであれば、その他の撮像素子を用いても問題は無い。
【０２７３】
続いて、ニューラルネットワーク回路に対する画像信号の入力方法について説明する。
【０２７４】
ニューラルネットワーク回路においては、第六の実施形態で説明したように、各アナログ・デジタル混載型の演算回路ａ、ｂにおいて、所定の複数の入力信号に対して重み付け演算を行い、その累算値を算出して、対応するニューロンの内部状態値とし、さらに非線形変換を行なう。
【０２７５】
この時、本実施形態における画像処理回路では、一点鎖線で囲んだ各アナログ・デジタル混載型の演算回路ａ、ｂが処理対象とする複数の入力信号は、二次元的にアレイされた撮像素子43の一部の領域に対応させている。
【０２７６】
すなわち、図２６に示すように、各アナログ・デジタル混載型の演算回路ａ、ｂにおいて、非線形変換と重み付け演算を行い、さらにその累算値を算出する対象となる画像信号を出力する領域は、破線で囲まれた領域Ａ、Ｂで示される。ここで、撮像素子43からの画像信号出力は、１列ごとに出力される。
【０２７７】
それに対して、ニューラルネットワーク回路におけるアナログ演算回路による演算は、第一〜第七の実施形態で説明したように、前記１列分の画像信号出力に対する演算を並列に行うことが可能である。
【０２７８】
従って、前記の撮像素子43からの１列分の出力信号に対する、ニューラルネットワーク回路による演算結果は、第一〜七の実施形態で説明したように、各ニューロンの内部状態値に対する部分和に相当する。
【０２７９】
そして、前記の演算処理を領域Ａ、Ｂの列数回（本実施形態では４回）繰り返すことにより、最終的に各ニューロンの内部状態値に相当する累算値を算出することができる。
【０２８０】
続いて図２７は、以上で説明した演算処理フローを示している。
【０２８１】
まず撮像素子から出力された１列分の画像信号を入力する工程S15を実行し、次にコンパレータ等の回路により、入力された前記画像信号をPWM信号に変換する工程S16を実行する。続いて、前記PWM信号をAiに相当するPWM信号として乗算工程S3（図中の上側）に入力する。
【０２８２】
そしてこれ以降の演算処理フローは、第七の実施形態と同様であり、ニューラルネットワーク回路として所定の階層数の演算処理を行うところのみが異なっている（図２７において、点線枠で囲まれた部分S100が第七の実施形態と同様の演算処理フローを示している）。第七の実施形態と同様の演算処理フローに関する説明は省略し、また所定の階層数の演算処理は、前記演算処理フローを所定回数繰り返すものとして説明を省略する。
【０２８３】
以上説明したように、ニューラルネットワーク回路による演算処理を演算対象領域の列数回だけ繰り返すことにより、所望の演算処理（例えばパターン検出およびパターン認識など）を達成することができる。
【０２８４】
また、上記説明では、撮像素子からの画像信号出力が１列ごとに行われるとしたが、撮像素子からの信号出力が１行ごとに行われる場合も、ニューラルネットワーク回路における演算を出力信号１行ごとに並列に行うことで、上記説明と同様な処理を行うことが可能である。
【０２８５】
以上説明したように、１列毎または１行毎に出力される画像信号に対して、本実施形態におけるニューラルネットワーク回路による演算を適用し、ニューロンの内部状態値を１列毎または１行毎に部分和として演算していき、そしてその部分和の累算値として最終的な内部状態値を算出し、さらにそれを非線形変換することで、所望の演算処理を実現することが可能となる。
【図面の簡単な説明】
【０２８６】
【図１】第一の実施形態にかかる演算回路の全体構成を示す図である。
【図２】第一の実施形態にかかる演算回路を構成するアナログ演算回路とキャパシタとを示す図である。
【図３】第一の実施形態にかかる演算回路を構成するアナログ演算回路を示す図である。
【図４】第一の実施形態にかかる演算回路を構成するデジタル・パルス幅変換回路を示す図である。
【図５】第一の実施形態にかかる各パルス生成回路を示す図である。
【図６】第一の実施形態にかかるデジタル・パルス幅変換回路の動作を表すタイミングチャートである。
【図７】第一の実施形態にかかる演算回路の演算処理フローチャートを示す図である。
【図８】第三の実施形態にかかる演算回路の全体構成を示す図である。
【図９】第三の実施形態にかかるD/A変換回路を示す図である。
【図１０】第三の実施形態にかかる演算回路の演算処理フローチャートを示す図である。
【図１１】第四の実施形態にかかる演算回路の全体構成を示す図である。
【図１２】第四の実施形態にかかるA/D変換回路を示す図である。
【図１３】第四の実施形態にかかるパルス幅・デジタル変換回路を示す図である。
【図１４】第四の実施形態にかかる終端ラッチ回路の内部構成を示す図である。
【図１５】第四の実施形態にかかるラッチ回路の内部構成を示す図である。
【図１６】第四の実施形態にかかるパルス幅・デジタル変換回路の各信号レベルの変化を表すタイムチャートである。
【図１７】第四の実施形態にかかる演算回路の演算処理フローチャートを示す図である。
【図１８】第五の実施形態にかかるパルス幅・デジタル変換回路の終端ラッチ回路、始端ラッチ回路、及び減算回路を示す図である。
【図１９】第五の実施形態にかかるパルス幅・デジタル変換回路の各信号レベルの変化を表すタイムチャートである。
【図２０】第六の実施形態にかかる演算回路の全体構成を示す図である。
【図２１】第六の実施形態にかかる演算回路の演算処理フローチャートである。
【図２２】ニューラルネットワーク回路の構成を示す図である。
【図２３】ニューラルネットワークモデルの構成を示す図である。
【図２４】ニューロンの特性を示す図である。
【図２５】第七の実施形態にかかる演算回路の演算処理フローチャートを示す図である。
【図２６】ニューラルネットワーク回路を備える画像信号処理回路の構成を示す図である。
【図２７】第八の実施形態にかかる演算回路の演算処理フローチャートである。
【図２８】従来のデジタル・パルス幅変換回路の一例を示す図である。
【図２９】従来のパルス幅・デジタル変換回路の一例を示す図である。
【図３０】第二の実施形態にかかる演算回路を構成するデジタル・パルス幅変換回路を示す図である。
【図３１】第二の実施形態にかかる各パルス生成回路を示す図である。
【図３２】第二の実施形態にかかるデジタル・パルス幅変換回路の動作を表すタイミングチャートである。
【符号の説明】
【０２８７】
1  デジタルメモリ
2  デジタル・パルス幅変換回路
3  アナログ演算回路
4  キャパシタ
5  ＰＷＭ信号
6  アナログ電圧Ｖｗ
7  入力端子
8  入力端子
10-0〜10-(n-1)  パルス生成回路
11  カウンタ
12  基準値レジスタ
13  加算回路
14  パルス幅レジスタ
15  切替回路
16  タイミングトリガ発生回路
17  出力パルス反転回路
18-0〜16-(m-1)  ＥＸＯＲゲート
19  ＮＯＲゲート
20  デジタルメモリ
21  デジタル・パルス幅変換回路
22  電流源
24  バッファ
25  デジタル加算回路
26  デジタルメモリ
27  Ramp電圧
28  コンパレータ
29  パルス幅・デジタル変換回路
31  カウンタ
32-1〜32-(n-1)  終端ラッチ回路
33-0〜33-(m-1)  ラッチ
34  インバータ
35-0〜35-(n-1)  始端ラッチ回路
36-0〜36-(n-1)  減算回路
37-0〜37-(m-1)  ラッチ
38  デジタル加減算回路
39  符号ビット
40  ニューロン
41  シナプス
42  コンパレータ
43  撮像素子
51  デジタル・パルス幅変換回路
52-0〜52-(n-1)  パルス生成回路
53  カウンタ
62  パルス幅レジスタ
64  タイミングトリガ発生回路
65  出力パルス反転回路
66-0〜66-(m-1)  ＥＸＯＲゲート
67  ＮＯＲゲート
M1  ＰＭＯＳトランジスタ
100  第一の実施形態にかかる演算回路
200  第二の実施形態にかかる演算回路
300  D/A変換回路
400  第三の実施形態にかかる演算回路
500  A/D変換回路
600  第五の実施形態にかかる演算回路
700  ニューラルネットワーク回路
800  ニューラルネットワークモデル
900  画像信号処理回路
101  ストローブ検出回路
102  ラッチ回路
103  カウンタ
104  デジタル・コンパレータ
105  JKフリップ・フロップ
111  従来のパルス幅・デジタル変換回路
112  ゲート回路
113  カウンタ
【図１】
2005122467.tif 000015
【図２】
2005122467.tif 000016
【図３】
2005122467.tif 000017
【図４】
2005122467.tif 000018
【図５】
2005122467.tif 000019
【図６】
2005122467.tif 000020
【図７】
2005122467.tif 000021
【図８】
2005122467.tif 000022
【図９】
2005122467.tif 000023
【図１０】
2005122467.tif 000024
【図１１】
2005122467.tif 000025
【図１２】
2005122467.tif 000026
【図１３】
2005122467.tif 000027
【図１４】
2005122467.tif 000028
【図１５】
2005122467.tif 000029
【図１６】
2005122467.tif 000030
【図１７】
2005122467.tif 000031
【図１８】
2005122467.tif 000032
【図１９】
2005122467.tif 000033
【図２０】
2005122467.tif 000034
【図２１】
2005122467.tif 000035
【図２２】
2005122467.tif 000036
【図２３】
2005122467.tif 000037
【図２４】
2005122467.tif 000038
【図２５】
2005122467.tif 000039
【図２６】
2005122467.tif 000040
【図２７】
2005122467.tif 000041
【図２８】
2005122467.tif 000042
【図２９】
2005122467.tif 000043
【図３０】
2005122467.tif 000044
【図３１】
2005122467.tif 000045
【図３２】
2005122467.tif 000046