JP4579798B2 - Arithmetic unit - Google Patents
Arithmetic unit Download PDFInfo
- 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
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参照)。
しかしながら、特許文献1の方法においては、演算回路が1列に配置されるため演算回路のレイアウトが制限され、演算の並列性に限界があった。
However, in the method of
また特許文献2の方法においては、積和演算回路において全ての被演算値に関する演算が実行され、かつ積和演算回路に入力される被演算値の入力の順番が任意であることから、さらなる演算速度の向上が困難であった。
Further, in the method of
そこで、本発明は、アレイ状に配置された積和回路を用いて、アレイ状に分布する被演算値の積和演算を並列に実行することを目的とするものである。 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-
なお図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
また図6は、主に論理回路で構成したスイッチ回路11を示す。図7は、主に論理回路で構成した入力回路12を示す。図8は、アナログ乗算器とキャパシタで構成した前記積和回路13を示す。図9は、A/D変換回路で構成した出力回路14を示す。図10は、荷重電圧設定回路10と、スイッチ回路11と、デコーダ8との詳細な配線構造の一部を示す。
FIG. 6 shows a
更に図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
以上示した図を用いて、本実施形態における積和演算方法による演算処理工程に関して、演算回路全体としてどのように演算を行なうかについてを最初に説明し、続いて各個別回路の動作について説明を行なう。 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-
ここで各積和回路は、入力された信号を元にして以下の式で表される演算を実行するものである。 Here, each product-sum circuit executes an operation represented by the following equation based on the input signal.
ここで、uMNは積和回路アレイで算出される演算結果を表し、添え字MNは積和回路のアレイ内での位置を示している(本実施形態の場合1から10の値をとる)。また、wxmは後述する荷重電圧設定回路から入力される被演算値を表し、添え字mは最大で荷重電圧設定回路の個数に一致した値をとるため、本実施形態の場合1から3までの値をとる。また、(oj・wyn)は後述するステップ電圧設定回路から入力される被演算値を示し、ojとwynの積で表される。ここでojの添え字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
まず、荷重電圧設定回路ブロック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
また、ステップ電圧設定回路ブロック3に対して、被演算値wynの値に対応するパルス幅を有するパルス幅変調信号をそれぞれのステップ電圧設定回路9ごとに入力する。ステップ電圧設定回路9においては、後述する様に被演算値wynに相当する電圧値がキャパシタ17に設定される。さらに前記キャパシタ17に設定された電圧値と、ソーティング回路7における検索値に対応して入力される制御パルスによってキャパシタ20に(被演算値oj)×(被演算値wyn)の演算結果(oj・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
続いて、ソーティング回路7に対し、所定の値を検索値として入力する。ソーティング回路7は、保持されたデータの中で検索値に一致するデータを保持するメモリセルのX方向・Y方向のそれぞれ4ビットのアドレス信号を出力し、各アドレス信号は対応するデコーダ8にそれぞれ入力される。デコーダ8は4ビットのアドレス信号をデコードし、10本の出力線のうちデコードした値に対応する1本の出力線をHighにする。
Subsequently, a predetermined value is input as a search value to the
デコーダ8の出力線は、荷重電圧設定回路10に繋がるスイッチ回路ブロック4、及びステップ電圧設定回路9に繋がるスイッチ回路ブロック4のアドレス信号線に接続している。スイッチ回路11の説明で後述する様に、Highになった前記アドレス信号線に接続するスイッチ回路11は、荷重電圧設定回路10及びステップ電圧設定回路9から入力されるアナログ電圧と、積和回路13における演算を制御する制御信号と、被演算値wxm及び被演算値(oj・wyn)の正負符号に相当する符号信号を入力回路12に繋がる信号線に出力する。
An output line of the decoder 8 is connected to an address signal line of the
なお、前記アドレス信号線は、スイッチ回路ブロック4に対して、図1に示すように斜めに配線されており、アドレスに対応する積和回路アレイ1の適切な行・列に信号を入力することが可能となる。
The address signal lines are wired obliquely to the
入力回路12は、スイッチ回路11から入力された符号信号に応じて、同じくスイッチ回路11から入力されたアナログ電圧と基準電圧の差動電圧ペアを積和回路アレイ1が接続する信号線に出力する。
In response to the sign signal input from the
積和回路アレイ1においては、図1に示したようにそれぞれ左側・下側に位置した入力回路ブロック5から行毎・列毎それぞれに以下の3種類の信号が入力される。
In the product-
行方向: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-
積和回路13は、後述するように、入力された差動電圧ペアに対して乗算を実行し、キャパシタ47によって乗算結果を累算する。
As described later, the product-
ここで図13に示すように、積和回路アレイ1において積和演算が実行される積和回路13は、入力信号M_STOP_XとM_STOP_Yの両方がHighになるものに限られる(図中、点線で囲まれた3×3の積和回路)。
Here, as shown in FIG. 13, the product-
すなわちこれは、外部から入力するM_STOP信号と、ソーティング回路7からのアドレス信号によって、積和回路アレイ1において積和演算を実行する積和回路13の領域が制御されることを意味する。
That is, this means that the area of the product-
なお、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
積和回路アレイ1の演算結果を出力回路14によって全て読み出し、ソーティング回路7に保持した後、以上説明した演算処理を繰り返すことも可能である。
It is also possible to repeat the arithmetic processing described above after all the arithmetic results of the sum-of-
続いて、各個別回路の動作について説明を行なう。 Subsequently, the operation of each individual circuit will be described.
まず図2に示すように、ソーティング回路7は、積和回路アレイ1と同様に、アレイ状に配列された連想メモリ15によって構成される。
First, as shown in FIG. 2, the sorting
本実施形態においては、アレイ配列を10×10としているが、必要に応じて異なるアレイ配列としても良い。連想メモリ15における各メモリセル(m、n)は、被演算値ojの値をデジタル値として保持している。ここで(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
図1、2においては、後述する検索処理等を実行する制御部は省略している。図2中に示した5ビットの被演算値ojの値は、出力回路14もしくは外部回路から入力された値である。ここで図2中に示した被演算値ojの値は、本実施形態を説明するための一例である。
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
なお、ここでは連想メモリの各メモリセルのビット長を5ビットとしているが、被演算値ojの値のビット長に応じて、それ以外のビット長を有するものであっても構わない。 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は、入力された検索値に対して、それと一致する被演算値ojを保持するメモリセルのX方向・Y方向それぞれのアドレス値を出力する機能を有する。なお本実施形態におけるアドレス値は、X方向・Y方向それぞれが4ビットの値を持つ。
The
従って、検索値を所望の初期値から単調に増加または減少させていくことにより、連想メモリに保持されている被演算値ojのアドレスを値の昇順または降順に読み出すことが可能となる。なお、本実施形態においては、値の昇順に読み出すこととする。 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.
ここで検索値及びその初期値は、所望の演算処理に応じて任意に設定することができる。本実施形態では、被演算値ojの値が大きいものから数えて約30%のみを演算処理に用いるために、最小の検索値を(10001)とし、この検索値未満の値を持つ被演算値ojに関するアドレスは読み出さない(演算対象としない)ように設定している。 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).
なお、検索値に対して値が一致する被演算値ojが複数存在する場合は、その複数の被演算値ojのアドレスを適当な順に出力する。 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
続いて、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
デコーダ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
続いて、図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
続いて、Node0の電圧はソースフォロワ18によって、電流源19に印加される。ここで電流源16付近の詳細を図4の(C)に示す。同図に示すようにMOS素子を電流源19として用いる場合、電流値はゲート電圧によってコントロールされるため、電流源19を流れる電流値はNode0の電圧値によってコントロールされることとなる。前述したように、Node0の電圧値は被演算値wynの値に対応していることから、結果として電流源19を流れる電流値は、被演算値wynの値に対応することとなる。
Subsequently, the voltage of
続いて電流源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
電流源19として機能するMOS素子は、制御パルスFLAG_INがHighの間だけ電流を流し、キャパシタ20に電荷が蓄積される。このため、Node1の電圧は、ソーティング回路7において検索値が1単位変更(増加)されるごとに、被演算値wynの値に対応して増加していく。なおNode1の初期値は、ソーティング回路7における検索値の初期値に対応付けて設定されている。
The MOS element functioning as the
この時、ソーティング回路7に保存された値は被演算値ojであることから、結果としてNode1の電圧値は以下の演算式の演算結果に対応付けることが可能となる。
(被演算値wyn)×(被演算値oj) ・・・(数式2)
続いて、Node1の電圧値はソースフォロワ21によって読み出され、図1及び図11に示すように、スイッチ回路ブロック4に入力される。
At this time, since the value stored in the
(Operation value w yn ) × (Operation value o j ) (Expression 2)
Subsequently, the voltage value of
なお図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
なお本実施形態においては、パルス幅変調信号によって動作制御を行なう電流源を用いているが、電流源の動作を制御することができるものであればその他制御信号を使用しても構わない。また、前述した(被演算値wyn)×(被演算値oj)に相当する値を設定することができるものであれば、どのような回路構成を用いても構わない。 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
ここでまず、被演算値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
また、電流値を決定するバイアス信号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
電流源24として機能するMOS素子は、パルス幅変調信号PWM_IN_WがHighの間だけ電流を流し、キャパシタ25に電荷が蓄積されるため、Node3の電圧は、パルス幅変調信号PWM_IN_Wのパルス幅に比例する電圧値を示し、これは前述したように被演算値wxmの値に対応する。
In the MOS element functioning as the
続いて、Node3の電圧値はソースフォロワ26によって読み出され、図1及び図10に示すように、スイッチ回路ブロック4に入力される。
Subsequently, the voltage value of
なお図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
入力信号は、アナログ電圧INPUT_Vと、積和回路13における演算を制御する制御信号M_STOP、符号信号SIGNと、デコーダ8からの出力信号DEC_OUTの計4本である。ここでアナログ電圧INPUT_Vは、前述した荷重電圧設定回路10またはステップ電圧設定回路9の出力信号であり、符号信号SIGNは、被演算値wxmおよび(被演算値wyn×被演算値oj)の正負符号に相当する。
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-
また、制御信号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×被演算値oj)の正負符号を示す符号信号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
前述したスイッチ回路11の計3本の出力線は、図10及び図11に示すように、それぞれが後段の入力回路12への入力線となる出力信号線に接続している。
A total of three output lines of the
なお図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
次に図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
入力回路12の入力信号は、アナログ電圧INPUT_V、符号信号SIGN、制御信号M_STOP、制御信号M_STOP_RESET、基準電圧入力BASE_BIAS、制御信号M_STOP_ON、リセット信号RESETの7本である。
The input signal of the
このうち、アナログ電圧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
また制御信号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-
以上の入力信号のうち、制御信号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
また出力信号は、積和回路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-
ここで、被演算値wynおよび(被演算値wyn×被演算値oj)の正負符号を示す符号信号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-
次に、図8を参照して積和回路13について説明する。積和回路13は、乗算器46と、キャパシタ47と、NANDゲート48と、スイッチ49、50、51と、ソースフォロワ52から構成される。なお、本実施形態においては、乗算器として四象限乗算器を用いているが、同様の機能を実現できるものであればその他の乗算器を使用しても構わない。
Next, the product-
積和回路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-
積和回路13の出力信号は、積和演算結果に相当する電圧値出力である。
The output signal of the product-
乗算器46は、入力された差動電圧ペア(W_PとW_N、RAMP_PとRAMP_N)に関して乗算を行い、結果を電流値I1としてキャパシタ47に出力する。
The
ここで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×被演算値oj)に相当している。従って乗算器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
(被演算値wxm)×(被演算値wyn×被演算値oj) ・・・(数式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
キャパシタ47の前段にはスイッチ49が配置され、そのオン・オフの動作は、M_STOP_XとM_STOP_Yの信号の論理積によって制御されている。
A
すなわち積和回路アレイ1においては、M_STOP_XとM_STOP_Yが両方ともHighとなる積和回路13においてのみ、演算結果の電流がキャパシタ47に流入(流出)し、乗算結果が累算される。なお本実施形態においては、電流の流入は正の累算に対応し、電流の流出は負の累算に対応している。
That is, in the product-
以上の乗算を繰り返し、各乗算ごとに出力される電流を電荷としてキャパシタ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
蓄積された電荷量(すなわち累算結果)は、最終的にソースフォロワ52とスイッチ51を介してNode4の電圧値として出力される。Node4は、図1及び図12に示すように積和回路アレイ1の出力信号線に繋がっている。
The accumulated charge amount (that is, the accumulation result) is finally output as a voltage value of
積和回路アレイの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
なお、キャパシタ47の電圧は累算の開始前に、リセット信号によりスイッチ50をオンしてリセット電圧に設定される。累算を実行し出力が完了するまで、前記スイッチ50はオフされる。
The voltage of the capacitor 47 is set to the reset voltage by turning on the
本実施形態では、前記リセット電圧を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
ここで、A/D変換回路53の入力端子は、積和回路アレイ1の出力信号線に接続されている。また、出力はソーティング回路7の入力に接続されている。
Here, the input terminal of the A /
すなわち出力回路14は、積和回路13のキャパシタ47に電荷として蓄積された積和演算結果を電圧値として読み込み、デジタル値に変換して出力する。
That is, the
以上説明した中で、主要な入力信号のタイミングチャート例を図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.
ここで、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
この時、被演算値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.
数式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
ここで、基底ベクトルwk xjの要素を第1の実施形態で説明した被演算値wxmとみなし、もう一方の基底ベクトルwk yjとojの積(oj・wk yj)の要素を第1の実施形態で説明した被演算値wynと被演算値ojの積(oj・wk 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.
従って、被演算値wxmと被演算値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
以上示したように、アレイ状に分布する荷重値を基底ベクトル対の積和で近似することにより、第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
従って本実施形態においては、前記相違点についてのみ説明を行ない、その他の部分に関しては第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
メモリ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
保持されたアドレス値とフラグとは、メモリ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
従って、第1の実施形態で説明した演算において、ソーティング回路7に保持されている被演算値ojのデータ(アドレス値、フラグ)が、メモリ54に一時保存される。これにより、ソーティング回路7のメモリセルを解放して、次の演算結果の保持・ソーティング用にソーティング回路7を使用することを可能とする。また、算出された演算結果を次回の演算における被演算値ojとして使用することも可能となる。
Therefore, in the calculation described in the first embodiment, the data (address value, flag) of the operand value o j held in the
なお本実施形態においては、前回の演算結果を保持するためのメモリ54を2セットと、この演算結果を被演算値ojとして演算する際の演算結果を保持するためのメモリ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
なお、前述したデジタル/パルス変調回路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
図16に、コンパレータ57とパルス/デジタル変換回路58によって構成される出力回路ブロック6を示す。
FIG. 16 shows the output circuit block 6 constituted by the
コンパレータ57は、入力された電圧値(すなわち積和回路アレイ1から出力される演算結果に相当する)を参照電圧Vrefと比較してパルス幅変調信号に変換して出力する機能を有する。
The
なお、図16はオペアンプを用いたコンパレータ57を使用しているが、その他の回路構成を有するコンパレータを使用しても構わない。
Although FIG. 16 uses the
また、参照電圧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
なお、前述したパルス/デジタル変換回路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
従って本実施形態においては、前記相違点についてのみ説明を行ない、その他の部分に関しては第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
なお、一般的に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
各ニューロン素子における内部状態値の算出式を以下に示す。 The calculation formula of the internal state value in each neuron element is shown below.
ここで、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
なおそれぞれのニューロン素子は、内部状態値に非線形変換(もしくは線形変換)を施した後、変換値を後段に接続するニューロン素子に対して出力する。 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.
本実施形態においては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.
すなわち、シナプス荷重値の分布は適当な基底ベクトル対の組の積和で近似することができる。これは、第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の実施形態における被演算値ojは前段ニューロンの出力値Ojに相当し、被演算値wxnは一方の基底ベクトルWk xjの要素に相当し、被演算値wynはもう一方の1次元基底ベクトルWk 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つの被演算値ojに関して積和演算を並列に実行する積和回路13の領域が、投射野に相当する。
An area of the product-
積和回路アレイにおいては、前述したように数式1に示される演算が実行され、これを数式6に従いNw回繰り返すことにより、前段ニューロン出力値とシナプス荷重値の乗算が実現される。
In the product-sum circuit array, the calculation shown in
以上の積和演算を演算対象となる全ての前段層ニューロン出力値(すなわち被演算値oj)に対して完了した後、演算結果(電圧値)を出力回路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
ニューロン素子における非線形変換(もしくは線形変換)は、A/D変換回路53、コンパレータ57もしくはLUT59によって実行され、ニューロン出力値が算出される。
Nonlinear conversion (or linear conversion) in the neuron element is executed by the A /
ニューロン出力値はソーティング回路7によってソートされた後、アドレス値とフラグが後段に接続するメモリ54に保持され、後段層ニューロンに関する演算時に使用される。
After the neuron output values are sorted by the sorting
以上説明したように、第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
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
すなわち画像信号は第1〜5の実施形態で説明した被演算値ojとして演算に使用される。ソーティング回路以降の演算処理は第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.
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
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.
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)
| 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)
| 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 |
-
2005
- 2005-09-02 JP JP2005255093A patent/JP4579798B2/en not_active Expired - Fee Related
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 |