1.本发明的一个方式涉及一种半导体装置及电子设备。
2.本发明的一个方式不限定于上述技术领域。本说明书等所公开的发明的技术领域涉及一种物体、方法或制造方法。另外,本发明的一个方式涉及一种工序(process)、机器(machine)、产品(manufacture)或者组合物(composition of matter)。因此,具体而言,作为本说明书所公开的本发明的一个方式的技术领域的例子可以举出半导体装置、显示装置、液晶显示装置、发光装置、蓄电装置、摄像装置、存储装置、信号处理装置、处理器、电子设备、系统、它们的驱动方法、它们的制造方法或它们的检查方法。
背景技术:3.现在,以人间的脑子结构为模型的集成电路的开发日益火热。该集成电路组装有作为脑子结构的电子电路且包括相当于人间脑子的“神经元”及“神经突触”的电路。因此,有时将上述集成电路称为“神经形性(neuro
‑
morphic)”、“脑子形性(brain
‑
morphic)”或“脑子激发(brain
‑
inspire)”。该集成电路具有非诺依曼型体系结构,与随着处理速度的增加功耗也变高的诺依曼型体系结构相比,可以期待以极低功耗进行并列处理。
4.包括“神经元”及“神经突触”的模仿神经电路网的数据处理模型被称为人工神经网络(ann)。例如,非专利文献1及非专利文献2公开了使用sram(static random access memory;静态随机存取存储器)构成人工神经网络的运算装置。[先行技术文献][非专利文献]
[0005]
[非专利文献1]m.kang et al.,“ieee journal of solid
‑
state circuits”,2018,volume 53,no.2,p.642
‑
655.[非专利文献2]j.zhang et al.,“ieee journal of solid
‑
state circuits”,2017,volume 52,no.4,p.915
‑
924.
技术实现要素:发明所要解决的技术问题
[0006]
在人工神经网络中,进行将使两个神经元彼此结合的神经突触的结合强度(有时称为权系数)乘以在两个神经元间传送的信号的计算。尤其是,在分层人工神经网络中,需要将第一层的多个第一神经元的每一个与第二层的第二神经元中的一个之间的神经突触的结合强度分别乘以与从第一层的多个第一神经元的每一个向第二层的第二神经元中的一个输入的信号而将它们加在一起(进行积和运算),根据人工神经网络的规模例如决定该结合强度的数量、表示该信号的参数的数量。换言之,在人工神经网络中,分层的数量、神经元的数量等越多,相当于“神经元”及“神经突触”的每一个的电路数量越多,从而运算量有时变庞大。
[0007]
例如,神经网络的运算除了积和运算以外还可以举出激活函数的运算等。激活函
数的运算有人工神经网络的规模越大功耗越高的倾向。
[0008]
本发明的一个方式的目的之一是提供一种构成分层人工神经网络的半导体装置等。另外,本发明的一个方式的目的之一是提供一种功耗低的半导体装置等。另外,本发明的一个方式的目的之一是提供一种新颖的半导体装置等。此外,本发明的一个方式的目的之一是提供一种包括上述半导体装置的电子设备。
[0009]
注意,本发明的一个方式的目的不局限于上述目的。上述列举的目的并不妨碍其他目的的存在。另外,其他目的是上面没有提到而将在下面的记载中进行说明的目的。本领域技术人员可以从说明书或附图等的记载中导出并适当抽出上面没有提到的目的。此外,本发明的一个方式实现上述目的及其他目的中的至少一个目的。此外,本发明的一个方式并不需要实现所有的上述目的及其他目的。解决技术问题的手段
[0010]
(1)本发明的一个方式是一种半导体装置,包括:单元;以及第一电路,其中,第一电路包括第一电容、第一输入端子以及第二输入端子,单元通过第一布线与第一输入端子电连接,单元通过第二布线与第二输入端子电连接,单元具有如下功能:保持第一数据;以及通过对单元输入第二数据,在单元与第一布线之间流过对应于第一数据及第二数据的第一电流,且在单元与第二布线之间流过对应于第一数据及第二数据的第二电流,并且,第一电容具有保持对应于第一电流的第一电位与对应于第二电流的第二电位的差分电压的功能。
[0011]
(2)本发明的一个方式是一种具有上述(1)的结构的半导体装置,其中第一电路包括第二电路,并且第二电路具有取得差分电压输出对应于差分电压的信号的功能。
[0012]
(3)本发明的一个方式是一种具有上述(2)的结构的半导体装置,其中第一电路包括第一电流电压转换电路、第二电流电压转换电路、第一开关、第二开关、第三开关以及第四开关,第一输入端子与第一开关的第一端子以及第一电流电压转换电路的第一端子电连接,第一开关的第二端子与第二开关的第一端子以及第一电容的第一端子电连接,第二输入端子与第三开关的第一端子以及第二电流电压转换电路的第一端子电连接,第三开关的第二端子与第四开关的第一端子以及第一电容的第二端子电连接,第四开关的第二端子与第二电路的第一端子电连接,第一电流电压转换电路具有根据输入到第一电流电压转换电路的第一端子的第一电流将第一电流电压转换电路的第一端子的电位设定为第一电位的功能,并且第二电流电压转换电路具有根据输入到第二电流电压转换电路的第一端子的第二电流将第二电流电压转换电路的第一端子的电位设定为第二电位的功能。
[0013]
(4)本发明的一个方式是一种具有上述(3)的结构的半导体装置,其中第二开关的第二端子与供应基准电位的第三布线电连接,并且第一电路具有如下功能:使第一开关和第三开关处于开启状态,使第二开关和第四开关处于关闭状态,将第一电容的第一端子设定为第一电位,将第一电容的第二端子设定为第二电位;通过使第一开关、第三开关以及第四开关处于关闭状态,使第二开关处于开启状态,将第一电容的第一端子从第一电位改变为基准电位,由于电容耦合将第一电容的第二端子的第二电位改变为第三电位;以及使第一
开关、第二开关以及第三开关处于关闭状态,使第四开关处于开启状态,对第二电路的第一端子输入对应于差分电压的第三电位。
[0014]
(5)本发明的一个方式是一种半导体装置,包括:单元;以及第一电路,其中,第一电路包括第一电容、第二电容、第一输入端子以及第二输入端子,单元通过第一布线与第一输入端子电连接,单元通过第二布线与第二输入端子电连接,单元具有如下功能:保持第一数据;以及通过对单元输入第二数据,在单元与第一布线之间流过对应于第一数据及第二数据的第一电流,且在单元与第二布线之间流过对应于第一数据与第二数据的第二电流,第一电容具有保持对应于第一电流的第一电位与对应于第二电流的第二电位的第一差分电压的功能,并且,第二电容具有保持对应于第一电流的第一电位与对应于第二电流的第二电位的第二差分电压的功能。
[0015]
(6)本发明的一个方式是一种具有上述(5)的结构的半导体装置,其中第一电路包括第二电路以及第三电路,第二电路具有取得以第一电容的第一端子的电位为基准的第一差分电压输出对应于第一差分电压的第一信号的功能,并且第三电路具有取得以第二电容的第二端子的电位为基准的第二差分电压输出对应于第二差分电压的第二信号的功能。
[0016]
(7)本发明的一个方式是一种具有上述(6)的结构的半导体装置,其中第一电路包括第一电流电压转换电路、第二电流电压转换电路、第一开关、第二开关、第三开关、第四开关、第五开关、第六开关、第七开关以及第八开关,第一输入端子与第一开关的第一端子、第五开关的第一端子以及第一电流电压转换电路的第一端子电连接,第一开关的第二端子与第二开关的第一端子以及第一电容的第一端子电连接,第五开关的第二端子与第六开关的第一端子以及第二电容的第一端子电连接,第二输入端子与第三开关的第一端子、第七开关的第一端子以及第二电流电压转换电路的第一端子电连接,第三开关的第二端子与第四开关的第一端子以及第一电容的第二端子电连接,第七开关的第二端子与第八开关的第一端子以及第二电容的第二端子电连接,第四开关的第二端子与第二电路的第一端子电连接,第六开关的第二端子与第三电路的第一端子电连接,第一电流电压转换电路具有根据对第一电流电压转换电路的第一端子输入的第一电流将第一电流电压转换电路的第一端子的电位设定为第一电位的功能,并且第二电流电压转换电路具有根据对第二电流电压转换电路的第一端子输入的第二电流将第二电流电压转换电路的第一端子的电位设定为第二电位的功能。
[0017]
(8)本发明的一个方式是一种具有上述(7)的结构的半导体装置,其中第二开关的第二端子与供应基准电位的第三布线电连接,第八开关的第二端子与供应基准电位的第三布线电连接,并且第一电路具有如下功能:使第一开关和第三开关处于开启状态,使第二开关和第四开关处于关闭状态,将第一电容的第一端子设定为第一电位,将第一电容的第二端子设定为第二电位,使第五开关和第七开关处于开启状态,使第六开关和第八开关处于关闭状态,将第二电容的第一端子设定为第一电位,将第二电容的第二端子设定为第二电位,通过使第一开关、第三开关以及第四开关处于关闭状态,使第二开关处于开启状态,将第一
电容的第一端子从第一电位改变为基准电位,由于电容耦合将第一电容的第二端子的第二电位改变为第三电位,通过使第五开关、第六开关以及第七开关处于关闭状态,使第八开关处于开启状态,将第二电容的第二端子从第二电位改变为基准电位,由于电容耦合将第一电容的第一端子的第一电位改变为第四电位,使第一开关、第二开关以及第三开关处于关闭状态,使第四开关处于开启状态,对第二电路的第一端子输入对应于第一差分电压的第三电位;以及使第五开关、第七开关以及第八开关处于关闭状态,使第六开关处于开启状态,对第三电路的第一端子输入对应于第二差分电压的第四电位。
[0018]
(9)本发明的一个方式是一种具有上述(1)至(8)中的任一个结构的半导体装置,其中单元包括第一单元和第二单元,第一单元与第一布线、第二布线、第一输入布线以及第二输入布线电连接,第二单元与第一布线、第二布线、第一输入布线以及第二输入布线电连接,第一输入布线及第二输入布线都具有供应对应于第二数据的电位的功能,第一单元具有如下功能:在第一输入布线被输入第一输入电位且第二输入布线被输入第二输入电位时,使第一电流流过第一布线,在第一输入布线被输入第二输入电位且第二输入布线被输入第一输入电位时,使第二电流流过第二布线;以及在第一输入布线被输入第二输入电位且第二输入布线被输入第二输入电位时,在第一单元与第一布线之间以及第一单元与第二布线之间处于非导通状态,并且第二单元具有如下功能:在第一输入布线被输入第一输入电位且第二输入布线被输入第二输入电位时,使第二电流流过第二布线,在第一输入布线被输入第二输入电位且第二输入布线被输入第一输入电位时,使第一电流流过第一布线,在第一输入布线被输入第二输入电位且第二输入布线被输入第二输入电位时,在第二单元与第一布线之间以及第二单元与第二布线之间处于非导通状态。
[0019]
(10)本发明的一个方式是一种具有上述(9)的结构的半导体装置,其中第一单元包括第一晶体管、第九开关、第十开关、第十一开关、第十二开关、第三电容,第二单元包括第二晶体管、第十三开关、第十四开关、第十五开关、第十六开关以及第四电容,第一晶体管的第一端子与第九开关的第一端子、第十开关的第一端子以及第十一开关的第一端子电连接,第一晶体管的栅极与第三电容的第一端子以及第十二开关的第一端子电连接,第九开关的第二端子与第十二开关的第二端子电连接,第十开关的第二端子与第一布线电连接,第十开关的控制端子与第一输入布线电连接,第十一开关的第二端子与第二布线电连接,第十一开关的控制端子与第二输入布线电连接,第二晶体管的第一端子与第十三开关的第一端子、第十四开关的第一端子以及第十五开关的第一端子电连接,第二晶体管的栅极与第四电容的第一端子以及第十六开关的第一端子电连接,第十三开关的第二端子与第十六开关的第二端子电连接,第十四开关的第二端子与第二布线电连接,第十四开关的控制端子与第一输入布线电连接,第十五开关的第二端子与第一布线电连接,并且第十五开关的控制端子与第二输入布线电连接。
[0020]
(11)本发明的一个方式是一种具有上述(10)的结构的半导体装置,其中第十二开关包括第三晶体管,第三晶体管在沟道形成区域包含金属氧化物,第十六开关包括第四晶体管,并且第四晶体管在沟道形成区域包含金属氧化物。
[0021]
(12)本发明的一个方式是一种电子设备,包括上述(1)至(11)中的任一个半导体装置及外壳,并且由半导体装置进行神经网络的运算。
[0022]
注意,在本说明书等中,半导体装置是指利用半导体特性的装置以及包括半导体元件(晶体管、二极管、光电二极管等)的电路及包括该电路的装置等。另外,半导体装置是指能够利用半导体特性而发挥作用的所有装置。例如,作为半导体装置的例子,有集成电路、具备集成电路的芯片、封装中容纳有芯片的电子构件。另外,存储装置、显示装置、发光装置、照明装置以及电子设备等本身是半导体装置,或者有时包括半导体装置。
[0023]
另外,在本说明书等中,当记载为“x与y连接”时,表示在本说明书等中公开了如下情况:x与y电连接的情况;x与y在功能上连接的情况;以及x与y直接连接的情况。因此,不局限于附图或文中所示的连接关系,例如其他的连接关系也在附图或文中所记载的范围内记载。x和y都是对象物(例如,装置、元件、电路、布线、电极、端子、导电膜、层等)。
[0024]
作为x和y电连接的情况的一个例子,可以在x和y之间连接一个以上的能够电连接x和y的元件(例如开关、晶体管、电容器、电感器、电阻器、二极管、显示器件、发光器件、负载等)。此外,开关具有控制开启或关闭的功能。换言之,通过使开关处于导通状态(开启状态)或非导通状态(关闭状态)来控制是否使电流流过。
[0025]
作为x与y在功能上连接的情况的一个例子,例如可以在x与y之间连接有一个以上的能够在功能上连接x与y的电路(例如,逻辑电路(反相器、nand电路、nor电路等)、信号转换电路(da转换电路、ad转换电路、伽马校正电路等)、电位电平转换电路(电源电路(升压电路、降压电路等)、改变信号的电位电平的电平转移电路等)、电压源、电流源、切换电路、放大电路(能够增大信号振幅或电流量等的电路、运算放大器、差分放大电路、源极跟随电路、缓冲电路等)、信号产生电路、存储电路、控制电路等)。注意,例如,即使在x与y之间夹有其他电路,当从x输出的信号传送到y时,就可以说x与y在功能上是连接着的。
[0026]
此外,当明确地记载为“x与y电连接”时,包括如下情况:x与y电连接的情况(换言之,以中间夹有其他元件或其他电路的方式连接x与y的情况);以及x与y直接连接的情况(换言之,以中间不夹有其他元件或其他电路的方式连接x与y的情况)。
[0027]
例如,可以表现为“x、y、晶体管的源极(或第一端子等)与晶体管的漏极(或第二端子等)互相电连接,x、晶体管的源极(或第一端子等)、晶体管的漏极(或第二端子等)与y依次电连接”。或者,可以表现为“晶体管的源极(或第一端子等)与x电连接,晶体管的漏极(或第二端子等)与y电连接,x、晶体管的源极(或第一端子等)、晶体管的漏极(或第二端子等)与y依次电连接”。或者,可以表达为“x通过晶体管的源极(或第一端子等)及晶体管的漏极(或第二端子等)与y电连接,x、晶体管的源极(或第一端子等)、晶体管的漏极(或第二端子等)、y依次设置”。通过使用与这种例子相同的显示方法规定电路结构中的连接顺序,可以区分晶体管的源极(或第一端子等)与漏极(或第二端子等)而决定技术范围。注意,这种显示方法是一个例子,不局限于上述显示方法。在此,x和y为对象物(例如,装置、元件、电路、布线、电极、端子、导电膜、层等)。
[0028]
另外,即使在电路图上独立的构成要素彼此电连接,也有时一个构成要素兼有多个构成要素的功能。例如,在布线的一部分用作电极时,一个导电膜兼有布线和电极的两个构成要素的功能。因此,本说明书中的“电连接”的范畴内还包括这种一个导电膜兼有多个
构成要素的功能的情况。
[0029]
在本说明书等中,“电阻元件”例如可以为具有高于0ω的电阻值的电路元件、布线等。因此,在本说明书等中,“电阻元件”包括具有电阻值的布线、电流流过源极和漏极之间的晶体管、二极管、线圈等。因此,“电阻元件”也可以称为“电阻”、“负载”、“具有电阻值的区域”等,与此相反,“电阻”、“负载”、“具有电阻值的区域”也可以称为“电阻元件”等。作为电阻值,例如优选为1mω以上且10ω以下,更优选为5mω以上且5ω以下,进一步优选为10mω以上且1ω以下。此外,例如也可以为1ω以上且1
×
109ω以下。
[0030]
在本说明书等中,“电容器”例如可以为具有高于0f的静电电容值的电路元件、具有静电电容值的布线的区域、寄生电容、晶体管的栅极电容等。因此,在本说明书等中,“电容器”除包括具有一对电极及在该电极之间的介电体的电路元件外还包括产生在布线和布线之间的寄生电容、产生在晶体管的源极和漏极中的一个与栅极之间栅极电容等。“电容器”、“寄生电容”、“栅极电容”等也可以称为“电容”等,与此相反,“电容”也可以称为“电容器”、“寄生电容”、“栅极电容”等。另外,“电容”的“一对电极”也可以称为“一对导电体”、“一对导电区域”、“一对区域”等。静电电容值例如可以为0.05ff以上且10pf以下。此外,例如,还可以为1pf以上且10μf以下。
[0031]
在本说明书等中,晶体管包括栅极、源极以及漏极这三个端子。栅极被用作控制晶体管的导通状态的控制端子。被用作源极或漏极的两个端子是晶体管的输入输出端子。根据晶体管的导电型(n沟道型、p沟道型)及对晶体管的三个端子施加的电位的高低,两个输入输出端子中的一方被用作源极而另一方被用作漏极。因此,在本说明书等中,源极和漏极可以相互调换。在本说明书等中,在说明晶体管的连接关系时,使用“源极和漏极中的一个”(第一电极或第一端子)、“源极和漏极中的另一个”(第二电极或第二端子)的表述。另外,根据晶体管的结构,有时除了上述三个端子以外还包括背栅极。在此情况下,在本说明书等中,有时将晶体管的栅极和背栅极中的一个称为第一栅极,将晶体管的栅极和背栅极的另一个称为第二栅极。并且,在相同晶体管中,有时可以将“栅极”与“背栅极”相互调换。另外,在晶体管包括三个以上的栅极时,在本说明书等中,有时将各栅极称为第一栅极、第二栅极、第三栅极等。
[0032]
另外,在本说明书等中,节点也可以根据电路结构或装置结构等称为端子、布线、电极、导电层、导电体或杂质区域等。另外,端子、布线等也可以称为节点。
[0033]
另外,在本说明书等中,可以适当地调换“电压”和“电位”。“电压”是指与基准电位之间的电位差,例如在基准电位为地电位(接地电位)时,也可以将“电压”称为“电位”。注意,接地电位不一定意味着0v。此外,电位是相对性的,根据基准电位的变化而供应到布线的电位、施加到电路等的电位、从电路等输出的电位等也产生变化。
[0034]“电流”是指电荷的移动现象(导电),例如,“发生正带电体的导电”的记载可以替换为“在与其相反方向上发生负带电体的导电”的记载。因此,在本说明书等中,在没有特别的说明的情况下,“电流”是指载流子移动时的电荷的移动现象(导电)。在此,作为载流子可以举出电子、空穴、阴离子、阳离子、络离子等,载流子根据电流流过的系统(例如,半导体、金属、电解液、真空中等)不同。另外,布线等中的“电流的方向”是正载流子移动的方向,以正电流量记载。换言之,负载流子移动的方向与电流方向相反,以负电流量记载。因此,在本说明书等中,在没有特别的说明的情况下,关于电流的正负(或电流的方向),“电流从元件a
向元件b流过”等记载可以替换为“电流从元件b向元件a流过”等记载。另外,“对元件a输入电流”等记载可以替换为“从元件a输出电流”等记载。
[0035]
另外,在本说明书等中,“第一”、“第二”、“第三”等序数词是为了避免构成要素的混淆而附加上的。因此,该序数词不限制构成要素的个数。此外,该序数词不限制构成要素的顺序。另外,例如,本说明书等的实施方式之一中附有“第一”的构成要素有可能在其他的实施方式或权利要求书中附有“第二”的构成要素。此外,例如,在本说明书等中,一个实施方式中的“第一”所指的构成要素有可能在其他实施方式或权利要求书的范围中被省略。
[0036]
在本说明书中,为了方便起见,有时使用“上”、“下”等表示配置的词句以参照附图说明构成要素的位置关系。另外,构成要素的位置关系根据描述各构成要素的方向适当地改变。因此,不局限于说明书等中所说明的词句,根据情况可以适当地换词句。例如,在“位于导电体的顶面的绝缘体”的表述中,通过将所示的附图的方向旋转180度,也可以称为“位于导电体的下面的绝缘体”。
[0037]
另外,“上”或“下”这样的术语不限定于构成要素的位置关系为“正上”或“正下”且直接接触的情况。例如,如果是“绝缘层a上的电极b”的表述,则不一定必须在绝缘层a上直接接触地形成有电极b,也可以包括在绝缘层a与电极b之间包括其他构成要素的情况。
[0038]
此外,在本说明书等中,根据状况,可以互相调换“膜”和“层”等词句。例如,有时可以将“导电层”调换为“导电膜”。此外,有时可以将“绝缘膜”变换为“绝缘层”。另外,根据情况或状态,可以使用其他词句代替“膜”和“层”等词句。例如,有时可以将“导电层”或“导电膜”变换为“导电体”。此外,例如有时可以将“绝缘层”或“绝缘膜”变换为“绝缘体”。
[0039]
注意,在本说明书等中,“电极”、“布线”、“端子”等的词句不在功能上限定其构成要素。例如,有时将“电极”用作“布线”的一部分,反之亦然。再者,“电极”或“布线”还包括多个“电极”或“布线”被形成为一体的情况等。此外,例如,有时将“端子”用作“布线”或“电极”的一部分,反之亦然。再者,“端子”的词句包括多个“电极”、“布线”、“端子”等被形成为一体的情况等。因此,例如,“电极”可以为“布线”或“端子”的一部分,例如,“端子”可以为“布线”或“电极”的一部分。此外,“电极”、“布线”、“端子”等的词句有时置换为“区域”等的词句。
[0040]
在本说明书等中,根据情况或状态,可以互相调换“布线”、“信号线”及“电源线”等词句。例如,有时可以将“布线”变换为“信号线”。此外,例如有时可以将“布线”变换为“电源线”。反之亦然,有时可以将“信号线”或“电源线”变换为“布线”。有时可以将“电源线”变换为“信号线”。反之亦然,有时可以将“信号线”变换为“电源线”。另外,根据情况或状态,可以互相将施加到布线的“电位”变换为“信号”。反之亦然,有时可以将“信号”变换为“电位”。
[0041]
在本说明书等中,半导体的杂质是指构成半导体膜的主要成分之外的物质。例如,浓度低于0.1atomic%的元素是杂质。当包含杂质时,例如,有可能在半导体中形成dos(density of states:态密度),载流子迁移率有可能降低或结晶性有可能降低。在半导体是氧化物半导体时,作为改变半导体特性的杂质,例如有第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是说明分层神经网络的图。图2a是示出半导体装置的结构例子的电路图,图2b及图2c是示出半导体装置所包括的电路的结构例子的电路图。图3a至图3c是示出半导体装置的结构例子及工作例子的电路图。图4a、图4b是示出半导体装置的结构例子及工作例子的电路图。图5是示出半导体装置的结构例子的电路图。图6a至图6c是示出半导体装置所包括的电路的结构例子的电路图。图7a至图7c是示出半导体装置所包括的电路的结构例子的电路图。图8是示出半导体装置的结构例子的电路图。图9是说明半导体装置的工作例子的时序图。图10是示出半导体装置所包括的电路的结构例子的电路图。图11a、图11b是示出半导体装置所包括的电路的结构例子的电路图。图12是示出半导体装置的结构例子的电路图。
图13a至图13d是示出半导体装置所包括的电路的结构例子的电路图。图14a至图14c是示出半导体装置所包括的电路的结构例子的电路图。图15是示出半导体装置的结构例子的电路图。图16是示出半导体装置的结构例子的电路图。图17是示出半导体装置的结构例子的电路图。图18a、图18b是示出半导体装置所包括的电路的结构例子的电路图。图19a至图19e是示出半导体装置所包括的电路的结构例子的电路图。图20a至图20c是示出半导体装置所包括的电路的结构例子的电路图。图21a、图21b是示出半导体装置所包括的电路的结构例子的电路图。图22a、图22b是示出半导体装置所包括的电路的结构例子的电路图。图23a至图23c是说明半导体装置的工作例子的时序图。图24a至图24c是说明半导体装置的工作例子的时序图。图25a至图25c是说明半导体装置的工作例子的时序图。图26a至图26c是说明半导体装置的工作例子的时序图。图27a、图27b是示出半导体装置所包括的电路的结构例子的电路图。图28a、图28b是示出半导体装置所包括的电路的结构例子的电路图。图29a至图29c是示出半导体装置所包括的电路的结构例子的电路图。图30a至图30c是示出半导体装置所包括的电路的结构例子的电路图。图31a至图31c是示出半导体装置所包括的电路的结构例子的电路图。图32a及图32b是示出半导体装置所包括的电路的结构例子的电路图。图33是说明半导体装置的结构例子的截面示意图。图34是说明半导体装置的结构例子的截面示意图。图35a至图35c是说明半导体装置的结构例子的截面示意图。图36a、图36b是说明晶体管的结构例子的截面示意图。图37是说明半导体装置的结构例子的截面示意图。图38a、图38b是说明晶体管的结构例子的截面示意图。图39是说明半导体装置的结构例子的截面示意图。图40a是示出电容的结构例子的俯视图,图40b、图40c是示出电容的结构例子的截面立体图。图41a是示出电容的结构例子的俯视图,图41b是示出电容的结构例子的截面图,图41c是示出电容的结构例子的截面立体图。图42a是说明igzo的结晶结构的分类的图,图42b是说明结晶性igzo的xrd谱的图,图42c是说明结晶性igzo的纳米束电子衍射图案的图。图43a是示出半导体晶片的一个例子的立体图,图43b是示出芯片的一个例子的立体图,图43c、图43d是示出电子构件的一个例子的立体图。图44是示出电子设备的一个例子的立体图。图45a至图45c是示出电子设备的一个例子的立体图。实施发明的方式
[0049]
在人工神经网络(以下称为神经网络。)中,神经突触的结合强度可以通过对神经
网络供应现有的信息改变。有时将这样的对神经网络提供现有的信息决定结合强度的处理称为“学习”。
[0050]
并且,通过对“学习”(决定了结合强度)过的神经网络提供某个信息,可以根据其结合强度输出新信息。有时将这样的在神经网络中根据被提供的信息和结合强度输出新信息的处理称为“推论”或“认知”。
[0051]
作为神经网络的模型,例如可以举出hopfield神经网络、分层神经网络等。尤其是,有时将具有多层结构的神经网络称为“深度神经网络”(dnn),将利用深度神经网络的机械学习称为“深度学习”。
[0052]
在本说明书等中,金属氧化物(metal oxide)是指广义上的金属的氧化物。金属氧化物被分类为氧化物绝缘体、氧化物导电体(包括透明氧化物导电体)和氧化物半导体(oxide semiconductor,也可以简称为os)等。例如,在将金属氧化物用于晶体管的活性层的情况下,有时将该金属氧化物称为氧化物半导体。换言之,在金属氧化物能够构成包括具有放大作用、整流作用及开关作用中的至少一个的晶体管的沟道形成区域时,该金属氧化物称为金属氧化物半导体(metal oxide semiconductor),简称为os。此外,也可以将os fet或os晶体管称为包含金属氧化物或氧化物半导体的晶体管。
[0053]
此外,在本说明书等中,有时将包含氮的金属氧化物也称为金属氧化物(metal oxide)。此外,也可以将包含氮的金属氧化物称为金属氧氮化物(metal oxynitride)。
[0054]
另外,在本说明书等中,各实施方式所示的结构可以与其他实施方式所示的结构适当地组合而构成本发明的一个方式。另外,当在一个实施方式中示出多个结构例子时,可以适当地组合这些结构例子。
[0055]
另外,可以将某一实施方式中说明的内容(或其一部分)应用/组合/替换成该实施方式中说明的其他内容(或其一部分)和另一个或多个其他实施方式中说明的内容(或其一部分)中的至少一个内容。
[0056]
注意,实施方式中说明的内容是指各实施方式中利用各种附图所说明的内容或者利用说明书所记载的文章而说明的内容。
[0057]
另外,通过将某一实施方式中示出的附图(或其一部分)与该附图的其他部分、该实施方式中示出的其他附图(或其一部分)和另一个或多个其他实施方式中示出的附图(或其一部分)中的至少一个附图组合,可以构成更多图。
[0058]
参照附图说明本说明书所记载的实施方式。注意,所属技术领域的普通技术人员可以很容易地理解一个事实,就是实施方式可以以多个不同形式来实施,其方式和详细内容可以在不脱离本发明的宗旨及其范围的条件下被变换为各种各样的形式。因此,本发明不应该被解释为仅限定在实施方式所记载的内容中。注意,在实施方式中的发明的结构中,有时在不同的附图中共同使用相同的附图标记来表示相同的部分或具有相同功能的部分,而省略反复说明。在立体图等的附图中,为了明确起见,有时省略部分构成要素的图示。
[0059]
另外,在本说明书等中,在多个要素使用同一符号并且需要区分它们时,有时对符号附加“_1”,“[n]”,“[m,n]”等用于识别的符号。
[0060]
在附图中,为便于清楚地说明,有时夸大表示大小、层的厚度或区域。因此,本发明并不局限于附图中的尺寸。此外,在附图中,示意性地示出理想的例子,因此本发明不局限于附图所示的形状或数值等。例如,可以包括因噪声或定时偏差等所引起的信号、电压或电
流的不均匀等。
[0061]
在本说明书等中,in:ga:zn=4:2:3或其附近是指在原子数的总和中in为4时,ga为1以上且3以下(1≤ga≤3),zn为2以上且4.1以下(2≤zn≤4.1)。此外,in:ga:zn=5:1:6或其附近是指在原子数的总和中in为5时,ga大于0.1且2以下(0.1<ga≤2),zn为5以上且7以下(5≤zn≤7)。此外,in:ga:zn=1:1:1或其附近是指在原子数的总和中in为1时,ga大于0.1且2以下(0.1<ga≤2),zn大于0.1且2以下(0.1<zn≤2)。此外,in:ga:zn=5:1:3或其附近是指在原子数的总和中in为5时,ga为0.5以上且1.5以下(0.5≤ga≤1.5),zn为2以上且4.1以下(2≤zn≤4.1)。此外,in:ga:zn=10:1:3或其附近是指在原子数的总和中in为10时,ga为0.5以上且1.5以下(0.5≤ga≤1.5),zn为2以上且4.1以下(2≤zn≤4.1)。此外,in:zn=2:1或其附近是指在原子数的总和中in为1时,zn大于0.25且0.75以下(0.25<zn≤0.75)。此外,in:zn=5:1或其附近是指在原子数的总和中in为1时,zn大于0.12且0.25以下(0.12<zn≤0.25)。此外,in:zn=10:1或其附近是指在原子数的总和中in为1时,zn大于0.07且0.12以下(0.07<zn≤0.12)。
[0062]
(实施方式1)在本实施方式中,说明作为本发明的一个方式的半导体装置,即进行神经网络的运算的运算电路。
[0063]
<分层神经网络>首先,说明分层神经网络。分层神经网络例如包括一个输入层、一个或多个中间(隐藏层)及一个输出层,由共三个以上的层构成。图1a所示的分层神经网络100是其一个例子,神经网络100包括第一层至第r层(在此,r可以为4以上的整数。)。尤其是,第一层相当于输入层,第r层相当于输出层,其他层相当于中间层。注意,在图1a中,作为中间层示出第(k
‑
1)层、第k层(在此,k是3以上且r
‑
1以下的整数。),而省略其他中间层。
[0064]
神经网络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以上的整数。)。
[0065]
另外,图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以下的整数。),而省略示出其他神经元。
[0066]
接着,说明从前一层的神经元向下一层的神经元的信号的传送以及向每个神经元输入或输出到每个神经元的信号。注意,在本说明书中,着眼于第k层的神经元n
j(k)
。
[0067]
图1b示出第k层的神经元n
j(k)
、输入到神经元n
j(k)
的信号以及从神经元n
j(k)
输出的信号。
[0068]
具体而言,第(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)层(未图示。)的各神经元输出。
[0069]
从前一层的神经元向后一层的神经元输入的信号的传送强度根据使它们连接的神经突触的结合强度(以下称为权系数。)决定。在神经网络100中,将从前一层的神经元输
出的信号被乘以对应的权系数而输入到后一层的神经元。在i设定为1以上且m以下的整数且第(k
‑
1)层的神经元n
i(k
‑
1)
与第k层的神经元n
j(k)
之间的神经突触的权系数设定为时,输入到第k层的神经元n
j(k)
的信号可以以算式(1.1)表示。
[0070]
[算式1]
[0071]
换言之,在从第(k
‑
1)层的神经元n
1(k
‑
1)
至神经元n
m(k
‑
1)
的每一个向第k层的神经元n
j(k)
传送信号时,作为该信号的z
1(k
‑
1)
至z
m(k
‑
1)
被乘以对应于各信号的权系数(至)。然后,对第k层的神经元n
j(k)
输入至此时,对第k层的神经元n
j(k)
输入的信号的总和u
j(k)
成为算式(1.2)。
[0072]
[算式2]
[0073]
也可以对权系数至及神经元的信号z
1(k
‑
1)
至z
m(k
‑
1)
的积和的结果作为偏差供应偏置。在偏置为b时,算式(1.2)可以改写为如下算式。
[0074]
[算式3]
[0075]
神经元n
j(k)
根据u
j(k)
生成输出信号z
j(k)
。在此,以以下算式定义来自神经元n
j(k)
的输出信号z
j(k)
。
[0076]
[算式4]
[0077]
函数f(u
j(k)
)是分层神经网络中的激活函数,可以使用阶梯函数、线性斜坡函数、sigmoid函数等。既可以在所有神经元中使用相同的激活函数,也可以在神经元中使用不同的激活函数。此外,神经元的激活函数也可以在各层中相同或不同。
[0078]
各层的神经元所输出的信号、权系数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中的至少一个使用模拟值,可以提高运算的精度。
[0079]
神经网络100通过对第一层(输入层)输入输入信号,在从第一层(输入层)到最后层(输出层)的各层中,依次进行根据从前一层输入的信号使用算式(1.1)、算式(1.2)(或算
式(1.3))、算式(1.4)生成输出信号而将该输出信号输出到后一层的工作。从最后层(输出层)输出的信号相当于神经网络100所计算的结果。
[0080]
<运算电路的结构例子1>在此,说明在上述神经网络100中能够进行算式(1.2)(或算式(1.3))及算式(1.4)的运算的运算电路的一个例子。注意,在该运算电路中,作为一个例子,可以将神经网络100的突触电路的权系数设定为2值以上的数字值或模拟值,可以将神经元的激活函数设定为阶梯函数等。另外,在本说明书等中,有时将权系数和从前一层的神经元向后一层的神经元输入的信号的值(有时称为运算值)中的一方称为第一数据而另一方称为第二数据。注意,神经网络100的突触电路的权系数或运算值不局限于数字值,其中至少一个也可以使用模拟值。
[0081]
图2a所示的运算电路110作为一个例子是包括阵列部alp及电路afp的半导体装置。运算电路110例如是通过处理输入到图1a及图1b中的第k层神经元n
j(k)
的信号并生成从神经元n
j(k)
输出的信号z
j(k)
的电路。注意,本发明的一个方式不局限于此。运算电路110作为一个例子也可以被用作存储装置或存储电路。例如,运算电路110作为一个例子也可以被用作dram、sram或快闪存储器。或者,运算电路110作为一个例子也可以被用作在存储电路中进行计算的电路,也就是说也可以被用作存储计算电路。
[0082]
阵列部alp作为一个例子包括电路mp[1,j]至电路mp[m,j]。此外,电路afp作为一个例子包括电路actf[j],电路actf[j]包括电容cre、电路ac、端子t1、端子t2。
[0083]
注意,电容cre可以使用通常的电容器实现,但是本发明的一个方式不局限于此。例如,电容cre作为一个例子如图2b或图2c等所示,也可以使用晶体管的栅极电容实现。此时,晶体管也可以使用n沟道型、p沟道型或者使用双方并联连接。注意,在图2b及图2c中,使用晶体管cret代替电容cre。作为晶体管cret,例如可以使用os晶体管。注意,在实施方式5中详细说明os晶体管。此外,os晶体管以外例如可以为在沟道形成区域中包含硅的晶体管(后面称为si晶体管)等。此外,作为该硅例如可以使用单晶硅、氢化非晶硅、微晶硅或多晶硅等。此外,作为os晶体管、si晶体管以外的晶体管,例如可以使用ge等作为活性层的晶体管、znse、cds、gaas、inp、gan、sige等化合物半导体作为活性层的晶体管、碳纳米管作为活性层的晶体管、有机半导体作为活性层的晶体管等。
[0084]
电路mp[1,j]至电路mp[m,j]分别与布线ol[j]及布线olb[j]电连接。此外,电路mp[1,j]至电路mp[m,j]分别与布线xls[1]至布线xls[m]电连接。此外,布线ol[j]与端子t1电连接,端子t1与电容cre的第一端子电连接,布线olb[j]与端子t2电连接,端子t2与电容cre的第二端子电连接。注意,例如,也可以在端子t1与电容cre的第一端子之间连接有某种元件或电路等(例如,开关、晶体管等)。同样地,例如,也可以在端子t2与电容cre的第二端子之间连接有某种元件或电路等(例如,开关、晶体管等)。
[0085]
布线xls[1]至布线xls[m]作为一个例子都具有发送对应于从神经元n
1(k
‑
1)
至神经元n
m(k
‑
1)
输出的信号z
1(k
‑
1)
至z
m(k
‑
1)
的电位的功能。
[0086]
电路mp[1,j]作为一个例子具有保持神经元n
1(k
‑
1)
与神经元n
j(k)
之间的权系数(这里为第一数据)的功能,同样地,电路mp[m,j]作为一个例子具有保持神经元n
m(k
‑
1)
与神经元n
j(k)
之间的权系数的功能。
[0087]
此外,电路mp[1,j]作为一个例子具有输出从神经元n
1(k
‑
1)
输出的信号z
1(k
‑
1)
(这里为第二数据)与第一数据之积的功能。同样地,电路mp[m,j]作为一个例子具有输出从神经元n
m(k
‑
1)
输出的信号z
m(k
‑
1)
(这里为第二数据)与第一数据之积的功能。
[0088]
作为具体例子,通过电路mp[1,j]通过布线xls[1]被输入对应于第二数据z
1(k
‑
1)
的电位,电路mp[1,j]将对应于第一数据与第二数据z
1(k
‑
1)
之积的数据(例如,电流、电压等)输出到布线ol[j]及/或布线olb[j]。此外,作为其他具体例子,同样地,通过电路mp[m,j]通过布线xls[m]被输入对应于第二数据z
m(k
‑
1)
的电位,电路mp[m,j]将对应于第一数据与第二数据z
m(k
‑
1)
之积的数据(例如,电流、电压等)输出到布线ol[j]及/或布线olb[j]。
[0089]
由此,例如,在布线ol中,对从电路mp[1,j]至电路mp[m,j]的每一个输出的数据(例如,电流、电压等)进行加法运算。同样地,例如,在布线olb中,对从电路mp[1,j]至电路mp[m,j]的每一个输出的数据(例如,电流、电压等)进行加法运算。也就是说,在布线ol及布线olb的每一个中流过对应于第一数据至至与第二数据z
1(k
‑
1)
至z
m(k
‑
1)
的积和的数据(例如,电流、电压等)。注意,本发明的一个方式不局限于此。例如,也可以在布线ol和布线olb中的至少一个中流过作为某种基准(例如,参考、预充电、偏压等)的数据(例如,电流、电压等)。
[0090]
注意,后面说明电路mp[1,j]至电路mp[m,j]的具体电路结构。
[0091]
电路actf[j]作为一个例子具有从布线ol[j]及布线olb[j]取得对应于第一数据与第二数据之积和的数据(例如,电流、电压等)并生成从神经元n
j(k)
输出的信号z
j(k)
的电路的功能。具体而言,由电路actf[j]所包括的电路ac从该数据生成以二值、多值等数字值或模拟值表示的输出信号z
j(k)
(有时也称为运算值)。也就是说,电路ac作为一个例子被用作激活函数电路。
[0092]
作为电路ac,例如,可以为模拟数字转换电路(有时被称为读出放大器等)等。具体而言,电路ac作为一个例子可以为模拟数字转换电路等,其中在积和结果为“0”以下时,作为输出信号z
j(k)
输出“0”的值的数字信号,在积和结果为“正”时,作为输出信号z
j(k)
输出“正”的数字值。
[0093]
注意,在本说明书等中,在不区分电路mp[1,j]至电路mp[m,j]时,记载为电路mp。同样地,在不区分为布线xls[1]至布线xls[m]时,记载为布线xls。此外,有时省略布线ol[j]及布线olb[j]的每一个的[j],记载为布线ol及布线olb。此外,同样地,有时省略电路actf[j]的[j]记载为电路actf。
[0094]
<运算电路的工作例子1>接着,说明图2a的电路actf[j]的工作例子。图3a至图3c分别是示出电路actf[j]的工作例子的顺序的电路图。
[0095]
图3a示出使电路actf[j]的电容cre的第一端子
‑
第二端子间的电压初始化即0v的工作例子。具体而言,在图3a的电路中,布线ol[j]及布线olb[j]作为初始化电位例如被供
应v
ini
。作为v
ini
的一个例子,在电流从布线ol流过电路mp时为vdd,在电流从电路mp流过布线ol时为vss或gnd。
[0096]
图3b示出由电路mp[1,j]至电路mp[m,j]的每一个将对应于第一数据至与第二数据z
1(k
‑
1)
至z
m(k
‑
1)
之积和的数据(例如,电流、电压、电荷等)输出到布线ol[j]及布线olb[j]并电路actf[j]取得该数据的工作例子。此时,电容cre的第一端子的电位v
ini
根据从电路mp通过布线ol[j]输入到电路actf[j]的数据改变为电位v
ol
,此外,电容cre的第二端子的电位v
ini
根据从电路mp通过布线olb[j]输入到电路actf[j]的数据改变为电位v
olb
。注意,此时,电容cre的第一端子
‑
第二端子间的电压为|v
rd
|(=|v
olb
‑
v
ol
|)。该|v
rd
|作为一个例子相当于在布线ol[j]中流过的数据的总和量与在布线olb[j]中流过的数据的总和量的差分。作为一个例子,当在布线ol[j]中流过的数据为正值的总和且在布线olb[j]中流过的数据为负值的总和时,|v
rd
|相当于正值的总和与负值的总和的差分。由此,|v
rd
|相当于积和运算的结果。也就是说,可以将在电路mp[1,j]至电路mp[m,j]中进行的第一数据至与第二数据z
1(k
‑
1)
至z
m(k
‑
1)
之积和的结果作为电压|v
rd
|保持在电容cre的第一端子
‑
第二端子间。
[0097]
在图3c中,作为一个例子,将储存于电容cre中的电压(电荷)输入到电路ac,检测储存于电容cre中的电压(电荷)量。此时,电位v
ol
及电位v
olb
根据积和结果大幅度地改变。由此,在该电位直接输入到电路ac时,有时产生如下缺点:电路ac的电路结构变复杂;以及电路ac的工作范围变小等。于是,作为一个例子,即使电位v
ol
及电位v
olb
的大小不同,它们的差异的|v
rd
|(=|v
olb
‑
v
ol
|)成为相同电压时,电路ac优选被输入相同电压。例如,在电位v
ol
=1、电位v
olb
=2的情况或者电位v
ol
=3、电位v
olb
=4的情况下,都成为|v
rd
|=1,|v
rd
|的大小相同。在此情况下,电路ac优选被输入相同电压。于是,作为一个例子,电容cre的第一端子和第二端子中的至少一个处于电浮动状态,然后对电容cre的第一端子和电容cre的第二端子中的任一个供应基准电位(这里作为一个例子为gnd电位(0v)。注意,本发明的一个方式不局限于此,也可以为vdd电位、预充电电位、(vdd/2)的电位等))。由此,电容cre的第一端子和电容cre的第二端子中的另一个的电位可以为|v
rd
|。也就是说,即使电位v
ol
及电位v
olb
的大小不同,在|v
rd
|相同时,也可以将相同电位输入到电路ac。电路ac例如检测电容cre的第二端子的电位输出对应于电压v
rd
的信号z
j(k)
。也就是说,通过图3c所示的工作例子,作为由电路mp[1,j]至电路mp[m,j]输出的第一数据与第二数据之积和的结果输出信号z
j(k)
。
[0098]
在此,说明上述工作的具体例子。
[0099]
为了简化起见,第一数据至的每一个例如取“+1”、“0”和
“‑
1”中的任一个的值,第二数据z
1(k
‑
1)
至z
m(k
‑
1)
的每一个例如取“+1”、“0”和
“‑
1”中的任一个的值。
[0100]
此外,在图3a的工作例子中,供应给布线ol及布线olb的电位v
ini
作为高电平电位被预充电。
[0101]
此外,在电路mp中,在第一数据与第二数据之积为“+1”时,在电路mp与布线ol之间成为导通状态,在电路mp与布线olb之间成为非导通状态。对应于“|+1|”的电流从布线ol流过电路mp。此外,在电路mp中,在第一数据与第二数据之积为
“‑
1”时,在电路mp与布线ol之
间成为非导通状态,在电路mp与布线olb之间成为导通状态。并且,对应于“|
‑
1|”的电流(也就是说,与对应于“|+1|”的电流相同的大小的电流)从布线olb流过电路mp。此外,在电路mp中,在第一数据与第二数据之积为“0”时,在电路mp与布线ol之间以及电路mp与布线olb之间成为非导通状态。也就是说,在布线ol中正的总和的大小的电流流过,在布线olb中负的总和的绝对值的大小的电流流过。
[0102]
此时,在图3b的工作例子中,电位v
ol
的大小取决于第一数据与第二数据之积为“+1”的电路mp的个数。具体而言,第一数据与第二数据之积为“+1”的电路mp的个数越多,从布线ol流过电路mp[1,j]至电路mp[m,j]的电流量的总和越大。此外,由于在布线ol中作为高电平电位的电位v
ini
被预充电,所以在电路mp[1,j]至电路mp[m,j]中流过的电流量的总和越大,从布线ol的电位v
ini
的电压下降越大。也就是说,第一数据与第二数据之积为“+1”的电路mp的个数越多,电位v
ol
越低。
[0103]
同样地,电位v
olb
的大小取决于第一数据与第二数据之积为
“‑
1”的电路mp的个数。具体而言,第一数据与第二数据之积为
“‑
1”的电路mp的个数越多,从布线olb流过电路mp[1,j]至电路mp[m,j]的电流量的总和越大。此外,由于在布线olb中作为高电平电位的电位v
ini
被预充电,所以在电路mp[1,j]至电路mp[m,j]中流过的电流量的总和越大,从布线olb的电位v
ini
的电压下降越大。也就是说,第一数据与第二数据之积为
“‑
1”的电路mp的个数越多,电位v
olb
越低。
[0104]
如上所述,在第一数据与第二数据之积为“+1”的电路mp的个数比第一数据与第二数据之积为
“‑
1”的电路mp的个数大时,电容cre的第一端子的电位v
ol
比电容cre的第二端子的电位v
olb
低。也就是说,在第一数据至与第二数据z
1(k
‑
1)
至z
m(k
‑
1)
之积和为“正”时,电位v
ol
比电位v
olb
低。此外,在第一数据与第二数据之积为
“‑
1”的电路mp的个数比第一数据与第二数据之积为“+1”的电路mp的个数大时,电容cre的第一端子的电位v
ol
比电容cre的第二端子的电位v
olb
高。也就是说,在第一数据至与第二数据z
1(k
‑
1)
至z
m(k
‑
1)
之积和为“负”时,电位v
ol
比电位v
olb
高。
[0105]
此外,在第一数据与第二数据之积为“+1”的电路mp的个数相等于第一数据与第二数据之积为
“‑
1”的电路mp的个数或者在电路mp[1,j]至电路mp[m,j]的所有中第一数据与第二数据之积为“0”时,电容cre的第一端子的电位v
ol
与电容cre的第二端子的电位v
olb
相等。也就是说,在第一数据至与第二数据z
1(k
‑
1)
至z
m(k
‑
1)
之积和为“0”时,电位v
ol
与电位v
olb
相等。再者,在上述电路的所有中,第一数据与第二数据之积为“0”时,电位v
ol
及电位v
olb
一直为电位v
ini
。
[0106]
注意,第一数据至与第二数据z
1(k
‑
1)
至z
m(k
‑
1)
之积和的绝对值越大,电位v
ol
与电位v
olb
的电位差(第一电容的第一端子
‑
第二端子间的电压的绝对值)越大。
[0107]
此外,在上述工作例子中,说明第一数据至的每一个例如取“+1”、“0”和
“‑
1”中的任一个的值的情况,但本发明的一个方式的半导体装置的工作不局限于此。例如,第一数据至可取的值可以为“+2”、“+1”、“0”、
“‑
1”、
“‑
2”等超过3值的多值或“+1”、
“‑
1”等2值。此外,在电路mp[1,j]至电路mp[m,j]与布线ol及/或布线olb之间流过的电流量根据保持于电路mp[1,j]至电路mp[m,j]的每一个中的第一数据至可取的值与第二数据之积的结果而决定。具体而言,例如,考虑到第一数据至的每一个取“+2”、“+1”、“0”、
“‑
1”和
“‑
2”中的任一个,第二数据z
1(k
‑
1)
至z
m(k
‑
1)
的每一个取“+1”、“0”和
“‑
1”中的任一个的值的情况。在此,在电路mp中,在第一数据与第二数据之积为“+1”时,在电路mp与布线ol之间成为导通状态,在电路mp与布线olb之间成为非导通状态,电流量i
ut
的电流从布线ol流过电路mp。此外,在电路mp中,在第一数据与第二数据之积为“+2”时,在电路mp与布线ol之间成为导通状态,在电路mp与布线olb之间成为非导通状态,电流量2
×
i
ut
的电流从布线ol流过电路mp即可。另外,在第一数据与第二数据之积为
“‑
1”时,在电路mp与布线ol之间成为非导通状态,在电路mp与布线olb之间成为导通状态,电流量i
ut
的电流从布线olb流过电路mp即可,此外,在第一数据与第二数据之积为
“‑
2”时,在电路mp与布线ol之间成为非导通状态,在电路mp与布线olb之间成为导通状态,电流量2
×
i
ut
的电流从布线olb流过电路mp。此外,在第一数据与第二数据之积为“0”时,在电路mp与布线ol之间成为非导通状态,在电路mp与布线olb之间成为非导通状态。
[0108]
如此,通过进行图3b的工作例子,可以将第一电容的第一端子
‑
第二端子间的电压设定为对应于第一数据至与第二数据z
1(k
‑
1)
至z
m(k
‑
1)
之积和的电位v
ol
与电位v
olb
的电位差(电压|v
rd
|)。
[0109]
然后,如图3c所示的工作例子所示那样,例如,电容cre的第二端子处于电浮动状态(电容cre的第一端子也可以处于电浮动状态),然后将电容cre的第一端子的电位设定为gnd电位,电容cre的第二端子的电位成为v
rd
。在第一数据至与第二数据z
1(k
‑
1)
至z
m(k
‑
1)
之积和为“正”时,电容cre的第二端子的电位v
rd
成为正电位,在第一数据至与第二数据z
1(k
‑
1)
至z
m(k
‑
1)
之积和为“负”时,电容cre的第二端子的电位v
rd
成为负电位。此外,在第一数据至与第二数据z
1(k
‑
1)
至z
m(k
‑
1)
之积和为“0”时,由于电容cre的第一端子
‑
第二端子间的差分电压大致为0,所以电容cre的第二端子的电位v
rd
成为gnd电位。
[0110]
通过电路ac检测电容cre的第二端子的电位,可以输出对应于电压v
rd
的输出信号z
j(k)
。也就是说,在电容cre的第一端子的电位v
ol
及电容cre的第二端子的电位v
olb
彼此较大或者电容cre的第一端子的电位v
ol
与电容cre的第二端子的电位v
olb
彼此较小的情况下,若电位v
ol
与电位v
olb
的差分电压在上述两个情况下相等,则电容cre可以检测该差分电压,将相同大小的电压输入到电路ac,输出相同结果作为输出信号z
j(k)
。其结果,可以取得更精确的积和结果而不依赖于电位v
ol
与电位v
olb
的大小。
[0111]
尤其是,在采用分层神经网络时,作为电路ac,可以采用激活函数电路,根据激活函数的种类,例如,在第一数据与第二数据之积和的结果为“0”以下时,作为输出信号z
j(k)
输出“0”的值的数字信号,在第一数据与第二数据之积和的结果为“正”时,作为输出信号z
j(k)
可以输出“正”的多值。作为这种电路,例如优选使用只能检测正电压的模拟数字转换电
路(读出放大器、比较器等)等。
[0112]
注意,在上述例子中,示出神经网络中的利用例子,但是本发明的一个方式不局限于此。例如,通过对布线ol输出来自读取对象的存储单元的信号,对布线olb输出来自参考存储单元的信号,运算电路也可以用来读出保持于读取对象的存储单元中的数据。也就是说,也可以使用运算电路代替dram、sram或快闪存储器。例如,也可以作为多值数据的读取进行工作。或者,作为一个例子,运算电路也可以被用作在存储电路内进行计算的电路,也就是说,也可以被用作存储计算电路。
[0113]
在第一数据与第二数据之积和的结果为“负”的情况下,在作为输出信号z
j(k)
输出“负”的多值时,例如,作为电路ac使用除了正电压以外还可以检测负电压的模拟数字转换电路等即可。此外,在图3c中,也可以将电容cre的第一端子的电位设定为(vdd/2),而不将电容cre的第一端子的电位设定为gnd电位。如此,在第一数据与第二数据之积和的结果为“零”时,电路ac被输入(vdd/2)的电位。并且,在第一数据与第二数据之积和的结果不只为“正”的情况而为“负”的情况下,在该绝对值较小时,电路ac被输入正电位。其结果是,可以使用只能检测正电压的模拟数字转换电路(读出放大器、比较器等)等。此外,在模拟数字转换电路(读出放大器、比较器等)中输入电压只有正电压时,可以使电路简化。也就是说,由于不需要负的电源电压,所以可以实现电源电路的简化。此外,由于可以扩大输入电压范围,所以可以扩展对于噪音的余地,因此可以进行精确处理。
[0114]
此外,在与上述不同的第一数据与第二数据之积和的结果为“负”时,作为输出信号z
j(k)
输出“负”的多值的方法例如采用将图2a的运算电路110改变为图4a所示的运算电路120的方法即可。也就是说,通过增加电容cre的个数,即使积和运算的结果为“负”,也可以使用只能检测正电压的模拟数字转换电路(读出放大器、比较器等)等。作为一个例子,运算电路120包括电容crep、电容crem、电路acp、电路acm。电容crep的第一端子与端子t1电连接,电容crep的第二端子与端子t2电连接。电容crem的第一端子与端子t1电连接,电容crem的第二端子与端子t2电连接。注意,例如,也可以在端子t1与电容crep(电容crem)的第一端子之间连接某种元件或电路等(例如,开关、晶体管等)。同样地,例如,也可以在端子t2与电容crep(电容crem)的第二端子之间连接某种元件或电路等(例如,开关、晶体管等)。此外,电路acp及电路acm与使用图2a的运算电路110的电路ac同样例如能够检测正电压,并为模拟数字转换电路(读出放大器、比较器等)。注意,电路acp、电路acm在检测前都被初始化,电路acp检测电容crep的第二端子的电位,电路acm检测电容crem的第一端子的电位。也就是说,在电容crep与电容crem之间彼此改变被检测的端子。
[0115]
图4a的运算电路120与图3a及图3b的工作例子同样地将布线ol的电位设定为v
ol
,将布线ol的电位设定为v
olb
,可以将电容crep的第一端子
‑
第二端子间的电压及电容crep的第一端子
‑
第二端子间的电压设定为|v
re
|。
[0116]
在此,如图4b的工作例子那样,电容crep的第二端子、电容crem的第一端子都处于电浮动状态(电容crep的第一端子及电容crem的第二端子也可以处于电浮动状态),然后将电容crep的第一端子及电容crem的第二端子的电位都设定为gnd电位。由此,电容crep的第二端子的电位成为v
rd
,电容crem的第一端子的电位成为
‑
v
rd
。在第一数据至与第二数据z
1(k
‑
1)
至z
m(k
‑
1)
之积和的结果为“正”时,v
rd
成为高于0的电位,在第
一数据一数据至与第二数据z
1(k
‑
1)
至z
m(k
‑
1)
之积和的结果为“负”时,v
rd
成为低于0的电位。也就是说,在第一数据至与第二数据z
1(k
‑
1)
至z
m(k
‑
1)
之积和的结果为“正”时,由于电容crem的第一端子的电位
‑
v
rd
为负,所以不从电路acm输出电位(或者,输出零),由于电容crep的第二端子的电位v
rd
为正,所以电路acp进行检测,从电路acp输出对应于电位v
rd
的电位。此外,在第一数据至与第二数据z
1(k
‑
1)
至z
m(k
‑
1)
之积和的结果为“负”时,由于电容crep的第二端子的电位v
rd
为负,所以不从电路acp输出电位(或者,输出零),由于电容crem的第一端子的电位
‑
v
rd
为正,所以电路acm进行检测,从电路acm输出对应于电位v
rd
的电位。注意,在第一数据至与第二数据z
1(k
‑
1)
至z
m(k
‑
1)
之积和的结果为“0”时,由于电容crep的第一端子的电位为gnd电位,所以不从电路acp输出电位(或者,输出零),此外,由于电容crem的第二端子的电位为gnd电位,所以不从电路acm输出电位(或者,输出零)。
[0117]
在此,通过将从电路acp输出的电位对应于“正”的多值且将从电路acm输出的电位对应于“负”的多值,即使使用只能检测正电压的模拟数字转换电路(读出放大器、比较器等)等,第一数据与第二数据之积和的结果为“负”时,也可以作为输出信号z
j(k)
输出“负”的多值。注意,图4示出电路ac包括电路acp及电路acm的例子,但是本发明的一个方式不局限于此。在只使用电路ac而不使用电路acp及电路acm时,也可以用电路ac进行检测两次。也就是说,将电路ac的工作分两次,也可以以时间分割工作。由此,处理时间变长,但电路规模可以变小。
[0118]
<运算电路的结构例子2>接着,说明电路actf[j]的具体电路结构例子。电路actf[j]作为一个例子可以具有图5所示的电路结构。图5作为一个例子是根据从布线ol[j]、布线olb[j]输入的电流生成信号z
j
(
k
)的电路。具体而言,图5示出输出以多值或模拟值表示的输出信号z
j(k)
的运算电路的一个例子。因此,电路actf[j]作为一个例子可以被用作神经网络的激活函数电路。注意,在图5中为了示出电路actf[j]与外围电路的电连接的结构,还示出阵列部alp及电路afp。
[0119]
图5所示的电路actf[j]作为一个例子包括开关swr1、开关swr1b、开关swr2、开关swr2b、电路ivtr、电路ivtrr、电容cre、电路ac。
[0120]
作为开关swr1、开关swr1b、开关swr2及开关swr2b例如可以使用模拟开关或晶体管等电开关等。注意,在开关swr1、开关swr1b、开关swr2和开关swr2b中的至少一个例如使用晶体管时,该晶体管可以为可用于晶体管cret的晶体管。此外,电开关以外也可以使用机械开关。
[0121]
电路ivtr与端子t1、开关swr1的第一端子电连接。开关swr1的第二端子与电容cre的第一端子、开关swr2的第一端子电连接。开关swr2的第二端子与布线vcn3电连接。电路ivtrr与端子t2、开关swr1b的第一端子电连接。开关swr1b的第二端子与电容cre的第二端子、开关swr2b的第一端子电连接。开关swr2b的第二端子与电路ac的端子mbt1电连接。
[0122]
布线vcn3被用作供应恒电压的布线。作为该恒电压例如可以采用接地电位gnd或低电平电位。或者,作为一个例子可以采用vdd(高电平电位)。
[0123]
电路ac包括端子mbt1及端子mbt2。作为电路ac,如上所述,作为一个例子可以采用
模拟数字转换电路等。图5所示的电路ac具有如下功能:检测供应给端子mbt1的电位且作为数字信号从端子mbt2输出对应于该电位的输出信号z
j(k)
。因此,例如,在电路ac为转换为1位的数字信号的模拟数字转换电路时,端子mbt2为一个,此外,例如,在电路ac为转换为k位(k为2以上的整数)的数字信号的模拟数字转换电路时,端子mbt2为k个。注意,图5示出多个端子mbt2。作为一个例子,电路ac以规定的多个电位为基准进行模拟数字转换,将端子mbt1的模拟电位(或者,多值的数字值)转换为数字信号而输出。
[0124]
尤其是,在将图5的电路actf[j]用作分层神经网络的神经元的激活函数的电路的情况下,例如,在电路ac具有模拟数字转换中电路ac的端子mbt1的电位比布线vcn3所供应的电位低时(第一数据与第二数据之积和的结果为负时)输出零而不输出该值的结构,因此该激活函数的电路可以作为输出阶梯函数的值的电路工作。
[0125]
电路ivtr为具有将在布线ol[j]中流过的电流转换为电压值(或电荷量)的功能的电路。此外,电路ivtrr为具有将在布线olb[j]中流过的电流转换为电压值(或电荷量)的功能的电路,可以具有与电路ivtr同样的结构。由此,在图5的电路actf[j]中,电路ivtr可以将在布线ol[j]中流过的电流转换为电压值(或电荷量)且将该电压值供应给开关swr1的第一端子,电路ivtrr可以将在布线olb[j]中流过的电流转换为电压值(或电荷量)且将该电压值供应给开关swr1b的第一端子。
[0126]
电路ivtr(电路ivtrr)例如可以具有图6a至图6c所示的电路结构。注意,为了区别电路ivtr与电路ivtrr,在图6a至图6c中,在括号内表示布线olb[j]、包括在电路ivtrr中的电路元件等的符号。
[0127]
图6a所示的电路ivtr(电路ivtrr)包括开关swr3(开关swr3b)、电容crt(电容crtb)。布线ol[j](布线olb[j])与开关swr3(开关swr3b)的第一端子、电容crt(电容crtb)的第一端子电连接。开关swr3(开关swr3b)的第二端子与电容crt(电容crtb)的第二端子、布线vcn4电连接。
[0128]
开关swr3、开关swr3b例如可以都使用与上述开关swr1、开关swr1b、开关swr2及开关swr2b同样的开关。
[0129]
布线vcn4作为一个例子被用作供应恒电压的布线。作为该恒电压例如可以采用高电平电位、接地电位或低电平电位。作为一个例子,布线vcn4也可以被供应与后面说明的布线vso相同的电位。或者,作为一个例子,布线vcn4也可以与布线vso电连接。也就是说,也可以将布线vcn4及布线vso组合为一个布线。
[0130]
图6a所示的电路ivtr(电路ivtrr)通过使开关swr3(开关swr3b)处于开启状态,可以在布线ol[j](布线olb[j])与布线vcn4之间处于导通状态,布线ol[j](布线olb[j])可以被供应布线vcn4的恒电压。布线ol[j](布线olb[j])被供应布线vcn4的恒电压的工作相当于从电路mp[1,j]至电路mp[m,j]读出数据(电流、电压等)的初始工作。或者,相当于使储存于电容crt(电容crtb)中的电荷初始化的工作。此外,图6a所示的电路ivtr(电路ivtrr)通过使开关swr3(开关swr3b)处于关闭状态,可以将在布线ol[j](布线olb[j])中流过的电流量作为电荷充电至电容crt的第一端子。也就是说,电容crt的第一端子的电位根据在布线ol[j](布线olb[j])中流过的电流量决定。
[0131]
此外,在布线ol[j](布线olb[j])中流过的电流量作为一个例子可以为在电路mp[1,j]至电路mp[m,j]与布线ol[j](布线olb[j])之间流过的电流的总和。因此,通过在电路
mp[1,j]至电路mp[m,j]的每一个与布线ol[j](布线olb[j])之间流过的电流只在规定时间流过,在电容crt的第一端子中充电的电荷根据在布线ol[j](布线olb[j])中流过的电流量及该规定时间决定。也就是说,电路ivtrr(电路ivtrr)对开关swr1(开关swr1b)的第一端子供应的电压根据电路mp[1,j]至电路mp[m,j]的每一个流过的电流量及时间决定。
[0132]
在布线ol[j](布线olb[j])的寄生电阻或寄生电容在布线ol[j](布线olb[j])中流过的电流被转换为电压时,电路ivtr(电路ivtrr)可以具有图6b所示的电路结构。也就是说,在图6a的电路ivtr(电路ivtrr)中可以省略电容crt(电容crtb)。
[0133]
图6c所示的电路ivtr(电路ivtrr)包括开关swr3(开关swr3b)及电阻rrt(电阻rrtb)。布线ol[j](布线olb[j])与开关swr3(开关swr3b)的第一端子、电阻rrt(电阻rrtb)的第一端子电连接。开关swr3(开关swr3b)的第二端子与电阻rrt(电阻rrtb)的第二端子、布线vcn4电连接。
[0134]
图6c所示的电路ivtr(电路ivtrr)通过使开关swr3(开关swr3b)处于开启状态可以在布线ol[j](布线olb[j])与布线vcn4之间处于导通状态,布线ol[j](布线olb[j])可以被供应布线vcn4的恒电压。布线ol[j](布线olb[j])被供应布线vcn4的恒电压的工作相当于从电路mp[1,j]至电路mp[m,j]读出数据(电流、电压等)的初始工作。此外,图6c所示的电路ivtr(电路ivtrr)通过使开关swr3(开关swr3b)处于关闭状态,在布线ol[j](布线olb[j])中流过的电流量通过电阻rrt(电阻rrtb)而不通过开关swr3(开关swr3b)流过布线vcn4。此时,在电阻rrt(电阻rrtb)的第一端子与第二端子之间产生对应于电阻rrt(电阻rrtb)的电阻值、该电流量的电压。也就是说,电容crt的第一端子的电位根据在布线ol[j](布线olb[j])中流过的电流量及电阻rrt(电阻rrtb)的电阻值决定。注意,并不一定需要设置开关swr3(开关swr3b)。
[0135]
接着,说明与图5的电路actf[j]不同的可用于图2的电路actf[j]的电路结构例子。
[0136]
图7a所示的电路actf[j]为改变图5的电路actf[j]的电路结构的结构例子。具体而言,图7a所示的电路actf[j]与图5的电路actf[j]的不同之处在于开关swr2的第二端子与电路ac的端子mbt1电连接且开关swr2b的第二端子与布线vcn3电连接。
[0137]
可用于图2的电路actf[j]的电路结构例如可以采用图7b所示的电路actf[j]。图7b的电路actf[j]包括开关swr2、开关swr2b、开关swr6、开关swr6b、开关swr7、开关swr7b、电容cre、电路ivtr、电路ivtrr、电路ac。
[0138]
开关swr6的第一端子与端子t1电连接,开关swr6的第二端子与开关swr7的第一端子、开关swr2的第一端子、电容cre的第一端子电连接。开关swr7的第二端子与电路ivtr电连接,开关swr2的第二端子与布线vcn3电连接。开关swr6b的第一端子与端子t2电连接,开关swr6b的第二端子与开关swr7b的第一端子、开关swr2b的第一端子、电容cre的第二端子电连接。开关swr7b的第二端子与电路ivtrr电连接,开关swr2b的第二端子与电路ac电连接。
[0139]
开关swr6、开关swr6b、开关swr7及开关swr7b例如都可以使用与上述开关swr1、开关swr1b、开关swr2及开关swr2b同样的开关。
[0140]
电路ac、电路ivtr及电路ivtrr都参照图5的电路actf[j]所包括的电路ac、电路ivtr及电路ivtrr的说明。
[0141]
可用于图2a的电路actf[j]的电路结构例如可以为图7c所示的电路actf[j]。图7c的电路actf[j]具有在图7b的电路actf[j]中不设置开关swr7及开关swr2b的结构。也就是说,在图7c的电路actf[j]中,开关swr6的第二端子与电路ivtr电连接,电路ac的端子mbt1与电容cre的第二端子、开关swr6b的第二端子、开关swr7b的第一端子电连接。
[0142]
通过将图7a至图7c中的任一个的电路actf[j]用于图2的电路actf[j],与图5的电路actf[j]同样地,可以作为对应于第一数据与第二数据之积和的结果输出信号z
j(k)
。
[0143]
<运算电路的工作例子2>接着,说明图5的电路actf[j]的工作例子。注意,在本工作例子的说明中,作为一个例子使用图8所示的运算电路110a。运算电路110a作为图5所示的电路actf[j]所包括的电路ivtr、电路ivtrr使用图6a的电路ivtr(电路ivtrr)。
[0144]
在图8中作为一个例子作为用来切换电路actf[j]所包括的开关swr1、开关swr2、开关swr3、开关swr1b、开关swr2b、开关swr3b的每一个的开启状态及关闭状态的布线示出布线srl1、布线srl2
‑
1、布线srl2
‑
2、布线srl3。具体而言,布线srl1与开关swr1的控制端子、开关swr1b的控制端子电连接,布线srl2
‑
1与开关swr2的控制端子电连接,布线srl2
‑
2与开关swr2b的控制端子电连接,布线srl3与开关swr3的控制端子、开关swr3b的控制端子电连接。注意,例如,开关swr1、开关swr2、开关swr3、开关swr1b、开关swr2b或开关swr3b根据情况或状况可以省略其一部分。也就是说,例如,开关swr1、开关swr2、开关swr1b、开关swr2b也可以具有它们的开关的一部分一直处于开启状态的电路结构。此外,例如,通过利用其他开关,开关swr3、开关swr3b也可以具有它们的开关的一部分一直处于关闭状态的电路结构。或者,例如,开关swr1、开关swr2、开关swr3、开关swr1b、开关swr2b、开关swr3b可以改变连接结构的一部分。注意,例如,布线srl1、布线srl2
‑
1、布线srl2
‑
2或布线srl3根据情况或状况可以省略其一部分。例如,也可以将布线srl2
‑
1及布线srl2
‑
2组合为一个布线。或者,例如,通过使开关swr1与开关swr2(开关swr2b)的开启关闭的极性相反,也可以将布线srl1及布线srl2
‑
1(布线srl2
‑
2)组合为一个布线。由此,可以使用一个布线使开关swr1及开关swr2(开关swr2b)交替开启关闭。
[0145]
图8示出作为开关swr1的第一端子、电容crt的第一端子、开关swr3的第一端子的电连接点示出节点n4,作为开关swr1b的第一端子、电容crtb的第一端子、开关swr3b的第一端子的电连接点示出节点n4r。此外,作为开关swr1的第二端子、电容cre的第一端子、开关swr2的第一端子的电连接点示出节点n5,作为开关swr1b的第二端子、电容cre的第二端子、开关swr2b的第一端子的电连接点示出节点n5r。
[0146]
图9是示出图8的运算电路110a的电路actf[j]的工作例子的时序图,该时序图示出在时刻t01至时刻t08及其附近的布线xls[1]至布线xls[m]、布线srl1、布线srl2
‑
1、布线srl2
‑
2、布线srl3、节点n4、节点n4r、节点n5、节点n5r的电位的变动。注意,图9所示的high表示高电平电位,low表示低电平电位。
[0147]
注意,在本工作例子中,开关swr1、开关swr2、开关swr1b及开关swr2b在控制端子被输入高电平电位时成为开启状态,在控制端子被输入低电平电位时成为关闭状态。
[0148]
此外,在图9的时序图中布线xls[1]至布线xls[m]一起表示。此外,图9的时序图以阴影表示布线xls[1]至布线xls[m]被输入第二数据的期间。
[0149]
注意,在本工作例子中,电流从布线ol[j]流过电路mp,电流从布线olb[j]流过电
路mp。因此,电路mp与供应vss(低电平电位)的布线(例如,可以为在实施方式2中说明的布线ve、布线ver)电连接(图8未图示)且将布线vcn4所供应的恒电压设定为vdd(高电平电位)。此外,从布线ol[j]流过电路mp的电流量及从布线olb[j]流过电路mp的电流量根据保持于电路mp中的第一数据及从布线xls输入的第二数据决定。此外,从布线ol[j]流过电路mp的电流量及/或从布线olb[j]流过电路mp的电流量有时为零。此外,布线vcn3所供应的恒电压为vss。
[0150]
在时刻t01之前,电路mp[1,j]至电路mp[m,j]的每一个为作为第一数据保持权系数至
[0151]
此外,在时刻t01之前,布线xls[1]至布线xls[m]被输入低电平电位,布线srl1、布线srl2
‑
1、布线srl2
‑
2及布线srl3被输入低电平电位。此外,将节点n4、节点n4r、节点n5及节点n5r的电位都设定为vss。
[0152]
在时刻t01至时刻t02,布线srl1及布线srl3被输入高电平电位。通过布线srl1被输入高电平电位,开关swr1及开关swr1b成为开启状态,通过布线srl3被输入高电平电位,开关swr3及开关swr3b成为开启状态。
[0153]
在时刻t01至时刻t02,布线srl2
‑
1及布线srl2
‑
2被输入低电平电位。通过布线srl2
‑
1及布线srl2
‑
2被输入低电平电位,开关swr2及开关swr2b成为关闭状态。
[0154]
由此,在布线vcn4与布线ol[j]之间、布线vcn4与电容cre的第一端子之间成为导通状态。此外,在布线vcn4与布线olb[j]之间、布线vcn4与电容cre的第二端子之间、布线vcn4与端子mbt1之间成为导通状态。此外,在布线vcn3与电容cre的第一端子之间成为非导通状态。由此,节点n4、节点n4r、节点n5及节点n5r的电位都成为vdd。
[0155]
在时刻t02至时刻t03,布线srl3被输入低电平电位。通过布线srl3被输入低电平电位,开关swr3及开关swr3b成为关闭状态。因此,在布线vcn4与布线ol[j]之间成为非导通状态,在布线vcn4与布线olb[j]之间成为非导通状态,节点n4、节点n5、节点n4r及节点n5r成为浮动状态。
[0156]
在时刻t03至时刻t04,对阵列部alp的电路mp[1,j]至电路mp[m,j]为第二数据发送神经元的信号z
1(k
‑
1)
至z
m(k
‑
1)
。
[0157]
因此,在电路mp[i,j]中,根据权系数及神经元的信号z
1(k
‑
1)
在布线ol[j]和布线olb[j]中的一个与电路mc之间电流流过,在布线ol[j]和布线olb[j]中的另一个与电路mcr之间电流流过。这里,将在电路mp[1,j]至电路mp[m,j]的每一个与布线ol[j]之间流过的电流的总和设定为i
out
[j],将在电路mp[1,j]至电路mp[m,j]的每一个与布线olb[j]之间流过的电流的总和设定为i
bout
[j]。
[0158]
此时,节点n4及节点n5的电位由于在布线ol[j]中流过的电流下降,且节点n4r及节点n5r的电位由于在布线olb[j]中流过的电流下降。
[0159]
注意,在本工作例子中,i
out
[j]比i
bout
[j]大。因此,在时刻t03至时刻t04,节点n4及节点n5的电位下降比节点n4r及节点n5r的电位下降大。在图9的时序图中,在时刻t04,节点n4及节点n5的电位降低至v
iout
,节点n4r及节点n5r的电位降低至v
ibout
。
[0160]
此外,在时刻t04,布线srl1被输入低电平电位。通过布线srl1被输入低电平电位,开关swr1及开关swr1b成为关闭状态。由此,在电容cre的第一端子与布线ol[j]之间成为非
导通状态,在电容cre的第二端子与布线olb[j]之间成为非导通状态。由此,电容cre的第一端子(节点n5)的电位下降停止,电容cre的第二端子(节点n5r)的电位下降停止。此外,在电容cre的第一端子(节点n5)与电容cre的第二端子(节点n5r)之间的电压被保持。注意,节点n4及节点n4r的各电位在时刻t04之前继续下降。
[0161]
在时刻t05至时刻t06,布线xls[1]至布线xls[m]都被输入低电平电位。由此,停止对阵列部alp的电路mp[1,j]至电路mp[m,j]的每一个供应对应于第二数据的神经元的信号z
1(k
‑
1)
至z
m(k
‑
1)
。因此,从布线ol[j]流过电路mp的电流停止,且从布线olb[j]流过电路mp的电流停止。因此,节点n4及节点n4r的各电位下降停止。
[0162]
在时刻t06至时刻t07,布线srl2
‑
1被输入高电平电位。通过布线srl2
‑
1被输入高电平电位,开关swr2成为开启状态。因此,在电容cre的第一端子与布线vcn3之间成为导通状态,电容cre的第一端子(节点n5)的电位为vss。
[0163]
由于电容cre的第二端子(节点n5r)处于浮动状态,所以通过电容cre的第一端子(节点n5)的电位从v
iout
变为vss,由于电容耦合电容cre的第二端子(节点n5r)的电位也变化。注意,由于电容耦合的电位的变化量根据电容耦合系数决定,但在本说明书等中为了简化起见,在电容cre的第一端子的电位从v
iout
变为vss时,电容cre的第二端子的电位变为v
ibout
‑
(v
iout
‑
vss)(在图9的时序图中以v
op
表示)。也就是说,该电位的变化相当于根据电容cre及外围电路元件决定的电容耦合系数为1的情况。
[0164]
在时刻t07至时刻t08,布线srl2
‑
2被输入高电平电位。通过布线srl2
‑
2被输入高电平电位,开关swr2b成为开启状态。因此,在电容cre的第二端子(节点n5r)与端子mbt1之间成为导通状态。
[0165]
此时,电路ac的端子mbt1被输入电容cre的第二端子(节点n5r)的电位v
op
。
[0166]
由此,电路ac作为对应于输入到端子mbt1的电位v
op
的数字信号输出z
j(k)
的值的信号。
[0167]
z
j(k)
为根据对应于在布线ol[j]中流过的电流量的电位v
iout
与对应于在布线olb[j]中流过的电流量的电位v
ibout
的电位差输出的值。也就是说,电位v
iout
、电位v
ibout
根据i
out
[j]及i
bout
[j]和开关swr1及开关swr2处于开启状态的时间(时刻t03至时刻t04的时间)决定。i
out
[j]及i
bout
[j]为在电路mp[1,j]至电路mp[m,j]的每一个中保持的第一数据的第一数据至与输入到电路mp[1,j]至电路mp[m,j]的第二数据的信号的值z
1(k
‑
1)
至z
m(k
‑
1)
的积和运算的结果,也就是说对应于算式(1.2)的u
j(k)
的电流。另一方面,电位v
iout
、电位v
ibout
由于根据开关swr1及开关swr2处于开启状态的时间(时刻t03至时刻t04的时间)变化,所以该时间优选根据电路ac适当地设定。
[0168]
在本工作例子中,通过将电流量的i
out
[j]及i
bout
[j]都转换为电位,该电位差输入到电路ac,输出z
j(k)
的值。也就是说,通过电路ac被用作分层神经网络的激活函数的电路,作为数字信号输出的z
j(k)
的值可以为相当于算式(1.4)的z
j(k)
的电位。
[0169]
在时刻t07至时刻t08,在开关swr2b成为开启状态的阶段,严密地考虑到寄生电阻或寄生电容等的影响时,输入到端子mbt1的电位有时从v
op
变动。此时,电路ac优选考虑到电容cre的第二端子与端子mbt1之间的布线电阻,以适当地校正输入到端子mbt1的电位的方式设计。
[0170]
在上述工作例子中,说明i
out
[j]比i
bout
[j]大的情况。另一方面,在i
bout
[j]比i
out
[j]大时,在时刻t04,节点n5r的电位v
ibout
比节点n5的电位v
iout
低。因此,在时刻t06至时刻t07,在开关swr2成为开启状态时,节点n5r的电位由于电容cre的电容耦合成为比vss低的电位。并且在时刻t07至时刻t08,端子mbt1被输入比vss低的电位。此时,电路ac的结构例如也可以为对端子mbt2作为输出信号z
j(k)
输出对应于0的数字信号的结构。这相当于分层神经网络的激活函数f(u
j(k)
)被用作在u
j(k)
为负时输出0的斜坡函数等。
[0171]
<运算电路的结构例子3>注意,本发明的一个方式不局限于运算电路所包括的图5的电路actf[j]的电路结构。例如,本发明的一个方式的半导体装置(运算电路)所包括的图5的电路actf[j]可以改变为图10的电路actf[j]所示的电路结构。图10的电路actf[j]包括开关swr1、开关swr1b、开关swr2、开关swr2b、开关swr3、开关swr3b、开关swr4、开关swr4b、负载le、负载leb、运算放大器op、运算放大器opb、电路ac。注意,省略与图5所示的电路actf[j]重复的部分的说明。
[0172]
开关swr3、开关swr3b、开关swr4、开关swr4b例如都可以使用与开关swr1、开关swr1b、开关swr2及开关swr2b同样的开关。
[0173]
开关swr3的第一端子与端子t1、开关swr4的第一端子、负载le的第一端子电连接。开关swr3的第二端子与布线vcn4电连接。运算放大器op的非反相输入端子与布线vref1l电连接,运算放大器op的反相输入端子与开关swr4的第二端子电连接,运算放大器op的输出端子与负载le的第二端子、开关swr1的第一端子电连接。
[0174]
开关swr3b的第一端子与端子t2、开关swr4b的第一端子、负载leb的第一端子电连接。开关swr3b的第一端子与布线vcn4电连接。运算放大器opb的非反相输入端子与布线vref2l电连接,运算放大器opb的反相输入端子与开关swr4b的第二端子电连接,运算放大器opb的输出端子与负载leb的第二端子、开关swr1b的第一端子电连接。
[0175]
另外,在此,布线vref1l、布线vref2l被用作供应彼此相同的电压或不同电压的布线。因此,有时布线vref1l、布线vref2l可以组合为一个布线。
[0176]
图10的电路actf[j]通过使开关swr3(开关swr3b)处于开启状态且使开关swr4(开关swr4b)处于关闭状态,与图10同样地,可以进行对布线ol[j](布线olb[j])供应布线vcn4的恒电压的初始工作。
[0177]
在图10的电路actf[j]中,作为负载le、负载leb例如可以使用电阻、电容等。尤其是,通过作为负载le、负载leb使用电容,运算放大器op和负载le、运算放大器opb和负载leb都被用作积分电路。也就是说,通过使开关swr3、开关swr3b处于关闭状态且使开关swr4、开关swr4b处于开启状态,根据在布线ol[j]或布线olb[j]中流过的电流量在每个电容(负载le、负载leb)中储存电荷。也就是说,从布线ol[j]、olb[j]流过的电流通过积分电路转换为电压,每个电压从运算放大器op、运算放大器opb的输出端子输出。
[0178]
通过负载le、负载leb被用作电容,图10的电路actf[j]将在布线ol[j]中流过的电荷量转换为电压值,可以将该电压值供应给开关swr1的第一端子,此外,将在布线olb[j]中流过的电荷量转换为电压值,可以将该电压值供应给开关swr1b的第一端子。
[0179]
此外,图5的电路actf[j]可以改变为图11a的电路actf[j]所示的电路结构。图11a的电路actf[j]包括开关swr3、开关swr3b、开关swr4、开关swr4b、开关swr5、负载lea、负载
leab、运算放大器opa、电路ac。
[0180]
开关swr3、开关swr3b、开关swr4、开关swr4b、开关swr5例如都可以使用与开关swr1、开关swr1b、开关swr2及开关swr2b同样的开关。
[0181]
开关swr3的第一端子与端子t1、开关swr4的第一端子、负载lea的第一端子电连接。开关swr3的第二端子与布线vcn4电连接。运算放大器op的反相输入端子与开关swr4的第二端子电连接。负载lea的第二端子与开关swr5的第一端子电连接。开关swr3b的第一端子与端子t2、开关swr4b的第一端子、负载leab的第一端子电连接。开关swr3b的第二端子与布线vcn4电连接。运算放大器op的非反相输入端子与开关swr4b的第二端子电连接。负载leab的第二端子与布线vcn5电连接。运算放大器op的输出端子与开关swr5的第二端子、电路ac的端子mbt1电连接。
[0182]
注意,布线vcn5被用作供应恒电压的布线。作为该恒电压例如可以采用接地电位或低电平电位。
[0183]
图11a的电路actf[j]通过使开关swr3(开关swr3b)处于开启状态,使开关swr4(开关swr4b)处于关闭状态,且使开关swr5处于关闭状态,与图10同样地,可以进行对布线ol[j](布线olb[j])供应布线vcn4的恒电压的初始工作。
[0184]
在图11a的电路actf[j]中,作为负载lea、负载leab例如可以使用电阻、电容等。此外,在使用运算放大器opa构成减法电路时,作为负载lea、负载leab可以使用电阻。通过作为负载lea、负载leab使用电阻,可以对应于在负载lea的第一端子
‑
第二端子间、负载leab的第一端子
‑
第二端子间流过的电流的差分的电压从运算放大器opa的输出端子输出。由此,通过使开关swr3、开关swr3b处于关闭状态,使开关swr4、开关swr4b处于开启状态,使开关swr5处于开启状态,可以对应于在布线ol[j]、布线olb[j]的每一个中流过的电流的差分的电压从运算放大器opa的输出端子输出。
[0185]
从运算放大器opa的输出端子输出的电压被输入到电路ac的输入端子。由此,可以通过电路ac将从运算放大器opa的输出端子输出的模拟电压转换为数字信号。此外,该数字信号可以作为神经元的信号的运算值z
j(k)
从电路ac的端子mbt2输出。
[0186]
此外,也可以改变图11a的电路actf[j]的电路结构并将其用作图11b的电路actf[j]的结构。图11b的电路actf[j]为在图11a的电路actf[j]中不设置电路ac的结构,由此可以将从运算放大器opa的输出端子输出的模拟电压用作神经元的信号的运算值z
j(k)
。
[0187]
注意,本实施方式可以与本说明书所示的其他实施方式适当地组合。
[0188]
(实施方式2)在本实施方式中,对在上述实施方式中说明的运算电路110、运算电路110a及运算电路120的外围电路结构及其运算电路的工作例子进行说明。
[0189]
<运算电路的结构例子1>例如,图12所示的运算电路130是包括阵列部alp、电路ild、电路wld、电路xld、电路afp的半导体装置。运算电路130是对输入到图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)
的电路。
[0190]
另外,运算电路130整体或一部分可以用于神经网络、ai以外的用途。例如,当在图像处理用计算、用于科学计算的计算等中进行积和运算处理或矩阵运算处理时,也可以使
用运算电路130整体或一部分进行处理。换言之,运算电路130整体或一部分除了ai用计算以外还可以用于一般的计算。此外,例如,运算电路130整体或一部分也可以用于存储装置等。
[0191]
电路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]电连接。
[0192]
<<阵列部alp>>阵列部alp例如包括m
×
n个电路mp。电路mp例如在阵列部alp内配置为m行n列的矩阵状。在图12中,将位于i行j列(在此,i是1以上且m以下的整数,j是1以上且n以下的整数。)的电路mp表示为电路mp[i,j]。注意,在图12中,摘录电路mp[1,1]、电路mp[m,1]、电路mp[i,j]、电路mp[1,n]、电路mp[m,n]。
[0193]
电路mp[i,j]例如与布线il[j]、布线ilb[j]、布线wls[i]、布线xls[i]、布线ol[j]及布线olb[j]电连接。
[0194]
电路mp[i,j]作为一个例子具有与在上述实施方式中说明的电路mp[1,j]至电路mp[m,j]同样的功能。再者,电路mp[i,j]具有从布线il[j]及布线ilb[j]取得保持于电路mp[i,j]中的权系数(第一数据)的功能。注意,图12示出配置布线il[j]及布线ilb[j]的例子,但是本发明的一个方式不局限于此,也可以只配置布线il[j]和布线ilb[j]中的任一个。
[0195]
注意,后面说明电路mp[1,1]至电路mp[m,n]的具体内容。
[0196]
<<电路xld>>图12的电路xld作为一个例子通过布线xls[1]至布线xls[m]对电路mp[1,1]至电路mp[m,n]的每一个供应从神经元n
1(k
‑
1)
至神经元n
m(k)
输出的运算值的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]的例子,但是本发明的一个方式不局限于此。例如,在图12所示的运算电路130中,也可以配置多个布线xls[i]。
[0197]
<<电路wld>>图12的电路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]输入的信号的反转信号的布线。也就是说,也可以将布线wls[i]替换为多个布线。注意,也可以配置电路wld作为与电路xld不同的电路,但是本发明的一个方式不局限于此。例如,电路wld与电路xld也可以组合为一个电路。
[0198]
<<电路afp>>图12的电路afp作为一个例子包括电路actf[1]至电路actf[n]。电路actf[1]至电路actf[n]作为一个例子可以使用在上述实施方式中说明的电路actf[j]。由此,电路actf
[1]至电路actf[n]作为一个例子可以生成对应于从布线ol[j]及布线olb[j]输入的各数据(例如,电位、电流值等)的信号。作为一个例子,对从布线ol[j]及布线olb[j]输入的各数据(例如,电位或电流值等)进行比较,来生成对应于其比较结果的信号。该信号相当于从神经元n
j
(
k
)输出的信号z
j
(
k
)。换言之,电路actf[1]至电路actf[n]例如被用作进行上述神经网络的激活函数的运算的电路。
[0199]
<<电路mp>>这里,说明可用于运算电路130的电路mp[i,j]的结构例子。
[0200]
图13a示出可以应用于运算电路130的电路mp[i,j]的结构例子,电路mp[i,j]例如包括电路mc及电路mcr。电路mc及电路mcr是在电路mp中计算第一数据与第二数据之积的电路。电路mc可以采用与电路mcr相同的结构或与电路mcr不同的结构。由此,为了与电路mc区分,对电路mcr的符号附上“r”。另外,对后面说明的电路mcr中的电路元件的符号也附上“r”。
[0201]
例如,电路mc包括保持部hc,电路mcr包括保持部hcr。保持部hc及保持部hcr分别具有保持数据(例如,电位、电阻值、电流值等)的功能。另外,电路mp[i,j]所设定的第一数据根据保持部hc、保持部hcr的每一个保持的数据(例如,电位、电阻值、电流值等)决定。由此,保持部hc及保持部hcr的每一个与供应对应于第一数据的各数据(例如,电位、电阻值、电流值等)的布线ol[j]及布线olb[j]电连接。
[0202]
在图13a中,电路mp[i,j]与布线ve[j]、布线ver[j]电连接。布线ve[j]、布线ver[j]被用作恒电压的布线。此外,作为一个例子,电流从布线ol通过电路mc流过布线ve[j]。另外,作为一个例子,电流从布线olb通过电路mcr流过布线ver[j]。
[0203]
图13a所示的布线wl[i]相当于图12中的布线wls[i]。布线wl[i]与保持部hc及保持部hcr的每一个电连接。在对电路mp[i,j]中的保持部hc及保持部hcr写入对应于第一数据的数据(例如,电位、电阻值、电流值等)时,通过对布线wl[i]供应指定电位,使布线ol[j]与保持部hc之间处于导通状态且使布线olb[j]与保持部hcr之间处于导通状态。通过对布线il[j]、ilb[j]的每一个供应对应于第一数据的电位等,可以对保持部hc及保持部hcr的每一个输入该电位等。然后,对布线wl[i]供应指定电位而使布线il[j]与保持部hc之间处于非导通状态且使布线ilb[j]与保持部hcr之间处于非导通状态。其结果,保持部hc及保持部hcr的每一个保持对应于第一数据的各电流等。
[0204]
例如,考虑第一数据为
“‑
1”、“0”、“1”的3值中的任一个的情况。在第一数据为“1”时,作为一个例子,以从布线il[j]通过电路mc对布线ve[j]流过对应于“1”的电流的方式在保持部hc保持规定电位,且以不从布线ilb[j]通过电路mcr向布线ver[j]流过电流的方式在保持部hcr保持电位v0。另外,在第一数据。另外,在第一数据为
“‑
1”时,作为一个例子,以不从布线il[j]通过电路mc向布线ve[j]流过电流的方式,在保持部hc保持电位v0,且以从布线ilb[j]通过电路mcr对布线ver[j]流过对应于
“‑
1”的电流的方式,在保持部hcr保持规定电位。并且,在第一数据为“0”时,作为一个例子,以不从布线
il[j]通过电路mc向布线ve[j]流过电流的方式,在保持部hc保持电位v0,且以不从布线ilb[j]通过电路mcr向布线ver[j]流过电流的方式,在保持部hcr保持电位v0。注意,在后面说明的图14a中,电位v0可以为布线vcn所供应的电位。
[0205]
另外,作为其他一个例子,考虑第一数据为模拟值,具体而言,“负模拟值”、“0”或“正模拟值”的情况。在第一数据为“正模拟值”时,作为一个例子,以从布线il[j]通过电路mc对布线ve[j]流过对应于“正模拟值”的模拟电流的方式,在保持部hc保持规定电位,且以不从布线ilb[j]通过电路mcr对布线ver[j]供应电流的方式,在保持部hcr保持电位v0。另外,在第一数据为“负模拟值”时,作为一个例子,以不从布线il[j]通过电路mc对布线ve[j]供应电流的方式,在保持部hc保持电位v0,且以从布线ilb[j]通过电路mcr对布线ver[j]流过对应于“负模拟值”的模拟电流的方式,在保持部hcr保持规定电位。并且,在第一数据为“0”时,作为一个例子,以不从布线il[j]通过电路mc向布线ve[j]流过电流的方式,在保持部hc保持电位v0,且以不从布线ilb[j]通过电路mcr向布线ver[j]流过电流的方式,在保持部hcr保持电位v0。注意,与上述例子同样地,在后面说明的图14a中,电位v0可以为布线vcn所供应的电位。
[0206]
另外,例如,电路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]对布线ve流过具有第二电流值的电流。注意,第一电流值、第二电流值的每一个的大小根据第一数据的值决定。例如,第一电流值有时大于第二电流值或小于第二电流值。另外,例如,有时第一电流值和第二电流值中的一方为零电流,即为0。另外,有时具有第一电流值的电流流过的方向与具有第二电流值的电流流过的方向不同。
[0207]
尤其是,例如,在第一数据为
“‑
1”、“0”、“1”的3值中的任一个时,优选以第一电流值和第二电流值中的一方为0的方式构成电路mc、电路mcr。另外,第一数据为模拟值,例如,“负模拟值”、“0”或“正模拟值”时,第一电流值或第二电流值例如可以成为模拟值。
[0208]
在使从布线ol[j]或布线olb[j](从布线il[j])通过电路mc对布线ve[j]流过的电流与从布线ol[j]或布线olb[j](从布线ilb[j])通过电路mcr对布线ver[j]流过的电流相等时,由于起因于晶体管的制造工序等导致该晶体管的特性产生偏差,有时保持在电路mc中的电位不与保持在电路mcr中的电位相等。有时本发明的一个方式的半导体装置即使晶体管的特性有偏差,也可以使从布线ol[j]或布线olb[j](从布线il[j])通过电路mc对布线
ve[j]流过的电流的量与从布线ol[j]或布线olb[j](从布线ilb[j])通过电路mcr对布线ver[j]流过的电流的量几乎相等。
[0209]
在本说明书等中,对应于保持在保持部hc及保持部hcr的数据(例如,电位、电阻值或电流值等)的电流或电压等可以为正电流或电压等,也可以为负电流或电压等,也可以为零电流或零电压等,也可以为混有正、负和零的电流或电压。
[0210]
图13a所示的布线x1l[i]及布线x2l[i]相当于图12中的布线xls[i]。输入到电路mp[i,j]的第二数据z
i(k
‑
1)
例如根据布线x1l[i]及布线x2l[i]的每一个的电位或电流等决定。由此,对电路mc、电路mcr例如通过布线x1l[i]及布线x2l[i]输入对应于第二数据z
i(k
‑
1)
的各电位。
[0211]
电路mc及电路mcr例如根据输入到布线x1l[i]及布线x2l[i]的电位或电流等对布线ol[j]及布线olb[j]输出对应于第一数据与第二数据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]不流过。
[0212]
例如,考虑第二数据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]间及电路mcr与布线olb[j]间处于非导通状态。
[0213]
以下示出将以上工作的情况总合的例子。在第一数据为“1”时,有时通过电路mc从布线ol[j]或布线olb[j]向布线ve[j]流过电流,不通过电路mcr从布线ol[j]或布线olb[j]向布线ver[j]流过电流。在第一数据为
“‑
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]间处于导通状态。如上所述,在第一数据与第二数据z
i(k
‑
1)
之积为正值时,通过电路mcr从布线ol[j]向布线ve[j]流过电流或者通过电路mcr从布线ol[j]向布线ver[j]流过电流。在第一数据与第二数据z
i(k
‑
1)
之积为负值时,通过电路mcr从布线ol[j]向布线ver[j]流过电流或通过电路mc从布线olb[j]向布线ve[j]流过电流。在第一数据与第二数据z
i(k
‑
1)
之积为零的值时,不从布线ol[j]或布线olb[j]向布线ve[j]流过电流,且不从布线ol[j]或布线olb[j]向布线ver[j]流过电流。
[0214]
将上述例子具体地记载,在第一数据为“1”且第二数据z
i(k
‑
1)
为“1”时,例如,具有第一电流值的电流i1[i,j]从电路mc向布线ol[j]流过,具有第二电流值的电流i2[i,j]从电路mcr向布线olb[j]流过。此时,第二电流值的高低例如为零,也就是说,可以不使电流从电路mcr向布线olb[j]流过。在第一数据为
“‑
1”且第二数据z
i(k
‑
1)
为“1”时,例如,具有第二电流值的电流i1[i,j]从电路mc向布线ol[j]流过,具有第一电流值的电流i2[i,j]从电路mcr向布线olb[j]流过。此时,第二电流值的高低例如为零,也就是说,可以不使电流从电路mc向布线ol[j]流过。在第一数据为“0”且第二数据z
i(k
‑
1)
为“1”时,具有第二电流值的电流i1[i,j]从电路mc向布线ol[j]流过,具有第二电流值的电流i2[i,j]从电路mcr向布线olb[j]流过。此时,第二电流值的高低例如为零,也就是说,可以不使电流从电路mc向布线ol[j]流过,且可以不使电流从电路mcr向布线olb[j]流过。
[0215]
在第一数据为“1”且第二数据z
i(k
‑
1)
为
“‑
1”时,具有第一电流值的电流i1[i,j]从电路mc向布线olb[j]流过,具有第二电流值的电流i2[i,j]从电路mcr向布线ol[j]流过。此时,第二电流值的高低例如为零,也就是说,可以不使电流从电路mcr向布线ol[j]流过。在第一数据为
“‑
1”且第二数据z
i(k
‑
1)
为
“‑
1”时,具有第二电流值的电流i1[i,j]从电路mc向布线olb[j]流过,具有第一电流值的电流i2[i,j]从电路mcr向布线ol[j]流过。此时,第二电流值的高低例如为零,也就是说,可以不使电流从电路mc向布线olb[j]流过。在第一数据为“0”且第二数据z
i(k
‑
1)
为
“‑
1”时,具有第二电流值的电流i1[i,j]从电路mc向布线olb[j]流过,具有第二电流值的电流i2[i,j]从电路mcr向布线ol[j]流过。此时,第二电流值的高低例如为零,也就是说,可以不使电流从电路mc向布线olb[j]流过,且可以不使电流从电路mcr向布线ol[j]流过。
[0216]
另外,在第二数据z
i(k
‑
1)
为“0”时,例如电路mc与布线ol[j]间及电路mc与布线olb[j]间处于非导通状态。同样地,电路mcr与布线ol[j]间及电路mcr与布线olb[j]间处于非导通状态。由此,无论第一数据如何,也不从电路mc及电路mcr向布线ol[j]及布线olb[j]输出电流。
[0217]
如此,例如在第一数据与第二数据z
i(k
‑
1)
之积的值为正值时,电流从电路mc或电路mcr向布线ol[j]流过。此时,在第一数据为正值时电流从电路mc向布线ol[j]流过,在第一数据为负值时,电流从电路mcr向布线ol[j]流过。另一方面,在第一数据与第二数据z
i(k
‑
1)
之积的值为负值时,电流从电路mc或电路mcr向布线olb[j]流过。此时,在第一数据为正值时电流从电路mc向布线olb[j]流过,在第一数据为负值时,电流从电路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]的电流值的总和大致相等时,根据积和运算的结果可以判断取得零的值。注意,在具有激活函数的功能的情况下,在判断作为积和运算的结果取得负值时,也可以输出零的值。也就是说,不仅在布线ol[j]中流过的电流值的总和与在布线olb[j]中流过的电流值的总和大致相等的情况,而且在布线ol[j]中流过的电流值的总和比在布线olb[j]中流过的电流值的总和小的情况下,作为积和运算的结果也可以取得零的值。
[0218]
注意,在第二数据z
i(k
‑
1)
为
“‑
1”、“0”、“1”中的任何2值,例如
“‑
1”、“1”的2值或者“0”、“1”的2值时,也可以同样地工作。同样的,在第一数据为
“‑
1”、“0”、“1”中的任何2值,例如
“‑
1”、“1”的2值或者“0”、“1”的2值时,也可以同样地工作。
[0219]
另外,第一数据也可以为模拟值或多位(多值)数字值。作为具体例子,可以取得代替
“‑
1”的“负模拟值”以及代替“1”的“正模拟值”。在此情况下,从电路mc或电路mcr流过的电流的高低也例如为对应于第一数据的值的绝对值的模拟值。
[0220]
接着,说明图13a的电路mp[i,j]的变形例子。注意,关于电路mp[i,j]的变形例子,主要说明与图13a的电路mp[i,j]不同部分,而有时省略与图13a的电路mp[i,j]相同的部分的说明。
[0221]
图13b所示的电路mp[i,j]在图13a的电路mp[i,j]中将布线il[i]与布线ilb[i]组合为布线il[j]。
[0222]
图13b所示的布线w1l[i]及布线w2l[i]相当于图12中的布线wls[i]。布线w1l[i]与保持部hc电连接,布线w2l[i]与保持部hcr电连接。
[0223]
另外,布线il[j]与保持部hc及保持部hcr电连接。
[0224]
在图13b的电路mp[i,j]中,在保持部hc及保持部hcr分别保持不同的数据(例如,电压、电阻值、电流等)时,优选依次在保持部hc及保持部hcr中保持数据,而不是同时保持。例如,考虑在可以通过保持部hc保持第一数据且保持部hcr保持第二数据而表示电路mp[i,j]的第一数据的情况。首先,对布线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]可以作为第一数据设定
[0225]
另外,在保持部hc和保持部hcr保持大致相同的数据(例如,电压、电阻值、电流等)
(通过使保持部hc及保持部hcr的每一个保持大致相同的数据而设定电路mp[i,j]的第一数据)时,以使保持部hc与布线il[j]间处于导通状态且使保持部hcr与布线il[j]间处于导通状态的方式对布线w1l[i]及布线w2l[i]分别供应指定的电位,然后从布线il[j]对保持部hc及保持部hcr供应对应于该数据的电流、电压等即可。
[0226]
图13b的电路mp[i,j]通过在保持部hc及保持部hcr保持对应于第一数据的电位且对布线x1l[i]及布线x2l[i]供应对应于第二数据z
i(k
‑
1)
的电位,与图13a的电路mp[i,j]同样地对布线ol[j]及布线olb[j]输出对应于第一数据与第二数据z
i(k
‑
1)
之积的电流。
[0227]
图13c所示的电路mp[i,j]是图13a的电路mp[i,j]的变形例子。与图13c的电路mp[i,j]同样,图13a的电路mp[i,j]包括电路mc、电路mcr。但是,与图13c的电路mp[i,j]电连接的布线的结构与图13a的电路mp[i,j]不同。
[0228]
具体而言,图13c的电路mp[i,j]具有如下结构:在图13a的电路mp[i,j]中布线ol[j]不与电路mcr电连接且布线olb[j]不与电路mc电连接。此外,由此,图13c的电路mp[i,j]具有在图13a的电路mp[i,j]中将布线x1l[i]及布线x2l[i]替换为布线xl[i]的结构。注意,布线xl[i]相当于图12中的布线xls[i],并与电路mc及电路mcr电连接。
[0229]
图13c的电路mp[i,j]由于不使布线ol[j]与电路mcr电连接且不使布线olb[j]与电路mc电连接,所以有时被输入电路mp的第二数据(神经元的信号的值)与图13a的电路mp[i,j]不同。例如,在对布线xl施加高电平电位的情况下,在将第二数据(神经元的信号的值)设定为“+1”且将布线xl设定为低电平电位时,第二数据(神经元的信号的值)可以为“0”。
[0230]
与图13a同样,图13d所示的电路mp[i,j]是能够对布线ol[j]及布线olb[j]输出对应于第一数据与第二数据z
i(k
‑
1)
之积的电流的电路。图13d的电路mp[i,j]例如可以应用于图12的运算电路130。
[0231]
图13d的电路mp[i,j]除了电路mc、电路mcr以外还包括晶体管mz。
[0232]
晶体管mz的第一端子与电路mc的第一端子、电路mcr的第一端子电连接。晶体管mz的第二端子与布线vl电连接。晶体管mz的栅极与布线xl[i]电连接。
[0233]
布线vl作为一个例子与图13a至图13c所示的布线ve[j]及布线ver[j]同样地被用作供应恒电压的布线。该恒电压优选根据电路mp[i,j]或运算电路130等的结构决定。作为该恒电压,例如可以采用高电平电位的vdd、低电平电位的vss、接地电位等。
[0234]
另外,图13d所示的布线wl[i]相当于图12的运算电路130中的布线wls[i]。布线wl[i]与保持部hc及保持部hcr电连接。
[0235]
另外,布线ol[j]与电路mc的第二端子电连接。另外,布线olb[j]与电路mcr的第二端子电连接。
[0236]
布线il[j]与保持部hc电连接,布线ilb[j]与保持部hcr电连接。
[0237]
关于在图13d的电路mp[i,j]中保持部hc及保持部hcr的每一个保持对应于第一数据的电位时的工作,参照图13a的电路mp[i,j]中的保持对应于第一数据的电位的工作的说明。
[0238]
在图13d的电路mp[i,j]中,在对电路mc的第一端子供应布线vl所供应的恒电压时,电路mc具有使对应于保持部hc所保持的电位的电流流过电路mc的第一端子与第二端子间的功能。另外,在对电路mc的第一端子供应布线vl所供应的恒电压时,电路mcr具有使对应于保持部hcr所保持的电位的电流流过电路mcr的第一端子与第二端子间的功能。换言之,通过使电路mp[i,j]的保持部hc、保持部hcr的每一个保持对应于第一数据的电位,可以决定流过电路mc的第一端子与第二端子间的电流量及流过电路mcr的第一端子与第二端子间的电流量。注意,在对电路mc(电路mcr)的第一端子没有供应布线vl所供应的恒电压时,例如可以视为电路mc(电路mcr)不使电流流过电路mc(电路mcr)的第一端子与第二端子间。
[0239]
例如,在对保持部hc、保持部hcr的每一个保持对应于“1”的第一数据的电位时,通过对电路mc供应布线vl所供应的恒电压,电路mc使指定电流流过电路mc的第一端子与第二端子间。因此,电流在电路mc与布线ol间流过。注意,此时电路mcr不使电流流过电路mcr的第一端子与第二端子间。因此,电流不在电路mcr与布线olb间流过。另外,例如,在对保持部hc、保持部hcr的每一个保持对应于
“‑
1”的第一数据的电位时,通过对电路mc供应布线vl所供应的恒电压,电路mcr使指定电流流过电路mcr的第一端子与第二端子间。因此,在电路mcr与布线olb间电流流过。注意,此时电路mc不使电流流过电路mc的第一端子与第二端子间。因此,在电路mc与布线ol间电流不流过。另外,例如,在保持部hc、保持部hcr的每一个保持对应于“0”的第一数据的电位时,不管电路mc及电路mcr供应有布线vl的恒电压,电路mc就不使电流流过电路mc的第一端子与第二端子间且电路mcr不使电流流过电路mcr的第一端子与第二端子间。换言之,在电路mc与布线ol间电流不流过,在电路mcr与布线olb间电流不流过。
[0240]
关于图13d的电路mp[i,j]中的保持部hc、保持部hcr所保持的对应于第一数据的电位的具体例子,参照图10a的电路mp[i,j]的记载。另外,与图13d的电路mp[i,j]同样,在图10a的电路mp[i,j]中,保持部hc、保持部hcr也可以具有不是保持电位而是保持电流、电阻值等数据的功能,电路mc、电路mcr也可以具有使根据该数据的电流流过的功能。
[0241]
另外,图13d所示的布线xl[i]相当于图12的运算电路130中的布线xls[i]。输入到电路mp[i,j]的第二数据z
i(k
‑
1)
例如根据布线xl[i]、电流等决定。由此,对晶体管mz的栅极例如通过布线xl[i]输入对应于第二数据z
i(k
‑
1)
的电位。
[0242]
例如,考虑第二数据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的恒电压。
[0243]
在此,例如,在第一数据为“1”且第二数据z
i(k
‑
1)
为“1”时,电流在电路mc与布线ol间流过且不在电路mcr与布线olb间流过。另外,例如,在第一数据为
“‑
1”且第二数据z
i(k
‑
1)
为“1”时,电流不在电路mc与布线ol间流过且在电路mcr与布线olb间流过。例如,在第一数据为“0”且第二数据z
i(k
‑
1)
为“1”时,电流不在电路mc与布线ol间及在电路mcr与布线olb间流过。另外,例如,在第二数据z
i(k
‑
1)
为“0”时,即使第一数据为
“‑
1”、“0”、“1”中的任一个,电流也不在电路mc与布线ol间及电路mcr与布线olb间流过。
[0244]
换言之,与图13c的电路mp[i,j]同样,图13d的电路mp[i,j]例如可以在第一数据为
“‑
1”、“0”、“1”的3值中的任一个且第二数据z
i(k
‑
1)
为“0”、“1”的2值时进行运算。另外,与图13c的电路mp[i,j]同样,图13d的电路mp[i,j]在第一数据为
“‑
1”、“0”、“1”中的任何2值,例如
“‑
1”、“1”的2值或者“0”、“1”的2值时,也可以工作。另外,第一数据也可以为模拟值或多位(多值)数字值。作为具体的一个例子,可以取得代替
“‑
1”的“负模拟值”以及代替“1”的“正模拟值”。在此情况下,从电路mc或电路mcr流过的电流的高低也例如为对应于第一数据的值的绝对值的模拟值。
[0245]
<<电路ild>>电路ild例如具有通过布线il[1]至布线il[n]及布线ilb[1]至布线ilb[n]对电路mp[1,1]至电路mp[m,n]的每一个输入对应于作为权系数的第一数据至的数据(例如,电位、电阻值、电流值等)的功能。具体而言,电路ild由布线il[j]、布线ilb[j]对电路mp[i,j]供应对应于作为权系数的第一数据的数据(例如,电位、电阻值或电流值等)。
[0246]
图14a示出可用于运算电路130的电路ild的电路结构例子。注意,在图14a中,为了说明电路ild与阵列部alp电连接,还示出布线ol[j]及布线olb[j]。电路ild包括电流源电路isc、开关swia、开关swiab、开关swla、开关swlab。布线ol[j]与开关swia的第一端子及开关swla的第一端子电连接。布线olb[j]与开关swiab的第一端子及开关swlab的第一端子电连接。电流源电路isc与开关swia的第二端子及开关swiab的第二端子电连接。布线vcn与开关swla的第二端子及开关swlab的第二端子电连接。
[0247]
电流源电路isc例如包括一个或多个恒流源,在图14a的一个例子中,作为多个恒流源包括恒流源电路isc1、恒流源电路isc2、恒流源电路isc3。此外,电流源电路isc作为一个例子为了选择多个恒流源包括多个开关,在图14a中作为多个开关包括开关swc1、开关swc2、开关swc3。注意,在电流源电路isc仅包括一个恒流源时,电流源电路isc也可以不包括开关。或者,在恒流源电路isc1、恒流源电路isc2、恒流源电路isc3分别具有控制是否输出电流的功能时,也可以不设置开关swc1、开关swc2、开关swc3。
[0248]
为了在电路mp[1,j]至电路mp[m,j]中的任一个中保持第一数据(权系数),布线ol
[j]及布线olb[j]中分别流过的电流如图14a所示优选在相同的电流源电路isc中生成。在布线ol[j]、布线olb[j]中分别流过的电流在不同的电流源电路中生成时,有时由于产生起因于晶体管的制造工序时等的该晶体管的特性偏差,因此在不同电流源电路中产生性能差异。另一方面,在使用同一电流源电路时,可以对布线ol[j]及布线olb[j]流过相同大小的电流,因此可以提高运算精度。
[0249]
注意,作为在图14a中说明的开关swia、开关swiab、开关swla、开关swlab、开关swc1、开关swc2、开关swc3的每一个,例如,可以使用与上述开关swr1、开关swr1b、开关swr2及开关swr2b相同的开关。
[0250]
图14b及图14c示出恒流源电路isc1至恒流源电路isc3的具体结构例子。图14b所示的恒流源电路isc1(恒流源电路isc2、恒流源电路isc3)包括p沟道型晶体管的晶体管ptr,晶体管ptr的第一端子与布线vso电连接,晶体管ptr的第二端子与开关swc1(开关swc2、开关swc3)的第二端子电连接,晶体管ptr的栅极与布线vb电连接。此外,图14c所示的恒流源电路isc1(恒流源电路isc2、恒流源电路isc3)包括n沟道型晶体管的晶体管ntr,晶体管ntr的第一端子与布线vso电连接,晶体管ntr的第二端子与开关swc1(开关swc2、开关swc3)的第二端子电连接,晶体管ntr的栅极与布线vb电连接。在图14b及图14c的每一个的恒流源电路isc1(恒流源电路isc2、恒流源电路isc3)中,布线vb被用作对每个晶体管的栅极输入偏置电压的布线。注意,也可以对布线vb供应脉冲信号。由此,可以控制是否从每个恒流源电路输出电流。此时,也可以不设置开关swc1、开关swc2、开关swc3。或者,也可以对布线vb供应模拟电压。由此,可以从恒流源电路供应模拟电流。
[0251]
布线vso被用作对恒流源电路isc1至恒流源电路isc3分别供应恒电压的布线。例如,在电流从电路ild(布线vso)向布线ol或布线olb流过时,作为该恒电压,优选为比接地电位高的电位(例如,vdd等),更优选使用图14b所示的恒流源电路isc1(恒流源电路isc2、恒流源电路isc3)。此外,例如,在电流从布线ol或布线olb向电路ild(布线vso)流过时,作为该恒电压,优选为比接地电位高且低于该高电平电位的电位、接地电位、负电位等,更优选使用图14c所示的恒流源电路isc1(恒流源电路isc2、恒流源电路isc3)。注意,在本说明书等中,有时将从电路ild流过布线ol或布线olb的电流记载为正电流。因此,有时将从布线ol或布线olb流过电路ild的电流记载为负电流。
[0252]
在恒流源电路isc1流过的电流为i
ut
时,作为一个例子,恒流源电路isc2流过的电流优选为2i
ut
,恒流源电路isc3流过的电流优选为4i
ut
。也就是说,在电流源电路isc包括p个(p为1以上的整数)的恒流源时,第p(p为1以上且p以下的整数)的恒流源流过的电流优选为2
(p
‑
1)
×
i
ut
。也就是说,通过切换开关swc1至swc3等的开启状态和关闭状态,可以改变从电流源电路isc流过的电流的大小。
[0253]
例如,电流源电路isc的恒流源的个数为3个(p=3)。当想要在布线ol[j]中流过i
ut
的电流时,在开关swia处于开启状态且开关swiab处于关闭状态下,开关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个以上即可。此外,同样地,通过开关swia处于关闭状态,且开关swiab处于开启状态,可以在布线olb[j]中流过8值
中的任一个的电流量。注意,在从电流源电路isc没有输出电流时,也可以不使电流源电路isc的开关swc1至开关swc3处于关闭状态且使开关swia、开关swiab处于关闭状态。通过如此配置多个恒流源,可以容易实现能够生成将电流量设定为多值的电流的电路。注意,也可以仅配置1个电流源电路,以改变模拟输出的电流值的方式使该电流源电路工作。
[0254]
布线vcn被用作对布线ol[j]及/或布线olb[j]供应恒电压的布线。例如,在电流(正电流)从电路ild流过布线ol或布线olb时,布线vcn所供应的恒电压优选为低电平电位(例如vss等)。例如,在电流(负电流)从布线ol或布线olb流过电路ild时,布线vcn所供应的恒电位优选为高电平电位。注意,如后面说明的图20a至图20c、图21a、图21b等所示,在电容c1与晶体管m1等的源极端子电连接,该源极端子与电源线等连接的情况下,在正电流从电路ild流过布线ol或布线olb时,布线vcn所供应的恒电压优选为低电平电位(例如vss等)。也就是说,在从布线vcn供应恒电压时,优选使电容c1的两端的电位差近于零。换言之,优选从电路mc将电流不输出的电位例如与布线ve所供应的电位大致相等的电位供应给布线vcn。
[0255]
这里,对输入到电路mp的第一数据(权系数)进行说明。
[0256]
在对电路mp输入正的第一数据时,对布线ol[j]输入对应于该第一数据的电流,对布线olb[j]输入布线vcn所供应的恒电位即可。作为一个例子,使电流源电路isc与布线ol[j]之间处于导通状态,使电流源电路isc与布线olb[j]之间处于非导通状态,使布线vcn与布线ol[j]之间处于非导通状态,使布线vcn与布线olb[j]之间处于导通状态即可。换言之,使开关swia及swlab处于开启状态,使开关swiab及开关swla分别处于关闭状态即可。由此,通过使电流源电路isc与布线ol[j]之间处于导通状态,可以从电流源电路isc通过布线ol[j]向电路mp流过电流。另外,在电流源电路isc的恒流源的个数为p个时,该电流为2
p
‑
1值的任一个(不包括零电流)。由于对电路mp输入的正权系数根据该电流决定,因此该权系数可以为2
p
‑
1值的任一个。此外,由于在布线vcn与布线olb[j]之间成为导通状态,所以对布线olb[j]从布线vcn输入恒电压。
[0257]
在对电路mp输入负的第一数据时,对布线olb[j]输入对应于该第一数据的电流,对布线ol[j]输入布线vcn所供应的恒电位即可。作为一个例子,使电流源电路isc与布线ol[j]之间处于非导通状态,使电流源电路isc与布线olb[j]之间处于导通状态,使布线vcn与布线ol[j]之间处于导通状态,使布线vcn与布线olb[j]之间处于非导通状态即可。换言之,使开关swiab、开关swla处于开启状态,使开关swia、开关swlab分别处于关闭状态即可。由此,通过使电流源电路isc与布线olb[j]之间处于导通状态,可以从电流源电路isc通过布线olb[j]向电路mp流过电流。此外,在电流源电路isc的恒流源的个数为p个时,该电流为2
p
‑
1值的任一个(不包括零电流)。由于对电路mp输入的负权系数根据该电流决定,所以该权系数可以为2
p
‑
1值的任一个。此外,由于在布线vcn与布线ol[j]之间成为导通状态,所以对布线ol[j]从布线vcn输入恒电压。
[0258]
在想要对电路mp输入0的第一数据时,对布线ol[j]、布线olb[j]分别输入布线vcn所供应的恒电位。作为一个例子,使电流源电路isc与布线ol[j]之间处于非导通状态,使电流源电路isc与布线olb[j]之间处于非导通状态,使布线vcn与布线ol[j]之间处于导通状态,使布线vcn与布线olb[j]之间处于导通状态即可。换言之,使开关swla、开关swlab处于开启状态,使开关swia、开关swiab分别处于关闭状态即可。由此,由于使布线vcn与布线ol
[j]之间处于导通状态,使布线vcn与布线olb[j]之间处于导通状态,所以对布线ol[j]、布线olb[j]从布线vcn输入恒电压。
[0259]
也就是说,通过电流源电路isc的恒流源的个数为p个,能够对电路mp输入的权系数的个数(正权系数、负权系数、0的权系数的总和)为2
p+1
‑
1个。
[0260]
注意,以上说明电路ild包括电流源电路isc,但是本发明的一个方式不局限于此。例如,也可以配置电压源电路代替电流源电路isc。此外,例如,作为用于布线ol[j]的电路及用于布线olb[j]的电路,也可以分别配置至少一个电流源电路isc。另外,例如,如图14a所示,也可以对于布线ol[j]及布线olb[j]的一组布线包括至少一个电流源电路isc。注意,电路ild也可以配置作为与电路afp不同的电路,但是本发明的一个方式不局限于此。例如,电路ild与电路afp也可以组合为一个电路。
[0261]
<运算电路的工作例子>接着,说明图12的运算电路130的工作例子。注意,在本工作例子的说明中,作为一个例子,使用图15所示的运算电路130a。
[0262]
在图15所示的运算电路130a中,对图12的运算电路130应用图8所示的电路actf[j],着眼于位于图12的运算电路130的第j列的电路。因此,图15的运算电路130a相当于进行如下积和运算及使用该积和运算的结果的激活函数的运算的电路:在图1a所示的神经网络100中对神经元n
j(k)
输入的来自神经元n
1(k
‑
1)
至神经元n
m(k
‑
1)
的信号z
1(k
‑
1)
至z
m(k
‑
1)
(有时被称为第一数据或第二数据。这里被称为第二数据。)与权系数至(有时被称为第一数据或第二数据。这里被称为第一数据。)的积和运算。
[0263]
对图15的运算电路130a的阵列部alp所包括的电路mp使用图13a的电路mp,作为布线wls[1]至布线wls[m]示出布线wl[1]至布线wl[m],作为布线xls[1]至布线xls[m]示出布线x1l[1]至布线x1l[m]、布线x2l[1]至布线x2l[m]。此外,对图15的运算电路130a的电路actf[j]所包括的电路ivtr及电路ivtrr使用图6a所示的电路ivtr(电路ivtrr)。
[0264]
首先,在运算电路130a中,电路mp[1,j]至电路mp[m,j]设定第一数据至作为第一数据的设定方法,可以举出:由电路wld对布线wls[1]至布线wls[m]依次输入指定电位,依次选择电路mp[1,j]至电路mp[m,j],对包括在所选择的电路mp的电路mc、电路mcr的保持部hc、保持部hcr从电路ild通过布线ol[j]、布线olb[j]供应对应于第一数据的电位、电流等。通过供应电位、电流等之后由电路wld使电路mp[1,j]至电路mp[m,j]的每一个处于非选择状态,可以在电路mp[1,j]至电路mp[m,j]的每一个所包括的电路mc的保持部hc及电路mcr的保持部hcr保持对应于第一数据至的电位、电流等。作为一个例子,在第一数据至中的任一个为正值时,对保持部hc输入对应于其正值的值,对保持部hcr输入相当于零的值。另一方面,在第一数据至中的任一个为负值时,对保持部hc输入相当于零的值,对保持部hcr输入对应于负值的绝对值的值。此外,在第一数据至中的任一个为0的值时,对保持部hc输入相当于零的值,对保持部hcr输入对应
于零的值的绝对值的值。
[0265]
接着,由电路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)
。
[0266]
根据对电路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]间可以处于非导通状态的值。
[0267]
通过根据输入到电路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]中设定的第一数据及/或第二数据z
i(k
‑
1)
决定。
[0268]
例如,在电路mp[i,j]中,将从布线ol[j]流过电路mc或电路mcr的电流记为i[i,j],将从布线olb[j]流过电路mc或电路mcr的电流记为i
b
[i,j]。然后,在将从电路actf[j]流过布线ol[j]的电流记为i
out
[j]且将从布线olb[j]流过电路actf[j]的电流记为i
bout
[j]时,i
out
[j]及i
bout
[j]可以以下面算式表示。
[0269]
[算式5][算式5]
[0270]
在电路mp[i,j]中,作为一个例子,在第一数据为“+1”时,在电路mc与布线ol[j]和布线olb[j]中的一个之间流过i(+1),在电路mcr与布线ol[j]和布线olb[j]中的另一个之间流过i(
‑
1),在第一数据为
“‑
1”时,在电路mc与布线ol[j]和布线olb[j]中的一个之间流过i(
‑
1),在电路mcr与布线ol[j]和布线olb[j]中的另一个之间流过i(+1),在第一数据为“0”时,在电路mc与布线ol[j]和布线olb[j]中的一个之
间流过i(
‑
1),在电路mcr与布线ol[j]和布线olb[j]中的另一个之间流过i(
‑
1)。
[0271]
再者,在第二数据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]间处于非导通状态”。
[0272]
此时,以下表示出在电路mp[i,j]中从布线ol[j]流过电路mc或电路mcr的电流i[i,j]以及从布线olb[j]流过电路mc或电路mcr的电流i
b
[i,j]。注意,根据情况,也可以以i(
‑
1)的电流量为0的方式构成电路mp[i,j]。另外,电流i[i,j]也可以为从电路mc或电路mcr流过布线ol[j]的电流。同样地,电流i
b
[i,j]也可以为从电路mc或电路mcr向布线olb[j]流过的电流。
[0273]
[表1]
[0274]
电路actf[j]例如生成对应于在布线ol[j]、布线olb[j]中流过的i
out
[j]及i
bout
[j]的每一个的电压。根据对应于i
out
[j]的电压与对应于i
bout
[j]的电压之差输出神经元n
j(k)
发送到第(k+1)层的神经元的信号z
j(k)
。
[0275]
注意,电路actf[j]的工作参照实施方式1的图8的运算电路110a的工作例子的说明。
[0276]
<运算电路的结构例子2>注意,在图15所示的运算电路130a中在i
out
[j]比i
bout
[j]大时(u
j(k)
为正时)电路ac输出正值的信号z
j(k)
,而在i
bout
[j]比i
out
[j]大时(u
j(k)
为负时)电路ac作为数字信号输出0的输出信号z
j(k)
,但是本发明的一个方式不局限于此。例如,运算电路130a的结构也可以改变为如下结构:在i
bout
[j]比i
out
[j]大时(u
j(k)
为负时)电路ac输出负值的输出信号z
j(k)
。
[0277]
图16示出这种运算电路的例子。图16所示的运算电路140具有改变图15的运算电路130a的电路afp所包括的电路actf[j]的结构。此外,运算电路140的电路结构为图4a所示的运算电路120的一个例子。电路actf[j]包括开关swr1m、开关swr1mb、开关swr1p、开关
swr1pb、开关swr2m、开关swr2mb、开关swr2p、开关swr2pb、电容crem、电容crep、电路acm、电路acp、电路ivtr、电路ivtrr。此外,电路acp包括端子mbt1p、端子mbt2p,电路acm包括端子mbt1m、端子mbt2m。
[0278]
注意,运算电路140的电路actf[j]所包括的开关swr1p、开关swr2p、开关swr1pb、开关swr2pb、电容crep、电路acp分别相当于图15的电路actf[j]所包括的开关swr1、开关swr2、开关swr1b、开关swr2b、电容cre、电路ac。此外,图16的电路acp所包括的端子mbt1p及端子mbt2p分别相当于图15的电路ac所包括的端子mbt1及端子mbt2。因此,关于开关swr1p、开关swr2p、开关swr1pb、开关swr2pb、电容crep、电路acp的每一个的连接结构、功能等参照图15所示的电路actf[j]的说明。
[0279]
开关swr1m的第一端子与电路ivtr、端子t1、开关swr1p的第一端子电连接。开关swr1m的第二端子与电容crem的第一端子、开关swr2mb的第一端子电连接。开关swr2mb的第二端子与电路acm的端子mbt1m电连接。开关swr1mb的第一端子与电路ivtrr、端子t2、开关swr1pb的第一端子电连接。开关swr1mb的第二端子与电容crem的第二端子、开关swr2m的第一端子电连接。开关swr2m的第二端子与布线vcn3电连接。
[0280]
电路acm例如可以具有与电路acp即图15的电路ac同样的电路结构。此外,电路acp也可以在端子mbt1p被输入比规定电位(例如,gnd电位)低的电位时例如从端子mbt2p作为数字信号输出0的值的信号,同样地,电路acm也可以在端子mbt1m被输入比规定电位(例如,gnd电位)低的电位时例如从端子mbt2m作为数字信号输出0的值的信号。
[0281]
作为开关swr1m、开关swr2m、开关swr1mb及开关swr2mb例如可以分别使用与上述开关swr1、开关swr1b、开关swr2及开关swr2b同样的开关。此外,这里,开关swr1m、开关swr2m、开关swr1mb、开关swr2mb、开关swr1p、开关swr2p、开关swr1pb及开关swr2pb都在控制端子被输入高电平电位时成为开启状态,在控制端子被输入低电平电位时成为关闭状态。
[0282]
开关swr1m、开关swr1p、开关swr1mb、开关swr1pb的每一个的控制端子优选与同一布线电连接。也就是说,开关swr1m、开关swr1p、开关swr1mb、开关swr1pb的每一个优选以同时成为开启状态或关闭状态的方式工作。
[0283]
开关swr2m及开关swr2p的每一个的控制端子优选与同一布线电连接。也就是说,开关swr2m、开关swr2p的每一个优选以同时成为开启状态或关闭状态的方式工作。
[0284]
开关swr2mb、开关swr2pb的每一个的控制端子优选与同一布线电连接。也就是说,开关swr2mb、开关swr2pb的每一个优选以同时成为开启状态或关闭状态的方式工作。
[0285]
这里,考虑到在图16的运算电路140中电路actf[j]读出从布线ol[j]流过的i
out
[j]、从布线olb[j]流过的i
bout
[j]的情况。注意,开关swr1m、开关swr1p、开关swr1mb、开关swr1pb的每一个的控制端子与布线srl1电连接,开关swr2m、开关swr2p的每一个的控制端子与布线srl2
‑
1电连接,开关swr2mb、开关swr2pb的每一个的控制端子与布线srl2
‑
2电连接。
[0286]
在电流i
out
[j]比i
bout
[j]大时,如上述工作例子那样,在时刻t04,电容crep的第一端子的电位v
iout
比电容crep的第二端子的电位v
ibout
低。并且,在时刻t04至时刻t05,保持电容crep的第一端子
‑
第二端子间的电压,在时刻t06至时刻t07,由于电容crep的电容耦合电容crep的第二端子的电位比gnd电位高。在时刻t07以后,该电位输入到电路acp的端子
mbt1p,从电路acp的端子mbt2p输出对应于该电位的数字信号。
[0287]
另一方面,在时刻t04,电容crem的第一端子的电位v
iout
比电容crem的第二端子的电位v
ibout
低。并且,在时刻t04至时刻t05,保持电容crem的第一端子
‑
第二端子间的电压,在时刻t06至时刻t07,由于电容crem的电容耦合电容crem的第一端子的电位比gnd电位低。在时刻t07以后,该电位输入到电路acm的端子mbt1m,从电路acm的端子mbt2m输出0的值的数字信号。
[0288]
也就是说,在电流i
out
[j]比i
bout
[j]大时,从电路acp的端子mbt2p输出对应于端子mbt1p的电位的数字信号
z
,从电路acm的端子mbt2m输出gnd电位。并且,可以将这些两个数字信号的组设定为从电路actf[j]输出的正值的输出信号z
j(k)
。
[0289]
在电流i
out
[j]比i
bout
[j]小时,如上述工作例子那样,在时刻t04,电容crep的第一端子的电位v
iout
比电容crep的第二端子的电位v
ibout
高。并且,在时刻t04至时刻t05,保持电容crep的第一端子
‑
第二端子间的电压,在时刻t06至时刻t07,由于电容crep的电容耦合电容crep的第二端子的电位比gnd电位低。在时刻t07以后,该电位输入到电路acp的端子mbt1p,从电路acp的端子mbt2p输出0的值的数字信号。
[0290]
另一方面,在时刻t04,电容crem的第一端子的电位v
iout
比电容crem的第二端子的电位v
ibout
高。并且,在时刻t04至时刻t05,保持电容crem的第一端子
‑
第二端子间的电压,在时刻t06至时刻t07,由于电容crem的电容耦合电容crem的第一端子的电位比gnd电位高。在时刻t07以后,该电位输入到电路acm的端子mbt1m,从电路acm的端子mbt2m输出对应于该电位的数字信号。
[0291]
也就是说,在电流i
out
[j]比i
bout
[j]小时,从电路acp的端子mbt2p输出gnd电位,从电路acm的端子mbt2m输出对应于端子mbt1p的电位的数字信号。可以将这些两个数字信号的组设定为从电路actf[j]输出的负值的输出信号z
j(k)
。
[0292]
<运算电路的结构例子3>注意,在图12所示的运算电路130中,电路mp[i,j]与布线il[j]、布线ilb[j]、布线ol[j]、布线ol[j]电连接,但是本发明的一个方式不局限于此。例如,可以在运算电路130中将布线il[j]与布线ol[j]组合为布线ol[j]且将布线ilb[j]与布线olb[j]组合为布线olb[j]。
[0293]
图17示出该运算电路的结构例子。图17所示的运算电路150在运算电路130中将布线il[j]与布线ol[j]组合为布线ol[j]且将布线ilb[j]与布线olb[j]组合为布线olb[j]。
[0294]
运算电路150包括切换电路tw[1]至切换电路tw[n]。切换电路tw[1]至tw[n]的每一个包括端子tsa、端子tsab、端子tsb、端子tsbb、端子tsc、端子tscb。端子tsa与布线ol[j]电连接,端子tsbb与电路ild电连接,端子tsc与电路actf[i]电连接。端子tsab与布线olb[j]电连接,端子tsbb与电路ild电连接,端子tscb与电路actf[j]电连接。
[0295]
切换电路tw[j]具有使端子tsa与端子tsb和端子tsc中的一个之间处于导通状态,使端子tsa与端子tsb和端子tsc中的另一个之间处于非导通状态的功能。此外,切换电路tw[j]具有使端子tsab与端子tsbb和端子tscb中的一个之间处于导通状态,使端子tsab与端子tsbb和端子tscb中的另一个之间处于非导通状态的功能。
[0296]
也就是说,在想要对电路mp[1,j]至电路mp[m,j]中的任一个输入对应于作为权系数的第一数据至的数据(例如,电位、电阻值、电流值等)时,在切换
电路tw[j]中,在端子tsa与端子tsb之间处于导通状态,且在端子tsab与端子tsbb之间处于导通状态,由此可以从电路ild对布线ol[j]、布线olb[j]供应对应于第一数据至的数据(例如,电位、电阻值、电流值等)。
[0297]
在电路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)
。
[0298]
接着,对包括在运算电路150中的切换电路tw[j]及电路ild进行说明。在图18a中示出能够用于运算电路150的切换电路tw[j]及电路ild的结构例子。注意,在图18a中为了示出切换电路tw[j]及电路ild的电连接结构,也示出布线ol[j]、布线olb[j]、电路afp。
[0299]
切换电路tw[j]作为一个例子包括开关swi、开关swib、开关swo、开关swob、开关swl、开关swlb。
[0300]
电路ild作为一个例子包括电流源电路isc。注意,电流源电路isc可以具有与图14a的电路ild的电流源电路isc同样的结构。因此,图18a的电流源电路isc参照图14a的电路ild所包括的电路isc的说明。
[0301]
注意,在图18a中说明的开关swi、开关swib、开关swo、开关swob、开关swl、开关swlb例如可以使用与上述开关swr1、开关swr1b、开关swr2及开关swr2b同样的开关。
[0302]
在切换电路tw[j]的一个例子中,端子tsa与开关swi的第一端子、开关swo的第一端子、开关swl的第一端子电连接。端子tsab与开关swib的第一端子、开关swob的第一端子、开关swlb的第一端子电连接。开关swi的第二端子与端子tsb1电连接。开关swib的第二端子与端子tsbb1电连接。开关swo的第二端子与端子tsc电连接。开关swob的第二端子与端子tscb电连接。开关swl的第二端子与端子tsb2电连接。开关swlb的第二端子与端子tsbb2电连接。
[0303]
在图18a中示出的端子tsb1、端子tsb2相当于在图17中所示的端子tsb。此外,在图18a中示出的端子tsbb1、端子tsbb2相当于在图17中示出的端子tsbb。
[0304]
布线vcn与图14a的电路ild的布线vcn同样地被用作对布线ol[j]及/或布线olb[j]供应恒电压的布线。因此,图18a的布线vcn参照图14a的布线vcn的说明。
[0305]
切换电路tw[j]通过将开关swi、开关swib、开关swo、开关swob、开关swl、开关swlb的每一个切换为开启状态或关闭状态,可以改变与布线ol[j]及布线olb[j]成为导通状态的电路。
[0306]
例如,在对电路mp输入正权系数时,对布线ol[j]输入对应于该权系数的电流,对布线olb[j]输入布线vcn所供应的恒电位即可。作为一个例子,使电流源电路isc与布线ol[j]之间处于导通状态,使电流源电路isc与布线olb[j]之间处于非导通状态,使电路afp与布线ol[j]之间处于非导通状态,使电路afp与布线olb[j]之间处于非导通状态,使布线vcn与布线ol[j]之间处于非导通状态,使布线vcn与布线olb[j]之间处于导通状态即可。换言之,在切换电路tw[j]中,使开关swi、swlb处于开启状态,使开关swib、开关swo、开关swob、
开关swl分别处于关闭状态即可。由此,通过使电流源电路isc与布线ol[j]之间处于导通状态,可以从电流源电路isc通过布线ol[j]向电路mp流过电流。此外,由于在布线vcn与布线olb[j]之间成为导通状态,所以对布线olb[j]从布线vcn输入恒电压。
[0307]
例如,在对电路mp输入负权系数时,对布线olb[j]输入对应于该权系数的电流,对布线ol[j]输入布线vcn所供应的恒电位即可。作为一个例子,使电流源电路isc与布线ol[j]之间处于非导通状态,使电流源电路isc与布线olb[j]之间处于导通状态,使电路afp与布线ol[j]之间处于非导通状态,使电路afp与布线olb[j]之间处于非导通状态,使布线vcn与布线ol[j]之间处于导通状态,使布线vcn与布线olb[j]之间处于非导通状态即可。换言之,在切换电路tw[j]中,使开关swib、开关swl处于开启状态,使开关swi、开关swo、开关swob、开关swlb分别处于关闭状态即可。由此,通过使电流源电路isc与布线olb[j]之间处于导通状态,可以从电流源电路isc通过布线olb[j]向电路mp流过电流。此外,由于在布线vcn与布线ol[j]之间成为导通状态,所以对布线ol[j]从布线vcn输入恒电压。
[0308]
例如,在想要对电路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]之间处于导通状态即可。换言之,在切换电路tw[j]中,使开关swl、开关swlb处于开启状态,使开关swi、开关swib、开关swo、开关swob分别处于关闭状态即可。由此,由于使布线vcn与布线ol[j]之间处于导通状态,使布线vcn与布线olb[j]之间处于导通状态,所以对布线ol[j]、olb[j]从布线vcn输入恒电压。
[0309]
例如,在从电路mp[i,j]对电路afp供应数据(例如,电位、电流等)时,作为一个例子,使电流源电路isc与布线ol[j]之间处于非导通状态,使电流源电路isc与布线olb[j]之间处于非导通状态,使电路afp与布线ol[j]之间处于导通状态,使电路afp与布线olb[j]之间处于导通状态,使布线vcn与布线ol[j]之间处于非导通状态,使布线vcn与布线olb[j]之间处于非导通状态即可。换言之,在切换电路tw[j]中,使开关swo、开关swob处于开启状态,使开关swi、开关swib、开关swl、开关swlb分别处于关闭状态即可。由此,由于在电路afp与电路mp[i,j]之间成为导通状态,所以可以从电路mp[i,j]对电路afp供应数据(例如,电位、电流等)。
[0310]
注意,能够用于本发明的一个方式的运算电路150的切换电路tw[j]及电路ild不局限于图18a所示的电路结构。切换电路tw[j]及电路ild的每一个的电路结构可以根据状况改变。例如,也可以对图18a所示的切换电路tw[j]加上开关swh、开关swhb且在电路ild中设置布线vcn2。图18b示出这种结构的例子。
[0311]
在图18b中,开关swh的第一端子与布线ol[j]电连接,开关swh的第二端子与布线vcn2电连接。此外,开关swhb的第一端子与布线olb[j]电连接,开关swhb的第二端子与布线vcn2电连接。
[0312]
布线vcn2被用作对布线ol[j]及/或布线olb[j]供应恒电压的布线。例如,在从电路ild通过切换电路tw[j]向布线ol或布线olb流过电流(正电流)时,布线vcn2所供应的恒电压优选为高电平电位(例如vdd等)。另外,例如,在从布线ol或布线olb通过切换电路tw[j]向电路ild流过电流(负电流)时,布线vcn2所供应的恒电位优选为接地电位或低电平电
位(例如vss等)。尤其是,布线vcn4所供应的电压优选为在图6a及图6c中说明的布线vcn4的电压。
[0313]
在图18b的电路结构中,通过使开关swi、开关swib、开关swo、开关swob、开关swl及开关swlb处于关闭状态且使开关swh及开关swhb处于开启状态,可以对布线ol[j]、布线olb[j]的每一个输入布线vcn2所供应的电压。这里,例如,在布线vcn2所供应的电压为与在图6a至图6c中说明的布线vcn4同样的电压时,在图9的时序图的工作例子中的时刻t01至时刻t02,通过不使开关swr3及开关swr3b处于开启状态而使开关swh及开关swhb处于开启状态,可以对布线ol[j]及布线olb[j]供应与布线vcn4同样的电压。也就是说,通过运算电路140具有图18b的电路结构,可以省略在图6a至图6c的电路ivtr(电路ivtrr)中示出的开关swr3(开关swr3b)。
[0314]
这里,说明可用于运算电路150的电路mp[i,j]的结构例子。
[0315]
图19a示出可用于运算电路150的电路mp[i,j]的结构例子。具体而言,图19a的电路mp[i,j]为改变图13a的电路mp[i,j]的结构的电路,将图13a的电路mp[i,j]的布线il[j]与布线ol[j]组合为一个布线,且将布线ilb[j]与布线olb[j]组合为一个布线。因此,图19a的电路mp[i,j]参照图13a的电路mp[i,j]的说明。
[0316]
接着,说明图19a的电路mp[i,j]的变形例子。注意,关于电路mp[i,j]的变形例子,主要说明与图19a的电路mp[i,j]不同部分,而有时省略与图19a的电路mp[i,j]相同的部分的说明。
[0317]
图19b所示的电路mp[i,j]具有在图19a的电路mp[i,j]中将布线x1l[i]替换为布线布线wx1l[i]的结构。换言之,在图19b的电路mp[i,j]中,布线wx1l[i]及布线wl[i]被用作为了进行布线ol[j]与保持部hc之间处于导通状态或非导通状态的切换、布线olb[j]与保持部hcr之间处于导通状态或非导通状态的切换供应规定电位的布线。此外,在图19b的电路mp[i,j]中,布线wx1l[i]及布线x2l[i]被用作供应根据对电路mp[i,j]输入的第二数据z
i(k
‑
1)
的电流、电压等的布线。注意,在实施方式3中说明图19b的具体电路结构。
[0318]
接着,说明与图19b不同地使图19a的电路mp[i,j]变形的例子。图19c所示的电路mp[i,j]是图19a的电路mp[i,j]的变形例子。与图19a的电路mp[i,j]同样,图19c的电路mp[i,j]包括电路mc、电路mcr。但是,图19c的电路mp[i,j]在电路mcr不包括保持部hcr,这一点与图19a的电路mp[i,j]不同。
[0319]
另外,因为电路mcr不包括保持部hcr,所以应用图19c的电路mp[i,j]的运算电路可以不包括用来供应保持在保持部hcr中的电位的布线。并且,电路mcr可以不与布线wl[i]电连接。
[0320]
在图19c的电路mp[i,j]中,电路mc中的保持部hc与电路mcr电连接。换言之,图19c的电路mp[i,j]具有电路mcr和电路mc共同使用保持部hc的结构。例如,可以将保持部hc所保持的信号的反转信号从保持部hc供应到电路mcr。由此,可以在电路mc和电路mcr进行不同工作。另外,也可以通过使电路mc与电路mcr的内部电路结构不同,来将电路mc及电路mcr的对保持部hc所保持的同一信号输出的电流的高低不同。在此,通过在保持部hc保持对应于第一数据的电位且对布线x1l[i]及布线x2l[i]供应对应于第二数据z
i(k
‑
1)
的电位,电路mp[i,j]可以对布线ol[j]及布线olb[j]输出对应于第一数据与第二
数据z
i(k
‑
1)
之积的电流。注意,在实施方式3中说明图19c的具体电路结构。
[0321]
图19d所示的电路mp[i,j]是图19a的电路mp[i,j]的变形例子,也是图13c的电路mp[i,j]的变形例子。具体而言,图19d的电路mp[i,j]在图13c中将布线il[j]与布线ol[j]组合为一个布线ol[j],且将布线ilb[j]与布线olb[j]组合为一个布线olb[j]。因此,关于图19d的电路mp[i,j]参照图13c的电路mp[i,j]的说明。
[0322]
图19e所示的电路mp[i,j]是图19a的电路mp[i,j]的变形例子,也是图13d的电路mp[i,j]的变形例子。具体而言,图19d的电路mp[i,j]具有在图13d中不设置布线il[j]及布线ilb[j]的结构。因此,关于图19d的电路mp[i,j]参照图13d的电路mp[i,j]的说明。
[0323]
注意,本实施方式可以与本说明书所示的其他实施方式适当地组合。
[0324]
(实施方式3)在本实施方式中,对在上述实施方式1及实施方式2中说明的电路mp的具体结构例子进行说明。
[0325]
注意,在实施方式1及实施方式2中对电路mp的符号附上表示阵列部alp内的位置的[1,1]、[i,j]、[m,n]等,但是在没有特别的说明的情况下,本实施方式省略对电路mp的符号附上[1,1]、[i,j]、[m,n]等。
[0326]
<结构例子1>首先,说明能够应用于图13a的电路mp的电路结构的例子。图20a所示的电路mp是图13a的电路mp的结构的一个例子,图20a的电路mp所包括的电路mc例如包括晶体管m1、开关s2至开关s5及电容c1。另外,例如,由开关s2、开关s5及电容c1构成保持部hc。
[0327]
注意,开关s2至开关s5也可以为电开关或机械开关。此外,作为电开关,例如可以为晶体管。也就是说,开关s2至开关s5也可以使用与晶体管m1相同的晶体管。尤其是,开关s2为了在电容c1的第一端子中长时间保持电位,优选使用关态电流非常小的os晶体管。注意,在实施方式5中详细说明os晶体管。
[0328]
在图20a的电路mp中,电路mcr具有与电路mc大致相同的电路结构。因此,为了与电路mc所包括的电路元件等区分,对电路mcr所包括的电路元件等的符号附上“r”。
[0329]
图20a所示的晶体管m1例如采用在沟道上下包括栅极的多栅极结构的n沟道型晶体管,晶体管m1都包括第一栅极及第二栅极。注意,在本说明书等中,为了方便起见,例如将第一栅极记为栅极(有时记为前栅极。),将第二栅极记为背栅极来进行区分,但是第一栅极和第二栅极可以相互调换。因此,在本说明书等中,“栅极”可以记为“背栅极”。同样地,“背栅极”可以记为“栅极”。具体而言,“栅极与第一布线电连接且背栅极与第二布线电连接”的连接结构可以调换为“背栅极与第一布线电连接且栅极与第二布线电连接”的连接结构。例如,如图20b所示,晶体管m1的背栅极也可以与电容c1的第一端子及开关s2的第一端子电连接。
[0330]
另外,本发明的一个方式的半导体装置不取决于晶体管的背栅极的连接结构。在图20a所示的晶体管m1中示出背栅极而不示出该背栅极的连接关系,但是可以在进行设计时决定该背栅极的电连接点。例如,在包括背栅极的晶体管中,为了提高该晶体管的通态电流,可以使栅极与背栅极电连接。换言之,例如,也可以使晶体管m1的栅极与背栅极电连接。另外,例如,在包括背栅极的晶体管中,为了使该晶体管的阈值电压改变或降低该晶体管的关态电流,设置与外部电路等电连接的布线而通过该外部电路等对晶体管的背栅极供应电
位。除了图20a以外,说明书中的其他部分所记载的晶体管或其他附图表示的晶体管也是同样的。
[0331]
另外,本发明的一个方式的半导体装置不取决于该半导体装置所包括的晶体管的结构。例如,如图20c所示,图20a所示的晶体管m1也可以为不包括背栅极的结构,即单栅极结构的晶体管。另外,也可以为一部分晶体管包括背栅极且其他一部分晶体管不包括背栅极。除了图20a所示的电路图以外,说明书中的其他部分所记载的晶体管或其他附图表示的晶体管也是同样的。
[0332]
另外,在本说明书等中,作为晶体管可以使用各种结构的晶体管。因此,对使用的晶体管的种类没有限制。作为晶体管的一个例子,可以使用具有单晶硅的晶体管或者具有以非晶硅、多晶硅或微晶(也称为微结晶、纳米晶、半非晶(semi
‑
amorphous))硅等为代表的非单晶半导体膜的晶体管等。或者,可以使用使这些半导体薄膜化的薄膜晶体管(tft)等。tft的使用有各种优点。例如,由于与制造单晶硅的情况相比可以以低温度制造,所以可以实现制造成本的降低或制造装置的大型化。由于可以增大制造装置,所以可以在大型衬底上制造。因此,由于可以同时制造多个显示装置,所以可以以低成本制造。或者,由于制造温度低,所以可以使用耐热性低的衬底。因此,可以在具有透光性的衬底上制造晶体管。或者,可以通过使用形成在具有透光性的衬底上的晶体管来控制显示元件的透光。或者,因为晶体管的膜厚较薄,所以形成晶体管的膜的一部分能够透光。因此,可以提高开口率。
[0333]
作为晶体管的一个例子,可以使用包括化合物半导体(例如,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等)等的晶体管。或者,可以使用使上述化合物半导体或上述氧化物半导体薄膜化的薄膜晶体管等。由此,可以降低制造温度,所以例如可以在室温下制造晶体管。其结果是,可以在塑料衬底或薄膜衬底等耐热性低的衬底上直接形成晶体管。此外,不仅可以将这些化合物半导体或氧化物半导体用于晶体管的沟道部分,而且还可以用作其它用途。例如,可以将这些化合物半导体或氧化物半导体用作布线、电阻元件、像素电极或具有透光性的电极等。因为可以与晶体管同时沉积或形成上述半导体,所以可以降低成本。
[0334]
作为晶体管的一个例子,可以使用通过喷墨法或印刷法形成的晶体管等。因此,可以以室温制造、以低真空度制造或在大型衬底上制造。因此,即使不使用掩模(掩模版(reticle))也可以进行制造,所以可以容易地改变晶体管的布局。或者,因为可以以不使用抗蚀剂的方式进行制造,所以可以减少材料费,并减少工序数。或者,因为可以只在需要的部分上形成膜,所以与在整个面上形成膜之后进行蚀刻的制造方法相比成本较低且不浪费材料。
[0335]
作为晶体管的一个例子,可以使用具有有机半导体或碳纳米管的晶体管等。由此,可以在能够弯曲的衬底上形成晶体管。使用具有有机半导体或碳纳米管的晶体管的装置能抗冲击。
[0336]
作为晶体管还可以使用其他各种结构的晶体管。例如,作为晶体管,可以使用mos型晶体管、接合型晶体管、双极晶体管等。通过作为晶体管使用mos型晶体管,可以减小晶体管尺寸。因此,可以安装多个晶体管。通过作为晶体管使用双极晶体管,可以使较大的电流流过。因此,可以使电路高速地工作。注意,也可以将mos型晶体管、双极晶体管等形成在一个基板上。由此,可以实现低功耗、小型化、高速工作等。
[0337]
另外,作为晶体管的一个例子,例如也可以采用在活性层上下配置有栅电极的结构的晶体管。通过采用在活性层上下配置有栅电极的结构,多个晶体管并联连接。因此,沟道区域增加,所以可以增大电流值。或者,通过采用在活性层上下配置有栅电极的结构,容易产生耗尽层,因此可以改善s值。
[0338]
另外,作为晶体管的一个例子,也可以采用将栅电极配置在活性层上的结构、将栅电极配置在活性层下的结构、交错结构、反交错结构、将沟道区域分割成多个区域的结构、并联连接活性层的结构或者串联连接活性层的结构等。或者,作为晶体管,可以使用平面型、fin(鳍)型、tri
‑
gate(三栅)型、顶栅型、底栅型、双栅型(在沟道上下配置有栅极)等各种结构的晶体管。
[0339]
另外,作为晶体管的一个例子,还可以采用活性层(或其一部分)与源电极或漏电极重叠的结构。通过采用活性层(或其一部分)与源电极或漏电极重叠的结构,可以防止因电荷积累于活性层的一部分而导致的工作不稳定。
[0340]
另外,作为晶体管的一个例子,可以采用设置有ldd区域的结构。通过设置ldd区域,可以降低关态电流或者提高晶体管的耐压性(提高可靠性)。或者,通过设置ldd区域,当晶体管在饱和区域中工作时,即便漏极和源极之间的电压发生变化,也可以得到漏电流的变化不太大的电压
‑
电流特性。
[0341]
例如,在本说明书等中,可以使用各种衬底形成晶体管。对衬底的种类没有特别的限制。作为该衬底的一个例子,可以举出半导体衬底(例如,单晶衬底或硅衬底)、soi衬底、玻璃衬底、石英衬底、塑料衬底、蓝宝石玻璃衬底、金属衬底、不锈钢衬底、包含不锈钢箔的衬底、钨衬底、包含钨箔的衬底、柔性衬底、贴合薄膜、包含纤维状材料的纸或基材薄膜等。作为玻璃衬底的一个例子,可以举出钡硼硅酸盐玻璃、铝硼硅酸盐玻璃或钠钙玻璃等。作为柔性衬底、贴合薄膜、基材薄膜等,可以举出如下例子。例如可以举出以聚对苯二甲酸乙二醇酯(pet)、聚萘二甲酸乙二醇酯(pen)、聚醚砜(pes)、聚四氟乙烯(ptfe)为代表的塑料。或者,作为一个例子,可以举出丙烯酸树脂等合成树脂等。或者,作为一个例子,可以举出聚丙烯、聚酯、聚氟化乙烯或聚氯乙烯等。或者,作为例子,可以举出聚酰胺、聚酰亚胺、芳族聚酰胺、环氧树脂、无机蒸镀薄膜、纸类等。尤其是,通过使用半导体衬底、单晶衬底或soi衬底等制造晶体管,能够制造特性、尺寸或形状等的偏差小、电流能力高且尺寸小的晶体管。当利用上述晶体管构成电路时,可以实现电路的低功耗化或电路的高集成化。
[0342]
另外,作为衬底也可以使用柔性衬底,在该柔性衬底上直接形成晶体管。或者,也可以在衬底与晶体管之间设置剥离层。剥离层可以在如下情况下使用,即在剥离层上制造半导体装置的一部分或全部,然后将其从衬底分离并转置到其他衬底上的情况。此时,也可以将晶体管转置到耐热性低的衬底或柔性衬底上。另外,作为上述剥离层,例如可以使用钨膜与氧化硅膜的无机膜的叠层结构或衬底上形成有聚酰亚胺等有机树脂膜的结构等。
[0343]
另外,也可以使用一个衬底形成晶体管,然后将该晶体管转置到另一个衬底上。作为转置晶体管的衬底,除了上述可以设置晶体管的衬底之外,还可以使用纸衬底、玻璃纸衬底、芳族聚酰胺薄膜衬底、聚酰亚胺薄膜衬底、石材衬底、木材衬底、布衬底(包括天然纤维(丝、棉、麻)、合成纤维(尼龙、聚氨酯、聚酯)或再生纤维(醋酯纤维、铜氨纤维、人造纤维、再生聚酯)等)、皮革衬底、橡胶衬底等。通过使用上述衬底,可以实现特性良好的晶体管、功耗低的晶体管、不易损坏的装置、耐热性的提高、轻量化或薄型化。
[0344]
另外,可以在相同的衬底(例如,玻璃衬底、塑料衬底、单晶衬底或soi衬底等)上形成为了实现指定的功能所需要的所有电路。如此,可以通过减少部件数量降低成本,或者可以通过减少与电路部件之间的连接数量提高可靠性。
[0345]
注意,也可以将为了实现指定的功能所需要的所有电路不形成在相同的衬底上。换言之,也可以将为了实现指定的功能所需要的电路的一部分形成在某个衬底上,并且将为了实现指定的功能所需要的电路的另一部分形成在另一衬底上。例如,也可以将为了实现指定的功能所需要的电路的一部分形成在玻璃衬底上,并且将为了实现指定的功能所需要的电路的另一部分形成在单晶衬底(或soi衬底)上。并且,也可以通过cog(chip on glass:玻璃覆晶封装)将形成为了实现指定的功能所需要的电路的另一部分的单晶衬底(也称为ic芯片)连接到玻璃衬底,从而在玻璃衬底上配置该ic芯片。或者,也可以使用tab(tape automated bonding:卷带自动结合)、cof(chip on film:薄膜上芯片)、smt(surface mount technology:表面贴装技术)或印刷电路板等使该ic芯片和玻璃衬底连接。如此,通过使电路的一部分与像素部形成在同一衬底上,可以通过减少部件数量降低成本,或者可以通过减少与电路部件之间的连接数量提高可靠性。尤其是,在很多情况下,驱动电压高的部分的电路或者驱动频率高的部分的电路等的功耗高。于是,将该电路与像素部形成在不同的衬底(例如,单晶衬底)上,以构成ic芯片。通过使用该ic芯片,可以防止功耗的增高。
[0346]
在图20a的电路mp中,晶体管m1的第一端子与布线ve电连接。晶体管m1的第二端子与开关s3的第一端子、开关s4的第一端子、开关s5的第一端子电连接。晶体管m1的栅极与电容c1的第一端子、开关s2的第一端子电连接。电容c1的第二端子与布线ve电连接。开关s2的第二端子与开关s5的第二端子、布线il电连接。开关s2的控制端子与布线wl电连接。开关s3的第二端子与布线ol电连接,开关s3的控制端子与布线x1l电连接。开关s4的第二端子与布线olb电连接,开关s4的控制端子与布线x2l电连接。
[0347]
对电路mcr中的与电路mc不同的连接结构进行说明。开关s3r的第二端子与布线olb电连接而不与布线ol电连接,开关s4r的第二端子与布线ol电连接而不与布线olb电连接。晶体管m1r的第一端子及电容c1r的第一端子与布线ver电连接。
[0348]
注意,图20a的电路mp的结构也可以改变为图21a的电路mp的结构。具体而言,晶体管m1的第一端子不与布线ve电连接而与其他布线vem电连接,晶体管m1r的第一端子不与布线ver电连接而与其他布线vemr电连接即可。注意,除了图20a的电路mp以外,还在其他附图的电路图中,晶体管m1的第一端子不与布线ve电连接而与其他布线vem电连接及/或晶体管m1r的第一端子不与布线ver电连接而与其他布线vemr电连接。
[0349]
注意,在图20a所示的保持部hc中,将晶体管m1的栅极、电容c1的第一端子与开关s2的第一端子电连接点记为节点n1。
[0350]
如实施方式1说明,保持部hc例如具有保持对应于第一数据的电位的功能。通过在使开关s2及开关s5处于开启状态时从布线il输入该电位而对电容c1写入然后使开关s2处于关闭状态,包括在图20a的电路mc中的保持部hc保持该电位。由此,可以将节点n1的电位作为对应于第一数据的电位保持。此时,从布线ol输入电流,可以在电容c1保持对应于该电流的大小的电位。因此,可以减少晶体管m1的电流特性的偏差的影响。
[0351]
另外,为了长期间保持节点n1的电位,晶体管m1优选使用关态电流低的晶体管。作
为关态电流低的晶体管,例如可以使用os晶体管。另外,也可以作为晶体管m1使用包括背栅极的晶体管,对背栅极施加低电平电位而使阈值电压向正一侧漂移,来降低关态电流。
[0352]
为了在后面说明的工作例子中简单地说明输入到电路mp或从电路mp输出的电流,将图20a所示的布线il的一端记为节点ina,将布线ol的一端记为节点outa,将布线ilb的一端记为节点inb,将布线olb的一端记为节点outb。
[0353]
布线ve例如被用作供应恒电压的布线。作为该恒电压,在开关s3、开关s3r、开关s4或开关s4r为n沟道型晶体管时及/或在图14a至图14c中布线vso所供应的电位为高电平电位时,例如,可以为低电平电位的vss、接地电位或这些以外的低电平电位等。此外,布线vem、布线ver、布线vemr的每一个与布线ve同样地被用作供应恒电压的电压线,作为该恒电压可以为低电平电位的vss、vss以外的低电平电位、接地电位等。另外,作为该恒电压也可以为高电平电位的vdd。此时,在作为运算电路110的电路ivtr(电路ivtrr)使用图6a至图6c中的任一个时,与电路actf[1]至电路actf[n]电连接的布线vcn4所供应的恒电压优选为比布线ve、布线ver所供应的电位vdd高的电位。
[0354]
布线ve、布线vem、布线ver及布线vemr的每一个所供应的恒电压也可以为彼此不同,也可以为一部分或全部同一。此外,在各布线所供应的电压同一时,选择这些布线并将其用作同一布线即可。例如,在布线ve、布线vem、布线ver及布线vemr的每一个所供应的恒电压几乎相等时,如图21b的电路mp,布线vem、布线ver及布线vemr可以为与布线ve同一的布线。或者,例如,在布线ve、布线ver的每一个所供应的恒电压几乎相等时,可以将布线ve与布线ver组合为一个布线。或者,在图21a中,例如,也可以将布线ve与布线ver组合为一个布线且将布线vem与布线vemr组合为一个布线。或者,例如,也可以将布线ve与布线vemr组合为一个布线且将布线vem与布线ver组合为一个布线(未图示)。
[0355]
另外,图20a的电路mp的结构可以根据状况改变。例如,如图22a所示,可以将图20a的电路mp的晶体管m1、晶体管m1r的每一个替换为p沟道型晶体管的晶体管m1p、晶体管m1pr。此外,此时,布线ve、布线ver所供应的恒电压优选为高电平电位的vdd。另外,除了上述情况以外,在作为运算电路110的电路actf[1]至电路actf[n]所包括的电路ivtr及电路ivtrr使用图6a至图6c中的任一个时,布线vcn4所供应的恒电压优选为接地电位或vss。如此,在改变布线的电位时,电流流过的方向也改变。
[0356]
另外,例如,如图22b所示,图20a的电路mp的开关s3、开关s3r、开关s4、开关s4r也可以分别为模拟开关as3、模拟开关as4、模拟开关as3r、模拟开关as4r。另外,图22b还示出用来使模拟开关as3、模拟开关as4、模拟开关as3r及模拟开关as4r工作的布线x1lb及布线x2lb。布线x1lb与模拟开关as3及模拟开关as3r电连接,布线x2lb与模拟开关as4及模拟开关as4r电连接。对布线x1lb输入输入到布线x1l的信号的反转信号,对布线x2lb输入输入到布线x2l的信号的反转信号。另外,也可以将布线x1l与布线x2l组合为一个布线且将布线x1lb与布线x2lb组合为一个布线(未图示)。另外,例如,模拟开关as3、模拟开关as4、模拟开关as3r及模拟开关as4r也可以采用使用n沟道型晶体管及p沟道型晶体管的cmos结构。
[0357]
在作为图20a至图20c、图21a、图21b、图22a所示的开关s3、开关s3r、开关s4及开关s4r使用晶体管时,各尺寸例如沟道长度及沟道宽度优选彼此相等。通过采用上述电路结构,有可能有效地进行布局。此外,有可能使开关s3、开关s3r、开关s4及开关s4r流过的电流一致。此外,同样地,图20a至图20c、图21a、图21b所示的晶体管m1、晶体管m1r的尺寸优选相
等。此外,同样地,在作为图20a至图20c、图21a、图21b所示的开关s2及开关s2r使用晶体管时,各晶体管的尺寸优选相等。<<工作例子1>>接着,说明图20a所示的电路mp的工作例子。图23a至图23c、图24a至图24c、图25a至图25c是示出电路mp的工作例子的时序图,其各自示出布线wl、布线x1l、布线x2l、节点n1、节点n1r的电位的变动。注意,图23a至图23c、图24a至图24c、图25a至图25c的每一个所记载的high表示高电平电位,low表示低电平电位。此外,在本工作例子中,将从节点ina输入到布线il(或者从布线il输入到节点ina)的电流量设定为i
il
,且将从节点inb输入到布线ilb(或者从布线ilb输入到节点inb)的电流量设定为i
ilb
。另外,将从布线ol输出到节点outa(或者从节点outa输出到布线ol)的电流量设定为i
ol
,且将从布线olb输出到节点outb(或者从节点outb输出到布线olb)的电流量设定为i
olb
。图23a至图23c、图24a至图24c、图25a至图25c所示的时序图示出电流量i
il
、i
ilb
、i
ol
、i
olb
的变化量。
[0358]
注意,在本工作例子中,将布线ve、布线vem、布线ver、布线vemr所供应的恒电压设定为vss(低电平电位)。此时,在图14a中,布线vso被供应高电平电位,电流从布线vso通过布线ol流过布线ve或布线ver。同样地,电流从布线vso通过布线olb流过布线ve或布线ver。注意,在图14a所示的电路结构中,将布线vcn所供应的电位设定为vss。通过使布线vcn与晶体管m1的第二端子之间处于导通状态,对晶体管m1的第二端子供应vss。后面详细说明,此时由于晶体管m1的栅极的电位也成为vss,因此晶体管m1处于关闭状态。同样地,通过使布线vcn与晶体管m1r的第二端子之间处于导通状态,晶体管m1r的第二端子及栅极的电位成为vss,晶体管m1r处于关闭状态。
[0359]
在本工作例子中,电路actf所包括的电路ivtr(电路ivtrr)为图6a所示的电路ivtr(电路ivtrr)。此外,在图6a所示的电路ivtr(电路ivtrr)中,将布线vcn4所供应的电位设定为vdd。
[0360]
在图20a所示的电路mp中,在开关s2及开关s5处于开启状态时,晶体管m1具有二极管连接的结构。因此,在电流从布线ol向电路mc流过时,晶体管m1的第二端子与晶体管m1的栅极的每一个的电位几乎相等。该电位根据从布线ol向电路mc流过的电流量及晶体管m1的第一端子的电位(这里vss)等决定。这里,在电容c1中保持晶体管m1的栅极的电位,然后使开关s2处于关闭状态,由此晶体管m1被用作根据晶体管m1的栅极的电位流过电流的电流源。因此,可以减少晶体管m1的电流特性的偏差的影响。
[0361]
例如,当在开关s2及开关s5处于开启状态下从布线ol通过电路mc向布线ve流过i1的电流量时,晶体管m1的栅极(节点n1)的电位成为v1。这里,通过使开关s2处于关闭状态,v1被保持部hc保持。由此,晶体管m1可以将晶体管m1的第一端子的电位vss及对应于晶体管m1的栅极的电位v1的电流的i1向晶体管m1的源极与漏极间流过。在本说明书等中,将这种工作称为“在晶体管m1中将晶体管m1的源极与漏极间流过的电流量设定为(被编程为)i
1”。
[0362]
在本工作例子中,从布线ol向电路mc流过的电流量为0、i1、i2的三种。因此,晶体管m1的电流量被设定为0、i1、i2的三种。例如,在保持在保持部hc中的晶体管m1的栅极的电位为vss时,由于晶体管m1的第一端子、第二端子的每一个的电位也为vss,因此若晶体管m1的阈值电压高于0,则晶体管m1处于关闭状态。因此,由于电流不在晶体管m1的源极与漏极间流过,因此可以说在晶体管m1的源极与漏极间流过的电流量被设定为0。此外,例如,在保持
在保持部hc中的晶体管m1的栅极的电位为v1时,若晶体管m1的阈值电压低于v1‑
vss,则晶体管m1成为开启状态。此时,在晶体管m1中流过的电流量为i1。因此,在晶体管m1的栅极的电位为v1时,可以说流在晶体管m1的源极与漏极间的电流量被设定为i1。另外,例如,在保持在保持部hc中的晶体管m1的栅极的电位为v2时,若晶体管m1的阈值电压低于v2‑
vss,则晶体管m1成为开启状态。此时,在晶体管m1中流过的电流量为i2。因此,在晶体管m1的栅极的电位为v2时,可以说流在晶体管m1的源极与漏极间的电流量被设定为i2。
[0363]
注意,i1的电流量大于0且小于i2。此外,电位v1高于vss且低于v2。另外,晶体管m1的阈值电压高于0且低于v1‑
vss。另外,i1例如可以替换为图14a的说明中的恒流源电路isc1所生成的i
ut
,i2例如可以替换为图14a的说明中的恒流源电路isc2所生成的2i
ut
。
[0364]
在说明工作例子之前,电路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”。
[0365]
输入到电路mp的第二数据(例如,这里是神经元的信号的值(运算值))例如定义为如下。在对布线x1l施加高电平电位且对布线x2l施加低电平电位时,对电路mp作为第二数据(神经元的信号的值)输入“+1”。在对布线x1l施加低电平电位且对布线x2l施加高电平电位时,对电路mp作为第二数据(神经元的信号的值)输入
“‑
1”。在对布线x1l施加低电平电位且对布线x2l施加低电平电位时,对电路mp作为第二数据(神经元的信号的值)输入“0”。注意,例如,高电平电位为vdd、比vdd高10%以上或20%以上的电位。
[0366]
另外,在本说明书等中,在没有特别的说明的情况下,晶体管m1及晶体管m1r在开启状态时有时最后在饱和区域中工作。也就是说,对上述各晶体管的栅极电压、源极电压及漏极电压有时进行适当的偏压,使得该晶体管在饱和区域中工作。注意,本发明的一个方式不局限于此。为了减小所供应的电压的振幅值,晶体管m1及晶体管m1r也可以在线性区域中工作。另外,在第一数据(权系数)为模拟值时,晶体管m1及晶体管m1r例如也可以根据第一数据(权系数)的大小有时在线性区域中工作,有时在饱和区域中工作。
[0367]
在本说明书等中,开关s2、开关s2r、开关s3、开关s3r、开关s4、开关s4r、开关s5、开关s5r在没有特别的说明的情况下,在控制端子被输入高电平电位时成为开启状态,而在控制端子被输入低电平电位时成为关闭状态。
[0368]
以下按第一数据(例如,以下是权系数)及第二数据(例如,以下是神经元的信号的值(运算值)等)的每一个所取得的值的组合说明电路mp的工作例子。
[0369]
[条件1]首先,作为一个例子,考虑第一数据(权系数)为“0”且输入到电路mp的第二数据(神经元的信号的值(运算值))为“+1”的情况。图23a是此时的电路mp的时序图。
[0370]
在时刻t11至时刻t12在保持部hc及保持部hcr中保持初始电位。在图23a中,例如,在节点n1、节点n1r作为初始电位保持比电位vss高的电位。
[0371]
布线wl、布线x1l、布线x2l被施加低电平电位。由此,开关s2、开关s2r、开关s3、开关s3r、开关s4、开关s4r、开关s5及开关s5r的每一个的控制端子被输入低电平电位,因此开关s2、开关s2r、开关s3、开关s3r、开关s4、开关s4r、开关s5及开关s5r都处于关闭状态。
[0372]
在时刻t12至时刻t13,对布线wl施加高电平电位。由此,由于对开关s2、开关s2r、开关s5、开关s5r的每一个的控制端子输入高电平电位,所以开关s2、开关s2r、开关s5及开关s5r都处于开启状态。
[0373]
此外,虽然在图23a中未图示,但是对布线il及布线ilb的每一个作为初始化电位施加v
ini
。由于开关s2、开关s2r、开关s5及开关s5r的每一个处于开启状态,所以保持部hc的节点n1及保持部hcr的节点n1r的每一个的电位成为v
ini
。也就是说,在时刻t12至时刻t13,进行保持部hc的节点n1及保持部hcr的节点n1r的每一个的电位的初始化。
[0374]
注意,作为初始化电位的v
ini
例如优选为接地电位。此外,作为初始化电位的v
ini
也可以为vss、比接地电位高的电位或比接地电位低的电位。另外,也可以对布线il、布线ilb分别施加彼此不同的电位的初始化电位v
ini
。注意,也可以不对布线il、布线ilb分别输入初始化电位v
ini
。注意,并不一定必需设置时刻t12至时刻t13的期间。或者,并不一定必需在时刻t12至时刻t13进行初始化。注意,图14a所示的电路ild未示出供应初始化电位v
ini
的布线、使该布线与布线il及布线ilb之间处于导通状态的开关,在本工作例子中,图14a所示的电路ild具有对布线il及布线ilb供应初始化电位v
ini
的功能。
[0375]
在时刻t13至时刻t14,从布线il对电路mc输入电位vss,从布线ilb对电路mcr输入电位vss。该工作在图14a中使开关swla及开关swlab处于开启状态且使开关swia、开关swiab处于关闭状态进行。此外,该工作在图6a中开关swr3(开关swr3b)处于关闭状态进行。由此,保持部hc的节点n1的电位为vss,保持部hcr的节点n1r的电位为vss。由此,由于在电路mc中以晶体管m1作为电流量流过0的方式设定,所以电流不从布线ol通过电路mc向布线ve流过。此外,由于在电路mcr中以晶体管m1r作为电流量流过0的方式设定,所以电流不从布线olb通过电路mcr向布线ver流过。换言之,在时刻t13至时刻t14,由于晶体管m1、晶体管m1r处于关闭状态,所以在布线ol与布线ve之间成为非导通状态,在布线olb与布线ver之间成为非导通状态。
[0376]
在时刻t14至时刻t15,对布线wl及布线x1l施加低电平电位。由此,由于对开关s2、开关s2r、开关s5、开关s5r的每一个的控制端子输入低电平电位,所以开关s2、开关s2r、开关s5、开关s5r都处于关闭状态。通过开关s2、开关s2r成为关闭状态,保持保持部hc的节点n1的电位vss,且保持保持部hcr的节点n1r的电位vss。此外,通过开关s5成为关闭状态,电流不从布线il通过电路mc向布线ve流过。另外,同样地,通过开关s5r成为关闭状态,电流不从布线ilb通过电路mcr向布线ver流过。注意,在时刻t14至时刻t15,也可以使图6a所示的开关swr3及开关swr3b处于开启状态,且使布线ol及布线olb的电位初始化。通过使布线ol及布线olb的电位初始化,在时刻t15以后,可以通过从电路mp输出的电流使布线ol及布线olb的电位改变。
[0377]
通过时刻t11至时刻t15的工作,作为电路mp的第一数据(权系数)设定“0”。在电路mp中设定第一数据(权系数)之后,在图14a中,也可以使开关swia、开关swiab、开关swla及开关swlab处于关闭状态。注意,在电路mp中设定权系数之后,也可以使图6a所示的开关swr3及开关swr3b处于开启状态,且使布线ol及布线olb的电位初始化。在使布线ol及布线
olb的电位初始化之后,也可以使开关swr3及开关swr3b处于关闭状态。
[0378]
在时刻t15以后,作为对电路mp的神经元的信号(运算值)“+1”的输入,对布线x1l输入高电平电位,对布线x2l输入低电平电位。此时,对开关s3及开关s3r的每一个的控制端子输入高电平电位,对开关s4及开关s4r的每一个的控制端子输入低电平电位。因此,开关s3及开关s3r都成为开启状态,开关s4及开关s4r都成为关闭状态。也就是说,通过该工作,在电路mc与布线ol之间及在电路mcr与布线olb之间成为导通状态,在电路mc与布线olb之间及在电路mcr与布线ol之间成为非导通状态。由此,在电路mc与电路afp之间成为导通状态,在电路mcr与电路afp之间成为导通状态。
[0379]
注意,由于晶体管m1处于关闭状态(以作为电流量流过0的方式设定),所以在电路mc中电流不在布线ol及布线olb与布线ve之间流过。同样地,由于晶体管m1r处于关闭状态(以作为电流量流过0的方式设定),所以在电路mcr中电流不在布线ol及olb与布线ver之间流过。如上所述,从布线ol的节点outa输出的电流i
ol
及从布线olb的节点outb输出的电流i
olb
在时刻t15前后不变化。因此,电流i
ol
不在电路afp与布线ol之间流过,且电流i
olb
不在电路afp与布线olb之间流过。
[0380]
在本条件中,由于第一数据(权系数)为“0”且输入到电路mp的第二数据(神经元的信号的值(运算值))为“+1”,所以在使用算式(1.1)时第一数据(权系数)与第二数据(神经元的信号的值)之积为“0”。第一数据(权系数)与第二数据(神经元的信号的值)之积为“0”的结果对应于在电路mp的工作中在时刻t15以后电流i
ol
及电流i
olb
都不变化的情况。注意,第一数据(权系数)与第二数据(神经元的信号的值)之积为“0”的结果在图15中从电路afp作为信号z
j(k)
输出。
[0381]
注意,也可以通过一旦输入第一数据(例如,权系数等)就不更新该数据的值而只改变第二数据(神经元的信号的值或运算值等),来进行多个积和运算处理。在此情况下,不需要第一数据(权系数)的更新,所以可以降低功耗。另外,为了减少第一数据(权系数)的更新频率,需要长期间保持第一数据(权系数)。此时,例如在使用os晶体管时,由于关态电流低,所以可以长期间保持第一数据(权系数)。
[0382]
[条件2]接着,作为一个例子,考虑第一数据(权系数)为“+1”且输入到电路mp的第二数据(神经元的信号的值(运算值))为“+1”的情况。图23b是此时的电路mp的时序图。
[0383]
因为条件2的时刻t11至时刻t13的工作与条件1的时刻t11至时刻t13的工作相同,所以参照条件1的时刻t11至时刻t13的工作的说明。
[0384]
在时刻t13至时刻t14,从布线il对电路mc作为电流量输入i1,从布线ilb对电路mcr输入电位vss。该工作在图14中使开关swia及开关swlab处于开启状态且使开关swiab及开关swla处于关闭状态进行。由此,保持部hc的节点n1的电位为v1,保持部hcr的节点n1r的电位为vss。由此,由于在电路mc中以晶体管m1作为电流量流过i1的方式设定,所以i1从布线il通过电路mc向布线ve作为电流量流过。此外,由于在电路mcr中以晶体管m1r作为电流量流过0的方式设定,所以电流不从布线ilb通过电路mcr向布线ver流过。
[0385]
在时刻t14至时刻t15,对布线wl施加低电平电位。由此,由于对开关s2、开关s2r、开关s5、开关s5r的每一个的控制端子输入低电平电位,所以开关s2、开关s2r、开关s5、开关s5r都处于关闭状态。通过开关s2、开关s2r成为关闭状态,保持保持部hc的节点n1的电位
以外的正值。
[0391]
[条件3]接着,作为一个例子,考虑第一数据(权系数)w为
“‑
1”且输入到电路mp的第二数据(神经元的信号的值(运算值))为“+1”的情况。图23c是此时的电路mp的时序图。
[0392]
因为条件3的时刻t11至时刻t13的工作与条件1的时刻t11至时刻t13的工作相同,所以参照条件1的时刻t11至时刻t13的工作的说明。
[0393]
在时刻t13至时刻t14,从布线il对电路mc输入电位vss,从布线ilb对电路mcr作为电流量输入i1。该工作在图14中使开关swiab及开关swla处于开启状态且使开关swia及开关swlab处于关闭状态进行。由此,保持部hc的节点n1的电位为vss,保持部hcr的节点n1r的电位为v1。由此,由于在电路mcr中以晶体管m1作为电流量流过0的方式设定,所以电流不从布线il通过电路mc向布线ve流过。此外,由于在电路mcr中以晶体管m1r作为电流量流过i1的方式设定,所以i1从布线ilb通过电路mcr向布线ver作为电流量流过。
[0394]
在时刻t14至时刻t15,对布线wl施加低电平电位。由此,由于对开关s2、开关s2r、开关s5、开关s5r的每一个的控制端子输入低电平电位,所以开关s2、开关s2r、开关s5、开关s5r都处于关闭状态。通过开关s2、开关s2r成为关闭状态,保持保持部hc的节点n1的电位vss,且保持保持部hcr的节点n1r的电位v1。此外,通过开关s5成为关闭状态,电流不从布线ol通过电路mc向布线ve流过。另外,同样地,通过开关s5r成为关闭状态,电流不从布线olb通过电路mcr向布线ver流过。注意,在时刻t14至时刻t15,也可以使图6a所示的开关swr3及开关swr3b处于开启状态,且使布线ol及布线olb的电位初始化。通过使布线ol及布线olb的电位初始化,在时刻t15以后,可以通过从电路mp输出的电流使布线ol及布线olb的电位改变。
[0395]
通过时刻t11至时刻t15的工作,作为电路mp的第一数据(权系数)设定
“‑
1”。在电路mp中设定第一数据(权系数)之后,在图14中,也可以使开关swia、开关swiab、开关swla及开关swlab处于关闭状态。注意,在电路mp中设定第一数据(权系数)之后,也可以使开关swr3及开关swr3b处于开启状态,且使布线ol及布线olb的电位初始化。在使布线ol及布线olb的电位初始化之后,也可以使开关swr3及开关swr3b处于关闭状态。
[0396]
在时刻t15以后,作为对电路mp的第二数据(神经元的信号(运算值))“+1”的输入,对布线x1l输入高电平电位,对布线x2l输入低电平电位。此时,对开关s3及开关s3r的每一个的控制端子输入高电平电位,对开关s4及开关s4r的每一个的控制端子输入低电平电位。因此,开关s3及开关s3r都成为开启状态,开关s4及开关s4r都成为关闭状态。也就是说,通过该工作,在电路mc与布线ol之间及在电路mcr与布线olb之间成为导通状态,在电路mc与布线olb之间及在电路mcr与布线ol之间成为非导通状态。由此,在电路mc与电路afp之间成为导通状态,在电路mcr与电路afp之间成为导通状态。
[0397]
由于在电路mc中开关s3处于开启状态且晶体管m1处于关闭状态(以作为电流量流过0的方式设定),在布线ol至布线ve之间电流不流过。此外,由于在电路mc中开关s4处于关闭状态,所以在布线olb至布线ve之间电流不流过。另一方面,由于在电路mcr中开关s3r处于开启状态且晶体管m1r处于开启状态(以作为电流量流过i1的方式设定),所以在布线olb至布线ver之间电流流过。此外,由于在电路mcr中开关s4r处于关闭状态,所以在布线ol至布线ver之间电流不流过。如上所述,从布线ol的节点outa输出的电流i
ol
在时刻t15前后不
的结果对应于在电路mp的工作中在时刻t15以后电流i
ol
及电流i
olb
都不变化的情况,该结果与条件1的电路工作的结果一致。注意,第一数据(权系数)与第二数据(神经元的信号的值)之积为“0”的结果与条件1同样地在图15中从电路afp作为信号z
j(k)
输出。
[0405]
[条件5]在本条件中,作为一个例子,考虑第一数据(权系数)为“+1”且输入到电路mp的第二数据(神经元的信号的值(运算值))为
“‑
1”的情况的电路mp的工作。图24b是此时的电路mp的时序图。
[0406]
因为条件5的时刻t11至时刻t15的工作与条件2的时刻t11至时刻t15的工作相同,所以参照条件2的时刻t11至时刻t15的工作的说明。
[0407]
在时刻t15以后,作为对电路mp的第二数据(神经元的信号的值(运算值))
“‑
1”的输入,对布线x1l输入低电平电位,对布线x2l输入高电平电位。此时,对开关s3及开关s3r的每一个的控制端子输入低电平电位,对开关s4及开关s4r的每一个的控制端子输入高电平电位。因此,开关s3及开关s3r都成为关闭状态,开关s4及开关s4r都成为开启状态。也就是说,通过该工作,在电路mc与布线ol之间及在电路mcr与布线olb之间成为非导通状态,在电路mc与布线olb之间及在电路mcr与布线ol之间成为导通状态。由此,在电路mc与电路afp之间成为导通状态,在电路mcr与电路afp之间成为导通状态。
[0408]
由于在电路mc中开关s3处于关闭状态,所以在布线ol至布线ve之间电流不流过。此外,由于在电路mc中开关s4处于开启状态且晶体管m1处于开启状态(以作为电流量流过i1的方式设定),在布线olb至布线ve之间电流流过。另一方面,由于在电路mcr中开关s3r处于关闭状态,所以在布线olb至布线ver之间电流不流过。此外,由于在电路mcr中开关s4r处于开启状态且晶体管m1处于关闭状态(以作为电流量流过0的方式设定),在布线ol至布线ver之间电流不流过。如上所述,从布线ol的节点outa输出的电流i
ol
在时刻t15前后不变化,从布线olb的节点outb输出的电流i
olb
在经过时刻t15之后增加i1。因此,在电路afp与布线ol之间电流i
ol
不流过,且在电路afp与布线olb之间电流量i1的电流i
olb
流过。
[0409]
在本条件中,由于第一数据(权系数)为“+1”且输入到电路mp的第二数据(神经元的信号的值(运算值))为
“‑
1”,所以在使用算式(1.1)时第一数据(权系数)与第二数据(神经元的信号的值)之积为
“‑
1”。第一数据(权系数)与第二数据(神经元的信号的值)之积为
“‑
1”的结果对应于在电路mp的工作中在时刻t15以后电流i
ol
不变化且电流i
olb
增加i1的情况,该结果与条件3的电路工作的结果一致。注意,第一数据(权系数)与第二数据(神经元的信号的值)之积为
“‑
1”的结果与条件3同样地在图15中从电路afp作为信号z
j(k)
输出。
[0410]
注意,如也在条件2中说明,在本条件的时刻t13至时刻t14,例如,通过将从布线ol向电路mc流过的电流设定为i2而不是i1,也可以在保持部hc保持v2。由此,作为电路mp的第一数据(权系数)设定“+2”。当将第一数据(权系数)设定为“+2”,且将输入到电路mp的神经元的信号设定为
“‑
1”时,通过算式(1.1)第一数据(权系数)与第二数据(神经元的信号的值)之积为
“‑
2”。第一数据(权系数)与第二数据(神经元的信号的值)之积为
“‑
2”的结果对应于在电路mp的工作中在时刻t15以后电流i
ol
不变化而电流i
olb
增加i2的情况。如此,在电路mcr中在保持部hcr保持vss,且在电路mc中设定电流量i1以外的电流量,作为电路mp的权系数设定“+1”以外的正值。
[0411]
[条件6]
在本条件中,作为一个例子,考虑第一数据(权系数)为
“‑
1”且输入到电路mp的第二数据(神经元的信号的值(运算值))为
“‑
1”的情况的电路mp的工作。图24c是此时的电路mp的时序图。
[0412]
因为条件6的时刻t11至时刻t15的工作与条件3的时刻t11至时刻t15的工作相同,所以参照条件3的时刻t11至时刻t15的工作的说明。
[0413]
在时刻t15以后,作为对电路mp的第二数据(神经元的信号的值(运算值))
“‑
1”的输入,对布线x1l输入低电平电位,对布线x2l输入高电平电位。此时,对开关s3及开关s3r的每一个的控制端子输入低电平电位,对开关s4及开关s4r的每一个的控制端子输入高电平电位。因此,开关s3及开关s3r都成为关闭状态,开关s4及开关s4r都成为开启状态。也就是说,通过该工作,在电路mc与布线ol之间及在电路mcr与布线olb之间成为非导通状态,在电路mc与布线olb之间及在电路mcr与布线ol之间成为导通状态。由此,在电路mc与电路afp之间成为导通状态,在电路mcr与电路afp之间成为导通状态。
[0414]
由于在电路mc中开关s3处于关闭状态,所以在布线ol至布线ve之间电流不流过。此外,由于在电路mc中开关s4处于开启状态而晶体管m1处于关闭状态(以作为电流量流过0的方式设定),在布线olb至布线ve之间电流不流过。另一方面,由于在电路mcr中开关s3r处于关闭状态,所以在布线olb至布线ver之间电流不流过。此外,由于在电路mcr中开关s4r处于开启状态且晶体管m1处于开启状态(以作为电流量流过i1的方式设定),在布线ol至布线ver之间电流流过。如上所述,从布线ol的节点outa输出的电流i
ol
在经过时刻t15之后增加i1,从布线olb的节点outb输出的电流i
olb
在时刻t15前后不变化。因此,在电路afp与布线ol之间电流量i1的电流i
ol
流过,且在电路afp与布线olb之间电流i
olb
不流过。
[0415]
在本条件中,由于第一数据(权系数)为
“‑
1”且输入到电路mp的第二数据(神经元的信号的值(运算值))为
“‑
1”,所以在使用算式(1.1)时第一数据(权系数)与第二数据(神经元的信号的值)之积为“+1”。第一数据(权系数)与第二数据(神经元的信号的值)之积为“+1”的结果对应于在电路mp的工作中在时刻t16以后电流i
ol
变化且电流i
olb
不变化的情况,该结果与条件2的电路工作的结果一致。注意,第一数据(权系数)与第一数据(神经元的信号的值)之积为“+1”的结果与条件2同样地在图15中从电路afp作为信号z
j(k)
输出。
[0416]
注意,如也在条件3中说明,在本条件的时刻t13至时刻t14,例如,通过将从布线olb向电路mcr流过的电流设定为i2而不是i1,也可以在保持部hc保持v2。由此,作为电路mp的第一数据(权系数)设定
“‑
2”。当将第一数据(权系数)设定为
“‑
2”,且将输入到电路mp的第二数据(神经元的信号的值)设定为
“‑
1”时,通过算式(1.1)第一数据(权系数)与第二数据(神经元的信号的值)之积为“+2”。第一数据(权系数)与第二数据(神经元的信号的值)之积为“+2”的结果对应于在电路mp的工作中在时刻t15以后电流i
ol
不变化而电流i
olb
增加i2的情况。如此,在电路mc中在保持部hc保持vss,且在电路mcr中设定电流量i1以外的电流量,作为电路mp的权系数设定“+1”以外的正值。
[0417]
[条件7]在本条件中,作为一个例子,将第一数据(权系数)为“0”且对电路mp输入的第二数据(神经元的信号的值(运算值))为“0”的情况作为条件7考虑电路mp的工作。图25a是此时的电路mp的时序图。
[0418]
因为条件7的时刻t11至时刻t15的工作与条件1的时刻t11至时刻t15的工作相同,
所以参照条件1的时刻t11至时刻t15的工作的说明。
[0419]
在时刻t15以后,作为对电路mp的第二数据(神经元的信号的值(运算值))“0”的输入,对布线x1l输入低电平电位,对布线x2l输入低电平电位。此时,对开关s3、开关s3r、开关s4及开关s4r的每一个的控制端子输入低电平电位。因此,开关s3、开关s3r、开关s4及开关s4r的每一个处于关闭状态。也就是说,通过该工作,在电路mc与布线ol之间、电路mcr与布线olb之间、电路mc与布线olb之间及电路mcr与布线ol之间成为非导通状态。由此,在电路mc与电路afp之间成为非导通状态,在电路mcr与电路afp之间成为非导通状态。
[0420]
由此,在电路mc中,无论在晶体管m1中流过的被设定的电流的量如何都在布线ol至布线ve和布线ver中的一个之间电流不流过。同样地,在电路mcr中,无论在晶体管m1r中流过的被设定的电流的量如何都在布线olb至布线ve和布线ver中的另一个之间电流不流过。也就是说,从布线ol的节点outa输出的电流i
ol
及从布线olb的节点outb输出的电流i
olb
的每一个在时刻t15前后不变化。由此,电流i
ol
不在电路afp与布线ol之间流过,且电流i
olb
不在电路afp与布线olb之间流过。
[0421]
在本条件中,由于第一数据(权系数)为“0”且输入到电路mp的第二数据(神经元的信号的值(运算值))为“0”,所以在使用算式(1.1)时第一数据(权系数)与第二数据(神经元的信号的值)之积为“0”。第一数据(权系数)与第二数据(神经元的信号的值)之积为“0”的结果对应于在电路mp的工作中在时刻t15以后电流i
ol
及电流i
olb
都不变化的情况,该结果与条件1、条件4的电路工作的结果一致。注意,第一数据(权系数)与第二数据(神经元的信号的值)之积为“0”的结果与条件1、条件4同样地在图15中从电路afp作为信号z
j(k)
输出。
[0422]
[条件8]在本条件中,作为一个例子,将第一数据(权系数)为“+1”且对电路mp输入的第二数据(神经元的信号的值(运算值))为“0”的情况作为条件8考虑电路mp的工作。图25b是此时的电路mp的时序图。
[0423]
因为条件8的时刻t11至时刻t15的工作与条件2的时刻t11至时刻t15的工作相同,所以参照条件2的时刻t11至时刻t15的工作的说明。
[0424]
在时刻t15以后,作为对电路mp的第二数据(神经元的信号的值(运算值))“0”的输入,对布线x1l输入低电平电位,对布线x2l输入低电平电位。此时,对开关s3、开关s3r、开关s4及开关s4r的每一个的控制端子输入低电平电位。因此,开关s3、开关s3r、开关s4及开关s4r的每一个处于关闭状态。也就是说,与条件7同样地,通过该工作,无论在晶体管m1及晶体管m1r的每一个中流过的被设定的电流的量如何在电路mc与布线ol之间、电路mcr与布线olb之间、电路mc与布线olb之间及电路mcr与布线ol之间处于非导通状态。由此,在电路mc与电路afp之间成为非导通状态,在电路mcr与电路afp之间成为非导通状态。因此,在布线ol至布线ve和布线ver中的一个之间电流不流过且在布线olb至布线ve和布线ver中的另一个之间电流也不流过,从布线ol的节点outa输出的电流i
ol
及从布线olb的节点outb输出的电流i
olb
的每一个在时刻t15前后不变化。因此,电流i
ol
不在电路afp与布线ol之间流过,且电流i
olb
不在电路afp与布线olb之间流过。
[0425]
在本条件中,由于第一数据(权系数)为“+1”且输入到电路mp的第二数据(神经元的信号(运算值))为“0”,所以在使用算式(1.1)时第一数据(权系数)与第二数据(神经元的信号的值)之积为“0”。第一数据(权系数)与第二数据(神经元的信号的值)之积为“0”的结
果对应于在电路mp的工作中在时刻t15以后电流i
ol
及电流i
olb
都不变化的情况,该结果与条件1、条件4、条件7的电路工作的结果一致。注意,第一数据(权系数)与第二数据(神经元的信号的值)之积为“0”的结果与条件1、条件4、条件7同样地在图15中从电路afp作为信号z
j(k)
输出。
[0426]
[条件9]在本条件中,作为一个例子,将第一数据(权系数)为
“‑
1”且对电路mp输入的第二数据(神经元的信号的值(运算值))为“0”的情况作为条件9考虑电路mp的工作。图25c是此时的电路mp的时序图。
[0427]
因为条件9的时刻t11至时刻t15的工作与条件3的时刻t11至时刻t15的工作相同,所以参照条件3的时刻t11至时刻t15的工作的说明。
[0428]
在时刻t15以后,作为对电路mp的第二数据(神经元的信号的值(运算值))“0”的输入,对布线x1l输入低电平电位,对布线x2l输入低电平电位。此时,对开关s3、开关s3r、开关s4及开关s4r的每一个的控制端子输入低电平电位。因此,开关s3、开关s3r、开关s4及开关s4r的每一个处于关闭状态。也就是说,与条件7同样地,通过该工作,无论在晶体管m1及晶体管m1r的每一个中流过的被设定的电流的量如何,都在电路mc与布线ol之间、电路mcr与布线olb之间、电路mc与布线olb之间及电路mcr与布线ol之间成为非导通状态。由此,在电路mc与电路afp之间成为非导通状态,在电路mcr与电路afp之间成为非导通状态。因此,由于在布线ol至布线ve和布线ver中的一个之间电流不流过且在布线olb至布线ve和布线ver中的另一个之间电流也不流过,所以从布线ol的节点outa输出的电流i
ol
及从布线olb的节点outb输出的电流i
olb
的每一个在时刻t15前后不变化。因此,电流i
ol
不在电路afp与布线ol之间流过,且电流i
olb
不在电路afp与布线olb之间流过。
[0429]
在本条件中,由于第一数据(权系数)为
“‑
1”且输入到电路mp的第二数据(神经元的信号的值(运算值))为“0”,所以在使用算式(1.1)时第一数据(权系数)与第二数据(神经元的信号的值)之积为“0”。第一数据(权系数)与第二数据(神经元的信号的值)之积为“0”的结果对应于在电路mp的工作中在时刻t15以后电流i
ol
及电流i
olb
都不变化的情况,该结果与条件1、条件4、条件7、条件8的电路工作的结果一致。注意,第一数据(权系数)与第二数据(神经元的信号的值)之积为“0”的结果与条件1、条件4、条件7、条件8同样地在图15中从电路afp作为信号z
j(k)
输出。
[0430]
下表示出上述条件1至条件9的工作例子的结果。注意,在下表中,将高电平电位记为high,将低电平电位记为low。
[0431]
[表2]
[0432]
在此,示出对布线ol及布线olb的每一个连接有一个电路mc和一个电路mcr的例子。如图2至图5、图8、图12、图15至图17等所示,在布线ol及布线olb的每一个连接有多个电路mc和多个电路mcr的情况下,从各电路mc及各电路mcr输出的电流根据基尔霍夫的电流定律合在一起。其结果,进行和运算。换言之,在电路mc、电路mcr中进行积运算,通过将来自多个电路mc及多个电路mcr的电流合在一起,进行和运算。其结果,进行积和运算处理。
[0433]
在此,在电路mp的工作中,通过进行将第一数据(权系数)设定为只有“+1”、
“‑
1”的2值且将第二数据(神经元的信号的值)设定为只有“+1”、
“‑
1”的2值的计算,电路mp可以进行与异或非电路(符合电路)相同的工作。
[0434]
另外,在电路mp的工作中,通过进行将第一数据(权系数)设定为只有“+1”、“0”的2值,将第二数据(神经元的信号的值)设定为只有“+1”、“0”的2值的计算,电路mp可以进行与逻辑乘电路同样的工作。
[0435]
在本工作例子中,将保持在电路mp的电路mc、电路mcr所包括的保持部hc、保持部hcr中的电位设定为vss、v1、v2等多值,但是在保持部hc、保持部hcr中保持2值或表示模拟值的电位。例如,在第一数据(权系数)为“正模拟值”时,在保持部hc的节点n1保持有高电平模拟电位,在保持部hcr的节点n1r保持有低电平电位。第一数据(权系数)为“负模拟值”时,保持部hc的节点n1保持有低电平电位,保持部hcr的节点n1r保持有高电平模拟电位。电流i
ol
及电流i
olb
的电流的高低成为对应于模拟电位的高低。另外,不但在图19a的电路mp中,而且还可以在本说明书等所示的其他电路mp中保持部hc、保持部hcr保持有表示模拟值的电位。
[0436]
<<工作例子2>>在电路afc所包括的电路actf[j]中,在作为电路ivtr及电路ivtrr使用图6a的电路ivtr(电路ivtrr)时或在作为电路afc所包括的电路actf[j]使用将负载le、负载leb被用作电容crt、crtb的图10的电路actf[j]时,根据向电路mp输入第二数据(神经元的信号的值)的时间决定从布线ol输入到电路mc和电路mcr中的一个的电流量以及从布线olb输入到电路mc和电路mcr中的另一个的电流量,因此输入到开关swr1及开关swr1b的每一个的第一端子的电位也根据电流量决定。这里,通过将第二数据(神经元的信号的值)根据输入时间定义,可以将第二数据(神经元的信号的值)作为多值或模拟值的数据输入到电路mp。由此,可以进行第一数据与多值或模拟值的第二数据的积和运算。
[0437]
图26a至图26c所示的各时序图示出图23b的时序图(条件2)的时刻t15以后的工作例子。注意,图26a至图26c的时序图未示出节点n1及节点n1r的电位,而示出在电容crt的第一端子中储存的电荷量q
ol
及在电容crtb的第一端子中储存的电荷量q
olb
。
[0438]
图26a示出将对电路mp输入第二数据(神经元的信号的值)的时间设定为t
ut
时的运算电路110的工作例子。在图26a中将时刻t15至时刻t16的输入时间设定为t
ut
。在时刻t15至时刻t16,由于被输入第二数据(神经元的信号的值),所以从布线ol向电路mc作为电流量流过i1。此外,在该期间,在电容crt的第一端子中储存i1×
t
ut
的电荷量。注意,在图26a的时序图中将i1×
t
ut
记为q1。
[0439]
图26b示出将对电路mp输入第二数据(神经元的信号的值)的时间设定为2t
ut
时的运算电路110的工作例子。在图26b中,将时刻t15至时刻t16的输入时间设定为2t
ut
。与图26a的时序图同样地考虑,在图26b所示的工作例子中,在时刻t15至时刻t16,在电容crt的第一端子中储存i1×
2t
ut
=2q1的电荷量。
[0440]
从图26a、图26b可知,根据第二数据(神经元的信号的值)的输入时间决定储存于电容crt的第一端子中的电荷量。也就是说,可以根据第二数据(神经元的信号的值)的输入时间决定输入到开关swr1的第一端子的电位。这里,例如,在第二数据(神经元的信号的值)的绝对值为“1”时,将输入时间设定为t
ut
,在第二数据(神经元的信号的值)的绝对值为“2”时,将输入时间设定为2t
ut
,通过如此将第二数据(神经元的信号的值)的绝对值以其输入时间定义,可以以多值第二数据(神经元的信号的值)进行积和运算。
[0441]
在图26a、图26b中,作为正的第二数据(神经元的信号的值)对布线x1l输入高电平电位且对布线x2l输入低电平电位,作为负的第二数据(神经元的信号的值),也可以对布线x1l输入低电平电位且对布线x2l输入高电平电位。例如,在图26b的工作例子中,在对布线x1l输入低电平电位且对布线x2l输入高电平电位时,电流不从布线ol流过电路mc、电路mcr,电流从布线ol流过电路mcr,电流从布线olb流过电路mc,由此q
ol
成为0,q
olb
成为2q1。此外,作为0的第二数据(神经元的信号的值),也可以对布线x1l输入低电平电位且对布线x2l输入低电平电位。此时,不管第二数据(神经元的信号的值)的输入时间如何,电流都不从布线ol流过电路mc及电路mcr,且电流不从布线olb流过电路mc及电路mcr,因此q
ol
成为0,q
olb
成为0。
[0442]
图26a及图26b说明在电路mp中作为第一数据(权系数)保持“+1”的情况,但在电路mp中作为第一数据(权系数)保持
“‑
1”,也可以进行与图26a及图26b同样的工作。此外,也可以作为第一数据(权系数)保持“+2”、“0”、
“‑
2”等而工作。例如,在作为第一数据(权系数)将从电路mc流过布线ve的电流设定为2i1且将从电路mcr流过布线ver的电流量设定为0来定义“+2”时,与图26b同样地,在将第二数据(神经元的信号的值)的输入时间设定为2t
ut
时,q
ol
为2i1×
2t
ut
=4q1,q
olb
为0。也就是说,可以进行多值的第一数据与多值的第二数据之积。
[0443]
在上述中说明多值的第一数据与多值的第二数据之积,但也可以采用模拟值或多值的第一数据与模拟值或多值的第二数据之积。例如,在处理模拟值的第一数据时,将从电路mc流过布线ve的电流或从电路mcr流过布线ver的电流设定为连续的电流值(有时也称为模拟电流)而不设定为分散状态的电流值即可。例如,在处理模拟值的第二数据时,将第二数据的输入时间设定为连续的输入时间而不设定为分散状态的输入时间即可。
[0444]
对电路mp输入第二数据(神经元的信号的值)的方法不局限于图26a、图26b的工作例子。例如,如图26c所示,也可以将第二数据(神经元的信号的值)的输入分为时刻t15至时刻t16、时刻t16至时刻t17、时刻t17至时刻t18进行。具体而言,在图26c中,将时刻t15至时刻t16的输入时间设定为t
ut
,将时刻t16至时刻t17的输入时间设定为2t
ut
,将时刻t17至时
刻t18的输入时间设定为4t
ut
。注意,在本说明书等中,将每个期间分别称为第一子期间、第二子期间、第三子期间。
[0445]
在图26c的工作例子中,在第一子期间及第三子期间,作为对电路mp的第二数据(神经元的信号的值)的输入,布线x1l被输入高电平电位且布线x2l被输入低电平电位。因此,由于在时刻t15至时刻t16、时刻t17至时刻t18,电流i1从布线ol流过电路mc,所以q
ol
为i1×
t
ut
+i1×
4t
ut
=5q1,q
olb
为0。
[0446]
如上所述,通过作为对电路mp的第二数据(神经元的信号的值)的输入时间适当地选择第一至第三子期间,输入时间的总和可以为0、t
ut
、2t
ut
、3t
ut
、4t
ut
、5t
ut
、6t
ut
和7t
ut
中的任意个。此外,图26c示出第一至第三子期间的三个子期间的工作例子,但也可以根据状况增加子期间。
[0447]
在图26c中,作为正的第二数据(神经元的信号的值),对布线x1l输入高电平电位且对布线x2l输入低电平电位,作为负的第二数据(神经元的信号的值),也可以对布线x1l输入低电平电位且对布线x2l输入高电平电位。此外,作为0的第二数据(神经元的信号的值),也可以对布线x1l输入低电平电位且对布线x2l输入低电平电位。
[0448]
图26c说明在电路mp中作为第一数据(权系数)保持“+1”的情况,但也可以在电路mp中作为第一数据(权系数)保持
“‑
2”、
“‑
1”、“0”、“+2”等与图26c同样地进行工作。此外,也可以作为第一数据(权系数)保持模拟数据等与图26c同样地进行工作。
[0449]
注意,本结构例子可以与本说明书所示的其他结构例子等适当地组合。
[0450]
<结构例子2>接着,对与图20a至图20c、图21a及图21b的每一个的电路结构不同的能够用于图19b所示的电路mp的电路结构的例子进行说明。
[0451]
图27a所示的电路mp示出图19b的电路mp的结构例子,图27a的电路mp与图20a的电路mp的不同之处在于将布线il与布线ol组合为一个布线,且将布线ilb与布线olb组合为一个布线,不设置开关s5、开关s5r。因此,开关s2的第二端子与布线ol电连接,开关s2r的第二端子与布线olb电连接。
[0452]
在图27a的电路mp中,通过对布线wx1l及布线x2l输入高电平电位,晶体管m1可以具有二极管连接的结构。也就是说,在图27a的电路mp中,写入第一数据的工作通过如下方法进行:对布线wx1l及布线x2l输入高电平电位且从布线ol向电路mc流过对应于第一数据的电流量,从布线olb向电路mcr流过对应于第一数据的电流量。由此,图27a的电路mp可以与图20a的电路mp大致相同地进行运算。
[0453]
对与图27a不同的能够应用于图19b所示的电路mp的电路结构的其他例子进行说明。图27b所示的电路mp示出图19b的电路mp的结构例子,图27b所示的电路mp与图27a的电路mp的不同之处在于开关s2的第二端子与晶体管m1的第二端子、开关s3的第一端子、开关s4的第一端子电连接而不与布线ol电连接,开关s2r的第二端子与晶体管m1r的第二端子、开关s3r的第一端子、开关s4r的第一端子电连接而不与布线olb电连接。
[0454]
图27b的电路mp可以与图27a的电路mp大致同样地工作。
[0455]
<结构例子3>接着,对能够用于图19e所示的电路mp的电路结构例子进行说明。
[0456]
图28a所示的电路mp例如示出能够用于图17的运算电路150的图19e的电路mp的结
构例子。图28a的电路mp包括电路mc、电路mcr、晶体管mz,电路mc包括保持部hc、晶体管m20,电路mcr包括保持部hcr、晶体管m20r。注意,保持部hc包括晶体管m1、电容c1,保持部hcr包括晶体管m1r、电容c1r。
[0457]
在图28a的电路mp中,电路mcr具有与电路mc大致相同的电路结构。因此,为了与电路mc所包括的电路元件区分,对电路mcr所包括的电路元件的符号附上“r”。
[0458]
另外,在本说明书等中,在没有特别的说明的情况下,晶体管mz在开启状态时最后在线性区域中工作。换言之,包括如下情况:上述各晶体管的栅极电压、源极电压及漏极电压进行适当的偏压,使得该晶体管在线性区域中工作。
[0459]
晶体管m20的第一端子与晶体管mz的第一端子电连接,晶体管m20的栅极与晶体管m1的第二端子及电容c1的第一端子电连接,晶体管m20的第二端子与布线ol电连接。电容c1的第二端子与布线vl电连接。晶体管m1的第一端子与布线ol电连接。
[0460]
晶体管m20r的第一端子与晶体管mz的第一端子电连接,晶体管m20r的栅极与晶体管m1r的第二端子及电容c1r的第一端子电连接,晶体管m20r的第二端子与布线olb电连接。电容c1r的第二端子与布线vl电连接。晶体管m1的第一端子与布线olb电连接。
[0461]
布线vl例如被用作供应恒电压的布线。作为该恒电压,例如可以采用低电平电位的vss、接地电位(gnd)等。
[0462]
包括在图28a的电路mp中的保持部hc、保持部hcr与图20a等所示的包括在电路mp中的保持部hc、保持部hcr同样地可以设定相当于权系数的电流量。具体而言,例如,在保持部hc中,对布线xl供应规定电位使晶体管mz处于开启状态,对布线wl供应规定电位使晶体管m1处于开启状态,将相当于权系数的电流量从布线ol向电容c1的第一端子及晶体管m20的第二端子流过。此时,由于晶体管m20成为二极管连接,所以晶体管m20的栅极与源极间电压根据该电流量(在源极与漏极间流过的电流的量)决定。此时,在晶体管m20的源极的电位为布线vl所供应的电位时,决定晶体管m20的栅极的电位。这里,通过使晶体管m1处于关闭状态,可以保持晶体管m20的栅极的电位。注意,与保持部hcr同样地,通过将相当于权系数的电流量从布线olb向电容c1r的第一端子及晶体管m20r的第二端子流过,可以将对应于该电流量的电位保持在晶体管m20r的栅极中。
[0463]
这里,例如,作为设定在图28a的电路mp中的权系数,当在保持部hc的晶体管m20中被设定为i
ut
的电流流过且在保持部hcr的晶体管m20r中被设定为电流不流过时,该权系数为“+1”,当在保持部hc的晶体管m20中被设定为电流不流过且在保持部hcr的晶体管m20r中被设定为i
ut
的电流流过时,该权系数为
“‑
1”,当在保持部hc、保持部hcr的每一个的晶体管m20、晶体管m20r中被设定为电流不流过时,该权系数为“0”。
[0464]
通过在保持部hc及保持部hcr的每一个中设定对应于权系数的电流,决定晶体管m20及晶体管m20r的每一个的栅极的电位。这里,例如通过对布线xl供应对应于神经元的信号的值的电位,决定在布线ol及/或布线olb与电路mp之间流过的电流。例如,在对布线xl作为“+1”的第二数据供应高电平电位时,布线vl所供应的恒电压被供应到晶体管m20的第一端子、晶体管m20r的第一端子。此外,例如,在对布线xl作为“0”的第二数据供应低电平电位时,布线vl所供应的恒电压不被供应到晶体管m20的第一端子、晶体管m20r的第一端子。也就是说,电流不在晶体管m20及晶体管m20r中流过。
[0465]
这里,当在晶体管m20中作为电流量设定i
ut
时,通过对晶体管m20的源极从布线vl
供应电位,在晶体管m20的第一端子与第二端子之间作为电流量流过i
ut
。此外,在以电流不在晶体管m20中流过的方式设定时,即使对晶体管m20的源极从布线vl供应电位,电流也不在晶体管m20的第一端子与第二端子之间流过。同样地,当在晶体管m20r中作为电流量设定i
ut
时,通过对晶体管m20r的源极从布线vl供应电位,在晶体管m20r的第一端子与第二端子之间作为电流量流过i
ut
。此外,当以电流不在晶体管m20r中流过的方式设定时,即使对晶体管m20r的源极从布线vl供应电位,电流也不在晶体管m20r的第一端子与第二端子之间流过。
[0466]
也就是说,将上述内容总合,在权系数与神经元的信号的值之积为“+1”时,i
ut
的电流量在电路mc与布线ol之间流过,而电流不在电路mcr与布线olb之间流过。此外,在权系数与神经元的信号的值之积为
“‑
1”时,i
ut
的电流量在电路mcr与布线olb之间流过,而电流不在电路mc与布线ol之间流过。另外,在权系数与神经元的信号的值之积为“0”时,电流不在电路mc与布线ol之间流过,且电流不在电路mcr与布线olb之间流过。
[0467]
如上所述,图28a的电路mp可以计算权系数的“+1”、
“‑
1”、“0”的3值与神经元的信号(运算值)的“+1”、“0”的2值之积。此外,图28a的电路mp作为一个例子改变在晶体管m20及晶体管m20r中设定的电流量,由此可以计算第一数据(权系数)的“正的多值”、“0”、“负的多值”与第二数据(神经元的信号的值)的“+1”、“0”的2值之积。
[0468]
图28a所示的电路mp例如可以改变为图28b所示的电路mp。图28b所示的电路mp与图28a的电路mp的不同之处在于电容c1的第二端子及电容c1r的第二端子与布线cvl电连接,而不与布线vl电连接。
[0469]
布线cvl例如被用作供应恒电压的布线。作为该恒电压,例如可以采用高电平电位、低电平电位、接地电位等。
[0470]
注意,本结构例子可以与本说明书所示的其他结构例子等适当地组合。
[0471]
注意,本实施方式可以与本说明书所示的其他实施方式适当地组合。
[0472]
(实施方式4)实施方式2的运算电路的结构例子1至运算电路的结构例子3说明根据分层神经网络能够运算的运算电路所包括的电路mp的结构例子,但本发明的一个方式不局限于此。在实施方式1中说明的电路afp,尤其是电路actf[j]可以被用作存储装置的读出电路。在本实施方式中说明在电路afp被用作存储装置的读出电路时可用于阵列部alp的电路mp的存储单元的结构例子。
[0473]
图29a所示的电路mp为可用于图17的运算电路150的电路mp,并包括具有dram(dynamic random access memory:动态随机存取存储器)的电路mc、电路mcr。电路mc包括晶体管m10、电容c5。
[0474]
在图29a的电路mp中,电路mcr具有与电路mc大致相同的电路结构。因此,为了与电路mc所包括的电路元件等区分,对电路mcr所包括的电路元件等的符号附上“r”。
[0475]
作为晶体管m10例如优选使用os晶体管。注意,在实施方式5中详细说明os晶体管。此外,作为晶体管m10除了os晶体管以外也可以使用si晶体管。此外,例如,作为晶体管m10除了os晶体管、si晶体管以外例如也可以采用使用化合物半导体作为活性层的晶体管、使用碳纳米管作为活性层的晶体管、使用有机半导体作为活性层的晶体管等。
[0476]
晶体管m10的第一端子与电容c5的第一端子电连接,晶体管m10的第二端子与布线
ol电连接,晶体管m10的栅极与布线wr1l电连接。电容c5的第二端子与布线vea电连接。
[0477]
在电路mcr中,晶体管m10r的第二端子与布线olb电连接。此外,晶体管m10r的栅极与布线wr2l电连接。
[0478]
布线vea、布线vear作为一个例子被用作供应恒电压的布线。作为该恒电压可以采用接地电位、低电平电位等。
[0479]
布线wr1l被用作用来切换晶体管m10的开启状态和关闭状态的布线,布线wr2l被用作供应用来切换晶体管m10的开启状态和关闭状态的信号的布线。注意,也可以将布线wr1l和布线wr2l组合为一个布线。
[0480]
布线w1l、布线w2l的组可以相当于图17的运算电路150的布线wls。
[0481]
接着,对图29a的电路mp的读出工作进行说明。注意,这里,电路mp的读出电路为图15所示的电路actf[j]。此外,图29a的电路mp预先被写入数据,例如,在电路mc的电容c5的第一端子中保持电位v0,在电路mcr的电容c5r的第一端子中保持电位v1。也就是说,保持于电路mc中的电位v0及保持于电路mcr中的电位v1为对应于该数据的电位。
[0482]
作为电位v0例如可以采用接地电位、低电平电位(vss)等。此外,作为电位v1例如可以采用高电平电位(例如vdd)、数字电位、模拟电位等。注意,这里将电位v0设定为低电平电位(vss)进行说明。
[0483]
在此,在图15的电路actf[j]中,布线srl1及布线srl3被输入高电平电位,使开关swr1、开关swr1b、开关swr3、开关swr3b处于开启状态,对布线ol、布线olb及节点n5、节点n5r进行布线vcn4的电位的预充电。注意,这里的布线vcn4所供应的电位可以为低电平电位(vss)。然后,布线srl3被输入低电平电位,使开关swr3、开关swr3b处于关闭状态。
[0484]
布线wr1l、布线wr2l分别被输入高电平电位,使晶体管m10、晶体管m10r处于开启状态。由此,在电容c5的第一端子与布线ol之间成为导通状态,布线ol及节点n5的电位成为对应于预充电的布线vcn4的电位及电位v0的电位。此外,在电容c5r的第一端子与布线olb之间成为导通状态,布线olb及节点n5r的电位成为对应于预充电的布线vcn4的电位及电位v1的电位。
[0485]
通过将布线vcn3所供应的电位设定为接地电位且进行图9的时序图的时刻t04至时刻t05的工作,可以在电容cre中保持从电路mc和电路mcr的每一个读出的电位的差分。然后,通过进行时刻t06至时刻t07的工作,将该电位的差分转换为以接地电位为基准的电位。并且,通过进行时刻t07以后的工作,可以将该电位供应给电路ac的端子mbt1,其结果是,可以从电路ac的端子mbt2输出对应于电路mp所保持的数据的电位。
[0486]
图29b所示的电路mp为可用于图17的运算电路150的电路mp,并包括具有被称为nosram(nonvolatile oxide semiconductor random access memory:氧化物半导体非易失性随机存取存储器)(注册商标)的电路结构的电路mc、电路mcr。电路mc包括晶体管m11、晶体管m12、电容c6。
[0487]
在图29b的电路mp中,电路mcr具有与电路mc大致相同的电路结构。因此,为了与电路mc所包括的电路元件区分,对电路mcr所包括的电路元件的符号附上“r”。
[0488]
晶体管m11、晶体管m12可以使用与上述晶体管m10同样的晶体管。例如,晶体管m11、晶体管m12优选使用os晶体管。此外,晶体管m11、晶体管m12除了os晶体管以外也可以使用si晶体管。此外,晶体管m11及晶体管m12的各半导体层也可以包含彼此不同的材料。
[0489]
晶体管m11的第一端子与电容c6的第一端子、晶体管m12的栅极电连接,晶体管m11的第二端子与布线ol电连接,晶体管m11的栅极与布线w1l电连接。电容c6的第二端子与布线rl电连接。晶体管m12的第一端子与布线ol电连接,晶体管m12的第二端子与布线ve电连接。
[0490]
在电路mcr中,晶体管m11r的第一端子与布线olb电连接。此外,晶体管m11r的栅极与布线w2l电连接。
[0491]
布线ve、布线ver作为一个例子被用作供应恒电压的布线。作为该恒电压,可以采用接地电位、低电平电位等。注意,这里将该恒电压设定为低电平电位进行说明。
[0492]
布线w1l被用作用来切换晶体管m11的开启状态和关闭状态的布线,布线w2l被用作供应用来切换晶体管m11r的开启状态和关闭状态的信号的布线。注意,也可以将布线w1l和布线w2l组合为一个布线。
[0493]
布线rl被用作供应用来选择进行读出的电路mp的信号的布线。
[0494]
布线w1l、布线w2l及布线rl的组可以相当于图17的运算电路150的布线wls。或者,布线w1l、布线w2l的组可以相当于图17的运算电路150的布线wls,布线rl可以相当于图17的运算电路150的布线xls。由此,图17的运算电路150的电路xld也可以被用作读出字线驱动器电路。
[0495]
接着,对图29b的电路mp的写入工作进行说明。首先,布线rl例如被输入高电平电位。接着,布线w1l、布线w2l的每一个被输入高电平电位,使晶体管m11、晶体管m11r都处于开启状态。然后,从布线ol、布线olb将对应于写入到电路mp的数据的电位供应给电路mc及电路mcr。这里,例如,从布线ol对电路mc写入电位v1,从布线olb对电路mcr写入电位v0。也就是说,保持于电路mc中的电位v1及保持于电路mcr中的电位v0为对应于该数据的电位。在电路mc、电路mcr都被写入电位后,布线w1l、布线w2l都被输入低电平电位,使晶体管m11、晶体管m11r都处于关闭状态,使电容c6的第一端子及电容c6r的第一端子处于浮动状态。并且,通过布线rl的电位例如充分得到降低(例如,降低至低电平电位),由于电容耦合降低电容c6的第一端子及电容c6r的第一端子的各电位。由此,使晶体管m12、晶体管m12r处于关闭状态。
[0496]
注意,作为电位v0,例如可以采用接地电位、低电平电位(vss)等。此外,作为电位v1例如可以采用高电平电位(例如vdd)、数字电位、模拟电位等。注意,这里将电位v0设定为低电平电位(vss)进行说明。
[0497]
接着,对图29b的电路mp的读出工作进行说明。注意,这里,电路mp的读出电路为图15所示的电路actf[j]。首先,与写入工作时同样地,布线rl被输入高电平电位,由于电容耦合使电容c6的第一端子及电容c6r的第一端子的各电位上升。由此,电容c6的第一端子及电容c6r的第一端子的各电位可以回到写入到电路mc、电路mcr时的电位。
[0498]
接着,在图15的电路actf[j]中,对布线srl1及布线srl3输入高电平电位,使开关swr1、开关swr1b、开关swr3、开关swr3b处于开启状态。由此,布线ol、布线olb及节点n5、节点n5r的电位成为布线vcn4的电位。注意,这里的布线vcn4所供应的电位可以为高电平电位(vdd)。然后,对布线srl3输入低电平电位,使开关swr3及开关swr3b处于关闭状态,使布线ol、布线olb处于浮动状态。并且,对布线rl输入高电平电位,晶体管m12、晶体管m12r的每一个的栅极被施加该高电平电位。此时,有时在晶体管m12、晶体管m12r的每一个的源极
‑
漏极
间电流流过。注意,由于晶体管m12的栅极为v1,所以晶体管m12处于开启状态,由于晶体管m12r的栅极为v0,所以晶体管m12r处于关闭状态。也就是说,在晶体管m12的栅极
‑
源极间电流流过,在晶体管m12r的栅极
‑
源极间电流不流过。因此,由于在晶体管m12的源极
‑
漏极间电流流过,所以布线ol及节点n5的电位从vdd降低。另一方面,由于在晶体管m12r的源极
‑
漏极间电流不流过,所以布线olb及节点n5r的电位保持vdd,而没有改变。
[0499]
通过将布线vcn3所供应的电位设定为接地电位且进行图9的时序图的时刻t04至时刻t05的工作,可以在电容cre中保持从电路mc和电路mcr的每一个读出的电位的差分。然后,通过进行时刻t06至时刻t07的工作,将该电位的差分转换为以接地电位为基准的电位。并且,通过进行时刻t07以后的工作,可以将该电位供应给电路ac的端子mbt1,其结果是,可以从电路ac的端子mbt2输出对应于电路mp所保持的数据的数字信号。
[0500]
图29c所示的电路mp为可用于图17的运算电路150的电路mp,与图29b同样地,包括具有被称为nosram(注册商标)的电路结构的电路mc、电路mcr。注意,图29c的电路mp与图29b的电路mp的不同之处在于晶体管的个数及连接结构等。
[0501]
在图29c的电路mp中,电路mc包括晶体管m11、晶体管m12、晶体管m13、电容c6。
[0502]
晶体管m13可以使用与上述晶体管m10同样的晶体管。例如,晶体管m10优选使用os晶体管。
[0503]
晶体管m11的第一端子与晶体管m12的栅极、电容c6的第一端子电连接,晶体管m11的第二端子与布线ol电连接,晶体管m11的栅极与布线w1l电连接。晶体管m12的第一端子与布线ve电连接,晶体管m12的第二端子与晶体管m13的第一端子电连接。晶体管m13的第二端子与布线ol电连接,晶体管m13的栅极与布线rl电连接。
[0504]
在电路mcr中,晶体管m11r的第二端子与布线olb电连接。此外,晶体管m11r的栅极与布线w2l电连接。
[0505]
布线ve、布线ver作为一个例子被用作供应恒电压的布线。作为该恒电压,可以采用接地电位、低电平电位等。注意,这里将该恒电压设定为低电平电位进行说明。
[0506]
布线w1l被用作用来切换晶体管m11的开启状态和关闭状态的布线,布线w2l被用作供应用来切换晶体管m11r的开启状态和关闭状态的信号的布线。注意,也可以将布线w1l和布线w2l组合为一个布线。
[0507]
布线rl被用作供应用来选择进行读出的电路mp的信号的布线。
[0508]
布线w1l、布线w2l及布线rl的组可以相当于图17的运算电路150的布线wls。或者,布线w1l、布线w2l的组可以相当于图17的运算电路150的布线wls,布线rl可以相当于图17的运算电路150的布线xls。由此,图17的运算电路150的电路xld也可以被用作读出字线驱动器电路。
[0509]
接着,对图29c的电路mp的写入工作进行说明。首先,对布线w1l、布线w2l输入高电平电位,晶体管m11及晶体管m11r都处于开启状态。此外,对布线rl输入低电平电位。然后,从布线ol、布线olb将对应于写入到电路mp的数据的电位供应给电路mc及电路mcr。这里,例如,从布线ol对电路mc写入电位v1,从布线olb对电路mcr写入电位v0。也就是说,保持于电路mc中的电位v1及保持于电路mcr中的电位v0为对应于该数据的电位。在电路mc、电路mcr都被写入电位后,布线w1l、布线w2l都被输入低电平电位,使晶体管m11、晶体管m11r都处于关闭状态,使电容c6的第一端子及电容c6r的第一端子处于浮动状态。
[0510]
注意,作为电位v0例如可以采用接地电位、低电平电位(vss)等。此外,作为电位v1例如可以采用高电平电位(例如vdd)、数字电位、模拟电位等。注意,这里将电位v0设定为低电平电位(vss)进行说明。
[0511]
接着,对图29c的电路mp的读出工作进行说明。注意,这里,电路mp的读出电路为图15所示的电路actf[j]。
[0512]
在图15的电路actf[j]中,对布线srl1及布线srl3输入高电平电位,使开关swr1、开关swr1b、开关swr3、开关swr3b处于开启状态。由此,布线ol、布线olb及节点n5、节点n5r的电位成为布线vcn4的电位。注意,这里的布线vcn4所供应的电位可以为高电平电位(vdd)。然后,对布线srl3输入低电平电位,使开关swr3及开关swr3b处于关闭状态,使布线ol、布线olb处于浮动状态。并且,对布线rl输入高电平电位,晶体管m13、晶体管m13r的每一个的栅极被施加该高电平电位。此时,有时根据晶体管m13、晶体管m13r的每一个的源极
‑
漏极电压在晶体管m13、晶体管m13r的每一个的源极
‑
漏极间电流流过。注意,由于晶体管m12的栅极为v1,所以晶体管m12处于开启状态,由于晶体管m12r的栅极为v0,所以晶体管m12r处于关闭状态。也就是说,在晶体管m12的栅极
‑
源极间电流流过,在晶体管m12r的栅极
‑
源极间电流不流过。因此,由于在晶体管m12的源极
‑
漏极间电流流过,所以布线ol及节点n5的电位从vdd降低。另一方面,由于在晶体管m12r的源极
‑
漏极间电流不流过,所以布线olb及节点n5r的电位保持vdd,而没有改变。
[0513]
通过将布线vcn3所供应的电位设定为接地电位且进行图9的时序图的时刻t04至时刻t05的工作,可以在电容cre中保持从电路mc和电路mcr的每一个读出的电位的差分。然后,通过进行时刻t06至时刻t07的工作,将该电位的差分转换为以接地电位为基准的电位。并且,通过进行时刻t07以后的工作,可以将该电位供应给电路ac的端子mbt1,其结果是,可以从电路ac的端子mbt2输出对应于电路mp所保持的数据的数字信号。
[0514]
图30a所示的电路mp为可用于图17的运算电路150的电路mp,并包括具有reram(resistive random access memory:电阻随机存取存储器)的电路mc、电路mcr。电路mc包括晶体管m10、可变电阻元件rm。
[0515]
在图30a的电路mp中,电路mcr具有与电路mc大致相同的电路结构。因此,为了与电路mc所包括的电路元件区分,对电路mcr所包括的电路元件的符号附上“r”。
[0516]
晶体管m10例如可以具有与在图29a中说明的电路mp所包括的晶体管m10同样的结构。
[0517]
晶体管m10的第一端子与可变电阻元件rm的第一端子电连接,晶体管m10的第二端子与布线ol电连接,晶体管m10的栅极与布线wr1l电连接。可变电阻元件rm的第二端子与布线ve电连接。
[0518]
在电路mcr中,晶体管m10r的第一端子与布线olb电连接。此外,晶体管m10r的栅极与布线wr2l电连接。
[0519]
布线ve、布线ver作为一个例子被用作供应恒电压的布线。作为该恒电压,可以采用接地电位、低电平电位等。注意,这里将该恒电压设定为低电平电位进行说明。
[0520]
布线wr1l被用作用来切换晶体管m11的开启状态和关闭状态的布线,布线wr2l被用作供应用来切换晶体管m11r的开启状态和关闭状态的信号的布线。注意,也可以将布线wr1l和布线wr2l组合为一个布线。
[0521]
布线wr1l、布线wr2l的组可以相当于图17的运算电路150的布线wls。或者,布线wr1l、布线wr2l的组也可以相当于图17的运算电路150的布线xls。由此,图17的运算电路150的电路xld也可以被用作读出字线驱动器电路。
[0522]
可变电阻元件rm为根据在其第一端子与第二端子之间被施加的电压决定第一端子与第二端子之间的电阻值的电路元件。因此,电路mc通过对布线wr1l输入高电平电位使晶体管m10处于开启状态,对布线ol输入写入电位,可以改变可变电阻元件rm的电阻值。由此,电路mc可以保持对应于写入电位的数据。此外,在从电路mc读出数据时,对布线wr1l输入高电平电位,使晶体管m10处于开启状态,对布线ol输入读出电位,测量从布线ol流过布线ve的电流量。此外,电路mcr可以与电路mc同样地进行数据的写入及读出。
[0523]
这里,对在图30a的电路mp的读出工作中使用图15所示的电路actf[j]的情况进行说明。图30a的电路mp预先被写入数据,例如将电路mc的可变电阻元件rm的电阻值设定为r1,将电路mcr的可变电阻元件rmr的电阻值设定为r0。也就是说,电路mc的可变电阻元件rm的电阻值r1及电路mcr的可变电阻元件rmr的电阻值r0为对应于该数据的电位。
[0524]
注意,电阻值r1比电阻值r0低。此外,作为电阻值r1、r0可取的值可以采用2值等数字值、模拟值等。
[0525]
图30a的电路mp例如预先对布线ol及布线olb将布线vcn4的电位预充电,然后晶体管m10及晶体管m10r处于开启状态,由此通过从布线ol通过电路mc流过布线ve的电流量及从布线olb通过电路mcr流过布线ver的电流量可以读出保持于电路mp中的数据。例如,从布线ol通过电路mc向布线ve流过对应于电阻值r1的电流量,从布线olb通过电路mcr向布线ver流过对应于电阻值r0的电流量。对应于电阻值r1的电流量由电路ivtr转换为电压,对应于电阻值r0的电流量由电路ivtrr转换为电压。
[0526]
因此,通过将布线vcn3所供应的电位设定为接地电位且进行图9的时序图的时刻t04至时刻t05的工作,可以在电容cre中保持对应于从电路mc和电路mcr的每一个读出的电流的电位的差分。然后,通过进行时刻t06至时刻t07的工作,将该电位的差分转换为以接地电位为基准的电位。并且,通过进行时刻t07以后的工作,可以将该电位供应给电路ac的端子mbt1,其结果是,可以从电路ac的端子mbt2输出对应于电路mp所保持的数据的电位。
[0527]
注意,在电路afp为存储装置的读出电路时,作为可用于阵列部alp的电路mp的存储单元的一个例子,说明在图30a的电路mp中具有可变电阻元件的结构例子,电路mp也可以具有包括其他电路元件代替可变电阻元件的结构。例如,作为可用于电路mp的存储单元,如图30b所示的电路mp,也可以具有图30a的电路mp的可变电阻元件rm、rmr的每一个包括mtj(磁隧道结)元件mr、mtj元件mrr的电路结构。此外,例如,也可以采用用于相变存储器(pcm)等的包含相变材料的电阻元件(在本说明书等中为了方便起见将该电阻元件称为相变存储器)而不采用可变电阻元件或mtj元件。图30c所示的电路mp示出图30a的电路mp的可变电阻元件rm、可变电阻元件rmr分别为相变存储器pcm1、相变存储器pcm1r的电路结构。
[0528]
在电路afp为存储装置的读出电路时,作为可用于阵列部alp的电路mp的存储单元的一个例子,也可以具有包括sram(static random access memory)的电路结构。例如,图31a所示的电路mp具有包括具有sram的电路mc、电路mcr的结构。
[0529]
在图31a的电路mp中,电路mc包括晶体管m10、反相器环形电路ivrs。
[0530]
在图31a的电路mp中,电路mcr具有与电路mc大致相同的电路结构。因此,为了与电
路mc所包括的电路元件区分,对电路mcr所包括的电路元件的符号附上“r”。
[0531]
晶体管m10例如可以具有与在图29a中说明的电路mp所包括的晶体管m10同样的结构。
[0532]
图31a的电路mc可以通过反相器环形电路ivrs保持数据。
[0533]
反相器环形电路ivrs作为一个例子包括反相器电路iv1、反相器电路iv2。反相器电路iv1及反相器电路iv2的每一个具有在对输入端子输入输入信号时从输出端子输出该输入信号的反转信号的功能。反相器电路iv1的输入端子与反相器电路iv2的输出端子电连接,反相器电路iv2的输出端子与反相器电路iv1的输入端子电连接。此外,反相器环形电路ivrsr作为一个例子包括反相器电路iv1r、反相器电路iv2r。反相器电路iv1r及反相器电路iv2r的每一个与反相器电路iv1及反相器电路iv2同样地具有在对输入端子输入输入信号时该输入信号的反转信号从输出端子输出的功能。反相器电路iv1r的输入端子与反相器电路iv2r的输出端子电连接,反相器电路iv2r的输出端子与反相器电路iv1r的输入端子电连接。
[0534]
注意,反相器环形电路ivrs例如可以构成为cmos(complementary mos:互补金属氧化物半导体)电路。此外,反相器环形电路ivrs也可以只由n沟道型晶体管或p沟道型晶体管的单极性电路构成而不由cmos电路构成。
[0535]
作为反相器电路iv1及反相器电路iv2,例如可以采用nand电路、nor电路、xor电路、组合上述电路的电路等。具体而言,在将反相器电路替换为nand电路时,通过对nand电路的两个输入端子中的一方作为固定电位输入高电平电位,可以使nand电路用作反相器电路。另外,在将反相器电路替换为nor电路时,通过使nor电路的两个输入端子中的一方作为固定电位输入低电平电位,可以使nor电路用作反相器电路。另外,在将反相器电路替换为xor电路时,通过对xor电路的两个输入端子中的一方作为固定电平输入高电平电位,可以使xor电路用作反相器电路。如上所述,在本说明书等中记载的反相器电路可以替换为nand电路、nor电路、xor电路或组合上述电路的电路等的逻辑电路。因此,在本说明书等中,“反相器电路”也可以称为“逻辑电路”。
[0536]
晶体管m10的第一端子与反相器环形电路ivrs的反相器电路iv1的输入端子、反相器电路iv2的输出端子电连接,晶体管m10的第二端子与布线ol电连接,晶体管m10的栅极与布线wr1l电连接。
[0537]
此外,晶体管m10r的第二端子与布线olb电连接,晶体管m10r的栅极与布线wr2l电连接。
[0538]
布线wr1l被用作用来切换晶体管m10的开启状态和关闭状态的布线,布线wr2l被用作供应用来切换晶体管m10r的开启状态和关闭状态的信号的布线。注意,也可以将布线wr1l和布线wr2l组合为一个布线。
[0539]
布线wr1l、布线wr2l的组可以相当于图17的运算电路150的布线wls。
[0540]
在图31a的电路mp中,通过反相器环形电路ivrs电路mc可以保持高电平电位和低电平电位中的一个,通过反相器环形电路ivrsr电路mcr可以保持高电平电位和低电平电位中的一个。也就是说,通过使晶体管m10、晶体管m10r的每一个处于开启状态,对布线ol、布线olb的每一个输入写入电位,电路mp可以写入对应于电路mc、电路mcr的每一个的电位的数据。注意,对电路mc、电路mcr的每一个的写入电位也可以彼此相同或不同。注意,在对电
路mc、mcr的每一个写入对应于电位的数据后,晶体管m10、晶体管m10r的每一个处于关闭状态。
[0541]
这里,对在图31a的电路mp的读出工作中使用图15所示的电路actf[j]的情况进行说明。图31a的电路mp预先被写入数据,例如在电路mc中保持低电平电位,在电路mcr中保持高电平电位。也就是说,在电路mc中保持的低电平电位及在电路mc中保持的高电平电位为对应于该数据的电位。
[0542]
图31a的电路mp通过使晶体管m10、晶体管m10r处于开启状态,可以对布线ol、布线olb的每一个输出保持于电路mc、电路mcr中的每一个的电位。也就是说,在图15所示的电路actf[j]中,由于不需要在电路ivtr、电路ivtrr的每一个中将电流转换为电压,所以开关swr3、开关swr3b一直处于关闭状态。此外,在使开关swr2、开关swr2b处于关闭状态且使晶体管m10、晶体管m10r处于开启状态后,使开关swr1、开关swr1b处于开启状态,由此可以在电容cre中保持高电平电位与低电平电位的电位差。
[0543]
在将布线vcn3所供应的电位设定为接地电位时,通过进行图9的时序图的时刻t06至时刻t07的工作,将该电位差转换为以接地电位为基准时的电位。并且,通过进行时刻t07以后的工作,可以将该电位供应给电路ac的端子mbt1,其结果是,可以从电路ac的端子mbt2输出对应于电路mp所保持的数据的电位。
[0544]
本发明的一个方式不局限于包括图31a的存储装置(有时称为运算电路)。例如,如图31b所示的电路mp,也可以在图31a的电路mc及电路mcr的每一个中设置电路nm及电路nmr。电路nm及电路nmr为非易失性存储电路,例如,可以为在图30a至图30c中说明的包括可变电阻元件、mtj元件、相变存储器等的电路。通过将图31b的电路mp用于存储装置(有时称为运算电路),例如即使停止反相器环形电路ivrs、反相器环形电路ivrsr的电源电压的供应,也可以通过电路nm及电路nmr保持写入在电路mc及电路mcr中的数据。
[0545]
图31b的电路mp所包括的电路nm及电路nmr也可以具有包括电容及晶体管而不设置可变电阻元件、mtj元件、相变存储器的电路结构。图31c的电路mp所包括的电路nm包括电容c7、晶体管m14,电路nmr包括电容c7r、晶体管m14r。
[0546]
晶体管m14与反相器环形电路ivrs电连接,晶体管m14的第二端子与电容c7的第一端子电连接,电容c7的第二端子与布线ve电连接。晶体管m14的栅极与布线hl电连接。此外,晶体管m14r与反相器环形电路ivrsr电连接,晶体管m14r的第二端子与电容c7r的第一端子电连接,电容c7r的第二端子与布线ver电连接。另外,晶体管m14r的栅极与布线hlr电连接。
[0547]
布线ve及布线ver为被用作供应恒电压的布线。作为该恒电压例如可以采用高电平电位、低电平电位、接地电位等。
[0548]
布线hl及布线hlr的每一个被用作用来切换晶体管m14、晶体管m14r的开启状态和关闭状态的布线。
[0549]
通过使晶体管m14处于开启状态,在反相器环形电路ivrs与电容c7的第一端子之间成为导通状态。此时,可以将保持于反相器环形电路ivrs中的电位供应给电容c7的第一端子。然后,通过使晶体管m14处于关闭状态,可以在电容c7中保持该电位。
[0550]
作为晶体管m14,例如优选使用os晶体管。由于os晶体管具有关态电流非常低的特性,所以可以在电容c7中长时间保持电位。
[0551]
图32a所示的电路mp为可用于图12的运算电路130的电路mp。与图31a的电路mp同
样地,包括具有反相器环形电路ivrs、反相器环形电路ivrsr的每一个的电路mc、电路mcr。此外,电路mc包括晶体管m10、晶体管m12、晶体管m13。
[0552]
在图32a的电路mp中,电路mcr具有与电路mc大致相同的电路结构。因此,为了与电路mc所包括的电路元件区分,对电路mcr所包括的电路元件的符号附上“r”。
[0553]
晶体管m10、晶体管m12、晶体管m13的每一个例如优选使用可用于图29a的电路mp所包括的晶体管m10的晶体管。尤其是,作为晶体管m10、晶体管m13优选使用os晶体管。晶体管m10、晶体管m12、晶体管m13的每一个的半导体层也可以包含彼此不同的材料。
[0554]
晶体管m10的第一端子与反相器环形电路ivrs的第一端子电连接,晶体管m10的第二端子与布线il电连接,晶体管m10的栅极与布线wl电连接。
[0555]
晶体管m12的第一端子与布线ve电连接,晶体管m12的第二端子与布线ol电连接,晶体管m12的栅极与反相器环形电路ivrs的第二端子电连接。晶体管m13的第二端子与布线ol电连接,晶体管m13的栅极与布线rl电连接。
[0556]
在电路mcr中晶体管m13r的第二端子与布线olb电连接。
[0557]
布线ve、布线ver作为一个例子被用作供应恒电压的布线。作为该恒电压,可以采用接地电位、低电平电位等。注意,这里将该恒电压设定为低电平电位进行说明。
[0558]
布线wl被用作用来切换晶体管m10的开启状态和关闭状态的布线。
[0559]
布线rl被用作供应用来选择进行读出的电路mp的信号的布线。
[0560]
布线wl、布线rl的组可以相当于图12的运算电路130的布线wls。或者,布线wl可以相当于图12的运算电路130的布线wls,布线rl可以相当于图12的运算电路130的布线xls。由此,图12的运算电路130的电路xld也可以被用作读出字线驱动器电路。
[0561]
反相器环形电路ivrs(反相器环形电路ivrsr)具有将反相器环形电路ivrs(反相器环形电路ivrsr)的第一端子被输入的信号的反转信号输出到反相器环形电路ivrs(反相器环形电路ivrsr)的第二端子的功能。此外,在反相器环形电路ivrs(反相器环形电路ivrsr)被供应电源电压时,电路mc(电路mcr)具有通过反相器环形电路ivrs(反相器环形电路ivrsr)保持反相器环形电路ivrs(反相器环形电路ivrsr)的第一端子及第二端子的电位的功能。
[0562]
接着,对图32a的电路mp的写入工作进行说明。首先,对布线wl输入高电平电位,使晶体管m10及晶体管m10r都处于开启状态。然后,从布线il及布线ilb的每一个将对应于写入到电路mp的数据的电位供应给电路mc及电路mcr的每一个。这里,例如,从布线ol对电路mc写入低电平电位的vss,从布线olb对电路mcr写入高电平电位的vdd。也就是说,保持于电路mc中的vss、保持于电路mcr中的vdd为对应于该数据的电位。在电路mc、电路mcr都被写入电位后,对布线wl输入低电平电位,使晶体管m10、晶体管m10r都处于关闭状态,反相器环形电路ivrs及反相器环形电路ivrsr都保持电位。
[0563]
接着,对图32a的电路mp的读出工作进行说明。注意,这里,电路mp的读出电路为图15所示的电路actf[j]。首先,对布线rl输入低电平电位,使晶体管m13、晶体管m13r都处于关闭状态。
[0564]
接着,在图15的电路actf[j]中,对布线srl1及布线srl3输入高电平电位,使开关swr1、开关swr1b、开关swr3、开关swr3b处于开启状态。由此,布线ol、布线olb及节点n5、节点n5r的电位成为布线vcn4的电位。注意,这里的布线vcn4所供应的电位可以为高电平电位
(vdd)。然后,对布线srl3输入低电平电位,使开关swr3及开关swr3b处于关闭状态,使布线ol、布线olb处于浮动状态。并且,有时通过对布线rl输入高电平电位,使晶体管m13、晶体管m13r都处于开启状态,根据晶体管m12、晶体管m12r的每一个的栅极
‑
源极电压在源极
‑
漏极间电流流过。注意,由于晶体管m12的栅极为vdd,所以晶体管m12处于开启状态,由于晶体管m12r的栅极为vss,所以晶体管m12处于关闭状态。也就是说,在晶体管m12的栅极
‑
源极间电流流过,在晶体管m12r的栅极
‑
源极间电流不流过。因此,由于在晶体管m12的源极
‑
漏极间电流流过,所以布线ol及节点n5的电位从vdd降低。另一方面,由于在晶体管m12r的源极
‑
漏极间电流不流过,所以布线olb及节点n5r的电位保持vdd,而没有改变。
[0565]
通过将布线vcn3所供应的电位设定为接地电位且进行图9的时序图的时刻t04至时刻t05的工作,可以在电容cre中保持从电路mc和电路mcr的每一个读出的电位的差分。然后,通过进行时刻t06至时刻t07的工作,将该电位的差分转换为以接地电位为基准的电位。并且,通过进行时刻t07以后的工作,可以将该电位供应给电路ac的端子mbt1,其结果是,可以从电路ac的端子mbt2输出对应于电路mp所保持的数据的数字信号。
[0566]
此外,本发明的一个方式不局限于包括图32a的电路mp的存储装置(有时为运算电路)。例如,也可以将图32a所示的布线ol和布线il组合为一个布线且将布线olb和布线ilb组合为一个布线。图32b所示的电路mp具有如下结构:在图32a的电路mp中将布线ol和布线il组合为一个布线ol且将布线olb和布线ilb组合为一个布线olb。由于通过将图32b的电路mp用于存储装置(运算电路),可以减少布线数,所以可以降低该存储装置(运算电路)的电路面积。
[0567]
注意,在图29a至图29c、图30a至图30c、图31a至图31c、图32a、图32b中说明可用于将图15所示的电路actf[j]用作读出电路的存储装置的电路mp的一个例子,但是本发明的一个方式不局限于此。在实施方式1、实施方式2中说明的电路mp可以使用图29a至图29c、图30a至图30c、图31a至图31c、图32a、图32b的每一个的电路mp,可以构成根据分层神经网络能够运算的运算电路。
[0568]
注意,本实施方式可以与本说明书所示的其他实施方式适当地组合。
[0569]
(实施方式5)在本实施方式中,对在上述实施方式中说明的运算电路的结构例子及能够应用于该运算电路的晶体管的结构例子进行说明。
[0570]
<半导体装置的结构例子>图33所示的半导体装置包括晶体管300、晶体管500及电容器600。图35a是晶体管500的沟道长度方向上的截面图,图35b是晶体管500的沟道宽度方向上的截面图,图35c是晶体管300的沟道宽度方向上的截面图。
[0571]
晶体管500是在沟道形成区域中包含金属氧化物的晶体管(os晶体管)。由于晶体管500的关态电流小,所以通过将该os晶体管用于半导体装置例如包括在运算电路110、运算电路120、运算电路140等中的开关s2等,可以长期间保持写入内容。换言之,刷新工作的频率低或者不需要刷新工作,所以可以降低半导体装置的功耗。
[0572]
在本实施方式中说明的半导体装置如图33所示包括晶体管300、晶体管500、电容器600。晶体管500设置在晶体管300的上方,电容器600设置在晶体管300及晶体管500的上方。注意,电容器600可以为包括在上述实施方式所说明的运算电路110、运算电路120、运算
电路140等中的电路mp中的电容c1、电容c1r等。
[0573]
晶体管300设置在衬底311上,并包括:由导电体316、绝缘体315、衬底311的一部分构成的半导体区域313;以及被用作源区域和漏区域的低电阻区域314a及低电阻区域314b。注意,晶体管300例如可以用于包括在上述实施方式所说明的运算电路110、运算电路120、运算电路140等中的电路mp的晶体管m1等。
[0574]
作为衬底311,优选使用半导体衬底(例如单晶衬底或硅衬底)。
[0575]
如图35c所示,在晶体管300中,导电体316隔着绝缘体315覆盖半导体区域313的顶面及沟道宽度方向的侧面。如此,通过使晶体管300具有fin型结构,实效上的沟道宽度增加,所以可以改善晶体管300的通态特性。此外,由于可以增加栅电极的电场的影响,所以可以改善晶体管300的关闭特性。
[0576]
另外,晶体管300可以为p沟道型晶体管或n沟道型晶体管。
[0577]
半导体区域313的沟道形成区域、其附近的区域、被用作源区域或漏区域的低电阻区域314a及低电阻区域314b等优选包含硅类半导体等半导体,更优选包含单晶硅。此外,也可以使用包含ge(锗)、sige(硅锗)、gaas(砷化镓)、gaalas(镓铝砷)等的材料形成。可以使用对晶格施加应力,改变晶面间距而控制有效质量的硅。此外,晶体管300也可以是使用gaas和gaalas等的hemt(high electron mobility transistor:高电子迁移率晶体管)。
[0578]
在低电阻区域314a及低电阻区域314b中,除了应用于半导体区域313的半导体材料之外,还包含砷、磷等赋予n型导电性的元素或硼等赋予p型导电性的元素。
[0579]
作为被用作栅电极的导电体316,可以使用包含砷、磷等赋予n型导电性的元素或硼等赋予p型导电性的元素的硅等半导体材料、金属材料、合金材料或金属氧化物材料等导电材料。
[0580]
此外,由于导电体的材料决定功函数,所以通过选择该导电体的材料,可以调整晶体管的阈值电压。具体而言,作为导电体优选使用氮化钛或氮化钽等材料。为了兼具导电性和埋入性,作为导电体优选使用钨或铝等金属材料的叠层,尤其在耐热性方面上优选使用钨。
[0581]
注意,图33所示的晶体管300的结构只是一个例子,不局限于上述结构,根据电路结构或驱动方法使用适当的晶体管即可。例如,当在半导体装置中使用只有os晶体管的单极性电路时,如图34所示,作为晶体管300的结构采用与使用氧化物半导体的晶体管500相同的结构即可。在后面说明晶体管500的结构。
[0582]
以覆盖晶体管300的方式依次层叠有绝缘体320、绝缘体322、绝缘体324及绝缘体326。
[0583]
作为绝缘体320、绝缘体322、绝缘体324及绝缘体326,例如可以使用氧化硅、氧氮化硅、氮氧化硅、氮化硅、氧化铝、氧氮化铝、氮氧化铝及氮化铝等。
[0584]
注意,在本说明书中,“氧氮化硅”是指在其组成中氧含量多于氮含量的材料,而“氮氧化硅”是指在其组成中氮含量多于氧含量的材料。注意,在本说明书中,“氧氮化铝”是指氧含量多于氮含量的材料,“氮氧化铝”是指氮含量多于氧含量的材料。
[0585]
绝缘体322也可以被用作使因设置在其下方的晶体管300等而产生的台阶平坦化的平坦化膜。例如,为了提高绝缘体322的顶面的平坦性,其顶面也可以通过利用化学机械抛光(cmp)法等的平坦化处理被平坦化。
[0586]
作为绝缘体324,优选使用能够防止氢或杂质从衬底311或晶体管300等扩散到设置有晶体管500的区域中的具有阻挡性的膜。
[0587]
作为对氢具有阻挡性的膜的一个例子,例如可以使用通过cvd法形成的氮化硅。在此,有时氢扩散到晶体管500等具有氧化物半导体的半导体元件中,导致该半导体元件的特性下降。因此,优选在晶体管500与晶体管300之间设置抑制氢的扩散的膜。具体而言,抑制氢的扩散的膜是指氢的脱离量少的膜。
[0588]
氢的脱离量例如可以利用热脱附谱分析法(tds)等测量。例如,在tds分析中的膜表面温度为50℃至500℃的范围内,当将换算为氢原子的脱离量换算为绝缘体324的每单位面积的量时,绝缘体324中的氢的脱离量为10
×
10
15
atoms/cm2以下,优选为5
×
10
15
atoms/cm2以下,即可。
[0589]
注意,绝缘体326的介电常数优选比绝缘体324低。例如,绝缘体326的相对介电常数优选低于4,更优选低于3。例如,绝缘体326的相对介电常数优选为绝缘体324的相对介电常数的0.7倍以下,更优选为0.6倍以下。通过将介电常数低的材料用于层间膜,可以减少产生在布线之间的寄生电容。
[0590]
此外,在绝缘体320、绝缘体322、绝缘体324及绝缘体326中埋入与电容器600或晶体管500连接的导电体328、导电体330等。此外,导电体328及导电体330具有插头或布线的功能。注意,有时使用同一附图标记表示具有插头或布线的功能的多个导电体。此外,在本说明书等中,布线、与布线连接的插头也可以是一个构成要素。就是说,导电体的一部分有时被用作布线,并且导电体的一部分有时被用作插头。
[0591]
作为各插头及布线(导电体328及导电体330等)的材料,可以使用金属材料、合金材料、金属氮化物材料或金属氧化物材料等导电材料的单层或叠层。优选使用兼具耐热性和导电性的钨或钼等高熔点材料,尤其优选使用钨。或者,优选使用铝或铜等低电阻导电材料。通过使用低电阻导电材料可以降低布线电阻。
[0592]
也可以在绝缘体326及导电体330上形成布线层。例如,在图33中,依次层叠有绝缘体350、绝缘体352及绝缘体354。此外,在绝缘体350、绝缘体352及绝缘体354中形成有导电体356。导电体356具有与晶体管300连接的插头或布线的功能。此外,导电体356可以使用与导电体328及导电体330同样的材料形成。
[0593]
此外,与绝缘体324同样,绝缘体350例如优选使用对氢具有阻挡性的绝缘体。此外,导电体356优选包含对氢具有阻挡性的导电体。尤其是,在对氢具有阻挡性的绝缘体350所具有的开口中形成对氢具有阻挡性的导电体。通过采用该结构,可以使用阻挡层将晶体管300与晶体管500分离,从而可以抑制氢从晶体管300扩散到晶体管500中。
[0594]
注意,作为对氢具有阻挡性的导电体,例如优选使用氮化钽等。此外,通过层叠氮化钽和导电性高的钨,不但可以保持作为布线的导电性而且可以抑制氢从晶体管300扩散。此时,对氢具有阻挡性的氮化钽层优选与对氢具有阻挡性的绝缘体350接触。
[0595]
此外,也可以在绝缘体354及导电体356上形成布线层。例如,在图33中,依次层叠有绝缘体360、绝缘体362及绝缘体364。此外,在绝缘体360、绝缘体362及绝缘体364中形成有导电体366。导电体366具有插头或布线的功能。此外,导电体366可以使用与导电体328及导电体330同样的材料形成。
[0596]
此外,与绝缘体324同样,绝缘体360例如优选使用对氢具有阻挡性的绝缘体。此
外,导电体366优选包含对氢具有阻挡性的导电体。尤其是,在对氢具有阻挡性的绝缘体360所具有的开口中形成对氢具有阻挡性的导电体。通过采用该结构,可以使用阻挡层将晶体管300与晶体管500分离,从而可以抑制氢从晶体管300扩散到晶体管500中。
[0597]
此外,也可以在绝缘体364及导电体366上形成布线层。例如,在图33中,依次层叠有绝缘体370、绝缘体372及绝缘体374。此外,在绝缘体370、绝缘体372及绝缘体374中形成有导电体376。导电体376具有插头或布线的功能。此外,导电体376可以使用与导电体328及导电体330同样的材料形成。
[0598]
此外,与绝缘体324同样,绝缘体370例如优选使用对氢具有阻挡性的绝缘体。此外,导电体376优选包含对氢具有阻挡性的导电体。尤其是,在对氢具有阻挡性的绝缘体370所具有的开口中形成对氢具有阻挡性的导电体。通过采用该结构,可以使用阻挡层将晶体管300与晶体管500分离,从而可以抑制氢从晶体管300扩散到晶体管500中。
[0599]
此外,也可以在绝缘体374及导电体376上形成布线层。例如,在图33中,依次层叠有绝缘体380、绝缘体382及绝缘体384。此外,在绝缘体380、绝缘体382及绝缘体384中形成有导电体386。导电体386具有插头或布线的功能。此外,导电体386可以使用与导电体328及导电体330同样的材料形成。
[0600]
此外,与绝缘体324同样,绝缘体380例如优选使用对氢具有阻挡性的绝缘体。此外,导电体386优选包含对氢具有阻挡性的导电体。尤其是,在对氢具有阻挡性的绝缘体380所具有的开口中形成对氢具有阻挡性的导电体。通过采用该结构,可以使用阻挡层将晶体管300与晶体管500分离,从而可以抑制氢从晶体管300扩散到晶体管500中。
[0601]
在上面说明包括导电体356的布线层、包括导电体366的布线层、包括导电体376的布线层及包括导电体386的布线层,但是本实施方式的半导体装置不局限于此。与包括导电体356的布线层同样的布线层可以为三层以下,与包括导电体356的布线层同样的布线层可以为五层以上。
[0602]
在绝缘体384上依次层叠有绝缘体510、绝缘体512、绝缘体514及绝缘体516。作为绝缘体510、绝缘体512、绝缘体514及绝缘体516中的一个,优选使用对氧或氢具有阻挡性的物质。
[0603]
例如,作为绝缘体510及绝缘体514,优选使用能够防止氢或杂质从衬底311或设置有晶体管300的区域等扩散到设置有晶体管500的区域中的具有阻挡性的膜。因此,绝缘体510及绝缘体514可以使用与绝缘体324同样的材料。
[0604]
作为对氢具有阻挡性的膜的一个例子,可以使用通过cvd法形成的氮化硅。在此,有时氢扩散到晶体管500等具有氧化物半导体的半导体元件中,导致该半导体元件的特性下降。因此,优选在晶体管300与晶体管500之间设置抑制氢的扩散的膜。具体而言,抑制氢的扩散的膜是指氢的脱离量少的膜。
[0605]
例如,作为对氢具有阻挡性的膜,绝缘体510及绝缘体514优选使用氧化铝、氧化铪、氧化钽等金属氧化物。
[0606]
尤其是,氧化铝的不使氧及导致晶体管的电特性变动的氢、水分等杂质透过的阻挡效果高。因此,在晶体管的制造工序中及制造工序之后,氧化铝可以防止氢、水分等杂质进入晶体管500中。此外,氧化铝可以抑制氧从构成晶体管500的氧化物释放。因此,氧化铝适合用作晶体管500的保护膜。
[0607]
例如,作为绝缘体512及绝缘体516,可以使用与绝缘体320同样的材料。此外,通过作为上述绝缘体使用介电常数较低的材料,可以减少产生在布线之间的寄生电容。例如,作为绝缘体512及绝缘体516,可以使用氧化硅膜和氧氮化硅膜等。
[0608]
此外,在绝缘体510、绝缘体512、绝缘体514及绝缘体516中例如埋入有导电体518、构成晶体管500的导电体(例如,导电体503)等。此外,导电体518被用作与电容器600或晶体管300连接的插头或布线。导电体518可以使用与导电体328及导电体330同样的材料形成。
[0609]
尤其是,与绝缘体510及绝缘体514接触的区域的导电体518优选为对氧、氢及水具有阻挡性的导电体。通过采用该结构,可以利用对氧、氢及水具有阻挡性的层将晶体管300与晶体管500分离,从而可以抑制氢从晶体管300扩散到晶体管500中。
[0610]
在绝缘体516的上方设置有晶体管500。
[0611]
如图35a和图35b所示,晶体管500包括:嵌入在绝缘体514及绝缘体516中的导电体503;配置在绝缘体516及导电体503上的绝缘体520;配置在绝缘体520上的绝缘体522;配置在绝缘体522上的绝缘体524;配置在绝缘体524上的氧化物530a;配置在氧化物530a上的氧化物530b;配置在氧化物530b上且彼此隔开的导电体542a及导电体542b;配置在导电体542a及导电体542b上且形成有与导电体542a和导电体542b之间重叠的开口的绝缘体580;配置在开口的底面及侧面上的氧化物530c;配置在氧化物530c的形成面的绝缘体550;以及配置在绝缘体550的形成面上的导电体560。
[0612]
另外,如图35a和图35b所示,优选在氧化物530a、氧化物530b、导电体542a及导电体542b与绝缘体580之间配置有绝缘体544。此外,如图35a和图35b所示,导电体560优选包括设置在绝缘体550的内侧的导电体560a及嵌入在导电体560a的内侧的导电体560b。此外,如图35a和图35b所示,优选在绝缘体580、导电体560及绝缘体550上配置有绝缘体574。
[0613]
注意,下面有时将氧化物530a、氧化物530b及氧化物530c总称为氧化物530。
[0614]
在晶体管500中,在形成沟道的区域及其附近层叠有氧化物530a、氧化物530b及氧化物530c的三层,但是本发明的一个方式不局限于此。例如,可以设置氧化物530b的单层、氧化物530b与氧化物530a的两层结构、氧化物530b与氧化物530c的两层结构或者四层以上的叠层结构。另外,在晶体管500中,导电体560具有两层结构,但是本发明的一个方式不局限于此。例如,导电体560也可以具有单层结构或三层以上的叠层结构。注意,图33、图35a所示的晶体管500的结构只是一个例子而不局限于上述结构,可以根据电路结构或驱动方法使用适当的晶体管。
[0615]
在此,导电体560被用作晶体管的栅电极,导电体542a及导电体542b被用作源电极或漏电极。如上所述,导电体560填埋于绝缘体580的开口中及夹在导电体542a与导电体542b之间的区域。导电体560、导电体542a及导电体542b相对于绝缘体580的开口的配置是自对准地被选择。换言之,在晶体管500中,可以在源电极与漏电极之间自对准地配置栅电极。由此,可以在不设置用于对准的余地的方式形成导电体560,所以可以实现晶体管500的占有面积的缩小。由此,可以实现半导体装置的微型化及高集成化。
[0616]
再者,导电体560自对准地形成在导电体542a与导电体542b之间的区域,所以导电体560不包括与导电体542a及导电体542b重叠的区域。由此,可以降低形成在导电体560与导电体542a及导电体542b之间的寄生电容。因此,可以提高晶体管500的开关速度,从而晶体管500可以具有高频率特性。
[0617]
导电体560有时被用作第一栅(也称为顶栅极)电极。导电体503有时被用作第二栅(也称为底栅极)电极。在此情况下,通过独立地改变供应到导电体503的电位而不使其与供应到导电体560的电位联动,可以控制晶体管500的阈值电压。尤其是,通过对导电体503供应负电位,可以使晶体管500的阈值电压大于0v且可以减小关态电流。因此,与不对导电体503施加负电位时相比,在对导电体503施加负电位的情况下,可以减小对导电体560供应的电位为0v时的漏极电流。
[0618]
导电体503以与氧化物530及导电体560重叠的方式配置。由此,在对导电体560及导电体503供应电位的情况下,从导电体560产生的电场和从导电体503产生的电场连接,可以覆盖形成在氧化物530中的沟道形成区域。在本说明书等中,将由第一栅电极的电场和第二栅电极的电场电围绕沟道形成区域的晶体管的结构称为surrounded channel(s
‑
channel:围绕沟道)结构。
[0619]
另外,导电体503具有与导电体518同样的结构,以与绝缘体514及绝缘体516的开口的内壁接触的方式形成有导电体503a,其内侧形成有导电体503b。另外,在晶体管500中,层叠有导电体503a与导电体503b,但是本发明的一个方式不局限于此。例如,导电体503可以具有单层结构,也可以具有三层以上的叠层结构。
[0620]
在此,作为导电体503a优选使用具有抑制氢原子、氢分子、水分子、铜原子等杂质的扩散的功能(不容易使上述杂质透过)的导电材料。另外,优选使用具有抑制氧(例如,氧原子、氧分子等中的至少一个)的扩散的功能(不容易使上述氧透过)的导电材料。在本说明书中,“抑制杂质或氧的扩散的功能”是指抑制上述杂质和上述氧中的任一个或全部的扩散的功能。
[0621]
例如,通过使导电体503a具有抑制氧的扩散的功能,可以抑制因导电体503b氧化而导致导电率的下降。
[0622]
另外,在导电体503还具有布线的功能的情况下,作为导电体503b,优选使用以钨、铜或铝为主要成分的导电性高的导电材料。在此情况下,不一定需要设置导电体503a。在附图中,导电体503b具有单层结构,但是也可以具有叠层结构,例如,可以采用钛或氮化钛和上述导电材料的叠层结构。
[0623]
绝缘体520、绝缘体522及绝缘体524被用作第二栅极绝缘膜。
[0624]
在此,与氧化物530接触的绝缘体524优选使用包含超过化学计量组成的氧的绝缘体。换言之,优选在绝缘体524中形成有过剩氧区域。通过以与氧化物530接触的方式设置上述包含过剩氧的绝缘体,可以减少氧化物530中的氧缺陷,从而可以提高晶体管500的可靠性。
[0625]
具体而言,作为具有过剩氧区域的绝缘体,优选使用通过加热使一部分的氧脱离的氧化物材料。通过加热使氧脱离的氧化物是指在tds(thermal desorption spectroscopy:热脱附谱)分析中换算为氧原子的氧的脱离量为1.0
×
10
18
atoms/cm3以上,优选为1.0
×
10
19
atoms/cm3以上,进一步优选为2.0
×
10
19
atoms/cm3以上,或者3.0
×
10
20
atoms/cm3以上的氧化物膜。另外,进行上述tds分析时的膜的表面温度优选在100℃以上且700℃以下,或者100℃以上且400℃以下的范围内。
[0626]
另外,也可以将具有上述过剩氧区域的绝缘体与氧化物530接触而进行加热处理、微波处理和rf处理中的一个或多个处理。通过进行该处理,可以去除氧化物530中的水或
氢。例如,在氧化物530中,发生voh的键合切断的反应,换言之,发生“voh
→
vo+h”的反应而可以实现脱氢化。在此产生的氢的一部分有时与氧键合而作为h2o从氧化物530或氧化物530附近的绝缘体被去除。另外,氢的一部分有时向导电体542a及导电体542b扩散俘获(也称为被吸杂)。
[0627]
另外,上述微波处理例如优选使用具有产生高密度等离子体的功率的装置或对衬底一侧施加rf的功率的装置。例如,通过使用包含氧的气体且使用高密度等离子体,可以产生高密度的氧自由基,并且通过对衬底一侧施加rf,可以将由高密度等离子体产生的氧自由基有效地导入到氧化物530或氧化物530附近的绝缘体中。另外,在上述微波处理中,压力为133pa以上,优选为200pa以上,更优选为400pa以上即可。另外,作为向进行微波处理的装置内导入的气体例如使用氧及氩,并且该微波处理在氧流量比(o2/(o2+ar))为50%以下,优选为10%以上且30%以下的条件下进行。
[0628]
另外,在晶体管500的制造工序中,优选以氧化物530的表面露出的状态进行加热处理。该加热处理例如优选以100℃以上且450℃以下,更优选以350℃以上且400℃以下进行。加热处理在氮气体或惰性气体气氛或者包含10ppm以上、1%以上或10%以上的氧化性气体的气氛下进行。因此,可以对氧化物530供应氧而可以减少氧缺陷(vo)。另外,加热处理也可以在减压状态下进行。例如,加热处理优选在氧气氛下进行。或者,加热处理也可以在氮气体或惰性气体气氛下进行加热处理,然后为了填补脱离了的氧在包含10ppm以上、1%以上或10%以上的氧化性气体的气氛下进行加热处理。或者,也可以在包含10ppm以上、1%以上或10%以上的氧化性气体的气氛下进行加热处理之后,在氮气体或惰性气体气氛下连续进行加热处理。
[0629]
另外,通过对氧化物530进行加氧化处理,可以将氧化物530中的氧缺陷由所供应的氧填补,换言之,可以促进“vo+o
→
null”的反应。再者,在残留在氧化物530中的氢与所供应的氧起反应,可以将该氢作为h2o去除(进行脱水化)。由此,可以抑制残留在氧化物530中的氢再键合于氧缺陷而形成voh。
[0630]
当绝缘体524具有过剩氧区域时,绝缘体522优选具有抑制氧(例如,氧原子、氧分子等)的扩散的功能(不容易使上述氧透过)。
[0631]
当绝缘体522具有抑制氧或杂质的扩散的功能时,氧化物530所包含的氧不扩散到绝缘体520一侧,所以是优选的。另外,可以抑制导电体503与绝缘体524或氧化物530所包含的氧起反应。
[0632]
作为绝缘体522,例如优选使用包含氧化铝、氧化铪、含有铝及铪的氧化物(铝酸铪)、氧化钽、氧化锆、锆钛酸铅(pzt)、钛酸锶(srtio3)或(ba,sr)tio3(bst)等所谓的high
‑
k材料的绝缘体的单层或叠层。当进行晶体管的微型化及高集成化时,由于栅极绝缘膜的薄膜化,有时发生泄漏电流等问题。通过作为被用作栅极绝缘膜的绝缘体使用high
‑
k材料,可以在保持物理厚度的同时降低晶体管工作时的栅极电位。
[0633]
尤其是,优选使用作为具有抑制杂质及氧等的扩散的功能(不容易使上述氧透过)的绝缘材料的包含铝和铪中的一方或双方的氧化物的绝缘体。作为包含铝和铪中的一方或双方的氧化物的绝缘体,优选使用氧化铝、氧化铪、包含铝及铪的氧化物(铝酸铪)等。当使用这种材料形成绝缘体522时,绝缘体522被用作抑制氧从氧化物530释放或氢等杂质从晶体管500的周围部进入氧化物530的层。
[0634]
或者,例如也可以对上述绝缘体添加氧化铝、氧化铋、氧化锗、氧化铌、氧化硅、氧化钛、氧化钨、氧化钇、氧化锆。此外,也可以对上述绝缘体进行氮化处理。还可以在上述绝缘体上层叠氧化硅、氧氮化硅或氮化硅。
[0635]
绝缘体520优选具有热稳定性。例如,因为氧化硅及氧氮化硅具有热稳定性,所以是优选的。另外,通过high
‑
k材料的绝缘体与氧化硅或氧氮化硅组合,可以形成具有热稳定性且相对介电常数高的叠层结构的绝缘体520。
[0636]
在图35a及图35b的晶体管500中,作为由三层叠层结构构成的第二栅极绝缘膜使用绝缘体520、绝缘体522及绝缘体524,但是第二栅极绝缘膜也可以具有单层、两层或四层以上的叠层结构。此时,不局限于使用相同材料构成的叠层结构,也可以是使用不同材料形成的叠层结构。
[0637]
在晶体管500中,优选将被用作氧化物半导体的金属氧化物用于包含沟道形成区域的氧化物530。例如,作为氧化物530优选使用in
‑
m
‑
zn氧化物(元素m为选自铝、镓、钇、铜、钒、铍、硼、钛、铁、镍、锗、锆、钼、镧、铈、钕、铪、钽、钨和镁等中的一种或多种)等金属氧化物。尤其是,能够应用于氧化物530的in
‑
m
‑
zn氧化物优选为caac
‑
os(c
‑
axis aligned crystalline oxide semiconductor)或cac
‑
os(cloud
‑
aligned composite oxide semiconductor)。此外,作为氧化物530,也可以使用in
‑
ga氧化物、in
‑
zn氧化物、in氧化物。
[0638]
另外,作为晶体管500优选使用载流子浓度低的金属氧化物。在降低金属氧化物的载流子浓度的情况下,降低金属氧化物中的杂质浓度而降低缺陷态密度即可。在本说明书等中,将杂质浓度低且缺陷态密度低的状态称为“高纯度本征”或“实质上高纯度本征”。作为金属氧化物中的杂质例如有氢、氮、碱金属、碱土金属、铁、镍、硅等。
[0639]
尤其是,包含在金属氧化物中的氢与键合于金属原子的氧起反应生成水,因此有时在金属氧化物中形成氧缺陷。另外,在氢进入氧化物530的氧缺陷时,有时氧缺陷与氢键合而形成voh。voh有时被用作供体且生成作为载流子的电子。另外,有时由于氢的一部分与键合于金属原子的氧键合,产生作为载流子的电子。因此,使用包含较多的氢的金属氧化物的晶体管容易具有常开启特性。另外,金属氧化物中的氢受热、电场等的作用容易移动,所以在金属氧化物包含较多的氢时,晶体管的可靠性有可能降低。在本发明的一个方式中,优选尽量降低氧化物530中的voh而成为高纯度本征或实质上高纯度本征。为了获得如此那样的voh十分降低的金属氧化物,重要的是:去除金属氧化物中的水分、氢等杂质(有时记为脱水、脱氢化处理。);以及对金属氧化物供应氧而填补氧缺陷(有时记为加氧化处理。)。通过将voh等杂质十分降低的金属氧化物用于晶体管的沟道形成区域,可以赋予稳定电特性。
[0640]
氢进入氧缺陷的缺陷会用作金属氧化物的供体。然而,难以定量地评价该缺陷。于是,在金属氧化物中,有时不是使用供体浓度而是使用载流子浓度进行评价。因此,在本说明书等中,作为金属氧化物的参数,有时不是使用供体浓度而是使用假定不施加电场的状态下的载流子浓度。换言之,本说明书等所记载的“载流子浓度”有时也可以称为“供体浓度”。
[0641]
因此,在将金属氧化物用于氧化物530时,优选尽量减少金属氧化物中的氢。具体而言,在金属氧化物中,利用二次离子质谱(sims:secondary ion mass spectrometry)测得的氢浓度低于1
×
10
20
atoms/cm3,优选低于1
×
10
19
atoms/cm3,更优选低于5
×
10
18
atoms/cm3,进一步优选低于1
×
10
18
atoms/cm3。通过将氢等杂质被充分降低的金属氧化物用于晶
体管的沟道形成区域,可以使晶体管具有稳定的电特性。
[0642]
此外,当在氧化物530中使用金属氧化物时,该金属氧化物优选是带隙高、本征(也称为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。注意,对沟道形成区域的金属氧化物的载流子浓度的下限值没有特别的限制,例如可以设定为1
×
10
‑9cm
‑3。
[0643]
此外,在氧化物530使用金属氧化物时,因导电体542a及导电体542b与氧化物530接触而氧化物530中的氧扩散到导电体542a及导电体542b中,由此导电体542a及导电体542b有时被氧化。导电体542a及导电体542b的导电率因导电体542a及导电体542b的氧化而下降的可能性变高。注意,也可以将氧化物530中的氧向导电体542a及导电体542b扩散的情况称为导电体542a及导电体542b吸收氧化物530中的氧。
[0644]
此外,在氧化物530中的氧扩散到导电体542a及导电体542b时,在导电体542a与氧化物530b之间及导电体542b与氧化物530b之间有可能形成另一层。因为该另一层包含比导电体542a及导电体542b多的氧,所以推测该另一层具有绝缘性。此时,可以认为导电体542a或导电体542b、该另一层和氧化物530b的三层结构是由金属
‑
绝缘体
‑
半导体构成的三层结构,有时也将其称为mis(metal
‑
insulator
‑
semiconductor)结构或以mis结构为主的二极管连接结构。
[0645]
注意,上述另一层不局限于形成在导电体542a及导电体542b与氧化物530b之间,例如,另一层会形成在导电体542a及导电体542b与氧化物530c之间、导电体542a及导电体542b与氧化物530b之间、导电体542a及导电体542b与氧化物530c之间。
[0646]
另外,作为在氧化物530中被用作沟道形成区域的金属氧化物,优选使用其带隙为2ev以上,优选为2.5ev以上的金属氧化物。如此,通过使用带隙较宽的金属氧化物,可以减小晶体管的关态电流。
[0647]
在氧化物530中,当在氧化物530b之下设置有氧化物530a时,可以防止杂质从形成在氧化物530a下方的结构物扩散到氧化物530b。当在氧化物530b之上设置有氧化物530c时,可以防止杂质从形成在氧化物530c的上方的结构物扩散到氧化物530b。
[0648]
另外,氧化物530优选具有各金属原子的原子个数比互不相同的多个氧化物层的叠层结构。具体而言,用于氧化物530a的金属氧化物的构成元素中的元素m的原子个数比优选大于用于氧化物530b的金属氧化物的构成元素中的元素m的原子个数比。另外,用于氧化物530a的金属氧化物中的相对于in的元素m的原子个数比优选大于用于氧化物530b的金属氧化物中的相对于in的元素m的原子个数比。另外,用于氧化物530b的金属氧化物中的相对于元素m的in的原子个数比优选大于用于氧化物530a的金属氧化物中的相对于元素m的in的原子个数比。另外,氧化物530c可以使用可用于氧化物530a或氧化物530b的金属氧化物。
[0649]
具体而言,作为氧化物530a使用in、ga、zn的原子个数比为in:ga:zn=1:3:4或1:1:0.5的金属氧化物即可。作为氧化物530b使用in、ga、zn的原子个数比为in:ga:zn=4:2:3或1:1:1的金属氧化物即可。作为氧化物530c使用in、ga、zn的原子个数比为in:ga:zn=1:3:4、ga、zn的原子个数比为ga:zn=2:1或者ga:zn=2:5的金属氧化物。作为氧化物530c具有叠层结构的情况的具体例子,可以举出:in、ga、zn的原子个数比为in:ga:zn=4:2:3、in:ga:zn=1:3:4的叠层结构;ga、zn的原子个数比为ga:zn=2:1、in、ga、zn的原子个数比为
in:ga:zn=4:2:3的叠层结构;ga、zn的原子个数比为ga:zn=2:5、in、ga、zn的原子个数比为in:ga:zn=4:2:3的叠层结构;氧化镓、in、ga、zn的原子个数比为in:ga:zn=4:2:3的叠层结构等。
[0650]
此外,例如,在用于氧化物530a的金属氧化物中的in与元素m的原子个数比比用于氧化物530b的金属氧化物中的in与元素m的原子个数比小时,作为氧化物530b可以使用具有in、ga和zn的原子个数比为in:ga:zn=5:1:6或其附近、in:ga:zn=5:1:3或其附近、in:ga:zn=10:1:3或其附近等的组成的in
‑
ga
‑
zn氧化物。
[0651]
作为上述以外的组成,在氧化物530b中例如可以使用具有in:zn=2:1的组成、in:zn=5:1的组成、in:zn=10:1的组成、这些组成中的任一个附近的组成等的金属氧化物。
[0652]
优选将这些氧化物530a、氧化物530b、氧化物530c以满足上述原子个数比的关系的方式组合。例如,优选的是,作为氧化物530a及氧化物530c采用具有in:ga:zn=1:3:4的组成及其附近的组成的金属氧化物,作为氧化物530b采用具有in:ga:zn=4:2:3至4.1的组成及其附近的组成的金属氧化物。注意,上述组成表示形成在基体上的氧化物中的原子个数比或者溅射靶材中的原子个数比。另外,作为氧化物530b的组成,通过提高in的比率,可以提高晶体管的通态电流或场效应迁移率等,所以是优选的。
[0653]
优选的是,使氧化物530a及氧化物530c的导带底的能量高于氧化物530b的导带底的能量。换言之,氧化物530a及氧化物530c的电子亲和势优选小于氧化物530b的电子亲和势。
[0654]
在此,在氧化物530a、氧化物530b及氧化物530c的接合部中,导带底的能级平缓地变化。换言之,也可以将上述情况表达为氧化物530a、氧化物530b及氧化物530c的接合部的导带底的能级连续地变化或者连续地接合。为此,优选降低形成在氧化物530a与氧化物530b的界面以及氧化物530b与氧化物530c的界面的混合层的缺陷态密度。
[0655]
具体而言,通过使氧化物530a与氧化物530b、以及氧化物530b与氧化物530c除了氧之外包含共同元素(为主要成分),可以形成缺陷态密度低的混合层。例如,在氧化物530b为in
‑
ga
‑
zn氧化物的情况下,作为氧化物530a及氧化物530c优选使用in
‑
ga
‑
zn氧化物、ga
‑
zn氧化物及氧化镓等。
[0656]
此时,载流子的主要路径为氧化物530b。通过使氧化物530a及氧化物530c具有上述结构,可以降低氧化物530a与氧化物530b的界面及氧化物530b与氧化物530c的界面的缺陷态密度。因此,界面散射对载流子传导的影响减少,可以提高晶体管500的通态电流。
[0657]
在氧化物530b上设置有被用作源电极及漏电极的导电体542a及导电体542b。作为导电体542a及导电体542b,优选使用选自铝、铬、铜、银、金、铂、钽、镍、钛、钼、钨、铪、钒、铌、锰、镁、锆、铍、铟、钌、铱、锶和镧中的金属元素、以上述金属元素为成分的合金或者组合上述金属元素的合金等。例如,优选使用氮化钽、氮化钛、钨、包含钛和铝的氮化物、包含钽和铝的氮化物、氧化钌、氮化钌、包含锶和钌的氧化物、包含镧和镍的氧化物等。另外,氮化钽、氮化钛、包含钛和铝的氮化物、包含钽和铝的氮化物、氧化钌、氮化钌、包含锶和钌的氧化物、包含镧和镍的氧化物是不容易氧化的导电材料或者吸收氧也维持导电性的材料,所以是优选的。再者,氮化钽等金属氮化物膜对氢或氧具有阻挡性,所以是优选的。
[0658]
此外,虽然在图35a及图35b中示出单层结构的导电体542a及导电体542b,但是也可以采用两层以上的叠层结构。例如,优选层叠氮化钽膜及钨膜。另外,也可以层叠钛膜及
铝膜。另外,也可以采用在钨膜上层叠铝膜的两层结构、在铜
‑
镁
‑
铝合金膜上层叠铜膜的两层结构、在钛膜上层叠铜膜的两层结构、在钨膜上层叠铜膜的两层结构。
[0659]
另外,也可以使用:在钛膜或氮化钛膜上层叠铝膜或铜膜并在其上形成钛膜或氮化钛膜的三层结构、在钼膜或氮化钼膜上层叠铝膜或铜膜并在其上形成钼膜或氮化钼膜的三层结构等。另外,也可以使用包含氧化铟、氧化锡或氧化锌的透明导电材料。
[0660]
另外,如图35a所示,有时在氧化物530与导电体542a(导电体542b)的界面及其附近作为低电阻区域形成有区域543a及区域543b。此时,区域543a被用作源区域和漏区域的一个,区域543b被用作源区域和漏区域的另一个。此外,沟道形成区域形成在夹在区域543a和区域543b之间的区域中。
[0661]
通过以与氧化物530接触的方式形成上述导电体542a(导电体542b),区域543a(区域543b)的氧浓度有时降低。另外,在区域543a(区域543b)中有时形成包括包含在导电体542a(导电体542b)中的金属及氧化物530的成分的金属化合物层。在此情况下,区域543a(区域543b)的载流子浓度增加,区域543a(区域543b)成为低电阻区域。
[0662]
绝缘体544以覆盖导电体542a及导电体542b的方式设置,抑制导电体542a及导电体542b的氧化。此时,绝缘体544也可以以覆盖氧化物530的侧面且与绝缘体524接触的方式设置。
[0663]
作为绝缘体544,可以使用包含选自铪、铝、镓、钇、锆、钨、钛、钽、镍、锗、钕、镧和镁等中的一种或两种以上的金属氧化物。另外,作为绝缘体544也可以使用氮氧化硅或氮化硅等。
[0664]
尤其是,作为绝缘体544,优选使用作为包含铝和铪中的一方或双方的氧化物的绝缘体的氧化铝、氧化铪、包含铝及铪的氧化物(铝酸铪)等。尤其是,铝酸铪的耐热性比氧化铪膜高。因此,在后面的工序的热处理中不容易晶化,所以是优选的。另外,在导电体542a及导电体542b是具有耐氧化性的材料或者吸收氧也其导电性不会显著降低的情况下,不需要必须设置绝缘体544。根据所需要的晶体管特性,适当地设计即可。
[0665]
通过包括绝缘体544,可以抑制绝缘体580所包含的水及氢等杂质经过氧化物530c、绝缘体550扩散到氧化物530b。此外,可以抑制绝缘体580所包含的过剩氧使导电体560氧化。
[0666]
另外,绝缘体550被用作第一栅极绝缘膜。绝缘体550优选以与氧化物530c的内侧(顶面及侧面)接触的方式配置。与上述绝缘体524同样,绝缘体550优选使用包含过量氧且通过加热释放氧的绝缘体形成。
[0667]
具体而言,可以使用包含过剩氧的氧化硅、氧氮化硅、氮氧化硅、氮化硅、添加有氟的氧化硅、添加有碳的氧化硅、添加有碳及氮的氧化硅、具有空孔的氧化硅。尤其是,氧化硅及氧氮化硅具有热稳定性,所以是优选的。
[0668]
通过作为绝缘体550以与氧化物530c的顶面接触的方式设置通过加热而释放氧的绝缘体,可以有效地从绝缘体550通过氧化物530c对氧化物530b的沟道形成区域供应氧。此外,与绝缘体524同样,优选降低绝缘体550中的水或氢等杂质的浓度。绝缘体550的厚度优选为1nm以上且20nm以下。
[0669]
另外,为了将绝缘体550所包含的过剩氧高效地供应到氧化物530,也可以在绝缘体550与导电体560之间设置金属氧化物。该金属氧化物优选抑制从绝缘体550到导电体560
的氧扩散。通过设置抑制氧的扩散的金属氧化物,从绝缘体550到导电体560的过剩氧的扩散得到抑制。换言之,可以抑制供应到氧化物530的过剩氧的减少。另外,可以抑制因过剩氧导致的导电体560的氧化。作为该金属氧化物,可以使用可用于绝缘体544的材料。
[0670]
另外,与第二栅极绝缘膜同样,绝缘体550也可以具有叠层结构。当进行晶体管的微型化及高集成化时,由于栅极绝缘膜的薄膜化,有时发生泄漏电流等问题,所以通过使被用作栅极绝缘膜的绝缘体具有high
‑
k材料与具有热稳定性的材料的叠层结构,可以在保持物理厚度的同时降低晶体管工作时的栅极电位。此外,可以实现具有热稳定性及高相对介电常数的叠层结构。
[0671]
在图35a及图35b中,被用作第一栅电极的导电体560具有两层结构,但是也可以具有单层结构或三层以上的叠层结构。
[0672]
作为导电体560a,优选使用具有抑制氢原子、氢分子、水分子、氮原子、氮分子、氧化氮分子(n2o、no、no2等)、铜原子等杂质的扩散的功能的导电材料。另外,优选使用具有抑制氧(例如,氧原子、氧分子等中的至少一个)的扩散的功能的导电材料。通过使导电体560a具有抑制氧的扩散的功能,可以抑制因绝缘体550所包含的氧导致导电体560b氧化而导电率下降。作为具有抑制氧的扩散的功能的导电材料,例如,优选使用钽、氮化钽、钌或氧化钌等。另外,作为导电体560a可以使用能够应用于氧化物530的氧化物半导体。此时,通过使用溅射法形成导电体560a,可以降低导电体560b的电阻值而使其成为导电体。可以将该导电体称为oc(oxide conductor)电极。
[0673]
作为导电体560b,优选使用以钨、铜或铝为主要成分的导电材料。由于导电体560b还被用作布线,所以优选使用导电性高的导电体。例如,可以使用以钨、铜或铝为主要成分的导电材料。导电体560b也可以具有叠层结构,例如,可以采用钛或氮化钛和上述导电材料的叠层结构。
[0674]
绝缘体580优选隔着绝缘体544设置在导电体542a及导电体542b上。绝缘体580优选具有过剩氧区域。例如,绝缘体580优选包含氧化硅、氧氮化硅、氮氧化硅、氮化硅、添加有氟的氧化硅、添加有碳的氧化硅、添加有碳及氮的氧化硅、具有空孔的氧化硅或树脂等。尤其是,氧化硅及氧氮化硅具有热稳定性,所以是优选的。尤其是,氧化硅和具有空孔的氧化硅容易在后面的工序中形成过剩氧区域,所以是优选的。
[0675]
绝缘体580优选具有过剩氧区域。通过以与氧化物530c接触的方式设置通过加热而释放氧的绝缘体580,可以将绝缘体580中的氧通过氧化物530c高效地供应给氧化物530。另外,优选降低绝缘体580中的水或氢等杂质的浓度。
[0676]
绝缘体580的开口以与导电体542a和导电体542b之间的区域重叠的方式形成。由此,导电体560填埋于绝缘体580的开口中及夹在导电体542a与导电体542b之间的区域。
[0677]
在进行半导体装置的微型化时,需要缩短栅极长度,但是需要防止导电体560的导电性的下降。为此,在增大导电体560的厚度的情况下,导电体560有可能具有纵横比高的形状。在本实施方式中,由于将导电体560填埋于绝缘体580的开口,所以即使导电体560具有纵横比高的形状,在工序中也不发生导电体560的倒塌。
[0678]
绝缘体574优选以与绝缘体580的顶面、导电体560的顶面及绝缘体550的顶面接触的方式设置。通过利用溅射法形成绝缘体574,可以在绝缘体550及绝缘体580中形成过剩氧区域。由此,可以将氧从该过剩氧区域供应到氧化物530中。
[0679]
例如,作为绝缘体574,可以使用包含选自铪、铝、镓、钇、锆、钨、钛、钽、镍、锗和镁等中的一种或两种以上的金属氧化物。
[0680]
尤其是,氧化铝具有高阻挡性,即使是0.5nm以上且3.0nm以下的薄膜,也可以抑制氢及氮的扩散。由此,通过利用溅射法形成的氧化铝可以在被用作氧供应源的同时还具有氢等杂质的阻挡膜的功能。
[0681]
另外,优选在绝缘体574上设置被用作层间膜的绝缘体581。与绝缘体524等同样,优选降低绝缘体581中的水或氢等杂质的浓度。
[0682]
另外,在形成于绝缘体581、绝缘体574、绝缘体580及绝缘体544中的开口配置导电体540a及导电体540b。导电体540a及导电体540b以隔着导电体560彼此对置的方式设置。导电体540a及导电体540b具有与后面说明的导电体546及导电体548同样的结构。
[0683]
在绝缘体581上设置有绝缘体582。绝缘体582优选使用对氧或氢具有阻挡性的物质。因此,作为绝缘体582可以使用与绝缘体514同样的材料。例如,作为绝缘体582优选使用氧化铝、氧化铪、氧化钽等金属氧化物。
[0684]
尤其是,氧化铝的不使氧及导致晶体管的电特性变动的氢、水分等杂质透过的阻挡效果高。因此,在晶体管的制造工序中及制造工序之后,氧化铝可以防止氢、水分等杂质进入晶体管500中。此外,氧化铝可以抑制氧从构成晶体管500的氧化物释放。因此,氧化铝适合用于晶体管500的保护膜。
[0685]
此外,在绝缘体582上设置有绝缘体586。作为绝缘体586可以使用与绝缘体320同样的材料。此外,通过将介电常数较低的材料用于上述绝缘体,可以减少产生在布线之间的寄生电容。例如,作为绝缘体586,可以使用氧化硅膜及氧氮化硅膜等。
[0686]
此外,在绝缘体520、绝缘体522、绝缘体524、绝缘体544、绝缘体580、绝缘体574、绝缘体581、绝缘体582及绝缘体586中埋入导电体546及导电体548等。
[0687]
导电体546及导电体548被用作与电容器600、晶体管500或晶体管300连接的插头或布线。导电体546及导电体548可以使用与导电体328及导电体330同样的材料形成。
[0688]
另外,也可以在形成晶体管500之后以围绕晶体管500的方式形成开口,并且以围绕该开口的方式形成对氢或水具有高阻挡性的绝缘体。通过由上述阻挡性高的绝缘体围绕晶体管500,可以防止水及氢从外方侵入。或者,也可以将多个晶体管500组合为一个而被对氢或水具有高阻挡性的绝缘体围绕。在以围绕晶体管500的方式形成开口时,因为可以兼作晶体管500的制造工序的一部分,所以例如优选形成到达绝缘体514或绝缘体522的开口而以与绝缘体514或绝缘体522接触的方式形成上述阻挡性高的绝缘体。作为对氢或水具有高阻挡性的绝缘体,例如可以使用与绝缘体522同样的材料。
[0689]
接着,在晶体管500的上方设置有电容器600。电容器600包括导电体610、导电体620及绝缘体630。
[0690]
此外,也可以在导电体546及导电体548上设置导电体612。导电体612被用作与晶体管500连接的插头或者布线。导电体610被用作电容器600的电极。此外,可以同时形成导电体612及导电体610。
[0691]
作为导电体612及导电体610可以使用包含选自钼、钛、钽、钨、铝、铜、铬、钕、钪中的元素的金属膜或以上述元素为成分的金属氮化物膜(氮化钽膜、氮化钛膜、氮化钼膜、氮化钨膜)等。或者,也可以使用铟锡氧化物、包含氧化钨的铟氧化物、包含氧化钨的铟锌氧化
物、包含氧化钛的铟氧化物、包含氧化钛的铟锡氧化物、铟锌氧化物、添加有氧化硅的铟锡氧化物等导电材料。
[0692]
在图33中,导电体612及导电体610具有单层结构,但是不局限于此,也可以具有两层以上的叠层结构。例如,也可以在具有阻挡性的导电体与导电性高的导电体之间形成与具有阻挡性的导电体以及导电性高的导电体紧密性高的导电体。
[0693]
以隔着绝缘体630重叠于导电体610的方式设置导电体620。作为导电体620可以使用金属材料、合金材料、金属氧化物材料等导电材料。优选使用兼具耐热性和导电性的钨或钼等高熔点材料,尤其优选使用钨。当与导电体等其他构成要素同时形成导电体620时,使用低电阻金属材料的cu(铜)或al(铝)等即可。
[0694]
在导电体620及绝缘体630上设置有绝缘体650。绝缘体650可以使用与绝缘体320同样的材料形成。此外,绝缘体650可以被用作覆盖其下方的凹凸形状的平坦化膜。
[0695]
通过采用本结构,可以在抑制使用包含氧化物半导体的晶体管的半导体装置的电特性变动的同时提高可靠性。此外,可以实现使用包含氧化物半导体的晶体管的半导体装置的微型化或高集成化。
[0696]
接着,对在图33、图34中示出的os晶体管的其他结构例子进行说明。图36a及图36b是图35a及图35b所示的晶体管500的变形例子,图36a是晶体管500的沟道长度方向的截面图,图36b是晶体管500的沟道宽度方向的截面图。注意,图36a及图36b所示的结构也可以用于晶体管300等的本发明的一个方式的半导体装置所包括的其他晶体管。
[0697]
图36a及图36b所示的结构的晶体管500与图35a及图35b所示的结构的晶体管500的不同之处在于包括绝缘体402及绝缘体404。此外,与图35a及图35b所示的结构的晶体管500的不同之处在于与导电体540a的侧面接触地设置绝缘体552,且与导电体540b的侧面接触地设置绝缘体552。再者,与图35a及图35b所示的结构的晶体管500的不同之处在于不包括绝缘体520。
[0698]
在图36a及图36b所示的结构的晶体管500中,绝缘体512上设置有绝缘体402。此外,绝缘体574上及绝缘体402上设置有绝缘体404。
[0699]
图36a及图36b所示的结构的晶体管500中设置有绝缘体514、绝缘体516、绝缘体522、绝缘体524、绝缘体544、绝缘体580及绝缘体574,绝缘体404覆盖它们。也就是说,绝缘体404分别与绝缘体574的顶面、绝缘体574的侧面、绝缘体580的侧面、绝缘体544的侧面、绝缘体524的侧面、绝缘体522的侧面、绝缘体516的侧面、绝缘体514的侧面、绝缘体402的顶面接触。由此,氧化物530等被绝缘体404及绝缘体402与外部隔开。
[0700]
绝缘体402及绝缘体404优选高效地抑制氢(例如,氢原子、氢分子等中的至少一个)或水分子的扩散。例如,作为绝缘体402及绝缘体404,优选使用氢阻挡性较高的材料的氮化硅或氮氧化硅。由此,由于可以抑制氢等扩散到氧化物530中,因此可以抑制晶体管500的特性下降。因此,可以提高本发明的一个方式的半导体装置的可靠性。
[0701]
绝缘体552以与绝缘体581、绝缘体404、绝缘体574、绝缘体580及绝缘体544接触的方式设置。绝缘体552优选具有抑制氢或水分子的扩散的功能。例如,作为绝缘体552优选使用氢阻挡性较高的材料的氮化硅、氧化铝或氮氧化硅等的绝缘体。尤其是,氮化硅为氢阻挡性较高的材料,因此优选用于绝缘体552。通过作为绝缘体552使用氢阻挡性较高的材料,可以抑制水或氢等的杂质从绝缘体580等通过导电体540a及导电体540b扩散到氧化物530。另
外,可以抑制包含在绝缘体580中的氧被导电体540a及导电体540b吸收。如此,可以提高本发明的一个方式的半导体装置的可靠性。
[0702]
图37是示出晶体管500及晶体管300为图36a及图36b所示的结构的情况的半导体装置的结构例子的截面图。导电体546的侧面设置有绝缘体552。
[0703]
图36a及图36b所示的晶体管500可以根据状况改变晶体管的结构。例如,图36a及图36b的晶体管500作为变形例子可以为图38所示的晶体管。图38a是晶体管的沟道长度方向的截面图,图38b是晶体管的沟道宽度方向的截面图。图38a及图38b所示的晶体管与图36a及图36b所示的晶体管的不同之处在于氧化物530c具有氧化物530c1及氧化物530c2的两层结构。
[0704]
氧化物530c1与绝缘体524的顶面、氧化物530a的侧面、氧化物530b的顶面及侧面、导电体542a及导电体542b的侧面、绝缘体544的侧面及绝缘体580的侧面接触。氧化物530c2与绝缘体550接触。
[0705]
作为氧化物530c1,例如可以使用in
‑
zn氧化物。此外,作为氧化物530c2,可以使用与氧化物530c具有单层结构时能够用于氧化物530c的材料相同的材料。例如,作为氧化物530c2,可以使用n:ga:zn=1:3:4[原子个数比]、ga:zn=2:1[原子个数比]或ga:zn=2:5[原子个数比]的金属氧化物。
[0706]
通过氧化物530c具有氧化物530c1及氧化物530c2的两层结构,与氧化物530c具有单层结构的情况相比,可以提高晶体管的通态电流。因此,晶体管例如可以作为功率mos晶体管使用。注意,图35a及图35b所示的结构的晶体管所包括的氧化物530c也可以具有氧化物530c1及氧化物530c2的两层结构。
[0707]
图38a及图38b所示的结构的晶体管例如可以用于图33、图34所示的晶体管300。此外,例如,如上所述,晶体管300可以用于在上述实施方式中说明的包括在运算电路110、运算电路120、运算电路140、等中的电路mp的晶体管m1等。注意,图38a、图38b所示的晶体管也可以用于本发明的一个方式的半导体装置所包括的晶体管300及晶体管500以外的晶体管。
[0708]
图39是示出晶体管500具有图35a所示的晶体管的结构且晶体管300具有图38a所示的晶体管的结构的情况的半导体装置的结构例子的截面图。注意,与图37同样地,在导电体546的侧面设置绝缘体552。如图39所示,在本发明的一个方式的半导体装置中,晶体管300及晶体管500可以都是os晶体管,且晶体管300及晶体管500可以具有彼此不同的结构。
[0709]
接着,对能够用于图33、图34的半导体装置的电容器进行说明。
[0710]
在图40中,作为能够应用于图33所示的半导体装置的电容器600的例子示出电容器600a。图40a是电容器600a的俯视图,图40b是电容器600a的沿着点划线l3
‑
l4的截面的立体图,图40c是电容器600a的沿着点划线w3
‑
l4的截面的立体图。
[0711]
导电体610被用作电容器600a的一对电极中的一方,导电体620被用作电容器600a的一对电极中的另一方。另外,绝缘体630被用作夹在一对电极间的介电质。
[0712]
作为绝缘体630,例如使用氧化硅、氧氮化硅、氮氧化硅、氮化硅、氧化铝、氧氮化铝、氮氧化铝、氮化铝、氧化铪、氧氮化铪、氮氧化铪、氮化铪、氧化锆等,并且可以采用叠层结构或单层结构。
[0713]
例如,绝缘体630可以使用氧氮化硅等绝缘耐压力高的材料和高介电常数(high
‑
k)材料的叠层结构。通过采用该结构,电容器600a可以包括高介电常数(high
‑
k)的绝缘体
来确保充分的电容,并可以包括绝缘耐应力高的绝缘体来提高绝缘耐应力,从而可以抑制电容器600a的静电破坏。
[0714]
注意,作为高介电常数(high
‑
k)材料(相对介电常数高的材料)的绝缘体,有氧化镓、氧化铪、氧化锆、具有铝及铪的氧化物、具有铝及铪的氧氮化物、具有硅及铪的氧化物、具有硅及铪的氧氮化物或具有硅及铪的氮化物等。
[0715]
此外,作为绝缘体630,例如也可以以单层或叠层使用包含氧化铝、氧化铪、氧化钽、氧化锆、锆钛酸铅(pzt)、钛酸锶(srtio3)或(ba,sr)tio3(bst)等high
‑
k材料的绝缘体。例如,在绝缘体630具有叠层结构时,可以采用如下结构:依次层叠有氧化锆、氧化铝、氧化锆的三层叠层结构;依次层叠有氧化锆、氧化铝、氧化锆、氧化铝的四层结构;等。另外,作为绝缘体630也可以使用包含铪、锆的化合物等。随着半导体装置微型化及高集成化,由于用于栅极绝缘体及电容器的介电质薄膜化,有时发生晶体管或电容器的泄漏电流等的问题。通过作为被用作栅极绝缘体及电容器的介电质的绝缘体使用high
‑
k材料,可以在保持物理厚度的同时降低晶体管工作时的栅极电位并确保电容器的电容。
[0716]
在导电体610的下方电容器600与导电体546及导电体548电连接。导电体546及导电体548被用作用来连接于其他电路元件的插头或布线。另外,在图40a至图40c中,将导电体546及导电体548统记为导电体540。
[0717]
另外,在图40a至图40c中,为了明确地示出附图,省略埋入有导电体546及导电体548的绝缘体586及覆盖导电体620及绝缘体630的绝缘体650。
[0718]
注意,图33、图34、图40a至图40c所示的电容器600是平面型,但是电容器的形状不局限于此。例如,电容器600也可以为图41a至图41c所示的气缸型电容器600b。
[0719]
图41a是电容器600b的俯视图,图41b是电容器600b的沿着点划线l3
‑
l4的截面图,图41c是电容器600b的沿着点划线w3
‑
l4的截面的立体图。
[0720]
在图41b中,电容器600b包括埋入有导电体540的绝缘体586上的绝缘体631、具有开口的绝缘体651、一对电极中的一方的导电体610以及一对电极中的另一方的导电体620。
[0721]
另外,在图41c中,为了明确地示出附图,省略绝缘体586、绝缘体650及绝缘体651。
[0722]
作为绝缘体631,例如可以使用与绝缘体586相同的材料。
[0723]
另外,在绝缘体631中,以与导电体540电连接的方式埋入有导电体611。导电体611例如可以使用与导电体330、导电体518相同的材料。
[0724]
作为绝缘体651,例如可以使用与绝缘体586相同的材料。
[0725]
另外,如上所述,绝缘体651具有开口,该开口与导电体611重叠。
[0726]
导电体610形成在该开口的底部及侧面。换言之,导电体610与导电体611重叠且与导电体611电连接。
[0727]
另外,导电体610的形成方法为如下:通过蚀刻法等在绝缘体651中形成开口,接着通过溅射法、ald法等形成导电体610。然后,通过cmp(chemichal mechanical polishing,化学机械抛光)法等以使形成在开口中的导电体610残留的方式去除形成在绝缘体651上的导电体610。
[0728]
绝缘体630位于绝缘体651上及导电体610的形成面上。另外,绝缘体630在电容器中被用作夹在一对电极间的介电质。
[0729]
导电体620以填埋绝缘体651的开口的方式设置在绝缘体630上。
[0730]
绝缘体650以覆盖绝缘体630及导电体620的方式形成。
[0731]
图41a至图41c所示的气缸型的电容器600b比平面型的电容器600a可以提高静电电容的值。因此,例如通过作为在上述实施方式中说明的电容c1等使用电容器600b,可以长时间保持电容器的端子间的电压。
[0732]
注意,本实施方式可以与本说明书所示的其他实施方式适当地组合。
[0733]
(实施方式6)在本实施方式中,说明可用于上述实施方式中说明的os晶体管的金属氧化物(下面称为氧化物半导体)。
[0734]
金属氧化物优选至少包含铟或锌。尤其优选包含铟及锌。另外,除此之外,优选还包含铝、镓、钇或锡等。另外,也可以包含选自硼、硅、钛、铁、镍、锗、锆、钼、镧、铈、钕、铪、钽、钨、镁及钴等中的一种或多种。
[0735]
<结晶结构的分类>首先,对氧化物半导体中的结晶结构的分类参照图42a进行说明。图42a是说明氧化物半导体,典型为igzo(包含in、ga及zn的金属氧化物)的结晶结构的分类的图。
[0736]
如图42a所示那样,氧化物半导体大致分为“amorphous(无定形)”、“crystalline(结晶性)”、“crystal(结晶)”。另外,在“amorphous”中包含completely amorphous。另外,在“crystalline”中包含caac(c
‑
axis
‑
aligned crystalline)、nc(nanocrystalline)及cac(cloud
‑
aligned composite)(excluding single crystal and poly crystal)。另外,在“crystalline”的分类中不包含single crystal(单晶)、poly crystal(多晶)及completely amorphous。另外,“crystal”的分类中包含single crystal及poly crystal。
[0737]
另外,图42a所示的外框线被加粗的部分中的结构是介于“amorphous(无定形)”与“crystal(结晶)”之间的中间状态,是属于新颖的边界区域(new crystalline phase)的结构。就是说,将该结构与”crystal(结晶)”或在能量性上不稳定的“amorphous(无定形)”可以说是完全不同的结构。
[0738]
另外,可以使用x射线衍射(xrd:x
‑
ray diffraction)光谱对膜或衬底的结晶结构进行评价。在此,图42b示出被分类为“crystalline”的caac
‑
igzo膜的通过gixd(grazing
‑
incidence xrd)测量而得到的xrd光谱(纵轴表示以任意单位(a.u.)表示的强度(intensity))。另外,将gixd法也称为薄膜法或seemann
‑
bohlin法。下面,将通过图42b所示的gixd测量而得到的xrd光谱简单地记为xrd光谱。另外,图42b所示的caac
‑
igzo膜的组成是in:ga:zn=4:2:3[原子个数比]附近。另外,图42b所示的caac
‑
igzo膜的厚度为500nm。
[0739]
如图42b所示,在caac
‑
igzo膜的xrd光谱中检测出表示明确的结晶性的峰值。具体而言,在caac
‑
igzo膜的xrd光谱中,2θ=31
°
附近检测出表示c轴取向的峰值。另外,如图42b所示那样,2θ=31
°
附近的峰值在以检测出峰值强度的角度为轴时左右非对称。
[0740]
另外,可以使用纳米束电子衍射法(nbed:nano beam electron diffraction)观察的衍射图案(也称为纳米束电子衍射图案)对膜或衬底的结晶结构进行评价。图42c示出caac
‑
igzo膜的衍射图案。图42c是将电子束向平行于衬底的方向入射的nbed观察的衍射图案。另外,图42c所示的caac
‑
igzo膜的组成是in:ga:zn=4:2:3[原子个数比]附近。另外,在纳米束电子衍射法中,进行束径为1nm的电子衍射法。
[0741]
如图42c所示那样,在caac
‑
igzo膜的衍射图案中观察到表示c轴取向的多个斑点。
[0742]
<<氧化物半导体的结构>>另外,在注目于氧化物半导体的结晶结构的情况下,有时氧化物半导体的分类与图42a不同。例如,氧化物半导体可以分类为单晶氧化物半导体和除此之外的非单晶氧化物半导体。作为非单晶氧化物半导体,例如可以举出上述caac
‑
os及nc
‑
os。另外,在非单晶氧化物半导体中包含多晶氧化物半导体、a
‑
like os(amorphous
‑
like oxide semiconductor)及非晶氧化物半导体等。
[0743]
在此,对上述caac
‑
os、nc
‑
os及a
‑
like os的详细内容进行说明。
[0744]
[caac
‑
os]caac
‑
os是包括多个结晶区域的氧化物半导体,该多个结晶区域的c轴取向于特定的方向。另外,特定的方向是指caac
‑
os膜的厚度方向、caac
‑
os膜的被形成面的法线方向、或者caac
‑
os膜的表面的法线方向。另外,结晶区域是具有原子排列的周期性的区域。注意,在将原子排列看作晶格排列时结晶区域也是晶格排列一致的区域。再者,caac
‑
os具有在a
‑
b面方向上多个结晶区域连接的区域,有时该区域具有畸变。另外,畸变是指在多个结晶区域连接的区域中,晶格排列一致的区域和其他晶格排列一致的区域之间的晶格排列的方向变化的部分。换言之,caac
‑
os是指c轴取向并在a
‑
b面方向上没有明显的取向的氧化物半导体。
[0745]
另外,上述多个结晶区域的每一个由一个或多个微小结晶(最大径小于10nm的结晶)构成。在结晶区域由一个微小结晶构成的情况下,该结晶区域的最大径小于10nm。另外,结晶区域由多个微小结晶构成的情况下,有时该结晶区域的尺寸为几十nm左右。
[0746]
另外,在in
‑
m
‑
zn氧化物(元素m为选自铝、镓、钇、锡及钛等中的一种或多种)中,caac
‑
os有包括含有层叠有铟(in)及氧的层(以下、in层)、含有元素m、锌(zn)及氧的层(以下、(m,zn)层)的层状结晶结构(也称为层状结构)的趋势。另外,铟和元素m可以彼此置换。因此,有时(m,zn)层包含铟。另外,有时in层包含元素m。注意,有时in层包含zn。该层状结构例如在高分辨率tem图像中被观察作为晶格像。
[0747]
例如,当对caac
‑
os膜使用xrd装置进行结构分析时,在使用θ/2θ扫描的out
‑
of
‑
plane xrd测量中,在2θ=31
°
或其附近检测出c轴取向的峰值。注意,表示c轴取向的峰值的位置(2θ值)有时根据构成caac
‑
os的金属元素的种类、组成等变动。
[0748]
另外,例如,在caac
‑
os膜的电子衍射图案中观察到多个亮点(斑点)。另外,在以透过样品的入射电子束的斑点(也称为直接斑点)为对称中心时,某一个斑点和其他斑点被观察在点对称的位置。
[0749]
在从上述特定的方向观察结晶区域的情况下,虽然该结晶区域中的晶格排列基本上是六方晶格,但是单位晶格并不局限于正六角形,有是非正六角形的情况。另外,在上述畸变中,有时具有五角形、七角形等晶格排列。另外,在caac
‑
os的畸变附近观察不到明确的晶界(grain boundary)。也就是说,晶格排列的畸变抑制晶界的形成。这可能是由于caac
‑
os可容许因如下原因而发生的畸变,即a
‑
b面方向上的氧原子的排列的低密度或因金属原子被取代而使原子间的键合距离产生变化。
[0750]
另外,确认到明确的晶界的结晶结构被称为所谓的多晶(polycrystal)。晶界成为复合中心而载流子被俘获,因而有可能导致晶体管的通态电流的降低、场效应迁移率的降低等。因此,确认不到明确的晶界的caac
‑
os是对晶体管的半导体层提供具有优异的结晶结
构的结晶性氧化物之一。注意,为了构成caac
‑
os,优选为包含zn的结构。例如,与in氧化物相比,in
‑
zn氧化物及in
‑
ga
‑
zn氧化物能够进一步地抑制晶界的发生,所以是优选的。
[0751]
caac
‑
os是结晶性高且确认不到明确的晶界的氧化物半导体。因此,可以说在caac
‑
os中,不容易发生起因于晶界的电子迁移率的降低。另外,氧化物半导体的结晶性有时因杂质的混入或缺陷的生成等而降低,因此可以说caac
‑
os是杂质或缺陷(氧空位等)少的氧化物半导体。因此,包含caac
‑
os的氧化物半导体的物理性质稳定。因此,包含caac
‑
os的氧化物半导体具有高耐热性及高可靠性。此外,caac
‑
os对制造工序中的高温度(所谓热积存;thermal budget)也很稳定。由此,通过在os晶体管中使用caac
‑
os,可以扩大制造工序的自由度。
[0752]
[nc
‑
os]在nc
‑
os中,微小的区域(例如1nm以上且10nm以下的区域,特别是1nm以上且3nm以下的区域)中的原子排列具有周期性。换言之,nc
‑
os具有微小的结晶。另外,例如,该微小的结晶的尺寸为1nm以上且10nm以下,尤其为1nm以上且3nm以下,将该微小的结晶称为纳米晶。另外,nc
‑
os在不同的纳米晶之间观察不到结晶取向的规律性。因此,在膜整体中观察不到取向性。所以,有时nc
‑
os在某些分析方法中与a
‑
like os或非晶氧化物半导体没有差别。例如,在对nc
‑
os膜使用xrd装置进行结构分析时,在使用θ/2θ扫描的out
‑
of
‑
plane xrd测量中,不检测出表示结晶性的峰值。此外,在对nc
‑
os膜进行使用其束径比纳米晶大(例如,50nm以上)的电子射线的电子衍射(也称为选区电子衍射)时,观察到类似光晕图案的衍射图案。另一方面,在对nc
‑
os膜进行使用其束径近于或小于纳米晶的尺寸(例如1nm以上且30nm以下)的电子射线的电子衍射(也称为纳米束电子射线)的情况下,有时得到在以直接斑点为中心的环状区域内观察到多个斑点的电子衍射图案。
[0753]
[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的膜中的氢浓度高。
[0754]
<<氧化物半导体的构成>>接着,说明上述的cac
‑
os的详细内容。另外,说明cac
‑
os与材料构成有关。
[0755]
[cac
‑
os]cac
‑
os例如是指包含在金属氧化物中的元素不均匀地分布的构成,其中包含不均匀地分布的元素的材料的尺寸为0.5nm以上且10nm以下,优选为1nm以上且3nm以下或近似的尺寸。注意,在下面也将在金属氧化物中一个或多个金属元素不均匀地分布且包含该金属元素的区域混合的状态称为马赛克状或补丁(patch)状,该区域的尺寸为0.5nm以上且10nm以下,优选为1nm以上且3nm以下或近似的尺寸。
[0756]
再者,cac
‑
os是指其材料分开为第一区域与第二区域而成为马赛克状且该第一区域分布于膜中的结构(下面也称为云状)。就是说,cac
‑
os是指具有该第一区域和该第二区域混合的结构的复合金属氧化物。
[0757]
在此,将相对于构成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]的区域。
[0758]
具体而言,上述第一区域是以铟氧化物或铟锌氧化物等为主要成分的区域。另外,上述第二区域是以镓氧化物或镓锌氧化物等为主要成分的区域。换言之,可以将上述第一区域称为以in为主要成分的区域。另外,可以将上述第二区域称为以ga为主要成分的区域。
[0759]
注意,有时观察不到上述第一区域和上述第二区域的明确的边界。
[0760]
例如,在in
‑
ga
‑
zn氧化物的cac
‑
os中,根据通过能量分散型x射线分析法(edx:energy dispersive x
‑
ray spectroscopy)取得的edx面分析(edx
‑
mapping)图像,可确认到具有以in为主要成分的区域(第一区域)及以ga为主要成分的区域(第二区域)不均匀地分布而混合的结构。
[0761]
在将cac
‑
os用于晶体管的情况下,通过起因于第一区域的导电性和起因于第二区域的绝缘性的互补作用,可以使cac
‑
os具有开关功能(控制导通/关闭的功能)。换言之,在cac
‑
os的材料的一部分中具有导电性的功能且在另一部分中具有绝缘性的功能,在材料的整体中具有半导体的功能。通过使导电性的功能和绝缘性的功能分离,可以最大限度地提高各功能。因此,通过将cac
‑
os用于晶体管,可以实现高通态电流(i
on
)、高场效应迁移率(μ)及良好的开关工作。
[0762]
氧化物半导体具有各种结构及各种特性。本发明的一个方式的氧化物半导体也可以包括非晶氧化物半导体、多晶氧化物半导体、a
‑
like os、cac
‑
os、nc
‑
os、caac
‑
os中的两种以上。
[0763]
<具有氧化物半导体的晶体管>在此,说明将上述氧化物半导体用于晶体管的情况。
[0764]
通过将上述氧化物半导体用于晶体管,可以实现场效应迁移率高的晶体管。另外,可以实现可靠性高的晶体管。
[0765]
优选将载流子浓度低的氧化物半导体用于晶体管。例如,氧化物半导体中的载流子浓度可以为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
‑9cm
‑3以上。在以降低氧化物半导体膜的载流子浓度为目的的情况下,可以降低氧化物半导体膜中的杂质浓度以降低缺陷态密度。在本说明书等中,将杂质浓度低且缺陷态密度低的状态称为“高纯度本征”或“实质上高纯度本征”。另外,有时将载流子浓度低的氧化物半导体称为“高纯度本征”或“实质上高纯度本征的氧化物半导体”。
[0766]
因为高纯度本征或实质上高纯度本征的氧化物半导体膜具有较低的缺陷态密度,所以有可能具有较低的陷阱态密度。
[0767]
此外,被氧化物半导体的陷阱能级俘获的电荷到消失需要较长的时间,有时像固定电荷那样动作。因此,有时在陷阱态密度高的氧化物半导体中形成沟道形成区域的晶体管的电特性不稳定。
[0768]
因此,为了使晶体管的电特性稳定,降低氧化物半导体中的杂质浓度是有效的。为了降低氧化物半导体中的杂质浓度,优选还降低附近膜中的杂质浓度。作为杂质有氢、氮、碱金属、碱土金属、铁、镍、硅等。
[0769]
<杂质>在此,说明氧化物半导体中的各杂质的影响。
[0770]
在氧化物半导体包含第14族元素之一的硅或碳时,在氧化物半导体中形成缺陷能级。因此,将氧化物半导体中或氧化物半导体的界面附近的硅或碳的浓度(通过二次离子质谱分析法(sims:secondary ion mass spectrometry)测得的浓度)设定为2
×
10
18
atoms/cm3以下,优选为2
×
10
17
atoms/cm3以下。
[0771]
另外,当氧化物半导体包含碱金属或碱土金属时,有时形成缺陷能级而形成载流子。因此,使用包含碱金属或碱土金属的氧化物半导体的晶体管容易具有常开启特性。因此,使通过sims测得的氧化物半导体中的碱金属或碱土金属的浓度为1
×
10
18
atoms/cm3以下,优选为2
×
10
16
atoms/cm3以下。
[0772]
当氧化物半导体包含氮时,容易产生作为载流子的电子,使载流子浓度增高,而n型化。其结果是,在将包含氮的氧化物半导体用于半导体的晶体管容易具有常开启特性。或者,在氧化物半导体包含氮时,有时形成陷阱能级。其结果,有时晶体管的电特性不稳定。因此,将利用sims测得的氧化物半导体中的氮浓度设定为低于5
×
10
19
atoms/cm3,优选为5
×
10
18
atoms/cm3以下,更优选为1
×
10
18
atoms/cm3以下,进一步优选为5
×
10
17
atoms/cm3以下。
[0773]
包含在氧化物半导体中的氢与键合于金属原子的氧起反应生成水,因此有时形成氧空位。当氢进入该氧空位时,有时产生作为载流子的电子。另外,有时由于氢的一部分与键合于金属原子的氧键合,产生作为载流子的电子。因此,使用包含氢的氧化物半导体的晶体管容易具有常开启特性。由此,优选尽可能地减少氧化物半导体中的氢。具体而言,在氧化物半导体中,将利用sims测得的氢浓度设定为低于1
×
10
20
atoms/cm3,优选低于1
×
10
19
atoms/cm3,更优选低于5
×
10
18
atoms/cm3,进一步优选低于1
×
10
18
atoms/cm3。
[0774]
通过将杂质被充分降低的氧化物半导体用于晶体管的沟道形成区域,可以使晶体管具有稳定的电特性。
[0775]
注意,本实施方式可以与本说明书所示的其他实施方式适当地组合。
[0776]
(实施方式7)本实施方式示出形成上述实施方式所示的半导体装置等的半导体晶片及组装有该半导体装置的电子构件的一个例子。
[0777]
<半导体晶片>首先,使用图43a说明形成有半导体装置等的半导体晶片的例子。
[0778]
图43a所示的半导体晶片4800包括晶片4801及设置在晶片4801的顶面的多个电路部4802。在晶片4801的顶面上没设置有电路部4802的部分相当于空隙4803,其为用于切割的区域。
[0779]
半导体晶片4800可以通过在前工序中在晶片4801的表面上形成多个电路部4802来制造。另外,也可以之后对晶片4801的形成有多个电路部4802的面的背面进行抛光来减薄晶片4801。通过上述工序,可以减少晶片4801翘曲等而实现构件的小型化。
[0780]
下面进行切割工序。沿点划线所示的划分线scl1及划分线scl2(有时称为切割线或截断线)进行切割。为了容易进行切割工序,优选以多个划分线scl1平行,多个划分线scl2平行,且划分线scl1与划分线scl2垂直的方式设置空隙4803。
[0781]
通过进行切割工序,可以从半导体晶片4800切割出图43b所示的芯片4800a。芯片
4800a包括晶片4801a、电路部4802以及空隙4803a。此外,空隙4803a优选尽可能小。在此情况下,相邻的电路部4802之间的空隙4803的宽度只要与划分线scl1的划分用部及划分线scl2的划分用部大致相等即可。
[0782]
此外,本发明的一个实施方式的元件衬底的形状不局限于图43a所示的半导体晶片4800的形状。例如,可以为矩形形状的半导体晶片。此外,可以根据元件的制造工序及制造用设备适当地改变元件衬底的形状。
[0783]
<电子构件>图43c示出电子构件4700及安装有电子构件4700的衬底(安装衬底4704)的立体图。图43c所示的电子构件4700在模子4711中包括芯片4800a。注意,图43c所示的芯片4800a示出层叠电路部4802的结构。也就是说,作为电路部4802可以使用上述实施方式所说明的半导体装置。在图43c中,省略电子构件4700的一部分以表示其内部。电子构件4700在模子4711的外侧包括连接盘(land)4712。连接盘4712与电极焊盘4713电连接,电极焊盘4713通过引线4714与芯片4800a电连接。电子构件4700例如安装于印刷电路板4702。通过组合多个该电子构件并使其分别在印刷电路板4702上电连接,由此完成安装衬底4704。
[0784]
图43d示出电子构件4730的立体图。电子构件4730是sip(system in package:系统封装)或mcm(multi chip module:多芯片封装)的一个例子。在电子构件4730中,封装衬底4732(印刷电路板)上设置有插板(interposer)4731,插板4731上设置有半导体装置4735及多个半导体装置4710。
[0785]
电子构件4730包括半导体装置4710。半导体装置4710例如可以使用在上述实施方式中说明的半导体装置、高带宽存储器(hbm:high bandwidth memory:高宽带存储器)等。另外,半导体装置4735可以使用cpu、gpu、fpga、存储装置等集成电路(半导体装置)。
[0786]
封装衬底4732可以使用陶瓷衬底、塑料衬底或玻璃环氧衬底等。插板4731可以使用硅插板、树脂插板等。
[0787]
插板4731具有多个布线且具有与端子间距不同的多个集成电路电连接的功能。多个布线由单层或多层构成。另外,插板4731具有将设置于插板4731上的集成电路与设置于封装衬底4732上的电极电连接的功能。因此,有时也将插板称为“重布线衬底(rewiring substrate)”或“中间衬底”。另外,有时通过在插板4731中设置贯通电极,通过该贯通电极使集成电路与封装衬底4732电连接。另外,在使用硅插板的情况下,也可以使用tsv(through silicon via:硅通孔)作为贯通电极。
[0788]
作为插板4731优选使用硅插板。由于硅插板不需要设置有源元件,所以可以以比集成电路更低的成本制造。硅插板的布线形成可以在半导体工序中进行,因此很容易形成在使用树脂插板时很难形成的微细布线。
[0789]
在hbm中,为了实现宽存储器带宽需要连接许多布线。为此,要求安装hbm的插板上能够高密度地形成微细的布线。因此,作为安装hbm的插板优选使用硅插板。
[0790]
另外,在使用硅插板的sip或mcm等中,不容易发生因集成电路与插板间的膨胀系数的不同而导致的可靠性下降。另外,由于硅插板的表面平坦性高,所以设置在硅插板上的集成电路与硅插板间不容易产生连接不良。尤其优选将硅插板用于2.5d封装(2.5d安装),其中多个集成电路横着排放并配置于插板上。
[0791]
另外,也可以与电子构件4730重叠地设置散热器(散热板)。在设置散热器的情况
下,优选设置于插板4731上的集成电路的高度一致。例如,在本实施方式所示的电子构件4730中,优选使半导体装置4710与半导体装置4735的高度一致。
[0792]
为了将电子构件4730安装在其他的衬底上,可以在封装衬底4732的底部设置电极4733。图43d示出用焊球形成电极4733的例子。通过在封装衬底4732的底部以矩阵状设置焊球,可以实现bga(ball grid array:球栅阵列)安装。另外,电极4733也可以使用导电针形成。通过在封装衬底4732的底部以矩阵状设置导电针,可以实现pga(pin grid array:针栅阵列)安装。
[0793]
电子构件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:四侧无引脚扁平封装)等安装方法。
[0794]
注意,本实施方式可以与本说明书所示的其他实施方式适当地组合。
[0795]
(实施方式8)在本实施方式中,说明包括上述实施方式所说明的半导体装置的电子设备的一个例子。图44示出具有该半导体装置的电子构件4700(bmp,有时被称为脑子形性处理器等)包括在各电子设备中的情况。
[0796]
[移动电话机]图44所示的信息终端5500是信息终端之一的移动电话机(智能手机)。信息终端5500包括外壳5510及显示部5511,作为输入接口在显示部5511中具备触摸面板,并且在外壳5510上设置有按钮。
[0797]
通过将上述实施方式所说明的半导体装置应用于信息终端5500,可以执行利用人工智能的应用程序。作为利用人工智能的应用程序,例如,可以举出识别会话来将该会话的内容显示在显示部5511上的应用程序、识别由使用者输入到显示部5511所具备的触摸面板的文字或图形等来将该文字或该图形显示在显示部5511上的应用程序、执行指纹或声纹等的生物识别的应用程序等。
[0798]
[可穿戴终端]另外,图44示出可穿戴终端的一个例子的智能手表5900。智能手表5900包括外壳5901、显示部5902、操作按钮5903、表把5904、表带5905等。
[0799]
与上述信息终端5500同样,通过将上述实施方式所说明的半导体装置应用于可穿戴终端,可以执行利用人工知能的程序。作为利用人工知能的程序,例如可以举出管理戴上可穿戴终端的人的健康状态的程序、通过输入目的地选择适当的路径而带路的导航系统等。
[0800]
[信息终端]图44示出台式信息终端5300。台式信息终端5300包括信息终端主体5301、显示器5302及键盘5303。
[0801]
与上述信息终端5500同样,通过将上述实施方式所说明的半导体装置应用于台式信息终端5300,可以执行利用人工智能的应用程序。作为利用人工智能的应用程序,例如,可以举出设计支援软件、文章校对软件、菜单自动生成软件等。此外,通过使用台式信息终
端5300,可以研发新颖的人工智能。
[0802]
注意,在上述例子中,图44示出智能手机及台式信息终端作为电子设备的例子,但是也可以应用智能手机及台式信息终端以外的信息终端。作为智能手机及台式信息终端以外的信息终端,例如可以举出pda(personal digital assistant:个人数码助理)、笔记本式信息终端、工作站等。
[0803]
[电器产品]另外,图44示出电器产品的一个例子的电冷藏冷冻箱5800。电冷藏冷冻箱5800包括外壳5801、冷藏室门5802及冷冻室门5803等。
[0804]
通过将上述实施方式所说明的半导体装置应用于电冷藏冷冻箱5800,可以实现具备人工智能的电冷藏冷冻箱5800。通过利用人工智能,可以使电冷藏冷冻箱5800具有基于储存在电冷藏冷冻箱5800中的食品或该食品的消费期限等自动生成菜单的功能、根据所储存的食品自动调整电冷藏冷冻箱5800的温度的功能。
[0805]
在上述例子中,作为电器产品说明电冷藏冷冻箱,但是作为其他电器产品,例如可以举出吸尘器、微波炉、电烤箱、电饭煲、热水器、ih炊具、饮水机、包括空气调节器的冷暖空調机、洗衣机、干衣机、视听设备等。
[0806]
[游戏机]另外,图44示出游戏机的一个例子的便携式游戏机5200。便携式游戏机5200包括外壳5201、显示部5202、按钮5203等。
[0807]
另外,图44示出游戏机的一个例子的固定式游戏机7500。固定式游戏机7500包括主体7520及控制器7522。主体7520可以以无线方式或有线方式与控制器7522连接。另外,虽然在图44中未图示,但是控制器7522可以包括显示游戏的图像的显示部、作为按钮以外的输入接口的触摸面板及控制杆、旋转式抓手、滑动式抓手等。另外,控制器7522不局限于图44所示的形状,也可以根据游戏的种类改变控制器7522的形状。例如,在fps(first person shooter,第一人称射击类游戏)等射击游戏中,作为扳机使用按钮,可以使用模仿枪的形状的控制器。另外,例如,在音乐游戏等中,可以使用模仿乐器、音乐器件等的形状的控制器。再者,固定式游戏机也可以设置照相机、深度传感器、麦克风等,由游戏玩者的手势及/或声音等操作以代替控制器的形状。
[0808]
另外,上述游戏机的影像可以由电视装置、个人计算机用显示器、游戏用显示器、头戴显示器等显示装置输出。
[0809]
通过将上述实施方式所说明的半导体装置用于便携式游戏机5200,可以实现低功耗的便携式游戏机5200。此外,借助于低功耗,可以降低来自电路的发热,由此可以减少因发热而给电路本身、外围电路以及模块带来的负面影响。
[0810]
并且,通过将上述实施方式所说明的半导体装置用于便携式游戏机5200,可以实现具有人工智能的便携式游戏机5200。
[0811]
游戏的进展、游戏中出现的生物的言行、游戏上发生的现象等的表现本来是由该游戏所具有的程序规定的,但是通过将人工智能应用于便携式游戏机5200,可以实现不局限于游戏的程序的表现。例如,可以实现游戏玩者提问的内容、游戏的进展情况、时间、游戏上出现的人物的言行变化等的表现。
[0812]
此外,当使用便携式游戏机5200玩需要多个人玩的游戏时,可以利用人工智能构
成拟人的游戏玩者,由此可以将人工智能的游戏玩者当作对手,一个人也可以玩多个人玩的游戏。
[0813]
在图44中,作为游戏机的例子示出便携式游戏机,但是本发明的一个方式的电子设备不局限于此。作为应用本发明的一个方式的电子设备,例如可以举出家用固定式游戏机、设置在娱乐设施(游戏中心,游乐园等)的街机游戏机、设置在体育设施的击球练习用投球机等。
[0814]
[移动体]上述实施方式所说明的半导体装置可以应用于作为移动体的汽车及汽车的驾驶座位附近。
[0815]
图44示出作为移动体的一个例子的汽车5700。
[0816]
汽车5700的驾驶座位附近设置有能够表示速度表、转速计、行驶距离、加油量、排档状态、空调的设定等的仪表板。另外,驾驶座位附近也可以设置有表示上述信息的显示装置。
[0817]
尤其是,通过将由设置在汽车5700上的摄像装置(未图示)拍摄的影像显示在上述显示装置上,可以将被支柱等遮挡的视野、驾驶座位的死角等提供给驾驶员,从而可以提高安全性。
[0818]
上述实施方式所说明的半导体装置可以应用于人工知能的构成要素,所以例如可以将该计算机应用于汽车5700的自动驾驶系统。另外,可以将该半导体装置应用于进行导航、危险预测等的系统。该显示装置可以表示导航、危险预测等的信息。
[0819]
虽然在上述例子中作为移动体的一个例子说明汽车,但是移动体不局限于汽车。例如,作为移动体,也可以举出电车、单轨铁路、船舶、飞行物(直升机、无人驾驶飞机(无人机)、飞机、火箭)等,可以对这些移动体应用本发明的一个方式的半导体装置,以提供利用人工智能的系统。
[0820]
[照相机]上述实施方式所说明的半导体装置可以应用于照相机。
[0821]
图44示出摄像装置的一个例子的数码相机6240。数码相机6240包括外壳6241、显示部6242、操作按钮6243、快门按钮6244等,并且安装有可装卸的镜头6246。在此,数码相机6240采用能够从外壳6241拆卸下镜头6246的结构,但是镜头6246及外壳6241被形成为一体。另外,数码相机6240还可以具备另外安装的闪光灯装置及取景器等。
[0822]
通过将上述实施方式所说明的半导体装置用于数码相机6240,可以实现低功耗的数码相机6240。此外,借助于低功耗,可以降低来自电路的发热,由此可以减少因发热而给电路本身、外围电路以及模块带来的负面影响。
[0823]
通过将上述实施方式所说明的半导体装置用于数码相机6240,可以实现具有人工智能的数码相机6240。通过利用人工知能,数码相机6240可以具有如下功能:自动识别脸、物体等拍摄对象的功能;根据拍摄对象调节焦点、根据环境自动使用快闪的功能;对所拍摄的图像进行调色的功能;等。
[0824]
[视频摄像机]上述实施方式所说明的半导体装置可以应用于视频摄像机。
[0825]
图44示出摄像装置的一个例子的视频摄像机6300。视频摄像机6300包括第一外壳
6301、第二外壳6302、显示部6303、操作键6304、镜头6305、连接部6306等。操作键6304及镜头6305设置在第一外壳6301上,显示部6303设置在第二外壳6302上。第一外壳6301与第二外壳6302由连接部6306连接,第一外壳6301与第二外壳6302间的角度可以由连接部6306改变。显示部6303的图像也可以根据连接部6306中的第一外壳6301与第二外壳6302间的角度切换。
[0826]
当记录由视频摄像机6300拍摄的图像时,需要进行根据数据记录方式的编码。通过利用人工知能,视频摄像机6300可以在进行编码时进行利用人工知能的类型识别。通过该类型识别,可以算出包括在连续的摄像图像数据中的人、动物、物体等差异数据而进行数据压缩。
[0827]
[pc用扩展装置]上述实施方式所说明的半导体装置可以应用于pc(personal computer;个人计算机)等计算机、信息终端用扩展装置。
[0828]
图45a示出该扩展装置的一个例子的可以携带且安装有能够进行运算处理的芯片的设置在pc的外部的扩展装置6100。扩展装置6100例如通过由usb(universal serial bus;通用串行总线)等连接于pc,可以进行使用该芯片的运算处理。注意,虽然图45a示出可携带的扩展装置6100,但是根据本发明的一个方式的扩展装置不局限于此,例如也可以采用安装冷却风机等的较大结构的扩展装置。
[0829]
扩展装置6100包括外壳6101、盖子6102、usb连接器6103及衬底6104。衬底6104被容纳在外壳6101中。衬底6104设置有驱动上述实施方式所说明的半导体装置等的电路。例如,衬底6104安装有芯片6105(例如,上述实施方式所半导体装置、电子构件4700、存储器芯片等。)、控制器芯片6106。usb连接器6103被用作连接于外部装置的接口。
[0830]
通过将扩展装置6100应用于pc等,可以提高该pc的运算处理能力。由此,例如没有充分的处理能力的pc也可以进行人工知能、动画处理等运算。
[0831]
[广播电视系统]上述实施方式所说明的半导体装置可以应用于广播电视系统。
[0832]
图45b示意性地示出广播电视系统中的数据传送。具体而言,图45b示出从广播电视台5680发送的电波(广播电视信号)到达每个家庭的电视接收机(tv)5600的路径。tv5600具备接收机(未图示),由此天线5650所接收的广播电视信号通过该接收机输入tv5600。
[0833]
虽然在图45b中示出超高频率(uhf,ultra high frequency)天线作为天线5650,但是可以使用bs及110度cs天线、cs天线等作为天线5650。
[0834]
电波5675a及电波5675b为地面广播电视信号,电波塔5670放大所接收的电波5675a并发送电波5675b。各家庭通过用天线5650接收电波5675b,就可以用tv5600收看地面tv播放。此外,广播电视系统可以为利用人造卫星的卫星广播电视、利用光路线的数据广播电视等而不局限于图45b所示的地面广播电视。
[0835]
上述广播电视系统可以使用上述实施方式中所说明的半导体装置而利用人工智能。当从广播电视台5680向每个家庭的tv5600发送广播电视数据时,利用编码器进行广播电视数据的压缩;当天线5650接收该广播电视数据时,利用包括在tv5600中的接收机的解码器进行该广播电视数据的恢复。通过利用人工智能,例如可以在编码器的压缩方法之一的变动补偿预测中识别包含在显示图像中的显示模型。此外,也可以进行利用人工智能的
帧内预测等。例如,当tv5600接收低分辨率的广播电视数据而进行高分辨率的显示时,可以在解码器所进行的广播电视数据的恢复中进行上转换等图像的补充处理。
[0836]
上述利用人工智能的广播电视系统适合用于广播电视数据量增大的超高清晰度电视(uhdtv:4k、8k)播放。
[0837]
此外,作为tv5600一侧的人工智能的应用,例如,可以在tv5600内设置具备人工智能的录像装置。通过采用这种结构,可以使该具备人工智能的录像装置学习使用者的爱好,而可以自动对符合使用者的爱好的电视节目录像。
[0838]
[识别系统]上述实施方式所说明的半导体装置可以应用于识别系统。
[0839]
图45c示出掌纹识别装置,包括外壳6431、显示部6432、掌纹读取部6433以及布线6434。
[0840]
图45c示出掌纹识别装置取得手6435的掌纹的情况。对所取得的掌纹进行利用人工知能的类型识别的处理,可以判断该掌纹是不是个人的掌纹。由此,可以构成进行安全性高的识别的系统。此外,本发明的一个实施方式的识别系统不局限于掌纹识别装置,而也可以是取得指纹、静脉、脸、虹膜、声纹、基因或体格等生物信息以进行生物识别的装置。
[0841]
注意,本实施方式可以与本说明书所示的其他实施方式适当地组合。[符号说明]
[0842]
n
1(1)
:神经元、n
p(1)
:神经元、n
1(k
‑
1)
:神经元、n
i(k
‑
1)
:神经元、n
m(k
‑
1)
:神经元、n
1(k)
:神经元、n
j(k)
:神经元、n
n(k)
:神经元、n
1(r)
:神经元、n
q(r)
:神经元、alp:阵列部、ild:电路、wld:电路、xld:电路、afp:电路、mp:电路、mp[1,1]:电路、mp[m,1]:电路、mp[1,n]:电路、mp[m,n]:电路、mp[i,j]:电路、mc:电路、mcr:电路、hc:保持部、hcr:保持部、actf[1]:电路、actf[j]:电路、actf[n]:电路、isc:电流源电路、ivtr:电路、ivtrr:电路、ac:电路、acm:电路、acp:电路、tw[1]:切换电路、tw[j]:切换电路、tw[n]:切换电路、il[1]:布线、il[j]:布线、il[n]:布线、ilb[1]:布线、ilb[j]:布线、ilb[n]:布线、ol[1]:布线、ol[j]:布线、ol[n]:布线、olb[1]:布线、olb[j]:布线、olb[n]:布线、wls[1]:布线、wls[i]:布线、wls[m]:布线、xls[1]:布线、xls[i]:布线、xls[m]:布线、wl[i]:布线、w1l[i]:布线、w2l[i]:布线、xl[i]:布线、x1l[i]:布线、x2l[i]:布线、wx1l[i]:布线、ve[j]:布线、ver[j]:布线、vcn:布线、vcn2:布线、vcn3:布线、vcn4:布线、vcn5:布线、vso:布线、vb:布线、vref1l:布线、vref2l:布线、srl1:布线、srl2
‑
1:布线、srl2
‑
2:布线、srl3:布线、mbt1:端子、mbt2:端子、mbt1m:端子、mbt2m:端子、mbt1p:端子、mbt2p:端子、tsa:端子、tsab:端子、tsb:端子、tsbb:端子、tsb1:端子、tsbb1:端子、tsb2:端子、tsbb2:端子、tsb3:端子、tsbb3:端子、tsc:端子、tscb:端子、t1:端子、t2:端子、n1:节点、n1r:节点、n4:节点、n4r:节点、n5:节点、n5r:节点、ina:节点、inb:节点、outa:节点、outb:节点、swia:开关、swiab:开关、swla:开关、swlab:开关、swc1:开关、swc2:开关、swc3:开关、swr1:开关、swr1b:开关、swr1m:开关、swr1mb:开关、swr1p:开关、swr1pb:开关、swr2:开关、swr2b:开关、swr2m:开关、swr2mb:开关、swr2p:开关、swr2pb:开关、swr3:开关、swr3b:开关、swr4:开关、swr4b:开关、swr5:开关、swr6:开关、swr6b:开关、swr7:开关、swr7b:开关、swi:开关、swib:开关、swo:开关、swob:开关、swl:开关、swlb:开关、swh:开关、swhb:开关、isc1:恒流源电路、isc2:恒流源电路、isc3:恒流源电路、cre:电容、crem:电容、crep:电容、crt:电容、crtb:电容、rrt:电阻、rrtb:电阻、le:负
载、leb:负载、lea:负载、leab:负载、op:运算放大器、opb:运算放大器、opa:运算放大器、cret:晶体管、m1:晶体管、m1r:晶体管、m1p:晶体管、m1pr:晶体管、m10:晶体管、m10r:晶体管、m11:晶体管、m11r:晶体管、m12:晶体管、m12r:晶体管、m13:晶体管、m13r:晶体管、m14:晶体管、m14r:晶体管、ntr:晶体管、ptr:晶体管、c1:电容、c1r:电容、c5:电容、c5r:电容、c6:电容、c6r:电容、c7:电容、c7r:电容、s2:开关、s2r:开关、s3:开关、s3r:开关、s4:开关、s4r:开关、s5:开关、s5r:开关、as3:模拟开关、as3r:模拟开关、as4:模拟开关、as4r:模拟开关、rm:可变电阻元件、rmr:可变电阻元件、mr:mtj元件、mrr:mtj元件、pcm1:相变存储器、pcm1r:相变存储器、ivrs:反相器环形电路、ivrsr:反相器环形电路、iv1:反相器电路、iv1r:反相器电路、iv2:反相器电路、iv2r:反相器电路、il:布线、ilb:布线、ol:布线、olb:布线、wl:布线、w1l:布线、w2l:布线、x1l:布线、x2l:布线、x1lb:布线、x2lb:布线、wx1l:布线、wr1l:布线、wr2l:布线、rl:布线、ve:布线、ver:布线、vem:布线、vemr:布线、vea:布线、vear:布线、hl:布线、hlr:布线、mz:晶体管、m20:晶体管、m20r:晶体管、vl:布线、nm:电路、nmr:电路、100:神经网络、110:运算电路、110a:运算电路、120:运算电路、130:运算电路、130a:运算电路、140:运算电路、150:运算电路、300:晶体管、311:衬底、313:半导体区域、314a:低电阻区域、314b:低电阻区域、315:绝缘体、316:导电体、320:绝缘体、322:绝缘体、324:绝缘体、326:绝缘体、328:导电体、330:导电体、350:绝缘体、352:绝缘体、354:绝缘体、356:导电体、360:绝缘体、362:绝缘体、364:绝缘体、366:导电体、370:绝缘体、372:绝缘体、374:绝缘体、376:导电体、380:绝缘体、382:绝缘体、384:绝缘体、386:导电体、402:绝缘体、404:绝缘体、500:晶体管、503:导电体、503a:导电体、503b:导电体、505:导电体、510:绝缘体、512:绝缘体、514:绝缘体、516:绝缘体、518:导电体、520:绝缘体、522:绝缘体、524:绝缘体、530:氧化物、530a:氧化物、530b:氧化物、530c:氧化物、530c1:氧化物、530c2:氧化物、540:导电体、540a:导电体、540b:导电体、542a:导电体、542b:导电体、543a:区域、543b:区域、544:绝缘体、546:导电体、548:导电体、550:绝缘体、552:绝缘体、560:导电体、560a:导电体、560b:导电体、574:绝缘体、580:绝缘体、581:绝缘体、582:绝缘体、586:绝缘体、600:电容器、600a:电容器、600b:电容器、610:导电体、611:导电体、612:导电体、620:导电体、621:导电体、630:绝缘体、631:绝缘体、650:绝缘体、651:绝缘体、4700:电子构件、4702:印刷电路板、4704:安装衬底、4710:半导体装置、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:冷冻室门、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:控制器