US12547883B2 - Neural network circuit and neural network system - Google Patents

Neural network circuit and neural network system

Info

Publication number
US12547883B2
US12547883B2 US17/882,360 US202217882360A US12547883B2 US 12547883 B2 US12547883 B2 US 12547883B2 US 202217882360 A US202217882360 A US 202217882360A US 12547883 B2 US12547883 B2 US 12547883B2
Authority
US
United States
Prior art keywords
neural network
circuit
computation
output
precision
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.)
Active, expires
Application number
US17/882,360
Other languages
English (en)
Other versions
US20220374694A1 (en
Inventor
Bin Gao
Qi Liu
Leibin Ni
Kanwen Wang
Huaqiang Wu
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tsinghua University
Huawei Technologies Co Ltd
Original Assignee
Tsinghua University
Huawei Technologies Co Ltd
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 Tsinghua University, Huawei Technologies Co Ltd filed Critical Tsinghua University
Publication of US20220374694A1 publication Critical patent/US20220374694A1/en
Application granted granted Critical
Publication of US12547883B2 publication Critical patent/US12547883B2/en
Active legal-status Critical Current
Adjusted expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • G06N3/065Analogue means
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0464Convolutional networks [CNN, ConvNet]
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/048Activation functions
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0495Quantised networks; Sparse networks; Compressed networks
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/54Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using elements simulating biological cells, e.g. neuron
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2213/00Indexing scheme relating to G11C13/00 for features not covered by this group
    • G11C2213/70Resistive array aspects
    • G11C2213/77Array wherein the memory element being directly connected to the bit lines and word lines without any access device being used
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M1/00Analogue/digital conversion; Digital/analogue conversion
    • H03M1/12Analogue/digital converters
    • H03M1/1205Multiplexed conversion systems
    • H03M1/123Simultaneous, i.e. using one converter per channel but with common control or reference circuits for multiple converters
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M1/00Analogue/digital conversion; Digital/analogue conversion
    • H03M1/12Analogue/digital converters
    • H03M1/50Analogue/digital converters with intermediate conversion to time interval
    • H03M1/56Input signal compared with linear ramp
    • 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
    • H03M1/80Simultaneous conversion using weighted impedances
    • H03M1/802Simultaneous conversion using weighted impedances using capacitors, e.g. neuron-mos transistors, charge coupled devices
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Definitions

  • the subject matter and the claimed invention were made by or on the behalf of Tsinghua University, of Haidian District, Beijing, P.R. China and Huawei Technologies Co., Ltd., of Shenzhen, Guangdong province, P.R. China, under a joint research agreement titled “NEURAL NETWORK CIRCUIT AND NEURAL NETWORK SYSTEM”.
  • the joint research agreement was in effect on or before the claimed invention was made, and that the claimed invention was made as a result of activities undertaken within the scope of the joint research agreement.
  • This application relates to the field of artificial intelligence, and specifically, to a neural network circuit and a neural network system.
  • a neural network is a tool to realize artificial intelligence and has characteristics such as a high computation amount and intensive memory access when processing input data.
  • a method for improving processing efficiency of a neural network is to deploy the neural network by using an in-memory computing architecture. According to the method, a weight is written into a computing storage medium in advance based on a feature that the weight remains unchanged during computing of the neural network, and weight storage and computation are completed simultaneously. This can reduce consumption of time and energy caused by data exchange and computation.
  • a neural network computation array is a core module of a neural network circuit.
  • a neural network computation array may also be referred to as a computation array.
  • a multiply-add computation array constructed by a non-volatile storage medium usually includes several rows and columns. The row may also be referred to as a wordline, and the column may also be referred to as a bitline.
  • An intersection of a row and a column is a computation storage cell of a computation array, or a cell for short.
  • a weight is stored in a cell in advance in a form of conductance. After being processed by a digital-to-analog converter (DAC), input data enters a computation array in a form of voltage.
  • DAC digital-to-analog converter
  • a sum of obtained currents may represent an accumulation result of products of the input data and the weight.
  • the current further needs to be processed by an analog-to-digital converter (ADC) and restored to a digital signal.
  • ADC analog-to-digital converter
  • the DAC and the ADC cannot adapt to changes in computation precision of the neural network due to their fixed precision. Consequently, the following problems are caused: In an existing neural network circuit, a computation precision requirement cannot be met in a case of low precision of, and a waste of power consumption is caused in a case of high precision.
  • This application provides a neural network circuit and a neural network system, to adjust output precision of the neural network circuit based on computation precision of the neural network, so that the output precision of the neural network circuit adapts to a change of the computation precision of the neural network.
  • a neural network circuit including a first neural network computation array, a first sample-and-hold circuit, a reference voltage generation circuit, a first comparator circuit, and a first output circuit.
  • the first neural network computation array includes a first group of computation units.
  • the first group of computation units is configured to perform neural network computation on a first part of input data based on a weight, to obtain a first output current.
  • the first sample-and-hold circuit is connected to the first group of computation units, and is configured to generate a first analog voltage based on the first output current.
  • the reference voltage generation circuit is configured to generate a reference voltage based on a first control signal.
  • the first control signal is determined based on first computation precision, and the first control signal varies with the first computation precision.
  • the first comparator circuit is connected to the first sample-and-hold circuit and the reference voltage generation circuit, and is configured to output a first level signal based on the first analog voltage and the reference voltage.
  • the first output circuit is configured to sample the first level signal based on a second control signal, and output a first computation result.
  • the first computation result is a computation result that meets the first computation precision, and the second control signal is for controlling a frequency at which the first output circuit samples the first level signal.
  • the first computation precision changes accordingly. For example, a larger first output current requires higher precision of the neural network.
  • the neural network circuit may improve precision of the first computation result by increasing the sampling frequency of the first output circuit and extending duration of the first level signal, to meet the precision requirement of the neural network. This avoids the following problems: A computation precision requirement cannot be met in a case of low precision of an existing neural network, and a waste of power consumption is caused in a case of high precision.
  • the neural network circuit further includes a parameter adjustment circuit, configured to generate the first control signal and the second control signal based on the first computation precision.
  • the first level signal when the first analog voltage is higher than the reference voltage, the first level signal is a high-level signal; and when the first analog voltage is lower than the reference voltage, the first level signal is a low-level signal.
  • the first neural network computation array further includes a second group of computation units.
  • the second group of computation units is configured to perform neural network computation on a second part of data based on a weight, to obtain a second output current.
  • the neural network circuit further includes a second sample-and-hold circuit, a second comparator circuit, and a second output circuit.
  • the second sample-and-hold circuit is connected to the second group of computation units, and is configured to generate a second analog voltage based on the second output current.
  • the second comparator circuit is connected to the second sample-and-hold circuit and the reference voltage generation circuit, and is configured to output a second level signal based on the second analog voltage and the reference voltage.
  • the second output circuit is configured to sample the second level signal based on the second control signal, and output a second computation result.
  • the second computation result is a computation result that meets the first computation precision
  • the second control signal is for controlling a frequency at which the second output circuit samples the second level signal.
  • a plurality of groups of computation units may share one parameter adjustment circuit and one reference voltage generation circuit. This reduces a quantity of components and power consumption.
  • the neural network circuit further includes a second neural network computation array.
  • the first output circuit is connected to an input end of the second neural network computation array, and the second neural network computation array is configured to compute, based on a weight, data input into the second neural network computation array.
  • the data input into the second neural network computation array includes the first computation result, and the first computation result is a pulse signal.
  • the first computation result When the first computation result is a pulse signal, the first computation result can be used by another computation array without conversion processing, and no components such as a register and a shift accumulator are required. This reduces a quantity of components and power consumption required for conversion processing.
  • the reference voltage is a ramp voltage.
  • an initial voltage of the reference voltage is controlled by the first control signal.
  • the first level signal (COMP_OUT) output by the first comparator circuit maintains a ReLU functional relationship with an input current (Current_IN) of the first sample-and-hold circuit, so that the first comparator circuit has a function of the ReLU function. Therefore, in this embodiment, the function of the ReLU function can be implemented without an additional component.
  • the parameter adjustment circuit is further configured to generate a third control signal based on the first computation precision.
  • the third control signal is for controlling a reference current of an operational amplifier OPA in the first sample-and-hold circuit, to control precision of the first analog voltage and power consumption of the first sample-and-hold circuit.
  • the OPA can operate under action of the control signal generated by the parameter adjustment circuit.
  • the control signal is for controlling a reference current of the OPA, to reduce power consumption on a premise that a precision requirement of an output voltage of the first sample-and-hold circuit is met.
  • the parameter adjustment circuit is further configured to control a sampling start time point of the first output circuit.
  • an output result of the first output circuit and an output current of the first sample-and-hold circuit present a normal ReLU functional relationship.
  • the output result of the first output circuit and the output current of the first sample-and-hold circuit present a bias ReLU functional relationship. Therefore, in this embodiment, a function of a normal ReLU function or a function of a biased ReLU function can be implemented without additional components.
  • a neural network system including: the neural network circuit according to any one of the first aspect and the implementations of the first aspect; a memory configured to store input data, and a processor, configured to read the input data from the memory, and input the input data into the neural network circuit, so that the neural network circuit performs neural network computation on the input data.
  • the first computation precision changes accordingly. For example, a larger first output current requires higher precision of the neural network.
  • the neural network circuit may improve precision of the first computation result by increasing the sampling frequency of the first output circuit and extending duration of the first level signal, to meet the precision requirement of the neural network.
  • the neural network system including the neural network circuit can avoid the following problems: A computation precision requirement cannot be met in a case of low precision, and a waste of power consumption is caused in a case of high precision.
  • the memory is further configured to store a computer program.
  • the processor is further configured to invoke the computer program from the memory, to program a neural network computation array in the neural network circuit.
  • the programming is for configuring a weight of the neural network.
  • FIG. 1 is a schematic diagram of a structure of a neural network system according to this application.
  • FIG. 2 is a schematic diagram of some neural network layers in a neural network according to this application.
  • FIG. 3 is a schematic diagram of a structure of a neural network circuit according to this application.
  • FIG. 4 is a schematic diagram of a structure of a computation array according to this application.
  • FIG. 5 is a schematic diagram of an operating time sequence of a neural network circuit according to this application.
  • FIG. 6 is a schematic diagram of a structure of another neural network circuit according to this application.
  • FIG. 7 is a schematic diagram of a level signal generation method according to this application.
  • FIG. 8 is a schematic diagram of another level signal generation method according to this application.
  • FIG. 9 is a schematic diagram of still another level signal generation method according to this application.
  • FIG. 10 is a schematic diagram of an output result of a comparator circuit according to this application.
  • FIG. 11 is a schematic diagram of an output result of an output circuit according to this application.
  • FIG. 12 is a schematic diagram of a structure of a neural network circuit including a plurality of groups of computation units according to this application;
  • FIG. 13 A and FIG. 13 B are a schematic diagram of a structure of a neural network circuit applicable to a multilayer neural network according to this application.
  • FIG. 14 is a schematic diagram of an operating time sequence of another neural network circuit according to this application.
  • An artificial neural network referred to as a neural network (NN) or a neural-like network for short, is a mathematical model or a computational model that mimics a structure and function of a biological neural network (a central nervous system of an animal, especially a brain) in the field of machine learning and cognitive science, and is for function estimation or approximation.
  • the artificial neural network may include neural networks such as a convolutional neural network (CNN), a deep neural network (DNN), and a multilayer perceptron (MLP).
  • FIG. 1 is a schematic diagram of a structure of a neural network system according to an embodiment of the present invention. As shown in FIG. 1 , the neural network system 100 may include a host 105 and a neural network circuit 110 .
  • the neural network circuit 110 is connected to the host 105 through a host interface.
  • the host interface may include a standard host interface and a network interface.
  • the host interface may include a peripheral component interconnect express (PCIe) interface.
  • PCIe peripheral component interconnect express
  • the neural network circuit 110 may be connected to the host 105 by using a PCIe bus 106 . Therefore, data may be input to the neural network circuit 110 by using the PCIe bus 106 , and data that is obtained through processing performed by the neural network circuit 110 is received by using the PCIe bus 106 .
  • the host 105 may monitor an operating status of the neural network circuit 110 through the host interface.
  • the host 105 may include a processor 1052 and a memory 1054 . It should be noted that, in addition to the components shown in FIG. 1 , the host 105 may further include other components such as a communication interface and a magnetic disk used as an external memory. This is not limited herein.
  • the processor 1052 is a computation core and control core of the host 105 .
  • the processor 1052 may include a plurality of processor cores.
  • the processor 1052 may be a very large scale integrated circuit.
  • An operating system and another software program are installed in the processor 1052 , so that the processor 1052 can access the memory 1054 , a cache, a magnetic disk, and a peripheral device (e.g., the neural network circuit in FIG. 1 ).
  • the core of the processor 1052 may be, for example, a central processing unit (CPU) or another application-specific integrated circuit (ASIC).
  • CPU central processing unit
  • ASIC application-specific integrated circuit
  • the memory 1054 is a main memory of the host 105 .
  • the memory 1054 is connected to the processor 1052 through a double data rate (DDR) bus.
  • the memory 1054 is usually configured to store various software running in the operating system, input data and output data, information exchanged with an external memory, and the like. To increase an access speed of the processor 1052 , the memory 1054 needs to have an advantage of a high access rate.
  • a dynamic random access memory (DRAM) is usually used as the memory 1054 .
  • the processor 1052 can access the memory 1054 at a high speed by using a memory controller (not shown in FIG. 1 ), and perform a read operation and a write operation on any storage cell in the memory 1054 .
  • the neural network circuit 110 is a chip array including a plurality of neural network chips.
  • the neural network circuit 110 includes a plurality of neural network chips (chip, C) 115 for data processing and a plurality of routers (router, R) 120 .
  • the neural network chip 115 in this application is referred to as a chip 115 for short in this embodiment of the present invention.
  • the plurality of chips 115 are connected to each other through the routers 120 .
  • one chip 115 may be connected to one or more routers 120 .
  • the plurality of routers 120 may form one or more network topologies. Data transmission may be performed between the chips 115 by using the plurality of network topologies.
  • the neural network system 100 shown in FIG. 1 is an example of the neural network system provided in this application, and should not be construed as a limitation on the protection scope of this application.
  • the neural network system applicable to this application may further include more circuits or fewer circuits.
  • the neural network chips may be directly connected without a router.
  • a neural network may include a plurality of neural network layers.
  • the neural network layer is a logical layer, and one neural network layer means that one neural network operation is to be performed. Computation of each neural network layer is implemented by a computing node.
  • the neural network layer may include a convolutional layer, a pooling layer, and the like.
  • the neural network may include n neural network layers (which may also be referred to as n layers of neural networks), where n is an integer greater than or equal to 2.
  • FIG. 2 shows some neural network layers in the neural network.
  • the neural network 200 may include a first layer 202 , a second layer 204 , a third layer 206 , a fourth layer 208 , a fifth layer 210 to an n th layer 212 .
  • the first layer 202 may perform a convolution operation
  • the second layer 204 may perform a pooling operation on output data of the first layer 202
  • the third layer 206 may perform a convolution operation on output data of the second layer 204
  • the fourth layer 208 may perform a convolution operation on an output result of the third layer 206
  • the fifth layer 210 may perform a summation operation on the output data of the second layer 204 and output data of the fourth layer 208 , and the like.
  • FIG. 2 shows only a simple example of neural network layers in a neural network, and does not constitute a limitation on a specific operation of each neural network layer.
  • the fourth layer 208 may perform a pooling operation
  • the fifth layer 210 may perform another neural network operation such as a convolution operation or a pooling operation.
  • a computation result of the i th layer is temporarily stored in a preset cache.
  • a computation unit needs to load the computation result of the i th layer and a weight of the (i+1) th layer from the preset cache to perform computation.
  • the i th layer is any layer in the neural network.
  • the neural network circuit for example a neural network chip C in FIG. 1
  • the neural network circuit uses a computation array constructed by a non-volatile storage medium. Therefore, a weight may be configured on a cell of the computation array before computation.
  • a computation result can be directly sent to a next layer for pipeline computation. Therefore, each neural network layer only needs to cache very little data. For example, each neural network layer needs to cache input data enough only for one time of window computing.
  • FIG. 3 shows a neural network circuit including a computation array.
  • the neural network circuit 300 includes: an input circuit 301 , configured to store input data of a neural network, and send the input data to a drive circuit 302 ; the drive circuit 302 , connected to the input circuit 301 , and configured to convert the input data into a voltage signal that can be applied to a first computation array 303 ; the first computation array 303 , connected to the drive circuit 302 , and configured to generate an output current based on the voltage signal input by the drive circuit 302 and a pre-stored weight; a first sample-and-hold circuit 305 , connected to a first group of computation units in the first computation array 303 , and configured to generate a first analog voltage based on a first output current, where the first group of computation units may belong to one column of computation units, or may belong to a plurality of columns of computation units; a parameter adjustment circuit 304 , connected to the input circuit 301 and the first sample-and-hold circuit 305 , and configured
  • a circuit in the neural network circuit 300 other than the input circuit 301 , the drive circuit 302 , and the first computation array 303 may be referred to as a neuron core circuit.
  • circuits are an example, and is merely a logical function division. In actual implementation, another division manner may be used.
  • the foregoing circuits and a connection relationship between the circuits are examples rather than limitations. A person skilled in the art can reconstruct the neural network circuit 300 without creative efforts.
  • one circuit may be integrated into another circuit, and the connection relationship changes accordingly.
  • the drive circuit 302 may be integrated into the input circuit 301 ; in this case, the first computation array 303 is connected to the input circuit 301 .
  • the first comparator circuit 307 may be integrated into the first sample-and-hold circuit 305 ; in this case, the first output circuit 308 and the reference voltage generation circuit 306 are separately connected to the first sample-and-hold circuit 305 .
  • some circuits may be removed.
  • the parameter adjustment circuit 304 may be removed, and another circuit in the neural network circuit 300 may operate based on a control signal input externally or information preset internally.
  • first and second are for indicating different individuals of a same type.
  • first comparator circuit 307 and a second comparator circuit described below indicate two different comparator circuits. There is no other limitation on the terms.
  • the neural network circuit 300 may be a submodule of the neural network circuit 110 in the neural network system 100 shown in FIG. 1 (that is, the neural network circuit 300 is the neural network chip C in FIG. 1 ).
  • the neural network system 100 may first program the first computation array 303 , that is, complete mapping from a weight of the neural network to a conductance value.
  • the input circuit 301 may send the input data to the drive circuit 302 through time division.
  • 1-bit (bit) information is sent in each clock cycle. For example, if the input data is 10, the input circuit 301 may send 1 in 10 consecutive clock cycles, and send 0 in all clock cycles after the 10 consecutive clock cycles. This output method is called rate-coding.
  • the drive circuit 302 may convert 1 and 0 into voltage signals and load the voltage signals onto the first computation array 303 .
  • the first sample-and-hold circuit 305 accumulates currents in time domain output by the first group of computation units in the first computation array 303 until the input data is input.
  • the first computation array 303 may operate simultaneously with the drive circuit 302 .
  • the following describes, with reference to FIG. 4 , an operating process in which the first computation array 303 performs an operation based on the weight of the neural network and the input data.
  • a weight is usually for indicating importance of input data to output data.
  • a weight is usually represented by using a matrix. As shown in Table 1, a matrix of j rows and k columns shown in Table 1 may be a weight of a neural network layer, and each element in the matrix represents one weight value.
  • the weight may be configured on the first computation array in advance.
  • an element in a matrix is configured in a cell of a computation array, and one element is configured for each cell.
  • a multiply-add operation can be performed on the input data and a matrix representing a weight by using the computation array.
  • FIG. 4 shows a structure of a computation array.
  • One computation array may include a plurality of cells, such as G 1,1 and G 2,1 . Cells are located at row-column intersections. If one computation array includes 1000 rows and 1000 columns, there are one million cells in the computation array.
  • the weight shown in Table 1 may be input into the computation array through bitlines (an input port 402 in FIG. 4 ) of the computation array shown in FIG. 4 , so that each weight value in the weight is configured into a corresponding cell. For example, the weight value W 0,0 in Table 1 is configured into G 1,1 in FIG. 4 , and the weight value W 1,0 in Table 1 is configured into G 2,1 in FIG. 4 .
  • a computation array in which a weight is stored may also be referred to as a synaptic array.
  • the computation array shown in FIG. 4 is a 1T1R array.
  • 1T1R means that each cell has one transmit end and one receive end.
  • a computation array applicable to this application may alternatively be a 1T2R array, a 2T2R array, or another type of array.
  • the first comparator circuit 307 and the reference voltage generation circuit 306 start to operate. At the same time, the first output circuit 308 is also operating.
  • FIG. 5 shows an operating time sequence of each circuit in the neural network circuit 300 .
  • a precision requirement of the neural network varies with a magnitude of the current output by the first group of computation units.
  • a larger current output by the first group of computation units requires higher precision of the neural network.
  • the parameter adjustment circuit 304 may improve precision of the first computation result based on the control signal by increasing a sampling frequency of the first output circuit 308 and extending duration of the first level signal, to meet the precision requirement of the neural network.
  • the parameter adjustment circuit 304 may generate a control signal X 1 and a control signal X 2 based on the computation precision B.
  • the control signal X 1 controls the reference voltage generation circuit 306 to generate a reference voltage, so that the first comparator circuit 307 generates a voltage signal with longer duration after comparing the first analog voltage with the reference voltage. In this way, the first output circuit 308 can sample more information.
  • the control signal X 2 may control the first output circuit 308 to increase the sampling frequency, and sample more information per unit time.
  • the output range information is, for example, a quantity of rows enabled by the first computation array and an algorithm requirement.
  • the output range adjustment circuit After obtaining the output range information from an output circuit, the output range adjustment circuit generates a control signal K that controls a switched capacitor.
  • the control signal K is for controlling a switch group (K i0 , K i1 , and K i2 ) in a first sample-and-hold circuit, and switches in the switch group are respectively connected to integration capacitors.
  • the first sample-and-hold circuit 605 may include an operational amplifier (OPA) and an integration capacitor.
  • the integration capacitors are C i0 , C i1 , and C i2 as in FIG. 6 .
  • S&H_OUT is an output voltage (a first analog voltage) of the first sample-and-hold circuit 605
  • Current_IN is an input current of the first sample-and-hold circuit 605
  • A is a linear coefficient.
  • the integration capacitor controlled by the switch group may scale a ratio of an input current to an output voltage of the first sample-and-hold circuit 605 .
  • the linear coefficient A is a scaling multiple of the input current and the output voltage of the first sample-and-hold circuit 605 .
  • the OPA can operate under a control signal L generated by the precision adjustment circuit.
  • the control signal L is for controlling a reference current of the OPA, to reduce power consumption on a premise that a precision requirement on the output voltage of the first sample-and-hold circuit 605 is met. After the reference current decreases, a current of an amplifier of the OPA decreases under mirroring of a current mirror, reducing power consumption of the first sample-and-hold circuit 605 .
  • RST_integ is a reset switch
  • EN_integ is an enable switch
  • V CLP is a clamp voltage
  • the precision information described above is used by the parameter adjustment circuit 604 to generate control signals, for example, the control signal L generated by an OPA current controller and clock control signals (CLK_ramp and CLK_out) generated after a frequency divider (frequency divider) modulates a clock signal (CLK) of a neural network system.
  • the OPA current controller and the frequency divider may be referred to as precision adjustment modules.
  • the function of the control signal L has been described above, and a function of the clock control signal is described in detail below.
  • the clock control signal K is for controlling a ramp voltage generated by a ramp voltage generation circuit 606 .
  • the ramp voltage generation circuit 606 is an example of the reference voltage generation circuit 306 described above.
  • the ramp voltage output by the ramp voltage generation circuit 606 and the first analog voltage output by the first sample-and-hold circuit 605 are used by the first comparator circuit 607 to generate the first level signal.
  • An operating principle of the first comparator circuit 607 is as follows:
  • the first level signal is a high-level signal.
  • the first level signal is a low-level signal.
  • FIG. 7 to FIG. 9 are several examples in which the first comparator circuit generates a first level signal based on a ramp voltage and a first analog voltage.
  • V represents a voltage
  • t represents time
  • S&H_OUT represents the first analog voltage output by the first sample-and-hold circuit 605
  • Ramp_OUT represents the ramp voltage output by the ramp voltage generation circuit 606
  • COMP_OUT represents the first level signal output by the first comparator circuit 607
  • Neuron_OUT represents the first computation result obtained after a first output circuit 608 samples the first level signal.
  • values of the first analog voltages are the same.
  • a slope of Ramp_OUT in FIG. 7 is less than a slope of Ramp_OUT in FIG. 8 .
  • duration of COMP_OUT in FIG. 7 is longer than duration of COMP_OUT in FIG. 8 .
  • frequencies at which the first output circuit 608 samples COMP_OUT are the same, an information amount of Neuron_OUT in FIG. 7 is greater than an information amount of Neuron_OUT in FIG. 8 .
  • the slope of the ramp voltage is controlled by the clock control signal CLK_ramp. It can be learned that the parameter adjustment circuit 604 can control the output precision of the neural network circuit shown in FIG. 6 . In addition, longer duration of the high-level signal leads to higher power consumption. Therefore, the parameter adjustment circuit 604 can further control the power consumption of the neural network circuit shown in FIG. 6 by controlling the slope of the ramp voltage.
  • the slope of Ramp_OUT in FIG. 7 is the same as a slope of Ramp_OUT in FIG. 9 . Therefore, the duration of COMP_OUT in FIG. 7 is the same as duration of COMP_OUT in FIG. 9 .
  • a frequency in FIG. 7 at which the first output circuit 608 samples COMP_OUT is greater than the frequency in FIG. 9 at which the first output circuit 608 samples COMP_OUT. Therefore, an information amount of Neuron_OUT in FIG. 7 is greater than an information amount of Neuron_OUT in FIG. 9 .
  • the sampling frequency of the first output circuit 608 is controlled by the clock control signal CLK_out. It can be learned that the parameter adjustment circuit 604 can control the output precision of the neural network circuit shown in FIG. 6 . In addition, a higher sampling frequency leads to higher power consumption. Therefore, the parameter adjustment circuit 604 can further control the power consumption of the neural network circuit shown in FIG. 6 by controlling the sampling frequency.
  • the parameter adjustment circuit 604 may control the output precision and the power consumption of the neural network circuit in FIG. 6 by using both CLK_ramp and CLK_out, or may control the output precision and the power consumption of the neural network circuit by using either CLK_ramp or CLK_out.
  • the power consumption can be reduced on the premise of satisfying the output precision of the neural network circuit.
  • the parameter adjustment circuit 604 may further control a sampling start time point of the first output circuit 608 .
  • the initial voltage control circuit After the initial voltage control circuit obtains the initial voltage information from the input circuit 601 , the initial voltage control circuit outputs a voltage signal and applies it to a DAC of the ramp voltage generation circuit 606 , to control an initial voltage of the ramp voltage.
  • the DAC is a segmented switched-capacitor DAC and is configured to generate a ramp voltage.
  • C 0 to C 9 are segmented switched-capacitors in the DAC, and C 1 to C 9 may be connected to the ground (GND) under control of switches.
  • the ramp voltage generation circuit 606 further includes a counter. A bit width of the counter is, for example, 8 bits. 256 types of control signals may be output under control of CLK_ramp. As shown in S 1 to S 8 , S 1 to S 8 are for controlling switches corresponding to C 1 to C 9 , to adjust the slope of the ramp voltage.
  • the first comparator circuit 607 can output COMP_OUT in FIG. 10 , that is, COMP_OUT maintains a ReLU functional relationship with an input current Current_IN of the first sample-and-hold circuit 605 .
  • the first comparator circuit 605 has a function of a ReLU function.
  • FIG. 11 shows a relationship between Neuron_OUT and Current_IN generated by the first output circuit 608 , and a forward biased ReLU functional relationship is presented.
  • the delay means that sampling starts after the control signal of the parameter adjustment circuit 604 is received, and sampling is not performed on the first level signal before the control signal.
  • the first output circuit 608 may further advance the sampling start time point under the control of the parameter adjustment circuit 604 , so that Neuron_OUT and Current_IN present a reverse biased ReLU functional relationship.
  • the neural network circuit shown in FIG. 6 further includes the first output circuit 608 .
  • the first output circuit 608 can output two results: One is a data signal Y 1 output by the counter, and the other is a pulse signal Y 0 .
  • Y 0 may be generated based on Y 1 .
  • the bit width of the counter is 8 bits, there may be eight precision choices for Y 1 , as ⁇ 0:7> in FIG. 6 .
  • the input signal of the first computation array is usually a pulse signal.
  • the first output circuit 608 may output Y 0 .
  • the result output by the first output circuit 608 can be used by the another computation array without conversion processing. Therefore, components such as a register and a shift accumulator are not needed. This reduces a quantity of components and power consumption required for conversion processing.
  • FIG. 13 A and FIG. 13 B show this embodiment.
  • a first output circuit 1308 outputs Y 0
  • Y 0 may be directly loaded onto a second computation array 13114 by a drive circuit 1313 of a second neural network circuit. Therefore, an input circuit 1312 of the second neural network circuit in FIG. 13 B is an optional module.
  • the first output circuit 608 may output YT.
  • FIG. 12 shows a neural network circuit provided in this application.
  • a first computation array 1203 includes a plurality of groups of computation units, for example, a first group of computation units and a second group of computation units.
  • the first group of computation units and the second group of computation units compute different input data based on weights, and output different output currents.
  • the second group of computation units outputs a second output current to a second sample-and-hold circuit 1209 .
  • the second sample-and-hold circuit 1209 converts the second output current into a second analog voltage under control of a control signal L and a control signal K.
  • a second comparator circuit 1210 outputs a second level signal based on the second analog voltage and a reference voltage (for example, a ramp voltage).
  • a second output circuit 1211 samples the second level signal to generate a second computation result.
  • different groups of computation units in the first computation array 1203 use different sample-and-hold circuits, comparator circuits, and output circuits, and a parameter adjustment circuit 1204 and a reference voltage generation circuit 1206 are shared by all groups of computation units. This reduces a quantity of components and power consumption.
  • the neural network circuit shown in FIG. 12 is a circuit applicable to a single-layer neural network.
  • another circuit may be connected to the neural network circuit shown in FIG. 12 , to meet a requirement of a multilayer neural network.
  • FIG. 13 A and FIG. 13 B are a schematic diagram of a circuit applicable to a multilayer neural network.
  • a first neural network circuit is, for example, the circuit shown in FIG. 12 .
  • An input bit width of the first neural network circuit is M, a scale of a first computation array is M*N, and there are N output neurons (that is, N output circuits).
  • An input bit width of a second neural network circuit is N, a scale of a second computation array is N*K, and there are K output neurons (that is, K output circuits).
  • the output neurons of the second neural network circuit may further be connected to another neural network circuit.
  • FIG. 14 shows an operating time sequence of the circuit in FIG. 13 A and FIG. 13 B .
  • a reference voltage generation circuit, a comparator circuit, and an output circuit of the first neural network circuit operate, an input circuit, a drive circuit, a computation array, and a sample-and-hold circuit of the second neural network circuit also operate.
  • An optional workflow is as follows:
  • an input circuit 1301 of the first neural network circuit outputs input data in a rate-coding manner, where required time is determined by a data amount and a signal bit width.
  • a drive circuit 1302 , a first computation array 1303 , and each sample-and-hold circuit of the first neural network circuit start to operate.
  • the first computation array 1303 performs a multiply-add operation on the input data and weights stored in the first computation array 1303 .
  • An operation result is output after being processed by each sample-and-hold circuit.
  • each comparator circuit In a third step of the first neural network circuit, the reference voltage generation circuit 1306 , each comparator circuit, and each output circuit start to operate, to output a first computation result.
  • the input circuit 1312 of the second neural network circuit samples the first computation result of the first neural network circuit, and outputs a sampling result.
  • the drive circuit 1313 of the second neural network converts the sampling result in the previous step into an analog voltage signal and applies it to a second computation array 1314 .
  • the second computation array 1314 performs a multiply-add operation on the input data and weights stored in the second computation array 1314 .
  • An operation result is output after being processed by each sample-and-hold circuit. Time of 1 -S 3 , 2 -S 1 , and 2 -S 2 coincide.
  • a reference voltage generation circuit 1317 , each comparator circuit, and each output circuit of the second neural network circuit start to operate, to output a second computation result.
  • the neural network system outputs a final computation result.
  • precision of the first neural network circuit and the second neural network circuit may be represented by N1 and N2.
  • the first neural network circuit may output 2 N1 pulses, where each pulse serves as an input for the second neural network circuit.
  • the second neural network circuit may output 2 N2 pulses. Therefore, output precision of the second neural network circuit is (N1+N2) bits.
  • precision of each of ramp voltages of the first neural network circuit and the second neural network circuit is 8 bits.
  • both N1 and N2 are 1-8 bits
  • an output precision range of the second neural network circuit is 2-16 bits.
  • the foregoing describes in detail examples of the neural network circuit and the neural network system that are provided in this application.
  • the neural network circuit and the neural network system each include a corresponding hardware structure and/or software module for performing each function.
  • a person skilled in the art may be easily aware that this application can be implemented in a form of hardware or a combination of hardware and computer software with reference to the disclosed embodiments of this specification. Whether a specific function is performed by hardware or hardware driven by computer software depends on particular applications and design constraints of the technical solutions. A person skilled in the art may use different methods to implement the described functions for each particular application, but it should not be considered that the implementation goes beyond the scope of this application.
  • the disclosed system, apparatus and method may be implemented in other manners. For example, some features of the method embodiments described above may be ignored or not performed.
  • the described apparatus embodiments are merely examples. Division into the units is merely logical function division and may be other division in actual implementation. A plurality of units or components may be combined or integrated into another system.
  • coupling between the units or coupling between the components may be direct coupling or indirect coupling, and the coupling may include an electrical connection, a mechanical connection, or another form of connection.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • Neurology (AREA)
  • Computer Hardware Design (AREA)
  • Feedback Control In General (AREA)
  • Image Analysis (AREA)
  • Combined Controls Of Internal Combustion Engines (AREA)
US17/882,360 2020-02-07 2022-08-05 Neural network circuit and neural network system Active 2043-04-14 US12547883B2 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN202010083080.7 2020-02-07
CN202010083080.7A CN113255875A (zh) 2020-02-07 2020-02-07 神经网络电路和神经网络系统
PCT/CN2021/075635 WO2021155851A1 (zh) 2020-02-07 2021-02-05 神经网络电路和神经网络系统

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2021/075635 Continuation WO2021155851A1 (zh) 2020-02-07 2021-02-05 神经网络电路和神经网络系统

Publications (2)

Publication Number Publication Date
US20220374694A1 US20220374694A1 (en) 2022-11-24
US12547883B2 true US12547883B2 (en) 2026-02-10

Family

ID=77200786

Family Applications (1)

Application Number Title Priority Date Filing Date
US17/882,360 Active 2043-04-14 US12547883B2 (en) 2020-02-07 2022-08-05 Neural network circuit and neural network system

Country Status (4)

Country Link
US (1) US12547883B2 (de)
EP (1) EP4086816B1 (de)
CN (1) CN113255875A (de)
WO (1) WO2021155851A1 (de)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11586898B2 (en) * 2019-01-29 2023-02-21 Silicon Storage Technology, Inc. Precision programming circuit for analog neural memory in deep learning artificial neural network
CN116362314B (zh) * 2021-12-24 2026-04-07 华为技术有限公司 一种存算一体装置和计算方法
CN115294745B (zh) * 2022-05-23 2023-09-29 电子科技大学 一种基于神经网络与数据差分的锂电池热失控分层预警方法
CN115906976B (zh) * 2022-11-16 2025-08-19 北京大学 一种全模拟向量矩阵乘法存内计算电路及其应用
CN116579392B (zh) * 2023-02-21 2026-01-23 鹏城实验室 一种基于电导可调器件的神经网络训练操作系统及方法

Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5093803A (en) * 1988-12-22 1992-03-03 At&T Bell Laboratories Analog decision network
US6396329B1 (en) * 1999-10-19 2002-05-28 Rambus, Inc Method and apparatus for receiving high speed signals with low latency
CN105701541A (zh) 2016-01-13 2016-06-22 哈尔滨工业大学深圳研究生院 一种基于忆阻器脉冲神经网络的电路结构
US20170223807A1 (en) * 2006-03-28 2017-08-03 Wireless Environment, Llc. Cloud connected lighting system
US20170368682A1 (en) 2016-06-27 2017-12-28 Fujitsu Limited Neural network apparatus and control method of neural network apparatus
CN107612546A (zh) 2017-08-29 2018-01-19 电子科技大学 一种基于神经网络的锁相环电路
CN107742153A (zh) 2017-10-20 2018-02-27 华中科技大学 一种基于忆阻器的具有稳态可塑性的神经元电路
US20180115442A1 (en) * 2016-10-24 2018-04-26 Kandou Labs, S.A. Multi-stage sampler with increased gain
WO2019097513A1 (en) 2017-11-14 2019-05-23 Technion Research & Development Foundation Limited Analog to digital converter using memristors in a neural network
CN109948786A (zh) 2019-02-21 2019-06-28 山东师范大学 一种仿脑的数模混合神经元电路及方法
JP6569755B1 (ja) 2018-03-06 2019-09-04 Tdk株式会社 ニューラルネットワーク装置、信号生成方法およびプログラム
US20200242461A1 (en) * 2019-01-29 2020-07-30 Silicon Storage Technology, Inc. Algorithms and circuitry for verifying a value stored during a programming operation of a non-volatile memory cell in an analog neural memory in deep learning artificial neural network
US20210089875A1 (en) * 2019-09-19 2021-03-25 Silicon Storage Technology, Inc. Precision tuning for the programming of analog neural memory in a deep learning artificial neural network
US20210142156A1 (en) * 2019-11-11 2021-05-13 Silicon Storage Technology, Inc. Precise Programming Method And Apparatus For Analog Neural Memory In An Artificial Neural Network
US20210334639A1 (en) * 2019-01-18 2021-10-28 Silicon Storage Technology, Inc. Programmable output blocks for analog neural memory in a deep learning artificial neural network

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110533174B (zh) * 2018-05-24 2023-05-12 华为技术有限公司 神经网络系统中数据处理的电路和方法
US20200034699A1 (en) * 2018-07-24 2020-01-30 SK Hynix Inc. Accelerating appratus of neural network and operating method thereof
CN109325590B (zh) * 2018-09-14 2020-11-03 中国科学院计算技术研究所 用于实现计算精度可变的神经网络处理器的装置
CN110263926B (zh) * 2019-05-18 2023-03-24 南京惟心光电系统有限公司 基于光电计算单元的脉冲神经网络及其系统和运算方法

Patent Citations (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5093803A (en) * 1988-12-22 1992-03-03 At&T Bell Laboratories Analog decision network
US6396329B1 (en) * 1999-10-19 2002-05-28 Rambus, Inc Method and apparatus for receiving high speed signals with low latency
US20180084627A1 (en) * 2006-03-28 2018-03-22 Wireless Environment, Llc. Cloud-connected off-grid lighting and video system
US20170223807A1 (en) * 2006-03-28 2017-08-03 Wireless Environment, Llc. Cloud connected lighting system
US9860965B2 (en) * 2006-03-28 2018-01-02 Wireless Environment, Llc Cloud connected lighting system
CN105701541A (zh) 2016-01-13 2016-06-22 哈尔滨工业大学深圳研究生院 一种基于忆阻器脉冲神经网络的电路结构
US20170368682A1 (en) 2016-06-27 2017-12-28 Fujitsu Limited Neural network apparatus and control method of neural network apparatus
US20180115442A1 (en) * 2016-10-24 2018-04-26 Kandou Labs, S.A. Multi-stage sampler with increased gain
US20190182081A1 (en) * 2016-10-24 2019-06-13 Kandou Labs, S.A. Multi-stage sampler with increased gain
CN107612546A (zh) 2017-08-29 2018-01-19 电子科技大学 一种基于神经网络的锁相环电路
CN107742153A (zh) 2017-10-20 2018-02-27 华中科技大学 一种基于忆阻器的具有稳态可塑性的神经元电路
WO2019097513A1 (en) 2017-11-14 2019-05-23 Technion Research & Development Foundation Limited Analog to digital converter using memristors in a neural network
JP6569755B1 (ja) 2018-03-06 2019-09-04 Tdk株式会社 ニューラルネットワーク装置、信号生成方法およびプログラム
US20210334639A1 (en) * 2019-01-18 2021-10-28 Silicon Storage Technology, Inc. Programmable output blocks for analog neural memory in a deep learning artificial neural network
US20200242461A1 (en) * 2019-01-29 2020-07-30 Silicon Storage Technology, Inc. Algorithms and circuitry for verifying a value stored during a programming operation of a non-volatile memory cell in an analog neural memory in deep learning artificial neural network
CN109948786A (zh) 2019-02-21 2019-06-28 山东师范大学 一种仿脑的数模混合神经元电路及方法
US20210089875A1 (en) * 2019-09-19 2021-03-25 Silicon Storage Technology, Inc. Precision tuning for the programming of analog neural memory in a deep learning artificial neural network
US20210142156A1 (en) * 2019-11-11 2021-05-13 Silicon Storage Technology, Inc. Precise Programming Method And Apparatus For Analog Neural Memory In An Artificial Neural Network

Non-Patent Citations (12)

* Cited by examiner, † Cited by third party
Title
Delagnes et al., "A Low Power Multi-Channel Single Ramp ADC With Up to 3.2 GHZ Virtual Clock," IEEE Transactions on Nuclear Science, vol. 54, No. 5, pp. 1735-1742, Institute of Electrical and Electronics Engineers, New York, New York (Oct. 2007).
Kim et al., "An Ultra-Low-Power Analog-Digital Hybrid CNN Face Recognition Processor Integrated with a CIS for Always-on Mobile Devices," 2019 IEEE International Symposium on Circuits and Systems (ISCAS), Total 5 pages, Institute of Electrical and Electronics Engineers, New York, New York (May 2019).
Marinella et al., "Multiscale Co-Design Analysis of Energy, Latency, Area, and Accuracy of a ReRAM Analog Neural Training Accelerator," IEEE Journal on Emerging and Selected Topics in Circuits and Systems, vol. 8, No. 1, pp. 86-101, Institute of Electrical and Electronics Engineers, New York, New York (Mar. 2018).
Mochida et al., "A 4M Synapses integrated Analog ReRAM based 66.5 TOPS/W Neural-Network Processor with Cell Current Controlled Writing and Flexible Network Architecture," 2018 Symposium on VLSI Technology Digest of Technical Papers, pp. 175-176, Institute of Electrical and Electronics Engineers, New York, New York (2018).
Xue et al., "Embedded 1-Mb ReRAM-Based Computing-in-Memory Macro With Multibit Input and Weight for CNN-Based AI Edge Processors," IEEE Journal of Solid-State Circuits, vol. 55, No. 1, pp. 203-215, Institute of Electrical and Electronics Engineers, New York, New York (Jan. 2020).
Zhang et al., "Memristor-based Deep Convolution Neural Network: A Case Study," arXiv:1810.02225v1 [cs.NE], pp. 1-7 (Sep. 14, 2018).
Delagnes et al., "A Low Power Multi-Channel Single Ramp ADC With Up to 3.2 GHZ Virtual Clock," IEEE Transactions on Nuclear Science, vol. 54, No. 5, pp. 1735-1742, Institute of Electrical and Electronics Engineers, New York, New York (Oct. 2007).
Kim et al., "An Ultra-Low-Power Analog-Digital Hybrid CNN Face Recognition Processor Integrated with a CIS for Always-on Mobile Devices," 2019 IEEE International Symposium on Circuits and Systems (ISCAS), Total 5 pages, Institute of Electrical and Electronics Engineers, New York, New York (May 2019).
Marinella et al., "Multiscale Co-Design Analysis of Energy, Latency, Area, and Accuracy of a ReRAM Analog Neural Training Accelerator," IEEE Journal on Emerging and Selected Topics in Circuits and Systems, vol. 8, No. 1, pp. 86-101, Institute of Electrical and Electronics Engineers, New York, New York (Mar. 2018).
Mochida et al., "A 4M Synapses integrated Analog ReRAM based 66.5 TOPS/W Neural-Network Processor with Cell Current Controlled Writing and Flexible Network Architecture," 2018 Symposium on VLSI Technology Digest of Technical Papers, pp. 175-176, Institute of Electrical and Electronics Engineers, New York, New York (2018).
Xue et al., "Embedded 1-Mb ReRAM-Based Computing-in-Memory Macro With Multibit Input and Weight for CNN-Based AI Edge Processors," IEEE Journal of Solid-State Circuits, vol. 55, No. 1, pp. 203-215, Institute of Electrical and Electronics Engineers, New York, New York (Jan. 2020).
Zhang et al., "Memristor-based Deep Convolution Neural Network: A Case Study," arXiv:1810.02225v1 [cs.NE], pp. 1-7 (Sep. 14, 2018).

Also Published As

Publication number Publication date
WO2021155851A1 (zh) 2021-08-12
EP4086816A4 (de) 2023-04-26
US20220374694A1 (en) 2022-11-24
CN113255875A (zh) 2021-08-13
EP4086816A1 (de) 2022-11-09
EP4086816B1 (de) 2025-09-24

Similar Documents

Publication Publication Date Title
US12547883B2 (en) Neural network circuit and neural network system
CN115048075B (zh) 基于电容耦合的sram存算一体芯片
JP7711879B2 (ja) インメモリプロセシングを行う装置、及びそれを含むコンピューティング装置
US11615299B2 (en) Neural network computation circuit including non-volatile semiconductor memory element
Sun et al. XNOR-RRAM: A scalable and parallel resistive synaptic architecture for binary neural networks
Sun et al. Fully parallel RRAM synaptic array for implementing binary neural network with (+ 1,− 1) weights and (+ 1, 0) neurons
US11354569B2 (en) Neural network computation circuit including semiconductor storage elements
EP3389051B1 (de) Speichervorrichtung und datenverarbeitungsverfahren basierend auf einer mehrschichtigen rram-crossbar-anordnung
CN111967586A (zh) 一种用于脉冲神经网络存内计算的芯片及计算方法
CN112183739A (zh) 基于忆阻器的低功耗脉冲卷积神经网络的硬件架构
CN115210810A (zh) 存储器内计算动态随机存取存储器
KR102861763B1 (ko) 인-메모리 프로세싱을 수행하는 장치 및 이를 포함하는 컴퓨팅 장치
CN113935479B (zh) 可用于人工智能物联网的高能效二值神经网络加速器
CN110751279B (zh) 一种铁电电容耦合神经网络电路结构及神经网络中向量与矩阵的乘法运算方法
CN110288510A (zh) 一种近传感器视觉感知处理芯片及物联网传感装置
CN118072788A (zh) 存算一体电路、芯片及电子设备
TW202544687A (zh) 具有降噪的混合類比/數位記憶體內計算系統與其方法
CN120199305A (zh) 一种针对存算阵列的异构高速并行读出电路
CN115658009B (zh) 一种始终线性放电和减少数字步骤的d6t存内计算加速器
Liu et al. A 40-nm 202.3 nJ/classification neuromorphic architecture employing in-SRAM charge-domain compute
CN117521753A (zh) 神经网络处理装置、电子设备及操作方法
TW202420064A (zh) 用於記憶體內運算(cim)的記憶體陣列及其操作方法
Lim et al. AA-ResNet: Energy efficient all-analog ResNet accelerator
CN114093394A (zh) 一种可转置存内计算电路及其实现方法
Wang et al. Design challenges and methodology of high-performance SRAM-based compute-in-memory for AI edge devices

Legal Events

Date Code Title Description
FEPP Fee payment procedure

Free format text: ENTITY STATUS SET TO UNDISCOUNTED (ORIGINAL EVENT CODE: BIG.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

STPP Information on status: patent application and granting procedure in general

Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION

STPP Information on status: patent application and granting procedure in general

Free format text: NON FINAL ACTION MAILED

STPP Information on status: patent application and granting procedure in general

Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER

STPP Information on status: patent application and granting procedure in general

Free format text: ALLOWED -- NOTICE OF ALLOWANCE NOT YET MAILED

STPP Information on status: patent application and granting procedure in general

Free format text: NOTICE OF ALLOWANCE MAILED -- APPLICATION RECEIVED IN OFFICE OF PUBLICATIONS

AS Assignment

Owner name: HUAWEI TECHNOLOGIES CO., LTD., CHINA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:GAO, BIN;LIU, QI;NI, LEIBIN;AND OTHERS;SIGNING DATES FROM 20221019 TO 20240717;REEL/FRAME:072831/0569

Owner name: TSINGHUA UNIVERSITY, CHINA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:GAO, BIN;LIU, QI;NI, LEIBIN;AND OTHERS;SIGNING DATES FROM 20221019 TO 20240717;REEL/FRAME:072831/0569

STPP Information on status: patent application and granting procedure in general

Free format text: PUBLICATIONS -- ISSUE FEE PAYMENT RECEIVED

Free format text: PUBLICATIONS -- ISSUE FEE PAYMENT VERIFIED

STPP Information on status: patent application and granting procedure in general

Free format text: PUBLICATIONS -- ISSUE FEE PAYMENT VERIFIED

STCF Information on status: patent grant

Free format text: PATENTED CASE