半导体装置及电子设备的制作方法

文档序号:33561399发布日期:2023-03-22 14:34阅读:771来源:国知局
半导体装置及电子设备的制作方法

1.本发明的一个方式涉及一种半导体装置及电子设备。
2.本发明的一个方式不限定于上述技术领域。本说明书等所公开的发明的技术领域涉及一种物体、驱动方法或制造方法。另外,本发明的一个方式涉及一种工序(process)、机器(machine)、产品(manufacture)或者组合物(compositionofmatter)。因此,具体而言,作为本说明书所公开的本发明的一个方式的技术领域的例子可以举出半导体装置、显示装置、液晶显示装置、发光装置、蓄电装置、摄像装置、存储装置、信号处理装置、处理器、电子设备、系统、它们的驱动方法、它们的制造方法或它们的检查方法。


背景技术:

3.现在,以人间的脑子结构为模型的集成电路的开发日益火热。该集成电路组装有作为脑子结构的电子电路且包括相当于人间脑子的“神经元”及“神经突触”的电路。因此,有时将上述集成电路称为“神经形性(neuro-morphic)”、“脑子形性(brain-morphic)”、“脑子激发(brain-inspire)”等。该集成电路具有非诺依曼型体系结构,与随着处理速度的增加功耗也变高的诺依曼型体系结构相比,可以期待以极低功耗进行并列处理。
4.包括“神经元”及“神经突触”的模仿神经电路网的数据处理模型被称为人工神经网络(ann)。例如,非专利文献1及非专利文献2公开了使用sram(staticrandomaccessmemory;静态随机存取存储器)构成人工神经网络的运算装置。[先行技术文献][非专利文献]
[0005]
[非专利文献1]m.kangetal.,“ieeejournalofsolid-state circuits”,2018,volume53,no.2,p.642-655.[非专利文献2]j.zhangetal.,“ieeejournalofsolid-state circuits”,2017,volume52,no.4,p.915-924.


技术实现要素:

发明所要解决的技术问题
[0006]
在人工神经网络中,进行将使两个神经元彼此结合的神经突触的结合强度(有时称为权重系数)乘以在两个神经元间传送的信号的计算。尤其是,在分层人工神经网络中,需要将第一层的多个第一神经元的每一个与第二层的第二神经元中的一个之间的神经突触的结合强度分别乘以从第一层的多个第一神经元的每一个向第二层的第二神经元中的一个输入的信号而将它们加在一起,也就是说,需要进行积和运算,根据人工神经网络的规模例如决定该结合强度的数量、表示该信号的参数的数量。另外,第二神经元利用神经突触的结合强度与第一神经元所输出的信号的积和运算结果以激活函数进行运算,并且将该运算结果作为信号输出到第三层的第三神经元。换言之,在人工神经网络中,分层的数量、神经元的数量等越多,相当于“神经元”及“神经突触”的每一个的电路数量越多,从而运算量
有时变庞大。由此,电路的功耗有时变高,从而电路的发热量也有时变大。
[0007]
另外,人工神经网络有各种模型,例如,作为用于图像分析的模型有被称为卷积神经网络(cnn)的模型。卷积神经网络是在图像识别领域中发挥优异性能的神经网络之一,其运算量取决于图像的分辨率、滤波的大小等。具体而言,例如,图像的分辨率越高、滤波的大小越大或步长越小,卷积神经网络的运算量越大,由此电路的功耗有时变高。
[0008]
另外,构成芯片的电路数量越多功耗越高,而且驱动装置时产生的发热量也越大。尤其是,发热量越大,对包括在芯片的电路元件的特性带来的影响越大,所以构成芯片的电路优选包括不容易受到温度影响的电路元件。此外,在包括在芯片的晶体管、电流源等的特性有偏差时运算结果也有偏差。
[0009]
本发明的一个方式的目的之一是提供一种进行积和运算及/或函数运算的半导体装置等。另外,本发明的一个方式的目的之一是提供一种进行卷积处理的半导体装置等。另外,本发明的一个方式的目的之一是提供一种应用于ai的半导体装置等。另外,本发明的一个方式的目的之一是提供一种应用于dnn的半导体装置等。另外,本发明的一个方式的目的之一是提供一种功耗低的半导体装置等。另外,本发明的一个方式的目的之一是提供一种不容易受到环境温度的影响的半导体装置等。另外,本发明的一个方式的目的之一是提供一种不容易受到晶体管的特性不均匀的影响的半导体装置等。另外,本发明的一个方式的目的之一是提供一种不容易受到电流源的特性不均匀的影响的半导体装置等。另外,本发明的一个方式的目的之一是提供一种新颖的半导体装置等。
[0010]
注意,本发明的一个方式的目的不局限于上述目的。上述列举的目的并不妨碍其他目的的存在。另外,其他目的是上面没有提到而将在下面的记载中进行说明的目的。本领域技术人员可以从说明书或附图等的记载中导出并适当抽出上面没有提到的目的。此外,本发明的一个方式实现上述目的及其他目的中的至少一个目的。此外,本发明的一个方式并不需要实现所有的上述目的及其他目的。解决技术问题的手段
[0011]
(1)本发明的一个方式是一种半导体装置,包括:第一电路;以及第二电路。第一电路包括第一保持部及第一驱动晶体管,第二电路包括第二保持部及第二驱动晶体管。第一电路与第一输入布线、第二输入布线、第一布线及第二布线电连接,第二电路与第一输入布线、第二输入布线、第一布线及第二布线电连接。第一保持部具有保持对应于从第一布线向第一驱动晶体管的源极与漏极间流过的第一电流的第一电位的功能,第二保持部具有保持对应于从第二布线向第二驱动晶体管的源极与漏极间流过的第二电流的第二电位的功能。另外,第一电路具有如下功能:在对第一输入布线输入第一电平电位且对第二输入布线输入第二电平电位时,将第一电流输出到第一布线;在对第一输入布线输入第二电平电位且对第二输入布线输入第一电平电位时,将第一电流输出到第二布线;以及在对第一输入布线输入第二电平电位且对第二输入布线输入第二电平电位时,不将第一电流输出到第一布线及第二布线。另外,第二电路具有如下功能:在对第一输入布线输入第一电平电位且对第二输入布线输入第二电平电位时,将第二电流输出到第二布线;在对第一输入布线输入第二电平电位且对第二输入布线输入第一电平电位时,将第二电流输出到第一布线;以及在对第一输入布线输入第二电平电位且对第二输入布线输入第二电平电位时,不将第二电流
输出到第一布线及第二布线。第一电流及第二电路的每一个的电流量是对应于卷积处理中使用的滤波所具有的滤波值的量。并且,对第一输入布线及第二输入布线的每一个输入的第一电平电位及第二电平电位根据被进行卷积处理的图像数据决定。
[0012]
(2)另外,本发明的一个方式是一种构成要素与上述(1)不同的半导体装置,包括:第一电路;以及第二电路。第一电路包括第一保持部及第一驱动晶体管,第二电路包括第二保持部及第二驱动晶体管。第一电路与第一输入布线、第二输入布线、第一布线及第二布线电连接,第二电路与第一输入布线、第二输入布线、第一布线及第二布线电连接。第一保持部具有保持对应于从第一布线向第一驱动晶体管的源极与漏极间流过的第一电流的第一电位的功能,第二保持部具有保持对应于从第二布线向第二驱动晶体管的源极与漏极间流过的第二电流的第二电位的功能。第一驱动晶体管具有在第一驱动晶体管的源极与漏极间使对应于所保持的第一电位的第一电流流过的功能,第二驱动晶体管具有在第二驱动晶体管的源极与漏极间使对应于所保持的第二电位的第二电流流过的功能。另外,第一电路具有如下功能:在第一期间,在对第一输入布线输入第一电平电位且对第二输入布线输入第二电平电位时,将第一电流输出到第一布线;在第一期间,在对第一输入布线输入第二电平电位且对第二输入布线输入第一电平电位时,将第一电流输出到第二布线;以及在第一期间,在对第一输入布线输入第二电平电位且对第二输入布线输入第二电平电位时,不将第一电流输出到第一布线及第二布线。另外,第二电路具有如下功能:在第一期间,在对第一输入布线输入第一电平电位且对第二输入布线输入第二电平电位时,将第二电流输出到第二布线;在第一期间,在对第一输入布线输入第二电平电位且对第二输入布线输入第一电平电位时,将第二电流输出到第一布线;以及在第一期间,在对第一输入布线输入第二电平电位且对第二输入布线输入第二电平电位时,不将第二电流输出到第一布线及第二布线。第一电流及第二电路的每一个的电流量是对应于卷积处理中使用的滤波所具有的滤波值的量,对第一输入布线及第二输入布线的每一个输入的第一电平电位及第二电平电位以及第一期间的长度根据被进行卷积处理的图像数据决定。
[0013]
(3)另外,在具有上述(2)的结构的本发明的一个方式中,第一期间也可以包括第二期间、第三期间。具体而言,第一输入布线具有在第二期间对第一电路和第二电路的双方供应第一电平电位或第二电平电位的功能。另外,第二输入布线具有在第二期间对第一电路和第二电路的双方供应第一电平电位或第二电平电位的功能。另外,第一输入布线具有在第三期间对第一电路和第二电路的双方供应第一电平电位或第二电平电位的功能。另外,第二输入布线具有在第三期间对第一电路和第二电路的双方供应第一电平电位或第二电平电位的功能。第三期间的长度优选为第二期间的长度的1.8倍以上且2.2倍以下。
[0014]
(4)另外,在本发明的一个方式中,上述(1)至(3)中的任一个也可以具有如下结构:第一电路包括第一晶体管、第二晶体管、第三晶体管及第一电容;以及第二电路包括第四晶体管、第五晶体管、第六晶体管及第二电容。具体而言,第一保持部包括第一晶体管及第一电容,第二保持部包括第四晶体管及第二电容。第一晶体管的第一端子与第一电容的第一端子及第一驱动晶体管的栅极电连接,第一晶体管的第二端子与第一布线电连接。另外,第一
驱动晶体管的第一端子与第二晶体管的第一端子及第三晶体管的第一端子电连接,第二晶体管的第二端子与第一布线电连接,第二晶体管的栅极与第一输入布线电连接,第三晶体管的第二端子与第二布线电连接,第三晶体管的栅极与第二输入布线电连接。另外,第四晶体管的第一端子与第二电容的第一端子及第二驱动晶体管的栅极电连接,第四晶体管的第二端子与第二布线电连接。另外,第二驱动晶体管的第一端子与第五晶体管的第一端子及第六晶体管的第一端子电连接,第五晶体管的第二端子与第二布线电连接,第五晶体管的栅极与第一输入布线电连接,第六晶体管的第二端子与第一布线电连接,第六晶体管的栅极与第二输入布线电连接。
[0015]
(5)另外,在本发明的一个方式中,上述(4)也可以具有如下结构:第一电路包括第七晶体管;以及第二电路包括第八晶体管。具体而言,第七晶体管的第一端子与第一驱动晶体管的第一端子、第二晶体管的第一端子及第三晶体管的第一端子电连接,第七晶体管的第二端子与第一晶体管的第一端子和第二端子中的一个电连接。另外,第八晶体管的第一端子与第二驱动晶体管的第一端子、第五晶体管的第一端子及第六晶体管的第一端子电连接,第八晶体管的第二端子与第四晶体管的第一端子和第二端子中的一个电连接。并且,第一晶体管的栅极与第四晶体管的栅极、第七晶体管的栅极及第八晶体管的栅极电连接。
[0016]
(6)另外,在本发明的一个方式中,上述(1)至(3)中的任一个也可以具有如下结构:第一电路包括第一晶体管、第二晶体管、第三晶体管及第一电容;以及第二电路包括第四晶体管、第五晶体管、第六晶体管及第二电容。具体而言,第一保持部包括第一晶体管及第一电容,第二保持部包括第四晶体管及第二电容。第一晶体管的第一端子与第一电容的第一端子及第一驱动晶体管的栅极电连接,第一驱动晶体管的第一端子与第一晶体管的第二端子、第二晶体管的第一端子及第三晶体管的第一端子电连接。另外,第二晶体管的第二端子与第一布线电连接,第二晶体管的栅极与第一输入布线电连接,第三晶体管的第二端子与第二布线电连接,第三晶体管的栅极与第二输入布线电连接。另外,第四晶体管的第一端子与第二电容的第一端子及第二驱动晶体管的栅极电连接,第二驱动晶体管的第一端子与第四晶体管的第二端子、第五晶体管的第一端子及第六晶体管的第一端子电连接。另外,第五晶体管的第二端子与第二布线电连接,第五晶体管的栅极与第一输入布线电连接,第六晶体管的第二端子与第一布线电连接,第六晶体管的栅极与第二输入布线电连接。
[0017]
(7)另外,在本发明的一个方式中,上述(1)至(3)中的任一个也可以具有如下结构:第一电路包括第三保持部及第三驱动晶体管;以及第二电路包括第四保持部及第四驱动晶体管。具体而言,第一电路与第三布线电连接,第二电路与第三布线电连接。另外,第三保持部具有保持对应于从第一布线向第三驱动晶体管的源极与漏极间流过的第三电流的第三电位的功能,第四保持部具有保持对应于从第二布线向第四驱动晶体管的源极与漏极间流过的第四电流的第四电位的功能。另外,第三驱动晶体管具有在第三驱动晶体管的源极与漏极间使对应于所保持的第三电位的第三电流流过的功能,第四驱动晶体管具有在第四驱动晶体管的源极与漏极间使对应于所保持的第四电位的第四电流流过的功能。并且,半导体装置具有如下功能:根据输入到第三布线的信号将在第一布线和第二布线中的一个流过的
第一电流切换为第三电流,且将在第一布线和第二布线中的另一个流过的第二电流切换为第四电流。
[0018]
(8)另外,在本发明的一个方式中,上述(1)至(7)中的任一个也可以具有还包括第三电路、第四电路及第五电路的结构。第三电路具有如下功能:通过第一布线对第一电路供应对应于滤波值的第一电流;以及通过第二布线对第二电路供应对应于滤波值的第二电流。另外,第四电路具有如下功能:根据图像数据对第一输入布线输入第一电平电位或第二电平电位;以及根据图像数据对第二输入布线输入第一电平电位或第二电平电位。并且,第五电路具有对从第一布线及第二布线的每一个流过的电流进行比较而从第五电路的输出端子输出对应于滤波值与图像数据之积的电位的功能。
[0019]
(9)另外,本发明的一个方式是一种电子设备,包括上述(1)至(8)中的任一个半导体装置及外壳。在电子设备中,也可以通过卷积处理进行图像的特征提取。
[0020]
注意,在本说明书等中,半导体装置是指利用半导体特性的装置以及包括半导体元件(晶体管、二极管、光电二极管等)的电路及包括该电路的装置等。另外,半导体装置是指能够利用半导体特性而发挥作用的所有装置。例如,作为半导体装置的例子,有集成电路、具备集成电路的芯片、封装中容纳有芯片的电子构件。此外,有时存储装置、显示装置、发光装置、照明装置以及电子设备等本身是半导体装置,或者包括半导体装置。
[0021]
另外,在本说明书等中,当记载为“x与y连接”时,表示在本说明书等中公开了如下情况:x与y电连接的情况;x与y在功能上连接的情况;以及x与y直接连接的情况。因此,不局限于附图或文中所示的连接关系,例如其他的连接关系也在附图或文中所记载的范围内记载。x和y都是对象物(例如,装置、元件、电路、布线、电极、端子、导电膜、层等)。
[0022]
作为x和y电连接的情况的一个例子,可以在x和y之间连接一个以上的能够电连接x和y的元件(例如开关、晶体管、电容器、电感器、电阻器、二极管、显示器件、发光器件、负载等)。此外,开关具有控制开启或关闭的功能。换言之,通过使开关处于导通状态(开启状态)或非导通状态(关闭状态)来控制是否使电流流过。
[0023]
作为x与y在功能上连接的情况的一个例子,例如可以在x与y之间连接有一个以上的能够在功能上连接x与y的电路(例如,逻辑电路(反相器、nand电路、nor电路等)、信号转换电路(数字模拟转换电路、模拟数字转换电路、伽马校正电路等)、电位电平转换电路(电源电路(升压电路、降压电路等)、改变信号的电位电平的电平转移电路等)、电压源、电流源、切换电路、放大电路(能够增大信号振幅或电流量等的电路、运算放大器、差分放大电路、源极跟随电路、缓冲电路等)、信号产生电路、存储电路、控制电路等)。注意,例如,即使在x与y之间夹有其他电路,当从x输出的信号传送到y时,就可以说x与y在功能上是连接着的。
[0024]
此外,当明确地记载为“x与y电连接”时,包括如下情况:x与y电连接的情况(换言之,以中间夹有其他元件或其他电路的方式连接x与y的情况);以及x与y直接连接的情况(换言之,以中间不夹有其他元件或其他电路的方式连接x与y的情况)。
[0025]
例如,可以表现为“x、y、晶体管的源极(或第一端子等)与晶体管的漏极(或第二端子等)互相电连接,x、晶体管的源极(或第一端子等)、晶体管的漏极(或第二端子等)与y依
次电连接”。或者,可以表现为“晶体管的源极(或第一端子等)与x电连接,晶体管的漏极(或第二端子等)与y电连接,x、晶体管的源极(或第一端子等)、晶体管的漏极(或第二端子等)与y依次电连接”。或者,可以表达为“x通过晶体管的源极(或第一端子等)及晶体管的漏极(或第二端子等)与y电连接,x、晶体管的源极(或第一端子等)、晶体管的漏极(或第二端子等)、y依次设置”。通过使用与这种例子相同的表达方法规定电路结构中的连接顺序,可以区分晶体管的源极(或第一端子等)与漏极(或第二端子等)而决定技术范围。注意,这种表达方法是一个例子,不局限于上述表达方法。在此,x和y为对象物(例如,装置、元件、电路、布线、电极、端子、导电膜、层等)。
[0026]
另外,即使在电路图上独立的构成要素彼此电连接,也有时一个构成要素兼有多个构成要素的功能。例如,在布线的一部分用作电极时,一个导电膜兼有布线和电极的两个构成要素的功能。因此,本说明书中的“电连接”的范畴内还包括这种一个导电膜兼有多个构成要素的功能的情况。
[0027]
在本说明书等中,“电阻器”例如包括具有高于0ω的电阻值的电路元件、布线等。因此,在本说明书等中,“电阻器”包括具有电阻值的布线、电流流过源极和漏极之间的晶体管、二极管、线圈等。因此,有时“电阻器”也可以称为“电阻”、“负载”、“具有电阻值的区域”等。与此相反,有时“电阻”、“负载”、“具有电阻值的区域”也可以称为“电阻器”等。作为电阻值,例如优选为1mω以上且10ω以下,更优选为5mω以上且5ω以下,进一步优选为10mω以上且1ω以下。此外,例如也可以为1ω以上且1
×
109ω以下。
[0028]
在本说明书等中,“电容器”可以是指具有高于0f的静电电容值的电路元件、具有静电电容值的布线的区域、寄生电容、晶体管的栅极电容等。因此,在本说明书等中,“电容器”、“寄生电容”、“栅极电容”等有时也可以称为“电容”等。与此相反,“电容”也可以称为“电容器”、“寄生电容”、“栅极电容”等。此外,“电容”的“一对电极”也可以称为“一对导电体”、“一对导电区域”、“一对区域”等。静电电容值例如可以为0.05ff以上且10pf以下。此外,例如,还可以为1pf以上且10μf以下。
[0029]
在本说明书等中,晶体管包括栅极、源极以及漏极这三个端子。栅极被用作控制晶体管的导通状态的控制端子。被用作源极或漏极的两个端子是晶体管的输入输出端子。根据晶体管的导电型(n沟道型、p沟道型)及对晶体管的三个端子施加的电位的高低,两个输入输出端子中的一方被用作源极而另一方被用作漏极。因此,在本说明书等中,源极和漏极可以相互调换。在本说明书等中,在说明晶体管的连接关系时,使用“源极和漏极中的一个”(第一电极或第一端子)、“源极和漏极中的另一个”(第二电极或第二端子)的表述。另外,根据晶体管的结构,有时除了上述三个端子以外还包括背栅极。在此情况下,在本说明书等中,有时将晶体管的栅极和背栅极中的一个称为第一栅极,将晶体管的栅极和背栅极的另一个称为第二栅极。并且,在相同晶体管中,有时可以将“栅极”与“背栅极”相互调换。另外,在晶体管包括三个以上的栅极时,在本说明书等中,有时将各栅极称为第一栅极、第二栅极、第三栅极等。
[0030]
此外,电路图示出一个电路元件的情况有时包括该电路元件具有多个电路元件的情况。例如,电路图示出一个电阻器的情况包括两个以上的电阻器串联连接的情况。此外,例如,电路图示出一个电容的情况包括两个以上的电容并联连接的情况。此外,例如,电路图示出一个晶体管的情况包括两个以上的晶体管串联连接且各晶体管的栅极彼此电连接
的情况。同样,例如,电路图示出一个开关的情况包括该开关具有两个以上的晶体管,两个以上的晶体管串联电连接并且各晶体管的栅极彼此电连接的情况。
[0031]
此外,在本说明书等中,节点也可以根据电路结构或装置结构等称为端子、布线、电极、导电层、导电体或杂质区域等。另外,端子、布线等也可以称为节点。
[0032]
另外,在本说明书等中,可以适当地调换“电压”和“电位”。”电压”是指与基准电位之间的电位差,例如在基准电位为地电位(接地电位)时,也可以将“电压”称为“电位”。注意,接地电位不一定意味着0v。此外,电位是相对性的,根据基准电位的变化而供应到布线的电位、施加到电路等的电位、从电路等输出的电位等也产生变化。
[0033]
此外,在本说明书等中,“高电平电位”、“低电平电位”不意味着特定的电位。例如,在两个布线都被记为“用作供应高电平电位的布线”的情况下,两个布线所供应的高电平电位也可以互不相同。同样,在两个布线都被记为“用作供应低电平电位的布线”的情况下,两个布线所供应的低电平电位也可以互不相同。
[0034]”电流”是指电荷的移动现象(导电),例如,“发生正带电体的导电”的记载可以替换为“在与其相反方向上发生负带电体的导电”的记载。因此,在本说明书等中,在没有特别的说明的情况下,“电流”是指载流子移动时的电荷的移动现象(导电)。在此,作为载流子可以举出电子、空穴、阴离子、阳离子、络离子等,载流子根据电流流过的系统(例如,半导体、金属、电解液、真空中等)不同。此外,布线等中的“电流的方向”是带正电的载流子移动的方向,以正电流量记载。换言之,带负电的载流子移动的方向与电流方向相反,以负电流量记载。因此,在本说明书等中,在没有特别的说明的情况下,关于电流的正负(或电流的方向),“电流从元件a向元件b流过”等记载可以替换为“电流从元件b向元件a流过”等记载。另外,“对元件a输入电流”等记载可以替换为“从元件a输出电流”等记载。
[0035]
另外,在本说明书等中,“第一”、“第二”、“第三”等序数词是为了避免构成要素的混淆而附加上的。因此,该序数词不限制构成要素的个数。此外,该序数词不限制构成要素的顺序。另外,例如,本说明书等的实施方式之一中附有“第一”的构成要素有可能在其他的实施方式或权利要求书中附有“第二”的构成要素。此外,例如,在本说明书等中,一个实施方式中的“第一”所指的构成要素有可能在其他实施方式或权利要求书中被省略。
[0036]
在本说明书中,为了方便起见,有时使用“上”、“下”等表示配置的词句以参照附图说明构成要素的位置关系。另外,构成要素的位置关系根据描述各构成要素的方向适当地改变。因此,不局限于说明书等中所说明的词句,根据情况可以适当地换词句。例如,在“位于导电体的顶面的绝缘体”的表述中,通过将所示的附图的方向旋转180度,也可以称为“位于导电体的下面的绝缘体”。
[0037]
另外,“上”或“下”这样的术语不限定于构成要素的位置关系为“正上”或“正下”且直接接触的情况。例如,如果是“绝缘层a上的电极b”的表述,则不一定必须在绝缘层a上直接接触地形成有电极b,也可以包括在绝缘层a与电极b之间包括其他构成要素的情况。
[0038]
此外,在本说明书等中,根据状况,可以互相调换“膜”和“层”等词句。例如,有时可以将“导电层”调换为“导电膜”。此外,有时可以将“绝缘膜”变换为“绝缘层”。另外,根据情况或状态,可以使用其他词句代替“膜”和“层”等词句。例如,有时可以将“导电层”或“导电膜”变换为“导电体”。此外,例如有时可以将“绝缘层”或“绝缘膜”变换为“绝缘体”。
[0039]
注意,在本说明书等中,“电极”、“布线”、“端子”等的词句不在功能上限定其构成
要素。例如,有时将“电极”用作“布线”的一部分,反之亦然。再者,“电极”或“布线”还包括多个“电极”或“布线”等被形成为一体的情况等。此外,例如,有时将“端子”用作“布线”、“电极”等的一部分,反之亦然。再者,“端子”的词句包括多个“电极”、“布线”、“端子”等被形成为一体的情况等。因此,例如,“电极”可以为“布线”或“端子”的一部分,例如,“端子”可以为“布线”或“电极”的一部分。此外,“电极”、“布线”、“端子”等的词句有时置换为“区域”等的词句。
[0040]
在本说明书等中,根据情况或状态,可以互相调换“布线”、“信号线”及“电源线”等词句。例如,有时可以将“布线”变换为“信号线”。此外,例如有时可以将“布线”变换为“电源线”。反之亦然,有时可以将“信号线”或“电源线”变换为“布线”。有时可以将“电源线”变换为“信号线”。反之亦然,有时可以将“信号线”变换为“电源线”。另外,根据情况或状态,可以互相将施加到布线的“电位”变换为“信号”。反之亦然,有时可以将“信号”变换为“电位”。
[0041]
在本说明书等中,半导体的杂质是指构成半导体膜的主要成分之外的物质。例如,浓度低于0.1atomic%的元素是杂质。当包含杂质时,例如,半导体中的缺陷态密度有可能提高,载流子迁移率有可能降低或结晶性有可能降低。在半导体是氧化物半导体时,作为改变半导体特性的杂质,例如有第1族元素、第2族元素、第13族元素、第14族元素、第15族元素或主要成分之外的过渡金属等,尤其是,例如有氢(也包含于水中)、锂、钠、硅、硼、磷、碳、氮等。具体而言,当半导体是硅层时,作为改变半导体特性的杂质,例如有第1族元素、第2族元素、第13族元素、第15族元素等(有时不包含氧、氢)。
[0042]
在本说明书等中,开关是指具有通过变为导通状态(开启状态)或非导通状态(关闭状态)来控制是否使电流流过的功能的元件。或者,开关是指具有选择并切换电流路径的功能的元件。作为开关的一个例子,可以使用电开关或机械开关等。换而言之,开关只要可以控制电流,就不局限于特定的元件。
[0043]
电开关的例子包括晶体管(例如双极晶体管或mos晶体管)、二极管(例如pn二极管、pin二极管、肖特基二极管、金属-绝缘体-金属(mim)二极管、金属-绝缘体-半导体(mis)二极管或者二极管接法的晶体管)或者组合这些元件的逻辑电路等。当作为开关使用晶体管时,晶体管的“导通状态”是指晶体管的源电极与漏电极在电性上短路的状态。另外,晶体管的“非导通状态”是指晶体管的源电极与漏电极在电性上断开的状态。当将晶体管仅用作开关时,对晶体管的极性(导电型)没有特别的限制。
[0044]
作为机械开关的例子,可以举出利用了mems(微电子机械系统)技术的开关。该开关具有以机械方式可动的电极,并且通过移动该电极来控制导通和非导通而进行工作。
[0045]
在本说明书中,“平行”是指两条直线形成的角度为-10
°
以上且10
°
以下的状态。因此,也包括该角度为-5
°
以上且5
°
以下的状态。“大致平行”是指两条直线形成的角度为-30
°
以上且30
°
以下的状态。另外,“垂直”是指两条直线形成的角度为80
°
以上且100
°
以下的状态。因此,也包括该角度为85
°
以上且95
°
以下的状态。“大致垂直”是指两条直线形成的角度为60
°
以上且120
°
以下的状态。发明效果
[0046]
通过本发明的一个方式可以提供一种进行积和运算及/或函数运算的半导体装置等。另外,通过本发明的一个方式可以提供一种进行卷积处理的半导体装置等。另外,通过本发明的一个方式可以提供一种功耗低的半导体装置等。另外,通过本发明的一个方式可
以提供一种不容易受到环境温度的影响的半导体装置等。另外,通过本发明的一个方式可以提供一种不容易受到晶体管的特性不均匀的影响的半导体装置等。另外,通过本发明的一个方式可以提供一种不容易受到电流源的特性不均匀的影响的半导体装置等。另外,通过本发明的一个方式可以提供一种新颖的半导体装置等。
[0047]
注意,本发明的一个方式的效果不局限于上述效果。上述列举的效果并不妨碍其他效果的存在。另外,其他效果是上面没有提到而将在下面的记载中进行说明的效果。注意,本发明的一个方式至少具有上述列举的效果及/或其他效果中的一个效果。此外,本发明的一个方式实现上述效果及其他效果中的至少一个效果。因此,本发明的一个方式根据情况有时不具有上述效果。附图简要说明
[0048]
图1a及图1b是说明分层神经网络的图。图2是示出半导体装置的结构例子的电路图。图3是示出半导体装置的结构例子的电路图。图4是示出半导体装置的结构例子的电路图。图5a至图5f的每一个是示出半导体装置所包括的电路的结构例子的电路图。图6a至图6f的每一个是示出半导体装置所包括的电路的结构例子的电路图。图7是示出半导体装置的结构例子的电路图。图8a至图8d的每一个是示出半导体装置所包括的电路的结构例子的电路图。图9a至图9f的每一个是示出半导体装置所包括的电路的结构例子的电路图。图10a及图10b是示出半导体装置所包括的电路的结构例子的电路图。图11是示出半导体装置的结构例子的电路图。图12是示出半导体装置的结构例子的电路图。图13是示出半导体装置的结构例子的电路图。图14是示出半导体装置的结构例子的电路图。图15a至图15c的每一个是示出半导体装置所包括的电路的结构例子的电路图。图16a及图16b是示出半导体装置所包括的电路的结构例子的电路图。图17a至图17c的每一个是示出半导体装置所包括的电路的结构例子的电路图。图18a至图18c的每一个是说明半导体装置的工作例子的时序图。图19a至图19c的每一个是说明半导体装置的工作例子的时序图。图20a至图20c的每一个是说明半导体装置的工作例子的时序图。图21a及图21b是示出半导体装置所包括的电路的结构例子的电路图。图22a及图22b是示出半导体装置所包括的电路的结构例子的电路图。图23a及图23b是示出半导体装置所包括的电路的结构例子的电路图。图24是示出半导体装置所包括的电路的结构例子的电路图。图25是示出半导体装置所包括的电路的结构例子的电路图。图26是示出半导体装置所包括的电路的结构例子的电路图。图27是示出半导体装置所包括的电路的结构例子的电路图。图28是示出半导体装置所包括的电路的结构例子的电路图。图29是示出半导体装置所包括的电路的结构例子的电路图。
图30a及图30b是示出半导体装置所包括的电路的结构例子的电路图。图31是示出半导体装置所包括的电路的结构例子的电路图。图32是示出半导体装置所包括的电路的结构例子的电路图。图33是示出半导体装置所包括的电路的结构例子的电路图。图34是示出半导体装置所包括的电路的结构例子的电路图。图35是示出半导体装置所包括的电路的结构例子的电路图。图36是示出半导体装置所包括的电路的结构例子的电路图。图37是示出半导体装置所包括的电路的结构例子的电路图。图38是示出半导体装置所包括的电路的结构例子的电路图。图39是示出半导体装置所包括的电路的结构例子的电路图。图40是示出半导体装置所包括的电路的结构例子的电路图。图41a至图41c的每一个是示出半导体装置所包括的电路的结构例子的电路图。图42是示出半导体装置所包括的电路的结构例子的电路图。图43是示出半导体装置所包括的电路的结构例子的电路图。图44是示出半导体装置所包括的电路的结构例子的电路图。图45是示出半导体装置所包括的电路的结构例子的电路图。图46是示出半导体装置所包括的电路的结构例子的电路图。图47a及图47b是示出半导体装置所包括的电路的结构例子的电路图。图48是示出半导体装置所包括的电路的结构例子的电路图。图49a至图49c的每一个是说明半导体装置的工作例子的时序图。图50a至图50c的每一个是说明半导体装置的工作例子的时序图。图51是示出半导体装置所包括的电路的结构例子的电路图。图52是示出半导体装置所包括的电路的结构例子的电路图。图53是示出半导体装置所包括的电路的结构例子的电路图。图54是示出半导体装置所包括的电路的结构例子的电路图。图55a及图55b是示出半导体装置所包括的电路的结构例子的电路图。图56a至图56c的每一个是示出半导体装置所包括的电路的结构例子的电路图。图57a及图57b是示出半导体装置所包括的电路的结构例子的电路图。图58是示出半导体装置所包括的电路的结构例子的电路图。图59a及图59b是示出半导体装置所包括的电路的结构例子的电路图。图60a及图60b是示出半导体装置所包括的电路的结构例子的电路图。图61a及图61b是示出半导体装置所包括的晶体管的电压-电流特性的图。图62是示出半导体装置所包括的电路的结构例子的电路图。图63是示出半导体装置所包括的电路的结构例子的电路图。图64是示出半导体装置所包括的电路的结构例子的电路图。图65是示出半导体装置所包括的电路的结构例子的电路图。图66是示出cnn的结构例子的方框图。图67a是示出像素的结构例子的图,图67b是示出滤波的结构例子的图。图68a及图68b是说明卷积处理的例子的图。
图69是说明卷积处理的例子的图。图70是示出特征图的结构例子的图。图71是说明进行卷积处理运算的半导体装置的一个例子的方框图。图72是说明进行卷积处理运算的半导体装置的一个例子的方框图。图73是说明进行卷积处理运算的半导体装置的一个例子的方框图。图74是说明进行卷积处理运算的半导体装置的一个例子的方框图。图75a及图75b是示出半导体装置所包括的电路的结构例子的电路图。图76a至图76d是示出半导体装置所包括的电路的结构例子的电路图。图77是示出半导体装置的结构例子的截面示意图。图78a至图78c是示出晶体管的结构例子的截面示意图。图79是示出半导体装置的结构例子的截面示意图。图80a及图80b是示出晶体管的结构例子的截面示意图。图81是示出晶体管的结构例子的截面示意图。图82a是说明igzo的结晶结构的分类的图,图82b是说明结晶性igzo的xrd谱的图,图82c是说明结晶性igzo的纳米束电子衍射图案的图。图83a是示出半导体晶片的一个例子的立体图,图83b是示出芯片的一个例子的立体图,图83c及图83d是示出电子构件的一个例子的立体图。图84是示出电子设备的一个例子的立体图。图85a至图85c是示出电子设备的一个例子的立体图。实施发明的方式
[0049]
在人工神经网络(以下称为神经网络)中,神经突触的结合强度可以通过对神经网络供应现有的信息改变。有时将这样的对神经网络提供现有的信息决定结合强度的处理称为“学习”。
[0050]
并且,通过对“学习”(决定了结合强度)过的神经网络提供某个信息,可以根据其结合强度输出新信息。有时将这样的在神经网络中根据被提供的信息和结合强度输出新信息的处理称为“推论”或“认知”。
[0051]
作为神经网络的模型,例如可以举出hopfield神经网络、分层神经网络等。尤其是,有时将具有多层结构的神经网络称为“深度神经网络”(dnn),将利用深度神经网络的机械学习称为“深度学习”。
[0052]
在本说明书等中,金属氧化物(metal oxide)是指广义上的金属的氧化物。金属氧化物被分类为氧化物绝缘体、氧化物导电体(包括透明氧化物导电体)和氧化物半导体(oxide semiconductor,也可以简称为os)等。例如,在晶体管的沟道形成区域包含金属氧化物的情况下,有时将该金属氧化物称为氧化物半导体。换言之,在金属氧化物能够构成具有放大作用、整流作用及开关作用中的至少一个的晶体管的沟道形成区域时,该金属氧化物称为金属氧化物半导体(metal oxide semiconductor)。此外,也可以将os晶体管称为包含金属氧化物或氧化物半导体的晶体管。
[0053]
此外,在本说明书等中,有时将包含氮的金属氧化物也称为金属氧化物(metal oxide)。此外,也可以将包含氮的金属氧化物称为金属氧氮化物(metal oxynitride)。
[0054]
另外,在本说明书等中,各实施方式所示的结构可以与其他实施方式所示的结构
适当地组合而构成本发明的一个方式。另外,当在一个实施方式中示出多个结构例子时,可以适当地组合这些结构例子。
[0055]
另外,可以将某一实施方式中说明的内容(或其一部分)应用/组合/替换成该实施方式中说明的其他内容(或其一部分)和另一个或多个其他实施方式中说明的内容(或其一部分)中的至少一个内容。
[0056]
注意,实施方式中说明的内容是指各实施方式中利用各种附图所说明的内容或者利用说明书所记载的文章而说明的内容。
[0057]
另外,通过将某一实施方式中示出的附图(或其一部分)与该附图的其他部分、该实施方式中示出的其他附图(或其一部分)和另一个或多个其他实施方式中示出的附图(或其一部分)中的至少一个附图组合,可以构成更多图。
[0058]
参照附图说明本说明书所记载的实施方式。注意,所属技术领域的普通技术人员可以很容易地理解一个事实,就是实施方式可以以多个不同形式来实施,其方式和详细内容可以在不脱离本发明的宗旨及其范围的条件下被变换为各种各样的形式。因此,本发明不应该被解释为仅限定在实施方式所记载的内容中。注意,在实施方式中的发明的结构中,有时在不同的附图中共同使用相同的附图标记来表示相同的部分或具有相同功能的部分,而省略反复说明。在立体图等的附图中,为了明确起见,有时省略部分构成要素的图示。
[0059]
另外,在本说明书等中,在多个要素使用同一符号并且需要区分它们时,有时对符号附加“_1”,“[n]”,“[m,n]”等用于识别的符号。此外,在附图等中,在对符号附加“_1”,“[n]”,“[m,n]”等用于识别的符号的情况下,如果不需要在本说明书等中区分它们,有时不附加用于识别的符号。
[0060]
在附图中,为便于清楚地说明,有时夸大表示大小、层的厚度或区域。因此,本发明并不局限于附图中的尺寸。此外,在附图中,示意性地示出理想的例子,因此本发明不局限于附图所示的形状或数值等。例如,可以包括因噪声或定时偏差等所引起的信号、电压或电流的不均匀等。
[0061]
(实施方式1)在本实施方式中,说明作为本发明的一个方式的半导体装置,即进行积和运算及/或函数运算的运算电路。
[0062]
《分层神经网络》首先,说明分层神经网络。分层神经网络例如包括一个输入层、一个或多个中间(隐藏层)及一个输出层,由共三个以上的层构成。图1a所示的分层神经网络100是其一个例子,神经网络100包括第一层至第r层(在此,r可以为4以上的整数)。尤其是,第一层相当于输入层,第r层相当于输出层,其他层相当于中间层。注意,在图1a中,作为中间层示出第(k-1)层、第k层(在此,k是3以上且r-1以下的整数),而省略其他中间层。
[0063]
神经网络100的各层包括一个或多个神经元。在图1a中,第一层包括神经元n
1(1)
至神经元n
p(1)
(在此,p是1以上的整数),第(k-1)层包括神经元n
1(k-1)
至神经元n
m(k-1)
(在此,m是1以上的整数),第k层包括神经元n
1(k)
至神经元n
n(k)
(在此,n是1以上的整数),第r层包括神经元n
1(r)
至神经元n
q(r)
(在此,q是1以上的整数)。
[0064]
另外,图1a除了神经元n
1(1)
、神经元n
p(1)
、神经元n
1(k-1)
、神经元n
m(k-1)
、神经元n
1(k)
、神经元n
n(k)
、神经元n
1(r)
、神经元n
q(r)
以外,还示出第(k-1)层的神经元n
i(k-1)
(在此,i是1以
上且m以下的整数)、第k层的神经元n
j(k)
(在此,j是1以上且n以下的整数),而省略示出其他神经元。
[0065]
接着,说明从前一层的神经元向下一层的神经元的信号的传送以及向每个神经元输入或输出到每个神经元的信号。注意,在本说明中,着眼于第k层的神经元n
j(k)

[0066]
图1b示出第k层的神经元n
j(k)
、输入到神经元n
j(k)
的信号以及从神经元n
j(k)
输出的信号。
[0067]
具体而言,第(k-1)层的神经元n
1(k-1)
至神经元n
m(k-1)
的每一个的输出信号的z
1(k-1)
至z
m(k-1)
向神经元n
j(k)
输出。然后,神经元n
j(k)
根据z
1(k-1)
至z
m(k-1)
生成z
j(k)
而将z
j(k)
作为输出信号向第(k+1)层(未图示)的各神经元输出。
[0068]
从前一层的神经元向后一层的神经元输入的信号的传送强度根据使它们连接的神经突触的结合强度(以下称为权重系数)决定。在神经网络100中,将从前一层的神经元输出的信号被乘以对应的权重系数而输入到后一层的神经元。在i设定为1以上且m以下的整数且第(k-1)层的神经元n
i(k-1)
与第k层的神经元n
j(k)
之间的神经突触的权重系数设定为w
i(k-1)j(k)
时,输入到第k层的神经元n
j(k)
的信号可以以算式(1.1)表示。
[0069]
[算式1]
[0070]
换言之,在从第(k-1)层的神经元n
1(k-1)
至神经元n
m(k-1)
的每一个向第k层的神经元n
j(k)
传送信号时,作为该信号的z
1(k-1)
至z
m(k-1)
被乘以对应于各信号的权重系数(w
1(k-1)j(k)
至w
m(k-1)j(k)
)。然后,对第k层的神经元n
j(k)
输入w
1(k-1)j(k)
·z1(k-1)
至w
m(k-1)j(k)
·zm(k-1)
。此时,对第k层的神经元n
j(k)
输入的信号的总和u
j(k)
成为算式(1.2)。
[0071]
[算式2]
[0072]
另外,也可以对权重系数w
1(k-1)j(k)
至w
m(k-1)j(k)
及神经元的信号z
1(k-1)
至z
m(k-1)
的积和的结果作为偏差供应偏置。在偏置为b时,算式(1.2)可以改写为如下算式。
[0073]
[算式3]
[0074]
神经元n
j(k)
根据u
j(k)
生成输出信号z
j(k)
。在此,以以下算式定义来自神经元n
j(k)
的输出信号z
j(k)

[0075]
[算式4]
[0076]
函数f(u
j(k)
)是分层神经网络中的激活函数,可以使用阶梯函数、斜坡函数(relu函数)、sigmoid函数、tanh函数、softmax函数等。既可以在所有神经元中使用相同的激活函数,也可以在神经元中使用不同的激活函数。此外,神经元的激活函数也可以在各层中相同或不同。
[0077]
各层的神经元所输出的信号、权重系数w或偏置b既可以为模拟值又可以为数字值。作为数字值,例如既可以为2值又可以为3值。此外,也可以为更大的位数。作为一个例子,在信号为模拟值时,作为激活函数,例如使用线性斜坡函数、sigmoid函数等即可。在信号为数字值的2值时,例如,使用使输出为-1或1、或者0或1的阶梯函数即可。另外,各层的神经元所输出的信号也可以为3值以上,例如,作为输出3值的激活函数,使用使输出为-1、0或1的阶梯函数,或者0、1或2的阶梯函数等即可。此外,例如,作为输出5值的激活函数,使用-2、-1、0、1或2的阶梯函数等。通过作为各层的神经元所输出的信号、权重系数w和偏置b中的至少一个使用数字值,可以减少电路规模、降低功耗或提高运算速度。此外,通过作为各层的神经元所输出的信号、权重系数w和偏置b中的至少一个使用模拟值,可以提高运算的精度。
[0078]
神经网络100通过对第一层(输入层)输入输入信号,在从第一层(输入层)到最后层(输出层)的各层中,依次进行根据从前一层输入的信号使用算式(1.1)、算式(1.2)(或算式(1.3))、算式(1.4)生成输出信号而将该输出信号输出到后一层的工作。从最后层(输出层)输出的信号相当于神经网络100所计算的结果。
[0079]
《运算电路的结构例子》在此,说明在上述神经网络100中能够进行算式(1.2)(或算式(1.3))及算式(1.4)的运算的运算电路的一个例子。注意,在该运算电路中,作为一个例子,将神经网络100的神经突触电路的权重系数设定为2值(
“‑
1”、“+1”的组合或“0”、“+1”的组合等)、3值(
“‑
1”、“0”、“1”的组合等)或者4值以上的多值(5值时,
“‑
2”、
“‑
1”、“0”、“1”、“2”的组合等),并且神经元的激活函数输出2值(
“‑
1”、“+1”的组合或“0”、“+1”的组合等)、3值(
“‑
1”、“0”、“1”的组合等)、4值以上的多值(4值时,“0”、“1”、“2”、“3”的组合等)。另外,在本说明书等中,有时将权重系数和从前一层的神经元向后一层的神经元输入的信号的值(有时称为运算值)中的一方称为第一数据而另一方称为第二数据。注意,神经网络100的神经突触电路的权重系数及运算值不局限于数字值,其中至少一个也可以使用模拟值。
[0080]
例如,图2所示的运算电路110是包括阵列部alp、电路ild、电路wld、电路xld、电路afp的半导体装置。运算电路110是对输入到图1a及图1b中的第k层的神经元n
1(k)
至神经元n
n(k)
的信号z
1(k-1)
至z
m(k-1)
进行处理而生成从神经元n
1(k)
至神经元n
n(k)
的每一个输出的信号z
1(k)
至z
n(k)
的电路。
[0081]
另外,运算电路110整体或一部分可以用于神经网络、ai等以外的用途。例如,当在图像处理用计算(用来进行图像的特征提取的卷积处理等)、科学计算等中进行积和运算处理、矩阵运算处理等时,也可以使用运算电路110整体或一部分进行处理。换言之,运算电路110整体或一部分除了ai用计算以外还可以用于一般的计算。
[0082]
电路ild例如与布线il[1]至布线il[n]、布线ilb[1]至布线ilb[n]电连接。电路wld例如与布线wls[1]至布线wls[m]电连接。电路xld例如与布线xls[1]至布线xls[m]电连接。电路afp例如与布线ol[1]至布线ol[n]、布线olb[1]至布线olb[n]电连接。
[0083]
《《阵列部alp》》阵列部alp例如包括m
×
n个电路mp。电路mp例如在阵列部alp内配置为m行n列的矩阵状。在图2中,将位于i行j列(在此,i是1以上且m以下的整数,j是1以上且n以下的整数)的电路mp表示为电路mp[i,j]。注意,在图2中,只示出电路mp[1,1]、电路mp[m,1]、电路mp[i,
j]、电路mp[1,n]、电路mp[m,n],而省略示出其他电路mp。
[0084]
电路mp[i,j]例如与布线il[j]、布线ilb[j]、布线wls[i]、布线xls[i]、布线ol[j]及布线olb[j]电连接。
[0085]
电路mp[i,j]例如具有保持神经元n
i(k-1)
和神经元n
j(k)
之间的权重系数(有时称为第一数据和第二数据中的一方。在此称为第一数据)的功能。具体而言,电路mp[i,j]保持对应于从布线il[j]及布线ilb[j]输入的第一数据(权重系数)的数据(例如,电位、电阻值、电流值等)。另外,电路mp[i,j]具有将从神经元n
i(k-1)
输出的信号z
i(k-1)
(有时称为第一数据和第二数据中的另一方。在此称为第二数据)与第一数据之积输出的功能。具体而言,电路mp[i,j]通过从布线xls[i]输入第二数据z
i(k-1)
,对应于第一数据与第二数据之积的数据(例如,电流、电压等)或者与第一数据和第二数据之积有关的数据(例如,电流、电压等)电流输出到布线ol[j]及布线olb[j]。注意,示出配置有布线il[j]及布线ilb[j]的例子,但是本发明的一个方式不局限于此,也可以只配置有布线il[j]和布线ilb[j]中的任何一个。
[0086]
《《电路ild》》电路ild例如具有通过布线il[1]至布线il[n]及布线ilb[1]至布线ilb[n]对电路mp[1,1]至电路mp[m,n]的每一个输入对应于作为权重系数的第一数据w
1(k-1)1(k)
至w
m(k-1)n(k)
的数据(例如,电位、电阻值、电流值等)的功能。具体而言,电路ild由布线il[j]、布线ilb[j]对电路mp[i,j]供应对应于作为权重系数的第一数据w
i(k-1)j(k)
的数据(例如,电位、电阻值或电流值等)。
[0087]
《《电路xld》》电路xld例如通过布线xls[1]至布线xls[m]对电路mp[1,1]至电路mp[m,n]的每一个供应相当于从神经元n
1(k-1)
至神经元n
m(k-1)
输出的运算值的第二数据z
1(k-1)
至z
m(k-1)
的功能。具体而言,电路xld对电路mp[i,1]至电路mp[i,n]由布线xls[i]供应从神经元n
i(k-1)
输出的对应于第二数据z
i(k-1)
的数据(例如,电位、电流值等)。注意,虽然示出配置有布线xls[i]的例子,但是本发明的一个方式不局限于此。例如,在图2所示的运算电路110中,也可以配置多个布线xls[i]。作为具体例子,在图3中示出将与运算电路110的电路mp[i,j]电连接的布线xls[i]替换为布线x1l、布线x2l的两个的结构的运算电路120。注意,示出配置有布线xls[i]的情况的例子,但是本发明的一个方式不局限于此。除了布线xls[i]以外例如也可以另行配置传送对布线xls[i]输入的信号的反转信号的布线。
[0088]
《《电路wld》》电路wld例如具有选择从电路ild输入的对应于第一数据的数据(例如,电位、电阻值、电流值等)被写入的电路mp的功能。例如,在对位于阵列部alp的第i行的电路mp[i,1]至电路mp[i,n]写入数据(例如,电位、电阻值、电流值等)时,电路wld例如对布线wls[i]供应用来使包括在电路mp[i,1]至电路mp[i,n]中的写入用开关元件处于开启状态或关闭状态的信号,对布线wls供应用来使第i行以外的电路mp所包括的写入用开关元件处于关闭状态的电位。注意,虽然示出配置有布线wls[i]的例子,但是本发明的一个方式不局限于此。除了布线wls[i]以外例如也可以另行配置传送对布线wls[i]输入的信号的反转信号的布线。
[0089]
注意,虽然示出在图2的运算电路110中配置布线wls[i]的结构例子,但是本发明的一个方式不局限于此。例如,也可以将布线wls[i]替换为多个布线。此外,例如,也可以将图3的运算电路120的布线x1l[i]兼用作对电路mp[i,1]至电路mp[i,n]写入信息的选择信
号线。具体而言,如图4所示的运算电路130那样,运算电路120的布线x1l[i]为布线wx1l[i],布线wx1l与电路wld及电路xld电连接。注意,在对布线wx1l[i]从电路wld供应使包括在电路mp[i,1]至电路mp[i,n]中的写入开关元件处于开启状态或关闭状态的信号时,电路xld优选具有使电路xld与布线wx1l之间处于非导通状态的功能。在通过布线wx1l[i]从电路wld对电路mp[i,1]至电路mp[i,n]供应相当于从神经元n
1(k-1)
至神经元n
m(k-1)
输出的运算值的第二数据z
1(k-1)
至z
m(k-1)
的信号时,电路xld优选具有使电路wld与布线wx1l之间处于非导通状态的功能。
[0090]
《《电路afp》》电路afp例如包括电路actf[1]至电路actf[n]。电路actf[j]例如电连接于布线ol[j]和布线olb[j]。电路actf[j]例如生成对应于从布线ol[j]及布线olb[j]输入的各数据(例如,电位、电流值等)的信号。例如,对从布线ol[j]及布线olb[j]输入的各数据(例如,电位或电流值等)进行比较,来生成对应于其比较结果的信号。该信号相当于从神经元n
j(k)
输出的信号z
j(k)
。换言之,电路actf[1]至电路actf[n]例如被用作进行上述神经网络的激活函数的运算的电路。注意,本发明的一个方式不局限于此。例如,电路actf[1]至电路actf[n]也可以具有将模拟信号转换为数字信号的功能。或者,例如,电路actf[1]至电路actf[n]可以具有将模拟信号放大而输出的功能,即将输出阻抗转换的功能。或者,例如,电路actf[1]至电路actf[n]也可以具有将电流或电荷转换为电压的功能。或者,例如,电路actf[j]也可以具有使布线ol[j]及布线olb[j]的电位初始化的功能。
[0091]
注意,在图2至图4的每一个所示的运算电路110、运算电路120、运算电路130中示出配置有电路actf的情况的例子,本发明的一个方式不局限于此。例如,也可以在电路afp中不配置电路actf。
[0092]
接着,说明电路actf[1]至电路actf[n]。电路actf[1]至电路actf[n]例如可以采用图5a所示的电路结构。图5a例如是根据从布线ol[j]、布线olb[j]输入的电流生成信号z
j(k)
的电路。具体而言,图5a示出输出将以2值表示的信号z
j(k)
输出的激活函数的运算电路的一个例子。
[0093]
在图5a中,电路actf[j]例如包括电阻re、电阻reb、比较器cmp。电阻re、电阻reb具有将电流转换为电压的功能。因此,只要是具有将电流转换为电压的功能的元件或电路,就不局限于电阻。布线ol[j]与电阻re的第一端子、比较器cmp的第一输入端子电连接,布线olb[j]与电阻reb的第一端子、比较器cmp的第二输入端子电连接。另外,电阻re的第二端子与布线val电连接,电阻reb的第二端子与布线val电连接。注意,电阻re的第二端子及电阻reb的第二端子也可以连接于同一布线。或者,也可以连接于电位相同的其他布线。
[0094]
电阻re、电阻reb的各电阻值优选彼此相同。例如,电阻re的电阻值和电阻reb的电阻值之差优选为电阻re的电阻值的10%以内,更优选为5%以内。注意,本发明的一个方式不局限于此。根据情况或状况,电阻re、电阻reb的各电阻值也可以设定为彼此不同的值。
[0095]
布线val例如被用作供应恒电压的布线。作为该恒电压,例如可以采用高电平电位的vdd、低电平电位的vss、接地电位(gnd)等。另外,该恒电压优选根据电路mp的结构适当地设定。另外,例如,对布线val也可以供应脉冲信号,而不供应恒电压。
[0096]
电阻re的第一端子与第二端子间的电压根据从布线ol[j]流过的电流决定。因此,对比较器cmp的第一输入端子输入电阻re的电阻值及对应于该电流的电压。同样地,电阻
reb的第一端子与第二端子间的电压根据从布线olb[j]流过的电流决定。因此,对比较器cmp的第二输入端子输入电阻reb的电阻值及对应于该电流的电压。
[0097]
比较器cmp例如具有比较对第一输入端子、第二输入端子的每一个输入的电压而根据其比较结果从比较器cmp的输出端子输出信号的功能。例如,比较器cmp可以在输入到第二输入端子的电压高于输入到第一输入端子的电压时将高电平电位从比较器cmp的输出端子输出,并且在输入到第一输入端子的电压高于输入到第二输入端子的电压时将低电平电位从比较器cmp的输出端子输出。换言之,从比较器cmp的输出端子输出的电位是高电平电位及低电平电位的两种,所以电路actf[j]所输出的输出信号z
j(k)
可以为2值。例如,从比较器cmp的输出端子输出的高电平电位、低电平电位的每一个可以作为输出信号z
j(k)
对应于“+1”、
“‑
1”。另外,根据情况,从比较器cmp的输出端子输出的高电平电位、低电平电位的每一个也可以作为输出信号z
j(k)
对应于“+1”、“0”。
[0098]
另外,在图5a的电路actf[j]中使用电阻re、电阻reb,但是只要具有将电流转换为电压的功能的元件或电路,就不局限于电阻。因此,图5a的电路actf[j]的电阻re、电阻reb可以替换为其他电路元件。例如,图5b所示的电路actf[j]是将图5a的电路actf[j]中的电阻re、电阻reb替换为电容ce、电容ceb的电路,可以进行与图5a的电路actf[j]大致相同工作。另外,电容ce、电容ceb的每一个的静电电容的值优选彼此相等。例如,电容ce、电容ceb的每一个的静电电容的值之差优选为电容ce的静电电容值的10%以内,更优选为5%以内。注意,本发明的一个方式不局限于此。另外,也可以设置使在电容ce、电容ceb中积累的电荷初始化的电路。例如,也可以以电容ce并联连接的方式设置开关。换言之,也可以为:开关的第二端子连接于布线val,开关的第一端子连接于电容ce的第一端子、布线ol[j]及比较器cmp的第一输入端子。或者,也可以为:开关的第二端子连接于与布线val不同的布线,开关的第一端子连接于电容ce的第一端子、布线ol[j]及比较器cmp的第一输入端子。另外,图5c所示的电路actf[j]是将图5a的电路actf[j]中的电阻re、电阻reb替换为二极管元件de、二极管元件deb的电路,可以进行与图5a的电路actf[j]大致相同的工作。二极管元件de、二极管元件deb的方向(阳极与阴极的连接处)优选根据布线val的电位的高低适当地改变。
[0099]
另外,图5a至图5c的电路actf[j]中的比较器cmp例如可以替换为运算放大器op。作为图5d所示的电路actf[j]示出将图5a的电路actf[j]的比较器cmp替换为运算放大器op的电路图。
[0100]
另外,也可以在图5b的电路actf[j]设置开关s01a、开关s01b。由此,电路actf[j]可以在电容ce、电容ceb的每一个保持对应于从布线ol[j]、布线olb[j]输入的电流的电位。如图5e所示,作为电路的具体例子采用如下结构即可:开关s01a的第一端子电连接有布线ol[j]电连接,开关s01a的第二端子电连接有电容ce的第一端子及比较器cmp的第一输入端子,开关s01b的第一端子电连接有布线olb[j],开关s01b的第二端子电连接有电容ceb的第一端子及比较器cmp的第二输入端子。在图5e的电路actf[j]中,当对比较器cmp的第一输入端子和第二输入端子输入布线ol[j]、布线olb[j]的电位时,可以通过使开关s01a、开关s01b的每一个处于开启状态而输入电位。另外,通过之后使开关s01a和开关s01b都处于关闭状态,可以将输入到比较器cmp的第一输入端子、第二输入端子的每一个的电位保持在电容ce、电容ceb。作为开关s01a、开关s01b,例如,可以采用模拟开关、晶体管等电开关。另外,作为开关s01a、开关s01b,例如,可以采用机械开关。注意,在作为开关s01a、开关s01b采用
晶体管时,该晶体管可以使用os晶体管或在沟道形成区域包含硅的晶体管(以下,称为si晶体管)。或者,通过控制使开关s01a和开关s01b都处于开启状态的期间,可以控制电容ce、电容ceb的电压值。例如,在流过电容ce、电容ceb的电流值大时,通过将使开关s01a和开关s01b都处于关闭状态的期间设定为短,可以防止电容ce、电容ceb的电压值过大。
[0101]
另外,图5a至图5c、图5e的电路actf[j]中的比较器cmp例如可以采用斩波比较器。图5f所示的比较器cmp是斩波比较器,比较器cmp包括开关s02a、开关s02b、开关s03、电容cc以及反相器电路inv3。与上述开关s01a、开关s01b同样,开关s02a、开关s02b、开关s03可以使用机械开关、os晶体管、si晶体管等晶体管。
[0102]
开关s02a的第一端子与端子vint电连接,开关s02b的第一端子与端子vreft电连接,开关s02a的第二端子与开关s02b的第二端子及电容cc的第一端子电连接。电容cc的第二端子与反相器电路inv3的输入端子、开关s03的第一端子电连接。端子voutt与反相器电路inv3的输出端子、开关s03的第二端子电连接。
[0103]
端子vint被用作用来对比较器cmp输入输入电位的端子,端子vreft被用作用来对比较器cmp输入参考电位的端子,端子voutt被用作用来从比较器cmp输出输出电位的端子。端子vint可以对应于图5a至图5c、图5e的比较器cmp的第一端子和第二端子中的一方,端子vreft可以对应于图5a至图5c、图5e的比较器cmp的第一端子和第二端子中的另一方。
[0104]
图5a至图5e的电路actf[j]是输出以2值表示的输出信号z
j(k)
的激活函数的运算电路,但是电路actf[j]也可以采用将输出信号z
j(k)
为3值以上或模拟值而输出的结构。
[0105]
图6a至图6f示出根据从布线ol[j]、布线olb[j]输入的电流生成信号z
j(k)
的电路,并且示出输出以3值表示的输出信号z
j(k)
的激活函数运算电路的一个例子。
[0106]
图6a所示的电路actf[j]包括电阻re、电阻reb、比较器cmpa、比较器cmpb。布线ol[j]与电阻re的第一端子、比较器cmpa的第一输入端子电连接,布线olb[j]与电阻reb的第一端子、比较器cmpb的第一输入端子电连接。另外,比较器cmpa的第二输入端子及比较器cmpb的第二输入端子与布线vrefl电连接。再者,电阻re的第二端子与布线val电连接,电阻reb的第二端子与布线val电连接。
[0107]
布线vrefl被用作供应恒电压v
ref
的电压线,v
ref
例如优选为gnd以上且vdd以下。另外,根据情况,v
ref
也可以为小于gnd的电位或高于vdd的电位。v
ref
视为比较器cmpa、比较器cmpb中的参考电位(比较用电位)。
[0108]
电阻re的第一端子与第二端子间的电压根据从布线ol[j]流过的电流决定。因此,对比较器cmpa的第一输入端子输入电阻re的电阻值及对应于该电流的电压。同样地,电阻reb的第一端子与第二端子间的电压根据从布线olb[j]流过的电流决定。因此,对比较器cmpb的第一输入端子输入电阻reb的电阻值及对应于该电流的电压。
[0109]
比较器cmpa比较对第一输入端子、第二输入端子的每一个输入的电压而根据其比较结果从比较器cmpa的输出端子输出信号。例如,比较器cmpa可以在输入到第二输入端子的电压(v
ref
)高于输入到第一输入端子的电压时将高电平电位从比较器cmpa的输出端子输出,并且在输入到第一输入端子的电压高于输入到第二输入端子的电压(v
ref
)时将低电平电位从比较器cmpa的输出端子输出。
[0110]
与比较器cmpa同样,比较器cmpb比较对第一输入端子、第二输入端子的每一个输入的电压而根据其比较结果从比较器cmpb的输出端子输出信号。例如,比较器cmpb可以在
输入到第二输入端子的电压(v
ref
)高于输入到第一输入端子的电压时将高电平电位从比较器cmpb的输出端子输出,并且在输入到第一输入端子的电压高于输入到第二输入端子的电压(v
ref
)时将低电平电位从比较器cmpb的输出端子输出。
[0111]
此时,从比较器cmpa、比较器cmpb的每一个的输出端子输出的电位例如可以表示为3值的输出信号z
j(k)
。例如,在从比较器cmpa的输出端子输出高电平电位且从比较器cmpb的输出端子输出低电平电位时,输出信号z
j(k)
可以为“+1”,在从比较器cmpa的输出端子输出低电平电位且从比较器cmpb的输出端子输出高电平电位时,输出信号z
j(k)
可以为
“‑
1”,在从比较器cmpa的输出端子输出低电平电位且从比较器cmpb的输出端子输出低电平电位时,输出信号z
j(k)
可以为“0”。
[0112]
另外,电路actf[j]不局限于图6a所示的电路结构,可以根据情况改变。例如,当在图6a的电路actf[j]中要将比较器cmpa和比较器cmpb的两个输出结果组合为一个信号时,在电路actf[j]设置转换电路trf即可。图6b的电路actf[j]是在图6a电路actf[j]中设置转换电路trf的结构例子,比较器cmpa、比较器cmpb的各输出端子与转换电路trf的输入端子电连接。作为转换电路trf的具体例子,可以举出数字模拟转换电路(在此情况下,信号z
j(k)
为模拟值)等。
[0113]
另外,例如,在图6a中,也可以将电连接于比较器cmpa、比较器cmpb的每一个的第二输入端子的布线vrefl替换为布线vref1l和布线vref2l的两个布线。图6c的电路actf[j]具有图6a的电路actf[j]中的比较器cmpa的第二输入端子电连接于布线vref1l而不电连接于布线vrefl,比较器cmpb的第二输入端子电连接于布线vref2l而不电连接于布线vrefl的结构。通过将输入到布线vref1l、布线vref2l的电位彼此不同的值,可以分别设定比较器cmpa、比较器cmpb中的参考电位。
[0114]
另外,例如,作为图6a至图6c的电路actf[j]以外的结构,也可以采用放大电路或阻抗变换器电路等。例如,可以将图6d所示的电路actf[j]用于图2的运算电路110的电路afp。图6d的电路actf[j]包括电阻re、电阻reb、运算放大器opa、运算放大器opb,被用作放大电路。
[0115]
布线ol[j]与电阻re的第一端子、运算放大器opa的非反相输入端子电连接,布线olb[j]与电阻reb的第一端子、运算放大器opb的非反相输入端子电连接。另外,运算放大器opa的非反相输入端子与运算放大器opa的输出端子电连接,运算放大器opb的反相输入端子与运算放大器opb的输出端子电连接。再者,电阻re的第二端子与布线val电连接,电阻reb的第二端子与布线val电连接。
[0116]
换言之,图6d的电路actf[j]中的运算放大器opa、运算放大器opb具有电压跟随的连接结构。通过具有上述结构,从运算放大器opa的输出端子输出的电位与输入到运算放大器opa的非反相输入端子的电位大致相同,从运算放大器opb的输出端子输出的电位与输入到运算放大器opb的非反相输入端子的电位大致相同。在此情况下,输出信号z
j(k)
作为两个模拟值从电路actf[j]输出。注意,运算放大器opa的输出端子及运算放大器opb的输出端子也可以分别连接于比较器cmp的输入端子。并且,来自比较器cmp的输出也可以为输出信号(k)zj。
[0117]
另外,例如,作为图6a至图6d的电路actf[j]以外的结构,也可以采用积分电路、电
流电压转换电路等。再者,也可以使用运算放大器而构成积分电路、电流电压转换电路。例如,可以将图6e所示的电路actf[j]用于图2的运算电路110的电路afp。图6e的电路actf[j]包括运算放大器opa、运算放大器opb、负载lea、负载leb。
[0118]
布线ol[j]与运算放大器opa的第一输入端子(例如,反相输入端子)及负载lea的第一端子电连接,布线olb[j]与运算放大器opb的第一输入端子(例如,反相输入端子)及负载leb的第一端子电连接。另外,运算放大器opa的第二输入端子(例如,非反相输入端子)与布线vref1l电连接,运算放大器opb的第二输入端子(例如,非反相输入端子)与布线vref2l电连接。负载lea的第二端子与运算放大器opa的输出端子电连接,负载leb的第二端子与运算放大器opb的输出端子电连接。
[0119]
另外,在此,布线vref1l、布线vref2l被用作供应彼此相同的电压或不同电压的布线。因此,有时布线vref1l、布线vref2l可以组合为一个布线。
[0120]
在图6e的电路actf[j]中,作为负载lea、负载leb例如可以使用电阻、电容。尤其是,通过作为负载lea、负载leb使用电容,运算放大器opa和负载lea及运算放大器opb和负载leb都被用作积分电路。换言之,根据流过布线ol[j]或布线olb[j]的电流量,电荷积累在各电容(负载lea、负载leb)。换言之,使用积分电路将从布线ol[j]、布线olb[j]流过的电流的积分的电流量转换为电压并将其输出作为信号z
j(k)
。注意,运算放大器opa的输出端子及运算放大器opb的输出端子也可以分别连接于比较器cmp的输入端子。并且,来自比较器cmp的输出为输出信号z
j(k)
。另外,也可以设置使积累在负载lea及负载leb的电容的电荷初始化的电路。例如,也可以以负载lea(电容)并联连接的方式设置开关。换言之,也可以为:开关的第二端子连接于运算放大器opa的输出端子,开关的第一端子连接于布线ol[j]及运算放大器opa的第一输入端子(例如,反相输入端子)。
[0121]
另外,在图6e的电路actf[j]中,在要将从布线ol[j]、布线olb[j]流过的电流转换为电压而输出时,作为负载lea、负载leb除了电容以外还可以使用电阻。
[0122]
另外,例如,作为图6a至图6e的电路actf[j]以外的结构,可以将图6f所示的电路actf[j]应用于图2的运算电路110的电路afp。图6f的电路actf[j]包括电阻re、电阻reb、模拟数字转换电路adca、模拟数字转换电路adcb。
[0123]
布线ol[j]与模拟数字转换电路adca的输入端子及电阻re的第一端子电连接,布线olb[j]与模拟数字转换电路adcb的输入端子及电阻reb的第一端子电连接。电阻re的第二端子与布线val电连接,电阻reb的第二端子与布线val电连接。
[0124]
在图6f的电路actf[j]中,根据从布线ol[j]、布线olb[j]流过的电流决定电阻re、电阻reb的各第一端子的电位。然后,电路actf[j]由模拟数字转换电路adca、模拟数字转换电路adcb将模拟值的该电位转换为2值或3值以上(例如,256值等)的数字值而作为信号z
j(k)
输出的功能。
[0125]
与图5b、图5c同样,图6a至图6d、图6f所示的电阻re、电阻reb可以替换为电容ce、电容ceb或二极管元件de、二极管元件deb。尤其是,在将图6a至图6d、图6f所示的电阻re、电阻reb替换为电容ce、电容ceb时,通过与图5e同样地还设置开关s01a、开关s01b,可以保持从布线ol[j]、布线olb[j]输入的电位。
[0126]
注意,在图2至图4的每一个所示的运算电路110、运算电路120、运算电路130中示出配置布线il、布线ilb、布线ol、布线olb的情况的例子,本发明的一个方式不局限于此。例
如,在运算电路110、运算电路120、运算电路130的每一个中,也可以将布线il与布线ol组合为一个布线且将布线ilb与布线olb组合为一个布线。图7示出其具体结构。图7所示的运算电路140包括切换电路tw[1]至切换电路tw[n]。
[0127]
切换电路tw[1]至切换电路tw[n]的每一个包括端子tsa、端子tsab、端子tsb、端子tsbb、端子tsc、端子tscb。
[0128]
端子tsa与布线ol[j]电连接,端子tsb与电路ild电连接,端子tsc与电路actf[j]电连接。端子tsab与布线olb[j]电连接,端子tsbb与电路ild电连接,端子tscb与电路actf[j]电连接。
[0129]
切换电路tw[j]具有使端子tsa与端子tsb和端子tsc中的一个之间处于导通状态,使端子tsa与端子tsb和端子tsc中的另一个之间处于非导通状态的功能。此外,切换电路tw[j]具有使端子tsab与端子tsbb和端子tscb中的一个之间处于导通状态并使端子tsab与端子tsbb和端子tscb中的另一个之间处于非导通状态的功能。
[0130]
也就是说,在想要对电路mp[1,j]至电路mp[m,j]中的任一个输入对应于作为权重系数的第一数据w
1(k-1)1(k)
至w
m(k-1)n(k)
的信息(例如,电位、电阻值、电流值等)时,在切换电路tw[j]中,在端子tsa与端子tsb之间处于导通状态,且在端子tsab与端子tsbb之间处于导通状态,由此可以从电路ild经由布线ol[j]或布线olb[j]对电路mp[1,j]至电路mp[m,j]中的任一个供应对应于第一数据w
1(k-1)1(k)
至w
m(k-1)n(k)
的信息(例如,电位、电阻值、电流值等)。
[0131]
在电路actf[j]想要取得通过电路mp[1,j]至电路mp[m,j]计算的权重系数与神经元的信号的积和(算式(1.2))的结果时,在切换电路tw[j]中,通过在端子tsa与端子tsc之间处于导通状态,且在端子tsab与端子tscb之间处于导通状态,可以从布线ol[j]、布线olb[j]对电路actf[j]供应对应于积和的结果的信息(例如,电位、电流值等)。另外,在电路actf[j]中,从被输入的积和的结果计算出激活函数的值,可以作为神经元的输出信号得到信号z
j(k)

[0132]
接着,对包括在运算电路140中的切换电路tw[j]及电路ild进行说明。在图8a中示出能够用于运算电路140的切换电路tw[j]及电路ild的结构例子。注意,在图8a中为了示出切换电路tw[j]及电路ild的电连接结构,也示出布线ol[j]、布线olb[j]、电路afp。
[0133]
切换电路tw[j]作为一个例子包括开关swi、开关swib、开关swo、开关swob、开关swl、开关swlb、开关swh、开关swhb。
[0134]
电路ild作为一个例子包括电流源电路isc。注意,本发明的一个方式不局限于此。例如,也可以配置电压源电路代替电流源电路isc。电流源电路isc具有在布线ol[j]及/或布线olb[j]中流过对应于输入到电路mp的权重系数(第一数据)的电流的功能。注意,作为用于布线ol[j]的电路及用于布线olb[j]的电路,分别配置至少一个电流源电路isc。或者,如图8a所示,也可以对于布线ol[j]及布线olb[j]的一组布线包括至少一个电流源电路isc。
[0135]
电流源电路isc包括一个或多个恒流源,在图8a的一个例子中,作为多个恒流源包括恒流源电路isc1、恒流源电路isc2、恒流源电路isc3。此外,电流源电路isc作为一个例子为了选择多个恒流源包括多个开关,在图8a中作为多个开关包括开关swc1、开关swc2、开关swc3。注意,在电流源电路isc仅包括一个恒流源时,恒流源电路isc也可以不包括开关。或者,在恒流源电路isc1、恒流源电路isc2、恒流源电路isc3分别具有控制是否输出电流的功
能时,也可以不设置开关swc1、开关swc2、开关swc3。
[0136]
在布线ol[j]、布线olb[j]中分别流过的电流如图8a所示优选在相同的电流源电路isc中生成。在布线ol[j]、布线olb[j]中分别流过的电流在不同的电流源电路中生成时,有时由于产生起因于晶体管的制造工序时等的该晶体管的特性不均匀,因此在不同电流源电路中产生性能差异。另一方面,在使用同一电流源电路时,可以对布线ol[j]及布线olb[j]供应相同大小的电流,因此可以提高运算精度。
[0137]
注意,作为在图8a中说明的开关swi、开关swib、开关swo、开关swob、开关swl、开关swlb、开关swh、开关swhb、开关swc1、开关swc2、开关swc3,例如与开关s01a及开关s01b同样地可以使用模拟开关、晶体管等的电开关、机械开关等。
[0138]
在切换电路tw[j]的一个例子中,端子tsa与开关swi的第一端子、开关swo的第一端子、开关swl的第一端子、开关swh的第一端子电连接。端子tsab与开关swib的第一端子、开关swob的第一端子、开关swlb的第一端子、开关swhb的第一端子电连接。开关swi的第二端子与端子tsb1电连接。开关swib的第二端子与端子tsbb1电连接。开关swo的第二端子与端子tsc电连接。开关swob的第二端子与端子tscb电连接。开关swl的第二端子与端子tsb2电连接。开关swlb的第二端子与端子tsbb2电连接。开关swh的第二端子与端子tsb3电连接。开关swhb的第二端子与端子tsbb3电连接。
[0139]
在图8a中示出的端子tsb1、端子tsb2、端子tsb3相当于在图7中所示的端子tsb。此外,在图8a中示出的端子tsbb1、端子tsbb2、端子tsbb3相当于在图7中示出的端子tsbb。
[0140]
在包括在电路ild中的电流源电路isc中,端子tsb1与开关swc1的第一端子、开关swc2的第一端子、开关swc3的第一端子电连接。此外,端子tsbb1与开关swc1的第一端子、开关swc2的第一端子、开关swc3的第一端子电连接。开关swc1的第二端子与恒流源电路isc1的输出端子电连接,开关swc2的第二端子与恒流源电路isc2的输出端子电连接,开关swc3的第二端子与恒流源电路isc3的输出端子电连接。恒流源电路isc1的输入端子、恒流源电路isc2的输入端子、恒流源电路isc3的输入端子分别与布线vso电连接。
[0141]
注意,在图8a中,恒流源电路isc1、恒流源电路isc2、恒流源电路isc3的输出端子分别与开关的端子电连接,其输入端子与布线vso电连接,但是本发明的一个方式不局限于此。例如,恒流源电路isc1、恒流源电路isc2、恒流源电路isc3的输入端子也可以分别与开关的端子电连接且其输出端子与布线vso电连接。注意,在从电路mp输出电流之前,为了对布线ol[j]、布线olb[j]输入恒电位,也可以配置布线vcn2。布线vcn2通过开关swh与布线ol[j]连接。此外,布线vcn2通过开关swhb与布线olb[j]连接。布线vcn2可以供应与下述布线vcn不同的电位。例如,在对布线vcn供应vss或接地电位时,也可以对布线vcn2供应vdd等。通过对布线ol[j]、布线olb[j]供应布线vcn2的恒电位,可以对电路mp中的各电路元件供应该恒电位。
[0142]
图8b及图8c示出恒流源电路isc1、恒流源电路isc2、恒流源电路isc3的具体结构例子。图8b所示的恒流源电路isc1(恒流源电路isc2、恒流源电路isc3)包括p沟道型晶体管,该晶体管的第一端子与布线vso电连接,该晶体管的第二端子与开关swc1(开关swc2、开关swc3)的第二端子电连接,该晶体管的栅极与布线vb电连接。此外,图8c所示的恒流源电路isc1(恒流源电路isc2、恒流源电路isc3)包括n沟道型晶体管,该晶体管的第一端子与布线vso电连接,该晶体管的第二端子与开关swc1(开关swc2、开关swc3)的第二端子电连接,
该晶体管的栅极与布线vb电连接。在图8b及图8c的每一个的恒流源电路isc1(恒流源电路isc2、恒流源电路isc3)中,布线vb被用作对每个晶体管的栅极输入偏置电压的布线。注意,也可以对布线vb供应脉冲信号。由此,可以控制是否从每个恒流源电路输出电流。此时,也可以不设置开关swc1、开关swc2、开关swc3。或者,也可以对布线vb供应模拟电压。由此,可以从恒流源电路供应模拟电流。
[0143]
布线vso被用作对恒流源电路isc1、恒流源电路isc2、恒流源电路isc3分别供应恒电压的布线。例如,在从电路ild通过切换电路tw[j]对布线ol或布线olb供应电流时,作为该恒电压,优选为比接地电位高的电位(例如,vdd等),更优选使用图8b所示的恒流源电路isc1(恒流源电路isc2、恒流源电路isc3)。此外,例如,在从电路ild通过切换电路tw[j]对布线ol或布线olb供应电流时,作为该恒电压,优选为比接地电位高且低于该高电平电位的电位、接地电位等,更优选使用图8c所示的恒流源电路isc1(恒流源电路isc2、恒流源电路isc3)。注意,在本说明书中,有时将从电路ild通过切换电路tw[j]流过布线ol或布线olb的电流记载为正电流。因此,有时将从布线ol或布线olb通过切换电路tw[j]流过电路ild的电流记载为负电流。
[0144]
另外,作为除图8b及图8c之外的可用作恒流源电路isc1、恒流源电路isc2、恒流源电路isc3的电路,例如可以举出图8d所示的电路结构。图8d所示的恒流源电路isc1(恒流源电路isc2、恒流源电路isc3)包括具有背栅极的n沟道型晶体管,该晶体管的第一端子与布线vso电连接,该晶体管的第二端子与该晶体管的栅极、背栅极以及开关swc1(开关swc2、开关swc3)的第二端子电连接。
[0145]
这里,当将布线vso所供应的恒电压设定为高电平电位时,图8d所示的晶体管的第一端子被输入高电平电位。另外,将该晶体管的第二端子的电位设定为比该高电平电位低的电位。此时,该晶体管的第一端子被用作漏极,该晶体管的第二端子被用作源极。另外,该晶体管的栅极和该晶体管的第二端子是电连接着的,因此该晶体管的栅极-源极间电压为0v。因此,当该晶体管的阈值电压在适当的范围内时,该晶体管在亚阈值区域中工作,亚阈值区域的电流(漏极电流)流过该晶体管的第一端子与第二端子间。在该晶体管为os晶体管的情况下,该电流之量例如优选为1.0
×
10-8
a以下,更优选为1.0
×
10-12
a以下,进一步优选为1.0
×
10-15
a以下。另外,例如该电流更优选在相对于栅极-源极间电压呈指数增加的范围。就是说,该晶体管被用作使亚阈值区域中工作时的电流范围内的电流流过的电流源。
[0146]
或者,在图8b所示的情况下,当图8b的晶体管的布线vso一侧的端子为源极时,也可以使布线vb的电位等于或高于布线vso的电位。也就是说,通过减小栅极-源极间电压的绝对值,可以使该晶体管在亚阈值区域中工作。或者,通过将栅极-源极间电压设定为正值或高于阈值电压的电压,可以使该晶体管在亚阈值区域中工作。注意,本发明的一个方式不局限于此。例如,也可以使图8b所示的晶体管在饱和区域中工作。或者,也可以使图8b所示的晶体管在饱和区域与亚阈值区域之边界附近工作。
[0147]
在本说明书等中,“饱和区域与亚阈值区域之边界附近”例如包括如下情况:在晶体管的阈值电压为v
th
时,栅极源极间电压为v
th-1.0v以上、v
th-0.5v以上或v
th-0.1v以上,且为v
th
+0.1v以下、v
th
+0.5v以下或v
th
+1.0v以下。注意,上述下限值及上限值可以分别组合。
[0148]
接着,图8c所示的情况也是与图8b所示的情况同样的。就是说,在图8c所示的情况下,当图8c的晶体管中布线vso一侧的端子为源极时,也可以使布线vb的电位等于或低于布
线vso的电位。也就是说,通过减小栅极-源极间电压的绝对值,可以使该晶体管在亚阈值区域中工作。或者,通过将栅极-源极间电压设定为负值或低于阈值电压的电压,可以使该晶体管在亚阈值区域中工作。注意,本发明的一个方式不局限于此。例如,也可以使图8c所示的晶体管在饱和区域中工作。或者,也可以使图8c所示的晶体管在饱和区域与亚阈值区域之边界附近工作。
[0149]
在恒流源电路isc1流过的电流为i
ut
时,作为一个例子,恒流源电路isc2流过的电流优选为2i
ut
,恒流源电路isc3流过的电流优选为4i
ut
。也就是说,在电流源电路isc包括p个(p为1以上的整数)的恒流源时,第p(p为1以上且p以下的整数)的恒流源流过的电流优选为2
(p-1)
×iut
。如此,可以改变从电流源电路isc流过的电流的大小。
[0150]
例如,电流源电路isc的恒流源的个数为3个(p=3)。当想要在布线ol[j]中流过i
ut
的电流时,在开关swi处于开启状态且开关swib处于关闭状态下,开关swc1处于开启状态,开关swc2、开关swc3处于关闭状态即可。此外,当想要在布线ol[j]中流过5i
ut
的电流时,开关swc1、开关swc3处于开启状态,开关swc2处于关闭状态即可。也就是说,从电流源电路isc输出的电流可以为8值(“0”、“i
ut”、“2i
ut”、“3i
ut”、“4i
ut”、“5i
ut”、“6i
ut”、“7i
ut”)中的任一个。注意,在想要输出大于8值的值的电流时,恒流源的个数为4个以上即可。此外,同样地,通过开关swi处于关闭状态,且开关swib处于开启状态,可以在布线olb[j]中流过8值中的任一个的电流。注意,在从电流源电路isc没有输出电流时,也可以使电流源电路isc的开关swc1至开关swc3处于关闭状态且使切换电路tw的开关swi、开关swib处于关闭状态。通过如此配置多个恒流源,电流源电路isc可以输出与切换各开关的开启状态和关闭状态的控制信号(数字值)对应的电流量。换言之,电流源电路isc可以说进行从该控制信号到电流量的数字模拟(da)转换。另外,该电流源电路可以被构成为可将该电流源电路所输出的电流值作为模拟值自由地变更,而可以使电路ild具有包括只有一个电流源电路的结构。
[0151]
注意,在上述例子中,在电流源电路isc包括p个恒流源时由第p个恒流源流过的电流为2
(p-1)
×iut
,但本发明的一个方式不局限于此。例如,由恒流源电路isc1流过的电流、由恒流源电路isc2流过的电流和由恒流源电路isc3流过的电流的大小都可以相等。例如,在电流源电路isc所输出的电流为8值的情况下,也可以以如下方式控制电流源电路isc所输出的电流的大小:将电流源电路isc中的恒流源个数设定为7个(p=7),使电流源电路isc中的恒流源的电流的大小都相等,来控制从几个电流源输出电流。
[0152]
此外,在电路ild中,端子tsb2与布线vcn电连接,端子tsbb2与布线vcn电连接。
[0153]
布线vcn被用作对布线ol[j]及/或布线olb[j]供应恒电压的布线。例如,在从电路ild通过切换电路tw[j]对布线ol或布线olb供应电流(正电流)时,布线vcn所供应的恒电压优选为低电平电位(例如vss等)。例如,在从布线ol或布线olb通过切换电路tw[j]对电路ild供应电流(负电流)时,布线vcn所供应的恒电位优选为高电平电位。注意,如后面说明的图42至图45等所示,在电容c3与晶体管m1等的源极端子连接,该源极端子不与电源线等连接的情况下,在从电路ild通过切换电路tw[j]对布线ol或布线olb供应正电流时,布线vcn所供应的恒电压优选为高电平电位(例如vdd等)。也就是说,在从布线vcn供应恒电压时,优选使电容c3的两端的电位差近于零。换言之,优选从电路mc将电流不输出的电位供应给布线vcn。
[0154]
此外,在电路ild中,端子tsb3与布线vcn2电连接,端子tsbb3与布线vcn2电连接。
[0155]
布线vcn2被用作对布线ol[j]及/或布线olb[j]供应恒电压的布线。例如,在从电路ild通过切换电路tw[j]对布线ol或布线olb供应电流(正电流)时,布线vcn所供应的恒电压优选为高电平电位(例如vdd等)。另外,例如,在从布线ol或布线olb通过切换电路tw[j]对电路ild供应电流(负电流)时,布线vcn所供应的恒电位优选为低电平电位。
[0156]
切换电路tw[j]通过将开关swi、开关swib、开关swo、开关swob、开关swl、开关swlb、开关swh、开关swhb的每一个切换为开启状态或关闭状态,可以改变与布线ol[j]及布线olb[j]成为导通状态的电路。
[0157]
这里,对输入到电路mp的权重系数进行说明。
[0158]
在对电路mp输入正权重系数时,对布线ol[j]输入对应于该权重系数的电流,对布线olb[j]输入布线vcn所供应的恒电位即可。作为一个例子,使电流源电路isc与布线ol[j]之间处于导通状态,使电流源电路isc与布线olb[j]之间处于非导通状态,使电路afp与布线ol[j]之间处于非导通状态,使电路afp与布线olb[j]之间处于非导通状态,使布线vcn与布线ol[j]之间处于非导通状态,使布线vcn与布线olb[j]之间处于导通状态,使布线vcn2与布线ol[j]之间处于非导通状态,使布线vcn2与布线olb[j]之间处于非导通状态即可。换言之,在切换电路tw[j]中,使开关swi、swlb处于开启状态,使开关swib、开关swo、开关swob、开关swl、开关swh、开关swhb分别处于关闭状态即可。由此,通过使电流源电路isc与布线ol[j]之间处于导通状态,可以从电流源电路isc通过布线ol[j]向电路mp流过电流。另外,在电流源电路isc的恒流源的个数为p个时,该电流为2
p-1值的任一个(不包括零电流)。由于对电路mp输入的正权重系数根据该电流决定,因此该权重系数可以为2
p-1值的任一个。此外,由于在布线vcn与布线olb[j]之间成为导通状态,所以对布线olb[j]从布线vcn输入恒电压。
[0159]
在对电路mp输入负权重系数时,对布线olb[j]输入对应于该权重系数的电流,对布线ol[j]输入布线vcn所供应的恒电位即可。作为一个例子,使电流源电路isc与布线ol[j]之间处于非导通状态,使电流源电路isc与布线olb[j]之间处于导通状态,使电路afp与布线ol[j]之间处于非导通状态,使电路afp与布线olb[j]之间处于非导通状态,使布线vcn与布线ol[j]之间处于导通状态,使布线vcn与布线olb[j]之间处于非导通状态,使布线vcn2与布线ol[j]之间处于非导通状态,使布线vcn2与布线olb[j]之间处于非导通状态即可。换言之,在切换电路tw[j]中,使开关swib、开关swl处于开启状态,使开关swi、开关swo、开关swob、开关swlb、开关swh、开关swhb分别处于关闭状态即可。由此,通过使电流源电路isc与布线olb[j]之间处于导通状态,可以从电流源电路isc通过布线olb[j]向电路mp流过电流。此外,在电流源电路isc的恒流源的个数为p个时,该电流为2
p-1值的任一个(不包括零电流)。由于对电路mp输入的负权重系数根据该电流决定,所以该权重系数可以为2
p-1值的任一个。此外,由于在布线vcn与布线ol[j]之间成为导通状态,所以对布线ol[j]从布线vcn输入恒电压。
[0160]
在想要对电路mp输入0的权重系数时,对布线ol[j]、布线olb[j]分别输入布线vcn所供应的恒电位。作为一个例子,使电流源电路isc与布线ol[j]之间处于非导通状态,使电流源电路isc与布线olb[j]之间处于非导通状态,使电路afp与布线ol[j]之间处于非导通状态,使电路afp与布线olb[j]之间处于非导通状态,使布线vcn与布线ol[j]之间处于导通状态,使布线vcn与布线olb[j]之间处于导通状态,使布线vcn2与布线ol[j]之间处于非导
通状态,使布线vcn2与布线olb[j]之间处于非导通状态即可。换言之,在切换电路tw[j]中,使开关swl、开关swlb处于开启状态,使开关swi、开关swib、开关swo、开关swob、开关swh、开关swhb分别处于关闭状态即可。由此,由于使布线vcn与布线ol[j]之间处于导通状态,使布线vcn与布线olb[j]之间处于导通状态,所以对布线ol[j]、olb[j]从布线vcn输入恒电压。
[0161]
也就是说,通过电流源电路isc的恒流源的个数为p个,能够对电路mp输入的权重系数的个数(正权重系数、负权重系数、0的权重系数)为2
p+1-1个。
[0162]
接着,对从电路mp对电路afp供应信息(例如,电位、电流等)的情况进行说明。
[0163]
在从电路mp对电路afp供应信息(例如,电位、电流等)之前,优选将布线ol[j]、布线olb[j]设定为规定电位。例如,在从电路afp通过布线ol或布线olb对电路mp流过正电流时,作为规定电位采用高电平电位即可。此外,例如,在从电路mp通过布线ol或布线olb对电路afp流过正电流时,作为规定电位采用低电平电位即可。因此,在从电路mp对电路afp供应信息(例如,电位、电流等)之前,作为一个例子,使电流源电路isc与布线ol[j]之间处于非导通状态,使电流源电路isc与布线olb[j]之间处于非导通状态,使电路afp与布线ol[j]之间处于非导通状态,使电路afp与布线olb[j]之间处于非导通状态,使布线vcn与布线ol[j]之间处于非导通状态,使布线vcn与布线olb[j]之间处于非导通状态,使布线vcn2与布线ol[j]之间处于导通状态,使布线vcn2与布线olb[j]之间处于导通状态即可。换言之,在切换电路tw[j]中,使开关swh、开关swhb处于开启状态,使开关swi、开关swib、开关swo、开关swob、开关swl、开关swlb分别处于关闭状态即可。由此,由于使布线ol[j]与布线vcn2之间处于导通状态,使布线olb[j]与布线vcn2之间处于导通状态,所以对布线ol[j]、布线olb[j]从布线vcn2输入恒电压。
[0164]
在从电路mp[i,j]对电路afp供应信息(例如,电位、电流等)时,作为一个例子,使电流源电路isc与布线ol[j]之间处于非导通状态,使电流源电路isc与布线olb[j]之间处于非导通状态,使电路afp与布线ol[j]之间处于导通状态,使电路afp与布线olb[j]之间处于导通状态,使布线vcn与布线ol[j]之间处于非导通状态,使布线vcn与布线olb[j]之间处于非导通状态,使布线vcn2与布线ol[j]之间处于非导通状态,使布线vcn2与布线olb[j]之间处于非导通状态即可。换言之,在切换电路tw[j]中,使开关swo、开关swob处于开启状态,使开关swi、开关swib、开关swl、开关swlb、开关swh、开关swhb分别处于关闭状态即可。由此,由于在电路afp与电路mp[i,j]之间成为导通状态,所以可以从电路mp[i,j]对电路afp供应信息(例如,电位、电流等)。
[0165]
如上所述,通过作为电路ild及切换电路tw[j]采用图8a所示的结构,可以在使规定电流流过布线ol[j]及布线olb[j]时使用相同电流源电路isc,因此可以减少布线ol[j]及布线olb[j]受到的电流源的特性不均匀的影响。
[0166]
《《电路mp》》接着,说明运算电路110、运算电路120、运算电路130、运算电路140中的电路mp[i,j]的结构例子。
[0167]
图9a示出可以应用于运算电路140的电路mp[i,j]的结构例子,电路mp[i,j]例如包括电路mc及电路mcr。电路mc及电路mcr是在电路mp中计算权重系数与神经元的输入信号(运算值)之积的电路。电路mc可以采用与电路mcr相同的结构或与电路mcr不同的结构。由此,为了与电路mc区分,对电路mcr的符号附上“r”。另外,对后面说明的电路mcr中的电路元
件的符号也附上“r”。
[0168]
例如,电路mc包括电路hc,电路mcr包括电路hcr。电路hc及电路hcr分别具有保持数据(例如,电位、电阻值、电流值等)的功能。另外,电路mp[i,j]所设定的第一数据w
i(k-1)j(k)
根据电路hc、电路hcr的每一个保持的数据(例如,电位、电阻值、电流值等)决定。由此,电路hc及电路hcr的每一个与供应对应于第一数据w
i(k-1)j(k)
的各数据(例如,电位、电阻值、电流值等)的布线ol[j]及布线olb[j]电连接。
[0169]
在图9a中,电路mp[i,j]与布线ve[j]、布线ver[j]电连接。布线ve[j]、布线ver[j]被用作恒电压的布线。此外,布线ve[j]被用作通过电路mc排出来自布线ol的电流的布线。此外,布线ver[j]被用作通过电路mcr排出来自布线olb的电流的布线。
[0170]
图9a所示的布线wl[i]相当于图7中的布线wl[i]。布线wl[i]与电路hc及电路hcr的每一个电连接。在对电路mp[i,j]中的电路hc及电路hcr写入对应于第一数据w
i(k-1)j(k)
的数据(例如,电位、电阻值、电流值等)时,通过对布线wl[i]供应指定电位,使布线ol[j]与电路hc之间处于导通状态且使布线olb[j]与电路hcr之间处于导通状态。通过对布线ol[j]、olb[j]的每一个供应对应于第一数据w
i(k-1)j(k)
的电位等,可以对电路hc及电路hcr的每一个输入该电位等。然后,对布线wl[i]供应指定电位而使布线ol[j]与电路hc之间处于非导通状态且使布线olb[j]与电路hcr之间处于非导通状态。其结果,电路hc及电路hcr的每一个保持对应于第一数据w
i(k-1)j(k)
的各电流等。
[0171]
例如,考虑第一数据w
i(k-1)j(k)

“‑
1”、“0”、“1”的3值中的任一个的情况。在第一数据w
i(k-1)j(k)
为“1”时,作为一个例子,以从布线ol[j]通过电路mc对布线ve[j]流过对应于“1”的电流的方式在电路hc保持规定电位,且以不从布线olb[j]通过电路mcr向布线ver[j]流过电流的方式在电路hcr保持电位v0。另外,在第一数据w
i(k-1)j(k)

“‑
1”时,作为一个例子,以不从布线ol[j]通过电路mc向布线ve[j]流过电流的方式,在电路hc保持电位v0,且以从布线olb[j]通过电路mcr对布线ver[j]流过对应于
“‑
1”的电流的方式,在电路hcr保持规定电位。并且,在第一数据w
i(k-1)j(k)
为“0”时,作为一个例子,以不从布线ol[j]通过电路mc向布线ve[j]流过电流的方式,在电路hc保持电位v0,且以不从布线olb[j]通过电路mc向布线ver[j]流过电流的方式,在电路hcr保持电位v0。注意,在图8a的说明中,电位v0可以为布线vcn所供应的电位。
[0172]
另外,作为其他一个例子,考虑第一数据w
i(k-1)j(k)
为模拟值,具体而言,“负模拟值”、“0”或“正模拟值”的情况。在第一数据w
i(k-1)j(k)
为“正模拟值”时,作为一个例子,以从布线ol[j]通过电路mc对布线ve[j]流过对应于“正模拟值”的模拟电流的方式,在电路hc保持规定电位,且以不从布线olb[j]通过电路mcr对布线ver[j]供应电流的方式,在电路hcr保持电位v0。另外,在第一数据w
i(k-1)j(k)
为“负模拟值”时,作为一个例子,以不从布线ol[j]通过电路mc对布线ve[j]供应电流的方式,在电路hc保持电位v0,且以从布线olb[j]通过电路mcr对布线ver[j]流过对应于“负模拟值”的模拟电流的方式,在电路hcr保持规定电位。并且,在第一数据w
i(k-1)j(k)
为“0”时,作为一个例子,以不从布线ol[j]通过电路mc向布线ve[j]流过电流的方式,在电路hc保持电位v0,且以不从布线olb[j]通过电路mc向布线ver[j]流过电流的方式,在电路hcr保持电位v0。注意,与上述例子同样地,在图8a的说明中,电位v0可以为布线vcn所供应的电位。
[0173]
另外,例如,电路mc具有将对应于电路hc所保持的数据(例如,电位、电阻值或电流
值等)的电流等输出到布线ol[j]和布线olb[j]中的一方的功能,电路mcr具有将对应于电路hcr所保持的数据(例如,电位、电阻值或电流值等)的电流等输出到布线ol[j]和布线olb[j]中的另一方的功能。例如,在电路hc保持第一电位时,电路mc从布线ol[j]或布线olb[j]对布线ve流过具有第一电流值的电流,在电路hc保持第二电位时,电路mc从布线ol[j]或布线olb[j]对布线ve流过具有第二电流值的电流。同样地,在电路hcr保持第一电位时,电路mcr从布线ol[j]或布线olb[j]对布线ver流过具有第一电流值的电流,在电路hcr保持第二电位时,电路mcr从布线ol[j]或布线olb[j]对布线ver流过具有第二电流值的电流。注意,第一电流值、第二电流值的每一个的大小根据第一数据w
i(k-1)j(k)
的值决定。例如,第一电流值有时大于第二电流值或小于第二电流值。另外,例如,有时第一电流值和第二电流值中的一方为零电流,即为0。另外,有时具有第一电流值的电流流过的方向与具有第二电流值的电流流过的方向不同。
[0174]
尤其是,例如,在第一数据w
i(k-1)j(k)

“‑
1”、“0”、“1”的3值中的任一个时,优选以第一电流值和第二电流值中的一方为0的方式构成电路mc及电路mcr。另外,第一数据w
i(k-1)j(k)
为模拟值,例如,“负模拟值”、“0”或“正模拟值”时,第一电流值或第二电流值例如可以成为模拟值。
[0175]
在使从布线ol[j]或布线olb[j]通过电路mc对布线ve流过的电流与从布线ol[j]或布线olb[j]通过电路mcr对布线ver流过的电流相等时,由于起因于晶体管的制造工序等导致该晶体管的特性产生偏差,有时保持在电路mc中的电位不与保持在电路mcr中的电位相等。本发明的一个方式的半导体装置即使晶体管的特性有偏差,也可以使从布线ol[j]或布线olb[j]通过电路mc对布线ve流过的电流的量与从布线ol[j]或布线olb[j]通过电路mcr对布线ver流过的电流的量几乎相等。
[0176]
在本说明书等中,对应于保持在电路hc及电路hcr的信息(例如,电位、电阻值或电流值等)的电流或电压等可以为正电流或电压等,也可以为负电流或电压等,也可以为零电流或零电压等,也可以为混有正、负和零的电流或电压。换言之,例如,上述“具有将对应于电路hc所保持的信息(例如,电位、电阻值或电流值等)的电流或电压等输出到布线ol[j]和布线olb[j]中的一方的功能,电路mcr具有将电路hcr所保持的信息(例如,电位、电阻值或电流值等)的电流或电压等输出到布线ol[j]和布线olb[j]中的另一方的功能”的记载可以换为“具有将对应于电路hc所保持的信息(例如,电位、电阻值或电流值等)的电流、电压等从布线ol[j]和布线olb[j]中的一方排出的功能,电路mcr具有将对应于电路hcr所保持的信息(例如,电位、电阻值或电流值等)的电流或电压等从布线ol[j]和布线olb[j]中的另一方排出的功能”的记载。
[0177]
图9a所示的布线x1l[i]及布线x2l[i]相当于图7中的布线xls[i]。输入到电路mp[i,j]的第二数据z
i(k-1)
例如根据布线x1l[i]及布线x2l[i]的每一个的电位或电流等决定。由此,对电路mc及电路mcr例如通过布线x1l[i]及布线x2l[i]输入对应于第二数据z
i(k-1)
的各电位。
[0178]
电路mc与布线ol[j]、布线olb[j]电连接,电路mcr与布线ol[j]、布线olb[j]电连接。电路mc及电路mcr例如根据输入到布线x1l[i]及布线x2l[i]的电位或电流等对布线ol[j]及布线olb[j]输出对应于第一数据w
i(k-1)j(k)
与第二数据z
i(k-1)
之积的电流或电位等。具体而言,例如来自电路mc及电路mcr的电流被输出的布线根据布线x1l[i]及布线x2l[i]的
电位决定。例如,电路mc及电路mcr具有如下电路结构:从电路mc输出的电流向布线ol[j]和布线olb[j]中的一方流过,从电路mcr输出的电流向布线ol[j]和布线olb[j]中的另一方流过。换言之,从电路mc及电路mcr输出的各电流不向同一布线流过,而向彼此不同的布线流过。注意,例如,有时电流从电路mc及电路mcr到布线ol[j]和布线olb[j]不流过。
[0179]
例如,考虑第二数据z
i(k-1)
成为
“‑
1”、“0”、“1”的3值中的任一个的情况。例如,在第二数据z
i(k-1)
为“1”时,电路mp使电路mc与布线ol[j]间处于导通状态且使电路mcr与布线olb[j]间处于导通状态。例如,在第二数据z
i(k-1)

“‑
1”时,电路mp使电路mc与布线olb[j]间处于导通状态且电路mcr与布线ol[j]间处于导通状态。例如,在第二数据z
i(k-1)
为“0”时,为了使电路mc及电路mcr的每一个所输出的电流不流过布线ol[j]和布线olb[j],电路mp使电路mc与布线ol[j]间及电路mc与布线olb[j]间处于非导通状态且使电路mcr与布线ol[j]间及电路mc与布线olb[j]间处于非导通状态。
[0180]
以下示出将以上工作的情况总合的例子。在第一数据w
i(k-1)j(k)
为“1”时,有时通过电路mc从布线ol[j]或布线olb[j]向布线ve[j]流过电流,不通过电路mcr从布线ol[j]或布线olb[j]向布线ver[j]流过电流。在第一数据w
i(k-1)j(k)

“‑
1”时,不通过电路mc从布线ol[j]或布线olb[j]向布线ve[j]流过电流,有时通过电路mcr从布线ol[j]或布线olb[j]向布线ver[j]流过电流。另外,在第二数据z
i(k-1)
为“1”时电路mc与布线ol[j]间及电路mcr与布线olb[j]间处于导通状态。在第二数据z
i(k-1)

“‑
1”时,电路mc与布线olb[j]间及电路mcr与布线ol[j]间处于导通状态。如上所述,在第一数据w
i(k-1)j(k)
与第二数据z
i(k-1)
之积为正值时,通过电路mc从布线ol[j]向布线ve[j]流过电流或者通过电路mcr从布线ol[j]向布线ver[j]流过电流。在第一数据w
i(k-1)j(k)
与第二数据z
i(k-1)
之积为负值时,通过电路mcr从布线ol[j]向布线ver[j]流过电流或通过电路mc从布线olb[j]向布线ve[j]流过电流。在第一数据w
i(k-1)j(k)
与第二数据z
i(k-1)
之积为零的值时,不从布线ol[j]或布线olb[j]向布线ve[j]流过电流,且不从布线ol[j]或布线olb[j]向布线ver[j]流过电流。
[0181]
将上述例子具体地记载,在第一数据w
i(k-1)j(k)
为“1”且第二数据z
i(k-1)
为“1”时,例如,具有第一电流值的电流i1[i,j]从电路mc向布线ol[j]流过,具有第二电流值的电流i2[i,j]从电路mcr向布线olb[j]流过。此时,第二电流值的高低例如为零。在第一数据w
i(k-1)j(k)

“‑
1”且第二数据z
i(k-1)
为“1”时,例如,具有第二电流值的电流i1[i,j]从电路mc向布线ol[j]流过,具有第一电流值的电流i2[i,j]从电路mcr向布线olb[j]流过。此时,第二电流值的高低例如为零。在第一数据w
i(k-1)j(k)
为“0”且第二数据z
i(k-1)
为“1”时,具有第二电流值的电流i1[i,j]从电路mc向布线ol[j]流过,具有第二电流值的电流i2[i,j]从电路mcr向布线olb[j]流过。此时,第二电流值的高低例如为零。
[0182]
在第一数据w
i(k-1)j(k)
为“1”且第二数据z
i(k-1)

“‑
1”时,具有第一电流值的电流i1[i,j]从电路mc向布线olb[j]流过,具有第二电流值的电流i2[i,j]从电路mcr向布线ol[j]流过。此时,第二电流值的高低例如为零。在第一数据w
i(k-1)j(k)

“‑
1”且第二数据z
i(k-1)

“‑
1”时,具有第二电流值的电流i1[i,j]从电路mc向布线olb[j]流过,具有第一电流值的电流i2[i,j]从电路mcr向布线ol[j]流过。此时,第二电流值的高低例如为零。在第一数据w
i(k-1)j(k)
为“0”且第二数据z
i(k-1)

“‑
1”时,具有第二电流值的电流i1[i,j]从电路mc向布线olb[j]流过,具有第二电流值的电流i2[i,j]从电路mcr向布线ol[j]流过。此时,第二电流值的高低例如为零。
[0183]
另外,在第二数据z
i(k-1)
为“0”时,例如电路mc与布线ol[j]间及电路mc与布线olb[j]间处于非导通状态。同样地,电路mcr与布线ol[j]间及电路mcr与布线olb[j]间处于非导通状态。由此,无论第一数据w
i(k-1)j(k)
如何,也不从电路mc及电路mcr向布线ol[j]及布线olb[j]输出电流。
[0184]
如此,例如在第一数据w
i(k-1)j(k)
与第二数据z
i(k-1)
之积的值为正值时,电流从电路mc或电路mcr向布线ol[j]流过。此时,在第一数据w
i(k-1)j(k)
为正值时电流从电路mc向布线ol[j]流过,在第一数据w
i(k-1)j(k)
为负值时,电流从电路mcr向布线ol[j]流过。另一方面,在第一数据w
i(k-1)j(k)
与第二数据z
i(k-1)
之积的值为负值时,电流从电路mc或电路mcr向布线olb[j]流过。此时,在第一数据w
i(k-1)j(k)
为正值时电流从电路mc向布线olb[j]流过,在第一数据w
i(k-1)j(k)
为负值时,电流从电路mcr向布线olb[j]流过。因此,从连接于布线ol[j]的多个电路mc或电路mcr输出的电流的总和流过布线ol[j]。换言之,在布线ol[j]中,具有正值之和的值的电流流过。另一方面,从连接于布线olb[j]的多个电路mc或电路mcr输出的电流的总和流过布线olb[j]。换言之,在布线olb[j]中,具有负值之和的值的电流流过。由于上述工作,通过利用流过布线ol[j]的电流值的总和,即正值的总和、以及流过布线olb[j]的电流值的总和,即负值的总和,可以进行积和运算处理。例如,在流过布线ol[j]的电流值的总和大于流过布线olb[j]的电流值的总和时,根据积和运算的结果可以判断取得正值。在流过布线ol[j]的电流值的总和小于流过布线olb[j]的电流值的总和时,根据积和运算的结果可以判断取得负值。例如,在流过布线ol[j]的电流值的总和与流过布线olb[j]的电流值的总和大致相等时,根据积和运算的结果可以判断取得零的值。
[0185]
注意,在第二数据z
i(k-1)

“‑
1”、“0”、“1”中的任何2值,例如
“‑
1”、“1”的2值或者“0”、“1”的2值时,也可以同样地工作。同样的,在第一数据w
i(k-1)j(k)

“‑
1”、“0”、“1”中的任何2值,例如
“‑
1”、“1”的2值或者“0”、“1”的2值时,也可以同样地工作。
[0186]
另外,第一数据w
i(k-1)j(k)
也可以为模拟值或多位(多值)数字值。作为具体例子,可以取得代替
“‑
1”的“负模拟值”以及代替“1”的“正模拟值”。在此情况下,从电路mc或电路mcr流过的电流的高低也例如为对应于第一数据w
i(k-1)j(k)
的值的绝对值的模拟值。
[0187]
接着,说明使图9a的电路mp[i,j]的变形例子。注意,关于电路mp[i,j]的变形例子,主要说明与图9a的电路mp[i,j]不同部分,而有时省略与图9a的电路mp[i,j]相同的部分的说明。
[0188]
图9b所示的电路mp[i,j]具有将布线x1l替换为布线wx1l的结构。换言之,在图9b的电路mp[i,j]中,布线wx1l及布线wl被用作为了进行布线ol[j]与电路hc之间处于导通状态或非导通状态的切换、布线olb[j]与电路hcr之间处于导通状态或非导通状态的切换供应规定电位的布线。此外,在图9b的电路mp[i,j]中,布线wx1l及布线x2l被用作供应根据对电路mp[i,j]输入的第二数据z
i(k-1)
的电流、电压等的布线。
[0189]
图9b的电路mp[i,j]可以用于如图4所示的运算电路130那样包括布线wx1l且如图7所示的运算电路140那样不包括布线il、布线ilb的运算电路。具体而言,图9b的电路mp[i,j]例如可以用于图11所示的运算电路150的电路mp[i,j]。
[0190]
接着,说明与图9b不同地使图9a的电路mp[i,j]变形的例子。图9c所示的电路mp[i,j]是图9a的电路mp[i,j]的变形例子。与图9a的电路mp[i,j]同样,图9c的电路mp[i,j]包括电路mc、电路mcr。但是,图9c的电路mp[i,j]在电路mcr不包括电路hcr,这一点与图9a
的电路mp[i,j]不同。
[0191]
另外,因为电路mcr不包括电路hcr,所以应用图9c的电路mp[i,j]的运算电路可以不包括用来供应保持在电路hcr中的电位的布线ilb[j]。并且,电路mcr可以不与布线wl[i]电连接。
[0192]
在图9c的电路mp[i,j]中,电路mc中的电路hc与电路mcr电连接。换言之,图9c的电路mp[i,j]具有电路mcr和电路mc共同使用电路hc的结构。例如,可以将电路hc所保持的信号的反转信号从电路hc供应到电路mcr。由此,可以在电路mc和电路mcr进行不同工作。另外,也可以通过使电路mc与电路mcr的内部电路结构不同,来将电路mc及电路mcr的对电路hc所保持的同一信号输出的电流的高低不同。在此,通过在电路hc保持对应于第一数据w
i(k-1)j(k)
的电位且对布线x1l[i]及布线x2l[i]供应对应于第二数据z
i(k-1)
的电位,电路mp[i,j]可以对布线ol[j]及布线olb[j]输出对应于第一数据w
i(k-1)j(k)
与第二数据z
i(k-1)
之积的电流。
[0193]
应用图9c的电路mp的运算电路110例如可以改变为图7所示的运算电路140的电路结构。
[0194]
图9d所示的电路mp[i,j]是图9a的电路mp[i,j]的变形例子,具体而言,可以应用于下述图12的运算电路160的电路mp[i,j]的结构例子。注意,运算电路160具有图2的运算电路110中不设置有布线ilb[1]至布线ilb[n]的结构。与图9a的电路mp[i,j]同样,图9d的电路mp[i,j]包括电路mc、电路mcr。但是,与图9d的电路mp[i,j]电连接的布线的结构与图9a的电路mp[i,j]不同。
[0195]
图9d所示的布线w1l[i]及布线w2l[i]相当于图12中的布线wls[i]。布线w1l[i]与电路hc电连接,布线w2l[i]与电路hcr电连接。
[0196]
另外,布线il[j]与电路hc及电路hcr电连接。
[0197]
在图9d的电路mp[i,j]中,在电路hc及电路hcr分别保持不同的信息(例如,电压、电阻值、电流等)时,优选依次在电路hc及电路hcr中保持信息,而不是同时保持。例如,考虑在可以通过电路hc保持第一信息且电路hcr保持第二信息而表示电路mp[i,j]的第一数据w
i(k-1)j(k)
的情况。首先,对布线w1l[i]及布线w2l[i]分别供应指定电位而使电路hc与布线il[j]间处于导通状态,并且使电路hcr与布线il[j]间处于非导通状态。接着,通过对布线il[j]供应对应于第一信息的电流、电压等,对电路hc供应第一信息。然后,对布线w1l[i]及布线w2l[i]分别供应指定电位,使电路hc与布线il[j]间处于非导通状态,并且使电路hcr与布线il[j]间处于导通状态。然后,通过对布线il[j]供应对应于第二信息的电流、电压等,可以对电路hcr供应第二信息。由此,电路mp[i,j]可以作为第一数据设定w
i(k-1)j(k)

[0198]
另外,在电路hc和电路hcr保持大致相同的信息(例如,电压、电阻值、电流等)(通过使电路hc及电路hcr的每一个保持大致相同的信息而设定电路mp[i,j]的第一数据w
i(k-1)j(k)
)时,以使电路hc与布线il[j]间处于导通状态且使电路hcr与布线il[j]间处于导通状态的方式对布线w1l[i]及布线w2l[i]分别供应指定的电位,然后从布线il[j]对电路hc及电路hcr供应对应于该信息的电流、电压等即可。
[0199]
图9d的电路mp[i,j]通过在电路hc及电路hcr保持对应于第一数据w
i(k-1)j(k)
的电位且对布线x1l[i]及布线x2l[i]供应对应于第二数据z
i(k-1)
的电位,与图9a的电路mp[i,j]同样地对布线ol[j]及布线olb[j]输出对应于第一数据w
i(k-1)j(k)
与第二数据z
i(k-1)
之积的
电流。
[0200]
图9e所示的电路mp[i,j]是图9d的电路mp[i,j]的变形例子。与图9d的电路mp[i,j]同样,图9e的电路mp[i,j]包括电路mc、电路mcr。但是,与图9e的电路mp[i,j]电连接的布线的结构与图9d的电路mp[i,j]不同。
[0201]
具体而言,在图9e的电路mp中,对图9d的电路mp加上布线ilb[j],且将与图9d的电路mp电连接的布线w1l[i]、布线w2l[i]替换为布线wl[i]。
[0202]
在图9e的电路mp中,布线il[j]与电路hc电连接,布线ilb[j]与电路hcr电连接。也就是说,在图9d的电路mp中,布线il[j]被用作对电路hc及电路hcr分别供应对应于信息(例如,电压、电阻值、电流等)的电流、电压等的布线,在图9e的电路mp中,布线il[j]被用作对电路hc供应对应于信息的电流、电压等的布线,布线ilb[j]被用作对电路hcr供应对应于信息的电流、电压等的布线。
[0203]
在图9e的电路mp中,由于电路hc及电路hcr分别与布线il[j]及布线ilb[j]电连接,所以可以同时对电路hc及电路hcr分别供应对应于信息(例如,电压、电阻值、电流等)的电流、电压等。因此,可以同时进行在电路hc与布线il[j]之间处于导通状态或非导通状态的切换、在电路hcr与布线ilb[j]之间处于导通状态或非导通状态的切换。在图9d的电路mp中,作为控制在电路hc与布线il[j]之间处于导通状态或非导通状态的切换的布线示出布线w1l[i],作为控制在电路hcr与布线ilb[j]之间处于导通状态或非导通状态的切换的布线示出布线w2l[i],在图9e的电路mp中,作为将布线w1l[i]及布线w2l[i]合在一起的布线,示出布线wl[i]。
[0204]
注意,图9e的电路mp例如可以用于图2的运算电路110、图3的运算电路120。
[0205]
图9f所示的电路mp[i,j]是图9a的电路mp[i,j]的变形例子。与图9a的电路mp[i,j]同样,图9f的电路mp[i,j]包括电路mc、电路mcr。注意,图9f的电路mp[i,j]与图9a的电路mp[i,j]不同之处是:电路mc不与布线olb[j]电连接;以及电路mcr不与布线ol[j]电连接。
[0206]
图9f所示的布线wl[i]与电路hc及电路hcr电连接。此外,图9f所示的布线xl[i]与电路mc及电路mcr电连接。
[0207]
如上所述,在图9f的电路mp[i,j]中,电路mc不与布线olb[j]电连接,并且电路mcr不与布线ol[j]电连接。换言之,图9f的电路mp[i,j]与图9a至图9e的电路mp[i,j]不同,即从电路mc输出的电流不流过布线olb[j],从电路mcr输出的电流不流过布线ol[j]。
[0208]
因此,图9f的电路mp[i,j]优选在第二数据z
i(k-1)
为“0”或“1”的2值时应用于运算电路。例如,在第二数据z
i(k-1)
为“1”时,电路mp使电路mc与布线ol[j]间处于导通状态且使电路mcr与布线olb[j]间处于导通状态。另外,例如,在第二数据z
i(k-1)
为“0”时,为了不使电路mc及电路mcr的每一个输出的电流流过布线ol[j]及布线olb[j],电路mp使电路mc与布线ol[j]之间以及电路mc与布线olb[j]之间处于非导通状态,并且使电路mcr与布线ol[j]之间以及电路mcr与布线olb[j]之间处于非导通状态。
[0209]
图9f的电路mp[i,j]通过应用于运算电路110例如可以在第一数据w
i(k-1)j(k)

“‑
1”、“0”、“1”的3值中的任一个且第二数据z
i(k-1)
为“0”、“1”的2值时进行运算。注意,在第一数据w
i(k-1)j(k)

“‑
1”、“0”、“1”中的任何2值,例如
“‑
1”、“1”的2值或者“0”、“1”的2值时也可以工作。另外,第一数据w
i(k-1)j(k)
也可以为模拟值或多位(多值)数字值。作为具体的一个例子,可以取得代替
“‑
1”的“负模拟值”以及代替“1”的“正模拟值”。在此情况下,从电路mc或
电路mcr流过的电流的高低也例如为对应于第一数据w
i(k-1)j(k)
的值的绝对值的模拟值。
[0210]
与图9a同样,图10a所示的电路mp[i,j]是能够对布线ol[j]及布线olb[j]输出对应于第一数据w
i(k-1)j(k)
与第二数据z
i(k-1)
之积的电流的电路。图10a的电路mp[i,j]例如可以应用于图2的运算电路110。
[0211]
图10a的电路mp[i,j]除了电路mc、电路mcr以外还包括晶体管mz。
[0212]
晶体管mz的第一端子与电路mc的第一端子、电路mcr的第一端子电连接。晶体管mz的第二端子与布线vl电连接。晶体管mz的栅极与布线xl[i]电连接。
[0213]
布线vl例如被用作供应恒电压的布线。该恒电压优选根据电路mp[i,j]或运算电路110等的结构决定。作为该恒电压,例如可以采用高电平电位的vdd、低电平电位的vss、接地电位等。
[0214]
另外,图10a所示的布线wl[i]相当于图2的运算电路110中的布线wls[i]。布线wl[i]与电路hc及电路hcr电连接。
[0215]
另外,布线ol[j]与电路mc的第二端子电连接。另外,布线olb[j]与电路mcr的第二端子电连接。
[0216]
布线il[j]与电路hc电连接,布线ilb[j]与电路hcr电连接。
[0217]
关于在图10a的电路mp[i,j]中电路hc及电路hcr的每一个保持对应于第一数据的电位时的工作,参照图9a的电路mp[i,j]中的保持对应于第一数据的电位的工作的说明。
[0218]
在图10a的电路mp[i,j]中,电路mc具有如下功能:在对电路mc的第一端子供应布线vl所供应的恒电压时使对应于电路hc所保持的电位的电流流过电路mc的第一端子与第二端子间。另外,电路mcr具有如下功能:在对电路mc的第一端子供应布线vl所供应的恒电压时使对应于电路hcr所保持的电位的电流流过电路mcr的第一端子与第二端子间。换言之,通过使电路mp[i,j]的电路hc、电路hcr的每一个保持对应于第一数据w
i(k-1)j(k)
的电位,可以决定流过电路mc的第一端子与第二端子间的电流量及流过电路mcr的第一端子与第二端子间的电流量。注意,在对电路mc(电路mcr)的第一端子没有供应布线vl所供应的恒电压时,例如可以视为电路mc(电路mcr)不使电流流过电路mc(电路mcr)的第一端子与第二端子间。
[0219]
例如,在对电路hc、电路hcr的每一个保持对应于“1”的第一数据w
i(k-1)j(k)
的电位时,通过对电路mc供应布线vl所供应的恒电压,电路mc使指定电流流过电路mc的第一端子与第二端子间。因此,电流在电路mc与布线ol间流过。注意,此时电路mcr不使电流流过电路mcr的第一端子与第二端子间。因此,电流不在电路mcr与布线olb间流过。另外,例如,在对电路hc、电路hcr的每一个保持对应于
“‑
1”的第一数据w
i(k-1)j(k)
的电位时,通过对电路mc供应布线vl所供应的恒电压,电路mcr使指定电流流过电路mcr的第一端子与第二端子间。因此,在电路mcr与布线olb间电流流过。注意,此时电路mc不使电流流过电路mc的第一端子与第二端子间。因此,在电路mc与布线ol间电流不流过。另外,例如,在电路hc、电路hcr的每一个保持对应于“0”的第一数据w
i(k-1)j(k)
的电位时,不管电路mc及电路mcr供应有布线vl的恒电压,电路mc就不使电流流过电路mc的第一端子与第二端子间且电路mcr不使电流流过电路mcr的第一端子与第二端子间。换言之,在电路mc与布线ol间电流不流过,在电路mcr与布线olb间电流不流过。
[0220]
关于图10a的电路mp[i,j]中的电路hc、电路hcr所保持的对应于第一数据w
i(k-1)j(k)
的电位的具体例子,参照图9a的电路mp[i,j]的记载。另外,与图9a的电路mp[i,j]同样,在图10a的电路mp[i,j]中,电路hc、电路hcr也可以具有不是保持电位而是保持电流、电阻值等数据的功能,电路mc、电路mcr也可以具有使根据该数据的电流流过的功能。
[0221]
另外,图10a所示的布线xl[i]相当于图2的运算电路110中的布线xls[i]。输入到电路mp[i,j]的第二数据z
i(k-1)
例如根据布线xl[i]、电流等决定。由此,对晶体管mz的栅极例如通过布线xl[i]输入对应于第二数据z
i(k-1)
的电位。
[0222]
例如,考虑第二数据z
i(k-1)
成为“0”、“1”的2值中的任一个的情况。例如,在第二数据z
i(k-1)
为“1”时,对布线xl[i]供应高电平电位。此时,晶体管mz处于开启状态,所以电路mp使布线vl与电路mc的第一端子间处于导通状态且使布线vl与电路mcr的第一端子间处于导通状态。换言之,在第二数据z
i(k-1)
为“1”时,对电路mc及电路mcr供应来自布线vl的恒电压。另外,例如,在第二数据z
i(k-1)
为“0”时,对布线xl[i]供应低电平电位。此时,电路mp使电路mc与布线olb[j]间处于非导通状态且使电路mcr与布线ol[j]间处于非导通状态。换言之,在第二数据z
i(k-1)
为“0”时,不对电路mc及电路mcr供应来自布线vl的恒电压。
[0223]
在此,例如,在第一数据w
i(k-1)j(k)
为“1”且第二数据z
i(k-1)
为“1”时,电流在电路mc与布线ol间流过且不在电路mcr与布线olb间流过。另外,例如,在第一数据w
i(k-1)j(k)

“‑
1”且第二数据z
i(k-1)
为“1”时,电流不在电路mc与布线ol间流过且在电路mcr与布线olb间流过。例如,在第一数据w
i(k-1)j(k)
为“0”且第二数据z
i(k-1)
为“1”时,电流不在电路mc与布线ol间及在电路mcr与布线olb间流过。另外,例如,在第二数据z
i(k-1)
为“0”时,即使第一数据w
i(k-1)j(k)

“‑
1”、“0”、“1”中的任一个,电流也不在电路mc与布线ol间及电路mcr与布线olb间流过。
[0224]
换言之,与图9f的电路mp[i,j]同样,图10a的电路mp[i,j]例如可以在第一数据w
i(k-1)j(k)

“‑
1”、“0”、“1”的3值中的任一个且第二数据z
i(k-1)
为“0”、“1”的2值时进行运算。另外,与图9f的电路mp[i,j]同样,图10a的电路mp[i,j]在第一数据w
i(k-1)j(k)

“‑
1”、“0”、“1”中的任何2值,例如
“‑
1”、“1”的2值或者“0”、“1”的2值时,也可以工作。另外,第一数据w
i(k-1)j(k)
也可以为模拟值或多位(多值)数字值。作为具体的一个例子,可以取得代替
“‑
1”的“负模拟值”以及代替“1”的“正模拟值”。在此情况下,从电路mc或电路mcr流过的电流的高低也例如为对应于第一数据w
i(k-1)j(k)
的值的绝对值的模拟值。
[0225]
注意,也可以将图10a所示的电路mp[i,j]改变为图10b所示的电路mp[i,j]的结构,其中将布线il[j]与布线ol[j]组合为一个布线ol[j],并且将布线ilb[j]与布线olb[j]组合为一个布线olb[j]。
[0226]
《运算电路的工作例子》接着,说明图7的运算电路140的工作例子。注意,在本工作例子的说明中,作为一个例子,使用图13所示的运算电路140。
[0227]
图13的运算电路140是着眼于位于图7的运算电路140的第j列的电路而图示的。换言之,图13的运算电路140相当于进行如下运算的电路,即图1a所示的神经网络100中的对神经元n
j(k)
输入的来自神经元n
1(k-1)
至神经元n
m(k-1)
的信号z
1(k-1)
至z
m(k-1)
与权重系数w
1(k-1)j(k)
至w
m(k-1)j(k)
的积和运算;以及利用该积和运算的结果的激活函数的运算。再者,作为图13的运算电路140的阵列部alp所包括的电路mp使用图9b的电路mp。
[0228]
首先,在运算电路140中,电路mp[1,j]至电路mp[m,j]设定第一数据w
1(k-1)j(k)
至wm(k-1)j(k)
。作为第一数据w
i(k-1)j(k)
的设定方法,可以举出:由电路wld对布线wls[1]至布线wls[m]依次输入指定电位,依次选择电路mp[1,j]至电路mp[m,j],对包括在所选择的电路mp的电路mc的电路hc及电路mcr的电路hcr从电路ild通过切换电路tw[j]、布线ol[j]、olb[j]供应对应于第一数据的电位、电流等。通过供应电位、电流等之后由电路wld使电路mp[1,j]至电路mp[m,j]的每一个处于非选择状态,可以在电路mp[1,j]至电路mp[m,j]的每一个所包括的电路mc的电路hc及电路mcr的电路hcr保持对应于第一数据w
1(k-1)j(k)
至w
m(k-1)j(k)
的电位、电流等。作为一个例子,在第一数据w
1(k-1)j(k)
至w
m(k-1)j(k)
的每一个为正值时,对电路hc输入对应于其正值的值,对电路hcr输入相当于零的值。另一方面,在第一数据w
1(k-1)j(k)
至w
m(k-1)j(k)
的每一个为负值时,对电路hc输入相当于零的值,对电路hcr输入对应于负值的绝对值的值。
[0229]
接着,由电路xld对布线x1l[1]至布线x1l[m]、布线x2l[1]至布线x2l[m]的每一个供应第二数据z
1(k-1)
至z
m(k-1)
。具体而言,对布线x1l[i]及布线x2l[i]供应第二数据z
1(k-1)
。布线x1l[i]、布线x2l[i]相当于图7所示的运算电路140的布线xls[i]。
[0230]
根据对电路mp[1,j]至电路mp[m,j]的每一个输入的第二数据z
1(k-1)
至z
m(k-1)
决定包含在电路mp[1,j]至电路mp[m,j]的电路mc与电路mcr、布线ol[j]与布线olb[j]的导通状态。具体而言,电路mp[i,j]根据第二数据z
i(k-1)
成为如下状态中的任何状态:“电路mc与布线ol[j]间导通且电路mcr与布线olb[j]间导通”的状态;“电路mc与布线olb[j]间导通且电路mcr与布线ol[j]间导通”的状态;以及“电路mc及电路mcr分别与布线ol[j]、olb[j]非导通”的状态。例如,在第二数据z
1(k-1)
为正值时,对布线x1l[1]输入电路mc与布线ol[j]间可以处于导通状态且电路mcr与布线olb[j]间可以处于导通状态的值。并且,对布线x2l[1]输入电路mc与布线olb[j]间可以处于非导通状态且电路mcr与布线ol[j]间可以处于非导通状态的值。并且,在第二数据z
1(k-1)
为负值时,对布线x1l[1]输入电路mc与布线olb[j]间可以处于导通状态且电路mcr与布线ol[j]间可以处于导通状态的值。并且,对布线x2l[1]输入电路mc与布线ol[j]间可以处于非导通状态且电路mcr与布线olb[j]间可以处于非导通状态的值。并且,在第二数据z
1(k-1)
为零时,对布线x1l[1]输入电路mc与布线olb[j]间可以处于非导通状态且电路mcr与布线ol[j]间可以处于非导通状态的值。并且,对布线x2l[1]输入电路mc与布线ol[j]间可以处于非导通状态且电路mcr与布线olb[j]间可以处于非导通状态的值。
[0231]
通过根据输入到电路mp[i,j]的第二数据z
i(k-1)
决定包括在电路mp[i,j]的电路mc及电路mcr与布线ol[j]及布线olb[j]间的导通状态或非导通状态,在电路mc及电路mcr与布线ol[j]及布线olb[j]间进行电流的输入及输出。再者,该电流的量根据在电路mp[i,j]中设定的第一数据w
i(k-1)j(k)
及/或第二数据z
i(k-1)
决定。
[0232]
例如,在电路mp[i,j]中,将从布线ol[j]流过电路mc或电路mcr的电流记为i[i,j],将从布线olb[j]流过电路mc或电路mcr的电流记为ib[i,j]。然后,在将从电路actf[j]流过布线ol[j]的电流记为i
out
[j]且将从布线olb[j]流过电路actf[j]的电流记为i
bout
[j]时,i
out
[j]及i
bout
[j]可以以下面算式表示。
[0233]
[算式5]
[0234]
当在电路mp[i,j]中例如第一数据w
i(k-1)j(k)
为“+1”时,电路mc排出i(+1),电路mcr排出i(-1),在第一数据w
i(k-1)j(k)

“‑
1”时,电路mc排出i(-1),电路mcr排出i(+1),在第一数据w
i(k-1)j(k)
为“0”时,电路mc排出i(-1),电路mcr排出i(-1)。
[0235]
再者,在第二数据z
i(k-1)
为“+1”时,电路mp[i,j]成为如下状态:“电路mc与布线ol[j]间导通,电路mcr与布线olb[j]间导通,电路mc与布线olb[j]间非导通,电路mcr与布线ol[j]间非导通”。在第二数据z
i(k-1)

“‑
1”时,电路mp[i,j]成为如下状态:“电路mc与布线olb[j]间导通,电路mcr与布线ol[j]间导通,电路mc与布线ol[j]间非导通,电路mcr与布线olb[j]间非导通”。在第二数据z
i(k-1)
为“0”时,电路mp[i,j]成为如下状态:“电路mc与布线ol[j]间及电路mc与布线olb[j]间非导通,电路mcr与布线ol[j]间及电路mcr与olb[j]间非导通”。
[0236]
此时,以下表示出在电路mp[i,j]中从布线ol[j]流过电路mc或电路mcr的电流i[i,j]以及从布线olb[j]流过电路mc或电路mcr的电流ib[i,j]。注意,根据情况,也可以以i(-1)的电流量为0的方式构成电路mp[i,j]。另外,电流i[i,j]也可以为从电路mc或电路mcr流过布线ol[j]的电流。同样地,电流ib[i,j]也可以为从电路mc或电路mcr向布线olb[j]流过的电流。
[0237]
[表1]
[0238]
接着,在从布线ol[j]及布线olb[j]的每一个流过的i
out
[j]及i
bout
[j]都输入到电路actf[j]时,电路actf[j]例如进行i
out
[j]及i
bout
[j]的比较等。电路actf[j]例如根据该比较的结果输出神经元n
j(k)
对第(k+1)层的神经元传送的信号z
j(k)

[0239]
由图13的运算电路140例如可以进行对神经元n
j(k)
输入的来自神经元n
1(k-1)
至神经元n
m(k-1)
的信号z
1(k-1)
至z
m(k-1)
与权重系数w
1(k-1)j(k)
至w
m(k-1)j(k)
的积和运算以及利用该积和运算的结果的激活函数的运算。并且,通过设置n列的电路mp,图13的运算电路的阵列部
alp可以具有与图7的运算电路140相同的电路结构。换言之,由图7的运算电路140可以同时进行神经元n
1(k)
至神经元n
n(k)
的每一个的积和运算和利用该积和运算的结果的激活函数的运算。
[0240]
《《包括在运算电路的电路等的变形例子》》上述运算电路110、运算电路120、运算电路130、运算电路140、运算电路150、运算电路160分别可以改变为进行算式(1.3)的运算而不是进行算式(1.2)的运算的电路。算式(1.3)相当于对算式(1.2)的积和的结果施加偏置的运算。因此,在运算电路110、运算电路120、运算电路130、运算电路140、运算电路150、运算电路160的每一个中,也可以设置对布线ol及布线olb施加偏置的值的电路。
[0241]
图14所示的运算电路170具有对图11的运算电路150的阵列部alp加上电路bs[1]至电路bs[n]的电路结构。
[0242]
电路bs[j]与布线ol[j]、布线olb[j]、布线wlbs、布线wxbs电连接。
[0243]
与图2的运算电路110等的布线wls[1]至布线wls[m]、图7的运算电路140等的布线wl[1]至布线wl[m]同样地,布线wlbs被用作用来供应使包括在电路bs[1]至电路bs[n]中的用于写入的开关元件处于开启状态或关闭状态的信号的布线。因此,通过布线wlbs与电路wld电连接,可以从电路wld对布线wlbs供应该信号。
[0244]
与图2的运算电路110等的布线xls[1]至布线xls[m]同样地,布线wxbs被用作将对应于从神经元n
i(k-1)
输出的第二数据z
i(k-1)
的信息(例如,电位、电流值等)供应给电路bs[1]至电路bs[n]的布线。因此,通过布线wxbs与电路xld电连接,可以从电路xld对布线wxbs供应该信息。
[0245]
与图7的运算电路140等的布线wx1l[1]至布线wx1l[n]同样地,布线wxbs也可以兼用用来对电路bs[1]至电路bs[n]写入信息的选择信号线。在图14的运算电路170中示出布线wxbs与电路wld电连接的例子。在采用这种结构的情况下,电路wld可以对布线wlbs、布线wxbs的每一个供应包括用来使在电路bs[1]至电路bs[n]中的用于写入的开关元件处于开启状态或关闭状态的信号。
[0246]
在运算电路170的阵列部alp的j列中,从电路mp[1,j]至电路mp[m,j]向布线ol[j]或布线olb[j]流过的电流量分别可以以算式(1.5)、算式(1.6)表示。此外,由于布线ol[j]、布线olb[j]分别与电路bs[j]电连接,所以在从电路bs[j]向布线ol[j]流过的电流为i
bias
[j]且从电路bs[j]向布线olb[j]流过的电流为i
biasb
[j]时,算式(1.5)、算式(1.6)分别可以改写为如下算式。
[0247]
[算式6][算式6]
[0248]
由此,在算式(1.3)的运算中,可以生成包括偏置的i
out
[j]及i
bout
[j]。此外,通过包括偏置的i
out
[j]及i
bout
[j]输入到电路actf[j],可以生成被施加了偏置的来自神经元nj(k)
的输出信号z
j(k)

[0249]
在图14的运算电路170中,在阵列部alp中设置1行电路bs[1]至电路bs[n],但是本发明的一个方式不局限于此。例如,也可以在阵列部alp中设置2行以上的电路bs[1]至电路bs[n]。
[0250]
包括在上述阵列部alp、电路ild、电路wld、电路xld、电路afp、电路mp、切换电路tw等的每一个的晶体管的一部分或全部例如优选使用os晶体管。例如,在是优选降低关态电流的晶体管时,具有保持积累在电容器等的电荷的功能的晶体管优选为os晶体管。尤其是,在作为该晶体管使用os晶体管时,os晶体管尤其更优选采用实施方式5所记载的晶体管的结构。作为包括在os晶体管的沟道形成区域中的金属氧化物,例如,可以为选自铟、元素m(元素m为铝、镓、钇或锡)、锌中的一种或多种的材料。特别是,由铟、镓、锌而成的金属氧化物优选是带隙高、本征(也称为i型)或实质上本征的半导体,并且该金属氧化物的载流子浓度优选为1
×
10
18
cm-3
以下,更优选低于1
×
10
17
cm-3
,进一步优选低于1
×
10
16
cm-3
,进一步优选低于1
×
10
13
cm-3
,进一步优选低于1
×
10
12
cm-3
。此外,在沟道形成区域中包括该金属氧化物的os晶体管的每沟道宽度1μm的关态电流可以为10aa(1
×
10-17
a)以下,优选为1aa(1
×
10-18
a)以下,更优选为10za(1
×
10-20
a)以下,进一步优选为1za(1
×
10-21
a)以下,进一步优选为100ya(1
×
10-22
a)以下。另外,在该os晶体管中,金属氧化物的载流子浓度低,所以即使os晶体管的温度产生变化,也保持低关态电流。例如,即使os晶体管的温度为150℃,每沟道宽度1μm的关态电流也可以为100za。
[0251]
注意,本发明的一个方式不局限于上述内容,包括在阵列部alp、电路ild、电路wld、电路xld、电路afp、电路mp、切换电路tw等中的晶体管也可以不是os晶体管。除了os晶体管以外,例如也可以采用在沟道形成区域中包含硅的晶体管(si晶体管)。此外,作为硅,例如,可以使用单晶硅、非晶硅(有时被称为氢化非晶硅)、微晶硅或多晶硅等。另外,作为os晶体管、si晶体管以外的晶体管,例如可以使用在沟道形成区域中含有ge等的晶体管、在沟道形成区域中含有znse、cds、gaas、inp、gan、sige等化合物半导体的晶体管、在沟道形成区域中含有碳纳米管的晶体管、在沟道形成区域中含有有机半导体的晶体管等。
[0252]
注意,关于os晶体管的半导体层的金属氧化物,可以使用包含铟的金属氧化物(例如,in氧化物)或包含锌的金属氧化物(例如,zn氧化物)制造n型半导体,但是从迁移度及可靠性的观点来看,有时难以制造p型半导体。因此,运算电路110、运算电路120、运算电路130、运算电路140、运算电路150、运算电路160、运算电路170也可以具有作为包括在阵列部alp、电路ild、电路wld、电路xld、电路afp、电路mp等中的n沟道型晶体管使用os晶体管并作为p沟道型晶体管使用si晶体管的结构。
[0253]
注意,本实施方式可以与本说明书所示的其他实施方式适当地组合。
[0254]
(实施方式2)在本实施方式中,对在上述实施方式1中说明的电路mp的具体结构例子进行说明。
[0255]
注意,在实施方式1中对电路mp的符号附上表示阵列部alp内的位置的[1,1]、[i,j]、[m,n]等,但是在没有特别的说明的情况下,本实施方式省略对电路mp的符号附上[1,1]、[i,j]、[m,n]等。
[0256]
《结构例子1》首先,说明能够应用于图9b的电路mp的电路结构的例子。图15a所示的电路mp是图
9b的电路mp的结构的一个例子,图15a的电路mp所包括的电路mc例如包括晶体管m1至晶体管m4及电容c1。另外,例如,由晶体管m2及电容c1构成电路hc。
[0257]
在图15a的电路mp中,电路mcr具有与电路mc大致相同的电路结构。因此,为了与电路mc所包括的电路元件区分,对电路mcr所包括的电路元件的符号附上“r”。
[0258]
图15a所示的晶体管m1至晶体管m4例如采用在沟道上下包括栅极的多栅极结构的n沟道型晶体管,晶体管m1至晶体管m4都包括第一栅极及第二栅极。尤其是,作为一个例子,晶体管m3及晶体管m4的每一个的尺寸优选相同。注意,在本说明书等中,为了方便起见,例如将第一栅极记为栅极(有时记为前栅极),将第二栅极记为背栅极来进行区分,但是第一栅极和第二栅极可以相互调换。因此,在本说明书等中,“栅极”可以记为“背栅极”。同样地,“背栅极”可以记为“栅极”。具体而言,“栅极与第一布线电连接且背栅极与第二布线电连接”的连接结构可以调换为“背栅极与第一布线电连接且栅极与第二布线电连接”的连接结构。例如,如图15b所示,晶体管m1的背栅极也可以与电容c1的第一端子及晶体管m2的第一端子电连接。
[0259]
另外,本发明的一个方式的半导体装置不取决于晶体管的背栅极的连接结构。在图15a所示的晶体管m1至晶体管m4中示出背栅极而不示出该背栅极的连接关系,但是可以在进行设计时决定该背栅极的电连接点。例如,在包括背栅极的晶体管中,为了提高该晶体管的通态电流,可以使栅极与背栅极电连接。换言之,例如,也可以使晶体管m2的栅极与背栅极电连接。另外,例如,在包括背栅极的晶体管中,为了使该晶体管的阈值电压改变或降低该晶体管的关态电流,设置与外部电路等电连接的布线而通过该外部电路等对晶体管的背栅极供应固定电位或可变电位。除了图15a以外,说明书中的其他部分所记载的晶体管或其他附图表示的晶体管也是同样的。
[0260]
另外,本发明的一个方式的半导体装置不取决于该半导体装置所包括的晶体管的结构。例如,如图15c所示,图15a所示的晶体管m1至晶体管m4也可以为不包括背栅极的结构,即单栅极结构的晶体管。另外,也可以为一部分晶体管包括背栅极且其他一部分晶体管不包括背栅极。除了图15a所示的电路图以外,说明书中的其他部分所记载的晶体管或其他附图表示的晶体管也是同样的。
[0261]
另外,在本说明书等中,作为晶体管可以使用各种结构的晶体管。因此,对使用的晶体管的种类没有限制。作为晶体管的一个例子,可以使用具有单晶硅的晶体管或者具有以非晶硅、多晶硅或微晶(也称为微结晶、纳米晶、半非晶(semi-amorphous))硅等为代表的非单晶半导体膜的晶体管等。或者,可以使用使这些半导体薄膜化的薄膜晶体管(tft)等。tft的使用有各种优点。例如,由于与制造单晶硅的情况相比可以以低温度制造,所以可以实现制造成本的降低或制造装置的大型化。由于可以增大制造装置,所以可以在大型衬底上制造。因此,由于可以同时制造多个显示装置,所以可以以低成本制造。或者,由于制造温度低,所以可以使用耐热性低的衬底。因此,可以在具有透光性的衬底上制造晶体管。或者,可以通过使用形成在具有透光性的衬底上的晶体管来控制显示元件的透光。或者,因为晶体管的膜厚较薄,所以形成晶体管的膜的一部分能够透光。因此,可以提高开口率。
[0262]
作为晶体管的一个例子,可以使用包括化合物半导体(例如,sige、gaas等)或氧化物半导体(例如,zn-o、in-ga-zn-o、in-zn-o、in-sn-o(ito)、sn-o、ti-o、al-zn-sn-o(azto)、in-sn-zn-o等)等的晶体管。或者,可以使用使上述化合物半导体或上述氧化物半
导体薄膜化的薄膜晶体管等。由此,可以降低制造温度,所以例如可以在室温下制造晶体管。其结果是,可以在塑料衬底或薄膜衬底等耐热性低的衬底上直接形成晶体管。此外,不仅可以将这些化合物半导体或氧化物半导体用于晶体管的沟道部分,而且还可以用作其它用途。例如,可以将这些化合物半导体或氧化物半导体用作布线、电阻器、像素电极或具有透光性的电极等。因为可以与晶体管同时沉积或形成上述半导体,所以可以降低成本。
[0263]
作为晶体管的一个例子,可以使用通过喷墨法或印刷法形成的晶体管等。因此,可以以室温制造、以低真空度制造或在大型衬底上制造。因此,即使不使用掩模(掩模版(reticle))也可以进行制造,所以可以容易地改变晶体管的布局。或者,因为可以以不使用抗蚀剂的方式进行制造,所以可以减少材料费,并减少工序数。或者,因为可以只在需要的部分上形成膜,所以与在整个面上沉积之后进行蚀刻的制造方法相比成本较低且不浪费材料。
[0264]
作为晶体管的一个例子,可以使用具有有机半导体、碳纳米管的晶体管等。由此,可以在能够弯曲的衬底上形成晶体管。使用具有有机半导体、碳纳米管等的晶体管的装置能抗冲击。
[0265]
作为晶体管还可以使用其他各种结构的晶体管。例如,作为晶体管,可以使用mos型晶体管、接合型晶体管、双极晶体管等。通过作为晶体管使用mos型晶体管,可以减小晶体管尺寸。因此,可以安装多个晶体管。通过作为晶体管使用双极晶体管,可以使较大的电流流过。因此,可以使电路高速地工作。注意,也可以将mos型晶体管、双极晶体管等形成在一个基板上。由此,可以实现低功耗、小型化、高速工作等。
[0266]
另外,作为晶体管的一个例子,例如也可以采用在活性层上下配置有栅电极的结构的晶体管。通过采用在活性层上下配置有栅电极的结构,多个晶体管并联连接。因此,沟道区域增加,所以可以增大电流值。或者,通过采用在活性层上下配置有栅电极的结构,容易产生耗尽层,因此可以改善s值。
[0267]
另外,作为晶体管的一个例子,也可以采用将栅电极配置在活性层上的结构、将栅电极配置在活性层下的结构、交错结构、反交错结构、将沟道区域分割成多个区域的结构、并联连接活性层的结构或者串联连接活性层的结构等。作为晶体管,可以使用平面型、fin型、tri-gate型、顶栅型、底栅型、双栅型(在沟道上下配置有栅极)等各种结构的晶体管。
[0268]
另外,作为晶体管的一个例子,还可以采用活性层(或其一部分)与源电极和漏电极中的至少一方重叠的结构。通过采用活性层(或其一部分)与源电极和漏电极中的至少一方重叠的结构,可以防止因电荷积累于活性层的一部分而导致的工作不稳定。
[0269]
另外,作为晶体管的一个例子,可以采用设置有ldd区域的结构。通过设置ldd区域,可以降低关态电流或者提高晶体管的耐压性(提高可靠性)。或者,通过设置ldd区域,当晶体管在饱和区域中工作时,即便漏极和源极之间的电压发生变化,漏电流的变化也不太大,从而可以得到倾斜角平坦的电压-电流特性。
[0270]
例如,在本说明书等中,可以使用各种衬底形成晶体管。对衬底的种类没有特别的限制。作为该衬底的一个例子,可以举出半导体衬底(例如,单晶衬底或硅衬底)、soi衬底、玻璃衬底、石英衬底、塑料衬底、蓝宝石玻璃衬底、金属衬底、不锈钢衬底、包含不锈钢箔的衬底、钨衬底、包含钨箔的衬底、柔性衬底、贴合薄膜、包含纤维状材料的纸或基材薄膜等。作为玻璃衬底的一个例子,可以举出钡硼硅酸盐玻璃、铝硼硅酸盐玻璃或钠钙玻璃等。作为
柔性衬底、贴合薄膜、基材薄膜等,可以举出如下例子。例如可以举出以聚对苯二甲酸乙二醇酯(pet)、聚萘二甲酸乙二醇酯(pen)、聚醚砜(pes)、聚四氟乙烯(ptfe)为代表的塑料。或者,作为一个例子,可以举出丙烯酸树脂等合成树脂等。或者,作为一个例子,可以举出聚丙烯、聚酯、聚氟化乙烯或聚氯乙烯等。或者,作为例子,可以举出聚酰胺、聚酰亚胺、芳族聚酰胺、环氧树脂、无机蒸镀薄膜、纸类等。尤其是,通过使用半导体衬底、单晶衬底或soi衬底等制造晶体管,能够制造特性、尺寸或形状等的偏差小、电流能力高且尺寸小的晶体管。当利用上述晶体管构成电路时,可以实现电路的低功耗化或电路的高集成化。
[0271]
另外,作为衬底也可以使用柔性衬底,在该柔性衬底上直接形成晶体管。或者,也可以在衬底与晶体管之间设置剥离层。剥离层可以在如下情况下使用,即在剥离层上制造半导体装置的一部分或全部,然后将其从衬底分离并转置到其他衬底上的情况。此时,也可以将晶体管转置到耐热性低的衬底、柔性衬底等上。另外,作为上述剥离层,例如可以使用钨膜与氧化硅膜的无机膜的叠层结构、衬底上形成有聚酰亚胺等有机树脂膜的结构等。
[0272]
另外,也可以使用一个衬底形成晶体管,然后将该晶体管转置到另一个衬底上。作为转置晶体管的衬底,除了上述可以设置晶体管的衬底之外,还可以使用纸衬底、玻璃纸衬底、芳族聚酰胺薄膜衬底、聚酰亚胺薄膜衬底、石材衬底、木材衬底、布衬底(包括天然纤维(丝、棉、麻)、合成纤维(尼龙、聚氨酯、聚酯)或再生纤维(醋酯纤维、铜氨纤维、人造纤维、再生聚酯)等)、皮革衬底、橡胶衬底等。通过使用上述衬底,可以实现特性良好的晶体管、功耗低的晶体管、不易损坏的装置、耐热性的提高、轻量化或薄型化。
[0273]
另外,可以在相同的衬底(例如,玻璃衬底、塑料衬底、单晶衬底或soi衬底等)上形成为了实现指定的功能所需要的所有电路。如此,可以通过减少部件数量降低成本,或者可以通过减少与电路部件之间的连接数量提高可靠性。
[0274]
注意,也可以将为了实现指定的功能所需要的所有电路不形成在相同的衬底上。换言之,也可以将为了实现指定的功能所需要的电路的一部分形成在某个衬底上,并且将为了实现指定的功能所需要的电路的另一部分形成在另一衬底上。例如,也可以将为了实现指定的功能所需要的电路的一部分形成在玻璃衬底上,并且将为了实现指定的功能所需要的电路的另一部分形成在单晶衬底(或soi衬底)上。并且,也可以通过cog(chiponglass:玻璃覆晶封装)将形成为了实现指定的功能所需要的电路的另一部分的单晶衬底(也称为ic芯片)连接到玻璃衬底,从而在玻璃衬底上配置该ic芯片。或者,也可以使用tab(tape automated bonding:卷带自动结合)、cof(chip on film:薄膜上芯片)、smt(surface mount technology:表面贴装技术)或印刷电路板等使该ic芯片和玻璃衬底连接。如此,通过使电路的一部分与像素部形成在同一衬底上,可以通过减少部件数量降低成本,或者可以通过减少与电路部件之间的连接数量提高可靠性。尤其是,在很多情况下,驱动电压高的部分的电路或者驱动频率高的部分的电路等的功耗高。于是,将该电路与像素部形成在不同的衬底(例如,单晶衬底)上,以构成ic芯片。通过使用该ic芯片,可以防止功耗的增高。
[0275]
在图15a的电路mp中,晶体管m1的第一端子与布线ve电连接。晶体管m1的第二端子与晶体管m3的第一端子、晶体管m4的第一端子电连接。晶体管m1的栅极与电容c1的第一端子、晶体管m2的第一端子电连接。电容c1的第二端子与布线ve电连接。晶体管m2的第二端子与布线ol电连接。晶体管m2的栅极与布线wl电连接。晶体管m3的第二端子与布线ol电连接,晶体管m3的栅极与布线wx1l电连接。晶体管m4的第二端子与布线olb电连接,晶体管m4的栅
极与布线x2l电连接。
[0276]
对电路mcr中的与电路mc不同的连接结构进行说明。晶体管m3r的第二端子与布线olb电连接而不与布线ol电连接,晶体管m4r的第二端子与布线ol电连接而不与布线olb电连接。晶体管m1r的第一端子及电容c1r的第一端子与布线ver电连接。
[0277]
注意,如图16a所示,晶体管m1的第一端子也可以不与布线ve电连接而与作为其他布线的布线vem电连接。另外,同样地,晶体管m1r的第一端子也可以不与布线ver电连接而与作为其他布线的布线vemr电连接。注意,除了图16a以外,还在其他附图的电路图中,晶体管m1的第一端子不与布线ve电连接而与其他布线vem电连接及/或晶体管m1r的第一端子不与布线ver电连接而与其他布线vemr电连接。
[0278]
注意,在图15a所示的电路hc中,将晶体管m1的栅极、电容c1的第一端子与晶体管m2的第一端子电连接点记为节点n1。
[0279]
如实施方式1说明,电路hc例如具有保持对应于第一数据的电位的功能。通过在使晶体管m2及晶体管m3处于开启状态时从布线ol输入该电位而对电容c1写入然后使晶体管m2处于关闭状态,包括在图15a的电路mc中的电路hc保持该电位。由此,可以将节点n1的电位作为对应于第一数据的电位保持。此时,从布线ol输入电流,可以在电容c1保持对应于该电流的大小的电位。因此,可以减少晶体管m1的电流特性的偏差的影响。
[0280]
另外,为了长期间保持节点n1的电位,晶体管m1优选使用关态电流低的晶体管。作为关态电流低的晶体管,例如可以使用os晶体管。另外,也可以作为晶体管m1使用包括背栅极的晶体管,对背栅极施加低电平电位而使阈值电压向正一侧漂移,来降低关态电流。
[0281]
为了在后面说明的工作例子中简单地说明输入到电路mp或从电路mp输出的电流,将图15a所示的布线ol的两端分别记为节点ina、节点outa,将布线olb的两端分别记为节点inb、节点outb。
[0282]
布线ve例如被用作供应恒电压的布线。作为该恒电压,在晶体管m3、晶体管m3r、晶体管m4或晶体管m4r为n沟道型晶体管时及/或在图8a至图8d中布线vso所供应的电位为高电平电位时,例如,可以为低电平电位的vss、接地电位或这些以外的低电平电位等。此外,布线vem、布线ver、布线vemr的每一个与布线ve同样地被用作供应恒电压的电压线,作为该恒电压可以为低电平电位的vss、vss以外的低电平电位、接地电位等。另外,作为该恒电压也可以为高电平电位的vdd。此时,在作为运算电路110、运算电路120、运算电路130、运算电路140、运算电路150、运算电路160的电路actf[1]至电路actf[n]使用图5a至图5e、图6a至图6d、图6f中的任一个时,与电路actf[1]至电路actf[n]电连接的布线val所供应的恒电压优选为比布线ve、布线ver所供应的电位vdd高的电位。
[0283]
布线ve、布线vem、布线ver及布线vemr的每一个所供应的恒电压也可以为彼此不同,也可以为一部分或全部同一。此外,在各布线所供应的电压同一时,选择这些布线并将其用作同一布线即可。例如,在布线ve、布线vem、布线ver及布线vemr的每一个所供应的恒电压几乎相等时,如图16b的电路mp,布线vem、布线ver及布线vemr可以为与布线ve同一的布线。或者,例如,在布线ve及布线ver的每一个所供应的恒电压几乎相等时,可以将布线ve与布线ver组合为一个布线。或者,例如,在布线vem、布线vemr的每一个所供应的恒电压几乎相等时,可以将布线vem与布线vemr组合为一个布线。同样地,在图16a中,例如,也可以将布线ve与布线ver组合为一个布线且将布线vem与布线vemr组合为一个布线。或者,例如,也
可以将布线ve与布线vemr组合为一个布线且将布线vem与布线ver组合为一个布线。
[0284]
另外,图15a的电路mp的结构可以根据情况改变。例如,如图17a所示,也可以将图15a的电路mp的晶体管m1、晶体管m1r、晶体管m3、晶体管m3r、晶体管m4、晶体管m4r分别替换为p沟道型晶体管的晶体管m1p、晶体管m1pr、晶体管m3p、晶体管m3pr、晶体管m4p、晶体管m4pr。作为晶体管m3p、晶体管m3pr、晶体管m4p、晶体管m4pr例如可以使用soi(silicon on insulator:绝缘体上硅)结构的p沟道型晶体管。此外,此时,布线ve及布线ver所供应的恒电压优选为高电平电位的vdd。此外,除了上述情况以外,在作为运算电路110、运算电路120、运算电路130、运算电路140、运算电路150及运算电路160的电路actf[1]至电路actf[n]使用图5a至图5e、图6a至图6d、图6f中的任一个电路时,与电路actf[1]至电路actf[n]电连接的布线val所供应的恒电压优选为接地电位或vss。如此,在改变布线的电位时,电流流过的方向也改变。
[0285]
另外,同样地,晶体管m2也可以替换为p沟道型的晶体管(未图示)。
[0286]
另外,例如,如图17b所示,将图15a的电路mp的晶体管m4、m4r分别替换为p沟道型晶体管的晶体管m4p、m4pr。此外,通过将与晶体管m3、晶体管m3r、晶体管m4p、晶体管m4pr的每一个的栅极连接的布线作为布线wxl组合为一个布线,电路mp可以保持0以外的第一数据(例如,权重系数等)。
[0287]
另外,例如,如图17c所示,也可以将图15a的电路mp的晶体管m3、晶体管m3r、晶体管m4、晶体管m4r分别替换为模拟开关as3、模拟开关as4、模拟开关as3r、模拟开关as4r。另外,图17c还示出用来使模拟开关as3、模拟开关as4、模拟开关as3r及模拟开关as4r工作的布线wx1lb及布线x2lb。布线wx1lb与模拟开关as3及模拟开关as3r电连接,布线x2lb与模拟开关as4及模拟开关as4r电连接。对布线wx1lb输入输入到布线wx1l的信号的反转信号,对布线x2lb输入输入到布线x2l的信号的反转信号。另外,也可以将布线wx1l与布线x2l组合为一个布线且将布线wx1lb与及布线x2lb组合为一个布线(未图示)。另外,例如,模拟开关as3、模拟开关as4、模拟开关as3r及模拟开关as4r也可以采用使用n沟道型晶体管及p沟道型晶体管的cmos结构。
[0288]
图15a至图15c、图16a及图16b所示的晶体管m3、晶体管m3r、晶体管m4及晶体管m4r的尺寸例如沟道长度及沟道宽度优选彼此相同。通过采用上述电路结构,有可能有效地进行布局。此外,有可能可以使在晶体管m3、晶体管m3r、晶体管m4及晶体管m4r中流过的电流一致。此外,同样地,图15a至图15c、图16a及图16b所示的晶体管m1及晶体管m1r的尺寸优选彼此相同。此外,同样地,图15a至图15c、图16a及图16b所示的晶体管m2、晶体管m2r的尺寸优选彼此相同。另外,同样地,图17a所示的晶体管m1p及晶体管m1pr的尺寸优选彼此相同。此外,同样地,图17a所示的晶体管m3p、晶体管m3pr、晶体管m4p及晶体管m4pr的尺寸优选彼此相同。
[0289]
《《工作例子》》接着,对图15a所示的电路mp的工作例子进行说明。图18a至图18c、图19a至图19c以及图20a至图20c是示出电路mp的工作例子的时序图,其分别示出布线wl、布线wx1l、布线x2l、节点n1、节点n1r的电位的变动。注意,图18a至图18c、图19a至图19c以及图20a至图20c所记载的high示出高电平电位,low示出低电平电位。此外,在本工作例子中,从布线ol向节点outa(或者从节点outa向布线ol)输出的电流量记为i
ol
。此外,从布线olb向节点outb(或
者从节点outb向布线olb)输出的电流量记为i
olb
。图18a至图18c、图19a至图19c以及图20a至图20c所示的时序图还示出i
ol
、i
olb
的变化量。
[0290]
注意,在本工作例子中,将布线ve及布线ver所供应的恒电压设定为vss(低电平电位)。此时,在图8a至图8d中,对布线vso供应高电平电位,电流从布线vso通过切换电路tw、布线ol向布线ve或布线ver流过。同样地,电流从布线vso通过切换电路tw、布线olb向布线ve或布线ver流过。
[0291]
在本工作例子中,在图8a中,将布线vcn所供应的电位设定为vss。通过使布线vcn与晶体管m1的第二端子之间处于导通状态,对晶体管m1的第二端子供应vss。后面详细说明,此时由于晶体管m1的栅极的电位也成为vss,因此晶体管m1处于关闭状态。同样地,通过使布线vcn与晶体管m1r的第二端子之间处于导通状态,晶体管m1r的第二端子及栅极的电位成为vss,晶体管m1r处于关闭状态。
[0292]
在图15a所示的电路mp中,在晶体管m2及晶体管m3处于开启状态时,晶体管m1具有二极管连接的结构。因此,在电流从布线ol向电路mc流过时,晶体管m1的第二端子与晶体管m1的栅极的每一个的电位几乎相等。该电位根据从布线ol向电路mc流过的电流量及晶体管m1的第一端子的电位(这里vss)等决定。这里,在电容c1中保持晶体管m1的栅极的电位,然后使晶体管m2处于关闭状态,由此晶体管m1被用作根据晶体管m1的栅极的电位流过电流的电流源。因此,可以减少晶体管m1的电流特性的偏差的影响。
[0293]
例如,当在晶体管m2及晶体管m3处于开启状态下i1的电流量从布线ol通过电路mc向布线ve流过时,晶体管m1的栅极(节点n1)的电位成为v1。这里,通过使晶体管m2处于关闭状态,v1被电路hc保持。由此,晶体管m1可以将晶体管m1的第一端子的电位vss及对应于晶体管m1的栅极的电位v1的电流量的i1向晶体管m1的源极与漏极间流过。在本说明书等中,将这种工作称为“在晶体管m1中将晶体管m1的源极与漏极间流过的电流量设定为i
1”、“在晶体管m1中将晶体管m1的源极与漏极间流过的电流量被编程为i
1”等。
[0294]
在本工作例子中,从布线ol向电路mc流过的电流量为0、i1、i2的三种。因此,晶体管m1的电流量被设定为0、i1、i2的三种。例如,在保持在电路hc中的晶体管m1的栅极的电位为vss时,由于晶体管m1的第一端子、第二端子的每一个的电位也为vss,因此若晶体管m1的阈值电压高于0,则晶体管m1处于关闭状态。因此,由于电流不在晶体管m1的源极与漏极间流过,因此可以说在晶体管m1的源极与漏极间流过的电流量被设定为0。此外,例如,在保持在电路hc中的晶体管m1的栅极的电位为v1时,若晶体管m1的阈值电压低于v
1-vss,则晶体管m1成为开启状态。此时,在晶体管m1中流过的电流量为i1。因此,在晶体管m1的栅极的电位为v1时,可以说流在晶体管m1的源极与漏极间的电流量被设定为i1。另外,例如,在保持在电路hc中的晶体管m1的栅极的电位为v2时,若晶体管m1的阈值电压低于v
2-vss,则晶体管m1成为开启状态。此时,在晶体管m1中流过的电流量为i2。因此,在晶体管m1的栅极的电位为v2时,可以说流在晶体管m1的源极与漏极间的电流量被设定为i2。
[0295]
注意,i1的电流量大于0且小于i2。此外,电位v1高于vss且低于v2。另外,晶体管m1的阈值电压高于0且低于v
1-vss。另外,i1例如可以替换为图8a的说明中的恒流源电路isc1所生成的i
ut
,i2例如可以替换为图8a的说明中的恒流源电路isc2所生成的2i
ut

[0296]
在说明工作例子之前,电路mp所保持的第一数据(例如,这里是权重系数)定义为如下。当在电路hc的节点n1保持vss且在电路hcr的节点n1r保持vss时,电路mp作为第一数
据(权重系数)保持“0”。当在电路hc的节点n1保持v1且在电路hcr的节点n1r保持vss时,电路mp作为第一数据(权重系数)保持“+1”。当在电路hc的节点n1保持v2且在电路hcr的节点n1r保持vss时,电路mp作为第一数据(权重系数)保持“+2”。当在电路hc的节点n1保持vss且在电路hcr的节点n1r保持v1时,电路mp作为第一数据(权重系数)保持
“‑
1”。当在电路hc的节点n1保持vss且在电路hcr的节点n1r保持v2时,电路mp作为第一数据(权重系数)保持
“‑
2”。
[0297]
输入到电路mp的第二数据(例如,这里是神经元的信号的值(运算值))例如定义为如下。在对布线wx1l施加高电平电位且对布线x2l施加低电平电位时,对电路mp作为第二数据(神经元的信号的值)输入“+1”。在对布线wx1l施加低电平电位且对布线x2l施加高电平电位时,对电路mp作为第二数据(神经元的信号的值)输入
“‑
1”。在对布线wx1l施加低电平电位且对布线x2l施加低电平电位时,对电路mp作为第二数据(神经元的信号的值)输入“0”。注意,例如,高电平电位为vdd、比vdd高10%以上或20%以上的电位。
[0298]
另外,在本说明书等中,在没有特别的说明的情况下,晶体管m1及晶体管m1r在开启状态下有时最终在饱和区域中工作。也就是说,对上述各晶体管的栅极电压、源极电压及漏极电压有时进行适当的偏压,使得该晶体管在饱和区域中工作。注意,本发明的一个方式不局限于此。为了减小所供应的电压的振幅值,晶体管m1及晶体管m1r也可以在线性区域中工作。另外,为了减小流过晶体管m1及晶体管m1r的电流量,晶体管m1及晶体管m1r也可以在亚阈值区域中工作。或者,晶体管m1及晶体管m1r也可以在饱和区域与亚阈值区域之边界附近工作。另外,在第一数据(权重系数)为模拟值时,根据第一数据(权重系数)的大小,晶体管m1及晶体管m1r例如也可以在线性区域、饱和区域以及亚阈值区域中工作。或者,晶体管m1及晶体管m1r也可以在线性区域以及饱和区域中工作、在亚阈值区域以及线性区域中工作、或者在饱和区域以及亚阈值区域中工作。
[0299]
另外,在本说明书等中,在没有特别的说明的情况下,晶体管m2、晶体管m2r、晶体管m3、晶体管m3r、晶体管m4及晶体管m4r在开启状态下有时最终在线性区域中工作。也就是说,对上述各晶体管的栅极电压、源极电压及漏极电压有时进行适当的偏压,使得该晶体管在线性区域中工作。注意,本发明的一个方式不局限于此。例如,晶体管m2、晶体管m2r、晶体管m3、晶体管m3r、晶体管m4及晶体管m4r在开启状态下可以在饱和区域中工作,也可以在亚阈值区域中工作。或者,晶体管m2、晶体管m2r、晶体管m3、晶体管m3r、晶体管m4及晶体管m4r也可以在饱和区域与亚阈值区域之边界附近工作。或者,晶体管m2、晶体管m2r、晶体管m3、晶体管m3r、晶体管m4及晶体管m4r也可以在线性区域以及饱和区域中工作、在饱和区域以及亚阈值区域中工作、在亚阈值区域以及线性区域中工作、或者在线性区域、饱和区域以及亚阈值区域中工作。
[0300]
以下按第一数据(例如,以下是权重系数)及第二数据(例如,以下是神经元的信号的值(运算值)等)的每一个所取得的值的组合说明电路mp的工作例子。
[0301]
[条件1]首先,作为一个例子,考虑第一数据(权重系数)为“0”且输入到电路mp的第二数据(神经元的信号的值(运算值))为“+1”的情况。图18a是此时的电路mp的时序图。
[0302]
在时刻t1至时刻t2的期间在电路hc及电路hcr中保持初始电位。在图18a中,例如,在节点n1、节点n1r作为初始电位保持比电位vss高的电位。
[0303]
对布线wl、布线wx1l、布线x2l施加低电平电位。由此,由于对晶体管m2、晶体管m2r、晶体管m3、晶体管m3r、晶体管m4及晶体管m4r的每一个的栅极输入低电平电位,所以晶体管m2、晶体管m2r、晶体管m3、晶体管m3r、晶体管m4及晶体管m4r的每一个处于关闭状态。
[0304]
在时刻t2至时刻t3的期间,对布线wl及布线wx1l施加高电平电位。由此,由于对晶体管m2、晶体管m2r、晶体管m3、晶体管m3r的每一个的栅极输入高电平电位,所以晶体管m2、晶体管m2r、晶体管m3及晶体管m3r都处于开启状态。
[0305]
此外,虽然在图18a中未图示,但是对布线ol及布线olb的每一个作为初始化电位施加v
ini
。由于晶体管m2、晶体管m2r、晶体管m3及晶体管m3r的每一个处于开启状态,所以电路hc的节点n1及电路hcr的节点n1r的每一个的电位成为v
ini
。也就是说,在时刻t2至时刻t3的期间,进行电路hc的节点n1及电路hcr的节点n1r的每一个的电位的初始化。
[0306]
注意,作为初始化电位的v
ini
例如优选为接地电位。此外,作为初始化电位的v
ini
,也可以为vss、比接地电位高的电位或比接地电位低的电位。此外,对布线ol及布线olb的每一个施加的初始化电位v
ini
也可以为彼此不同的电位。注意,也可以不对布线ol及布线olb的每一个输入初始化电位v
ini
。注意,不一定必需设置时刻t2至时刻t3的期间。或者,不一定必需在时刻t2至时刻t3的期间进行初始化。
[0307]
在时刻t3至时刻t4的期间,从布线ol对电路mc输入电位vss,从布线olb对电路mcr输入电位vss。该工作在图8a中使开关swl及开关swlb处于开启状态且使开关swi、开关swib、开关swo、开关swob、开关swh及开关swhb处于关闭状态进行。由此,电路hc的节点n1的电位为vss,电路hcr的节点n1r的电位为vss。由此,由于在电路mc中将晶体管m1设定为被提供电流量0,所以电流不从布线ol通过电路mc向布线ve流过。此外,由于在电路mcr中将晶体管m1r设定为被提供电流量0,所以电流不从布线olb通过电路mcr向布线ver流过。换言之,在时刻t3至时刻t4的期间,由于晶体管m1、晶体管m1r处于关闭状态,所以在布线ol与布线ve之间成为非导通状态,在布线olb与布线ver之间成为非导通状态。
[0308]
在时刻t4至时刻t5的期间,对布线wl及布线wx1l施加低电平电位。由此,由于对晶体管m2、晶体管m2r、晶体管m3、晶体管m3r的每一个的栅极输入低电平电位,所以晶体管m2、晶体管m2r、晶体管m3、晶体管m3r都处于关闭状态。通过晶体管m2、晶体管m2r成为关闭状态,保持保持部hc的节点n1的电位vss,且保持保持部hcr的节点n1r的电位vss。此外,通过晶体管m3成为关闭状态,电流不从布线ol通过电路mc向布线ve流过。另外,同样地,通过晶体管m3r成为关闭状态,电流不从布线olb通过电路mcr向布线ver流过。
[0309]
通过时刻t1至时刻t5的工作,作为电路mp的第一数据(权重系数)设定“0”。在电路mp中设定第一数据(权重系数)之后,在图8a中,也可以使开关swi、开关swib、开关swo、开关swob、开关swl及开关swlb处于关闭状态。注意,在电路mp中设定权重系数之后(例如在时刻t4至时刻t5的期间等),也可以使开关swh及开关swhb处于开启状态而将布线ol及布线olb的电位预充电至布线vcn2所供应的电位(例如可以使其为高电平电位)。在将布线ol及布线olb的电位预充电至高电平电位之后,也可以使开关swh及开关swhb处于关闭状态。
[0310]
在时刻t5以后,作为对电路mp的神经元的信号(运算值)“+1”的输入,对布线wx1l输入高电平电位,对布线x2l输入低电平电位。此时,对晶体管m3及晶体管m3r的每一个的栅极输入高电平电位,对晶体管m4及晶体管m4r的每一个的栅极输入低电平电位。因此,晶体管m3及晶体管m3r都成为开启状态,晶体管m4及晶体管m4r都成为关闭状态。也就是说,通过
该工作,在电路mc与布线ol之间及在电路mcr与布线olb之间成为导通状态,在电路mc与布线olb之间及在电路mcr与布线ol之间成为非导通状态。
[0311]
此时,在图8a中,使开关swo及开关swob处于开启状态,使开关swi、开关swib、开关swl、开关swlb、开关swh及开关swhb处于关闭状态,在布线ol及布线olb的每一个与电路afp之间处于导通状态。注意,由于晶体管m1处于关闭状态(设定为被提供电流量0),所以在电路mc中电流不在布线ol及布线olb与布线ve之间流过。同样地,由于晶体管m1r处于关闭状态(设定为被提供电流量0),所以在电路mcr中电流不在布线ol及布线olb与布线ver之间流过。如上所述,从布线ol的节点outa输出的电流i
ol
及从布线olb的节点outb输出的电流i
olb
在时刻t5前后不变化。因此,电流i
ol
不在电路afp与布线ol之间流过,且电流i
olb
不在电路afp与布线olb之间流过。
[0312]
在本条件中,由于第一数据(权重系数)为“0”且输入到电路mp的第二数据(神经元的信号的值(运算值))为“+1”,所以在使用算式(1.1)时第一数据(权重系数)与第二数据(神经元的信号的值)之积为“0”。第一数据(权重系数)与第二数据(神经元的信号的值)之积为“0”的结果对应于在电路mp的工作中在时刻t5以后电流i
ol
及电流i
olb
都不变化的情况。注意,第一数据(权重系数)与第二数据(神经元的信号的值)之积为“0”的结果在图8a中从电路afp作为信号z
j(k)
输出。
[0313]
注意,通过一旦输入第一数据(例如,权重系数等)就不更新该数据的值而只改变第二数据(神经元的信号的值或运算值等),可以进行多个积和运算处理。在此情况下,不需要第一数据(权重系数)的更新,所以可以降低功耗。另外,为了减少第一数据(权重系数)的更新频率,需要长期间保持第一数据(权重系数)。此时,例如在使用os晶体管时,由于关态电流低,所以可以长期间保持第一数据(权重系数)。
[0314]
[条件2]接着,作为一个例子,考虑第一数据(权重系数)为“+1”且输入到电路mp的第二数据(神经元的信号的值(运算值))为“+1”的情况。图18b是此时的电路mp的时序图。
[0315]
因为条件2的时刻t1至时刻t3的期间的工作与条件1的时刻t1至时刻t3的期间的工作相同,所以参照条件1的时刻t1至时刻t3的期间的工作的说明。
[0316]
在时刻t3至时刻t4的期间,从布线ol对电路mc作为电流量输入i1,从布线olb对电路mcr输入电位vss。该工作在图8a中使开关swi及开关swlb处于开启状态且使开关swib、开关swo、开关swob、开关swh及开关swhb处于关闭状态进行。由此,电路hc的节点n1的电位为v1,电路hcr的节点n1r的电位为vss。由此,由于在电路mc中将晶体管m1设定为被提供电流量i1,所以电流量i1从布线ol通过电路mc向布线ve流过。此外,由于在电路mcr中将晶体管m1r设定为被提供电流量0,所以电流不从布线olb通过电路mcr向布线ver流过。
[0317]
在时刻t4至时刻t5的期间,对布线wl及布线wx1l施加低电平电位。由此,由于对晶体管m2、晶体管m2r、晶体管m3、晶体管m3r的每一个的栅极输入低电平电位,所以晶体管m2、晶体管m2r、晶体管m3、晶体管m3r都处于关闭状态。通过晶体管m2、晶体管m2r成为关闭状态,保持电路hc的节点n1的电位v1,且保持电路hcr的节点n1r的电位vss。此外,通过晶体管m3成为关闭状态,电流不从布线ol通过电路mc向布线ve流过。另外,同样地,通过晶体管m3r成为关闭状态,电流不从布线olb通过电路mcr向布线ver流过。
[0318]
通过时刻t1至时刻t5的工作,作为电路mp的第一数据(权重系数)设定“+1”。在电
路mp中设定第一数据(权重系数)之后,在图8a中,也可以使开关swi、开关swib、开关swo、开关swob、开关swl及开关swlb处于关闭状态。注意,在电路mp中设定第一数据(权重系数)之后,也可以使开关swh及开关swhb处于开启状态而将布线ol及布线olb的电位预充电至布线vcn2所供应的电位(例如可以使其为高电平电位)。在将布线ol及布线olb的电位预充电至高电平电位之后,也可以使开关swh及开关swhb处于关闭状态。
[0319]
在时刻t5以后,作为对电路mp的第二数据(神经元的信号的值(运算值))“+1”的输入,对布线wx1l输入高电平电位,对布线x2l输入低电平电位。此时,对晶体管m3及晶体管m3r的每一个的栅极输入高电平电位,对晶体管m4及晶体管m4r的每一个的栅极输入低电平电位。因此,晶体管m3及晶体管m3r都成为开启状态,晶体管m4及晶体管m4r都成为关闭状态。也就是说,通过该工作,在电路mc与布线ol之间及在电路mcr与布线olb之间成为导通状态,在电路mc与布线olb之间及在电路mcr与布线ol之间成为非导通状态。
[0320]
此时,在图8a中,使开关swo及开关swob处于开启状态,使开关swi、开关swib、开关swl、开关swlb、开关swh及开关swhb处于关闭状态,在布线ol及布线olb的每一个与电路afp之间处于导通状态。由于在电路mc中晶体管m3成为开启状态且晶体管m1r成为开启状态(设定为被提供电流量i1,并且晶体管m1的第二端子被输入布线ol的电位),在布线ol至布线ve之间电流流过。此外,由于在电路mc中晶体管m4处于关闭状态,所以在布线olb至布线ve之间电流不流过。另一方面,由于在电路mcr中晶体管m3r处于开启状态而晶体管m1处于关闭状态(设定为被提供电流量0),所以在布线olb至布线ver之间电流不流过。此外,由于在电路mcr中晶体管m4r处于关闭状态,所以在布线ol至布线ver之间电流不流过。如上所述,从布线ol的节点outa输出的电流i
ol
在经过时刻t5之后增加i1,从布线olb的节点outb输出的电流i
olb
在时刻t5前后不变化。因此,在电路afp与布线ol之间电流量i1的电流i
ol
流过,且在电路afp与布线olb之间电流i
olb
不流过。
[0321]
在本条件中,由于第一数据(权重系数)为“+1”且输入到电路mp的第二数据(神经元的信号的值)为“+1”,所以在使用算式(1.1)时第一数据(权重系数)与第二数据(神经元的信号的值)之积为“+1”。第一数据(权重系数)与第二数据(神经元的信号的值)之积为“+1”的结果对应于在电路mp的工作中在时刻t5以后电流i
ol
增加i1且电流i
olb
不变化的情况。注意,第一数据(权重系数)与第二数据(神经元的信号的值)之积为“+1”的结果在图8a中从电路afp作为信号z
j(k)
输出。
[0322]
注意,在本条件的时刻t3至时刻t4的期间,例如,通过将从布线ol向电路mc流过的电流设定为i2而不是i1,可以在电路hc保持v2。由此,作为电路mp的第一数据(权重系数)设定“+2”。当将第一数据(权重系数)设定为“+2”,且将输入到电路mp的神经元的信号设定为“+1”时,通过算式(1.1)第一数据(权重系数)与第二数据(神经元的信号的值)之积为“+2”。第一数据(权重系数)与第二数据(神经元的信号的值)之积为“+2”的结果对应于在电路mp的工作中在时刻t5以后电流i
ol
增加i2而电流i
olb
不变化的情况。如此,在电路mcr中在电路hcr保持vss,且在电路mc中设定电流量i1以外的电流量,作为电路mp的第一数据(权重系数)设定“+1”以外的正值。
[0323]
[条件3]接着,作为一个例子,考虑第一数据(权重系数)为
“‑
1”且输入到电路mp的第二数据(神经元的信号的值(运算值))为“+1”的情况。图18c是此时的电路mp的时序图。
[0324]
因为条件3的时刻t1至时刻t3的期间的工作与条件1的时刻t1至时刻t3的期间的工作相同,所以参照条件1的时刻t1至时刻t3的期间的工作的说明。
[0325]
在时刻t3至时刻t4的期间,从布线ol对电路mc输入电位vss,从布线olb对电路mcr作为电流量输入i1。该工作在图8a中使开关swib及开关swl处于开启状态且使开关swi、开关swo、开关swob、开关swlb、开关swh及开关swhb处于关闭状态进行。由此,电路hc的节点n1的电位为vss,电路hcr的节点n1r的电位为v1。由此,由于在电路mc中将晶体管m1设定为被提供电流量0,所以电流不从布线ol通过电路mc向布线ve流过。此外,由于在电路mcr中将晶体管m1r设定为被提供电流量i1,所以电流量i1从布线olb通过电路mcr向布线ver流过。
[0326]
在时刻t4至时刻t5的期间,对布线wl及布线wx1l施加低电平电位。由此,由于对晶体管m2、晶体管m2r、晶体管m3、晶体管m3r的每一个的栅极输入低电平电位,所以晶体管m2、晶体管m2r、晶体管m3、晶体管m3r都处于关闭状态。通过晶体管m2、晶体管m2r成为关闭状态,保持电路hc的节点n1的电位vss,且保持电路hcr的节点n1r的电位v1。此外,通过晶体管m3成为关闭状态,电流不从布线ol通过电路mc向布线ve流过。另外,同样地,通过晶体管m3r成为关闭状态,电流不从布线olb通过电路mcr向布线ver流过。
[0327]
通过时刻t1至时刻t5的工作,作为电路mp的第一数据(权重系数)设定
“‑
1”。在电路mp中设定第一数据(权重系数)之后,在图8a中,也可以使开关swi、开关swib、开关swo、开关swob、开关swl及开关swlb处于关闭状态。注意,在电路mp中设定第一数据(权重系数)之后,也可以使开关swh及开关swhb处于开启状态而将布线ol及布线olb的电位预充电至布线vcn2所供应的电位(例如可以使其为高电平电位)。在将布线ol及布线olb的电位预充电至高电平电位之后,也可以使开关swh及开关swhb处于关闭状态。
[0328]
在时刻t5以后,作为对电路mp的第二数据(神经元的信号的值(运算值))“+1”的输入,对布线wx1l输入高电平电位,对布线x2l输入低电平电位。此时,对晶体管m3及晶体管m3r的每一个的栅极输入高电平电位,对晶体管m4及晶体管m4r的每一个的栅极输入低电平电位。因此,晶体管m3及晶体管m3r都成为开启状态,晶体管m4及晶体管m4r都成为关闭状态。也就是说,通过该工作,在电路mc与布线ol之间及在电路mcr与布线olb之间成为导通状态,在电路mc与布线olb之间及在电路mcr与布线ol之间成为非导通状态。
[0329]
此时,在图8a中,使开关swo及开关swob处于开启状态,使开关swi、开关swib、开关swl、开关swlb、开关swh及开关swhb处于关闭状态,在布线ol及布线olb的每一个与电路afp之间处于导通状态。由于在电路mc中晶体管m3处于开启状态且晶体管m1处于关闭状态(设定为被提供电流量0),在布线ol至布线ve之间电流不流过。此外,由于在电路mc中晶体管m4处于关闭状态,所以在布线olb至布线ve之间电流不流过。另一方面,由于在电路mcr中晶体管m3r成为开启状态且晶体管m1r成为开启状态(设定为被提供电流量i1,并且晶体管m1r的第二端子被输入布线olb的电位),所以在布线olb至布线ver之间电流流过。此外,由于在电路mcr中晶体管m4r处于关闭状态,所以在布线ol至布线ver之间电流不流过。如上所述,从布线ol的节点outa输出的电流i
ol
在时刻t5前后不变化,从布线olb的节点outb输出的电流i
olb
在经过时刻t5之后增加i1。因此,在电路afp与布线ol之间电流i
ol
不流过,且在电路afp与布线olb之间电流量i1的电流i
olb
流过。
[0330]
在本条件中,由于第一数据(权重系数)为
“‑
1”且输入到电路mp的第二数据(神经元的信号的值(运算值))为“+1”,所以在使用算式(1.1)时第一数据(权重系数)与第二数据
(神经元的信号的值)之积为
“‑
1”。第一数据(权重系数)与第二数据(神经元的信号的值)之积为
“‑
1”的结果对应于在电路mp的工作中在时刻t5以后电流i
ol
不变化且电流i
olb
增加i1的情况。注意,第一数据(权重系数)与第二数据(神经元的信号的值)之积为
“‑
1”的结果在图8a中从电路afp作为信号z
j(k)
输出。
[0331]
注意,在本条件的时刻t3至时刻t4的期间,例如,通过将从布线olb向电路mcr流过的电流设定为i2而不是i1,可以在电路hcr保持v2。由此,作为电路mp的第一数据(权重系数)设定
“‑
2”。当将第一数据(权重系数)设定为
“‑
2”,且将输入到电路mp的第二数据(神经元的信号的值)设定为“+1”时,通过算式(1.1)第一数据(权重系数)与第二数据(神经元的信号的值)之积为
“‑
2”。第一数据(权重系数)与第二数据(神经元的信号的值)之积为
“‑
2”的结果对应于在电路mp的工作中在时刻t5以后电流i
ol
不变化而电流i
olb
增加i2的情况。如此,在电路mc中在电路hc保持vss,且在电路mcr中作为电流量设定i1以外的电流量,作为电路mp的权重系数设定
“‑
1”以外的负值。
[0332]
[条件4]在本条件中,作为一个例子,考虑第一数据(权重系数)为“0”且输入到电路mp的第二数据(神经元的信号的值(运算值))为
“‑
1”的情况的电路mp的工作。图19a是此时的电路mp的时序图。
[0333]
因为条件4的时刻t1至时刻t5的期间的工作与条件1的时刻t1至时刻t5的期间的工作相同,所以参照条件1的时刻t1至时刻t5的期间的工作的说明。
[0334]
在时刻t5以后,作为对电路mp的第二数据(神经元的信号的值(运算值))
“‑
1”的输入,对布线wx1l输入低电平电位,对布线x2l输入高电平电位。此时,对晶体管m3及晶体管m3r的每一个的栅极输入低电平电位,对晶体管m4及晶体管m4r的每一个的栅极输入高电平电位。因此,晶体管m3及晶体管m3r都成为关闭状态,晶体管m4及晶体管m4r都成为开启状态。也就是说,通过该工作,在电路mc与布线ol之间及在电路mcr与布线olb之间成为非导通状态,在电路mc与布线olb之间及在电路mcr与布线ol之间成为导通状态。
[0335]
此时,在图8a中,使开关swo及开关swob处于开启状态,使开关swi、开关swib、开关swl及开关swlb处于关闭状态,在布线ol及布线olb的每一个与电路afp之间处于导通状态。注意,由于晶体管m1处于关闭状态(设定为被提供电流量0),所以在电路mc中电流不在布线ol及布线olb与布线ve之间流过。也就是说,从布线ol的节点outa输出的电流i
ol
及从布线olb的节点outb输出的电流i
olb
在时刻t5的前后不变化。同样地,由于晶体管m1r处于关闭状态(设定为被提供电流量0),所以在电路mcr中电流不在布线ol及布线olb与布线ver之间流过。换言之,从布线ol的节点outa输出的电流i
ol
及从布线olb的节点outb输出的电流i
olb
也在时刻t5前后不变化。因此,电流i
ol
不在电路afp与布线ol之间流过,且电流i
olb
不在电路afp与布线olb之间流过。
[0336]
在本条件中,由于第一数据(权重系数)为“0”且输入到电路mp的第二数据(神经元的信号的值(运算值))为
“‑
1”,所以在使用算式(1.1)时第一数据(权重系数)与第二数据(神经元的信号的值)之积为“0”。第一数据(权重系数)与第二数据(神经元的信号的值)之积为“0”的结果对应于在电路mp的工作中在时刻t5以后电流i
ol
及电流i
olb
都不变化的情况,该结果与条件1的电路工作的结果一致。注意,第一数据(权重系数)与第二数据(神经元的信号的值)之积为“0”的结果与条件1同样地在图8a中从电路afp作为信号z
j(k)
输出。
[0337]
[条件5]在本条件中,作为一个例子,考虑第一数据(权重系数)为“+1”且输入到电路mp的第二数据(神经元的信号的值(运算值))为
“‑
1”的情况的电路mp的工作。图19b是此时的电路mp的时序图。
[0338]
因为条件5的时刻t1至时刻t5的期间的工作与条件2的时刻t1至时刻t5的期间的工作相同,所以参照条件2的时刻t1至时刻t5的期间的工作的说明。
[0339]
在时刻t5以后,作为对电路mp的第二数据(神经元的信号的值(运算值))
“‑
1”的输入,对布线wx1l输入低电平电位,对布线x2l输入高电平电位。此时,对晶体管m3及晶体管m3r的每一个的栅极输入低电平电位,对晶体管m4及晶体管m4r的每一个的栅极输入高电平电位。因此,晶体管m3及晶体管m3r都成为关闭状态,晶体管m4及晶体管m4r都成为开启状态。也就是说,通过该工作,在电路mc与布线ol之间及在电路mcr与布线olb之间成为非导通状态,在电路mc与布线olb之间及在电路mcr与布线ol之间成为导通状态。
[0340]
此时,在图8a中,使开关swo及开关swob处于开启状态,使开关swi、开关swib、开关swl、开关swlb、开关swh及开关swhb处于关闭状态,在布线ol及布线olb的每一个与电路afp之间处于导通状态。由于在电路mc中晶体管m3处于关闭状态,所以在布线ol至布线ve之间电流不流过。另外,由于在电路mc中晶体管m4成为开启状态且晶体管m1成为开启状态(设定为被提供电流量i1,并且晶体管m1的第二端子被输入布线ol的电位),在布线olb至布线ve之间电流流过。另一方面,由于在电路mcr中晶体管m3r处于关闭状态,所以在布线olb至布线ver之间电流不流过。此外,由于在电路mcr中晶体管m4r处于开启状态且晶体管m1r处于关闭状态(设定为被提供电流量0),在布线ol至布线ver之间电流不流过。如上所述,从布线ol的节点outa输出的电流i
ol
在时刻t5前后不变化,从布线olb的节点outb输出的电流i
olb
在经过时刻t5之后增加i1。因此,在电路afp与布线ol之间电流i
ol
不流过,且在电路afp与布线olb之间电流量i1的电流i
olb
流过。
[0341]
在本条件中,由于第一数据(权重系数)为“+1”且输入到电路mp的第二数据(神经元的信号的值(运算值))为
“‑
1”,所以在使用算式(1.1)时第一数据(权重系数)与第二数据(神经元的信号的值)之积为
“‑
1”。第一数据(权重系数)与第二数据(神经元的信号的值)之积为
“‑
1”的结果对应于在电路mp的工作中在时刻t5以后电流i
ol
不变化且电流i
olb
增加i1的情况,该结果与条件3的电路工作的结果一致。注意,第一数据(权重系数)与第二数据(神经元的信号的值)之积为
“‑
1”的结果与条件3同样地在图8a中从电路afp作为信号z
j(k)
输出。
[0342]
注意,如也在条件2中说明,在本条件的时刻t3至时刻t4的期间,例如,通过将从布线ol向电路mc流过的电流设定为i2而不是i1,也可以在电路hc保持v2。由此,作为电路mp的第一数据(权重系数)设定“+2”。当将第一数据(权重系数)设定为“+2”,且将输入到电路mp的神经元的信号设定为
“‑
1”时,通过算式(1.1)第一数据(权重系数)与第二数据(神经元的信号的值)之积为
“‑
2”。第一数据(权重系数)与第二数据(神经元的信号的值)之积为
“‑
2”的结果对应于在电路mp的工作中在时刻t5以后电流i
ol
不变化而电流i
olb
增加i2的情况。如此,在电路mcr中在电路hcr保持vss,且在电路mc中设定电流量i1以外的电流量,作为电路mp的权重系数设定“+1”以外的正值。
[0343]
[条件6]在本条件中,作为一个例子,考虑第一数据(权重系数)为
“‑
1”且输入到电路mp的
第二数据(神经元的信号的值(运算值))为
“‑
1”的情况的电路mp的工作。图19c是此时的电路mp的时序图。
[0344]
因为条件6的时刻t1至时刻t5的期间的工作与条件3的时刻t1至时刻t5的期间的工作相同,所以参照条件3的时刻t1至时刻t5的期间的工作的说明。
[0345]
在时刻t5以后,作为对电路mp的第二数据(神经元的信号的值(运算值))
“‑
1”的输入,对布线wx1l输入低电平电位,对布线x2l输入高电平电位。此时,对晶体管m3及晶体管m3r的每一个的栅极输入低电平电位,对晶体管m4及晶体管m4r的每一个的栅极输入高电平电位。因此,晶体管m3及晶体管m3r都成为关闭状态,晶体管m4及晶体管m4r都成为开启状态。也就是说,通过该工作,在电路mc与布线ol之间及在电路mcr与布线olb之间成为非导通状态,在电路mc与布线olb之间及在电路mcr与布线ol之间成为导通状态。
[0346]
此时,在图8a中,使开关swo及开关swob处于开启状态,使开关swi、开关swib、开关swl、开关swlb、开关swh及开关swhb处于关闭状态,在布线ol及布线olb的每一个与电路afp之间处于导通状态。由于在电路mc中晶体管m3处于关闭状态,所以在布线ol至布线ve之间电流不流过。此外,由于在电路mc中晶体管m4处于开启状态而晶体管m1处于关闭状态(设定为被提供电流量0),在布线olb至布线ve之间电流不流过。另一方面,由于在电路mcr中晶体管m3r处于关闭状态,所以在布线olb至布线ver之间电流不流过。此外,由于在电路mcr中晶体管m4r成为开启状态且晶体管m1r成为开启状态(设定为被提供电流量i1,并且晶体管m1r的第二端子被输入布线olb的电位),在布线ol至布线ver之间电流流过。如上所述,从布线ol的节点outa输出的电流i
ol
在经过时刻t5之后增加i1,从布线olb的节点outb输出的电流i
olb
在时刻t5前后不变化。因此,在电路afp与布线ol之间电流量i1的电流i
ol
流过,且在电路afp与布线olb之间电流i
olb
不流过。
[0347]
在本条件中,由于第一数据(权重系数)为
“‑
1”且输入到电路mp的第二数据(神经元的信号的值(运算值))为
“‑
1”,所以在使用算式(1.1)时第一数据(权重系数)与第二数据(神经元的信号的值)之积为“+1”。第一数据(权重系数)与第二数据(神经元的信号的值)之积为“+1”的结果对应于在电路mp的工作中在时刻t5以后电流i
ol
变化且电流i
olb
不变化的情况,该结果与条件2的电路工作的结果一致。注意,第一数据(权重系数)与第二数据(神经元的信号的值)之积为“+1”的结果与条件2同样地在图8a中从电路afp作为信号z
j(k)
输出。
[0348]
注意,如也在条件3中说明,在本条件的时刻t3至时刻t4的期间,例如,通过将从布线olb向电路mcr流过的电流设定为i2而不是i1,也可以在电路hcr保持v2。由此,作为电路mp的第一数据(权重系数)设定
“‑
2”。当将第一数据(权重系数)设定为
“‑
2”,且将输入到电路mp的第二数据(神经元的信号的值)设定为
“‑
1”时,通过算式(1.1)第一数据(权重系数)与第二数据(神经元的信号的值)之积为“+2”。第一数据(权重系数)与第二数据(神经元的信号的值)之积为“+2”的结果对应于在电路mp的工作中在时刻t5以后电流i
ol
不变化而电流i
olb
增加i2的情况。如此,在电路mc中在电路hc保持vss,且在电路mcr中设定电流量i1以外的电流量,作为电路mp的权重系数设定
“‑
1”以外的负值。
[0349]
[条件7]在本条件中,作为一个例子,将第一数据(权重系数)为“0”且对电路mp输入的第二数据(神经元的信号的值(运算值))为“0”的情况作为条件7考虑电路mp的工作。图20a是此时的电路mp的时序图。
[0350]
因为条件7的时刻t1至时刻t5的期间的工作与条件1的时刻t1至时刻t5的期间的工作相同,所以参照条件1的时刻t1至时刻t5的期间的工作的说明。
[0351]
在时刻t5以后,作为对电路mp的第二数据(神经元的信号的值(运算值))“0”的输入,对布线wx1l输入低电平电位,对布线x2l输入低电平电位。此时,对晶体管m3、晶体管m3r、晶体管m4及晶体管m4r的每一个的栅极输入低电平电位。因此,晶体管m3、晶体管m3r、晶体管m4及晶体管m4r的每一个处于关闭状态。也就是说,通过该工作,在电路mc与布线ol之间、电路mcr与布线olb之间、电路mc与布线olb之间及电路mcr与布线ol之间成为非导通状态。
[0352]
由此,在电路mc中,无论在晶体管m1中流过的被设定的电流的量如何都在布线ol至布线ve和布线ver中的一个之间电流不流过。同样地,在电路mcr中,无论在晶体管m1r中流过的被设定的电流的量如何都在布线olb至布线ve和布线ver中的另一个之间电流不流过。也就是说,从布线ol的节点outa输出的电流i
ol
及从布线olb的节点outb输出的电流i
olb
的每一个在时刻t5前后不变化。
[0353]
此时,在图8a中,通过使开关swo及开关swob处于开启状态,使开关swi、开关swib、开关swl、开关swlb、开关swh及开关swhb处于关闭状态,在布线ol及布线olb的每一个与电路afp之间处于导通状态,如上所述,在电路afp与布线ol之间电流i
ol
不流过,且在电路afp与布线olb之间电流i
olb
不流过。
[0354]
在本条件中,由于第一数据(权重系数)为“0”且输入到电路mp的第二数据(神经元的信号的值(运算值))为“0”,所以在使用算式(1.1)时第一数据(权重系数)与第二数据(神经元的信号的值)之积为“0”。第一数据(权重系数)与第二数据(神经元的信号的值)之积为“0”的结果对应于在电路mp的工作中在时刻t5以后电流i
ol
及电流i
olb
都不变化的情况,该结果与条件1、条件4的电路工作的结果一致。注意,第一数据(权重系数)与第二数据(神经元的信号的值)之积为“0”的结果与条件1、条件4同样地在图8a中从电路afp作为信号z
j(k)
输出。
[0355]
[条件8]在本条件中,作为一个例子,将第一数据(权重系数)为“+1”且对电路mp输入的第二数据(神经元的信号的值(运算值))为“0”的情况作为条件8考虑电路mp的工作。图20b是此时的电路mp的时序图。
[0356]
因为条件8的时刻t1至时刻t5的期间的工作与条件2的时刻t1至时刻t5的期间的工作相同,所以参照条件2的时刻t1至时刻t5的期间的工作的说明。
[0357]
在时刻t5以后,作为对电路mp的第二数据(神经元的信号的值(运算值))“0”的输入,对布线wx1l输入低电平电位,对布线x2l输入低电平电位。此时,对晶体管m3、晶体管m3r、晶体管m4及晶体管m4r的每一个的栅极输入低电平电位。因此,晶体管m3、晶体管m3r、晶体管m4及晶体管m4r的每一个处于关闭状态。也就是说,与条件7同样地,通过该工作,无论在晶体管m1及晶体管m1r的每一个中流过的被设定的电流的量如何在电路mc与布线ol之间、电路mcr与布线olb之间、电路mc与布线olb之间及电路mcr与布线ol之间处于非导通状态。因此,在布线ol至布线ve和布线ver中的一个之间电流不流过且在布线olb至布线ve和布线ver中的另一个之间电流也不流过,从布线ol的节点outa输出的电流i
ol
及从布线olb的节点outb输出的电流i
olb
的每一个在时刻t5前后不变化。
[0358]
此时,在图8a中,通过使开关swo及开关swob处于开启状态,使开关swi、开关swib、开关swl及开关swlb处于关闭状态,在布线ol及布线olb的每一个与电路afp之间处于导通状态,如上所述,在电路afp与布线ol之间电流i
ol
不流过,且在电路afp与布线olb之间电流i
olb
不流过。
[0359]
在本条件中,由于第一数据(权重系数)为“+1”且输入到电路mp的第二数据(神经元的信号的值(运算值))为“0”,所以在使用算式(1.1)时第一数据(权重系数)与第二数据(神经元的信号的值)之积为“0”。第一数据(权重系数)与第二数据(神经元的信号的值)之积为“0”的结果对应于在电路mp的工作中在时刻t5以后电流i
ol
及电流i
olb
都不变化的情况,该结果与条件1、条件4、条件7的电路工作的结果一致。注意,第一数据(权重系数)与第二数据(神经元的信号的值)之积为“0”的结果与条件1、条件4、条件7同样地在图8a中从电路afp作为信号z
j(k)
输出。
[0360]
[条件9]在本条件中,作为一个例子,将第一数据(权重系数)为
“‑
1”且对电路mp输入的第二数据(神经元的信号的值(运算值))为“0”的情况作为条件9考虑电路mp的工作。图20c是此时的电路mp的时序图。
[0361]
因为条件9的时刻t1至时刻t5的期间的工作与条件3的时刻t1至时刻t5的期间的工作相同,所以参照条件3的时刻t1至时刻t5的期间的工作的说明。
[0362]
在时刻t5以后,作为对电路mp的第二数据(神经元的信号的值(运算值))“0”的输入,对布线wx1l输入低电平电位,对布线x2l输入低电平电位。此时,对晶体管m3、晶体管m3r、晶体管m4及晶体管m4r的每一个的栅极输入低电平电位。因此,晶体管m3、晶体管m3r、晶体管m4及晶体管m4r的每一个处于关闭状态。也就是说,与条件7同样地,通过该工作,无论在晶体管m1及晶体管m1r的每一个中流过的被设定的电流的量如何,都在电路mc与布线ol之间、电路mcr与布线olb之间、电路mc与布线olb之间及电路mcr与布线ol之间成为非导通状态。因此,由于在布线ol至布线ve和布线ver中的一个之间电流不流过且在布线olb至布线ve和布线ver中的另一个之间电流也不流过,所以从布线ol的节点outa输出的电流i
ol
及从布线olb的节点outb输出的电流i
olb
的每一个在时刻t5前后不变化。
[0363]
此时,在图8a中,通过使开关swo及开关swob处于开启状态,使开关swi、开关swib、开关swl、开关swlb、开关swh及开关swhb处于关闭状态,在布线ol及布线olb的每一个与电路afp之间处于导通状态,如上所述,在电路afp与布线ol之间电流i
ol
不流过,且在电路afp与布线olb之间电流i
olb
不流过。
[0364]
在本条件中,由于第一数据(权重系数)为
“‑
1”且输入到电路mp的第二数据(神经元的信号的值(运算值))为“0”,所以在使用算式(1.1)时第一数据(权重系数)与第二数据(神经元的信号的值)之积为“0”。第一数据(权重系数)与第二数据(神经元的信号的值)之积为“0”的结果对应于在电路mp的工作中在时刻t5以后电流i
ol
及电流i
olb
都不变化的情况,该结果与条件1、条件4、条件7、条件8的电路工作的结果一致。注意,第一数据(权重系数)与第二数据(神经元的信号的值)之积为“0”的结果与条件1、条件4、条件7、条件8同样地在图8a中从电路afp作为信号z
j(k)
输出。
[0365]
下表示出上述条件1至条件9的工作例子的结果。注意,在下表中,将高电平电位记为high,将低电平电位记为low。
[0366]
[表2]
[0367]
在此,示出对布线ol及布线olb的每一个连接有一个电路mc和一个电路mcr的例子。如图2、图3、图4、图7、图11、图12、图14等所示,在布线ol及布线olb的每一个连接有多个电路mc和多个电路mcr的情况下,从各电路mc及各电路mcr输出的电流根据基尔霍夫的电流定律合在一起。其结果,进行和运算。换言之,在电路mc、电路mcr中进行积运算,通过将来自多个电路mc及多个电路mcr的电流合在一起,进行和运算。其结果,进行积和运算处理。
[0368]
在此,在电路mp的工作中,通过进行将第一数据(权重系数)设定为只有“+1”、
“‑
1”的2值且将第二数据(神经元的信号的值)设定为只有“+1”、
“‑
1”的2值的计算,电路mp可以进行与异或非电路(符合电路)相同的工作。
[0369]
另外,在电路mp的工作中,通过进行将第一数据(权重系数)设定为只有“+1”、“0”的2值,将第二数据(神经元的信号的值)设定为只有“+1”、“0”的2值的计算,电路mp可以进行与逻辑乘电路同样的工作。
[0370]
在本工作例子中,将保持在电路mp的电路mc、mcr所包括的电路hc、hcr中的电位设定为vss、v1、v2等多值,但是在电路hc、hcr中保持2值或表示模拟值的电位。例如,在第一数据(权重系数)为“正模拟值”时,在电路hc的节点n1保持有高电平模拟电位,在电路hcr的节点n1r保持有低电平电位。第一数据(权重系数)为“负模拟值”时,电路hc的节点n1保持有低电平电位,电路hcr的节点n1r保持有高电平模拟电位。电流i
ol
及电流i
olb
的电流的高低成为对应于模拟电位的高低。另外,不但在图15a的电路mp中,而且还可以在本说明书等所示的其他电路mp中电路hc、hcr保持有表示模拟值的电位。
[0371]
注意,本结构例子可以与本说明书所示的其他结构例子等适当地组合。
[0372]
《结构例子2》接着,对与图15a至图15c、图16a、图16b的每一个的电路结构不同的能够应用于图9b所示的电路mp的电路结构的例子进行说明。
[0373]
图21a所示的电路mp示出图9b的电路mp的结构例子,图21a所示的电路mp与图15a的电路mp的不同之处在于晶体管m2的第二端子与晶体管m1的第二端子、晶体管m3的第一端子、晶体管m4的第一端子电连接而不与布线ol电连接,晶体管m2r的第二端子与晶体管m1r的第二端子、晶体管m3r的第一端子、晶体管m4r的第一端子电连接而不与布线olb电连接。
[0374]
图21a的电路mp可以与图15a的电路mp同样地工作。
[0375]
对与图21a不同的能够应用于图9b所示的电路mp的电路结构的其他例子进行说明。图21b所示的电路mp示出图9b的电路mp的结构例子,图21b所示的电路mp与图15a的电路
mp的不同之处在于在电路mc中包括晶体管m1c且晶体管m4的第一端子与晶体管m1c电连接而不与晶体管m1的第二端子及晶体管m3的第二端子电连接,在电路mcr中包括晶体管m1cr且晶体管m4r的第一端子与晶体管m1cr电连接而不与晶体管m1r的第二端子及晶体管m3r的第二端子电连接。
[0376]
注意,在本说明书等中,在没有特别的说明的情况下,晶体管m1c及晶体管m1cr在开启状态下有时最终在饱和区域中工作。也就是说,对上述各晶体管的栅极电压、源极电压及漏极电压有时进行适当的偏压,使得该晶体管在线性区域中工作。注意,本发明的一个方式不局限于此。为了减小所供应的电压的振幅值,晶体管m1c及晶体管m1cr也可以在线性区域中工作。或者,为了减小流过晶体管m1c及晶体管m1cr的电流量,晶体管m1c及晶体管m1cr也可以在亚阈值区域中工作。或者,晶体管m1c及晶体管m1cr也可以在饱和区域与亚阈值区域之边界附近工作。注意,在第一数据(例如,这里是权重系数)为模拟值时,根据第一数据(权重系数)的大小,晶体管m1c及晶体管m1cr例如也可以在线性区域、饱和区域以及亚阈值区域中工作。或者,晶体管m1c及晶体管m1cr也可以在线性区域以及饱和区域中工作、在亚阈值区域以及线性区域中工作、或者在饱和区域以及亚阈值区域中工作。
[0377]
在图21b的电路mp中,晶体管m1c的第一端子与布线ve电连接。此外,晶体管m1c的栅极与晶体管m1的栅极、晶体管m2的第一端子、电容c1的第一端子电连接。加上,晶体管m1c的第二端子与晶体管m4的第一端子电连接。
[0378]
在图21b的电路mp中,电路mcr具有与电路mc大致相同的电路结构。因此,为了与电路mc所包括的电路元件区分,对电路mcr所包括的电路元件的符号附上“r”。
[0379]
此外,省略图21b的电路mp中的与图15a的电路mp相同的连接结构的部分的说明。
[0380]
在图21b的电路mp中,流过晶体管m3及晶体管m4的电流分别根据晶体管m1及晶体管m1c的栅极的电位决定。另外,例如,晶体管m1及晶体管m1c的尺寸诸如沟道长度及沟道宽度优选彼此相同。通过采用上述电路结构,有可能有效地进行布局。另外,有可能使流过晶体管m3及晶体管m4的电流一致。
[0381]
图21b的电路mp可以与图15a的电路mp同样地工作。
[0382]
注意,本结构例子可以与本说明书所示的其他结构例子等适当地组合。
[0383]
《结构例子3》接着,说明能够应用于图9e所示的电路mp的电路结构的例子。
[0384]
图22a所示的电路mp示出图9e的电路mp的结构例子,图22a所示的电路mp与图15a的电路mp的不同之处在于在电路mc中包括晶体管m5且在电路mcr中包括晶体管m5r,电路mp与布线il及布线ilb电连接。
[0385]
注意,在本说明书等中,在没有特别的说明的情况下,晶体管m5及晶体管m5r在开启状态下最终在线性区域中工作。也就是说,对上述各晶体管的栅极电压、源极电压及漏极电压有时进行适当的偏压,使得该晶体管在线性区域中工作。注意,本发明的一个方式不局限于此。晶体管m5及晶体管m5r可以在饱和区域中工作,也可以在亚阈值区域中工作。或者,晶体管m5及晶体管m5r也可以在饱和区域与亚阈值区域之边界附近工作。或者,晶体管m5及晶体管m5r例如也可以在线性区域、饱和区域以及亚阈值区域中工作。或者,晶体管m5及晶体管m5r也可以在线性区域以及饱和区域中工作、在饱和区域以及亚阈值区域中工作、或者在亚阈值区域以及线性区域中工作。
[0386]
在图22a的电路mp中,晶体管m5的第一端子与晶体管m2的第二端子、布线il电连接。晶体管m5的第二端子与晶体管m1的第二端子、晶体管m3的第一端子、晶体管m4的第一端子电连接。晶体管m5的栅极与布线wl电连接。
[0387]
在图22a的电路mp中,电路mcr具有与电路mc大致相同的电路结构。因此,为了与电路mc所包括的电路元件区分,对电路mcr所包括的电路元件的符号附上“r”。
[0388]
此外,省略图22a的电路mp中的与图15a的电路mp相同的连接结构的部分的说明。
[0389]
在图22a的电路mp中,与结构例子1及结构例子2同样地,晶体管m1、晶体管m2、晶体管m3及晶体管m4的尺寸,例如,沟道长度及沟道宽度优选分别与晶体管m1r、晶体管m2r、晶体管m3r及晶体管m4r的尺寸相同。通过采用上述电路结构,有可能有效地进行布局。加上,晶体管m5的尺寸优选与晶体管m5r的尺寸相同。
[0390]
在对电路mc及布线mcr设定电流时,对布线wl施加高电平电位,使晶体管m2、晶体管m2r、晶体管m5及晶体管m5r处于开启状态。此外,在对电路mc及电路mcr设定电流之后,为了保持设定在电路hc及电路hcr中的电位,对布线wl施加低电平电位,使晶体管m2、晶体管m2r、晶体管m5及晶体管m5r处于关闭状态即可。
[0391]
在结构例子1、结构例子2所说明的电路mp中,将传送第二数据(例如,这里是神经元的信号的值)的布线、对电路mp供应对应于第一数据(例如,这里是权重系数)的信息(例如,电压、电流等)或在电路mp中保持该信息的布线总记为布线wx1l,但通过作为电路mp采用图22a所示的结构,可以将传送第二数据(神经元的信号的值)的布线记为布线x1l,且将对电路mp供应对应于第一数据(权重系数)的信息(例如,电压、电流等)或在电路mp中保持该信息的布线记为布线wl。也就是说,图22a的电路mp可以说具有按每个功能分割结构例子1、结构例子2的电路mp的布线wx1l的结构。
[0392]
图22b示出与图22a的电路mp不同的电路结构。
[0393]
图22b所示的电路mp具有改变图22a的电路mp的晶体管m5及晶体管m5r的每一个的第一端子的电连接的结构。具体而言,在图22b的电路mp中,晶体管m5的第一端子与晶体管m2的第一端子、晶体管m1的栅极、电容c1的第一端子电连接。
[0394]
通过采用图22b所示的结构,电路mp与图22a的电路mp大致相同地工作。
[0395]
注意,在图22a及图22b的每一个所示的电路mp中,也可以具有将布线il组合为布线ol且将布线ilb组合为布线olb的结构。例如,在图22a所示的电路mp中,通过将布线il组合为布线ol且将布线ilb组合为布线olb,可以实现图23a所示的电路mp的结构。此外,例如,在图22b所示的电路mp中,通过将布线il组合为布线ol且将布线ilb组合为布线olb,可以实现图23b所示的电路mp的结构。注意,图23a及图23b的每一个的电路mp的结构可应用于图9a所示的电路mp,图23a及图23b的每一个的电路mp的工作参照图15a的电路mp的工作的说明。
[0396]
注意,本结构例子可以与本说明书所示的其他结构例子等适当地组合。
[0397]
《结构例子4》与图15a的电路mp不同,图24所示的电路mp是除了电路hc及电路hcr以外还包括电路hcs及电路hcsr的电路的一个例子。
[0398]
包括在图24的电路mp中的电路mc除了图21a的电路mp所包括的电路元件以外还包括晶体管m1s、晶体管m2s、晶体管m6、晶体管m6s及电容c1s。此外,由于包括在图24的电路mp中的电路mcr包括与电路mc相同的电路元件,所以包括分别对应于电路mc的晶体管m1s、晶
体管m2s、晶体管m6、晶体管m6s及电容c1s的晶体管m1sr、晶体管m2sr、晶体管m6r、晶体管m6sr及电容c1sr。注意,晶体管m2s、电容c1s包括在电路hcs中,晶体管m2sr、电容c1sr包括在电路hcsr中。
[0399]
注意,在本说明书等中,与晶体管m1及晶体管m1r同样,在没有特别的说明的情况下,晶体管m1s及晶体管m1sr在开启状态下有时最终在饱和区域中工作。也就是说,对上述各晶体管的栅极电压、源极电压及漏极电压有时进行适当的偏压,使得该晶体管在饱和区域中工作。注意,本发明的一个方式不局限于此。为了减小所供应的电压的振幅值,晶体管m1s及晶体管m1sr也可以在线性区域中工作。另外,为了减小流过晶体管m1s及晶体管m1sr的电流量,晶体管m1s及晶体管m1sr也可以在亚阈值区域中工作。或者,晶体管m1s及晶体管m1sr也可以在饱和区域与亚阈值区域之边界附近工作。另外,在第一数据(权重系数)为模拟值时,根据第一数据(权重系数)的大小,晶体管m1s及晶体管m1sr例如也可以在线性区域、饱和区域以及亚阈值区域中工作。或者,晶体管m1s及晶体管m1sr也可以在线性区域以及饱和区域中工作、在亚阈值区域以及线性区域中工作、或者在饱和区域以及亚阈值区域中工作。
[0400]
另外,在本说明书等中,与晶体管m2、晶体管m3及晶体管m4等同样,在没有特别的说明的情况下,晶体管m2s、晶体管m2sr、晶体管m6、晶体管m6s、晶体管m6r及晶体管m6sr在开启状态下有时最终在线性区域中工作。也就是说,对上述各晶体管的栅极电压、源极电压及漏极电压有时进行适当的偏压,使得该晶体管在线性区域中工作。注意,本发明的一个方式不局限于此。例如,晶体管m2s、晶体管m2sr、晶体管m6、晶体管m6s、晶体管m6r及晶体管m6sr在开启状态下可以在饱和区域中工作,也可以在亚阈值区域中工作。或者,晶体管m2s、晶体管m2sr、晶体管m6、晶体管m6s、晶体管m6r及晶体管m6sr也可以在饱和区域与亚阈值区域之边界附近工作。或者,晶体管m2s、晶体管m2sr、晶体管m6、晶体管m6s、晶体管m6r及晶体管m6sr也可以在线性区域以及饱和区域中工作、在饱和区域以及亚阈值区域中工作、在亚阈值区域以及线性区域中工作、或者在线性区域、饱和区域以及亚阈值区域中工作。
[0401]
接着,说明图24的电路mp的结构。注意,省略图24的电路mp中的与图21a的电路mp相同的结构的部分的说明。
[0402]
在图24的电路mp中,晶体管m1的第二端子与晶体管m2的第二端子、晶体管m6的第一端子电连接。晶体管m6的第二端子与晶体管m3的第一端子、晶体管m4的第一端子电连接。晶体管m6的栅极与布线s1l电连接。晶体管m1s的第一端子与布线ve电连接。晶体管m1s的第二端子与晶体管m6s的第一端子电连接。晶体管m1s的栅极与电容c1s的第一端子、晶体管m2s的第一端子电连接。电容c1s的第二端子与布线ve电连接。晶体管m2s的第二端子与晶体管m1s的第二端子、晶体管m6s的第一端子电连接。晶体管m6s的第二端子与晶体管m3的第一端子、晶体管m4的第一端子电连接。晶体管m6s的栅极与布线s2l电连接。
[0403]
在图24的电路mp中,电路mcr具有与电路mc大致相同的电路结构。因此,为了与电路mc所包括的电路元件区分,对电路mcr所包括的电路元件的符号附上“r”。
[0404]
布线s1l被用作用来供应使晶体管m6及晶体管m6r处于开启状态或关闭状态的电位的电压线,布线s2l被用作用来供应使晶体管m6s及晶体管m6sr处于开启状态或关闭状态的电位的电压线。
[0405]
在图24的电路mp中,晶体管m6、晶体管m6s、晶体管m6r及晶体管m6sr的尺寸,例如,
沟道长度及沟道宽度优选彼此相同。通过采用上述电路结构,有可能有效地进行布局。
[0406]
例如,通过对图11所示的运算电路150应用图24的电路mp的结构,运算电路150的电路mp可以保持两个第一数据(例如,这里是权重系数)。具体而言,图24的电路mp可以将对应于第一个第一数据(权重系数)的电位保持在电路mc的电路hc及电路mcr的电路hcr,将对应于第二个第一数据(权重系数)的电位保持在电路mc的电路hcs及电路mc的电路hcsr。另外,图24的电路mp可以由从布线s1l及布线s2l供应的电位进行用于运算的第一数据(权重系数)的切换。例如,通过使包括在运算电路150的电路mp[1,j]至电路mp[m,j]中的各电路hc及电路hcr保持相当于第一数据(权重系数)w
1(k-1)j(k)
至w
m(k-1)j(k)
的电位且使包括在运算电路150的电路mp[1,j]至电路mp[m,j]中的各电路hcs及电路hcsr保持相当于第一数据(权重系数)w
1(k-1)h(k)
至w
m(k-1)h(k)
(在此,h是1以上且不是j的整数)的电位,来对布线xls[1]至布线xls[m](图24的电路mp中的布线wx1l及布线x2l)输入对应于信号z
1(k-1)
至z
m(k-1)
的电位。此时,通过对布线s1l施加高电平电位而使晶体管m6s及晶体管m6r处于开启状态且对布线s2l施加低电平电位而使晶体管m6s及晶体管m6sr处于关闭状态,运算电路150的电路mp[1,j]至电路mp[m,j]可以进行权重系数w
1(k-1)j(k)
至w
m(k-1)j(k)
与信号z
1(k-1)
至z
m(k-1)
之积和运算及激活函数的运算。另外,通过对布线s1l施加低电平电位而使晶体管m6及晶体管m6r处于关闭状态且对布线s2l施加高电平电位而使晶体管m6s及晶体管m6sr处于开启状态,运算电路150的电路mp[1,j]至电路mp[m,j]可以进行权重系数w
1(k-1)h(k)
至w
m(k-1)h(k)
与信号z
1(k-1)
至z
m(k-1)
之积和及激活函数的运算。
[0407]
如上所述,通过对运算电路150使用图24的电路mp,可以保持两个权重系数,并且可以切换该权重系数而进行积和及激活函数的运算。例如在第k层的神经元的个数大于n时,构成图24的电路mp的运算电路150在进行与第k层不同的中间层中的运算等时很有效。另外,在图24的电路mp中电路mc及电路mcr分别包括两个保持部,但是电路mc及电路mcr根据情况也可以包括三个以上的保持部。
[0408]
包括在本发明的一个方式的半导体装置中的电路mp不局限于图24的电路mp。作为本发明的一个方式的半导体装置的电路mp,可以根据情况改变图24的电路mp的电路结构。
[0409]
例如,图25所示的电路mp具有改变图24的电路mp的电路结构。具体而言,在图25的电路mp中,对图24的电路mp加上晶体管m3s、晶体管m4s、晶体管m3sr及晶体管m4sr,且进行电连接的改变。晶体管m3s的第一端子与晶体管m6s的第二端子、晶体管m4s的第一端子电连接,晶体管m3s的第二端子与布线ol电连接,晶体管m3s的栅极与布线wx1l电连接。晶体管m4s的第二端子与布线olb电连接,晶体管m4s的栅极与布线x2l电连接。
[0410]
注意,在图25的电路mp中,电路mcr具有与电路mc大致相同的电路结构。因此,为了与电路mc所包括的电路元件区分,对电路mcr所包括的电路元件的符号附上“r”。此外,在电路mcr中,晶体管m3sr的第二端子与布线olb电连接,晶体管m4sr的第二端子与布线ol电连接。
[0411]
在图25的电路mp中,晶体管m3、晶体管m3s、晶体管m3r、晶体管m3sr、晶体管m4、晶体管m4s、晶体管m4r及晶体管m4sr的尺寸,例如,沟道长度及沟道宽度优选彼此相同。通过采用上述电路结构,有可能有效地进行布局。
[0412]
图25的电路mp通过与图24的电路mp相同地工作,可以保持两个第一数据(权重系数),且切换该第一数据(权重系数)来可以进行积和及激活函数的运算。另外,在图25的电
路mp中电路mc及电路mcr分别包括两个保持部,但是电路mc及电路mcr根据情况也可以包括三个以上的保持部。
[0413]
注意,本结构例子可以与本说明书所示的其他结构例子等适当地组合。
[0414]
《结构例子5》与图21a的电路mp不同,图26所示的电路mp在电路mc中包括沟道宽度(以下称为w长)与沟道长度(以下称为l长)的比例彼此不同的晶体管m1、晶体管m1-2b、晶体管m1-3b作为一个例子。注意,除了晶体管m1、晶体管m1-2b、晶体管m1-3b以外还可以包括更多的晶体管,也可以不包括晶体管m1-3b、晶体管m1-2b。
[0415]
包括在图26的电路mp中的电路mc除了图21a的电路mp所包括的电路元件以外还包括晶体管m3-2b、晶体管m4-2b、晶体管m3-3b及晶体管m4-3b。
[0416]
在本说明书等中,在没有特别的说明的情况下,与晶体管m1同样地,晶体管m1-2b及晶体管m1-3b在开启状态下有时最终在饱和区域中工作。也就是说,对上述各晶体管的栅极电压、源极电压及漏极电压有时进行适当的偏压,使得该晶体管在饱和区域中工作。注意,本发明的一个方式不局限于此。为了减小所供应的电压的振幅值,晶体管m1-2b及晶体管m1-3b也可以在线性区域中工作。另外,为了减小流过晶体管m1-2b及晶体管m1-3b的电流量,晶体管m1-2b及晶体管m1-3b也可以在亚阈值区域中工作。或者,晶体管m1-2b及晶体管m1-3b也可以在饱和区域与亚阈值区域之边界附近工作。另外,在第一数据(例如,这里是权重系数)为模拟值时,根据第一数据(权重系数)的大小,晶体管m1-2b及晶体管m1-3b例如也可以在线性区域、饱和区域以及亚阈值区域中工作。或者,晶体管m1-2b及晶体管m1-3b也可以在线性区域以及饱和区域中工作、在亚阈值区域以及线性区域中工作、或者在饱和区域以及亚阈值区域中工作。
[0417]
另外,在本说明书等中,与晶体管m3及晶体管m4同样,在没有特别的说明的情况下,晶体管m3-2b、晶体管m4-2b、晶体管m3-3b及晶体管m4-3b在开启状态下有时最终在线性区域中工作。也就是说,对上述各晶体管的栅极电压、源极电压及漏极电压有时进行适当的偏压,使得该晶体管在线性区域中工作。注意,本发明的一个方式不局限于此。例如,晶体管m3-2b、晶体管m4-2b、晶体管m3-3b及晶体管m4-3b在开启状态下可以在饱和区域中工作,也可以在亚阈值区域中工作。或者,晶体管m3-2b、晶体管m4-2b、晶体管m3-3b及晶体管m4-3b也可以在饱和区域与亚阈值区域之边界附近工作。或者,晶体管m3-2b、晶体管m4-2b、晶体管m3-3b及晶体管m4-3b也可以在线性区域以及饱和区域中工作、在饱和区域以及亚阈值区域中工作、在亚阈值区域以及线性区域中工作、或者在线性区域、饱和区域以及亚阈值区域中工作。
[0418]
接着,说明图26的电路mp的结构。注意,省略图26的电路mp中的与图21a的电路mp相同的结构的部分的说明。
[0419]
在图26的电路mp的电路mc中,晶体管m1-2b的第一端子与布线ve电连接。晶体管m1-2b的第二端子与晶体管m3-2b的第一端子、晶体管m4-2b的第一端子电连接。晶体管m1-2b的栅极与晶体管m2的第一端子、电容c1的第一端子电连接。晶体管m3-2b的第二端子与布线ol电连接。晶体管m3-2b的栅极与布线x1l2b电连接。晶体管m4-2b的第二端子与布线olb电连接。晶体管m4-2b的栅极与布线x2l2b电连接。晶体管m1-3b的第一端子与布线ve电连接。晶体管m1-3b的第二端子与晶体管m3-3b的第一端子、晶体管m4-3b的第一端子电连接。
晶体管m1-3b的栅极与晶体管m2的第一端子、电容c1的第一端子电连接。晶体管m3-3b的第二端子与布线ol电连接。晶体管m3-3b的栅极与布线x1l3b电连接。晶体管m4-3b的第二端子与布线olb电连接。晶体管m4-3b的栅极与布线x2l3b电连接。
[0420]
注意,在图26的电路mp中,电路mcr具有与电路mc大致相同的电路结构。因此,为了与电路mc所包括的电路元件区分,对电路mcr所包括的电路元件的符号附上“r”。此外,晶体管m3-2br的第二端子与布线olb电连接,晶体管m4-2br的第二端子与布线ol电连接,晶体管m3-3br的第二端子与布线olb电连接,晶体管m4-3br的第二端子与布线ol电连接。
[0421]
在图26的电路mp中,晶体管m3、晶体管m3-2b、晶体管m3-3b、晶体管m3r、晶体管m3-2br、晶体管m3-3br、晶体管m4、晶体管m4-2b、晶体管m4-3b、晶体管m4r、晶体管m4-2br及晶体管m4-3br的尺寸例如沟道长度及沟道宽度优选彼此相等。通过采用上述电路结构,有可能有效地进行布局。
[0422]
布线x1l2b是用来进行晶体管m3-2b及晶体管m3-2br的开启状态及关闭状态的切换的布线,布线x2l2b是用来进行晶体管m4-2b及晶体管m4-2br的开启状态及关闭状态的切换的布线,布线x1l3b是用来进行晶体管m3-3b及晶体管m3-3br的开启状态及关闭状态的切换的布线,布线x2l3b是用来进行晶体管m4-3b及晶体管m4-3br的开启状态及关闭状态的切换的布线。
[0423]
在晶体管m1的w长与l长的比例为w/l时,晶体管m1-2b的w长与l长的比例优选为2
×
w/l,且晶体管m1-3b的w长与l长的比例优选为4
×
w/l。由于晶体管的源极与漏极间流过的电流与沟道宽度/沟道长度成比例,所以在晶体管m1、晶体管m1-2b及晶体管m1-3b的沟道宽度/沟道长度以外的结构、构成条件等相同时,在晶体管m1-2b及晶体管m1-3b中流过的电流分别大致成为在晶体管m1中流过的电流的2倍、4倍。也就是说,在晶体管m1、晶体管m1-2b及晶体管m1-3b中流过的电流量的比例大致为1:2:4。此外,考虑包括在图26的电路mp中的电路mc作为相当于晶体管m1的晶体管例如包括q个(q为4以上的整数)晶体管的情况。第一个晶体管为晶体管m1,第二个晶体管为晶体管m1-2b,第三个晶体管为晶体管m1-3b,第q个(q为4以上且q以下的整数)的晶体管的w长与l长的比例为晶体管m1的w长与l长的比例的2
(q-1)
倍时,在第一个晶体管、第二个晶体管、第三个晶体管、第q个晶体管的每一个中流过的电流量的比例为1:2:4:2
(q-1)
。也就是说,包括在图26的电路mp中的电路mc以在各晶体管中流过的电流的量为2的幂的比例的方式包括q个晶体管。
[0424]
例如,在晶体管m1的源极与漏极间流过的电流量为i
ut
时,根据上述晶体管m1、晶体管m1-2b及晶体管m1-3b的每一个的沟道宽度/沟道长度在晶体管m1-2b及晶体管m1-3b中流过的电流量分别为2i
ut
、4i
ut

[0425]
晶体管m1r的w长与l长的比例优选与晶体管m1的w长与l长的比例相等,晶体管m1-2br的w长与l长的比例优选与晶体管m1-2b的w长与l长的比例相等,晶体管m1-3br的w长与l长的比例优选与晶体管m1-3b的w长与l长的比例相等。
[0426]
这里,考虑从布线ol向电路mc流过的电流量。此时,在电路mp中设定正的第一数据(正的权重系数),且使晶体管m3、晶体管m3-2b及晶体管m3-3b的至少一个处于开启状态,使晶体管m4、晶体管m4-2b及晶体管m4-3b处于关闭状态即可。此时,根据晶体管m3、晶体管m3-2b及晶体管m3-3b的每一个的开启状态、关闭状态的组合,从布线ol向电路mc流过的电流量变化。
[0427]
例如,在将晶体管m1的源极与漏极间流过的电流量设定为i
ut
时,在晶体管m1-2b中流过的电流量为2i
ut
,在晶体管m1-3b中流过的电流量为4i
ut
。这里,通过对布线wx1l施加高电平电位,对布线x2l施加低电平电位,还对布线x1l2b、布线x2l2b、布线x1l3b及布线x2l3b施加低电平电位,可以使晶体管m3处于开启状态,且使晶体管m3-2b、晶体管m3-3b、晶体管m4、晶体管m4-2b及晶体管m4-3b处于关闭状态。此时,从布线ol向电路mc流过的电流量为i
ut
。此外,例如,在将晶体管m1的源极与漏极间流过的电流量设定为i
ut
,且对布线wx1l及布线x1l2b施加高电平电位,对布线x2l及布线x2l2b施加低电平电位,还对布线x1l3b及布线x2l3b施加低电平电位。此时,可以使晶体管m3及晶体管m3-2b处于开启状态,使晶体管m3-3b、晶体管m4、晶体管m4-2b及晶体管m4-3b处于关闭状态,从布线ol向电路mc流过的电流量为3i
ut
。此外,例如,在将晶体管m1的源极与漏极间流过的电流量设定为i
ut
,且对布线x1l2b及布线x1l3b施加高电平电位,对布线x2l2b及布线x2l3b施加低电平电位,还对布线wx1l及布线x2l施加低电平电位。此时,可以使晶体管m3-2b、晶体管m3-3b处于开启状态,且使晶体管m3、晶体管m4、晶体管m4-2b及晶体管m4-3b处于关闭状态,从布线ol向电路mc流过的电流量为6i
ut

[0428]
例如,在将晶体管m1的源极与漏极间流过的电流量设定为2i
ut
时,在晶体管m1-2b中流过的电流量为4i
ut
,在晶体管m1-3b中流过的电流量为8i
ut
。这里,通过对布线wx1l施加高电平电位,对布线x2l施加低电平电位,还对布线x1l2b、布线x2l2b、布线x1l3b及布线x2l3b施加低电平电位,可以使晶体管m3处于开启状态,且使晶体管m3-2b、晶体管m3-3b、晶体管m4、晶体管m4-2b及晶体管m4-3b处于关闭状态。此时,从布线ol向电路mc流过的电流量为2i
ut
。此外,例如,在将晶体管m1的源极与漏极间流过的电流量设定为2i
ut
,且对布线wx1l及布线x1l2b施加高电平电位,对布线x2l及布线x2l2b施加低电平电位,还对布线x1l3b及布线x2l3b施加低电平电位。此时,可以使晶体管m3及晶体管m3-2b处于开启状态,使晶体管m3-3b、晶体管m4、晶体管m4-2b及晶体管m4-3b处于关闭状态,从布线ol向电路mc流过的电流量为6i
ut
。此外,例如,在将晶体管m1的源极与漏极间流过的电流量设定为2i
ut
,且对布线x1l2b及布线x1l3b施加高电平电位,对布线x2l2b及布线x2l3b施加低电平电位,还对布线wx1l及布线x2l施加低电平电位。此时,可以使晶体管m3-2b、晶体管m3-3b处于开启状态,且使晶体管m3、晶体管m4、晶体管m4-2b及晶体管m4-3b处于关闭状态,从布线ol向电路mc流过的电流量为12i
ut

[0429]
也就是说,图26的电路mp具有如下功能:根据布线wx1l、布线x1l2b及布线x1l3b的每一个的电位将在晶体管m1的源极与漏极间设定的电流乘以大致整数,将整数倍的电流从布线ol向电路mc流过。注意,通过改变晶体管m1、晶体管m1-2b及晶体管m1-3b的每一个的w长与l长的比例,可以使在晶体管m1的源极与漏极间设定的电流为实数倍而不是整数倍,将该电流从布线ol向电路mc流过。
[0430]
在上述例子中,处理从布线ol向电路mc流过的电流量,可以同样地考虑从布线olb向电路mc流过的电流量。此时,在电路mp中设定正的第一数据(正的权重系数),且晶体管m4、晶体管m4-2b、晶体管m4-3b中的至少一个处于开启状态,晶体管m3、晶体管m3-2b及晶体管m3-3b处于关闭状态即可。此时,根据晶体管m4、晶体管m4-2b及晶体管m4-3b的每一个的开启状态、关闭状态的组合,从布线olb向电路mc流过的电流量变化。此外,可以同样地考虑从布线olb向电路mcr流过的电流。此时,在电路mp中设定负的第一数据(负的权重系数),且
使晶体管m3r、晶体管m3-2br及晶体管m3-3br中的至少一个处于开启状态,使晶体管m4r、晶体管m4-2br及晶体管m4-3br处于关闭状态即可。此时,根据晶体管m3r、晶体管m3-2br及晶体管m3-3br的每一个的开启状态、关闭状态的组合,从布线olb向电路mcr流过的电流量变化。再者,可以同样地考虑从布线ol向电路mcr流过的电流。此时,在电路mp中设定负的第一数据(负的权重系数),且晶体管m4r、晶体管m4-2br及晶体管m4-3br中的至少一个处于开启状态,晶体管m3r、晶体管m3-2br及晶体管m3-3br处于关闭状态即可。此时,根据晶体管m4r、晶体管m4-2br及晶体管m4-3br的每一个的开启状态、关闭状态的组合,从布线ol向电路mcr流过的电流量变化。
[0431]
如上所述,在图26的电路mp中,根据布线wx1l、布线x2l、布线x1l2b、布线x2l2b、布线x1l3b及布线x2l3b的每一个的电位,使被设定的电流的量为整数倍(实数倍),可以将电流从布线ol向电路mc或电路mcr流过,或者可以将电流从布线olb向电路mc或电路mcr流过。这里,通过根据布线wx1l、布线x2l、布线x1l2b、布线x2l2b、布线x1l3b及布线x2l3b的每一个的电位的组合设定第二数据(例如,这里是神经元的信号的值),可以处理第二数据(神经元的信号的值)作为多值(图26的电路mp的结构中是15值)。也就是说,图26的电路mp是能够计算多值的第一数据(权重系数)与多值的第二数据(神经元信号)之积的电路。
[0432]
下表示出:在设定在电路mp中的第一数据(权重系数)为“+1”(在晶体管m1的源极与漏极间设定的电流量为i
ut
,在晶体管m1r的源极与漏极间设定的电流量为0。注意,在电路hc的节点n1的电位为v1且电路hcr的节点n1r的电位为vss)的情况下,将对应于第二数据(神经元的信号的值)的布线wx1l、布线x2l、布线x1l2b、布线x2l2b、布线x1l3b及布线x2l3b的电位输入到电路mp时的从布线ol向电路mc或电路mcr流过的电流i
ol
及从布线olb向电路mc或电路mcr流过的电流i
olb
的电流量的变化。注意,在下表中,将高电平电位记为high,将低电平电位记为low。
[0433]
[表3]
[0434]
此外,下表示出:在设定在电路mp中的第一数据(权重系数)为
“‑
1”(在晶体管m1的源极与漏极间设定的电流量为0,在晶体管m1r的源极与漏极间设定的电流量为i
ut
。注意,电
路hc的节点n1的电位为vss,电路hcr的节点n1r的电位为v1)的情况下,将对应于第二数据(神经元的信号的值)的布线wx1l、布线x2l、布线x1l2b、布线x2l2b、布线x1l3b及布线x2l3b的电位输入到电路mp时的从布线ol向电路mc或电路mcr流过的电流i
ol
及从布线olb向电路mc或电路mcr流过的电流i
olb
的电流量的变化。注意,在下表中,将高电平电位记为high,将低电平电位记为low。
[0435]
[表4]
[0436]
当在晶体管m1的源极与漏极间流过的电流量为0时,作为节点n1的电位例如为vss即可。由此,除了晶体管m1以外,在晶体管m1-2b及晶体管m1-3b的每一个的源极与漏极间流过的电流量也可以为0。因此,不管晶体管m3、晶体管m3-2b、晶体管m3-3b、晶体管m4、晶体管m4-2b及晶体管m4-3b处于开启状态或关闭状态如何,电流不从布线ol或布线olb向电路mc流过。
[0437]
如此,在图26的电路mp中,通过使布线wx1l、布线x2l、布线x1l2b、布线x2l2b、布线x1l3b及布线x2l3b的每一个成为低电平电位或高电平电位,可以将第二数据(神经元的信号的值)表现为15值,由此可以计算多值的第一数据(权重系数)与多值的第二数据(神经元的信号的值)之积。
[0438]
此外,包括在本发明的一个方式的半导体装置中的电路mp不局限于图26的电路mp。作为本发明的一个方式的半导体装置的电路mp,可以根据情况改变图26的电路mp的电路结构。
[0439]
例如,图27所示的电路mp具有改变图26的电路mp的电路结构。具体而言,图27的电路mp具有对图26的电路mp加上电路hc-2b、电路hc-3b、电路hc-2br及电路hc-3br的结构。由于电路hc-2b、电路hc-3b、电路hc-2br及电路hc-3br的结构与电路hc及电路hcr相同,所以参照电路hc及电路hcr的说明。
[0440]
在电路mc中,晶体管m1-2b、晶体管m3-2b、晶体管m4-2b及电路hc-2b附近的电连接结构与晶体管m1、晶体管m3、晶体管m4及电路hc附近的电连接结构相同。此外,晶体管m1-3b、晶体管m3-3b、晶体管m4-3b及电路hc-3b附近的电连接结构与晶体管m1、晶体管m3、晶体
管m4及电路hc附近的电连接结构相同。此外,在电路mcr中,晶体管m1-2br、晶体管m3-2br、晶体管m4-2br及电路hc-2br附近的电连接结构与晶体管m1r、晶体管m3r、晶体管m4r及电路hcr附近的电连接结构相同。另外,晶体管m1-3br、晶体管m3-3br、晶体管m4-3br及电路hc-3br附近的电连接结构与晶体管m1r、晶体管m3r、晶体管m4r及电路hcr附近的电连接结构相同。
[0441]
再者,电路hc-2b与布线wl2b电连接,电路hc-3b与布线wl3b电连接,电路hc-2br与布线wl2b电连接,电路hc-3br与布线wl3b电连接。
[0442]
在图27的电路mp中,例如,与图26的电路mp同样地,晶体管m1、晶体管m1-2b及晶体管m1-3b的每一个的w长与l长的比例为w/l、2
×
w/l、4
×
w/l,将在晶体管m1的源极与漏极间流过的电流量设定为i
ut
的电位保持在电路hc中,且将与该电位几乎相同的电位保持在电路hc-2b及电路hc-3b中,由此可以与图26的电路mp同样地工作。
[0443]
由于对电路hc、电路hc-2b及电路hc-3b写入几乎相同的电位,所以也可以将布线wl、布线wl2b及布线wl3b组合为一个布线(未图示)。
[0444]
此外,例如,在使晶体管m1、晶体管m1-2b及晶体管m1-3b的每一个的w长与l长的比例相等,且将晶体管m1的源极与漏极间流过的电流量设定为i时,在晶体管m1-2b的源极与漏极间流过的电流量被设定为2i,在晶体管m1-3b的源极与漏极间流过的电流量被设定为4i,由此可以与图26的电路mp同样地工作。
[0445]
此外,作为与图27的电路mp不同的改变图26的电路mp的电路结构,例如,也可以为图28所示的电路mp。图28的电路mp具有对图26的电路mp加上晶体管m2-2b、晶体管m2-3b、晶体管m2-2br及晶体管m2-3br的结构。注意,与图26同样地,晶体管m1、晶体管m1-2b及晶体管m1-3b的每一个的w长与l长的比例例如为w/l、2
×
w/l、4
×
w/l。注意,电流量根据被设定时的大小决定,有时不依赖于w长或l长。因此,晶体管m1、晶体管m1-2b及晶体管m1-3b的每一个的w长与l长的比例也可以都相同。注意,此时,有时根据电流量各晶体管的栅极的电位不同。在使各晶体管的栅极的电位大致相同时,w长与l长的比例优选为w/l、2
×
w/l、4
×
w/l。
[0446]
此外,在本说明书等中,在没有特别的说明的情况下,与晶体管m2及晶体管m2r同样地,晶体管m2-2b、晶体管m2-3b、晶体管m2-2br及晶体管m2-3br在开启状态下有时最终在线性区域中工作。也就是说,对上述各晶体管的栅极电压、源极电压及漏极电压有时进行适当的偏压,使得该晶体管在线性区域中工作。注意,本发明的一个方式不局限于此。例如,晶体管m2-2b、晶体管m2-3b、晶体管m2-2br及晶体管m2-3br在开启状态下可以在饱和区域中工作,也可以在亚阈值区域中工作。或者,晶体管m2-2b、晶体管m2-3b、晶体管m2-2br及晶体管m2-3br也可以在饱和区域与亚阈值区域之边界附近工作。或者,晶体管m2-2b、晶体管m2-3b、晶体管m2-2br及晶体管m2-3br也可以在线性区域以及饱和区域中工作、在饱和区域以及亚阈值区域中工作、在亚阈值区域以及线性区域中工作、或者在线性区域、饱和区域以及亚阈值区域中工作。
[0447]
在电路mc中,晶体管m2-2b的第一端子与晶体管m2-3b的第一端子、晶体管m2的第一端子、晶体管m1的栅极、晶体管m1-2b的栅极、晶体管m1-3b的栅极、电容c1的第一端子电连接。晶体管m2-2b的第二端子与晶体管m1-2b的第二端子、晶体管m3-2b的第一端子、晶体管m4-2b的第一端子电连接。晶体管m2-3b的第二端子与晶体管m1-3b的第二端子、晶体管m3-3b的第一端子、晶体管m4-3b的第一端子电连接。晶体管m2-2b的栅极、晶体管m2-3b的栅
极与布线wl电连接。
[0448]
此外,同样地,在电路mcr中,晶体管m2-2br的第一端子与晶体管m2-3br的第一端子、晶体管m2r的第一端子、晶体管m1r的栅极、晶体管m1-2br的栅极、晶体管m1-3br的栅极、电容c1的第一端子电连接。晶体管m2-2br的第二端子与晶体管m1-2br的第二端子、晶体管m3-2br的第一端子、晶体管m4-2br的第一端子电连接。晶体管m2-3br的第二端子与晶体管m1-3br的第二端子、晶体管m3-3br的第一端子、晶体管m4-3br的第一端子电连接。晶体管m2-2br的栅极、晶体管m2-3br的栅极与布线wl电连接。
[0449]
另外,图28所示的布线wx1l2b和布线wx1l3b分别相当于图26的电路mp中的布线x1l2b和布线x1l3b。
[0450]
当设定在晶体管m1、晶体管m1-2b、晶体管m1-3b、晶体管m1r、晶体管m1-2br及晶体管m1-3br的每一个中流过的电流时,对布线wl、布线wx1l、布线wx1l2b、布线wx1l3b输入高电平电位,使晶体管m2、晶体管m2-2b、晶体管m2-3b、晶体管m3、晶体管m3-2b及晶体管m3-3b都处于开启状态。此外,对布线x2l、布线x2l2b及布线x2l3b输入低电平电位,使晶体管m4、晶体管m4-2b、晶体管m4-3b、晶体管m4r、晶体管m4-2br及晶体管m4-3br处于关闭状态。
[0451]
此时,通过使设定在晶体管m1、晶体管m1-2b及晶体管m1-3b的每一个中的电流的总和从布线ol向电路mc流过,例如,使7i
ut
流过,电路hc的节点n1成为规定电位。这里,通过对布线wl输入低电平电位,使晶体管m2处于关闭状态,在电路hc的节点n1保持规定电位。由此,以i
ut
、2i
ut
、4i
ut
的电流在晶体管m1、晶体管m1-2b及晶体管m1-3b的每一个的源极与漏极间流过的方式进行设定。
[0452]
此外,同样地,通过使设定在晶体管m1r、晶体管m1-2br及晶体管m1-3br的每一个中的电流的总和从布线olb向电路mcr流过,例如,使7i
ut
流过,电路hcr的节点n1r成为规定电位。并且,通过对布线wl输入低电平电位,在电路hcr的节点n1r保持规定电位,以i
ut
、2i
ut
、4i
ut
的电流在晶体管m1r、晶体管m1-2br及晶体管m1-3br的每一个的源极与漏极间流过的方式进行设定。
[0453]
通过作为电路mp采用图28所示的结构,可以进行与图26的电路mp同样的工作。再者,通过作为电路mp采用图28所示的结构,可以减少在电路mc中在形成晶体管m1、晶体管m1-2b及晶体管m1-3b时产生的结构偏差的影响。此外,同样地,可以减少在电路mcr中在形成晶体管m1r、晶体管m1-2br及晶体管m1-3br时产生的结构偏差的影响。
[0454]
此外,作为图26的电路mp的变形例子,也可以使电路hc及电路hcr具有彼此不同结构。在图29所示的电路mp中,将包括在图26的电路mp中的电路hc及电路hcr的每一个替换为电路hcs及电路hcsr。注意,与图26同样地,晶体管m1、晶体管m1-2b及晶体管m1-3b的每一个的w长与l长的比例为w/l、2
×
w/l、4
×
w/l。
[0455]
电路hcs例如与布线ol、布线olb电连接。电路hcs具有接收从布线ol和布线olb中的一个或两个输入的信息(电位、电流等)并保持对应于该信息的电位的功能。此外,电路hcs与晶体管m1、晶体管m1-2b及晶体管m1-3b的每一个的栅极电连接。电路hcs具有将所保持的该电位施加到晶体管m1、晶体管m1-2b及晶体管m1-3b的每一个的栅极的功能。因此,对应于从电路hcs供应的电位及w长与l长的比例的源极-漏极电流在晶体管m1、晶体管m1-2b及晶体管m1-3b的每一个中流过。注意,电路hcsr具有与电路hcs相同的功能,对应于从电路hcsr供应的电位及w长与l长的比例的源极-漏极电流在晶体管m1r、晶体管m1-2br及晶体管
m1-3br的每一个中流过。
[0456]
图30a示出包括在图29所示的电路mp中的电路hcs及电路hcsr的具体例子。图30a所示的电路hcs及电路hcsr作为一个例子具有包括sram(staticrandomaccessmemory:静态随机存取存储器)的结构。注意,在图30a中,为了示出电路hcs及电路hcsr所包括的电路元件的电连接结构,示出电路mp的整体。
[0457]
注意,在电路hcs及电路hcsr包括sram时,由于sram保持高电平电位和低电平电位中的一个,所以设定在电路mp中的第一数据(权重系数)例如局限于2值(
“‑
1”、“+1”的组合等)、3值(
“‑
1”、“0”、“+1”的组合等)等。例如,在设定在电路mp中的第一数据(权重系数)为“+1”时,在电路hcs中保持高电平电位,在电路hcsr中保持低电平电位即可。此外,例如,在设定在电路mp中的第一数据(权重系数)为
“‑
1”时,在电路hcs中保持低电平电位,在电路hcsr中保持高电平电位即可。此外,例如,在设定在电路mp中的第一数据(权重系数)为“0”时,在电路hcs中保持低电平电位,在电路hcsr中保持低电平电位即可。
[0458]
电路hcs包括晶体管m7、晶体管m7s、反相器环形电路ivr。反相器环形电路ivr包括反相器电路iv1、反相器电路iv2。
[0459]
在本说明书等中,在没有特别的说明的情况下,晶体管m7及晶体管m7s在开启状态下最终在线性区域中工作。也就是说,对上述各晶体管的栅极电压、源极电压及漏极电压有时进行适当的偏压,使得该晶体管在线性区域中工作。注意,本发明的一个方式不局限于此。例如,晶体管m7及晶体管m7s在开启状态下可以在饱和区域中工作,也可以在亚阈值区域中工作。或者,晶体管m7及晶体管m7s也可以在饱和区域与亚阈值区域之边界附近工作。或者,晶体管m7及晶体管m7s也可以在线性区域以及饱和区域中工作、在饱和区域以及亚阈值区域中工作、在亚阈值区域以及线性区域中工作、或者在线性区域、饱和区域以及亚阈值区域中工作。
[0460]
反相器电路iv1及反相器电路iv2的每一个具有在对输入端子输入输入信号时从输出端子输出该输入信号的反转信号的功能。因此,作为反相器电路iv1及反相器电路iv2的每一个例如可以使用反相器电路。图30b示出反相器电路iv1及反相器电路iv2的结构例子。如图30b所示,反相器电路iv1及反相器电路iv2可以由cmos(complementarymos:互补金属氧化物半导体)电路构成。注意,本发明的一个方式不局限于此,例如,也可以由仅使用n沟道型晶体管或p沟道型晶体管的单极性电路构成而不由cmos电路构成。
[0461]
作为反相器电路iv1及反相器电路iv2,例如可以采用nand电路、nor电路、xor电路、组合上述电路的电路等。具体而言,在将反相器电路替换为nand电路时,通过对nand电路的两个输入端子中的一方作为固定电位输入高电平电位,可以使nand电路用作反相器电路。另外,在将反相器电路替换为nor电路时,通过使nor电路的两个输入端子中的一方作为固定电位输入低电平电位,可以使nor电路用作反相器电路。另外,在将反相器电路替换为xor电路时,通过对xor电路的两个输入端子中的一方作为固定电平输入高电平电位,可以使xor电路用作反相器电路。
[0462]
如上所述,在本说明书等中记载的反相器电路可以替换为nand电路、nor电路、xor电路或组合上述电路的电路等的逻辑电路。因此,在本说明书等中,“反相器电路”也可以称为“逻辑电路”。
[0463]
晶体管m7的第一端子与布线ol电连接,晶体管m7的第二端子与反相器电路iv1的
输入端子、反相器电路iv2的输出端子、晶体管m1的栅极、晶体管m1-2b的栅极、晶体管m1-3b的栅极电连接,晶体管m7的栅极与布线wl电连接。晶体管m7s的第一端子与布线olb电连接,晶体管m7s的第二端子与反相器电路iv1的输出端子、反相器电路iv2的输入端子电连接,晶体管m7s的栅极与布线wl电连接。反相器电路iv1及反相器电路iv2的高电源电位输入端子与布线veh电连接,反相器电路iv1及反相器电路iv2的低电源电位输入端子与布线ve电连接。
[0464]
布线veh作为一个例子被用作供应恒电压的布线。作为该恒电压,例如,可以为高电平电位的vdd或者高于低电平电位vss且低于vdd的电位vddl等。另外,该恒电压优选根据电路mp的结构适当地设定。另外,例如,对布线val也可以供应脉冲信号,而不供应恒电压。注意,在本结构例子的说明中,布线veh被用作供应电位vdd的布线。
[0465]
注意,在图30a的电路mp中,电路hcs具有与电路hcsr大致相同的电路结构。因此,为了与电路hcs所包括的电路元件区分,对电路hcsr所包括的电路元件的符号附上“r”。此外,晶体管m7r的第一端子与布线olb电连接,晶体管m7sr的第一端子与布线ol电连接。
[0466]
在对电路hcs及电路hcsr写入信息(例如,电位、电流等)时,对布线wl施加高电平电位,使晶体管m7、晶体管m7s、晶体管m7r、晶体管m7sr处于开启状态。然后,对布线ol输入高电平电位和低电平电位中的一个,对布线olb输入高电平电位和低电平电位中的另一个。尤其是,高电平电位优选与布线veh所供应的电位大致相等。这里,例如,高电平电位为电位vddl且低电平电位为电位vss来进行说明。
[0467]
在对电路hcs写入vddl和vss中的一个且对电路hcsr写入vddl和vss中的另一个之后,对布线wl施加低电平电位,使晶体管m7、晶体管m7s、晶体管m7r及晶体管m7sr处于关闭状态。由此,可以在电路hcs中将vddl和vss中的一个保持在反相器环形电路ivr中,并且可以在电路hcsr中将vddl和vss中的另一个保持在反相器环形电路ivrr中。
[0468]
在将规定电位保持在电路hcs及电路hcsr的每一个中之后,与图26的电路mp同样地,根据布线x1l(在图26中,布线wx1l)、布线x2l、布线x1l2b、布线x2l2b、布线x1l3b及布线x2l3b分别被输入的电位的组合,可以处理从电路mc或电路mcr流过布线ol或布线olb的电流量作为2值或3值的第一数据(权重系数)与多值(图30a所示的结构例子中为15值)的第二数据(神经元信号的值)之积。
[0469]
例如可以将图30a的电路mp改变为图31所示的电路mp。图31的电路mp具有在图30a的电路mp中不设置电路hcsr的结构。作为具体结构,包括在反相器环形电路ivr中的反相器电路iv1的输出端子与电路mcr的晶体管m1r的栅极、电路mcr的晶体管m1-2br的栅极、电路mcr的晶体管m1-3br的栅极电连接。
[0470]
通过作为电路mp采用图31所示的结构,可以与图30a的电路mp同样地工作。注意,图31的电路mp由于在具有图30a的电路mp中不设置电路hcsr的结构,所以可以使其功耗低于图30a的电路mp的功耗。
[0471]
例如可以将图30a的电路mp改变为图32所示的电路mp。图32的电路mp与图22a及图22b的电路mp同样地具有对图30a的电路mp加上布线il、布线ilb的结构。
[0472]
图32的电路mp具有使图30a的电路mp的布线ol及布线olb所具有的功能分离的结构。
[0473]
具体而言,图30a的电路mp的布线ol被用作对电路hcs输入高电平电位或低电平电
位的布线、通过电路mc对布线ve供应电流的布线、通过电路mcr对布线ver供应电流的布线。此外,图30a的电路mp的布线olb被用作对电路hcsr输入高电平电位或低电平电位的布线、通过电路mc对布线ve供应电流的布线、通过电路mcr对布线ver供应电流的布线。
[0474]
另一方面,图32的电路mp的布线ol被用作通过电路mc对布线ve供应电流的布线、通过电路mcr对布线ver供应电流的布线。此外,图32的电路mp的布线olb被用作通过电路mc对布线ve供应电流的布线、通过电路mcr对布线ver供应电流的布线。此外,图32的电路mp的布线il被用作对电路hcs输入高电平电位和低电平电位中的一个的布线,图32的电路mp的布线ilb被用作对电路hcsr输入高电平电位和低电平电位中的另一个的布线。
[0475]
通过作为电路mp采用图32所示的结构,可以与图30a的电路mp同样地工作。
[0476]
在将图32的电路mp的结构应用于图2的运算电路110、图3的运算电路120时,图32的电路mp例如图33所示的电路mp那样也可以具有不设置晶体管m7s及晶体管m7sr的结构。通过作为电路mp采用图33所示的结构,可以与图30a的电路mp同样地工作。
[0477]
图34示出与图30a不同的包括在图29所示的电路mp中的电路hcs及电路hcsr的具体例子。图34所示的电路mp具有包括被称为nosram(nonvolatileoxidesemiconductorrandomaccessmemory:氧化物半导体非易失性随机存取存储器)(注册商标)的存储电路的结构。注意,图34为了示出电路hcs及电路hcsr所包括的电路元件的电连接结构,示出电路mp的整体。
[0478]
电路hcs包括晶体管m8、电容c2。
[0479]
在本说明书等中,在没有特别的说明的情况下,晶体管m8在开启状态下最终在线性区域中工作。也就是说,对上述各晶体管的栅极电压、源极电压及漏极电压有时进行适当的偏压,使得该晶体管在线性区域中工作。注意,本发明的一个方式不局限于此。例如,晶体管m8在开启状态下可以在饱和区域中工作,也可以在亚阈值区域中工作。或者,晶体管m8也可以在饱和区域与亚阈值区域之边界附近工作。或者,晶体管m8也可以在线性区域以及饱和区域中工作、在饱和区域以及亚阈值区域中工作、在亚阈值区域以及线性区域中工作、或者在线性区域、饱和区域以及亚阈值区域中工作。
[0480]
晶体管m8的第一端子与布线il电连接,晶体管m8的第二端子与电容c2的第一端子、晶体管m1的栅极、晶体管m1-2b的栅极、晶体管m1-3b的栅极电连接,晶体管m8的栅极与布线wl电连接。电容c2的第二端子与布线ve电连接。
[0481]
注意,在图34所示的电路hcs中,使晶体管m8的第二端子与电容c2的第一端子的电连接点为节点n2。
[0482]
此外,在图34的电路mp中,电路hcsr具有与电路hcs大致相同的电路结构。因此,为了与电路hcs所包括的电路元件等区分,对电路hcsr所包括的电路元件等的符号附上“r”。此外,晶体管m8r的第一端子与布线ilb电连接。
[0483]
注意,在电路hcs及电路hcsr具有包括nosram的结构时,可以在电路hcs及电路hcsr的每一个中保持高电平电位和低电平电位中的一个。因此,设定在电路mp中的第一数据(权重系数)例如局限于2值(
“‑
1”、“+1”等)、3值(
“‑
1”、“0”、“+1”等)等。例如,在设定在电路mp中的第一数据(权重系数)为“+1”时,在电路hcs中保持高电平电位,在电路hcsr中保持低电平电位即可。此外,例如,在设定在电路mp中的第一数据(权重系数)为
“‑
1”时,在电路hcs中保持低电平电位,在电路hcsr中保持高电平电位即可。此外,例如,在设定在电路mp中
的第一数据(权重系数)为“0”时,在电路hcs中保持低电平电位,在电路hcsr中保持低电平电位即可。注意,在电路hcs、电路hcsr中也可以不保持高电平电位或低电平电位的2值(数字值)而保持3值以上的数字值或模拟值。
[0484]
在对电路hcs及电路hcsr写入信息(这里是电位)时,对布线wl施加高电平电位,使晶体管m8及晶体管m8r处于开启状态。然后,对布线il输入高电平电位和低电平电位中的一个,对布线ilb输入高电平电位和低电平电位中的另一个。这里,例如,高电平电位为电位vddl且低电平电位为电位vss来进行说明。
[0485]
在对电路hcs的电容c2的第一端子写入vddl和vss中的一个且对电路hcsr的电容c2r的第一端子写入vddl和vss中的另一个之后,对布线wl施加低电平电位,使晶体管m8及晶体管m8r处于关闭状态。由此,可以在电路hcs中将vddl和vss中的一个保持在节点n2中,并且可以在电路hcsr中将vddl和vss中的另一个保持在节点n2r中。
[0486]
在将规定电位保持在电路hcs及电路hcsr的每一个中之后,与图26的电路mp同样地,根据布线x1l(在图26中,布线wx1l)、布线x2l、布线x1l2b、布线x2l2b、布线x1l3b及布线x2l3b分别被输入的电位的组合,可以处理从电路mc或电路mcr流过布线ol或布线olb的电流量作为3位的数据。
[0487]
通过作为电路mp采用图34所示的结构,可以与图30a的电路mp同样地工作。
[0488]
图29至图34的每一个所示的电路mp具有包括一个电路hcs及一个电路hcsr的结构,但是电路mp也可以具有多个电路hcs及多个电路hcsr。
[0489]
图35所示的电路mp包括具有与电路hcs相同的功能的电路hcs-2b、电路hcs-3b、具有与电路hcsr相同的功能的电路hcs-2br、电路hcs-3br。具体而言,电路hcs-2b、电路hcs-3b、电路hcs-2br及电路hcs-3br具有接收从布线ol和布线olb中的一个或两个输入的信息(电位、电流等)且保持对应于该信息的电位的功能。尤其是,电路hcs-2b具有施加保持在晶体管m1-2b的栅极中的电位的功能,电路hcs-3b具有施加保持在晶体管m1-3b的栅极中的电位的功能,电路hcs-2br具有施加保持在晶体管m1-2br的栅极中的电位的功能,电路hcs-3br具有施加保持在晶体管m1-3br的栅极中的电位的功能。
[0490]
作为电路hcs、电路hcs-2b、电路hcs-3b、电路hcsr、电路hcs-2br及电路hcs-3br的结构,例如,也可以具有所有的电路包括sram或nosram的结构。此外,也可以具有选自电路hcs、电路hcs-2b、电路hcs-3b、电路hcsr、电路hcs-2br和电路hcs-3br中的一个以上的电路包括sram且其他电路包括nosram的结构。
[0491]
注意,包括在图35的电路mp中的电路hcs、电路hcs-2b、电路hcs-3b、电路hcsr、电路hcs-2br及电路hcs-3br的每一个与布线ol及布线olb电连接,但是根据本发明的一个方式的电路mp的结构不局限于此。例如,在图35的电路mp中,也可以与图32的电路mp同样地设置布线il、ilb,使电路hcs、电路hcs-2b及hcs-3b与布线il、布线ilb电连接。此外,例如,在图35的电路mp中,也可以与图33、图34的电路mp同样地设置布线il及布线ilb,使电路hcs、电路hcs-2b及hcs-3b与布线il电连接,使电路hcsr、电路hcs-2br及电路hcs-3br与布线ilb电连接。
[0492]
注意,本结构例子可以与本说明书所示的其他结构例子等适当地组合。
[0493]
《结构例子6》图36所示的电路mp是作为多个保持部包括电路hcs、电路hcs-2b、电路hcs-3b、电
路hcsr、电路hcs-2br、电路hcs-3br且具有与图35的电路mp不同的电路结构的一个例子。
[0494]
在包括在图36的电路mp中的晶体管m1的w长与l长的比例为w/l时,晶体管m1-2b的w长与l长的比例优选为2
×
w/l,晶体管m1-3b的w长与l长的比例优选为4
×
w/l。再者,晶体管m1r的尺寸优选与晶体管m1相同,晶体管m1-2br的尺寸优选与晶体管m1-2b相同,晶体管m1-3br的尺寸优选与晶体管m1-3b相同。
[0495]
电路hcs与布线ol、晶体管m1的栅极电连接,电路hcs-2b与布线ol、晶体管m1-2b的栅极电连接,电路hcs-3b与布线ol、晶体管m1-3b的栅极电连接。
[0496]
晶体管m1、晶体管m1-2b、晶体管m1-3b的每一个的第一端子与布线ve电连接,晶体管m3的第一端子与晶体管m4的第一端子、晶体管m1、晶体管m1-2b、晶体管m1-3b的每一个的第二端子电连接。晶体管m3的第二端子与布线ol电连接,晶体管m3的栅极与布线x1l电连接。晶体管m4的第二端子与布线olb电连接,晶体管m4的栅极与布线x2l电连接。
[0497]
在图36的电路mp中,电路mcr具有与电路mc大致相同的电路结构。因此,为了与电路mc所包括的电路元件区分,对电路mcr所包括的电路元件的符号附上“r”。此外,晶体管m3r的第二端子与布线olb电连接,晶体管m4r的第二端子与布线ol电连接。
[0498]
通过在电路mcr所包括的电路hcsr、电路hcs-2br、电路hcs-3br中保持低电平电位,例如保持vss,可以使晶体管m1r、晶体管m1-2br、晶体管m1-3br的每一个处于关闭状态。此时,通过在电路mc所包括的电路hcs、电路hcs-2b、电路hcs-3b的每一个保持高电平电位或低电平电位,根据保持在电路hcs、电路hcs-2b、电路hcs-3b的每一个中的电位决定在晶体管m1、晶体管m1-2b、晶体管m1-3b的每一个中流过的电流的量。然后,通过使晶体管m3处于开启状态,且使晶体管m4处于关闭状态,可以将该电流从布线ol通过电路mc向布线ve流过。此外,通过使晶体管m3处于关闭状态,且使晶体管m4处于开启状态,可以将该电流从布线olb通过电路mc向布线ve流过。
[0499]
此外,通过在电路mc所包括的电路hcs、电路hcs-2b、电路hcs-3b中保持低电平电位,例如保持vss,可以使晶体管m1、晶体管m1-2b、晶体管m1-3b的每一个处于关闭状态。此时,通过在电路mcr所包括的电路hcsr、电路hcs-2br、电路hcs-3br的每一个保持高电平电位或低电平电位,根据保持在电路hcsr、电路hcs-2br、电路hcs-3br的每一个中的电位决定在晶体管m1r、晶体管m1-2br、晶体管m1-3br的每一个中流过的电流的量。然后,通过使晶体管m3r处于开启状态,且使晶体管m4r处于关闭状态,可以将该电路从布线olb通过电路mcr向布线ver流过。此外,通过使晶体管m3r处于关闭状态,且使晶体管m4r处于开启状态,可以将该电流从布线ol通过电路mcr向布线ver流过。
[0500]
当在图36的电路mp中例如保持正的第一数据(例如,这里是权重系数)时,在电路hcsr、电路hcs-2br、电路hcs-3br中保持低电平电位,在电路hcs、电路hcs-2b、电路hcs-3b的每一个中保持对应于正的第一数据(权重系数)的电位的组合。另外,在图36的电路mp中例如保持负的第一数据(权重系数)时,在电路hcs、电路hcs-2b、电路hcs-3b中保持低电平电位,在电路hcsr、电路hcs-2br、电路hcs-3br的每一个中保持对应于负的第一数据(权重系数)的电位的组合。
[0501]
图37示出包括在图36所示的电路mp中的电路hcs、电路hcs-2b、电路hcs-3b、电路hcsr、电路hcs-2br、电路hcs-3br的具体例子。图37所示的电路hcs、电路hcs-2b、电路hcs-3b、电路hcsr、电路hcs-2br、电路hcs-3br具有包括sram的结构。注意,在图37中,省略反相
器电路iv1、反相器电路iv2的每一个的高电源电位输入端子、低电源电位输入端子的记载。此外,关于图37所示的电路hcs、电路hcs-2b、电路hcs-3b、电路hcsr、电路hcs-2br、电路hcs-3br的结构,参照包括在图30a的电路mp中的电路hcs、电路hcsr的说明。
[0502]
作为与图37不同的具体例子,包括在图36所示的电路mp中的电路hcs、电路hcs-2b、电路hcs-3b、电路hcsr、电路hcs-2br、电路hcs-3br如图38所示也可以具有包括nosram的结构。注意,关于图38所示的电路hcs、电路hcs-2b、电路hcs-3b、电路hcsr、电路hcs-2br、电路hcs-3br的结构,参照包括在图34的电路mp中的电路hcs、电路hcsr的说明。
[0503]
此外,图36的电路mp作为一个例子可以变形为图39所示的电路mp。图39的电路mp如图26至图35所示的电路mp那样是能够处理多值的第二数据(例如,这里是神经元的信号的值(运算值))的电路。图39的电路mp具有对包括在图36的电路mp中的电路mc加上晶体管m3-2x、晶体管m4-2x、晶体管m1x、晶体管m1x-2b、晶体管m1x-3b的结构。注意,作为一个例子,如图37所示,包括在图39的电路mp中的电路hcs、电路hcs-2b、电路hcs-3b、电路hcsr、电路hcs-2br、电路hcs-3br具有包括sram的结构。
[0504]
另外,在本说明书等中,在没有特别的说明的情况下,与晶体管m1同样地,晶体管m1x、晶体管m1x-2b及晶体管m1x-3b在开启状态下有时最终在饱和区域中工作。也就是说,对上述各晶体管的栅极电压、源极电压及漏极电压有时进行适当的偏压,使得该晶体管在饱和区域中工作。注意,本发明的一个方式不局限于此。为了减小所供应的电压的振幅值,晶体管m1x、晶体管m1x-2b、晶体管m1x-3b也可以在线性区域中工作。另外,为了减小流过晶体管m1x、晶体管m1x-2b及晶体管m1x-3b的电流量,晶体管m1x、晶体管m1x-2b及晶体管m1x-3b也可以在亚阈值区域中工作。或者,晶体管m1x、晶体管m1x-2b及晶体管m1x-3b也可以在饱和区域与亚阈值区域之边界附近工作。另外,在第一数据(权重系数)为模拟值时,根据第一数据(权重系数)的大小,晶体管m1x、晶体管m1x-2b、晶体管m1x-3b例如也可以在线性区域、饱和区域以及亚阈值区域中工作。或者,晶体管m1x、晶体管m1x-2b、晶体管m1x-3b也可以在线性区域以及饱和区域中工作、在亚阈值区域以及线性区域中工作、或者在饱和区域以及亚阈值区域中工作。
[0505]
另外,在本说明书等中,在没有特别的说明的情况下,与晶体管m3、晶体管m4同样地,晶体管m3-2x、晶体管m4-2x在开启状态下有时最终在线性区域中工作。也就是说,对上述各晶体管的栅极电压、源极电压及漏极电压有时进行适当的偏压,使得该晶体管在线性区域中工作。注意,本发明的一个方式不局限于此。例如,晶体管m3-2x及晶体管m4-2x在开启状态下可以在饱和区域中工作,也可以在亚阈值区域中工作。或者,晶体管m3-2x及晶体管m4-2x也可以在饱和区域与亚阈值区域之边界附近工作。或者,晶体管m3-2x及晶体管m4-2x也可以在线性区域以及饱和区域中工作、在饱和区域以及亚阈值区域中工作、在亚阈值区域以及线性区域中工作、或者在线性区域、饱和区域以及亚阈值区域中工作。
[0506]
包括在图39的电路mp中的晶体管m1x的w长与l长的比例优选为2
×
w/l。此外,晶体管m1x-2b的w长与l长的比例优选为4
×
w/l。另外,晶体管m1x-3b的w长与l长的比例优选为8
×
w/l。在配置更多的晶体管时,同样地以2的幂增大w长与l长的比例即可。
[0507]
晶体管m1x、晶体管m1x-2b、晶体管m1x-3b的每一个的第一端子与布线ve电连接。晶体管m1x的栅极与电路hcs电连接,晶体管m1x-2b的栅极与电路hcs-2b电连接,晶体管m1x-3b的栅极与电路hcs-3b电连接。晶体管m3-2x的第一端子与晶体管m4-2x的第一端子、
晶体管m1x、晶体管m1x-2b、晶体管m1x-3b的每一个的第二端子电连接。晶体管m3-2x的第二端子与布线ol电连接,晶体管m3-2x的栅极与布线x1l2x电连接。晶体管m4-2x的第二端子与布线olb电连接,晶体管m4-2x的栅极与布线x2l2x电连接。
[0508]
注意,在图39的电路mp中,电路hcsr具有与电路hcs大致相同的电路结构。因此,为了与电路hcs所包括的电路元件等区分,对电路hcsr所包括的电路元件等的符号附上“r”。晶体管m3-2xr的第二端子与布线olb电连接,晶体管m4-2xr的第二端子与布线ol电连接。
[0509]
布线x1l2x是用来切换晶体管m3-2x、晶体管m3-2xr的开启状态及关闭状态的布线,布线x2l2x是用来切换晶体管m4-2x、m4-2xr的开启状态及关闭状态的布线。
[0510]
当在电路hcs中保持高电平电位,例如保持vddl时,在晶体管m1的源极与漏极间电流量i
ut
流过。此时,当在电路hcs-2b中保持高电平电位,例如保持vddl时,由于晶体管m1-2b的w长与l长的比例为晶体管m1的w长与l长的比例的2倍,所以在晶体管m1-2b的源极与漏极间电流量2i
ut
流过。此外,当在电路hcs-3b中保持高电平电位,例如保持vddl时,由于晶体管m1-3b的w长与l长的比例为晶体管m1的w长与l长的比例的4倍,所以在晶体管m1-3b的源极与漏极间电流量4i
ut
流过。
[0511]
也就是说,根据保持在电路hcs、电路hcs-2b、电路hcs-3b的每一个中的电位,从晶体管m3的第一端子与晶体管m4的第一端子的电连接点通过电路mc向布线ve流过的电流每隔i
ut
从0变化至7i
ut
。这里,将该电流量称为i
x1

[0512]
此外,当在电路hcs中保持高电平电位,例如保持vddl时,由于晶体管m1x的w长与l长的比例为晶体管m1的w长与l长的比例的2倍,所以在晶体管m1x的源极与漏极间电流量2i
ut
流过。另外,当在电路hcs-2b中保持高电平电位,例如保持vddl时,由于晶体管m1x-2b的w长与l长的比例为晶体管m1的w长与l长的比例的4倍,所以在晶体管m1x-2b的源极与漏极间电流量4i
ut
流过。另外,当在电路hcs-3b中保持高电平电位,例如保持vddl时,由于晶体管m1x-3b的w长与l长的比例为晶体管m1的w长与l长的比例的8倍,所以在晶体管m1x-3b的源极与漏极间电流量8i
ut
流过。
[0513]
也就是说,根据保持在电路hcs、电路hcs-2b、电路hcs-3b的每一个中的电位,从晶体管m3-2x的第一端子与晶体管m4-2x的第一端子的电连接点通过电路mc向布线ve的电流每隔2i
ut
从0变化至14i
ut
。这里,将该电流量称为i
x2
。也就是说,i
x2
=2i
x1
成立。
[0514]
这里,考虑在图39的电路mp中设定正的第一数据(权重系数)时,对布线x1l、布线x2l、布线x1l2x、布线x2l2x的每一个施加高电平电位或低电平电位的情况。
[0515]
在对布线x1l、布线x2l、布线x1l2x、布线x2l2x的每一个供应低电平电位时,在电路mc中,晶体管m3、晶体管m3-2x、晶体管m4、晶体管m4-2x成为关闭状态。此时,电流不从布线ol通过电路mc向布线ve流过。
[0516]
在对布线x1l供应高电平电位,且对布线x2l、布线x1l2x、布线x2l2x的每一个供应低电平电位时,在电路mc中,晶体管m3处于开启状态,晶体管m3-2x、晶体管m4、晶体管m4-2x处于关闭状态。此时,电流量i
x1
从布线ol通过电路mc向布线ve流过。
[0517]
在对布线x2l供应高电平电位,且对布线x1l、布线x1l2x、布线x2l2x的每一个供应低电平电位时,在电路mc中,晶体管m4处于开启状态,晶体管m3、晶体管m3-2x、晶体管m4-2x处于关闭状态。此时,电流量i
x1
从布线olb通过电路mc向布线ve流过。
[0518]
在对布线x1l2x供应高电平电位,且对布线x1l、布线x2l、布线x2l2x的每一个供应
低电平电位时,在电路mc中,晶体管m3-2x处于开启状态,晶体管m3、晶体管m4、晶体管m4-2x处于关闭状态。此时,电流量i
x2
=2i
x1
从布线ol通过电路mc向布线ve流过。
[0519]
在对布线x2l2x供应高电平电位,且对布线x1l、布线x2l、布线x1l2x的每一个供应低电平电位时,在电路mc中,晶体管m4-2x处于开启状态,晶体管m3、晶体管m4、晶体管m3-2x处于关闭状态。此时,电流量i
x2
=2i
x1
从布线olb通过电路mc向布线ve流过。
[0520]
再者,在对布线x1l、布线x1l2x供应高电平电位,对布线x2l、布线x2l2x的每一个供应低电平电位时,在电路mc中,晶体管m3、晶体管m3-2x处于开启状态,晶体管m4、晶体管m4-2x处于关闭状态。此时,电流量i
x1
+i
x2
=3i
x1
从布线ol通过电路mc向布线ve流过。
[0521]
同样地,在对布线x2l、布线x2l2x供应高电平电位,且对布线x1l、布线x1l2x的每一个供应低电平电位时,在电路mc中,晶体管m4、晶体管m4-2x处于开启状态,晶体管m3、晶体管m3-2x处于关闭状态。此时,电流量i
x1
+i
x2
=3i
x1
从布线olb通过电路mc向布线ve流过。
[0522]
如上所述,包括在图39的电路mp中的电路mc可以将对应于保持在电路hcs、电路hcs-2b、电路hcs-3b的每一个中的电位的电流从布线ol或布线olb通过电路mc向布线ve流过,且根据输入到布线x1l、布线x2l、布线x1l2x、布线x2l2x的电位将该电流增大0倍、1倍、2倍、3倍而将其输出。
[0523]
在上述中,说明在图39的电路mp中设定正的第一数据(权重系数)的例子,也与在图39的电路mp中设定负的第一数据(权重系数)的情况相同,电路mp可以将电流从布线ol或布线olb通过电路mcr向布线ver流过,且根据输入到布线x1l、布线x2l、布线x1l2x、布线x2l2x的电位,将该电流增大0倍、1倍、2倍、3倍而将其输出。
[0524]
当在图39的电路mp中设定0的第一数据(权重系数)时,对电路hcs、电路hcs-2b、电路hcs-3b、电路hcsr、电路hcs-2br、电路hcs-3br的每一个供应低电平电位,例如供应vss即可。由此,可以在晶体管m1、晶体管m1-2b、晶体管m1-3b、晶体管m1r、晶体管m1-2br、晶体管m1-3br、晶体管m1x、晶体管m1x-2b、晶体管m1x-3b、晶体管m1xr、晶体管m1x-2br、晶体管m1x-3br的每一个的源极与漏极间流过的电流量设定为0。由此,不管布线x1l、布线x2l、布线x1l2x、布线x2l2x所供应的电位如何,电流不从布线ol向电路mc或电路mcr流过,电流不从布线olb向电路mc或电路mcr流过。
[0525]
如上所述,在图39所示的电路mp中,通过使保持在电路hcs、电路hcs-2b、电路hcs-3b的每一个中的电位为对应于第一数据(权重系数)的电位,使输入到布线x1l、布线x2l、布线x1l2x、布线x2l2x的电位为对应于第二数据(神经元的信号的值)的电位,可以处理从布线ol或布线olb通过电路mc向布线ve流过的电流的量作为第一数据(权重系数)与第二数据(神经元的信号的值)之积。
[0526]
注意,本结构例子可以与本说明书所示的其他结构例子等适当地组合。
[0527]
《结构例子7》在结构例子1至结构例子6中,说明可以以电路mp所保持的第一数据(例如,这里是权重系数)为“正的多值”、“0”、“负的多值”计算第一数据与第二数据(例如,这里是神经元的信号的值)之积的电路mp,在本结构例子中,作为一个例子,说明可以计算第一数据(权重系数)的“正的多值”、“0”、“负的多值”与第二数据(神经元的信号的值)的“+1”、“0”的2值之积的电路mp。
[0528]
图40所示的电路mp是图16a的电路mp中不设置晶体管m4、晶体管m4r的电路。另外,
该电路mp中不设置有晶体管m4、晶体管m4r,所以在图40中,也不设置有用来对晶体管m4、晶体管m4r的各栅极输入电位的布线x2l。另外,在图40中将相当于布线x1l的布线记为布线wxl。注意,图40示出配置电路mc及电路mcr的情况的例子,但本发明的一个方式不局限于此。例如,在作为权重不使用负值的情况或在作为权重不使用正值的情况等下,也可以不设置电路mc和电路mcr中的至少一方。注意,这里,示出用于图16a情况的例子,但是本发明的一个方式不局限于此。在其他附图中,也可以同样地不设置晶体管m4、晶体管m4r。
[0529]
设定在图40的电路mp中的第一数据(权重系数)与设定在图15a的电路mp中的第一数据(权重系数)相同。因此,设定在图40的电路mp中的第一数据(权重系数)参照图15a的电路mp的说明。作为该第一数据(权重系数)例如可以为
“‑
2”、
“‑
1”、“0”、“+1”、“+2”。
[0530]
另外,对图40的电路mp输入的第二数据(神经元的信号的值)在对布线wxl施加高电平电位时设定为“+1”,在对布线wxl施加低电平电位时设定为“0”。
[0531]
图40的电路mp的工作参照结构例子1的工作例子的说明。
[0532]
当在图40的电路mp中如上那样地定义第一数据(权重系数)及所输入的第二数据(神经元的信号的值)时,关于各权重系数,以下表表示:通过对电路mp输入第二数据(神经元的信号的值),从布线ol的节点outa输出的电流i
ol
的变化的有无;以及从布线olb的节点outb输出的电流i
olb
的变化的有无。注意,在下表中,将高电平电位记为high,将低电平电位记为low。
[0533]
[表5]
[0534]
如上表所示,图40的电路mp可以计算第一数据(权重系数)的正的多值或负的多值与第二数据(神经元的信号的值)的“+1”、“0”的2值之积。注意,第一数据(权重系数)不局限于5值,也可以为2值,也可以为5值以外的多值。作为2值,例如可以为“+1”、“0”的2值或者“+1”、
“‑
1”的2值。此外,第一数据(权重系数)例如也可以为模拟值或多位(多值)的数字值。
[0535]
注意,在本工作例子中,在电路mp的电路mc、电路mcr的电路hc、电路hcr的每一个中设定的电流为多值,所设定的电流也可以为模拟值。例如,在第一数据(权重系数)为“正的模拟值”时,在电路hc的节点n1中设定模拟值的电流,在节点n1中保持对应于该电流的电位,在电路hcr的节点n1r中保持低电平电位。在第一数据(权重系数)为“负的模拟值”时,例如,在电路hc的节点n1中保持低电平电位,在电路hcr的节点n1r中设定模拟值的电流,在节点n1r中保持对应于该电流的电位。电流i
ol
及电流i
olb
的电流的高低成为对应于模拟电位的
高低。
[0536]
注意,本结构例子可以与本说明书所示的其他结构例子等适当地组合。
[0537]
《结构例子8》接着,对包括在电路ild中的晶体管及包括在电路mp中的晶体管具有相同的极性时的电路mp的结构例子进行说明。
[0538]
这里,说明在包括在电路ild的电流源电路isc中的恒流源电路isc1(恒流源电路isc2、恒流源电路isc3)具有包括图8c的n沟道型晶体管的结构时,所包括的晶体管都是n沟道型晶体管的电路mp的结构例子。
[0539]
图41a所示的电路mp是改变图21a的电路mp的结构的电路,图41a的电路mp与图21a的电路mp的不同之处在于电路hc的结构、晶体管m1的背栅极的连接点。因此,省略图41a的电路mp中的与图21a的电路mp相同的连接结构的部分的说明。
[0540]
在图41a的电路mp中,电路hc包括晶体管m9、电容c3。
[0541]
另外,在本说明书等中,在没有特别的说明的情况下,晶体管m9在开启状态下最终在线性区域中工作。也就是说,对上述各晶体管的栅极电压、源极电压及漏极电压有时进行适当的偏压,使得该晶体管在线性区域中工作。注意,本发明的一个方式不局限于此。例如,晶体管m9在开启状态下可以在饱和区域中工作,也可以在亚阈值区域中工作。或者,晶体管m9也可以在线性区域以及饱和区域中工作、在饱和区域以及亚阈值区域中工作、在亚阈值区域以及线性区域中工作、或者在线性区域、饱和区域以及亚阈值区域中工作。
[0542]
晶体管m1的栅极与晶体管m9的第一端子、电容c3的第一端子电连接。晶体管m9的第二端子与布线ve电连接。晶体管m1的背栅极与晶体管m1的第二端子、电容c3的第二端子、晶体管m3的第一端子、晶体管m4的第一端子电连接。
[0543]
通过电连接晶体管m1的背栅极与晶体管m1的第二端子对晶体管m1的第一端子供应高电平电位,晶体管m1有时可以提高晶体管m1的阈值电压。注意,本发明的一个方式的半导体装置不局限于此,例如,图41a的电路mp也可以具有晶体管m1的背栅极与供应低电平电位的布线等电连接的结构。另外,例如,图41a的电路mp也可以具有晶体管m1不包括背栅极的结构。
[0544]
注意,在图41a所示的电路hc中,将晶体管m1的栅极、晶体管m9的第一端子、电容c3的第一端子的电连接点记为节点n3。
[0545]
在图41a的电路mp中,电路mcr具有与电路mc大致相同的电路结构。因此,为了与电路mc所包括的电路元件区分,对电路mcr所包括的电路元件的符号附上“r”。
[0546]
在图41a的电路mp中,作为布线ve、布线ver所供应的电位,例如优选为高电平电位。在图8c所示的恒流源电路isc1(恒流源电路isc2、恒流源电路isc3)中,由于布线vso为低电平电位,所以布线ve、布线ver所供应的电位为高电平电位,可以将电流从电路mc或电路mcr通过布线ol、布线olb向电路ild流过。这里,将布线ve、布线ver所供应的电位设定为vdd进行说明。
[0547]
在图41a的电路mc中,当设定在晶体管m1的源极与漏极间流过的电流(设定第一数据(例如,这里是权重系数))时,对布线wx1l、布线wl施加高电平电位,使晶体管m3、晶体管m9处于开启状态。由此,电路hc的节点n3的电位成为vdd。然后,通过在图8a的电流源电路isc中生成电流,该电流从布线ve通过晶体管m1的源极与漏极间、电路mc的晶体管m3的源极
与漏极间、布线ol向电流源电路isc流过。此时,根据电容c3的第二端子的电位(晶体管m1的第二端子的电位)决定该电流。这里,通过对布线wx1l、布线wl供应低电平电位,且使晶体管m3、晶体管m9处于关闭状态,可以在电容c3中保持晶体管m1的栅极与晶体管m1的第二端子之间的电压。由此,可以在晶体管m1的源极与漏极间设定该电流。然后,通过对布线wx1l、布线x2l的每一个供应规定电位,使晶体管m3和晶体管m4中的一个处于开启状态,使晶体管m3和晶体管m4中的另一个处于关闭状态,可以将被设定的电流从布线ve通过电路mc向布线ol或布线olb流过。
[0548]
图41b示出图41a的电路mp的结构的变形例子。图41b的电路mp与图41a的电路mp的不同之处在于晶体管m9的第二端子与布线va电连接而不与布线ve电连接,晶体管m9r的第二端子与布线var电连接而不与布线ver电连接。
[0549]
布线va例如被用作供应恒电压的布线。尤其是,该恒电压优选为接地电位、低电平电位、高于vss且布线ve所供应的高电平电位、低于vdd的电位。这里,布线va所供应的恒电压为vm,电位vm为高于接地电位、低电平电位、vss且低于布线ve所供应的高电平电位、vdd的电位。
[0550]
在图41b的电路mp中,在晶体管m1的第二端子的电位为vs时,晶体管m1的源极与漏极间电压为vdd-vs。此外,在对晶体管m1的栅极输入vm时,晶体管m1的栅极-源极间电压为v
m-vs。为了使晶体管m1在饱和区域中工作,在将晶体管m1的阈值电压设定为v
th
时,满足vdd-vs》v
m-v
s-v
th
的关系即可。在晶体管m1为常开启特性时,即使栅极-源极间电压v
m-vs为负值,栅极-源极间电压vdd-vs也为正值,因此晶体管m1可以在饱和区域中工作。
[0551]
注意,常开启特性是指即使不对晶体管的栅极施加电压也存在沟道,而电流流过该晶体管的状态。
[0552]
此外,在图41b的电路mp中,也可以将布线va及布线var组合为一个布线。例如,如图41c所示的电路mp,也可以将布线va及布线var作为布线va组合为一个布线,沿着列方向设置。注意,布线va也可以沿着行方向设置而不是列方向(未图示)。
[0553]
接着,对与图41a至图41c不同的恒流源电路isc1(恒流源电路isc2、恒流源电路isc3)及电路mp为n沟道型晶体管的单极性电路时的电路mp的结构例子进行说明。
[0554]
图42所示的电路mp是图41a的电路mp以能够处理多值的第二数据(例如,这里是神经元的信号的值(运算值))的方式变形的电路。
[0555]
包括在图42的电路mp中的电路mc除了图41a的电路mp所包括的电路元件以外还包括晶体管m1-2b、晶体管m3-2b、晶体管m4-2b、晶体管m10、电路hc-2b。
[0556]
在本说明书等中,在没有特别的说明的情况下,与晶体管m1同样地,晶体管m1-2b在开启状态下有时最终在饱和区域中工作。也就是说,对上述各晶体管的栅极电压、源极电压及漏极电压有时进行适当的偏压,使得该晶体管在饱和区域中工作。注意,本发明的一个方式不局限于此。为了减小所供应的电压的振幅值,晶体管m1-2b也可以在线性区域中工作。另外,为了减小流过晶体管m1-2b的电流量,晶体管m1-2b也可以在亚阈值区域中工作。或者,晶体管m1-2b也可以在饱和区域与亚阈值区域之边界附近工作。另外,在第一数据(权重系数)为模拟值时,根据第一数据(权重系数)的大小,晶体管m1-2b例如也可以在线性区域、饱和区域以及亚阈值区域中工作。或者,晶体管m1-2b也可以在线性区域以及饱和区域中工作、在亚阈值区域以及线性区域中工作、或者在饱和区域以及亚阈值区域中工作。
[0557]
另外,在本说明书等中,在没有特别的说明的情况下,晶体管m3-2b、晶体管m4-2b及晶体管m10在开启状态下有时最终在线性区域中工作。也就是说,对上述各晶体管的栅极电压、源极电压及漏极电压有时进行适当的偏压,使得该晶体管在线性区域中工作。注意,本发明的一个方式不局限于此。例如,晶体管m3-2b、晶体管m4-2b及晶体管m10在开启状态下可以在饱和区域中工作,也可以在亚阈值区域中工作。或者,晶体管m3-2b、晶体管m4-2b及晶体管m10也可以在饱和区域与亚阈值区域之边界附近工作。或者,晶体管m3-2b、晶体管m4-2b及晶体管m10也可以在线性区域以及饱和区域中工作、在饱和区域以及亚阈值区域中工作、在亚阈值区域以及线性区域中工作、或者在线性区域、饱和区域以及亚阈值区域中工作。
[0558]
接着,说明图42的电路mp的结构。注意,省略图42的电路mp中的与图41a的电路mp相同的结构的部分的说明。
[0559]
电路hc-2b具有与电路hc相同的结构。因此,在说明包括在电路hc-2b中的电路元件等时,有时使用包括在电路hc中的电路元件的符号进行说明。
[0560]
在图42的电路mp的电路mc中,晶体管m1-2b的第一端子与布线ve电连接。晶体管m1-2b的第二端子与晶体管m1-2b的背栅极、晶体管m3-2b的第一端子、晶体管m4-2b的第一端子电连接。晶体管m1-2b的栅极与电路hc-2b的晶体管m9的第一端子、电路hc-2b的电容c3的第一端子电连接。电路hc-2b的电容c3的第二端子与晶体管m10的第一端子、晶体管m1-2b的第二端子电连接。晶体管m3-2b的第二端子与布线ol电连接。晶体管m3-2b的栅极与布线x1l2b电连接。晶体管m4-2b的第二端子与布线olb电连接。晶体管m4-2b的栅极与布线x2l2b电连接。晶体管m10的第二端子与晶体管m1的第二端子、晶体管m3的第一端子、晶体管m4的第一端子、电路hc的电容c3的第二端子电连接。电路hc-2b的晶体管m9的第二端子与电路hc的晶体管m9的第一端子电连接。电路hc-2b的晶体管m9的栅极、晶体管m10的栅极与布线wl电连接。
[0561]
注意,在图42的电路mp中,电路mcr具有与电路mc大致相同的电路结构。因此,为了与电路mc所包括的电路元件区分,对电路mcr所包括的电路元件的符号附上“r”。此外,晶体管m3-2br的第二端子与布线olb电连接,晶体管m4-2br的第二端子与布线ol电连接。
[0562]
在图42的电路mp中,晶体管m3、晶体管m3-2b、晶体管m3r、晶体管m3-2br、晶体管m4、晶体管m4-2b、晶体管m4r、晶体管m4-2br的尺寸例如沟道长度及沟道宽度优选彼此相等。通过采用上述电路结构,有可能有效地进行布局。
[0563]
在图42的电路mp中,包括在电路hcr、电路hc-2br中的每一个的晶体管m9r的尺寸例如沟道长度及沟道宽度优选与包括在电路hc、电路hc-2b中的每一个的晶体管m9相等。此外,晶体管m10r的尺寸优选与晶体管m10相等。
[0564]
此外,在晶体管m1的w长与l长的比例为w/l时,晶体管m1-2b的w长与l长的比例优选为2w/l。此外,晶体管m1r的尺寸优选与晶体管m1相等,晶体管m1-2br的尺寸优选与晶体管m1-2b相等。
[0565]
布线x1l2b是用来切换晶体管m3-2b、晶体管m3-2br的开启状态及关闭状态的布线,布线x2l2b是用来切换晶体管m4-2b、晶体管m4-2br的开启状态及关闭状态的布线。
[0566]
接着,对图42的电路mp中的电流的设定的方法(第一数据(权重系数)的设定方法)进行说明。
[0567]
首先,对布线wx1l、布线wl供应高电平电位,使晶体管m3、晶体管m10、电路hc的晶体管m9、电路hc-2b的晶体管m9处于开启状态。由此,电路hc的节点n3的电位成为vdd,电路hc-2b的节点n3的电位成为vdd。然后,通过在图8a的电流源电路isc中作为电流量生成3i
ut
的电流,从布线ve向晶体管m1的源极与漏极间及晶体管m1-2b的源极与漏极间不同的电流流过。具体而言,由于晶体管m1-2b的w长与l长的比例为晶体管m1的w长与l长的比例的2倍,所以在晶体管m1的源极与漏极间流过的电流的量为i
ut
,在晶体管m1-2b的源极与漏极间流过的电流的量为2i
ut
。在晶体管m1与晶体管m1-2b的每一个的源极与漏极间流过的电流通过晶体管m3的源极与漏极间、布线ol向电流源电路isc流过。此时,电路hc的电容c3的第二端子的电位(晶体管m1的第二端子的电位)根据在晶体管m1的源极与漏极间流过的电流决定,电路hc-2b的电容c3的第二端子的电位(晶体管m1-2b的第二端子的电位)根据在晶体管m1-2b的源极与漏极间流过的电流决定。这里,通过对布线wx1l、布线wl供应低电平电位,使晶体管m3、晶体管m10、电路hc的晶体管m9、电路hc-2b的晶体管m9处于关闭状态,可以在电路hc的电容c3中保持晶体管m1的栅极与晶体管m1的第二端子之间的电压,可以在电路hc-2b的电容c3中保持晶体管m1-2b的栅极与晶体管m1-2b的第二端子之间的电压。由此,可以在将晶体管m1的源极与漏极间流过的电流的量设定为i
ut
,可以在将晶体管m1-2b的源极与漏极间流过的电流的量设定为2i
ut

[0568]
然后,通过根据第二数据(神经元的信号的值)对布线wx1l、布线x2l、布线x1l2b、布线x2l2b的每一个供应规定电位,可以在电路mp中计算所设定的第一数据(权重系数)与第二数据(神经元的信号的值)之积。注意,关于多值的第一数据(权重系数)与多值的第二数据(神经元的信号的值)之积的计算的详细内容,在结构例子5中进行说明。
[0569]
注意,可以将图42的电路mp的结构改变为图43的电路mp的结构。图43的电路mp相当于在图42的电路mp中电路hc-2b的晶体管m9的第二端子的连接对象从电路hc的晶体管m9的第一端子改变为布线ve,电路hc-2br的晶体管m9r的第二端子的连接对象从电路hcr的晶体管m9r的第一端子改变为布线ver的结构。图43的电路mp可以与图42的电路mp同样地工作。
[0570]
此外,图42的电路mp及图43的电路mp如图41b的电路mp那样也可以将布线ve分为布线ve及布线va且将布线ver分为布线ver及布线var。图44所示的电路mp具有在图42的电路mp中将布线ve分为布线ve及布线va的结构,图45所示的电路mp具有在图43的电路mp中将布线ve分为布线ve及布线va的结构。
[0571]
图44的电路mp、图45的电路mp可以与图42、图43的每一个的电路mp同样地工作。注意,如图42至图45等所示,在电容c3与晶体管m1等的源极端子连接,该源极端子不与电源线等连接,其漏极端子与电源线等连接的情况下,在将正电流从电路ild通过切换电路tw[j]供应给布线ol或布线olb时,布线vcn所供应的恒电压优选为供应给布线ve、布线va等的电压,例如为高电平电位(例如vdd等)。也就是说,在从布线vcn供应恒电压时,电容c3的两端的电位差优选近于零。也就是说,优选使晶体管m1处于关闭状态。换言之,优选对布线vcn供应电流不从电路mc输出的电位。另一方面,优选将布线vcn2设定为vss、接地电位等的低电平的电位。通过将布线vcn及布线vcn2所供应的电位设定为合适的电位,可以将电流从电路mp流过布线ol及/或布线olb。
[0572]
注意,本结构例子可以与本说明书所示的其他结构例子等适当地组合。
[0573]
《结构例子9》图46示出能够用于图14的运算电路170的电路bs及电路mp的一个例子。
[0574]
作为电路bs,例如,如图46所示,可以使用图40的电路mp。电路bmc相当于图40的电路mp的电路mc,电路bmcr相当于图40的电路mp的电路mcr。晶体管m11相当于图40的电路mp的晶体管m1,晶体管m12相当于图40的电路mp的晶体管m2,晶体管m13相当于图40的电路mp的晶体管m3,电容c4相当于图40的电路mp的电容c1,节点n4相当于图40的电路mp的节点n1。此外,布线wxbs相当于图40的电路mp的布线wxl,布线wlbs相当于图40的电路mp的布线wl,布线vf相当于图40的电路mp的布线ve。因此,关于图46所示的电路bs的结构,参照图40的电路mp的说明。
[0575]
作为电路mp,例如,如图46所示,可以使用图15a的电路mp。因此,关于图46所示的电路mp的结构,参照图15a的电路mp的说明。
[0576]
在图46的电路bs中,电路bmcr具有与电路bmc大致相同的电路结构。此外,在电路mp中,电路mcr具有与电路mc大致相同的电路结构。因此,为了与电路bmc所包括的电路元件等区分,对电路bmcr所包括的电路元件等的符号附上“r”,为了与电路mc所包括的电路元件等区分,对电路mcr所包括的电路元件等的符号附上“r”。
[0577]
当在电路bs中设定“正偏置”时,与图40的电路mp的工作同样地,对布线wxbs、布线wlbs供应高电平电位,使晶体管m12、晶体管m13、晶体管m12r、晶体管m13r处于开启状态即可。然后,在图8a的电流源电路isc中,选择对应于该偏置的电流,使布线ol与电流源电路isc之间处于导通状态。由此,该电流从电流源电路isc通过布线ol及电路bmc向布线vf流过,节点n4的电位成为对应于该电流的电位。此外,此时,通过使布线olb与布线vcn之间处于导通状态,对电路bmcr一侧的节点n4r从布线vcn供应电位vss,所以节点n4r的电位成为vss。然后,通过对布线wxbs、布线wlbs供应低电平电位,使晶体管m12、晶体管m13、晶体管m12r、晶体管m13r处于关闭状态,可以保持节点n4、节点n4r的电位。由此,可以在电路bs中设定“正偏置”。
[0578]
此外,当在电路bs中设定“负偏置”时,对布线wxbs、布线wlbs供应高电平电位,使晶体管m12、晶体管m13、晶体管m12r、晶体管m13r处于开启状态。然后,在图8a的电流源电路isc中,选择对应于该偏置的电流,使布线olb与电流源电路isc之间处于导通状态。由此,该电流从电流源电路isc通过布线olb及电路bmcr向布线vfr流过,节点n4r的电位成为对应于该电流的电位。此外,此时,通过使布线ol与布线vcn之间处于导通状态,对电路bmc一侧的节点n4从布线vcn供应电位vss,所以节点n4的电位成为vss。然后,对布线wxbs、布线wlbs供应低电平电位,使晶体管m12、晶体管m13、晶体管m12r、晶体管m13r处于关闭状态,可以保持节点n4、节点n4r的电位。由此,可以在电路bs中设定“负偏置”。
[0579]
当在电路bs中设定“0的偏置”时,对布线wxbs、布线wlbs供应高电平电位,使晶体管m12、晶体管m13、晶体管m12r、晶体管m13r处于开启状态,使布线ol及布线olb与布线vcn之间处于导通状态,节点n4及节点n4r的电位成为vss。然后,对布线wxbs、布线wlbs供应低电平电位,使晶体管m12、晶体管m13、晶体管m12r、晶体管m13r处于关闭状态,保持节点n4、节点n4r的每一个的电位vss,由此可以在电路bs中设定“0的偏置”。
[0580]
此外,根据情况,当在电路bs中设定偏置时,也可以对节点n4及节点n4r的每一个供应vss以外的电位。
[0581]
当在电路bs中设定偏置之后,在电路mp中保持第一数据(例如,这里是权重系数),对电路mp供应第二数据(例如,这里是神经元的信号的值)即可。具体而言,在电路mp中设定对应于该权重系数的电流,对电路mp从布线wx1l、布线x2l的每一个供应对应于第二数据(神经元的信号的值)的电位。再者,通过在电路bs中对布线wxbs供应高电平电位,可以对在电路mp中计算的第一数据(权重系数)与第二数据(神经元的信号的值)之积供应在电路bs中设定的偏置。
[0582]
此外,首先在电路mp中保持第一数据(权重系数),在电路mp中计算第一数据(权重系数)与第二数据(神经元的信号的值)之积一次,然后根据该计算结果在电路bs中设定偏置,再次进行运算。也就是说,也可以根据运算结果进行适当地改变偏置的工作。
[0583]
注意,在图46的结构例子中示出布线vf、布线vfr、布线ve、布线ver,本发明的一个方式不局限于此。例如,在图46的结构中,也可以将布线vf及布线ve组合为一个布线,且将布线vfr及布线ver组合为一个布线。此外,例如,如图16b的电路mp,在图46的结构中,也可以将布线vf及布线vfr组合为一个布线,且将布线ve及布线ver组合为一个布线。此外,例如,在图46的结构中,也可以将布线vf、布线vfr、布线ve、布线ver组合为一个布线。例如,在图46的结构中,也可以将选自布线vf、布线vfr、布线ve、布线ver中两个以上的布线组合为一个布线。
[0584]
注意,本结构例子可以与本说明书所示的其他结构例子等适当地组合。
[0585]
《结构例子10》接着,对能够用于图10b所示的电路mp的电路结构的例子进行说明。
[0586]
图47a所示的电路mp例如为能够用于图7的运算电路140的图10b的电路mp的结构例子。注意,图47a的电路mp相当于在图40所示的电路mp中将晶体管m3及晶体管m3r组合为一个晶体管且将布线ve及布线ver组合为一个布线的电路。具体而言,图40所示的电路mp的晶体管m3及晶体管m3r在图47a的电路mp中组合为晶体管mz,图40所示的电路mp的布线ve及布线ver在图47a的电路mp中组合为布线vl。
[0587]
在图47a的电路mp中,电路mcr具有与电路mc大致相同的电路结构。因此,为了与电路mc所包括的电路元件区分,对电路mcr所包括的电路元件的符号附上“r”。
[0588]
另外,在本说明书等中,在没有特别的说明的情况下,晶体管mz在开启状态下最终在线性区域中工作。也就是说,对上述各晶体管的栅极电压、源极电压及漏极电压有时进行适当的偏压,使得该晶体管在线性区域中工作。注意,本发明的一个方式不局限于此。例如,晶体管mz在开启状态下可以在饱和区域中工作,也可以在亚阈值区域中工作。或者,晶体管mz也可以在饱和区域与亚阈值区域之边界附近工作。或者,晶体管mz也可以在线性区域以及饱和区域中工作、在饱和区域以及亚阈值区域中工作、在亚阈值区域以及线性区域中工作、或者在线性区域、饱和区域以及亚阈值区域中工作。
[0589]
另外,电路mc包括电路hc及晶体管m20,电路mcr包括电路hcr及晶体管m20r。
[0590]
晶体管m20的第一端子与晶体管mz的第一端子电连接,晶体管m20的栅极与晶体管m2的第二端子及电容c1的第一端子电连接,晶体管m20的第二端子与布线ol电连接。电容c1的第二端子与布线vl电连接。晶体管m2的第一端子与布线ol电连接。
[0591]
晶体管m20r的第一端子与晶体管mz的第一端子电连接,晶体管m20r的栅极与晶体管m2r的第二端子及电容c1r的第一端子电连接,晶体管m20r的第二端子与布线olb电连接。
电容c1r的第二端子与布线vl电连接。晶体管m2r的第一端子与布线olb电连接。
[0592]
布线vl例如被用作供应恒电压的布线。作为该恒电压,例如可以采用低电平电位的vss、接地电位(gnd)等。
[0593]
包括在图47a的电路mp中的电路hc、电路hcr与图15a等所示的包括在电路mp中的电路hc、电路hcr同样地可以设定相当于权重系数的电流量。具体而言,例如,在电路mp中,对布线xl供应规定电位使晶体管mz处于开启状态,对布线w1l供应规定电位使晶体管m2处于开启状态,将相当于权重系数的电流量从布线ol向电容c1的第一端子及晶体管m20的第二端子流过。此时,由于晶体管m20成为二极管连接,所以晶体管m20的栅极-源极间电压根据该电流量(在源极与漏极间流过的电流的量)决定。此时,在晶体管m20的源极的电位为布线vl所供应的电位时,决定晶体管m20的栅极的电位。这里,通过使晶体管m2处于关闭状态,可以保持晶体管m20的栅极的电位。注意,与电路hcr同样地,通过将相当于权重系数的电流量从布线olb向电容c1r的第一端子及晶体管m20r的第二端子流过,可以将对应于该电流量的电位保持在晶体管m20r的栅极中。
[0594]
这里,例如,作为设定在图47a的电路mp中的权重系数,当在电路mc的晶体管m20中被设定为i
ut
的电流流过且在电路mcr的晶体管m20r中被设定为电流不流过时,该权重系数为“+1”,当在电路mc的晶体管m20中被设定为电流不流过且在电路mcr的晶体管m20r中被设定为i
ut
的电流流过时,该权重系数为
“‑
1”,当在电路mc、电路mcr的每一个的晶体管m20、晶体管m20r中被设定为电流不流过时,该权重系数为“0”。
[0595]
通过在电路hc及电路hcr的每一个中设定对应于权重系数的电流,决定晶体管m20及晶体管m20r的每一个的栅极的电位。这里,例如通过对布线xl供应对应于神经元的信号的值的电位,决定在布线ol及/或布线olb与电路mp之间流过的电流。例如,在对布线xl作为“+1”的第二数据供应高电平电位时,布线vl所供应的恒电压被供应到晶体管m20的第一端子、晶体管m20r的第一端子。此外,例如,在对布线xl作为“0”的第二数据供应低电平电位时,布线vl所供应的恒电压不被供应到晶体管m20的第一端子、晶体管m20r的第一端子。也就是说,电流不在晶体管m20及晶体管m20r中流过。
[0596]
这里,当在晶体管m20中作为电流量设定i
ut
时,通过对晶体管m20的源极从布线vl供应电位,在晶体管m20的第一端子与第二端子之间电流量i
ut
流过。此外,在以电流不在晶体管m20中流过的方式设定时,即使对晶体管m20的源极从布线vl供应电位,电流也不在晶体管m20的第一端子与第二端子之间流过。同样地,当在晶体管m20r中作为电流量设定i
ut
时,通过对晶体管m20r的源极从布线vl供应电位,在晶体管m20r的第一端子与第二端子之间电流量i
ut
流过。此外,当以电流不在晶体管m20r中流过的方式设定时,即使对晶体管m20r的源极从布线vl供应电位,电流也不在晶体管m20r的第一端子与第二端子之间流过。
[0597]
也就是说,将上述内容总合,在权重系数与神经元的信号的值之积为“+1”时,i
ut
的电流量在电路mc与布线ol之间流过,而电流不在电路mcr与布线olb之间流过。此外,在权重系数与神经元的信号的值之积为
“‑
1”时,i
ut
的电流量在电路mcr与布线olb之间流过,而电流不在电路mc与布线ol之间流过。另外,在权重系数与神经元的信号的值之积为“0”时,电流不在电路mc与布线ol之间流过,且电流不在电路mcr与布线olb之间流过。
[0598]
如上所述,图47a的电路mp可以计算权重系数的“+1”、
“‑
1”、“0”的3值与神经元的信号(运算值)的“+1”、“0”的2值之积。此外,图47a的电路mp与在结构例子7中说明的电路mp
同样地,作为一个例子,改变在晶体管m20及晶体管m20r中设定的电流量,由此可以计算第一数据(权重系数)的“正的多值”、“0”、“负的多值”与第二数据(神经元的信号的值)的“+1”、“0”的2值之积。
[0599]
图47a所示的电路mp例如可以改变为图47b所示的电路mp。图47b所示的电路mp与图47a的电路mp的不同之处在于:电容c1的第二端子及电容c1r的第二端子与布线cvl电连接,而不与布线vl电连接。注意,电容c1的第二端子也可以与晶体管m20的第一端子或晶体管mz的第一端子连接。同样地,电容c1r的第二端子也可以与晶体管m20r的第一端子或晶体管mz的第一端子连接。图48示出电路mp,其中电容c1的第二端子与晶体管m20的第一端子电连接,并且电容c1r的第二端子与晶体管m20r的第一端子电连接。
[0600]
布线cvl例如被用作供应恒电压的布线。作为该恒电压,例如可以采用高电平电位、低电平电位、接地电位等。
[0601]
注意,本结构例子可以与本说明书所示的其他结构例子等适当地组合。
[0602]
注意,本实施方式可以与本说明书所示的其他实施方式适当地组合。
[0603]
(实施方式3)在本实施方式中,说明能够进行多值的第一数据(例如,权重系数和神经元的信号中的一个等)与多值的第二数据(例如,权重系数和神经元的信号(运算值)中的另一个等)的积和运算的半导体装置或该半导体装置的工作方法。
[0604]
《工作方法例子1》首先,对使用在上述实施方式中说明的半导体装置等进行多值的第一数据(例如,权重系数和神经元的信号中的一个等)与多值的第二数据(例如,权重系数和神经元的信号(运算值)中的另一个等)的积和运算的工作方法的一个例子进行说明。
[0605]
作为一个例子,考虑使用图21a的电路mp的图11的运算电路150的工作方法。此外,为了简化起见,关于在布线ol、布线olb中流过的电流的变化,只由与布线ol、布线olb电连接的一个电路mp进行。此外,与电路mp电连接的布线ve、布线ver的每一个对电路mp作为恒电压供应vss。另外,包括在电路afp中的电路actf[1]至actf[n]的每一个例如为具有积分电路的结构(或者,电流电荷(iq)转换电路)的电路actf。例如,具有积分电路的电路actf在图6e的电路actf[j]中也可以具有以负载lea、负载leb为电容等的结构。
[0606]
图49a是示出该工作方法的例子的时序图。具体而言,图49a示出时刻t11至时刻t14的期间及其附近的时刻的电路hc的节点n1的电位、电路hcr的节点n1r的电位、布线wx1l的电位、在布线ol中流过的电流i
ol
的电流量、在布线olb中流过的电流i
olb
的电流量、储存在电路actf的积分电路的电容中的电荷量的变化。尤其是,在图49a中,将通过从布线ol向包括在负载lea中的电容中流过的电流储存的电荷量记载为q
ol
,将通过从布线olb向包括在负载leb中的电容中流过的电流储存的电荷量记载为q
olb

[0607]
在图49a所示的时序图中,在时刻t11之前的时刻,对应于多值的第一数据(例如,这里是权重系数)的电流被设定。注意,关于该电流的设定方法,参照实施方式2的说明。
[0608]
在图49a的时序图的工作例子中,预先在电路mp中设定“+1”的权重系数。具体而言,在时刻t11之前的时刻,以在晶体管m1中电流量i1流过且在晶体管m1r中电流不流过的方式进行设定。在电路hc的节点n1中保持v1,在电路hcr的节点n1r中保持vss。注意,电位v1高于vss。此外,在图8a中,预先使开关swh、开关swhb处于开启状态,使开关swi、开关swib、
开关swo、开关swob、开关swl、开关swlb处于关闭状态,在布线ol及布线olb与布线vcn2之间处于导通状态,将布线ol、布线olb的电位设定为高电平电位。
[0609]
在时刻t11以后,通过使布线ol及布线olb与电路afp之间处于导通状态,在图8a中,开关swo、开关swob成为开启状态,开关swi、开关swib、开关swl、开关swlb、开关swh、开关swhb成为关闭状态。
[0610]
在时刻t12至时刻t13的期间,对电路mp输入第二数据(例如,这里是神经元的信号的值)。注意,时刻t12至时刻t13的期间的输入时间为t
ut
。该输入时间的长度对应于神经元的信号的值的大小。也就是说,通过改变该输入时间的长度,可以改变运算结果。
[0611]
在图49a的工作例子中,作为向电路mp的第二数据(神经元的信号的值)的输入,对布线wx1l输入高电平电位,对布线x2l输入低电平电位。因此,对晶体管m3、晶体管m3r的每一个的栅极输入高电平电位,对晶体管m4、晶体管m4r的每一个的栅极输入低电平电位,晶体管m3、晶体管m3r的每一个成为开启状态,晶体管m4、晶体管m4r的每一个成为关闭状态。通过上述工作,在电路mc与布线ol之间及在电路mcr与布线olb之间成为导通状态,在电路mc与布线olb之间及在电路mcr与布线ol之间成为非导通状态。
[0612]
此时,由于晶体管m1以使电流量为i1的电流流过的方式被设定,所以电流量i1的电流从电路actf通过切换电路tw、布线ol、电路mc在布线ve中流过。此外,由于晶体管m1r处于关闭状态(设定为被提供电流量0),电流不从电路actf通过切换电路tw、布线olb、电路mcr向布线ver流过。
[0613]
这里,着眼于电路actf的积分电路。由于在时刻t12至时刻t13的期间进行第二数据(神经元的信号的值)的输入,所以在与布线ol处于导通状态的包括在电路actf中的积分电路的电容(负载lea)中在时刻t12至时刻t13的期间继续储存电荷。在理想上,在时刻t13,在该电容中储存t
ut
×
i1的电荷。注意,在图49a的时序图中,将在时刻t12至时刻t13的期间在该电容中储存的电荷量记载为q1。另一方面,与布线olb处于导通状态的包括在电路actf中的积分电路的电容(负载leb)没有发生电荷的储存。由此,电路actf可以输出对应于在布线ol中流过的电荷量q1及在布线olb中流过的电荷量0的神经元的信号z
j(k)

[0614]
接着,考虑在图49a的时序图中对电路mp的神经元的信号的输入时间从t
ut
变化至2t
ut
的情况。图49b所示的时序图示出在图49a的时序图中对电路mp的神经元的信号的输入时间从t
ut
变化至2t
ut
的情况的工作例子。
[0615]
关于图49b的时序图的时刻t12之前的工作,与图49a的时序图的时刻t12之前的工作例子相同。因此,关于图49b的时序图的时刻t12之前的工作,参照图49a的时序图的时刻t12之前的工作的说明。
[0616]
在图49b的工作例子的时刻t12至时刻t14的期间,对电路mp输入神经元的信号。如上所述,时刻t12至时刻t14的期间的输入时间为2t
ut

[0617]
在图49b的工作例子中,与图49a的工作例子同样地,作为对电路mp的第二数据(神经元的信号的值)的输入,对布线wx1l输入高电平电位,对布线x2l输入低电平电位。因此,电流量i1的电流从电路actf通过切换电路tw、布线ol、电路mc向布线ve流过。此外,电流不从电路actf通过切换电路tw、布线olb、电路mcr向布线ver流过。
[0618]
由于在时刻t12至时刻t14的期间输入第二数据(神经元的信号的值),所以在与布线ol处于导通状态的积分电路的电容(负载lea)中在时刻t12至时刻t14的期间继续储存电
荷。在理想上,在时刻t14,在该电容中储存2t
ut
×
i1(=2q1)的电荷。注意,在图49b的时序图中,将在时刻t12至时刻t14的期间在该电容中储存的电荷量记载为q2。另一方面,与布线olb处于导通状态的包括在电路actf中的积分电路的电容(负载leb)没有发生电荷的储存。由此,电路actf可以输出对应于在布线ol中流过的电荷量q2及在布线olb中流过的电荷量0的神经元的信号z
j(k)

[0619]
接着,在图49a的时序图中,考虑将设定在电路mp中的权重系数从“+1”改变为
“‑
2”的情况。具体而言,在图49c所示的时序图中,预先在时刻t11之前的时刻以在晶体管m1中电流不流过且在晶体管m1r中电流i2(=2i1)流过的方式进行设定。在电路hcr的节点n1r中保持v2,在电路hc的节点n1中保持vss。注意,电位v2高于v1及vss。
[0620]
关于图49c的时序图的时刻t12之前的工作,与图49a的时序图的时刻t12之前的工作例子相同。因此,关于图49c的时序图的时刻t12之前的工作,参照图49a的时序图的时刻t12之前的工作的说明。
[0621]
在图49c的工作例子的时刻t12至时刻t13的期间,对电路mp输入神经元的信号。如上所述,时刻t12至时刻t13的期间的输入时间为t
ut

[0622]
在图49c的工作例子中,与图49a的工作例子同样地,作为对电路mp的第二数据(神经元的信号的值)的输入,对布线wx1l输入高电平电位,对布线x2l输入低电平电位。因此,电流量i2的电流从电路actf通过切换电路tw、布线olb、电路mcr向布线ver流过。此外,电流不从电路actf通过切换电路tw、布线ol、电路mc向布线ve流过。
[0623]
由于在时刻t12至时刻t13的期间进行第二数据(神经元的信号的值)的输入,所以在与布线olb处于导通状态的积分电路的电容(负载leb)中在时刻t12至时刻t13的期间继续储存电荷。在理想上,在时刻t13,在该电容中储存t
ut
×
i2(=2t
ut
×
i1=2q1)的电荷。注意,在图49c的时序图中,将在时刻t12至时刻t13的期间在该电容中储存的电荷量记载为q2。另一方面,与布线ol处于导通状态的包括在电路actf中的积分电路的电容(负载lea)没有发生电荷的储存。由此,电路actf可以输出对应于在布线ol中流过的电荷量0及在布线olb中流过的电荷量q2的神经元的信号z
j(k)

[0624]
如图49a至图49c所示的工作例子,第二数据(神经元的信号的值)可以根据对电路mp的第二数据的输入期间决定,根据输入期间的长度决定从电路actf输出的运算结果。因此,通过第二数据(神经元的信号的值)根据输入期间的长度及布线wx1l、对布线x2l施加的电位定义,电路mp可以处理3值以上的第二数据(神经元的信号的值),可以进行多值的第一数据(权重系数)与3值以上的第二数据(神经元的信号的值)的积和运算及/或激活函数的运算。
[0625]
在本工作例子中,对电路mp输入的第二数据(神经元的信号的值)作为一个例子可以定义为如下。对布线wx1l输入高电平电位,对布线x2l输入低电平电位,且输入期间为t
ut
时的第二数据(神经元的信号的值)为“+1”,对布线wx1l输入高电平电位,对布线x2l输入低电平电位,且输入期间为2t
ut
时的第二数据(神经元的信号的值)为“+2”,对布线wx1l输入高电平电位,对布线x2l输入低电平电位,且输入期间为3t
ut
时的第二数据(神经元的信号的值)为“+3”。此外,对布线wx1l输入低电平电位,对布线x2l输入高电平电位,且输入期间为t
ut
时的第二数据(神经元的信号的值)为
“‑
1”,对布线wx1l输入低电平电位,对布线x2l输入高电平电位,且输入期间为2t
ut
时的第二数据(神经元的信号的值)为
“‑
2”,对布线wx1l输入
低电平电位,对布线x2l输入高电平电位,且输入期间为3t
ut
时的第二数据(神经元的信号的值)为
“‑
3”。此外,对布线wx1l输入低电平电位,对布线x2l输入低电平电位时的第二数据(神经元的信号的值)为“0”。
[0626]
通过如上所述那样定义输入到电路mp中的第二数据(神经元的信号的值),在图49a所示的工作例子中,作为第一数据(权重系数)的“+1”与第二数据(神经元的信号的值)的“+1”之积,可以算出“+1”。此外,在图49b所示的工作例子中,作为第一数据(权重系数)的“+1”与第二数据(神经元的信号的值)的“+2”之积,可以算出“+2”。另外,在图49c所示的工作例子中,作为第一数据(权重系数)的
“‑
2”与第二数据(神经元的信号的值)的“+1”之积,可以算出
“‑
2”。在本工作例子中,以下表示出将第一数据(权重系数)设定为
“‑
2”、
“‑
1”、“0”、“+1”和“+2”中的任一个,将第二数据(神经元的信号的值)设定为
“‑
2”、
“‑
1”、“0”、“+1”和“+2”中的任一个时的在布线ol中流过的电荷量q
ol
及在布线olb中流过的电荷量q
olb
。注意,在下表中,将高电平电位记载为high,将低电平电位记载为low。
[0627]
[表6]
[0628]
本发明的一个方式不局限于上述定义。在上述中,作为第二数据(神经元的信号的值),定义正的多值、负的多值、0,但是输入期间是连续值而不是离散值(a为正实数,输入期间为a
×
t
ut
),可以处理第二数据(神经元的信号的值)作为模拟值。
[0629]
在图49a、图49b所示的工作例子中,设定在电路mp中的第一数据(权重系数)为“+1”,在图49c所示的工作例子中,设定在电路mp中的第一数据(权重系数)为
“‑
2”,也可以使用“+1
”“‑
2”以外的第一数据(权重系数)进行计算。如实施方式1及实施方式2所说明,由于作为设定在电路mp中的第一数据(权重系数)可以设定模拟值等,所以包括在电路actf中的积分电路的电容所储存的电荷量也可以根据模拟值等的第一数据(权重系数)算出。
[0630]
在图49a至图49c所示的工作例子中,为了简化起见,考虑布线ol、布线olb只与一个电路mp电连接的情况,但是如图11的运算电路150那样,布线ol、布线olb也可以与多个电路mp电连接。由此,可以将从布线ol、布线olb的每一个输入到多个电路mp中的电荷量的总
和储存在包括在电路actf中的积分电路的电容,电路actf可以输出对应于在布线ol、布线olb中流过的每一个的电荷量的神经元的信号z
j(k)
。注意,在图49a至图49c中,从时刻t12起开始布线wx1l的电位的变化。也就是说,在图49a至图49c的每一个中,即使在布线wx1l的电位成为高电平电位的期间不同时,从低电平电位变为高电平电位的时刻也相同(时刻t12),但是本发明的一个方式不局限于此。例如,即使在图49a至图49c的每一个的布线wx1l的电位成为高电平电位的期间不同时,也可以以从高电平电位变为低电平电位的时刻相同的方式工作。或者,即使在图49a至图49c的每一个的布线wx1l的电位成为高电平电位的期间不同时,也可以以在高电平电位的期间的中心的时刻相同的方式工作。
[0631]
注意,在本工作例子中,作为例子示出图11的运算电路150,但是即使根据情况改变其他运算电路也可以进行与本工作例子相同的工作。例如,考虑将图47b的电路mp用于图7的运算电路140,包括在电路afp中的电路actf[1]至actf[n]的每一个具有积分电路的结构(或者,电流电荷(iq)转换电路)的情况。在此时的电路结构中,根据第一数据(权重系数)设定在晶体管m20及晶体管m20r的每一个中流过的电流量,根据第二数据(神经元的信号的值)设定对布线xl供应高电平电位的期间,由此可以与本工作例子同样地计算“正的多值”、“负的多值”和“0”中的任一个的第一数据与“正的多值”或“0”的第二数据之积。另外,也可以将第一数据及/或第二数据作为模拟值进行计算。
[0632]
注意,本工作方法例子可以与本说明书所示的其他工作方法例子等适当地组合。
[0633]
《工作方法例子2》接着,对与图49a至图49c所示的工作例子不同的其他工作方法例子进行说明。
[0634]
作为一个例子,与图49a至图49c同样地,考虑使用图21a的电路mp的图11的运算电路150的工作方法。此外,为了简化起见,关于在布线ol、布线olb中流过的电流的变化,只由与布线ol、布线olb电连接的一个电路mp进行。此外,与电路mp电连接的布线ve、布线ver的每一个对电路mp作为恒电压供应vss。另外,包括在电路afp中的电路actf[1]至actf[n]的每一个例如为具有积分电路(或者,电流电荷(iq)转换电路)的结构的电路actf。例如,积分电路在图6e的电路actf[j]中也可以具有以负载lea、负载leb为电容等的结构。
[0635]
图50a是示出该工作方法的例子的时序图。具体而言,图50a示出时刻t21至时刻t25的期间及其附近的时刻的电路hc的节点n1的电位、电路hcr的节点n1r的电位、布线wx1l的电位、在布线ol中流过的电流i
ol
的电流量、在布线olb中流过的电流i
olb
的电流量、储存在电路actf的积分电路的电容中的电荷量的变化。尤其是,在图50a中,将通过从布线ol向包括在负载lea中的电容中流过的电流储存的电荷量记载为q
ol
,将通过从布线olb向包括在负载leb中的电容中流过的电流储存的电荷量记载为q
olb

[0636]
在图50a所示的时序图中,在时刻t21之前的时刻,对应于多值的第一数据(例如,这里是权重系数)的电流被设定。注意,关于该电流的设定方法,参照实施方式2的说明。
[0637]
在图50a的时序图的工作例子中,预先在电路mp中设定“+1”的第一数据(这里,例如是权重系数)。具体而言,在时刻t21之前的时刻,以在晶体管m1中电流量i1流过且在晶体管m1r中电流不流过的方式设定。在电路hc的节点n1中保持v1,在电路hcr的节点n1r中保持vss。注意,电位v1高于vss。此外,在图8a中,预先使开关swh、开关swhb处于开启状态,使开关swi、开关swib、开关swo、开关swob、开关swl、开关swlb处于关闭状态,在布线ol及布线olb与布线vcn2之间处于导通状态,将布线ol、布线olb的电位设定为高电平电位。
[0638]
在时刻t21以后,通过使布线ol及布线olb与电路afp之间处于导通状态,在图8a中,开关swo、开关swob成为开启状态,开关swi、开关swib、开关swl、开关swlb、开关swh、开关swhb成为关闭状态。
[0639]
在时刻t22以后,对电路mp输入第二数据(例如,这里是神经元的信号的值)。注意,在图50a的工作例子中,对电路mp的第二数据(神经元的信号的值)的输入分为如下期间进行,即时刻t22至时刻t23的期间、时刻t23至时刻t24的期间、时刻t24至时刻t25的期间。具体而言,时刻t22至时刻t23的期间的输入时间为t
ut
,时刻t23至时刻t24的期间的输入时间为2t
ut
,时刻t24至时刻t25的期间的输入时间为4t
ut
。注意,在本说明书等中,每个期间称为第一子期间、第二子期间、第三子期间。另外,第二子期间的长度优选为第一子期间的长度的1.8倍以上或1.9倍以上且2.1倍以下或2.2倍以下。另外,第三子期间的长度优选为第一子期间的长度的3.6倍以上或3.8倍以上且4.2倍以下或4.4倍以下。注意,上述下限值与上限值可以分别组合。
[0640]
在图50a的工作例子中,在第一子期间及第三子期间,作为向电路mp的第二数据(神经元的信号的值)的输入,对布线wx1l输入高电平电位,对布线x2l输入低电平电位。因此,对晶体管m3、晶体管m3r的每一个的栅极输入高电平电位,对晶体管m4、晶体管m4r的每一个的栅极输入低电平电位,晶体管m3、晶体管m3r的每一个成为开启状态,晶体管m4、晶体管m4r的每一个成为关闭状态。通过上述工作,在电路mc与布线ol之间及在电路mcr与布线olb之间成为导通状态,在电路mc与布线olb之间及在电路mcr与布线ol之间成为非导通状态。
[0641]
此时,由于将晶体管m1设定为被提供电流量i1,所以在第一子期间及第三子期间,电流量i1的电流从电路actf通过切换电路tw、布线ol、电路mc向布线ve流过。注意,在第二子期间,由于对布线wx1l、布线x2l输入低电平电位,对晶体管m3、晶体管m3r、晶体管m4、晶体管m4r的每一个的栅极输入低电平电位,所以晶体管m3、晶体管m3r、晶体管m4、晶体管m4r都成为关闭状态,电流不从电路actf通过切换电路tw、布线ol、电路mc向布线ve流过。
[0642]
由于在第一子期间、第二子期间、第三子期间晶体管m1r处于关闭状态(设定为被提供电流量0),所以电流不从电路actf通过切换电路tw、布线olb、电路mcr向布线ver流过。
[0643]
这里,着眼于电路actf的积分电路。由于在时刻t22以后进行第二数据(神经元的信号)的输入,所以在与布线ol处于导通状态的包括在电路actf中的积分电路的电容(负载lea)中在时刻t22以后继续储存电荷。在理想上,在第一子期间,在该电容中储存t
ut
×
i1的电荷,在第三子期间,储存4t
ut
×
i1的电荷。注意,在图50a的时序图中,在第一子期间,储存在该电容中的电荷量为q1,在第三子期间,储存在该电容中的电荷量为q4。因此,将时刻t25以后的储存在该电容中的电荷量记载为q1+q4。另一方面,与布线olb处于导通状态的包括在电路actf中的积分电路的电容(负载leb)没有发生电荷的储存。由此,电路actf可以输出对应于在布线ol中流过的电荷量q1+q4(=5q1)及在布线olb中流过的电荷量0的神经元的信号z
j(k)

[0644]
接着,考虑在图50a的时序图中对电路mp的神经元的信号的输入从第一子期间及第三子期间改变为第二子期间的情况。图50b所示的时序图示出在图50a的时序图中对电路mp的神经元的信号的输入从第一子期间及第三子期间改变为第二子期间的情况的工作例子。
[0645]
关于图50b的时序图的时刻t22之前的工作,与图50a的时序图的时刻t22之前的工作例子相同。因此,关于图50b的时序图的时刻t22之前的工作,参照图50a的时序图的时刻t22之前的工作的说明。
[0646]
在图50b的工作例子的时刻t22之后,对电路mp输入神经元的信号。具体而言,如上所述,在第二子期间对电路mp输入神经元的信号。
[0647]
在图50b的工作例子中,在第二子期间,作为对电路mp的神经元的信号(运算值)的输入,对布线wx1l输入高电平电位,对布线x2l输入低电平电位。因此,在第二子期间,电流量i1的电流从电路actf通过切换电路tw、布线ol、电路mc向布线ve流过。注意,在第一子期间及第三子期间,由于对布线wx1l、布线x2l输入低电平电位,所以晶体管m3、晶体管m3r、晶体管m4、晶体管m4r都成为关闭状态,电流不从电路actf通过切换电路tw、布线ol、电路mc向布线ve流过。
[0648]
由于在第一子期间、第二子期间、第三子期间晶体管m1r处于关闭状态(设定为被提供电流量0),所以电流不从电路actf通过切换电路tw、布线olb、电路mcr向布线ver流过。
[0649]
由于在时刻t22以后进行第二数据(神经元的信号)的输入,所以在与布线ol处于导通状态的积分电路的电容(负载lea)中在时刻t22以后继续储存电荷。在理想上,在时刻t25,在该电容中储存2t
ut
×
i1的电荷。注意,在图50b的时序图中,将在时刻t22以后储存在该电容中的电荷量记载为q2。另一方面,与布线olb处于导通状态的包括在电路actf中的积分电路的电容(负载leb)没有发生电荷的储存。由此,电路actf可以输出对应于在布线ol中流过的电荷量q2(=2q1)及在布线olb中流过的电荷量0的神经元的信号z
j(k)

[0650]
接着,在图50a的时序图中,考虑将设定在电路mp中的权重系数从“+1”改变为
“‑
2”,且第二数据(神经元的信号)的输入从第一子期间及第三子期间改变为第一子期间及第二子期间的情况。
[0651]
在图50c所示的时序图中,预先在时刻t21之前的时刻以在晶体管m1中电流不流过且在晶体管m1r中电流i2(=2i1)流过的方式进行设定。在电路hc的节点n1中保持vss,在电路hcr的节点n1r中保持v2。注意,电位v2高于v1及vss。
[0652]
关于图50c的时序图的时刻t22之前的工作,与图50a的时序图的时刻t22之前的工作例子相同。因此,关于图50c的时序图的时刻t22之前的工作,参照图50a的时序图的时刻t22之前的工作的说明。
[0653]
在图50c的工作例子的时刻t22之后,对电路mp输入神经元的信号。如上所述,在第一子期间及第二子期间对电路mp输入神经元的信号。
[0654]
在图50c的工作例子中,在第一子期间及第二子期间,作为对电路mp的第二数据(神经元的信号的值)的输入,对布线wx1l输入高电平电位,对布线x2l输入低电平电位。因此,在第一子期间及第二子期间,电流量i2的电流从电路actf通过切换电路tw、布线olb、电路mcr向布线ver流过。注意,在第三子期间,由于对布线wx1l、布线x2l输入低电平电位,所以晶体管m3、晶体管m3r、晶体管m4、晶体管m4r都成为关闭状态,电流不从电路actf通过切换电路tw、布线olb、电路mcr向布线ver流过。
[0655]
在第一子期间、第二子期间、第三子期间,由于晶体管m1处于关闭状态(设定为被提供电流量0),所以电流不从电路actf通过切换电路tw、布线ol、电路mc向布线ve流过。
[0656]
由于在时刻t22以后进行第二数据(神经元的信号)的输入,所以在与布线olb处于
导通状态的积分电路的电容(负载leb)中在时刻t22以后继续储存电荷。在理想上,在时刻t25,在该电容中储存6t
ut
×
i1(=t
ut
×
2i1+2t
ut
×
2i1)的电荷。注意,在图50c的时序图中,将在时刻t25以后在该电容中储存的电荷量记载为2(q1+q2)。另一方面,与布线ol处于导通状态的包括在电路actf中的积分电路的电容(负载lea)没有发生电荷的储存。由此,电路actf可以输出与布线ol中流过的电荷量0及在布线olb中流过的电荷量2(q1+q2)(=6q1)对应的神经元的信号z
j(k)

[0657]
如图50a至图50c所示的工作例子,在能够对电路mp输入第二数据(神经元的信号的值)的期间设置多个子期间,可以根据选自该多个子期间中的一个以上的期间决定第二数据(神经元的信号的值),可以根据所选择的期间决定从电路actf输出的运算结果。因此,根据所选择的子期间及对布线wx1l、布线x2l施加的电位定义第二数据(神经元的信号的值),电路mp可以处理3值以上的第二数据(神经元的信号的值),可以进行多值的第一数据(权重系数)与3值以上的第二数据(神经元的信号的值)的积和运算及/或激活函数的运算。
[0658]
在本工作例子中,对电路mp输入的第二数据(神经元的信号的值)作为一个例子可以定义为如下。只在第一子期间对布线wx1l输入高电平电位且对布线x2l输入低电平电位时的第二数据(神经元的信号的值)为“+1”,只在第二子期间对布线wx1l输入高电平电位且对布线x2l输入低电平电位时的第二数据(神经元的信号的值)为“+2”,只在第三子期间对布线wx1l输入高电平电位且对布线x2l输入低电平电位时的第二数据(神经元的信号的值)为“+4”。只在第一子期间对布线wx1l输入低电平电位且对布线x2l输入高电平电位时的第二数据(神经元的信号的值)为
“‑
1”,只在第二子期间对布线wx1l输入低电平电位且对布线x2l输入高电平电位时的第二数据(神经元的信号的值)为
“‑
2”,只在第三子期间对布线wx1l输入低电平电位且对布线x2l输入高电平电位时的第二数据(神经元的信号的值)为
“‑
4”。此外,在第一子期间、第二子期间、第三子期间,对布线wx1l输入低电平电位且对布线x2l输入低电平电位时的第二数据(神经元的信号的值)为“0”。
[0659]
注意,在想要使第二数据(神经元的信号的值)成为“+3”时,只在第一子期间及第二子期间对布线wx1l输入高电平电位且对布线x2l输入低电平电位即可,在想要使第二数据(神经元的信号的值)成为“+5”时,在第一子期间及第三子期间对布线wx1l输入高电平电位且对布线x2l输入低电平电位即可。此外,在想要使第二数据(神经元的信号的值)成为
“‑
6”时,只在第二子期间及第三子期间对布线wx1l输入低电平电位且对布线x2l输入高电平电位即可,在想要使第二数据(神经元的信号的值)成为
“‑
7”时,在第一子期间、第二子期间及第三子期间对布线wx1l输入低电平电位且对布线x2l输入高电平电位即可。
[0660]
通过如上所述那样定义输入到电路mp中的第二数据(神经元的信号的值),在图50a所示的工作例子中,作为第一数据(权重系数)的“+1”与第二数据(神经元的信号的值)的“+5”之积,可以算出“+5”。此外,在图50b所示的工作例子中,作为第一数据(权重系数)的“+1”与第二数据(神经元的信号的值)的“+2”之积,可以算出“+2”。另外,在图50c所示的工作例子中,作为第一数据(权重系数)的
“‑
2”与第二数据(神经元的信号的值)的“+3”之积,可以算出
“‑
6”。
[0661]
本发明的一个方式不局限于上述定义。在上述中,作为能够输入第二数据(神经元的信号的值)的期间,设置第一子期间、第二子期间、第三子期间,但是也可以设置四个以上的子期间。例如,将能够输入第二数据(神经元的信号的值)的期间分为第一子期间至第t子
期间(t为4以上的整数),将第s子期间(s为4以上且t以下的整数)的长度设定为2
(s-1)
×
t
ut
即可。此外,例如,将能够输入第二数据(神经元的信号的值)的期间分为第一子期间至第t子期间(t为4以上的整数),将第s子期间(s为4以上且t以下的整数)的长度设定为s
×
t
ut
。此外,也可以定义第二数据(神经元的信号的值)作为实数,例如,只在第一子期间对布线wx1l输入高电平电位且对布线x2l输入低电平电位时的第二数据(神经元的信号的值)为“+0.1”,只在第二子期间对布线wx1l输入高电平电位且对布线x2l输入低电平电位时的第二数据(神经元的信号的值)为“+0.2”,只在第三子期间对布线wx1l输入高电平电位且对布线x2l输入低电平电位时的第二数据(神经元的信号的值)为“+0.4”等。
[0662]
在图50a、图50b所示的工作例子中,设定在电路mp中的第一数据(权重系数)为“+1”,在图50c所示的工作例子中,设定在电路mp中的第一数据(权重系数)为“+2”,也可以使用“+1”、“+2”以外的第一数据(权重系数)进行计算。如实施方式1及实施方式2所说明,由于作为设定在电路mp中的第一数据(权重系数)可以设定负值、多值、模拟值等,所以包括在电路actf中的积分电路的电容所储存的电荷量也可以根据负值、多值、模拟值等的第一数据(权重系数)算出。
[0663]
在图50a至图50c所示的工作例子中,为了简化起见,考虑布线ol、布线olb只与一个电路mp电连接的情况,但是如图11的运算电路150那样,布线ol、布线olb也可以与多个电路mp电连接。由此,可以将从布线ol、布线olb的每一个输入到多个电路mp中的电荷量的总和储存在包括在电路actf中的积分电路的电容,电路actf可以输出对应于在布线ol、布线olb中流过的每一个的电荷量的神经元的信号z
j(k)

[0664]
如图50a至图50c的工作例子那样,作为能够输入第二数据(神经元的信号的值)的期间设置多个子期间,从多个子期间选择一个以上的期间,在被选择的期间输入信号的结构例如优选从电路设计阶段预先决定每个子期间的长度。通过采用这种电路结构,有时与图49a至图49c的工作例子被要求的电路结构相比,运算电路可以简单地及/或高效地进行布局。
[0665]
注意,在本工作例子中,作为例子示出图11的运算电路150,但是即使根据情况改变其他运算电路也可以进行与本工作例子相同的工作。
[0666]
注意,本工作方法例子可以与本说明书所示的其他工作方法例子等适当地组合。
[0667]
《工作方法例子3》这里,对使用图51的电路mp的图11的运算电路150的工作方法进行说明。
[0668]
与工作方法例子1及工作方法例子2同样地,为了简化起见,关于在布线ol、布线olb中流过的电流的变化,只由与布线ol、布线olb电连接的一个电路mp进行。此外,与电路mp电连接的布线ve、布线ver的每一个对电路mp作为恒电压供应vss。另外,包括在电路afp中的电路actf[1]至actf[n]的每一个作为一个例子为具有积分电路(或者,电流电荷(iq)转换电路)的结构的电路actf。例如,在图6e的电路actf[j]中,也可以具有以负载lea、负载leb为电容等的结构。
[0669]
图51示出与图26所示的电路mp同样的电路结构。注意,晶体管m1、晶体管m1r、晶体管m1-2b、晶体管m1-2br、晶体管m1-3b、晶体管m1-3br的每一个的尺寸,例如w长与l长优选相等。此外,本工作方法例子与在实施方式2中说明的图26的电路mp的工作例子不同。
[0670]
具体而言,当对电路mp输入第二数据(例如,这里是神经元的信号的值)时,在对布
线wx1l和布线x2l中的一个的高电平电位的输入时间为t
ut
时,对布线x1l2b和布线x2l2b中的一个的高电平电位的输入时间为2t
ut
,对布线x1l3b和布线x2l3b中的一个的高电平电位的输入时间为4t
ut
而进行工作。也就是说,在晶体管m3、晶体管m3r成为开启状态或者晶体管m4、晶体管m4r成为开启状态的时间为t
ut
时,晶体管m3-2b、晶体管m3-2br成为开启状态或晶体管m4-2b、晶体管m4-2br成为开启状态的时间为2t
ut
,晶体管m3-3b、晶体管m3-3br成为开启状态或晶体管m4-3b、晶体管m4-3br成为开启状态的时间为4t
ut
的方式工作。注意,在图51的电路mp中,为了示出与图26的电路mp不同的工作,在布线wx1l、布线x2l、布线x1l2b、布线x2l2b、布线x1l3b、布线x2l3b的符号附近示出脉冲电压的示意图及输入时间。
[0671]
如在工作方法例子1、工作方法例子2中说明,通过在电路mp中设定第一数据(例如,这里是权重系数),且设定晶体管m3或晶体管m4成为开启状态的时间,决定从布线ol或布线olb通过晶体管m1向布线ve流过的电荷量。此外,通过在电路mp中设定第一数据(权重系数)决定晶体管m3r或晶体管m4r成为开启状态的时间,决定从布线ol或布线olb通过晶体管m1r向布线ver流过的电荷量。
[0672]
同样地,关于从布线ol或布线olb通过晶体管m1-2b向布线ve流过的电荷量及从布线ol或布线olb通过晶体管m1-2br向布线ver流过的电荷量,通过在晶体管m3-2b、晶体管m3-2br、晶体管m4-2b、晶体管m4-2br的每一个中设定成为开启状态的时间来决定。此外,关于从布线ol或布线olb通过晶体管m1-3b向布线ve流过的电荷量及从布线ol或布线olb通过晶体管m1-3br向布线ver流过的电荷量,在晶体管m3-3b、晶体管m3-3br、晶体管m4-3b、晶体管m4-3br的每一个中设定成为开启状态的时间来决定。
[0673]
因此,可以以如下表定义在电路mp中设定的第二数据(神经元的信号的值)。
[0674]
[表7]信号wx1l(t
ut
)x2l(t
ut
)x1l2b(2t
ut
)x2l2b(2t
ut
)x1l3b(4t
ut
)x2l2b(4t
ut
)0lowlowlowlowlowlow+1highlowlowlowlowlow+2lowlowhighlowlowlow+3highlowhighlowlowlow+4lowlowlowlowhighlow+5highlowlowlowhighlow+6lowlowhighlowhighlow+7highlowhighlowhighlow-1lowhighlowlowlowlow-2lowlowlowhighlowlow-3lowhighlowhighlowlow-4lowlowlowlowlowhigh-5lowhighlowlowlowhigh-6lowlowlowhighlowhigh-7lowhighlowhighlowhigh
[0675]
这里,例如,在电路mp中预先设定“+1”的第一数据(权重系数)。具体而言,在晶体管m1中以电流量i1流过的方式设定,且晶体管m1r、晶体管m1-2br、晶体管m1-3br处于关闭
状态。
[0676]
在电路mc中,晶体管m1、晶体管m1-2b、晶体管m1-3b的每一个的尺寸相等,晶体管m1、晶体管m1-2b、晶体管m1-3b的每一个的栅极与电路hc的节点n1电连接,晶体管m1、晶体管m1-2b、晶体管m1-3b的每一个的第一端子与布线ve电连接,由此在晶体管m1、晶体管m1-2b、晶体管m1-3b的每一个的源极与漏极间彼此几乎相等的电流流过。该电流的量为i
ut

[0677]
当在电路mp中作为第二数据(神经元的信号的值)输入“+7”时,通过晶体管m3只在时间t
ut
成为开启状态,且晶体管m4成为关闭状态,从布线ol通过晶体管m1向布线ve流过的电荷量为t
ut
×iut
。注意,这里,t
ut
×iut
=q
ut
。此外,同样地,通过晶体管m3-2b只在时间2t
ut
成为开启状态,且晶体管m4-2b成为关闭状态,从布线ol通过晶体管m1-2b向布线ve流过的电荷量为2t
ut
×iut
=2q
ut
,通过晶体管m3-3b在时间4t
ut
成为开启状态,且晶体管m4-3b成为关闭状态,从布线ol通过晶体管m1-3b向布线ve流过的电荷量为4t
ut
×iut
=4q
ut
。因此,从布线ol通过电路mc向布线ve流过的电荷量为q
ut
+2q
ut
+4q
ut
=7q
ut
。另一方面,从布线olb通过电路mcr向布线ver流过的电荷量由于晶体管m1r、晶体管m1-2br、晶体管m1-3br处于关闭状态,所以成为0。
[0678]
注意,当在电路mp中作为第二数据(神经元的信号的值)输入
“‑
7”时,在布线olb与电路mc之间、在布线ol与电路mcr之间都成为导通状态,在布线olb与电路mcr之间、在布线ol与电路mc之间都成为非导通状态,因此从布线olb通过电路mc向布线ve流过的电荷量为q
ut
+2q
ut
+4q
ut
=7q
ut
,从布线ol通过电路mcr向布线ver流过的电荷量为0。
[0679]
此外,例如,在电路mp中预先设定
“‑
1”的第一数据(权重系数)。具体而言,在晶体管m1r中以电流量i1流过的方式设定,且晶体管m1、晶体管m1-2b、晶体管m1-3b处于关闭状态。
[0680]
在电路mcr中,晶体管m1r、晶体管m1-2br、晶体管m1-3br的每一个的尺寸相等,晶体管m1r、晶体管m1-2br、晶体管m1-3br的每一个的栅极与电路hcr的节点n1r电连接,晶体管m1r、晶体管m1-2br、晶体管m1-3br的每一个的第一端子与布线ver电连接,因此在晶体管m1r、晶体管m1-2br、晶体管m1-3br的每一个的源极与漏极间彼此几乎相等的电流流过。与在晶体管m1的源极与漏极间流过的电流同样地,该电流的量为i
ut

[0681]
当在电路mp中作为第二数据(神经元的信号的值)输入“+7”时,通过晶体管m3r只在时间t
ut
成为开启状态,且晶体管m4r成为关闭状态,从布线olb通过晶体管m1r向布线ver流过的电荷量为t
ut
×iut
=q
ut
。此外,同样地,通过晶体管m3-2br只在时间2t
ut
成为开启状态,且晶体管m4-2br成为关闭状态,从布线olb通过晶体管m1-2br向布线ver流过的电荷量为2t
ut
×iut
=2q
ut
,通过晶体管m3-3br只在时间4t
ut
成为开启状态,且晶体管m4-3br成为关闭状态,从布线olb通过晶体管m1-3br向布线ver流过的电荷量为4t
ut
×iut
=4q
ut
。因此,从布线olb通过电路mcr向布线ver流过的电荷量为q
ut
+2q
ut
+4q
ut
=7q
ut
。另一方面,从布线ol通过电路mc向布线ve流过的电荷量由于晶体管m1、晶体管m1-2b、晶体管m1-3b处于关闭状态,所以为0。
[0682]
注意,当在电路mp中作为第二数据(神经元的信号的值)输入
“‑
7”时,在布线olb与电路mc之间、在布线ol与电路mcr之间都成为导通状态,在布线olb与电路mcr之间、在布线ol与电路mc之间成为非导通状态,因此从布线ol通过电路mcr向布线ver流过的电荷量为q
ut
+2q
ut
+4q
ut
=7q
ut
,从布线olb通过电路mc向布线ve流过的电荷量为0。
[0683]
因此,通过在电路mp中设定“+1”的第一数据(权重系数),根据正的第二数据(神经元的信号的值),从包括在电路mp中的晶体管m3、晶体管m3-2b、晶体管m3-3b中选择一个以上的成为开启状态的晶体管,可以将从布线ol通过电路mc向布线ve流过的电荷量设定为q
ut
、2q
ut
、3q
ut
、4q
ut
、5q
ut
、6q
ut
、7q
ut
中的任一个。注意,此时,从布线olb通过电路mcr向布线ver流过的电荷量为0。此外,在电路mp中设定
“‑
1”的第一数据(权重系数),根据正的第二数据(神经元的信号的值),从包括在电路mp中的晶体管m3r、晶体管m3-2br、晶体管m3-3br选择一个以上的成为开启状态的晶体管,可以将从布线olb通过电路mcr向布线ver流过的电荷量设定为q
ut
、2q
ut
、3q
ut
、4q
ut
、5q
ut
、6q
ut
、7q
ut
中的任一个。注意,此时,从布线ol通过电路mc向布线ve流过的电荷量为0。
[0684]
通过在电路mp中设定“+1”的第一数据(权重系数),根据负的第二数据(神经元的信号的值),从包括在电路mp中的晶体管m4、晶体管m4-2b、晶体管m4-3b中选择一个以上的成为开启状态的晶体管,可以将从布线olb通过电路mc向布线ve流过的电荷量设定为q
ut
、2q
ut
、3q
ut
、4q
ut
、5q
ut
、6q
ut
、7q
ut
中的任一个。注意,此时,从布线ol通过电路mcr向布线ver流过的电荷量为0。此外,在电路mp中设定
“‑
1”的第一数据(权重系数),根据负的第二数据(神经元的信号的值)从包括在电路mp中的晶体管m4r、晶体管m4-2br、晶体管m4-3br选择一个以上的成为开启状态的晶体管,可以将从布线ol通过电路mcr向布线ver流过的电荷量设定为q
ut
、2q
ut
、3q
ut
、4q
ut
、5q
ut
、6q
ut
、7q
ut
中的任一个。注意,此时,从布线olb通过电路mc向布线ve流过的电荷量为0。
[0685]
例如,将设定在电路mp中的第一数据(权重系数)从“+1”改变为正整数的“a”。具体而言,在晶体管m1中以电流量ia(=ai1)流过的方式设定,且晶体管m1r、晶体管m1-2br、晶体管m1-3br处于关闭状态。此时,在晶体管m1-2b、晶体管m1-3b的每一个的源极与漏极间流过的电流量为ia。因此,通过根据第二数据(神经元的信号的值)从包括在电路mp中的晶体管m3、晶体管m3-2b、晶体管m3-3b选择一个以上的成为开启状态的晶体管,从布线ol通过电路mc向布线ve流过的电荷量为aq
ut
、2aq
ut
、3qa
ut
、4aq
ut
、5aq
ut
、6aq
ut
、7aq
ut
中的任一个。此外,在“a”为负整数时,aq
ut
、2aq
ut
、3qa
ut
、4aq
ut
、5aq
ut
、6aq
ut
、7aq
ut
中的任一个的电荷量从布线olb通过电路mcr向布线ver流过。
[0686]
注意,当在电路mp中预先设定“0”的第一数据(权重系数)时,晶体管m1、晶体管m1r的每一个处于关闭状态。因此,电流不从布线ol或布线olb通过电路mc向布线ve流过,电流不从布线ol或布线olb通过电路mcr向布线ver流过。换言之,可以说在布线ol、布线olb的每一个中流过的电荷量为0。
[0687]
这里,着眼于电路actf的积分电路。当电流从布线ol或布线olb通过电路mc向布线ve流过时或者电流从布线ol或布线olb通过电路mcr向布线ver流过时,在图8a中,使开关swo、开关swob处于开启状态,使开关swi、开关swib、开关swl、开关swlb、开关swh、开关swhb处于关闭状态,使在布线ol及布线olb与电路afp之间处于导通状态,由此可以在包括在电路actf中的积分电路的电容中储存在布线ol、布线olb中流过的电荷量。因此,电路actf可以输出对应于在布线ol中流过的电荷量q
ol
及在布线olb中流过的电荷量q
olb
的神经元的信号z
j(k)

[0688]
以下表示出通过上述工作例子,第一数据(权重系数)为“+1”或
“‑
1”,以上述那样定义第二数据(神经元的信号的值)时的在布线ol中流过的电荷量q
ol
及在布线olb中流过的
电荷量q
olb

[0689]
[表8]
[0690]
[表9]
[0691]
如上所述,通过设定第一数据(权重系数)及第二数据(神经元的信号的值),根据
第一数据(权重系数)与第二数据(神经元的信号的值)之积的结果,决定从布线ol向电路mc或电路mcr的电荷量q
ol
及从布线olb向电路mc或电路mcr的电荷量q
olb
。此外,在第一数据(权重系数)与第二数据(神经元的信号的值)之积的结果为正值时,电流从布线ol向电路mc或电路mcr流过,在第一数据(权重系数)与第二数据(神经元的信号的值)之积的结果为负值时,电流从布线olb向电路mc或电路mcr流过。也就是说,可以从电荷量q
ol
及电荷量q
olb
算出第一数据(权重系数)与第二数据(神经元的信号的值)之积。例如,在第一数据(权重系数)为
“‑
1”或“+1”,第二数据(神经元的信号的值)为
“‑
7”至“+7”中的任一个,且第一数据(权重系数)与第二数据(神经元的信号的值)之积为正数时,在上述表中,在电流从布线ol向电路mc或电路mcr流过的电荷量q
ol
中,通过将q
ut
换成“+1”,可以从电荷量q
ol
算出第一数据(权重系数)与第二数据(神经元的信号的值)之积。另外,例如,在第一数据(权重系数)为
“‑
1”或“+1”,第二数据(神经元的信号的值)为
“‑
7”至“+7”中的任一个,且第一数据(权重系数)与第二数据(神经元的信号的值)之积为负数时,在上述表中,在电流从布线olb向电路mc或电路mcr流过的电荷量q
olb
中,通过将q
ut
换成
“‑
1”,可以从电荷量q
olb
算出第一数据(权重系数)与第二数据(神经元的信号的值)之积。
[0692]
注意,在上述工作例子中,设定在电路mp中的第一数据(权重系数)为“+1”、
“‑
1”,也可以使用“0”、模拟值等的第一数据(权重系数)进行计算。由此,电路mp可以进行2值、多值、模拟值等的第一数据(权重系数)与多值的第二数据(神经元的信号的值)的积和运算及/或激活函数的运算。
[0693]
本发明的一个方式不局限于上述定义。在上述中,作为第二数据(神经元的信号的值),定义正的多值、负的多值、0,但是例如输入期间是连续值而不是离散值(a为正实数,输入期间为a
×
t
ut
),可以处理第二数据(神经元的信号的值)作为模拟值。
[0694]
例如,在晶体管m3、晶体管m3r成为开启状态或者晶体管m4、晶体管m4r成为开启状态的时间为t
ut
,晶体管m3-2b、晶体管m3-2br成为开启状态或者晶体管m4-2b、晶体管m4-2br成为开启状态的时间为2t
ut
,晶体管m3-3b、晶体管m3-3br成为开启状态或者晶体管m4-3b、晶体管m4-3br成为开启状态的时间为4t
ut
时,对布线wx1l输入高电平电位,对布线x2l输入低电平电位,且对布线x1l2b、布线x2l2b、布线x1l3b、布线x2l3b输入低电平电位时的第二数据(神经元的信号的值)被定义为“+0.1”等的实数而不是“+1”。
[0695]
本发明的一个方式的半导体装置不局限于图51的电路mp的结构。例如,在图51的电路mp中,作为设定电流量的晶体管,在电路mc中包括晶体管m1、晶体管m1-2b、晶体管m1-3b的3个,在电路mcr中包括晶体管m1r、晶体管m1-2br、晶体管m1-3br的3个,但是在电路mc、电路mcr的每一个中,设定电流量的晶体管也可以为2个或4个以上。
[0696]
此外,本发明的一个方式的半导体装置及该半导体装置的工作方法不局限于上述方法。在上述中,说明图51的电路mp的晶体管m1、晶体管m1r、晶体管m1-2b、晶体管m1-2br、晶体管m1-3b、晶体管m1-3br的每一个的尺寸相等,例如,也可以使晶体管m1、晶体管m1r的w长与l长的比例为w/l,且使晶体管m1-2b、晶体管m1-2br、晶体管m1-3b、晶体管m1-3br的w长与l长的比例为2w/l。此时,通过以电流量i1的电流在晶体管m1的源极与漏极间流过的方式设定,由于晶体管m1-2b的w长与l长的比例及晶体管m1-3b的w长与l长的比例的每一个为晶体管m1的w长与l长的比例的2倍,所以电流量2i1在晶体管m1-2b、晶体管m1-3b的每一个的源极与漏极间流过。同样地,通过以电流量i1的电流在晶体管m1r的源极与漏极间流过的方
式设定,由于晶体管m1-2br的w长与l长的比例及晶体管m1-3br的w长与l长的比例的每一个为晶体管m1r的w长与l长的比例的2倍,所以电流量2i1在晶体管m1-2br、晶体管m1-3br的每一个的源极与漏极间流过。
[0697]
这里,晶体管m3、晶体管m3r成为开启状态或者晶体管m4、晶体管m4r成为开启状态的时间为t
ut
,晶体管m3-2b、晶体管m3-2br成为开启状态或者晶体管m4-2b、晶体管m4-2br成为开启状态的时间为2t
ut
,晶体管m3-3b、晶体管m3-3br成为开启状态或者晶体管m4-3b、晶体管m4-3br成为开启状态的时间为2t
ut
。也就是说,在对电路mp输入第二数据(神经元的信号的值)时,对布线wx1l和布线x2l中的一个的高电平电位的输入时间为t
ut
,对布线x1l2b和布线x2l2b中的一个的高电平电位的输入时间为2t
ut
,对布线x1l3b和布线x2l3b中的一个的高电平电位的输入时间为2t
ut
。在图52的电路mp中,在布线wx1l、布线x2l、布线x1l2b、布线x2l2b、布线x1l3b、布线x2l3b的符号附近,示出与图51不同的脉冲电压的示意图及输入时间。
[0698]
当以电流量i
ut
的电流在晶体管m1的源极与漏极间流过的方式设定时,晶体管m3-3b和晶体管m4-3b中的一个只在时间2t
ut
成为开启状态,晶体管m3-3b和晶体管m4-3b中的另一个成为关闭状态,由此从布线ol或布线olb通过晶体管m1-3b向布线ve流过的电荷量为2t
ut
×
2i
ut
=4q
ut
。注意,由于从布线ol通过晶体管m1向布线ve流过的电荷量及从布线ol通过晶体管m1-2b向布线ve流过的电荷量的条件与上述工作例子相同,所以省略其说明。
[0699]
此外,当以电流量i
ut
的电流在晶体管m1r的源极与漏极间流过的方式设定时,晶体管m3-3br和晶体管m4-3br中的一个只在时间2t
ut
成为开启状态,晶体管m3-3br和晶体管m4-3br中的另一个成为关闭状态,由此从布线ol或布线olb通过晶体管m1-3br向布线ver流过的电荷量为2t
ut
×
2i
ut
=4q
ut
。注意,由于从布线ol或布线olb通过晶体管m1r向布线ver流过的电荷量及从布线ol或布线olb通过晶体管m1-2br向布线ver流过的电荷量的条件与上述工作例子相同,所以省略其说明。
[0700]
如上所述,通过适当地改变晶体管m1、晶体管m1r、晶体管m1-2b、晶体管m1-2br、晶体管m1-3b、晶体管m1-3br的每一个的尺寸及对布线wx1l、布线x2l、布线x1l2b、布线x2l2b、布线x1l3b、布线x2l3b的每一个的高电平电位的输入时间,可以与图51所示的电路mp的工作例子同样地工作。
[0701]
此外,本发明的一个方式的半导体装置不局限于图51、图52的电路mp的结构。例如,在图51的电路mp中,作为设定电流量的晶体管,在电路mc中包括晶体管m1、晶体管m1-2b、晶体管m1-3b的3个,在电路mcr中包括晶体管m1r、晶体管m1-2br、晶体管m1-3br的3个,在电路mc、电路mcr的每一个中,设定电流量的晶体管也可以为2个或4个以上。此外,也可以根据该晶体管增减保持部的个数、布线数。
[0702]
本发明的一个方式的半导体装置的工作方法不局限于上述工作方法。例如,如在工作方法例子2中说明那样,也可以将对布线wx1l、布线x2l、布线x1l2b、布线x2l2b、布线x1l3b、布线x2l3b的每一个输入的信号的输入期间分为多个子期间。
[0703]
在本工作方法例子中,为了简化起见,考虑布线ol、布线olb只与一个电路mp电连接的情况,但是如图11的运算电路150那样,布线ol、布线olb也可以与多个电路mp电连接。由此,可以将从布线ol、布线olb的每一个输入到多个电路mp中的电荷量的总和储存在包括在电路actf中的积分电路的电容,电路actf可以输出对应于在布线ol、布线olb中流过的每
一个的电荷量的神经元的信号z
j(k)

[0704]
注意,在本工作例子中,作为例子示出图11的运算电路150,即使根据情况改变其他运算电路也可以进行与本工作例子相同的工作。
[0705]
注意,本工作方法例子可以与本说明书所示的其他工作方法例子等适当地组合。
[0706]
《工作方法例子4》这里,对使用图53的电路mp的图11的运算电路150的工作方法进行说明。
[0707]
与工作方法例子1至工作方法例子3同样地,为了简化起见,关于在布线ol、布线olb中流过的电流的变化,只由与布线ol、布线olb电连接的一个电路mp进行。此外,与电路mp电连接的布线ve、布线ver的每一个对电路mp作为恒电压供应vss。另外,包括在电路afp中的电路actf[1]至电路actf[n]的每一个作为一个例子为具有积分电路(或者,电流电荷(iq)转换电路)的结构的电路actf。例如,电路actf在图6e的电路actf[j]中也可以具有以负载lea、负载leb为电容等的结构。
[0708]
图53具有从图27所示的电路mp去除晶体管m1-3b、晶体管m1-3br、晶体管m3-3b、晶体管m3-3br、晶体管m4-3b、晶体管m4-3br、电路hc-3b、电路hc-3br的结构。因此,从图53所示的电路mp也去除布线wx1l3b、布线x2l3b、布线wl3b。此外,晶体管m1、晶体管m1r、晶体管m1-2b、晶体管m1-2br的每一个的尺寸,例如w长与l长优选相等。此外,本工作方法例子与在实施方式2中说明的图27的电路mp的工作例子不同。
[0709]
具体而言,在电流从电路afp向电路mp流过时,对布线wx1l和布线x2l中的一个的高电平电位的输入时间为t
ut
,且对布线wx1l2b和布线x2l2b中的另一个的高电平电位的输入时间为2t
ut
而进行工作。也就是说,在晶体管m3、晶体管m3r成为开启状态或者晶体管m4、晶体管m4r成为开启状态的时间为t
ut
时,以晶体管m3-2b、晶体管m3-2br成为开启状态或晶体管m4-2b、晶体管m4-2br成为开启状态的时间为2t
ut
的方式工作。因此,在图53的电路mp中,为了示出与图27的电路mp不同的工作,在布线wx1l、布线x2l、布线wx1l2b、布线x2l2b的符号附近示出脉冲电压的示意图及输入时间。
[0710]
如在工作方法例子1、工作方法例子2中说明,通过在电路mp中设定第一数据(例如,这里是权重系数),且设定晶体管m3或晶体管m4成为开启状态的时间,决定从布线ol或布线olb通过晶体管m1向布线ve流过的电荷量。此外,通过在电路mp中设定第一数据(权重系数)决定晶体管m3r或晶体管m4r成为开启状态的时间,决定从布线ol或布线olb通过晶体管m1r向布线ver流过的电荷量。
[0711]
同样地,关于从布线ol或布线olb通过晶体管m1-2b向布线ve流过的电荷量及从布线ol或布线olb通过晶体管m1-2br向布线ver流过的电荷量,通过在晶体管m3-2b、晶体管m3-2br、晶体管m4-2b、晶体管m4-2br的每一个中设定成为开启状态的时间来决定。
[0712]
在图53的电路hc、电路hc-2b的每一个中作为数字值(2值)保持vss或v1。对电路hc、电路hc-2b的每一个的电位vss的保持通过使图8a中的布线vcn及图53的电路hc的节点n1及/或电路hc-2b的节点n1处于导通状态来进行。此外,对电路hc、电路hc-2b的每一个的电位v1的保持通过将电流在晶体管m1、晶体管晶体管m1-2b的每一个的源极与漏极间作为电流量i1设定来进行。注意,当在晶体管m1、m1-2b的每一个中作为电流量i1设定时,因晶体管m1、晶体管m1-2b的制造工序等导致的晶体管特性的偏差有时引起在电路hc、hc-2b的每一个中所保持的电压彼此不同。
[0713]
在电路hcr、电路hc-2br的每一个中与上述同样地作为数字值(2值)保持vss或v1。
[0714]
这里,定义设定在电路mp中的第一数据(权重系数)。
[0715]
在例如在电路mp中作为第一数据(权重系数)设定“+1”时,以在晶体管m1中电流量i1流过的方式设定,在电路hc-2b、电路hcr、电路hc-2br中保持vss。由于晶体管m1的第一端子通过晶体管m3与布线ol电连接,通过晶体管m4与布线olb电连接,所以在对布线wx1l和布线x2l中的一个输入高电平电位时,从布线ol或布线olb通过晶体管m1向布线ve流过的电荷量为t
ut
×
i1。这里,t
ut
×
i1=q
ut
。注意,由于晶体管m1r、晶体管m1-2b、晶体管m1-2br成为关闭状态,所以在晶体管m1r、晶体管m1-2b、晶体管m1-2br的每一个的源极与漏极间流过的电流量为0。
[0716]
当在电路mp中作为第一数据(权重系数)设定“+2”时,以在晶体管m1-2b中电流量i1流过的方式设定,在电路hc、电路hcr、电路hc-2br中保持vss。由于晶体管m1-2b的第一端子通过晶体管m3-2b与布线ol电连接,通过晶体管m4-2b与布线olb电连接,所以在对布线wx1l2b和布线x2l2b中的一个输入高电平电位时,从布线ol或布线olb通过晶体管m1-2b向布线ve流过的电荷量为2t
ut
×
i1=2q
ut
。注意,由于晶体管m1、晶体管m1r、晶体管m1-2br成为关闭状态,所以在晶体管m1、晶体管m1r、晶体管m1-2br的每一个的源极与漏极间流过的电流量为0。
[0717]
当在电路mp中作为第一数据(权重系数)设定“+3”时,以在晶体管m1、晶体管m1-2b中电流量i1流过的方式设定,在电路hcr、电路hc-2br中保持vss。如上所述,在对布线wx1l和布线x2l中的一个输入高电平电位时,从布线ol或布线olb通过晶体管m1向布线ve流过的电荷量为t
ut
×
i1,在对布线wx1l2b和布线x2l2b中的一个输入高电平电位时,从布线ol或布线olb通过晶体管m1向布线ve流过的电荷量为2t
ut
×
i1。因此,从布线ol或布线olb通过电路mc向布线ve流过的电荷量为t
ut
×
i1+2t
ut
×
i1=3q
ut
。注意,由于晶体管m1r、晶体管m1-2br成为关闭状态,所以在晶体管m1r、晶体管m1-2br的每一个的源极与漏极间流过的电流量为0。
[0718]
当将第一数据(权重系数)设定为
“‑
1”时,以在晶体管m1r中电流量i1流过的方式设定,在电路hc、电路hc-2b、电路hc-2br中保持vss。由于晶体管m1r的第一端子通过晶体管m3r与布线olb电连接,通过晶体管m4r与布线ol电连接,所以在对布线wx1l和布线x2l中的一个输入高电平电位时,从布线ol或布线olb通过晶体管m1r向布线ver流过的电荷量为t
ut
×
i1。这里,t
ut
×
i1=q
ut
。注意,由于晶体管m1r、晶体管m1-2b、晶体管m1-2br成为关闭状态,所以在晶体管m1、晶体管m1-2b、晶体管m1-2br的每一个的源极与漏极间流过的电流量为0。
[0719]
当在电路mp中作为第一数据(权重系数)设定
“‑
2”时,以在晶体管m1-2br中电流量i1流过的方式设定,在电路hc、电路hcr、电路hc-2b中保持vss。由于晶体管m1-2br的第一端子通过晶体管m3-2br与布线olb电连接,通过晶体管m4-2br与布线ol电连接,所以在对布线wx1l2b和布线x2l2b中的一个输入高电平电位时,从布线ol或布线olb通过晶体管m1-2br向布线ver流过的电荷量为2t
ut
×
i1=2q
ut
。注意,由于晶体管m1、晶体管m1r、晶体管m1-2b成为关闭状态,所以在晶体管m1、晶体管m1r、晶体管m1-2b的每一个的源极与漏极间流过的电流量为0。
[0720]
当在电路mp中作为第一数据(权重系数)设定
“‑
3”时,以在晶体管m1r、晶体管m1-2br中电流量i1流过的方式设定,在电路hc、电路hc-2b中保持vss。如上所述,在对布线wx1l和布线x2l中的一个输入高电平电位时,从布线ol或布线olb通过晶体管m1r向布线ver流过
的电荷量为t
ut
×
i1,在对布线wx1l2b和布线x2l2b中的一个输入高电平电位时,从布线ol或布线olb通过晶体管m1r-2br向布线ver流过的电荷量为2t
ut
×
i1。因此,从布线ol或布线olb通过电路mcr向布线ver流过的电荷量为t
ut
×
i1+2t
ut
×
i1=3q
ut
。注意,由于晶体管m1、晶体管m1-2b成为关闭状态,所以在晶体管m1、晶体管m1-2b的每一个的源极与漏极间流过的电流量为0。
[0721]
在第一数据(权重系数)为“0”时,在电路hc、电路hcr、电路hc-2b、电路hc-2br中保持vss。因此,在晶体管m1、晶体管m1r、晶体管m1-2b、晶体管m1-2br的每一个的源极与漏极间流过的电流量为0。
[0722]
也就是说,在电路hc、电路hcr、电路hc-2b、电路hc-2br中保持数字值(2值),对布线wx1l和布线x2l中的一个的高电平电位的输入期间为t
ut
,对布线wx1l2b和布线x2l2b中的一个的高电平电位的输入期间为2t
ut
,由此可以表示多值(在本工作例子中
“‑
3”、
“‑
2”、
“‑
1”、“0”、“+1”、“+2”、“+3”的7值)的第一数据(权重系数)。
[0723]
注意,在本工作例子中,作为对电路mp输入的第二数据(这里,例如是神经元的信号)的定义,作为一个例子,在第二数据为“+1”时,对布线wx1l、布线x1l2b输入高电平电位,且对布线x2l、布线x2l2b输入低电平电位,在第二数据为
“‑
1”时,对布线wx1l、布线x1l2b输入低电平电位,且对布线x2l、布线x2l2b输入高电平电位,在第二数据为“0”时,对布线wx1l、布线x1l2b、布线x2l、布线x2l2b的每一个输入低电平电位。
[0724]
这里,着眼于电路actf的积分电路。当电流从布线ol或布线olb通过电路mc向布线ve流过时或者电流从布线ol或布线olb通过电路mcr向布线ver流过时,在图8a中,使开关swo、开关swob处于开启状态,使开关swi、开关swib、开关swl、开关swlb、开关swh、开关swhb处于关闭状态,使在布线ol及布线olb与电路afp之间处于导通状态,由此可以在包括在电路actf中的积分电路的电容中储存在布线ol、布线olb中流过的电荷量。因此,电路actf可以输出对应于在布线ol中流过的电荷量q
ol
及在布线olb中流过的电荷量q
olb
的神经元的信号z
j(k)

[0725]
以下表示出通过上述工作例子,将第一数据(权重系数)设定为“+3”、“+2”、“+1”、“0”、
“‑
1”、
“‑
2”、
“‑
3”中的任一个,以上述那样定义第二数据(神经元的信号的值)时的在布线ol中流过的电荷量q
ol
及在布线olb中流过的电荷量q
olb

[0726]
[表10]
[0727]
如上所述,通过设定第一数据(权重系数)及第二数据(神经元的信号的值),根据第一数据(权重系数)与第二数据(神经元的信号的值)之积的结果,决定电流从布线ol向电路mc或电路mcr的电荷量q
ol
及电流从布线olb向电路mc或电路mcr的电荷量q
olb
。此外,在第一数据(权重系数)与第二数据(神经元的信号的值)之积的结果为正值时,电流从布线ol向电路mc或电路mcr流过,在第一数据(权重系数)与第二数据(神经元的信号的值)之积的结果为负值时,电流从布线olb向电路mc或电路mcr流过。也就是说,可以从电荷量q
ol
及电荷量q
olb
算出第一数据(权重系数)与第二数据(神经元的信号的值)之积。例如,在第一数据(权重系数)为
“‑
3”至“+3”,第二数据(神经元的信号的值)为
“‑
1”、“0”、“+1”中的任一个,且第一数据(权重系数)与第二数据(神经元的信号的值)之积为正数时,在上述表中,在电流从布线ol向电路mc或电路mcr流过的电荷量q
ol
中,通过将q
ut
换成“+1”,可以从电荷量q
ol
算出第一数据(权重系数)与第二数据(神经元的信号的值)之积。另外,例如,在第一数据(权重系数)为
“‑
1”或“+1”,第二数据(神经元的信号的值)为
“‑
7”至“+7”中的任一个,且第一数据(权重系数)与第二数据(神经元的信号的值)之积为负数时,在上述表中,在电流从布线olb向电路mc或电路mcr流过的电荷量q
olb
中,通过将q
ut
换成
“‑
1”,可以从电荷量q
olb
算出第一数据(权重系数)与第二数据(神经元的信号的值)之积。
[0728]
注意,在上述工作例子中,设定在电路mp中的第一数据(权重系数)为“+3”、“+2”、“+1”、“0”、
“‑
1”、
“‑
2”、
“‑
3”,调节对布线wx1l、布线x2l、布线wx1l2b、布线x2l2b输入高电平电位的时间,也可以将第一数据(权重系数)设定为模拟值等。由此,电路mp可以进行模拟值
等的第一数据(权重系数)与多值的第二数据(神经元的信号的值)的积和运算及/或激活函数的运算。
[0729]
此外,本发明的一个方式的半导体装置不局限于图53的电路mp的结构。例如,在图53的电路mp中,作为设定电流量的晶体管,在电路mc中包括晶体管m1、晶体管m1-2b的两个,在电路mcr中包括晶体管m1r、晶体管m1-2br的两个,在电路mc、电路mcr的每一个中,设定电流量的晶体管也可以为三个以上。此外,也可以根据该晶体管增减保持部的个数、布线数。
[0730]
本发明的一个方式的半导体装置的工作方法不局限于上述工作方法。例如,如在工作方法例子2中说明那样,对布线wx1l、布线x2l、布线wx1l2b、布线x2l2b的每一个输入的信号的输入期间可以分为多个子期间,也可以使其变短或变长。在后者的情况下,具体而言,例如,通过在上述工作例子中将输入到布线wx1l及布线x2l的信号的输入时间设定为at
ut
(a为大于0的实数)并将输入到布线wx1l2b及布线x2l2b的信号的输入时间设定为2at
ut
,可以在第二数据(神经元的信号的值)是3值以外的多值或模拟值而不是
“‑
1”、“0”、“+1”的3值的状态下进行第一数据与第二数据的积和运算。
[0731]
在本工作方法例子中,为了简化起见,考虑布线ol、布线olb只与一个电路mp电连接的情况,但是如图11的运算电路150那样,布线ol、布线olb也可以与多个电路mp电连接。由此,可以将从布线ol、布线olb的每一个输入到多个电路mp中的电荷量的总和储存在包括在电路actf中的积分电路的电容,电路actf可以输出对应于在布线ol、布线olb中流过的每一个的电荷量的神经元的信号z
j(k)

[0732]
注意,在本工作例子中,作为例子示出图11的运算电路150,即使根据情况改变其他运算电路也可以进行与本工作例子相同的工作。
[0733]
注意,本工作方法例子可以与本说明书所示的其他工作方法例子等适当地组合。
[0734]
《工作方法例子5》这里,对使用图54的电路mp的图11的运算电路150的工作方法进行说明。
[0735]
与工作方法例子1至工作方法例子4同样地,为了简化起见,关于在布线ol、布线olb中流过的电流的变化,只由与布线ol、布线olb电连接的一个电路mp进行。此外,与电路mp电连接的布线ve、布线ver的每一个对电路mp作为恒电压供应vss。另外,包括在电路afp中的电路actf[1]至电路actf[n]的每一个作为一个例子为具有积分电路(或者,电流电荷(iq)转换电路)的结构的电路actf。例如,电路actf在图6e的电路actf[j]中也可以具有以负载lea、负载leb为电容等的结构。
[0736]
图54具有从图29所示的电路mp去除晶体管m1-2b、晶体管m1-2br、晶体管m1-3b、晶体管m1-3br、晶体管m3-2b、晶体管m3-2br、晶体管m3-3b、晶体管m3-3br、晶体管m4-2b、晶体管m4-2br、晶体管m4-3b、晶体管m4-3br、电路hc-2b、电路hc-2br、电路hc-3b、电路hc-3br的结构。因此,从图54所示的电路mp也去除布线x1l2b、布线x2l2b、布线x1l3b、布线x2l3b。此外,本工作方法例子与在实施方式2中说明的图29的电路mp的工作例子不同。
[0737]
具体而言,在对电路mp输入第二数据(例如,这里是神经元的信号的值)时,根据第二数据(神经元的信号的值)设定对布线x1l和布线x2l中的一个的高电平电位的输入时间。也就是说,设定晶体管m3、晶体管m3r成为开启状态或晶体管m4、晶体管m4r成为开启状态的时间。
[0738]
如在工作方法例子1中说明,通过在电路mp中设定第一数据(例如,这里是权重系
数),且设定晶体管m3或晶体管m4成为开启状态的时间,决定从布线ol或布线olb通过晶体管m1向布线ve流过的电荷量。此外,通过在电路mp中设定第一数据(权重系数)决定晶体管m3r或晶体管m4r成为开启状态的时间,决定从布线ol或布线olb通过晶体管m1r向布线ver流过的电荷量。
[0739]
作为一个例子,在第二数据(神经元的信号的值)为“+1”的情况下,对布线x1l的高电平电位的输入期间为t
ut
,对布线x1l输入高电平电位,对布线x2l输入低电平电位时,可以以如下表定义其他第二数据(神经元的信号的值)。注意,下表只示出
“‑
3”至“+3”的整数。
[0740]
[表11]信号x1lx2l-3lowhigh(3t
ut
)-2lowhigh(2t
ut
)-1lowhigh(t
ut
)0lowlow+1high(t
ut
)low+2high(2t
ut
)low+3high(3t
ut
)low
[0741]
如在实施方式2的结构例子5中说明,电路hcs、电路hcsr具有包括sram的结构或包括nosram的结构。这里,在电路hcs、电路hcsr中保持2值(数字值)的电位。由此,作为一个例子,当在电路mp中设定的第一数据(权重系数)为“+1”时,在电路hcs中保持高电平电位(这里例如是vddl),在电路hcsr中保持低电平电位(这里例如是vss),当设定在电路mp中的第一数据(权重系数)为
“‑
1”时,在电路hcs中保持低电平电位,在电路hcsr中保持高电平电位,当设定在电路mp中的第一数据(权重系数)为“0”时,在电路hcs中保持低电平电位,在电路hcsr中保持低电平电位。
[0742]
注意,当在电路hcs中保持电压vddl时,在晶体管m1中流过的电流的量为i1。此外,当在电路hcs中保持电压vss时,在晶体管m1中流过的电流的量为0。同样地,当在电路hcsr中保持电压vddl时,在晶体管m1r中流过的电流的量为i1,当在电路hcsr中保持电压vss时,在晶体管m1r中流过的电流的量为0。
[0743]
接着,对图54的电路mp的具体的工作例子进行说明。
[0744]
在电路mp中例如预先设定“+1”的第一数据(权重系数)。
[0745]
当在电路mp中作为第二数据(神经元的信号的值)输入“+3”时,通过晶体管m3只在时间3t
ut
成为开启状态,且晶体管m4成为关闭状态,从布线ol通过晶体管m1向布线ve流过的电荷量为3t
ut
×iut
。注意,这里,t
ut
×iut
=q
ut
。另一方面,从布线olb通过电路mcr向布线ver流过的电荷量由于晶体管m1r处于关闭状态,所以成为0。
[0746]
此外,当在电路mp中作为第二数据(神经元的信号的值)输入
“‑
3”时,在布线olb与电路mc之间、在布线ol与电路mcr之间都成为导通状态,在布线olb与电路mcr之间、在布线ol与电路mc之间都成为非导通状态,因此从布线olb通过电路mc向布线ve流过的电荷量为3t
ut
×iut
=3q
ut
,从布线ol通过电路mcr向布线ver流过的电荷量为0。
[0747]
另外,考虑在电路mp中例如预先设定
“‑
1”的第一数据(权重系数)的情况。
[0748]
当在电路mp中作为第二数据(神经元的信号的值)输入“+3”时,通过晶体管m3r只
在时间3t
ut
成为开启状态,且晶体管m4r成为关闭状态,从布线olb通过晶体管m1r向布线ver流过的电荷量为3t
ut
×iut
=3q
ut
。另一方面,从布线ol通过电路mc向布线ve流过的电荷量由于晶体管m1处于关闭状态,所以为0。
[0749]
此外,当在电路mp中作为第二数据(神经元的信号的值)输入
“‑
3”时,在布线olb与电路mc之间、在布线ol与电路mcr之间都成为导通状态,在布线olb与电路mcr之间、在布线ol与电路mc之间成为非导通状态,因此从布线ol通过电路mcr向布线ver流过的电荷量为3t
ut
×iut
=3q
ut
,从布线olb通过电路mc向布线ve流过的电荷量为0。
[0750]
这里,着眼于电路actf的积分电路。当电流从布线ol或布线olb通过电路mc向布线ve流过时或者电流从布线ol或布线olb通过电路mcr向布线ver流过时,在图8a中,使开关swo、开关swob处于开启状态,使开关swi、开关swib、开关swl、开关swlb、开关swh、开关swhb处于关闭状态,使在布线ol及布线olb与电路afp之间处于导通状态,由此可以在包括在电路actf中的积分电路的电容中储存在布线ol、布线olb中流过的电荷量。因此,电路actf可以输出对应于在布线ol中流过的电荷量q
ol
及在布线olb中流过的电荷量q
olb
的神经元的信号z
j(k)

[0751]
以下表示出通过上述工作例子,第一数据(权重系数)为“+1”或
“‑
1”,以上述那样定义第二数据(神经元的信号的值)时的在布线ol中流过的电荷量q
ol
及在布线olb中流过的电荷量q
olb

[0752]
[表12]
[0753]
注意,在第二数据(神经元的信号的值)为
“‑
3”、
“‑
2”、
“‑
1”、“0”、“+1”、“+2”、“+3”以外的整数或实数时,根据整数或实数,设定对布线x1l和布线x2l中的一个的高电平电位的输入时间即可。例如,a为正实数,输入期间为a
×
t
ut
,由此可以处理第二数据(神经元的信号的值)作为模拟值。
[0754]
由此,与工作方法例子1至工作方法例子3同样地,第二数据(神经元的信号的值)为多值,可以将其供应给电路mp。
[0755]
注意,如上所述,包括在图54的电路mp中的电路hcs、电路hcsr具有包括sram的结构。在图55a中作为电路hcs、电路hcsr具有包括sram的结构示出图54的电路mp的详细具体例子。注意,关于在图55a中记载的符号、第一数据(权重数据)的保持方法等,参照图30的电路mp的说明的记载。
[0756]
在图55a的电路mp中,在保持在电路hcs中的电位为低电平电位和高电平电位中的
一个,保持在电路hcsr中的电位为低电平电位和高电平电位中的另一个时,也就是说,当在电路hcs、电路hcsr中不需要保持相同的电位时,图55a的电路mp可以改变为图55b的电路mp。图55b的电路mp在电路mc中包括电路hcs,通过包括在电路hcs中的反相器环形电路ivr,将对晶体管m1的栅极供应的信号的反转信号供应给晶体管m1r。注意,此时,作为一个例子,在对晶体管m1的栅极供应高电平电位时(在对晶体管m1r的栅极供应低电平电位时),可以将设定在电路mp中的第一数据(权重系数)设定为“+1”,当对晶体管m1的栅极供应低电平电位时(对晶体管m1r的栅极供应高电平电位时),可以将设定在电路mp中的第一数据(权重系数)设定为
“‑
1”。
[0757]
图56a示出在电路hcs、电路hcsr中包括反相器环形电路ivr,且与图55a的电路mp不同的结构例子。图56a所示的电路mp在电路mc中包括具有反相器环形电路ivr的电路hcs、晶体管m3、晶体管m4,在电路mcr中包括具有反相器环形电路ivrr的电路hcsr、晶体管m3r、晶体管m4r。反相器环形电路ivr包括反相器电路iv1、反相器电路iv2,反相器环形电路ivrr包括反相器电路iv1r、反相器电路iv2r。
[0758]
反相器电路iv1的输出端子与反相器电路iv2的输入端子、晶体管m3的第一端子、晶体管m4的第一端子电连接,反相器电路iv2的输出端子与反相器电路iv1的输入端子电连接。晶体管m3的第二端子与布线ol电连接,晶体管m3的栅极与布线wx1l电连接。晶体管m4的第二端子与布线olb电连接,晶体管m4的栅极与布线x2l电连接。反相器电路iv1r的输出端子与反相器电路iv2r的输入端子、晶体管m3r的第一端子、晶体管m4r的第一端子电连接,反相器电路iv2r的输出端子与反相器电路iv1r的输入端子电连接。晶体管m3r的第二端子与布线olb电连接,晶体管m3r的栅极与布线wx1l电连接。晶体管m4r的第二端子与布线ol电连接,晶体管m4r的栅极与布线x2l电连接。
[0759]
电路hcs具有通过反相器环形电路ivr在反相器电路iv1的输出端子中保持高电平电位和低电平电位中的一个的功能,电路hcsr具有通过反相器环形电路ivrr在反相器电路iv1r的输出端子中保持高电平电位和低电平电位中的一个的功能。由此,与图54、图55a同样地,作为一个例子,当在电路mp中设定的第一数据(权重系数)为“+1”时,在反相器电路iv1的输出端子中保持高电平电位(这里例如是vddl),在反相器电路iv1r的输出端子中保持低电平电位(这里例如是vss),当在电路mp中设定的第一数据(权重系数)为
“‑
1”时,在反相器电路iv1的输出端子中保持低电平电位,在反相器电路iv1r的输出端子中保持高电平电位,当在电路mp中设定的第一数据(权重系数)为“0”时,在反相器电路iv1的输出端子中保持低电平电位,在反相器电路iv1r的输出端子中保持低电平电位。
[0760]
对图56a的电路mp的第二数据(神经元的信号的值)的输入与图54、图55a同样地设定对布线wx1l和布线x2l中的一个的高电平电位的输入时间即可。
[0761]
图56a的电路mp与图54、图55a及图55b的每一个的电路mp不同,使用包括在电路hcs的反相器环形电路ivr中的晶体管从布线ol或布线olb向电路mc电流流过,使用包括在电路hcsr的反相器环形电路ivrr中的晶体管从布线ol或布线olb向电路mcr电流流过。
[0762]
图56a的电路mp可以改变为图56b所示的电路mp的结构。图56b的电路mp具有不设置包括在图56a的电路mp中的电路mcr的结构。也就是说,使用包括在电路hcs的反相器环形电路ivr中的晶体管从布线ol或布线olb向电路mc电流流过。注意,此时,作为一个例子,当对反相器电路iv1的输出端子供应高电平电位时,可以将设定在电路mp中的第一数据(权重
系数)设定为“+1”,当对反相器电路iv1的输出端子供应低电平电位时,可以将设定在电路mp中的第一数据(权重系数)设定为“0”。
[0763]
图56c的电路mp具有从图56b的电路mp去除布线x2l,且晶体管m4的第一端子与反相器电路iv1的输入端子、反相器电路iv2的输出端子电连接的结构。在布线wx1l的电位为高电平电位时,对布线ol或布线olb输出相反信号。此时,作为一个例子,在对反相器电路iv1的输出端子供应高电平电位时,可以将设定在电路mp中的第一数据(权重系数)设定为“+1”,在对反相器电路iv1的输出端子供应低电平电位时,可以将设定在电路mp中的第一数据(权重系数)设定为
“‑
1”。此外,作为一个例子,在从电路mp向电路afp供应信息(例如,电流、电压等)的情况下,当对布线wx1l输入高电平电位时,也可以将对电路mp输入的第二数据(神经元的信号的值)设定为“+1”,在对布线wx1l输入低电平电位时,也可以将对电路mp输入的第二数据(神经元的信号的值)设定为“0”。
[0764]
注意,图56a至图56c的电路mp例如可以用于图7所示的运算电路140的电路mp。
[0765]
如上所述,包括在图54的电路mp中的电路hcs、电路hcsr可以具有包括nosram的结构。在图57a中作为电路hcs、电路hcsr具有包括nosram的结构示出图54的电路mp的详细具体例子。注意,图54的电路mp具有电路hcs与布线ol及布线olb电连接且电路hcsr与布线ol及布线olb电连接的结构,而图57a的电路mp具有如下结构:在图54的电路mp中还设置布线il及布线ilb;电路hcs与布线il电连接;以及电路hcsr与布线ilb电连接。另外,关于在图57a中记载的符号、第一数据(权重数据)的保持方法等,参照图34的电路mp的说明的记载。
[0766]
在图57a的电路mp中,也可以将布线il及布线ol组合为一个布线以及/或者将布线ilb及布线olb组合为一个布线。在图57b的电路mp中将布线il及布线ol作为布线ol组合为一个布线,将布线ilb及布线olb作为布线olb组合为一个布线。
[0767]
另外,在图57a的电路mp中,也可以将布线il及布线ilb组合为一个布线。在图58的电路mp中,将布线il及布线ilb组合为一个布线il。注意,图58所示的电路mp电连接有布线w1l及布线w2l作为相当于图57所示的电路mp的布线wl的布线。具体而言,电路mc的晶体管m8的栅极与布线w1l电连接,电路mcr的晶体管m8r的栅极与布线w2l电连接。布线w1l及布线w2l被用作从布线il向电路mc和电路mcr中的一方写入数据时选择电路mc和电路mcr中的一方的信号线。注意,当作为晶体管m8使用n沟道型晶体管和p沟道型晶体管中的一方且作为晶体管m8r使用n沟道型晶体管和p沟道型晶体管中的另一方时,有时可以将布线w1l及布线w2l组合为一个布线(未图示)。
[0768]
另外,当在图57a的电路mp中想要向电容c2的第二端子和晶体管m1的第一端子的每一个分别供应不同的电压时,只要将图57a的电路mp改变为图59a的电路mp的结构就可。与图16a的电路mp同样,图59a的电路mp具有如下结构:电容c2的第二端子与布线ve电连接;晶体管m1的第一端子与布线vem电连接;电容c2r的第二端子与布线ver电连接;以及晶体管m1的第一端子与布线vemr电连接。借助于该结构,可以向晶体管m1的第一端子、电容c2的第二端子、晶体管m1r的第一端子和电容c2r的第二端子的每一个分别供应不同的电位。另外,与此同样,当在图57b的电路mp中想要向电容c2的第二端子和晶体管m1的第一端子的每一个分别供应不同的电压时,只要改变为图59b的电路mp的结构就可。注意,图59b的电路mp的电路结构有时与图16a的电路mp相同。
[0769]
本发明的一个方式的半导体装置的工作方法不局限于上述工作方法。例如,如在
工作方法例子2中说明那样,在图54至图58的电路mp中,也可以将对布线x1l(图56a及图56b中,布线wx1l)、布线x2l的每一个输入的信号的输入期间分为多个子期间。
[0770]
在本工作方法例子中,为了简化起见,考虑布线ol、布线olb只与一个电路mp电连接的情况,但是如图11的运算电路150那样,布线ol、布线olb也可以与多个电路mp电连接。由此,可以将从布线ol、布线olb的每一个输入到多个电路mp中的电荷量的总和储存在包括在电路actf中的积分电路的电容,电路actf可以输出对应于在布线ol、布线olb中流过的每一个的电荷量的神经元的信号z
j(k)

[0771]
注意,在本工作例子中,作为例子示出图11的运算电路150,即使根据情况改变其他运算电路也可以进行与本工作例子相同的工作。
[0772]
注意,本工作方法例子可以与本说明书所示的其他工作方法例子等适当地组合。
[0773]
《工作方法例子6》这里,对使用图60a的电路mp的图3的运算电路120的工作方法进行说明。
[0774]
与工作方法例子1至工作方法例子5同样地,为了简化起见,关于在布线ol、布线olb中流过的电流的变化,只由与布线ol、布线olb电连接的一个电路mp进行。此外,与电路mp电连接的布线ve对电路mp作为恒电压供应vss。另外,包括在电路afp中的电路actf[1]至电路actf[n]的每一个作为一个例子为具有积分电路(或者,电流电荷(iq)转换电路)的结构的电路actf。例如,电路actf在图6e的电路actf[j]中也可以具有以负载lea、负载leb为电容等的结构。
[0775]
在图60a中,电路mp中的电路mc包括晶体管m3、晶体管m4及电路hcs。具体而言,晶体管m3的第一端子与晶体管m4的第一端子及电路hcs电连接。另外,晶体管m3的栅极与布线x1l电连接,晶体管m3的背栅极与电路hcs电连接,晶体管m3的第二端子与布线ol电连接。另外,晶体管m4的栅极与布线x2l电连接,晶体管m4的背栅极与电路hcs电连接,晶体管m4的第二端子与布线olb电连接。另外,电路hcs与布线il及布线wl电连接。
[0776]
另外,在图60a的电路mp中,电路mcr具有与电路mc大致相同的电路结构。因此,为了与电路mc所包括的电路元件区分,对电路mcr所包括的电路元件的符号附上“r”。另外,晶体管m3r与布线olb电连接,晶体管m4r与布线ol电连接。
[0777]
关于晶体管m3、晶体管m4、晶体管m3r及晶体管m4r的各结构,参照其他部分中记载的晶体管m3、晶体管m4、晶体管m3r及晶体管m4r的说明。
[0778]
作为电路hcs及电路hcsr,例如,与图29的电路mp中的电路hcs及电路hcsr同样可以采用sram、nosram等。另外,电路hcs及电路hcsr具有保持与在电路mp中设定的第一数据(例如,权重系数等)对应的电位的功能。
[0779]
作为具体例子,图60b示出将nosram用于电路hcs及电路hcsr时的电路结构。电路hcs包括晶体管m8及电容c3。晶体管m8的第一端子与布线il电连接,晶体管m8的第二端子与电容c3的第一端子、晶体管m3的背栅极及晶体管m4的背栅极电连接,晶体管m8的栅极与布线wl电连接。电容c3的第二端子与布线ve电连接。
[0780]
图60a及图60b所示的布线x1l和布线x2l例如可以为图3所示的运算电路120的布线x1l[i]和布线x2l[i]。另外,图60a及图60b所示的布线wl例如可以为图3所示的运算电路120的布线wls[i]。另外,图60a及图60b所示的布线il和布线ilb例如可以为图3所示的运算电路120的布线il[j]和布线il[j]。另外,图60a及图60b所示的布线ol和布线olb例如可以
为图3所示的运算电路120的布线ol[j]和布线olb[j]。
[0781]
布线ve被用作供应恒电压的布线。该恒电压例如可以为接地电位、低电平电位等。
[0782]
在此,说明电路mp中的晶体管m3、晶体管m3r、晶体管m4及晶体管m4r的工作特性。图61a是简单地示出图60a的电路mp中的晶体管m3、晶体管m3r、晶体管m4和晶体管m4r中的任一个晶体管的栅极-源极间电压与漏极电流的特性。横轴表示该晶体管的栅极-源极间电压vgs,纵轴表示该晶体管的漏极电流id。图60a所示的纵轴为线性标度。
[0783]
另外,在图60a中,作为一个例子,将施加到该晶体管的栅极的电位设定为vg,将施加到该晶体管的背栅极的电位设定为vbg。另外,作为一个例子,将施加到该晶体管的源极的恒电位设定为0v。
[0784]
图61a中示出两个曲线,一个曲线示出该晶体管的vbg为高电平电位(图61a中图示为high)时的栅极-源极间电压vgs与漏极电流id的特性,另一个曲线示出该晶体管的vbg为低电平电位(图61a中图示为low)时的栅极-源极间电压vgs与漏极电流id的特性。从图61a可知,vbg为高电平电位时的该晶体管的阈值电压vth2低于vbg为低电平电位时的该晶体管的阈值电压vth1。就是说,通过改变该晶体管的vbg,可以改变使该晶体管成为开启状态所需的vgs(因为源极的电位为0v,所以可以将其称为vg)。
[0785]
在此,以在该晶体管的vbg为高电平电位时该晶体管成为开启状态且在该晶体管的vbg为低电平电位时该晶体管成为关闭状态的方式设定该晶体管的vg。在图61a中,将该晶体管的vg表示为vg1。就是说,vg1只要是高于vbg为高电平电位的该晶体管的阈值电压vth2且低于vbg为低电平电位的该晶体管的阈值电压vth1的电位,就可。
[0786]
另外,以在该晶体管的vbg为高电平电位时该晶体管成为关闭状态且在该晶体管的vbg为低电平电位时该晶体管成为关闭状态的方式设定该晶体管的vg。在图61a中,将该晶体管的vg表示为vg2。就是说,vg2只要是低于vbg为高电平电位的晶体管m3(晶体管m4)的阈值电压vth2的电位,就可。
[0787]
例如,根据图60a,晶体管m3及晶体管m3r的栅极的电位vg是从布线x1l供应的。因此,vg1及vg2可以是从布线x1l供应的电位。同样地,晶体管m4及晶体管m4r的栅极的电位vg是从布线x2l供应的。因此,vg1及vg2可以是从布线x2l供应的电位。在本说明书等中,可以将vg1和vg2分别称为高电平电位和低电平电位。
[0788]
另外,在本说明书等中,“低电平电位”、“高电平电位”不是指特定电位,在布线不同时,具体的电位也有时不同。因此,施加到晶体管m3、晶体管m3r、晶体管m4、晶体管m4r的背栅极的高电平电位也可以是与施加到布线x1l、布线x2l的高电平电位(vg1)不同的电位。同样地,施加到晶体管m3、晶体管m3r、晶体管m4、晶体管m4r的背栅极的低电平电位也可以是与施加到布线x1l、布线x2l的低电平电位(vg2)不同的电位。例如,施加到晶体管m3、晶体管m3r、晶体管m4及晶体管m4r的背栅极的高电平电位也可以与晶体管m3、晶体管m3r、晶体管m4及晶体管m4r的源极电位相同。另外,例如,施加到晶体管m3、晶体管m3r、晶体管m4及晶体管m4r的背栅极的低电平电位也可以是比晶体管m3、晶体管m3r、晶体管m4及晶体管m4r的源极电位低的电位。因此,例如在晶体管m3、晶体管m3r、晶体管m4及晶体管m4r的源极电位为0v时,施加到晶体管m3、晶体管m3r、晶体管m4及晶体管m4r的背栅极的低电平电位为负电位,例如也可以为-11v以上且-2v以下,更优选为-3v左右。
[0789]
注意,在上述工作例子中,在供应给布线x1l、布线x2l的电位(vg1或vg2)以及晶体
管m3、晶体管m3r、晶体管m4及晶体管m4r的背栅极的电位为2值(数字值)的前提下进行说明,但本发明的一个方式不局限于此。例如,如图61b所示,通过在将晶体管的栅极设定为vga1时将晶体管的背栅极的电位改变为vbg1、vbg2和vbg3中的任一个,可以增减晶体管的漏极电流id。在此,考虑图60a的电路mp。通过将晶体管m3、晶体管m3r、晶体管m4及晶体管m4r的栅极的电位设定为恒定并改变晶体管m3、晶体管m3r、晶体管m4及晶体管m4r的背栅极的电位来改变晶体管m3、晶体管m3r、晶体管m4及晶体管m4r的漏极电流id,可以增减流过布线ol及布线olb的电流量。就是说,通过改变晶体管m3、晶体管m3r、晶体管m4及晶体管m4r的背栅极的电位作为模拟值,电路mp可以进行利用模拟值的运算。
[0790]
根据图60a及图60b,供应给晶体管m3及晶体管m4的背栅极的电位可以为保持在电路hcs中的电位。另外,供应给晶体管m3r及晶体管m4r的背栅极的电位可以为保持在电路hcsr中的电位。就是说,电路hcs及电路hcsr的每一个只要保持与在电路mp中设定的第一数据(例如,权重系数等)对应的电位就可。
[0791]
另外,例如,如图61b所示,通过在将晶体管的背栅极的电位设定为vbg1、vbg2和vbg3中的任一个的情况下将该晶体管的栅极的电位改变为vga1、vga2和vga3中的任一个,可以增减该晶体管的漏极电流id。在考虑图60a的电路mp时,通过将晶体管m3、晶体管m3r、晶体管m4及晶体管m4r的背栅极的电位设定为恒定并改变晶体管m3、晶体管m3r、晶体管m4及晶体管m4r的栅极的电位来改变晶体管m3、晶体管m3r、晶体管m4及晶体管m4r的漏极电流id,可以增减流过布线ol及布线olb的电流量。就是说,通过改变晶体管m3、晶体管m3r、晶体管m4及晶体管m4r的栅极的电位作为模拟值,电路mp可以进行利用模拟值的运算。另外,也可以将晶体管m3、晶体管m3r、晶体管m4及晶体管m4r的栅极和背栅极的电位设定为恒定并改变源电极的电位作为模拟值来改变晶体管m3、晶体管m3r、晶体管m4及晶体管m4r的漏极电流id(未图示)。
[0792]
或者,在向图60a的电路mp输入第二数据(例如,这里是神经元的信号的值)时,也可以与上述工作方法例子同样地进行如下工作:根据第二数据(神经元的信号的值)向布线x1l和布线x2l中的一方输入高电平电位并向布线x1l和布线x2l中的另一方输入低电平电位;以及设定向布线x1l和布线x2l中的一方输入的高电平电位的输入时间。另外,例如,也可以将高电平电位的输入期间分为多个子期间。该方法中也可以处理第二数据作为多值或模拟值,因此可以算出2值、多值或模拟值的第一数据与2值、多值或模拟值的第二数据之积。
[0793]
注意,在图60b中,布线ve与晶体管m3的第一端子、晶体管m4的第一端子、晶体管m3r的第一端子、晶体管m4r的第一端子、电容c3的第二端子及电容c3r的第二端子电连接,但在想要向各电路元件分别供应不同的电位时,与图59a、图59b等的布线ve、布线vem、布线ver、布线vemr等同样地使不同的布线分别电连接于各电路元件,即可。
[0794]
另外,在图59a及图59b中,即使调换晶体管m3的栅极和背栅极,有时也可以进行与上述工作同样的工作。另外,关于晶体管m3r、晶体管m4及晶体管m4r,即使调换其栅极和背栅极,有时也可以进行与上述工作同样的工作。
[0795]
在本工作方法例子中,为了简化起见,考虑布线ol、布线olb只与一个电路mp电连接的情况,但是如图3的运算电路120那样,布线ol、布线olb也可以与多个电路mp电连接。由此,可以将从布线ol、布线olb的每一个输入到多个电路mp中的电荷量的总和储存在包括在
电路actf中的积分电路的电容,电路actf可以输出对应于在布线ol、布线olb中流过的每一个的电荷量的神经元的信号z
j(k)

[0796]
注意,在本工作例子中,将图3的运算电路120用作例子,但是根据情况改变其他运算电路也可以进行与本工作例子相同的工作。例如,通过在图59a及图59b的电路mp中将布线il及布线ol组合为一个布线ol并将布线ilb及布线olb组合为一个布线olb,该电路mp还可以用于图7的运算电路140、图11的运算电路150等。
[0797]
注意,本工作方法例子可以与本说明书所示的其他工作方法例子等适当地组合。
[0798]
《工作方法例子7》这里,对使用图62的电路mp的图11的运算电路150的工作方法进行说明。
[0799]
与工作方法例子1至工作方法例子6同样地,为了简化起见,关于在布线ol、布线olb中流过的电流的变化,只由与布线ol、布线olb电连接的一个电路mp进行。此外,与电路mp电连接的布线ve、布线ver的每一个对电路mp作为恒电压供应vss。另外,包括在电路afp中的电路actf[1]至actf[n]的每一个作为一个例子为具有积分电路(或者,电流电荷(iq)转换电路)的结构的电路actf。例如,电路actf在图6e的电路actf[j]中也可以具有以负载lea、负载leb为电容等的结构。
[0800]
图62示出与图36所示的电路mp同样的电路结构。注意,在图62的电路mp中电路hcs、电路hcs-2b、电路hcs-3b的每一个与布线olb电连接,电路hcsr、电路hcs-2br、电路hcs-3br的每一个与布线ol电连接。此外,在本工作方法例子中,与在实施方式2中说明的图36的电路mp的工作例子不同。
[0801]
具体而言,与工作方法例子5同样地,在电路mp中根据第二数据(例如,这里是神经元的信号的值)设定对布线x1l和布线x2l中的一个的高电平电位的输入时间。也就是说,设定晶体管m3、晶体管m3r成为开启状态或晶体管m4、晶体管m4r成为开启状态的时间。
[0802]
如在工作方法例子1中说明,通过在电路mp中设定第一数据(例如,这里是权重系数),且设定晶体管m3或晶体管m4成为开启状态的时间,决定从布线ol或布线olb通过晶体管m1向布线ve流过的电荷量。此外,通过在电路mp中设定第一数据(权重系数)决定晶体管m3r或晶体管m4r成为开启状态的时间,决定从布线ol或布线olb通过晶体管m1r向布线ver流过的电荷量。
[0803]
关于从布线ol或布线olb通过晶体管m1-2b向布线ve流过的电荷量及从布线ol或布线olb通过晶体管m1-2br向布线ver流过的电荷量,通过在晶体管m3、晶体管m3r、晶体管m4、晶体管m4r的每一个中设定成为开启状态的时间来决定。
[0804]
因此,在图62的电路mp中的第二数据(神经元的信号的值)的定义可以与图54的电路mp中的第二数据(神经元的信号的值)相同。
[0805]
图62所示的电路hcs、电路hcs-2b、电路hcs-3b、电路hcsr、电路hcs-2br、电路hcs-3br如实施方式2的结构例子6所说明,作为一个例子可以具有包括sram的结构或包括nosram的结构。这里,在电路hcs、电路hcs-2b、电路hcs-3b、电路hcsr、电路hcs-2br、电路hcs-3br中保持2值(数字值)的电位。
[0806]
当晶体管m1、晶体管m1r的w长与l长的比例为w/l时,晶体管m1-2b、晶体管m1-2br的w长与l长的比例为2w/l,晶体管m1-3b、晶体管m1-3br的w长与l长的比例为4w/l。
[0807]
因此,设定在电路mp中的第一数据(这里,例如,权重系数)可以参照实施方式2的
结构例子6的内容。具体而言,例如,设定在电路mp中的第一数据(权重系数)根据在晶体管m1、晶体管m1r、晶体管m1-2b、晶体管m1-2br、晶体管m1-3b、晶体管m1-3br的每一个中流过的电流决定。换言之,设定在电路mp中的第一数据(权重系数)根据保持在电路hcs、电路hcs-2b、电路hcs-3b、电路hcsr、电路hcs-2br、电路hcs-3br的每一个中的电位决定。由此,作为一个例子,如下表所示,通过在电路hcs、电路hcs-2b、电路hcs-3b、电路hcsr、电路hcs-2br、电路hcs-3br的每一个中保持电位,可以设定设定在电路mp中的第一数据(权重系数)。
[0808]
[表13]权重系数hcshcsrhcs-2bhcs-2brhcs-3bhcs-3br+1vddlvssvssvssvssvss+2vssvssvddlvssvssvss+3vddlvssvddlvssvssvss+4vssvssvssvssvddlvss+5vddlvssvssvssvddlvss+6vssvssvddlvssvddlvss+7vddlvssvddlvssvddlvss-1vssvddlvssvssvssvss-2vssvssvssvddlvssvss-3vssvddlvssvddlvssvss-4vssvssvssvssvssvddl-5vssvddlvssvssvssvddl-6vssvssvssvddlvssvddl-7vssvddlvssvddlvssvddl0vssvssvssvssvssvss
[0809]
注意,当在电路hcs中保持电压vddl时,在晶体管m1中流过的电流的量为i1。此外,由于晶体管m1-2b的w长与l长的比例为晶体管m1的w长与l长的比例的2倍,所以当在电路hcs-2b中保持电压vddl时,在晶体管m1-2b中流过的电流的量为2i1。此外,由于晶体管m1-3b的w长与l长的比例为晶体管m1的w长与l长的比例的4倍,所以当在电路hcs-3b中保持电压vddl时,在晶体管m1-3b中流过的电流的量为4i1。此外,同样地,当在电路hcsr中保持电压vddl时,在晶体管m1r中流过的电流的量为i1,当在电路hcs-2br中保持电压vddl时,在晶体管m1-2br中流过的电流的量为2i1,当在电路hcs-3br中保持电压vddl时,在晶体管m1-3br中流过的电流的量为4i1。注意,当在电路hcs、电路hcsr、电路hcs-2b、电路hcs-2br、电路hcs-3b、电路hcs-2br的每一个中保持电压vss时,在晶体管m1、晶体管m1r、晶体管m1-2b、晶体管m1-2br、晶体管m1-3b、晶体管m1-3br中流过的电流的量为0。
[0810]
接着,说明图62的电路mp的具体工作例子。
[0811]
在电路mp中例如预先设定“+7”的第一数据(权重系数)。此时,在晶体管m1的源极与漏极间电流i
ut
流过,在晶体管m1-2b的源极与漏极间电流2i
ut
流过,在晶体管m1-3b的源极与漏极间电流4i
ut
流过。
[0812]
当在电路mp中作为第二数据(神经元的信号的值)输入“+3”时,通过晶体管m3只在时间3t
ut
成为开启状态,且晶体管m4成为关闭状态,从布线ol通过电路mc向布线ve流过的电
荷量为3t
ut
×iut
+3t
ut
×
2i
ut
+3t
ut
×
4i
ut
=21t
ut
×iut
。注意,这里,t
ut
×iut
=q
ut
。也就是说,从布线ol通过电路mc向布线ve流过的电荷量为21t
ut
×iut
=21q
ut
。另一方面,从布线olb通过电路mcr向布线ver流过的电荷量由于晶体管m1r、晶体管m1-2br、晶体管m1-3br处于关闭状态,所以成为0。
[0813]
此外,当在电路mp中作为第二数据(神经元的信号的值)输入
“‑
3”时,在布线olb与电路mc之间、在布线ol与电路mcr之间都成为导通状态,在布线olb与电路mcr之间、在布线ol与电路mc之间都成为非导通状态,因此从布线olb通过电路mc向布线ve流过的电荷量为21t
ut
×iut
=21q
ut
,从布线ol通过电路mcr向布线ver流过的电荷量为0。
[0814]
在电路mp中例如考虑预先设定
“‑
7”的第一数据(权重系数)的情况。此时,在晶体管m1r的源极与漏极间电流i1流过,在晶体管m1-2br的源极与漏极间电流2i1流过,在晶体管m1-3br的源极与漏极间电流4i1流过。
[0815]
当在电路mp中作为第二数据(神经元的信号的值)输入“+3”时,通过晶体管m3r只在时间3t
ut
成为开启状态,且晶体管m4r成为关闭状态,从布线olb通过电路mcr向布线ver流过的电荷量为3t
ut
×iut
+3t
ut
×
2i
ut
+3t
ut
×
4i
ut
=21t
ut
×iut
。也就是说,从布线olb通过电路mcr向布线ver流过的电荷量为21t
ut
×iut
=21q
ut
。另一方面,从布线ol通过电路mc向布线ve流过的电荷量由于晶体管m1、晶体管m1-2b、晶体管m1-3b处于关闭状态,所以成为0。
[0816]
此外,当在电路mp中作为第二数据(神经元的信号的值)输入
“‑
3”时,在布线olb与电路mc之间、在布线ol与电路mcr之间都成为导通状态,在布线olb与电路mcr之间、在布线ol与电路mc之间成为非导通状态,因此从布线ol通过电路mcr向布线ver流过的电荷量为21t
ut
×iut
=21q
ut
,从布线olb通过电路mc向布线ve流过的电荷量为0。
[0817]
通过改变设定在电路mp中的第一数据(权重系数),由于保持在电路hcs、电路hcs-2b、电路hcs-3b、电路hcsr、电路hcs-2br、电路hcs-3br的每一个中的电位的组合变化,所以在晶体管m1、晶体管m1r、晶体管m1-2b、晶体管m1-2br、晶体管m1-3b、晶体管m1-3br的每一个中流过的电流的量变化。因此,从布线ol或布线olb通过电路mc向布线ve流过的电荷量及从布线ol或布线olb通过电路mcr向布线ver流过的电荷量可以根据第一数据(权重系数)决定。
[0818]
注意,当在电路mp中预先设定“0”的第一数据(权重系数)时,晶体管m1、晶体管m1r、晶体管m1-2b、晶体管m1-2br、晶体管m1-3b、晶体管m1-3br的每一个处于关闭状态。因此,电流不从布线ol或布线olb通过电路mc向布线ve流过,电流不从布线ol或布线olb通过电路mcr向布线ver流过。换言之,可以说在布线ol、布线olb的每一个中流过的电荷量为0。
[0819]
当对电路mp作为第二数据(神经元的信号的值)输入“0”时,由于对布线x1l、布线x2l的每一个输入低电平电位,所以晶体管m3、晶体管m3r、晶体管m4、晶体管m4r成为关闭状态。因此,电流不从布线ol或布线olb通过电路mc向布线ve流过,电流不从布线ol或布线olb通过电路mcr向布线ver流过。换言之,可以说在布线ol、布线olb的每一个中流过的电荷量为0。
[0820]
当电流从布线ol或布线olb通过电路mc向布线ve流过时或者电流从布线ol或布线olb通过电路mcr向布线ver流过时,在图8a中,使开关swo、开关swob处于开启状态,使开关swi、开关swib、开关swl、开关swlb、开关swh、开关swhb处于关闭状态,使在布线ol及布线olb与电路afp之间处于导通状态,由此可以在包括在电路actf中的积分电路的电容中储存
在布线ol、布线olb中流过的电荷量。因此,电路actf可以输出对应于在布线ol、布线olb的每一个中流过的电荷量的神经元的信号z
j(k)

[0821]
如上所述,通过设定第一数据(权重系数)及第二数据(神经元的信号的值),根据第一数据(权重系数)与第二数据(神经元的信号的值)之积的结果,决定电流从布线ol向电路mc或电路mcr的电荷量q
ol
及电流从布线olb向电路mc或电路mcr的电荷量q
olb
。此外,在第一数据(权重系数)与第二数据(神经元的信号的值)之积的结果为正值时,电流从布线ol向电路mc或电路mcr流过,在第一数据(权重系数)与第二数据(神经元的信号的值)之积的结果为负值时,电流从布线olb向电路mc或电路mcr流过。也就是说,可以从电荷量q
ol
及电荷量q
olb
算出第一数据(权重系数)与第二数据(神经元的信号的值)之积。例如,在第一数据(权重系数)为“+7”,且第二数据(神经元的信号的值)为“+3”时,q
ol
=21q
ut
、q
olb
=0。此时,由于从布线ol向电路mc或电路mcr电流流过,积的结果为正值。由此,作为一个例子,通过在从布线ol向电路mc或电路mcr电流流过的电荷量q
ol
中将q
ut
替换为“+1”,可以从电荷量q
ol
作为第一数据(权重系数)与第二数据(神经元的信号的值)的积的结果求出“+21”。此外,例如,在第一数据(权重系数)为
“‑
7”,第二数据(神经元的信号的值)为“+3”时,q
ol
=0、q
olb
=21q
ut
。此时,由于从布线olb向电路mc或电路mcr电流流过,所以积的结果为负值。由此,作为一个例子,通过在从布线olb向电路mc或电路mcr电流流过的电荷量q
olb
中将q
ut
替换为
“‑
1”,可以从电荷量q
olb
作为第一数据(权重系数)与第二数据(神经元的信号的值)的积的结果求出
“‑
21”。
[0822]
在第二数据(神经元的信号的值)为
“‑
3”、
“‑
2”、
“‑
1”、“0”、“+1”、“+2”、“+3”以外的整数或实数时,根据整数或实数,设定对布线x1l和布线x2l中的一个的高电平电位的输入时间即可。例如,a为正实数,输入期间为a
×
t
ut
,由此可以处理第二数据(神经元的信号的值)作为模拟值。
[0823]
由此,与工作方法例子1至工作方法例子3、工作方法例子5同样地,可以以第二数据(神经元的信号的值)为多值并将其供应给电路mp。
[0824]
此外,本发明的一个方式的半导体装置不局限于图62的电路mp的结构。例如,在图62的电路mp中,作为设定电流量的晶体管,在电路mc中包括晶体管m1、晶体管m1-2b、晶体管m1-3b的3个,在电路mcr中包括晶体管m1r、晶体管m1-2br、晶体管m1-3br的3个,在电路mc、电路mcr的每一个中,设定电流量的晶体管也可以为2个或4个以上。此外,也可以根据该晶体管增加保持部的个数、布线数。
[0825]
本发明的一个方式的半导体装置的工作方法不局限于上述工作方法。例如,如在工作方法例子2中说明那样,在图62的电路mp中,也可以将对布线x1l、布线x2l的每一个输入的信号的输入期间分为多个子期间。
[0826]
在本工作方法例子中,为了简化起见,考虑布线ol、布线olb只与一个电路mp电连接的情况,但是如图11的运算电路150那样,布线ol、布线olb也可以与多个电路mp电连接。由此,可以将从布线ol、布线olb的每一个输入到多个电路mp中的电荷量的总和储存在包括在电路actf中的积分电路的电容,电路actf可以输出对应于在布线ol、布线olb中流过的每一个的电荷量的神经元的信号z
j(k)

[0827]
注意,在本工作例子中,作为例子示出图11的运算电路150,即使根据情况改变其他运算电路也可以进行与本工作例子相同的工作。
[0828]
注意,本工作方法例子可以与本说明书所示的其他工作方法例子等适当地组合。
[0829]
《工作方法例子8》这里,对使用图63的电路mp的图11的运算电路150的工作方法进行说明。
[0830]
与工作方法例子1至工作方法例子7同样地,为了简化起见,关于在布线ol、布线olb中流过的电流的变化,只由与布线ol、布线olb电连接的一个电路mp进行。此外,与电路mp电连接的布线ve、布线ver的每一个对电路mp作为恒电压供应vss。另外,包括在电路afp中的电路actf[1]至actf[n]的每一个作为一个例子为具有积分电路(或者,电流电荷(iq)转换电路)的结构的电路actf。例如,电路actf在图6e的电路actf[j]中也可以具有以负载lea、负载leb为电容等的结构。
[0831]
图63示出与图29所示的电路mp同样的电路结构。注意,晶体管m1、晶体管m1r、晶体管m1-2b、晶体管m1-2br、晶体管m1-3b、晶体管m1-3br的每一个的尺寸,例如w长与l长优选相等。此外,本工作方法例子与在实施方式2中说明的图29的电路mp的工作例子不同。
[0832]
具体而言,与图51的电路mp同样地,当对电路mp输入第二数据(例如,这里是神经元的信号的值)时,在对布线x1l和布线x2l中的一个的高电平电位的输入时间为t
ut
时,对布线x1l2b和布线x2l2b中的一个的高电平电位的输入时间为2t
ut
,对布线x1l3b和布线x2l3b中的一个的高电平电位的输入时间为4t
ut
而进行工作。也就是说,在晶体管m3、晶体管m3r成为开启状态或者晶体管m4、晶体管m4r成为开启状态的时间为t
ut
时,以晶体管m3-2b、晶体管m3-2br成为开启状态或晶体管m4-2b、晶体管m4-2br成为开启状态的时间为2t
ut
,晶体管m3-3b、晶体管m3-3br成为开启状态或晶体管m4-3b、晶体管m4-3br成为开启状态的时间为4t
ut
的方式工作。因此,在图63的电路mp中,为了示出与图29的电路mp不同的工作,在布线x1l、布线x2l、布线x1l2b、布线x2l2b、布线x1l3b、布线x2l3b的符号附近示出脉冲电压的示意图及输入时间。
[0833]
如在工作方法例子1、工作方法例子2中说明,通过在电路mp中设定第一数据(例如,这里是权重系数),且设定晶体管m3或晶体管m4成为开启状态的时间,决定从布线ol或布线olb通过晶体管m1向布线ve流过的电荷量。此外,通过在电路mp中设定第一数据(权重系数)决定晶体管m3r或晶体管m4r成为开启状态的时间,决定从布线ol或布线olb通过晶体管m1r向布线ver流过的电荷量。
[0834]
同样地,关于从布线ol或布线olb通过晶体管m1-2b向布线ve流过的电荷量及从布线ol或布线olb通过晶体管m1-2br向布线ver流过的电荷量,通过在晶体管m3-2b、晶体管m3-2br、晶体管m4-2b、晶体管m4-2br的每一个中设定成为开启状态的时间来决定。此外,关于从布线ol或布线olb通过晶体管m1-3b向布线ve流过的电荷量及从布线ol或布线olb通过晶体管m1-3br向布线ver流过的电荷量,在晶体管m3-3b、晶体管m3-3br、晶体管m4-3b、晶体管m4-3br的每一个中设定成为开启状态的时间来决定。
[0835]
因此,在图63的电路mp中的第二数据(神经元的信号的值)的定义作为一个例子可以与在工作方法例子3中说明的图51的电路mp中的第二数据(神经元的信号的值)相同。
[0836]
如在实施方式2的结构例子5中说明,作为一个例子,图63所示的电路hcs、电路hcsr可以具有包括sram的结构或包括nosram的结构。这里,在电路hcs、电路hcsr中保持2值(数字值)的电位。因此,作为一个例子,当在电路mp中设定的第一数据(权重系数)为“+1”时,在电路hcs中保持高电平电位(这里例如是vddl),在电路hcsr中保持低电平电位(这里
例如是vss),当设定在电路mp中的第一数据(权重系数)为
“‑
1”时,在电路hcs中保持低电平电位,在电路hcsr中保持高电平电位,当设定在电路mp中的第一数据(权重系数)为“0”时,在电路hcs中保持低电平电位,在电路hcsr中保持低电平电位。
[0837]
注意,当在电路hcs中保持电压vddl时,在晶体管m1中流过的电流的量为i1。此外,当在电路hcs中保持电压vss时,在晶体管m1中流过的电流的量为0。同样地,当在电路hcsr中保持电压vddl时,在晶体管m1r中流过的电流的量为i
ut
,当在电路hcsr中保持电压vss时,在晶体管m1r中流过的电流的量为0。
[0838]
在电路mc中,晶体管m1、晶体管m1-2b、晶体管m1-3b的每一个的尺寸相等,晶体管m1、晶体管m1-2b、晶体管m1-3b的每一个的栅极与电路hcs电连接,晶体管m1、晶体管m1-2b、晶体管m1-3b的每一个的第一端子与布线ve电连接,由此在晶体管m1、晶体管m1-2b、晶体管m1-3b的每一个的源极与漏极间彼此几乎相等的电流流过。因此,与晶体管m1相同地,在晶体管m1-2b、晶体管m1-3b的每一个的源极与漏极间流过的电流量为i
ut
。此外,晶体管m1r、晶体管m1-2br、晶体管m1-3br的每一个与晶体管m1的尺寸相等,晶体管m1r、晶体管m1-2br、晶体管m1-3br的栅极与电路hcsr电连接,晶体管m1r、晶体管m1-2br、晶体管m1-3br的每一个的第一端子与布线ver电连接,因此在晶体管m1r、晶体管m1-2br、晶体管m1-3br的每一个的源极与漏极间流过的电流与在晶体管m1的源极与漏极间流过的电流相等。因此,与晶体管m1相同地,在晶体管m1r、晶体管m1-2br、晶体管m1-3br的每一个的源极与漏极间流过的电流量为i
ut

[0839]
接着,说明图63的电路mp的具体工作例子。
[0840]
在电路mp中例如预先设定“+1”的第一数据(权重系数)。
[0841]
当在电路mp中作为第二数据(神经元的信号的值)输入“+7”时,通过晶体管m3只在时间t
ut
成为开启状态,且晶体管m4成为关闭状态,从布线ol通过晶体管m1向布线ve流过的电荷量为t
ut
×iut
。注意,这里,t
ut
×iut
=q
ut
。此外,同样地,通过晶体管m3-2b只在时间2t
ut
成为开启状态,且晶体管m4-2b成为关闭状态,从布线ol通过晶体管m1-2b向布线ve流过的电荷量为2t
ut
×iut
=2q
ut
,通过晶体管m3-3b在时间4t
ut
成为开启状态,且晶体管m4-3b成为关闭状态,从布线ol通过晶体管m1-3b向布线ve流过的电荷量为4t
ut
×iut
=4q
ut
。因此,从布线ol通过电路mc向布线ve流过的电荷量为q
ut
+2q
ut
+4q
ut
=7q
ut
。另一方面,从布线olb通过电路mcr向布线ver流过的电荷量由于晶体管m1r、晶体管m1-2br、晶体管m1-3br处于关闭状态,所以成为0。
[0842]
注意,当在电路mp中作为第二数据(神经元的信号的值)输入
“‑
7”时,在布线olb与电路mc之间、在布线ol与电路mcr之间都成为导通状态,在布线olb与电路mcr之间、在布线ol与电路mc之间都成为非导通状态,因此从布线olb通过电路mc向布线ve流过的电荷量为q
ut
+2q
ut
+4q
ut
=7q
ut
,从布线ol通过电路mcr向布线ver流过的电荷量为0。
[0843]
此外,例如,考虑在电路mp中预先设定
“‑
1”的第一数据(权重系数)的情况。
[0844]
当在电路mp中作为第二数据(神经元的信号的值)输入“+7”时,通过晶体管m3r只在时间t
ut
成为开启状态,且晶体管m4r成为关闭状态,从布线olb通过晶体管m1r向布线ver流过的电荷量为t
ut
×iut
=q
ut
。此外,同样地,通过晶体管m4-2br只在时间2t
ut
成为开启状态,且晶体管m3-2br成为关闭状态,从布线olb通过晶体管m1-2br向布线ver流过的电荷量为2t
ut
×iut
=2q
ut
,通过晶体管m4-3br只在时间4t
ut
成为开启状态,且晶体管m3-3br成为关
闭状态,从布线olb通过晶体管m1-3br向布线ver流过的电荷量为4t
ut
×iut
=4q
ut
。因此,从布线olb通过电路mcr向布线ver流过的电荷量为q
ut
+2q
ut
+4q
ut
=7q
ut
。另一方面,从布线ol通过电路mc向布线ve流过的电荷量由于晶体管m1、晶体管m1-2b、晶体管m1-3b处于关闭状态,所以为0。
[0845]
注意,当在电路mp中作为第二数据(神经元的信号的值)输入
“‑
7”时,在布线olb与电路mc之间、在布线ol与电路mcr之间都成为导通状态,在布线olb与电路mcr之间、在布线ol与电路mc之间成为非导通状态,因此从布线ol通过电路mcr向布线ver流过的电荷量为q
ut
+2q
ut
+4q
ut
=7q
ut
,从布线olb通过电路mc向布线ve流过的电荷量为0。
[0846]
因此,通过在电路mp中设定“+1”的第一数据(权重系数),根据正的第二数据(神经元的信号的值),从包括在电路mp中的晶体管m3、晶体管m3-2b、晶体管m3-3b中选择一个以上的成为开启状态的晶体管,可以将从布线ol通过电路mc向布线ve流过的电荷量设定为q
ut
、2q
ut
、3q
ut
、4q
ut
、5q
ut
、6q
ut
、7q
ut
中的任一个。注意,此时,从布线olb通过电路mcr向布线ver流过的电荷量为0。此外,在电路mp中设定
“‑
1”的第一数据(权重系数),根据正的第二数据(神经元的信号的值),从包括在电路mp中的晶体管m3r、晶体管m3-2br、晶体管m3-3br选择一个以上的成为开启状态的晶体管,可以将从布线olb通过电路mcr向布线ver流过的电荷量设定为q
ut
、2q
ut
、3q
ut
、4q
ut
、5q
ut
、6q
ut
、7q
ut
中的任一个。注意,此时,从布线ol通过电路mc向布线ve流过的电荷量为0。
[0847]
通过在电路mp中设定“+1”的第一数据(权重系数),根据负的第二数据(神经元的信号的值),从包括在电路mp中的晶体管m4、晶体管m4-2b、晶体管m4-3b中选择一个以上的成为开启状态的晶体管,可以将从布线olb通过电路mc向布线ve流过的电荷量设定为q
ut
、2q
ut
、3q
ut
、4q
ut
、5q
ut
、6q
ut
、7q
ut
中的任一个。注意,此时,从布线ol通过电路mcr向布线ver流过的电荷量为0。此外,在电路mp中设定
“‑
1”的第一数据(权重系数),根据负的第二数据(神经元的信号的值)从包括在电路mp中的晶体管m4r、晶体管m4-2br、晶体管m4-3br选择一个以上的成为开启状态的晶体管,可以将从布线ol通过电路mcr向布线ver流过的电荷量设定为q
ut
、2q
ut
、3q
ut
、4q
ut
、5q
ut
、6q
ut
、7q
ut
中的任一个。注意,此时,从布线olb通过电路mc向布线ve流过的电荷量为0。
[0848]
注意,当在电路mp中预先设定“0”的第一数据(权重系数)时,晶体管m1、晶体管m1r、晶体管m1-2b、晶体管m1-2br、晶体管m1-3b、晶体管m1-3br的每一个处于关闭状态。因此,电流不从布线ol或布线olb通过电路mc向布线ve流过,电流不从布线ol或布线olb通过电路mcr向布线ver流过。换言之,可以说在布线ol、布线olb的每一个中流过的电荷量为0。
[0849]
当对电路mp输入“0”的第二数据(神经元的信号的值)时,晶体管m3、晶体管m3-2b、晶体管m3-3b、晶体管m4、晶体管m4-2b、晶体管m4-3b、晶体管m3r、晶体管m3-2br、晶体管m3-3br、晶体管m4r、晶体管m4-2br、晶体管m4-3br的每一个处于关闭状态。因此,电流不从布线ol或布线olb通过电路mc向布线ve流过,电流不从布线ol或布线olb通过电路mcr向布线ver流过。换言之,可以说在布线ol、布线olb的每一个中流过的电荷量为0。
[0850]
这里,着眼于电路actf的积分电路。当电流从布线ol或布线olb通过电路mc向布线ve流过时或者电流从布线ol或布线olb通过电路mcr向布线ver流过时,在图8a中,使开关swo、开关swob处于开启状态,使开关swi、开关swib、开关swl、开关swlb、开关swh、开关swhb处于关闭状态,使在布线ol及布线olb与电路afp之间处于导通状态,由此可以在包括在电
路actf中的积分电路的电容中储存在布线ol、布线olb中流过的电荷量。因此,电路actf可以输出对应于在布线ol中流过的电荷量q
ol
及在布线olb中流过的电荷量q
olb
的神经元的信号z
j(k)

[0851]
以下表示出通过上述工作例子,第一数据(权重系数)为“+1”或
“‑
1”,以上述那样定义第二数据(神经元的信号的值)时的在布线ol中流过的电荷量q
ol
及在布线olb中流过的电荷量q
olb

[0852]
[表14]
[0853]
[表15]
[0854]
如上所述,通过设定第一数据(权重系数)及第二数据(神经元的信号的值),根据第一数据(权重系数)与第二数据(神经元的信号的值)之积的结果,决定电流从布线ol向电路mc或电路mcr的电荷量q
ol
及电流从布线olb向电路mc或电路mcr的电荷量q
olb
。此外,在第一数据(权重系数)与第二数据(神经元的信号的值)之积的结果为正值时,电流从布线ol向电路mc或电路mcr流过,在第一数据(权重系数)与第二数据(神经元的信号的值)之积的结果为负值时,电流从布线olb向电路mc或电路mcr流过。也就是说,可以从电荷量q
ol
及电荷量q
olb
算出第一数据(权重系数)与第二数据(神经元的信号的值)之积。例如,在第一数据(权重系数)为
“‑
1”或“+1”,第二数据(神经元的信号的值)为
“‑
7”至“+7”中的任一个,且第一数据(权重系数)与第二数据(神经元的信号的值)之积为正数时,在上述表中,在电流从布线ol向电路mc或电路mcr流过的电荷量q
ol
中,通过将q
ut
换成“+1”,可以从电荷量q
ol
算出第一数据(权重系数)与第二数据(神经元的信号的值)之积。另外,例如,在第一数据(权重系数)为
“‑
1”或“+1”,第二数据(神经元的信号的值)为
“‑
7”至“+7”中的任一个,且第一数据(权重系数)与第二数据(神经元的信号的值)之积为负数时,在上述表中,在电流从布线olb向电路mc或电路mcr流过的电荷量q
olb
中,通过将q
ut
换成
“‑
1”,可以从电荷量q
olb
算出第一数据(权重系数)与第二数据(神经元的信号的值)之积。
[0855]
本发明的一个方式不局限于上述定义。在上述中,作为第二数据(神经元的信号的值),定义正的多值、负的多值、0,但是例如输入期间是连续值而不是离散值(a为正实数,输入期间为a
×
t
ut
),可以处理第二数据(神经元的信号的值)作为模拟值。
[0856]
例如,在晶体管m3、晶体管m3r成为开启状态或者晶体管m4、晶体管m4r成为开启状态的时间为t
ut
,晶体管m3-2b、m3-2br成为开启状态或者晶体管m4-2b、晶体管m4-2br成为开
启状态的时间为2t
ut
,晶体管m3-3b、晶体管m3-3br成为开启状态或者晶体管m4-3b、晶体管m4-3br成为开启状态的时间为4t
ut
时,对布线x1l输入高电平电位,对布线x2l输入低电平电位,且对布线x1l2b、布线x2l2b、布线x1l3b、布线x2l3b输入低电平电位时的第二数据(神经元的信号的值)被定义为“+0.1”等的实数而不是“+1”。
[0857]
本发明的一个方式的半导体装置不局限于图63的电路mp的结构。例如,在图63的电路mp中,作为设定电流量的晶体管,在电路mc中包括晶体管m1、晶体管m1-2b、晶体管m1-3b的3个,在电路mcr中包括晶体管m1r、晶体管m1-2br、晶体管m1-3br的3个,但是在电路mc、电路mcr的每一个中,设定电流量的晶体管也可以为2个或4个以上。
[0858]
此外,本发明的一个方式的半导体装置及该半导体装置的工作方法不局限于上述方法。在上述中,说明图63的电路mp的晶体管m1、晶体管m1r、晶体管m1-2b、晶体管m1-2br、晶体管m1-3b、晶体管m1-3br的每一个的尺寸相等,例如,如图52的电路mp那样,也可以使晶体管m1、晶体管m1r的w长与l长的比例为w/l,且使晶体管m1-2b、晶体管m1-2br、晶体管m1-3b、晶体管m1-3br的w长与l长的比例为2w/l。在电路hcs保持电位vddl时,通过以电流量i1的电流在晶体管m1的源极与漏极间流过的方式设定,由于晶体管m1-2b的w长与l长的比例及晶体管m1-3b的w长与l长的比例的每一个为晶体管m1的w长与l长的比例的2倍,所以电流量2i1在晶体管m1-2b、晶体管m1-3b的每一个的源极与漏极间流过。同样地,在电路hcsr保持电位vddl时,通过以电流量i1的电流在晶体管m1r的源极与漏极间流过的方式设定,由于晶体管m1-2br的w长与l长的比例及晶体管m1-3br的w长与l长的比例的每一个为晶体管m1r的w长与l长的比例的2倍,所以电流量2i1在晶体管m1-2br、晶体管m1-3br的每一个的源极与漏极间流过。
[0859]
这里,晶体管m3、晶体管m3r成为开启状态或者晶体管m4、晶体管m4r成为开启状态的时间为t
ut
,晶体管m3-2b、晶体管m3-2br成为开启状态或者晶体管m4-2b、晶体管m4-2br成为开启状态的时间为2t
ut
,晶体管m3-3b、晶体管m3-3br成为开启状态或者晶体管m4-3b、晶体管m4-3br成为开启状态的时间为2t
ut
。也就是说,在对电路mp输入第二数据(神经元的信号的值)时,对布线x1l和布线x2l中的一个的高电平电位的输入时间为t
ut
,对布线x1l2b和布线x2l2b中的一个的高电平电位的输入时间为2t
ut
,对布线x1l3b和布线x2l3b中的一个的高电平电位的输入时间为2t
ut
。在图64的电路mp中,在布线x1l、布线x2l、布线x1l2b、布线x2l2b、布线x1l3b、布线x2l3b的符号附近,示出与图63不同的脉冲电压的示意图及输入时间。
[0860]
当电路hcs保持电位vddl而电流量i
ut
的电流在晶体管m1的源极与漏极间流过时,晶体管m3-3b和晶体管m4-3b中的一个只在时间2t
ut
成为开启状态,晶体管m3-3b和晶体管m4-3b中的另一个成为关闭状态,由此从布线ol或布线olb通过晶体管m1-3b向布线ve流过的电荷量为2t
ut
×
2i
ut
=4q
ut
。注意,由于从布线ol通过晶体管m1向布线ve流过的电荷量及从布线ol通过晶体管m1-2b向布线ve流过的电荷量的条件与上述工作例子相同,所以省略其说明。
[0861]
当电路hcsr保持电位vddl而电流量i1的电流在晶体管m1r的源极与漏极间流过时,晶体管m3-3br和晶体管m4-3br中的一个只在时间2t
ut
成为开启状态,晶体管m3-3br或晶体管m4-3br成为关闭状态,由此从布线ol或布线olb通过晶体管m1-3br向布线ver流过的电荷量为2t
ut
×
2i
ut
=4q
ut
。注意,由于从布线olb通过晶体管m1r向布线ver流过的电荷量及从
2b、晶体管m1-2x-2b、晶体管m1-3x-2b、晶体管m1-3b、晶体管m1-2x-3b、晶体管m1-3x-2b、晶体管m3、晶体管m3-2x、晶体管m3-3x、晶体管m4、晶体管m4-2x、晶体管m4-3x、电路hcs、电路hcs-2b、电路hcs-3b。
[0871]
注意,晶体管m1、晶体管m1-2x、晶体管m1-3x的每一个的尺寸,例如,w长与l长优选彼此相等。此外,晶体管m1-2b、晶体管m1-2x-2b、晶体管m1-3x-2b的尺寸优选彼此相等。此外,晶体管m1-3b、晶体管m1-2x-3b、晶体管m1-3x-3b的尺寸优选彼此相等。
[0872]
再者,在晶体管m1、晶体管m1-2x、晶体管m1-3x的每一个的w长与l长的比例为w/l时,优选的是,晶体管m1-2b、晶体管m1-2x-2b、晶体管m1-3x-2b的每一个的w长与l长的比例为2w/l,晶体管m1-3b、晶体管m1-2x-3b、晶体管m1-3x-3b的每一个的w长与l长的比例为4w/l。也就是说,其栅极与保持部(例如,电路hcs、电路hcs-2b、电路hcs-3b等)电连接的晶体管(例如,晶体管m1、晶体管m1-2b、晶体管m1-3b等)的w长与l长的比例w/l根据保持部的个数以2的幂增大即可。
[0873]
另外,在本说明书等中,在没有特别的说明的情况下,晶体管m1、晶体管m1-2x、晶体管m1-3x、晶体管m1-2b、晶体管m1-2x-2b、晶体管m1-3x-2b、晶体管m1-3b、晶体管m1-2x-3b及晶体管m1-3x-3b在开启状态下有时最终在饱和区域中工作。也就是说,对上述各晶体管的栅极电压、源极电压及漏极电压有时进行适当的偏压,使得该晶体管在饱和区域中工作。注意,本发明的一个方式不局限于此。为了减小所供应的电压的振幅值,上述晶体管也可以在线性区域中工作。另外,为了减小流过上述晶体管的电流量,上述晶体管也可以在亚阈值区域中工作。或者,晶体管m1、晶体管m1-2x、晶体管m1-3x、晶体管m1-2b、晶体管m1-2x-2b、晶体管m1-3x-2b、晶体管m1-3b、晶体管m1-2x-3b及晶体管m1-3x-3b也可以在饱和区域与亚阈值区域之边界附近工作。另外,在第一数据(权重系数)为模拟值时,根据第一数据(权重系数)的大小,上述晶体管例如也可以在线性区域、饱和区域以及亚阈值区域中工作。或者,晶体管m1、晶体管m1-2x、晶体管m1-3x、晶体管m1-2b、晶体管m1-2x-2b、晶体管m1-3x-2b、晶体管m1-3b、晶体管m1-2x-3b及晶体管m1-3x-3b也可以在线性区域以及饱和区域中工作、在亚阈值区域以及线性区域中工作、或者在饱和区域以及亚阈值区域中工作。
[0874]
另外,在本说明书等中,在没有特别的说明的情况下,晶体管m3、晶体管m3-2x、晶体管m3-3x、晶体管m4、晶体管m4-2x及晶体管m4-3x在开启状态下有时最终在线性区域中工作。也就是说,对上述各晶体管的栅极电压、源极电压及漏极电压有时进行适当的偏压,使得该晶体管在线性区域中工作。注意,本发明的一个方式不局限于此。例如,晶体管m3、晶体管m3-2x、晶体管m3-3x、晶体管m4、晶体管m4-2x及晶体管m4-3x在开启状态下可以在饱和区域中工作,也可以在亚阈值区域中工作。或者,上述晶体管也可以在饱和区域与亚阈值区域之边界附近工作。或者,晶体管m3、晶体管m3-2x、晶体管m3-3x、晶体管m4、晶体管m4-2x及晶体管m4-3x也可以在线性区域以及饱和区域中工作、在饱和区域以及亚阈值区域中工作、在亚阈值区域以及线性区域中工作、或者在线性区域、饱和区域以及亚阈值区域中工作。
[0875]
与图29的电路mp所包括的电路hcs同样地,电路hcs、电路hcs-2b、电路hcs-3b的每一个具有接收从布线ol和布线olb中的一个或两个输入的信息(电位、电流等)保持对应于该信息的电位的功能。此外,电路hcs具有施加保持在与其电连接的晶体管的栅极中的该电位的功能。作为电路hcs、电路hcs-2b、电路hcs-3b,例如,可以具有包括sram的结构或包括nosram的结构。包括在图65的电路mp中的电路hcs、电路hcs-2b、电路hcs-3b的每一个作为
数字值(2值)保持高电平电位(这里,例如vddl)和低电平电位(这里,例如vss)中的一个。
[0876]
注意,晶体管m1-2b、晶体管m1-2x-2b、晶体管m1-3x-2b的每一个的栅极与电路hcs-2b电连接。晶体管m1-3b、晶体管m1-2x-3b、晶体管m1-3x-2b的每一个的栅极与电路hcs-3b电连接。
[0877]
当对晶体管m1、晶体管m1-2x、晶体管m1-3x的每一个的栅极输入保持在电路hcs中的vddl时,在晶体管m1、晶体管m1-2x、晶体管m1-3x的每一个的源极与漏极间流过的电流量为i
ut
。由于晶体管m1-2b、晶体管m1-2x-2b、晶体管m1-3x-2b的每一个的w长与l长的比例为晶体管m1的w长与l长的比例的2倍,所以在对晶体管m1-2b、晶体管m1-2x-2b、晶体管m1-3x-2b的栅极输入保持在电路hcs-2b中的vddl时,在晶体管m1-2b、晶体管m1-2x-2b、晶体管m1-3x-2b的每一个的源极与漏极间流过的电流量为2i
ut
。另外,由于晶体管m1-3b、晶体管m1-2x-3b、晶体管m1-3x-3b的每一个的w长与l长的比例为晶体管m1的w长与l长的比例的4倍,所以在对晶体管m1-3b、晶体管m1-2x-3b、晶体管m1-3x-3b的栅极输入保持在电路hcs-3b中的vddl时,在晶体管m1-3b、晶体管m1-2x-3b、晶体管m1-3x-3b的每一个的源极与漏极间流过的电流量为4i
ut

[0878]
晶体管m1、晶体管m1-2x、晶体管m1-3x、晶体管m1-2b、晶体管m1-2x-2b、晶体管m1-3x-2b、晶体管m1-3b、晶体管m1-2x-3b、晶体管m1-3x-2b的每一个的第一端子与布线ve电连接。晶体管m1、晶体管m1-2x、晶体管m1-3x的每一个的栅极与电路hcs电连接。
[0879]
晶体管m1、晶体管m1-2b、晶体管m1-3b的每一个的第二端子与晶体管m3的第一端子、晶体管m4的第一端子电连接。晶体管m1-2x、晶体管m1-2x-2b、晶体管m1-2x-3b的每一个的第二端子与晶体管m3-2x的第一端子、晶体管m4-2x的第一端子电连接。晶体管m1-3x、晶体管m1-3x-2b、晶体管m1-3x-3b的每一个的第二端子与晶体管m3-3x的第一端子、晶体管m4-3x的第一端子电连接。
[0880]
晶体管m3的栅极与布线x1l电连接,晶体管m4的栅极与布线x2l电连接。晶体管m3-2x的栅极与布线x1l2x电连接,晶体管m4-2x的栅极与布线x2l2x电连接。晶体管m3-3x的栅极与布线x1l3x电连接,晶体管m4-3x的栅极与布线x2l3x电连接。
[0881]
晶体管m3、晶体管m3-2x、晶体管m3-3x的每一个的第二端子与布线ol电连接,晶体管m4、晶体管m4-2x、晶体管m4-3x的每一个的第二端子与布线olb电连接。
[0882]
注意,在图65的电路mp中,电路mcr具有与电路mc大致相同的电路结构。因此,为了与电路mc所包括的电路元件等区分,对电路mcr所包括的电路元件等的符号附上“r”。此外,晶体管m3r、晶体管m3-2xr、晶体管m3-3xr的每一个的第二端子与布线olb电连接,晶体管m4、晶体管m4-2x、晶体管m4-3x的每一个的第二端子与布线ol电连接。
[0883]
对设定在图65的电路mp中的第一数据(这里,例如是权重系数)进行说明。设定在图65的电路mp中的第一数据(权重系数)可以根据保持在电路hcs、电路hcs-2b、电路hcs-3b、电路hcsr、电路hcs-2br、电路hcs-3br的每一个中的电位的组合定义。具体而言,如在工作方法例子7中说明的图62的电路mp,在电路hcs、电路hcs-2b、电路hcs-3b、电路hcsr、电路hcs-2br、电路hcs-3br的每一个中保持规定电位,设定第一数据(权重系数)即可。由此,图65的电路mp中的第一数据(权重系数)作为一个例子可以与在工作方法例子7中说明的图62的电路mp中的第一数据(权重系数)的定义同样。
[0884]
接着,对输入到电路mp的第二数据(这里,例如是神经元的信号的值)进行说明。作
3x只在时间4t
ut
成为开启状态,且晶体管m4-3x成为关闭状态,从布线ol通过晶体管m1-3x、晶体管m1-3x-2b、晶体管m1-3x-3b的每一个向布线ve流过的电荷量为4t
ut
×iut
+4t
ut
×
2i
ut
+4t
ut
×
4i
ut
=28t
ut
×iut
。因此,从布线ol通过电路mc向布线ve流过的电荷量为7q
ut
+14q
ut
+28q
ut
=49q
ut
。另一方面,从布线olb通过电路mcr向布线ver流过的电荷量由于晶体管m1r、晶体管m1-2xr、晶体管m1-3xr、晶体管m1-2br、晶体管m1-2x-2br、晶体管m1-3x-2br、晶体管m1-3br、晶体管m1-2x-3br、晶体管m1-3x-3br的每一个处于关闭状态,所以为0。
[0892]
注意,当在电路mp中作为第二数据(神经元的信号的值)输入
“‑
7”时,在布线olb与电路mc之间、在布线ol与电路mcr之间都成为导通状态,在布线olb与电路mcr之间、在布线ol与电路mc之间都成为非导通状态,因此从布线olb通过电路mc向布线ve流过的电荷量为7q
ut
+14q
ut
+28q
ut
=49q
ut
,从布线ol通过电路mcr向布线ver流过的电荷量为0。
[0893]
在电路mp中例如预先设定
“‑
7”的第一数据(权重系数)。此时,在晶体管m1r、晶体管m1-2xr、晶体管m1-3xr的源极与漏极间电流i
ut
流过,在晶体管m1-2br、晶体管m1-2x-2br、晶体管m1-3x-2br的源极与漏极间电流2i
ut
流过,在晶体管m1-3br、晶体管m1-2x-3br、晶体管m1-3x-3br的源极与漏极间电流4i
ut
流过。另一方面,在晶体管m1、晶体管m1-2x、晶体管m1-3x、晶体管m1-2b、晶体管m1-2x-2b、晶体管m1-3x-2b、晶体管m1-3b、晶体管m1-2x-3b、晶体管m1-3x-3b的每一个的源极与漏极间流过的电流量成为0。
[0894]
当在电路mp中作为第二数据(神经元的信号的值)输入“+7”时,通过晶体管m3r只在时间t
ut
成为开启状态,且晶体管m4r成为关闭状态,从布线olb通过晶体管m1r、晶体管m1-2br、晶体管m1-3br的每一个向布线ver流过的电荷量为t
ut
×iut
+t
ut
×
2i
ut
+t
ut
×
4i
ut
=7t
ut
×iut
。注意,这里,t
ut
×iut
=q
ut
。此外,通过晶体管m3-2xr只在时间2t
ut
成为开启状态,且晶体管m4-2xr成为关闭状态,从布线ol通过晶体管m1-2xr、晶体管m1-2x-2br、晶体管m1-2x-3br的每一个向布线ver流过的电荷量为2t
ut
×iut
+2t
ut
×
2i
ut
+2t
ut
×
4i
ut
=14t
ut
×iut
。此外,通过晶体管m3-3xr只在时间4t
ut
成为开启状态,且晶体管m4-3xr成为关闭状态,从布线olb通过晶体管m1-3xr、晶体管m1-3x-2br、晶体管m1-3x-3br的每一个向布线ver流过的电荷量为4t
ut
×iut
+4t
ut
×
2i
ut
+4t
ut
×
4i
ut
=28t
ut
×iut
。因此,从布线olb通过电路mcr向布线ver流过的电荷量为7q
ut
+14q
ut
+28q
ut
=49q
ut
。另一方面,从布线ol通过电路mc向布线ve流过的电荷量由于晶体管m1、晶体管m1-2x、晶体管m1-3x、晶体管m1-2b、晶体管m1-2x-2b、晶体管m1-3x-2b、晶体管m1-3b、晶体管m1-2x-3b、晶体管m1-3x-3b的每一个成为关闭状态,所以成为0。
[0895]
注意,当在电路mp中作为第二数据(神经元的信号的值)输入
“‑
7”时,在布线olb与电路mc之间、在布线ol与电路mcr之间都成为导通状态,在布线olb与电路mcr之间、在布线ol与电路mc之间都成为非导通状态,因此从布线olb通过电路mc向布线ve流过的电荷量为7q
ut
+14q
ut
+28q
ut
=49q
ut
,从布线ol通过电路mcr向布线ver流过的电荷量为0。
[0896]
如上所述,通过在电路mp中作为正的第一数据(权重系数)设定“+1”至“+7”的7值中的任一个,根据正的第二数据(神经元的信号的值),从包括在电路mp中的晶体管m3、晶体管m3-2x、晶体管m3-3x中选择一个以上的成为开启状态的晶体管,可以将从布线ol通过电路mc向布线ve流过的电荷量设定为每隔q
ut“q
ut”至“49q
ut”中的任一个。注意,此时,从布线olb通过电路mcr向布线ver流过的电荷量为0。此外,在电路mp中作为负的第一数据(权重系数)设定
“‑
7”至
“‑
1”的7值中的任一个,根据正的第二数据(神经元的信号的值),从包括在
电路mp中的晶体管m3r、晶体管m3-2xr、晶体管m3-3xr选择一个以上的成为开启状态的晶体管,可以将从布线olb通过电路mcr向布线ver流过的电荷量设定为每隔q
ut“q
ut”至“49q
ut”中的任一个。注意,此时,从布线ol通过电路mc向布线ve流过的电荷量为0。
[0897]
通过在电路mp中作为正的第一数据(权重系数)设定“+1”至“+7”的7值中的任一个,根据负的第二数据(神经元的信号的值),从包括在电路mp中的晶体管m4、晶体管m4-2x、晶体管m4-3x中选择一个以上的成为开启状态的晶体管,可以将从布线olb通过电路mc向布线ve流过的电荷量设定为每隔q
ut“q
ut”至“49q
ut”中的任一个。注意,此时,从布线ol通过电路mcr向布线ver流过的电荷量为0。此外,在电路mp中作为负的第一数据(权重系数)设定
“‑
7”至
“‑
1”的7值中的任一个,根据负的第二数据(神经元的信号的值)从包括在电路mp中的晶体管m4r、晶体管m4-2xr、晶体管m4-3xr选择一个以上的成为开启状态的晶体管,可以将从布线ol通过电路mcr向布线ver流过的电荷量设定为每隔q
ut“q
ut”至“49q
ut”中的任一个。注意,此时,从布线olb通过电路mc向布线ve流过的电荷量为0。
[0898]
注意,当在电路mp中预先设定“0”的第一数据(权重系数)时,晶体管m1、晶体管m1-2x、晶体管m1-3x、晶体管m1-2b、晶体管m1-2x-2b、晶体管m1-3x-2b、晶体管m1-3b、晶体管m1-2x-3b、晶体管m1-3x-3b、晶体管m1r、晶体管m1-2xr、晶体管m1-3xr、晶体管m1-2br、晶体管m1-2x-2br、晶体管m1-3x-2br、晶体管m1-3br、晶体管m1-2x-3br、晶体管m1-3x-3br的每一个处于关闭状态。因此,电流不从布线ol或布线olb通过电路mc向布线ve流过,电流不从布线ol或布线olb通过电路mcr向布线ver流过。换言之,可以说在布线ol、布线olb的每一个中流过的电荷量为0。
[0899]
此外,在对电路mp输入“0”的第二数据(神经元的信号的值)时,晶体管m3、晶体管m3-2x、晶体管m3-3x、晶体管m4、晶体管m4-2x、晶体管m4-3x、晶体管m3r、晶体管m3-2xr、晶体管m3-3xr、晶体管m4r、晶体管m4-2xr、晶体管m4-3xr的每一个成为关闭状态。因此,电流不从布线ol或布线olb通过电路mc向布线ve流过,电流不从布线ol或布线olb通过电路mcr向布线ver流过。换言之,可以说在布线ol、布线olb的每一个中流过的电荷量为0。
[0900]
这里,着眼于电路actf的积分电路。当电流从布线ol或布线olb通过电路mc向布线ve流过时或者电流从布线ol或布线olb通过电路mcr向布线ver流过时,在图8a中,使开关swo、开关swob处于开启状态,使开关swi、开关swib、开关swl、开关swlb、开关swh、开关swhb处于关闭状态,使在布线ol及olb与电路afp之间处于导通状态,由此可以在包括在电路actf中的积分电路的电容中储存在布线ol、布线olb中流过的电荷量。因此,电路actf可以输出对应于在布线ol中流过的电荷量q
ol
及在布线olb中流过的电荷量q
olb
的神经元的信号z
j(k)

[0901]
通过上述工作例子,下表示出将第一数据(权重系数)设定为“0”以外的
“‑
7”至“+7”中的任一个,且将第二数据(神经元的信号的值)设定为“0”以外的
“‑
7”至“+7”中的任一个时的在布线ol中流过的电荷量q
ol
及在布线olb中流过的电荷量q
olb
。注意,在第一数据(权重系数)和第二数据(神经元的信号的值)中的至少一个为“0”时,q
ol
=0、q
olb
=0。
[0902]
[表16]
[0903]
[表17]
[0904]
[表18]
[0905]
[表19]
[0906]
如上所述,通过设定第一数据(权重系数)及第二数据(神经元的信号的值),根据第一数据(权重系数)与第二数据(神经元的信号的值)之积的结果,决定电流从布线ol向电路mc或电路mcr的电荷量q
ol
及电流从布线olb向电路mc或电路mcr的电荷量q
olb
。此外,在第一数据(权重系数)与第二数据(神经元的信号的值)之积的结果为正值时,电流从布线ol向电路mc或电路mcr流过,在第一数据(权重系数)与第二数据(神经元的信号的值)之积的结果为负值时,电流从布线olb向电路mc或电路mcr流过。也就是说,可以从电荷量q
ol
及电荷量q
olb
算出第一数据(权重系数)与第二数据(神经元的信号的值)之积。例如,在第一数据(权重系数)为
“‑
7”至“+7”中的任一个,第二数据(神经元的信号的值)为
“‑
7”至“+7”中的任一
个,且第一数据(权重系数)与第二数据(神经元的信号的值)之积为正数时,在上述表中,在电流从布线ol向电路mc或电路mcr流过的电荷量q
ol
中,通过将q
ut
换成“+1”,可以从电荷量q
ol
算出第一数据(权重系数)与第二数据(神经元的信号的值)之积。另外,例如,在第一数据(权重系数)为
“‑
7”至“+7”中的任一个,第二数据(神经元的信号的值)为
“‑
7”至“+7”中的任一个,且第一数据(权重系数)与第二数据(神经元的信号的值)之积为负数时,在上述表中,在电流从布线olb向电路mc或电路mcr流过的电荷量q
olb
中,通过将q
ut
换成
“‑
1”,可以从电荷量q
olb
算出第一数据(权重系数)与第二数据(神经元的信号的值)之积。
[0907]
本发明的一个方式不局限于上述定义。在上述中,作为第二数据(神经元的信号的值),定义正的多值、负的多值、0,但是例如输入期间是连续值而不是离散值(a为正实数,输入期间为a
×
t
ut
),可以处理第二数据(神经元的信号的值)作为模拟值。
[0908]
本发明的一个方式的半导体装置不局限于图65的电路mp的结构。例如,在图65的电路mp中,保持电位的电路为电路hcs、电路hcs-2b、电路hcs-3b、电路hcsr、电路hcs-2br、电路hcs-3br的六个,每一个的电路与其栅极电连接的晶体管(晶体管m1、晶体管m1-2x、晶体管m1-3x)的个数有三个,也可以根据第一数据(权重系数)及第二数据(神经元的信号的值)的有可能取得的值增减保持电位的电路及该晶体管的个数。此外,也可以根据该晶体管增减保持部的个数、布线数。
[0909]
本发明的一个方式的半导体装置的工作方法不局限于上述工作方法。例如,如在工作方法例子2中说明那样,在图65的电路mp中,也可以将对布线x1l、布线x2l、布线x1l2b、布线x2l2b、布线x1l3b、布线x2l3b的每一个输入的信号的输入期间分为多个子期间。
[0910]
在本工作方法例子中,为了简化起见,考虑布线ol、布线olb只与一个电路mp电连接的情况,但是如图11的运算电路150那样,布线ol、布线olb也可以与多个电路mp电连接。由此,可以将从布线ol、布线olb的每一个输入到多个电路mp中的电荷量的总和储存在包括在电路actf中的积分电路的电容,电路actf可以输出对应于在布线ol、布线olb中流过的每一个的电荷量的神经元的信号z
j(k)

[0911]
注意,在本工作例子中,作为例子示出图11的运算电路150,即使根据情况改变其他运算电路也可以进行与本工作例子相同的工作。
[0912]
注意,本工作方法例子可以与本说明书所示的其他工作方法例子等适当地组合。
[0913]
注意,本实施方式可以与本说明书所示的其他实施方式适当地组合。
[0914]
(实施方式4)在本实施方式中,作为一个例子说明用来进行卷积神经网络(cnn)中进行的运算的半导体装置的结构例子。作为该半导体装置,可以使用上述实施方式中说明的半导体装置。
[0915]
《卷积神经网络》cnn是在对图像等进行特征提取时使用的计算模型之一。图66示出cnn的结构例子。cnn由卷积层cl、池化层(pooling layer)pl及全连接层(fully connected layer)fcl等构成。cnn在被输入图像数据ipd时对该图像数据ipd进行特征提取。
[0916]
卷积层cl具有对图像数据进行卷积处理的功能。在卷积处理中,进行图像数据的一部分的区域与权重滤波的滤波值的反复积和运算。由于卷积层cl中的卷积因此图像的特征被提取。
[0917]
在卷积处理中,可以使用一个或多个权重滤波。在使用多个权重滤波的情况下,可以提取图像数据所包括的多个特征。图66示出作为权重滤波使用三个滤波(滤波fila、滤波filb、滤波filc)的例子。对输入到卷积层cl的图像数据进行使用滤波fila、filb、filc的滤波处理,生成图像数据da、db、dc。
[0918]
例如,也可以对进行卷积的图像数据da、db、dc进行使用激活函数的运算。作为激活函数的一个例子,可以使用relu(rectified linear units:线性整流函数)等。relu是如下函数:在输入值为负值时输出“0”,在输入值为“0”以上时直接输出输入值。作为其他激活函数,还可以使用sigmoid函数、tanh函数等。
[0919]
被进行卷积的图像数据da、db、dc(不问是否被进行利用激活函数的运算)例如被输出到池化层pl。池化层pl具有对从卷积层cl输入的图像数据进行池化的功能。池化是如下处理:将图像数据分割为多个区域,按该区域提取指定数据,并将该数据重新配置为矩阵状。通过池化,可以在保持卷积层cl所提取的特征的情况下缩小图像数据。作为池化,可以利用最大池化、平均池化、lp池化等。
[0920]
cnn例如通过上述卷积处理、池化处理等进行特征提取。注意,cnn也可以包括多个卷积层cl及/或多个池化层pl。在图66中例如示出设置有z个(在此,z是1以上的整数)包括卷积层cl及池化层pl的层l(层l1至层lz)且进行卷积处理及池化处理z次的结构。由此,可以在各层l中进行特征提取,因此有时可以实现更高度的特征提取。注意,在图66中示出层l1、层l2及层lz,而省略这些以外的层l。
[0921]
注意,图66示出层l1至层lz都包括卷积层cl及池化层pl的例子,但cnn的结构不局限于此。例如,cnn中的选自层l1至层lz中的一个以上的层也可以仅包括卷积层cl和池化层pl中的任一方。例如,cnn可以连续设置有卷积层cl,也可以连续设置有池化层pl。
[0922]
全连接层fcl例如具有利用被进行卷积及池化的图像数据进行图像识别的功能。全连接层fcl的某个层的所有节点与下一个层的所有节点连接。从卷积层cl或池化层pl输出的图像数据是二维特征图(featuremap),该特征图在被输入到全连接层fcl时一维展开。并且,输出利用全连接层fcl的推论来得到的数据opd。
[0923]
注意,cnn的结构不局限于图66的结构。例如,可以按每多个卷积层cl设置池化层pl。另外,当想要尽量保持被提取的特征的位置信息时,可以使池化层pl的设置个数尽量少。
[0924]
当从全连接层fcl的输出数据进行图像分类时,也可以设置有与全连接层fcl电连接的输出层。输出层可以作为似然函数(likelihood function)使用softmax函数等输出分类结果。
[0925]
cnn可以进行将图像数据用作学习数据及监督数据的监督学习。在监督学习中,例如可以使用反向传播算法。由于cnn的学习,因此可以使权重滤波的滤波值、全连接层的权重系数等最优化。
[0926]
《卷积处理》接着,说明在卷积层cl中进行的卷积处理的具体例子。
[0927]
图67a示出配置为矩阵状的n行m列(在此,n、m都是1以上的整数)的多个像素pix。在像素pix[1,1]至pix[n,m]中作为图像数据分别储存g[1,1]至g[n,m]。
[0928]
通过图像数据g和权重滤波的滤波值的积和运算进行卷积。图67b示出t行s列(在
此,t是1以上且n以下的整数,s是1以上且m以下的整数)的滤波fila。滤波fila的各地址分配有滤波值fa[1,1]至滤波值fa[t,s]。
[0929]
当通过卷积进行特征提取时,作为滤波值fa[1,1]至滤波值fa[t,s]可以储存表示指定特征的数据(称为特征数据)。在特征提取中,进行该数据与图像数据的比较。另外,当通过卷积进行边缘处理或模糊处理等图像处理时,作为滤波值fa[1,1]至滤波值fa[t,s]可以储存图像处理所需要的参数。以下,作为一个例子,详细地说明进行特征提取时的工作。
[0930]
图68a示出对以像素pix[1,1]、像素pix[1,s]、像素pix[t,1]及像素pix[t,s]为角部的像素区域p[1,1]进行利用滤波fila的滤波处理来取得数据da[1,1]的情况。该滤波处理是如下处理:如图67b所示,对像素区域p[1,1]中的一个像素pix的图像数据与对应于该像素pix的地址的滤波fila的滤波值fa进行乘法,将各像素pix中的乘法结果加在一起的处理。就是说,在像素区域p[1,1]的所有像素pix中,进行使用图像数据g[v,w](在此,v是1以上且t以下的整数,w是1以上且s以下的整数)和滤波值fa[v,w]的积和运算。可以由以下的算式表示数据da[1,1]。
[0931]
[算式7]
[0932]
然后,对其他像素区域依次进行上述积和运算。具体而言,例如,如图69所示,对以像素pix[1,2]、像素pix[1,s+1]、像素pix[t,2]、像素pix[t,s+1]为角部的像素区域p[1,2]进行滤波处理来取得数据da[1,2]。然后,同样地以相当于一列的像素的部分移动像素区域p,在各像素区域p中取得数据da。
[0933]
从以像素pix[1,m-s+1]、像素pix[1,m]、像素pix[t,m-s+1]、像素pix[t,m]为角部的像素区域p[1,m-s+1]中取得数据da[1,m-s+1]。相当于一行的像素区域,也就是说像素区域p[1,1]至像素区域p[1,m-s+1]的每一个中的数据da的取得结束后,作为一个例子,以相当于一行的像素的部分移动像素区域p,同样地依次取得一行的数据da。图69示出从像素区域p[2,1]至像素区域p[2,m-s+1]取得数据da[2,1]至数据da[2,m-s+1]的情况。
[0934]
反复进行以上的工作,从以像素pix[n-t+1,m-s+1]、像素pix[n-t+1,m]、像素pix[n,m-s+1]、像素pix[n,m]为角部的像素区域p[n-t+1,m-s+1]中取得数据da[n-t+1,m-s+1],由此对所有像素区域p的利用滤波fila的滤波处理结束。
[0935]
如此,从像素pix[1,1]至像素pix[n,m]选择t行s列的矩阵状的像素区域p,对该像素区域p进行利用滤波fila的滤波处理。可以由以下的算式表示以像素pix[x,y](在此,x是1以上且n-t+1以下的整数,y是1以上且m-s+1以下的整数)、像素pix[x,y+s-1]、像素pix[x+t-1,y]、像素pix[x+t-1,y+s-1]为角部的像素区域p利用滤波fila的滤波处理来取得的数据da[x,y]。
[0936]
[算式8]
[0937]
如上所述,通过对从包括像素pix[1,1]至像素pix[n,m]的区域中可以选择的所有
t行s列的像素区域p进行利用滤波fila的滤波处理,可以取得数据da[1,1]至da[n-t+1,m-s+1]。并且,通过根据地址将数据da[1,1]至数据da[n-t+1,m-s+1]配置为矩阵状,可以得到图70所示的特征图(根据情况,深度图)。
[0938]
如上所述,通过利用图像数据和滤波值的积和运算进行卷积处理,而进行图像的特征提取。
[0939]
注意,当如图66所示在卷积层cl中设置多个滤波fil时,按每个滤波fil进行上述卷积处理。
[0940]
此外,这里说明以一列及一行移动像素区域p的例子,但是可以自由地设定像素区域p的移动距离(有时被称为步长)。例如,像素区域p可以以两行及两列移动,也可以以一行及三列移动。另外,例如,像素区域p也可以在列方向上以该像素区域p的列数以上的部分移动及/或在行方向上以该像素区域p的行数以上的部分移动。就是说,也可以以移动的像素区域p不与本来的位置上的像素区域p重叠的方式设定像素区域p的移动距离。
[0941]
另外,图像数据大小例如可以为“8k uhd”(7680
×
4320)、“4k uhd”(3840
×
2160)、“fhd”(1920
×
1080)、“hd”(1280
×
720)、“sd”(720
×
480)等。另外,作为图像数据大小,行数可以为大于0的数量、50以上的数量、100以上的数量或500以上的数量,并且列数可以为大于0的数量、50以上的数量、100以上的数量或500以上的数量。注意,行数的下限值及列数的下限值可以分别独立地任意选择。
[0942]
另外,作为卷积处理中使用的滤波的大小(像素区域的范围),例如,行数可以为大于0的数量、3以上的数量、5以上的数量、10以上的数量、50以上的数量或100以上的数量,并且列数可以为大于0的数量、3以上的数量、5以上的数量、10以上的数量、50以上的数量或100以上的数量。注意,行数的下限值及列数的下限值可以分别任意选择。
[0943]
《半导体装置的工作例子》接着,说明在上述实施方式中说明的半导体装置中进行上述卷积处理的情况。
[0944]
在此,作为一个例子,参照图71所示的方框图说明实施方式1中说明的图2的运算电路110进行上述卷积处理的工作例子。注意,在此参照图71所示的方框图进行说明,但不局限于图71所示的方框图,可以使用上述实施方式中说明的各种电路。注意,这里的卷积处理使用t行s列的权重滤波对n行m列的图像数据(g[1,1]至g[n,m])进行。关于t行s列的权重滤波参照图67b的说明,关于n行m列的图像数据参照图67a的说明。
[0945]
另外,这里的卷积处理通过u个(u为1以上的整数)权重滤波进行。因此,将u个权重滤波的每一个称为滤波fil1至滤波filu。
[0946]
在图71的运算电路110中,阵列部alp中的电路mp例如在列方向(纵向)上至少配置有t
×
s个。另外,配置在阵列部alp的行方向(横向)上的电路mp个数例如可以为权重滤波个数。因此,当权重滤波个数为u个时,图71的运算电路110的阵列部alp所包括的电路mp被配置为(t
×
s)行u列的矩阵状。另外,各电路mp例如储存权重滤波值。例如,纵向上配置为一列的t
×
s个电路mp储存一个t行s列的权重滤波值。纵向上配置为一列的t
×
s个电路mp相当于一个t行s列的权重滤波,所以u列的电路mp所储存的权重滤波对应于u个权重滤波。
[0947]
注意,在图2中对电路mp的符号附上[x,y]作为地址,但在图71中不对电路mp的符号附上[x,y]。
[0948]
在图71的运算电路110中,例如因为阵列部alp包括t
×
s行的电路mp所以设置有t
×
s个布线wls及t
×
s个布线xls。在图71中,作为t
×
s个布线wls的部分布线示出布线wls[1]、布线wls[s]、布线wls[(t-1)s+1]及布线wls[t
×
s],作为t
×
s个布线xls的部分布线示出布线xls[1]、布线xls[s]、布线xls[(t-1)s+1]及布线xls[t
×
s]。
[0949]
布线wls[1]至布线wls[t
×
s]都与电路wld电连接。另外,布线xls[1]至布线wls[t
×
s]都与电路xld电连接。关于图71的运算电路110中的电路wld和电路xld,分别参照图2的电路wld和电路xld的说明。
[0950]
尤其是,图71的运算电路110的电路xld具有对布线xls[1]至布线xls[t
×
s]分别输入图像数据的功能。具体而言,图71示出电路xld对布线xls[1]至布线xls[t
×
s]分别输入图68a所示的像素区域p[1,1]中的图像数据g[1,1]至g[t,s]的例子。
[0951]
另外,在图71的运算电路110中,例如因为阵列部alp包括u列的电路mp所以设置有u个布线il、u个布线ilb、u个布线ol及u个布线olb。在图71中,作为u个布线il的一部分示出布线il[1]、布线il[h](在此,h为1以上且u以下的整数)及布线il[u],作为u个布线ilb的一部分示出布线ilb[1]、布线ilb[h]及布线ilb[u]。另外,在图71中,作为u个布线ol的一部分示出布线ol[1]、布线ol[h]及布线ol[u],作为u个布线olb的一部分示出布线olb[1]、布线olb[h]及布线olb[u]。注意,例如在权重滤波值不包括负值的情况或在权重滤波值不包括正值的情况下,也可以不包括布线ol和布线olb中的任一方。或者,例如在权重滤波值不包括负值的情况或在权重滤波值不包括正值的情况下,也可以不包括布线il和布线ilb中的任一方。
[0952]
布线il[1]至布线il[u]以及布线ilb[1]至布线ilb[u]都与电路ild电连接。另外,布线ol[1]至布线ol[u]以及布线ol[1]至布线ol[u]都与电路afp电连接。关于图71的运算电路110中的电路ild和电路afp,分别参照图2的电路ild和电路afp的说明。
[0953]
尤其是,布线ol[1]及布线olb[1]与电路afp中的电路actf[1]电连接。另外,布线ol[h]及布线olb[h]与电路afp中的电路actf[h]电连接。另外,布线ol[u]及布线olb[u]与电路afp中的电路actf[u]电连接。关于图71的电路afp中的电路actf[1]至电路actf[u],参照图2的电路actf[1]至电路actf[n]的说明。另外,图71的电路actf[1]至电路actf[u]除了将流过布线ol及布线olb的电流量之差转换为电压等信号的功能之外还可以具有对该电流量之差、该电压等进行relu函数、sigmoid函数、tanh函数等的运算的功能。
[0954]
接着,说明图71的运算电路110的阵列部alp所包括的电路mp。
[0955]
阵列部alp中的电路mp例如保持权重滤波的滤波值。例如,如上述实施方式中说明,权重滤波的滤波值可以为“0”、“+1”的2值、
“‑
1”、“+1”的2值、
“‑
1”、“0”、“+1”的3值、大于3值的多值、模拟值等。
[0956]
在此,阵列部alp的第1列的电路mp保持滤波fil1所具有的滤波值,阵列部alp的第h列的电路mp保持滤波filh所具有的滤波值,阵列部alp的第u列的电路mp保持滤波filu所具有的滤波值。
[0957]
作为一个例子,当将滤波fil1的v行w列(在此,v为1以上且t以下的整数,w为1以上且s以下的整数)的滤波值设定为f1[v,w]时,阵列部alp的第1行第1列的电路mp保持f1[1,1],阵列部alp的第s行第1列的电路mp保持f1[1,s],阵列部alp的第(t-1)s+1行第1列的电路mp保持f1[t,1],阵列部alp的第t
×
s行第1列的电路mp保持f1[t,s]。同样地,作为一个例子,当将滤波filh的v行w列的滤波值设定为fh[v,w]时,阵列部alp的第1行第h列的电路mp保
持fh[1,1],阵列部alp的第s行第h列的电路mp保持fh[1,s],阵列部alp的第(t-1)s+1行第h列的电路mp保持fh[t,1],阵列部alp的第t
×
s行第h列的电路mp保持fh[t,s]。同样地,作为一个例子,当将滤波filu的v行w列的滤波值设定为fu[v,w]时,阵列部alp的第1行第u列的电路mp保持fu[1,1],阵列部alp的第s行第u列的电路mp保持fu[1,s],阵列部alp的第(t-1)s+1行第u列的电路mp保持fu[t,1],阵列部alp的第t
×
s行第u列的电路mp保持fu[t,s]。就是说,作为一个例子,v行w列的滤波filh总共具有v
×
w个值。将该值分别储存于第h列上沿着纵向排列配置的总共v
×
w个电路mp。注意,当阵列部alp中的电路mp的列数多于滤波fil的个数时,剩下的列的电路mp保持零值即可。具体而言,保持电流不从电路mp流过布线il及布线ilb的每一个的电压即可。由此,电流不从电路mp输出到布线il及布线ilb,因此可以降低功耗。
[0958]
当阵列部alp的电路mp分别保持权重滤波的滤波值时,作为图像数据,布线xls[1]至布线xls[t
×
s]分别被输入g[1,1]至g[n,m]中的被进行卷积处理的t
×
s个图像数据。
[0959]
作为一个例子,布线xls[1]至布线xls[s]分别被输入卷积处理对象的图像数据的像素区域p[1,1]所包括的g[1,1]至g[1,s]。另外,布线xls[(t-1)s+1]至布线xls[t
×
s]分别被输入g[t,1]至g[t,s]。就是说,布线xls[1]至布线xls[t
×
s]分别被输入图68a及图69所示的像素区域p[1,1]的图像数据。
[0960]
如上述实施方式中说明,在电路mp保持第一数据(本说明中的滤波值)时从布线xls输入第二数据(本说明中的图像数据),由此进行第一数据与第二数据的积和运算。另外,该积和运算的结果取决于流过布线ol及布线olb的电流量之差分。
[0961]
因此,在阵列部alp的第1列中,进行图像数据的像素区域p[1,1]所包括的图像数据与权重滤波fil1(f1[1,1]至f1[t,s])的积和运算。具体而言,电流从位于阵列部alp的第1列上的电路mp经由布线ol[1]及布线olb[1]流过电路actf[1]。当将该积和运算的结果设为数据d1[1,1]时,数据d1[1,1]为对应于布线ol[1]及布线olb[1]的每一个中流过的电流量之差分的值。另外,也可以通过电路actf[1]所包括的电路对数据d1[1,1]进行激活函数的运算。在图71中,为了便于说明,示出将被进行激活函数的数据d1[1,1]作为af(d1[1,1])且从电路actf[1]输出af(d1[1,1])的情况。
[0962]
同样地,在阵列部alp的第h列中,进行图像数据的像素区域p[1,1]所包括的图像数据与权重滤波filh(fh[1,1]至fh[t,s])的积和运算。当将该积和运算的结果设为数据dh[1,1]时,数据dh[1,1]为对应于布线ol[h]及布线olb[h]的每一个中流过的电流量之差分的值。另外,在阵列部alp的第u列中,进行图像数据的像素区域p[1,1]所包括的图像数据与权重滤波filu(fu[1,1]至fu[t,s])的积和运算。当将该积和运算的结果设为数据du[1,1]时,数据du[1,1]为对应于布线ol[u]及布线olb[u]的每一个中流过的电流量之差分的值。在图71中,为了便于说明,示出将被进行激活函数的数据dh[1,1]和数据du[1,1]分别作为af(dh[1,1])和af(du[1,1]),从电路actf[h]输出af(dh[1,1])且从电路actf[u]输出af(du[1,1])的情况。
[0963]
另外,数据d1[1,1]至数据du[1,1]都可以用算式(4.2)表示。如此,通过向多个权重滤波输入一组图像数据,可以同时进行多个积和运算。因此,可以降低功耗,并且可以高速地进行运算。
[0964]
在图71所示的运算电路110中,示出电路xld将g[1,1]至g[t,s]作为像素区域p[1,
1]所包括的图像数据分别输出到布线xls[1]至布线xls[t
×
s]的例子,但电路xld也可以依次切换像素区域p来将与g[1,1]至g[t,s]不同的图像数据输出到布线xls[1]至布线xls[t
×
s]。
[0965]
例如,考虑图72所示的运算电路110。在图72的运算电路110中,仅示出图71的运算电路110的阵列部alp中的第h列的电路mp。另外,在图72的运算电路110中,示出电路xld依次输出的像素区域p所包括的图像数据。
[0966]
作为一个例子,在进行第一次积和运算时,电路xld将g[1,1]至g[t,s]作为像素区域p[1,1]所包括的图像数据分别输出到布线xls[1]至布线xls[t
×
s]。由此,运算电路110在阵列部alp的第h列生成作为滤波filh与g[1,1]至g[t,s]的积和运算的结果的数据dh[1,1]。同时,在阵列部alp的第1列生成作为权重滤波fil1与g[1,1]至g[t,s]的积和运算的结果的即数据d1[1,1],在阵列部alp的第u列生成作为滤波filu与g[1,1]至g[t,s]的积和运算的结果的数据du[1,1]。图72示出从电路actf[h]输出af(dh[1,1])的情况。
[0967]
接着,在进行第二次积和运算时,电路xld将g[1,2]至g[t,s+1]作为像素区域p[1,2]所包括的图像数据分别输出到布线xls[1]至布线xls[t
×
s]。由此,运算电路110在阵列部alp的第h列生成作为滤波filh与g[1,2]至g[t,s+1]的积和运算的结果的数据dh[1,2]。同样地,运算电路110在阵列部alp的第1列生成作为滤波fil1与g[1,2]至g[t,s+1]的积和运算的结果的数据d1[1,2],运算电路110在阵列部alp的第u列生成作为滤波filu与g[1,2]至g[t,s+1]的积和运算的结果的数据du[1,2]。
[0968]
也就是说,通过每次进行积和运算都改变从电路xld输出的像素区域,可以输出各像素区域与滤波fil1至滤波filu的每一个的积和运算的结果。这里,通过从电路xld依次输出图像数据g[1,1]至g[n,m]中的可获取的所有像素区域p[1,1]至像素区域p[n-s+1,m-t+1],可以对像素区域p[1,1]至像素区域p[n-s+1,m-t+1]分别进行滤波fil1至滤波filu的卷积处理。由此,运算电路110在阵列部alp的第1列生成作为像素区域p[1,1]至像素区域p[n-s+1,m-t+1]的每一个与滤波fil1的积和运算的结果的数据d1[1,1]至数据d1[n-s+1,m-t+1]。同样地,运算电路110在阵列部alp的第h列生成作为像素区域p[1,1]至像素区域p[n-s+1,m-t+1]的每一个与滤波filh的积和运算的结果的数据dh[1,1]至数据dh[n-s+1,m-t+1],在阵列部alp的第u列生成作为像素区域p[1,1]至像素区域p[n-s+1,m-t+1]的每一个与滤波filu的积和运算的结果的数据du[1,1]至数据du[n-s+1,m-t+1]。
[0969]
由此,可以与图69所示的处理同样地对图像数据所包括的g[1,1]至g[n,m]进行卷积处理。注意,权重滤波值一旦决定通常就很少改变。因此,一旦将该值输入到电路mp并储存该值,就不需进行改写。因此,可以降低功耗。另一方面,图像数据在卷积处理对象改变时都改变。例如,在是动态图像的情况下,图像数据按规定周期改变。
[0970]
另外,本实施方式中使用的图像数据g[1,1]至g[n,m]也可以是被进行零填充的数据。当使用被进行零填充的数据时积和运算的次数变多,因此可以提取图像数据的周围的部分的特征。
[0971]
在上述实施方式中说明的半导体装置中,从电路xld传送的第二数据可以为负值、“0”、正值。因此,在作为第二数据传送图像数据时,“0”可以为图像数据的基准值。例如,在是灰度级的情况下,最小值(负值)可以为黑色,最大值(正值)可以为白色,并且中间的灰色可以为“0”。或者,在作为第二数据传送图像数据时,“0”可以为图像数据的最小值或最大
值。例如,在是整体上黑暗的图像的情况下,“0”可以为黑色,并且最大值(正值)可以为白色。其结果是,可以不使用负值。在此情况下,可以使用图40所示的电路。另外,在数据为“0”时电流不流过,所以可以降低功耗。因此,例如,在是整体上明亮的图像的情况下,“0”可以为白色,最小值(负值)可以为黑色。其结果是,可以不使用正值。在此情况下,也可以使用图40所示的电路。
[0972]
另外,通过使用上述实施方式中说明的方法,例如使用图26至图35、图39等所示的电路mp,可以处理从电路xld传送的第二数据(图像数据)作为多值或模拟值。另外,如实施方式3、图51至图53、图63至图65等所示,通过设定从电路xld供应给布线xls的信号的输入时间的长度,也可以处理从电路xld传送的第二数据(图像数据)作为多值或模拟值。
[0973]
上面说明如下例子:在运算电路110的阵列部alp中的电路mp中保持权重滤波值,而从电路xld向布线xls[1]至布线xls[t
×
s]输入图像数据,由此对该图像数据进行卷积处理。但是,根据本发明的一个方式的半导体装置的工作方法不局限于此。例如,当在运算电路110中进行卷积处理时,也可以在运算电路110的阵列部alp的电路mp中保持图像数据,而从电路xld向布线xls[1]至布线xls[t
×
s]输入权重滤波值来进行运算。
[0974]
图73示出进行上述工作的运算电路110。在图73的运算电路110中,阵列部alp中的电路mp例如在列方向(纵向)上至少配置有t
×
s个。另外,配置在图73的运算电路110的阵列部alp的行方向(横向)上的电路mp个数例如可以为由进行卷积处理的图像的大小及卷积处理的条件(权重滤波的大小、步长等)决定的像素区域个数。例如,如图67a、图67b、图68a、图68b、图69所示,在图像的像素数为n
×
m个、权重滤波为t行s列且步长为1的情况下,配置在阵列部alp的行方向上的电路mp的个数为(n-t+1)
×
(m-s+1)个。在此,(n-t+1)
×
(m-s+1)=u。也就是说,图73的运算电路110的阵列部alp中的电路mp被配置为t
×
s行u列的矩阵状。
[0975]
因此,图73的运算电路110与图71的运算电路110不同之处在于:阵列部alp包括u列的电路mp。因此,图73的运算电路中设置有u个布线il、u个布线ilb、u个布线ol及u个布线olb。在图73中,作为u个布线il的一部分示出布线il[1]、布线il[h](在此,h为1以上且u以下的整数)及布线il[u],作为u个布线ilb的一部分示出布线ilb[1]、布线ilb[h]及布线ilb[u]。另外,在图71中,作为u个布线ol的一部分示出布线ol[1]、布线ol[h]及布线ol[u],作为u个布线olb的一部分示出布线olb[1]、布线olb[h]及布线olb[u]。另外,电路afp包括u个电路actf。
[0976]
如上所述,阵列部alp的电路mp保持被进行卷积处理的图像所包括的图像数据。
[0977]
在此,阵列部alp的第1列的电路mp保持像素区域p[1,1]所包括的图像数据g[1,1]至g[t,s],阵列部alp的第h列的电路mp保持第h个像素区域(图73中记为ph)所包括的图像数据,阵列部alp的第u列的电路mp保持像素区域p[n-t+1,m-s+1]所包括的图像数据g[n-t+1,m-s+1]至g[n,m]。
[0978]
作为一个例子,阵列部alp的第1行第1列的电路mp保持g[1,1],阵列部alp的第s行第1列的电路mp保持g[1,s],阵列部alp的第(t-1)s+1行第1列的电路mp保持g[t,1],阵列部alp的第t
×
s行第1列的电路mp保持g[t,s]。同样地,作为一个例子,阵列部alp的第1行第u列的电路mp保持g[n-t+1,m-s+1],阵列部alp的第s行第u列的电路mp保持g[n-t+1,m],阵列部alp的第(t-1)s+1行第u列的电路mp保持g[n,m-s+1],阵列部alp的第t
×
s行第u列的电路mp保持g[n,m]。
[0979]
当阵列部alp的电路mp分别保持图像数据时,布线xls[1]至布线xls[t
×
s]分别被输入f1[1,1]至f1[t,s]作为卷积处理中使用的滤波fil1所具有的滤波值。
[0980]
作为一个例子,布线xls[1]至布线xls[s]分别被输入卷积处理中使用的滤波fil1所具有的f1[1,1]至f1[1,s]。另外,布线xls[(t-1)s+1]至布线xls[t
×
s]分别被输入f1[t,1]至f1[t,s]。就是说,布线xls[1]至布线xls[t
×
s]分别被输入图68a及图69的卷积处理中使用的滤波fil1所具有的滤波值。
[0981]
如上述实施方式中说明,在电路mp保持第一数据(本说明中的图像数据)时从布线xls输入第二数据(本说明中的滤波值),由此进行第一数据与第二数据的积和运算。另外,该积和运算的结果取决于流过布线ol及布线olb的电流量之差分。
[0982]
因此,在阵列部alp的第1列中,进行图像数据的像素区域p[1,1]所包括的图像数据与权重滤波fil1(f1[1,1]至f1[t,s])的积和运算。具体而言,电流从位于阵列部alp的第1列上的电路mp经由布线ol[1]及布线olb[1]流过电路actf[1]。当将该积和运算的结果设为数据d1[1,1]时,数据d1[1,1]为对应于布线ol[1]及布线olb[1]的每一个中流过的电流量之差分的值。在图73中,为了便于说明,示出将被进行激活函数的数据d1[1,1]作为af(d1[1,1])且从电路actf[1]输出af(d1[1,1])的情况。
[0983]
同样地,在阵列部alp的第h列中,进行图像数据的像素区域ph所包括的图像数据与权重滤波fil1(f1[1,1]至f1[t,s])的积和运算。当将该积和运算的结果设为数据d1[ph]时,数据d1[ph]为对应于布线ol[h]及布线olb[h]的每一个中流过的电流量之差分的值。另外,在阵列部alp的第u列中,进行图像数据的像素区域p[n-t+1,m-s+1]所包括的图像数据与权重滤波fil1(f1[1,1]至f1[t,s])的积和运算。当将该积和运算的结果设为数据d1[n-t+1,m-s+1]时,数据d1[n-t+1,m-s+1]为对应于布线ol[u]及布线olb[u]的每一个中流过的电流量之差分的值。在图73中,为了便于说明,示出将被进行激活函数的数据d1[ph]和数据d1[n-t+1,m-s+1]分别作为af(d1[ph])和af(d1[n-t+1,m-s+1]),从电路actf[h]输出af(d1[ph])且从电路actf[u]输出af(d1[n-t+1,m-s+1])的情况。
[0984]
另外,数据d1[1,1]至数据d1[n-t+1,m-s+1]都可以用算式(4.2)表示。
[0985]
在图73所示的运算电路110中,示出电路xld将f1[1,1]至f1[t,s]作为权重滤波fil1所具有的滤波值分别输出到布线xls[1]至布线xls[t
×
s]的例子,但电路xld也可以将权重滤波fil1依次切换为其他权重滤波并将其输出到布线xls[1]至布线xls[t
×
s]。
[0986]
例如,考虑图74所示的运算电路110。在图74的运算电路110中,示出图73的运算电路110中的阵列部alp中的第h列的电路mp。另外,在图74的运算电路110中,示出电路xld依次输出的权重滤波fil1至filu所具有的滤波值。
[0987]
作为一个例子,在进行第一次积和运算时,电路xld将f1[1,1]至f1[t,s]作为权重滤波fil1所具有的滤波值分别输出到布线xls[1]至布线xls[t
×
s]。由此,运算电路110在阵列部alp的第h列生成作为滤波fil1与像素区域ph所包括的图像数据的积和运算的结果的数据d1[ph]。同时,在阵列部alp的第1列生成作为权重滤波fil1与g[1,1]至g[t,s]的积和运算的结果的数据d1[1,1],在阵列部alp的第u列生成作为滤波fil1与g[n-t+1,m-s+1]至g[n,m]的积和运算的结果的数据d1[n-t+1,m-s+1]。
[0988]
接着,在进行第二次积和运算时,电路xld将f2[1,1]至f2[t,s]作为权重滤波fil2(未图示)所具有的滤波值分别输出到布线xls[1]至布线xls[t
×
s]。由此,运算电路110在
阵列部alp的第h列生成作为滤波fil2与像素区域ph所包括的图像数据的积和运算的结果的数据d2[ph]。同样地,运算电路110在阵列部alp的第1列生成作为滤波fil2与g[1,1]至g[t,s]的积和运算的结果的数据d2[1,1],运算电路110在阵列部alp的第u列生成作为滤波fil2与g[n-t+1,m-s+1]至g[n,m]的积和运算的结果的数据d2[n-t+1,m-s+1]。
[0989]
也就是说,通过每次进行积和运算都改变从电路xld输出的权重滤波,可以输出各权重滤波与像素区域p[1,1]至像素区域p[n-s+1,m-t+1]的每一个的积和运算的结果。这里,通过从电路xld依次输出权重滤波fil1至filu,可以对像素区域p[1,1]至像素区域p[n-s+1,m-t+1]分别进行滤波fil1至滤波filu的卷积处理。由此,运算电路110在阵列部alp的第1列生成作为像素区域p[1,1]与滤波fil1至滤波filu的每一个的积和运算的结果的数据d1[1,1]至数据du[1,1]。同样地,运算电路110在阵列部alp的第h列生成作为像素区域ph与滤波fil1至滤波filu的每一个的积和运算的结果的数据d1[ph]至数据du[ph],在阵列部alp的第u列生成作为像素区域p[n-s+1,m-t+1]与滤波fil1至滤波filu的积和运算的结果的数据d1[n-s+1,m-t+1]至数据du[n-s+1,m-t+1]。
[0990]
由此,可以与图69所示的处理同样地对图像数据所包括的g[1,1]至g[n,m]进行卷积处理。
[0991]
《半导体装置的结构例子》在上述工作例子中说明使用运算电路110进行卷积处理的工作,但也可以使用运算电路120、运算电路130、运算电路140、运算电路150、运算电路160及运算电路170对图像进行卷积处理。
[0992]
另外,在上述运算电路中,也可以利用实施方式1中说明的设定流过晶体管m1的源极与漏极间的电流量的方法、实施方式2中说明的使用sram、nosram的方法等将权重滤波的滤波值(或图像数据)保持在电路mp中。
[0993]
另外,卷积处理、神经网络等的运算也可以使用除了上述实施方式中说明的运算电路及该运算电路所包括的电路mp之外的电路进行。在此,说明上述实施方式中说明的电路之外的能够进行卷积处理、神经网络等的运算的电路。
[0994]
图75a是上述实施方式中没有说明的电路mp的结构的一个例子。与其他电路mp同样,图75a所示的电路mp可以保持第一数据(权重系数或者权重滤波的滤波值(或图像数据))。另外,图75a所示的电路mp例如是可应用于图2至图4、图12等的运算电路的电路mp的电路。
[0995]
在图75a的电路mp中,电路mc包括电路hc、晶体管m3及晶体管m4。另外,电路hc包括负载电路lc及晶体管m8。
[0996]
在图75a的电路mp的电路mc中,负载电路lc的第一端子与晶体管m8的第二端子、晶体管m3的第一端子及晶体管m4的第一端子电连接,负载电路lc的第二端子与布线vl电连接。另外,晶体管m8的第一端子与布线il电连接,晶体管m3的第二端子与布线ol电连接,晶体管m4的第二端子与布线olb电连接。另外,晶体管m8的栅极与布线wl电连接,晶体管m3的栅极与布线x1l电连接,晶体管m4的栅极与布线x2l电连接。
[0997]
图75a所示的布线x1l和布线x2l例如可以为图3所示的运算电路120的布线x1l[i]和布线x2l[i]。另外,图75a所示的布线wl例如可以为图3所示的运算电路120的布线wls[i]。另外,图75a所示的布线il和布线ilb例如可以为图3所示的运算电路120的布线il[j]
和布线il[j]。另外,图75a所示的布线ol和布线olb例如可以为图3所示的运算电路120的布线ol[j]和布线olb[j]。
[0998]
在图75a的电路mp中,电路mcr具有与电路mc大致相同的电路结构。因此,为了与电路mc所包括的电路元件区分,对电路mcr所包括的电路元件的符号附上“r”。另外,晶体管m8r的第一端子与布线ilb电连接,晶体管m3r的第二端子与布线olb电连接,晶体管m4r的第二端子与布线ol电连接。
[0999]
关于晶体管m3、晶体管m4、晶体管m8、晶体管m3r、晶体管m4r及晶体管m8r的各结构,参照其他部分中记载的晶体管m3、晶体管m4、晶体管m8、晶体管m3r、晶体管m4r及晶体管m8r的说明。
[1000]
在此,布线vl、布线vlr被用作用来供应恒电压vcns的布线。作为vcns,例如可以采用接地电位(gnd)或使负载电路lc及负载电路lcr正常地工作的范围内的低电位。
[1001]
例如负载电路lc、负载电路lcr是可以使第一端子与第二端子间的电阻值变化的电路。通过使负载电路lc或负载电路lcr的第一端子与第二端子间的电阻值变化,可以使在负载电路lc或负载电路lcr的第一端子与第二端子间流过的电流量变化。
[1002]
在此,说明在图75a的电路mp中改变负载电路lc、负载电路lcr的第一端子与第二端子间的电阻值的方法。首先,对布线x1l、布线x2l的每一个输入低电平电位而使晶体管m3、晶体管m3r、晶体管m4、晶体管m4r处于关闭状态。接着,通过对布线wl输入高电平电位,使晶体管m8、晶体管m8r处于开启状态而使布线il(布线ilb)的电位变化,来设定负载电路lc(负载电路lcr)的第一端子与第二端子间的电阻值。例如,有如下方法等:对布线il(布线ilb)输入用来使负载电路lc(负载电路lcr)的第一端子与第二端子间的电阻值复位的电位,然后对布线il(布线ilb)输入负载电路lc(负载电路lcr)的第一端子与第二端子间的电阻值成为所希望的值的电位。在将负载电路lc(负载电路lcr)的第一端子与第二端子间的电阻值设定为所希望的值之后,对布线wl输入低电平电位而使晶体管m8、晶体管m8r处于关闭状态即可。
[1003]
如图76a所示,作为负载电路lc及负载电路lcr例如可以使用包括在reram(resistive random access memory:电阻随机存取存储器)等中的可变电阻器vr。另外,如图76b所示,作为负载电路lc及负载电路lcr例如可以使用包括在mram(magnetoresistive random access memory:磁阻随机存取存储器)等中的包括mtj(magnetic tunnel junction:磁隧道结)元件mr的负载电路lc。另外,如图76c所示,作为负载电路lc及负载电路lcr例如可以使用用于相变存储器(pcm)等的包括相变材料的电阻器(在本说明书等中,为了方便起见,称为相变存储器pcm)。
[1004]
另外,如图76d所示,作为负载电路lc及负载电路lcr例如可以使用用于feram(ferroelectric random access memory:铁电随机存取存储器)等的夹在一对电极间的铁电电容器fec。在图76d中,铁电电容器fec的第一端子与布线vl电连接,铁电电容器fec的第二端子与晶体管m8的第二端子、晶体管m3的第一端子(图76d中未图示,而图75a中图示)及晶体管m4的第一端子(图76d中未图示,而图75a中图示)电连接。
[1005]
此时,布线vl不被用作供应恒电压的布线而被用作用来使铁电电容器的铁电体膜极化或进行铁电体膜的极化反转的板线。
[1006]
当对铁电电容器fec写入第一数据时,作为一个例子,使晶体管m8成为开启状态,
对布线il及布线vl供应电压,来使铁电电容器fec所包括的铁电体膜极化,由此进行写入。另外,当从铁电电容器fec读出第一数据时,对布线x1l及布线x2l输入对应于第二数据的电压,使晶体管m3及晶体管m4成为开启状态或关闭状态,然后对布线vl供应脉冲电压,由此进行读出。铁电电容器fec根据来自布线vl的脉冲电压是否引起极化反转来判定第一数据是“0”还是“1”。在铁电电容器fec的铁电体膜中发生极化反转时,电流经由晶体管m3流过布线ol,或者经由晶体管m4流过布线olb。流过布线ol及布线olb的电流量例如可以通过使用具有积分电路(或者电流电荷(iq)转换电路)的结构的电路actf取得。
[1007]
如上所述,通过使用图75a的电路mp,与上述实施方式中说明的运算电路中的电路mp同样,可以将第一数据与第二数据之积的结果输出到布线ol及布线olb作为电流量。另外,与上述实施方式中说明的运算电路同样,通过沿着布线ol及布线olb使多个电路mp电连接,从多个电路mp输出的电流的总和流过布线ol及布线olb。通过取得布线ol及布线olb的每一个中流过的电流量之差,可以算出电路mp所保持的第一数据与输入到电路mp的第二数据的积和值。
[1008]
另外,根据本发明的一个方式的使用负载电路lc及负载电路lcr的电路mp不局限于图75a所示的结构,根据情况可以改变图75a的电路mp的结构。作为图75a的电路mp的改变例子,可以举出:在图75a的电路mp中不设置布线il、布线ilb、晶体管m8、晶体管m8r的电路结构。图75b是示出该电路结构的电路图,该电路图例如可以应用于图7、图11、图14等所示的运算电路的电路mp。
[1009]
注意,本实施方式可以与本说明书所示的其他实施方式适当地组合。
[1010]
(实施方式5)在本实施方式中,说明上述实施方式所示的半导体装置的结构例子及可以应用于上述实施方式所示的半导体装置的晶体管的结构例子。
[1011]
《半导体装置的结构例子》图77示出上述实施方式所示的半导体装置的一个例子,该半导体装置包括晶体管300、晶体管500以及电容器600。此外,图78a是晶体管500的沟道长度方向上的截面图,图78b是晶体管500的沟道宽度方向上的截面图,并且图78c是晶体管300的沟道宽度方向上的截面图。
[1012]
晶体管500是在沟道形成区域中包含金属氧化物的晶体管(os晶体管)。晶体管500具有关态电流低且场效应迁移率在高温下也不容易变化的特性。通过将晶体管500用作包括在半导体装置诸如上述实施方式所示的运算电路110、运算电路120、运算电路130、运算电路140、运算电路150、运算电路160、运算电路170等中的晶体管,可以实现在高温下也不容易降低工作能力的半导体装置。尤其是,通过利用关态电流低的特性例如将晶体管500应用于晶体管m2、晶体管m7、晶体管m8、晶体管m9等,可以长时间保持写入到电路hc、电路hcs等的电位。
[1013]
晶体管500例如设置在晶体管300上方,电容器600例如设置在晶体管300及晶体管500上方。此外,电容器600可以为上述实施方式所示的运算电路110、运算电路120、运算电路130、运算电路140、运算电路150、运算电路160、运算电路170等所包括的电容等。此外,根据电路结构,不一定需要设置图77所示的电容器600。
[1014]
晶体管300设置在衬底310上,包括元件分离层312、导电体316、绝缘体315、由衬底
310的一部构成的半导体区域313、用作源极区域或漏极区域的低电阻区域314a及低电阻区域314b。此外,晶体管300例如可以应用于上述实施方式所示的运算电路110、运算电路120、运算电路130、运算电路140、运算电路150、运算电路160、运算电路170等所包括的晶体管等。具体而言,例如,可以应用于图5a至图5e、图6a至图6e所示的电路actf所包括的比较器cmpa、比较器cmpb、运算放大器opa、运算放大器opb等所包括的晶体管。此外,图77示出晶体管300的栅极通过电容器600的一对电极电连接于晶体管500的源极和漏极中的一个的结构,但是根据运算电路110、运算电路120、运算电路130、运算电路140、运算电路150、运算电路160、运算电路170等的结构,也可以具有如下结构:晶体管300的源极及漏极中的一个通过电容器600的一对电极电连接于晶体管500的源极及漏极中的一个;晶体管300的源极及漏极中的一个通过电容器600的一对电极电连接于晶体管500的栅极;晶体管300的各端子不分别电连接于晶体管500的各端子及电容器600的各端子。
[1015]
作为衬底310,优选使用半导体衬底(例如单晶衬底或硅衬底)。
[1016]
如图78c所示,在晶体管300中,导电体316隔着绝缘体315覆盖半导体区域313的顶面及沟道宽度方向的侧面。如此,通过使晶体管300具有fin型结构,实效上的沟道宽度增加,所以可以改善晶体管300的通态特性。此外,由于可以增加栅电极的电场的影响,所以可以改善晶体管300的关闭特性。
[1017]
此外,晶体管300可以为p沟道型晶体管或n沟道型晶体管。
[1018]
半导体区域313的沟道形成区域、其附近的区域、被用作源极区域或漏极区域的低电阻区域314a及低电阻区域314b等优选包含硅类半导体等半导体,更优选包含单晶硅。此外,也可以使用包含ge(锗)、sige(硅锗)、gaas(砷化镓)、gaalas(镓铝砷)、gan(氮化镓)等的材料形成。可以使用对晶格施加应力,改变晶面间距而控制有效质量的硅。此外,晶体管300也可以是使用gaas和gaalas等的hemt(high electron mobility transistor:高电子迁移率晶体管)。
[1019]
在低电阻区域314a及低电阻区域314b中,除了应用于半导体区域313的半导体材料之外,还包含砷、磷等赋予n型导电性的元素或硼等赋予p型导电性的元素。
[1020]
作为被用作栅电极的导电体316,可以使用包含砷、磷等赋予n型导电性的元素或硼等赋予p型导电性的元素的硅等半导体材料、金属材料、合金材料或金属氧化物材料等导电材料。
[1021]
此外,由于导电体的材料决定功函数,所以通过选择该导电体的材料,可以调整晶体管的阈值电压。具体而言,作为导电体优选使用氮化钛或氮化钽等材料。为了兼具导电性和嵌入性,作为导电体优选使用钨或铝等金属材料的叠层,尤其在耐热性方面上优选使用钨。
[1022]
为了使形成在衬底310上的多个晶体管彼此分离设置有元件分离层312。元件分离层例如可以使用locos(local oxidation of silicon:硅局部氧化)法、sti(shallow trench isolation:浅沟槽隔离)法或台面隔离法等形成。
[1023]
此外,图77所示的晶体管300只是一个例子,本发明不局限于该结构,可以根据电路结构、驱动方法等而使用合适的晶体管。例如,晶体管300也可以具有平面型结构而不具有图78c所示的fin型结构。例如,当在半导体装置中使用只由os晶体管构成的单极性电路时,如图79所示,作为晶体管300的结构采用与使用氧化物半导体的晶体管500相同的结构
即可。关于晶体管500将在后面详细描述。
[1024]
在图79中,晶体管300设置在衬底310a上,在此情况下,也可以使用与图77的半导体装置的衬底310同样的半导体衬底作为衬底310a。作为衬底310a,例如可以使用soi衬底、玻璃衬底、石英衬底、塑料衬底、蓝宝石玻璃衬底、金属衬底、不锈钢衬底、包含不锈钢箔的衬底、钨衬底、包含钨箔的衬底、柔性衬底、贴合薄膜、包含纤维状材料的纸或基材薄膜等。作为玻璃衬底的一个例子,可以举出钡硼硅酸盐玻璃、铝硼硅酸盐玻璃或钠钙玻璃等。作为柔性衬底、贴合薄膜、基材薄膜等,可以举出如下例子。例如可以举出以聚对苯二甲酸乙二醇酯(pet)、聚萘二甲酸乙二醇酯(pen)、聚醚砜(pes)、聚四氟乙烯(ptfe)为代表的塑料。或者,作为一个例子,可以举出丙烯酸树脂等合成树脂等。或者,作为一个例子,可以举出聚丙烯、聚酯、聚氟化乙烯或聚氯乙烯等。或者,作为例子,可以举出聚酰胺、聚酰亚胺、芳族聚酰胺、环氧树脂、无机蒸镀薄膜、纸类等。
[1025]
图77所示的晶体管300从衬底310一侧依次层叠有绝缘体320、绝缘体322、绝缘体324及绝缘体326。
[1026]
作为绝缘体320、绝缘体322、绝缘体324及绝缘体326,例如可以使用氧化硅、氧氮化硅、氮氧化硅、氮化硅、氧化铝、氧氮化铝、氮氧化铝及氮化铝等。
[1027]
注意,在本说明书中,“氧氮化硅”是指在其组成中氧含量多于氮含量的材料,而“氮氧化硅”是指在其组成中氮含量多于氧含量的材料。注意,在本说明书中,“氧氮化铝”是指氧含量多于氮含量的材料,“氮氧化铝”是指氮含量多于氧含量的材料。
[1028]
绝缘体322也可以被用作使因被绝缘体320及绝缘体322覆盖的晶体管300等而产生的台阶平坦化的平坦化膜。例如,为了提高绝缘体322的顶面的平坦性,其顶面也可以通过利用化学机械抛光(cmp)法等的平坦化处理被平坦化。
[1029]
作为绝缘体324,优选使用能够防止氢、杂质等从衬底310或晶体管300等扩散到设置有晶体管500的区域中的具有阻挡性的膜。
[1030]
作为对氢具有阻挡性的膜的一个例子,例如可以使用通过cvd法形成的氮化硅。在此,有时氢扩散到晶体管500等具有氧化物半导体的半导体元件中,导致该半导体元件的特性下降。因此,优选在晶体管500与晶体管300之间设置抑制氢的扩散的膜。具体而言,抑制氢的扩散的膜是指氢的脱离量少的膜。
[1031]
氢的脱离量例如可以利用热脱附谱分析法(tds)等测量。例如,在tds分析中的膜表面温度为50℃至500℃的范围内,当换算为氢原子的脱离量时,绝缘体324的单位面积的氢的脱离量为10
×
10
15
atoms/cm2以下,优选为5
×
10
15
atoms/cm2以下,即可。
[1032]
注意,绝缘体326的介电常数优选比绝缘体324低。例如,绝缘体326的相对介电常数优选低于4,更优选低于3。例如,绝缘体326的相对介电常数优选为绝缘体324的相对介电常数的0.7倍以下,更优选为0.6倍以下。通过将介电常数低的材料用于层间膜,可以减少产生在布线之间的寄生电容。
[1033]
此外,在绝缘体320、绝缘体322、绝缘体324及绝缘体326中嵌入与电容器600或晶体管500连接的导电体328、导电体330等。此外,导电体328及导电体330具有插头或布线的功能。注意,有时使用同一附图标记表示具有插头或布线的功能的多个导电体。此外,在本说明书等中,布线、与布线连接的插头也可以是一个构成要素。就是说,导电体的一部分有时被用作布线,并且导电体的一部分有时被用作插头。
[1034]
作为各插头及布线(导电体328及导电体330等)的材料,可以使用金属材料、合金材料、金属氮化物材料或金属氧化物材料等导电材料的单层或叠层。优选使用兼具耐热性和导电性的钨或钼等高熔点材料,尤其优选使用钨。或者,优选使用铝或铜等低电阻导电材料。通过使用低电阻导电材料可以降低布线电阻。
[1035]
也可以在绝缘体326及导电体330上形成布线层。例如,在图77中,在绝缘体326及导电体330的上方依次层叠有绝缘体350、绝缘体352及绝缘体354。此外,在绝缘体350、绝缘体352及绝缘体354中形成有导电体356。导电体356具有与晶体管300连接的插头或布线的功能。此外,导电体356可以使用与导电体328及导电体330同样的材料形成。
[1036]
此外,与绝缘体324同样,绝缘体350例如优选使用对氢、水等杂质具有阻挡性的绝缘体。此外,与绝缘体326同样,绝缘体352及绝缘体354优选使用相对介电常数较低的绝缘体以降低布线间产生的寄生电容。此外,导电体356优选包含对氢、水等杂质具有阻挡性的导电体。尤其是,在对氢具有阻挡性的绝缘体350所具有的开口中形成对氢具有阻挡性的导电体。通过采用该结构,可以使用阻挡层将晶体管300与晶体管500分离,从而可以抑制氢从晶体管300扩散到晶体管500中。
[1037]
注意,作为对氢具有阻挡性的导电体,例如优选使用氮化钽等。此外,通过层叠氮化钽和导电性高的钨,不但可以保持作为布线的导电性而且可以抑制氢从晶体管300扩散。此时,对氢具有阻挡性的氮化钽层优选与对氢具有阻挡性的绝缘体350接触。
[1038]
此外,在绝缘体354及导电体356上依次层叠有绝缘体360、绝缘体362及绝缘体364。
[1039]
此外,与绝缘体324等同样,绝缘体360优选使用对水、氢等杂质具有阻挡性的绝缘体。因此,绝缘体360例如可以使用可用于绝缘体324等的材料。
[1040]
绝缘体362及绝缘体364被用作层间绝缘膜及平坦化膜。此外,与绝缘体324同样,绝缘体362及绝缘体364例如优选使用对水、氢等杂质具有阻挡性的绝缘体。因此,绝缘体362及/或绝缘体364可以使用可用于绝缘体324等的材料。
[1041]
此外,绝缘体360、绝缘体362及绝缘体364各自的重叠于部分导电体356的区域中形成有开口部,并以嵌入该开口部的方式设置有导电体366。此外,导电体366还形成在绝缘体362上。导电体366例如具有与晶体管300连接的插头或布线的功能。此外,导电体366可以使用与导电体328及导电体330同样的材料设置。
[1042]
在绝缘体364及导电体366上依次层叠有绝缘体510、绝缘体512、绝缘体514及绝缘体516。作为绝缘体510、绝缘体512、绝缘体514及绝缘体516中的一个,优选使用对氧或氢等具有阻挡性的物质。
[1043]
例如,作为绝缘体510及绝缘体514,优选使用能够防止氢、杂质等从衬底310或设置有晶体管300的区域等扩散到设置有晶体管500的区域中的具有阻挡性的膜。因此,绝缘体510及绝缘体514可以使用与绝缘体324同样的材料。
[1044]
作为对氢具有阻挡性的膜的一个例子,可以使用通过cvd法形成的氮化硅。在此,有时氢扩散到晶体管500等具有氧化物半导体的半导体元件中,导致该半导体元件的特性下降。因此,优选在晶体管300与晶体管500之间设置抑制氢的扩散的膜。具体而言,抑制氢的扩散的膜是指氢的脱离量少的膜。
[1045]
例如,作为对氢具有阻挡性的膜,绝缘体510及绝缘体514优选使用氧化铝、氧化
铪、氧化钽等金属氧化物。
[1046]
尤其是,氧化铝的不使氧及导致晶体管的电特性变动的氢、水分等杂质透过的阻挡效果高。因此,在晶体管的制造工序中及制造工序之后,氧化铝可以防止氢、水分等杂质进入晶体管500中。此外,氧化铝可以抑制氧从构成晶体管500的氧化物释放。因此,氧化铝适合用作晶体管500的保护膜。
[1047]
例如,作为绝缘体512及绝缘体516,可以使用与绝缘体320同样的材料。此外,通过作为上述绝缘体使用介电常数较低的材料,可以减少产生在布线之间的寄生电容。例如,作为绝缘体512及绝缘体516,可以使用氧化硅膜和氧氮化硅膜等。
[1048]
此外,在绝缘体510、绝缘体512、绝缘体514及绝缘体516中例如嵌入有导电体518、构成晶体管500的导电体(例如,图78a及图78b所示的导电体503)等。此外,导电体518被用作与电容器600或晶体管300连接的插头或布线。导电体518可以使用与导电体328及导电体330同样的材料形成。
[1049]
尤其是,与绝缘体510及绝缘体514接触的区域的导电体518优选为对氧、氢及水具有阻挡性的导电体。通过采用该结构,可以利用对氧、氢及水具有阻挡性的层将晶体管300与晶体管500分离,从而可以抑制氢从晶体管300扩散到晶体管500中。
[1050]
在绝缘体516上方设置有晶体管500。
[1051]
如图78a及图78b所示,晶体管500包括绝缘体514上的绝缘体516、以嵌入绝缘体514或绝缘体516中的方式配置的导电体503(导电体503a及导电体503b)、绝缘体516及导电体503上的绝缘体522、绝缘体522上的绝缘体524、绝缘体524上的氧化物530a、氧化物530a上的氧化物530b、氧化物530b上的导电体542a、导电体542a上的绝缘体571a、氧化物530b上的导电体542b、导电体542b上的绝缘体571b、氧化物530b上的绝缘体552、绝缘体552上的绝缘体550、绝缘体550上的绝缘体554、位于绝缘体554上并与氧化物530b的一部分重叠的导电体560(导电体560a及导电体560b)、以及配置在绝缘体522、绝缘体524、氧化物530a、氧化物530b、导电体542a、导电体542b、绝缘体571a及绝缘体571b上的绝缘体544。在此,如图78a及图78b所示,绝缘体552与绝缘体522的顶面、绝缘体524的侧面、氧化物530a的侧面、氧化物530b的侧面及顶面、导电体542的侧面、绝缘体571的侧面、绝缘体544的侧面、绝缘体580的侧面及绝缘体550的底面接触。此外,导电体560的顶面以高度与绝缘体554的最上部、绝缘体550的最上部、绝缘体552的最上部及绝缘体580的顶面的高度大致一致的方式配置。此外,绝缘体574与导电体560、绝缘体552、绝缘体550、绝缘体554和绝缘体580各自的顶面的至少一部分接触。
[1052]
在绝缘体580及绝缘体544中形成到达氧化物530b的开口。在该开口内设置绝缘体552、绝缘体550、绝缘体554及导电体560。此外,在晶体管500的沟道长度方向上,绝缘体571a及导电体542a与绝缘体571b及导电体542b间设置有导电体560、绝缘体552、绝缘体550及绝缘体554。绝缘体554具有与导电体560的侧面接触的区域及与导电体560的底面接触的区域。
[1053]
氧化物530优选包括绝缘体524上的氧化物530a及氧化物530a上的氧化物530b。当在氧化物530b下包括氧化物530a时,可以抑制杂质从形成在氧化物530a的下方的结构物向氧化物530b扩散。
[1054]
在晶体管500中,氧化物530具有氧化物530a及氧化物530b这两层的叠层结构,但
是本发明不局限于此。例如,可以具有氧化物530b的单层结构或三层以上的叠层结构,也可以具有氧化物530a及氧化物530b分别为叠层的结构。
[1055]
导电体560被用作第一栅(也称为顶栅极)电极,导电体503被用作第二栅(也称为背栅极)电极。此外,绝缘体552、绝缘体550及绝缘体554被用作第一栅极绝缘体,绝缘体522及绝缘体524被用作第二栅极绝缘体。注意,有时将栅极绝缘体称为栅极绝缘层或栅极绝缘膜。此外,导电体542a被用作源极和漏极中的一个,导电体542b被用作源极和漏极中的另一个。此外,氧化物530的与导电体560重叠的区域的至少一部分被用作沟道形成区域。
[1056]
在此,图80a示出图78a中的沟道形成区域附近的放大图。由于氧化物530b被供应氧,沟道形成区域形成在导电体542a和导电体542b之间的区域中。因此,如图80a所示,氧化物530b包括被用作晶体管500的沟道形成区域的区域530bc及以夹着区域530bc的方式设置并被用作源极区域或漏极区域的区域530ba及区域530bb。区域530bc的至少一部分与导电体560重叠。换言之,区域530bc设置在导电体542a与导电体542b间的区域中。区域530ba与导电体542a重叠,区域530bb与导电体542b重叠。
[1057]
被用作沟道形成区域的区域530bc是与区域530ba及区域530bb相比其氧空位(在本说明书等中,金属氧化物中的氧空位有时被称为vo(oxygen vacancy))少或杂质浓度低,由此载流子浓度低的高电阻区域。因此,区域530bc可以说是i型(本征)或实质上i型的区域。
[1058]
在使用氧化物半导体的晶体管中,如果氧化物半导体中的形成沟道的区域存在杂质或氧空位(vo),电特性则容易变动,有时降低可靠性。此外,氧空位(vo)附近的氢形成氢进入氧空位(vo)中的缺陷(下面有时称为voh)而可能会生成成为载流子的电子。因此,当在氧化物半导体中的形成沟道的区域中包含氧空位时,晶体管会成为常开启特性(即使不对栅电极施加电压也存在沟道而在晶体管中电流流过的特性)。由此,在氧化物半导体的形成沟道的区域中,优选尽量减少杂质、氧空位及voh。
[1059]
此外,在被用作源极区域或漏极区域的区域530ba及区域530bb中,氧空位(vo)多并且氢、氮、金属元素等杂质的浓度高。因此,区域530ba及区域530bb的载流子浓度提高,所以被低电阻化。就是说,区域530ba及区域530bb是比区域530bc载流子浓度高且电阻低的n型区域。
[1060]
在此,被用作沟道形成区域的区域530bc的载流子浓度优选为1
×
10
18
cm-3
以下,更优选低于1
×
10
17
cm-3
,进一步优选低于1
×
10
16
cm-3
,更优选的是低于1
×
10
13
cm-3
,进一步优选的是低于1
×
10
12
cm-3
。对被用作沟道形成区域的区域530bc的载流子浓度的下限值没有特别的限定,例如,可以将其设定为1
×
10-9
cm-3

[1061]
此外,也可以在区域530bc与区域530ba或区域530bb之间形成载流子浓度等于或低于区域530ba及区域530bb的载流子浓度且等于或高于区域530bc的载流子浓度的区域。换言之,该区域被用作区域530bc与区域530ba或区域530bb的接合区域。该接合区域的氢浓度有时相等于或低于区域530ba及区域530bb的氢浓度且等于或高于区域530bc的氢浓度。此外,该接合区域的氧空位有时等于或少于区域530ba及区域530bb的氧空位且等于或多于区域530bc的氧空位。
[1062]
注意,图80a示出区域530ba、区域530bb及区域530bc形成在氧化物530b中的例子,但是本发明不局限于此。例如,上述各区域也可以形成在氧化物530b和氧化物530a中。
[1063]
在氧化物530中,有时难以明确地观察各区域的边界。在各区域中检测出的金属元素和氢及氮等杂质元素的浓度并不需要按每区域分阶段地变化,也可以在各区域中逐渐地变化。就是说,越接近沟道形成区域,金属元素和氢及氮等杂质元素的浓度越低即可。
[1064]
优选在晶体管500中将被用作半导体的金属氧化物(以下,有时称为氧化物半导体)用于包含沟道形成区域的氧化物530(氧化物530a、氧化物530b)。
[1065]
被用作半导体的金属氧化物优选使用其带隙为2ev以上,优选为2.5ev以上的金属氧化物。如此,通过使用带隙较宽的金属氧化物,可以减小晶体管的关态电流。
[1066]
例如,作为氧化物530优选使用包含铟、元素m及锌的in-m-zn氧化物(元素m为选自铝、镓、钇、锡、铜、钒、铍、硼、钛、铁、镍、锗、锆、钼、镧、铈、钕、铪、钽、钨和镁等中的一种或多种)等的金属氧化物。此外,作为氧化物530也可以使用in-ga氧化物、in-zn氧化物、铟氧化物。
[1067]
在此,优选的是,用于氧化物530b的金属氧化物中的in与元素m的原子个数比大于用于氧化物530a的金属氧化物中的in与元素m的原子个数比。
[1068]
如此,通过在氧化物530b下配置氧化物530a,可以抑制杂质及过多的氧从形成在氧化物530a的下方的结构物向氧化物530b扩散。
[1069]
此外,氧化物530a及氧化物530b除了氧以外还包含共同元素(作为主要成分),所以可以降低氧化物530a与氧化物530b的界面的缺陷态密度。因为可以降低氧化物530a与氧化物530b的界面的缺陷态密度,所以界面散射给载流子传导带来的影响小,从而可以得到高通态电流。
[1070]
氧化物530b优选具有结晶性。尤其是,优选使用caac-os(c-axis aligned crystalline oxide semiconductor:c轴取向结晶氧化物半导体)作为氧化物530b。
[1071]
caac-os具有结晶性高的致密结构且是杂质、缺陷(例如,氧空位(vo)等)少的金属氧化物。尤其是,通过在形成金属氧化物后以金属氧化物不被多晶化的温度(例如,400℃以上且600℃以下)进行热处理,可以使caac-os具有结晶性更高的致密结构。如此,通过进一步提高caac-os的密度,可以进一步降低该caac-os中的杂质或氧的扩散。
[1072]
另一方面,在caac-os中不容易观察明确的晶界,因此不容易发生起因于晶界的电子迁移率的下降。因此,包含caac-os的金属氧化物的物理性质稳定。因此,具有caac-os的金属氧化物具有耐热性且可靠性良好。
[1073]
在使用氧化物半导体的晶体管中,如果在氧化物半导体的形成沟道的区域中存在杂质或氧空位,电特性则容易变动,有时降低可靠性。此外,氧空位附近的氢形成氢进入氧空位中的缺陷(voh)而可能会产生成为载流子的电子。因此,当在氧化物半导体的形成沟道的区域中包含氧空位时,晶体管会具有常开启特性(即使不对栅电极施加电压也存在沟道而在晶体管中电流流过的特性)。由此,在氧化物半导体的形成沟道的区域中,优选尽量减少杂质、氧空位及voh。换言之,优选的是,氧化物半导体中的形成沟道的区域的载流子浓度降低且被i型化(本征化)或实质上被i型化。
[1074]
相对于此,通过在氧化物半导体附近设置包含通过加热脱离的氧(以下,有时称为过剩氧)的绝缘体而进行热处理,可以从该绝缘体向氧化物半导体供应氧而减少氧空位及voh。注意,在对源极区域或漏极区域供应过多的氧时,有可能引起晶体管500的通态电流下降或者场效应迁移率的下降。并且,在供应到源极区域或漏极区域的氧量在衬底面内有不
均匀时,包括晶体管的半导体装置特性发生不均匀。
[1075]
因此,优选的是,在氧化物半导体中,被用作沟道形成区域的区域530bc的载流子浓度得到降低且被i型化或实质上被i型化。另一方面,优选的是,被用作源极区域或漏极区域的区域530ba及区域530bb的载流子浓度高且被n型化。换言之,优选减少氧化物半导体的区域530bc的氧空位及voh且区域530ba及区域530bb不被供应过多的氧。
[1076]
于是,本实施方式以在氧化物530b上设置导电体542a及导电体542b的状态在含氧气氛下进行微波处理来减少区域530bc的氧空位及voh。在此,微波处理例如是指使用包括利用微波生成高密度等离子体的电源的装置的处理。
[1077]
通过在含氧气氛下进行微波处理,可以使用微波或rf等高频使氧气体等离子体化而使该氧等离子体作用。此时,也可以将微波或rf等高频照射到区域530bc。通过等离子体、微波等的作用,可以使区域530bc的voh分开。可以将氢(h)从区域530bc去除而由氧填补氧空位(vo)。换言之,在区域530bc中发生“v
oh→
h+v
o”的反应,可以降低区域530bc的氢浓度。由此,可以减少区域530bc中的氧空位及voh而降低载流子浓度。
[1078]
此外,当在含氧气氛下进行微波处理时,微波、rf等高频、氧等离子体等被导电体542a及导电体542b遮蔽而不作用于区域530ba及区域530bb。再者,可以通过覆盖氧化物530b及导电体542的绝缘体571及绝缘体580降低氧等离子体的作用。由此,在进行微波处理时在区域530ba及区域530bb中不发生voh的减少以及过多的氧的供应,因此可以防止载流子浓度的降低。
[1079]
此外,优选在沉积成为绝缘体552的绝缘膜之后或者在沉积成为绝缘体550的绝缘膜之后以含氧气氛进行微波处理。如此,通过经由绝缘体552或绝缘体550以含氧气氛进行微波处理,可以对区域530bc高效地注入氧。此外,通过以与导电体542的侧面及区域530bc的表面接触的方式配置绝缘体552,可以抑制区域530bc被注入不必要的氧,因此可以抑制导电体542的侧面的氧化。此外,可以抑制在沉积成为绝缘体550的绝缘膜时导电体542的侧面被氧化。
[1080]
此外,作为注入到区域530bc中的氧,有氧原子、氧分子、氧自由基(也称为o自由基,包含不成对电子的原子、分子或离子)等各种方式。注入到区域530bc中的氧可以为上述方式中的任一个或多个,尤其优选为氧自由基。由此,可以提高绝缘体552及绝缘体550的膜品质,因此晶体管500的可靠性得到提高。
[1081]
如上所述,可以在氧化物半导体的区域530bc中选择性地去除氧空位及voh而使区域530bc成为i型或实质上i型。并且,可以抑制对被用作源极区域或漏极区域的区域530ba及区域530bb供应过多的氧而保持n型。由此,可以抑制晶体管500的电特性变动而抑制在衬底面内晶体管500的电特性不均匀。
[1082]
通过采用上述结构,可以提供一种晶体管特性不均匀小的半导体装置。此外,可以提供一种可靠性良好的半导体装置。此外,可以提供一种具有良好的电特性的半导体装置。
[1083]
此外,如图78b所示,在从晶体管500的沟道宽度的截面看时,也可以在氧化物530b的侧面与氧化物530b的顶面之间具有弯曲面。就是说,该侧面的端部和该顶面的端部也可以弯曲(以下,也称为圆形)。
[1084]
上述弯曲面的曲率半径优选大于0nm且小于与导电体542重叠的区域的氧化物530b的厚度或者小于不具有上述弯曲面的区域的一半长度。具体而言,上述弯曲面的曲率
半径大于0nm且为20nm以下,优选为1nm以上且15nm以下,更优选为2nm以上且10nm以下。通过采用上述形状,可以提高绝缘体552、绝缘体550、绝缘体554及导电体560的氧化物530b的覆盖性。
[1085]
氧化物530优选具有化学组成互不相同的多个氧化物层的叠层结构。具体而言,用于氧化物530a的金属氧化物中的相对于主要成分的金属元素的元素m的原子个数比优选大于用于氧化物530b的金属氧化物中的相对于主要成分的金属元素的元素m的原子个数比。此外,用于氧化物530a的金属氧化物中的in与元素m的原子个数比优选大于用于氧化物530b的金属氧化物中的in与元素m的原子个数比。此外,用于氧化物530b的金属氧化物中的in与元素m的原子个数比优选大于用于氧化物530a的金属氧化物中的in与元素m的原子个数比。
[1086]
此外,氧化物530b优选为具有caac-os等的结晶性的氧化物。caac-os等的具有结晶性的氧化物具有杂质及缺陷(氧空位等)少的结晶性高且致密的结构。因此,可以抑制源电极或漏电极从氧化物530b抽出氧。因此,即使进行热处理也可以减少氧从氧化物530b被抽出,所以晶体管500对制造工序中的高温度(所谓热积存:thermal budget)也很稳定。
[1087]
在此,在氧化物530a与氧化物530b的接合部中,导带底平缓地变化。换言之,也可以将上述情况表达为氧化物530a与氧化物530b的接合部的导带底连续地变化或者连续地接合。为此,优选降低形成在氧化物530a与氧化物530b的界面的混合层的缺陷态密度。
[1088]
具体而言,通过使氧化物530a与氧化物530b除了包含氧之外还包含共同元素作为主要成分,可以形成缺陷态密度低的混合层。例如,在氧化物530b为in-m-zn氧化物的情况下,作为氧化物530a也可以使用in-m-zn氧化物、m-zn氧化物、元素m的氧化物、in-zn氧化物、铟氧化物等。
[1089]
具体而言,作为氧化物530a使用in:m:zn=1:3:4[原子个数比]或其附近的组成或者in:m:zn=1:1:0.5[原子个数比]或其附近的组成的金属氧化物,即可。此外,作为氧化物530b,使用in:m:zn=1:1:1[原子个数比]或其附近的组成、in:m:zn=4:2:3[原子个数比]或其附近的组成的金属氧化物,即可。注意,附近的组成包括所希望的原子个数比的
±
30%的范围。此外,作为元素m优选使用镓。
[1090]
此外,在通过溅射法沉积金属氧化物时,上述原子个数比不局限于所沉积的金属氧化物的原子个数比,而也可以是用于金属氧化物的沉积的溅射靶材的原子个数比。
[1091]
此外,如图78a等所示,由于以与氧化物530的顶面及侧面接触的方式设置由氧化铝等形成的绝缘体552,氧化物530所包含的铟有时分布在氧化物530和绝缘体552的界面及其附近。因此,氧化物530的表面附近具有接近铟氧化物的原子个数比或者接近in-zn氧化物的原子个数比。在如此氧化物530,尤其是氧化物530b的表面附近的铟的原子个数比较大时,可以提高晶体管500的场效应迁移率。
[1092]
通过使氧化物530a及氧化物530b具有上述结构,可以降低氧化物530a与氧化物530b的界面的缺陷态密度。因此,界面散射对载流子传导带来的影响减少,从而晶体管500可以得到高通态电流及高频特性。
[1093]
绝缘体512、绝缘体514、绝缘体544、绝缘体571、绝缘体574、绝缘体576、绝缘体581中的至少一个优选被用作抑制水、氢等杂质从衬底一侧或晶体管500的上方扩散到晶体管500的阻挡绝缘膜。因此,绝缘体512、绝缘体514、绝缘体544、绝缘体571、绝缘体574、绝缘体
576、绝缘体581中的至少一个优选使用具有抑制氢原子、氢分子、水分子、氮原子、氮分子、氧化氮分子(n2o、no、no2等)、铜原子等杂质的扩散的功能(不容易使上述杂质透过)的绝缘材料。此外,优选使用具有抑制氧(例如,氧原子、氧分子等中的至少一个)的扩散的功能(不容易使上述氧透过)的绝缘材料。
[1094]
此外,在本说明书中,阻挡绝缘膜是指具有阻挡性的绝缘膜。在本说明书中,阻挡性是指抑制所对应的物质的扩散的功能(也可以说透过性低)。或者,是指俘获并固定所对应的物质(也称为吸杂)的功能。
[1095]
作为绝缘体512、绝缘体514、绝缘体544、绝缘体571、绝缘体574、绝缘体576及绝缘体581,优选使用具有抑制水、氢等杂质及氧的扩散的功能的绝缘体,例如可以使用氧化铝、氧化镁、氧化铪、氧化镓、铟镓锌氧化物、氮化硅或氮氧化硅等。例如,作为绝缘体512、绝缘体544及绝缘体576,优选使用氢阻挡性更高的氮化硅等。此外,例如,作为绝缘体514、绝缘体571、绝缘体574及绝缘体581,优选使用俘获并固定氢的性能高的氧化铝或氧化镁等。由此,可以抑制水、氢等杂质经过绝缘体512及绝缘体514从衬底一侧扩散到晶体管500一侧。或者,可以抑制水、氢等杂质从配置在绝缘体581的外方的层间绝缘膜等扩散到晶体管500一侧。或者,可以抑制包含在绝缘体524等中的氧经过绝缘体512及绝缘体514扩散到衬底一侧。或者,可以抑制含在绝缘体580等中的氧经过绝缘体574等向晶体管500的上方扩散。如此,优选采用由具有抑制水、氢等杂质及氧的扩散的功能的绝缘体512、绝缘体514、绝缘体544、绝缘体571、绝缘体574、绝缘体576及绝缘体581围绕晶体管500的结构。
[1096]
在此,作为绝缘体512、绝缘体514、绝缘体544、绝缘体571、绝缘体574、绝缘体576及绝缘体581,优选使用具有非晶结构的氧化物。例如,优选使用alo
x
(x是大于0的任意数)或mgoy(y是大于0的任意数)等金属氧化物。上述具有非晶结构的金属氧化物有时具有如下性质:氧原子具有悬空键而由该悬空键俘获或固定氢。通过将上述具有非晶结构的金属氧化物作为晶体管500的构成要素使用或者设置在晶体管500的周围,可以俘获或固定含在晶体管500中的氢或存在于晶体管500的周围的氢。尤其是,优选俘获或固定含在晶体管500中的沟道形成区域的氢。通过将具有非晶结构的金属氧化物作为晶体管500的构成要素使用或者设置在晶体管500的周围,可以制造具有良好特性的可靠性高的晶体管500及半导体装置。
[1097]
此外,绝缘体512、绝缘体514、绝缘体544、绝缘体571、绝缘体574、绝缘体576及绝缘体581优选具有非晶结构,但是也可以在其一部分形成多晶结构的区域。此外,绝缘体512、绝缘体514、绝缘体544、绝缘体571、绝缘体574、绝缘体576及绝缘体581也可以具有层叠有非晶结构的层与多晶结构的层的多层结构。例如,也可以具有在非晶结构的层上层叠有多晶结构的层的叠层结构。
[1098]
绝缘体512、绝缘体514、绝缘体544、绝缘体571、绝缘体574、绝缘体576及绝缘体581的沉积例如可以利用溅射法。溅射法不需要作为沉积气体使用包含氢的分子,所以可以降低绝缘体512、绝缘体514、绝缘体544、绝缘体571、绝缘体574、绝缘体576及绝缘体581的氢浓度。作为沉积方法,除了溅射法以外还可以适当地使用化学气相沉积(cvd:chemical vapor deposition)法、分子束外延(mbe:molecular beam epitaxy)法、脉冲激光沉积(pld:pulsed laser deposition)法、原子层沉积法(ald:atomic layer deposition)法等。
[1099]
此外,有时优选降低绝缘体512、绝缘体544及绝缘体576的电阻率。例如,通过使绝缘体512、绝缘体544及绝缘体576的电阻率约为1
×
10
13
ωcm,在半导体装置制造工序的利用等离子体等的处理中,有时绝缘体512、绝缘体544及绝缘体576可以缓和导电体503、导电体542、导电体560的电荷积聚。绝缘体512、绝缘体544及绝缘体576的电阻率为1
×
10
10
ωcm以上且1
×
10
15
ωcm以下。
[1100]
此外,绝缘体516、绝缘体574、绝缘体580及绝缘体581的介电常数优选比绝缘体514低。通过将介电常数低的材料用于层间膜,可以减少产生在布线之间的寄生电容。例如,作为绝缘体516、绝缘体580及绝缘体581,适当地使用氧化硅、氧氮化硅、添加有氟的氧化硅、添加有碳的氧化硅、添加有碳及氮的氧化硅或具有空孔的氧化硅等。
[1101]
此外,绝缘体581例如优选为被用作层间膜、平坦化膜等的绝缘体。
[1102]
导电体503以与氧化物530及导电体560重叠的方式配置。在此,导电体503优选以嵌入绝缘体516的开口中的方式设置。此外,导电体503的一部分有时嵌入绝缘体514中。
[1103]
导电体503包括导电体503a及导电体503b。导电体503a以与该开口的底面及侧壁接触的方式设置。导电体503b以嵌入形成在导电体503a的凹部中的方式设置。在此,导电体503b的顶面与导电体503a的顶面的高度及绝缘体516的顶面的高度大致一致。
[1104]
在此,作为导电体503a优选使用具有抑制氢原子、氢分子、水分子、氮原子、氮分子、氧化氮分子(n2o、no、no2等)、铜原子等杂质的扩散的功能的导电材料。此外,优选使用具有抑制氧(例如,氧原子、氧分子等中的至少一个)的扩散的功能的导电材料。
[1105]
通过作为导电体503a使用具有抑制氢的扩散的功能的导电材料,可以防止含在导电体503b中的氢等杂质通过绝缘体524等扩散到氧化物530。此外,通过作为导电体503a使用具有抑制氧的扩散的功能的导电材料,可以抑制导电体503b被氧化而导电率下降。作为具有抑制氧扩散的功能的导电材料,例如可以使用钛、氮化钛、钽、氮化钽、钌、氧化钌等。因此,作为导电体503a使用单层或叠层的上述导电材料即可。例如,作为导电体503a使用氮化钛即可。
[1106]
此外,导电体503b优选使用以钨、铜或铝为主要成分的导电材料。例如,导电体503b可以使用钨。
[1107]
导电体503有时被用作第二栅电极。在此情况下,通过独立地改变供应到导电体503的电位而不使其与供应到导电体560的电位联动,可以控制晶体管500的阈值电压(vth)。尤其是,通过对导电体503施加负电位,可以增大晶体管500的vth而减少关态电流。由此,与不对导电体503施加负电位的情况相比,在对导电体503施加负电位的情况下,可以减少对导电体560施加的电位为0v时的漏极电流。
[1108]
此外,导电体503的电阻率根据上述施加到导电体503的电位设计,导电体503的厚度根据该电阻率设定。此外,绝缘体516的厚度与导电体503大致相同。在此,优选在导电体503的设计允许的范围内减少导电体503及绝缘体516的厚度。通过减少绝缘体516的厚度,可以降低含在绝缘体516中的氢等杂质的绝对量,所以可以抑制该杂质扩散到氧化物530。
[1109]
此外,导电体503在被俯视时优选比氧化物530的不与导电体542a及导电体542b重叠的区域大。尤其是,如图78b所示,导电体503优选延伸到氧化物530a及氧化物530b的沟道宽度方向的端部的外侧的区域。就是说,优选在氧化物530的沟道宽度方向的侧面的外侧,导电体503和导电体560隔着绝缘体重叠。通过具有上述结构,可以由被用作第一栅电极的
导电体560的电场和被用作第二栅电极的导电体503的电场电围绕氧化物530的沟道形成区域。在本说明书中,将由第一栅极及第二栅极的电场电围绕沟道形成区域的晶体管结构称为surrounded channel(s-channel)结构。
[1110]
在本说明书等中,s-channel结构的晶体管是指由一对栅电极中的一方及另一方的电场电围绕沟道形成区域的晶体管的结构。此外,本说明书等中公开的s-channel结构与fin型结构及平面型结构不同。通过采用s-channel结构,可以实现对短沟道效应的耐性得到提高的晶体管,换言之,可以实现不容易发生短沟道效应的晶体管。
[1111]
此外,如图78b所示,将导电体503延伸来用作布线。但是,本发明不局限于此,也可以在导电体503下设置被用作布线的导电体。此外,不一定需要在每一个晶体管中设置一个导电体503。例如,在多个晶体管中可以共同使用导电体503。
[1112]
注意,示出在晶体管500中作为导电体503层叠有导电体503a及导电体503b的结构,但是本发明不局限于此。例如,导电体503可以具有单层结构,也可以具有三层以上的叠层结构。
[1113]
绝缘体522及绝缘体524被用作栅极绝缘体。
[1114]
绝缘体522优选具有抑制氢(例如,氢原子、氢分子等中的至少一个)的扩散的功能。此外,绝缘体522优选具有抑制氧(例如,氧原子、氧分子等中的至少一个)的扩散的功能。例如,与绝缘体524相比,绝缘体522优选具有抑制氢和氧中的一方或双方的扩散的功能。
[1115]
绝缘体522优选使用作为绝缘材料的包含铝和铪中的一方或双方的氧化物的绝缘体。作为该绝缘体,优选使用氧化铝、氧化铪、包含铝及铪的氧化物(铝酸铪)等。当使用这种材料形成绝缘体522时,绝缘体522被用作抑制氧从氧化物530释放到衬底一侧、氢等杂质从晶体管500的周围部扩散到氧化物530等的层。因此,通过设置绝缘体522,可以抑制氢等杂质扩散到晶体管500的内侧,而可以抑制在氧化物530中生成氧空位。此外,可以抑制导电体503与绝缘体524和氧化物530中的至少一方所包含的氧起反应。
[1116]
或者,例如也可以对上述绝缘体添加氧化铝、氧化铋、氧化锗、氧化铌、氧化硅、氧化钛、氧化钨、氧化钇或氧化锆。或者,也可以对上述绝缘体进行氮化处理。此外,作为绝缘体522还可以在上述绝缘体上层叠氧化硅、氧氮化硅或氮化硅而使用。
[1117]
此外,作为绝缘体522,例如也可以以单层或叠层使用包含氧化铝、氧化铪、氧化钽、氧化锆等所谓的high-k材料的绝缘体。当进行晶体管的微型化及高集成化时,由于栅极绝缘体的薄膜化,有时发生泄漏电流等的问题。通过作为被用作栅极绝缘体的绝缘体使用high-k材料,可以在保持物理厚度的同时降低晶体管工作时的栅极电位。此外,作为绝缘体522有时可以使用锆钛酸铅(pzt)、钛酸锶(srtio3)、(ba,sr)tio3(bst)等介电常数高的物质。
[1118]
作为与氧化物530接触的绝缘体524,例如适当地使用氧化硅、氧氮化硅等即可。
[1119]
此外,在晶体管500的制造工序中,热处理优选在氧化物530的表面露出的状态下进行。该热处理例如优选以100℃以上且600℃以下,更优选以350℃以上且550℃以下进行。热处理在氮气体或惰性气体气氛或者包含10ppm以上、1%以上或10%以上的氧化性气体的气氛下进行。例如,热处理优选在氧气氛下进行。由此,对氧化物530供应氧,从而可以减少氧空位(vo)。热处理也可以在减压状态下进行。此外,也可以在氮气体或惰性气体的气氛下
进行热处理,然后为了填补脱离的氧而在包含10ppm以上、1%以上或10%以上的氧化性气体的气氛下进行热处理。此外,也可以在包含10ppm以上、1%以上或10%以上的氧化性气体的气氛下进行热处理,然后连续地在氮气体或惰性气体的气氛下进行热处理。
[1120]
通过对氧化物530进行加氧化处理,可以由所供应的氧填补氧化物530中的氧空位,换言之可以促进“vo+o

null”的反应。再者,氧化物530中残留的氢与被供给的氧发生反应而可以将氢以h2o的形态去除(脱水化)。由此,可以抑制残留在氧化物530中的氢与氧空位再结合而形成voh。
[1121]
此外,绝缘体522及绝缘体524也可以具有两层以上的叠层结构。此时,不局限于使用相同材料构成的叠层结构,也可以是使用不同材料构成的叠层结构。此外,绝缘体524也可以形成为岛状且与氧化物530a重叠。在此情况下,绝缘体544与绝缘体524的侧面及绝缘体522的顶面接触。
[1122]
导电体542a及导电体542b与氧化物530b的顶面接触。导电体542a及导电体542b分别被用作晶体管500的源电极或漏电极。
[1123]
作为导电体542(导电体542a及导电体542b)例如优选使用包含钽的氮化物、包含钛的氮化物、包含钼的氮化物、包含钨的氮化物、包含钽及铝的氮化物、包含钛及铝的氮化物等。在本发明的一个方式中,尤其优选采用包含钽的氮化物。此外,例如也可以使用氧化钌、氮化钌、包含锶和钌的氧化物、包含镧和镍的氧化物等。这些材料是不容易氧化的导电材料或者即使吸收氧也维持导电性的材料,所以是优选的。
[1124]
注意,有时包含在氧化物530b等中的氢扩散到导电体542a或导电体542b。尤其是,通过作为导电体542a及导电体542b使用包含钽的氮化物,有时包含在氧化物530b等中的氢容易扩散到导电体542a或导电体542b,该扩散的氢与导电体542a或导电体542b所包含的氮键合。也就是说,有时包含在氧化物530b等中的氢被导电体542a或导电体542b吸收。
[1125]
此外,优选在导电体542的侧面与导电体542的顶面之间不形成弯曲面。通过使导电体542不具有该弯曲面,可以增大沟道宽度方向的截面上的导电体542的截面积。由此,增大导电体542的导电率,从而可以增大晶体管500的通态电流。
[1126]
绝缘体571a与导电体542a的顶面接触,绝缘体571b与导电体542b的顶面接触。绝缘体571优选被用作至少对氧具有阻挡性的绝缘膜。因此,绝缘体571优选具有抑制氧扩散的功能。例如,与绝缘体580相比,绝缘体571优选具有进一步抑制氧扩散的功能。作为绝缘体571,例如可以使用氮化硅等包含硅的氮化物。此外,绝缘体571优选具有俘获氢等杂质的功能。在此情况下,绝缘体571可以使用具有非晶结构的金属氧化物,例如,氧化铝或氧化镁等绝缘体。尤其是,绝缘体571特别优选使用由非晶结构组成的氧化铝,因为有时能够更有效地俘获或固定氢。由此,可以制造特性良好且可靠性高的晶体管500及半导体装置。
[1127]
绝缘体544以覆盖绝缘体524、氧化物530a、氧化物530b、导电体542及绝缘体571的方式设置。绝缘体544优选具有俘获并固定氢的功能。在此情况下,绝缘体544优选包括氮化硅或具有非晶结构的金属氧化物,例如,氧化铝或氧化镁等绝缘体。此外,例如,作为绝缘体544也可以使用氧化铝与该氧化铝上的氮化硅的叠层膜。
[1128]
通过设置上述绝缘体571及绝缘体544,可以由对氧具有阻挡性的绝缘体包围导电体542。换言之,可以抑制包含在绝缘体524及绝缘体580中的氧扩散到导电体542中。由此,可以抑制包含在绝缘体524及绝缘体580中的氧而导致导电体542直接被氧化使得电阻率增
大而通态电流减少。
[1129]
绝缘体552被用作栅极绝缘体的一部分。作为绝缘体552优选使用氧阻挡绝缘膜。作为绝缘体552使用上述可用于绝缘体574的绝缘体即可。作为绝缘体552优选使用包含铝和铪中的一方或双方的氧化物的绝缘体。作为该绝缘体,可以使用包含氧化铝、氧化铪、包含铝及铪的氧化物(铝酸铪)、包含铪及硅的氧化物(硅酸铪)等。在本实施方式中,作为绝缘体552,使用氧化铝。此时,绝缘体552是至少包含氧及铝的绝缘体。
[1130]
如图78b所示,绝缘体552以与氧化物530b的顶面及侧面、氧化物530a的侧面、绝缘体524的侧面及绝缘体522的顶面接触的方式设置。就是说,在沟道宽度方向的截面中氧化物530a、氧化物530b及绝缘体524的与导电体560重叠的区域被绝缘体552覆盖。因此,可以利用具有氧阻挡性的绝缘体552防止在进行热处理等时氧化物530a及氧化物530b中的氧脱离。因此,可以减少在氧化物530a及氧化物530b中形成氧空位(vo)。由此,可以减少形成在区域530bc中的氧空位(vo)及voh。因此,可以提高晶体管500的电特性及可靠性。
[1131]
此外,反之,即使绝缘体580及绝缘体550等包含过多的氧,也可以抑制该氧过度供应到氧化物530a及氧化物530b。因此,可以抑制区域530ba及区域530bb通过区域530bc被过度氧化而导致晶体管500的通态电流的下降或场效应迁移率的下降。
[1132]
此外,如图78a所示,绝缘体552以与导电体542、绝缘体571及绝缘体580各自的侧面接触的方式设置。因此,可以减少导电体542的侧面被氧化而氧化膜形成在该侧面。因此,可以抑制导致晶体管500的通态电流的下降或场效应迁移率的下降。
[1133]
此外,绝缘体552需要与绝缘体554、绝缘体550、导电体560一起设置在形成于绝缘体580等中的开口中。为了实现晶体管500的微型化,绝缘体552的厚度优选小。绝缘体552的厚度为0.1nm以上、0.5nm以上或1.0nm以上且1.0nm以下、3.0nm以下或5.0nm以下。上述下限值及上限值可以分别组合。此时,绝缘体552的至少一部分是具有上述厚度的区域即可。此外,绝缘体552的厚度优选比绝缘体550的厚度小。此时,绝缘体552的至少一部分是厚度比绝缘体550小的区域即可。
[1134]
为了如上所述地将绝缘体552沉积得薄,优选利用ald法沉积绝缘体552。ald法有只利用热能使前驱物及反应物起反应的热ald(thermal ald)法、使用收到等离子体激发的反应物的peald(plasma enhanced ald)法等。在peald法中,通过利用等离子体可以在更低温下进行沉积,所以有时是优选的。
[1135]
此外,ald法可以利用作为原子的性质的自调整性来沉积每一层的原子,从而发挥能够沉积极薄的膜、能够对纵横比高的结构沉积、能够以针孔等的缺陷少的方式沉积、能够形成覆盖性优良的膜及能够在低温下沉积等的效果。因此,可以在形成于绝缘体580等中的开口的侧面等以上述较小的厚度且高覆盖性沉积绝缘体552。
[1136]
ald法中使用的前驱物有时包含碳等。因此,利用ald法形成的膜有时与利用其它的沉积方法形成的膜相比包含更多的碳等杂质。此外,杂质的定量可以利用二次离子质谱分析(sims:secondary ion mass spectrometry)或x射线光电子能谱(xps:x-ray photoelectron spectroscopy)测量。
[1137]
绝缘体550被用作栅极绝缘体的一部分。绝缘体550优选以与绝缘体552的顶面接触的方式配置。绝缘体550可以使用氧化硅、氧氮化硅、氮氧化硅、氮化硅、添加有氟的氧化硅、添加有碳的氧化硅、添加有碳及氮的氧化硅、具有空孔的氧化硅等。尤其是,氧化硅及氧
氮化硅具有热稳定性,所以是优选的。此时,绝缘体550是至少包含氧及硅的绝缘体。
[1138]
与绝缘体524同样,优选绝缘体550中的水、氢等杂质的浓度得到降低。绝缘体550的厚度优选为1nm以上或0.5nm以上且15.0nm以下或20nm以下。上述下限值及上限值可以分别组合。此时,绝缘体550的至少一部分是具有上述厚度的区域即可。
[1139]
在图78a及图78b等中,示出绝缘体550具有单层的结构,但是本发明不局限于此,也可以采用两层以上的叠层结构。例如,如图80b所示,绝缘体550也可以具有绝缘体550a与绝缘体550a上的绝缘体550b这两层的叠层结构。
[1140]
如图80b所示,在使绝缘体550具有两层叠层结构的情况下,优选的是,下层的绝缘体550a使用容易使氧透过的绝缘体形成,而上层的绝缘体550b使用具有抑制氧的扩散的功能的绝缘体形成。通过采用这种结构,可以抑制包含在绝缘体550a中的氧扩散到导电体560。换言之,可以抑制对氧化物530供应的氧量的减少。此外,可以抑制因包含在绝缘体550a中的氧导致的导电体560的氧化。例如,绝缘体550a使用上述的能够用于绝缘体550的材料,绝缘体550b使用包含铝和铪中的一方或双方的氧化物的绝缘体,即可。作为该绝缘体,可以使用包含氧化铝、氧化铪、包含铝及铪的氧化物(铝酸铪)、包含铪及硅的氧化物(硅酸铪)等。在本实施方式中,作为绝缘体550b,使用氧化铪。此时,绝缘体550b是至少包含氧及铪的绝缘体。此外,绝缘体550b的厚度优选为0.5nm以上或1.0nm以上且3.0nm以下或5.0nm以下。此时,绝缘体550b的至少一部分是具有上述厚度的区域即可。
[1141]
注意,当绝缘体550a使用氧化硅、氧氮化硅等时,绝缘体550b也可以使用相对介电常数高的high-k材料的绝缘材料形成。通过作为栅极绝缘体采用绝缘体550a及绝缘体550b的叠层结构,可以形成具有热稳定性且相对介电常数高的叠层结构。因此,可以在保持栅极绝缘体的物理厚度的同时降低在晶体管工作时施加的栅极电位。此外,可以减少被用作栅极绝缘体的绝缘体的等效氧化物厚度(eot)。因此,可以提高绝缘体550的绝缘耐压。
[1142]
绝缘体554被用作栅极绝缘体的一部分。作为绝缘体554优选使用氢阻挡绝缘膜。由此,可以防止包含在导电体560中的氢等杂质扩散到绝缘体550及氧化物530b。作为绝缘体554使用上述可用于绝缘体576的绝缘体即可。例如,作为绝缘体554使用利用peald法沉积的氮化硅即可。此时,绝缘体554是至少包含氮、硅的绝缘体。
[1143]
此外,绝缘体554也可以还具有氧阻挡性。由此,可以抑制包含在绝缘体550中的氧扩散到导电体560。
[1144]
此外,绝缘体554需要与绝缘体552、绝缘体550、导电体560一起设置在形成于绝缘体580等中的开口中。为了实现晶体管500的微型化,绝缘体554的厚度优选小。绝缘体554的厚度优选为0.1nm以上、0.5nm以上或1.0nm以上且3.0nm以下或5.0nm以下。上述下限值及上限值可以分别组合。此时,绝缘体554的至少一部分是具有上述厚度的区域即可。此外,绝缘体554的厚度优选比绝缘体550的厚度小。此时,绝缘体554的至少一部分是厚度比绝缘体550小的区域即可。
[1145]
导电体560被用作晶体管500的第一栅电极。导电体560优选包括导电体560a以及配置在导电体560a上的导电体560b。例如,优选以包围导电体560b的底面及侧面的方式配置导电体560a。此外,如图78a及图78b所示,导电体560的顶面与绝缘体550的顶面大致对齐。虽然在图78a及图78b中导电体560具有导电体560a和导电体560b的两层结构,但是也可以具有单层结构或三层以上的叠层结构。
[1146]
作为导电体560a优选使用具有抑制氢原子、氢分子、水分子、氮原子、氮分子、氧化氮分子、铜原子等杂质的扩散的功能的导电材料。此外,优选使用具有抑制氧(例如,氧原子、氧分子等中的至少一个)的扩散的功能的导电材料。
[1147]
此外,当导电体560a具有抑制氧的扩散的功能时,可以抑制绝缘体550所包含的氧使导电体560b氧化而导致导电率的下降。作为具有抑制氧扩散的功能的导电材料,例如可以使用钛、氮化钛、钽、氮化钽、钌、氧化钌等。
[1148]
此外,由于导电体560还被用作布线,所以优选使用导电性高的导电体。例如,导电体560b可以使用钨、铜或铝为主要成分的导电材料。导电体560b也可以具有叠层结构,例如,可以采用钛或氮化钛和上述导电材料的叠层结构。
[1149]
此外,在晶体管500中,以嵌入绝缘体580等的开口中的方式自对准地形成导电体560。通过如此形成导电体560,可以在导电体542a和导电体542b之间的区域中无需对准并确实地配置导电体560。
[1150]
此外,如图78b所示,在晶体管500的沟道宽度方向上,以绝缘体522的底面为基准,导电体560的导电体560不与氧化物530b重叠的区域的底面的高度优选比氧化物530b的底面的高度低。通过采用被用作栅电极的导电体560隔着绝缘体550等覆盖氧化物530b的沟道形成区域的侧面及顶面的结构,容易使导电体560的电场作用于氧化物530b的沟道形成区域整体。由此,可以提高晶体管500的通态电流及频率特性。以绝缘体522的底面为基准时的氧化物530a及氧化物530b不与导电体560重叠的区域的导电体560的底面的高度与氧化物530b的底面的高度之差为0nm以上、3nm以上或5nm以上且20nm以下、50nm以下或100nm以下。上述下限值及上限值可以分别组合。
[1151]
绝缘体580设置在绝缘体544上,在将设置绝缘体550及导电体560的区域中形成开口。此外,绝缘体580的顶面也可以被平坦化。
[1152]
优选的是,被用作层间膜的绝缘体580的介电常数低。通过将介电常数低的材料用于层间膜,可以减少产生在布线之间的寄生电容。绝缘体580例如优选使用与绝缘体516同样的材料形成。尤其是,氧化硅及氧氮化硅具有热稳定性,所以是优选的。特别是,因为氧化硅、氧氮化硅、具有空孔的氧化硅等材料容易形成包含通过加热脱离的氧的区域,所以是优选的。
[1153]
绝缘体580中的水、氢等杂质浓度优选得到降低。例如,作为绝缘体580适当地使用氧化硅、氧氮化硅等包含硅的氧化物即可。
[1154]
绝缘体574优选被用作抑制水、氢等杂质从上方向绝缘体580扩散的阻挡绝缘膜且具有俘获氢等杂质的功能。此外,绝缘体574优选被用作抑制氧透过的阻挡绝缘膜。作为绝缘体574,使用具有非晶结构的金属氧化物,例如氧化铝等绝缘体即可。此时的绝缘体574是至少包含氧及铝的绝缘体。通过在夹在绝缘体512与绝缘体581的区域内设置与绝缘体580接触且具有俘获氢等杂质的功能的绝缘体574,可以俘获包含在绝缘体580等中的氢等杂质而将该区域内的氢量为一定的值。尤其是,绝缘体574优选使用具有非晶结构的氧化铝,因为有时能够更有效地俘获或固定氢。由此,可以制造特性良好且可靠性高的晶体管500及半导体装置。
[1155]
绝缘体576可以被用作抑制水、氢等杂质从上方扩散到绝缘体580的阻挡绝缘膜。绝缘体576配置在绝缘体574上。作为绝缘体576,优选使用氮化硅或氮氧化硅等包含硅的氮
化物。例如,作为绝缘体576使用通过溅射法沉积的氮化硅。通过使用溅射法沉积绝缘体576,可以形成密度高的氮化硅膜。此外,作为绝缘体576,也可以在通过溅射法沉积的氮化硅上还层叠通过peald法或cvd法沉积的氮化硅。
[1156]
此外,晶体管500的第一端子及第二端子中的一个与用作插头的导电体540a电连接,晶体管500的第一端子及第二端子中的另一个与用作插头的导电体540b电连接。在本说明书等中,将导电体540a及导电体540b统称为导电体540。
[1157]
作为一个例子,导电体540a设置在与导电体542a重叠的区域。具体而言,在与导电体542a重叠的区域,在图78a所示的绝缘体544、绝缘体571、绝缘体580、绝缘体574、绝缘体576、绝缘体581、图77所示的绝缘体582以及绝缘体586中形成有开口部,在该开口部的内侧设置有导电体540a。此外,作为一个例子,导电体540b设置在与导电体542b重叠的区域。具体而言,在与导电体542b重叠的区域,在图78a所示的绝缘体544、绝缘体571、绝缘体580、绝缘体574、绝缘体576、绝缘体581、图77所示的绝缘体582以及绝缘体586中形成有开口部,在该开口部的内侧设置有导电体540b。关于绝缘体582及绝缘体586将在后面描述。
[1158]
此外,如图78a所示,也可以在与导电体542a重叠的区域中的开口部的侧面与导电体540a之间设置绝缘体541a作为具有杂质阻挡性的绝缘体。同样,也可以在与导电体542b重叠的区域中的开口部的侧面与导电体540b之间设置绝缘体541b作为具有杂质阻挡性的绝缘体。在本说明书等中,将绝缘体541a及绝缘体541b统称为绝缘体541。
[1159]
导电体540a及导电体540b优选使用以钨、铜或铝为主要成分的导电材料。此外,导电体540a及导电体540b也可以具有叠层结构。
[1160]
当作为导电体540采用叠层结构时,作为配置在绝缘体581、绝缘体576、绝缘体574、绝缘体580、绝缘体544及绝缘体571附近的第一导电体优选使用具有抑制水、氢等杂质的透过的功能的导电材料。例如,优选使用钽、氮化钽、钛、氮化钛、钌、氧化钌等。可以以单层或叠层使用具有抑制水、氢等杂质的透过的功能的导电材料。此外,可以防止包含在绝缘体576的上方的层的水、氢等杂质通过导电体540a及导电体540b混入到氧化物530。
[1161]
作为绝缘体541a及绝缘体541b,使用可用于绝缘体544等的阻挡绝缘膜即可。作为绝缘体541a及绝缘体541b,例如可以使用氮化硅、氧化铝、氮氧化硅等绝缘体。因为绝缘体541a及绝缘体541b与绝缘体576、绝缘体574及绝缘体571接触地设置,所以可以抑制包含在绝缘体580等中的水、氢等杂质经过导电体540a及导电体540b混入氧化物530。尤其是,氮化硅的氢阻挡性高,所以是优选的。此外,可以防止绝缘体580所包含的氧被导电体540a及导电体540b吸收。
[1162]
在绝缘体541a及绝缘体541b具有如图78a所示那样的叠层结构时,作为与绝缘体580等的开口的内壁接触的第一绝缘体以及其内侧的第二绝缘体优选组合使用氧阻挡绝缘膜和氢阻挡绝缘膜。
[1163]
例如,作为第一绝缘体使用利用ald法沉积的氧化铝且作为第二绝缘体使用利用peald法沉积的氮化硅即可。通过采用这样的结构,可以抑制导电体540的氧化,并且可以抑制氢进入导电体540中。
[1164]
此外,在晶体管500中,层叠有绝缘体541的第一绝缘体与绝缘体541的第二绝缘体,但是本发明不局限于此。例如,绝缘体541也可以具有单层结构或者三层以上的叠层结构。此外,在晶体管500中,层叠有导电体540的第一导电体与导电体540的第二导电体,但是
本发明不局限于此。例如,导电体540也可以具有单层结构或者三层以上的叠层结构。
[1165]
此外,如图77所示,也可以以与导电体540a的上部及导电体540b的上部接触的方式配置被用作布线的导电体610、导电体612等。导电体610、导电体612优选使用以钨、铜或铝为主要成分的导电材料。另外,该导电体可以具有叠层结构,例如,可以具有钛或氮化钛与上述导电材料的叠层结构。此外,该导电体也可以以嵌入形成于绝缘体的开口中的方式形成。
[1166]
此外,本发明的一个方式的半导体装置所包括的晶体管的结构不局限于图77、图78a、图78b及图79所示的晶体管500。本发明的一个方式的半导体装置所包括的晶体管的结构也可以根据状况而改变。
[1167]
例如,图77、图78a、图78b及图79所示的晶体管500也可以具有图81所示的结构。图81的晶体管包括氧化物543a及氧化物543b,这一点与图77、图78a、图78b及图79所示的晶体管500不同。在本说明书等中,将氧化物543a及氧化物543b统称为氧化物543。此外,图81的晶体管的沟道宽度方向上的截面结构可以与图78b所示的晶体管500的截面结构同样。
[1168]
氧化物543a设置在氧化物530b和导电体542a之间,氧化物543b设置在氧化物530b和导电体542b之间。在此,氧化物543a优选与氧化物530b的顶面及导电体542a的底面接触。此外,氧化物543b优选与氧化物530b的顶面及导电体542b的底面接触。
[1169]
氧化物543优选具有抑制氧透过的功能。通过在被用作源电极或漏电极的导电体542与氧化物530b之间配置具有抑制氧透过的功能的氧化物543,导电体542与氧化物530b之间的电阻被减少,所以是优选的。通过采用这样的结构,有时可以提高晶体管500的电特性、场效应迁移率及可靠性。
[1170]
作为氧化物543也可以使用包含元素m的金属氧化物。尤其是,作为元素m优选使用铝、镓、钇或锡。氧化物543的元素m的浓度优选比氧化物530b高。此外,作为氧化物543也可以使用氧化镓。此外,作为氧化物543也可以使用in-m-zn氧化物等金属氧化物。具体而言,用于氧化物的金属氧化物中的in与元素m的原子个数比优选大于用于氧化物530b的金属氧化物中的in与元素m的原子个数比。此外,氧化物543的厚度优选为0.5nm以上或1nm以上且2nm以下、3nm以下或5nm以下。上述下限值及上限值可以分别组合。此外,氧化物543优选具有结晶性。在氧化物543具有结晶性的情况下,可以适当地抑制氧化物530中的氧的释放。例如,在氧化物543具有六方晶等结晶结构的情况下,有时可以抑制氧化物530中的氧的释放。
[1171]
在绝缘体581上设置有绝缘体582,在绝缘体582上设置有绝缘体586。
[1172]
绝缘体582优选使用对氧或氢具有阻挡性的物质。因此,作为绝缘体582可以使用与绝缘体514同样的材料。例如,作为绝缘体582优选使用氧化铝、氧化铪、氧化钽等金属氧化物。
[1173]
作为绝缘体586可以使用与绝缘体320同样的材料。此外,通过作为这些绝缘体应用介电常数较低的材料,可以减少产生在布线之间的寄生电容。例如,作为绝缘体586,可以使用氧化硅膜及氧氮化硅膜等。
[1174]
接着,说明图77及图79所示的半导体装置所包括的电容器600及其周边的布线或插头。此外,在图77及图79所示的晶体管500上方设置有电容器600、布线及/或插头。
[1175]
作为一个例子,电容器600包括导电体610、导电体620、绝缘体630。
[1176]
导电体610设置在导电体540a及导电体540b中的一个、导电体546及绝缘体586上。
导电体610被用作电容器600的一对电极中的一个。
[1177]
此外,导电体612设置在导电体540a和导电体540b中的另一个及绝缘体586上。导电体612具有作为使晶体管500与可设置在其上方的电路元件、布线、端子等电连接的插头、布线、端子等的功能。具体而言,例如,导电体612可以为上述实施方式所示的运算电路110等中的布线il或布线ilb。
[1178]
此外,可以同时形成导电体612及导电体610。
[1179]
作为导电体612及导电体610可以使用包含选自钼、钛、钽、钨、铝、铜、铬、钕、钪中的元素的金属膜或以上述元素为成分的金属氮化物膜(氮化钽膜、氮化钛膜、氮化钼膜、氮化钨膜)等。或者,也可以使用铟锡氧化物、包含氧化钨的铟氧化物、包含氧化钨的铟锌氧化物、包含氧化钛的铟氧化物、包含氧化钛的铟锡氧化物、铟锌氧化物、添加有氧化硅的铟锡氧化物等导电材料。
[1180]
在图77中,导电体612及导电体610具有单层结构,但是不局限于此,也可以具有两层以上的叠层结构。例如,也可以在具有阻挡性的导电体与导电性高的导电体之间形成与具有阻挡性的导电体以及导电性高的导电体紧密性高的导电体。
[1181]
绝缘体586及导电体610上设置有绝缘体630。此外,绝缘体630被用作夹在电容器600的一对电极间的介电质。
[1182]
作为绝缘体630,例如使用氧化硅、氧氮化硅、氮氧化硅、氮化硅、氧化铝、氧氮化铝、氮氧化铝、氮化铝、氧化铪、氧氮化铪、氮氧化铪、氮化铪、氧化锆等即可,并且可以采用叠层结构或单层结构。
[1183]
例如,绝缘体630可以使用氧氮化硅等介电强度高的材料和高介电常数(high-k)材料的叠层结构。通过采用该结构,电容器600可以包括高介电常数(high-k)的绝缘体来确保充分的电容,并可以包括介电强度高的绝缘体来提高介电强度,从而可以抑制电容器600的静电破坏。
[1184]
注意,作为高介电常数(high-k)材料(相对介电常数高的材料)的绝缘体,有氧化镓、氧化铪、氧化锆、具有铝及铪的氧化物、具有铝及铪的氧氮化物、具有硅及铪的氧化物、具有硅及铪的氧氮化物或具有硅及铪的氮化物等。
[1185]
此外,作为绝缘体630,例如也可以以单层或叠层使用包含氧化铝、氧化铪、氧化钽、氧化锆、锆钛酸铅(pzt)、钛酸锶(srtio3)或(ba,sr)tio3(bst)等high-k材料的绝缘体。此外,作为绝缘体630也可以使用包含铪、锆的化合物等。随着半导体装置微型化及高集成化,由于用于栅极绝缘体及电容器的介电质薄膜化,有时发生晶体管、电容器的泄漏电流等的问题。通过作为被用作栅极绝缘体及电容器的介电质的绝缘体使用high-k材料,可以在保持物理厚度的同时降低晶体管工作时的栅极电位并确保电容器的电容。
[1186]
以隔着绝缘体630重叠于导电体610的方式设置导电体620。导电体620具有电容器600的一对电极中的另一个的功能。例如,导电体620也可以被用作上述实施方式所示的运算电路110等中的布线xls。
[1187]
作为导电体620可以使用金属材料、合金材料、金属氧化物材料等导电材料。优选使用兼具耐热性和导电性的钨或钼等高熔点材料,尤其优选使用钨。当与导电体等其他构成要素同时形成导电体620时,使用低电阻金属材料的cu(铜)或al(铝)等即可。此外,例如,导电体620可以使用可以应用于导电体610的材料。此外,导电体620也可以具有两层以上的
叠层结构而不具有单层结构。
[1188]
在导电体620及绝缘体630上设置有绝缘体640。作为绝缘体640,例如优选使用能够防止氢、杂质等扩散到设置有晶体管500的区域中的具有阻挡性的膜。因此,绝缘体640可以使用与绝缘体324同样的材料。
[1189]
在绝缘体640上设置有绝缘体650。绝缘体650可以使用与绝缘体320同样的材料形成。此外,绝缘体650也可以被用作覆盖其下方的凹凸形状的平坦化膜。因此,绝缘体650可以使用可以应用于绝缘体322的材料。
[1190]
虽然图77及图79所示的电容器600为平面型,但是电容器的形状不局限于此。电容器600例如也可以不是平面型而是圆柱型的电容器。
[1191]
此外,也可以在电容器600上方设置有布线层。例如,在图77中,绝缘体411、绝缘体412、绝缘体413及绝缘体414依次设置在绝缘体650上方。此外,在绝缘体411、绝缘体412及绝缘体413中设置有被用作插头或布线的导电体416。作为一个例子,导电体416设置在与后述导电体660重叠的区域。
[1192]
此外,在绝缘体630、绝缘体640及绝缘体650中,在与导电体612重叠的区域设置有开口部,以嵌入该开口部的方式设置有导电体660。导电体660被用作与上述布线层所包括的导电体416电连接的插头或布线。
[1193]
与绝缘体324同样,绝缘体411及绝缘体414例如优选使用对水、氢等杂质具有阻挡性的绝缘体。因此,绝缘体411及绝缘体414可以使用可用于绝缘体324等的材料。
[1194]
例如,与绝缘体326同样,绝缘体412及绝缘体413优选使用相对介电常数较低的绝缘体以降低布线间产生的寄生电容。
[1195]
此外,导电体612及导电体416例如可以使用与导电体328及导电体330同样的材料形成。
[1196]
通过将本实施方式所示的本结构用于使用包含氧化物半导体的晶体管的半导体装置,可以在抑制该晶体管的电特性的变动的同时提高可靠性。此外,可以实现使用包含氧化物半导体的晶体管的半导体装置的微型化或高集成化。
[1197]
注意,本实施方式可以与本说明书所示的其他实施方式适当地组合。
[1198]
(实施方式6)在本实施方式中,说明可用于上述实施方式中说明的os晶体管的金属氧化物(下面称为氧化物半导体)。
[1199]
金属氧化物优选至少包含铟或锌。尤其优选包含铟及锌。此外,除此之外,优选还包含铝、镓、钇、锡等。此外,也可以包含选自硼、硅、钛、铁、镍、锗、锆、钼、镧、铈、钕、铪、钽、钨、镁及钴等中的一种或多种。
[1200]
《结晶结构的分类》首先,对氧化物半导体中的结晶结构的分类参照图82a进行说明。图82a是说明氧化物半导体,典型为igzo(包含in、ga、zn的金属氧化物)的结晶结构的分类的图。
[1201]
如图82a所示,氧化物半导体大致分为“amorphous(无定形)”、“crystalline(结晶性)”、“crystal(结晶)”。此外,completely amorphous包含在“amorphous”中。此外,在“crystalline”中包含caac(c-axis-aligned crystalline)、nc(nanocrystalline)及cac(cloud-aligned composite)。此外,在“crystalline”的分类中不包含single crystal、
poly crystal及completely amorphous。此外,在“crystal”中包含single crystal及poly crystal。
[1202]
此外,图82a所示的外框线被加粗的部分中的结构是介于“amorphous(无定形)”与“crystal(结晶)”之间的中间状态,是属于新的边界区域(new crystalline phase)的结构。换言之,该结构与“crystal(结晶)”或在能量性上不稳定的“amorphous(无定形)”可以说是完全不同的结构。
[1203]
可以使用x射线衍射(xrd:x-ray diffraction)谱对膜或衬底的结晶结构进行评价。在此,图82b示出被分类为“crystalline”的caac-igzo膜的通过gixd(grazing-incidence xrd)测量而得到的xrd谱(横轴表示2θ[度],纵轴以任意单位表示强度)。此外,将gixd法也称为薄膜法或seemann-bohlin法。下面,将图82b所示的通过gixd测量而得到的xrd谱简单地记为xrd谱。此外,图82b所示的caac-igzo膜的组成是in:ga:zn=4:2:3[原子个数比]附近。此外,图82b所示的caac-igzo膜的厚度为500nm。
[1204]
如图82b所示,在caac-igzo膜的xrd谱中检测出表示明确的结晶性的峰值。具体而言,在caac-igzo膜的xrd谱中,2θ=31
°
附近检测出表示c轴取向的峰值。此外,如图82b所示那样,2θ=31
°
附近的峰值在以检测出峰值强度的角度为轴时左右非对称。
[1205]
此外,可以使用纳米束电子衍射法(nbed:nano beam electron diffraction)观察的衍射图案(也称为纳米束电子衍射图案)对膜或衬底的结晶结构进行评价。图82c示出caac-igzo膜的衍射图案。图82c是将电子束向平行于衬底的方向入射的nbed观察的衍射图案。此外,图82c所示的caac-igzo膜的组成是in:ga:zn=4:2:3[原子个数比]附近。此外,在纳米束电子衍射法中,进行束径为1nm的电子衍射法。
[1206]
如图82c所示那样,在caac-igzo膜的衍射图案中观察到表示c轴取向的多个斑点。
[1207]
《《氧化物半导体的结构》》此外,在注目于氧化物半导体的结晶结构的情况下,有时氧化物半导体的分类与图82a不同。例如,氧化物半导体可以分类为单晶氧化物半导体和除此之外的非单晶氧化物半导体。作为非单晶氧化物半导体,例如可以举出上述caac-os及nc-os。此外,在非单晶氧化物半导体中包含多晶氧化物半导体、a-like os(amorphous-like oxide semiconductor)及非晶氧化物半导体等。
[1208]
在此,对上述caac-os、nc-os及a-likeos的详细内容进行说明。
[1209]
[caac-os]caac-os是包括多个结晶区域的氧化物半导体,该多个结晶区域的c轴取向于特定的方向。此外,特定的方向是指caac-os膜的厚度方向、caac-os膜的被形成面的法线方向或者caac-os膜的表面的法线方向。此外,结晶区域是具有原子排列的周期性的区域。注意,在将原子排列看作晶格排列时结晶区域也是晶格排列一致的区域。再者,caac-os具有在a-b面方向上多个结晶区域连接的区域,有时该区域具有畸变。此外,畸变是指在多个结晶区域连接的区域中,晶格排列一致的区域和其他晶格排列一致的区域之间的晶格排列的方向变化的部分。换言之,caac-os是指c轴取向并在a-b面方向上没有明显的取向的氧化物半导体。
[1210]
此外,上述多个结晶区域的每一个由一个或多个微小结晶(最大径小于10nm的结
晶)构成。在结晶区域由一个微小结晶构成的情况下,该结晶区域的最大径小于10nm。此外,在结晶区域由多个微小结晶构成的情况下,有时该结晶区域的尺寸为几十nm左右。
[1211]
此外,在in-m-zn氧化物(元素m为选自铝、镓、钇、锡及钛等中的一种或多种)中,caac-os有包括含有层叠有铟(in)及氧的层(以下,in层)、含有元素m、锌(zn)及氧的层(以下,(m,zn)层)的层状结晶结构(也称为层状结构)的趋势。此外,铟和元素m可以彼此置换。因此,有时(m,zn)层包含铟。此外,有时in层包含元素m。注意,有时in层包含zn。该层状结构例如在高分辨率tem图像中被观察作为晶格像。
[1212]
例如,当对caac-os膜使用xrd装置进行结构分析时,在使用θ/2θ扫描的out-of-plane xrd测量中,在2θ=31
°
或其附近检测出表示c轴取向的峰值。注意,表示c轴取向的峰值的位置(2θ值)有时根据构成caac-os的金属元素的种类、组成等变动。
[1213]
此外,例如,在caac-os膜的电子衍射图案中观察到多个亮点(斑点)。此外,在以透过样品的入射电子束的斑点(也称为直接斑点)为对称中心时,某一个斑点和其他斑点被观察在点对称的位置。
[1214]
在从上述特定的方向观察结晶区域的情况下,虽然该结晶区域中的晶格排列基本上是六方晶格,但是单位晶格并不局限于正六角形,有是非正六角形的情况。此外,在上述畸变中,有时具有五角形、七角形等晶格排列。此外,在caac-os的畸变附近观察不到明确的晶界(grain boundary)。也就是说,可知晶格排列的畸变抑制晶界的形成。这可能是由于caac-os因为a-b面方向上的氧原子排列的低密度或因金属原子被取代而使原子间的键合距离产生变化等而能够包容畸变。
[1215]
此外,确认到明确的晶界的结晶结构被称为所谓的多晶(polycrystal)。晶界成为复合中心而载流子被俘获,因而有可能导致晶体管的通态电流的降低、场效应迁移率的降低等。因此,确认不到明确的晶界的caac-os是具有适合用于晶体管的半导体层的结晶结构的结晶性氧化物之一。注意,为了构成caac-os,优选为包含zn的结构。例如,与in氧化物相比,in-zn氧化物及in-ga-zn氧化物能够进一步地抑制晶界的发生,所以是优选的。
[1216]
caac-os是结晶性高且确认不到明确的晶界的氧化物半导体。因此,可以说在caac-os中,不容易发生起因于晶界的电子迁移率的降低。此外,氧化物半导体的结晶性有时因杂质的混入及缺陷的生成等而降低,因此可以说caac-os是杂质或缺陷(氧空位等)少的氧化物半导体。因此,包含caac-os的氧化物半导体的物理性质稳定。因此,包含caac-os的氧化物半导体具有高耐热性且可靠性良好。此外,caac-os对制造工序中的高温度(所谓热积存;thermal budget)也很稳定。由此,通过在os晶体管中使用caac-os,可以扩大制造工序的自由度。
[1217]
[nc-os]在nc-os中,微小的区域(例如1nm以上且10nm以下的区域,特别是1nm以上且3nm以下的区域)中的原子排列具有周期性。换言之,nc-os具有微小的结晶。此外,例如,该微小的结晶的尺寸为1nm以上且10nm以下,尤其为1nm以上且3nm以下,将该微小的结晶称为纳米晶。此外,nc-os在不同的纳米晶之间观察不到结晶取向的规律性。因此,在膜整体中观察不到取向性。所以,有时nc-os在某些分析方法中与a-likeos及非晶氧化物半导体没有差别。例如,在对nc-os膜使用xrd装置进行结构分析时,在使用θ/2θ扫描的out-of-plane xrd测量中,不检测出表示结晶性的峰值。此外,在对nc-os膜进行使用其束径比纳米晶大(例如,
50nm以上)的电子束的电子衍射(也称为选区电子衍射)时,观察到类似光晕图案的衍射图案。另一方面,在对nc-os膜进行使用其束径近于或小于纳米晶的尺寸(例如1nm以上且30nm以下)的电子束的电子衍射(也称为纳米束电子衍射)的情况下,有时得到在以直接斑点为中心的环状区域内观察到多个斑点的电子衍射图案。
[1218]
[a-like os]a-like os是具有介于nc-os与非晶氧化物半导体之间的结构的氧化物半导体。a-like os包含空洞或低密度区域。也就是说,a-like os的结晶性比nc-os及caac-os的结晶性低。此外,a-like os的膜中的氢浓度比nc-os及caac-os的膜中的氢浓度高。
[1219]
[氧化物半导体的结构]接着,说明上述的cac-os的详细内容。此外,说明cac-os与材料构成有关。
[1220]
[cac-os]cac-os例如是指包含在金属氧化物中的元素不均匀地分布的构成,其中包含不均匀地分布的元素的材料的尺寸为0.5nm以上且10nm以下,优选为1nm以上且3nm以下或近似的尺寸。注意,在下面也将在金属氧化物中一个或多个金属元素不均匀地分布且包含该金属元素的区域混合的状态称为马赛克状或补丁(patch)状,该区域的尺寸为0.5nm以上且10nm以下,优选为1nm以上且3nm以下或近似的尺寸。
[1221]
再者,cac-os是指其材料分开为第一区域与第二区域而成为马赛克状且该第一区域分布于膜中的结构(下面也称为云状)。就是说,cac-os是指具有该第一区域和该第二区域混合的结构的复合金属氧化物。
[1222]
在此,将相对于构成in-ga-zn氧化物的cac-os的金属元素的in、ga及zn的原子个数比的每一个记为[in]、[ga]及[zn]。例如,在in-ga-zn氧化物的cac-os中,第一区域是其[in]大于cac-os膜的组成中的[in]的区域。此外,第二区域是其[ga]大于cac-os膜的组成中的[ga]的区域。此外,例如,第一区域是其[in]大于第二区域中的[in]且其[ga]小于第二区域中的[ga]的区域。此外,第二区域是其[ga]大于第一区域中的[ga]且其[in]小于第一区域中的[in]的区域。
[1223]
具体而言,上述第一区域是以铟氧化物或铟锌氧化物等为主要成分的区域。此外,上述第二区域是以镓氧化物或镓锌氧化物等为主要成分的区域。换言之,可以将上述第一区域称为以in为主要成分的区域。此外,可以将上述第二区域称为以ga为主要成分的区域。
[1224]
注意,有时观察不到上述第一区域和上述第二区域的明确的边界。
[1225]
例如,在in-ga-zn氧化物的cac-os中,根据通过能量分散型x射线分析法(edx:energy dispersive x-ray spectroscopy)取得的edx面分析(mapping)图像,可确认到具有以in为主要成分的区域(第一区域)及以ga为主要成分的区域(第二区域)不均匀地分布而混合的结构。
[1226]
在将cac-os用于晶体管的情况下,通过起因于第一区域的导电性和起因于第二区域的绝缘性的互补作用,可以使cac-os具有开关功能(控制导通/关闭的功能)。换言之,在cac-os的材料的一部分中具有导电性的功能且在另一部分中具有绝缘性的功能,在材料的整体中具有半导体的功能。通过使导电性的功能和绝缘性的功能分离,可以最大限度地提高各功能。因此,通过将cac-os用于晶体管,可以实现大通态电流(i
on
)、高场效应迁移率(μ)及良好的开关工作。
[1227]
氧化物半导体具有各种结构及各种特性。本发明的一个方式的氧化物半导体也可以包括非晶氧化物半导体、多晶氧化物半导体、a-likeos、cac-os、nc-os、caac-os中的两种以上。
[1228]
《包括氧化物半导体的晶体管》在此,说明将上述氧化物半导体用于晶体管的情况。
[1229]
通过将上述氧化物半导体用于晶体管,可以实现场效应迁移率高的晶体管。此外,可以实现可靠性高的晶体管。
[1230]
此外,优选将载流子浓度低的氧化物半导体用于晶体管。例如,氧化物半导体中的载流子浓度优选为1
×
10
17
cm-3
以下,更优选为1
×
10
15
cm-3
以下,进一步优选为1
×
10
13
cm-3
以下,更进一步优选为1
×
10
11
cm-3
以下,还进一步优选低于1
×
10
10
cm-3
,且为1
×
10-9
cm-3
以上。在以降低氧化物半导体膜的载流子浓度为目的的情况下,可以降低氧化物半导体膜中的杂质浓度以降低缺陷态密度。在本说明书等中,将杂质浓度低且缺陷态密度低的状态称为“高纯度本征”或“实质上高纯度本征”。此外,有时将载流子浓度低的氧化物半导体称为“高纯度本征”或“实质上高纯度本征”的氧化物半导体。
[1231]
因为高纯度本征或实质上高纯度本征的氧化物半导体膜具有较低的缺陷态密度,所以有可能具有较低的陷阱态密度。
[1232]
此外,被氧化物半导体的陷阱态俘获的电荷到消失需要较长的时间,有时像固定电荷那样动作。因此,有时在陷阱态密度高的氧化物半导体中形成沟道形成区域的晶体管的电特性不稳定。
[1233]
因此,为了使晶体管的电特性稳定,降低氧化物半导体中的杂质浓度是有效的。为了降低氧化物半导体中的杂质浓度,优选还降低附近膜中的杂质浓度。作为杂质有氢、氮、碱金属、碱土金属、铁、镍、硅等。
[1234]
[杂质]在此,说明氧化物半导体中的各杂质的影响。
[1235]
在氧化物半导体包含第14族元素之一的硅或碳时,在氧化物半导体中形成缺陷态。因此,将氧化物半导体中的硅或碳的浓度、氧化物半导体的与沟道形成区域的界面附近的硅或碳的浓度(通过二次离子质谱分析法(sims:secondary ion mass spectrometry)测得的浓度)设定为2
×
10
18
atoms/cm3以下,优选为2
×
10
17
atoms/cm3以下。
[1236]
此外,当氧化物半导体包含碱金属或碱土金属时,有时形成缺陷态而形成载流子。因此,使用包含碱金属或碱土金属的氧化物半导体的晶体管容易具有常开启特性。由此,将利用sims分析测得的氧化物半导体的沟道形成区域中的碱金属或碱土金属的浓度设定为1
×
10
18
atoms/cm3以下,优选为2
×
10
16
atoms/cm3以下。
[1237]
当氧化物半导体包含氮时,容易产生作为载流子的电子,使载流子浓度增高,而被n型化。其结果,将含有氮的氧化物半导体用于半导体的晶体管容易具有常开启型特性。或者,在氧化物半导体包含氮时,有时形成陷阱态。其结果,有时晶体管的电特性不稳定。因此,将利用sims测得的氧化物半导体中的氮浓度设定为低于5
×
10
19
atoms/cm3,优选为5
×
10
18
atoms/cm3以下,更优选为1
×
10
18
atoms/cm3以下,进一步优选为5
×
10
17
atoms/cm3以下。
[1238]
包含在氧化物半导体中的氢与键合于金属原子的氧起反应生成水,因此有时形成
氧空位。当氢进入该氧空位时,有时生成作为载流子的电子。此外,有时由于氢的一部分与键合于金属原子的氧键合,产生作为载流子的电子。因此,具有含有氢的氧化物半导体的晶体管容易具有常开启特性。由此,优选尽可能减少氧化物半导体中的氢。具体而言,在氧化物半导体中,将利用sims测得的氢浓度设定为低于1
×
10
20
atoms/cm3,更优选低于1
×
10
19
atoms/cm3,进一步优选低于5
×
10
18
atoms/cm3,还进一步优选低于1
×
10
18
atoms/cm3。
[1239]
通过将杂质被充分降低的氧化物半导体用于晶体管的沟道形成区域,可以使晶体管具有稳定的电特性。
[1240]
本实施方式可以与本说明书所示的其他实施方式适当地组合。
[1241]
(实施方式7)本实施方式示出形成有上述实施方式所示的半导体装置等的半导体晶片及组装有该半导体装置的电子构件的一个例子。
[1242]
《半导体晶片》首先,使用图83a说明形成有半导体装置等的半导体晶片的例子。
[1243]
图83a所示的半导体晶片4800包括晶片4801及设置在晶片4801的顶面的多个电路部4802。在晶片4801的顶面上没设置有电路部4802的部分相当于空隙4803,其为用于切割的区域。
[1244]
半导体晶片4800可以通过在前工序中在晶片4801的表面上形成多个电路部4802来制造。此外,也可以之后对晶片4801的形成有多个电路部4802的面的背面进行抛光来减薄晶片4801。通过上述工序,可以减少晶片4801翘曲等而实现构件的小型化。
[1245]
下面进行切割工序。沿点划线所示的划分线scl1及划分线scl2(有时称为切割线或截断线)进行切割。为了容易进行切割工序,优选以多个划分线scl1平行,多个划分线scl2平行,且划分线scl1与划分线scl2垂直的方式设置空隙4803。
[1246]
通过进行切割工序,可以从半导体晶片4800切割出图83b所示的芯片4800a。芯片4800a包括晶片4801a、电路部4802以及空隙4803a。此外,空隙4803a优选尽可能小。在此情况下,相邻的电路部4802之间的空隙4803的宽度只要与划分线scl1的划分用部及划分线scl2的划分用部大致相等即可。
[1247]
此外,本发明的一个实施方式的元件衬底的形状不局限于图83a所示的半导体晶片4800的形状。例如,可以为矩形形状的半导体晶片。可以根据元件的制造工序及制造用设备适当地改变元件衬底的形状。
[1248]
《电子构件》图83c示出电子构件4700及安装有电子构件4700的衬底(安装衬底4704)的立体图。图83c所示的电子构件4700在模子4711中包括芯片4800a。如图83c所示,芯片4800a可以具有其中层叠有电路部4802的结构。在图83c中,省略电子构件4700的一部分以表示其内部。电子构件4700在模子4711的外侧包括连接盘(land)4712。连接盘4712与电极焊盘4713电连接,电极焊盘4713通过引线4714与芯片4800a电连接。电子构件4700例如安装于印刷电路板4702。通过组合多个该电子构件并使其分别在印刷电路板4702上电连接,由此完成安装衬底4704。
[1249]
图83d示出电子构件4730的立体图。电子构件4730是sip(system in package:系统封装)或mcm(multi chip module:多芯片封装)的一个例子。在电子构件4730中,封装衬
底4732(印刷电路板)上设置有插板(interposer)4731,插板4731上设置有半导体装置4735及多个半导体装置4710。
[1250]
电子构件4730包括半导体装置4710。半导体装置4710例如可以使用在上述实施方式中说明的半导体装置、高宽带存储器(hbm:high bandwidth memory)等。此外,半导体装置4735可以使用cpu、gpu、fpga、存储装置等集成电路(半导体装置)。
[1251]
封装衬底4732可以使用陶瓷衬底、塑料衬底或玻璃环氧衬底等。插板4731可以使用硅插板、树脂插板等。
[1252]
插板4731具有多个布线且具有与端子间距不同的多个集成电路电连接的功能。多个布线由单层或多层构成。此外,插板4731具有将设置于插板4731上的集成电路与设置于封装衬底4732上的电极电连接的功能。因此,有时也将插板称为“重布线衬底(rewiring substrate)”或“中间衬底”。此外,有时通过在插板4731中设置贯通电极,通过该贯通电极使集成电路与封装衬底4732电连接。此外,在使用硅插板的情况下,也可以使用tsv(through silicon via:硅通孔)作为贯通电极。
[1253]
作为插板4731优选使用硅插板。由于硅插板不需要设置有源元件,所以可以以比集成电路更低的成本制造。硅插板的布线形成可以在半导体工序中进行,因此很容易形成在使用树脂插板时很难形成的微细布线。
[1254]
在hbm中,为了实现宽存储器带宽需要连接许多布线。为此,要求安装hbm的插板上能够高密度地形成微细的布线。因此,作为安装hbm的插板优选使用硅插板。
[1255]
此外,在使用硅插板的sip、mcm等中,不容易发生因集成电路与插板间的膨胀系数的不同而导致的可靠性下降。此外,由于硅插板的表面平坦性高,所以设置在硅插板上的集成电路与硅插板间不容易产生连接不良。尤其优选将硅插板用于2.5d封装(2.5d安装),其中多个集成电路横着排放并配置于插板上。
[1256]
此外,也可以与电子构件4730重叠地设置散热器(散热板)。在设置散热器的情况下,优选设置于插板4731上的集成电路的高度一致。例如,在本实施方式所示的电子构件4730中,优选使半导体装置4710与半导体装置4735的高度一致。
[1257]
为了将电子构件4730安装在其他的衬底上,可以在封装衬底4732的底部设置电极4733。图83d示出用焊球形成电极4733的例子。通过在封装衬底4732的底部以矩阵状设置焊球,可以实现bga(ball grid array:球栅阵列)安装。此外,电极4733也可以使用导电针形成。通过在封装衬底4732的底部以矩阵状设置导电针,可以实现pga(pin grid array:针栅阵列)安装。
[1258]
电子构件4730可以通过各种安装方式安装在其他衬底上,而不局限于bga及pga。例如,可以采用spga(staggered pin grid array:交错针栅阵列)、lga(land grid array:地栅阵列)、qfp(quad flat package:四侧引脚扁平封装)、qfj(quad flat j-leaded package:四侧j形引脚扁平封装)或qfn(quad flat non-leaded package:四侧无引脚扁平封装)等安装方法。
[1259]
本实施方式可以与本说明书所示的其他实施方式适当地组合。
[1260]
(实施方式8)在本实施方式中,说明包括上述实施方式所说明的半导体装置的电子设备的一个例子。图84示出具有该半导体装置的电子构件4700包括在各电子设备中的情况。
[1261]
[移动电话机]图84所示的信息终端5500是信息终端之一的移动电话机(智能手机)。信息终端5500包括外壳5510及显示部5511,作为输入接口在显示部5511中具备触摸面板,并且在外壳5510上设置有按钮。
[1262]
通过将上述实施方式所说明的半导体装置应用于信息终端5500,可以执行利用人工智能的应用程序。作为利用人工智能的应用程序,例如,可以举出识别会话来将该会话的内容显示在显示部5511上的应用程序、识别由使用者输入到显示部5511所具备的触摸面板的文字、图形等来将该文字、该图形等显示在显示部5511上的应用程序、执行指纹或声纹等的生物识别的应用程序等。另外,例如,在使用信息终端5500所包括的摄像装置(未图示)取得图像时,通过使用上述实施方式中说明的半导体装置,可以对该图像进行卷积处理。也就是说,可以对该图像进行特征提取。
[1263]
[可穿戴终端]此外,图84示出可穿戴终端的一个例子的手表型信息终端5900。手表型信息终端5900包括外壳5901、显示部5902、操作按钮5903、表把5904、表带5905等。
[1264]
与上述信息终端5500同样,通过将上述实施方式所说明的半导体装置应用于可穿戴终端,可以执行利用人工智能的程序。作为利用人工智能的程序,例如可以举出管理戴上可穿戴终端的人的健康状态的程序、通过输入目的地选择适当的路径而带路的导航系统等。
[1265]
[信息终端]图84示出台式信息终端5300。台式信息终端5300包括信息终端主体5301、显示器5302及键盘5303。
[1266]
与上述信息终端5500同样,通过将上述实施方式所说明的半导体装置应用于台式信息终端5300,可以执行利用人工智能的应用程序。作为利用人工智能的应用程序,例如,可以举出设计支援软件、文章校对软件、菜单自动生成软件等。此外,通过使用台式信息终端5300,可以研发新颖的人工智能。另外,例如,在使用信息终端5500所包括的摄像装置(未图示)取得图像时,通过使用上述实施方式中说明的半导体装置,可以对该图像进行卷积处理。也就是说,可以对该图像进行特征提取。
[1267]
注意,在上述例子中,图84示出智能手机、台式信息终端、可穿戴终端作为电子设备的例子,但是也可以应用智能手机、台式信息终端、可穿戴终端以外的信息终端。作为智能手机、台式信息终端、可穿戴终端以外的信息终端,例如可以举出pda(personal digital assistant:个人数码助理)、笔记本式信息终端、工作站等。
[1268]
[电器产品]此外,图84示出电器产品的一个例子的电冷藏冷冻箱5800。电冷藏冷冻箱5800包括外壳5801、冷藏室门5802及冷冻室门5803等。
[1269]
通过将上述实施方式所说明的半导体装置应用于电冷藏冷冻箱5800,可以实现具备人工智能的电冷藏冷冻箱5800。通过利用人工智能,可以使电冷藏冷冻箱5800具有基于储存在电冷藏冷冻箱5800中的食品或该食品的消费期限等自动生成菜单的功能、根据所储存的食品自动调整电冷藏冷冻箱5800的温度的功能。
[1270]
在上述例子中,作为电器产品说明电冷藏冷冻箱,但是作为其他电器产品,例如可
以举出吸尘器、微波炉、电烤箱、电饭煲、热水器、ih(感应加热)炊具、饮水机、包括空气调节器的冷暖空調机、洗衣机、干衣机、视听设备等。
[1271]
[游戏机]此外,图84示出游戏机的一个例子的便携式游戏机5200。便携式游戏机5200包括外壳5201、显示部5202、按钮5203等。
[1272]
此外,图84示出游戏机的一个例子的固定式游戏机7500。固定式游戏机7500包括主体7520及控制器7522。主体7520可以以无线方式或有线方式与控制器7522连接。此外,虽然在图84中未图示,但是控制器7522可以包括显示游戏的图像的显示部、作为按钮以外的输入接口的触摸面板及控制杆、旋转式抓手、滑动式抓手等。此外,控制器7522不局限于图84所示的形状,也可以根据游戏的种类改变控制器7522的形状。例如,在fps(first person shooter,第一人称射击类游戏)等射击游戏中,作为扳机使用按钮,可以使用模仿枪的形状的控制器。此外,例如,在音乐游戏等中,可以使用模仿乐器、音乐器件等的形状的控制器。再者,固定式游戏机也可以设置照相机、深度传感器、麦克风等,由游戏玩者的手势及/或声音等操作以代替使用控制器的操作。
[1273]
此外,上述游戏机的影像可以由电视装置、个人计算机用显示器、游戏用显示器、头戴显示器等显示装置输出。
[1274]
通过将上述实施方式所说明的半导体装置用于便携式游戏机5200,可以实现低功耗的便携式游戏机5200。此外,借助于低功耗,可以降低来自电路的发热,由此可以减少因发热而给电路本身、外围电路以及模块带来的负面影响。
[1275]
并且,通过将上述实施方式所说明的半导体装置用于便携式游戏机5200,可以实现具有人工智能的便携式游戏机5200。
[1276]
游戏的进展、游戏中出现的生物的言行、游戏上发生的现象等的表现本来是由该游戏所具有的程序规定的,但是通过将人工智能应用于便携式游戏机5200,可以实现不局限于游戏的程序的表现。例如,可以实现游戏玩者提问的内容、游戏的进展情况、时间、游戏上出现的人物的言行变化等的表现。
[1277]
此外,当使用便携式游戏机5200玩需要多个人玩的游戏时,可以利用人工智能构成拟人的游戏玩者,由此可以将人工智能的游戏玩者当作对手,一个人也可以玩多个人玩的游戏。
[1278]
在图84中,作为游戏机的例子示出便携式游戏机,但是本发明的一个方式的电子设备不局限于此。作为应用本发明的一个方式的电子设备,例如可以举出家用固定式游戏机、设置在娱乐设施(游戏中心,游乐园等)的街机游戏机、设置在体育设施的击球练习用投球机等。
[1279]
[移动体]上述实施方式所说明的半导体装置可以应用于作为移动体的汽车及汽车的驾驶座位附近。
[1280]
图84示出作为移动体的一个例子的汽车5700。
[1281]
汽车5700的驾驶座位附近设置有能够表示速度表、转速计、行驶距离、加油量、排档状态、空调的设定等的仪表板。此外,驾驶座位附近也可以设置有表示上述信息的显示装置。
[1282]
尤其是,通过将由设置在汽车5700上的摄像装置(未图示)拍摄的影像显示在上述显示装置上,可以补充被支柱等遮挡的视野、驾驶座位的死角等,从而可以提高安全性。也就是说,通过显示由设置在汽车5700外侧的摄像装置拍摄的影像,可以补充死角,从而可以提高安全性。
[1283]
上述实施方式所说明的半导体装置可以应用于人工智能的构成要素,所以例如可以将该半导体装置应用于汽车5700的自动驾驶系统。此外,可以将该半导体装置应用于进行导航、危险预测等的系统。该显示装置可以表示导航、危险预测等的信息。
[1284]
虽然在上述例子中作为移动体的一个例子说明汽车,但是移动体不局限于汽车。例如,作为移动体,也可以举出电车、单轨铁路、船舶、飞行物(直升机、无人驾驶飞机(无人机)、飞机、火箭)等,可以对这些移动体应用本发明的一个方式的半导体装置,以提供利用人工智能的系统。
[1285]
[照相机]上述实施方式所说明的半导体装置可以应用于照相机。
[1286]
图84示出摄像装置的一个例子的数码相机6240。数码相机6240包括外壳6241、显示部6242、操作按钮6243、快门按钮6244等,并且安装有可装卸的镜头6246。在此,数码相机6240采用能够从外壳6241拆卸下镜头6246的结构,但是镜头6246及外壳6241也可以被形成为一体。此外,数码相机6240还可以具备另外安装的闪光灯装置及取景器等。
[1287]
通过将上述实施方式所说明的半导体装置用于数码相机6240,可以实现低功耗的数码相机6240。此外,借助于低功耗,可以降低来自电路的发热,由此可以减少因发热而给电路本身、外围电路以及模块带来的负面影响。
[1288]
通过将上述实施方式所说明的半导体装置用于数码相机6240,可以实现具有人工智能的数码相机6240。通过利用人工智能,数码相机6240可以具有如下功能:自动识别脸、物体等拍摄对象的功能;根据拍摄对象调节焦点、根据环境自动使用快闪的功能;对所拍摄的图像进行调色的功能;等。另外,例如,在使用数码相机6240取得图像时,通过使用上述实施方式中说明的半导体装置,可以对该图像进行卷积处理。也就是说,可以对该图像进行特征提取。
[1289]
[视频摄像机]上述实施方式所说明的半导体装置可以应用于视频摄像机。
[1290]
图84示出摄像装置的一个例子的视频摄像机6300。视频摄像机6300包括第一外壳6301、第二外壳6302、显示部6303、操作键6304、镜头6305、连接部6306等。操作键6304及镜头6305设置在第一外壳6301上,显示部6303设置在第二外壳6302上。第一外壳6301与第二外壳6302由连接部6306连接,第一外壳6301与第二外壳6302间的角度可以由连接部6306改变。显示部6303的图像也可以根据连接部6306中的第一外壳6301与第二外壳6302间的角度切换。
[1291]
当记录由视频摄像机6300拍摄的图像时,需要进行根据数据记录方式的编码。通过利用人工智能,视频摄像机6300可以在进行编码时进行利用人工智能的类型识别。通过该类型识别,可以算出包括在连续的摄像图像数据中的人、动物、物体等差异数据而进行数据压缩。另外,例如也可以使用上述实施方式中说明的半导体装置对摄像图像数据进行卷积处理。
[1292]
[pc用扩展装置]上述实施方式所说明的半导体装置可以应用于pc(personal computer;个人计算机)等计算机、信息终端用扩展装置。
[1293]
图85a示出该扩展装置的一个例子的可以携带且安装有能够进行运算处理的芯片的设置在pc的外部的扩展装置6100。扩展装置6100例如通过由usb(universal serial bus;通用串行总线)等连接于pc,可以进行使用该芯片的运算处理。注意,虽然图85a示出可携带的扩展装置6100,但是根据本发明的一个方式的扩展装置不局限于此,例如也可以采用安装冷却风机等的较大结构的扩展装置。
[1294]
扩展装置6100包括外壳6101、盖子6102、usb连接器6103及衬底6104。衬底6104被容纳在外壳6101中。衬底6104设置有驱动上述实施方式所说明的半导体装置等的电路。例如,衬底6104安装有芯片6105(例如,上述实施方式所半导体装置、电子构件4700、存储器芯片等)、控制器芯片6106。usb连接器6103被用作连接于外部装置的接口。
[1295]
通过将扩展装置6100应用于pc等,可以提高该pc的运算处理能力。由此,例如没有充分的处理能力的pc也可以进行人工智能、动态图像处理等运算。
[1296]
[广播电视系统]上述实施方式所说明的半导体装置可以应用于广播电视系统。
[1297]
图85b示意性地示出广播电视系统中的数据传送。具体而言,图85b示出从广播电视台5680发送的电波(广播电视信号)到达每个家庭的电视接收机(tv)5600的路径。tv5600具备接收机(未图示),由此天线5650所接收的广播电视信号通过该接收机输入tv5600。
[1298]
虽然在图85b中示出超高频率(uhf,ultra high frequency)天线作为天线5650,但是可以使用bs及110度cs天线、cs天线等作为天线5650。
[1299]
电波5675a及电波5675b为地面广播电视信号,电波塔5670放大所接收的电波5675a并发送电波5675b。各家庭通过用天线5650接收电波5675b,就可以用tv5600收看地面tv播放。此外,广播电视系统可以为利用人造卫星的卫星广播电视、利用光路线的数据广播电视等而不局限于图85b所示的地面广播电视。
[1300]
上述广播电视系统可以使用上述实施方式中所说明的半导体装置而利用人工智能。当从广播电视台5680向每个家庭的tv5600发送广播电视数据时,利用编码器进行广播电视数据的压缩;当天线5650接收该广播电视数据时,利用包括在tv5600中的接收机的解码器进行该广播电视数据的恢复。通过利用人工智能,例如可以在编码器的压缩方法之一的变动补偿预测中识别包含在显示图像中的显示模型。此外,也可以进行利用人工智能的帧内预测等。例如,当tv5600接收低分辨率的广播电视数据而进行高分辨率的显示时,可以在解码器所进行的广播电视数据的恢复中进行上转换等图像的补充处理。
[1301]
上述利用人工智能的广播电视系统适合用于广播电视数据量增大的超高清晰度电视(uhdtv:4k、8k)播放。
[1302]
此外,作为tv5600一侧的人工智能的应用,例如,可以在tv5600内设置具备人工智能的录像装置。通过采用这种结构,可以使该具备人工智能的录像装置学习使用者的爱好,而可以自动对符合使用者的爱好的电视节目录像。
[1303]
[识别系统]上述实施方式所说明的半导体装置可以应用于识别系统。
[1304]
图85c示出掌纹识别装置,包括外壳6431、显示部6432、掌纹读取部6433以及布线6434。
[1305]
图85c示出掌纹识别装置取得手6435的掌纹的情况。对所取得的掌纹进行利用人工智能的类型识别的处理,可以判断该掌纹是不是个人的掌纹。由此,可以构成进行安全性高的识别的系统。此外,本发明的一个实施方式的识别系统不局限于掌纹识别装置,而也可以是取得指纹、静脉、脸、虹膜、声纹、基因或体格等生物信息以进行生物识别的装置。
[1306]
本实施方式可以与本说明书所示的其他实施方式适当地组合。[符号说明]
[1307]
ild:电路、wld:电路、xld:电路、afp:电路、actf:电路、mp:电路、mc:电路、mcr:电路、m1:晶体管、m1-2b:晶体管、m1-2br:晶体管、m1-3b:晶体管、m1-3br:晶体管、m1c:晶体管、m1cr:晶体管、m1p:晶体管、m1pr:晶体管、m1r:晶体管、m1s:晶体管、m1sr:晶体管、m1x:晶体管、m1xr:晶体管、m1x-2b:晶体管、m1x-2br:晶体管、m1x-3b:晶体管、m1x-3br:晶体管、m1-2x:晶体管、m1-2xr:晶体管、m1-3x:晶体管、m1-3xr:晶体管、m1-2x-2b:晶体管、m1-2x-2br:晶体管、m1-3x-2b:晶体管、m1-3x-2br:晶体管、m1-2x-3b:晶体管、m1-2x-3br:晶体管、m1-3x-3b:晶体管、m1-3x-3br:晶体管、m2:晶体管、m2r:晶体管、m2s:晶体管、m2sr:晶体管、m2-2b:晶体管、m2-2br:晶体管、m2-3b:晶体管、m2-3br:晶体管、m3:晶体管、m3p:晶体管、m3pr:晶体管、m3r:晶体管、m3s:晶体管、m3sr:晶体管、m3x:晶体管、m3-2b:晶体管、m3-2br:晶体管、m3-2x:晶体管、m3-2xr:晶体管、m3-3b:晶体管、m3-3br:晶体管、m3-3x:晶体管、m3-3xr:晶体管、m4:晶体管、m4p:晶体管、m4pr:晶体管、m4r:晶体管、m4s:晶体管、m4sr:晶体管、m4-2b:晶体管、m4-2br:晶体管、m4-2x:晶体管、m4-2xr:晶体管、m4-3b:晶体管、m4-3br:晶体管、m4-3x:晶体管、m4-3xr:晶体管、m5:晶体管、m5r:晶体管、m6:晶体管、m6r:晶体管、m6s:晶体管、m6sr:晶体管、m7:晶体管、m7r:晶体管、m7s:晶体管、m7sr:晶体管、m8:晶体管、m8r:晶体管、m9:晶体管、m9r:晶体管、m10:晶体管、m10r:晶体管、m11:晶体管、m12:晶体管、m12r:晶体管、m13:晶体管、m13r:晶体管、m20:晶体管、m20r:晶体管、mz:晶体管、cc:电容、ce:电容、ceb:电容、c1:电容、c1r:电容、c1s:电容、c1sr:电容、c2:电容、c2r:电容、c3:电容、c3r:电容、c4:电容、n1:节点、n1r:节点、n2:节点、n2r:节点、n3:节点、n3r:节点、n4:节点、n4r:节点、ina:节点、inb:节点、outa:节点、outb:节点、s01a:开关、s01b:开关、s02a:开关、s02b:开关、s03:开关、swi:开关、swib:开关、swo:开关、swob:开关、swl:开关、swlb:开关、swh:开关、swhb:开关、swc1:开关、swc2:开关、swc3:开关、as3:模拟开关、as3r:模拟开关、as4:模拟开关、as4r:模拟开关、tw[1]:切换电路、tw[j]:切换电路、tw[n]:切换电路、hc:电路、hcr:电路、hcs:电路、hcsr:电路、hc-2b:电路、hc-2br:电路、hc-3b:电路、hc-3br:电路、iv1:反相器电路、iv1r:反相器电路、iv2:反相器电路、iv2r:反相器电路、inv3:反相器电路、ivr:反相器环形电路、ivrr:反相器环形电路、isc:电流源电路、isc1:恒流源电路、isc2:恒流源电路、isc3:恒流源电路、hcs:电路、hcs-2b:电路、hcs-3b:电路、hcsr:电路、hcs-2br:电路、hcs-3br:电路、trf:转换电路、adca:模拟数字转换电路、adcb:模拟数字转换电路、bs:电路、bsr:电路、bmc:电路、bmcr:电路、lc:负载电路、lcr:负载电路、tsa:端子、tsab:端子、tsb:端子、tsb1:端子、tsb2:端子、tsb3:端子、tsbb:端子、tsbb1:端子、tsbb2:端子、tsbb3:端子、tsc:端子、tscb:端子、vint:端子、voutt:端子、vreft:端子、il:布线、il[1]:布线、il[j]:布线、il[n]:布线、ilb:布线、ilb[1]:布线、ilb[j]:布线、ilb[n]:布线、
ol:布线、ol[1]:布线、ol[j]:布线、ol[n]:布线、olb:布线、olb[1]:布线、olb[j]:布线、olb[n]:布线、wls[1]:布线、wls[i]:布线、wls[m]:布线、xl:布线、xls[1]:布线、xls[i]:布线、xls[m]:布线、wlbs:布线、wxbs:布线、val:布线、va:布线、var:布线、vb:布线、vso:布线、vcn:布线、vcn2:布线、ve:布线、ver:布线、vem:布线、vemr:布线、vf:布线、vfr:布线、vrefl:布线、vl:布线、vlr:布线、vls:布线、vlsr:布线、vlm:布线、veh:布线、s1l:布线、s2l:布线、vref1l:布线、vref2l:布线、wl:布线、w1l:布线、w2l:布线、wl2b:布线、wl3b:布线、wxl:布线、wx1l:布线、wx1l2b:布线、wx1l3b:布线、wx1lb:布线、x1:布线、x1l:布线、x1l2b:布线、x1l2x:布线、x1l3b:布线、x1l3x:布线、x2l:布线、x2l2b:布线、x2l2x:布线、x2l3b:布线、x2l3x:布线、x2lb:布线、cvl:布线、scl1:划分线、scl2:划分线、100:神经网络、110:运算电路、120:运算电路、130:运算电路、140:运算电路、150:运算电路、160:运算电路、170:运算电路、300:晶体管、310:衬底、310a:衬底、312:元件分离层、313:半导体区域、314a:低电阻区域、314b:低电阻区域、315:绝缘体、316:导电体、320:绝缘体、322:绝缘体、324:绝缘体、326:绝缘体、328:导电体、330:导电体、350:绝缘体、352:绝缘体、354:绝缘体、356:导电体、360:绝缘体、362:绝缘体、364:绝缘体、366:导电体、411:绝缘体、412:绝缘体、413:绝缘体、414:绝缘体、416:导电体、500:晶体管、503:导电体、503a:导电体、503b:导电体、510:绝缘体、512:绝缘体、514:绝缘体、516:绝缘体、518:导电体、522:绝缘体、524:绝缘体、530:氧化物、530a:氧化物、530b:氧化物、530ba:区域、530bb:区域、530bc:区域、540a:导电体、540b:导电体、541a:绝缘体、541b:绝缘体、542a:导电体、542b:导电体、543a:氧化物、543b:氧化物、544:绝缘体、546:导电体、550:绝缘体、550a:绝缘体、550b:绝缘体、552:绝缘体、554:绝缘体、560:导电体、560a:导电体、560b:导电体、571a:绝缘体、571b:绝缘体、574:绝缘体、576:绝缘体、580:绝缘体、581:绝缘体、582:绝缘体、586:绝缘体、600:电容器、610:导电体、612:导电体、620:导电体、630:绝缘体、640:绝缘体、650:绝缘体、660:导电体、4700:电子构件、4702:印刷电路板、4704:安装衬底、4710:半导体装置、4711:模子、4712:连接盘、4713:电极焊盘、4714:引线、4730:电子构件、4731:插板、4732:封装衬底、4733:电极、4735:半导体装置、4800:半导体晶片、4800a:芯片、4801:晶片、4801a:晶片、4802:电路部、4803:空隙、4803a:空隙、5200:便携式游戏机、5201:外壳、5202:显示部、5203:按钮、5300:台式信息终端、5301:主体、5302:显示器、5303:键盘、5500:信息终端、5510:外壳、5511:显示部、5600:tv、5650:天线、5670:电波塔、5675a:电波、5675b:电波、5680:广播电视台、5700:汽车、5800:电冷藏冷冻箱、5801:外壳、5802:冷藏室门、5803:冷冻室门、5900:信息终端、5901:外壳、5902:显示部、5903:操作按钮、5904:表把、5905:表带、6100:扩展装置、6101:外壳、6102:盖子、6103:usb连接器、6104:衬底、6105:芯片、6106:控制器芯片、6240:数码相机、6241:外壳、6242:显示部、6243:操作按钮、6244:快门按钮、6246:镜头、6300:视频摄像机、6301:第一外壳、6302:第二外壳、6303:显示部、6304:操作键、6305:镜头、6306:连接部、6431:外壳、6432:显示部、6433:掌纹读取部、6434:布线、6435:手、7500:固定式游戏机、7520:主体、7522:控制器。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1