KR20200068387A - Stdp learning hardware - Google Patents

Stdp learning hardware Download PDF

Info

Publication number
KR20200068387A
KR20200068387A KR1020180155317A KR20180155317A KR20200068387A KR 20200068387 A KR20200068387 A KR 20200068387A KR 1020180155317 A KR1020180155317 A KR 1020180155317A KR 20180155317 A KR20180155317 A KR 20180155317A KR 20200068387 A KR20200068387 A KR 20200068387A
Authority
KR
South Korea
Prior art keywords
signal
stdp
neuron
output
output signal
Prior art date
Application number
KR1020180155317A
Other languages
Korean (ko)
Other versions
KR102215067B1 (en
KR102215067B9 (en
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 KR1020180155317A priority Critical patent/KR102215067B1/en
Publication of KR20200068387A publication Critical patent/KR20200068387A/en
Application granted granted Critical
Publication of KR102215067B1 publication Critical patent/KR102215067B1/en
Publication of KR102215067B9 publication Critical patent/KR102215067B9/en

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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Neurology (AREA)
  • Semiconductor Memories (AREA)

Abstract

Disclosed is an STDP learning hardware. The STDP learning hardware, according to an embodiment of the present invention, comprises: a pre-neuron; a post-neuron; an NVM circuit that transmits a signal from the pre-neuron to the post-neuron and changes conductance based on a recording pulse; an STDP time generator outputting a first output signal reflecting a metastability time determined according to a voltage difference between the voltage of the pre-neuron and the voltage of the post-neuron; and a control signal and recording pulse generator for generating the recording pulse whose pulse width is variable according to the first output signal, and applying the recording pulse to the NVM circuit.

Description

STDP 학습 하드웨어{STDP LEARNING HARDWARE}STDP LEARNING HARDWARE

본 발명은, 비교기의 준 안정(meta-stability)을 이용하여 STDP 학습을 수행할 수 있는 STDP 학습 하드웨어에 관한 것이다.The present invention relates to STDP learning hardware capable of performing STDP learning using meta-stability of a comparator.

생물의 뇌에는 수천억 단위에 이르는 신경세포로서 뉴런이 있고, 이들은 복잡한 신경망을 이루고 있다. 상기 뉴런은 수천 개의 다른 뉴런과 시냅스를 통하여 신호를 주고 받는 것으로써, 생물로서 가져야 하는 지적 능력을 발휘한다. The brains of organisms contain neurons as billions of units of neurons, which form a complex neural network. The neurons exert their intellectual abilities as creatures by sending and receiving signals through synapses with thousands of other neurons.

상기 뉴런은 신경계의 구조적이고 기능적인 단위이며 정보 전달의 기본 단위이다. 시냅스는 상기 뉴런 사이의 접합부를 가리키며 어느 하나의 뉴런의 축색 돌기와 다른 뉴런의 수상 돌기가 연결된 부위를 말한다. 이들 생물 신경망을 모사한 인공 신경계를 뉴런 수준에서 제작함으로써, 두뇌가 처리하는 정보처리 방식을 모사하여 만들어진 반도체 회로가 뉴로모픽 하드웨어이다. 이들 뉴로모픽 하드웨어는 반도체를 이용하는 전자회로로서 제작할 수 있다. The neuron is a structural and functional unit of the nervous system and a basic unit of information transmission. A synapse refers to a junction between the neurons and refers to a region where axons of one neuron and dendrites of another neuron are connected. Neuromorphic hardware is a semiconductor circuit created by simulating the information processing method processed by the brain by producing an artificial nervous system that simulates these biological neural networks at the neuron level. These neuromorphic hardware can be manufactured as electronic circuits using semiconductors.

상기 뉴로모픽 하드웨어는 생물의 뇌와 마찬가지로, 불특정한 환경에 스스로 적응할 수 있는 지능화된 시스템을 구현하는 데에 효과적으로 활용될 수 있다. 예를 들어, 문자인식, 음성인식, 위험 인지, 실시간 고속 신호처리와 같은 인지 및 추정 등을 수행하는 인터페이스로서 적용될 수 있는 것도 물론이고, 결국에는 컴퓨터, 로봇, 가전기기, 소형 이동 기기, 보안 및 감시 시스템, 및 지능형 차량 등의 분야에 적용할 수 있다. The neuromorphic hardware, like the brain of a living creature, can be effectively used to implement an intelligent system that can adapt itself to an unspecified environment. For example, it can be applied as an interface for performing recognition and estimation, such as text recognition, speech recognition, risk recognition, real-time high-speed signal processing, and eventually, computers, robots, home appliances, small mobile devices, security, and It can be applied to fields such as surveillance systems and intelligent vehicles.

뉴로모픽 하드웨어 중 스파이킹 뉴럴 네트워크(Spiking Neural Network, SNN) 하드웨어는 각 레이어(layer)에 전달되는 정보를 스파이크(spike)나 펄스(pulse)형식으로 표현해 시냅스의 가중치(weight)를 읽기(read) 또는 기록(write) 할 수 있는 인공신경망 하드웨어의 일종이다.Among the neuromorphic hardware, the Spiking Neural Network (SNN) hardware reads the information transmitted to each layer in the form of spikes or pulses, and reads the synapse weight. ) Or a kind of artificial neural network hardware that can be written.

한편 스파이킹 뉴럴 네트워크(Spiking Neural Network, SNN)를 학습시키기 위해서는 뉴런의 스파이크(spike) 또는 펄스(pulse) 신호에 대해 시냅스의 가중치(weight)를 업데이트 할 수 있는 알고리즘이 필요하다.On the other hand, in order to train a Spiking Neural Network (SNN), an algorithm capable of updating a synaptic weight for a spike or pulse signal of a neuron is required.

한편 스파이킹 뉴럴 네트워크(Spiking Neural Network, SNN)에서 시냅스 역할을 할 수 있는 메모리 소자인 비활성 메모리(Non-volatile Memory, NVM)는, 주로 STDP(Spike Time Dependent Plasticity) 학습 규칙(learning rule)에 따라 컨덕턴스(conductance)가 업데이트 된다. 여기서 비활성 메모리(Non-volatile Memory(NVM))의 컨덕턴스(conductance)가 업데이트 되는 것은 시냅스의 가중치(weight)가 업데이트 되는 것에 대응할 수 있다.On the other hand, non-volatile memory (NVM), which is a memory device that can function as a synapse in a Spiking Neural Network (SNN), is mainly based on a Spike Time Dependent Plasticity (STDP) learning rule. The conductance is updated. Here, updating the conductance of the non-volatile memory (NVM) may correspond to updating the weight of the synapse.

한편 STDP에서는 프리 뉴런(pre-neuron)과 포스트 뉴런(post-neuron)의 스파이크 시간 차(spike time difference)에 따라 컨덕턴스, 즉 시냅스의 가중치가 얼마나 업데이트 될 지가 결정된다,In STDP, on the other hand, according to the spike time difference between the pre-neuron and post-neuron, the conductance, that is, how much the weight of the synapse will be updated is determined.

한편 스파이킹 뉴럴 네트워크(Spiking Neural Network, SNN)의 특징은, 인공 신경망(Artificial Neural Network, ANN)과 비교해서 생물학적 뇌와 더욱 비슷한 방식으로, 더 높은 에너지 효율로 많은 계산량을 처리할 수 있다.On the other hand, the characteristics of the Spiking Neural Network (SNN), compared to the Artificial Neural Network (ANN), can process a large amount of computation with higher energy efficiency in a more similar way to the biological brain.

특히 STDP(Spike Time Dependent Plasticity) 학습 규칙(learning rule)을 이용한 스파이킹 뉴럴 네트워크(Spiking Neural Network, SNN)의 학습은 인공신경망(Artificial Neural Network, ANN)에서와는 달리 스파이크(spike)의 시공간 정보(spatiotemporal information)를 모두 이용하기 때문에, 인공신경망에서의 백 프로퍼게이션(back-propagation) 기반의 학습보다 효율적이다.In particular, learning of a Spiking Neural Network (SNN) using a Spike Time Dependent Plasticity (STDP) learning rule is different from that of an artificial neural network (ANN). information), it is more efficient than back-propagation-based learning in the artificial neural network.

또한 스파이킹 뉴럴 네트워크(Spiking Neural Network, SNN)에서는, SRAM과 같은 기존의 digital 메모리 보다, ReRAM, PCM과 같이 멤리스터(memristor) 특성을 가지는 비활성 메모리(Non-volatile Memory, NVM) 소자가 STDP(Spike Time Dependent Plasticity) 학습 규칙(learning rule)을 구현하기에 적합할 수 있다. In addition, in Spiking Neural Network (SNN), non-volatile memory (NVM) devices having memristor characteristics such as ReRAM and PCM are STDP (SDP) rather than conventional digital memory such as SRAM. Spike Time Dependent Plasticity) may be suitable for implementing learning rules.

이 경우 시냅스 소자로 사용되는 비활성 메모리(Non-volatile Memory, NVM) 소자는 주로 프로그래밍 펄스(programming pulse)에 의해 컨덕턴스(conductance)가 기록(write)되며, 인가해주는 펄스(pulse)의 개수나 펄스 폭(pulse-width)으로 컨덕턴스(conductance)변화 량을 조절할 수 있다.In this case, the non-volatile memory (NVM) device used as a synapse device is mainly written with a programming pulse, and the number of applied pulses or the pulse width The amount of change in conductance can be adjusted with (pulse-width).

한편 STDP(Spike Time Dependent Plasticity) 학습 규칙(learning rule)에서는, 스파이크(Spike) 또는 펄스(pulse)의 시간 정보를 STDP(Spike Time Dependent Plasticity) 학습 규칙(learning rule)을 따르는 가중치(weight)의 변화량(Δw)으로 변환하는 연산 및 작업이 필요하다.On the other hand, in the Spike Time Dependent Plasticity (STDP) learning rule, the amount of change in the weight of the spike or pulse time information according to the STDP (Spike Time Dependent Plasticity) learning rule It requires calculation and operation to convert to (Δw).

현재 스파이킹 뉴럴 네트워크(Spiking Neural Network, SNN)를 학습시킬 수 있는 STDP(Spike Time Dependent Plasticity) 학습 규칙(learning rule) 등의 학습 알고리즘에 대한 연구가 진행되고 있으나, 하드웨어로 STDP를 구현하는 연구들은 각각 정형화되어 있지 않고, 스파이킹 뉴럴 네트워크(Spiking Neural Network, SNN)의 이점을 구현하는데 있어서 몇가지 단점을 가지고 있다.Currently, research is being conducted on learning algorithms, such as the Spiking Neural Network (SNN), which can learn Spike Time Dependent Plasticity (STDP) learning rules, but studies that implement STDP with hardware Each is not standardized, and has some disadvantages in implementing the advantages of a Spiking Neural Network (SNN).

구체적으로, 제1 선행 문헌(Bruno U. Pedroni, et al., “Forward Table-based Presynaptic Event-triggered Spike-timing-dependent Plasticity”, 2016 IEEE Biomedical Circuits and Systems, 2016)에서는, Configuration memory를 이용하여, STDP 타이밍(timing)에 대한 Look-up table을 만들어 Δt에 따른 Δw 값을 적용하는 내용을 개시하고 있다.Specifically, in the first prior literature (Bruno U. Pedroni, et al., “Forward Table-based Presynaptic Event-triggered Spike-timing-dependent Plasticity”, 2016 IEEE Biomedical Circuits and Systems, 2016), using Configuration memory , Creating a look-up table for STDP timing, and discloses the application of the Δw value according to Δt.

그리고 제2 선행 문헌(US 2017/0185890 A1, Jun. 29, 2017)에서는 디지털 방식으로 STDP를 구현한 뉴로모픽 시스템을 개시하고 있다.And the second prior document (US 2017/0185890 A1, Jun. 29, 2017) discloses a neuromorphic system that implements digital STDP.

다만 제1 선행 문헌과 같은 방식은, 디지털 방식으로 STDP에 따른 가중치 업데이트(weight update)의 양을 판단하기 때문에, 스파이크 시간(spike time)에 따른 가중치 업데이트(weight update)의 양을 규정하는 룩업 테이블이 필요하기 때문에 추가적인 디지털 메모리가 사용되어야 하는 단점이 있다.However, in the same manner as in the first prior document, since the amount of weight update according to STDP is digitally determined, a lookup table defining the amount of weight update according to spike time Since this is necessary, there is a disadvantage that an additional digital memory must be used.

또한 제2 선행 문헌과 같은 방식 역시, 스파이크 시간(Spiking time)을 측정하기 위한 타이머(timer)와 이를 저장하기 위한 추가적인 memory가 필요한 문제가 있다.In addition, the same method as the second prior literature also has a problem in that a timer for measuring spike time and an additional memory for storing the timer are required.

한편 제3 선행 문헌(Jose M. Cruz-Albrecht, et al., “Energy efficient Neuron, Synapse and STDP Integrated Circuit”, IEEE Transactions on Biomedical Circuits and Systems, Vol. 6, pp.246-256, 2012.)과 제4 선행 문헌(S. Mitra, et al., “Real-Time Classification of Complex Patterns Using Spike-Based Learning in Neuromorphic VLSI, Vol. 3, pp.32-42, 2009.)에서는, 프리 뉴런(Pre-neuron)과 포스트 뉴런(post-neuron)의 펄스(pulse) 시간 차이에 따른 ΔV를 이용한 아날로그 방식의 STDP 회로를 구현하고 있다.Meanwhile, the third prior literature (Jose M. Cruz-Albrecht, et al., “Energy efficient Neuron, Synapse and STDP Integrated Circuit”, IEEE Transactions on Biomedical Circuits and Systems, Vol. 6, pp.246-256, 2012.) And in the fourth prior literature (S. Mitra, et al., “Real-Time Classification of Complex Patterns Using Spike-Based Learning in Neuromorphic VLSI, Vol. 3, pp.32-42, 2009.) Analogue STDP circuit is implemented using ΔV according to the difference in pulse time between -neuron and post-neuron.

제3 선행 문헌 및 제4 선행 문헌과 같은 아날로그 방식으로 Δw를 결정하는 경우, 스파이크 시간(spike timing)에 따른 Δw를 계산하기 위하여 Power 소모가 높은 증폭기(amplifier)와 같은 회로들을 많이 필요하게 된다. 따라서 회로의 전력 소모가 크다는 단점을 가지게 되고, 또한 가중치(weight)를 업데이트 하는 추가적인 시간이 필요하게 된다.When Δw is determined in an analog manner such as the third and fourth publications, many circuits such as an amplifier having high power consumption are required to calculate Δw according to spike timing. Therefore, there is a disadvantage that the power consumption of the circuit is large, and additional time for updating the weight is required.

한편 제5 선행 문헌(S. Kim, et al., “NVM Neuromorphic Core with Phase Change Memory Synaptic Array with On-chip Neuron Circuits for Continuous In-situ Learning, 2015 International Electron Devices Meeting (IEDM) pp.17.1.1-17.1.4, 2015.)에서는 ReRAM 소자를 STDP 학습 규칙에 따라 학습시키기 위해, STDP behavior를 갖게 하는 STDP 펄스 형태(pulse shape)를 디자인하여 소자에 인가해주고 있다.Meanwhile, S. Kim, et al., “NVM Neuromorphic Core with Phase Change Memory Synaptic Array with On-chip Neuron Circuits for Continuous In-situ Learning, 2015 International Electron Devices Meeting (IEDM) pp.17.1.1 -17.1.4, 2015.) designed and applied the STDP pulse shape to have the STDP behavior in order to train the ReRAM device according to the STDP learning rules.

한편 제6 선행 문헌(US 2010/0299296A1, Nov. 25, 2010)에서는 비활성 메모리 소자를 프로그래밍 하기 위해, 상관관계(correlation)을 갖는 두 spike를 생성해 소자 양단에 가해줘 STDP를 구현하고 있다.Meanwhile, in the sixth prior document (US 2010/0299296A1, Nov. 25, 2010), in order to program an inactive memory device, two spikes having correlations are generated and applied to both ends of the device to implement STDP.

또한 제7 선행 문헌(S. Kim, et al., “On Spike-timing-dependent-plasticity, Memristive Devices, and Building a Self-learning Visual Cortex, Frontier Neuroscience, Vol. 4, pp.26, 2011.) 및 제8 선행 문헌(US 2013/0311415 A1, Nov. 21, 2013)에서는 멤리스터 소자를 STDP 학습 규칙에 따라 학습시키기 위해, STDP 펄스 형태(pulse shape)를 만드는 스파이크 회로(spike circuit)을 뉴런 회로와 함께 설계하고 있다.Also, the seventh precedent literature (S. Kim, et al., “On Spike-timing-dependent-plasticity, Memristive Devices, and Building a Self-learning Visual Cortex, Frontier Neuroscience, Vol. 4, pp.26, 2011.) And in the eighth prior literature (US 2013/0311415 A1, Nov. 21, 2013), in order to train the memristor element according to the STDP learning rule, a spike circuit that creates an STDP pulse shape is a neuron circuit. I am designing with.

제5 선행문헌, 제6 선행문헌, 제7 선행문헌, 제8 선행 문헌과 같이 스파이크 방식으로 STDP를 구현하는 경우, STDP를 만들 수 있는 스파이크(spike)를 구현해야 하고, 이를 회로적으로 구현할 경우 Integrate and Fire neuron에 스파이크 생성 회로(spike generator circuit)가 추가적으로 필요한 문제가 있었다.In the case of implementing the STDP by the spike method as in the fifth prior document, the sixth prior document, the seventh prior document, and the eighth prior document, the spike capable of making the STDP must be implemented, and when it is implemented in a circuit There was a problem in that an additional spike generator circuit was required for the Integrate and Fire neuron.

본 발명은 상술한 문제점을 해결하기 위한 것으로, 본 발명의 목적은, 비교기의 준 안정(meta-stability)을 이용하는 간단한 방식으로 STDP 학습을 수행할 수 있는 STDP 학습 하드웨어에 관한 것이다.The present invention is intended to solve the above-mentioned problems, and an object of the present invention relates to STDP learning hardware capable of performing STDP learning in a simple manner using meta-stability of a comparator.

본 발명의 실시 예에 따른 STDP 학습 하드웨어는, 프리 뉴런, 포스트 뉴런, 프리 뉴런으로부터 포스트 뉴런으로 신호를 전달하고, 기록 펄스에 기초하여 컨덕턴스를 변경하는 NVM 회로, 상기 프리 뉴런의 전압과 상기 포스트 뉴런의 전압의 전압 차에 따라 결정되는 준안정 시간(metastability time)을 반영하는 제1 출력 신호를 출력하는 STDP 시간 생성기, 및, 상기 제1 출력 신호에 따라 펄스 폭이 가변되는 상기 기록 펄스를 생성하고, 상기 기록 펄스를 상기 NVM 회로에 인가하는 제어 신호 및 기록 펄스 생성기를 포함한다.STDP learning hardware according to an embodiment of the present invention, a pre-neuron, a post-neuron, an NVM circuit that transmits a signal from a pre-neuron to a post-neuron and changes conductance based on a recording pulse, the voltage of the pre-neuron and the post-neuron STDP time generator for outputting a first output signal reflecting a metastable time (metastability time) determined according to the voltage difference of the voltage, and, the pulse width is varied according to the first output signal to generate the recording pulse , A control signal for applying the write pulse to the NVM circuit and a write pulse generator.

도 1은 본 발명의 실시 예에 따른 STDP 학습 하드웨어를 설명하기 위한 회로도이다.
도 2 내지 도 4는 본 발명의 실시 예에 따른, 동적 비교기(dynamic comparator)(410)의 동작을 설명하기 위한 도면이다.
도 5 내지 도 7은 STDP 시간 생성기(400)의 동작을 더욱 구체적으로 설명하기 위한 도면이다.
도 8은 제어 신호 및 기록 펄스 생성기의 상세 구성을 도시한 도면이다.
도 9는 제어 신호 및 기록 펄스 생성기에서 생성되는 신호들의 시간 다이어그램을 도시하는 도면이다.
도 10은 기록 펄스, 제1 스위치 신호, 제2 스위치 신호의 출력에 따른 NVM 회로의 동작을 설명하기 위한 도면이다.
도 11은 종래의 STDP 학습과, 본 발명에서 제안하는 준 안정 시간(meta-stability time)을 이용한 STDP 학습을 비교한 도면이다.
도 12는 동적 비교기의 준 안정성 시간을 입력 전압의 차에 대하여 플롯(plot)한 커브로 STDP 커브를 근사화 한 것을 나타낸다.
도 13 내지 도 15는 본 발명의 실시 예에 따른 시뮬레이션 결과를 도시한 도면이다.
1 is a circuit diagram for explaining STDP learning hardware according to an embodiment of the present invention.
2 to 4 are diagrams for explaining the operation of the dynamic comparator 410 according to an embodiment of the present invention.
5 to 7 are diagrams for explaining the operation of the STDP time generator 400 in more detail.
8 is a diagram showing a detailed configuration of a control signal and a recording pulse generator.
9 is a diagram showing a time diagram of control signals and signals generated by the recording pulse generator.
10 is a view for explaining the operation of the NVM circuit according to the output of the write pulse, the first switch signal, and the second switch signal.
FIG. 11 is a diagram comparing conventional STDP learning with STDP learning using a meta-stability time proposed in the present invention.
FIG. 12 shows that the STDP curve is approximated by a curve plotting the quasi-stability time of the dynamic comparator with respect to the difference of the input voltage.
13 to 15 are views showing simulation results according to an embodiment of the present invention.

이하, 첨부된 도면을 참조하여 본 명세서에 개시된 실시 예를 상세히 설명하되, 도면 부호에 관계없이 동일하거나 유사한 구성요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 이하의 설명에서 사용되는 구성요소에 대한 접미사 "모듈" 및 "부"는 명세서 작성의 용이함만이 고려되어 부여되거나 혼용되는 것으로서, 그 자체로 서로 구별되는 의미 또는 역할을 갖는 것은 아니다. 또한, 본 명세서에 개시된 실시 예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 명세서에 개시된 실시 예의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 첨부된 도면은 본 명세서에 개시된 실시 예를 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 명세서에 개시된 기술적 사상이 제한되지 않으며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.Hereinafter, exemplary embodiments disclosed herein will be described in detail with reference to the accompanying drawings, but the same or similar elements will be given the same reference numbers regardless of the reference numerals, and redundant descriptions thereof will be omitted. The suffixes "module" and "part" for components used in the following description are given or mixed only considering the ease of writing the specification, and do not have meanings or roles that are distinguished from each other. In addition, in describing the embodiments disclosed in this specification, detailed descriptions of related well-known technologies are omitted when it is determined that the gist of the embodiments disclosed herein may obscure the subject matter. In addition, the accompanying drawings are only for easy understanding of the embodiments disclosed in the present specification, and the technical spirit disclosed in the specification is not limited by the accompanying drawings, and all modifications included in the spirit and technical scope of the present invention , It should be understood to include equivalents or substitutes.

제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되지는 않는다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.Terms including ordinal numbers such as first and second may be used to describe various components, but the components are not limited by the terms. The terms are used only for the purpose of distinguishing one component from other components.

어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.When an element is said to be "connected" to or "connected" to another component, it is understood that other components may be directly connected to or connected to the other component, but may exist in the middle. It should be. On the other hand, when a component is said to be "directly connected" or "directly connected" to another component, it should be understood that no other component exists in the middle.

단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함한다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.Singular expressions include plural expressions unless the context clearly indicates otherwise. In this application, terms such as "comprises" or "have" are intended to indicate the presence of features, numbers, steps, actions, components, parts or combinations thereof described in the specification, but one or more other features. It should be understood that the existence or addition possibilities of fields or numbers, steps, operations, components, parts or combinations thereof are not excluded in advance.

본 발명의 구현예를 제시함에 앞서 학습 알고리즘을 소개한다. STDP(Spike-Timing-Dependent Plasticity) 알고리즘은 지도 학습 알고리즘 및 비지도 학습 알고리즘을 모두 구현할 수 있는 알고리즘으로서, 복잡한 연산을 이용하지 않고, 스파이크의 시간차를 이용하여 가중치를 업데이트할 수 있다Prior to presenting an embodiment of the invention, a learning algorithm is introduced. The Spike-Timing-Dependent Plasticity (STDP) algorithm is an algorithm that can implement both supervised learning algorithms and unsupervised learning algorithms, and it can update weights using the time difference of spikes without using complex operations.

도 1은 본 발명의 실시 예에 따른 STDP 학습 하드웨어를 설명하기 위한 회로도이다.1 is a circuit diagram for explaining STDP learning hardware according to an embodiment of the present invention.

STDP 학습 하드웨어는, 프리 뉴런(100), 포스트 뉴런(200), NVM 회로(300), STDP 시간 생성기(400) 및 제어 신호 및 기록 펄스 생성기(500)를 포함할 수 있다.The STDP learning hardware may include a pre-neuron 100, a post-neuron 200, an NVM circuit 300, an STDP time generator 400 and a control signal and write pulse generator 500.

NVM 회로(300)는 비활성 메모리 소자(310)와 제1 스위치부, 제2 스위치부를 포함할 수 있다. 여기서 비활성 메모리 소자(310)는 실제 신경망에서의 시냅스에 상당하는 것으로, 비활성 메모리 소자(310)는 멤리스터(memristor) 특성을 가지는 비활성 메모리(Non-volatile Memory, NVM) 소자일 수 있다.The NVM circuit 300 may include an inactive memory element 310, a first switch unit, and a second switch unit. Here, the inactive memory device 310 corresponds to a synapse in an actual neural network, and the inactive memory device 310 may be a non-volatile memory (NVM) device having memristor characteristics.

뉴런(Neuron)(100, 200)은 실제 신경망에서의 뉴런에 상당하는 구성으로, 실제 신경망에서 뉴런이 시냅스에 의해 서로 연결되는 것과 같이, NVM 회로(300)에 의해 서로 연결될 수 있다.Neurons (Neuron) (100, 200) is a configuration that corresponds to neurons in a real neural network, and may be connected to each other by the NVM circuit 300, such as neurons in a real neural network are connected to each other by synapses.

이 경우 프리 뉴런(Pre-Neuron)(100)은 NVM 회로(300)의 전단에 배치되어 NVM 회로(300)와 연결될 수 있으며, 포스트 뉴런(Post-Neuron)(200)은 NVM 회로(300)의 후단에 배치되어 NVM 회로(300)와 연결될 수 있다.In this case, the pre-neuron (Pre-Neuron) 100 may be disposed in front of the NVM circuit 300 and connected to the NVM circuit 300, and the post-neuron (Post-Neuron) 200 of the NVM circuit 300 It can be disposed at the rear end and connected to the NVM circuit 300.

이 경우 프리 뉴런(Pre-Neuron)(100)의 출력단은 NVM 회로(300)의 일단과 연결되고, 포스트 뉴런(Post-Neuron)(200)의 입력단은 NVM 회로(300)의 타단과 연결될 수 있다.In this case, the output terminal of the pre-neuron 100 is connected to one end of the NVM circuit 300, and the input terminal of the post-neuron 200 can be connected to the other end of the NVM circuit 300. .

프리 뉴런(Pre-Neuron)(100)과 포스트 뉴런(Post-Neuron)(200)은 적분기로 구성될 수 있다. 적분기로 소정의 시간 동안 펄스가 인가되면, 적분기로부터의 출력전압이 계속해서 증가하고, 출력 전압이 일정 수준 이상으로 증가하면 뉴런이 온 된 것으로 이해될 수 있다. 이를 파이어(fire) 되었다고 할 수도 있다. Pre-Neuron (100) and post-neuron (Post-Neuron) (200) may be composed of an integrator. It can be understood that when a pulse is applied to the integrator for a predetermined time, the output voltage from the integrator continues to increase, and when the output voltage increases to a certain level or more, a neuron is turned on. It may be said that this is fired.

한편 프리 뉴런(Pre-Neuron)(100)과 포스트 뉴런(Post-Neuron)(200)은 단순화를 위하여 적분기로만 표현하였을 뿐 이에 한정되지 않는다.On the other hand, the pre-neuron (Pre-Neuron) 100 and the post-neuron (Post-Neuron) 200 is expressed only as an integrator for simplification, but is not limited thereto.

이 경우 프리 뉴런에서 출력된 신호는 NVM 회로(300)에 의해 포스트 뉴런에 전달될 수 있다.In this case, the signal output from the free neuron may be transmitted to the post neuron by the NVM circuit 300.

STDP(Spike Time Dependent Plasticity) 학습 규칙(learning rule)은 스파이킹 뉴럴 네트워크(Spiking Neural Network, SNN)를 학습시키는데 가장 많이 사용되는 학습 알고리즘으로, 하드웨어 상에서 STDP 학습을 구현하려면 프리 뉴런과 포스트 뉴런의 스파이크의 시간 차에 따른 가중치 업데이트가 필요하다.The Spike Time Dependent Plasticity (STDP) learning rule is the most used learning algorithm for learning the Spiking Neural Network (SNN). To implement STDP learning on hardware, spikes of free and post neurons It is necessary to update the weight according to the time difference.

이러한 과정은 아래의 식과 같이 표현될 수 있다.This process can be expressed as the following equation.

Figure pat00001
Figure pat00001

(W+: 가중치 최대값, W-: 가중치 최소값, τ+: long-term potentiation (LTP)의 가중치 업데이트 율(weight update ratio)을 결정하는 시간 창(time window), τ-: long-term depression (LTD)의 가중치 업데이트 율(weight update ratio)을 결정하는 시간 창(time window))(W+: maximum weight value, W-: minimum weight value, τ+: time window to determine the weight update ratio of long-term potentiation (LTP), τ-: long-term depression ( LTD) time window to determine the weight update rate (time window)

한편 비활성 메모리 소자(310)의 컨덕턴스(conductance)는 인가되는 전압 또는 전류에 의해 변경될 수 있다. 구체적으로 비활성 메모리 소자(310)의 컨덕턴스(conductance)는, 비활성 메모리 소자(310)의 양 단에 인가되는 기록(write) 펄스의 수 또는 인가되는 기록 펄스(write pulse)의 폭에 의하여 제어될 수 있다.Meanwhile, the conductance of the inactive memory device 310 may be changed by an applied voltage or current. Specifically, the conductance of the inactive memory device 310 may be controlled by the number of write pulses applied to both ends of the inactive memory device 310 or the width of the write pulses applied. have.

이 경우 기록 펄스(write pulse)는, 비활성 메모리 소자(310)의 양 단에 셋(set) 전압을 인가하는 셋 기록 펄스(set write pulse) 및 비활성 메모리 소자(310)의 양 단에 리셋(reset) 전압을 인가하는 리셋 기록 펄스(reset write pulse)를 포함할 수 있다.In this case, write pulses are set write pulses that apply a set voltage to both ends of the inactive memory element 310 and resets both ends of the inactive memory element 310. ) A reset write pulse for applying a voltage may be included.

특정 전압이 다른 단자에 바이어스 되는 동안 한 단자에 셋 기록 펄스가 인가되는 경우 컨덕턴스는 증가할 수 있다. 반면에 특정 전압이 다른 단자에 바이어스 되는 동안 한 단자에 리셋 기록 펄스가 인가되는 경우 컨덕턴스는 감소할 수 있다.When a set write pulse is applied to one terminal while a specific voltage is biased to the other terminal, conductance may increase. On the other hand, if a reset write pulse is applied to one terminal while a specific voltage is biased to the other terminal, conductance may decrease.

이와 같이 기록 펄스의 시간 정보를 이용하여 컨덕턴스를 갱신하는 비활성 메모리 소자의 기록 동작은, STDP(Spike Time Dependent Plasticity) 학습 규칙(learning rule)에 의한 스파이킹 뉴럴 네트워크(Spiking Neural Network, SNN)의 학습에 유용할 수 있다.As described above, the recording operation of the inactive memory device updating the conductance using the time information of the recording pulse, learning of a Spiking Neural Network (SNN) by a Spiking Time Dependent Plasticity (STDP) learning rule Can be useful for

STDP 시간 생성기(400)는 프리 뉴런의 전압과 포스트 뉴런의 전압의 전압 차에 따라 결정되는 준 안정 시간을 반영하는 제1 출력 신호를 출력할 수 있다.The STDP time generator 400 may output a first output signal reflecting a quasi-stable time determined according to a voltage difference between a voltage of a pre-neuron and a voltage of a post-neuron.

이 경우 STDP 시간 생성기(400)는 프리 뉴런의 전압과 포스트 뉴런의 전압이 입력되고, 비교기 클럭신호(CLCK)를 입력 받아 제2 출력 신호 및 제3 출력 신호를 출력하는 동적 비교기(410) 및 제2 출력 신호와 제3 출력 신호를 논리 연산하여 제1 출력 신호를 출력하는 논리 게이트(420)를 포함할 수 있다.In this case, the STDP time generator 400 is a dynamic comparator 410 and a voltage of a pre-neuron and a voltage of a post-neuron are input, and receives a comparator clock signal CLCK to output a second output signal and a third output signal. The logic gate 420 may output a first output signal by performing logical operation on the second output signal and the third output signal.

또한 프리 뉴런의 출력단은 동적 비교기(410)의 제1 입력단과 연결되고, 포스트 뉴런의 출력단은 동적 비교기(410)의 제2 입력단과 연결될 수 있다.In addition, the output terminal of the pre-neuron may be connected to the first input terminal of the dynamic comparator 410, and the output terminal of the post-neuron may be connected to the second input terminal of the dynamic comparator 410.

그리고 동적 비교기(410)의 제1 출력단과 제2 출력단은 제어 신호 및 기록 펄스 생성기(500)에 연결될 수 있다. In addition, the first output terminal and the second output terminal of the dynamic comparator 410 may be connected to the control signal and the recording pulse generator 500.

또한 동적 비교기(410)의 제1 출력단과 제2 출력단은 논리 게이트(420)의 입력단에 연결될 수 있으며, 논리 게이트(420)의 출력단은 제어 신호 및 기록 펄스 생성기(500)의 기록 펄스 생성기(510)에 연결될 수 있다.Also, the first output terminal and the second output terminal of the dynamic comparator 410 may be connected to the input terminal of the logic gate 420, and the output terminal of the logic gate 420 may be a control signal and a write pulse generator 510 of the write pulse generator 500. ).

제어 신호 및 기록 펄스 생성기(500)는 기록 펄스 생성기(510) 및 제어 블록(520)을 포함할 수 있다.The control signal and write pulse generator 500 may include a write pulse generator 510 and a control block 520.

여기서 기록 펄스 생성기(510)는 비교기 클럭 신호 및 제1 출력 신호를 이용하여 기록 펄스를 생성하여 메모리 소자(310)에 출력할 수 있다.Here, the write pulse generator 510 may generate a write pulse using the comparator clock signal and the first output signal and output the write pulse to the memory element 310.

또한 제어 블록(520)은 NVM 회로(300) 내 스위치 소자를 제어하기 위한 스위치 제어 신호를 생성하여 NVM 회로(300)에 출력할 수 있다.Also, the control block 520 may generate a switch control signal for controlling a switch element in the NVM circuit 300 and output it to the NVM circuit 300.

한편 기록 펄스 생성기(510)는 비활성 메모리 소자(310)의 일단에 연결되어, 기록 펄스 생성기(510)에서 생성되는 기록 펄스가 비활성 메모리 소자(310)에 인가될 수 있다.Meanwhile, the write pulse generator 510 is connected to one end of the inactive memory element 310 so that the write pulse generated by the write pulse generator 510 can be applied to the inactive memory element 310.

한편 제어 블록(520)은 비활성 메모리 소자(310)의 전단에 배치되는 제1 스위치부 및 비활성 메모리 소자(310)의 후단에 배치되는 제2 스위치부와 연결되어, 제1 스위치부 및 제2 스위치부 내 스위치들의 스위칭 동작을 제어할 수 있다.Meanwhile, the control block 520 is connected to the first switch unit disposed at the front end of the inactive memory element 310 and the second switch unit disposed at the rear end of the inactive memory element 310, so that the first switch unit and the second switch The switching operation of the switches in the unit can be controlled.

한편 STDP 학습 하드웨어에는 두개의 외부 신호가 입력될 수 있다. 구체적으로 STDP 학습 하드웨어에는 디지털 회로의 초기 상태를 리셋하기 위한 리셋 신호(reset signal) 및 동적 비교기의 동작을 제어하기 위한 비교기 클럭 신호(CLKC)가 입력될 수 있다.Meanwhile, two external signals may be input to the STDP learning hardware. Specifically, a reset signal for resetting the initial state of the digital circuit and a comparator clock signal CLKC for controlling the operation of the dynamic comparator may be input to the STDP learning hardware.

이 경우 리셋 신호(reset signal)는 리셋 신호 생성기에 의해 생성되어 제어 신호 및 기록 펄스 생성기(500)에 입력될 수 있다.In this case, a reset signal may be generated by the reset signal generator and input to the control signal and the recording pulse generator 500.

또한 비교기 클럭 신호(CLKC)는 비교기 클럭 신호 생성기에 의해 생성되어 동적 비교기(410)와 제어 신호 및 기록 펄스 생성기(500)에 입력될 수 있다.Also, the comparator clock signal CLKC may be generated by the comparator clock signal generator and input to the dynamic comparator 410 and the control signal and write pulse generator 500.

한편 비교기 클럭 신호(CLKC)의 주파수는 비교기 클럭 신호 생성기의 제어에 의해 조절될 수도 있으며, 제어 신호 및 기록 펄스 생성기(500)의 제어에 의해 조절될 수도 있다.Meanwhile, the frequency of the comparator clock signal CLKC may be adjusted by the control of the comparator clock signal generator, or may be controlled by the control of the control signal and the write pulse generator 500.

도 2 내지 도 4는 본 발명의 실시 예에 따른, 동적 비교기(dynamic comparator)(410)의 동작을 설명하기 위한 도면이다.2 to 4 are diagrams for explaining the operation of the dynamic comparator 410 according to an embodiment of the present invention.

본 발명은 동적 비교기(dynamic comparator)(410)의 준 안정 시간(metastability time)을 이용하여 STDP 학습을 구현하는 것이다.The present invention is to implement STDP learning by using the metastability time of the dynamic comparator 410.

동적 비교기(dynamic comparator)(410)는 준 안정(metastability) 특성을 가지고 있다. 준 안정(metastability) 특성이란 동적 비교기의 비교기 클럭(CLKC)이 하이(high) 상태임에도 불구하고 동적 비교기의 래치 시간(latch time) 특성 때문에 출력이 늦게 결정되는 특성을 의미한다.The dynamic comparator 410 has metastability characteristics. The metastability characteristic means a characteristic in which the output is determined late due to the latch time characteristic of the dynamic comparator even though the comparator clock CLKC of the dynamic comparator is high.

도 2에서 도시하는 바와 같이 동적 비교기는 래치(latch) 회로를 포함한다.As shown in Figure 2, the dynamic comparator includes a latch circuit.

그리고 비교기 클럭 신호(CLKC)가 하이(high)가 되는 경우 전류(In, Ip)는 입력 트랜지스터인 제1 트랜지스터(Min) 및 제2 트랜지스터(Mip)를 통해 각각 흘러 들어가고, 래치 회로의 출력 전압을 입력 전압 쌍(Vin, Vip)에 따라 다른 속도로 접지에 풀(pull) 할 수 있다.In addition, when the comparator clock signal CLKC becomes high, currents In and Ip flow through the first transistor Min and the second transistor Mip, respectively, and output voltage of the latch circuit. Depending on the input voltage pair (Vin, Vip), it can be pulled to ground at different rates.

여기서 입력 전압 쌍은 프리 뉴런의 전압(즉, 프리 뉴런의 멤브레인 전위) 및 포스트 뉴런의 전압(즉, 포스트 뉴런의 멤브레인 전위)일 수 있다.Here, the input voltage pair may be a voltage of a free neuron (ie, a membrane potential of a free neuron) and a voltage of a post neuron (ie, a membrane potential of a post neuron).

이러한 동작은 동적 비교기를, 비교기 클럭 신호(CLKC)가 하이(high) 상태임에도 불구하고 비교기의 출력이 아직 결정되지 않은 준 안정 상태(meta-stable state)로 유지할 수 있다.This operation can maintain the dynamic comparator in a meta-stable state in which the output of the comparator has not been determined, even though the comparator clock signal CLKC is high.

즉 준 안정 시간(metastability time)은 동적 비교기가 입력 전압들 간의 차이에 따라 준 안정 상태(meta-stable state)에 있는 시간을 의미할 수 있다.That is, the metastability time may mean a time in which the dynamic comparator is in a meta-stable state according to a difference between input voltages.

그리고 도 3을 참고하면, 동적 비교기의 두 개의 입력 전압의 차에 따라 동적 비교기가 준 안정화(metastable)된 구간에 존재하는 시간이 바뀌게 된다.And, referring to FIG. 3, the time that the dynamic comparator is present in the meta-stabilized section changes according to the difference between the two input voltages of the dynamic comparator.

즉 도 3a에서 도시하듯이 입력 전압의 차이가 클수록 준 안정 시간(meta-stability time)이 짧아지는 특성을 나타내며, 도 3b에서 도시하듯이 입력 전압의 차이가 작을수록 준 안정 시간(meta-stability time)이 길어지는 특성을 나타낸다.That is, as shown in FIG. 3A, the larger the input voltage difference, the shorter the meta-stability time is, and as shown in FIG. 3B, the smaller the input voltage difference, the lower the meta-stability time is. ) Indicates a longer property.

준 안정 시간(meta-stability time)(Tcomp)은 회로 파라미터 및 입력 전압의 차에 따라 아래와 같은 식으로 결정될 수 있다.The meta-stability time (Tcomp) may be determined by the following equation according to the difference between the circuit parameters and the input voltage.

Figure pat00002
Figure pat00002

Co: 동적 비교기의 출력 커패시턴스Co: Output capacitance of the dynamic comparator

gm_latch: 래치 트랜지스터의 트랜스컨덕턴스(transconductance)gm_latch: Transconductance of the latch transistor

gm_in: 입력 트랜지스터(M1, M2)의 트랜스컨덕턴스(transconductance)gm_in: Transconductance of input transistors M1 and M2

VDD: 공급 전압VDD: supply voltage

Vin: 입력 전압의 차Vin: difference of input voltage

한편 입력 전압의 차(Vin)에 대한 준 안정 시간(meta-stability time)(Tcomp) 커브는 도 4에서 도시하는 바와 같이 비 선형(non-linear)적인 커브(curve) 특성을 나타낸다.On the other hand, the meta-stability time (Tcomp) curve for the difference (Vin) of the input voltage shows a non-linear curve characteristic as shown in FIG. 4.

따라서 비선형적인 준 안정 시간 커브를 이용하여 비 선형 STDP 학습 알고리즘을 구현할 수 있다. 즉 Tcomp는 STDP 학습에서의 가중치 업데이트를 대신할 수 있다. Therefore, a nonlinear STDP learning algorithm can be implemented using a nonlinear quasi-stable time curve. That is, Tcomp can replace the weight update in STDP learning.

즉 기존의 STDP 학습의 전달 곡선에서의 트랜스퍼 커브(transfer curve)와 본 발명의 동적 비교기에서의 준 안정 시간 커브는 모두 비선형 특성을 나타내는 공통점이 있다.That is, both the transfer curve in the conventional transfer curve of STDP learning and the quasi-stable time curve in the dynamic comparator of the present invention have a common characteristic that exhibits nonlinear characteristics.

반면에 차이점은, 기존의 STDP 학습에서는 스파이크 시간의 차이가 사용된 것에 반해, 본 발명에서는 스파이크의 시간 정보 대신에 프리 뉴런 및 포스트 뉴런의 멤브레인 전위의 전압차에 기초하여 가중치가 갱신된다. 그리고 본 발명에서는 STDP 학습 규칙을 따르기 위해 가변 펄스 폭을 갖는 기록 펄스를 생성함으로써 비활성 메모리의 컨덕턴스를 업데이트 한다.On the other hand, the difference is that in the conventional STDP learning, the difference in the spike time is used, whereas in the present invention, the weight is updated based on the voltage difference between the membrane potentials of the free and post neurons instead of the time information of the spikes. In the present invention, the conductance of the inactive memory is updated by generating a write pulse having a variable pulse width in order to follow the STDP learning rule.

도 5 내지 도 7은 STDP 시간 생성기(400)의 동작을 더욱 구체적으로 설명하기 위한 도면이다.5 to 7 are diagrams for explaining the operation of the STDP time generator 400 in more detail.

STDP 시간 생성기(400)는 프리 뉴런(100)의 전압(Vpre)과 포스트 뉴런(200)의 전압(Vpost)의 전압 차에 따라 결정되는 준안정 시간(metastability time)을 반영하는 제1 출력 신호를 출력할 수 있다.The STDP time generator 400 reflects a first output signal reflecting a metastability time determined according to a voltage difference between the voltage Vpre of the pre-neuron 100 and the voltage Vpost of the post-neuron 200. Can print

구체적으로 프리 뉴런(100)의 전압(Vpre)과 포스트 뉴런(200)의 전압(Vpost) 이 동적 비교기에 입력될 수 있다. 프리 뉴런(100)의 전압(Vpre)과 포스트 뉴런(200)의 전압(Vpost)의 차이는 비활성 메모리 소자의 컨덕턴스에 의해 발생하는 것으로, 동적 비교기의 준 안정 시간을 결정할 수 있다.Specifically, the voltage Vpre of the pre-neuron 100 and the voltage Vpost of the post-neuron 200 may be input to the dynamic comparator. The difference between the voltage Vpre of the pre-neuron 100 and the voltage Vpost of the post-neuron 200 is caused by the conductance of the inactive memory device, and it is possible to determine the quasi-stable time of the dynamic comparator.

한편 동적 비교기(410)의 두개의 출력단은 논리 회로(420)의 입력단에 연결될 수 있다. 또한 동적 비교기(410)의 두개의 출력단에는 두개의 출력 부하 커패시터(Co)가 각각 연결될 수 있다.Meanwhile, two output terminals of the dynamic comparator 410 may be connected to the input terminals of the logic circuit 420. Also, two output load capacitors Co may be connected to two output terminals of the dynamic comparator 410, respectively.

한편 동적 비교기(410)는 비교기 클럭 신호(CLKC)를 입력받아 두개의 출력단을 통하여 제2 출력신호(Vcoutp) 및 제3 출력신호(Vcoutn)을 출력할 수 있다.Meanwhile, the dynamic comparator 410 may receive the comparator clock signal CLKC and output the second output signal Vcoutp and the third output signal Vcoutn through two output terminals.

한편 논리 회로(420)는 제2 출력신호(Vcoutp)와 제3 출력신호(Vcoutn)를 논리 연산하여 제1 출력 신호(Vcoutp/n)를 출력할 수 있다.On the other hand, the logic circuit 420 may output the first output signal Vcoutp/n by logically calculating the second output signal Vcoutp and the third output signal Vcoutn.

구체적으로 논리 회로(420)는 NAND 게이트 일 수 있으며, 제2 출력신호(Vcoutp) 또는 제3 출력신호(Vcoutn)가 로우(low)가 될 때 하이(high)가 되는 제1 출력 신호(Vcoutp/n)을 출력할 수 있다. 이 경우 제1 출력 신호(Vcoutp/n)는 비교기 클럭 신호(CLKC)가 로우(low)가 될 때까지 하이(high)를 유지할 수 있다.Specifically, the logic circuit 420 may be a NAND gate, and the first output signal Vcoutp/ which becomes high when the second output signal Vcoutp or the third output signal Vcoutn becomes low. n). In this case, the first output signal Vcoutp/n may remain high until the comparator clock signal CLKC becomes low.

두개의 출력 부하 커패시터(Co)는 시스템 사양 및 장치 조건에 따라 준 안정 시간을 제어할 수 있도록 설계될 수 있다. The two output load capacitors (Co) can be designed to control the quasi-stable time according to system specifications and device conditions.

출력 부하 커패시터(Co)는 가변 커패시터로써, 출력 부하 커패시터(Co)의 커패시턴스는 가변될 수 있다. 이 경우 도 7에서 도시하는 바와 같이 메모리 소자의 다양한 요구 사항을 충족시킬 수 있도록 조절될 수 있다.The output load capacitor Co is a variable capacitor, and the capacitance of the output load capacitor Co can be varied. In this case, as illustrated in FIG. 7, it can be adjusted to meet various requirements of the memory device.

도 8은 제어 신호 및 기록 펄스 생성기의 상세 구성을 도시한 도면이고, 도 9는 제어 신호 및 기록 펄스 생성기에서 생성되는 신호들의 시간 다이어그램을 도시하는 도면이다.8 is a diagram showing a detailed configuration of a control signal and a recording pulse generator, and FIG. 9 is a diagram showing a time diagram of signals generated by the control signal and the recording pulse generator.

제어 신호 및 기록 펄스 생성기(500)는 제1 출력 신호에 따라 펄스 폭이 가변되는 기록 펄스를 생성하고, 기록 펄스를 NVM 회로에 인가할 수 있다.The control signal and the recording pulse generator 500 may generate a recording pulse having a variable pulse width according to the first output signal, and apply the recording pulse to the NVM circuit.

제어 신호 및 기록 펄스 생성기(500)는 제1 클럭 분배기(810), 제2 클럭 분배기(820), 제1 플립 플롭(830), 제2 플립 플롭(840) 및 제2 논리 게이트(850)를 포함할 수 있다.The control signal and write pulse generator 500 includes a first clock divider 810, a second clock divider 820, a first flip flop 830, a second flip flop 840 and a second logic gate 850. It can contain.

제1 클럭 분배기(810)는 비교기 클럭 신호(CLKC)의 절반(1/2)의 주파수의 제1 클럭 신호(STDP_phase)를 생성할 수 있다.The first clock divider 810 may generate a first clock signal STDP_phase having a frequency of half (1/2) of the comparator clock signal CLKC.

또한 제2 클럭 분배기(820)는 비교기 클럭 신호(CLKC)의 쿼터(quarter)(1/4)의 주파수의 제2 클럭 신호(CLKwrite)를 생성할 수 있다.Also, the second clock divider 820 may generate a second clock signal CLKwrite having a frequency of a quarter (1/4) of the comparator clock signal CLKC.

한편 제어 신호 및 기록 펄스 생성기(500)는 제1 출력 신호를 수신하고, 비교기 클럭 신호 및 제1 출력 신호를 이용하여 준 안정 시간에 대응하는 기록 펄스를 생성할 수 있다.Meanwhile, the control signal and the recording pulse generator 500 may receive the first output signal and generate a recording pulse corresponding to the quasi-stable time using the comparator clock signal and the first output signal.

구체적으로 제1 플립 플롭(830)은 비교기 클럭 신호(CLKC)를 클럭 신호로써 수신하고, 제1 출력 신호(Vcoutp/n)를 리셋 신호로써 수신함으로써, 준 안정 시간과 동일한 기록 펄스(write_pulse)를 출력할 수 있다.Specifically, the first flip-flop 830 receives the comparator clock signal CLKC as a clock signal, and receives the first output signal Vcoutp/n as a reset signal, thereby generating a write pulse equal to the quasi-stable time (write_pulse). Can print

한편 기록 펄스(write_pulse)의 펄스 폭이 나타내는 시간(Δt)은 준 안정성 시간을 의미할 수 있다.Meanwhile, the time Δt indicated by the pulse width of the write pulse write_pulse may mean quasi-stability time.

구체적으로 기록 펄스(write_pulse)의 펄스 폭이 나타내는 시간(Δt)은 제1 출력 신호(Vcoutp/n)와 비교기 클럭 신호(CLKC)의 시간차(tVcoutp/n-tCLKC)를 의미할 수 있다.Specifically, the time Δt indicated by the pulse width of the write pulse (write_pulse) may mean a time difference (t Vcoutp/n -t CLKC ) between the first output signal Vcoutp/n and the comparator clock signal CLKC.

한편 제어 신호 및 기록 펄스 생성기(500)는 동적 비교기의 출력의 극성을 결정하고 비활성 메모리 소자에 기록(writing)을 수행하는 두 단계로 나뉘어 작동할 수 있다.Meanwhile, the control signal and the write pulse generator 500 may operate in two steps, determining the polarity of the output of the dynamic comparator and writing to the inactive memory device.

구체적으로 제1 클럭 신호(STDP_phase)의 한 주기 동안 동적 비교기는 프리 뉴런의 전압(Vpre)과 포스트 뉴런의 전압(Vpost)을 두번 비교할 수 있다.Specifically, during one period of the first clock signal STDP_phase, the dynamic comparator may compare the voltage Vpre of the pre-neuron and the voltage Vpost of the post-neuron twice.

그럼 제1 클럭 신호(STDP_phase)의 첫번째 반주기, 즉 제1 클럭 신호(STDP_phase)가 하이(high)인 상태에서의 동작을 설명한다.Then, the first half cycle of the first clock signal STDP_phase, that is, the operation in a state where the first clock signal STDP_phase is high will be described.

제1 플립 플롭(830)은 비교기 클럭 신호(CLKC)를 클럭 신호로써 수신하고, 제1 출력 신호(Vcoutp/n)를 리셋 신호로써 수신함으로써, 준 안정 시간과 동일한 기록 펄스(write_pulse)를 출력할 수 있다.The first flip-flop 830 receives the comparator clock signal CLKC as a clock signal, and receives the first output signal Vcoutp/n as a reset signal, thereby outputting a write pulse (write_pulse) equal to the quasi-stable time. Can be.

또한 제1 클럭 신호(STDP_phase)가 하이인 구간에서, 동적 비교기는 입력 전압의 차(difference)의 극성(polarity)을 결정할 수 있다.Also, in a period in which the first clock signal STDP_phase is high, the dynamic comparator may determine the polarity of the difference of the input voltage.

이 경우 제2 출력신호(Vcoutp) 및 제3 출력신호(Vcoutn)를 클럭 신호로써 수신하고 제1 클럭 신호(STDP_phase)를 리셋 신호로써 수신하는 제2 플립플롭(840)은 결정된 극성(polarity)에 기초하여 제4 출력 신호(Pp) 또는 제5 출력 신호(Pn)를 하이(high)로 출력할 수 있다.In this case, the second flip-flop 840 that receives the second output signal Vcoutp and the third output signal Vcoutn as a clock signal and receives the first clock signal STDP_phase as a reset signal depends on the determined polarity. On the basis of this, the fourth output signal Pp or the fifth output signal Pn may be output high.

한편 제4 출력 신호(Pp)와 제5 출력 신호(Pn)는 하이가 되는 경우, 제1 클럭 신호(STDP_phase)의 한 주기가 끝날 때까지 하이를 유지할 수 있다.On the other hand, when the fourth output signal Pp and the fifth output signal Pn become high, the high may be maintained until one period of the first clock signal STDP_phase ends.

다음은 제1 클럭 신호(STDP_phase)의 두번째 반주기, 즉 제1 클럭 신호(STDP_phase)가 로우(low)인 상태에서의 동작을 설명한다.The following describes the second half cycle of the first clock signal STDP_phase, that is, the operation in a state where the first clock signal STDP_phase is low.

제1 플립 플롭(830)은 비교기 클럭 신호(CLKC)를 클럭 신호로써 수신하고, 제1 출력 신호(Vcoutp/n)를 리셋 신호로써 수신함으로써, 준 안정 시간과 동일한 기록 펄스(write_pulse)(910)를 출력할 수 있다.The first flip-flop 830 receives the comparator clock signal CLKC as a clock signal, and receives the first output signal Vcoutp/n as a reset signal, whereby a write pulse equal to the quasi-stable time (write_pulse) 910 Can output

한편 제2 논리 게이트(850)는 기록 펄스(write_pulse)(910)와 제4 출력 신호(Pp)를 논리 연산하여 제1 스위치 신호(SWp)를 출력할 수 있다. 구체적으로 제2-1 논리 게이트(850a)는 AND 게이트이고, 제2-1 논리 게이트(850a)는 제4 출력 신호(Pp)가 하이이고 기록 펄스(write_pulse)(910)가 존재하는 구간에서 하이 상태의 제1 스위치 신호(SWp)를 출력할 수 있다.Meanwhile, the second logic gate 850 may logically calculate the write pulse (write_pulse) 910 and the fourth output signal Pp to output the first switch signal SWp. Specifically, the 2-1 logic gate 850a is an AND gate, and the 2-1 logic gate 850a is high in a section in which the fourth output signal Pp is high and the write pulse (write_pulse) 910 is present. The first switch signal SWp in the state can be output.

또한 제2 논리 게이트(850)는 기록 펄스(write_pulse)(910)와 제5 출력 신호(Pn)를 논리 연산하여 제2 스위치 신호(SWp)를 출력할 수 있다. 구체적으로 제2-2 논리 게이트(850b)는 AND 게이트이고, 제2-2 논리 게이트(850b)는 제5 출력 신호(Pn)가 하이이고 기록 펄스(write_pulse)(910)가 존재하는 구간에서 하이 상태의 제2 스위치 신호(SWn)를 출력할 수 있다.Also, the second logic gate 850 may logically calculate the write pulse (write_pulse) 910 and the fifth output signal Pn to output the second switch signal SWp. Specifically, the 2-2 logic gate 850b is an AND gate, and the 2-2 logic gate 850b is high in a section in which the fifth output signal Pn is high and the write pulse (write_pulse) 910 is present. The second switch signal SWn in the state can be output.

그리고 제1 클럭 신호(STDP_phase)가 로우(low)인 상태에서 제1 스위치 신호(SWp) 또는 제2 스위치 신호(SWn)가 출력됨에 따라, 기록 펄스(write_pulse)(910)가 비활성 메모리 소자에 인가되어 비활성 메모리 소자의 컨덕턴스가 업데이트 될 수 있다.In addition, as the first switch signal SWp or the second switch signal SWn is output while the first clock signal STDP_phase is low, a write pulse write 910 is applied to the inactive memory device. And the conductance of the inactive memory device can be updated.

도 10은 기록 펄스, 제1 스위치 신호, 제2 스위치 신호의 출력에 따른 NVM 회로의 동작을 설명하기 위한 도면이다.10 is a view for explaining the operation of the NVM circuit according to the output of the write pulse, the first switch signal, and the second switch signal.

도 9를 함께 참고하여 설명한다.This will be described with reference to FIG. 9 together.

도 10a에 따르면, NVM 회로(300)는 비활성 메모리 소자(310), 비활성 메모리 소자의 전단에 배치되는 제1 스위치부(1010) 및 메모리 소자의 후단에 배치되는 제2 스위치부(1020)를 포함할 수 있다.According to FIG. 10A, the NVM circuit 300 includes an inactive memory element 310, a first switch portion 1010 disposed at the front end of the inactive memory element, and a second switch portion 1020 disposed at the rear end of the memory element. can do.

비활성 메모리 소자(310)의 일단은 프리 뉴런과 연결되어 프리 뉴런에서 출력되는 신호를 수신할 수 있다. 또한 비활성 메모리 소자(310)의 일단은 제어 신호 및 기록 펄스 생성기(500)와 연결되어 제어 신호 및 기록 펄스 생성기(500)에서 출력되는 기록 펄스(write_pulse)(910)를 수신할 수 있다.One end of the inactive memory element 310 may be connected to a free neuron to receive a signal output from the free neuron. In addition, one end of the inactive memory device 310 may be connected to the control signal and write pulse generator 500 to receive a write pulse (write_pulse) 910 output from the control signal and write pulse generator 500.

한편 제1 스위치부(1010)의 제1-1 스위치(1011)는 기록 펄스(write_pulse)(910)가 메모리 소자(310)에 인가되는 것을 제어할 수 있으며, 제1 스위치부(1010)의 제1-2 스위치(1012)는 프리 뉴런에서 출력되는 신호가 메모리 소자(310)에 인가되는 것을 제어할 수 있다.Meanwhile, the first-first switch 1011 of the first switch unit 1010 can control whether a write pulse (write_pulse) 910 is applied to the memory element 310, and remove the first switch unit 1010. The 1-2 switch 1012 may control the signal output from the pre-neuron to be applied to the memory element 310.

한편 비활성 메모리 소자(310)의 타단은 포스트 뉴런과 연결되어 프리 뉴런에서 출력되는 신호를 포스트 뉴런에 전달할 수 있다. 또한 비활성 메모리 소자(310)의 타단은 제1 기준 전압(Vrefp)를 생성하는 제1 기준 전압 생성기와 연결되어 제1 기준 전압을 인가받을 수 있다. 또한 비활성 메모리 소자(310)의 타단은 제2 기준 전압(Vrefn)를 생성하는 제2 기준 전압 생성기와 연결되어 제2 기준 전압을 인가받을 수 있다.Meanwhile, the other end of the inactive memory device 310 may be connected to a post neuron to transmit a signal output from the free neuron to the post neuron. In addition, the other end of the inactive memory device 310 may be connected to a first reference voltage generator that generates a first reference voltage Vrefp to receive a first reference voltage. In addition, the other end of the inactive memory device 310 may be connected to a second reference voltage generator that generates a second reference voltage Vrefn to receive a second reference voltage.

한편 제2 스위치부(1020)의 제2-1 스위치(1021)는 제1 기준 전압(Vrefp)이 메모리 소자(310)에 인가되는 것을 제어할 수 있으며, 제2 스위치부(1020)의 제2-2 스위치(1022)는 제2 기준 전압(Vrefn)이 메모리 소자(310)에 인가되는 것을 제어할 수 있다. Meanwhile, the 2-1 switch 1021 of the second switch unit 1020 may control that the first reference voltage Vrefp is applied to the memory element 310, and the second of the second switch unit 1020. The -2 switch 1022 may control whether the second reference voltage Vrefn is applied to the memory element 310.

구체적으로 제2-1 스위치(1021)는 제1 스위치 신호(SWp)가 하이인 경우 제1 기준 전압(Vrefp)을 메모리 소자(310)에 출력할 수 있으며, 제2-2 스위치(1022)는 제2 스위치 신호(SWn)가 하이인 경우 제2 기준 전압(Vrefn)을 메모리 소자(310)에 출력할 수 있다.Specifically, the 2-1 switch 1021 may output the first reference voltage Vrefp to the memory device 310 when the first switch signal SWp is high, and the 2-2 switch 1022 may When the second switch signal SWn is high, the second reference voltage Vrefn may be output to the memory element 310.

또한 제2 스위치부(1020)의 제2-3 스위치(1023)는 프리 뉴런에서 출력되는 신호가 메모리 소자(310)를 통하여 포스트 뉴런에 전달되는 것을 제어할 수 있다.In addition, the 2-3 switch 1023 of the second switch unit 1020 may control the signal output from the pre-neuron to be transmitted to the post-neuron through the memory element 310.

제2 클럭 신호(CLKwrite)가 로우인 구간은 인테그레이션(integration) 구간일 수 있다. A period in which the second clock signal CLKwrite is low may be an integration period.

구체적으로 제1-2 스위치(1012) 및 제2-3 스위치(1023)는 제2 클럭 신호(CLKwrite)가 로우일 때 닫힐 수 있다. 이에 따라 메모리 소자(310)의 양 단은 프리 뉴런의 출력단 및 포스트 뉴런의 입력단에 연결되고, 메모리 소자의 컨덕턴스에 의해 생성된 전류는 포스트 뉴런의 적분기에 의해 적분될 수 있다.Specifically, the 1-2 switch 1012 and the 2-3 switch 1023 may be closed when the second clock signal CLKwrite is low. Accordingly, both ends of the memory element 310 are connected to the output terminal of the free neuron and the input terminal of the post neuron, and the current generated by the conductance of the memory element may be integrated by the integrator of the post neuron.

한편 제2 클럭 신호(CLKwrite)가 하이인 구간은 STDP 학습 구간일 수 있다.Meanwhile, a section in which the second clock signal CLKwrite is high may be an STDP learning section.

구체적으로 제2 클럭 신호(CLKwrite)가 하이일 때 제1-1 스위치(1011)이 닫힐 수 있으며, 이에 따라 기록 펄스(910)가 메모리 소자(310)에 인가될 수 있다.Specifically, when the second clock signal CLKwrite is high, the first-first switch 1011 may be closed, and accordingly, the write pulse 910 may be applied to the memory element 310.

또한 기록 펄스(910)와 함께 제1 스위치 신호(SWp) 또는 제2 스위치 신호(Swn)가 출력됨에 따라, 기록 펄스(910)와 함께 제1 기준 전압(Vrefp) 또는 제2 기준 전압(Vrefn)이 메모리 소자(310)에 인가될 수 있다.In addition, as the first switch signal SWp or the second switch signal Swn is output together with the write pulse 910, the first reference voltage Vrefp or the second reference voltage Vrefn together with the write pulse 910 is output. It may be applied to the memory element 310.

한편 도 10b를 참고하면, 제1 스위치 신호(SWp)가 하이인 경우, 메모리 소자(310)의 양 단자에는 기록 펄스(write_pulse)와 제1 기준 전압(Vrefp)의 전압 차가 메모리 소자(310)에 셋(set) 전압으로 입력될 수 있다. 이에 따라 메모리 소자의 컨덕턴스가 증가하게 되어 가중치가 업데이트 될 수 있다.Meanwhile, referring to FIG. 10B, when the first switch signal SWp is high, a voltage difference between a write pulse (write_pulse) and a first reference voltage (Vrefp) is applied to the memory element 310 at both terminals of the memory element 310. It can be input as a set voltage. Accordingly, the conductance of the memory element increases, and the weight can be updated.

반면에 제2 스위치 신호(SWn)가 하이인 경우, 메모리 소자(310)의 양 단자에는 기록 펄스(write_pulse)와 제2 기준 전압(Vrefn)의 전압 차가 메모리 소자(310)에 리셋(reset) 전압으로 입력될 수 있다. 이에 따라 메모리 소자의 컨덕턴스가 감소하게 되어 가중치가 업데이트 될 수 있다.On the other hand, when the second switch signal SWn is high, the voltage difference between the write pulse (write_pulse) and the second reference voltage Vrefn is reset to the memory element 310 at both terminals of the memory element 310. Can be entered as Accordingly, the conductance of the memory device is reduced, and the weight can be updated.

도 11은 종래의 STDP 학습과, 본 발명에서 제안하는 준 안정 시간(meta-stability time)을 이용한 STDP 학습을 비교한 도면이다.FIG. 11 is a diagram comparing conventional STDP learning with STDP learning using a meta-stability time proposed in the present invention.

종래의 STDP 학습에서는 시냅스의 가중치(weight)가 감소하는 영역인 long-term depression (LTD)와 가중치(weight)가 증가하는 영역인 long-term potentiation (LTP) 구간이 존재한다.In conventional STDP learning, there are long-term depression (LTD), a region in which the weight of synapses decreases, and long-term potentiation (LTP), a region in which the weights increase.

반면에 본 발명에서 제안하는 STDP 학습 하드웨어는, 비교기 출력의 극성에 따라, 비활성 메모리 소자에 인가되는 기록 펄스가 셋 펄스 또는 리셋 펄스인지가 결정된다.On the other hand, the STDP learning hardware proposed in the present invention determines whether a write pulse applied to the inactive memory element is a set pulse or a reset pulse according to the polarity of the comparator output.

도 12는 동적 비교기의 준 안정성 시간을 입력 전압의 차에 대하여 플롯(plot)한 커브로 STDP 커브를 근사화 한 것을 나타낸다.FIG. 12 shows that the STDP curve is approximated by a curve plotting the quasi-stability time of the dynamic comparator with respect to the difference of the input voltage.

앞서 설명한 바와 같이 준 안정성 시간은 수학식 2에 의해, 종래의 STDP 학습은 수학식 1에 의해 정의되며, 수학식 2와 수학식 1에는 각각 네개의 파라미터가 존재한다.As described above, quasi-stability time is defined by Equation 2, and conventional STDP learning is defined by Equation 1, and there are four parameters in Equation 2 and Equation 1, respectively.

본 발명에서 제안하는 STDP 학습 하드웨어는, 시스템에서 요구하는 STDP 학습의 사양에 맞게 설계될 수 있으며, 회로 파라미터(수학식 2의 파라미터)를 조정함으로써 다양한 STDP 학습 커브를 구현할 수 있다.The STDP learning hardware proposed in the present invention can be designed according to the specifications of STDP learning required by the system, and various STDP learning curves can be implemented by adjusting circuit parameters (parameters of Equation 2).

즉 동적 비교기의 준 안정성 시간과 STDP 학습 규칙을 비교하기 위하여, 준 안정성 시간을 이용하여 STDP 학습 규칙을 근사화 할 수 있으며, STDP 학습의 수학식의 파라미터와 함께 준 안정성 시간을 정의하는 수학식의 파라미터를 조정함으로써 다양한 STDP 학습 커브를 구현할 수 있다.That is, in order to compare the quasi-stability time of the dynamic comparator with the STDP learning rule, the STDP learning rule can be approximated using the quasi-stability time, and the parameter of the equation defining the quasi-stability time together with the parameters of the equation of STDP learning. By adjusting, various STDP learning curves can be implemented.

도 13 내지 도 15는 본 발명의 실시 예에 따른 시뮬레이션 결과를 도시한 도면이다.13 to 15 are views showing simulation results according to an embodiment of the present invention.

소프트웨어로 구현된 NVM 모델이 STDP 학습 하드웨어의 학습 성능을 검증하는데 사용되었으며, STDP 학습의 시뮬레이션 결과가 소개된다.A NVM model implemented in software was used to verify the learning performance of the STDP learning hardware, and simulation results of STDP learning are introduced.

컨덕턴스 응답 모델은 아래의 식으로 정의될 수 있다.The conductance response model can be defined by the following equation.

Figure pat00003
Figure pat00003

여기서 G(m)과 w는 NVM의 표준화 된 컨덕턴스 및 기록 펄스의 펄스 폭일 수 있다. w의 범위는 0에서 Max(w)까지이며, 이는 기록 펄스의 최대 펄스 폭일 수 있다. 또한 Max(w)의 값은 기록 펄스의 고유 한 특성에 의해 결정될 수 있다.Here, G(m) and w may be the standardized conductance of the NVM and the pulse width of the recording pulse. The range of w is from 0 to Max(w), which may be the maximum pulse width of the recording pulse. Also, the value of Max(w) can be determined by the unique characteristics of the recording pulse.

도 13에서는 다양한 값의 β를 가지는 NVM의 컨덕턴스 응답 곡선(기록 펄스의 펄스 폭에 대한 NVM의 컨덕턴스 응답 모델)을 도시한다. Fig. 13 shows the conductance response curve of the NVM having various values of β (the conductance response model of the NVM to the pulse width of the recording pulse).

LTP에서 펄스 폭 (상단 x 축)이 증가함에 따라 컨덕턴스가 증가하는 반면, LTD에서 펄스 폭(하단 x축)이 증가함에 따라 컨덕턴스가 감소한다.In LTP, the conductance increases as the pulse width (top x-axis) increases, whereas in LTD, the conductance decreases as the pulse width (bottom x-axis) increases.

또한 NVM 모델은 β가 1 일 때 선형 컨덕턴스 응답을 가지며, β 값을 변경함에 따라 컨덕턴스 업데이트의 선형성이 조정되어 다양한 컨덕턴스 응답 곡선이 생성될 수 있다.In addition, the NVM model has a linear conductance response when β is 1, and as the β value is changed, the linearity of the conductance update can be adjusted to generate various conductance response curves.

한편 메모리 소자의 펄스 폭에 대한 컨덕턴스 응답을 모델링 함으로써, 본 발명에서 제안하는 STDP 학습을 적용할 수 있다.On the other hand, by modeling the conductance response to the pulse width of a memory device, STDP learning proposed in the present invention can be applied.

도 14에서는 본 발명에서 제안된 STDP 학습이 적용된 경우 비교기에서의 입력 전압의 차에 따른 메모리 소자의 가중치 변화량을 도시하고 있다.In FIG. 14, when STDP learning proposed in the present invention is applied, a weight change amount of a memory device according to a difference in input voltage in a comparator is illustrated.

그리고 도 14는 본 명세서에서 제안된 STDP 학습 하드웨어에 의해 생성된 STDP 학습의 스파이스(SPICE) 시뮬레이션 결과와 NVM 모델의 다양한 컨덕턴스 응답 곡선을 도시한다.And FIG. 14 shows the SPICE simulation results of the STDP learning generated by the STDP learning hardware proposed in this specification and various conductance response curves of the NVM model.

β가 1, 2, 0.5, 3과 0.33 인 LTP와 LTD 쌍의 컨덕턴스 응답이 각각 시뮬레이션에 적용되었다. Conductance responses of LTP and LTD pairs with β of 1, 2, 0.5, 3 and 0.33 were applied to the simulation, respectively.

구현 된 STDP 학습의 전달 곡선(transfer curves)은 수학적 STDP와 비교될 수 있으며, 수학적 STDP에서 사용된 파라미터와 본 발명에서 구현된 STDP에서 사용된 파라미터는 도 15에서 도시하였다.The implemented transfer curves of STDP learning can be compared with mathematical STDP, and parameters used in mathematical STDP and parameters used in STDP implemented in the present invention are illustrated in FIG. 15.

결론적으로, 본 발명에서 제안하는 STDP 학습 하드 웨어는, 비활성 메모리 소자를 이용하여 가중치(weight)를 구현하는 스파이크 기반 뉴로모픽 시스템(spike-based neuromorphic system)에서, 동적 비교기(dynamic comparator)의 준 안정 시간(meta-stability time) 정보를 이용하여 STDP 학습 규칙(STDP learning rule)을 구현하고, STDP 학습 규칙(STDP learning rule)에 따라 비활성 메모리 소자의 가중치(weight)를 학습시킬 수 있다.In conclusion, the STDP learning hardware proposed in the present invention is based on a dynamic comparator in a spike-based neuromorphic system that implements weight using an inactive memory device. The STDP learning rule may be implemented using meta-stability time information, and the weight of an inactive memory device may be learned according to the STDP learning rule.

기존의 STDP 학습 하드웨어는 추가적인 메모리나 복잡한 구조의 스파이크 생성 회로가 필요한데 반하여, 본 발명은 비교기의 준 안정 특성을 이용하여 STDP 학습을 구현한다.While the existing STDP learning hardware requires an additional memory or a spike generating circuit of a complex structure, the present invention implements STDP learning by using the quasi-stable characteristics of the comparator.

따라서 본 발명은, 종래의 디지털 방식에 비하여, STDP에 따른 가중치 업데이트 양 판단시 룩업 테이블을 사용하지 않기 때문에, 추가적인 디지털 메모리가 필요하지 않은 장점이 있다.Therefore, the present invention has an advantage in that an additional digital memory is not required because the lookup table is not used when determining the amount of weight update according to the STDP, as compared to the conventional digital method.

또한 본 발명은, 종래의 아날로그 방식에 비하여, 스파이크 시간(spike timing)에 따른 가중치 업데이트 양을 계산하기 위해 고정된 전력을 소모하는 증폭기가 필요하지 않다. 즉 동적 비교기와 플립플롭 만으로 저전력을 이용한 STDP 학습 규칙을 구현할 수 있다.In addition, the present invention, compared to the conventional analog method, does not require an amplifier that consumes a fixed power to calculate the weight update amount according to the spike time (spike timing). That is, STDP learning rules using low power can be implemented only with a dynamic comparator and flip-flop.

또한 본 발명은 STDP 학습을 위한 스파이크를 별도로 구현하는 것 없이, STDP를 따르는 펄스 폭을 가지는 단일 펄스만을 이용하여 STDP 학습 규칙을 구현할 수 있는 장점이 있다.In addition, the present invention has an advantage that the STDP learning rule can be implemented using only a single pulse having a pulse width conforming to the STDP, without separately implementing a spike for STDP learning.

또한 본 발명은 STDP 학습 규칙에 따라 가중치의 업데이트 양을 결정함과 동시에 컨덕턴스를 자동으로 업데이트 할 수 있는 기록 펄스를 생성하는 장점이 있다.In addition, the present invention has an advantage of generating a recording pulse capable of automatically updating the conductance while determining the update amount of the weight according to the STDP learning rule.

전술한 본 발명은, 프로그램이 기록된 매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 매체는, 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 매체의 예로는, HDD(Hard Disk Drive), SSD(Solid State Disk), SDD(Silicon Disk Drive), ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장 장치 등이 있다. 또한, 상기 컴퓨터는 단말기의 제어부(180)를 포함할 수도 있다. 따라서, 상기의 상세한 설명은 모든 면에서 제한적으로 해석되어서는 아니 되고 예시적인 것으로 고려되어야 한다. 본 발명의 범위는 첨부된 청구항의 합리적 해석에 의해 결정되어야 하고, 본 발명의 등가적 범위 내에서의 모든 변경은 본 발명의 범위에 포함된다.The present invention described above can be embodied as computer readable codes on a medium on which a program is recorded. The computer-readable medium includes all types of recording devices in which data readable by a computer system is stored. Examples of computer-readable media include a hard disk drive (HDD), solid state disk (SSD), silicon disk drive (SDD), ROM, RAM, CD-ROM, magnetic tape, floppy disk, and optical data storage device. There is this. In addition, the computer may include a control unit 180 of the terminal. Accordingly, the above detailed description should not be construed as limiting in all respects, but should be considered illustrative. The scope of the invention should be determined by rational interpretation of the appended claims, and all changes within the equivalent scope of the invention are included in the scope of the invention.

100: 프리 뉴런 200: 포스트 뉴런
300: NVM 회로 400: STDP 시간 생성기
500: 제어 신호 및 기록 펄스 생성기
100: free neuron 200: post neuron
300: NVM circuit 400: STDP time generator
500: control signal and record pulse generator

Claims (11)

프리 뉴런;
포스트 뉴런;
프리 뉴런으로부터 포스트 뉴런으로 신호를 전달하고, 기록 펄스에 기초하여 컨덕턴스를 변경하는 NVM 회로;
상기 프리 뉴런의 전압과 상기 포스트 뉴런의 전압의 전압 차에 따라 결정되는 준안정 시간(metastability time)을 반영하는 제1 출력 신호를 출력하는 STDP 시간 생성기; 및
상기 제1 출력 신호에 따라 펄스 폭이 가변되는 상기 기록 펄스를 생성하고, 상기 기록 펄스를 상기 NVM 회로에 인가하는 제어 신호 및 기록 펄스 생성기를 포함하는
STDP 학습 하드웨어.
Free neurons;
Post neurons;
An NVM circuit that transfers a signal from the pre-neuron to the post-neuron and changes conductance based on the recording pulse;
An STDP time generator outputting a first output signal reflecting a metastability time determined according to a voltage difference between the voltage of the pre-neuron and the voltage of the post-neuron; And
And a control signal and a write pulse generator for generating the write pulse whose pulse width is variable according to the first output signal, and applying the write pulse to the NVM circuit.
STDP learning hardware.
제 1항에 있어서,
상기 STDP 시간 생성기는,
상기 프리 뉴런의 전압과 상기 포스트 뉴런의 전압이 입력되고, 비교기 클럭신호를 입력 받아 제2 출력 신호 및 제3 출력 신호를 출력하는 동적 비교기; 및
상기 제2 출력 신호 및 상기 제3 출력 신호를 논리 연산하여 상기 제1 출력 신호를 출력하는 논리 게이트를 포함하는
STDP 학습 하드웨어.
According to claim 1,
The STDP time generator,
A dynamic comparator in which the voltage of the pre-neuron and the voltage of the post-neuron are input, and receives a comparator clock signal and outputs a second output signal and a third output signal; And
And a logic gate for logically calculating the second output signal and the third output signal to output the first output signal.
STDP learning hardware.
제 1항에 있어서,
상기 제어 신호 및 기록 펄스 생성기는,
상기 제1 출력 신호를 수신하고, 상기 비교기 클럭 신호 및 상기 제1 출력 신호를 이용하여 상기 준안정 시간에 대응하는 상기 기록 펄스를 생성하는
STDP 학습 하드웨어.
According to claim 1,
The control signal and recording pulse generator,
Receiving the first output signal, and using the comparator clock signal and the first output signal to generate the recording pulse corresponding to the metastable time
STDP learning hardware.
제 3항에 있어서,
상기 제어 신호 및 기록 펄스 생성기는,
상기 비교기 클럭 신호를 클럭 신호로써 수신하고, 상기 제1 출력 신호를 리셋 신호로써 수신하여 상기 준 안정 시간과 동일한 상기 기록 펄스를 생성하는 제1 플립 플롭을 포함하는
STDP 학습 하드웨어.
According to claim 3,
The control signal and recording pulse generator,
And a first flip-flop receiving the comparator clock signal as a clock signal and receiving the first output signal as a reset signal to generate the write pulse equal to the quasi-stable time.
STDP learning hardware.
제 4항에 있어서,
상기 제어 신호 및 기록 펄스 생성기는,
상기 비교기 클럭신호의 1/2 주파수의 제1 클럭 신호를 생성하는 제1 클럭 분배기를 포함하고,
상기 동적 비교기는,
상기 제1 클럭 신호가 하이인 구간에서 상기 전압 차의 극성을 결정하는
STDP 학습 하드웨어.
The method of claim 4,
The control signal and recording pulse generator,
And a first clock divider for generating a first clock signal of 1/2 frequency of the comparator clock signal,
The dynamic comparator,
Determining the polarity of the voltage difference in the section where the first clock signal is high
STDP learning hardware.
제 5항에 있어서,
상기 제어 신호 및 기록 펄스 생성기는,
상기 제2 출력 신호 및 상기 제3 출력 신호를 클럭 신호로써 수신하고, 상기 제1 클럭 신호를 리셋 신호로써 수신하고, 상기 결정된 극성에 기초하여 제4 출력 신호 또는 제5 출력 신호를 출력하는 제2 플립플롭을 포함하는
STDP 학습 하드웨어.
The method of claim 5,
The control signal and recording pulse generator,
A second receiving the second output signal and the third output signal as a clock signal, receiving the first clock signal as a reset signal, and outputting a fourth output signal or a fifth output signal based on the determined polarity Which includes flip-flops
STDP learning hardware.
제 6항에 있어서,
상기 제어 신호 및 기록 펄스 생성기는,
상기 기록 펄스와 상기 제4 출력 신호를 논리 연산하여 제1 스위치 신호를 출력하고, 상기 기록 펄스와 상기 제5 출력 신호를 논리 연산하여 제2 스위치 신호를 출력하는 제2 논리 게이트를 포함하는
STDP 학습 하드웨어.
The method of claim 6,
The control signal and recording pulse generator,
And a second logic gate performing a logical operation on the write pulse and the fourth output signal to output a first switch signal, and performing a logical operation on the write pulse and the fifth output signal to output a second switch signal.
STDP learning hardware.
제 7항에 있어서,
상기 제어 신호 및 기록 펄스 생성기는,
상기 비교기 클럭신호의 1/4 주파수의 제2 클럭 신호를 생성하는 제2 클럭 분배기를 포함하고,
상기 NVM 회로는,
비활성 메모리 소자, 상기 비활성 메모리 소자의 전단에 배치되는 제1 스위치부 및 상기 메모리 소자의 후단에 배치되는 제2 스위치부를 포함하고,
상기 제1 스위치부는,
상기 제2 클럭 신호가 하이인 구간에서 상기 기록 펄스를 상기 메모리 소자에 출력하는
STDP 학습 하드웨어.
The method of claim 7,
The control signal and recording pulse generator,
And a second clock divider for generating a second clock signal of 1/4 frequency of the comparator clock signal,
The NVM circuit,
And an inactive memory element, a first switch portion disposed at the front end of the inactive memory element, and a second switch portion disposed at the rear end of the memory element,
The first switch unit,
Outputting the write pulse to the memory element in a period in which the second clock signal is high
STDP learning hardware.
제 8항에 있어서,
상기 제2 스위치부는,
상기 제1 스위치 신호가 하이이면 제1 기준 전압을 상기 메모리 소자에 출력하고,
상기 제2 스위치 신호가 하이이면 제2 기준 전압을 상기 메모리 소자에 출력하는
STDP 학습 하드웨어.
The method of claim 8,
The second switch unit,
When the first switch signal is high, a first reference voltage is output to the memory element,
When the second switch signal is high, outputting a second reference voltage to the memory element
STDP learning hardware.
제 9항에 있어서,
상기 메모리 소자의 양단에는
상기 제1 스위치 신호가 하이이면, 상기 기록 펄스와 상기 제1 기준 전압의 전압 차가 상기 메모리 소자의 셋 전압으로 입력되고,
상기 제2 스위치 신호가 하이이면 상기 기록 펄스와 상기 제2 기준 전압의 전압 차가 상기 메모리 소자의 리셋 전압으로 입력되는
STDP 학습 하드웨어.
The method of claim 9,
On both ends of the memory element
When the first switch signal is high, a voltage difference between the write pulse and the first reference voltage is input as the set voltage of the memory element,
When the second switch signal is high, a voltage difference between the write pulse and the second reference voltage is input as a reset voltage of the memory element.
STDP learning hardware.
제 2항에 있어서,
상기 STDP 시간 생성기는,
상기 동적 비교기의 출력단에 연결되는 가변 커패시터를 포함하는
STDP 학습 하드웨어.
According to claim 2,
The STDP time generator,
Including a variable capacitor connected to the output terminal of the dynamic comparator
STDP learning hardware.
KR1020180155317A 2018-12-05 2018-12-05 Stdp learning hardware KR102215067B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180155317A KR102215067B1 (en) 2018-12-05 2018-12-05 Stdp learning hardware

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180155317A KR102215067B1 (en) 2018-12-05 2018-12-05 Stdp learning hardware

Publications (3)

Publication Number Publication Date
KR20200068387A true KR20200068387A (en) 2020-06-15
KR102215067B1 KR102215067B1 (en) 2021-02-10
KR102215067B9 KR102215067B9 (en) 2021-09-17

Family

ID=71081924

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180155317A KR102215067B1 (en) 2018-12-05 2018-12-05 Stdp learning hardware

Country Status (1)

Country Link
KR (1) KR102215067B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11670345B2 (en) 2021-02-05 2023-06-06 Samsung Electronics Co., Ltd. Sense amplifier including pre-amplifier circuit and memory device including same

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100129741A (en) * 2008-03-14 2010-12-09 휴렛-팩커드 디벨롭먼트 컴퍼니, 엘.피. Neuromorphic circuit
KR20140144130A (en) * 2013-06-10 2014-12-18 삼성전자주식회사 Synapse array, pulse shaper circuit and neuromorphic system including the synapse array and the pulse shaper circuit

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100129741A (en) * 2008-03-14 2010-12-09 휴렛-팩커드 디벨롭먼트 컴퍼니, 엘.피. Neuromorphic circuit
KR20140144130A (en) * 2013-06-10 2014-12-18 삼성전자주식회사 Synapse array, pulse shaper circuit and neuromorphic system including the synapse array and the pulse shaper circuit

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11670345B2 (en) 2021-02-05 2023-06-06 Samsung Electronics Co., Ltd. Sense amplifier including pre-amplifier circuit and memory device including same

Also Published As

Publication number Publication date
KR102215067B1 (en) 2021-02-10
KR102215067B9 (en) 2021-09-17

Similar Documents

Publication Publication Date Title
CN110352436B (en) Resistance processing unit with hysteresis update for neural network training
US9779355B1 (en) Back propagation gates and storage capacitor for neural networks
JP6477924B2 (en) Memristor neuromorphological circuit and method for training memristor neuromorphological circuit
Guo et al. Unsupervised learning on resistive memory array based spiking neural networks
Hu et al. A compact memristor-based dynamic synapse for spiking neural networks
US20240086697A1 (en) Counter based resistive processing unit for programmable and reconfigurable artificial-neural-networks
KR102230784B1 (en) Synapse circuit for spike-timing dependent plasticity(stdp) operation and neuromorphic system
US20150046382A1 (en) Computed synapses for neuromorphic systems
Huayaney et al. Learning in silicon beyond STDP: a neuromorphic implementation of multi-factor synaptic plasticity with calcium-based dynamics
US20150212861A1 (en) Value synchronization across neural processors
Sun et al. Memristor-based Hopfield network circuit for recognition and sequencing application
Yan et al. Multilayer memristive neural network circuit based on online learning for license plate detection
Irmanova et al. Neuron inspired data encoding memristive multi-level memory cell
US20150088796A1 (en) Methods and apparatus for implementation of group tags for neural models
JP2760543B2 (en) Multiple feedback circuit
Andreeva et al. Memristive logic design of multifunctional spiking neural network with unsupervised learning
Fang et al. Neuromorphic algorithm-hardware codesign for temporal pattern learning
Šuch et al. Passive memristor synaptic circuits with multiple timing dependent plasticity mechanisms
Zhang et al. Neuromorphic circuit implementation of operant conditioning based on emotion generation and modulation
Donahue et al. Design and analysis of neuromemristive echo state networks with limited-precision synapses
US9542645B2 (en) Plastic synapse management
CN114169511B (en) Associative memory circuit and method based on physical memristor
KR102215067B1 (en) Stdp learning hardware
Barve et al. NeuroSOFM: A neuromorphic self-organizing feature map heterogeneously integrating RRAM and FeFET
KR20200135148A (en) Synaptic Device For Neural Network Training

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
G170 Publication of correction