JP2005122467A - 演算回路およびその動作制御方法 - Google Patents

演算回路およびその動作制御方法 Download PDF

Info

Publication number
JP2005122467A
JP2005122467A JP2003356627A JP2003356627A JP2005122467A JP 2005122467 A JP2005122467 A JP 2005122467A JP 2003356627 A JP2003356627 A JP 2003356627A JP 2003356627 A JP2003356627 A JP 2003356627A JP 2005122467 A JP2005122467 A JP 2005122467A
Authority
JP
Japan
Prior art keywords
value
digital
circuit
output
arithmetic
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2003356627A
Other languages
English (en)
Other versions
JP4272967B2 (ja
Inventor
Osamu Nomura
修 野村
Takashi Morie
隆 森江
Teppei Nakano
鉄平 中野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority to JP2003356627A priority Critical patent/JP4272967B2/ja
Application filed by Canon Inc filed Critical Canon Inc
Priority to AT04773802T priority patent/ATE542176T1/de
Priority to CN200480030265A priority patent/CN100578440C/zh
Priority to PCT/JP2004/015540 priority patent/WO2005038645A2/en
Priority to EP04773802A priority patent/EP1676197B1/en
Priority to US11/036,001 priority patent/US7120617B2/en
Publication of JP2005122467A publication Critical patent/JP2005122467A/ja
Priority to US11/434,779 priority patent/US7272585B2/en
Application granted granted Critical
Publication of JP4272967B2 publication Critical patent/JP4272967B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Analogue/Digital Conversion (AREA)
  • Complex Calculations (AREA)

Abstract

【課題】 省面積かつ低消費電力でアナログ・デジタル混載型の演算回路を提供する。
【解決手段】 並列演算処理された演算結果の累算値を算出する演算回路に、アナログ信号で表される情報を演算処理する複数のアナログ演算回路と、前記複数のアナログ演算回路による演算結果の総和値を電荷量として蓄積するキャパシタと、前記キャパシタに蓄積された電荷量を対応するパルス幅を持つパルス信号に変換するコンパレータと、前記パルス信号をデジタル信号に変換するパルス幅変調回路と、変換された前記デジタル信号に基づいて累算値を算出するデジタル演算回路とを備え、前記パルス幅変調回路2が、クロックを計数してその計数値をデジタル信号として出力するカウンタ11と、それぞれに入力される各パルス信号の終端において前記カウンタが出力する共通の計数値をラッチする複数のパルス生成回路10-0〜10-(n-1)とを有する。
【選択図】 図4

Description

本発明は、アナログ・デジタル混載型の演算回路に関し、例えば、デジタル信号をアナログ信号に変換し、アナログ演算回路において入力値に対して積和演算を行なった後に演算結果をアナログ値として出力する、またはさらに出力されたアナログ値をデジタル値に変換して処理を行なうようなアナログ・デジタル混載型の演算回路に関する。
現在、コンピュータは大きな進展を見せ、世の中の様々な場面で使用されている。しかしながら、これらノイマン型と呼ばれるコンピュータは、その処理方式自体の特性により、人が容易に行うことができる処理(リアルタイムでの人の顔の認識等)を非常に不得意としている。
これに対して、脳の情報処理様式を真似た演算処理モデルである、ニューラルネットワークの研究が行われている。
ニューラルネットワークを構成するニューロンのモデルとしては、ニューロンに相当するユニットに対して、他の複数のユニット(ニューロン)の出力値をシナプス荷重値で重み付けした乗算値が入力され、その入力値の総和値をさらに非線形変換した値を出力値とするものが一般的である。
すなわち、一般的なニューラルネットワークにおいては、各ユニット、及びユニット間における積和演算と非線形変換により、所望の処理が実現される。
このニューロンモデルを用いたニューラルネットワークアーキテクチャとしては、これまでに、非線形な入出力特性を有するユニットを相互に結合した連想メモリや、同じく非線型な入出力特性を有するユニットを階層的に結合したパターン認識モデル等が提案されている。
ここでニューラルネットワークは、超並列・分散型の情報処理モデルであるため、逐次処理方式であるノイマン型コンピュータでの実行は極めて効率が悪い。従って、ニューラルネットワークの実用化に際しては、専用のハードウェアとしての集積回路化が有効である。
また集積回路化に際しては、入力データの保存や制御性といった面ではデジタル回路によるデジタル的な処理が適しているものの、前記の積和演算や非線形変換を実現する演算回路としては、アナログ演算回路を使用することでデジタル演算回路に比較して、素子数の大幅な削減が可能である。
すなわち、ニューラルネットワークの実用化においては、デジタル回路とアナログ回路をそれぞれの特徴が有効に機能する演算処理部に適用し、最終的に両者を混載した集積回路化を目指すのが有効である。
その場合、デジタル回路とアナログ回路の両者を結合するインターフェース部において、デジタル・パルス幅変換回路、D/A変換回路、およびA/D変換回路などが使用される。
ここで前記デジタル・パルス幅変換回路は、デジタル入力値を当該デジタル入力値に比例した時間幅のパルスに変換する機能を有するものを指し、クロックによって動作するカウンタの出力する計数値とデジタル入力値とを比較して、両者が一致したタイミングでパルス出力を立ち下げるものが広く知られている(例えば特許文献1参照)。
図28は従来のデジタル・パルス幅変換回路の一例を示す図である(特許文献1の図1参照)。図28に示した従来のデジタル・パルス幅変換回路は、ストローブ検出回路101、ラッチ回路102、カウンタ103、デジタル・コンパレータ104、及びJKフリップ・フロップ105を備えた構成からなる。
ストローブ検出回路101は、ストローブ信号NOT(STB)が入力されると、その後の最初のクロックCLKの立ち上がりでタイミング・イネーブル信号E1,E2を出力する。タイミング・イネーブル信号E1は、更にその次のクロックの立ち上がりでLレベルとなる。一方、タイミング・イネーブル信号E2は、クリア信号NOT(reset)がHレベルの間は常時Hレベルとなっている。
また、ラッチ回路102は、外部から入力される16ビットのデジタル・データD0〜D15をラッチし、ラッチデータQ0〜Q15として出力する。そして、16ビットのカウンタ103は、クロックCLKを計数して、その計数値C0〜C15を出力する。また、カウンタ103は、その計数値がFFFFになると、カウント・アウト信号C.O.を出力する。
デジタル・コンパレータ104は、ラッチデータQ0〜Q15と計数値C0〜C15とを比較して、計数値C0〜C15がラッチデータQ0〜Q15を越えるまで、JKフリップ・フロップ105にHレベルを出力し、計数値C0〜C15がラッチデータQ0〜Q15を越えた時に、この出力値をLレベルに反転する。
JKフリップ・フロップ105は、処理サイクルの最初では、デジタル・コンパレータ104の出力信号が入力端子Jに入力され、出力QにHレベルを保持する。また、デジタル・コンパレータ104の出力信号がLレベルに反転した後の最初のクロックCLKの立ち上がりタイミングで、JKフリップ・フロップ105は、出力QをLレベルに反転する。そして、カウント・アウト信号C.O.が入力されると、JKフリップ・フロップ105は出力QをHレベルに復帰させる。
このような構成によって、JKフリップ・フロップ105の出力Qにはデジタル・データD0〜D15の値に比例した時間幅のパルスが出力される。
またD/A変換回路としては、前記デジタル・パルス幅変換回路と、スイッチド電流源とキャパシタを組み合わせたものが従来より使用されている。
すなわち、デジタル値をデジタル・パルス幅変換回路によって、パルス幅にデジタル値に比例する値をもつパルスに変換する。さらに前記パルスによってスイッチド電流源をオン・オフし、パルス幅に比例する電荷をキャパシタに蓄積することにより、最終的にデジタル値をキャパシタの電圧値としてアナログ値に変換する。
またA/D変換回路としては、アナログ電圧を当該アナログ電圧値に比例した時間幅のパルスに変換するコンパレータと、前記パルスの時間幅をデジタル値に変換するパルス幅・デジタル変換回路を組み合わせたものが従来より使用されている。
すなわち、アナログ電圧値をコンパレータによって、パルス幅に情報をもつパルスに変換する。さらに前記パルスをパルス幅・デジタル変換回路によってデジタル値に変換することでA/D変換を行なう。
ここでパルス幅・デジタル変換回路は、従来、積分型AD変換器において広く用いられている(例えば、特許文献2,3、非特許文献1参照)。
図29は積分型AD変換器において用いられている従来のパルス幅・デジタル変換回路のブロック図である。
従来のパルス幅・デジタル変換回路111は、ANDゲート回路112とカウンタ113とを有する簡単な構成からなる。ANDゲート回路112には、デジタル・パルス幅変換された入力パルスPWとクロックCLKとが入力される。ANDゲート回路112は、この入力パルスPWとクロックCLKの論理積からなるゲート信号gをカウンタ113に出力する。カウンタ113は、入力されるゲート信号gの立ち上がりエッジを計数し、その計数値をmビットのデジタル出力D={D0,…,Dm-1}として出力する。
この構成により、入力パルスPWがHレベルのときにANDゲート回路112が有効となり、入力パルスPWがLレベルのときにANDゲート回路112が無効となる。ANDゲート回路112が有効である間は、クロックCLKがゲート信号gとして出力される。そして、カウンタ113は、ゲート信号gとして出力されるクロックを計数する。これにより、入力パルスPWの幅に比例したカウント値がデジタル出力D={D0,…,Dm-1}として得られる。
特開平4−2222号公報 特開平8−204566号公報 特開昭62−265820号公報 鈴木八十二,吉田正廣著,「パルス・デジタル回路入門」,日刊工業新聞社,2001年7月26日発行,p.225〜p.232
アナログ・デジタル混載型の演算回路において、デジタル・パルス幅変換回路、デジタル・パルス幅変換回路を利用したD/A変換回路、及びパルス幅・デジタル変換回路を利用したA/D変換回路を使用することは、その構造が簡単であることから、非常に有効な手段である。
しかしながら、多数のデジタル入力値を並列的にデジタル・パルス幅変換し、変調パルスを出力するような装置において、前記デジタル・パルス幅変換回路を使用すると、回路面積と消費電力が、並列的に動作するデジタル・パルス幅変換回路数に比例して大きくなるという問題がある。
すなわち、多数のデジタル入力値を並列的にデジタル・パルス幅変換する場合には、図28に示したデジタル・パルス幅変換回路を複数個並列に配置して、それぞれのデジタル・パルス幅変換回路に対して各デジタル入力値を入力させればよい。そして、各デジタル・パルス幅変換回路から出力されるパルスを取り出すことで、並列的なデジタル・パルス幅変換が可能となる。
しかしこの場合、各デジタル・パルス幅変換回路において、回路面積が個数に比例して増大する。また、クロックによるスイッチング動作が頻繁に行われるため、総てのデジタル・パルス幅変換回路の駆動電力を合計すると、かなり大きな電力が消費されることとなる。従って、携帯機器のような省面積・低消費電力を要求される装置において、多数のデジタル入力値を並列的にデジタル・パルス幅変換する場合に使用することは困難である。
また同様に、多数のパルス入力を並列的にパルス幅デジタル変換し、デジタル値を出力するような装置において、前記パルス幅・デジタル変換回路を使用すると、各パルス幅・デジタル変換回路111の消費電力の総和がかなり大きくなるという問題がある。
すなわち、それぞれのパルス入力に対して、図29に示したようなパルス幅・デジタル変換回路111を使用した場合、多数のカウンタ113が並列的にスイッチング動作を行うこととなる。そのため、例えば、カウンタ113をCMOSにより構成した場合でも、カウンタ113がスイッチング時の負荷容量を充放電する際の充放電電力消費が大きくなる。この充放電電力消費の増加は、パルス入力数が大きいほど顕著となる。
また、多数のカウンタ113が並列的に動作することにより、カウンタ113のスイッチングノイズが大きくなる。従って、回路全体のノイズ対策が必要となってくる。
そこで本発明の目的は、省面積かつ低消費電力で複数のデジタル入力値を並列的にパルス幅に変換するデジタル・パルス幅変換回路、及び低消費電力で動作し、回路から発生するノイズも小さいパルス幅・デジタル変換回路を用いたアナログ・デジタル混載型の演算回路を提供することにある。
上記の目的を達成するために、本発明によれば、並列演算処理された演算結果の累算値を算出する演算回路に、アナログ信号で表される情報を演算処理する複数のアナログ演算回路と、前記複数のアナログ演算回路による演算結果の総和値を電荷量として蓄積するキャパシタと、前記キャパシタに蓄積された電荷量を対応するパルス幅を持つパルス信号に変換するコンパレータと、前記パルス信号をデジタル信号に変換するパルス幅・デジタル変換回路と、変換された前記デジタル信号に基づいて累算値を算出するデジタル演算回路とを備え、前記パルス幅・デジタル変換回路が、クロックを計数してその計数値をデジタル信号として出力するカウンタと、それぞれに入力される各パルス信号の終端において前記カウンタが出力する共通の計数値をラッチする複数の終端ラッチ回路とを有することを特徴とする。
また本発明の他の態様によれば、並列演算処理された演算結果の累算値を算出する演算回路の動作制御方法に、アナログ信号で表される情報を複数のアナログ演算回路により演算処理するアナログ演算工程と、前記アナログ演算工程による演算結果の総和値を電荷量としてキャパシタに蓄積する蓄積工程と、前記キャパシタに蓄積された電荷量を対応するパルス幅を持つパルス信号に変換する電圧パルス変換工程と、前記パルス信号をデジタル信号に変換するパルス幅・デジタル変換工程と、変換された前記デジタル信号に基づいて累算値を算出する加算工程とを備え、前記パルス幅・デジタル変換工程が、カウンタによりクロックを計数してその計数値をデジタル信号として出力する工程と、複数の終端ラッチ回路により、それぞれに入力される各パルス信号の終端において前記カウンタが出力する共通の計数値をラッチする工程とを有することを特徴とする。
本発明によれば、並列演算処理された演算結果の累算値を算出する演算回路を省面積かつ低消費電力で実現することが可能となる。
以下、添付図面を参照しながら、本発明の実施形態を説明する。
(第一の実施形態)
図1は、本実施形態でのアナログ・デジタル混載型の演算回路100の全体構成図を示す。
図1に示すように、本アナログ・デジタル混載型の演算回路はデジタルメモリ1と、デジタル・パルス幅変換回路2と、アナログ演算回路3と、キャパシタ4とから構成される。
本アナログ・デジタル混載型の演算回路100は、複数の乗算結果の累算値を算出する機能を実現するものである。
また図2は、図1に示されたアナログ演算回路3とキャパシタ4の構成を詳細に説明したものである。図2に示すように、本実施形態でのアナログ演算回路3とキャパシタ4は、キャパシタ4に接続するバスに、複数のアナログ演算回路3が並列に接続する構成となっている。
また図3は、本実施形態でのアナログ演算回路3の詳細な回路構成を示す。図3に示すように、本実施形態でのアナログ演算回路3は、定電流源として機能する1つのPMOSトランジスタM1を有する。
また図4は、本実施形態でのデジタル・パルス幅変換回路の構成を示すブロック図である。図5は、図4における各パルス生成回路の構成を表すブロック図である。図6は、本実施形態におけるデジタル・パルス幅変換回路の動作を表すタイミングチャートである。ここではまず、図4、図5、図6を用いてメモリに保持されたデジタルデータをパルス信号に変換する処理過程について説明する。
そして図3を用いてアナログ演算回路3の演算処理過程について説明し、続いて図2を用いてアナログ演算回路3による演算結果が、どのように部分和としてキャパシタ4に保持されるかについて説明し、さらに図1を用いて、どのように部分和から所望の累算値を算出するかについて説明していく。
図1に示すように、まずデジタルメモリ1に保持した被乗算値Aのデジタル値をデジタル・パルス幅変換回路2に入力する。デジタル・パルス幅変換回路2においては、入力されたデジタル値を当該デジタル入力値に比例した時間幅のパルス信号に変換して出力する。
ここで図4に示すように、本実施形態に係るデジタル・パルス幅変換回路2は、並列配置された複数のパルス生成回路10-0〜10-(n-1)、及び一つのカウンタ11を有する。各パルス生成回路10-0〜10-(n-1)のデータ入力端子Dinには、mビットの各デジタル入力値x〜xn-1が入力される。そして、各パルス生成回路10-0〜10-(n-1)のパルス出力端子Poutからは、各デジタル入力値x〜xn-1に比例するPWM信号PWM0〜PWMn-1が出力される。
また、カウンタ11は、外部から入力されるクロックclockを計数し、mビットの計数値として出力する。このクロックclockは、各パルス生成回路10-0〜10-(n-1)のクロック入力端子clkにも共通に入力される。また、各パルス生成回路10-0〜10-(n-1)のカウンタ値入力端子CNTには、カウンタ11から出力される計数値が共通に入力される。
更に、各パルス生成回路10-0〜10-(n-1)の基準値入力端子Dbには、mビットの基準値xが共通に入力される。この基準値xは、出力PWM信号PWM0〜PWMn-1の立ち上がりのタイミングを指定する値である。
図5は図4の各パルス生成回路の構成を表すブロック図である。パルス生成回路10-i(i∈{0,1,…,n-1})は、基準値レジスタ12、加減算回路13、パルス幅レジスタ14、切換回路15、タイミングトリガ発生回路16、及び出力パルス反転回路17を有している。
基準値レジスタ12は、基準値xをラッチして、そのラッチした基準値xの値を出力する。加減算回路13は、基準値xと外部から入力されるデジタル値である入力値xとの加算値x+xを出力する。パルス幅レジスタ14は、加減算回路13の出力値(加算値x+x)を更新入力renewの立ち上がりにおいてラッチする。
切換回路15は、出力パルス反転回路17が出力する出力PWM信号PWMが偽値(Lレベル)のときは、基準値レジスタ12がラッチしたデジタル値xを出力し、出力パルス反転回路17が出力する出力PWM信号PWMが真値(Hレベル)のときは、パルス幅レジスタ14がラッチしたデジタル値x+xを出力するように切り換えを行う。
タイミングトリガ発生回路16は、切換回路15から出力されるデジタル値の各ビットと、カウンタ11が出力する計数値CNTの各ビットとを比較して、両者が完全に一致したときにトリガを発生する。このタイミングトリガ発生回路16は、m個のEXORゲート18-0〜18-(m-1)、及び1個のNORゲート19により構成されている。各EXORゲート18-0〜18-(m−1) の入力の一方には、切換回路15からの出力ビットがそれぞれ入力され、他方の入力には、カウンタ11からの出力ビットがそれぞれ入力される。そして、各EXORゲート18-0〜18-(m-1)の出力P0〜Pm-1はNORゲート19に入力される。NORゲート19は、各EXORゲート18-0〜18-(m-1)の出力P0〜Pm-1の論理和の反転出力を出力パルス反転回路17に対して出力する。
すなわち、各デジタル入力値xi(i∈{0,1,…,n-1})、各基準値x、カウンタの出力値CNTをそれぞれ式(1),(2),(3)により表した場合、タイミングトリガ発生回路16の出力Tiは、出力パルス反転回路17の出力値PoutがLレベルのときは式(4)、出力パルス反転回路17の出力値PoutがHレベルのときは式(5)のように表される。
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)
Figure 2005122467
(4)
Figure 2005122467
(5)
出力パルス反転回路17は、タイミングトリガ発生回路16がトリガを発生したときに、出力PWM信号PWMiの真理値を反転させる。この出力パルス反転回路17は、同期型Tフリップ・フロップ(以下、「T−FF」という。)により構成されている。出力パルス反転回路17のトリガ入力端子TにはNORゲート19からの出力値が入力される。また、T−FFのクロック端子clkには、共通のクロックclockが入力される。また、出力パルス反転回路17の出力端子Qからは、出力PWM信号PWMiが出力される。
以上のように構成された本実施形態に係るデジタル・パルス幅変換回路について、以下その動作を図6のタイミング・チャートを参照しながら説明する。
まず、時刻t1において、各パルス生成回路10-iに対して、外部回路から入力値x及び基準値xが入力される。次いで、時刻t2においてカウンタ11のリセット入力ノードR並びに各パルス生成回路10-iの基準値レジスタ12及びパルス幅レジスタ14のクロック入力ノードCLKに対して更新信号renewが入力される。基準値レジスタ12及びパルス幅レジスタ14は、更新信号renewが入力されると、その立ち上がり時点において、それぞれ、そのときの基準値x及び入力値xの値をラッチする。そして、基準値レジスタ12は、ラッチされた基準値xを出力し、パルス幅レジスタ14は、ラッチされた加算値x+xを出力する。
一方、時刻tにおいては、出力パルス反転回路の出力はLレベルであるので、切換回路15は、基準値レジスタ12から入力される値xを出力する。また、カウンタ11は、更新信号renewの立ち上がりにおいて、計数値CNTを0にリセットするとともに、計数を開始する。
次に、カウンタ11がカウントアップして、時刻t3においてカウンタ11の計数値CNTが切換回路15の出力値である基準値xと一致する。このとき、タイミングトリガ発生回路16の出力TiはHレベルに反転する。これにより、出力パルス反転回路17の出力PoutがLレベルからHレベルに反転し、出力PWM信号PWMiの出力が開始される。
時刻t4において、出力パルス反転回路17の出力PoutがHレベルに反転すると、切換回路15の入力が切り換わって、パルス幅レジスタ14から入力される値x+xを出力するようになる。これに伴い各EXORゲート18-0〜18-(m-1)の出力値も変化するが、xi≠0であれば、EXORゲート18-0〜18-(m-1)の出力値が総て0となることはない。従って、タイミングトリガ発生回路の出力TiはLレベルに反転する。
更にカウンタ11がカウントアップして、時刻t5において、カウンタ11の計数値CNTが切換回路15の出力値である加算値x+xと一致する。このとき、タイミングトリガ発生回路16の出力TiはHレベルに反転する。これにより、出力パルス反転回路17の出力PoutはHレベルからLレベルに反転し、出力PWM信号PWMiの出力が停止される。このようにして、デジタル入力値xiに比例した時間幅の出力PWM信号PWMiが生成され、デジタル・パルス幅変換が行なわれる。
時刻t6において、出力パルス反転回路17の出力がLレベルに反転すると、切換回路15の入力が切り換わり、切換回路15は基準値レジスタ12から入力される値xを出力するようになる。これに伴い各EXORゲート18-0〜18-(m-1)の出力値も変化するが、xi≠0であれば、EXORゲート18-0〜18-(m-1)の出力値が総て0となることはない。従って、タイミングトリガ発生回路の出力TiはLレベルに反転する。
そして、カウンタ11はカウントアップするまで計数を続ける。この間、カウンタ値と切換回路の出力値xとが一致することはないので、出力パルス反転回路17の出力はLレベルに保持される。カウンタ11がカウントアップすると計数を停止し、1サイクルが終了する。カウンタ11はカウントアップした後は、リセット入力ノードRが再度Hレベルに反転するまでは、カウントアップした時の出力値(総てHレベル)を維持する。
以上のようにして、各パルス生成回路10-iは、入力値xの値に比例した時間幅の出力PWM信号PWMを出力する。このとき、各パルス生成回路10-iは、共通のカウンタ11が出力する計数値を用いて、基準値x又は加算値x+xとの比較を行う。従って、総てのパルス生成回路10-iにカウンタを備えた場合と比べると、消費電力が極めて小さくなるため、デジタル・パルス幅変換回路の低消費電力化が図られる。
また、本実施形態においては、基準値レジスタ12、パルス幅レジスタ14、及び切換回路15を用いて、出力PWM信号PWMiの立ち上がりと立ち下がりのタイミングを、共通のタイミングトリガ発生回路16を用いて発生させる構成としたことにより、回路遅延の影響を受けることなく、出力PWM信号PWMiのパルス幅を入力値xに正確に比例させることが可能となる。
尚、本実施形態においては、基準値xbにより、各パルス生成回路10-0〜10-(n-1)における出力パルスの立ち上がり時点を合わせる構成例を示したが、本発明においては、出力パルスの立ち下がり時点を合わせる構成としてもよい。この場合、加減算回路13は、基準値xから外部から入力されるデジタル値である入力値xを減算した減算値xb−xiを出力する構成とする。また、切換回路15は、出力パルス反転回路17が出力する出力PWM信号PWMiが真値(Hレベル)のときは、基準値レジスタ12がラッチしたデジタル値xを出力し、出力パルス反転回路17が出力する出力PWM信号PWMiが偽値(Lレベル)のときは、パルス幅レジスタ14がラッチしたデジタル値xb−xiを出力するように切り換えを行う構成とすればよい。
なお、各パルス生成回路2−i内に加減算回路11を用意せずに、デジタル入力信号xiとして、元々の入力値を基準値xbから加算または減算した結果を与えるようにしてもよい。
続いて、図3に示すアナログ演算回路は、本実施形態においては被乗算値Aと乗算値Bの乗算:(A×B)を実現する。(なおA、Bは、A≧0、B≧0を満たすものとする。)ここで、被乗算値Aと乗算値Bは、前記乗算をアナログ演算回路3で実現するために、前述したデジタル・パルス幅変換回路2から出力されたPWM信号PWM5と、アナログ電圧Vw6としてそれぞれ入力される。
なおアナログ演算回路3は、前記乗算を実現するもの以外でも、何らかの演算(たとえば非線形変換等)を行うものであれば別のアナログ演算回路でも構わない。
まず図3において、デジタル・パルス幅変換回路から出力されたPWM信号PWM5が入力端子7に入力され、また乗算値Bに所定の換算を施したアナログ電圧Vw6が入力端子8に入力される。
ここで、前記PWM信号の特性について簡単に説明しておく。パルス信号PWM(Pulse Width Modulation)は、情報をパルス波形の幅に持たせた変調方式であり、ノイズに強いデジタル的な特性(電圧方向にHighレベルとLowレベルの2値の情報を有するという特性)と、連続情報を1パルスで表現することができるアナログ的な特性(時間方向に連続情報を有するという特性)の両者を併せ持つものである。
M1のゲート端子には、入力端子8に入力された乗算値Bに相当するVw6の電圧がかかる。また、M1のソース端子には、入力端子7よりPWM信号PWM5が入力される。なおPWM信号は、Lowレベルを0V、Highレベルを電源電圧Vdd(本実施形態では3.3V)と設定している。
ここで、PWM信号がHighレベルの時、すなわちM1のソース端子にVddが加えられた時に、M1が飽和領域で動作するようにアナログ電圧Vw6を適切な電圧範囲に設定することにより、PWM信号がHighレベルの間、M1を定電流源として動作させることができる。
またこの時、M1を流れる電流量は、ゲート−ソース間電圧、すなわち(Vdd−Vw)で決定される。この時、PWM信号PWM5のパルス幅は、被乗算値Aに比例するように変換されている。またアナログ電圧Vw6は、(Vdd−Vw)によって決定される電流量が乗算値Bに比例するように換算されている。
従ってM1は、PWM信号がHighレベルの間だけ前記(Vdd−Vw)により決定される電流を流すため、PWM信号がHighレベルの間にM1が流す総電荷量は、A×Bに比例したものとなる。なお、PWM信号を用いて前記乗算を実現できるものであれば、その他のアナログ演算回路を用いても構わない。
続いて図2を用いて、アナログ演算回路3による演算結果が、どのようにキャパシタ4に保持されるかについて説明する。図2において、前記のようにM1が流す電荷量は、バスによってアナログ演算回路3に接続されたキャパシタ4に蓄積される。
ここで、バスにはそれぞれ独立に演算を行う複数のアナログ演算回路3が接続されているため、それぞれのアナログ演算回路3により並列に実行された演算結果、すなわち、上で説明した電荷量は、バスを通してキャパシタ4に蓄積され、加算される。
従って、一回の並列な演算処理が完了するごとにキャパシタ4に蓄積される総電荷量は、共通のバスでキャパシタ4に接続された複数のアナログ演算回路3の演算結果の総和値を示している。
続いて図7のフローチャートを用いて、以上の演算処理フローの説明を行なう。また、説明に際しては各処理工程を実行する演算回路についても言及する。
図7において、まずデジタル信号の入力工程S1を実行し、次にそれぞれのデジタル・パルス幅変換回路において、デジタル信号をPWM信号に変換する工程S5を実行する。次にBi(電圧Vw)の入力工程S2を実行し、さらにそれぞれのアナログ演算回路において、工程S5からの出力であるPWM信号とアナログ電圧Vwを乗算する工程S3を実行する。次に、それぞれのアナログ演算回路において並列に算出された乗算値をキャパシタにおいて電荷量として蓄積し、部分和Σ(Ai×Bi)として保持する工程S4を実行する。
以上説明した演算フローを累算値を算出するために必要な回数(本実施形態では3回)繰り返すことにより、所望の累算値が算出される。
なお前記の演算フローは、必要に応じて複数回繰り返して、その演算結果をキャパシタに電荷として追加蓄積していっても構わない(図7では、S4を部分和算出としているが、演算結果をキャパシタに電荷として追加蓄積していく場合は、最終的に算出された累算値に相当する電荷量がキャパシタに蓄積される)。
またもしくは、一旦キャパシタに電荷として蓄積した演算結果を別の記憶回路に保存した後、新たに前記の演算フローを行なうものであっても構わない。
以上説明してきたように、低消費電力で複数のデジタル入力値を並列的にパルス幅に変換するデジタル・パルス幅変換回路を用いることで、低消費電力かつレイアウト面積が小さいアナログ・デジタル混載型の演算回路を実現することが可能となる。
(第二の実施形態)
本実施形態におけるアナログ・デジタル混載型の演算回路は、第一の実施形態におけるアナログ・デジタル混載型の演算回路と比較して、デジタル・パルス幅変換回路のみが異なっている。従って、以下では第一の実施形態と異なるデジタル・パルス幅変換回路についてのみ説明を行い、それ以外の部分は第一の実施形態と同様として説明を省略する。
ここで図30に示すように、本実施形態に係るデジタル・パルス幅変換回路51は、並列配置された複数のパルス生成回路52−0〜52−(n-1)、及び一つのカウンタ53を有する。各パルス生成回路52−0〜52−(n-1)のデータ入力端子Dinには、mビットの各デジタル入力値x〜xn-1が入力される。そして、各パルス生成回路52−0〜52−(n-1)のパルス出力端子Poutからは、各デジタル入力値x〜xn-1に比例する時間幅のパルスPWM0〜PWMn-1が出力される。また、カウンタ53は、外部から入力されるクロックclockを計数し、mビットの計数値として出力する。また、各パルス生成回路52−0〜52−(n-1)のカウンタ値入力端子CNTには、カウンタ53から出力される計数値が共通に入力される。
図31は図30の各パルス生成回路の構成を表すブロック図である。パルス生成回路52−i(i∈{0,1,…,n-1})は、パルス幅レジスタ62、タイミングトリガ発生回路64、及び出力パルス反転回路65を有している。パルス幅レジスタ62は、外部から入力されるmビットのデジタル値である入力値xを更新入力renewの立ち上がりにおいてラッチして、その値を出力ノードに出力する。タイミングトリガ発生回路64は、パルス幅レジスタ62から出力されるmビットのデジタル値の各ビットと、カウンタ53が出力するmビットの計数値の各ビットとを比較して、両者が完全に一致したときにトリガを発生する。
このタイミングトリガ発生回路64は、m個のEXORゲート66−0〜66−(m−1)と1個のNORゲート67により構成されている。各EXORゲート66−0〜66−(m−1)の入力の一方には、パルス幅レジスタ62からの出力ビットがそれぞれ入力され、入力の他方には、カウンタ53からの出力ビットがそれぞれ入力される。そして、各EXORゲート66−0〜66−(m−1)の出力P0〜Pm-1はNORゲート67に入力される。NORゲート67は、各EXORゲート66−0〜66−(m−1)の出力P0〜Pm-1の論理和の反転出力を出力パルス反転回路65に対して出力する。
すなわち、各デジタル入力値xi(i∈{0,1,…,n-1})、カウンタの出力値CNTを式(1),(3)により表した場合、タイミングトリガ発生回路64の出力Tiは式(6)のように表される。但し、ここでxiは0でないと仮定する。
Figure 2005122467
(6)
式(6)より、タイミングトリガ発生回路64の出力Tiはデジタル入力値xiとカウンタの出力値CNTが、総てのビットにおいて一致したときに1となることが分かる。出力パルス反転回路65は、タイミングトリガ発生回路64がトリガを発生したときに、出力パルスPWMiの真理値を反転させる。この出力パルス反転回路65は、Tフリップ・フロップ(以下、「T−FF」という。)により構成されている。出力パルス反転回路65のトリガ入力端子TにはNORゲート67からの出力値が入力される。また、出力パルス反転回路65の出力端子Qからは、パルスPWMiが出力される。
以上のように構成された本実施形態に係るデジタル・パルス幅変換回路について、以下その動作を図32のタイミング・チャートを参照しながら説明する。
まず、電源を入れた直後の初期状態では、カウンタ53の総ての計数値CNTはHレベルにあるものとし、入力値xは0であるとする。この状態で、時刻t0において、カウンタ53及びパルス幅レジスタ62に対して入力されているリセット入力resetを有効(Lレベル)とする。これにより、カウンタ53の計数値CNTは総て0リセットされる。また、パルス幅レジスタ62は、リセット信号resetがLレベルとされると、保持している記憶値を総て0にリセットする。そうすると、カウンタ53の計数値CNTとパルス幅レジスタ62の出力値とが一致し、タイミングトリガ発生回路64の出力TiはLレベルからHレベルに反転する。従って、出力パルス反転回路65の出力PoutiがHレベルに反転し、出力Poutiにパルスが出力され始める。
次に、時刻t1において、各パルス生成回路52−iに対して、外部回路から入力値x(Xi≠(0,0,…,0))が入力される。このとき、パルス幅レジスタ62に入力されているリセット信号resetがLレベルなので、パルス幅レジスタ62の出力は総て0のままである。
次いで、時刻t2において、リセット入力resetが無効(Hレベル)とされるとともに、更新信号renewがLレベルからHレベルに反転される。更新信号renewは、各パルス幅レジスタ62のクロックCLK入力ノードに入力されており、更新信号renewがHレベルに反転した時点で、パルス幅レジスタ62はその時点の入力値xの値をラッチする。これにより、パルス幅レジスタ62の出力値は入力値xとなる。一方、カウンタ53の計数値CNTは依然として0なので、パルス幅レジスタ62の出力とカウンタ53の計数値CNTとは一致しなくなり、タイミングトリガ発生回路64の出力TはHレベルからLレベルに反転する。また、カウンタ53は、リセット信号resetがLレベルからHレベルに反転することにより、クロックclockの計数を開始する。尚、このとき、パルス幅レジスタ62は、ラッチされた加算値xを出力し続ける。
クロックclockとともにカウンタ53がカウントアップし、時刻t3においてカウンタ53の計数値CNTが切換回路63の出力値であるxiと一致する。このとき、タイミングトリガ発生回路64の出力値TはLレベルからHレベルに反転する。これにより、出力パルス反転回路65の出力PoutiはHレベルからLレベルに反転する。これにより、出力パルス反転回路65の出力PoutiのパルスPWMiの幅が確定する。このパルス幅は、デジタル入力値xに比例することから、デジタル・パルス幅変換が行われたこととなる。
更に、時刻t3から1クロック経過した時刻t4において、カウンタ53がカウントアップしてカウンタ53の計数値CNTが切換回路63の出力値xiと不一致となると、タイミングトリガ発生回路64の出力TiはHレベルからLレベルに反転する。
そして、カウンタ53はカウントアップするまで計数を続ける。この間、カウンタ53の計数値CNTと入力値xiとが一致することはないので、タイミングトリガ発生回路64の出力TiはLレベルを保持し、出力パルス反転回路65の出力もLレベルに保持される。カウンタ53がカウントアップするとカウンタ53の計数値は総て0となり、1サイクルが終了する。そして、続けて同様のサイクルが繰り返される。
以上のようにして、各パルス生成回路52−i(i=0,…,n−1)は、入力値xの値に比例した時間幅の出力パルスPWMを出力する。(ただし、この時間幅は、厳密にはreset信号がLの期間の2クロック分のオフセットが入る。これは、xiからあらかじめ2を引いておくなどの処理で対処できる。)
このとき、各パルス生成回路52−iは、共通のカウンタ53が出力する計数値CNTを用いて、デジタル入力値xとの比較を行う。従って、総てのパルス生成回路52−iにカウンタを備えた場合と比べると、消費電力が極めて小さくなる。すなわち、総てのパルス生成回路52−iにカウンタを備えた場合には、各カウンタ内のスイッチング素子はクロックごとに少なくとも一つの素子の切換が行われる。従って、例えば、スイッチング素子としてCMOSを使用した場合、切換に伴って貫通電流や負荷への充放電電流が流れる。そのため、デジタル・パルス幅変換回路全体としての消費電力は大きくなる。
一方、本実施形態のように、一つのカウンタ53を駆動し、各パルス生成回路52−iはこの共通のカウンタ53の出力値を参照してパルスの切り換えを行うようにすると、カウンタ53内のスイッチング素子の切換に伴って生じる貫通電流や負荷への充放電電流も少なく、消費電力も小さい。従って、デジタル・パルス幅変換回路51の低消費電力化が図られる。また、カウンタ53を共通化したことにより、回路のレイアウト面積が小さくなり、デジタル・パルス幅変換回路51の小型化が図られる。
(第三の実施形態)
第三の実施形態におけるアナログ・デジタル混載型の演算回路200の構成例を図8に示す。
図8から分かるように、本実施形態は、第一及び第二の実施形態で説明したアナログ・デジタル混載型の演算回路100において、それぞれのアナログ演算回路3の前段に、デジタルメモリ20と、D/A変換回路300が付加されていることが第一及び第二の実施形態と異なっている。
従って本実施形態の説明においては、第一及び第二の実施形態と異なるD/A変換回路300の処理に関してのみ説明を行い、それ以外の処理に関しては第一及び第二の実施形態と同様として説明を省略する。
また、図9に示すように、D/A変換回路300は、デジタル・パルス幅変換回路21と、電流源22と、キャパシタ23と、バッファ24から構成されている。なおD/A変換回路300の処理に関しては、デジタル・パルス幅変換回路21において並列に行なわれる処理は第一及び第二の実施形態と同様であるため、説明を省略する。
図9に示すように、まずD/A変換回路300において、乗算値Bに相当するデジタル値をデジタルメモリからデジタル・パルス幅変換回路21に入力する。デジタル値が入力されたデジタル・パルス幅変換回路21では、第一及び第二の実施形態と同様の処理を行いPWM信号を出力する。続いて、PWM信号はそれぞれ電流源22の動作のオン・オフを制御する。
すなわち本実施形態においては、PWM信号がHighの期間は電流源22がオンとなり、キャパシタ23に所定の電流が流れ込む。またPWM信号がLowの期間は電流源22がオフとなり、キャパシタ23への電流の流入がストップする。結果として、キャパシタ23にはそれぞれのPWM信号の時間幅に比例した電荷量が蓄積される。キャパシタ23においては、蓄積した電荷量はバッファ24を介して電圧値として参照することができるため、図8に示すようにアナログ演算回路に対して乗算値Bに相当するアナログ電圧値として入力される。
続いて図10のフローチャートを用いて、以上の演算処理フローの説明を行なう。
図10において、まずデジタル信号Aiの入力工程S1を実行し、次にそれぞれのデジタル・パルス幅変換回路において、デジタル信号をPWM信号に変換する工程を実行する。次にデジタル信号Bi(電圧Vw)の入力工程S6を実行し、次にD/A変換回路において、デジタル信号をアナログ信号に変換するD/A変換工程S7を実行する。
続いて、それぞれのアナログ演算回路において、工程S5,S7からの出力であるPWM信号とアナログ電圧Vwを乗算する工程S3を実行する。次に、それぞれのアナログ演算回路において並列に算出された乗算値をキャパシタにおいて電荷量として蓄積し、部分和Σ(Ai×Bi)として保持する工程S4を実行する。
以上説明した演算フローを累算値を算出するために必要な回数(本実施形態では3回)繰り返すことにより、所望の累算値が算出される。
なお前記の演算フローは、必要に応じて複数回繰り返して、その演算結果をキャパシタに電荷として追加蓄積していっても構わない(図10では、S4を部分和算出としているが、演算結果をキャパシタに電荷として追加蓄積していく場合は、最終的に算出された累算値に相当する電荷量がキャパシタに蓄積される)。またもしくは、一旦キャパシタに電荷として蓄積した演算結果を別の記憶回路に保存した後、新たに前記の演算フローを行なうものであっても構わない。
以上のように、D/A変換回路において低消費電力で複数のデジタル入力値を並列的にパルス幅に変換するデジタル・パルス幅変換回路を用いることで、低消費電力かつレイアウト面積が小さいアナログ・デジタル混載型の演算回路を実現することが可能となる。
(第四の実施形態)
以下、図面を参照して第四の実施形態を詳細に説明する。図11は、本実施形態でのアナログ・デジタル混載型の演算回路400の全体構成図を示す。
図11に示すように、アナログ・デジタル混載型の演算回路は、複数のアナログ演算回路3、前記複数のアナログ演算回路3に接続するキャパシタ4と、図12に示すコンパレータ28とパルス幅・デジタル変換回路29から構成されるA/D変換回路500と、デジタル加算回路25と、デジタルメモリ26とから構成される。このアナログ・デジタル混載型の演算回路400は、複数の乗算結果の累算値を算出する機能を実現するものである。
また図2は、図11に示されたアナログ演算回路3とキャパシタ4の構成を詳細に説明したものである。図2に示すように、本実施形態でのアナログ演算回路3とキャパシタ4は、キャパシタ4に接続するバスに、複数のアナログ演算回路3が並列に接続する構成となっている。
また図3は、本実施形態でのアナログ演算回路3の詳細な回路構成を示す。図3に示すように、本実施形態でのアナログ演算回路3は、定電流源として機能する1つのPMOSトランジスタM1を有する。
また図12は、本実施形態におけるA/D変換回路500の構成を説明するものである。図13は、A/D変換回路500を構成するパルス幅・デジタル変換回路29の構成を表すブロック図である。図14は、パルス幅・デジタル変換回路29における終端ラッチ回路32-1〜32-(n-1)の内部構成を表すブロック図である。図15は、ラッチ回路33-0〜33-(n-1)の内部構成を表すブロック図である。図16は、パルス幅・デジタル変換回路29の各信号レベルの変化を表すタイムチャートである。
ここでは、まず図3を用いてアナログ演算回路3の演算処理過程について説明し、続いて図2を用いてアナログ演算回路3による演算結果が、どのように部分和としてキャパシタ4に保持されるかについて説明し、さらに図11を用いて、どのように部分和から所望の累算値を算出するかについて説明していく。続いて、図13、図14、図15、図16を用いて、A/D変換回路500の処理過程についてさらに詳しく説明していく。
図3に示すアナログ演算回路3は、本実施形態においては被乗算値Aと乗算値Bの乗算:(A×B)を実現する。なおA、Bは、A≧0、B≧0を満たすものとする。
ここで、被乗算値Aと乗算値Bは、前記乗算をアナログ演算回路3で実現するために、後述するように所定の換算を施したPWM信号PWM5と、アナログ電圧Vw6としてそれぞれ入力される。
なお、アナログ演算回路3に入力される前記PWM信号及びアナログ電圧は、必要に応じて外部電源装置によって入力することも可能であるが、例えば第一、第二及び第三の実施形態で説明したPWM信号及びアナログ電圧の入力過程と同様に、デジタル値を変換して入力することが可能である。
本実施形態においては、PWM信号及びアナログ電圧を第一、第二及び第三の実施形態で説明した入力過程と同様に入力することを想定しているが、詳細な入力過程の説明は第一、第二及び第三の実施形態における説明と同様のものとして省略する。なお、アナログ演算回路3は、前記乗算を実現するもの以外でも、何らかの演算(たとえば非線形変換等)を行うものであれば別のアナログ演算回路でも構わない。
まず図3において、被乗算値Aに所定の換算を施したPWM信号PWM5が入力端子7に入力され、また乗算値Bに所定の換算を施したアナログ電圧Vw6が入力端子8に入力される。
M1のゲート端子には、入力端子8に入力された乗算値Bに相当するVw6の電圧がかかる。また、M1のソース端子には、入力端子7よりPWM信号PWM5が入力される。なおPWM信号は、Lowレベルを0V、Highレベルを電源電圧Vdd(本実施形態では3.3V)と設定している。
ここで、PWM信号がHighレベルの時、すなわちM1のソース端子にVddが加えられた時に、M1が飽和領域で動作するようにアナログ電圧Vw6を適切な電圧範囲に設定することにより、PWM信号がHighレベルの間、M1を定電流源として動作させることができる。
またこの時、M1を流れる電流量は、ゲート−ソース間電圧、すなわち(Vdd−Vw)で決定される。この時、PWM信号PWM5のパルス幅は、被乗算値Aに比例するように換算されている。またアナログ電圧Vw6は、(Vdd−Vw)によって決定される電流量が乗算値Bに比例するように換算されている。
従ってM1は、PWM信号がHighレベルの間だけ前記(Vdd−Vw)により決定される電流を流すため、PWM信号がHighレベルの間にM1が流す総電荷量は、A×Bに比例したものとなる。
続いて図2を用いて、アナログ演算回路3による演算結果が、どのように部分和としてキャパシタ4に保持されるかについて説明する。図2において、前記のようにM1が流す電荷量は、バスによってアナログ演算回路3に接続されたキャパシタ4に蓄積される。
ここで、バスにはそれぞれ独立に演算を行う複数のアナログ演算回路3が接続されているため、それぞれのアナログ演算回路により並列に実行された演算結果、すなわち、上で説明した電荷量は、バスを通してキャパシタ4に蓄積され、加算される。
従って、一回の並列な演算処理が完了するごとにキャパシタ4に蓄積される総電荷量は、共通のバスでキャパシタ4に接続された複数のアナログ演算回路3の演算結果の総和値を示している。なお後述するように、この総和値は、最終的に算出しようとする累算値の部分和に相当している。
なお、PWM信号を用いて前記乗算を実現できるものであれば、その他のアナログ演算回路を用いても構わない。
続いて、図11を用いて前記部分和から所望の累算値を算出する過程について説明していく。
本実施形態において、所望の累算値は以下の演算式(7)で表されるとする。
Figure 2005122467
(7)
これに対して、最終的な累算値を求めるために、図2に示す4つのアナログ演算回路3がバスを介してキャパシタ4に接続した構成を用いる。なお、この際トータルの演算個数(本実施形態では12)が、アナログ演算回路数(4個)の倍数となっていなくても、乗算値B=0に相当するアナログ電圧Vw6を入力することで、演算個数を調整することができる。
ここでは、まず図2を用いて説明したように、4つのアナログ演算回路3によって、以下の演算式(8)で表される演算を並列に行い、演算結果を電荷量としてキャパシタ4に保持する。
Figure 2005122467
(8)
ここでの演算結果は、所望の演算(演算式(7))に対する部分和とみなすことができる。
続いて、キャパシタ4に電荷量としてアナログ的に保持した演算結果をA/D変換回路500によってデジタル値に変換する。そしてさらに、デジタル加算回路25によって、前記デジタル値をデジタルメモリ26に保存されているデジタル値に加算し、その演算結果をデジタルメモリ26に保持する。
なお前記演算は、所望の演算(演算式(7))に対する一つ目の部分和の演算であるため、デジタルメモリ26に事前に保持された部分和は存在せず、全て0が保持されている。従って、ここでデジタルメモリ26に保持されたデジタル値は、演算式(8)の演算結果と等しい。
続いて、二つ目の部分和の演算を前記と同様にアナログ演算回路3によって行う。すなわち、図2を用いて説明したように、4つのアナログ演算回路3によって、以下の演算式(9)で表される演算を並列に行い、演算結果を電荷量としてキャパシタ4に保持する。
Figure 2005122467
(9)
ここでの演算結果は、所望の演算(演算式(7))に対する部分和とみなすことができる。
続いて、キャパシタ4に電荷量としてアナログ的に保持した演算結果をA/D変換回路500によってデジタル値に変換する。
そしてさらに、デジタル加算回路25によって、前記デジタル値をデジタルメモリ26に保存されているデジタル値に加算し、その演算結果をデジタルメモリ26に保持する。
ここで、デジタルメモリ26に事前に保持されていたデジタル値は、演算式(8)の演算結果に相当するため、演算式(9)の演算結果を加算してデジタルメモリ26に保存した結果は、以下の演算式(10)で表される。
Figure 2005122467
(10)
続いて、三つ目の部分和の演算を前記と同様にアナログ演算回路3によって行う。すなわち、図2を用いて説明したように、4つのアナログ演算回路3によって、以下の演算式(11)で表される演算を並列に行い、演算結果を電荷量としてキャパシタ4に保持する。
Figure 2005122467
(11)
ここでの演算結果は、所望の演算(演算式(7))に対する部分和とみなすことができる。
続いて、キャパシタ4に電荷量としてアナログ的に保持した演算結果をA/D変換回路500によってデジタル値に変換する。
そしてさらに、デジタル加算回路25によって、前記デジタル値をデジタルメモリ26に保存されているデジタル値に加算し、その演算結果をデジタルメモリ26に保持する。
ここで、デジタルメモリ26に事前に保持されていたデジタル値は、演算式(10)の演算結果に相当するため、演算式(11)の演算結果を加算してデジタルメモリ26に保存した結果は、以下の演算式(12)で表されるように、所望の累算値となる。
Figure 2005122467
(12)
以上説明したように、複数の乗算をアナログ演算回路3によりアナログ的に行い、それぞれの結果をキャパシタ4でアナログ的に加算して所望の累算値に対する部分和を算出する。
さらに前記のように算出された部分和をA/D変換器500によりデジタルデータに変換した後、デジタル加算回路25により、デジタルメモリ26が保持する値にデジタル的に加算することにより所望の演算を実現する。
続いて、前記のA/D変換回路500において行なわれる処理について詳しく説明する。
図12に示すように、A/D変換回路500はコンパレータ28とパルス幅・デジタル変換回路29から構成される。キャパシタ4に電荷として蓄積された演算結果は、キャパシタ4において電圧値として参照される。ここで、前記電圧値をコンパレータ28に入力し、コンパレータ28において別途入力された任意の電圧波形と比較を行なう。
ここで前記任意の電圧波形は、電圧値が線形に上昇するランプ電圧波形27であっても良いし、その他の非線形電圧波形であっても良い。本実施形態で使用するランプ電圧波形27の場合は、キャパシタに蓄積された演算結果が線形変換されてPWM信号幅が設定される。また、その他の非線形電圧波形の場合は、キャパシタに蓄積された演算結果が非線形変換されてPWM信号幅が設定される。
すなわちコンパレータ28の出力値が、ランプ電圧波形27のスタート時にHighレベルに立ち上がり、ランプ電圧値27とキャパシタ4の電圧値が等しくなった時点でLowレベルに立ち下がることでPWM信号に変換される。
なお、コンパレータ28によるアナログ電圧のPWM信号への変換処理は、一般的に広く知られた技術であり、本発明の主眼とするところではないため、これ以上の詳しい説明は省略する。続いて、コンパレータ27から出力されたPWM信号はパルス幅・デジタル変換回路29に入力される。
図13はパルス幅・デジタル変換回路29の構成を表すブロック図である。
本実施形態におけるパルス幅・デジタル変換回路29は、カウンタ31、及びn個(n>2)の終端ラッチ回路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倍(M≧2m)の周期で、クロック周期分の時間幅の反転パルスが出力される。
カウンタ31は、外部から入力されるクロックCLKを計数してその計数値CNT0〜CNTm-1をmビットのデジタル信号として出力する。各終端ラッチ回路32-i(i∈{0,…,n-1})は、外部から入力されるPWM信号PWiの終端においてカウンタ31が出力する計数値CNT0〜CNTm-1をラッチする。そして、各終端ラッチ回路32-iは、それぞれ、ラッチした計数値CNT0〜CNTm-1をmビットのデジタル出力Di,0〜Di,m-1として出力する。
図14は図13の終端ラッチ回路の内部構成を表すブロック図である。
終端ラッチ回路32-i(i∈{0,…,n-1})は、m個のラッチ33-0〜33-(m-1)、及び1個のインバータ34により構成されている。
終端ラッチ回路32−iに入力される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)は、図15に示したような、非同期リセット入力付きの同期型Dフリップ・フロップが用いられる。
以上のように構成された本実施形態に係るパルス幅・デジタル変換回路29について、以下その動作を説明する。
図16は本実施形態に係るパルス幅・デジタル変換回路29の各信号レベルの変化を表すタイムチャートである。
クロックCLKには、一定の周期Tで、幅T/2のパルスが連続的に入力されている。パルス出力トリガXRSTは、時刻t1において、幅Tの反転パルスを出力する。これにより、各ラッチ33-0〜33-(m-1)の出力はリセットされ、デジタル出力データDiは総て0リセットされる。
そして、パルス出力トリガXRSTの立ち上がり時点(時刻t2)から、各PWM信号PWi(i∈{0,1,…,n-1})の出力が開始される。また、それと同時に、カウンタ31は、クロックCLKの計数を開始する。カウンタ31は、クロックCLKの立ち上がりエッジにおいて、その計数値を1づつ増加させる。
PWM信号PWiは、コンパレータ28からの出力信号である。このとき、コンパレータ28において、それぞれのランプ波形27のスタート時点を同期させることで、カウンタ31の計数開始と同期してPWM信号PWiを出力させることができる。
時刻t3において、PWM信号PWiはHレベルからLレベルに反転する。これにより、インバータ34の出力NOT(PWi)のレベルはLレベルからHレベルに立ち上がる。各ラッチ33-j(j∈{0,1,…,m-1})は、このインバータ34の出力NOT(PWi)の立ち上がりエッジにおいて、データ入力端子Dに入力される計数値CNTjのレベルをラッチして、これをデータ出力端子Qから出力する。
これにより、各終端ラッチ回路32-i(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(i∈{0,…,n-1})は、PWM信号PWiの終端で、共通のカウンタ31が出力する計数値CNTをラッチする。従って、カウンタ31は、それぞれの終端ラッチ回路32-iに対して計数値CNTを出力するための配線の寄生容量に抗して出力値(係数値CNT)の切り換えを行うだけであり、スイッチング時の消費電力は小さい。従って、上記従来のパルス幅デジタル変換を使用した場合に比べると、大幅に消費電力を低減させることが可能である。
実際に計算機シミュレーションにより評価した結果、80個のPWM信号PW0〜PW79を並列にパルス幅デジタル変換する場合、終端ラッチ回路として、図29に示したような従来のパルス幅・デジタル変換回路を使用すると、226mWの電力が消費されることが見積もられた。それに対して、本実施形態に係るパルス幅・デジタル変換回路29を使用した場合、同じPWM信号をパルス幅デジタル変換する場合の消費電力は6.6mWであった。従って、消費電力は約1/50に抑えることができることが分かった。
また、カウンタ31を一つにしたことによって、カウンタ31のスイッチング時に発生するスイッチング・ノイズを小さく抑えることができる。従って、回路のSN比が向上する。従って、パルス幅にジッタ・ノイズが加わることによりパルス幅デジタル変換時に生じるジッタ誤差を最小限に抑えることができる。これにより、高速パルス幅デジタル変換にも使用することができる。
また、各終端ラッチ回路32-0〜32-(n-1)は、共通のカウンタ31の出力値CNTをラッチするので、PWM信号PW0〜PWn-1に対する計数値CNTの切り替わりのタイミングにばらつきが生じない。そのため、カウンタ31のスイッチング時のジッタによる各PWM信号PW0〜PWn-1間でのタイミング誤差がばらつくことを防止できる。
続いて図17のフローチャートを用いて、以上の演算処理フローの説明を行なう。なお、説明に際しては各処理工程を実行する演算回路についても言及する。
図17において、まずデジタル信号Aiの入力工程S1を実行し、次にそれぞれのデジタル・パルス幅変換回路において、デジタル信号をPWM信号に変換する工程S5を実行する。
次にデジタル信号Bi(電圧Vw)の入力工程S6を実行し、次にD/A変換回路において、デジタル信号をアナログ信号に変換するD/A変換工程S7を実行する。
続いて、それぞれのアナログ演算回路において、工程S5,S7からの出力であるPWM信号とアナログ電圧Vwを乗算する工程S3を実行する。
次に、それぞれのアナログ演算回路において並列に算出された乗算値をキャパシタにおいて電荷量として蓄積し、部分和Σ(Ai×Bi)として保持する工程S4を実行する。
次に、部分和Σ(Ai×Bi)に相当する前記電荷量(電圧値)をA/D変換回路によりA/D変換し、デジタル値とする工程S9を実行する。
次に、前記部分和に相当するデジタル値と、工程S11により出力された、既にデジタルメモリに保持されている累算値(演算途中での累算値に相当)とをデジタル加算回路によって加算し、新たな累算値として算出する工程S10を実行する。
最後に、以上のように算出した累算値をデジタルメモリに再書き込みして保持する工程S11を実行する。この場合、累算値はデジタルメモリ中の該当部(前記演算途中での累算値が保持されていた部位)に対して上書きされる。
以上説明した演算フローを累算値を算出するために必要な回数(本実施形態では3回)繰り返すことにより、所望の累算値が算出される。
なお以上の説明においては、所望の累算値がデジタルメモリに保持された時点で処理を完了したものとして説明したが、前記累算値に対してさらに所望の演算処理を行なうことも可能である。例えば、前記デジタルメモリの後段に非線形変換回路を接続して、前記累算値を非線形変換した値を出力するものであってもよい。
この場合、非線形変換回路はルックアップテーブル回路等により実現することができる。このように、本実施形態で説明したアナログ・デジタル混載型の演算回路は、算出された累算値に対して任意の演算処理を行なうことが可能である。また前記非線形変換回路はデジタル加算回路の後段に接続しても構わない。
この場合、非線形変換回路はルックアップテーブル回路等により実現することができる。
すなわち、デジタル加算回路において算出された累算値をルックアップテーブル回路に入力し、ルックアップテーブル回路によって非線形変換した後にデジタルメモリに保持する。
この場合は、デジタル加算回路において算出された所望の演算値(最終的に算出される累算値、すなわち演算式(7)または(12)で示される値)に対してのみ非線形変換を行い、演算処理途中で算出される累算値(演算式(8)および(10))に対しては非線形変換を行なわないものであっても良い。
また、前記累算値を非線形変換できる構成であれば、その他どのような構成であっても構わない。
以上のように、A/D変換回路において低消費電力で複数のPWM信号を並列的にデジタル値に変換するパルス幅・デジタル変換回路を用いることで、低消費電力かつレイアウト面積が小さいアナログ・デジタル混載型の演算回路を実現することが可能となる。
(第五の実施形態)
本実施形態におけるアナログ・デジタル混載型の演算回路は、第四の実施形態におけるアナログ・デジタル混載型の演算回路を構成するパルス幅・デジタル変換回路29の終端ラッチ回路32-0〜32-(n-1)の部分を図18に示した回路に置き換えたものである。
以下では、第四の実施形態と異なる部分に関してのみ説明を行い、それ以外の部分は第四の実施形態と同様として説明を省略する。
図18において、終端ラッチ回路32-i(i∈{0,…,n-1})、ラッチ33-0〜33-(m-1)、及びインバータ34の構成は、図14と同様であるため説明は省略する。本実施形態に係るパルス幅・デジタル変換回路は、これらに加えて、更に、始端ラッチ回路35-i(i∈{0,1,…,n-1})及び減算回路36-iを備えていることを特徴としている。
始端ラッチ回路35-iは、PWM信号PWiの始端(立ち上がりエッジ)において、カウンタ31から出力される計数値CNTをラッチする。減算回路36-iは、終端ラッチ回路32-iのデジタル出力値Ei={Ei,0〜Ei,m-1}から始端ラッチ回路35-iのデジタル出力値Si={Si,0〜Si,m-1}を減算した減算値を演算して、デジタル出力値Di={Di,0〜Di,m-1}として出力する。
始端ラッチ回路35-iは、終端ラッチ回路32-iと同様に、mビットの計数値の各ビットCNT0〜CNTm-1の各々に対応してラッチ37-0〜37-(m-1)を備えている。これらのラッチ37-0〜37-(m-1)は、ラッチ33-0〜33-(m-1)と同様、図15に示した非同期リセット入力付きの同期型Dフリップ・フロップにより構成されている。
但し、始端ラッチ回路35-i内のラッチ37-0〜37-(m-1)のクロック端子clkには、インバータ34を通すことなく、PWM信号PWiが直接入力される。そのため、ラッチ37-0〜37-(m-1)は、PWM信号PWiの立ち上がりの時点におけるカウンタ31の計数値CNTをラッチする。
以上のように構成された本実施形態に係るパルス幅・デジタル変換回路について、以下その動作を説明する。
図19は本実施形態に係るパルス幅・デジタル変換回路の各信号レベルの変化を表すタイムチャートである。
クロックCLKには、第四の実施形態の場合と同様、一定の周期Tで、幅T/2のパルスが連続的に入力されている。パルス出力トリガXRSTは、時刻t1において、幅Tの反転パルスを出力する。これにより、各ラッチ33-0〜33-(m-1),37-0〜37-(m-1)の出力はリセットされ、デジタル出力データEi,Siは総て0リセットされる。
そして、パルス出力トリガXRSTの立ち上がり時点(時刻t2)から、カウンタ31は、クロックCLKの計数を開始する。カウンタ31は、クロックCLKの立ち上がりエッジにおいて、その計数値を1ずつ増加させる。
時刻t2以後の適当な時刻t3において、PWM信号PWi(i∈{0,1,…,n-1})の出力が開始される。この時刻t3におけるPWM信号PWiの立ち上がりにより、始端ラッチ回路35-iのラッチ37-j(j∈{0,1,…,m-1})は、カウンタ31の出力CNTjをラッチして、これをデータ出力端子Qからデジタル出力値Si={Si,0〜Si,m-1}として出力する。
時刻t4において、PWM信号PWiはHレベルからLレベルに反転する。これにより、インバータ34の出力NOT(PWi)のレベルはLレベルからHレベルに立ち上がる。各ラッチ33-j(j∈{0,1,…,m-1})は、このインバータ34の出力NOT(PWi)の立ち上がりエッジにおいて、データ入力端子Dに入力される計数値CNTjのレベルをラッチして、これをデータ出力端子Qからデジタル出力値Ei={Ei,0〜Ei,m-1}として出力する。
減算回路36-iは、終端ラッチ回路32-iのデジタル出力値Ei={Ei,0〜Ei,m-1}から始端ラッチ回路35-iのデジタル出力値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-iを用意せずに、デジタル出力値Si及びEiをそのまま外部に出力し、外部に用意した減算器で減算を行なってもよい。
(第六の実施形態)
第六の実施形態にかかるアナログ・デジタル混載型の演算回路の構成例600を図20に示す。
本実施形態は、第四および第五の実施形態で説明したアナログ・デジタル混載型の演算回路において、デジタル加算回路をデジタル加減算回路38で置き換え、さらにアナログ演算回路3において、正負の符号を有する乗算値Bに対して、それぞれの符号ごとに別個に乗算を行い、また乗算値Bの符号を表す符合ビット39をデジタル加減算回路38に入力し、また負の乗算値Bに対する演算結果の部分和は、デジタルメモリ26に保存されたデジタルデータとの演算において、前記デジタル加減算回路38によって、デジタルメモリ26のデジタルデータから減算を行うことが第四および第五の実施形態と異なっている。
すなわち本実施形態におけるアナログ演算回路3における乗算は、乗算値Bの正負の符号に関して、正の符号の乗算と、負の符号の乗算をそれぞれ別個に行う。
以下では、第四および第五の実施形態と異なる部分についてのみ説明を行い、それ以外の部分に関しては第四および第五の実施形態と同様として説明を省略する。
以下の演算式(13)で表される演算を図20のアナログ・デジタル混載型の演算回路600で行う場合、4つのアナログ演算回路3では、演算式(14)(15)(16)(17)で表されるように、乗算値Bの符号に関して正負別々の演算を行う。
Figure 2005122467
(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)
なおこの際、第一及び第二の実施形態と同様に、トータルの演算個数(前記ケースでは16)が、アナログ演算回路数(4個)の倍数となっていなくても、乗算値B=0に相当するアナログ電圧Vwを入力することで、演算個数を調整することができる。
続いて、第四、第五の実施形態と同様に演算式(14)〜(17)で表される部分和をアナログ演算回路3によって算出する。なおこの際には、それぞれの部分和は、乗算値Bの正負の符号を考慮しない絶対値として算出される。
次に、算出された演算式(14)〜(17)で表される部分和をA/D変換回路500によりデジタルデータに変換し、変換されたデジタルデータは、デジタル加減算回路38に入力される。またこの際、乗算値Bの符号を表す符合ビット39もデジタル加減算回路38に入力される。
続いて、デジタル加減算回路38では、入力された部分和のデジタルデータの符号ビットが1(乗算値Bが正)の時には、第四および第五の実施形態の場合と同様に、デジタルメモリ26に保持されたデジタルデータに対して、入力された部分和のデジタルデータを加算する。
一方、入力された部分和のデジタルデータの符号ビットが0(乗算値Bが負)の時には、デジタルメモリ26に保持されたデジタルデータから、入力された部分和のデジタルデータを減算する。
以上説明したように、デジタルメモリに保持されたデジタルデータと部分和のデジタルデータとを符号ビットに応じて加算または減算することにより所望の累算値を算出する。なお第五の実施形態と同様に前記累算値に対してさらに所望の演算処理を行なうことも可能である。すなわち、例えば、前記デジタルメモリの後段に非線形変換回路を接続して、前記累算値を非線形変換した値を出力するものであってもよい。この場合、非線形変換回路はルックアップテーブル回路等により実現することができる。
このように、本実施形態で説明したアナログ・デジタル混載型の演算回路は、算出された累算値に対して任意の演算処理を行なうことが可能である。また前記非線形変換回路はデジタル加減算回路の後段に接続しても構わない。この場合、非線形変換回路はルックアップテーブル回路等により実現することができる。
すなわち、デジタル加減算回路において算出された累算値をルックアップテーブル回路に入力し、ルックアップテーブル回路によって非線形変換した後にデジタルメモリに保持する。
この場合は、デジタル加算回路において算出された所望の演算値(最終的に算出される累算値、すなわち演算式(13)で示される値)に対してのみ非線形変換を行い、演算処理途中で算出される累算値に対しては非線形変換を行なわないものであっても良い。また、前記累算値を非線形変換できる構成であれば、その他どのような構成であっても構わない。
続いて図21のフローチャートを用いて、以上の演算処理フローの説明を行なう。なお、説明に際しては各処理工程を実行する演算回路についても言及する。
図21において、まずデジタル信号Aiの入力工程S1を実行し、次にそれぞれのデジタル・パルス幅変換回路において、デジタル信号をPWM信号に変換する工程S5を実行する。次にデジタル信号Bi(電圧Vw)の入力工程S6を実行し、次にD/A変換回路において、デジタル信号をアナログ信号に変換するD/A変換工程S7を実行する。続いて、それぞれのアナログ演算回路において、工程S5,S7からの出力であるPWM信号とアナログ電圧Vwを乗算する工程S3を実行する。
次に、それぞれのアナログ演算回路において並列に算出された乗算値をキャパシタにおいて電荷量として蓄積し、部分和Σ(Ai×Bi)として保持する工程S4を実行する。次に、部分和Σ(Ai×Bi)に相当する前記電荷量(電圧値)をA/D変換回路によりA/D変換し、デジタル値とする工程S9を実行する。次にデジタル加減算回路において、デジタル加減算回路に対してBiの正負の符号を表す符号ビットを入力する工程S13を実行して入力された符号ビットの値に応じて、前記部分和に相当するデジタル値を演算処理する工程S12を実行する。
すなわち、符号ビットが1(Biが正)の場合には、前記部分和に相当するデジタル値と、工程S11により出力された、既にデジタルメモリに保持されている累算値(演算途中での累算値に相当)とをデジタル加減算回路によって加算し、新たな累算値として算出する。
また、符号ビットが0(Biが負)の場合には、前記部分和に相当するデジタル値を、工程S11により出力された既にデジタルメモリに保持されている累算値(演算途中での累算値に相当)からデジタル加減算回路によって減算し、新たな累算値として算出する。
最後に、以上のように算出した累算値をデジタルメモリに再書き込みして保持する工程S11を実行する。この場合、累算値はデジタルメモリ中の該当部(前記演算途中での累算値が保持されていた部位)に対して上書きされる。
以上説明した演算フローを累算値を算出するために必要な回数(本実施形態では4回)繰り返すことにより、所望の累算値が算出される。
以上の様に、乗算値Bの正負の符号に対応して、それぞれ別個にアナログ演算回路3によって部分和を算出し、さらに正負の符号に対応して、デジタルメモリ26に保持されているデジタルデータとの加減算を行うことにより、以下の演算式(18)で示される通り、正負の符号を含む乗算結果の累算値を算出することが可能となる。
Figure 2005122467
(18)
またさらに上記演算において、以下の演算式(19)で示されるように、乗算値Bの正負の符号に対応する演算処理工程を正負交互に行う場合、正負の部分和が互いに相殺し合う為、デジタルメモリ26における線形加算精度の範囲(累算値のレンジ)が狭まり、デジタルメモリ26のビット長を少なくすることが可能となる。
Figure 2005122467
(19)
例えば、演算式(14)〜(17)で表される部分和がそれぞれ順に、(85、53、60、71)である場合に、同一の符号を連続して加減算したとすると、演算の途中経過でデジタルメモリ26に保存される値は、以下のようになる。
1回目の演算による保存値=85
2回目の演算による保存値=85+53=138
3回目の演算による保存値=138−60=78
4回目の演算による保存値=78−71=7
従って、この場合の部分和を加減算していく途中経過での最大値は138となるため、デジタルメモリ26のビット長は8ビット必要となる。
これに対して、正負の符号に対応する演算を正負交互に行う場合に、演算の途中経過でデジタルメモリ26に保存される値は、以下の通りとなる。
1回目の演算による保存値=85
2回目の演算による保存値=85−60=25
3回目の演算による保存値=25+53=78
4回目の演算による保存値=78−71=7
従って、この場合の部分和を加減算していく途中経過での最大値は85となるため、デジタルメモリ26に必要なビット長は7ビットとなり、前記の例よりも少ないビット長で済むことが分かる。
(第七の実施形態)
第七の実施形態におけるニューラルネットワーク回路の構成例を図22に示す。図22に示すように、本実施形態におけるニューラルネットワーク回路700は、第六の実施形態で説明したアナログ・デジタル混載型の演算回路と、デジタル・パルス幅変換回路を含むことを特徴としている。
なお第六の実施形態で説明した非線形変換を行なうために、デジタル加減算回路の後段に、ルックアップテーブル回路が接続されている。
また、本実施形態で実現するニューラルネットワークモデルの構成図800を図23に示し、各ニューロンの特性を図24に示す。
以下では、まず図23と図24を用いて本実施形態におけるニューラルネットワークのモデルについて説明した後、図22を用いて本実施形態におけるニューラルネットワーク回路700について説明する。
図23に示すように、本実施形態におけるニューラルネットワークは、複数のニューロン40が階層構造を成し、かつ異なる階層間のニューロンが互いにシナプス41を介して結合している。
なお、ニューラルネットワークの構成には、本実施形態の他にニューロンがアレイ状に配置されたものなどがあり、またニューロン間の結合にも、2つのニューロン間で相互に結合を有するものなどがある。本発明におけるニューラルネットワークは、その構成や結合手法によって限定されるものではなく、本実施形態で示す階層構造以外の構造および結合手法を有するものであっても構わない。
続いて、各ニューロン40における演算処理を図23を用いて説明する。各ニューロン40は、前段に接続する複数のニューロンの出力値をシナプス荷重で重み付けした後、入力として受け取る。ニューロン内部では、入力された値の総和値を算出し、これに所定の変換を施して出力値とする。ここで各ニューロンにおける演算処理は、次式(20)で表される。
y=f(Σω・x) (20)
y:出力値、f:変換関数、ωシナプス荷重、x:前段ニューロンの出力値
なお変換関数としては、様々なモデルが提案されているが、本実施形態では、次式(21)で表される一般的なシグモイド関数を適用している。シグモイド関数の特性を図24にグラフで示す。
f(u)={1+exp(−au)}-1 (21)
a:シグモイド関数の傾きを決定するパラメータ
なお、本発明におけるニューラルネットワークは、ニューロンにおける変換手法によって限定されるものではなく、本実施形態で示すシグモイド関数以外の変換関数を適用したものであっても構わない。
続いて、図22を用いて本実施形態におけるニューラルネットワーク回路を説明する。図22を見ると分かるように、本実施形態におけるニューラルネットワーク回路は、第六の実施形態で説明したアナログ・デジタル混載型の演算回路を階層的に構成したものを含んでいる。
なお前述したように、本実施形態における演算回路においては、加減算回路の後段にルックアップテーブル回路が接続されている。すなわち、デジタル加減算回路において算出された所望の累算結果は、ルックアップテーブル回路によって、シグモイド関数変換を施された後に、デジタルメモリ回路に保持される。なお、ルックアップテーブル回路によってシグモイド関数変換を行なうのは、最終的に算出された所望の演算結果に対してのみであり、累算中の途中経過のデータに対しては行なわれない。
従って、図22においては、デジタル加減算回路からの出力がルックアップテーブル回路に入力されるものと、デジタルメモリに直接入力されるものの2系統が描写してある。
またさらに、本実施形態で説明するアナログ・デジタル混載型の演算回路では、階層的な演算処理を行うために、ある階層のアナログ・デジタル混載型の演算回路により算出された演算結果を次の階層のアナログ・デジタル混載型の演算回路の入力としている。この際には、デジタル・パルス幅変換回路により、デジタルメモリに保持された演算結果をPWM信号として読み出している。PWM信号の生成過程は、第一及び第二の実施形態で説明した通りである。
なお、各階層におけるアナログ・デジタル混載型の演算回路における演算処理過程は、第六の実施形態と同様である。また、図22では省略しているが、アナログ演算回路に対して乗算値Bに相当するアナログ電圧Vwが入力されている。アナログ電圧Vwの入力工程は、第六の実施形態と同様である。
なお、本実施形態のアナログ・デジタル混載型の演算回路の演算処理過程において、キャパシタに保持される部分和は、各ニューロンにおける、前段ニューロンとの結合の一部に関する入力値の総和値を示しており、また最終的にデジタルメモリに保持される累算値が、各ニューロンにおける、結合する前段ニューロン全ての入力値の累算値を示している。なお、図24に示す非線形変換は、前述したように非線形変換回路(ルックアップテーブル回路)において実現されている。
ここで図25は、以上で説明した演算処理フローを示している。図中の一点鎖線は、演算処理における前段層と後段層の境界を示している。
まず、算出した前段層の所望の累算値をシグモイド変換S20した後に一旦デジタルメモリにデジタル値として保持S11し、さらにデジタル・パルス幅変換回路によってPWM信号に変換する工程S5を実行する。本実施形態においては、所望の累算値を算出した後に1回だけ、ルックアップテーブル回路により、シグモイド変換工程S20を実行する。なお前段層におけるシグモイド変換工程S20以外の処理工程は、第六の実施形態における演算処理と同様である。
続いて、前記PWM信号を、入力信号Aiとして後段層に入力する。後段層において行なわれる演算処理は、前段層での演算処理と同じく、シグモイド変換工程S20による処理工程を除いて第六の実施形態で説明した演算処理と同様である。第六の実施形態と同様の演算処理フローの説明は省略する。また、図25においては複数のその他のAiの入力工程を省略して点線矢印S14で描写している。
以上の様にデジタルメモリに保持された、各ニューロンにおける累算値をデジタル・パルス幅変換回路によってPWM信号として読み出し、次の階層のニューロンに対する出力とすることで、図23に示したニューラルネットワークのモデルを実現することができる。なお本実施形態におけるニューロン素子数及び階層数は、本発明におけるニューラルネットワークの構成を限定するものではなく、必要に応じて任意の数に設定することが可能である。
(第八の実施形態)
第八の実施形態における画像信号処理回路の構成例を図26に示す。図26に示すように、本実施形態における画像信号処理回路は、第七の実施形態で説明したニューラルネットワーク回路を含むことを特徴としている。なお図26では、第五の実施形態で説明した階層構造の初段のみを示しており、それ以降の階層の記述を省略している。
また、ニューラルネットワーク回路中のアナログ・デジタル混載型の演算回路数が、第七の実施形態で説明した図22のニューラルネットワーク回路とは異なっているが、それぞれのアナログ・デジタル混載型の演算回路における演算動作自体は、第七の実施形態と同様である。
また図26では、ルックアップテーブル回路とデジタルメモリとデジタル・パルス幅変換回路を一体のものとして描写しているが、これは単に紙面上の都合であり、実際の構成及び演算処理に関しては、第七の実施形態と全く同様である。
ここで、ニューラルネットワーク回路中のアナログ演算回路に対して、PWM信号として入力される信号は、二次元信号である画像信号である。すなわち、本実施形態における画像信号処理回路は、入力された画像信号に対して、ニューラルネットワーク回路により所定の演算を行うことにより、所望の画像処理(例えばパターン検出およびパターン認識)を行うことを目的とするものである。
なお、実際に実現される画像処理の内容は、ニューラルネットワーク回路の回路パラメータ等を適当に調整することで、所望の処理内容(例えばパターン検出およびパターン認識)が実現されるよう設定することが可能であるが、その詳しい調整方法は、本発明の主眼とするところではないので、説明を省略する。
ここで本実施形態においては、前記画像信号は、撮像素子43(例えばCCDまたはCMOSイメージセンサなど)から出力される、各画素に対応する信号強度をパルスの時間幅に変換したPWM信号として入力している。
なお、撮像素子からの出力信号がアナログ信号であり、その信号をPWM信号に変換する際には、図26に示すように、コンパレータ42に入力したランプ電圧波形と、撮像素子から読み出された電圧値とをコンパレータ42により比較し、ランプ電圧波形のスタート時にHighレベルに立ち上がった出力が、ランプ電圧値とキャパシタの電圧値が等しくなった時点でLowレベルに立ち下がることでPWM信号に変換される。
また、撮像素子43からの出力信号がデジタル信号であり、その信号をPWM信号に変換する際には、第一及び第二の実施形態で説明したように、デジタル・パルス幅変換回路によってPWM信号に変換する。なお、撮像素子としてCCDまたはCMOSイメージセンサを想定しているが、画像を二次元信号として取り込むものであれば、その他の撮像素子を用いても問題は無い。
続いて、ニューラルネットワーク回路に対する画像信号の入力方法について説明する。
ニューラルネットワーク回路においては、第六の実施形態で説明したように、各アナログ・デジタル混載型の演算回路a、bにおいて、所定の複数の入力信号に対して重み付け演算を行い、その累算値を算出して、対応するニューロンの内部状態値とし、さらに非線形変換を行なう。
この時、本実施形態における画像処理回路では、一点鎖線で囲んだ各アナログ・デジタル混載型の演算回路a、bが処理対象とする複数の入力信号は、二次元的にアレイされた撮像素子43の一部の領域に対応させている。
すなわち、図26に示すように、各アナログ・デジタル混載型の演算回路a、bにおいて、非線形変換と重み付け演算を行い、さらにその累算値を算出する対象となる画像信号を出力する領域は、破線で囲まれた領域A、Bで示される。ここで、撮像素子43からの画像信号出力は、1列ごとに出力される。
それに対して、ニューラルネットワーク回路におけるアナログ演算回路による演算は、第一〜第七の実施形態で説明したように、前記1列分の画像信号出力に対する演算を並列に行うことが可能である。
従って、前記の撮像素子43からの1列分の出力信号に対する、ニューラルネットワーク回路による演算結果は、第一〜七の実施形態で説明したように、各ニューロンの内部状態値に対する部分和に相当する。
そして、前記の演算処理を領域A、Bの列数回(本実施形態では4回)繰り返すことにより、最終的に各ニューロンの内部状態値に相当する累算値を算出することができる。
続いて図27は、以上で説明した演算処理フローを示している。
まず撮像素子から出力された1列分の画像信号を入力する工程S15を実行し、次にコンパレータ等の回路により、入力された前記画像信号をPWM信号に変換する工程S16を実行する。続いて、前記PWM信号をAiに相当するPWM信号として乗算工程S3(図中の上側)に入力する。
そしてこれ以降の演算処理フローは、第七の実施形態と同様であり、ニューラルネットワーク回路として所定の階層数の演算処理を行うところのみが異なっている(図27において、点線枠で囲まれた部分S100が第七の実施形態と同様の演算処理フローを示している)。第七の実施形態と同様の演算処理フローに関する説明は省略し、また所定の階層数の演算処理は、前記演算処理フローを所定回数繰り返すものとして説明を省略する。
以上説明したように、ニューラルネットワーク回路による演算処理を演算対象領域の列数回だけ繰り返すことにより、所望の演算処理(例えばパターン検出およびパターン認識など)を達成することができる。
また、上記説明では、撮像素子からの画像信号出力が1列ごとに行われるとしたが、撮像素子からの信号出力が1行ごとに行われる場合も、ニューラルネットワーク回路における演算を出力信号1行ごとに並列に行うことで、上記説明と同様な処理を行うことが可能である。
以上説明したように、1列毎または1行毎に出力される画像信号に対して、本実施形態におけるニューラルネットワーク回路による演算を適用し、ニューロンの内部状態値を1列毎または1行毎に部分和として演算していき、そしてその部分和の累算値として最終的な内部状態値を算出し、さらにそれを非線形変換することで、所望の演算処理を実現することが可能となる。
第一の実施形態にかかる演算回路の全体構成を示す図である。 第一の実施形態にかかる演算回路を構成するアナログ演算回路とキャパシタとを示す図である。 第一の実施形態にかかる演算回路を構成するアナログ演算回路を示す図である。 第一の実施形態にかかる演算回路を構成するデジタル・パルス幅変換回路を示す図である。 第一の実施形態にかかる各パルス生成回路を示す図である。 第一の実施形態にかかるデジタル・パルス幅変換回路の動作を表すタイミングチャートである。 第一の実施形態にかかる演算回路の演算処理フローチャートを示す図である。 第三の実施形態にかかる演算回路の全体構成を示す図である。 第三の実施形態にかかるD/A変換回路を示す図である。 第三の実施形態にかかる演算回路の演算処理フローチャートを示す図である。 第四の実施形態にかかる演算回路の全体構成を示す図である。 第四の実施形態にかかるA/D変換回路を示す図である。 第四の実施形態にかかるパルス幅・デジタル変換回路を示す図である。 第四の実施形態にかかる終端ラッチ回路の内部構成を示す図である。 第四の実施形態にかかるラッチ回路の内部構成を示す図である。 第四の実施形態にかかるパルス幅・デジタル変換回路の各信号レベルの変化を表すタイムチャートである。 第四の実施形態にかかる演算回路の演算処理フローチャートを示す図である。 第五の実施形態にかかるパルス幅・デジタル変換回路の終端ラッチ回路、始端ラッチ回路、及び減算回路を示す図である。 第五の実施形態にかかるパルス幅・デジタル変換回路の各信号レベルの変化を表すタイムチャートである。 第六の実施形態にかかる演算回路の全体構成を示す図である。 第六の実施形態にかかる演算回路の演算処理フローチャートである。 ニューラルネットワーク回路の構成を示す図である。 ニューラルネットワークモデルの構成を示す図である。 ニューロンの特性を示す図である。 第七の実施形態にかかる演算回路の演算処理フローチャートを示す図である。 ニューラルネットワーク回路を備える画像信号処理回路の構成を示す図である。 第八の実施形態にかかる演算回路の演算処理フローチャートである。 従来のデジタル・パルス幅変換回路の一例を示す図である。 従来のパルス幅・デジタル変換回路の一例を示す図である。 第二の実施形態にかかる演算回路を構成するデジタル・パルス幅変換回路を示す図である。 第二の実施形態にかかる各パルス生成回路を示す図である。 第二の実施形態にかかるデジタル・パルス幅変換回路の動作を表すタイミングチャートである。
符号の説明
1 デジタルメモリ
2 デジタル・パルス幅変換回路
3 アナログ演算回路
4 キャパシタ
5 PWM信号
6 アナログ電圧Vw
7 入力端子
8 入力端子
10-0〜10-(n-1) パルス生成回路
11 カウンタ
12 基準値レジスタ
13 加算回路
14 パルス幅レジスタ
15 切替回路
16 タイミングトリガ発生回路
17 出力パルス反転回路
18-0〜16-(m-1) EXORゲート
19 NORゲート
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) EXORゲート
67 NORゲート
M1 PMOSトランジスタ
100 第一の実施形態にかかる演算回路
200 第二の実施形態にかかる演算回路
300 D/A変換回路
400 第三の実施形態にかかる演算回路
500 A/D変換回路
600 第五の実施形態にかかる演算回路
700 ニューラルネットワーク回路
800 ニューラルネットワークモデル
900 画像信号処理回路
101 ストローブ検出回路
102 ラッチ回路
103 カウンタ
104 デジタル・コンパレータ
105 JKフリップ・フロップ
111 従来のパルス幅・デジタル変換回路
112 ゲート回路
113 カウンタ

Claims (20)

  1. 並列演算処理された演算結果の累算値を算出する演算回路であって、
    アナログ信号で表される情報を演算処理する複数のアナログ演算回路と、
    前記複数のアナログ演算回路による演算結果の総和値を電荷量として蓄積するキャパシタと、
    前記キャパシタに蓄積された電荷量を対応するパルス幅を持つパルス信号に変換するコンパレータと、
    前記パルス信号をデジタル信号に変換するパルス幅・デジタル変換回路と、
    変換された前記デジタル信号に基づいて累算値を算出するデジタル演算回路とを備え、
    前記パルス幅・デジタル変換回路が、
    クロックを計数してその計数値をデジタル信号として出力するカウンタと、
    それぞれに入力される各パルス信号の終端において前記カウンタが出力する共通の計数値をラッチする複数の終端ラッチ回路とを有することを特徴とする演算回路。
  2. 前記パルス幅・デジタル変換回路が、
    前記パルス信号の始端において前記カウンタが出力する計数値をラッチする始端ラッチ回路と、
    前記終端ラッチ回路のデジタル出力値と前記始端ラッチ回路のデジタル出力値との差を演算して出力する減算回路と
    を、前記複数の終端ラッチ回路の各々に対応して備えていることを特徴とする請求項1に記載の演算回路。
  3. 前記デジタル演算回路が、前記アナログ演算回路による演算結果の正負に関する情報に基づいて、前記変換されたデジタル信号の加算処理と減算処理とを切り替えて実行し、該デジタル信号の累算値を算出することを特徴とする請求項1に記載の演算回路。
  4. 前記キャパシタには、前記複数のアナログ演算回路が並列に接続されていることを特徴とする請求項1〜3に記載の演算回路。
  5. 前記キャパシタには、入力されるアナログ信号に基づいて、前記算出される累算値の部分和に相当する電荷量が蓄えられることを特徴とする請求項1〜4に記載の演算回路。
  6. 前記デジタル演算回路は、前記複数のアナログ演算回路における演算処理が完了するごとに、処理を実行することを特徴とする請求項1〜5に記載の演算回路。
  7. 前記アナログ演算回路は、前記アナログ信号に対して所定の荷重値を乗算することを特徴とする請求項1〜6に記載の演算回路。
  8. 前記アナログ演算回路は、前記アナログ信号に対して所定の非線形変換を行うことを特徴とする請求項1〜6に記載の演算回路。
  9. 前記アナログ演算回路は、前記非線形変換の出力値に対して、所定の荷重値を乗算することを特徴とする請求項8に記載の演算回路。
  10. 前記アナログ信号に基づいて算出される累算値は、該アナログ信号を入力値とするニューラルネットワークを構成するニューロンの内部状態値と等価であることを特徴とする請求項1〜9に記載の演算回路。
  11. 前記キャパシタに蓄えられる電荷量は、前記アナログ信号を入力値とするニューラルネットワークを構成するニューロンの内部状態値に対する部分和と等価であることを特徴とする請求項1〜10に記載の演算回路。
  12. 前記アナログ信号は画像信号であり、前記アナログ演算回路は該画像信号について1行ごとに演算処理することを特徴とする請求項1〜11に記載の演算回路。
  13. デジタルデータを保持するメモリを更に備え、
    前記デジタル演算回路は、前記メモリに保持されたデジタルデータと、前記変換されたデジタル信号とを加算し、前記メモリは該加算結果を保持することで、前記累算値を算出することを特徴とする請求項1〜12に記載の演算回路。
  14. デジタルデータを保持するメモリを更に備え、
    前記アナログ演算回路による演算結果が正の場合、前記デジタル演算回路は、前記メモリに保持されたデジタルデータと、前記変換されたデジタル信号とを加算し、前記メモリは該加算結果を保持し、
    前記アナログ演算回路による演算結果が負の場合、前記デジタル演算回路は、前記メモリに保持されたデジタルデータから、前記変換されたデジタル信号を減算し、前記メモリは該減算結果を保持することで、前記累算値を算出することを特徴とする請求項1〜13に記載の演算回路。
  15. 前記デジタル演算回路では、加算処理と減算処理とが交互に実行されることを特徴とする請求項3に記載の演算回路。
  16. クロックを計数してその計数値をデジタル信号として出力する第2のカウンタと、
    それぞれに外部からデジタル値として入力される各入力値と前記カウンタが出力する共通の計数値とを比較して、所定の時点から前記入力値と前記計数値とが一致する時点までの時間幅の出力パルス信号、又は所定の最大計数値から前記入力値を引いた値と前記計数値とが一致する時点から前記計数値が前記最大計数値に達する時点までの時間幅の出力パルス信号を生成する複数のパルス生成手段と
    を備えるデジタル・パルス幅変換回路を有することを特徴とする請求項1〜15に記載の演算回路。
  17. 前記複数のパルス生成手段の各々は、
    外部から入力される前記入力値をラッチするパルス幅レジスタと、
    前記パルス幅レジスタがラッチした前記入力値の各ビットと、前記カウンタが出力する計数値の各ビットとを比較して、両者が完全に一致したときにトリガを発生するタイミングトリガ発生回路と、
    前記タイミングトリガ発生回路がトリガを発生したときに、前記出力パルス信号の真理値を反転させる出力パルス反転回路と、
    を備えていることを特徴とする請求項16に記載の演算回路。
  18. 前記複数のパルス生成手段の各々は、
    前記出力パルスの立ち上がりのタイミングを表すデジタル値である基準値をラッチする基準値レジスタと、
    前記基準値と外部から入力されるデジタル値である前記入力値との加算値を出力する加算回路と、
    前記加算回路の出力値をラッチするパルス幅レジスタと、
    前記基準値レジスタがラッチしたデジタル値又は前記パルス幅レジスタがラッチしたデジタル値の何れか一方を切り換えて出力する切換回路と、
    前記切換回路から出力されるデジタル値の各ビットと、前記カウンタが出力する計数値の各ビットとを比較して、両者が完全に一致したときにトリガを発生するタイミングトリガ発生回路と、
    前記タイミングトリガ発生回路がトリガを発生したときに、前記出力パルス信号の真理値を反転させる出力パルス反転回路と
    を備え、
    前記切換回路は、前記出力パルス反転回路が出力する出力パルスが偽値のときは、前記基準値レジスタがラッチしたデジタル値を出力し、前記出力パルス反転回路が出力する出力パルスが真値のときは、前記パルス幅レジスタがラッチしたデジタル値を出力するように切り換えを行うことを特徴とする請求項16に記載の演算回路。
  19. 前記デジタル・パルス幅変換回路からの出力パルス信号により制御される電流源回路と、
    第2のキャパシタと
    を備えることを特徴とする請求項16〜18に記載の演算回路。
  20. 並列演算処理された演算結果の累算値を算出する演算回路の動作制御方法であって、
    アナログ信号で表される情報を複数のアナログ演算回路により演算処理するアナログ演算工程と、
    前記アナログ演算工程による演算結果の総和値を電荷量としてキャパシタに蓄積する蓄積工程と、
    前記キャパシタに蓄積された電荷量を対応するパルス幅を持つパルス信号に変換する電圧パルス変換工程と、
    前記パルス信号をデジタル信号に変換するパルス幅・デジタル変換工程と、
    変換された前記デジタル信号に基づいて累算値を算出する加算工程とを備え、
    前記パルス幅・デジタル変換工程が、
    カウンタによりクロックを計数してその計数値をデジタル信号として出力する工程と、
    複数の終端ラッチ回路により、それぞれに入力される各パルス信号の終端において前記カウンタが出力する共通の計数値をラッチする工程とを有することを特徴とする演算回路の動作制御方法。









JP2003356627A 2003-10-16 2003-10-16 演算回路およびその動作制御方法 Expired - Fee Related JP4272967B2 (ja)

Priority Applications (7)

Application Number Priority Date Filing Date Title
JP2003356627A JP4272967B2 (ja) 2003-10-16 2003-10-16 演算回路およびその動作制御方法
CN200480030265A CN100578440C (zh) 2003-10-16 2004-10-14 运算电路及其运算控制方法
PCT/JP2004/015540 WO2005038645A2 (en) 2003-10-16 2004-10-14 Operation circuit and operation control method thereof
EP04773802A EP1676197B1 (en) 2003-10-16 2004-10-14 Operation circuit and operation control method thereof
AT04773802T ATE542176T1 (de) 2003-10-16 2004-10-14 Betriebsschaltung und betriebssteuerverfahren dafür
US11/036,001 US7120617B2 (en) 2003-10-16 2005-01-18 Operation circuit and operation control method thereof
US11/434,779 US7272585B2 (en) 2003-10-16 2006-05-17 Operation circuit and operation control method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003356627A JP4272967B2 (ja) 2003-10-16 2003-10-16 演算回路およびその動作制御方法

Publications (2)

Publication Number Publication Date
JP2005122467A true JP2005122467A (ja) 2005-05-12
JP4272967B2 JP4272967B2 (ja) 2009-06-03

Family

ID=34613815

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003356627A Expired - Fee Related JP4272967B2 (ja) 2003-10-16 2003-10-16 演算回路およびその動作制御方法

Country Status (2)

Country Link
JP (1) JP4272967B2 (ja)
CN (1) CN100578440C (ja)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9851942B2 (en) 2016-03-10 2017-12-26 Semiconductor Energy Laboratory Co., Ltd. Semiconductor device
US10222848B2 (en) 2014-03-14 2019-03-05 Semiconductor Energy Laboratory Co., Ltd. Analog arithmetic circuit, semiconductor device, and electronic device
CN110192207A (zh) * 2017-01-20 2019-08-30 国际商业机器公司 用于在硬件人工神经网络中神经元值无同步传输的系统,方法和制品
CN110401450A (zh) * 2018-04-25 2019-11-01 株式会社电装 神经网络电路
CN112148669A (zh) * 2020-10-01 2020-12-29 北京知存科技有限公司 脉冲存算一体芯片以及电子设备
CN112654996A (zh) * 2018-09-27 2021-04-13 Tdk株式会社 积和运算器、神经形态器件以及积和运算方法
JP7005827B1 (ja) 2021-01-18 2022-02-14 株式会社ソリトンシステムズ ニューロン素子、adコンバータ及びニューラルネットワーク
JP2022517810A (ja) * 2019-01-18 2022-03-10 シリコン ストーリッジ テクノロージー インコーポレイテッド 深層学習人工ニューラルネットワークにおけるアナログニューラルメモリ用の電力管理
JP2022111031A (ja) * 2021-01-18 2022-07-29 株式会社ソリトンシステムズ ニューロン素子、差動型ニューロン素子、adコンバータ及びニューラルネットワーク
JP2022177841A (ja) * 2021-01-18 2022-12-01 株式会社ソリトンシステムズ 差動型ニューロン素子
JP7398552B2 (ja) 2019-08-26 2023-12-14 インターナショナル・ビジネス・マシーンズ・コーポレーション アナログ-デジタル変換に先立つ初期統合をもたらすニューラル・ネットワーク回路

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8606732B2 (en) * 2010-08-04 2013-12-10 Qualcomm Incorporated Methods and systems for reward-modulated spike-timing-dependent-plasticity
CN102957424B (zh) * 2011-08-22 2016-08-24 上海华虹集成电路有限责任公司 用于ISO14443 TypeA协议的凹槽信号恢复电路
US11475269B2 (en) * 2015-12-15 2022-10-18 Analog Devices, Inc. Convolutional neural network
CN108446098B (zh) * 2016-01-04 2022-03-18 湖南工业大学 求两个输入电压间比例值的方法
WO2018069785A1 (en) * 2016-10-12 2018-04-19 Semiconductor Energy Laboratory Co., Ltd. Semiconductor device and system using the same
JP6782193B2 (ja) * 2017-05-23 2020-11-11 株式会社東芝 情報処理装置、半導体装置および情報処理方法
US10635398B2 (en) * 2018-03-15 2020-04-28 Macronix International Co., Ltd. Voltage sensing type of matrix multiplication method for neuromorphic computing system
WO2020013103A1 (ja) * 2018-07-12 2020-01-16 ソニー株式会社 積和演算装置及び積和演算方法
TWI799588B (zh) * 2018-07-13 2023-04-21 日商索尼股份有限公司 積和運算裝置、積和運算電路、積和運算系統及積和運算方法
TWI715068B (zh) * 2018-07-17 2021-01-01 日商索尼股份有限公司 運算裝置、積和運算裝置、積和運算電路及積和運算系統
JP6540931B1 (ja) * 2018-10-11 2019-07-10 Tdk株式会社 積和演算器、論理演算デバイス、ニューロモーフィックデバイス及び積和演算方法
CN112955955B (zh) * 2018-10-24 2023-01-31 宁波飞芯电子科技有限公司 计数方法、计数装置以及应用其的计数系统和像素阵列
WO2020095407A1 (ja) * 2018-11-08 2020-05-14 Tdk株式会社 積和演算器、積和演算方法、論理演算デバイスおよびニューロモーフィックデバイス
JP2020126426A (ja) * 2019-02-04 2020-08-20 ソニー株式会社 演算装置、及び積和演算システム

Cited By (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10222848B2 (en) 2014-03-14 2019-03-05 Semiconductor Energy Laboratory Co., Ltd. Analog arithmetic circuit, semiconductor device, and electronic device
US11137813B2 (en) 2014-03-14 2021-10-05 Semiconductor Energy Laboratory Co., Ltd. Analog arithmetic circuit, semiconductor device, and electronic device
US9851942B2 (en) 2016-03-10 2017-12-26 Semiconductor Energy Laboratory Co., Ltd. Semiconductor device
US10114611B2 (en) 2016-03-10 2018-10-30 Semiconductor Energy Laboratory Co., Ltd. Semiconductor device
CN110192207B (zh) * 2017-01-20 2023-10-24 国际商业机器公司 一种在硬件人工神经网络中实施的系统和方法
JP2020507842A (ja) * 2017-01-20 2020-03-12 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation ハードウェア人工ニューラル・ネットワークにおけるニューロン値の非同期伝達のためのシステムおよび方法
CN110192207A (zh) * 2017-01-20 2019-08-30 国际商业机器公司 用于在硬件人工神经网络中神经元值无同步传输的系统,方法和制品
US11580373B2 (en) 2017-01-20 2023-02-14 International Business Machines Corporation System, method and article of manufacture for synchronization-free transmittal of neuron values in a hardware artificial neural networks
JP7263241B2 (ja) 2017-01-20 2023-04-24 インターナショナル・ビジネス・マシーンズ・コーポレーション ハードウェア人工ニューラル・ネットワークにおけるニューロン値の非同期伝達のためのシステムおよび方法
CN110401450A (zh) * 2018-04-25 2019-11-01 株式会社电装 神经网络电路
CN112654996A (zh) * 2018-09-27 2021-04-13 Tdk株式会社 积和运算器、神经形态器件以及积和运算方法
JP2022517810A (ja) * 2019-01-18 2022-03-10 シリコン ストーリッジ テクノロージー インコーポレイテッド 深層学習人工ニューラルネットワークにおけるアナログニューラルメモリ用の電力管理
JP2022523291A (ja) * 2019-01-18 2022-04-22 シリコン ストーリッジ テクノロージー インコーポレイテッド 深層学習人工ニューラルネットワーク内のアナログニューラルメモリにおいてニューロン電流をニューロン電流ベースの時間パルスに変換するためのシステム
JP7346579B2 (ja) 2019-01-18 2023-09-19 シリコン ストーリッジ テクノロージー インコーポレイテッド 深層学習人工ニューラルネットワーク内のアナログニューラルメモリにおいてニューロン電流をニューロン電流ベースの時間パルスに変換するためのシステム
JP7340612B2 (ja) 2019-01-18 2023-09-07 シリコン ストーリッジ テクノロージー インコーポレイテッド 深層学習人工ニューラルネットワークにおけるアナログニューラルメモリ用の電力管理
US11500442B2 (en) 2019-01-18 2022-11-15 Silicon Storage Technology, Inc. System for converting neuron current into neuron current-based time pulses in an analog neural memory in a deep learning artificial neural network
JP7398552B2 (ja) 2019-08-26 2023-12-14 インターナショナル・ビジネス・マシーンズ・コーポレーション アナログ-デジタル変換に先立つ初期統合をもたらすニューラル・ネットワーク回路
CN112148669A (zh) * 2020-10-01 2020-12-29 北京知存科技有限公司 脉冲存算一体芯片以及电子设备
JP2022177841A (ja) * 2021-01-18 2022-12-01 株式会社ソリトンシステムズ 差動型ニューロン素子
JP7240077B2 (ja) 2021-01-18 2023-03-15 株式会社ソリトンシステムズ 差動型ニューロン素子、adコンバータ及びニューラルネットワークシステム
JP7170109B2 (ja) 2021-01-18 2022-11-11 株式会社ソリトンシステムズ ニューロン素子、adコンバータ及びニューラルネットワークシステム
JP2022111031A (ja) * 2021-01-18 2022-07-29 株式会社ソリトンシステムズ ニューロン素子、差動型ニューロン素子、adコンバータ及びニューラルネットワーク
JP2022110564A (ja) * 2021-01-18 2022-07-29 株式会社ソリトンシステムズ ニューロン素子、adコンバータ及びニューラルネットワーク
WO2022153882A1 (ja) * 2021-01-18 2022-07-21 株式会社ソリトンシステムズ ニューロン素子、差動型のニューロン素子、adコンバータ及びニューラルネットワーク
JP7005827B1 (ja) 2021-01-18 2022-02-14 株式会社ソリトンシステムズ ニューロン素子、adコンバータ及びニューラルネットワーク

Also Published As

Publication number Publication date
CN1867888A (zh) 2006-11-22
CN100578440C (zh) 2010-01-06
JP4272967B2 (ja) 2009-06-03

Similar Documents

Publication Publication Date Title
JP4272967B2 (ja) 演算回路およびその動作制御方法
EP1676197B1 (en) Operation circuit and operation control method thereof
KR102653822B1 (ko) 혼성 신호 컴퓨팅 시스템 및 방법
JP4620944B2 (ja) 積和演算回路及びその方法
WO2021044821A1 (ja) 演算装置及び積和演算システム
US7610326B2 (en) Arithmetic circuit for calculating a cumulative value as a result of parallel arithmetic processing
Parodi et al. Synthesis of multiport resistors with piecewise‐linear characteristics: a mixed‐signal architecture
JP2007066258A (ja) 演算装置
JPH09244875A (ja) 半導体演算回路
JP3177637B2 (ja) パルス幅変調演算回路
JP3177636B2 (ja) パルス変調演算回路
JP3256738B2 (ja) 非線形演算回路
JP6996411B2 (ja) ニューラルネットワーク回路
WO2004027680A1 (en) Arithmetic circuit
JP3338713B2 (ja) 信号処理装置
JP4057502B2 (ja) デジタル・パルス幅変換回路
CN211653633U (zh) 乘法器装置
JP3463890B2 (ja) 神経回路模倣素子
JP3253613B2 (ja) 信号処理装置
JP6762733B2 (ja) D/a変換装置及びd/a変換方法
JP2008061281A (ja) パルス幅・デジタル変換回路
JP2004157757A (ja) アナログ演算回路
JP2003044840A (ja) 情報処理回路
RU2491715C1 (ru) Скоростной преобразователь "аналог - цифра - аналог" с бестактовым поразрядным уравновешиванием
RU2380752C2 (ru) Нейросетевой преобразователь кода в частоту

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20061016

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20090217

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090302

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120306

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130306

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140306

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees