KR20190107143A - 혼합-신호 연산 시스템 및 방법 - Google Patents

혼합-신호 연산 시스템 및 방법 Download PDF

Info

Publication number
KR20190107143A
KR20190107143A KR1020197025728A KR20197025728A KR20190107143A KR 20190107143 A KR20190107143 A KR 20190107143A KR 1020197025728 A KR1020197025728 A KR 1020197025728A KR 20197025728 A KR20197025728 A KR 20197025728A KR 20190107143 A KR20190107143 A KR 20190107143A
Authority
KR
South Korea
Prior art keywords
current
summing node
circuit
node
differential
Prior art date
Application number
KR1020197025728A
Other languages
English (en)
Other versions
KR102542532B1 (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 더 리젠츠 오브 더 유니버시티 오브 미시건
Publication of KR20190107143A publication Critical patent/KR20190107143A/ko
Application granted granted Critical
Publication of KR102542532B1 publication Critical patent/KR102542532B1/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/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • 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
    • G06JHYBRID COMPUTING ARRANGEMENTS
    • G06J1/00Hybrid computing arrangements
    • 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
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K5/00Manipulating of pulses not covered by one of the other main groups of this subclass
    • H03K5/22Circuits having more than one input and one output for comparing pulses or pulse trains with each other according to input signal characteristics, e.g. slope, integral
    • H03K5/24Circuits having more than one input and one output for comparing pulses or pulse trains with each other according to input signal characteristics, e.g. slope, integral the characteristic being amplitude

Landscapes

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

Abstract

가중치 합 연산을 수행하기 위한 집적 회로 및 방법이 제공된다. 회로는 상호 연결되고 쌍으로 배열된 복수의 전류 생성기, 포지티브 합산 노드, 네거티브 합산 노드, 및 입력 생성 회로를 포함한다. 각 쌍의 전류 생성기의 경우, 각 소자의 제어 단자는 입력 노드에 전기적으로 연결된다. 전류 생성기 중 하나는 포지티브 합산 노드에 연결된 드레인을 포함하고, 다른 전류 생성 소자는 네거티브 합산 노드에 연결되는 드레인을 포함한다. 두 전류 발생기의 나머지 단자는 레퍼런스에 연결되며 공유될 수 있다. 각 쌍의 전류 생성기는 입력 노드가 활성화 전압에 해당하고, 2개의 합산 노드가 미리 정해진 목표 전압에 해당하는 경우에, 2개의 합산 노드에 미리 정해진 크기의 전류를 공급한다.

Description

혼합-신호 연산 시스템 및 방법
본 출원은 2017년 2월 7일에 출원된 미국 출원번호 제62/455,703호를 우선권으로 주장한다. 위 출원의 전체 개시내용은 참고사항으로서 여기에 결합된다.
본 발명은 공군연구소에서 발급된 계약 번호 FA8650-14-C-1805 에 따라 정부 지원을 받아서 이루어졌다. 정부는 본 발명에 대한 일정한 권리를 가진다.
여기에서 본 개시는 일반적으로 집적 회로 아키텍처 분야에 관한 것으로서, 보다 구체적으로는 집적 회로 아키텍처 분야에서 새롭고 유용한 혼합 신호 집적 회로 및 혼합 신호 연산 방법에 관한 것이다.
오늘날, 인공 지능 및 머신 러닝에 관한 다양한 구현 기술이 많은 기술 분야에서 혁신을 주도하고 있다. 인공 지능 (AI) 시스템 및 인공 지능 모델 (알고리듬을 포함)은 머신 러닝 (딥 러닝), 논증, 추론 능력 및 머신 (예컨대, 컴퓨터 및/또는 컴퓨팅 서버)의 빅데이터 처리를 가능하게 하는 많은 시스템 아키텍처와 모델에 의해 정의된다. 이러한 AI 시스템과 모델은 자연어 처리, 이미지 인식, 기획, 의사 결정 등과 같이 하나 이상의 특정한 작업을 수행하기 위한 학습이 집약적으로 이루어진다. 예를 들어, 이러한 AI 시스템과 모델의 하위 집합에는 인공 신경망 모델이 포함된다. 많은 경우에, 인공 신경망 모델에 대한 학습은 사용에 앞서 신경망 알고리듬에 관한 미세 조정을 위해서, 수천 시간의 학습 사이클과 수 테라 바이트의 학습 데이터가 요구될 수 있다.
그러나, 일단 학습이 이루어지면, 신경망 모델이나 알고리듬은 신속하게 추론을 진행하기 위해서, 학습 사이클 동안에 사용된 방대한 학습 데이터 집합과 비교해서 상대적으로 적은 데이터 집합을 기초로 특정 작업 (예를 들어, 음성 입력 데이터에서 음성 인식 등)을 수행하도록 구성될 수 있다. 상대적으로 적은 데이터 집합에 기초해서 신경망 모델이나 알고리듬이 수행하는 추론은 신경망 모델이 산출한 결과가 정확한 답변이나 상황에 대한 지시에 해당하는지에 대한 예측이 될 수 있다.
하나 이상의 신경망 알고리듬을 구현하는 신경망 모델은 학습 과정에서 요구되는 정도와 동일한 정도의 연산 자원을 필요로 하지는 않겠지만, 여전히 현지에 배치된 신경망 모델은 데이터를 분류하고 결과를 추론하거나 예측할 수 있는 정도의 상당한 회로 공간, 에너지, 및 연산 능력을 지속적으로 필요로 한다. 예를 들어, 가중치 합의 연산은 신경망 어플리케이션을 포함하여, 패턴 매칭 및 머신 러닝 어플리케이션에 일반적으로 사용된다. 가중치 합을 연산하는데 있어서, 집적 회로는 입력 집합 (xi)에 가중치 집합 (wi)을 곱하고, 각 곱셈 연산의 결과를 합산하여 최종 결과 (z)를 계산하는 기능을 할 수 있다. 그러나, 머신 러닝 어플리케이션에서 가중치 합을 연산하는 경우에는 일반적으로 수백 또는 수천 개의 가중치를 포함하기 때문에, 종래의 디지털 회로로 가중치 합을 연산하는 경우에는 계산에 따른 비용이 많이 소요된다. 특히, 디지털 메모리로부터 수백 또는 수천 개의 가중치에 억세스하는 경우에는 상당한 계산 시간 (즉, 시간지연이 증가) 및 상당한 에너지를 소모하게 된다.
따라서, 신경망 모델 등에서 가중치 합을 연산하는데 있어서 종래의 디지털 회로를 사용하는 경우에는 신경망 모델에 필요한 수십만 개의 가중치를 저장하기 위해서 필요한 수 많은 디지털 메모리 회로를 수용할 수 있도록 크기가 커지게 된다. 이처럼 회로의 크기가 커지면, 수 많은 종래의 컴퓨터 및 회로의 연산 성능을 위해서 보다 많은 에너지가 필요하게 된다.
또한, 인공 지능 모델과 신경망 모델을 구현하기 위한 종래의 컴퓨터와 회로는 분산 컴퓨팅 시스템 (예를 들어, 클라우드)과 같은 원격 컴퓨팅 프로세스나 수 많은 온사이트 컴퓨팅 서버를 사용하는 경우에 적합할 수 있다. 그러나, 이러한 원격 인공 지능 프로세싱 시스템은 원격지에 있는 에지 컴퓨팅 디바이스 또는 현지의 디바이스를 대상으로 추론을 연산하는 경우에 시간지연의 문제가 나타낸다. 즉, 이러한 종래의 원격 시스템에서 원격지 디바이스가 추론을 진행하도록 신경망 모델을 구현하는 경우에, 입력 데이터는 대역폭이 변동되는 네트워크를 통해 전송되어야 하고, 이후에 원격 컴퓨팅 시스템에서 생성된 추론은 동일하거나 유사한 네트워크를 통해 다시 원격지 디바이스로 전송되어야 하기 때문에, 원격지 디바이스로부터 입력 데이터를 수신하는 과정에서 지연이 발생하는 것은 피할 수가 없다.
현지 수준에서 (예를 들어, 원격지 디바이스가 있는 지역에) AI 프로세싱 시스템을 구현하는 것은 시간지연의 문제를 일부 해결할 수 있는 하나의 해결책이 될 수 있다. 그러나, 에지 디바이스 (예를 들어, 원격지 디바이스)에 이러한 종래의 AI 컴퓨터 및 시스템 중 일부를 구현하는 경우에는 위에서 언급된 바와 같이, 데이터 처리 및 추론에 사용되는 컴퓨팅 시스템의 구조가 복잡해 지기 때문에, 상당한 양의 에너지를 소비하는 수 많은 회로로 인해 시스템의 부피가 증가하게 된다. 따라서, 추가적인 개선이 없는 이러한 제안은 실현 가능하지도 않고, 현재의 기술로 유지할 수도 없다.
따라서, 현지 (예를 들어, 로컬 AI) 에 인공 지능 모델을 국지적으로 구현하되, 바람직하게는 크기와 부피가 큰 (에지) 디바이스를 사용하지 않으면서도 시간지연을 줄이고, 실시간 또는 거의 실시간으로 예측이나 추론을 수행하는데 필요한 연산 능력을 가지면서도 에너지 효율성이 높은 활용 가능한 시스템이 요구된다.
이하에서 기술되는 본 출원의 실시예들은 AI 및 머신 러닝을 구현하기 위한 종래의 시스템 및 집적 회로 아키텍처의 결함을 해소할 수 있는 개선되고 개량된 집적 회로 및 구현 기술을 제공한다.
여기에서는 본 개시의 일반적인 요약을 제시하되, 전체 범위 또는 모든 특징을 포괄적으로 개시하는 것은 아니다.
일 실시예에서, 가중치 합 연산을 수행하는 혼합-신호 회로는 쌍으로 배열되는 복수의 프로그램 가능한 전류 공급원 - 각 쌍의 프로그램 가능한 전류 공급원 중에서 제 1 프로그램 가능한 전류 공급원은 포지티브 가중치를 나타내는 값을 저장하도록 구성되고, 각 쌍의 프로그램 가능한 전류 공급원 중에서 제 2 프로그램 가능한 전류 공급원은 네거티브 가중치를 나타내는 값을 저장하도록 구성되며, 각각의 프로그램 가능한 전류 공급원은 입력 단자 및 출력 단자를 가지고, 제 1 프로그램 가능한 전류 공급원의 출력 단자들은 포지티브 합산 노드에 전기적으로 결합되고, 제 2 프로그램 가능한 전류 공급원의 출력 단자들은 네거티브 합산 노드에 전기적으로 결합됨; 상기 포지티브 합산 노드와 상기 네거티브 합산 노드에 전기적으로 결합되며, 상기 포지티브 합산 노드와 상기 네거티브 합산 노드 각각에 전류를 공급하도록 동작하는 차동 전류 회로 - 여기에서, 상기 포지티브 합산 노드에 공급되는 전류와 상기 네거티브 합산 노드에 공급되는 전류는 차이가 존재함; 및 상기 차동 전류 회로와 상기 비교 회로에 인터페이스되는 컨트롤러 - 여기에서, 상기 컨트롤러는 상기 차동 전류 회로와 상호 작용함으로써 상기 포지티브 합산 노드에 공급되는 전류와 상기 네거티브 합산 노드에 공급되는 전류 간 차이의 크기를 변경함; 를 포함한다.
일 실시예에서, 상기 혼합-신호 회로의 컨트롤러는 상기 비교 회로에서 출력되는 신호를 수신하고, 상기 포지티브 합산 노드와 상기 네거티브 합산 노드의 전압이 동일함을 나타내는 신호에 의해서, 상기 포지티브 합산 노드에 공급된 전류와 상기 네거티브 합산 노드에 공급된 전류 사이의 차이를 기록한다.
일 실시예에서, 상기 혼합-신호 회로의 컨트롤러는 상기 차동 전류 회로와의 상호 작용을 통해서 일정 범위의 값 내에서 상기 차이의 크기를 스윕하되, 상기 일정 범위의 값은 최대 네거티브 값과 최대 포지티브 값 사이에서 정의된다.
일 실시예에서, 상기 혼합-신호 회로는 상기 포지티브 합산 노드와 상기 네거티브 합산 노드에 전기적으로 결합된 공통-모드 전류 회로를 더 포함하되, 상기 공통-모드 전류 회로는 상기 포지티브 합산 노드와 상기 네거티브 합산 노드의 전압 평균을 결정하고, 상기 포지티브 합산 노드와 상기 네거티브 합산 노드 각각에 전류를 공급함으로써, 상기 평균이 목표 전압을 유지하고, 상기 포지티브 합산 노드와 상기 네거티브 합산 노드에 공급되는 전류의 크기가 동일하도록 한다.
일 실시예에서, 상기 혼합-신호 회로의 프로그램 가능한 전류 각각은 하나 이상의 플로팅-게이트 트랜지스터로 정의되며, 상기 하나 이상의 플로팅-게이트 트랜지스터의 제어 단자는 상기 입력 회로에 전기적으로 결합되고, 상기 하나 이상의 플로팅-게이트 트랜지스터의 드레인 단자는 각 합산 노드에 전기적으로 결합되며, 상기 하나 이상의 플로팅-게이트 트랜지스터의 소스 단자는 접지에 전기적으로 결합된다.
일 실시예에서, 상기 프로그램 가능한 전류 공급원 각각은 멤리스터로 정의된다.
일 실시예에서, 상기 혼합-신호 회로의 비교 회로는 연산 증폭기 또는 재생 래치 (또는 재생 증폭기)를 포함한다.
일 실시예에서, 상기 혼합-신호 회로는 상기 포지티브 합산 노드와 상기 네거티브 합산 노드 사이에 전기적으로 결합되는 저항을 더 포함한다.
일 실시예에서, 집적 회로는 쌍으로 이루어진 복수의 전류 공급원, - 여기에서 쌍으로 이루어진 복수의 전류 공급원 각각에서 제 1 전류 공급원과 제 2 전류 공급원은 전기적 통신에 의해 배열되고, 상기 제 1 전류 공급원과 상기 제 2 전류 공급원 각각은 드레인 단자와 소스 단자를 포함하며, 여기에서 쌍으로 이루어진 복수의 전류 공급원 각각은 입력 단자와 전기적 통신에 의해 배열되는 제어 단자를 포함함; 제 1 전류 합산 노드와 제 2 전류 합산 노드를 포함하는 한 쌍의 전류 합산 노드; 여기에서, 상기 쌍으로 이루어진 복수의 전류 공급원 각각에서 상기 제 1 전류 공급원 및 상기 제 2 전류 공급원 각각의 소스 단자는 접지에 연결되고; 상기 쌍으로 이루어진 복수의 전류 공급원 각각에서 상기 제 1 전류 공급원의 상기 드레인 단자는 상기 제 1 전류 합산 노드와 전기적 통신에 의해 배열되고, 상기 쌍으로 이루어진 복수의 전류 공급원 각각에서 상기 제 2 전류 공급원의 상기 드레인 단자는 상기 제 2 전류 합산 노드와 전기적 통신에 의해 배열되며; 차동 전류 컨트롤러와 2개의 차동 전류 공급원을 포함하는 차동 전류 회로, 여기에서 상기 차동 전류 컨트롤러는 상기 2개의 차동 전류 공급원과의 통신을 제어하도록 동작하고, 여기에서 상기 2개의 차동 전류 공급원 각각은 상기 제 1 전류 합산 노드 및 상기 제 2 전류 합산 노드 중 하나와 전기적 통신에 의해 배열됨; 공통-모드 전류 컨트롤러와 2개의 공통 전류 공급원을 포함하는 공통-모드 전류 회로, 여기에서 상기 공통-모드 전류 컨트롤러는 상기 2개의 공통 전류 공급원과의 통신을 제어하도록 동작하고, 여기에서 상기 2개의 공통 전류 공급원 각각은 상기 제 1 전류 합산 노드 및 상기 제 2 전류 합산 노드 중 하나와 전기적 통신에 의해 배열됨; 및 상기 제 1 전류 합산 노드 및 상기 제 2 전류 합산 노드의 단자 끝에서 전기적으로 통신하는 비교기 회로;를 포함한다.
일 실시예에서, 상기 집적 회로의 상기 입력 노드는 상기 쌍으로 이루어진 복수의 전류 공급원 각각의 상기 제어 단자에 전압 입력 신호를 공급하고, 전압 입력 신호에 응답하여, 상기 쌍으로 이루어진 복수의 전류 공급원 각각은 2 개의 차동 전류를 생성하되, 상기 쌍으로 이루어진 복수의 전류 공급원 각각에서 생성되는 상기 2 개의 차동 전류 사이의 차이 값은 가변되고, 상기 쌍으로 이루어진 복수의 전류 공급원 각각에서 생성되는 상기 2개의 차동 전류 각각은 상기 제 1 합산 노드 및 상기 제 2 합산 노드 중 하나로 공급된다.
일 실시예에서, 상기 집적 회로의 상기 공통-모드 전류 회로는 상기 제 1 전류 합산 노드 및 상기 제 2 전류 합산 노드의 평균 전압 값을 식별하고, 상기 제 1 전류 합산 노드 및 상기 제 2 전류 합산 노드의 평균 전압 값 식별에 따라, 상기 공통-모드 컨트롤러는 2개의 공통 전류 신호를 생성하고, 상기 2개의 공통 전류 신호 중에서 제 1 공통 전류 신호와 제 2 공통 전류 신호를 상기 제 1 전류 합산 노드 및 상기 제 2 전류 합산 노드에 각각 공급함으로써, 상기 제 1 전류 합산 노드 및 상기 제 2 전류 합산 노드의 평균 전압 값을 미리 정해진 목표 전압으로 설정하되, 상기 2개의 공통 전류 신호의 크기와 방향은 동일하다.
일 실시예에서, 상기 집적 회로의 상기 차동 전류 컨트롤러는 상기 2개의 차동 전류 공급원이 미리 정해진 동일 크기와 반대 방향을 가지는 미리 정해진 2개의 차동 전류 신호를 생성하도록 하고, 상기 차동 전류 회로는 상기 미리 정해진 2개의 차동 전류 중에서 제 1 차동 전류와 제 2 차동 전류를 상기 제 1 전류 합산 노드 및 상기 제 2 전류 합산 노드에 각각 공급한다.
일 실시예에서, 상기 집적 회로의 상기 비교기 회로는 상기 제 1 전류 합산 노드로부터 공급된 전체 합산 전류와 상기 제 2 전류 합산 노드로부터 공급된 전체 합산 전류를 비교하고; 상기 비교기 회로는 상기 제 1 전류 합산 노드로부터 공급된 전체 합산 전류와 상기 제 2 전류 합산 노드로부터 공급된 전체 합산 전류가 동일한 경우에 지표를 출력한다.
일 실시예에서, 상기 집적 회로의 상기 비교기 회로는 상기 제 1 전류 합산 노드로부터 공급된 전체 합산 전류와 상기 제 2 전류 합산 노드로부터 공급된 전체 합산 전류를 비교하고; 상기 비교기 회로는 상기 제 1 전류 합산 노드로부터 공급된 전체 합산 전류와 상기 제 2 전류 합산 노드로부터 공급된 전체 합산 전류가 동일한 경우에, 상기 차동 전류 회로로부터 공급되는 상기 차동 전류 신호의 값을 기록한다.
일 실시예에서, 상기 집적 회로는 상기 차동 전류 회로로부터 공급되는 상기 차동 전류 신호의 값을 디지털 출력으로 변환한다.
일 실시예에서, 상기 집적 회로의 상기 쌍으로 이루어진 복수의 전류 공급원 각각에서 상기 제 1 전류 공급원 및 상기 제 2 전류 공급원은 미리 정해진 머신 러닝 모델의 가중치에 따라 미리 프로그램된 프로그램 가능한 전류 생성기를 포함한다.
일 실시예에서, 상기 집적 회로의 상기 제 1 합산 노드는 상기 쌍으로 이루어진 복수의 전류 공급원 각각에서 상기 제 1 전류 공급원으로부터 공급되는 포지티브 전류 신호를 합산하도록 구성되고; 상기 제 2 합산 노드는 상기 쌍으로 이루어진 복수의 전류 공급원 각각에서 상기 제 2 전류 공급원으로부터 공급되는 네거티브 전류 신호를 합산하도록 구성된다.
일 실시예에서, 상기 집적 회로의 상기 차동 전류 회로는 최대 네거티브 전류 값에서 최대 포지티브 전류 값 사이의 범위에 해당하는 미리 정해진 전류 신호 값의 집합을 기초로, 상기 제 1 전류 합산 노드 및 상기 제 2 전류 합산 노드로 복수의 미리 정해진 전류 신호를 공급한다.
일 실시예에서, 집적 회로의 이용 방법은 쌍으로 이루어진 복수의 전류 공급원 각각의 제어 단자에 전압 입력 신호를 인가하는 단계; 상기 전압 입력 신호에 따라, 상기 상으로 이루어진 복수의 전류 공급원 각각에서 2개의 차동 전류를 생성하는 단계, 여기에서 상기 쌍으로 이루어진 복수의 전류 공급원 각각에서 생성되는 상기 2 개의 차동 전류 사이의 차이 값은 가변되고, 상기 쌍으로 이루어진 복수의 전류 공급원 각각에서 생성되는 상기 2개의 차동 전류 각각은 제 1 합산 노드 및 제 2 합산 노드 중 하나로 공급됨; 상기 제 1 전류 합산 노드 및 상기 제 2 전류 합산 노드의 평균 전압 값을 식별하는 단계; 상기 제 1 전류 합산 노드 및 상기 제 2 전류 합산 노드의 평균 전압 값 식별에 따라, 2개의 공통 전류 신호를 생성하고, 상기 2개의 공통 전류 신호 중에서 제 1 공통 전류 신호와 제 2 공통 전류 신호를 상기 제 1 전류 합산 노드 및 상기 제 2 전류 합산 노드에 각각 공급함으로써, 상기 제 1 전류 합산 노드 및 상기 제 2 전류 합산 노드의 평균 전압 값을 미리 정해진 목표 전압으로 설정하는 단계, 여기에서, 상기 2개의 공통 전류 신호의 크기와 방향은 동일함; 동일한 크기와 반대 방향을 가지는 미리 정해진 2개의 차동 전류 신호를 생성하는 단계; 상기 미리 정해진 2개의 차동 전류 중에서 제 1 차동 전류 및 제 2 차동 전류를 상기 제 1 전류 합산 노드 및 상기 제 2 전류 합산 노드에 각각 공급하는 단계; 상기 제 1 전류 합산 노드로부터 공급되는 전체 합산 전류와 상기 제 2 전류 합산 노드로부터 공급되는 전체 합산 전류를 비교하는 단계; 및 상기 제 1 전류 합산 노드로부터 공급된 전체 합산 전류와 상기 제 2 전류 합산 노드로부터 공급된 전체 합산 전류가 동일한 경우에 지표를 출력하는 단계를 포함한다.
추가적인 적용 분야는 여기에서 개시된 설명으로부터 명백해질 것이다. 본 요약의 설명 및 특정 실시예는 단지 예시의 목적을 위한 것이며, 본 개시의 범위를 제한하려는 것이 아니다.
여기에서 도시된 도면은 단지 선택된 실시예만을 예시하기 위한 것으로서 구현 가능한 모든 경우에 해당하는 것이 아니며, 본 개시의 범위를 제한하려는 의도가 아니다.
도 1은 본 출원의 하나 이상의 실시예에 따른 집적 회로 (100)의 구조를 나타낸 도면이고;
도 2는 본 출원의 하나 이상의 실시예에 따른 집적 회로를 사용하여 가중치 합을 연산하는 방법을 나타낸 도면이고;
도 3은 본 출원의 하나 이상의 실시예에 따른 집적 회로의 제 2 의 개략적 구조를 나타낸 도면이고;
도 4는 본 출원의 하나 이상의 실시예에 따른 집적 회로의 제 3 의 개략적 구조를 나타낸 도면이고;
도 5는 본 출원의 하나 이상의 실시예에 따른 집적 회로의 제 4 의 개략적 구조를 나타낸 도면이고;
도 6은 본 출원의 하나 이상의 실시예에 따른 집적 회로의 제 5 의 개략적 구조를 나타낸 도면이고;
도 7은 본 출원의 하나 이상의 실시예에 따른 집적 회로의 제 6 의 개략적 구조를 나타낸 도면이고;
도 8은 본 출원의 하나 이상의 실시예에 따른 집적 회로의 제 7 의 개략적 구조를 나타낸 도면이고;
도 9는 본 출원의 하나 이상의 실시예에 따른 집적 회로의 제 8 의 개략적 구조를 나타낸 도면이고;
도 10은 본 출원의 하나 이상의 실시예에 따른 집적 회로에서 차동 전류 회로의 동작을 나타낸 도면이고;
도 11은 본 출원의 하나 이상의 실시예에 따른 집적 회로로 구현한 다단계 디지털 입력을 나타낸 도면이고;
도 12는 본 출원의 하나 이상의 실시예에 따른 집적 회로로 구현한 다양한 다단계 디지털 입력을 나타낸 도면이고;
도 13은 본 출원의 하나 이상의 실시예에 따른 집적 회로에서 차동 전류 회로의 가변 동작을 나타낸 도면이고;
도 14는 본 출원의 하나 이상의 실시예에 따른 집적 회로에서 차동 전류 회로의 또 다른 가변 동작을 나타낸 도면이고;
도 15는 본 출원의 하나 이상의 실시예에 따른 집적 회로에서 프로그램 가능한 전류 공급원의 예시를 나타낸 도면이며;
도 16a 내지 16c는 본 출원의 하나 이상의 실시예에 따른 공통-모드 회로로 구현한 보상 회로의 예시를 나타낸 도면이다.
대응되는 참조 번호는 복수의 도면에서 해당하는 부분을 나타낸다.
본 출원의 바람직한 실시예에 따른 아래의 설명은 본 발명을 바람직한 실시예로 제한하고자 하는 의도가 아니며, 해당 기술분야의 당업자가 본 발명을 생산하고 사용할 수 있도록 하는데 있는 것이다.
연산 집약적인 프로그램 또는 어플리케이션 (예를 들어, 심층 신경망 알고리듬) 과 같은 것을 구현하는데 사용되는 종래의 집적 회로의 경우, 전형적인 집적 회로 (IC) 아키텍처는 동작 및 연산을 수행하기 위해서는 상대적으로 넓은 면적과 많은 전력이 요구되는 대형 회로를 이용하게 된다. 이는 디지털 신호 (예를 들어, 2진 신호) 를 처리하는데 있어서, 넓은 면적에 전력 소모가 많은 회로로 구현되는 경우가 많기 때문이다. 따라서, 인공 지능 모델과 같은 연산 집약적인 프로그램을 다양한 기술로 구현하는 경우에, 디지털 신호를 처리하기 위하여 이러한 대형 회로를 포함하는 컴퓨터 IC 역시 부피가 커지므로, 그로 인해 공간에 제약이 있는 에지 디바이스 등에 적용하기에는 실현 가능성이 낮다.
또한, 신경망 모델과 같은 연산 집약적인 어플리케이션을 구현하는 경우에 집적 회로가 수행하는 연산의 대부분은 수 천 내지 수 백만의 행렬 곱셈 과정을 포함하게 된다. 또한, 신경망 모델에 대한 디지털 신호 처리 과정에서, 두 수의 곱셈을 계산한 후에 곱셈을 누적해서 가산하는 곱셈 누적 연산도 함께 이루어진다. 따라서, 신경망 모델이 단순히 디지털 회로 위주로 구현되는 경우에, 그에 따른 디지털 회로는 연산을 수행하고, 뉴런의 가중치 계수 및 곱셈 누적 연산의 결과 값을 저장하는데 많은 에너지를 소비하게 된다.
연산에 소요되는 전력 및 연산 집약적인 프로세스를 수행할 수 있는 집적 회로의 전체 크기를 감소시키기 위한 기술적인 해결책으로서, 공간 및 에너지 효율성을 위한 집적 회로의 다양한 회로와 함께 최대의 공간 효율성을 가지는 디지털-아날로그 변환기 (DACs) (기본적으로 대용량 또는 공간-집약적인 일반 DACs 대신에) 를 이용하여 구현할 수 있는 혼합 신호 연산 아키텍처를 제공한다. DAC 아키텍처를 이용한 종래의 구현 방법이 집적 회로에 소요되는 에너지 및 전체 크기를 감소시키는데 유용할 수는 있지만, DAC 아키텍처를 이용한 종래의 구현 방법은 연산 집약적인 AI 프로그램 및 어플리케이션을 처리하는데 많은 수의 DAC 가 필요하기 때문에, 실현이 어려울 수 있다.
그러나, 본 출원의 실시예들은 하나 이상의 아날로그-디지털 변환기와 통신을 통해 동작 가능한 글로벌 (기준 신호원) DAC를 다양한 형태로 구현함으로써, 적어도 위에서 언급한 기술적 문제를 해결한다.
따라서, 가중치 합을 연산하는 집적 회로가 제공된다. 바람직하게, 집적 회로는 쌍으로 상호 접속되고 배열되는 복수의 전류 생성 소자, 포지티브 합산 노드, 네거티브 합산 노드, 및 입력 생성 회로를 포함한다. 각 쌍의 전류 생성 소자의 경우, 각 소자의 입력 단자는 입력 생성 회로에 전기적으로 연결된다. 각 전류 생성 소자는 입력 단자와 출력 단자를 포함한다. 일 실시예에서, 전류 생성 소자는 멤리스터 (memristor) 또는 이와 유사한 2 개의 단자로 이루어진 디바이스일 수 있다. 본 실시예에서, 멤리스터의 입력 단자는 입력 생성 회로에 결합되고, 출력 단자는 합산 노드 중 하나에 결합된다. 다른 실시예에서, 전류 생성 소자는 플로팅-게이트 트랜지스터 또는 이와 유사한 3 개의 단자로 이루어진 디바이스일 수 있다. 본 실시예에서, 해당 디바이스의 제어 단자는 입력으로서 동작하고 입력 생성 회로에 연결되는 반면, 소스 단자 또는 드레인 단자 중 하나는 출력으로서 동작하고, 합산 노드 중 하나에 결합된다. 입력 노드가 활성화 전압에 해당하고, 두 개의 합산 노드가 미리 정해진 목표 전압에 해당하는 경우, 각 쌍의 전류 생성 소자는 두 개의 합산 노드에 미리 정해진 크기의 전류를 공급한다. 여기에서 언급된 활성화 전압은 프로그램 가능한 전류 공급원으로부터 공급된 전류가 전압에 따라 증가하기 시작하는 전압 값과 관련된다. 따라서, 활성화 전압은 프로그램 가능한 전류 공급원이 검출 가능한 전류 신호를 생성하도록 하는 전압 값과 관련될 수 있다. 이와 같이 공급된 2 개의 전류 차이는 소정의 값을 나타내며, 그 값은 복수의 전류 생성 소자 쌍들마다 달라진다. 각 쌍은 동일한 두 개의 합산 노드에 전기적으로 연결되기 때문에, 이들 전류는 자연스럽게 두 노드에서 합쳐지고, 두 노드 사이의 전체 전류 차이는 각 쌍에서의 값을 합한 것과 같아진다.
이러한 목적을 달성하기 위해서, 집적 회로는 공통-모드 전류 생성 회로, 차동 전류 생성 회로, 및 비교 회로를 포함한다. 공통-모드 전류 회로는 2 개의 합산 노드에 대한 평균 전압을 측정하고, 평균 전압이 목표 전압과 같아지도록 각 노드에 동일한 전류를 출력한다. 차동 전류 회로는 크기는 같지만 방향이 반대인 공지된 교류 전류를 각 라인에 출력한다. 여기에서 논의하는 바와 같이, 차동 전류 회로는 동일한 크기 (즉, 동일 부호) 또는 반대 방향 (예를 들어, 상이한 부호) 으로 변하는 교류 전류를 각 라인에 출력하는 기능을 추가적으로 또는 선택적으로 수행할 수 있다. 비교 회로는 전압이 높은 합산 라인을 나타내는 신호를 출력한다. 비교 출력 회로가 변경되는 경우, 두 개의 합산 노드가 순간적으로 목표 전압에 도달해서 (예를 들어, 교차), 차동 전류 회로에서 생성된 전류가 합산 값과 동일하게 되었으며, 그 결과 차동 전류의 값을 기록할 수 있음을 알 수 있다.
따라서, DAC 아키텍처 공간을 축소하고, 에지 연산 디바이스 등이 입력 데이터가 공급되는 곳에서 국지적으로 AI 연산을 수행함으로써, 복잡하고 컴퓨터 집약적인 연산을 수행할 수 있도록 하여 컴퓨터 및 전력 효율성을 달성할 수 있다.
1. 혼합-신호 연산 시스템
도 1에 도시된 바와 같이, 연산 집약적인 프로그램 및/또는 어플리케이션을 위한 혼합 신호 연산을 구현하기 위한 집적 회로 (100)는 입력 회로 (110), 복수의 프로그램 가능한 전류 공급원 (120), 제 1 합산 노드 (130), 제 2 합산 노드 (140), 및 판독 회로 (150)를 포함한다. 바람직하게, 판독 회로 (150)는 차동 전류 회로 (151) 및 공통-모드 전류 회로 (156)를 포함한다.
집적 회로 (100)는 전류 생성 소자에 연산 가중치 또는 유사 계수를 미리 저장하고, 전류 생성 소자를 통해 입력에 따른 전류 값을 생성함으로써, (디지털 도메인이 아닌) 아날로그 도메인에서 연산 집약적인 어플리케이션이나 프로그램에 대한 가중치 합의 연산을 처리하도록 동작하는 것이 바람직하며, 혼합 신호 회로는 전류 생성 소자에서 생성된 전류 값의 가중치 합 연산에 기초해서 출력 코드 (예를 들어, 디지털 출력)를 식별하도록 구현될 수 있다.
입력 (생성) 회로 (110)는 하나 이상의 프로그램 가능한 전류 공급원 (120)의 어레이에 입력 신호를 제공하도록 동작하는 것이 바람직하다. 일부 실시예에서, 입력 회로 (110)는 복수의 프로그램 가능한 전류 공급원 (120)에 입력 신호의 집합을 생성 및/또는 제공하도록 구성된다. 입력 회로는 하나 이상의 입력 신호원으로부터 디지털 (예를 들어, 이진수) 입력 신호 또는 아날로그 입력 신호를 수신하도록 동작할 수 있다. 하나 이상의 입력 신호원은 입력 회로 (110), 외부 입력 센서 (예를 들어, 카메라 등), 스위치, 오프-칩 디바이스나 회로 (예를 들어, 오프-칩 메모리 등) 와 신호 통신이 가능한 또 다른 집적 회로 레이어를 포함할 수 있다. 도 11 내지 도 12에서 예시로 나타낸 바와 같이, 입력 회로 (110)는 집적 회로 (100) 내에서 각각의 프로그램 가능한 전류 공급원 쌍이 일련의 입력 신호를 수신하고 이에 대한 일련의 출력을 생성하는 다단계 방식으로 디지털 입력 신호를 제공하는 기능을 추가적으로 또는 선택적으로 제공할 수 있다.
일부 실시예에서, 입력 회로 (110)는 다중 신호 출력 포트를 가지는 단일 회로로 구성될 수 있으며, 여기에서 다중 출력 포트 각각은 프로그램 가능한 전류 공급원 (120)의 신호 입력 단자와 전기적으로 통신할 수 있다. 즉, 각 신호 출력 포트는 하나의 프로그램 가능한 전류 공급원 (120) 또는 쌍으로 된 프로그램 가능한 전류 공급원 (120)의 해당하는 신호 입력 수신 단자에 전기적으로 결합되거나 아니면 전기적으로 연결될 수 있다. 추가적으로 또는 선택적으로, 입력 회로 (110)는 서로 다른 다중 회로들로 구성될 수 있으며, 각각의 서로 다른 다중 회로는 프로그램 가능한 전류 공급원 (120)의 신호 입력 단자와 전기적으로 통신하도록 배치된 단일 신호 출력 포트를 포함한다.
일부 실시예에서, 입력 회로 (110)는 디지털 입력 신호를 아날로그 입력 신호로 변환하도록 구성될 수 있다. 이러한 실시예에서, 입력 회로 (110)는 디지털 입력 신호를 수신하고 디지털 입력 신호를 회로 (100)의 아날로그 회로에서 이해할 수 있는 아날로그 출력 신호로 변환하도록 동작하는 디지털-아날로그 변환기를 포함할 수 있다. 예를 들어, 입력 회로 (110)는 디지털 센서로부터 이진수 입력 신호를 수신하고 이진수 입력 신호를 전압 신호로 변환해서 전압 신호를 프로그램 가능한 전류 공급원 (120)에 전달하도록 동작할 수 있다. 따라서, 입력 회로 (110)는 프로그램 가능한 전류 공급원 (120)을 제어하기 위해서 수신된 입력 신호에 기초하여 가변 전압 신호를 생성하도록 구성된 전압 제어기 회로 (예를 들어, 컴퓨터 프로세서 등을 가지는 마이크로 컨트롤러)를 포함할 수 있다.
바람직한 실시예에서, 복수의 프로그램 가능한 전류 공급원 (120)은 쌍으로 배열되어 전기적으로 통신하도록 배치되거나, 프로그램 가능한 전류 공급원 (120)의 게이트 단자를 쌍으로 연결함으로써 전기적으로 연결될 수 있다; 그러나, 프로그램 가능한 전류 공급원은 임의의 적절한 방식으로 쌍으로 연결될 수 있음에 유의하여야 한다. 바람직하게는, 서로 다른 프로그램 가능한 전류 공급원 쌍은 행으로 배열되어 열 또는 종 방향의 어레이를 형성한다; 그러나, 다양한 실시예에서, 프로그래밍 가능한 전류 공급원의 쌍은 3보다 많거나 적은 수의 행 또는 임의의 적절한 수의 행으로 배열될 수 있다. 또한, 전술한 바와 같이, 전기적으로 연결된 프로그램 가능한 전류 공급원 (120)의 각 쌍은 입력 회로 (110)와 전기적으로 통신하도록 배치되거나 전기적으로 연결될 수 있다. 즉, 한 쌍의 프로그램 가능한 전류 공급원 (120)의 하나 이상의 게이트 단자는 한 쌍의 프로그램 가능한 전류 공급원 (120)을 서로 전기적으로 연결하거나, 입력 회로(110)의 입력 노드 (포트) 또는 회로에 연결하는데 사용될 수 있다. 일부 실시예에서, 프로그램 가능한 전류 공급원 (120)의 각 쌍은 입력 회로 (110)의 입력 노드와 전기적으로 통신하도록 배열된 제어 단자를 포함하고, 이러한 쌍의 하나 이상의 단자는 쌍으로 이루어진 복수의 프로그램 가능한 전류 공급원들 사이에서 공유될 수 있는 기준 생성기 또는 기준 회로에 연결될 수 있다. 일부 실시예에서, 기준 생성기는 글로벌 디지털-아날로그 변환기 (DAC)와 같이, 각 쌍의 프로그래밍 가능한 전류 공급원 (120)에 대한 기준값을 생성하고 이를 공급하는 동작을 할 수 있는 임의의 적절한 기준 공급원을 포함한다. 이러한 구조에 의해서, 입력 회로 (110)는 한 쌍의 프로그램 가능한 전류 공급원 (120)의 게이트 단자를 통해 하나의 단일 입력 신호를 송신할 수 있으며, 쌍으로 이루어진 각 전류 공급원은 입력 회로 (110)로부터 동일한 단일 입력 신호를 수신하도록 동작한다 .
한 쌍의 프로그램 가능한 전류 공급원 (120)에서 각각의 프로그램 가능한 전류 공급원 (120)의 소스 단자는 접지 또는 임의의 적절한 기준 전압에 연결될 수 있고, 각각의 프로그램 가능한 전류 공급원 (120)의 드레인 단자는 각각 전류 합산 노드에 연결된다. 바람직한 실시예의 경우, 한 쌍의 전류 공급원에서 제 1 프로그램 가능한 전류 공급원 (120)의 드레인 단자는 제 1 전류 합산 노드 (130)에 전기적으로 연결될 수 있고, 한 쌍의 전류 공급원에서 제 2 프로그램 가능한 전류 공급원 (120)의 드레인 단자는 제 2 전류 합산 노드 (140)에 전기적으로 연결될 수 있다. 마찬가지로, 한 쌍의 전류 공급원에서 제 1 프로그램 가능한 전류 공급원 (120) 및 제 2 프로그램 가능한 전류 공급원 (120)의 소스 단자는 각각 접지 또는 임의의 적절한 기준 전압에 전기적으로 연결될 수 있다.
바람직한 실시예에서, 쌍으로 이루어진 프로그램 가능한 전류 공급원 (120)의 어레이는 회로 (100) 내에 배치될 수 있다. 이러한 실시예의 경우, 어레이에 쌍으로 이루어진 각 프로그램 가능한 전류 공급원 (120)에서 제 1 프로그램 가능한 전류 공급원은 제 1 전류 합산 노드 (130)를 공유하며, 쌍으로 이루어진 각 프로그램 가능한 전류 공급원(120)에서 제 2 프로그램 가능한 전류 공급원은 제 2 전류 합산 노드 (140)를 공유할 수 있다. 이러한 실시예에서, 제 1 합산 노드 (130)는 제 1 프로그램 가능한 전류 공급원 각각에 의해 공급되는 포지티브 전류를 합산하는 기능을 하고, 제 2 합산 노드 (140)는 제 2 프로그램 가능한 전류 공급원 각각에 의해 공급되는 네거티브 전류를 합산하는 기능을 할 수 있다. 따라서, 쌍으로 이루어진 프로그램 가능한 전류 공급원 (120)의 어레이는 제 1 및 제 2 합산 노드 (130, 140) 각각을 따라 프로그램 가능한 전류 공급원 (120)에 의해 공급되는 전류를 키르히호프의 전류 법칙 (KCL)에 따라 합산하도록 회로 (100) 내에 배열될 수 있다.
일 실시예에서, 둘 이상의 프로그램 가능한 전류 공급원 (120)의 어레이는 도 5에 예시된 바와 같이, 회로 (100) 내에 배치될 수 있다. 이처럼 복수개의 열로 배치하는 경우, 둘 이상의 프로그램 가능한 전류 공급원 (120)의 어레이 각각이 도 3 내지 4에서 예시된 바와 같이, 차동 전류 회로 (151)의 입력 생성 회로 (110) 및 제어 로직 (152) (예를 들어, 컴퓨터 프로세서, 프로세싱 회로 등을 포함하는 마이크로 컨트롤러) 을 공유하도록 배열될 수 있다. 이와 같이 구성하는 경우, 입력 생성 회로 (110) 및 적어도 차동 전류 회로 (151)의 마이크로 컨트롤러를 포함하는 회로 (100)에서 하나 이상의 구성 요소가 중복되지 않기 때문에, 회로 (100) 내에 이를 구현할 수 있게 된다.
둘 이상의 프로그램 가능한 전류 공급원 (120)의 어레이가 회로 (100) 내에 배열 될 수 있는 제 2 실시예의 경우, 도 6에 예시된 바와 같이, 프로그램 가능한 전류 공급원 (120)을 복수의 열 또는 어레이로 구현하고, 차동 전류 공급원 (153), 공통-모드 전류 회로 (156) 와 전류 공급원 (158), 및 비교 회로 (160)를 공유할 수 있도록 아날로그 멀티플렉서 (170)가 회로 (100) 내에 추가로 배치될 수 있다. 아날로그 멀티플렉서 (170)는 프로그램 가능한 전류 공급원 (120)의 제 1 열 또는 어레이와, 프로그램 가능한 전류 공급원 (120)의 제 2 열 또는 어레이로부터 개별적으로 가중치 합산 전류를 수신하도록 동작하는 것이 바람직하다. 이로 인해, 아날로그 멀티플렉서 (170)는 프로그램 가능한 전류 공급원의 각 열 또는 어레이의 가중치 합산 전류가 선택적으로 판독 회로 (150)에 인가되도록 동작할 수 있다. 이러한 방식으로, 판독 회로 (150) 내 아날로그-디지털 변환기의 기능이 복수의 열에 대해서 분할 적용될 수 있다. 여기에서는 프로그램 가능한 전류 공급원 (120)이 2 개의 열 또는 어레이로 이루어진 경우를 예시하였지만, 프로그램 가능한 전류 공급원 (120)을 임의 개수의 열 또는 어레이로 구현하도록 아날로그 멀티플렉서를 구성할 수 있음을 이해하여야 할 것이다.
제 2 실시예를 변형하는 경우, 프로그램 가능한 전류 공급원 (120)의 복수의 열 각각에 대한 출력 상태가 시프트 체인으로 함께 연결될 수 있으며, 이로 인해 프로그램 가능한 전류 공급원 (120)의 각 열로부터 발생하는 출력 결과는 회로 (100)에서 수행되는 가중치 합 계산의 마지막에 시프트 체인에 의해 시프트될 수 있다. 이는 회로 (100) 내에 구현된 프로그래밍 가능한 전류 공급원 (120)의 복수의 열 각각에 대해 출력 회로를 배치하는데 있어서 공간이 충분하지 않은 경우에, 회로 (100) 내의 회로 영역을 효율적으로 구성할 수 있게 한다.
제 1 합산 노드 (130) 및 합산 노드 (140)는 전하를 전송 또는 운반할 수 있는 임의 형태의 도관을 포함할 수 있다. 예를 들어, 제 1 합산 노드 (130) 및 제 2 합산 노드 (140)는 전기 전도체 (예를 들어, 금속 와이어 또는 트레이스, 전도성 유체 등)를 포함할 수 있다. 제 1 및 제 2 합산 노드 (130, 140)를 구현하기 위해서 임의의 적절한 전기적 도관이 사용될 수 있음에 유의하여야 할 것이다.
복수의 프로그램 가능한 전류 공급원 (120) 각각은 입력 신호에 응답하여 전류 값을 생성하는 기능을 하는 것이 바람직하다. 바람직한 실시예에서, 프로그램 가능한 전류 공급원 (120)은 전압이 인가될 때 전류 값을 생성하도록 동작하는 저항성 회로를 포함한다. 저항성 회로는 임의 형태의 재조정 가능한 저항 (즉, 가변 저항) 일 수 있으며, 바람직하게 저항성 회로는 멤리스터로 지칭될 수 있는 유전성 고체 물질을 통해 저항이 변화하도록 동작하는 비휘발성 랜덤 억세스 컴퓨터 메모리의 유형인 저항성 랜덤 억세스 메모리 (RRAM 또는 ReRAM)를 포함한다. 일부 실시예에서, 프로그램 가능한 전류 공급원 (120)은 도 15에 예시된 바와 같이, 1T (또는 2T) NOR- 플래시 트랜지스터 및/또는 그 밖의 플래시 메모리를 사용하여 구현될 수 있다. 일부 실시예에서는 NOR- 플래시 트랜지스터로 구현하였지만, 프로그램 가능한 전류 공급원은 다른 유형의 NOR- 및 NAND-플래시 디바이스, RRAM 디바이스, 또는 기술분야에서 알려진 임의의 적절한 디바이스를 포함하는 다양한 전류 생성 디바이스에 의해 구현될 수 있음을 이해하여야 할 것이다.
바람직한 실시예에서, 프로그램 가능한 전류 공급원 (120)은 임의의 가중치 또는 계수로 미리 구성될 수 있다. 예를 들어, 머신 러닝 모델 (예를 들어, 신경망 모델)의 가중치 및/또는 계수가 프로그램 가능한 전류 공급원 (120) 쌍에 매핑될 수 있다.
앞에서 언급한 바와 같이, 프로그램 가능한 전류 공급원 (120)은 쌍으로 배열되고 사전에 프로그램 함으로써 (즉, 미리 프로그램된), 동일한 입력 전압 신호가 쌍으로 이루어진 프로그램 가능한 전류 공급원 (120)을 통해 인가될 때, 쌍으로 이루어진 프로그램 가능한 전류 공급원이 특정 값 또는 미리 정해진 값으로 프로그램 되어 서로 다른 한 쌍의 전류 (쌍으로 이루어진 각 전류 공급원의 출력 전류)를 출력하는 것이 바람직하다. 따라서, 한 쌍의 프로그램 가능한 전류 공급원 (120)으로부터 공급되는 각 전류의 차이는 (포지티브) 합산 노드 (130)와 전기적으로 통신하도록 배치된 프로그램 가능한 전류 공급원이 미리 정해진 값 (예를 들어, 포지티브 가중치 또는 포지티브 계수)을 생성하도록 프로그래밍 하고, 동시에/또는 (네거티브) 합산 노드 (140)와 전기적으로 통신하도록 배치된 프로그램 가능한 전류 공급원을 미리 결정된 값 (예를 들어, 포지티브 가중치 또는 포지티브 계수)를 생성하도록 프로그래밍 함으로써 얻어질 수 있다. 따라서, 미리 정해진 차이 값을 가지는 프로그램 가능한 전류 공급원 (120)에 의한 한 쌍의 전류 출력은, 두 합산 노드가 각각 목표 전압 (VTARGET)에 도달한 상태에서 입력 회로 (100)가 한 쌍의 프로그램 가능한 전류 공급원에 대해 전압 입력으로서 입력 신호를 공급하는 경우에 얻어질 수 있다. 또한, 아래에서 자세히 후술하는 바와 같이, 판독 회로 (150)는 두 합산 노드의 목표 전압 조건을 생성하도록 동작할 수 있고, 이러한 조건을 생성하는 과정에서, 판독 회로 (150)는 프로그램 가능한 전류 공급원 (120)에 대한 전류 차이의 합을 결정하는 기능도 할 수 있다. 따라서, 주어진 입력에 대한 전류 차이의 합을 결정함으로써 이에 따라 가중치 합의 계산 결과가 결정될 수 있다.
판독 회로 (150)는 가중치 합 전류 신호로부터 디지털 출력 신호 또는 코드를 결정하도록 동작하는 것이 바람직하다. 바람직하게, 판독 회로 (150)는 주어진 입력에 대한 가중치 합 계산 결과를 결정하기 위해서 함께 동작하는 차동 전류 회로 (151), 공통-모드 전류 회로 (156), 및 비교기 회로 (160)를 포함한다.
차동 전류 회로 (151)는 전류 공급원 (153) 및 전류 공급원 (153)을 이용하여 전류 생성 전류를 제어하기 위한 차동 마이크로 컨트롤러 회로 (152)를 포함하는 것이 바람직하다. 차동 전류 회로 (151)는 차동 전류 값을 생성하여, 제 1 및 제 2 전류 합산 노드 (130, 140) 각각에 공급하도록 동작하는 것이 바람직하다. 동작 과정에서, 차동 전류 회로 (151) 및 관련된 전류 공급원 (153)은 공지된 차이를 가지는 2개의 전류를 한 번에 생성해서, 제 1 및 제 2 합산 노드 (130, 140) 에 하나의 전류를 각각 공급하도록 동작할 수 있다. 바람직하게, 차동 전류 회로의 전류 공급원에서 생성된 2개의 차동 전류는 크기가 동일하고 부호가 반대일 수 있다(예를 들어, 동일한 크기를 가지는 하나의 포지티브 전류와 네거티브 전류, [50 A, -50 A]). 추가적으로 또는 선택적으로, 차동 전류 회로 (151)의 두 전류 공급원 (153)에 의해 생성된 2개의 차동 전류는 크기가 변할 수 있으며, 이로 인해 차동 전류 회로 (151)의 입력 신호에 의해 두 전류 공급원 (153)으로부터 공급된 제 1 전류 신호 및 제 2 전류 신호는 서로 다른 크기를 가질 수 있다(예를 들어, [+ 8 A, +2 A], [+4 A, +6 A] 등).
차동 전류 회로 (151)의 두 차동 전류 공급원 (153) 각각은 제 1 전류 합산 노드 (130) 및 제 2 전류 합산 노드 (140) 중 하나와 전기적으로 통신할 수 있다. 일부 실시예에서, 두 차동 전류 공급원 (153) 각각은 제 1 전류 합산 노드 (130) 및 제 2 전류 합산 노드 (140) 중 하나와 전기적 연결을 직접 공유하여, 두 전류 공급원 각각의 단자는 제 1 및 제 2 전류 합산 노드 (130, 140) 중 하나에 전기적으로 연결되거나 전기적으로 결합된다.
일 실시예에서, 차동 회로 (151)는 컨트롤러로 동작하는 전류 미러를 구비하며, 공지된 디지털 입력 값 또는 코드의 집합으로 미리 프로그램 되거나 여기에 억세스하는 디지털-아날로그 변환기 (DAC)를 포함한다. DAC는 공지되었거나 미리 설정된 디지털 입력 값을 아날로그 신호 (예를 들어, 차동 전류 신호)로 변환함으로써, 두 전류 공급원 (153)에서 공급된 차동 전류 신호를 변경하도록 동작하는 것이 바람직하다. 전류 미러는 부하에 상관없이 출력 전류를 일정하게 유지하면서 다른 능동 소자의 전류를 제어하여, 하나의 능동 소자 (또는 전류 공급원)를 통해 제 1 전류를 복제하도록 동작할 수 있다. 바람직한 실시예에서, 전류 미러를 정의하는 회로는 전류 방향을 반전시키는 동작을 하는 반전 전류 증폭기 등을 포함한다.
적용에 있어서, 전류 미러를 포함하는 DAC는 공지된 디지털 값 집합으로부터 DAC에 대한 입력을 램프(ramp) 또는 스윕(sweep)하고, 제 1 및 제 2 합산 노드 (130, 140)의 각각에 가산될 수 있는 최종적인 (그리고, 가변하는) 전류 신호를 출력할 수 있다. 바람직한 실시예에서, DAC는 공지된 최대의 네거티브 디지털 값에서부터 공지된 최대의 포지티브 디지털 값 사이에서 램프 또는 스윕할 수 있다. 추가적으로 또는 선택적으로, DAC는 공지된 최대의 포지티브 디지털 값에서부터 공지된 최대의 네거티브 디지털 값으로 스윕할 수 있다. 이러한 실시예 중 일부는 2개의 차동 전류를 생성하기 위해서 전류 미러 등이 구비된 DAC를 포함하는 차동 전류 회로를 구현할 수 있지만, 차동 전류를 생성하기 위한 임의의 적절하며, 그리고/또는 공지된 디바이스가 사용될 수 있음을 이해하여야 할 것이다.
제 2 실시예에서, DAC 값에 대한 복수의 스윕은 복수의 판독 회로 (150) (또는 복수의 아날로그-디지털 변환기)를 통해 이루어질 수 있다. 이러한 제 2 실시예에서, 하나 이상의 차동 전류 공급원 (153), 공통-모드 전류 회로 (156)와 전류 공급원 (158), 및 비교기 회로 (160)는 도 13에 예시된 바와 같이, 에너지를 보존하기 위하여 그 기능을 비활성화시키는 추가적인 휴면 신호 (sleep signal) 를 포함할 수 있다. 바람직하게, 비교기 회로 (160)는 제어 회로 (161) (예를 들어, 컴퓨터 프로세서, 프로세싱 회로 등을 가지는 마이크로 컨트롤러), 거시적 (coarse) (MSB) 레지스터 그룹, 및 미시적 (fine) (LSB) 레지스터 그룹에 결합되거나 연결되어 동작할 수 있다. 동작이 이루어지는 경우, 거시적 (coarse) 레지스터 그룹 (예를 들어, 공지되고 미리 설정된 디지털 값의 하위 집합)에 대한 제 1 거시적 스윕 (coarse sweep)은 마이크로 컨트롤러에 의해 수행될 수 있는데, 차동 전류 회로 (151)가 거시적 코드 변경 (coarse code change)을 통해 단계적으로 진행하며, 비교 회로가 두 합산 노드 사이의 전압 변화를 트리거 (trigger), 트립 (trip), 또는 검출하는 경우에는 거시적 비트 (coarse bit)가 기록된다. 그런 다음, 공지된 디지털 값에 대한 전체 스윕 (full sweep)이 마이크로 컨트롤러에서 수행되고, 기록된 거시적 비트 (coarse bit)가 차동 전류 회로 (151)에서 인가되는 거시적 비트 (coarse bit) 와 일치하지 않는 경우를 제외하고, 마이크로 컨트롤러 회로는 열 (column) 의 전력 소모를 감소시키기 위해서 휴면 신호 (sleep signal) 를 전송한다. 따라서, 이러한 제 2 실시예는 미시적 스윕 (fine sweep)을 위한 시간의 2^N-1/2^n 동안 회로 부분들을 휴면 (sleep) 시킴으로써 상당한 전력 감소를 가능하게 하며, 여기서 N은 도 4에서 예시된 바와 같이 미시적 비트 (fine bit) 의 개수에 해당한다. 따라서, 비교기 회로 (160) 및/또는 관련된 출력 회로는 합산 전류가 0이 되거나 교차하는 시간에 해당하는 이후의 구간 동안 LSB를 기록하도록 동작할 수 있다.
제 3 실시예에서, 프로그램 가능한 전류 공급원 (120)은 도 14에 예시된 바와 같이, 차동 전류 회로 (151)의 서로 다른 스윕 분해능을 탐색하도록 구성될 수 있다. 바람직하게, 이와 같이 구성된 스윕 분해능 방법은 일반적으로 차동 회로에서 차동 전류 공급원 (153)으로 전송된 디지털 코드를 변경함으로써 수행될 수 있다. 회로 (100)에서의 특정 순간이나 시간 상황에서, 차동 전류 회로 (153)는 N-비트 분해능을 나타내는 디지털 코드 집합을 생성할 수 있으며, 다음 순간 또는 시간 상황에서, 차동 전류 회로 (151)는 (N+1)-비트 분해능 또는 (N-1)-비트 분해능을 나타내는 디지털 코드 집합을 생성할 수 있다. 이로 인해 회로 (100)의 성능이 향상되고 내부에서 소비되는 전력을 감소시킬 수 있게 된다. 회로 (100)는 일반적으로 임의의 (N+X)-비트 분해능을 생성할 수 있으며, 여기에서 X는 X=(-N,+{max_resolution_of_system-N}] 과 같이 미리 정해진 범위의 값이다. 이러한 구성은 LSB (즉, 미시적 레지스터 그룹) 또는 MSB (즉, 거시적 레지스터 그룹)을 변경함으로써 얻어질 수 있다.
공통-모드 전류 회로 (156)는 도 1 및 도 9에 예시된 바와 같이, 2 개의 전류 공급원 (158), 공통-모드 제어 회로 (157) (예를 들어, 컴퓨터 프로세서, 프로세싱 회로 등을 가지는 마이크로 컨트롤러), 증폭기 및 공통-소스 증폭기 스테이지를 포함하는 것이 바람직하다. 공통-모드 전류 회로는 (전압, 전류, 또는 임의의 전기적 수치나 전하량을 감지할 수 있는) 측정 회로를 통해 제 1 및 제 2 합산 노드 (130, 140)의 평균 전압을 측정하도록 동작하는 것이 바람직하다. 이에 따라, 공통-모드 회로는 제 1 및 제 2 합산 노드 (130, 140) 각각에 전류 신호를 출력하도록 전류 공급원 (158)을 변조하는 동작을 할 수 있으며, 제 1 및 제 2 합산 노드 (130, 140)의 평균 전압은 목표 전압 (VTARGET)과 동일하거나 실질적으로 동일하게 된다. 바람직한 실시예에서, 2 개의 전류 공급원 (158)에 의해 생성되거나 공급되고, 각각의 합산 노드로 출력되는 전류 신호는 크기와 부호가 동일하다.
회로 (100)의 회로 설계에 있어서 불완전한 회로 구성 및/또는 한가지 이상의 부작용으로 인해, 회로 (100)의 설계에 대한 부작용이나 그 밖에 의도하지 않은 문제를 완화시킬 수 있도록 회로 (100) 내부에 보상 회로 및/또는 보상 방법이 구현될 수 있다. 일 예로, 공통-모드 전류 구동 트랜지스터들 사이의 오프셋은 프로그램 가능한 전류 공급원 (120)을 흐르는 전류에 오프셋을 발생시켜서, 입력 회로 (110)에서 발생하는 입력 신호를 손상시키는 역할을 할 수 있다. 따라서, 회로 (100)를 구현하기 이전에, 공통-모드 회로 (156)는 전류의 오프셋을 보상하기 위해 조정될 수 있다 (즉, 전류의 오프셋을 조정한다).
바람직하게, 보상 조정의 제 1 단계에서, 도 16a에 예시된 바와 같이, 프로그램 가능한 전류 공급원 (120) 중 선택된 집합이 제 1 합산 노드 (130) (예를 들어, 포지티브 합산 노드)에 전기적으로 연결될 수 있다. 이러한 실시예에서, 공통-모드 회로 (156)의 증폭기는 전압 기준 (Vref)을 참조하여 제 1 커패시터를 구동함으로써, 제 1 합산 노드 (130)가 목표 전압 (Vtarget)과 동일하거나 실질적으로 동일하게 만드는 기능을 한다. 이러한 단계에서, Vref는 공통-모드 회로 (156)의 증폭기가 적절하게 동작하는 조건이 되도록 선택되며, Vtarget 에 오프셋이 없도록 P-형 금속 산화물 반도체 (PMOS) 디바이스 (예를 들어, 트랜지스터)의 게이트에 필요한 형식적인 값을 나타낼 수 있다. 결과적으로, 공통-모드 전류 회로 (156)의 증폭기는 트랜지스터의 오프셋이 이상적인 상태로 나타나도록 제 1 커패시터를 통해 전압을 구동한다.
제 2 단계에서, (동일한 전류 신호를 가지는) 프로그램 가능한 전류 공급원 (120) 중에서 선택된 프로그램 가능한 전류 공급원 (120) 집합 (즉, 동일한 집합)은 도 16b에 예시된 바와 같이, 제 2 합산 노드 (140) (예를 들어, 네거티브 합산 노드)에 연결될 수 있다. 공통-모드 전류 회로 (156)의 증폭기는 제 2 합산 노드 (140)가 목표 전압 (Vtarget)과 동일하거나 실질적으로 동일하도록 기준 전압 (Vref)을 참조하여 제 2 커패시터를 구동하도록 동작할 수 있다.
보상 조정의 제 1 단계 및 제 2 단계의 결과로서, 제 1 및 제 2 커패시터 사이의 전압 차이는 도 16c에 예시된 바와 같이, 2 개의 PMOS 디바이스에 의해 생성된 오프셋 전류 (예를 들어, 보상 전류)의 차이를 나타낼 수 있다. 보상 조정은 조정의 제 1 및 제 2 단계 사이에 임의의 동일한 프로그램 가능한 전류 공급원 (120) 집합에 구현될 수 있고, 제 1 또는 제 2단계에서 제 1 합산 노드 (130) 또는 네거티브 합산 노드 (140) 중 하나에 대해 동작하도록 이루어질 수 있음에 유의하여야 할 것이다. 또한, 회로 (100) 내에 구현된 트랜지스터는 n-채널 금속-산화물 반도체 전계 효과 (NMOS) 일 수 있는 반면, 공통-모드 회로 (156)의 트랜지스터는 PMOS 일 수 있고, NMOS 트랜지스터 및 PMOS 트랜지스터의 배치는 뒤집히거나 스위치될 수 있으며, 공통-모드 회로 (156)는 NMOS 트랜지스터와 PMOS 트랜지스터가 차동 전류 회로 (151)가 구비된 다른 영역에 구현되도록 구성될 수 있다.
동작 과정에서, 공통-모드 회로 (156)의 증폭기는 공통-모드 전류 구동 공급원 (158)이 대응하는 저장된 오프셋에 의해서 수정된 전압을 수신하도록 차이를 저장하는 커패시터의 하부 기판을 구동하도록 동작할 수 있다.
제 1 및 제 2 합산 노드 (130, 140)는 프로그램 가능한 전류 공급원 (120) 및 차동 전류 회로 (151)를 함께 포함해서, 2 개의 차동 전류 공급원을 가지는 것이 바람직하다. 동작 과정에서, 2 개의 차동 전류 공급원이 동일하지만 극성이 반대인 경우, 이들은 서로 상쇄되어 결과적으로 전체 차동 전류는 제로가 된다. 차동 전류가 제로인 조건이 충족되는 경우, 공통-모드 전류 회로 (156) 와 2 개의 전류 공급원 (158)은 제 1 및 제 2 합산 노드 (130, 140)가 VTARGET과 동일하도록 만들어서, 모든 차동 전류가 정확한 전압 조건으로 유지되는 상태가 되도록 한다.
판독 회로 (150)는 전류 공급원 (153)에 의해 생성된 차동 전류를 변경하고 비교 회로 (160)의 출력을 판독함으로써, 2 개의 차동 전류 공급원 사이에서 동일하지만 극성이 반대인 전류 조건을 식별하거나 판단하는 동작을 하는 것이 바람직하다. 2 개의 차동 전류 공급원 사이의 차이가 동일하지 않은 경우, 두 합산 노드 (130, 140) 중 하나의 합산 노드 전압은 다른 합산 노드에서 판단된 전압보다 크게 판단될 것이고, 비교 회로 (160)는 큰 전압의 합산 노드를 나타내는 제 1 출력을 유지하거나 생성하게 될 것이다. 높은 전압 값을 가지는 노드는 차동 전류 회로 (151)가 프로그램 가능한 전류 공급원 (120)의 합보다 더 큰 차동 전류를 공급하는지 아니면 더 작은 차동 전류를 공급하는지에 따라 결정될 수 있다. 위에서 상세히 설명한 바와 같이, 차동 전류 회로 (151)에 의해 공급되는 차동 전류는 최대의 네거티브 값에서부터 최대의 포지트브 값까지 스윕되거나, 또는 반대로 최대의 포지티브 값에서 최대의 네거티브 값까지 스윕될 수 있으며, 비교 회로 (160)는 두 전류의 차이가 교차하는 지점에서 출력을 변경하게 될 것이다. 다시 말해서, 두 차동 전류 공급원의 합이 0이 되거나 제 1 및 제 2 합산 노드 (130, 140)에서의 전압 값이 모두 (VTARGET) 과 같아질 때, 비교 회로 (160)는 그 출력을 변경하게 될 것이다. 비교 회로 (160)가 그 출력을 변경하는 경우, 차동 전류 회로에 의해 합산 노드에 공급되는 차동 전류 값은 2개의 프로그램 가능한 전류 공급원 (120)의 가중치 합의 차이를 나타내는 디지털 출력 코드를 생성할 수 있도록 아날로그-디지털 변환기에 의해 기록되고 참조될 수 있다. 또한, 이러한 시점에서, 차동 전류 회로에 의해 공급되는 기록된 2 개의 차동 전류 값은 제 1 및 제 2 합산 노드 (130, 140)의 두 차동 전류 합에 대해서, 크기는 동일하지만 방향은 반대인 것으로 알려져 있다.
컨트롤러는 차동 전류 회로 및/또는 비교 회로와 연동되는 것이 바람직하다. 컨트롤러는 차동 전류 회로와 상호 작용하여, 포지티브 합산 노드에 공급되는 전류와 네거티브 합산 노드에 공급되는 전류 차이의 크기를 변경한다. 예를 들어, 컨트롤러는 일정 범위의 값 내에서 이러한 차이의 크기를 스윕할 수 있으며, 일정 범위의 값은 전술한 바와 같이 최대 네거티브 값과 최대 포지티브 값 사이에서 정의된다. 포지티브 합산 노드와 네거티브 합산 노드의 전압이 동일한 경우의 신호에 의해서, 컨트롤러도 비교 회로에서 출력된 신호를 수신하고 포지티브 합산 노드에 공급되는 전류와 네거티브 합산 노드에 공급되는 전류 사이의 차이를 기록한다. 일 실시예에서, 컨트롤러는 마이크로 컨트롤러 또는 그 밖의 적절한 회로에 의해 구현된다.
일 실시예에서, 판독 회로 (150)는 도 7에 예시된 바와 같이, 제 1 및 제 2 합산 노드 (130, 140) 사이에 배치되는 전압 제한기 (155)를 더 포함하는 것이 바람직하다. 이러한 실시예에서, 전압 제한기 (155)는 제 1 및 제 2 합산 노드 (130, 140) 사이에서 발생하는 전압을 제한하도록 동작할 수 있으며, 두 합산 노드에서 생성될 수 있는 전압을 제한하는 것은 공통 모드 회로 (156)에 있어서 공지되거나 특정될 수 있기 때문에, 회로 (100)의 성능을 향상시킬 수 있다. 전압 제한기 (155)의 저항은 합산 노드에 전류를 제공하지 않기 때문에, 일반적으로 두 합산 노드의 기능은 전압 제한기를 추가하더라도 변하지 않게 될 것이다. 전압 제한기 (155)의 저항은 트랜지스터를 포함하여, 임의의 적절한 방식으로 구현될 수 있음을 이해하여야 할 것이다. 또한, 가변 저항의 강도는 회로 (100)의 전류 동작 모드에 기초하여 활성화되거나 구현될 수 있을 것이다.
이러한 회로 (100)를 변형하는 한 가지 예로서, 회로 (100)는 도 8에 예시된 바와 같이, 제 1 및/또는 제 2 전류 합산 노드 (130, 140)의 길이 방향을 따라 분포되며, 복수 집합의 차동 전류 공급원 (153) 및 공통 전류 공급원 (158)을 포함할 수 있다. 이러한 구성에서, 차동 전류 회로 또는 공통-모드 전류 회로의 마이크로 컨트롤러 회로는 제 1 및 제 2 전류 합산 노드 (130, 140)를 따라 복수 집합의 차동 전류 공급원 (153) 및 공통 전류 공급원을 제어하기 중복 구성될 필요는 없을 것이다. 이러한 구성의 기술적 이점은 긴 배선 (예를 들어, 합산 노드) 및 큰 전류 (즉, 복수 전류의 결합)로 인해 발생하는 전압 강하를 완화할 수 있다는 것이다.
2. 혼합-신호 회로를 이용하여 가중치 합의 연산을 수행하는 방법
도 2에 도시된 바와 같이, 이러한 방법 (200)은 입력 신호를 생성하는 단계 (S210), 차동 전류 신호를 생성하는 단계 (S220), 한 쌍의 합산 노드를 따라 전류를 합산하는 단계 (S230), 한 쌍의 합산 노드에 미리 정해진 차동 전류 신호를 공급하는 단계 (S240), 한 쌍의 합산 노드에 공통 전류 신호를 공급하는 단계 (S250), 및 한 쌍의 합산 노드에서 가중치 합의 차이를 식별하는 단계 (S260)를 포함한다.
입력 신호를 생성하는 단계를 포함하는 S210은 디지털 (예를 들어, 이진수) 또는 아날로그 입력에 따라서 프로그램 가능한 전류 공급원에 하나 이상의 입력 신호를 생성하는 동작을 한다. 바람직한 실시예에서, 디지털 입력 또는 아날로그 입력은 입력 회로에서 수신될 수 있다. 디지털 입력이 수신되는 경우, S210은 입력 회로에서 미리 정해진 전류에 해당하는 활성화 상태, 또는 비활성화 상태 중 하나만을 가지는 디지털 입력 신호를 생성하도록 구현하는 동작을 하며, 이 때 프로그램 가능한 전류 공급원에서는 차동 전류가 생성되지 않는다. 다시 말해서, 각 디지털 또는 이진수 입력은 단일하거나 유한한 관련 아날로그 전류 응답에 연관되며, 이는 전류 신호의 값이 0 인 경우도 포함한다.
추가적 또는 선택적으로, 방법 (200)을 구현하는 시스템 (예를 들어, 회로 (100))으로 아날로그 입력을 수신하는 경우에, S210은 미리 정해진 복수의 전류에 해당하는 복수의 활성화 상태와, 비활성화 상태를 가지는 아날로그 입력 신호를 생성하도록 입력 회로를 구현하는 동작을 수행할 수 있으며, 여기에서 프로그램 가능한 전류 공급원은 차동 전류를 생성하지 않는다.
하나 이상의 프로그램 가능한 전류 공급원에서 아날로그 입력 신호가 수신되는 경우, S220은 프로그램 가능한 전류 공급원을 통해 아날로그 입력 신호를 인가함으로써 하나 이상의 전류 신호를 생성하는 동작을 수행할 수 있다. 바람직한 실시예에서, S210에서 구현된 입력 회로는 전압-제어 입력 회로를 포함하며, 이에 따라 각각의 프로그램 가능한 전류 공급원에서 수신된 입력 신호는 전압 신호를 포함한다. 따라서, 전압 신호가 프로그램 가능한 전류 공급원의 저항 소자를 통하여 인가될 때, 이에 따른 전류가 생성된다. 바람직하게, 프로그램 가능한 전류 공급원은 각각의 프로그램 가능한 전류 공급원의 저항 소자에 대한 저항 강도를 수정하기 위해서, 미리 저장된 가중치 또는 계수를 또한 포함한다.
하나 이상의 프로그램 가능한 전류 공급원에서 이진수 입력 신호가 수신되는 경우, 이진수 입력 신호를 처리하는 프로그램 가능한 전류 공급원에 의해 미리 정해진 전류 신호가 생성될 수 있다.
한 쌍의 합산 노드 각각을 따라 전류를 합산하는 단계를 포함하는 S230은 제 1 합산 노드에서 복수의 전류 신호를 합산하고 제 2 합산 노드에서 복수의 전류 신호를 합산하는 동작을 한다. 구체적으로, 바람직한 실시예에서, 프로그램 가능한 전류 공급원은 쌍으로 배열될 수 있는데, 쌍으로 이루어진 제 1 전류 공급원이 제 1 합산 노드와 전기적으로 통신하고 쌍으로 이루어진 제 2 전류 공급원이 제 2 합산 노드와 전기적으로 통신할 수 있다. 또한, 프로그램 가능한 전류 공급원이 복수 개 쌍으로 배열될 수 있는데, 각각의 복수 개 쌍에서 제 1 전류 공급원은 (전기적 연결에 의해) 제 1 합산 노드를 공유하고, 각각의 복수 개 쌍에서 제 2 전류원 공급원은 (전기적 연결에 의해) 제 2 합산 노드를 공유한다. 이러한 구성에 의해서, 각 쌍의 제 1 전류 공급원은 제 1 합산 노드에 전류를 공급하고, 각 쌍의 제 2 전류 공급원은 제 2 합산 노드에 전류를 공급할 수 있다.
따라서, S230은 바람직하게 프로그램 가능한 전류 공급원의 어레이에 의해, 제 1 합산 노드에 공급되는 전류 신호와 제 2 합산 노드에 공급되는 전류 신호를 합산하는 동작을 한다.
한 쌍의 합산 노드에 차동 전류 신호를 공급하는 단계를 포함하는 S240은 쌍으로 이루어진 제 1 및 제 2 합산 노드 각각에 대해, 크기가 동일하지만 방향이 다른 (즉, 하나는 포지티브이고 하나는 네거티브) 차동 전류 신호를 생성하는 동작을 한다. 바람직하게, S240은 전류 미러 또는 임의의 적절한 차동 전류 회로를 가지는 디지털-아날로그 변환기와 같은 차동 전류 회로를 구현함으로써 차동 전류 신호를 생성한다.
동작에 있어서, 한 쌍의 합산 노드에 차동 전류를 공급하기 위해 S240에 의해 구현된 차동 전류 회로는 차동 전류 회로의 전류 공급원에 공급이 이루어지는 경우에, 한 쌍의 합산 노드에 공급되는 가변 차동 전류를 생성하도록 미리 프로그램 되거나 미리 정해진 디지털 (이진수) 코드 집합에 억세스할 수 있다. 바람직한 실시예에서, 차동 전류 회로는 도 10에 예시된 바와 같이, 한 쌍의 합산 노드 간 차이의 합이 결정될 때까지, 미리 정해진 디지털 코드 집합을 임의의 적절한 방식으로 스윕 (sweep) 또는 램프 (ramp)하도록 동작할 수 있다.
한 쌍의 합산 노드 중에서 각 합산 노드에 공통 전류 신호를 인가하는 단계를 포함하는 S250은 한 쌍의 합산 노드 사이의 평균 전압을 측정하고, 그에 따라 2 개의 공통 전류 신호를 생성해서 한 쌍의 합산 노드에 공급하는 동작을 한다. 바람직하게, 2 개의 공통 전류 신호는 동일한 크기와 방향을 가진다. 따라서, S250은 2 개의 공통 전류 신호를 사용하여, 한 쌍의 합산 노드의 평균 전압을 조정해서 미리 정해진 목표 전압과 일치시키는 동작을 한다.
바람직한 실시예에서, S250은 2 개의 전류 공급원 및 마이크로 컨트롤러 회로를 포함하는 공통-모드 전류 회로를 사용하여 공통 전류 신호를 생성하는 동작을 한다. S250에 의해 구현되는 경우, 마이크로 컨트롤러는 한 쌍의 합산 노드에 대한 평균 전압을 측정하고, 공통 전류 신호가 한 쌍의 합산 노드에서의 평균 목표 전압에 도달하는지 계산하며, 2 개의 공통 전류 공급원을 통해서 한 쌍의 합산 노드의 각 합산 노드에 공통 전류 신호를 공급한다.
한 쌍의 합산 노드에 대한 가중치 합의 차이를 결정하는 단계를 포함하는 S260은 제 1 합산 노드와 제 2 합산 노드의 전압 값을 비교하고, 제 1 및 제 2 전압의 전압 값이 동일한 시간이나 순간을 식별하는 동작을 한다. 구체적으로, S240 에서 설명된 바와 같이 차동 전류 회로가 한 쌍의 합산 노드에 차동 전류를 인가하는 경우, S260 은 비교기 회로가 한 쌍의 합산 노드의 전압 값을 비교하도록 구현된다.
따라서, 제 1 및 제 2 합산 노드의 전압 값이 동일한 경우, S260은 차동 전류 회로에 의해 공급되는 차동 전류를 기록하는 동작을 한다. 이러한 방식으로, S260은 기록 된 차동 전류를 이용해서 제 1 및 제 2 합산 노드 각각에 대한 전체 합산 전류 (즉, 프로그램 가능한 전류 공급원 및 차동 전류 회로를 포함해서 2 개의 차동 전류 공급원으로부터 공급되는 전류)를 감소시키기 위한 계산을 추가로 수행할 수 있다. 계산 결과는 프로그램 가능한 전류 공급원에서 공급되어 한 쌍의 합산 노드에서 합산된 차동 전류 값을 포함하게 된다.
S260은 합산된 차동 전류 값의 차이 값을 바람직하게는 디지털 출력 코드로 변환하는 동작을 할 수 있다. 추가적으로 또는 선택적으로, S260은 기록된 차동 전류를 생성하는 차동 전류 회로에 대해서 관련된 디지털 입력 코드를 식별하고, 관련된 디지털 입력 코드를 출력하는 동작을 할 수 있다. 추가적으로 또는 선택적으로, S260은 비교기 회로의 값을 수집 또는 전달함으로써, 카운터 회로가 비교된 전류 값이 교차하는 시간 (예를 들어, 합산된 전류가 0이 될 때)을 기록하도록 할 수 있다. 기록된 시간은 차동 전류의 집합을 생성하기 위해 DAC에서 디지털 신호가 활성화된 시간과 비교될 수 있다.
추가적으로 또는 선택적으로, S260은 비교된 전류 값이 교차하는 순간에, 디지털 코드 입력에 해당하는 디지털 코드 (예를 들어, 다중-비트 신호)를 출력하거나 DAC 내에서 활성화되는 동작을 할 수 있다.
위 방법 (200)은 이해가능한 범위 내에서 본 발명 및/또는 본 발명의 실시예를 수행하기 위해서 임의의 적절한 순서로 구현되거나, 여기에서 제공된 개시 내용을 고려하여 용이하게 실시될 수 있는 예시적인 방법이라는 점을 이해하여야 할 것이다. 따라서, 순서 및 처리 단계는 여기에서 제공된 예시적인 순서에 한정되어서는 안 된다.
바람직한 실시예의 방법 및 그 변경은 컴퓨터가 판독 가능한 명령어를 저장하는 컴퓨터가 판독 가능한 매체를 내장하도록 구성된 기계를 통해, 적어도 부분적으로 실시 및/또는 구현될 수 있다. 명령어는 리소그래피 시스템과, 이를 통해 구현된 한 부분 이상의 프로세서, 및/또는 컨트롤러가 결합되어, 컴퓨터가 실행 가능한 구성 요소에 의해 실행되는 것이 바람직하다. 컴퓨터가 판독 가능한 매체는 RAM, ROM, 플래시 메모리, EEPROM, 광학 장치 (CD 또는 DVD), 하드 드라이브, 플로피 드라이브, 또는 임의의 적절한 디바이스와 같은 임의의 적절한 컴퓨터가 판독 가능한 매체에 저장될 수 있다. 컴퓨터가 실행 가능한 구성요소는 범용 또는 특정 어플리케이션 프로세서인 것이 바람직하지만, 임의의 적절한 전용 하드웨어 또는 하드웨어/펌웨어 결합 디바이스에 의해 선택적으로 또는 추가적으로 명령어가 실행될 수 있다.
간결한 설명을 위해 생략되었지만, 바람직한 실시예는 여기에서 설명된 다양한 방법, 장치, 및 시스템의 모든 조합 및 순열을 포함한다.
당업자는 위의 상세한 설명과 도면 및 청구 범위로부터, 아래의 청구 범위에서 규정된 본 발명의 범위를 벗어나지 않고 본 발명의 바람직한 실시예에 대한 수정 및 변경이 이루어질 수 있음을 이해할 것이다.

Claims (19)

  1. 쌍으로 배열되는 복수의 프로그램 가능한 전류 공급원 - 각 쌍의 프로그램 가능한 전류 공급원 중에서 제 1 프로그램 가능한 전류 공급원은 포지티브 가중치를 나타내는 값을 저장하도록 구성되고, 각 쌍의 프로그램 가능한 전류 공급원 중에서 제 2 프로그램 가능한 전류 공급원은 네거티브 가중치를 나타내는 값을 저장하도록 구성되며, 각각의 프로그램 가능한 전류 공급원은 입력 단자 및 출력 단자를 가지고, 제 1 프로그램 가능한 전류 공급원의 출력 단자들은 포지티브 합산 노드에 전기적으로 결합되고, 제 2 프로그램 가능한 전류 공급원의 출력 단자들은 네거티브 합산 노드에 전기적으로 결합됨;
    상기 복수의 프로그램 가능한 전류 공급원 중에서 각 쌍의 프로그램 가능한 전류 공급원에 전기적으로 결합되며, 상기 복수의 프로그램 가능한 전류 공급원 중에서 각 쌍의 프로그램 가능한 전류 공급원에 전류를 공급하도록 동작하는 입력 회로;
    상기 포지티브 합산 노드 및 상기 네거티브 합산 노드에 전기적으로 결합되는 비교 회로- 여기에서, 상기 비교 회로는 상기 포지티브 합산 노드와 상기 네거티브 합산 노드의 전압을 서로 비교하고, 상기 비교 결과를 나타내는 신호를 출력하도록 동작함;
    상기 포지티브 합산 노드와 상기 네거티브 합산 노드에 전기적으로 결합되며, 상기 포지티브 합산 노드와 상기 네거티브 합산 노드 각각에 전류를 공급하도록 동작하는 차동 전류 회로 - 여기에서, 상기 포지티브 합산 노드에 공급되는 전류와 상기 네거티브 합산 노드에 공급되는 전류는 차이가 존재함; 및
    상기 차동 전류 회로와 상기 비교 회로에 인터페이스되는 컨트롤러 - 여기에서, 상기 컨트롤러는 상기 차동 전류 회로와 상호 작용함으로써 상기 포지티브 합산 노드에 공급되는 전류와 상기 네거티브 합산 노드에 공급되는 전류 간 차이의 크기를 변경함;
    를 포함하는 가중치 합 연산을 수행하는 혼합-신호 회로.
  2. 제 1 항에 있어서,
    상기 컨트롤러는 상기 비교 회로에서 출력되는 신호를 수신하고, 상기 포지티브 합산 노드와 상기 네거티브 합산 노드의 전압이 동일함을 나타내는 신호에 의해서, 상기 포지티브 합산 노드에 공급된 전류와 상기 네거티브 합산 노드에 공급된 전류 사이의 차이를 기록하는 혼합-신호 회로.
  3. 제 1 항에 있어서,
    상기 컨트롤러는 상기 차동 전류 회로와의 상호 작용을 통해서 일정 범위의 값 내에서 상기 차이의 크기를 스윕하되, 상기 일정 범위의 값은 최대 네거티브 값과 최대 포지티브 값 사이에서 정의되는 혼합-신호 회로.
  4. 제 1 항에 있어서,
    상기 포지티브 합산 노드와 상기 네거티브 합산 노드에 전기적으로 결합된 공통-모드 전류 회로를 더 포함하되, 상기 공통-모드 전류 회로는 상기 포지티브 합산 노드와 상기 네거티브 합산 노드의 전압 평균을 결정하고, 상기 포지티브 합산 노드와 상기 네거티브 합산 노드 각각에 전류를 공급함으로써, 상기 평균이 목표 전압을 유지하고, 상기 포지티브 합산 노드와 상기 네거티브 합산 노드에 공급되는 전류의 크기가 동일하도록 하는 혼합-신호 회로.
  5. 제 1 항에 있어서,
    상기 프로그램 가능한 전류 공급원 각각은 하나 이상의 플로팅-게이트 트랜지스터로 정의되며, 상기 하나 이상의 플로팅-게이트 트랜지스터의 제어 단자는 상기 입력 회로에 전기적으로 결합되고, 상기 하나 이상의 플로팅-게이트 트랜지스터의 드레인 단자는 각 합산 노드에 전기적으로 결합되며, 상기 하나 이상의 플로팅-게이트 트랜지스터의 소스 단자는 접지에 전기적으로 결합되는 혼합-신호 회로.
  6. 제 1 항에 있어서,
    상기 프로그램 가능한 전류 공급원 각각은 멤리스터로 정의되는 혼합-신호 회로.
  7. 제 1 항에 있어서,
    상기 비교 회로는 연산 증폭기 또는 재생 래치를 포함하는 혼합-신호 회로.
  8. 제 1 항에 있어서,
    상기 포지티브 합산 노드와 상기 네거티브 합산 노드 사이에 전기적으로 결합되는 저항을 더 포함하는 혼합-신호 회로.
  9. 쌍으로 이루어진 복수의 전류 공급원, - 여기에서 쌍으로 이루어진 복수의 전류 공급원 각각에서 제 1 전류 공급원과 제 2 전류 공급원은 전기적 통신에 의해 배열되고, 상기 제 1 전류 공급원과 상기 제 2 전류 공급원 각각은 드레인 단자와 소스 단자를 포함하며, 여기에서 쌍으로 이루어진 복수의 전류 공급원 각각은 입력 단자와 전기적 통신에 의해 배열되는 제어 단자를 포함함;
    제 1 전류 합산 노드와 제 2 전류 합산 노드를 포함하는 한 쌍의 전류 합산 노드;
    여기에서,
    상기 쌍으로 이루어진 복수의 전류 공급원 각각에서 상기 제 1 전류 공급원 및 상기 제 2 전류 공급원 각각의 소스 단자는 접지에 연결되고;
    상기 쌍으로 이루어진 복수의 전류 공급원 각각에서 상기 제 1 전류 공급원의 상기 드레인 단자는 상기 제 1 전류 합산 노드와 전기적 통신에 의해 배열되고, 상기 쌍으로 이루어진 복수의 전류 공급원 각각에서 상기 제 2 전류 공급원의 상기 드레인 단자는 상기 제 2 전류 합산 노드와 전기적 통신에 의해 배열되며;
    차동 전류 컨트롤러와 2개의 차동 전류 공급원을 포함하는 차동 전류 회로, 여기에서 상기 차동 전류 컨트롤러는 상기 2개의 차동 전류 공급원과의 통신을 제어하도록 동작하고, 여기에서 상기 2개의 차동 전류 공급원 각각은 상기 제 1 전류 합산 노드 및 상기 제 2 전류 합산 노드 중 하나와 전기적 통신에 의해 배열됨;
    공통-모드 전류 컨트롤러와 2개의 공통 전류 공급원을 포함하는 공통-모드 전류 회로, 여기에서 상기 공통-모드 전류 컨트롤러는 상기 2개의 공통 전류 공급원과의 통신을 제어하도록 동작하고, 여기에서 상기 2개의 공통 전류 공급원 각각은 상기 제 1 전류 합산 노드 및 상기 제 2 전류 합산 노드 중 하나와 전기적 통신에 의해 배열됨; 및
    상기 제 1 전류 합산 노드 및 상기 제 2 전류 합산 노드의 단자 끝에서 전기적으로 통신하는 비교기 회로;
    를 포함하는 집적 회로.
  10. 제 9 항에 있어서,
    상기 입력 노드는 상기 쌍으로 이루어진 복수의 전류 공급원 각각의 상기 제어 단자에 전압 입력 신호를 공급하고;
    상기 전압 입력 신호에 따라, 상기 쌍으로 이루어진 복수의 전류 공급원 각각은 2 개의 차동 전류를 생성하되, 상기 쌍으로 이루어진 복수의 전류 공급원 각각에서 생성되는 상기 2 개의 차동 전류 사이의 차이 값은 가변되고, 상기 쌍으로 이루어진 복수의 전류 공급원 각각에서 생성되는 상기 2개의 차동 전류 각각은 상기 제 1 합산 노드 및 상기 제 2 합산 노드 중 하나로 공급되는 집접 회로.
  11. 제 10 항에 있어서,
    상기 공통-모드 전류 회로는 상기 제 1 전류 합산 노드 및 상기 제 2 전류 합산 노드의 평균 전압 값을 식별하고,
    상기 제 1 전류 합산 노드 및 상기 제 2 전류 합산 노드의 평균 전압 값 식별에 따라, 상기 공통-모드 컨트롤러는 2개의 공통 전류 신호를 생성하고, 상기 2개의 공통 전류 신호 중에서 제 1 공통 전류 신호와 제 2 공통 전류 신호를 상기 제 1 전류 합산 노드 및 상기 제 2 전류 합산 노드에 각각 공급함으로써, 상기 제 1 전류 합산 노드 및 상기 제 2 전류 합산 노드의 평균 전압 값을 미리 정해진 목표 전압으로 설정하되, 상기 2개의 공통 전류 신호의 크기와 방향은 동일한 집적 회로
  12. 제 11 항에 있어서,
    상기 차동 전류 컨트롤러는 상기 2개의 차동 전류 공급원이 미리 정해진 동일 크기와 반대 방향을 가지는 미리 정해진 2개의 차동 전류 신호를 생성하도록 하고,
    상기 차동 전류 회로는 상기 미리 정해진 2개의 차동 전류 중에서 제 1 차동 전류와 제 2 차동 전류를 상기 제 1 전류 합산 노드 및 상기 제 2 전류 합산 노드에 각각 공급하는 집적 회로.
  13. 제 12 항에 있어서,
    상기 비교기 회로는 상기 제 1 전류 합산 노드로부터 공급된 전체 합산 전류와 상기 제 2 전류 합산 노드로부터 공급된 전체 합산 전류를 비교하고;
    상기 비교기 회로는 상기 제 1 전류 합산 노드로부터 공급된 전체 합산 전류와 상기 제 2 전류 합산 노드로부터 공급된 전체 합산 전류가 동일한 경우에 지표를 출력하는 집적 회로.
  14. 제 12 항에 있어서,
    상기 비교기 회로는 상기 제 1 전류 합산 노드로부터 공급된 전체 합산 전류와 상기 제 2 전류 합산 노드로부터 공급된 전체 합산 전류를 비교하고;
    상기 비교기 회로는 상기 제 1 전류 합산 노드로부터 공급된 전체 합산 전류와 상기 제 2 전류 합산 노드로부터 공급된 전체 합산 전류가 동일한 경우에, 상기 차동 전류 회로로부터 공급되는 상기 차동 전류 신호의 값을 기록하는 집적 회로.
  15. 제 14 항에 있어서,
    상기 집적 회로가 상기 차동 전류 회로로부터 공급되는 상기 차동 전류 신호의 값을 디지털 출력으로 변환하는 집적 회로.
  16. 제 9 항에 있어서,
    상기 쌍으로 이루어진 복수의 전류 공급원 각각에서 상기 제 1 전류 공급원 및 상기 제 2 전류 공급원은 미리 정해진 머신 러닝 모델의 가중치에 따라 미리 프로그램된 프로그램 가능한 전류 생성기를 포함하는 집적 회로.
  17. 제 9 항에 있어서,
    상기 제 1 합산 노드는 상기 쌍으로 이루어진 복수의 전류 공급원 각각에서 상기 제 1 전류 공급원으로부터 공급되는 포지티브 전류 신호를 합산하도록 구성되고;
    상기 제 2 합산 노드는 상기 쌍으로 이루어진 복수의 전류 공급원 각각에서 상기 제 2 전류 공급원으로부터 공급되는 네거티브 전류 신호를 합산하도록 구성되는 집적 회로.
  18. 제 12 항에 있어서,
    상기 차동 전류 회로는 최대 네거티브 전류 값에서 최대 포지티브 전류 값 사이의 범위에 해당하는 미리 정해진 전류 신호 값의 집합을 기초로, 상기 제 1 전류 합산 노드 및 상기 제 2 전류 합산 노드로 복수의 미리 정해진 전류 신호를 공급하는 집적 회로.
  19. 쌍으로 이루어진 복수의 전류 공급원 각각의 제어 단자에 전압 입력 신호를 인가하는 단계;
    상기 전압 입력 신호에 따라, 상기 상으로 이루어진 복수의 전류 공급원 각각에서 2개의 차동 전류를 생성하는 단계, 여기에서 상기 쌍으로 이루어진 복수의 전류 공급원 각각에서 생성되는 상기 2 개의 차동 전류 사이의 차이 값은 가변되고, 상기 쌍으로 이루어진 복수의 전류 공급원 각각에서 생성되는 상기 2개의 차동 전류 각각은 제 1 합산 노드 및 제 2 합산 노드 중 하나로 공급됨;
    상기 제 1 전류 합산 노드 및 상기 제 2 전류 합산 노드의 평균 전압 값을 식별하는 단계;
    상기 제 1 전류 합산 노드 및 상기 제 2 전류 합산 노드의 평균 전압 값 식별에 따라, 2개의 공통 전류 신호를 생성하고, 상기 2개의 공통 전류 신호 중에서 제 1 공통 전류 신호와 제 2 공통 전류 신호를 상기 제 1 전류 합산 노드 및 상기 제 2 전류 합산 노드에 각각 공급함으로써, 상기 제 1 전류 합산 노드 및 상기 제 2 전류 합산 노드의 평균 전압 값을 미리 정해진 목표 전압으로 설정하는 단계, 여기에서, 상기 2개의 공통 전류 신호의 크기와 방향은 동일함;
    동일한 크기와 반대 방향을 가지는 미리 정해진 2개의 차동 전류 신호를 생성하는 단계;
    상기 미리 정해진 2개의 차동 전류 중에서 제 1 차동 전류 및 제 2 차동 전류를 상기 제 1 전류 합산 노드 및 상기 제 2 전류 합산 노드에 각각 공급하는 단계;
    상기 제 1 전류 합산 노드로부터 공급되는 전체 합산 전류와 상기 제 2 전류 합산 노드로부터 공급되는 전체 합산 전류를 비교하는 단계; 및
    상기 제 1 전류 합산 노드로부터 공급된 전체 합산 전류와 상기 제 2 전류 합산 노드로부터 공급된 전체 합산 전류가 동일한 경우에 지표를 출력하는 단계를 포함하는 집적 회로의 이용 방법.
KR1020197025728A 2017-02-07 2018-02-07 혼합-신호 연산 시스템 및 방법 KR102542532B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201762455703P 2017-02-07 2017-02-07
US62/455,703 2017-02-07
PCT/US2018/017243 WO2018148293A1 (en) 2017-02-07 2018-02-07 Systems and methods for mixed-signal computing

Publications (2)

Publication Number Publication Date
KR20190107143A true KR20190107143A (ko) 2019-09-18
KR102542532B1 KR102542532B1 (ko) 2023-06-12

Family

ID=63107049

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020197025728A KR102542532B1 (ko) 2017-02-07 2018-02-07 혼합-신호 연산 시스템 및 방법

Country Status (5)

Country Link
US (1) US10255551B2 (ko)
EP (1) EP3580699B1 (ko)
KR (1) KR102542532B1 (ko)
CN (1) CN110383282A (ko)
WO (1) WO2018148293A1 (ko)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3381053A4 (en) * 2015-11-24 2019-12-18 Georgia Tech Research Corporation BIDIRECTIONAL RADIO BASED ON OSCILLATORS WITH INTEGRATED ANTENNA
WO2019055380A1 (en) 2017-09-15 2019-03-21 Mythic, Inc. SYSTEM AND METHODS FOR MIXED SIGNAL CALCULATION
JP7306725B2 (ja) 2018-03-19 2023-07-11 ミシック,インコーポレイテッド 混合信号コンピューティングのためのシステムおよび方法
US10489483B1 (en) * 2018-09-21 2019-11-26 National Technology & Engineering Solutions Of Sandia, Llc Circuit arrangement and technique for setting matrix values in three-terminal memory cells
US11886987B2 (en) * 2019-06-25 2024-01-30 Arm Limited Non-volatile memory-based compact mixed-signal multiply-accumulate engine
US20210064981A1 (en) * 2019-08-26 2021-03-04 International Business Machines Corporation Controlling performance of deployed deep learning models on resource constrained edge device via predictive models
US20210064379A1 (en) 2019-08-29 2021-03-04 Arm Limited Refactoring MAC Computations for Reduced Programming Steps
EP3992862A1 (en) 2020-10-28 2022-05-04 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Electronic circuit for calculating weighted sums
US11256988B1 (en) * 2021-07-19 2022-02-22 Information Systems Laboratories, Inc. Process and method for real-time sensor neuromorphic processing

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5155377A (en) * 1991-08-20 1992-10-13 Intel Corporation Charge domain differential conductance synapse cell for neural networks
US5479578A (en) * 1989-06-15 1995-12-26 General Electric Company Weighted summation circuitry with digitally controlled capacitive structures
US5630024A (en) * 1994-01-19 1997-05-13 Nippon Telegraph And Telephone Corporation Method and apparatus for processing using neural network with reduced calculation amount

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5039870A (en) * 1990-05-21 1991-08-13 General Electric Company Weighted summation circuits having different-weight ranks of capacitive structures
JPH04281584A (ja) * 1990-08-01 1992-10-07 General Electric Co <Ge> 複数の入力信号の重みづけられた複数の加算を行う装置
US5150450A (en) * 1990-10-01 1992-09-22 The United States Of America As Represented By The Secretary Of The Navy Method and circuits for neuron perturbation in artificial neural network memory modification
WO1995017781A1 (en) * 1993-12-23 1995-06-29 The State Of Oregon, Acting By And Through The State Board Of Higher Education On Behalf Of Portland State University Programmable analog array circuit
DE10064207A1 (de) * 2000-12-22 2002-07-11 Infineon Technologies Ag Schaltungsanordnung zur rauscharmen volldifferenziellen Verstärkung
US8704581B2 (en) * 2007-04-23 2014-04-22 Qualcomm Incorporated Switched capacitor integration and summing circuits
EP2629519A1 (en) * 2010-02-05 2013-08-21 Siemens Aktiengesellschaft A method and an apparatus for difference measurement of an image
KR20130061422A (ko) * 2011-12-01 2013-06-11 삼성전자주식회사 전압 합산 버퍼, 이를 포함하는 디지털-아날로그 컨버터 및 디스플레이 장치의 소스 드라이버
US9760533B2 (en) 2014-08-14 2017-09-12 The Regents On The University Of Michigan Floating-gate transistor array for performing weighted sum computation

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5479578A (en) * 1989-06-15 1995-12-26 General Electric Company Weighted summation circuitry with digitally controlled capacitive structures
US5155377A (en) * 1991-08-20 1992-10-13 Intel Corporation Charge domain differential conductance synapse cell for neural networks
US5630024A (en) * 1994-01-19 1997-05-13 Nippon Telegraph And Telephone Corporation Method and apparatus for processing using neural network with reduced calculation amount

Also Published As

Publication number Publication date
US10255551B2 (en) 2019-04-09
KR102542532B1 (ko) 2023-06-12
EP3580699B1 (en) 2023-12-06
US20180247192A1 (en) 2018-08-30
WO2018148293A1 (en) 2018-08-16
CN110383282A (zh) 2019-10-25
EP3580699A1 (en) 2019-12-18
EP3580699A4 (en) 2020-12-23

Similar Documents

Publication Publication Date Title
KR102542532B1 (ko) 혼합-신호 연산 시스템 및 방법
US11626884B2 (en) System and methods for mixed-signal computing
CN111985630B (zh) 运用于类神经网络系统的乘积累加电路的控制电路
US10255205B1 (en) System and methods for mixed-signal computing
US11573792B2 (en) Method and computing device with a multiplier-accumulator circuit
US20230113231A1 (en) Methods and systems of operating a neural circuit in a non-volatile memory based neural-array
EP3729340A1 (en) Systems and methods for mapping matrix calculations to a matrix multiply accelerator
CN110651330A (zh) 二分忆阻网络中的深度学习
US20230177319A1 (en) Methods and systems of operating a neural circuit in a non-volatile memory based neural-array
US20230053948A1 (en) Apparatus and method with in-memory computing

Legal Events

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