KR20210001574A - 벡터-매트릭스 곱셈을 수행하는 연산 회로 및 이를 포함하는 반도체 장치 - Google Patents
벡터-매트릭스 곱셈을 수행하는 연산 회로 및 이를 포함하는 반도체 장치 Download PDFInfo
- Publication number
- KR20210001574A KR20210001574A KR1020190077865A KR20190077865A KR20210001574A KR 20210001574 A KR20210001574 A KR 20210001574A KR 1020190077865 A KR1020190077865 A KR 1020190077865A KR 20190077865 A KR20190077865 A KR 20190077865A KR 20210001574 A KR20210001574 A KR 20210001574A
- Authority
- KR
- South Korea
- Prior art keywords
- input
- circuit
- vector
- output
- matrix
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/04—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
- G11C16/0408—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells containing floating gate transistors
- G11C16/0416—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells containing floating gate transistors comprising cells containing a single floating gate transistor and no select transistor, e.g. UV EPROM
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/52—Multiplying; Dividing
- G06F7/523—Multiplying only
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06G—ANALOGUE COMPUTERS
- G06G7/00—Devices in which the computing operation is performed by varying electric or magnetic quantities
- G06G7/12—Arrangements for performing computing operations, e.g. operational amplifiers
- G06G7/16—Arrangements for performing computing operations, e.g. operational amplifiers for multiplication or division
-
- 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
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/4063—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
- G11C11/407—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
- G11C11/409—Read-write [R-W] circuits
- G11C11/4093—Input/output [I/O] data interface arrangements, e.g. data buffers
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/54—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using elements simulating biological cells, e.g. neuron
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/56—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
- G11C11/565—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using capacitive charge storage elements
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/4063—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
- G11C11/407—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
- G11C11/4076—Timing circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/4063—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
- G11C11/407—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
- G11C11/409—Read-write [R-W] circuits
- G11C11/4091—Sense or sense/refresh amplifiers, or associated sense circuitry, e.g. for coupled bit-line precharging, equalising or isolating
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C27/00—Electric analogue stores, e.g. for storing instantaneous values
- G11C27/02—Sample-and-hold arrangements
- G11C27/024—Sample-and-hold arrangements using a capacitive memory element
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C27/00—Electric analogue stores, e.g. for storing instantaneous values
- G11C27/02—Sample-and-hold arrangements
- G11C27/024—Sample-and-hold arrangements using a capacitive memory element
- G11C27/026—Sample-and-hold arrangements using a capacitive memory element associated with an amplifier
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1006—Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Analysis (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- Computational Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Neurology (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Power Engineering (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Evolutionary Computation (AREA)
- Logic Circuits (AREA)
- Semiconductor Integrated Circuits (AREA)
Abstract
본 발명의 일 실시예에 의한 연산 회로는 매트릭스에 포함된 다수의 원소에 대응하는 다수의 유효 용량을 설정하여 저장하는 연산 셀 어레이; 연산 셀 어레이에 입력 벡터에 대응하는 다수의 입력 전압을 제공하는 벡터 입력 회로; 및 다수의 입력 전압과 다수의 유효 용량의 조합에 의해 입력 벡터와 매트릭스에 포함된 다수의 열 벡터의 내적에 대응하는 다수의 출력 전압을 출력하는 벡터 출력 회로를 포함한다.
Description
본 발명은 벡터와 매트릭스의 곱셈을 수행하는 연산 회로와 이를 포함하는 반도체 장치에 관한 것이다.
이미지 인식, 자율 주행 자동차 등의 인공 지능 분야에서 신경망(NEURAL NETWORK)이 널리 이용되고 있다.
도 1은 일반적인 신경망의 구조를 나타내는 도면이다.
신경망은 입력 레이어, 출력 레이어, 및 그 사이의 하나 또는 둘 이상의 내부 레이어를 포함한다.
도 1에는 제 1 내부 레이어와 제 2 내부 레이어 두 개의 내부 레이어를 포함하는 신경망을 예시하였다.
각각의 레이어는 하나 또는 둘 이상의 뉴런을 포함하고, 인접한 레이어에 포함된 뉴런들은 시냅스를 통해 서로 연결되며 각각의 시냅스에는 가중치가 할당된다.
시냅스에 할당되는 가중치는 훈련 동작을 통해 결정된다.
입력 레이어에 포함된 뉴런의 값은 입력된 값으로부터 결정되고, 내부 레이어 및 출력 레이어에 포함된 뉴런의 값은 이전 레이어에 포함된 뉴런의 값과 시냅스에 할당된 가중치를 이용한 연산 결과로부터 얻어진다.
도 2는 제 2 내부 레이어의 뉴런 값들을 결정하는 연산 동작을 설명한다.
제 1 내부 레이어의 뉴런 값들을 4개의 원소를 포함하는 벡터([x1 x2 x3 x4])로 표현하고 제 2 내부 레이어의 뉴런 값들을 3개의 원소를 포함하는 벡터([h1 h2 h4])로 표현하고, 그 사이 시냅스들을 4개의 행과 3개의 열을 포함하는 매트릭스로 표현할 수 있다.
이와 같이 신경망 연산에서는 벡터와 매트릭스의 곱셈 연산이 빈번하게 수행되며 이를 효율적으로 수행할 수 있는 연산 회로의 중요성이 증가하고 있다.
Takamaeda-Yamazaki S., "Energy-Efficient In-Memory Neural Network Processor," The 17th International Forum on MPSoC for Software-defined Hardware (MPSoC 2017), Les Tresoms Hotel, Annecy, France (Jul. 2-7, 2017).
Shimeng Yu, Zhiwei Li, Pai-Yu Chen, Huaqiang Wu, Bin Gao, Deli Wang, Wei Wu, He Qian, "Binary neural network with 16 Mb RRAM macro chip for classification and online training", Electron Devices Meeting (IEDM) 2016 IEEE International, pp. 16.2.1-16.2.4, 2016.
본 기술은 메모리 셀 어레이와 유사한 구조를 가지는 연산 셀 어레이를 통해 벡터와 매트릭스의 곱셈을 효율적으로 수행할 수 있는 연산 회로와 이를 포함하는 반도체 장치를 제공한다.
본 발명의 일 실시예에 의한 연산 회로는 매트릭스에 포함된 다수의 원소에 대응하는 다수의 유효 용량을 설정하여 저장하는 연산 셀 어레이; 연산 셀 어레이에 입력 벡터에 대응하는 다수의 입력 전압을 제공하는 벡터 입력 회로; 및 다수의 입력 전압과 다수의 유효 용량의 조합에 의해 입력 벡터와 매트릭스에 포함된 다수의 열 벡터의 내적에 대응하는 다수의 출력 전압을 출력하는 벡터 출력 회로를 포함한다.
본 발명의 일 실시예에 의한 반도체 장치는 명령 및 주소를 입력받는 명령 디코더; 명령 디코더의 제어에 따라 데이터를 입출력하는 데이터 입출력 버퍼; 및 명령 디코더의 제어에 따라 데이터 입출력 버퍼를 통해 제공된 입력 벡터와 매트릭스의 곱에 대응하는 다수의 출력 전압을 생성하는 연산 회로를 포함한다.
본 기술에 의한 연산 회로는 메모리 셀 어레이와 유사한 구조를 가지는 연산 셀 어레이를 이용하여 벡터와 매트릭스의 곱셈을 효율적으로 수행할 수 있다.
본 기술에 의한 반도체 장치는 매트릭스의 각 원소를 연산 셀 어레이에 저장한 후에 입력 벡터를 연산 셀 어레이에 제공하여 출력 벡터를 연산하는 과정을 메모리 장치에 대한 읽기 쓰기 동작과 유사한 방법으로 처리할 수 있다.
도 1은 신경망의 구조를 설명하는 도면.
도 2는 신경망을 이용한 추론 과정에서 수행되는 연산 동작을 나타내는 도면.
도 3은 본 발명의 일 실시예에 의한 연산 회로를 나타내는 블록도.
도 4는 본 발명의 일 실시예에 의한 벡터 입력 회로를 나타내는 블록도.
도 5는 본 발명의 일 실시예에 의한 연산 셀 어레이를 나타내는 블록도.
도 6은 본 발명의 일 실시예에 의한 연산 셀을 나타내는 회로도.
도 7은 본 발명의 일 실시예에 의한 매트릭스 제어 회로를 나타내는 블록도.
도 8은 본 발명의 일 실시예에 의한 벡터 출력 회로를 나타내는 블록도.
도 9는 본 발명의 일 실시예에 의한 원소 출력 회로를 나타내는 도면.
도 10은 본 발명의 일 실시예에 의한 반도체 장치의 블록도.
도 2는 신경망을 이용한 추론 과정에서 수행되는 연산 동작을 나타내는 도면.
도 3은 본 발명의 일 실시예에 의한 연산 회로를 나타내는 블록도.
도 4는 본 발명의 일 실시예에 의한 벡터 입력 회로를 나타내는 블록도.
도 5는 본 발명의 일 실시예에 의한 연산 셀 어레이를 나타내는 블록도.
도 6은 본 발명의 일 실시예에 의한 연산 셀을 나타내는 회로도.
도 7은 본 발명의 일 실시예에 의한 매트릭스 제어 회로를 나타내는 블록도.
도 8은 본 발명의 일 실시예에 의한 벡터 출력 회로를 나타내는 블록도.
도 9는 본 발명의 일 실시예에 의한 원소 출력 회로를 나타내는 도면.
도 10은 본 발명의 일 실시예에 의한 반도체 장치의 블록도.
이하에서는 첨부한 도면을 참조하여 본 발명의 실시예를 개시한다.
도 3은 본 발명의 일 실시예에 의한 연산 회로(1)를 나타내는 블록도이다.
본 발명의 일 실시예에 의한 연산 회로(1)는 벡터 입력 회로(100), 연산 셀 어레이(200), 매트릭스 제어 회로(300), 벡터 출력 회로(400) 및 연산 제어 회로(500)를 포함한다.
연산 제어 회로(500)는 프로그램 동작 또는 연산 동작을 수행하도록 연산 회로(1)의 각 구성요소들을 제어한다.
예를 들어 연산 제어 회로(500)는 벡터 입력 회로(100)에 입력 스위치 제어 신호(S1m, 1≤m≤i)를 제공하여 벡터 입력을 제어할 수 있다.
또한 연산 제어 회로(500)는 매트릭스 제어 회로(300)에 동작 모드 신호(MODE)를 제공하고, 매트릭스의 원소 데이터(DCmn) 및 인덱스 신호 m, n을 제공하여 연산 셀 어레이에 매트릭스의 각 원소에 대응하는 데이터를 저장할 수 있다.
또한 연산 제어 회로(500)는 벡터 출력 회로(400)에 샘플링 스위치 제어 신호(S2n, 1≤n≤j)와 변환 스위치 제어 신호(S3n, 1≤n≤j)를 제공하여 연산 결과를 출력하도록 제어할 수 있다.
이하에서는 도 4 내지 9를 참조하여 연산 회로(1)의 세부 구성 및 그 동작에 대해서 구체적으로 개시한다.
도 4는 본 발명의 일 실시예에 의한 벡터 입력 회로(100)를 나타내는 블록도이다.
벡터 입력 회로(100)는 입력 벡터에 포함된 다수의 원소에 대응하는 입력 전압(Vxm, 1≤m≤i, i, m은 자연수, i는 2 이상의 자연수)을 연산 셀 어레이(100)에 제공한다.
본 발명의 일 실시예에 의한 벡터 입력 회로(100)는 입력 벡터의 원소 개수에 대응하는 i개의 입력 스위치(110m, 1≤m≤i)를 포함한다.
각각의 입력 스위치(110m)는 대응하는 입력 스위치 제어 신호(S1m)에 따라 대응하는 아날로그 입력 전압(Vxm)을 연산 셀 어레이(200)에 제공한다.
벡터 입력 회로(100)는 다수의 입력 버퍼(120m)를 더 포함할 수 있으며 대응하는 아날로그 입력 전압(Vxm)을 버퍼링할 수 있다.
도면에서는 입력 버퍼(120m)의 출력 신호가 입력 스위치(110m)에 제공되는 실시예가 도시되어 있으나 다른 실시예에서는 연결 순서가 바뀌어 입력 스위치(110m)가 입력 버퍼(120m)의 입력단에 연결될 수도 있다.
도 5는 본 발명의 일 실시예에 의한 연산 셀 어레이(200)를 나타내는 블록도이다.
연산 셀 어레이(200)는 다수의 연산 셀(210mn, 1≤m≤i, 1≤n≤j, i, j는 2 이상의 자연수, m, n은 자연수)을 포함한다.
다수의 연산 셀(210mn)은 매트릭스의 원소에 대응하도록 격자형으로 배치될 수 있다.
연산 셀 어레이(200)는 다수의 플레이트 라인(220m), 다수의 제 1 워드라인(230m), 다수의 비트라인(240n), 다수의 제어라인(250n)을 포함한다.
본 실시예에서 플레이트 라인(220m)과 제 1 워드라인(230m)은 행 방향으로 서로 평행하게 배치되고, 비트라인(240n)과 제어라인(250n)은 열 방향으로 서로 평행하게 배치되며, 플레이트 라인(220m)과 비트라인(240n)은 서로 수직으로 배치된다.
각각의 연산 셀(210mn)은 플레이트 라인(220m), 제 1 워드라인(230m), 비트라인(240n), 제어라인(250n)과 교차한다.
도 5에서는 행마다 하나의 제 1 워드라인을 도시하였으나 행마다 다수의 제 2 워드라인이 추가로 연결될 수 있다. 이에 대해서는 도 6을 참조하여 구체적으로 개시한다.
각각의 플레이트 라인(220m)에는 입력 벡터의 원소에 대응하는 입력 전압(Vxm)이 입력된다.
비트라인(240n)은 n번째 열의 연산 셀들과 공통으로 연결된다.
연산 셀(210mn)은 입력 벡터의 m번 원소와 매트릭스의 (m,n)번 원소의 곱에 대응하는 신호를 비트라인(240n)에 출력한다.
비트라인(240n)에서 출력되는 신호(Qn)는 입력 벡터와 매트릭스의 n번 열 벡터의 내적에 대응한다.
제어라인(250n)에는 열 선택 신호(Vsn)가 입력된다.
열 선택 신호(Vsn)는 연산 셀 어레이(200)의 n번째 열의 연산 셀에 매트릭스의 대응하는 원소를 프로그램하기 위하여 사용할 수 있다.
제 1 워드라인(230m)에는 연산 셀(210mn)에 매트릭스의 (m,n)번 원소를 프로그램하기 위하여 제 1 워드라인 전압(Vwm)을 인가한다.
연산 셀(210mn)의 상세한 구조 및 이와 관련된 동작에 대해서는 도 6을 참조하여 구체적으로 설명한다.
도 6은 본 발명의 일 실시예에 의한 연산 셀(210mn)을 나타내는 회로도이다.
연산 셀(210mn)은 하나 또는 둘 이상의 커패시터(Cmn,p, 1≤p≤k, p,k는 1이상의 자연수)와 하나 또는 둘 이상의 NMOS 트랜지스터(Nmn,p)를 포함한다.
커패시터(Cmn,p)와 NMOS 트랜지스터(Nmn,p)는 일반적인 디램 셀과 유사한 형태로 연결된다.
즉 커패시터(Cmn,p)의 일단은 플레이트 라인(220m)에 연결되고 NMOS 트랜지스터(Nmn,p)의 소스와 드레인은 커패시터(Cmn,p)의 타단과 비트라인(240n) 사이에 연결된다.
NMOS 트랜지스터(Nmn,p)의 게이트는 플로팅 게이트 트랜지스터(Fmn,p)의 드레인과 연결된다.
플로팅 게이트 트랜지스터(Fmn,p)의 소스는 공통적으로 스위칭 트랜지스터(Mmn)의 소스와 연결된다.
스위칭 트랜지스터(Mmn)의 드레인은 제 1 워드라인(230m)과 연결되고 게이트는 제어라인(250n)에 연결된다.
플로팅 게이트 트랜지스터(Fmn,p)의 게이트는 스위칭 트랜지스터(Mmn,p)의 드레인과 연결된다.
스위칭 트랜지스터(Mmn,p)의 게이트는 제어라인(250n)에 연결되고 소스는 제 2 워드라인(230m,p)에 연결된다.
이와 같이 하나의 연산 셀(210mn)에는 제 1 워드라인(230m)과 다수의 제 2 워드라인(230m,1, ..., 230m,k)이 연결된다.
본 실시예에서 매트릭스의 (m,n)번 원소의 값은 연산 셀(210mn)에서 플레이트 라인(220m)과 비트라인 사이(240n)의 유효 용량에 대응한다.
본 실시예에서 플레이트 라인(220m)과 비트라인 사이(240n)의 유효 용량은 다수의 커패시터(Cmn,p) 중 플레이트 라인(220m)과 비트라인 사이(240n)에 연결되는 커패시터에 의해 결정된다.
플로팅 게이트 트랜지스터(Fmn,p)는 쓰기 동작(프로그램 동작)을 통해 플로팅 게이트에 전하를 주입하거나 플로팅 게이트에서 전하를 제거함으로써 NMOS 트랜지스터(Nmn,p)의 게이트 전압을 제어한다.
연산 셀(210mn)에 대해서 수행되는 프로그램 동작은 매트릭스 제어 회로(300)에 의해 제어될 수 있다.
프로그램 동작 시 제어라인(250n)에는 하이 레벨의 신호가 인가되어 스위칭 트랜지스터(Mmn, Mmn,1, ..., Mmn,k)를 턴온한다.
이에 따라 제 1 워드라인(230m)은 플로팅 게이트 트랜지스터(Fmn,p)의 소스와 연결되고 제 2 워드라인(230m,p)은 플로팅 게이트 트랜지스터(Fmn,p)의 게이트와 연결된다.
플로팅 게이트 트랜지스터(Fmn,p)의 플로팅 게이트에 전하를 주입하거나 전하를 제거하는 동작은 종래에 잘 알려진 바와 같다.
즉 제 1 워드라인(230m)을 접지한 상태에서 제 2 워드라인(230m,p)에 양(+)의 고전압을 인가함으로써 플로팅 게이트 트랜지스터(Fmn,p)의 플로팅 게이트에 전자가 주입되고 반대로 제 2 워드라인(230m,p)에 음의 고전압을 인가함으로써 플로팅 게이트 트랜지스터(Fmn,p)의 플로팅 게이트로부터 전자를 제거할 수 있다.
플로팅 게이트에 전자가 주입되는 경우 플로팅 게이트 트랜지스터의 문턱 전압이 높아지는 효과가 있다.
연산 동작 역시 매트릭스 제어 회로(300)에 의해 제어될 수 있다.
연산 동작은 플로팅 게이트 트랜지스터(Fmn,p)를 프로그램한 결과를 이용하여 NMOS 트랜지스터(Nmn,p)의 게이트 전압을 조절함으로써 NMOS 트랜지스터(Nmn,p)의 온오프를 결정하고 이에 따라 플레이트 라인(220m)과 비트라인(240n) 사이에 연결되는 커패시터를 결정하게 된다.
연산 동작 시 제어라인(250n)에는 하이 레벨의 신호가 인가되어 스위칭 트랜지스터(Mmn, Mmn,1, ..., Mmn,k)를 턴온한다.
연산 동작 시 제 1 및 제 2 워드라인(230m, 230m,1, ..., 230m,k)에는 전원 전압(VDD)이 인가된다.
이에 따라 플로팅 게이트에 전자가 주입된 플로팅 게이트 트랜지스터는 턴온되지 못하여 대응하는 NMOS 트랜지스터 역시 턴온되지 않고, 플로팅 게이트에 전자가 주입되지 않은 플로팅 게이트 트랜지스터는 턴온되어 대응하는 NMOS 트랜지스터를 턴온하여 대응하는 커패시터가 플레이트 라인과 비트라인 사이에 연결된다.
연산 셀(210mn)에서 플로팅 게이트에 전자가 주입되지 않은 플로팅 게이트 트랜지스터에 대응하는 커패시터의 용량합 즉 연산 셀(210mn)의 유효 용량(Cmn)은 매트릭스의 (m,n)번 원소의 값에 대응한다.
연산 셀(210mn)에 포함되는 커패시터의 개수(k)를 증가시켜 유효 용량을 더욱 다양하게 결정할 수 있다. 연산 셀(210mn)에 포함되는 커패시터의 용량은 모두 동일하게 설정할 수도 있고 다양하게 설정할 수도 있다. 이들은 통상의 기술자에 의해 설계 변경될 수 있다.
각 연산 셀(210mn)에서의 연산 결과는 플레이트 라인(230m)에 입력된 입력 전압(Vxm)과 유효 용량(Cmn)의 곱에 대응하며 이는 커패시터에 충전되는 전하량에 대응한다.
비트라인(240n)과 제어라인(250n)은 동일한 열에 있는 다수의 연산 셀에 공통되므로 프로그램 동작과 연산 동작은 열 단위로 함께 수행될 수 있다.
또한 연산 동작이 열 단위로 수행됨으로써 입력 벡터와 매트릭스의 n번째 열 벡터의 내적에 대응하는 양의 전하가 n번 비트라인(240n)에서 출력될 수 있다.
도 7은 본 발명의 일 실시예에 의한 매트릭스 제어 회로(300)를 나타내는 블록도이다.
매트릭스 제어 회로(300)는 연산 셀 어레이(200)에 포함된 다수의 연산 셀에 대해서 전술한 바와 같이 플로팅 게이트 트랜지스터를 프로그램하여 각 연산 셀에 대응하는 유효 용량을 결정한다.
매트릭스 제어 회로(300)는 프로그램 동작과 연산 동작을 수행하는 열을 선택하기 위하여 다수의 열 선택 신호(Vsn)를 제공하고, 제 1 및 제 2 워드라인 전압(Vwm, Vwm,p)을 제공한다.
매트릭스 제어 회로(300)는 동작 모드(MODE)를 지정받아 프로그램 동작 또는 연산 동작을 수행할 수 있고, 각 연산 셀에 대응하는 원소 데이터(DCmn)를 입력받아 프로그램 동작 시 제 1 워드라인 전압(Vwm) 및 제 2 워드라인 전압(Vwm,p)을 결정할 수 있다.
원소 데이터(DCmn)에 대응하여 턴온될 NMOS 트랜지스터(Nmn,p)를 결정하는 것은 통상의 기술자에 의해 다양하게 설계 변경될 수 있으며 이에 대응하여 프로그램 동작 시 제공할 제 1 및 제 2 워드라인 전압(Vwm, Vwm,p)의 크기를 결정하는 것은 전술한 개시로부터 통상의 기술자가 용이하게 도출할 수 있는 것이므로 이들에 대한 구체적인 설명은 생략한다.
열 선택 신호(Vsn)의 레벨을 조절함으로써 프로그램 동작 또는 연산 동작을 수행할 열을 결정할 수 있다.
연산 제어 회로(500)는 프로그램 동작 또는 연산 동작을 수행하도록 매트릭스 제어 회로(300)를 제어할 수 있다.
도 8은 본 발명의 일 실시예에 의한 벡터 출력 회로(400)를 나타내는 블록도이다.
벡터 출력 회로(400)는 다수의 원소 출력 회로(410n)를 포함한다.
전술한 바와 같이 비트라인(240n)에서 출력되는 전하량(Qn)은 입력 벡터와 매트릭스의 n번째 열 벡터의 내적에 대응한다.
원소 출력 회로(410n)는 전하량(Qn)을 입력 벡터와 매트릭스의 n번째 열 벡터의 내적에 대응하는 출력 전압(Vhn)으로 변환하여 출력한다.
도 9는 본 발명의 일 실시예에 의한 원소 출력 회로(410n)를 나타내는 회로도이다.
원소 출력 회로(410n)는 샘플링 커패시터(Csn), 샘플링 스위치(411n), 변환 스위치(412n), 변환 회로(413n)를 포함한다.
본 실시예에서 샘플링 스위치(411n)는 샘플링 스위치 제어 신호(S2n)에 따라 온오프가 제어되고, 변환 스위치(412n)는 변환 스위치 제어 신호(S3n)에 따라 온오프가 제어된다.
본 실시예에서 샘플링 스위치(411n)는 턴오프 상태를 유지하다가 도 4의 입력 스위치(110m)가 턴온되어 도 6의 커패시터(Cmn,1,..., Cmn,k)가 충전된 후 턴온된다.
이에 따라 비트라인(240n)을 통해 전달된 전하(Qn)가 샘플링 커패시터(Csn)에 충전된다.
이후 샘플링 스위치(411n)가 턴오프되고 변환 스위치(412n)가 턴온되면 변환 회로(413n)는 샘플링 커패시터(Csn)에 충전된 전하에 대응하는 출력 전압(Vhn)을 생성한다.
본 실시예에서 변환 회로(413n)는 연산 증폭기(414n)와 피드백 커패시터(Cfn)를 포함하는 증폭 회로로서 샘플링 커패시터(Csn)와 피드백 커패시터(Cfn)의 용량에 대응하는 출력 전압(Vhn)을 생성하고 이를 버퍼링한다.
이와 같이 변환 회로(413n)를 포함하는 원소 출력 회로(410n)는 출력 전압(Vhn)이 입력 벡터와 매트릭스의 n번째 열 벡터의 내적에 대응하는 값을 가지도록 신호를 조절한다.
도 10은 본 발명의 일 실시예에 의한 반도체 장치(1000)의 블록도이다.
본 발명의 일 실시예에 의한 반도체 장치(1000)는 디램 등의 반도체 메모리 장치와 유사한 구조를 가진다.
이에 따라 반도체 장치(1000)는 명령 디코더(2)와 데이터 입출력 버퍼(3)를 포함한다.
본 발명의 일 실시예에 의한 반도체 장치(1000)는 연산 회로(1), DAC(Digital to Analog Converter, 4), 원소 버퍼(5), ADC(Analog to Digital Converter, 6)를 더 포함한다.
연산 회로(1)의 구성 및 동작은 전술한 바와 같으므로 개시를 생략한다.
명령 디코더(2)는 명령 및 주소에 따라 연산 회로(1), 데이터 입출력 버퍼(3), DAC(4), 원소 버퍼(5) 및 ADC(6)를 제어한다.
명령 디코더(2)는 메모리 컨트롤러로부터 명령, 주소를 제공받는다.
이때 명령은 읽기 명령, 쓰기 명령(프로그램 명령), 연산 명령 등을 포함할 수 있다.
쓰기 명령은 입력 벡터를 쓰는 명령과 매트릭스를 쓰는 명령을 포함한다.
입력 벡터를 쓰는 명령을 수행하여 입력 벡터에 포함된 원소에 대응하는 입력 데이터(Dxm)를 데이터 입출력 버퍼(3)에 제공할 수 있다.
이때 주소는 입력 벡터의 원소 번호에 대응하는 정보를 포함할 수 있다.
본 실시예에서 입력 데이터(Dxm)는 디지털 신호로서 명령 디코더(2)는 벡터 쓰기 명령이 제공되는 경우 DAC(4)를 제어하여 입력 데이터(Dxm)에 대응하는 입력 전압(Vxm)을 생성하여 연산 회로(1)에 제공한다.
벡터 입력 회로(1)는 입력된 전압(Vxm)을 버퍼(120m)를 이용하여 유지할 수 있다.
매트릭스를 쓰는 명령을 수행하여 매트릭스에 포함된 원소에 대응하는 원소 데이터(DCmn)를 원소 버퍼(5)에 제공할 수 있다.
이때 주소는 매트릭스의 원소에 대응하는 행 번호 및 열 번호를 포함할 수 있다.
연산 회로(1)는 원소 버퍼(5)에서 제공되는 원소 데이터(DCmn)와 명령 디코더(2)에서 제공되는 명령 및 주소에 따라 연산 셀 어레이(200)에 포함된 다수의 플로팅 게이트 트랜지스터를 프로그램한다.
연산 명령은 현재 입력된 입력 벡터와 매트릭스의 곱셈 명령을 지시한다.
이에 따라 명령 디코더(2)는 연산 회로(1)를 제어하여 연산 동작을 진행한다.
연산 동작을 진행하는 경우 열 선택 신호(Vsn)와 제 1 및 제 2 워드라인 전압(Vwm, Vwm, p)이 인가되면 플로팅 게이트 트랜지스터의 플로팅 게이트에 전하가 주입되었는지에 따라 연산 셀(210mn)의 유효 용량(Cmn)이 결정된다.
연산 동작은 먼저 도 9의 샘플링 스위치(411n)를 턴오프 한 상태에서 도 4의 입력 스위치(110m)를 턴온하여 입력 전압(Vxm)에 따라 커패시터(Cmn,p)를 충전한다.
이후 샘플링 스위치(411n)를 턴온하여 비트라인(240n)에서 제공되는 전하(Qn)에 따라 샘플링 커패시터(Csn)를 충전한다.
이후 샘플링 스위치(411n)를 턴오프하고 변환 스위치(412n)를 턴온하여 출력 전압(Vhn)을 생성한다.
읽기 명령은 출력 벡터의 각 원소에 대응하는 출력 전압(Vhn)을 출력하는 동작에 대응한다.
읽기 명령 시 주소는 출력 벡터의 원소 번호에 대응할 수 있다.
읽기 명령이 제공되는 경우 원소 번호에 대응하는 출력 전압(Vhn)을 연산 회로(1)에서 제공받고 이를 ADC(6)에서 출력 데이터(Dhn)로 변환하여 데이터 입출력 버퍼(3)를 통해 출력할 수 있다.
본 발명의 권리범위는 이상의 개시로 한정되는 것은 아니다. 본 발명의 권리범위는 청구범위에 문언적으로 기재된 범위와 그 균등범위를 기준으로 해석되어야 한다.
1: 연산 회로
100: 벡터 입력 회로
200: 연산 셀 어레이
300: 매트릭스 제어 회로
400: 벡터 출력 회로
500: 연산 제어 회로
1000: 반도체 장치
2: 명령 디코더
3: 데이터 입출력 버퍼
4: DAC
5: 원소 버퍼
6: ADC
100: 벡터 입력 회로
200: 연산 셀 어레이
300: 매트릭스 제어 회로
400: 벡터 출력 회로
500: 연산 제어 회로
1000: 반도체 장치
2: 명령 디코더
3: 데이터 입출력 버퍼
4: DAC
5: 원소 버퍼
6: ADC
Claims (20)
- 매트릭스에 포함된 다수의 원소에 대응하는 다수의 유효 용량을 설정하여 저장하는 연산 셀 어레이;
상기 연산 셀 어레이에 입력 벡터에 대응하는 다수의 입력 전압을 제공하는 벡터 입력 회로; 및
상기 다수의 입력 전압과 상기 다수의 유효 용량의 조합에 의해 상기 입력 벡터와 상기 매트릭스에 포함된 다수의 열 벡터의 내적에 대응하는 다수의 출력 전압을 출력하는 벡터 출력 회로
를 포함하는 연산 회로. - 청구항 1에 있어서, 상기 연산 셀 어레이는
다수의 연산 셀;
다수의 플레이트 라인; 및
다수의 비트라인;
을 포함하되,
상기 다수의 연산 셀 중 어느 하나의 연산 셀은 상기 다수의 플레이트 라인 중 어느 하나의 플레이트 라인과 상기 다수의 비트라인 중 어느 하나의 비트라인이 교차하는 지점에 위치하고,
상기 어느 하나의 연산 셀은 상기 어느 하나의 플레이트 라인과 상기 어느 하나의 비트라인 사이에 선택적으로 연결되는 다수의 커패시터를 포함하며,
상기 어느 하나의 플레이트 라인과 상기 어느 하나의 비트라인 사이의 유효 용량은 상기 매트릭스에 포함된 다수의 원소 중 어느 하나의 원소의 값에 대응하는 연산 회로. - 청구항 2에 있어서, 상기 어느 하나의 연산 셀은
상기 다수의 커패시터를 상기 어느 하나의 플레이트 라인과 상기 어느 하나의 비트라인 사이에 선택적으로 연결시키는 다수의 MOS 트랜지스터; 및
상기 다수의 MOS 트랜지스터의 온오프를 결정하는 다수의 비휘발성 트랜지스터
를 포함하는 연산 회로. - 청구항 3에 있어서, 상기 연산 셀 어레이는 상기 매트릭스의 행 개수에 대응하는 다수의 제 1 워드라인을 더 포함하고,
상기 다수의 비휘발성 트랜지스터는 상기 다수의 제 1 워드라인 중 어느 하나의 제 1 워드라인은 상기 다수의 MOS 트랜지스터 중 대응하는 MOS 트랜지스터의 게이트에 연결되는 연산 회로. - 청구항 4에 있어서, 상기 연산 셀 어레이는 다수의 제 2 워드라인을 더 포함하고,
상기 다수의 비휘발성 트랜지스터 중 어느 하나의 비휘발성 트랜지스터의 게이트에는 상기 다수의 제 2 워드라인 중 어느 하나의 제 2 워드라인의 전압이 인가되어 상기 어느 하나의 비휘발성 트랜지스터의 상태를 프로그램하는 연산 회로. - 청구항 5에 있어서, 상기 연산 셀 어레이는 다수의 제어라인을 더 포함하고,
상기 연산 셀은 상기 다수의 제어라인 중 어느 하나의 제어라인에 인가된 신호에 의해 상기 어느 하나의 제 1 워드라인과 상기 다수의 비휘발성 트랜지스터를 선택적으로 연결하는 트랜지스터와 상기 어느 하나의 제어라인에 인가된 신호에 의해 상기 다수의 비휘발성 트랜지스터의 게이트와 상기 다수의 제 2 워드라인을 선택적으로 연결하는 다수의 트랜지스터를 더 포함하는 연산 회로. - 청구항 2에 있어서, 상기 벡터 출력 회로는 다수의 원소 출력 회로를 포함하되, 상기 다수의 원소 출력 회로 중 어느 하나의 원소 출력 회로는 상기 어느 하나의 비트라인에서 제공된 신호로부터 상기 다수의 출력 전압 중 어느 하나의 출력 전압을 생성하는 연산 회로.
- 청구항 7에 있어서, 상기 어느 하나의 원소 출력 회로는
상기 어느 하나의 비트라인에 연결되는 샘플링 커패시터; 및
상기 샘플링 커패시터에 충전된 전하에 따라 상기 어느 하나의 출력 전압을 생성하는 변환 회로;
를 포함하는 연산 회로. - 청구항 8에 있어서, 상기 어느 하나의 원소 출력 회로는
상기 어느 하나의 비트라인과 상기 샘플링 커패시터를 선택적으로 연결하는 샘플링 스위치; 및
상기 샘플링 커패시터의 전하를 상기 변환 회로에 선택적으로 제공하는 변환 스위치
를 더 포함하는 연산 회로. - 청구항 1에 있어서, 상기 벡터 입력 회로는
다수의 입력 전압을 버퍼링하는 다수의 입력 버퍼; 및
상기 다수의 입력 버퍼의 전압을 선택적으로 상기 연산 셀 어레이에 제공하는 다수의 입력 스위치
를 포함하는 연산 회로. - 청구항 1에 있어서, 상기 연산 셀 어레이에 상기 매트릭스의 다수의 원소에 대응하는 다수의 유효 용량을 설정하는 매트릭스 제어 회로를 더 포함하는 연산 회로.
- 명령 및 주소를 입력받는 명령 디코더;
상기 명령 디코더의 제어에 따라 데이터를 입출력하는 데이터 입출력 버퍼; 및
상기 명령 디코더의 제어에 따라 상기 데이터 입출력 버퍼를 통해 제공된 입력 벡터와 매트릭스의 곱에 대응하는 다수의 출력 전압을 생성하는 연산 회로;
를 포함하는 반도체 장치. - 청구항 12에 있어서, 상기 명령 디코더의 제어에 따라 상기 데이터 입출력 버퍼로부터 상기 입력 벡터의 원소에 대응하는 입력 전압을 생성하여 상기 연산 회로에 제공하는 DAC를 더 포함하는 반도체 장치.
- 청구항 12에 있어서, 상기 명령 디코더의 제어에 따라 상기 다수의 출력 전압을 다수의 출력 데이터로 변환하여 상기 데이터 입출력 버퍼에 제공하는 ADC를 더 포함하는 반도체 장치.
- 청구항 12에 있어서, 상기 명령 디코더의 제어에 따라 상기 매트릭스에 포함되는 원소에 대응하는 원소 데이터를 상기 데이터 입출력 버퍼로부터 제공받아 버퍼링하는 원소 버퍼를 더 포함하는 반도체 장치.
- 청구항 12에 있어서, 상기 연산 회로는
상기 매트릭스에 포함된 다수의 원소에 대응하는 다수의 유효 용량을 설정하여 저장하는 연산 셀 어레이;
상기 연산 셀 어레이에 입력 벡터에 대응하는 다수의 입력 전압을 제공하는 벡터 입력 회로; 및
상기 다수의 입력 전압과 상기 다수의 유효 용량의 조합에 의해 상기 입력 벡터와 상기 매트릭스에 포함된 다수의 열 벡터의 내적에 대응하는 다수의 출력 전압을 출력하는 벡터 출력 회로
를 포함하는 반도체 장치. - 청구항 16에 있어서, 상기 연산 셀 어레이는
다수의 연산 셀;
다수의 플레이트 라인; 및
다수의 비트라인;
을 포함하되,
상기 다수의 연산 셀 중 어느 하나의 연산 셀은 상기 다수의 플레이트 라인 중 어느 하나의 플레이트 라인과 상기 다수의 비트라인 중 어느 하나의 비트라인이 교차하는 지점에 위치하고,
상기 어느 하나의 연산 셀은 상기 어느 하나의 플레이트 라인과 상기 어느 하나의 비트라인 사이에 선택적으로 연결되는 다수의 커패시터를 포함하며,
상기 어느 하나의 플레이트 라인과 상기 어느 하나의 비트라인 사이의 유효 용량 값은 상기 매트릭스에 포함된 어느 하나의 원소의 값에 대응하는 반도체 장치. - 청구항 17에 있어서, 상기 어느 하나의 연산 셀은
상기 다수의 커패시터를 상기 어느 하나의 플레이트 라인과 상기 어느 하나의 비트라인 사이에 선택적으로 연결시키는 다수의 MOS 트랜지스터; 및
상기 다수의 MOS 트랜지스터의 온오프를 결정하는 다수의 비휘발성 트랜지스터
를 포함하는 반도체 장치 - 청구항 17에 있어서, 상기 어느 하나의 원소 출력 회로는
상기 어느 하나의 비트라인에 연결되는 샘플링 커패시터; 및
상기 샘플링 커패시터에 충전된 전하에 따라 상기 어느 하나의 출력 전압을 생성하는 변환 회로;
를 포함하는 반도체 장치. - 청구항 16에 있어서, 상기 벡터 입력 회로는
다수의 입력 전압을 버퍼링하는 다수의 입력 버퍼; 및
상기 다수의 입력 버퍼의 전압을 선택적으로 상기 연산 셀 어레이에 제공하는 다수의 입력 스위치
를 포함하는 반도체 장치.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190077865A KR20210001574A (ko) | 2019-06-28 | 2019-06-28 | 벡터-매트릭스 곱셈을 수행하는 연산 회로 및 이를 포함하는 반도체 장치 |
US16/822,643 US11455371B2 (en) | 2019-06-28 | 2020-03-18 | Computation circuit for performing vector-matrix multiplication and semiconductor device including the computation circuit |
CN202010290818.7A CN112149051B (zh) | 2019-06-28 | 2020-04-14 | 执行向量-矩阵乘法的计算电路和包括其的半导体器件 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190077865A KR20210001574A (ko) | 2019-06-28 | 2019-06-28 | 벡터-매트릭스 곱셈을 수행하는 연산 회로 및 이를 포함하는 반도체 장치 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20210001574A true KR20210001574A (ko) | 2021-01-06 |
Family
ID=73891409
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020190077865A KR20210001574A (ko) | 2019-06-28 | 2019-06-28 | 벡터-매트릭스 곱셈을 수행하는 연산 회로 및 이를 포함하는 반도체 장치 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11455371B2 (ko) |
KR (1) | KR20210001574A (ko) |
CN (1) | CN112149051B (ko) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20210034172A (ko) * | 2019-09-20 | 2021-03-30 | 에스케이하이닉스 주식회사 | Mac 연산 동작을 수행하는 반도체 장치 |
TWI789589B (zh) * | 2020-02-04 | 2023-01-11 | 旺宏電子股份有限公司 | 脈衝神經網路電路及其運作方法 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101794210A (zh) * | 2010-04-07 | 2010-08-04 | 上海交通大学 | 基于fpga的通用矩阵浮点乘法器 |
JP6405612B2 (ja) * | 2013-10-03 | 2018-10-17 | 富士通セミコンダクター株式会社 | 強誘電体メモリ装置及びメモリ書き込み方法 |
US9747546B2 (en) * | 2015-05-21 | 2017-08-29 | Google Inc. | Neural network processor |
US10496855B2 (en) * | 2016-01-21 | 2019-12-03 | Hewlett Packard Enterprise Development Lp | Analog sub-matrix computing from input matrixes |
CN107533668B (zh) * | 2016-03-11 | 2021-01-26 | 慧与发展有限责任合伙企业 | 用于计算神经网络的节点值的硬件加速器和方法 |
CN106528357A (zh) * | 2016-11-24 | 2017-03-22 | 天津大学 | 基于拟牛顿法在线训练神经网络的fpga系统及实现方法 |
CN106775599B (zh) * | 2017-01-09 | 2019-03-01 | 南京工业大学 | 递归神经网络的多计算单元粗粒度可重构系统及方法 |
US10127494B1 (en) * | 2017-08-02 | 2018-11-13 | Google Llc | Neural network crossbar stack |
JP6368845B1 (ja) * | 2017-12-05 | 2018-08-01 | 華邦電子股▲ふん▼有限公司Winbond Electronics Corp. | メモリデバイス |
CN108710505A (zh) * | 2018-05-18 | 2018-10-26 | 南京大学 | 一种基于fpga的可扩展稀疏矩阵向量乘处理器 |
CN109086249B (zh) * | 2018-08-02 | 2023-10-20 | 北京知存科技有限公司 | 模拟向量-矩阵乘法运算电路 |
US11061646B2 (en) * | 2018-09-28 | 2021-07-13 | Intel Corporation | Compute in memory circuits with multi-Vdd arrays and/or analog multipliers |
US10642922B2 (en) * | 2018-09-28 | 2020-05-05 | Intel Corporation | Binary, ternary and bit serial compute-in-memory circuits |
US12118056B2 (en) * | 2019-05-03 | 2024-10-15 | Micron Technology, Inc. | Methods and apparatus for performing matrix transformations within a memory array |
-
2019
- 2019-06-28 KR KR1020190077865A patent/KR20210001574A/ko unknown
-
2020
- 2020-03-18 US US16/822,643 patent/US11455371B2/en active Active
- 2020-04-14 CN CN202010290818.7A patent/CN112149051B/zh active Active
Non-Patent Citations (2)
Title |
---|
Shimeng Yu, Zhiwei Li, Pai-Yu Chen, Huaqiang Wu, Bin Gao, Deli Wang, Wei Wu, He Qian, "Binary neural network with 16 Mb RRAM macro chip for classification and online training", Electron Devices Meeting (IEDM) 2016 IEEE International, pp. 16.2.1-16.2.4, 2016. |
Takamaeda-Yamazaki S., "Energy-Efficient In-Memory Neural Network Processor," The 17th International Forum on MPSoC for Software-defined Hardware (MPSoC 2017), Les Tresoms Hotel, Annecy, France (Jul. 2-7, 2017). |
Also Published As
Publication number | Publication date |
---|---|
CN112149051B (zh) | 2024-03-26 |
US11455371B2 (en) | 2022-09-27 |
US20200410040A1 (en) | 2020-12-31 |
CN112149051A (zh) | 2020-12-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11663457B2 (en) | Neural network circuits having non-volatile synapse arrays | |
US11842770B2 (en) | Circuit methodology for highly linear and symmetric resistive processing unit | |
US11875249B2 (en) | Counter based resistive processing unit for programmable and reconfigurable artificial-neural-networks | |
JP7119109B2 (ja) | 重み更新回路および推論回路を別個に有する抵抗型処理ユニット・アーキテクチャ | |
CN112585623B (zh) | 用于深度学习神经网络的可配置模拟神经存储器系统 | |
US11544540B2 (en) | Systems and methods for neural network training and deployment for hardware accelerators | |
CN110729011B (zh) | 用于类神经网路的存储器内运算装置 | |
KR102218740B1 (ko) | 트랜스포즈가 가능한 가중치 셀 및 이의 어레이 | |
CN111581141B (zh) | 存储器装置及其操作方法 | |
US10783963B1 (en) | In-memory computation device with inter-page and intra-page data circuits | |
US11797833B2 (en) | Competitive machine learning accuracy on neuromorphic arrays with non-ideal non-volatile memory devices | |
WO2023142883A1 (zh) | 存算一体运算方法、忆阻器神经网络芯片及存储介质 | |
KR20210001574A (ko) | 벡터-매트릭스 곱셈을 수행하는 연산 회로 및 이를 포함하는 반도체 장치 | |
CN112396176B (zh) | 一种硬件神经网络批归一化系统 | |
KR102448396B1 (ko) | 가중치 비트폭을 탄력적으로 적용할 수 있는 커패시턴스 기반 뉴럴 네트워크 | |
CN111243648A (zh) | 闪存单元、闪存模块以及闪存芯片 | |
KR20210034172A (ko) | Mac 연산 동작을 수행하는 반도체 장치 | |
CN117831589B (zh) | 一种基于rram的高密度数模混合存算阵列 | |
KR20240147444A (ko) | 업데이트 셀과 이를 포함하는 뉴로모픽 회로 및 뉴로모픽 회로의 동작 방법 | |
CN114761973A (zh) | 电容性处理单元 | |
CN117808062A (zh) | 计算装置、电子装置以及用于计算装置的操作方法 | |
JPS63261874A (ja) | 半導体集積回路 |