包括神经网络的半导体装置

文档序号:1510357 发布日期:2020-02-07 浏览:32次 >En<

阅读说明:本技术 包括神经网络的半导体装置 (Semiconductor device including neural network ) 是由 黑川义元 原田伸太郎 于 2018-06-11 设计创作,主要内容包括:提供一种能够高效地进行利用神经网络的图像识别的半导体装置。半导体装置包括移位寄存器群、D/A转换器以及积和运算电路。积和运算电路包括模拟存储器,并储存滤波器的参数。移位寄存器群提取图像数据,在使图像数据移位的同时将图像数据的一部分输出到D/A转换器。D/A转换器将被输入的图像数据的一部分转换为模拟数据而输出到积和运算电路。(Provided is a semiconductor device capable of efficiently performing image recognition using a neural network. The semiconductor device includes a shift register group, a D/A converter, and a product-sum operation circuit. The product-sum operation circuit includes an analog memory and stores parameters of the filter. The shift register group extracts image data, and outputs a part of the image data to the D/a converter while shifting the image data. The D/a converter converts a part of the input image data into analog data and outputs the analog data to the product-sum operation circuit.)

包括神经网络的半导体装置

技术领域

本发明的一个方式涉及一种包括神经网络的半导体装置。尤其是,涉及一种能够进行利用神经网络的图像识别的半导体装置。

注意,在本说明书等中,半导体装置是指能够通过利用半导体特性而工作的所有装置。显示装置、发光装置、存储装置、电光装置、蓄电装置、半导体电路以及电子设备有时包括半导体装置。

注意,本发明的一个方式不局限于上述技术领域。本说明书等所公开的发明的技术领域涉及一种物体、方法或制造方法。另外,本发明的一个方式涉及一种工序(process)、机器(machine)、产品(manufacture)或组合物(composition of matter)。

背景技术

神经网络是以神经网络为模型的信息处理系统。被期待着通过利用神经网络可以实现比现有的诺依曼型计算机更高性能的计算机,近年来,已开展对构成神经网络的各种研究工作。

神经网络具有以由神经元和突触构成的神经电路网为模型的电路结构。每个神经元被输入多个数据,每个数据乘以表示结合强度的“权系数”,其结果被加在一起。当通过上述方法得到的积和运算的结果超过阈值时,神经元输出高电平信号,该现象被称为“发火”。

神经网络例如被用于图像识别领域。

在图像识别领域,对图像数据边滑动滤波器的参数边相乘,进行检测图像数据的特征的卷积。卷积进行多次,最初的卷积中检测图像的边缘等,后面的卷积中检测图像的形状或图案等复杂的特征。

在图像识别领域,将图像数据划分为小区域并对其进行例如取出最大值的池化处理。即使物体的位置发生变化池化处理也可以将其看作同一物体,可以允许在卷积中检测出的特征等的位置偏差。池化处理在很多情况下在卷积之后进行,例如将卷积与池化处理组合而进行多次。

当将神经网络用于图像识别领域时,图像识别领域中的图像数据及滤波器的参数分别相当于神经网络中输入到神经元的多个数据及权系数。换言之,图像识别领域的卷积为积和运算,需要快速且高效地进行如下处理:利用积和运算电路进行运算、将图像数据提取至积和运算电路、积和运算之后的池化处理等。

在专利文献1中公开了如下例子:使用CPU(Central Processing Unit:中央处理器)或GPU(Graphics Processing Unit:图形处理器)等处理器进行利用神经网络的机械学习,以进行手写文字的识别。

另外,近年来,将沟道形成区域中包含氧化物半导体或金属氧化物的晶体管(氧化物半导体(Oxide Semiconductor)晶体管,以下将其称为OS晶体管)受到关注。OS晶体管的关态电流(off-state current)极小。已提出了利用该特性的使用OS晶体管的应用程序。例如,专利文献2公开了在神经网络的学习中使用OS晶体管的例子。

[先行技术文献]

[专利文献]

[专利文献1]日本专利申请公开第2005-182785号公报

[专利文献2]日本专利申请公开第2016-219011号公报

发明所要解决的技术问题

在利用神经网络的运算中,主要的运算为积和运算,利用神经网络的图像识别需要通过重复积和运算的庞大的计算量。因此,在使用CPU或GPU等数据电路构成神经网络时,所需要的晶体管数庞大,耗电量高,效率低。

当将神经网络用于图像识别时,即使提高积和运算的速度,如果作为输入数据的图像数据输入到积和运算电路的速度较慢,也会导致整体处理速度下降。

本发明的一个方式的目的之一是提供一种能够高效地进行图像识别的半导体装置。本发明的一个方式的目的之一是提供一种能够高效地进行积和运算的半导体装置。本发明的一个方式的目的之一是提供一种新颖的半导体装置。

注意,本发明的一个方式并不需要实现所有上述目的,只要可以实现至少一个目的即可。另外,上述目的的记载不妨碍其他目的的存在。上述以外的目的自可从说明书、权利要求书、附图等的记载显而易见,且可以从说明书、权利要求书、附图等的记载中抽出上述以外的目的。

解决技术问题的手段

本发明的一个方式是一种半导体装置,包括:移位寄存器群;D/A转换器;以及积和运算电路。移位寄存器群提取图像数据,移位寄存器群进行使图像数据移位的工作以及将图像数据的一部分输出到D/A转换器的工作。D/A转换器的特征在于将图像数据的一部分转换为模拟数据而输出到积和运算电路。

在上述方式中,积和运算电路包括模拟存储器,模拟存储器中储存有参数。积和运算电路的特征在于输出对图像数据的一部分与参数进行积和运算的结果。

在上述方式中,构成模拟存储器的晶体管在沟道形成区域中包含金属氧化物。

本发明的一个方式是一种半导体装置,包括:D/A转换器;移位寄存器群;以及积和运算电路。D/A转换器被输入图像数据,D/A转换器将图像数据被转换为模拟数据的第一数据输出到移位寄存器群。移位寄存器群进行使第一数据移位的工作以及将第一数据的一部分作为第二数据输出到积和运算电路的工作。积和运算电路包括模拟存储器,模拟存储器中储存有参数。积和运算电路的特征在于输出对第二数据与参数进行积和运算的结果。

在上述方式中,构成模拟存储器的晶体管在沟道形成区域中包含金属氧化物。

在上述方式中,构成移位寄存器群的晶体管在沟道形成区域中包含金属氧化物。

本发明的一个方式是一种半导体装置,包括:移位寄存器群;D/A转换器;积和运算电路;以及池化电路。移位寄存器群提取图像数据,移位寄存器群进行使图像数据移位的工作以及将图像数据的一部分输出到D/A转换器的工作。D/A转换器将图像数据的一部分被转换为模拟数据的第一数据输出到积和运算电路的工作。积和运算电路中储存有参数,积和运算电路的特征在于将第一数据与参数进行积和运算得到的第二数据输出到池化电路。

在上述方式中,积和运算电路的特征在于包括模拟存储器,参数储存在模拟存储器中。

在上述方式中,构成模拟存储器的晶体管在沟道形成区域中包含金属氧化物。

发明效果

根据本发明的一个方式,可以提供一种能够高效地进行图像识别的半导体装置。根据本发明的一个方式,可以提供一种能够高效地进行积和运算的半导体装置。根据本发明的一个方式,可以提供一种新颖的半导体装置。

注意,本发明的一个方式的效果不限定于以上列举的效果。以上列举的效果并不妨碍其他效果的存在。其他效果是在下文记载中说明的、本部分中未说明的效果。所属技术领域的普通技术人员可以从说明书或附图等的记载导出并适当地衍生出该在本部分中未说明的效果。此外,本发明的一个方式具有以上列举的效果和其他效果中的至少一个效果。因此,本发明的一个方式有时根据情况而不具有以上列举的效果。

附图简要说明

[图1](A)示出图像数据的示意图,(B)示出滤波器的参数的示意图。

[图2](A)示出半导体装置的结构例子的方框图,(B)示出移位寄存器所提取的图像数据的图,(C)示出移位寄存器提取图像数据的图。

[图3]示出移位寄存器群的一部分及积和运算电路的工作的示意图。

[图4]示出移位寄存器群的一部分及积和运算电路的工作的示意图。

[图5]示出移位寄存器群的一部分及积和运算电路的工作的示意图。

[图6](A)示出移位寄存器的结构例子的方框图,(B)说明寄存器的输入输出的图,(C)示出寄存器的结构例子的电路图。

[图7](A、B、C、D)说明移位寄存器的工作的图。

[图8](A)示出移位寄存器的结构例子的方框图,(B)示出开关的结构例子的电路图。

[图9](A)示出移位寄存器的结构例子的方框图,(B)说明寄存器的输入输出的图,(C)示出寄存器的结构例子的电路图。

[图10](A)示出寄存器的结构例子的电路图,(B)示出半导体装置的结构例子的方框图。

[图11]时序图。

[图12]示出移位寄存器群的一部分及积和运算电路的工作的示意图。

[图13]示出移位寄存器群的一部分及积和运算电路的工作的示意图。

[图14](A)示出半导体装置的结构例子的方框图,(B)示出分层神经网络的结构例子的图,(C、D)示出用于运算处理的电路结构的图。

[图15](A)误差反向传播方式的示意图,(B、C、D)示出用于运算处理的电路结构的图。

[图16]示出积和运算电路的结构例子的图。

[图17]示出存储电路及参考用存储电路的结构的图。

[图18]示出存储单元的电路结构及连接关系的图。

[图19]示出电路13、电路14以及电流源电路的结构的图。

[图20]时序图。

[图21](A、B)说明电子设备的结构的图。

[图22](A、B)说明电子设备的结构的图。

实施发明的方式

下面,参照附图对实施方式进行说明。注意,所属技术领域的普通技术人员可以很容易地理解一个事实,就是实施方式可以以多个不同形式来实施,其方式和详细内容可以在不脱离本发明的宗旨及其范围的条件下被变换为各种各样的形式。因此,本发明不应该被解释为仅限定在以下所示的实施方式所记载的内容中。

下面所示的多个实施方式可以适当地组合。另外,当在一个实施方式中示出多个结构例子时,可以适当地相互组合这些结构例子。

本说明书的方框图示出在独立的方框中根据其功能进行分类的构成要素,但是,实际的构成要素难以根据功能被清楚地划分,一个构成要素有时具有多个功能。

在附图等中,为了方便起见,有时夸大表示大小、层的厚度或区域。因此,本发明并不局限于附图中的尺寸。在附图中,示意性地示出理想的例子,因此本发明不局限于附图所示的形状或数值等。

在附图等中,有时使用同一附图标记表示同一构成要素、具有相同功能的构成要素、由同一材料形成的构成要素或者同时形成的构成要素等,并且有时省略重复说明。

在本说明书等中,“膜”和“层”可以相互调换。例如,有时可以将“导电层”调换为“导电膜”。此外,有时可以将“绝缘膜”调换为“绝缘层”。

在本说明书等中,“上”或“下”等表达配置的词句不局限于构成要素的位置关系为“直接在…之上”或“直接在…之下”。例如,“栅极绝缘层上的栅电极”包括在栅极绝缘层和栅电极之间包含另一构成要素的情况。

在本说明书等中,“平行”是指两条直线形成的角度为-10°以上且10°以下的状态。因此也包括该角度为-5°以上且5°以下的状态。另外,“垂直”是指两条直线的角度为80°以上且100°以下的状态。因此,也包括该角度为85°以上且95°以下的状态。

另外,本说明书等中的“第一”、“第二”、“第三”等的序数词是为了避免构成要素的混淆而附记的,而不是用于在数目方面上进行限制。

在本说明书等中,“电连接”包括通过“具有某种电作用的元件”连接的情况。这里,“具有某种电作用的元件”只要可以进行连接对象间的电信号的授受,就对其没有特别的限制。例如,“具有某种电作用的元件”不仅包括电极和布线,而且还包括晶体管等的开关元件、电阻元件、电感器、电容器、其他具有各种功能的元件等。

注意,在本说明书等中,“电压”大多是指某个电位与基准电位(例如接地电位)之间的电位差。因此,电压和电位差可以互相调换。

在本说明书等中,晶体管是指至少包括栅极、漏极以及源极这三个端子的元件。晶体管在漏极(漏极端子、漏区域或漏电极)与源极(源极端子、源区域或源电极)之间具有沟道区域,并且电流能够通过沟道区域流过漏极与源极之间。注意,在本说明书等中,沟道区域是指电流主要流过的区域。

另外,在使用极性不同的晶体管的情况或电路工作中的电流方向变化的情况等下,源极及漏极的功能有时互相调换。因此,在本说明书等中,源极和漏极可以相互调换。

另外,在本说明书等中,在没有特别的说明的情况下,关态电流是指晶体管处于关闭状态(也称为非导通状态、遮断状态)时的漏极电流。在没有特别的说明的情况下,在n沟道型晶体管中,关闭状态是指对于源极的栅极的电压Vgs低于阈值电压Vth的状态,在p沟道型晶体管中,关闭状态是指对于源极的栅极的电压Vgs高于阈值电压Vth的状态。也就是说,n沟道型晶体管的关态电流有时是指对于源极的栅极的电压Vgs低于阈值电压Vth时的漏极电流。

在上述关态电流的说明中,可以将漏极换称为源极。也就是说,关态电流有时指晶体管处于关闭状态时的源极电流。另外,泄漏电流有时指与关态电流相同的意思。在本说明书等中,关态电流例如有时指在晶体管处于关闭状态时流在源极与漏极间的电流。

在本说明书等中,金属氧化物(metal oxide)是指广义上的金属的氧化物。金属氧化物被分类为氧化物绝缘体、氧化物导电体(包括透明氧化物导电体)和氧化物半导体(Oxide Semiconductor,也简称为OS)等。例如,在将金属氧化物用于晶体管的活性层的情况下,有时将该金属氧化物称为氧化物半导体。换言之,在金属氧化物具有放大作用、整流作用和开关作用中的至少一个的情况下,可以将该金属氧化物称为金属氧化物半导体(metal oxide semiconductor),或者可以将其缩称为OS。此外,可以将OS晶体管或OS FET换称为包含金属氧化物或氧化物半导体的晶体管。

(实施方式1)

在本实施方式中,对能够高效地进行利用神经网络的图像识别的半导体装置进行说明。

<半导体装置>

半导体装置100包括积和运算电路80,并具有从帧存储器50提取图像数据而进行卷积的功能。

以下,半导体装置100所提取的图像数据由n行m列的图像数据P(1、1)至P(n、m)(n、m为2以上的整数)表示,积和运算电路80所包括的滤波器由s行t列的滤波器F(1、1)至F(s、t)(s、t为1以上的整数,s>n、t<m)表示。F(1、1)至F(s、t)分别为构成滤波器的参数。图1A示出图像数据的示意图,图1B示出滤波器的参数的示意图。

例如,在n=m=3、s=t=2时,半导体装置100输出输出Y(1、1)至Y(2、2)。

Y(1、1)=P(1、1)×F(1、1)+P(1、2)×F(1、2)+P(2、1)×F(2、1)+P(2、2)×F(2、2) (a1)

Y(1、2)=P(1、2)×F(1、1)+P(1、3)×F(1、2)+P(2、2)×F(2、1)+P(2、3)×F(2、2) (a2)

Y(2、1)=P(2、1)×F(1、1)+P(2、2)×F(1、2)+P(3、1)×F(2、1)+P(3、2)×F(2、2) (a3)

Y(2、2)=P(2、2)×F(1、1)+P(2、3)×F(1、2)+P(3、2)×F(2、1)+P(3、3)×F(2、2) (a4)

以通式表示算式a1至a4则为:

Y(y、x)=∑j(∑iP(j+y-1、i+x-1)×F(j、i)) (a5)。

注意,j为1至s的整数,i为1至t的整数,y为1至n-s+1的整数,x为1至m-t+1的整数。

半导体装置100包括移位寄存器群60及D/A转换器70(参照图2A)。

移位寄存器群60分别包括能够储存1行p列的图像数据的移位寄存器SR_P[1]至SR_P[q](q、p为1以上的整数,n≥q≥s,m≥p≥t)。

移位寄存器SR_P[1]提取图像数据P(1、1)至P(1、p),移位寄存器SR_P[2]提取图像数据P(2、1)至P(2、p),以下同样地,移位寄存器SR_P[q]提取图像数据P(q、1)至P(q、p)。图2B及图2C示出该情况。

在图2B中,由虚线围绕的区域51内的图像数据被提取到移位寄存器SR_P[1]至SR_P[q]。图2C所示的移位寄存器群60示出移位寄存器SR_P[1]至SR_P[q]分别提取图像数据的情况。

注意,图像数据P(1、1)至P(n、m)分别为相当于1像素的图像数据,是由多个bit构成的数码信号。因此,提取图像数据P(1、1)至P(1、p)的移位寄存器SR_P[1]可以储存p×图像数据1像素的bit数。

移位寄存器SR_P[1]至SR_P[q]所提取的图像数据通过D/A转换器70转换为模拟信号,然后被输入到积和运算电路80。

<移位寄存器群及积和运算电路1>

接着,图3示出移位寄存器群60的一部分及积和运算电路80。注意,在图3中省略D/A转换器70,积和运算电路80所包括的滤波器F(1、1)至F(s、t)表示s=t=3的情况。

在图3中,移位寄存器群60所包括的移位寄存器SR_P[1]至SR_P[q]分别输出s个图象数据,即三个图像数据。移位寄存器SR_P[1]至SR_P[q]所输出的图像数据作为信号RW[1]至RW[3q]被输入到积和运算电路80,在积和运算电路80中与滤波器F(1、1)至F(3、3)进行积和运算。

注意,图3是示出进行积和运算的情况的示意图。输入到积和运算电路80的信号RW[1]至RW[3q]沿着与箭头R1所示的方向平行的线传送信号,在与表示滤波器的参数的F(1、1)至F(3、3)的交点分别计算信号与滤波器的乘积。当算出各信号与滤波器的乘积时,其结果在以箭头C1表示的方向被加在一起,加在一起的结果是积和运算电路80的输出Y(1、1)至Y(q-2、1)。

在图3中,移位寄存器SR_P[1]输出移位寄存器SR_P[1]所提取的图像数据P(1、1)至P(1、p)中的图像数据P(1、1)至P(1、3)(在图3中,信号RW[1]至RW[3])。

虽然在图3中省略,但是信号RW[1]至RW[3]通过D/A转换器70转换为模拟信号,被输入到积和运算电路80。信号RW[1]至RW[3]在积和运算电路80中分别乘以滤波器F(1、1)至F(1、3)。注意,关于积和运算电路80的具体结构例子,在实施方式2中进行说明。

同样地,移位寄存器SR_P[2]输出图像数据P(2、1)至P(2、3)(在图3中,信号RW[4]至RW[6]),移位寄存器SR_P[3]输出图像数据P(3、1)至P(3、3)(在图3中,信号RW[7]至RW[9])。

信号RW[4]至RW[6]在积和运算电路80中分别乘以滤波器F(2、1)至F(2、3),信号RW[7]至RW[9]在积和运算电路80中分别乘以滤波器F(3、1)至F(3、3)。

将信号RW[1]至RW[3]的值乘以滤波器的值F(1、1)至F(1、3)的结果、信号RW[4]至RW[6]的值乘以滤波器的值F(2、1)至F(2、3)的结果、信号RW[7]至RW[9]的值乘以滤波器的值F(3、1)至F(3、3)的结果加在一起,积和运算电路80输出Y(1、1)。

同样地,移位寄存器SR_P[2]所输出的图像数据P(2、1)至P(2、3)作为信号RW[4]至RW[6]的值分别乘以滤波器的值F(1、1)至F(1、3),移位寄存器SR_P[3]所输出的图像数据P(3、1)至P(3、3)作为信号RW[7]至RW[9]的值分别乘以滤波器的值F(2、1)至F(2、3),移位寄存器SR_P[4]所输出的图像数据P(4、1)至P(4、3)作为信号RW[10]至RW[12]的值分别乘以滤波器的值F(3、1)至F(3、3),它们加在一起,积和运算电路80输出Y(2、1)。

同样地,移位寄存器SR_P[3]所输出的图像数据P(3、1)至P(3、3)作为信号RW[7]至RW[9]的值分别乘以滤波器的值F(1、1)至F(1、3),移位寄存器SR_P[4]所输出的图像数据P(4、1)至P(4、3)作为信号RW[10]至RW[12]的值分别乘以滤波器的值F(2、1)至F(2、3),移位寄存器SR_P[5]所输出的图像数据P(5、1)至P(5、3)作为信号RW[13]至RW[15]的值分别乘以滤波器的值F(3、1)至F(3、3),它们加在一起,积和运算电路80输出Y(3、1)。

同样地,移位寄存器SR_P[q-2]所输出的图像数据P(q-2、1)至P(q-2、3)作为信号RW[3q-8]至RW[3q-6]的值分别乘以滤波器的值F(1、1)至F(1、3),移位寄存器SR_P[q-1]所输出的图像数据P(q-1、1)至P(q-1、3)作为信号RW[3q-5]至RW[3q-3]的值分别乘以滤波器的值F(2、1)至F(2、3),移位寄存器SR_P[q]所输出的图像数据P(q、1)至P(q、3)作为信号RW[3q-2]至RW[3q]的值分别乘以滤波器的值F(3、1)至F(3、3),它们加在一起,积和运算电路80输出Y(q-2、1)。

接着,图4示出使图3中的移位寄存器SR_P[1]至SR_P[q]所提取的图像数据P(1、1)至P(q、p)移位1的状态。

换言之,移位寄存器SR_P[1]输出图像数据P(1、2)至P(1、4),移位寄存器SR_P[2]输出图像数据P(2、2)至P(2、4),移位寄存器SR_P[3]输出图像数据P(3、2)至P(3、4),移位寄存器SR_P[4]输出图像数据P(4、2)至P(4、4),移位寄存器SR_P[5]输出图像数据P(5、2)至P(5、4),移位寄存器SR_P[q]输出图像数据P(q、2)至P(q、4)。

与图3同样地,移位寄存器SR_P[1]所输出的图像数据P(1、2)至P(1、4)作为信号RW[1]至RW[3]的值分别乘以滤波器的值F(1、1)至F(1、3),移位寄存器SR_P[2]所输出的图像数据P(2、2)至P(2、4)作为信号RW[4]至RW[6]的值分别乘以滤波器的值F(2、1)至F(2、3),移位寄存器SR_P[3]所输出的图像数据P(3、2)至P(3、4)作为信号RW[7]至RW[9]的值分别乘以滤波器的值F(3、1)至F(3、3),它们加在一起,积和运算电路80输出Y(1、2)。

以下同样地,关于Y(2、2)及Y(3、2)援用图3的说明。

移位寄存器SR_P[q-2]所输出的图像数据P(q-2、2)至P(q-2、4)作为信号RW[3q-8]至RW[3q-6]的值分别乘以滤波器的值F(1、1)至F(1、3),移位寄存器SR_P[q-1]所输出的图像数据P(q-1、2)至P(q-1、4)作为信号RW[3q-5]至RW[3q-3]的值分别乘以滤波器的值F(2、1)至F(2、3),移位寄存器SR_P[q]所输出的图像数据P(q、2)至P(q、4)作为信号RW[3q-2]至RW[3q]的值分别乘以滤波器的值F(3、1)至F(3、3),它们加在一起,积和运算电路80输出Y(q-2、2)。

图5示出使图3中的移位寄存器SR_P[1]至SR_P[q]所提取的图像数据P(1、1)至P(q、p)移位p-3的状态。

换言之,移位寄存器SR_P[1]输出图像数据P(1、p-2)至P(1、p),移位寄存器SR_P[2]输出图像数据P(2、p-2)至P(2、p),移位寄存器SR_P[3]输出图像数据P(3、p-2)至P(3、p),移位寄存器SR_P[4]输出图像数据P(4、p-2)至P(4、p),移位寄存器SR_P[5]输出图像数据P(5、p-2)至P(5、p),移位寄存器SR_P[q]输出图像数据P(q、p-2)至P(q、p)。

与图3同样地,移位寄存器SR_P[1]所输出的图像数据P(1、p-2)至P(1、p)作为信号RW[1]至RW[3]的值分别乘以滤波器的值F(1、1)至F(1、3),移位寄存器SR_P[2]所输出的图像数据P(2、p-2)至P(2、p)作为信号RW[4]至RW[6]的值分别乘以滤波器的值F(2、1)至F(2、3),移位寄存器SR_P[3]所输出的图像数据P(3、p-2)至P(3、p)作为信号RW[7]至RW[9]的值分别乘以滤波器的值F(3、1)至F(3、3),它们加在一起,积和运算电路80输出Y(1、p-2)。

以下同样地,关于Y(2、p-2)及Y(3、p-2)援用图3的说明。

移位寄存器SR_P[q-2]所输出的图像数据P(q-2、p-2)至P(q-2、p)作为信号RW[3q-8]至RW[3q-6]的值分别乘以滤波器的值F(1、1)至F(1、3),移位寄存器SR_P[q-1]所输出的图像数据P(q-1、p-2)至P(q-1、p)作为信号RW[3q-5]至RW[3q-3]的值分别乘以滤波器的值F(2、1)至F(2、3),移位寄存器SR_P[q]所输出的图像数据P(q、p-2)至P(q、p)作为信号RW[3q-2]至RW[3q]的值分别乘以滤波器的值F(3、1)至F(3、3),它们加在一起,积和运算电路80输出Y(q-2、p-2)。

如此,积和运算电路80通过反复进行如下工作可以减少半导体装置100对帧存储器50访问的次数,即:进行从移位寄存器群60输出的图像数据及滤波器F(1、1)至F(s、t)的卷积,使移位寄存器群60所提取的图像数据移位而输出到积和运算电路80。

<移位寄存器1>

图6A至图6C示出能够应用于移位寄存器群60所包括的移位寄存器SR_P[1]至SR_P[q]的移位寄存器的结构例子。

图6A中以移位寄存器SR_P[1]为例示出移位寄存器所提取的图像数据P(1、1)至P(1、p)及移位寄存器所输出的信号RW[1]至RW[3]的一个结构例子,同样的结构例子也可以用于移位寄存器SR_P[2]至SR_P[q]。

移位寄存器SR_P[1]包括p个寄存器61、反相器62,被输入时钟信号CLK及信号DATA而输出信号RW[1]至RW[3]。信号DATA依次被输入图像数据P(1、1)至P(1、p)。

图6B是示出寄存器61的符号的图,并示出寄存器61的输入输出的情况。寄存器61被输入时钟信号CLK_IN1、CLK_IN2及信号D_IN而输出信号D_OUT。

相对于寄存器61的符号,图6C是示出寄存器61的结构例子的电路图。寄存器61包括时钟反相器63至66及反相器67、68。注意,在图6A至图6C中,示出主要的构成要素及信号的连接关系,而省略电源线等。此外,实际上寄存器61包括图6C所示的电路,其个数相当于图像数据1像素的bit数。

图6A至图6C所示的寄存器61在时钟信号CLK从High切换为Low时提取信号D_IN而输出信号D_OUT。因此,在时钟信号CLK的周期为ΔT时,信号DATA每隔ΔT秒在移位寄存器SR_P[1]中移位。图7示出该情况。

图7A示出图像数据P(1、1)被提取的时序。图7B示出图7A的ΔT秒后,图像数据P(1、1)移位到下一个寄存器61,被提取图像数据P(1、2)。图7C示出图7A的(p-1)×ΔT秒后。图像数据P(1、1)移位到最后一个寄存器61,被提取图像数据P(1、p)。此外,图像数据P(1、1)至P(1、3)作为信号RW[1]至RW[3]从移位寄存器SR_P[1]被输出。图7C示出图3中说明的状态。

图7D示出图7A的p×ΔT秒后。图像数据P(1、1)被删除,图像数据P(1、2)至P(1、4)作为信号RW[1]至RW[3]从位寄存器SR_P[1]被输出。图7D是在图4中说明的状态。如此,图像数据P(1、1)至P(1、p)在移位寄存器SR_P[1]中移位,作为信号RW[1]至RW[3]依次被输出。

<移位寄存器2>

图6A所示的移位寄存器SR_P[1]可以使用图8的结构。换言之,图8A所示的移位寄存器SR_PW[1]在寄存器61与寄存器61之间包括开关SR_SW。

移位寄存器SR_PW[1]包括p个寄存器61、p-1个开关SR_SW、反相器62,被输入时钟信号CLK及信号DATA[1]至DATA[p],而输出信号RW[1]至RW[3]。信号DATA[1]至DATA[p]分别被输入图像数据P(1、1)至P(1、p)。

开关SR_SW如图8B所示包括两个输入部a及b、一个输出部o。所有开关SR_SW为联动开关。在开关SR_SW选择输入部a时,移位寄存器SR_PW[1]所包括的所有开关SR_SW选择输入部a。此时,移位寄存器SR_PW[1]作为信号DATA[1]至[p]可以一次提取图像数据P(1、1)至P(1、p)。

移位寄存器SR_PW[1]可以在时钟信号CLK刚从High切换为Low的瞬间提取图像数据P(1、1)至P(1、p),可以实现在图7C中说明的状态,而不需要(p-1)×ΔT秒。

在移位寄存器SR_PW[1]提取图像数据P(1、1)至P(1、p)之后,所有开关SR_SW选择输入部b,与图7C及图7D同样地,可以使图像数据P(1、1)至P(1、p)移位。

<移位寄存器3>

图8A所示的移位寄存器SR_PW[1]可以为处理模拟数据的移位寄存器。作为处理模拟数据的移位寄存器,图9A示出移位寄存器SR_PA[1]。

图9A所示的移位寄存器SR_PA[1]包括p个寄存器69、晶体管41,被输入时钟信号CLK1至CLK4、信号SE、信号DATA[1]至DATA[p]而输出信号RW[1]至RW[3]。与移位寄存器SR_PW[1]同样地,对信号DATA[1]至DATA[p]分别输入图像数据P(1、1)至P(1、p),可以一次提取图像数据P(1、1)至P(1、p)。

图9B是示出寄存器69的符号的图,示出寄存器69的输入输出的情况。寄存器69被输入时钟信号CLK_IN1至CLK_IN4、信号D_IN1、信号D_IN2及信号SE_IN而输出信号D_OUT。

相对于寄存器69的符号,图9C是示出寄存器69的结构例子的电路图。寄存器69包括晶体管42至48、电容器C11及C12。此外,VDD为高电位电源,VSS为低电位电源。

注意,在图9A及图9C中示出晶体管41至48为n沟道型晶体管且移位寄存器SR_PA[1]由单极性晶体管构成的例子。通过使移位寄存器SR_PA[1]由单极性晶体管构成,可以缩短移位寄存器SR_PA[1]的制造工序,本发明的一个方式不局限于此,一部分的晶体管可以为p沟道型晶体管。

晶体管43的源极和漏极中的一个与电容器C11的一个电极及晶体管44的栅极电连接。晶体管44的源极和漏极中的一个与晶体管45的源极和漏极中的一个电连接,晶体管45的源极和漏极中的另一个与晶体管46的源极和漏极中的一个电连接。

晶体管46的源极和漏极中的一个与电容器C12的一个电极及晶体管47的栅极电连接。晶体管47的源极和漏极中的一个与晶体管48的源极和漏极中的一个电连接,从晶体管48的源极和漏极中的另一个输出信号D_OUT。

晶体管43、46的源极和漏极中的另一个与低电位电源VSS电连接,晶体管44、47的源极和漏极中的另一个与高电位电源VDD电连接。电容器C11的另一个电极及电容器C12的另一个电极与被供应指定的电位的布线诸如GND等电连接。

晶体管42的栅极被输入信号SE_IN,晶体管43的栅极被输入时钟信号CLK_IN1,晶体管45的栅极被输入时钟信号CLK_IN2,晶体管46的栅极被输入时钟信号CLK_IN3,晶体管48的栅极被输入时钟信号CLK_IN4。

这里,将与晶体管43的源极和漏极中的一个、电容器C11的一个电极以及晶体管44的栅极连接的布线记作节点N11,将与晶体管46的源极和漏极中的一个、电容器C12的一个电极以及晶体管47的栅极连接的布线记作节点N12。

晶体管42的源极和漏极中的一个被输入信号D_IN1,晶体管42的源极和漏极中的另一个与节点N11电连接。此外,节点N11被输入信号D_IN2。

晶体管43具有使节点N11复位的功能,电容器C11具有储存节点N11中的信号的存储电容器的功能,晶体管44具有输出对应于节点N11的电位的功能。晶体管45具有将晶体管44所输出的信号传送到节点N12的功能。

晶体管46具有使节点N12复位的功能,电容器C12具有储存节点N12中的信号的存储电容器的功能,晶体管47具有输出对应于节点N12的电位的功能。晶体管48具有将晶体管47所输出的信号传送到信号D_OUT的功能。

注意,晶体管41至48优选为OS晶体管。由于OS晶体管的关态电流极低,所以由OS晶体管构成的移位寄存器SR_PA[1]的数据保持特性优良。因此,移位寄存器SR_PA[1]可以使被输入的信号DATA[1]至DATA[p]高精度地移位。

OS晶体管优选在沟道形成区域中包含金属氧化物。此外,用于OS晶体管的金属氧化物优选为包含铟(In)和锌(Zn)中的至少一个的氧化物。

这种氧化物的典型例子为In-M-Zn氧化物、In-M氧化物、Zn-M氧化物和In-Zn氧化物(元素M例如为铝(Al)、镓(Ga)、钇(Y)、锡(Sn)、硼(B)、硅(Si)、钛(Ti)、铁(Fe)、镍(Ni)、锗(Ge)、锆(Zr)、钼(Mo)、镧(La)、铈(Ce)、钕(Nd)、钒(V)、铍(Be)、铪(Hf)、钽(Ta)或者钨(W)等)。

在OS晶体管中,能够将每沟道宽度1μm的关态电流降低到1yA/μm(y;幺科托(yocto),10-24)以上且1zA/μm(z;仄普托(zepto),10-21)以下左右。

另外,OS晶体管优选使用CAC(Cloud-Aligned Composite)-OS。关于CAC-OS的详细内容将在实施方式4中进行说明。

此外,因为OS晶体管的电特性的温度依赖性比将硅用于活性区域或活性层的晶体管(下面记为Si晶体管)小,所以可以在较宽的温度范围中使用。因此,由OS晶体管构成的移位寄存器SR_PA[1]等的半导体装置适合安装于汽车、飞机、航天器等。此外,OS晶体管的漏极耐压比Si晶体管高,所以可以实现可靠性高的半导体装置。

或者,当用于晶体管41至48的晶体管的关态电流低时,可以不使用OS晶体管。例如,也可以使用包含带隙大的半导体的晶体管。带隙大的半导体有时是指带隙为2.2eV以上的半导体。例如,可以举出碳化硅、氮化镓、钻石等。

注意,实际上,寄存器69包括图9C所示的电路,其个数相当于图像数据1像素的bit数。

接着,对寄存器69及移位寄存器SR_PA[1]的工作进行说明。

在寄存器69中,利用晶体管43使电容器C11的电荷复位,换言之,在使节点N11的电位初始化之后,被输入信号D_IN1或信号D_IN2。通过该工作,可以将节点N11的电位设定为信号DATA[1]至DATA[p]中的任一个或者上一级寄存器69的输出电位(模拟电位)。信号SE_IN控制晶体管42,可以将信号D_IN1设定为节点N11的电位。

注意,在移位寄存器SR_PA[1]中,由于在第一级寄存器69中没有输入到信号D_IN2的信号,所以成为未连接(浮动)。此外,在移位寄存器SR_PA[1]中,晶体管41使最后级的寄存器69所输出的信号RW[1]的电位初始化。

寄存器69通过控制晶体管45可以输出晶体管44的栅极电压,换言之,可以将对应于节点N11的电位的信号输出到节点N12。

在寄存器69中,利用晶体管46使电容器C12的电荷复位,换言之,在使节点N12的电位初始化之后,取得对应于节点N11的电位的信号,由此可以将节点N12的电位设定为对应于该信号的电位(模拟电位)。也就是说,可以将节点N11的电位设定为节点N12的电位。

寄存器69通过控制晶体管48可以输出晶体管47的栅极电压,换言之,可以将对应于节点N12的电位的信号作为信号D_OUT输出。

注意,在上述中,输入到寄存器69中的节点N12的信号的电位为节点N11的电位减去晶体管44的阈值电压的电位。同样地,信号D_OUT的电位为节点N12的电位减去晶体管47的阈值电压的电位。

也就是说,随着信号通过由寄存器69构成的移位寄存器SR_PA[1]的级被传送,寄存器69的输出电位不断变化。因此,如图10A所示,优选至少在晶体管44、47中设置背栅极。该背栅极的电位由电源VBG控制,通过将晶体管44、47的阈值电压设定为0V或0V附近可以抑制寄存器69的输出电位的变化。

注意,上述利用背栅极的阈值电压的控制可以在移位寄存器的输出能够得到足够的精度的范围内或者能够利用外部电路进行校正的范围内进行。作为使用外部电路进行的校正,例如,可以采用将寄存器69的各级的阈值电压的降低量的累计值加上信号D_OUT的结构。

在将移位寄存器SR_PA[1]应用于移位寄存器群60时,在半导体装置100中,移位寄存器群60及D/A转换器70的顺序调换而使用。换言之,图2A所示的半导体装置100成为图10B所示的半导体装置101。

接着,参照图11的时序图说明寄存器69及移位寄存器SR_PA[1]的工作。

注意,在图11的时序图中示出p=3时的三个寄存器69的情况。第一级寄存器69的节点N11、节点N12分别为节点N11[1]、节点N12[1],最后级寄存器69的节点N11、节点N12分别为节点N11[3]、节点N12[3]。关于节点N11[2]、节点N12[2]也是相同的。

此外,为了方便说明,在图11的时序图中标出节点N11[1]至节点N11[3]、节点N12[1]至节点N12[3]及信号RW[1]至RW[3]被设定为信号DATA[1]至DATA[3]中哪个信号的电位或者输出信号DATA[1]至DATA[3]中哪个信号的电位。

在时刻T1至T2,通过将时钟信号CLK1设定为High,使节点N11[1]、节点N11[2]、节点N11[3]及信号RW[1]复位至Low。此外,此时,信号RW[2]及信号RW[3]也被复位至Low(参照图9A)。

在时刻T2至T3,通过将信号SE设定为High,将节点N11[1]的电位设定为信号DATA[3]的电位,将节点N11[2]的电位设定为信号DATA[2]的电位,将节点N11[3]的电位设定为信号DATA[1]的电位。

在时刻T3至T4,通过将时钟信号CLK3设定为High,将节点N12[1]、节点N12[2]及节点N12[3]复位至Low。

在时刻T4至T5,通过将时钟信号CLK4设定为High,将节点N12[1]的电位设定为节点N11[1]的电位,将节点N12[2]的电位设定为节点N11[2]的电位,将节点N12[3]的电位设定为节点N11[3]的电位。

在时刻T5至T6,通过将时钟信号CLK1设定为High,节点N11[1]、节点N11[2]、节点N11[3]、信号RW[1]、信号RW[2]及信号RW[3]复位至Low。

在时刻T6至T7,通过将时钟信号CLK2设定为High,将节点N12[1]的电位设定为信号RW[3]及节点N11[2]的电位,将节点N12[2]的电位设定为信号RW[2]及节点N11[3]的电位,将节点N12[3]的电位设定为信号RW[1]的电位。

从时刻T6以后信号RW[1]至信号RW[3]的电位得到确定的时序至时刻T9的时序,作为信号RW[3]被输出信号DATA[3]的电位,作为信号RW[2]被输出信号DATA[2]的电位,作为信号RW[1]被输出信号DATA[1]的电位。

在时刻T7至T8,通过将时钟信号CLK3设定为High,将节点N12[1]、节点N12[2]及节点N12[3]复位至Low。

在时刻T8至T9,通过将时钟信号CLK4设定为High,将节点N12[1]的电位设定为节点N11[1]的电位,将节点N12[2]的电位设定为节点N11[2]的电位,将节点N12[3]的电位设定为节点N11[3]的电位。

在时刻T9至T10,通过将时钟信号CLK1设定为High,节点N11[1]、节点N11[2]、节点N11[3]、信号RW[1]、信号RW[2]及信号RW[3]复位至Low。

在时刻T10至T11,通过将时钟信号CLK2设定为High,将节点N12[1]的电位设定为信号RW[3]及节点N11[2]的电位,将节点N12[2]的电位设定为信号RW[2]及节点N11[3]的电位,将节点N12[3]的电位设定为信号RW[1]的电位。

从时刻T10以后信号RW[1]及信号RW[2]的电位得到确定的时序至时刻T13的时序,作为信号RW[2]被输出信号DATA[3]的电位,作为信号RW[1]被输出信号DATA[2]的电位。信号RW[3]成为Low。

在时刻T11至T12,通过将时钟信号CLK3设定为High,将节点N12[1]、节点N12[2]及节点N12[3]复位至Low。

在时刻T12至T13,通过将时钟信号CLK4设定为High,将节点N12[1]的电位设定为节点N11[1]的电位,将节点N12[2]的电位设定为节点N11[2]的电位,将节点N12[3]的电位设定为节点N11[3]的电位。

在时刻T13至T14,通过将时钟信号CLK1设定为High,将节点N11[1]、节点N11[2]、节点N11[3]、信号RW[1]、信号RW[2]及信号RW[3]复位至Low。

在时刻T14至T15,通过将时钟信号CLK2设定为High,将节点N12[1]的电位设定为信号RW[3]及节点N11[2]的电位,将节点N12[2]的电位设定为信号RW[2]及节点N11[3]的电位,将节点N12[3]的电位设定为信号RW[1]的电位。

从时刻T14以后信号RW[1]的电位得到确定的时序至时刻T17的时序,作为信号RW[1]被输出信号DATA[3]的电位。信号RW[2]、信号RW[3]成为Low。

如上所述,移位寄存器SR_PA[1]所包括的寄存器69包括节点N11及节点N12,储存在节点N11中的信号可以传送到节点N12。此外,储存在节点N12中的信号可以传送到下一个寄存器69的节点N11。也就是说,被输入到移位寄存器SR_PA[1]的图像数据P(1、1)至P(1、p)由寄存器69移位而依次输出。

注意,在图3至图11中示出移位寄存器SR_P[1]、SR_PW[1]、SR_PA[1]所包括的最后一级的三个寄存器61或寄存器69作为信号RW[1]至RW[3]输出信号的例子,本发明的一个方式不局限于此。接着,示出考虑到在图像识别领域上常在卷积后进行的池化处理的结构例子。

<移位寄存器群及积和运算电路2>

与图3同样地,图12示出移位寄存器群60的一部分及积和运算电路80,示出积和运算电路80所包括的滤波器F(1、1)至F(s、t)的s=t=3的情况。

在图12中,移位寄存器SR_P[1]输出移位寄存器SR_P[1]所提取的图像数据P(1、1)至P(1、p)中的图像数据P(1、1)至P(1、4)(在图12中,信号RW[1]至RW[4])。

虽然在图12中省略,但是信号RW[1]至RW[4]通过D/A转换器70转换为模拟信号,被输入到积和运算电路80。信号RW[1]至RW[3]在积和运算电路80中分别乘以滤波器F(1、1)至F(1、3)。此外,信号RW[2]至RW[4]在积和运算电路80中分别乘以滤波器F(1、1)至F(1、3)。

同样地,移位寄存器SR_P[2]输出图像数据P(2、1)至P(2、4)(在图12中,信号RW[5]至RW[8]),移位寄存器SR_P[3]输出图像数据P(3、1)至P(3、4)(在图12中,信号RW[9]至RW[12]),移位寄存器SR_P[4]输出图像数据P(4、1)至P(4、4)(在图12中,信号RW[13]至RW[16])。

信号RW[5]至RW[7]在积和运算电路80中分别乘以滤波器F(2、1)至F(2、3),RW[6]至RW[8]在积和运算电路80中分别乘以滤波器F(2、1)至F(2、3)。此外,信号RW[9]至RW[11]在积和运算电路80中分别乘以滤波器F(3、1)至F(3、3),信号RW[10]至RW[12]在积和运算电路80中分别乘以滤波器F(3、1)至F(3、3)。

将信号RW[1]至RW[3]乘以滤波器F(1、1)至F(1、3)的结果、信号RW[5]至RW[7]乘以滤波器F(2、1)至F(2、3)的结果、信号RW[9]至RW[11]乘以滤波器F(3、1)至F(3、3)的结果加在一起,积和运算电路80输出Y(1、1)。

将信号RW[2]至RW[4]乘以滤波器F(1、1)至F(1、3)的结果、信号RW[6]至RW[8]乘以滤波器F(2、1)至F(2、3)的结果、信号RW[10]至RW[12]乘以滤波器F(3、1)至F(3、3)的结果加在一起,积和运算电路80输出Y(1、2)。

同样地,移位寄存器SR_P[2]所输出的图像数据P(2、1)至P(2、3)作为信号RW[5]至RW[7]分别乘以滤波器F(1、1)至F(1、3),移位寄存器SR_P[3]所输出的图像数据P(3、1)至P(3、3)作为信号RW[9]至RW[11]分别乘以滤波器F(2、1)至F(2、3),移位寄存器SR_P[4]所输出的图像数据P(4、1)至P(4、3)作为信号RW[13]至RW[15]分别乘以滤波器F(3、1)至F(3、3),它们加在一起,积和运算电路80输出Y(2、1)。

同样地,移位寄存器SR_P[2]所输出的图像数据P(2、2)至P(2、4)作为信号RW[6]至RW[8]分别乘以滤波器F(1、1)至F(1、3),移位寄存器SR_P[3]所输出的图像数据P(3、2)至P(3、4)作为信号RW[10]至RW[12]分别乘以滤波器F(2、1)至F(2、3),移位寄存器SR_P[4]所输出的图像数据P(4、2)至P(4、4)作为信号RW[14]至RW[16]分别乘以滤波器F(3、1)至F(3、3),它们加在一起,积和运算电路80输出Y(2、2)。

接着,图13示出使图12中的移位寄存器SR_P[1]至SR_P[q]所提取的图像数据P(1、1)至P(q、p)移位1的状态。

换言之,移位寄存器SR_P[1]输出图像数据P(1、2)至P(1、5),移位寄存器SR_P[2]输出图像数据P(2、2)至P(2、5),移位寄存器SR_P[3]输出图像数据P(3、2)至P(3、5),移位寄存器SR_P[4]输出图像数据P(4、2)至P(4、5)。

与图12同样地,移位寄存器SR_P[1]所输出的图像数据P(1、2)至P(1、4)作为信号RW[1]至RW[3]分别乘以滤波器F(1、1)至F(1、3),移位寄存器SR_P[2]所输出的图像数据P(2、2)至P(2、4)作为信号RW[5]至RW[7]分别乘以滤波器F(2、1)至F(2、3),移位寄存器SR_P[3]所输出的图像数据P(3、2)至P(3、4)作为信号RW[9]至RW[11]分别乘以滤波器F(3、1)至F(3、3),它们加在一起,积和运算电路80输出Y(1、2)。

同样地,移位寄存器SR_P[1]所输出的图像数据P(1、3)至P(1、5)作为信号RW[2]至RW[4]分别乘以滤波器F(1、1)至F(1、3),移位寄存器SR_P[2]所输出的图像数据P(2、3)至P(2、5)作为信号RW[6]至RW[8]分别乘以滤波器F(2、1)至F(2、3),移位寄存器SR_P[3]所输出的图像数据P(3、3)至P(3、5)作为信号RW[10]至RW[12]分别乘以滤波器F(3、1)至F(3、3),它们加在一起,积和运算电路80输出Y(1、3)。

以下同样地,关于Y(2、2)及Y(2、3)援用图12的说明。

这里,在图12的说明中,在积和运算电路80所输出的Y(1、1)、Y(1、2)、Y(2、1)、Y(2、2)及图13的说明中积和运算电路80所输出的Y(1、2)、Y(1、3)、Y(2、2)、Y(2、3)可以进行池化处理而不需要暂时保存一下数据。

池化处理是指将图像数据分为小区域,并从中例如取出最大值。在图12的例子中,从Y(1、1)、Y(1、2)、Y(2、1)、Y(2、2)取出最大值,在图13的例子中,从Y(1、2)、Y(1、3)、Y(2、2)、Y(2、3)取出最大值。注意,本发明的一个方式不局限于图12及图13的例子,可以根据目的的池化处理选择移位寄存器群60及积和运算电路80的结构。

如此,移位寄存器群60反复进行所提取的图像数据的输出及移位,积和运算电路80进行从移位寄存器群60输出的图像数据及滤波器F(1、1)至F(s、t)的卷积,积和运算电路80的输出Y(y、x)可以进行池化处理而不需要暂时保存一下数据。对图2A所示的半导体装置100加上池化电路90,而可以实现图14A所示的半导体装置102。

通过使用本发明的一个方式的半导体装置100至102中的任一个,可以高效地进行卷积。

另外,本实施方式可以与本说明书所记载的其他实施方式适当地组合而实施。

(实施方式2)

如上所述,神经网络具有以由神经元及突触构成的神经电路网为模型的电路结构,即以神经元为模型的单元彼此结合的电路结构。输入到各神经元的多个数据乘以表示其结合强度的权系数,并将其结果加在一起(积和运算)。

这里,图像识别领域的滤波器的参数相当于神经网络的权系数,将神经网络用于图像识别领域时的很大的优点是可以通过学习得到权系数。

换言之,当将神经网络用于图像识别领域时,通过对神经网络提供大量的图像数据及各图像数据所表示的物体是什么物体的信息(也称为监督学习),神经网络可以进行学习(也称为有监督学习)。通过进行学习,改变权系数(滤波器的参数)等。

进行了充分学习的神经网络中的权系数等得到最优化,而可以就所提供的图像数据表示的物体是什么物体进行推论。在本实施方式中,说明如上所述那样能够进行学习及推论的神经网络的一个例子及能够用于神经网络的积和运算电路的一个例子。注意,在本实施方式中说明的积和运算电路可以用于在实施方式1中示出的积和运算电路80。

<神经网络>

以下,作为神经网络的一个例子说明分层神经网络及有监督学习。

图14B示出分层神经网络的结构例子。在图14B中,以圆点表示各层的神经元。在图14B中示出分为三层的神经元(形式神经元),即:被用作输入层的第(l-1)层、被用作中间层(隐藏层)的第l层、被用作输出层的第(l+1)层。第(l-1)层所包括的神经元为M个(M为2以上的整数),第l层所包括的神经元为N个(N为2以上的整数),第(l+1)层所包括的神经元为K个(K为2以上的整数)。

注意,在图14B中示出第(l-1)层所包括的多个神经元中的五个神经元、第l层所包括的多个神经元中的四个神经元、第(l+1)层所包括的多个神经元中的三个神经元。

在图14B中示出中间层为一层的分层神经网络的结构例子,中间层也可以为多个层。因此,在具有L层(L为3以上的整数)的分层神经网络时,第一层相当于输入层,第二层至第(L-1)层相当于中间层,第L层相当于输出层。

在图14B中,第(l-1)层的神经元所包括的第m神经元(m为1以上且M以下的整数)的输出zm (l-1)输入到第l层的神经元所包括的第n神经元(n为1以上且N以下的整数)。此外,第n神经元的输出zn (l)输入到第(l+1)层的神经元所包括的第k神经元(k为1以上且K以下的整数)。此外,第k神经元的输出为zk (l+1)。对第l层的第n神经元的输入的权系数为wnm (l),对第(l+1)层的第k的神经元的输入的权系数为wkn (l+1)

在上述条件下,对第l层的第n的神经元的输入的总和(净值)以下述算式b1表示。

un (l)=Σm wnm (l)·zm (l-1) (b1)

算式b1的运算处理可以通过后面所述的积和运算电路进行。

第l层的第n的神经元的输出zn (l)以下述算式b2表示。

zn (l)=f(un (l)) (b2)

注意,f为神经元的输出函数。作为神经元的输出函数f,可以使用阶梯函数、线性斜坡函数、sigmoid函数等。例如,算式b2的运算处理可以通过使用图14C所示的电路270进行。在电路270中,输出函数f对应于OP放大器的输出特性。此外,通过使用来自OP放大器的输出信号在对应于所希望的输出函数的运算电路中进行运算处理,可以实现算式b2的运算处理。

同样地,对第(l+1)层的第k的神经元的输入的总和(净值)以下述算式b3表示。

uk (l+1)=Σn wkn (l+1)·zn (l) (b3)

算式b3的运算处理可以通过使用后面说明的积和运算电路进行。

此外,第(l+1)层的第k的神经元的输出zk (l+1)以下述算式b4表示。

zk (l+1)=f(uk (l+1)) (b4)

例如,算式b4的运算处理可以通过使用图14D所示的电路271进行。在电路271中,与电路270同样地,输出函数f对应于OP放大器的输出特性。此外,通过使用来自OP放大器的输出信号在对应于所希望的输出函数的运算电路中进行运算处理,可以实现算式b4的运算处理。

通过上述结构,可以得到第k的神经元的输出zk (l+1)

接着,说明有监督学习。有监督学习是指如下工作:在上述分层神经网络的功能中,当所输出的结果与所希望的结果(有时称为监督数据或监督信号)不同时,根据所输出的结果和所希望的结果对分层神经网络的所有权系数进行更新。

作为有监督学习的具体例子,对利用反向传播算法的学习方法进行说明。图15A示出反向传播算法的示意图。反向传播算法是指以分层神经网络的输出与监督数据之间的误差变小的方式改变权系数的方式。

具体而言,在反向传播算法中以如下方式改变权系数:相对于取决于输出层的输出zk (L)及监督数据tk的误差能量E,第l层的权系数wnm (l)的更新量为

Figure BDA0002319266160000331

例如,在第l层的误差δn (l)定义为

Figure BDA0002319266160000332

时,误差δn (l)以下述算式b5表示,更新量

Figure BDA0002319266160000333

以下述算式b6表示。注意,f’为神经元的输出函数的导函数。

δn (l)=Σkδk (l+1)·wkn (l+1)·f’(un (l)) (b5)

Figure BDA0002319266160000334

例如,算式b5的运算处理可以通过使用图15B所示的电路272进行。此外,算式b6的运算处理可以通过使用图15C所示的电路273进行。注意,导函数例如可以通过使用来自OP放大器的输出信号在对应于所希望的导函数的运算电路中进行运算处理。

算式b5的运算处理的一部分可以通过使用后面说明的积和运算电路进行。

此外,输出层的第(l+1)层的误差δk (l+1)以下述算式b7表示,更新量

Figure BDA0002319266160000342

以下述算式b8表示。

δk (l+1)=(zk (l+1)-tk)·f’(uk (l+1)) (b7)

Figure BDA0002319266160000341

例如,算式b7的运算处理可以通过使用图15D所示的电路274进行。算式b8的运算处理可以通过使用图15C所示的电路273进行。

<积和运算电路>

图16示出在作为能够进行学习及推论的神经网络的一个例子示出的分层神经网络中进行算式b1及算式b3所示的运算处理的积和运算电路以及能够用于在实施方式1中示出的积和运算电路80的积和运算电路的一个例子。

图16所示的积和运算电路的一个例子具有使用模拟数据进行模拟运算处理的功能。通过具有进行模拟运算处理的功能,可以在不需要将模拟数据转换为数字数据或者尽可能抑制将模拟数据转换为数字数据的频率的情况下进行运算处理。由此,可以减少庞大量的运算处理,从而可以减少运算电路规模。此外,可以缩短运算处理所需的时间。

在图16中作为积和运算电路的一个例子示出半导体装置107的方框图。图16所示的半导体装置107包括存储电路11(MEM)、参考用存储电路12(RMEM)、电路13及电路14。半导体装置107还可以包括电流源电路15(CREF)。

存储电路11(MEM)包括存储单元MC[i,j]及存储单元MC[i+1,j]等存储单元MC。各存储单元MC包括具有将被输入的电位转换为电流的功能的元件。作为具有上述功能的元件,例如可以使用晶体管等有源元件。图16例示出各存储单元MC包括晶体管Tr21的情况。

对存储单元MC从布线WD[j]等布线WD输入第一模拟电位。第一模拟电位对应于第一模拟数据。存储单元MC具有生成对应于第一模拟电位的第一模拟电流的功能。具体而言,可以将在对晶体管Tr21的栅极供应第一模拟电位时得到的晶体管Tr21的漏极电流用作第一模拟电流。以下,将流过存储单元MC[i,j]的电流称为I[i,j],将流过存储单元MC[i+1,j]的电流称为I[i+1,j]。

在晶体管Tr21在饱和区域中工作的情况下,漏极电流不依赖于源极与漏极之间的电压,而被栅极电压与阈值电压的差分控制。因此,优选使晶体管Tr21在饱和区域中工作。为了使晶体管Tr21在饱和区域中工作,适当地将栅极电压及源极与漏极之间的电压设定为能够使晶体管Tr21在饱和区域中工作的电压范围。

具体而言,在图16所示的半导体装置107中,对存储单元MC[i,j]从布线WD[j]输入第一模拟电位Vx[i,j]。存储单元MC[i,j]具有生成对应于第一模拟电位Vx[i,j]的第一模拟电流的功能。此时存储单元MC[i,j]的电流I[i,j]相当于第一模拟电流。

具体而言,在图16所示的半导体装置107中,对存储单元MC[i+1,j]从布线WD[j]输入第一模拟电位Vx[i+1,j]。存储单元MC[i+1,j]具有生成对应于第一模拟电位Vx[i+1,j]的第一模拟电流的功能。此时存储单元MC[i+1,j]的电流I[i+1,j]相当于第一模拟电流。

存储单元MC具有保持第一模拟电位的功能。换言之,存储单元MC具有保持对应于第一模拟电位的第一模拟电流的功能。

对存储单元MC从布线RW[i]及布线RW[i+1]等布线RW输入第二模拟电位。第二模拟电位对应于第二模拟数据。存储单元MC具有对已保持的第一模拟电位加上第二模拟电位的功能及保持通过该加法得到的第三模拟电位的功能。存储单元MC还具有生成对应于第三模拟电位的第二模拟电流的功能。换言之,存储单元MC具有保持对应于第三模拟电位的第二模拟电流的功能。

具体而言,在图16所示的半导体装置107中,对存储单元MC[i,j]从布线RW[i]输入第二模拟电位Vw[i,j]。存储单元MC[i,j]具有保持对应于第一模拟电位Vx[i,j]及第二模拟电位Vw[i,j]的第三模拟电位的功能。另外,存储单元MC[i,j]具有生成对应于第三模拟电位的第二模拟电流的功能。此时存储单元MC[i,j]的电流I[i,j]相当于第二模拟电流。

另外,在图16所示的半导体装置107中,对存储单元MC[i+1,j]从布线RW[i+1]输入第二模拟电位Vw[i+1,j]。存储单元MC[i+1,j]具有保持对应于第一模拟电位Vx[i+1,j]及第二模拟电位Vw[i+1,j]的第三模拟电位的功能。另外,存储单元MC[i+1,j]具有生成对应于第三模拟电位的第二模拟电流的功能。此时存储单元MC[i+1,j]的电流I[i+1,j]相当于第二模拟电流。

电流I[i,j]通过存储单元MC[i,j]流过布线BL[j]与布线VR[j]之间。电流I[i+1,j]通过存储单元MC[i+1,j]流过布线BL[j]与布线VR[j]之间。因此,相当于电流I[i,j]与电流I[i+1,j]之和的电流I[j]通过存储单元MC[i,j]及存储单元MC[i+1,j]流过布线BL[j]与布线VR[j]之间。

参考用存储电路12(RMEM)包括存储单元MCR[i]及存储单元MCR[i+1]等存储单元MCR。对存储单元MCR从布线WDREF输入第一参考电位VPR。存储单元MCR具有生成对应于第一参考电位VPR的第一参考电流的功能。以下,将流过存储单元MCR[i]的电流称为IREF[i],将流过存储单元MCR[i+1]的电流称为IREF[i+1]。

具体而言,在图16所示的半导体装置107中,对存储单元MCR[i]从布线WDREF输入第一参考电位VPR。存储单元MCR[i]具有生成对应于第一参考电位VPR的第一参考电流的功能。此时存储单元MCR[i]的电流IREF[i]相当于第一参考电流。

另外,在图16所示的半导体装置107中,对存储单元MCR[i+1]从布线WDREF输入第一参考电位VPR。存储单元MCR[i+1]具有生成对应于第一参考电位VPR的第一参考电流的功能。此时存储单元MCR[i+1]的电流IREF[i+1]相当于第一参考电流。

存储单元MCR具有保持第一参考电位VPR的功能。换言之,存储单元MCR具有保持对应于第一参考电位VPR的第一参考电流的功能。

对存储单元MCR从布线RW[i]及布线RW[i+1]等布线RW输入第二模拟电位。存储单元MCR具有对已保持的第一参考电位VPR加上第二模拟电位且保持通过该加法得到的第二参考电位的功能。存储单元MCR还具有生成对应于第二参考电位的第二参考电流的功能。换言之,存储单元MCR具有保持对应于第二参考电位的第二参考电流的功能。

具体而言,在图16所示的半导体装置107中,对存储单元MCR[i]从布线RW[i]输入第二模拟电位Vw[i,j]。存储单元MCR[i]具有保持对应于第一参考电位VPR及第二模拟电位Vw[i,j]的第二参考电位的功能。另外,存储单元MCR[i]具有生成对应于第二参考电位的第二参考电流的功能。此时存储单元MCR[i]的电流IREF[i]相当于第二参考电流。

另外,在图16所示的半导体装置107中,对存储单元MCR[i+1]从布线RW[i+1]输入第二模拟电位Vw[i+1,j]。存储单元MCR[i+1]具有保持对应于第一参考电位VPR及第二模拟电位Vw[i+1,j]的第二参考电位的功能。另外,存储单元MCR[i+1]具有生成对应于第二参考电位的第二参考电流的功能。此时存储单元MCR[i+1]的电流IREF[i+1]相当于第二参考电流。

电流IREF[i]通过存储单元MCR[i]流过布线BLREF与布线VRREF之间。电流IREF[i+1]通过存储单元MCR[i+1]流过布线BLREF与布线VRREF之间。因此,相当于电流IREF[i]与电流IREF[i+1]之和的电流IREF通过存储单元MCR[i]及存储单元MCR[i+1]流过布线BLREF与布线VRREF之间。

电流源电路15具有将与流过布线BLREF的电流IREF相同的值的电流或者对应于电流IREF的电流供应到布线BL的功能。当设定后述的偏移电流时,在通过存储单元MC[i,j]及存储单元MC[i+1,j]流过布线BL[j]与布线VR[j]之间的电流I[j]不同于通过存储单元MCR[i]及存储单元MCR[i+1]流过布线BLREF与布线VRREF之间的电流IREF的情况下,差分电流流过电路13或电路14。电路13具有电流拉出电路(current source circuit)的功能,电路14具有电流灌入电路(current sink circuit)的功能。

具体而言,电路13具有在电流I[j]大于电流IREF的情况下生成相当于电流I[j]与电流IREF的差分的电流ΔI[j]的功能。另外,电路13具有将所生成的电流ΔI[j]供应到布线BL[j]的功能。换言之,电路13具有保持电流ΔI[j]的功能。

具体而言,电路14具有在电流I[j]小于电流IREF的情况下生成相当于电流I[j]与电流IREF的差分的电流ΔI[j]的功能。另外,电路14具有将所生成的电流ΔI[j]从布线BL[j]灌入的功能。换言之,电路14具有保持电流ΔI[j]的功能。

接着,对图16所示的半导体装置107的工作实例进行说明。

首先,将对应于第一模拟电位的电位储存于存储单元MC[i,j]。具体而言,从第一参考电位VPR减去第一模拟电位Vx[i,j]而得到的电位VPR-Vx[i,j]通过布线WD[j]被输入到存储单元MC[i,j]。存储单元MC[i,j]保持电位VPR-Vx[i,j]。存储单元MC[i,j]生成对应于电位VPR-Vx[i,j]的电流I[i,j]。例如,将第一参考电位VPR设定为高于接地电位的高电平电位。具体而言,第一参考电位VPR优选高于接地电位且等于或低于供应到电流源电路15的高电平电位VDD。

另外,将第一参考电位VPR储存于存储单元MCR[i]。具体而言,电位VPR通过布线WDREF被输入到存储单元MCR[i]。存储单元MCR[i]保持电位VPR。存储单元MCR[i]生成对应于电位VPR的电流IREF[i]。

另外,将对应于第一模拟电位的电位储存于存储单元MC[i+1,j]。具体而言,从第一参考电位VPR减去第一模拟电位Vx[i+1,j]而得到的电位VPR-Vx[i+1,j]通过布线WD[j]被输入到存储单元MC[i+1,j]。存储单元MC[i+1,j]保持电位VPR-Vx[i+1,j]。存储单元MC[i+1,j]生成对应于电位VPR-Vx[i+1,j]的电流I[i+1,j]。

另外,将第一参考电位VPR储存于存储单元MCR[i+1]。具体而言,电位VPR通过布线WDREF被输入到存储单元MCR[i+1]。存储单元MCR[i+1]保持电位VPR。存储单元MCR[i+1]生成对应于电位VPR的电流IREF[i+1]。

在上述工作中,将布线RW[i]及布线RW[i+1]设定为基准电位。例如,作为基准电位可以使用接地电位或低于接地电位的低电平电位VSS等。或者,当作为基准电位使用电位VSS与电位VDD之间的电位,不管第二模拟电位Vw是正值还是负值,都可以使布线RW的电位高于接地电位,所以容易生成信号,而可以对正值的模拟数据和负值的模拟数据进行乘法,所以是优选的。

通过上述工作,在与布线BL[j]电连接的各存储单元MC中生成的电流的总电流流过布线BL[j]。具体而言,在图16中,在存储单元MC[i,j]中生成的电流I[i,j]与在存储单元MC[i+1,j]中生成的电流I[i+1,j]的总电流I[j]流过布线BL[j]。另外,通过上述工作,在与布线BLREF电连接的各存储单元MCR中生成的电流的总电流流过布线BLREF。具体而言,在图16中,在存储单元MCR[i]中生成的电流IREF[i]与在存储单元MCR[i+1]中生成的电流IREF[i+1]的总电流IREF流过布线BLREF。

接着,在将布线RW[i]及布线RW[i+1]的电位保持为基准电位的状态下,在电路13或电路14中保持通过第一模拟电位的输入获得的电流I[j]和通过第一参考电位的输入获得的电流IREF之差分的偏移电流Ioffset[j]。

具体而言,在电流I[j]大于电流IREF的情况下,电路13将电流Ioffset[j]供应到布线BL[j]。换言之,流过电路13的电流ICM[j]相当于电流Ioffset[j]。该电流ICM[j]保持在电路13中。另外,在电流I[j]小于电流IREF的情况下,电路14将电流Ioffset[j]从布线BL[j]灌入。换言之,流过电路14的电流ICP[j]相当于电流Ioffset[j]。该电流ICP[j]保持在电路14中。

接着,以对已保持在存储单元MC[i,j]中的第一模拟电位加上第二模拟电位的方式将第二模拟电位或者对应于第二模拟电位的电位储存于存储单元MC[i,j]。具体而言,通过将布线RW[i]的电位设定为对基准电位加上Vw[i]的电位,来将第二模拟电位Vw[i]通过布线RW[i]输入存储单元MC[i,j]。存储单元MC[i,j]保持电位VPR-Vx[i,j]+Vw[i]。另外,存储单元MC[i,j]生成对应于电位VPR-Vx[i,j]+Vw[i]的电流I[i,j]。

另外,以对已保持在存储单元MC[i+1,j]中的第一模拟电位加上第二模拟电位的方式将第二模拟电位或者对应于第二模拟电位的电位储存于存储单元MC[i+1,j]。具体而言,通过将布线RW[i+1]的电位设定为对基准电位加上Vw[i+1]的电位,来将第二模拟电位Vw[i+1]通过布线RW[i+1]输入存储单元MC[i+1,j]。存储单元MC[i+1,j]保持电位VPR-Vx[i+1,j]+Vw[i+1]。另外,存储单元MC[i+1,j]生成对应于电位VPR-Vx[i+1,j]+Vw[i+1]的电流I[i+1,j]。

在作为将电位转换为电流的元件使用在饱和区域中工作的晶体管Tr21的情况下,假设布线RW[i]的电位为Vw[i]且布线RW[i+1]的电位为Vw[i+1],由于存储单元MC[i,j]中的晶体管Tr21的漏极电流相当于电流I[i,j],因此第二模拟电流由以下算式b9表示。注意,k为系数,Vth为晶体管Tr21的阈值电压。

I[i、j]=k(Vw[i]-Vth+VPR-Vx[i、j])2 (b9)

另外,存储单元MCR[i]中的晶体管Tr21的漏极电流相当于电流IREF[i],因此第二参考电流由以下算式b10表示。

IREF[i]=k(Vw[i]-Vth+VPR)2 (b10)

相当于流过存储单元MC[i,j]的电流I[i,j]与流过存储单元MC[i+1,j]的电流I[i+1,j]之和的电流I[j]为∑iI[i,j],相当于流过存储单元MCR[i]的电流IREF[i]与流过存储单元MCR[i+1]的电流IREF[i+1]之和的电流IREF为∑iIREF[i],相当于电流I[j]与电流IREF之差分的电流ΔI[j]由以下算式b11表示。

ΔI[j]=IREF-I[j]=ΣiIREF[i]-ΣiI[i、j] (b11)

根据算式b9、算式b10及算式b11,可以通过以下算式b12得出电流ΔI[j]。

ΔI[j]

=Σi{k(Vw[i]-Vth+VPR)2-k(Vw[i]-Vth+VPR-Vx[i、j])2}

=2kΣi(Vw[i]·Vx[i、j])-2kΣi(Vth-VPR)·Vx[i、j]-kΣiVx[i、j]2 (b12)

在算式b12中,由2k∑i(Vw[i]·Vx[i,j])表示之項相当于第一模拟电位Vx[i,j]及第二模拟电位Vw[i]的积与第一模拟电位Vx[i+1,j]及第二模拟电位Vw[i+1]的积之和。

另外,如果将电流Ioffset[j]定义为在布线RW的电位都是基准电位(即,第二模拟电位Vw[i]及第二模拟电位Vw[i+1]都是0)时的电流ΔI[j],则根据算式b12可以得出算式b13。

Ioffset[j]=-2kΣi(Vth-VPR)·Vx[i、j]-kΣiVx[i、j]2 (b13)

因此,根据算式b11至算式b13,相当于第一模拟数据与第二模拟数据之积和值的2k∑i(Vw[i]·Vx[i,j])可以由以下算式b14表示。

2k∑i(Vw[i]·Vx[i,j])=IREF-I[j]-Ioffset[j] (b14)

将流过存储单元MC的电流之和称为电流I[j],将流过存储单元MCR的电流之和称为电流IREF,将流过电路13或电路14的电流称为电流Ioffset[j]。此时,在布线RW[i]的电位为Vw[i]且布线RW[i+1]的电位为Vw[i+1]时从布线BL[j]流出的电流Iout[j]由IREF-I[j]-Ioffset[j]表示。根据算式b14可知,电流Iout[j]为2k∑i(Vw[i]·Vx[i,j]),相当于第一模拟电位Vx[i,j]及第二模拟电位Vw[i]的积与第一模拟电位Vx[i+1,j]及第二模拟电位Vw[i+1]的积之和。

晶体管Tr21优选在饱和区域中工作,但是即使晶体管Tr21的工作区域与理想的饱和区域不同,只要能够以所希望的范围内的精度获得相当于第一模拟电位Vx[i,j]及第二模拟电位Vw[i]的积与第一模拟电位Vx[i+1,j]及第二模拟电位Vw[i+1]的积之和的电流,就可以视为晶体管Tr21在饱和区域中工作。

例如,将第l层的各神经元的权系数wn1 (l)至wnM (l)作为第一模拟数据分别储存在第j列的存储单元MC[1、j]至[M、j]中,通过布线RW[1]至布线RW[M]将第(l-1)层的神经元的输出z1 (l-1)至输出zM (l-1)作为第二模拟数据分别输入到存储单元MC[1、j]至存储单元MC[M、j]。通过上述工作,可以从电流ΔIout[j]得到对第l层的第n的神经元的输入的总和(净值)un (l)。因此,通过使用半导体装置107,可以进行算式b1的运算。

例如,将第(l+1)层的各神经元的权系数wn1 (l+1)至wnM (l+1)作为第一模拟数据分别储存在第j列的存储单元MC[1、j]至[M、j]中,通过布线RW[1]至布线RW[M]将第l层的神经元的输出z1 l至输出zM l作为第二模拟数据分别输入到存储单元MC[1、j]至存储单元MC[M、j]。通过上述工作,可以从电流ΔIout[j]得到对第(l+1)层的第k的神经元的输入的总和(净值)uk (l+1)。因此,通过使用半导体装置107,可以进行算式b3的运算。

例如,将第(l+1)层的各神经元的权系数wn1 (l+1)至wnK (l+1)作为第一模拟数据分别储存在第j列的存储单元MC[1、j]至[K、j]中,通过布线RW[1]至布线RW[K]将第(l+1)层的神经元的误差δ1 (l+1)至δK (l+1)作为第二模拟数据输入到存储单元MC[1、j]至[K、j]。通过上述工作,可以从电流ΔIout[j]得到算式b5中的Σkδk (l+1)·wkn (l+1)的值。因此,通过使用半导体装置107,可以进行算式b5的运算的一部分。

通过本发明的一个方式,可以以不将模拟数据转换为数字数据的方式进行运算处理,因此可以减小运算电路规模。另外,通过本发明的一个方式,可以以不将模拟数据转换为数字数据的方式进行运算处理,因此可以抑制模拟数据的运算处理所需要的时间。另外,通过本发明的一个方式,可以同时实现模拟数据的运算处理所需要的时间的缩短及运算电路的低功耗化。

接着,参照图17对存储电路11(MEM)及参考用存储电路12(RMEM)的具体结构实例进行说明。

图17示出存储电路11(MEM)包括y行x列(x、y为自然数)的多个存储单元MC,参考用存储电路12(RMEM)包括y行1列的多个存储单元MCR的情况。

存储电路11与布线RW、布线WW、布线WD、布线VR及布线BL电连接。在图17中,布线RW[1]至布线RW[y]分别与各行的存储单元MC电连接,布线WW[1]至布线WW[y]分别与各行的存储单元MC电连接,布线WD[1]至布线WD[x]分别与各列的存储单元MC电连接,布线BL[1]至布线BL[x]分别与各列的存储单元MC电连接。另外,在图17中,布线VR[1]至布线VR[x]分别与各列的存储单元MC电连接。布线VR[1]至布线VR[x]可以彼此电连接。

参考用存储电路12与布线RW、布线WW、布线WDREF、布线VRREF及布线BLREF电连接。在图17中,布线RW[1]至布线RW[y]分别与各行的存储单元MCR电连接,布线WW[1]至布线WW[y]分别与各行的存储单元MCR电连接,布线WDREF与一列的存储单元MCR电连接,布线BLREF与一列的存储单元MCR电连接,布线VRREF与一列的存储单元MCR电连接。布线VRREF也可以与布线VR[1]至布线VR[x]电连接。

接着,作为一个例子,图18示出图17所示的多个存储单元MC中的任意的2行2列的存储单元MC及图17所示的多个存储单元MCR中的任意的2行1列的存储单元MCR的具体电路结构及连接关系。

具体而言,在图18中,示出第i行第j列的存储单元MC[i,j]、第i+1行第j列的存储单元MC[i+1,j]、第i行第j+1列的存储单元MC[i,j+1]及第i+1行第j+1列的存储单元MC[i+1,j+1]。另外,具体而言,图18示出第i行的存储单元MCR[i]及第i+1行的存储单元MCR[i+1]。i为1至y-1的任意数,j为1至x-1的任意数。

第i行的存储单元MC[i,j]、存储单元MC[i,j+1]、存储单元MCR[i]与布线RW[i]及布线WW[i]电连接。另外,第i+1行的存储单元MC[i+1,j]、存储单元MC[i+1,j+1]及存储单元MCR[i+1]与布线RW[i+1]及布线WW[i+1]电连接。

第j列的存储单元MC[i,j]及存储单元MC[i+1,j]与布线WD[j]、布线VR[j]及布线BL[j]电连接。另外,第j+1列的存储单元MC[i,j+1]及存储单元MC[i+1,j+1]与布线WD[j+1]、布线VR[j+1]及布线BL[j+1]电连接。另外,存储单元MCR[i]及第i+1行的存储单元MCR[i+1]与布线WDREF、布线VRREF及布线BLREF电连接。

存储单元MC的每一个及存储单元MCR的每一个包括晶体管Tr21、晶体管Tr22及电容器C21。晶体管Tr22具有控制对存储单元MC或存储单元MCR输入第一模拟电位的功能。晶体管Tr21具有根据被输入到栅极的电位生成模拟电流的功能。电容器C21具有对保持在存储单元MC或存储单元MCR中的第一模拟电位加上第二模拟电位的功能。

具体而言,在图18所示的存储单元MC中,晶体管Tr22的栅极与布线WW电连接,源极和漏极中的一个与布线WD电连接,源极和漏极中的另一个与晶体管Tr21的栅极电连接。另外,晶体管Tr21的源极和漏极中的一个与布线VR电连接,源极和漏极中的另一个与布线BL电连接。电容器C21的第一电极与布线RW电连接,第二电极与晶体管Tr21的栅极电连接。

另外,在图18所示的存储单元MCR中,晶体管Tr22的栅极与布线WW电连接,源极和漏极中的一个与布线WDREF电连接,源极和漏极中的另一个与晶体管Tr21的栅极电连接。另外,晶体管Tr21的源极和漏极中的一个与布线VRREF电连接,源极和漏极中的另一个与布线BLREF电连接。电容器C21的第一电极与布线RW电连接,第二电极与晶体管Tr21的栅极电连接。

在存储单元MC中,将晶体管Tr21的栅极称为节点N。在存储单元MC中,第一模拟电位通过晶体管Tr22被输入到节点N,接着,在晶体管Tr22处于关闭状态时节点N处于浮动状态,节点N保持第一模拟电位。另外,在存储单元MC中,当节点N处于浮动状态时,被输入到电容器C21的第一电极的第二模拟电位被供应到节点N。通过上述工作,节点N的电位变为对第一模拟电位加上第二模拟电位。

注意,电容器C21的第一电极的电位通过电容器C21供应到节点N,因此,实际上第一电极的电位的变化量不直接反映到节点N的电位的变化量。具体而言,通过根据电容器C21的电容值、晶体管Tr21的栅极电容的电容值及寄生电容的电容值确定为唯一值的耦合系数乘以第一电极的电位的变化量,可以正确地算出节点N的电位的变化量。以下,为了容易理解,对第一电极的电位的变化量大致反映到节点N的电位的变化量的情况进行说明。

晶体管Tr21的漏极电流取决于节点N的电位。因此,当晶体管Tr22处于关闭状态时节点N的电位被保持,此时晶体管Tr21的漏极电流的值也被保持。第一模拟电位及第二模拟电位反映到上述漏极电流。

在存储单元MCR中,将晶体管Tr21的栅极称为节点NREF。在存储单元MCR中,第一参考电位通过晶体管Tr22被输入到节点NREF,接着,在晶体管Tr22处于关闭状态时节点NREF处于浮动状态,节点NREF保持第一参考电位。另外,在存储单元MCR中,当节点NREF处于浮动状态时,被输入到电容器C21的第一电极的第二模拟电位被供应到节点NREF。通过上述工作,节点NREF的电位变为对第一参考电位加上第二模拟电位。

晶体管Tr21的漏极电流取决于节点NREF的电位。因此,当晶体管Tr22处于关闭状态时节点NREF的电位被保持,此时晶体管Tr21的漏极电流的值也被保持。第一参考电位及第二模拟电位反映到上述漏极电流。

将流过存储单元MC[i,j]的晶体管Tr21的漏极电流称为电流I[i,j],将流过存储单元MC[i+1,j]的晶体管Tr21的漏极电流称为电流I[i+1,j]。此时,从布线BL[j]供应到存储单元MC[i,j]及存储单元MC[i+1,j]的电流之和为电流I[j]。另外,将流过存储单元MC[i,j+1]的晶体管Tr21的漏极电流称为电流I[i,j+1],将流过存储单元MC[i+1,j+1]的晶体管Tr21的漏极电流称为电流I[i+1,j+1]。此时,从布线BL[j+1]供应到存储单元MC[i,j+1]及存储单元MC[i+1,j+1]的电流之和为电流I[j+1]。另外,将流过存储单元MCR[i]的晶体管Tr21的漏极电流称为电流IREF[i],将流过存储单元MCR[i+1]的晶体管Tr21的漏极电流称为电流IREF[i+1]。此时,从布线BLREF供应到存储单元MCR[i]及存储单元MCR[i+1]的电流之和为电流IREF。

接着,参照图19对电路13、电路14及电流源电路15(CREF)的具体结构实例进行说明。

图19示出对应于图18所示的存储单元MC及存储单元MCR的电路13、电路14、电流源电路15的结构实例。具体而言,图19所示的电路13包括对应于第j列的存储单元MC的电路13[j]及对应于第j+1列的存储单元MC的电路13[j+1]。另外,图19所示的电路14包括对应于第j列的存储单元MC的电路14[j]及对应于第j+1列的存储单元MC的电路14[j+1]。

电路13[j]及电路14[j]与布线BL[j]电连接。另外,电路13[j+1]及电路14[j+1]与布线BL[j+1]电连接。

电流源电路15与布线BL[j]、布线BL[j+1]及布线BLREF电连接。电流源电路15具有将电流IREF供应到布线BLREF的功能及将与电流IREF相同的电流或对应于电流IREF的电流供应到布线BL[j]及布线BL[j+1]的每一个的功能。

具体而言,电路13[j]及电路13[j+1]的每一个包括晶体管Tr27至Tr29及电容器C23。当设定偏移电流时,电路13[j]的晶体管Tr27在电流I[j]大于电流IREF的情况下生成相当于电流I[j]与电流IREF的差分的电流ICM[j]。另外,电路13[j+1]的晶体管Tr27在电流I[j+1]大于电流IREF的情况下生成相当于电流I[j+1]与电流IREF的差分的电流ICM[j+1]。电流ICM[j]及电流ICM[j+1]从电路13[j]及电路13[j+1]被供应到布线BL[j]及布线BL[j+1]。

在电路13[j]及电路13[j+1]中,晶体管Tr27的源极和漏极中的一个与对应的布线BL电连接,源极和漏极中的另一个与被供应指定电位的布线电连接。晶体管Tr28的源极和漏极中的一个与布线BL电连接,源极和漏极中的另一个与晶体管Tr27的栅极电连接。晶体管Tr29的源极和漏极中的一个与晶体管Tr27的栅极电连接,源极和漏极中的另一个与被供应指定电位的布线电连接。电容器C23的第一电极与晶体管Tr27的栅极电连接,第二电极与被供应指定电位的布线电连接。

晶体管Tr28的栅极与布线OSM电连接,晶体管Tr29的栅极与布线ORM电连接。

图19例示出晶体管Tr27为p沟道晶体管且晶体管Tr28及Tr29为n沟道晶体管的情况。

另外,电路14[j]及电路14[j+1]的每一个包括晶体管Tr24至Tr26及电容器C22。当设定偏移电流时,电路14[j]的晶体管Tr24在电流I[j]小于电流IREF的情况下生成相当于电流I[j]与电流IREF的差分的电流ICP[j]。另外,电路14[j+1]的晶体管Tr24在电流I[j+1]小于电流IREF的情况下生成相当于电流I[j+1]与电流IREF的差分的电流ICP[j+1]。电流ICP[j]及电流ICP[j+1]从布线BL[j]及布线BL[j+1]被灌入到电路14[j]及电路14[j+1]。

电流ICM[j]及电流ICP[j]相当于电流Ioffset[j]。另外,电流ICM[j+1]及电流ICP[j+1]相当于电流Ioffset[j+1]。

在电路14[j]及电路14[j+1]中,晶体管Tr24的源极和漏极中的一个与对应的布线BL电连接,源极和漏极中的另一个与被供应指定电位的布线电连接。晶体管Tr25的源极和漏极中的一个与布线BL电连接,源极和漏极中的另一个与晶体管Tr24的栅极电连接。晶体管Tr26的源极和漏极中的一个与晶体管Tr24的栅极电连接,源极和漏极中的另一个与被供应指定电位的布线电连接。电容器C22的第一电极与晶体管Tr24的栅极电连接,第二电极与被供应指定电位的布线电连接。

晶体管Tr25的栅极与布线OSP电连接,晶体管Tr26的栅极与布线ORP电连接。

图19例示出晶体管Tr24至Tr26为n沟道晶体管的情况。

电流源电路15包括对应于布线BL的晶体管Tr30及对应于布线BLREF的晶体管Tr31。具体而言,图19所示的电流源电路15例示出作为晶体管Tr30使用对应于布线BL[j]的晶体管Tr30[j]及对应于布线BL[j+1]的晶体管Tr30[j+1]的情况。

晶体管Tr30的栅极与晶体管Tr31的栅极电连接。另外,晶体管Tr30的源极和漏极中的一个与对应的布线BL电连接,源极和漏极中的另一个与被供应指定电位的布线电连接。晶体管Tr31的源极和漏极中的一个与布线BLREF电连接,源极和漏极中的另一个与被供应指定电位的布线电连接。

晶体管Tr30及晶体管Tr31具有相同的极性。图19例示出晶体管Tr30及晶体管Tr31都是p沟道晶体管的情况。

晶体管Tr31的漏极电流相当于电流IREF。由于晶体管Tr30及晶体管Tr31起电流镜电路的作用,因此晶体管Tr30的漏极电流具有大致与晶体管Tr31的漏极电流相同的值或者对应于晶体管Tr31的漏极电流的值。

另外,也可以在图19所示的电路13[j]与电路14[j]之间设置开关。另外,也可以在电路13[j+1]与电路14[j+1]之间设置开关。或者,也可以在电流源电路15中的晶体管Tr31与参考用存储电路12之间设置开关。

接着,参照图18及图19对本发明的一个方式的半导体装置107的具体工作实例进行说明。

图20相当于图18所示的存储单元MC及存储单元MCR、图19所示的电路13、电路14及电流源电路15的工作时序图的例子。在图20中,在时刻T01至时刻T04,将第一模拟数据储存于存储单元MC及存储单元MCR。在时刻T05至时刻T10,偏移电流Ioffset被设定到电路13及电路14。在时刻T11至时刻T16,取得对应于第一模拟数据与第二模拟数据之积和值的数据。

对布线VR[j]及布线VR[j+1]供应低电平电位。另外,对与电路13电连接的具有指定电位的所有的布线供应高电平电位VDD。另外,对与电路14电连接的具有指定电位的所有的布线供应低电平电位VSS。另外,对与电流源电路15电连接的具有指定电位的所有的布线供应高电平电位VDD。

晶体管Tr21、Tr24、Tr27、Tr30[j]、Tr30[j+1]及Tr31在饱和区域中工作。

首先,在时刻T01至时刻T02,对布线WW[i]供应高电平电位,对布线WW[i+1]供应低电平电位。通过上述工作,图18所示的存储单元MC[i,j]、存储单元MC[i,j+1]、存储单元MCR[i]中的晶体管Tr22成为导通状态。另外,存储单元MC[i+1,j]、存储单元MC[i+1,j+1]及存储单元MCR[i+1]中的晶体管Tr22维持关闭状态。

另外,在时刻T01至时刻T02,对图18所示的布线WD[j]及布线WD[j+1]供应从第一参考电位VPR减去第一模拟电位而得到的电位。具体而言,对布线WD[j]供应电位VPR-Vx[i,j],对布线WD[j+1]供应电位VPR-Vx[i,j+1]。另外,对布线WDREF供应第一参考电位VPR,对布线RW[i]及布线RW[i+1]作为基准电位供应电位VSS与电位VDD之间的电位,例如电位(VDD+VSS)/2。

因此,电位VPR-Vx[i,j]通过晶体管Tr22被供应到图18所示的存储单元MC[i,j]的节点N[i,j],电位VPR-Vx[i,j+1]通过晶体管Tr22被供应到存储单元MC[i,j+1]的节点N[i,j+1],电位VPR通过晶体管Tr22被供应到存储单元MCR[i]的节点NREF[i]。

在时刻T02结束时,供应到图18所示的布线WW[i]的电位从高电平变为低电平,在存储单元MC[i,j]、存储单元MC[i,j+1]及存储单元MCR[i]中晶体管Tr22成为关闭状态。通过上述工作,节点N[i,j]保持电位VPR-Vx[i,j],节点N[i,j+1]保持电位VPR-Vx[i,j+1],节点NREF[i]保持电位VPR。

接着,在时刻T03至时刻T04,图18所示的布线WW[i]的电位维持低电平,对布线WW[i+1]供应高电平电位。通过上述工作,图18所示的存储单元MC[i+1,j]、存储单元MC[i+1,j+1]、存储单元MCR[i+1]中的晶体管Tr22成为导通状态。另外,存储单元MC[i,j]、存储单元MC[i,j+1]及存储单元MCR[i]中的晶体管Tr22维持关闭状态。

另外,在时刻T03至时刻T04,对图18所示的布线WD[j]及布线WD[j+1]供应从第一参考电位VPR减去第一模拟电位而得到的电位。具体而言,对布线WD[j]供应电位VPR-Vx[i+1,j],对布线WD[j+1]供应电位VPR-Vx[i+1,j+1]。另外,对布线WDREF供应第一参考电位VPR,对布线RW[i]及布线RW[i+1]作为基准电位供应电位VSS与电位VDD之间的电位,例如电位(VDD+VSS)/2。

因此,电位VPR-Vx[i+1,j]通过晶体管Tr22被供应到图18所示的存储单元MC[i+1,j]的节点N[i+1,j],电位VPR-Vx[i+1,j+1]通过晶体管Tr22被供应到存储单元MC[i+1,j+1]的节点N[i+1,j+1],电位VPR通过晶体管Tr22被供应到存储单元MCR[i+1]的节点NREF[i+1]。

在时刻T04结束时,供应到图18所示的布线WW[i+1]的电位从高电平变为低电平,在存储单元MC[i+1,j]、存储单元MC[i+1,j+1]及存储单元MCR[i+1]中晶体管Tr22成为关闭状态。通过上述工作,节点N[i+1,j]保持电位VPR-Vx[i+1,j],节点N[i+1,j+1]保持电位VPR-Vx[i+1,j+1],节点NREF[i+1]保持电位VPR。

接着,在时刻T05至时刻T06,对图19所示的布线ORP及布线ORM供应高电平电位。在图19所示的电路13[j]及电路13[j+1]中,在布线ORM被供应高电平电位时,晶体管Tr29成为导通状态,晶体管Tr27的栅极被供应电位VDD而被复位。在图19所示的电路14[j]及电路14[j+1]中,在布线ORP被供应高电平电位时,晶体管Tr26成为导通状态,晶体管Tr24的栅极被供应电位VSS而被复位。

在时刻T06结束时,供应到图19所示的布线ORP及布线ORM的电位从高电平变为低电平,电路13[j]及电路13[j+1]的晶体管Tr29成为关闭状态,电路14[j]及电路14[j+1]的晶体管Tr26成为关闭状态。通过上述工作,电路13[j]及电路13[j+1]的晶体管Tr27的栅极保持电位VDD,电路14[j]及电路14[j+1]的晶体管Tr24的栅极保持电位VSS。

接着,在时刻T07至时刻T08,对图19所示的布线OSP供应高电平电位。另外,对图18所示的布线RW[i]及布线RW[i+1]作为基准电位供应电位VSS与电位VDD之间的电位,例如电位(VDD+VSS)/2。当对布线OSP供应高电平电位时,电路14[j]及电路14[j+1]的晶体管Tr25成为导通状态。

在流过布线BL[j]的电流I[j]小于流过布线BLREF的电流IREF,即,电流ΔI[j]为正值的情况下,这意味着图18所示的存储单元MC[i,j]的晶体管Tr21能够灌入的电流及存储单元MC[i+1,j]的晶体管Tr21能够灌入的电流之和小于晶体管Tr30[j]的漏极电流。因此,在电流ΔI[j]为正值的情况下,在电路14[j]的晶体管Tr25成为导通状态时,晶体管Tr30[j]的漏极电流的一部分流入晶体管Tr24的栅极,使晶体管Tr24的栅极电位开始上升。当晶体管Tr24的漏极电流上升至大致等于电流ΔI[j]的值时,晶体管Tr24的栅极电位收敛到指定值。此时的晶体管Tr24的栅极电位相当于晶体管Tr24的漏极电流为电流ΔI[j](即电流Ioffset[j](=ICP[j]))时的电位。换言之,电路14[j]的晶体管Tr24被设为能够流动电流ICP[j]的电流源的状态。

同样地,在流过布线BL[j+1]的电流I[j+1]小于流过布线BLREF的电流IREF,即,电流ΔI[j+1]为正值的情况下,在电路14[j+1]的晶体管Tr25成为导通状态时,晶体管Tr30[j+1]的漏极电流的一部分流入晶体管Tr24的栅极,使晶体管Tr24的栅极电位开始上升。当晶体管Tr24的漏极电流上升至大致等于电流ΔI[j+1]的值时,晶体管Tr24的栅极电位收敛到指定值。此时的晶体管Tr24的栅极电位相当于晶体管Tr24的漏极电流为电流ΔI[j+1](即电流Ioffset[j+1](=ICP[j+1]))时的电位。换言之,电路14[j+1]的晶体管Tr24被设为能够流动电流ICP[j+1]的电流源的状态。

在时刻T08结束时,供应到图19所示的布线OSP的电位从高电平变为低电平,电路14[j]及电路14[j+1]的晶体管Tr25成为关闭状态。通过上述工作,保持晶体管Tr24的栅极电位。因此,电路14[j]维持被设为能够流动电流ICP[j]的电流源的状态,电路14[j+1]维持被设为能够流动电流ICP[j+1]的电流源的状态。

接着,在时刻T09至时刻T10,对图19所示的布线OSM供应高电平电位。另外,对图18所示的布线RW[i]及布线RW[i+1]作为基准电位供应电位VSS与电位VDD之间的电位,例如电位(VDD+VSS)/2。当对布线OSM供应高电平电位时,电路13[j]及电路13[j+1]的晶体管Tr28成为导通状态。

在流过布线BL[j]的电流I[j]大于流过布线BLREF的电流IREF,即,电流ΔI[j]为负值的情况下,这意味着图18所示的存储单元MC[i,j]的晶体管Tr21能够灌入的电流及存储单元MC[i+1,j]的晶体管Tr21能够灌入的电流之和大于晶体管Tr30[j]的漏极电流。因此,在电流ΔI[j]为负值的情况下,在电路13[j]的晶体管Tr28成为导通状态时,电流从晶体管Tr27的栅极流出到布线BL[j],使晶体管Tr27的栅极电位开始下降。当晶体管Tr27的漏极电流下降至大致等于电流ΔI[j]的绝对值时,晶体管Tr27的栅极电位收敛到指定值。此时的晶体管Tr27的栅极电位相当于晶体管Tr27的漏极电流为电流ΔI[j]的绝对值(即电流Ioffset[j](=ICM[j]))时的电位。换言之,电路13[j]的晶体管Tr27被设为能够流动电流ICM[j]的电流源的状态。

同样地,在流过布线BL[j+1]的电流I[j+1]大于流过布线BLREF的电流IREF,即,电流ΔI[j+1]为负值的情况下,在电路13[j+1]的晶体管Tr28成为导通状态时,电流从晶体管Tr27的栅极流出到布线BL[j+1],使晶体管Tr27的栅极电位开始下降。当晶体管Tr27的漏极电流下降至大致等于电流ΔI[j+1]的绝对值的值时,晶体管Tr27的栅极电位收敛到指定值。此时的晶体管Tr27的栅极电位相当于晶体管Tr27的漏极电流值与电流ΔI[j+1]的绝对值(即电流Ioffset[j+1](=ICM[j+1]))时的电位。换言之,电路13[j+1]的晶体管Tr27被设为能够流动电流ICM[j+1]的电流源的状态。

在时刻T10结束时,供应到图19所示的布线OSM的电位从高电平变为低电平,电路13[j]及电路13[j+1]的晶体管Tr28成为关闭状态。通过上述工作,保持晶体管Tr27的栅极电位。因此,电路13[j]维持被设为能够流动电流ICM[j]的电流源的状态,电路13[j+1]维持被设为能够流动电流ICM[j+1]的电流源的状态。

在电路14[j]及电路14[j+1]中,晶体管Tr24具有灌入电流的功能。因此,在时刻T07至时刻T08,在流过布线BL[j]的电流I[j]大于流过布线BLREF的电流IREF,即电流ΔI[j]为负值的情况下,或者,在流过布线BL[j+1]的电流I[j+1]大于流过布线BLREF的电流IREF,即电流ΔI[j+1]为负值的情况下,可能不容易从电路14[j]或电路14[j+1]对布线BL[j]或布线BL[j+1]充分地供应电流。在此情况下,由于调整流过布线BL[j]或布线BL[j+1]的电流与流过布线BLREF的电流的平衡,因此存储单元MC的晶体管Tr21、电路14[j]或电路14[j+1]的晶体管Tr24及晶体管Tr30[j]或Tr30[j+1]则有可能不容易在饱和区域中工作。

为了在时刻T07至时刻T08在电流ΔI[j]为负值的情况下也确保晶体管Tr21、Tr24、Tr30[j]或Tr30[j+1]在饱和区域中工作,也可以在时刻T05至时刻T06中将晶体管Tr27的栅极电位设定为能够获得指定的漏极电流的电平,而不将晶体管Tr27的栅极复位到电位VDD。通过采用上述结构,除了晶体管Tr30[j]或Tr30[j+1]的漏极电流以外,还可以从晶体管Tr27供应电流,因此,可以由晶体管Tr24在一定程度上灌入相当于晶体管Tr21不能灌入的部分的电流,因此可以确保晶体管Tr21、Tr24、Tr30[j]或Tr30[j+1]在饱和区域工作。

在时刻T09至时刻T10,在流过布线BL[j]的电流I[j]小于流过布线BLREF的电流IREF,即电流ΔI[j]为正值的情况下,由于在时刻T07至时刻T08,电路14[j]已被设为能够流动电流ICP[j]的电流源,因此电路13[j]的晶体管Tr27的栅极电位大致保持电位VDD。同样地,在流过布线BL[j+1]的电流I[j+1]小于流过布线BLREF的电流IREF,即电流ΔI[j+1]为正值的情况下,由于在时刻T07至时刻T08,电路14[j+1]已被设为能够流动电流ICP[j+1]的电流源,因此电路13[j+1]的晶体管Tr27的栅极电位大致保持电位VDD。

接着,在时刻T11至时刻T12,对图18所示的布线RW[i]供应第二模拟电位Vw[i]。另外,继续对布线RW[i+1]作为基准电位供应电位VSS与电位VDD之间的电位,例如电位(VDD+VSS)/2。具体而言,布线RW[i]的电位为对作为基准电位的电位VSS与电位VDD之间的电位(例如,电位(VDD+VSS)/2)加上电位差Vw[i]的电位,但是,下面,为了容易理解,假设布线RW[i]的电位为电位Vw[i]。

当布线RW[i]成为电位Vw[i]时,假设电容器C21的第一电极的电位的变化量大致反映到节点N的电位的变化量,图18所示的存储单元MC[i,j]的节点N的电位变为VPR-Vx[i,j]+Vw[i],存储单元MC[i,j+1]的节点N的电位变为VPR-Vx[i,j+1]+Vw[i]。根据上述算式b14可知对应于存储单元MC[i,j]的第一模拟数据及第二模拟数据之积和值反映到从电流ΔI[j]减去电流Ioffset[j]的电流,即从布线BL[j]流出的电流Iout[j]。另外,可知对应于存储单元MC[i,j+1]的第一模拟数据及第二模拟数据之积和值反映到从电流ΔI[j+1]减去电流Ioffset[j+1]的电流,即从布线BL[j+1]流出的电流Iout[j+1]。

在时刻T12结束时,再次对布线RW[i]供应作为基准电位的电位VSS与电位VDD之间的电位,例如电位(VDD+VSS)/2。

接着,在时刻T13至时刻T14,对图18所示的布线RW[i+1]供应第二模拟电位Vw[i+1]。另外,继续对布线RW[i]作为基准电位供应电位VSS与电位VDD之间的电位,例如电位(VDD+VSS)/2。具体而言,布线RW[i+1]的电位为对作为基准电位的电位VSS与电位VDD之间的电位(例如,电位(VDD+VSS)/2)加上电位差Vw[i+1]的电位,但是,下面,为了容易理解,假设布线RW[i+1]的电位为电位Vw[i+1]。

当布线RW[i+1]成为电位Vw[i+1]时,假设电容器C21的第一电极的电位的变化量大致反映到节点N的电位的变化量,图18所示的存储单元MC[i+1,j]的节点N的电位变为VPR-Vx[i+1,j]+Vw[i+1],存储单元MC[i+1,j+1]的节点N的电位变为VPR-Vx[i+1,j+1]+Vw[i+1]。根据上述算式b14可知对应于存储单元MC[i+1,j]的第一模拟数据及第二模拟数据之积和值反映到从电流ΔI[j]减去电流Ioffset[j]的电流,即电流Iout[j]。另外,可知对应于存储单元MC[i+1,j+1]的第一模拟数据及第二模拟数据之积和值反映到从电流ΔI[j+1]减去电流Ioffset[j+1]的电流,即电流Iout[j+1]。

在时刻T14结束时,再次对布线RW[i+1]供应作为基准电位的电位VSS与电位VDD之间的电位,例如电位(VDD+VSS)/2。

接着,在时刻T15至时刻T16,对图18所示的布线RW[i]供应第二模拟电位Vw[i],对布线RW[i+1]供应第二模拟电位Vw[i+1]。具体而言,布线RW[i]的电位为对作为基准电位的电位VSS与电位VDD之间的电位,(例如,电位(VDD+VSS)/2)加上电位差Vw[i]的电位,布线RW[i+1]的电位为对作为基准电位的电位VSS与电位VDD之间的电位(例如,电位(VDD+VSS)/2)加上电位差Vw[i+1]的电位,但是,下面,为了容易理解,假设布线RW[i]的电位为电位Vw[i],布线RW[i+1]的电位为电位Vw[i+1]。

当布线RW[i]成为电位Vw[i]时,假设电容器C21的第一电极的电位的变化量大致反映到节点N的电位的变化量,图18所示的存储单元MC[i,j]的节点N的电位变为VPR-Vx[i,j]+Vw[i],存储单元MC[i,+1]的节点N的电位变为VPR-Vx[i,j+1]+Vw[i]。当布线RW[i+1]成为电位Vw[i+1]时,假设电容器C21的第一电极的电位的变化量大致反映到节点N的电位的变化量,图18所示的存储单元MC[i+1,j]的节点N的电位变为VPR-Vx[i+1,j]+Vw[i+1],存储单元MC[i+1,j+1]的节点N的电位变为VPR-Vx[i+1,j+1]+Vw[i+1]。

根据上述算式b14可知对应于存储单元MC[i,j]及存储单元MC[i+1,j]的第一模拟数据及第二模拟数据之积和值反映到从电流ΔI[j]减去电流Ioffset[j]的电流,即电流Iout[j]。另外,可知对应于存储单元MC[i,j+1]及存储单元MC[i+1,j+1]的第一模拟数据及第二模拟数据之积和值反映到从电流ΔI[j+1]减去电流Ioffset[j+1]的电流,即电流Iout[j+1]。

在时刻T16结束时,再次对布线RW[i]及布线RW[i+1]供应作为基准电位的电位VSS与电位VDD之间的电位,例如电位(VDD+VSS)/2。

通过上述结构,可以以较小的电路规模执行积和运算。另外,通过上述结构,可以高速执行积和运算。另外,通过上述结构,可以以低功耗执行积和运算。

注意,作为晶体管Tr22、Tr25、Tr26、Tr28、Tr29优选使用关态电流极低的晶体管。通过作为晶体管Tr22使用关态电流极低的晶体管,可以长时间保持节点N的电位。另外,通过作为晶体管Tr25及Tr26使用关态电流极低的晶体管,可以长时间保持晶体管Tr24的栅极电位。另外,通过作为晶体管Tr28及Tr29使用关态电流极低的晶体管,可以长时间保持晶体管Tr27的栅极电位。

为了减少晶体管的关态电流,例如使用带隙大的半导体形成沟道形成区域即可。如上所述,带隙大的半导体是指带隙为2.2eV以上的半导体,作为这种半导体的材料可以举出氧化物半导体。作为晶体管Tr22、Tr25、Tr26、Tr28、Tr29可以使用OS晶体管。

本实施方式的至少一部分可以与本说明书所记载的其他实施方式适当地组合而实施。

(实施方式3)

在本实施方式中,对安装有本发明的一个方式的半导体装置100至102中的任一个的电子设备的例子进行说明。注意,在本实施方式中,作为半导体装置100至102的代表示出半导体装置100,但是也可以置换成半导体装置101或半导体装置102。

图21A是照相机的例子。照相机1820包括框体1821、显示部1822、操作按钮1823、快门按钮1824等。另外,照相机1820安装有可装卸的镜头1826。

在此,虽然照相机1820具有能够从框体1821拆卸下镜头1826而交换的结构,但是镜头1826和框体1821也可以被形成为一体。

通过按下快门按钮1824,照相机1820可以拍摄静态图像或动态图像。另外,也可以使显示部1822具有触摸传感器的功能,通过触摸显示部1822进行摄像。

另外,照相机1820还可以具备另外安装的闪光灯装置及取景器等。另外,这些构件也可以组装在框体1821中。

图21B是使显示部1822放大的图。显示部1822可以显示照相机1820所拍摄的静态图像、动态图像或者照相机1820通过镜头1826正在拍摄的图像等。

图21B所示的显示部1822上显示有兔子1828及女性1829。安装在照相机1820中的半导体装置100进行图像识别,在兔子1828及女性1829的周围显示有区别所识别的物体的框(在附图图中,用虚线表示框),并可以显示物体为何物的说明(在附图中,分别显示“兔子”、“女性”)。

图22A是信息终端的例子。信息终端1840包括显示部1841等。显示部1841中配置有触摸传感器,显示部1841也具有输入部的功能。

安装在信息终端1840中的半导体装置100可以识别输入到显示部1841的文字并显示识别结果。图22A示出使用者用手指输入英文字母的“a”,半导体装置100识别所输入的文字,在显示部1841的左上显示识别结果的例子。注意,显示部1841的文字输入除了用手指以外还可以使用触屏笔等进行。

图22B是机器人的例子。机器人1860包括运算装置1870、照度传感器1861、麦克风1862、上部照相机1863、扬声器1864、显示器1865、下部照相机1866、障碍物传感器1867以及移动机构1868等。运算装置1870安装有半导体装置100。

麦克风1862具有检测使用者的声音及周围的声音等的功能。另外,扬声器1864具有发出声音的功能。机器人1860可以使用麦克风1862及扬声器1864与使用者交流。

显示器1865具有显示各种信息的功能。机器人1860可以将使用者所希望的信息显示在显示器1865上。显示器1865可以安装有触摸传感器。显示器1865可以是可拆卸的信息终端等,通过将该信息终端设置在机器人1860的所定位置,可以进行充电及数据的收发。

上部照相机1863及下部照相机1866具有对机器人1860的周围环境进行摄像的功能。另外,障碍物传感器1867可以检测机器人1860使用移动机构1868移动时的前方的障碍物的有无。

安装在运算装置1870中的半导体装置100可以通过分析上述照相机1863及下部照相机1866所拍摄的图像,判断墙壁、家具、台阶或坠落物等障碍物的有无。

此外,安装在运算装置1870中的半导体装置100可以通过从上述照相机1863及下部照相机1866所拍摄的图像识别机器人1860的使用者,向机器人1860的使用者的方向移动。或者,机器人1860跟着使用者移动。

通过在图21及图22所示的电子设备中安装上述实施方式所示的半导体装置100,可以高效地进行图像识别。

另外,本实施方式可以与本说明书所记载的其他实施方式适当地组合而实施。

(实施方式4)

在本实施方式中,对可用于上述OS晶体管的金属氧化物进行说明。下面尤其对金属氧化物与CAC(Cloud-Aligned Composite)进行详细说明。

CAC-OS或CAC-metal oxide在材料的一部分中具有导电性的功能,在材料的另一部分中具有绝缘性的功能,作为材料的整体具有半导体的功能。此外,在将CAC-OS或CAC-metal oxide用于晶体管的沟道形成区域的情况下,导电性的功能是使被用作载流子的电子(或空穴)流过的功能,绝缘性的功能是不使被用作载流子的电子流过的功能。通过导电性的功能和绝缘性的功能的互补作用,可以使CAC-OS或CAC-metal oxide具有开关功能(控制开启/关闭的功能)。通过在CAC-OS或CAC-metal oxide中使各功能分离,可以最大限度地提高各功能。

此外,CAC-OS或CAC-metal oxide包括导电性区域及绝缘性区域。导电性区域具有上述导电性的功能,绝缘性区域具有上述绝缘性的功能。此外,在材料中,导电性区域和绝缘性区域有时以纳米粒子级分离。另外,导电性区域和绝缘性区域有时在材料中不均匀地分布。此外,有时观察到其边缘模糊而以云状连接的导电性区域。

此外,在CAC-OS或CAC-metal oxide中,导电性区域和绝缘性区域有时以0.5nm以上且10nm以下,优选为0.5nm以上且3nm以下的尺寸分散在材料中。

此外,CAC-OS或CAC-metal oxide由具有不同带隙的成分构成。例如,CAC-OS或CAC-metal oxide由具有起因于绝缘性区域的宽隙的成分及具有起因于导电性区域的窄隙的成分构成。在该结构中,当使载流子流过时,载流子主要在具有窄隙的成分中流过。此外,具有窄隙的成分通过与具有宽隙的成分的互补作用,与具有窄隙的成分联动而使载流子流过具有宽隙的成分。因此,在将上述CAC-OS或CAC-metal oxide用于晶体管的沟道形成区域时,在晶体管的开启状态中可以得到高电流驱动力,即大通态电流及高场效应迁移率。

就是说,也可以将CAC-OS或CAC-metal oxide称为基质复合材料(matrixcomposite)或金属基质复合材料(metal matrix composite)。

CAC-OS例如是指包含在氧化物半导体中的元素不均匀地分布的构成,其中包含不均匀地分布的元素的材料的尺寸为0.5nm以上且10nm以下,优选为1nm以上且2nm以下或近似的尺寸。注意,在下面也将在金属氧化物中一个或多个金属元素不均匀地分布且包含该金属元素的区域以0.5nm以上且10nm以下,优选为1nm以上且2nm以下或近似的尺寸混合的状态称为马赛克(mosaic)状或补丁(patch)状。

金属氧化物优选至少包含铟。尤其优选包含铟及锌。除此之外,也可以还包含铝、镓、钇、铜、钒、铍、硼、硅、钛、铁、镍、锗、锆、钼、镧、铈、钕、铪、钽、钨和镁等中的一种或多种。

例如,In-Ga-Zn氧化物中的CAC-OS(在CAC-OS中,尤其可以将In-Ga-Zn氧化物称为CAC-IGZO)是指材料分成铟氧化物(以下,称为InOX1(X1为大于0的实数))或铟锌氧化物(以下,称为InX2ZnY2OZ2(X2、Y2及Z2为大于0的实数))以及镓氧化物(以下,称为GaOX3(X3为大于0的实数))或镓锌氧化物(以下,称为GaX4ZnY4OZ4(X4、Y4及Z4为大于0的实数))等而成为马赛克状,且马赛克状的InOX1或InX2ZnY2OZ2均匀地分布在膜中的构成(以下,也称为云状)。

换言之,CAC-OS是具有以GaOX3为主要成分的区域和以InX2ZnY2OZ2或InOX1为主要成分的区域混在一起的构成的复合金属氧化物。在本说明书中,例如,当第一区域的In与元素M的原子个数比大于第二区域的In与元素M的原子个数比时,第一区域的In浓度高于第二区域。

注意,IGZO是通称,有时是指包含In、Ga、Zn及O的化合物。作为典型例子,可以举出以InGaO3(ZnO)m1(m1为自然数)或In(1+x0)Ga(1-x0)O3(ZnO)m0(-1≤x0≤1,m0为任意数)表示的结晶性化合物。

上述结晶性化合物具有单晶结构、多晶结构或CAAC(c-axis-aligned crystal:c轴取向结晶)结构。CAAC结构是多个IGZO的纳米晶具有c轴取向性且在a-b面上以不取向的方式连接的结晶结构。

另一方面,CAC-OS与金属氧化物的材料构成有关。CAC-OS是指在包含In、Ga、Zn及O的材料构成中部分地观察到以Ga为主要成分的纳米粒子的区域和部分地观察到以In为主要成分的纳米粒子的区域以马赛克状无规律地分散的构成。因此,在CAC-OS中,结晶结构是次要因素。

CAC-OS不包含组成不同的两种以上的膜的叠层结构。例如,不包含由以In为主要成分的膜与以Ga为主要成分的膜的两层构成的结构。

注意,有时观察不到以GaOX3为主要成分的区域与以InX2ZnY2OZ2或InOX1为主要成分的区域之间的明确的边界。

在CAC-OS中包含选自铝、钇、铜、钒、铍、硼、硅、钛、铁、镍、锗、锆、钼、镧、铈、钕、铪、钽、钨和镁等中的一种或多种以代替镓的情况下,CAC-OS是指如下构成:一部分中观察到以该金属元素为主要成分的纳米粒子状区域和一部分中观察到以In为主要成分的纳米粒子状区域分别以马赛克状无规律地分散。

CAC-OS例如可以通过在对衬底不进行意图性的加热的条件下利用溅射法来形成。在利用溅射法形成CAC-OS的情况下,作为成膜气体,可以使用选自惰性气体(典型的是氩)、氧气体和氮气体中的一种或多种。另外,成膜时的成膜气体的总流量中的氧气体的流量比越低越好,例如,将氧气体的流量比设定为0%以上且低于30%,优选为0%以上且10%以下。

CAC-OS具有如下特征:通过X射线衍射(XRD:X-ray diffraction)测定法之一的Out-of-plane法利用θ/2θ扫描进行测定时,观察不到明确的峰值。也就是说,根据X射线衍射,可知在测定区域中没有a-b面方向及c轴方向上的取向。

另外,在通过照射束径为1nm的电子束(也称为纳米束)而取得的CAC-OS的电子衍射图案中,观察到环状的亮度高的区域以及在该环状区域内的多个亮点。由此,根据电子衍射图案,可知CAC-OS的结晶结构是在平面方向及截面方向上没有取向的nc(nano-crystal)结构。

另外,例如在In-Ga-Zn氧化物的CAC-OS中,根据通过能量分散型X射线分析法(EDX:Energy Dispersive X-ray spectroscopy)取得的EDX面分析图像(EDX mapping),可确认到:具有以GaOX3为主要成分的区域及以InX2ZnY2OZ2或InOX1为主要成分的区域不均匀地分布而混合的构成。

CAC-OS的结构与金属元素均匀地分布的IGZO化合物不同,具有与IGZO化合物不同的性质。换言之,CAC-OS具有以GaOX3等为主要成分的区域及以InX2ZnY2OZ2或InOX1为主要成分的区域互相分离且以各元素为主要成分的区域为马赛克状的构成。

在此,以InX2ZnY2OZ2或InOX1为主要成分的区域的导电性高于以GaOX3等为主要成分的区域。换言之,当载流子流过以InX2ZnY2OZ2或InOX1为主要成分的区域时,呈现氧化物半导体的导电性。因此,当以InX2ZnY2OZ2或InOX1为主要成分的区域在氧化物半导体中以云状分布时,可以实现高场效应迁移率(μ)。

另一方面,以GaOX3等为主要成分的区域的绝缘性高于以InX2ZnY2OZ2或InOX1为主要成分的区域。换言之,当以GaOX3等为主要成分的区域在氧化物半导体中分布时,可以抑制泄漏电流而实现良好的开关工作。

因此,当将CAC-OS用于半导体元件时,通过起因于GaOX3等的绝缘性及起因于InX2ZnY2OZ2或InOX1的导电性的互补作用可以实现高通态电流(Ion)及高场效应迁移率(μ)。

另外,使用CAC-OS的半导体元件具有高可靠性。因此,CAC-OS适合于各种半导体装置。

另外,本实施方式可以与本说明书所记载的其他实施方式适当地组合而实施。

[符号说明]

C1:箭头、C11:电容器、C12:电容器、C21:电容器、C22:电容器、C23:电容器、CLK_IN1:时钟信号、CLK_IN2:时钟信号、CLK_IN3:时钟信号、CLK_IN4:时钟信号、CLK1:时钟信号、CLK2:时钟信号、CLK3:时钟信号、CLK4:时钟信号、D_IN1:信号、D_IN2:信号、N11:节点、N12:节点、R1:箭头、T01:时刻、T1:时刻、T02:时刻、T2:时刻、T03:时刻、T3:时刻、T04:时刻、T4:时刻、T05:时刻、T5:时刻、T06:时刻、T6:时刻、T07:时刻、T7:时刻、T08:时刻、T8:时刻、T09:时刻、T9:时刻、T10:时刻、T11:时刻、T12:时刻、T13:时刻、T14:时刻、T15:时刻、T16:时刻、T17:时刻、Tr21:晶体管、Tr22:晶体管、Tr24:晶体管、Tr25:晶体管、Tr26:晶体管、Tr27:晶体管、Tr28:晶体管、Tr29:晶体管、Tr30:晶体管、Tr31:晶体管、11:存储电路、12:参考用存储电路、13:电路、14:电路、15:电流源电路、41:晶体管、42:晶体管、43:晶体管、44:晶体管、45:晶体管、46:晶体管、47:晶体管、48:晶体管、50:帧存储器、51:区域、60:移位寄存器群、61:寄存器、62:反相器、63:时钟反相器、66:时钟反相器、67:反相器、68:反相器、69:寄存器、70:D/A转换器、80:积和运算电路、90:池化电路、100:半导体装置、101:半导体装置、102:半导体装置、107:半导体装置、270:电路、271:电路、272:电路、273:电路、274:电路、1820:照相机、1821:外壳、1822:显示部、1823:操作按钮、1824:快门按钮、1826:镜头、1829:女性、1840:信息终端、1841:显示部、1860:机器人、1861:照度传感器、1862:麦克风、1863:上部照相机、1864:扬声器、1865:显示器、1866:下部照相机、1867:障碍物传感器、1868:移动机构、1870:运算装置。

61页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:使用散斑图案认证基材的方法以及执行该方法的设备

相关技术

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类