KR102314300B1 - 뉴로모픽 연산 장치 - Google Patents

뉴로모픽 연산 장치 Download PDF

Info

Publication number
KR102314300B1
KR102314300B1 KR1020170086666A KR20170086666A KR102314300B1 KR 102314300 B1 KR102314300 B1 KR 102314300B1 KR 1020170086666 A KR1020170086666 A KR 1020170086666A KR 20170086666 A KR20170086666 A KR 20170086666A KR 102314300 B1 KR102314300 B1 KR 102314300B1
Authority
KR
South Korea
Prior art keywords
charging
discharging
current
circuit
computing device
Prior art date
Application number
KR1020170086666A
Other languages
English (en)
Other versions
KR20180093245A (ko
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/ko
Application granted granted Critical
Publication of KR102314300B1 publication Critical patent/KR102314300B1/ko

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

본 발명은 뉴로모픽 연산 장치에 관한 것이다. 본 발명의 뉴로모픽 연산 장치는 제 1 및 제 2 시냅스 회로들, 충전 및 방전 회로, 비교기, 그리고 카운터를 포함할 수 있다. 제 1 시냅스 회로는 제 1 PWM 신호와 제 1 가중치에 대해 제 1 곱연산을 수행하여 제 1 전류를 생성할 수 있으며, 제 2 시냅스 회로는 제 2 PWM 신호와 제 2 가중치에 대해 제 2 곱연산을 수행하여 제 2 전류를 생성할 수 있다. 충전 및 방전 회로는 충전 구간에서 상기 제 1 전류 및 상기 제 2 전류에 의한 전하들을 저장하고, 방전 구간에서 상기 전하들을 방전할 수 있다. 비교기는 방전 구간에서 방전되는 전하들의 전압 레벨과, 기준 전압의 레벨을 비교할 수 있다. 카운터는 비교기의 비교 결과에 기초하여, 오실레이터의 출력 펄스들을 카운팅할 수 있다.

Description

뉴로모픽 연산 장치{NEUROMORPHIC ARITHMETIC DEVICE}
본 발명은 뉴로모픽 연산 장치에 관한 것으로, 좀 더 상세하게는, 아날로그 방식으로 구현된 뉴로모픽 연산 장치에 관한 것이다.
뉴로모픽 연산 장치는 인간의 신경계 또는 뇌를 모방하여 정보를 처리하는 장치이다. 종래의 컴퓨터 중앙 처리 장치가 기반으로 하였던 연산기, 명령어 처리기, 저장 장치 각각이 독립적으로 존재하였던 구성과는 달리, 뉴로모픽 연산 장치는 정보를 병렬화하여 처리할 수 있다. 뉴로모픽 연산 장치는, 정보를 처리하는 과정 중이라 하더라도, 새로이 발생한 사건을 중심으로 정보를 처리할 수 있다.
뉴로모픽 연산 장치는 복수의 뉴런들의 2차원 혹은 3차원적 연결로 정의될 수 있다. 각각의 뉴런은, 생물학적 뉴런의 구성 요소와 동일하게, 축색돌기(axon), 수상돌기(dendrite), 및 세포 몸체(soma)에 해당하는 회로로 구성될 수 있다. 특히, 뉴런과 뉴런 사이를 연결하는 시냅스(synapse) 회로에서 연산이 실행된다.
뉴로모픽 연산 장치에 입력된 정보를 병렬적으로 그리고 신속하게 처리하기 위하여 시냅스 회로(연산기)의 역할이 매우 중요하다. 이러한 방대한 데이터를 신속하게 처리하기 위하여, 일반적인 뉴로모픽 연산 장치는 디지털 방식으로 구현된 연산기를 구비하고 있다. 이러한 구성에 의하면, 처리해야 할 데이터의 양이 많아 질수록 소비전력이 매우 증가하며, 칩 면적도 크게 증가한다. 따라서, 소비 전력이 이슈가 되는 응용 분야에서는 회로의 확장이 매우 제한적이다.
일반적으로, 아날로그 방식의 뉴로모픽 연산 장치의 시냅스에서, 수상돌기를 구현하기 위해 생성된 메탈 라인의 커패시턴스가 이용된다. 이때, 오실레이터를 동작시켜, 해당 노드를 직접 충전하거나 방전하여 덧셈 및 곱셈 연산이 수행된다. 그러나, 이러한 방식의 연산은, 오실레이터를 이용하여 매우 큰 커패시턴스 값을 갖는 메탈 라인을 직접 충전하거나 방전하기 때문에, 동작 주파수가 높을 경우 전하의 낭비가 매우 심하여 소비 전력도 커진다는 문제점이 있다. 뿐만 아니라, 시냅스 회로의 개수가 증가할수록 메탈 라인의 커패시턴스의 크기도 증가하기 때문에, 동일한 동작 주파수를 생성하기 위하여 시냅스에서 전류원의 크기를 증가시켜야 하는 문제점도 있다.
본 발명의 목적은, 아날로그 방식으로 처리된 연산의 결과를 디지털 값으로 변환하여 출력하는 뉴로모픽 연산 장치를 제공하는데 있다.
본 발명의 실시 예에 따른 뉴로모픽 연산 장치는, 제 1 PWM 신호와 제 1 가중치에 대해 제 1 곱연산을 수행하여 제 1 전류를 생성하도록 구성되는 제 1 시냅스 회로, 제 2 PWM 신호와 제 2 가중치에 대해 제 2 곱연산을 수행하여 제 2 전류를 생성하도록 구성되는 제 2 시냅스 회로, 충전 구간에서 상기 제 1 전류 및 상기 제 2 전류에 의한 전하들을 저장하고, 방전 구간에서 상기 전하들을 방전하도록 구성되는 충전 및 방전 회로, 상기 방전 구간에서 상기 방전되는 전하들의 전압 레벨과, 기준 전압의 레벨을 비교하는 비교기, 그리고 상기 비교기의 비교 결과에 기초하여, 오실레이터의 출력 펄스들을 카운팅하는 카운터를 포함할 수 있다.
예를 들어, 상기 뉴로모픽 연산 장치는 제 1 입력을 상기 제 1 PWM 신호로 변환하는 제 1 PWM 컨버터, 그리고 제 2 입력을 상기 제 2 PWM 신호로 변환하는 제 2 PWM 컨버터를 더 포함할 수 있다.
예를 들어, 상기 제 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 전류에 의한 상기 충전 및 방전 회로의 전압 레벨이 선형적으로 증가하도록 구성될 수 있다.
예를 들어, 상기 충전 및 방전 회로는, 상기 충전 구간에서 상기 전하들을 저장하는 커패시터, 그리고 상기 방전 구간에서 상기 전하들에 의한 상기 커패시터의 전압 레벨을 선형적으로 감소시키도록 구성되는 방전 전류원을 포함할 수 있다.
예를 들어, 상기 비교기는 상기 방전되는 전하들의 상기 전압 레벨이 상기 기준 전압보다 큰 구간에서 활성화되는 인에이블 신호를 출력할 수 있다. 그리고, 상기 비교기는 상기 충전 및 방전 회로가 방전되는 구간에서 동작하는 차동 증폭기일 수 있다. 그리고, 상기 카운터는 상기 인에이블 신호가 활성화되는 구간에서 상기 오실레이터의 출력 펄스들을 카운팅할 수 있다. 그리고, 상기 뉴로모픽 연산 장치는 상기 인에이블 신호의 활성화에 따라 스위칭-온 되어 상기 오실레이터와 상기 카운터를 연결하는 스위치를 더 포함할 수 있다.
예를 들어, 상기 뉴로모픽 연산 장치는 상기 카운터로부터 출력되는 디지털 값을 쉬프팅하는 레벨 쉬프터를 더 포함할 수 있다.
본 발명에 실시 예에 따르면, 뉴로모픽 연산 장치에 구비된 충전 및 방전 회로를 이용하여 다양한 연산들이 아날로그 방식으로 처리된다. 따라서, 수상돌기 커패시터를 매번 발진시킬 필요가 없으므로, 소모 전류가 감소할 수 있다.
나아가, 본 발명의 실시 예에 따르면, 아날로그 소자들을 이용하여 뉴로모픽 연산 장치가 구현되므로, 칩 사이즈 및 제조 비용이 감소할 수 있다.
도 1은 본 발명의 실시 예에 따른 뉴로모픽 연산 장치를 보여주는 블록도이다.
도 2는 도 1에 도시된 PWM 컨버터들의 동작을 보여주는 도면이다.
도 3은 도 1에 도시된 시냅스 회로들의 구성을 예시적으로 보여주는 블록도이다.
도 4는 도 1에 도시된 충전 및 방전 회로와 비교기의 예시적인 구성을 보여주는 블록도이다.
도 5a는 도 4에 도시된 충전 및 방전 회로의 충전시의 동작을 보여주는 도면이다.
도 5b는 도 4에 도시된 충전 및 방전 회로의 방전시의 동작을 보여주는 도면이다.
도 6은 도 5a 및 5b에서 설명된 충전 및 방전 회로와 비교기의 동작을 보여주는 그래프이다.
도 7은 본 발명의 실시 예에 따른 뉴로모픽 연산 장치를 보여주는 블록도이다.
이하, 첨부된 도면들을 참조하여 본 발명의 실시 예들이 상세하게 설명된다. 이하의 설명에서, 상세한 구성들 및 구조들과 같은 세부적인 사항들은 단순히 본 발명의 실시 예들의 전반적인 이해를 돕기 위하여 제공된다. 그러므로 본 발명의 기술적 사상 및 범위로부터의 벗어남 없이 본문에 기재된 실시 예들의 변형들은 통상의 기술자 의해 수행될 수 있다. 더욱이, 명확성 및 간결성을 위하여 잘 알려진 기능들 및 구조들에 대한 설명들은 생략된다. 본 명세서에서 사용된 용어들은 본 발명의 기능들을 고려하여 정의된 용어들이며, 특정 기능에 한정되지 않는다. 용어들의 정의는 상세한 설명에 기재된 사항을 기반으로 결정될 수 있다.
이하의 도면들 또는 상세한 설명에서의 모듈들은 도면에 도시되거나 또는 상세한 설명에 기재된 구성 요소 이외에 다른 것들과 연결될 수 있다. 모듈들 또는 구성 요소들 사이의 연결은 각각 직접적 또는 비직접적일 수 있다. 모듈들 또는 구성 요소들 사이의 연결은 각각 통신에 의한 연결이거나 또는 물리적인 접속일 수 있다.
상세한 설명에서 사용되는 부 또는 유닛(unit), 모듈(module), 계층(layer) 등의 용어를 참조하여 설명되는 구성 요소들은 소프트웨어, 또는 하드웨어, 또는 그것들의 조합의 형태로 구현될 수 있다. 예시적으로, 소프트웨어는 기계 코드, 펌웨어, 임베디드 코드, 및 애플리케이션 소프트웨어일 수 있다. 예를 들어, 하드웨어는 전기 회로, 전자 회로, 프로세서, 컴퓨터, 집적 회로, 집적 회로 코어들, 압력 센서, 관성 센서, 멤즈(Micro Electro Mechanical System; MEMS), 수동 소자, 또는 그것들의 조합을 포함할 수 있다.
다르게 정의되지 않는 한, 본문에서 사용되는 기술적 또는 과학적인 의미를 포함하는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 지닌 자에 의해 이해될 수 있는 의미를 갖는다. 일반적으로 사전에서 정의된 용어들은 관련된 기술 분야에서의 맥락적 의미와 동등한 의미를 갖도록 해석되며, 본문에서 명확하게 정의되지 않는 한, 이상적 또는 과도하게 형식적인 의미를 갖도록 해석되지 않는다.
도 1은 본 발명의 실시 예에 따른 뉴로모픽 연산 장치(neuromorphic arithmetic device)를 보여주는 블록도이다. 뉴로모픽 연산 장치(100)는 복수의 PWM 컨버터들(111~11n), 복수의 시냅스 회로들(121~12n), 충전 및 방전 회로(130), 비교기(140), 및 카운터(150)를 포함할 수 있다.
뉴로모픽 연산 장치(100)는 복수의 승수들과 복수의 피승수들에 대한 복수의 곱연산들을 수행하도록 구성될 수 있다. 예를 들어, 뉴로모픽 연산 장치(100)에 구비된 시냅스 회로들(121~12n)은 곱연산들을 수행하는 곱셈기로써 동작할 수 있다. 나아가, 뉴로모픽 연산 장치(100)는 복수의 곱연산들에 대한 합연산을 수행하도록 구성될 수 있다. 예를 들어, 뉴로모픽 연산 장치(100)에 구비된 충전 및 방전 회로(130)는 곱연산들에 대한 합연산을 수행하는 덧셈기로써 동작할 수 있다.
복수의 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)에 의해 활성화될 수 있다.
복수의 시냅스 회로들(121~12n)은 복수의 PWM 신호들(PWM1~PWMn)을 각각 수신할 수 있다. 예를 들어, PWM 신호들(PWM1~PWMn)이 각각 수신되는 회선들은 신경세포의 축색돌기(axon)에 대응할 수 있다. 복수의 시냅스 회로들(121~12n)은 가중치들(W1~Wn)을 각각 수신할 수 있다. 또는, 가중치들(W1~Wn)은 시냅스 회로들(121~12n) 각각에 저장되어 있는 값일 수 있다. 예를 들어, PWM 신호들(PWM1~PWMn)은 곱해지는 수인 피승수(multiplicand)일 수 있다. 그리고, 가중치들(W1~Wn)은 곱하는 수인 승수(multiplier)일 수 있다.
복수의 시냅스 회로들(121~12n) 각각은 피승수(예컨대, PWM1 내지 PWMn 중 어느 하나)와 승수(예컨대, W1~Wn 중 어느 하나)에 대한 곱연산을 수행하도록 구성될 수 있다. 곱연산을 수행하기 위해, 복수의 시냅스 회로들(121~12n) 각각은 전류원, 논리 게이트, 및 스위치를 포함할 수 있다. 복수의 시냅스 회로들(121~12n) 각각은 곱연산의 결과로써 전류들(I1~In)을 출력할 수 있다.
충전 및 방전 회로(130)는 전류들(I1~In)의 합에 대응하는 전하들을 충전하거나 방전하도록 구성될 수 있다. 예를 들어, 충전 및 방전 회로(130)는 신경 세포의 수상돌기(dendrite)에 대응할 수 있다. 수상 돌기를 구현하기 위해, 충전 및 방전 회로(130)는 자체적인 커패시턴스 성분을 갖는 메탈 라인을 포함할 수 있다. 또는, 충전 및 방전 회로(130)는 별도의 커패시터를 포함할 수도 있다. 이하, 본 명세서에서, 충전 및 방전 회로(130)에 포함되는 것으로 설명되는 커패시터는, 수상돌기를 구현하기 위해 제공된 자체적인 커패시턴스 성분을 갖는 메탈 라인, 또는 별도로 제공된 커패시터 중 적어도 하나를 의미하는 것으로 이해되어야 한다.
충전 및 방전 회로(130)는, 제 1 활성화 신호(EN1)가 활성화 되는 구간 또는 제 2 인에이블 신호(EN2)가 비활성화되는 구간에서, 시냅스 회로들(121~12n)에 구비된 전류원들로부터 전하를 공급받을 수 있다. 예를 들어, 충전 및 방전 회로(130)가 시냅스 회로들(121~12n)에 구비된 전류원들로부터 전하를 공급받는 시간은 PWM 컨버터들(111~11n)에 의해 PWM 신호들(PWM1~PWMn)이 생성되는 구간이며, PWM 신호들(PWM1~PWMn)이 생성되지 않는 구간에서는 전하를 공급받지 않을 수 있다.
또는, 충전 및 방전 회로(130)는, 제 1 활성화 신호(EN1)가 비활성화되는 구간 또는 제 2 인에이블 신호(EN2)가 비활성화되는 구간에서, 충전 및 방전 회로(130)에 저장된 전하를 충전하도록 구성될 수 있다. 반면, 충전 및 방전 회로(130)는, 제 2 인에이블 신호(EN2)가 활성화되는 구간에서, 충전 및 방전 회로(130)에 저장된 전하들을 방전하도록 구성될 수 있다.
비교기(140)는 노드 N의 전압 레벨과 기준 전압(Vref)의 전압 레벨을 비교하여 제 3 인에이블 신호(EN3)를 생성하도록 구성될 수 있다. 예를 들어, 비교기(140)는 제 2 인에이블 신호(EN2)가 비활성화되는 구간에서 동작하지 않을 수 있다. 반면, 비교기(140)는 제 2 인에이블 신호(EN2)가 활성화되는 구간에서 노드 N의 전압 레벨과 기준 전압(Vref)의 레벨을 비교할 수 있다.
예를 들어, 제 2 인에이블 신호(EN2)가 비활성화되는 구간에서, 시냅스 회로들(121~12n)로부터 출력되는 전류들(I1~In)은 충전 및 방전 회로(130)에 구비된 저장 소자에 충전될 수 있다. 따라서, 노드 N의 전압은 계속 증가할 것이다. 반면, 제 2 인에이블 신호(EN2)가 활성화되면, 충전 및 방전 회로(130)는 저장된 전하들을 방전시키기 때문에 노드 N의 전압은 낮아질 것이다. 이때, 비교기(140)는, 낮아지는 노드 N의 전압 레벨과 기준 전압(Vref)의 레벨을 비교하여 제 3 인에이블 신호(EN3)를 생성한다. 예를 들어, 비교기(140)는, 노드 N의 전압 레벨이 기준 전압(Vref)의 레벨보다 높은 구간에서 활성화되는, 제 3 인에이블 신호(EN3)를 생성할 수 있다.
카운터(150)는 제 3 인에이블 신호(EN3)가 활성화되는 구간에서 오실레이터(OSC)로부터 출력되는 펄스들을 카운팅할 수 있다. 예를 들어, 오실레이터(OSC)와 카운터(150)는 제 3 인에이블 신호(EN3)에 의해 스위칭-온 되는 스위치(SW)에 의해 연결될 수 있다. 예를 들어, 제 3 인에이블 신호(EN3)에 의해 스위치(SW)가 스위칭-온 됨으로써 오실레이터(OSC)와 카운터(150)가 연결되면, 카운터(150)는 오실레이터(OSC)로부터 출력되는 펄스들 (또는 클럭들)의 에지에 동기화되어 카운팅 할 수 있다.
그러나, 도 1에 도시된 구성은 예시적인 것이며, 제 3 인에이블 신호(EN3)가 활성화되는 구간에서, 오실레이터(OSC)로부터 출력되는 펄스들을 카운팅하여 출력 신호(OUTPUT)를 생성할 수 있는 다양한 구성 또는 논리 소자들이 적용될 수 있다.
이상 설명된 실시 예에 따르면, 아날로그 회로들로써 구현된 PWM 컨버터들(111~11n), 시냅스 회로들(121~12n), 충전 및 방전 회로(130), 및 비교기(140)의 동작에 따라, 곱연산들 및 합연산을 수행하는 일련의 과정들이 수행되며, 비교기(140)로부터 출력되는 신호(즉, EN3)와 오실레이터(OSC)로부터 출력되는 펄스들에 기초하여 최종 합연산 결과가 디지털 값으로 제공될 수 있다. 대부분의 연산 동작이 아날로그 회로에 의해 수행되기 때문에, 회로의 구성이 단순화될 수 있으며, 칩 사이즈도 감소할 수 있다.
도 2는 도 1에 도시된 PWM 컨버터들의 동작을 보여주는 도면이다. 복수의 컨버터들(111~11n) 중 제 1 PWM 컨버터(111)의 동작이 예시적으로 도시되었으며, 다른 컨버터들(112~11n)의 구성 및 동작도 제 1 PWM 컨버터(111)와 실질적으로 동일하다.
제 1 PWM 컨버터(111)는 제 1 입력(INPUT1)을 입력받아 제 1 PWM 신호(PWM1)를 생성할 수 있다. 예시적으로, 제 1 입력(INPUT1)은 8비트의 이진수인 것으로 도시되었다. 제 1 PWM 컨버터(111)에 입력되는 이진수들과, 제 1 PWM 컨버터(111)로부터 출력되는 PWM 신호들의 파형이 예시적으로 도시되었다. 예를 들어, 제 1 PWM 컨버터(111)는 입력되는 이진수의 로직 하이 구간에서 비트 '1'을 출력할 수 있으며, 입력되는 이진수의 로직 로우 구간에서 비트 '0'을 출력할 수 있다.
도 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)를 포함할 수 있다.
시냅스 회로들(121~12n)의 AND 게이트들은, PWM 컨버터들(도 1 참조, 111~11n)에 의해 생성된 PWM 신호들(PWM1~PWMn)을 각각 입력받을 수 있다. 예를 들어, PWM 신호들(PWM1~PWMn)은 곱셈 연산에서 곱해지는 수인 피승수일 수 있다. 한편, 가중치들(W1~Wn)도 시냅스 회로들(121~12n)의 AND 게이트들로 각각 입력될 수 있다. 예를 들어, 가중치들(W1~Wn)은 곱하는 수인 승수일 수 있다. 예를 들어, 가중치들(W1~Wn)은 외부로부터 입력되거나, 시냅스 회로들(121~12n) 내부에 저장되어 있을 수 있다.
스위치들(SW1~SWn) 각각은, 시냅스 회로들(121~12n) 각각에 구비된 AND 게이트들에 의해 수행된 연산 결과에 따라 스위칭-온 되거나 스위칭-오프 될 수 있다. 예를 들어, AND 게이트에 의해 수행된 연산 결과가 논리 '1'이면, 스위치는 스위칭-온 될 것이며, AND 게이트에 의해 수행된 연산 결과가 논리 '0'이면, 스위치는 스위칭-오프 될 것이다. 스위치들(SW1~SWn)이 스위칭-온 됨으로써, 충전 전류원들(CCS1~CCSn)에 의해 생성된 전류는 노드 N을 통하여 흐를 것이다.
충전 전류원들(CCS1~CCSn)은, (예컨대, 도 1의 충전 및 방전 회로(130)에 구비될 수 있는) 충전 소자에 저장되는 전하에 의한 전압 레벨이 선형적으로 증가하도록 구성될 수 있다. 일반적으로, 커패시터와 같은 저장 소자가 충전될 때, 커패시터 양단의 전압 레벨은 지수적으로(exponentially) 증가한다. 그러나, 충전 전류원들(CCS1~CCSn)에 의해 생성된 전류가 노드 N을 통하여 충전 및 방전 회로(도 1, 130)를 충전시키더라도, 충전 및 방전 회로(도 1, 130)의 저장 소자(예컨대, 커패시터 등) 또는 노드 N의 전압 레벨은 선형적으로 증가할 것이다.
도 3에 도시된 구성에 의하면, 복수의 곱 연산들에 대한 합 연산들이 수행될 수 있다. 예를 들어, 제 1 시냅스 회로(121)는 승수(PWM1)와 피승수(W1)에 대한 제 1 곱연산을 수행할 수 있다. 유사하게, 제 n 시냅스 회로(12n)는 승수(PWMn)와 피승수(Wn)에 대한 제 n 곱연산을 수행할 수 있다. 여기서, 제 1 곱연산의 결과는 전류 I1로 나타날 수 있으며, 제 n 곱연산의 결과는 전류 In로 나타날 수 있다. 결국에는, 제 1 곱연산 내지 제 n 곱연산의 합은 전류 I1~In의 합으로 나타날 것이다.
만일, 충전 및 방전 회로(도 1, 130)의 저장 소자(예컨대, 커패시터 등)의 선형성이 보장되지 않는다면, 전류 I1~In의 합은 제 1 곱연산 내지 제 n 곱연산의 합을 나타내지 않을 것이다. 그러나, 충전 전류원들(CCS1~CCSn)이 충전 및 방전 회로(도 1, 130)의 저장 소자(예컨대, 커패시터 등)의 선형성을 보장하도록 구성되기 때문에, 제 1 곱연산 내지 제 n 곱연산의 합은 전류 I1~In의 합을 나타낼 수 있다.
도 4는 도 1에 도시된 충전 및 방전 회로(130)와 비교기(140)의 예시적인 구성을 보여주는 블록도이다.
충전 및 방전 회로(130)는 제 2 인에이블 신호(EN2)에 따라 전류들(I1~In)에 대응하는 전하를 충전하거나, 또는 충전된 전하를 방전하도록 구성될 수 있다. 예시적으로, 충전 및 방전 회로(130)는 커패시터(C), 방전 전류원(discharging current source; DCS), 및 방전 스위치(DSW)를 포함하는 것으로 도시되었다. 그러나, 제 2 인에이블 신호(EN2)에 따라 충전 또는 방전하도록 다양한 구성이 적용될 수 있다. 예를 들어, 방전 전류원(DCS), 커패시터(C) 뿐만 아니라, 다양한 능동 소자 및 수동 소자 등이 더 채용될 수 있다.
방전 전류원(DCS)은, 충전 및 방전 회로(130)의 방전 시, 노드 N의 전압 레벨이 선형적으로 감소하도록 돕는다. 일반적으로, 커패시터의 방전 시, 커패시터에 저장된 전하는 지수적으로(exponentially) 감소한다. 그러나, 복수의 곱연산들에 대한 합연산을 수행하기 위해서는 선형성이 담보되어야 한다. 따라서, 방전 전류원(DCS)를 구비함으로써, 방전시 노드 N의 전압 레벨은 선형적으로 감소한다.
비교기(140)는 노드 N의 전압 레벨과 기준 전압(Vref)의 레벨을 비교할 수 있으며, 비교 결과에 따라 제 3 인에이블 신호(EN3)를 출력할 수 있다. 예를 들어, 비교기(140)는 노드 N의 전압 레벨이 기준 전압(Vref)의 레벨보다 큰 경우에만 제 3 활성화 신호(EN3)를 출력할 수 있다. 비교기(140)는 연산 증폭기 또는 차동 증폭기로 구성될 수 있으나, 이에 한정되지 않는다. 예를 들어, 비교기(140)는 두 개의 전압 레벨을 비교하여, 비교 결과에 따라 제 3 활성화 신호(EN3)를 출력하는 다양한 구성으로 구현될 수 있다.
도 5a는 도 4에 도시된 충전 및 방전 회로(130)의 충전시의 동작을 보여주는 도면이다.
충전 및 방전 회로(130)의 충전 시, 제 2 활성화 신호(EN2)는 비활성화된다. 따라서, 노드 N을 흐르는 전류들(I1~In)에 의한 전하는 커패시터(C)에 저장될 것이다. 커패시터(C)가 충전될수록, 노드 N의 전압 레벨은 선형적으로 증가할 것이다. 전류들(I1~In)은 선형성을 갖는 충전 전류원들(CCS1~CCSn)에 기초하기 때문이다. 한편, 제 2 활성화 신호(EN2)는 비활성화 상태이기 때문에, 비교기(140)는 동작하지 않는다. 따라서, 제 3 인에이블 신호(EN3)도 출력되지 않는다.
도 5b는 도 4에 도시된 충전 및 방전 회로(130)의 방전시의 동작을 보여주는 도면이다.
충전 및 방전 회로(130)의 방전시, 제 2 활성화 신호(EN2)는 활성화된다. 제 2 인에이블 신호(EN2)에 의해 방전 스위치(DSW)가 스위칭-온 됨으로써, 커패시터(C)는 방전 전류원(DCS)을 통하여 접지된다. 이때, 선형성을 갖는 방전 전류원(DCS)으로 인하여, 노드 N의 전압 레벨은 선형적으로 감소할 것이다.
한편, 제 2 활성화 신호(EN2)는 활성화 상태이기 때문에, 비교기(140)는 비교 동작을 수행할 것이다. 비교기(140)는 노드 N의 전압 레벨과 기준 전압(Vref)의 레벨을 비교할 수 있으며, 노드 N의 전압 레벨이 기준 전압(Vref)의 레벨보다 높은 구간에서 활성화되는 제 3 인에이블 신호(EN3)를 생성할 수 있다.
도 6은 도 5a 및 5b에서 설명된 충전 및 방전 회로(130)와 비교기(140)의 동작을 보여주는 그래프이다. 그래프의 가로축은 시간을 나타내며, 세로축은 커패시터(C) (또는 노드 N)의 전압 레벨을 나타낸다. 1연산 사이클은 충전 구간과 방전 구간을 포함할 수 있다. 설명의 이해를 돕기 위해 도 1, 3, 5a, 및 5b를 함께 참조하여 설명하기로 한다.
충전 구간에서, 제 1 인에이블 신호(EN1)는 활성화되며, 제 2 인에이블 신호 및(EN2) 제 3 인에이블 신호들(EN3_A, EN3_B)은 비활성화된다. 즉, 충전 구간에서는 시냅스 회로들(121~12n)에 의한 곱연산 및, 충전 및 방전 회로(130)에 의한 합산 동작만이 수행된다. 반면, 충전 및 방전 회로(130)에 의한 방전은 일어나지 않으며, 비교기(140)도 동작하지 않는다.
충전 구간은, 시냅스 회로들(121~12n)에 곱연산들이 수행되는 과정과 곱연산들이 합산되는 과정을 나타낼 수 있다. 앞서 도 5a, 5b를 통하여 설명되었지만, 충전 구간에서 커패시터의 전압 레벨(Vcap)은 선형적으로 증가하기 때문에, 노드 N을 통하는 전류들(I1~In)의 합은 곱연산들이 합산되는 것을 나타낼 수 있다. 이러한 선형성은 시냅스 회로들(121~12n) 각각에 구비된 충전 전류원(CCS1~CCSn)에 의해 담보될 수 있다.
만일, 곱연산들의 합이 상대적으로 크다면, 커패시터(C) (또는 노드 N)의 전압 레벨(예컨대, VA)은 상대적으로 클 것이다. 이 경우, 합산 결과는 A에 의해 지시되는 그래프에 대응할 수 있다. 반면, 곱연산들의 합이 상대적으로 작다면, 커패시터(C) (또는 노드 N)의 전압 레벨(예컨대, VB)은 상대적으로 작을 것이다. 이 경우, 합산 결과는 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)의 레벨보다 높은 구간에서만 활성화된다.
방전 구간에서, 커패시터(C)에 저장되는 전하량에 의해 표현되는 합산된 결과를 수치화 내지는 디지털화하는 과정이 수행될 수 있다. 앞서 도 5a, 5b를 통하여 설명되었지만, 방전 구간에서 커패시터의 전압 레벨(Vcap)은 선형적으로 감소한다. 이러한 선형성은 충전 및 방전 회로(130)에 구비된 방전 전류원(DCS)에 의해 담보될 수 있다.
만일 곱연산들에 대한 합연산의 값이 상대적으로 크다면, 커패시터(C) (또는 노드 N)의 전압 레벨이 기준 전압(Vref)의 레벨보다 높은 구간이 상대적으로 길 것이다. 반면, 만일 곱연산들에 대한 합연산의 합이 상대적으로 작다면, 커패시터(C) (또는 노드 N)의 전압 레벨이 기준 전압(Vref)의 레벨보다 높은 구간이 상대적으로 짧을 것이다.
방전 구간에서 제 3 인에이블 신호들(EN3_A, EN3_B)이 활성화되는 구간 동안, 비교기(140)의 출력단에 연결되는 카운터(150)는 오실레이터(OSC)의 출력 펄스들을 카운팅 할 수 있다. 카운팅된 결과(즉, OUTPUT)는 (예컨대, 레벨 쉬프터 등에 의해) 적절하게 쉬프팅 됨으로써, 원하는 목적에 맞게 사용될 수 있다.
이상 설명된 구성에 의하면, 방전 스위치(DSW), 방전 전류원(DCS), 커패시터(C), 비교기(140)와 같은 비교적 단순한 소자들로 구성된 아날로그 회로를 이용하여 복수의 곱연산들에 대한 합연산이 수행될 수 있으며, 연산 결과는 카운터를 통하여 디지털 값으로 표현될 수 있다. 그러므로, 회로의 구성이 단순해질 수 있으며, 제조 비용도 절감할 수 있다. 뿐만 아니라, 충전 및 방전 회로(130)에서 일어나는 충전과 방전의 선형성이 보장되기 때문에, 곱연산들에 대한 합연산의 결과가 정확하게 수치화될 수 있다.
도 7은 본 발명의 실시 예에 따른 뉴로모픽 연산 장치를 보여주는 블록도이다. 뉴로모픽 연산 장치(1000)는 PWM 컨버터들(211~21n), 시냅스 회로들(311~318, 321~328, ~ ,3n1~3n8), 충전 및 방전 회로들(401~408), 비교기들(501~508), 오실레이터(OSC), 스위칭 회로(600), 카운터들(701~708), 및 합산기(800)를 포함할 수 있다.
뉴로모픽 연산 장치(1000)의 기본적인 구조는 앞서 도 1 내지 도 6을 통하여 설명된 뉴로모픽 연산 장치와 유사할 수 있다. 다만, 시냅스 회로들이 행과 열 방향을 따라 매트릭스 형태로 배치된다. 그리고 각각의 열마다 충전 및 방전 회로, 비교기, 스위치, 카운터가 배치된다.
PWM 컨버터들(211~21n) 각각은 시냅스 회로들(311~318, 321~328, ~ , 3n1~3n8)의 각각의 행마다 배치될 수 있다. 예를 들어, 제 1 PWM 컨버터(211)는 시냅스 회로들(310)에 연결될 수 있다. 제 2 PWM 컨버터(212)는 시냅스 회로들(320)에 연결될 수 있다. 다른 PWM 컨버터들도 이와 유사하게 배치될 수 있다.
PWM 컨버터들(211~21n)은 복수의 입력들(INPUT1~INPUTn)을 각각 수신하여 PWM 신호들(PWM1~PWMn)을 생성할 수 있다. 복수의 입력들(INPUT1~INPUTn)은 바이너리 값일 수 있으며, PWM 신호들(PWM1~PWMn)은 입력들(INPUT1~INPUTn)에 각각 대응하는 서로 다른 펄스 폭을 갖는 신호들일 수 있다. PWM 컨버터들(211~21n)은 제 1 인에이블 신호(EN1)에 의해 활성화될 수 있다.
시냅스 회로들(311~318, 321~328, ~ , 3n1~3n8)은 행과 열 방향을 따라 매트릭스 형태로 배치될 수 있다. 예를 들어, 제 1 행을 따라 시냅스 회로들(310)이 배치될 수 있으며, 제 2 행을 따라 시냅스 회로들(320)이 배치될 수 있다. 다른 시냅스 회로들도 유사하게 배치된다. 예시적으로, 시냅스 회로들은 n개의 행들과 8개의 열들로 배치되는 것으로 도시되었으나, 이에 한정되지 않는다.
제 1 행에 배치되는 시냅스 회로들(311~318)은 제 1 피승수와 제 1 승수에 대한 제 1 곱연산을 수행하도록 구성될 수 있다. 예를 들어, 시냅스 회로들(311~318) 각각은 제 1 피승수로써 제 1 PWM 신호(PWM1)를 수신할 수 있다.
시냅스 회로들(311~318)은 제 1 승수를 수신할 수 있다. 또는, 제 1 승수는 각각의 시냅스 회로에 미리 저장되어 있을 수 있다. 다만, 각각의 시냅스 회로는 제 1 승수 중 하나의 비트만을 수신할 수 있다. 예를 들어, 제 1 승수가 8비트의 바이너리 입력이라고 가정하면, 시냅스 회로(311)는 제 1 승수의 MSB (Most Significant Bit)를 저장할 수 있으며, 시냅스 회로(318)는 제 1 승수의 LSB (Least Significant Bit)를 저장할 수 있다. 시냅스 회로들(312~317)은 제 1 승수의 MSB와 LSB 사이의 나머지 비트들을 순차적으로 저장할 수 있다.
시냅스 회로들(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 피승수의 나머지 비트들에 대해 곱연산을 수행할 수 있다.
시냅스 회로들(311~318) 각각에 의해 수행된 곱연산의 결과는, 앞서 도 1 내지 도 6에서 설명된 것과 같이, 각각의 시냅스 회로로부터 출력되는 전류로 표현될 수 있다. 즉, 시냅스 회로들(311~318)에 의해 수행된 제 1 곱연산의 결과들은 충전 및 방전 회로들(401~408)에 각각 저장될 수 있다.
제 2 행에 배치되는 시냅스 회로들(321~328)은 제 2 피승수와 제 2 승수에 대한 제 2 곱연산을 수행하도록 구성될 수 있다. 예를 들어, 시냅스 회로들(321~328) 각각은 제 2 피승수로써 제 2 PWM 신호(PWM2)를 수신할 수 있다. 앞서 설명된 것과 유사하게, 시냅스 회로들(321~328) 각각은 제 2 승수를 구성하는 비트들 중 하나의 비트를 수신할 수 있다. 시냅스 회로들(321~328) 각각에 의해 수행된, 제 2 피승수와 제 2 승수의 부분 적(partial product)은 각각의 시냅스 회로로부터 출력되는 전류로 표현될 수 있으며, 충전 및 방전 회로들(401~408)에 각각 저장될 수 있다.
앞서 시냅스 회로들(311~318)에 의해 수행된 제 1 곱연산의 결과에 더하여, 시냅스 회로들(321~328)에 의해 수행된 제 2 곱연산의 결과가 충전 및 방전 회로들(401~408)에 더해지므로, 충전 및 방전 회로들(401~408)에 의한 합연산이 수행된다.
나머지 시냅스 회로들에 대해서도 유사하게 부분 적이 수행되며, 그 결과는 충전 및 방전 회로들(401~408)에 저장될 것이다.
이후, 방전 시의, 충전 및 방전 회로들(401~408)에 의한 방전, 비교기들(500)에 의한 전압 비교, 스위칭 회로(600)의 스위칭-온에 따른 카운터들(700)의 카운팅이 실행될 것이다. 이들의 동작들은 앞서 도 1 내지 도 6을 통하여 설명된 것들과 대체로 유사하다.
시냅스 회로들(311~318, 321~328, ~ , 3n1~3n8)에 의한 곱연산들의 결과들이 충전 및 방전 회로들(401~408)에 누적된 후, 제 1 인에이블 신호(EN1)는 비활성화될 것이다. 그리고, 제 2 인에이블 신호(EN2)는 활성화되어 충전 및 방전 회로들(401~408)에서의 방전이 일어날 것이다. 충전 및 방전 회로들(401~408)에 구비된 커패시터의 전압 레벨은 도 6에 도시된 것과 같이 선형적으로 감소할 것이다. 이러한 선형성은, 충전 및 방전 회로들(401~408)에 구비된 방전 전류원에 의한 것이다.
충전 및 방전 회로들(401~408)에서의 방전과 동시에, 제 2 인에이블 신호(EN2)에 의해 비교기들(500)이 활성화된다. 그 결과, 충전 및 방전 회로들(401~408) 각각에 구비된 커패시터 양단의 전압 레벨과 기준 전압(Vref)의 전압 레벨이 비교될 것이다. 비교기들(500)은 충전 및 방전 회로들(401~408) 각각에 구비된 커패시터 양단의 전압 레벨이 기준 전압(Vref)의 레벨보다 높은 구간에서 활성화되는 제 3 인에이블 신호(EN3)들을 생성할 수 있다.
스위칭 회로(600)를 구성하는 각각의 스위치는 제 3 인에이블 신호(EN3)들이 활성화되는 구간에서 스위칭-온 될 수 있다. 이때, 오실레이터(OSC)로부터 출력되는 펄스들 (또는 클럭들)은 카운터들(701~708)로 입력되어, 카운터들(701~708)에 의한 카운팅이 수행될 수 있다. 카운터들(701~708)에 의한 카운팅 결과들은 디지털 값으로써 출력될 것이다.
다만, 카운터들(701~708)로부터 출력되는 디지털 값들은, 승수와 피승수에 대해 수행된 부분 적(partial product)이 몇 번째 비트에 대한 연산인지가 고려되지 않은 것이다. 따라서, 온전한 연산 결과를 얻기 위해서는 카운터들(701~708)로부터 출력되는 디지털 값들에 대해 적절한 쉬프팅 (또는 레벨 쉬프팅)이 수행되어야 한다.
예를 들어, 카운터(701)로부터 출력되는 디지털 값은, 피승수들과, 승수들의 MSB들에 대한 부분 적을 합한 결과이다. 따라서, 카운터(701)로부터 출력되는 디지털 값에 대해 27(즉, 128)이 곱해져야 한다. 예를 들어, 카운터(708)로부터 출력되는 디지털 값은, 피승수들과, 승수들의 LSB들에 대한 부분 적을 합한 결과이다. 따라서, 카운터(708)로부터 출력되는 디지털 값에 대해 20(즉, 1)이 곱해져야 한다. 다른 카운터들(702~707)로부터 출력되는 디지털 값들에 대해서도 이와 유사하게 쉬프팅이 수행되어야 한다. 이러한 쉬프팅은, 예컨대, 레벨 쉬프터(미도시) 등에 의해 수행될 수 있다.
합산기(800)는 쉬프팅 된 디지털 값들을 더할 수 있으며, 합산 결과(OUTPUT)를 출력할 수 있다. 합산기(800)는 복수의 디지털 값들을 더하여 그 결과를 출력할 수 있는 다양한 논리 소자들로 구성될 수 있다.
이상 설명된 구성에 의하면, 방전 스위치, 방전 전류원, 커패시터로 구성되는 충전 및 방전 회로들(400), 비교기들(500), 스위칭 회로(600), 카운터들(700)과 같은 비교적 단순한 소자들로 구성된 아날로그 회로를 이용하여 뉴로모픽 연산 장치가 구현될 수 있다. 따라서, 회로의 구성이 단순해질 수 있으며, 제조 비용도 절감할 수 있다. 나아가, 충전 및 방전 회로들(400)에서 일어나는 충전과 방전의 선형성이 보장되기 때문에, 곱연산들에 대한 합연산의 결과가 정확하게 얻어질 수 있다.
위에서 설명한 내용은 본 발명을 실시하기 위한 구체적인 예들이다. 본 발명에는 위에서 설명한 실시 예들뿐만 아니라, 단순하게 설계 변경하거나 용이하게 변경할 수 있는 실시 예들도 포함될 것이다. 또한, 본 발명에는 위에서 설명한 실시 예들을 이용하여 앞으로 용이하게 변형하여 실시할 수 있는 기술들도 포함될 것이다.
100: 뉴로모픽 연산 장치
111~11n: PWM 컨버터들
121~12n: 시냅스 회로들
130: 충전 및 방전 회로
140: 비교기
150: 카운터

Claims (10)

  1. 제 1 PWM 신호와 제 1 가중치에 대해 제 1 곱연산을 수행하여 제 1 전류를 생성하도록 구성되는 제 1 시냅스 회로;
    제 2 PWM 신호와 제 2 가중치에 대해 제 2 곱연산을 수행하여 제 2 전류를 생성하도록 구성되는 제 2 시냅스 회로;
    충전 구간에서 상기 제 1 전류 및 상기 제 2 전류에 의한 전하들을 저장하고, 방전 구간에서 상기 전하들을 방전하도록 구성되는 충전 및 방전 회로;
    상기 방전 구간에서 상기 방전되는 전하들의 전압 레벨과, 기준 전압의 레벨을 비교하는 비교기; 그리고
    상기 비교기의 비교 결과에 기초하여, 오실레이터의 출력 펄스들을 카운팅하는 카운터를 포함하는 뉴로모픽 연산 장치.
  2. 제 1 항에 있어서,
    제 1 입력을 상기 제 1 PWM 신호로 변환하는 제 1 PWM 컨버터; 그리고
    제 2 입력을 상기 제 2 PWM 신호로 변환하는 제 2 PWM 컨버터를 더 포함하는 뉴로모픽 연산 장치.
  3. 제 1 항에 있어서,
    상기 제 1 시냅스 회로는:
    상기 제 1 PWM 신호와 상기 제 1 가중치에 대해 AND 연산을 수행하는 제 1 AND 게이트; 그리고
    상기 제 1 AND 게이트의 출력에 따라 상기 제 1 전류를 생성하는 제 1 충전 전류원을 포함하고,
    상기 제 2 시냅스 회로는:
    상기 제 2 PWM 신호와 상기 제 2 가중치에 대해 AND 연산을 수행하는 제 2 AND 게이트; 그리고
    상기 제 2 AND 게이트의 출력에 따라 상기 제 2 전류를 생성하는 제 2 충전 전류원을 포함하는 뉴로모픽 연산 장치.
  4. 제 3 항에 있어서,
    상기 제 1 충전 전류원은, 상기 제 1 전류에 의한 상기 충전 및 방전 회로의 전압 레벨이 선형적으로 증가하도록 구성되고,
    상기 제 2 충전 전류원은, 상기 제 2 전류에 의한 상기 충전 및 방전 회로의 전압 레벨이 선형적으로 증가하도록 구성되는 뉴로모픽 연산 장치.
  5. 제 1 항에 있어서,
    상기 충전 및 방전 회로는:
    상기 충전 구간에서 상기 전하들을 저장하는 커패시터; 그리고
    상기 방전 구간에서 상기 전하들에 의한 상기 커패시터의 전압 레벨을 선형적으로 감소시키도록 구성되는 방전 전류원을 포함하는 뉴로모픽 연산 장치.
  6. 제 1 항에 있어서,
    상기 비교기는 상기 방전되는 전하들의 상기 전압 레벨이 상기 기준 전압보다 큰 구간에서 활성화되는 인에이블 신호를 출력하는 뉴로모픽 연산 장치.
  7. 제 6 항에 있어서,
    상기 비교기는 상기 충전 및 방전 회로가 방전되는 구간에서 동작하는 차동 증폭기인 뉴로모픽 연산 장치.
  8. 제 7 항에 있어서,
    상기 카운터는 상기 인에이블 신호가 활성화되는 구간에서 상기 오실레이터의 출력 펄스들을 카운팅하는 뉴로모픽 연산 장치.
  9. 제 8 항에 있어서,
    상기 인에이블 신호의 활성화에 따라 스위칭-온 되어 상기 오실레이터와 상기 카운터를 연결하는 스위치를 더 포함하는 뉴로모픽 연산 장치.
  10. 제 1 항에 있어서,
    상기 카운터로부터 출력되는 디지털 값을 쉬프팅하는 레벨 쉬프터를 더 포함하는 뉴로모픽 연산 장치.
KR1020170086666A 2017-02-10 2017-07-07 뉴로모픽 연산 장치 KR102314300B1 (ko)

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
KR20170018852 2017-02-10
KR1020170018852 2017-02-10

Publications (2)

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

Family

ID=63453977

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170086666A KR102314300B1 (ko) 2017-02-10 2017-07-07 뉴로모픽 연산 장치

Country Status (1)

Country Link
KR (1) KR102314300B1 (ko)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020065881A1 (ja) * 2018-09-27 2020-04-02 Tdk株式会社 積和演算器、ニューロモーフィックデバイス及び積和演算方法
US10714185B2 (en) * 2018-10-24 2020-07-14 Micron Technology, Inc. Event counters for memory operations
KR102380584B1 (ko) 2019-07-04 2022-03-31 한국과학기술연구원 뉴로모픽 장치 및 그 장치에서 수행되는 가중치 갱신 방법
KR102355611B1 (ko) 2019-07-04 2022-01-27 한국과학기술연구원 뉴로모픽 장치의 스파이크 연산 방법
KR102402253B1 (ko) 2019-07-04 2022-05-27 한국과학기술연구원 멀티코어 뉴로모픽 장치 및 그 장치에서 수행되는 글로벌 라우팅 방법
KR102380970B1 (ko) 2019-07-04 2022-04-01 한국과학기술연구원 뉴로모픽 장치 및 그 장치에서 수행되는 시그널링 방법
KR102301041B1 (ko) 2019-07-04 2021-09-14 한국과학기술연구원 뉴로모픽 장치
KR102402255B1 (ko) 2019-07-04 2022-05-27 한국과학기술연구원 멀티코어 뉴로모픽 장치 및 그 장치에서 수행되는 글로벌 라우팅 방법
KR102355612B1 (ko) 2019-07-04 2022-01-27 한국과학기술연구원 뉴로모픽 장치 및 그 장치에서 수행되는 큐잉 방법
KR20210144417A (ko) 2020-05-22 2021-11-30 삼성전자주식회사 인-메모리 프로세싱을 수행하는 장치 및 이를 포함하는 컴퓨팅 장치
WO2022260413A1 (ko) * 2021-06-07 2022-12-15 건국대학교 산학협력단 펄스폭 기반 전류 영역 인-메모리 신경망 연산기의 천이 오차 교정 장치 및 방법
KR102521702B1 (ko) * 2021-11-04 2023-04-17 서울대학교산학협력단 뉴런 회로와 이의 동작 방법, 그리고, 뉴런 회로를 포함하는 뉴로모픽 장치

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101512370B1 (ko) 2014-01-16 2015-04-15 광주과학기술원 뉴로모픽 시스템 및 뉴로모픽 시스템의 동작방법
KR101596656B1 (ko) 2011-07-21 2016-02-23 퀄컴 인코포레이티드 오실레이션을 이용하는 강건한 뉴럴 시간적 코딩, 학습 및 메모리에 대한 셀 동원들의 방법 및 장치

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101596656B1 (ko) 2011-07-21 2016-02-23 퀄컴 인코포레이티드 오실레이션을 이용하는 강건한 뉴럴 시간적 코딩, 학습 및 메모리에 대한 셀 동원들의 방법 및 장치
KR101512370B1 (ko) 2014-01-16 2015-04-15 광주과학기술원 뉴로모픽 시스템 및 뉴로모픽 시스템의 동작방법

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

Also Published As

Publication number Publication date
KR20180093245A (ko) 2018-08-21

Similar Documents

Publication Publication Date Title
KR102314300B1 (ko) 뉴로모픽 연산 장치
US10438116B2 (en) Neuromorphic arithmetic device
US11615165B2 (en) Systems and methods for mapping matrix calculations to a matrix multiply accelerator
KR102313796B1 (ko) 뉴로모픽 연산 장치
US11640196B2 (en) Unit element for performing multiply-accumulate operations
KR102653822B1 (ko) 혼성 신호 컴퓨팅 시스템 및 방법
US11194886B2 (en) Bit-ordered binary-weighted multiplier-accumulator
KR102567449B1 (ko) 뉴로모픽 연산 장치 및 그것의 동작 방법
US11038520B1 (en) Analog-to-digital conversion with reconfigurable function mapping for neural networks activation function acceleration
KR102420362B1 (ko) 뉴로모픽 연산 장치
US11469770B2 (en) Architecture for multiplier accumulator using unit elements for multiplication, bias, accumulation, and analog to digital conversion over a shared charge transfer bus
US11204740B2 (en) Neuromorphic arithmetic device and operating method thereof
US11476866B2 (en) Successive approximation register using switched unit elements
US20220244913A1 (en) Layout Structure for Shared Analog Bus in Unit Element Multiplier
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
KR102574426B1 (ko) 기계학습 알고리즘을 처리하는 mac 연산 장치 및 방법
US11321050B1 (en) Method and system for analog computing with sub-binary radix weight representation
US20220385301A1 (en) Architecture for Analog Multiplier-Accumulator with Binary Weighted Charge Transfer Capacitors
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