KR20210052059A - Semiconductor device - Google Patents
Semiconductor device Download PDFInfo
- Publication number
- KR20210052059A KR20210052059A KR1020190138114A KR20190138114A KR20210052059A KR 20210052059 A KR20210052059 A KR 20210052059A KR 1020190138114 A KR1020190138114 A KR 1020190138114A KR 20190138114 A KR20190138114 A KR 20190138114A KR 20210052059 A KR20210052059 A KR 20210052059A
- Authority
- KR
- South Korea
- Prior art keywords
- signal
- output
- input
- semiconductor device
- selection signal
- Prior art date
Links
Images
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
Abstract
Description
본 발명은 신경망(Neural Network)을 제공할 수 있는 반도체장치에 관한 것이다.The present invention relates to a semiconductor device capable of providing a neural network.
신경망(Neural Network)에서 인간의 뇌와 유사하게 수학적 모델로서의 뉴런이 상호 연결되어 네트워크를 형성한다. 최근 신경망 기술이 발전함에 따라 다양한 종류의 전자장치에서 신경망 기술을 사용하여 입력 데이터를 분석하고 유효한 정보를 추출하는 연구가 활발히 진행되고 있다.In a neural network, similar to the human brain, neurons as a mathematical model are interconnected to form a network. With the recent development of neural network technology, researches on analyzing input data and extracting valid information using neural network technology in various types of electronic devices have been actively conducted.
본 발명은 신경망 제공할 수 있는 반도체장치를 제공한다.The present invention provides a semiconductor device capable of providing a neural network.
이를 위해 본 발명은 내부제어신호를 디코딩하여 테이블설정신호, 입력선택신호 및 테이블입력신호를 생성하는 제어신호디코더; 제1 테이블저장회로를 포함하고, 상기 테이블설정신호가 활성화될 때 상기 제1 테이블저장회로에 포함된 가변래치들 중 상기 입력선택신호를 토대로 선택된 가변래치에 상기 테이블입력신호를 룩업테이블 형식으로 저장하고, 출력선택신호를 토대로 상기 룩업테이블에 의해 구현된 제1 액티베이션함수의 결과값을 추출하여 출력분포신호를 생성하기 위한 제1 테이블출력신호로 출력하는 액티베이션처리회로를 포함하는 반도체장치를 제공한다.To this end, the present invention includes a control signal decoder for decoding an internal control signal to generate a table setting signal, an input selection signal, and a table input signal; Includes a first table storage circuit, and stores the table input signal in a lookup table format in a variable latch selected based on the input selection signal among variable latches included in the first table storage circuit when the table setting signal is activated And, it provides a semiconductor device including an activation processing circuit for extracting the result value of the first activation function implemented by the lookup table based on the output selection signal and outputting the output as a first table output signal for generating an output distribution signal. .
또한, 본 발명은 내부데이터를 디코딩하여 테이블설정신호, 입력선택신호 및 테이블입력신호를 생성하는 제어신호디코더; 제1 테이블저장회로를 포함하고, 상기 테이블설정신호가 활성화될 때 상기 제1 테이블저장회로에 포함된 가변래치들 중 상기 입력선택신호를 토대로 선택된 가변래치에 상기 테이블입력신호를 룩업테이블 형식으로 저장하고, 출력선택신호를 토대로 상기 룩업테이블에 의해 구현된 제1 액티베이션함수의 결과값을 추출하여 출력분포신호를 생성하기 위한 제1 테이블출력신호로 출력하는 액티베이션처리회로를 포함하는 반도체장치를 제공한다.In addition, the present invention is a control signal decoder for decoding the internal data to generate a table setting signal, an input selection signal and a table input signal; Includes a first table storage circuit, and stores the table input signal in a lookup table format in a variable latch selected based on the input selection signal among variable latches included in the first table storage circuit when the table setting signal is activated And, it provides a semiconductor device including an activation processing circuit for extracting the result value of the first activation function implemented by the lookup table based on the output selection signal and outputting the output as a first table output signal for generating an output distribution signal. .
또한, 본 발명은 모드레지스테셋을 통해 테이블설정신호, 입력선택신호 및 테이블입력신호를 저장하는 모드레지스터; 및 제1 테이블저장회로를 포함하고, 상기 테이블설정신호가 활성화될 때 상기 제1 테이블저장회로에 포함된 가변래치들 중 상기 입력선택신호를 토대로 선택된 가변래치에 상기 테이블입력신호를 룩업테이블 형식으로 저장하고, 출력선택신호를 토대로 상기 룩업테이블에 의해 구현된 제1 액티베이션함수의 결과값을 추출하여 출력분포신호를 생성하기 위한 제1 테이블출력신호로 출력하는 액티베이션처리회로를 포함하는 반도체장치를 제공한다.In addition, the present invention includes a mode register for storing a table setting signal, an input selection signal, and a table input signal through a mode register set; And a first table storage circuit, wherein when the table setting signal is activated, the table input signal is transferred to a variable latch selected based on the input selection signal among variable latches included in the first table storage circuit in a lookup table format. Provides a semiconductor device including an activation processing circuit that stores and extracts the result value of the first activation function implemented by the lookup table based on the output selection signal and outputs it as a first table output signal for generating an output distribution signal. do.
본 발명에 의하면 신경망에서 사용되는 액티베이션함수(activation function)에 대한 정보를 커맨드, 어드레스 및 데이터 중 적어도 하나로 입력받아 룻업테이블(Look Up Table) 형식으로 저장함으로써, 다양하게 설정된 액티베이션함수를 설계변경 없이 신경망에 적용할 수 있는 효과가 있다.According to the present invention, by receiving information on an activation function used in a neural network as at least one of a command, an address, and data and storing it in a look up table format, various set activation functions can be stored in a neural network without design change. There is an effect that can be applied to.
본 발명에 의하면 신경망에서 사용되는 액티베이션함수에 대한 정보를 모드레지스터에 저장된 정보를 이용하여 룻업테이블(Look Up Table) 형식으로 저장함으로써, 다양하게 설정된 액티베이션함수를 설계변경 없이 신경망에 적용할 수 있는 효과도 있다.According to the present invention, variously set activation functions can be applied to neural networks without design change by storing information on activation functions used in neural networks in a Look Up Table format using information stored in a mode register. There is also.
도 1은 본 발명의 일 실시예에 따른 반도체장치의 구성을 도시한 블록도이다.
도 2는 도 1에 도시된 반도체장치에 포함된 출력선택신호생성회로의 일 실시예에 따른 구성을 도시한 블록도이다.
도 3은 도 1에 도시된 반도체장치에 포함된 액티베이션처리회로의 일 실시예에 따른 구성을 도시한 블록도이다.
도 4는 도 3에 도시된 액티베이션처리회로에 포함된 제1 테이블저장회로의 일 실시예에 따른 구성을 도시한 도면이다.
도 5 및 도 6은 도 4에 도시된 제1 테이블저장회로에 포함된 테이블출력회로의 실시예들을 도시한 회로도들이다.
도 7은 도 3에 도시된 액티베이션처리회로에 포함된 제2 테이블저장회로의 일 실시예에 따른 구성을 도시한 도면이다.
도 8은 본 발명의 다른 실시예에 따른 반도체장치의 구성을 도시한 블록도이다.
도 9는 본 발명의 또 다른 실시예에 따른 반도체장치의 구성을 도시한 블록도이다.
도 10은 도 1에 도시된 반도체장치가 적용된 전자시스템의 일 실시예에 따른 구성을 도시한 도면이다.1 is a block diagram showing the configuration of a semiconductor device according to an embodiment of the present invention.
FIG. 2 is a block diagram illustrating a configuration of an output selection signal generation circuit included in the semiconductor device shown in FIG. 1 according to an embodiment.
3 is a block diagram illustrating a configuration of an activation processing circuit included in the semiconductor device shown in FIG. 1 according to an embodiment.
FIG. 4 is a diagram illustrating a configuration of a first table storage circuit included in the activation processing circuit shown in FIG. 3 according to an embodiment.
5 and 6 are circuit diagrams illustrating exemplary embodiments of a table output circuit included in the first table storage circuit shown in FIG. 4.
7 is a diagram illustrating a configuration of a second table storage circuit included in the activation processing circuit shown in FIG. 3 according to an embodiment.
8 is a block diagram showing the configuration of a semiconductor device according to another embodiment of the present invention.
9 is a block diagram showing the configuration of a semiconductor device according to another embodiment of the present invention.
10 is a diagram illustrating a configuration according to an embodiment of an electronic system to which the semiconductor device shown in FIG. 1 is applied.
이하, 실시예를 통하여 본 발명을 더욱 상세히 설명하기로 한다. 이들 실시예는 단지 본 발명을 예시하기 위한 것이며, 본 발명의 권리 보호 범위가 이들 실시예에 의해 제한되는 것은 아니다. Hereinafter, the present invention will be described in more detail through examples. These examples are for illustrative purposes only, and the scope of rights protection of the present invention is not limited by these examples.
도 1에 도시된 바와 같이, 본 발명의 일 실시 예에 따른 반도체시스템(1)은 컨트롤러(11) 및 반도체장치(13)를 포함할 수 있다. 컨트롤러(11)는 제어신호(CA<1:L>), 클럭(CLK) 및 데이터(DATA)를 반도체장치(13)에 인가할 수 있다. 반도체장치(13)는 제어신호입력회로(131), 클럭입력회로(133), 제어신호디코더(135), 모드레지스터(139), 출력선택신호생성회로(141), 데이터입력회로(143), 제1 데이터라인(145), 코어회로(147), 제2 데이터라인(149) 및 액티베이션처리회로(151)를 포함할 수 있다.As shown in FIG. 1, a
제어신호입력회로(131)는 제어신호(CA<1:L>)로부터 내부제어신호(ICA<1:L>)를 생성할 수 있다. 제어신호입력회로(131)는 제어신호(CA<1:L>)를 버퍼링하여 내부제어신호(ICA<1:L>)를 생성할 수 있다. 제어신호(CA<1:L>)는 커맨드 및 어드레스를 포함할 수 있다. 제어신호(CA<1:L>)에 포함된 비트 수(L)는 실시예에 따라서 다양하게 설정될 수 있다.The control
클럭입력회로(133)는 클럭(CLK)으로부터 내부클럭(ICLK)을 생성할 수 있다. 클럭입력회로(133)는 클럭(CLK)을 버퍼링하여 내부클럭(ICLK)을 생성할 수 있다. 실시예에 따라서, 클럭입력회로(133)는 클럭(CLK)을 분주하여 내부클럭(ICLK)을 생성할 수 있다. The
제어신호디코더(135)는 제1 디코더(136) 및 제2 디코더(137)를 포함할 수 있다. 제어신호디코더(135)는 내부클럭(ICLK) 및 내부제어신호(ICA<1:L>)를 토대로 테이블설정신호(TSC), 입력선택신호(ISEL<1:M>) 및 테이블입력신호(TIN<1:N>)를 생성할 수 있다. 입력선택신호(ISEL<1:M>)의 비트 수(M) 및 테이블입력신호(TIN<1:N>)의 비트 수(N)는 실시예에 따라서 다양하게 설정될 수 있다.The
제1 디코더(136)는 내부클럭(ICLK) 및 내부제어신호(ICA<1:L>)를 토대로 테이블설정신호(TSC)를 생성할 수 있다. 제1 디코더(136)는 내부클럭(ICLK)에 동기하여 입력되는 내부제어신호(ICA<1:L>)를 디코딩하여 테이블설정신호(TSC)를 생성할 수 있다. 테이블설정신호(TSC)는 신경망에서 사용되는 액티베이션함수(activation function)를 룻업테이블(Look Up Table) 형식으로 제1 테이블저장회로(도3의 23)에 저장하기 위해 활성화될 수 있다. 테이블설정신호(TSC)를 활성화하기 위해 입력되는 내부제어신호(ICA<1:L>)에 포함된 비트들의 수 및 로직레벨조합은 실시예에 따라서 다양하게 설정될 수 있다.The
제2 디코더(137)는 내부클럭(ICLK) 및 내부제어신호(ICA<1:L>)를 토대로 입력선택신호(ISEL<1:M>) 및 테이블입력신호(TIN<1:N>)를 생성할 수 있다. 제2 디코더(137)는 내부클럭(ICLK)에 동기하여 입력되는 내부제어신호(ICA<1:L>)를 디코딩하여 입력선택신호(ISEL<1:M>) 및 테이블입력신호(TIN<1:N>)를 생성할 수 있다. 테이블입력신호(TIN<1:N>) 및 입력선택신호(ISEL<1:M>)는 액티베이션함수를 룻업테이 형식으로 제1 테이블저장회로(도3의 23)에 포함된 제1 내지 제N 가변래치(도 4의 33(1:N))에 저장하기 위해 생성될 수 있다. 제1 내지 제N 가변래치(도 4의 33(1:N)) 중 입력선택신호(ISEL<1:M>)에 의해 선택되는 가변래치에 테이블입력신호(TIN<1:N>)를 저장할 수 있다. 테이블입력신호(TIN<1:N>) 및 입력선택신호(ISEL<1:M>)의 로직레벨조합을 설정하기 위해 입력되는 내부제어신호(ICA<1:L>)에 포함된 비트들의 수 및 로직레벨조합은 실시예에 따라서 다양하게 설정될 수 있다.The
모드레지스터(139)는 모드레지스터셋(Mode Register Set)을 통해 함수선택신호(FS<1:J>)를 저장할 수 있다. 모드레지스터(139)는 함수선택신호(FS<1:J>)를 액티베이션처리회로(151)에 인가할 수 있다. 함수선택신호(FS<1:J>)는 신경망회로에 사용되는 다양한 액티베이션함수들 중 하나를 선택하기 위해 생성될 수 있다. 신경망회로에 사용되는 다양한 액티베이션함수들에는 sigmoid, Tanh, ReLu, Leaky ReLU, Maxout 및 제어신호(CA<1:L>)를 토대로 입력된 액티베이션함수 등이 포함될 수 있다. 함수선택신호(FS<1:J>)의 비트 수(J)는 실시예에 따라서 다양하게 설정될 수 있다.The
출력선택신호생성회로(141)는 데이터입력회로(143)와 제1 데이터라인(145)을 통해 연결될 수 있고, 코어회로(147)와 제2 데이터라인(149)을 통해 연결될 수 있다. 출력선택신호생성회로(141)는 데이터입력회로(143) 및 코어회로(147) 중 적어도 하나로부터 제1 입력분포신호(도2의 IDST1<1:K>) 및 제2 입력분포신호(도2의 IDST2<1:K>)를 수신할 수 있다. 출력선택신호생성회로(141)는 데이터입력회로(143)를 통해 제1 입력분포신호(IDST1<1:K>) 및 제2 입력분포신호(IDST2<1:K>)를 수신할 수 있다. 출력선택신호생성회로(141)는 코어회로(147)를 통해 제1 입력분포신호(IDST1<1:K>) 및 제2 입력분포신호(IDST2<1:K>)를 수신할 수 있다. 출력선택신호생성회로(141)는 데이터입력회로(143)를 통해 제1 입력분포신호(IDST1<1:K>)를 수신할 수 있고, 코어회로(147)를 통해 제2 입력분포신호(IDST2<1:K>)를 수신할 수 있다. 출력선택신호생성회로(141)는 코어회로(147)를 통해 제1 입력분포신호(IDST1<1:K>)를 수신할 수 있고, 데이터입력회로(143)를 통해 제2 입력분포신호(IDST2<1:K>)를 수신할 수 있다. 제1 입력분포신호(IDST1<1:K>) 및 제2 입력분포신호(IDST2<1:K>)의 비트 수(K)는 실시예에 따라서 다양하게 설정될 수 있다.The output selection
제1 입력분포신호(IDST1<1:K>) 및 제2 입력분포신호(IDST2<1:K>)는 신경망에서 사용되는 특징값들(feature values) 및 가중치들(weights)로 설정될 수 있다. 제1 입력분포신호(IDST1<1:K>)는 특징값들로 설정되고, 제2 입력분포신호(IDST2<1:K>)는 가중치들로 설정될 수 있다. 실시예에 따라서, 제1 입력분포신호(IDST1<1:K>)는 가중치들로 설정되고, 제2 입력분포신호(IDST2<1:K>)는 특징값들로 설정될 수도 있다. 신경망에서는 입력레이어(Input layer)에 포함된 특징들(features)을 출력레이어(Output lay)에 포함된 결과값들로 분류하기 위해 MAC(Multiply and ACcumulate) 연산동작, 양자화(Quantization) 및 액티베이션함수(activation function) 적용 등의 동작들이 수행될 수 있다. 특징값들은 입력레이어(Input layer)에 포함된 특징들의 수치들일 수 있고, 가중치들(weights)은 입력레이어(Input layer)의 특징들(features)을 출력레이어(Output lay)에 포함된 결과값으로 분류하는데 미치는 영향력의 정도에 대한 수치들로 설정될 수 있다. The first input distribution signal IDST1<1:K> and the second input distribution signal IDST2<1:K> may be set as feature values and weights used in the neural network. . The first input distribution signal IDST1<1:K> may be set as feature values, and the second input distribution signal IDST2<1:K> may be set as weights. According to an embodiment, the first input distribution signal IDST1<1:K> may be set as weights, and the second input distribution signal IDST2<1:K> may be set as feature values. In neural networks, multiply and accumulate (MAC) operations, quantization, and activation functions ( activation function) may be applied. The feature values may be values of features included in the input layer, and weights are the results of the features of the input layer as the result values included in the output layer. It can be set as a measure of the degree of influence it has on the classification.
출력선택신호생성회로(141)는 제1 입력분포신호(IDST1<1:K>) 및 제2 입력분포신호(IDST2<1:K>)를 수신하여 MAC 연산동작 및 양자화를 수행하여 출력선택신호(OSEL<1:T>)를 생성할 수 있다. MAC 연산동작에는 곱셈연산 및 덧셈연산을 포함할 수 있다. 양자화는 계산을 단순화하기 위해 입력신호의 비트들 중 영향력이 큰 일부 비트만을 추출하기 위해 수행될 수 있다. 출력선택신호생성회로(141)의 보다 구체적인 구성 및 동작은 도 2를 참고하여 설명한다.The output selection
액티베이션처리회로(151)는 테이블설정신호(TSC), 입력선택신호(ISEL<1:M>) 및 테이블입력신호(TIN<1:N>)를 토대로 제1 테이블저장회로(도3의 23)에 신경망에서 사용되는 액티베이션함수를 룻업테이블 형식으로 저장할 수 있다. 액티베이션처리회로(151)는 테이블설정신호(TSC)가 활성화될 때 제1 내지 제N 가변래치(도 4의 33(1:N)) 중 입력선택신호(ISEL<1:M>)에 의해 선택되는 가변래치에 테이블입력신호(TIN<1:N>)를 저장할 수 있다. 액티베이션처리회로(151)는 신경망회로에서 사용되는 다양한 액티베이션함수들, 예를 들어, sigmoid, Tanh, ReLu, Leaky ReLU 및 Maxout 등을 하이웨어적으로 내장(hard wired)할 수 있다. 액티베이션처리회로(151)에 내장되는 액티베이션함수들의 수는 다양하게 설정될 수 있다.The
액티베이션처리회로(151)는 함수선택신호(FS<1:J>)를 토대로 다양한 액티베이션함수들 중 하나를 선택할 수 있다. 액티베이션처리회로(151)는 출력선택신호(OSEL<1:T>)를 토대로 함수선택신호(FS<1:J>)에 의해 선택된 액티베이션함수에 의한 결과값을 생성할 수 있다. 액티베이션처리회로(151)는 함수선택신호(FS<1:J>)에 의해 선택된 액티베이션함수가 적용된 룩업테이블에서 출력선택신호(OSEL<1:T>)에 대응하는 결과값을 추출하여 출력분포신호(ODST<1:N>)로 출력할 수 있다. 룩업테이블은 출력선택신호(OSEL<1:T>)에 대응하는 결과값이 저장될 수 있다. 액티베이션처리회로(151)의 보다 구체적인 구성 및 동작은 도 3 내지 도 7을 참고하여 설명한다.The
도 2를 참고하면 출력선택신호생성회로(141)는 연산회로(21) 및 양자화회로(23)를 포함할 수 있다. 연산회로(21)는 제1 입력분포신호(IDST1<1:K>) 및 제2 입력분포신호(IDST2<1:K>)를 수신하여 곱셈연산 및 덧셈연산을 포함하는 MAC 연산동작을 수행하여 연산결과신호(MOUT<1:S>)를 생성할 수 있다. 양자화회로(23)는 연산결과신호(MOUT<1:S>)를 양자화를 수행하여 출력선택신호(OSEL<1:T>)를 생성할 수 있다. 양자화회로(23)는 연산결과신호(MOUT<1:S>)의 비트들 중 영향력이 큰 일부 비트만을 추출하여 출력선택신호(OSEL<1:T>)를 생성할 수 있다. 연산결과신호(MOUT<1:S>)의 비트 수(S) 및 출력선택신호(OSEL<1:T>)의 비트 수(T)는 실시예에 따라서 다양하게 설정될 수 있다. 출력선택신호(OSEL<1:T>)의 비트 수(T)는 연산결과신호(MOUT<1:S>)의 비트 수(S)보다 작게 설정될 수 있다.Referring to FIG. 2, the output selection
도 3을 참고하면 액티베이션처리회로(151)는 입력디코더(21), 제1 테이블저장회로(23), 제2 테이블저장회로(24), 제3 테이블저장회로(25), 제4 테이블저장회로(26), 출력분포신호선택회로(28)를 포함할 수 있다.Referring to FIG. 3, the
입력디코더(21)는 테이블설정신호(TSC) 및 입력선택신호(ISEL<1:M>)를 토대로 디코딩입력신호(IDEC<1:N>)를 생성할 수 있다. 입력디코더(21)는 테이블설정신호(TSC)가 활성화될 때 입력선택신호(ISEL<1:M>)를 디코딩하여 디코딩입력신호(IDEC<1:N>)를 생성할 수 있다. The
제1 테이블저장회로(23)는 디코딩입력신호(IDEC<1:N>) 및 출력선택신호(OSEL<1:T>)를 토대로 테이블입력신호(TIN<1:N>)를 저장하고 제1 테이블출력신호(TOUT1<1:N>)로 출력할 수 있다. 제1 테이블저장회로(23)는 디코딩입력신호(IDEC<1:N>)를 토대로 테이블입력신호(TIN<1:N>)를 룻업테이블형식의 제1 액티베이션함수를 저장할 수 있다. 제1 테이블저장회로(23)는 출력선택신호(OSEL<1:T>)를 토대로 제1 액티베이션함수에 의한 결과값을 제1 테이블출력신호(TOUT1<1:N>)로 출력할 수 있다. 제1 테이블저장회로(23)의 보다 구체적인 구성 및 동작은 도 4 내지 도 6을 참고하여 살펴본다.The first
제2 테이블저장회로(24)는 제2 액티베이션함수를 하이웨어적으로 내장(hard wired)할 수 있다. 제2 액티베이션함수는 sigmoid, Tanh, ReLu, Leaky ReLU 및 Maxout 중 하나로 설정될 수 있다. 제2 테이블저장회로(24)는 출력선택신호(OSEL<1:T>)를 토대로 룻업테이블형식으로 저장된 제2 액티베이션함수에 의한 결과값을 제2 테이블출력신호(TOUT2<1:N>)로 출력할 수 있다. 제2 테이블저장회로(24)의 보다 구체적인 구성 및 동작은 도 7을 참고하여 살펴본다.The second
제3 테이블저장회로(25)는 제3 액티베이션함수를 하이웨어적으로 내장(hard wired)할 수 있다. 제3 액티베이션함수는 sigmoid, Tanh, ReLu, Leaky ReLU 및 Maxout 중 하나로 설정될 수 있다. 제3 액티베이션함수는 제2 액티베이션함수와 다르게 설정될 수 있다. 제3 테이블저장회로(25)는 출력선택신호(OSEL<1:T>)를 토대로 룻업테이블형식으로 저장된 제3 액티베이션함수에 의한 결과값을 제3 테이블출력신호(TOUT3)로 출력할 수 있다. The third
제4 테이블저장회로(26)는 제4 액티베이션함수를 하이웨어적으로 내장(hard wired)할 수 있다. 제4 액티베이션함수는 sigmoid, Tanh, ReLu, Leaky ReLU 및 Maxout 중 하나로 설정될 수 있다. 제4 액티베이션함수는 제2 및 제3 액티베이션함수와 다르게 설정될 수 있다. 제3 테이블저장회로(25)는 출력선택신호(OSEL<1:T>)를 토대로 룻업테이블형식으로 저장된 제4 액티베이션함수에 의한 결과값을 제4 테이블출력신호(TOUT4)로 출력할 수 있다. The fourth
출력분포신호선택회로(28)는 함수선택신호(FS<1:J>)를 토대로 제1 테이블출력신호(TOUT1<1:N>), 제2 테이블출력신호(TOUT2<1:N>), 제3 테이블출력신호(TOUT3<1:N>) 및 제4 테이블출력신호(TOUT4<1:N>)로부터 출력분포신호(ODST<1:N>)를 생성할 수 있다. 출력분포신호선택회로(28)는 함수선택신호(FS<1:J>)가 제1 로직레벨조합일 때 제1 테이블출력신호(TOUT1<1:N>)를 출력분포신호(ODST<1:N>)로 출력할 수 있다. 출력분포신호선택회로(28)는 함수선택신호(FS<1:J>)가 제2 로직레벨조합일 때 제2 테이블출력신호(TOUT2<1:N>)를 출력분포신호(ODST<1:N>)로 출력할 수 있다. 출력분포신호선택회로(28)는 함수선택신호(FS<1:J>)가 제3 로직레벨조합일 때 제3 테이블출력신호(TOUT3<1:N>)를 출력분포신호(ODST<1:N>)로 출력할 수 있다. 출력분포신호선택회로(28)는 함수선택신호(FS<1:J>)가 제4 로직레벨조합일 때 제4 테이블출력신호(TOUT4<1:N>)를 출력분포신호(ODST<1:N>)로 출력할 수 있다.The output distribution
도 4를 참고하면 제1 테이블저장회로(23)는 디코딩입력회로(31), 가변래치회로(32) 및 테이블출력회로(35)를 포함할 수 있다.Referring to FIG. 4, the first
디코딩입력회로(31)는 인버터들(IV31(1:N)) 및 전달게이트들(T31(1:N))을 포함할 수 있다. 인버터(IV31(1))는 디코딩입력신호의 제1 비트(IDEC<1>)를 반전버퍼링하여 출력할 수 있다. 인버터(IV31(2))는 디코딩입력신호의 제2 비트(IDEC<2>)를 반전버퍼링하여 출력할 수 있다. 인버터(IV31(N))는 디코딩입력신호의 제N 비트(IDEC<N>)를 반전버퍼링하여 출력할 수 있다. 전달게이트(T31(1))는 디코딩입력신호의 제1 비트(IDEC<1>)가 로직하이레벨일 때 턴온되어 테이블입력신호(TIN<1:N>)를 제1 가변래치(33(1))로 전달할 수 있다. 전달게이트(T31(2))는 디코딩입력신호의 제2 비트(IDEC<2>)가 로직하이레벨일 때 턴온되어 테이블입력신호(TIN<1:N>)를 제2 가변래치(33(2))로 전달할 수 있다. 전달게이트(T31(N))는 디코딩입력신호의 제N 비트(IDEC<N>)가 로직하이레벨일 때 턴온되어 테이블입력신호(TIN<1:N>)를 제N 가변래치(33(N))로 전달할 수 있다. The
디코딩입력회로(31)는 디코딩입력신호(IDEC<1:N>)를 토대로 테이블입력신호(TIN<1:N>)를 가변래치회로(32)에 포함된 제1 내지 제N 가변래치(33(1:N))에 전달할 수 있다. 디코딩입력회로(31)는 디코딩입력신호(IDEC<1:N>)에 의해 선택된 경로를 통해 테이블입력신호(TIN<1:N>)를 입력받아 가변래치회로(32)에 포함된 제1 내지 제N 가변래치(33(1:N))에 전달할 수 있다. The
가변래치회로(32)는 제1 내지 제N 가변래치(33(1:N))를 포함한다. 제1 가변래치(33(1))는 디코딩입력신호의 제1 비트(IDEC<1>)가 로직하이레벨일 때 턴온된 전달게이트(T31(1))를 통해 테이블입력신호(TIN<1:N>)를 입력받아 저장하고, 저장된 테이블입력신호(TIN<1:N>)를 제1 가변래치신호(SLAT1<1:N>)로 출력할 수 있다. 제2 가변래치(33(2))는 디코딩입력신호의 제2 비트(IDEC<2>)가 로직하이레벨일 때 턴온된 전달게이트(T31(2))를 통해 테이블입력신호(TIN<1:N>)를 입력받아 저장하고, 저장된 테이블입력신호(TIN<1:N>)를 제2 가변래치신호(SLAT2<1:N>)로 출력할 수 있다. 제N 가변래치(33(N))는 디코딩입력신호의 제N 비트(IDEC<N>)가 로직하이레벨일 때 턴온된 전달게이트(T31(N))를 통해 테이블입력신호(TIN<1:N>)를 입력받아 저장하고, 저장된 테이블입력신호(TIN<1:N>)를 제N 가변래치신호(SLATN<1:N>)로 출력할 수 있다. The variable latch circuit 32 includes first to Nth variable latches 33 (1:N). The first variable latch 33(1) is a table input signal TIN<1: through the transfer gate T31(1) turned on when the first bit (IDEC<1>) of the decoding input signal is at a logic high level. N>) may be input and stored, and the stored table input signals TIN<1:N> may be output as first variable latch signals SLAT1<1:N>. The second variable latch 33(2) is the table input signal TIN<1: through the transfer gate T31(2) turned on when the second bit (IDEC<2>) of the decoding input signal is at a logic high level. N>) may be input and stored, and the stored table input signal TIN<1:N> may be output as a second variable latch signal SLAT2<1:N>. The Nth variable latch 33(N) is a table input signal TIN<1: through the transfer gate T31(N) turned on when the Nth bit (IDEC<N>) of the decoding input signal is at a logic high level. N>) may be input and stored, and the stored table input signals TIN<1:N> may be output as the Nth variable latch signals SLATN<1:N>.
테이블출력회로(35)는 출력선택신호(OSEL<1:T>)를 토대로 제1 내지 제N 가변래치신호(SLAT1<1:N>~SLATN<1:N>) 중 하나를 액티베이션함수의 결과값으로 선택하여 제1 테이블출력신호(TOUT1<1:N>)로 출력할 수 있다. 테이블출력회로(35)는 출력선택신호(OSEL<1:T>)의 로직레벨조합에 따라 제1 내지 제N 가변래치신호(SLAT1<1:N>~SLATN<1:N>) 중 하나를 제1 테이블출력신호(TOUT1<1:N>)로 선택하거나 출력선택신호(OSEL<1:T>)를 디코딩한 신호에 따라 제1 내지 제N 가변래치신호(SLAT1<1:N>~SLATN<1:N>) 중 하나를 제1 테이블출력신호(TOUT1<1:N>)로 선택하도록 구현될 수 있다. 테이블출력회로(35)의 구체적 구성 및 동작에 대한 설명은 도 5 및 도 6을 참고하여 살펴본다.The
도 5를 참고하면 테이블출력회로(35a)는 인버터들(IV351, IV353, IV355) 및 전달게이트들(T351, T353, T355)을 포함할 수 있다. 인버터(IV351)는 출력선택신호의 제1 비트(OSEL<1>)를 반전버퍼링하여 출력할 수 있다. 인버터(IV353)는 출력선택신호의 제2 비트(OSEL<2>)를 반전버퍼링하여 출력할 수 있다. 인버터(IV355)는 출력선택신호의 제N 비트(OSEL<N>)를 반전버퍼링하여 출력할 수 있다. 전달게이트(T351)는 출력선택신호의 제1 비트(OSEL<1>)가 로직하이레벨일 때 턴온되어 제1 가변래치신호(SLAT1<1:N>)를 제1 테이블출력신호(TOUT1<1:N>)로 전달할 수 있다. 전달게이트(T353)는 출력선택신호의 제2 비트(OSEL<2>)가 로직하이레벨일 때 턴온되어 제2 가변래치신호(SLAT2<1:N>)를 제1 테이블출력신호(TOUT1<1:N>)로 전달할 수 있다. 전달게이트(T355)는 출력선택신호의 제N 비트(OSEL<N>)가 로직하이레벨일 때 턴온되어 제N 가변래치신호(SLATN<1:N>)를 제1 테이블출력신호(TOUT1<1:N>)로 전달할 수 있다. 본 실시예에서 출력선택신호(OSEL<1:T>)의 비트 수(T)가 N과 동일하게 설정될 수 있다.Referring to FIG. 5, the
도 6을 참고하면 테이블출력회로(35b)는 출력선택디코더(371) 및 디코딩출력회로(372)를 포함할 수 있다. 출력선택디코더(371)는 출력선택신호(OSEL<1:T>)를 디코딩하여 디코딩선택신호(DSEL<1:N>)를 생성할 수 있다. 디코딩출력회로(373)는 인버터들(IV371, IV373, IV375) 및 전달게이트들(T371, T373, T375)을 포함할 수 있다. 인버터(IV371)는 디코딩선택신호의 제1 비트(DSEL<1>)를 반전버퍼링하여 출력할 수 있다. 인버터(IV373)는 디코딩선택신호의 제2 비트(DSEL<2>)를 반전버퍼링하여 출력할 수 있다. 인버터(IV375)는 디코딩선택신호의 제N 비트(DSEL<N>)를 반전버퍼링하여 출력할 수 있다. 전달게이트(T371)는 디코딩선택신호의 제1 비트(DSEL<1>)가 로직하이레벨일 때 턴온되어 제1 가변래치신호(SLAT1<1:N>)를 제1 테이블출력신호(TOUT1<1:N>)로 전달할 수 있다. 전달게이트(T373)는 디코딩선택신호의 제2 비트(DSEL<2>)가 로직하이레벨일 때 턴온되어 제2 가변래치신호(SLAT2<1:N>)를 제1 테이블출력신호(TOUT1<1:N>)로 전달할 수 있다. 전달게이트(T375)는 디코딩선택신호의 제N 비트(DSEL<N>)가 로직하이레벨일 때 턴온되어 제N 가변래치신호(SLATN<1:N>)를 제1 테이블출력신호(TOUT1<1:N>)로 전달할 수 있다.Referring to FIG. 6, the
도 7을 참고하면 제2 테이블저장회로(24)는 고정래치회로(41) 및 고정테이블출력회로(43)를 포함할 수 있다. 고정래치회로(41)는 제1 내지 제N 고정래치(41(1:N))를 포함할 수 있다. 제1 고정래치(41(1))는 제1 고정래치신호(FLAT1<1:N>)가 하이웨어적으로 내장(hard wired)될 수 있다. 제2 고정래치(41(2))는 제2 고정래치신호(FLAT2<1:N>)가 하이웨어적으로 내장될 수 있다. 제N 고정래치(41(N))는 제N 고정래치신호(FLATN<1:N>)가 하이웨어적으로 내장될 수 있다. 제1 내지 제N 고정래치(41(1:N))에 저장된 제1 내지 제N 고정래치신호(FLAT1<1:N>~FLATN<1:N>) 각각은 sigmoid, Tanh, ReLu, Leaky ReLU 및 Maxout 중 하나가 룻업테이블형식으로 저장되기 위해 구현된 결과값들이다. 제1 내지 제N 고정래치신호(FLAT1<1:N>~FLATN<1:N>) 각각에 대응하는 출력선택신호(OSEL<1:T>)의 로직레벨조합들이 설정될 수 있다. 고정테이블출력회로(43)는 출력선택신호(OSEL<1:T>)를 토대로 제1 내지 제N 고정래치신호(FLAT1<1:N>~FLATN<1:N>) 중 하나를 액티베이션함수의 결과값으로 선택하여 제2 테이블출력신호(TOUT2<1:N>)로 출력할 수 있다. 도 3에 도시된 제3 테이블저장회로(25) 및 제4 테이블저장회로(26)는 도 7에 도시된 제2 테이블저장회로(24)와 동일한 구조의 회로로 구현될 수 있다.Referring to FIG. 7, the second
이상 살펴본 바와 같이 구성된 본 실시예에 따른 반도체시스템(1)은 신경망에서 사용되는 액티베이션함수(activation function)에 대한 정보를 커맨드 및 어드레스로 입력받아 룻업테이블(Look Up Table) 형식으로 저장함으로써, 다양하게 설정된 액티베이션함수를 설계변경 없이 신경망에 적용할 수 있다.The
도 8을 참고하면 본 발명의 다른 실시예에 따른 반도체장치(5)는 제어신호디코더(51) 및 액티베이션처리회로(53)를 포함할 수 있다.Referring to FIG. 8, a semiconductor device 5 according to another embodiment of the present invention may include a
제어신호디코더(51)는 내부데이터(IDATA)를 수신하여 테이블설정신호(TSC), 입력선택신호(ISEL<1:M>), 테이블입력신호(TIN<1:N>) 및 함수선택신호(FS<1:J>)를 설정할 수 있다. 내부데이터(IDATA)는 반도체장치(5)의 외부에서 입력된 데이터(DATA)를 토대로 생성될 수 있다. 제어신호디코더(51)는 순차적으로 입력되는 내부데이터(IDATA)로부터 테이블설정신호(TSC), 입력선택신호(ISEL<1:M>), 테이블입력신호(TIN<1:N>) 및 함수선택신호(FS<1:J>)를 설정할 수 있다. 내부데이터(IDATA)는 실시예에 따라서 다수의 비트들을 포함할 수 있다. The
액티베이션처리회로(53)는 테이블설정신호(TSC), 입력선택신호(ISEL<1:M>) 및 테이블입력신호(TIN<1:N>)를 토대로 신경망에서 사용되는 액티베이션함수를 룻업테이블 형식으로 저장할 수 있다. 액티베이션처리회로(53)는 다양한 액티베이션함수들을 하드웨어적으로 내장할 수 있다. 액티베이션처리회로(53)는 출력선택신호(OSEL<1:T>)를 토대로 함수선택신호(FS<1:J>)에 의해 선택된 액티베이션함수에 의한 결과값을 출력분포신호(ODST<1:N>)로 선택하여 출력할 수 있다. 액티베이션처리회로(53)의 구성 및 동작은 도 1에 도시된 액티베이션처리회로(151)와 동일하므로 보다 구체적인 설명은 생략한다.The
이상 살펴본 바와 같이 구성된 본 실시예에 따른 반도체장치(5)는 신경망에서 사용되는 액티베이션함수(activation function)에 대한 정보를 데이터로 입력받아 룻업테이블(Look Up Table) 형식으로 저장함으로써, 다양하게 설정된 액티베이션함수를 설계변경 없이 신경망에 적용할 수 있다.The semiconductor device 5 according to the present embodiment configured as described above receives information on an activation function used in a neural network as data and stores it in a Look Up Table format, thereby enabling various set activations. Functions can be applied to neural networks without design changes.
도 9를 참고하면 본 발명의 또 다른 실시예에 따른 반도체장치(6)는 모드레지스터(61) 및 액티베이션처리회로(63)를 포함할 수 있다.Referring to FIG. 9, a
모드레지스터(61)는 모드레지스터셋(Mode Register Set)을 통해 테이블설정신호(TSC), 입력선택신호(ISEL<1:M>), 테이블입력신호(TIN<1:N>) 및 함수선택신호(FS<1:J>)를 저장할 수 있다.The
액티베이션처리회로(63)는 테이블설정신호(TSC), 입력선택신호(ISEL<1:M>) 및 테이블입력신호(TIN<1:N>)를 토대로 신경망에서 사용되는 액티베이션함수를 룻업테이블 형식으로 저장할 수 있다. 액티베이션처리회로(63)는 다양한 액티베이션함수들을 하드웨어적으로 내장할 수 있다. 액티베이션처리회로(63)는 출력선택신호(OSEL<1:T>)를 토대로 함수선택신호(FS<1:J>)에 의해 선택된 액티베이션함수에 의한 결과값을 출력분포신호(ODST<1:N>)로 선택하여 출력할 수 있다. 액티베이션처리회로(63)의 구성 및 동작은 도 1에 도시된 액티베이션처리회로(151)와 동일하므로 보다 구체적인 설명은 생략한다.The
이상 살펴본 바와 같이 구성된 본 실시예에 따른 반도체장치(6)는 신경망에서 사용되는 액티베이션함수(activation function)에 대한 정보를 모드레지스터에서 저장된 정보를 토대로 룻업테이블(Look Up Table) 형식으로 저장함으로써, 다양하게 설정된 액티베이션함수를 설계변경 없이 신경망에 적용할 수 있다.The
앞서, 도 1에서 살펴본 반도체시스템(1), 도 8에서 살펴본 반도체장치(5) 및 도 9에서 살펴본 반도체장치(6)는 메모리시스템, 그래픽시스템, 컴퓨팅시스템 및 모바일시스템 등을 포함하는 전자시스템에 적용될 수 있다. 예를 들어, 도 10을 참고하면 본 발명의 일 실시 예에 따른 전자시스템(1000)은 데이터저장부(1001), 메모리컨트롤러(1002), 버퍼메모리(1003) 및 입출력인터페이스(1004)를 포함할 수 있다.Previously, the
데이터저장부(1001)는 메모리컨트롤러(1002)로부터의 제어신호에 따라 메모리컨트롤러(1002)로부터 인가되는 데이터를 저장하고 저장된 데이터를 판독하여 메모리컨트롤러(1002)에 출력한다. 데이터저장부(1001)는 도 1에 도시된 반도체장치(13), 도 8에서 살펴본 반도체장치(5) 및 도 9에서 살펴본 반도체장치(6)를 포함할 수 있다. 한편, 데이터저장부(1001)는 전원이 차단되어도 데이터를 잃지 않고 계속 저장할 수 있는 비휘발성 메모리를 포함할 수 있다. 비휘발성 메모리는 플래쉬 메모리(Nor Flash Memory, NAND Flash Memory), 상변환 메모리(Phase Change Random Access Memory; PRAM), 저항 메모리(Resistive Random Access Memory;RRAM), 스핀 주입자화반전 메모리(Spin Transfer Torque Random Access Memory; STTRAM), 자기메모리(Magnetic Random Access Memory; MRAM)로 구현될 수 있다.The
메모리컨트롤러(1002)는 입출력인터페이스(1004)를 통해 외부기기(호스트 장치)로부터 인가되는 명령어를 디코딩하고 디코딩된 결과에 따라 데이터저장부(1001) 및 버퍼메모리(1003)에 대한 데이터 입출력을 제어한다. 도 10에서는 메모리컨트롤러(1002)가 하나의 블럭으로 표시되었으나, 메모리컨트롤러(1002)는 데이터저장부(1001)를 제어하기 위한 컨트롤러와 휘발성 메모리인 버퍼메모리(1003)를 제어하기 위한 컨트롤러가 독립적으로 구성될 수 있다.The
버퍼메모리(1003)는 메모리컨트롤러(1002)에서 처리할 데이터 즉 데이터저장부(1001)에 입출력되는 데이터를 임시적으로 저장할 수 있다. 버퍼메모리(1003)는 제어신호에 따라 메모리컨트롤러(1002)에서 인가되는 데이터(DATA)를 저장할 수 있다. 버퍼메모리(1003)는 도 1에 도시된 반도체장치(13), 도 8에서 살펴본 반도체장치(5) 및 도 9에서 살펴본 반도체장치(6)를 포함할 수 있다. 버퍼메모리(1003)는 저장된 데이터를 판독하여 메모리컨트롤러(1002)에 출력한다. 버퍼메모리(1003)는 DRAM(Dynamic Random Access Memory), Moblie DRAM, SRAM(Static Random Access Memory) 등의 휘발성 메모리를 포함할 수 있다.The
입출력인터페이스(1004)는 메모리컨트롤러(1002)와 외부기기(호스트) 사이의 물리적 연결을 제공하여 메모리컨트롤러(1002)가 외부기기로부터 데이터 입출력을 위한 제어신호를 수신하고 외부기기와 데이터를 교환할 수 있도록 해준다. 입출력인터페이스(1004)는 USB, MMC, PCI-E, SAS, SATA, PATA, SCSI, ESDI, 및 IDE 등과 같은 다양한 인터페이스 프로토콜들 중 하나를 포함할 수 있다.The input/
전자시스템(1000)은 호스트 장치의 보조 기억장치 또는 외부 저장장치로 사용될 수 있다. 전자시스템(1000)은 고상 디스크(Solid State Disk; SSD), USB 메모리(Universal Serial Bus Memory), 씨큐어 디지털 카드(Secure Digital; SD), 미니 씨큐어 디지털 카드(mini Secure Digital card; mSD), 마이크로 씨큐어 디지털 카드(micro SD), 고용량 씨큐어 디지털 카드(Secure Digital High Capacity; SDHC), 메모리 스틱 카드(Memory Stick Card), 스마트 미디어 카드(Smart Media Card; SM), 멀티 미디어 카드(Multi Media Card; MMC), 내장 멀티 미디어 카드(Embedded MMC; eMMC), 컴팩트 플래시 카드(Compact Flash; CF) 등을 포함할 수 있다.The
1: 반도체시스템
11: 컨트롤러
13: 반도체장치
131: 제어신호입력회로
133: 클럭입력회로
135: 제어신호디코더
139: 모드레지스터
141: 출력선택신호생성회로
143: 데이터입력회로
145: 제1 데이터라인
147: 코어회로
149: 제2 데이터라인
151: 액티베이션처리회로
21: 연산회로
23: 양자화회로1: semiconductor system 11: controller
13: semiconductor device 131: control signal input circuit
133: clock input circuit 135: control signal decoder
139: mode register 141: output selection signal generation circuit
143: data input circuit 145: first data line
147: core circuit 149: second data line
151: activation processing circuit 21: operation circuit
23: quantization circuit
Claims (20)
제1 테이블저장회로를 포함하고, 상기 테이블설정신호가 활성화될 때 상기 제1 테이블저장회로에 포함된 가변래치들 중 상기 입력선택신호를 토대로 선택된 가변래치에 상기 테이블입력신호를 룩업테이블 형식으로 저장하고, 출력선택신호를 토대로 상기 룩업테이블에 의해 구현된 제1 액티베이션함수의 결과값을 추출하여 출력분포신호를 생성하기 위한 제1 테이블출력신호로 출력하는 액티베이션처리회로를 포함하는 반도체장치.
A control signal decoder for decoding an internal control signal to generate a table setting signal, an input selection signal, and a table input signal;
Includes a first table storage circuit, and stores the table input signal in a lookup table format in a variable latch selected based on the input selection signal among variable latches included in the first table storage circuit when the table setting signal is activated And an activation processing circuit for extracting a result value of the first activation function implemented by the lookup table based on the output selection signal and outputting a first table output signal for generating an output distribution signal.
The semiconductor device according to claim 1, wherein the internal control signal is generated from a control signal transmitted by including a command and an address.
The method of claim 1, wherein the first table storage circuit includes a first variable latch and a second variable latch, and the table input signal is input to the first variable latch or the second variable latch according to the input selection signal. A semiconductor device that is stored.
The semiconductor device of claim 1, wherein the activation processing circuit further comprises a second table storage circuit in which a second activation function used in a neural network circuit is embedded in hardware.
The semiconductor device according to claim 4, wherein the second activation function is set to one of sigmoid, Tanh, ReLu, Leaky ReLU, and Maxout.
5. The semiconductor device of claim 4, wherein the second table storage circuit extracts a result value of the second activation function based on an output selection signal and outputs a second table output signal for generating the output distribution signal.
The semiconductor device according to claim 6, wherein the activation processing circuit outputs one of the first table output signal and the second table output signal as the output distribution signal based on a function selection signal.
8. The semiconductor device of claim 7, wherein the function selection signal is stored in and output to a mode register through a mode register set.
The semiconductor device of claim 1, wherein the output selection signal is generated by performing a quantization and a MAC operation including an addition operation and a multiplication operation on the first input distribution signal and the second input distribution signal.
10. The semiconductor device of claim 9, wherein the first input distribution signal is set to feature values used in a neural network, and the second input distribution signal is set to weights used in a neural network.
The semiconductor device according to claim 9, wherein the first input distribution signal and the second input distribution signal are generated from at least one of a data input circuit and a core circuit.
제1 테이블저장회로를 포함하고, 상기 테이블설정신호가 활성화될 때 상기 제1 테이블저장회로에 포함된 가변래치들 중 상기 입력선택신호를 토대로 선택된 가변래치에 상기 테이블입력신호를 룩업테이블 형식으로 저장하고, 출력선택신호를 토대로 상기 룩업테이블에 의해 구현된 제1 액티베이션함수의 결과값을 추출하여 출력분포신호를 생성하기 위한 제1 테이블출력신호로 출력하는 액티베이션처리회로를 포함하는 반도체장치.
A control signal decoder for decoding internal data to generate a table setting signal, an input selection signal, and a table input signal;
Includes a first table storage circuit, and stores the table input signal in a lookup table format in a variable latch selected based on the input selection signal among variable latches included in the first table storage circuit when the table setting signal is activated And an activation processing circuit for extracting a result value of the first activation function implemented by the lookup table based on the output selection signal and outputting a first table output signal for generating an output distribution signal.
13. The semiconductor device of claim 12, wherein the internal data is generated from data input from an external source.
The semiconductor device of claim 12, wherein the activation processing circuit further comprises a second table storage circuit in which a second activation function used in a neural network circuit is embedded in hardware.
15. The semiconductor device of claim 14, wherein the second table storage circuit extracts a result value of the second activation function based on an output selection signal and outputs a second table output signal for generating the output distribution signal.
The semiconductor device according to claim 15, wherein the activation processing circuit outputs one of the first table output signal and the second table output signal as the output distribution signal based on a function selection signal.
The semiconductor device of claim 16, wherein the function selection signal is generated by decoding the internal data.
제1 테이블저장회로를 포함하고, 상기 테이블설정신호가 활성화될 때 상기 제1 테이블저장회로에 포함된 가변래치들 중 상기 입력선택신호를 토대로 선택된 가변래치에 상기 테이블입력신호를 룩업테이블 형식으로 저장하고, 출력선택신호를 토대로 상기 룩업테이블에 의해 구현된 제1 액티베이션함수의 결과값을 추출하여 출력분포신호를 생성하기 위한 제1 테이블출력신호로 출력하는 액티베이션처리회로를 포함하는 반도체장치.
A mode register for storing a table setting signal, an input selection signal, and a table input signal through a mode register set; And
Includes a first table storage circuit, and stores the table input signal in a lookup table format in a variable latch selected based on the input selection signal among variable latches included in the first table storage circuit when the table setting signal is activated And an activation processing circuit for extracting a result value of the first activation function implemented by the lookup table based on the output selection signal and outputting a first table output signal for generating an output distribution signal.
상기 제2 테이블저장회로는 출력선택신호를 토대로 상기 제2 액티베이션함수의 결과값을 추출하여 상기 출력분포신호를 생성하기 위한 제2 테이블출력신호로 출력하는 반도체장치.
The method of claim 18, wherein the activation processing circuit further comprises a second table storage circuit in which a second activation function used in a neural network circuit is embedded in hardware,
The second table storage circuit extracts a result value of the second activation function based on an output selection signal and outputs a second table output signal for generating the output distribution signal.
The method of claim 19, wherein the activation processing circuit outputs one of the first table output signal and the second table output signal as the output distribution signal based on a function selection signal, wherein the function selection signal comprises the mode register set. A semiconductor device stored in the mode register through the device.
Priority Applications (15)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190138114A KR20210052059A (en) | 2019-10-31 | 2019-10-31 | Semiconductor device |
TW109122106A TW202129517A (en) | 2019-10-31 | 2020-06-30 | Arithmetic devices for neural network |
US16/919,786 US11915125B2 (en) | 2019-10-31 | 2020-07-02 | Arithmetic devices for neural network |
US16/932,400 US20210132953A1 (en) | 2019-10-31 | 2020-07-17 | Arithmetic devices for neural network |
CN202010705502.XA CN112749793A (en) | 2019-10-31 | 2020-07-21 | Arithmetic device for neural network |
CN202010827350.0A CN112749794A (en) | 2019-10-31 | 2020-08-17 | Arithmetic device for neural network |
US17/076,428 US20210132954A1 (en) | 2019-10-31 | 2020-10-21 | Arithmetic devices for neural network |
CN202011183018.1A CN112749796A (en) | 2019-10-31 | 2020-10-29 | Computing device for neural networks |
US17/125,488 US11954457B2 (en) | 2019-10-31 | 2020-12-17 | Arithmetic devices for neural network including a function storage circuit and an activation function circuit |
US17/125,671 US11386947B2 (en) | 2019-10-31 | 2020-12-17 | Arithmetic devices conducting auto-load operation for writing the activation functions |
US17/144,004 US20210133546A1 (en) | 2019-10-31 | 2021-01-07 | Arithmetic devices for neural network |
US17/145,801 US20210132910A1 (en) | 2019-10-31 | 2021-01-11 | Arithmetic devices for neural network |
US17/164,445 US11605417B2 (en) | 2019-10-31 | 2021-02-01 | Arithmetic devices conducting auto-load operation for writing the activation functions |
US17/167,937 US11922295B2 (en) | 2019-10-31 | 2021-02-04 | Arithmetic devices for neural network |
US17/747,595 US11676651B2 (en) | 2019-10-31 | 2022-05-18 | Arithmetic devices conducting auto-load operation |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190138114A KR20210052059A (en) | 2019-10-31 | 2019-10-31 | Semiconductor device |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20210052059A true KR20210052059A (en) | 2021-05-10 |
Family
ID=75918213
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020190138114A KR20210052059A (en) | 2019-10-31 | 2019-10-31 | Semiconductor device |
Country Status (2)
Country | Link |
---|---|
KR (1) | KR20210052059A (en) |
TW (1) | TW202129517A (en) |
-
2019
- 2019-10-31 KR KR1020190138114A patent/KR20210052059A/en unknown
-
2020
- 2020-06-30 TW TW109122106A patent/TW202129517A/en unknown
Also Published As
Publication number | Publication date |
---|---|
TW202129517A (en) | 2021-08-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10446199B2 (en) | Semiconductor device and semiconductor system | |
KR20180092513A (en) | Semiconductor device | |
US20120113732A1 (en) | Pseudo-open drain type output driver having de-emphasis function, semiconductor memory device, and control method thereof | |
US9613666B1 (en) | Semiconductor devices and semiconductor systems including the same | |
US9659615B1 (en) | Semiconductor device comprising pipe latch circuit and auto-precharge signal generation circuit | |
US9711192B2 (en) | Memory device having different data-size access modes for different power modes | |
KR102466965B1 (en) | Semiconductor device | |
CN113366571B (en) | Memory with improved cross-temperature reliability and read performance | |
CN110867200A (en) | Semiconductor device and semiconductor system including the same | |
KR20220022478A (en) | Method and apparatus for providing memory-based physical copy protection functions | |
KR20180053113A (en) | Memory device | |
CN111105823B (en) | Semiconductor device with a semiconductor layer having a plurality of semiconductor layers | |
KR20190107330A (en) | Semiconductor device | |
CN106409322B (en) | Semiconductor device and semiconductor system including the same | |
KR20210029616A (en) | Semiconductor device | |
KR20170036195A (en) | Semiconductor device and semiconductor system | |
KR20210052059A (en) | Semiconductor device | |
KR102420640B1 (en) | Semiconductor device | |
KR20180072314A (en) | Semiconductor device | |
US10636460B2 (en) | Semiconductor system including mode register control circuit | |
KR102380798B1 (en) | Electric device including register | |
KR20180119071A (en) | Electric device | |
US20190325927A1 (en) | Semiconductor devices | |
KR20180068661A (en) | Semiconductor device | |
KR102298776B1 (en) | Semiconductor device |