KR20180093245A - Neuromorphic arithmetic device - Google Patents

Neuromorphic arithmetic device Download PDF

Info

Publication number
KR20180093245A
KR20180093245A KR1020170086666A KR20170086666A KR20180093245A KR 20180093245 A KR20180093245 A KR 20180093245A KR 1020170086666 A KR1020170086666 A KR 1020170086666A KR 20170086666 A KR20170086666 A KR 20170086666A KR 20180093245 A KR20180093245 A KR 20180093245A
Authority
KR
South Korea
Prior art keywords
current
charge
circuit
charging
synapse
Prior art date
Application number
KR1020170086666A
Other languages
Korean (ko)
Other versions
KR102314300B1 (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/804,912 priority Critical patent/US10438116B2/en
Publication of KR20180093245A publication Critical patent/KR20180093245A/en
Application granted granted Critical
Publication of KR102314300B1 publication Critical patent/KR102314300B1/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
    • G06N3/065Analogue means
    • G06N3/0635
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06GANALOGUE COMPUTERS
    • G06G7/00Devices in which the computing operation is performed by varying electric or magnetic quantities
    • G06G7/12Arrangements for performing computing operations, e.g. operational amplifiers
    • G06G7/14Arrangements for performing computing operations, e.g. operational amplifiers for addition or subtraction 
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06GANALOGUE COMPUTERS
    • G06G7/00Devices in which the computing operation is performed by varying electric or magnetic quantities
    • G06G7/12Arrangements for performing computing operations, e.g. operational amplifiers
    • G06G7/16Arrangements for performing computing operations, e.g. operational amplifiers for multiplication or division

Landscapes

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

Abstract

The present invention relates to a neuromorphic arithmetic device. The neuromorphic arithmetic device according to the present invention includes first and second synapse circuits, a charging and discharging circuit, a comparator, and a counter. The first synapse circuit generates a first current by performing a first multiplication operation on a first PWM signal and a first weight and the second synapse circuit generates a second current by performing a second multiplication operation on a second PWM signal and a second weight. The charging and discharging circuit stores charges by the first current and the second current during a charging period and discharges the charges during a discharging period. The comparator compares the voltage levels of the charges discharged in the discharge period with the level of a reference voltage. The counter counts the output pulses of an oscillator based on the comparison result of the comparator. Accordingly, the present invention can reduce current consumption.

Description

뉴로모픽 연산 장치{NEUROMORPHIC ARITHMETIC DEVICE}[0001] NEUROMORPHIC ARITHMETIC DEVICE [0002]

본 발명은 뉴로모픽 연산 장치에 관한 것으로, 좀 더 상세하게는, 아날로그 방식으로 구현된 뉴로모픽 연산 장치에 관한 것이다.BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a neurometry computing apparatus, and more particularly, to a neuromotion computing apparatus implemented in an analog manner.

뉴로모픽 연산 장치는 인간의 신경계 또는 뇌를 모방하여 정보를 처리하는 장치이다. 종래의 컴퓨터 중앙 처리 장치가 기반으로 하였던 연산기, 명령어 처리기, 저장 장치 각각이 독립적으로 존재하였던 구성과는 달리, 뉴로모픽 연산 장치는 정보를 병렬화하여 처리할 수 있다. 뉴로모픽 연산 장치는, 정보를 처리하는 과정 중이라 하더라도, 새로이 발생한 사건을 중심으로 정보를 처리할 수 있다.A neuromorphic computing device is a device for processing information by imitating human nervous system or brain. Unlike the conventional configuration in which the computer, the instruction processor, and the storage device, which are based on the computer central processing unit, are independent from each other, the novelrom computing unit can parallelize and process the information. New Lomographic computing devices can process information centered on newly occurring events, even in the process of processing information.

뉴로모픽 연산 장치는 복수의 뉴런들의 2차원 혹은 3차원적 연결로 정의될 수 있다. 각각의 뉴런은, 생물학적 뉴런의 구성 요소와 동일하게, 축색돌기(axon), 수상돌기(dendrite), 및 세포 몸체(soma)에 해당하는 회로로 구성될 수 있다. 특히, 뉴런과 뉴런 사이를 연결하는 시냅스(synapse) 회로에서 연산이 실행된다. A neodrome computing device can be defined as a two-dimensional or three-dimensional connection of a plurality of neurons. Each neuron can consist of a circuit corresponding to an axon, a dendrite, and a cell body (soma), just like the components of a biological neuron. In particular, an operation is performed in a synapse circuit that connects a neuron and a neuron.

뉴로모픽 연산 장치에 입력된 정보를 병렬적으로 그리고 신속하게 처리하기 위하여 시냅스 회로(연산기)의 역할이 매우 중요하다. 이러한 방대한 데이터를 신속하게 처리하기 위하여, 일반적인 뉴로모픽 연산 장치는 디지털 방식으로 구현된 연산기를 구비하고 있다. 이러한 구성에 의하면, 처리해야 할 데이터의 양이 많아 질수록 소비전력이 매우 증가하며, 칩 면적도 크게 증가한다. 따라서, 소비 전력이 이슈가 되는 응용 분야에서는 회로의 확장이 매우 제한적이다.The role of the synapse circuit (operator) is very important in order to process the information input to the neopromplex computing device in parallel and swiftly. In order to quickly process such vast amounts of data, a general neuromorphic computing device is equipped with a calculator implemented in a digital manner. According to this configuration, as the amount of data to be processed increases, the power consumption increases greatly, and the chip area also increases greatly. Thus, in applications where power consumption is an issue, circuit expansion is very limited.

일반적으로, 아날로그 방식의 뉴로모픽 연산 장치의 시냅스에서, 수상돌기를 구현하기 위해 생성된 메탈 라인의 커패시턴스가 이용된다. 이때, 오실레이터를 동작시켜, 해당 노드를 직접 충전하거나 방전하여 덧셈 및 곱셈 연산이 수행된다. 그러나, 이러한 방식의 연산은, 오실레이터를 이용하여 매우 큰 커패시턴스 값을 갖는 메탈 라인을 직접 충전하거나 방전하기 때문에, 동작 주파수가 높을 경우 전하의 낭비가 매우 심하여 소비 전력도 커진다는 문제점이 있다. 뿐만 아니라, 시냅스 회로의 개수가 증가할수록 메탈 라인의 커패시턴스의 크기도 증가하기 때문에, 동일한 동작 주파수를 생성하기 위하여 시냅스에서 전류원의 크기를 증가시켜야 하는 문제점도 있다.  Generally, in a synapse of an analog type neuromorphic computing device, the capacitance of the metal line generated to implement the dendrite protrusion is used. At this time, the oscillator is operated, and the node is directly charged or discharged to perform addition and multiplication operations. However, in this type of operation, the metal line having a very large capacitance value is directly charged or discharged by using an oscillator. Therefore, when the operating frequency is high, there is a problem that the waste of electric charge is very serious and power consumption is also increased. In addition, since the capacitance of the metal line increases as the number of synapse circuits increases, there is a problem that the size of the current source must be increased at the synapse in order to generate the same operating frequency.

본 발명의 목적은, 아날로그 방식으로 처리된 연산의 결과를 디지털 값으로 변환하여 출력하는 뉴로모픽 연산 장치를 제공하는데 있다.It is an object of the present invention to provide a neuromorphic computing device which converts the result of an analog-processed operation into a digital value and outputs the digital value.

본 발명의 실시 예에 따른 뉴로모픽 연산 장치는, 제 1 PWM 신호와 제 1 가중치에 대해 제 1 곱연산을 수행하여 제 1 전류를 생성하도록 구성되는 제 1 시냅스 회로, 제 2 PWM 신호와 제 2 가중치에 대해 제 2 곱연산을 수행하여 제 2 전류를 생성하도록 구성되는 제 2 시냅스 회로, 충전 구간에서 상기 제 1 전류 및 상기 제 2 전류에 의한 전하들을 저장하고, 방전 구간에서 상기 전하들을 방전하도록 구성되는 충전 및 방전 회로, 상기 방전 구간에서 상기 방전되는 전하들의 전압 레벨과, 기준 전압의 레벨을 비교하는 비교기, 그리고 상기 비교기의 비교 결과에 기초하여, 오실레이터의 출력 펄스들을 카운팅하는 카운터를 포함할 수 있다.A neuromotion computing apparatus according to an embodiment of the present invention includes a first synapse circuit configured to perform a first multiplication operation on a first PWM signal and a first weight to generate a first current, A second synapse circuit configured to generate a second current by performing a second multiplication operation on the first weight and the second weight to store charges due to the first current and the second current in a charging interval, A comparator for comparing a voltage level of the discharged electric charges in the discharge interval with a level of a reference voltage and a counter for counting output pulses of the oscillator based on the comparison result of the comparator can do.

예를 들어, 상기 뉴로모픽 연산 장치는 제 1 입력을 상기 제 1 PWM 신호로 변환하는 제 1 PWM 컨버터, 그리고 제 2 입력을 상기 제 2 PWM 신호로 변환하는 제 2 PWM 컨버터를 더 포함할 수 있다.For example, the neuromorphic computing device may further comprise a first PWM converter for converting the first input to the first PWM signal, and a second PWM converter for converting the second input to the second PWM signal have.

예를 들어, 상기 제 1 시냅스 회로는, 상기 제 1 PWM 신호와 상기 제 1 가중치에 대해 AND 연산을 수행하는 제 1 AND 게이트, 그리고, 상기 제 1 AND 게이트의 출력에 따라 상기 제 1 전류를 생성하는 제 1 충전 전류원을 포함하고, 상기 제 2 시냅스 회로는, 상기 제 2 PWM 신호와 상기 제 2 가중치에 대해 AND 연산을 수행하는 제 2 AND 게이트, 그리고 상기 제 2 AND 게이트의 출력에 따라 상기 제 2 전류를 생성하는 제 2 충전 전류원을 포함할 수 있다. 그리고, 상기 제 1 충전 전류원은, 상기 제 1 전류에 의한 상기 충전 및 방전 회로의 전압 레벨이 선형적으로 증가하도록 구성되고, 상기 제 2 충전 전류원은, 상기 제 2 전류에 의한 상기 충전 및 방전 회로의 전압 레벨이 선형적으로 증가하도록 구성될 수 있다.For example, the first synapse circuit may include a first AND gate that performs an AND operation on the first PWM signal and the first weight, and a second AND gate that generates the first current according to the output of the first AND gate Wherein the second synapse circuit includes a second AND gate for performing an AND operation on the second PWM signal and the second weight and a second AND gate for performing an AND operation on the second PWM signal and the second weight, 2 < / RTI > current. ≪ RTI ID = 0.0 > The first charge current source is configured such that the voltage level of the charge and discharge circuit by the first current increases linearly, and the second charge current source is configured to increase the voltage level of the charge and discharge circuit by the charge and discharge circuit May be configured to increase linearly.

예를 들어, 상기 충전 및 방전 회로는, 상기 충전 구간에서 상기 전하들을 저장하는 커패시터, 그리고 상기 방전 구간에서 상기 전하들에 의한 상기 커패시터의 전압 레벨을 선형적으로 감소시키도록 구성되는 방전 전류원을 포함할 수 있다.For example, the charging and discharging circuit may include a capacitor for storing the charges in the charging period, and a discharging current source configured to linearly reduce the voltage level of the capacitor by the charges in the discharging period can do.

예를 들어, 상기 비교기는 상기 방전되는 전하들의 상기 전압 레벨이 상기 기준 전압보다 큰 구간에서 활성화되는 인에이블 신호를 출력할 수 있다. 그리고, 상기 비교기는 상기 충전 및 방전 회로가 방전되는 구간에서 동작하는 차동 증폭기일 수 있다. 그리고, 상기 카운터는 상기 인에이블 신호가 활성화되는 구간에서 상기 오실레이터의 출력 펄스들을 카운팅할 수 있다. 그리고, 상기 뉴로모픽 연산 장치는 상기 인에이블 신호의 활성화에 따라 스위칭-온 되어 상기 오실레이터와 상기 카운터를 연결하는 스위치를 더 포함할 수 있다.For example, the comparator may output an enable signal which is activated in a period in which the voltage level of the discharged electric charges is larger than the reference voltage. The comparator may be a differential amplifier operating in a period in which the charge and discharge circuit is discharged. The counter may count the output pulses of the oscillator in a period in which the enable signal is activated. The neuromorph operation apparatus may further include a switch for switching on the oscilloscope in response to the activation of the enable signal and for connecting the oscillator and the counter.

예를 들어, 상기 뉴로모픽 연산 장치는 상기 카운터로부터 출력되는 디지털 값을 쉬프팅하는 레벨 쉬프터를 더 포함할 수 있다.For example, the neuromotion computing apparatus may further include a level shifter for shifting a digital value output from the counter.

본 발명에 실시 예에 따르면, 뉴로모픽 연산 장치에 구비된 충전 및 방전 회로를 이용하여 다양한 연산들이 아날로그 방식으로 처리된다. 따라서, 수상돌기 커패시터를 매번 발진시킬 필요가 없으므로, 소모 전류가 감소할 수 있다.According to the embodiment of the present invention, various operations are processed in an analog manner by using the charge and discharge circuit provided in the neuromorph operation apparatus. Therefore, since it is not necessary to oscillate the dendrite capacitor every time, the consumption current can be reduced.

나아가, 본 발명의 실시 예에 따르면, 아날로그 소자들을 이용하여 뉴로모픽 연산 장치가 구현되므로, 칩 사이즈 및 제조 비용이 감소할 수 있다.Further, according to the embodiment of the present invention, since the neuromorphic computing device is implemented using analog elements, the chip size and manufacturing cost can be reduced.

도 1은 본 발명의 실시 예에 따른 뉴로모픽 연산 장치를 보여주는 블록도이다.
도 2는 도 1에 도시된 PWM 컨버터들의 동작을 보여주는 도면이다.
도 3은 도 1에 도시된 시냅스 회로들의 구성을 예시적으로 보여주는 블록도이다.
도 4는 도 1에 도시된 충전 및 방전 회로와 비교기의 예시적인 구성을 보여주는 블록도이다.
도 5a는 도 4에 도시된 충전 및 방전 회로의 충전시의 동작을 보여주는 도면이다.
도 5b는 도 4에 도시된 충전 및 방전 회로의 방전시의 동작을 보여주는 도면이다.
도 6은 도 5a 및 5b에서 설명된 충전 및 방전 회로와 비교기의 동작을 보여주는 그래프이다.
도 7은 본 발명의 실시 예에 따른 뉴로모픽 연산 장치를 보여주는 블록도이다.
1 is a block diagram showing a neuromorphic computing apparatus according to an embodiment of the present invention.
Fig. 2 is a view showing the operation of the PWM converters shown in Fig. 1. Fig.
3 is a block diagram illustrating an exemplary configuration of the synapse circuits shown in FIG.
4 is a block diagram illustrating an exemplary configuration of the charge and discharge circuit and comparator shown in FIG.
FIG. 5A is a diagram showing the operation of the charging and discharging circuit shown in FIG. 4 when charging. FIG.
FIG. 5B is a diagram showing the operation of discharging the charging and discharging circuit shown in FIG. 4; FIG.
Figure 6 is a graph showing the operation of the charge and discharge circuit and the comparator described in Figures 5A and 5B.
7 is a block diagram showing a neuromorphic computing apparatus 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 provided merely to assist in an overall understanding of embodiments of the present invention. Modifications of the embodiments described herein can be made by those skilled in the art without departing from the spirit and scope of the invention. Furthermore, descriptions of well-known functions and structures are omitted for clarity and brevity. The terms used in this specification are 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 the description in the detailed description.

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

상세한 설명에서 사용되는 부 또는 유닛(unit), 모듈(module), 계층(layer) 등의 용어를 참조하여 설명되는 구성 요소들은 소프트웨어, 또는 하드웨어, 또는 그것들의 조합의 형태로 구현될 수 있다. 예시적으로, 소프트웨어는 기계 코드, 펌웨어, 임베디드 코드, 및 애플리케이션 소프트웨어일 수 있다. 예를 들어, 하드웨어는 전기 회로, 전자 회로, 프로세서, 컴퓨터, 집적 회로, 집적 회로 코어들, 압력 센서, 관성 센서, 멤즈(Micro Electro Mechanical System; MEMS), 수동 소자, 또는 그것들의 조합을 포함할 수 있다. The components described with reference to terms such as a unit or a unit, a module, a layer or the like 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 MEMS (Micro Electro Mechanical System), a passive device, .

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

도 1은 본 발명의 실시 예에 따른 뉴로모픽 연산 장치(neuromorphic arithmetic device)를 보여주는 블록도이다. 뉴로모픽 연산 장치(100)는 복수의 PWM 컨버터들(111~11n), 복수의 시냅스 회로들(121~12n), 충전 및 방전 회로(130), 비교기(140), 및 카운터(150)를 포함할 수 있다.1 is a block diagram showing a neuromorphic arithmetic device according to an embodiment of the present invention. The novelogram computation apparatus 100 includes a plurality of PWM converters 111 to 11n, a plurality of synapse circuits 121 to 12n, a charging and discharging circuit 130, a comparator 140, and a counter 150 .

뉴로모픽 연산 장치(100)는 복수의 승수들과 복수의 피승수들에 대한 복수의 곱연산들을 수행하도록 구성될 수 있다. 예를 들어, 뉴로모픽 연산 장치(100)에 구비된 시냅스 회로들(121~12n)은 곱연산들을 수행하는 곱셈기로써 동작할 수 있다. 나아가, 뉴로모픽 연산 장치(100)는 복수의 곱연산들에 대한 합연산을 수행하도록 구성될 수 있다. 예를 들어, 뉴로모픽 연산 장치(100)에 구비된 충전 및 방전 회로(130)는 곱연산들에 대한 합연산을 수행하는 덧셈기로써 동작할 수 있다.The novelogram computation device 100 may be configured to perform a plurality of multiplications on a plurality of multipliers and multiplicands. For example, the synaptic circuits 121 to 12n provided in the neuromorphic computing apparatus 100 may operate as multipliers for performing multiplication operations. Further, the neuromorphic computing device 100 may be configured to perform a sum operation on a plurality of multiplications. For example, the charge and discharge circuit 130 included in the neuromorphic computing device 100 may operate as an adder that performs a sum operation on product operations.

복수의 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)은 제 1 인에이블 신호(EN1)에 의해 활성화될 수 있다.The plurality of pulse width modulator converters 111 to 11n may receive the plurality of inputs INPUT1 to INPUTn to generate the PWM signals PWM1 to PWMn, respectively. 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 depending on the input values. Each of the PWM signals PWM1 to PWMn may have a high value at logic '1' of the binary input and a low value at the logic '0' of the binary input. For example, the PWM converters 111 to 11n may be activated by the first enable signal EN1.

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

복수의 시냅스 회로들(121~12n) 각각은 피승수(예컨대, PWM1 내지 PWMn 중 어느 하나)와 승수(예컨대, W1~Wn 중 어느 하나)에 대한 곱연산을 수행하도록 구성될 수 있다. 곱연산을 수행하기 위해, 복수의 시냅스 회로들(121~12n) 각각은 전류원, 논리 게이트, 및 스위치를 포함할 수 있다. 복수의 시냅스 회로들(121~12n) 각각은 곱연산의 결과로써 전류들(I1~In)을 출력할 수 있다. Each of the plurality of synapse circuits 121 to 12n may be configured to perform a multiplication operation on multiplicands (e.g., any one of PWM1 to PWMn) and multipliers (e.g., any one of W1 to Wn). To perform the multiplication operation, each of the plurality of synapse circuits 121 to 12n may include a current source, a logic gate, and a switch. Each of the plurality of synapse circuits 121 to 12n can output the currents I1 to In as a result of the multiplication operation.

충전 및 방전 회로(130)는 전류들(I1~In)의 합에 대응하는 전하들을 충전하거나 방전하도록 구성될 수 있다. 예를 들어, 충전 및 방전 회로(130)는 신경 세포의 수상돌기(dendrite)에 대응할 수 있다. 수상 돌기를 구현하기 위해, 충전 및 방전 회로(130)는 자체적인 커패시턴스 성분을 갖는 메탈 라인을 포함할 수 있다. 또는, 충전 및 방전 회로(130)는 별도의 커패시터를 포함할 수도 있다. 이하, 본 명세서에서, 충전 및 방전 회로(130)에 포함되는 것으로 설명되는 커패시터는, 수상돌기를 구현하기 위해 제공된 자체적인 커패시턴스 성분을 갖는 메탈 라인, 또는 별도로 제공된 커패시터 중 적어도 하나를 의미하는 것으로 이해되어야 한다.The charging and discharging circuit 130 may be configured to charge or discharge charges corresponding to the sum of the currents I1 to In. For example, the charging and discharging circuit 130 may correspond to a dendrite of a nerve cell. To implement the dendrites, the charging and discharging circuit 130 may include a metal line having its own capacitance component. Alternatively, the charging and discharging circuit 130 may include a separate capacitor. Hereinafter, in the present specification, the capacitor described as being included in the charging and discharging circuit 130 means at least one of a metal line having its own capacitance component provided for realizing the water dendrite, or a capacitor provided separately .

충전 및 방전 회로(130)는, 제 1 활성화 신호(EN1)가 활성화 되는 구간 또는 제 2 인에이블 신호(EN2)가 비활성화되는 구간에서, 시냅스 회로들(121~12n)에 구비된 전류원들로부터 전하를 공급받을 수 있다. 예를 들어, 충전 및 방전 회로(130)가 시냅스 회로들(121~12n)에 구비된 전류원들로부터 전하를 공급받는 시간은 PWM 컨버터들(111~11n)에 의해 PWM 신호들(PWM1~PWMn)이 생성되는 구간이며, PWM 신호들(PWM1~PWMn)이 생성되지 않는 구간에서는 전하를 공급받지 않을 수 있다.The charging and discharging circuit 130 charges charges from the current sources provided in the synapse circuits 121 to 12n in the section in which the first activating signal EN1 is activated or in the section in which the second enabling signal EN2 is inactivated Can be supplied. For example, the time when the charge and discharge circuit 130 receives charge from the current sources provided in the synapse circuits 121 to 12n is determined by the PWM signals PWM1 to PWMn by the PWM converters 111 to 11n, And it is possible to prevent the charge from being supplied during a period in which the PWM signals PWM1 to PWMn are not generated.

또는, 충전 및 방전 회로(130)는, 제 1 활성화 신호(EN1)가 비활성화되는 구간 또는 제 2 인에이블 신호(EN2)가 비활성화되는 구간에서, 충전 및 방전 회로(130)에 저장된 전하를 충전하도록 구성될 수 있다. 반면, 충전 및 방전 회로(130)는, 제 2 인에이블 신호(EN2)가 활성화되는 구간에서, 충전 및 방전 회로(130)에 저장된 전하들을 방전하도록 구성될 수 있다. Alternatively, the charging and discharging circuit 130 may be configured to charge the charge stored in the charging and discharging circuit 130 in a period in which the first activating signal EN1 is inactivated or in a period in which the second enabling signal EN2 is inactivated Lt; / RTI > On the other hand, the charging and discharging circuit 130 may be configured to discharge the charges stored in the charging and discharging circuit 130 in a period in which the second enable signal EN2 is activated.

비교기(140)는 노드 N의 전압 레벨과 기준 전압(Vref)의 전압 레벨을 비교하여 제 3 인에이블 신호(EN3)를 생성하도록 구성될 수 있다. 예를 들어, 비교기(140)는 제 2 인에이블 신호(EN2)가 비활성화되는 구간에서 동작하지 않을 수 있다. 반면, 비교기(140)는 제 2 인에이블 신호(EN2)가 활성화되는 구간에서 노드 N의 전압 레벨과 기준 전압(Vref)의 레벨을 비교할 수 있다. The comparator 140 may be configured to compare the voltage level of the node N with the voltage level of the reference voltage Vref to generate the third enable signal EN3. For example, the comparator 140 may not operate in a period in which the second enable signal EN2 is inactivated. On the other hand, the comparator 140 can compare the voltage level of the node N with the level of the reference voltage Vref in a period in which the second enable signal EN2 is activated.

예를 들어, 제 2 인에이블 신호(EN2)가 비활성화되는 구간에서, 시냅스 회로들(121~12n)로부터 출력되는 전류들(I1~In)은 충전 및 방전 회로(130)에 구비된 저장 소자에 충전될 수 있다. 따라서, 노드 N의 전압은 계속 증가할 것이다. 반면, 제 2 인에이블 신호(EN2)가 활성화되면, 충전 및 방전 회로(130)는 저장된 전하들을 방전시키기 때문에 노드 N의 전압은 낮아질 것이다. 이때, 비교기(140)는, 낮아지는 노드 N의 전압 레벨과 기준 전압(Vref)의 레벨을 비교하여 제 3 인에이블 신호(EN3)를 생성한다. 예를 들어, 비교기(140)는, 노드 N의 전압 레벨이 기준 전압(Vref)의 레벨보다 높은 구간에서 활성화되는, 제 3 인에이블 신호(EN3)를 생성할 수 있다. For example, in a period in which the second enable signal EN2 is inactivated, the currents I1 to In outputted from the synapse circuits 121 to 12n are supplied to the storage elements provided in the charging and discharging circuit 130 Can be charged. Thus, the voltage at node N will continue to increase. On the other hand, when the second enable signal EN2 is activated, the charging and discharging circuit 130 discharges the stored charges, so that the voltage at the node N will be lowered. At this time, the comparator 140 compares the voltage level of the node N to be lowered with the level of the reference voltage Vref to generate the third enable signal EN3. For example, the comparator 140 can generate the third enable signal EN3, which is activated in a period in which the voltage level of the node N is higher than the level of the reference voltage Vref.

카운터(150)는 제 3 인에이블 신호(EN3)가 활성화되는 구간에서 오실레이터(OSC)로부터 출력되는 펄스들을 카운팅할 수 있다. 예를 들어, 오실레이터(OSC)와 카운터(150)는 제 3 인에이블 신호(EN3)에 의해 스위칭-온 되는 스위치(SW)에 의해 연결될 수 있다. 예를 들어, 제 3 인에이블 신호(EN3)에 의해 스위치(SW)가 스위칭-온 됨으로써 오실레이터(OSC)와 카운터(150)가 연결되면, 카운터(150)는 오실레이터(OSC)로부터 출력되는 펄스들 (또는 클럭들)의 에지에 동기화되어 카운팅 할 수 있다.The counter 150 may count pulses output from the oscillator OSC in a period in which the third enable signal EN3 is activated. For example, the oscillator OSC and the counter 150 may be connected by a switch SW that is switched on by the third enable signal EN3. For example, when the oscillator OSC and the counter 150 are connected by switching on the switch SW by the third enable signal EN3, the counter 150 counts pulses outputted from the oscillator OSC (Or clocks).

그러나, 도 1에 도시된 구성은 예시적인 것이며, 제 3 인에이블 신호(EN3)가 활성화되는 구간에서, 오실레이터(OSC)로부터 출력되는 펄스들을 카운팅하여 출력 신호(OUTPUT)를 생성할 수 있는 다양한 구성 또는 논리 소자들이 적용될 수 있다.However, the configuration shown in FIG. 1 is merely an example, and various configurations are possible in which the output signal OUTPUT can be generated by counting the pulses output from the oscillator OSC in a period in which the third enable signal EN3 is activated. Or logic elements can be applied.

이상 설명된 실시 예에 따르면, 아날로그 회로들로써 구현된 PWM 컨버터들(111~11n), 시냅스 회로들(121~12n), 충전 및 방전 회로(130), 및 비교기(140)의 동작에 따라, 곱연산들 및 합연산을 수행하는 일련의 과정들이 수행되며, 비교기(140)로부터 출력되는 신호(즉, EN3)와 오실레이터(OSC)로부터 출력되는 펄스들에 기초하여 최종 합연산 결과가 디지털 값으로 제공될 수 있다. 대부분의 연산 동작이 아날로그 회로에 의해 수행되기 때문에, 회로의 구성이 단순화될 수 있으며, 칩 사이즈도 감소할 수 있다.According to the embodiment described above, depending on the operation of the PWM converters 111 to 11n, the synapse circuits 121 to 12n, the charge and discharge circuit 130, and the comparator 140 implemented as analog circuits, And a summation result of the final sum operation is provided as a digital value based on the signal output from the comparator 140 (i.e., EN3) and the pulses output from the oscillator OSC . Since most of the arithmetic operations are performed by analog circuits, the circuit configuration can be simplified and the chip size can be reduced.

도 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. Fig. The operation of the first PWM converter 111 of the plurality of converters 111 to 11n is illustrated by way of example and the configuration and operation of the other converters 112 to 11n are 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 to generate the first PWM signal PWM1. Illustratively, the first input INPUT1 is shown as being an 8-bit binary number. The waveforms of the PWM signals output from the first PWM converter 111 and the binary numbers input to the first PWM converter 111 are illustratively shown. For example, the first PWM converter 111 can output a bit '1' in a logic high interval of an input binary number and output a bit '0' in a logic low interval of an input binary number.

도 3은 도 1에 도시된 시냅스 회로들의 구성을 예시적으로 보여주는 블록도이다. 도시의 간략화를 위해, 시냅스 회로들(121~12n) 중 제 1 및 제 n 시냅스 회로들(121, 12n)만이 도시되었다. 제 1 시냅스 회로(121)는 AND 게이트, 제 1 충전 전원 전류원(charging current source; CCS1), 및 제 1 스위치(SW1)를 포함할 수 있다. 제 n 시냅스 회로(121)는 AND 게이트, 제 n 충전 전원 전류원(CCSn), 및 제 n 스위치(SWn)를 포함할 수 있다.3 is a block diagram illustrating an exemplary configuration of the synapse circuits shown in FIG. For simplicity of illustration, only the first and n th synapse circuits 121 and 12n of the synapse circuits 121 to 12n are shown. The first synapse circuit 121 may include an AND gate, a first charging power source (CCS1), and a first switch (SW1). The n-th synapse circuit 121 may include an AND gate, an n-th charged-state power source current source (CCSn), and an n-th switch (SWn).

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

스위치들(SW1~SWn) 각각은, 시냅스 회로들(121~12n) 각각에 구비된 AND 게이트들에 의해 수행된 연산 결과에 따라 스위칭-온 되거나 스위칭-오프 될 수 있다. 예를 들어, AND 게이트에 의해 수행된 연산 결과가 논리 '1'이면, 스위치는 스위칭-온 될 것이며, AND 게이트에 의해 수행된 연산 결과가 논리 '0'이면, 스위치는 스위칭-오프 될 것이다. 스위치들(SW1~SWn)이 스위칭-온 됨으로써, 충전 전류원들(CCS1~CCSn)에 의해 생성된 전류는 노드 N을 통하여 흐를 것이다.Each of the switches SW1 to SWn may be switched on or switched off depending on the operation result performed by the AND gates provided in each of the synapse circuits 121 to 12n. 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. By switching on the switches SW1 to SWn, the current generated by the charge current sources CCS1 to CCSn will flow through the node N. [

충전 전류원들(CCS1~CCSn)은, (예컨대, 도 1의 충전 및 방전 회로(130)에 구비될 수 있는) 충전 소자에 저장되는 전하에 의한 전압 레벨이 선형적으로 증가하도록 구성될 수 있다. 일반적으로, 커패시터와 같은 저장 소자가 충전될 때, 커패시터 양단의 전압 레벨은 지수적으로(exponentially) 증가한다. 그러나, 충전 전류원들(CCS1~CCSn)에 의해 생성된 전류가 노드 N을 통하여 충전 및 방전 회로(도 1, 130)를 충전시키더라도, 충전 및 방전 회로(도 1, 130)의 저장 소자(예컨대, 커패시터 등) 또는 노드 N의 전압 레벨은 선형적으로 증가할 것이다. The charge current sources CCS1 to CCSn may be configured such that the voltage level by the charge stored in the charge element (for example, which may be provided in the charge and discharge circuit 130 in Fig. 1) linearly increases. In general, when a storage element such as a capacitor is charged, the voltage level across the capacitor increases exponentially. However, even if the current generated by the charging current sources CCS1 to CCSn charges the charging and discharging circuit (Fig. 1, 130) through the node N, the storage element of the charging and discharging circuit , Capacitors, etc.) or the voltage level at node N will increase linearly.

도 3에 도시된 구성에 의하면, 복수의 곱 연산들에 대한 합 연산들이 수행될 수 있다. 예를 들어, 제 1 시냅스 회로(121)는 승수(PWM1)와 피승수(W1)에 대한 제 1 곱연산을 수행할 수 있다. 유사하게, 제 n 시냅스 회로(12n)는 승수(PWMn)와 피승수(Wn)에 대한 제 n 곱연산을 수행할 수 있다. 여기서, 제 1 곱연산의 결과는 전류 I1로 나타날 수 있으며, 제 n 곱연산의 결과는 전류 In로 나타날 수 있다. 결국에는, 제 1 곱연산 내지 제 n 곱연산의 합은 전류 I1~In의 합으로 나타날 것이다.According to the configuration shown in Fig. 3, sum operations for a plurality of multiplication operations can be performed. For example, the first synapse circuit 121 may perform a first multiplication operation on multiplier PWM1 and multiplicand W1. Similarly, the nth synapse circuit 12n may perform an n-th multiply operation on multiplier PWMn and multiplicand Wn. Here, the result of the first multiplication operation may be represented by current I1, and the result of the n-th product operation may be represented by current In. Eventually, the sum of the first product operation to the n-th product operation will appear as the sum of the currents I1 to In.

만일, 충전 및 방전 회로(도 1, 130)의 저장 소자(예컨대, 커패시터 등)의 선형성이 보장되지 않는다면, 전류 I1~In의 합은 제 1 곱연산 내지 제 n 곱연산의 합을 나타내지 않을 것이다. 그러나, 충전 전류원들(CCS1~CCSn)이 충전 및 방전 회로(도 1, 130)의 저장 소자(예컨대, 커패시터 등)의 선형성을 보장하도록 구성되기 때문에, 제 1 곱연산 내지 제 n 곱연산의 합은 전류 I1~In의 합을 나타낼 수 있다.If the linearity of the storage elements (e.g., capacitors, etc.) of the charge and discharge circuit (Figs. 1 and 130) is not guaranteed, the sum of the currents I1 to In will not represent the sum of the first to nth product operations . However, since the charge current sources CCS1 to CCSn are configured to ensure the linearity of the storage elements (e.g., capacitors and the like) of the charge and discharge circuits (Figs. 1 and 130), the sum of the first- Can represent the sum of the currents I1 to In.

도 4는 도 1에 도시된 충전 및 방전 회로(130)와 비교기(140)의 예시적인 구성을 보여주는 블록도이다. 4 is a block diagram illustrating an exemplary configuration of the charge and discharge circuit 130 and comparator 140 shown in FIG.

충전 및 방전 회로(130)는 제 2 인에이블 신호(EN2)에 따라 전류들(I1~In)에 대응하는 전하를 충전하거나, 또는 충전된 전하를 방전하도록 구성될 수 있다. 예시적으로, 충전 및 방전 회로(130)는 커패시터(C), 방전 전류원(discharging current source; DCS), 및 방전 스위치(DSW)를 포함하는 것으로 도시되었다. 그러나, 제 2 인에이블 신호(EN2)에 따라 충전 또는 방전하도록 다양한 구성이 적용될 수 있다. 예를 들어, 방전 전류원(DCS), 커패시터(C) 뿐만 아니라, 다양한 능동 소자 및 수동 소자 등이 더 채용될 수 있다. The charge and discharge circuit 130 may be configured to charge the electric charge corresponding to the currents I1 to In according to the second enable signal EN2 or to discharge the charged electric charge. Illustratively, the charging and discharging circuit 130 is shown as including a capacitor C, a discharging current source (DCS), and a discharging switch DSW. However, various configurations can be applied to charge or discharge according to the second enable signal EN2. For example, not only a discharge current source (DCS), a capacitor (C), but also various active elements and passive elements can be further employed.

방전 전류원(DCS)은, 충전 및 방전 회로(130)의 방전 시, 노드 N의 전압 레벨이 선형적으로 감소하도록 돕는다. 일반적으로, 커패시터의 방전 시, 커패시터에 저장된 전하는 지수적으로(exponentially) 감소한다. 그러나, 복수의 곱연산들에 대한 합연산을 수행하기 위해서는 선형성이 담보되어야 한다. 따라서, 방전 전류원(DCS)를 구비함으로써, 방전시 노드 N의 전압 레벨은 선형적으로 감소한다.The discharge current source DCS helps the voltage level of the node N linearly decrease when the charging and discharging circuit 130 discharges. Generally, upon discharge of the capacitor, the charge stored in the capacitor decreases exponentially. However, in order to perform a sum operation on a plurality of multiplication operations, linearity must be ensured. Therefore, by providing the discharge current source DCS, the voltage level of the node N at the time of discharge decreases linearly.

비교기(140)는 노드 N의 전압 레벨과 기준 전압(Vref)의 레벨을 비교할 수 있으며, 비교 결과에 따라 제 3 인에이블 신호(EN3)를 출력할 수 있다. 예를 들어, 비교기(140)는 노드 N의 전압 레벨이 기준 전압(Vref)의 레벨보다 큰 경우에만 제 3 활성화 신호(EN3)를 출력할 수 있다. 비교기(140)는 연산 증폭기 또는 차동 증폭기로 구성될 수 있으나, 이에 한정되지 않는다. 예를 들어, 비교기(140)는 두 개의 전압 레벨을 비교하여, 비교 결과에 따라 제 3 활성화 신호(EN3)를 출력하는 다양한 구성으로 구현될 수 있다. The comparator 140 can compare the voltage level of the node N with the level of the reference voltage Vref and output the third enable signal EN3 according to the comparison result. For example, the comparator 140 can output the third activation signal EN3 only when the voltage level of the node N is higher than the level of the reference voltage Vref. The comparator 140 may comprise an operational amplifier or a differential amplifier, but is not limited thereto. For example, the comparator 140 may be implemented in various configurations for comparing the two voltage levels and outputting the third activation signal EN3 according to the comparison result.

도 5a는 도 4에 도시된 충전 및 방전 회로(130)의 충전시의 동작을 보여주는 도면이다. Fig. 5A is a diagram showing the operation of the charging and discharging circuit 130 shown in Fig. 4 when charged.

충전 및 방전 회로(130)의 충전 시, 제 2 활성화 신호(EN2)는 비활성화된다. 따라서, 노드 N을 흐르는 전류들(I1~In)에 의한 전하는 커패시터(C)에 저장될 것이다. 커패시터(C)가 충전될수록, 노드 N의 전압 레벨은 선형적으로 증가할 것이다. 전류들(I1~In)은 선형성을 갖는 충전 전류원들(CCS1~CCSn)에 기초하기 때문이다. 한편, 제 2 활성화 신호(EN2)는 비활성화 상태이기 때문에, 비교기(140)는 동작하지 않는다. 따라서, 제 3 인에이블 신호(EN3)도 출력되지 않는다. Upon charging of the charging and discharging circuit 130, the second activation signal EN2 is inactivated. Therefore, charges due to the currents I1 to In flowing through the node N will be stored in the capacitor C. [ As the capacitor C is charged, the voltage level at node N will increase linearly. Since the currents I1 to In are based on the charge current sources CCS1 to CCSn having linearity. On the other hand, since the second activation signal EN2 is in an inactive state, the comparator 140 does not operate. Therefore, the third enable signal EN3 is also not output.

도 5b는 도 4에 도시된 충전 및 방전 회로(130)의 방전시의 동작을 보여주는 도면이다. FIG. 5B is a diagram showing the operation of the charging and discharging circuit 130 shown in FIG. 4 during discharging.

충전 및 방전 회로(130)의 방전시, 제 2 활성화 신호(EN2)는 활성화된다. 제 2 인에이블 신호(EN2)에 의해 방전 스위치(DSW)가 스위칭-온 됨으로써, 커패시터(C)는 방전 전류원(DCS)을 통하여 접지된다. 이때, 선형성을 갖는 방전 전류원(DCS)으로 인하여, 노드 N의 전압 레벨은 선형적으로 감소할 것이다.When the charging and discharging circuit 130 is discharged, the second activating signal EN2 is activated. The discharge switch DSW is switched on by the second enable signal EN2 so that the capacitor C is grounded through the discharge current source DCS. At this time, due to the linear discharge current source DCS, the voltage level of the node N will decrease linearly.

한편, 제 2 활성화 신호(EN2)는 활성화 상태이기 때문에, 비교기(140)는 비교 동작을 수행할 것이다. 비교기(140)는 노드 N의 전압 레벨과 기준 전압(Vref)의 레벨을 비교할 수 있으며, 노드 N의 전압 레벨이 기준 전압(Vref)의 레벨보다 높은 구간에서 활성화되는 제 3 인에이블 신호(EN3)를 생성할 수 있다.On the other hand, since the second activation signal EN2 is in the active state, the comparator 140 will perform the comparison operation. The comparator 140 can compare the voltage level of the node N with the level of the reference voltage Vref and the third enable signal EN3 that is activated in a period in which the voltage level of the node N is higher than the level of the reference voltage Vref, Lt; / RTI >

도 6은 도 5a 및 5b에서 설명된 충전 및 방전 회로(130)와 비교기(140)의 동작을 보여주는 그래프이다. 그래프의 가로축은 시간을 나타내며, 세로축은 커패시터(C) (또는 노드 N)의 전압 레벨을 나타낸다. 1연산 사이클은 충전 구간과 방전 구간을 포함할 수 있다. 설명의 이해를 돕기 위해 도 1, 3, 5a, 및 5b를 함께 참조하여 설명하기로 한다.FIG. 6 is a graph showing the operation of the charge and discharge circuit 130 and the comparator 140 described in FIGS. 5A and 5B. The horizontal axis of the graph represents time, and the vertical axis represents the voltage level of the capacitor C (or node N). One calculation cycle may include a charging interval and a discharging interval. 1, 3, 5a, and 5b will be described together to facilitate understanding of the description.

충전 구간에서, 제 1 인에이블 신호(EN1)는 활성화되며, 제 2 인에이블 신호 및(EN2) 제 3 인에이블 신호들(EN3_A, EN3_B)은 비활성화된다. 즉, 충전 구간에서는 시냅스 회로들(121~12n)에 의한 곱연산 및, 충전 및 방전 회로(130)에 의한 합산 동작만이 수행된다. 반면, 충전 및 방전 회로(130)에 의한 방전은 일어나지 않으며, 비교기(140)도 동작하지 않는다.In the charging period, the first enable signal EN1 is activated, and the second enable signal EN2 and the third enable signals EN3_A and EN3_B are inactivated. That is, in the charging period, only the multiplication operation by the synapse circuits 121 to 12n and the sum operation by the charging and discharging circuit 130 are performed. On the other hand, discharging by the charging and discharging circuit 130 does not occur, and the comparator 140 does not operate either.

충전 구간은, 시냅스 회로들(121~12n)에 곱연산들이 수행되는 과정과 곱연산들이 합산되는 과정을 나타낼 수 있다. 앞서 도 5a, 5b를 통하여 설명되었지만, 충전 구간에서 커패시터의 전압 레벨(Vcap)은 선형적으로 증가하기 때문에, 노드 N을 통하는 전류들(I1~In)의 합은 곱연산들이 합산되는 것을 나타낼 수 있다. 이러한 선형성은 시냅스 회로들(121~12n) 각각에 구비된 충전 전류원(CCS1~CCSn)에 의해 담보될 수 있다.The charging period may represent a process in which product operations are performed on the synapse circuits 121 to 12n and a process in which product operations are added. 5a and 5b, since the voltage level Vcap of the capacitor increases linearly in the charging period, the sum of the currents I1 to In through node N can indicate that the multiplication operations are summed up have. This linearity can be ensured by the charge current sources CCS1 to CCSn provided in each of the synapse circuits 121 to 12n.

만일, 곱연산들의 합이 상대적으로 크다면, 커패시터(C) (또는 노드 N)의 전압 레벨(예컨대, VA)은 상대적으로 클 것이다. 이 경우, 합산 결과는 A에 의해 지시되는 그래프에 대응할 수 있다. 반면, 곱연산들의 합이 상대적으로 작다면, 커패시터(C) (또는 노드 N)의 전압 레벨(예컨대, VB)은 상대적으로 작을 것이다. 이 경우, 합산 결과는 B에 의해 지시되는 그래프에 대응할 수 있다. If the sum of the product operations is relatively large, the voltage level of the capacitor C (or node N) (e.g., V A ) will be relatively large. In this case, the summed result may correspond to the graph indicated by A. On the other hand, if the sum of the product operations is relatively small, the voltage level of the capacitor C (or node N) (e.g., V B ) would be relatively small. In this case, the summed result may correspond to the graph indicated by B.

방전 구간에서, 제 1 인에이블 신호(EN1)는 비활성화되며, 제 2 인에이블 신호(EN2) 및 제 3 인에이블 신호들(EN3_A, EN3_B)은 활성화 된다. 제 2 인에이블 신호(EN2)가 활성화 되었다는 것은, 충전 및 방전 회로(130)가 방전됨을 의미한다. 다만, 제 3 인에이블 신호들(EN3_A, EN3_B)은 방전 구간에서 항상 활성화되지 않는다. 즉, 제 3 인에이블 신호들(EN3_A, EN3_B)는 커패시터(C)의 전압 레벨(또는, 노드 N의 전압 레벨)이 기준 전압(Vref)의 레벨보다 높은 구간에서만 활성화된다. In the discharge period, the first enable signal EN1 is inactivated, and the second enable signal EN2 and the third enable signals EN3_A and EN3_B are activated. Activation of the second enable signal EN2 means that the charging and discharging circuit 130 is discharged. However, the third enable signals EN3_A and EN3_B are not always activated in the discharge interval. That is, the third enable signals EN3_A and EN3_B are activated only during a period when the voltage level of the capacitor C (or the voltage level of the node N) is higher than the level of the reference voltage Vref.

방전 구간에서, 커패시터(C)에 저장되는 전하량에 의해 표현되는 합산된 결과를 수치화 내지는 디지털화하는 과정이 수행될 수 있다. 앞서 도 5a, 5b를 통하여 설명되었지만, 방전 구간에서 커패시터의 전압 레벨(Vcap)은 선형적으로 감소한다. 이러한 선형성은 충전 및 방전 회로(130)에 구비된 방전 전류원(DCS)에 의해 담보될 수 있다.In the discharge interval, a process of digitizing or digitizing the summed result expressed by the amount of charge stored in the capacitor C may be performed. 5A and 5B, the voltage level Vcap of the capacitor decreases linearly in the discharge interval. This linearity can be ensured by a discharge current source (DCS) provided in the charging and discharging circuit 130.

만일 곱연산들에 대한 합연산의 값이 상대적으로 크다면, 커패시터(C) (또는 노드 N)의 전압 레벨이 기준 전압(Vref)의 레벨보다 높은 구간이 상대적으로 길 것이다. 반면, 만일 곱연산들에 대한 합연산의 합이 상대적으로 작다면, 커패시터(C) (또는 노드 N)의 전압 레벨이 기준 전압(Vref)의 레벨보다 높은 구간이 상대적으로 짧을 것이다. If the value of the sum operation for the multiplication operations is relatively large, the voltage level of the capacitor C (or the node N) will be relatively long in a section where the voltage level is higher than the level of the reference voltage Vref. On the other hand, if the sum of the sum operations for the multiplications is relatively small, the voltage level of the capacitor C (or node N) will be relatively short in a period in which the voltage level is higher than the level of the reference voltage Vref.

방전 구간에서 제 3 인에이블 신호들(EN3_A, EN3_B)이 활성화되는 구간 동안, 비교기(140)의 출력단에 연결되는 카운터(150)는 오실레이터(OSC)의 출력 펄스들을 카운팅 할 수 있다. 카운팅된 결과(즉, OUTPUT)는 (예컨대, 레벨 쉬프터 등에 의해) 적절하게 쉬프팅 됨으로써, 원하는 목적에 맞게 사용될 수 있다.During the interval during which the third enable signals EN3_A and EN3_B are activated in the discharge interval, the counter 150 connected to the output of the comparator 140 may count the output pulses of the oscillator OSC. The counted result (i. E., OUTPUT) may be suitably shifted (e. G., By a level shifter, etc.) and used accordingly.

이상 설명된 구성에 의하면, 방전 스위치(DSW), 방전 전류원(DCS), 커패시터(C), 비교기(140)와 같은 비교적 단순한 소자들로 구성된 아날로그 회로를 이용하여 복수의 곱연산들에 대한 합연산이 수행될 수 있으며, 연산 결과는 카운터를 통하여 디지털 값으로 표현될 수 있다. 그러므로, 회로의 구성이 단순해질 수 있으며, 제조 비용도 절감할 수 있다. 뿐만 아니라, 충전 및 방전 회로(130)에서 일어나는 충전과 방전의 선형성이 보장되기 때문에, 곱연산들에 대한 합연산의 결과가 정확하게 수치화될 수 있다.According to the above-described configuration, an analog circuit composed of comparatively simple elements such as a discharge switch (DSW), a discharge current source (DCS), a capacitor C and a comparator 140 is used to perform a sum operation Can be performed, and the operation result can be represented by a digital value through the counter. Therefore, the configuration of the circuit can be simplified, and the manufacturing cost can also be reduced. In addition, since the linearity of charging and discharging occurring in the charging and discharging circuit 130 is ensured, the result of the sum operation on the multiplication operations can be accurately quantified.

도 7은 본 발명의 실시 예에 따른 뉴로모픽 연산 장치를 보여주는 블록도이다. 뉴로모픽 연산 장치(1000)는 PWM 컨버터들(211~21n), 시냅스 회로들(311~318, 321~328, ~ ,3n1~3n8), 충전 및 방전 회로들(401~408), 비교기들(501~508), 오실레이터(OSC), 스위칭 회로(600), 카운터들(701~708), 및 합산기(800)를 포함할 수 있다.7 is a block diagram showing a neuromorphic computing apparatus according to an embodiment of the present invention. The neuromotion computing apparatus 1000 includes PWM converters 211 to 21n, synapse circuits 311 to 318, 321 to 328 to 3n1 to 3n8, charge and discharge circuits 401 to 408, An oscillator (OSC), a switching circuit 600, counters 701 to 708, and a summer 800. In addition,

뉴로모픽 연산 장치(1000)의 기본적인 구조는 앞서 도 1 내지 도 6을 통하여 설명된 뉴로모픽 연산 장치와 유사할 수 있다. 다만, 시냅스 회로들이 행과 열 방향을 따라 매트릭스 형태로 배치된다. 그리고 각각의 열마다 충전 및 방전 회로, 비교기, 스위치, 카운터가 배치된다. The basic structure of the neuromorphic computing apparatus 1000 may be similar to the neuromorphic computing apparatus described above with reference to Figs. 1 to 6 above. However, synapse circuits are arranged in matrix form along the row and column directions. A charge and discharge circuit, a comparator, a switch, and a counter are disposed in each column.

PWM 컨버터들(211~21n) 각각은 시냅스 회로들(311~318, 321~328, ~ , 3n1~3n8)의 각각의 행마다 배치될 수 있다. 예를 들어, 제 1 PWM 컨버터(211)는 시냅스 회로들(310)에 연결될 수 있다. 제 2 PWM 컨버터(212)는 시냅스 회로들(320)에 연결될 수 있다. 다른 PWM 컨버터들도 이와 유사하게 배치될 수 있다.Each of the PWM converters 211 to 21n may be arranged for each row of the synapse circuits 311 to 318, 321 to 328, ..., 3n1 to 3n8. For example, the first PWM converter 211 may be connected to the synapse circuits 310. The second PWM converter 212 may be coupled to the synapse circuits 320. Other PWM converters may be similarly arranged.

PWM 컨버터들(211~21n)은 복수의 입력들(INPUT1~INPUTn)을 각각 수신하여 PWM 신호들(PWM1~PWMn)을 생성할 수 있다. 복수의 입력들(INPUT1~INPUTn)은 바이너리 값일 수 있으며, PWM 신호들(PWM1~PWMn)은 입력들(INPUT1~INPUTn)에 각각 대응하는 서로 다른 펄스 폭을 갖는 신호들일 수 있다. PWM 컨버터들(211~21n)은 제 1 인에이블 신호(EN1)에 의해 활성화될 수 있다.The PWM converters 211 to 21n may receive the plurality of inputs INPUT1 to INPUTn to generate the PWM signals PWM1 to PWMn, respectively. The plurality of inputs INPUT1 to INPUTn may be binary values and the PWM signals PWM1 to PWMn may be signals having different pulse widths corresponding to the inputs INPUT1 to INPUTn, respectively. The PWM converters 211 to 21n can be activated by the first enable signal EN1.

시냅스 회로들(311~318, 321~328, ~ , 3n1~3n8)은 행과 열 방향을 따라 매트릭스 형태로 배치될 수 있다. 예를 들어, 제 1 행을 따라 시냅스 회로들(310)이 배치될 수 있으며, 제 2 행을 따라 시냅스 회로들(320)이 배치될 수 있다. 다른 시냅스 회로들도 유사하게 배치된다. 예시적으로, 시냅스 회로들은 n개의 행들과 8개의 열들로 배치되는 것으로 도시되었으나, 이에 한정되지 않는다. The synapse circuits 311 to 318, 321 to 328, ..., 3n1 to 3n8 may be arranged in a matrix form along the row and column directions. For example, the synapse circuits 310 may be disposed along the first row, and the synapse circuits 320 may be disposed along the second row. Other synapse circuits are similarly arranged. Illustratively, the synapse circuits are shown as being arranged in n rows and 8 columns, but are not limited thereto.

제 1 행에 배치되는 시냅스 회로들(311~318)은 제 1 피승수와 제 1 승수에 대한 제 1 곱연산을 수행하도록 구성될 수 있다. 예를 들어, 시냅스 회로들(311~318) 각각은 제 1 피승수로써 제 1 PWM 신호(PWM1)를 수신할 수 있다. The synapse circuits 311 to 318 disposed in the first row may be configured to perform a first multiplication operation on the first multiplicand and the first multiplier. For example, each of the synapse circuits 311 to 318 may receive the first PWM signal PWM1 as the first multiplicand.

시냅스 회로들(311~318)은 제 1 승수를 수신할 수 있다. 또는, 제 1 승수는 각각의 시냅스 회로에 미리 저장되어 있을 수 있다. 다만, 각각의 시냅스 회로는 제 1 승수 중 하나의 비트만을 수신할 수 있다. 예를 들어, 제 1 승수가 8비트의 바이너리 입력이라고 가정하면, 시냅스 회로(311)는 제 1 승수의 MSB (Most Significant Bit)를 저장할 수 있으며, 시냅스 회로(318)는 제 1 승수의 LSB (Least Significant Bit)를 저장할 수 있다. 시냅스 회로들(312~317)은 제 1 승수의 MSB와 LSB 사이의 나머지 비트들을 순차적으로 저장할 수 있다.The synapse circuits 311 to 318 can receive the first multiplier. Alternatively, the first multiplier may be pre-stored in each synapse circuit. However, each synapse circuit may receive only one bit of the first multiplier. For example, suppose the first multiplier is an 8-bit binary input, the synapse circuit 311 may store the most significant bit (MSB) of the first multiplier, and the synapse circuit 318 may store the most significant bit (LSB) of the first multiplier Least Significant Bit). Synapse circuits 312-317 may sequentially store the remaining bits between the MSB and LSB of the first multiplier.

시냅스 회로들(311~318) 각각은, 제 1 피승수인 제 1 PWM 신호(PWM1)와 제 1 피승수에 대해 부분 적(partial product)을 수행할 수 있다. 예를 들어, 시냅스 회로(311)는 제 1 PWM 신호(PWM1)와 제 1 피승수의 MSB에 대해 곱연산을 수행할 수 있다. 시냅스 회로(318)는 제 1 PWM 신호(PWM1)와 제 1 피승수의 LSB에 대해 곱연산을 수행할 수 있다. 나머지 시냅스 회로들(312~317)도 제 1 PWM 신호(PWM1)와 제 1 피승수의 나머지 비트들에 대해 곱연산을 수행할 수 있다. Each of the synapse circuits 311 to 318 may perform a partial product on the first multiplicand, the first PWM signal PWM1 and the first multiplicand. For example, the synapse circuit 311 may perform a multiplication operation on the MSB of the first multiplicand and the first PWM signal PWM1. The synapse circuit 318 may perform a multiplication operation on the first PWM signal PWM1 and the LSB of the first multiplicand. The remaining synapse circuits 312 to 317 may also multiply the first PWM signal PWM1 and the remaining bits of the first multiplicand.

시냅스 회로들(311~318) 각각에 의해 수행된 곱연산의 결과는, 앞서 도 1 내지 도 6에서 설명된 것과 같이, 각각의 시냅스 회로로부터 출력되는 전류로 표현될 수 있다. 즉, 시냅스 회로들(311~318)에 의해 수행된 제 1 곱연산의 결과들은 충전 및 방전 회로들(401~408)에 각각 저장될 수 있다.The result of the multiplication operation performed by each of the synapse circuits 311 to 318 can be represented by the current output from each synapse circuit, as described above with reference to Figs. That is, the results of the first multiplication operation performed by the synapse circuits 311 - 318 may be stored in the charge and discharge circuits 401 - 408, respectively.

제 2 행에 배치되는 시냅스 회로들(321~328)은 제 2 피승수와 제 2 승수에 대한 제 2 곱연산을 수행하도록 구성될 수 있다. 예를 들어, 시냅스 회로들(321~328) 각각은 제 2 피승수로써 제 2 PWM 신호(PWM2)를 수신할 수 있다. 앞서 설명된 것과 유사하게, 시냅스 회로들(321~328) 각각은 제 2 승수를 구성하는 비트들 중 하나의 비트를 수신할 수 있다. 시냅스 회로들(321~328) 각각에 의해 수행된, 제 2 피승수와 제 2 승수의 부분 적(partial product)은 각각의 시냅스 회로로부터 출력되는 전류로 표현될 수 있으며, 충전 및 방전 회로들(401~408)에 각각 저장될 수 있다.The synapse circuits 321-328 disposed in the second row may be configured to perform a second multiplication operation on the second multiplicand and the second multiplier. For example, each of the synapse circuits 321-328 may receive a second PWM signal PWM2 as a second multiplicand. Similar to what has been described above, each of the synaptic circuits 321-328 can receive one of the bits constituting the second multiplier. The partial multiplication of the second multiplicand and the second multiplier, performed by each of the synapse circuits 321-328, can be represented by the current output from each synapse circuit, and the charge and discharge circuits 401 To 408, respectively.

앞서 시냅스 회로들(311~318)에 의해 수행된 제 1 곱연산의 결과에 더하여, 시냅스 회로들(321~328)에 의해 수행된 제 2 곱연산의 결과가 충전 및 방전 회로들(401~408)에 더해지므로, 충전 및 방전 회로들(401~408)에 의한 합연산이 수행된다. In addition to the result of the first multiplication operation performed previously by the synapse circuits 311 through 318, the result of the second multiplication operation performed by the synapse circuits 321 through 328 is applied to the charge and discharge circuits 401 through 408 ), The sum operation by the charge and discharge circuits 401 to 408 is performed.

나머지 시냅스 회로들에 대해서도 유사하게 부분 적이 수행되며, 그 결과는 충전 및 방전 회로들(401~408)에 저장될 것이다. The remaining synapse circuits are similarly partially performed, and the result will be stored in the charge and discharge circuits 401 to 408.

이후, 방전 시의, 충전 및 방전 회로들(401~408)에 의한 방전, 비교기들(500)에 의한 전압 비교, 스위칭 회로(600)의 스위칭-온에 따른 카운터들(700)의 카운팅이 실행될 것이다. 이들의 동작들은 앞서 도 1 내지 도 6을 통하여 설명된 것들과 대체로 유사하다.Thereafter, discharging by the charging and discharging circuits 401 to 408, voltage comparison by the comparators 500, and counting of the counters 700 in accordance with the switching-on of the switching circuit 600 are performed at the time of discharging will be. Their operations are generally similar to those described above with reference to Figures 1-6.

시냅스 회로들(311~318, 321~328, ~ , 3n1~3n8)에 의한 곱연산들의 결과들이 충전 및 방전 회로들(401~408)에 누적된 후, 제 1 인에이블 신호(EN1)는 비활성화될 것이다. 그리고, 제 2 인에이블 신호(EN2)는 활성화되어 충전 및 방전 회로들(401~408)에서의 방전이 일어날 것이다. 충전 및 방전 회로들(401~408)에 구비된 커패시터의 전압 레벨은 도 6에 도시된 것과 같이 선형적으로 감소할 것이다. 이러한 선형성은, 충전 및 방전 회로들(401~408)에 구비된 방전 전류원에 의한 것이다.After the results of the multiplication operations by the synapse circuits 311 to 318, 321 to 328, ..., 3n1 to 3n8 are accumulated in the charge and discharge circuits 401 to 408, the first enable signal EN1 is deactivated Will be. Then, the second enable signal EN2 is activated and discharges in the charge and discharge circuits 401 to 408 will occur. The voltage levels of the capacitors provided in the charge and discharge circuits 401 to 408 will decrease linearly as shown in FIG. This linearity is due to the discharge current source provided in the charge and discharge circuits 401 to 408.

충전 및 방전 회로들(401~408)에서의 방전과 동시에, 제 2 인에이블 신호(EN2)에 의해 비교기들(500)이 활성화된다. 그 결과, 충전 및 방전 회로들(401~408) 각각에 구비된 커패시터 양단의 전압 레벨과 기준 전압(Vref)의 전압 레벨이 비교될 것이다. 비교기들(500)은 충전 및 방전 회로들(401~408) 각각에 구비된 커패시터 양단의 전압 레벨이 기준 전압(Vref)의 레벨보다 높은 구간에서 활성화되는 제 3 인에이블 신호(EN3)들을 생성할 수 있다.Simultaneously with the discharge in the charge and discharge circuits 401 to 408, the comparators 500 are activated by the second enable signal EN2. As a result, the voltage level across the capacitor of each of the charging and discharging circuits 401 to 408 will be compared with the voltage level of the reference voltage Vref. The comparators 500 generate the third enable signals EN3 that are activated in a period in which the voltage levels across the capacitors provided in the charge and discharge circuits 401 to 408 are higher than the level of the reference voltage Vref .

스위칭 회로(600)를 구성하는 각각의 스위치는 제 3 인에이블 신호(EN3)들이 활성화되는 구간에서 스위칭-온 될 수 있다. 이때, 오실레이터(OSC)로부터 출력되는 펄스들 (또는 클럭들)은 카운터들(701~708)로 입력되어, 카운터들(701~708)에 의한 카운팅이 수행될 수 있다. 카운터들(701~708)에 의한 카운팅 결과들은 디지털 값으로써 출력될 것이다.Each of the switches constituting the switching circuit 600 may be switched on in a period in which the third enable signal EN3 is activated. At this time, pulses (or clocks) output from the oscillator OSC are input to the counters 701 to 708, and counting by the counters 701 to 708 can be performed. The counting results by the counters 701 to 708 will be output as digital values.

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

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

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

이상 설명된 구성에 의하면, 방전 스위치, 방전 전류원, 커패시터로 구성되는 충전 및 방전 회로들(400), 비교기들(500), 스위칭 회로(600), 카운터들(700)과 같은 비교적 단순한 소자들로 구성된 아날로그 회로를 이용하여 뉴로모픽 연산 장치가 구현될 수 있다. 따라서, 회로의 구성이 단순해질 수 있으며, 제조 비용도 절감할 수 있다. 나아가, 충전 및 방전 회로들(400)에서 일어나는 충전과 방전의 선형성이 보장되기 때문에, 곱연산들에 대한 합연산의 결과가 정확하게 얻어질 수 있다.According to the configuration described above, the relatively simple elements such as the charge and discharge circuits 400, the comparators 500, the switching circuit 600, and the counters 700, each including the discharging switch, the discharging current source and the capacitor A novel Lomographic computation device can be implemented using a configured analog circuit. Therefore, the configuration of the circuit can be simplified, and the manufacturing cost can also be reduced. Furthermore, since the linearity of charge and discharge occurring in the charge and discharge circuits 400 is ensured, the result of the sum operation on the multiplications can be accurately obtained.

위에서 설명한 내용은 본 발명을 실시하기 위한 구체적인 예들이다. 본 발명에는 위에서 설명한 실시 예들뿐만 아니라, 단순하게 설계 변경하거나 용이하게 변경할 수 있는 실시 예들도 포함될 것이다. 또한, 본 발명에는 위에서 설명한 실시 예들을 이용하여 앞으로 용이하게 변형하여 실시할 수 있는 기술들도 포함될 것이다.The above description is a concrete example for carrying out the present invention. The present invention includes not only the above-described embodiments, but also embodiments that can be simply modified or easily changed. In addition, the present invention includes techniques that can be easily modified by using the above-described embodiments.

100: 뉴로모픽 연산 장치
111~11n: PWM 컨버터들
121~12n: 시냅스 회로들
130: 충전 및 방전 회로
140: 비교기
150: 카운터
100: New Lomographic computing device
111 ~ 11n: PWM converters
121 ~ 12n: Synapse circuits
130: Charging and discharging circuit
140: comparator
150: Counter

Claims (10)

제 1 PWM 신호와 제 1 가중치에 대해 제 1 곱연산을 수행하여 제 1 전류를 생성하도록 구성되는 제 1 시냅스 회로;
제 2 PWM 신호와 제 2 가중치에 대해 제 2 곱연산을 수행하여 제 2 전류를 생성하도록 구성되는 제 2 시냅스 회로;
충전 구간에서 상기 제 1 전류 및 상기 제 2 전류에 의한 전하들을 저장하고, 방전 구간에서 상기 전하들을 방전하도록 구성되는 충전 및 방전 회로;
상기 방전 구간에서 상기 방전되는 전하들의 전압 레벨과, 기준 전압의 레벨을 비교하는 비교기; 그리고
상기 비교기의 비교 결과에 기초하여, 오실레이터의 출력 펄스들을 카운팅하는 카운터를 포함하는 뉴로모픽 연산 장치.
A first synapse circuit configured to perform a first multiplication operation on a first PWM signal and a first weight to generate a first current;
A second synapse circuit configured to perform a second multiplication operation on the second PWM signal and the second weight to generate a second current;
A charging and discharging circuit configured to store charges by the first current and the second current in a charging period and to discharge the charges in a discharging period;
A comparator for comparing the voltage level of the discharged charges in the discharge interval with the level of the reference voltage; And
And a counter for counting output pulses of the oscillator based on the comparison result of the comparator.
제 1 항에 있어서,
제 1 입력을 상기 제 1 PWM 신호로 변환하는 제 1 PWM 컨버터; 그리고
제 2 입력을 상기 제 2 PWM 신호로 변환하는 제 2 PWM 컨버터를 더 포함하는 뉴로모픽 연산 장치.
The method according to claim 1,
A first PWM converter for converting a first input to the first PWM signal; And
And a second PWM converter for converting the second input to the second PWM signal.
제 1 항에 있어서,
상기 제 1 시냅스 회로는:
상기 제 1 PWM 신호와 상기 제 1 가중치에 대해 AND 연산을 수행하는 제 1 AND 게이트; 그리고
상기 제 1 AND 게이트의 출력에 따라 상기 제 1 전류를 생성하는 제 1 충전 전류원을 포함하고,
상기 제 2 시냅스 회로는:
상기 제 2 PWM 신호와 상기 제 2 가중치에 대해 AND 연산을 수행하는 제 2 AND 게이트; 그리고
상기 제 2 AND 게이트의 출력에 따라 상기 제 2 전류를 생성하는 제 2 충전 전류원을 포함하는 뉴로모픽 연산 장치.
The method according to claim 1,
The first synapse circuit comprising:
A first AND gate for performing an AND operation on the first PWM signal and the first weight; And
And a first charge current source for generating the first current according to the output of the first AND gate,
Said second synapse circuit comprising:
A second AND gate for performing an AND operation on the second PWM signal and the second weight; And
And a second charge current source for generating the second current according to the output of the second AND gate.
제 3 항에 있어서,
상기 제 1 충전 전류원은, 상기 제 1 전류에 의한 상기 충전 및 방전 회로의 전압 레벨이 선형적으로 증가하도록 구성되고,
상기 제 2 충전 전류원은, 상기 제 2 전류에 의한 상기 충전 및 방전 회로의 전압 레벨이 선형적으로 증가하도록 구성되는 뉴로모픽 연산 장치.
The method of claim 3,
Wherein the first charge current source is configured to linearly increase the voltage level of the charge and discharge circuit by the first current,
Wherein the second charge current source is configured to linearly increase the voltage level of the charge and discharge circuit by the second current.
제 1 항에 있어서,
상기 충전 및 방전 회로는:
상기 충전 구간에서 상기 전하들을 저장하는 커패시터; 그리고
상기 방전 구간에서 상기 전하들에 의한 상기 커패시터의 전압 레벨을 선형적으로 감소시키도록 구성되는 방전 전류원을 포함하는 뉴로모픽 연산 장치.
The method according to claim 1,
The charging and discharging circuit comprises:
A capacitor for storing the charges in the charging period; And
And a discharging current source configured to linearly reduce the voltage level of the capacitor by the charges in the discharging interval.
제 1 항에 있어서,
상기 비교기는 상기 방전되는 전하들의 상기 전압 레벨이 상기 기준 전압보다 큰 구간에서 활성화되는 인에이블 신호를 출력하는 뉴로모픽 연산 장치.
The method according to claim 1,
Wherein the comparator outputs an enable signal which is activated in a period in which the voltage level of the discharged electric charges is larger than the reference voltage.
제 6 항에 있어서,
상기 비교기는 상기 충전 및 방전 회로가 방전되는 구간에서 동작하는 차동 증폭기인 뉴로모픽 연산 장치.
The method according to claim 6,
Wherein the comparator is a differential amplifier that operates in a period in which the charge and discharge circuit is discharged.
제 7 항에 있어서,
상기 카운터는 상기 인에이블 신호가 활성화되는 구간에서 상기 오실레이터의 출력 펄스들을 카운팅하는 뉴로모픽 연산 장치.
8. The method of claim 7,
Wherein the counter counts the output pulses of the oscillator in a period in which the enable signal is activated.
제 8 항에 있어서,
상기 인에이블 신호의 활성화에 따라 스위칭-온 되어 상기 오실레이터와 상기 카운터를 연결하는 스위치를 더 포함하는 뉴로모픽 연산 장치.
9. The method of claim 8,
Further comprising: a switch for switching on the oscillator according to the activation of the enable signal and connecting the oscillator to the counter.
제 1 항에 있어서,
상기 카운터로부터 출력되는 디지털 값을 쉬프팅하는 레벨 쉬프터를 더 포함하는 뉴로모픽 연산 장치.
The method according to claim 1,
And a level shifter for shifting the digital value output from the counter.
KR1020170086666A 2017-02-10 2017-07-07 Neuromorphic arithmetic device KR102314300B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US15/804,912 US10438116B2 (en) 2017-02-10 2017-11-06 Neuromorphic arithmetic device

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020170018852 2017-02-10
KR20170018852 2017-02-10

Publications (2)

Publication Number Publication Date
KR20180093245A true KR20180093245A (en) 2018-08-21
KR102314300B1 KR102314300B1 (en) 2021-10-21

Family

ID=63453977

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170086666A KR102314300B1 (en) 2017-02-10 2017-07-07 Neuromorphic arithmetic device

Country Status (1)

Country Link
KR (1) KR102314300B1 (en)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210004347A (en) 2019-07-04 2021-01-13 한국과학기술연구원 Multi-core neuromodule device and global routing method performed on the same
KR20210004343A (en) 2019-07-04 2021-01-13 한국과학기술연구원 Method for operating spikes in a neuromodule device
KR20210004349A (en) 2019-07-04 2021-01-13 한국과학기술연구원 Neuromodule device and signaling method performed on the same
KR20210004342A (en) 2019-07-04 2021-01-13 한국과학기술연구원 Neuromorphic device
KR20210004348A (en) 2019-07-04 2021-01-13 한국과학기술연구원 Multi-core neuromodule device and global routing method performed on the same
KR20210004344A (en) 2019-07-04 2021-01-13 한국과학기술연구원 Neuromodule device and queuing method performed on the same
KR20210004346A (en) 2019-07-04 2021-01-13 한국과학기술연구원 Neuromodule device and signaling method performed on the same
CN112654996A (en) * 2018-09-27 2021-04-13 Tdk株式会社 Product-sum arithmetic unit, neuromorphic device, and product-sum arithmetic method
EP3913629A1 (en) * 2020-05-22 2021-11-24 Samsung Electronics Co., Ltd. Apparatus and method with in-memory processing
EP3871335A4 (en) * 2018-10-24 2022-07-13 Micron Technology, Inc. Event counters for memory operations
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
KR102521702B1 (en) * 2021-11-04 2023-04-17 서울대학교산학협력단 Neuron circuit, method of operation thereof, and neuromorphic apparatus comprising the neuron circuit

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101512370B1 (en) * 2014-01-16 2015-04-15 광주과학기술원 Neuromorphic system operating method for the same
KR101596656B1 (en) * 2011-07-21 2016-02-23 퀄컴 인코포레이티드 Method and apparatus of robust neural temporal coding, learning and cell recruitments for memory using oscillation

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101596656B1 (en) * 2011-07-21 2016-02-23 퀄컴 인코포레이티드 Method and apparatus of robust neural temporal coding, learning and cell recruitments for memory using oscillation
KR101512370B1 (en) * 2014-01-16 2015-04-15 광주과학기술원 Neuromorphic system operating method for the same

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"PWM Signal Processing Architecture for Intelligent Systems", Computers Elect. Engng vol.36 no.6(pp. 393-405), 1997 *

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112654996A (en) * 2018-09-27 2021-04-13 Tdk株式会社 Product-sum arithmetic unit, neuromorphic device, and product-sum arithmetic method
EP3871335A4 (en) * 2018-10-24 2022-07-13 Micron Technology, Inc. Event counters for memory operations
KR20210004342A (en) 2019-07-04 2021-01-13 한국과학기술연구원 Neuromorphic device
KR20210004347A (en) 2019-07-04 2021-01-13 한국과학기술연구원 Multi-core neuromodule device and global routing method performed on the same
KR20210004348A (en) 2019-07-04 2021-01-13 한국과학기술연구원 Multi-core neuromodule device and global routing method performed on the same
KR20210004344A (en) 2019-07-04 2021-01-13 한국과학기술연구원 Neuromodule device and queuing method performed on the same
KR20210004346A (en) 2019-07-04 2021-01-13 한국과학기술연구원 Neuromodule device and signaling method performed on the same
KR20210004349A (en) 2019-07-04 2021-01-13 한국과학기술연구원 Neuromodule device and signaling method performed on the same
KR20210004343A (en) 2019-07-04 2021-01-13 한국과학기술연구원 Method for operating spikes in a neuromodule device
EP3913629A1 (en) * 2020-05-22 2021-11-24 Samsung Electronics Co., Ltd. Apparatus and method with in-memory processing
US11587616B2 (en) 2020-05-22 2023-02-21 Samsung Electronics Co., Ltd. Apparatus and method with in-memory processing
US11804266B2 (en) 2020-05-22 2023-10-31 Samsung Electronics Co., Ltd. Apparatus and method with in-memory processing
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
KR102521702B1 (en) * 2021-11-04 2023-04-17 서울대학교산학협력단 Neuron circuit, method of operation thereof, and neuromorphic apparatus comprising the neuron circuit
WO2023080432A1 (en) * 2021-11-04 2023-05-11 서울대학교산학협력단 Neuron circuit and operation method thereof, and neuromorphic device including neuron circuit

Also Published As

Publication number Publication date
KR102314300B1 (en) 2021-10-21

Similar Documents

Publication Publication Date Title
KR102314300B1 (en) Neuromorphic arithmetic device
US10438116B2 (en) Neuromorphic arithmetic device
KR102653822B1 (en) Mixed signal computing system and method
US11615165B2 (en) Systems and methods for mapping matrix calculations to a matrix multiply accelerator
US11640196B2 (en) Unit element for performing multiply-accumulate operations
US11194886B2 (en) Bit-ordered binary-weighted multiplier-accumulator
US11604977B2 (en) Computing circuitry
KR102313796B1 (en) Neuromorphic arithmetic device
KR102567449B1 (en) Neuromorphic arithmetic device and operating method thereof
US20230359571A1 (en) System and methods for mixed-signal computing
Alomar et al. Low-cost hardware implementation of reservoir computers
US20200327401A1 (en) Computing circuitry
US20220247425A1 (en) Architecture for Multiplier Accumulator using Unit Elements for multiplication, bias, accumulation, and analog to digital conversion over a shared Charge Transfer Bus
US11476866B2 (en) Successive approximation register using switched unit elements
US11321050B1 (en) Method and system for analog computing with sub-binary radix weight representation
US20220244915A1 (en) Layout Structure for Shared Analog Bus in Unit Element Multiplier
US20220244914A1 (en) Differential Unit Element for multiply-accumulate operations on a shared charge transfer bus
US20220385301A1 (en) Architecture for Analog Multiplier-Accumulator with Binary Weighted Charge Transfer Capacitors
US20220244913A1 (en) Layout Structure for Shared Analog Bus in Unit Element Multiplier
WO2023193899A1 (en) Multi-bit analog multiply-accumulate operations with memory crossbar arrays

Legal Events

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