WO2021066100A1 - シナプス回路の駆動方法 - Google Patents

シナプス回路の駆動方法 Download PDF

Info

Publication number
WO2021066100A1
WO2021066100A1 PCT/JP2020/037440 JP2020037440W WO2021066100A1 WO 2021066100 A1 WO2021066100 A1 WO 2021066100A1 JP 2020037440 W JP2020037440 W JP 2020037440W WO 2021066100 A1 WO2021066100 A1 WO 2021066100A1
Authority
WO
WIPO (PCT)
Prior art keywords
pulse
circuit
post
load
spike
Prior art date
Application number
PCT/JP2020/037440
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 US17/765,721 priority Critical patent/US20230013081A1/en
Priority to JP2021551453A priority patent/JPWO2021066100A1/ja
Priority to KR1020227014230A priority patent/KR20220075366A/ko
Publication of WO2021066100A1 publication Critical patent/WO2021066100A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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
    • G06COMPUTING; CALCULATING OR 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; CALCULATING OR 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/049Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/02Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements
    • G11C11/16Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements using elements in which the storage effect is based on magnetic spin effect
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/02Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements
    • G11C11/16Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements using elements in which the storage effect is based on magnetic spin effect
    • G11C11/165Auxiliary circuits
    • G11C11/1675Writing or programming circuits or methods
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/02Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements
    • G11C11/16Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements using elements in which the storage effect is based on magnetic spin effect
    • G11C11/165Auxiliary circuits
    • G11C11/1693Timing circuits or methods
    • 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
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L27/00Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate
    • H01L27/02Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate including semiconductor components specially adapted for rectifying, oscillating, amplifying or switching and having potential barriers; including integrated passive circuit elements having potential barriers
    • H01L27/04Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate including semiconductor components specially adapted for rectifying, oscillating, amplifying or switching and having potential barriers; including integrated passive circuit elements having potential barriers the substrate being a semiconductor body
    • H01L27/10Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate including semiconductor components specially adapted for rectifying, oscillating, amplifying or switching and having potential barriers; including integrated passive circuit elements having potential barriers the substrate being a semiconductor body including a plurality of individual components in a repetitive configuration
    • H01L27/105Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate including semiconductor components specially adapted for rectifying, oscillating, amplifying or switching and having potential barriers; including integrated passive circuit elements having potential barriers the substrate being a semiconductor body including a plurality of individual components in a repetitive configuration including field-effect components
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L29/00Semiconductor devices specially adapted for rectifying, amplifying, oscillating or switching and having potential barriers; Capacitors or resistors having potential barriers, e.g. a PN-junction depletion layer or carrier concentration layer; Details of semiconductor bodies or of electrodes thereof ; Multistep manufacturing processes therefor
    • H01L29/66Types of semiconductor device ; Multistep manufacturing processes therefor
    • H01L29/82Types of semiconductor device ; Multistep manufacturing processes therefor controllable by variation of the magnetic field applied to the device
    • HELECTRICITY
    • H10SEMICONDUCTOR DEVICES; ELECTRIC SOLID-STATE DEVICES NOT OTHERWISE PROVIDED FOR
    • H10BELECTRONIC MEMORY DEVICES
    • H10B10/00Static random access memory [SRAM] devices
    • HELECTRICITY
    • H10SEMICONDUCTOR DEVICES; ELECTRIC SOLID-STATE DEVICES NOT OTHERWISE PROVIDED FOR
    • H10BELECTRONIC MEMORY DEVICES
    • H10B99/00Subject matter not provided for in other groups of this subclass
    • HELECTRICITY
    • H10SEMICONDUCTOR DEVICES; ELECTRIC SOLID-STATE DEVICES NOT OTHERWISE PROVIDED FOR
    • H10NELECTRIC SOLID-STATE DEVICES NOT OTHERWISE PROVIDED FOR
    • H10N50/00Galvanomagnetic devices
    • H10N50/10Magnetoresistive devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/088Non-supervised learning, e.g. competitive learning

Definitions

  • the present invention relates to a method for driving a synaptic circuit.
  • a neural network that processes information on a computer using the mechanism of the brain of a living body as a model is known. Further, in order to realize a neural network using semiconductor elements and the like, research on its constituent elements and circuits is underway.
  • Various models of neural network circuit devices have been proposed. For example, in one model, neurons are connected to each other via a synaptic circuit, and the synaptic circuit is given a synaptic connection load that indicates the strength of the connection, and one neuron is combined with the voltage of a pulse input from another neuron. When the integrated value with the load reaches a predetermined threshold value, the neuron fires and transmits a pulse to the next neuron.
  • the synaptic coupling load is stored in the synaptic circuit
  • learning is performed based on a synaptic model having, for example, Spike Timing Dependent Synaptic Plasticity (hereinafter referred to as STDP).
  • STDP Spike Timing Dependent Synaptic Plasticity
  • the synaptic coupling load based on the time difference between the pulse from the pre-neuron circuit connected to the front stage of the synaptic circuit and the pulse from the post-neuron circuit connected to the rear stage is stored in the synaptic circuit.
  • non-volatile storage elements for example, ReRAM (Resistive Random Access Memory) equipped with a resistance change type memory element whose electrical resistance changes due to an electric field-induced giant resistance change, phase change memory (Phase Change Random Access Memory), and the like are known.
  • ReRAM Resistive Random Access Memory
  • phase change memory Phase Change Random Access Memory
  • the present invention has been made in view of the above circumstances, and an object of the present invention is to provide a simplified method for driving a synaptic circuit.
  • the present invention has a load storage unit that stores either the first connection load or the second connection load as a synaptic connection load, and is located between the preneuron circuit and the postneuron circuit.
  • a weighted pre-spike pulse that is connected and weighted with the synaptic coupling load to the pre-spike pulse input from the pre-neuron circuit is output to the post-neuron circuit, and the pre-spike pulse and the post output by the post-neuron circuit are output.
  • the pre-spike pulse is transmitted from either the pre-neuron circuit or the post-neuron circuit to the post-spike pulse.
  • a first time window pulse defining a first time window that allows writing of the synaptic coupling load to the load storage unit is input to the synapse circuit, and the synapse is input to the load storage unit from the other side.
  • a first write pulse having a pulse width shorter than that of the first time window pulse, which is a write timing of the coupling load, is input to the synapse circuit, and the post is transmitted from either the preneuron circuit or the postneuron circuit.
  • a second time window pulse defining a second time window that allows writing of the synaptic coupling load to the load storage unit is input to the synapse circuit.
  • a second write pulse having a pulse width shorter than that of the second time window pulse, which is a timing for writing the synapse coupling load is input to the synapse circuit, and the first time window pulse and the first time window pulse are input to the load storage unit.
  • the post-spiking pulse precedes the pre-spiking pulse and the case where the pre-spiking pulse precedes the post-spiking pulse from either the pre-neuron circuit or the post-neuron circuit.
  • a time window pulse that allows writing of the synaptic coupling load is input to the synaptic circuit, and a short write pulse that is the timing for writing the synaptic coupling load is input to the synaptic circuit from the other side, and these are simultaneously input to the synaptic circuit. Since the load storage unit performs the writing operation when the input is input to, the drive for storing the synaptic coupling load based on STDP can be simplified.
  • It is a block diagram which shows the outline of the neural network circuit apparatus of 1st Embodiment. 6 is a graph showing the relationship between the pulse time difference ⁇ T between the first post-spike pulse and the first pre-spike pulse and the coupling load. It is a circuit diagram which shows the structure of a synaptic circuit. It is a block diagram which shows an example of the main part composition of the main body part of a neuron circuit. It is a timing chart which shows various signals in a cognitive mode. 6 is a timing chart showing various signals in the learning mode when the first pre-spike pulse precedes. It is a timing chart which shows various signals in the learning mode when the 1st post spike pulse precedes.
  • 6 is a timing chart showing various signals in the learning mode when the first pre-spike pulse in the second embodiment precedes. 6 is a timing chart showing various signals in the learning mode when the first post-spike pulse in the second embodiment precedes. 6 is a timing chart showing various signals in the learning mode when the first pre-spike pulse in the third embodiment precedes. 6 is a timing chart showing various signals in the learning mode when the first post-spike pulse in the third embodiment precedes.
  • FIG. 5 is a circuit diagram showing another example in which a load storage unit having an SRAM configuration outputs a current signal as a weighted pre-spike pulse.
  • each synapse circuit 11 has a load storage unit 14 and a selection unit 15, respectively. Further, the neural network circuit device 10 is provided with a plurality of neuron circuits 17, and a plurality of synapse circuits 11 are provided corresponding to the respective neuron circuits 17.
  • each row 16 of the synaptic circuit 11 is provided with a neuron circuit 17 at the end in the row direction (vertical direction in FIG. 1), and one neuron circuit 17 is provided with one row of synaptic circuits. 11 corresponds.
  • the neuron circuit 17 has a main body 18 and a bit line driver 19.
  • Bit lines BL, BLB, first post spike line POLa, and second post spike line POLb are extended in the column direction corresponding to each row 16 of the synapse circuit 11.
  • the bit wires BL and BLB are connected to each load storage unit 14 and the bit wire driver 19 in the corresponding column 16.
  • the first post-spike line POLa and the second post-spike line POLb are connected to the selection unit 15 and the main body unit 18 in the corresponding row 16.
  • an output line OL is provided for each load storage unit 14, and each load storage unit 14 is connected to the main body 18 of the neuron circuit 17 in the row 16 in which the load storage unit 14 is arranged by an output line OL. ..
  • the power supply line PL for supplying the power supply voltage to the load storage unit 14 in the row direction (left-right direction in the figure), the grounded source line SL, the pre-spiked line PrL, and the word line corresponding to each line of the synapse circuit 11.
  • Each WL is extended.
  • the power supply line PL, the source line SL, and the pre-spike line PrL are connected to each load storage unit 14 in the corresponding line. Further, the pre-spike line PrL and the word line WL are connected to each selection unit 15 in the corresponding line.
  • the front stage portion 20 is provided with an input circuit 20a for each row.
  • the pre-spike line PrL of each line is connected to the input circuit 20a via the inverter 20b, and the word line WL is directly connected to the input
  • the neural network circuit device 10 refers to a synaptic model having spike timing-dependent synaptic plasticity (Spike Timing Dependent Synaptic Plasticity (hereinafter referred to as STDP)).
  • STDP spike Timing Dependent Synaptic Plasticity
  • the input circuit 20a in the neural network circuit device 10 is provided as a preneuron circuit and corresponds to a preneuron.
  • the neuron circuit 17 is provided as a post-neuron circuit and corresponds to a post-neuron.
  • the input circuit 20a outputs a first pre-spike pulse as a pre-spike pulse
  • the neuron circuit 17 outputs a first post-spike pulse as a post-spike pulse.
  • the first pre-spike pulse is output at a timing corresponding to the firing timing of the pre-neuron
  • the first post-spike pulse is output at a timing corresponding to the firing timing of the post-neuron.
  • the synaptic circuit 11 corresponds to a synapse that synapse-connects a pre-neuron and a post-neuron, and stores a synaptic connection load (hereinafter, simply referred to as a connection load).
  • the STDP When focusing on one synapse, the STDP is between the preneuron and the postneuron depending on the timing at which the preneurons and postneurons connected before and after that synapse fire and output spike pulses. It is a property that the binding load with the located synapse changes.
  • the pulse time difference ⁇ T between the first post-spike pulse and the first pre-spike pulse is preset in each of the cases where the first pre-spike pulse precedes and follows the first post-spike pulse.
  • the coupling load of the synaptic circuit 11 is updated when it is within the specified time Tw.
  • the synapse circuit 11 has the first coupling load as the coupling load when the former of the first pre-spike pulse and the first post-spike pulse precedes, and the second coupling load as the coupling load when the latter precedes. Memorize the coupling load.
  • the pulse time difference ⁇ T is defined as the magnitude of the time difference between the first post-spike pulse and the first pre-spike pulse, but when distinguishing between positive and negative, the first pre-spike pulse is compared with the first post-spike pulse. Is positive, and the case where the first post-spike pulse precedes the first pre-spike pulse is negative.
  • the weight of the first coupling load is relatively large and the weight of the second coupling load is small. That is, as shown in FIG. 2, the coupling load of the synapse circuit 11 is based on the timing at which the first post spike pulse is output from the neuron circuit 17 to which the synapse circuit 11 is connected, and the first post spike pulse is output. If the first pre-spike pulse is input to the synapse circuit 11 within a period of time Tw retroactively from the time point, a large first coupling load is obtained, and within time Tw of the time when the first post-spike pulse is output. When the first pre-spike pulse is input to the synaptic circuit 11 during the period, it becomes a small second coupling load. Therefore, this example is different from the general symmetric STDP and asymmetric STDP in which the coupling load is gradually increased or decreased by increasing the pulse time difference ⁇ T when updating the coupling load.
  • the neural network circuit device 10 has a cognitive mode and a learning mode.
  • the cognitive mode for example, by inputting a signal corresponding to the image to be processed such as image recognition from the front stage portion 20 to the neural network circuit device 10, the output from each neuron circuit 17 is processed according to the result of image recognition.
  • the learning mode the coupling load stored in each synaptic circuit 11 is used.
  • the learning mode is an operation mode in which a signal based on a prepared image is input from the front stage portion 20 to the neural network circuit device 10 to update the coupling load stored in each synapse circuit 11.
  • the input circuit 20a of the front stage portion 20 has a first pre-spike pulse and a pulse generator that generates a second pre-spike pulse synchronized with the first pre-spike pulse, and pre-spikes the first pre-spike pulse.
  • the second pre-spike pulse is output to the line PrL and the second pre-spike pulse is output to the word line WL, respectively.
  • the first pre-spike pulse in the synapse circuit 11 is low-active, and the first pre-spike pulse from the input circuit 20a is output to the pre-spike line PrL via the inverter 20b.
  • the first pre-spike pulse is output in both the cognitive mode and the learning mode, while the second pre-spike pulse is output only in the learning mode.
  • the first pre-spike pulse also functions as a second write pulse used for controlling the write timing of the coupling load when the first post-spike pulse precedes the first pre-spike pulse. ..
  • the pulse width of the first pre-spike pulse is shorter than that of the second pre-spike pulse.
  • the pulse width of the first pre-spike pulse can be set to 10 nsec or less.
  • the second pre-spike pulse is a time window that allows the coupling load to be written to the synaptic circuit 11 in the case where the first pre-spike pulse precedes the first post-spike pulse in the learning mode. It is the first time window pulse in this example. Writing is allowed while the second pre-spike pulse is being input to the synaptic circuit 11.
  • This second pre-spike pulse has the same pulse width as the specified time Tw. In this example, the output of the second pre-spike pulse is started at the same time as the first pre-spike pulse, but it can be delayed from the first pre-spike pulse.
  • the generation timing of the second post-spike pulse and the timing of changing the potential of the bit line BL / BLB, which will be described later, are also delayed in the same manner.
  • the first post-spike pulse output from the neuron circuit 17 is used in the learning mode to control the writing timing of the coupling load when the first pre-spike pulse precedes the first post-spike pulse. It also functions as one write pulse.
  • the pulse width of the first post-spike pulse is shorter than that of the second pre-spike pulse. Similar to the first pre-spike pulse, in the configuration in which the load is stored in the load storage unit 14 using the MTJ element, the pulse width of the first post-spike pulse can be set to 10 nsec or less.
  • the second post-spike pulse is output from the neuron circuit 17 in synchronization with the first post-spike pulse.
  • the output of the second post-spike pulse is started at the same time as the first post-spike pulse.
  • This second post-spike pulse is a time window (time window) that allows writing of a coupling load to the synaptic circuit 11 when the first post-spike pulse precedes the first pre-spike pulse in the learning mode. ), which is the second time window pulse in this example.
  • writing is allowed while the second post-spike pulse is being input to the synaptic circuit 11.
  • This second pre-spike pulse has the same pulse width as the specified time Tw.
  • the synapse circuit 11 is used when the second post-spike pulse and the first pre-spike pulse are simultaneously input and when the first post-spike pulse and the second pre-spike pulse are simultaneously input. , Performs the writing operation of the coupling load.
  • the load storage unit 14 of the synapse circuit 11 transmits a voltage signal Vpre as a weighted pre-spike pulse weighted by the stored coupling load via the output line OL. Is output to the main body 18 of the neuron circuit 17.
  • the main body 18 of the neuron circuit 17 responds to the sum of the voltage levels of the voltage signals Vpre from each load storage 14 in the row 16 in which it is arranged being equal to or greater than a predetermined threshold value. Occurs.
  • the main body 18 outputs the first post spike pulse to the first post spike line POLa, and in the learning mode, outputs the first post spike pulse and the second post synchronized with the first post spike pulse.
  • the spike pulse is output to the second post spike line POLb.
  • the first post-spike pulse is sent to, for example, a synapse circuit provided between the neuron circuit 17 and the next-stage neuron circuit.
  • the potential of the line BL is set higher than the potential VB1 (the bit line potential difference ⁇ VB is negative) so that a current flows from the bit line BLB toward the bit line BL via the load storage unit 14.
  • the bit line potential difference ⁇ VB is set to 0V when the specified time Tw has elapsed from the time when the first post-spike pulse is generated.
  • the potentials of the bit lines BL and BLB when the bit line potential difference ⁇ VB is positive are the first potentials
  • the potentials of the bit lines BL and BLB when the bit line potential difference ⁇ VB is negative are the second potentials.
  • the selection unit 15 of the synapse circuit 11 sets the first post-spike pulse and the first post-spike pulse based on the first pre-spike pulse, the second pre-spike pulse, the first post-spike pulse, and the second post-spike pulse in the learning mode.
  • a selection signal is generated when the pulse time difference ⁇ T from the pre-spike pulse is within the specified time Tw.
  • the load storage unit 14 stores the coupling load based on the potential difference between the bit lines BL and BLB at the timing when the selection signal is input.
  • the load storage unit 14 of the synapse circuit 11 includes inverters 21 and 22, a pair of MOS transistors 23 and 24 as transfer gates, and a MOS transistor 25.
  • the inverter 21 is composed of an MTJ element (magnetic tunnel junction element) 31 connected in series and a MOS transistor 32
  • the inverter 22 is composed of an MTJ element 33 and a MOS transistor 34 connected in series.
  • the MOS transistors 23, 24, 32, and 34 are N-type MOSFETs
  • the MOS transistor 25 is a P-type MOSFET.
  • the MOS transistors 32 and 34 are inverter MOS transistors.
  • the MTJ element 31 has a structure in which a magnetization fixed layer 31a and a magnetization free layer 31b are laminated with an insulating film 31c interposed therebetween.
  • the magnetization direction of the magnetization fixing layer 31a is fixed.
  • the magnetization direction of the magnetization free layer 31b can be changed by passing a write current of a predetermined threshold value or more through the MTJ element 31, and the magnetization direction is determined by the direction of the write current.
  • the MTJ element 31 has a low resistance with a small resistance value when the magnetization fixed layer 31a and the magnetization free layer 31b are in a parallel state in which the magnetization directions match, and the magnetization free layer 31b is relative to the magnetization fixed layer 31a.
  • the MTJ element 31 In the antiparallel state where the magnetization directions of are opposite to each other, the resistance value becomes large and the resistance becomes high.
  • the MTJ element 31 is in a parallel state by passing a write current in the direction from the magnetization fixed layer 31a to the magnetization free layer 31b, and is in an antiparallel state by passing a write current in the opposite direction.
  • the MTJ element 33 also has a structure in which a magnetization fixed layer 33a, a magnetization free layer 33b, and an insulating film 33c are laminated, and like the MTJ element 31, the magnetization direction of the magnetization free layer 33b can be changed by a write current.
  • the resistance value changes in the parallel state and the antiparallel state.
  • the load storage unit 14 non-volatilely stores the coupling load by the MTJ elements 31 and 33.
  • one of the MTJ elements 31 and 33 is in a parallel state, the other is in an antiparallel state.
  • the MTJ element 31 is in an antiparallel state
  • the MTJ element 33 is in a parallel state
  • the second coupling load is stored
  • the MTJ element 31 is stored. Is in a parallel state
  • the MTJ element 33 is in an antiparallel state.
  • the MTJ elements 31 and 33 are advantageous elements from the viewpoint that they can be rewritten at high speed as compared with other ReRAMs, phase change memories, etc., the maximum number of rewrites is considerably large, and the number of learnings can be increased. ..
  • the inverter 21 is connected to the magnetization free layer 31b of the MTJ element 31 and the drain of the MOS transistor 32, and the inverter 22 is connected to the magnetization free layer 33b of the MTJ element 33 and the drain of the MOS transistor 34.
  • the magnetization fixing layers 31a and 33a of the MTJ elements 31 and 33 are connected to the power supply line PL via the MOS transistor 25.
  • Each source of the MOS transistors 32 and 34 is grounded via the source line SL.
  • connection node SN between the MTJ element 31 and the MOS transistor 32, which is the output end of the inverter 21, is connected to the gate of the MOS transistor 34, which is the input end of the inverter 22, and the MTJ element 33 and the MOS transistor, which are the output ends of the inverter 22.
  • the connection node SNB with 34 is connected to the gate of the MOS transistor 32 which is the input end of the inverter 21.
  • connection node SN is connected to the bit line BL via the MOS transistor 23, and the connection node SNB is connected to the bit line BLB via the MOS transistor 24.
  • Each gate of the MOS transistors 23 and 24 is connected to the selection unit 15, and is turned on and off by a selection signal from the selection unit 15.
  • a writing unit is composed of the selection unit 15 and the MOS transistors 23 and 24.
  • the bit line BL reaches the bit line BLB via the connection node SN, the MTJ element 31, the MTJ element 33, and the connection node SNB.
  • a write current flows in the path, the MTJ element 31 is in an antiparallel state, and the MTJ element 33 is in a parallel state.
  • the MOS transistors 23 and 24 are turned on when the bit line potential difference ⁇ VB is negative, the bit line passes from the bit line BLB through the connection node SNB, MTJ element 33, MTJ element 31, and connection node SN.
  • a write current flows along the path leading to the BL, and the MTJ element 31 is in a parallel state and the MTJ element 33 is in an antiparallel state.
  • connection node SNB The potential (voltage) of the connection node SNB is output to the output line OL as a voltage signal Vpre via the capacitor 36 as the output circuit unit. That is, one electrode of the capacitor 36 is connected to the connection node SNB, and the other electrode is connected to the main body 18 of the neuron circuit 17 via the output line OL. As will be described later, the capacitor 36 is connected to the control gate CG (see FIG. 4) in the main body 18. The capacitor 36 is used to prevent the generation of conduction current between the load storage units 14 of the synaptic circuits 11 that are capacitively coupled to the same floating gate FG (see FIG. 4) via the control gate CG. It is provided. As the capacitor 36, for example, a MOS capacitor utilizing the gate capacitance of the transistor can also be used.
  • the actual coupling capacitance between the load storage unit 14 and the floating gate FG is determined by the capacitance of the capacitor 36 and the coupling capacitance of the control gate CG with respect to the floating gate FG. Further, the substantial coupling capacitance between the load storage unit 14 and the floating gate FG can be made different, and by doing so, for example, the voltage signal Vpre can be weighted. Further, the output circuit unit may be connected to the connection node SN instead of the connection node SNB.
  • the MOS transistor 25 is a switching element for power gating in the cognitive mode, and at the same time, is a switching element for driving a signal, that is, as a reading unit for outputting a voltage signal Vpre.
  • the MOS transistor 25 is turned on when its gate is connected to the pre-spike line PrL and the first pre-spike pulse as an input signal is output.
  • the inverters 21 and 22, that is, the MOS transistors 32 and 34 forming the differential pair are operated by receiving the power supply from the power supply line PL.
  • the voltage of the connection node SNB which is the output end of the inverter 22, is output to the output line OL as a voltage signal Vpre.
  • the voltage signal Vpre is relatively high in the case of the first coupling load, that is, when the MTJ element 31 is in the antiparallel state and the MTJ element 33 is in the parallel state, and in the case of the second coupling load, that is, when the MTJ element 31 is in the parallel state, MTJ.
  • the case where the element 33 is in an antiparallel state is relatively low.
  • the selection unit 15 uses the combination of the logic circuits 15a to 15c when the first pre-spike pulse is output while the second post-spike pulse is being output, or while the first post-spike pulse is being output.
  • the selection signal is activated (H level) when the second pre-spike pulse is output.
  • the selection signal is activated and the MOS transistors 23 and 24 are turned on only when the pulse time difference ⁇ T between the first post-spike pulse and the first pre-spike pulse is within the specified time Tw.
  • the main body 18 includes a MOS transistor 41 which is a P-type MOSFET, a MOS transistor 42 which is an N-type MOSFET, an inverter 43, and a pulse generator 44.
  • the pulse generator 44 generates a first post-spike pulse and a second post-spike pulse.
  • a first post-spike pulse and a second post-spike pulse can be generated by using a pulse generator whose pulse waveform, output timing, delay time, and the like can be controlled.
  • MOS transistors 41 and 42 as MOS transistors for neurons are connected in series to form an inverter. That is, the drains of the MOS transistors 41 and 42 are connected to each other, the source of the MOS transistor 41 is connected to the power supply (voltage VDD), and the source of the MOS transistor 42 is grounded.
  • the input end of the inverter 43 is connected to the connection node of the MOS transistor 41 and the MOS transistor 42, and when the connection node reaches the ground potential (0V), the output logic of the inverter 43 is inverted from the L level to the H level. To do.
  • the pulse generator 44 generates a first post-spike pulse and a second post-spike pulse in response to the output of the inverter 43 changing from the L level to the H level.
  • the MOS transistors 41 and 42 share a common floating gate FG. Further, the MOS transistors 41 and 42 are provided with a plurality of control gate CGs capacitively coupled to the floating gate FG.
  • the control gate CG of the main body 18 is provided corresponding to each load storage unit 14 in the row 16 in which the main body 18 is arranged, and each control gate CG has an output line from the corresponding load storage unit 14. The OL is connected.
  • On / off of the MOS transistors 41 and 42 is controlled by the potential of the floating gate FG, and when one is on, the other is off.
  • the potential of the floating gate FG is determined by the voltage of the voltage signal Vpre applied to each control gate CG and the coupling capacitance between each control gate CG and the floating gate FG.
  • the coupling capacitance of each control gate CG with respect to the floating gate FG is the same. Therefore, the total voltage applied to each control gate CG can be controlled so that one of the MOS transistors 41 and 42 is turned on and the other is turned off.
  • the main body 18 may be configured to generate a first post-spike pulse and a second post-spike pulse based on the sum of the voltages of the voltage signals Vpre from each synapse circuit 11 to which the main body 18 is connected.
  • the cognitive mode as shown in FIG. 5, the first pre-spike pulse is output from each input circuit 20a to the pre-spike line PrL via the inverter 20b at a timing corresponding to the processing content of the front stage portion 20. ..
  • the second pre-spike pulse is not output, so the selection unit 15 does not output the selection signal.
  • the MOS transistor 25 in the load storage unit 14 Focusing on one synaptic circuit 11, when the first pre-spike pulse is input to the synaptic circuit 11 via the pre-spike line PrL to which it is connected, the MOS transistor 25 in the load storage unit 14 is turned on. .. When the MOS transistor 25 is turned on, a current from the power supply line PL flows through the MTJ element 31 and the MTJ element 33, and the inverters 21 and 22 operate. As described above, in the cognitive mode, the load storage unit 14 is effective in suppressing power consumption because the current flows only while the MOS transistor 25 is on.
  • the coupling load stored in the synapse circuit 11 is the first coupling load, that is, when the MTJ element 31 has a high resistance and the MTJ element 33 has a low resistance, the potential of the connection node SNB is connected. A potential difference is generated that is higher than the potential of the node SN. This potential difference is amplified by the action of the cross-coupled inverters 21 and 22, and stabilizes in a state where the potential difference becomes large.
  • the coupling load stored in the synapse circuit 11 is the second coupling load, that is, when the MTJ element 31 has a low resistance and the MTJ element 33 has a high resistance, the potential of the connection node SNB. A potential difference is generated that is lower than the potential of the connection node SN, and the potential difference is amplified by the action of the cross-coupled inverters 21 and 22, and is stabilized in a state where the potential difference is large.
  • connection node SN Since the potential difference between the connection node SN and the connection node SNB is amplified and stabilized by the differential pair of the MOS transistors 32 and 34, the time required for stabilization is very short. Therefore, high-speed operation is possible.
  • the current flowing through the MTJ elements 31 and 33 when the MOS transistor 25 is turned on is adjusted to a magnitude that does not change their magnetization state.
  • the change has no effect on generating the desired potential difference in the connection nodes SN and SNB.
  • the degree is very small.
  • the slight magnetization direction of the magnetization free layers 31b and 33b returns to the original magnetization direction by stopping the current.
  • the potentials of the connection nodes SN and SNB change according to the coupling load stored in the synapse circuit 11.
  • a high voltage voltage signal Vpre is output to the output line OL connected to the connection node SNB via the capacitor 36
  • a low voltage voltage signal Vpre is output.
  • the voltage signal Vpre from the synapse circuit 11 is applied to the control gate CG of the main body 18 via the output line OL.
  • the MOS transistor 25 is turned off, the capacitor 36 is discharged and the voltage of the voltage signal Vpre is lowered.
  • the voltage of the voltage signal Vpre is increased. It gradually decreases and does not immediately reach 0V.
  • the voltage of the voltage signal Vpre output from each synaptic circuit 11 in the column 16 in which it is arranged is applied to the corresponding control gate CG.
  • no voltage is applied to the control gate CG from the synapse circuit 11 to which the first pre-spike pulse is not input.
  • the MOS transistor 41 is turned off and the MOS transistor 42 is turned on.
  • the output of the inverter 43 is inverted from the L level to the H level, and the first post spike pulse is output from the pulse generator 44. If the potential of the floating gate FG does not reach the threshold value, the MOS transistor 41 is not turned off and the MOS transistor 42 is not turned on, so that the first post spike pulse is not output.
  • each column 16 is provided according to the timing of the first pre-spike pulse output from the front stage portion 20 to the pre-spike line PrL of each row and the coupling load stored in each synaptic circuit 11.
  • the first post-spike pulse is output from the neuron circuit 17.
  • the first post-spike pulse is sent to, for example, a synaptic circuit provided between the neuron circuit 17 and the next-stage neuron circuit.
  • the weight applied to the pre-spike is transmitted from the load storage unit 14 to the main body unit 18 as the magnitude of the voltage of the voltage signal Vpre, and the sum of the voltages is capacitively coupled to the control gate CG. Obtained by floating gate FG. Therefore, the first post-spike pulse corresponding to the post-spike pulse based on the result of the product-sum calculation can be obtained without providing the calculation circuit for calculating the sum of products of the coupling load and the pre-spike pulse.
  • the two MTJ elements 31 and 33 are always written with opposite resistance states. Therefore, when the voltage signal Vpre is output, a current flows through one (low resistance) MTJ element, and almost no current flows through the other (high resistance) MTJ element.
  • the direction of the current flowing through one (low resistance) MTJ element is the direction of the write current that makes the MTJ element low resistance. Therefore, neither the high-resistance MTJ element nor the low-resistance MTJ element causes a read disturb in which the direction of magnetization is reversed by the current flowing when the voltage signal Vpre is output.
  • the learning mode As in the cognitive mode, the first pre-spike pulse is output from each input circuit 20a to the pre-spike line PrL at a timing corresponding to the processing content of the front stage portion 20. Also in this learning mode, when the first pre-spike pulse is output, the load storage unit 14 operates and the voltage signal Vpre is output as in the case of the cognitive mode.
  • a second pre-spike pulse having a pulse width Tw is output from the input circuit 20a to the word line WL in synchronization with the first pre-spike pulse.
  • FIG. 6 shows a case where the first pre-spike pulse precedes the first post-spike pulse
  • FIG. 7 shows a case where the first post-spike pulse precedes the first pre-spike pulse.
  • the pulse time difference ⁇ T between the first pre-spike pulse and the first post-spike pulse is within the specified time Tw.
  • the synaptic circuit 11 to which the first pre-spike pulse is input via the pre-spike line PrL displays a voltage signal Vpre corresponding to the coupling load stored in the load storage unit 14 of the synapse circuit 11 as in the case of the cognitive mode.
  • the output is output to the main body 18 arranged in the same row 16.
  • the main body 18 when the voltage of the voltage signal Vpre is applied to the control gate CG and the potential of the floating gate FG reaches the threshold value, the MOS transistor 41 is turned off and the MOS transistor 42 is turned on.
  • the first post-spike pulse is output from the pulse generator 44 to the first post-spike line POLA.
  • a second post-spike pulse having a pulse width Tw is output from the main body 18 to the second post-spike line POLb.
  • bit line driver 19 sets the bit line potential difference ⁇ VB to be positive and then the bit line potential difference ⁇ VB to be negative for a period substantially the same as the pulse width of the first post spike pulse at the same time as the output of the first post spike pulse. To. After that, the bit linear potential difference ⁇ VB is set to 0 V when the specified time Tw elapses from the time when the first post spike pulse is generated.
  • the output of the second pre-spike pulse is started at the same time as the first pre-spike pulse as described above, and has the same pulse width as the specified time Tw. Therefore, for example, as shown in FIG. 6, when the first pre-spike pulse is input to the synapse circuit 11 within a period of time Tw back from the timing at which the first post-spike pulse is output, The first post-spike pulse is input to the selection unit 15 of the synapse circuit 11 during the input of the second pre-spike pulse. As a result, the selection signal is output from the selection unit 15 to the load storage unit 14 almost at the same time as the first post spike pulse, and the MOS transistor 23 in the load storage unit 14 is in the period when the bit line potential difference ⁇ VB is positive. , 24 are turned on respectively.
  • the potential of the bit line BL is higher than that of the bit line BLB, so that the write current is changed from the bit line BL to the MOS transistor 23, MTJ element 31, MTJ element 33, and MOS. It flows through the transistor 24 and reaches the bit line BLB.
  • the MTJ element 31 has a high resistance
  • the MTJ element 33 has a low resistance.
  • the synapse circuit 11 is in a state of storing the first coupling load.
  • the MOS transistor 25 When the pulse time difference ⁇ T is equal to or less than the specified time Tw and the first pre-spike pulse precedes the first post-spike pulse, the MOS transistor 25 is turned on at the same time as the MOS transistors 23 and 24.
  • the voltage of the power supply line PL is set to about
  • the write current flows, and the first coupling load is stored by the MTJ elements 31 and 33.
  • the output of the second post-spike pulse is started at the same time as the first post-spike pulse, and has the same pulse width as the specified time Tw. Therefore, as shown in FIG. 7, when the first pre-spike pulse is input to the synapse circuit 11 within the period from the output of the first post-spike pulse to the elapse of the specified time Tw, The first pre-spike pulse is input to the selection unit 15 of the synapse circuit 11 during the input of the second post-spike pulse. As a result, since the selection signal is output from the selection unit 15 to the load storage unit 14 almost at the same time as the first pre-spike pulse, the MOS in the load storage unit 14 is in the period when the bit line potential difference ⁇ VB is negative. Transistors 23 and 24 are turned on, respectively.
  • the potential of the bit line BLB is higher than that of the bit line BL, so that the write current is changed from the bit line BLB to the MOS transistor 24, MTJ element 33, MTJ element 31, and MOS. It flows through the transistor 23 and reaches the bit line BL.
  • the MTJ element 31 has a low resistance
  • the MTJ element 33 has a high resistance.
  • the synapse circuit 11 is in a state of storing the second coupling load.
  • the first post-spike pulse When the first pre-spike pulse exceeds the time Tw with respect to the first post-spike pulse, the first post-spike pulse is input to the selection unit 15 in which the second pre-spike pulse is not input. Will be done. Further, when the first post-spike pulse is preceded by the first pre-spike pulse beyond the time Tw, the first pre-spike pulse is input to the selection unit 15 in which the second post-spike pulse is not input. Will be done. In these cases, since the selection signal is not generated, the load storage unit 14 does not write the combined load.
  • each synapse circuit 11 When the coupling load of each synapse circuit 11 is rewritten as described above and the first pre-spike pulse is input after the rewriting, the voltage signal Vpre corresponding to the new coupling load is transmitted to the neuron circuit 17 in the same manner as described above. Output. Further, when the potential of the floating gate FG reaches the threshold value, the neuron circuit 17 outputs the first post-spike pulse and the second post-spike pulse in the same manner as described above. Then, in each synapse circuit 11, when the first pre-spike pulse is input within each period of the time Tw before and after the timing at which the first post-spike pulse is input, the coupling load is rewritten again. As described above, the coupling load of each synapse circuit 11 is updated, and the final one is held in each synapse circuit 11.
  • the magnetization state of the MTJ elements 31 and 33 is changed by passing a write current, but the time required for the MTJ elements 31 and 33 to change between the parallel state and the antiparallel state. Since the rewriting time (hereinafter referred to as rewriting time) is very short, high-speed operation is possible. For example, the rewriting time of the MTJ elements 31 and 33 is about 1/10 of that of the ReRAM.
  • the neural network circuit device 10 can operate at high speed and with low power in both the cognitive mode and the learning mode, and has a more optimal configuration. Further, when the first pre-spike pulse precedes the first post-spike pulse in the time window that allows the writing of the coupling load, the second pre-spike pulse from the input circuit 20a as the first time window pulse When the first post-spike pulse precedes the first pre-spike pulse, the second post-spike pulse from the neuron circuit 17 as the second time window pulse is used to define each of them, and the coupling load is specified. When the first pre-spike pulse precedes the first post-spike pulse, the write timing is controlled by using the first post-spike pulse from the neuron circuit 17 as the first write control pulse.
  • the first post-spike pulse precedes the pre-spike pulse it is specified by using the first pre-spike pulse from the input circuit 20a as the second write control pulse, so that the synapse circuit based on STDP is used. Can be easily driven. As a result, driving based on STDP can be realized with a simple circuit configuration.
  • the coupling load stored in the synaptic circuit is a binary one that is either a first coupling load having a relatively large weight and a second coupling load having a small weight, or any of three or more coupling loads having different weights. It may be a multi-valued one.
  • each synapse circuit is provided with a plurality of storage units (for example, M) including a load storage unit and a selection unit, and each load storage unit is described above. Similarly, it is configured to store either the first coupling load or the second coupling load, respectively.
  • the pulse widths of the second post-spike pulses input to each selection unit in one synaptic circuit are set to be different from each other within the time Tw (Tw is the specified time), and similarly, the pulse width of the second pre-spike pulse is set to the time. It shall be different from each other within Tw (Tw is a specified time).
  • Tw is the specified time
  • one synapse circuit stores the first coupling load in 0 to M load storage units (the second coupling load is stored in the load storage unit that does not store the first coupling load). It is possible to store M + 1 type of coupling load corresponding to the above.
  • each load storage unit outputs a voltage or current corresponding to the stored coupling load to the main body unit when the first pre-spike pulse as an input signal is output.
  • each voltage or each current corresponding to the coupling load stored in each load storage unit is output to the main body unit. Since the main body operates based on the sum of each input voltage or each current, each voltage or each current from one synapse circuit also operates based on the sum of them, and as a result, the synapse
  • the coupling load of any of the M + 1 types of coupling loads stored in the circuit is output to the main body.
  • the time window is controlled only by the signal from the pre-neuron circuit side, and the connection load writing timing is controlled only by the signal from the post-neuron circuit side.
  • substantially the same constituent members are designated by the same reference numerals, and the detailed description thereof will be omitted.
  • the neural network circuit device 60 according to the second embodiment has the same configuration as the neural network circuit device according to the first embodiment, but is not provided with the first and second post-spike lines.
  • the main body 18 of the neuron circuit 17 sends the first post spike only to the synaptic circuit provided between the first post spike and the neuron circuit of the next stage.
  • the main body 18 does not output the second post spike.
  • the bit line driver 19 controls the potentials of the bit lines BL and BLB in the learning mode, and at the same time as the first post spike pulse, the bit line potential difference ⁇ VB takes about the same time as the pulse width of the first post spike pulse. Is positive in a pulse shape, and the bit linear potential difference ⁇ VB is made negative in a pulse shape at approximately the same time as the pulse width of the first post spike pulse after a lapse of time Tw from the generation of the first post spike pulse.
  • the positive change in the pulsed bit line potential difference ⁇ VB is the first write pulse
  • the negative change in the pulsed bit line potential difference ⁇ VB functions as the second write pulse.
  • the synapse circuit 11 is composed of only the load storage unit 64, and the load storage unit 64 includes a power supply line PL, a source line SL, a bit line BL, BLB, a pre-spiked line PrL, and a word line WL. It is connected.
  • the gates of the MOS transistors 23 and 24 constituting the load storage unit 64 are connected to the word line WL. Therefore, the MOS transistors 23 and 24 are turned on while the second pre-spike pulse is being output.
  • the configuration of the load storage unit 64 is the same as that of the load storage unit of the first embodiment except for the connection of these MOS transistors 23 and 24.
  • the operation of the load storage unit 64 and the operation of the neural network circuit device 60 in the cognitive mode are the same as those in the first embodiment.
  • the second pre-spike pulse from the input circuit as the pre-neuron circuit precedes the first post-spike pulse and the first pre-spike pulse is preceded by the first pre-spike pulse.
  • a time window is specified when the first post-spike pulse precedes the pre-spike pulse. Therefore, in this example, the second pre-spike pulse is the common time window pulse.
  • the bit line potential difference ⁇ VB is substantially equal to the pulse width of the first post-spike pulse by the bit line driver 19. It is positive for the same amount of time, and then "0V".
  • the bit line potential difference ⁇ VB is negative for approximately the same time as the pulse width of the first post-spike pulse, and then is set to “0V”.
  • the pulse width of the second pre-spike pulse output at the same time as the first pre-spike pulse is the time Tw. Therefore, for example, as shown in FIG. 10, when the first pre-spike pulse precedes the first post-spike pulse and their pulse time difference ⁇ T is within the specified time Tw, the second pre-spike While the MOS transistors 23 and 24 are turned on by the pulse, the bit line potential difference ⁇ VB becomes positive. As a result, the write current flows from the bit line BL through the MOS transistor 23, the MTJ element 31, the MTJ element 33, and the MOS transistor 24 to the bit line BLB. As a result, the MTJ element 31 has a high resistance, the MTJ element 33 has a low resistance, and the load storage unit 64 is in a state of storing the first coupling load.
  • the pulse width of the second pre-spike pulse output at the same time as the first pre-spike pulse is the time Tw
  • the bit line potential difference ⁇ VB becomes negative with a delay of the time Tw from the first post-spike pulse. Therefore, for example, as shown in FIG. 11, when the first post-spike pulse precedes the first pre-spike pulse and their pulse time difference ⁇ T is within the specified time Tw, the second pre-spike While the MOS transistors 23 and 24 are turned on by the pulse, the bit line potential difference ⁇ VB becomes negative.
  • the write current flows from the bit line BLB through the MOS transistor 24, the MTJ element 33, the MTJ element 31, and the MOS transistor 23 to the bit line BL.
  • the MTJ element 31 has a low resistance
  • the MTJ element 33 has a high resistance
  • the synaptic circuit 11 stores the second coupling load.
  • the bit line potential difference ⁇ VB becomes positive or negative outside the period during which the second pre-spike pulse is input to the load storage unit 64. Therefore, in this case, the load storage unit 64 does not perform the writing operation of the combined load.
  • the time window that allows the writing of the coupling load is defined by using the second pre-spike pulse from the input circuit 20a as the common time window pulse, and the control of the writing timing of the coupling load is controlled. Since it is specified by using a positive change of the pulse-shaped bit line potential difference ⁇ VB as one write pulse and a negative change of the pulse-like bit line potential difference ⁇ VB as the second write pulse, it is a synapse circuit based on STDP. Can be easily driven. In addition, driving based on STDP can be realized with a simple circuit configuration.
  • the time window is controlled only by the signal from the post-neuron circuit side, and the connection load writing timing is controlled only by the signal from the pre-neuron circuit side. is there.
  • the changes in the bit line potential difference ⁇ VB by the bit line driver and the pulse width of the second pre-spiked pulse are different from each other, as in the second embodiment. 8 and 9 are referred to as synaptic circuits, substantially the same constituent members are designated by the same reference numerals, and detailed description thereof will be omitted.
  • the input circuit 20a of the neural network circuit device 60 outputs the second pre-spike pulse with a delay of time Tw from the first pre-spike pulse, as shown in FIGS. 12 and 13.
  • the second pre-spike pulse has the same pulse width as the first pre-spike pulse.
  • the second pre-spike pulse is a common write pulse when the first pre-spike pulse precedes the first post-spike pulse and when the first post-spike pulse precedes the first pre-spike pulse.
  • the bit line driver 19 sets the bit line potential difference ⁇ VB to a positive pulse shape almost at the same time as the first post spike pulse, continues this bit line potential difference ⁇ VB for a period of time Tw, and then bits.
  • the linear potential difference ⁇ VB is continuously pulsed negative for a period of time Tw.
  • the pulse-like change of the positive bit line potential difference ⁇ VB is the first time window pulse
  • the pulse-like change of the negative bit line potential difference ⁇ VB is the second time window pulse.
  • the second pre-spike pulse is output with a delay of time Tw with respect to the first pre-spike pulse, and the bit line potential difference ⁇ VB becomes positive almost at the same time as the first post-spike pulse, and the positive bit thereof.
  • the linear potential difference ⁇ VB is continued for the time Tw. Therefore, for example, as shown in FIG. 12, when the first pre-spike pulse precedes the first post-spike pulse and their pulse time difference ⁇ T is within the specified time Tw, the bit line potential difference ⁇ VB.
  • the MOS transistors 23 and 24 are turned on by the second pre-spike pulse.
  • the MTJ element 31 has a high resistance
  • the MTJ element 33 has a low resistance
  • the load storage unit 64 is in a state of storing the first coupling load.
  • the second pre-spike pulse is output with a delay of time Tw with respect to the first pre-spike pulse, and the bit linear potential difference ⁇ VB becomes negative with a delay of time Tw from the first post-spike pulse.
  • the bit line potential difference ⁇ VB of is continued for the time Tw. Therefore, for example, as shown in FIG. 13, when the first post-spike pulse precedes the first pre-spike pulse and their pulse time difference ⁇ T is within the specified time Tw, the bit line potential difference ⁇ VB.
  • the MOS transistors 23 and 24 are turned on by the second pre-spike pulse.
  • the MTJ element 31 has a low resistance
  • the MTJ element 33 has a high resistance.
  • the synapse circuit 11 is in a state of storing the second coupling load.
  • the third embodiment also makes it possible to simplify the driving of the synaptic circuit based on the STDP as in the second embodiment.
  • driving based on STDP can be realized with a simple circuit configuration.
  • the synaptic circuit is composed of a plurality of load storage units, and the coupling load stored in the synaptic circuit is stepwise according to the pulse time difference between the first post-spike pulse and the first pre-spike pulse. It is something to change.
  • the synaptic circuit 11 has a plurality of load storage units 64A to 64D arranged in the column direction, and in this example, four load storage units 64A to 64D.
  • the load storage units 64A to 64D have the same configuration as the load storage units 64 (see FIG. 9) of the third embodiment, and are similarly connected to the bit line BL, BLB, the pre-spike line PrL, the word line WL, and the output line OL. Has been done. Further, the power line and the source line are also connected in the same manner, but they are omitted in FIG.
  • the load storage units 64A to 64D are connected to the common bit lines BL and BLB, but the pre-spike line PrL and the word line WL are connected to lines different from each other. Further, the output lines OL from the load storage units 64A to 64D are each connected to the neuron circuits 17 in the same row.
  • the input circuit 20a has delay circuits 66a to 66d corresponding to the load storage units 64A to 64D of the synapse circuit 11, and is connected to the corresponding load storage units 64A to 64D via the word line WL.
  • the first pre-spike pulse is input, and the input first pre-spike pulse is delayed by a preset delay time, and the second to fifth pre-spike pulses (hereinafter, these are distinguished). If not, it is called a delayed pre-spike pulse) is output to the corresponding word line WL.
  • each of the second to fifth pre-spike pulses is a common write pulse.
  • the delay circuits 66a to 66d are set with different delay times.
  • the delay time of the delay circuit 66a is 1 / 4Tw
  • the delay time of the delay circuit 66b is 1 / 2Tw
  • the delay time of the delay circuit 66c is 3/4Tw
  • the delay time of the delay circuit 66d is Tw. Is set in 1/4 Tw steps.
  • the delay time can be set as appropriate, and for example, the delay time may be set so as to increase non-linearly (unequal intervals).
  • the fourth pre-spike pulse delayed by 3/4 Tw and the fifth pre-spike pulse delayed by the delay time Tw are generated.
  • the above delay time is an example, and the delay time can be set as appropriate.
  • the delay time may be set to increase non-linearly (unequal intervals).
  • the value S is set as an integer of 2 or more, the delay time is 1 / S ⁇ Tw, 2 / S ⁇ Tw, ..., (S-1) / S ⁇ Tw, Tw, and the value S is arbitrarily set. May be good.
  • the second to fifth pre-spike pulses having different delay times that is, mutual time differences from the first pre-spike pulse are output from the input circuit 20a to the corresponding word line WL.
  • the load storage unit 64A has the second pre-spike pulse
  • the load storage unit 64B has the third pre-spike pulse
  • the load storage unit 64C has the fourth pre-spike pulse
  • the load storage unit 64D has the fourth pre-spike pulse. 5 Pre-spike pulses are input at different timings.
  • the number of load storage units in the synaptic circuit 11 to which the spike pulse is input increases stepwise. Therefore, in this case, as the pulse time difference ⁇ T becomes smaller, the number of load storage units in which the first coupling load is written in the synapse circuit 11 increases stepwise.
  • the bit linear potential difference ⁇ VB is positive in the range in which the first pre-spike pulse precedes the first post-spike pulse and the pulse time difference ⁇ T is less than or equal to the time Tw and larger than 3/4 Tw.
  • the fifth pre-spike pulse is input to the load storage unit 64D, and the first coupling load is written to the load storage unit 64D.
  • the second to fourth pre-spike pulses are input to the load storage units 64A to 64C before the bit line potential difference ⁇ VB becomes positive, the combined load of the load storage units 64A to 64C is not rewritten.
  • the bit line potential difference is in the range in which the first pre-spike pulse precedes the first post-spike pulse and the pulse time difference ⁇ T is larger than 1 / 2Tw and 3/4Tw or less.
  • the fourth and fifth pre-spike pulses are input to the load storage units 64C and 64D during the period when ⁇ VB is positive. Therefore, the first coupling load is written in the load storage units 64C and 64D, respectively.
  • the second and third pre-spike pulses are input to the load storage units 64A to 64B before the bit line potential difference ⁇ VB becomes positive, the combined load of the load storage units 64A and 64B cannot be rewritten. ..
  • the first coupling load is written in the load storage units 64B to 64D, respectively, and the coupling load of the load storage unit 64A is not rewritten. Further, in the range where the pulse time difference ⁇ T is 1/4 Tw or less, the first coupling load is written in each of the load storage units 64A to 64D.
  • the pulse time difference ⁇ T is less than or equal to the time Tw
  • the number of load storage units in the synaptic circuit 11 to which the second to fifth pre-spike pulses are input increases. Further, in this case, as the pulse time difference ⁇ T increases significantly, the load memory in the synapse circuit 11 to which the second to fifth pre-spiked pulses are input during the period when the bit line potential difference ⁇ VB is positive The number of parts decreases.
  • the second coupling load in the synapse circuit 11 is written in the range in which the first post-spike pulse precedes the first pre-spike pulse and the pulse time difference ⁇ T exceeds the specified time Tw and reaches the time 2Tw.
  • the number of load storage units decreases stepwise, and the number of load storage units whose combined load cannot be rewritten increases stepwise.
  • the combined load of the load storage units 64A to 64D is not rewritten in the range in which the first post-spike pulse precedes the first pre-spike pulse and the pulse time difference ⁇ T exceeds the time 2Tw.
  • the main body 18 of the neuron circuit 17 refers to the sum of the voltage levels of the voltage signals Vpre output from each load storage unit of each synaptic circuit 11. Therefore, paying attention to one synapse circuit 11, the main body 18 refers to the sum of the voltage levels of the voltage signals Vpre output from the load storage units 64A to 64D in the one synapse circuit 11. become. Therefore, substantially, the synapse circuit 11 produces a weighted pre-spike pulse determined by the number of load storage units that store the first coupling load and the number of load storage units that store the second coupling load. It will be output to the neuron circuit 17.
  • the weighted pre-spike pulse is weighted more as the number of load storage units that store the first coupling load increases, and as the number of load storage units that store the second coupling load increases, the weight is increased. Since a small weight is applied, a multi-valued coupling load can be stored in the synapse circuit 11.
  • the first coupling load and the second coupling load in the synaptic circuit 11 are written by the pre-post relationship of the first post-spike pulse and the first pre-spike pulse and the pulse time difference ⁇ T.
  • the number of load storage units can be changed step by step.
  • the change mode can be easily changed by adjusting the delay time of the second to fifth pre-spike pulses, which are the common write pulses.
  • first period the period in which the bit linear potential difference ⁇ VB is positive
  • second period the period in which the bit linear potential difference ⁇ VB is negative
  • first period the period in which the bit linear potential difference ⁇ VB is positive
  • second period the period in which the bit linear potential difference ⁇ VB is negative
  • first period the period in which the bit linear potential difference ⁇ VB is positive
  • second period the period in which the bit linear potential difference ⁇ VB is negative
  • Tw the specified time
  • the length of the first period and the specified time may be the same, and these may be different from the length of the second period
  • the length of the second period and the specified time may be the same
  • these and the length of the first period may be the same. May be different from.
  • the lengths of the first period and the second period may be the same, and these may be different from the specified time Tw, and the length of the first period, the length of the second period, and the specified time Tw may be different from each other. It may be a thing.
  • the number of load storage units in which delayed pre-spike pulses having different delay times are input is set to one in one synapse circuit, but a part or all of them may be a plurality. Further, the amount of change in the coupling load based on the pulse time difference ⁇ T is different by changing the number of load storage units to which the delayed pre-spike pulse is input and the delay time for each delay time of the delayed pre-spike pulse. You can also do it. In this case, for example, the number of load storage units in one synapse circuit is increased as the delay pre-spike pulse with a smaller delay time is input. It is also preferable that the number of load storage units to which the delay pre-spike pulse of each delay time is input and the delay time can be arbitrarily set (programmable), and these are appropriately set in advance to operate the neural network circuit device.
  • Each row of a plurality of synaptic circuits arranged in a matrix is provided with a delay circuit for generating a delayed pre-spiked pulse by delaying the first pre-spiked pulse with an arbitrarily set delay time as described above, and one. If the circuit configuration is such that the line (delay circuit) to be assigned to the input circuit can be set arbitrarily, the number of load storage units and the delay time of each synapse circuit can be adjusted arbitrarily, and various synapse circuits can be driven based on STDP. Can be realized.
  • a pulsed writing current is passed once to the load storage unit between the pair of bit lines, but in one coupling load writing operation.
  • the write current may be passed a plurality of times in a pulse shape.
  • writing may not be performed correctly even if a writing current is applied.
  • the writing current by applying the writing current a plurality of times in this way, the coupling load can be reliably written. ..
  • a plurality of pulses first pre-spiked pulse, first post-spiked pulse, pulse-like change in bit line potential
  • the configuration of the load storage unit in each of the above examples is an example, and is not particularly limited thereto.
  • the load storage unit of each of the above examples has a configuration in which a pair of inverters including an MTJ element are cross-coupled, but for example, a circuit configuration using only one MTJ element may be used.
  • the load storage unit is composed of a two-terminal MTJ element of the spin injection magnetization reversal (STT) method, but the method of magnetization reversal of the MTJ element, the number of terminals, etc. are limited to this. Not done.
  • STT spin injection magnetization reversal
  • SOT Spin Orbital Torque
  • the load storage unit 70 shown in FIG. 16 is a configuration example using one MTJ element 71.
  • the load storage unit 70 is provided with an MTJ element 71 and MOS transistors 72 and 73, which are N-type MOSFETs.
  • the MTJ element 71 has a structure in which the magnetization fixing layer 71a and the magnetization free layer 71b are laminated with the insulating film 71c interposed therebetween.
  • the load storage unit 70 stores the magnitude of the coupling load depending on the height of the resistance of the MTJ element 71 (the direction of magnetization of the magnetization free layer 71b).
  • the antiparallel state of the MTJ element 71 is the first coupling load
  • the parallel state is the second coupling load.
  • the magnetization fixed layer 71a is connected to the power supply line PL via the MOS transistor 72, and the magnetization free layer 71b is connected to the source line SL.
  • the gate of the MOS transistor 72 is connected to the pre-spiked wire PrL, and the connection node between the MTJ element 71 and the MOS transistor 72 is grounded via the MOS transistor 73.
  • the gate of the MOS transistor 73 is connected to the second post spike wire POLb.
  • One electrode of the capacitor 36 is connected to a connection node between the MTJ element 71 and the MOS transistor 72. As a result, the potential (voltage) corresponding to the resistance value of the MTJ element 71 is output to the output line OL as a voltage signal Vpre via the capacitor 36.
  • the first pre-spike pulse is highly active.
  • the potential of the source line SL is controlled by the input circuit 20a.
  • the potential of the source line SL is set to the ground level (0V) in the cognitive mode.
  • the potential of the source line SL is normally set to the ground level, but is changed in synchronization with the output of the first pre-spike pulse.
  • the potential of the source line SL is positive in the period of time Tw from the time when the first pre-spike pulse falls, that is, the potential of the source line SL is raised above the ground level, and in the subsequent period of time Tw, the potential of the source line SL becomes positive. Negative, that is, below the ground level.
  • the magnitude (absolute value) of the potential of the source line SL with respect to the ground level at this time is determined so that the write current required to change the magnetization state of the MTJ element 71 can be passed through the MTJ element 71. ..
  • the second post-spike pulse from the neuron circuit 17 is supplied to the second post-spike line POLb.
  • the second post-spike pulse is generated in the neuron circuit 17 as having a pulse width equal to, for example, the first post-spike pulse, which is delayed by a time Tw from the first post-spike pulse.
  • the first post-spike pulse is not supplied to the synapse circuit 11.
  • the input circuit 20a makes the potential of the source line SL positive for the time Tw immediately after outputting the first pre-spike pulse, and makes the potential of the source line SL negative during the subsequent time Tw.
  • the neuron circuit 17 outputs the first post-spike pulse
  • the neuron circuit 17 outputs the second post-spike pulse with a delay of time Tw from the first post-spike pulse.
  • the second post spike pulse turns on the MOS transistor 73, and the MTJ element 71 is connected between the source line SL and the ground.
  • the second post-spike occurs when the potential of the source line SL is positive.
  • the pulse is input to the load storage unit 70. Therefore, when the MOS transistor 73 is turned on, a write current flows from the source line SL toward the MTJ element 71, and the MTJ element 71 is in an antiparallel state. Therefore, the first coupling load is written in the load storage unit 70.
  • the second post-spike pulse is when the potential of the source line is negative. Is input to the load storage unit 70. Therefore, when the MOS transistor 73 is turned on, a write current flows from the MTJ element 71 toward the source line SL, and the MTJ element 71 is in a parallel state. Therefore, the second coupling load is written in the load storage unit 70.
  • the load storage unit 80 shown in FIG. 17 has a configuration using a three-terminal type MTJ element 81.
  • the MTJ element 81 has a structure in which a laminated body in which a magnetization fixed layer 81a and a magnetization free layer 81b are laminated with an insulating film 81c interposed therebetween is provided on a channel layer 81d.
  • the laminate is laminated in the order of the magnetization free layer 81b, the insulating film 81c, and the magnetization fixing layer 81a from the channel layer 81d side.
  • the magnetization fixed layer 81a and the magnetization free layer 81b are formed of a ferromagnetic material.
  • the insulating film 81c is formed of a non-magnetic insulator.
  • the channel layer 81d is a conductive layer containing an antiferromagnetic material, and is formed in a plate shape extending in one direction.
  • a laminate is provided at the center of one surface of the channel layer
  • the magnetization fixed layer 81a is fixed in the direction of magnetization in one direction perpendicular to the film surface (vertical direction in FIG. 17), and the magnetization free layer 81b is easily magnetized in the direction perpendicular to the film surface.
  • the direction of magnetization can be changed to either a parallel state in the same direction as the magnetization fixed layer 81a or an antiparallel state in the opposite direction.
  • the MTJ element 81 can change the magnetization direction of the magnetization free layer 81b by the action of spin-orbit torque generated by passing a write current in the extending direction of the channel layer 81d, and can change the magnetization direction of the magnetization free layer 81b by the write current. It can be according to the direction of.
  • the magnetization direction of the magnetization fixed layer 81a and the magnetization free layer 81b may be parallel to the film surface.
  • the MTJ element 81 is connected to each part by using the upper surface of the magnetization fixing layer 81a (the surface opposite to the surface on which the insulating film 81c is formed) and one end and the other end of the channel layer 81d in the extending direction as terminals, respectively. ing.
  • the upper surface of the magnetization fixing layer 81a is connected to the power supply line PL via the MOS transistor 82, one end of the channel layer 81d is grounded via the MOS transistor 83, and the other end is connected to the source line SL. There is.
  • the MOS transistors 82 and 83 are connected to the pre-spike wire PrL and the second post-spike wire POLb, similarly to the MOS transistors 72 and 73 in the example of FIG. Further, the control of the potential of the source line SL and the generation timing of the second post spike pulse are the same as in the example of FIG.
  • the MTJ element 81 applies a read-out voltage to the laminate and allows a read-out current in a direction penetrating the laminate to flow, and the high or low resistance of the MTJ element 81 (laminate) can be determined from the read-out voltage and the read-out current. ..
  • the voltage signal Vpre of the voltage corresponding to the magnetization state (resistance value) of the MTJ element 81 is taken out. Specifically, the potential on the upper surface of the magnetization fixed layer 81a when the MOS transistor 82 is turned on is output to the output line OL as a voltage signal Vpre via the capacitor 36.
  • the second post-spike pulse is input to the load storage unit 80 during the period when the potential of the source line SL is controlled to be positive or negative.
  • the direction of the write current flowing through the channel layer 81d changes.
  • the MTJ element 81 has the first post-spike.
  • the magnetized state is set according to the relationship between the pulse and the first pre-spike pulse.
  • the coupling load can be written to the synapse circuit 11 according to the pre-sequential of the first post-spike pulse and the first pre-spike pulse.
  • the change in the potential of the source line that changes in a pulse shape higher than the ground level is the first time window pulse, and changes in a pulse shape lower than the ground level.
  • the change in the potential of the source line is the second time window pulse.
  • the second post spike pulse is a common write pulse.
  • the storage element that non-volatilely stores the coupling load is not limited to the MTJ element.
  • a storage element one that stores data by utilizing the difference in electrical resistance can be preferably used.
  • a phase used in a phase change memory PCRAM: Phase Change Random Access Memory
  • PCRAM Phase Change Random Access Memory
  • Examples include a resistance changing element used for a changing element, ReRAM (Resistive RAM, Resistive Random Access Memory), and changing the resistance value of the oxide layer of the load storage unit by applying a voltage pulse.
  • a ferroelectric memory element having a ferroelectric capacitor used for a ferroelectric memory can also be used.
  • other binary non-volatile storage elements for example, NAND / NOR type flash memory elements can also be used.
  • the coupling load is stored non-volatilely as the load storage unit, but a volatile circuit that stores the coupling load only while power is being supplied, such as SRAM and DRAM. Available for configuration.
  • the load storage unit 90A shown in FIG. 18 cross-couples an inverter 21A composed of MOS transistors 91a and MOS transistors 91b connected in series and an inverter 22A composed of MOS transistors 92a and MOS transistors 92b connected in series. It has a circuit configuration similar to that of an SRAM. It is the same as the second embodiment or the third embodiment except that the details will be described below.
  • the MOS transistors 91a and 92a as drive transistors are N-type MOSFETs, and the MOS transistors 91b and 92b as load transistors are P-type MOSFETs.
  • the sources of the MOS transistors 91b and 92b are directly connected to the power supply line PL, and the sources of the MOS transistors 91a and 92a are connected to the source line SL.
  • power is continuously supplied to the inverters 21A and 22A to maintain the coupling load.
  • the coupling load is held as an on / off combination of the MOS transistors 91a and 91b (or the MOS transistors 91b and 92b).
  • connection node SN to which the drains of the MOS transistors 91a and 91b are connected is connected to the bit line BL via the MOS transistor 23 and is also connected to the gates of the MOS transistors 92a and 92b of the inverter 22A.
  • the connection node SNB to which the drains of the MOS transistors 92a and 92b are connected is connected to the bit line BLB via the MOS transistor 24 and is also connected to the gates of the MOS transistors 91a and 92a of the inverter 21A.
  • a switch unit 93 is provided together with the capacitor 36 as an output circuit unit.
  • the capacitor 36 and the switch unit 93 are connected in series, and one end of the capacitor 36 is connected to the connection node SNB via the switch unit 93.
  • the switch unit 93 is turned on when the first pre-spike pulse is input, and is connected to the pre-spike line PrL.
  • a voltage signal Vpre corresponding to the coupling load stored in the load storage unit 90A is output from the other end of the capacitor 36.
  • the switch unit 93 preferably has a circuit configuration using, for example, CMOS, which has characteristics close to an ideal switch in which the on resistance when on is 0 ⁇ and the off resistance when off is infinite.
  • connection node SNB becomes L level (0V) and a 0V voltage signal is output. Will be done.
  • MOS transistor 91a is on (MOS transistor 91b is off) and the MOS transistor 92a is off (MOS transistor 92b is on)
  • the connection node SNB becomes H level and a relatively high voltage signal is output.
  • the second post-spike pulse is generated as in the second embodiment or the third embodiment, and the first coupling load or the first coupling load or by switching the potentials of the bit lines BL and BLB. Controls the writing of the second coupling load.
  • the potentials of the bit line BL and BLB instead of the positive and negative of the bit line potential difference ⁇ VB, the bit line BL is at H level and the bit line BLB is at L level, and the bit line BL is at L level and the bit line BLB is at H level. Change to state.
  • bit line BL when writing the first coupling load, the bit line BL is set to L level and the bit line BLB is set to H level, and when writing the second coupling load, the bit line BL is set to H level and the bit line BLB is set to L level. And.
  • a resistance element 96 may be used instead of each load transistor as in the load storage unit 90B shown in FIG.
  • the output circuit unit of the load storage unit 64 is configured to output a current signal as a weighted pre-spike pulse.
  • the output circuit section is composed of a MOS transistor 98 made of a P-type MOSFET. Therefore, a MOS transistor 98 is provided in place of the capacitor 36 (see FIG. 9).
  • the source is connected to the connection node SNB and the drain is connected to the output line OL.
  • the gate of the MOS transistor 98 is connected to the pre-spike wire PrL.
  • the MOS transistors 25 and 98 are turned on in response to the first pre-spike pulse, so that the current signal Ipre corresponding to the coupling load stored in the load storage unit 97 can be output.
  • the neuron circuit may be provided with a circuit that integrates the current.
  • the output circuit unit of the load storage unit 14 described above is configured to output the current signal Ipre.
  • the example shown in FIG. 22 has a configuration in which the output circuit unit of the load storage unit 70 and the example shown in FIG. 23 have a configuration in which the output circuit unit of the load storage unit 80 outputs a current signal Ipre. ..
  • the MOS transistor 98A which is an N-type MOSFET, is used as the output circuit unit because the first pre-spike pulse is highly active.
  • Neural network circuit device 11 Synapse circuit 14, 64, 64A to 64D, 70, 80, 90A, 90B Load storage 17 Neuron circuit 20a Input circuit 31, 33, 71, 81 MTJ element 66a to 66d Delay circuit

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 Physics & Mathematics (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Power Engineering (AREA)
  • Neurology (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Condensed Matter Physics & Semiconductors (AREA)
  • Ceramic Engineering (AREA)
  • Semiconductor Memories (AREA)
  • Read Only Memory (AREA)

Abstract

簡単化されたシナプス回路の駆動方法を提供する。第1ポストスパイクパルスに対して第1プレスパイクパルスが先行する場合では、結合荷重の書き込みを許容する時間窓として入力回路20aからの第2プレスパイクパルスを用い、結合荷重の書き込みタイミングの制御の書き込みパルスとしてニューロン回路17からの第1ポストスパイクパルスを用いる。第1プレスパイクパルスに対して第1ポストスパイクパルスが先行する場合には、時間窓としてニューロン回路17からの第2ポストスパイクパルスを用い、書き込みパルスとして、入力回路20aからの第1プレスパイクパルスを用いる。第2プレスパイクパルスは、第2ポストスパイクパルスは、それぞれ第1プレスパイクパルス、第1ポストスパイクパルスに同期して出力される。

Description

シナプス回路の駆動方法
 本発明は、シナプス回路の駆動方法に関する。
 生体の脳の仕組みをモデルにしてコンピュータ上で情報処理を行うニューラルネットワークが知られている。また、ニューラルネットワークを、半導体素子等を用いて実現すべく、その構成素子及び回路に関する研究が進められている。ニューラルネットワーク回路装置は、種々のモデルが提案されている。例えば1つのモデルでは、ニューロン同士をシナプス回路を介して結合し、そのシナプス回路に結合の強さを表すシナプス結合荷重を持たせ、1つのニューロンが他のニューロンから入力されるパルスの電圧と結合荷重との積算値が所定の閾値に達したときに、当該ニューロンが発火し、次のニューロンにパルスを伝達するものがある。
 ニューラルネットワークでは、シナプス回路にシナプス結合荷重を記憶する場合に、例えばスパイクタイミング依存シナプス可塑性(Spike Timing Dependent Synaptic Plasticity(以下、STDPという))を有するシナプスモデルにもとづいた学習を行う。このSTDPでは、シナプス回路の前段に接続されているプレニューロン回路からのパルスと、後段に接続されているポストニューロン回路からのパルスとの時間差に基づいたシナプス結合荷重をシナプス回路に記憶させる。
 一方、不揮発性の記憶素子として、例えば電界誘起巨大抵抗変化により電気抵抗が変化する抵抗変化型記憶素子を備えたReRAM(Resistive Random Access Memory)、相変化メモリ(Phase Change Random Access Memory)等が知られている。このような不揮発性の記憶素子にシナプス結合荷重を記憶させるニューラルネットワーク回路装置が知られている(例えば、非特許文献1~3を参照)。
G. W. Burr, P. Narayanan, R. M. Shelby, S. Sidler, I. Boybat, C. di Nolfo, and Y. Leblebici, IEDM, pp. 4.4.1-4.4.4, 2015. M. Chu; B. Kim; S. Park; H. Hwang; M. Jeon; B.-H. Lee; B.-G. Lee, IEEE Trans. IE, Vol. 62, Issue 4, pp. 2410-2419, 2015. S. P. Adhikari; H. Kim; R. K. Budhathoki; C. Yang; L. O. Chua, IEEE Trans. CAS, Vol. 62, Issue 1, pp. 215-223, 2015.
 上記のように、STDPに基づく学習を行う場合、各パルスの先後及び時間差に応じてシナプス回路のシナプス結合荷重の書き込みを行う必要があるが、そのための制御が複雑になり、消費電力の上昇や回路の大規模化を招く等の問題があった。このため、シナプス結合荷重を記憶させるための簡単化された駆動方法が望まれている。
 本発明は、上記事情を鑑みてなされたものであり、簡単化されたシナプス回路の駆動方法を提供することを目的とする。
 上記目的を達成するために、本発明は、第1結合荷重または第2結合荷重のいずれか一方をシナプス結合荷重として記憶する荷重記憶部を有し、プレニューロン回路とポストニューロン回路との間に接続され、前記プレニューロン回路から入力されるプレスパイクパルスに前記シナプス結合荷重で重み付けをした重み付けプレスパイクパルスを前記ポストニューロン回路に出力するとともに、前記プレスパイクパルスと前記ポストニューロン回路が出力するポストスパイクパルスの先後及びパルス時間差に基づいて前記シナプス結合荷重を書き込むシナプス回路の駆動方法において、前記プレニューロン回路と前記ポストニューロン回路とのいずれか一方から、前記プレスパイクパルスが前記ポストスパイクパルスに対して先行する場合についての、前記荷重記憶部に前記シナプス結合荷重の書き込みを許容する第1時間窓を規定する第1時間窓パルスを前記シナプス回路に入力し、他方から前記荷重記憶部に前記シナプス結合荷重の書き込みタイミングとなる、パルス幅が前記第1時間窓パルスよりも短い第1書き込みパルスを前記シナプス回路に入力し、前記プレニューロン回路と前記ポストニューロン回路とのいずれか一方から、前記ポストスパイクパルスが前記プレスパイクパルスに対して先行する場合についての、前記荷重記憶部に前記シナプス結合荷重の書き込みを許容する第2時間窓を規定する第2時間窓パルスを前記シナプス回路に入力し、他方から前記荷重記憶部に前記シナプス結合荷重の書き込みタイミングとなる、パルス幅が前記第2時間窓パルスよりも短い第2書き込みパルスを前記シナプス回路に入力し、前記第1時間窓パルスと前記第1書き込みパルスとが同時に前記シナプス回路に入力されているとき、及び前記第2時間窓パルスと前記第2書き込みパルスとが同時に前記シナプス回路に入力されているときに前記荷重記憶部が書き込み動作を行うものである。
 本発明によれば、ポストスパイクパルスがプレスパイクパルスに対して先行する場合及びプレスパイクパルスがポストスパイクパルスに対して先行する場合の各々について、プレニューロン回路とポストニューロン回路とのいずれか一方からシナプス結合荷重の書き込みを許容する時間窓パルスをシナプス回路に入力し、他方から荷重記憶部にシナプス結合荷重の書き込みタイミングとなる短い書き込みパルスをシナプス回路に入力するようにして、これらが同時にシナプス回路に入力されているとき荷重記憶部が書き込み動作を行うようにしたので、STDPに基づくシナプス結合荷重を記憶させるための駆動を簡単化することができる。
第1実施形態のニューラルネットワーク回路装置の概略を示すブロック図である。 第1ポストスパイクパルスと第1プレスパイクパルスとのパルス時間差ΔTと結合荷重の関係を示すグラフである。 シナプス回路の構成を示す回路図である。 ニューロン回路の本体部の要部構成の一例を示すブロック図である。 認知モードにおける各種信号を示すタイミングチャートである。 第1プレスパイクパルスが先行する場合の学習モードにおける各種信号を示すタイミングチャートである。 第1ポストスパイクパルスが先行する場合の学習モードにおける各種信号を示すタイミングチャートである。 第2実施形態のニューラルネットワーク回路装置の概略を示すブロック図である。 第2実施形態のシナプス回路の構成を示す回路図である。 第2実施形態における第1プレスパイクパルスが先行する場合の学習モードでの各種信号を示すタイミングチャートである。 第2実施形態における第1ポストスパイクパルスが先行する場合の学習モードでの各種信号を示すタイミングチャートである。 第3実施形態における第1プレスパイクパルスが先行する場合の学習モードでの各種信号を示すタイミングチャートである。 第3実施形態における第1ポストスパイクパルスが先行する場合の学習モードでの各種信号を示すタイミングチャートである。 シナプス回路を複数の荷重記憶部で構成する第4実施形態の要部構成を示すブロック図である。 第4実施形態における学習モードでの各種信号を示すタイミングチャートである。 1個のMTJ素子を用いた荷重記憶部の例を示す回路図である。 3端子型のMTJ素子を用いた荷重記憶部の例を示す回路図である。 荷重記憶部をSRAM構成とした例を示す回路図である。 荷重記憶部をSRAM構成とした別の例を示す回路図である。 重み付けプレスパイクパルスとして電流信号を出力する例を示す回路図である。 選択信号が入力される荷重記憶部が重み付けプレスパイクパルスとして電流信号を出力する例を示す回路図である。 1個のMTJ素子を用いた荷重記憶部が重み付けプレスパイクパルスとして電流信号を出力する例を示す回路図である。 3端子型のMTJ素子を用いた荷重記憶部が重み付けプレスパイクパルスとして電流信号を出力する例を示す回路図である。 SRAM構成とした荷重記憶部が重み付けプレスパイクパルスとして電流信号を出力する例を示す回路図である。 SRAM構成とした荷重記憶部が重み付けプレスパイクパルスとして電流信号を出力する別の例を示す回路図である。
[第1実施形態]
 図1において、第1実施形態に係るニューラルネットワーク回路装置10は、複数のシナプス回路11がマトリクス状に配列されている。各シナプス回路11は、荷重記憶部14と選択部15とをそれぞれ有している。また、ニューラルネットワーク回路装置10には、複数のニューロン回路17が設けられており、各々のニューロン回路17に対応して複数のシナプス回路11が設けられている。この例では、シナプス回路11の各列16に、その列方向(図1の上下方向)の端部にニューロン回路17がそれぞれ設けられており、1個のニューロン回路17に1列分のシナプス回路11が対応する。ニューロン回路17は、本体部18とビット線ドライバ19とを有している。
 シナプス回路11の各列16に対応して、列方向にビット線BL、BLB、第1ポストスパイク線POLa、第2ポストスパイク線POLbがそれぞれ延設されている。ビット線BL、BLBは、それが対応する列16内の各荷重記憶部14及びビット線ドライバ19に接続されている。第1ポストスパイク線POLa、第2ポストスパイク線POLbは、それが対応する列16内の各選択部15及び本体部18に接続されている。また、荷重記憶部14ごとに出力線OLが設けられており、各荷重記憶部14は、それが配された列16内のニューロン回路17の本体部18と出力線OLによってそれぞれ接続されている。
 また、シナプス回路11の各行に対応して、行方向(図中左右方向)に、荷重記憶部14に電源電圧を供給する電源線PL、接地されたソース線SL、プレスパイク線PrL、ワード線WLがそれぞれ延設されている。電源線PL、ソース線SL、プレスパイク線PrLは、対応する行内の各荷重記憶部14にそれぞれ接続されている。また、プレスパイク線PrL、ワード線WLは、対応する行内の各選択部15にそれぞれ接続されている。電源線PLから供給される電圧は、後述するようにビット線BLとビット線BLBとの間に発生させるビット線電位差ΔVBの大きさの半分(=|ΔVB|/2)程度である。前段部20には、行ごとに入力回路20aが設けられている。各行のプレスパイク線PrLは、インバータ20bを介して入力回路20aに接続され、ワード線WLは、入力回路20aに直接に接続されている。
 ニューラルネットワーク回路装置10は、スパイクタイミング依存シナプス可塑性(Spike Timing Dependent Synaptic Plasticity(以下、STDPという))を有するシナプスのモデルを参考にしている。ニューラルネットワーク回路装置10における入力回路20aは、プレニューロン回路として設けられており、プレニューロンに相当する。また、ニューロン回路17は、ポストニューロン回路として設けられており、ポストニューロンに相当する。入力回路20aは、プレスパイクパルスとしての第1プレスパイクパルスを、またニューロン回路17は、ポストスパイクパルスとしての第1ポストスパイクパルスをそれぞれ出力する。第1プレスパイクパルスは、プレニューロンの発火タイミングに相当するタイミングで出力されるものであり、第1ポストスパイクパルスは、ポストニューロンの発火タイミングに相当するタイミングで出力されるものである。また、シナプス回路11は、プレニューロンとポストニューロンとをシナプス結合するシナプスにそれぞれ相当し、シナプス結合荷重(以下、単に結合荷重という)を記憶している。
 上記STDPは、1つのシナプスに着目した場合に、そのシナプスの前後に接続されたプレニューロン及びポストニューロンがそれぞれ発火してスパイクパルスを出力するタイミングに依存して、プレニューロンとポストニューロンの間に位置するシナプスとの結合荷重が変化する性質である。ニューラルネットワーク回路装置10では、第1プレスパイクパルスが第1ポストスパイクパルスに先行する場合及び後行する場合のそれぞれにおいて、第1ポストスパイクパルスと第1プレスパイクパルスとのパルス時間差ΔTが予め設定した規定時間Tw内である場合にシナプス回路11の結合荷重を更新する。この例では、シナプス回路11は、第1プレスパイクパルスと第1ポストスパイクパルスのうち前者が先行する場合に、結合荷重として第1結合荷重を、後者が先行する場合に、結合荷重として第2結合荷重を記憶する。
 なお、以下の説明では、パルス時間差ΔTを第1ポストスパイクパルスと第1プレスパイクパルスとの時間差の大きさとするが、正負を区別する場合は第1ポストスパイクパルスに対して第1プレスパイクパルスが先行する場合を正、第1プレスパイクパルスに対して第1ポストスパイクパルスが先行する場合を負とする。
 この例では、相対的に、第1結合荷重の重みが大きく、第2結合荷重の重みが小さい。すなわち、図2に示すように、シナプス回路11の結合荷重は、それが接続されたニューロン回路17から第1ポストスパイクパルスが出力されるタイミングを基準にして、第1ポストスパイクパルスが出力された時点から遡って時間Tw以内の期間に第1プレスパイクパルスがシナプス回路11に入力された場合には、大きな第1結合荷重となり、また第1ポストスパイクパルスが出力された時点から時間Tw以内の期間に第1プレスパイクパルスがシナプス回路11に入力された場合には、小さな第2結合荷重となる。したがって、この例では、結合荷重を更新する場合において、パルス時間差ΔTの増加よって結合荷重を漸増ないし漸減させる一般的な対称型STDP及び非対称型STDPとは異なる。
 上記ニューラルネットワーク回路装置10は、認知モードと学習モードとを有している。認知モードは、例えば画像認識などの処理対象となる画像に応じた信号を前段部20からニューラルネットワーク回路装置10に入力することによって、各ニューロン回路17から出力を画像認識の結果に応じた処理結果として得るモードであり、学習モードで各シナプス回路11に記憶された結合荷重を用いる。学習モードは、予め用意された画像に基づく信号を、前段部20からニューラルネットワーク回路装置10に入力することによって、各シナプス回路11に記憶されている結合荷重を更新する動作モードである。
 前段部20の入力回路20aは、第1プレスパイクパルスと、この第1プレスパイクパルスに同期した第2プレスパイクパルスを発生するパルス発生器を有しており、第1プレスパイクパルスをプレスパイク線PrLに、第2プレスパイクパルスをワード線WLにそれぞれ出力する。この例では、シナプス回路11における第1プレスパイクパルスは、ローアクティブであり、入力回路20aからの第1プレスパイクパルスは、インバータ20bを介してプレスパイク線PrLに出力される。第1プレスパイクパルスは、認知モードと学習モードの両方で出力されるが、第2プレスパイクパルスは、学習モードのみで出力される。
 第1プレスパイクパルスは、学習モードにおいては、第1プレスパイクパルスに対して第1ポストスパイクパルスが先行する場合についての、結合荷重の書き込みタイミングの制御に用いられる第2書き込みパルスとしても機能する。この第1プレスパイクパルスは、そのパルス幅が第2プレスパイクパルスよりも短い。後述するように、MTJ素子を用いて荷重記憶部14に荷重を記憶する構成では、第1プレスパイクパルスのパルス幅を10nsec以下とすることが可能である。
 第2プレスパイクパルスは、学習モードにおいて、第1ポストスパイクパルスに対して第1プレスパイクパルスが先行する場合についての、シナプス回路11に対して結合荷重の書き込みを許容する時間窓(タイムウインドウ)として用いられるものであり、この例における第1時間窓パルスである。第2プレスパイクパルスがシナプス回路11に入力されている間、書き込みが許容される。この第2プレスパイクパルスは、規定時間Twと同じパルス幅である。この例では、第2プレスパイクパルスは、第1プレスパイクパルスと同時に出力が開始されるが、第1プレスパイクパルスから遅延させることもできる。第2プレスパイクパルスを第1プレスパイクパルスから遅延させて出力する場合には、後述する第2ポストスパイクパルスの発生タイミングとビット線BL/BLBの電位を変化させるタイミングも同様に遅延させる。
 ニューロン回路17から出力される第1ポストスパイクパルスは、学習モードにおいては、第1ポストスパイクパルスに対して第1プレスパイクパルスが先行する場合についての、結合荷重の書き込みタイミングの制御に用いられる第1書き込みパルスとしても機能する。この第1ポストスパイクパルスは、そのパルス幅が第2プレスパイクパルスよりも短い。第1プレスパイクパルスと同様に、MTJ素子を用いて荷重記憶部14に荷重を記憶する構成では、第1ポストスパイクパルスのパルス幅を10nsec以下とすることが可能である。
 第2ポストスパイクパルスは、第1ポストスパイクパルスに同期してニューロン回路17から出力される。この例では、第1ポストスパイクパルスと同時に第2ポストスパイクパルスの出力が開始される。この第2ポストスパイクパルスは、学習モードにおいて、第1プレスパイクパルスに対して第1ポストスパイクパルスが先行する場合についての、シナプス回路11に対して結合荷重の書き込みを許容する時間窓(タイムウインドウ)として用いられるものであり、この例における第2時間窓パルスである。第2プレスパイクパルスと同様に、第2ポストスパイクパルスがシナプス回路11に入力されている間、書き込みが許容される。この第2プレスパイクパルスは、規定時間Twと同じパルス幅である。
 後述するように、シナプス回路11は、第2ポストスパイクパルスと第1プレスパイクパルスとが同時に入力されているとき及び第1ポストスパイクパルスと第2プレスパイクパルスとが同時に入力されているときに、結合荷重の書き込み動作を行う。
 シナプス回路11の荷重記憶部14は、第1プレスパイクパルスが入力されることに応答して、記憶している結合荷重で重み付けをした重み付けプレスパイクパルスとしての電圧信号Vpreを出力線OLを介してニューロン回路17の本体部18に出力する。
 ニューロン回路17の本体部18は、それが配された列16内の各荷重記憶部14からの電圧信号Vpreの電圧レベルの総和が所定の閾値以上になることに応答して第1ポストスパイクパルスを発生する。本体部18は、認知モードでは、第1ポストスパイクパルスを第1ポストスパイク線POLaに出力し、学習モードでは、第1ポストスパイクパルスを出力するとともに、第1ポストスパイクパルスに同期した第2ポストスパイクパルスを第2ポストスパイク線POLbに出力する。また、第1ポストスパイクパルスは、例えばニューロン回路17の次段のニューロン回路との間に設けたシナプス回路に送られる。
 ニューロン回路17のビット線ドライバ19は、学習モードの際に、同じニューロン回路17内の本体部18の第1ポストスパイクパルスの発生に同期して、ビット線BL、BLBの電位を制御する。具体的には、ビット線ドライバ19は、第1ポストスパイクパルスと同時に、この第1ポストスパイクパルスのパルス幅とほぼ同じ期間、ビット線BLの電位VB1をビット線BLBの電位VB2よりも高く(ビット線電位差ΔVB(=VB1-VB2)を正)してから、ビット線BLから荷重記憶部14を介してビット線BLBに向って電流が流れるようにし、その後においてビット線BLBの電位VB2をビット線BLの電位VB1よりも高く(ビット線電位差ΔVBを負)して、ビット線BLBから荷重記憶部14を介してビット線BLに向って電流が流れるようにする。第1ポストスパイクパルスの発生時から規定時間Twの経過した時点で、ビット線電位差ΔVBを0Vにする。この例では、ビット線電位差ΔVBが正の場合におけるビット線BL、BLBの電位が第1電位であり、負の場合におけるビット線BL、BLBの電位が第2電位である。
 シナプス回路11の選択部15は、学習モードの際に、第1プレスパイクパルス、第2プレスパイクパルス、第1ポストスパイクパルス及び第2ポストスパイクパルスに基づいて、第1ポストスパイクパルスと第1プレスパイクパルスとのパルス時間差ΔTが規定時間Tw以内であるときに、選択信号を発生する。荷重記憶部14には、選択信号が入力されているタイミングにおけるビット線BL、BLBの電位差に基づく結合荷重が記憶される。
 図3に示すように、シナプス回路11の荷重記憶部14は、インバータ21、22と、トランスファゲートとしての一対のMOSトランジスタ23、24と、MOSトランジスタ25とを有する。インバータ21は、直列に接続されたMTJ素子(磁気トンネル接合素子)31とMOSトランジスタ32とで構成され、インバータ22は、直列に接続されたMTJ素子33とMOSトランジスタ34とで構成される。MOSトランジスタ23、24、32、34は、N型MOSFETであり、MOSトランジスタ25はP型MOSFETである。この例では、MOSトランジスタ32、34がインバータ用MOSトランジスタである。
 MTJ素子31は、磁化固定層31aと磁化自由層31bとが絶縁膜31cを挟んで積層された構造を有する。磁化固定層31aは、その磁化方向が固定されている。磁化自由層31bは、MTJ素子31に所定の閾値以上の書き込み電流を流すことにより、その磁化方向を変えることができ、書き込み電流の向きによって磁化方向が決まる。周知のように、MTJ素子31は、磁化固定層31aと磁化自由層31bの磁化方向が一致する平行状態のときに抵抗値が小さい低抵抗になり、磁化固定層31aに対して磁化自由層31bの磁化方向が反対向きである反平行状態のときに抵抗値が大きい高抵抗になる。MTJ素子31は、磁化固定層31aから磁化自由層31bへの向きに書き込み電流を流すことにより、平行状態になり、逆向きに書き込み電流を流すことにより、反平行状態になる。
 MTJ素子33についても、磁化固定層33a、磁化自由層33b、絶縁膜33cを積層した構成であり、MTJ素子31と同様に、書き込み電流によって磁化自由層33bの磁化方向を変化することができ、平行状態、反平行状態で抵抗値が変わる。
 荷重記憶部14は、MTJ素子31、33により結合荷重を不揮発的に記憶する。MTJ素子31、33は、いずれか一方が平行状態のときに他方が反平行状態となる。この例では、第1結合荷重を記憶している場合には、MTJ素子31が反平行状態、MTJ素子33が平行状態であり、第2結合荷重を記憶している場合には、MTJ素子31が平行状態、MTJ素子33が反平行状態である。MTJ素子31、33は、他のReRAMや相変化メモリ等と比べて、高速な書き換えが可能であるとともに、最大書き換え回数がかなり大きく、学習の回数を多くできるといった観点からも有利な素子である。
 インバータ21は、MTJ素子31の磁化自由層31bとMOSトランジスタ32のドレインとが接続され、インバータ22は、MTJ素子33の磁化自由層33bとMOSトランジスタ34のドレインとが接続されている。MTJ素子31、33の各磁化固定層31a、33aは、MOSトランジスタ25を介して電源線PLに接続されている。MOSトランジスタ32、34の各ソースは、ソース線SLを介して接地されている。
 インバータ21の出力端であるMTJ素子31とMOSトランジスタ32との接続ノードSNが、インバータ22の入力端であるMOSトランジスタ34のゲートに接続され、インバータ22の出力端であるMTJ素子33とMOSトランジスタ34との接続ノードSNBが、インバータ21の入力端であるMOSトランジスタ32のゲートに接続されている。これにより、インバータ21、22は、クロスカップルされてフリップフロップを構成するとともに、MOSトランジスタ32、34が差動対を構成する。
 接続ノードSNは、MOSトランジスタ23を介してビット線BLに接続され、接続ノードSNBは、MOSトランジスタ24を介してビット線BLBに接続されている。MOSトランジスタ23、24の各ゲートは、選択部15に接続されており、この選択部15からの選択信号でオン、オフされる。選択部15と、MOSトランジスタ23、24とによって書き込み部が構成される。
 ビット線電位差ΔVBが正のときに、MOSトランジスタ23、24がオンとなった場合には、ビット線BLから接続ノードSN、MTJ素子31、MTJ素子33、接続ノードSNBを経てビット線BLBに至る経路で書き込み電流が流れ、MTJ素子31が反平行状態、MTJ素子33が平行状態になる。逆に、ビット線電位差ΔVBが負のときに、MOSトランジスタ23、24がオンとなった場合には、ビット線BLBから接続ノードSNB、MTJ素子33、MTJ素子31、接続ノードSNを経てビット線BLに至る経路で書き込み電流が流れ、MTJ素子31が平行状態、MTJ素子33が反平行状態になる。
 接続ノードSNBの電位(電圧)が、出力回路部としてのコンデンサ36を介して電圧信号Vpreとして出力線OLに出力される。すなわち、コンデンサ36の一方の電極が接続ノードSNBに接続され、他方の電極が出力線OLを介して、ニューロン回路17の本体部18に接続されている。後述するように、コンデンサ36は、本体部18内の制御ゲートCG(図4参照)に接続されている。コンデンサ36は、制御ゲートCGを介して同一のフローティングゲートFG(図4参照)に対して容量結合される各シナプス回路11の荷重記憶部14の相互間での導通電流の発生を防止するために設けている。なお、コンデンサ36としては、例えば、トランジスタのゲート容量を利用したMOSキャパシタを用いることもできる。
 なお、荷重記憶部14とフローティングゲートFGとの実質的な結合容量は、コンデンサ36の容量と、フローティングゲートFGに対する制御ゲートCGの結合容量とによって決まる。また、荷重記憶部14とフローティングゲートFGとの実質的な結合容量を相違させることもでき、このようにすることで、例えば電圧信号Vpreに重み付けをすることができる。さらに、接続ノードSNBに代えて接続ノードSNに出力回路部を接続してもよい。
 MOSトランジスタ25は、認知モードにおけるパワーゲーティング用のスイッチング素子であるのと同時に、信号駆動用すなわち電圧信号Vpreを出力させる読み出し部としてのスイッチング素子である。MOSトランジスタ25は、そのゲートがプレスパイク線PrLに接続され、入力信号としての第1プレスパイクパルスが出力されているときにオンとなる。MOSトランジスタ25のオンにより、電源線PLからの電力供給を受けてインバータ21、22すなわち差動対を構成するMOSトランジスタ32、34が作動する。これにより、第1プレスパイクパルスに応答して、インバータ22の出力端である接続ノードSNBの電圧が電圧信号Vpreとして出力線OLに出力される。電圧信号Vpreは、第1結合荷重の場合すなわちMTJ素子31が反平行状態、MTJ素子33が平行状態にある場合に相対的に高く、第2結合荷重の場合すなわちMTJ素子31が平行状態、MTJ素子33が反平行状態にある場合が相対的に低い。
 選択部15は、論理回路15a~15cの組み合わせによって、第2ポストスパイクパルスが出力されている間に第1プレスパイクパルスが出力されたとき、または第1ポストスパイクパルスが出力されている間に第2プレスパイクパルスが出力されたときに選択信号をアクティブ(Hレベル)とする。これにより、第1ポストスパイクパルスと第1プレスパイクパルスとのパルス時間差ΔTが規定時間Tw内である場合にだけ、選択信号がアクティブとなり、MOSトランジスタ23、24がオンする。
 図4に一例を示すように、本体部18は、P型MOSFETであるMOSトランジスタ41、N型MOSFETであるMOSトランジスタ42、インバータ43、パルス発生器44を有している。パルス発生器44は、第1ポストスパイクパルス及び第2ポストスパイクパルスを発生する。なお、本体部18のパルス発生器44として、パルス波形、出力タイミング、遅延時間等が制御可能なパルス発生器を用いて第1ポストスパイクパルス、第2ポストスパイクパルスを発生させることができる。
 ニューロン用MOSトランジスタとしてのMOSトランジスタ41、42は、直列に接続されてインバータを構成する。すなわち、MOSトランジスタ41、42のドレイン同士が接続され、MOSトランジスタ41のソースが電源(電圧VDD)に接続され、MOSトランジスタ42のソースが接地されている。インバータ43は、入力端がMOSトランジスタ41とMOSトランジスタ42の接続ノードに接続されており、その接続ノードが接地の電位(0V)となったときに、その出力論理がLレベルからHレベルに反転する。パルス発生器44は、インバータ43の出力がLレベルからHレベルに変化することに応答して第1ポストスパイクパルス及び第2ポストスパイクパルスを発生する。
 上記MOSトランジスタ41、42は、共通のフローティングゲートFGを共有している。また、MOSトランジスタ41、42は、フローティングゲートFGに容量結合した複数の制御ゲートCGが設けられている。本体部18の制御ゲートCGは、その本体部18が配された列16の各荷重記憶部14にそれぞれ対応して設けられ、各々の制御ゲートCGには対応する荷重記憶部14からの出力線OLが接続されている。MOSトランジスタ41、42は、フローティングゲートFGの電位でオン・オフが制御され、一方がオンのときに他方がオフとなる。
 フローティングゲートFGの電位は、各制御ゲートCGに加えられる電圧信号Vpreの電圧と、各制御ゲートCGとフローティングゲートFGとの間の結合容量で決まる。この例では、フローティングゲートFGに対する各制御ゲートCGの結合容量が同じになっている。したがって、各制御ゲートCGに加える電圧の総和により、MOSトランジスタ41、42に一方をオン、他方をオフとするように制御できる。なお、本体部18としては、それが接続された各シナプス回路11からの電圧信号Vpreの電圧の総和に基づいて第1ポストスパイクパルス及び第2ポストスパイクパルスを発生する構成であればよい。
 次に上記構成の作用について説明する。認知モードでは、図5に示すように、前段部20の処理の内容に応じたタイミングで、各々の入力回路20aから、インバータ20bを介して第1プレスパイクパルスがプレスパイク線PrLに出力される。なお、この認知モードにおいては、第2プレスパイクパルスは出力されないので、選択部15が選択信号を出力することはない。
 1つのシナプス回路11に注目すると、それが接続されたプレスパイク線PrLを介して第1プレスパイクパルスが当該シナプス回路11に入力されると、荷重記憶部14内のMOSトランジスタ25がオンになる。このMOSトランジスタ25のオンにより、電源線PLからの電流が、MTJ素子31及びMTJ素子33を介して流れ、インバータ21、22が作動する。このように荷重記憶部14は、認知モードでは、MOSトランジスタ25がオンしている間のみ電流が流れるため消費電力の抑制に有効である。
 例えばシナプス回路11に記憶されている結合荷重が、第1結合荷重である場合、すなわちMTJ素子31が高抵抗であり、MTJ素子33が低抵抗である場合には、接続ノードSNBの電位が接続ノードSNの電位よりも高くなる電位差が生じる。この電位差は、クロスカップルされたインバータ21、22の作用により増幅され、電位差が大きくなった状態で安定する。逆に、シナプス回路11に記憶されている結合荷重が、第2結合荷重である場合、すなわちMTJ素子31が低抵抗であり、MTJ素子33が高抵抗である場合には、接続ノードSNBの電位が接続ノードSNの電位よりも低くなる電位差が生じ、その電位差がクロスカップルされたインバータ21、22の作用により増幅され、電位差が大きくなった状態で安定する。
 接続ノードSNと接続ノードSNBとの電位差は、MOSトランジスタ32、34の差動対によって増幅されて安定するので、安定するまでに要する時間は、非常に短い。したがって、高速な動作が可能になる。
 なお、MOSトランジスタ25がオンになることでMTJ素子31、33に流れる電流は、それらの磁化状態を変化させない大きさに調整されている。実際には、その電流が流れている間に、磁化自由層31b、33bの磁化方向に変化があるが、その変化は接続ノードSN、SNBに所望とする電位差を発生させるのには影響がない程度のきわめて僅かなものである。磁化自由層31b、33bの僅かな磁化方向は、電流を停止することで元の磁化方向に戻る。
 上記のように、シナプス回路11に記憶されている結合荷重に応じて接続ノードSN、SNBの電位が変化する。この結果、接続ノードSNBにコンデンサ36を介して接続された出力線OLには、シナプス回路11が第1結合荷重を記憶している場合には、高い電圧の電圧信号Vpreが出力され、第2結合荷重を記憶している場合には、低い電圧の電圧信号Vpreが出力される。このシナプス回路11からの電圧信号Vpreが出力線OLを介して本体部18の制御ゲートCGに加えられる。なお、MOSトランジスタ25がオフすると、コンデンサ36が放電して電圧信号Vpreの電圧が低下するが、コンデンサ36がMTJ素子31、33、MOSトランジスタ32、34等を通して放電するため電圧信号Vpreの電圧は漸減し、直ちに0Vになるわけではない。
 1つのニューロン回路17に注目すると、それが配された列16内の各シナプス回路11から出力される電圧信号Vpreの電圧がそれぞれ対応する制御ゲートCGに加えられる。もちろん、第1プレスパイクパルスが入力されないシナプス回路11からは制御ゲートCGに電圧は加えられない。上記のように各制御ゲートCGに電圧信号Vpreの電圧が加えられて、フローティングゲートFGの電位が閾値に達すると、MOSトランジスタ41がオフとなり、MOSトランジスタ42がオンとなる。この結果、インバータ43の出力がLレベルからHレベルに反転し、パルス発生器44から第1ポストスパイクパルスが出力される。フローティングゲートFGの電位が閾値に達しなければ、MOSトランジスタ41がオフ、MOSトランジスタ42がオンになることはないので、第1ポストスパイクパルスが出力されることはない。
 上記のようにして、前段部20から各行のプレスパイク線PrLに出力される第1プレスパイクパルスのタイミング及び各シナプス回路11に記憶されている結合荷重に応じて、列16ごとに設けられたニューロン回路17から第1ポストスパイクパルスが出力される。認知モードにおける、第1ポストスパイクパルスは、例えばニューロン回路17の次段のニューロン回路との間に設けたシナプス回路に送られる。
 上記認知モードでは、荷重記憶部14から本体部18に対しては、プレスパイクに施される重み付けが電圧信号Vpreの電圧の大小として伝達され、その電圧の総和を容量結合された制御ゲートCG、フローティングゲートFGによって得ている。このため、結合荷重とプレスパイクパルスとの積和を演算する演算回路を設けることなく、積和演算の結果によるポストスパイクパルスに相当する第1ポストスパイクパルスが得られる。
 また、制御ゲートCG(実際にはコンデンサ36)を充電する極めて微小な電流が流れるだけなので、低電力での動作が可能である。また、荷重記憶部14では、2つのMTJ素子31、33は、必ず互いに逆の抵抗状態が書き込まれている。このため、電圧信号Vpreの出力時には、一方(低抵抗)のMTJ素子に電流が流れ、他方(高抵抗)のMTJ素子にはほとんど電流が流れない。そして、一方(低抵抗)のMTJ素子に流れる電流の向きは、そのMTJ素子を低抵抗にする書込み電流の向きである。したがって、高抵抗のMTJ素子も、低抵抗のMTJ素子も、電圧信号Vpreを出力する際に流れる電流によって磁化の向きが反転するようなリードディスターブが生じることがない。
 次に学習モードについて説明する。学習モードでは、認知モードと同様に、各々の入力回路20aから前段部20の処理の内容に応じたタイミングで、第1プレスパイクパルスがプレスパイク線PrLに出力される。この学習モードにおいても、第1プレスパイクパルスが出力されると、認知モードの場合と同様に、荷重記憶部14が動作して電圧信号Vpreが出力される。
 この学習モードでは、図6、図7に示すように、第1プレスパイクパルスに同期して、パルス幅Twの第2プレスパイクパルスが入力回路20aからワード線WLに出力される。なお、図6は、第1ポストスパイクパルスに対して第1プレスパイクパルスが先行する場合、図7は、第1プレスパイクパルスに対して第1ポストスパイクパルスが先行する場合であって、いずれも第1プレスパイクパルスと第1ポストスパイクパルスとのパルス時間差ΔTが規定時間Tw以内の場合を示している。
 プレスパイク線PrLを介して第1プレスパイクパルスが入力されたシナプス回路11は、認知モードの場合と同様に、それの荷重記憶部14が記憶している結合荷重に応じた電圧信号Vpreを、同じ列16に配されている本体部18に出力する。本体部18についても、制御ゲートCGに電圧信号Vpreの電圧が加えられて、フローティングゲートFGの電位が閾値に達すると、MOSトランジスタ41がオフとなり、MOSトランジスタ42がオンとなる。この結果、パルス発生器44から第1ポストスパイクパルスが第1ポストスパイク線POLaに出力される。また、第1ポストスパイクパルスと同期して、本体部18からパルス幅Twの第2ポストスパイクパルスが第2ポストスパイク線POLbに出力される。
 さらに、ビット線ドライバ19によって、第1ポストスパイクパルスの出力と同時に、第1ポストスパイクパルスのパルス幅とほぼ同じ期間においてビット線電位差ΔVBが正とされ、この後にビット線電位差ΔVBが負とされる。この後、第1ポストスパイクパルスの発生時から規定時間Twの経過した時点で、ビット線電位差ΔVBが0Vにされる。
 第2プレスパイクパルスは、上述のように第1プレスパイクパルスと同時に出力が開始され、規定時間Twと同じパルス幅を有している。このため、例えば、図6に示されるように、上記の第1ポストスパイクパルスが出力されたタイミングから時間Twだけ遡った期間内に、第1プレスパイクパルスがシナプス回路11に入力されると、そのシナプス回路11の選択部15には、第2プレスパイクパルスの入力中に第1ポストスパイクパルスが入力される。この結果、第1ポストスパイクパルスとほぼ同時に、選択部15から選択信号が荷重記憶部14に出力され、ビット線電位差ΔVBが正となっている期間に、その荷重記憶部14内のMOSトランジスタ23、24がそれぞれオンになる。
 上記のようにMOSトランジスタ23、24がそれぞれオンになると、ビット線BLの電位がビット線BLBよりも高いので、書き込み電流が、ビット線BLからMOSトランジスタ23、MTJ素子31、MTJ素子33、MOSトランジスタ24を経てビット線BLBに至る経路で流れる。これにより、MTJ素子31は、高抵抗になり、MTJ素子33は、低抵抗になる。この結果、シナプス回路11は、第1結合荷重を記憶した状態になる。
 なお、このようにパルス時間差ΔTが規定時間Tw以下で、第1ポストスパイクパルスよりも第1プレスパイクパルスが先行する場合には、MOSトランジスタ23、24と同時にMOSトランジスタ25がオンになる。一方、上述のように電源線PLの電圧を|ΔVB|/2程度としている。このため、MOSトランジスタ23、24と同時にMOSトランジスタ25がオンになっても、ビット線BLと電源線PLとの間、及び電源線PLとビット線BLBとの間のいずれにも電位差を生じるため、上記のように書き込み電流が流れ、MTJ素子31、33によって第1結合荷重が記憶された状態になる。
 一方、第2ポストスパイクパルスは、第1ポストスパイクパルスと同時に出力が開始され、規定時間Twと同じパルス幅を有している。このため、図7に示されるように、上記の第1ポストスパイクパルスが出力されてから規定時間Twが経過するまでの期間内に、第1プレスパイクパルスがシナプス回路11に入力されると、そのシナプス回路11の選択部15には、第2ポストスパイクパルスの入力中に第1プレスパイクパルスが入力される。この結果、第1プレスパイクパルスとほぼ同時に、選択部15から選択信号が荷重記憶部14に出力されるので、ビット線電位差ΔVBが負となっている期間に、その荷重記憶部14内のMOSトランジスタ23、24がそれぞれオンになる。
 上記のようにMOSトランジスタ23、24がそれぞれオンになると、ビット線BLBの電位がビット線BLよりも高いので、書き込み電流が、ビット線BLBからMOSトランジスタ24、MTJ素子33、MTJ素子31、MOSトランジスタ23を経てビット線BLに至る経路で流れる。これにより、MTJ素子31は、低抵抗になり、MTJ素子33は、高抵抗になる。この結果、シナプス回路11は、第2結合荷重を記憶した状態になる。
 なお、第1ポストスパイクパルスに対して時間Twを超えて第1プレスパイクパルスが先行している場合には、第2プレスパイクパルスが入力されていない選択部15に第1ポストスパイクパルスが入力される。また、第1プレスパイクパルスに対して時間Twを超えて第1ポストスパイクパルスが先行している場合には、第2ポストスパイクパルスが入力されていない選択部15に第1プレスパイクパルスが入力される。これらの場合には、選択信号が発生しないから、結合荷重の書き込み動作を荷重記憶部14は行わない。
 上記のようにして各シナプス回路11は、その結合荷重が書き換えられ、書き換え後に第1プレスパイクパルスが入力されると、上記同様にして新たな結合荷重に応じた電圧信号Vpreをニューロン回路17に出力する。また、ニューロン回路17は、フローティングゲートFGの電位が閾値に達すると、上記同様に第1ポストスパイクパルス,第2ポストスパイクパルスを出力する。そして、各シナプス回路11では、第1ポストスパイクパルスが入力されたタイミングの前後の時間Twの各期間内に第1プレスパイクパルスが入力されると、再び結合荷重が書き換えられる。以上のようにして、各シナプス回路11の結合荷重が更新されて,各シナプス回路11には最終的なものが保持される。
 上記のように学習モードでは、書き込み電流を流してMTJ素子31、33の磁化状態を変化させているが、MTJ素子31、33を平行状態と反平行状態との相互に変化させるのに要する時間(以下、書き換え時間という)は、非常に短いため、高速な動作が可能である。例えば、MTJ素子31、33の書き換え時間は、ReRAMに対して1/10程度ある。
 以上のように認知モード、学習モードのいずれにおいても、ニューラルネットワーク回路装置10は、高速かつ低電力で動作が可能であり、より最適な構成になっている。また、結合荷重の書き込みを許容する時間窓を、第1ポストスパイクパルスに対して第1プレスパイクパルスが先行する場合には、第1時間窓パルスとしての入力回路20aからの第2プレスパイクパルスを用いて、第1プレスパイクパルスに対して第1ポストスパイクパルスが先行する場合には、第2時間窓パルスとしてのニューロン回路17からの第2ポストスパイクパルスを用いてそれぞれ規定し、結合荷重の書き込みタイミングの制御は、第1ポストスパイクパルスに対して第1プレスパイクパルスが先行する場合には、第1書き込み制御パルスとしてのニューロン回路17からの第1ポストスパイクパルスを用いて、第1プレスパイクパルスに対して第1ポストスパイクパルスが先行する場合には、第2書き込み制御パルスとしての入力回路20aからの第1プレスパイクパルスを用いてそれぞれ規定しているので、STDPに基づくシナプス回路の駆動を簡単にすることができる。延いては、STDPに基づく駆動を簡単な回路構成で実現することができる。
 また、シナプス回路が記憶する結合荷重は、相対的に重みが大きい第1結合荷重と小さい第2結合荷重のいずれかとなる二値のものでも、重みが異なる3以上の結合荷重のうちのいずれかとなる多値のものでもよい。
 シナプス回路が記憶する結合荷重を多値とする場合には、例えば各シナプス回路にそれぞれ、荷重記憶部と選択部とからなる記憶ユニットを複数(例えばM個)設け、各荷重記憶部は、上記と同様に、それぞれ第1結合荷重または第2結合荷重のいずれかを記憶するように構成する。1個のシナプス回路内における各選択部に入力される第2ポストスパイクパルスのパルス幅を時間Tw(Twは規定時間)内で互いに異なるものとし、同様に第2プレスパイクパルスのパルス幅を時間Tw(Twは規定時間)内で互いに異なるものとする。これにより、第1ポストスパイクパルスと第1プレスパイクパルスとのパルス時間差ΔTの長短に応じて、選択信号が入力される荷重記憶部の個数が増減する。
 1つのシナプス回路に注目すると、第1プレスパイクパルスが第1ポストスパイクパルスに先行する場合には、パルス時間差ΔTが小さいほど第1結合荷重が書き込まれる荷重記憶部の個数が多くなり、パルス時間差ΔTが大きいほど第1結合荷重が書き込まれる荷重記憶部の個数が少なくなる。逆に、第1ポストスパイクパルスが第1プレスパイクパルスに先行する場合には、パルス時間差ΔTが小さいほど第2結合荷重が書き込まれる荷重記憶部の個数が多くなり、パルス時間差ΔTが大きいほど第2結合荷重が書き込まれる荷重記憶部の個数が少なくなる。結果的に、1つのシナプス回路は、第1結合荷重を0個ないしM個の荷重記憶部に記憶した状態(第1結合荷重を記憶していない荷重記憶部には第2結合荷重が記憶される)に対応したM+1種類の結合荷重を記憶することができる。
 この場合にも、各荷重記憶部は、入力信号としての第1プレスパイクパルスが出力されているときに、記憶している結合荷重に応じた電圧または電流を本体部にそれぞれ出力する。1個のシナプス回路からは、第1プレスパイクパルスの入力に応答して、その各荷重記憶部に記憶している結合荷重に応じた各電圧または各電流が本体部に出力される。本体部は、入力される各電圧または各電流の総和に基づいて動作するから、1つのシナプス回路からの各電圧または各電流についてもそれらの和に基づいて動作することになり、結果的にシナプス回路が記憶しているM+1種類の結合荷重のうちのいずれかの結合荷重を本体部に出力することになる。
[第2実施形態]
 第2実施形態は、時間窓の制御をプレニューロン回路側からの信号だけで行い、結合荷重の書き込みタイミングの制御をポストニューロン回路側からの信号だけで行うものである。なお、以下に詳細を説明する他は、第1実施形態と同様であり、実質的に同じ構成部材には同一の符号を付して、その詳細な説明を省略する。
 図8において、第2実施形態に係るニューラルネットワーク回路装置60は、第1実施形態に係るニューラルネットワーク回路装置と同様な構成であるが、第1及び第2ポストスパイク線が設けられていない。ニューロン回路17の本体部18は、第1ポストスパイクを次段のニューロン回路との間に設けたシナプス回路のみに送る。なお、本体部18は、第2ポストスパイクは出力しない。
 また、ビット線ドライバ19は、学習モードの際に、ビット線BL,BLBの電位を制御して、第1ポストスパイクパルスと同時に第1ポストスパイクパルスのパルス幅とほぼ同じ時間でビット線電位差ΔVBをパルス状に正とし、第1ポストスパイクパルスの発生から時間Twの経過後に第1ポストスパイクパルスのパルス幅とほぼ同じ時間でビット線電位差ΔVBをパルス状に負とする。この例では、このパルス状のビット線電位差ΔVBの正の変化が第1書き込みパルスであり、パルス状のビット線電位差ΔVBの負の変化が第2書き込みパルスとして機能する。
 さらに、シナプス回路11は、荷重記憶部64のみで構成されており、荷重記憶部64には、電源線PL、ソース線SL、ビット線BL、BLB、プレスパイク線PrLの他、ワード線WLが接続されている。
 図9に示すように、荷重記憶部64は、それを構成するMOSトランジスタ23、24のゲートがワード線WLに接続されている。したがって、MOSトランジスタ23、24は、第2プレスパイクパルスが出力されている間にオンとなる。荷重記憶部64の構成は、これらのMOSトランジスタ23、24の接続の他は、第1実施形態の荷重記憶部と同じである。なお、認知モードにおける、荷重記憶部64の動作及びニューラルネットワーク回路装置60の動作は、第1実施形態と同じである。
 上記のように構成されるニューラルネットワーク回路装置60では、プレニューロン回路としての入力回路からの第2プレスパイクパルスが、第1ポストスパイクパルスに対して第1プレスパイクパルスが先行する場合及び第1プレスパイクパルスに対して第1ポストスパイクパルスが先行する場合の時間窓を規定する。したがって、この例では、第2プレスパイクパルスが共通時間窓パルスである。
 図10、図11に示すように、学習モードでは、本体部18からの第1ポストスパイクパルスの発生と同時に、ビット線ドライバ19によって、ビット線電位差ΔVBが第1ポストスパイクパルスのパルス幅とほぼ同じ時間だけ正とされ、その後に「0V」とされる。この後に、第1ポストスパイクパルスの発生から時間Twが経過した時点でビット線電位差ΔVBが第1ポストスパイクパルスのパルス幅とほぼ同じ時間だけ負とされ、その後に「0V」とされる。
 第1プレスパイクパルスと同時に出力される第2プレスパイクパルスのパルス幅が時間Twである。このため、例えば、図10に示されるように、第1ポストスパイクパルスに対して第1プレスパイクパルスが先行し、それらのパルス時間差ΔTが規定時間Tw以内である場合には、第2プレスパイクパルスによってMOSトランジスタ23、24がオンとなっている期間中に、ビット線電位差ΔVBが正となる。この結果、書き込み電流がビット線BLからMOSトランジスタ23、MTJ素子31、MTJ素子33、MOSトランジスタ24を経てビット線BLBに至る経路で流れる。これにより、MTJ素子31が高抵抗になり、MTJ素子33が低抵抗になって荷重記憶部64は、第1結合荷重を記憶した状態になる。
 また、第1プレスパイクパルスと同時に出力される第2プレスパイクパルスのパルス幅が時間Twであって、さらに第1ポストスパイクパルスから時間Twだけ遅れてビット線電位差ΔVBが負になる。このため、例えば、図11に示されるように、第1プレスパイクパルスに対して第1ポストスパイクパルスが先行し、それらのパルス時間差ΔTが規定時間Tw以内である場合には、第2プレスパイクパルスによってMOSトランジスタ23、24がオンとなっている期間中に、ビット線電位差ΔVBが負となる。この結果、書き込み電流がビット線BLBからMOSトランジスタ24、MTJ素子33、MTJ素子31、MOSトランジスタ23を経てビット線BLに至る経路で流れる。これにより、MTJ素子31は、低抵抗になり、MTJ素子33は、高抵抗になって、シナプス回路11が第2結合荷重を記憶した状態になる。
 なお、第1ポストスパイクパルスに対して時間Twを超えて第1プレスパイクパルスが先行している場合及び第1プレスパイクパルスに対して時間Twを超えて第1ポストスパイクパルスが先行している場合では、第2プレスパイクパルスが荷重記憶部64に入力されている期間外でビット線電位差ΔVBが正または負となる。したがって、この場合には、結合荷重の書き込み動作を荷重記憶部64は行わない。
 この第2実施形態では、結合荷重の書き込みを許容する時間窓を、共通時間窓パルスとしての入力回路20aからの第2プレスパイクパルスを用いて規定し、結合荷重の書き込みタイミングの制御を、第1書き込みパルスとしてのパルス状のビット線電位差ΔVBの正の変化と、第2書き込みパルスとしてのパルス状のビット線電位差ΔVBの負の変化とを用いて規定しているので、STDPに基づくシナプス回路の駆動を簡単にすることができる。また、延いては、STDPに基づく駆動を簡単な回路構成で実現することができる。
[第3実施形態]
 第3実施形態は、第2実施形態とは逆に時間窓の制御をポストニューロン回路側からの信号だけで行い、結合荷重の書き込みタイミングの制御をプレニューロン回路側からの信号だけで行うものである。なお、以下に詳細を説明するように、ビット線ドライバによるビット線電位差ΔVBの変化と、第2プレスパイクパルスのパルス幅が異なる他は、第2実施形態と同様であり、ニューラルネットワーク回路装置及びシナプス回路として図8、図9を参照し、実質的に同じ構成部材には同一の符号を付して、その詳細な説明を省略する。
 第3実施形態では、ニューラルネットワーク回路装置60の入力回路20aは、図12、図13に示すように、第2プレスパイクパルスを、第1プレスパイクパルスから時間Twだけ遅延させて出力する。この例では、第2プレスパイクパルスは、第1プレスパイクパルスと同じパルス幅を有する。第2プレスパイクパルスは、第1ポストスパイクパルスに対して第1プレスパイクパルスが先行する場合及び第1プレスパイクパルスに対して第1ポストスパイクパルスが先行する場合の共通書き込みパルスである。
 また、ビット線ドライバ19は、学習モードの際に、第1ポストスパイクパルスとほぼ同時にビット線電位差ΔVBをパルス状に正とし、このビット線電位差ΔVBを時間Twの期間だけ継続してから、ビット線電位差ΔVBを時間Twの期間だけ継続してパルス状に負にする。この例では、正のビット線電位差ΔVBのパルス状の変化が第1時間窓パルスであり、負のビット線電位差ΔVBのパルス状の変化が第2時間窓パルスである。
 この例では、第1プレスパイクパルスに対して第2プレスパイクパルスが時間Twだけ遅延して出力されるとともに、第1ポストスパイクパルスとほぼ同時にビット線電位差ΔVBが正になり、その正のビット線電位差ΔVBが時間Twだけ継続される。このため、例えば、図12に示されるように、第1ポストスパイクパルスに対して第1プレスパイクパルスが先行し、それらのパルス時間差ΔTが規定時間Tw以内である場合には、ビット線電位差ΔVBが正となっている期間中に、第2プレスパイクパルスによってMOSトランジスタ23、24がオンになる。これにより、MTJ素子31が高抵抗になり、MTJ素子33が低抵抗になって荷重記憶部64は、第1結合荷重を記憶した状態になる。
 また、第1プレスパイクパルスに対して第2プレスパイクパルスが時間Twだけ遅延して出力されるとともに、第1ポストスパイクパルスから時間Twだけ遅延してビット線電位差ΔVBが負になり、その負のビット線電位差ΔVBが時間Twだけ継続される。このため、例えば、図13に示されるように、第1プレスパイクパルスに対して第1ポストスパイクパルスが先行し、それらのパルス時間差ΔTが規定時間Tw以内である場合には、ビット線電位差ΔVBが負となっている期間中に、第2プレスパイクパルスによってMOSトランジスタ23、24がオンとなる。これにより、MTJ素子31は、低抵抗になり、MTJ素子33は、高抵抗になる。この結果、シナプス回路11は、第2結合荷重を記憶した状態になる。
 この第3実施形態によっても、第2実施形態と同様にSTDPに基づくシナプス回路の駆動を簡単にすることができる。また、延いては、STDPに基づく駆動を簡単な回路構成で実現することができる。
[第4実施形態]
 第4実施形態は、シナプス回路を複数の荷重記憶部で構成し、第1ポストスパイクパルスと第1プレスパイクパルスとのパルス時間差に応じて、シナプス回路が記憶している結合荷重を段階的に変化させるものである。なお、以下に詳細を説明する他は、第3実施形態と同様であり、実質的に同じ構成部材には同一の符号を付して、その詳細な説明を省略する。
 この例では、図14に示すように、シナプス回路11は、列方向に並ぶ複数、この例では4個の荷重記憶部64A~64Dを有している。荷重記憶部64A~64Dは、第3実施形態の荷重記憶部64(図9参照)と同じ構成であり、ビット線BL、BLB、プレスパイク線PrL、ワード線WL、出力線OLに同様に接続されている。また、電源線、ソース線についても同様に接続されているが、図14ではこれらを省略して描いてある。荷重記憶部64A~64Dは、共通のビット線BL、BLBに接続されているが、プレスパイク線PrL、ワード線WLについては互いに異なる行のものに接続されている。また、荷重記憶部64A~64Dからの出力線OLは、それぞれ同じ列のニューロン回路17に接続されている。
 入力回路20aは、シナプス回路11の荷重記憶部64A~64Dに対応した遅延回路66a~66dを有しており、それぞれ対応する荷重記憶部64A~64Dにワード線WLを介して接続されている。遅延回路66a~66dは、第1プレスパイクパルスがそれぞれ入力され、入力される第1プレスパイクパルスを予め設定された遅延時間だけ遅延させた第2~第5プレスパイクパルス(以下、これらを区別しない場合には遅延プレスパイクパルスと称する)を対応するワード線WLに出力する。この例では、第2~第5プレスパイクパルスのそれぞれが共通書き込みパルスである。
 遅延回路66a~66dには、互いに異なる遅延時間が設定されている。この例では、遅延回路66aの遅延時間は1/4Tw、遅延回路66bの遅延時間は1/2Tw、遅延回路66cの遅延時間は3/4Tw、遅延回路66dの遅延時間はTwであり、遅延時間を1/4Twステップで設定している。なお、遅延時間は適宜設定でき、例えば遅延時間が非線形(不等間隔)に増加するように設定してもよい。
 学習モードでは、図15に一例を示すように、第1プレスパイクパルスを基準にして、遅延時間1/4Twだけ遅延した第2プレスパイクパルス、遅延時間1/2Twだけ遅延した第3プレスパイクパルス、遅延時間は3/4Twだけ遅延した第4プレスパイクパルス、遅延時間Twだけ遅延した第5プレスパイクパルスが生成される。
 なお、上記の遅延時間は、一例であり遅延時間は適宜設定できる。例えば、遅延時間が非線形(不等間隔)に増加するように設定してもよい。また、値Sを2以上の整数、遅延時間を1/S・Tw、2/S・Tw、…、(S-1)/S・Tw、Twとして、値Sを任意に設定するようにしてもよい。
 上記のように、第1プレスパイクパルスから異なる遅延時間すなわち相互に時間差を有する第2~第5プレスパイクパルスが入力回路20aから対応するワード線WLに出力される。これにより、荷重記憶部64Aには第2プレスパイクパルスが、荷重記憶部64Bには第3プレスパイクパルスが、荷重記憶部64Cには、第4プレスパイクパルスが、荷重記憶部64Dには第5プレスパイクパルスがそれぞれ異なるタイミングで入力される。
 例えば、第1ポストスパイクパルスに対して第1プレスパイクパルスが先行し、パルス時間差ΔTが時間Tw以下となる場合では、ビット線電位差ΔVBが正となっている期間中に第2~第5プレスパイクパルスが入力されるシナプス回路11中の荷重記憶部の個数が段階的に増加する。したがって、この場合には、パルス時間差ΔTが小さくなるほど、シナプス回路11中の第1結合荷重が書き込まれる荷重記憶部の個数が段階的に増加する。
 具体的には、第1ポストスパイクパルスに対して第1プレスパイクパルスが先行し、パルス時間差ΔTが時間Tw以下であり3/4Twより大きくなる範囲では、ビット線電位差ΔVBが正となっている期間中に第5プレスパイクパルスが荷重記憶部64Dに入力され、この荷重記憶部64Dに第1結合荷重が書き込まれる。しかし、第2~第4プレスパイクパルスは、ビット線電位差ΔVBが正となる前に荷重記憶部64A~64Cに入力されるため、荷重記憶部64A~64Cの結合荷重は書き換えられない。
 また、図15に実線で示されるように、第1ポストスパイクパルスに対して第1プレスパイクパルスが先行し、パルス時間差ΔTが1/2Twより大きく3/4Tw以下となる範囲では、ビット線電位差ΔVBが正となっている期間中に荷重記憶部64C、64Dに第4及び第5プレスパイクパルスが入力される。このため、荷重記憶部64C、64Dに第1結合荷重がそれぞれ書き込まれる。これに対して、第2、第3プレスパイクパルスは、ビット線電位差ΔVBが正となる前に荷重記憶部64A~64Bに入力されるため、荷重記憶部64A、64Bの結合荷重は書き換えられない。
 同様に、パルス時間差ΔTが1/4Twより大きく1/2Tw以下となる範囲では荷重記憶部64B~64Dに第1結合荷重がそれぞれ書き込まれ、荷重記憶部64Aの結合荷重は書き換えられない。さらに、パルス時間差ΔTが1/4Tw以下となる範囲では、荷重記憶部64A~64Dのそれぞれに第1結合荷重が書き込まれる。
 なお、第1ポストスパイクパルスに対して第1プレスパイクパルスが先行している場合で、パルス時間差ΔTが規定時間Twを超えているときには、ビット線電位差ΔVBが正となる前に第2~第5プレスパイクパルスの全てが荷重記憶部64A~64Dに入力されるため、荷重記憶部64A~64Dの結合荷重は書き換えられない。
 一方、第1プレスパイクパルスに対して第1ポストスパイクパルスが先行し、パルス時間差ΔTが時間Tw以下となる場合では、パルス時間差ΔTが大きくなるほど、ビット線電位差ΔVBが負となっている期間中に第2~第5プレスパイクパルスが入力されるシナプス回路11中の荷重記憶部の個数が増加する。また、この場合では、パルス時間差ΔTが大きく増加するのにしたがって、ビット線電位差ΔVBが正となっている期間中に、第2~第5プレスパイクパルスが入力されるシナプス回路11中の荷重記憶部の個数が減少する。したがって、パルス時間差ΔTが大きくなるほど、シナプス回路11中の第1結合荷重が書き込まれる荷重記憶部の個数が段階的に減少するとともに、第2結合荷重が書き込まれる荷重記憶部の個数が段階的に増加する。なお、図15では、第1プレスパイクパルスに対して第1ポストスパイクパルスが先行し、パルス時間差ΔTが3/4Twよりも大きくなっている場合を二点鎖線で示してある。
 また、第1プレスパイクパルスに対して第1ポストスパイクパルスが先行し、パルス時間差ΔTが規定時間Twを超えて時間2Twに達するまでの範囲では、シナプス回路11中の第2結合荷重が書き込まれる荷重記憶部の個数が段階的に減少し、結合荷重が書き換えられない荷重記憶部の個数が段階的に増加する。第1プレスパイクパルスに対して第1ポストスパイクパルスが先行し、パルス時間差ΔTが時間2Twを超える範囲では、荷重記憶部64A~64Dの結合荷重は書き換えられない。
 認知モード及び学習モードのいずれのモードでも、ニューロン回路17の本体部18は、各シナプス回路11の各荷重記憶部からそれぞれ出力される電圧信号Vpreの電圧レベルの総和を参照している。このため、1個のシナプス回路11に注目すると、その1個のシナプス回路11中の荷重記憶部64A~64Dから出力される電圧信号Vpreの電圧レベルの総和を本体部18が参照していることになる。したがって、実質的に、シナプス回路11は、第1結合荷重を記憶している荷重記憶部の個数と第2結合荷重を記憶している荷重記憶部の個数とで決まる重み付けされたプレスパイクパルスをニューロン回路17に出力することになる。このとき、重み付けされたプレスパイクパルスは、第1結合荷重を記憶している荷重記憶部の個数が多いほど大きな重み付けがされ、第2結合荷重を記憶している荷重記憶部の個数が多いほど小さな重み付けがされていることなり、多値の結合荷重をシナプス回路11に記憶できる。
 以上のように、この例によれば、第1ポストスパイクパルス及び第1プレスパイクパルスの先後関係と、パルス時間差ΔTとによって、シナプス回路11中の第1結合荷重及び第2結合荷重が書き込まれる荷重記憶部の個数を段階的に変化させることができる。しかも、共通書き込みパルスとなる第2~第5プレスパイクパルスの遅延時間を調整することにより容易に変化態様を変えることできる。
 上記では、ビット線電位差ΔVBが正となっている期間(以下、「第1期間」という)と、ビット線電位差ΔVBが負となっている期間(以下、第2期間という)とが同じ長さ(時間長)であり、かつそれぞれを規定時間Twと同じにしているが、第1期間の長さ、第2期間の長さ及び規定時間Twの関係は、これに限定されない。例えば、第1期間の長さと規定時間とを同じにし、これらと第2期間の長さとを異なるものとしてもよく、第2期間の長さと規定時間とを同じにし、これらと第1期間の長さとを異なるものとしてもよい。また、第1期間と第2期間の長さを同じにして、これらと規定時間Twとを異なるものとしてもよく、第1期間の長さ、第2期間の長さ及び規定時間Twを互いに異なるものとしてもよい。
 上記の例では、1個のシナプス回路内において遅延時間が異なる遅延プレスパイクパルスが入力される荷重記憶部の個数をそれぞれ1個としているが、一部または全部を複数個としてもよい。また、遅延プレスパイクパルスの遅延時間ごとに、その遅延プレスパイクパルスが入力される荷重記憶部の個数や遅延時間を変えることによって、パルス時間差ΔTに基づく結合荷重の変化量を異なるもとのすることもできる。この場合、例えば、1個のシナプス回路内の荷重記憶部の個数を、遅延時間が小さい遅延プレスパイクパルスが入力されるものほど個数を多くする。各遅延時間の遅延プレスパイクパルスが入力される荷重記憶部の個数や遅延時間を任意に設定可能(プログラマブル)としておき、予めこれらを適宜設定してニューラルネットワーク回路装置を作動させることも好ましい。
 マトリクス状に配列された複数のシナプス回路の各行に、上記と同様に第1プレスパイクパルスを任意に設定される遅延時間で遅延させて遅延プレスパイクパルスを生成する遅延回路を設けるとともに、1つの入力回路に割り付ける行(遅延回路)を任意に設定できるようにした回路構成とすれば、各シナプス回路の荷重記憶部の個数、遅延時間を任意に調整でき、STDPに基づく多様なシナプス回路の駆動を実現できる。
 上記各実施形態では、1回の結合荷重の書き込み動作において、一対のビット線間で荷重記憶部に対してパルス状に書き込み電流を1回流しているが、1回の結合荷重の書き込み動作において、パルス状に書き込み電流を複数回流してもよい。結合荷重を記憶するMTJ素子では、書き込み電流を流しても希に正しく書き込みがなされない場合があるが、このように書き込み電流を複数回流することにより、確実に結合荷重の書き込みを行うことができる。この場合、シナプス回路に入力されて第1書き込みパルス、第2書き込みパルス、共通書き込みパルスとなるパルス(第1プレスパイクパルス、第1ポストスパイクパルス、ビット線の電位のパルス状の変化)を複数のパルスとなるようにすればよい。
 上記各例の荷重記憶部の構成は、一例であり、これらに特に限定されない。上記各例の荷重記憶部は、それぞれがMTJ素子を含む一対のインバータをクロスカップルした構成であるが、例えばMTJ素子を1個だけ用いた回路構成とすることもできる。また、スピン注入磁化反転(spin transfer torque:STT)方式の二端子型のMTJ素子を用いて荷重記憶部を構成しているが、MTJ素子の磁化反転の方式、端子数などは、これに限定されない。例えば、スピン軌道トルク反転(SOT:Spin Orbital Torque)方式の三端子型のMTJ素子を用いることができる。
 図16に示す荷重記憶部70は、1個のMTJ素子71を用いた構成例である。この荷重記憶部70では、MTJ素子71、N型MOSFETであるMOSトランジスタ72、73が設けられている。MTJ素子71は、第1実施形態のMTJ素子と同じく、磁化固定層71aと磁化自由層71bが絶縁膜71cを挟んで積層された構造を有する。荷重記憶部70は、このMTJ素子71の抵抗の高低(磁化自由層71bの磁化の向き)によって結合荷重の大小を記憶する。この例では、MTJ素子71の反平行状態が第1結合荷重であり、平行状態が第2結合荷重である。
 MTJ素子71は、磁化固定層71aがMOSトランジスタ72を介して電源線PLに、磁化自由層71bがソース線SLにそれぞれ接続されている。MOSトランジスタ72のゲートは、プレスパイク線PrLに接続され、MTJ素子71とMOSトランジスタ72との接続ノードがMOSトランジスタ73を介して接地されている。MOSトランジスタ73のゲートは、第2ポストスパイク線POLbに接続されている。コンデンサ36は、一方の電極がMTJ素子71とMOSトランジスタ72との接続ノードに接続されている。これにより、MTJ素子71の抵抗値に応じた電位(電圧)が、コンデンサ36を介して電圧信号Vpreとして出力線OLに出力される。
 この例では、第1プレスパイクパルスは、ハイアクティブである。また、ソース線SLは、その電位が入力回路20aよって制御される。ソース線SLの電位は、認知モードでは接地レベル(0V)とされている。また、学習モードにおいては、ソース線SLの電位は、通常は接地レベルとされているが、第1プレスパイクパルスが出力されることに同期して変化される。具体的には、第1プレスパイクパルスが立ち下がった時点から時間Twの期間においてソース線SLの電位が正、すなわち接地レベルよりも高くされ、続く時間Twの期間において、ソース線SLの電位が負、すなわち接地レベルよりも低くされる。このときの接地レベルに対するソース線SLの電位の大きさ(絶対値)は、MTJ素子71の磁化状態を変化させるのに必要な書き込み電流をMTJ素子71に流すことができるように決められている。
 第2ポストスパイク線POLbには、ニューロン回路17からの第2ポストスパイクパルスが供給される。第2ポストスパイクパルスは、第1ポストスパイクパルスよりも時間Twだけ遅延し、例えば第1ポストスパイクパルスと同じパルス幅を有するものとして、ニューロン回路17で生成される。なお、この例では、第1ポストスパイクパルスは、シナプス回路11には供給されない。
 学習モードの際に、入力回路20aは、第1プレスパイクパルスを出力した直後に、時間Twだけソース線SLの電位を正とし、続く時間Twの期間にソース線SLの電位を負とする。一方で、ニューロン回路17は、第1ポストスパイクパルスを出力すると、この第1ポストスパイクパルスから時間Twだけ遅延して第2ポストスパイクパルスを出力する。この第2ポストスパイクパルスによってMOSトランジスタ73がオンとなり、MTJ素子71がソース線SLと接地との間に接続された状態になる。このため、ソース線SLの電位が正または負となっている期間中に、第2ポストスパイクパルスが出力されてMOSトランジスタ73がオンとなると、MTJ素子71にソース線SLの電位に応じた向きの書き込み電流が流れる。
 例えば、第1プレスパイクパルスが第1ポストスパイクパルスに先行し、これらのパルス時間差ΔTが時間Tw以下である場合には、ソース線SLの電位が正となっているときに、第2ポストスパイクパルスが荷重記憶部70に入力される。このため、MOSトランジスタ73がオンになると、ソース線SLからMTJ素子71に向けて書き込み電流が流れMTJ素子71が反平行状態になる。したがって、荷重記憶部70に第1結合荷重が書き込まれる。
 一方、第1ポストスパイクパルスが第1プレスパイクパルスに先行し、これらのパルス時間差ΔTが時間Tw以下である場合には、ソース線の電位が負になっているときに、第2ポストスパイクパルスが荷重記憶部70に入力される。このため、MOSトランジスタ73がオンになると、MTJ素子71からソース線SLに向けて書き込み電流が流れて、MTJ素子71が平行状態になる。したがって、荷重記憶部70に第2結合荷重が書き込まれる。
 なお、第1ポストスパイクパルスと第1プレスパイクパルスとのいずれか一方が他方に対して時間Twを超えて先行している場合では、ソース線SLの電位が接地レベルとなっているときに、MOSトランジスタ73がオンになるので、結合荷重の書き込み動作は行われない。
 図17に示す荷重記憶部80は、三端子型のMTJ素子81を用いた構成である。MTJ素子81は、磁化固定層81aと磁化自由層81bとを絶縁膜81cを挟んで積層した積層体をチャネル層81d上に設けた構造である。積層体は、チャネル層81d側から磁化自由層81b、絶縁膜81c、磁化固定層81aの順番で積層されている。磁化固定層81a、磁化自由層81bは、強磁性体で形成されている。絶縁膜81cは、非磁性の絶縁体で形成されている。チャネル層81dは、反強磁性体を含む導電層であり、一方向に延びた板状に形成されている。このチャネル層81dの一方の面の中央部に積層体が設けられている。
 磁化固定層81aは、例えばその膜面に垂直な方向(図17の上下方向)の一方の向きに磁化の向きが固定され、磁化自由層81bは、その膜面に垂直な方向に磁化容易軸を有し、磁化の向きが磁化固定層81aと同じ向きの平行状態と逆向きの反平行状態とのいずれかに変えることができる。このMTJ素子81は、チャネル層81dの延びた方向に書き込み電流を流すことで生じるスピン軌道トルクの作用によって磁化自由層81bの磁化方向を変えることができ、磁化自由層81bの磁化方向を書き込み電流の向きに応じたものとすることができる。なお、磁化固定層81a、磁化自由層81bの磁化方向は、膜面に平行な方向であってもよい。
 磁化固定層81aの上面(絶縁膜81cが形成された面とは反対側の面)と、チャネル層81dの延びた方向の一端及び他端とをそれぞれ端子として、MTJ素子81が各部に接続されている。MTJ素子81は、磁化固定層81aの上面がMOSトランジスタ82を介して電源線PLに接続され、チャネル層81dの一端がMOSトランジスタ83を介して接地され、他端がソース線SLに接続されている。
 MOSトランジスタ82、83は、図16の例のMOSトランジスタ72、73と同様に、プレスパイク線PrL、第2ポストスパイク線POLbに接続されている。また、ソース線SLの電位の制御及び第2ポストスパイクパルスの発生タイミングについては、図16の例と同じである。
 MTJ素子81は、積層体に読み出し電圧を印加して、それを貫通する方向の読み出し電流を流し、読み出し電圧と読み出し電流とからMTJ素子81(積層体)の抵抗の高低を判別することができる。この例では、上述の各例と同様に、MTJ素子81の磁化状態(抵抗値)に応じた電圧の電圧信号Vpreとして取り出す。具体的には、MOSトランジスタ82がオンした際の磁化固定層81aの上面の電位を、コンデンサ36を介して電圧信号Vpreとして出力線OLに出力する。
 この図17の例においても、図16の例と同様に、ソース線SLの電位が制御されて正または負となっている期間中に、第2ポストスパイクパルスが荷重記憶部80に入力されることで、チャネル層81dに流れる書き込み電流の向きが変わる。これにより、第1ポストスパイクパルスと第1プレスパイクパルスとのいずれか一方が他方に対して先行し、これらのパルス時間差が規定時間Tw以下である場合に、MTJ素子81は、第1ポストスパイクパルスと第1プレスパイクパルスの先後関係に応じた磁化状態になる。この結果、第1ポストスパイクパルスと第1プレスパイクパルスとの先後に応じて、シナプス回路11に結合荷重を書き込むことができる。
 上記、図16、図17に示す各例では、いずれも接地レベルよりも高くパルス状に変化するソース線の電位の変化が第1時間窓パルスであり、接地レベルよりも低くパルス状に変化するソース線の電位の変化が第2時間窓パルスである。また、第2ポストスパイクパルスが共通書き込みパルスである。
 不揮発的に結合荷重を記憶する記憶素子としては、MTJ素子に限定されない。このような記憶素子としては、電気抵抗の違いを利用してデータを記憶するものを好ましく用いることができる。例えば、相変化メモリ(PCRAM:Phase Change Random Access Memory)に用いられ、相変化材料層に電流を流した際に発生するジュール熱によって相変化材料の相状態を変化させてデータの書き換えを行う相変化素子、ReRAM(Resistive RAM, Resistive Random Access Memory)に用いられ、電圧パルスの印加によって荷重記憶部の酸化物層の抵抗値を変化させる抵抗変化素子等が挙げられる。また、不揮発的に結合荷重を記憶する記憶素子として、強誘電体メモリ(Ferroelectric Random Access Memory)に用いられる強誘電体キャパシタを有する強誘電体メモリ素子を用いることもできる。また、その他のバイナリ不揮発記憶素子、例えば、NAND/NOR型フラッシュメモリ素子を用いることもできる。
 また、上記では、荷重記憶部として、不揮発的に結合荷重を記憶する例について説明しているが、SRAMやDRAM等のように電力を供給している間だけ結合荷重を記憶する揮発性の回路構成に利用できる。
 図18に示す荷重記憶部90Aは、直列に接続されたMOSトランジスタ91a及びMOSトランジスタ91bからなるインバータ21Aと、直列に接続されたMOSトランジスタ92a及びMOSトランジスタ92bからなるインバータ22AとをクロスカップルさせてSRAMと同様な回路構成としたものである。なお、以下に詳細を説明する他は、第2実施形態または第3実施形態と同じである。
 ドライブトランジスタとしてのMOSトランジスタ91a、92aは、N型MOSFETであり、ロードトランジスタとしてのMOSトランジスタ91b、92bは、P型MOSFETである。MOSトランジスタ91b、92bの各ソースが電源線PLに直接に接続され、MOSトランジスタ91a、92aの各ソースがソース線SLに接続されている。これにより、インバータ21A、22Aに継続的に電力供給を行って、結合荷重を保持する。結合荷重は、MOSトランジスタ91a、91b(またはMOSトランジスタ91b、92b)のオン、オフの組み合わせとして保持される。
 MOSトランジスタ91a、91bのドレイン同士が接続された接続ノードSNは、MOSトランジスタ23を介してビット線BLに接続されるとともに、インバータ22Aの各MOSトランジスタ92a、92bのゲートに接続されている。MOSトランジスタ92a、92bのドレイン同士が接続された接続ノードSNBは、MOSトランジスタ24を介してビット線BLBに接続されるとともに、インバータ21Aの各MOSトランジスタ91a、92aのゲートに接続されている。
 この荷重記憶部90Aでは、出力回路部として、コンデンサ36とともにスイッチ部93が設けられている。コンデンサ36とスイッチ部93とは、直列に接続されており、コンデンサ36の一端がスイッチ部93を介して接続ノードSNBに接続されている。スイッチ部93は、第1プレスパイクパルスが入力されているときにオンとなるものであり、プレスパイク線PrLに接続されている。これにより、第1プレスパイクパルスに応答して、荷重記憶部90Aに記憶されている結合荷重に応じた電圧信号Vpreがコンデンサ36の他端から出力される。なお、スイッチ部93は、オンのときのオン抵抗が0Ω、オフの時のオフ抵抗が無限大となる理想スイッチに近い特性を有する回路、例えばCMOSを用いた回路構成とすることが好ましい。
 例えば、MOSトランジスタ91aがオフ(MOSトランジスタ91bがオン)、MOSトランジスタ92aがオン(MOSトランジスタ92bがオフ)である場合には、接続ノードSNBがLレベル(0V)となり、0Vの電圧信号が出力される。一方、MOSトランジスタ91aがオン(MOSトランジスタ91bがオフ)、MOSトランジスタ92aがオフ(MOSトランジスタ92bがオン)である場合には、接続ノードSNBがHレベルとなり、相対的に高い電圧信号が出力される。
 荷重記憶部90Aでは、学習モードの際に、第2実施形態または第3実施形態と同様に第2ポストスパイクパルスを発生させ、またビット線BL、BLBの電位を切り替えることによって第1結合荷重または第2結合荷重の書き込みを制御する。ビット線BL、BLBの電位は、ビット線電位差ΔVBの正負に代えて、ビット線BLがHレベル、ビット線BLBがLレベルの状態と、ビット線BLがLレベル、ビット線BLBがHレベルの状態とに変化させる。例えば、第1結合荷重を書き込む場合には、ビット線BLをLレベル、ビット線BLBをHレベルとし、第2結合荷重を書き込む場合には、ビット線BLをHレベル、ビット線BLBをLレベルとする。
 なお、図18の例では、ロードトランジスタを用いているが、各ロードトランジスタに代えて、図19に示す荷重記憶部90Bのように、抵抗素子96を用いてもよい。
 上記の各例では、重み付けプレスパイクパルスとして電圧信号を出力する例について説明しているが、結合荷重に応じて電流が増減される電流信号を重み付けプレスパイクパルスとして出力してもよい。図20に示す例は、荷重記憶部64の出力回路部を重み付けプレスパイクパルスとして電流信号を出力するように構成したものである。
 出力回路部は、P型MOSFETからなるMOSトランジスタ98で構成される。したがって、コンデンサ36(図9参照)に代えてMOSトランジスタ98を設けてある。MOSトランジスタ98は、ソースが接続ノードSNBに接続され、ドレインが出力線OLに接続されている。MOSトランジスタ98のゲートは、プレスパイク線PrLに接続されている。これにより、第1プレスパイクパルスに応答して、MOSトランジスタ25、98がそれぞれオンすることで、荷重記憶部97が記憶している結合荷重に応じた電流信号Ipreを出力することができる。なお、電流信号を用いる場合には、ニューロン回路には、電流を積分する回路を設ければよい。
 他の荷重記憶についても同様に、重み付けプレスパイクパルスとして電流信号を出力するようにすることができる。図21に示す例は、上述の荷重記憶部14の出力回路部を電流信号Ipreを出力する構成としたものである。同様に、図22に示す例は、荷重記憶部70の出力回路部を、図23に示す例は、荷重記憶部80の出力回路部を、それぞれ電流信号Ipreを出力する構成としたものである。これらの荷重記憶部70、80の出力回路部では、第1プレスパイクパルスがハイアクティブであるため、N型MOSFETであるMOSトランジスタ98Aを出力回路部として用いている。また、図24に示す例は、荷重記憶部90Aの出力回路部を、図25に示す例は、荷重記憶部90Bの出力回路部を、それぞれ電流信号Ipreを出力する構成としたものである。なお、出力回路部の構成は、適宜に変更することができる。
 10、60 ニューラルネットワーク回路装置
 11 シナプス回路
 14、64、64A~64D、70、80、90A、90B 荷重記憶部
 17 ニューロン回路
 20a 入力回路
 31、33、71、81 MTJ素子
 66a~66d 遅延回路

Claims (10)

  1.  第1結合荷重または第2結合荷重のいずれか一方をシナプス結合荷重として記憶する荷重記憶部を有し、プレニューロン回路とポストニューロン回路との間に接続され、前記プレニューロン回路から入力されるプレスパイクパルスに前記シナプス結合荷重で重み付けをした重み付けプレスパイクパルスを前記ポストニューロン回路に出力するとともに、前記プレスパイクパルスと前記ポストニューロン回路が出力するポストスパイクパルスの先後及びパルス時間差に基づいて前記シナプス結合荷重を書き込むシナプス回路の駆動方法において、
     前記プレニューロン回路と前記ポストニューロン回路とのいずれか一方から、前記プレスパイクパルスが前記ポストスパイクパルスに対して先行する場合についての、前記荷重記憶部に前記シナプス結合荷重の書き込みを許容する第1時間窓を規定する第1時間窓パルスを前記シナプス回路に入力し、他方から前記荷重記憶部に前記シナプス結合荷重の書き込みタイミングとなる、パルス幅が前記第1時間窓パルスよりも短い第1書き込みパルスを前記シナプス回路に入力し、
     前記プレニューロン回路と前記ポストニューロン回路とのいずれか一方から、前記ポストスパイクパルスが前記プレスパイクパルスに対して先行する場合についての、前記荷重記憶部に前記シナプス結合荷重の書き込みを許容する第2時間窓を規定する第2時間窓パルスを前記シナプス回路に入力し、他方から前記荷重記憶部に前記シナプス結合荷重の書き込みタイミングとなる、パルス幅が前記第2時間窓パルスよりも短い第2書き込みパルスを前記シナプス回路に入力し、
     前記第1時間窓パルスと前記第1書き込みパルスとが同時に前記シナプス回路に入力されているとき、及び前記第2時間窓パルスと前記第2書き込みパルスとが同時に前記シナプス回路に入力されているときに前記荷重記憶部が書き込み動作を行う
     ことを特徴とするシナプス回路の駆動方法。
  2.  前記ポストニューロン回路から、前記ポストスパイクパルスに同期させて前記第2時間窓パルスを出力するとともに、前記ポストスパイクパルスを前記第1書き込みパルスとして前記シナプス回路に入力し、
     前記プレニューロン回路から、前記プレスパイクパルスに同期させて前記第1時間窓パルスを出力するとともに、前記プレスパイクパルスを前記第2書き込みパルスとして前記シナプス回路に入力する
     ことを特徴とする請求項1に記載のシナプス回路の駆動方法。
  3.  前記ポストニューロン回路によって書き込む前記シナプス結合荷重に対応した電位とされるビット線が前記荷重記憶部に接続されており、
     前記プレニューロン回路から前記プレスパイクパルスに同期させて前記第1時間窓パルス及び前記第2時間窓パルスとなる1個の共通時間窓パルスを出力し、
     前記ポストニューロン回路により、
     前記第1書き込みパルスとして、前記ポストスパイクパルスに同期させて、前記ビット線の電位を前記第1結合荷重に対応した第1電位にパルス状に変化させ、この第1電位への変化から前記共通時間窓パルスで規定する時間窓の長さの経過後に、前記第2書き込みパルスとして、前記ビット線の電位を前記第2結合荷重に対応した第2電位にパルス状に変化させる
     ことを特徴とする請求項1に記載のシナプス回路の駆動方法。
  4.  前記ポストニューロン回路によって書き込む前記シナプス結合荷重に対応した電位とされるビット線が前記荷重記憶部に接続されており、
     前記ポストニューロン回路により、前記プレスパイクパルスに同期させて前記ビット線の電位を前記第1結合荷重に対応した第1電位にパルス状に変化させることで前記第1時間窓パルスを前記シナプス回路に入力してから、前記ビット線の電位を前記第2結合荷重に対応した第2電位にパルス状に変化させることで前記第2時間窓パルスを前記シナプス回路に入力し、
     前記プレニューロン回路により、前記第1書き込みパルス及び前記第2書き込みパルスとなる1個の共通書き込みパルスを前記プレスパイクパルスから遅延させて出力する
     ことを特徴とする請求項1に記載のシナプス回路の駆動方法。
  5.  前記シナプス回路は、前記荷重記憶部を複数有し、
     前記荷重記憶部の各々に対して、前記プレスパイクパルスから互いに異なる遅延時間で遅延させた前記共通書き込みパルスを入力し、前記ポストスパイクパルスの先後及び前記パルス時間差に基づいて、前記第1結合荷重及び前記第2結合荷重を書き込む前記シナプス回路内の前記荷重記憶部の個数を変化させる
     ことを特徴とする請求項4に記載のシナプス回路の駆動方法。
  6.  前記共通書き込みパルスの各々の遅延時間及び前記シナプス回路内の各遅延時間に対応する前記荷重記憶部の個数を予め設定することを特徴とする請求項5に記載のシナプス回路の駆動方法。
  7.  1個の前記荷重記憶部に対する1回の前記シナプス結合荷重の書き込みの際に、前記第1書き込みパルス及び前記第2書き込みパルスをそれぞれ前記シナプス回路に複数回入力することを特徴とする請求項1ないし3のいずれか1項に記載のシナプス回路の駆動方法。
  8.  1個の前記荷重記憶部に対する1回の前記シナプス結合荷重の書き込みの際に、前記共通書き込みパルスをそれぞれ前記シナプス回路に複数回入力することを特徴とする請求項4または5に記載のシナプス回路の駆動方法。
  9.  前記荷重記憶部は、クロスカップルされ、それぞれが直列接続されたインバータ用MOSトランジスタと磁気トンネル接合素子とからなる一対のインバータを有し、
     前記プレスパイクパルスの入力に応答して、前記一対のインバータを作動させ、前記一対のインバータのうちの一方のインバータの出力端の電位に基づいて前記重み付けプレスパイクパルスを出力し、
     書き込み動作の際に、前記シナプス結合荷重に基づいた書き込み電流を前記一対のインバータの各々の前記磁気トンネル接合素子にそれぞれ流し、前記磁気トンネル接合素子を互いに異なる磁化状態にする
     ことを特徴とする請求項1に記載のシナプス回路の駆動方法。
  10.  前記荷重記憶部は、磁気トンネル接合素子の磁化状態により、前記シナプス結合荷重を不揮発的に記憶し、
     前記プレスパイクパルスの入力に応答して、電源線と前記磁気トンネル接合素子とを接続することにより、磁化状態に応じた前記重み付けプレスパイクパルスを出力することを特徴とする請求項1に記載のシナプス回路の駆動方法。

     
PCT/JP2020/037440 2019-10-02 2020-10-01 シナプス回路の駆動方法 WO2021066100A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US17/765,721 US20230013081A1 (en) 2019-10-02 2020-10-01 Driving method of synapse circuit
JP2021551453A JPWO2021066100A1 (ja) 2019-10-02 2020-10-01
KR1020227014230A KR20220075366A (ko) 2019-10-02 2020-10-01 시냅스 회로의 구동 방법

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2019-182549 2019-10-02
JP2019182549 2019-10-02

Publications (1)

Publication Number Publication Date
WO2021066100A1 true WO2021066100A1 (ja) 2021-04-08

Family

ID=75337032

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/037440 WO2021066100A1 (ja) 2019-10-02 2020-10-01 シナプス回路の駆動方法

Country Status (4)

Country Link
US (1) US20230013081A1 (ja)
JP (1) JPWO2021066100A1 (ja)
KR (1) KR20220075366A (ja)
WO (1) WO2021066100A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102571118B1 (ko) * 2021-11-17 2023-08-25 한국과학기술연구원 뉴로모픽 장치

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013111200A1 (ja) * 2012-01-23 2013-08-01 パナソニック株式会社 ニューラルネットワーク回路の学習方法
US20180107922A1 (en) * 2016-10-14 2018-04-19 Intel Corporation Pre-synaptic learning using delayed causal updates
WO2019189895A1 (ja) * 2018-03-30 2019-10-03 国立大学法人東北大学 ニューラルネットワーク回路装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013111200A1 (ja) * 2012-01-23 2013-08-01 パナソニック株式会社 ニューラルネットワーク回路の学習方法
US20180107922A1 (en) * 2016-10-14 2018-04-19 Intel Corporation Pre-synaptic learning using delayed causal updates
WO2019189895A1 (ja) * 2018-03-30 2019-10-03 国立大学法人東北大学 ニューラルネットワーク回路装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
TANAKA, HIDEKI ET AL.: "Evaluation of a CMOS Spiking Neural Network LSI with STDP Function", IEICE TECHNICAL REPORT, vol. 107, no. 328, 11 November 2007 (2007-11-11), pages 37 - 42, ISSN: 0913-5685 *

Also Published As

Publication number Publication date
JPWO2021066100A1 (ja) 2021-04-08
US20230013081A1 (en) 2023-01-19
KR20220075366A (ko) 2022-06-08

Similar Documents

Publication Publication Date Title
JP7216436B2 (ja) ニューラルネットワーク回路装置
US10388350B2 (en) Memory system, semiconductor storage device, and signal processing system
JP4133149B2 (ja) 半導体記憶装置
KR100626505B1 (ko) 프로그래머블 컨덕터 램 및 상기 프로그래머블 컨덕터램에 쓰는 방법
US7382672B2 (en) Differential and hierarchical sensing for memory circuits
US6842366B2 (en) Thin film magnetic memory device executing self-reference type data read
TWI396198B (zh) 使用相變材料記憶元件的非揮發性內容可定址記憶體
US11651820B2 (en) Fast read speed memory device
EP3136398B1 (en) Ternary content addressable memory (tcam) with programmable resistive elements
TWI556243B (zh) 儲存裝置及用於操作該儲存裝置之操作方法
US10546623B2 (en) Resistive memory device having memory cell array and system including the same
US11449740B2 (en) Synapse circuit with memory
US9311999B2 (en) Memory sense amplifiers and memory verification methods
JP5748877B1 (ja) 抵抗変化型メモリ
KR102094551B1 (ko) 저항변화형 메모리 디바이스 및 그 동작 방법
US20200303003A1 (en) Multiplier-accumulator
WO2021066100A1 (ja) シナプス回路の駆動方法
DE102021115236A1 (de) Signalerhaltung im mram während des lesens
Shaarawy et al. 2T2M memristor-based memory cell for higher stability RRAM modules
Levisse et al. Resistive switching memory architecture based on polarity controllable selectors
DE102021115377A1 (de) Signalverstärkung im mram während des lesens
US11984163B2 (en) Processing unit with fast read speed memory device
El-Shaarawy DESIGN AND ANALYSIS OF 2T2M RRAM-BASED MEMRISTOR
Sehgal et al. Advancements in memory technologies for artificial synapses
KR20230065007A (ko) 두 개의 트랜지스터로 구성된 메모리 셀, 이를 이용한 시냅스 셀과 뉴런 모방 셀 및 그 동작방법

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

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2021551453

Country of ref document: JP

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 20227014230

Country of ref document: KR

Kind code of ref document: A

122 Ep: pct application non-entry in european phase

Ref document number: 20872678

Country of ref document: EP

Kind code of ref document: A1