JP4272967B2 - Arithmetic circuit and operation control method thereof - Google Patents

Arithmetic circuit and operation control method thereof Download PDF

Info

Publication number
JP4272967B2
JP4272967B2 JP2003356627A JP2003356627A JP4272967B2 JP 4272967 B2 JP4272967 B2 JP 4272967B2 JP 2003356627 A JP2003356627 A JP 2003356627A JP 2003356627 A JP2003356627 A JP 2003356627A JP 4272967 B2 JP4272967 B2 JP 4272967B2
Authority
JP
Japan
Prior art keywords
value
digital
circuit
output
analog
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.)
Expired - Fee Related
Application number
JP2003356627A
Other languages
Japanese (ja)
Other versions
JP2005122467A (en
Inventor
修 野村
隆 森江
鉄平 中野
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/en
Application filed by Canon Inc filed Critical Canon Inc
Priority to PCT/JP2004/015540 priority patent/WO2005038645A2/en
Priority to CN200480030265A priority patent/CN100578440C/en
Priority to AT04773802T priority patent/ATE542176T1/en
Priority to EP04773802A priority patent/EP1676197B1/en
Priority to US11/036,001 priority patent/US7120617B2/en
Publication of JP2005122467A publication Critical patent/JP2005122467A/en
Priority to US11/434,779 priority patent/US7272585B2/en
Application granted granted Critical
Publication of JP4272967B2 publication Critical patent/JP4272967B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

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

Description

本発明は、アナログ・デジタル混載型の演算回路に関し、例えば、デジタル信号をアナログ信号に変換し、アナログ演算回路において入力値に対して積和演算を行なった後に演算結果をアナログ値として出力する、またはさらに出力されたアナログ値をデジタル値に変換して処理を行なうようなアナログ・デジタル混載型の演算回路に関する。   The present invention relates to an analog / digital mixed type arithmetic circuit, for example, converts a digital signal into an analog signal, outputs a calculation result as an analog value after performing a product-sum operation on an input value in the analog arithmetic circuit, Further, the present invention relates to an analog / digital mixed type arithmetic circuit that performs processing by converting an output analog value into a digital value.

現在、コンピュータは大きな進展を見せ、世の中の様々な場面で使用されている。しかしながら、これらノイマン型と呼ばれるコンピュータは、その処理方式自体の特性により、人が容易に行うことができる処理(リアルタイムでの人の顔の認識等)を非常に不得意としている。   Currently, computers are making great progress and are being used in various situations around the world. However, these Neumann computers are very poor at processing (such as human face recognition in real time) that can be easily performed by humans due to the characteristics of the processing method itself.

これに対して、脳の情報処理様式を真似た演算処理モデルである、ニューラルネットワークの研究が行われている。   In contrast, a neural network, which is an arithmetic processing model that imitates the information processing mode of the brain, has been studied.

ニューラルネットワークを構成するニューロンのモデルとしては、ニューロンに相当するユニットに対して、他の複数のユニット(ニューロン)の出力値をシナプス荷重値で重み付けした乗算値が入力され、その入力値の総和値をさらに非線形変換した値を出力値とするものが一般的である。   As a model of the neurons that make up the neural network, the multiplication value obtained by weighting the output values of other units (neurons) with the synaptic load value is input to the unit corresponding to the neuron, and the sum of the input values In general, a value obtained by further nonlinearly transforming is used as an output value.

すなわち、一般的なニューラルネットワークにおいては、各ユニット、及びユニット間における積和演算と非線形変換により、所望の処理が実現される。   That is, in a general neural network, desired processing is realized by product-sum operation and non-linear transformation between each unit and between units.

このニューロンモデルを用いたニューラルネットワークアーキテクチャとしては、これまでに、非線形な入出力特性を有するユニットを相互に結合した連想メモリや、同じく非線型な入出力特性を有するユニットを階層的に結合したパターン認識モデル等が提案されている。   As a neural network architecture using this neuron model, so far associative memory in which units with non-linear input / output characteristics are connected to each other, and patterns in which units with non-linear input / output characteristics are connected in layers A recognition model has been proposed.

ここでニューラルネットワークは、超並列・分散型の情報処理モデルであるため、逐次処理方式であるノイマン型コンピュータでの実行は極めて効率が悪い。従って、ニューラルネットワークの実用化に際しては、専用のハードウェアとしての集積回路化が有効である。   Here, since the neural network is a massively parallel / distributed information processing model, execution on a Neumann computer, which is a sequential processing method, is extremely inefficient. Therefore, when a neural network is put into practical use, it is effective to make an integrated circuit as dedicated hardware.

また集積回路化に際しては、入力データの保存や制御性といった面ではデジタル回路によるデジタル的な処理が適しているものの、前記の積和演算や非線形変換を実現する演算回路としては、アナログ演算回路を使用することでデジタル演算回路に比較して、素子数の大幅な削減が可能である。   In addition, when integrated circuits are used, digital processing by digital circuits is suitable in terms of storage and controllability of input data, but analog arithmetic circuits are used as arithmetic circuits for realizing the product-sum operation and nonlinear conversion described above. By using it, the number of elements can be greatly reduced compared to a digital arithmetic circuit.

すなわち、ニューラルネットワークの実用化においては、デジタル回路とアナログ回路をそれぞれの特徴が有効に機能する演算処理部に適用し、最終的に両者を混載した集積回路化を目指すのが有効である。   That is, in practical use of neural networks, it is effective to apply a digital circuit and an analog circuit to an arithmetic processing unit in which each feature functions effectively, and finally aim for an integrated circuit in which both are mounted together.

その場合、デジタル回路とアナログ回路の両者を結合するインターフェース部において、デジタル・パルス幅変換回路、D/A変換回路、およびA/D変換回路などが使用される。   In that case, a digital pulse width conversion circuit, a D / A conversion circuit, an A / D conversion circuit, and the like are used in an interface unit that couples both the digital circuit and the analog circuit.

ここで前記デジタル・パルス幅変換回路は、デジタル入力値を当該デジタル入力値に比例した時間幅のパルスに変換する機能を有するものを指し、クロックによって動作するカウンタの出力する計数値とデジタル入力値とを比較して、両者が一致したタイミングでパルス出力を立ち下げるものが広く知られている(例えば特許文献1参照)。   Here, the digital pulse width conversion circuit refers to one having a function of converting a digital input value into a pulse having a time width proportional to the digital input value, and a count value and a digital input value output by a counter operated by a clock. Are well known to cause the pulse output to fall at a timing when both coincide with each other (see, for example, Patent Document 1).

図28は従来のデジタル・パルス幅変換回路の一例を示す図である(特許文献1の図1参照)。図28に示した従来のデジタル・パルス幅変換回路は、ストローブ検出回路101、ラッチ回路102、カウンタ103、デジタル・コンパレータ104、及びJKフリップ・フロップ105を備えた構成からなる。   FIG. 28 is a diagram showing an example of a conventional digital pulse width conversion circuit (see FIG. 1 of Patent Document 1). The conventional digital pulse width conversion circuit shown in FIG. 28 includes a strobe detection circuit 101, a latch circuit 102, a counter 103, a digital comparator 104, and a JK flip-flop 105.

ストローブ検出回路101は、ストローブ信号NOT(STB)が入力されると、その後の最初のクロックCLKの立ち上がりでタイミング・イネーブル信号E1,E2を出力する。タイミング・イネーブル信号E1は、更にその次のクロックの立ち上がりでLレベルとなる。一方、タイミング・イネーブル信号E2は、クリア信号NOT(reset)がHレベルの間は常時Hレベルとなっている。   When the strobe signal NOT (STB) is input, the strobe detection circuit 101 outputs timing enable signals E1 and E2 at the subsequent rising edge of the clock CLK. The timing enable signal E1 becomes L level at the next rising edge of the clock. On the other hand, the timing enable signal E2 is always at the H level while the clear signal NOT (reset) is at the H level.

また、ラッチ回路102は、外部から入力される16ビットのデジタル・データD0〜D15をラッチし、ラッチデータQ0〜Q15として出力する。そして、16ビットのカウンタ103は、クロックCLKを計数して、その計数値C0〜C15を出力する。また、カウンタ103は、その計数値がFFFFになると、カウント・アウト信号C.O.を出力する。 The latch circuit 102 latches 16-bit digital data D 0 to D 15 input from the outside, and outputs the latched data as latch data Q 0 to Q 15 . Then, 16-bit counter 103 counts the clock CLK, and outputs the count value C 0 -C 15. Further, the counter 103 outputs a count-out signal CO when the count value becomes FFFF.

デジタル・コンパレータ104は、ラッチデータQ0〜Q15と計数値C0〜C15とを比較して、計数値C0〜C15がラッチデータQ0〜Q15を越えるまで、JKフリップ・フロップ105にHレベルを出力し、計数値C0〜C15がラッチデータQ0〜Q15を越えた時に、この出力値をLレベルに反転する。 Digital comparator 104 compares the latched data Q 0 to Q 15 and count value C 0 -C 15, until the count value C 0 -C 15 exceeds latched data Q 0 to Q 15, JK flip-flop outputs H level to 105, the count value C 0 -C 15 is when beyond the latched data Q 0 to Q 15, inverts the output values to the L level.

JKフリップ・フロップ105は、処理サイクルの最初では、デジタル・コンパレータ104の出力信号が入力端子Jに入力され、出力QにHレベルを保持する。また、デジタル・コンパレータ104の出力信号がLレベルに反転した後の最初のクロックCLKの立ち上がりタイミングで、JKフリップ・フロップ105は、出力QをLレベルに反転する。そして、カウント・アウト信号C.O.が入力されると、JKフリップ・フロップ105は出力QをHレベルに復帰させる。   In the JK flip-flop 105, at the beginning of the processing cycle, the output signal of the digital comparator 104 is input to the input terminal J, and the output Q holds the H level. Further, at the rising timing of the first clock CLK after the output signal of the digital comparator 104 is inverted to the L level, the JK flip-flop 105 inverts the output Q to the L level. When the count out signal C.O. is input, the JK flip-flop 105 returns the output Q to the H level.

このような構成によって、JKフリップ・フロップ105の出力Qにはデジタル・データD0〜D15の値に比例した時間幅のパルスが出力される。 With such a configuration, a pulse having a time width proportional to the values of the digital data D 0 to D 15 is output to the output Q of the JK flip-flop 105.

またD/A変換回路としては、前記デジタル・パルス幅変換回路と、スイッチド電流源とキャパシタを組み合わせたものが従来より使用されている。   As a D / A conversion circuit, a combination of the digital pulse width conversion circuit, a switched current source, and a capacitor has been conventionally used.

すなわち、デジタル値をデジタル・パルス幅変換回路によって、パルス幅にデジタル値に比例する値をもつパルスに変換する。さらに前記パルスによってスイッチド電流源をオン・オフし、パルス幅に比例する電荷をキャパシタに蓄積することにより、最終的にデジタル値をキャパシタの電圧値としてアナログ値に変換する。   That is, the digital value is converted into a pulse having a value proportional to the digital value by the digital pulse width conversion circuit. Further, the switched current source is turned on / off by the pulse, and a charge proportional to the pulse width is accumulated in the capacitor, so that the digital value is finally converted into an analog value as the voltage value of the capacitor.

またA/D変換回路としては、アナログ電圧を当該アナログ電圧値に比例した時間幅のパルスに変換するコンパレータと、前記パルスの時間幅をデジタル値に変換するパルス幅・デジタル変換回路を組み合わせたものが従来より使用されている。   The A / D converter circuit is a combination of a comparator that converts an analog voltage into a pulse with a time width proportional to the analog voltage value, and a pulse width / digital conversion circuit that converts the time width of the pulse into a digital value. Is conventionally used.

すなわち、アナログ電圧値をコンパレータによって、パルス幅に情報をもつパルスに変換する。さらに前記パルスをパルス幅・デジタル変換回路によってデジタル値に変換することでA/D変換を行なう。   That is, the analog voltage value is converted into a pulse having information in the pulse width by the comparator. Further, A / D conversion is performed by converting the pulse into a digital value by a pulse width / digital conversion circuit.

ここでパルス幅・デジタル変換回路は、従来、積分型AD変換器において広く用いられている(例えば、特許文献2,3、非特許文献1参照)。   Here, the pulse width / digital conversion circuit has been widely used in integration type AD converters conventionally (see, for example, Patent Documents 2 and 3 and Non-Patent Document 1).

図29は積分型AD変換器において用いられている従来のパルス幅・デジタル変換回路のブロック図である。   FIG. 29 is a block diagram of a conventional pulse width / digital conversion circuit used in an integral AD converter.

従来のパルス幅・デジタル変換回路111は、ANDゲート回路112とカウンタ113とを有する簡単な構成からなる。ANDゲート回路112には、デジタル・パルス幅変換された入力パルスPWとクロックCLKとが入力される。ANDゲート回路112は、この入力パルスPWとクロックCLKの論理積からなるゲート信号gをカウンタ113に出力する。カウンタ113は、入力されるゲート信号gの立ち上がりエッジを計数し、その計数値をmビットのデジタル出力D={D0,…,Dm-1}として出力する。 The conventional pulse width / digital conversion circuit 111 has a simple configuration including an AND gate circuit 112 and a counter 113. The AND gate circuit 112 receives an input pulse PW that has been subjected to digital pulse width conversion and a clock CLK. The AND gate circuit 112 outputs to the counter 113 a gate signal g that is a logical product of the input pulse PW and the clock CLK. The counter 113 counts the rising edges of the input gate signal g and outputs the counted value as an m-bit digital output D = {D 0 ,..., D m−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
With this configuration, the AND gate circuit 112 is enabled when the input pulse PW is at the H level, and the AND gate circuit 112 is disabled when the input pulse PW is at the L level. While the AND gate circuit 112 is valid, the clock CLK is output as the gate signal g. The counter 113 counts the clock output as the gate signal g. Thereby, a count value proportional to the width of the input pulse PW is obtained as a digital output D = {D 0 ,..., D m−1 }.
JP-A-4-2222 Japanese Patent Application Laid-Open No. 8-204466 JP-A-62-265820 Suzuki Hachiji, Yoshida Masaaki, “Introduction to Pulsed Digital Circuits”, Nikkan Kogyo Shimbun, July 26, 2001, p. 225-p. 232

アナログ・デジタル混載型の演算回路において、デジタル・パルス幅変換回路、デジタル・パルス幅変換回路を利用したD/A変換回路、及びパルス幅・デジタル変換回路を利用したA/D変換回路を使用することは、その構造が簡単であることから、非常に有効な手段である。   In an analog / digital mixed type arithmetic circuit, a digital / pulse width conversion circuit, a D / A conversion circuit using a digital / pulse width conversion circuit, and an A / D conversion circuit using a pulse width / digital conversion circuit are used. This is a very effective means because of its simple structure.

しかしながら、多数のデジタル入力値を並列的にデジタル・パルス幅変換し、変調パルスを出力するような装置において、前記デジタル・パルス幅変換回路を使用すると、回路面積と消費電力が、並列的に動作するデジタル・パルス幅変換回路数に比例して大きくなるという問題がある。   However, when the digital pulse width conversion circuit is used in a device that performs digital pulse width conversion on a large number of digital input values in parallel and outputs a modulated pulse, the circuit area and power consumption operate in parallel. There is a problem that it increases in proportion to the number of digital pulse width conversion circuits.

すなわち、多数のデジタル入力値を並列的にデジタル・パルス幅変換する場合には、図28に示したデジタル・パルス幅変換回路を複数個並列に配置して、それぞれのデジタル・パルス幅変換回路に対して各デジタル入力値を入力させればよい。そして、各デジタル・パルス幅変換回路から出力されるパルスを取り出すことで、並列的なデジタル・パルス幅変換が可能となる。   That is, when digital pulse width conversion is performed in parallel for a large number of digital input values, a plurality of digital pulse width conversion circuits shown in FIG. 28 are arranged in parallel, and each digital pulse width conversion circuit is arranged in each digital pulse width conversion circuit. In contrast, each digital input value may be input. Then, by extracting a pulse output from each digital pulse width conversion circuit, parallel digital pulse width conversion can be performed.

しかしこの場合、各デジタル・パルス幅変換回路において、回路面積が個数に比例して増大する。また、クロックによるスイッチング動作が頻繁に行われるため、総てのデジタル・パルス幅変換回路の駆動電力を合計すると、かなり大きな電力が消費されることとなる。従って、携帯機器のような省面積・低消費電力を要求される装置において、多数のデジタル入力値を並列的にデジタル・パルス幅変換する場合に使用することは困難である。   However, in this case, in each digital pulse width conversion circuit, the circuit area increases in proportion to the number. Further, since the switching operation by the clock is frequently performed, a considerable amount of power is consumed when the driving power of all the digital pulse width conversion circuits is summed. Therefore, it is difficult to use the digital pulse width conversion of a large number of digital input values in parallel in an apparatus that requires area saving and low power consumption such as a portable device.

また同様に、多数のパルス入力を並列的にパルス幅デジタル変換し、デジタル値を出力するような装置において、前記パルス幅・デジタル変換回路を使用すると、各パルス幅・デジタル変換回路111の消費電力の総和がかなり大きくなるという問題がある。   Similarly, when the pulse width / digital conversion circuit is used in a device that digitally converts a large number of pulse inputs in parallel and outputs a digital value, the power consumption of each pulse width / digital conversion circuit 111 There is the problem that the sum of

すなわち、それぞれのパルス入力に対して、図29に示したようなパルス幅・デジタル変換回路111を使用した場合、多数のカウンタ113が並列的にスイッチング動作を行うこととなる。そのため、例えば、カウンタ113をCMOSにより構成した場合でも、カウンタ113がスイッチング時の負荷容量を充放電する際の充放電電力消費が大きくなる。この充放電電力消費の増加は、パルス入力数が大きいほど顕著となる。   That is, when the pulse width / digital conversion circuit 111 as shown in FIG. 29 is used for each pulse input, a large number of counters 113 perform switching operations in parallel. Therefore, for example, even when the counter 113 is composed of CMOS, the charge / discharge power consumption when the counter 113 charges / discharges the load capacity during switching increases. This increase in charge / discharge power consumption becomes more significant as the number of pulse inputs increases.

また、多数のカウンタ113が並列的に動作することにより、カウンタ113のスイッチングノイズが大きくなる。従って、回路全体のノイズ対策が必要となってくる。   In addition, since many counters 113 operate in parallel, the switching noise of the counter 113 increases. Therefore, noise countermeasures for the entire circuit are required.

そこで本発明の目的は、省面積かつ低消費電力で複数のデジタル入力値を並列的にパルス幅に変換するデジタル・パルス幅変換回路、及び低消費電力で動作し、回路から発生するノイズも小さいパルス幅・デジタル変換回路を用いたアナログ・デジタル混載型の演算回路を提供することにある。   Accordingly, an object of the present invention is to provide a digital pulse width conversion circuit that converts a plurality of digital input values into a pulse width in parallel with a small area and low power consumption, and operates with low power consumption, and noise generated from the circuit is small. An object is to provide an analog / digital mixed arithmetic circuit using a pulse width / digital conversion circuit.

上記の目的を達成するために、本発明によれば、並列演算処理された演算結果の累算値を算出する演算回路に、アナログ信号で表される情報を演算処理する複数のアナログ演算回路と、前記複数のアナログ演算回路による演算結果の総和値を電荷量として蓄積するキャパシタと、前記キャパシタに蓄積された電荷量を対応するパルス幅を持つパルス信号に変換するコンパレータと、前記パルス信号をデジタル信号に変換するパルス幅・デジタル変換回路と、変換された前記デジタル信号に基づいて累算値を算出するデジタル演算回路とを備え、前記パルス幅・デジタル変換回路が、クロックを計数してその計数値をデジタル信号として出力するカウンタと、それぞれに入力される各パルス信号の終端において前記カウンタが出力する共通の計数値をラッチする複数の終端ラッチ回路とを有することを特徴とする。   In order to achieve the above object, according to the present invention, a plurality of analog arithmetic circuits that perform arithmetic processing on information represented by an analog signal and an arithmetic circuit that calculates an accumulated value of arithmetic results obtained by parallel arithmetic processing, A capacitor for accumulating the sum of the calculation results of the plurality of analog arithmetic circuits as a charge amount, a comparator for converting the charge amount accumulated in the capacitor into a pulse signal having a corresponding pulse width, and digitally converting the pulse signal A pulse width / digital conversion circuit that converts the signal into a signal, and a digital arithmetic circuit that calculates an accumulated value based on the converted digital signal. A counter that outputs a numerical value as a digital signal and a common counter that the counter outputs at the end of each pulse signal that is input to each counter And having a plurality of end latch circuit for latching the value.

また本発明の他の態様によれば、並列演算処理された演算結果の累算値を算出する演算回路の動作制御方法に、アナログ信号で表される情報を複数のアナログ演算回路により演算処理するアナログ演算工程と、前記アナログ演算工程による演算結果の総和値を電荷量としてキャパシタに蓄積する蓄積工程と、前記キャパシタに蓄積された電荷量を対応するパルス幅を持つパルス信号に変換する電圧パルス変換工程と、前記パルス信号をデジタル信号に変換するパルス幅・デジタル変換工程と、変換された前記デジタル信号に基づいて累算値を算出する加算工程とを備え、前記パルス幅・デジタル変換工程が、カウンタによりクロックを計数してその計数値をデジタル信号として出力する工程と、複数の終端ラッチ回路により、それぞれに入力される各パルス信号の終端において前記カウンタが出力する共通の計数値をラッチする工程とを有することを特徴とする。   According to another aspect of the present invention, in an operation control method for an arithmetic circuit that calculates an accumulated value of arithmetic results obtained by parallel arithmetic processing, information represented by an analog signal is arithmetically processed by a plurality of analog arithmetic circuits. An analog operation step, an accumulation step of accumulating the total value of the operation results of the analog operation step as a charge amount in a capacitor, and a voltage pulse conversion for converting the amount of charge accumulated in the capacitor into a pulse signal having a corresponding pulse width A pulse width / digital conversion step for converting the pulse signal into a digital signal, and an addition step for calculating an accumulated value based on the converted digital signal, the pulse width / digital conversion step, Counting the clock with a counter and outputting the count value as a digital signal, and input to each by multiple termination latch circuits Characterized by a step of the counter at the end of each pulse signal latches a common count value to be output to.

本発明によれば、並列演算処理された演算結果の累算値を算出する演算回路を省面積かつ低消費電力で実現することが可能となる。   According to the present invention, it is possible to realize an arithmetic circuit that calculates an accumulated value of calculation results subjected to parallel arithmetic processing with a small area and low power consumption.

以下、添付図面を参照しながら、本発明の実施形態を説明する。   Hereinafter, embodiments of the present invention will be described with reference to the accompanying drawings.

(第一の実施形態)
図1は、本実施形態でのアナログ・デジタル混載型の演算回路100の全体構成図を示す。
(First embodiment)
FIG. 1 is an overall configuration diagram of an analog / digital mixed arithmetic circuit 100 according to this embodiment.

図1に示すように、本アナログ・デジタル混載型の演算回路はデジタルメモリ1と、デジタル・パルス幅変換回路2と、アナログ演算回路3と、キャパシタ4とから構成される。   As shown in FIG. 1, the analog / digital mixed arithmetic circuit includes a digital memory 1, a digital / pulse width conversion circuit 2, an analog arithmetic circuit 3, and a capacitor 4.

本アナログ・デジタル混載型の演算回路100は、複数の乗算結果の累算値を算出する機能を実現するものである。   The analog / digital mixed operation circuit 100 realizes a function of calculating an accumulated value of a plurality of multiplication results.

また図2は、図1に示されたアナログ演算回路3とキャパシタ4の構成を詳細に説明したものである。図2に示すように、本実施形態でのアナログ演算回路3とキャパシタ4は、キャパシタ4に接続するバスに、複数のアナログ演算回路3が並列に接続する構成となっている。   FIG. 2 illustrates in detail the configuration of the analog arithmetic circuit 3 and the capacitor 4 shown in FIG. As shown in FIG. 2, the analog arithmetic circuit 3 and the capacitor 4 in this embodiment are configured such that a plurality of analog arithmetic circuits 3 are connected in parallel to a bus connected to the capacitor 4.

また図3は、本実施形態でのアナログ演算回路3の詳細な回路構成を示す。図3に示すように、本実施形態でのアナログ演算回路3は、定電流源として機能する1つのPMOSトランジスタM1を有する。   FIG. 3 shows a detailed circuit configuration of the analog arithmetic circuit 3 in the present embodiment. As shown in FIG. 3, the analog arithmetic circuit 3 in this embodiment has one PMOS transistor M1 that functions as a constant current source.

また図4は、本実施形態でのデジタル・パルス幅変換回路の構成を示すブロック図である。図5は、図4における各パルス生成回路の構成を表すブロック図である。図6は、本実施形態におけるデジタル・パルス幅変換回路の動作を表すタイミングチャートである。ここではまず、図4、図5、図6を用いてメモリに保持されたデジタルデータをパルス信号に変換する処理過程について説明する。   FIG. 4 is a block diagram showing the configuration of the digital pulse width conversion circuit in the present embodiment. FIG. 5 is a block diagram showing the configuration of each pulse generation circuit in FIG. FIG. 6 is a timing chart showing the operation of the digital pulse width conversion circuit in this embodiment. Here, first, a process of converting digital data held in the memory into a pulse signal will be described with reference to FIGS. 4, 5, and 6.

そして図3を用いてアナログ演算回路3の演算処理過程について説明し、続いて図2を用いてアナログ演算回路3による演算結果が、どのように部分和としてキャパシタ4に保持されるかについて説明し、さらに図1を用いて、どのように部分和から所望の累算値を算出するかについて説明していく。   3 will be used to explain the arithmetic processing process of the analog arithmetic circuit 3, and then FIG. 2 will be used to explain how the arithmetic result of the analog arithmetic circuit 3 is held in the capacitor 4 as a partial sum. Further, how to calculate a desired accumulated value from the partial sum will be described with reference to FIG.

図1に示すように、まずデジタルメモリ1に保持した被乗算値Aのデジタル値をデジタル・パルス幅変換回路2に入力する。デジタル・パルス幅変換回路2においては、入力されたデジタル値を当該デジタル入力値に比例した時間幅のパルス信号に変換して出力する。   As shown in FIG. 1, first, the digital value of the multiplied value A held in the digital memory 1 is inputted to the digital pulse width conversion circuit 2. The digital / pulse width conversion circuit 2 converts the input digital value into a pulse signal having a time width proportional to the digital input value and outputs the pulse signal.

ここで図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が出力される。 Here, as shown in FIG. 4, the digital pulse width conversion circuit 2 according to the present embodiment includes a plurality of pulse generation circuits 10-0 to 10-(n−1) arranged in parallel and one counter 11. Have. The data input terminal Din of the pulse generating circuit 10-0~10- (n-1), each of the digital input values of m bits x 0 ~x n-1 are inputted. Then, from the pulse output terminal Pout of the pulse generating circuit 10-0~10- (n-1), PWM signal PWM 0 ~PWM n-1 is output proportional to the digital input value x 0 ~x n-1 Is done.

また、カウンタ11は、外部から入力されるクロックclockを計数し、mビットの計数値として出力する。このクロックclockは、各パルス生成回路10-0〜10-(n-1)のクロック入力端子clkにも共通に入力される。また、各パルス生成回路10-0〜10-(n-1)のカウンタ値入力端子CNTには、カウンタ11から出力される計数値が共通に入力される。   The counter 11 counts a clock clock input from the outside and outputs it as an m-bit count value. This clock clock is also input in common to the clock input terminals clk of the pulse generation circuits 10-0 to 10- (n-1). The counter value output from the counter 11 is commonly input to the counter value input terminals CNT of the pulse generation circuits 10-0 to 10- (n-1).

更に、各パルス生成回路10-0〜10-(n-1)の基準値入力端子Dbには、mビットの基準値xが共通に入力される。この基準値xは、出力PWM信号PWM0〜PWMn-1の立ち上がりのタイミングを指定する値である。 Further, the m-bit reference value xb is commonly input to the reference value input terminal Db of each of the pulse generation circuits 10-0 to 10- (n-1). This reference value xb is a value that specifies the rising timing of the output PWM signals PWM 0 to PWM n−1 .

図5は図4の各パルス生成回路の構成を表すブロック図である。パルス生成回路10-i(i∈{0,1,…,n-1})は、基準値レジスタ12、加減算回路13、パルス幅レジスタ14、切換回路15、タイミングトリガ発生回路16、及び出力パルス反転回路17を有している。   FIG. 5 is a block diagram showing the configuration of each pulse generation circuit of FIG. The pulse generation circuit 10-i (i∈ {0, 1,..., N−1}) includes a reference value register 12, an addition / subtraction circuit 13, a pulse width register 14, a switching circuit 15, a timing trigger generation circuit 16, and an output pulse. An inverting circuit 17 is provided.

基準値レジスタ12は、基準値xをラッチして、そのラッチした基準値xの値を出力する。加減算回路13は、基準値xと外部から入力されるデジタル値である入力値xとの加算値x+xを出力する。パルス幅レジスタ14は、加減算回路13の出力値(加算値x+x)を更新入力renewの立ち上がりにおいてラッチする。 Reference value register 12 latches the reference value x b, and outputs the value of the reference value x b was latched. The addition / subtraction circuit 13 outputs an addition value x i + x b between the reference value x b and an input value x i which is a digital value input from the outside. The pulse width register 14 latches the output value (addition value x i + x b ) of the addition / subtraction circuit 13 at the rising edge of the update input renew.

切換回路15は、出力パルス反転回路17が出力する出力PWM信号PWMが偽値(Lレベル)のときは、基準値レジスタ12がラッチしたデジタル値xを出力し、出力パルス反転回路17が出力する出力PWM信号PWMが真値(Hレベル)のときは、パルス幅レジスタ14がラッチしたデジタル値x+xを出力するように切り換えを行う。 When the output PWM signal PWM i output from the output pulse inversion circuit 17 is a false value (L level), the switching circuit 15 outputs the digital value xb latched by the reference value register 12, and the output pulse inversion circuit 17 When the output PWM signal PWM i to be output is a true value (H level), switching is performed so that the digital value x i + x b latched by the pulse width register 14 is output.

タイミングトリガ発生回路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に対して出力する。 The timing trigger generation circuit 16 compares each bit of the digital value output from the switching circuit 15 with each bit of the count value CNT output from the counter 11, and generates a trigger when the two match completely. . The timing trigger generation circuit 16 includes m EXOR gates 18-0 to 18- (m-1) and one NOR gate 19. An output bit from the switching circuit 15 is input to one of the inputs of each EXOR gate 18-0 to 18- (m-1), and an output bit from the counter 11 is input to the other input. . The outputs P 0 to P m-1 of the EXOR gates 18-0 to 18- (m-1) are input to the NOR gate 19. The NOR gate 19 outputs an inverted output of the logical sum of the outputs P 0 to P m−1 of the EXOR gates 18-0 to 18- (m−1) to the output pulse inversion circuit 17.

すなわち、各デジタル入力値xi(i∈{0,1,…,n-1})、各基準値x、カウンタの出力値CNTをそれぞれ式(1),(2),(3)により表した場合、タイミングトリガ発生回路16の出力Tiは、出力パルス反転回路17の出力値PoutがLレベルのときは式(4)、出力パルス反転回路17の出力値PoutがHレベルのときは式(5)のように表される。 That is, each digital input value x i (i∈ {0, 1,..., N−1}), each reference value x b , and the output value CNT of the counter are expressed by equations (1), (2), and (3), respectively. In this case, the output T i of the timing trigger generation circuit 16 is expressed by equation (4) when the output value Pout of the output pulse inverter 17 is L level, and when the output value Pout of the output pulse inverter 17 is H level. It is expressed as equation (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)
x i = (x i, 0 , x i, 1 , ..., x i, m-1 ) (1)
x b = (x b, 0 , x b, 1 , ..., x b, m-1 ) (2)
CNT i = (CNT i, 0 , CNT i, 1 , ..., CNT i, m-1 ) (3)

Figure 0004272967
(4)
Figure 0004272967
(Four)

Figure 0004272967
(5)
Figure 0004272967
(Five)

出力パルス反転回路17は、タイミングトリガ発生回路16がトリガを発生したときに、出力PWM信号PWMiの真理値を反転させる。この出力パルス反転回路17は、同期型Tフリップ・フロップ(以下、「T−FF」という。)により構成されている。出力パルス反転回路17のトリガ入力端子TにはNORゲート19からの出力値が入力される。また、T−FFのクロック端子clkには、共通のクロックclockが入力される。また、出力パルス反転回路17の出力端子Qからは、出力PWM信号PWMiが出力される。 Output pulse inverting circuit 17, when the timing trigger generation circuit 16 has generated the trigger, to reverse the truth value of the output PWM signal PWM i. The output pulse inverting circuit 17 is constituted by a synchronous T flip-flop (hereinafter referred to as “T-FF”). The output value from the NOR gate 19 is input to the trigger input terminal T of the output pulse inverting circuit 17. A common clock clock is input to the clock terminal clk of the T-FF. The output PWM signal PWM i is output from the output terminal Q of the output pulse inverting circuit 17.

以上のように構成された本実施形態に係るデジタル・パルス幅変換回路について、以下その動作を図6のタイミング・チャートを参照しながら説明する。   The operation of the digital pulse width conversion circuit according to this embodiment configured as described above will be described below with reference to the timing chart of FIG.

まず、時刻t1において、各パルス生成回路10-iに対して、外部回路から入力値x及び基準値xが入力される。次いで、時刻t2においてカウンタ11のリセット入力ノードR並びに各パルス生成回路10-iの基準値レジスタ12及びパルス幅レジスタ14のクロック入力ノードCLKに対して更新信号renewが入力される。基準値レジスタ12及びパルス幅レジスタ14は、更新信号renewが入力されると、その立ち上がり時点において、それぞれ、そのときの基準値x及び入力値xの値をラッチする。そして、基準値レジスタ12は、ラッチされた基準値xを出力し、パルス幅レジスタ14は、ラッチされた加算値x+xを出力する。 First, at time t 1 , the input value x i and the reference value x b are input from the external circuit to each pulse generation circuit 10-i. Then, update signal renew is input to the reset input node R and the clock input node CLK of the reference value register 12 and the pulse width register 14 of each pulse generator circuit 10-i of the counter 11 at time t 2. Reference value register 12 and the pulse width register 14, the update signal renew is input at the rising time, respectively, to latch the value of the reference value x b and the input value x i of that time. The reference value register 12 outputs the latched reference value xb , and the pulse width register 14 outputs the latched addition value x i + xb .

一方、時刻tにおいては、出力パルス反転回路の出力はLレベルであるので、切換回路15は、基準値レジスタ12から入力される値xを出力する。また、カウンタ11は、更新信号renewの立ち上がりにおいて、計数値CNTを0にリセットするとともに、計数を開始する。 On the other hand, at time t 1, the output of the output pulse inverting circuit is the L level, the switching circuit 15 outputs the value x b input from the reference value register 12. Further, the counter 11 resets the count value CNT to 0 and starts counting at the rising edge of the update signal renew.

次に、カウンタ11がカウントアップして、時刻t3においてカウンタ11の計数値CNTが切換回路15の出力値である基準値xと一致する。このとき、タイミングトリガ発生回路16の出力TiはHレベルに反転する。これにより、出力パルス反転回路17の出力PoutがLレベルからHレベルに反転し、出力PWM信号PWMiの出力が開始される。 Then, the counter 11 counts up the count value CNT of the counter 11 at time t 3 coincides with the reference value x b is the output value of the switching circuit 15. At this time, the output T i of the timing trigger generation circuit 16 is inverted to H level. As a result, the output Pout of the output pulse inverting circuit 17 is inverted from the L level to the H level, and the output of the output PWM signal PWM i is started.

時刻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レベルに反転する。 At time t 4, the output Pout of the output pulse inversion circuit 17 Invert the H level, the switched input of the switching circuit 15, so outputs a value x b + x i input from the pulse width register 14. As a result, the output values of the EXOR gates 18-0 to 18- (m-1) also change. If x i ≠ 0, the output values of the EXOR gates 18-0 to 18- (m-1) It will never be zero. Accordingly, the output T i of the timing trigger generation circuit is inverted to the L level.

更にカウンタ11がカウントアップして、時刻t5において、カウンタ11の計数値CNTが切換回路15の出力値である加算値x+xと一致する。このとき、タイミングトリガ発生回路16の出力TiはHレベルに反転する。これにより、出力パルス反転回路17の出力PoutはHレベルからLレベルに反転し、出力PWM信号PWMiの出力が停止される。このようにして、デジタル入力値xiに比例した時間幅の出力PWM信号PWMiが生成され、デジタル・パルス幅変換が行なわれる。 Further counter 11 is counted up at time t 5, the count value CNT of the counter 11 coincides with the addition value x b + x i is an output value of the switching circuit 15. At this time, the output T i of the timing trigger generation circuit 16 is inverted to H level. As a result, the output Pout of the output pulse inverting circuit 17 is inverted from the H level to the L level, and the output of the output PWM signal PWM i is stopped. In this way, the output PWM signal PWM i proportionate time width to the digital input value x i is generated, the digital pulse width conversion is performed.

時刻t6において、出力パルス反転回路17の出力がLレベルに反転すると、切換回路15の入力が切り換わり、切換回路15は基準値レジスタ12から入力される値xを出力するようになる。これに伴い各EXORゲート18-0〜18-(m-1)の出力値も変化するが、xi≠0であれば、EXORゲート18-0〜18-(m-1)の出力値が総て0となることはない。従って、タイミングトリガ発生回路の出力TiはLレベルに反転する。 At time t 6, the output of the output pulse inversion circuit 17 Invert the L level, switches the input of the switching circuit 15, switching circuit 15 is to output a value x b input from the reference value register 12. As a result, the output values of the EXOR gates 18-0 to 18- (m-1) also change. If x i ≠ 0, the output values of the EXOR gates 18-0 to 18- (m-1) It will never be zero. Accordingly, the output T i of the timing trigger generation circuit is inverted to the L level.

そして、カウンタ11はカウントアップするまで計数を続ける。この間、カウンタ値と切換回路の出力値xとが一致することはないので、出力パルス反転回路17の出力はLレベルに保持される。カウンタ11がカウントアップすると計数を停止し、1サイクルが終了する。カウンタ11はカウントアップした後は、リセット入力ノードRが再度Hレベルに反転するまでは、カウントアップした時の出力値(総てHレベル)を維持する。 The counter 11 continues counting until it counts up. During this time, since the counter value and the output value xb of the switching circuit do not match, the output of the output pulse inverting circuit 17 is held at the L level. When the counter 11 counts up, the counting is stopped and one cycle is completed. After counting up, the counter 11 maintains the output values (all at H level) when counting up until the reset input node R is inverted to H level again.

以上のようにして、各パルス生成回路10-iは、入力値xの値に比例した時間幅の出力PWM信号PWMを出力する。このとき、各パルス生成回路10-iは、共通のカウンタ11が出力する計数値を用いて、基準値x又は加算値x+xとの比較を行う。従って、総てのパルス生成回路10-iにカウンタを備えた場合と比べると、消費電力が極めて小さくなるため、デジタル・パルス幅変換回路の低消費電力化が図られる。 As described above, each pulse generation circuit 10-i outputs the output PWM signal PWM i having a time width proportional to the value of the input value x i . In this case, the pulse generating circuits 10-i, using the count value common counter 11 outputs, and compares the reference value x b or the sum x b + x i. Therefore, compared with the case where all the pulse generation circuits 10-i are provided with a counter, the power consumption is extremely small, so that the power consumption of the digital pulse width conversion circuit can be reduced.

また、本実施形態においては、基準値レジスタ12、パルス幅レジスタ14、及び切換回路15を用いて、出力PWM信号PWMiの立ち上がりと立ち下がりのタイミングを、共通のタイミングトリガ発生回路16を用いて発生させる構成としたことにより、回路遅延の影響を受けることなく、出力PWM信号PWMiのパルス幅を入力値xに正確に比例させることが可能となる。 Further, in the present embodiment, the reference value register 12, the pulse width register 14, and the switching circuit 15 are used, and the rising and falling timings of the output PWM signal PWM i are determined using the common timing trigger generation circuit 16. With the configuration of generating, the pulse width of the output PWM signal PWM i can be accurately proportional to the input value x i without being affected by the circuit delay.

尚、本実施形態においては、基準値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を出力するように切り換えを行う構成とすればよい。 In the present embodiment, the reference value x b, although the configuration example to align the rising edge of the output pulses in each pulse generator 10-0~10- (n-1), in the present invention, the output It is good also as a structure which matches the falling point of a pulse. In this case, addition and subtraction circuit 13, and configured to output a subtracted value x b -x i of an input value x i from the reference value x b is a digital value input from the outside is subtracted. The switching circuit 15 outputs the digital value xb latched by the reference value register 12 when the output PWM signal PWM i output from the output pulse inversion circuit 17 is a true value (H level), and outputs the output pulse inversion circuit. When the output PWM signal PWM i output from 17 is a false value (L level), the pulse width register 14 may be switched so as to output the digital value x b −x i latched.

なお、各パルス生成回路2−i内に加減算回路11を用意せずに、デジタル入力信号xiとして、元々の入力値を基準値xbから加算または減算した結果を与えるようにしてもよい。 Note that without providing the adding and subtracting circuit 11 in the pulse generating circuit 2-i, as a digital input signal x i, may be given the result of the addition or subtraction from the reference value x b the original input values.

続いて、図3に示すアナログ演算回路は、本実施形態においては被乗算値Aと乗算値Bの乗算:(A×B)を実現する。(なおA、Bは、A≧0、B≧0を満たすものとする。)ここで、被乗算値Aと乗算値Bは、前記乗算をアナログ演算回路3で実現するために、前述したデジタル・パルス幅変換回路2から出力されたPWM信号PWM5と、アナログ電圧Vw6としてそれぞれ入力される。   Subsequently, the analog arithmetic circuit shown in FIG. 3 realizes multiplication (A × B) of the multiplied value A and the multiplied value B in the present embodiment. (Note that A and B satisfy A ≧ 0 and B ≧ 0.) Here, the multiplied value A and the multiplied value B are the digital signals described above in order to realize the multiplication by the analog arithmetic circuit 3. The PWM signal PWM5 output from the pulse width conversion circuit 2 and the analog voltage Vw6 are input.

なおアナログ演算回路3は、前記乗算を実現するもの以外でも、何らかの演算(たとえば非線形変換等)を行うものであれば別のアナログ演算回路でも構わない。   The analog operation circuit 3 may be another analog operation circuit as long as it performs some operation (for example, non-linear conversion or the like) other than the one that realizes the multiplication.

まず図3において、デジタル・パルス幅変換回路から出力されたPWM信号PWM5が入力端子7に入力され、また乗算値Bに所定の換算を施したアナログ電圧Vw6が入力端子8に入力される。   First, in FIG. 3, the PWM signal PWM5 output from the digital pulse width conversion circuit is input to the input terminal 7, and the analog voltage Vw6 obtained by performing a predetermined conversion on the multiplication value B is input to the input terminal 8.

ここで、前記PWM信号の特性について簡単に説明しておく。パルス信号PWM(Pulse Width Modulation)は、情報をパルス波形の幅に持たせた変調方式であり、ノイズに強いデジタル的な特性(電圧方向にHighレベルとLowレベルの2値の情報を有するという特性)と、連続情報を1パルスで表現することができるアナログ的な特性(時間方向に連続情報を有するという特性)の両者を併せ持つものである。   Here, the characteristics of the PWM signal will be briefly described. A pulse signal PWM (Pulse Width Modulation) is a modulation method in which information is provided in the width of a pulse waveform, and has a digital characteristic that is resistant to noise (a characteristic that binary information of High level and Low level is included in the voltage direction) ) And analog characteristics (characteristic of having continuous information in the time direction) that can express continuous information with one pulse.

M1のゲート端子には、入力端子8に入力された乗算値Bに相当するVw6の電圧がかかる。また、M1のソース端子には、入力端子7よりPWM信号PWM5が入力される。なおPWM信号は、Lowレベルを0V、Highレベルを電源電圧Vdd(本実施形態では3.3V)と設定している。   A voltage of Vw6 corresponding to the multiplication value B input to the input terminal 8 is applied to the gate terminal of M1. The PWM signal PWM5 is input from the input terminal 7 to the source terminal of M1. In the PWM signal, the Low level is set to 0 V, and the High level is set to the power supply voltage Vdd (3.3 V in this embodiment).

ここで、PWM信号がHighレベルの時、すなわちM1のソース端子にVddが加えられた時に、M1が飽和領域で動作するようにアナログ電圧Vw6を適切な電圧範囲に設定することにより、PWM信号がHighレベルの間、M1を定電流源として動作させることができる。   Here, when the PWM signal is at a high level, that is, when Vdd is applied to the source terminal of M1, by setting the analog voltage Vw6 to an appropriate voltage range so that M1 operates in the saturation region, the PWM signal becomes During the high level, M1 can be operated as a constant current source.

またこの時、M1を流れる電流量は、ゲート−ソース間電圧、すなわち(Vdd−Vw)で決定される。この時、PWM信号PWM5のパルス幅は、被乗算値Aに比例するように変換されている。またアナログ電圧Vw6は、(Vdd−Vw)によって決定される電流量が乗算値Bに比例するように換算されている。   At this time, the amount of current flowing through M1 is determined by the gate-source voltage, that is, (Vdd-Vw). At this time, the pulse width of the PWM signal PWM5 is converted to be proportional to the multiplied value A. The analog voltage Vw6 is converted so that the amount of current determined by (Vdd−Vw) is proportional to the multiplication value B.

従ってM1は、PWM信号がHighレベルの間だけ前記(Vdd−Vw)により決定される電流を流すため、PWM信号がHighレベルの間にM1が流す総電荷量は、A×Bに比例したものとなる。なお、PWM信号を用いて前記乗算を実現できるものであれば、その他のアナログ演算回路を用いても構わない。   Therefore, since M1 passes a current determined by (Vdd−Vw) only while the PWM signal is at a high level, the total amount of charge that M1 flows while the PWM signal is at a high level is proportional to A × B. It becomes. Other analog arithmetic circuits may be used as long as the multiplication can be realized using a PWM signal.

続いて図2を用いて、アナログ演算回路3による演算結果が、どのようにキャパシタ4に保持されるかについて説明する。図2において、前記のようにM1が流す電荷量は、バスによってアナログ演算回路3に接続されたキャパシタ4に蓄積される。   Next, how the calculation result by the analog calculation circuit 3 is held in the capacitor 4 will be described with reference to FIG. In FIG. 2, the amount of charge that M1 flows as described above is stored in the capacitor 4 connected to the analog arithmetic circuit 3 by the bus.

ここで、バスにはそれぞれ独立に演算を行う複数のアナログ演算回路3が接続されているため、それぞれのアナログ演算回路3により並列に実行された演算結果、すなわち、上で説明した電荷量は、バスを通してキャパシタ4に蓄積され、加算される。   Here, since a plurality of analog arithmetic circuits 3 that perform arithmetic operations independently from each other are connected to the bus, the arithmetic results executed in parallel by each analog arithmetic circuit 3, that is, the charge amount described above is It is stored in the capacitor 4 through the bus and added.

従って、一回の並列な演算処理が完了するごとにキャパシタ4に蓄積される総電荷量は、共通のバスでキャパシタ4に接続された複数のアナログ演算回路3の演算結果の総和値を示している。   Therefore, the total amount of electric charge accumulated in the capacitor 4 every time one parallel arithmetic process is completed indicates the sum of the arithmetic results of the plurality of analog arithmetic circuits 3 connected to the capacitor 4 through a common bus. Yes.

続いて図7のフローチャートを用いて、以上の演算処理フローの説明を行なう。また、説明に際しては各処理工程を実行する演算回路についても言及する。   Next, the above arithmetic processing flow will be described with reference to the flowchart of FIG. In the description, an arithmetic circuit that executes each processing step is also referred to.

図7において、まずデジタル信号の入力工程S1を実行し、次にそれぞれのデジタル・パルス幅変換回路において、デジタル信号をPWM信号に変換する工程S5を実行する。次にBi(電圧Vw)の入力工程S2を実行し、さらにそれぞれのアナログ演算回路において、工程S5からの出力であるPWM信号とアナログ電圧Vwを乗算する工程S3を実行する。次に、それぞれのアナログ演算回路において並列に算出された乗算値をキャパシタにおいて電荷量として蓄積し、部分和Σ(Ai×Bi)として保持する工程S4を実行する。   In FIG. 7, first, a digital signal input step S1 is executed, and then, in each digital pulse width conversion circuit, a step S5 for converting the digital signal into a PWM signal is executed. Next, Bi (voltage Vw) input step S2 is executed, and in each analog arithmetic circuit, step S3 of multiplying the PWM signal output from step S5 by the analog voltage Vw is executed. Next, step S4 is performed in which the multiplication values calculated in parallel in the respective analog arithmetic circuits are accumulated as charge amounts in the capacitors and are held as partial sums Σ (Ai × Bi).

以上説明した演算フローを累算値を算出するために必要な回数(本実施形態では3回)繰り返すことにより、所望の累算値が算出される。   A desired accumulated value is calculated by repeating the operation flow described above as many times as necessary for calculating the accumulated value (three times in the present embodiment).

なお前記の演算フローは、必要に応じて複数回繰り返して、その演算結果をキャパシタに電荷として追加蓄積していっても構わない(図7では、S4を部分和算出としているが、演算結果をキャパシタに電荷として追加蓄積していく場合は、最終的に算出された累算値に相当する電荷量がキャパシタに蓄積される)。   The calculation flow may be repeated a plurality of times as necessary, and the calculation result may be additionally accumulated as a charge in the capacitor (in FIG. 7, S4 is a partial sum calculation, but the calculation result is In the case of additional accumulation as charge in the capacitor, the amount of charge corresponding to the finally calculated accumulated value is accumulated in the capacitor).

またもしくは、一旦キャパシタに電荷として蓄積した演算結果を別の記憶回路に保存した後、新たに前記の演算フローを行なうものであっても構わない。   Alternatively, the calculation result once stored as a charge in the capacitor may be stored in another storage circuit, and then the calculation flow may be newly performed.

以上説明してきたように、低消費電力で複数のデジタル入力値を並列的にパルス幅に変換するデジタル・パルス幅変換回路を用いることで、低消費電力かつレイアウト面積が小さいアナログ・デジタル混載型の演算回路を実現することが可能となる。   As described above, by using a digital pulse width conversion circuit that converts multiple digital input values into pulse widths in parallel with low power consumption, low power consumption and a small layout area can be combined. An arithmetic circuit can be realized.

(第二の実施形態)
本実施形態におけるアナログ・デジタル混載型の演算回路は、第一の実施形態におけるアナログ・デジタル混載型の演算回路と比較して、デジタル・パルス幅変換回路のみが異なっている。従って、以下では第一の実施形態と異なるデジタル・パルス幅変換回路についてのみ説明を行い、それ以外の部分は第一の実施形態と同様として説明を省略する。
(Second embodiment)
The analog / digital mixed arithmetic circuit in this embodiment is different from the analog / digital mixed arithmetic circuit in the first embodiment only in the digital pulse width conversion circuit. Accordingly, only the digital pulse width conversion circuit different from that of the first embodiment will be described below, and the other parts are the same as those of the first embodiment, and the description thereof will be omitted.

ここで図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から出力される計数値が共通に入力される。 Here, as shown in FIG. 30, the digital pulse width conversion circuit 51 according to this embodiment includes a plurality of pulse generation circuits 52-0 to 52-(n−1) arranged in parallel, and one counter 53. Have. The data input terminal Din of the pulse generating circuit 52-0~52- (n-1), each of the digital input values of m bits x 0 ~x n-1 are inputted. Then, the pulse from the output terminal Pout, pulse PWM 0 ~PWM n-1 time width proportional to the digital input value x 0 ~x n-1 of each pulse generating circuit 52-0~52- (n-1) Is output. The counter 53 counts the clock clock input from the outside and outputs it as an m-bit count value. In addition, the count value output from the counter 53 is commonly input to the counter value input terminals CNT of the pulse generation circuits 52-0 to 52- (n-1).

図31は図30の各パルス生成回路の構成を表すブロック図である。パルス生成回路52−i(i∈{0,1,…,n-1})は、パルス幅レジスタ62、タイミングトリガ発生回路64、及び出力パルス反転回路65を有している。パルス幅レジスタ62は、外部から入力されるmビットのデジタル値である入力値xを更新入力renewの立ち上がりにおいてラッチして、その値を出力ノードに出力する。タイミングトリガ発生回路64は、パルス幅レジスタ62から出力されるmビットのデジタル値の各ビットと、カウンタ53が出力するmビットの計数値の各ビットとを比較して、両者が完全に一致したときにトリガを発生する。 FIG. 31 is a block diagram showing the configuration of each pulse generation circuit of FIG. The pulse generation circuit 52-i (i∈ {0, 1,..., N−1}) includes a pulse width register 62, a timing trigger generation circuit 64, and an output pulse inversion circuit 65. Pulse width register 62 latches the rising of the input value x i update input renew an m-bit digital value input from the outside, and outputs the value to the output node. The timing trigger generation circuit 64 compares each bit of the m-bit digital value output from the pulse width register 62 with each bit of the m-bit count value output from the counter 53, and the two match completely. When trigger occurs.

このタイミングトリガ発生回路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に対して出力する。 The timing trigger generation circuit 64 includes m EXOR gates 66-0 to 66- (m-1) and one NOR gate 67. An output bit from the pulse width register 62 is input to one of the inputs of each EXOR gate 66-0 to 66- (m−1), and an output bit from the counter 53 is input to the other input. The The outputs P 0 to P m−1 of the EXOR gates 66-0 to 66- (m−1) are input to the NOR gate 67. The NOR gate 67 outputs an inverted output of the logical sum of the outputs P 0 to P m−1 of the EXOR gates 66-0 to 66- (m−1) to the output pulse inversion circuit 65.

すなわち、各デジタル入力値xi(i∈{0,1,…,n-1})、カウンタの出力値CNTを式(1),(3)により表した場合、タイミングトリガ発生回路64の出力Tiは式(6)のように表される。但し、ここでxiは0でないと仮定する。 That is, when each digital input value x i (i∈ {0, 1,..., N−1}) and the counter output value CNT are expressed by the equations (1) and (3), the output of the timing trigger generation circuit 64 T i is expressed as in Equation (6). Here, it is assumed that x i is not 0.

Figure 0004272967
(6)
Figure 0004272967
(6)

式(6)より、タイミングトリガ発生回路64の出力Tiはデジタル入力値xiとカウンタの出力値CNTが、総てのビットにおいて一致したときに1となることが分かる。出力パルス反転回路65は、タイミングトリガ発生回路64がトリガを発生したときに、出力パルスPWMiの真理値を反転させる。この出力パルス反転回路65は、Tフリップ・フロップ(以下、「T−FF」という。)により構成されている。出力パルス反転回路65のトリガ入力端子TにはNORゲート67からの出力値が入力される。また、出力パルス反転回路65の出力端子Qからは、パルスPWMiが出力される。 From Expression (6), it can be seen that the output T i of the timing trigger generation circuit 64 becomes 1 when the digital input value x i and the output value CNT of the counter match in all bits. The output pulse inversion circuit 65 inverts the truth value of the output pulse PWM i when the timing trigger generation circuit 64 generates a trigger. The output pulse inversion circuit 65 is constituted by a T flip-flop (hereinafter referred to as “T-FF”). The output value from the NOR gate 67 is input to the trigger input terminal T of the output pulse inverting circuit 65. The pulse PWM i is output from the output terminal Q of the output pulse inverting circuit 65.

以上のように構成された本実施形態に係るデジタル・パルス幅変換回路について、以下その動作を図32のタイミング・チャートを参照しながら説明する。   The operation of the digital pulse width conversion circuit according to this embodiment configured as described above will be described below with reference to the timing chart of FIG.

まず、電源を入れた直後の初期状態では、カウンタ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にパルスが出力され始める。 First, in the initial state immediately after the power is turned on, it is assumed that all the count values CNT of the counter 53 are at the H level and the input value x i is 0. In this state, at time t 0 , the reset input reset input to the counter 53 and the pulse width register 62 is made valid (L level). As a result, all the count values CNT of the counter 53 are reset to zero. The pulse width register 62 resets all stored values to 0 when the reset signal reset is set to L level. Then, the output value of the count value CNT and the pulse width register 62 of the counter 53 and the match, the output T i of the timing trigger generation circuit 64 is inverted from L level to H level. Accordingly, the output Pout i of the output pulse inverting circuit 65 is inverted to H level, and a pulse starts to be output to the output Pout i .

次に、時刻t1において、各パルス生成回路52−iに対して、外部回路から入力値x(Xi≠(0,0,…,0))が入力される。このとき、パルス幅レジスタ62に入力されているリセット信号resetがLレベルなので、パルス幅レジスタ62の出力は総て0のままである。 Next, at time t 1, for each pulse generating circuit 52-i, the input value from the external circuit x i (X i ≠ (0,0 , ..., 0)) is input. At this time, since the reset signal reset input to the pulse width register 62 is at the L level, all outputs of the pulse width register 62 remain zero.

次いで、時刻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を出力し続ける。 Then, at time t 2, the the reset input reset is disabled (H level), the update signal renew is inverted from L level to H level. The update signal renew is input to the clock CLK input node of each pulse width register 62. When the update signal renew is inverted to the H level, the pulse width register 62 latches the value of the input value x i at that time. . Accordingly, the output value of the pulse width register 62 is the input value x i. On the other hand, since the count value CNT of the counter 53 is still 0, the output of the pulse width register 62 and the count value CNT of the counter 53 do not match, and the output T of the timing trigger generation circuit 64 is inverted from H level to L level. The counter 53 starts counting the clock clock when the reset signal reset is inverted from the L level to the H level. At this time, the pulse width register 62 continues to output the latched sum value x i.

クロックclockとともにカウンタ53がカウントアップし、時刻t3においてカウンタ53の計数値CNTが切換回路63の出力値であるxiと一致する。このとき、タイミングトリガ発生回路64の出力値TはLレベルからHレベルに反転する。これにより、出力パルス反転回路65の出力PoutiはHレベルからLレベルに反転する。これにより、出力パルス反転回路65の出力PoutiのパルスPWMiの幅が確定する。このパルス幅は、デジタル入力値xに比例することから、デジタル・パルス幅変換が行われたこととなる。 The counter 53 counts up with the clock clock, and the count value CNT of the counter 53 coincides with x i that is the output value of the switching circuit 63 at time t 3 . At this time, the output value T of the timing trigger generation circuit 64 is inverted from the L level to the H level. As a result, the output Pout i of the output pulse inverting circuit 65 is inverted from the H level to the L level. Thereby, the width of the pulse PWM i of the output Pout i of the output pulse inverting circuit 65 is determined. Since this pulse width is proportional to the digital input value x i , digital pulse width conversion is performed.

更に、時刻t3から1クロック経過した時刻t4において、カウンタ53がカウントアップしてカウンタ53の計数値CNTが切換回路63の出力値xiと不一致となると、タイミングトリガ発生回路64の出力TiはHレベルからLレベルに反転する。 Further, at time t 4 when the time t 3 has elapsed one clock, the counter 53 count CNT of counting up the counter 53 becomes the output value x i and mismatch of the switching circuit 63, the output T of the timing trigger generation circuit 64 i is inverted from H level to L level.

そして、カウンタ53はカウントアップするまで計数を続ける。この間、カウンタ53の計数値CNTと入力値xiとが一致することはないので、タイミングトリガ発生回路64の出力TiはLレベルを保持し、出力パルス反転回路65の出力もLレベルに保持される。カウンタ53がカウントアップするとカウンタ53の計数値は総て0となり、1サイクルが終了する。そして、続けて同様のサイクルが繰り返される。 The counter 53 continues counting until it counts up. During this time, the count value CNT of the counter 53 and the input value x i do not match, so the output T i of the timing trigger generation circuit 64 holds the L level and the output of the output pulse inversion circuit 65 also holds the L level. Is done. When the counter 53 counts up, all count values of the counter 53 become 0, and one cycle is completed. Subsequently, the same cycle is repeated.

以上のようにして、各パルス生成回路52−i(i=0,…,n−1)は、入力値xの値に比例した時間幅の出力パルスPWMを出力する。(ただし、この時間幅は、厳密にはreset信号がLの期間の2クロック分のオフセットが入る。これは、xiからあらかじめ2を引いておくなどの処理で対処できる。) As described above, each pulse generation circuit 52-i (i = 0,..., N−1) outputs the output pulse PWM i having a time width proportional to the input value x i . (However, this time width is strictly offset by 2 clocks during the period when the reset signal is L. This can be dealt with by subtracting 2 from x i in advance.)

このとき、各パルス生成回路52−iは、共通のカウンタ53が出力する計数値CNTを用いて、デジタル入力値xとの比較を行う。従って、総てのパルス生成回路52−iにカウンタを備えた場合と比べると、消費電力が極めて小さくなる。すなわち、総てのパルス生成回路52−iにカウンタを備えた場合には、各カウンタ内のスイッチング素子はクロックごとに少なくとも一つの素子の切換が行われる。従って、例えば、スイッチング素子としてCMOSを使用した場合、切換に伴って貫通電流や負荷への充放電電流が流れる。そのため、デジタル・パルス幅変換回路全体としての消費電力は大きくなる。 In this case, the pulse generating circuits 52-i, using the count value CNT to a common counter 53 outputs, and compares the digital input value x i. Therefore, the power consumption is extremely small as compared with the case where all the pulse generation circuits 52-i are provided with counters. That is, when all the pulse generation circuits 52-i are provided with counters, at least one of the switching elements in each counter is switched every clock. Therefore, for example, when a CMOS is used as the switching element, a through current and a charge / discharge current to the load flow along with the switching. Therefore, the power consumption of the entire digital pulse width conversion circuit is increased.

一方、本実施形態のように、一つのカウンタ53を駆動し、各パルス生成回路52−iはこの共通のカウンタ53の出力値を参照してパルスの切り換えを行うようにすると、カウンタ53内のスイッチング素子の切換に伴って生じる貫通電流や負荷への充放電電流も少なく、消費電力も小さい。従って、デジタル・パルス幅変換回路51の低消費電力化が図られる。また、カウンタ53を共通化したことにより、回路のレイアウト面積が小さくなり、デジタル・パルス幅変換回路51の小型化が図られる。   On the other hand, as in the present embodiment, when one counter 53 is driven and each pulse generation circuit 52-i refers to the output value of the common counter 53 to switch the pulse, There are few through currents and charge / discharge currents to the load caused by switching of the switching elements, and power consumption is also small. Therefore, the power consumption of the digital pulse width conversion circuit 51 can be reduced. Since the counter 53 is shared, the circuit layout area is reduced, and the digital pulse width conversion circuit 51 can be downsized.

(第三の実施形態)
第三の実施形態におけるアナログ・デジタル混載型の演算回路200の構成例を図8に示す。
(Third embodiment)
FIG. 8 shows a configuration example of an analog / digital mixed arithmetic circuit 200 according to the third embodiment.

図8から分かるように、本実施形態は、第一及び第二の実施形態で説明したアナログ・デジタル混載型の演算回路100において、それぞれのアナログ演算回路3の前段に、デジタルメモリ20と、D/A変換回路300が付加されていることが第一及び第二の実施形態と異なっている。   As can be seen from FIG. 8, in the analog / digital mixed arithmetic circuit 100 described in the first and second embodiments, the present embodiment includes a digital memory 20 and a D memory in front of each analog arithmetic circuit 3. The difference between the first and second embodiments is that the / A conversion circuit 300 is added.

従って本実施形態の説明においては、第一及び第二の実施形態と異なるD/A変換回路300の処理に関してのみ説明を行い、それ以外の処理に関しては第一及び第二の実施形態と同様として説明を省略する。   Therefore, in the description of the present embodiment, only the processing of the D / A conversion circuit 300 different from the first and second embodiments will be described, and the other processing is the same as in the first and second embodiments. Description is omitted.

また、図9に示すように、D/A変換回路300は、デジタル・パルス幅変換回路21と、電流源22と、キャパシタ23と、バッファ24から構成されている。なおD/A変換回路300の処理に関しては、デジタル・パルス幅変換回路21において並列に行なわれる処理は第一及び第二の実施形態と同様であるため、説明を省略する。   As shown in FIG. 9, the D / A conversion circuit 300 includes a digital pulse width conversion circuit 21, a current source 22, a capacitor 23, and a buffer 24. Regarding the processing of the D / A conversion circuit 300, the processing performed in parallel in the digital / pulse width conversion circuit 21 is the same as that in the first and second embodiments, and thus the description thereof is omitted.

図9に示すように、まずD/A変換回路300において、乗算値Bに相当するデジタル値をデジタルメモリからデジタル・パルス幅変換回路21に入力する。デジタル値が入力されたデジタル・パルス幅変換回路21では、第一及び第二の実施形態と同様の処理を行いPWM信号を出力する。続いて、PWM信号はそれぞれ電流源22の動作のオン・オフを制御する。   As shown in FIG. 9, first, in the D / A conversion circuit 300, a digital value corresponding to the multiplication value B is input from the digital memory to the digital / pulse width conversion circuit 21. The digital pulse width conversion circuit 21 to which the digital value is input performs the same processing as in the first and second embodiments and outputs a PWM signal. Subsequently, the PWM signal controls the on / off operation of the current source 22, respectively.

すなわち本実施形態においては、PWM信号がHighの期間は電流源22がオンとなり、キャパシタ23に所定の電流が流れ込む。またPWM信号がLowの期間は電流源22がオフとなり、キャパシタ23への電流の流入がストップする。結果として、キャパシタ23にはそれぞれのPWM信号の時間幅に比例した電荷量が蓄積される。キャパシタ23においては、蓄積した電荷量はバッファ24を介して電圧値として参照することができるため、図8に示すようにアナログ演算回路に対して乗算値Bに相当するアナログ電圧値として入力される。   That is, in the present embodiment, the current source 22 is turned on while the PWM signal is High, and a predetermined current flows into the capacitor 23. Further, during the period when the PWM signal is low, the current source 22 is turned off, and the current flow into the capacitor 23 is stopped. As a result, the capacitor 23 accumulates a charge amount proportional to the time width of each PWM signal. In the capacitor 23, the accumulated charge amount can be referred to as a voltage value via the buffer 24, so that it is input as an analog voltage value corresponding to the multiplication value B to the analog arithmetic circuit as shown in FIG. .

続いて図10のフローチャートを用いて、以上の演算処理フローの説明を行なう。   Next, the above arithmetic processing flow will be described with reference to the flowchart of FIG.

図10において、まずデジタル信号Aiの入力工程S1を実行し、次にそれぞれのデジタル・パルス幅変換回路において、デジタル信号をPWM信号に変換する工程を実行する。次にデジタル信号Bi(電圧Vw)の入力工程S6を実行し、次にD/A変換回路において、デジタル信号をアナログ信号に変換するD/A変換工程S7を実行する。   In FIG. 10, first, the input step S1 of the digital signal Ai is executed, and then the step of converting the digital signal into a PWM signal is executed in each digital pulse width conversion circuit. Next, the input step S6 of the digital signal Bi (voltage Vw) is executed, and then the D / A conversion step S7 for converting the digital signal into an analog signal is executed in the D / A conversion circuit.

続いて、それぞれのアナログ演算回路において、工程S5,S7からの出力であるPWM信号とアナログ電圧Vwを乗算する工程S3を実行する。次に、それぞれのアナログ演算回路において並列に算出された乗算値をキャパシタにおいて電荷量として蓄積し、部分和Σ(Ai×Bi)として保持する工程S4を実行する。   Subsequently, in each analog arithmetic circuit, step S3 for multiplying the PWM signal, which is the output from steps S5 and S7, and the analog voltage Vw is executed. Next, step S4 is performed in which the multiplication values calculated in parallel in the respective analog arithmetic circuits are accumulated as charge amounts in the capacitors and are held as partial sums Σ (Ai × Bi).

以上説明した演算フローを累算値を算出するために必要な回数(本実施形態では3回)繰り返すことにより、所望の累算値が算出される。   A desired accumulated value is calculated by repeating the operation flow described above as many times as necessary for calculating the accumulated value (three times in the present embodiment).

なお前記の演算フローは、必要に応じて複数回繰り返して、その演算結果をキャパシタに電荷として追加蓄積していっても構わない(図10では、S4を部分和算出としているが、演算結果をキャパシタに電荷として追加蓄積していく場合は、最終的に算出された累算値に相当する電荷量がキャパシタに蓄積される)。またもしくは、一旦キャパシタに電荷として蓄積した演算結果を別の記憶回路に保存した後、新たに前記の演算フローを行なうものであっても構わない。   The calculation flow may be repeated a plurality of times as necessary, and the calculation result may be additionally accumulated as a charge in the capacitor (in FIG. 10, S4 is a partial sum calculation. In the case of additional accumulation as charge in the capacitor, the amount of charge corresponding to the finally calculated accumulated value is accumulated in the capacitor). Alternatively, the calculation result once stored as a charge in the capacitor may be stored in another storage circuit, and then the calculation flow may be newly performed.

以上のように、D/A変換回路において低消費電力で複数のデジタル入力値を並列的にパルス幅に変換するデジタル・パルス幅変換回路を用いることで、低消費電力かつレイアウト面積が小さいアナログ・デジタル混載型の演算回路を実現することが可能となる。   As described above, by using a digital pulse width conversion circuit that converts multiple digital input values into pulse widths in parallel with low power consumption in the D / A converter circuit, low power consumption and a small layout area It is possible to realize a digital mixed type arithmetic circuit.

(第四の実施形態)
以下、図面を参照して第四の実施形態を詳細に説明する。図11は、本実施形態でのアナログ・デジタル混載型の演算回路400の全体構成図を示す。
(Fourth embodiment)
Hereinafter, the fourth embodiment will be described in detail with reference to the drawings. FIG. 11 is an overall configuration diagram of an analog / digital mixed arithmetic circuit 400 according to this embodiment.

図11に示すように、アナログ・デジタル混載型の演算回路は、複数のアナログ演算回路3、前記複数のアナログ演算回路3に接続するキャパシタ4と、図12に示すコンパレータ28とパルス幅・デジタル変換回路29から構成されるA/D変換回路500と、デジタル加算回路25と、デジタルメモリ26とから構成される。このアナログ・デジタル混載型の演算回路400は、複数の乗算結果の累算値を算出する機能を実現するものである。   As shown in FIG. 11, the analog / digital mixed type arithmetic circuit includes a plurality of analog arithmetic circuits 3, a capacitor 4 connected to the plurality of analog arithmetic circuits 3, a comparator 28 shown in FIG. An A / D conversion circuit 500 including a circuit 29, a digital addition circuit 25, and a digital memory 26 are included. This analog / digital mixed arithmetic circuit 400 realizes a function of calculating an accumulated value of a plurality of multiplication results.

また図2は、図11に示されたアナログ演算回路3とキャパシタ4の構成を詳細に説明したものである。図2に示すように、本実施形態でのアナログ演算回路3とキャパシタ4は、キャパシタ4に接続するバスに、複数のアナログ演算回路3が並列に接続する構成となっている。   FIG. 2 illustrates in detail the configuration of the analog arithmetic circuit 3 and the capacitor 4 shown in FIG. As shown in FIG. 2, the analog arithmetic circuit 3 and the capacitor 4 in this embodiment are configured such that a plurality of analog arithmetic circuits 3 are connected in parallel to a bus connected to the capacitor 4.

また図3は、本実施形態でのアナログ演算回路3の詳細な回路構成を示す。図3に示すように、本実施形態でのアナログ演算回路3は、定電流源として機能する1つのPMOSトランジスタM1を有する。   FIG. 3 shows a detailed circuit configuration of the analog arithmetic circuit 3 in the present embodiment. As shown in FIG. 3, the analog arithmetic circuit 3 in this embodiment has one PMOS transistor M1 that functions as a constant current source.

また図12は、本実施形態におけるA/D変換回路500の構成を説明するものである。図13は、A/D変換回路500を構成するパルス幅・デジタル変換回路29の構成を表すブロック図である。図14は、パルス幅・デジタル変換回路29における終端ラッチ回路32-1〜32-(n-1)の内部構成を表すブロック図である。図15は、ラッチ回路33-0〜33-(n-1)の内部構成を表すブロック図である。図16は、パルス幅・デジタル変換回路29の各信号レベルの変化を表すタイムチャートである。   FIG. 12 illustrates the configuration of the A / D conversion circuit 500 in the present embodiment. FIG. 13 is a block diagram showing the configuration of the pulse width / digital conversion circuit 29 constituting the A / D conversion circuit 500. FIG. 14 is a block diagram showing the internal configuration of the termination latch circuits 32-1 to 32- (n-1) in the pulse width / digital conversion circuit 29. FIG. 15 is a block diagram showing an internal configuration of the latch circuits 33-0 to 33- (n-1). FIG. 16 is a time chart showing changes in each signal level of the pulse width / digital conversion circuit 29.

ここでは、まず図3を用いてアナログ演算回路3の演算処理過程について説明し、続いて図2を用いてアナログ演算回路3による演算結果が、どのように部分和としてキャパシタ4に保持されるかについて説明し、さらに図11を用いて、どのように部分和から所望の累算値を算出するかについて説明していく。続いて、図13、図14、図15、図16を用いて、A/D変換回路500の処理過程についてさらに詳しく説明していく。   Here, the arithmetic processing process of the analog arithmetic circuit 3 will be described first with reference to FIG. 3, and then how the arithmetic operation result by the analog arithmetic circuit 3 will be held in the capacitor 4 as a partial sum with reference to FIG. Next, how to calculate a desired accumulated value from a partial sum will be described with reference to FIG. Subsequently, the processing steps of the A / D conversion circuit 500 will be described in more detail with reference to FIGS. 13, 14, 15, and 16.

図3に示すアナログ演算回路3は、本実施形態においては被乗算値Aと乗算値Bの乗算:(A×B)を実現する。なおA、Bは、A≧0、B≧0を満たすものとする。   The analog arithmetic circuit 3 shown in FIG. 3 realizes multiplication (A × B) of the multiplied value A and the multiplied value B in this embodiment. A and B satisfy A ≧ 0 and B ≧ 0.

ここで、被乗算値Aと乗算値Bは、前記乗算をアナログ演算回路3で実現するために、後述するように所定の換算を施したPWM信号PWM5と、アナログ電圧Vw6としてそれぞれ入力される。   Here, the multiplied value A and the multiplied value B are respectively input as a PWM signal PWM5 subjected to predetermined conversion and an analog voltage Vw6 as will be described later in order to realize the multiplication by the analog arithmetic circuit 3.

なお、アナログ演算回路3に入力される前記PWM信号及びアナログ電圧は、必要に応じて外部電源装置によって入力することも可能であるが、例えば第一、第二及び第三の実施形態で説明したPWM信号及びアナログ電圧の入力過程と同様に、デジタル値を変換して入力することが可能である。   The PWM signal and the analog voltage input to the analog arithmetic circuit 3 can be input by an external power supply device as necessary. For example, as described in the first, second, and third embodiments. Similar to the input process of the PWM signal and the analog voltage, the digital value can be converted and input.

本実施形態においては、PWM信号及びアナログ電圧を第一、第二及び第三の実施形態で説明した入力過程と同様に入力することを想定しているが、詳細な入力過程の説明は第一、第二及び第三の実施形態における説明と同様のものとして省略する。なお、アナログ演算回路3は、前記乗算を実現するもの以外でも、何らかの演算(たとえば非線形変換等)を行うものであれば別のアナログ演算回路でも構わない。   In the present embodiment, it is assumed that the PWM signal and the analog voltage are input in the same manner as the input process described in the first, second, and third embodiments. The description is the same as that in the second and third embodiments. The analog arithmetic circuit 3 may be another analog arithmetic circuit as long as it performs some arithmetic (for example, non-linear conversion) other than the one that realizes the multiplication.

まず図3において、被乗算値Aに所定の換算を施したPWM信号PWM5が入力端子7に入力され、また乗算値Bに所定の換算を施したアナログ電圧Vw6が入力端子8に入力される。   First, in FIG. 3, a PWM signal PWM5 obtained by performing a predetermined conversion on the multiplied value A is input to the input terminal 7, and an analog voltage Vw6 obtained by performing a predetermined conversion on the multiplied value B is input to the input terminal 8.

M1のゲート端子には、入力端子8に入力された乗算値Bに相当するVw6の電圧がかかる。また、M1のソース端子には、入力端子7よりPWM信号PWM5が入力される。なおPWM信号は、Lowレベルを0V、Highレベルを電源電圧Vdd(本実施形態では3.3V)と設定している。   A voltage of Vw6 corresponding to the multiplication value B input to the input terminal 8 is applied to the gate terminal of M1. The PWM signal PWM5 is input from the input terminal 7 to the source terminal of M1. In the PWM signal, the Low level is set to 0 V, and the High level is set to the power supply voltage Vdd (3.3 V in this embodiment).

ここで、PWM信号がHighレベルの時、すなわちM1のソース端子にVddが加えられた時に、M1が飽和領域で動作するようにアナログ電圧Vw6を適切な電圧範囲に設定することにより、PWM信号がHighレベルの間、M1を定電流源として動作させることができる。   Here, when the PWM signal is at a high level, that is, when Vdd is applied to the source terminal of M1, by setting the analog voltage Vw6 to an appropriate voltage range so that M1 operates in the saturation region, the PWM signal becomes During the high level, M1 can be operated as a constant current source.

またこの時、M1を流れる電流量は、ゲート−ソース間電圧、すなわち(Vdd−Vw)で決定される。この時、PWM信号PWM5のパルス幅は、被乗算値Aに比例するように換算されている。またアナログ電圧Vw6は、(Vdd−Vw)によって決定される電流量が乗算値Bに比例するように換算されている。   At this time, the amount of current flowing through M1 is determined by the gate-source voltage, that is, (Vdd-Vw). At this time, the pulse width of the PWM signal PWM5 is converted to be proportional to the multiplied value A. The analog voltage Vw6 is converted so that the amount of current determined by (Vdd−Vw) is proportional to the multiplication value B.

従ってM1は、PWM信号がHighレベルの間だけ前記(Vdd−Vw)により決定される電流を流すため、PWM信号がHighレベルの間にM1が流す総電荷量は、A×Bに比例したものとなる。   Therefore, since M1 passes a current determined by (Vdd−Vw) only while the PWM signal is at a high level, the total amount of charge that M1 flows while the PWM signal is at a high level is proportional to A × B. It becomes.

続いて図2を用いて、アナログ演算回路3による演算結果が、どのように部分和としてキャパシタ4に保持されるかについて説明する。図2において、前記のようにM1が流す電荷量は、バスによってアナログ演算回路3に接続されたキャパシタ4に蓄積される。   Next, how the calculation result by the analog calculation circuit 3 is held in the capacitor 4 as a partial sum will be described with reference to FIG. In FIG. 2, the amount of charge that M1 flows as described above is stored in the capacitor 4 connected to the analog arithmetic circuit 3 by the bus.

ここで、バスにはそれぞれ独立に演算を行う複数のアナログ演算回路3が接続されているため、それぞれのアナログ演算回路により並列に実行された演算結果、すなわち、上で説明した電荷量は、バスを通してキャパシタ4に蓄積され、加算される。   Here, since a plurality of analog arithmetic circuits 3 that perform arithmetic operations independently are connected to the bus, the arithmetic result executed in parallel by each analog arithmetic circuit, that is, the charge amount described above is Is accumulated in the capacitor 4 and added.

従って、一回の並列な演算処理が完了するごとにキャパシタ4に蓄積される総電荷量は、共通のバスでキャパシタ4に接続された複数のアナログ演算回路3の演算結果の総和値を示している。なお後述するように、この総和値は、最終的に算出しようとする累算値の部分和に相当している。   Therefore, the total amount of electric charge accumulated in the capacitor 4 every time one parallel arithmetic process is completed indicates the sum of the arithmetic results of the plurality of analog arithmetic circuits 3 connected to the capacitor 4 through a common bus. Yes. As will be described later, this total value corresponds to a partial sum of accumulated values to be finally calculated.

なお、PWM信号を用いて前記乗算を実現できるものであれば、その他のアナログ演算回路を用いても構わない。   Other analog arithmetic circuits may be used as long as the multiplication can be realized using a PWM signal.

続いて、図11を用いて前記部分和から所望の累算値を算出する過程について説明していく。   Next, a process of calculating a desired accumulated value from the partial sum will be described with reference to FIG.

本実施形態において、所望の累算値は以下の演算式(7)で表されるとする。   In the present embodiment, it is assumed that a desired accumulated value is represented by the following arithmetic expression (7).

Figure 0004272967
(7)
Figure 0004272967
(7)

これに対して、最終的な累算値を求めるために、図2に示す4つのアナログ演算回路3がバスを介してキャパシタ4に接続した構成を用いる。なお、この際トータルの演算個数(本実施形態では12)が、アナログ演算回路数(4個)の倍数となっていなくても、乗算値B=0に相当するアナログ電圧Vw6を入力することで、演算個数を調整することができる。   On the other hand, in order to obtain the final accumulated value, a configuration in which the four analog arithmetic circuits 3 shown in FIG. 2 are connected to the capacitor 4 via the bus is used. At this time, even if the total number of operations (12 in this embodiment) is not a multiple of the number of analog operation circuits (4), the analog voltage Vw6 corresponding to the multiplication value B = 0 is input. The number of operations can be adjusted.

ここでは、まず図2を用いて説明したように、4つのアナログ演算回路3によって、以下の演算式(8)で表される演算を並列に行い、演算結果を電荷量としてキャパシタ4に保持する。   Here, as described with reference to FIG. 2, the calculation represented by the following calculation expression (8) is performed in parallel by the four analog calculation circuits 3, and the calculation result is held in the capacitor 4 as a charge amount. .

Figure 0004272967
(8)
Figure 0004272967
(8)

ここでの演算結果は、所望の演算(演算式(7))に対する部分和とみなすことができる。   The calculation result here can be regarded as a partial sum for a desired calculation (calculation expression (7)).

続いて、キャパシタ4に電荷量としてアナログ的に保持した演算結果をA/D変換回路500によってデジタル値に変換する。そしてさらに、デジタル加算回路25によって、前記デジタル値をデジタルメモリ26に保存されているデジタル値に加算し、その演算結果をデジタルメモリ26に保持する。   Subsequently, the calculation result held in the capacitor 4 in an analog manner as the charge amount is converted into a digital value by the A / D conversion circuit 500. Further, the digital addition circuit 25 adds the digital value to the digital value stored in the digital memory 26 and holds the calculation result in the digital memory 26.

なお前記演算は、所望の演算(演算式(7))に対する一つ目の部分和の演算であるため、デジタルメモリ26に事前に保持された部分和は存在せず、全て0が保持されている。従って、ここでデジタルメモリ26に保持されたデジタル値は、演算式(8)の演算結果と等しい。   Since the above calculation is the first partial sum calculation for the desired calculation (calculation expression (7)), there is no partial sum held in advance in the digital memory 26 and all 0s are held. Yes. Accordingly, the digital value held in the digital memory 26 here is equal to the calculation result of the calculation formula (8).

続いて、二つ目の部分和の演算を前記と同様にアナログ演算回路3によって行う。すなわち、図2を用いて説明したように、4つのアナログ演算回路3によって、以下の演算式(9)で表される演算を並列に行い、演算結果を電荷量としてキャパシタ4に保持する。   Subsequently, the second partial sum operation is performed by the analog operation circuit 3 in the same manner as described above. That is, as described with reference to FIG. 2, the four analog operation circuits 3 perform the operation represented by the following operation expression (9) in parallel, and the operation result is held in the capacitor 4 as a charge amount.

Figure 0004272967
(9)
Figure 0004272967
(9)

ここでの演算結果は、所望の演算(演算式(7))に対する部分和とみなすことができる。   The calculation result here can be regarded as a partial sum for a desired calculation (calculation expression (7)).

続いて、キャパシタ4に電荷量としてアナログ的に保持した演算結果をA/D変換回路500によってデジタル値に変換する。   Subsequently, the calculation result held in the capacitor 4 in an analog manner as the charge amount is converted into a digital value by the A / D conversion circuit 500.

そしてさらに、デジタル加算回路25によって、前記デジタル値をデジタルメモリ26に保存されているデジタル値に加算し、その演算結果をデジタルメモリ26に保持する。   Further, the digital addition circuit 25 adds the digital value to the digital value stored in the digital memory 26 and holds the calculation result in the digital memory 26.

ここで、デジタルメモリ26に事前に保持されていたデジタル値は、演算式(8)の演算結果に相当するため、演算式(9)の演算結果を加算してデジタルメモリ26に保存した結果は、以下の演算式(10)で表される。   Here, since the digital value held in advance in the digital memory 26 corresponds to the calculation result of the calculation formula (8), the result of adding the calculation result of the calculation formula (9) and storing it in the digital memory 26 is Is expressed by the following arithmetic expression (10).

Figure 0004272967
(10)
Figure 0004272967
(Ten)

続いて、三つ目の部分和の演算を前記と同様にアナログ演算回路3によって行う。すなわち、図2を用いて説明したように、4つのアナログ演算回路3によって、以下の演算式(11)で表される演算を並列に行い、演算結果を電荷量としてキャパシタ4に保持する。   Subsequently, the calculation of the third partial sum is performed by the analog arithmetic circuit 3 as described above. That is, as described with reference to FIG. 2, the four analog arithmetic circuits 3 perform the operation represented by the following arithmetic expression (11) in parallel, and the operation result is held in the capacitor 4 as a charge amount.

Figure 0004272967
(11)
Figure 0004272967
(11)

ここでの演算結果は、所望の演算(演算式(7))に対する部分和とみなすことができる。   The calculation result here can be regarded as a partial sum for a desired calculation (calculation expression (7)).

続いて、キャパシタ4に電荷量としてアナログ的に保持した演算結果をA/D変換回路500によってデジタル値に変換する。   Subsequently, the calculation result held in the capacitor 4 in an analog manner as the charge amount is converted into a digital value by the A / D conversion circuit 500.

そしてさらに、デジタル加算回路25によって、前記デジタル値をデジタルメモリ26に保存されているデジタル値に加算し、その演算結果をデジタルメモリ26に保持する。   Further, the digital addition circuit 25 adds the digital value to the digital value stored in the digital memory 26 and holds the calculation result in the digital memory 26.

ここで、デジタルメモリ26に事前に保持されていたデジタル値は、演算式(10)の演算結果に相当するため、演算式(11)の演算結果を加算してデジタルメモリ26に保存した結果は、以下の演算式(12)で表されるように、所望の累算値となる。   Here, since the digital value previously held in the digital memory 26 corresponds to the calculation result of the calculation formula (10), the result of adding the calculation result of the calculation formula (11) and storing it in the digital memory 26 is As shown by the following arithmetic expression (12), a desired accumulated value is obtained.

Figure 0004272967
(12)
Figure 0004272967
(12)

以上説明したように、複数の乗算をアナログ演算回路3によりアナログ的に行い、それぞれの結果をキャパシタ4でアナログ的に加算して所望の累算値に対する部分和を算出する。   As described above, a plurality of multiplications are performed in an analog manner by the analog arithmetic circuit 3, and the respective results are added in an analog manner by the capacitor 4 to calculate a partial sum for a desired accumulated value.

さらに前記のように算出された部分和をA/D変換器500によりデジタルデータに変換した後、デジタル加算回路25により、デジタルメモリ26が保持する値にデジタル的に加算することにより所望の演算を実現する。   Further, after the partial sum calculated as described above is converted into digital data by the A / D converter 500, the digital addition circuit 25 digitally adds the digital sum to the value held in the digital memory 26, thereby performing a desired calculation. Realize.

続いて、前記のA/D変換回路500において行なわれる処理について詳しく説明する。   Next, processing performed in the A / D conversion circuit 500 will be described in detail.

図12に示すように、A/D変換回路500はコンパレータ28とパルス幅・デジタル変換回路29から構成される。キャパシタ4に電荷として蓄積された演算結果は、キャパシタ4において電圧値として参照される。ここで、前記電圧値をコンパレータ28に入力し、コンパレータ28において別途入力された任意の電圧波形と比較を行なう。   As shown in FIG. 12, the A / D conversion circuit 500 includes a comparator 28 and a pulse width / digital conversion circuit 29. The calculation result stored as electric charge in the capacitor 4 is referred to as a voltage value in the capacitor 4. Here, the voltage value is input to the comparator 28 and compared with an arbitrary voltage waveform separately input in the comparator 28.

ここで前記任意の電圧波形は、電圧値が線形に上昇するランプ電圧波形27であっても良いし、その他の非線形電圧波形であっても良い。本実施形態で使用するランプ電圧波形27の場合は、キャパシタに蓄積された演算結果が線形変換されてPWM信号幅が設定される。また、その他の非線形電圧波形の場合は、キャパシタに蓄積された演算結果が非線形変換されてPWM信号幅が設定される。   Here, the arbitrary voltage waveform may be the ramp voltage waveform 27 in which the voltage value rises linearly, or may be another nonlinear voltage waveform. In the case of the ramp voltage waveform 27 used in the present embodiment, the calculation result stored in the capacitor is linearly converted to set the PWM signal width. In the case of other nonlinear voltage waveforms, the calculation result stored in the capacitor is nonlinearly converted to set the PWM signal width.

すなわちコンパレータ28の出力値が、ランプ電圧波形27のスタート時にHighレベルに立ち上がり、ランプ電圧値27とキャパシタ4の電圧値が等しくなった時点でLowレベルに立ち下がることでPWM信号に変換される。   That is, the output value of the comparator 28 rises to a high level at the start of the ramp voltage waveform 27 and falls to a low level when the ramp voltage value 27 and the voltage value of the capacitor 4 become equal, thereby being converted into a PWM signal.

なお、コンパレータ28によるアナログ電圧のPWM信号への変換処理は、一般的に広く知られた技術であり、本発明の主眼とするところではないため、これ以上の詳しい説明は省略する。続いて、コンパレータ27から出力されたPWM信号はパルス幅・デジタル変換回路29に入力される。   The conversion process of the analog voltage into the PWM signal by the comparator 28 is a generally well-known technique and is not the main point of the present invention. Subsequently, the PWM signal output from the comparator 27 is input to the pulse width / digital conversion circuit 29.

図13はパルス幅・デジタル変換回路29の構成を表すブロック図である。   FIG. 13 is a block diagram showing the configuration of the pulse width / digital conversion circuit 29.

本実施形態におけるパルス幅・デジタル変換回路29は、カウンタ31、及びn個(n>2)の終端ラッチ回路32-0〜32-(n-1)を有している。パルス幅・デジタル変換回路29には、外部からクロックCLK、パルス出力トリガXRST、及びn個のPWM信号PW0〜PWn-1が入力される。また、電源電圧VDD及び基板電圧VSSが印加されている。 The pulse width / digital conversion circuit 29 in the present embodiment includes a counter 31 and n (n> 2) termination latch circuits 32-0 to 32- (n-1). The pulse width / digital conversion circuit 29 receives a clock CLK, a pulse output trigger XRST, and n PWM signals PW 0 to PW n−1 from the outside. Further, a power supply voltage V DD and a substrate voltage V SS are applied.

クロックCLKには、一定の周期のパルス列が入力される。PWM信号PW0〜PWn-1は、前述したコンパレータ28からの出力である。パルス出力トリガXRSTは、PWM信号PW0〜PWn-1の出力開始を指示するトリガである。このパルス出力トリガXRSTには、クロックCLKの周期のM倍(M≧2m)の周期で、クロック周期分の時間幅の反転パルスが出力される。 A pulse train having a constant cycle is input to the clock CLK. The PWM signals PW 0 to PW n−1 are outputs from the comparator 28 described above. The pulse output trigger XRST is a trigger that instructs the start of output of the PWM signals PW 0 to PW n−1 . The pulse output trigger XRST outputs an inverted pulse having a time width corresponding to the clock cycle in a cycle M times the cycle of the clock CLK (M ≧ 2 m ).

カウンタ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として出力する。 The counter 31 counts the clock CLK input from the outside and outputs the count values CNT 0 to CNT m-1 as m-bit digital signals. Each termination latch circuit 32-i (i∈ {0,..., N-1}) latches the count values CNT 0 to CNT m-1 output by the counter 31 at the termination of the PWM signal PW i input from the outside. To do. Each termination latch circuits 32-i, respectively, and outputs the latched count value CNT 0 to CNT m-1 digital output m bit D i, 0 to D i, as m-1.

図14は図13の終端ラッチ回路の内部構成を表すブロック図である。   FIG. 14 is a block diagram showing the internal configuration of the termination latch circuit of FIG.

終端ラッチ回路32-i(i∈{0,…,n-1})は、m個のラッチ33-0〜33-(m-1)、及び1個のインバータ34により構成されている。   The termination latch circuit 32-i (iε {0,..., N−1}) is configured by m latches 33-0 to 33- (m−1) and one inverter 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}として外部に出力される。 PWM signal PW i input to the terminal latch circuit 32-i is level inverted by the inverter 34 is input to the clock input terminal clk of each latch 33-0~33- (m-1). The count values CNT 0 to CNT m−1 of the counter 31 are input to the data input terminals D of the latches 33-0 to 33- (m−1), respectively. The pulse output trigger XRST is input to the reset input terminal NOT (R) of each latch 33-0 to 33- (m-1). The data output from the output terminal Q of each latch 33-0 to 33- (m-1) is output to the outside as m- bit digital output data D i = {D i, 0 to D i, m-1 } Is done.

尚、各ラッチ回路33-0〜33-(m-1)は、図15に示したような、非同期リセット入力付きの同期型Dフリップ・フロップが用いられる。   Each latch circuit 33-0 to 33- (m-1) uses a synchronous D flip-flop with an asynchronous reset input as shown in FIG.

以上のように構成された本実施形態に係るパルス幅・デジタル変換回路29について、以下その動作を説明する。   The operation of the pulse width / digital conversion circuit 29 according to the present embodiment configured as described above will be described below.

図16は本実施形態に係るパルス幅・デジタル変換回路29の各信号レベルの変化を表すタイムチャートである。   FIG. 16 is a time chart showing changes in each signal level of the pulse width / digital conversion circuit 29 according to this embodiment.

クロックCLKには、一定の周期Tで、幅T/2のパルスが連続的に入力されている。パルス出力トリガXRSTは、時刻t1において、幅Tの反転パルスを出力する。これにより、各ラッチ33-0〜33-(m-1)の出力はリセットされ、デジタル出力データDiは総て0リセットされる。 Pulses having a width T / 2 are continuously input to the clock CLK at a constant period T. Pulse output trigger XRST at time t 1, and outputs the inverted pulse width T. Thus, the output of each latch 33-0~33- (m-1) is reset, the digital output data D i is all 0 reset.

そして、パルス出力トリガXRSTの立ち上がり時点(時刻t2)から、各PWM信号PWi(i∈{0,1,…,n-1})の出力が開始される。また、それと同時に、カウンタ31は、クロックCLKの計数を開始する。カウンタ31は、クロックCLKの立ち上がりエッジにおいて、その計数値を1づつ増加させる。 Then, the output of each PWM signal PW i (i∈ {0, 1,..., N−1}) is started from the rise time (time t 2 ) of the pulse output trigger XRST. At the same time, the counter 31 starts counting the clock CLK. The counter 31 increases the count value by 1 at the rising edge of the clock CLK.

PWM信号PWiは、コンパレータ28からの出力信号である。このとき、コンパレータ28において、それぞれのランプ波形27のスタート時点を同期させることで、カウンタ31の計数開始と同期してPWM信号PWiを出力させることができる。 PWM signal PW i is the output signal from the comparator 28. At this time, in the comparator 28, by synchronizing the start point of each of the ramp waveform 27, it is possible to output a PWM signal PW i in synchronization with the count start of the counter 31.

時刻t3において、PWM信号PWiはHレベルからLレベルに反転する。これにより、インバータ34の出力NOT(PWi)のレベルはLレベルからHレベルに立ち上がる。各ラッチ33-j(j∈{0,1,…,m-1})は、このインバータ34の出力NOT(PWi)の立ち上がりエッジにおいて、データ入力端子Dに入力される計数値CNTjのレベルをラッチして、これをデータ出力端子Qから出力する。 At time t 3, PWM signal PW i is inverted from H level to L level. As a result, the level of the output NOT (PW i ) of the inverter 34 rises from the L level to the H level. Each latch 33-j (j∈ {0, 1,..., M−1}) has a count value CNT j input to the data input terminal D at the rising edge of the output NOT (PW i ) of the inverter 34. The level is latched and output from the data output terminal 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のパルス幅に比例した値となる。 As a result, each terminal latch circuit 32-i (i∈ {0,..., N−1}) has a count value CNT (i) = {CNT (i) of the counter 31 at the falling point of the PWM signal PW i. 0 , CNT (i) 1 , ..., CNT (i) m-1 } are latched. The count value CNT (i) is a value proportional to the pulse width of the PWM signal PW i.

カウンタ31が計数を開始してから少なくとも時間2m・Tだけ経過した時点で、総ての終端ラッチ回路32-0〜32-(n-1)のデジタル出力値が確定する(勿論、それ以前に確定する場合もある)。従って、この確定時点後に、各終端ラッチ回路32-0〜32-(n-1)のデジタル出力値を取り出すことにより、PWM信号PW0〜PWn-1のパルス幅に比例したデジタル値を得ることができる。すなわち、パルス幅デジタル変換が完了する。 When at least 2 m · T has elapsed since the counter 31 started counting, the digital output values of all the termination latch circuits 32-0 to 32- (n-1) are determined (of course, before that) In some cases). Therefore, after this determination time, a digital value proportional to the pulse width of the PWM signals PW 0 to PW n-1 is obtained by taking out the digital output values of the termination latch circuits 32-0 to 32- (n-1). be able to. That is, the pulse width digital conversion is completed.

このように、各終端ラッチ回路32-i(i∈{0,…,n-1})は、PWM信号PWiの終端で、共通のカウンタ31が出力する計数値CNTをラッチする。従って、カウンタ31は、それぞれの終端ラッチ回路32-iに対して計数値CNTを出力するための配線の寄生容量に抗して出力値(係数値CNT)の切り換えを行うだけであり、スイッチング時の消費電力は小さい。従って、上記従来のパルス幅デジタル変換を使用した場合に比べると、大幅に消費電力を低減させることが可能である。 In this way, each termination latch circuit 32-i (iε {0,..., N−1}) latches the count value CNT output from the common counter 31 at the termination of the PWM signal PW i . Therefore, the counter 31 only switches the output value (coefficient value CNT) against the parasitic capacitance of the wiring for outputting the count value CNT to each terminal latch circuit 32-i. Power consumption is small. Therefore, it is possible to significantly reduce the power consumption as compared with the case where the conventional pulse width digital conversion is used.

実際に計算機シミュレーションにより評価した結果、80個のPWM信号PW0〜PW79を並列にパルス幅デジタル変換する場合、終端ラッチ回路として、図29に示したような従来のパルス幅・デジタル変換回路を使用すると、226mWの電力が消費されることが見積もられた。それに対して、本実施形態に係るパルス幅・デジタル変換回路29を使用した場合、同じPWM信号をパルス幅デジタル変換する場合の消費電力は6.6mWであった。従って、消費電力は約1/50に抑えることができることが分かった。 As a result of actual computer simulation evaluation, when 80 PWM signals PW 0 to PW 79 are subjected to pulse width digital conversion in parallel, a conventional pulse width / digital conversion circuit as shown in FIG. 29 is used as a termination latch circuit. When used, it was estimated that 226mW of power would be consumed. On the other hand, when the pulse width / digital conversion circuit 29 according to this embodiment is used, the power consumption when the same PWM signal is subjected to pulse width digital conversion is 6.6 mW. Therefore, it was found that the power consumption can be reduced to about 1/50.

また、カウンタ31を一つにしたことによって、カウンタ31のスイッチング時に発生するスイッチング・ノイズを小さく抑えることができる。従って、回路のSN比が向上する。従って、パルス幅にジッタ・ノイズが加わることによりパルス幅デジタル変換時に生じるジッタ誤差を最小限に抑えることができる。これにより、高速パルス幅デジタル変換にも使用することができる。   Further, by using one counter 31, switching noise generated when the counter 31 is switched can be reduced. Therefore, the SN ratio of the circuit is improved. Therefore, jitter errors that occur during pulse width digital conversion due to jitter noise added to the pulse width can be minimized. Thereby, it can also be used for high-speed pulse width digital conversion.

また、各終端ラッチ回路32-0〜32-(n-1)は、共通のカウンタ31の出力値CNTをラッチするので、PWM信号PW0〜PWn-1に対する計数値CNTの切り替わりのタイミングにばらつきが生じない。そのため、カウンタ31のスイッチング時のジッタによる各PWM信号PW0〜PWn-1間でのタイミング誤差がばらつくことを防止できる。 Further, each terminal latch circuits 32-0~32- (n-1), so to latch the output value CNT of the common counter 31, the timing of switching of count value CNT for the PWM signal PW 0 ~PW n-1 There is no variation. Therefore, it is possible to prevent the timing error between the PWM signals PW 0 to PW n−1 due to jitter at the time of switching of the counter 31 from being varied.

続いて図17のフローチャートを用いて、以上の演算処理フローの説明を行なう。なお、説明に際しては各処理工程を実行する演算回路についても言及する。   Next, the above arithmetic processing flow will be described with reference to the flowchart of FIG. In the description, an arithmetic circuit that executes each processing step is also referred to.

図17において、まずデジタル信号Aiの入力工程S1を実行し、次にそれぞれのデジタル・パルス幅変換回路において、デジタル信号をPWM信号に変換する工程S5を実行する。   In FIG. 17, first, the input step S1 of the digital signal Ai is executed, and then the step S5 of converting the digital signal into the PWM signal is executed in each digital pulse width conversion circuit.

次にデジタル信号Bi(電圧Vw)の入力工程S6を実行し、次にD/A変換回路において、デジタル信号をアナログ信号に変換するD/A変換工程S7を実行する。
続いて、それぞれのアナログ演算回路において、工程S5,S7からの出力であるPWM信号とアナログ電圧Vwを乗算する工程S3を実行する。
Next, the input step S6 of the digital signal Bi (voltage Vw) is executed, and then the D / A conversion step S7 for converting the digital signal into an analog signal is executed in the D / A conversion circuit.
Subsequently, in each analog arithmetic circuit, step S3 for multiplying the PWM signal, which is the output from steps S5 and S7, and the analog voltage Vw is executed.

次に、それぞれのアナログ演算回路において並列に算出された乗算値をキャパシタにおいて電荷量として蓄積し、部分和Σ(Ai×Bi)として保持する工程S4を実行する。   Next, step S4 is performed in which the multiplication values calculated in parallel in the respective analog arithmetic circuits are accumulated as charge amounts in the capacitors and are held as partial sums Σ (Ai × Bi).

次に、部分和Σ(Ai×Bi)に相当する前記電荷量(電圧値)をA/D変換回路によりA/D変換し、デジタル値とする工程S9を実行する。   Next, the charge amount (voltage value) corresponding to the partial sum Σ (Ai × Bi) is A / D converted by the A / D conversion circuit to obtain a digital value, and step S9 is executed.

次に、前記部分和に相当するデジタル値と、工程S11により出力された、既にデジタルメモリに保持されている累算値(演算途中での累算値に相当)とをデジタル加算回路によって加算し、新たな累算値として算出する工程S10を実行する。   Next, the digital value corresponding to the partial sum and the accumulated value output in step S11 and already stored in the digital memory (corresponding to the accumulated value in the middle of the operation) are added by the digital addition circuit. Then, step S10 for calculating as a new accumulated value is executed.

最後に、以上のように算出した累算値をデジタルメモリに再書き込みして保持する工程S11を実行する。この場合、累算値はデジタルメモリ中の該当部(前記演算途中での累算値が保持されていた部位)に対して上書きされる。   Finally, step S11 is executed in which the accumulated value calculated as described above is rewritten and held in the digital memory. In this case, the accumulated value is overwritten on the corresponding part in the digital memory (the part where the accumulated value during the calculation is held).

以上説明した演算フローを累算値を算出するために必要な回数(本実施形態では3回)繰り返すことにより、所望の累算値が算出される。   A desired accumulated value is calculated by repeating the operation flow described above as many times as necessary for calculating the accumulated value (three times in the present embodiment).

なお以上の説明においては、所望の累算値がデジタルメモリに保持された時点で処理を完了したものとして説明したが、前記累算値に対してさらに所望の演算処理を行なうことも可能である。例えば、前記デジタルメモリの後段に非線形変換回路を接続して、前記累算値を非線形変換した値を出力するものであってもよい。   In the above description, the processing is described as being completed when the desired accumulated value is stored in the digital memory. However, it is possible to perform further desired arithmetic processing on the accumulated value. . For example, a non-linear conversion circuit may be connected after the digital memory to output a value obtained by non-linear conversion of the accumulated value.

この場合、非線形変換回路はルックアップテーブル回路等により実現することができる。このように、本実施形態で説明したアナログ・デジタル混載型の演算回路は、算出された累算値に対して任意の演算処理を行なうことが可能である。また前記非線形変換回路はデジタル加算回路の後段に接続しても構わない。   In this case, the nonlinear conversion circuit can be realized by a look-up table circuit or the like. As described above, the analog / digital mixed arithmetic circuit described in the present embodiment can perform arbitrary arithmetic processing on the calculated accumulated value. The nonlinear conversion circuit may be connected to the subsequent stage of the digital adder circuit.

この場合、非線形変換回路はルックアップテーブル回路等により実現することができる。   In this case, the nonlinear conversion circuit can be realized by a look-up table circuit or the like.

すなわち、デジタル加算回路において算出された累算値をルックアップテーブル回路に入力し、ルックアップテーブル回路によって非線形変換した後にデジタルメモリに保持する。   That is, the accumulated value calculated in the digital adder circuit is input to the lookup table circuit, nonlinearly converted by the lookup table circuit, and held in the digital memory.

この場合は、デジタル加算回路において算出された所望の演算値(最終的に算出される累算値、すなわち演算式(7)または(12)で示される値)に対してのみ非線形変換を行い、演算処理途中で算出される累算値(演算式(8)および(10))に対しては非線形変換を行なわないものであっても良い。   In this case, non-linear conversion is performed only on a desired calculation value calculated in the digital addition circuit (an accumulated value finally calculated, that is, a value represented by the calculation expression (7) or (12)). Non-linear conversion may not be performed on the accumulated values (arithmetic expressions (8) and (10)) calculated during the arithmetic processing.

また、前記累算値を非線形変換できる構成であれば、その他どのような構成であっても構わない。   Further, any other configuration may be used as long as the accumulated value can be nonlinearly transformed.

以上のように、A/D変換回路において低消費電力で複数のPWM信号を並列的にデジタル値に変換するパルス幅・デジタル変換回路を用いることで、低消費電力かつレイアウト面積が小さいアナログ・デジタル混載型の演算回路を実現することが可能となる。   As described above, analog / digital power consumption is low and layout area is small by using a pulse width / digital conversion circuit that converts multiple PWM signals to digital values in parallel with low power consumption in the A / D converter circuit. It is possible to realize a mixed operation circuit.

(第五の実施形態)
本実施形態におけるアナログ・デジタル混載型の演算回路は、第四の実施形態におけるアナログ・デジタル混載型の演算回路を構成するパルス幅・デジタル変換回路29の終端ラッチ回路32-0〜32-(n-1)の部分を図18に示した回路に置き換えたものである。
(Fifth embodiment)
The analog / digital mixed type arithmetic circuit in this embodiment is a terminal latch circuit 32-0 to 32- (n of the pulse width / digital conversion circuit 29 constituting the analog / digital mixed type arithmetic circuit in the fourth embodiment. -1) is replaced with the circuit shown in FIG.

以下では、第四の実施形態と異なる部分に関してのみ説明を行い、それ以外の部分は第四の実施形態と同様として説明を省略する。   Hereinafter, only the parts different from the fourth embodiment will be described, and the other parts are the same as those of the fourth embodiment, and the description thereof will be omitted.

図18において、終端ラッチ回路32-i(i∈{0,…,n-1})、ラッチ33-0〜33-(m-1)、及びインバータ34の構成は、図14と同様であるため説明は省略する。本実施形態に係るパルス幅・デジタル変換回路は、これらに加えて、更に、始端ラッチ回路35-i(i∈{0,1,…,n-1})及び減算回路36-iを備えていることを特徴としている。   18, the configuration of the termination latch circuit 32-i (i∈ {0,..., N−1}), the latches 33-0 to 33- (m−1), and the inverter 34 is the same as that in FIG. Therefore, explanation is omitted. In addition to these, the pulse width / digital conversion circuit according to the present embodiment further includes a start-end latch circuit 35-i (i∈ {0, 1,..., N-1}) and a subtraction circuit 36-i. It is characterized by being.

始端ラッチ回路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}として出力する。 Start latch circuits 35-i, in the beginning of the PWM signal PW i (rising edge), latches the count value CNT outputted from the counter 31. The subtraction circuit 36-i calculates the digital output value S i = {S i of the start latch circuit 35-i from the digital output value E i = {E i, 0 to E i, m-1 } of the termination latch circuit 32- i. , 0 to S i, m−1 } is calculated and output as a digital output value D i = {D i, 0 to D i, 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フリップ・フロップにより構成されている。 Similarly to the termination latch circuit 32-i, the start-end latch circuit 35-i has latches 37-0 to 37- (m−1) corresponding to the respective bits CNT 0 to CNT m−1 of the m- bit count value. ). Like the latches 33-0 to 33- (m-1), these latches 37-0 to 37- (m-1) are constituted by synchronous D flip-flops with asynchronous reset inputs shown in FIG. ing.

但し、始端ラッチ回路35-i内のラッチ37-0〜37-(m-1)のクロック端子clkには、インバータ34を通すことなく、PWM信号PWiが直接入力される。そのため、ラッチ37-0〜37-(m-1)は、PWM信号PWiの立ち上がりの時点におけるカウンタ31の計数値CNTをラッチする。 However, to the clock terminal clk of the latch 37-0~37- (m-1) of the start latch circuit 35-i, without passing through the inverter 34, PWM signal PW i is directly input. Therefore, the latch 37-0~37- (m-1) latches the count value CNT of the counter 31 at the time the rise of the PWM signal PW i.

以上のように構成された本実施形態に係るパルス幅・デジタル変換回路について、以下その動作を説明する。   The operation of the pulse width / digital conversion circuit according to this embodiment configured as described above will be described below.

図19は本実施形態に係るパルス幅・デジタル変換回路の各信号レベルの変化を表すタイムチャートである。   FIG. 19 is a time chart showing changes in each signal level of the pulse width / digital conversion circuit according to this embodiment.

クロックCLKには、第四の実施形態の場合と同様、一定の周期Tで、幅T/2のパルスが連続的に入力されている。パルス出力トリガXRSTは、時刻t1において、幅Tの反転パルスを出力する。これにより、各ラッチ33-0〜33-(m-1),37-0〜37-(m-1)の出力はリセットされ、デジタル出力データEi,Siは総て0リセットされる。 As in the case of the fourth embodiment, pulses having a width T / 2 are continuously input to the clock CLK. Pulse output trigger XRST at time t 1, and outputs the inverted pulse width T. As a result, the outputs of the latches 33-0 to 33- (m-1) and 37-0 to 37- (m-1) are reset, and the digital output data E i and S i are all reset to zero.

そして、パルス出力トリガXRSTの立ち上がり時点(時刻t2)から、カウンタ31は、クロックCLKの計数を開始する。カウンタ31は、クロックCLKの立ち上がりエッジにおいて、その計数値を1ずつ増加させる。 The counter 31 starts counting the clock CLK from the time when the pulse output trigger XRST rises (time t 2 ). The counter 31 increases the count value by 1 at the rising edge of the clock CLK.

時刻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}として出力する。 At an appropriate time t 3 after time t 2 , the output of the PWM signal PW i (i∈ {0, 1,..., N−1}) is started. Due to the rise of the PWM signal PW i at time t 3, the latch 37-j (j∈ {0, 1,..., M−1}) of the start end latch circuit 35-i latches the output CNT j of the counter 31. This is output from the data output terminal Q as a digital output value S i = {S i, 0 to S i, 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}として出力する。 At time t 4, PWM signal PW i is inverted from H level to L level. As a result, the level of the output NOT (PW i ) of the inverter 34 rises from the L level to the H level. Each latch 33-j (j∈ {0, 1,..., M−1}) has a count value CNT j input to the data input terminal D at the rising edge of the output NOT (PW i ) of the inverter 34. The level is latched and output from the data output terminal Q as a digital output value E i = {E i, 0 to E i, 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のパルス幅に正比例した値となる。 The subtraction circuit 36-i calculates the digital output value S i = {S i of the start latch circuit 35-i from the digital output value E i = {E i, 0 to E i, m-1 } of the termination latch circuit 32- i. , 0 to S i, m−1 } is calculated and output as a digital output value D i = {D i, 0 to D i, m−1 }. Therefore, after time t 3 , the digital output value D i = {D i, 0 to D i, m−1 } is a value that is directly proportional to the pulse width of the PWM signal PW i .

カウンタ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}を得ることができる。すなわち、パルス幅デジタル変換が完了する。 When at least 2 m · T has elapsed since the counter 31 started counting, all the terminal latch circuits 32-0 to 32-(n-1) and the subtraction circuits 36-0 to 36- (n- The digital output value of 1) is determined (of course, it may be determined before that). Therefore, after this fixed time point, the digital value D i proportional to the pulse width of each PWM signal PW 0 to PW n-1 is obtained by taking out the digital output value of each subtraction circuit 36-0 to 36- (n-1). = {D i, 0 to D i, m-1 } can be obtained. That is, the pulse width digital conversion is completed.

このように、本実施形態においては、各入力パルスの始端及び終端におけるカウンタ31の計数値をラッチして、両者の差を演算してデジタル出力値とすることで、各PWM信号PWiの立ち上がりを同期させる必要がなくなる。また、各PWM信号PWiの立ち上がりとカウンタ31の計数開始タイミングも同期させる必要がなくなる。 Thus, in the present embodiment, the count value of the counter 31 at the beginning and end of each input pulse latches, by calculating the difference between by a digital output value, the rise of the PWM signal PW i Need not be synchronized. Moreover, it is not necessary to count start timing of the rising and the counter 31 of the PWM signal PW i also synchronized.

なお、減算回路36-iを用意せずに、デジタル出力値Si及びEiをそのまま外部に出力し、外部に用意した減算器で減算を行なってもよい。 Instead of preparing the subtracting circuit 36-i, the digital output values S i and E i may be directly output to the outside, and the subtraction may be performed by an externally prepared subtracter.

(第六の実施形態)
第六の実施形態にかかるアナログ・デジタル混載型の演算回路の構成例600を図20に示す。
(Sixth embodiment)
FIG. 20 shows a configuration example 600 of an analog / digital mixed arithmetic circuit according to the sixth embodiment.

本実施形態は、第四および第五の実施形態で説明したアナログ・デジタル混載型の演算回路において、デジタル加算回路をデジタル加減算回路38で置き換え、さらにアナログ演算回路3において、正負の符号を有する乗算値Bに対して、それぞれの符号ごとに別個に乗算を行い、また乗算値Bの符号を表す符合ビット39をデジタル加減算回路38に入力し、また負の乗算値Bに対する演算結果の部分和は、デジタルメモリ26に保存されたデジタルデータとの演算において、前記デジタル加減算回路38によって、デジタルメモリ26のデジタルデータから減算を行うことが第四および第五の実施形態と異なっている。   In this embodiment, in the mixed analog / digital arithmetic circuit described in the fourth and fifth embodiments, the digital adder circuit is replaced with the digital adder / subtractor circuit 38, and the analog arithmetic circuit 3 performs multiplication having positive and negative signs. The value B is multiplied separately for each sign, the sign bit 39 representing the sign of the multiplied value B is input to the digital adder / subtractor circuit 38, and the partial sum of the operation results for the negative multiplied value B is In the calculation with the digital data stored in the digital memory 26, the digital addition / subtraction circuit 38 performs the subtraction from the digital data in the digital memory 26, which is different from the fourth and fifth embodiments.

すなわち本実施形態におけるアナログ演算回路3における乗算は、乗算値Bの正負の符号に関して、正の符号の乗算と、負の符号の乗算をそれぞれ別個に行う。   That is, the multiplication in the analog arithmetic circuit 3 in the present embodiment separately performs the multiplication of the positive sign and the multiplication of the negative sign for the positive and negative signs of the multiplication value B, respectively.

以下では、第四および第五の実施形態と異なる部分についてのみ説明を行い、それ以外の部分に関しては第四および第五の実施形態と同様として説明を省略する。   Hereinafter, only the parts different from the fourth and fifth embodiments will be described, and the other parts will be omitted as they are the same as the fourth and fifth embodiments.

以下の演算式(13)で表される演算を図20のアナログ・デジタル混載型の演算回路600で行う場合、4つのアナログ演算回路3では、演算式(14)(15)(16)(17)で表されるように、乗算値Bの符号に関して正負別々の演算を行う。   When the calculation represented by the following calculation expression (13) is performed by the analog / digital mixed calculation circuit 600 of FIG. 20, the four analog calculation circuits 3 have the calculation expressions (14), (15), (16), and (17). ), The calculation of the sign of the multiplication value B is performed separately.

Figure 0004272967
(13)
Figure 0004272967
(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を入力することで、演算個数を調整することができる。
A i ≧ 0,
B 1 , B 2 , B 5 , B 7 , B 9 , B 10 , B 14 , B 16 ≧ 0, B 3 , B 4 , B 6 , B 8 , B 11 , B 12 , B 13 , B 15 < 0
A 1・ B 1 + A 2・ B 2 + A 5・ B 5 + A 7・ B 7 (14)
A 9 , B 9 + A 10 , B 10 + A 14 , B 14 + A 16 , B 16 (15)
A 3・ B 3 + A 4・ B 4 + A 6・ B 6 + A 8・ B 8 (16)
A 11 , B 11 + A 12 , B 12 + A 13 , B 13 + A 15 , B 15 (17)
At this time, as in the first and second embodiments, even if the total number of operations (16 in the above case) is not a multiple of the number of analog operation circuits (4), the multiplication value B = 0. The number of operations can be adjusted by inputting an analog voltage Vw corresponding to.

続いて、第四、第五の実施形態と同様に演算式(14)〜(17)で表される部分和をアナログ演算回路3によって算出する。なおこの際には、それぞれの部分和は、乗算値Bの正負の符号を考慮しない絶対値として算出される。   Subsequently, as in the fourth and fifth embodiments, the partial sum represented by the arithmetic expressions (14) to (17) is calculated by the analog arithmetic circuit 3. In this case, each partial sum is calculated as an absolute value that does not consider the sign of the multiplication value B.

次に、算出された演算式(14)〜(17)で表される部分和をA/D変換回路500によりデジタルデータに変換し、変換されたデジタルデータは、デジタル加減算回路38に入力される。またこの際、乗算値Bの符号を表す符合ビット39もデジタル加減算回路38に入力される。   Next, the partial sum represented by the calculated arithmetic expressions (14) to (17) is converted into digital data by the A / D conversion circuit 500, and the converted digital data is input to the digital addition / subtraction circuit 38. . At this time, a sign bit 39 representing the sign of the multiplication value B is also input to the digital addition / subtraction circuit 38.

続いて、デジタル加減算回路38では、入力された部分和のデジタルデータの符号ビットが1(乗算値Bが正)の時には、第四および第五の実施形態の場合と同様に、デジタルメモリ26に保持されたデジタルデータに対して、入力された部分和のデジタルデータを加算する。   Subsequently, in the digital addition / subtraction circuit 38, when the sign bit of the input partial sum digital data is 1 (the multiplication value B is positive), the digital memory 26 stores the same as in the fourth and fifth embodiments. The input partial sum digital data is added to the held digital data.

一方、入力された部分和のデジタルデータの符号ビットが0(乗算値Bが負)の時には、デジタルメモリ26に保持されたデジタルデータから、入力された部分和のデジタルデータを減算する。   On the other hand, when the sign bit of the input partial sum digital data is 0 (multiplication value B is negative), the input partial sum digital data is subtracted from the digital data held in the digital memory 26.

以上説明したように、デジタルメモリに保持されたデジタルデータと部分和のデジタルデータとを符号ビットに応じて加算または減算することにより所望の累算値を算出する。なお第五の実施形態と同様に前記累算値に対してさらに所望の演算処理を行なうことも可能である。すなわち、例えば、前記デジタルメモリの後段に非線形変換回路を接続して、前記累算値を非線形変換した値を出力するものであってもよい。この場合、非線形変換回路はルックアップテーブル回路等により実現することができる。   As described above, the desired accumulated value is calculated by adding or subtracting the digital data held in the digital memory and the partial sum digital data according to the sign bit. Note that, as in the fifth embodiment, it is possible to perform further desired arithmetic processing on the accumulated value. That is, for example, a non-linear conversion circuit may be connected to the subsequent stage of the digital memory, and a value obtained by non-linear conversion of the accumulated value may be output. In this case, the nonlinear conversion circuit can be realized by a look-up table circuit or the like.

このように、本実施形態で説明したアナログ・デジタル混載型の演算回路は、算出された累算値に対して任意の演算処理を行なうことが可能である。また前記非線形変換回路はデジタル加減算回路の後段に接続しても構わない。この場合、非線形変換回路はルックアップテーブル回路等により実現することができる。   As described above, the analog / digital mixed arithmetic circuit described in the present embodiment can perform arbitrary arithmetic processing on the calculated accumulated value. The nonlinear conversion circuit may be connected to the subsequent stage of the digital addition / subtraction circuit. In this case, the nonlinear conversion circuit can be realized by a look-up table circuit or the like.

すなわち、デジタル加減算回路において算出された累算値をルックアップテーブル回路に入力し、ルックアップテーブル回路によって非線形変換した後にデジタルメモリに保持する。   That is, the accumulated value calculated in the digital addition / subtraction circuit is input to the lookup table circuit, nonlinearly converted by the lookup table circuit, and held in the digital memory.

この場合は、デジタル加算回路において算出された所望の演算値(最終的に算出される累算値、すなわち演算式(13)で示される値)に対してのみ非線形変換を行い、演算処理途中で算出される累算値に対しては非線形変換を行なわないものであっても良い。また、前記累算値を非線形変換できる構成であれば、その他どのような構成であっても構わない。   In this case, non-linear conversion is performed only on a desired calculation value (accumulated value finally calculated, that is, a value indicated by the calculation formula (13)) calculated in the digital addition circuit, Non-linear transformation may not be performed on the calculated accumulated value. Further, any other configuration may be used as long as the accumulated value can be nonlinearly transformed.

続いて図21のフローチャートを用いて、以上の演算処理フローの説明を行なう。なお、説明に際しては各処理工程を実行する演算回路についても言及する。   Next, the above arithmetic processing flow will be described with reference to the flowchart of FIG. In the description, an arithmetic circuit that executes each processing step is also referred to.

図21において、まずデジタル信号Aiの入力工程S1を実行し、次にそれぞれのデジタル・パルス幅変換回路において、デジタル信号をPWM信号に変換する工程S5を実行する。次にデジタル信号Bi(電圧Vw)の入力工程S6を実行し、次にD/A変換回路において、デジタル信号をアナログ信号に変換するD/A変換工程S7を実行する。続いて、それぞれのアナログ演算回路において、工程S5,S7からの出力であるPWM信号とアナログ電圧Vwを乗算する工程S3を実行する。   In FIG. 21, first, the input step S1 of the digital signal Ai is executed, and then the step S5 of converting the digital signal into a PWM signal is executed in each digital pulse width conversion circuit. Next, the input step S6 of the digital signal Bi (voltage Vw) is executed, and then the D / A conversion step S7 for converting the digital signal into an analog signal is executed in the D / A conversion circuit. Subsequently, in each analog arithmetic circuit, step S3 for multiplying the PWM signal, which is the output from steps S5 and S7, and the analog voltage Vw is executed.

次に、それぞれのアナログ演算回路において並列に算出された乗算値をキャパシタにおいて電荷量として蓄積し、部分和Σ(Ai×Bi)として保持する工程S4を実行する。次に、部分和Σ(Ai×Bi)に相当する前記電荷量(電圧値)をA/D変換回路によりA/D変換し、デジタル値とする工程S9を実行する。次にデジタル加減算回路において、デジタル加減算回路に対してBiの正負の符号を表す符号ビットを入力する工程S13を実行して入力された符号ビットの値に応じて、前記部分和に相当するデジタル値を演算処理する工程S12を実行する。   Next, step S4 is performed in which the multiplication values calculated in parallel in the respective analog arithmetic circuits are accumulated as charge amounts in the capacitors and are held as partial sums Σ (Ai × Bi). Next, the charge amount (voltage value) corresponding to the partial sum Σ (Ai × Bi) is A / D converted by the A / D conversion circuit to obtain a digital value, and step S9 is executed. Next, in the digital addition / subtraction circuit, a digital value corresponding to the partial sum is obtained in accordance with the value of the sign bit input by executing step S13 of inputting the sign bit representing the sign of Bi to the digital addition / subtraction circuit. Step S12 for calculating is executed.

すなわち、符号ビットが1(Biが正)の場合には、前記部分和に相当するデジタル値と、工程S11により出力された、既にデジタルメモリに保持されている累算値(演算途中での累算値に相当)とをデジタル加減算回路によって加算し、新たな累算値として算出する。   That is, when the sign bit is 1 (Bi is positive), the digital value corresponding to the partial sum and the accumulated value output in step S11 and already held in the digital memory (accumulated during the operation). Is added by a digital addition / subtraction circuit to calculate a new accumulated value.

また、符号ビットが0(Biが負)の場合には、前記部分和に相当するデジタル値を、工程S11により出力された既にデジタルメモリに保持されている累算値(演算途中での累算値に相当)からデジタル加減算回路によって減算し、新たな累算値として算出する。   If the sign bit is 0 (Bi is negative), the digital value corresponding to the partial sum is stored in the accumulated value already stored in the digital memory output in step S11 (accumulation during the operation). Is equivalent to a value) by a digital addition / subtraction circuit to calculate a new accumulated value.

最後に、以上のように算出した累算値をデジタルメモリに再書き込みして保持する工程S11を実行する。この場合、累算値はデジタルメモリ中の該当部(前記演算途中での累算値が保持されていた部位)に対して上書きされる。   Finally, step S11 is executed in which the accumulated value calculated as described above is rewritten and held in the digital memory. In this case, the accumulated value is overwritten on the corresponding part in the digital memory (the part where the accumulated value during the calculation is held).

以上説明した演算フローを累算値を算出するために必要な回数(本実施形態では4回)繰り返すことにより、所望の累算値が算出される。   A desired accumulated value is calculated by repeating the operation flow described above as many times as necessary for calculating the accumulated value (four times in the present embodiment).

以上の様に、乗算値Bの正負の符号に対応して、それぞれ別個にアナログ演算回路3によって部分和を算出し、さらに正負の符号に対応して、デジタルメモリ26に保持されているデジタルデータとの加減算を行うことにより、以下の演算式(18)で示される通り、正負の符号を含む乗算結果の累算値を算出することが可能となる。   As described above, the partial sum is calculated separately by the analog arithmetic circuit 3 corresponding to the positive and negative signs of the multiplication value B, and the digital data held in the digital memory 26 corresponding to the positive and negative signs. It is possible to calculate an accumulated value of a multiplication result including a positive / negative sign as shown in the following arithmetic expression (18).

Figure 0004272967
(18)
Figure 0004272967
(18)

またさらに上記演算において、以下の演算式(19)で示されるように、乗算値Bの正負の符号に対応する演算処理工程を正負交互に行う場合、正負の部分和が互いに相殺し合う為、デジタルメモリ26における線形加算精度の範囲(累算値のレンジ)が狭まり、デジタルメモリ26のビット長を少なくすることが可能となる。   Further, in the above calculation, as shown in the following calculation formula (19), when the calculation processing steps corresponding to the positive and negative signs of the multiplication value B are alternately performed, since the positive and negative partial sums cancel each other, The range of linear addition accuracy (accumulated value range) in the digital memory 26 is narrowed, and the bit length of the digital memory 26 can be reduced.

Figure 0004272967
(19)
Figure 0004272967
(19)

例えば、演算式(14)〜(17)で表される部分和がそれぞれ順に、(85、53、60、71)である場合に、同一の符号を連続して加減算したとすると、演算の途中経過でデジタルメモリ26に保存される値は、以下のようになる。   For example, when the partial sums represented by the arithmetic expressions (14) to (17) are respectively (85, 53, 60, 71) in order, if the same sign is continuously added and subtracted, The values stored in the digital memory 26 over time are as follows.

1回目の演算による保存値=85
2回目の演算による保存値=85+53=138
3回目の演算による保存値=138−60=78
4回目の演算による保存値=78−71=7
従って、この場合の部分和を加減算していく途中経過での最大値は138となるため、デジタルメモリ26のビット長は8ビット必要となる。
Saved value by first calculation = 85
Saved value by second calculation = 85 + 53 = 138
Saved value by third calculation = 138−60 = 78
Saved value by the fourth calculation = 78−71 = 7
Therefore, since the maximum value in the course of adding and subtracting the partial sum in this case is 138, the bit length of the digital memory 26 is 8 bits.

これに対して、正負の符号に対応する演算を正負交互に行う場合に、演算の途中経過でデジタルメモリ26に保存される値は、以下の通りとなる。   On the other hand, when calculations corresponding to positive and negative signs are alternately performed, values stored in the digital memory 26 in the middle of the calculation are as follows.

1回目の演算による保存値=85
2回目の演算による保存値=85−60=25
3回目の演算による保存値=25+53=78
4回目の演算による保存値=78−71=7
従って、この場合の部分和を加減算していく途中経過での最大値は85となるため、デジタルメモリ26に必要なビット長は7ビットとなり、前記の例よりも少ないビット長で済むことが分かる。
Saved value by first calculation = 85
Saved value by second calculation = 85−60 = 25
Saved value by third calculation = 25 + 53 = 78
Saved value by the fourth calculation = 78−71 = 7
Therefore, since the maximum value in the course of adding and subtracting the partial sum in this case is 85, the bit length necessary for the digital memory 26 is 7 bits, and it can be understood that a bit length smaller than the above example is sufficient. .

(第七の実施形態)
第七の実施形態におけるニューラルネットワーク回路の構成例を図22に示す。図22に示すように、本実施形態におけるニューラルネットワーク回路700は、第六の実施形態で説明したアナログ・デジタル混載型の演算回路と、デジタル・パルス幅変換回路を含むことを特徴としている。
(Seventh embodiment)
A configuration example of the neural network circuit in the seventh embodiment is shown in FIG. As shown in FIG. 22, a neural network circuit 700 in this embodiment is characterized by including the analog / digital mixed arithmetic circuit described in the sixth embodiment and a digital pulse width conversion circuit.

なお第六の実施形態で説明した非線形変換を行なうために、デジタル加減算回路の後段に、ルックアップテーブル回路が接続されている。   In order to perform the nonlinear conversion described in the sixth embodiment, a lookup table circuit is connected after the digital addition / subtraction circuit.

また、本実施形態で実現するニューラルネットワークモデルの構成図800を図23に示し、各ニューロンの特性を図24に示す。   Further, FIG. 23 shows a configuration diagram 800 of the neural network model realized in the present embodiment, and FIG. 24 shows characteristics of each neuron.

以下では、まず図23と図24を用いて本実施形態におけるニューラルネットワークのモデルについて説明した後、図22を用いて本実施形態におけるニューラルネットワーク回路700について説明する。   In the following, first, the neural network model in the present embodiment will be described with reference to FIGS. 23 and 24, and then the neural network circuit 700 in the present embodiment will be described with reference to FIG.

図23に示すように、本実施形態におけるニューラルネットワークは、複数のニューロン40が階層構造を成し、かつ異なる階層間のニューロンが互いにシナプス41を介して結合している。   As shown in FIG. 23, in the neural network in this embodiment, a plurality of neurons 40 form a hierarchical structure, and neurons between different layers are connected to each other via a synapse 41.

なお、ニューラルネットワークの構成には、本実施形態の他にニューロンがアレイ状に配置されたものなどがあり、またニューロン間の結合にも、2つのニューロン間で相互に結合を有するものなどがある。本発明におけるニューラルネットワークは、その構成や結合手法によって限定されるものではなく、本実施形態で示す階層構造以外の構造および結合手法を有するものであっても構わない。   In addition to the present embodiment, there are neural network configurations in which neurons are arranged in an array, and there are also connections between neurons, such as those having connections between two neurons. . The neural network in the present invention is not limited by the configuration or the coupling method, and may have a structure and a coupling method other than the hierarchical structure shown in the present embodiment.

続いて、各ニューロン40における演算処理を図23を用いて説明する。各ニューロン40は、前段に接続する複数のニューロンの出力値をシナプス荷重で重み付けした後、入力として受け取る。ニューロン内部では、入力された値の総和値を算出し、これに所定の変換を施して出力値とする。ここで各ニューロンにおける演算処理は、次式(20)で表される。
y=f(Σω・x) (20)
y:出力値、f:変換関数、ωシナプス荷重、x:前段ニューロンの出力値
Subsequently, arithmetic processing in each neuron 40 will be described with reference to FIG. Each neuron 40 weights the output values of a plurality of neurons connected to the previous stage with a synaptic load, and then receives it as an input. Inside the neuron, the total value of the input values is calculated, and this is subjected to a predetermined conversion to obtain an output value. Here, the arithmetic processing in each neuron is expressed by the following equation (20).
y = f (Σω ・ x) (20)
y: output value, f: transformation function, ω synaptic load, x: output value of the previous neuron

なお変換関数としては、様々なモデルが提案されているが、本実施形態では、次式(21)で表される一般的なシグモイド関数を適用している。シグモイド関数の特性を図24にグラフで示す。
f(u)={1+exp(−au)}-1 (21)
a:シグモイド関数の傾きを決定するパラメータ
Various models have been proposed as conversion functions. In the present embodiment, a general sigmoid function expressed by the following equation (21) is applied. The characteristics of the sigmoid function are shown graphically in FIG.
f (u) = {1 + exp (−au)} −1 (21)
a: Parameter that determines the slope of the sigmoid function

なお、本発明におけるニューラルネットワークは、ニューロンにおける変換手法によって限定されるものではなく、本実施形態で示すシグモイド関数以外の変換関数を適用したものであっても構わない。   Note that the neural network in the present invention is not limited by the conversion method in the neuron, and a conversion function other than the sigmoid function shown in the present embodiment may be applied.

続いて、図22を用いて本実施形態におけるニューラルネットワーク回路を説明する。図22を見ると分かるように、本実施形態におけるニューラルネットワーク回路は、第六の実施形態で説明したアナログ・デジタル混載型の演算回路を階層的に構成したものを含んでいる。   Next, the neural network circuit in this embodiment will be described with reference to FIG. As can be seen from FIG. 22, the neural network circuit according to the present embodiment includes a hierarchically configured analog / digital mixed arithmetic circuit described in the sixth embodiment.

なお前述したように、本実施形態における演算回路においては、加減算回路の後段にルックアップテーブル回路が接続されている。すなわち、デジタル加減算回路において算出された所望の累算結果は、ルックアップテーブル回路によって、シグモイド関数変換を施された後に、デジタルメモリ回路に保持される。なお、ルックアップテーブル回路によってシグモイド関数変換を行なうのは、最終的に算出された所望の演算結果に対してのみであり、累算中の途中経過のデータに対しては行なわれない。   As described above, in the arithmetic circuit in this embodiment, the look-up table circuit is connected to the subsequent stage of the adder / subtracter circuit. That is, the desired accumulation result calculated in the digital addition / subtraction circuit is held in the digital memory circuit after being subjected to sigmoid function conversion by the lookup table circuit. Note that the sigmoid function conversion by the look-up table circuit is performed only for a desired calculation result finally calculated, and is not performed for data in the middle of accumulation.

従って、図22においては、デジタル加減算回路からの出力がルックアップテーブル回路に入力されるものと、デジタルメモリに直接入力されるものの2系統が描写してある。   Therefore, in FIG. 22, two systems are depicted: the output from the digital adder / subtractor circuit is input to the look-up table circuit, and the output is input directly to the digital memory.

またさらに、本実施形態で説明するアナログ・デジタル混載型の演算回路では、階層的な演算処理を行うために、ある階層のアナログ・デジタル混載型の演算回路により算出された演算結果を次の階層のアナログ・デジタル混載型の演算回路の入力としている。この際には、デジタル・パルス幅変換回路により、デジタルメモリに保持された演算結果をPWM信号として読み出している。PWM信号の生成過程は、第一及び第二の実施形態で説明した通りである。   Furthermore, in the analog / digital mixed type arithmetic circuit described in the present embodiment, in order to perform hierarchical arithmetic processing, the calculation result calculated by the analog / digital mixed type arithmetic circuit of a certain level is used as the next level. It is used as an input for an analog / digital mixed arithmetic circuit. At this time, the digital pulse width conversion circuit reads out the calculation result held in the digital memory as a PWM signal. The generation process of the PWM signal is as described in the first and second embodiments.

なお、各階層におけるアナログ・デジタル混載型の演算回路における演算処理過程は、第六の実施形態と同様である。また、図22では省略しているが、アナログ演算回路に対して乗算値Bに相当するアナログ電圧Vwが入力されている。アナログ電圧Vwの入力工程は、第六の実施形態と同様である。   Note that the arithmetic processing steps in the analog / digital mixed arithmetic circuit in each layer are the same as those in the sixth embodiment. Although omitted in FIG. 22, an analog voltage Vw corresponding to the multiplication value B is input to the analog arithmetic circuit. The input process of the analog voltage Vw is the same as that of the sixth embodiment.

なお、本実施形態のアナログ・デジタル混載型の演算回路の演算処理過程において、キャパシタに保持される部分和は、各ニューロンにおける、前段ニューロンとの結合の一部に関する入力値の総和値を示しており、また最終的にデジタルメモリに保持される累算値が、各ニューロンにおける、結合する前段ニューロン全ての入力値の累算値を示している。なお、図24に示す非線形変換は、前述したように非線形変換回路(ルックアップテーブル回路)において実現されている。   In the arithmetic processing process of the analog / digital mixed arithmetic circuit of the present embodiment, the partial sum held in the capacitor indicates the sum of input values related to a part of the connection with the preceding neuron in each neuron. In addition, the accumulated value finally stored in the digital memory indicates the accumulated value of the input values of all the previous-stage neurons to be connected in each neuron. Note that the nonlinear transformation shown in FIG. 24 is realized in the nonlinear transformation circuit (lookup table circuit) as described above.

ここで図25は、以上で説明した演算処理フローを示している。図中の一点鎖線は、演算処理における前段層と後段層の境界を示している。   Here, FIG. 25 shows the calculation processing flow described above. A one-dot chain line in the figure indicates a boundary between the previous layer and the subsequent layer in the arithmetic processing.

まず、算出した前段層の所望の累算値をシグモイド変換S20した後に一旦デジタルメモリにデジタル値として保持S11し、さらにデジタル・パルス幅変換回路によってPWM信号に変換する工程S5を実行する。本実施形態においては、所望の累算値を算出した後に1回だけ、ルックアップテーブル回路により、シグモイド変換工程S20を実行する。なお前段層におけるシグモイド変換工程S20以外の処理工程は、第六の実施形態における演算処理と同様である。   First, the calculated desired accumulated value of the previous layer is subjected to sigmoid conversion S20, temporarily held as a digital value in a digital memory S11, and further converted to a PWM signal by a digital pulse width conversion circuit. In the present embodiment, the sigmoid conversion step S20 is executed by the lookup table circuit only once after the desired accumulated value is calculated. The processing steps other than the sigmoid conversion step S20 in the previous layer are the same as the arithmetic processing in the sixth embodiment.

続いて、前記PWM信号を、入力信号Aiとして後段層に入力する。後段層において行なわれる演算処理は、前段層での演算処理と同じく、シグモイド変換工程S20による処理工程を除いて第六の実施形態で説明した演算処理と同様である。第六の実施形態と同様の演算処理フローの説明は省略する。また、図25においては複数のその他のAiの入力工程を省略して点線矢印S14で描写している。   Subsequently, the PWM signal is input as an input signal Ai to the subsequent layer. The arithmetic processing performed in the subsequent layer is the same as the arithmetic processing described in the sixth embodiment, except for the processing step by the sigmoid conversion step S20, as in the arithmetic processing in the previous layer. A description of the same arithmetic processing flow as in the sixth embodiment will be omitted. Also, in FIG. 25, a plurality of other Ai input steps are omitted and depicted by a dotted arrow S14.

以上の様にデジタルメモリに保持された、各ニューロンにおける累算値をデジタル・パルス幅変換回路によってPWM信号として読み出し、次の階層のニューロンに対する出力とすることで、図23に示したニューラルネットワークのモデルを実現することができる。なお本実施形態におけるニューロン素子数及び階層数は、本発明におけるニューラルネットワークの構成を限定するものではなく、必要に応じて任意の数に設定することが可能である。   As described above, the accumulated value in each neuron held in the digital memory is read out as a PWM signal by the digital pulse width conversion circuit and output to the neuron in the next layer, so that the neural network shown in FIG. A model can be realized. Note that the number of neuron elements and the number of layers in the present embodiment do not limit the configuration of the neural network in the present invention, and can be set to any number as necessary.

(第八の実施形態)
第八の実施形態における画像信号処理回路の構成例を図26に示す。図26に示すように、本実施形態における画像信号処理回路は、第七の実施形態で説明したニューラルネットワーク回路を含むことを特徴としている。なお図26では、第五の実施形態で説明した階層構造の初段のみを示しており、それ以降の階層の記述を省略している。
(Eighth embodiment)
A configuration example of the image signal processing circuit in the eighth embodiment is shown in FIG. As shown in FIG. 26, the image signal processing circuit in the present embodiment is characterized by including the neural network circuit described in the seventh embodiment. In FIG. 26, only the first level of the hierarchical structure described in the fifth embodiment is shown, and descriptions of the subsequent levels are omitted.

また、ニューラルネットワーク回路中のアナログ・デジタル混載型の演算回路数が、第七の実施形態で説明した図22のニューラルネットワーク回路とは異なっているが、それぞれのアナログ・デジタル混載型の演算回路における演算動作自体は、第七の実施形態と同様である。   The number of analog / digital mixed arithmetic circuits in the neural network circuit is different from that of the neural network circuit of FIG. 22 described in the seventh embodiment. The calculation operation itself is the same as in the seventh embodiment.

また図26では、ルックアップテーブル回路とデジタルメモリとデジタル・パルス幅変換回路を一体のものとして描写しているが、これは単に紙面上の都合であり、実際の構成及び演算処理に関しては、第七の実施形態と全く同様である。   In FIG. 26, the look-up table circuit, the digital memory, and the digital pulse width conversion circuit are depicted as a single unit, but this is merely on the space of the paper. This is exactly the same as the seventh embodiment.

ここで、ニューラルネットワーク回路中のアナログ演算回路に対して、PWM信号として入力される信号は、二次元信号である画像信号である。すなわち、本実施形態における画像信号処理回路は、入力された画像信号に対して、ニューラルネットワーク回路により所定の演算を行うことにより、所望の画像処理(例えばパターン検出およびパターン認識)を行うことを目的とするものである。   Here, a signal input as a PWM signal to the analog arithmetic circuit in the neural network circuit is an image signal which is a two-dimensional signal. That is, the image signal processing circuit in the present embodiment is intended to perform desired image processing (for example, pattern detection and pattern recognition) by performing a predetermined operation on the input image signal by a neural network circuit. It is what.

なお、実際に実現される画像処理の内容は、ニューラルネットワーク回路の回路パラメータ等を適当に調整することで、所望の処理内容(例えばパターン検出およびパターン認識)が実現されるよう設定することが可能であるが、その詳しい調整方法は、本発明の主眼とするところではないので、説明を省略する。   It should be noted that the actual image processing content can be set so that desired processing content (for example, pattern detection and pattern recognition) is realized by appropriately adjusting circuit parameters of the neural network circuit. However, since the detailed adjustment method is not the main point of the present invention, the description is omitted.

ここで本実施形態においては、前記画像信号は、撮像素子43(例えばCCDまたはCMOSイメージセンサなど)から出力される、各画素に対応する信号強度をパルスの時間幅に変換したPWM信号として入力している。   Here, in the present embodiment, the image signal is input as a PWM signal that is output from the image sensor 43 (for example, a CCD or CMOS image sensor) and converted from the signal intensity corresponding to each pixel to a pulse time width. ing.

なお、撮像素子からの出力信号がアナログ信号であり、その信号をPWM信号に変換する際には、図26に示すように、コンパレータ42に入力したランプ電圧波形と、撮像素子から読み出された電圧値とをコンパレータ42により比較し、ランプ電圧波形のスタート時にHighレベルに立ち上がった出力が、ランプ電圧値とキャパシタの電圧値が等しくなった時点でLowレベルに立ち下がることでPWM信号に変換される。   The output signal from the image sensor is an analog signal. When the signal is converted into a PWM signal, as shown in FIG. 26, the ramp voltage waveform input to the comparator 42 and the image read from the image sensor are read. Comparing the voltage value with the comparator 42, the output that has risen to the high level at the start of the ramp voltage waveform falls to the low level when the ramp voltage value becomes equal to the voltage value of the capacitor, and is converted into a PWM signal. The

また、撮像素子43からの出力信号がデジタル信号であり、その信号をPWM信号に変換する際には、第一及び第二の実施形態で説明したように、デジタル・パルス幅変換回路によってPWM信号に変換する。なお、撮像素子としてCCDまたはCMOSイメージセンサを想定しているが、画像を二次元信号として取り込むものであれば、その他の撮像素子を用いても問題は無い。   In addition, when the output signal from the image sensor 43 is a digital signal, and when the signal is converted into a PWM signal, the PWM signal is converted by the digital pulse width conversion circuit as described in the first and second embodiments. Convert to Although a CCD or CMOS image sensor is assumed as the image sensor, there is no problem even if another image sensor is used as long as it captures an image as a two-dimensional signal.

続いて、ニューラルネットワーク回路に対する画像信号の入力方法について説明する。   Next, an image signal input method for the neural network circuit will be described.

ニューラルネットワーク回路においては、第六の実施形態で説明したように、各アナログ・デジタル混載型の演算回路a、bにおいて、所定の複数の入力信号に対して重み付け演算を行い、その累算値を算出して、対応するニューロンの内部状態値とし、さらに非線形変換を行なう。   In the neural network circuit, as described in the sixth embodiment, each analog / digital mixed arithmetic circuit a, b performs a weighting operation on a predetermined plurality of input signals, and the accumulated value is obtained. The calculated value is used as the internal state value of the corresponding neuron, and further nonlinear conversion is performed.

この時、本実施形態における画像処理回路では、一点鎖線で囲んだ各アナログ・デジタル混載型の演算回路a、bが処理対象とする複数の入力信号は、二次元的にアレイされた撮像素子43の一部の領域に対応させている。   At this time, in the image processing circuit according to the present embodiment, a plurality of input signals to be processed by the analog / digital mixed arithmetic circuits a and b surrounded by a one-dot chain line are two-dimensionally arrayed. It corresponds to a part of the area.

すなわち、図26に示すように、各アナログ・デジタル混載型の演算回路a、bにおいて、非線形変換と重み付け演算を行い、さらにその累算値を算出する対象となる画像信号を出力する領域は、破線で囲まれた領域A、Bで示される。ここで、撮像素子43からの画像信号出力は、1列ごとに出力される。   That is, as shown in FIG. 26, in each of the analog / digital mixed arithmetic circuits a and b, a region for performing non-linear conversion and weighting calculation and outputting an image signal that is a target for calculating the accumulated value is as follows. It is indicated by areas A and B surrounded by broken lines. Here, the image signal output from the image sensor 43 is output for each column.

それに対して、ニューラルネットワーク回路におけるアナログ演算回路による演算は、第一〜第七の実施形態で説明したように、前記1列分の画像信号出力に対する演算を並列に行うことが可能である。   On the other hand, as described in the first to seventh embodiments, the calculation by the analog calculation circuit in the neural network circuit can be performed in parallel for the image signal output for one column.

従って、前記の撮像素子43からの1列分の出力信号に対する、ニューラルネットワーク回路による演算結果は、第一〜七の実施形態で説明したように、各ニューロンの内部状態値に対する部分和に相当する。   Therefore, the calculation result by the neural network circuit for the output signal for one column from the image sensor 43 corresponds to the partial sum for the internal state value of each neuron as described in the first to seventh embodiments. .

そして、前記の演算処理を領域A、Bの列数回(本実施形態では4回)繰り返すことにより、最終的に各ニューロンの内部状態値に相当する累算値を算出することができる。   Then, by repeating the above arithmetic processing several times (four times in the present embodiment) in the regions A and B, an accumulated value corresponding to the internal state value of each neuron can be finally calculated.

続いて図27は、以上で説明した演算処理フローを示している。   Next, FIG. 27 shows the calculation processing flow described above.

まず撮像素子から出力された1列分の画像信号を入力する工程S15を実行し、次にコンパレータ等の回路により、入力された前記画像信号をPWM信号に変換する工程S16を実行する。続いて、前記PWM信号をAiに相当するPWM信号として乗算工程S3(図中の上側)に入力する。   First, step S15 for inputting image signals for one column output from the image sensor is executed, and then step S16 for converting the input image signals into PWM signals by a circuit such as a comparator is executed. Subsequently, the PWM signal is input to the multiplication step S3 (upper side in the figure) as a PWM signal corresponding to Ai.

そしてこれ以降の演算処理フローは、第七の実施形態と同様であり、ニューラルネットワーク回路として所定の階層数の演算処理を行うところのみが異なっている(図27において、点線枠で囲まれた部分S100が第七の実施形態と同様の演算処理フローを示している)。第七の実施形態と同様の演算処理フローに関する説明は省略し、また所定の階層数の演算処理は、前記演算処理フローを所定回数繰り返すものとして説明を省略する。   The subsequent calculation processing flow is the same as that of the seventh embodiment, and only the calculation processing of a predetermined number of layers as a neural network circuit is different (in FIG. 27, the part surrounded by a dotted frame) S100 shows the same processing flow as in the seventh embodiment). A description of an arithmetic processing flow similar to that of the seventh embodiment is omitted, and the arithmetic processing of a predetermined number of layers is omitted because the arithmetic processing flow is repeated a predetermined number of times.

以上説明したように、ニューラルネットワーク回路による演算処理を演算対象領域の列数回だけ繰り返すことにより、所望の演算処理(例えばパターン検出およびパターン認識など)を達成することができる。   As described above, desired arithmetic processing (for example, pattern detection and pattern recognition) can be achieved by repeating the arithmetic processing by the neural network circuit as many times as the number of columns in the calculation target region.

また、上記説明では、撮像素子からの画像信号出力が1列ごとに行われるとしたが、撮像素子からの信号出力が1行ごとに行われる場合も、ニューラルネットワーク回路における演算を出力信号1行ごとに並列に行うことで、上記説明と同様な処理を行うことが可能である。   In the above description, the image signal output from the image sensor is performed for each column. However, when the signal output from the image sensor is performed for each row, the calculation in the neural network circuit is performed for one row of output signals. By performing each in parallel, it is possible to perform the same processing as described above.

以上説明したように、1列毎または1行毎に出力される画像信号に対して、本実施形態におけるニューラルネットワーク回路による演算を適用し、ニューロンの内部状態値を1列毎または1行毎に部分和として演算していき、そしてその部分和の累算値として最終的な内部状態値を算出し、さらにそれを非線形変換することで、所望の演算処理を実現することが可能となる。   As described above, the calculation by the neural network circuit in the present embodiment is applied to the image signal output for each column or row, and the internal state value of the neuron is determined for each column or row. By calculating as a partial sum, and calculating a final internal state value as an accumulated value of the partial sum, and further performing non-linear conversion thereof, it is possible to realize a desired calculation process.

第一の実施形態にかかる演算回路の全体構成を示す図である。It is a figure which shows the whole structure of the arithmetic circuit concerning 1st embodiment. 第一の実施形態にかかる演算回路を構成するアナログ演算回路とキャパシタとを示す図である。It is a figure which shows the analog arithmetic circuit and capacitor which comprise the arithmetic circuit concerning 1st embodiment. 第一の実施形態にかかる演算回路を構成するアナログ演算回路を示す図である。It is a figure which shows the analog arithmetic circuit which comprises the arithmetic circuit concerning 1st embodiment. 第一の実施形態にかかる演算回路を構成するデジタル・パルス幅変換回路を示す図である。It is a figure which shows the digital pulse width conversion circuit which comprises the arithmetic circuit concerning 1st embodiment. 第一の実施形態にかかる各パルス生成回路を示す図である。It is a figure which shows each pulse generation circuit concerning 1st embodiment. 第一の実施形態にかかるデジタル・パルス幅変換回路の動作を表すタイミングチャートである。It is a timing chart showing the operation of the digital pulse width conversion circuit according to the first embodiment. 第一の実施形態にかかる演算回路の演算処理フローチャートを示す図である。It is a figure which shows the arithmetic processing flowchart of the arithmetic circuit concerning 1st embodiment. 第三の実施形態にかかる演算回路の全体構成を示す図である。It is a figure which shows the whole structure of the arithmetic circuit concerning 3rd embodiment. 第三の実施形態にかかるD/A変換回路を示す図である。It is a figure which shows the D / A converter circuit concerning 3rd embodiment. 第三の実施形態にかかる演算回路の演算処理フローチャートを示す図である。It is a figure which shows the arithmetic processing flowchart of the arithmetic circuit concerning 3rd embodiment. 第四の実施形態にかかる演算回路の全体構成を示す図である。It is a figure which shows the whole structure of the arithmetic circuit concerning 4th embodiment. 第四の実施形態にかかるA/D変換回路を示す図である。It is a figure which shows the A / D conversion circuit concerning 4th embodiment. 第四の実施形態にかかるパルス幅・デジタル変換回路を示す図である。It is a figure which shows the pulse width and digital conversion circuit concerning 4th embodiment. 第四の実施形態にかかる終端ラッチ回路の内部構成を示す図である。It is a figure which shows the internal structure of the termination | terminus latch circuit concerning 4th embodiment. 第四の実施形態にかかるラッチ回路の内部構成を示す図である。It is a figure which shows the internal structure of the latch circuit concerning 4th embodiment. 第四の実施形態にかかるパルス幅・デジタル変換回路の各信号レベルの変化を表すタイムチャートである。It is a time chart showing the change of each signal level of the pulse width-digital conversion circuit concerning 4th embodiment. 第四の実施形態にかかる演算回路の演算処理フローチャートを示す図である。It is a figure which shows the arithmetic processing flowchart of the arithmetic circuit concerning 4th embodiment. 第五の実施形態にかかるパルス幅・デジタル変換回路の終端ラッチ回路、始端ラッチ回路、及び減算回路を示す図である。It is a figure which shows the termination | terminus latch circuit of the pulse width and digital conversion circuit concerning 5th embodiment, a start end latch circuit, and a subtraction circuit. 第五の実施形態にかかるパルス幅・デジタル変換回路の各信号レベルの変化を表すタイムチャートである。It is a time chart showing the change of each signal level of the pulse width digital conversion circuit concerning a 5th embodiment. 第六の実施形態にかかる演算回路の全体構成を示す図である。It is a figure which shows the whole structure of the arithmetic circuit concerning 6th Embodiment. 第六の実施形態にかかる演算回路の演算処理フローチャートである。It is a calculation processing flowchart of the calculation circuit according to the sixth embodiment. ニューラルネットワーク回路の構成を示す図である。It is a figure showing the composition of a neural network circuit. ニューラルネットワークモデルの構成を示す図である。It is a figure which shows the structure of a neural network model. ニューロンの特性を示す図である。It is a figure which shows the characteristic of a neuron. 第七の実施形態にかかる演算回路の演算処理フローチャートを示す図である。It is a figure which shows the arithmetic processing flowchart of the arithmetic circuit concerning 7th Embodiment. ニューラルネットワーク回路を備える画像信号処理回路の構成を示す図である。It is a figure which shows the structure of an image signal processing circuit provided with a neural network circuit. 第八の実施形態にかかる演算回路の演算処理フローチャートである。It is a calculation processing flowchart of the calculation circuit according to the eighth embodiment. 従来のデジタル・パルス幅変換回路の一例を示す図である。It is a figure which shows an example of the conventional digital pulse width conversion circuit. 従来のパルス幅・デジタル変換回路の一例を示す図である。It is a figure which shows an example of the conventional pulse width and digital conversion circuit. 第二の実施形態にかかる演算回路を構成するデジタル・パルス幅変換回路を示す図である。It is a figure which shows the digital pulse width conversion circuit which comprises the arithmetic circuit concerning 2nd embodiment. 第二の実施形態にかかる各パルス生成回路を示す図である。It is a figure which shows each pulse generation circuit concerning 2nd embodiment. 第二の実施形態にかかるデジタル・パルス幅変換回路の動作を表すタイミングチャートである。6 is a timing chart showing the operation of the digital pulse width conversion circuit according to the second embodiment.

符号の説明Explanation of symbols

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 カウンタ
1 Digital memory
2 Digital pulse width conversion circuit
3 Analog operation circuit
4 capacitors
5 PWM signal
6 Analog voltage Vw
7 Input terminal
8 Input terminal
10-0 to 10- (n-1) pulse generation circuit
11 counter
12 Reference value register
13 Adder circuit
14 Pulse width register
15 Switching circuit
16 Timing trigger generator
17 Output pulse inversion circuit
18-0 ~ 16- (m-1) EXOR gate
19 NOR gate
20 Digital memory
21 Digital pulse width conversion circuit
22 Current source
24 buffers
25 Digital adder circuit
26 Digital memory
27 Ramp voltage
28 Comparator
29 Pulse width / digital conversion circuit
31 counter
32-1 to 32-(n-1) Termination latch circuit
33-0 to 33- (m-1) Latch
34 Inverter
35-0 to 35- (n-1) Start latch circuit
36-0 to 36- (n-1) Subtraction circuit
37-0 to 37- (m-1) Latch
38 Digital addition / subtraction circuit
39 Sign bit
40 neurons
41 Synapse
42 Comparator
43 Image sensor
51 Digital pulse width conversion circuit
52-0 to 52- (n-1) Pulse generation circuit
53 counter
62 Pulse width register
64 Timing trigger generator
65 Output pulse inversion circuit
66-0 ~ 66- (m-1) EXOR gate
67 NOR gate
M1 PMOS transistor
100 Arithmetic circuit according to the first embodiment
200 Arithmetic circuit according to second embodiment
300 D / A converter circuit
400 Arithmetic Circuit According to Third Embodiment
500 A / D converter circuit
600 Arithmetic Circuit According to Fifth Embodiment
700 Neural network circuit
800 neural network model
900 Image signal processing circuit
101 Strobe detection circuit
102 Latch circuit
103 counter
104 Digital comparator
105 JK flip-flop
111 Conventional pulse width / digital conversion circuit
112 Gate circuit
113 counter

Claims (20)

並列演算処理された演算結果の累算値を算出する演算回路であって、
アナログ信号で表される情報を演算処理する複数のアナログ演算回路と、
前記複数のアナログ演算回路による演算結果の総和値を電荷量として蓄積するキャパシタと、
前記キャパシタに蓄積された電荷量を対応するパルス幅を持つパルス信号に変換するコンパレータと、
前記パルス信号をデジタル信号に変換するパルス幅・デジタル変換回路と、
変換された前記デジタル信号に基づいて累算値を算出するデジタル演算回路とを備え、
前記パルス幅・デジタル変換回路が、
クロックを計数してその計数値をデジタル信号として出力するカウンタと、
それぞれに入力される各パルス信号の終端において前記カウンタが出力する共通の計数値をラッチする複数の終端ラッチ回路とを有することを特徴とする演算回路。
An arithmetic circuit for calculating an accumulated value of arithmetic results obtained by parallel arithmetic processing,
A plurality of analog arithmetic circuits that perform arithmetic processing on information represented by analog signals;
A capacitor that accumulates as a charge amount a total value of calculation results by the plurality of analog calculation circuits;
A comparator that converts the amount of charge accumulated in the capacitor into a pulse signal having a corresponding pulse width;
A pulse width / digital conversion circuit for converting the pulse signal into a digital signal;
A digital arithmetic circuit that calculates an accumulated value based on the converted digital signal,
The pulse width / digital conversion circuit comprises:
A counter that counts the clock and outputs the count value as a digital signal;
An arithmetic circuit comprising: a plurality of termination latch circuits for latching a common count value output by the counter at the end of each pulse signal input thereto.
前記パルス幅・デジタル変換回路が、
前記パルス信号の始端において前記カウンタが出力する計数値をラッチする始端ラッチ回路と、
前記終端ラッチ回路のデジタル出力値と前記始端ラッチ回路のデジタル出力値との差を演算して出力する減算回路と
を、前記複数の終端ラッチ回路の各々に対応して備えていることを特徴とする請求項1に記載の演算回路。
The pulse width / digital conversion circuit comprises:
A start-end latch circuit that latches a count value output by the counter at the start end of the pulse signal;
A subtracting circuit that calculates and outputs a difference between a digital output value of the termination latch circuit and a digital output value of the start latch circuit, corresponding to each of the plurality of termination latch circuits, The arithmetic circuit according to claim 1.
前記デジタル演算回路が、前記アナログ演算回路による演算結果の正負に関する情報に基づいて、前記変換されたデジタル信号の加算処理と減算処理とを切り替えて実行し、該デジタル信号の累算値を算出することを特徴とする請求項1に記載の演算回路。   The digital arithmetic circuit switches between the addition process and the subtraction process of the converted digital signal based on the information about the positive / negative of the calculation result by the analog arithmetic circuit, and calculates the accumulated value of the digital signal The arithmetic circuit according to claim 1. 前記キャパシタには、前記複数のアナログ演算回路が並列に接続されていることを特徴とする請求項1〜3に記載の演算回路。   The arithmetic circuit according to claim 1, wherein the plurality of analog arithmetic circuits are connected in parallel to the capacitor. 前記キャパシタには、入力されるアナログ信号に基づいて、前記算出される累算値の部分和に相当する電荷量が蓄えられることを特徴とする請求項1〜4に記載の演算回路。   5. The arithmetic circuit according to claim 1, wherein a charge amount corresponding to a partial sum of the calculated accumulated values is stored in the capacitor based on an input analog signal. 前記デジタル演算回路は、前記複数のアナログ演算回路における演算処理が完了するごとに、処理を実行することを特徴とする請求項1〜5に記載の演算回路。   6. The arithmetic circuit according to claim 1, wherein the digital arithmetic circuit executes processing every time arithmetic processing in the plurality of analog arithmetic circuits is completed. 前記アナログ演算回路は、前記アナログ信号に対して所定の荷重値を乗算することを特徴とする請求項1〜6に記載の演算回路。   The arithmetic circuit according to claim 1, wherein the analog arithmetic circuit multiplies the analog signal by a predetermined load value. 前記アナログ演算回路は、前記アナログ信号に対して所定の非線形変換を行うことを特徴とする請求項1〜6に記載の演算回路。   The arithmetic circuit according to claim 1, wherein the analog arithmetic circuit performs predetermined nonlinear conversion on the analog signal. 前記アナログ演算回路は、前記非線形変換の出力値に対して、所定の荷重値を乗算することを特徴とする請求項8に記載の演算回路。   The arithmetic circuit according to claim 8, wherein the analog arithmetic circuit multiplies the output value of the nonlinear conversion by a predetermined load value. 前記アナログ信号に基づいて算出される累算値は、該アナログ信号を入力値とするニューラルネットワークを構成するニューロンの内部状態値と等価であることを特徴とする請求項1〜9に記載の演算回路。   10. The calculation according to claim 1, wherein the accumulated value calculated based on the analog signal is equivalent to an internal state value of a neuron constituting a neural network having the analog signal as an input value. circuit. 前記キャパシタに蓄えられる電荷量は、前記アナログ信号を入力値とするニューラルネットワークを構成するニューロンの内部状態値に対する部分和と等価であることを特徴とする請求項1〜10に記載の演算回路。   The arithmetic circuit according to claim 1, wherein the amount of charge stored in the capacitor is equivalent to a partial sum with respect to an internal state value of a neuron constituting a neural network having the analog signal as an input value. 前記アナログ信号は画像信号であり、前記アナログ演算回路は該画像信号について1行ごとに演算処理することを特徴とする請求項1〜11に記載の演算回路。   The arithmetic circuit according to claim 1, wherein the analog signal is an image signal, and the analog arithmetic circuit performs arithmetic processing for each row of the image signal. デジタルデータを保持するメモリを更に備え、
前記デジタル演算回路は、前記メモリに保持されたデジタルデータと、前記変換されたデジタル信号とを加算し、前記メモリは該加算結果を保持することで、前記累算値を算出することを特徴とする請求項1〜12に記載の演算回路。
A memory for holding digital data;
The digital arithmetic circuit adds the digital data held in the memory and the converted digital signal, and the memory holds the addition result to calculate the accumulated value. The arithmetic circuit according to claim 1.
デジタルデータを保持するメモリを更に備え、
前記アナログ演算回路による演算結果が正の場合、前記デジタル演算回路は、前記メモリに保持されたデジタルデータと、前記変換されたデジタル信号とを加算し、前記メモリは該加算結果を保持し、
前記アナログ演算回路による演算結果が負の場合、前記デジタル演算回路は、前記メモリに保持されたデジタルデータから、前記変換されたデジタル信号を減算し、前記メモリは該減算結果を保持することで、前記累算値を算出することを特徴とする請求項1〜13に記載の演算回路。
A memory for holding digital data;
When the calculation result by the analog calculation circuit is positive, the digital calculation circuit adds the digital data held in the memory and the converted digital signal, and the memory holds the addition result,
When the calculation result by the analog calculation circuit is negative, the digital calculation circuit subtracts the converted digital signal from the digital data held in the memory, and the memory holds the subtraction result, The arithmetic circuit according to claim 1, wherein the accumulated value is calculated.
前記デジタル演算回路では、加算処理と減算処理とが交互に実行されることを特徴とする請求項3に記載の演算回路。   The arithmetic circuit according to claim 3, wherein the digital arithmetic circuit alternately performs addition processing and subtraction processing. クロックを計数してその計数値をデジタル信号として出力する第2のカウンタと、
それぞれに外部からデジタル値として入力される各入力値と前記カウンタが出力する共通の計数値とを比較して、所定の時点から前記入力値と前記計数値とが一致する時点までの時間幅の出力パルス信号、又は所定の最大計数値から前記入力値を引いた値と前記計数値とが一致する時点から前記計数値が前記最大計数値に達する時点までの時間幅の出力パルス信号を生成する複数のパルス生成手段と
を備えるデジタル・パルス幅変換回路を有することを特徴とする請求項1〜15に記載の演算回路。
A second counter that counts the clock and outputs the count value as a digital signal;
Each input value input as a digital value from the outside is compared with the common count value output from the counter, and the time width from the predetermined time point to the time point when the input value and the count value match is determined. An output pulse signal or an output pulse signal having a time width from when the count value matches the value obtained by subtracting the input value from a predetermined maximum count value to the time when the count value reaches the maximum count value is generated. 16. The arithmetic circuit according to claim 1, further comprising a digital pulse width conversion circuit including a plurality of pulse generation means.
前記複数のパルス生成手段の各々は、
外部から入力される前記入力値をラッチするパルス幅レジスタと、
前記パルス幅レジスタがラッチした前記入力値の各ビットと、前記カウンタが出力する計数値の各ビットとを比較して、両者が完全に一致したときにトリガを発生するタイミングトリガ発生回路と、
前記タイミングトリガ発生回路がトリガを発生したときに、前記出力パルス信号の真理値を反転させる出力パルス反転回路と、
を備えていることを特徴とする請求項16に記載の演算回路。
Each of the plurality of pulse generating means includes
A pulse width register for latching the input value input from the outside;
A timing trigger generation circuit that compares each bit of the input value latched by the pulse width register with each bit of the count value output by the counter and generates a trigger when the two match completely;
An output pulse inversion circuit that inverts the truth value of the output pulse signal when the timing trigger generation circuit generates a trigger; and
The arithmetic circuit according to claim 16, further comprising:
前記複数のパルス生成手段の各々は、
前記出力パルスの立ち上がりのタイミングを表すデジタル値である基準値をラッチする基準値レジスタと、
前記基準値と外部から入力されるデジタル値である前記入力値との加算値を出力する加算回路と、
前記加算回路の出力値をラッチするパルス幅レジスタと、
前記基準値レジスタがラッチしたデジタル値又は前記パルス幅レジスタがラッチしたデジタル値の何れか一方を切り換えて出力する切換回路と、
前記切換回路から出力されるデジタル値の各ビットと、前記カウンタが出力する計数値の各ビットとを比較して、両者が完全に一致したときにトリガを発生するタイミングトリガ発生回路と、
前記タイミングトリガ発生回路がトリガを発生したときに、前記出力パルス信号の真理値を反転させる出力パルス反転回路と
を備え、
前記切換回路は、前記出力パルス反転回路が出力する出力パルスが偽値のときは、前記基準値レジスタがラッチしたデジタル値を出力し、前記出力パルス反転回路が出力する出力パルスが真値のときは、前記パルス幅レジスタがラッチしたデジタル値を出力するように切り換えを行うことを特徴とする請求項16に記載の演算回路。
Each of the plurality of pulse generating means includes
A reference value register that latches a reference value that is a digital value indicating the rising timing of the output pulse;
An adder circuit that outputs an added value of the reference value and the input value that is a digital value input from the outside;
A pulse width register for latching the output value of the adder circuit;
A switching circuit that switches and outputs either the digital value latched by the reference value register or the digital value latched by the pulse width register;
A timing trigger generation circuit that compares each bit of the digital value output from the switching circuit with each bit of the count value output by the counter and generates a trigger when they completely match;
An output pulse inversion circuit that inverts the truth value of the output pulse signal when the timing trigger generation circuit generates a trigger;
The switching circuit outputs a digital value latched by the reference value register when the output pulse output from the output pulse inverting circuit is a false value, and when the output pulse output from the output pulse inverting circuit is a true value. 17. The arithmetic circuit according to claim 16, wherein switching is performed so as to output a digital value latched by the pulse width register.
前記デジタル・パルス幅変換回路からの出力パルス信号により制御される電流源回路と、
第2のキャパシタと
を備えることを特徴とする請求項16〜18に記載の演算回路。
A current source circuit controlled by an output pulse signal from the digital pulse width conversion circuit;
The arithmetic circuit according to claim 16, further comprising a second capacitor.
並列演算処理された演算結果の累算値を算出する演算回路の動作制御方法であって、
アナログ信号で表される情報を複数のアナログ演算回路により演算処理するアナログ演算工程と、
前記アナログ演算工程による演算結果の総和値を電荷量としてキャパシタに蓄積する蓄積工程と、
前記キャパシタに蓄積された電荷量を対応するパルス幅を持つパルス信号に変換する電圧パルス変換工程と、
前記パルス信号をデジタル信号に変換するパルス幅・デジタル変換工程と、
変換された前記デジタル信号に基づいて累算値を算出する加算工程とを備え、
前記パルス幅・デジタル変換工程が、
カウンタによりクロックを計数してその計数値をデジタル信号として出力する工程と、
複数の終端ラッチ回路により、それぞれに入力される各パルス信号の終端において前記カウンタが出力する共通の計数値をラッチする工程とを有することを特徴とする演算回路の動作制御方法。









An operation control method for an arithmetic circuit that calculates an accumulated value of arithmetic results obtained by parallel arithmetic processing,
An analog calculation process for calculating information represented by analog signals by a plurality of analog calculation circuits;
An accumulation step of accumulating the total value of the calculation results by the analog calculation step in the capacitor as a charge amount;
A voltage pulse conversion step of converting the amount of charge accumulated in the capacitor into a pulse signal having a corresponding pulse width;
A pulse width / digital conversion step of converting the pulse signal into a digital signal;
An addition step of calculating an accumulated value based on the converted digital signal,
The pulse width / digital conversion step comprises:
A step of counting clocks by a counter and outputting the counted value as a digital signal;
And a step of latching a common count value output by the counter at the end of each pulse signal input thereto by a plurality of end latch circuits.









JP2003356627A 2003-10-16 2003-10-16 Arithmetic circuit and operation control method thereof Expired - Fee Related JP4272967B2 (en)

Priority Applications (7)

Application Number Priority Date Filing Date Title
JP2003356627A JP4272967B2 (en) 2003-10-16 2003-10-16 Arithmetic circuit and operation control method thereof
CN200480030265A CN100578440C (en) 2003-10-16 2004-10-14 Operation circuit and operation control method thereof
AT04773802T ATE542176T1 (en) 2003-10-16 2004-10-14 OPERATING CIRCUIT AND OPERATIONAL CONTROL METHOD THEREOF
EP04773802A EP1676197B1 (en) 2003-10-16 2004-10-14 Operation circuit and operation control method thereof
PCT/JP2004/015540 WO2005038645A2 (en) 2003-10-16 2004-10-14 Operation circuit and operation control method thereof
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 (en) 2003-10-16 2003-10-16 Arithmetic circuit and operation control method thereof

Publications (2)

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

Family

ID=34613815

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003356627A Expired - Fee Related JP4272967B2 (en) 2003-10-16 2003-10-16 Arithmetic circuit and operation control method thereof

Country Status (2)

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

Families Citing this family (28)

* 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 (en) * 2011-08-22 2016-08-24 上海华虹集成电路有限责任公司 Groove signal restoring circuit for ISO14443 TypeA agreement
WO2015136401A1 (en) 2014-03-14 2015-09-17 株式会社半導体エネルギー研究所 Analog arithmetic circuit, semiconductor device, and electronic device
US11475269B2 (en) * 2015-12-15 2022-10-18 Analog Devices, Inc. Convolutional neural network
CN105677295B (en) * 2016-01-04 2018-06-26 湖南工业大学 Seek the circuit of ratio value between two input voltages
CN108701480B (en) 2016-03-10 2022-10-14 株式会社半导体能源研究所 Semiconductor device with a plurality of semiconductor chips
WO2018069785A1 (en) 2016-10-12 2018-04-19 Semiconductor Energy Laboratory Co., Ltd. Semiconductor device and system using the same
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
JP6782193B2 (en) * 2017-05-23 2020-11-11 株式会社東芝 Information processing equipment, semiconductor equipment and information processing methods
US10635398B2 (en) * 2018-03-15 2020-04-28 Macronix International Co., Ltd. Voltage sensing type of matrix multiplication method for neuromorphic computing system
US11403518B2 (en) * 2018-04-25 2022-08-02 Denso Corporation Neural network circuit
US11900184B2 (en) * 2018-07-12 2024-02-13 Sony Group Corporation Multiply-accumulate device and multiply-accumulate method
TWI799588B (en) 2018-07-13 2023-04-21 日商索尼股份有限公司 Product sum operation device, product sum operation circuit, product sum operation system, and product sum operation method
TWI715068B (en) * 2018-07-17 2021-01-01 日商索尼股份有限公司 Operation device, product and operation device, product and operation circuit and product and operation system
JP6536765B1 (en) * 2018-09-27 2019-07-03 Tdk株式会社 Product-sum operation unit, neuromorphic device and product-sum operation method
JP6540931B1 (en) * 2018-10-11 2019-07-10 Tdk株式会社 Product-sum operation unit, logic operation device, neuromorphic device and product-sum operation method
WO2020082736A1 (en) * 2018-10-24 2020-04-30 宁波飞芯电子科技有限公司 Counting method and device, and counting system and pixel array applying same
JP6521207B1 (en) * 2018-11-08 2019-05-29 Tdk株式会社 Product-sum operation unit, product-sum operation method, logical operation device and neuromorphic device
WO2020144761A1 (en) * 2019-01-09 2020-07-16 Tdk株式会社 Multiply-accumulate operation device, logical operation device, neuromorphic device, and multiply-accumulate operation method
US11409352B2 (en) 2019-01-18 2022-08-09 Silicon Storage Technology, Inc. Power management for an analog neural memory in a deep learning artificial neural network
JP2020126426A (en) * 2019-02-04 2020-08-20 ソニー株式会社 Computation device and sum-product operation system
JP2020126427A (en) * 2019-02-04 2020-08-20 ソニー株式会社 Computation device, product-sum operation system, and setting method
JP2020160888A (en) * 2019-03-27 2020-10-01 ソニー株式会社 Computing device and product-sum computing system
US10726331B1 (en) * 2019-08-26 2020-07-28 International Business Machines Corporation Neural network circuits providing early integration before analog-to-digital conversion
CN112148669B (en) * 2020-10-01 2024-08-30 杭州知存算力科技有限公司 Pulse memory and calculation integrated chip and electronic equipment
JP7240077B2 (en) * 2021-01-18 2023-03-15 株式会社ソリトンシステムズ Differential neuron device, AD converter and neural network system
JP7170109B2 (en) * 2021-01-18 2022-11-11 株式会社ソリトンシステムズ Neuron element, AD converter and neural network system
JP7005827B1 (en) * 2021-01-18 2022-02-14 株式会社ソリトンシステムズ Neuron devices, AD converters and neural networks

Also Published As

Publication number Publication date
JP2005122467A (en) 2005-05-12
CN1867888A (en) 2006-11-22
CN100578440C (en) 2010-01-06

Similar Documents

Publication Publication Date Title
JP4272967B2 (en) Arithmetic circuit and operation control method thereof
EP1676197B1 (en) Operation circuit and operation control method thereof
US20220100255A1 (en) Unit Element for performing Multiply-Accumulate Operations
JP4620944B2 (en) Product-sum operation circuit and method thereof
KR102653822B1 (en) Mixed signal computing system and method
US20050138100A1 (en) Product-sum operation circuit and method
US20050160130A1 (en) Arithmetic circuit
Parodi et al. Synthesis of multiport resistors with piecewise‐linear characteristics: a mixed‐signal architecture
JP2007066258A (en) Arithmetic unit
JPH09244875A (en) Semiconductor arithmetic circuit
JP3177637B2 (en) Pulse width modulation arithmetic circuit
JP4242973B2 (en) Successive comparison type AD converter and microcomputer incorporating the same
JP3177636B2 (en) Pulse modulation operation circuit
CN211653633U (en) Multiplier device
JP3256738B2 (en) Non-linear operation circuit
JP6996411B2 (en) Neural network circuit
WO2004027680A1 (en) Arithmetic circuit
JP4057502B2 (en) Digital pulse width conversion circuit
JP3338713B2 (en) Signal processing device
JP6762733B2 (en) D / A conversion device and D / A conversion method
JP3253613B2 (en) Signal processing device
JP2008061281A (en) Pulse-width digitally converting circuit
JP2003044840A (en) Information processing circuit
RU2380752C2 (en) Neuron-network number-to-frequency converter
RU1809531C (en) Functional analog-to-digital converter

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