KR20240076869A - Neuron circuit using voltage change of bit line - Google Patents
Neuron circuit using voltage change of bit line Download PDFInfo
- Publication number
- KR20240076869A KR20240076869A KR1020220158106A KR20220158106A KR20240076869A KR 20240076869 A KR20240076869 A KR 20240076869A KR 1020220158106 A KR1020220158106 A KR 1020220158106A KR 20220158106 A KR20220158106 A KR 20220158106A KR 20240076869 A KR20240076869 A KR 20240076869A
- Authority
- KR
- South Korea
- Prior art keywords
- latches
- neuron circuit
- transistor
- input
- bit line
- Prior art date
- Legal status (The legal status 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 status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Biomedical Technology (AREA)
- Pure & Applied Mathematics (AREA)
- Biophysics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computational Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Databases & Information Systems (AREA)
- Algebra (AREA)
- Neurology (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Logic Circuits (AREA)
Abstract
본 발명은 비트 라인의 전압 변화를 이용한 뉴런 회로에 관한 것으로, 시냅스 어레이의 각 비트 라인 끝에 인버터와 데이터 전달용 트랜지스터를 지나 둘 이상의 n개 래치를 병렬로 연결하여 EN 신호로 제어하게 구비됨으로써, 시냅스 어레이의 인풋 펄스로 비트 라인에 흐르는 전류를 n비트의 디지털 전압 데이터로 변환하여 n개 래치에 저장할 수 있다. 이로써 종래 사용하던 TIA와 ADC 회로 대신할 수 있게 되어, 상대적으로 간단하게 디지털 변환 회로를 구성할 수 있으며 관련 소요 면적을 줄일 수 있는 효과가 있다.The present invention relates to a neuron circuit using the voltage change of a bit line. At the end of each bit line of a synapse array, two or more n latches are connected in parallel through an inverter and a data transmission transistor to control the synapse with an EN signal. The current flowing through the bit line with the input pulse of the array can be converted into n bits of digital voltage data and stored in n latches. This makes it possible to replace the previously used TIA and ADC circuits, making it possible to construct a digital conversion circuit relatively simply and reducing the required area.
Description
본 발명은 시냅스 어레이에 결합되는 뉴런 회로에 관한 것으로, 더욱 상세하게는 시냅스 어레이의 워드 라인에 인가되는 input pulse에 의해 어레이의 각 비트 라인에 흐르는 전류의 세기가 달라지는데, 이를 디지털 전압 데이터로 바꾸어 2개 이상의 래치에 저장하는 뉴런 회로에 관한 것이다.The present invention relates to a neuron circuit coupled to a synapse array. More specifically, the intensity of the current flowing in each bit line of the array varies depending on the input pulse applied to the word line of the synapse array, which is converted into digital voltage data 2 It is about a neuron circuit that stores data in one or more latches.
현재의 폰 노이만(von Neumann) 아키텍처 기반의 컴퓨팅 시스템은 데이터가 입력되면 이를 순차적으로 해결하기 때문에 CPU와 메모리 유닛간의 데이터 이동에 의한 병목현상(von Neumann bottleneck)과 메모리 장벽문제(memory wall problem)를 가지고 있다. 이러한 문제를 해결하기 위해, 최근 뉴로모픽(Neuromorphic) 시스템 연구들이 활발하게 진행되고 있다. The current computing system based on the von Neumann architecture solves data sequentially as it is input, eliminating the von Neumann bottleneck and memory wall problem caused by data movement between the CPU and memory units. Have. To solve this problem, research on neuromorphic systems has been actively conducted recently.
뉴로모픽 시스템은 도 1과 같이 하나 이상의 은닉층이 존재하는 심층 신경망이 주로 사용되고 있다. 이는 벡터(vector) 형태로 입력 신호가 모든 입력 층에 병렬적으로 인가되고, 시냅스 가중치 행렬(matrix)의 벡터-행렬 곱(vector-matrix multiplication) 연산이 아날로그 기반으로 동시에 수행된다. 이와 같은 순차 처리 방식의 컴퓨터를 병렬로 동작하는 인간의 뇌를 모방해 기억과 연산을 대량으로 동시에 진행할 수 있도록 하는 것이 뉴로모픽의 가장 큰 특징이다. As a neuromorphic system, a deep neural network with one or more hidden layers is mainly used, as shown in Figure 1. In this case, the input signal in the form of a vector is applied in parallel to all input layers, and the vector-matrix multiplication operation of the synaptic weight matrix is performed simultaneously on an analog basis. The biggest feature of neuromorphic is that it imitates the human brain, which operates in parallel with a sequential processing computer, allowing memory and computation to proceed simultaneously in large quantities.
도 2는 기본적인 뉴로모픽 시스템의 구조를 보여준다. 시냅스 어레이의 워드 라인(WL), 비트 라인(BL), 소스 라인(SL)에 인가된 전압에 따라 각 시냅스 소자에 전류가 다르게 흐르고, 이에 따라 BL으로 합산되는 전류의 크기가 결정된다. 벡터-행렬 곱 연산은 BL으로 전류를 합산하는 과정으로 수행된다. 각 BL의 해당 전류는 뉴런 회로의 인풋으로 인가되어 변환 과정, 예컨대 후술하는 도 5와 같이 TIA와 ADC를 거쳐 최종적인 디지털 아웃풋이 결정된다.Figure 2 shows the structure of a basic neuromorphic system. Depending on the voltage applied to the word line (WL), bit line (BL), and source line (SL) of the synapse array, current flows differently in each synapse element, and the size of the current summed to BL is determined accordingly. The vector-matrix multiplication operation is performed by summing the currents with BL. The corresponding current of each BL is applied as an input to the neuron circuit and goes through a conversion process, such as TIA and ADC, as shown in Figure 5, which will be described later, to determine the final digital output.
도 3은 현재 상용화 되고 있는 메모리 시스템의 구조를 보여준다. 제어 로직(Control Logic)은 입출력 장치(I/O)를 통해 커맨드(CMD), 입력 데이터(DATA_EX), 메모리 셀 어레이의 셀 주소(ADD)를 수신하게 되고, 이를 바탕으로 행 디코더(Row Decoder), 페이지 버퍼( Page Buffer) 등을 제어하게 된다.Figure 3 shows the structure of a memory system that is currently being commercialized. Control Logic receives the command (CMD), input data (DATA_EX), and cell address (ADD) of the memory cell array through the input/output device (I/O), and based on this, the row decoder , page buffer, etc. are controlled.
도 4는 도 3의 메모리 시스템 구조에 사용되는 페이지 버퍼의 배치 및 간략한 동작 방식를 보여준다. 메모리 어레이의 모든 BL마다 페이지 버퍼(PB)가 1개씩 연결되어 있으며, 페이지 버퍼는 BL의 기생 커패시터로 인해 SO 노드에 CSO가 생기게 된다. 데이터를 읽어내는 과정에서 읽기 동작을 원하는 메모리 셀에 저장된 데이터의 상태에 따라 STRING의 전류(ICELL)로 인한 CSO의 전압이 변화하게 된다. 이때, 메모리의 동작에 따라 읽기 동작을 원하는 메모리 셀의 문턱전압(VTH)이 워드 라인에 인가된 전압보다 크게 되면 cell current는 흐르지 않아 SO 노드는 ‘high’를 유지하고, VTH가 워드 라인에 인가된 전압보다 낮으면 cell currnent에 의해 SO 노드가 ‘low’가 된다. 이러한 SO 노드의 전압 변화를 페이지 버퍼에서 감지하여 데이터를 읽어낸다. 하지만 상술한 메모리 어레이의 동작 원리를 이용하여 시냅스 어레이에서 비트 라인의 전압 변화를 디지털로 변화하여 뉴런 회로에 저장하는 기술은 아직 제시되지 않고 있다.FIG. 4 shows the arrangement and brief operation of the page buffer used in the memory system structure of FIG. 3. One page buffer (PB) is connected to every BL in the memory array, and C SO is generated in the SO node due to the parasitic capacitor of the BL in the page buffer. In the process of reading data, the voltage of C SO due to the STRING current (I CELL ) changes depending on the state of the data stored in the memory cell for which a read operation is desired. At this time, depending on the operation of the memory, if the threshold voltage (V TH ) of the memory cell for which a read operation is desired becomes greater than the voltage applied to the word line, the cell current does not flow, so the SO node remains 'high', and V TH is If it is lower than the voltage applied to , the SO node becomes 'low' due to cell current. This change in voltage at the SO node is detected in the page buffer and data is read. However, a technology to digitally change the voltage change of the bit line in the synapse array and store it in a neuron circuit using the operating principle of the memory array described above has not yet been proposed.
기존의 뉴런 회로에서는, 도 5와 같이, 벡터-행렬 곱 연산을 통해 합산되는 전류를 TIA(Trans Impedence Amplifier)를 통해 아날로그 전류를 아날로그 전압으로 변환하고, 이를 ADC(Analog-to-Digital Converter)를 통해 아날로그 전압을 디지털 전압으로 변환하여 최종적인 디지털 아웃풋이 결정하게 된다. 따라서 기존의 뉴런 회로는 복잡하고 면적이 비교적 넓은 TIA와 ADC 회로가 필요한 문제점이 있다.In the existing neuron circuit, as shown in Figure 5, the current summed through the vector-matrix multiplication operation is converted from analog current to analog voltage through TIA (Trans Impedence Amplifier), and this is converted into analog voltage through ADC (Analog-to-Digital Converter). Through this, the analog voltage is converted to digital voltage and the final digital output is determined. Therefore, the existing neuron circuit has the problem of requiring complex and relatively large TIA and ADC circuits.
이에 본 발명은 종래 사용하던 TIA와 ADC 회로 대신 메모리 시스템의 페이지 버퍼를 응용한 회로로 대체하여 비교적 간단하고 면적이 작은 뉴런 회로를 제공하고자 한다.Accordingly, the present invention seeks to provide a relatively simple and small-area neuron circuit by replacing the conventionally used TIA and ADC circuit with a circuit that uses the page buffer of a memory system.
상기 목적을 달성하기 위하여, 본 발명에 의한 뉴런 회로는 시냅스 어레이의 비트 라인에 VDD 공급용 트랜지스터가 연결된 제 1 접점에 연결된 인버터; 상기 인버터의 출력단에 게이트가 연결된 데이터 전달용 트랜지스터; 상기 데이터 전달용 트랜지스터의 드레인이 연결된 제 2 접점에 병렬로 연결된 둘 이상의 n개 래치; 및 상기 n개 래치에 입력되는 n개의 EN 신호를 적어도 2n-1개 쌍으로 생성하는 EN Pulse Train을 포함하여 구성된 것을 특징으로 한다.In order to achieve the above object, the neuron circuit according to the present invention includes an inverter connected to a first contact point where a transistor for supplying V DD is connected to the bit line of the synapse array; A data transfer transistor whose gate is connected to the output terminal of the inverter; two or more n latches connected in parallel to a second contact point to which the drain of the data transfer transistor is connected; and an EN Pulse Train that generates n EN signals input to the n latches in at least 2 n -1 pairs.
상기 데이터 전달용 트랜지스터는 접지에 소스가 연결된 NMOS일 수 있다.The data transfer transistor may be an NMOS whose source is connected to ground.
상기 n개 래치는 상기 비트 라인으로 흐르는 아날로그 전류를 상기 EN 신호에 의하여 n비트 디지털 전압 데이터로 바꿔 저장하는 것일 수 있다.The n latches may convert the analog current flowing through the bit line into n-bit digital voltage data by the EN signal and store it.
상기 n개 래치는 각각 상기 제 2 접점에 일단이 연결된 래치 신호 입력 트랜지스터, 접지에 일단이 연결된 리셋 신호 입력 트랜지스터, 상기 래치 신호 입력 트랜지스터와 상기 리셋 신호 입력 트랜지스터의 각 타단 사이에 서로 반대 방향으로 배치되어 병렬로 연결된 2개의 인버터를 포함하여 구성되고, 상기 n개 래치는 상기 래치 신호 입력 트랜지스터의 타단을 각 래치의 출력단으로 하여 n개 출력단을 갖고, 상기 n개 출력단은 통합용 AND 게이트의 입력단에 각각 연결되고, 상기 통합용 AND 게이트의 출력단은 n개 분리 제어용 AND 게이트의 각 입력단에 연결되고, 상기 n개 분리 제어용 AND 게이트의 각 입력단은 상기 n개의 EN 신호 중 하나와 함께 입력되도록 구비되고, 상기 n개 분리 제어용 AND 게이트의 각 출력단은 상기 n개 래치 중 하나의 래치 신호 입력 트랜지스터의 게이트에 연결된 것을 본 발명에 의한 뉴런 회로의 다른 특징으로 한다.The n latches are each a latch signal input transistor with one end connected to the second contact point, a reset signal input transistor with one end connected to ground, and disposed in opposite directions between the latch signal input transistor and the other end of the reset signal input transistor. It is configured to include two inverters connected in parallel, wherein the n latches have n output terminals with the other terminal of the latch signal input transistor as the output terminal of each latch, and the n output terminals are connected to the input terminal of the integrated AND gate. are connected to each other, the output terminal of the integrated AND gate is connected to each input terminal of the n separate control AND gates, and each input terminal of the n separate control AND gates is provided to be input together with one of the n EN signals, Another feature of the neuron circuit according to the present invention is that each output terminal of the n separate control AND gates is connected to the gate of one latch signal input transistor among the n latches.
상기 VDD 공급용 트랜지스터는 VDD 공급단과 상기 제 1 접점에 연결되어 프리차지(PCHn) 신호가 게이트에 인가되는 PMOS이고, 상기 비트 라인의 일단에는 SENS 신호로 제어되는 전압 센싱 스위치가 상기 제 1 접점에 연결되고, 상기 제 1 접점과 접지 사이에 상기 비트 라인의 기생 커패시턴스로 인한 CSO가 연결되고, 상기 래치 신호 입력 트랜지스터는 래치 신호(LAT)가 게이트로 입력되는 NMOS이고, 상기 리셋 신호 입력 트랜지스터는 리셋 신호(RST)가 게이트로 입력되는 NMOS인 것을 본 발명에 의한 뉴런 회로의 다른 특징으로 한다.The V DD supply transistor is a PMOS connected to the V DD supply terminal and the first contact point to apply a precharge (PCHn) signal to the gate, and a voltage sensing switch controlled by a SENS signal is installed at one end of the bit line. connected to the contact point, and C SO due to the parasitic capacitance of the bit line between the first contact point and ground is Another feature of the neuron circuit according to the present invention is that the latch signal input transistor is an NMOS through which a latch signal (LAT) is input to the gate, and the reset signal input transistor is an NMOS through which a reset signal (RST) is input into the gate. Do this.
본 발명에 의한 뉴런 회로의 동작 방법은 상술한 뉴런 회로를 동작하는 방법에 관한 것으로, 상기 VDD 공급용 트랜지스터에 음의 프리차지(PCHn) 신호를 인가하여 PMOS를 턴온시켜 상기 제 1 접점을 VDD로 프리차지 해주고, 동시에 상기 n개 래치의 각 리셋 신호 입력 트랜지스터는 양의 리셋 신호(RST)를 인가하여 상기 n개 출력단에는 모두 데이터 "1" 상태로 초기화하는 단계; 상기 전압 센싱 스위치에 SENS 신호로 VDD를 인가하여 프리차지된 상기 제 1 접점의 전압 변화를 센싱하는 단계; 및 상기 EN Pulse Train에서 n개의 EN 신호를 2n-1개 쌍으로 발생하여 상기 n개 래치의 각 래치 신호 입력 트랜지스터에 래치 신호로 인가하여 상기 n개 래치의 n개 출력단의 초기 데이터 "1" 상태의 변동 여부로 상기 제 1 접점을 통해 상기 시냅스 어레이에 흐르는 아날로그 전류를 n비트 디지털 전압 데이터로 바꿔 저장하는 단계를 포함하는 것을 특징으로 한다.The method of operating a neuron circuit according to the present invention relates to a method of operating the above-described neuron circuit, and turns on the PMOS by applying a negative precharge (PCHn) signal to the V DD supply transistor to connect the first contact to V To DD Precharging and simultaneously applying a positive reset signal (RST) to each reset signal input transistor of the n latches to initialize all of the n output terminals to a data "1"state; applying V DD as a SENS signal to the voltage sensing switch to sense a change in voltage of the precharged first contact; And in the EN Pulse Train, n EN signals are generated in 2 n -1 pairs and applied as a latch signal to each latch signal input transistor of the n latches, so that the initial data of the n output terminals of the n latches is "1". Characterized by converting the analog current flowing through the synapse array through the first contact into n-bit digital voltage data and storing it depending on whether the state changes.
상기 n개의 EN 신호는, 예컨대 후술하는 SOn 노드(21)에 의해, 상기 데이터 전달용 트랜지스터가 턴온될 때 발생하도록 제어될 수 있다.The n EN signals may be controlled to be generated when the data transfer transistor is turned on, for example, by the SOn node 21, which will be described later.
상기 n개의 EN 신호는 상기 전압 센싱 스위치에 SENS 신호가 인가된 이후에 상기 EN Pulse Train에서 2n-1개 쌍이 사전에 정해진 순서대로 발생하도록 제어될 수 있다.The n EN signals can be controlled so that 2 n -1 pairs are generated in the EN Pulse Train in a predetermined order after the SENS signal is applied to the voltage sensing switch.
본 발명에 의한 뉴로모픽 회로는 상술한 뉴런 회로가 시냅스 어레이의 각 비트 라인에 연결된 것을 특징으로 한다.The neuromorphic circuit according to the present invention is characterized in that the above-described neuron circuit is connected to each bit line of the synapse array.
본 발명에 의한 뉴런 회로의 동작 방법은 상술한 뉴로모픽 회로에서 뉴런 회로를 동작하는 방법에 관한 것으로, 상기 시냅스 어레이에 인풋으로 인가된 시간에 따른 복수의 펄스에 의한 합산은 통상의 벡터-행렬 곱 연산이나 상기 시냅스 어레이의 입력 시간에 따른 펄스의 n비트 디지털 전압 데이터에 가중치로 입력 시간만큼 자릿수를 좌측으로 이동시켜 합산하는 방식에 의한 것을 특징으로 한다.The method of operating a neuron circuit according to the present invention relates to a method of operating a neuron circuit in the above-described neuromorphic circuit, where the summation of a plurality of pulses according to time applied as input to the synapse array is a typical vector-matrix. It is characterized by a multiplication operation or a method of summing the n-bit digital voltage data of the pulse according to the input time of the synapse array by shifting the number of digits to the left by the input time as a weight.
본 발명은 시냅스 어레이의 각 비트 라인 끝에 인버터와 데이터 전달용 트랜지스터를 지나 둘 이상의 n개 래치를 병렬로 연결하여 EN 신호로 제어하게 구비됨으로써, 시냅스 어레이의 인풋 펄스로 비트 라인에 흐르는 전류를 n비트의 디지털 전압 데이터로 변환하여 n개 래치에 저장할 수 있게 된다. 이로써 종래 사용하던 TIA와 ADC 회로 대신할 수 있게 되어, 상대적으로 간단하게 디지털 변환 회로를 구성할 수 있으며 관련 소요 면적을 줄일 수 있는 효과가 있다.The present invention is equipped to control with an EN signal by connecting two or more n latches in parallel through an inverter and a data transfer transistor at the end of each bit line of the synapse array, so that the current flowing in the bit line with the input pulse of the synapse array is n bit. It can be converted into digital voltage data and stored in n latches. This makes it possible to replace the previously used TIA and ADC circuits, making it possible to construct a digital conversion circuit relatively simply and reducing the required area.
도 1은 심층 신경망 구조와 시냅스 가중치 행렬의 벡터-행렬 곱를 보인 개념도이다.
도 2는 뉴로모픽 구현을 위한 시냅스 어레이와 뉴런 회로의 개념도이다.
도 3은 메모리 시스템의 구조도이다.
도 4는 도 3의 메모리 시스템 구조에 사용되는 페이지 버퍼의 배치 및 간략한 동작 방식에 대한 개념도이다.
도 5는 종래 뉴런 회로 구조를 보인 개념도이다.
도 6은 도 5에 대비되는 본 발명에서 제안하는 페이지 버퍼(page buffer) 기반의 뉴런 회로 구조를 보인 개념도이다.
도 7은 본 발명의 일 실시예에 의한 뉴런 회로 구성을 보인 회로도이다.
도 8은 도 7의 뉴런 회로의 기본 동작 타이밍도이다.
도 9는 도 7의 2개 래치를 갖는 뉴런 회로에서 시냅스 어레이의 인풋에 따른 SO 노드(11) 및 SOn 노드(21)의 전압 변화 그래프와 함께 (EN0, EN1) 신호 쌍과 그 생성 타이밍도를 보여준다.
도 10a 및 도 10b은 도 7의 2개 래치를 갖는 뉴런 회로에 도 9의 (EN0, EN1) 신호 쌍을 인가하면 SO 노드(11)의 각 전압 변화 그래프가 2비트 디지털 데이터로 변환됨을 보여주는 테이블이다.
도 11은 본 발명의 다른 실시예로 3개 래치를 갖는 뉴런 회로에서 시냅스 어레이의 인풋에 따른 SO 노드 및 SOn 노드의 전압 변화 그래프와 함께 (EN0, EN1, EN2) 신호 쌍과 그 생성 타이밍도를 보여준다.
도 12a 및 도 12b는 3개 래치를 갖는 뉴런 회로에 도 11의 (EN0, EN1, EN2) 신호 쌍을 인가하면 SO 노드의 각 전압 변화 그래프가 3비트 디지털 데이터로 변환됨을 보여주는 테이블이다.
도 13은 도 7의 뉴런 회로가 시냅스 어레이에 결합된 모습을 보인 뉴로모픽 회로도이다.
도 14는 도 13의 시냅스 어레이에 Input bit slicing 기법을 적용할 수 있음을 보인 개념도이다.
도 15는 도 14의 Input bit slicing 기법을 적용할 때 뉴런 회로의 동작을 보인 예시도이다.Figure 1 is a conceptual diagram showing the vector-matrix product of a deep neural network structure and a synaptic weight matrix.
Figure 2 is a conceptual diagram of a synapse array and neuron circuit for neuromorphic implementation.
3 is a structural diagram of a memory system.
FIG. 4 is a conceptual diagram of the arrangement and simple operation method of the page buffer used in the memory system structure of FIG. 3.
Figure 5 is a conceptual diagram showing a conventional neuron circuit structure.
Figure 6 is a conceptual diagram showing the page buffer-based neuron circuit structure proposed by the present invention compared to Figure 5.
Figure 7 is a circuit diagram showing the neuron circuit configuration according to an embodiment of the present invention.
FIG. 8 is a basic operation timing diagram of the neuron circuit of FIG. 7.
FIG. 9 shows a graph of voltage changes at the SO node 11 and SOn node 21 according to the input of the synapse array in the neuron circuit with two latches of FIG. 7, and a (EN0, EN1) signal pair and its generation timing diagram. It shows.
FIGS. 10A and 10B are tables showing that when the (EN0, EN1) signal pair of FIG. 9 is applied to the neuron circuit with two latches of FIG. 7, each voltage change graph of the SO node 11 is converted into 2-bit digital data. am.
Figure 11 shows the (EN0, EN1, EN2) signal pair and its generation timing diagram along with a voltage change graph of the SO node and SOn node according to the input of the synapse array in a neuron circuit with three latches in another embodiment of the present invention. It shows.
FIGS. 12A and 12B are tables showing that when the (EN0, EN1, EN2) signal pair of FIG. 11 is applied to a neuron circuit with three latches, each voltage change graph of the SO node is converted into 3-bit digital data.
Figure 13 is a neuromorphic circuit diagram showing the neuron circuit of Figure 7 coupled to a synapse array.
Figure 14 is a conceptual diagram showing that the input bit slicing technique can be applied to the synapse array of Figure 13.
Figure 15 is an example diagram showing the operation of a neuron circuit when applying the input bit slicing technique of Figure 14.
이하, 첨부된 도면을 참조하며 본 발명의 바람직한 실시예에 대하여 설명한다.Hereinafter, preferred embodiments of the present invention will be described with reference to the attached drawings.
본 발명의 일 실시예에 의한 뉴런 회로는, 도 7에 예시된 바와 같이, 시냅스 어레이의 비트 라인(BL)에 VDD 공급용 트랜지스터(12)가 연결된 제 1 접점(SO 노드, 11)에 연결된 인버터(10); 상기 인버터의 출력단(SOn 노드, 21)에 게이트가 연결된 데이터 전달용 트랜지스터(20); 상기 데이터 전달용 트랜지스터의 드레인이 연결된 제 2 접점(22)에 병렬로 연결된 둘 이상의 n개 래치(42, 44); 및 상기 n개 래치에 입력되는 n개의 EN 신호(EN0, EN1)를 적어도 2n-1개 쌍으로 생성하는 EN Pulse Train(미도시)을 포함하여 구성된다.As illustrated in FIG. 7, the neuron circuit according to an embodiment of the present invention is connected to a first contact point (SO node, 11) where the V DD supply transistor 12 is connected to the bit line (BL) of the synapse array. inverter (10); A data transfer transistor (20) whose gate is connected to the output terminal (SON node, 21) of the inverter; Two or more n latches (42, 44) connected in parallel to the second contact point (22) to which the drain of the data transfer transistor is connected; and an EN Pulse Train (not shown) that generates n EN signals (EN0, EN1) input to the n latches in at least 2 n -1 pairs.
본 실시예의 뉴런 회로는 시냅스 어레이의 각 비트 라인(BL)에 연결되어, 도 6과 같이, 종래 TIA와 ADC 회로를 거치지 않고도 디지털 데이터를 출력할 수 있는 병렬 센싱 버퍼 구조를 갖는다.The neuron circuit of this embodiment is connected to each bit line (BL) of the synapse array and has a parallel sensing buffer structure that can output digital data without going through the conventional TIA and ADC circuit, as shown in FIG. 6.
도 7에서는 2개 래치(42, 44)가 포함된 페이지 버퍼로 뉴런 회로를 구성하는 예를 보인 것이나, 둘 이상 n개의 래치로 n비트 디지털 데이터를 출력하는 뉴런 회로를 구성할 수 있다. 즉, n은 2 또는 2보다 큰 자연수이다.Figure 7 shows an example of configuring a neuron circuit with a page buffer including two latches 42 and 44, but a neuron circuit that outputs n-bit digital data can be configured with two or more n latches. That is, n is 2 or a natural number greater than 2.
도 13을 참조하면, 본 실시예의 뉴런 회로(100)는 시냅스 어레이(200)의 각 비트 라인(BL)에 연결되어, 시냅스 어레이(200)의 인풋 펄스(Input pulse)로 각 비트 라인(예컨대, BL0)에 흐르는 전류(Discharge current)를 n개 래치(40: 42, 44)로 n비트의 디지털 전압 데이터로 변환하여 출력(VOUT0, VOUT1)하게 된다.Referring to FIG. 13, the neuron circuit 100 of this embodiment is connected to each bit line (BL) of the synapse array 200, and is connected to each bit line (e.g., an input pulse of the synapse array 200). The discharge current flowing through BL 0 is converted into n bits of digital voltage data using n latches (40: 42, 44) and output (VOUT0, VOUT1).
상기 VDD 공급용 트랜지스터(12)는 통상과 같이 VDD 공급단과 상기 제 1 접점(11)에 연결되어 프리차지(PCHn) 신호가 게이트에 인가되는 PMOS(P-channel MOSFET)일 수 있다.The V DD supply transistor 12 may be a P-channel MOSFET (PMOS) connected to the V DD supply terminal and the first contact point 11 as usual to apply a precharge (PCHn) signal to the gate.
상기 비트 라인(BL)의 일단에는 SENS 신호로 제어되는 전압 센싱 스위치(14)가 상기 제 1 접점(11)에 연결된다.At one end of the bit line BL, a voltage sensing switch 14 controlled by a SENS signal is connected to the first contact point 11.
도 7에 제 1 접점(11)과 접지 사이에 연결된 커패시터 CSO(16)는 비트 라인(BL)의 기생 커패시턴스에 의하거나 이를 포함할 수 있다.In FIG. 7 , the capacitor C SO (16) connected between the first contact point 11 and ground may be caused by or include parasitic capacitance of the bit line BL.
상기 인버터(10)는 제 1 접점(11)과 데이터 전달용 트랜지스터(20) 사이에 연결되어 제 1 접점(11)의 아날로그 방전 전압을 반전시켜 후술하는 제어 신호(EN 신호 등)를 얻을 수 있게 구비된다.The inverter 10 is connected between the first contact 11 and the data transfer transistor 20 to invert the analog discharge voltage of the first contact 11 to obtain a control signal (EN signal, etc.) to be described later. It is provided.
상기 인버터(10)의 출력단(SOn 노드, 21)은 게이트를 통해 데이터 전달용 트랜지스터(20)가 연결되어, 제 1 접점(11)의 전압를 디지털로 1차 변환되도록 한다.The output terminal (SON node, 21) of the inverter 10 is connected to a data transmission transistor 20 through a gate, so that the voltage of the first contact point 11 is first converted into digital.
상기 데이터 전달용 트랜지스터(20)는 접지에 소스가 연결된 NMOS(N-channel MOSFET)로 하여, 드레인이 연결된 제 2 점점(22)에 변환된 디지털 전압 데이터가 출력되도록 함이 바람직하다.The data transfer transistor 20 is preferably an NMOS (N-channel MOSFET) whose source is connected to ground, so that the converted digital voltage data is output to the second point 22 whose drain is connected.
상기 제 2 점점(22)의 디지털 전압 데이터는 상기 n개 래치(42, 44)에 저장되되, 제 1 접점(11)의 전압에 의해 비트 라인(BL)으로 흐르는 아날로그 전류를 구분하기 위해, 즉 시냅스 어레이(200)의 인풋 펄스에 따라 비트 라인(BL)으로 흐르는 아날로그 전류가 달라지는데 이를 구분하기 위해, EN 신호에 의하여 n비트 디지털 전압 데이터로 바꿔 저장되도록 함이 바람직하다.The digital voltage data of the second dot 22 is stored in the n latches 42 and 44, and is used to distinguish the analog current flowing to the bit line BL by the voltage of the first contact 11, that is, The analog current flowing to the bit line (BL) varies depending on the input pulse of the synapse array 200. In order to distinguish this, it is desirable to convert it into n-bit digital voltage data and store it by the EN signal.
상기 EN 신호는, 도 9를 참조할 때, EN Pulse Train에서 인버터(10)의 출력단(SOn 노드, 21)의 신호가 'High' 일 때(예컨대, t0, t1, t2) 트리거되어 n개의 EN 신호(EN0, EN1)로 나누어 2n-1개 쌍 중 하나로 출력된 펄스 신호일 수 있다.Referring to FIG. 9, the EN signal is triggered when the signal at the output terminal (SON node, 21) of the inverter 10 in the EN Pulse Train is 'High' (e.g., t0, t1, t2) to generate n ENs. It may be a pulse signal divided into signals (EN0, EN1) and output as one of 2 n -1 pairs.
상기 n개 래치(42, 44)는 각각 제 2 접점(22)에 일단이 연결된 래치 신호 입력 트랜지스터(32), 접지에 일단이 연결된 리셋 신호 입력 트랜지스터(34), 상기 래치 신호 입력 트랜지스터(32)와 상기 리셋 신호 입력 트랜지스터(34)의 각 타단 사이에 서로 반대 방향으로 배치되어 병렬로 연결된 2개의 인버터(36, 38)를 포함하여 구성될 수 있다.The n latches 42 and 44 each include a latch signal input transistor 32 with one end connected to the second contact point 22, a reset signal input transistor 34 with one end connected to ground, and the latch signal input transistor 32. and two inverters 36 and 38 arranged in opposite directions between each other end of the reset signal input transistor 34 and connected in parallel.
상기 래치 신호 입력 트랜지스터(32)는 래치 신호(예컨대, LAT0 또는 LAT1)가 게이트로 입력되는 NMOS이고, 상기 리셋 신호 입력 트랜지스터(34)는 리셋 신호(예컨대, RST0 또는 RST1)가 게이트로 입력되는 NMOS일 수 있다.The latch signal input transistor 32 is an NMOS through which a latch signal (eg, LAT0 or LAT1) is input to the gate, and the reset signal input transistor 34 is an NMOS through which a reset signal (eg, RST0 or RST1) is input into the gate. It can be.
상기 n개 래치(42, 44)는 래치 신호 입력 트랜지스터(32)의 타단을 각 래치의 출력단(39)으로 하여, 뉴런 회로에 n개 출력단(VOUT0, VOUT1)을 갖도록 구비된다.The n latches 42 and 44 are provided so that the neuron circuit has n output terminals VOUT0 and VOUT1, with the other terminal of the latch signal input transistor 32 serving as the output terminal 39 of each latch.
상기 n개 출력단(VOUT0, VOUT1)은 통합용 AND 게이트(52)의 입력단에 각각 연결되고, 상기 통합용 AND 게이트(52)의 출력단은 n개 분리 제어용 AND 게이트(54, 56)의 각 입력단에 연결되고, 상기 n개 분리 제어용 AND 게이트(54, 56)의 각 입력단은 상기 n개의 EN 신호(EN0, EN1) 중 하나와 함께 입력되도록 구비된다.The n output terminals (VOUT0, VOUT1) are each connected to the input terminal of the integrated AND gate 52, and the output terminal of the integrated AND gate 52 is connected to each input terminal of the n separate control AND gates 54 and 56. It is connected, and each input terminal of the n separate control AND gates 54 and 56 is provided to be input together with one of the n EN signals (EN0 and EN1).
상기 n개 분리 제어용 AND 게이트(54, 56)의 각 출력단은 상기 n개 래치(42, 44) 중 하나의 래치 신호 입력 트랜지스터(32)의 게이트에 연결된다.Each output terminal of the n separate control AND gates 54 and 56 is connected to the gate of one latch signal input transistor 32 among the n latches 42 and 44.
상기와 같이 구성됨으로써, 제 2 점점(22)의 디지털 전압 데이터는 n개 래치(42, 44)에 n비트로 저장하게 된다.By being configured as above, the digital voltage data of the second dot 22 is stored as n bits in the n latches 42 and 44.
도 8 내지 도 10a 및 도 10b를 함께 참조하며, 상술한 뉴런 회로의 동작 방법에 대하여 설명한다.Referring to FIGS. 8 to 10A and 10B together, the operation method of the above-described neuron circuit will be described.
먼저, 도 8의 기본 동작 타이밍도와 같이, VDD 공급용 트랜지스터(12)에 음의 프리차지(PCHn) 신호를 인가하여 PMOS를 턴온시켜 제 1 접점(11)을 VDD로 프리차지 해주고, 동시에 n개 래치(42, 44)의 각 리셋 신호 입력 트랜지스터(34)는 양의 리셋 신호(RST)를 인가하여, n개 출력단(VOUT0, VOUT1)에는 모두 데이터 "1" 상태로 초기화한다.First, as shown in the basic operation timing diagram of FIG. 8, a negative precharge (PCHn) signal is applied to the V DD supply transistor 12 to turn on the PMOS to turn the first contact 11 to V DD . Precharge is performed, and at the same time, each reset signal input transistor 34 of the n latches 42 and 44 applies a positive reset signal (RST), so that all n output terminals (VOUT0 and VOUT1) are in the data "1" state. Initialize.
이어, 전압 센싱 스위치(14)에 SENS 신호로 VDD를 인가하여 프리차지된 제 1 접점(SO 노드, 11)의 전압 변화를 센싱한다. SENS 신호로 전압 센싱 스위치(14)가 턴온되면, 도 9와 같이, 시냅스 어레이(200)의 인풋 펄스에 따라 비트 라인(BL)으로 흐르는 아날로그 전류가 달라지면서 제 1 접점(11)의 방전 전압 커브(1, 2, 3)가 달라지는데 이를 센싱한다.Next, V DD is applied as a SENS signal to the voltage sensing switch 14 to sense the voltage change at the precharged first contact point (SO node, 11). When the voltage sensing switch 14 is turned on by the SENS signal, the analog current flowing through the bit line BL changes according to the input pulse of the synapse array 200, and the discharge voltage curve of the first contact 11 changes, as shown in FIG. (1, 2, 3) changes and this is sensed.
상기 제 1 접점(11)의 전압 변화 센싱을 위해, 상술한 바와 같이, 인버터(10)의 출력단(SOn 노드, 21)의 신호를 이용함이 바람직하다. 이 경우, 도 9와 같이, EN Pulse Train에서 인버터(10)의 출력단(21) 신호가 'High' 일 때(t0, t1, t2) 트리거되어 n개의 EN 신호(EN0, EN1)로 나누어 2n-1개 쌍 중 하나의 펄스 신호가 출력(발생)되게 할 수 있다. To sense the voltage change of the first contact point 11, it is preferable to use the signal from the output terminal (SOn node, 21) of the inverter 10, as described above. In this case, as shown in Figure 9, when the signal at the output terminal (21) of the inverter (10) in the EN Pulse Train is 'High' (t0, t1, t2), it is triggered and divided into n EN signals (EN0, EN1) to generate 2 n -One pulse signal out of a pair can be output (generated).
여기서, 상기 인버터(10)의 출력단(21) 신호가 'High' 일 때란 데이터 전달용 트랜지스터(20)인 NMOS가 턴온될 때로 정의될 수 있다.Here, when the signal at the output terminal 21 of the inverter 10 is 'High', it can be defined as when the NMOS, which is the data transfer transistor 20, is turned on.
또한, 상기 n개의 EN 신호(EN0, EN1)는 상기 전압 센싱 스위치(14)에 SENS 신호가 예를 들어 VDD로 인가된 이후에 상기 EN Pulse Train에서 2n-1개 쌍이 사전에 정해진 순서대로 발생하도록 제어될 수 있다.In addition, after the n EN signals (EN0, EN1) are applied to the voltage sensing switch 14 as a SENS signal, for example, V DD , 2 n -1 pairs are generated in a predetermined order in the EN Pulse Train. It can be controlled to occur.
이후, 상기 EN Pulse Train에서 발생된 n개의 EN 신호(EN0, EN1)를 상기 n개 래치(42, 44)의 각 래치 신호 입력 트랜지스터(32)에 래치 신호(LAT0, LAT1)로 인가하여 상기 n개 래치(42, 44)의 n개 출력단(VOUT0, VOUT1)의 초기 데이터 "1" 상태의 변동 여부로 상기 제 1 접점(11)을 통해 상기 시냅스 어레이(200)에 흐르는 아날로그 전류를 n비트 디지털 전압 데이터로 바꿔 저장하는 단계로 진행한다.Thereafter, the n EN signals (EN0, EN1) generated from the EN Pulse Train are applied as latch signals (LAT0, LAT1) to each latch signal input transistor 32 of the n latches 42, 44, Depending on whether the initial data "1" state of the n output terminals (VOUT0, VOUT1) of the latches 42 and 44 changes, the analog current flowing through the first contact 11 to the synapse array 200 is converted into n-bit digital Proceed to the step of converting to voltage data and storing it.
상기 n개의 EN 신호는 상기 전압 센싱 스위치에 SENS 신호가 인가된 이후에 상기 EN Pulse Train에서 2n-1개 쌍이 사전에 정해진 순서대로 발생하도록 제어되는 것을 특징The n EN signals are controlled so that 2 n -1 pairs occur in a predetermined order in the EN Pulse Train after the SENS signal is applied to the voltage sensing switch.
도 7, 도 9, 도 10a 및 도 10b를 참조하며, 구체적인 예로 설명한다.Referring to FIGS. 7, 9, 10A, and 10B, a specific example will be described.
제 1 접점(11)의 첫 번째 방전 전압 커브(1)는 인버터(10)로 반전된 뒤 EN Pulse Train에서 t0일 때 2개의 EN 신호(EN0, EN1)가 {on(o), off(x)}의 쌍으로 발생되도록 한다. 첫 번째 래치(L0, 42)의 출력단(VOUT0)은 래치 신호 입력 트랜지스터(32)에 래치 신호(LAT0)로 EN0의 on(o)에 의한 펄스 신호가 분리 제어용 AND 게이트(54)를 통해 인가되어 래치 신호 입력 트랜지스터(32)가 턴온되면서 초기 데이터 "1"은 "0"으로 바뀌게 된다. 한편, 두 번째 래치(L1, 44)의 출력단(VOUT1)은 래치 신호 입력 트랜지스터(32)에 래치 신호(LAT1)로 EN1의 off(x), 즉 펄스 신호가 인가되지 않아('0' 상태로 입력되어) 분리 제어용 AND 게이트(56)에서 "0"으로 출력되므로 두 번째 래치(44)의 래치 신호 입력 트랜지스터(32)는 계속 턴오프 상태로 있게 되어 초기 데이터 "1"이 그대로 유지된다. 따라서, 첫 번째 방전 전압 커브(1, Case 1)는 2개 래치(42, 44)에 의하여 data(L1, L0)는 도 10a와 같이 '10'의 2비트 디지털 데이터로 변환되어 저장하게 되고, 이후는 도 10b와 같이 계속 유지된다.The first discharge voltage curve (1) of the first contact (11) is inverted by the inverter (10), and then two EN signals (EN0, EN1) are {on(o), off(x) at t0 in the EN Pulse Train. )} to be generated as a pair. The output terminal (VOUT0) of the first latch (L0, 42) is a latch signal (LAT0) to the latch signal input transistor 32, and a pulse signal due to on(o) of EN0 is applied through the AND gate 54 for separation control. As the latch signal input transistor 32 turns on, the initial data “1” changes to “0”. Meanwhile, the output terminal (VOUT1) of the second latch (L1, 44) is turned off (x) of EN1 as a latch signal (LAT1) to the latch signal input transistor 32, that is, the pulse signal is not applied (in the '0' state). input) and output as "0" from the AND gate 56 for separation control, the latch signal input transistor 32 of the second latch 44 continues to be turned off, and the initial data "1" is maintained as is. Therefore, in the first discharge voltage curve (1, Case 1), the data (L1, L0) is converted into 2-bit digital data of '10' and stored by the two latches (42, 44), as shown in FIG. 10A, Afterwards, it continues as shown in Figure 10b.
두 번째 방전 전압 커브(2, Case 2)는 인버터(10)로 반전된 뒤 EN Pulse Train에서 t1일 때 2개의 EN 신호(EN0, EN1)가 {off(x), on(o)}의 쌍으로 발생되도록 한다. 첫 번째 래치(L0, 42)의 출력단(VOUT0)은 래치 신호 입력 트랜지스터(32)에 래치 신호(LAT0)가 EN0의 off(x)로 인해 분리 제어용 AND 게이트(54)에서 "0"으로 출력되므로 래치 신호 입력 트랜지스터(32)는 계속 턴오프 상태로 있게 되어 초기 데이터 "1"이 그대로 유지된다. 한편, 두 번째 래치(L1, 44)의 출력단(VOUT1)은 래치 신호 입력 트랜지스터(32)에 EN1의 on(o)에 의한 펄스 신호가 분리 제어용 AND 게이트(56)를 통해 인가되어 래치 신호 입력 트랜지스터(32)가 턴온되면서 초기 데이터 "1"은 "0"으로 바뀌게 된다. 따라서, 두 번째 방전 전압 커브(2)는 2개 래치(42, 44)에 의하여 data(L1, L0)는 도 10a와 같이 '01'의 2비트 디지털 데이터로 변환되어 저장하게 되고, 이후는 도 10b와 같이 계속 유지된다.The second discharge voltage curve (2, Case 2) is inverted by the inverter (10), and then at t1 in the EN Pulse Train, two EN signals (EN0, EN1) become a pair of {off(x), on(o)} to occur. The output terminal (VOUT0) of the first latch (L0, 42) outputs “0” to the AND gate (54) for isolation control due to the latch signal input transistor (32) turning off (x) EN0. The latch signal input transistor 32 remains turned off and the initial data “1” is maintained. Meanwhile, at the output terminal (VOUT1) of the second latch (L1, 44), a pulse signal due to on(o) of EN1 is applied to the latch signal input transistor 32 through the AND gate 56 for separation control, As (32) turns on, the initial data "1" changes to "0". Accordingly, in the second discharge voltage curve 2, data (L1, L0) is converted into 2-bit digital data of '01' and stored by the two latches 42 and 44, as shown in Figure 10a. It continues as in 10b.
세 번째 방전 전압 커브(3, Case 3)는 인버터(10)로 반전된 뒤 EN Pulse Train에서 t3일 때 2개의 EN 신호(EN0, EN1)가 {on(o), on(o)}의 쌍으로 발생되도록 한다. 이 경우, 첫 번째 래치(L0, 42)의 출력단(VOUT0)과 두 번째 래치(L1, 44)의 출력단(VOUT1)의 각 초기 데이터 "1"이 "0"으로 모두 바뀌게 된다. 따라서, 세 번째 방전 전압 커브(3)는 2개 래치(42, 44)에 의하여 data(L1, L0)는 도 10a와 같이 '00'의 2비트 디지털 데이터로 변환되어 저장하게 되고, 이후는 도 10b와 같이 계속 유지된다. The third discharge voltage curve (3, Case 3) is inverted by the inverter (10), and then at t3 in the EN Pulse Train, two EN signals (EN0, EN1) become a pair of {on(o), on(o)} to occur. In this case, the initial data "1" at the output terminal (VOUT0) of the first latch (L0, 42) and the output terminal (VOUT1) of the second latch (L1, 44) are all changed to "0". Accordingly, in the third discharge voltage curve 3, data (L1, L0) is converted into 2-bit digital data of '00' and stored by the two latches 42 and 44, as shown in FIG. 10A, and thereafter, as shown in FIG. It continues as in 10b.
제 1 접점(11)의 각 방전 전압 커브가 2개 래치(42, 44)에 2비트 디지털 데이터로 변환되어 저장된 이후에는 그 데이터를 유지하게 된다. 이는, 상술한 바와 같이, 첫 번째 래치(L0, 42)의 출력단(VOUT0)과 두 번째 래치(L1, 44)의 출력단(VOUT1)은 통합용 AND 게이트(52)의 입력단에 각각 연결되고, 통합용 AND 게이트(52)의 출력단은 2개 분리 제어용 AND 게이트(54, 56)의 각 입력단에 연결되고, 2개 분리 제어용 AND 게이트(54, 56)의 각 입력단은 2개의 EN 신호(EN0, EN1) 중 하나와 함께 입력되도록 구비되기 때문이다. 즉, 2개 래치(42, 44)의 출력단(VOUT0, VOUT1)이 모두 데이터 "1"로 초기된 상태에서는 통합용 AND 게이트(52)의 출력 데이터가 "1"이 되어, 2개의 래치 신호(LAT0, LAT1)는 각각 분리 제어용 AND 게이트(54)(56)에 의해 입력된 EN 신호(EN0 또는 EN1)에 의해 결정되지만, 2개 래치(42, 44)의 출력단(VOUT0, VOUT1) 중 하나의 데이터라도 "1"에서 "0"으로 바뀐 이후에는 EN 신호가 EN0와 EN1의 어떤 쌍으로 인가되어도 분리 제어용 AND 게이트(54, 56)의 출력단으로 나오는 래치 신호(LAT0, LAT1)는 "0"이 되어 각 래치의 래치 신호 입력 트랜지스터(32)를 턴온시킬 수 없기 때문이다.After each discharge voltage curve of the first contact 11 is converted into 2-bit digital data and stored in the two latches 42 and 44, the data is maintained. As described above, the output terminal (VOUT0) of the first latch (L0, 42) and the output terminal (VOUT1) of the second latch (L1, 44) are respectively connected to the input terminal of the AND gate 52 for integration, and the integrated The output terminal of the AND gate 52 is connected to each input terminal of the two separate control AND gates 54, 56, and each input terminal of the two separate control AND gates 54, 56 is connected to two EN signals (EN0, EN1). ) This is because it is provided to be input together with one of the following. That is, when the output terminals (VOUT0, VOUT1) of the two latches (42, 44) are all initialized to data "1", the output data of the integration AND gate 52 becomes "1", and the two latch signals ( LAT0 and LAT1) are determined by the EN signal (EN0 or EN1) input by the AND gates 54 and 56 for separate control, respectively, but one of the output terminals (VOUT0 and VOUT1) of the two latches 42 and 44 After the data changes from "1" to "0", no matter which pair of EN0 and EN1 the EN signal is applied to, the latch signals (LAT0, LAT1) output from the output terminals of the AND gates (54, 56) for separation control remain at "0". This is because the latch signal input transistor 32 of each latch cannot be turned on.
도 11, 도 12a 및 도 12b는 다른 실시예로 3개 래치를 갖는 경우를 보여준다. 즉, 도 11은 3개 래치를 갖는 뉴런 회로에서 시냅스 어레이의 인풋에 따른 SO 노드 및 SOn 노드의 전압 변화 그래프와 함께 (EN0, EN1, EN2) 신호 쌍과 그 생성 타이밍도를 보여주고, 도 12는 3개 래치를 갖는 뉴런 회로에 도 11의 (EN0, EN1, EN2) 신호 쌍을 인가하면 SO 노드의 각 전압 변화 그래프가 3비트 디지털 데이터로 변환됨을 보여주는 테이블이다.Figures 11, 12a, and 12b show a case with three latches as another example. That is, Figure 11 shows the (EN0, EN1, EN2) signal pair and its generation timing diagram along with a graph of the voltage change of the SO node and SOn node according to the input of the synapse array in a neuron circuit with three latches, and Figure 12 is a table showing that when the (EN0, EN1, EN2) signal pair of FIG. 11 is applied to a neuron circuit with three latches, each voltage change graph of the SO node is converted into 3-bit digital data.
여기서도, 상술한 방법으로 제 1 접점(11)인 SO 노드에서의 각 방전 전압 커브(전압 변화 그래프)를 3개 래치에 data(L2, L1, L0)의 3비트 디지털 데이터로 변환하여 저장할 수 있다. 즉, 제 1 방전 전압 커브(1)는 '110', 제 2 방전 전압 커브(2)는 '101', 제 3 방전 전압 커브(3)는 '100', 제 4 방전 전압 커브(4)는 '011', 제 5 방전 전압 커브(5)는 '010', 제 6 방전 전압 커브(6)는 '001',제 7 방전 전압 커브(7)는 '000'로 각각 변환하여 3개 래치에 저장될 수 있다.Here, too, using the above-described method, each discharge voltage curve (voltage change graph) at the SO node, which is the first contact point 11, can be converted into 3-bit digital data of data (L2, L1, L0) and stored in three latches. . That is, the first discharge voltage curve (1) is '110', the second discharge voltage curve (2) is '101', the third discharge voltage curve (3) is '100', and the fourth discharge voltage curve (4) is '100'. '011', the fifth discharge voltage curve (5) is converted to '010', the sixth discharge voltage curve (6) is converted to '001', and the seventh discharge voltage curve (7) is converted to '000' and stored in three latches. It can be saved.
상술한 방식으로, 도 7에서 제 2 접점(22)에 3개보다도 더 많은 n개 래치를 병렬로 연결하게 되면, n비트로 2n-1개의 SO 노드 방전 전압 커브(전압 변화 그래프)를 디지털로 변환할 수 있게 되어, 시냅스 어레이(200)의 인풋 펄스에 따른 뉴런 회로를 보다 정밀하에 구현할 수 있게 된다.In the above-described manner, when more than 3 n latches are connected in parallel to the second contact point 22 in FIG. 7, 2 n -1 SO node discharge voltage curves (voltage change graph) are digitally converted to n bits. By being able to convert, it becomes possible to implement a neuron circuit according to the input pulse of the synapse array 200 with more precision.
도 13은 도 7의 뉴런 회로(100)가 시냅스 어레이(200)에 결합된 모습을 보인 뉴로모픽 회로도이다. 각 어레이의 BL 즉, 시냅스 어레이(200)의 각 비트 라인에 상술한 뉴런 회로(100)를 부착하면 뉴로모픽 회로를 구성할 수 있다. 시냅스 어레이(200)의 워드 라인(WL0, WL1, ..., WLn-1)에 인가되는 인풋 펄스(Input pulse)에 의해 비트 라인(예컨대, BL0)에 흐르는 전류의 세기가 달라진다. 이에 따라 뉴런회로의 CSO(16)의 방전(discharge) 속도가 달라지게 된다. 이러한 원리를 이용하여 상술한 방식을 통해 시냅스 어레이의 비트 라인에 흐르는 아날로그 전류를 디지털 데이터로 변환하여, 인풋 펄스로 시냅스 어레이(200)의 시냅스 소자(201, 202, 203)에 준 영향은 뉴런 회로(100)의 n개 래치(40: 42, 44)에 저장할 수 있게 된다.FIG. 13 is a neuromorphic circuit diagram showing the neuron circuit 100 of FIG. 7 coupled to the synapse array 200. A neuromorphic circuit can be formed by attaching the neuromorphic circuit 100 described above to each bit line of the BL of each array, that is, the synapse array 200. The intensity of the current flowing in the bit line (e.g., BL 0 ) varies depending on the input pulse applied to the word lines (WL 0 , WL 1 , ..., WL n-1 ) of the synapse array 200. . Accordingly, the discharge speed of C SO (16) in the neuron circuit changes. Using this principle, the analog current flowing in the bit line of the synapse array is converted into digital data through the above-described method, and the effect of the input pulse on the synapse elements 201, 202, and 203 of the synapse array 200 is the neuron circuit. It can be stored in n latches (40: 42, 44) of (100).
도 14는 도 13의 시냅스 어레이에 통상의 벡터-행렬 곱 연산 외에도 Input bit slicing 기법을 적용할 수 있음을 보인 개념도이다. Input bit slicing 기법은 도 14에서와 같이 시냅스 어레이(200)에 인가되는 인풋 펄스를 입력 시간에 따라 자릿수를 부여하여 백터-행렬 곱을 수행하는 방식이다. 기타 Input bit slicing 기법은 관련 논문("Analog architectures for neural network acceleration based on non-volatile memory", T. Patrick Xiao, Applied Physics, 09 July 2020)을 참조할 수 있다.FIG. 14 is a conceptual diagram showing that the input bit slicing technique can be applied to the synapse array of FIG. 13 in addition to the normal vector-matrix multiplication operation. The input bit slicing technique is a method of performing vector-matrix multiplication by assigning digits to the input pulse applied to the synapse array 200 according to the input time, as shown in FIG. 14. For other Input bit slicing techniques, please refer to the related paper ("Analog architectures for neural network acceleration based on non-volatile memory", T. Patrick Xiao, Applied Physics, 09 July 2020).
시냅스 어레이(200)의 인풋으로 인가된 자극은 시간에 따른 펄스에 의해 어레이의 각 비트 라인으로 전류가 흐르게 하는데, 각각의 자릿수를 가진 시간대에 전류가 흐르게 된다. 이때, 비트 라인으로 흐르는 전류를 상술한 방식으로 n개 래치에 n비트로 디지털로 변환되어 저장되고, 각 시간대 별로 변환된 데이터의 합산은 각 시간대의 결과에 가중치로 시간대의 해당 입력 시간만큼 자릿수를 좌측으로 이동시켜(shift left) 최종적으로 합산하는 방식으로 백터-행렬 곱을 수행할 수 있다.The stimulus applied as an input to the synapse array 200 causes current to flow through each bit line of the array by pulses according to time, and the current flows in a time period corresponding to each digit. At this time, the current flowing through the bit line is digitally converted into n bits and stored in n latches in the manner described above, and the sum of the converted data for each time period is used as a weight for the result of each time period, with the number of digits on the left equal to the corresponding input time of the time zone. Vector-matrix multiplication can be performed by shifting left to and finally summing.
도 15는 도 14의 Input bit slicing 기법을 적용할 때 뉴런 회로의 동작을 보인 예시도이다.Figure 15 is an example diagram showing the operation of a neuron circuit when applying the input bit slicing technique of Figure 14.
도 15를 참조하면, 20 시간대, 21 시간대, 22 시간대, 23 시간대에 시냅스 어레이(200)의 인풋으로 인한 SO 노드의 전압 변화는 각각 제 1 방전 전압 커브(1, Case 1), 제 2 방전 전압 커브(2, Case 2), 제 3 방전 전압 커브(3, Case 3)를 가지고, 각 방전 전압 커브는 상술한 방식으로 2개 래치에 2비트로 디지털로 변환되어 저장하게 된다. 여기서, 각각의 시간대에서 2비트 디지털 데이터로 변환한 후에는 SO 노드를 매번 다시 프리차지 해주어야 한다. 이때, 뉴런 회로의 2개 래치에 저장된 2비트 디지털 데이터는 buffer에 저장한 후, 다음 시간대에 나온 결과를 자릿수에 알맞게 shift left 하여 가중치를 계산해서 더해주는 것을 반복하여 뉴런 동작을 수행하고, 최종 결과를 출력하게 된다.Referring to FIG. 15, the voltage change of the SO node due to the input of the synapse array 200 at the 2 0 time zone, 2 1 time zone, 2 2 time zone, and 2 3 time zone is the first discharge voltage curve (1, Case 1), respectively. With the second discharge voltage curve (2, Case 2) and the third discharge voltage curve (3, Case 3), each discharge voltage curve is digitally converted into 2 bits and stored in two latches in the above-described manner. Here, after converting to 2-bit digital data in each time zone, the SO node must be precharged again each time. At this time, the 2-bit digital data stored in the two latches of the neuron circuit are stored in the buffer, then the results from the next time period are shifted left to the appropriate number of digits, the weights are calculated and added repeatedly, the neuron operation is performed, and the final result is It will be printed.
10: 인버터
20: 데이터 전달용 트랜지스터
32: 래치 신호 입력 트랜지스터
34: 리셋 신호 입력 트랜지스터
40, 42, 44: 래치
52: 통합용 AND 게이트
54, 56: 분리 제어용 AND 게이트10: inverter
20: Transistor for data transmission
32: Latch signal input transistor
34: Reset signal input transistor
40, 42, 44: Latch
52: AND gate for integration
54, 56: AND gate for separate control
Claims (10)
상기 인버터의 출력단에 게이트가 연결된 데이터 전달용 트랜지스터;
상기 데이터 전달용 트랜지스터의 드레인이 연결된 제 2 접점에 병렬로 연결된 둘 이상의 n개 래치; 및
상기 n개 래치에 입력되는 n개의 EN 신호를 적어도 2n-1개 쌍으로 생성하는 EN Pulse Train을 포함하여 구성된 것을 특징으로 하는 뉴런 회로.
an inverter connected to a first contact point where a transistor for supplying V DD is connected to the bit line of the synapse array;
A data transfer transistor whose gate is connected to the output terminal of the inverter;
two or more n latches connected in parallel to a second contact point to which the drain of the data transfer transistor is connected; and
A neuron circuit comprising an EN Pulse Train that generates n EN signals input to the n latches in at least 2 n -1 pairs.
상기 데이터 전달용 트랜지스터는 접지에 소스가 연결된 NMOS인 것을 특징으로 하는 뉴런 회로.
According to claim 1,
A neuron circuit, wherein the data transfer transistor is an NMOS whose source is connected to ground.
상기 n개 래치는 상기 비트 라인으로 흐르는 아날로그 전류를 상기 EN 신호에 의하여 n비트 디지털 전압 데이터로 바꿔 저장하는 것을 특징으로 하는 뉴런 회로.
According to claim 1,
A neuron circuit, wherein the n latches convert the analog current flowing through the bit line into n-bit digital voltage data by the EN signal and store it.
상기 n개 래치는 각각 상기 제 2 접점에 일단이 연결된 래치 신호 입력 트랜지스터, 접지에 일단이 연결된 리셋 신호 입력 트랜지스터, 상기 래치 신호 입력 트랜지스터와 상기 리셋 신호 입력 트랜지스터의 각 타단 사이에 서로 반대 방향으로 배치되어 병렬로 연결된 2개의 인버터를 포함하여 구성되고,
상기 n개 래치는 상기 래치 신호 입력 트랜지스터의 타단을 각 래치의 출력단으로 하여 n개 출력단을 갖고,
상기 n개 출력단은 통합용 AND 게이트의 입력단에 각각 연결되고,
상기 통합용 AND 게이트의 출력단은 n개 분리 제어용 AND 게이트의 각 입력단에 연결되고,
상기 n개 분리 제어용 AND 게이트의 각 입력단은 상기 n개의 EN 신호 중 하나와 함께 입력되도록 구비되고,
상기 n개 분리 제어용 AND 게이트의 각 출력단은 상기 n개 래치 중 하나의 래치 신호 입력 트랜지스터의 게이트에 연결된 것을 특징으로 하는 뉴런 회로.
The method according to any one of claims 1 to 3,
The n latches are each a latch signal input transistor with one end connected to the second contact point, a reset signal input transistor with one end connected to ground, and disposed in opposite directions between the latch signal input transistor and the other end of the reset signal input transistor. It consists of two inverters connected in parallel,
The n latches have n output terminals with the other terminal of the latch signal input transistor as the output terminal of each latch,
The n output terminals are each connected to the input terminal of the integrated AND gate,
The output terminal of the integrated AND gate is connected to each input terminal of the n separate control AND gates,
Each input terminal of the n separate control AND gates is provided to be input together with one of the n EN signals,
A neuron circuit, wherein each output terminal of the n separate control AND gates is connected to the gate of a latch signal input transistor of one of the n latches.
상기 VDD 공급용 트랜지스터는 VDD 공급단과 상기 제 1 접점에 연결되어 프리차지(PCHn) 신호가 게이트에 인가되는 PMOS이고,
상기 비트 라인의 일단에는 SENS 신호로 제어되는 전압 센싱 스위치가 상기 제 1 접점에 연결되고,
상기 제 1 접점과 접지 사이에 상기 비트 라인의 기생 커패시턴스로 인한 CSO가 연결되고,
상기 래치 신호 입력 트랜지스터는 래치 신호(LAT)가 게이트로 입력되는 NMOS이고,
상기 리셋 신호 입력 트랜지스터는 리셋 신호(RST)가 게이트로 입력되는 NMOS인 것을 특징으로 하는 뉴런 회로.
According to claim 4,
The V DD supply transistor is a PMOS connected to the V DD supply terminal and the first contact point to apply a precharge (PCHn) signal to the gate,
At one end of the bit line, a voltage sensing switch controlled by a SENS signal is connected to the first contact point,
C SO due to the parasitic capacitance of the bit line is between the first contact and ground. connected,
The latch signal input transistor is an NMOS through which a latch signal (LAT) is input to the gate,
A neuron circuit, characterized in that the reset signal input transistor is an NMOS through which a reset signal (RST) is input to the gate.
상기 VDD 공급용 트랜지스터에 음의 프리차지(PCHn) 신호를 인가하여 PMOS를 턴온시켜 상기 제 1 접점을 VDD로 프리차지 해주고, 동시에 상기 n개 래치의 각 리셋 신호 입력 트랜지스터는 양의 리셋 신호(RST)를 인가하여 상기 n개 출력단에는 모두 데이터 "1" 상태로 초기화하는 단계;
상기 전압 센싱 스위치에 SENS 신호로 VDD를 인가하여 프리차지된 상기 제 1 접점의 전압 변화를 센싱하는 단계; 및
상기 EN Pulse Train에서 n개의 EN 신호를 2n-1개 쌍으로 발생하여 상기 n개 래치의 각 래치 신호 입력 트랜지스터에 래치 신호로 인가하여 상기 n개 래치의 n개 출력단의 초기 데이터 "1" 상태의 변동 여부로 상기 제 1 접점을 통해 상기 시냅스 어레이에 흐르는 아날로그 전류를 n비트 디지털 전압 데이터로 바꿔 저장하는 단계를 포함하는 것을 특징으로 하는 뉴런 회로를 동작하는 방법.
In the method of operating the neuron circuit of claim 5,
A negative precharge (PCHn) signal is applied to the V DD supply transistor to turn on the PMOS, thereby turning the first contact point to V DD. Precharging and simultaneously applying a positive reset signal (RST) to each reset signal input transistor of the n latches to initialize all of the n output terminals to a data "1"state;
applying V DD as a SENS signal to the voltage sensing switch to sense a change in voltage of the precharged first contact; and
In the EN Pulse Train, n EN signals are generated in 2 n -1 pairs and applied as a latch signal to each latch signal input transistor of the n latches, so that the initial data of the n output terminals of the n latches is in the "1" state. A method of operating a neuron circuit, comprising converting the analog current flowing through the synapse array through the first contact into n-bit digital voltage data and storing it, depending on whether there is a change in .
상기 n개의 EN 신호는 상기 데이터 전달용 트랜지스터가 턴온될 때 발생하도록 제어되는 것을 특징으로 하는 뉴런 회로를 동작하는 방법.
According to claim 6,
A method of operating a neuron circuit, wherein the n EN signals are controlled to be generated when the data transfer transistor is turned on.
상기 n개의 EN 신호는 상기 전압 센싱 스위치에 SENS 신호가 인가된 이후에 상기 EN Pulse Train에서 2n-1개 쌍이 사전에 정해진 순서대로 발생하도록 제어되는 것을 특징으로 하는 뉴런 회로를 동작하는 방법.
According to claim 6,
The n EN signals are controlled so that 2 n -1 pairs are generated in a predetermined order in the EN Pulse Train after the SENS signal is applied to the voltage sensing switch.
A neuromorphic circuit, characterized in that the neuron circuit of claim 4 is connected to each bit line of the synapse array.
상기 시냅스 어레이에 인풋으로 인가된 시간에 따른 복수의 펄스에 의한 합산은 통상의 벡터-행렬 곱 연산이나 상기 시냅스 어레이의 입력 시간에 따른 펄스의 n비트 디지털 전압 데이터에 가중치로 입력 시간만큼 자릿수를 좌측으로 이동시켜 합산하는 방식에 의한 것을 특징으로 하는 뉴런 회로를 동작하는 방법.In the method of operating the neuron circuit in the neuromorphic circuit of claim 9,
The summation of a plurality of pulses according to the time applied as input to the synapse array is a normal vector-matrix multiplication operation or a weighting of n-bit digital voltage data of the pulse according to the input time of the synapse array with the number of digits on the left equal to the input time. A method of operating a neuron circuit, characterized by moving to and summing.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020220158106A KR102805682B1 (en) | 2022-11-23 | 2022-11-23 | Neuron circuit using voltage change of bit line |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020220158106A KR102805682B1 (en) | 2022-11-23 | 2022-11-23 | Neuron circuit using voltage change of bit line |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20240076869A true KR20240076869A (en) | 2024-05-31 |
KR102805682B1 KR102805682B1 (en) | 2025-05-09 |
Family
ID=91330390
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020220158106A Active KR102805682B1 (en) | 2022-11-23 | 2022-11-23 | Neuron circuit using voltage change of bit line |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102805682B1 (en) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200286553A1 (en) * | 2019-03-08 | 2020-09-10 | Macronix International Co., Ltd. | In-memory computation device with inter-page and intra-page data circuits |
KR20220123243A (en) * | 2019-12-27 | 2022-09-06 | 가부시키가이샤 한도오따이 에네루기 켄큐쇼 | Semiconductor devices and electronic devices |
KR20220147698A (en) * | 2018-03-14 | 2022-11-03 | 실리콘 스토리지 테크놀로지 인크 | Method and apparatus for programming analog neural memory in a deep learning artificial neural network |
-
2022
- 2022-11-23 KR KR1020220158106A patent/KR102805682B1/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20220147698A (en) * | 2018-03-14 | 2022-11-03 | 실리콘 스토리지 테크놀로지 인크 | Method and apparatus for programming analog neural memory in a deep learning artificial neural network |
US20200286553A1 (en) * | 2019-03-08 | 2020-09-10 | Macronix International Co., Ltd. | In-memory computation device with inter-page and intra-page data circuits |
KR20220123243A (en) * | 2019-12-27 | 2022-09-06 | 가부시키가이샤 한도오따이 에네루기 켄큐쇼 | Semiconductor devices and electronic devices |
Also Published As
Publication number | Publication date |
---|---|
KR102805682B1 (en) | 2025-05-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Marinella et al. | Multiscale co-design analysis of energy, latency, area, and accuracy of a ReRAM analog neural training accelerator | |
Zhang et al. | In-memory computation of a machine-learning classifier in a standard 6T SRAM array | |
CN112183739B (en) | Hardware architecture of memristor-based low-power-consumption pulse convolution neural network | |
CN111656368B (en) | Hardware accelerated discrete neural network | |
US12073869B2 (en) | Compute in memory system | |
US11361216B2 (en) | Neural network circuits having non-volatile synapse arrays | |
Sun et al. | XNOR-RRAM: A scalable and parallel resistive synaptic architecture for binary neural networks | |
US10642922B2 (en) | Binary, ternary and bit serial compute-in-memory circuits | |
US11531871B2 (en) | Stacked neuromorphic devices and neuromorphic computing systems | |
JP7173709B2 (en) | neural network circuit | |
US10360971B1 (en) | Artificial neural network functionality within dynamic random-access memory | |
US11055610B2 (en) | Circuit for CMOS based resistive processing unit | |
US5053638A (en) | Semiconductor neural circuit device having capacitive coupling and operating method thereof | |
EP3743857A2 (en) | Neural network circuits having non-volatile synapse arrays | |
KR102739130B1 (en) | Electronic device for configuring neural network | |
JPH0467259A (en) | Information processor | |
US20220262426A1 (en) | Memory System Capable of Performing a Bit Partitioning Process and an Internal Computation Process | |
TW202230115A (en) | Computing device and computing method | |
Han et al. | Efficient discrete temporal coding spike-driven in-memory computing macro for deep neural network based on nonvolatile memory | |
Lee et al. | Victor: A variation-resilient approach using cell-clustered charge-domain computing for high-density high-throughput MLC CiM | |
US11727253B2 (en) | Neural network system including gate circuit for controlling memristor array circuit | |
KR102805682B1 (en) | Neuron circuit using voltage change of bit line | |
Yu et al. | A Dual 7T SRAM-Based Zero-Skipping Compute-In-Memory Macro With 1-6b Binary Searching ADCs for Processing Quantized Neural Networks | |
Chen | Design of resistive synaptic devices and array architectures for neuromorphic computing | |
JP7595669B2 (en) | Capacitive Processing Unit |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PA0109 | Patent application |
Patent event code: PA01091R01D Comment text: Patent Application Patent event date: 20221123 |
|
PA0201 | Request for examination | ||
PG1501 | Laying open of application | ||
E902 | Notification of reason for refusal | ||
PE0902 | Notice of grounds for rejection |
Comment text: Notification of reason for refusal Patent event date: 20240805 Patent event code: PE09021S01D |
|
E701 | Decision to grant or registration of patent right | ||
PE0701 | Decision of registration |
Patent event code: PE07011S01D Comment text: Decision to Grant Registration Patent event date: 20250328 |
|
GRNT | Written decision to grant | ||
PR0701 | Registration of establishment |
Comment text: Registration of Establishment Patent event date: 20250507 Patent event code: PR07011E01D |
|
PR1002 | Payment of registration fee |
Payment date: 20250507 End annual number: 3 Start annual number: 1 |
|
PG1601 | Publication of registration |