KR102313796B1 - Neuromorphic arithmetic device - Google Patents

Neuromorphic arithmetic device Download PDF

Info

Publication number
KR102313796B1
KR102313796B1 KR1020170113563A KR20170113563A KR102313796B1 KR 102313796 B1 KR102313796 B1 KR 102313796B1 KR 1020170113563 A KR1020170113563 A KR 1020170113563A KR 20170113563 A KR20170113563 A KR 20170113563A KR 102313796 B1 KR102313796 B1 KR 102313796B1
Authority
KR
South Korea
Prior art keywords
current
metal line
pulses
computing device
neuromorphic computing
Prior art date
Application number
KR1020170113563A
Other languages
Korean (ko)
Other versions
KR20180088258A (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 US15/828,153 priority Critical patent/US10803383B2/en
Publication of KR20180088258A publication Critical patent/KR20180088258A/en
Application granted granted Critical
Publication of KR102313796B1 publication Critical patent/KR102313796B1/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06CDIGITAL COMPUTERS IN WHICH ALL THE COMPUTATION IS EFFECTED MECHANICALLY
    • G06C15/00Computing mechanisms; Actuating devices therefor
    • G06C15/08Multiplying or dividing devices; Devices for computing the exponent or root
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Neurology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computer Hardware Design (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Inductance-Capacitance Distribution Constants And Capacitance-Resistance Oscillators (AREA)
  • Semiconductor Integrated Circuits (AREA)

Abstract

본 발명은 뉴로모픽 연산 장치에 관한 것이다. 본 발명의 뉴로모픽 연산 장치는 시냅스 회로, 자체적인 커패시턴스 성분을 갖는 메탈 라인, 오실레이터, 비교기, 및 커패시턴스 칼리브레이터를 포함할 수 있다. 시냅스 회로는 PWM 신호와 가중치에 대해 곱연산을 수행하여 전류를 생성하도록 구성될 수 있다. 메탈 라인은 전류에 의한 전하가 저장되는 메탈라인 커패시터를 포함할 수 있다. 오실레이터는 메탈 라인 커패시터에 저장되는 전하에 기초하여 복수의 펄스들을 생성한다. 비교기는 복수의 펄스들의 주파수와 타깃 주파수를 비교하고, 비교 결과에 기초하여 제어 신호를 생성할 수 있다. 커패시턴스 칼리브레이터는 제어 신호에 기초하여, 메탈라인 커패시터의 커패시턴스 값을 조절할 수 있다.The present invention relates to a neuromorphic computing device. The neuromorphic computing device of the present invention may include a synaptic circuit, a metal line having its own capacitance component, an oscillator, a comparator, and a capacitance calibrator. The synaptic circuit may be configured to generate a current by multiplying a PWM signal and a weight. The metal line may include a metal line capacitor in which electric charges are stored. The oscillator generates a plurality of pulses based on the charge stored in the metal line capacitor. The comparator may compare the frequency of the plurality of pulses with the target frequency, and generate a control signal based on the comparison result. The capacitance calibrator may adjust the capacitance value of the metal line capacitor based on the control signal.

Description

뉴로모픽 연산 장치{NEUROMORPHIC ARITHMETIC DEVICE}Neuromorphic computing device {NEUROMORPHIC ARITHMETIC DEVICE}

본 발명은 뉴로모픽 회로에 관한 것으로, 좀 더 상세하게는, 연산 오차를 보정하도록 구성된 뉴로모픽 연산 장치에 관한 것이다.The present invention relates to a neuromorphic circuit, and more particularly, to a neuromorphic computing device configured to correct an operation error.

뉴로모픽 연산 장치는 인간의 신경계 또는 뇌를 모방하여 정보를 처리하는 장치이다. 뉴로모픽 연산 장치는 인공 지능 기술과 관련된 딥 러닝(deep learning) 또는 머신 러닝(machine learning)에 기초하는 연산 블록과, 연산 블록을 제어하는 제어 블록을 포함한다. 뉴로모픽 연산 장치는 복수의 뉴런들의 2차원 혹은 3차원적 연결로 정의될 수 있다. 각각의 뉴런은, 생물학적 뉴런의 구성 요소와 동일하게, 축색돌기(axon), 수상돌기(dendrite), 및 세포 몸체(soma)에 해당하는 회로로 구성될 수 있다. 특히, 뉴런과 뉴런 사이를 연결하는 시냅스(synapse) 회로에서 연산이 실행된다. A neuromorphic computing device is a device that processes information by mimicking the human nervous system or brain. The neuromorphic computing device includes an operation block based on deep learning or machine learning related to artificial intelligence technology, and a control block for controlling the operation block. A neuromorphic computing device may be defined as a two-dimensional or three-dimensional connection of a plurality of neurons. Each neuron may be composed of a circuit corresponding to an axon, a dendrite, and a cell body (soma), similarly to the components of a biological neuron. In particular, calculations are performed in the synapse circuit that connects neurons to each other.

뉴로모픽 연산 장치에 입력된 정보를 병렬적으로 그리고 신속하게 처리하기 위하여 아날로그 방식의 회로가 적용될 수 있다. 일반적으로, 아날로그 방식으로 구현된 뉴로모픽 연산 장치의 시냅스 회로에서, 수상돌기를 구현하기 위해, 메탈 라인이 자체적으로 가지고 있는 메탈 라인 커패시터가 이용된다. 오실레이터는 메탈 라인 커패시터에 충전된 전하들에 기초하는 펄스들을 생성할 수 있으며, 펄스들이 카운팅 됨으로써, 합연산이 수행된다.In order to process information input to the neuromorphic computing device in parallel and quickly, an analog circuit may be applied. In general, in a synaptic circuit of a neuromorphic computing device implemented in an analog manner, in order to implement a dendrite, a metal line capacitor of a metal line itself is used. The oscillator may generate pulses based on the charges charged in the metal line capacitor, and the pulses are counted, so that the sum operation is performed.

그러나, 메탈 라인 커패시터의 커패시턴스 값은 실제 설계 당시 의도했던 값과 다를 수 있다. 이는 뉴로모픽 연산 장치의 제조 공정에서 야기되는 것으로써, 오실레이터에 의해 출력되는 펄스들의 주파수 편차를 초래한다. 그러므로, 시냅스 회로들에 의해 수행된 곱연산들의 합연산의 부정확성을 야기한다. 그러므로, 오실레이터의 주파수 편차를 해소하는 것은, 뉴로모픽 연산 장치의 정확도 및 신뢰성 향상을 위해 매우 중요한 문제이다.However, the capacitance value of the metal line capacitor may be different from the intended value at the time of actual design. This is caused in the manufacturing process of the neuromorphic computing device, and causes a frequency deviation of the pulses output by the oscillator. Therefore, it causes inaccuracy of the sum of the multiplication operations performed by the synaptic circuits. Therefore, resolving the frequency deviation of the oscillator is a very important problem for improving the accuracy and reliability of the neuromorphic computing device.

본 발명의 목적은, 메탈 라인에서 발생하는 커패시턴스의 부정확성에 의한 연산 오차를 보정하는 뉴로모픽 연산 장치를 제공하는데 있다.SUMMARY OF THE INVENTION It is an object of the present invention to provide a neuromorphic computing device for correcting an arithmetic error due to inaccuracy of capacitance generated in a metal line.

본 발명의 실시 예에 따른 뉴로모픽 연산 장치는, PWM 신호와 가중치에 대해 곱연산을 수행하여 전류를 생성하도록 구성되는 시냅스 회로, 상기 전류에 대응하는 전하가 저장되는 메탈라인 커패시터를 포함하는 메탈 라인, 상기 메탈 라인 커패시터에 저장되는 전하에 기초하여 복수의 펄스들을 생성하도록 구성되는 오실레이터, 그리고 상기 복수의 펄스들의 주파수와 타깃 주파수의 비교 결과에 기초하여, 상기 메탈라인 커패시터의 커패시턴스 값을 조절하도록 구성되는 커패시턴스 칼리브레이터를 포함할 수 있다.A neuromorphic computing device according to an embodiment of the present invention includes a synaptic circuit configured to generate a current by performing a multiplication operation on a PWM signal and a weight, and a metal line capacitor in which a charge corresponding to the current is stored. line, an oscillator configured to generate a plurality of pulses based on charge stored in the metal line capacitor, and to adjust a capacitance value of the metal line capacitor based on a comparison result of the frequency of the plurality of pulses with a target frequency It may include a capacitance calibrator configured.

예를 들어, 상기 커패시턴스 칼리브레이터는, 서로 병렬로 연결되는 복수의 커패시터들, 그리고 상기 복수의 커패시터들 각각에 대응하는 복수의 스위치들을 포함할 수 있다. 그리고 상기 메탈 라인 커패시터의 커패턴스 값이 타깃 값이 되도록, 상기 복수의 스위치들 중 적어도 일부가 스위칭-온 될 수 있다. 그리고, 상기 복수의 커패시터들은 지수적으로 증가하는 커패시턴스 값들을 가질 수 있다. For example, the capacitance calibrator may include a plurality of capacitors connected to each other in parallel, and a plurality of switches corresponding to each of the plurality of capacitors. In addition, at least some of the plurality of switches may be switched on so that the capacitance value of the metal line capacitor becomes a target value. In addition, the plurality of capacitors may have exponentially increasing capacitance values.

예를 들어, 상기 뉴로모픽 연산 장치는, 입력 신호를 상기 PWM 신호로 변환하는 PWM 컨버터, 상기 복수의 펄스들을 카운팅 하는 카운터, 상기 복수의 펄스들의 주파수와 타깃 주파수를 비교하는 비교기, 그리고 상기 카운터에 의한 카운팅 값을 쉬프팅하는 레벨 쉬프터를 더 포함할 수 있다. 예를 들어, 상기 시냅스 회로는, 상기 전류를 생성하는 전류원, 그리고 상기 PWM 신호와 상기 가중치에 대해 AND 연산을 수행하는 AND 게이트를 포함하되, 상기 시냅스 회로는, 상기 AND 게이트의 출력에 기초하여, 상기 전류를 출력할 수 있다. 그리고, 상기 메탈라인 커패시터는 상기 메탈라인이 자체적으로 보유하는 커패시턴스에 대응할 수 있다.For example, the neuromorphic computing device includes a PWM converter for converting an input signal into the PWM signal, a counter for counting the plurality of pulses, a comparator for comparing the frequency of the plurality of pulses with a target frequency, and the counter It may further include a level shifter for shifting the counted value by . For example, the synaptic circuit includes a current source for generating the current, and an AND gate for performing an AND operation on the PWM signal and the weight, wherein the synaptic circuit is based on the output of the AND gate, The current may be output. In addition, the metal line capacitor may correspond to a capacitance of the metal line itself.

본 발명의 다른 실시 예에 따른 뉴로모픽 연산 장치는, PWM 신호와 가중치에 대해 곱연산을 수행하여 전류를 생성하도록 구성되는 시냅스 회로, 상기 전류에 대응하는 전하가 저장되는 메탈라인 커패시터를 포함하는 메탈 라인, 상기 메탈 라인 커패시터에 저장되는 전하에 기초하여 복수의 펄스들을 생성하도록 구성되는 오실레이터, 그리고 상기 복수의 펄스들의 주파수와 타깃 주파수의 비교 결과에 기초하여, 상기 전류의 크기를 조절하도록 구성되는 보조 전류원을 포함할 수 있다.A neuromorphic computing device according to another embodiment of the present invention includes a synaptic circuit configured to generate a current by performing a multiplication operation on a PWM signal and a weight, and a metal line capacitor in which a charge corresponding to the current is stored a metal line, an oscillator configured to generate a plurality of pulses based on charges stored in the metal line capacitor, and an oscillator configured to adjust the magnitude of the current based on a comparison result of the frequency of the plurality of pulses with a target frequency An auxiliary current source may be included.

예를 들어, 상기 보조 전류원은, 서로 병렬로 연결되는 복수의 전류원들, 그리고 상기 복수의 전류원들 각각에 대응하는 복수의 스위치들을 포함할 수 있다. 그리고, 상기 시냅스 회로는, 주 전류를 생성하는 주 전류원, 그리고 상기 PWM 신호와 상기 가중치에 대해 AND 연산을 수행하는 AND 게이트를 포함하되, 상기 시냅스 회로는, 상기 AND 게이트의 출력에 기초하여, 상기 복수의 전류원들 중 적어도 일부와 상기 전류를 출력할 수 있다. 그리고, 상기 복수의 펄스들의 상기 주파수가 타깃 주파수가 되도록, 상기 복수의 스위치들 중 적어도 일부가 스위칭-온 될 수 있다.For example, the auxiliary current source may include a plurality of current sources connected to each other in parallel, and a plurality of switches corresponding to each of the plurality of current sources. And, the synaptic circuit includes a main current source for generating a main current, and an AND gate for performing an AND operation on the PWM signal and the weight, wherein the synaptic circuit is, based on the output of the AND gate, the At least some of the plurality of current sources and the current may be output. In addition, at least some of the plurality of switches may be switched on so that the frequency of the plurality of pulses becomes a target frequency.

예를 들어, 상기 복수의 전류원들은 지수적으로 증가하는 전류 값들을 가질 수 있다. 그리고, 상기 뉴로모픽 연산 장치는, 입력 신호를 상기 PWM 신호로 변환하는 PWM 컨버터, 상기 복수의 펄스들을 카운팅 하는 카운터, 상기 복수의 펄스들의 주파수와 타깃 주파수를 비교하는 비교기, 그리고 상기 카운터에 의한 카운팅 값을 쉬프팅하는 레벨 쉬프터를 더 포함할 수 있다.For example, the plurality of current sources may have exponentially increasing current values. In addition, the neuromorphic computing device includes a PWM converter for converting an input signal into the PWM signal, a counter for counting the plurality of pulses, a comparator for comparing the frequency of the plurality of pulses with a target frequency, and the counter It may further include a level shifter for shifting the counting value.

본 발명의 또 다른 실시 예에 따른 뉴로모픽 연산 장치는, PWM 신호와 가중치에 대해 곱연산을 수행하여 전류를 생성하도록 구성되는 시냅스 회로, 상기 전류에 대응하는 전하가 저장되는 메탈라인 커패시터를 포함하는 메탈 라인, 상기 메탈 라인 커패시터에 저장되는 전하에 기초하여 복수의 펄스들을 생성하도록 구성되는 오실레이터, 그리고 상기 복수의 펄스들의 주파수와 타깃 주파수의 비교 결과에 기초하여, 상기 전류의 크기를 조절하도록 구성될 수 있다.A neuromorphic computing device according to another embodiment of the present invention includes a synaptic circuit configured to generate a current by performing a multiplication operation on a PWM signal and a weight, and a metal line capacitor in which a charge corresponding to the current is stored a metal line, an oscillator configured to generate a plurality of pulses based on charges stored in the metal line capacitor, and configured to adjust the magnitude of the current based on a comparison result of the frequency of the plurality of pulses with a target frequency can be

예를 들어, 상기 바이어스 생성기는, 전원 전압을 제공받는 복수의 트랜지스터들, 상기 복수의 전류원들 중 적어도 일부의 각각에 대응하는 복수의 스위치들, 그리고 기준 전압 생성기를 포함하되, 상기 복수의 트랜지스터들의 게이트 전극들은, 상기 기준 전압 생성기에 의해 생성되는 기준 전압이 출력되는 단자와 공통으로 연결될 수 있다. 그리고, 상기 시냅스 회로는, 게이트 전극이 상기 복수의 트랜지스터들의 상기 게이트 전극들에 연결되는 트랜지스터를 포함하는 전류원, 그리고 상기 PWM 신호와 상기 가중치에 대해 AND 연산을 수행하는 AND 게이트를 포함하되, 상기 시냅스 회로는, 상기 AND 게이트의 출력에 기초하여, 상기 전류를 출력할 수 있다.For example, the bias generator includes a plurality of transistors receiving a power supply voltage, a plurality of switches corresponding to each of at least some of the plurality of current sources, and a reference voltage generator, The gate electrodes may be commonly connected to a terminal to which a reference voltage generated by the reference voltage generator is output. In addition, the synapse circuit includes a current source including a transistor having a gate electrode connected to the gate electrodes of the plurality of transistors, and an AND gate for performing an AND operation on the PWM signal and the weight, wherein the synapse The circuit may output the current based on the output of the AND gate.

예를 들어, 상기 복수의 펄스들의 상기 주파수가 타깃 주파수가 되도록, 상기 복수의 스위치들 중 적어도 일부가 스위칭-온 될 수 있다. 그리고, 상기 뉴로모픽 연산 장치는, 입력 신호를 상기 PWM 신호로 변환하는 PWM 컨버터, 상기 복수의 펄스들을 카운팅 하는 카운터, 상기 복수의 펄스들의 주파수와 타깃 주파수를 비교하는 비교기, 그리고 상기 카운터에 의한 카운팅 값을 쉬프팅하는 레벨 쉬프터를 더 포함할 수 있다.For example, at least some of the plurality of switches may be switched on such that the frequency of the plurality of pulses becomes a target frequency. In addition, the neuromorphic computing device includes a PWM converter for converting an input signal into the PWM signal, a counter for counting the plurality of pulses, a comparator for comparing the frequency of the plurality of pulses with a target frequency, and the counter It may further include a level shifter for shifting the counting value.

본 발명에 실시 예에 따르면, 커패시터의 커패시턴스 값을 조절함으로써 오실레이터의 주파수 편차를 보정할 수 있다.According to an embodiment of the present invention, the frequency deviation of the oscillator may be corrected by adjusting the capacitance value of the capacitor.

본 발명에 다른 실시 예에 따르면, 시냅스 회로에 보조 전류원을 제공함으로써 오실레이터의 주파수 편차를 보정할 수 있다.According to another embodiment of the present invention, it is possible to correct the frequency deviation of the oscillator by providing an auxiliary current source to the synaptic circuit.

본 발명에 또 다른 실시 예에 따르면, 바이어스 생성기를 이용하여 시냅스 회로의 전류를 조절함으로써 오실레이터의 주파수 편차를 보정할 수 있다.According to another embodiment of the present invention, the frequency deviation of the oscillator may be corrected by adjusting the current of the synaptic circuit using a bias generator.

도 1은 본 발명의 실시 예에 따른 뉴로모픽 연산 장치를 보여주는 블록도이다.
도 2는 도 1에 도시된 PWM 컨버터들의 동작을 보여주는 도면이다.
도 3은 도 1에 도시된 시냅스 회로들의 구성을 예시적으로 보여주는 블록도이다.
도 4는 도 1에 도시된 뉴로모픽 연산 회로의 일부 구성들을 예시적으로 보여주는 블록도이다.
도 5는 본 발명의 실시 예에 따른, 오실레이터의 주파수 편차를 보정하는 방법을 보여주는 순서도이다.
도 6은 본 발명의 실시 예에 따른 뉴로모픽 연산 장치를 보여주는 블록도이다.
도 7은 도 6에 도시된 뉴로모픽 연산 회로의 일부 구성들을 예시적으로 보여주는 블록도이다.
도 8은 본 발명의 실시 예에 따른, 오실레이터의 주파수 편차를 보정하는 방법을 보여주는 순서도이다.
도 9는 본 발명의 실시 예에 따른 뉴로모픽 연산 장치를 보여주는 블록도이다.
도 10은 도 9에 도시된 뉴로모픽 연산 회로의 일부 구성들을 예시적으로 보여주는 블록도이다.
도 11은 본 발명의 실시 예에 따른, 오실레이터의 주파수 편차를 보정하는 방법을 보여주는 순서도이다.
1 is a block diagram showing a neuromorphic computing device according to an embodiment of the present invention.
FIG. 2 is a view showing the operation of the PWM converters shown in FIG. 1 .
Figure 3 is a block diagram exemplarily showing the configuration of the synaptic circuits shown in Figure 1.
4 is a block diagram exemplarily showing some configurations of the neuromorphic operation circuit shown in FIG. 1 .
5 is a flowchart illustrating a method of correcting a frequency deviation of an oscillator according to an embodiment of the present invention.
6 is a block diagram illustrating a neuromorphic computing device according to an embodiment of the present invention.
7 is a block diagram exemplarily showing some configurations of the neuromorphic operation circuit shown in FIG. 6 .
8 is a flowchart illustrating a method of correcting a frequency deviation of an oscillator according to an embodiment of the present invention.
9 is a block diagram illustrating a neuromorphic computing device according to an embodiment of the present invention.
FIG. 10 is a block diagram exemplarily showing some configurations of the neuromorphic operation circuit shown in FIG. 9 .
11 is a flowchart illustrating a method of correcting a frequency deviation of an oscillator according to an embodiment of the present invention.

이하, 첨부된 도면들을 참조하여 본 발명의 실시 예들이 상세하게 설명된다. 이하의 설명에서, 상세한 구성들 및 구조들과 같은 세부적인 사항들은 단순히 본 발명의 실시 예들의 전반적인 이해를 돕기 위하여 제공된다. 그러므로 본 발명의 기술적 사상 및 범위로부터의 벗어남 없이 본문에 기재된 실시 예들의 변형들은 통상의 기술자 의해 수행될 수 있다. 더욱이, 명확성 및 간결성을 위하여 잘 알려진 기능들 및 구조들에 대한 설명들은 생략된다. 본 명세서에서 사용된 용어들은 본 발명의 기능들을 고려하여 정의된 용어들이며, 특정 기능에 한정되지 않는다. 용어들의 정의는 상세한 설명에 기재된 사항을 기반으로 결정될 수 있다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings. In the following description, details such as detailed configurations and structures are simply provided to help the general understanding of the embodiments of the present invention. Therefore, modifications of the embodiments described herein may be performed by those skilled in the art without departing from the spirit and scope of the present invention. Moreover, descriptions of well-known functions and structures are omitted for the sake of clarity and brevity. The terms used in this specification are terms defined in consideration of the functions of the present invention, and are not limited to specific functions. Definitions of terms may be determined based on matters described in the detailed description.

이하의 도면들 또는 상세한 설명에서의 모듈들은 도면에 도시되거나 또는 상세한 설명에 기재된 구성 요소 이외에 다른 것들과 연결될 수 있다. 모듈들 또는 구성 요소들 사이의 연결은 각각 직접적 또는 비직접적일 수 있다. 모듈들 또는 구성 요소들 사이의 연결은 각각 통신에 의한 연결이거나 또는 물리적인 접속일 수 있다.Modules in the following drawings or detailed description may be connected to other elements other than those shown in the drawings or described in the detailed description. The connections between modules or components may be direct or non-direct, respectively. A connection between modules or components may be a connection by communication or a physical connection, respectively.

상세한 설명에서 사용되는 부 또는 유닛(unit), 모듈(module), 계층(layer) 등의 용어를 참조하여 설명되는 구성 요소들은 소프트웨어, 또는 하드웨어, 또는 그것들의 조합의 형태로 구현될 수 있다. 예시적으로, 소프트웨어는 기계 코드, 펌웨어, 임베디드 코드, 및 애플리케이션 소프트웨어일 수 있다. 예를 들어, 하드웨어는 전기 회로, 전자 회로, 프로세서, 컴퓨터, 집적 회로, 집적 회로 코어들, 압력 센서, 관성 센서, 멤즈(Micro Electro Mechanical System; MEMS), 수동 소자, 또는 그것들의 조합을 포함할 수 있다. Components described with reference to terms such as unit or unit, module, layer, etc. used in the detailed description may be implemented in the form of software, hardware, or a combination thereof. Illustratively, the software may be machine code, firmware, embedded code, and application software. For example, the hardware may include an electrical circuit, an electronic circuit, a processor, a computer, an integrated circuit, integrated circuit cores, a pressure sensor, an inertial sensor, a Micro Electro Mechanical System (MEMS), a passive element, or a combination thereof. can

다르게 정의되지 않는 한, 본문에서 사용되는 기술적 또는 과학적인 의미를 포함하는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 지닌 자에 의해 이해될 수 있는 의미를 갖는다. 일반적으로 사전에서 정의된 용어들은 관련된 기술 분야에서의 맥락적 의미와 동등한 의미를 갖도록 해석되며, 본문에서 명확하게 정의되지 않는 한, 이상적 또는 과도하게 형식적인 의미를 갖도록 해석되지 않는다.Unless otherwise defined, all terms including technical or scientific meanings used herein have meanings that can be understood by those of ordinary skill in the art to which the present invention belongs. In general, terms defined in the dictionary are interpreted to have the same meaning as the contextual meaning in the related technical field, and unless clearly defined in the text, they are not interpreted to have an ideal or excessively formal meaning.

도 1은 본 발명의 실시 예에 따른 뉴로모픽 연산 장치를 보여주는 블록도이다. 뉴로모픽 연산 장치(100)는 복수의 PWM 컨버터들(111~11n), 복수의 시냅스 회로들(11~n8)을 포함하는 시냅스 회로 어레이(120), 커패시턴스 칼리브레이터(130), 오실레이터들(140), 카운터들(150), 비교기(160), 및 합산기(170)를 포함할 수 있다.1 is a block diagram showing a neuromorphic computing device according to an embodiment of the present invention. Neuromorphic computing device 100 includes a plurality of PWM converters 111 to 11n, a synaptic circuit array 120 including a plurality of synaptic circuits 11 to n8, a capacitance calibrator 130, and oscillators. 140 , counters 150 , comparator 160 , and summer 170 .

복수의 PWM 컨버터들(pulse width modulator converters, 111~11n)은 각각 복수의 입력들(INPUT1~INPUTn)을 수신하여 PWM 신호들(PWM1~PWMn)을 생성할 수 있다. 예를 들어, 복수의 입력들(INPUT1~INPUTn)은 바이너리 값일 수 있으며, PWM 신호들(PWM1~PWMn) 각각은 복수의 입력들(INPUT1~INPUTn) 각각에 대응할 수 있다. 즉, PWM 신호들(PWM1~PWMn)은 입력된 값에 따라 서로 다른 펄스 폭을 가질 수 있다. PWM 신호들(PWM1~PWMn) 각각은 바이너리 입력의 논리 '1'에서 하이 값을 가지며, 바이너리 입력의 논리 '0'에서 로우 값을 갖는 신호일 수 있다. 예를 들어, PWM 컨버터들(111~11n)은 인에이블 신호(EN)에 의해 활성화될 수 있다.A plurality of PWM converters (pulse width modulator converters, 111 to 11n) may receive a plurality of inputs INPUT1 to INPUTn, respectively, and generate PWM signals PWM1 to PWMn. For example, the plurality of inputs INPUT1 to INPUTn may be binary values, and each of the PWM signals PWM1 to PWMn may correspond to each of the plurality of inputs INPUT1 to INPUTn. That is, the PWM signals PWM1 to PWMn may have different pulse widths according to input values. Each of the PWM signals PWM1 to PWMn may be a signal having a high value at a logic '1' of the binary input and a low value at a logic '0' of the binary input. For example, the PWM converters 111 to 11n may be activated by the enable signal EN.

시냅스 회로 어레이(120)는 행과 열 방향으로 배치되는 복수의 시냅스 회로들(11~n8)을 포함할 수 있다. 예시적으로, 시냅스 회로들은 n개의 행들과 8개의 열들로 배치되는 것으로 도시되었으나, 이에 한정되지 않는다. 복수의 시냅스 회로들(11~n8)은 복수의 PWM 신호들(PWM1~PWMn)을 각각 수신할 수 있다. 예를 들어, 시냅스 회로 어레이(120)의 제 1 행에 배치되는 시냅스 회로들(11~18) 각각은 제 1 PWM 신호(PWM1)를 수신할 수 있다. 시냅스 회로 어레이(120)의 제 2 행에 배치되는 시냅스 회로들(21~28) 각각은 제 2 PWM 신호(PWM2)를 수신할 수 있다. 다른 행들에 배치되는 시냅스 회로들도 유사하다.The synaptic circuit array 120 may include a plurality of synaptic circuits 11 to n8 arranged in row and column directions. Illustratively, the synaptic circuits are shown as being arranged in n rows and 8 columns, but is not limited thereto. The plurality of synaptic circuits 11 to n8 may receive a plurality of PWM signals PWM1 to PWMn, respectively. For example, each of the synaptic circuits 11 to 18 disposed in the first row of the synaptic circuit array 120 may receive the first PWM signal PWM1 . Each of the synaptic circuits 21 to 28 disposed in the second row of the synaptic circuit array 120 may receive the second PWM signal PWM2 . Synaptic circuits arranged in other rows are similar.

PWM 신호들(PWM1~PWMn)이 각각 수신되는 회선들은 신경세포의 축색돌기(axon)에 대응할 수 있다. 복수의 시냅스 회로들(11~n8)은 가중치들(W1~Wn)을 각각 수신할 수 있다. 또는, 가중치들(W1~Wn)은 시냅스 회로들(11~n8) 각각에 저장되어 있는 값일 수 있다. 예를 들어, PWM 신호들(PWM1~PWMn)은 곱해지는 수인 피승수(multiplicand)일 수 있다. 그리고, 가중치들(W1~Wn)은 곱하는 수인 승수(multiplier)일 수 있다.The lines through which the PWM signals PWM1 to PWMn are received may correspond to an axon of a neuron. The plurality of synaptic circuits 11 to n8 may receive weights W1 to Wn, respectively. Alternatively, the weights W1 to Wn may be values stored in each of the synaptic circuits 11 to n8. For example, the PWM signals PWM1 to PWMn may be a multiplicand that is a number to be multiplied. In addition, the weights W1 to Wn may be multipliers that are multiplied.

복수의 시냅스 회로들(11~n8) 각각은 곱연산을 수행하는 곱셈기로써 동작할 수 있다. 시냅스 회로 어레이(120)는 복수의 승수들과 복수의 피승수들에 대한 복수의 곱연산들을 수행하도록 구성될 수 있다. 예를 들어, 복수의 시냅스 회로들(11~n8) 각각은 곱연산을 수행하기 위한 전류원, 논리 게이트, 및 스위치를 포함할 수 있다. 각각의 시냅스 회로에 의해 연산된 곱셈 결과는 전류로써 출력될 것이다. Each of the plurality of synaptic circuits 11 to n8 may operate as a multiplier for performing a multiplication operation. The synaptic circuit array 120 may be configured to perform a plurality of multiplication operations on a plurality of multipliers and a plurality of multiplicands. For example, each of the plurality of synaptic circuits 11 to n8 may include a current source for performing a multiplication operation, a logic gate, and a switch. The multiplication result calculated by each synaptic circuit will be output as a current.

나아가, 제 1 행에 배치되는 시냅스 회로들(11~18)은 제 1 피승수와 제 1 승수에 대한 제 1 곱연산을 수행하도록 구성될 수 있다. 예를 들어, 시냅스 회로들(11~18) 각각은 제 1 피승수로써 제 1 PWM 신호(PWM1)를 수신할 수 있다. 시냅스 회로들(11~18)은 제 1 승수를 수신할 수 있다. 또는, 제 1 승수는 각각의 시냅스 회로에 미리 저장되어 있을 수 있다.Furthermore, the synaptic circuits 11 to 18 arranged in the first row may be configured to perform a first multiplication operation on the first multiplier and the first multiplier. For example, each of the synaptic circuits 11 to 18 may receive the first PWM signal PWM1 as the first multiplicand. The synaptic circuits 11 to 18 may receive the first multiplier. Alternatively, the first multiplier may be previously stored in each synaptic circuit.

다만, 각각의 시냅스 회로는 제 1 승수 중 하나의 비트만을 수신할 수 있다. 예를 들어, 제 1 승수가 8비트의 바이너리 입력이라고 가정하면, 시냅스 회로(11)는 제 1 승수의 MSB (Most Significant Bit)를 저장할 수 있으며, 시냅스 회로(18)는 제 1 승수의 LSB (Least Significant Bit)를 저장할 수 있다. 시냅스 회로들(12~17)은 제 1 승수의 MSB와 LSB 사이의 나머지 비트들을 순차적으로 저장할 수 있다.However, each synaptic circuit may receive only one bit of the first multiplier. For example, assuming that the first multiplier is a binary input of 8 bits, the synaptic circuit 11 may store the MSB (Most Significant Bit) of the first multiplier, and the synaptic circuit 18 may store the first multiplier's LSB ( Least Significant Bit) can be stored. The synaptic circuits 12 to 17 may sequentially store the remaining bits between the MSB and the LSB of the first multiplier.

시냅스 회로들(11~18) 각각은, 제 1 피승수인 제 1 PWM 신호(PWM1)와 제 1 승수에 대해 부분 적(partial product)을 수행할 수 있다. 예를 들어, 시냅스 회로(11)는 제 1 PWM 신호(PWM1)와 제 1 승수의 MSB에 대해 곱연산을 수행할 수 있다. 시냅스 회로(18)는 제 1 PWM 신호(PWM1)와 제 1 승수의 LSB에 대해 곱연산을 수행할 수 있다. 나머지 시냅스 회로들(12~17)도 제 1 PWM 신호(PWM1)와 제 1 승수의 나머지 비트들에 대해 곱연산을 수행할 수 있다. 이상 설명된 동작들은 나머지 행들에 배치되는 시냅스 회로들(21~n8)에 대해서도 유사하게 적용될 것이다.Each of the synaptic circuits 11 to 18 may perform a partial product on the first PWM signal PWM1 as the first multiplier and the first multiplier. For example, the synaptic circuit 11 may perform a multiplication operation on the first PWM signal PWM1 and the MSB of the first multiplier. The synapse circuit 18 may perform a multiplication operation on the first PWM signal PWM1 and the LSB of the first multiplier. The remaining synaptic circuits 12 to 17 may also perform a multiplication operation on the first PWM signal PWM1 and the remaining bits of the first multiplier. The above-described operations will be similarly applied to the synaptic circuits 21 to n8 arranged in the remaining rows.

하나의 컬럼에 배치되는 복수의 시냅스 회로들(예컨대, 첫 번째 컬럼의 11~n1)을 연결하는 메탈 라인이 자체적으로 가지고 있는 메탈 라인 커패시터는, 곱연산들에 대한 합연산을 수행하는데 덧셈기로써 동작할 수 있다. 각각의 메탈 라인이 가지고 있는 커패시턴스 성분은 메탈 라인 커패시터(CML)로써 도시되었다. 덧셈 결과는 각각의 컬럼 라인이 가지고 있는 메탈 라인 커패시터(CML)에 저장되는, 시냅스 회로들로부터 출력되는 전류에 의한 전하량에 대응할 것이다.A metal line capacitor that a metal line connecting a plurality of synaptic circuits arranged in one column (eg, 11 to n1 of the first column) has itself operates as an adder to perform a sum operation on multiplication operations. can do. A capacitance component of each metal line is shown as a metal line capacitor (CML). The addition result will correspond to the amount of charge caused by the current output from the synaptic circuits, which is stored in the metal line capacitor (CML) of each column line.

커패시턴스 칼리브레이터(130)는 메탈 라인 커패시터(CML)의 커패시턴스 값을 조절하도록 구성될 수 있다. 메탈 라인 커패시터가 원래 목표로 했던 커패시턴스 값을 갖도록 보정됨으로써, 오실레이터들(140)의 주파수 편차가 보정될 수 있다. 예를 들어, 커패시턴스 칼리브레이터(130)는 복수의 커패시터들을 포함할 수 있다. 커패시턴스 칼리브레이터(130)의 구성 및 상세한 동작은 도 4에서 상세하게 후술될 것이다.The capacitance calibrator 130 may be configured to adjust a capacitance value of the metal line capacitor CML. By correcting the metal line capacitor to have the originally targeted capacitance value, the frequency deviation of the oscillators 140 may be corrected. For example, the capacitance calibrator 130 may include a plurality of capacitors. The configuration and detailed operation of the capacitance calibrator 130 will be described later in detail with reference to FIG. 4 .

오실레이터들(140)은 각각이 하나의 메탈 라인에 연결되는 복수의 오실레이터들을 포함할 수 있다. 각각의 오실레이터는 메탈 라인 커패시터(CML)에 저장된 전하에 기초하여 펄스들을 생성할 수 있다. 메탈 라인 커패시터(CML)에 저장된 전하는 복수의 시냅스 회로들에 의한 곱연산들의 합연산 결과에 대응하므로, 오실레이터에 의해 생성되는 펄스들은 합연산 결과에 대응할 수 있다. The oscillators 140 may include a plurality of oscillators each connected to one metal line. Each oscillator may generate pulses based on the charge stored in the metal line capacitor CML. Since the electric charge stored in the metal line capacitor CML corresponds to the sum operation result of the multiplication operations by the plurality of synaptic circuits, the pulses generated by the oscillator may correspond to the sum operation result.

카운터들(150)은 복수의 오실레이터들(140)에 의해 생성되는 펄스들을 카운팅할 수 있다. 예를 들어, 카운터들(150)은 메탈 라인들 각각에 연결되는 복수의 카운터들(151~158)을 포함할 수 있다.The counters 150 may count pulses generated by the plurality of oscillators 140 . For example, the counters 150 may include a plurality of counters 151 to 158 connected to each of the metal lines.

비교기(160)는 각각의 카운터에 의한 카운팅 값과 원래 의도되었던 카운팅 값을 비교할 수 있다. 예를 들어, 첫 번째 메탈 라인의 메탈 라인 커패시터(CML)는 원래 설계 당시 의도되었던 커패시턴스 값을 갖지 않을 수 있다. 이 경우, 오실레이터에 의해 생성되는 펄스들의 주파수는 원래 의도되었던 값을 갖지 않으므로, 정확한 합연산의 결과가 반영되지 않는다. 그러므로, 비교기(160)는 비교 결과에 기초하여 커패시턴스 칼리브레이터(130)를 제어하기 위한 제어 신호(CS)를 생성한다. 비교기(160)의 상세한 동작은 도 4에서 후술될 것이다.The comparator 160 may compare the counted value by each counter with the originally intended counting value. For example, the metal line capacitor (CML) of the first metal line may not have an intended capacitance value at the time of original design. In this case, since the frequency of the pulses generated by the oscillator does not have the originally intended value, the result of the correct sum operation is not reflected. Therefore, the comparator 160 generates a control signal CS for controlling the capacitance calibrator 130 based on the comparison result. A detailed operation of the comparator 160 will be described later with reference to FIG. 4 .

합산기(170)는 쉬프팅 된 디지털 값들을 더할 수 있으며, 합산 결과(OUTPUT)를 출력할 수 있다. 합산기(170)는 복수의 디지털 값들을 더하여 그 결과를 출력할 수 있는 다양한 논리 소자들로 구성될 수 있다.The summer 170 may add the shifted digital values and may output the summing result OUTPUT. The summer 170 may be composed of various logic elements capable of adding a plurality of digital values and outputting a result thereof.

다만, 카운터들(150)로부터 출력되는 디지털 값들은, 승수와 피승수에 대해 수행된 부분 적(partial product)이 몇 번째 비트에 대한 연산인지가 고려되지 않은 것이다. 따라서, 온전한 연산 결과를 얻기 위해서는 카운터들(180)로부터 출력되는 디지털 값들에 대해 적절한 쉬프팅 (또는 레벨 쉬프팅)이 수행되어야 한다.However, in the digital values output from the counters 150 , it is not considered which bit the partial product performed on the multiplier and the multiplicand is an operation on. Accordingly, in order to obtain a complete operation result, appropriate shifting (or level shifting) must be performed on the digital values output from the counters 180 .

예를 들어, 카운터(151)로부터 출력되는 디지털 값은, 피승수들과, 승수들의 MSB들에 대한 부분 적을 합한 결과이다. 따라서, 카운터(151)로부터 출력되는 디지털 값에 대해 27(즉, 128)이 곱해져야 한다. 예를 들어, 카운터(158)로부터 출력되는 디지털 값은, 피승수들과, 승수들의 LSB들에 대한 부분 적을 합한 결과이다. 따라서, 카운터(158)로부터 출력되는 디지털 값에 대해 20(즉, 1)이 곱해져야 한다. 다른 카운터들(152~157)로부터 출력되는 디지털 값들에 대해서도 이와 유사하게 쉬프팅이 수행되어야 한다. 이러한 쉬프팅은, 예컨대, 레벨 쉬프터(미도시) 등에 의해 수행될 수 있다.For example, the digital value output from the counter 151 is the result of summing the multiplicands and the partial products of the multipliers for MSBs. Accordingly, the digital value output from the counter 151 should be multiplied by 2 7 (ie, 128). For example, the digital value output from the counter 158 is the result of summing the multiplicands and the partial products of the multipliers to the LSBs. Accordingly, the digital value output from the counter 158 must be multiplied by 2 0 (ie, 1). Shifting should be performed similarly to digital values output from other counters 152 to 157 . Such shifting may be performed, for example, by a level shifter (not shown).

이상 설명된 실시 예에 따르면, 오실레이터에 의한 펄스들의 카운팅 값과 원래 의도했던 카운팅 값이 비교될 수 있다. 그리고, 비교 결과에 기초하여 각각의 메탈 라인의 메탈 커패시턴스 값이 원래 목표로 했던 값이 되도록 커패시턴스 칼리브레이터(130)가 제어될 수 있다. 그 결과, 오실레이터(140)로부터 출력되는 펄스들의 주파수가 원래 목표로 했던 값이 될 수 있다. 그러므로, 정확한 곱연산과 합연산을 수행하도록 구성되는 뉴로모픽 연산 회로가 제공될 수 있다. According to the above-described embodiment, the counting value of the pulses by the oscillator may be compared with the originally intended counting value. In addition, the capacitance calibrator 130 may be controlled so that the metal capacitance value of each metal line becomes an original target value based on the comparison result. As a result, the frequency of the pulses output from the oscillator 140 may be the original target value. Therefore, a neuromorphic operation circuit configured to perform exact multiplication and sum operations can be provided.

도 2는 도 1에 도시된 PWM 컨버터들의 동작을 보여주는 도면이다. 복수의 컨버터들(111~11n) 중 제 1 PWM 컨버터(111)의 동작이 예시적으로 도시되었으며, 다른 컨버터들(112~11n)의 구성 및 동작도 제 1 PWM 컨버터(111)와 실질적으로 동일하다. FIG. 2 is a view showing the operation of the PWM converters shown in FIG. 1 . The operation of the first PWM converter 111 among the plurality of converters 111 to 11n is illustrated as an example, and the configuration and operation of the other converters 112 to 11n are also substantially the same as those of the first PWM converter 111 . do.

제 1 PWM 컨버터(111)는 제 1 입력(INPUT1)을 입력받아 제 1 PWM 신호(PWM1)를 생성할 수 있다. 예시적으로, 제 1 입력(INPUT1)은 8비트의 이진수인 것으로 도시되었다. 제 1 PWM 컨버터(111)에 입력되는 이진수들과, 제 1 PWM 컨버터(111)로부터 출력되는 PWM 신호들의 파형이 예시적으로 도시되었다. 예를 들어, 제 1 PWM 컨버터(111)는 입력되는 이진수의 로직 하이 구간에서 비트 '1'을 출력할 수 있으며, 입력되는 이진수의 로직 로우 구간에서 비트 '0'을 출력할 수 있다.The first PWM converter 111 may receive the first input INPUT1 and generate the first PWM signal PWM1 . Illustratively, the first input INPUT1 is shown to be an 8-bit binary number. The binary numbers input to the first PWM converter 111 and waveforms of the PWM signals output from the first PWM converter 111 are illustrated as examples. For example, the first PWM converter 111 may output bit '1' in the logic high section of the input binary number and output bit '0' in the logic low section of the input binary number.

도 3은 도 1에 도시된 시냅스 회로들의 구성을 예시적으로 보여주는 블록도이다. 도시의 간략화를 위해, 시냅스 회로들(11~n1) 중 제 1 메탈 라인(ML1)에 연결된 제 1 및 제 n 시냅스 회로들(11, n1)만이 도시되었다. 제 1 시냅스 회로(11)는 AND 게이트, 제 1 전류원(CS1), 및 제 1 스위치(SW1)를 포함할 수 있다. 제 n 시냅스 회로(n1)는 AND 게이트, 제 n 전류원(CSn), 및 제 n 스위치(SWn)를 포함할 수 있다.Figure 3 is a block diagram exemplarily showing the configuration of the synaptic circuits shown in Figure 1. For simplicity of illustration, only the first and n-th synaptic circuits 11 and n1 connected to the first metal line ML1 among the synaptic circuits 11 to n1 are shown. The first synaptic circuit 11 may include an AND gate, a first current source CS1 , and a first switch SW1 . The nth synaptic circuit n1 may include an AND gate, an nth current source CSn, and an nth switch SWn.

시냅스 회로들(11~n1)의 AND 게이트들은, PWM 컨버터들(도 1 참조, 111~11n)에 의해 생성된 PWM 신호들(PWM1~PWMn)을 각각 입력받을 수 있다. 예를 들어, PWM 신호들(PWM1~PWMn)은 곱셈 연산에서 곱해지는 수인 피승수일 수 있다. 한편, 가중치들(W1~Wn)도 시냅스 회로들(11~n1)의 AND 게이트들로 각각 입력될 수 있다. 예를 들어, 가중치들(W1~Wn)은 곱하는 수인 승수일 수 있다. 예를 들어, 가중치들(W1~Wn)은 외부로부터 입력되거나, 시냅스 회로들(11~n1) 내부에 저장되어 있을 수 있다.The AND gates of the synaptic circuits 11 to n1 may receive PWM signals PWM1 to PWMn generated by the PWM converters (refer to FIG. 1 , 111 to 11n), respectively. For example, the PWM signals PWM1 to PWMn may be multiplicands that are numbers multiplied in a multiplication operation. Meanwhile, the weights W1 to Wn may also be input to the AND gates of the synaptic circuits 11 to n1, respectively. For example, the weights W1 to Wn may be multipliers that are multiplied. For example, the weights W1 to Wn may be input from the outside or stored in the synaptic circuits 11 to n1.

시냅스 회로들(11~n1)은 복수의 곱 연산들을 수행할 수 있다. 예를 들어, 제 1 메탈 라인(ML1)에 연결된 제 1 시냅스 회로(11)는 승수(PWM1)와 피승수(W1)에 대한 제 1 곱연산을 수행할 수 있다. 유사하게, 제 1 메탈 라인(ML1)에 연결된 제 n 시냅스 회로(n1)는 승수(PWMn)와 피승수(Wn)에 대한 제 n 곱연산을 수행할 수 있다. 여기서, 제 1 곱연산의 결과는 전류 I1로 나타날 수 있으며, 제 n 곱연산의 결과는 전류 In로 나타날 수 있다. 결국에는, 제 1 곱연산 내지 제 n 곱연산의 합은 전류 I1~In의 합으로 나타날 것이다.The synaptic circuits 11 to n1 may perform a plurality of multiplication operations. For example, the first synaptic circuit 11 connected to the first metal line ML1 may perform a first multiplication operation on the multiplier PWM1 and the multiplicand W1 . Similarly, the n-th synaptic circuit n1 connected to the first metal line ML1 may perform an n-th multiplication operation on the multiplier PWMn and the multiplicand Wn. Here, the result of the first multiplication operation may be expressed as the current I1, and the result of the nth multiplication operation may be expressed as the current In. In the end, the sum of the first to nth multiplication operations will appear as the sum of the currents I1 to In.

스위치들(SW1~SWn) 각각은, 시냅스 회로들(11~n1) 각각에 구비된 AND 게이트들에 의해 수행된 연산 결과에 따라 스위칭-온 되거나 스위칭-오프 될 수 있다. 예를 들어, AND 게이트에 의해 수행된 연산 결과가 논리 '1'이면, 스위치는 스위칭-온 될 것이며, AND 게이트에 의해 수행된 연산 결과가 논리 '0'이면, 스위치는 스위칭-오프 될 것이다. 스위치들(SW1~SWn)이 스위칭-온 됨으로써, 전류원들(CS1~CSn)에 의해 생성된 전류는 제 1 메탈 라인(ML1)을 통하여 흐를 것이다.Each of the switches SW1 to SWn may be switched on or switched off according to a result of an operation performed by AND gates provided in each of the synaptic circuits 11 to n1 . For example, if the result of the operation performed by the AND gate is logic '1', the switch will be switched on, and if the result of the operation performed by the AND gate is logic '0', the switch will be switched off. As the switches SW1 to SWn are switched on, the current generated by the current sources CS1 to CSn will flow through the first metal line ML1 .

전류원들(CS1~CSn)은, 제 1 메탈 라인 커패시터(CML1)에 저장되는 전하에 의한 전압 레벨이 선형적으로 증가하도록 구성될 수 있다. 일반적으로, 커패시터와 같은 저장 소자가 충전될 때, 커패시터 양단의 전압 레벨은 비선형적으로 증가한다. 따라서, 제 1 메탈 라인 커패시터(CML1) 의 선형성이 보장되지 않는다면, 전류들 I1~In의 합은 제 1 곱연산 내지 제 n 곱연산의 합을 나타내지 않을 것이다. 그러나, 전류원들(CS1~CSn)이 메탈 라인 커패시터(CML)의 선형성을 보장하도록 구성되기 때문에, 제 1 곱연산 내지 제 n 곱연산의 합은 전류 I1~In의 합을 나타낼 수 있다.The current sources CS1 to CSn may be configured such that a voltage level caused by the charge stored in the first metal line capacitor CML1 is linearly increased. In general, when a storage element, such as a capacitor, is charged, the voltage level across the capacitor increases non-linearly. Accordingly, if the linearity of the first metal line capacitor CML1 is not guaranteed, the sum of the currents I1 to In will not represent the sum of the first to nth multiplication operations. However, since the current sources CS1 to CSn are configured to ensure the linearity of the metal line capacitor CML, the sum of the first to nth products may represent the sum of the currents I1 to In.

도 4는 도 1에 도시된 뉴로모픽 연산 회로의 일부 구성들을 예시적으로 보여주는 블록도이다. 도 4에는 커패시턴스 칼리브레이터(131), 오실레이터(141), 카운터(151), 및 비교기(161)의 예시적인 구성이 도시되었다. 칼리브레이터(131)는 도 1의 칼리브레이터(130) 중 제 1 메탈 라인(ML1)에 연결된 칼리브레이터이다. 오실레이터(141)는 도 1에 도시된 오실레이터들(140) 중 제 1 메탈 라인(ML1)에 연결된 오실레이터이다. 제 1 메탈 라인 커패시터(CML1)는 제 1 메탈 라인(ML1)이 포함하는 자체적인 커패시턴스 성분을 나타낸다. 설명의 이해를 돕기 위해 도 1 내지 도 3을 함께 참조하여 설명하기로 한다.4 is a block diagram exemplarily showing some configurations of the neuromorphic operation circuit shown in FIG. 1 . 4 shows an exemplary configuration of a capacitance calibrator 131 , an oscillator 141 , a counter 151 , and a comparator 161 . The calibrator 131 is a calibrator connected to the first metal line ML1 of the calibrator 130 of FIG. 1 . The oscillator 141 is an oscillator connected to the first metal line ML1 among the oscillators 140 shown in FIG. 1 . The first metal line capacitor CML1 represents a capacitance component of the first metal line ML1 itself. In order to help the understanding of the description, it will be described with reference to FIGS. 1 to 3 together.

제 1 메탈 라인(ML1)에 연결된 뉴로모픽 시냅스 회로들(11~n1) 각각에 의한 곱연산들은 전류들의 합(I1+I2+…+In)으로 나타낼 수 있다. 전류들(I1+I2+…+In)에 의한 전하들은 제 1 메탈 라인 커패시터(CML1)에 저장될 것이다.Multiplication operations by each of the neuromorphic synaptic circuits 11 to n1 connected to the first metal line ML1 may be expressed as the sum of currents I1+I2+...+In. Charges generated by the currents I1+I2+...+In may be stored in the first metal line capacitor CML1.

커패시턴스 칼리브레이터(131)는 뉴로모픽 연산 회로를 설계할 당시 원래 의도되었던 제 1 메탈 라인 커패시터(CML1)의 커패시턴스 값을 획득하기 위하여 구성되는 복수의 커패시터들을 포함할 수 있다. 예를 들어, 커패시턴스 칼리브레이터(131)는 병렬로 연결된 복수의 커패시터들(C1~Cn)과 복수의 스위치들(SW1~SWn)을 포함할 수 있다. 예시적으로, 병렬로 연결되는 커패시터들(C1~Cn)이 도시되었으나, 직렬로 연결되거나, 직렬 및 병렬의 조합으로 구성되는 다양한 커패시터들이 적용될 수 있다.The capacitance calibrator 131 may include a plurality of capacitors configured to acquire the capacitance value of the first metal line capacitor CML1 originally intended when the neuromorphic operation circuit is designed. For example, the capacitance calibrator 131 may include a plurality of capacitors C1 to Cn and a plurality of switches SW1 to SWn connected in parallel. For example, although capacitors C1 to Cn connected in parallel are illustrated, various capacitors connected in series or configured in a combination of series and parallel may be applied.

커패시턴스 칼리브레이터(131)는 제어 신호(CS)의 제어에 의하여 적절히 스위칭 온 될 수 있다. 복수의 커패시터들(C1~Cn) 중 스위칭-온 된 일부의 커패시터(들)과 제 1 메탈 라인 커패시터(CML1)에 의하여 원래 의도했던 커패시턴스 값이 획득될 수 있다. 예를 들어, 제 1 메탈 라인 커패시터(CML1)의 커패시턴스 값은 원래 의도되었던 커패시턴스 값보다 작도록 설계될 수 있다. The capacitance calibrator 131 may be appropriately switched on under the control of the control signal CS. An originally intended capacitance value may be obtained by some of the switched-on capacitor(s) among the plurality of capacitors C1 to Cn and the first metal line capacitor CML1 . For example, the capacitance value of the first metal line capacitor CML1 may be designed to be smaller than an originally intended capacitance value.

오실레이터(140)는 제 1 메탈 라인 커패시터(CML1)에 저장되는 전하의 변화에 따라 펄스들을 생성하도록 구성될 수 있다. 예를 들어, 오실레이터(140)는 복수의 반전 증폭기들 (또는 인버터)을 포함할 수 있다. 이러한 링 오실레이터로 구현된 오실레이터(140)의 출력은 스위치(SW)를 스위칭-온 시키거나 스위칭-오프 시킬 것이다. 그 결과, 제 1 메탈 라인 커패시터(CML1)에 저장된 전하는 충전과 방전을 반복할 수 있으며, 펄스들이 생성될 것이다. 그러나, 본 도면에 도시된 오실레이터(140)의 구성은 예시적인 것이고, 그 구성은 이에 한정되지 않는다.The oscillator 140 may be configured to generate pulses according to a change in charge stored in the first metal line capacitor CML1 . For example, the oscillator 140 may include a plurality of inverting amplifiers (or inverters). The output of the oscillator 140 implemented as such a ring oscillator will switch-on or switch-off the switch SW. As a result, the charges stored in the first metal line capacitor CML1 may be repeatedly charged and discharged, and pulses will be generated. However, the configuration of the oscillator 140 shown in this figure is exemplary, and the configuration is not limited thereto.

카운터(150)는 오실레이터(140)로부터 출력되는 펄스들을 카운팅할 수 있다. 제 1 메탈 라인 커패시터(CML1)가 충전과 방전을 반복함으로써, 노드 N을 통하여 펄스들이 출력될 것이다. 카운터(150)는 (예컨대, 기준 주기 동안) 카운팅 된 값을 비교기(161)로 전달할 수 있다.The counter 150 may count pulses output from the oscillator 140 . As the first metal line capacitor CML1 repeats charging and discharging, pulses may be output through the node N. The counter 150 may transmit the counted value to the comparator 161 (eg, during a reference period).

비교기(161)는 카운팅 된 값과 타깃 값을 비교할 수 있다. 예를 들어, 타깃 값은 뉴로모픽 연산 장치를 설계할 당시 원래 의도되었던 제 1 메탈 라인(ML1)이 자체적으로 포함하는 커패시턴스 값에 대응할 수 있다. 그러나, 공정 상의 이유 등으로 인하여 원래 의도되었던 제 1 메탈 라인(ML1)의 커패시턴스 값과 실제 측정 값은 다를 수 있다. 비교기(161)는, 비교 결과에 기초하여, 카운트 값과 타깃 값을 일치시키는 커패시턴스 값을 획득하기 위하여, 스위치들(SW1~SWn)을 제어하는 제어 신호(CS)를 생성할 수 있다.The comparator 161 may compare the counted value with the target value. For example, the target value may correspond to a capacitance value that the first metal line ML1 originally intended when designing the neuromorphic computing device includes itself. However, the originally intended capacitance value of the first metal line ML1 may be different from the actual measured value due to a process reason or the like. The comparator 161 may generate a control signal CS for controlling the switches SW1 to SWn to obtain a capacitance value that matches the count value and the target value based on the comparison result.

일반적인 뉴로모픽 연산 회로에 의하면, 메탈 라인 커패시터의 실제 커패시턴스 값과 의도하였던 커패시턴스 값이 차이 때문에, 복수의 시냅스 회로들에 의한 곱연산들의 합연산을 정확하게 도출할 수 없었다. 그러나, 본 발명과 같이 커패시턴스 칼리브레이터를 제공하여 원하는 메탈 라인 커패시턴스 값을 획득함으로써, 합연산의 정확도를 향상시킬 수 있다.According to a general neuromorphic operation circuit, due to the difference between the actual capacitance value of the metal line capacitor and the intended capacitance value, the sum operation of the multiplication operations by the plurality of synaptic circuits could not be accurately derived. However, by providing a capacitance calibrator as in the present invention to obtain a desired metal line capacitance value, the accuracy of the sum operation can be improved.

도 5는 본 발명의 실시 예에 따른, 오실레이터의 주파수 편차를 보정하는 방법을 보여주는 순서도이다. 설명의 이해를 돕기 위해 도 1 내지 도 4를 함께 참조하여 설명하기로 한다.5 is a flowchart illustrating a method of correcting a frequency deviation of an oscillator according to an embodiment of the present invention. In order to help the understanding of the description, it will be described with reference to FIGS. 1 to 4 together.

S110 단계에서, 모든 피승수들 및 모든 승수들에 대해 최대값이 입력될 수 있다. 예를 들어, 피승수는 시냅스 회로들(11~n8)로 입력되는 PWM 신호들(PWM1~PWMn)일 수 있으며, 승수는 시냅스 회로들(11~n8)로 입력되는 (또는 시냅스 회로들에 저장된) 가중치들일 수 있다. 다만, 예시적으로, 카운터에 의한 카운팅을 용이하게 하기 위해 모든 피승수들 및 모든 승수들에 대해 최대값이 입력되는 것으로 설명되었으나, 이에 한정되지 않는다.In step S110 , a maximum value for all multiplicands and all multipliers may be input. For example, the multiplier may be PWM signals PWM1 to PWMn input to the synaptic circuits 11 to n8, and the multiplier is input to the synaptic circuits 11 to n8 (or stored in the synaptic circuits) may be weights. However, for example, it has been described that the maximum value is input for all multiplicands and all multipliers in order to facilitate counting by the counter, but the present invention is not limited thereto.

S120 단계에서, 기준 구간 동안 출력되는 카운팅 값과 타깃 값이 비교될 수 있다. 예를 들어, 타깃 값은 뉴로모픽 시냅스 회를 설계할 당시 원래 의도되었던, 메탈 라인의 커패시턴스 값일 수 있다. In step S120 , the counting value output during the reference section and the target value may be compared. For example, the target value may be a capacitance value of a metal line that was originally intended when designing a neuromorphic synaptic circuit.

S130 단계에서, 카운팅 값과 타깃 값의 비교 결과에 기초하여, 카운팅 값과 타깃 값을 일치시키는 커패시턴스 값이 설정될 수 있다. 예를 들어, 도 4의 커패시턴스 칼리브레이터(131)를 구성하는 복수의 커패시터들 중 일부가 적절히 스위칭-온 됨으로써, 제 1 메탈 라인 커패시터(CML1)의 커패시턴스 값과 함께, 원하는 커패시턴스 값이 획득될 수 있다.In operation S130 , a capacitance value matching the counting value and the target value may be set based on the comparison result of the counting value and the target value. For example, when some of the plurality of capacitors constituting the capacitance calibrator 131 of FIG. 4 are properly switched on, a desired capacitance value may be obtained together with the capacitance value of the first metal line capacitor CML1. can

도 6은 본 발명의 실시 예에 따른 뉴로모픽 연산 장치를 보여주는 블록도이다. 뉴로모픽 연산 장치(200)는 복수의 PWM 컨버터들(211~21n), 복수의 시냅스 회로들(11~n8)을 포함하는 시냅스 회로 어레이(220), 오실레이터들(240), 카운터들(250), 비교기(260), 합산기(170), 및 보조 전류원(280)을 포함할 수 있다.6 is a block diagram illustrating a neuromorphic computing device according to an embodiment of the present invention. Neuromorphic computing device 200 includes a plurality of PWM converters 211 to 21n, a synaptic circuit array 220 including a plurality of synaptic circuits 11 to n8, oscillators 240, and counters 250 ), a comparator 260 , a summer 170 , and an auxiliary current source 280 .

본 실시 예에서 설명되는 뉴로모픽 연산 장치(200)의 구성 요소들 중, 보조 전류원(280)을 제외한 나머지 구성 요소들은 도 1 내지 도 6을 통하여 설명된 것들과 실질적으로 동일하거나 유사하다. 그러므로, 중복되는 설명은 생략하기로 한다.Among the components of the neuromorphic computing device 200 described in this embodiment, the remaining components except for the auxiliary current source 280 are substantially the same as or similar to those described with reference to FIGS. 1 to 6 . Therefore, overlapping descriptions will be omitted.

비교기(260)는 각각의 카운터에 의한 카운팅 값과 원래 의도되었던 카운팅 값을 비교할 수 있다. 예를 들어, 첫 번째 메탈 라인의 메탈 라인 커패시터(CML)는 원래 설계 당시 의도되었던 커패시턴스 값을 갖지 않을 수 있다. 이 경우, 오실레이터에 의해 생성되는 펄스들의 주파수는 원래 의도되었던 값을 갖지 않으므로, 정확한 합연산의 결과가 반영되지 않는다. 그러므로, 비교기(260)는 비교 결과에 기초하여 보조 전류원(280)을 제어하기 위한 제어 신호(CS)를 생성한다.The comparator 260 may compare the counted value by each counter with the originally intended counting value. For example, the metal line capacitor (CML) of the first metal line may not have an intended capacitance value at the time of original design. In this case, since the frequency of the pulses generated by the oscillator does not have the originally intended value, the result of the correct sum operation is not reflected. Therefore, the comparator 260 generates a control signal CS for controlling the auxiliary current source 280 based on the comparison result.

보조 전류원(260)은 제어 신호(CS)에 기초하여 시냅스 회로들(11~n8) 각각이 생성하는 전류의 크기를 조절하도록 구성될 수 있다. 예를 들어, 보조 전류원(260)은, 시냅스 회로들(11~n8) 각각이 다양한 크기의 전류를 생성하도록, 복수의 전류원들을 포함할 수 있다. 복수의 전류원들 각각은 제어 제어 신호(CS)에 기초하여 선택적으로 제공될 수 있다.The auxiliary current source 260 may be configured to adjust the magnitude of the current generated by each of the synaptic circuits 11 to n8 based on the control signal CS. For example, the auxiliary current source 260 may include a plurality of current sources so that each of the synaptic circuits 11 to n8 generates currents of various sizes. Each of the plurality of current sources may be selectively provided based on the control control signal CS.

보조 전류원(260)을 구성하는 전류원들이 선택적으로 적절히 제공됨으로써, 메탈 라인 커패시터(CML)로 제공되는 전류의 양도 적절히 가변할 수 있다. 따라서, 가변하는 전류의 크기에 따라 오실레이터(240)의 주파수는 가변하므로, 뉴로모픽 연산 회로를 설계할 당시 원래 의도되었던 주파수의 카운팅 횟수가 획득될 수 있다.As current sources constituting the auxiliary current source 260 are selectively and appropriately provided, the amount of current provided to the metal line capacitor CML may be appropriately varied. Accordingly, since the frequency of the oscillator 240 varies according to the varying magnitude of the current, the number of counting times of the originally intended frequency at the time of designing the neuromorphic operation circuit may be obtained.

도 7은 도 6에 도시된 뉴로모픽 연산 회로의 일부 구성들을 예시적으로 보여주는 블록도이다. 도 6에는 제 1 메탈 라인(ML1) 에 연결되는 시냅스 회로(11), 오실레이터(241), 및 보조 전류원(280)이 도시되었다. 제 1 메탈 라인 커패시터(CML1)는 제 1 메탈 라인(ML1)이 포함하는 자체적인 커패시턴스 성분을 나타낸다. 설명의 이해를 돕기 위해 도 6을 함께 참조하여 설명하기로 한다.7 is a block diagram exemplarily showing some configurations of the neuromorphic operation circuit shown in FIG. 6 . 6, the synaptic circuit 11 connected to the first metal line ML1, the oscillator 241, and the auxiliary current source 280 are shown. The first metal line capacitor CML1 represents a capacitance component of the first metal line ML1 itself. In order to help the understanding of the description, it will be described with reference to FIG. 6 .

보조 전류원(280)은 복수의 보조 전류원들(SCS1~SCSn)을 포함할 수 있다. 예를 들어, 복수의 보조 전류원들(SCS1~SCSn) 각각이 시냅스 회로(11)에 선택적으로 제공되도록 복수의 보조 스위치들(SSW1~SSWn)이 제공될 수 있다.The auxiliary current source 280 may include a plurality of auxiliary current sources SCS1 to SCSn. For example, a plurality of auxiliary switches (SSW1 ~ SSWn) may be provided such that each of the plurality of auxiliary current sources (SCS1 ~ SCSn) is selectively provided to the synaptic circuit (11).

예를 들어, 복수의 보조 전류원들(SCS1~SCSn) 각각은 서로 같은 크기의 보조 전류들을 생성하거나, 또는 서로 다른 크기의 보조 전류들을 생성하도록 구성될 수 있다. 예를 들어, 복수의 보조 전류원들(SCS1~SCSn) 각각이 서로 다른 크기의 보조 전류들을 생성하도록 구성되는 경우, 복수의 보조 전류원들(SCS1~SCSn) 각각이 생성하는 전류의 크기는 지수적으로 증가할 수 있다.For example, each of the plurality of auxiliary current sources SCS1 to SCSn may be configured to generate auxiliary currents having the same size or different sizes. For example, when each of the plurality of auxiliary current sources SCS1 to SCSn is configured to generate auxiliary currents having different sizes, the magnitude of the current generated by each of the plurality of auxiliary current sources SCS1 to SCSn is exponential. can increase

시냅스 회로(11)에 기본적으로 제공되는 (CS1에 의한) 전류에 더하여, 복수의 보조 전류원들(SCS1~SCSn) 중 적어도 일부가 제공됨으로써, 시냅스 회로(11)로부터 출력되는 전류(I1)의 크기가 증가하거나 감소할 수 있다. 결과적으로, 증가하거나 감소한 전류(I1)이 크기에 의하여, 오실레이터(241)에 의해 생성되는 펄스들의 주파수가 변함으로써, 원하는 카운팅 값을 획득할 수 있다.In addition to the current (by CS1) basically provided to the synaptic circuit 11, at least some of the plurality of auxiliary current sources (SCS1 to SCSn) are provided, thereby the size of the current I1 output from the synaptic circuit 11 may increase or decrease. As a result, the frequency of the pulses generated by the oscillator 241 is changed according to the magnitude of the increased or decreased current I1, thereby obtaining a desired counting value.

도 8은 본 발명의 실시 예에 따른, 오실레이터의 주파수 편차를 보정하는 방법을 보여주는 순서도이다. 설명의 이해를 돕기 위해 도 6 내지 도 7을 함께 참조하여 설명하기로 한다.8 is a flowchart illustrating a method of correcting a frequency deviation of an oscillator according to an embodiment of the present invention. In order to help the understanding of the description, it will be described with reference to FIGS. 6 to 7 together.

S210 단계에서, 모든 피승수들 및 모든 승수들에 대해 최대값이 입력될 수 있다. 예를 들어, 피승수는 시냅스 회로들(11~n8)로 입력되는 PWM 신호들(PWM1~PWMn)일 수 있으며, 승수는 시냅스 회로들(11~n8)로 입력되는 (또는 시냅스 회로들에 저장된) 가중치들일 수 있다. 다만, 예시적으로, 카운터에 의한 카운팅을 용이하게 하기 위해 모든 피승수들 및 모든 승수들에 대해 최대값이 입력되는 것으로 설명되었으나, 이에 한정되지 않는다.In step S210 , a maximum value for all multiplicands and all multipliers may be input. For example, the multiplier may be PWM signals PWM1 to PWMn input to the synaptic circuits 11 to n8, and the multiplier is input to the synaptic circuits 11 to n8 (or stored in the synaptic circuits) may be weights. However, for example, it has been described that the maximum value is input for all multiplicands and all multipliers in order to facilitate counting by the counter, but the present invention is not limited thereto.

S220 단계에서, 기준 구간 동안 출력되는 카운팅 값과 타깃 값이 비교될 수 있다. 예를 들어, 타깃 값은 뉴로모픽 시냅스 회를 설계할 당시 원래 의도되었던, 메탈 라인의 커패시턴스 값일 수 있다. In step S220, the counting value output during the reference section and the target value may be compared. For example, the target value may be a capacitance value of a metal line that was originally intended when designing a neuromorphic synaptic circuit.

S230 단계에서, 카운팅 값과 타깃 값의 비교 결과에 기초하여, 카운팅 값과 타깃 값을 일치시키는 전류(I1)의 크기가 설정될 수 있다. 예를 들어, 도 7의 보조 스위치들(SSW1~SSWn) 중 적어도 일부가 적절히 스위칭-온 됨으로써, 전류원(SC1)과 보조 전류원들(SCS1~SCSn)에 의한 전류들 중 적어도 일부가 시냅스 회로(11)로부터 출력될 수 있다. 그 결과, 뉴로모픽 시냅스 회로를 설계할 당시 원래 의도되었던 타깃 주파수를 갖는 펄스들이 오실레이터(241)로부터 출력될 수 있다. In operation S230 , based on the comparison result of the counting value and the target value, the magnitude of the current I1 matching the counting value and the target value may be set. For example, at least some of the auxiliary switches SSW1 to SSWn of FIG. 7 are properly switched on, so that at least some of the currents by the current source SC1 and the auxiliary current sources SCS1 to SCSn are synaptic circuit 11 ) can be output from As a result, pulses having a target frequency originally intended at the time of designing the neuromorphic synaptic circuit may be output from the oscillator 241 .

도 9는 본 발명의 실시 예에 따른 뉴로모픽 연산 장치를 보여주는 블록도이다. 뉴로모픽 연산 장치(300)는 복수의 PWM 컨버터들(311~31n), 복수의 시냅스 회로들(11~n8)을 포함하는 시냅스 회로 어레이(320), 오실레이터들(340), 카운터들(350), 비교기(360), 합산기(370), 및 바이어스 생성기(390)을 포함할 수 있다.9 is a block diagram illustrating a neuromorphic computing device according to an embodiment of the present invention. Neuromorphic computing device 300 includes a plurality of PWM converters 311 to 31n, a synaptic circuit array 320 including a plurality of synaptic circuits 11 to n8, oscillators 340, and counters 350 ), a comparator 360 , a summer 370 , and a bias generator 390 .

본 실시 예에서 설명되는 뉴로모픽 연산 장치(300)의 구성 요소들 중, 바이어스 생성기(390)을 제외한 나머지 구성 요소들은 도 1 내지 도 6을 통하여 설명된 것들과 실질적으로 동일하거나 유사하다. 그러므로, 중복되는 설명은 생략하기로 한다.Among the components of the neuromorphic computing device 300 described in this embodiment, the remaining components except for the bias generator 390 are substantially the same as or similar to those described with reference to FIGS. 1 to 6 . Therefore, overlapping descriptions will be omitted.

비교기(360)는 각각의 카운터에 의한 카운팅 값과 원래 의도되었던 카운팅 값을 비교할 수 있다. 예를 들어, 첫 번째 메탈 라인의 메탈 라인 커패시터(CML)는 원래 설계 당시 의도되었던 커패시턴스 값을 갖지 않을 수 있다. 이 경우, 오실레이터에 의해 생성되는 펄스들의 주파수는 원래 의도되었던 값을 갖지 않으므로, 정확한 합연산의 결과가 반영되지 않는다. 그러므로, 비교기(360)는 비교 결과에 기초하여 바이어스 생성기(390)를 제어하기 위한 제어 신호(CS)를 생성한다.The comparator 360 may compare the counted value by each counter with the originally intended counting value. For example, the metal line capacitor (CML) of the first metal line may not have an intended capacitance value at the time of original design. In this case, since the frequency of the pulses generated by the oscillator does not have the originally intended value, the result of the correct sum operation is not reflected. Therefore, the comparator 360 generates a control signal CS for controlling the bias generator 390 based on the comparison result.

바이어스 생성기(390)는 복수의 시냅스 회로들(11~n8) 각각이 일정한 레벨의 전류를 생성하도록 보조할 수 있다. 예를 들어, 바이어스 생성기(390)는, 바이어스 생성기(390)에 의해 생성된 전류가 복수의 시냅스 회로들(11~n8) 각각이 생성하는 전류에 반영되도록 하는 커런트 미러로써 구현될 수 있다.The bias generator 390 may assist each of the plurality of synaptic circuits 11 to n8 to generate a current of a constant level. For example, the bias generator 390 may be implemented as a current mirror so that the current generated by the bias generator 390 is reflected in the current generated by each of the plurality of synaptic circuits 11 to n8 .

바이어스 생성기(390)에 의해 생성된 기준 전류가 각각의 시냅스 회로가 생성하는 전류에 반영됨으로써, 메탈 라인 커패시터(CML)로 제공되는 전류의 양도 적절히 가변할 수 있다. 따라서, 가변하는 전류의 크기에 따라 오실레이터(340)의 주파수는 가변하므로, 뉴로모픽 연산 회로를 설계할 당시 원래 의도되었던 주파수의 카운팅 횟수가 획득될 수 있다.As the reference current generated by the bias generator 390 is reflected in the current generated by each synaptic circuit, the amount of current provided to the metal line capacitor CML may be appropriately varied. Therefore, since the frequency of the oscillator 340 varies according to the varying magnitude of the current, the number of counting times of the originally intended frequency at the time of designing the neuromorphic operation circuit may be obtained.

도 10은 도 9에 도시된 뉴로모픽 연산 회로의 일부 구성들을 예시적으로 보여주는 블록도이다. 도 9에는 제 1 메탈 라인(ML1) 에 연결되는 시냅스 회로(11), 오실레이터(341), 및 바이어스 생성기(390)가 도시되었다. 제 1 메탈 라인 커패시터(CML1)는 제 1 메탈 라인(ML1)이 포함하는 자체적인 커패시턴스 성분을 나타낸다. 설명의 이해를 돕기 위해 도 9를 함께 참조하여 설명하기로 한다.FIG. 10 is a block diagram exemplarily showing some configurations of the neuromorphic operation circuit shown in FIG. 9 . 9 shows the synaptic circuit 11, the oscillator 341, and the bias generator 390 connected to the first metal line ML1. The first metal line capacitor CML1 represents a capacitance component of the first metal line ML1 itself. In order to help the understanding of the description, it will be described with reference to FIG. 9 together.

바이어스 생성기(390)는 시냅스 회로(11)로부터 출력되는 전류(I1)의 레벨을 조절하도록 구성될 수 있다. 예를 들어, 제어 신호(CS)에 의해 바이어스 생성기(390)가 제어됨으로써, 전류(I1)의 크기가 증가하거나 감소할 수 있다. 예를 들어, 바이어스 생성기(390)는 바이어스 생성기(390) 내부에서 생성된 전류의 크기에 따라 전류(I1)의 크기가 변하도록 구성된 커런트 미러(current mirror)로 구현될 수 있다.The bias generator 390 may be configured to adjust the level of the current I1 output from the synaptic circuit 11 . For example, as the bias generator 390 is controlled by the control signal CS, the magnitude of the current I1 may increase or decrease. For example, the bias generator 390 may be implemented as a current mirror configured to change the magnitude of the current I1 according to the magnitude of the current generated inside the bias generator 390 .

바이어스 생성기(390)가 커런트 미러로써 구현되는 경우, 바이어스 생성기(390)는 전원 전압(VDD)을 공급받는 복수의 트랜지스터들(T0~Tn), 제어 신호(CS)에 의해 스위칭-온 또는 스위칭-오프 되는 복수의 보조 스위치들(SSW1~SSW), 및 기준 전압 생성기(392)를 포함할 수 있다. 복수의 트랜지스터들(T0~Tn)의 게이트 전극들은, 기준 전압 생성기(392)에 의해 생성되는 기준 전압이 출력되는 단자 및 전류원(CS1)을 구성하는 PMOS 트랜지스터의 게이트 전극과 공통으로 연결될 수 있다. 복수의 트랜지스터들(T1~Tn) 각각은 서로 같은 크기의 전류들이 출력되도록 같은 크기를 가질 수 있다. 또는, 복수의 트랜지스터들(T1~Tn) 각각은 출력되는 전류들의 크기가 지수적으로 증가하도록 서로 다른 크기를 가질 수 있다. When the bias generator 390 is implemented as a current mirror, the bias generator 390 is switched-on or switched-on by the plurality of transistors T0 to Tn supplied with the power supply voltage VDD and the control signal CS. It may include a plurality of auxiliary switches SSW1 to SSW that are turned off, and a reference voltage generator 392 . Gate electrodes of the plurality of transistors T0 to Tn may be commonly connected to a terminal to which a reference voltage generated by the reference voltage generator 392 is output and a gate electrode of a PMOS transistor constituting the current source CS1 . Each of the plurality of transistors T1 to Tn may have the same size so that currents having the same size are output. Alternatively, each of the plurality of transistors T1 to Tn may have different sizes so that the magnitudes of output currents increase exponentially.

기준 전압 생성기(392)는 일정한 크기의 바이어스 전압을 생성하도록 구성될 수 있다. 예를 들어, 기준 전압 생성기(392)는 반도체 제조 공정에서의 편차에 영향을 받지 않도록, 밴드 갭 레퍼런스 회로(band gap reference circuit)로 구성될 수 있다. 예를 들어, 기준 전압 생성기(392)에 의해 생성된 전압(혹은 전류)에 의해 전류원(CS1)을 구성하는 PMOS 트랜지스터가 턴-온 되므로, 기준 전류(Iref)의 크기가 제어된다면, 전류원(CS1)을 구성하는 PMOS 트랜지스터로부터 출력되는 전류(I1)의 크기도 제어될 수 있다.The reference voltage generator 392 may be configured to generate a bias voltage of a constant magnitude. For example, the reference voltage generator 392 may be configured as a band gap reference circuit so as not to be affected by variations in a semiconductor manufacturing process. For example, since the PMOS transistor constituting the current source CS1 is turned on by the voltage (or current) generated by the reference voltage generator 392 , if the magnitude of the reference current Iref is controlled, the current source CS1 ), the magnitude of the current I1 output from the PMOS transistors constituting it can also be controlled.

시냅스 회로(11)로부터 출력되는 전류(I1)의 크기를 변화시키는 바이어스 생성기(390)를 제공함으로써, 오실레이터(341)에 의해 생성되는 펄스들의 주파수를 원하는 주파수로 설정할 수 있다. 오실레이터(341)의 예시적인 구성 및 동작은 도 4 및 도 7에 도시된 오실레이터들(141, 241)과 동일하거나 유사하므로, 상세한 설명은 생략하기로 한다. 결과적으로, 카운터(예컨대, 도 9의 351)에 의한 원하는 카운팅 값을 획득할 수 있다.By providing the bias generator 390 for changing the magnitude of the current I1 output from the synaptic circuit 11, the frequency of the pulses generated by the oscillator 341 can be set to a desired frequency. An exemplary configuration and operation of the oscillator 341 is the same as or similar to the oscillators 141 and 241 illustrated in FIGS. 4 and 7 , and thus a detailed description thereof will be omitted. As a result, a desired counting value by the counter (eg, 351 in FIG. 9 ) may be obtained.

도 11은 본 발명의 실시 예에 따른, 오실레이터의 주파수 편차를 보정하는 방법을 보여주는 순서도이다. 설명의 이해를 돕기 위해 도 9 내지 도 10을 함께 참조하여 설명하기로 한다.11 is a flowchart illustrating a method of correcting a frequency deviation of an oscillator according to an embodiment of the present invention. In order to help the understanding of the description, it will be described with reference to FIGS. 9 to 10 together.

S310 단계에서, 모든 피승수들 및 모든 승수들에 대해 최대값이 입력될 수 있다. 예를 들어, 피승수는 시냅스 회로들(11~n8)로 입력되는 PWM 신호들(PWM1~PWMn)일 수 있으며, 승수는 시냅스 회로들(11~n8)로 입력되는 (또는 시냅스 회로들에 저장된) 가중치들일 수 있다. 다만, 예시적으로, 카운터에 의한 카운팅을 용이하게 하기 위해 모든 피승수들 및 모든 승수들에 대해 최대값이 입력되는 것으로 설명되었으나, 이에 한정되지 않는다.In step S310 , a maximum value for all multiplicands and all multipliers may be input. For example, the multiplier may be PWM signals PWM1 to PWMn input to the synaptic circuits 11 to n8, and the multiplier is input to the synaptic circuits 11 to n8 (or stored in the synaptic circuits) may be weights. However, for example, it has been described that a maximum value is input for all multiplicands and all multipliers to facilitate counting by the counter, but the present invention is not limited thereto.

S320 단계에서, 기준 구간 동안 출력되는 카운팅 값과 타깃 값이 비교될 수 있다. 예를 들어, 타깃 값은 뉴로모픽 시냅스 회를 설계할 당시 원래 의도되었던, 메탈 라인의 커패시턴스 값일 수 있다. In step S320 , the counting value output during the reference section and the target value may be compared. For example, the target value may be a capacitance value of a metal line that was originally intended when designing a neuromorphic synaptic circuit.

S330 단계에서, 카운팅 값과 타깃 값의 비교 결과에 기초하여, 카운팅 값과 타깃 값을 일치시키는 전류(Iref)의 크기가 설정될 수 있다. 예를 들어, 도 10의 보조 스위치들(SSW1~SSWn) 중 적어도 일부가 적절히 스위칭-온 됨으로써, 전류원(SC1)을 구성하는 PMOS 트랜지스터로부터 출력되는 전류의 크기가 제어될 수 있다. 그 결과, 뉴로모픽 시냅스 회로를 설계할 당시 원래 의도되었던 타깃 주파수를 갖는 펄스들이 오실레이터(341)로부터 출력될 수 있다.In operation S330 , based on the comparison result of the counting value and the target value, the magnitude of the current Iref matching the counting value and the target value may be set. For example, when at least some of the auxiliary switches SSW1 to SSWn of FIG. 10 are properly switched on, the magnitude of the current output from the PMOS transistor constituting the current source SC1 may be controlled. As a result, pulses having a target frequency originally intended at the time of designing the neuromorphic synaptic circuit may be output from the oscillator 341 .

위에서 설명한 내용은 본 발명을 실시하기 위한 구체적인 예들이다. 본 발명에는 위에서 설명한 실시 예들뿐만 아니라, 단순하게 설계 변경하거나 용이하게 변경할 수 있는 실시 예들도 포함될 것이다. 또한, 본 발명에는 위에서 설명한 실시 예들을 이용하여 앞으로 용이하게 변형하여 실시할 수 있는 기술들도 포함될 것이다.The contents described above are specific examples for carrying out the present invention. The present invention will include not only the above-described embodiments, but also simple design changes or easily changeable embodiments. In addition, the present invention will also include techniques that can be easily modified and implemented in the future using the above-described embodiments.

100, 200, 300: 뉴로모픽 연산 장치
111~11n, 211~21n, 311~31n: PWM 컨버터들
120, 220, 320: 시냅스 회로 어레이
130: 커패시턴스 칼리브레이터
140, 240, 340: 오실레이터들
150, 250, 350: 카운터들
160, 260, 360: 비교기
170, 270, 370: 합산기
280: 보조 전류원
390: 바이어스 생성기
100, 200, 300: Neuromorphic computing unit
111~11n, 211~21n, 311~31n: PWM converters
120, 220, 320: synaptic circuit array
130: capacitance calibrator
140, 240, 340: oscillators
150, 250, 350: Counters
160, 260, 360: comparator
170, 270, 370: totalizer
280: auxiliary current source
390: bias generator

Claims (18)

PWM 신호와 가중치에 대해 곱연산을 수행하여 전류를 생성하도록 구성되는 시냅스 회로;
상기 전류에 대응하는 전하가 저장되는 메탈라인 커패시터를 포함하는 메탈 라인;
상기 메탈 라인 커패시터에 저장되는 전하에 기초하여 복수의 펄스들을 생성하도록 구성되는 오실레이터; 그리고
상기 복수의 펄스들의 주파수와 타깃 주파수의 비교 결과에 기초하여, 상기 메탈라인 커패시터의 커패시턴스 값을 조절하도록 구성되는 커패시턴스 칼리브레이터를 포함하는 뉴로모픽 연산 장치.
a synaptic circuit configured to multiply a PWM signal and a weight to generate a current;
a metal line including a metal line capacitor in which a charge corresponding to the current is stored;
an oscillator configured to generate a plurality of pulses based on charge stored in the metal line capacitor; and
and a capacitance calibrator configured to adjust a capacitance value of the metal line capacitor based on a comparison result between the frequencies of the plurality of pulses and a target frequency.
제 1 항에 있어서,
상기 커패시턴스 칼리브레이터는:
서로 병렬로 연결되는 복수의 커패시터들; 그리고
상기 복수의 커패시터들 각각에 대응하는 복수의 스위치들을 포함하는 뉴로모픽 연산 장치.
The method of claim 1,
The capacitance calibrator is:
a plurality of capacitors connected to each other in parallel; and
Neuromorphic computing device including a plurality of switches corresponding to each of the plurality of capacitors.
제 2 항에 있어서,
상기 메탈 라인 커패시터의 커패턴스 값이 타깃 값이 되도록, 상기 복수의 스위치들 중 적어도 일부가 스위칭-온 되는 뉴로모픽 연산 장치.
3. The method of claim 2,
A neuromorphic computing device in which at least some of the plurality of switches are switched on so that the capacitance value of the metal line capacitor becomes a target value.
제 3 항에 있어서,
상기 복수의 커패시터들은 지수적으로 증가하는 커패시턴스 값들을 갖는 뉴로모픽 연산 장치.
4. The method of claim 3,
The plurality of capacitors have capacitance values that increase exponentially.
제 1 항에 있어서,
입력 신호를 상기 PWM 신호로 변환하는 PWM 컨버터;
상기 복수의 펄스들을 카운팅 하는 카운터;
상기 복수의 펄스들의 주파수와 타깃 주파수를 비교하는 비교기; 그리고
상기 카운터에 의한 카운팅 값을 쉬프팅하는 레벨 쉬프터를 더 포함하는 뉴로모픽 연산 장치.
The method of claim 1,
a PWM converter for converting an input signal into the PWM signal;
a counter for counting the plurality of pulses;
a comparator comparing the frequencies of the plurality of pulses with a target frequency; and
Neuromorphic computing device further comprising a level shifter for shifting the value counted by the counter.
제 1 항에 있어서,
상기 시냅스 회로는:
상기 전류를 생성하는 전류원; 그리고
상기 PWM 신호와 상기 가중치에 대해 AND 연산을 수행하는 AND 게이트를 포함하되,
상기 시냅스 회로는, 상기 AND 게이트의 출력에 기초하여, 상기 전류를 출력하는 뉴로모픽 연산 장치.
The method of claim 1,
The synaptic circuit is:
a current source for generating the current; and
An AND gate for performing an AND operation on the PWM signal and the weight,
The synaptic circuit is a neuromorphic computing device that outputs the current based on an output of the AND gate.
제 1 항에 있어서,
상기 메탈라인 커패시터는 상기 메탈라인이 자체적으로 보유하는 커패시턴스에 대응하는 뉴로모픽 연산 장치.
The method of claim 1,
The metal line capacitor is a neuromorphic computing device corresponding to a capacitance of the metal line itself.
PWM 신호와 가중치에 대해 곱연산을 수행하여 전류를 생성하도록 구성되는 시냅스 회로;
상기 전류에 대응하는 전하가 저장되는 메탈라인 커패시터를 포함하는 메탈 라인;
상기 메탈 라인 커패시터에 저장되는 전하에 기초하여 복수의 펄스들을 생성하도록 구성되는 오실레이터; 그리고
상기 복수의 펄스들의 주파수와 타깃 주파수의 비교 결과에 기초하여, 상기 전류의 크기를 조절하도록 구성되는 보조 전류원을 포함하는 뉴로모픽 연산 장치.
a synaptic circuit configured to generate a current by multiplying the PWM signal and a weight;
a metal line including a metal line capacitor in which a charge corresponding to the current is stored;
an oscillator configured to generate a plurality of pulses based on charge stored in the metal line capacitor; and
and an auxiliary current source configured to adjust the magnitude of the current based on a comparison result of the frequency of the plurality of pulses and the target frequency.
제 8 항에 있어서,
상기 보조 전류원은:
서로 병렬로 연결되는 복수의 전류원들; 그리고
상기 복수의 전류원들 각각에 대응하는 복수의 스위치들을 포함하는 뉴로모픽 연산 장치.
9. The method of claim 8,
The auxiliary current source is:
a plurality of current sources connected to each other in parallel; and
Neuromorphic computing device including a plurality of switches corresponding to each of the plurality of current sources.
제 9 항에 있어서,
상기 시냅스 회로는:
주 전류를 생성하는 주 전류원; 그리고
상기 PWM 신호와 상기 가중치에 대해 AND 연산을 수행하는 AND 게이트를 포함하되,
상기 시냅스 회로는, 상기 AND 게이트의 출력에 기초하여, 상기 복수의 전류원들 중 적어도 일부와 상기 전류를 출력하는 뉴로모픽 연산 장치.
10. The method of claim 9,
The synaptic circuit is:
a main current source generating a main current; and
An AND gate for performing an AND operation on the PWM signal and the weight,
The synaptic circuit, based on the output of the AND gate, a neuromorphic computing device for outputting the current and at least some of the plurality of current sources.
제 9 항에 있어서,
상기 복수의 펄스들의 상기 주파수가 타깃 주파수가 되도록, 상기 복수의 스위치들 중 적어도 일부가 스위칭-온 되는 뉴로모픽 연산 장치.
10. The method of claim 9,
A neuromorphic computing device in which at least some of the plurality of switches are switched on so that the frequency of the plurality of pulses becomes a target frequency.
제 9 항에 있어서,
상기 복수의 전류원들은 지수적으로 증가하는 전류 값들을 갖는 뉴로모픽 연산 장치.
10. The method of claim 9,
The plurality of current sources is a neuromorphic computing device having exponentially increasing current values.
제 8 항에 있어서,
입력 신호를 상기 PWM 신호로 변환하는 PWM 컨버터;
상기 복수의 펄스들을 카운팅 하는 카운터;
상기 복수의 펄스들의 주파수와 타깃 주파수를 비교하는 비교기; 그리고
상기 카운터에 의한 카운팅 값을 쉬프팅하는 레벨 쉬프터를 더 포함하는 뉴로모픽 연산 장치.
9. The method of claim 8,
a PWM converter for converting an input signal into the PWM signal;
a counter for counting the plurality of pulses;
a comparator comparing the frequencies of the plurality of pulses with a target frequency; and
Neuromorphic computing device further comprising a level shifter for shifting the value counted by the counter.
PWM 신호와 가중치에 대해 곱연산을 수행하여 전류를 생성하도록 구성되는 시냅스 회로;
상기 전류에 대응하는 전하가 저장되는 메탈라인 커패시터를 포함하는 메탈 라인;
상기 메탈 라인 커패시터에 저장되는 전하에 기초하여 복수의 펄스들을 생성하도록 구성되는 오실레이터; 그리고
상기 복수의 펄스들의 주파수와 타깃 주파수의 비교 결과에 기초하여, 상기 전류의 크기를 조절하도록 구성되는 바이어스 생성기를 포함하는 뉴로모픽 연산 장치.
a synaptic circuit configured to multiply a PWM signal and a weight to generate a current;
a metal line including a metal line capacitor in which a charge corresponding to the current is stored;
an oscillator configured to generate a plurality of pulses based on charge stored in the metal line capacitor; and
and a bias generator configured to adjust the magnitude of the current based on a comparison result of the frequency of the plurality of pulses and the target frequency.
제 14 항에 있어서,
상기 바이어스 생성기는:
전원 전압을 제공받는 복수의 트랜지스터들;
상기 복수의 전류원들 중 적어도 일부의 각각에 대응하는 복수의 스위치들; 그리고
기준 전압 생성기를 포함하되,
상기 복수의 트랜지스터들의 게이트 전극들은, 상기 기준 전압 생성기에 의해 생성되는 기준 전압이 출력되는 단자와 공통으로 연결되는 뉴로모픽 연산 장치.
15. The method of claim 14,
The bias generator is:
a plurality of transistors receiving a power supply voltage;
a plurality of switches corresponding to each of at least some of the plurality of current sources; and
a reference voltage generator;
The gate electrodes of the plurality of transistors are commonly connected to a terminal from which a reference voltage generated by the reference voltage generator is output.
제 15 항에 있어서,
상기 시냅스 회로는:
게이트 전극이 상기 복수의 트랜지스터들의 상기 게이트 전극들에 연결되는 트랜지스터를 포함하는 전류원; 그리고
상기 PWM 신호와 상기 가중치에 대해 AND 연산을 수행하는 AND 게이트를 포함하되,
상기 시냅스 회로는, 상기 AND 게이트의 출력에 기초하여, 상기 전류를 출력하는 뉴로모픽 연산 장치.
16. The method of claim 15,
The synaptic circuit is:
a current source comprising a transistor having a gate electrode coupled to the gate electrodes of the plurality of transistors; and
An AND gate for performing an AND operation on the PWM signal and the weight,
The synaptic circuit is a neuromorphic computing device that outputs the current based on an output of the AND gate.
제 15 항에 있어서,
상기 복수의 펄스들의 상기 주파수가 타깃 주파수가 되도록, 상기 복수의 스위치들 중 적어도 일부가 스위칭-온 되는 뉴로모픽 연산 장치.
16. The method of claim 15,
A neuromorphic computing device in which at least some of the plurality of switches are switched on so that the frequency of the plurality of pulses becomes a target frequency.
제 14 항에 있어서,
입력 신호를 상기 PWM 신호로 변환하는 PWM 컨버터;
상기 복수의 펄스들을 카운팅 하는 카운터;
상기 복수의 펄스들의 주파수와 타깃 주파수를 비교하는 비교기; 그리고
상기 카운터에 의한 카운팅 값을 쉬프팅하는 레벨 쉬프터를 더 포함하는 뉴로모픽 연산 장치.
15. The method of claim 14,
a PWM converter for converting an input signal into the PWM signal;
a counter for counting the plurality of pulses;
a comparator comparing the frequencies of the plurality of pulses with a target frequency; and
Neuromorphic computing device further comprising a level shifter for shifting the value counted by the counter.
KR1020170113563A 2017-01-25 2017-09-05 Neuromorphic arithmetic device KR102313796B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US15/828,153 US10803383B2 (en) 2017-01-25 2017-11-30 Neuromorphic arithmetic device

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20170012297 2017-01-25
KR1020170012297 2017-01-25

Publications (2)

Publication Number Publication Date
KR20180088258A KR20180088258A (en) 2018-08-03
KR102313796B1 true KR102313796B1 (en) 2021-10-20

Family

ID=63250313

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170113563A KR102313796B1 (en) 2017-01-25 2017-09-05 Neuromorphic arithmetic device

Country Status (1)

Country Link
KR (1) KR102313796B1 (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102562320B1 (en) 2018-12-24 2023-08-01 삼성전자주식회사 Method and apparatus for processing neural network based on bitwise operation
CN109714119B (en) * 2018-12-29 2023-10-24 中国人民解放军陆军工程大学 Neuromorphic circuit and signal frequency shift detection system
KR102490774B1 (en) * 2019-05-24 2023-01-20 한양대학교 에리카산학협력단 Synaptic Device For Neural Network Training
US20220207340A1 (en) * 2019-05-24 2022-06-30 Industry-University Cooperation Foundation Hanyang University Erica Campus Synapse-mimetic device capable of neural network training
WO2022260413A1 (en) * 2021-06-07 2022-12-15 건국대학교 산학협력단 Apparatus and method for correcting transition error of pulse width-based current domain in-memory neural network calculator
KR102514649B1 (en) * 2021-11-18 2023-03-29 서울대학교산학협력단 Neuromorphic device and neuron circuit compensating for changes in synaptic characteristics

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040017236A1 (en) 2002-07-26 2004-01-29 Bingxue Shi Wide dynamic pulse width modulation neuron circuit
US20040251949A1 (en) 2003-06-12 2004-12-16 Winbond Electronics Corporation Current-mode synapse multiplier circuit
US20120011093A1 (en) 2010-07-07 2012-01-12 Qualcomm Incorporated Methods and systems for digital neural processing with discrete-level synapes and probabilistic stdp

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100988812B1 (en) * 2008-04-10 2010-10-20 주식회사 하이닉스반도체 Semiconductor Device Equipped With Comprising Solid Transistor In Peri Area

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040017236A1 (en) 2002-07-26 2004-01-29 Bingxue Shi Wide dynamic pulse width modulation neuron circuit
US20040251949A1 (en) 2003-06-12 2004-12-16 Winbond Electronics Corporation Current-mode synapse multiplier circuit
US20120011093A1 (en) 2010-07-07 2012-01-12 Qualcomm Incorporated Methods and systems for digital neural processing with discrete-level synapes and probabilistic stdp

Also Published As

Publication number Publication date
KR20180088258A (en) 2018-08-03

Similar Documents

Publication Publication Date Title
KR102313796B1 (en) Neuromorphic arithmetic device
US10803383B2 (en) Neuromorphic arithmetic device
KR102314300B1 (en) Neuromorphic arithmetic device
US10438116B2 (en) Neuromorphic arithmetic device
KR102653822B1 (en) Mixed signal computing system and method
US11626884B2 (en) System and methods for mixed-signal computing
US11194886B2 (en) Bit-ordered binary-weighted multiplier-accumulator
EP3580699B1 (en) Systems and methods for mixed-signal computing
US20190188241A1 (en) Systems and methods for mapping matrix calculations to a matrix multiply accelerator
US20190213471A1 (en) Neuromorphic computing device and operating method thereof
KR20190106185A (en) An neuromorphic system with transposable memory and virtual look-up table
US11526763B2 (en) Neuromorphic system for performing supervised learning using error backpropagation
KR102420362B1 (en) Neuromorphic arithmetic device
US11922131B2 (en) Scalable, multi-precision, self-calibrated multiplier-accumulator architecture
US20230385620A1 (en) Spike neural network circuit
US11681776B2 (en) Adaptive settling time control for binary-weighted charge redistribution circuits
KR102679656B1 (en) Systems and methods for mixing-signal computing
US20230305806A1 (en) Multiplication device, multiply-accumulate operation device, matrix operation device, and reservoir device
US20220113942A1 (en) Throughput and precision-programmable multiplier-accumulator architecture
US20220302924A1 (en) Semiconductor integrated circuit and arithmetic system

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant