KR20210022982A - Neuromorphic system for multiple multiplication and accumulation operations and method thereof - Google Patents

Neuromorphic system for multiple multiplication and accumulation operations and method thereof Download PDF

Info

Publication number
KR20210022982A
KR20210022982A KR1020190102466A KR20190102466A KR20210022982A KR 20210022982 A KR20210022982 A KR 20210022982A KR 1020190102466 A KR1020190102466 A KR 1020190102466A KR 20190102466 A KR20190102466 A KR 20190102466A KR 20210022982 A KR20210022982 A KR 20210022982A
Authority
KR
South Korea
Prior art keywords
sense amplifiers
neuromorphic system
signal
flip
mac
Prior art date
Application number
KR1020190102466A
Other languages
Korean (ko)
Other versions
KR102389413B1 (en
Inventor
정성욱
최사라
김기룡
Original Assignee
연세대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 연세대학교 산학협력단 filed Critical 연세대학교 산학협력단
Priority to KR1020190102466A priority Critical patent/KR102389413B1/en
Publication of KR20210022982A publication Critical patent/KR20210022982A/en
Application granted granted Critical
Publication of KR102389413B1 publication Critical patent/KR102389413B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/41Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming static cells with positive feedback, i.e. cells not needing refreshing or charge regeneration, e.g. bistable multivibrator or Schmitt trigger
    • G11C11/413Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing, timing or power reduction
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/06Sense amplifiers; Associated circuits, e.g. timing or triggering circuits

Abstract

The present invention relates to a neuromorphic system for performing a multi-MAC operation and a method for performing a multi-MAC operation. The neuromorphic system according to one embodiment of the present invention comprises: a synapse array outputting at least one weight value corresponding to synaptic circuits receiving a spike signal among a plurality of synaptic circuits connected to one bit line among a plurality of bit lines; and a weight operation unit including a plurality of sense amplifiers receiving at least one weight value as an input through one bit line and performing a multiplication and accumulation (MAC) operation on the plurality of weight values by using the plurality of sense amplifiers.

Description

멀티 MAC 동작을 수행하는 뉴로모픽 시스템 및 그 방법{NEUROMORPHIC SYSTEM FOR MULTIPLE MULTIPLICATION AND ACCUMULATION OPERATIONS AND METHOD THEREOF}Neuromorphic system performing multi-MAC operation and its method {NEUROMORPHIC SYSTEM FOR MULTIPLE MULTIPLICATION AND ACCUMULATION OPERATIONS AND METHOD THEREOF}

뉴로모픽 시스템에 관한 것으로, 보다 상세하게는 뉴로모픽 시스템에서 멀티 MAC 연산을 수행하는 기술적 사상에 관한 것이다.It relates to a neuromorphic system, and more particularly, to a technical idea of performing a multi-MAC operation in a neuromorphic system.

SNN(spiking neural network) 시스템은 생물학적 뇌에서 나타나는 높은 에너지 효율(energy efficiency)을 얻기 위해 생물학적 뇌의 구조를 모방하는 방식으로 연구가 시작 되었다. The SNN (spiking neural network) system has been studied in a way that mimics the structure of the biological brain in order to obtain high energy efficiency that appears in the biological brain.

SNN 시스템 뉴런(neuron)의 기본적인 동작은 MAC 연산으로 구성되어 있으며, MAC 연산을 효과적으로 구현하는 것이 에너지 효율을 높이는 방안 중에 하나이다. The basic operation of SNN system neurons is composed of MAC operation, and effectively implementing MAC operation is one of the ways to increase energy efficiency.

기존 CNN(convolutional neural network)에서는 CIM(computation-in-memory)을 이용하여 한번에 많은 MAC 연산을 처리하는 방안들이 연구되어 왔다. 그러나, SNN 시스템에 CNN에서 연구되어 왔던 CIM을 그대로 적용하는 것은 오히려 에너지 효율을 저하시키는 요인으로 작용한다. In the existing convolutional neural network (CNN), methods of processing many MAC operations at once using computation-in-memory (CIM) have been studied. However, applying CIM, which has been studied in CNN, to the SNN system as it is, acts as a factor that lowers energy efficiency.

한편, 기존 SNN 시스템에 적용되었던 커런트 합산(current sum) 방식은 아날로그 형태의 커런트를 한번에 축적(accumulation)하기 때문에 MAC 연산 이후에 ADC(analog-digital converter)가 필요하며, 이 때 사용되는 ADC는 공간(area), 에너지(energy) 및 지연 오버헤드(delay overhead)가 매우 크다는 문제가 있다. Meanwhile, since the current sum method applied to the existing SNN system accumulates analog currents at once, an ADC (analog-digital converter) is required after the MAC operation, and the ADC used at this time is space There is a problem in that (area), energy, and delay overhead are very large.

또한, 커런트 합산 방식을 통한 멀티 웨이트(multi-weight)의 처리 시, 비트라인 자리에 아날로그 값을 올바른 값으로 처리해 주기 위해서 승산기(multiplier) 또는 차지 쉐어링(charge sharing)과 같은 추가적인 구성을 필요로 하여 추가적으로 공간, 에너지 및 지연 오버헤드가 증가한다는 문제가 있다.In addition, when processing multi-weight through the current summing method, an additional configuration such as a multiplier or charge sharing is required in order to process the analog value at the bit line position as the correct value. Additionally, there is a problem that space, energy and delay overhead are increased.

한국공개특허 제10-2014-0144130호, "시냅스 어레이, 펄스 쉐이퍼 회로 및 이들을 포함하는 뉴로모픽 시스템"Korean Patent Laid-Open Publication No. 10-2014-0144130, "Synaptic Array, Pulse Shaper Circuit and Neuromorphic System Containing These"

본 발명은 기존 ADC를 필요로 하는 아날로그 방식의 multiple-MAC 연산이 아닌 SRAM의 센스 앰프를 복수 개 사용하여 multiple-MAC 연산을 수행할 수 있는 뉴로모픽 시스템 및 그 방법을 제공하고자 한다. An object of the present invention is to provide a neuromorphic system and method capable of performing multiple-MAC operations using a plurality of sense amplifiers of SRAM, not analog type multiple-MAC operations requiring a conventional ADC.

또한, 본 발명은 ADC 없이 multiple-MAC 연산을 수행하여 공간(area), 에너지(energy) 및 지연 오버헤드(delay overhead)에 따른 손실을 최소화함으로써 전체적인 에너지 효율을 높일 수 있는 뉴로모픽 시스템 및 그 방법을 제공하고자 한다.In addition, the present invention is a neuromorphic system that can increase overall energy efficiency by minimizing losses due to space, energy, and delay overhead by performing multiple-MAC operations without an ADC, and I want to provide a way.

또한, 본 발명은 복수의 플립플랍 출력에 기초하여 센스 앰프의 동작을 제어함으로써, 센스 앰프를 복수 개 사용함에 따른 에너지 오버헤드를 줄일 수 있는 뉴로모픽 시스템 및 그 방법을 제공하고자 한다.In addition, the present invention is to provide a neuromorphic system and method capable of reducing energy overhead caused by using a plurality of sense amplifiers by controlling the operation of a sense amplifier based on a plurality of flip-flop outputs.

일실시예에 따른 뉴로모픽 시스템은 복수의 비트라인들 중 어느 하나의 비트라인에 연결되는 복수의 시냅스 회로들 중에서 스파이크(Spikes) 신호를 수신하는 시냅스 회로들에 대응되는 적어도 하나의 웨이트(weight) 값을 출력하는 시냅스 어레이 및 적어도 하나의 웨이트 값을 어느 하나의 비트라인을 통해 입력으로 수신하는 복수의 센스 앰프(sense amplifier)를 포함하고, 복수의 센스 엠프를 이용하여 복수의 웨이트 값에 대한 MAC(multiplication and accumulation) 연산을 수행하는 웨이트 연산부를 포함할 수 있다.The neuromorphic system according to an embodiment includes at least one weight corresponding to synaptic circuits for receiving spikes signals among a plurality of synaptic circuits connected to any one of a plurality of bit lines. ) A synapse array for outputting a value and a plurality of sense amplifiers receiving at least one weight value as an input through any one bit line, and a plurality of weight values using a plurality of sense amplifiers. It may include a weight calculator that performs a multiplication and accumulation (MAC) operation.

일측에 따르면, 복수의 시냅스 회로들은 SRAM 메모리 셀 구조에 기반한 회로일 수 있다. According to one side, the plurality of synaptic circuits may be circuits based on the SRAM memory cell structure.

일측에 따르면, 뉴로모픽 시스템은 시냅스 어레이에 구비된 복수의 워드라인들 중 적어도 하나 이상의 워드라인을 동일한 타이밍에 선택하고, 동일한 타이밍에서 선택된 워드라인들을 통해 스파이크 신호를 제공하는 신호 제공부를 더 포함할 수 있다. According to one side, the neuromorphic system further includes a signal providing unit for selecting at least one word line among a plurality of word lines provided in the synapse array at the same timing and providing a spike signal through the word lines selected at the same timing. can do.

일측에 따르면, 신호 제공부는 복수의 워드라인 각각에 연결되는 프리 뉴런(pre-neuron)들을 포함하고, 프리 뉴런들을 통해 복수의 워드라인들 각각에 대응되는 시냅스 회로들에 스파이크 신호를 제공할 수 있다. According to one side, the signal providing unit includes pre-neurons connected to each of a plurality of word lines, and may provide a spike signal to synaptic circuits corresponding to each of the plurality of word lines through the free neurons. .

일측에 따르면, 복수의 센스 앰프 각각은 어느 하나의 비트라인과, 하나의 기준 전압을 인가하는 기준 전압라인이 입력으로 연결될 수 있다. According to one side, in each of the plurality of sense amplifiers, any one bit line and a reference voltage line for applying one reference voltage may be connected as inputs.

일측에 따르면, 복수의 센스 앰프 각각은 어느 하나의 비트라인을 통해 인가되는 비트라인 전압이 기준 전압보다 낮아지는 시점을 감지하고, 감지된 시점에 대응되는 MAC 연산 결과를 출력할 수 있다.According to one side, each of the plurality of sense amplifiers may detect a time point when a bit line voltage applied through any one bit line becomes lower than a reference voltage, and output a MAC operation result corresponding to the sensed time point.

일측에 따르면, 복수의 센스 앰프 각각은 복수의 센스 앰프 각각의 제1 출력신호와 제2 출력 신호를 입력으로 수신하여 제어 클럭을 생성하는 논리 게이트 및 제1 출력신호와 생성된 제어 클럭을 입력으로 수신하는 플립플랍(flip-flop)과 연결될 수 있다. According to one side, each of the plurality of sense amplifiers receives a first output signal and a second output signal of each of the plurality of sense amplifiers as inputs to generate a control clock and a logic gate and a first output signal and a generated control clock as inputs. It may be connected to a receiving flip-flop.

일측에 따르면, 복수의 센스 앰프 각각은 복수의 센스 앰프 각각에 대응되는 플립플랍들로부터 플립플랍들의 출력 신호를 수신하여, 복수의 센스 앰프 중 적어도 하나의 센스 앰프의 동작을 제어하기 위한 앰프 인에이블 신호를 생성하는 센스 앰프 제어기로부터 생성된 앰프 인에이블 신호를 입력으로 수신할 수 있다. According to one side, each of the plurality of sense amplifiers receives the output signals of the flip-flops from the flip-flops corresponding to each of the plurality of sense amplifiers, and enables an amplifier to control the operation of at least one sense amplifier among the plurality of sense amplifiers. An amplifier enable signal generated from a sense amplifier controller generating a signal may be received as an input.

일실시예에 따른 뉴로모픽 시스템을 이용한 멀티 MAC 동작 수행 방법은 시냅스 어레이에서, 복수의 비트라인들 중 어느 하나의 비트라인에 연결되는 복수의 시냅스 회로들 중에서 스파이크(Spikes) 신호를 수신하는 시냅스 회로들에 대응되는 적어도 하나의 웨이트(weight) 값을 출력하는 단계와, 웨이트 연산부에서, 적어도 하나의 웨이트 값을 어느 하나의 비트라인을 통해 입력으로 수신하는 복수의 센스 앰프(sense amplifier)를 이용하여 복수의 웨이트 값에 대한 MAC(multiplication and accumulation) 연산을 수행하는 단계를 포함할 수 있다.A method of performing a multi-MAC operation using a neuromorphic system according to an embodiment is a synapse in which a spike signal is received from among a plurality of synaptic circuits connected to any one of a plurality of bit lines in a synapse array. Outputting at least one weight value corresponding to the circuits, and using a plurality of sense amplifiers that receive at least one weight value as an input through any one bit line in the weight calculator. Thus, it may include performing a multiplication and accumulation (MAC) operation on a plurality of weight values.

일측에 따르면, 멀티 MAC 동작 수행 방법은 신호 제공부에서, 시냅스 어레이에 구비된 복수의 워드라인들 중 적어도 하나 이상의 워드라인을 동일한 타이밍에 선택하고, 동일한 타이밍에서 선택된 워드라인들을 통해 스파이크 신호를 제공하는 단계를 더 포함할 수 있다. According to one side, in the method of performing a multi-MAC operation, the signal providing unit selects at least one word line from among a plurality of word lines provided in the synapse array at the same timing, and provides a spike signal through the word lines selected at the same timing. It may further include the step of.

일측에 따르면, 복수의 센스 앰프 각각은 복수의 센스 앰프 각각의 제1 출력신호와 제2 출력 신호를 입력으로 수신하여 제어 클럭을 생성하는 논리 게이트 및 제1 출력신호와 생성된 제어 클럭을 입력으로 수신하는 플립플랍(flip-flop)과 연결될 수 있다. According to one side, each of the plurality of sense amplifiers receives a first output signal and a second output signal of each of the plurality of sense amplifiers as inputs to generate a control clock and a logic gate and a first output signal and a generated control clock as inputs. It may be connected to a receiving flip-flop.

일측에 따르면, 복수의 센스 앰프 각각은 복수의 센스 앰프 각각에 대응되는 플립플랍들로부터 플립플랍들의 출력 신호를 수신하여, 복수의 센스 앰프 중 적어도 하나의 센스 앰프의 동작을 제어하기 위한 앰프 인에이블 신호를 생성하는 센스 앰프 제어기로부터 생성된 앰프 인에이블 신호를 수신할 수 있다.According to one side, each of the plurality of sense amplifiers receives the output signals of the flip-flops from the flip-flops corresponding to each of the plurality of sense amplifiers, and enables an amplifier to control the operation of at least one sense amplifier among the plurality of sense amplifiers. An amplifier enable signal generated from a sense amplifier controller generating a signal may be received.

일실시예에 따르면, 기존 ADC를 필요로 하는 아날로그 방식의 multiple-MAC 연산이 아닌, SRAM의 센스 앰프를 복수 개 사용하여 multiple-MAC 연산을 수행할 수 있다. According to an embodiment, a multiple-MAC operation may be performed using a plurality of sense amplifiers of an SRAM, rather than an analog multiple-MAC operation requiring an existing ADC.

일실시예에 따르면, ADC 없이 multiple-MAC 연산을 수행하여 공간(area), 에너지(energy) 및 지연 오버헤드(delay overhead)에 따른 손실을 최소화함으로써 전체적인 에너지 효율을 높일 수 있다. According to an embodiment, a multiple-MAC operation is performed without an ADC to minimize loss due to space, energy, and delay overhead, thereby improving overall energy efficiency.

일실시예에 따르면, 복수의 플립플랍 출력에 기초하여 센스 앰프의 동작을 제어함으로써, 센스 앰프를 복수 개 사용함에 따른 에너지 오버헤드를 줄일 수 있다.According to an embodiment, by controlling the operation of the sense amplifier based on a plurality of flip-flop outputs, it is possible to reduce energy overhead due to the use of a plurality of sense amplifiers.

도 1a 내지 도 1d는 일실시예에 따른 뉴로모픽 시스템을 설명하기 위한 도면이다.
도 2는 일실시예에 따른 뉴로모픽 시스템에서 동시에 입력되는 복수의 스파이크 신호를 처리하는 예시를 설명하기 위한 도면이다.
도 3a 내지 도 3b는 일실시예에 따른 뉴로모픽 시스템에 구비된 웨이트 연산부의 구현예를 설명하기 위한 도면이다.
도 4a 내지 도 4b는 일실시예에 따른 뉴로모픽 시스템에 구비된 복수의 센스 앰프의 구현예를 설명하기 위한 도면이다.
도 5a 내지 도 5d는 일실시예에 따른 뉴로모픽 시스템의 시뮬레이션 결과를 설명하기 위한 도면이다.
도 6a 내지 도 6b는 일실시예에 따른 뉴로모픽 시스템에서 멀티 비트 웨이트 값을 처리하는 예시를 설명하기 위한 도면이다.
도 7은 일실시예예 따른 뉴로모픽 시스템을 이용한 멀티 MAC 동작 수행 방법을 설명하기 위한 도면이다.
1A to 1D are diagrams for describing a neuromorphic system according to an embodiment.
FIG. 2 is a diagram for describing an example of processing a plurality of spike signals simultaneously input in a neuromorphic system according to an embodiment.
3A to 3B are diagrams for explaining an implementation example of a weight calculating unit provided in a neuromorphic system according to an embodiment.
4A to 4B are diagrams for explaining implementation examples of a plurality of sense amplifiers included in a neuromorphic system according to an embodiment.
5A to 5D are diagrams for explaining simulation results of a neuromorphic system according to an embodiment.
6A to 6B are diagrams for explaining an example of processing a multi-bit weight value in a neuromorphic system according to an embodiment.
7 is a diagram illustrating a method of performing a multi-MAC operation using a neuromorphic system according to an embodiment.

이하, 본 문서의 다양한 실시 예들이 첨부된 도면을 참조하여 기재된다.Hereinafter, various embodiments of the present document will be described with reference to the accompanying drawings.

실시 예 및 이에 사용된 용어들은 본 문서에 기재된 기술을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 해당 실시 예의 다양한 변경, 균등물, 및/또는 대체물을 포함하는 것으로 이해되어야 한다.The embodiments and terms used therein are not intended to limit the technology described in this document to a specific embodiment, and should be understood to include various changes, equivalents, and/or substitutes for the corresponding embodiment.

하기에서 다양한 실시 예들을 설명에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다.In the following description of various embodiments, when it is determined that a detailed description of a related known function or configuration may unnecessarily obscure the subject matter of the invention, a detailed description thereof will be omitted.

그리고 후술되는 용어들은 다양한 실시 예들에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.In addition, terms to be described later are terms defined in consideration of functions in various embodiments, which may vary according to the intention or custom of users or operators. Therefore, the definition should be made based on the contents throughout the present specification.

도면의 설명과 관련하여, 유사한 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다.In connection with the description of the drawings, similar reference numerals may be used for similar elements.

단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함할 수 있다.Singular expressions may include plural expressions unless the context clearly indicates otherwise.

본 문서에서, "A 또는 B" 또는 "A 및/또는 B 중 적어도 하나" 등의 표현은 함께 나열된 항목들의 모든 가능한 조합을 포함할 수 있다.In this document, expressions such as "A or B" or "at least one of A and/or B" may include all possible combinations of items listed together.

"제1," "제2," "첫째," 또는 "둘째," 등의 표현들은 해당 구성요소들을, 순서 또는 중요도에 상관없이 수식할 수 있고, 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 뿐 해당 구성요소들을 한정하지 않는다.Expressions such as "first," "second," "first," or "second," can modify the corresponding elements regardless of their order or importance, and to distinguish one element from another It is used only and does not limit the corresponding components.

어떤(예: 제1) 구성요소가 다른(예: 제2) 구성요소에 "(기능적으로 또는 통신적으로) 연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 어떤 구성요소가 상기 다른 구성요소에 직접적으로 연결되거나, 다른 구성요소(예: 제3 구성요소)를 통하여 연결될 수 있다.When any (eg, first) component is referred to as being “(functionally or communicatively) connected” or “connected” to another (eg, second) component, a component is referred to as the other component. It may be directly connected to the element, or may be connected through another element (eg, a third element).

본 명세서에서, "~하도록 구성된(또는 설정된)(configured to)"은 상황에 따라, 예를 들면, 하드웨어적 또는 소프트웨어적으로 "~에 적합한," "~하는 능력을 가지는," "~하도록 변경된," "~하도록 만들어진," "~를 할 수 있는," 또는 "~하도록 설계된"과 상호 호환적으로(interchangeably) 사용될 수 있다.In the present specification, "configured to" (configured to)" is changed to "suitable to," "having the ability to," "to," "to," "suitable for" in hardware or software according to the situation, for example, ," "made to," "can do," or "designed to" can be used interchangeably.

어떤 상황에서는, "~하도록 구성된 장치"라는 표현은, 그 장치가 다른 장치 또는 부품들과 함께 "~할 수 있는" 것을 의미할 수 있다.In some situations, the expression "a device configured to" may mean that the device "can" along with other devices or parts.

예를 들면, 문구 "A, B, 및 C를 수행하도록 구성된(또는 설정된) 프로세서"는 해당 동작을 수행하기 위한 전용 프로세서(예: 임베디드 프로세서), 또는 메모리 장치에 저장된 하나 이상의 소프트웨어 프로그램들을 실행함으로써, 해당 동작들을 수행할 수 있는 범용 프로세서(예: CPU 또는 application processor)를 의미할 수 있다.For example, the phrase “a processor configured (or configured) to perform A, B, and C” means a dedicated processor (eg, an embedded processor) for performing the operation, or by executing one or more software programs stored in a memory device. , May mean a general-purpose processor (eg, a CPU or an application processor) capable of performing the corresponding operations.

또한, '또는' 이라는 용어는 배타적 논리합 'exclusive or' 이기보다는 포함적인 논리합 'inclusive or' 를 의미한다.In addition, the term'or' means an inclusive OR'inclusive or' rather than an exclusive OR'exclusive or'.

즉, 달리 언급되지 않는 한 또는 문맥으로부터 명확하지 않는 한, 'x가 a 또는 b를 이용한다' 라는 표현은 포함적인 자연 순열들(natural inclusive permutations) 중 어느 하나를 의미한다.That is, unless stated otherwise or unless clear from context, the expression'x uses a or b'means any one of natural inclusive permutations.

상술한 구체적인 실시예들에서, 발명에 포함되는 구성 요소는 제시된 구체적인 실시 예에 따라 단수 또는 복수로 표현되었다.In the above-described specific embodiments, constituent elements included in the invention are expressed in the singular or plural according to the presented specific embodiments.

그러나, 단수 또는 복수의 표현은 설명의 편의를 위해 제시한 상황에 적합하게 선택된 것으로서, 상술한 실시 예들이 단수 또는 복수의 구성 요소에 제한되는 것은 아니며, 복수로 표현된 구성 요소라 하더라도 단수로 구성되거나, 단수로 표현된 구성 요소라 하더라도 복수로 구성될 수 있다.However, the singular or plural expression is selected appropriately for the situation presented for convenience of description, and the above-described embodiments are not limited to the singular or plural constituent elements, and even constituent elements expressed in plural are composed of the singular or However, even if it is a component expressed in a singular number, it can be composed of pluralities.

한편 발명의 설명에서는 구체적인 실시 예에 관해 설명하였으나, 다양한 실시 예들이 내포하는 기술적 사상의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다.Meanwhile, although specific embodiments have been described in the description of the present invention, various modifications are possible without departing from the scope of the technical idea included in the various embodiments.

그러므로 본 발명의 범위는 설명된 실시 예에 국한되어 정해져서는 아니되며 후술하는 청구범위뿐만 아니라 이 청구범위와 균등한 것들에 의해 정해져야 한다.Therefore, the scope of the present invention is limited to the described embodiments and should not be defined, and should be defined by the claims and equivalents as well as the claims to be described later.

도 1a 내지 도 1d는 일실시예에 따른 뉴로모픽 시스템을 설명하기 위한 도면이다. 1A to 1D are diagrams for describing a neuromorphic system according to an embodiment.

도 1a 내지 도 1d를 참조하면, 참조부호 110은 일실시예에 따른 뉴로모픽 시스템을 나타내고, 참조부호 120은 일실시예에 따른 뉴로모픽 시스템에서 MAC 연산을 위해 사용되는 복수의 센스앰프를 나타낸다. 1A to 1D, reference numeral 110 denotes a neuromorphic system according to an embodiment, and reference numeral 120 denotes a plurality of sense amplifiers used for MAC operation in a neuromorphic system according to an embodiment. Show.

또한, 참조부호 130은 복수의 센스앰프를 이용한 MAC 연산 결과를 나타내며, 참조부호 140은 일실시예에 따른 뉴로모픽 시스템의 동작에 따른 타이밍도를 나타낸다. Further, reference numeral 130 denotes a result of a MAC operation using a plurality of sense amplifiers, and reference numeral 140 denotes a timing diagram according to an operation of a neuromorphic system according to an embodiment.

참조부호 110에 따르면, 일실시예에 따른 뉴로모픽 시스템(110)은 기존 ADC를 필요로 하는 아날로그 방식의 multiple-MAC 연산이 아닌, SRAM의 센스 앰프를 복수 개 사용하여 multiple-MAC 연산을 수행할 수 있다. According to reference numeral 110, the neuromorphic system 110 according to an embodiment performs a multiple-MAC operation using a plurality of sense amplifiers of SRAM, not an analog multiple-MAC operation requiring an existing ADC. can do.

또한, 뉴로모픽 시스템(110)은 ADC 없이 multiple-MAC 연산을 수행하여 공간(area), 에너지(energy) 및 지연 오버헤드(delay overhead)에 따른 손실을 최소화함으로써 전체적인 에너지 효율을 높일 수 있다.In addition, the neuromorphic system 110 performs a multiple-MAC operation without an ADC to minimize loss due to space, energy, and delay overhead, thereby increasing overall energy efficiency.

또한, 뉴로모픽 시스템(110)은 복수의 플립플랍 출력에 기초하여 센스 앰프의 동작을 제어함으로써, 센스 앰프를 복수 개 사용함에 따른 에너지 오버헤드를 줄일 수 있다. In addition, the neuromorphic system 110 controls the operation of the sense amplifiers based on a plurality of flip-flop outputs, thereby reducing energy overhead due to the use of a plurality of sense amplifiers.

이를 위해, 일실시예에 따른 뉴로모픽 시스템(110)은 시냅스 어레이(111), 웨이트 연산부(112) 및 신호 제공부(113)를 포함할 수 있다. 또한, 뉴로모픽 시스템(110)은 뉴런 프로세서(114)를 더 포함할 수 있다. To this end, the neuromorphic system 110 according to an embodiment may include a synapse array 111, a weight calculating unit 112, and a signal providing unit 113. In addition, the neuromorphic system 110 may further include a neuron processor 114.

예를 들면, 뉴런 프로세서(114)는 복수의 비트라인(BL0 내지 BLn; 여기서 n은 양의 정수) 각각에 연결되는 복수의 웨이트 연산부(112)로부터 출력되는 값을 합산하는 가산기(adder)의 역할을 수행할 수 있다. For example, the neuron processor 114 functions as an adder for summing values output from a plurality of weight calculation units 112 connected to each of a plurality of bit lines BL0 to BLn; where n is a positive integer. You can do it.

예를 들면, 일실시예에 따른 뉴로모픽 시스템(110)은 SNN(spiking neural network) 시스템일 수 있다. For example, the neuromorphic system 110 according to an embodiment may be a spiking neural network (SNN) system.

일실시예에 따른 시냅스 어레이(111)는 복수의 비트라인들(BL0 내지 BLn) 중 어느 하나의 비트라인에 연결되는 복수의 시냅스 회로들 중에서 스파이크(Spikes) 신호를 수신하는 시냅스 회로들에 대응되는 적어도 하나의 웨이트(weight) 값을 출력할 수 있다. The synaptic array 111 according to an embodiment corresponds to synaptic circuits for receiving spikes signals among a plurality of synaptic circuits connected to any one of a plurality of bit lines BL0 to BLn. At least one weight value may be output.

구체적으로, 시냅스 어레이(111)는 복수의 워드라인(WL0 내지 WLn) 및 복수의 비트라인(BL0 내지 BLn)의 교차점 각각에 형성되는 복수의 시냅스 회로들을 포함할 수 있다. Specifically, the synaptic array 111 may include a plurality of synaptic circuits formed at intersections of a plurality of word lines WL0 to WLn and a plurality of bit lines BL0 to BLn.

일측에 따르면, 복수의 시냅스 회로들은 SRAM 메모리 셀 구조에 기반한 회로일 수 있다. 다시 말해, 복수의 시냅스 회로들은 SRAM 메모리의 메모리 셀일 수 있다.According to one side, the plurality of synaptic circuits may be circuits based on the SRAM memory cell structure. In other words, the plurality of synaptic circuits may be memory cells of the SRAM memory.

일측에 따르면, 어느 하나의 비트라인은 별도의 열 디코더(column decoder)를 통해 선택된 비트라인일 수도 있다. According to one side, any one bit line may be a bit line selected through a separate column decoder.

일실시예에 따른 웨이트 연산부(112)는 적어도 하나의 웨이트 값을 어느 하나의 비트라인을 통해 입력으로 수신하는 복수의 센스 앰프(sense amplifier)를 포함하고, 복수의 센스 엠프를 이용하여 복수의 웨이트 값에 대한 MAC(multiplication and accumulation) 연산을 수행할 수 있다. The weight operation unit 112 according to an embodiment includes a plurality of sense amplifiers that receive at least one weight value as an input through any one bit line, and uses a plurality of sense amplifiers to perform a plurality of weights. A multiplication and accumulation (MAC) operation may be performed on a value.

구체적으로, 어느 하나의 비트라인이 'BL0' 인 경우, 웨이트 연산부(112)의 복수의 센스 앰프는 비트라인 'BL0'와 워드라인 'WL0' 내지 'WLn'의 교차점에 위치하는 복수의 시냅스 회로들 중에서 워드라인 'WL0' 내지 'WLn'을 통해 스파이크 신호를 수신하는 시냅스 회로들에 대응되는 적어도 하나의 웨이트 값을 입력으로 수신하고, 수신한 적어도 하나의 웨이트 값에 기초하여 multiple-MAC 연산을 수행할 수 있다.Specifically, when any one bit line is'BL0', the plurality of sense amplifiers of the weight operation unit 112 are a plurality of synaptic circuits located at the intersection of the bit line'BL0' and the word lines'WL0' to'WLn'. Among them, at least one weight value corresponding to the synaptic circuits receiving a spike signal through word lines'WL0' to'WLn' is received as an input, and a multiple-MAC operation is performed based on the received at least one weight value. You can do it.

참조부호 120에 따르면, 복수의 센스 앰프(SA1, SA2) 각각은 어느 하나의 비트라인과, 하나의 기준 전압라인이 연결되어, 비트라인 전압(VBL)과 기준 전압(VREF)을 입력으로 수신할 수 있다. According to reference numeral 120, each of the plurality of sense amplifiers SA1 and SA2 is connected to one bit line and one reference voltage line , and receives the bit line voltage V BL and the reference voltage V REF as inputs. You can receive it.

즉, 일실시예에 따른 복수의 센스 앰프는 동일한 비트라인과 동일한 기준 전압라인을 공유할 수 있으며, 이를 통해 하나의 비트라인 전압(VBL)과 하나의 기준 전압(VREF)을 서로 공유할 수 있다.That is, a plurality of sense amplifiers according to an embodiment may share the same bit line and the same reference voltage line, through which one bit line voltage (V BL ) and one reference voltage (V REF ) can be shared with each other. I can.

참조부호 130에 따르면, 어느 하나의 비트라인에서의 MAC 연산은 하기 수학식1을 통해 수행될 수 있다. According to reference numeral 130, the MAC operation on any one bit line may be performed through Equation 1 below.

[수학식1][Equation 1]

Figure pat00001
Figure pat00001

여기서,

Figure pat00002
는 복수의 워드라인 각각으로 입력되는 스파이크 신호 값을 의미할 수 있고,
Figure pat00003
는 입력되는 스파이크 신호 각각에 대응되는 시냅스 회로들의 웨이트 값일 수 있다. here,
Figure pat00002
May mean a spike signal value input to each of a plurality of word lines,
Figure pat00003
May be a weight value of synaptic circuits corresponding to each input spike signal.

또한, 참조부호 130에서, tn(여기서, n은 양의 정수)은 수학식 1의 결과 값이 n인 경우, 기준 전압(VREF)보다 작아져 센스 앰프의 출력이 1이 되는 시간을 의미할 수 있다. In addition, in reference numeral 130, tn (where n is a positive integer) indicates a time when the result value of Equation 1 is n, which is smaller than the reference voltage V REF and the output of the sense amplifier becomes 1. I can.

예를 들면, t3는 수학식 1의 결과 값인 '3'과 '2'의 수율(yield)이 같으면서, 그 값이 최대가 되는 시간일 수 있고, t2는 수학식 1의 결과 값인 '2'와 '1'의 수율이 같으면서 그 값이 최대가 되는 시간일 수 있으며, t1은 수학식 1의 결과 값인 '1'의 타겟 수율에 의해 결정되는 시간일 수 있다. For example, t3 may be a time when the yield of '3' and '2', which are the result values of Equation 1, are the same, and the value becomes the maximum, and t2 is the result of Equation 1, '2' and While the yield of '1' is the same, it may be a time when the value becomes the maximum, and t1 may be a time determined by the target yield of '1', which is a result of Equation 1.

구체적으로, 일실시예에 따른 복수의 센스 앰프 각각은 어느 하나의 비트라인을 통해 인가되는 비트라인 전압(VBL)이 기준 전압(VREF)보다 낮아지는 시점(t1, t2, t3)을 감지하고, 감지된 시점(t1, t2, t3)에 대응되는 MAC 연산 결과를 출력할 수 있다.Specifically, each of the plurality of sense amplifiers according to an exemplary embodiment detects a time point (t1, t2, t3) at which the bit line voltage (V BL ) applied through any one bit line is lower than the reference voltage (V REF ). And, it is possible to output the MAC operation result corresponding to the sensed time (t1, t2, t3).

즉, 수학식1을 통해 산출되는 MAC 연산의 결과 값('0', '1', '2', '3')에 따라 비트라인 전압(VBL)이 기준 전압(VREF)보다 낮아지는 시점(t1, t2, t3)이 달라지므로, 일실시예에 따른 복수의 센스 앰프는 시점(t1, t2, t3)에 대한 감지 동작을 통해 MAC 연산 결과를 출력할 수 있다. That is, the bit line voltage (V BL ) is lower than the reference voltage (V REF ) according to the result values ('0', '1', '2', '3') of the MAC operation calculated through Equation 1 Since the time points t1, t2, and t3 are different, a plurality of sense amplifiers according to an embodiment may output the MAC operation result through a sensing operation for the time points t1, t2, and t3.

일측에 따르면, 복수의 센스 앰프 각각은 하나의 기준 전압(VREF)을 이용하여 t3일 때는 수학식 1의 결과 값인 '3'과 '2'를 구분하고, t2일 때는 수학식 1의 결과 값인 '2'와 '1'을 구분하며, t1일 때는 수학식 1의 결과 값인 '1'과 '0'을 구분할 수 있다.According to one side, each of the plurality of sense amplifiers uses one reference voltage (V REF ) to distinguish between '3' and '2' which are the result values of Equation 1 at t3, and the result of Equation 1 at t2. '2' and '1' are distinguished, and in the case of t1, '1' and '0', which are the result values of Equation 1, can be distinguished.

구체적으로, 총 N개(여기서, N은 양의 정수)의 스파이크 신호가 동시에 입력 되는 경우, 수학식1의 결과 값의 최소 값은 '0', 최대 값은 'N'일 수 있다. 또한, 수학식1의 결과값에 따라 비트라인 전압(VBL)이 방전(discharge)되는 속도가 달라질 수 있다.Specifically, when a total of N spike signals (here, N is a positive integer) are simultaneously input, the minimum value of the result value of Equation 1 may be '0' and the maximum value may be'N'. In addition, the rate at which the bit line voltage V BL is discharged may vary according to the result of Equation 1.

이론적으로, 총 N개의 MAC 연산을 동시에 수행하기 위해서는 t1 부터 tn까지 순차적으로 최대 N번 센스 앰프를 인에이블(enable)시켜 최초로 센스 앰프가 '1'이 되는 시간을 찾으면 MAC 연산의 출력 값을 산출할 수 있다. In theory, in order to perform a total of N MAC operations at the same time, enable the sense amplifiers up to N times sequentially from t1 to tn, and calculate the output value of the MAC operation when the first sense amplifier finds the time at which it becomes '1'. can do.

예를 들면, t3에서 센스 앰프를 인에이블시켜 센스 앰프의 출력 값이 '1'이 나왔다면, 수학식1의 결과 값은 '3!'일 수 있다. For example, if the sense amplifier is enabled at t3 and the output value of the sense amplifier is '1', the result value of Equation 1 may be '3!'.

하지만, 수학식1의 결과 값이 '4' 이상인 경우에는 비트라인이 방전되는 속도가 매우 커서 tn의 간격이 매우 작아질 수 있다. However, when the result value of Equation 1 is greater than or equal to '4', the rate at which the bit line is discharged is very large, and the interval of tn may be very small.

또한, 비트라인 전압(VBL)의 변화(variation)을 고려하였을 때, 비트라인 전압(VBL)의 분포(distribution)가 커져서 센스 앰프를 통해 수학식1의 결과 값이 '4' 이상인 경우를 구별하기가 어렵다는 문제가 있다. In addition, the Considering the change (variation) of the bit line voltage (V BL), bit line voltage (V BL) distribution (distribution) is not less than the "4" results in the expression (1) through a large, the sense amplifier of There is a problem that it is difficult to distinguish.

이에, 일실시예에 따른 뉴로모픽 시스템(110)은 총 3개의 워드라인들을 동시에 인에이블시켜 최대 3개의 MAC 연산을 동시에 수행할 수 있다. Accordingly, the neuromorphic system 110 according to an embodiment may simultaneously enable a total of three word lines to simultaneously perform up to three MAC operations.

실제 SRAM의 센스 앰프를 설계하면, 출력이 '0' 또는 '1'이 나오기까지 최소 500ps 이상의 시간이 소요될 수 있다. 하지만, t3와 t2의 간격이 그 보다 작으므로, 일실시예에 따른 뉴로모픽 시스템(110)은 각 비트라인마다 2개의 센스 앰프를 사용할 수 있다. When a sense amplifier of an actual SRAM is designed, it may take at least 500ps or more for the output to be '0' or '1'. However, since the interval between t3 and t2 is smaller than that, the neuromorphic system 110 according to an embodiment may use two sense amplifiers for each bit line.

참조부호 110 및 140에 따르면, T1OP는 뉴런 프로세서(114)를 통해 결과 값이 출력될 때까지의 주기를 나타낼 수 있고, PRE는 프리차지 전압을 나타낼 수 있으며, WL는 워드라인 전압을 나타낼 수 있고, SAE1 및 SAE2는 복수의 센스 앰프 중 제1 센스 앰프 및 제2 센스 앰프 각각의 인에이블 신호를 나타낼 수 있으며, ADD는 뉴런 프로세서(114)의 동작을 위한 인에이블 신호를 나타낼 수 있다.According to reference numerals 110 and 140, T 1OP may indicate a period until a result value is output through the neuron processor 114, PRE may indicate a precharge voltage, and WL may indicate a word line voltage. In addition, SAE1 and SAE2 may represent enable signals of each of the first sense amplifier and the second sense amplifier among the plurality of sense amplifiers, and ADD may indicate an enable signal for the operation of the neuron processor 114.

즉, 제1 센스 앰프는 t1과 t3에서만 인에이블 되고, 제2 센스 앰프는 t2에서만 인에이블 되는 것을 확인할 수 있다. That is, it can be seen that the first sense amplifier is enabled only at t1 and t3, and the second sense amplifier is enabled only at t2.

다시 참조부호 110에 따르면, 일실시예에 따른 신호 제공부(130)는 시냅스 어레이에 구비된 복수의 워드라인들(WL0 내지 WLn) 중 적어도 하나 이상의 워드라인을 동일한 타이밍에 선택하고, 동일한 타이밍에서 선택된 워드라인들을 통해 스파이크 신호를 제공할 수 있다. Again, according to reference numeral 110, the signal providing unit 130 according to an embodiment selects at least one word line among a plurality of word lines WL0 to WLn provided in the synapse array at the same timing, and at the same timing. A spike signal may be provided through the selected word lines.

예를 들면, 신호 제공부(113)는 복수의 워드라인(WL0 내지 WLn) 중 최대 3개의 워드라인을 동일한 타이밍에 선택하고, 선택된 3개의 워드라인에 대응되는 스파이크 신호를 제공할 수 있다. For example, the signal providing unit 113 may select up to three word lines from among the plurality of word lines WL0 to WLn at the same timing and provide spike signals corresponding to the selected three word lines.

일측에 따르면, 신호 제공부(113)는 복수의 워드라인(WL0 내지 WLn) 각각에 연결되는 프리 뉴런(pre-neuron)들을 포함하고, 프리 뉴런들을 통해 복수의 워드라인들 각각에 대응되는 시냅스 회로들에게 스파이크 신호를 제공할 수 있다. According to one side, the signal providing unit 113 includes pre-neurons connected to each of the plurality of word lines WL0 to WLn, and a synaptic circuit corresponding to each of the plurality of word lines through the free neurons. It can provide spike signals to people.

또한, 신호 제공부(113)는 행 디코더(row decorder)로 구현되어 시냅스 회로들에게 대응되는 스파이크 신호를 제공할 수도 있다. In addition, the signal providing unit 113 may be implemented as a row decoder to provide spike signals corresponding to synaptic circuits.

도 2는 일실시예에 따른 뉴로모픽 시스템에서 동시에 입력되는 복수의 스파이크 신호를 처리하는 예시를 설명하기 위한 도면이다. 2 is a diagram illustrating an example of processing a plurality of spike signals simultaneously input in a neuromorphic system according to an embodiment.

다시 말해, 도 2는 도 1a 내지 도 1d를 통해 설명한 일실시예에 따른 뉴로모픽 시스템에 관한 예시를 설명하는 도면으로, 이후 도 2를 통해 설명하는 내용 중 일실시예에 따른 뉴로모픽 시스템을 통해 설명한 내용과 중복되는 설명은 생략하기로 한다.In other words, FIG. 2 is a diagram for explaining an example of a neuromorphic system according to an embodiment described with reference to FIGS. 1A to 1D, and a neuromorphic system according to an embodiment of the contents described with reference to FIG. 2 hereinafter. Descriptions that are overlapping with those described through will be omitted.

도 2를 참조하면, 상술한 대로 수학식1의 결과 값이 '4' 이상인 경우에는 비트라인이 방전되는 속도가 매우 커서 tn의 간격이 매우 작아질 수 있으며, 비트라인 전압(VBL)의 변화(variation)을 고려하였을 때, 비트라인 전압(VBL)의 분포(distribution)가 커져서 센스 앰프를 통해 수학식1의 결과 값이 '4' 이상인 경우를 구별하기가 어렵다는 문제가 있다. Referring to FIG. 2, as described above, when the result value of Equation 1 is '4' or more, the rate at which the bit line is discharged is very large, and the interval of tn may be very small, and the bit line voltage (V BL ) is changed. When (variation) is considered, there is a problem that it is difficult to distinguish a case in which the result value of Equation 1 is '4' or more through the sense amplifier because the distribution of the bit line voltage V BL is increased.

이에, 일실시예에 따른 뉴로모픽 시스템은 참조부호 200에 도시된 것과 같이, 동시에 4개의 스파이크 신호가 입력되면, 4개의 스파이크 신호 중 3개의 스파이크 신호에 대해서만 동시에 MAC 연산을 수행하고, 나머지 한 개의 스파이크 신호는 그 다음 주기에 MAC 연산을 수행할 수 있다. Thus, the neuromorphic system according to an embodiment, as shown in reference numeral 200, when four spike signals are input at the same time, performs MAC operation on only three spike signals of the four spike signals at the same time, and the remaining one The two spike signals may perform MAC operations in the next period.

즉, 일실시예에 따른 뉴로모픽 시스템은 4개의 스파이크 신호가 수신되면, 2*T1OP 동안 MAC 연산을 수행하여 결과값을 출력할 수 있다. That is, the neuromorphic system according to an embodiment may output a result value by performing a MAC operation for 2*T 1OP when four spike signals are received.

다시 말해, 일실시예에 따른 뉴로모픽 시스템은 동시에 M개(여기서, M은 4 이상의 양의 정수) 이상의 스파이크 신호를 수신하면, 수신한 M개의 스파이크 신호를 3개씩 분할하여 그룹핑하고, 그룹핑된 복수의 그룹 각각에 포함된 스파이크 신호에 대해 동일한 타이밍(T1OP)에 MAC 연산을 수행할 수 있다. In other words, when the neuromorphic system according to an embodiment receives M or more spike signals at the same time (here, M is a positive integer of 4 or more), the received M spike signals are divided and grouped by three, and the grouped The MAC operation may be performed on the spike signals included in each of the plurality of groups at the same timing (T 1OP ).

예를 들면, 스파이크 신호의 그룹핑 동작은 일실시예에 따른 뉴로모픽 시스템의 웨이트 연산부를 통해 수행될 수 있다. For example, the grouping operation of the spike signals may be performed through the weight calculator of the neuromorphic system according to an embodiment.

결국, 본 발명은 최대 3개의 스파이크 신호에 대하여 동시에 MAC 연산을 수행함으로써, 기존의 SNN 시스템 대비 약 3배 빠른 속도로 MAC 연산 처리를 수행할 수 있다. As a result, the present invention can perform MAC operation processing at a speed of about three times faster than that of the existing SNN system by simultaneously performing MAC operation on up to three spike signals.

도 3a 내지 도 3b는 일실시예에 따른 뉴로모픽 시스템에 구비된 웨이트 연산부의 구현예를 설명하기 위한 도면이다. 3A to 3B are diagrams for explaining an implementation example of a weight calculation unit provided in a neuromorphic system according to an embodiment.

다시 말해, 도 3a 내지 도 3b는 도 1a 내지 도 2를 통해 설명한 일실시예에 따른 뉴로모픽 시스템에 관한 예시를 설명하는 도면으로, 이후 도 3a 내지 도 3b를 통해 설명하는 내용 중 일실시예에 따른 뉴로모픽 시스템을 통해 설명한 내용과 중복되는 설명은 생략하기로 한다.In other words, FIGS. 3A to 3B are views for explaining an example of a neuromorphic system according to an embodiment described with reference to FIGS. 1A to 2, and an embodiment of the contents described with reference to FIGS. 3A to 3B hereinafter Descriptions that are overlapping with those described through the neuromorphic system according to will be omitted.

도 3a 내지 도 3b를 참조하면, 참조부호 310은 일실시예에 따른 웨이트 연산부의 세부 구조를 나타내며, 참조부호 320은 일실시예에 따른 웨이트 연산부의 동작에 따른 타이밍도를 나타낸다. 3A to 3B, reference numeral 310 denotes a detailed structure of a weight operation unit according to an embodiment, and reference numeral 320 denotes a timing diagram according to an operation of the weight operation unit according to an embodiment.

참조부호 310에 따르면, 일실시예에 따른 웨이트 연산부는 제1 센스앰프(311), 제2 센스앰프(312), 제1 논리 게이트(313), 제2 논리 게이트(314), 제1 플립플랍(315), 및 제2 플립플랍(316)을 포함할 수 있다. According to reference numeral 310, the weight calculating unit according to an embodiment is a first sense amplifier 311, a second sense amplifier 312, a first logic gate 313, a second logic gate 314, a first flip-flop. 315 and a second flip-flop 316 may be included.

또한, 일실시예에 따른 웨이트 연산부는 센스 앰프 제어기(317)를 더 포함할 수도 있으며, 센스 앰프 제어기(317)는 AND 게이트를 포함할 수 있다.In addition, the weight calculation unit according to an embodiment may further include a sense amplifier controller 317, and the sense amplifier controller 317 may include an AND gate.

예를 들면, 제1 논리 게이트(313) 및 제2 논리 게이트(314)는 NAND 게이트 및 OR 게이트 중 적어도 하나를 포함할 수 있다. 또한, 제1 논리 게이트(313) 및 제2 논리 게이트(314)는 NAND 게이트 및 OR 게이트 중 적어도 하나의 게이트의 출력단에 연결되는 복수의 인버터를 포함할 수도 있다. For example, the first logic gate 313 and the second logic gate 314 may include at least one of a NAND gate and an OR gate. Also, the first logic gate 313 and the second logic gate 314 may include a plurality of inverters connected to an output terminal of at least one of the NAND gate and the OR gate.

일측에 따르면, 복수의 센스 앰프(311, 312) 각각은 복수의 센스 앰프(311, 312) 각각의 제1 출력신호(SO1, SO2)와 제2 출력 신호(SOb1, SOb2)를 입력으로 수신하여 제어 클럭(CLK1 및 CLK2)을 생성하는 제1 내지 제2 논리 게이트(313, 314) 및 제1 출력신호(SO1, SO2)와 생성된 제어 클럭(CLK1 및 CLK2)을 입력으로 수신하는 제1 내지 제2 플립플랍(315, 316)과 각각 연결될 수 있다. According to one side, each of the plurality of sense amplifiers 311 and 312 receives the first output signals SO1 and SO2 and the second output signals SOb1 and SOb2 of each of the plurality of sense amplifiers 311 and 312 as inputs. First to second logic gates 313 and 314 for generating control clocks CLK1 and CLK2, and first to second logic gates 313 and 314 for receiving first output signals SO1 and SO2 and generated control clocks CLK1 and CLK2 as inputs. It may be connected to the second flip-flops 315 and 316, respectively.

예를 들면, 제2 출력 신호(SOb1, SOb2)는 제1 출력신호(SO1, SO2)의 반전된 신호일 수 있다.For example, the second output signals SOb1 and SOb2 may be inverted signals of the first output signals SO1 and SO2.

다시 말해, 제1 센스 앰프(311)는 제1 센스 앰프(311)의 제1 출력신호(SO1)와 제2 출력 신호(SOb1)를 입력으로 수신하여 제어 클럭(CLK1)을 생성하는 제1 논리 게이트(313) 및 제1 센스 앰프(311)의 제1 출력신호(SO1)와 제1 논리 게이트(313)에서 생성하는 제어 클럭(CLK1)을 입력으로 수신하는 제1 플립플랍(315)과 연결될 수 있다. In other words, the first sense amplifier 311 receives the first output signal SO1 and the second output signal SOb1 of the first sense amplifier 311 as inputs and generates a control clock CLK1. The gate 313 and the first output signal SO1 of the first sense amplifier 311 and the first flip-flop 315 receiving the control clock CLK1 generated by the first logic gate 313 as inputs. I can.

또한, 제2 센스 앰프(312)는 제2 센스 앰프(312)의 제1 출력신호(SO2)와 제2 출력 신호(SOb2)를 입력으로 수신하여 제어 클럭(CLK2)을 생성하는 제2 논리 게이트(314) 및 제2 센스 앰프(312)의 제1 출력신호(SO2)와 제2 논리 게이트(314)에서 생성하는 제어 클럭(CLK2)을 입력으로 수신하는 제2 플립플랍(316)과 연결될 수 있다.In addition, the second sense amplifier 312 receives the first output signal SO2 and the second output signal SOb2 of the second sense amplifier 312 as inputs, and generates a control clock CLK2. 314 and the first output signal SO2 of the second sense amplifier 312 and the second flip-flop 316 receiving the control clock CLK2 generated by the second logic gate 314 as inputs. have.

보다 구체적으로, 제1 내지 제2 센스 앰프(311, 312)는 제1 내지 제2 인에이블 신호(SA1_EN, SA2_EN)를 수신하여 인에이블되면, 제1 출력신호(SO1, SO2)와 제2 출력 신호(SOb1, SOb2)가 각각 전원 전압 레벨(VDD) 또는 0V 레벨로 벌어지며, 인에이블이 종료되면 모두 0V 레벨로 돌아갈 수 있다. More specifically, when the first to second sense amplifiers 311 and 312 are enabled by receiving the first to second enable signals SA1_EN and SA2_EN, the first output signals SO1 and SO2 and the second output The signals SOb1 and SOb2 are respectively raised to the power supply voltage level V DD or the 0V level, and when the enable is terminated, all of the signals SOb1 and SOb2 may return to the 0V level.

일실시예에 따른 제1 내지 제2 센스 앰프(311, 312)는 제1 내지 제2 논리 게이트(313, 314)가 OR 게이트인 경우, 제1 출력신호(SO1, SO2)와 제2 출력 신호(SOb1, SOb2)를 제1 내지 제2 논리 게이트(313, 314)의 입력으로 전달할 수 있으며, 제1 내지 제2 논리 게이트(313, 314)는 입력된 신호에 기초하여 제어 클럭(CLK1 및 CLK2)을 생성할 수 있다. In the first to second sense amplifiers 311 and 312 according to an embodiment, when the first to second logic gates 313 and 314 are OR gates, the first output signals SO1 and SO2 and the second output signals (SOb1, SOb2) can be transferred to the inputs of the first to second logic gates 313 and 314, and the first to second logic gates 313 and 314 are controlled clocks CLK1 and CLK2 based on the input signals. ) Can be created.

또한, 제1 내지 제2 센스 앰프(311, 312)는 생성된 제어 클럭(CLK1 및 CLK2)을 바탕으로, 제1 내지 제2 플립플랍(315, 316)에게 제1 출력신호(SO1, SO2)를 전달할 수 있다. In addition, the first to second sense amplifiers 311 and 312 provide first output signals SO1 and SO2 to the first to second flip-flops 315 and 316 based on the generated control clocks CLK1 and CLK2. Can be delivered.

예를 들면, 제1 내지 제2 센스 앰프(311, 312)는 인에이블되면, 0V의 제1 출력신호(SO1, SO2)를 출력하고, 전원 전압 레벨(VDD)의 제2 출력 신호(SOb1, SOb2)를 출력할 수 있으며, 제1 내지 제2 논리 게이트(313, 314)는 제1 출력신호(SO1, SO2)와 제2 출력 신호(SOb1, SOb2)를 입력으로 수신하여 값이 '1'인 제어 클럭(CLK1 및 CLK2)을 생성할 수 있다.For example, when the first to second sense amplifiers 311 and 312 are enabled, they output the first output signals SO1 and SO2 of 0V, and the second output signals SOb1 of the power supply voltage level V DD , SOb2), and the first to second logic gates 313 and 314 receive the first output signals SO1 and SO2 and the second output signals SOb1 and SOb2 as inputs, and the value is '1. 'In control clocks CLK1 and CLK2 can be generated.

또한, 제1 내지 제2 센스 앰프(311, 312)는 디스에이블되면, 0V의 제1 출력신호(SO1, SO2) 및 제2 출력 신호(SOb1, SOb2)를 출력할 수 있으며, 제1 내지 제2 논리 게이트(313, 314)는 제1 출력신호(SO1, SO2)와 제2 출력 신호(SOb1, SOb2)를 입력으로 수신하여 값이 '0'인 제어 클럭(CLK1 및 CLK2)을 생성할 수 있다.In addition, when the first to second sense amplifiers 311 and 312 are disabled, they can output 0V first output signals SO1 and SO2 and second output signals SOb1 and SOb2, 2 The logic gates 313 and 314 receive the first output signals SO1 and SO2 and the second output signals SOb1 and SOb2 as inputs to generate control clocks CLK1 and CLK2 having a value of '0'. have.

다시 말해, 제어 클럭(CLK1 및 CLK2)은 항상 제1 내지 제2 센스 앰프(311, 312)의 출력이 0V 또는 전원 전압 레벨(VDD)로 변경된 다음에 생성되기 때문에 올바른 출력 값을 항상 전달할 수 있다. In other words, since the control clocks CLK1 and CLK2 are always generated after the outputs of the first to second sense amplifiers 311 and 312 are changed to 0V or the power supply voltage level (V DD ), the correct output values can always be delivered. have.

일측에 따르면, 복수의 센스 앰프(311, 312) 각각은 복수의 센스 앰프(311, 312) 각각에 대응되는 플립플랍들(315, 316)로부터 플립플랍들(315, 316)의 출력 신호(OUT[0], OUT[1])를 수신하여, 복수의 센스 앰프(311, 312) 중 적어도 하나의 센스 앰프의 동작을 제어하기 위한 앰프 인에이블 신호를 생성하는 센스 앰프 제어기(317)로부터 생성된 앰프 인에이블 신호를 입력으로 수신할 수 있다. According to one side, each of the plurality of sense amplifiers 311 and 312 is an output signal OUT of the flip-flops 315 and 316 from the flip-flops 315 and 316 corresponding to each of the plurality of sense amplifiers 311 and 312. [0], OUT[1]) generated from the sense amplifier controller 317 generating an amplifier enable signal for controlling the operation of at least one sense amplifier among the plurality of sense amplifiers 311 and 312 The amplifier enable signal can be received as an input.

보다 구체적으로, 센스 앰프 제어기(317)는 제1 플립플랍(315)의 출력 신호(OUT[0]), 제2 플립플랍(316)의 출력 신호(OUT[1]) 및 제1 로우 인에이블 신호(SA1_EN_raw)를 입력으로 수신하여 제1 인에이블 신호(SA1_EN)를 생성할 수 있다. More specifically, the sense amplifier controller 317 includes an output signal OUT[0] of the first flip-flop 315, an output signal OUT[1] of the second flip-flop 316, and a first row enable. A first enable signal SA1_EN may be generated by receiving the signal SA1_EN_raw as an input.

또한, 제1 센스 앰프(311)는 제1 인에이블 신호(SA1_EN)를 수신하여 인에이블되고, 제2 센스 앰프(312)는 제2 인에이블 신호(SA2_EN)를 수신하여 인에이블 될 수 있다.Also, the first sense amplifier 311 may receive and enable the first enable signal SA1_EN, and the second sense amplifier 312 may receive and enable the second enable signal SA2_EN.

예를 들면, 제1 로우 인에이블 신호(SA1_EN_raw) 및 제2 인에이블 신호(SA2_EN)는 외부에 구비된 별도의 제어 수단으로부터 수신할 수 있으며, 별도의 제어 수단은 일실시예에 따른 뉴로모픽 시스템의 제어기(controller)일 수 있다.For example, the first row enable signal SA1_EN_raw and the second enable signal SA2_EN may be received from a separate control means provided outside, and the separate control means is a neuromorphic signal according to an embodiment. It may be the controller of the system.

참조부호 320에 따르면, 상술한 수학식 1의 결과 값이 '0', '1', '2' 및 '3'일 때, 제1 플립플랍(315)의 출력 신호(OUT[0])와, 제2 플립플랍(316)의 출력 신호(OUT[1])의 값은 하기 표1과 같이 표현될 수 있다. According to reference numeral 320, when the result values of Equation 1 are '0', '1', '2', and '3', the output signal OUT[0] of the first flip-flop 315 and , The value of the output signal OUT[1] of the second flip-flop 316 may be expressed as shown in Table 1 below.

[표1][Table 1]

Figure pat00004
Figure pat00004

표1 및 참조부호 320에 따르면, t3 또는 t2에서 플립플랍의 출력 신호가 '1'이 되면, '3' 또는 '2'가 검출된 상태이므로, '1'과 '0'을 구분하기 위해, t1에서 제1 센스 앰프(311)가 인에이블될 필요가 없다. According to Table 1 and reference numeral 320, when the output signal of the flip-flop becomes '1' at t3 or t2, since '3' or '2' is detected, in order to distinguish between '1' and '0', At t1, the first sense amplifier 311 does not need to be enabled.

즉, 센스 앰프 제어기(317)는 t3에서 제1 센스 앰프(311)를 인에이블하기 위한 제1 인에이블 신호(SA1_EN)를 제1 센스 앰프(311)에 제공하지 않음으로써, 기존 기술 대비 센스 앰프를 하나 더 사용함으로써 발생되는 에너지 오버헤드를 감소시킬 수 있다. That is, the sense amplifier controller 317 does not provide the first enable signal SA1_EN for enabling the first sense amplifier 311 at t3 to the first sense amplifier 311, so that the sense amplifier compared to the existing technology It is possible to reduce the energy overhead generated by using one more.

도 4a 내지 도 4b는 일실시예에 따른 뉴로모픽 시스템에 구비된 복수의 센스 앰프의 구현예를 설명하기 위한 도면이다. 4A to 4B are diagrams for explaining implementation examples of a plurality of sense amplifiers included in a neuromorphic system according to an embodiment.

다시 말해, 도 4a 내지 도 4b는 도 1a 내지 도 3b를 통해 설명한 일실시예에 따른 뉴로모픽 시스템에 관한 예시를 설명하는 도면으로, 이후 도 4a 내지 도 4b를 통해 설명하는 내용 중 일실시예에 따른 뉴로모픽 시스템을 통해 설명한 내용과 중복되는 설명은 생략하기로 한다.In other words, FIGS. 4A to 4B are views for explaining an example of a neuromorphic system according to an embodiment described with reference to FIGS. 1A to 3B, and an embodiment of the contents described with reference to FIGS. 4A to 4B hereinafter Descriptions that are overlapping with those described through the neuromorphic system according to will be omitted.

도 4a 내지 도 4b를 참조하면, 참조부호 410은 일실시예에 따른 뉴로모픽 시스템에 구비되는 센스 앰프의 세부 구조를 나타내며, 참조부호 420은 일실시예에 따른 센스 앰프에 입력되는 신호를 나타낸다.4A to 4B, reference numeral 410 denotes a detailed structure of a sense amplifier included in a neuromorphic system according to an embodiment, and reference numeral 420 denotes a signal input to the sense amplifier according to an embodiment. .

참조부호 410 내지 420에 따르면, SAE는 제1 인에이블 신호를 나타내고, SAEb는 반전된 제1 인에이블 신호를 나타내며, SAE2는 제2 인에이블 신호를 나타내고, SAE2b는 반전된 제2 인에이블 신호를 나타낼 수 있다. According to reference numerals 410 to 420, SAE denotes a first enable signal, SAEb denotes an inverted first enable signal, SAE2 denotes a second enable signal, and SAE2b denotes an inverted second enable signal. Can be indicated.

일실시예에 따른 뉴로모픽 시스템에 구비되는 복수의 센스 앰프는 특정 시간에 센스 앰프가 한번 인에이블되면 끝나는 기존 SRAM의 리드 동작(read operation)과는 달리, 시간에 따라 비트라인 전압이 변하면서 센스 앰프가 최대 3번 인에이블되는 구조로 설계될 수 있으며, 센스 앰프의 동작으로 인해 비트라인 전압이 변경되지 않도록 하기 위해 참조부호 410과 같이 설계될 수 있다. The plurality of sense amplifiers provided in the neuromorphic system according to the embodiment differs from the read operation of the conventional SRAM, which ends when the sense amplifier is enabled once at a specific time, while the bit line voltage changes over time. It may be designed in a structure in which the sense amplifier is enabled up to three times, and may be designed as 410 in order to prevent the bit line voltage from being changed due to the operation of the sense amplifier.

보다 구체적으로, 참조부호 410의 센스 앰프는 센스 앰프가 인에이블 되지 않을 때는, 비트라인과 연결되고, t1, t2 및 t3 시간에 기준 전압(VREF)과의 비교를 통해 출력을 생성할 수 있다.More specifically, the sense amplifier of reference numeral 410 is connected to the bit line when the sense amplifier is not enabled, and may generate an output through comparison with the reference voltage V REF at times t1, t2 and t3. .

도 5a 내지 도 5d는 일실시예에 따른 뉴로모픽 시스템의 시뮬레이션 결과를 설명하기 위한 도면이다. 5A to 5D are diagrams for explaining simulation results of a neuromorphic system according to an embodiment.

도 5a 내지 도 5d를 참조하면, 참조부호 510은 상술한 수학식1의 결과 값이 '3'일 때의 시뮬레이션 결과를 나타내고, 참조부호 520은 수학식1의 결과 값이 '2'일 때의 시뮬레이션 결과를 나타내며, 참조부호 530은 수학식1의 결과 값이 '1'일 때의 시뮬레이션 결과를 나타내고, 참조부호 540은 수학식1의 결과 값이 '0'일 때의 시뮬레이션 결과를 나타낸다. 5A to 5D, reference numeral 510 denotes a simulation result when the result value of Equation 1 is '3', and reference numeral 520 denotes a simulation result when the result value of Equation 1 is '2'. A simulation result is denoted, and reference numeral 530 denotes a simulation result when the result value of Equation 1 is '1', and 540 denotes a simulation result when the result value of Equation 1 is '0'.

참조부호 510에 따르면, 제1 플립플랍의 출력 신호(OUT[0]) 및 제2 플립플랍의 출력 신호(OUT[1])의 값이 모두 '1'이므로, 수학식1의 결과 값은 '3!'으로 도출될 수 있으며, 제1 플립플랍의 출력 신호(OUT[0])가 이미 '1'이 되었기 때문에 제1 인에이블 신호(SA1_EN)는 한번만 인에이블 될 수 있다. According to reference numeral 510, since the values of the output signal OUT[0] of the first flip-flop and the output signal OUT[1] of the second flip-flop are both '1', the result of Equation 1 is' 3!', and since the output signal OUT[0] of the first flip-flop has already become '1', the first enable signal SA1_EN can be enabled only once.

또한, 참조부호 520에 따르면, 제1 플립플랍의 출력 신호(OUT[0])의 값은 '0'이고 제2 플립플랍의 출력 신호(OUT[1])의 값은 '1'이므로, 수학식1의 결과 값은 '2!'로 도출될 수 있으며, 제2 플립플랍의 출력 신호(OUT[1])가 이미 '1'이 되었기 때문에 제1 인에이블 신호(SA1_EN)는 한번만 인에이블 될 수 있다.Further, according to reference numeral 520, since the value of the output signal OUT[0] of the first flip-flop is '0' and the value of the output signal OUT[1] of the second flip-flop is '1', The result value of Equation 1 can be derived as '2!', and since the output signal OUT[1] of the second flip-flop has already become '1', the first enable signal SA1_EN will be enabled only once. I can.

또한, 참조부호 530에 따르면, 제1 플립플랍의 출력 신호(OUT[0])의 값은 '1'이고 제2 플립플랍의 출력 신호(OUT[1])의 값은 '0'이므로, 수학식1의 결과 값은 '1!'로 도출될 수 있으며, 제2 플립플랍의 출력 신호(OUT[1])가 이미 '1'이 되었기 때문에 제1 인에이블 신호(SA1_EN)는 두 번 인에이블 될 수 있다. In addition, according to reference numeral 530, the value of the output signal OUT[0] of the first flip-flop is '1' and the value of the output signal OUT[1] of the second flip-flop is '0'. The result of Equation 1 can be derived as '1!', and since the output signal OUT[1] of the second flip-flop has already become '1', the first enable signal SA1_EN is enabled twice. Can be.

또한, 참조부호 540에 따르면, 제1 플립플랍의 출력 신호(OUT[0]) 및 제2 플립플랍의 출력 신호(OUT[1])의 값이 모두 '0'이므로, 수학식1의 결과 값은 '0'으로 도출될 수 있으며, 제1 인에이블 신호(SA1_EN)는 두 번 인에이블 될 수 있다. 참조부호 540은 가중치 값이 '0'인 경우에 발생될 수 있다. Further, according to reference numeral 540, since the values of the output signal OUT[0] of the first flip-flop and the output signal OUT[1] of the second flip-flop are both '0', the result of Equation 1 May be derived as '0', and the first enable signal SA1_EN may be enabled twice. Reference numeral 540 may be generated when the weight value is '0'.

도 6a 내지 도 6b는 일실시예에 따른 뉴로모픽 시스템에서 멀티 비트 웨이트 값을 처리하는 예시를 설명하기 위한 도면이다. 6A to 6B are diagrams for explaining an example of processing a multi-bit weight value in a neuromorphic system according to an embodiment.

다시 말해, 도 6a 내지 도 6b는 도 1a 내지 도 5d를 통해 설명한 일실시예에 따른 뉴로모픽 시스템에 관한 예시를 설명하는 도면으로, 이후 도 6a 내지 도 6b를 통해 설명하는 내용 중 일실시예에 따른 뉴로모픽 시스템을 통해 설명한 내용과 중복되는 설명은 생략하기로 한다.In other words, FIGS. 6A to 6B are diagrams for explaining an example of a neuromorphic system according to an embodiment described with reference to FIGS. 1A to 5D, and an embodiment of the contents described with reference to FIGS. 6A to 6B hereinafter Descriptions that are overlapping with those described through the neuromorphic system according to will be omitted.

도 6a 내지 도 6b를 참조하면, 참조부호 610은 8 비트의 가중치와 16비트의 뉴런 맴브레인 전압에 관한 예시를 나타내고, 참조부호 620은 일실시예에 따른 뉴런 프로세서의 세부 구조를 나타낸다. 6A to 6B, reference numeral 610 denotes an example of an 8-bit weight and a 16-bit neuron membrane voltage, and 620 denotes a detailed structure of a neuron processor according to an embodiment.

참조부호 610 내지 620에 따르면, 일실시예에 따른 뉴로모픽 시스템의 뉴런 프로세서는 하기 수학식2와 같이, MAC 연산의 결과 값과 MAC 연산 값에 대응되는 뉴런의 맴브레인(membrane) 값(N)을 합산할 수 있다. According to reference numerals 610 to 620, the neuron processor of the neuromorphic system according to an embodiment includes a result value of a MAC operation and a membrane value (N) of a neuron corresponding to the MAC operation value, as shown in Equation 2 below. Can be summed up.

[수학식2] [Equation 2]

Figure pat00005
Figure pat00005

일실시예에 따른 뉴로모픽 시스템은 각 비트라인 마다 출력이 2개 이므로, 참조부호 610와 같이 3개의 값이 더해지는 경우가 발생될 수 있다. Since the neuromorphic system according to an embodiment has two outputs for each bit line, a case in which three values are added as shown by reference numeral 610 may occur.

일반적으로, 각 비트라인의 출력들을 (n+1) 비트 가산기로 합산한 출력을 뉴런의 맴브레인 전압과 합산할 수 있으나, 이 경우 기존의 SNN 네트워크와 대비하여 (n+1) 비트 가산기의 딜레이(delay)가 추가 될 수 있다. In general, the output obtained by summing the outputs of each bit line with a (n+1) bit adder can be summed with the membrane voltage of a neuron, but in this case, the delay of the (n+1) bit adder compared to the existing SNN network ( delay) can be added.

이에 대한 딜레이를 줄이고자, 일실시예에 따른 뉴로모픽 시스템의 뉴런 프로세서는 CSA(bit carry save adder) 및 CRA(carry ripple adder)의 조합으로 구현됨으로써, 가산기 2개의 딜레이보다 더 적은 딜레이로 멀티 비트 웨이트 값(multi-bit weight)을 처리할 수 있다. In order to reduce the delay for this, the neuron processor of the neuromorphic system according to an embodiment is implemented by a combination of a bit carry save adder (CSA) and a carry ripple adder (CRA). It can handle multi-bit weights.

구체적으로, 뉴런 프로세서는 참조부호 611 및 621의 구간에서는 9 비트 이하에서 넘어오는 캐리(carry)만을 합산할 수 있고, 참조부호 612 및 622의 구간에서는 3개의 값을 합산하는 9 비트 가산기로 동작할 수 있다.Specifically, the neuron processor can add up only carry over 9 bits in the intervals of reference numerals 611 and 621, and operate as a 9-bit adder that sums three values in the intervals of reference numerals 612 and 622. I can.

일측에 따르면, 뉴런 프로세서의 동작 주기(Tadder)는 하기 수학식3과 같이 표현될 수 있다. According to one side, the operation period T adder of the neuron processor may be expressed as Equation 3 below.

[수학식3] [Equation 3]

Figure pat00006
Figure pat00006

여기서, TFA는 풀-가산기 딜레이(full-adder delay)를 나타낼 수 있고, TCRA는 CRA 딜레이를 나타낼 수 있다. Here, T FA may represent a full-adder delay, and T CRA may represent a CRA delay.

도 7은 일실시예예 따른 뉴로모픽 시스템을 이용한 멀티 MAC 동작 수행 방법을 설명하기 위한 도면이다. 7 is a diagram illustrating a method of performing a multi-MAC operation using a neuromorphic system according to an embodiment.

다시 말해, 도 7은 도 1a 내지 도 6b를 통해 설명한 일실시예에 따른 뉴로모픽 시스템의 동작 방법을 설명하는 도면으로, 이후 도 7을 통해 설명하는 내용 중 도 1a 내지 도 6b를 통해 설명한 내용과 중복되는 설명은 생략하기로 한다. In other words, FIG. 7 is a diagram for explaining a method of operating a neuromorphic system according to an embodiment described with reference to FIGS. 1A to 6B, and contents described with reference to FIGS. 1A to 6B among the contents described later with reference to FIG. 7 A description overlapping with will be omitted.

구체적으로, 710 단계에서 일실시예에 따른 멀티 MAC 동작 수행 방법은 신호 제공부에서, 시냅스 어레이에 구비된 복수의 워드라인들 중 적어도 하나 이상의 워드라인을 동일한 타이밍에 선택하고, 동일한 타이밍에서 선택된 워드라인들을 통해 스파이크 신호를 제공할 수 있다. Specifically, in step 710, in the method of performing a multi-MAC operation according to an embodiment, the signal providing unit selects at least one word line from among a plurality of word lines provided in the synapse array at the same timing, and selects the word selected at the same timing. It is possible to provide a spike signal through the lines.

다음으로, 720 단계에서 일실시예에 따른 멀티 MAC 동작 수행 방법은 시냅스 어레이에서, 복수의 비트라인들 중 어느 하나의 비트라인에 연결되는 복수의 시냅스 회로들 중에서 스파이크(Spikes) 신호를 수신하는 시냅스 회로들에 대응되는 적어도 하나의 웨이트(weight) 값을 출력할 수 있다.Next, in step 720, a method of performing a multi-MAC operation according to an embodiment is a synapse of receiving a spike signal from among a plurality of synaptic circuits connected to any one of a plurality of bit lines in a synapse array. At least one weight value corresponding to the circuits may be output.

다음으로, 730 단계에서 일실시예에 따른 멀티 MAC 동작 수행 방법은 웨이트 연산부에서, 적어도 하나의 웨이트 값을 어느 하나의 비트라인을 통해 입력으로 수신하는 복수의 센스 앰프(sense amplifier)를 이용하여 복수의 웨이트 값에 대한 MAC(multiplication and accumulation) 연산을 수행할 수 있다. Next, in step 730, a method of performing a multi-MAC operation according to an embodiment is performed by using a plurality of sense amplifiers receiving at least one weight value as an input through any one bit line in the weight calculation unit. A multiplication and accumulation (MAC) operation may be performed on the weight value of.

일측에 따르면, 복수의 센스 앰프 각각은 복수의 센스 앰프 각각의 제1 출력신호와 제2 출력 신호를 입력으로 수신하여 제어 클럭을 생성하는 논리 게이트 및 제1 출력신호와 생성된 제어 클럭을 입력으로 수신하는 플립플랍(flip-flop)과 연결될 수 있다.According to one side, each of the plurality of sense amplifiers receives a first output signal and a second output signal of each of the plurality of sense amplifiers as inputs to generate a control clock and a logic gate and a first output signal and a generated control clock as inputs. It may be connected to a receiving flip-flop.

또한, 복수의 센스 앰프 각각은 복수의 센스 앰프 각각에 대응되는 플립플랍들로부터 플립플랍들의 출력 신호를 수신하여, 복수의 센스 앰프 중 적어도 하나의 센스 앰프의 동작을 제어하기 위한 앰프 인에이블 신호를 생성하는 센스 앰프 제어기로부터 생성된 앰프 인에이블 신호를 수신할 수 있다. In addition, each of the plurality of sense amplifiers receives the output signals of the flip-flops from the flip-flops corresponding to each of the plurality of sense amplifiers, and provides an amplifier enable signal for controlling the operation of at least one sense amplifier among the plurality of sense amplifiers. The generated amplifier enable signal may be received from the generated sense amplifier controller.

결국, 본 발명을 이용하면, 기존 ADC가 필요한 아날로그 방식의 multiple-MAC 연산이 아닌 SRAM의 센스 앰프를 복수 개 사용하여 multiple-MAC 연산을 수행할 수 있다. Consequently, using the present invention, it is possible to perform a multiple-MAC operation using a plurality of sense amplifiers of SRAM rather than an analog multiple-MAC operation requiring a conventional ADC.

또한, 본 발명은 ADC 없이 multiple-MAC 연산을 수행하여 공간(area), 에너지(energy) 및 지연 오버헤드(delay overhead)에 따른 손실을 최소화함으로써 전체적인 에너지 효율을 높일 수 있다.In addition, the present invention can increase overall energy efficiency by minimizing loss due to space, energy, and delay overhead by performing a multiple-MAC operation without an ADC.

또한, 본 발명은 복수의 플립플랍 출력에 기초하여 센스 앰프의 동작을 제어함으로써, 복수의 센스 앰프를 사용함에 따른 에너지 오버헤드를 줄일 수 있다. In addition, according to the present invention, by controlling the operation of the sense amplifiers based on a plurality of flip-flop outputs, energy overhead due to the use of a plurality of sense amplifiers can be reduced.

이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.As described above, although the embodiments have been described by the limited drawings, various modifications and variations can be made from the above description to those of ordinary skill in the art. For example, the described techniques are performed in a different order from the described method, and/or components such as systems, structures, devices, circuits, etc. described are combined or combined in a form different from the described method, or other components Alternatively, even if substituted or substituted by an equivalent, an appropriate result can be achieved.

그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.Therefore, other implementations, other embodiments, and those equivalent to the claims also fall within the scope of the claims to be described later.

110: 뉴로모픽 시스템 111: 시냅스 어레이
112: 웨이트 연산부 113: 신호 제공부
114: 뉴런 프로세서
110: neuromorphic system 111: synaptic array
112: weight calculating unit 113: signal providing unit
114: neuron processor

Claims (12)

복수의 비트라인들 중 어느 하나의 비트라인에 연결되는 복수의 시냅스 회로들 중에서 스파이크(Spikes) 신호를 수신하는 시냅스 회로들에 대응되는 적어도 하나의 웨이트(weight) 값을 출력하는 시냅스 어레이 및
상기 적어도 하나의 웨이트 값을 상기 어느 하나의 비트라인을 통해 입력으로 수신하는 복수의 센스 앰프(sense amplifier)를 포함하고, 상기 복수의 센스 엠프를 이용하여 상기 복수의 웨이트 값에 대한 MAC(multiplication and accumulation) 연산을 수행하는 웨이트 연산부
를 포함하는 뉴로모픽 시스템.
A synapse array that outputs at least one weight value corresponding to synaptic circuits that receive a spikes signal from among a plurality of synaptic circuits connected to any one of a plurality of bit lines, and
And a plurality of sense amplifiers receiving the at least one weight value as an input through the one bit line, and MAC (multiplication and processing) for the plurality of weight values using the plurality of sense amplifiers. Weight calculation unit that performs accumulation) operation
Neuromorphic system comprising a.
제1항에 있어서,
상기 복수의 시냅스 회로들은 SRAM 메모리 셀 구조에 기반한 회로인
뉴로모픽 시스템.
The method of claim 1,
The plurality of synaptic circuits are circuits based on the SRAM memory cell structure.
Neuromorphic system.
제1항에 있어서,
상기 시냅스 어레이에 구비된 복수의 워드라인들 중 적어도 하나 이상의 워드라인을 동일한 타이밍에 선택하고, 상기 동일한 타이밍에서 상기 선택된 워드라인들을 통해 상기 스파이크 신호를 제공하는 신호 제공부
를 더 포함하는 뉴로모픽 시스템.
The method of claim 1,
A signal providing unit for selecting at least one word line among a plurality of word lines provided in the synapse array at the same timing and providing the spike signal through the selected word lines at the same timing
Neuromorphic system further comprising a.
제3항에 있어서,
상기 신호 제공부는
상기 복수의 워드라인 각각에 연결되는 프리 뉴런(pre-neuron)들을 포함하고, 상기 프리 뉴런들을 통해 상기 복수의 워드라인들 각각에 대응되는 시냅스 회로들에 상기 스파이크 신호를 제공하는
뉴로모픽 시스템.
The method of claim 3,
The signal providing unit
Including pre-neurons connected to each of the plurality of word lines, and providing the spike signal to synaptic circuits corresponding to each of the plurality of word lines through the free neurons
Neuromorphic system.
제1항에 있어서,
상기 복수의 센스 앰프 각각은
상기 어느 하나의 비트라인과, 하나의 기준 전압을 인가하는 기준 전압라인이 입력으로 연결되는
뉴로모픽 시스템.
The method of claim 1,
Each of the plurality of sense amplifiers
Any one of the bit lines and a reference voltage line for applying one reference voltage are connected as inputs.
Neuromorphic system.
제5항에 있어서,
상기 복수의 센스 앰프 각각은
상기 어느 하나의 비트라인을 통해 인가되는 비트라인 전압이 상기 기준 전압보다 낮아지는 시점을 감지하고, 상기 감지된 시점에 대응되는 상기 MAC 연산 결과를 출력하는
뉴로모픽 시스템.
The method of claim 5,
Each of the plurality of sense amplifiers
Detecting a point in time when the bit line voltage applied through any one of the bit lines becomes lower than the reference voltage, and outputting the MAC operation result corresponding to the sensed point in time.
Neuromorphic system.
제1항에 있어서,
상기 복수의 센스 앰프 각각은
상기 복수의 센스 앰프 각각의 제1 출력신호와 제2 출력 신호를 입력으로 수신하여 제어 클럭을 생성하는 논리 게이트 및 상기 제1 출력신호와 상기 생성된 제어 클럭을 입력으로 수신하는 플립플랍(flip-flop)과 연결되는
뉴로모픽 시스템.
The method of claim 1,
Each of the plurality of sense amplifiers
A logic gate receiving a first output signal and a second output signal of each of the plurality of sense amplifiers as inputs to generate a control clock, and a flip-flop receiving the first output signal and the generated control clock as inputs. flop) and connected
Neuromorphic system.
제7항에 있어서,
상기 복수의 센스 앰프 각각은
상기 복수의 센스 앰프 각각에 대응되는 플립플랍들로부터 상기 플립플랍들의 출력 신호를 수신하여, 상기 복수의 센스 앰프 중 적어도 하나의 센스 앰프의 동작을 제어하기 위한 앰프 인에이블 신호를 생성하는 센스 앰프 제어기로부터 상기 생성된 앰프 인에이블 신호를 입력으로 수신하는
뉴로모픽 시스템.
The method of claim 7,
Each of the plurality of sense amplifiers
A sense amplifier controller that receives output signals of the flip-flops from flip-flops corresponding to each of the plurality of sense amplifiers, and generates an amplifier enable signal for controlling the operation of at least one sense amplifier among the plurality of sense amplifiers Receiving the generated amplifier enable signal as an input from
Neuromorphic system.
시냅스 어레이에서, 복수의 비트라인들 중 어느 하나의 비트라인에 연결되는 복수의 시냅스 회로들 중에서 스파이크(Spikes) 신호를 수신하는 시냅스 회로들에 대응되는 적어도 하나의 웨이트(weight) 값을 출력하는 단계 및
웨이트 연산부에서, 상기 적어도 하나의 웨이트 값을 상기 어느 하나의 비트라인을 통해 입력으로 수신하는 복수의 센스 앰프(sense amplifier)를 이용하여 상기 복수의 웨이트 값에 대한 MAC(multiplication and accumulation) 연산을 수행하는 단계
를 포함하는 뉴로모픽 시스템을 이용한 멀티 MAC 동작 수행 방법.
In the synapse array, outputting at least one weight value corresponding to synaptic circuits receiving spikes signals from among a plurality of synaptic circuits connected to any one of a plurality of bit lines And
A weight calculator performs a multiplication and accumulation (MAC) operation on the plurality of weight values using a plurality of sense amplifiers that receive the at least one weight value as an input through the one bit line. Steps to do
A method of performing a multi-MAC operation using a neuromorphic system comprising a.
제9항에 있어서,
신호 제공부에서, 상기 시냅스 어레이에 구비된 복수의 워드라인들 중 적어도 하나 이상의 워드라인을 동일한 타이밍에 선택하고, 상기 동일한 타이밍에서 상기 선택된 워드라인들을 통해 상기 스파이크 신호를 제공하는 단계
를 더 포함하는 뉴로모픽 시스템을 이용한 멀티 MAC 동작 수행 방법.
The method of claim 9,
In a signal providing unit, selecting at least one word line among a plurality of word lines provided in the synapse array at the same timing, and providing the spike signal through the selected word lines at the same timing.
Method for performing a multi-MAC operation using a neuromorphic system further comprising a.
제9항에 있어서,
상기 복수의 센스 앰프 각각은
상기 복수의 센스 앰프 각각의 제1 출력신호와 제2 출력 신호를 입력으로 수신하여 제어 클럭을 생성하는 논리 게이트 및 상기 제1 출력신호와 상기 생성된 제어 클럭을 입력으로 수신하는 플립플랍(flip-flop)과 연결되는
뉴로모픽 시스템을 이용한 멀티 MAC 동작 수행 방법.
The method of claim 9,
Each of the plurality of sense amplifiers
A logic gate receiving a first output signal and a second output signal of each of the plurality of sense amplifiers as inputs to generate a control clock, and a flip-flop receiving the first output signal and the generated control clock as inputs. flop) and connected
A method of performing multi-MAC operation using a neuromorphic system.
제11항에 있어서,
상기 복수의 센스 앰프 각각은
상기 복수의 센스 앰프 각각에 대응되는 플립플랍들로부터 상기 플립플랍들의 출력 신호를 수신하여, 상기 복수의 센스 앰프 중 적어도 하나의 센스 앰프의 동작을 제어하기 위한 앰프 인에이블 신호를 생성하는 센스 앰프 제어기로부터 상기 생성된 앰프 인에이블 신호를 수신하는
뉴로모픽 시스템을 이용한 멀티 MAC 동작 수행 방법.
The method of claim 11,
Each of the plurality of sense amplifiers
A sense amplifier controller that receives output signals of the flip-flops from flip-flops corresponding to each of the plurality of sense amplifiers, and generates an amplifier enable signal for controlling the operation of at least one sense amplifier among the plurality of sense amplifiers Receiving the generated amplifier enable signal from
A method of performing multi-MAC operation using a neuromorphic system.
KR1020190102466A 2019-08-21 2019-08-21 Neuromorphic system for multiple multiplication and accumulation operations and method thereof KR102389413B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190102466A KR102389413B1 (en) 2019-08-21 2019-08-21 Neuromorphic system for multiple multiplication and accumulation operations and method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190102466A KR102389413B1 (en) 2019-08-21 2019-08-21 Neuromorphic system for multiple multiplication and accumulation operations and method thereof

Publications (2)

Publication Number Publication Date
KR20210022982A true KR20210022982A (en) 2021-03-04
KR102389413B1 KR102389413B1 (en) 2022-04-21

Family

ID=75174921

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190102466A KR102389413B1 (en) 2019-08-21 2019-08-21 Neuromorphic system for multiple multiplication and accumulation operations and method thereof

Country Status (1)

Country Link
KR (1) KR102389413B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230106484A (en) 2022-01-06 2023-07-13 삼성전자주식회사 Spiking neural network device, nonvolatile memory device and operation method thereof

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR950034276A (en) * 1994-05-20 1995-12-28 기다오까 다까시 Semiconductor memory device with redundant memory cell
JP2012113766A (en) * 2010-11-19 2012-06-14 Toshiba Corp Timing generation circuit and semiconductor storage device
KR20140144130A (en) 2013-06-10 2014-12-18 삼성전자주식회사 Synapse array, pulse shaper circuit and neuromorphic system including the synapse array and the pulse shaper circuit
WO2019049686A1 (en) * 2017-09-07 2019-03-14 パナソニック株式会社 Neural network computation circuit using semiconductor storage element, and operation method

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR950034276A (en) * 1994-05-20 1995-12-28 기다오까 다까시 Semiconductor memory device with redundant memory cell
JP2012113766A (en) * 2010-11-19 2012-06-14 Toshiba Corp Timing generation circuit and semiconductor storage device
KR20140144130A (en) 2013-06-10 2014-12-18 삼성전자주식회사 Synapse array, pulse shaper circuit and neuromorphic system including the synapse array and the pulse shaper circuit
WO2019049686A1 (en) * 2017-09-07 2019-03-14 パナソニック株式会社 Neural network computation circuit using semiconductor storage element, and operation method

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230106484A (en) 2022-01-06 2023-07-13 삼성전자주식회사 Spiking neural network device, nonvolatile memory device and operation method thereof

Also Published As

Publication number Publication date
KR102389413B1 (en) 2022-04-21

Similar Documents

Publication Publication Date Title
TWI720524B (en) Method and circuit for performing in-memory multiply-and-accumulate function
CN108009640B (en) Training device and training method of neural network based on memristor
US10860682B2 (en) Binary, ternary and bit serial compute-in-memory circuits
CN110427171B (en) In-memory computing device and method for expandable fixed-point matrix multiply-add operation
US11074318B2 (en) Hardware accelerated discretized neural network
US11573792B2 (en) Method and computing device with a multiplier-accumulator circuit
US20200286553A1 (en) In-memory computation device with inter-page and intra-page data circuits
US11513797B2 (en) Systems and methods for analog vector by matrix multiplier
KR20200103262A (en) Computation in memory apparatus based on bitline charge sharing and operating method thereof
US11915124B2 (en) Performing processing-in-memory operations related to spiking events, and related methods, systems and devices
KR102389413B1 (en) Neuromorphic system for multiple multiplication and accumulation operations and method thereof
US20200310955A1 (en) Reduced memory neural network training
Ma et al. Non-volatile memory array based quantization-and noise-resilient LSTM neural networks
US20220101142A1 (en) Neural network accelerators resilient to conductance drift
CN111859261B (en) Computing circuit and operating method thereof
US20210073623A1 (en) Performing processing-in-memory operations related to pre-synaptic spike signals, and related methods and systems
US10445640B1 (en) Scalable refresh for asymmetric non-volatile memory-based neuromorphic circuits
CN113724764B (en) Multiplication device based on nonvolatile memory
Zhang et al. A 28nm 15.09 nJ/inference Neuromorphic Processor with SRAM-Based Charge Domain in-Memory-Computing
KR20240014147A (en) Semiconductor device performing a mac operation
Ananthanarayanan et al. Design and Analysis of Multibit Multiply and Accumulate (MAC) unit: An Analog In-Memory Computing Approach
CN117409830A (en) In-memory computing memory device and solid state drive module
KR20240019886A (en) Low-Power CIM based on MSB Skip Technique and MAC Operation Method Thereof
CN115309365A (en) Product accumulation calculating circuit and product accumulation calculating method
JP2024012076A (en) Storage device for in-memory computing

Legal Events

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