WO2021171880A1 - 積和演算器 - Google Patents

積和演算器 Download PDF

Info

Publication number
WO2021171880A1
WO2021171880A1 PCT/JP2021/002791 JP2021002791W WO2021171880A1 WO 2021171880 A1 WO2021171880 A1 WO 2021171880A1 JP 2021002791 W JP2021002791 W JP 2021002791W WO 2021171880 A1 WO2021171880 A1 WO 2021171880A1
Authority
WO
WIPO (PCT)
Prior art keywords
digital
analog
output
product
voltage
Prior art date
Application number
PCT/JP2021/002791
Other languages
English (en)
French (fr)
Inventor
昭 松澤
正也 野原
Original Assignee
株式会社テックイデア
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 株式会社テックイデア filed Critical 株式会社テックイデア
Priority to JP2022503180A priority Critical patent/JPWO2021171880A1/ja
Publication of WO2021171880A1 publication Critical patent/WO2021171880A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/05Digital input using the sampling of an analogue quantity at regular intervals of time, input from a/d converter or output to d/a converter
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06GANALOGUE COMPUTERS
    • G06G7/00Devices in which the computing operation is performed by varying electric or magnetic quantities
    • G06G7/48Analogue computers for specific processes, systems or devices, e.g. simulators
    • G06G7/60Analogue computers for specific processes, systems or devices, e.g. simulators for living beings, e.g. their nervous systems ; for problems in the medical field
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M1/00Analogue/digital conversion; Digital/analogue conversion
    • H03M1/66Digital/analogue converters
    • H03M1/68Digital/analogue converters with conversions of different sensitivity, i.e. one conversion relating to the more significant digital bits and another conversion to the less significant bits
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M1/00Analogue/digital conversion; Digital/analogue conversion
    • H03M1/66Digital/analogue converters
    • H03M1/74Simultaneous conversion
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M1/00Analogue/digital conversion; Digital/analogue conversion
    • H03M1/66Digital/analogue converters
    • H03M1/74Simultaneous conversion
    • H03M1/78Simultaneous conversion using ladder network

Definitions

  • the present invention relates to a product-sum calculator. More specifically, the present invention relates to a product-sum calculator using a digital-to-analog converter (Digital to Analog Converter; DAC) and an analog-to-digital converter (Analog to Digital Converter; ADC).
  • DAC Digital to Analog Converter
  • ADC Analog to Digital Converter
  • FIG. 15 is a conceptual diagram of a neuro operation in an AI processor. Although a large number of layers are required for the neuro operation, in FIG. 15, only the basic input layer (Input layer), hidden layer (Hidden Layer), and output layer (Output layer) are shown.
  • Input layer input layer
  • Hidden Layer hidden layer
  • Output layer output layer
  • a product-sum operation is performed between each layer in the neuro operation.
  • the operation between the input layer and the hidden layer is shown.
  • the vector of the input layer is X and the coupling coefficient matrix is W (0)
  • the vector Y of the hidden layer is expressed by the following equation 1.
  • FIG. 16 is a diagram showing a configuration of a conventional multiply-accumulate calculator using a digital circuit.
  • the input X is input to each flip-flop (F / F) through a bus.
  • multipliers (MUL) are arranged two-dimensionally, and each element of input X and each element of input W are input to each multiplier, and the multiplier is used. Each element of the input X and each element of the input W are multiplied. Then, the multiplication output is sequentially input to the adder (ADD) through the bus, and cumulative addition is performed.
  • ADD adder
  • the conventional digital multiply-accumulate calculator described above has problems in the calculation speed and energy consumption of the multiplier, and the calculation speed and energy consumption of the cumulative addition.
  • the cumulative adder has problems that the calculation speed is slow and the energy consumption is large because the output of the multiplier is sequentially sent to the cumulative adder through the bus.
  • an object of the present invention is to provide a product-sum calculation unit having a high calculation speed and low energy consumption.
  • the present inventor has obtained the following findings as a result of diligent experimental studies in order to solve the above-mentioned problems.
  • the analog calculation uses a physical phenomenon, and there is a possibility that the calculation result can be obtained in an instant with low energy consumption.
  • analog calculation has not been used in the past because the calculation accuracy is insufficient as compared with digital calculation.
  • an accuracy of about 8 bits is sufficient for most applications. Therefore, the present inventor has studied the application of analog operation.
  • a voltage output DAC such as a resistance type digital-to-analog converter (RDAC) generates a voltage proportional to the input X, and this voltage is used as an analog input to obtain a capacitance ratio corresponding to the digital value of each element W of the matrix.
  • RDAC resistance type digital-to-analog converter
  • the output voltage Y is the product of the input X and each element W of the matrix by using a capacitive DAC that is set between the input / output terminals and between the output terminals and the ground. If this configuration is adopted, the capacitance that realizes 8-bit precision becomes extremely small, about 4 fF, and unlike a digital multiplier, carry propagation does not occur, so that it can be operated at high speed and with low energy consumption.
  • the voltage of the node to which each output end of the capacitive DAC column is connected in common is the value added according to the charge conservation law, it is possible to add multiple inputs in an instant with almost no energy consumption. Specifically, if 100 parallel additions are made, the addition is completed in an instant. This voltage is converted to a digital value by the ADC.
  • the present inventor has also found a method capable of performing the product-sum operation at high speed and with low energy by performing the multiplication and addition operations in analog, although the input and output are digital values, and have reached the present invention.
  • the product-sum calculator according to the present invention is composed of a plurality of digital-to-analog converters, and a vector having a plurality of digital values as each element and a matrix having a plurality of digital values as each element are input, and the vector It is composed of a voltage output digital-to-analog converter that converts the digital value of each element of the above into an analog voltage, and a plurality of digital-to-analog converters.
  • the capacitance type is composed of a capacitance type digital-to-analog converter in which the capacitance ratio corresponding to the digital value of each element of the matrix is set between the input / output terminals and between the output terminals and the ground, and a plurality of analog / digital converters.
  • the matrix having the plurality of digital values as each element is a one-dimensional vector, and the output value from each digital-to-analog converter of the voltage output digital-to-analog converter is first. It may be the inner product of the vector of the above and the one-dimensional vector.
  • the capacitive digital-to-analog converter outputs a differential signal
  • each analog-to-digital converter of the analog-to-digital converter has a capacitive digital-to-analog converter.
  • the differential voltage of a pair of nodes commonly connected to each output terminal may be input as analog and converted into a digital value.
  • each analog-to-digital converter of the analog-to-digital converter samples the differential voltage of the pair of nodes into a pair of capacitances, and short-circuits the terminals of the pair of capacitances to generate an in-phase signal.
  • the in-phase component can be canceled by extracting and subtracting from the differential voltage of the pair of nodes.
  • the capacitive digital-to-analog converter may set the capacitance ratio corresponding to the digital value of each element between the input / output terminals and between the output terminals and the ground by using a binary weighting capacitance with respect to the output. ..
  • the product-sum calculator of the present invention may use a weighted resistor for each digital-to-analog converter constituting the voltage output digital-to-analog converter.
  • each digital-to-analog converter constituting the voltage output digital-to-analog converter has, for example, the upper few bits composed of equal resistors using a thermometer code, and the remaining lower bits weighted in binary.
  • An R-2R ladder type resistor can be used.
  • each digital-to-analog converter constituting the voltage output digital-to-analog converter may be able to open the connection of the minimum bit resistor to the ground end.
  • the input data of the voltage output digital-to-analog converter and the capacitive digital-to-analog converter are stored in a memory cell, and the output of the sense amplifier that senses the logical state thereof. It can also be obtained from.
  • the input data to the memory cell is in a differential format, transmitted using a low amplitude bus whose amplitude is lower than the power supply voltage, converted to a larger amplitude by the sense amplifier, and the bit line of the memory cell is used. It may be driven.
  • the memory cell can be, for example, an SRAM.
  • the memory cell may be non-volatile, and for example, MRAM may be used as the non-volatile memory cell.
  • an output vector can be obtained from the output values of a plurality of analog-to-digital converters in the analog-to-digital converter, and an extremely large number of product-sum operations can be performed in parallel at the same time. It is possible to realize a product-sum calculation unit that operates with lower energy and is capable of high-speed operation than the product-sum calculation unit used.
  • A is a circuit diagram of a resistance type DAC used in the voltage output digital-to-analog conversion unit 11 shown in FIG. 1
  • B is a circuit diagram of a current type DAC.
  • It is a circuit diagram of the CDAC used for the capacitive digital-to-analog conversion unit 12 shown in FIG.
  • a and B are diagrams showing a circuit showing the principle of multiply-accumulate operation using CDAC and its operation, A shows a reset mode, and B shows an execution mode.
  • It is a circuit diagram of CDAC of a differential configuration.
  • a to C are operation circuit diagrams showing a method of removing the common mode voltage of the SAR ADC shown in FIG.
  • the resistance type DAC used for the product-sum arithmetic unit of the 2nd modification of 1st Embodiment of this invention.
  • a and B are circuit diagrams of the memory cells shown in FIG. 12, and C is a sense-up circuit diagram. It is a figure which shows the voltage of the input bus to the memory cell shown in FIG.
  • the product-sum calculator of this embodiment uses two input digital value strings as inputs, one input is converted into a voltage string using a voltage output digital-to-analog converter (DAC), and the other input is a capacitive digital. -Input to the analog converter (CDAC). Then, in this product-sum calculator, multiplication is performed by a CDAC that uses the voltage as an analog input, simultaneous addition is performed by connecting the outputs of a plurality of CDACs in common, and the voltage of this node is converted to an analog-to-digital converter (analog-to-digital converter). A digital output value is obtained by analog-to-digital conversion in ADC).
  • DAC voltage output digital-to-analog converter
  • FIG. 1 is a diagram showing a configuration of a product-sum calculator of the present embodiment.
  • the product-sum calculator 1 of the present embodiment includes a voltage output digital-to-analog conversion unit 11 including a plurality of DACs, a capacitive digital-to-analog conversion unit 12 including a plurality of CDACs, and a plurality of units.
  • An analog-to-digital conversion unit 13 including the ADC of the above is provided.
  • the vector X having a plurality of digital values as each element is input to each DAC of the voltage output digital-to-analog conversion unit 11 through the bus, respectively.
  • the digital value of each element of the matrix W is input to each CDAC arranged two-dimensionally in the capacitive digital-to-analog conversion unit 12.
  • FIG. 2A is a circuit diagram of a resistance type DAC used in the voltage output digital-to-analog conversion unit 11 shown in FIG. 1, and FIG. 2B is a circuit diagram of a current type DAC.
  • the voltage output digital-to-analog conversion unit 11 can be realized by using, for example, the R-2R resistance type DAC shown in FIG. 2A or the current type DAC shown in FIG. 2B.
  • the power supply voltage V DD of the inverter when the inverting input data of each inverter and the D (D is 0 or 1), the output voltage V 0 which R-2R resistor type DAC is represented by the following equation 3.
  • FIG. 2A shows an example with a resolution of 4 bits
  • this resistance type DAC uses only an inverter and two types of resistors R and 2R, so that a digital-to-analog converter with a voltage output can be realized very compactly. can.
  • a voltage output digital-to-analog converter can also be realized by using the current type DAC shown in FIG. 2B.
  • a digital-to-analog converter for voltage output can be realized by using a current source and passing a current corresponding to the input data through the load resistor RL.
  • FIG. 3 is a circuit diagram of a CDAC used in the capacitive digital-to-analog conversion unit 12 shown in FIG.
  • the CDAC shown in FIG. 3 can be used.
  • a switch S that selects grounding or an input voltage according to the input data D and a binary weighted capacitance are connected to the output end.
  • the input voltage is V in
  • the output voltage V out is obtained by the following equation 4.
  • the output voltage V out is represented by the following Equation 5. This indicates that the input value X and the input value W are multiplied.
  • FIGS. 4A and 4B are diagrams showing the operation of a circuit showing the principle of multiply-accumulate operation using CDAC.
  • the CDAC shown in FIGS. 4A and 4B has two capacities, a capacitance value WC proportional to the input value W standardized by 1, and a capacitance value (1-W) C obtained by subtracting the input value W from 1. These are connected in parallel. In each of these two capacitances, one terminal is commonly connected to the output line, and the other terminal is connected to switches S a and S b that select an input voltage or ground.
  • This CDAC has two operation modes, “reset” shown in FIG. 4A and “execution” shown in FIG. 4B.
  • reset mode all switches S a and S b select ground, and the output line is connected to ground by switch S 0. Therefore, the charge of each capacitance is reset to zero.
  • execution mode the switch S b maintains the grounded state as it is, and the switch S a selects the input voltage VDD X.
  • the output voltage is automatically standardized and takes a voltage between 0 and VDD.
  • FIG. 5 is a circuit diagram of a CDAC having a differential configuration.
  • the input signal of the CDAC having a differential configuration is standardized so far, in which w is an input signal of both polarities having a value represented by the following mathematical formula 8 and ⁇ is a bias value.
  • the relationship shown in the following equation 9 is established with the input signal W of the CDAC.
  • the bias value ⁇ can take the widest value when it is 0.5. Since it is a differential configuration, the values W a and W b input to each CDAC are expressed by the following mathematical formula 10.
  • V os_d V os_p ⁇ V os_n becomes the following mathematical formula 13, and a positive / negative bipolar signal independent of the bias value ⁇ can be obtained.
  • the voltage V os_p and the voltage V os_n may be converted into analog and digital respectively, and the converted output value may be subtracted by a digital subtractor.
  • the converted output value itself is differential. It is more rational because it is a conversion of only the components.
  • FIG. 6 is a circuit diagram of the SAR ADC used in the analog-to-digital converter 13.
  • SAR ADC shown in FIG. 6 the switch S 0 is closed, when the switch S S selects the input signal V in, switch S 1 ⁇ S 5 selects the input signal, connected to the input of the comparator
  • the charge Q s at the output end of the CDAC is expressed by the following equation 14 with V b as the bias voltage of the comparator.
  • the switch S 0 is opened, the switch S S selects the reference voltage V ref , the switches S 1 to S 4 are controlled, the voltage at the input end of the comparator is V x , and ⁇ is arbitrary from 0 to 1.
  • the charge Q s at the output end of the CDAC is calculated by the following equation 15 according to the charge conservation law. expressed.
  • the input voltage V x ⁇ V b of the comparator is expressed by the following mathematical formula 16.
  • this SAR ADC switch obtains the ⁇ controls the switch S 1 ⁇ S 4, be operated so that the input voltage of the comparator approaches zero, allowing analog-to-digital converter.
  • FIG. 7 is a timing chart showing the operation of the product-sum calculation unit of the present embodiment.
  • the multiplier-adder of this embodiment synchronized with the clock CLK, 2 pieces of input data values X and input data value W of the DAC shown in the input signal D in is inputted.
  • the node in which each output end of the capacitive digital-to-analog converter 12 is commonly connected reaches the ground potential in a short time, and the electric charge of each capacitance of the CDAC is reset.
  • the ADC samples this node voltage and then performs an analog-to-digital conversion operation.
  • the output D out is basically output with a delay of 2 clocks with respect to the input signal D in.
  • the multiply-accumulate unit of the present embodiment has a voltage output digital-to-analog conversion unit, a capacitive digital-to-analog conversion unit, and an analog-to-digital conversion unit, and is an analog-to-digital conversion unit. Since the output value is used as the output vector, the output vector can be obtained from the output values of multiple ADCs, and an extremely large number of product-sum operations can be performed in parallel at the same time, so that the calculation speed can be increased and the power consumption can be reduced. be able to. As a result, it is possible to realize a product-sum calculation unit that operates with low energy and is capable of high-speed operation as compared with the conventional product-sum calculation unit using a digital calculation unit. As a result of the trial calculation by the present inventor, the product-sum calculator of the present embodiment can operate in 8-bit product-sum calculation with low energy consumption of about 1/300 as compared with a normal digital product-sum calculation. there were.
  • FIG. 8 is a circuit diagram of a SAR ADC used in the product-sum calculation unit according to the first modification of the first embodiment of the present invention. Since the SAR ADC shown in FIG. 6 has a single input, the SAR ADC shown in FIG. 8 is more suitable for the differential input. The SAR ADC shown in FIG. 8 can remove the common voltage depending on the signal, and the portion surrounded by the broken line in FIG. 8 is a circuit newly added to the SAR ADC of FIG.
  • 9A to 9C are operation circuit diagrams showing a method of removing the common mode voltage of the SAR ADC shown in FIG.
  • the switch S 0 is short-circuited
  • the switch S s selects the input signals Vos_p , V os_n , and the newly added capacitances C c_p , C the switch S bias ground of c_n
  • switch S com selects the input signal V os_p, V os_n, respectively.
  • canceling the capacitance C c_p for the removal of common voltage surrounded by a broken line because the capacitance of the capacitor C c_n equals C u respectively, cancel capacitor C c_p, charge Q c_p of C c_n, Q c_n the following equation 18 expressed.
  • switch S 0 is opened, switch S com selects the input end of the comparator, and switch S bias selects voltage VDD.
  • the charges Q x p and Q x n at the input end of the comparator are represented by the above formulas 17 and 18 to 20 and the in-phase components are removed.
  • V x_p and V x_n at the input end of the comparator satisfy the following mathematical formula 21.
  • V x_p and V x_n become the following mathematical formula 22, and the ideal operation in which the midpoint of the voltage is (VDD / 2) can be realized.
  • the differential voltage V x_p ⁇ V x_n is expressed by the following mathematical formula 23, and the bias component is canceled, so that ideal analog-to-digital conversion can be realized.
  • FIG. 10 is a circuit diagram of a resistance type DAC used in the product-sum calculation unit of this modified example.
  • the upper few bits shown in FIG. 10 are composed of equal resistors using a thermometer code, and the remaining lower bits are binary weighted R-2R ladder type.
  • the average current I ave flowing through this resistance type DAC can be expressed by the following mathematical formula 24.
  • the product-sum calculator of the present embodiment can obtain the amount of calculation per power consumption from the time response and power consumption of the resistance type DAC and CDAC.
  • the capacity value is determined.
  • the following equation 25 holds from the relationship between the quantization noise at the resolution N of the CDAC and the thermal noise defined by the capacitance.
  • C is the capacitance
  • VDD is the full-scale voltage
  • k is the Boltzmann coefficient
  • T is the absolute temperature.
  • FIG. 11 is an equivalent circuit for calculating the response speed and the power consumption.
  • the response time constant ⁇ requires two CDACs due to the differential configuration, and the capacitance seen from the output resistance is the series capacitance obtained by dividing the capacitance C into two. Considering that, it is expressed by the following mathematical formula 27.
  • the power efficiency of the current digital 8-bit precision calculator is about 25 TOPS / W, there is a possibility that a power efficiency of about 300 times can be theoretically obtained. Therefore, the product-sum calculator of the present invention can obtain extremely high power efficiency as compared with the conventional digital product-sum calculator, so that the power consumption of the neuroprocessor can be significantly reduced.
  • the product-sum calculation unit of the present embodiment is an improvement of the data input method for the voltage type DAC and the CDAC with respect to the product-sum calculation unit of the first embodiment described above.
  • the input data for the multiply-accumulate calculator is performed via the bus.
  • the bus has a large load capacity, energy consumption increases remarkably during data transmission.
  • the wiring delay time is long, the operating speed becomes slow. Therefore, unless the data input method is devised, it becomes difficult to fully utilize the low energy and high speed of the product-sum calculator of the present invention.
  • FIG. 12 is a diagram showing a data input circuit to the DAC used in the product-sum calculation unit of the present embodiment.
  • FIG. 13A and 13B are circuit diagrams of the memory cells shown in FIG. 12, and FIG. 13C is a sense-up circuit diagram.
  • FIG. 13A is a SRAM memory cell. Since the SRAM memory cell can be manufactured by a logic process, it is easy to integrate.
  • FIG. 13B is a non-volatile memory cell. Many non-volatile memory cells have varying resistance values, and MRAM using a magnetic thin film and ReRAM using a phase change are typical, but other memories can also be used. By making the memory non-volatile, it is possible to operate with extremely low energy without causing frequent movement of data. Further, in neurocomputing, the coupling coefficient W is obtained in learning, and the value does not change thereafter, so a non-volatile memory is suitable.
  • FIG. 13C is a sense amplifier circuit.
  • the sense amplifier amplifies a slight input potential difference to the full swing voltage by the positive feedback operation.
  • the slight potential difference of the bit line from the memory cell can be amplified to the full swing voltage and input to the DAC.
  • data input to the memory cell is performed via the bus. For this reason, the energy consumption of data input to the memory cell is remarkably increased, and the delay time is long due to the wiring delay, so that the operation speed is slowed down.
  • FIG. 14 is a diagram showing the voltage of the input bus to the memory cell.
  • the bus uses a differential configuration as shown in FIG. 12, has a low amplitude of about 0.1 V as shown in FIG. 14, and is amplified to the full swing voltage by the sense amplifier. do. With such a configuration, the energy consumption of the bus can be reduced to about 1/10, and the data transmission speed can be improved several times.
  • the input data of the voltage output digital-to-analog converter and the capacitive digital-to-analog converter are stored in the memory cell and obtained from the output of the sense amplifier that senses the logical state.
  • the input data to the memory is in a differential format, transmitted using a low amplitude bus whose amplitude is lower than the power supply voltage, converted to a larger amplitude by the sense amplifier, and drives the bitline of the memory cell, so that it is sent to the DAC. Since the digital input can be performed with low energy and high speed, it is possible to realize a product-sum calculator that operates with low energy and has a high operating speed.
  • Multiply-accumulate calculator 11 Voltage output digital-to-analog converter 12 Capacitive digital-to-analog converter 13 Analog-to-digital converter

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Optimization (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Mathematics (AREA)
  • Algebra (AREA)
  • Pure & Applied Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Mathematical Analysis (AREA)
  • Biomedical Technology (AREA)
  • General Health & Medical Sciences (AREA)
  • Neurology (AREA)
  • Neurosurgery (AREA)
  • Physiology (AREA)
  • Human Computer Interaction (AREA)
  • Analogue/Digital Conversion (AREA)

Abstract

演算速度が速く、かつ消費エネルギーが小さい積和演算器を提供すること。 積和演算器1に、複数のDACで構成され、複数のデジタル値を各要素とするベクトル及び複数のデジタル値を各要素とする行列が入力され、ベクトルの各要素のデジタル値をアナログ電圧に変換する電圧出力デジタル・アナログ変換部11と、複数のDACで構成され、電圧出力デジタル・アナログ変換部11の各出力電圧が入力され、前記行列の各要素のデジタル値に対応した容量比が入出力端子間及び出力端子と接地間に設定される容量型デジタル・アナログ変換部12と、複数のADCで構成され、容量型デジタル・アナログ変換部12の各出力端に共通に接続されたノードの電圧がアナログ入力され、デジタル値に変換されるアナログ・デジタル変換部13を設け、アナログ・デジタル変換部13の出力を出力ベクトルとする。

Description

積和演算器
 本発明は、積和演算器に関する。より詳しくは、デジタル・アナログ変換器(Digital to Analog Converter;DAC)と、アナログ・デジタル変換器(Analog to Digital Converter;ADC)を用いた積和演算器に関する。
 デジタル演算は積和演算を基本とする。また、近年開発競争が激しいAIプロセッサではニューロ演算を行う。図15はAIプロセッサにおけるニューロ演算の概念図である。なお、ニューロ演算では多数のレイヤーを必要とするが、図15においては、基本となる入力層(Input layer)、隠れ層(Hidden Layer)及び出力層(Output layer)のみを示している。
 図15に示すように、ニューロ演算における各層間では積和演算が行われている。その一例として、入力層と隠れ層間の演算を示す。入力層のベクトルをX、結合係数行列をW(0)とすると、隠れ層のベクトルYは、下記数式1により表される。
Figure JPOXMLDOC01-appb-M000001
 上記数式1において出力層の1つの要素yに着目した場合下記数式2で表され、積和演算処理を行っていることがわかる。
Figure JPOXMLDOC01-appb-M000002
 ニューロプロセッサでは、各レイヤーのノード数がNのとき、各レイヤーにおいてNの積和演算が必要となる。例えば、画素数が100×100の画像認識では、N=10、N=10となり、1レイヤーにつき1億回もの積和演算が必要となる。このため、ニューロプロセッサは、演算速度を上げると共に、演算の消費エネルギーを下げることが喫緊の課題となっている。
 図16はデジタル回路を用いた従来の積和演算器の構成を示す図である。図16に示すように、従来の代表的なデジタル積和演算器では、入力Xはバスを通じて各フリップフロップ(F/F)に入力される。また、図16に示す積和演算器では、乗算器(MUL)が2次元的に配置されており、各乗算器には入力Xの各要素及び入力Wの各要素が入力され、乗算器において入力Xの各要素と入力Wの各要素の乗算が行われる。そして、乗算出力は、バスを通じて加算器(ADD)に順次入力され、累積加算が行われる。
K. Uenishi, et al., "FPGA Implementation of a Scalable and Highly Parallel Architecture for Restricted Boltzmann Machines," Circuits and Systems, 2016, 7, 2132-2141, Scientific Research Publishing.
 しかしながら、前述した従来のデジタル積和演算器は、乗算器の演算速度と消費エネルギー、累積加算の演算速度と消費エネルギーに問題がある。特に、累積加算器は、乗算器の出力がバスを通じて順次累積加算器に送られるため、演算速度が遅く、消費エネルギーが大きいという課題がある。
 そこで、本発明は、演算速度が速く、かつ消費エネルギーが小さい積和演算器を提供することを目的とする。
 本発明者は、前述した課題を解決するため、鋭意実験検討を行った結果、以下に示す知見を得た。アナログ演算は物理現象を用いており、一瞬かつ低消費エネルギーで演算結果が得られる可能性がある。しかしながら、アナログ演算は、デジタル演算に比べて演算精度が不十分であることから、従来殆ど用いられていなかった。一方、ニューロプロセッサの積和演算では、殆どの用途において8ビット程度の精度で十分であるとされていることから、本発明者はアナログ演算の適用について検討を行った。
 その結果、抵抗型デジタル・アナログ変換器(RDAC)のような電圧出力のDACで入力Xに比例する電圧を発生させ、この電圧をアナログ入力として行列の各要素Wのデジタル値に対応した容量比を入出力端子間及び出力端子と接地間に設定する容量型DACを用いることで、その出力電圧Yが入力Xと行列の各要素Wの積になることを見出した。この構成を採用すれば、8ビット精度を実現する容量が4fF程度と極めて小さくなり、デジタル乗算器とは異なりキャリー伝搬が生じないため、高速かつ低消費エネルギーで動作させることができる。
 更に、容量型DAC列の各出力端を共通に接続したノードの電圧は、電荷保存則により加算した値となるため、エネルギーを殆ど消費せずに一瞬で複数入力の加算が可能となる。具体的には、100並列の加算であれば一瞬で終了する。この電圧は、ADCでデジタル値に変換される。このように、本発明者は、入出力はデジタル値であるが、乗算及び加算演算はアナログで行うことにより、高速かつ低エネルギーで積和演算ができる方法も見出し、本発明に至った。
 即ち、本発明に係る積和演算器は、複数のデジタル・アナログ変換器で構成され、複数のデジタル値を各要素とするベクトル及び複数のデジタル値を各要素とする行列が入力され、前記ベクトルの各要素のデジタル値をアナログ電圧に変換する電圧出力デジタル・アナログ変換部と、複数のデジタル・アナログ変換器で構成され、前記電圧出力デジタル・アナログ変換器列の各出力電圧が入力され、前記行列の各要素のデジタル値に対応した容量比が入出力端子間及び出力端子と接地間に設定される容量型デジタル・アナログ変換部と、複数のアナログ・デジタル変換器で構成され、前記容量型デジタル・アナログ変換部の各出力端に共通に接続されたノードの電圧がアナログ入力され、デジタル値に変換されるアナログ・デジタル変換部と、を有し、前記アナログ・デジタル変換部の出力を出力ベクトルとするものである。
 本発明の積和演算器において、前記複数のデジタル値を各要素とする行列は1次元ベクトルであり、前記電圧出力デジタル・アナログ変換部の各デジタル・アナログ変換器からの出力値を、第1のベクトルと前記1次元ベクトルとの内積としてもよい。
 本発明の積和演算器は、前記容量型デジタル・アナログ変換部は差動信号を出力し、前記アナログ・デジタル変換部の各アナログ・デジタル変換器には、前記容量型デジタル・アナログ変換部の各出力端に共通に接続された一対のノードの差動電圧がアナログ入力され、デジタル値に変換してもよい。
 その場合、前記アナログ・デジタル変換部の各アナログ・デジタル変換器は、前記一対のノードの差動電圧を一対の容量にサンプリングし、前記一対の容量の端子間を短絡することで同相信号を抽出し、前記一対のノードの差動電圧から差し引くことで同相成分をキャンセルすることができる。
 又は、前記容量型デジタル・アナログ変換部は、出力に対して2進重み付け容量を用いて各要素のデジタル値に対応した容量比を入出力端子間及び出力端子と接地間に設定してもよい。
 また、本発明の積和演算器は、前記電圧出力デジタル・アナログ変換部を構成する各デジタル・アナログ変換器に重み付け抵抗を用いてもよい。
 その場合、前記電圧出力デジタル・アナログ変換部を構成する各デジタル・アナログ変換器は、例えば、上位数ビットはサーモメータコードを用いた等しい抵抗で構成し、残りの下位ビットは2進で重み付けされたR-2R梯子型の抵抗を用いることができる。
 又は、前記電圧出力デジタル・アナログ変換部を構成する各デジタル・アナログ変換器は、最小ビットの抵抗の接地端への接続が開放可能となっていてもよい。
 一方、本発明の積和演算器は、前記電圧出力デジタル・アナログ変換部及び前記容量型デジタル・アナログ変換部の入力データがメモリセルに保存されており、その論理状態をセンスするセンスアンプの出力から得ることもできる。
 その場合、前記メモリセルへの入力データを差動形式とし、振幅が電源電圧よりも低い低振幅バスを用いて伝送し、前記センスアンプでより大きい振幅に変換されて前記メモリセルのビットラインを駆動してもよい。
 前記メモリセルは例えばSRAMとすることができる。
 又は、前記メモリセルが不揮発性でもよく、例えば不揮発性のメモリセルとしてMRAMを用いることもできる。
 本発明によれば、アナログ・デジタル変換部の複数のアナログ・デジタル変換器の出力値から出力ベクトルを得て、同時並列的に極めて多くの積和演算ができるため、これまでのデジタル演算器を用いた積和演算器に比べて、低エネルギーで動作し、高速動作が可能な積和演算器を実現することができる。
本発明の第1の実施形態の積和演算器の構成を示す図である。 Aは図1に示す電圧出力デジタル・アナログ変換部11に用いられる抵抗型DACの回路図であり、Bは電流型DACの回路図である。 図1に示す容量型デジタル・アナログ変換部12に用いられるCDACの回路図である。 A及びBはCDACを用いた積和演算の原理を示す回路及びその動作を示す図であり、Aはリセットモードを示し、Bは実行モードを示す。 差動構成のCDACの回路図である。 図1に示すアナログ・デジタル変換部13に用いられる逐次比較型ADCの回路図である。 図1に示す積和演算器の動作を示すタイミングチャートである。 本発明の第1の実施形態の第1変形例の積和演算器に用いられる逐次比較型ADCの回路図である。 A~Cは図8に示すSAR ADCのコモンモード電圧の除去方法を示す動作回路図である。 本発明の第1の実施形態の第2変形例の積和演算器に用いられる抵抗型DACの回路図である。 本発明の第1の実施形態の積和演算器において応答速度と消費電力を算出するための等価回路である。 本発明の第2の実施形態の積和演算器に用いられるDACへのデータ入力回路を示す図である。 A及びBは図12に示すメモリセルの回路図であり、Cはセンスアップの回路図である。 図12に示すメモリセルへの入力バスの電圧を示す図である。 AIプロセッサにおけるニューロ演算の概念図である。 デジタル回路を用いた従来の積和演算器の構成を示す図である。
 以下、本発明を実施するための形態について、添付の図面を参照して詳細に説明する。なお、本発明は、以下に説明する実施形態に限定されるものではない。
(第1の実施形態)
 先ず、本発明の第1の実施形態に係る積和演算器について説明する。本実施形態の積和演算器は、2つの入力デジタル値列を入力とし、一方の入力は電圧出力デジタル・アナログ変換器(DAC)を用いて電圧列に変換し、他方の入力は容量型デジタル・アナログ変換器(CDAC)に入力する。そして、この積和演算器では、電圧をアナログ入力とするCDACにより乗算を行い、複数のCDACの出力を共通に接続することで同時加算を行い、このノードの電圧を、アナログ・デジタル変換器(ADC)においてアナログ・デジタル変換することでデジタル出力値を得る。
 図1は本実施形態の積和演算器の構成を示す図である。図1に示すように、本実施形態の積和演算器1には、複数のDACを備える電圧出力デジタル・アナログ変換部11と、複数のCDACを備える容量型デジタル・アナログ変換部12と、複数のADCを備えるアナログ・デジタル変換部13が設けられている。本実施形態の積和演算器1では、複数のデジタル値を各要素とするベクトルXは、それぞれバスを通じて電圧出力デジタル・アナログ変換部11の各DACに入力される。また、行列Wの各要素のデジタル値は、容量型デジタル・アナログ変換部12において2次元に配置された各CDACに入力される。
 図2Aは図1に示す電圧出力デジタル・アナログ変換部11に用いられる抵抗型DACの回路図であり、図2Bは電流型DACの回路図である。電圧出力デジタル・アナログ変換部11は、例えば図2Aに示すR-2R抵抗型DACや、図2Bに示すような電流型DACを用いることで実現することができる。インバータの電源電圧をVDD、各インバータの反転入力データをD(Dは0又は1)としたとき、R-2R抵抗型DACの出力電圧Vは下記数式3により表される。
Figure JPOXMLDOC01-appb-M000003
 図2Aには分解能4ビットの例を示しているが、この抵抗型DACは、インバータと2種類の抵抗R,2Rしか用いないことから、非常にコンパクトに電圧出力のデジタル・アナログ変換器を実現できる。一方、図2Bに示す電流型DACを用いても電圧出力のデジタル・アナログ変換器を実現できる。この場合、電流源を用い、入力データに応じた電流を負荷抵抗Rに流すことで、電圧出力のデジタル・アナログ変換器を実現できる。
 図3は図1に示す容量型デジタル・アナログ変換部12に用いられるCDACの回路図である。容量型デジタル・アナログ変換部12は、例えば図3に示すCDACを用いることができる。このCDACは、入力データDに応じて接地又は入力電圧を選択するスイッチSと、出力端に2進で重み付けされた容量が接続されている。入力電圧をVinとしたとき、出力電圧Voutは、下記数式4により求められる。
Figure JPOXMLDOC01-appb-M000004
 そして、抵抗型DACの入力ビットをXとし、CDACの入力ビットをWとすると、上記数式3及び上記数式4より、出力電圧Voutは下記数式5で表される。これは、入力値Xと入力値Wの乗算が行われることを示している。
Figure JPOXMLDOC01-appb-M000005
 次に、アナログ・デジタル変換部13への入力となるCDACの共通接続線における信号の加算性について説明する。図4A,BはCDACを用いた積和演算の原理を示す回路の動作を示す図である。図4A,Bに示すCDACは、1で規格化された入力値Wに比例する容量値WCと、1から入力値Wを引いた容量値(1-W)Cの2つの容量を有し、これらは並列に接続されている。この2つの容量は、それぞれ一方の端子が出力線に共通に接続され、他方の端子は入力電圧又は接地を選択するスイッチS,Sに接続されている。
 このCDACには、図4Aに示す「リセット」と、図4Bに示す「実行」の2つの動作モードがある。図4Aに示すように、リセットモードでは、全てのスイッチS,Sが接地を選択し、出力線はスイッチSによって接地に接続される。このため、各容量の電荷はゼロにリセットされる。一方、図4Bに示すように、実行モードでは、スイッチSはそのまま接地状態を維持し、スイッチSは入力電圧VDDXを選択する。この時の出力線の電圧をVOSとすると、電荷保存則より下記数式6が成り立つ。
Figure JPOXMLDOC01-appb-M000006
 上記数式6から電圧Vosを求めると、下記数式7となり、n個のCDACの出力が同時加算されたものとなる。
Figure JPOXMLDOC01-appb-M000007
 また、出力電圧は、自動的に規格化され、0からVDDの間の電圧を取る。
 以上のように、電荷保存則という物理現象を用いることで、瞬時に多数の加算が実現できる。しかもCDACを差動構成にすることで、容易に正負の両極性の値を取り扱うことができる。図5は差動構成のCDACの回路図である。図5に示すように、差動構成のCDACの入力信号は、wを下記数式8で表される値を取る両極性の入力信号とし、ηをバイアス値として、これまで用いてきた規格化されたCDACの入力信号Wと下記数式9に示す関係が成立する。
Figure JPOXMLDOC01-appb-M000008
Figure JPOXMLDOC01-appb-M000009
 バイアス値ηは、0.5のときに最も広い値を取ることができる。差動構成なので、それぞれのCDACに入力される値W,Wは、下記数式10で表される。
Figure JPOXMLDOC01-appb-M000010
 このとき、一対の信号線の出力電圧Vos_pは、上記数式7から、下記数式11となる。
Figure JPOXMLDOC01-appb-M000011
 同様に、出力電圧Vos_nは、下記数式12となる。
Figure JPOXMLDOC01-appb-M000012
 従って、差動出力Vos_d=Vos_p-Vos_nは、下記数式13となり、バイアス値ηに依存しない正負の両極性信号が得られる。
Figure JPOXMLDOC01-appb-M000013
 差動出力は、電圧Vos_p及び電圧Vos_nをそれぞれアナログ・デジタル変換し、その変換出力値をデジタル減算器で減算してもよいが、差動ADCを用いると、変換出力値自体が差動成分のみを変換したものになるのでより合理的である。
 アナログ・デジタル変換部13には、様々な変換方式のADCを使用することができるが、特にCDACを用いた逐次比較型ADC(Successive Approximation Register ADC;SAR ADC)がコンパクトで消費エネルギーが少なく実用的である。図6はアナログ・デジタル変換部13に用いられるSAR ADCの回路図である。図6に示すSAR ADCでは、スイッチSが閉じられ、スイッチSが入力信号Vinを選択し、スイッチS~Sが入力信号を選択しているとき、比較器の入力端に接続されているCDACの出力端の電荷Qは、Vを比較器のバイアス電圧として、下記数式14で表される。
Figure JPOXMLDOC01-appb-M000014
 一方、スイッチSを開放し、スイッチSが参照電圧Vrefを選択し、スイッチS~S4を制御して、比較器の入力端の電圧をV、αを0から1の任意の値として、αを参照電圧に接続されている容量、残りの1-αを接地に接続されている容量とするとき、電荷保存則よりCDACの出力端の電荷Qは、下記数式15で表される。
Figure JPOXMLDOC01-appb-M000015
 ここで、比較器の入力電圧V-Vは、下記数式16で表される。
Figure JPOXMLDOC01-appb-M000016
 つまり、このSAR ADCスイッチでは、スイッチS~S4を制御してαを求め、比較器の入力電圧が0に近づくよう動作させれば、アナログ・デジタル変換が可能になる。
 図7は本実施形態の積和演算器の動作を示すタイミングチャートである。図7に示すように、本実施形態の積和演算器では、クロックCLKに同期し、入力信号Dinで示したDACの2つの入力データ値Xと入力データ値Wが入力される。容量型デジタル・アナログ変換部12の各出力端を共通に接続したノードは、短時間の間において接地電位になり、CDACの各容量の電荷はリセットされる。
 ノードが解放され、CDACに入力データを与えると、ノードに入力データ値Xと入力データ値Wの内積の和に相当する電圧が出現する。ADCは、このノード電圧をサンプリングし、次にアナログ・デジタル変換動作を行う。出力Doutは、基本的に入力信号Dinに対して2クロック遅れて出力される。
 以上詳述したように、本実施形態の積和演算器は、電圧出力デジタル・アナログ変換部と、容量型デジタル・アナログ変換部と、アナログ・デジタル変換部を有し、アナログ・デジタル変換部の出力値を出力ベクトルとしているので、複数のADCの出力値から出力ベクトルを得ることができ、同時並列的に極めて多くの積和演算ができるため、演算の高速化を図れると共に消費電力を低減することができる。その結果、これまでのデジタル演算器を用いた積和演算器に比べて、低エネルギーで動作し、高速動作が可能な積和演算器を実現することができる。本発明者の試算の結果、本実施形態の積和演算器は、8ビットの積和演算において、通常のデジタル積和演算に比べて約1/300程度の低消費エネルギーでの動作が可能であった。
(第1の実施形態の第1変形例)
 次に、本実施形態の第1の実施形態の積和演算器の性能を向上させるためのいくつかの改善点を述べる。図8は、本発明の第1の実施形態の第1変形例に係る積和演算器に用いられるSAR ADCの回路図である。図6に示すSAR ADCはシングル入力であるので、差動入力には図8に示すSAR ADCの方が適している。図8に示すSAR ADCは、信号に依存したコモン電圧の除去が可能であり、図8において破線で囲んでいる部分が、図6のSAR ADCに対して新規に追加した回路である。
 次に、本変形例の動作について説明する。図9A~Cは図8に示すSAR ADCのコモンモード電圧の除去方法を示す動作回路図である。本変形例の積和演算器では、先ず、図9Aに示すように、スイッチSを短絡し、スイッチSは入力信号Vos_p,Vos_nを選択し、新規に追加した容量Cc_p,Cc_nのスイッチSbiasは接地を、スイッチScomは入力信号Vos_p,Vos_nをそれぞれ選択する。
 この状態では、比較器の入力端の電荷Qx_p,Qx_nは、入力信号として上記数式11及び数式12を用いて、下記数式17で表される。
Figure JPOXMLDOC01-appb-M000017
 また、破線で囲んだコモン電圧の除去のためのキャンセル容量Cc_p,Cc_nの容量値はそれぞれCに等しいので、キャンセル容量Cc_p,Cc_nの電荷Qc_p,Qc_nは下記数式18で表される。
Figure JPOXMLDOC01-appb-M000018
 次に、図9Bに示すように、スイッチScomを制御して容量Cc_p,Cc_nを短絡すると、上記数式18から、それぞれの電荷は下記数式19で表される。
Figure JPOXMLDOC01-appb-M000019
 次に、図9Cに示すように、スイッチSを開き、スイッチScomは比較器の入力端を選択し、スイッチSbiasは電圧VDDを選択する。比較器の入力端の電荷Qx p,Qx nは、上記数式17及び数式18から数式20で表され、同相成分が除去される。
Figure JPOXMLDOC01-appb-M000020
 また、比較器の入力端のVx_p,Vx_nは、下記数式21を満たす。
Figure JPOXMLDOC01-appb-M000021
 これより、Vx_p,Vx_nは、下記数式22となり、電圧の中点が(VDD/2)の理想的な動作を実現できる。
Figure JPOXMLDOC01-appb-M000022
 また、差動電圧Vx_p-Vx_nは下記数式23となり、バイアス成分がキャンセルされるため、理想的なアナログ・デジタル変換を実現できる。
Figure JPOXMLDOC01-appb-M000023
(第1の実施形態の第2変形例)
 次に、本発明の第1の実施形態の第2変形例について説明する。図10は本変形例の積和演算器に用いられる抵抗型DACの回路図である。図2に示す重み付け抵抗を用いたDACの代わりに、図10に示す上位数ビットをサーモメータコードを用いた等しい抵抗で構成し、残りの下位ビットを2進で重み付けされたR-2R梯子型の抵抗とした抵抗型DACを用いることで、出力抵抗が一定の条件において消費電力を低減することが可能である。
 出力抵抗をRとし、サーモメータコードを用いた等しい抵抗で構成した上位ビット数をMとしたとき、この抵抗型DACに流れる平均電流Iaveは、下記数式24で表すことができる。
Figure JPOXMLDOC01-appb-M000024
 つまり、M=1のサーモメータコードを用いた等しい抵抗を用いない場合に対し、上位4ビット程度に対しサーモメータコードを用いた等しい抵抗を用いた場合は平均電流を33%程度に低減することができる。従って、本変形例の積和演算器は、動作速度を低下させずに消費電力を低減することができる。また、全てのビットが”1”のときはスイッチSを設け、最小ビットの抵抗の接地端への接続を開放可能にすることで、回路を流れる電流をゼロにすることができるため、更なる低消費電力化に有効である。
〔第1の実施形態及びその変形例で予想される性能〕
 次に、前述した積和演算器の性能について説明する。本実施形態の積和演算器は、抵抗型DACとCDACの時間応答と消費電力より消費電力あたりの演算量を求めることができる。先ず初めに、容量値を決定する。CDACの分解能Nにおける量子化ノイズと、容量で規定される熱雑音の関係から、下記数式25が成立する。なお、下記数式25におけるCは容量、VDDはフルスケール電圧、kはボルツマン係数、Tは絶対温度である。
Figure JPOXMLDOC01-appb-M000025
 上記数式25から、容量Cを求めると下記数式26となる。
Figure JPOXMLDOC01-appb-M000026
 ニューロコンピューティングにおいては、分解能Nは8ビット程度で十分と言われているので、N=8、絶対温度Tを300°K、フルスケール電圧VDDを1.0Vとすると、容量Cは3.45fFとなる。
 図11は応答速度と消費電力を算出するための等価回路である。図11に示すように、出力抵抗をRとするとき、応答時定数τは、差動構成によりCDACが2個必要なことと、出力抵抗から見た容量が容量Cを2分割した直列容量であることを考慮すると、下記数式27で表される。
Figure JPOXMLDOC01-appb-M000027
 8ビット精度の演算には5τの時間が必要であることを考慮し、上記数式24で表される電流が消費されることから、演算に必要なエネルギーEは、上記数式24におけるMを4以上とし、下記数式28から求められる。具体的には、VDD=1.0Vでは1×10-15(J)、VDD=0.5Vでは0.25×10-15(J)となる。
Figure JPOXMLDOC01-appb-M000028
 演算器の電力効率を表す指標として、TOPS/Wが使用される。演算が乗算と加算の2つの演算を行うことを考慮すると、下記数式29から、VDD=1.0Vでは2000TOPS/W、VDD=0.5Vでは8000TOPS/Wとなる。
Figure JPOXMLDOC01-appb-M000029
 現行のデジタル方式の8ビット精度の演算器の電力効率は25TOPS/W程度であるので、理論上300倍程度の電力効率が得られる可能性がある。従って、本発明の積和演算器は、従来のデジタル方式の積和演算器に比べて極めて高い電力効率が得られることから、ニューロプロセッサの消費電力を大幅に低減することができる。
(第2の実施形態)
 次に、本発明の第2の実施形態に係る積和演算器について説明する。本実施形態の積和演算器は、前述した第1の実施形態の積和演算器に対して、電圧型DAC及びCDACに対するデータ入力方法を改良したものである。通常積和演算器に対する入力データはバスを介して行われる。しかしながら、バスは負荷容量が大いためデータ伝送時に消費エネルギーが著しく増大する。また、配線遅延時間が長いため動作速度が遅くなる。このためデータ入力方法を工夫しないと、本発明の積和演算器の持つ低エネルギー性と高速性を活かしきることが困難となる。
 そこで、本実施形態の積和演算器は、電圧型DAC及びCDACに対するデータはバスを介さずにメモリから直接入力する。図12は本実施形態の積和演算器に用いられるDACへのデータ入力回路を示す図である。図12に示すデータ入力回路を設けることで、DACに対して低エネルギーかつ高速なデータ入力が可能となる。
 図13A,Bは図12に示すメモリセルの回路図であり、図13Cはセンスアップの回路図である。図13AはSRAMメモリセルである。SRAMメモリセルは、ロジックプロセスで作製できるため、集積が容易である。図13Bは不揮発性メモリセルである。不揮発性メモリセルは、抵抗値を変化させたものが多く、磁性薄膜を用いたMRAMや相変化を用いたReRAMが代表であるが、他のメモリも使用可能である。メモリを不揮発にすることで、データの頻繁な移動が生ぜず、極めて低エネルギーで動作させることができる。またニューロコンピューティングにおいては、結合係数Wは学習において得られ、その後は値が変化しないため、不揮発性メモリが適している。
 図13Cはセンスアンプ回路である。センスアンプは、正帰還動作により僅かな入力電位差をフルスイング電圧まで増幅する。このことにより、メモリセルからのビット線の僅かな電位差をフルスイング電圧まで増幅してDACに入力することができる。図12に示すように、メモリセルへのデータ入力はバスを介して行われる。このため、メモリセルへのデータ入力は消費エネルギーが著しく増大するとともに配線遅延により遅延時間が長いため、動作速度が遅くなる。
 図14はメモリセルへの入力バスの電圧を示す図である。本実施形態の積和演算器では、バスは図12に示すように差動構成を用い、図14に示すように0.1V程度の低振幅とし、センスアンプでフルスイング電圧まで増幅するようにする。このような構成にすることで、バスの消費エネルギーを1/10程度まで低減できる他、データ伝送速度を数倍に向上させることができる。
 本実施形態の積和演算器は、電圧出力デジタル・アナログ変換部及び容量型デジタル・アナログ変換部の入力データはメモリセルに保存され、その論理状態をセンスするセンスアンプの出力から得られるとともに、メモリへの入力データを差動形式にし、振幅が電源電圧よりも低い低振幅バスを用いて伝送され,センスアンプでより大きい振幅に変換されてメモリセルのビットラインを駆動するので、DACへのデジタル入力が低エネルギーかつ高速に行うことができるため低エネルギーで動作し,動作速度が高速な積和演算器を実現することができる。
 1 積和演算器
 11 電圧出力デジタル・アナログ変換部
 12 容量型デジタル・アナログ変換部
 13 アナログ・デジタル変換部

Claims (13)

  1.  複数のデジタル・アナログ変換器で構成され、複数のデジタル値を各要素とするベクトル及び複数のデジタル値を各要素とする行列が入力され、前記ベクトルの各要素のデジタル値をアナログ電圧に変換する電圧出力デジタル・アナログ変換部と、
     複数のデジタル・アナログ変換器で構成され、前記電圧出力デジタル・アナログ変換器列の各出力電圧が入力され、前記行列の各要素のデジタル値に対応した容量比が入出力端子間及び出力端子と接地間に設定される容量型デジタル・アナログ変換部と、
     複数のアナログ・デジタル変換器で構成され、前記容量型デジタル・アナログ変換部の各出力端に共通に接続されたノードの電圧がアナログ入力され、デジタル値に変換されるアナログ・デジタル変換部と、
    を有し、
     前記アナログ・デジタル変換部の出力を出力ベクトルとする積和演算器。
  2.  前記複数のデジタル値を各要素とする行列は1次元ベクトルであり、
     前記電圧出力デジタル・アナログ変換部の各デジタル・アナログ変換器から第1のベクトルと前記1次元ベクトルとの内積が出力される請求項1に記載の積和演算器。
  3.  前記容量型デジタル・アナログ変換部は差動信号を出力し、
     前記アナログ・デジタル変換部の各アナログ・デジタル変換器には、前記容量型デジタル・アナログ変換部の各出力端に共通に接続された一対のノードの差動電圧がアナログ入力され、デジタル値に変換される請求項1に記載の積和演算器。
  4.  前記アナログ・デジタル変換部の各アナログ・デジタル変換器は、前記一対のノードの差動電圧を一対の容量にサンプリングし、前記一対の容量の端子間を短絡することで同相信号を抽出し、前記一対のノードの差動電圧から差し引くことで同相成分をキャンセルする請求項3に記載の積和演算器。
  5.  前記容量型デジタル・アナログ変換部は、出力に対して2進重み付け容量を用いて各要素のデジタル値に対応した容量比を入出力端子間及び出力端子と接地間に設定する請求項1に記載の積和演算器。
  6.  前記電圧出力デジタル・アナログ変換部を構成する各デジタル・アナログ変換器に重み付け抵抗が用いられている請求項1に記載の積和演算器。
  7.  前記電圧出力デジタル・アナログ変換部を構成する各デジタル・アナログ変換器は、上位数ビットはサーモメータコードを用いた等しい抵抗で構成され、残りの下位ビットには2進で重み付けされたR-2R梯子型の抵抗が用いられている請求項6に記載の積和演算器。
  8.  前記電圧出力デジタル・アナログ変換部を構成する各デジタル・アナログ変換器は、最小ビットの抵抗の接地端への接続が開放可能となっている請求項6に記載の積和演算器。
  9.  前記電圧出力デジタル・アナログ変換部及び前記容量型デジタル・アナログ変換部の入力データは、メモリセルに保存されており、その論理状態をセンスするセンスアンプの出力から得られる請求項1に記載の積和演算器。
  10.  前記メモリセルへの入力データは差動形式であり、振幅が電源電圧よりも低い低振幅バスを用いて伝送され、前記センスアンプでより大きい振幅に変換されて前記メモリセルのビットラインを駆動する請求項9に記載の積和演算器。
  11.  前記メモリセルはSRAMである請求項9に記載の積和演算器。
  12.  前記メモリセルは不揮発性である請求項9に記載の積和演算器。
  13.  前記不揮発性のメモリセルはMRAMである請求項12に記載の積和演算器。
PCT/JP2021/002791 2020-02-26 2021-01-27 積和演算器 WO2021171880A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2022503180A JPWO2021171880A1 (ja) 2020-02-26 2021-01-27

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2020031047 2020-02-26
JP2020-031047 2020-02-26

Publications (1)

Publication Number Publication Date
WO2021171880A1 true WO2021171880A1 (ja) 2021-09-02

Family

ID=77490443

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2021/002791 WO2021171880A1 (ja) 2020-02-26 2021-01-27 積和演算器

Country Status (2)

Country Link
JP (1) JPWO2021171880A1 (ja)
WO (1) WO2021171880A1 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09259205A (ja) * 1996-03-19 1997-10-03 Yozan:Kk 積和演算回路
JPH11163728A (ja) * 1997-08-22 1999-06-18 Harris Corp 線形性を向上させる電流セルマトリクスを有するデジタル−アナログコンバータ及びその制御方法
JP2010252247A (ja) * 2009-04-20 2010-11-04 Fujitsu Ltd 電荷分配型デジタル・アナログ変換器及びそれを有する逐次比較型アナログ・デジタル変換器
JP2018129046A (ja) * 2017-02-08 2018-08-16 株式会社半導体エネルギー研究所 Aiシステム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09259205A (ja) * 1996-03-19 1997-10-03 Yozan:Kk 積和演算回路
JPH11163728A (ja) * 1997-08-22 1999-06-18 Harris Corp 線形性を向上させる電流セルマトリクスを有するデジタル−アナログコンバータ及びその制御方法
JP2010252247A (ja) * 2009-04-20 2010-11-04 Fujitsu Ltd 電荷分配型デジタル・アナログ変換器及びそれを有する逐次比較型アナログ・デジタル変換器
JP2018129046A (ja) * 2017-02-08 2018-08-16 株式会社半導体エネルギー研究所 Aiシステム

Also Published As

Publication number Publication date
JPWO2021171880A1 (ja) 2021-09-02

Similar Documents

Publication Publication Date Title
US11640196B2 (en) Unit element for performing multiply-accumulate operations
CN110209375B (zh) 一种基于radix-4编码和差分权重存储的乘累加电路
Danial et al. Breaking through the speed-power-accuracy tradeoff in ADCs using a memristive neuromorphic architecture
CN111431536A (zh) 子单元、mac阵列、位宽可重构的模数混合存内计算模组
Osipov et al. Two advanced energy-back SAR ADC architectures with 99.21 and 99.37% reduction in switching energy
CN108988860B (zh) 一种基于sar adc的校准方法及sar adc系统
US11893078B2 (en) Analog dot product multiplier
CN111711453A (zh) 逐次逼近型模数转换器
Lu et al. A 10-bits 50-MS/s SAR ADC based on area-efficient and low-energy switching scheme
CN113315522B (zh) 一种24位低失真Sigma-Delta模数转换器
WO2021171880A1 (ja) 積和演算器
Fan Effective method to improve linearity of high-resolution SAR ADC
Osipov et al. Low power SAR ADC switching without the need of precise second reference
CN112290945B (zh) 单通道高速高精度sar adc的数字后台自校准电路结构及方法
US8576106B2 (en) Analog-digital converter
CN111611528B (zh) 电流值可变的电流积分和电荷共享的多位卷积运算模组
WO2019113772A1 (zh) 用于模数转换的方法和模数转换器
Moser et al. An open-source 1.44-MS/s 703-μW 12-bit non-binary SAR-ADC using 448-aF capacitors in 130-nm CMOS
Ling et al. Design of binary weighted DAC for asynchronous ADC with improved slew rate and with calibrated size of capacitors
Yue et al. A 92.1% area-efficient charge sharing switching scheme with near zero reset energy for SAR ADCs
JP3086638B2 (ja) デジタル−アナログ変換回路およびアナログ−デジタル変換回路
Pilipko et al. An algorithm for the search of a low capacitor count DAC switching scheme for SAR ADCs
Shaker et al. A 1-GS/s 6-bit flash ADC in 90 nm CMOS
WO2000038326A1 (en) Capacitive flash analog to digital converter
JP2000101434A (ja) 乗算型ディジタル/アナログ変換回路

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21759968

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2022503180

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21759968

Country of ref document: EP

Kind code of ref document: A1