KR20210052059A - Semiconductor device - Google Patents

Semiconductor device Download PDF

Info

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
Application number
KR1020190138114A
Other languages
Korean (ko)
Inventor
송청기
Original Assignee
에스케이하이닉스 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 에스케이하이닉스 주식회사 filed Critical 에스케이하이닉스 주식회사
Priority to KR1020190138114A priority Critical patent/KR20210052059A/en
Priority to TW109122106A priority patent/TW202129517A/en
Priority to US16/919,786 priority patent/US11915125B2/en
Priority to US16/932,400 priority patent/US20210132953A1/en
Priority to CN202010705502.XA priority patent/CN112749793A/en
Priority to CN202010827350.0A priority patent/CN112749794A/en
Priority to US17/076,428 priority patent/US20210132954A1/en
Priority to CN202011183018.1A priority patent/CN112749796A/en
Priority to US17/125,488 priority patent/US11954457B2/en
Priority to US17/125,671 priority patent/US11386947B2/en
Priority to US17/144,004 priority patent/US20210133546A1/en
Priority to US17/145,801 priority patent/US20210132910A1/en
Priority to US17/164,445 priority patent/US11605417B2/en
Priority to US17/167,937 priority patent/US11922295B2/en
Publication of KR20210052059A publication Critical patent/KR20210052059A/en
Priority to US17/747,595 priority patent/US11676651B2/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means

Abstract

An semiconductor device includes: a control signal decoder which decodes an internal control signal to generate a table setting signal, an input selection signal, and a table input signal; an activation processing circuit which includes a first table storage circuit, wherein when the table setting signal is activated, the table input signal is stored into a variable latch selected based on the input selection signal among the variable latches included in the first table storage circuit as a look-up table format. The present invention provides the semiconductor device capable of providing a neural network.

Description

반도체장치{SEMICONDUCTOR DEVICE}Semiconductor device {SEMICONDUCTOR DEVICE}

본 발명은 신경망(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 semiconductor system 1 according to an embodiment of the present invention may include a controller 11 and a semiconductor device 13. The controller 11 may apply a control signal CA<1:L>, a clock CLK, and data DATA to the semiconductor device 13. The semiconductor device 13 includes a control signal input circuit 131, a clock input circuit 133, a control signal decoder 135, a mode register 139, an output selection signal generation circuit 141, a data input circuit 143, and A first data line 145, a core circuit 147, a second data line 149, and an activation processing circuit 151 may be included.

제어신호입력회로(131)는 제어신호(CA<1:L>)로부터 내부제어신호(ICA<1:L>)를 생성할 수 있다. 제어신호입력회로(131)는 제어신호(CA<1:L>)를 버퍼링하여 내부제어신호(ICA<1:L>)를 생성할 수 있다. 제어신호(CA<1:L>)는 커맨드 및 어드레스를 포함할 수 있다. 제어신호(CA<1:L>)에 포함된 비트 수(L)는 실시예에 따라서 다양하게 설정될 수 있다.The control signal input circuit 131 may generate internal control signals ICA<1:L> from the control signals CA<1:L>. The control signal input circuit 131 may buffer the control signals CA<1:L> to generate internal control signals ICA<1:L>. The control signals CA<1:L> may include a command and an address. The number of bits L included in the control signal CA<1:L> may be variously set according to embodiments.

클럭입력회로(133)는 클럭(CLK)으로부터 내부클럭(ICLK)을 생성할 수 있다. 클럭입력회로(133)는 클럭(CLK)을 버퍼링하여 내부클럭(ICLK)을 생성할 수 있다. 실시예에 따라서, 클럭입력회로(133)는 클럭(CLK)을 분주하여 내부클럭(ICLK)을 생성할 수 있다. The clock input circuit 133 may generate an internal clock ICLK from the clock CLK. The clock input circuit 133 may generate an internal clock ICLK by buffering the clock CLK. According to an embodiment, the clock input circuit 133 may generate an internal clock ICLK by dividing the clock CLK.

제어신호디코더(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 control signal decoder 135 may include a first decoder 136 and a second decoder 137. The control signal decoder 135 includes a table setting signal (TSC), an input selection signal (ISEL<1:M>), and a table input signal (TIN) based on an internal clock (ICLK) and an internal control signal (ICA<1:L>). <1:N>) can be created. The number of bits M of the input selection signal ISEL<1:M> and the number of bits N of the table input signal TIN<1:N> may be variously set according to exemplary embodiments.

제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 first decoder 136 may generate a table setting signal TSC based on the internal clock ICLK and the internal control signals ICA<1:L>. The first decoder 136 may generate a table setting signal TSC by decoding the input internal control signals ICA<1:L> in synchronization with the internal clock ICLK. The table setting signal TSC may be activated to store an activation function used in a neural network in the first table storage circuit (23 of FIG. 3) in a Look Up Table format. The number of bits and logic level combinations included in the internal control signals ICA<1:L> input to activate the table setting signal TSC may be variously set according to exemplary embodiments.

제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 second decoder 137 receives an input selection signal (ISEL<1:M>) and a table input signal (TIN<1:N>) based on an internal clock (ICLK) and an internal control signal (ICA<1:L>). Can be generated. The second decoder 137 decodes the input selection signal (ISEL<1:M>) and the table input signal (TIN<1) by decoding the internal control signal (ICA<1:L>) input in synchronization with the internal clock (ICLK). :N>) can be created. The table input signal TIN<1:N> and the input selection signal ISEL<1:M> use the activation function in the form of a run-up take, and the first to the Nth are included in the first table storage circuit (23 of FIG. 3). It can be created for storage in a variable latch (33(1:N) in Fig. 4). The table input signal (TIN<1:N>) is stored in the variable latch selected by the input selection signal (ISEL<1:M>) among the first to the Nth variable latches (33(1:N) in Fig. 4). I can. Number of bits included in the input internal control signal (ICA<1:L>) to set the logic level combination of the table input signal (TIN<1:N>) and the input selection signal (ISEL<1:M>) And the logic level combination may be variously set according to an embodiment.

모드레지스터(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 mode register 139 may store a function selection signal FS<1:J> through a mode register set. The mode register 139 may apply a function selection signal FS<1:J> to the activation processing circuit 151. The function selection signal FS<1:J> may be generated to select one of various activation functions used in a neural network circuit. Various activation functions used in the neural network circuit may include sigmoid, Tanh, ReLu, Leaky ReLU, Maxout, and an activation function input based on a control signal (CA<1:L>). The number of bits J of the function selection signal FS<1:J> may be variously set according to embodiments.

출력선택신호생성회로(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 signal generation circuit 141 may be connected through the data input circuit 143 and the first data line 145, and may be connected through the core circuit 147 and the second data line 149. The output selection signal generation circuit 141 includes a first input distribution signal (IDST1<1:K> in Fig. 2) and a second input distribution signal (Fig. 2) from at least one of the data input circuit 143 and the core circuit 147. IDST2<1:K>) can be received. The output selection signal generation circuit 141 may receive a first input distribution signal IDST1<1:K> and a second input distribution signal IDST2<1:K> through the data input circuit 143. The output selection signal generation circuit 141 may receive a first input distribution signal IDST1<1:K> and a second input distribution signal IDST2<1:K> through the core circuit 147. The output selection signal generation circuit 141 may receive the first input distribution signal IDST1<1:K> through the data input circuit 143, and the second input distribution signal IDST2 through the core circuit 147. <1:K>) can be received. The output selection signal generation circuit 141 may receive the first input distribution signal IDST1<1:K> through the core circuit 147, and the second input distribution signal IDST2 through the data input circuit 143. <1:K>) can be received. The number of bits K of the first input distribution signal IDST1<1:K> and the second input distribution signal IDST2<1:K> may be variously set according to exemplary embodiments.

제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 signal generation circuit 141 receives the first input distribution signal (IDST1<1:K>) and the second input distribution signal (IDST2<1:K>), performs MAC operation and quantization, and performs an output selection signal. (OSEL<1:T>) can be created. The MAC operation may include a multiplication operation and an addition operation. Quantization may be performed to extract only some of the bits of the input signal having a large influence in order to simplify the calculation. A more specific configuration and operation of the output selection signal generation circuit 141 will be described with reference to FIG. 2.

액티베이션처리회로(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 activation processing circuit 151 is a first table storage circuit (23 in Fig. 3) based on a table setting signal (TSC), an input selection signal (ISEL<1:M>), and a table input signal (TIN<1:N>). The activation function used in the neural network can be stored in the form of a rut-up table. The activation processing circuit 151 is selected by an input selection signal ISEL<1:M> among the first to Nth variable latches (33 (1:N) in Fig. 4) when the table setting signal TSC is activated. A table input signal (TIN<1:N>) can be stored in the variable latch. The activation processing circuit 151 may contain various activation functions used in a neural network circuit, for example, sigmoid, Tanh, ReLu, Leaky ReLU, and Maxout in a high-ware manner. The number of activation functions built into the activation processing circuit 151 may be variously set.

액티베이션처리회로(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 activation processing circuit 151 may select one of various activation functions based on the function selection signal FS<1:J>. The activation processing circuit 151 may generate a result value by an activation function selected by the function selection signal FS<1:J> based on the output selection signal OSEL<1:T>. The activation processing circuit 151 extracts the result value corresponding to the output selection signal (OSEL<1:T>) from the lookup table to which the activation function selected by the function selection signal (FS<1:J>) is applied, and the output distribution signal It can be output as (ODST<1:N>). The lookup table may store a result value corresponding to the output selection signal OSEL<1:T>. A more specific configuration and operation of the activation processing circuit 151 will be described with reference to FIGS. 3 to 7.

도 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 signal generation circuit 141 may include an operation circuit 21 and a quantization circuit 23. The operation circuit 21 receives the first input distribution signal (IDST1<1:K>) and the second input distribution signal (IDST2<1:K>) and performs a MAC operation including multiplication and addition operations. The operation result signal MOUT<1:S> can be generated. The quantization circuit 23 may quantize the operation result signals MOUT<1:S> to generate output selection signals OSEL<1:T>. The quantization circuit 23 may generate an output selection signal OSEL<1:T> by extracting only some of the bits of the operation result signal MOUT<1:S> having a large influence. The number of bits S of the operation result signal MOUT<1:S> and the number of bits T of the output selection signal OSEL<1:T> may be variously set according to exemplary embodiments. The number of bits T of the output selection signal OSEL<1:T> may be set to be smaller than the number of bits S of the operation result signal MOUT<1:S>.

도 3을 참고하면 액티베이션처리회로(151)는 입력디코더(21), 제1 테이블저장회로(23), 제2 테이블저장회로(24), 제3 테이블저장회로(25), 제4 테이블저장회로(26), 출력분포신호선택회로(28)를 포함할 수 있다.Referring to FIG. 3, the activation processing circuit 151 includes an input decoder 21, a first table storage circuit 23, a second table storage circuit 24, a third table storage circuit 25, and a fourth table storage circuit. (26), it may include an output distribution signal selection circuit (28).

입력디코더(21)는 테이블설정신호(TSC) 및 입력선택신호(ISEL<1:M>)를 토대로 디코딩입력신호(IDEC<1:N>)를 생성할 수 있다. 입력디코더(21)는 테이블설정신호(TSC)가 활성화될 때 입력선택신호(ISEL<1:M>)를 디코딩하여 디코딩입력신호(IDEC<1:N>)를 생성할 수 있다. The input decoder 21 may generate a decoding input signal IDEC<1:N> based on the table setting signal TSC and the input selection signal ISEL<1:M>. The input decoder 21 may generate a decoding input signal IDEC<1:N> by decoding the input selection signal ISEL<1:M> when the table setting signal TSC is activated.

제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 table storage circuit 23 stores the table input signal TIN<1:N> based on the decoding input signal IDEC<1:N> and the output selection signal OSEL<1:T>, and stores the first table input signal TIN<1:N>. It can be output as a table output signal TOUT1<1:N>. The first table storage circuit 23 may store the table input signal TIN<1:N> based on the decoding input signal IDEC<1:N> and a first activation function in the form of a lookup table. The first table storage circuit 23 may output a result value of the first activation function as a first table output signal TOUT1<1:N> based on the output selection signal OSEL<1:T>. A more detailed configuration and operation of the first table storage circuit 23 will be described with reference to FIGS. 4 to 6.

제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 table storage circuit 24 may contain the second activation function in a high-ware manner (hard wired). The second activation function may be set to one of sigmoid, Tanh, ReLu, Leaky ReLU, and Maxout. The second table storage circuit 24 converts the result value of the second activation function stored in a lookup table format into a second table output signal TOUT2<1:N> based on the output selection signal OSEL<1:T>. Can be printed. A more detailed configuration and operation of the second table storage circuit 24 will be described with reference to FIG. 7.

제3 테이블저장회로(25)는 제3 액티베이션함수를 하이웨어적으로 내장(hard wired)할 수 있다. 제3 액티베이션함수는 sigmoid, Tanh, ReLu, Leaky ReLU 및 Maxout 중 하나로 설정될 수 있다. 제3 액티베이션함수는 제2 액티베이션함수와 다르게 설정될 수 있다. 제3 테이블저장회로(25)는 출력선택신호(OSEL<1:T>)를 토대로 룻업테이블형식으로 저장된 제3 액티베이션함수에 의한 결과값을 제3 테이블출력신호(TOUT3)로 출력할 수 있다. The third table storage circuit 25 may contain a third activation function in a high-ware manner (hard wired). The third activation function may be set to one of sigmoid, Tanh, ReLu, Leaky ReLU, and Maxout. The third activation function may be set differently from the second activation function. The third table storage circuit 25 may output a result value of the third activation function stored in a lookup table format as the third table output signal TOUT3 based on the output selection signal OSEL<1:T>.

제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 table storage circuit 26 may contain the fourth activation function in a high-ware manner (hard wired). The fourth activation function may be set to one of sigmoid, Tanh, ReLu, Leaky ReLU, and Maxout. The fourth activation function may be set differently from the second and third activation functions. The third table storage circuit 25 may output a result value of the fourth activation function stored in a lookup table format as the fourth table output signal TOUT4 based on the output selection signal OSEL<1:T>.

출력분포신호선택회로(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 signal selection circuit 28 includes a first table output signal TOUT1<1:N>, a second table output signal TOUT2<1:N>, based on the function selection signal FS<1:J>, An output distribution signal ODST<1:N> may be generated from the third table output signal TOUT3<1:N> and the fourth table output signal TOUT4<1:N>. The output distribution signal selection circuit 28 outputs the first table output signal TOUT1<1:N> to the output distribution signal ODST<1: when the function selection signal FS<1:J> is the first logic level combination. N>) can be printed. When the function selection signal FS<1:J> is the second logic level combination, the output distribution signal selection circuit 28 outputs the second table output signal TOUT2<1:N> to the output distribution signal ODST<1: N>) can be printed. The output distribution signal selection circuit 28 outputs the third table output signal TOUT3<1:N> to the output distribution signal ODST<1: when the function selection signal FS<1:J> is a third logic level combination. N>) can be printed. The output distribution signal selection circuit 28 outputs the fourth table output signal TOUT4<1:N> to the output distribution signal ODST<1: when the function selection signal FS<1:J> is a fourth logic level combination. N>) can be printed.

도 4를 참고하면 제1 테이블저장회로(23)는 디코딩입력회로(31), 가변래치회로(32) 및 테이블출력회로(35)를 포함할 수 있다.Referring to FIG. 4, the first table storage circuit 23 may include a decoding input circuit 31, a variable latch circuit 32 and a table output circuit 35.

디코딩입력회로(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 decoding input circuit 31 may include inverters IV31 (1:N) and transfer gates T31 (1:N). The inverter IV31(1) may invert buffer the first bit (IDEC<1>) of the decoding input signal and output it. The inverter IV31(2) may invert buffer the second bit (IDEC<2>) of the decoding input signal and output it. The inverter IV31(N) may invert buffer the N-th bit (IDEC<N>) of the decoding input signal and output it. The transfer gate T31(1) is turned on when the first bit (IDEC<1>) of the decoded input signal is at a logic high level, so that the table input signal TIN<1:N> is applied to the first variable latch 33(1). )). The transfer gate T31(2) is turned on when the second bit (IDEC<2>) of the decoded input signal is at a logic high level, so that the table input signal TIN<1:N> is transferred to the second variable latch 33(2). )). The transfer gate T31(N) is turned on when the N-th bit (IDEC<N>) of the decoding input signal is at a logic high level, and thus applies the table input signal TIN<1:N> to the N-th variable latch 33(N). )).

디코딩입력회로(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 decoding input circuit 31 converts the table input signal TIN<1:N> based on the decoding input signal IDEC<1:N> into the first to Nth variable latches 33 included in the variable latch circuit 32. (1:N)). The decoding input circuit 31 receives the table input signal TIN<1:N> through a path selected by the decoding input signal IDEC<1:N>, and receives the first to the first to the variable latch circuit 32. It can be delivered to the Nth variable latch 33 (1:N).

가변래치회로(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 table output circuit 35 uses one of the first to Nth variable latch signals SLAT1<1:N> to SLATN<1:N> based on the output selection signal OSEL<1:T> as a result of the activation function. It may be selected as a value and output as a first table output signal TOUT1<1:N>. The table output circuit 35 outputs one of the first to Nth variable latch signals SLAT1<1:N> to SLATN<1:N> according to the logic level combination of the output selection signals OSEL<1:T>. The first to the Nth variable latch signals SLAT1<1:N> to SLATN are selected as the first table output signal TOUT1<1:N> or the output selection signal OSEL<1:T> is decoded. One of <1:N>) may be selected as the first table output signal TOUT1<1:N>. The detailed configuration and operation of the table output circuit 35 will be described with reference to FIGS. 5 and 6.

도 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 table output circuit 35a may include inverters IV351, IV353, and IV355 and transfer gates T351, T353, and T355. The inverter IV351 may perform an inversion buffering of the first bit OSEL<1> of the output selection signal and output it. The inverter IV353 may invert buffer the second bit (OSEL<2>) of the output selection signal and output it. The inverter IV355 may perform an inversion buffering of the N-th bit (OSEL<N>) of the output selection signal and output it. The transfer gate T351 is turned on when the first bit (OSEL<1>) of the output selection signal is at a logic high level, and transmits the first variable latch signal SLAT1<1:N> to the first table output signal TOUT1<1. :N>). The transfer gate T353 is turned on when the second bit (OSEL<2>) of the output selection signal is at a logic high level, and transmits the second variable latch signal SLAT2<1:N> to the first table output signal TOUT1<1. :N>). The transfer gate T355 is turned on when the N-th bit (OSEL<N>) of the output selection signal is at a logic high level to transmit the N-th variable latch signal SLATN<1:N> to the first table output signal TOUT1<1. :N>). In this embodiment, the number of bits T of the output selection signal OSEL<1:T> may be set equal to N.

도 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 table output circuit 35b may include an output selection decoder 371 and a decoding output circuit 372. The output selection decoder 371 may generate a decoding selection signal DSEL<1:N> by decoding the output selection signal OSEL<1:T>. The decoding output circuit 373 may include inverters IV371, IV373, and IV375 and transfer gates T371, T373, and T375. The inverter IV371 may invert buffer the first bit (DSEL<1>) of the decoding selection signal and output it. The inverter IV373 may invert buffer the second bit (DSEL<2>) of the decoding selection signal and output it. The inverter IV375 may invert buffer the N-th bit (DSEL<N>) of the decoding selection signal and output it. The transfer gate T371 is turned on when the first bit (DSEL<1>) of the decoding selection signal is at a logic high level, and transmits the first variable latch signal SLAT1<1:N> to the first table output signal TOUT1<1. :N>). The transfer gate T373 is turned on when the second bit (DSEL<2>) of the decoding selection signal is at a logic high level, and transmits the second variable latch signal SLAT2<1:N> to the first table output signal TOUT1<1. :N>). The transfer gate T375 is turned on when the N-th bit (DSEL<N>) of the decoding selection signal is at a logic high level to transmit the N-th variable latch signal SLATN<1:N> to the first table output signal TOUT1<1. :N>).

도 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 table storage circuit 24 may include a fixed latch circuit 41 and a fixed table output circuit 43. The fixing latch circuit 41 may include first to Nth fixing latches 41 (1:N). The first fixed latch 41(1) may have a first fixed latch signal FLAT1<1:N> embedded in a high-ware manner (hard wired). The second fixed latch 41(2) may have a second fixed latch signal FLAT2<1:N> embedded in a high-ware manner. The N-th fixed latch 41(N) may have an N-th fixed latch signal FLATN<1:N> embedded in a high-ware manner. Each of the first to Nth fixed latch signals FLAT1<1:N> to FLATN<1:N> stored in the first to Nth fixed latches 41(1:N) is sigmoid, Tanh, ReLu, and Leaky ReLU. One of and Maxout are result values implemented to be stored in the form of a rut-up table. Logic level combinations of the output selection signals OSEL<1:T> corresponding to each of the first to Nth fixed latch signals FLAT1<1:N> to FLATN<1:N> may be set. The fixed table output circuit 43 uses one of the first to Nth fixed latch signals FLAT1<1:N> to FLATN<1:N> based on the output selection signal OSEL<1:T>. It may be selected as a result value and output as a second table output signal TOUT2<1:N>. The third table storage circuit 25 and the fourth table storage circuit 26 illustrated in FIG. 3 may be implemented as circuits having the same structure as the second table storage circuit 24 illustrated in FIG. 7.

이상 살펴본 바와 같이 구성된 본 실시예에 따른 반도체시스템(1)은 신경망에서 사용되는 액티베이션함수(activation function)에 대한 정보를 커맨드 및 어드레스로 입력받아 룻업테이블(Look Up Table) 형식으로 저장함으로써, 다양하게 설정된 액티베이션함수를 설계변경 없이 신경망에 적용할 수 있다.The semiconductor system 1 according to the present embodiment configured as described above receives information on an activation function used in a neural network as a command and an address and stores it in a Look Up Table format. The set activation function can be applied to the neural network without design change.

도 8을 참고하면 본 발명의 다른 실시예에 따른 반도체장치(5)는 제어신호디코더(51) 및 액티베이션처리회로(53)를 포함할 수 있다.Referring to FIG. 8, a semiconductor device 5 according to another embodiment of the present invention may include a control signal decoder 51 and an activation processing circuit 53.

제어신호디코더(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 control signal decoder 51 receives the internal data (IDATA) and receives a table setting signal (TSC), an input selection signal (ISEL<1:M>), a table input signal (TIN<1:N>), and a function selection signal ( FS<1:J>) can be set. The internal data IDATA may be generated based on the data DATA input from the outside of the semiconductor device 5. The control signal decoder 51 selects a table setting signal (TSC), an input selection signal (ISEL<1:M>), a table input signal (TIN<1:N>) and a function from sequentially inputted internal data (IDATA). Signals (FS<1:J>) can be set. The internal data IDATA may include a plurality of bits according to an embodiment.

액티베이션처리회로(53)는 테이블설정신호(TSC), 입력선택신호(ISEL<1:M>) 및 테이블입력신호(TIN<1:N>)를 토대로 신경망에서 사용되는 액티베이션함수를 룻업테이블 형식으로 저장할 수 있다. 액티베이션처리회로(53)는 다양한 액티베이션함수들을 하드웨어적으로 내장할 수 있다. 액티베이션처리회로(53)는 출력선택신호(OSEL<1:T>)를 토대로 함수선택신호(FS<1:J>)에 의해 선택된 액티베이션함수에 의한 결과값을 출력분포신호(ODST<1:N>)로 선택하여 출력할 수 있다. 액티베이션처리회로(53)의 구성 및 동작은 도 1에 도시된 액티베이션처리회로(151)와 동일하므로 보다 구체적인 설명은 생략한다.The activation processing circuit 53 converts the activation function used in the neural network into a lookup table format based on a table setting signal (TSC), an input selection signal (ISEL<1:M>), and a table input signal (TIN<1:N>). Can be saved. The activation processing circuit 53 may embed various activation functions in hardware. The activation processing circuit 53 outputs the result value of the activation function selected by the function selection signal FS<1:J> based on the output selection signal OSEL<1:T> and the output distribution signal ODST<1:N. You can print by selecting >). Since the configuration and operation of the activation processing circuit 53 is the same as that of the activation processing circuit 151 shown in FIG. 1, a more detailed description will be omitted.

이상 살펴본 바와 같이 구성된 본 실시예에 따른 반도체장치(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 semiconductor device 6 according to another embodiment of the present invention may include a mode register 61 and an activation processing circuit 63.

모드레지스터(61)는 모드레지스터셋(Mode Register Set)을 통해 테이블설정신호(TSC), 입력선택신호(ISEL<1:M>), 테이블입력신호(TIN<1:N>) 및 함수선택신호(FS<1:J>)를 저장할 수 있다.The mode register 61 is a table setting signal (TSC), an input selection signal (ISEL<1:M>), a table input signal (TIN<1:N>) and a function selection signal through a mode register set. (FS<1:J>) can be saved.

액티베이션처리회로(63)는 테이블설정신호(TSC), 입력선택신호(ISEL<1:M>) 및 테이블입력신호(TIN<1:N>)를 토대로 신경망에서 사용되는 액티베이션함수를 룻업테이블 형식으로 저장할 수 있다. 액티베이션처리회로(63)는 다양한 액티베이션함수들을 하드웨어적으로 내장할 수 있다. 액티베이션처리회로(63)는 출력선택신호(OSEL<1:T>)를 토대로 함수선택신호(FS<1:J>)에 의해 선택된 액티베이션함수에 의한 결과값을 출력분포신호(ODST<1:N>)로 선택하여 출력할 수 있다. 액티베이션처리회로(63)의 구성 및 동작은 도 1에 도시된 액티베이션처리회로(151)와 동일하므로 보다 구체적인 설명은 생략한다.The activation processing circuit 63 converts the activation function used in the neural network into a lookup table format based on a table setting signal (TSC), an input selection signal (ISEL<1:M>), and a table input signal (TIN<1:N>). Can be saved. The activation processing circuit 63 may embed various activation functions in hardware. The activation processing circuit 63 outputs the result value of the activation function selected by the function selection signal FS<1:J> based on the output selection signal OSEL<1:T> and the output distribution signal ODST<1:N. You can print by selecting >). Since the configuration and operation of the activation processing circuit 63 is the same as that of the activation processing circuit 151 shown in FIG. 1, a more detailed description will be omitted.

이상 살펴본 바와 같이 구성된 본 실시예에 따른 반도체장치(6)는 신경망에서 사용되는 액티베이션함수(activation function)에 대한 정보를 모드레지스터에서 저장된 정보를 토대로 룻업테이블(Look Up Table) 형식으로 저장함으로써, 다양하게 설정된 액티베이션함수를 설계변경 없이 신경망에 적용할 수 있다.The semiconductor device 6 according to the present embodiment configured as described above stores information on an activation function used in a neural network in a Look Up Table format based on information stored in a mode register. It is possible to apply the set activation function to a neural network without design change.

앞서, 도 1에서 살펴본 반도체시스템(1), 도 8에서 살펴본 반도체장치(5) 및 도 9에서 살펴본 반도체장치(6)는 메모리시스템, 그래픽시스템, 컴퓨팅시스템 및 모바일시스템 등을 포함하는 전자시스템에 적용될 수 있다. 예를 들어, 도 10을 참고하면 본 발명의 일 실시 예에 따른 전자시스템(1000)은 데이터저장부(1001), 메모리컨트롤러(1002), 버퍼메모리(1003) 및 입출력인터페이스(1004)를 포함할 수 있다.Previously, the semiconductor system 1 shown in Fig. 1, the semiconductor device 5 shown in Fig. 8, and the semiconductor device 6 shown in Fig. 9 are used in electronic systems including a memory system, a graphic system, a computing system, and a mobile system. Can be applied. For example, referring to FIG. 10, the electronic system 1000 according to an embodiment of the present invention includes a data storage unit 1001, a memory controller 1002, a buffer memory 1003, and an input/output interface 1004. I can.

데이터저장부(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 data storage unit 1001 stores data applied from the memory controller 1002 according to a control signal from the memory controller 1002, reads the stored data, and outputs the data to the memory controller 1002. The data storage unit 1001 may include the semiconductor device 13 shown in FIG. 1, the semiconductor device 5 shown in FIG. 8, and the semiconductor device 6 shown in FIG. 9. Meanwhile, the data storage unit 1001 may include a nonvolatile memory capable of continuously storing data without losing data even when power is cut off. Non-volatile memory includes flash memory (NAND Flash Memory), phase change memory (PRAM), resistive random access memory (RRAM), and spin transfer torque randomization. It may be implemented as an Access Memory (STTRAM) or a Magnetic Random Access Memory (MRAM).

메모리컨트롤러(1002)는 입출력인터페이스(1004)를 통해 외부기기(호스트 장치)로부터 인가되는 명령어를 디코딩하고 디코딩된 결과에 따라 데이터저장부(1001) 및 버퍼메모리(1003)에 대한 데이터 입출력을 제어한다. 도 10에서는 메모리컨트롤러(1002)가 하나의 블럭으로 표시되었으나, 메모리컨트롤러(1002)는 데이터저장부(1001)를 제어하기 위한 컨트롤러와 휘발성 메모리인 버퍼메모리(1003)를 제어하기 위한 컨트롤러가 독립적으로 구성될 수 있다.The memory controller 1002 decodes a command applied from an external device (host device) through the input/output interface 1004 and controls data input/output to the data storage unit 1001 and the buffer memory 1003 according to the decoded result. . In FIG. 10, the memory controller 1002 is shown as one block, but the memory controller 1002 independently has a controller for controlling the data storage unit 1001 and a controller for controlling the buffer memory 1003, which is a volatile memory. Can be configured.

버퍼메모리(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 buffer memory 1003 may temporarily store data to be processed by the memory controller 1002, that is, data input/output to the data storage unit 1001. The buffer memory 1003 may store data DATA applied from the memory controller 1002 according to a control signal. The buffer memory 1003 may include the semiconductor device 13 shown in FIG. 1, the semiconductor device 5 shown in FIG. 8, and the semiconductor device 6 shown in FIG. 9. The buffer memory 1003 reads the stored data and outputs it to the memory controller 1002. The buffer memory 1003 may include a volatile memory such as a dynamic random access memory (DRAM), a Moblie DRAM, and a static random access memory (SRAM).

입출력인터페이스(1004)는 메모리컨트롤러(1002)와 외부기기(호스트) 사이의 물리적 연결을 제공하여 메모리컨트롤러(1002)가 외부기기로부터 데이터 입출력을 위한 제어신호를 수신하고 외부기기와 데이터를 교환할 수 있도록 해준다. 입출력인터페이스(1004)는 USB, MMC, PCI-E, SAS, SATA, PATA, SCSI, ESDI, 및 IDE 등과 같은 다양한 인터페이스 프로토콜들 중 하나를 포함할 수 있다.The input/output interface 1004 provides a physical connection between the memory controller 1002 and an external device (host) so that the memory controller 1002 can receive a control signal for data input/output from an external device and exchange data with an external device. Allows you to The input/output interface 1004 may include one of various interface protocols such as USB, MMC, PCI-E, SAS, SATA, PATA, SCSI, ESDI, and IDE.

전자시스템(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 electronic system 1000 may be used as an auxiliary storage device of a host device or an external storage device. The electronic system 1000 includes a solid state disk (SSD), a USB memory (Universal Serial Bus Memory), a Secure Digital (SD), a mini Secure Digital card (mSD), and a micro secure digital card. Digital Card (micro SD), Secure Digital High Capacity (SDHC), Memory Stick Card, Smart Media Card (SM), Multi Media Card (MMC) , A built-in multimedia card (EMMC), a compact flash card (CF), and the like.

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.
제 1 항에 있어서, 상기 내부제어신호는 커맨드 및 어드레스가 포함되어 전송되는 제어신호로부터 생성되는 반도체장치.
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.
제 1 항에 있어서, 상기 제1 테이블저장회로는 제1 가변래치 및 제2 가변래치를 포함하고, 상기 입력선택신호에 따라 상기 제1 가변래치 또는 제2 가변래치에 상기 테이블입력신호가 입력되어 저장되는 반도체장치.
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.
제 1 항에 있어서, 상기 액티베이션처리회로는 신경망회로에서 사용되는 제2 액티베이션함수가 하드웨어적으로 내장된 제2 테이블저장회로를 더 포함하는 반도체장치.
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.
제 4 항에 있어서, 상기 제2 액티베이션함수는 sigmoid, Tanh, ReLu, Leaky ReLU 및 Maxout 중 하나로 설정되는 반도체장치.
The semiconductor device according to claim 4, wherein the second activation function is set to one of sigmoid, Tanh, ReLu, Leaky ReLU, and Maxout.
제 4 항에 있어서, 상기 제2 테이블저장회로는 출력선택신호를 토대로 상기 제2 액티베이션함수의 결과값을 추출하여 상기 출력분포신호를 생성하기 위한 제2 테이블출력신호로 출력하는 반도체장치.
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.
제 6 항에 있어서, 상기 액티베이션처리회로는 함수선택신호를 토대로 상기 제1 테이블출력신호 및 상기 제2 테이블출력신호 중 하나를 상기 출력분포신호로 출력하는 반도체장치.
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.
제 7 항에 있어서, 상기 함수선택신호는 모드레지스터셋을 통해 모드레지스터에 저장되고 출력되는 반도체장치.
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.
제 1 항에 있어서, 상기 출력선택신호는 제1 입력분포신호 및 제2 입력분포신호에 대한 덧셈연산 및 곱셈연산을 포함하는 MAC 연산동작 및 양자화를 수행하여 생성되는 반도체장치.
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.
제 9 항에 있어서, 상기 제1 입력분포신호는 신경망에서 사용되는 특징값들로 설정되고, 상기 제2 입력분포신호는 신경망에서 사용되는 가중치들로 설정되는 반도체장치.
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.
제 9 항에 있어서, 제1 입력분포신호 및 제2 입력분포신호는 데이터입력회로 및 코어회로 중 적어도 하나로부터 생성되는 반도체장치.
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.
제 12 항에 있어서, 상기 내부데이터는 외부에서 입력되는 데이터로부터 생성되는 반도체장치.
13. The semiconductor device of claim 12, wherein the internal data is generated from data input from an external source.
제 12 항에 있어서, 상기 액티베이션처리회로는 신경망회로에서 사용되는 제2 액티베이션함수가 하드웨어적으로 내장된 제2 테이블저장회로를 더 포함하는 반도체장치.
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.
제 14 항에 있어서, 상기 제2 테이블저장회로는 출력선택신호를 토대로 상기 제2 액티베이션함수의 결과값을 추출하여 상기 출력분포신호를 생성하기 위한 제2 테이블출력신호로 출력하는 반도체장치.
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.
제 15 항에 있어서, 상기 액티베이션처리회로는 함수선택신호를 토대로 상기 제1 테이블출력신호 및 상기 제2 테이블출력신호 중 하나를 상기 출력분포신호로 출력하는 반도체장치.
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.
제 16 항에 있어서, 상기 함수선택신호는 상기 내부데이터를 디코딩하여 생성되는 반도체장치.
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.
제 18 항에 있어서, 상기 액티베이션처리회로는 신경망회로에서 사용되는 제2 액티베이션함수가 하드웨어적으로 내장된 제2 테이블저장회로를 더 포함하되,
상기 제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.
제 19 항에 있어서, 상기 액티베이션처리회로는 함수선택신호를 토대로 상기 제1 테이블출력신호 및 상기 제2 테이블출력신호 중 하나를 상기 출력분포신호로 출력하되, 상기 함수선택신호는 상기 모드레지스터셋을 통해 상기 모드레지스터에 저장되는 반도체장치.
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.
KR1020190138114A 2019-10-31 2019-10-31 Semiconductor device KR20210052059A (en)

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)

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