JP4272967B2 - Arithmetic circuit and operation control method thereof - Google Patents
Arithmetic circuit and operation control method thereof Download PDFInfo
- 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
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
ストローブ検出回路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-
デジタル・コンパレータ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,
図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
この構成により、入力パルスPWがHレベルのときにANDゲート回路112が有効となり、入力パルスPWがLレベルのときにANDゲート回路112が無効となる。ANDゲート回路112が有効である間は、クロックCLKがゲート信号gとして出力される。そして、カウンタ113は、ゲート信号gとして出力されるクロックを計数する。これにより、入力パルスPWの幅に比例したカウント値がデジタル出力D={D0,…,Dm-1}として得られる。
アナログ・デジタル混載型の演算回路において、デジタル・パルス幅変換回路、デジタル・パルス幅変換回路を利用した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
また、多数のカウンタ113が並列的に動作することにより、カウンタ113のスイッチングノイズが大きくなる。従って、回路全体のノイズ対策が必要となってくる。
In addition, since
そこで本発明の目的は、省面積かつ低消費電力で複数のデジタル入力値を並列的にパルス幅に変換するデジタル・パルス幅変換回路、及び低消費電力で動作し、回路から発生するノイズも小さいパルス幅・デジタル変換回路を用いたアナログ・デジタル混載型の演算回路を提供することにある。 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
図1に示すように、本アナログ・デジタル混載型の演算回路はデジタルメモリ1と、デジタル・パルス幅変換回路2と、アナログ演算回路3と、キャパシタ4とから構成される。
As shown in FIG. 1, the analog / digital mixed arithmetic circuit includes a
本アナログ・デジタル混載型の演算回路100は、複数の乗算結果の累算値を算出する機能を実現するものである。
The analog / digital
また図2は、図1に示されたアナログ演算回路3とキャパシタ4の構成を詳細に説明したものである。図2に示すように、本実施形態でのアナログ演算回路3とキャパシタ4は、キャパシタ4に接続するバスに、複数のアナログ演算回路3が並列に接続する構成となっている。
FIG. 2 illustrates in detail the configuration of the analog
また図3は、本実施形態でのアナログ演算回路3の詳細な回路構成を示す。図3に示すように、本実施形態でのアナログ演算回路3は、定電流源として機能する1つのPMOSトランジスタM1を有する。
FIG. 3 shows a detailed circuit configuration of the analog
また図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
図1に示すように、まずデジタルメモリ1に保持した被乗算値Aのデジタル値をデジタル・パルス幅変換回路2に入力する。デジタル・パルス幅変換回路2においては、入力されたデジタル値を当該デジタル入力値に比例した時間幅のパルス信号に変換して出力する。
As shown in FIG. 1, first, the digital value of the multiplied value A held in the
ここで図4に示すように、本実施形態に係るデジタル・パルス幅変換回路2は、並列配置された複数のパルス生成回路10-0〜10-(n-1)、及び一つのカウンタ11を有する。各パルス生成回路10-0〜10-(n-1)のデータ入力端子Dinには、mビットの各デジタル入力値x0〜xn-1が入力される。そして、各パルス生成回路10-0〜10-(n-1)のパルス出力端子Poutからは、各デジタル入力値x0〜xn-1に比例するPWM信号PWM0〜PWMn-1が出力される。
Here, as shown in FIG. 4, the digital pulse
また、カウンタ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
更に、各パルス生成回路10-0〜10-(n-1)の基準値入力端子Dbには、mビットの基準値xbが共通に入力される。この基準値xbは、出力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
基準値レジスタ12は、基準値xbをラッチして、そのラッチした基準値xbの値を出力する。加減算回路13は、基準値xbと外部から入力されるデジタル値である入力値xiとの加算値xi+xbを出力する。パルス幅レジスタ14は、加減算回路13の出力値(加算値xi+xb)を更新入力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 /
切換回路15は、出力パルス反転回路17が出力する出力PWM信号PWMiが偽値(Lレベル)のときは、基準値レジスタ12がラッチしたデジタル値xbを出力し、出力パルス反転回路17が出力する出力PWM信号PWMiが真値(Hレベル)のときは、パルス幅レジスタ14がラッチしたデジタル値xi+xbを出力するように切り換えを行う。
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
タイミングトリガ発生回路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
すなわち、各デジタル入力値xi(i∈{0,1,…,n-1})、各基準値xb、カウンタの出力値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
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)
出力パルス反転回路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
以上のように構成された本実施形態に係るデジタル・パルス幅変換回路について、以下その動作を図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に対して、外部回路から入力値xi及び基準値xbが入力される。次いで、時刻t2においてカウンタ11のリセット入力ノードR並びに各パルス生成回路10-iの基準値レジスタ12及びパルス幅レジスタ14のクロック入力ノードCLKに対して更新信号renewが入力される。基準値レジスタ12及びパルス幅レジスタ14は、更新信号renewが入力されると、その立ち上がり時点において、それぞれ、そのときの基準値xb及び入力値xiの値をラッチする。そして、基準値レジスタ12は、ラッチされた基準値xbを出力し、パルス幅レジスタ14は、ラッチされた加算値xi+xbを出力する。
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
一方、時刻t1においては、出力パルス反転回路の出力はLレベルであるので、切換回路15は、基準値レジスタ12から入力される値xbを出力する。また、カウンタ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
次に、カウンタ11がカウントアップして、時刻t3においてカウンタ11の計数値CNTが切換回路15の出力値である基準値xbと一致する。このとき、タイミングトリガ発生回路16の出力TiはHレベルに反転する。これにより、出力パルス反転回路17の出力PoutがLレベルからHレベルに反転し、出力PWM信号PWMiの出力が開始される。
Then, the
時刻t4において、出力パルス反転回路17の出力PoutがHレベルに反転すると、切換回路15の入力が切り換わって、パルス幅レジスタ14から入力される値xb+xiを出力するようになる。これに伴い各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の出力値である加算値xb+xiと一致する。このとき、タイミングトリガ発生回路16の出力TiはHレベルに反転する。これにより、出力パルス反転回路17の出力PoutはHレベルからLレベルに反転し、出力PWM信号PWMiの出力が停止される。このようにして、デジタル入力値xiに比例した時間幅の出力PWM信号PWMiが生成され、デジタル・パルス幅変換が行なわれる。
時刻t6において、出力パルス反転回路17の出力がLレベルに反転すると、切換回路15の入力が切り換わり、切換回路15は基準値レジスタ12から入力される値xbを出力するようになる。これに伴い各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
そして、カウンタ11はカウントアップするまで計数を続ける。この間、カウンタ値と切換回路の出力値xbとが一致することはないので、出力パルス反転回路17の出力はLレベルに保持される。カウンタ11がカウントアップすると計数を停止し、1サイクルが終了する。カウンタ11はカウントアップした後は、リセット入力ノードRが再度Hレベルに反転するまでは、カウントアップした時の出力値(総てHレベル)を維持する。
The
以上のようにして、各パルス生成回路10-iは、入力値xiの値に比例した時間幅の出力PWM信号PWMiを出力する。このとき、各パルス生成回路10-iは、共通のカウンタ11が出力する計数値を用いて、基準値xb又は加算値xb+xiとの比較を行う。従って、総てのパルス生成回路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
また、本実施形態においては、基準値レジスタ12、パルス幅レジスタ14、及び切換回路15を用いて、出力PWM信号PWMiの立ち上がりと立ち下がりのタイミングを、共通のタイミングトリガ発生回路16を用いて発生させる構成としたことにより、回路遅延の影響を受けることなく、出力PWM信号PWMiのパルス幅を入力値xiに正確に比例させることが可能となる。
Further, in the present embodiment, the
尚、本実施形態においては、基準値xbにより、各パルス生成回路10-0〜10-(n-1)における出力パルスの立ち上がり時点を合わせる構成例を示したが、本発明においては、出力パルスの立ち下がり時点を合わせる構成としてもよい。この場合、加減算回路13は、基準値xbから外部から入力されるデジタル値である入力値xiを減算した減算値xb−xiを出力する構成とする。また、切換回路15は、出力パルス反転回路17が出力する出力PWM信号PWMiが真値(Hレベル)のときは、基準値レジスタ12がラッチしたデジタル値xbを出力し、出力パルス反転回路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
なお、各パルス生成回路2−i内に加減算回路11を用意せずに、デジタル入力信号xiとして、元々の入力値を基準値xbから加算または減算した結果を与えるようにしてもよい。
Note that without providing the adding and subtracting
続いて、図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
なおアナログ演算回路3は、前記乗算を実現するもの以外でも、何らかの演算(たとえば非線形変換等)を行うものであれば別のアナログ演算回路でも構わない。
The
まず図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
ここで、前記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
ここで、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
ここで、バスにはそれぞれ独立に演算を行う複数のアナログ演算回路3が接続されているため、それぞれのアナログ演算回路3により並列に実行された演算結果、すなわち、上で説明した電荷量は、バスを通してキャパシタ4に蓄積され、加算される。
Here, since a plurality of analog
従って、一回の並列な演算処理が完了するごとにキャパシタ4に蓄積される総電荷量は、共通のバスでキャパシタ4に接続された複数のアナログ演算回路3の演算結果の総和値を示している。
Therefore, the total amount of electric charge accumulated in the
続いて図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ビットの各デジタル入力値x0〜xn-1が入力される。そして、各パルス生成回路52−0〜52−(n-1)のパルス出力端子Poutからは、各デジタル入力値x0〜xn-1に比例する時間幅のパルスPWM0〜PWMn-1が出力される。また、カウンタ53は、外部から入力されるクロックclockを計数し、mビットの計数値として出力する。また、各パルス生成回路52−0〜52−(n-1)のカウンタ値入力端子CNTには、カウンタ53から出力される計数値が共通に入力される。
Here, as shown in FIG. 30, the digital pulse
図31は図30の各パルス生成回路の構成を表すブロック図である。パルス生成回路52−i(i∈{0,1,…,n-1})は、パルス幅レジスタ62、タイミングトリガ発生回路64、及び出力パルス反転回路65を有している。パルス幅レジスタ62は、外部から入力されるmビットのデジタル値である入力値xiを更新入力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
このタイミングトリガ発生回路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
すなわち、各デジタル入力値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.
式(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
以上のように構成された本実施形態に係るデジタル・パルス幅変換回路について、以下その動作を図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レベルにあるものとし、入力値xiは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
次に、時刻t1において、各パルス生成回路52−iに対して、外部回路から入力値xi(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はその時点の入力値xiの値をラッチする。これにより、パルス幅レジスタ62の出力値は入力値xiとなる。一方、カウンタ53の計数値CNTは依然として0なので、パルス幅レジスタ62の出力とカウンタ53の計数値CNTとは一致しなくなり、タイミングトリガ発生回路64の出力TはHレベルからLレベルに反転する。また、カウンタ53は、リセット信号resetがLレベルからHレベルに反転することにより、クロックclockの計数を開始する。尚、このとき、パルス幅レジスタ62は、ラッチされた加算値xiを出力し続ける。
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
クロックclockとともにカウンタ53がカウントアップし、時刻t3においてカウンタ53の計数値CNTが切換回路63の出力値であるxiと一致する。このとき、タイミングトリガ発生回路64の出力値TはLレベルからHレベルに反転する。これにより、出力パルス反転回路65の出力PoutiはHレベルからLレベルに反転する。これにより、出力パルス反転回路65の出力PoutiのパルスPWMiの幅が確定する。このパルス幅は、デジタル入力値xiに比例することから、デジタル・パルス幅変換が行われたこととなる。
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
更に、時刻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
そして、カウンタ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
以上のようにして、各パルス生成回路52−i(i=0,…,n−1)は、入力値xiの値に比例した時間幅の出力パルスPWMiを出力する。(ただし、この時間幅は、厳密には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を用いて、デジタル入力値xiとの比較を行う。従って、総てのパルス生成回路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
(第三の実施形態)
第三の実施形態におけるアナログ・デジタル混載型の演算回路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
従って本実施形態の説明においては、第一及び第二の実施形態と異なる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
図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
続いて図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
また図2は、図11に示されたアナログ演算回路3とキャパシタ4の構成を詳細に説明したものである。図2に示すように、本実施形態でのアナログ演算回路3とキャパシタ4は、キャパシタ4に接続するバスに、複数のアナログ演算回路3が並列に接続する構成となっている。
FIG. 2 illustrates in detail the configuration of the analog
また図3は、本実施形態でのアナログ演算回路3の詳細な回路構成を示す。図3に示すように、本実施形態でのアナログ演算回路3は、定電流源として機能する1つのPMOSトランジスタM1を有する。
FIG. 3 shows a detailed circuit configuration of the analog
また図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 /
ここでは、まず図3を用いてアナログ演算回路3の演算処理過程について説明し、続いて図2を用いてアナログ演算回路3による演算結果が、どのように部分和としてキャパシタ4に保持されるかについて説明し、さらに図11を用いて、どのように部分和から所望の累算値を算出するかについて説明していく。続いて、図13、図14、図15、図16を用いて、A/D変換回路500の処理過程についてさらに詳しく説明していく。
Here, the arithmetic processing process of the analog
図3に示すアナログ演算回路3は、本実施形態においては被乗算値Aと乗算値Bの乗算:(A×B)を実現する。なおA、Bは、A≧0、B≧0を満たすものとする。
The analog
ここで、被乗算値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
なお、アナログ演算回路3に入力される前記PWM信号及びアナログ電圧は、必要に応じて外部電源装置によって入力することも可能であるが、例えば第一、第二及び第三の実施形態で説明したPWM信号及びアナログ電圧の入力過程と同様に、デジタル値を変換して入力することが可能である。
The PWM signal and the analog voltage input to the analog
本実施形態においては、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
まず図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
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
ここで、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
ここで、バスにはそれぞれ独立に演算を行う複数のアナログ演算回路3が接続されているため、それぞれのアナログ演算回路により並列に実行された演算結果、すなわち、上で説明した電荷量は、バスを通してキャパシタ4に蓄積され、加算される。
Here, since a plurality of analog
従って、一回の並列な演算処理が完了するごとにキャパシタ4に蓄積される総電荷量は、共通のバスでキャパシタ4に接続された複数のアナログ演算回路3の演算結果の総和値を示している。なお後述するように、この総和値は、最終的に算出しようとする累算値の部分和に相当している。
Therefore, the total amount of electric charge accumulated in the
なお、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).
これに対して、最終的な累算値を求めるために、図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
ここでは、まず図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
ここでの演算結果は、所望の演算(演算式(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
なお前記演算は、所望の演算(演算式(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
ここでの演算結果は、所望の演算(演算式(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
そしてさらに、デジタル加算回路25によって、前記デジタル値をデジタルメモリ26に保存されているデジタル値に加算し、その演算結果をデジタルメモリ26に保持する。
Further, the
ここで、デジタルメモリ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).
続いて、三つ目の部分和の演算を前記と同様にアナログ演算回路3によって行う。すなわち、図2を用いて説明したように、4つのアナログ演算回路3によって、以下の演算式(11)で表される演算を並列に行い、演算結果を電荷量としてキャパシタ4に保持する。
Subsequently, the calculation of the third partial sum is performed by the analog
ここでの演算結果は、所望の演算(演算式(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
そしてさらに、デジタル加算回路25によって、前記デジタル値をデジタルメモリ26に保存されているデジタル値に加算し、その演算結果をデジタルメモリ26に保持する。
Further, the
ここで、デジタルメモリ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.
以上説明したように、複数の乗算をアナログ演算回路3によりアナログ的に行い、それぞれの結果をキャパシタ4でアナログ的に加算して所望の累算値に対する部分和を算出する。
As described above, a plurality of multiplications are performed in an analog manner by the analog
さらに前記のように算出された部分和をA/D変換器500によりデジタルデータに変換した後、デジタル加算回路25により、デジタルメモリ26が保持する値にデジタル的に加算することにより所望の演算を実現する。
Further, after the partial sum calculated as described above is converted into digital data by the A /
続いて、前記のA/D変換回路500において行なわれる処理について詳しく説明する。
Next, processing performed in the A /
図12に示すように、A/D変換回路500はコンパレータ28とパルス幅・デジタル変換回路29から構成される。キャパシタ4に電荷として蓄積された演算結果は、キャパシタ4において電圧値として参照される。ここで、前記電圧値をコンパレータ28に入力し、コンパレータ28において別途入力された任意の電圧波形と比較を行なう。
As shown in FIG. 12, the A /
ここで前記任意の電圧波形は、電圧値が線形に上昇するランプ電圧波形27であっても良いし、その他の非線形電圧波形であっても良い。本実施形態で使用するランプ電圧波形27の場合は、キャパシタに蓄積された演算結果が線形変換されてPWM信号幅が設定される。また、その他の非線形電圧波形の場合は、キャパシタに蓄積された演算結果が非線形変換されてPWM信号幅が設定される。
Here, the arbitrary voltage waveform may be the
すなわちコンパレータ28の出力値が、ランプ電圧波形27のスタート時にHighレベルに立ち上がり、ランプ電圧値27とキャパシタ4の電圧値が等しくなった時点でLowレベルに立ち下がることでPWM信号に変換される。
That is, the output value of the
なお、コンパレータ28によるアナログ電圧のPWM信号への変換処理は、一般的に広く知られた技術であり、本発明の主眼とするところではないため、これ以上の詳しい説明は省略する。続いて、コンパレータ27から出力されたPWM信号はパルス幅・デジタル変換回路29に入力される。
The conversion process of the analog voltage into the PWM signal by the
図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
クロック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
カウンタ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
図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
終端ラッチ回路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
尚、各ラッチ回路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
PWM信号PWiは、コンパレータ28からの出力信号である。このとき、コンパレータ28において、それぞれのランプ波形27のスタート時点を同期させることで、カウンタ31の計数開始と同期してPWM信号PWiを出力させることができる。
PWM signal PW i is the output signal from the
時刻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
これにより、各終端ラッチ回路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
カウンタ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
このように、各終端ラッチ回路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
実際に計算機シミュレーションにより評価した結果、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
また、各終端ラッチ回路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
続いて図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
始端ラッチ回路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
始端ラッチ回路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
以上のように構成された本実施形態に係るパルス幅・デジタル変換回路について、以下その動作を説明する。 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
時刻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
減算回路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
このように、本実施形態においては、各入力パルスの始端及び終端におけるカウンタ31の計数値をラッチして、両者の差を演算してデジタル出力値とすることで、各PWM信号PWiの立ち上がりを同期させる必要がなくなる。また、各PWM信号PWiの立ち上がりとカウンタ31の計数開始タイミングも同期させる必要がなくなる。
Thus, in the present embodiment, the count value of the
なお、減算回路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 /
すなわち本実施形態におけるアナログ演算回路3における乗算は、乗算値Bの正負の符号に関して、正の符号の乗算と、負の符号の乗算をそれぞれ別個に行う。
That is, the multiplication in the analog
以下では、第四および第五の実施形態と異なる部分についてのみ説明を行い、それ以外の部分に関しては第四および第五の実施形態と同様として説明を省略する。 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
なお、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
次に、算出された演算式(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 /
続いて、デジタル加減算回路38では、入力された部分和のデジタルデータの符号ビットが1(乗算値Bが正)の時には、第四および第五の実施形態の場合と同様に、デジタルメモリ26に保持されたデジタルデータに対して、入力された部分和のデジタルデータを加算する。
Subsequently, in the digital addition /
一方、入力された部分和のデジタルデータの符号ビットが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
またさらに上記演算において、以下の演算式(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.
例えば、演算式(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
なお、ニューラルネットワークの構成には、本実施形態の他にニューロンがアレイ状に配置されたものなどがあり、またニューロン間の結合にも、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
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
続いて、ニューラルネットワーク回路に対する画像信号の入力方法について説明する。 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
それに対して、ニューラルネットワーク回路におけるアナログ演算回路による演算は、第一〜第七の実施形態で説明したように、前記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
そして、前記の演算処理を領域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.
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〜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.
それぞれに外部からデジタル値として入力される各入力値と前記カウンタが出力する共通の計数値とを比較して、所定の時点から前記入力値と前記計数値とが一致する時点までの時間幅の出力パルス信号、又は所定の最大計数値から前記入力値を引いた値と前記計数値とが一致する時点から前記計数値が前記最大計数値に達する時点までの時間幅の出力パルス信号を生成する複数のパルス生成手段と
を備えるデジタル・パルス幅変換回路を有することを特徴とする請求項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.
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)
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 |
-
2003
- 2003-10-16 JP JP2003356627A patent/JP4272967B2/en not_active Expired - Fee Related
-
2004
- 2004-10-14 CN CN200480030265A patent/CN100578440C/en not_active Expired - Fee Related
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 |