[go: up one dir, main page]

JP4579798B2 - Arithmetic unit - Google Patents

Arithmetic unit Download PDF

Info

Publication number
JP4579798B2
JP4579798B2 JP2005255093A JP2005255093A JP4579798B2 JP 4579798 B2 JP4579798 B2 JP 4579798B2 JP 2005255093 A JP2005255093 A JP 2005255093A JP 2005255093 A JP2005255093 A JP 2005255093A JP 4579798 B2 JP4579798 B2 JP 4579798B2
Authority
JP
Japan
Prior art keywords
value
circuit
product
arithmetic
sum
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2005255093A
Other languages
Japanese (ja)
Other versions
JP2007066258A (en
Inventor
修 野村
隆 森江
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2005255093A priority Critical patent/JP4579798B2/en
Publication of JP2007066258A publication Critical patent/JP2007066258A/en
Application granted granted Critical
Publication of JP4579798B2 publication Critical patent/JP4579798B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Complex Calculations (AREA)
  • Image Processing (AREA)

Description

本発明は、積和演算処理を実行する演算装置に関する。   The present invention relates to an arithmetic device that executes a product-sum operation process.

現在、コンピュータは大きな進展を見せ、世の中の様々な場面で使用されている。しかしながら、いわゆるノイマン型と呼ばれるコンピュータは、その処理方式自体の特性により、ヒトが容易に行うことができる処理(リアルタイムでのヒトの顔の認識等)を非常に不得意としている。   Currently, computers are making great progress and are being used in various situations around the world. However, the so-called Neumann computer is very poor at processing that humans can easily perform (such as recognition of human faces in real time) 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.

ニューラルネットワークを構成するニューロンのモデルとしては、次のものが一般的である。まず、ニューロンに相当するユニットに対して、他の複数のユニット(ニューロン)の出力値をシナプス荷重値で重み付けした乗算値が入力され、その入力値の総和値をさらに非線形変換した値を出力値とする。   The following models are generally used as models of neurons constituting the neural network. First, 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 output value is obtained by further nonlinearly converting the sum of the input values. And

すなわち、一般的なニューラルネットワークにおいては、各ユニット、及びユニット間における積和演算と非線形変換により、所望の処理が実現される。   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 the neuron model, an associative memory network in which units that perform a product-sum operation are coupled to each other has been proposed. Similarly, a pattern recognition model or the like in which units that perform product-sum operations are hierarchically coupled has been proposed.

ここでニューラルネットワークの実用化を狙い、集積回路化を図る際には、前記の積和演算をより効率的に実行することが必要となり、特に演算の実行速度の面でその必要性が顕著となる。   Here, it is necessary to more efficiently execute the product-sum operation when aiming at the practical use of the neural network and making it an integrated circuit, and the necessity is particularly remarkable in terms of the execution speed of the operation. Become.

そこで、以下に示すように、積和演算を実行するニューロンモデル、ニューラルネットワークアーキテクチャ、及び積和演算処理回路に関する発明が、各種提案されている。   Therefore, various inventions relating to a neuron model for executing a product-sum operation, a neural network architecture, and a product-sum operation processing circuit have been proposed as described below.

その1つとして、2次元データを用いた演算処理を高い並列度で高速に行なう事ができるLSIを構成する方法が提案されている(例えば特許文献1参照)。   As one of them, a method of configuring an LSI that can perform high-speed arithmetic processing using two-dimensional data with a high degree of parallelism has been proposed (for example, see Patent Document 1).

また、積和演算を行う階層的なニューロコンピュータを構成する方法が提案されている(例えば特許文献2参照)。
特開平7−282237号公報 特開平5−210651号公報
In addition, a method of configuring a hierarchical neurocomputer that performs a product-sum operation has been proposed (see, for example, Patent Document 2).
JP-A-7-282237 JP-A-5-210651

しかしながら、特許文献1の方法においては、演算回路が1列に配置されるため演算回路のレイアウトが制限され、演算の並列性に限界があった。   However, in the method of Patent Document 1, since the arithmetic circuits are arranged in one column, the layout of the arithmetic circuits is limited, and there is a limit to the parallelism of the arithmetic operations.

また特許文献2の方法においては、積和演算回路において全ての被演算値に関する演算が実行され、かつ積和演算回路に入力される被演算値の入力の順番が任意であることから、さらなる演算速度の向上が困難であった。   Further, in the method of Patent Document 2, the calculation for all operand values is executed in the product-sum calculation circuit, and the input order of the operand values input to the sum-of-products calculation circuit is arbitrary. It was difficult to improve speed.

そこで、本発明は、アレイ状に配置された積和回路を用いて、アレイ状に分布する被演算値の積和演算を並列に実行することを目的とするものである。   Accordingly, an object of the present invention is to execute product-sum operations of operand values distributed in an array in parallel using product-sum circuits arranged in an array.

また、積和演算を被演算値の値の降順もしくは昇順に実行することを可能とする。更に所定の値以上の被演算値のみ演算を実行する、あるいは被演算値の値の降順もしくは昇順で所定の割合の値についてのみ演算を実行することで、演算速度を向上することを目的とするものである。   In addition, the product-sum operation can be executed in descending order or ascending order of the value of the operand. Further, it is intended to improve the calculation speed by executing the calculation only for the value to be calculated that is equal to or greater than the predetermined value, or by performing the calculation only for a predetermined ratio value in descending or ascending order of the value of the calculated value. Is.

上記課題を解決するために、本発明によれば、演算装置に、電圧値で表された被演算値の乗算と累算を含む積和演算処理を実行する複数の積和演算手段と、それぞれ所定の電圧値を設定する複数の電圧設定手段と、前記複数の積和演算手段に電圧値の組み合わせを切り替え入力する複数の入力手段と、前記複数の電圧設定手段が設定する電圧値を、前記複数の入力手段に入力するための配線の接続を切り替える複数のスイッチ手段と、被演算値の値を降順または昇順にソートするソーティング手段と、前記積和演算手段による演算結果をディジタル出力する出力手段とを備える。   In order to solve the above-described problem, according to the present invention, a plurality of product-sum operation means for performing product-sum operation processing including multiplication and accumulation of operand values represented by voltage values, according to the present invention, A plurality of voltage setting means for setting a predetermined voltage value, a plurality of input means for switching and inputting a combination of voltage values to the plurality of product-sum operation means, and a voltage value set by the plurality of voltage setting means, A plurality of switch means for switching connection of wirings for inputting to the plurality of input means; a sorting means for sorting the values of the operand values in descending or ascending order; and an output means for digitally outputting the calculation result by the product-sum calculating means With.

本発明によれば、積和演算を被演算値の値の降順もしくは昇順に実行することを可能となる。これにより、被演算値の変動を少なくすることができる。また、アレイ状に配置された積和回路を用いてアレイ状に分布する被演算値の積和演算を並列に実行することが可能となる。更に所定の値以上の被演算値のみ演算を実行する、あるいは被演算値の値の降順もしくは昇順で所定の割合の値についてのみ演算を実行することで、演算速度を向上することができる。   According to the present invention, product-sum operations can be executed in descending or ascending order of values of operand values. Thereby, the fluctuation | variation of a calculated value can be decreased. In addition, it is possible to execute the product-sum operation of the operand values distributed in an array using the product-sum circuits arranged in the array. Furthermore, the calculation speed can be improved by performing the calculation only on the value to be calculated that is equal to or greater than the predetermined value, or performing the calculation only on the value of the predetermined value in descending or ascending order of the value of the calculated value.

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

(第1の実施形態)
図1は、本実施形態における演算回路の構成を示す図である。
(First embodiment)
FIG. 1 is a diagram illustrating a configuration of an arithmetic circuit in the present embodiment.

図1において、積和回路アレイ1は、乗算と累算を実行する積和回路をアレイ状(本実施形態では10×10)に配列したものである。荷重電圧設定回路ブロック2は、所定の電圧値を設定する複数(本実施形態では3個)の荷重電圧設定回路から構成される。ステップ電圧設定回路ブロック3は、時間的に変化する電圧値を設定する複数(本実施形態では3個)のステップ電圧設定回路から構成される。スイッチ回路ブロック4は、前記所定の積和回路に入力する配線の接続を切り替える複数(本実施形態では28個)のスイッチ回路から構成される。入力回路ブロック5は、積和回路に入力するアナログ電圧値の組み合わせを切り替える複数(本実施形態では10個)の入力回路から構成される。出力回路ブロック6は、積和回路に保持された演算結果を読み出す複数(本実施形態では10個)の出力回路から構成される。ソーティング回路7は、出力回路ブロック6から出力される演算結果の値を大きいもの順にソートする。デコーダ8は、ソーティング回路7から出力されるアドレスをデコードするものであり、本実施形態では2個設けられている。   In FIG. 1, a product-sum circuit array 1 is an array of product-sum circuits that perform multiplication and accumulation in an array (in this embodiment, 10 × 10). The load voltage setting circuit block 2 includes a plurality (three in this embodiment) of load voltage setting circuits for setting a predetermined voltage value. The step voltage setting circuit block 3 is composed of a plurality of (three in this embodiment) step voltage setting circuits for setting time-varying voltage values. The switch circuit block 4 includes a plurality (28 in the present embodiment) of switch circuits that switch the connection of wirings input to the predetermined product-sum circuit. The input circuit block 5 is composed of a plurality (10 in this embodiment) of input circuits that switch combinations of analog voltage values input to the product-sum circuit. The output circuit block 6 includes a plurality (10 in this embodiment) of output circuits that read out the operation results held in the product-sum circuit. The sorting circuit 7 sorts the calculation result values output from the output circuit block 6 in descending order. The decoder 8 decodes the address output from the sorting circuit 7, and two decoders 8 are provided in this embodiment.

なお図1においては、配線、入力線及び出力線は、主要なもののみを記載している。詳細な配線、入力線及び出力線は、各回路ごとの図中に記載している。   In FIG. 1, only the main wiring, input lines, and output lines are shown. Detailed wiring, input lines, and output lines are shown in each circuit diagram.

次に図2は、連想メモリで構成したソーティング回路7を示す。図3は、デコーダ8を示す。図4は、主に電流源とキャパシタで構成した前記ステップ電圧設定回路9を示す。図5は、主に電流源とキャパシタで構成した前記荷重電圧設定回路10を示す。   Next, FIG. 2 shows a sorting circuit 7 composed of an associative memory. FIG. 3 shows the decoder 8. FIG. 4 shows the step voltage setting circuit 9 mainly composed of a current source and a capacitor. FIG. 5 shows the load voltage setting circuit 10 mainly composed of a current source and a capacitor.

また図6は、主に論理回路で構成したスイッチ回路11を示す。図7は、主に論理回路で構成した入力回路12を示す。図8は、アナログ乗算器とキャパシタで構成した前記積和回路13を示す。図9は、A/D変換回路で構成した出力回路14を示す。図10は、荷重電圧設定回路10と、スイッチ回路11と、デコーダ8との詳細な配線構造の一部を示す。   FIG. 6 shows a switch circuit 11 mainly composed of logic circuits. FIG. 7 shows an input circuit 12 mainly composed of logic circuits. FIG. 8 shows the product-sum circuit 13 composed of an analog multiplier and a capacitor. FIG. 9 shows an output circuit 14 composed of an A / D conversion circuit. FIG. 10 shows a part of the detailed wiring structure of the load voltage setting circuit 10, the switch circuit 11, and the decoder 8.

更に図11は、ステップ電圧設定回路9と、スイッチ回路11と、デコーダ8との詳細な配線構造の一部を示す。図12は、積和回路13と、出力回路14と、ソーティング回路7との詳細な配線構造の一部を示す。図13は、本実施形態における演算回路100において、積和演算を実行する積和回路領域の選択方法について示す。   Further, FIG. 11 shows a part of the detailed wiring structure of the step voltage setting circuit 9, the switch circuit 11, and the decoder 8. FIG. 12 shows a part of the detailed wiring structure of the product-sum circuit 13, the output circuit 14, and the sorting circuit 7. FIG. 13 shows a method for selecting a product-sum circuit area for performing product-sum operation in the arithmetic circuit 100 according to the present embodiment.

以上示した図を用いて、本実施形態における積和演算方法による演算処理工程に関して、演算回路全体としてどのように演算を行なうかについてを最初に説明し、続いて各個別回路の動作について説明を行なう。   With reference to the above-described diagrams, first, description will be given of how the arithmetic circuit as a whole is operated regarding the arithmetic processing step according to the product-sum arithmetic method in the present embodiment, and then the operation of each individual circuit will be described. Do.

なお、以降の実施形態において電源電圧は3.3Vと仮定する。   In the following embodiments, the power supply voltage is assumed to be 3.3V.

また、本明細書で使用する信号の定義を以下の通りとする。   The definition of signals used in this specification is as follows.

・デジタル信号:High及びLowの2種類の電圧値で情報を表現する信号
・アナログ信号:電圧値で情報を表現する信号
・パルス幅変調信号:パルスの時間幅で情報を表現する信号
まず、演算回路全体としてどのように処理を行なうかについて図1、図8及び図13を用いて説明を行なう。
・ Digital signal: Signal that expresses information with two kinds of voltage values of High and Low ・ Analog signal: Signal that expresses information with voltage value ・ Pulse width modulation signal: Signal that expresses information with time width of pulse First, calculation How the processing is performed as a whole circuit will be described with reference to FIGS.

図1及び図13において、積和回路アレイ1は図8に示す積和回路13を10×10のアレイ状に配列したものである。   1 and 13, the product-sum circuit array 1 is obtained by arranging the product-sum circuits 13 shown in FIG. 8 in a 10 × 10 array.

ここで各積和回路は、入力された信号を元にして以下の式で表される演算を実行するものである。   Here, each product-sum circuit executes an operation represented by the following equation based on the input signal.

Figure 0004579798
Figure 0004579798

ここで、uMNは積和回路アレイで算出される演算結果を表し、添え字MNは積和回路のアレイ内での位置を示している(本実施形態の場合1から10の値をとる)。また、wxmは後述する荷重電圧設定回路から入力される被演算値を表し、添え字mは最大で荷重電圧設定回路の個数に一致した値をとるため、本実施形態の場合1から3までの値をとる。また、(o・wyn)は後述するステップ電圧設定回路から入力される被演算値を示し、oとwynの積で表される。ここでoの添え字jは、ソーティング回路から出力される順番を示しており、本実施形態の場合1〜100までの値をとる。また添え字mは最大でステップ電圧設定回路の個数に一致した値をとるため、本実施形態の場合1から3までの値をとる。 Here, u MN represents the calculation result calculated by the product-sum circuit array, and the subscript MN represents the position of the product-sum circuit in the array (in the present embodiment, takes a value from 1 to 10). . In addition, w xm represents an operation value input from a load voltage setting circuit, which will be described later, and the subscript m takes a value corresponding to the number of load voltage setting circuits at the maximum. Takes the value of Further, (o j · w yn ) indicates an operand value input from a step voltage setting circuit, which will be described later, and is represented by a product of o j and w yn . Here, the subscript j of o j indicates the order of output from the sorting circuit, and takes a value from 1 to 100 in this embodiment. In addition, since the subscript m takes a value corresponding to the number of step voltage setting circuits at the maximum, it takes a value from 1 to 3 in this embodiment.

続いて荷重電圧設定回路ブロック2は、荷重電圧設定回路10が3個並んだものである。またステップ電圧設定回路ブロック3は、ステップ電圧設定回路9が3個並んだものである。またスイッチ回路ブロック4は、スイッチ回路11が図1の様に配列されたものである。また入力回路ブロック5は、入力回路12が10個並んだものである。また出力回路ブロック6は、出力回路14が10個並んだものである。   Subsequently, the load voltage setting circuit block 2 includes three load voltage setting circuits 10 arranged. The step voltage setting circuit block 3 includes three step voltage setting circuits 9 arranged side by side. The switch circuit block 4 includes switch circuits 11 arranged as shown in FIG. The input circuit block 5 includes 10 input circuits 12 arranged side by side. The output circuit block 6 includes 10 output circuits 14 arranged side by side.

まず、荷重電圧設定回路ブロック2に対して、被演算値wxmの値に対応するパルス幅を有するパルス幅変調信号をそれぞれの荷重電圧設定回路10ごとに入力する。荷重電圧設定回路10においては、後述する様に被演算値wxmに相当する電圧値が設定される。 First, a pulse width modulation signal having a pulse width corresponding to the value to be calculated w xm is input to the load voltage setting circuit block 2 for each load voltage setting circuit 10. In the load voltage setting circuit 10, a voltage value corresponding to the operation value w xm is set as will be described later.

また、ステップ電圧設定回路ブロック3に対して、被演算値wynの値に対応するパルス幅を有するパルス幅変調信号をそれぞれのステップ電圧設定回路9ごとに入力する。ステップ電圧設定回路9においては、後述する様に被演算値wynに相当する電圧値がキャパシタ17に設定される。さらに前記キャパシタ17に設定された電圧値と、ソーティング回路7における検索値に対応して入力される制御パルスによってキャパシタ20に(被演算値o)×(被演算値wyn)の演算結果(o・wyn)に相当する電圧値が設定される。 In addition, a pulse width modulation signal having a pulse width corresponding to the value of the operand value w yn is input to the step voltage setting circuit block 3 for each step voltage setting circuit 9. In the step voltage setting circuit 9, a voltage value corresponding to the operand value w yn is set in the capacitor 17 as will be described later. Further, the calculation result of ( operated value o j ) × ( operated value w yn ) is applied to the capacitor 20 by the voltage value set in the capacitor 17 and the control pulse input corresponding to the search value in the sorting circuit 7 ( o j · w yn ) is set.

続いて、ソーティング回路7に対し、所定の値を検索値として入力する。ソーティング回路7は、保持されたデータの中で検索値に一致するデータを保持するメモリセルのX方向・Y方向のそれぞれ4ビットのアドレス信号を出力し、各アドレス信号は対応するデコーダ8にそれぞれ入力される。デコーダ8は4ビットのアドレス信号をデコードし、10本の出力線のうちデコードした値に対応する1本の出力線をHighにする。   Subsequently, a predetermined value is input as a search value to the sorting circuit 7. The sorting circuit 7 outputs 4-bit address signals in the X direction and Y direction of the memory cells holding the data matching the search value among the held data, and each address signal is sent to the corresponding decoder 8 respectively. Entered. The decoder 8 decodes the 4-bit address signal and sets one output line corresponding to the decoded value to High among the ten output lines.

デコーダ8の出力線は、荷重電圧設定回路10に繋がるスイッチ回路ブロック4、及びステップ電圧設定回路9に繋がるスイッチ回路ブロック4のアドレス信号線に接続している。スイッチ回路11の説明で後述する様に、Highになった前記アドレス信号線に接続するスイッチ回路11は、荷重電圧設定回路10及びステップ電圧設定回路9から入力されるアナログ電圧と、積和回路13における演算を制御する制御信号と、被演算値wxm及び被演算値(o・wyn)の正負符号に相当する符号信号を入力回路12に繋がる信号線に出力する。 An output line of the decoder 8 is connected to an address signal line of the switch circuit block 4 connected to the load voltage setting circuit 10 and the switch circuit block 4 connected to the step voltage setting circuit 9. As will be described later in the description of the switch circuit 11, the switch circuit 11 connected to the high address signal line includes the analog voltage input from the load voltage setting circuit 10 and the step voltage setting circuit 9, and the product-sum circuit 13. And a sign signal corresponding to the sign of the operand value w xm and operand value (o j · w yn ) is output to a signal line connected to the input circuit 12.

なお、前記アドレス信号線は、スイッチ回路ブロック4に対して、図1に示すように斜めに配線されており、アドレスに対応する積和回路アレイ1の適切な行・列に信号を入力することが可能となる。   The address signal lines are wired obliquely to the switch circuit block 4 as shown in FIG. 1, and a signal is input to an appropriate row / column of the product-sum circuit array 1 corresponding to the address. Is possible.

入力回路12は、スイッチ回路11から入力された符号信号に応じて、同じくスイッチ回路11から入力されたアナログ電圧と基準電圧の差動電圧ペアを積和回路アレイ1が接続する信号線に出力する。   In response to the sign signal input from the switch circuit 11, the input circuit 12 outputs a differential voltage pair of the analog voltage and the reference voltage that are also input from the switch circuit 11 to a signal line to which the sum-of-products circuit array 1 is connected. .

積和回路アレイ1においては、図1に示したようにそれぞれ左側・下側に位置した入力回路ブロック5から行毎・列毎それぞれに以下の3種類の信号が入力される。   In the product-sum circuit array 1, as shown in FIG. 1, the following three types of signals are input for each row and each column from the input circuit block 5 positioned on the left side and the lower side, respectively.

行方向:M_STOP_Y, W_P, W_N
列方向:M_STOP_X, R_P, R_N
なお図1においては、3種類の信号線を記載してあるが、紙面の都合上から各信号線の区別は記載していない。詳細は、個別回路の説明で述べる。
Row direction: M_STOP_Y, W_P, W_N
Column direction: M_STOP_X, R_P, R_N
In FIG. 1, three types of signal lines are shown, but the distinction between the signal lines is not shown because of space limitations. Details will be described in the description of the individual circuit.

これらの、積和回路アレイ1に対して行方向・列方向に入力される信号は、図23に示すように、それぞれ3種類の信号が積和回路アレイ1の一行ごとまたは一列ごとの積和回路に対して、積和回路アレイ1を行方向または縦方向に貫く信号線を通じて共通の信号として入力される。すなわち、行方向に隣接する積和回路には共通の信号(M_STOP_Y、W_P、W_N)が入力され、列方向に隣接する積和回路には共通の信号(M_STOP_X、R_P、R_N)が入力される。   As shown in FIG. 23, these signals input to the product-sum circuit array 1 in the row direction and the column direction are respectively three types of signals, each of which is a product-sum for each row or column for the product-sum circuit array 1. A common signal is input to the circuit through a signal line passing through the product-sum circuit array 1 in the row direction or the vertical direction. That is, common signals (M_STOP_Y, W_P, W_N) are input to the product-sum circuits adjacent in the row direction, and common signals (M_STOP_X, R_P, R_N) are input to the product-sum circuits adjacent in the column direction. .

積和回路13は、後述するように、入力された差動電圧ペアに対して乗算を実行し、キャパシタ47によって乗算結果を累算する。   As described later, the product-sum circuit 13 performs multiplication on the input differential voltage pair, and accumulates the multiplication result by the capacitor 47.

ここで図13に示すように、積和回路アレイ1において積和演算が実行される積和回路13は、入力信号M_STOP_XとM_STOP_Yの両方がHighになるものに限られる(図中、点線で囲まれた3×3の積和回路)。   Here, as shown in FIG. 13, the product-sum circuit 13 in which the product-sum operation is performed in the product-sum circuit array 1 is limited to one in which both the input signals M_STOP_X and M_STOP_Y are High (indicated by dotted lines in the figure). 3 × 3 product-sum circuit).

すなわちこれは、外部から入力するM_STOP信号と、ソーティング回路7からのアドレス信号によって、積和回路アレイ1において積和演算を実行する積和回路13の領域が制御されることを意味する。   That is, this means that the area of the product-sum circuit 13 that performs the product-sum operation in the product-sum circuit array 1 is controlled by the M_STOP signal input from the outside and the address signal from the sorting circuit 7.

なお、M_STOP_Y及びM_STOP_X信号は荷重電圧設定回路及びステップ電圧設定回路から直接積和回路アレイに入力されるのではなく、個別回路の説明で述べるように、実際にはスイッチ回路・入力回路において所定のロジック演算を施された後に積和回路アレイに入力されるのであるが、図13においてはそれらの演算処理を省略して積和回路の演算領域の制御方法を模式的に示している。   Note that the M_STOP_Y and M_STOP_X signals are not directly input from the load voltage setting circuit and the step voltage setting circuit to the sum-of-products circuit array. The logic operation is performed and then input to the sum-of-products circuit array. FIG. 13 schematically shows a method for controlling the operation area of the sum-of-products circuit while omitting those computation processes.

以上の演算フローを繰り返して、所望の積和演算を実行する。   The above calculation flow is repeated to execute a desired product-sum operation.

累算結果を出力回路14によって読み出す際には、出力回路14に対して積和回路アレイ1の列ごとに電圧出力信号CAP_OUT_SWを入力して結果を読み出す。読み出された演算結果は、積和回路アレイ1の配列と対応して、ソーティング回路7の配列に入力される。この時、積和回路アレイ1の配列とソーティング回路7の配列は1対1に対応させる。   When the accumulation result is read by the output circuit 14, the voltage output signal CAP_OUT_SW is input to the output circuit 14 for each column of the product-sum circuit array 1 to read the result. The read calculation result is input to the array of the sorting circuit 7 in correspondence with the array of the product-sum circuit array 1. At this time, the arrangement of the product-sum circuit array 1 and the arrangement of the sorting circuit 7 are in a one-to-one correspondence.

積和回路アレイ1の演算結果を出力回路14によって全て読み出し、ソーティング回路7に保持した後、以上説明した演算処理を繰り返すことも可能である。   It is also possible to repeat the arithmetic processing described above after all the arithmetic results of the sum-of-products circuit array 1 are read by the output circuit 14 and held in the sorting circuit 7.

続いて、各個別回路の動作について説明を行なう。   Subsequently, the operation of each individual circuit will be described.

まず図2に示すように、ソーティング回路7は、積和回路アレイ1と同様に、アレイ状に配列された連想メモリ15によって構成される。   First, as shown in FIG. 2, the sorting circuit 7 is configured by an associative memory 15 arranged in an array like the product-sum circuit array 1.

本実施形態においては、アレイ配列を10×10としているが、必要に応じて異なるアレイ配列としても良い。連想メモリ15における各メモリセル(m、n)は、被演算値oの値をデジタル値として保持している。ここで(m、n)は、各メモリセルのアレイ内での位置を示しており、本実施形態の場合、m、nはいずれも1〜10の値をとる。 In this embodiment, the array arrangement is 10 × 10, but a different array arrangement may be used as necessary. Each memory cell (m, n) in the associative memory 15 holds the value of the operand value o j as a digital value. Here, (m, n) indicates the position of each memory cell in the array. In the present embodiment, m and n each take a value of 1 to 10.

図1、2においては、後述する検索処理等を実行する制御部は省略している。図2中に示した5ビットの被演算値oの値は、出力回路14もしくは外部回路から入力された値である。ここで図2中に示した被演算値oの値は、本実施形態を説明するための一例である。 1 and 2, a control unit that executes search processing and the like described later is omitted. The 5-bit operand value o j shown in FIG. 2 is a value input from the output circuit 14 or an external circuit. Here, the value of the operand value o j shown in FIG. 2 is an example for explaining the present embodiment.

なお、ここでは連想メモリの各メモリセルのビット長を5ビットとしているが、被演算値oの値のビット長に応じて、それ以外のビット長を有するものであっても構わない。 Although the bit length of each memory cell of the associative memory is 5 bits here, it may have other bit lengths depending on the bit length of the value of the operand value o j .

連想メモリ15は、入力された検索値に対して、それと一致する被演算値oを保持するメモリセルのX方向・Y方向それぞれのアドレス値を出力する機能を有する。なお本実施形態におけるアドレス値は、X方向・Y方向それぞれが4ビットの値を持つ。 The associative memory 15 has a function of outputting an address value in each of the X direction and the Y direction of the memory cell holding the operation value o j that matches the input search value. The address value in this embodiment has a 4-bit value in each of the X direction and the Y direction.

従って、検索値を所望の初期値から単調に増加または減少させていくことにより、連想メモリに保持されている被演算値oのアドレスを値の昇順または降順に読み出すことが可能となる。なお、本実施形態においては、値の昇順に読み出すこととする。 Therefore, by increasing or decreasing the search value monotonously from the desired initial value, it becomes possible to read the addresses of the operand values o j held in the associative memory in the ascending or descending order of the values. In the present embodiment, reading is performed in ascending order of values.

またここで、検索値を単調に増加させていく場合は、検索値の初期値未満の値に関するアドレスは読み出されず、また検索値を単調に減少させていく場合は、所定の検索値より小さい値に関するアドレスは読み出されない。   Also, here, when the search value is monotonously increased, an address related to a value less than the initial value of the search value is not read, and when the search value is monotonously decreased, a value smaller than the predetermined search value The address for is not read.

ここで検索値及びその初期値は、所望の演算処理に応じて任意に設定することができる。本実施形態では、被演算値oの値が大きいものから数えて約30%のみを演算処理に用いるために、最小の検索値を(10001)とし、この検索値未満の値を持つ被演算値oに関するアドレスは読み出さない(演算対象としない)ように設定している。 Here, the search value and its initial value can be arbitrarily set according to the desired arithmetic processing. In this embodiment, in order to use only about 30% from the largest value of the operand value o j in the calculation process, the minimum search value is (10001), and the operand has a value less than this search value. The address related to the value o j is set so as not to be read (not subject to calculation).

なお、検索値に対して値が一致する被演算値oが複数存在する場合は、その複数の被演算値oのアドレスを適当な順に出力する。 If there are a plurality of operand values o j whose values match the search value, the addresses of the operands o j are output in an appropriate order.

また本実施形態では、検索値は外部から入力することとしているが、カウンタ回路等を用意して内部で生成しても良い。同様の処理を行なう事ができるものであれば、その他の手法を用いても構わない。   In this embodiment, the search value is input from the outside, but a counter circuit or the like may be prepared and generated internally. Other methods may be used as long as the same processing can be performed.

また本実施形態においては、ソーティング回路7を連想メモリ15によって構成したが、前述した機能を実現できるものであれば、その他の回路によって構成しても構わない。   In this embodiment, the sorting circuit 7 is configured by the associative memory 15. However, the sorting circuit 7 may be configured by other circuits as long as the function described above can be realized.

続いて、2つのデコーダ8について説明する。図1及び図3に示すように、それぞれのデコーダ8には、ソーティング回路7から出力された、X方向・Y方向のそれぞれ4ビットのアドレス値の対応する一方が入力される。   Next, the two decoders 8 will be described. As shown in FIGS. 1 and 3, each decoder 8 receives one of the corresponding 4-bit address values output from the sorting circuit 7 in the X and Y directions.

デコーダ8は4ビットのアドレス値をデコードし、10本の出力線のうち、デコードした値に対応する1本の出力線をHighにする。ここで、4ビットのデータと10本の出力線のうちHighになる出力線は以下の様に対応している。   The decoder 8 decodes the 4-bit address value and sets one output line corresponding to the decoded value to High among the ten output lines. Here, the output line which becomes high among the 4-bit data and the 10 output lines corresponds as follows.

アドレス値 出力線
0000 1000000000
0001 0100000000
0010 0010000000
0011 0001000000
0100 0000100000
0101 0000010000
0110 0000001000
0111 0000000100
1000 0000000010
1001 0000000001
デコーダ8の10本の出力線は、図10、11に示すようにスイッチ回路11に接続しており、前述したように、アドレス値に対応して、1本の信号線をHighにする。
Address value Output line 0000 1000000000
0001 0100000000
0010 0010000000
0011 0001,000,000
0100 0000100000
0101 00000100
0110 0000001000
0111 0000000100
1000 0000000010
1001 0000000001
The ten output lines of the decoder 8 are connected to the switch circuit 11 as shown in FIGS. 10 and 11, and as described above, one signal line is set to High corresponding to the address value.

続いて、図4を参照してステップ電圧設定回路9について説明する。ステップ電圧設定回路9は、同図(A)に示すように、電流源、キャパシタ、ソースフォロワ及びリセット用のスイッチから構成される回路群が2段に構成される。   Next, the step voltage setting circuit 9 will be described with reference to FIG. As shown in FIG. 2A, the step voltage setting circuit 9 includes a two-stage circuit group including a current source, a capacitor, a source follower, and a reset switch.

ここでまず、被演算値wynの値に対応するパルス幅を有するパルス幅変調信号PWM_IN_Rを電流源16の動作のオン・オフを制御する制御信号として入力する。 First, a pulse width modulation signal PWM_IN_R having a pulse width corresponding to the value of the operand value w yn is input as a control signal for controlling on / off of the operation of the current source 16.

この際、被演算値wynの値に対応するパルス幅を有するパルス幅変調信号PWM_IN_Rは、外部から入力しても良いし、別途メモリ回路とデジタル/パルス幅変調回路を用意して生成しても構わない。本実施形態においては、外部から入力するものとする。また、電流値を決定するバイアス信号BIAS_CSを電流源16のゲートに入力する。 At this time, the pulse width modulation signal PWM_IN_R having a pulse width corresponding to the value of the operand value w yn may be input from the outside, or a memory circuit and a digital / pulse width modulation circuit are separately prepared and generated. It doesn't matter. In the present embodiment, it is assumed that the input is from outside. Further, a bias signal BIAS_CS for determining a current value is input to the gate of the current source 16.

ここで電流源16付近の詳細を図4の(B)に示す。電流源16は、例えば同図に示すようにCMOS回路によって構成される。MOS素子16は、パルス幅変調信号PWM_IN_RがHighの間だけ電流を流し、キャパシタ17に電荷が蓄積される。このため、Node0の電圧は、パルス幅変調信号PWM_IN_Rのパルス幅に比例する電圧値を示し、これは前述したように被演算値wynの値に対応する。 Details of the vicinity of the current source 16 are shown in FIG. The current source 16 is constituted by, for example, a CMOS circuit as shown in FIG. The MOS element 16 allows a current to flow only while the pulse width modulation signal PWM_IN_R is High, and charges are accumulated in the capacitor 17. For this reason, the voltage of Node 0 indicates a voltage value proportional to the pulse width of the pulse width modulation signal PWM_IN_R, and corresponds to the value of the operand value w yn as described above.

続いて、Node0の電圧はソースフォロワ18によって、電流源19に印加される。ここで電流源16付近の詳細を図4の(C)に示す。同図に示すようにMOS素子を電流源19として用いる場合、電流値はゲート電圧によってコントロールされるため、電流源19を流れる電流値はNode0の電圧値によってコントロールされることとなる。前述したように、Node0の電圧値は被演算値wynの値に対応していることから、結果として電流源19を流れる電流値は、被演算値wynの値に対応することとなる。 Subsequently, the voltage of Node 0 is applied to the current source 19 by the source follower 18. Details of the vicinity of the current source 16 are shown in FIG. As shown in the figure, when a MOS element is used as the current source 19, the current value is controlled by the gate voltage, so the current value flowing through the current source 19 is controlled by the voltage value of Node0. As described above, since the voltage value of Node 0 corresponds to the value of the operand value w yn , as a result, the current value flowing through the current source 19 corresponds to the value of the operand value w yn .

続いて電流源19には、ソーティング回路7から、動作のオン・オフを制御する制御パルスFLAG_INが入力される。制御パルスFLAG_INは、前述したソーティング回路7において、検索値が1単位変更(増加)された場合に入力される。   Subsequently, a control pulse FLAG_IN for controlling on / off of the operation is input from the sorting circuit 7 to the current source 19. The control pulse FLAG_IN is input when the search value is changed (increased) by one unit in the sorting circuit 7 described above.

電流源19として機能するMOS素子は、制御パルスFLAG_INがHighの間だけ電流を流し、キャパシタ20に電荷が蓄積される。このため、Node1の電圧は、ソーティング回路7において検索値が1単位変更(増加)されるごとに、被演算値wynの値に対応して増加していく。なおNode1の初期値は、ソーティング回路7における検索値の初期値に対応付けて設定されている。 The MOS element functioning as the current source 19 causes a current to flow only while the control pulse FLAG_IN is High, and charges are accumulated in the capacitor 20. Therefore, the voltage of Node1 increases corresponding to the value of the operand value w yn every time the search value is changed (increased) by one unit in the sorting circuit 7. Note that the initial value of Node 1 is set in association with the initial value of the search value in the sorting circuit 7.

この時、ソーティング回路7に保存された値は被演算値oであることから、結果としてNode1の電圧値は以下の演算式の演算結果に対応付けることが可能となる。
(被演算値wyn)×(被演算値o) ・・・(数式2)
続いて、Node1の電圧値はソースフォロワ21によって読み出され、図1及び図11に示すように、スイッチ回路ブロック4に入力される。
At this time, since the value stored in the sorting circuit 7 is the operand value o j , as a result, the voltage value of Node 1 can be associated with the calculation result of the following equation.
(Operation value w yn ) × (Operation value o j ) (Expression 2)
Subsequently, the voltage value of Node 1 is read by the source follower 21 and input to the switch circuit block 4 as shown in FIGS.

なお図4において、リセット用の2つのスイッチ22、23は、キャパシタ17、20に蓄積された電荷を初期化するために使用される。また、キャパシタ20の初期電圧値(Node1の電圧値)は、前述したようにソーティング回路7における最小の検索値に対応させる。   In FIG. 4, the two reset switches 22 and 23 are used for initializing charges accumulated in the capacitors 17 and 20. Further, the initial voltage value of the capacitor 20 (the voltage value of Node 1) is made to correspond to the minimum search value in the sorting circuit 7 as described above.

なお本実施形態においては、パルス幅変調信号によって動作制御を行なう電流源を用いているが、電流源の動作を制御することができるものであればその他制御信号を使用しても構わない。また、前述した(被演算値wyn)×(被演算値o)に相当する値を設定することができるものであれば、どのような回路構成を用いても構わない。 In the present embodiment, a current source that performs operation control using a pulse width modulation signal is used, but other control signals may be used as long as the operation of the current source can be controlled. In addition, any circuit configuration may be used as long as a value corresponding to the above-described ( operating value w yn ) × ( operating value o j ) can be set.

次に、図5を参照して荷重電圧設定回路10について説明する。   Next, the load voltage setting circuit 10 will be described with reference to FIG.

荷重電圧設定回路10は、同図(A)に示すように、電流源24、キャパシタ25、ソースフォロワ26及びリセット用のスイッチ27から構成される。   The load voltage setting circuit 10 includes a current source 24, a capacitor 25, a source follower 26, and a reset switch 27, as shown in FIG.

ここでまず、被演算値wxmの値に対応するパルス幅を有するパルス幅変調信号PWM_IN_Wを電流源24の動作のオン・オフを制御する制御信号として入力する。 Here, first, a pulse width modulation signal PWM_IN_W having a pulse width corresponding to the value of the operand value w xm is input as a control signal for controlling on / off of the operation of the current source 24.

また、電流値を決定するバイアス信号BIAS_CS_Wを電流源24のゲートに入力する。ここで電流源24は、例えば図5の(B)に示すようにCMOS回路によって構成される。   Further, a bias signal BIAS_CS_W for determining a current value is input to the gate of the current source 24. Here, the current source 24 is constituted by a CMOS circuit, for example, as shown in FIG.

電流源24として機能するMOS素子は、パルス幅変調信号PWM_IN_WがHighの間だけ電流を流し、キャパシタ25に電荷が蓄積されるため、Node3の電圧は、パルス幅変調信号PWM_IN_Wのパルス幅に比例する電圧値を示し、これは前述したように被演算値wxmの値に対応する。 In the MOS element functioning as the current source 24, the current flows only while the pulse width modulation signal PWM_IN_W is High, and electric charge is accumulated in the capacitor 25. Therefore, the voltage of Node3 is proportional to the pulse width of the pulse width modulation signal PWM_IN_W. This indicates a voltage value, which corresponds to the value of the operand value w xm as described above.

続いて、Node3の電圧値はソースフォロワ26によって読み出され、図1及び図10に示すように、スイッチ回路ブロック4に入力される。   Subsequently, the voltage value of Node 3 is read by the source follower 26 and input to the switch circuit block 4 as shown in FIGS.

なお図5において、リセット用のスイッチ27は、キャパシタ25に蓄積された電荷を初期化するために使用される。   In FIG. 5, the reset switch 27 is used to initialize the electric charge accumulated in the capacitor 25.

なお本実施形態においては、パルス幅変調信号によって動作制御を行なう電流源を用いているが、電流源の動作を制御することができるものであればその他制御信号を使用しても構わない。また、前述した被演算値wxmに相当する値を設定することができるものであれば、どのような回路構成を用いても構わない。 In the present embodiment, a current source that performs operation control using a pulse width modulation signal is used, but other control signals may be used as long as the operation of the current source can be controlled. In addition, any circuit configuration may be used as long as a value corresponding to the above-described operand value w xm can be set.

次に図1、図6、図10及び図11を参照してスイッチ回路11について説明する。スイッチ回路11は、図6に示すようにNANDゲート28、インバータ29及びスイッチ30、31、32から構成される。   Next, the switch circuit 11 will be described with reference to FIG. 1, FIG. 6, FIG. 10, and FIG. As shown in FIG. 6, the switch circuit 11 includes a NAND gate 28, an inverter 29, and switches 30, 31 and 32.

入力信号は、アナログ電圧INPUT_Vと、積和回路13における演算を制御する制御信号M_STOP、符号信号SIGNと、デコーダ8からの出力信号DEC_OUTの計4本である。ここでアナログ電圧INPUT_Vは、前述した荷重電圧設定回路10またはステップ電圧設定回路9の出力信号であり、符号信号SIGNは、被演算値wxmおよび(被演算値wyn×被演算値o)の正負符号に相当する。 There are a total of four input signals: an analog voltage INPUT_V, a control signal M_STOP that controls the operation in the product-sum circuit 13, a sign signal SIGN, and an output signal DEC_OUT from the decoder 8. Here, the analog voltage INPUT_V is an output signal of the load voltage setting circuit 10 or the step voltage setting circuit 9 described above, and the sign signal SIGN is the operand value w xm and (the operand value w yn × the operand value o j ). It corresponds to the sign of.

また、制御信号M_STOPと符号信号SIGNは、外部回路から入力するものであっても、もしくは別途用意したメモリ回路から入力するものであっても良い。本実施形態においては、外部回路から入力するとしている。   Further, the control signal M_STOP and the sign signal SIGN may be input from an external circuit or may be input from a separately prepared memory circuit. In this embodiment, it is assumed that input is from an external circuit.

ここでデコーダ8からの出力信号DEC_OUTがHighになると、荷重電圧設定回路10またはステップ電圧設定回路9の出力信号であるアナログ電圧INPUT_Vが、スイッチ30を介して出力線に出力される。それとともに、被演算値wxmおよび(被演算値wyn×被演算値o)の正負符号を示す符号信号SIGNが、スイッチ32を介して出力線に出力される。またこのとき、積和回路13における演算を制御する制御信号M_STOPがHighであると、出力線M_STOPがHighとなる。 Here, when the output signal DEC_OUT from the decoder 8 becomes High, the analog voltage INPUT_V that is an output signal of the load voltage setting circuit 10 or the step voltage setting circuit 9 is output to the output line via the switch 30. At the same time, the sign signal SIGN indicating the sign of the operand value w xm and (the operand value w yn × the operand value o j ) is output to the output line via the switch 32. At this time, if the control signal M_STOP for controlling the calculation in the product-sum circuit 13 is High, the output line M_STOP is High.

前述したスイッチ回路11の計3本の出力線は、図10及び図11に示すように、それぞれが後段の入力回路12への入力線となる出力信号線に接続している。   A total of three output lines of the switch circuit 11 described above are connected to output signal lines that are input lines to the input circuit 12 at the subsequent stage, as shown in FIGS.

なお図10及び図11において、荷重電圧設定回路10及びステップ電圧設定回路9の入力信号は省略している。また、スイッチ回路11は説明に必要な分のみを描写しており、一部のスイッチ回路を省略している。   10 and 11, input signals of the load voltage setting circuit 10 and the step voltage setting circuit 9 are omitted. Further, the switch circuit 11 shows only what is necessary for the description, and a part of the switch circuits is omitted.

次に図7を参照して入力回路12について説明する。入力回路12は、NANDゲート33、34、NORゲート35、36、2−1セレクタ37、38、インバータ39、40、41、42、43及びスイッチ44、45から構成される。なお、インバータ39、40は、M_STOP_RESET信号がHighの時のM_STOP信号をラッチする機能を持つ。   Next, the input circuit 12 will be described with reference to FIG. The input circuit 12 includes NAND gates 33 and 34, NOR gates 35 and 36, 2-1 selectors 37 and 38, inverters 39, 40, 41, 42 and 43, and switches 44 and 45. Note that the inverters 39 and 40 have a function of latching the M_STOP signal when the M_STOP_RESET signal is High.

入力回路12の入力信号は、アナログ電圧INPUT_V、符号信号SIGN、制御信号M_STOP、制御信号M_STOP_RESET、基準電圧入力BASE_BIAS、制御信号M_STOP_ON、リセット信号RESETの7本である。   The input signal of the input circuit 12 includes seven signals: an analog voltage INPUT_V, a sign signal SIGN, a control signal M_STOP, a control signal M_STOP_RESET, a reference voltage input BASE_BIAS, a control signal M_STOP_ON, and a reset signal RESET.

このうち、アナログ電圧INPUT_V、符号信号SIGN、制御信号M_STOPは、スイッチ回路11につき上述した通りであり、スイッチ回路ブロック4から入力される。   Among these, the analog voltage INPUT_V, the sign signal SIGN, and the control signal M_STOP are as described above for the switch circuit 11 and are input from the switch circuit block 4.

また制御信号M_STOP_RESETは、積和回路13における演算を制御する制御信号M_STOPの入力線をリセットする。基準電圧入力BASE_BIASは、本実施形態では1.65Vとする。制御信号M_STOP_ONは演算動作を制御する。リセット信号RESETは、アナログ電圧の出力ペアをリセットする。   The control signal M_STOP_RESET resets the input line of the control signal M_STOP that controls the calculation in the product-sum circuit 13. The reference voltage input BASE_BIAS is set to 1.65 V in this embodiment. The control signal M_STOP_ON controls the arithmetic operation. The reset signal RESET resets the analog voltage output pair.

以上の入力信号のうち、制御信号M_STOP_RESETと、基準電圧入力BASE_BIASと、演算動作を制御する制御信号M_STOP_ONと、アナログ電圧の出力ペアをリセットするリセット信号RESETの4本は、全ての入力回路12に対して共通に入力する。   Among the above input signals, the control signal M_STOP_RESET, the reference voltage input BASE_BIAS, the control signal M_STOP_ON for controlling the arithmetic operation, and the reset signal RESET for resetting the analog voltage output pair are supplied to all the input circuits 12. Input in common.

また出力信号は、積和回路13に対する差動ペア入力となる出力電圧2本と、積和回路13の演算動作をオン・オフする制御信号1本(M_STOP_XまたはM_STOP_Y)の計3本である。   The output signals are three in total: two output voltages serving as differential pair inputs to the product-sum circuit 13 and one control signal (M_STOP_X or M_STOP_Y) for turning on / off the arithmetic operation of the product-sum circuit 13.

ここで、被演算値wynおよび(被演算値wyn×被演算値o)の正負符号を示す符号信号SIGNのHigh・Lowによって差動ペアの出力電圧対が反転する。例えば、符号信号SIGNがHighの時に出力A:2.0V、出力B:1.65Vとすると、符号信号SIGNがLowになると、出力A:1.65V、出力B:2.0Vとなり、電圧値自体は変化せずに出力線のペアが反転する。 Here, the output voltage pair of the differential pair is inverted by the High / Low of the sign signal SIGN indicating the sign of the operand value w yn and (the operand value w yn × the operand value o j ). For example, when the sign signal SIGN is High, the output A is 2.0 V and the output B is 1.65 V. When the sign signal SIGN is Low, the output A is 1.65 V and the output B is 2.0 V. The output line pair is inverted without changing itself.

また、リセット信号RESETがLowになると、もしくは制御信号M_STOPのラッチされた信号がLowの時(Node5の電位がLowの時)は、出力A・Bの両方から基準電圧BASE_BIASが出力される。   Further, when the reset signal RESET becomes Low, or when the latched signal of the control signal M_STOP is Low (when the potential of Node 5 is Low), the reference voltage BASE_BIAS is output from both the outputs A and B.

なお、リセット信号RESETがHighで、かつM_STOPのラッチされた信号がHighの時(Node5の電位がHighの時)に出力A・Bの一方が基準電圧BASE_BIASとなり、もう一方がアナログ電圧INPUT_Vとなる。   When the reset signal RESET is High and the latched signal of M_STOP is High (when the potential of Node5 is High), one of the outputs A and B becomes the reference voltage BASE_BIAS, and the other becomes the analog voltage INPUT_V. .

また、入力制御信号M_STOP_ONがHighで、かつ入力制御信号M_STOPがHighの時のみ、積和回路13の演算動作をオン・オフする制御信号出力(M_STOP_XまたはM_STOP_Y)はHighとなる。   Further, only when the input control signal M_STOP_ON is High and the input control signal M_STOP is High, the control signal output (M_STOP_X or M_STOP_Y) for turning on / off the arithmetic operation of the product-sum circuit 13 becomes High.

次に、図8を参照して積和回路13について説明する。積和回路13は、乗算器46と、キャパシタ47と、NANDゲート48と、スイッチ49、50、51と、ソースフォロワ52から構成される。なお、本実施形態においては、乗算器として四象限乗算器を用いているが、同様の機能を実現できるものであればその他の乗算器を使用しても構わない。   Next, the product-sum circuit 13 will be described with reference to FIG. The product-sum circuit 13 includes a multiplier 46, a capacitor 47, a NAND gate 48, switches 49, 50 and 51, and a source follower 52. In the present embodiment, a four-quadrant multiplier is used as a multiplier. However, other multipliers may be used as long as the same function can be realized.

積和回路13の入力信号は、2組の差動電圧ペア入力(W_PとW_N、RAMP_PとRAMP_N)と、バイアス電圧入力VIと、キャパシタ47のリセット信号CAP_RESET_SWと、キャパシタ47のリセット電圧CAP_RESET_Vとを含む。更に、出力制御信号CAP_OUT_SWと、乗算器46とキャパシタ47の間に接続されるスイッチ49の制御信号M_STOP_X及びM_STOP_Yとを含む。   The input signal of the product-sum circuit 13 includes two sets of differential voltage pair inputs (W_P and W_N, RAMP_P and RAMP_N), a bias voltage input VI, a reset signal CAP_RESET_SW of the capacitor 47, and a reset voltage CAP_RESET_V of the capacitor 47. Including. Further, it includes an output control signal CAP_OUT_SW and control signals M_STOP_X and M_STOP_Y of a switch 49 connected between the multiplier 46 and the capacitor 47.

積和回路13の出力信号は、積和演算結果に相当する電圧値出力である。   The output signal of the product-sum circuit 13 is a voltage value output corresponding to the product-sum operation result.

乗算器46は、入力された差動電圧ペア(W_PとW_N、RAMP_PとRAMP_N)に関して乗算を行い、結果を電流値I1としてキャパシタ47に出力する。   The multiplier 46 performs multiplication on the input differential voltage pair (W_P and W_N, RAMP_P and RAMP_N), and outputs the result to the capacitor 47 as a current value I1.

ここで2組の差動電圧ペア(W_PとW_N、RAMP_PとRAMP_N)は、図1に示すように、一方の組が荷重電圧設定回路10からの入力電圧を含み、もう一方の組がステップ電圧設定回路9からの入力電圧を含むものである。   Here, as shown in FIG. 1, two sets of differential voltage pairs (W_P and W_N, RAMP_P and RAMP_N) include an input voltage from the load voltage setting circuit 10, and the other set includes a step voltage. The input voltage from the setting circuit 9 is included.

前述したように、荷重電圧設定回路10の電圧値は(被演算値wxm)に相当しており、ステップ電圧設定回路9の電圧値は(被演算値wyn×被演算値o)に相当している。従って乗算器46においては、以下に示す数式3の演算が実行されることとなる。 As described above, the voltage value of the load voltage setting circuit 10 corresponds to (calculated value w xm ), and the voltage value of the step voltage setting circuit 9 is (calculated value w yn × operated value o j ). It corresponds. Therefore, in the multiplier 46, the calculation of the following formula 3 is executed.

(被演算値wxm)×(被演算値wyn×被演算値o) ・・・(数式3)
演算結果に相当する電流は、スイッチ49を介して接続するキャパシタ47に流入(またはキャパシタ47から流出)し、電荷として蓄積される。ここで、乗算器46で行なわれる演算時間t1を一定にすることで、キャパシタ47にはI×t1の電荷が蓄積されることになる。
(Operation value w xm ) × (Operation value w yn × Operation value o j ) (Equation 3)
The current corresponding to the calculation result flows into (or flows out of) the capacitor 47 connected via the switch 49, and is accumulated as electric charge. Here, by making the calculation time t 1 performed by the multiplier 46 constant, the charge of I × t 1 is accumulated in the capacitor 47.

キャパシタ47の前段にはスイッチ49が配置され、そのオン・オフの動作は、M_STOP_XとM_STOP_Yの信号の論理積によって制御されている。   A switch 49 is arranged in front of the capacitor 47, and its on / off operation is controlled by the logical product of the signals M_STOP_X and M_STOP_Y.

すなわち積和回路アレイ1においては、M_STOP_XとM_STOP_Yが両方ともHighとなる積和回路13においてのみ、演算結果の電流がキャパシタ47に流入(流出)し、乗算結果が累算される。なお本実施形態においては、電流の流入は正の累算に対応し、電流の流出は負の累算に対応している。   That is, in the product-sum circuit array 1, only in the product-sum circuit 13 in which both M_STOP_X and M_STOP_Y are High, the current of the calculation result flows into (flows out) the capacitor 47, and the multiplication result is accumulated. In the present embodiment, inflow of current corresponds to positive accumulation, and outflow of current corresponds to negative accumulation.

以上の乗算を繰り返し、各乗算ごとに出力される電流を電荷としてキャパシタ47に蓄積することで、乗算結果を累算することが可能となる。   By repeating the above multiplication and accumulating the current output for each multiplication in the capacitor 47 as an electric charge, the multiplication result can be accumulated.

なお本実施形態の場合、乗算器46として差動乗算器を用いているため、差動ペアの少なくとも一方が同電圧の場合、乗算結果の電流値I1は0となる。   In this embodiment, since a differential multiplier is used as the multiplier 46, the current value I1 of the multiplication result is 0 when at least one of the differential pairs has the same voltage.

蓄積された電荷量(すなわち累算結果)は、最終的にソースフォロワ52とスイッチ51を介してNode4の電圧値として出力される。Node4は、図1及び図12に示すように積和回路アレイ1の出力信号線に繋がっている。   The accumulated charge amount (that is, the accumulation result) is finally output as a voltage value of Node 4 via the source follower 52 and the switch 51. The Node 4 is connected to the output signal line of the product-sum circuit array 1 as shown in FIGS.

積和回路アレイの1列ごとに電圧出力信号CAP_OUT_SWが入力されることにより、キャパシタ47の電圧値がソースフォロワ52を介してNode4に出力される。   When the voltage output signal CAP_OUT_SW is input for each column of the sum-of-products circuit array, the voltage value of the capacitor 47 is output to the Node 4 via the source follower 52.

なお、キャパシタ47の電圧は累算の開始前に、リセット信号によりスイッチ50をオンしてリセット電圧に設定される。累算を実行し出力が完了するまで、前記スイッチ50はオフされる。   The voltage of the capacitor 47 is set to the reset voltage by turning on the switch 50 by a reset signal before the accumulation starts. The switch 50 is turned off until the accumulation is executed and the output is completed.

本実施形態では、前記リセット電圧を1.65Vに設定したが、必要に応じてその他の電圧値に設定することも可能である。   In the present embodiment, the reset voltage is set to 1.65 V, but other voltage values may be set as necessary.

次に図9及び図12を参照して出力回路14について説明する。図12においては、積和回路13のキャパシタ47の電圧値を読み出す際に関係する信号線のみを記載し、その他の入出力に関わる信号線は省略している。また、本実施形態においては、出力回路14をA/D変換回路53によって構成している。   Next, the output circuit 14 will be described with reference to FIGS. In FIG. 12, only signal lines related to reading the voltage value of the capacitor 47 of the product-sum circuit 13 are shown, and other signal lines related to input / output are omitted. In the present embodiment, the output circuit 14 is configured by the A / D conversion circuit 53.

ここで、A/D変換回路53の入力端子は、積和回路アレイ1の出力信号線に接続されている。また、出力はソーティング回路7の入力に接続されている。   Here, the input terminal of the A / D conversion circuit 53 is connected to the output signal line of the product-sum circuit array 1. The output is connected to the input of the sorting circuit 7.

すなわち出力回路14は、積和回路13のキャパシタ47に電荷として蓄積された積和演算結果を電圧値として読み込み、デジタル値に変換して出力する。   That is, the output circuit 14 reads the product-sum operation result accumulated as electric charge in the capacitor 47 of the product-sum circuit 13 as a voltage value, converts it into a digital value, and outputs it.

以上説明した中で、主要な入力信号のタイミングチャート例を図14に示す。なお、図14のタイミングチャートは、本実施形態における一例であり、同様の処理を行なうことができるものであれば、これ以外の入力信号タイミングであっても構わない。   In the above description, FIG. 14 shows a timing chart example of main input signals. The timing chart of FIG. 14 is an example in the present embodiment, and other input signal timings may be used as long as the same processing can be performed.

(第2の実施形態)
本発明の第2の実施形態を具体的な処理構成図を参照して説明する。
(Second Embodiment)
A second embodiment of the present invention will be described with reference to a specific processing configuration diagram.

本実施形態は、第1の実施形態で説明した演算回路を用いて、次の式で表される演算処理を実行するものである。   In the present embodiment, arithmetic processing represented by the following expression is executed using the arithmetic circuit described in the first embodiment.

Figure 0004579798
Figure 0004579798

ここで、uMNの添え字MNは演算値uをアレイ状に構成した場合の行・列番号を表している。また、被演算値wmnjの添え字mnは、図に示すようにアレイ状に分布したwの行・列番号を表しており、添え字jは被演算値o のラベルを表している。 Here, the subscript MN of uMN represents the row / column number when the operation value u is configured in an array. The subscript mn of the operand value w mnj represents the row and column numbers of w distributed in an array as shown in the figure, and the suffix j represents the label of the operand value o 1.

この時、被演算値wmnjは以下の式に示すように基底ベクトル対の積和で近似することが可能である。これを明細書では、荷重基底ベクトル分解と呼ぶ。 At this time, the operand value w mnj can be approximated by a product sum of a basis vector pair as shown in the following equation. In the specification, this is called load basis vector decomposition.

Figure 0004579798
Figure 0004579798

数式5で示される荷重基底ベクトル分解において、wが3×3のアレイ状に分布している場合を図24に示す。   FIG. 24 shows a case where w is distributed in a 3 × 3 array in the weight basis vector decomposition expressed by Equation 5.

なお、数式5においてNwが無限大の時に等号が成り立つ。実際の使用においては、荷重アレイの分布に応じて適当な基底ベクトル分解数Nwが決定され、wmnjが適当な基底ベクトル対の組の積和値で近似される。 In Equation 5, the equal sign holds when Nw is infinite. In actual use, an appropriate basis vector decomposition number Nw is determined according to the distribution of the load array, and w mnj is approximated by a product-sum value of a set of appropriate basis vector pairs.

続いて、数式5を数式4に代入すると以下の式が導出される。   Subsequently, when Expression 5 is substituted into Expression 4, the following expression is derived.

Figure 0004579798
Figure 0004579798

ここで、基底ベクトルw xjの要素を第1の実施形態で説明した被演算値wxとみなし、もう一方の基底ベクトルw yjとoの積(o・w yj)の要素を第1の実施形態で説明した被演算値wynと被演算値oの積(o・w yj)とみなした場合、数式6中の中括弧{}で括られた演算式は、第1の実施形態で説明した積和回路によって演算可能であることが分かる。 Here, the element of the basis vector w k xj is regarded as the operand value wx m described in the first embodiment, and the element of the product (o j · w k yj ) of the other basis vector w k yj and o j is used. Is the product of the operand value w yn and operand value o j (o j · w k yj ) described in the first embodiment, the arithmetic expression enclosed in braces {} in Equation 6 is It can be seen that the calculation can be performed by the product-sum circuit described in the first embodiment.

従って、被演算値wxと被演算値wynを所望のwmnjに対する基底ベクトル対の組の要素として適当に設定して第1の実施形態で説明した積和回路によって前記中括弧で括られた演算式の演算を行ない、それをNw回繰り返すことにより、数式4の演算を近似的に実行することが可能となる。 Therefore, the operand value wx m and operand value w yn are appropriately set as elements of a set of basis vector pairs for the desired w mnj and are enclosed in the braces by the product-sum circuit described in the first embodiment. It is possible to approximately execute the calculation of Formula 4 by performing the calculation of the above formula and repeating it Nw times.

以上示したように、アレイ状に分布する荷重値を基底ベクトル対の積和で近似することにより、第1の実施形態で説明した演算回路によってアレイ状に分布する荷重値の演算を並列に実行することが可能となる。   As described above, the load values distributed in the array are executed in parallel by the arithmetic circuit described in the first embodiment by approximating the load values distributed in the array by the sum of products of the basis vector pairs. It becomes possible to do.

(第3の実施形態)
本発明の第3の実施形態を具体的な処理構成図を参照して説明する。図15は、本実施形態における演算回路200の構成図を示す。
(Third embodiment)
A third embodiment of the present invention will be described with reference to a specific processing configuration diagram. FIG. 15 shows a configuration diagram of the arithmetic circuit 200 in the present embodiment.

図15を見ると分かる通り、本実施形態における演算回路200は、図1に示す第1及び第2の実施形態の演算回路100に対して、以下の点で異なっている。まず、ソーティング回路7の後段にメモリ54が接続されている。更に、荷重電圧設定回路10及びステップ電圧設定回路9にメモリ55とデジタル/パルス変調回路56が接続されている。また、出力回路ブロック6がコンパレータ57とパルス/デジタル変換回路58によって構成されている。   As can be seen from FIG. 15, the arithmetic circuit 200 in the present embodiment differs from the arithmetic circuit 100 in the first and second embodiments shown in FIG. 1 in the following points. First, the memory 54 is connected to the subsequent stage of the sorting circuit 7. Further, a memory 55 and a digital / pulse modulation circuit 56 are connected to the load voltage setting circuit 10 and the step voltage setting circuit 9. The output circuit block 6 includes a comparator 57 and a pulse / digital conversion circuit 58.

従って本実施形態においては、前記相違点についてのみ説明を行ない、その他の部分に関しては第1及び第2の実施形態と同様として説明を省略する。   Therefore, in the present embodiment, only the difference will be described, and the other parts will be omitted as they are the same as the first and second embodiments.

まず、ソーティング回路7の後段にメモリ54が接続されている点について説明を行なう。   First, the point that the memory 54 is connected to the subsequent stage of the sorting circuit 7 will be described.

メモリ54には、ソーティング回路7から出力されるX方向・Y方向のアドレス値と、そのアドレスが出力された際の検索値と、前回の検索値から1単位変更されているかどうかを示すフラグとが出力順に保持されている。本実施形態において、X方向・Y方向のアドレス値はそれぞれ4ビットの値を持つ。また、前回の検索値から1単位変更されているかどうかを示すフラグは、本実施形態では1単位増加されているかどうかを1ビットで示す。   The memory 54 includes an X-direction / Y-direction address value output from the sorting circuit 7, a search value when the address is output, and a flag indicating whether or not one unit has been changed from the previous search value. Are stored in the output order. In the present embodiment, the X-direction and Y-direction address values each have a 4-bit value. Further, the flag indicating whether or not one unit has been changed from the previous search value indicates by one bit whether or not one unit has been increased in the present embodiment.

保持されたアドレス値とフラグとは、メモリ54に入力された順番に出力される。なお出力の順番は、本実施形態とは異なりメモリ54に入力された順番と逆順で出力されるものであっても良い。   The stored address values and flags are output in the order in which they are input to the memory 54. Note that the output order may be output in the reverse order to the order input to the memory 54, unlike the present embodiment.

ここで、出力されたアドレス値は、第1の実施形態と同様にX方向・Y方向それぞれがデコーダ8に入力される。また同時に、フラグがステップ電圧設定回路9に入力される。この時、入力されるフラグは、第1の実施形態における制御パルスFLAG_INに相当する。   Here, the output address value is input to the decoder 8 in both the X direction and the Y direction, as in the first embodiment. At the same time, a flag is input to the step voltage setting circuit 9. At this time, the input flag corresponds to the control pulse FLAG_IN in the first embodiment.

以上の様に、メモリ54は、ソーティング回路7から出力されるアドレス及びステップ電圧設定回路9の制御信号を一時保存する機能を有している。   As described above, the memory 54 has a function of temporarily storing the address output from the sorting circuit 7 and the control signal of the step voltage setting circuit 9.

従って、第1の実施形態で説明した演算において、ソーティング回路7に保持されている被演算値oのデータ(アドレス値、フラグ)が、メモリ54に一時保存される。これにより、ソーティング回路7のメモリセルを解放して、次の演算結果の保持・ソーティング用にソーティング回路7を使用することを可能とする。また、算出された演算結果を次回の演算における被演算値oとして使用することも可能となる。 Therefore, in the calculation described in the first embodiment, the data (address value, flag) of the operand value o j held in the sorting circuit 7 is temporarily stored in the memory 54. As a result, the memory cells of the sorting circuit 7 are released, and the sorting circuit 7 can be used for holding and sorting the next calculation result. It is also possible to use the calculated calculation result as the operand value o j in the next calculation.

なお本実施形態においては、前回の演算結果を保持するためのメモリ54を2セットと、この演算結果を被演算値oとして演算する際の演算結果を保持するためのメモリ54を2セット用意している。すなわち、図15に示すように、メモリ54は計4セット用意されている。なお、メモリ54のセット数は、演算処理に応じてその他のセット数であっても構わない。 In the present embodiment, two sets of memory 54 for holding the previous calculation result and two sets of memory 54 for holding the calculation result when calculating the calculation result as the operand value o j are prepared. is doing. That is, as shown in FIG. 15, a total of four sets of memories 54 are prepared. It should be noted that the number of sets in the memory 54 may be other set numbers depending on the arithmetic processing.

続いて、荷重電圧設定回路10及びステップ電圧設定回路9にメモリ55とデジタル/パルス変調回路56が接続されている点について説明を行なう。   Next, the point that the memory 55 and the digital / pulse modulation circuit 56 are connected to the load voltage setting circuit 10 and the step voltage setting circuit 9 will be described.

図15に示すように、メモリ55に保持された被演算値wyn及び被演算値wxmのデジタル値(本実施形態では5ビット)をデジタル/パルス変調回路56によってパルス幅変調信号に変換する。これにより、第1の実施形態において荷重電圧設定回路10及びステップ電圧設定回路9に対して入力されたパルス幅変調信号PWM_IN_W及びPWM_IN_Rが生成される。 As shown in FIG. 15, the digital value (5 bits in this embodiment) of the operand value w yn and operand value w xm held in the memory 55 is converted into a pulse width modulation signal by the digital / pulse modulation circuit 56. . Thereby, the pulse width modulation signals PWM_IN_W and PWM_IN_R input to the load voltage setting circuit 10 and the step voltage setting circuit 9 in the first embodiment are generated.

また、メモリ55は前記デジタル値とともに正負の符号(1ビット)も保持しており、これは第1の実施形態における符号信号SIGNとしてスイッチ回路11に入力される。   The memory 55 also stores a positive and negative sign (1 bit) together with the digital value, which is input to the switch circuit 11 as the sign signal SIGN in the first embodiment.

なお、前述したデジタル/パルス変調回路56は、入力されたデジタル値をパルス幅変調信号に変換して出力する機能を有するものであれば、どのような構造を有するものであっても構わない。   The digital / pulse modulation circuit 56 described above may have any structure as long as it has a function of converting an input digital value into a pulse width modulation signal and outputting it.

続いて、出力回路ブロック6がコンパレータ57とパルス/デジタル変換回路58によって構成されている点について説明を行なう。   Next, the point that the output circuit block 6 is composed of the comparator 57 and the pulse / digital conversion circuit 58 will be described.

図16に、コンパレータ57とパルス/デジタル変換回路58によって構成される出力回路ブロック6を示す。   FIG. 16 shows the output circuit block 6 constituted by the comparator 57 and the pulse / digital conversion circuit 58.

コンパレータ57は、入力された電圧値(すなわち積和回路アレイ1から出力される演算結果に相当する)を参照電圧Vrefと比較してパルス幅変調信号に変換して出力する機能を有する。   The comparator 57 has a function of comparing the input voltage value (that is, corresponding to the calculation result output from the sum-of-products circuit array 1) with the reference voltage Vref, converting it into a pulse width modulation signal, and outputting the pulse width modulation signal.

なお、図16はオペアンプを用いたコンパレータ57を使用しているが、その他の回路構成を有するコンパレータを使用しても構わない。   Although FIG. 16 uses the comparator 57 using an operational amplifier, a comparator having another circuit configuration may be used.

また、参照電圧Vrefを時間に対して非線形に変化する電圧値とした場合には、入力される電圧値を、参照電圧Vrefの時間変化で決定される非線形な変換を施したパルス幅を有するパルス幅変調信号に変換することが可能となる。   In addition, when the reference voltage Vref is a voltage value that changes nonlinearly with respect to time, the input voltage value has a pulse width that has been subjected to nonlinear conversion determined by the time change of the reference voltage Vref. It can be converted into a width modulation signal.

コンパレータ57から出力されたパルス幅変調信号は、パルス/デジタル変換回路58に入力され、デジタル値に変換される。変換されたデジタル値は、第1の実施形態と同様にソーティング回路7に入力され保持される。   The pulse width modulation signal output from the comparator 57 is input to the pulse / digital conversion circuit 58 and converted into a digital value. The converted digital value is input and held in the sorting circuit 7 as in the first embodiment.

なお、前述したパルス/デジタル変換回路58は、入力されたパルス幅変調信号をデジタル値に変換して出力する機能を有するものであれば、どのような構造を有するものであっても構わない。   The pulse / digital conversion circuit 58 described above may have any structure as long as it has a function of converting an input pulse width modulation signal into a digital value and outputting it.

また本実施形態においては、メモリ54、55をSRAMで構成するものとするが、同様の機能を有するものであれば、その他の回路を使用しても構わない。   In the present embodiment, the memories 54 and 55 are constituted by SRAM. However, other circuits may be used as long as they have similar functions.

(第4の実施形態)
本発明の第4の実施形態を具体的な処理構成図を参照して説明する。
(Fourth embodiment)
A fourth embodiment of the present invention will be described with reference to a specific processing configuration diagram.

図17は、本実施形態における演算回路の構成図を示す。図17を見ると分かる通り、本実施形態における演算回路は、図15に示す第3の実施形態の演算回路と同様、出力回路ブロック6がコンパレータ57とパルス/デジタル変換回路58によって構成されている。そして、図15とは、出力回路ブロック6の後段にルックアップテーブル(Look Up Table:LUT)59が接続されていることのみが異なっている。   FIG. 17 shows a configuration diagram of an arithmetic circuit in the present embodiment. As can be seen from FIG. 17, in the arithmetic circuit in this embodiment, the output circuit block 6 is configured by a comparator 57 and a pulse / digital conversion circuit 58, as in the arithmetic circuit of the third embodiment shown in FIG. . 15 is different from FIG. 15 only in that a look-up table (LUT) 59 is connected to the subsequent stage of the output circuit block 6.

従って本実施形態においては、前記相違点についてのみ説明を行ない、その他の部分に関しては第3の実施形態と同様であるので説明を省略する。   Therefore, in the present embodiment, only the difference will be described, and the other parts are the same as those in the third embodiment, and the description thereof will be omitted.

図17に示すように、LUT59にはパルス/デジタル変換回路58から出力されたデジタル値が列並列に入力される。   As shown in FIG. 17, the digital values output from the pulse / digital conversion circuit 58 are input to the LUT 59 in parallel in a column.

LUT59は、入力されたデジタル値を一旦内蔵されたレジスタに保持した後、保持データに対してシリアルに所定の変換を施して変換値をソーティング回路7に対して出力する。すなわち、LUT59は積和回路13において算出された演算結果に対して所定の変換を実行する機能を有する。   The LUT 59 once holds the input digital value in a built-in register, serially performs predetermined conversion on the held data, and outputs the converted value to the sorting circuit 7. That is, the LUT 59 has a function of executing a predetermined conversion on the operation result calculated by the product-sum circuit 13.

なお、一般的にLUT59はデジタルメモリ(例えばSRAM)と同様の構成を有するが、前述した機能を有するものであれば、どのような構造を有するものであっても構わない。   The LUT 59 generally has the same configuration as that of a digital memory (for example, SRAM), but may have any structure as long as it has the above-described function.

(第5の実施形態)
本発明の第5の実施形態を具体的な処理構成図を参照して説明する。
(Fifth embodiment)
A fifth embodiment of the present invention will be described with reference to a specific processing configuration diagram.

一般的なニューラルネットワークにおけるニューロン素子のモデルを図18に示す。同図に示すように、一般的なニューロン素子60は、前段の複数のニューロン素子の出力値をシナプス荷重で重み付けした値の総和を取り、ニューロン素子60の内部状態値を決定する。すなわちニューロン素子60の内部状態値は、積和演算によって算出される。   A model of neuron elements in a general neural network is shown in FIG. As shown in the figure, the general neuron element 60 determines the internal state value of the neuron element 60 by taking the sum of values obtained by weighting the output values of the plurality of neuron elements in the previous stage with the synaptic load. That is, the internal state value of the neuron element 60 is calculated by a product-sum operation.

各ニューロン素子における内部状態値の算出式を以下に示す。   The calculation formula of the internal state value in each neuron element is shown below.

Figure 0004579798
Figure 0004579798

ここで、UMNの添え字MNは内部状態値Uをアレイ状に構成した場合の行・列番号を表している。また、シナプス荷重値Wmnjの添え字mnは、図に示すようにアレイ状に分布したWの行・列番号を表しており、添え字jは前段ニューロン出力値Oのラベルを表している。 Here, the subscript MN of UMN represents the row / column number when the internal state value U is configured in an array. Further, the subscript mn of the synapse load value W mnj represents the row / column number of W distributed in an array as shown in the figure, and the subscript j represents the label of the preceding neuron output value O.

これは第2の実施形態で説明した数式4と同様の演算式であることが分かる。   It can be seen that this is the same arithmetic expression as Expression 4 described in the second embodiment.

なおそれぞれのニューロン素子は、内部状態値に非線形変換(もしくは線形変換)を施した後、変換値を後段に接続するニューロン素子に対して出力する。   Each neuron element performs nonlinear transformation (or linear transformation) on the internal state value, and then outputs the transformation value to the neuron element connected to the subsequent stage.

ここで、後段層ニューロン素子に接続するニューロン群領域を一般的に受容野と呼ぶ。   Here, a neuron group region connected to a post-stage neuron element is generally called a receptive field.

これに対して、全く等しい結合を有するニューラルネットワークにおいて、図19に示すように前段層ニューロンに接続するニューロン群領域を定義したものを投射野と呼ぶ。   On the other hand, in a neural network having exactly the same connection, what defines a neuron group region connected to the preceding layer neuron as shown in FIG. 19 is called a projection field.

図18と図19の相違は、結合領域を1つの後段層ニューロンに対して定義するか、もしくは1つの前段層ニューロンに対して定義するかの違いだけである。   The only difference between FIG. 18 and FIG. 19 is that the connection region is defined for one post-layer neuron or one pre-layer neuron.

従って、どちらの定義に従ってもニューラルネットワークとして実行される演算処理は全く同一である。   Therefore, the arithmetic processing executed as a neural network is exactly the same according to either definition.

またニューロン間の結合を投射野を用いて定義し、かつ前記投射野に属する後段層ニューロンの配列が図20に示すようにアレイ構造(1つのニューロン素子を1つのセルで表現している)を有するとする。この場合、1つの前段層ニューロンの出力値Ojに対して定義される後段層ニューロンとの結合におけるシナプス荷重分布をWmnjとすると、Wmnjは以下の式で近似することができる。図20において、Wmnjを対応する後段層ニューロン素子のセル内に示している。 In addition, the connection between neurons is defined using a projection field, and an array structure (one neuron element is represented by one cell) as shown in FIG. Suppose you have it. In this case, W mnj can be approximated by the following equation, where W mnj is the synaptic load distribution in the connection with the subsequent layer neuron defined for the output value Oj of one preceding layer neuron. In FIG. 20, W mnj is shown in the cell of the corresponding subsequent- stage neuron element.

Figure 0004579798
Figure 0004579798

本実施形態においてはNw=5としているが、その他の値としても良い。また、添え字iは1〜3の値(整数)をとり、投射野のサイズに一致している。   In this embodiment, Nw = 5, but other values may be used. The subscript i takes a value of 1 to 3 (integer), which matches the size of the projection field.

これを図20に対比して示すと図21のようになる。図21において、   FIG. 21 shows this in comparison with FIG. In FIG.

Figure 0004579798
を対応する後段層ニューロン素子のセル内に示している。
Figure 0004579798
Is shown in the cell of the corresponding post-stage neuron element.

すなわち、シナプス荷重値の分布は適当な基底ベクトル対の組の積和で近似することができる。これは、第2の実施形態で説明した基底ベクトル分解と全く同じ原理である。   That is, the distribution of synaptic load values can be approximated by a product sum of a pair of appropriate basis vector pairs. This is the same principle as the basis vector decomposition described in the second embodiment.

従って、第2の実施形態と同様に、シナプス荷重値を適当な基底ベクトル対の組に分解し、第1の実施形態で説明した演算回路で繰り返し演算を実行することにより、数式5で示されるニューラルネットワークの処理を実行することが可能となる。   Therefore, as in the second embodiment, the synaptic load value is decomposed into a pair of appropriate basis vector pairs, and is repeatedly expressed by the arithmetic circuit described in the first embodiment. Neural network processing can be executed.

以上の前提をもとに、本実施形態においては、ニューラルネットワークを回路として実装する際に、第1〜4の実施形態で説明した回路構成を適用する。   Based on the above premise, in this embodiment, when the neural network is mounted as a circuit, the circuit configuration described in the first to fourth embodiments is applied.

すなわち、第1、第3、第4の実施形態における被演算値oは前段ニューロンの出力値Oに相当し、被演算値wxnは一方の基底ベクトルW xjの要素に相当し、被演算値wynはもう一方の1次元基底ベクトルW yjの要素に相当する。 That is, the operand value o j in the first, third, and fourth embodiments corresponds to the output value O j of the preceding neuron, and the operand value w xn corresponds to an element of one basis vector W k xj , The operand value w yn corresponds to an element of the other one-dimensional basis vector W k yj .

また、1つの被演算値oに関して積和演算を並列に実行する積和回路13の領域が、投射野に相当する。 An area of the product-sum circuit 13 that performs product-sum operations in parallel on one operand value o j corresponds to a projection field.

積和回路アレイにおいては、前述したように数式1に示される演算が実行され、これを数式6に従いNw回繰り返すことにより、前段ニューロン出力値とシナプス荷重値の乗算が実現される。   In the product-sum circuit array, the calculation shown in Equation 1 is executed as described above, and this is repeated Nw times according to Equation 6, thereby realizing multiplication of the pre-stage neuron output value and the synapse load value.

以上の積和演算を演算対象となる全ての前段層ニューロン出力値(すなわち被演算値o)に対して完了した後、演算結果(電圧値)を出力回路14に出力する。 After the above product-sum operation is completed for all preceding-layer neuron output values (that is, the operand value o j ) to be calculated, the calculation result (voltage value) is output to the output circuit 14.

ニューロン素子における非線形変換(もしくは線形変換)は、A/D変換回路53、コンパレータ57もしくはLUT59によって実行され、ニューロン出力値が算出される。   Nonlinear conversion (or linear conversion) in the neuron element is executed by the A / D conversion circuit 53, the comparator 57, or the LUT 59, and the neuron output value is calculated.

ニューロン出力値はソーティング回路7によってソートされた後、アドレス値とフラグが後段に接続するメモリ54に保持され、後段層ニューロンに関する演算時に使用される。   After the neuron output values are sorted by the sorting circuit 7, the address value and the flag are held in the memory 54 connected to the subsequent stage, and are used at the time of calculation related to the subsequent layer neuron.

以上説明したように、第1〜4の実施形態で説明した演算回路を用いることにより、ニューラルネットワークの実装化が可能となる。   As described above, a neural network can be implemented by using the arithmetic circuit described in the first to fourth embodiments.

(第6の実施形態)
本発明の第6の実施形態を具体的な処理構成図を参照して説明する。
(Sixth embodiment)
A sixth embodiment of the present invention will be described with reference to a specific processing configuration diagram.

本実施形態における演算回路を図22に示す。同図の演算回路は画像処理を実行する。   The arithmetic circuit in this embodiment is shown in FIG. The arithmetic circuit in the figure executes image processing.

図22を見ると分かるように、本実施形態における演算回路は、第1〜5の実施形態における演算回路に対して、撮像素子アレイ61(例えばCCDまたはCMOSイメージセンサ)がソーティング回路7に接続していることのみが異なっている。図22は、第4〜5の実施形態の場合を示している。)
すなわち本実施形態においては、前記撮像素子アレイ61によって取り込まれた画像信号に対して、第1〜5の実施形態で説明した演算回路により演算処理を行なう。これにより、所望の画像処理(例えばパターン検出およびパターン認識)を行なうことを目的としている。
As can be seen from FIG. 22, the arithmetic circuit in the present embodiment is different from the arithmetic circuits in the first to fifth embodiments in that an imaging element array 61 (for example, a CCD or CMOS image sensor) is connected to the sorting circuit 7. Only that it is different. FIG. 22 shows the case of the fourth to fifth embodiments. )
That is, in the present embodiment, the arithmetic processing is performed on the image signal captured by the image sensor array 61 by the arithmetic circuit described in the first to fifth embodiments. This is intended to perform desired image processing (for example, pattern detection and pattern recognition).

なお、実際に実現される画像処理の内容は、演算回路で実現されるニューラルネットワークにおけるシナプス荷重値及び投射野等の設定により決定される。その詳細な設定方法は、本発明の主眼とするところではないので、説明を省略する。   The content of the image processing that is actually realized is determined by the setting of the synapse load value, the projection field, and the like in the neural network that is realized by the arithmetic circuit. Since the detailed setting method is not the main point of the present invention, the description is omitted.

ここで、本実施形態においては、撮像素子アレイ61から出力される画像信号は、まずソーティング回路7に入力される。なお、画像信号はデジタル信号に変換された後にソーティング回路7に入力されるが、図22ではデジタル信号への変換に関しては詳細を省略している。   Here, in the present embodiment, the image signal output from the image sensor array 61 is first input to the sorting circuit 7. The image signal is converted into a digital signal and then input to the sorting circuit 7. However, in FIG. 22, details regarding the conversion into the digital signal are omitted.

すなわち画像信号は第1〜5の実施形態で説明した被演算値oとして演算に使用される。ソーティング回路以降の演算処理は第1〜5の実施形態と同様であるので、説明を省略する。 That is, the image signal is used in the calculation as the operand value o j described in the first to fifth embodiments. Since the arithmetic processing after the sorting circuit is the same as in the first to fifth embodiments, the description thereof is omitted.

第1の実施形態における演算回路の全体構成を示す図である。It is a figure which shows the whole structure of the arithmetic circuit in 1st Embodiment. 第1の実施形態におけるソーティング回路を示す図である。It is a figure which shows the sorting circuit in 1st Embodiment. 第1の実施形態におけるデコーダを示す図である。It is a figure which shows the decoder in 1st Embodiment. 第1の実施形態におけるステップ電圧設定回路を示す図である。It is a figure which shows the step voltage setting circuit in 1st Embodiment. 第1の実施形態における荷重電圧設定回路を示す図である。It is a figure which shows the load voltage setting circuit in 1st Embodiment. 第1の実施形態におけるスイッチ回路を示す図である。It is a figure which shows the switch circuit in 1st Embodiment. 第1の実施形態における入力回路を示す図である。It is a figure which shows the input circuit in 1st Embodiment. 第1の実施形態における積和回路を示す図である。It is a figure which shows the product-sum circuit in 1st Embodiment. 第1の実施形態における出力回路を示す図である。It is a figure which shows the output circuit in 1st Embodiment. 第1の実施形態における荷重電圧設定回路からスイッチ回路までの接続を示す図である。It is a figure which shows the connection from the load voltage setting circuit in 1st Embodiment to a switch circuit. 第1の実施形態におけるステップ電圧設定回路からスイッチ回路までの接続を示す図である。It is a figure which shows the connection from the step voltage setting circuit in 1st Embodiment to a switch circuit. 第1の実施形態における積和回路からソーティング回路までの接続を示す図である。It is a figure which shows the connection from the sum of products circuit to a sorting circuit in 1st Embodiment. 第1の実施形態における積和回路の制御を示す図である。It is a figure which shows control of the product-sum circuit in 1st Embodiment. 第1の実施形態における主要信号のタイミングチャートを示す図である。It is a figure which shows the timing chart of the main signal in 1st Embodiment. 第2の実施形態における演算回路の全体構成を示す図である。It is a figure which shows the whole structure of the arithmetic circuit in 2nd Embodiment. 第2の実施形態における出力回路を示す図である。It is a figure which shows the output circuit in 2nd Embodiment. 第3の実施形態における演算回路の全体構成を示す図である。It is a figure which shows the whole structure of the arithmetic circuit in 3rd Embodiment. 第4の実施形態における受容野を説明する図である。It is a figure explaining the receptive field in 4th Embodiment. 第4の実施形態における投射野を説明する図である。It is a figure explaining the projection field in a 4th embodiment. 第4の実施形態における投射野のシナプス荷重分布を示す図である。It is a figure which shows the synaptic load distribution of the projection field in 4th Embodiment. 第4の実施形態における投射野に対するシナプス荷重の基底ベクトル分解を示す図である。It is a figure which shows the basis vector decomposition | disassembly of the synaptic load with respect to the projection field in 4th Embodiment. 第5の実施形態における演算回路の全体構成を示す図である。It is a figure which shows the whole structure of the arithmetic circuit in 5th Embodiment. 第1の実施形態における入力回路ブロックから積和回路アレイに対する信号の入力を示す図である。It is a figure which shows the input of the signal with respect to a sum-of-products circuit array from the input circuit block in 1st Embodiment. 第2の実施形態における荷重基底ベクトル分解を示す図である。It is a figure which shows the load basis vector decomposition | disassembly in 2nd Embodiment.

Claims (25)

電圧値で表された被演算値の乗算と累算を含む積和演算処理を実行する複数の積和演算手段と、
それぞれ所定の電圧値を設定する複数の電圧設定手段と、
前記複数の積和演算手段に電圧値の組み合わせを切り替え入力する複数の入力手段と、
前記複数の電圧設定手段が設定する電圧値を、前記複数の入力手段に入力するための配線の接続を切り替える複数のスイッチ手段と、
被演算値の値を降順または昇順にソートするソーティング手段と、
前記積和演算手段による演算結果をディジタル出力する出力手段と、
を有する演算装置。
A plurality of product-sum operation means for performing product-sum operation processing including multiplication and accumulation of operand values represented by voltage values;
A plurality of voltage setting means each for setting a predetermined voltage value;
A plurality of input means for switching and inputting a combination of voltage values to the plurality of product-sum operation means;
A plurality of switch means for switching connection of wirings for inputting voltage values set by the plurality of voltage setting means to the plurality of input means;
Sorting means for sorting the values of operands in descending or ascending order;
Output means for digitally outputting the result of the product-sum operation means;
A computing device having
前記ソーティング手段は、前記被演算値を保持する保持手段と、当該被演算値の降順または昇順に当該被演算値が保持されたアドレスを出力するアドレス出力手段と、当該アドレスをデコードして前記複数のスイッチ手段に入力するデコード手段とを有することを特徴とする請求項1に記載の演算装置。   The sorting means includes a holding means for holding the operand values, an address output means for outputting addresses at which the operand values are held in descending or ascending order of the operand values, The arithmetic unit according to claim 1, further comprising: decoding means for inputting to the switch means. 前記ソーティング手段は、連想メモリを有することを特徴とする請求項1または2に記載の演算装置。   The arithmetic unit according to claim 1, wherein the sorting unit includes an associative memory. 前記複数の電圧設定手段の一部は、時間的に変化する電圧値を設定することを特徴とする請求項1乃至3に記載の演算装置。   4. The arithmetic device according to claim 1, wherein a part of the plurality of voltage setting means sets a voltage value that changes with time. 前記複数の電圧設定手段の一部は、積和演算処理における被演算値を重み付けする機能を有することを特徴とする請求項1乃至4に記載の演算装置。   5. The arithmetic device according to claim 1, wherein a part of the plurality of voltage setting means has a function of weighting a value to be calculated in a product-sum operation process. 前記複数の積和演算手段は、アレイ状に配列されることを特徴とする請求項1乃至5に記載の演算装置。   The arithmetic device according to claim 1, wherein the plurality of product-sum operation means are arranged in an array. 前記積和演算手段は、アナログ乗算器とキャパシタとを有することを特徴とする請求項1乃至6に記載の演算装置。   The arithmetic unit according to claim 1, wherein the product-sum operation unit includes an analog multiplier and a capacitor. 前記アナログ乗算器は、差動乗算器であることを特徴とする請求項7に記載の演算装置。   The arithmetic device according to claim 7, wherein the analog multiplier is a differential multiplier. 前記出力手段は、A/D変換回路を有することを特徴とする請求項1乃至8に記載の演算装置。   The arithmetic unit according to claim 1, wherein the output unit includes an A / D conversion circuit. 前記出力回路は、コンパレータとパルス幅/デジタル変換回路を有することを特徴とする請求項1乃至8に記載の演算装置。   9. The arithmetic unit according to claim 1, wherein the output circuit includes a comparator and a pulse width / digital conversion circuit. 前記電圧設定手段は、電流源とキャパシタとを有することを特徴とする請求項1乃至10に記載の演算装置。   The arithmetic unit according to claim 1, wherein the voltage setting unit includes a current source and a capacitor. 更に、被演算値のデータを保持するメモリ回路を有することを特徴とする請求項1乃至11に記載の演算装置。   The arithmetic device according to claim 1, further comprising a memory circuit that holds data of an operand value. 更に、パルス幅/デジタル変換回路を有することを特徴とする、請求項1乃至12に記載の演算装置。   The arithmetic device according to claim 1, further comprising a pulse width / digital conversion circuit. 更に、デジタル/パルス幅変調回路を有することを特徴とする、請求項1乃至13に記載の演算装置。   The arithmetic unit according to claim 1, further comprising a digital / pulse width modulation circuit. 更に、前記出力手段から出力されたデジタルデータに対して所定の変換処理を実行するルックアップテーブルを有することを特徴とする、請求項1乃至14に記載の演算装置。   15. The arithmetic device according to claim 1, further comprising a look-up table for executing a predetermined conversion process on the digital data output from the output means. 積和演算処理における被演算値の一方または両方が2次元状もしくはアレイ状に分布する値であることを特徴とする請求項1乃至15に記載の演算装置。   16. The arithmetic device according to claim 1, wherein one or both of the operand values in the product-sum operation processing are values distributed in a two-dimensional shape or an array shape. 前記被演算値の一方または両方を基底ベクトルに分解して積和演算処理を行なう事を特徴とする請求項16に記載の演算装置。   The arithmetic unit according to claim 16, wherein one or both of the operand values are decomposed into basis vectors to perform a product-sum operation process. 前記複数の積和演算手段は、アレイ状に配列された積和回路アレイを有し、前記基底ベクトルに分解した被演算値、及び前記基底ベクトルに分解してさらに重み付けした被演算値を、当該積和回路アレイの行および列ごとに配置した信号線を通じて、行方向ごとおよび列方向ごとに共通の信号として入力することを特徴とする請求項17に記載の演算装置。   The plurality of product-sum operation means includes a product-sum circuit array arranged in an array, and the operation value decomposed into the base vector, and the operation value further decomposed into the base vector and further weighted, 18. The arithmetic unit according to claim 17, wherein the arithmetic unit is input as a common signal for each row direction and each column direction through a signal line arranged for each row and column of the product-sum circuit array. 複数の層がシナプスにより階層接続された構成を有し、各層が外部または前層からの入力信号とシナプス荷重値の乗算と累算を含む積和演算処理を行ない非線形変換または線形変換して出力するニューロンを含むニューラル・ネットワークの演算処理を実行することを特徴とする、請求項1乃至18に記載の演算装置。   Multiple layers are hierarchically connected by synapses, and each layer performs product-sum operation including multiplication and accumulation of input signal from external or previous layer and synaptic load value, and outputs by nonlinear conversion or linear conversion The arithmetic device according to claim 1, wherein arithmetic processing of a neural network including a neuron that performs the processing is executed. 前記シナプス荷重値を、基底ベクトルに分解する被演算値とすることを特徴とする請求項19に記載の演算装置。   The arithmetic device according to claim 19, wherein the synapse load value is an arithmetic value to be decomposed into basis vectors. 被演算値の一部が画像信号であることを特徴とする請求項1乃至20に記載の演算装置。   21. The arithmetic unit according to claim 1, wherein a part of the arithmetic value is an image signal. 前記画像信号を出力する撮像素子アレイを有することを特徴とする請求項21に記載の演算装置。   The computing device according to claim 21, further comprising an image sensor array that outputs the image signal. 前記複数の積和演算手段が、前記画像信号に対して所定の画像処理を行なうことを特徴とする請求項21または22に記載の演算装置。   The arithmetic device according to claim 21 or 22, wherein the plurality of product-sum operation means performs predetermined image processing on the image signal. 前記複数の積和演算手段において、所定値以上の値を有する被演算値のみを対象として演算を実行することを特徴とする請求項1乃至23に記載の演算装置。   The arithmetic device according to any one of claims 1 to 23, wherein the plurality of product-sum operation means perform an operation only on an operand value having a value equal to or greater than a predetermined value. 前記複数の積和演算手段において、被演算値の値の降順で所定の割合に含まれる被演算値のみを対象として演算を実行することを特徴とする請求項1乃至23に記載の演算装置。

The arithmetic unit according to any one of claims 1 to 23, wherein in the plurality of product-sum operation means, the operation is performed only on the operation values included in a predetermined ratio in descending order of the values of the operation values.

JP2005255093A 2005-09-02 2005-09-02 Arithmetic unit Expired - Fee Related JP4579798B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005255093A JP4579798B2 (en) 2005-09-02 2005-09-02 Arithmetic unit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005255093A JP4579798B2 (en) 2005-09-02 2005-09-02 Arithmetic unit

Publications (2)

Publication Number Publication Date
JP2007066258A JP2007066258A (en) 2007-03-15
JP4579798B2 true JP4579798B2 (en) 2010-11-10

Family

ID=37928323

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005255093A Expired - Fee Related JP4579798B2 (en) 2005-09-02 2005-09-02 Arithmetic unit

Country Status (1)

Country Link
JP (1) JP4579798B2 (en)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5160304B2 (en) * 2008-05-22 2013-03-13 シャープ株式会社 Product operation device including variable resistance variable resistance element, product-sum operation device, neural network including these devices in each neuron element, and product operation method
JP5428436B2 (en) 2009-03-25 2014-02-26 ソニー株式会社 Electronic device, display control method and program
JP6238436B2 (en) * 2013-09-06 2017-11-29 国立大学法人九州工業大学 Variation compensation circuit for use with current-to-voltage converter
US9934826B2 (en) * 2016-04-14 2018-04-03 Semiconductor Energy Laboratory Co., Ltd. Semiconductor device
WO2018069785A1 (en) * 2016-10-12 2018-04-19 Semiconductor Energy Laboratory Co., Ltd. Semiconductor device and system using the same
KR102609234B1 (en) * 2017-09-04 2023-12-01 가부시키가이샤 한도오따이 에네루기 켄큐쇼 Image processing methods, semiconductor devices, and electronic devices
TWI715068B (en) * 2018-07-17 2021-01-01 日商索尼股份有限公司 Operation device, product and operation device, product and operation circuit and product and operation system
US12423056B2 (en) 2019-09-17 2025-09-23 Anaflash Inc. Multiply-accumulate unit
CN116048457B (en) * 2022-12-30 2025-07-04 中国航空工业集团公司西安航空计算技术研究所 Four-quadrant analog divider circuit

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004538582A (en) * 2001-08-10 2004-12-24 サフロン・テクノロジー,インコーポレイテッド Artificial neuron with weights defining maximum projection
JP4620943B2 (en) * 2003-10-16 2011-01-26 キヤノン株式会社 Product-sum operation circuit and method thereof
JP4620944B2 (en) * 2003-10-16 2011-01-26 キヤノン株式会社 Product-sum operation circuit and method thereof

Also Published As

Publication number Publication date
JP2007066258A (en) 2007-03-15

Similar Documents

Publication Publication Date Title
JP4620943B2 (en) Product-sum operation circuit and method thereof
Javanshir et al. Advancements in algorithms and neuromorphic hardware for spiking neural networks
Salamat et al. Rnsnet: In-memory neural network acceleration using residue number system
Kadetotad et al. Parallel architecture with resistive crosspoint array for dictionary learning acceleration
Yue et al. STICKER-IM: A 65 nm computing-in-memory NN processor using block-wise sparsity optimization and inter/intra-macro data reuse
Choi et al. A high-precision VLSI winner-take-all circuit for self-organizing neural networks
Lee et al. Hardware annealing in analog VLSI neurocomputing
KR20220028161A (en) Programmable Circuits for Performing Machine Learning Operations on Edge Devices
Pannu et al. Design and fabrication of flow-based edge detection memristor crossbar circuits
JP4579798B2 (en) Arithmetic unit
US11494629B2 (en) Charge-sharing compute-in-memory system
Seo et al. On-chip sparse learning acceleration with CMOS and resistive synaptic devices
Cho et al. An on-chip learning neuromorphic autoencoder with current-mode transposable memory read and virtual lookup table
Hu et al. A co-designed neuromorphic chip with compact (17.9 KF 2) and weak neuron number-dependent neuron/synapse modules
Tripathi et al. Analog neuromorphic system based on multi input floating gate mos neuron model
Tabrizchi et al. APRIS: Approximate Processing ReRAM In-Sensor Architecture Enabling Artificial-Intelligence-Powered Edge
US5485548A (en) Signal processing apparatus using a hierarchical neural network
JPH04281584A (en) Device for effecting a plurality of additions having a plurality of weighted input signals
Liu et al. A neural network with a single recurrent unit for associative memories based on linear optimization
JP2004110420A (en) Arithmetic circuit
JP2004157757A (en) Analog operation circuit
AbuHamra et al. Memory-Centric Computing for Image Classification Using SNN with RRAM
Bakambekova et al. Generate while sensing-intelligent imaging with memristive pixel-CNN
Yamane et al. Development and Evaluation of Neural Networks using Oxide Semiconductor Synapses for Letter Reproduction
Spoon et al. Accelerating Deep Neural Networks with Phase-Change Memory Devices

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080902

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20100201

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20100630

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: 20100824

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: 20100826

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

Free format text: PAYMENT UNTIL: 20130903

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees