KR102225558B1 - Multilayer Computing Circuit Based on Analog Signal Transfer with On-Chip Activation Function - Google Patents

Multilayer Computing Circuit Based on Analog Signal Transfer with On-Chip Activation Function Download PDF

Info

Publication number
KR102225558B1
KR102225558B1 KR1020190126711A KR20190126711A KR102225558B1 KR 102225558 B1 KR102225558 B1 KR 102225558B1 KR 1020190126711 A KR1020190126711 A KR 1020190126711A KR 20190126711 A KR20190126711 A KR 20190126711A KR 102225558 B1 KR102225558 B1 KR 102225558B1
Authority
KR
South Korea
Prior art keywords
analog
signal
analog buffer
buffer
layer
Prior art date
Application number
KR1020190126711A
Other languages
Korean (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 KR1020190126711A priority Critical patent/KR102225558B1/en
Application granted granted Critical
Publication of KR102225558B1 publication Critical patent/KR102225558B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/544Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices for evaluating functions by calculation
    • 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
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/12Bit line control circuits, e.g. drivers, boosters, pull-up circuits, pull-down circuits, precharging circuits, equalising circuits, for bit lines
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/08Word line control circuits, e.g. drivers, boosters, pull-up circuits, pull-down circuits, precharging circuits, for word lines
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M1/00Analogue/digital conversion; Digital/analogue conversion
    • H03M1/12Analogue/digital converters
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M1/00Analogue/digital conversion; Digital/analogue conversion
    • H03M1/66Digital/analogue converters

Landscapes

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

Abstract

Provided is a multi-layer arithmetic circuit. The embodiments of the present invention include an arithmetic memory divided into a plurality of arithmetic regions for performing multiplication and addition. The plurality of arithmetic regions act as layers of a learning network. Since analog buffers are connected to the plurality of arithmetic regions to transfer data from one arithmetic region to another, the data transfer time between the layers of the learning network can be minimized.

Description

온칩 활성화 함수가 구현된 아날로그 신호 전달 기반의 멀티 레이어 연산 회로 {Multilayer Computing Circuit Based on Analog Signal Transfer with On-Chip Activation Function}Multilayer Computing Circuit Based on Analog Signal Transfer with On-Chip Activation Function

본 발명이 속하는 기술 분야는 메모리 내 연산(Compute-In-Memory) 회로에 관한 것이다.The technical field to which the present invention pertains is to a Compute-In-Memory circuit.

이 부분에 기술된 내용은 단순히 본 실시예에 대한 배경 정보를 제공할 뿐 종래기술을 구성하는 것은 아니다.The content described in this section merely provides background information on the present embodiment and does not constitute the prior art.

스마트 TV, 스마트 스피커, 자율주행차, 무인 항공기, 증강 현실(Augmented Reality, AR) 장치, 및 가상 현실(Virtual Reality, VR) 장치 등의 다양한 장치에 인공지능(Artificial Intelligence, AI) 칩이 필요하다. 온디바이스(On-Device) AI 칩은 제품 자체에서 기계 학습(Machine Learning)과 추론을 구현할 수 있다.Artificial Intelligence (AI) chips are required for various devices such as smart TVs, smart speakers, autonomous vehicles, unmanned aerial vehicles, Augmented Reality (AR) devices, and Virtual Reality (VR) devices. . On-device AI chips can implement machine learning and inference in the product itself.

AI 칩은 전력소모 대비 성능이 중요하다. 범용 GPU는 데이터 세트를 훈련하는데 효율적이지만 전력 소모가 크고 발열이 심해서 상용 디바이스에 탑재하기 곤란하다.For AI chips, performance versus power consumption is important. General-purpose GPUs are efficient for training data sets, but they are difficult to mount on commercial devices due to their high power consumption and high heat generation.

기존의 메모리 내 연산(Compute-In-Memory) 회로는 단일 레이어의 MAC(Multiply Accumulate Circuit) 연산을 목표로 한다. 기존의 메모리 내 연산 회로를 이용하여 복수의 레이어를 연산하려면, 아날로그 디지털 컨버터(Analog to Digital Converter, ADC), 디지털 활성화 함수 회로, 및 디지털 아날로그 컨버터(Digital to Analog Converter, DAC)를 추가로 사용하여 불필요한 데이터 변화 과정이 필요하므로, 멀티 레이어로 구성된 딥러닝 알고리즘에 적합하지 않다.The existing Compute-In-Memory circuit targets a single layer multiply accumulate circuit (MAC) operation. In order to calculate multiple layers using an existing in-memory operation circuit, an analog to digital converter (ADC), a digital activation function circuit, and a digital to analog converter (DAC) are additionally used. Since it requires unnecessary data change process, it is not suitable for deep learning algorithms composed of multi-layers.

미국공개특허공보 2019/0042199 (2019.02.07)U.S. Published Patent Publication 2019/0042199 (2019.02.07) 미국공개특허공보 2019/0042928 (2019.02.07)U.S. Published Patent Publication 2019/0042928 (2019.02.07) 미국공개특허공보 2017/0337466 (2017.11.23)U.S. Patent Publication 2017/0337466 (2017.11.23)

"Conv-RAM: An Energy-Efficient SRAM with Embedded Convolution Computation for Low-Power CNN-Based Machine Learning Applications", ISSCC, pp.488-489, 2018 "Conv-RAM: An Energy-Efficient SRAM with Embedded Convolution Computation for Low-Power CNN-Based Machine Learning Applications", ISSCC, pp.488-489, 2018

본 발명의 실시예들은 곱셈 및 덧셈을 수행하는 복수의 연산 영역으로 구분된 연산 메모리를 포함하고, 복수의 연산 영역은 학습 네트워크의 레이어로 동작하고, 아날로그 버퍼가 복수의 연산 영역에 연결되어 데이터를 하나의 연산 영역에서 다른 연산 영역으로 전송함으로써, 학습 네트워크의 레이어 간에 데이터 전송 시간을 최소화하는 데 발명의 주된 목적이 있다.Embodiments of the present invention include an operation memory divided into a plurality of operation regions that perform multiplication and addition, the plurality of operation regions operate as a layer of a learning network, and an analog buffer is connected to the plurality of operation regions to store data. The main object of the invention is to minimize data transmission time between layers of a learning network by transmitting from one computational domain to another.

본 발명의 명시되지 않은 또 다른 목적들은 하기의 상세한 설명 및 그 효과로부터 용이하게 추론할 수 있는 범위 내에서 추가적으로 고려될 수 있다.Other objects not specified of the present invention may be additionally considered within a range that can be easily deduced from the following detailed description and effects thereof.

본 실시예의 일 측면에 의하면, 아날로그 입력 신호를 입력받고 상기 아날로그 입력 신호를 처리하여 아날로그 출력 신호를 출력하는 복수의 연산 영역을 포함하는 연산 메모리; 및 상기 복수의 연산 영역에 연결되어 상기 아날로그 출력 신호를 하나의 연산 영역에서 다른 연산 영역으로 전송하는 아날로그 버퍼를 포함하며, 상기 연산 영역은 학습 네트워크의 레이어로 동작하는 것을 특징으로 하는 멀티 레이어 연산 회로를 제공한다.According to an aspect of the present embodiment, there is provided an operation memory including a plurality of operation regions for receiving an analog input signal and processing the analog input signal to output an analog output signal; And an analog buffer connected to the plurality of operation regions to transmit the analog output signal from one operation region to another operation region, wherein the operation region operates as a layer of a learning network. Provides.

상기 연산 메모리 및 상기 아날로그 버퍼는 제어부로부터 제어 신호를 수신할 수 있다.The operation memory and the analog buffer may receive a control signal from a control unit.

상기 제어 신호는 상기 하나의 연산 영역에서 상기 아날로그 버퍼로 상기 아날로그 출력 신호가 전송되고 상기 아날로그 버퍼의 안정화 시간이 지난 후에 상기 다른 연산 영역을 동작시키도록 상기 연산 메모리 및 상기 아날로그 버퍼의 동작 시간을 제어할 수 있다.The control signal controls the operation time of the operation memory and the analog buffer to operate the other operation region after the analog output signal is transmitted from the one operation region to the analog buffer and a stabilization time of the analog buffer elapses. can do.

상기 연산 영역은 복수의 워드 라인, 복수의 비트 라인, 및 복수의 메모리 셀을 포함하고, 상기 메모리 셀은 상기 가중치를 저장하고, 상기 워드 라인과 상기 비트 라인은 상기 메모리 셀에 연결될 수 있다.The operation area may include a plurality of word lines, a plurality of bit lines, and a plurality of memory cells, the memory cells may store the weights, and the word lines and the bit lines may be connected to the memory cells.

상기 연산 영역은 (i) 상기 아날로그 입력 신호와 상기 가중치를 곱하여 출력하는 곱셈 영역과 (ii) 상기 곱셈 영역의 출력을 누산하여 상기 아날로그 출력 신호를 출력하는 누산 영역을 포함할 수 있다.The operation region may include (i) a multiplication region for multiplying the analog input signal and the weight and outputting it, and (ii) an accumulation region for accumulating the output of the multiplication region and outputting the analog output signal.

상기 누산 영역은 상기 복수의 비트 라인이 포지티브 라인 및 네거티브 라인에 연결되어 전하 공유(Charge Sharing) 방식으로 상기 곱셈 영역의 출력을 누산할 수 있다.In the accumulation region, the plurality of bit lines are connected to the positive line and the negative line, and the output of the multiplication region may be accumulated in a charge sharing method.

상기 아날로그 버퍼는 상기 아날로그 버퍼에 입력된 신호가 0보다 작으면 0을 출력하고, 상기 아날로그 버퍼에 입력된 신호가 0보다 크면 상기 아날로그 버퍼에 입력된 신호를 그대로 출력할 수 있다.The analog buffer may output 0 when the signal input to the analog buffer is less than 0, and may output the signal input to the analog buffer as it is when the signal input to the analog buffer is greater than 0.

상기 아날로그 버퍼의 등가 회로는 연산 증폭기의 출력 단자와 상기 연산 증폭기의 반전 입력 단자가 연결된 피드백을 갖고, 상기 아날로그 버퍼는 상기 학습 네트워크의 활성화 함수로 동작할 수 있다.The equivalent circuit of the analog buffer may have a feedback connected to the output terminal of the operational amplifier and the inverting input terminal of the operational amplifier, and the analog buffer may operate as an activation function of the learning network.

상기 아날로그 버퍼의 등가 회로는 상기 연산 증폭기의 최소 출력 전압 결정하는 전원 단자를 0 V로 설정할 수 있다.The equivalent circuit of the analog buffer may set a power terminal for determining the minimum output voltage of the operational amplifier to 0 V.

상기 아날로그 버퍼는 복수의 트랜지스터를 포함하고, 상기 피드백을 사용하는 연산 증폭기가 발진(Oscillation)하지 않도록 상기 복수의 트랜지스터에 보상 캐패시터가 연결될 수 있다.The analog buffer includes a plurality of transistors, and a compensation capacitor may be connected to the plurality of transistors so that the operational amplifier using the feedback does not oscillate.

상기 아날로그 버퍼는 복수의 트랜지스터를 포함하고, 기 설정된 안정화 시간(Settling Time)에서 동작하도록 상기 복수의 트랜지스터의 사이즈와 바이어스 전압이 설정될 수 있다.The analog buffer includes a plurality of transistors, and sizes and bias voltages of the plurality of transistors may be set to operate at a preset settling time.

상기 복수의 연산 영역은 (i) 제1 레이어에 해당하는 제1 연산 영역과 (ii) 제2 레이어에 해당하는 제2 연산 영역을 포함할 수 있다. The plurality of operation regions may include (i) a first operation region corresponding to a first layer and (ii) a second operation region corresponding to a second layer.

상기 제1 연산 영역과 상기 제2 연산 영역 사이에 상기 아날로그 버퍼가 연결되며, 상기 제1 연산 영역의 출력 신호가 상기 아날로그 버퍼를 거쳐 상기 제2 연산 영역으로 전송될 수 있다.The analog buffer may be connected between the first operation region and the second operation region, and an output signal of the first operation region may be transmitted to the second operation region through the analog buffer.

상기 제1 연산 영역의 입력단에 디지털 아날로그 컨버터(Digital to Analog Converter, DAC)가 연결되고, 상기 제2 연산 영역의 출력단에 아날로그 디지털 컨버터(Analog to Digital Converter, ADC)가 연결될 수 있다.A digital to analog converter (DAC) may be connected to an input terminal of the first operation region, and an analog to digital converter (ADC) may be connected to an output terminal of the second operation region.

상기 디지털 아날로그 컨버터는 제1 아날로그 신호를 상기 제1 연산 영역으로 전송하고, 상기 제1 연산 영역은 상기 제1 아날로그 신호를 처리하여 제2 아날로그 신호를 생성하고, 상기 제1 연산 영역은 상기 제2 아날로그 신호를 상기 아날로그 버퍼로 전송하고, 상기 아날로그 버퍼는 상기 제2 아날로그 신호를 처리하여 제3 아날로그 신호를 생성하고, 상기 아날로그 버퍼는 상기 제3 아날로그 신호를 상기 제2 연산 영역으로 전송하고, 상기 제2 연산 영역은 상기 제3 아날로그 신호를 처리하여 제4 아날로그 신호를 생성하고, 상기 제2 연산 영역은 상기 제4 아날로그 신호를 상기 아날로그 디지털 컨버터로 전송할 수 있다.The digital-to-analog converter transmits a first analog signal to the first operation region, the first operation region processes the first analog signal to generate a second analog signal, and the first operation region generates the second analog signal. An analog signal is transmitted to the analog buffer, the analog buffer processes the second analog signal to generate a third analog signal, and the analog buffer transmits the third analog signal to the second operation area, and the A second operation region may process the third analog signal to generate a fourth analog signal, and the second operation region may transmit the fourth analog signal to the analog-to-digital converter.

상기 디지털 아날로그 컨버터, 상기 연산 메모리, 상기 아날로그 버퍼, 및 상기 아날로그 디지털 컨버터는 제어부로부터 제어 신호를 수신할 수 있다.The digital-to-analog converter, the operation memory, the analog buffer, and the analog-to-digital converter may receive a control signal from a control unit.

상기 제어 신호는 상기 디지털 아날로그 컨버터의 처리 시간, 상기 제1 연산 영역의 처리 시간, 상기 아날로그 버퍼의 안정화 시간, 및 상기 제2 연산 영역의 처리 시간이 충돌하지 않도록, 상기 디지털 아날로그 컨버터, 상기 연산 메모리, 상기 아날로그 버퍼, 및 상기 아날로그 디지털 컨버터의 동작 시간을 제어할 수 있다.The control signal is the digital-to-analog converter, the operation memory so that the processing time of the digital-to-analog converter, the processing time of the first operation region, the stabilization time of the analog buffer, and the processing time of the second operation region do not collide. , It is possible to control the operation time of the analog buffer and the analog-to-digital converter.

본 실시예의 다른 측면에 의하면, 시각 정보를 표시하는 화소를 갖는 표시부; 상기 표시부에 연결되어 상기 화소의 동작을 제어하는 제어부; 및 상기 제어부에 연결되어 이미지 데이터를 전송하는 멀티 레이어 연산 회로를 포함하며, 상기 멀티 레이어 연산 회로는, 아날로그 입력신호를 입력받고 상기 아날로그 입력신호를 처리하여 아날로그 출력신호를 출력하는 복수의 연산 영역을 포함하는 연산 메모리; 및 상기 복수의 연산 영역에 연결되어 상기 아날로그 출력신호를 하나의 연산 영역에서 다른 연산 영역으로 전송하는 아날로그 버퍼를 포함하며, 상기 연산 영역은 학습 네트워크의 레이어로 동작하는 것을 특징으로 하는 디스플레이를 제공한다.According to another aspect of the present embodiment, there is provided a display unit having a pixel for displaying visual information; A control unit connected to the display unit to control an operation of the pixel; And a multi-layer operation circuit connected to the control unit to transmit image data, wherein the multi-layer operation circuit receives an analog input signal and processes the analog input signal to output an analog output signal. Computing memory including; And an analog buffer connected to the plurality of operation regions to transmit the analog output signal from one operation region to another operation region, wherein the operation region operates as a layer of a learning network. .

본 실시예의 또 다른 측면에 의하면, 적어도 하나의 전기 신호를 발생시키는 전자 회로; 및 상기 전자 회로에 연결된 멀티 레이어 연산 회로를 포함하며, 상기 멀티 레이어 연산 회로는, 아날로그 입력신호를 입력받고 상기 아날로그 입력신호를 처리하여 아날로그 출력신호를 출력하는 복수의 연산 영역을 포함하는 연산 메모리; 및 상기 복수의 연산 영역에 연결되어 상기 아날로그 출력신호를 하나의 연산 영역에서 다른 연산 영역으로 전송하는 아날로그 버퍼를 포함하며, 상기 연산 영역은 학습 네트워크의 레이어로 동작하는 것을 특징으로 하는 전자 장치를 제공한다.According to another aspect of the present embodiment, there is provided an electronic circuit for generating at least one electric signal; And a multi-layer operation circuit connected to the electronic circuit, wherein the multi-layer operation circuit includes: an operation memory including a plurality of operation regions for receiving an analog input signal and processing the analog input signal to output an analog output signal; And an analog buffer connected to the plurality of operation regions to transmit the analog output signal from one operation region to another operation region, wherein the operation region operates as a layer of a learning network. do.

이상에서 설명한 바와 같이 본 발명의 실시예들에 의하면, 곱셈 및 덧셈을 수행하는 복수의 연산 영역으로 구분된 연산 메모리를 포함하고, 복수의 연산 영역은 학습 네트워크의 레이어로 동작하고, 아날로그 버퍼가 복수의 연산 영역에 연결되어 데이터를 하나의 연산 영역에서 다른 연산 영역으로 전송함으로써, 학습 네트워크의 레이어 간에 데이터 전송 시간을 최소화할 수 있는 효과가 있다.As described above, according to the embodiments of the present invention, an operation memory divided into a plurality of operation regions for performing multiplication and addition is included, the plurality of operation regions operate as a layer of a learning network, and a plurality of analog buffers are provided. It is connected to the computational domain of and transmits data from one computational domain to another, thereby minimizing the data transmission time between layers of the learning network.

여기에서 명시적으로 언급되지 않은 효과라 하더라도, 본 발명의 기술적 특징에 의해 기대되는 이하의 명세서에서 기재된 효과 및 그 잠정적인 효과는 본 발명의 명세서에 기재된 것과 같이 취급된다.Even if it is an effect not explicitly mentioned herein, the effect described in the following specification expected by the technical features of the present invention and the provisional effect thereof are treated as described in the specification of the present invention.

도 1은 기존의 메모리 내 연산(Compute-In-Memory) 회로를 학습 네트워크의 레이어로 연결한 도면이다.
도 2 및 도 3는 본 발명의 실시예들에 따른 멀티 레이어 연산 회로를 예시한 블록도이다.
도 4 및 도 5는 본 발명의 일 실시예에 따른 멀티 레이어 연산 회로를 학습 네트워크의 레이어로 연결한 도면이다.
도 6은 학습 네트워크의 레이어를 예시한 도면이다.
도 7은 본 발명의 일 실시예에 따른 멀티 레이어 연산 회로의 활성화 함수로 동작하는 아날로그 버퍼를 예시한 도면이다.
도 8 및 도 9는 본 발명의 일 실시예에 따른 멀티 레이어 연산 회로의 아날로그 버퍼의 출력을 예시한 도면이다.
도 10 및 도 11은 본 발명의 일 실시예에 따른 멀티 레이어 연산 회로의 아날로그 버퍼의 안정화 시간을 예시한 도면이다.
1 is a diagram illustrating an existing Compute-In-Memory circuit connected to a layer of a learning network.
2 and 3 are block diagrams illustrating a multi-layer operation circuit according to embodiments of the present invention.
4 and 5 are diagrams in which a multi-layer operation circuit according to an embodiment of the present invention is connected to a layer of a learning network.
6 is a diagram illustrating a layer of a learning network.
7 is a diagram illustrating an analog buffer operating as an activation function of a multi-layer operation circuit according to an embodiment of the present invention.
8 and 9 are diagrams illustrating an output of an analog buffer of a multilayer operation circuit according to an embodiment of the present invention.
10 and 11 are diagrams illustrating a stabilization time of an analog buffer of a multi-layer operation circuit according to an embodiment of the present invention.

이하, 본 발명을 설명함에 있어서 관련된 공지기능에 대하여 이 분야의 기술자에게 자명한 사항으로서 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략하고, 본 발명의 일부 실시예들을 예시적인 도면을 통해 상세하게 설명한다.Hereinafter, in the description of the present invention, when it is determined that the subject matter of the present invention may be unnecessarily obscured as matters that are obvious to a person skilled in the art with respect to known functions related to the present invention, a detailed description thereof will be omitted, and some embodiments of the present invention will be described. It will be described in detail through exemplary drawings.

딥러닝 알고리즘은 레이어를 적층하여 정확도를 높인다. 딥러닝 알고리즘은 이전 레이어의 결과값에 활성화 함수(Activation Function)를 취한 값이 다음 레이어의 입력 값으로 사용한다.Deep learning algorithms increase accuracy by stacking layers. In the deep learning algorithm, the value obtained by taking an activation function from the result value of the previous layer is used as the input value of the next layer.

기존의 메모리 내 연산(Compute-In-Memory) 회로 아키텍처는 비효율적인 레이어 간 데이터 전송(Layer to Layer Data Transfer) 방식을 사용한다. 디지털 도메인에서 동작하는 FPGA(Field Programmable Gate Array) 또는 소프트웨어를 이용하여 활성화 함수를 구현하고, FPGA의 입력단에 아날로그 디지털 컨버터(Analog to Digital Converter, ADC)이 연결되고, FPGA의 출력단에 디지털 아날로그 컨버터(Digital to Analog Converter, DAC)이 연결된다.The existing Compute-In-Memory circuit architecture uses an inefficient Layer to Layer Data Transfer method. The activation function is implemented using FPGA (Field Programmable Gate Array) or software operating in the digital domain, and an analog to digital converter (ADC) is connected to the input terminal of the FPGA, and a digital to analog converter (ADC) is connected to the output terminal of the FPGA. Digital to Analog Converter, DAC) is connected.

본 실시예에 따른 멀티 레이어 연산 회로는 효율적인 레이어 간 데이터 전송을 위해 아날로그 버퍼(Analog Buffer)를 사용하여 아날로그 도메인(Analog Domain)에서 데이터를 전송하므로, 레이어 간에 ADC 및 DAC가 불필요하다. 즉, 데이터 전송에 소모되는 지연 시간을 최소화할 수 있다.Since the multi-layer operation circuit according to the present embodiment transmits data in an analog domain using an analog buffer for efficient inter-layer data transmission, an ADC and a DAC are not required between layers. That is, it is possible to minimize the delay time consumed in data transmission.

본 실시예에 따른 멀티 레이어 연산 회로는 아날로그 버퍼를 사용하여 온칩 활성화 함수를 구현하고, 아날로그 버퍼의 Vss=0으로 설정하여 ReLU(Rectified Linear Unit) 함수를 구현한다. 본 실시예에 따른 멀티 레이어 연산 회로는 멀티 레이어 딥러닝 알고리즘에 적합한 메모리 내 연산(Compute-In-Memory) 회로 아키텍처를 구현할 수 있다.The multi-layer operation circuit according to the present embodiment implements an on-chip activation function using an analog buffer, and implements a ReLU (Rectified Linear Unit) function by setting Vss=0 of the analog buffer. The multi-layer operation circuit according to the present embodiment may implement a compute-in-memory circuit architecture suitable for a multi-layer deep learning algorithm.

도 1은 기존의 메모리 내 연산(Compute-In-Memory, CIM) 회로를 학습 네트워크의 레이어로 연결한 도면이다.1 is a diagram illustrating an existing Compute-In-Memory (CIM) circuit connected to a layer of a learning network.

기존의 CIM 회로는 멀티 레이어로 구성되는 딥러닝 알고리즘의 특성에 맞지 않게, 단일 레이어의 MAC 연산 구현을 목표로 한다. 기존의 CIM 회로는 MAC 연산 구현만을 목표로 하므로, 딥러닝에서 사용되는 ReLU 함수와 같은 활성화 함수를 칩 내부에서 구현하는 것이 아닌, FPGA 또는 MATLAB과 같은 소프트웨어를 사용하여 구현한다.Existing CIM circuits aim to implement MAC operation in a single layer, inconsistent with the characteristics of deep learning algorithms composed of multiple layers. Since the existing CIM circuit only aims to implement the MAC operation, the activation function such as the ReLU function used in deep learning is not implemented inside the chip, but is implemented using software such as FPGA or MATLAB.

기존 CIM를 이용하여 멀티 레이어 딥러닝 알고리즘을 구현하려면, 디지털 입력 데이터 -> DAC -> 아날로그 데이터 -> MAC(아날로그 도메인) -> ADC -> 디지털 데이터 -> FPGA(디지털 도메인) -> DAC -> 아날로그 데이터 -> MAC(아날로그 도메인) -> ADC -> 디지털 출력 데이터로 신호 전달 과정을 거친다. To implement a multi-layer deep learning algorithm using existing CIM, digital input data -> DAC -> analog data -> MAC (analog domain) -> ADC -> digital data -> FPGA (digital domain) -> DAC -> Analog data -> MAC (Analog domain) -> ADC -> Digital output data passes through the signal transmission process.

멀티 레이어 구현을 위해 아날로그 형식으로 계산된 MAC 연산 결과를 ADC를 이용하여 디지털 값으로 변환하고, FPGA에서 활성화 함수를 취한 뒤에, 다시 DAC를 이용하여 아날로그 값으로 변환한다. 변환된 아날로그 값을 다음 레이어의 입력으로 넣어준다. 즉, 레이어를 통과할 때마다 ADC와 DAC가 추가로 필요하고 칩 외부에서 활성화 함수를 적용하므로, 시간 측면에서 오버헤드가 발생한다. 따라서 레이서 간에 불필요한 데이터 변환 과정을 제거할 필요가 있다.For multi-layer implementation, the result of the MAC operation calculated in analog format is converted to a digital value using an ADC, an activation function is taken from the FPGA, and then converted to an analog value using a DAC. The converted analog value is put as the input of the next layer. In other words, an additional ADC and DAC are required each time a layer is passed, and an activation function is applied outside the chip, which incurs overhead in terms of time. Therefore, it is necessary to eliminate unnecessary data conversion process between racers.

도 2 및 도 3는 본 발명의 실시예들에 따른 멀티 레이어 연산 회로를 예시한 블록도이다.2 and 3 are block diagrams illustrating a multi-layer operation circuit according to embodiments of the present invention.

도 2에 도시한 바와 같이, 멀티 레이어 연산 회로(200)는 연산 메모리(210) 및 아날로그 버퍼(220)를 포함한다. 멀티 레이어 연산 회로(200)는 도 2에서 예시적으로 도시한 다양한 구성요소들 중에서 일부 구성요소를 생략하거나 다른 구성요소를 추가로 포함할 수 있다. 예컨대, 멀티 레이어 연산 회로(300)는 디지털 아날로그 컨버터(330), 아날로그 디지털 컨버터(340), 또는 이들의 조합을 추가로 포함할 수 있다.As shown in FIG. 2, the multi-layer operation circuit 200 includes an operation memory 210 and an analog buffer 220. The multi-layer operation circuit 200 may omit some components or additionally include other components among the various components exemplarily illustrated in FIG. 2. For example, the multi-layer operation circuit 300 may further include a digital-to-analog converter 330, an analog-to-digital converter 340, or a combination thereof.

멀티 레이어 연산 회로(200, 300)는 곱셈 및 덧셈을 수행하는 복수의 연산 영역으로 구분된 연산 메모리(210, 310)를 포함하고, 아날로그 버퍼(220, 320)가 복수의 연산 영역에 연결되어 데이터를 하나의 연산 영역에서 다른 연산 영역으로 전송한다. 복수의 연산 영역은 제1 연산 영역(311) 및 제2 연산 영역(312)을 포함할 수 있다.The multi-layer operation circuits 200 and 300 include operation memories 210 and 310 divided into a plurality of operation regions for performing multiplication and addition, and the analog buffers 220 and 320 are connected to the plurality of operation regions to provide data Is transferred from one operation area to another operation area. The plurality of operation regions may include a first operation region 311 and a second operation region 312.

연산 메모리(210, 310)는 아날로그 입력 신호를 입력받고 아날로그 입력 신호를 처리하여 아날로그 출력 신호를 출력하는 복수의 연산 영역을 포함한다. 연산 영역은 학습 네트워크의 레이어로 동작한다. 학습 네트워크는 딥러닝 네트워크이며, CNN(Convolutional Neural Network), RNN(Recurrent Neural Network), GAN(Generative Adversarial Network), RL(Relation Networks) 등의 다양한 네트워크가 적용될 수 있다.The operation memories 210 and 310 include a plurality of operation regions for receiving an analog input signal, processing the analog input signal, and outputting an analog output signal. The computational domain acts as a layer of the learning network. The learning network is a deep learning network, and various networks such as Convolutional Neural Network (CNN), Recurrent Neural Network (RNN), Generative Adversarial Network (GAN), and Relation Networks (RL) can be applied.

연산 영역은 복수의 워드 라인(Word Line, WL), 복수의 비트 라인(Bit Line, BL), 및 복수의 메모리 셀을 포함한다. 워드 라인과 비트 라인은 메모리 셀에 연결되고, 메모리 셀은 가중치를 저장한다. The operation region includes a plurality of word lines (WL), a plurality of bit lines (BL), and a plurality of memory cells. Word lines and bit lines are connected to the memory cells, and the memory cells store weights.

복수의 워드 라인은 리드 워드 라인(Read Word Line) 및/또는 라이트 워드 라인(Write Word Line)을 포함할 수 있다. The plurality of word lines may include a read word line and/or a write word line.

복수의 비트 라인은 비트 라인 쌍을 포함할 수 있다. 비트 라인 쌍은 비트 라인 및/또는 상보 비트 라인(Bit Line Bar)을 포함할 수 있다. 복수의 비트 라인은 입력 비트 라인 및 출력 비트 라인을 포함할 수 있다. 입력 비트 라인 및 출력 비트 라인은 물리적인 라인을 공유하되 시간적으로 구분될 수 있고, 물리적으로 구분되어 배치될 수 있다.The plurality of bit lines may include a pair of bit lines. The bit line pair may include a bit line and/or a complementary bit line (Bit Line Bar). The plurality of bit lines may include an input bit line and an output bit line. The input bit line and the output bit line share a physical line, but may be temporally separated, and may be physically separated and disposed.

복수의 메모리 셀은 스위치와 저장부를 포함한다. 스위치는 트랜지스터일 수 있고, 저장부는 커패시터, 트랜지스터, 저항, 래치 회로, 또는 이들의 조합을 포함할 수 있다. The plurality of memory cells includes a switch and a storage unit. The switch may be a transistor, and the storage may include a capacitor, a transistor, a resistor, a latch circuit, or a combination thereof.

워드 라인을 통해 입력된 신호에 의해 스위치가 턴온 또는 턴오프되면, 스위치에 연결된 저장부가 데이터 리드 동작 또는 데이터 라이트 동작을 수행한다. 저장부는 비트 라인을 통해 프리 차지 또는 디스 차지 동작을 수행한다. 필요에 따라 메모리 셀은 데이터 리드 동작만을 수행할 수도 있다. 저장부는 비트 라인 및 상보 비트 라인을 통해 신호를 전송할 수도 있고, 입력 비트 라인 및 출력 비트 라인을 통해 신호를 전송할 수도 있다.When the switch is turned on or off by a signal input through the word line, a storage unit connected to the switch performs a data read operation or a data write operation. The storage unit performs a pre-charge or dis-charge operation through a bit line. If necessary, the memory cell may perform only a data read operation. The storage unit may transmit a signal through a bit line and a complementary bit line, or may transmit a signal through an input bit line and an output bit line.

메모리 셀에 저장된 가중치는 [-1, 1]의 값일 수 있으며, 필요에 따라 0을 포함하거나 다른 수치가 설정될 수 있다.The weight stored in the memory cell may be a value of [-1, 1], and may include 0 or another value may be set as necessary.

아날로그 버퍼(220, 320)는 복수의 연산 영역에 연결되어 아날로그 출력 신호를 하나의 연산 영역에서 다른 연산 영역으로 전송한다.The analog buffers 220 and 320 are connected to a plurality of operation regions to transmit an analog output signal from one operation region to another operation region.

연산 메모리 및 아날로그 버퍼는 제어부(미도시)로부터 제어 신호를 수신한다. 제어부는 멀티 레이어 연산 회로에 구현되거나 멀티 레이어 연산 회로의 외부에 구현될 수 있다.The operation memory and the analog buffer receive a control signal from a control unit (not shown). The control unit may be implemented in the multi-layer operation circuit or external to the multi-layer operation circuit.

제어 신호는 하나의 연산 영역에서 아날로그 버퍼로 아날로그 출력 신호가 전송되고 아날로그 버퍼의 안정화 시간이 지난 후에 다른 연산 영역을 동작시키도록 연산 메모리 및 아날로그 버퍼의 동작 시간을 제어한다.The control signal controls the operation time of the operation memory and the analog buffer so that the analog output signal is transmitted from one operation area to the analog buffer and the other operation area is operated after the stabilization time of the analog buffer has elapsed.

제어 신호는 하나의 연산 영역의 처리 시간, 하나의 연산 영역에서 아날로그 버퍼로 아날로그 출력 신호가 전송되는 시간, 아날로그 버퍼의 동작 시간, 및 아날로그 버퍼에서 다른 연산 영역으로 아날로그 출력 신호가 전송되는 시간을 고려하여, 연산 메모리 및 아날로그 버퍼의 동작 시간을 제어할 수 있다.The control signal takes into account the processing time of one operation area, the time that the analog output signal is transmitted from one operation area to the analog buffer, the operation time of the analog buffer, and the time that the analog output signal is transmitted from the analog buffer to another operation area. Thus, it is possible to control the operation time of the operation memory and the analog buffer.

연산 영역은 곱셈 영역과 누산 영역을 포함한다. 곱셈 영역은 아날로그 입력 신호와 가중치를 곱하여 출력하는 영역이고, 누산 영역은 곱셈 영역의 출력을 누산하여 아날로그 출력 신호를 출력하는 영역이다.The operation area includes a multiplication area and an accumulation area. The multiplication area is an area that multiplies and outputs an analog input signal and a weight, and the accumulation area is an area that accumulates the output of the multiplication area and outputs an analog output signal.

곱셈 영역은 계산 단계가 시간적/공간적으로 분리되어 신호를 특정 메모리 셀에서 다음 메모리 셀로 전달하여 계산할 수 있다. 해당하는 복수의 메모리 셀 전체가 동시에 계산할 수도 있다. 곱셈 영역은 셀 단위, 행 단위, 열 단위, 행렬 단위 등으로 계산할 수 있다. 곱셈 영역은 비트 라인과 메모리 셀의 연결 구조를 통해 덧셈을 반복하거나 전하 공유하여 곱셈을 수행할 수 있다. 메모리 셀은 레이어의 입력 벡터에 따른 차원 또는 값에 해당하는 개수만큼 배치될 수 있다. The multiplication region can be calculated by transferring a signal from a specific memory cell to a next memory cell by separating the calculation steps in time and space. All of the plurality of corresponding memory cells may be simultaneously calculated. The multiplication area can be calculated in a cell unit, a row unit, a column unit, or a matrix unit. The multiplication region may perform multiplication by repeating addition or sharing charges through a connection structure between a bit line and a memory cell. The memory cells may be arranged as many as the number of dimensions or values according to the input vector of the layer.

누산 영역은 상기 복수의 비트 라인이 포지티브 라인 및 네거티브 라인에 연결되어 전하 공유(Charge Sharing) 방식으로 곱셈 영역의 출력을 누산할 수 있다.In the accumulation region, the plurality of bit lines are connected to the positive line and the negative line, and the output of the multiplication region may be accumulated in a charge sharing method.

멀티 레이어 연산 회로(200, 300)는 아날로그 버퍼를 이용하여 아날로그 데이터 형식을 기반으로 레이어 간에 데이터를 전송한다. 본 실시예에 따른 멀티 레이어 연산 회로는 디지털 입력 데이터 -> DAC -> 아날로그 데이터 -> MAC(아날로그 도메인) -> AB(Analog Buffer) -> MAC(아날로그 도메인) -> ADC -> 디지털 출력 데이터로 신호 전달 과정을 거친다.The multi-layer operation circuits 200 and 300 transmit data between layers based on an analog data format using an analog buffer. The multi-layer operation circuit according to the present embodiment includes digital input data -> DAC -> analog data -> MAC (analog domain) -> AB (Analog Buffer) -> MAC (analog domain) -> ADC -> digital output data. It goes through the signal transmission process.

본 실시예에 따른 멀티 레이어 연산 회로는 레이어와 레이어 간의 데이터 전송 과정을 아날로그 버퍼 단계로 변경하여 불필요한 데이터 형식 변환 과정을 생략할 수 있다. 본 실시예에 따른 멀티 레이어 연산 회로는 아날로그 버퍼를 온칩 활성화 함수로 이용하여 멀티 레이어 딥러닝 알고리즘에 적합한 메모리 내 연산 회로 아키텍처를 구현할 수 있다.The multi-layer operation circuit according to the present embodiment can omit unnecessary data format conversion processes by changing the data transmission process between layers to an analog buffer stage. The multi-layer operation circuit according to the present embodiment may implement an in-memory operation circuit architecture suitable for a multi-layer deep learning algorithm by using an analog buffer as an on-chip activation function.

도 4 및 도 5는 본 발명의 일 실시예에 따른 멀티 레이어 연산 회로를 학습 네트워크의 레이어로 연결한 도면이다. 도 6은 학습 네트워크의 레이어를 예시한 도면이다.4 and 5 are diagrams in which a multi-layer operation circuit according to an embodiment of the present invention is connected to a layer of a learning network. 6 is a diagram illustrating a layer of a learning network.

학습 네트워크는 다수의 레이어가 네트워크로 연결되며 입력 레이어, 히든 레이어, 및 출력 레이어를 포함한다. 레이어는 파라미터를 포함할 수 있고, 레이어의 파라미터는 학습 가능한 필터 집합을 포함한다. 레이어는 필터 영역에 대응할 수도 있다. 필터는 컨볼루션 필터를 적용할 수 있고, 일부 파라미터는 공유될 수 있다. 파라미터는 노드 간의 가중치 및/또는 바이어스를 포함할 수 있다. The learning network includes a plurality of layers connected by a network and includes an input layer, a hidden layer, and an output layer. The layer may include parameters, and the parameters of the layer include a set of learnable filters. The layer may correspond to the filter area. The filter can apply a convolutional filter, and some parameters can be shared. The parameters may include weights and/or biases between nodes.

학습 네트워크의 레이어가 입력 레이어, 히든 레이어, 및 출력 레이어 총 3개이면, 복수의 연산 영역은 (i) 제1 레이어에 해당하는 제1 연산 영역과 (ii) 제2 레이어에 해당하는 제2 연산 영역을 포함할 수 있다. 연산 메모리는 학습 네트워크의 레이어의 개수에 따라 제3 연산 영역, 제4 연산 영역 등을 포함할 수 있다.If there are a total of three layers of the learning network, the input layer, the hidden layer, and the output layer, the plurality of operation regions are (i) a first operation region corresponding to the first layer and (ii) a second operation corresponding to the second layer. It can include areas. The computational memory may include a third computational region, a fourth computational region, and the like according to the number of layers of the learning network.

제1 연산 영역과 제2 연산 영역 사이에 아날로그 버퍼가 연결된다. 제2 연산 영역과 제3 연산 영역 사이에 아날로그 버퍼가 연결될 수 있고, 제3 연산 영역과 제4 연산 영역 사이에 아날로그 버퍼가 연결될 수 있다.An analog buffer is connected between the first operation region and the second operation region. An analog buffer may be connected between the second operation region and the third operation region, and an analog buffer may be connected between the third operation region and the fourth operation region.

제1 연산 영역의 출력 신호가 아날로그 버퍼를 거쳐 제2 연산 영역에 입력된다. 제2 연산 영역의 출력 신호가 아날로그 버퍼를 거쳐 제3 연산 영역에 입력되고, 제3 연산 영역의 출력 신호가 아날로그 버퍼를 거쳐 제4 연산 영역에 입력될 수 있다.The output signal of the first operation region is input to the second operation region through an analog buffer. The output signal of the second operation region may be input to the third operation region through an analog buffer, and the output signal of the third operation region may be input to the fourth operation region through the analog buffer.

학습 네트워크의 입력 레이어에 대응하는 연산 영역의 입력단에 디지털 아날로그 컨버터(Digital to Analog Converter, DAC)가 연결될 수 있다. 예컨대, 학습 네트워크의 레이어가 3개이면, 제1 연산 영역의 입력단에 DAC가 연결될 수 있다.A digital to analog converter (DAC) may be connected to an input terminal of an operation region corresponding to an input layer of the learning network. For example, if there are three layers of the learning network, the DAC may be connected to the input terminal of the first operation region.

학습 네트워크의 히든 레이어가 복수이면, 마지막 히든 레이어에 대응하는 연산 영역의 출력단에 아날로그 디지털 컨버터(Analog to Digital Converter, ADC)가 연결될 수 있다. 예컨대, 학습 네트워크의 레이어가 3개이면, 제2 연산 영역의 출력단에 ADC가 연결될 수 있다.When there are a plurality of hidden layers of the learning network, an analog to digital converter (ADC) may be connected to an output terminal of an operation region corresponding to the last hidden layer. For example, if there are three layers of the learning network, the ADC may be connected to the output terminal of the second operation area.

디지털 아날로그 컨버터는 디지털 출력 신호를 제1 아날로그 신호로 변환할 수 있다. 디지털 아날로그 컨버터는 제1 아날로그 신호를 제1 연산 영역으로 전송할 수 있다. 제1 연산 영역은 제1 아날로그 신호를 처리하여 제2 아날로그 신호를 생성할 수 있다. 제1 연산 영역은 제2 아날로그 신호를 아날로그 버퍼로 전송할 수 있다. The digital-to-analog converter may convert a digital output signal into a first analog signal. The digital-to-analog converter may transmit the first analog signal to the first operation area. The first operation area may generate a second analog signal by processing the first analog signal. The first operation area may transmit a second analog signal to an analog buffer.

아날로그 버퍼는 제2 아날로그 신호를 처리하여 제3 아날로그 신호를 생성할 수 있다. 아날로그 버퍼는 제3 아날로그 신호를 제2 연산 영역으로 전송할 수 있다.The analog buffer may generate a third analog signal by processing the second analog signal. The analog buffer may transmit the third analog signal to the second operation area.

제2 연산 영역은 제3 아날로그 신호를 처리하여 제4 아날로그 신호를 생성할 수 있다. 제2 연산 영역은 제4 아날로그 신호를 아날로그 디지털 컨버터로 전송할 수 있다. 아날로그 디지털 컨버터는 제4 아날로그 신호를 디지털 출력 신호로 변환할 수 있다.The second operation area may generate a fourth analog signal by processing the third analog signal. The second operation area may transmit the fourth analog signal to the analog-to-digital converter. The analog-to-digital converter may convert the fourth analog signal into a digital output signal.

디지털 아날로그 컨버터, 연산 메모리, 아날로그 버퍼, 및 아날로그 디지털 컨버터는 제어부로부터 제어 신호를 수신할 수 있다.A digital-to-analog converter, an operation memory, an analog buffer, and an analog-to-digital converter may receive a control signal from the control unit.

제어 신호는 디지털 아날로그 컨버터의 처리 시간, 제1 연산 영역의 처리 시간, 아날로그 버퍼의 안정화 시간, 및 제2 연산 영역의 처리 시간이 충돌하지 않도록, 디지털 아날로그 컨버터, 연산 메모리, 아날로그 버퍼, 및 아날로그 디지털 컨버터의 동작 시간을 제어한다. 아날로그 버퍼에서 안정화 전의 일부 신호가 제1 연산 영역의 신호와 중첩되지 않도록 한다. 아날로그 버퍼에서 안정화 전의 일부 신호가 제2 연산 영역으로 전송되지 않도록 한다.The control signal is a digital-to-analog converter, an operation memory, an analog buffer, and an analog digital so that the processing time of the digital to analog converter, the processing time of the first operation area, the stabilization time of the analog buffer, and the processing time of the second operation area do not collide. Controls the operating time of the converter. Some signals before stabilization in the analog buffer do not overlap with the signals in the first operation area. Some signals before stabilization from the analog buffer are prevented from being transmitted to the second operation area.

제어부는 디지털 아날로그 컨버터, 연산 메모리, 아날로그 버퍼, 및 아날로그 디지털 컨버터의 동작 시간마다 해당하는 소자로 제어 신호를 전송하거나 제어 신호에 동작 시간을 포함시켜 전송할 수 있다. 각 소자는 다음 순서의 소자로 완료 신호를 전송하거나 완료 신호를 수신하여 동작 타이밍을 설정할 수 있다.The controller may transmit a control signal to a device corresponding to each operation time of the digital-to-analog converter, the operation memory, the analog buffer, and the analog-to-digital converter, or transmit the control signal by including the operation time. Each device can set the operation timing by transmitting a completion signal or receiving a completion signal to the next device in the sequence.

제어 신호는 디지털 아날로그 컨버터의 처리 시간, 제1 연산 영역의 처리 시간, 아날로그 버퍼의 동작 시간, 및 제2 연산 영역의 처리 시간을 고려하여, 디지털 아날로그 컨버터, 연산 메모리, 아날로그 버퍼, 및 아날로그 디지털 컨버터의 동작 시간을 제어할 수 있다.The control signal is a digital-to-analog converter, an operation memory, an analog buffer, and an analog-to-digital converter in consideration of the processing time of the digital-to-analog converter, the processing time of the first operation area, the operation time of the analog buffer, and the processing time of the second operation area. The operation time of the can be controlled.

4 비트(bit) 입력 신호와 출력 신호를 예로 들어 설명한다. 4 비트는 십진수 0 내지 15를 나타낼 수 있다. 1을 0.08 V라고 가정하면, 5는 0.4 V이고 10은 0.8 V이고 15는 1.2 V에 해당한다. X1이 5이고 X2이 10이고 X3이 5이라고 가정한다. Y1은 X1, X2, X3, 제1 가중치, 제2 가중치, 제3 가중치가 조합된 결과이고, Y2는 X1, X2, X3, 제4 가중치, 제5 가중치, 제6 가중치가 조합된 결과이다.The description will be made using a 4-bit input signal and an output signal as an example. 4 bits may represent 0 to 15 decimal. Assuming 1 is 0.08 V, 5 is 0.4 V, 10 is 0.8 V, and 15 is 1.2 V. Suppose X 1 is 5, X 2 is 10, and X 3 is 5. Y 1 is the result of the combination of X 1 , X 2 , X 3 , the first weight, the second weight, and the third weight, and Y 2 is the result of the combination of X 1 , X 2 , X 3 , the fourth weight, the fifth weight, and the fourth weight. This is the result of combining 6 weights.

제1 메모리 셀에 저장된 제1 가중치가 -1이고, 제2 메모리 셀에 저장된 제2 가중치가 1이고, 제3 메모리 셀에 저장된 제3 가중치가 1이면, 제1 레이어의 제1 MAC 연산 결과는 (0.4V*(-1)+0.8V*(1)+0.4V*(1))/3 = 0.8/3 V가 된다.If the first weight stored in the first memory cell is -1, the second weight stored in the second memory cell is 1, and the third weight stored in the third memory cell is 1, the first MAC operation result of the first layer is (0.4V*(-1)+0.8V*(1)+0.4V*(1))/3 = 0.8/3V.

제1 MAC 연산 결과는 아날로그 버퍼를 거쳐 제2 레이어에 입력된다.The result of the first MAC operation is input to the second layer through an analog buffer.

제4 메모리 셀에 저장된 제4 가중치가 -1이고, 제5 메모리 셀에 저장된 제5 가중치가 -1이고, 제6 메모리 셀에 저장된 제6 가중치가 1이면, 제1 레이어의 제2 MAC 연산 결과(Y2)는 (0.4V*(-1)+0.8V*(-1)+0.4V*(1))/3 = -0.8/3 V가 된다.If the fourth weight stored in the fourth memory cell is -1, the fifth weight stored in the fifth memory cell is -1, and the sixth weight stored in the sixth memory cell is 1, the second MAC operation result of the first layer (Y 2 ) becomes (0.4V*(-1)+0.8V*(-1)+0.4V*(1))/3 = -0.8/3 V.

제2 MAC 연산 결과는 아날로그 버퍼를 거쳐 제2 레이어에 입력된다. 즉, 아날로그 버퍼를 통해 Y2의 결과에 ReLU 함수가 취해지고, -0.8/3 V는 O V가 되고, O V가 제2 레이어에 입력된다.The second MAC operation result is input to the second layer through the analog buffer. That is, the ReLU function is taken from the result of Y 2 through the analog buffer, -0.8/3 V becomes OV, and OV is input to the second layer.

멀티 레이어 연산 회로는 아날로그 버퍼를 ADC 및 DAC 사용없이 아날로그 도메인에서 데이터 전송을 구현하므로, 시간 지연 측면에서 유리한 장점이 있다.Since the multi-layer operation circuit implements data transmission in the analog domain without the use of an analog buffer and ADC and DAC, it has an advantage in terms of time delay.

멀티 레이어 연산 회로는 MAC 연산 후에 활성화 함수를 수행할 수 있다. 활성화 함수가 없으면 학습이 되지 않을 수 있다. 대표적인 활성화 함수는 ReLU 함수이며, 멀티 레이어 연산 회로는 아날로그 버퍼에 ReLU 함수를 적용한다.The multi-layer operation circuit may perform the activation function after the MAC operation. If there is no activation function, learning may not be possible. A typical activation function is the ReLU function, and the multi-layer operation circuit applies the ReLU function to the analog buffer.

멀티 레이어 연산 회로는 아날로그 버퍼를 ADC 및 DAC 사용없이 아날로그 도메인에서 데이터 전송 및 ReLU 활성화 함수를 구현하므로, 시간 지연 및 하드웨어적인 측면에서 유리한 장점이 있다.Since the multi-layer operation circuit implements the data transmission and ReLU activation function in the analog domain without the use of an analog buffer and ADC and DAC, there are advantages in terms of time delay and hardware.

도 7은 본 발명의 일 실시예에 따른 멀티 레이어 연산 회로의 활성화 함수로 동작하는 아날로그 버퍼를 예시한 도면이다.7 is a diagram illustrating an analog buffer operating as an activation function of a multi-layer operation circuit according to an embodiment of the present invention.

ReLU 활성화 함수는 수학식 1과 같이 표현된다.The ReLU activation function is expressed as in Equation 1.

Figure 112019104171716-pat00001
Figure 112019104171716-pat00001

아날로그 버퍼는 아날로그 버퍼에 입력된 신호가 0보다 작으면 0을 출력하고, 아날로그 버퍼에 입력된 신호가 0보다 크면 상기 아날로그 버퍼에 입력된 신호를 그대로 출력한다.The analog buffer outputs 0 when the signal input to the analog buffer is less than 0, and outputs the signal input to the analog buffer as it is when the signal input to the analog buffer is greater than 0.

아날로그 버퍼의 등가 회로는 연산 증폭기의 출력 단자와 연산 증폭기의 반전 입력 단자가 연결된 피드백을 갖고, 아날로그 버퍼는 학습 네트워크의 활성화 함수로 동작한다.The equivalent circuit of the analog buffer has a feedback connected to the output terminal of the operational amplifier and the inverting input terminal of the operational amplifier, and the analog buffer operates as an activation function of the learning network.

아날로그 버퍼의 등가 회로는 연산 증폭기의 최소 출력 전압 결정하는 전원 단자를 0 V로 설정한다. 예컨대, 전원 단자 Vdd와 Vss 중에서 Vss를 0 V로 설정한다.The equivalent circuit of the analog buffer sets the power supply terminal to 0 V, which determines the minimum output voltage of the op amp. For example, among the power terminals Vdd and Vss, Vss is set to 0 V.

아날로그 버퍼로 단위 이득 버퍼(Unity Gain Buffer)를 사용하여 Vin,2가 Vo,1과 같은 값을 갖도록 한다. Vo,1=∑WX>0이면 Vin,2 = Vo,1이다. 예컨대, Vo,1=0.8 V이면 Vin,2=0.8 V이다. 아날로그 버퍼의 Vss=0으로 설정한다. Vin,2는 마이너스 전압을 출력할 수 없기 때문에 Vo,1<0 이면 0 V로 출력된다. VO,1=-0.8이면 Vin,2=0이다. 즉 아날로그 도메인에서 ReLU 함수를 구현할 수 있다.Using a unity gain buffer as an analog buffer, make Vin,2 equal to Vo,1. If Vo,1=∑WX>0, then Vin,2 = Vo,1. For example, if Vo,1 = 0.8 V, then Vin, 2 = 0.8 V. Set Vss=0 of the analog buffer. Since Vin,2 cannot output negative voltage, if Vo,1<0, it is output as 0V. If V O ,1=-0.8, then Vin,2=0. That is, the ReLU function can be implemented in the analog domain.

연산 메모리의 연산 영역의 출력이 전류가 아닌 전압으로 나오는 구조이며, 연산 영역의 출력이 아날로그 버퍼를 거쳐 워드 라인 전압이 아닌 비트 라인 전압으로 들어간다. 레이어의 출력 전압을 다음 레이어의 입력 전압으로 전달한다.It is a structure in which the output of the operation region of the operation memory comes out as a voltage rather than a current, and the output of the operation region passes through an analog buffer and enters the bit line voltage rather than the word line voltage. The output voltage of the layer is transferred to the input voltage of the next layer.

멀티 레이어 연산 회로는 아날로그 도메인에서 온칩 활성화 함수로 ReLU 함수를 구현하고, 단위 이득 버퍼를 사용한다. The multi-layer operation circuit implements the ReLU function as an on-chip activation function in the analog domain and uses a unity gain buffer.

아날로그 버퍼는 연산 메모리의 BL/BLB를 구동한다. 이때 BL/BLB에 달린 cell의 개수만큼 BL/BLB를 구동할 수 있도록 설계된다. 예를 들어 BL/BLB의 10T cell의 rows가 150개라면 cell 150개가 달린 BL/BLB를 구동할 수 있도록 설계되고, 10T cell의 rows가 256개라면 cell 256개가 달린 BL/BLB를 구동할 수 있도록 설계된다.The analog buffer drives the BL/BLB of the computational memory. At this time, it is designed to drive BL/BLB as much as the number of cells attached to BL/BLB. For example, if BL/BLB has 150 rows of 10T cells, it is designed to drive BL/BLB with 150 cells, and if 10T cells have 256 rows, it can drive BL/BLB with 256 cells. Is designed.

아날로그 버퍼는 복수의 트랜지스터를 포함하고, 복수의 트랜지스터에 보상 캐패시터가 연결될 수 있다. 아날로그 버퍼는 피드백을 사용하는 단위 이득 버퍼이므로, 피드백을 사용하는 연산 증폭기가 발진(Oscillation)하지 않도록 보상 캐패시터의 사이즈가 설정될 수 있다.The analog buffer includes a plurality of transistors, and a compensation capacitor may be connected to the plurality of transistors. Since the analog buffer is a unity gain buffer using feedback, the size of the compensation capacitor may be set so that the operational amplifier using the feedback does not oscillate.

아날로그 버퍼는 복수의 트랜지스터를 포함하고, 아날로그 버퍼가 기 설정된 안정화 시간(Settling Time)에서 동작하도록 복수의 트랜지스터의 사이즈와 바이어스 전압이 설정될 수 있다. 예컨대, 20 ns이하의 안정화 시간을 갖도록 트랜지스터의 사이즈와 바이어스 전압이 설정될 수 있다. 아날로그 버퍼의 이득이 포화되는 값을 검출하는 방식으로, 트랜지스터의 사이즈와 바이어스 전압을 산출한다.The analog buffer includes a plurality of transistors, and sizes and bias voltages of the plurality of transistors may be set so that the analog buffer operates at a preset settling time. For example, the size of the transistor and the bias voltage may be set to have a stabilization time of 20 ns or less. By detecting the value at which the gain of the analog buffer is saturated, the size of the transistor and the bias voltage are calculated.

도 8 및 도 9는 본 발명의 일 실시예에 따른 멀티 레이어 연산 회로의 아날로그 버퍼의 출력을 예시한 도면이다. 도 10 및 도 11은 본 발명의 일 실시예에 따른 멀티 레이어 연산 회로의 아날로그 버퍼의 안정화 시간을 예시한 도면이다.8 and 9 are diagrams illustrating an output of an analog buffer of a multilayer operation circuit according to an embodiment of the present invention. 10 and 11 are diagrams illustrating a stabilization time of an analog buffer of a multi-layer operation circuit according to an embodiment of the present invention.

싱글 코너(Single Corner)에서 DC Sweep에 관한 시뮬레이션을 진행한다. 65 nm 기술이 적용되고, VDD = 2.5 V이고, VSS = 0 V이다. Vo,1는 제1 레이어의 MAC 연산 결과 전압으로 -1V ~ +1V이다. 제2 레이어 연산 메모리의 row 수는 256이다. 아날로그 버퍼를 이용하여 10T cell 256 rows를 갖는 제2 레이어의 비트 라인으로 Vo,1을 전달하는 상황을 가정한다.Simulate DC sweep in single corner. 65 nm technology is applied, VDD = 2.5 V, and VSS = 0 V. Vo,1 is the voltage resulting from the MAC operation of the first layer, ranging from -1V to +1V. The number of rows in the second layer operation memory is 256. Assume a situation in which Vo,1 is transmitted to the bit line of the second layer having 256 rows of 10T cells using an analog buffer.

Vo,1을 -1V에서 1V까지 스윕(sweep)하여 아날로그 버퍼의 입력으로 넣는다. 도 8 및 도 9를 참조하면, 제2 레이어의 입력으로 ReLU(Vo,1)이 잘 전달되는지 확인할 수 있고, Vo,1에 ReLU 함수를 적용한 결과가 제2 레이어의 BL/BLB 전압(Vin,2)으로 잘 전달되는지 확인할 수 있다.Sweep Vo,1 from -1V to 1V and put it as the input of the analog buffer. 8 and 9, it can be checked whether ReLU(Vo,1) is well transmitted to the input of the second layer, and the result of applying the ReLU function to Vo,1 is the BL/BLB voltage of the second layer (Vin, You can check if it is delivered well to 2).

싱글 코너(Single Corner)에서 Transient에 관한 시뮬레이션을 진행한다. Vo,1에 스텝 응답(Step Response) 입력을 주고 제2 레이어의 BL/BLB 전압(Vin,2)이 Vo,1과 동일할 때까지 걸리는 시간을 측정한다. 아날로그 버퍼가 제1 레이어의 MAC 연산 출력 전압을 제2 레이어의 입력으로 전달하는 데 걸리는 시간을 의미한다. 레이어와 레이어 간에 데이터 전송 지연이 기존 구조 대비 얼마나 개선되는지 확인한다.Transient simulation is conducted in a single corner. Give a step response input to Vo,1 and measure the time it takes until the BL/BLB voltage (Vin,2) of the second layer is equal to Vo,1. This refers to the time it takes for the analog buffer to transfer the MAC operation output voltage of the first layer to the input of the second layer. Check how much the delay in data transmission between layers and layers is improved compared to the existing structure.

도 11을 참조하면, Vo,1이 Vin,2로 전달되는 시간은 20 ns 미만이고, 레이어와 레이어 간에 데이터 전송 지연이 20 ns 미만인 것을 확인할 수 있다.Referring to FIG. 11, it can be seen that the time when Vo,1 is transmitted to Vin,2 is less than 20 ns, and the data transmission delay between the layer and the layer is less than 20 ns.

본 실시예에 따른 멀티 레이어 연산 회로는 기존 구조(비특허문헌1)에서 DAC 단계에서 250ps * 63(6b) = 15.8 ns를 소요하고 ADC 단계에서 4ns(250MHz) * 63(6b) = 252ns를 소요하여, DAC + ADC = 267.8ns를 소요한 것보다 빠른 속도로 레이어와 레이어 간에 데이터 전송이 가능하다.The multi-layer operation circuit according to this embodiment takes 250ps * 63(6b) = 15.8 ns in the DAC step in the existing structure (Non-Patent Document 1) and 4ns (250MHz) * 63(6b) = 252ns in the ADC step. Thus, it is possible to transfer data between layers at a faster rate than that required DAC + ADC = 267.8ns.

멀티 레이어 연산 회로는 디스플레이 또는 전자 장치 등에 적용될 수 있다. The multi-layer operation circuit can be applied to a display or an electronic device.

디스플레이는 전기 신호에 따라 시각 정보를 표시하는 화소를 갖는 표시부, 표시부에 연결되어 화소의 동작을 제어하는 제어부, 및 제어부에 연결되어 이미지 데이터를 전송하는 멀티 레이어 연산 회로를 포함한다. 멀티 레이어 연산 회로는 앞서 설명한 실시예들이 적용될 수 있다.The display includes a display unit having a pixel for displaying visual information according to an electrical signal, a control unit connected to the display unit to control an operation of the pixel, and a multi-layer operation circuit connected to the control unit to transmit image data. The above-described embodiments may be applied to the multi-layer operation circuit.

예컨대, 멀티 레이어 연산 회로는 아날로그 입력신호를 입력받고 아날로그 입력신호를 처리하여 아날로그 출력신호를 출력하는 복수의 연산 영역을 포함하는 연산 메모리, 및 복수의 연산 영역에 연결되어 아날로그 출력신호를 하나의 연산 영역에서 다른 연산 영역으로 전송하는 아날로그 버퍼를 포함한다. 연산 영역은 학습 네트워크의 레이어로 동작한다.For example, the multi-layer operation circuit is an operation memory including a plurality of operation areas for receiving an analog input signal, processing an analog input signal, and outputting an analog output signal, and connected to the plurality of operation areas to calculate one analog output signal. It contains an analog buffer that transmits from the domain to the other operation domain. The computational domain acts as a layer of the learning network.

디스플레이는 타이밍 제어기, 데이터 드라이버, 게이트 드라이버, 및 화소 회로를 포함할 수 있다. 화소 회로는 백플레인 및 표시부를 포함할 수 있다.The display may include a timing controller, a data driver, a gate driver, and a pixel circuit. The pixel circuit may include a backplane and a display.

타이밍 제어기는 수평 동기화 신호, 수직 동기화 신호, 데이터 인에이블 신호, 클럭 신호 및 이미지 데이터를 수신한다. 수직 동기화 신호는 일 프레임의 이미지가 표시되는데 요구되는 시간을 지시한다. 수평 동기화 신호는 이미지의 일 수평 라인, 즉 일 화소 라인을 표시하는데 요구되는 시간을 지시한다. 따라서, 수평 동기화 신호는 일 화소 라인에 포함되는 화소의 숫자와 동일한 숫자의 펄스들을 포함한다. 데이터 인에이블 신호는 유효한 이미지 데이터가 위치하는 구간을 지시한다.The timing controller receives a horizontal synchronization signal, a vertical synchronization signal, a data enable signal, a clock signal, and image data. The vertical synchronization signal indicates the time required to display an image of one frame. The horizontal synchronization signal indicates the time required to display one horizontal line of the image, that is, one pixel line. Accordingly, the horizontal synchronization signal includes pulses having the same number as the number of pixels included in one pixel line. The data enable signal indicates a section in which valid image data is located.

타이밍 제어기는 게이트 제어 신호(Gate Control Signal)를 게이트 드라이버에 제공하고, 데이터 제어 신호(Data Control Signal)를 데이터 드라이버에 제공한다.The timing controller provides a gate control signal to the gate driver and a data control signal to the data driver.

데이터 드라이버는 타이밍 제어기로부터 디지털 이미지 데이터를 수신한다. 데이터 드라이버는 데이터 제어 신호에 응답하여 데이터 전압을 생성한다. 데이터 드라이버는 디스플레이의 데이터 라인으로 데이터 전압을 게이트 드라이버로부터의 게이트 제어 신호와 동기화하여 공급할 수 있다.The data driver receives digital image data from the timing controller. The data driver generates a data voltage in response to the data control signal. The data driver may supply a data voltage to the data line of the display in synchronization with a gate control signal from the gate driver.

게이트 드라이버는 타이밍 제어기로부터의 게이트 제어 신호 입력에 응답하여 화소 회로에서 박막 트랜지스터 어레이의 온/오프를 제어한다. 게이트 드라이버는 데이터 드라이버로부터 인가되는 데이터 전압이 적합한 화소 회로로 제공되도록 한다.The gate driver controls the on/off of the thin film transistor array in the pixel circuit in response to a gate control signal input from the timing controller. The gate driver allows the data voltage applied from the data driver to be provided to an appropriate pixel circuit.

표시부 또는 화소 회로는 AMOLED, OLED(Organic Light Emitting Diode), E-Paper, LCD(Liquid Crystal Display), LED(Light Emitting Diode), 또는 이들의 조합 등으로 구현될 수 있다. 화소 회로를 구현하는 박막 트랜지스터 어레이, 커패시터들의 구성은 디스플레이 컴포넌트의 타입뿐만 아니라 화소를 활성화하는 구동 방법에 따라 다양하게 구현될 수 있다.The display unit or the pixel circuit may be implemented by AMOLED, Organic Light Emitting Diode (OLED), E-Paper, Liquid Crystal Display (LCD), Light Emitting Diode (LED), or a combination thereof. The configuration of the thin film transistor array and capacitors implementing the pixel circuit may be implemented in various ways depending on the type of display component as well as a driving method for activating the pixel.

전자 장치는 적어도 하나의 전기 신호를 발생시키는 전자 회로, 및 전자 회로에 연결된 멀티 레이어 연산 회로를 포함할 수 있다. 멀티 레이어 연산 회로는 앞서 설명한 실시예들이 적용될 수 있다.The electronic device may include an electronic circuit that generates at least one electric signal, and a multi-layer operation circuit connected to the electronic circuit. The above-described embodiments may be applied to the multi-layer operation circuit.

예컨대, 멀티 레이어 연산 회로는 아날로그 입력신호를 입력받고 아날로그 입력신호를 처리하여 아날로그 출력신호를 출력하는 복수의 연산 영역을 포함하는 연산 메모리, 및 복수의 연산 영역에 연결되어 아날로그 출력신호를 하나의 연산 영역에서 다른 연산 영역으로 전송하는 아날로그 버퍼를 포함한다. 연산 영역은 학습 네트워크의 레이어로 동작한다.For example, the multi-layer operation circuit is an operation memory including a plurality of operation areas for receiving an analog input signal, processing an analog input signal, and outputting an analog output signal, and connected to the plurality of operation areas to calculate one analog output signal. It contains an analog buffer that transmits from the domain to the other operation domain. The computational domain acts as a layer of the learning network.

전자 장치에 포함된 구성요소들은 상호 결합되어 적어도 하나의 모듈로 구현될 수 있다. 구성요소들은 장치 내부의 소프트웨어적인 모듈 또는 하드웨어적인 모듈을 연결하는 통신 경로에 연결되어 상호 간에 유기적으로 동작한다. 이러한 구성요소들은 하나 이상의 통신 버스 또는 신호선을 이용하여 통신한다.Components included in the electronic device may be combined with each other to be implemented as at least one module. Components are connected to a communication path connecting a software module or a hardware module inside the device and operate organically with each other. These components communicate using one or more communication buses or signal lines.

전자 장치는 하드웨어, 펌웨어, 소프트웨어 또는 이들의 조합에 의해 로직회로 내에서 구현될 수 있고, 범용 또는 특정 목적 컴퓨터를 이용하여 구현될 수도 있다. 장치는 고정배선형(Hardwired) 기기, 필드 프로그램 가능한 게이트 어레이(Field Programmable Gate Array, FPGA), 주문형 반도체(Application Specific Integrated Circuit, ASIC) 등을 이용하여 구현될 수 있다. 또한, 장치는 하나 이상의 프로세서 및 컨트롤러를 포함한 시스템온칩(System on Chip, SoC)으로 구현될 수 있다.The electronic device may be implemented in a logic circuit by hardware, firmware, software, or a combination thereof, or may be implemented using a general purpose or specific purpose computer. The device may be implemented using a hardwired device, a field programmable gate array (FPGA), an application specific integrated circuit (ASIC), or the like. In addition, the device may be implemented as a System on Chip (SoC) including one or more processors and controllers.

전자 장치는 하드웨어적 요소가 마련된 컴퓨팅 디바이스에 소프트웨어, 하드웨어, 또는 이들의 조합하는 형태로 탑재될 수 있다. 컴퓨팅 디바이스는 각종 기기 또는 유무선 통신망과 통신을 수행하기 위한 통신 모뎀 등의 통신장치, 프로그램을 실행하기 위한 데이터를 저장하는 메모리, 프로그램을 실행하여 연산 및 명령하기 위한 마이크로프로세서 등을 전부 또는 일부 포함한 다양한 장치를 의미할 수 있다.The electronic device may be mounted in a form of software, hardware, or a combination thereof on a computing device provided with hardware elements. Computing devices include all or part of a communication device such as a communication modem for performing communication with various devices or wired/wireless communication networks, a memory storing data for executing a program, and a microprocessor for calculating and commanding by executing a program. It can mean a device.

본 실시예들은 본 실시예의 기술 사상을 설명하기 위한 것이고, 이러한 실시예에 의하여 본 실시예의 기술 사상의 범위가 한정되는 것은 아니다. 본 실시예의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 실시예의 권리범위에 포함되는 것으로 해석되어야 할 것이다.The present embodiments are for explaining the technical idea of the present embodiment, and the scope of the technical idea of the present embodiment is not limited by these embodiments. The scope of protection of this embodiment should be interpreted by the following claims, and all technical ideas within the scope equivalent thereto should be construed as being included in the scope of the present embodiment.

200, 300: 멀티 레이어 연산 회로
210, 310: 연산 메모리
311: 제1 연산 영역
312: 제2 연산 영역
220, 320: 아날로그 버퍼
330: 디지털 아날로그 컨버터
340: 아날로그 디지털 컨버터
200, 300: multi-layer arithmetic circuit
210, 310: operation memory
311: first operation area
312: second operation area
220, 320: analog buffer
330: digital to analog converter
340: analog to digital converter

Claims (16)

아날로그 입력 신호를 입력받고 상기 아날로그 입력 신호를 처리하여 아날로그 출력 신호를 출력하는 복수의 연산 영역을 포함하는 연산 메모리; 및
상기 복수의 연산 영역에 연결되어 상기 아날로그 출력 신호를 하나의 연산 영역에서 다른 연산 영역으로 전송하는 아날로그 버퍼를 포함하며,
상기 연산 영역은 학습 네트워크의 레이어로 동작하며,
상기 연산 메모리 및 상기 아날로그 버퍼는 제어부로부터 제어 신호를 수신하고,
상기 제어 신호는 상기 하나의 연산 영역에서 상기 아날로그 버퍼로 상기 아날로그 출력 신호가 전송되고 상기 아날로그 버퍼의 안정화 시간이 지난 후에 상기 다른 연산 영역을 동작시키도록 상기 연산 메모리 및 상기 아날로그 버퍼의 동작 시간을 제어하며,
상기 제어부는 상기 제어 신호에 상기 동작 시간을 포함시켜 전송하거나, 상기 연산 메모리 및 상기 아날로그 버퍼는 다음 순서의 소자로 완료 신호를 전송하고 상기 다음 순서의 소자는 상기 완료 신호를 수신하여 상기 동작 시간을 설정하여, 상기 아날로그 버퍼에서 안정화 전의 일부 신호가 일부 연산 영역의 신호와 중첩되지 않도록 하고, 상기 아날로그 버퍼에서 안정화 전의 일부 신호가 다른 연산 영역으로 전송되지 않도록 하는 것을 특징으로 하는 멀티 레이어 연산 회로.
An operation memory including a plurality of operation regions for receiving an analog input signal, processing the analog input signal, and outputting an analog output signal; And
An analog buffer connected to the plurality of calculation areas and transmitting the analog output signal from one calculation area to another calculation area,
The computational domain operates as a layer of the learning network,
The operation memory and the analog buffer receive a control signal from a control unit,
The control signal controls the operation time of the operation memory and the analog buffer to operate the other operation region after the analog output signal is transmitted from the one operation region to the analog buffer and a stabilization time of the analog buffer elapses. And
The control unit transmits the control signal including the operation time, or the operation memory and the analog buffer transmit a completion signal to an element in the next order, and the element in the next order receives the completion signal to determine the operation time. By setting, so that some signals before stabilization in the analog buffer do not overlap with signals in some calculation areas, and that some signals before stabilization in the analog buffer are not transmitted to other calculation areas.
삭제delete 제1항에 있어서,
상기 연산 영역은 복수의 워드 라인, 복수의 비트 라인, 및 복수의 메모리 셀을 포함하고,
상기 메모리 셀은 가중치를 저장하고,
상기 워드 라인과 상기 비트 라인은 상기 메모리 셀에 연결되는 것을 특징으로 하는 멀티 레이어 연산 회로.
The method of claim 1,
The operation area includes a plurality of word lines, a plurality of bit lines, and a plurality of memory cells,
The memory cell stores a weight,
The word line and the bit line are connected to the memory cell.
제3항에 있어서,
상기 연산 영역은 (i) 상기 아날로그 입력 신호와 상기 가중치를 곱하여 출력하는 곱셈 영역과 (ii) 상기 곱셈 영역의 출력을 누산하여 상기 아날로그 출력 신호를 출력하는 누산 영역을 포함하는 것을 특징으로 하는 멀티 레이어 연산 회로.
The method of claim 3,
The operation region comprises (i) a multiplication region for multiplying and outputting the analog input signal and the weight, and (ii) an accumulation region for accumulating the output of the multiplication region and outputting the analog output signal. Operation circuit.
제4항에 있어서,
상기 누산 영역은 상기 복수의 비트 라인이 포지티브 라인 및 네거티브 라인에 연결되어 전하 공유(Charge Sharing) 방식으로 상기 곱셈 영역의 출력을 누산하는 것을 특징으로 하는 멀티 레이어 연산 회로.
The method of claim 4,
Wherein the accumulation region accumulates the output of the multiplication region in a charge sharing method by connecting the plurality of bit lines to a positive line and a negative line.
제1항에 있어서,
상기 아날로그 버퍼는 상기 아날로그 버퍼에 입력된 신호가 0보다 작으면 0을 출력하고, 상기 아날로그 버퍼에 입력된 신호가 0보다 크면 상기 아날로그 버퍼에 입력된 신호를 그대로 출력하는 것을 특징으로 하는 멀티 레이어 연산 회로.
The method of claim 1,
The analog buffer outputs 0 when the signal input to the analog buffer is less than 0, and outputs the signal input to the analog buffer as it is when the signal input to the analog buffer is greater than 0. Circuit.
제1항에 있어서,
상기 아날로그 버퍼의 등가 회로는 연산 증폭기의 출력 단자와 상기 연산 증폭기의 반전 입력 단자가 연결된 피드백을 갖고, 상기 아날로그 버퍼는 상기 학습 네트워크의 활성화 함수로 동작하는 것을 특징으로 하는 멀티 레이어 연산 회로.
The method of claim 1,
The analog buffer equivalent circuit has a feedback connected to the output terminal of the operational amplifier and the inverting input terminal of the operational amplifier, and the analog buffer operates as an activation function of the learning network.
제7항에 있어서,
상기 아날로그 버퍼의 등가 회로는 상기 연산 증폭기의 최소 출력 전압 결정하는 전원 단자를 0 V로 설정하는 것을 특징으로 하는 멀티 레이어 연산 회로.
The method of claim 7,
The equivalent circuit of the analog buffer sets a power supply terminal for determining the minimum output voltage of the operational amplifier to 0 V.
제8항에 있어서,
상기 아날로그 버퍼는 복수의 트랜지스터를 포함하고, 상기 피드백을 사용하는 연산 증폭기가 발진(Oscillation)하지 않도록 상기 복수의 트랜지스터에 보상 캐패시터가 연결되는 것을 특징으로 하는 멀티 레이어 연산 회로.
The method of claim 8,
Wherein the analog buffer includes a plurality of transistors, and a compensation capacitor is connected to the plurality of transistors so that the operational amplifier using the feedback does not oscillate.
제8항에 있어서,
상기 아날로그 버퍼는 복수의 트랜지스터를 포함하고, 기 설정된 안정화 시간(Settling Time)에서 동작하도록 상기 복수의 트랜지스터의 사이즈와 바이어스 전압이 설정된 것을 특징으로 하는 멀티 레이어 연산 회로.
The method of claim 8,
Wherein the analog buffer includes a plurality of transistors, and sizes and bias voltages of the plurality of transistors are set to operate at a preset settling time.
제1항에 있어서,
상기 복수의 연산 영역은 (i) 제1 레이어에 해당하는 제1 연산 영역과 (ii) 제2 레이어에 해당하는 제2 연산 영역을 포함하며,
상기 제1 연산 영역과 상기 제2 연산 영역 사이에 상기 아날로그 버퍼가 연결되며,
상기 제1 연산 영역의 출력 신호가 상기 아날로그 버퍼를 거쳐 상기 제2 연산 영역으로 전송되는 것을 특징으로 하는 멀티 레이어 연산 회로.
The method of claim 1,
The plurality of operation regions include (i) a first operation region corresponding to a first layer and (ii) a second operation region corresponding to a second layer,
The analog buffer is connected between the first operation region and the second operation region,
The multi-layer operation circuit, characterized in that the output signal of the first operation region is transmitted to the second operation region through the analog buffer.
제11항에 있어서,
상기 제1 연산 영역의 입력단에 디지털 아날로그 컨버터(Digital to Analog Converter, DAC)가 연결되고,
상기 제2 연산 영역의 출력단에 아날로그 디지털 컨버터(Analog to Digital Converter, ADC)가 연결되는 것을 특징으로 하는 멀티 레이어 연산 회로.
The method of claim 11,
A digital to analog converter (DAC) is connected to the input terminal of the first operation area,
An analog to digital converter (ADC) is connected to the output terminal of the second operation area.
제12항에 있어서,
상기 디지털 아날로그 컨버터는 제1 아날로그 신호를 상기 제1 연산 영역으로 전송하고, 상기 제1 연산 영역은 상기 제1 아날로그 신호를 처리하여 제2 아날로그 신호를 생성하고, 상기 제1 연산 영역은 상기 제2 아날로그 신호를 상기 아날로그 버퍼로 전송하고, 상기 아날로그 버퍼는 상기 제2 아날로그 신호를 처리하여 제3 아날로그 신호를 생성하고, 상기 아날로그 버퍼는 상기 제3 아날로그 신호를 상기 제2 연산 영역으로 전송하고, 상기 제2 연산 영역은 상기 제3 아날로그 신호를 처리하여 제4 아날로그 신호를 생성하고, 상기 제2 연산 영역은 상기 제4 아날로그 신호를 상기 아날로그 디지털 컨버터로 전송하는 것을 특징으로 하는 멀티 레이어 연산 회로.
The method of claim 12,
The digital-to-analog converter transmits a first analog signal to the first operation region, the first operation region processes the first analog signal to generate a second analog signal, and the first operation region generates the second analog signal. An analog signal is transmitted to the analog buffer, the analog buffer processes the second analog signal to generate a third analog signal, and the analog buffer transmits the third analog signal to the second operation area, and the A second operation region processes the third analog signal to generate a fourth analog signal, and the second operation region transmits the fourth analog signal to the analog-to-digital converter.
제13항에 있어서,
상기 디지털 아날로그 컨버터, 상기 연산 메모리, 상기 아날로그 버퍼, 및 상기 아날로그 디지털 컨버터는 제어부로부터 제어 신호를 수신하고,
상기 제어 신호는 상기 디지털 아날로그 컨버터의 처리 시간, 상기 제1 연산 영역의 처리 시간, 상기 아날로그 버퍼의 안정화 시간, 및 상기 제2 연산 영역의 처리 시간이 충돌하지 않도록, 상기 디지털 아날로그 컨버터, 상기 연산 메모리, 상기 아날로그 버퍼, 및 상기 아날로그 디지털 컨버터의 동작 시간을 제어하는 것을 특징으로 하는 멀티 레이어 연산 회로.
The method of claim 13,
The digital-to-analog converter, the operation memory, the analog buffer, and the analog-to-digital converter receive a control signal from a control unit,
The control signal is the digital-to-analog converter, the operation memory so that the processing time of the digital-to-analog converter, the processing time of the first operation region, the stabilization time of the analog buffer, and the processing time of the second operation region do not collide. And controlling operation times of the analog buffer and the analog-to-digital converter.
시각 정보를 표시하는 화소를 갖는 표시부;
상기 표시부에 연결되어 상기 화소의 동작을 제어하는 제어부; 및
상기 제어부에 연결되어 이미지 데이터를 전송하는 멀티 레이어 연산 회로를 포함하며,
상기 멀티 레이어 연산 회로는,
아날로그 입력신호를 입력받고 상기 아날로그 입력신호를 처리하여 아날로그 출력신호를 출력하는 복수의 연산 영역을 포함하는 연산 메모리; 및
상기 복수의 연산 영역에 연결되어 상기 아날로그 출력신호를 하나의 연산 영역에서 다른 연산 영역으로 전송하는 아날로그 버퍼를 포함하며,
상기 연산 영역은 학습 네트워크의 레이어로 동작하며,
상기 연산 메모리 및 상기 아날로그 버퍼는 상기 제어부로부터 제어 신호를 수신하고,
상기 제어 신호는 상기 하나의 연산 영역에서 상기 아날로그 버퍼로 상기 아날로그 출력 신호가 전송되고 상기 아날로그 버퍼의 안정화 시간이 지난 후에 상기 다른 연산 영역을 동작시키도록 상기 연산 메모리 및 상기 아날로그 버퍼의 동작 시간을 제어하며,
상기 제어부는 상기 제어 신호에 상기 동작 시간을 포함시켜 전송하거나, 상기 연산 메모리 및 상기 아날로그 버퍼는 다음 순서의 소자로 완료 신호를 전송하고 상기 다음 순서의 소자는 상기 완료 신호를 수신하여 상기 동작 시간을 설정하여, 상기 아날로그 버퍼에서 안정화 전의 일부 신호가 일부 연산 영역의 신호와 중첩되지 않도록 하고, 상기 아날로그 버퍼에서 안정화 전의 일부 신호가 다른 연산 영역으로 전송되지 않도록 하는 것을 특징으로 하는 디스플레이.
A display unit having a pixel for displaying visual information;
A control unit connected to the display unit to control an operation of the pixel; And
It includes a multi-layer operation circuit connected to the control unit to transmit image data,
The multi-layer operation circuit,
An operation memory including a plurality of operation regions for receiving an analog input signal, processing the analog input signal, and outputting an analog output signal; And
An analog buffer connected to the plurality of calculation areas and for transmitting the analog output signal from one calculation area to another calculation area,
The computational domain operates as a layer of the learning network,
The operation memory and the analog buffer receive a control signal from the control unit,
The control signal controls the operation time of the operation memory and the analog buffer to operate the other operation region after the analog output signal is transmitted from the one operation region to the analog buffer and a stabilization time of the analog buffer elapses. And
The control unit transmits the control signal including the operation time, or the operation memory and the analog buffer transmit a completion signal to an element in the next order, and the element in the next order receives the completion signal to determine the operation time. By setting, so that some signals before stabilization in the analog buffer do not overlap with signals in some calculation areas, and some signals before stabilization in the analog buffer are not transmitted to other calculation areas.
적어도 하나의 전기 신호를 발생시키는 전자 회로; 및
상기 전자 회로에 연결된 멀티 레이어 연산 회로를 포함하며,
상기 멀티 레이어 연산 회로는,
아날로그 입력신호를 입력받고 상기 아날로그 입력신호를 처리하여 아날로그 출력신호를 출력하는 복수의 연산 영역을 포함하는 연산 메모리; 및
상기 복수의 연산 영역에 연결되어 상기 아날로그 출력신호를 하나의 연산 영역에서 다른 연산 영역으로 전송하는 아날로그 버퍼를 포함하며,
상기 연산 영역은 학습 네트워크의 레이어로 동작하며,
상기 연산 메모리 및 상기 아날로그 버퍼는 제어부로부터 제어 신호를 수신하고,
상기 제어 신호는 상기 하나의 연산 영역에서 상기 아날로그 버퍼로 상기 아날로그 출력 신호가 전송되고 상기 아날로그 버퍼의 안정화 시간이 지난 후에 상기 다른 연산 영역을 동작시키도록 상기 연산 메모리 및 상기 아날로그 버퍼의 동작 시간을 제어하며,
상기 제어부는 상기 제어 신호에 상기 동작 시간을 포함시켜 전송하거나, 상기 연산 메모리 및 상기 아날로그 버퍼는 다음 순서의 소자로 완료 신호를 전송하고 상기 다음 순서의 소자는 상기 완료 신호를 수신하여 상기 동작 시간을 설정하여, 상기 아날로그 버퍼에서 안정화 전의 일부 신호가 일부 연산 영역의 신호와 중첩되지 않도록 하고, 상기 아날로그 버퍼에서 안정화 전의 일부 신호가 다른 연산 영역으로 전송되지 않도록 하는 것을 특징으로 하는 전자 장치.
An electronic circuit for generating at least one electrical signal; And
And a multi-layer operation circuit connected to the electronic circuit,
The multi-layer operation circuit,
An operation memory including a plurality of operation regions for receiving an analog input signal, processing the analog input signal, and outputting an analog output signal; And
An analog buffer connected to the plurality of calculation areas and for transmitting the analog output signal from one calculation area to another calculation area,
The computational domain operates as a layer of the learning network,
The operation memory and the analog buffer receive a control signal from a control unit,
The control signal controls the operation time of the operation memory and the analog buffer to operate the other operation region after the analog output signal is transmitted from the one operation region to the analog buffer and a stabilization time of the analog buffer elapses. And
The control unit transmits the control signal including the operation time, or the operation memory and the analog buffer transmit a completion signal to an element in the next order, and the element in the next order receives the completion signal to determine the operation time. By setting, so that some signals before stabilization in the analog buffer do not overlap with signals in some calculation areas, and some signals before stabilization in the analog buffer are not transmitted to other calculation areas.
KR1020190126711A 2019-10-14 2019-10-14 Multilayer Computing Circuit Based on Analog Signal Transfer with On-Chip Activation Function KR102225558B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190126711A KR102225558B1 (en) 2019-10-14 2019-10-14 Multilayer Computing Circuit Based on Analog Signal Transfer with On-Chip Activation Function

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190126711A KR102225558B1 (en) 2019-10-14 2019-10-14 Multilayer Computing Circuit Based on Analog Signal Transfer with On-Chip Activation Function

Publications (1)

Publication Number Publication Date
KR102225558B1 true KR102225558B1 (en) 2021-03-08

Family

ID=75184738

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190126711A KR102225558B1 (en) 2019-10-14 2019-10-14 Multilayer Computing Circuit Based on Analog Signal Transfer with On-Chip Activation Function

Country Status (1)

Country Link
KR (1) KR102225558B1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170337466A1 (en) 2016-05-17 2017-11-23 Silicon Storage Technology, Inc. Deep Learning Neural Network Classifier Using Non-volatile Memory Array
KR20180101276A (en) * 2017-03-03 2018-09-12 휴렛 팩커드 엔터프라이즈 디벨롭먼트 엘피 Analog multiplier-accumulators
US20190042928A1 (en) 2018-09-28 2019-02-07 Intel Corporation Compute-in-memory circuit having a multi-level read wire with isolated voltage distributions
US20190042199A1 (en) 2018-09-28 2019-02-07 Intel Corporation Compute in memory circuits with multi-vdd arrays and/or analog multipliers
US20190205729A1 (en) * 2018-01-03 2019-07-04 Silicon Storage Technology, Inc. Programmable Neuron For Analog Non-Volatile Memory In Deep Learning Artificial Neural Network

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170337466A1 (en) 2016-05-17 2017-11-23 Silicon Storage Technology, Inc. Deep Learning Neural Network Classifier Using Non-volatile Memory Array
KR20180101276A (en) * 2017-03-03 2018-09-12 휴렛 팩커드 엔터프라이즈 디벨롭먼트 엘피 Analog multiplier-accumulators
US20190205729A1 (en) * 2018-01-03 2019-07-04 Silicon Storage Technology, Inc. Programmable Neuron For Analog Non-Volatile Memory In Deep Learning Artificial Neural Network
US20190042928A1 (en) 2018-09-28 2019-02-07 Intel Corporation Compute-in-memory circuit having a multi-level read wire with isolated voltage distributions
US20190042199A1 (en) 2018-09-28 2019-02-07 Intel Corporation Compute in memory circuits with multi-vdd arrays and/or analog multipliers

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"Conv-RAM: An Energy-Efficient SRAM with Embedded Convolution Computation for Low-Power CNN-Based Machine Learning Applications", ISSCC, pp.488-489, 2018

Similar Documents

Publication Publication Date Title
US11361216B2 (en) Neural network circuits having non-volatile synapse arrays
US11868877B2 (en) Arithmetic device and electronic device
JP2022031607A (en) Semiconductor device
JP5963315B2 (en) Methods, devices, and circuits for neuromorphic / synaptronic spiking neural networks with synaptic weights learned using simulation
EP3710995B1 (en) Deep neural network processor with interleaved backpropagation
KR102141385B1 (en) An neuromorphic system with transposable memory and virtual look-up table
US11074496B2 (en) Providing transposable access to a synapse array using a recursive array layout
Ye et al. Global Mittag-Leffler synchronization for fractional-order BAM neural networks with impulses and multiple variable delays via delayed-feedback control strategy
US11620505B2 (en) Neuromorphic package devices and neuromorphic computing systems
US11157799B2 (en) Neuromorphic circuits for storing and generating connectivity information
CN108399892A (en) Pixel and display equipment with pixel
US20220157384A1 (en) Pulse-Width Modulated Multiplier
US10468098B2 (en) In-cell differential read-out circuitry for reading signed weight values in resistive processing unit architecture
CN106097991B (en) The data drive circuit and driving method of liquid crystal display panel
KR102225558B1 (en) Multilayer Computing Circuit Based on Analog Signal Transfer with On-Chip Activation Function
US20220129128A1 (en) Touch display system performing ground modulation
CN103106866A (en) Display device
US20150054666A1 (en) Current memory cell and a current mode digital-to-analog converter including the same
US20170140697A1 (en) Scanline driver and display device including the same
EP1384225B1 (en) Pixel circuit and operating method
KR102490774B1 (en) Synaptic Device For Neural Network Training
US20210295144A1 (en) Variable sensitivity node
US20100001981A1 (en) Dot-matrix display data refresh voltage charging control method and system
AU2020399273B2 (en) Capacitive processing unit
Wang et al. A Read and Write Method for Forgetting Memristor Crossbar Array with Long-term and Short-term Memory

Legal Events

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