1.本发明的一个方式涉及一种半导体装置及电子设备。
2.本发明的一个方式不限定于上述技术领域。本说明书等所公开的发明的技术领域涉及一种物体、方法或制造方法。另外,本发明的一个方式涉及一种工序(process)、机器(machine)、产品(manufacture)或者组合物(composition of matter)。因此,具体而言,作为本说明书所公开的本发明的一个方式的技术领域的例子可以举出半导体装置、显示装置、液晶显示装置、发光装置、蓄电装置、摄像装置、存储装置、信号处理装置、处理器、电子设备、系统、它们的驱动方法、它们的制造方法或它们的检查方法。
背景技术:
3.现在,以人间的脑子结构为模型的集成电路的开发日益火热。该集成电路组装有作为脑子结构的电子电路且包括相当于人间脑子的“神经元”及“神经突触”的电路。因此,有时将上述集成电路称为“神经形性(neuro
‑
morphic)”、“脑子形性(brain
‑
morphic)”或“脑子激发(brain
‑
inspire)”。该集成电路具有非诺依曼型体系结构,与随着处理速度的增加功耗也变高的诺依曼型体系结构相比,可以期待以极低功耗进行并列处理。
4.包括“神经元”及“神经突触”的模仿神经电路网的数据处理模型被称为人工神经网络(ann)。例如,非专利文献1及非专利文献2公开了使用sram(static random access memory;静态随机存取存储器)构成人工神经网络的运算装置。
5.[先行技术文献]
[0006]
[非专利文献]
[0007]
[非专利文献1]m.kang et al.,“ieee journal of solid
‑
state circuits”,2018,volume 53,no.2,p.642
‑
655.
[0008]
[非专利文献2]j.zhang et al.,“ieee journal of solid
‑
state circuits”,2017,volume 52,no.4,p.915
‑
924.
技术实现要素:
[0009]
发明所要解决的技术问题
[0010]
在人工神经网络中,进行将使两个神经元彼此结合的神经突触的结合强度(有时称为权系数。)乘以在两个神经元间传送的信号的计算。尤其是,在分层人工神经网络中,需要将第一层的多个第一神经元的每一个与第二层的第二神经元中的一个之间的神经突触的结合强度分别乘以与从第一层的多个第一神经元的每一个向第二层的第二神经元中的一个输入的信号而将它们加在一起,根据人工神经网络的规模例如决定该结合强度的数量、表示该信号的参数的数量。换言之,在人工神经网络中,分层的数量、神经元的数量等越多,相当于“神经元”及“神经突触”的每一个的电路数量越多,从而运算量有时变庞大。
[0011]
构成芯片的电路数量越多功耗越高,而且驱动装置时产生的发热量也越大。尤其是,发热量越大,对包括在芯片的电路元件的特性带来的影响越大,所以构成芯片的电路优
选包括不容易受到温度影响的电路元件。此外,在包括在芯片的晶体管或电流源等的特性有偏差时运算结果也有偏差。
[0012]
本发明的一个方式的目的之一是提供一种构成分层人工神经网络的半导体装置等。另外,本发明的一个方式的目的之一是提供一种功耗低的半导体装置等。另外,本发明的一个方式的目的之一是提供一种不容易受到环境温度的影响的半导体装置等。另外,本发明的一个方式的目的之一是提供一种不容易受到晶体管的特性偏差的影响的半导体装置等。另外,本发明的一个方式的目的之一是提供一种不容易受到电流源的特性偏差的影响的半导体装置等。另外,本发明的一个方式的目的之一是提供一种新颖的半导体装置等。
[0013]
注意,本发明的一个方式的目的不局限于上述目的。上述列举的目的并不妨碍其他目的的存在。另外,其他目的是上面没有提到而将在下面的记载中进行说明的目的。本领域技术人员可以从说明书或附图等的记载中导出并适当抽出上面没有提到的目的。此外,本发明的一个方式实现上述目的及其他目的中的至少一个目的。此外,本发明的一个方式并不需要实现所有的上述目的及其他目的。
[0014]
解决技术问题的手段
[0015]
(1)
[0016]
本发明的一个方式是一种半导体装置,包括:第一电路;以及第二电路,其中,第一电路包括第一保持部、第一驱动晶体管,第二电路包括第二保持部、第二驱动晶体管,第一电路与第一输入布线、第二输入布线、第一布线及第二布线电连接,第二电路与第一输入布线、第二输入布线、第一布线及第二布线电连接,第一保持部具有保持对应于从第一布线向第一驱动晶体管的源极与漏极间流过的第一电流的第一电位的功能,第二保持部具有保持对应于从第二布线向第二驱动晶体管的源极与漏极间流过的第二电流的第二电位的功能,第一驱动晶体管具有在第一驱动晶体管的源极与漏极间使对应于所保持的第一电位的第一电流流过的功能,第二驱动晶体管具有在第二驱动晶体管的源极与漏极间使对应于所保持的第二电位的第二电流流过的功能,第一电路具有:在对第一输入布线输入第一电平电位且对第二输入布线输入第二电平电位时,将第一电流输出到第一布线的功能;在对第一输入布线输入第二电平电位且对第二输入布线输入第一电平电位时,将第一电流输出到第二布线的功能;以及在对第一输入布线输入第二电平电位且对第二输入布线输入第二电平电位时,不将第一电流输出到第一布线及第二布线的功能,第二电路具有:在对第一输入布线输入第一电平电位且对第二输入布线输入第二电平电位时,将第二电流输出到第二布线的功能;在对第一输入布线输入第二电平电位且对第二输入布线输入第一电平电位时,将第二电流输出到第一布线的功能;以及在对第一输入布线输入第二电平电位且对第二输入布线输入第二电平电位时,不将第二电流输出到第一布线及第二布线的功能,第一电流、第二电流的每一个具有对应于第一数据的电流量,并且,对第一输入布线、第二输入布线、第三输入布线、第四输入布线的每一个输入的第一电平电位、第二电平电位根据第二数据决定。
[0017]
(2)
[0018]
本发明的一个方式是一种半导体装置,包括:第一电路;以及第二电路,其中,第一电路包括第一保持部、第一驱动晶体管,第二电路包括第二保持部、第二驱动晶体管,第一电路与第一输入布线、第二输入布线、第一布线及第二布线电连接,第二电路与第一输入布
线、第二输入布线、第一布线及第二布线电连接,第一保持部具有保持对应于从第一布线向第一驱动晶体管的源极与漏极间流过的第一电流的第一电位的功能,第二保持部具有保持对应于从第二布线向第二驱动晶体管的源极与漏极间流过的第二电流的第二电位的功能,第一驱动晶体管具有在第一驱动晶体管的源极与漏极间使对应于所保持的第一电位的第一电流流过的功能,第二驱动晶体管具有在第二驱动晶体管的源极与漏极间使对应于所保持的第二电位的第二电流流过的功能,第一电路具有:在第一期间,在对第一输入布线输入第一电平电位且对第二输入布线输入第二电平电位时,将第一电流输出到第一布线的功能;在第一期间,在对第一输入布线输入第二电平电位且对第二输入布线输入第一电平电位时,将第一电流输出到第二布线的功能;以及在第一期间,在对第一输入布线输入第二电平电位且对第二输入布线输入第二电平电位时,不将第一电流输出到第一布线及第二布线的功能,第二电路具有:在第一期间,在对第一输入布线输入第一电平电位且对第二输入布线输入第二电平电位时,将第二电流输出到第二布线的功能;在第一期间,在对第一输入布线输入第二电平电位且对第二输入布线输入第一电平电位时,将第二电流输出到第一布线的功能;以及在第一期间,在对第一输入布线输入第二电平电位且对第二输入布线输入第二电平电位时,不将第二电流输出到第一布线及第二布线的功能,第一电流、第二电流的每一个具有对应于第一数据的电流量,并且,对第一输入布线、第二输入布线的每一个输入的第一电平电位、第二电平电位及第一期间的长度根据第二数据决定。
[0019]
(3)
[0020]
在上述(2)的结构中,本发明的一个方式是一种半导体装置,其中第一期间包括第二期间及第三期间,第一输入布线具有在第二期间对第一电路及第二电路的双方供应第一电平电位或第二电平电位的功能,第二输入布线具有在第二期间对第一电路及第二电路的双方输出第一电平电位或第二电平电位的功能,第一输入布线具有在第三期间对第一电路及第二电路的双方供应第一电平电位或第二电平电位的功能,第二输入布线具有在第三期间对第一电路及第二电路的双方输出第一电平电位或第二电平电位的功能,并且第三期间的长度为第二期间的长度的2倍。
[0021]
(4)
[0022]
在上述(1)至(3)中的任一个结构中,本发明的一个方式是一种半导体装置,其中第一电路包括第一晶体管、第二晶体管、第三晶体管、第一电容,第二电路包括第四晶体管、第五晶体管、第六晶体管、第二电容,第一保持部包括第一晶体管、第一电容,第二保持部包括第四晶体管、第二电容,第一晶体管的第一端子与第一电容的第一端子、第一驱动晶体管的栅极电连接,第一晶体管的第二端子与第一布线电连接,第一驱动晶体管的第一端子与第二晶体管的第一端子、第三晶体管的第一端子电连接,第二晶体管的第二端子与第一布线电连接,第二晶体管的栅极与第一输入布线电连接,第三晶体管的第二端子与第二布线电连接,第三晶体管的栅极与第二输入布线电连接,第四晶体管的第一端子与第二电容的第一端子、第二驱动晶体管的栅极电连接,第四晶体管的第二端子与第二布线电连接,第二驱动晶体管的第一端子与第五晶体管的第一端子、第六晶体管的第一端子电连接,第五晶体管的第二端子与第二布线电连接,第五晶体管的栅极与第一输入布线电连接,第六晶体管的第二端子与第一布线电连接,并且第六晶体管的栅极与第二输入布线电连接。
[0023]
(5)
[0024]
在上述(4)的结构中,本发明的一个方式是一种半导体装置,其中第一电路包括第七晶体管,第二电路包括第八晶体管,第七晶体管的第一端子与第一驱动晶体管的第一端子、第二晶体管的第一端子、第三晶体管的第一端子电连接,第七晶体管的第二端子与第一晶体管的第一端子和第二端子中的一个电连接,第八晶体管的第一端子与第二驱动晶体管的第一端子、第五晶体管的第一端子、第六晶体管的第一端子电连接,第八晶体管的第二端子与第四晶体管的第一端子和第二端子中的一个电连接,并且第一晶体管的栅极与第四晶体管的栅极、第七晶体管的栅极、第八晶体管的栅极电连接。
[0025]
(6)
[0026]
在上述(1)至(3)中的任一个结构中,本发明的一个方式是一种半导体装置,其中第一电路包括第一晶体管、第二晶体管、第三晶体管、第一电容,第二电路包括第四晶体管、第五晶体管、第六晶体管、第二电容,第一保持部包括第一晶体管、第一电容,第二保持部包括第四晶体管、第二电容,第一晶体管的第一端子与第一电容的第一端子、第一驱动晶体管的栅极电连接,第一驱动晶体管的第一端子与第一晶体管的第二端子、第二晶体管的第一端子、第三晶体管的第一端子电连接,第二晶体管的第二端子与第一布线电连接,第二晶体管的栅极与第一输入布线电连接,第三晶体管的第二端子与第二布线电连接,第三晶体管的栅极与第二输入布线电连接,第四晶体管的第一端子与第二电容的第一端子、第二驱动晶体管的栅极电连接,第二驱动晶体管的第一端子与第四晶体管的第二端子、第五晶体管的第一端子、第六晶体管的第一端子电连接,第五晶体管的第二端子与第二布线电连接,第五晶体管的栅极与第一输入布线电连接,第六晶体管的第二端子与第一布线电连接,并且第六晶体管的栅极与第二输入布线电连接。
[0027]
(7)
[0028]
在上述(1)至(3)中的任一个结构中,本发明的一个方式是一种半导体装置,其中第一电路包括第三保持部、第三驱动晶体管,第二电路包括第四保持部、第四驱动晶体管,第一电路与第三布线电连接,第二电路与第三布线电连接,第三保持部具有保持对应于从第一布线向第三驱动晶体管的源极与漏极间流过的第三电流的第三电位的功能,第四保持部具有保持对应于从第二布线向第四驱动晶体管的源极与漏极间流过的第四电流的第四电位的功能,第三驱动晶体管具有在第三驱动晶体管的源极与漏极间使对应于所保持的第三电位的第三电流流过的功能,第四驱动晶体管具有在第四驱动晶体管的源极与漏极间使对应于所保持的第四电位的第四电流流过的功能,并且具有根据输入到第三布线的信号将在第一布线和第二布线中的一个流过的第一电流切换为第三电流,且将在第一布线和第二布线中的另一个流过的第二电流切换为第四电流的功能。
[0029]
(8)
[0030]
在上述(1)至(7)中的任一个结构中,本发明的一个方式是一种半导体装置,还包括:第三电路;第四电路;以及第五电路,其中第三电路具有:通过第一布线对第一电路供应对应于第一数据的第一电流的功能;以及通过第二布线对第二电路供应对应于第一数据的第二电流的功能,第四电路具有:对应于第二数据对第一输入布线输入第一电平电位或第二电平电位的功能;以及对应于第二数据对第二输入布线输入第一电平电位或第二电平电位的功能,并且第五电路具有对从第一布线及第二布线的每一个流过的电流进行比较而从第五电路的输出端子输出对应于第一数据与第二数据之积的电位的功能。
[0031]
(9)
[0032]
本发明的一个方式是一种半导体装置,包括:第一电路;以及第二电路,其中,第一电路包括第一保持部、第一驱动晶体管、第三驱动晶体管,第二电路包括第二保持部、第二驱动晶体管、第四驱动晶体管,第一电路与第一输入布线、第二输入布线、第三输入布线、第四输入布线、第一布线及第二布线电连接,第二电路与第一输入布线、第二输入布线、第三输入布线、第四输入布线、第一布线及第二布线电连接,第一保持部具有保持对应于从第一布线向第一驱动晶体管的源极与漏极间流过的第一电流的第一电位的功能,第二保持部具有保持对应于从第二布线向第二驱动晶体管的源极与漏极间流过的第二电流的第二电位的功能,第一驱动晶体管具有在第一驱动晶体管的源极与漏极间使对应于所保持的第一电位的第一电流流过的功能,第二驱动晶体管具有在第二驱动晶体管的源极与漏极间使对应于所保持的第二电位的第二电流流过的功能,第三驱动晶体管具有在第三驱动晶体管的源极与漏极间使对应于所保持的第一电位的第三电流流过的功能,第四驱动晶体管具有在第四驱动晶体管的源极与漏极间使对应于所保持的第二电位的第四电流流过的功能,第一电路具有:在对第一输入布线输入第一电平电位且对第二输入布线输入第二电平电位时,将第一电流输出到第一布线的功能;在对第一输入布线输入第二电平电位且对第二输入布线输入第一电平电位时,将第一电流输出到第二布线的功能;在对第一输入布线输入第二电平电位且对第二输入布线输入第二电平电位时,不将第一电流输出到第一布线及第二布线的功能;在对第三输入布线输入第一电平电位且对第四输入布线输入第二电平电位时,将第三电流输出到第一布线的功能;在对第三输入布线输入第二电平电位且对第四输入布线输入第一电平电位时,将第三电流输出到第二布线的功能;以及在对第三输入布线输入第二电平电位且对第四输入布线输入第二电平电位时,不将第三电流输出到第一布线及第二布线的功能,第二电路具有:在对第一输入布线输入第一电平电位且对第二输入布线输入第二电平电位时,将第二电流输出到第二布线的功能;在对第一输入布线输入第二电平电位且对第二输入布线输入第一电平电位时,将第二电流输出到第一布线的功能;在对第一输入布线输入第二电平电位且对第二输入布线输入第二电平电位时,不将第二电流输出到第一布线及第二布线的功能;在对第三输入布线输入第一电平电位且对第四输入布线输入第二电平电位时,将第四电流输出到第二布线的功能;在对第三输入布线输入第二电平电位且对第四输入布线输入第一电平电位时,将第四电流输出到第一布线的功能;以及在对第三输入布线输入第二电平电位且对第四输入布线输入第二电平电位时,不将第四电流输出到第一布线及第二布线的功能,第一电流、第二电流、第三电流、第四电流的每一个具有对应于第一数据的电流量,并且,对第一输入布线、第二输入布线、第三输入布线、第四输入布线的每一个输入的第一电平电位、第二电平电位根据第二数据决定。
[0033]
(10)
[0034]
本发明的一个方式是一种半导体装置,包括:第一电路;以及第二电路,其中,第一电路包括第一保持部、第一驱动晶体管、第三驱动晶体管,第二电路包括第二保持部、第二驱动晶体管、第四驱动晶体管,第一电路与第一输入布线、第二输入布线、第三输入布线、第四输入布线、第一布线及第二布线电连接,第二电路与第一输入布线、第二输入布线、第三输入布线、第四输入布线、第一布线及第二布线电连接,第一保持部具有保持对应于从第一布线向第一驱动晶体管的源极与漏极间流过的第一电流的第一电位的功能,第二保持部具
有保持对应于从第二布线向第二驱动晶体管的源极与漏极间流过的第二电流的第二电位的功能,第一驱动晶体管具有在第一驱动晶体管的源极与漏极间使对应于所保持的第一电位的第一电流流过的功能,第二驱动晶体管具有在第二驱动晶体管的源极与漏极间使对应于所保持的第二电位的第二电流流过的功能,第三驱动晶体管具有在第三驱动晶体管的源极与漏极间使对应于所保持的第一电位的第三电流流过的功能,第四驱动晶体管具有在第四驱动晶体管的源极与漏极间使对应于所保持的第二电位的第四电流流过的功能,第一电路具有:在第一期间,在对第一输入布线输入第一电平电位且对第二输入布线输入第二电平电位时,将第一电流输出到第一布线的功能;在第一期间,在对第一输入布线输入第二电平电位且对第二输入布线输入第一电平电位时,将第一电流输出到第二布线的功能;在第一期间,在对第一输入布线输入第二电平电位且对第二输入布线输入第二电平电位时,不将第一电流输出到第一布线及第二布线的功能;在第一期间,在对第三输入布线输入第一电平电位且对第四输入布线输入第二电平电位时,将第三电流输出到第一布线的功能;在第一期间,在对第三输入布线输入第二电平电位且对第四输入布线输入第一电平电位时,将第三电流输出到第二布线的功能;以及在第一期间,在对第三输入布线输入第二电平电位且对第四输入布线输入第二电平电位时,不将第三电流输出到第一布线及第二布线的功能,第二电路具有:在第一期间,在对第一输入布线输入第一电平电位且对第二输入布线输入第二电平电位时,将第二电流输出到第二布线的功能;在第一期间,在对第一输入布线输入第二电平电位且对第二输入布线输入第一电平电位时,将第二电流输出到第一布线的功能;在第一期间,在对第一输入布线输入第二电平电位且对第二输入布线输入第二电平电位时,不将第二电流输出到第一布线及第二布线的功能;在第一期间,在对第三输入布线输入第一电平电位且对第四输入布线输入第二电平电位时,将第四电流输出到第二布线的功能;在第一期间,在对第三输入布线输入第二电平电位且对第四输入布线输入第一电平电位时,将第四电流输出到第一布线的功能;以及在第一期间,在对第三输入布线输入第二电平电位且对第四输入布线输入第二电平电位时,不将第四电流输出到第一布线及第二布线的功能,第一电流、第二电流、第三电流、第四电流的每一个具有对应于第一数据的电流量,并且,对第一输入布线、第二输入布线、第三输入布线、第四输入布线的每一个输入的第一电平电位、第二电平电位及第一期间的长度根据第二数据决定。
[0035]
(11)
[0036]
在上述(10)的结构中,本发明的一个方式是一种半导体装置,其中第一期间包括第二期间、第三期间,第一输入布线具有在第二期间对第一电路及第二电路的双方供应第一电平电位或第二电平电位的功能,第二输入布线具有在第二期间对第一电路及第二电路的双方供应第一电平电位或第二电平电位的功能,第三输入布线具有在第二期间对第一电路及第二电路的双方供应第一电平电位或第二电平电位的功能,第四输入布线具有在第二期间对第一电路及第二电路的双方供应第一电平电位或第二电平电位的功能,第一输入布线具有在第三期间对第一电路及第二电路的双方供应第一电平电位或第二电平电位的功能,第二输入布线具有在第三期间对第一电路及第二电路的双方供应第一电平电位或第二电平电位的功能,第三输入布线具有在第三期间对第一电路及第二电路的双方供应第一电平电位或第二电平电位的功能,第四输入布线具有在第三期间对第一电路及第二电路的双方供应第一电平电位或第二电平电位的功能,并且第三期间的长度为第二期间的长度的2
倍。
[0037]
(12)
[0038]
在上述(9)至(11)中的任一个结构中,本发明的一个方式是一种半导体装置,还包括:第三电路;第四电路;以及第五电路,其中第三电路具有:通过第一布线对第一电路供应对应于第一数据的第一电流的功能;以及通过第二布线对第二电路供应对应于第一数据的第二电流的功能,第四电路具有:对第一输入布线对应于第二数据输入第一电平电位或第二电平电位的功能;对第二输入布线对应于第二数据输入第一电平电位或第二电平电位的功能;对第三输入布线对应于第二数据输入第一电平电位或第二电平电位的功能;以及对第四输入布线对应于第二数据输入第一电平电位或第二电平电位的功能,并且第五电路具有对从第一布线及第二布线的每一个流过的电流进行比较从第五电路的输出端子输出对应于第一数据与第二数据之积的电位的功能。
[0039]
(13)
[0040]
本发明的一个方式是一种半导体装置,包括:第一电路;以及第二电路,其中,第一电路包括第一保持部、第一驱动晶体管,第二电路包括第二保持部、第二驱动晶体管,第一电路与第一输入布线及第一布线电连接,第二电路与第一输入布线及第二布线电连接,第一保持部具有保持对应于从第一布线向第一驱动晶体管的源极与漏极间流过的第一电流的第一电位的功能,第二保持部具有保持对应于从第二布线向第二驱动晶体管的源极与漏极间流过的第二电流的第二电位的功能,第一驱动晶体管具有在第一驱动晶体管的源极与漏极间使对应于所保持的第一电位的第一电流流过的功能,第二驱动晶体管具有在第二驱动晶体管的源极与漏极间使对应于所保持的第二电位的第二电流流过的功能,第一电路具有:在对第一输入布线输入第一电平电位时,将第一电流输出到第一布线的功能;以及在对第一输入布线输入第二电平电位时,不将第一电流输出到第一布线的功能,第二电路具有:在对第一输入布线输入第一电平电位时,将第二电流输出到第二布线的功能;以及在对第一输入布线输入第二电平电位时,不将第二电流输出到第二布线的功能,第一电流、第二电流的每一个具有对应于第一数据的电流量,并且,对第一输入布线、第二输入布线的每一个输入的第一电平电位、第二电平电位根据第二数据决定。
[0041]
(14)
[0042]
本发明的一个方式是一种半导体装置,包括:第一电路;以及第二电路,其中,第一电路包括第一保持部、第一驱动晶体管,第二电路包括第二保持部、第二驱动晶体管,第一电路与第一输入布线及第一布线电连接,第二电路与第一输入布线及第二布线电连接,第一保持部具有保持对应于从第一布线向第一驱动晶体管的源极与漏极间流过的第一电流的第一电位的功能,第二保持部具有保持对应于从第二布线向第二驱动晶体管的源极与漏极间流过的第二电流的第二电位的功能,第一驱动晶体管具有在第一驱动晶体管的源极与漏极间使对应于所保持的第一电位的第一电流流过的功能,第二驱动晶体管具有在第二驱动晶体管的源极与漏极间使对应于所保持的第二电位的第二电流流过的功能,第一电路具有:在第一期间,在对第一输入布线输入第一电平电位时,将第一电流输出到第一布线的功能;以及在第一期间,在对第一输入布线输入第二电平电位时,不将第一电流输出到第一布线的功能,第二电路具有:在第一期间,在对第一输入布线输入第一电平电位时,将第二电流输出到第二布线的功能;以及在第一期间,在对第一输入布线输入第二电平电位时,不将
第二电流输出到第二布线的功能,第一电流、第二电流的每一个具有对应于第一数据的电流量,并且,对第一输入布线、第二输入布线的每一个输入的第一电平电位、第二电平电位根据第二数据决定。
[0043]
(15)
[0044]
在上述(14)的结构中,本发明的一个方式是一种半导体装置,其中第一期间包括第二期间、第三期间,第一输入布线具有在第二期间对第一电路及第二电路的双方供应第一电平电位或第二电平电位的功能,第一输入布线具有在第三期间对第一电路及第二电路的双方供应第一电平电位或第二电平电位的功能,并且第三期间的长度为第二期间的长度的2倍。
[0045]
(16)
[0046]
在上述(13)至(15)中的任一个结构中,本发明的一个方式是一种半导体装置,其中第一电路包括第一晶体管、第二晶体管、第一电容,第二电路包括第四晶体管、第五晶体管、第二电容,第一保持部包括第一晶体管、第一电容,第二保持部包括第四晶体管、第二电容,第一晶体管的第一端子与第一电容的第一端子、第一驱动晶体管的栅极电连接,第一晶体管的第二端子与第一布线电连接,第一驱动晶体管的第一端子与第二晶体管的第一端子电连接,第二晶体管的第二端子与第一布线电连接,第二晶体管的栅极与第一输入布线电连接,第四晶体管的第一端子与第二电容的第一端子、第二驱动晶体管的栅极电连接,第四晶体管的第二端子与第二布线电连接,第二驱动晶体管的第一端子与第五晶体管的第一端子电连接,第五晶体管的第二端子与第二布线电连接,并且第五晶体管的栅极与第一输入布线电连接。
[0047]
(17)
[0048]
另外,本发明的一个方式是一种电子设备,包括上述(1)至(16)中的任一个半导体装置及外壳,并且由半导体装置进行神经网络的运算。
[0049]
注意,在本说明书等中,半导体装置是指利用半导体特性的装置以及包括半导体元件(晶体管、二极管、光电二极管等)的电路及包括该电路的装置等。另外,半导体装置是指能够利用半导体特性而发挥作用的所有装置。例如,作为半导体装置的例子,有集成电路、具备集成电路的芯片、封装中容纳有芯片的电子构件。另外,存储装置、显示装置、发光装置、照明装置以及电子设备等本身是半导体装置,或者有时包括半导体装置。
[0050]
另外,在本说明书等中,当记载为“x与y连接”时,表示在本说明书等中公开了如下情况:x与y电连接的情况;x与y在功能上连接的情况;以及x与y直接连接的情况。因此,不局限于附图或文中所示的连接关系,例如其他的连接关系也在附图或文中所记载的范围内记载。x和y都是对象物(例如,装置、元件、电路、布线、电极、端子、导电膜、层等)。
[0051]
作为x和y电连接的情况的一个例子,可以在x和y之间连接一个以上的能够电连接x和y的元件(例如开关、晶体管、电容器、电感器、电阻器、二极管、显示器件、发光器件、负载等)。此外,开关具有控制开启或关闭的功能。换言之,通过使开关处于导通状态(开启状态)或非导通状态(关闭状态)来控制是否使电流流过。
[0052]
作为x与y在功能上连接的情况的一个例子,例如可以在x与y之间连接有一个以上的能够在功能上连接x与y的电路(例如,逻辑电路(反相器、nand电路、nor电路等)、信号转换电路(数字模拟转换电路、模拟数字转换电路、伽马校正电路等)、电位电平转换电路(电
源电路(升压电路、降压电路等)、改变信号的电位电平的电平转移电路等)、电压源、电流源、切换电路、放大电路(能够增大信号振幅或电流量等的电路、运算放大器、差分放大电路、源极跟随电路、缓冲电路等)、信号产生电路、存储电路、控制电路等)。注意,例如,即使在x与y之间夹有其他电路,当从x输出的信号传送到y时,就可以说x与y在功能上是连接着的。
[0053]
此外,当明确地记载为“x与y电连接”时,包括如下情况:x与y电连接的情况(换言之,以中间夹有其他元件或其他电路的方式连接x与y的情况);x与y在功能上连接的情况(换言之,以中间夹有其他电路的方式功能上连接x与y的情况);以及x与y直接连接的情况(换言之,以中间不夹有其他元件或其他电路的方式连接x与y的情况)。换言之,当明确记载有“电连接”时,与只明确记载有“连接”的情况相同。
[0054]
例如,可以表现为“x、y、晶体管的源极(或第一端子等)与晶体管的漏极(或第二端子等)互相电连接,x、晶体管的源极(或第一端子等)、晶体管的漏极(或第二端子等)与y依次电连接”。或者,可以表现为“晶体管的源极(或第一端子等)与x电连接,晶体管的漏极(或第二端子等)与y电连接,x、晶体管的源极(或第一端子等)、晶体管的漏极(或第二端子等)与y依次电连接”。或者,可以表达为“x通过晶体管的源极(或第一端子等)及晶体管的漏极(或第二端子等)与y电连接,x、晶体管的源极(或第一端子等)、晶体管的漏极(或第二端子等)、y依次设置”。通过使用与这种例子相同的显示方法规定电路结构中的连接顺序,可以区分晶体管的源极(或第一端子等)与漏极(或第二端子等)而决定技术范围。注意,这种显示方法是一个例子,不局限于上述显示方法。在此,x和y为对象物(例如,装置、元件、电路、布线、电极、端子、导电膜、层等)。
[0055]
另外,即使在电路图上独立的构成要素彼此电连接,也有时一个构成要素兼有多个构成要素的功能。例如,在布线的一部分用作电极时,一个导电膜兼有布线和电极的两个构成要素的功能。因此,本说明书中的“电连接”的范畴内还包括这种一个导电膜兼有多个构成要素的功能的情况。
[0056]
在本说明书等中,“电阻元件”例如是指具有电阻值的电路元件、布线等。因此,在本说明书等中,“电阻元件”包括具有电阻值的布线、电流流过源极和漏极之间的晶体管、二极管、线圈等。因此,“电阻元件”也可以称为“电阻”、“负载”、“具有电阻值的区域”等,与此相反,“电阻”、“负载”、“具有电阻值的区域”也可以称为“电阻元件”等。作为电阻值,例如优选为1mω以上且10ω以下,更优选为5mω以上且5ω以下,进一步优选为10mω以上且1ω以下。此外,例如也可以为1ω以上且1
×
109ω以下。
[0057]
在本说明书等中,“电容元件”是指具有静电电容值的电路元件、具有静电电容值的布线的区域、寄生电容、晶体管的栅极电容等。因此,在本说明书等中,“电容元件”除包括具有一对电极及在该电极之间的介电体的电路元件外还包括产生在布线和布线之间的寄生电容、产生在晶体管的源极和漏极中的一个与栅极之间栅极电容等。“电容元件”、“寄生电容”、“栅极电容”等也可以称为“电容”等,与此相反,“电容”也可以称为“电容元件”、“寄生电容”、“栅极电容”等。另外,“电容”的“一对电极”也可以称为“一对导电体”、“一对导电区域”、“一对区域”等。静电电容值例如可以为0.05ff以上且10pf以下。此外,例如,还可以为1pf以上且10μf以下。
[0058]
在本说明书等中,晶体管包括栅极、源极以及漏极这三个端子。栅极被用作控制晶
体管的导通状态的控制端子。被用作源极或漏极的两个端子是晶体管的输入输出端子。根据晶体管的导电型(n沟道型、p沟道型)及对晶体管的三个端子施加的电位的高低,两个输入输出端子中的一方被用作源极而另一方被用作漏极。因此,在本说明书等中,源极和漏极可以相互调换。在本说明书等中,在说明晶体管的连接关系时,使用“源极和漏极中的一个”(第一电极或第一端子)、“源极和漏极中的另一个”(第二电极或第二端子)的表述。另外,根据晶体管的结构,有时除了上述三个端子以外还包括背栅极。在此情况下,在本说明书等中,有时将晶体管的栅极和背栅极中的一个称为第一栅极,将晶体管的栅极和背栅极的另一个称为第二栅极。并且,在相同晶体管中,有时可以将“栅极”与“背栅极”相互调换。另外,在晶体管包括三个以上的栅极时,在本说明书等中,有时将各栅极称为第一栅极、第二栅极、第三栅极等。
[0059]
另外,在本说明书等中,节点也可以根据电路结构或装置结构等称为端子、布线、电极、导电层、导电体或杂质区域等。另外,端子、布线等也可以称为节点。
[0060]
另外,在本说明书等中,可以适当地调换“电压”和“电位”。“电压”是指与基准电位之间的电位差,例如在基准电位为地电位(接地电位)时,也可以将“电压”称为“电位”。接地电位不一定意味着0v。注意,电位是相对的,对布线等供应的电位有时根据基准电位而变化。
[0061]“电流”是指电荷的移动现象(导电),例如,“发生正带电体的导电”的记载可以替换为“在与其相反方向上发生负带电体的导电”的记载。因此,在本说明书等中,在没有特别的说明的情况下,“电流”是指载流子移动时的电荷的移动现象(导电)。在此,作为载流子可以举出电子、空穴、阴离子、阳离子、络离子等,载流子根据电流流过的系统(例如,半导体、金属、电解液、真空中等)不同。另外,布线等中的“电流的方向”是正载流子移动的方向,以正电流量记载。换言之,负载流子移动的方向与电流方向相反,以负电流量记载。因此,在本说明书等中,在没有特别的说明的情况下,关于电流的正负(或电流的方向),“电流从元件a向元件b流过”等记载可以替换为“电流从元件b向元件a流过”等记载。另外,“对元件a输入电流”等记载可以替换为“从元件a输出电流”等记载。
[0062]
另外,在本说明书等中,“第一”、“第二”、“第三”等序数词是为了避免构成要素的混淆而附加上的。因此,该序数词不限制构成要素的个数。此外,该序数词不限制构成要素的顺序。另外,例如,本说明书等的实施方式之一中附有“第一”的构成要素有可能在其他的实施方式或权利要求书中附有“第二”的构成要素。此外,例如,在本说明书等中,一个实施方式中的“第一”所指的构成要素有可能在其他实施方式或权利要求书的范围中被省略。
[0063]
在本说明书中,为了方便起见,有时使用“上”、“下”等表示配置的词句以参照附图说明构成要素的位置关系。另外,构成要素的位置关系根据描述各构成要素的方向适当地改变。因此,不局限于说明书等中所说明的词句,根据情况可以适当地换词句。例如,在“位于导电体的顶面的绝缘体”的表述中,通过将所示的附图的方向旋转180度,也可以称为“位于导电体的下面的绝缘体”。
[0064]
另外,“上”或“下”这样的术语不限定于构成要素的位置关系为“正上”或“正下”且直接接触的情况。例如,如果是“绝缘层a上的电极b”的表述,则不一定必须在绝缘层a上直接接触地形成有电极b,也可以包括在绝缘层a与电极b之间包括其他构成要素的情况。
[0065]
此外,在本说明书等中,根据状况,可以互相调换“膜”和“层”等词句。例如,有时可
以将“导电层”调换为“导电膜”。此外,有时可以将“绝缘膜”变换为“绝缘层”。另外,根据情况或状态,可以使用其他词句代替“膜”和“层”等词句。例如,有时可以将“导电层”或“导电膜”变换为“导电体”。此外,例如有时可以将“绝缘层”或“绝缘膜”变换为“绝缘体”。
[0066]
注意,在本说明书等中,“电极”、“布线”、“端子”等的词句不在功能上限定其构成要素。例如,有时将“电极”用作“布线”的一部分,反之亦然。再者,“电极”或“布线”还包括多个“电极”或“布线”被形成为一体的情况等。此外,例如,有时将“端子”用作“布线”或“电极”的一部分,反之亦然。再者,“端子”的词句包括多个“电极”、“布线”、“端子”等被形成为一体的情况等。因此,例如,“电极”可以为“布线”或“端子”的一部分,例如,“端子”可以为“布线”或“电极”的一部分。此外,“电极”、“布线”、“端子”等的词句有时置换为“区域”等的词句。
[0067]
在本说明书等中,根据情况或状态,可以互相调换“布线”、“信号线”及“电源线”等词句。例如,有时可以将“布线”变换为“信号线”。此外,例如有时可以将“布线”变换为“电源线”。反之亦然,有时可以将“信号线”或“电源线”变换为“布线”。有时可以将“电源线”变换为“信号线”。反之亦然,有时可以将“信号线”变换为“电源线”。另外,根据情况或状态,可以互相将施加到布线的“电位”变换为“信号”。反之亦然,有时可以将“信号”变换为“电位”。
[0068]
在本说明书等中,半导体的杂质是指构成半导体膜的主要成分之外的物质。例如,浓度低于0.1atomic%的元素是杂质。当包含杂质时,例如,有可能在半导体中形成dos(density of states:态密度),载流子迁移率有可能降低或结晶性有可能降低。在半导体是氧化物半导体时,作为改变半导体特性的杂质,例如有第1族元素、第2族元素、第13族元素、第14族元素、第15族元素或主要成分之外的过渡金属等,尤其是,例如有氢(也包含于水中)、锂、钠、硅、硼、磷、碳、氮等。具体而言,当半导体是硅层时,作为改变半导体特性的杂质,例如有氧、除氢之外的第1族元素、第2族元素、第13族元素、第15族元素等。
[0069]
在本说明书等中,开关是指具有通过变为导通状态(开启状态)或非导通状态(关闭状态)来控制是否使电流流过的功能的元件。或者,开关是指具有选择并切换电流路径的功能的元件。作为开关的一个例子,可以使用电开关或机械开关等。换而言之,开关只要可以控制电流,就不局限于特定的元件。
[0070]
电开关的例子包括晶体管(例如双极晶体管或mos晶体管)、二极管(例如pn二极管、pin二极管、肖特基二极管、金属
‑
绝缘体
‑
金属(mim)二极管、金属
‑
绝缘体
‑
半导体(mis)二极管或者二极管接法的晶体管)或者组合这些元件的逻辑电路等。当作为开关使用晶体管时,晶体管的“导通状态”是指晶体管的源电极与漏电极在电性上短路的状态。另外,晶体管的“非导通状态”是指晶体管的源电极与漏电极在电性上断开的状态。当将晶体管仅用作开关时,对晶体管的极性(导电型)没有特别的限制。
[0071]
作为机械开关的例子,可以举出利用了mems(微电子机械系统)技术的开关。该开关具有以机械方式可动的电极,并且通过移动该电极来控制导通和非导通而进行工作。
[0072]
在本说明书中,“平行”是指两条直线形成的角度为
‑
10
°
以上且10
°
以下的状态。因此,也包括该角度为
‑5°
以上且5
°
以下的状态。“大致平行”是指两条直线形成的角度为
‑
30
°
以上且30
°
以下的状态。另外,“垂直”是指两条直线形成的角度为80
°
以上且100
°
以下的状态。因此,也包括该角度为85
°
以上且95
°
以下的状态。“大致垂直”是指两条直线形成的角度为60
°
以上且120
°
以下的状态。
[0073]
发明效果
[0074]
通过本发明的一个方式可以提供一种构成分层人工神经网络的半导体装置等。另外,通过本发明的一个方式可以提供一种功耗低的半导体装置等。另外,通过本发明的一个方式可以提供一种不容易受到环境温度的影响的半导体装置等。另外,通过本发明的一个方式可以提供一种不容易受到晶体管的特性偏差的影响的半导体装置等。另外,通过本发明的一个方式可以提供一种不容易受到电流源的特性偏差的影响的半导体装置等。另外,通过本发明的一个方式可以提供一种新颖的半导体装置等。
[0075]
注意,本发明的一个方式的效果不局限于上述效果。上述列举的效果并不妨碍其他效果的存在。另外,其他效果是上面没有提到而将在下面的记载中进行说明的效果。注意,本发明的一个方式至少具有上述列举的效果及/或其他效果中的一个效果。此外,本发明的一个方式实现上述效果及其他效果中的至少一个效果。因此,本发明的一个方式根据情况有时不具有上述效果。
[0076]
附图简要说明
[0077]
图1a、图1b是说明分层神经网络的图。
[0078]
图2是示出半导体装置的结构例子的电路图。
[0079]
图3是示出半导体装置的结构例子的电路图。
[0080]
图4是示出半导体装置的结构例子的电路图。
[0081]
图5a、图5b、图5c、图5d、图5e、图5f是示出半导体装置所包括的电路的结构例子的电路图。
[0082]
图6a、图6b、图6c、图6d、图6e、图6f是示出半导体装置所包括的电路的结构例子的电路图。
[0083]
图7是示出半导体装置的结构例子的电路图。
[0084]
图8a、图8b、图8c是示出半导体装置所包括的电路的结构例子的电路图。
[0085]
图9a、图9b、图9c、图9d、图9e、图9f是示出半导体装置所包括的电路的结构例子的电路图。
[0086]
图10是示出半导体装置所包括的电路的结构例子的电路图。
[0087]
图11是示出半导体装置的结构例子的电路图。
[0088]
图12是示出半导体装置的结构例子的电路图。
[0089]
图13是示出半导体装置的结构例子的电路图。
[0090]
图14是示出半导体装置的结构例子的电路图。
[0091]
图15a、图15b、图15c是示出半导体装置所包括的电路的结构例子的电路图。
[0092]
图16a、图16b是示出半导体装置所包括的电路的结构例子的电路图。
[0093]
图17a、图17b、图17c是示出半导体装置所包括的电路的结构例子的电路图。
[0094]
图18a、图18b、图18c是说明半导体装置的工作例子的时序图。
[0095]
图19a、图19b、图19c是说明半导体装置的工作例子的时序图。
[0096]
图20a、图20b、图20c是说明半导体装置的工作例子的时序图。
[0097]
图21a、图21b是示出半导体装置所包括的电路的结构例子的电路图。
[0098]
图22a、图22b是示出半导体装置所包括的电路的结构例子的电路图。
[0099]
图23a、图23b是示出半导体装置所包括的电路的结构例子的电路图。
[0100]
图24是示出半导体装置所包括的电路的结构例子的电路图。
[0101]
图25是示出半导体装置所包括的电路的结构例子的电路图。
[0102]
图26是示出半导体装置所包括的电路的结构例子的电路图。
[0103]
图27是示出半导体装置所包括的电路的结构例子的电路图。
[0104]
图28是示出半导体装置所包括的电路的结构例子的电路图。
[0105]
图29是示出半导体装置所包括的电路的结构例子的电路图。
[0106]
图30a、图30b是示出半导体装置所包括的电路的结构例子的电路图。
[0107]
图31是示出半导体装置所包括的电路的结构例子的电路图。
[0108]
图32是示出半导体装置所包括的电路的结构例子的电路图。
[0109]
图33是示出半导体装置所包括的电路的结构例子的电路图。
[0110]
图34是示出半导体装置所包括的电路的结构例子的电路图。
[0111]
图35是示出半导体装置所包括的电路的结构例子的电路图。
[0112]
图36是示出半导体装置所包括的电路的结构例子的电路图。
[0113]
图37是示出半导体装置所包括的电路的结构例子的电路图。
[0114]
图38是示出半导体装置所包括的电路的结构例子的电路图。
[0115]
图39是示出半导体装置所包括的电路的结构例子的电路图。
[0116]
图40是示出半导体装置所包括的电路的结构例子的电路图。
[0117]
图41a、图41b、图41c是示出半导体装置所包括的电路的结构例子的电路图。
[0118]
图42是示出半导体装置所包括的电路的结构例子的电路图。
[0119]
图43是示出半导体装置所包括的电路的结构例子的电路图。
[0120]
图44是示出半导体装置所包括的电路的结构例子的电路图。
[0121]
图45是示出半导体装置所包括的电路的结构例子的电路图。
[0122]
图46是示出半导体装置所包括的电路的结构例子的电路图。
[0123]
图47a、图47b是示出半导体装置所包括的电路的结构例子的电路图。
[0124]
图48a、图48b、图48c是说明半导体装置的工作例子的时序图。
[0125]
图49a、图49b、图49c是说明半导体装置的工作例子的时序图。
[0126]
图50是示出半导体装置所包括的电路的结构例子的电路图。
[0127]
图51是示出半导体装置所包括的电路的结构例子的电路图。
[0128]
图52是示出半导体装置所包括的电路的结构例子的电路图。
[0129]
图53是示出半导体装置所包括的电路的结构例子的电路图。
[0130]
图54a、图54b是示出半导体装置所包括的电路的结构例子的电路图。
[0131]
图55a、图55b、图55c是示出半导体装置所包括的电路的结构例子的电路图。
[0132]
图56a、图56b是示出半导体装置所包括的电路的结构例子的电路图。
[0133]
图57是示出半导体装置所包括的电路的结构例子的电路图。
[0134]
图58是示出半导体装置所包括的电路的结构例子的电路图。
[0135]
图59是示出半导体装置所包括的电路的结构例子的电路图。
[0136]
图60是示出半导体装置所包括的电路的结构例子的电路图。
[0137]
图61是说明半导体装置的结构的截面示意图。
[0138]
图62是说明半导体装置的结构的截面示意图。
[0139]
图63a、图63b、图63c是说明半导体装置的结构的截面示意图。
[0140]
图64a、图64b是说明晶体管的结构例子的截面示意图。
[0141]
图65是说明半导体装置的结构例子的截面示意图。
[0142]
图66a、图66b是说明晶体管的结构例子的截面示意图。
[0143]
图67是说明半导体装置的结构例子的截面示意图。
[0144]
图68a是示出电容的结构例子的俯视图,图68b、图68c是示出电容的结构例子的截面立体图。
[0145]
图69a是示出电容的结构例子的俯视图,图69b是示出电容的结构例子的截面图,图69c是示出电容的结构例子的截面立体图。
[0146]
图70a是示出半导体晶片的一个例子的立体图,图70b是示出芯片的一个例子的立体图,图70c、图70d是示出电子构件的一个例子的立体图。
[0147]
图71是示出电子设备的一个例子的立体图。
[0148]
图72a、图72b、图72c是示出电子设备的一个例子的立体图。
[0149]
实施发明的方式
[0150]
在人工神经网络(以下称为神经网络。)中,神经突触的结合强度可以通过对神经网络供应现有的信息改变。有时将这样的对神经网络提供现有的信息决定结合强度的处理称为“学习”。
[0151]
并且,通过对“学习”(决定了结合强度)过的神经网络提供某个信息,可以根据其结合强度输出新信息。有时将这样的在神经网络中根据被提供的信息和结合强度输出新信息的处理称为“推论”或“认知”。
[0152]
作为神经网络的模型,例如可以举出hopfield神经网络、分层神经网络等。尤其是,有时将具有多层结构的神经网络称为“深度神经网络”(dnn),将利用深度神经网络的机械学习称为“深度学习”。
[0153]
在本说明书等中,金属氧化物(metal oxide)是指广义上的金属的氧化物。金属氧化物被分类为氧化物绝缘体、氧化物导电体(包括透明氧化物导电体)和氧化物半导体(oxide semiconductor,也可以简称为os)等。例如,在将金属氧化物用于晶体管的活性层的情况下,有时将该金属氧化物称为氧化物半导体。换言之,在金属氧化物能够构成包括具有放大作用、整流作用及开关作用中的至少一个的晶体管的沟道形成区域时,该金属氧化物称为金属氧化物半导体(metal oxide semiconductor),简称为os。此外,也可以将os晶体管称为包含金属氧化物或氧化物半导体的晶体管。
[0154]
此外,在本说明书等中,有时将包含氮的金属氧化物也称为金属氧化物(metal oxide)。此外,也可以将包含氮的金属氧化物称为金属氧氮化物(metal oxynitride)。
[0155]
另外,在本说明书等中,各实施方式所示的结构可以与其他实施方式所示的结构适当地组合而构成本发明的一个方式。另外,当在一个实施方式中示出多个结构例子时,可以适当地组合这些结构例子。
[0156]
另外,可以将某一实施方式中说明的内容(或其一部分)应用/组合/替换成该实施方式中说明的其他内容(或其一部分)和另一个或多个其他实施方式中说明的内容(或其一部分)中的至少一个内容。
[0157]
注意,实施方式中说明的内容是指各实施方式中利用各种附图所说明的内容或者利用说明书所记载的文章而说明的内容。
[0158]
另外,通过将某一实施方式中示出的附图(或其一部分)与该附图的其他部分、该实施方式中示出的其他附图(或其一部分)和另一个或多个其他实施方式中示出的附图(或其一部分)中的至少一个附图组合,可以构成更多图。
[0159]
参照附图说明本说明书所记载的实施方式。注意,所属技术领域的普通技术人员可以很容易地理解一个事实,就是实施方式可以以多个不同形式来实施,其方式和详细内容可以在不脱离本发明的宗旨及其范围的条件下被变换为各种各样的形式。因此,本发明不应该被解释为仅限定在实施方式所记载的内容中。注意,在实施方式中的发明的结构中,有时在不同的附图中共同使用相同的附图标记来表示相同的部分或具有相同功能的部分,而省略反复说明。在立体图等的附图中,为了明确起见,有时省略部分构成要素的图示。
[0160]
另外,在本说明书等中,在多个要素使用同一符号并且需要区分它们时,有时对符号附加“_1”,“[n]”,“[m,n]”等用于识别的符号。
[0161]
在附图中,为便于清楚地说明,有时夸大表示大小、层的厚度或区域。因此,本发明并不局限于附图中的尺寸。此外,在附图中,示意性地示出理想的例子,因此本发明不局限于附图所示的形状或数值等。例如,可以包括因噪声或定时偏差等所引起的信号、电压或电流的不均匀等。
[0162]
在本说明书等中,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)。
[0163]
(实施方式1)
[0164]
在本实施方式中,说明作为本发明的一个方式的半导体装置,即进行神经网络的运算的运算电路。
[0165]
<分层神经网络>
[0166]
首先,说明分层神经网络。分层神经网络例如包括一个输入层、一个或多个中间(隐藏层)及一个输出层,由共三个以上的层构成。图1a所示的分层神经网络100是其一个例子,神经网络100包括第一层至第r层(在此,r可以为4以上的整数。)。尤其是,第一层相当于输入层,第r层相当于输出层,其他层相当于中间层。注意,在图1a中,作为中间层示出第(k
‑
1)层、第k层(在此,k是3以上且r
‑
1以下的整数。),而省略其他中间层。
[0167]
神经网络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以上的整数。)。
[0168]
另外,图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以下的整数。),而省略示出其他神经元。
[0169]
接着,说明从前一层的神经元向下一层的神经元的信号的传送以及向每个神经元输入或输出到每个神经元的信号。注意,在本说明书中,着眼于第k层的神经元n
j(k)
。
[0170]
图1b示出第k层的神经元n
j(k)
、输入到神经元n
j(k)
的信号以及从神经元n
j(k)
输出的信号。
[0171]
具体而言,第(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)层(未图示。)的各神经元输出。
[0172]
从前一层的神经元向后一层的神经元输入的信号的传送强度根据使它们连接的神经突触的结合强度(以下称为权系数。)决定。在神经网络100中,将从前一层的神经元输出的信号被乘以对应的权系数而输入到后一层的神经元。在i设定为1以上且m以下的整数且第(k
‑
1)层的神经元n
i(k
‑
1)
与第k层的神经元n
j(k)
之间的神经突触的权系数设定为w
i(k
‑
1)j(k)
时,输入到第k层的神经元n
j(k)
的信号可以以算式(1.1)表示。
[0173]
[算式1]
[0174][0175]
换言之,在从第(k
‑
1)层的神经元n
1(k
‑
1)
至神经元n
m(k
‑
1)
的每一个向第k层的神经元n
j(k)
传送信号时,作为该信号的z
1(k
‑
1)
至z
m(k
‑
1)
被乘以对应于各信号的权系数(w
1(k
‑
1)
j
(k)
至w
m(k
‑
1)j(k)
)。然后,对第k层的神经元n
j(k)
输入w
1(k
‑
1)j(k)
·
z
1(k
‑
1)
至w
m(k
‑
1)j(k)
·
z
m(k
‑
1)
。此时,对第k层的神经元n
j(k)
输入的信号的总和u
j(k)
成为算式(1.2)。
[0176]
[算式2]
[0177][0178]
也可以对权系数w
1(k
‑
1)j(k)
至w
m(k
‑
1)j(k)
及神经元的信号z
1(k
‑
1)
至z
m(k
‑
1)
的积和的结果作为偏差供应偏置。在偏置为b时,算式(1.2)可以改写为如下算式。
[0179]
[算式3]
[0180][0181]
神经元n
j(k)
根据u
j(k)
生成输出信号z
j(k)
。在此,以以下算式定义来自神经元n
j(k)
的输出信号z
j(k)
。
[0182]
[算式4]
[0183][0184]
函数f(u
j(k)
)是分层神经网络中的激活函数,可以使用阶梯函数、线性斜坡函数、sigmoid函数等。既可以在所有神经元中使用相同的激活函数,也可以在神经元中使用不同
的激活函数。此外,神经元的激活函数也可以在各层中相同或不同。
[0185]
各层的神经元所输出的信号、权系数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中的至少一个使用模拟值,可以提高运算的精度。
[0186]
神经网络100通过对第一层(输入层)输入输入信号,在从第一层(输入层)到最后层(输出层)的各层中,依次进行根据从前一层输入的信号使用算式(1.1)、算式(1.2)(或算式(1.3))、算式(1.4)生成输出信号而将该输出信号输出到后一层的工作。从最后层(输出层)输出的信号相当于神经网络100所计算的结果。
[0187]
<运算电路的结构例子>
[0188]
在此,说明在上述神经网络100中能够进行算式(1.2)(或算式(1.3))及算式(1.4)的运算的运算电路的一个例子。注意,在该运算电路中,作为一个例子,将神经网络100的神经突触电路的权系数设定为2值(
“‑
1”、“ 1”的组合或“0”、“ 1”的组合等)、3值(
“‑
1”、“0”、“1”的组合等)或者4值以上的多值(5值时,
“‑
2”、
“‑
1”、“0”、“1”、“2”的组合等),并且神经元的激活函数输出2值(
“‑
1”、“ 1”的组合或“0”、“ 1”的组合等)、3值(
“‑
1”、“0”、“1”的组合等)、4值以上的多值(4值时,“0”、“1”、“2”、“3”的组合等)。另外,在本说明书等中,有时将权系数和从前一层的神经元向后一层的神经元输入的信号的值(有时称为运算值)中的一方称为第一数据而另一方称为第二数据。注意,神经网络100的突触电路的权系数或运算值不局限于数字值,其中至少一个也可以使用模拟值。
[0189]
例如,图2所示的运算电路110是包括阵列部alp、电路ild、电路wld、电路xld、电路afp的半导体装置。运算电路110是对输入到图1a及图1b中的第k层的神经元n
1(k)
至神经元n
n(k)
的信号z
1(k
‑
1)
至z
m(k
‑
1)
进行处理而生成从神经元n
1(k)
至神经元n
n(k)
的每一个输出的信号z
1(k)
至z
n(k)
的电路。
[0190]
另外,运算电路110整体或一部分可以用于神经网络、ai以外的用途等。例如,当在图像处理用计算、科学计算等中进行积和运算处理或矩阵运算处理时,也可以使用运算电路110整体或一部分进行处理。换言之,运算电路110整体或一部分除了ai用计算以外还可以用于一般的计算。
[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>>
[0193]
阵列部alp例如包括m
×
n个电路mp。电路mp例如在阵列部alp内配置为m行n列的矩阵状。在图2中,将位于i行j列(在此,i是1以上且m以下的整数,j是1以上且n以下的整数。)的电路mp表示为电路mp[i,j]。注意,在图2中,只示出电路mp[1,1]、电路mp[m,1]、电路mp
[i,j]、电路mp[1,n]、电路mp[m,n],而省略示出其他电路mp。
[0194]
电路mp[i,j]例如与布线il[j]、布线ilb[j]、布线wls[i]、布线xls[i]、布线ol[j]及布线olb[j]电连接。
[0195]
电路mp[i,j]例如具有保持神经元n
i(k
‑
1)
和神经元n
j(k)
之间的权系数(有时称为第一数据和第二数据中的一方。在此称为第一数据)的功能。具体而言,电路mp[i,j]保持对应于从布线il[j]及布线ilb[j]输入的第一数据(权系数)的数据(例如,电位、电阻值、电流值等)。另外,电路mp[i,j]具有将从神经元n
i(k
‑
1)
输出的信号z
i(k
‑
1)
(有时称为第一数据和第二数据中的另一方。在此称为第二数据)与第一数据之积输出的功能。具体而言,电路mp[i,j]通过从布线xls[i]输入第二数据z
i(k
‑
1)
,对应于第一数据与第二数据之积的数据(例如,电流、电压等)或者与第一数据和第二数据之积有关的数据(例如,电流、电压等)电流输出到布线ol[j]及布线olb[j]。注意,示出不配置有布线il[j]及布线ilb[j]的例子,但是本发明的一个方式不局限于此,也可以只配置有布线il[j]和布线ilb[j]中的任何一个。
[0196]
<<电路ild>>
[0197]
电路ild例如具有通过布线il[1]至布线il[n]及布线ilb[1]至布线ilb[n]对电路mp[1,1]至电路mp[m,n]的每一个输入对应于作为权系数的第一数据w
1(k
‑
1)1(k)
至w
m(k
‑
1)n(k)
的数据(例如,电位、电阻值、电流值等)的功能。具体而言,电路ild由布线il[j]、布线ilb[j]对电路mp[i,j]供应对应于作为权系数的第一数据w
i(k
‑
1)j(k)
的数据(例如,电位、电阻值或电流值等)。
[0198]
<<电路xld>>
[0199]
电路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]的例子,但是本发明的一个方式不局限于此。例如,在图2所示的运算电路110中,也可以配置多个布线xls[i]。作为具体例子,在图3中示出将与运算电路110的电路mp[i,j]电连接的布线xls[i]替换为布线x1l、布线xl2的两个的结构的运算电路120。注意,示出配置有布线xls[i]的情况的例子,但是本发明的一个方式不局限于此。除了布线xls[i]以外例如也可以另行配置传送对布线xls[i]输入的信号的反转信号的布线。
[0200]
<<电路wld>>
[0201]
电路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]输入的信号的反转信号的布线。
[0202]
注意,虽然示出在图2的运算电路110中配置布线wls[i]的结构例子,但是本发明的一个方式不局限于此。例如,也可以将布线wls[i]替换为多个布线。此外,例如,也可以将图3的运算电路120的布线x1l[i]兼用作对电路mp[i,1]至电路mp[i,n]写入信息的选择信
号线。具体而言,如图4所示的运算电路130那样,运算电路120的布线x1l[i]为布线wx1l[i],布线wx1l与电路wld及电路xld电连接。注意,在对布线wx1l[i]从电路wld供应使包括在电路mp[i,1]至电路mp[i,n]中的写入开关元件处于开启状态或关闭状态的信号时,电路xld优选具有使电路xld与布线wx1l之间处于非导通状态的功能。在通过布线wx1l[i]从电路wld对电路mp[i,1]至电路mp[i,n]供应相当于从神经元n
1(k
‑
1)
至神经元n
m(k)
输出的运算值的第二数据z
1(k
‑
1)
至z
m(k
‑
1)
的信号时,电路wld优选具有使电路wld与布线wx1l之间处于非导通状态的功能。
[0203]
<<电路afp>>
[0204]
电路afp例如包括电路actf[1]至电路actf[n]。电路actf[j]例如电连接于布线ol[j]和布线olb[j]。电路actf[j]例如生成对应于从布线ol[j]及布线olb[j]输入的各数据(例如,电位、电流值等)的信号。例如,对从布线ol[j]及布线olb[j]输入的各数据(例如,电位或电流值等)进行比较,来生成对应于其比较结果的信号。该信号相当于从神经元n
j(k)
输出的信号z
j(k)
。换言之,电路actf[1]至电路actf[n]例如被用作进行上述神经网络的激活函数的运算的电路。注意,本发明的一个方式不局限于此。例如,电路actf[1]至电路actf[n]也可以具有将模拟信号转换为数字信号的功能。或者,例如,电路actf[1]至电路actf[n]可以具有将模拟信号放大而输出的功能,即将输出阻抗转换的功能。注意,示出配置有电路actf的例子,但是本发明的一个方式不局限于此,也可以不配置有电路actf。或者,例如,电路actf[1]至电路actf[n]也可以具有将电流或电荷转换电压的功能。或者,例如,电路actf[1]至电路actf[n]也可以具有使布线ol[j]或布线olb[j]的电位初始化的功能。
[0205]
注意,在图2至图4的每一个所示的运算电路110、运算电路120、运算电路130中示出配置有电路actf的情况的例子,本发明的一个方式不局限于此。例如,也可以在电路afp中不配置电路actf。
[0206]
接着,说明电路actf[1]至电路actf[n]。电路actf[1]至电路actf[n]例如可以采用图5a所示的电路结构。图5a例如是根据从布线ol[j]、布线olb[j]输入的电流生成信号z
j(k)
的电路。具体而言,图5a示出输出将以2值表示的信号z
j(k)
输出的激活函数的运算电路的一个例子。
[0207]
在图5a中,电路actf[j]包括电阻re、电阻reb、比较器cmp。电阻re、电阻reb具有将电流转换为电压的功能。因此,只要是具有将电流转换为电压的功能的元件或电路,就不局限于电阻。布线ol[j]与电阻re的第一端子、比较器cmp的第一输入端子电连接,布线olb[j]与电阻reb的第一端子、比较器cmp的第二输入端子电连接。另外,电阻re的第二端子与布线val电连接,电阻reb的第二端子与布线val电连接。注意,电阻re的第二端子及电阻reb的第二端子也可以连接于同一布线。或者,也可以连接于电位相同的其他布线。
[0208]
电阻re、电阻reb的各电阻值优选彼此相同。例如,电阻re的电阻值和电阻reb的电阻值之差优选为10%以内,更优选为5%以内。注意,本发明的一个方式不局限于此。根据情况或状况,电阻re、电阻reb的各电阻值也可以设定为彼此不同的值。
[0209]
布线val例如被用作供应恒电压的布线。作为该恒电压,例如可以采用高电平电位的vdd、低电平电位的vss、接地电位(gnd)等。另外,该恒电压优选根据电路mp的结构适当地设定。另外,例如,对布线val也可以供应脉冲信号,而不供应恒电压。
[0210]
电阻re的第一端子与第二端子间的电压根据从布线ol[j]流过的电流决定。因此,
对比较器cmp的第一输入端子输入电阻re的电阻值及对应于该电流的电压。同样地,电阻reb的第一端子与第二端子间的电压根据从布线olb[j]流过的电流决定。因此,对比较器cmp的第二输入端子输入电阻reb的电阻值及对应于该电流的电压。
[0211]
比较器cmp例如具有比较对第一输入端子、第二输入端子的每一个输入的电压而根据其比较结果从比较器cmp的输出端子输出信号的功能。例如,比较器cmp可以在输入到第二输入端子的电压高于输入到第一输入端子的电压时将高电平电位从比较器cmp的输出端子输出,并且在输入到第一输入端子的电压高于输入到第二输入端子的电压时将低电平电位从比较器cmp的输出端子输出。换言之,从比较器cmp的输出端子输出的电位是高电平电位及低电平电位的两种,所以电路actf[j]所输出的输出信号z
j(k)
可以为2值。例如,从比较器cmp的输出端子输出的高电平电位、低电平电位的每一个可以作为输出信号z
j(k)
对应于“ 1”、
“‑
1”。另外,根据情况,从比较器cmp的输出端子输出的高电平电位、低电平电位的每一个也可以作为输出信号z
j(k)
对应于“ 1”、“0”。
[0212]
另外,在图5a的电路actf[j]中使用电阻re、电阻reb,但是只要具有将电流转换为电压的功能的元件或电路,就不局限于电阻。因此,图5a的电路actf[j]的电阻re、电阻reb可以替换为其他电路元件。例如,图5b所示的电路actf[j]是将图5a的电路actf[j]中的电阻re、电阻reb替换为电容ce、电容ceb的电路,可以进行与图5a的电路actf[j]大致相同工作。另外,电容ce、电容ceb的每一个的静电电容的值优选彼此相等。例如,电容ce、电容ceb的每一个的静电电容的值之差优选为10%以内,更优选为5%以内。注意,本发明的一个方式不局限于此。另外,也可以设置使在电容ce、电容ceb中积累的电荷初始化的电路。例如,也可以以电容ce并联连接的方式设置开关。换言之,也可以为:开关的第二端子连接于布线val,开关的第一端子连接于电容ce的第一端子、布线ol[j]及比较器cmp的第一输入端子。或者,也可以为:开关的第二端子连接于与布线val不同的布线,开关的第一端子连接于电容ce的第一端子、布线ol[j]及比较器cmp的第一输入端子。另外,图5c所示的电路actf[j]是将图5a的电路actf[j]中的电阻re、电阻reb替换为二极管元件de、二极管元件deb的电路,可以进行与图5a的电路actf[j]大致相同的工作。二极管元件de、二极管元件deb的方向(阳极与阴极的连接处)优选根据布线val的电位的高低适当地改变。
[0213]
另外,图5a至图5c的电路actf[j]中的比较器cmp例如可以替换为运算放大器op。作为图5d所示的电路actf[j]示出将图5a的电路actf[j]的比较器cmp替换为运算放大器op的电路图。
[0214]
另外,也可以在图5b的电路actf[j]设置开关s01a、开关s01b。由此,电路actf[j]可以在电容ce、电容ceb的每一个保持对应于从布线ol[j]、布线olb[j]输入的电流的电位。如图5e所示,作为电路的具体例子采用如下结构即可:开关s01a的第一端子电连接有布线ol[j]电连接,开关s01a的第二端子电连接有电容ce的第一端子及比较器cmp的第一输入端子,开关s01b的第一端子电连接有布线olb[j],开关s01b的第二端子电连接有电容ceb的第一端子及比较器cmp的第二输入端子。在图5e的电路actf[j]中,当对比较器cmp的第一输入端子和第二输入端子输入布线ol[j]、布线olb[j]的电位时,可以通过使开关s01a、开关s01b的每一个处于开启状态而输入电位。另外,通过之后使开关s01a和开关s01b都处于关闭状态,将输入到比较器cmp的第一输入端子、第二输入端子的每一个的电位保持在电容ce、电容ceb。作为开关s01a、开关s01b,例如,可以采用模拟开关、晶体管等电开关。另外,作
为开关s01a、开关s01b,例如,可以采用机械开关。注意,在作为开关s01a、开关s01b采用晶体管时,该晶体管可以使用os晶体管或在沟道形成区域包含硅的晶体管(以下,称为si晶体管。)。或者,通过控制使开关s01a和开关s01b都处于开启状态的期间,可以控制电容ce、电容ceb的电压值。例如,在流过电容ce、电容ceb的电流值大时,通过将使开关s01a和开关s01b都处于关闭状态的期间设定为短,可以防止电容ce、电容ceb的电压值过大。
[0215]
另外,图5a至图5c、图5e的电路actf[j]中的比较器cmp例如可以采用斩波比较器。图5f所示的比较器cmp是斩波比较器,比较器cmp包括开关s02a、开关s02b、开关s03、电容cc以及反相器电路inv3。与上述开关s01a、开关s01b同样,开关s02a、开关s02b、开关s03可以使用机械开关、os晶体管、si晶体管等晶体管。
[0216]
开关s02a的第一端子与端子vint电连接,开关s02b的第一端子与端子vreft电连接,开关s02a的第二端子与开关s02b的第二端子及电容cc的第一端子电连接。电容cc的第二端子与反相器电路inv3的输入端子、开关s03的第一端子电连接。端子voutt与反相器电路inv3的输出端子、开关s03的第二端子电连接。
[0217]
端子vint被用作用来对比较器cmp输入输入电位的端子,端子vreft被用作用来对比较器cmp输入参考电位的端子,端子voutt被用作用来从比较器cmp输出输出电位的端子。端子vint可以对应于图5a至图5c、图5e的比较器cmp的第一端子和第二端子中的一方,端子vreft可以对应于图5a至图5c、图5e的比较器cmp的第一端子和第二端子中的另一方。
[0218]
图5a至图5e的电路actf[j]是输出以2值表示的输出信号z
j(k)
的激活函数的运算电路,但是电路actf[j]也可以采用将输出信号z
j(k)
为3值以上或模拟值而输出的结构。
[0219]
图6a至图6f示出根据从布线ol[j]、布线olb[j]输入的电流生成信号z
j(k)
的电路,并且示出输出以3值表示的输出信号z
j(k)
的激活函数运算电路的一个例子。
[0220]
图6a所示的电路actf[j]包括电阻re、电阻reb、比较器cmpa、比较器cmpb。布线ol[j]与电阻re的第一端子、比较器cmpa的第一输入端子电连接,布线olb[j]与电阻reb的第一端子、比较器cmpb的第一输入端子电连接。另外,比较器cmpa的第二输入端子及比较器cmpb的第二输入端子与布线vrefl电连接。再者,电阻re的第二端子与布线val电连接,电阻reb的第二端子与布线val电连接。
[0221]
布线vrefl被用作供应恒电压v
ref
的电压线,v
ref
例如优选为gnd以上且vdd以下。另外,根据情况,v
ref
也可以为小于gnd的电位或高于vdd的电位。v
ref
视为比较器cmpa、比较器cmpb中的参考电位(比较用电位)。
[0222]
电阻re的第一端子与第二端子间的电压根据从布线ol[j]流过的电流决定。因此,对比较器cmpa的第一输入端子输入电阻re的电阻值及对应于该电流的电压。同样地,电阻reb的第一端子与第二端子间的电压根据从布线olb[j]流过的电流决定。因此,对比较器cmpb的第一输入端子输入电阻reb的电阻值及对应于该电流的电压。
[0223]
比较器cmpa比较对第一输入端子、第二输入端子的每一个输入的电压而根据其比较结果从比较器cmpa的输出端子输出信号。例如,比较器cmpa可以在输入到第二输入端子的电压(v
ref
)高于输入到第一输入端子的电压时将高电平电位从比较器cmpa的输出端子输出,并且在输入到第一输入端子的电压高于输入到第二输入端子的电压(v
ref
)时将低电平电位从比较器cmpa的输出端子输出。
[0224]
与比较器cmpa同样,比较器cmpb比较对第一输入端子、第二输入端子的每一个输
入的电压而根据其比较结果从比较器cmpb的输出端子输出信号。例如,比较器cmpb可以在输入到第二输入端子的电压(v
ref
)高于输入到第一输入端子的电压时将高电平电位从比较器cmpb的输出端子输出,并且在输入到第一输入端子的电压高于输入到第二输入端子的电压(v
ref
)时将低电平电位从比较器cmpb的输出端子输出。
[0225]
此时,根据从比较器cmpa、比较器cmpb的每一个的输出端子输出的电位表示3值的输出信号z
j(k)
。例如,在从比较器cmpa的输出端子输出高电平电位且从比较器cmpb的输出端子输出低电平电位时,输出信号z
j(k)
可以为“ 1”,在从比较器cmpa的输出端子输出低电平电位且从比较器cmpb的输出端子输出高电平电位时,输出信号z
j(k)
可以为
“‑
1”,在从比较器cmpa的输出端子输出低电平电位且从比较器cmpb的输出端子输出低电平电位时,输出信号z
j(k)
可以为“ 0”。
[0226]
另外,电路actf[j]不局限于图6a所示的电路结构,可以根据情况改变。例如,当在图6a的电路actf[j]中要将比较器cmpa和比较器cmpb的两个输出结果组合为一个信号时,在电路actf[j]设置转换电路trf即可。图6b的电路actf[j]是在图6a电路actf[j]中设置转换电路trf的结构例子,比较器cmpa、比较器cmpb的各输出端子与转换电路trf的输入端子电连接。作为转换电路trf的具体例子,可以举出数字模拟转换电路(在此情况下,信号z
j(k)
为模拟值。)等。
[0227]
另外,例如,在图6a中,也可以将电连接于比较器cmpa、比较器cmpb的每一个的第二输入端子的布线vrefl替换为布线vref1l和布线vref2l的两个布线。图6c的电路actf[j]具有图6a的电路actf[j]中的比较器cmpa的第二端子电连接于布线vref1l而不电连接于布线vrefl,比较器cmpb的第二端子电连接于布线vref2l而不电连接于布线vrefl的结构。通过将输入到布线vref1l、布线vref2l的电位彼此不同的值,可以分别设定比较器cmpa、比较器cmpb中的参考电位。
[0228]
另外,例如,作为图6a至图6c的电路actf[j]以外的结构,也可以采用放大电路或阻抗变换器电路等。例如,可以将图6d所示的电路actf[j]用于图2的运算电路110的电路afp。图6d的电路actf[j]包括电阻re、电阻reb、运算放大器opa、运算放大器opb,被用作放大电路。
[0229]
布线ol[j]与电阻re的第一端子、运算放大器opa的非反相输入端子电连接,布线olb[j]与电阻reb的第一端子、运算放大器opb的非反相输入端子电连接。另外,运算放大器opa的非反相输入端子与运算放大器opa的输出端子电连接,运算放大器opb的反相输入端子与运算放大器opb的输出端子电连接。再者,电阻re的第二端子与布线val电连接,电阻reb的第二端子与布线val电连接。
[0230]
换言之,图6d的电路actf[j]中的运算放大器opa、运算放大器opb具有电压跟随的连接结构。通过具有上述结构,从运算放大器opa的输出端子输出的电位与输入到运算放大器opa的非反相输入端子的电位大致相同,从运算放大器opb的输出端子输出的电位与输入到运算放大器opb的非反相输入端子的电位大致相同。在此情况下,输出信号z
j(k)
作为两个模拟值从电路actf[j]输出。注意,运算放大器opa的输出端子及运算放大器opb的输出端子也可以分别连接于比较器cmp的输入端子。并且,来自比较器cmp的输出也可以为输出信号z
j(k)
。
[0231]
另外,例如,作为图6a至图6d的电路actf[j]以外的结构,也可以采用积分电路、电
流电压转换电路等。再者,也可以使用运算放大器而构成积分电路、电流电压转换电路。例如,可以将图6e所示的电路actf[j]用于图2的运算电路110的电路afp。图6e的电路actf[j]包括运算放大器opa、运算放大器opb、负载lea、负载leb。
[0232]
布线ol[j]与运算放大器opa的第一输入端子(例如,反相输入端子)及负载lea的第一端子电连接,布线olb[j]与运算放大器opb的第一输入端子(例如,反相输入端子)及负载leb的第一端子电连接。另外,运算放大器opa的第二输入端子(例如,非反相输入端子)与布线vref1l电连接,运算放大器opb的第二输入端子(例如,非反相输入端子)与布线vref2l电连接。负载lea的第二端子与运算放大器opa的输出端子电连接,负载lea的第二端子与运算放大器opb的输出端子电连接。
[0233]
另外,在此,布线vref1l、布线vref2l被用作供应彼此相同的电压或不同电压的布线。因此,有时布线vref1l、布线vref2l可以组合为一个布线。
[0234]
在图6e的电路actf[j]中,作为负载lea、负载leb例如可以使用电阻、电容。尤其是,通过作为负载lea、负载leb使用电容,运算放大器opa和负载lea及运算放大器opb和负载leb都被用作积分电路。换言之,根据流过布线ol[j]或布线olb[j]的电流量,电荷积累在各电容(负载lea、负载leb)。换言之,使用积分电路将从布线ol[j]、布线olb[j]流过的电流的积分的电流量转换为电压并将其输出作为信号z
j(k)
。注意,运算放大器opa的输出端子及运算放大器opb的输出端子也可以分别连接于比较器cmp的输入端子。并且,来自比较器cmp的输出为输出信号z
j(k)
。另外,也可以设置使积累在负载lea及负载leb的电容的电荷初始化的电路。例如,也可以以负载lea(电容)并联连接的方式设置开关。换言之,也可以为:开关的第二端子连接于运算放大器opa的输出端子,开关的第一端子连接于布线ol[j]及运算放大器opa的第一输入端子(例如,反相输入端子)。
[0235]
另外,在图6e的电路actf[j]中,在要将从布线ol[j]、布线olb[j]流过的电流转换为电压而输出时,作为负载lea、负载leb除了电容以外还可以使用电阻。
[0236]
另外,例如,作为图6a至图6e的电路actf[j]以外的结构,可以将图6f所示的电路actf[j]应用于图2的运算电路110的电路afp。图4f的电路actf[j]包括电阻re、电阻reb、模拟数字转换电路adca、模拟数字转换电路adcb。
[0237]
布线ol[j]与模拟数字转换电路adca的输入端子及电阻re的第一端子电连接,布线olb[j]与模拟数字转换电路adcb的输入端子及电阻reb的第一端子电连接。电阻re的第二端子与布线val电连接,电阻reb的第二端子与布线val电连接。
[0238]
在图6f的电路actf[j]中,根据从布线ol[j]、布线olb[j]流过的电流决定电阻re、电阻reb的各第一端子的电位。然后,电路actf[j]由模拟数字转换电路adca、模拟数字转换电路adcb将模拟值的该电位转换为2值或3值以上(例如,256值等)的数字值而作为信号z
j(k)
输出的功能。
[0239]
与图5b、图5c同样,图6a至图6d、图6f所示的电阻re、电阻reb可以替换为电容ce、电容ceb或二极管元件de、二极管元件deb。尤其是,在将图6a至图6d、图6f所示的电阻re、电阻reb替换为电容ce、电容ceb时,通过与图5e同样地还设置开关s01a、开关s01b,可以保持从布线ol[j]、布线olb[j]输入的电位。
[0240]
注意,在图2至图4的每一个所示的运算电路110、运算电路120、运算电路130中示出配置布线il、布线ilb、布线ol、布线olb的情况的例子,本发明的一个方式不局限于此。例
如,在运算电路110、运算电路120、运算电路130的每一个中,也可以将布线il与布线ol组合为一个布线且将布线ilb与布线olb组合为一个布线。图7示出其具体结构。图7所示的运算电路140包括切换电路tw[1]至切换电路tw[n]。
[0241]
切换电路tw[1]至切换电路tw[n]的每一个包括端子tsa、端子tsab、端子tsb、端子tsbb、端子tsc、端子tscb。
[0242]
端子tsa与布线ol[j]电连接,端子tsbb与电路ild电连接,端子tsc与电路actf[i]电连接。端子tsab与布线olb[j]电连接,端子tsbb与电路ild电连接,端子tscb与电路actf[j]电连接。
[0243]
切换电路tw[j]具有使端子tsa与端子tsb和端子tsc中的一个之间处于导通状态,使端子tsa与端子tsb和端子tsc中的另一个之间处于非导通状态的功能。此外,切换电路tw[j]具有使端子tsab与端子tsbb和端子tscb中的一个之间处于导通状态,使端子tsab与端子tsbb和端子tscb中的另一个之间处于非导通状态的功能。
[0244]
也就是说,在想要对电路mp[1,j]至电路mp[m,j]中的任一个输入对应于作为权系数的第一数据w
1(k
‑
1)1(k)
至w
m(k
‑
1)n(k)
的信息(例如,电位、电阻值、电流值等)时,在切换电路tw[j]中,在端子tsa与端子tsb之间处于导通状态,且在端子tsab与端子tsbb之间处于导通状态,由此可以从电路ild对布线ol[j]、布线olb[j]供应对应于第一数据w
1(k
‑
1)1(k)
至w
m(k
‑
1)n(k)
的信息(例如,电位、电阻值、电流值等)。
[0245]
在电路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)
。
[0246]
接着,对包括在运算电路140中的切换电路tw[j]及电路ild进行说明。在图8a中示出能够用于运算电路140的切换电路tw[j]及电路ild的结构例子。注意,在图8a中为了示出切换电路tw[j]及电路ild的电连接结构,也示出布线ol[j]、布线olb[j]、电路afp。
[0247]
切换电路tw[j]作为一个例子包括开关swi、开关swib、开关swo、开关swob、开关swl、开关swlb、开关swh、开关swhb。
[0248]
电路ild作为一个例子包括电流源电路isc。注意,本发明的一个方式不局限于此。例如,也可以配置电压源电路代替电流源电路isc。电流源电路isc具有在布线ol[j]及/或布线olb[j]中流过对应于输入到电路mp的权系数(第一数据)的电流的功能。注意,作为用于布线ol[j]的电路及用于布线olb[j]的电路,分别配置至少一个电流源电路isc。或者,如图8a所示,也可以对于布线ol[j]及布线olb[j]的一组布线包括至少一个电流源电路isc。
[0249]
电流源电路isc包括一个或多个恒流源,在图8a的一个例子中,作为多个恒流源包括恒流源电路isc1、恒流源电路isc2、恒流源电路isc3。此外,电流源电路isc作为一个例子为了选择多个恒流源包括多个开关,在图8a中作为多个开关包括开关swc1、开关swc2、开关swc3。注意,在电流源电路isc仅包括一个恒流源时,恒流源电路isc也可以不包括开关。或者,在恒流源电路isc1、恒流源电路isc2、恒流源电路isc3分别具有控制是否输出电流的功能时,也可以不设置开关swc1、开关swc2、开关swc3。
[0250]
在布线ol[j]、布线olb[j]中分别流过的电流如图8a所示优选在相同的电流源电路isc中生成。在布线ol[j]、布线olb[j]中分别流过的电流在不同的电流源电路中生成时,有时由于产生起因于晶体管的制造工序时等的该晶体管的特性偏差,因此在不同电流源电路中产生性能差异。另一方面,在使用同一电流源电路时,可以对布线ol[j]及布线olb[j]供应相同大小的电流,因此可以提高运算精度。
[0251]
注意,作为在图8a中说明的开关swi、开关swib、开关swo、开关swob、开关swl、开关swlb、开关swh、开关swhb、开关swc1、开关swc2、开关swc3,例如与开关s01a及开关s01b同样地可以使用模拟开关、晶体管等的电开关、机械开关等。
[0252]
在切换电路tw[j]的一个例子中,端子tsa与开关swi的第一端子、开关swo的第一端子、开关swl的第一端子、开关swh的第一端子电连接。端子tsab与开关swib的第一端子、开关swob的第一端子、开关swlb的第一端子、开关swhb的第一端子电连接。开关swi的第二端子与端子tsb1电连接。开关swib的第二端子与端子tsbb1电连接。开关swo的第二端子与端子tsc电连接。开关swob的第二端子与端子tscb电连接。开关swl的第二端子与端子tsb2电连接。开关swlb的第二端子与端子tsbb2电连接。开关swh的第二端子与端子tsb3电连接。开关swhb的第二端子与端子tsbb3电连接。
[0253]
在图8a中示出的端子tsb1、端子tsb2、端子tsb3相当于在图7中所示的端子tsb。此外,在图8a中示出的端子tsbb1、端子tsbb2、端子tsbb3相当于在图7中示出的端子tsbb。
[0254]
在包括在电路ild中的电流源电路isc中,端子tsb1与开关swc1的第一端子、开关swc2的第一端子、开关swc3的第一端子电连接。此外,端子tsbb1与开关swc1的第一端子、开关swc2的第一端子、开关swc3的第一端子电连接。开关swc1的第二端子与恒流源电路isc1的输出端子电连接,开关swc2的第二端子与恒流源电路isc2的输出端子电连接,开关swc3的第二端子与恒流源电路isc3的输出端子电连接。恒流源电路isc1的输入端子、恒流源电路isc2的输入端子、恒流源电路isc3的输入端子分别与布线vso电连接。
[0255]
注意,在图8a中,恒流源电路isc1、恒流源电路isc2、恒流源电路isc3的输出端子分别与开关的端子电连接,其输入端子与布线vso电连接,但是本发明的一个方式不局限于此。例如,恒流源电路isc1、恒流源电路isc2、恒流源电路isc3的输入端子也可以分别与开关的端子电连接且其输出端子与布线vso电连接。注意,在从电路mp输出电流之前,为了使布线ol[j]、布线olb[j]的电位初始化,也可以配置布线vcn2。布线vcn2通过开关swh与布线ol[j]连接。此外,布线vcn2通过开关swhb与布线olb[j]连接。可以对布线vcn2供应与布线vcn不同的电位。例如,在对布线vcn供应vss或接地电位时,对布线vcn2供应vdd等。由此,通过从电路mp输出的电流,可以改变布线ol[j]及布线olb[j]的电位。
[0256]
图8b及图8c示出恒流源电路isc1、恒流源电路isc2、恒流源电路isc3的具体结构例子。图8b所示的恒流源电路isc1(恒流源电路isc2、恒流源电路isc3)包括p沟道型晶体管,该晶体管的第一端子与布线vso电连接,该晶体管的第二端子与开关swc1(开关swc2、开关swc3)的第二端子电连接,该晶体管的栅极与布线vb电连接。此外,图8c所示的恒流源电路isc1(恒流源电路isc2、恒流源电路isc3)包括n沟道型晶体管,该晶体管的第一端子与布线vso电连接,该晶体管的第二端子与开关swc1(开关swc2、开关swc3)的第二端子电连接,该晶体管的栅极与布线vb电连接。在图8b及图8c的每一个的恒流源电路isc1(恒流源电路isc2、恒流源电路isc3)中,布线vb被用作对每个晶体管的栅极输入偏置电压的布线。注意,
也可以对布线vb供应脉冲信号。由此,可以控制是否从每个恒流源电路输出电流。此时,也可以不设置开关swc1、开关swc2、开关swc3。或者,也可以对布线vb供应模拟电压。由此,可以从恒流源电路供应模拟电流。
[0257]
布线vso被用作对恒流源电路isc1、恒流源电路isc2、恒流源电路isc3分别供应恒电压的布线。例如,在从电路ild通过切换电路tw[j]对布线ol或布线olb供应电流时,作为该恒电压,优选为比接地电位高的电位(例如,vdd等),更优选使用图8b所示的恒流源电路isc1(恒流源电路isc2、恒流源电路isc3)。此外,例如,在从电路ild通过切换电路tw[j]对布线ol或布线olb供应电流时,作为该恒电压,优选为比接地电位高且低于该高电平电位的电位、接地电位等,更优选使用图8c所示的恒流源电路isc1(恒流源电路isc2、恒流源电路isc3)。注意,在本说明书中,有时将从电路ild通过切换电路tw[j]流过布线ol或布线olb的电流记载为正电流。因此,有时将从布线ol或布线olb通过切换电路tw[j]流过电路ild的电流记载为负电流。
[0258]
在恒流源电路isc1流过的电流为i
ut
时,作为一个例子,恒流源电路isc2流过的电流优选为2i
ut
,恒流源电路isc3流过的电流优选为4i
ut
。也就是说,在电流源电路isc包括p个(p为1以上的整数)的恒流源时,第p(p为1以上且p以下的整数)的恒流源流过的电流优选为2
(p
‑
1)
×
i
ut
。如此,可以改变从电流源电路isc流过的电流的大小。
[0259]
例如,电流源电路isc的恒流源的个数为3个(p=3)。当想要在布线ol[j]中流过i
ut
的电流时,在开关swi处于开启状态且开关swib处于关闭状态下,开关swc1处于开启状态,开关swc2、开关swc3处于关闭状态即可。此外,当想要在布线ol[j]中流过5i
ut
的电流时,开关swc1、开关swc3处于开启状态,开关swc2处于关闭状态即可。也就是说,从电流源电路isc输出的电流可以为8值(“0”、“i
ut”、“2i
ut”、“3i
ut”、“4i
ut”、“5i
ut”、“6i
ut”、“7i
ut”)中的任一个。注意,在想要输出大于8值的值的电流时,恒流源的个数为4个以上即可。此外,同样地,通过开关swi处于关闭状态,且开关swib处于开启状态,可以在布线olb[j]中流过8值中的任一个的电流。注意,在从电流源电路isc没有输出电流时,也可以使电流源电路isc的开关swc1至开关swc3处于关闭状态且使切换电路tw的开关swi、开关swib处于关闭状态。通过如此配置多个恒流源,可以容易实现da转换。注意,也可以仅配置1个电流源电路,以改变模拟输出的电流值的方式使该电流源电路工作。
[0260]
此外,在电路ild中,端子tsb2与布线vcn电连接,端子tsbb2与布线vcn电连接。
[0261]
布线vcn被用作对布线ol[j]及/或布线olb[j]供应恒电压的布线。例如,在从电路ild通过切换电路tw[j]对布线ol或布线olb供应电流(正电流)时,布线vcn所供应的恒电压优选为低电平电位(例如vss等)。例如,在从布线ol或布线olb通过切换电路tw[j]对电路ild供应电流(负电流)时,布线vcn所供应的恒电位优选为高电平电位。注意,如后面说明的图42至图45等所示,在电容c3与晶体管m1等的源极端子连接,该源极端子不与电源线等连接的情况下,在从电路ild通过切换电路tw[j]对布线ol或布线olb供应正电流时,布线vcn所供应的恒电压优选为高电平电位(例如vdd等)。也就是说,在从布线vcn供应恒电压时,优选使电容c3的两端的电位差近于零。换言之,优选从电路mc将电流不输出的电位供应给布线vcn。
[0262]
此外,在电路ild中,端子tsb3与布线vcn2电连接,端子tsbb3与布线vcn2电连接。
[0263]
布线vcn2被用作对布线ol[j]及/或布线olb[j]供应恒电压的布线。例如,在从电
路ild通过切换电路tw[j]对布线ol或布线olb供应电流(正电流)时,布线vcn所供应的恒电压优选为高电平电位(例如vdd等)。另外,例如,在从布线ol或布线olb通过切换电路tw[j]对电路ild供应电流(负电流)时,布线vcn所供应的恒电位优选为低电平电位。
[0264]
切换电路tw[j]通过将开关swi、开关swib、开关swo、开关swob、开关swl、开关swlb、开关swh、开关swhb的每一个切换为开启状态或关闭状态,可以改变与布线ol[j]及布线olb[j]成为导通状态的电路。
[0265]
这里,对输入到电路mp的权系数进行说明。
[0266]
在对电路mp输入正权系数时,对布线ol[j]输入对应于该权系数的电流,对布线olb[j]输入布线vcn所供应的恒电位即可。作为一个例子,使电流源电路isc与布线ol[j]之间处于导通状态,使电流源电路isc与布线olb[j]之间处于非导通状态,使电路afp与布线ol[j]之间处于非导通状态,使电路afp与布线olb[j]之间处于非导通状态,使布线vcn与布线ol[j]之间处于非导通状态,使布线vcn与布线olb[j]之间处于导通状态,使布线vcn2与布线ol[j]之间处于非导通状态,使布线vcn2与布线olb[j]之间处于非导通状态即可。换言之,在切换电路tw[j]中,使开关swi、swlb处于开启状态,使开关swib、开关swo、开关swob、开关swl、开关swh、开关swhb分别处于关闭状态即可。由此,通过使电流源电路isc与布线ol[j]之间处于导通状态,可以从电流源电路isc通过布线ol[j]向电路mp流过电流。另外,在电流源电路isc的恒流源的个数为p个时,该电流为2
p
‑
1值的任一个(不包括零电流)。由于对电路mp输入的正权系数根据该电流决定,因此该权系数可以为2
p
‑
1值的任一个。此外,由于在布线vcn与布线olb[j]之间成为导通状态,所以对布线olb[j]从布线vcn输入恒电压。
[0267]
在对电路mp输入负权系数时,对布线olb[j]输入对应于该权系数的电流,对布线ol[j]输入布线vcn所供应的恒电位即可。作为一个例子,使电流源电路isc与布线ol[j]之间处于非导通状态,使电流源电路isc与布线olb[j]之间处于导通状态,使电路afp与布线ol[j]之间处于非导通状态,使电路afp与布线olb[j]之间处于非导通状态,使布线vcn与布线ol[j]之间处于导通状态,使布线vcn与布线olb[j]之间处于非导通状态,使布线vcn2与布线ol[j]之间处于非导通状态,使布线vcn2与布线olb[j]之间处于非导通状态即可。换言之,在切换电路tw[j]中,使开关swib、开关swl处于开启状态,使开关swi、开关swo、开关swob、开关swlb、开关swh、开关swhb分别处于关闭状态即可。由此,通过使电流源电路isc与布线olb[j]之间处于导通状态,可以从电流源电路isc通过布线olb[j]向电路mp流过电流。此外,在电流源电路isc的恒流源的个数为p个时,该电流为2
p
‑
1值的任一个(不包括零电流)。由于对电路mp输入的负权系数根据该电流决定,所以该权系数可以为2
p
‑
1值的任一个。此外,由于在布线vcn与布线ol[j]之间成为导通状态,所以对布线ol[j]从布线vcn输入恒电压。
[0268]
在想要对电路mp输入0的权系数时,对布线ol[j]、布线olb[j]分别输入布线vcn所供应的恒电位。作为一个例子,使电流源电路isc与布线ol[j]之间处于非导通状态,使电流源电路isc与布线olb[j]之间处于非导通状态,使电路afp与布线ol[j]之间处于非导通状态,使电路afp与布线olb[j]之间处于非导通状态,使布线vcn与布线ol[j]之间处于导通状态,使布线vcn与布线olb[j]之间处于导通状态,使布线vcn2与布线ol[j]之间处于非导通状态,使布线vcn2与布线olb[j]之间处于非导通状态即可。换言之,在切换电路tw[j]中,使开关swl、开关swlb处于开启状态,使开关swi、开关swib、开关swo、开关swob分别处于关闭
状态即可。由此,由于使布线vcn与布线ol[j]之间处于导通状态,使布线vcn与布线olb[j]之间处于导通状态,所以对布线ol[j]、olb[j]从布线vcn输入恒电压。
[0269]
也就是说,通过电流源电路isc的恒流源的个数为p个,能够对电路mp输入的权系数的个数(正权系数、负权系数、0的权系数的总和)为2
p 1
‑
1个。
[0270]
接着,对从电路mp对电路afp供应信息(例如,电位、电流等)的情况进行说明。
[0271]
在从电路mp对电路afp供应信息(例如,电位、电流等)之前,优选将布线ol[j]、布线olb[j]设定为规定电位。例如,在从电路afp通过布线ol或布线olb对电路mp流过正电流时,作为规定电位采用高电平电位即可。此外,例如,在从电路mp通过布线ol或布线olb对电路afp流过正电流时,作为规定电位采用低电平电位即可。因此,在从电路mp对电路afp供应信息(例如,电位、电流等)之前,作为一个例子,使电流源电路isc与布线ol[j]之间处于非导通状态,使电流源电路isc与布线olb[j]之间处于非导通状态,使电路afp与布线ol[j]之间处于非导通状态,使电路afp与布线olb[j]之间处于非导通状态,使布线vcn与布线ol[j]之间处于非导通状态,使布线vcn与布线olb[j]之间处于非导通状态,使布线vcn2与布线ol[j]之间处于导通状态,使布线vcn2与布线olb[j]之间处于导通状态即可。换言之,在切换电路tw[j]中,使开关swh、开关swhb处于开启状态,使开关swi、开关swib、开关swo、开关swob、开关swl、开关swlb分别处于关闭状态即可。由此,由于使布线ol[j]与布线vcn2之间处于导通状态,使布线olb[j]与布线vcn2之间处于导通状态,所以对布线ol、布线olb从布线vcn2输入恒电压。
[0272]
在从电路mp[i,j]对电路afp供应信息(例如,电位、电流等)时,作为一个例子,使电流源电路isc与布线ol[j]之间处于非导通状态,使电流源电路isc与布线olb[j]之间处于非导通状态,使电路afp与布线ol[j]之间处于导通状态,使电路afp与布线olb[j]之间处于导通状态,使布线vcn与布线ol[j]之间处于非导通状态,使布线vcn与布线olb[j]之间处于非导通状态,使布线vcn2与布线ol[j]之间处于非导通状态,使布线vcn2与布线olb[j]之间处于非导通状态即可。换言之,在切换电路tw[j]中,使开关swo、开关swob处于开启状态,使开关swi、开关swib、开关swl、开关swlb、开关swh、开关swhb分别处于关闭状态即可。由此,由于在电路afp与电路mp[i,j]之间成为导通状态,所以可以从电路mp[i,j]对电路afp供应信息(例如,电位、电流等)。
[0273]
<<电路mp>>
[0274]
接着,说明运算电路110、运算电路120、运算电路130、运算电路140中的电路mp[i,j]的结构例子。
[0275]
图9a示出可以应用于运算电路140的电路mp[i,j]的结构例子,电路mp[i,j]例如包括电路mc及电路mcr。电路mc及电路mcr是在电路mp中计算权系数与神经元的输入信号(运算值)之积的电路。电路mc可以采用与电路mcr相同的结构或与电路mcr不同的结构。由此,为了与电路mc区分,对电路mcr的符号附上“r”。另外,对后面说明的电路mcr中的电路元件的符号也附上“r”。
[0276]
例如,电路mc包括保持部hc,电路mcr包括保持部hcr。保持部hc及保持部hcr分别具有保持数据(例如,电位、电阻值、电流值等)的功能。另外,电路mp[i,j]所设定的第一数据w
i(k
‑
1)j(k)
根据保持部hc、保持部hcr的每一个保持的数据(例如,电位、电阻值、电流值等)决定。由此,保持部hc及保持部hcr的每一个与供应对应于第一数据w
i(k
‑
1)j(k)
的各数据(例
如,电位、电阻值、电流值等)的布线ol[j]及布线olb[j]电连接。
[0277]
在图9a中,电路mp[i,j]与布线ve[j]、布线ver[j]电连接。布线ve[j]、布线ver[j]被用作恒电压的布线。此外,布线ve[j]被用作通过电路mc排出来自布线ol的电流的布线。此外,布线ver[j]被用作通过电路mcr排出来自布线olb的电流的布线。
[0278]
图9a所示的布线wl[i]相当于图7中的布线wl[i]。布线wl[i]与保持部hc及保持部hcr的每一个电连接。在对电路mp[i,j]中的保持部hc及保持部hcr写入对应于第一数据w
i(k
‑
1)j(k)
的数据(例如,电位、电阻值、电流值等)时,通过对布线wl[i]供应指定电位,使布线ol[j]与保持部hc之间处于导通状态且使布线olb[j]与保持部hcr之间处于导通状态。通过对布线ol[j]、olb[j]的每一个供应对应于第一数据w
i(k
‑
1)j(k)
的电位等,可以对保持部hc及保持部hcr的每一个输入该电位等。然后,对布线wl[i]供应指定电位而使布线ol[j]与保持部hc之间处于非导通状态且使布线olb[j]与保持部hcr之间处于非导通状态。其结果,保持部hc及保持部hcr的每一个保持对应于第一数据w
i(k
‑
1)j(k)
的各电流等。
[0279]
例如,考虑第一数据w
i(k
‑
1)j(k)
为
“‑
1”、“0”、“1”的3值中的任一个的情况。在第一数据w
i(k
‑
1)j(k)
为“1”时,作为一个例子,以从布线ol[j]通过电路mc对布线ve[j]流过对应于“1”的电流的方式在保持部hc保持规定电位,且以不从布线olb[j]通过电路mcr向布线ver[j]流过电流的方式在保持部hcr保持电位v0。另外,在第一数据w
i(k
‑
1)j(k)
为
“‑
1”时,作为一个例子,以不从布线ol[j]通过电路mc向布线ve[j]流过电流的方式,在保持部hc保持电位v0,且以从布线olb[j]通过电路mcr对布线ver[j]流过对应于
“‑
1”的电流的方式,在保持部hcr保持规定电位。并且,在第一数据w
i(k
‑
1)j(k)
为“0”时,作为一个例子,以不从布线ol[j]通过电路mc向布线ve[j]流过电流的方式,在保持部hc保持电位v0,且以不从布线olb[j]通过电路mc向布线ver[j]流过电流的方式,在保持部hcr保持电位v0。注意,在图8a至图8c的说明中,电位v0可以为布线vcn所供应的电位。
[0280]
另外,作为其他一个例子,考虑第一数据w
i(k
‑
1)j(k)
为模拟值,具体而言,“负模拟值”、“0”或“正模拟值”的情况。在第一数据w
i(k
‑
1)j(k)
为“正模拟值”时,作为一个例子,以从布线ol[j]通过电路mc对布线ve[j]流过对应于“正模拟值”的模拟电流的方式,在保持部hc保持规定电位,且以不从布线olb[j]通过电路mcr对布线ver[j]供应电流的方式,在保持部hcr保持电位v0。另外,在第一数据w
i(k
‑
1)j(k)
为“负模拟值”时,作为一个例子,以不从布线ol[j]通过电路mc对布线ve[j]供应电流的方式,在保持部hc保持电位v0,且以从布线olb[j]通过电路mcr对布线ver[j]流过对应于“负模拟值”的模拟电流的方式,在保持部hcr保持规定电位。并且,在第一数据w
i(k
‑
1)j(k)
为“0”时,作为一个例子,以不从布线ol[j]通过电路mc向布线ve[j]流过电流的方式,在保持部hc保持电位v0,且以不从布线olb[j]通过电路mc向布线ver[j]流过电流的方式,在保持部hcr保持电位v0。注意,与上述例子同样地,在图8a至图8c的说明中,电位v0可以为布线vcn所供应的电位。
[0281]
另外,例如,电路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流过具有第二电流值的电流。注意,第一电流值、第二电流值的每一个的大小根据第一数据w
i(k
‑
1)j(k)
的值决定。例如,第一电流值有时大于第二电流值或小于第二电流值。另外,例如,有时第一电流值和第二电流值中的一方为零电流,即为0。另外,有时具有第一电流值的电流流过的方向与具有第二电流值的电流流过的方向不同。
[0282]
尤其是,例如,在第一数据w
i(k
‑
1)j(k)
为
“‑
1”、“0”、“1”的3值中的任一个时,优选以第一电流值和第二电流值中的一方为0的方式构成电路mc、mcr。另外,第一数据w
i(k
‑
1)j(k)
为模拟值,例如,“负模拟值”、“0”或“正模拟值”时,第一电流值或第二电流值例如可以成为模拟值。
[0283]
在使从布线ol[j]或布线olb[j]通过电路mc对布线ve流过的电流与从布线ol[j]或布线olb[j]通过电路mcr对布线ver流过的电流相等时,由于起因于晶体管的制造工序等导致该晶体管的特性产生偏差,有时保持在电路mc中的电位不与保持在电路mcr中的电位相等。本发明的一个方式的半导体装置即使晶体管的特性有偏差,也可以使从布线ol[j]或布线olb[j]通过电路mc对布线ve流过的电流的量与从布线ol[j]或布线olb[j]通过电路mcr对布线ver流过的电流的量几乎相等。
[0284]
在本说明书等中,对应于保持在保持部hc及保持部hcr的信息(例如,电位、电阻值或电流值等)的电流或电压等可以为正电流或电压等,也可以为负电流或电压等,也可以为零电流或零电压等,也可以为混有正、负和零的电流或电压。换言之,例如,上述“具有将对应于保持部hc所保持的信息(例如,电位、电阻值或电流值等)的电流或电压等输出到布线ol[j]和布线olb[j]中的一方的功能,电路mcr具有将保持部hcr所保持的信息(例如,电位、电阻值或电流值等)的电流或电压等输出到布线ol[j]和布线olb[j]中的另一方的功能”的记载可以换为“具有将对应于保持部hc所保持的信息(例如,电位、电阻值或电流值等)的电流、电压等从布线ol[j]和布线olb[j]中的一方排出的功能,电路mcr具有将对应于保持部hcr所保持的信息(例如,电位、电阻值或电流值等)的电流或电压等从布线ol[j]和布线olb[j]中的另一方排出的功能”的记载。
[0285]
图9a所示的布线x1l[i]及布线x2l[i]相当于图7中的布线xls[i]。输入到电路mp[i,j]的第二数据z
i(k
‑
1)
例如根据布线x1l[i]及布线x2l[i]的每一个的电位或电流等决定。由此,对电路mc、mcr例如通过布线x1l[i]及布线x2l[i]输入对应于第二数据z
i(k
‑
1)
的各电位。
[0286]
电路mc与布线ol[j]、布线olb[j]电连接,电路mcr与布线ol[j]、布线olb[j]电连接。电路mc及电路mcr例如根据输入到布线x1l[i]及布线x2l[i]的电位或电流等对布线ol[j]及布线olb[j]输出对应于第一数据w
i(k
‑
1)j(k)
与第二数据z
i(k
‑
1)
之积的电流或电位等。具体而言,例如来自电路mc、mcr的电流被输出的布线根据布线x1l[i]及布线x2l[i]的电位决定。例如,电路mc及电路mcr具有如下电路结构:从电路mc输出的电流向布线ol[j]和布线olb[j]中的一方流过,从电路mcr输出的电流向布线ol[j]和布线olb[j]中的另一方流过。换言之,从电路mc、mcr输出的各电流不向同一布线流过,而向彼此不同的布线流过。注意,例如,有时电流从电路mc及电路mcr到布线ol[j]和布线olb[j]不流过。
[0287]
例如,考虑第二数据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]间处于非导通状态。
[0288]
以下示出将以上工作的情况总合的例子。在第一数据w
i(k
‑
1)j(k)
为“1”时,有时通过电路mc从布线ol[j]或布线olb[j]向布线ve[j]流过电流,不通过电路mcr从布线ol[j]或布线olb[j]向布线ver[j]流过电流。在第一数据w
i(k
‑
1)j(k)
为
“‑
1”时,不通过电路mc从布线ol[j]或布线olb[j]向布线ve[j]流过电流,有时通过电路mcr从布线ol[j]或布线olb[j]向布线ver[j]流过电流。另外,在第二数据z
i(k
‑
1)
为“1”时电路mc与布线ol[j]间及电路mcr与布线olb[j]间处于导通状态。在第二数据z
i(k
‑
1)
为
“‑
1”时,电路mc与布线olb[j]间及电路mcr与布线ol[j]间处于导通状态。如上所述,在第一数据w
i(k
‑
1)j(k)
与第二数据z
i(k
‑
1)
之积为正值时,通过电路mcr从布线ol[j]向布线ve[j]流过电流或者通过电路mcr从布线ol[j]向布线ver[j]流过电流。在第一数据w
i(k
‑
1)j(k)
与第二数据z
i(k
‑
1)
之积为负值时,通过电路mcr从布线ol[j]向布线ver[j]流过电流或通过电路mc从布线olb[j]向布线ve[j]流过电流。在第一数据w
i(k
‑
1)j(k)
与第二数据z
i(k
‑
1)
之积为零的值时,不从布线ol[j]或布线olb[j]向布线ve[j]流过电流,且不从布线ol[j]或布线olb[j]向布线ver[j]流过电流。
[0289]
将上述例子具体地记载,在第一数据w
i(k
‑
1)j(k)
为“1”且第二数据z
i(k
‑
1)
为“1”时,例如,具有第一电流值的电流i1[i,j]从电路mc向布线ol[j]流过,具有第二电流值的电流i2[i,j]从电路mcr向布线olb[j]流过。此时,第二电流值的高低例如为零。在第一数据w
i(k
‑
1)j(k)
为
“‑
1”且第二数据z
i(k
‑
1)
为“1”时,例如,具有第二电流值的电流i1[i,j]从电路mc向布线ol[j]流过,具有第一电流值的电流i2[i,j]从电路mcr向布线olb[j]流过。此时,第二电流值的高低例如为零。在第一数据w
i(k
‑
1)j(k)
为“0”且第二数据z
i(k
‑
1)
为“1”时,具有第二电流值的电流i1[i,j]从电路mc向布线ol[j]流过,具有第二电流值的电流i2[i,j]从电路mcr向布线olb[j]流过。此时,第二电流值的高低例如为零。
[0290]
在第一数据w
i(k
‑
1)j(k)
为“1”且第二数据z
i(k
‑
1)
为
“‑
1”时,具有第一电流值的电流i1[i,j]从电路mc向布线olb[j]流过,具有第二电流值的电流i2[i,j]从电路mcr向布线ol[j]流过。此时,第二电流值的高低例如为零。在第一数据w
i(k
‑
1)j(k)
为
“‑
1”且第二数据z
i(k
‑
1)
为
“‑
1”时,具有第二电流值的电流i1[i,j]从电路mc向布线olb[j]流过,具有第一电流值的电流i2[i,j]从电路mcr向布线ol[j]流过。此时,第二电流值的高低例如为零。在第一数据w
i(k
‑
1)j(k)
为“0”且第二数据z
i(k
‑
1)
为
“‑
1”时,具有第二电流值的电流i1[i,j]从电路mc向布线olb[j]流过,具有第二电流值的电流i2[i,j]从电路mcr向布线ol[j]流过。此时,第二电流值的高低例如为零。
[0291]
另外,在第二数据z
i(k
‑
1)
为“0”时,例如电路mc与布线ol[j]间及电路mc与布线olb[j]间处于非导通状态。同样地,电路mcr与布线ol[j]间及电路mcr与布线olb[j]间处于非导通状态。由此,无论第一数据w
i(k
‑
1)j(k)
如何,也不从电路mc及电路mcr向布线ol[j]及布线olb[j]输出电流。
[0292]
如此,例如在第一数据w
i(k
‑
1)j(k)
与第二数据z
i(k
‑
1)
之积的值为正值时,电流从电路
mc或电路mcr向布线ol[j]流过。此时,在第一数据w
i(k
‑
1)j(k)
为正值时电流从电路mc向布线ol[j]流过,在第一数据w
i(k
‑
1)j(k)
为负值时,电流从电路mcr向布线ol[j]流过。另一方面,在第一数据w
i(k
‑
1)j(k)
与第二数据z
i(k
‑
1)
之积的值为负值时,电流从电路mc或电路mcr向布线olb[j]流过。此时,在第一数据w
i(k
‑
1)j(k)
为正值时电流从电路mc向布线olb[j]流过,在第一数据w
i(k
‑
1)j(k)
为负值时,电流从电路mcr向布线olb[j]流过。因此,从连接于布线ol[j]的多个电路mc或电路mcr输出的电流的总和流过布线ol[j]。换言之,在布线ol[j]中,具有正值之和的值的电流流过。另一方面,从连接于布线olb[j]的多个电路mc或电路mcr输出的电流的总和流过布线olb[j]。换言之,在布线olb[j]中,具有负值之和的值的电流流过。由于上述工作,通过利用流过布线ol[j]的电流值的总和,即正值的总和、以及流过布线olb[j]的电流值的总和,即负值的总和,可以进行积和运算处理。例如,在流过布线ol[j]的电流值的总和大于流过布线olb[j]的电流值的总和时,根据积和运算的结果可以判断取得正值。在流过布线ol[j]的电流值的总和小于流过布线olb[j]的电流值的总和时,根据积和运算的结果可以判断取得负值。例如,在流过布线ol[j]的电流值的总和与流过布线olb[j]的电流值的总和大致相等时,根据积和运算的结果可以判断取得零的值。
[0293]
注意,在第二数据z
i(k
‑
1)
为
“‑
1”、“0”、“1”中的任何2值,例如
“‑
1”、“1”的2值或者“0”、“1”的2值时,也可以同样地工作。同样的,在第一数据w
i(k
‑
1)j(k)
为
“‑
1”、“0”、“1”中的任何2值,例如
“‑
1”、“1”的2值或者“0”、“1”的2值时,也可以同样地工作。
[0294]
另外,第一数据w
i(k
‑
1)j(k)
也可以为模拟值或多位(多值)数字值。作为具体例子,可以取得代替
“‑
1”的“负模拟值”以及代替“1”的“正模拟值”。在此情况下,从电路mc或电路mcr流过的电流的高低也例如为对应于第一数据w
i(k
‑
1)j(k)
的值的绝对值的模拟值。
[0295]
接着,说明使图9a的电路mp[i,j]的变形例子。注意,关于电路mp[i,j]的变形例子,主要说明与图9a的电路mp[i,j]不同部分,而有时省略与图9a的电路mp[i,j]相同的部分的说明。
[0296]
图9b所示的电路mp[i,j]具有将布线w1l替换为布线wx1l的结构。换言之,在图9b的电路mp[i,j]中,布线wx1l及布线wl被用作为了进行布线ol[j]与保持部hc之间处于导通状态或非导通状态的切换、布线olb[j]与保持部hcr之间处于导通状态或非导通状态的切换供应规定电位的布线。此外,在图9b的电路mp[i,j]中,布线x1l及布线x2l被用作供应根据对电路mp[i,j]输入的第二数据z
i(k
‑
1)
的电流、电压等的布线。
[0297]
图9b的电路mp[i,j]可以用于如图13所示的运算电路130那样的包括布线wx1l的运算电路及如图7所示的运算电路140那样的不包括布线il、布线ilb的运算电路。具体而言,图9b的电路mp[i,j]可以用于图11所示的运算电路150的电路mp[i,j]。
[0298]
接着,说明与图9b不同地使图9a的电路mp[i,j]变形的例子。图9c所示的电路mp[i,j]是图9a的电路mp[i,j]的变形例子。与图9a的电路mp[i,j]同样,图9c的电路mp[i,j]包括电路mc、电路mcr。但是,图9c的电路mp[i,j]在电路mcr不包括保持部hcr,这一点与图9a的电路mp[i,j]不同。
[0299]
另外,因为电路mcr不包括保持部hcr,所以应用图9c的电路mp[i,j]的运算电路可以不包括用来供应保持在保持部hcr中的电位的布线ilb[j]。并且,电路mcr可以不与布线wl[i]电连接。
[0300]
在图9c的电路mp[i,j]中,电路mc中的保持部hc与电路mcr电连接。换言之,图9c的
电路mp[i,j]具有电路mcr和电路mc共同使用保持部hc的结构。例如,可以将保持部hc所保持的信号的反转信号从保持部hc供应到电路mcr。由此,可以在电路mc和电路mcr进行不同工作。另外,也可以通过使电路mc与电路mcr的内部电路结构不同,来将电路mc及电路mcr的对保持部hc所保持的同一信号输出的电流的高低不同。在此,通过在保持部hc保持对应于第一数据w
i(k
‑
1)j(k)
的电位且对布线x1l[i]及布线x2l[i]供应对应于第二数据z
i(k
‑
1)
的电位,电路mp[i,j]可以对布线ol[j]及布线olb[j]输出对应于第一数据w
i(k
‑
1)j(k)
与第二数据z
i(k
‑
1)
之积的电流。
[0301]
应用图9c的电路mp的运算电路110可以改变为图12所示的运算电路160的电路结构。运算电路160具有图2的运算电路110中不设置有布线ilb[1]至布线ilb[m]的结构。
[0302]
图9d所示的电路mp[i,j]是图9a的电路mp[i,j]的变形例子,具体而言,可以应用于图12的运算电路160的电路mp[i,j]的结构例子。与图9a的电路mp[i,j]同样,图9d的电路mp[i,j]包括电路mc、电路mcr。但是,与图9d的电路mp[i,j]电连接的布线的结构与图9a的电路mp[i,j]不同。
[0303]
图9d所示的布线w1l[i]及布线w2l[i]相当于图12中的布线wls[i]。布线w1l[i]与保持部hc电连接,布线w2l[i]与保持部hcr电连接。
[0304]
另外,布线il[j]与保持部hc及保持部hcr电连接。
[0305]
在图9d的电路mp[i,j]中,在保持部hc及保持部hcr分别保持不同的信息(例如,电压、电阻值、电流等)时,优选依次在保持部hc及保持部hcr中保持信息,而不是同时保持。例如,考虑在可以通过保持部hc保持第一信息且保持部hcr保持第二信息而表示电路mp[i,j]的第一数据w
i(k
‑
1)j(k)
的情况。首先,对布线w1l[i]及布线w2l[i]分别供应指定电位而使保持部hc与布线il[j]间处于导通状态,并且使保持部hcr与布线il[j]间处于非导通状态。接着,通过对布线il[j]供应对应于第一信息的电流、电压等,对保持部hc供应第一信息。然后,对布线w1l[i]及布线w2l[i]分别供应指定电位,使保持部hc与布线il[j]间处于非导通状态,并且使保持部hcr与布线il[j]间处于导通状态。然后,通过对布线il[j]供应对应于第二信息的电流、电压等,可以对保持部hcr供应第二信息。由此,电路mp[i,j]可以作为第一数据设定w
i(k
‑
1)j(k)
。
[0306]
另外,在保持部hc和保持部hcr保持大致相同的信息(例如,电压、电阻值、电流等)(通过使保持部hc及保持部hcr的每一个保持大致相同的信息而设定电路mp[i,j]的第一数据w
i(k
‑
1)j(k)
)时,以使保持部hc与布线il[j]间处于导通状态且使保持部hcr与布线il[j]间处于导通状态的方式对布线w1l[i]及布线w2l[i]分别供应指定的电位,然后从布线il[j]对保持部hc及保持部hcr供应对应于该信息的电流、电压等即可。
[0307]
图9d的电路mp[i,j]通过在保持部hc及保持部hcr保持对应于第一数据w
i(k
‑
1)j(k)
的电位且对布线x1l[i]及布线x2l[i]供应对应于第二数据z
i(k
‑
1)
的电位,与图9a的电路mp[i,j]同样地对布线ol[j]及布线olb[j]输出对应于第一数据w
i(k
‑
1)j(k)
与第二数据z
i(k
‑
1)
之积的电流。
[0308]
图9e所示的电路mp[i,j]是图9d的电路mp[i,j]的变形例子。与图9d的电路mp[i,j]同样,图9e的电路mp[i,j]包括电路mc、电路mcr。但是,与图9e的电路mp[i,j]电连接的布线的结构与图9d的电路mp[i,j]不同。
[0309]
具体而言,在图9e的电路mp中,对图9d的电路mp加上布线ilb[j],且将与图9d的电
路mp电连接的布线w1l[i]、布线w2l[i]替换为布线wl[i]。
[0310]
在图9e的电路mp中,布线il[j]与保持部hc电连接,布线ilb[j]与保持部hcr电连接。也就是说,在图9d的电路mp中,布线il[j]被用作对保持部hc及保持部hcr分别供应对应于信息(例如,电压、电阻值、电流等)的电流、电压等的布线,在图9e的电路mp中,布线il[j]被用作对保持部hc供应对应于信息的电流、电压等的布线,布线ilb[j]被用作对保持部hc供应对应于信息的电流、电压等的布线。
[0311]
在图9e的电路mp中,由于保持部hc及保持部hcr分别与布线il[j]及布线ilb[j]电连接,所以可以同时对保持部hc及保持部hcr分别供应对应于信息(例如,电压、电阻值、电流等)的电流、电压等。因此,可以同时进行在保持部hc与布线il[j]之间处于导通状态或非导通状态的切换、在保持部hcr与布线ilb[j]之间处于导通状态或非导通状态的切换。在图9d的电路mp中,作为控制在保持部hc与布线il[j]之间处于导通状态或非导通状态的切换的布线示出布线w1l,作为控制在保持部hcr与布线ilb[j]之间处于导通状态或非导通状态的切换的布线示出布线w2l,在图9e的电路mp中,作为将布线w1l及布线w2l合在一起的布线,示出布线wl[i]。
[0312]
注意,图9e的电路mp例如可以用于图2的运算电路110、图3的运算电路120。
[0313]
图9f所示的电路mp[i,j]是图9a的电路mp[i,j]的变形例子。与图9a的电路mp[i,j]同样,图9f的电路mp[i,j]包括电路mc、电路mcr。注意,图9f的电路mp[i,j]与图9a的电路mp[i,j]不同之处是:电路mc不与布线olb[j]电连接;以及电路mcr不与布线ol[j]电连接。
[0314]
图9f所示的布线wl[i]与保持部hc及保持部hcr电连接。此外,图9f所示的布线xl[i]与电路mc及电路mcr电连接。
[0315]
如在后面说明,在图9f的电路mp[i,j]中,电路mc不与布线olb[j]电连接,电路mcr不与布线ol[j]电连接。换言之,图9f的电路mp[i,j]与图9a至图9e的电路mp[i,j]不同,即从电路mc输出的电流不流过布线olb[j],从电路mcr输出的电流不流过布线ol[j]。
[0316]
因此,图9f的电路mp[i,j]优选在第二数据z
i(k
‑
1)
为“0”或“1”的2值时应用于运算电路。例如,在第二数据z
i(k
‑
1)
为“1”时,电路mp使电路mc与布线ol[j]间处于导通状态且使电路mcr与布线olb[j]间处于导通状态。另外,例如,在第二数据z
i(k
‑
1)
为“0”时,为了不使电路mc及电路mcr的每一个输出的电流流过布线ol[j]及布线olb[j],电路mp使电路mc与布线ol[j]之间以及电路mc与布线olb[j]之间处于非导通状态,并且使电路mcr与布线ol[j]之间以及电路mcr与布线olb[j]之间处于非导通状态。
[0317]
图9f的电路mp[i,j]通过应用于运算电路110例如可以在第一数据w
i(k
‑
1)j(k)
为
“‑
1”、“0”、“1”的3值中的任一个且第二数据z
i(k
‑
1)
为“0”、“1”的2值时进行运算。注意,在第一数据w
i(k
‑
1)j(k)
为
“‑
1”、“0”、“1”中的任何2值,例如
“‑
1”、“1”的2值或者“0”、“1”的2值时也可以工作。另外,第一数据w
i(k
‑
1)j(k)
也可以为模拟值或多位(多值)数字值。作为具体的一个例子,可以取得代替
“‑
1”的“负模拟值”以及代替“1”的“正模拟值”。在此情况下,从电路mc或电路mcr流过的电流的高低也例如为对应于第一数据w
i(k
‑
1)j(k)
的值的绝对值的模拟值。
[0318]
与图9a同样,图10所示的电路mp[i,j]是能够对布线ol[j]及布线olb[j]输出对应于第一数据w
i(k
‑
1)j(k)
与第二数据z
i(k
‑
1)
之积的电流的电路。图10的电路mp[i,j]例如可以应用于图2的运算电路110。
[0319]
图10的电路mp[i,j]除了电路mc、电路mcr以外还包括晶体管mz。
[0320]
晶体管mz的第一端子与电路mc的第一端子、电路mcr的第一端子电连接。晶体管mz的第二端子与布线vl电连接。晶体管mz的栅极与布线xl[i]电连接。
[0321]
布线vl例如被用作供应恒电压的布线。该恒电压优选根据电路mp[i,j]或运算电路110等的结构决定。作为该恒电压,例如可以采用高电平电位的vdd、低电平电位的vss、接地电位等。
[0322]
另外,图10所示的布线wl[i]相当于图2的运算电路110中的布线wls[i]。布线wl[i]与保持部hc及保持部hcr电连接。
[0323]
另外,布线ol[j]与电路mc的第二端子电连接。另外,布线olb[j]与电路mcr的第二端子电连接。
[0324]
布线il[j]与保持部hc电连接,布线ilb[j]与保持部hcr电连接。
[0325]
关于在图10的电路mp[i,j]中保持部hc及保持部hcr的每一个保持对应于第一数据的电位时的工作,参照图9a的电路mp[i,j]中的保持对应于第一数据的电位的工作的说明。
[0326]
在图10的电路mp[i,j]中,在对电路mc的第一端子供应布线vl所供应的恒电压时,电路mc具有使对应于保持部hc所保持的电位的电流流过电路mc的第一端子与第二端子间的功能。另外,在对电路mc的第一端子供应布线vl所供应的恒电压时,电路mcr具有使对应于保持部hcr所保持的电位的电流流过电路mcr的第一端子与第二端子间的功能。换言之,通过使电路mp[i,j]的保持部hc、保持部hcr的每一个保持对应于第一数据w
i(k
‑
1)j(k)
的电位,可以决定流过电路mc的第一端子与第二端子间的电流量及流过电路mcr的第一端子与第二端子间的电流量。注意,在对电路mc(电路mcr)的第一端子没有供应布线vl所供应的恒电压时,例如可以视为电路mc(电路mcr)不使电流流过电路mc(电路mcr)的第一端子与第二端子间。
[0327]
例如,在对保持部hc、保持部hcr的每一个保持对应于“1”的第一数据w
i(k
‑
1)j(k)
的电位时,通过对电路mc供应布线vl所供应的恒电压,电路mc使指定电流流过电路mc的第一端子与第二端子间。因此,电流在电路mc与布线ol间流过。注意,此时电路mcr不使电流流过电路mcr的第一端子与第二端子间。因此,电流不在电路mcr与布线olb间流过。另外,例如,在对保持部hc、保持部hcr的每一个保持对应于
“‑
1”的第一数据w
i(k
‑
1)j(k)
的电位时,通过对电路mc供应布线vl所供应的恒电压,电路mcr使指定电流流过电路mcr的第一端子与第二端子间。因此,在电路mcr与布线olb间电流流过。注意,此时电路mc不使电流流过电路mc的第一端子与第二端子间。因此,在电路mc与布线ol间电流不流过。另外,例如,在保持部hc、保持部hcr的每一个保持对应于“0”的第一数据w
i(k
‑
1)j(k)
的电位时,不管电路mc及电路mcr供应有布线vl的恒电压,电路mc就不使电流流过电路mc的第一端子与第二端子间且电路mcr不使电流流过电路mcr的第一端子与第二端子间。换言之,在电路mc与布线ol间电流不流过,在电路mcr与布线olb间电流不流过。
[0328]
关于图10的电路mp[i,j]中的保持部hc、保持部hcr所保持的对应于第一数据w
i(k
‑
1)j(k)
的电位的具体例子,参照图9a的电路mp[i,j]的记载。另外,与图9a的电路mp[i,j]同样,在图10的电路mp[i,j]中,保持部hc、保持部hcr也可以具有不是保持电位而是保持电流、电阻值等数据的功能,电路mc、电路mcr也可以具有使根据该数据的电流流过的功能。
[0329]
另外,图10所示的布线xl[i]相当于图2的运算电路110中的布线xls[i]。输入到电
路mp[i,j]的第二数据z
i(k
‑
1)
例如根据布线xl[i]、电流等决定。由此,对晶体管mz的栅极例如通过布线xl[i]输入对应于第二数据z
i(k
‑
1)
的电位。
[0330]
例如,考虑第二数据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的恒电压。
[0331]
在此,例如,在第一数据w
i(k
‑
1)j(k)
为“1”且第二数据z
i(k
‑
1)
为“1”时,电流在电路mc与布线ol间流过且不在电路mcr与布线olb间流过。另外,例如,在第一数据w
i(k
‑
1)j(k)
为
“‑
1”且第二数据z
i(k
‑
1)
为“1”时,电流不在电路mc与布线ol间流过且在电路mcr与布线olb间流过。例如,在第一数据w
i(k
‑
1)j(k)
为“0”且第二数据z
i(k
‑
1)
为“1”时,电流不在电路mc与布线ol间及在电路mcr与布线olb间流过。另外,例如,在第二数据z
i(k
‑
1)
为“0”时,即使第一数据w
i(k
‑
1)j(k)
为
“‑
1”、“0”、“1”中的任一个,电流也不在电路mc与布线ol间及电路mcr与布线olb间流过。
[0332]
换言之,与图9f的电路mp[i,j]同样,图10的电路mp[i,j]例如可以在第一数据w
i(k
‑
1)j(k)
为
“‑
1”、“0”、“1”的3值中的任一个且第二数据z
i(k
‑
1)
为“0”、“1”的2值时进行运算。另外,与图9f的电路mp[i,j]同样,图10的电路mp[i,j]在第一数据w
i(k
‑
1)j(k)
为
“‑
1”、“0”、“1”中的任何2值,例如
“‑
1”、“1”的2值或者“0”、“1”的2值时,也可以工作。另外,第一数据w
i(k
‑
1)j(k)
也可以为模拟值或多位(多值)数字值。作为具体的一个例子,可以取得代替
“‑
1”的“负模拟值”以及代替“1”的“正模拟值”。在此情况下,从电路mc或电路mcr流过的电流的高低也例如为对应于第一数据w
i(k
‑
1)j(k)
的值的绝对值的模拟值。
[0333]
<运算电路的工作例子>
[0334]
接着,说明图7的运算电路140的工作例子。注意,在本工作例子的说明中,作为一个例子,使用图13所示的运算电路140。
[0335]
图13的运算电路140是着眼于位于图7的运算电路140的第j列的电路而图示的。换言之,图13的运算电路140相当于进行如下运算的电路,即图1a所示的神经网络100中的对神经元n
j(k)
输入的来自神经元n
1(k
‑
1)
至神经元n
m(k
‑
1)
的信号z
1(k
‑
1)
至z
m(k
‑
1)
与权系数w
1(k
‑
1)
j
(k)
至w
m(k
‑
1)j(k)
的积和运算;以及利用该积和运算的结果的激活函数的运算。再者,作为图13的运算电路110的阵列部alp所包括的电路mp使用图9b的电路mp。
[0336]
首先,在运算电路140中,电路mp[1,j]至电路mp[m,j]设定第一数据w
1(k
‑
1)j(k)
至w
m(k
‑
1)j(k)
作为第一数据w
i(k
‑
1)j(k)
的设定方法,可以举出:由电路wld对布线wls[1]至布线wls[m]依次输入指定电位,依次选择电路mp[1,j]至电路mp[m,j],对包括在所选择的电路mp的电路mc的保持部hc及电路mcr的保持部hcr从电路ild通过切换电路tw[j]、布线ol[j]、olb[j]供应对应于第一数据的电位、电流等。通过供应电位、电流等之后由电路wld使电路mp[1,j]至电路mp[m,j]的每一个处于非选择状态,可以在电路mp[1,j]至电路mp[m,j]的每一个所包括的电路mc的保持部hc及电路mcr的保持部hcr保持对应于第一数据w
1(k
‑
1)j(k)
至w
m(k
‑
1)j(k)
的电位、电流等。作为一个例子,在第一数据w
1(k
‑
1)j(k)
至w
m(k
‑
1)j(k)
的每一个为正值时,
对保持部hc输入对应于其正值的值,对保持部hcr输入相当于零的值。另一方面,在第一数据w
1(k
‑
1)j(k)
至w
m(k
‑
1)j(k)
的每一个为负值时,对保持部hc输入相当于零的值,对保持部hcr输入对应于负值的绝对值的值。
[0337]
接着,由电路xld对布线x1l[1]至布线x1l[m]、布线x2l[1]至布线x2l[m]的每一个供应第二数据z
1(k
‑
1)
至z
m(k
‑
1)
。具体而言,对布线x1l[i]及布线x2l[i]供应第二数据z
1(k
‑
1)
。布线x1l[i]、布线x2l[i]相当于图7所示的运算电路140的布线xls[i]。
[0338]
根据对电路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]间可以处于非导通状态的值。
[0339]
通过根据输入到电路mp[i,j]的第二数据z
i(k
‑
1)
决定包括在电路mp[i,j]的电路mc及电路mcr与布线ol[j]及布线olb[j]间的导通状态或非导通状态,在电路mc及电路mcr与布线ol[j]及布线olb[j]间进行电流的输入及输出。再者,该电流的量根据在电路mp[i,j]中设定的第一数据w
i(k
‑
1)j(k)
及/或第二数据z
i(k
‑
1)
决定。
[0340]
例如,在电路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]可以以下面算式表示。
[0341]
[算式5]
[0342][0343][0344]
当在电路mp[i,j]中例如第一数据w
i(k
‑
1)j(k)
为“ 1”时,电路mc排出i( 1),电路mcr排出i(
‑
1),在第一数据w
i(k
‑
1)j(k)
为
“‑
1”时,电路mc排出i(
‑
1),电路mcr排出i( 1),在第一数据w
i(k
‑
1)j(k)
为“0”时,电路mc排出i(
‑
1),电路mcr排出i(
‑
1)。
[0345]
再者,在第二数据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]间非导通”。
[0346]
此时,以下表示出在电路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]流过的电流。
[0347]
[表1]
[0348][0349]
接着,在从布线ol[j]及布线olb[j]的每一个流过的i
out
[j]及i
bout
[j]都输入到电路actf[j]时,电路actf[j]例如进行i
out
[j]及i
bout
[j]的比较等。电路actf[j]例如根据该比较的结果输出神经元n
j(k)
对第(k 1)层的神经元传送的信号z
j(k)
。
[0350]
由图13的运算电路140例如可以进行对神经元n
j(k)
输入的来自神经元n
1(k
‑
1)
至神经元n
m(k
‑
1)
的信号z
1(k
‑
1)
至z
m(k
‑
1)
与权系数w
1(k
‑
1)j(k)
至w
m(k
‑
1)j(k)
的积和运算以及利用该积和运算的结果的激活函数的运算。并且,通过设置n列的电路mp,图13的运算电路的阵列部alp可以具有与图7的运算电路140相同的电路结构。换言之,由图7的运算电路140可以同时进行神经元n
1(k)
至神经元n
n(k)
的每一个的积和运算和利用该积和运算的结果的激活函数的运算。
[0351]
<<包括在运算电路的电路等的变形例子>>
[0352]
上述运算电路110、运算电路120、运算电路130、运算电路140、运算电路150、运算电路160分别可以改变为进行算式(1.3)的运算而不是进行算式(1.2)的运算的电路。算式(1.3)相当于对算式(1.2)的积和的结果施加偏置的运算。因此,在运算电路110、运算电路120、运算电路130、运算电路140、运算电路150、运算电路160的每一个中,也可以设置对布线ol及布线olb施加偏置的值的电路。
[0353]
图14所示的运算电路170具有对图11的运算电路150的阵列部alp加上电路bs[1]
至电路bs[n]的电路结构。
[0354]
电路bs[j]与布线ol[j]、布线olb[j]、布线wlbs、布线wxbs电连接。
[0355]
与图2的运算电路110等的布线wls[1]至布线wls[m]、图7的运算电路140等的布线wl[1]至布线wl[m]同样地,布线wlbs被用作用来供应使包括在电路bs[1]至电路bs[n]中的用于写入的开关元件处于开启状态或关闭状态的信号的布线。因此,通过布线wlbs与电路wld电连接,可以从电路wld对布线wlbs供应该信号。
[0356]
与图2的运算电路110等的布线xls[1]至布线xls[m]同样地,布线wxbs被用作将对应于从神经元n
i(k
‑
1)
输出的第二数据z
i(k
‑
1)
的信息(例如,电位、电流值等)供应给电路bs[1]至电路bs[n]的布线。因此,通过布线wxbs与电路xld电连接,可以从电路xld对布线wxbs供应该信息。
[0357]
与图7的运算电路140等的布线wx1l[1]至布线wx1l[n]同样地,布线wxbs也可以兼用用来对电路bs[1]至电路bs[n]写入信息的选择信号线。在图14的运算电路170中示出布线wxbs与电路wld电连接的例子。在采用这种结构的情况下,电路wld可以对布线wlbs、布线wxbs的每一个供应包括用来使在电路bs[1]至电路bs[n]中的用于写入的开关元件处于开启状态或关闭状态的信号。
[0358]
在运算电路170的阵列部alp的j列中,从电路mp[1,j]至电路mp[m,j]向布线ol[j]或布线olb[j]流过的电流量分别可以以算式(1.5)、算式(1.6)表示。此外,由于布线ol[j]、布线olb[j]分别与电路bs[j]电连接,所以在从电路bs[j]向布线ol[j]流过的电流为i
bias
[j]且从电路bs[j]向布线olb[j]流过的电流为i
biasb
[j]时,算式(1.5)、算式(1.6)分别可以改写为如下算式。
[0359]
[算式6]
[0360][0361][0362]
由此,在算式(1.3)的运算中,可以生成包括偏置的i
out
[j]及i
bout
[j]。此外,通过包括偏置的i
out
[j]及i
bout
[j]输入到电路actf[j],可以生成被施加了偏置的来自神经元n
j(k)
的输出信号z
j(k)
。
[0363]
在图14的运算电路170中,在阵列部alp中设置1行电路bs[1]至电路bs[n],但是本发明的一个方式不局限于此。例如,也可以在阵列部alp中设置2行以上的电路bs[1]至电路bs[n]。
[0364]
包括在上述阵列部alp、电路ild、电路wld、电路xld、电路afp、电路mp、切换电路tw等的每一个的晶体管的一部分或全部例如优选使用os晶体管。例如,在是优选降低关态电流的晶体管时,具有保持积累在电容器等的电荷的功能的晶体管优选为os晶体管。尤其是,在作为该晶体管使用os晶体管时,os晶体管尤其更优选采用实施方式4所记载的晶体管的结构。作为包括在os晶体管的沟道形成区域中的金属氧化物,例如,可以为选自铟、元素m(元素m为铝、镓、钇或锡)、锌中的一种或多种的材料。特别是,由铟、镓、锌而成的金属氧化物优选是带隙高、本征(也称为i型)或实质上本征的半导体,并且该金属氧化物的载流子浓
度优选为1
×
10
18
cm
‑3以下,更优选低于1
×
10
17
cm
‑3,进一步优选低于1
×
10
16
cm
‑3,进一步优选低于1
×
10
13
cm
‑3,进一步优选低于1
×
10
12
cm
‑3。此外,在沟道形成区域中包括该金属氧化物的os晶体管的每沟道宽度1μm的关态电流可以为10aa(1
×
10
‑
17
a)以下,优选为1aa(1
×
10
‑
18
a)以下,更优选为10za(1
×
10
‑
20
a)以下,进一步优选为1za(1
×
10
‑
21
a)以下,进一步优选为100ya(1
×
10
‑
22
a)以下。另外,在该os晶体管中,金属氧化物的载流子浓度低,所以即使os晶体管的温度产生变化,也保持低关态电流。例如,即使os晶体管的温度为150℃,每沟道宽度1μm的关态电流也可以为100za。
[0365]
注意,本发明的一个方式不局限于上述内容,包括在阵列部alp、电路ild、电路wld、电路xld、电路afp、电路mp、切换电路tw等中的晶体管也可以不是os晶体管。作为os晶体管以外,例如,也可以采用在沟道形成区域中包含硅的晶体管(以后,被称为si晶体管)。此外,作为硅,例如,可以使用单晶硅、氢化非晶硅、微晶硅或多晶硅等。另外,作为os晶体管、si晶体管以外的晶体管,例如可以使用ge等半导体作为活性层的晶体管、znse、cds、gaas、inp、gan、sige等化合物半导体作为活性层的晶体管、碳纳米管作为活性层的晶体管、有机半导体作为活性层的晶体管等。
[0366]
注意,关于os晶体管的半导体层的金属氧化物,可以使用包含铟的金属氧化物(例如,in氧化物)或包含锌的金属氧化物(例如,zn氧化物)制造n型半导体,但是从迁移度及可靠性的观点来看,有时难以制造p型半导体。因此,运算电路110、运算电路120、运算电路130、运算电路140、运算电路150、运算电路160、运算电路170也可以具有作为包括在阵列部alp、电路ild、电路wld、电路xld、电路afp、电路mp等中的n沟道型晶体管使用os晶体管并作为p沟道型晶体管使用si晶体管的结构。
[0367]
注意,本实施方式可以与本说明书所示的其他实施方式适当地组合。
[0368]
(实施方式2)
[0369]
在本实施方式中,对在上述实施方式1中说明的电路mp的具体结构例子进行说明。
[0370]
注意,在实施方式1中对电路mp的符号附上表示阵列部alp内的位置的[1,1]、[i,j]、[m,n]等,但是在没有特别的说明的情况下,本实施方式省略对电路mp的符号附上[1,1]、[i,j]、[m,n]等。
[0371]
<结构例子1>
[0372]
首先,说明能够应用于图9b的电路mp的电路结构的例子。图15a所示的电路mp是图9b的电路mp的结构的一个例子,图15a的电路mp所包括的电路mc例如包括晶体管m1至晶体管m4及电容c1。另外,例如,由晶体管m2及电容c1构成保持部hc。
[0373]
在图9b的电路mp中,电路mcr具有与电路mc大致相同的电路结构。因此,为了与电路mc所包括的电路元件区分,对电路mcr所包括的电路元件的符号附上“r”。
[0374]
图15a所示的晶体管m1至晶体管m4例如采用在沟道上下包括栅极的多栅极结构的n沟道型晶体管,晶体管m1至晶体管m4都包括第一栅极及第二栅极。尤其是,作为一个例子,晶体管m3及晶体管m4的每一个的尺寸优选相同。注意,在本说明书等中,为了方便起见,例如将第一栅极记为栅极(有时记为前栅极。),将第二栅极记为背栅极来进行区分,但是第一栅极和第二栅极可以相互调换。因此,在本说明书等中,“栅极”可以记为“背栅极”。同样地,“背栅极”可以记为“栅极”。具体而言,“栅极与第一布线电连接且背栅极与第二布线电连接”的连接结构可以调换为“背栅极与第一布线电连接且栅极与第二布线电连接”的连接结
构。例如,如图15b所示,晶体管m1的背栅极也可以与电容c1的第一端子及晶体管m2的第一端子电连接。
[0375]
另外,本发明的一个方式的半导体装置不取决于晶体管的背栅极的连接结构。在图15a所示的晶体管m1至晶体管m4中示出背栅极而不示出该背栅极的连接关系,但是可以在进行设计时决定该背栅极的电连接点。例如,在包括背栅极的晶体管中,为了提高该晶体管的通态电流,可以使栅极与背栅极电连接。换言之,例如,也可以使晶体管m2的栅极与背栅极电连接。另外,例如,在包括背栅极的晶体管中,为了使该晶体管的阈值电压改变或降低该晶体管的关态电流,设置与外部电路等电连接的布线而通过该外部电路等对晶体管的背栅极供应电位。除了图15a以外,说明书中的其他部分所记载的晶体管或其他附图表示的晶体管也是同样的。
[0376]
另外,本发明的一个方式的半导体装置不取决于该半导体装置所包括的晶体管的结构。例如,如图15c所示,图15a所示的晶体管m1至晶体管m4也可以为不包括背栅极的结构,即单栅极结构的晶体管。另外,也可以为一部分晶体管包括背栅极且其他一部分晶体管不包括背栅极。除了图15a所示的电路图以外,说明书中的其他部分所记载的晶体管或其他附图表示的晶体管也是同样的。
[0377]
另外,在本说明书等中,作为晶体管可以使用各种结构的晶体管。因此,对使用的晶体管的种类没有限制。作为晶体管的一个例子,可以使用具有单晶硅的晶体管或者具有以非晶硅、多晶硅或微结晶(也称为纳米晶、半非晶(semi
‑
amorphous))硅等为代表的非单晶半导体膜的晶体管等。或者,可以使用使这些半导体薄膜化的薄膜晶体管(tft)等。tft的使用有各种优点。例如,由于与制造单晶硅的情况相比可以以低温度制造,所以可以实现制造成本的降低或制造装置的大型化。由于可以增大制造装置,所以可以在大型衬底上制造。因此,由于可以同时制造多个显示装置,所以可以以低成本制造。或者,由于制造温度低,所以可以使用耐热性低的衬底。因此,可以在具有透光性的衬底上制造晶体管。或者,可以通过使用形成在具有透光性的衬底上的晶体管来控制显示元件的透光。或者,因为晶体管的膜厚较薄,所以形成晶体管的膜的一部分能够透光。因此,可以提高开口率。
[0378]
作为晶体管的一个例子,可以使用包括化合物半导体(例如,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等)等的晶体管。或者,可以使用使上述化合物半导体或上述氧化物半导体薄膜化的薄膜晶体管等。由此,可以降低制造温度,所以例如可以在室温下制造晶体管。其结果是,可以在塑料衬底或薄膜衬底等耐热性低的衬底上直接形成晶体管。此外,不仅可以将这些化合物半导体或氧化物半导体用于晶体管的沟道部分,而且还可以用作其它用途。例如,可以将这些化合物半导体或氧化物半导体用作布线、电阻元件、像素电极或具有透光性的电极等。因为可以与晶体管同时沉积或形成上述半导体,所以可以降低成本。
[0379]
作为晶体管的一个例子,可以使用通过喷墨法或印刷法形成的晶体管等。因此,可以以室温制造、以低真空度制造或在大型衬底上制造。因此,即使不使用掩模(掩模版(reticle))也可以进行制造,所以可以容易地改变晶体管的布局。或者,因为可以以不使用抗蚀剂的方式进行制造,所以可以减少材料费,并减少工序数。或者,因为可以只在需要的部分上形成膜,所以与在整个面上形成膜之后进行蚀刻的制造方法相比成本较低且不浪费材料。
[0380]
作为晶体管的一个例子,可以使用具有有机半导体或碳纳米管的晶体管等。由此,可以在能够弯曲的衬底上形成晶体管。使用具有有机半导体或碳纳米管的晶体管的装置能抗冲击。
[0381]
作为晶体管还可以使用其他各种结构的晶体管。例如,作为晶体管,可以使用mos型晶体管、接合型晶体管、双极晶体管等。通过作为晶体管使用mos型晶体管,可以减小晶体管尺寸。因此,可以安装多个晶体管。通过作为晶体管使用双极晶体管,可以使较大的电流流过。因此,可以使电路高速地工作。注意,也可以将mos型晶体管、双极晶体管等形成在一个基板上。由此,可以实现低功耗、小型化、高速工作等。
[0382]
另外,作为晶体管的一个例子,例如也可以采用在活性层上下配置有栅电极的结构的晶体管。通过采用在活性层上下配置有栅电极的结构,多个晶体管并联连接。因此,沟道区域增加,所以可以增大电流值。或者,通过采用在活性层上下配置有栅电极的结构,容易产生耗尽层,因此可以改善s值。
[0383]
另外,作为晶体管的一个例子,也可以采用将栅电极配置在活性层上的结构、将栅电极配置在活性层下的结构、交错结构、反交错结构、将沟道区域分割成多个区域的结构、并联连接活性层的结构或者串联连接活性层的结构等。或者,作为晶体管,可以使用平面型、fin(鳍)型、tri
‑
gate(三栅)型、顶栅型、底栅型、双栅型(在沟道上下配置有栅极)等各种结构的晶体管。
[0384]
另外,作为晶体管的一个例子,还可以采用活性层(或其一部分)与源电极或漏电极重叠的结构。通过采用活性层(或其一部分)与源电极或漏电极重叠的结构,可以防止因电荷积累于活性层的一部分而导致的工作不稳定。
[0385]
另外,作为晶体管的一个例子,可以采用设置有ldd区域的结构。通过设置ldd区域,可以降低关态电流或者提高晶体管的耐压性(提高可靠性)。或者,通过设置ldd区域,当晶体管在饱和区域中工作时,即便漏极和源极之间的电压发生变化,漏电流的变化也不太大,从而可以得到倾斜角平坦的电压
‑
电流特性。
[0386]
例如,在本说明书等中,可以使用各种衬底形成晶体管。对衬底的种类没有特别的限制。作为该衬底的一个例子,可以举出半导体衬底(例如,单晶衬底或硅衬底)、soi衬底、玻璃衬底、石英衬底、塑料衬底、蓝宝石玻璃衬底、金属衬底、不锈钢衬底、包含不锈钢箔的衬底、钨衬底、包含钨箔的衬底、柔性衬底、贴合薄膜、包含纤维状材料的纸或基材薄膜等。作为玻璃衬底的一个例子,可以举出钡硼硅酸盐玻璃、铝硼硅酸盐玻璃或钠钙玻璃等。作为柔性衬底、贴合薄膜、基材薄膜等,可以举出如下例子。例如可以举出以聚对苯二甲酸乙二醇酯(pet)、聚萘二甲酸乙二醇酯(pen)、聚醚砜(pes)、聚四氟乙烯(ptfe)为代表的塑料。或者,作为一个例子,可以举出丙烯酸树脂等合成树脂等。或者,作为一个例子,可以举出聚丙烯、聚酯、聚氟化乙烯或聚氯乙烯等。或者,作为例子,可以举出聚酰胺、聚酰亚胺、芳族聚酰胺、环氧树脂、无机蒸镀薄膜、纸类等。尤其是,通过使用半导体衬底、单晶衬底或soi衬底等制造晶体管,能够制造特性、尺寸或形状等的偏差小、电流能力高且尺寸小的晶体管。当利用上述晶体管构成电路时,可以实现电路的低功耗化或电路的高集成化。
[0387]
另外,作为衬底也可以使用柔性衬底,在该柔性衬底上直接形成晶体管。或者,也可以在衬底与晶体管之间设置剥离层。剥离层可以在如下情况下使用,即在剥离层上制造半导体装置的一部分或全部,然后将其从衬底分离并转置到其他衬底上的情况。此时,也可
以将晶体管转置到耐热性低的衬底或柔性衬底上。另外,作为上述剥离层,例如可以使用钨膜与氧化硅膜的无机膜的叠层结构或衬底上形成有聚酰亚胺等有机树脂膜的结构等。
[0388]
另外,也可以使用一个衬底形成晶体管,然后将该晶体管转置到另一个衬底上。作为转置晶体管的衬底,除了上述可以设置晶体管的衬底之外,还可以使用纸衬底、玻璃纸衬底、芳族聚酰胺薄膜衬底、聚酰亚胺薄膜衬底、石材衬底、木材衬底、布衬底(包括天然纤维(丝、棉、麻)、合成纤维(尼龙、聚氨酯、聚酯)或再生纤维(醋酯纤维、铜氨纤维、人造纤维、再生聚酯)等)、皮革衬底、橡胶衬底等。通过使用上述衬底,可以实现特性良好的晶体管、功耗低的晶体管、不易损坏的装置、耐热性的提高、轻量化或薄型化。
[0389]
另外,可以在相同的衬底(例如,玻璃衬底、塑料衬底、单晶衬底或soi衬底等)上形成为了实现指定的功能所需要的所有电路。如此,可以通过减少部件数量降低成本,或者可以通过减少与电路部件之间的连接数量提高可靠性。
[0390]
注意,也可以将为了实现指定的功能所需要的所有电路不形成在相同的衬底上。换言之,也可以将为了实现指定的功能所需要的电路的一部分形成在某个衬底上,并且将为了实现指定的功能所需要的电路的另一部分形成在另一衬底上。例如,也可以将为了实现指定的功能所需要的电路的一部分形成在玻璃衬底上,并且将为了实现指定的功能所需要的电路的另一部分形成在单晶衬底(或soi衬底)上。并且,也可以通过cog(chip on glass:玻璃覆晶封装)将形成为了实现指定的功能所需要的电路的另一部分的单晶衬底(也称为ic芯片)连接到玻璃衬底,从而在玻璃衬底上配置该ic芯片。或者,也可以使用tab(tape automated bonding:卷带自动结合)、cof(chip on film:薄膜上芯片)、smt(surface mount technology:表面贴装技术)或印刷电路板等使该ic芯片和玻璃衬底连接。如此,通过使电路的一部分与像素部形成在同一衬底上,可以通过减少部件数量降低成本,或者可以通过减少与电路部件之间的连接数量提高可靠性。尤其是,在很多情况下,驱动电压高的部分的电路或者驱动频率高的部分的电路等的功耗高。于是,将该电路与像素部形成在不同的衬底(例如,单晶衬底)上,以构成ic芯片。通过使用该ic芯片,可以防止功耗的增高。
[0391]
在图15a的电路mp中,晶体管m1的第一端子与布线ve电连接。晶体管m1的第二端子与晶体管m3的第一端子、晶体管m4的第一端子电连接。晶体管m1的栅极与电容c1的第一端子、晶体管m2的第一端子电连接。电容c1的第二端子与布线ve电连接。晶体管m2的第二端子与布线ol电连接。晶体管m2的栅极与布线wl电连接。晶体管m3的第二端子与布线ol电连接,晶体管m3的栅极与布线wx1l电连接。晶体管m4的第二端子与布线olb电连接,晶体管m4的栅极与布线x2l电连接。
[0392]
对电路mcr中的与电路mc不同的连接结构进行说明。晶体管m3r的第二端子与布线olb电连接而不与布线ol电连接,晶体管m4r的第二端子与布线ol电连接而不与布线olb电连接。晶体管m1r的第一端子及电容c1r的第一端子与布线ver电连接。
[0393]
注意,如图16a所示,晶体管m1的第一端子也可以不与布线ve电连接而与其他布线vlm电连接。另外,同样地,晶体管m1r的第一端子也可以不与布线ver电连接而与其他布线vemr电连接。注意,除了图15a以外,还在其他附图的电路图中,晶体管m1的第一端子不与布线ve电连接而与其他布线vem电连接及/或晶体管m1r的第一端子不与布线ver电连接而与其他布线vemr电连接。
[0394]
注意,在图15a所示的保持部hc中,将晶体管m1的栅极、电容c1的第一端子与晶体管m2的第一端子电连接点记为节点n1。
[0395]
如实施方式1说明,保持部hc例如具有保持对应于第一数据的电位的功能。通过在使晶体管m2及晶体管m3处于开启状态时从布线ol输入该电位而对电容c1写入然后使晶体管m2处于关闭状态,包括在图15a的电路mc中的保持部hc保持该电位。由此,可以将节点n1的电位作为对应于第一数据的电位保持。此时,从布线ol输入电流,可以在电容c1保持对应于该电流的大小的电位。因此,可以减少晶体管m1的电流特性的偏差的影响。
[0396]
另外,为了长期间保持节点n1的电位,晶体管m1优选使用关态电流低的晶体管。作为关态电流低的晶体管,例如可以使用os晶体管。另外,也可以作为晶体管m1使用包括背栅极的晶体管,对背栅极施加低电平电位而使阈值电压向正一侧漂移,来降低关态电流。
[0397]
为了在后面说明的工作例子中简单地说明输入到电路mp或从电路mp输出的电流,将图15a所示的布线ol的两端分别记为节点ina、节点outa,将布线olb的两端分别记为节点inb、节点outb。
[0398]
布线ve例如被用作供应恒电压的布线。作为该恒电压,在晶体管m3、晶体管m3r、晶体管m4或晶体管m4r为n沟道型晶体管时及/或在图8a至图8c中布线vso所供应的电位为高电平电位时,例如,可以为低电平电位的vss、接地电位或这些以外的低电平电位等。此外,布线vem、布线ver、布线vlmr的每一个与布线ve同样地被用作供应恒电压的电压线,作为该恒电压可以为低电平电位的vss、vss以外的低电平电位、接地电位等。另外,作为该恒电压也可以为高电平电位的vdd。此时,在作为运算电路110、运算电路120、运算电路130、运算电路140、运算电路150、运算电路160的电路actf[1]至电路actf[n]使用图5a至图5e、图6a至图6d、图6f中的任一个时,与电路actf[1]至电路actf[n]电连接的布线val所供应的恒电压优选为比布线ve、布线ver所供应的电位vdd高的电位。
[0399]
布线ve、布线vem、布线ver及布线vemr的每一个所供应的恒电压也可以为彼此不同,也可以为一部分或全部同一。此外,在各布线所供应的电压同一时,选择这些布线并将其用作同一布线即可。例如,在布线ve、布线vem、布线ver及布线vemr的每一个所供应的恒电压几乎相等时,如图16b的电路mp,布线vem、布线ver及布线vemr可以为与布线ve同一的布线。或者,例如,在布线vl及布线vlr的每一个所供应的恒电压几乎相等时,可以将布线vl与布线vlr组合为一个布线。或者,例如,在布线vls、布线vlsr的每一个所供应的恒电压几乎相等时,可以将布线vls与布线vlsr组合为一个布线。同样地,在图16a中,例如,也可以将布线vl与布线vlr组合为一个布线且将布线vlm与布线vlmr组合为一个布线。或者,例如,也可以将布线vl与布线vlmr组合为一个布线且将布线vlm与布线vlr组合为一个布线。
[0400]
另外,图15a的电路mp的结构可以根据情况改变。例如,如图17a所示,也可以将图15a的电路mp的晶体管m1、晶体管m1r、晶体管m3、晶体管m3r、晶体管m4、晶体管m4r分别替换为p沟道型晶体管的晶体管m1p、晶体管m1pr、晶体管m3p、晶体管m3pr、晶体管m4p、晶体管m4pr。作为晶体管m3p、晶体管m3pr、晶体管m4p、晶体管m4pr例如可以使用soi(silicon on insulator:绝缘体上硅)结构的p沟道型晶体管。此外,此时,布线ve及布线ver所供应的恒电压优选为高电平电位的vdd。此外,除了上述情况以外,在作为运算电路110、运算电路120、运算电路130、运算电路140、运算电路150及运算电路160的电路actf[1]至电路actf[n]使用图5a至图5e、图6a至图6d、图6f中的任一个电路时,与电路actf[1]至电路actf[n]
电连接的布线val所供应的恒电压优选为接地电位或vss。如此,在改变布线的电位时,电流流过的方向也改变。
[0401]
另外,同样地,晶体管m2也可以替换为p沟道型的晶体管。
[0402]
另外,例如,如图17b所示,将图15a的电路mp的晶体管m4、m4r分别替换为p沟道型晶体管的晶体管m4p、m4pr。此外,通过将与晶体管m3、晶体管m3r、晶体管m4p、晶体管m4pr的每一个的栅极连接的布线作为布线wxl组合为一个布线,电路mp可以保持0以外的第一数据(例如,权系数等)。
[0403]
另外,例如,如图17c所示,也可以将图15a的电路mp的晶体管m3、晶体管m3r、晶体管m4、晶体管m4r分别替换为模拟开关as3、模拟开关as4、模拟开关as3r、模拟开关as4r。另外,图17c还示出用来使模拟开关as3、模拟开关as4、模拟开关as3r及模拟开关as4r工作的布线wx1lb及布线x2lb。布线wx1lb与模拟开关as3及模拟开关as3r电连接,布线x2lb与模拟开关as4及模拟开关as4r电连接。对布线wx1lb输入输入到布线wx1l的信号的反转信号,对布线x2lb输入输入到布线x2l的信号的反转信号。另外,也可以将布线wx1l与布线x2l组合为一个布线且将布线wx1lb与及布线x2lb组合为一个布线(未图示)。另外,例如,模拟开关as3、模拟开关as4、模拟开关as3r及模拟开关as4r也可以采用使用n沟道型晶体管及p沟道型晶体管的cmos结构。
[0404]
图15a至图15c、图16a至图16c所示的晶体管m3、晶体管m3r、晶体管m4及晶体管m4r的尺寸例如沟道长度及沟道宽度优选彼此相同。通过采用上述电路结构,有可能有效地进行布局。此外,有可能可以使在晶体管m3、晶体管m3r、晶体管m4及晶体管m4r中流过的电流一致。此外,同样地,图15a至图15c、图16a至图16c所示的晶体管m1及晶体管m1r的尺寸优选彼此相同。此外,同样地,图15a至图15c、图16a至图16c所示的晶体管m2、晶体管m2r的尺寸优选彼此相同。另外,同样地,图16c所示的晶体管m1p及晶体管m1pr的尺寸优选彼此相同。此外,同样地,图16c所示的晶体管m3p、晶体管m3pr、晶体管m4p及晶体管m4pr的尺寸优选彼此相同。
[0405]
<<工作例子>>
[0406]
接着,对图15a所示的电路mp的工作例子进行说明。图18a至图20c是示出电路mp的工作例子的时序图,其分别示出布线wl、布线wx1l、布线x2l、节点n1、节点n1r的电位的变动。注意,图18a至图20c所记载的high示出高电平电位,low示出低电平电位。此外,在本工作例子中,从布线ol向节点outa(或者从节点outa向布线ol)输出的电流量记为i
ol
。此外,从布线olb向节点outb(或者从节点outb向布线olb)输出的电流量记为i
olb
。图18a至图20c所示的时序图还示出i
ol
、i
olb
的变化量。
[0407]
注意,在本工作例子中,将布线ve、布线vem、布线ver及布线vemr所供应的恒电压设定为vss(低电平电位)。此时,在图8a至图8c中,对布线vso供应高电平电位,电流从布线vso通过切换电路tw、布线ol向布线ve或布线ver流过。同样地,电流从布线vso通过切换电路tw、布线olb向布线ve或布线ver流过。
[0408]
在本工作例子中,在图8a至图8c中,将布线vcn所供应的电位设定为vss。通过使布线vcn与晶体管m1的第二端子之间处于导通状态,对晶体管m1的第二端子供应vss。后面详细说明,此时由于晶体管m1的栅极的电位也成为vss,因此晶体管m1处于关闭状态。同样地,通过使布线vcn与晶体管m1r的第二端子之间处于导通状态,晶体管m1r的第二端子及栅极
的电位成为vss,晶体管m1r处于关闭状态。
[0409]
在图15a所示的电路mp中,在晶体管m2及晶体管m3处于开启状态时,晶体管m1具有二极管连接的结构。因此,在电流从布线ol向电路mc流过时,晶体管m1的第二端子与晶体管m1的栅极的每一个的电位几乎相等。该电位根据从布线ol向电路mc流过的电流量及晶体管m1的第一端子的电位(这里vss)等决定。这里,在电容c1中保持晶体管m1的栅极的电位,然后使晶体管m2处于关闭状态,由此晶体管m1被用作根据晶体管m1的栅极的电位流过电流的电流源。因此,可以减少晶体管m1的电流特性的偏差的影响。
[0410]
例如,当在晶体管m2及晶体管m3处于开启状态下从布线ol通过电路mc向布线ve流过i1的电流量时,晶体管m1的栅极(节点n1)的电位成为v1。这里,通过使晶体管m2处于关闭状态,v1被保持部hc保持。由此,晶体管m1可以将晶体管m1的第一端子的电位vss及对应于晶体管m1的栅极的电位v1的电流的i1向晶体管m1的源极与漏极间流过。在本说明书等中,将这种工作称为“在晶体管m1中将晶体管m1的源极与漏极间流过的电流量设定为i
1”、“在晶体管m1中将晶体管m1的源极与漏极间流过的电流量被编程为i
1”等。
[0411]
在本工作例子中,从布线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。
[0412]
注意,i1的电流量大于0且小于i2。此外,电位v1高于vss且低于v2。另外,晶体管m1的阈值电压高于0且低于v1‑
vss。另外,i1例如可以替换为图8a至图8c的说明中的恒流源电路isc1所生成的i
ut
,i2例如可以替换为图8a至图8c的说明中的恒流源电路isc2所生成的2i
ut
。
[0413]
在说明工作例子之前,电路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”。
[0414]
输入到电路mp的第二数据(例如,这里是神经元的信号的值(运算值))例如定义为如下。在对布线wx1l施加高电平电位且对布线x2l施加低电平电位时,对电路mp作为第二数据(神经元的信号的值)输入“ 1”。在对布线wx1l施加低电平电位且对布线x2l施加高电平
电位时,对电路mp作为第二数据(神经元的信号的值)输入
“‑
1”。在对布线wx1l施加低电平电位且对布线x2l施加低电平电位时,对电路mp作为第二数据(神经元的信号的值)输入“0”。注意,例如,高电平电位为vdd、比vdd高10%以上或20%以上的电位。
[0415]
另外,在本说明书等中,在没有特别的说明的情况下,晶体管m1及晶体管m1r在开启状态时有时最后在饱和区域中工作。也就是说,对上述各晶体管的栅极电压、源极电压及漏极电压有时进行适当的偏压,使得该晶体管在饱和区域中工作。注意,本发明的一个方式不局限于此。为了减小所供应的电压的振幅值,晶体管m1及晶体管m1r也可以在线性区域中工作。另外,在第一数据(权系数)为模拟值时,晶体管m1及晶体管m1r例如也可以根据第一数据(权系数)的大小有时在线性区域中工作,有时在饱和区域中工作。
[0416]
另外,在本说明书等中,在没有特别的说明的情况下,晶体管m2、晶体管m2r、晶体管m3、晶体管m3r、晶体管m4及晶体管m4r在开启状态时有时最后在线性区域中工作。也就是说,对上述各晶体管的栅极电压、源极电压及漏极电压有时进行适当的偏压,使得该晶体管在线性区域中工作。注意,本发明的一个方式不局限于此。例如,晶体管m2、晶体管m2r、晶体管m3、晶体管m3r、晶体管m4及晶体管m4r在开启状态时也可以在饱和区域中工作,也可以有时在线性区域中工作有时在饱和区域中工作。
[0417]
以下按第一数据(例如,以下是权系数)及第二数据(例如,以下是神经元的信号的值(运算值)等)的每一个所取得的值的组合说明电路mp的工作例子。
[0418]
[条件1]
[0419]
首先,作为一个例子,考虑第一数据(权系数)为“0”且输入到电路mp的第二数据(神经元的信号的值(运算值))为“ 1”的情况。图18a是此时的电路mp的时序图。
[0420]
在时刻t1至时刻t2的期间在保持部hc及保持部hcr中保持初始电位。在图18a中,例如,在节点n1、节点n1r作为初始电位保持比电位vss高的电位。
[0421]
对布线wl、布线wx1l、布线x2l施加低电平电位。由此,由于对晶体管m2、晶体管m2r、晶体管m3、晶体管m3r、晶体管m4及晶体管m4r的每一个的栅极输入低电平电位,所以晶体管m2、晶体管m2r、晶体管m3、晶体管m3r、晶体管m4及晶体管m4r的每一个处于关闭状态。
[0422]
在时刻t2至时刻t3的期间,对布线wl及布线wx1l施加高电平电位。由此,由于对晶体管m2、晶体管m2r、晶体管m3、晶体管m3r的每一个的栅极输入高电平电位,所以晶体管m2、晶体管m2r、晶体管m3及晶体管m3r都处于开启状态。
[0423]
此外,虽然在图18a中未图示,但是对布线ol及布线olb的每一个作为初始化电位施加v
ini
。由于晶体管m2、晶体管m2r、晶体管m3及晶体管m3r的每一个处于开启状态,所以保持部hc的节点n1及保持部hcr的节点n1r的每一个的电位成为v
ini
。也就是说,在时刻t2至时刻t3的期间,进行保持部hc的节点n1及保持部hcr的节点n1r的每一个的电位的初始化。
[0424]
注意,作为初始化电位的v
ini
例如优选为接地电位。此外,作为初始化电位的v
ini
,也可以为vss、比接地电位高的电位或比接地电位低的电位。此外,对布线ol及布线olb的每一个施加的初始化电位v
ini
也可以为彼此不同的电位。注意,也可以不对布线ol及布线olb的每一个输入初始化电位v
ini
。注意,不一定必需设置时刻t2至时刻t3的期间。或者,不一定必需在时刻t2至时刻t3的期间进行初始化。
[0425]
在时刻t3至时刻t4的期间,从布线ol对电路mc输入电位vss,从布线olb对电路mcr输入电位vss。该工作在图8a至图8c中使开关swl及开关swlb处于开启状态且使开关swi、开
关swib、开关swo、开关swob、开关swh及开关swhb处于关闭状态进行。由此,保持部hc的节点n1的电位为vss,保持部hcr的节点n1r的电位为vss。由此,由于在电路mc中以晶体管m1作为电流量流过0的方式设定,所以电流不从布线ol通过电路mc向布线ve流过。此外,由于在电路mcr中以晶体管m1r作为电流量流过0的方式设定,所以电流不从布线olb通过电路mcr向布线ver流过。换言之,在时刻t3至时刻t4的期间,由于晶体管m1、晶体管m1r处于关闭状态,所以在布线ol与布线ve之间成为非导通状态,在布线olb与布线ver之间成为非导通状态。
[0426]
在时刻t4至时刻t5的期间,对布线wl及布线wx1l施加低电平电位。由此,由于对晶体管m2、晶体管m2r、晶体管m3、晶体管m3r的每一个的栅极输入低电平电位,所以晶体管m2、晶体管m2r、晶体管m3、晶体管m3r都处于关闭状态。通过晶体管m2、晶体管m2r成为关闭状态,保持保持部hc的节点n1的电位vss,且保持保持部hcr的节点n1r的电位vss。此外,通过晶体管m3成为关闭状态,电流不从布线ol通过电路mc向布线ve流过。另外,同样地,通过晶体管m3r成为关闭状态,电流不从布线olb通过电路mcr向布线ver流过。注意,在时刻t4至时刻t5的期间,也可以使图8a所示的开关swh及开关swhb开启,且使布线ol及布线olb的电位初始化。通过使布线ol及布线olb的电位初始化,在时刻t5以后,可以通过从电路mp输出的电流使布线ol及布线olb的电位改变。
[0427]
通过时刻t1至时刻t5的工作,作为电路mp的第一数据(权系数)设定“0”。在电路mp中设定第一数据(权系数)之后,在图8a至图8c中,也可以使开关swi、开关swib、开关swo、开关swob、开关swl及开关swlb处于关闭状态。注意,在电路mp中设定权系数之后,也可以使开关swh及开关swhb处于开启状态,且使布线ol及布线olb的电位初始化。在使布线ol及布线olb的电位初始化之后,也可以使开关swh及开关swhb处于关闭状态。
[0428]
在时刻t5以后,作为对电路mp的神经元的信号(运算值)“ 1”的输入,对布线wx1l输入高电平电位,对布线x2l输入低电平电位。此时,对晶体管m3及晶体管m3r的每一个的栅极输入高电平电位,对晶体管m4及晶体管m4r的每一个的栅极输入低电平电位。因此,晶体管m3及晶体管m3r都成为开启状态,晶体管m4及晶体管m4r都成为关闭状态。也就是说,通过该工作,在电路mc与布线ol之间及在电路mcr与布线olb之间成为导通状态,在电路mc与布线olb之间及在电路mcr与布线ol之间成为非导通状态。
[0429]
此时,在图8a至图8c中,使开关swo、swob处于开启状态,使开关swi、开关swib、开关swl、开关swlb、开关swh及开关swhb处于关闭状态,在布线ol及布线olb的每一个与电路afp之间处于导通状态。注意,由于晶体管m1处于关闭状态(以作为电流量流过0的方式设定),所以在电路mc中电流不在布线ol及布线olb与布线ve之间流过。同样地,由于晶体管m1r处于关闭状态(以作为电流量流过0的方式设定),所以在电路mcr中电流不在布线ol及布线olb与布线ver之间流过。如上所述,从布线ol的节点outa输出的电流i
ol
及从布线olb的节点outb输出的电流i
olb
在时刻t5前后不变化。因此,电流i
ol
不在电路afp与布线ol之间流过,且电流i
olb
不在电路afp与布线olb之间流过。
[0430]
在本条件中,由于第一数据(权系数)为“0”且输入到电路mp的第二数据(神经元的信号的值(运算值))为“ 1”,所以在使用算式(1.1)时第一数据(权系数)与第二数据(神经元的信号的值)之积为“0”。第一数据(权系数)与第二数据(神经元的信号的值)之积为“0”的结果对应于在电路mp的工作中在时刻t5以后电流i
ol
及电流i
olb
都不变化的情况。注意,第一数据(权系数)与第二数据(神经元的信号的值)之积为“0”的结果在图8a至图8c中从电路
afp作为信号z
j(k)
输出。
[0431]
注意,也可以通过一旦输入第一数据(例如,权系数等)就不更新该数据的值而只改变第二数据(神经元的信号的值或运算值等),来进行多个积和运算处理。在此情况下,不需要第一数据(权系数)的更新,所以可以降低功耗。另外,为了减少第一数据(权系数)的更新频率,需要长期间保持第一数据(权系数)。此时,例如在使用os晶体管时,由于关态电流低,所以可以长期间保持第一数据(权系数)。
[0432]
[条件2]
[0433]
接着,作为一个例子,考虑第一数据(权系数)为“ 1”且输入到电路mp的第二数据(神经元的信号的值(运算值))为“ 1”的情况。图18b是此时的电路mp的时序图。
[0434]
因为条件2的时刻t1至时刻t3的期间的工作与条件1的时刻t1至时刻t3的期间的工作相同,所以参照条件1的时刻t1至时刻t3的期间的工作的说明。
[0435]
在时刻t3至时刻t4的期间,从布线ol对电路mc作为电流量输入i1,从布线olb对电路mcr输入电位vss。该工作在图8a至图8c中使开关swi及开关swlb处于开启状态且使开关swib、开关swo、开关swob、开关swlb、开关swh及开关swhb处于关闭状态进行。由此,保持部hc的节点n1的电位为v1,保持部hcr的节点n1r的电位为vss。由此,由于在电路mc中以晶体管m1作为电流量流过i1的方式设定,所以i1从布线ol通过电路mc向布线ve作为电流量流过。此外,由于在电路mcr中以晶体管m1r作为电流量流过0的方式设定,所以电流不从布线olb通过电路mcr向布线ver流过。
[0436]
在时刻t4至时刻t5的期间,对布线wl及布线wx1l施加低电平电位。由此,由于对晶体管m2、晶体管m2r、晶体管m3、晶体管m3r的每一个的栅极输入低电平电位,所以晶体管m2、晶体管m2r、晶体管m3、晶体管m3r都处于关闭状态。通过晶体管m2、晶体管m2r成为关闭状态,保持保持部hc的节点n1的电位v1,且保持保持部hcr的节点n1r的电位vss。此外,通过晶体管m3成为关闭状态,电流不从布线ol通过电路mc向布线ve流过。另外,同样地,通过晶体管m3r成为关闭状态,电流不从布线olb通过电路mcr向布线ver流过。注意,在时刻t4至时刻t5的期间,也可以使图8a所示的开关swh及开关swhb开启,且使布线ol及布线olb的电位初始化。通过使布线ol及布线olb的电位初始化,在时刻t5以后,可以通过从电路mp输出的电流使布线ol及布线olb的电位改变。
[0437]
通过时刻t1至时刻t5的工作,作为电路mp的第一数据(权系数)设定“ 1”。在电路mp中设定第一数据(权系数)之后,在图8a至图8c中,也可以使开关swi、开关swib、开关swo、开关swob、开关swl及开关swlb处于关闭状态。注意,在电路mp中设定第一数据(权系数)之后,也可以使开关swh及开关swhb处于开启状态,且使布线ol及布线olb的电位初始化。在使布线ol及布线olb的电位初始化之后,也可以使开关swh及开关swhb处于关闭状态。
[0438]
在时刻t5以后,作为对电路mp的第二数据(神经元的信号的值(运算值))“ 1”的输入,对布线wx1l输入高电平电位,对布线x2l输入低电平电位。此时,对晶体管m3及晶体管m3r的每一个的栅极输入高电平电位,对晶体管m4及晶体管m4r的每一个的栅极输入低电平电位。因此,晶体管m3及晶体管m3r都成为开启状态,晶体管m4及晶体管m4r都成为关闭状态。也就是说,通过该工作,在电路mc与布线ol之间及在电路mcr与布线olb之间成为导通状态,在电路mc与布线olb之间及在电路mcr与布线ol之间成为非导通状态。
[0439]
此时,在图8a至图8c中,使开关swo及开关swob处于开启状态,使开关swi、开关
swib、开关swl、开关swlb、开关swh及开关swhb处于关闭状态,在布线ol及布线olb的每一个与电路afp之间处于导通状态。由于在电路mc中晶体管m3处于开启状态且晶体管m1r处于开启状态(以作为电流量流过i1的方式设定),在布线ol至布线ve之间电流流过。此外,由于在电路mc中晶体管m4处于关闭状态,所以在布线olb至布线ve之间电流不流过。另一方面,由于在电路mcr中晶体管m3r处于开启状态而晶体管m1处于关闭状态(以作为电流量流过0的方式设定),所以在布线olb至布线ver之间电流不流过。此外,由于在电路mcr中晶体管m4r处于关闭状态,所以在布线ol至布线ver之间电流不流过。如上所述,从布线ol的节点outa输出的电流i
ol
在经过时刻t5之后增加i1,从布线olb的节点outb输出的电流i
olb
在时刻t5前后不变化。因此,在电路afp与布线ol之间电流量i1的电流i
ol
流过,且在电路afp与布线olb之间电流i
olb
不流过。
[0440]
在本条件中,由于第一数据(权系数)为“ 1”且输入到电路mp的第二数据(神经元的信号的值)为“ 1”,所以在使用算式(1.1)时第一数据(权系数)与第二数据(神经元的信号的值)之积为“ 1”。第一数据(权系数)与第二数据(神经元的信号的值)之积为“ 1”的结果对应于在电路mp的工作中在时刻t5以后电流i
ol
增加i1且电流i
olb
不变化的情况。注意,第一数据(权系数)与第二数据(神经元的信号的值)之积为“ 1”的结果在图8a至图8c中从电路afp作为信号z
j(k)
输出。
[0441]
注意,在本条件的时刻t3至时刻t4的期间,例如,通过将从布线ol向电路mc流过的电流设定为i2而不是i1,可以在保持部hc保持v2。由此,作为电路mp的第一数据(权系数)设定“ 2”。当将第一数据(权系数)设定为“ 2”,且将输入到电路mp的神经元的信号设定为“ 1”时,通过算式(1.1)第一数据(权系数)与第二数据(神经元的信号的值)之积为“ 2”。第一数据(权系数)与第二数据(神经元的信号的值)之积为“ 2”的结果对应于在电路mp的工作中在时刻t5以后电流i
ol
增加i2而电流i
olb
不变化的情况。如此,在电路mcr中在保持部hcr保持vss,且在电路mc中设定电流量i1以外的电流量,作为电路mp的第一数据(权系数)设定“ 1”以外的正值。
[0442]
[条件3]
[0443]
接着,作为一个例子,考虑第一数据(权系数)w为
“‑
1”且输入到电路mp的第二数据(神经元的信号的值(运算值))为“ 1”的情况。图18c是此时的电路mp的时序图。
[0444]
因为条件3的时刻t1至时刻t3的期间的工作与条件1的时刻t1至时刻t3的期间的工作相同,所以参照条件1的时刻t1至时刻t3的期间的工作的说明。
[0445]
在时刻t3至时刻t4的期间,从布线ol对电路mc输入电位vss,从布线olb对电路mcr作为电流量输入i1。该工作在图8a至图8c中使开关swib及开关swl处于开启状态且使开关swi、开关swo、开关swob、开关swlb、开关swh及开关swhb处于关闭状态进行。由此,保持部hc的节点n1的电位为vss,保持部hcr的节点n1r的电位为v1。由此,由于在电路mcr中以晶体管m1作为电流量流过0的方式设定,所以电流不从布线ol通过电路mc向布线ve流过。此外,由于在电路mcr中以晶体管m1r作为电流量流过i1的方式设定,所以i1从布线olb通过电路mcr向布线ver作为电流量流过。
[0446]
在时刻t4至时刻t5的期间,对布线wl及布线wx1l施加低电平电位。由此,由于对晶体管m2、晶体管m2r、晶体管m3、晶体管m3r的每一个的栅极输入低电平电位,所以晶体管m2、晶体管m2r、晶体管m3、晶体管m3r都处于关闭状态。通过晶体管m2、晶体管m2r成为关闭状
态,保持保持部hc的节点n1的电位vss,且保持保持部hcr的节点n1r的电位v1。此外,通过晶体管m3成为关闭状态,电流不从布线ol通过电路mc向布线ve流过。另外,同样地,通过晶体管m3r成为关闭状态,电流不从布线olb通过电路mcr向布线ver流过。注意,在时刻t4至时刻t5的期间,也可以使图8a所示的开关swh及开关swhb开启,且使布线ol及布线olb的电位初始化。通过使布线ol及布线olb的电位初始化,在时刻t5以后,可以通过从电路mp输出的电流使布线ol及布线olb的电位改变。
[0447]
通过时刻t1至时刻t5的工作,作为电路mp的第一数据(权系数)设定
“‑
1”。在电路mp中设定第一数据(权系数)之后,在图8a至图8c中,也可以使开关swi、开关swib、开关swo、开关swob、开关swl及开关swlb处于关闭状态。注意,在电路mp中设定第一数据(权系数)之后,也可以使开关swh及开关swhb处于开启状态,且使布线ol及布线olb的电位初始化。在使布线ol及布线olb的电位初始化之后,也可以使开关swh及开关swhb处于关闭状态。
[0448]
在时刻t5以后,作为对电路mp的第二数据(神经元的信号的值(运算值))“ 1”的输入,对布线wx1l输入高电平电位,对布线x2l输入低电平电位。此时,对晶体管m3及晶体管m3r的每一个的栅极输入高电平电位,对晶体管m4及晶体管m4r的每一个的栅极输入低电平电位。因此,晶体管m3及晶体管m3r都成为开启状态,晶体管m4及晶体管m4r都成为关闭状态。也就是说,通过该工作,在电路mc与布线ol之间及在电路mcr与布线olb之间成为导通状态,在电路mc与布线olb之间及在电路mcr与布线ol之间成为非导通状态。
[0449]
此时,在图8a至图8c中,使开关swo及开关swob处于开启状态,使开关swi、开关swib、开关swl、开关swlb、开关swh及开关swhb处于关闭状态,在布线ol及布线olb的每一个与电路afp之间处于导通状态。由于在电路mc中晶体管m3处于开启状态且晶体管m1处于关闭状态(以作为电流量流过0的方式设定),在布线ol至布线ve之间电流不流过。此外,由于在电路mc中晶体管m4处于关闭状态,所以在布线olb至布线ve之间电流不流过。另一方面,由于在电路mcr中晶体管m3r处于开启状态且晶体管m1r处于开启状态(以作为电流量流过i1的方式设定),所以在布线olb至布线ver之间电流流过。此外,由于在电路mcr中晶体管m4r处于关闭状态,所以在布线ol至布线ver之间电流不流过。如上所述,从布线ol的节点outa输出的电流i
ol
在时刻t5前后不变化,从布线olb的节点outb输出的电流i
olb
在经过时刻t5之后增加i1。因此,在电路afp与布线ol之间电流i
ol
不流过,且在电路afp与布线olb之间电流量i1的电流i
olb
流过。
[0450]
在本条件中,由于第一数据(权系数)为
“‑
1”且输入到电路mp的第二数据(神经元的信号的值(运算值))为“ 1”,所以在使用算式(1.1)时第一数据(权系数)与第二数据(神经元的信号的值)之积为
“‑
1”。第一数据(权系数)与第二数据(神经元的信号的值)之积为
“‑
1”的结果对应于在电路mp的工作中在时刻t5以后电流i
ol
不变化且电流i
olb
增加i1的情况。注意,第一数据(权系数)与第二数据(神经元的信号的值)之积为
“‑
1”的结果在图8a至图8c中从电路afp作为信号z
j(k)
输出。
[0451]
注意,在本条件的时刻t3至时刻t4的期间,例如,通过将从布线olb向电路mcr流过的电流设定为i2而不是i1,可以在保持部hcr保持v2。由此,作为电路mp的第一数据(权系数)设定
“‑
2”。当将第一数据(权系数)设定为
“‑
2”,且将输入到电路mp的第二数据(神经元的信号的值)设定为“ 1”时,通过算式(1.1)第一数据(权系数)与第二数据(神经元的信号的值)之积为
“‑
2”。第一数据(权系数)与第二数据(神经元的信号的值)之积为
“‑
2”的结果对应于
在电路mp的工作中在时刻t5以后电流i
ol
不变化而电流i
olb
增加i2的情况。如此,在电路mc中在保持部hc保持vss,且在电路mcr中作为电流量设定i1以外的电流量,作为电路mp的权系数设定“ 1”以外的正值。
[0452]
[条件4]
[0453]
在本条件中,作为一个例子,考虑第一数据(权系数)为“0”且输入到电路mp的第二数据(神经元的信号的值(运算值))为
“‑
1”的情况的电路mp的工作。图19a是此时的电路mp的时序图。
[0454]
因为条件4的时刻t1至时刻t5的期间的工作与条件1的时刻t1至时刻t5的期间的工作相同,所以参照条件1的时刻t1至时刻t5的期间的工作的说明。
[0455]
在时刻t5以后,作为对电路mp的第二数据(神经元的信号的值(运算值))
“‑
1”的输入,对布线wx1l输入低电平电位,对布线x2l输入高电平电位。此时,对晶体管m3及晶体管m3r的每一个的栅极输入低电平电位,对晶体管m4及晶体管m4r的每一个的栅极输入高电平电位。因此,晶体管m3及晶体管m3r都成为关闭状态,晶体管m4及晶体管m4r都成为开启状态。也就是说,通过该工作,在电路mc与布线ol之间及在电路mcr与布线olb之间成为非导通状态,在电路mc与布线olb之间及在电路mcr与布线ol之间成为导通状态。
[0456]
此时,在图8a至图8c中,使开关swo及开关swob处于开启状态,使开关swi、开关swib、开关swl及开关swlb处于关闭状态,在布线ol及布线olb的每一个与电路afp之间处于导通状态。注意,由于晶体管m1处于关闭状态(以作为电流量流过0的方式设定),所以在电路mc中电流不在布线ol及布线olb与布线ve之间流过。也就是说,从布线ol的节点outa输出的电流i
ol
及从布线olb的节点outb输出的电流i
olb
在时刻t5的前后不变化。同样地,由于晶体管m1r处于关闭状态(以作为电流量流过0的方式设定),所以在电路mcr中电流不在布线ol及布线olb与布线ver之间流过。换言之,从布线ol的节点outa输出的电流i
ol
及从布线olb的节点outb输出的电流i
olb
也在时刻t5前后不变化。因此,电流i
ol
不在电路afp与布线ol之间流过,且电流i
olb
不在电路afp与布线olb之间流过。
[0457]
在本条件中,由于第一数据(权系数)为“0”且输入到电路mp的第二数据(神经元的信号的值(运算值))为
“‑
1”,所以在使用算式(1.1)时第一数据(权系数)与第二数据(神经元的信号的值)之积为“0”。第一数据(权系数)与第二数据(神经元的信号的值)之积为“0”的结果对应于在电路mp的工作中在时刻t6以后电流i
ol
及电流i
olb
都不变化的情况,该结果与条件1的电路工作的结果一致。注意,第一数据(权系数)与第二数据(神经元的信号的值)之积为“0”的结果与条件1同样地在图8a至图8c中从电路afp作为信号z
j(k)
输出。
[0458]
[条件5]
[0459]
在本条件中,作为一个例子,考虑第一数据(权系数)为“ 1”且输入到电路mp的第二数据(神经元的信号的值(运算值))为
“‑
1”的情况的电路mp的工作。图19b是此时的电路mp的时序图。
[0460]
因为条件5的时刻t1至时刻t5的期间的工作与条件2的时刻t1至时刻t5的期间的工作相同,所以参照条件2的时刻t1至时刻t5的期间的工作的说明。
[0461]
在时刻t5以后,作为对电路mp的第二数据(神经元的信号的值(运算值))
“‑
1”的输入,对布线wx1l输入低电平电位,对布线x2l输入高电平电位。此时,对晶体管m3及晶体管m3r的每一个的栅极输入低电平电位,对晶体管m4及晶体管m4r的每一个的栅极输入高电平
电位。因此,晶体管m3及晶体管m3r都成为关闭状态,晶体管m4及晶体管m4r都成为开启状态。也就是说,通过该工作,在电路mc与布线ol之间及在电路mcr与布线olb之间成为非导通状态,在电路mc与布线olb之间及在电路mcr与布线ol之间成为导通状态。
[0462]
此时,在图8a至图8c中,使开关swo及开关swob处于开启状态,使开关swi、开关swib、开关swl、开关swlb、开关swh及开关swhb处于关闭状态,在布线ol及布线olb的每一个与电路afp之间处于导通状态。由于在电路mc中晶体管m3处于关闭状态,所以在布线ol至布线ve之间电流不流过。此外,由于在电路mc中晶体管m4处于开启状态且晶体管m1r处于开启状态(以作为电流量流过i1的方式设定),在布线olb至布线ve之间电流流过。另一方面,由于在电路mcr中晶体管m3r处于关闭状态,所以在布线olb至布线ver之间电流不流过。此外,由于在电路mcr中晶体管m4r处于开启状态且晶体管m1处于关闭状态(以作为电流量流过0的方式设定),在布线ol至布线ver之间电流不流过。如上所述,从布线ol的节点outa输出的电流i
ol
在时刻t5前后不变化,从布线olb的节点outb输出的电流i
olb
在经过时刻t5之后增加i1。因此,在电路afp与布线ol之间电流i
ol
不流过,且在电路afp与布线olb之间电流量i1的电流i
olb
流过。
[0463]
在本条件中,由于第一数据(权系数)为“ 1”且输入到电路mp的第二数据(神经元的信号的值(运算值))为
“‑
1”,所以在使用算式(1.1)时第一数据(权系数)与第二数据(神经元的信号的值)之积为
“‑
1”。第一数据(权系数)与第二数据(神经元的信号的值)之积为
“‑
1”的结果对应于在电路mp的工作中在时刻t5以后电流i
ol
不变化且电流i
olb
增加i1的情况,该结果与条件3的电路工作的结果一致。注意,第一数据(权系数)与第二数据(神经元的信号的值)之积为
“‑
1”的结果与条件3同样地在图8a至图8c中从电路afp作为信号z
j(k)
输出。
[0464]
注意,如也在条件2中说明,在本条件的时刻t3至时刻t4的期间,例如,通过将从布线ol向电路mc流过的电流设定为i2而不是i1,也可以在保持部hc保持v2。由此,作为电路mp的第一数据(权系数)设定“ 2”。当将第一数据(权系数)设定为“ 2”,且将输入到电路mp的神经元的信号设定为
“‑
1”时,通过算式(1.1)第一数据(权系数)与第二数据(神经元的信号的值)之积为
“‑
2”。第一数据(权系数)与第二数据(神经元的信号的值)之积为
“‑
2”的结果对应于在电路mp的工作中在时刻t5以后电流i
ol
不变化而电流i
olb
增加i2的情况。如此,在电路mcr中在保持部hcr保持vss,且在电路mc中设定电流量i1以外的电流量,作为电路mp的权系数设定“ 1”以外的正值。
[0465]
[条件6]
[0466]
在本条件中,作为一个例子,考虑第一数据(权系数)为
“‑
1”且输入到电路mp的第二数据(神经元的信号的值(运算值))为
“‑
1”的情况的电路mp的工作。图19c是此时的电路mp的时序图。
[0467]
因为条件6的时刻t1至时刻t5的期间的工作与条件3的时刻t1至时刻t5的期间的工作相同,所以参照条件3的时刻t1至时刻t5的期间的工作的说明。
[0468]
在时刻t5以后,作为对电路mp的第二数据(神经元的信号的值(运算值))
“‑
1”的输入,对布线wx1l输入低电平电位,对布线x2l输入高电平电位。此时,对晶体管m3及晶体管m3r的每一个的栅极输入低电平电位,对晶体管m4及晶体管m4r的每一个的栅极输入高电平电位。因此,晶体管m3及晶体管m3r都成为关闭状态,晶体管m4及晶体管m4r都成为开启状
态。也就是说,通过该工作,在电路mc与布线ol之间及在电路mcr与布线olb之间成为非导通状态,在电路mc与布线olb之间及在电路mcr与布线ol之间成为导通状态。
[0469]
此时,在图8a至图8c中,使开关swo及开关swob处于开启状态,使开关swi、开关swib、开关swl、开关swlb、开关swh及开关swhb处于关闭状态,在布线ol及布线olb的每一个与电路afp之间处于导通状态。由于在电路mc中晶体管m3处于关闭状态,所以在布线ol至布线ve之间电流不流过。此外,由于在电路mc中晶体管m4处于开启状态而晶体管m1处于关闭状态(以作为电流量流过0的方式设定),在布线olb至布线ve之间电流不流过。另一方面,由于在电路mcr中晶体管m3r处于关闭状态,所以在布线olb至布线ver之间电流不流过。此外,由于在电路mcr中晶体管m4r处于开启状态且晶体管m1处于开启状态(以作为电流量流过i1的方式设定),在布线ol至布线ver之间电流流过。如上所述,从布线ol的节点outa输出的电流i
ol
在经过时刻t5之后增加i1,从布线olb的节点outb输出的电流i
olb
在时刻t5前后不变化。因此,在电路afp与布线ol之间电流i
ol
电流量i1的电流i
olb
流过,且在电路afp与布线olb之间电流i
olb
不流过。
[0470]
在本条件中,由于第一数据(权系数)为
“‑
1”且输入到电路mp的第二数据(神经元的信号的值(运算值))为
“‑
1”,所以在使用算式(1.1)时第一数据(权系数)与第二数据(神经元的信号的值)之积为“ 1”。第一数据(权系数)与第二数据(神经元的信号的值)之积为“ 1”的结果对应于在电路mp的工作中在时刻t6以后电流i
ol
变化且电流i
olb
不变化的情况,该结果与条件2的电路工作的结果一致。注意,第一数据(权系数)与第一数据(神经元的信号的值)之积为“ 1”的结果与条件2同样地在图8a至图8c中从电路afp作为信号z
j(k)
输出。
[0471]
注意,如也在条件3中说明,在本条件的时刻t3至时刻t4的期间,例如,通过将从布线olb向电路mcr流过的电流设定为i2而不是i1,也可以在保持部hc保持v2。由此,作为电路mp的第一数据(权系数)设定
“‑
2”。当将第一数据(权系数)设定为
“‑
2”,且将输入到电路mp的第二数据(神经元的信号的值)设定为
“‑
1”时,通过算式(1.1)第一数据(权系数)与第二数据(神经元的信号的值)之积为“ 2”。第一数据(权系数)与第二数据(神经元的信号的值)之积为“ 2”的结果对应于在电路mp的工作中在时刻t5以后电流i
ol
不变化而电流i
olb
增加i2的情况。如此,在电路mc中在保持部hc保持vss,且在电路mcr中设定电流量i1以外的电流量,作为电路mp的权系数设定“ 1”以外的正值。
[0472]
[条件7]
[0473]
在本条件中,作为一个例子,将第一数据(权系数)为“0”且对电路mp输入的第二数据(神经元的信号的值(运算值))为“0”的情况作为条件7考虑电路mp的工作。图20a是此时的电路mp的时序图。
[0474]
因为条件7的时刻t1至时刻t5的期间的工作与条件1的时刻t1至时刻t5的期间的工作相同,所以参照条件1的时刻t1至时刻t5的期间的工作的说明。
[0475]
在时刻t5以后,作为对电路mp的第二数据(神经元的信号的值(运算值))“0”的输入,对布线wx1l输入低电平电位,对布线x2l输入低电平电位。此时,对晶体管m3、晶体管m3r、晶体管m4及晶体管m4r的每一个的栅极输入低电平电位。因此,晶体管m3、晶体管m3r、晶体管m4及晶体管m4r的每一个处于关闭状态。也就是说,通过该工作,在电路mc与布线ol之间、电路mcr与布线olb之间、电路mc与布线olb之间及电路mcr与布线ol之间成为非导通状态。
[0476]
由此,在电路mc中,无论在晶体管m1中流过的被设定的电流的量如何都在布线ol至布线ve和布线ver中的一个之间电流不流过。同样地,在电路mcr中,无论在晶体管m1r中流过的被设定的电流的量如何都在布线olb至布线ve和布线ver中的另一个之间电流不流过。也就是说,从布线ol的节点outa输出的电流i
ol
及从布线olb的节点outb输出的电流i
olb
的每一个在时刻t5前后不变化。
[0477]
此时,在图8a至图8c中,通过使开关swo及开关swob处于开启状态,使开关swi、开关swib、开关swl、开关swlb、开关swh及开关swhb处于关闭状态,在布线ol及布线olb的每一个与电路afp之间处于导通状态,如上所述,在电路afp与布线ol之间电流i
ol
不流过,且在电路afp与布线olb之间电流i
olb
不流过。
[0478]
在本条件中,由于第一数据(权系数)为“0”且输入到电路mp的第二数据(神经元的信号的值(运算值))为“0”,所以在使用算式(1.1)时第一数据(权系数)与第二数据(神经元的信号的值)之积为“0”。第一数据(权系数)与第二数据(神经元的信号的值)之积为“0”的结果对应于在电路mp的工作中在时刻t5以后电流i
ol
及电流i
olb
都不变化的情况,该结果与条件1、条件4的电路工作的结果一致。注意,第一数据(权系数)与第二数据(神经元的信号的值)之积为“0”的结果与条件1、条件4同样地在图8a至图8c中从电路afp作为信号z
j(k)
输出。
[0479]
[条件8]
[0480]
在本条件中,作为一个例子,将第一数据(权系数)为“ 1”且对电路mp输入的第二数据(神经元的信号的值(运算值))为“0”的情况作为条件8考虑电路mp的工作。图20b是此时的电路mp的时序图。
[0481]
因为条件8的时刻t1至时刻t5的期间的工作与条件2的时刻t1至时刻t5的期间的工作相同,所以参照条件2的时刻t1至时刻t5的期间的工作的说明。
[0482]
在时刻t5以后,作为对电路mp的第二数据(神经元的信号的值(运算值))“0”的输入,对布线wx1l输入低电平电位,对布线x2l输入低电平电位。此时,对晶体管m3、晶体管m3r、晶体管m4及晶体管m4r的每一个的栅极输入低电平电位。因此,晶体管m3、晶体管m3r、晶体管m4及晶体管m4r的每一个处于关闭状态。也就是说,与条件7同样地,通过该工作,无论在晶体管m1及晶体管m1r的每一个中流过的被设定的电流的量如何在电路mc与布线ol之间、电路mcr与布线olb之间、电路mc与布线olb之间及电路mcr与布线ol之间处于非导通状态。因此,在布线ol至布线ve和布线ver中的一个之间电流不流过且在布线olb至布线ve和布线ver中的另一个之间电流也不流过,从布线ol的节点outa输出的电流i
ol
及从布线olb的节点outb输出的电流i
olb
的每一个在时刻t5前后不变化。
[0483]
此时,在图8a至图8c中,通过使开关swo及开关swob处于开启状态,使开关swi、开关swib、开关swl及开关swlb处于关闭状态,在布线ol及布线olb的每一个与电路afp之间处于导通状态,如上所述,在电路afp与布线ol之间电流i
ol
不流过,且在电路afp与布线olb之间电流i
olb
不流过。
[0484]
在本条件中,由于第一数据(权系数)为“ 1”且输入到电路mp的第二数据(神经元的信号的值(运算值))为“0”,所以在使用算式(1.1)时第一数据(权系数)与第二数据(神经元的信号的值)之积为“0”。第一数据(权系数)与第二数据(神经元的信号的值)之积为“0”的结果对应于在电路mp的工作中在时刻t5以后电流i
ol
及电流i
olb
都不变化的情况,该结果
与条件1、条件4、条件7的电路工作的结果一致。注意,第一数据(权系数)与第二数据(神经元的信号的值)之积为“0”的结果与条件1、条件4、条件7同样地在图8a至图8c中从电路afp作为信号z
j(k)
输出。
[0485]
[条件9]
[0486]
在本条件中,作为一个例子,将第一数据(权系数)为
“‑
1”且对电路mp输入的第二数据(神经元的信号的值(运算值))为“0”的情况作为条件9考虑电路mp的工作。图20c是此时的电路mp的时序图。
[0487]
因为条件9的时刻t1至时刻t5的期间的工作与条件3的时刻t1至时刻t5的期间的工作相同,所以参照条件3的时刻t1至时刻t5的期间的工作的说明。
[0488]
在时刻t5以后,作为对电路mp的第二数据(神经元的信号的值(运算值))“0”的输入,对布线wx1l输入低电平电位,对布线x2l输入低电平电位。此时,对晶体管m3、晶体管m3r、晶体管m4及晶体管m4r的每一个的栅极输入低电平电位。因此,晶体管m3、晶体管m3r、晶体管m4及晶体管m4r的每一个处于关闭状态。也就是说,与条件7同样地,通过该工作,无论在晶体管m1及晶体管m1r的每一个中流过的被设定的电流的量如何,都在电路mc与布线ol之间、电路mcr与布线olb之间、电路mc与布线olb之间及电路mcr与布线ol之间成为非导通状态。因此,由于在布线ol至布线ve和布线ver中的一个之间电流不流过且在布线olb至布线ve和布线ver中的另一个之间电流也不流过,所以从布线ol的节点outa输出的电流i
ol
及从布线olb的节点outb输出的电流i
olb
的每一个在时刻t5前后不变化。
[0489]
此时,在图8a至图8c中,通过使开关swo及开关swob处于开启状态,使开关swi、开关swib、开关swl、开关swlb、开关swh及开关swhb处于关闭状态,在布线ol及布线olb的每一个与电路afp之间处于导通状态,如上所述,在电路afp与布线ol之间电流i
ol
不流过,且在电路afp与布线olb之间电流i
olb
不流过。
[0490]
在本条件中,由于第一数据(权系数)为
“‑
1”且输入到电路mp的第二数据(神经元的信号的值(运算值))为“0”,所以在使用算式(1.1)时第一数据(权系数)与第二数据(神经元的信号的值)之积为“0”。第一数据(权系数)与第二数据(神经元的信号的值)之积为“0”的结果对应于在电路mp的工作中在时刻t6以后电流i
ol
及电流i
olb
都不变化的情况,该结果与条件1、条件4、条件7、条件8的电路工作的结果一致。注意,第一数据(权系数)与第二数据(神经元的信号的值)之积为“0”的结果与条件1、条件4、条件7、条件8同样地在图8a至图8c中从电路afp作为信号z
j(k)
输出。
[0491]
下表示出上述条件1至条件9的工作例子的结果。注意,在下表中,将高电平电位记为high,将低电平电位记为low。
[0492]
[表2]
[0493][0494][0495]
在此,示出对布线ol及布线olb的每一个连接有一个电路mc和一个电路mcr的例子。如图2、图3、图4、图7、图11、图12、图6a至图6f等所示,在布线ol及布线olb的每一个连接有多个电路mc和多个电路mcr的情况下,从各电路mc及各电路mcr输出的电流根据基尔霍夫的电流定律合在一起。其结果,进行和运算。换言之,在电路mc、电路mcr中进行积运算,通过将来自多个电路mc及多个电路mcr的电流合在一起,进行和运算。其结果,进行积和运算处理。
[0496]
在此,在电路mp的工作中,通过进行将第一数据(权系数)设定为只有“ 1”、
“‑
1”的2值且将第二数据(神经元的信号的值)设定为只有“ 1”、
“‑
1”的2值的计算,电路mp可以进行与异或非电路(符合电路)相同的工作。
[0497]
另外,在电路mp的工作中,通过进行将第一数据(权系数)设定为只有“ 1”、“0”的2值,将第二数据(神经元的信号的值)设定为只有“ 1”、“0”的2值的计算,电路mp可以进行与逻辑乘电路同样的工作。
[0498]
在本工作例子中,将保持在电路mp的电路mc、mcr所包括的保持部hc、hcr中的电位设定为vss、v1、v2等多值,但是在保持部hc、hcr中保持2值或表示模拟值的电位。例如,在第一数据(权系数)为“正模拟值”时,在保持部hc的节点n1保持有高电平模拟电位,在保持部hcr的节点n1r保持有低电平电位。第一数据(权系数)为“负模拟值”时,保持部hc的节点n1保持有低电平电位,保持部hcr的节点n1r保持有高电平模拟电位。电流i
ol
及电流i
olb
的电流的高低成为对应于模拟电位的高低。另外,不但在图15a的电路mp中,而且还可以在本说明书等所示的其他电路mp中保持部hc、hcr保持有表示模拟值的电位。
[0499]
注意,本结构例子可以与本说明书所示的其他结构例子等适当地组合。
[0500]
<结构例子2>
[0501]
接着,对与图15a至图15c、图16a、图16b的每一个的电路结构不同的能够应用于图9b所示的电路mp的电路结构的例子进行说明。
[0502]
图21a所示的电路mp示出图9b的电路mp的结构例子,图21a所示的电路mp与图15a的电路mp的不同之处在于晶体管m2的第二端子与晶体管m1的第二端子、晶体管m3的第一端子、晶体管m4的第一端子电连接而不与布线ol电连接,晶体管m2r的第二端子与晶体管m1r的第二端子、晶体管m3r的第一端子、晶体管m4r的第一端子电连接而不与布线olb电连接。
[0503]
图21a的电路mp可以与图15a的电路mp同样地工作。
[0504]
对与图21a不同的能够应用于图9b所示的电路mp的电路结构的其他例子进行说明。图21b所示的电路mp示出图9b的电路mp的结构例子,图21b所示的电路mp与图15a的电路mp的不同之处在于在电路mc中包括晶体管m1c且晶体管m4的第一端子与晶体管m1c电连接而不与晶体管m1的第二端子及晶体管m3的第二端子电连接,在电路mcr中包括晶体管m1cr且晶体管m4r的第一端子与晶体管m1cr电连接而不与晶体管m1r的第二端子及晶体管m3r的第二端子电连接。
[0505]
注意,在本说明书等中,在没有特别的说明的情况下,晶体管m1c及晶体管m1cr在开启状态时有时最后在饱和区域中工作。换言之,包括如下情况:对上述各晶体管的栅极电压、源极电压及漏极电压进行适当的偏压,使得该晶体管在线性区域中工作。注意,本发明的一个方式不局限于此。为了减小所供应的电压的振幅值,晶体管m1c及晶体管m1cr也可以在线性区域中工作。注意,在第一数据(例如,这里是权系数)为模拟值时,晶体管m1c及晶体管m1cr例如也可以根据第一数据(权系数)的大小有时在线性区域中工作,有时在饱和区域中工作。
[0506]
在图21b的电路mp中,晶体管m1c的第一端子与布线ve电连接。此外,晶体管m1c的栅极与晶体管m1的栅极、晶体管m2的第一端子、电容c1的第一端子电连接。加上,晶体管m1c的第二端子与晶体管m4的第一端子电连接。
[0507]
在图21b的电路mp中,电路mcr具有与电路mc大致相同的电路结构。因此,为了与电路mc所包括的电路元件区分,对电路mcr所包括的电路元件的符号附上“r”。
[0508]
此外,省略图21b的电路mp中的与图15a的电路mp相同的连接结构的部分的说明。
[0509]
在图21b的电路mp中,流过晶体管m3及晶体管m4的电流分别根据晶体管m1及晶体管m1c的栅极的电位决定。另外,例如,晶体管m1及晶体管m1c的尺寸诸如沟道长度及沟道宽度优选彼此相同。通过采用上述电路结构,有可能有效地进行布局。另外,有可能使流过晶体管m3及晶体管m4的电流一致。
[0510]
图21b的电路mp可以与图15a的电路mp同样地工作。
[0511]
注意,本结构例子可以与本说明书所示的其他结构例子等适当地组合。
[0512]
<结构例子3>
[0513]
接着,说明能够应用于图9e所示的电路mp的电路结构的例子。
[0514]
图22a所示的电路mp示出图9e的电路mp的结构例子,图22a所示的电路mp与图15a的电路mp的不同之处在于在电路mc中包括晶体管m5且在电路mcr中包括晶体管m5r,电路mp与布线il及布线ilb电连接。
[0515]
注意,在本说明书等中,在没有特别的说明的情况下,晶体管m5及晶体管m5r在开启状态时最后在线性区域中工作。换言之,包括如下情况:上述各晶体管的栅极电压、源极
电压及漏极电压进行适当的偏压,使得该晶体管在线性区域中工作。
[0516]
在图22a的电路mp中,晶体管m5的第一端子与晶体管m2的第二端子、布线il电连接。晶体管m5的第二端子与晶体管m1的第二端子、晶体管m3的第一端子、晶体管m4的第一端子电连接。晶体管m5的栅极与布线wl电连接。
[0517]
在图22a的电路mp中,电路mcr具有与电路mc大致相同的电路结构。因此,为了与电路mc所包括的电路元件等区分,对电路mcr所包括的电路元件等的符号附上“r”。
[0518]
此外,省略图22a的电路mp中的与图15a的电路mp相同的连接结构的部分的说明。
[0519]
在图22a的电路mp中,与结构例子1、结构例子2同样地,晶体管m1、晶体管m2、晶体管m3及晶体管m4的尺寸,例如,沟道长度及沟道宽度优选分别与晶体管m1r、晶体管m2r、晶体管m3r及晶体管m4r的尺寸相同。通过采用上述电路结构,有可能有效地进行布局。加上,晶体管m5的尺寸优选与晶体管m5r的尺寸相同。
[0520]
在对电路mc、mcr设定电流时,对布线wl施加高电平电位,使晶体管m2、晶体管m2r、晶体管m5及晶体管m5r处于开启状态。此外,在对电路mc及电路mcr设定电流之后,为了保持设定在保持部hc及保持部hcr中的电位,对布线wl施加低电平电位,使晶体管m2、晶体管m2r、晶体管m5及晶体管m5r处于关闭状态即可。
[0521]
在结构例子1、结构例子2所说明的电路mp中,将传送第二数据(例如,这里是神经元的信号的值)的布线、对电路mp供应对应于第一数据(例如,这里是权系数)的信息(例如,电压、电流等)或在电路mp中保持该信息的布线总记为布线wx1l,但通过构成图22a及图22b的电路mp,可以将传送第二数据(神经元的信号的值)的布线记为布线x1l,且将对电路mp供应对应于第一数据(权系数)的信息(例如,电压、电流等)或在电路mp中保持该信息的布线记为布线wl。也就是说,图22a及图22b的电路mp可以说具有按每个功能将结构例子1、结构例子2的电路mp的布线wx1l分割的结构。
[0522]
图22b示出与图22a的电路mp不同的电路结构。
[0523]
图22b所示的电路mp具有改变图22a的电路mp的晶体管m5及晶体管m5r的每一个的第一端子的电连接的结构。具体而言,在图22b的电路mp中,晶体管m5的第一端子与晶体管m2的第一端子、晶体管m1的栅极、电容c1的第一端子电连接。
[0524]
通过构成图22b所示的电路mp,图22b的电路mp与图22a的电路mp大致相同地工作。
[0525]
注意,在图22a及图22b的每一个所示的电路mp中,也可以具有将布线il组合为布线ol且将布线ilb组合为布线olb的结构。例如,在图22a所示的电路mp中,通过将布线il组合为布线ol且将布线ilb组合为布线olb,可以实现图23a所示的电路mp的结构。此外,例如,在图22b所示的电路mp中,通过将布线il组合为布线ol且将布线ilb组合为布线olb,可以实现图23b所示的电路mp的结构。注意,图23a及图23b的每一个的电路mp的结构可应用于图9a所示的电路mp,图23a及图23b的每一个的电路mp的工作参照图15a的电路mp的工作的说明。
[0526]
注意,本结构例子可以与本说明书所示的其他结构例子等适当地组合。
[0527]
<结构例子4>
[0528]
与图15a的电路mp不同,图24所示的电路mp是除了保持部hc及保持部hcr以外还包括保持部hcs及保持部hcsr的电路的一个例子。
[0529]
包括在图24的电路mp中的电路mc除了图21a的电路mp所包括的电路元件以外还包括晶体管m1s、晶体管m2s、晶体管m6、晶体管m6s及电容c1s。此外,由于包括在图20a至图20c
的电路mp中的电路mcr包括与电路mc相同的电路元件,所以包括分别对应于电路mc的晶体管m1s、晶体管m2s、晶体管m6、晶体管m6s及电容c1s的晶体管m1sr、晶体管m2sr、晶体管m6r、晶体管m6sr及电容c1sr。注意,晶体管m2s、电容c1s包括在保持部hcs中,晶体管m2sr、电容c1sr包括在保持部hcs中。
[0530]
另外,在本说明书等中,在没有特别的说明的情况下,晶体管m2s、晶体管m6、晶体管m6s、晶体管m6r、晶体管m6sr在开启状态时最后在线性区域中工作。换言之,包括如下情况:上述各晶体管的栅极电压、源极电压及漏极电压进行适当的偏压,使得该晶体管在线性区域中工作。
[0531]
接着,说明图24的电路mp的结构。注意,省略图24的电路mp中的与图21a的电路mp相同的结构的部分的说明。
[0532]
在图24的电路mp中,晶体管m1的第二端子与晶体管m2的第二端子、晶体管m6的第一端子电连接。晶体管m6的第二端子与晶体管m3的第一端子、晶体管m4的第二端子电连接。晶体管m6的栅极与布线s1l电连接。晶体管m1s的第一端子与布线ve电连接。晶体管m1s的第二端子与晶体管m6s的第一端子电连接。晶体管m1s的栅极与电容c1s的第一端子、晶体管m2s的第一端子电连接。电容c1s的第二端子与布线ve电连接。晶体管m2的第二端子与晶体管m1s的第二端子、晶体管m6s的第一端子电连接。晶体管m6s的第二端子与晶体管m3的第一端子、晶体管m4的第二端子电连接。晶体管m6s的栅极与布线s2l电连接。
[0533]
在图24的电路mp中,电路mcr具有与电路mc大致相同的电路结构。因此,为了与电路mc所包括的电路元件等区分,对电路mcr所包括的电路元件等的符号附上“r”。
[0534]
布线s1l被用作用来供应使晶体管m6及晶体管m6r处于开启状态或关闭状态的电位的电压线,布线s2l被用作用来供应使晶体管m6s及晶体管m6sr处于开启状态或关闭状态的电位的电压线。
[0535]
在图24的电路mp中,晶体管m6、晶体管m6s、晶体管m6r及晶体管m6sr的尺寸,例如,沟道长度及沟道宽度优选彼此相同。通过采用上述电路结构,有可能有效地进行布局。
[0536]
例如,通过对图11所示的运算电路150应用图24的电路mp的结构,运算电路150的电路mp可以保持两个第一数据(例如,这里是权系数)。具体而言,图24的电路mp可以将对应于第一个第一数据(权系数)的电位保持在电路mc的保持部hc及电路mcr的保持部hcr,将对应于第二个第一数据(权系数)的电位保持在电路mc的保持部hcs及电路mc的保持部hcsr。另外,图24的电路mp可以由从布线s1l及布线s2l供应的电位进行用于运算的第一数据(权系数)的切换。例如,通过使包括在运算电路150的电路mp[1,j]至电路mp[m,j]中的各保持部hc及保持部hcr保持相当于第一数据(权系数)w
1(k
‑
1)j(k)
至w
m(k
‑
1)j(k)
的电位且使包括在运算电路110的电路mp[1,j]至电路mp[m,j]中的各保持部hcs及保持部hcsr保持相当于第一数据(权系数)w
1(k
‑
1)h(k)
至w
m(k
‑
1)h(k)
(在此,h是1以上且不是j的整数。)的电位,来对布线xls[1]至布线xls[m](图24的电路mp中的布线wx1l及布线x2l)输入对应于信号z
1(k
‑
1)
至z
m(k
‑
1)
的电位。此时,通过对布线s1l施加高电平电位而使晶体管m6s及晶体管m6r处于开启状态且对布线s2l施加低电平电位而使晶体管m6s及晶体管m6sr处于关闭状态,运算电路150的电路mp[1,j]至电路mp[m,j]可以进行权系数w
1(k
‑
1)j(k)
至w
m(k
‑
1)j(k)
与信号z
1(k
‑
1)
至z
m(k
‑
1)
之积和运算及激活函数的运算。另外,通过对布线s1l施加低电平电位而使晶体管m6及晶体管m6r处于关闭状态且对布线s2l施加高电平电位而使晶体管m6s及晶体管m6sr处于开启状态,运
算电路150的电路mp[1,j]至电路mp[m,j]可以进行权系数w
1(k
‑
1)h(k)
至w
m(k
‑
1)h(k)
与信号z
1(k
‑
1)
至z
m(k
‑
1)
之积和及激活函数的运算。
[0537]
如上所述,通过对运算电路150使用图24的电路mp,可以保持两个权系数,并且可以切换该权系数而进行积和及激活函数的运算。例如在第k层的神经元的个数大于n时,构成图24的电路mp的运算电路150在进行与第k层不同的中间层中的运算等时很有效。另外,在图24的电路mp中电路mc及电路mcr分别包括两个保持部,但是电路mc及电路mcr根据情况也可以包括三个以上的保持部。
[0538]
包括在本发明的一个方式的半导体装置中的电路mp不局限于图24的电路mp。本发明的一个方式的半导体装置的电路mp可以根据情况改变图24的电路mp的电路结构。
[0539]
例如,图25所示的电路mp具有改变图24的电路mp的电路结构。具体而言,在图25的电路mp中,对图24的电路mp加上晶体管m3s、晶体管m4s、晶体管m3sr及晶体管m4sr,且进行电连接的改变。晶体管m3s的第一端子与晶体管m6s的第二端子、晶体管m4s的第一端子电连接,晶体管m3s的第二端子与布线ol电连接,晶体管m3s的栅极与布线wx1l电连接。晶体管m4s的第二端子与布线olb电连接,晶体管m4s的栅极与布线x2l电连接。
[0540]
注意,在图25的电路mp中,电路mcr具有与电路mc大致相同的电路结构。因此,为了与电路mc所包括的电路元件等区分,对电路mcr所包括的电路元件等的符号附上“r”。此外,在电路mcr中,晶体管m3sr的第二端子与布线ol电连接,晶体管m4sr的第二端子与布线olb电连接。
[0541]
在图25的电路mp中,晶体管m3、晶体管m3s、晶体管m3r、晶体管m3sr、晶体管m4、晶体管m4s、晶体管m4r及晶体管m4sr的尺寸,例如,沟道长度及沟道宽度优选彼此相同。通过采用上述电路结构,有可能有效地进行布局。
[0542]
图25的电路mp通过与图24的电路mp相同地工作,可以保持两个第一数据(权系数),且切换该第一数据(权系数)来可以进行积和及激活函数的运算。另外,在图25的电路mp中电路mc及电路mcr分别包括两个保持部,但是电路mc及电路mcr根据情况也可以包括三个以上的保持部。
[0543]
注意,本结构例子可以与本说明书所示的其他结构例子等适当地组合。
[0544]
<结构例子5>
[0545]
与图21a的电路mp不同,图26所示的电路mp在电路mc中包括沟道宽度(以下称为w长)与沟道长度(以下称为l长)的比例彼此不同的晶体管m1、晶体管m1
‑
2b、晶体管m1
‑
3b作为一个例子。注意,除了晶体管m1、晶体管m1
‑
2b、晶体管m1
‑
3b以外还可以包括更多的晶体管,也可以不包括晶体管m1
‑
3b或晶体管m1
‑
2b。
[0546]
包括在图26的电路mp中的电路mc除了图21a的电路mp所包括的电路元件以外还包括晶体管m3
‑
2b、晶体管m4
‑
2b、晶体管m3
‑
3b及晶体管m4
‑
3b。
[0547]
在本说明书等中,在没有特别的说明的情况下,与晶体管m1同样地,晶体管m1
‑
2b及晶体管m1
‑
3b在开启状态时有时最后在饱和区域中工作。也就是说,对上述各晶体管的栅极电压、源极电压及漏极电压有时进行适当的偏压,使得该晶体管在饱和区域中工作。注意,本发明的一个方式不局限于此。为了减小所供应的电压的振幅值,晶体管m1
‑
2b及晶体管m1
‑
3b也可以在线性区域中工作。另外,在第一数据(例如,这里是权系数)为模拟值时,晶体管m1
‑
2b及晶体管m1
‑
3b例如也可以根据第一数据(权系数)的大小有时在线性区域中工
作,有时在饱和区域中工作。
[0548]
另外,在本说明书等中,在没有特别的说明的情况下,晶体管m3
‑
2b、晶体管m4
‑
2b、晶体管m3
‑
3b及晶体管m4
‑
3b在开启状态时最后在线性区域中工作。换言之,包括如下情况:上述各晶体管的栅极电压、源极电压及漏极电压进行适当的偏压,使得该晶体管在线性区域中工作。
[0549]
接着,说明图26的电路mp的结构。注意,省略图26的电路mp中的与图21a的电路mp相同的结构的部分的说明。
[0550]
在图26的电路mp的电路mc中,晶体管m1
‑
2b的第一端子与布线ve电连接。晶体管m1
‑
2b的第二端子与晶体管m3
‑
2b的第一端子、晶体管m4
‑
2b的第一端子电连接。晶体管m1
‑
2b的栅极与晶体管m2的第一端子、电容c1的第一端子电连接。晶体管m3
‑
2b的第二端子与布线ol电连接。晶体管m3
‑
2b的栅极与布线x1l2b电连接。晶体管m4
‑
2b的第二端子与布线olb电连接。晶体管m4
‑
2b的栅极与布线x2l2b电连接。晶体管m1
‑
3b的第一端子与布线ve电连接。晶体管m1
‑
3b的第二端子与晶体管m3
‑
3b的第一端子、晶体管m4
‑
3b的第一端子电连接。晶体管m1
‑
3b的栅极与晶体管m2的第一端子、电容c1的第一端子电连接。晶体管m3
‑
3b的第二端子与布线ol电连接。晶体管m3
‑
3b的栅极与布线x1l3b电连接。晶体管m4
‑
3b的第二端子与布线olb电连接。晶体管m4
‑
3b的栅极与布线x2l3b电连接。
[0551]
注意,在图26的电路mp中,电路mcr具有与电路mc大致相同的电路结构。因此,为了与电路mc所包括的电路元件等区分,对电路mcr所包括的电路元件等的符号附上“r”。此外,晶体管m3
‑
2br的第二端子与布线olb电连接,晶体管m4
‑
2br的第二端子与布线ol电连接,晶体管m3
‑
3br的第二端子与布线olb电连接,晶体管m4
‑
3br的第二端子与布线ol电连接。
[0552]
在图26的电路mp中,晶体管m3、晶体管m3
‑
2b、晶体管m3
‑
3b、晶体管m3r、晶体管m3
‑
2br、晶体管m3
‑
3br、晶体管m4、晶体管m4
‑
2b、晶体管m4
‑
3b、晶体管m4r、晶体管m4
‑
2br及晶体管m4
‑
3br的尺寸例如沟道长度及沟道宽度优选彼此相等。通过采用上述电路结构,有可能有效地进行布局。
[0553]
布线x1l2b是用来进行晶体管m3
‑
2b及晶体管m3
‑
2br的开启状态及关闭状态的切换的布线,布线x2l2b是用来进行晶体管m4
‑
2b及晶体管m4
‑
2br的开启状态及关闭状态的切换的布线,布线x1l3b是用来进行晶体管m3
‑
3b及晶体管m3
‑
3br的开启状态及关闭状态的切换的布线,布线x2l3b是用来进行晶体管m4
‑
3b及晶体管m4
‑
3br的开启状态及关闭状态的切换的布线。
[0554]
在晶体管m1的w长与l长的比例为w/l时,晶体管m1
‑
2b的w长与l长的比例优选为2
×
w/l,且晶体管m1
‑
3b的w长与l长的比例优选为4
×
w/l。由于晶体管的源极与漏极间流过的电流与沟道宽度/沟道长度成比例,所以在晶体管m1、晶体管m1
‑
2b及晶体管m1
‑
3b的沟道宽度/沟道长度以外的结构、构成条件等相同时,在晶体管m1
‑
2b及晶体管m1
‑
3b中流过的电流分别大致成为在晶体管m1中流过的电流的2倍、4倍。也就是说,在晶体管m1、晶体管m1
‑
2b及晶体管m1
‑
3b中流过的电流量的比例大致为1:2:4。此外,考虑包括在图26的电路mp中的电路mc包括更多的晶体管m1,例如q个(q为4以上的整数)的晶体管的情况。第一个晶体管为晶体管m1,第二个晶体管为晶体管m1
‑
2b,第三个晶体管为晶体管m1
‑
3b,第q个(q为4以上且q以下的整数)的晶体管的w长与l长的比例为晶体管m1的w长与l长的比例的2
(q
‑
1)
倍时,在第一个晶体管、第二个晶体管、第三个晶体管、第q个晶体管的每一个中流过的电流量的比例
为1:2:4:2
(q
‑
1)
。也就是说,包括在图26的电路mp中的电路mc以在各晶体管中流过的电流的量为2的幂的比例的方式包括q个晶体管。
[0555]
例如,在晶体管m1的源极与漏极间流过的电流量为i
ut
时,根据上述晶体管m1、晶体管m1
‑
2b及晶体管m1
‑
3b的每一个的沟道宽度/沟道长度在晶体管m1
‑
2b及晶体管m1
‑
3b中流过的电流量分别为2i
ut
、4i
ut
。
[0556]
晶体管m1r的w长与l长的比例优选与晶体管m1的w长与l长的比例相等,晶体管m1
‑
2br的w长与l长的比例优选与晶体管m1
‑
2b的w长与l长的比例相等,晶体管m1
‑
3br的w长与l长的比例优选与晶体管m1
‑
3b的w长与l长的比例相等。
[0557]
这里,考虑从布线ol向电路mc流过的电流量。此时,在电路mp中设定正的第一数据(正的权系数),且使晶体管m3、晶体管m3
‑
2b及晶体管m3
‑
3b的至少一个处于开启状态,使晶体管m4、晶体管m4
‑
2b及晶体管m4
‑
3b处于关闭状态即可。此时,根据晶体管m3、晶体管m3
‑
2b及晶体管m3
‑
3b的每一个的开启状态、关闭状态的组合,从布线ol向电路mc流过的电流量变化。
[0558]
例如,在将晶体管m1的源极与漏极间流过的电流量设定为i
ut
时,在晶体管m1
‑
2b中流过的电流量为2i
ut
,在晶体管m1
‑
3b中流过的电流量为4i
ut
。这里,通过对布线wx1l施加高电平电位,对布线x2l施加低电平电位,还对布线x1l2b、布线x2l2b、布线x1l3b及布线x2l3b施加低电平电位,可以使晶体管m3处于开启状态,且使晶体管m3
‑
2b、晶体管m3
‑
3b、晶体管m4、晶体管m4
‑
2b及晶体管m4
‑
3b处于关闭状态。此时,从布线ol向电路mc流过的电流量为i
ut
。此外,例如,在将晶体管m1的源极与漏极间流过的电流量设定为i
ut
,且对布线wx1l及布线x1l2b施加高电平电位,对布线x2l及布线x2l2b施加低电平电位,还对布线x1l3b及布线x2l3b施加低电平电位。此时,可以使晶体管m3及晶体管m3
‑
2b处于开启状态,使晶体管m3
‑
3b、晶体管m4、晶体管m4
‑
2b及晶体管m4
‑
3b处于关闭状态,从布线ol向电路mc流过的电流量为3i
ut
。此外,例如,在将晶体管m1的源极与漏极间流过的电流量设定为i
ut
,且对布线x1l2b及布线x1l3b施加高电平电位,对布线x2l2b及布线x2l3b施加低电平电位,还对布线wx1l及布线x2l施加低电平电位。此时,可以使晶体管m3
‑
2b、晶体管m3
‑
3b处于开启状态,且使晶体管m3、晶体管m4、晶体管m4
‑
2b及晶体管m4
‑
3b处于关闭状态,从布线ol向电路mc流过的电流量为6i
ut
。
[0559]
再者,例如,在将晶体管m1的源极与漏极间流过的电流量设定为2i
ut
时,在晶体管m1
‑
2b中流过的电流量为4i
ut
,在晶体管m1
‑
3b中流过的电流量为8i
ut
。这里,通过对布线wx1l施加高电平电位,对布线x2l施加低电平电位,还对布线x1l2b、布线x2l2b、布线x1l3b及布线x2l3b施加低电平电位,可以使晶体管m3处于开启状态,且使晶体管m3
‑
2b、晶体管m3
‑
3b、晶体管m4、晶体管m4
‑
2b及晶体管m4
‑
3b处于关闭状态。此时,从布线ol向电路mc流过的电流量为2i
ut
。此外,例如,在将晶体管m1的源极与漏极间流过的电流量设定为2i
ut
,且对布线wx1l及布线x1l2b施加高电平电位,对布线x2l及布线x2l2b施加低电平电位,还对布线x1l3b及布线x2l3b施加低电平电位。此时,可以使晶体管m3及晶体管m3
‑
2b处于开启状态,且使晶体管m3
‑
3b、晶体管m4、晶体管m4
‑
2b及晶体管m4
‑
3b处于关闭状态,从布线ol向电路mc流过的电流量为6i
ut
。此外,例如,在将晶体管m1的源极与漏极间流过的电流量设定为2i
ut
,且对布线x1l2b及布线x1l3b施加高电平电位,对布线x2l2b及布线x2l3b施加低电平电位,还对布线wx1l及布线x2l施加低电平电位。此时,可以使晶体管m3
‑
2b及晶体管m3
‑
3b处
于开启状态,使晶体管m3、晶体管m4、晶体管m4
‑
2b及晶体管m4
‑
3b处于关闭状态,从布线ol向电路mc流过的电流量为12i
ut
。
[0560]
也就是说,图26的电路mp具有如下功能:根据布线x1、布线x1l2b及布线x1l3b的每一个的电位使在晶体管m1的源极与漏极间设定的电流为整数倍,将整数倍的电流从布线ol向电路mc流过。注意,通过改变晶体管m1、晶体管m1
‑
2b及晶体管m1
‑
3b的每一个的w长与l长的比例,可以使在晶体管m1的源极与漏极间设定的电流为实数倍而不是整数倍,将该电流从布线ol向电路mc流过。
[0561]
在上述例子中,处理从布线ol向电路mc流过的电流量,可以同样地考虑从布线olb向电路mc流过的电流量。此时,在电路mp中设定正的第一数据(正的权系数),且晶体管m4、晶体管m4
‑
2b、晶体管m4
‑
3b中的至少一个处于开启状态,晶体管m3、晶体管m3
‑
2b及晶体管m3
‑
3b处于关闭状态即可。此时,根据晶体管m4、晶体管m4
‑
2b及晶体管m4
‑
3b的每一个的开启状态、关闭状态的组合,从布线olb向电路mc流过的电流量变化。此外,可以同样地考虑从布线olb向电路mcr流过的电流。此时,在电路mp中设定负的第一数据(负的权系数),且使晶体管m3、晶体管m3
‑
2b及晶体管m3
‑
3b中的至少一个处于开启状态,使晶体管m4、晶体管m4
‑
2b及晶体管m4
‑
3b处于关闭状态即可。此时,根据晶体管m3、晶体管m3
‑
2b及晶体管m3
‑
3b的每一个的开启状态、关闭状态的组合,从布线olb向电路mcr流过的电流量变化。再者,可以同样地考虑从布线ol向电路mcr流过的电流。此时,在电路mp中设定负的第一数据(负的权系数),且晶体管m4、晶体管m4
‑
2b及晶体管m4
‑
3b中的至少一个处于开启状态,晶体管m3、晶体管m3
‑
2b及晶体管m3
‑
3b处于关闭状态即可。此时,根据晶体管m4、晶体管m4
‑
2b及晶体管m4
‑
3b的每一个的开启状态、关闭状态的组合,从布线ol向电路mcr流过的电流量变化。
[0562]
如上所述,在图26的电路mp中,根据布线wx1l、布线x2l、布线x1l2b、布线x2l2b、布线x1l3b及布线x2l3b的每一个的电位,使被设定的电流的量为整数倍(实数倍),可以将电流从布线ol向电路mc或电路mcr流过,或者可以将电流从布线olb向电路mc或电路mcr流过。这里,通过根据布线wx1l、布线x2l、布线x1l2b、布线x2l2b、布线x1l3b及布线x2l3b的每一个的电位的组合设定第二数据(例如,这里是神经元的信号的值),可以处理第二数据(神经元的信号的值)作为多值(图26的电路mp的结构中是15值)。也就是说,图26的电路mp是能够计算多值的第一数据(权系数)与多值的第二数据(神经元信号)之积的电路。
[0563]
下表示出:在设定在电路mp中的第一数据(权系数)为“ 1”(在晶体管m1的源极与漏极间设定的电流量为i
ut
,在晶体管m1r的源极与漏极间设定的电流量为0。注意,保持部hc的节点n1的电位为v
ut
,保持部hcr的节点n1r的电位为vss)的情况下,将对应于第二数据(神经元的信号的值)的布线wx1l、布线x2l、布线x1l2b、布线x2l2b、布线x1l3b及布线x2l3b的电位输入到电路mp时的从布线ol向电路mc或电路mcr流过的电流i
ol
及从布线olb向电路mc或电路mcr流过的电流i
olb
的电流量的变化。注意,在下表中,将高电平电位记为high,将低电平电位记为low。
[0564]
[表3]
[0565][0566]
此外,下表示出:在设定在电路mp中的第一数据(权系数)为
“‑
1”(在晶体管m1的源极与漏极间设定的电流量为0,在晶体管m1r的源极与漏极间设定的电流量为i
ut
。注意,保持部hc的节点n1的电位为vss,保持部hcr的节点n1r的电位为v
ut
)的情况下,将对应于第二数据(神经元的信号的值)的布线wx1l、布线x2l、布线x1l2b、布线x2l2b、布线x1l3b及布线x2l3b的电位输入到电路mp时的从布线ol向电路mc或电路mcr流过的电流i
ol
及从布线olb向电路mc或电路mcr流过的电流i
olb
的电流量的变化。注意,在下表中,将高电平电位记为high,将低电平电位记为low。
[0567]
[表4]
[0568][0569]
当在晶体管m1的源极与漏极间流过的电流量为0时,作为节点n1的电位例如为vss即可。由此,除了晶体管m1以外,在晶体管m1
‑
2b及晶体管m1
‑
3b的每一个的源极与漏极间流过的电流量也可以为0。因此,不管晶体管m3、晶体管m3
‑
2b、晶体管m3
‑
3b、晶体管m4、晶体管m4
‑
2b及晶体管m4
‑
3b处于开启状态或关闭状态如何,电流不从布线ol或布线olb向电路mc流过。
[0570]
如此,在图26的电路mp中,通过对布线wx1l、布线x2l、布线x1l2b、布线x2l2b、布线x1l3b及布线x2l3b的每一个施加低电平电位或高电平电位,可以将第二数据(神经元的信
号的值)表现为15值,由此可以计算多值的第一数据(权系数)与多值的第二数据(神经元的信号的值)之积。
[0571]
此外,包括在本发明的一个方式的半导体装置中的电路mp不局限于图26的电路mp。本发明的一个方式的半导体装置的电路mp可以根据情况改变图26的电路mp的电路结构。
[0572]
例如,图27所示的电路mp具有改变图26的电路mp的电路结构。具体而言,图27的电路mp具有对图26的电路mp加上保持部hc
‑
2b、保持部hc
‑
3b、保持部hc
‑
2br及保持部hc
‑
3br的结构。由于保持部hc
‑
2b、保持部hc
‑
3b、保持部hc
‑
2br及保持部hc
‑
3br的结构与保持部hc及保持部hcr相同,所以参照保持部hc及保持部hcr的说明。
[0573]
在电路mc中,晶体管m1
‑
2b、晶体管m3
‑
2b、晶体管m4
‑
2b及保持部hc
‑
2b附近的电连接结构与晶体管m1、m3、m4及保持部hc附近的电连接结构相同。此外,晶体管m1
‑
3b、晶体管m3
‑
3b、晶体管m4
‑
3b及保持部hc
‑
3b附近的电连接结构与晶体管m1、晶体管m3、晶体管m4及保持部hc附近的电连接结构相同。此外,在电路mcr中,晶体管m1
‑
2br、晶体管m3
‑
2br、晶体管m4
‑
2br及保持部hc
‑
2br附近的电连接结构与晶体管m1r、晶体管m3r、晶体管m4r及保持部hcr附近的电连接结构相同。另外,晶体管m1
‑
3br、晶体管m3
‑
3br、晶体管m4
‑
3br及保持部hc
‑
3br附近的电连接结构与晶体管m1r、晶体管m3r、晶体管m4r及保持部hcr附近的电连接结构相同。
[0574]
再者,保持部hc
‑
2b与布线wl2b电连接,保持部hc
‑
3b与布线wl3b电连接,保持部hc
‑
2br与布线wl2b电连接,保持部hc
‑
3br与布线wl3b电连接。
[0575]
在图27的电路mp中,例如,与图26的电路mp同样地,晶体管m1、晶体管m1
‑
2b及晶体管m1
‑
3b的每一个的w长与l长的比例为w/l、2
×
w/l、4
×
w/l,将在晶体管m1的源极与漏极间流过的电流量设定为i
ut
的电位保持在保持部hc中,且将与该电位几乎相同的电位保持在保持部hc
‑
2b及保持部hc
‑
3b中,由此可以与图26的电路mp同样地工作。
[0576]
由于对保持部hc、保持部hc
‑
2b及保持部hc
‑
3b写入几乎相同的电位,所以也可以将布线wl、布线wl2b及布线wl3b组合为一个布线(未图示)。
[0577]
此外,例如,在使晶体管m1、晶体管m1
‑
2b及晶体管m1
‑
3b的每一个的w长与l长的比例相等,且将晶体管m1的源极与漏极间流过的电流量设定为i时,在晶体管m1
‑
2b的源极与漏极间流过的电流量被设定为2i,在晶体管m1
‑
3b的源极与漏极间流过的电流量被设定为4i,由此可以与图26的电路mp同样地工作。
[0578]
此外,作为与图27的电路mp不同的改变图26的电路mp的电路结构,例如,也可以为图28所示的电路mp。图28的电路mp具有对图26的电路mp加上晶体管m2
‑
2b、晶体管m2
‑
3b、晶体管m2
‑
2br及晶体管m2
‑
3br的结构。注意,与图26同样地,晶体管m1、晶体管m1
‑
2b及晶体管m1
‑
3b的每一个的w长与l长的比例例如为w/l、2
×
w/l、4
×
w/l。注意,电流量根据被设定时的大小决定,不依赖于w长或l长。因此,晶体管m1、晶体管m1
‑
2b及晶体管m1
‑
3b的每一个的w长与l长的比例也可以都相同。注意,此时,根据电流量各晶体管的栅极的电位不同。在使各晶体管的栅极的电位大致相同时,w长与l长的比例优选为w/l、2
×
w/l、4
×
w/l。
[0579]
此外,在本说明书等中,在没有特别的说明的情况下,与晶体管m2及晶体管m2r同样地,晶体管m2
‑
2b、晶体管m2
‑
3b、晶体管m2
‑
2br及晶体管m2
‑
3br在开启状态时有时最后在线性区域中工作。换言之,包括如下情况:对上述各晶体管的栅极电压、源极电压及漏极电
压进行适当的偏压,使得该晶体管在线性区域中工作。
[0580]
在电路mc中,晶体管m2
‑
2b的第一端子与晶体管m2
‑
3b的第一端子、晶体管m2的第一端子、晶体管m1的栅极、晶体管m1
‑
2b的栅极、晶体管m1
‑
3b的栅极、电容c1的第一端子电连接。晶体管m2
‑
2b的第二端子与晶体管m1
‑
2b的第二端子、晶体管m3
‑
2b的第一端子、晶体管m3
‑
2b的第一端子电连接。晶体管m2
‑
3b的第二端子与晶体管m1
‑
3b的第二端子、晶体管m3
‑
3b的第一端子、晶体管m3
‑
3b的第一端子电连接。晶体管m2
‑
2b的栅极、晶体管m2
‑
3b的栅极与布线wl电连接。
[0581]
此外,同样地,在电路mcr中,晶体管m2
‑
2br的第一端子与晶体管m2
‑
3br的第一端子、晶体管m2r的第一端子、晶体管m1r的栅极、晶体管m1
‑
2br的栅极、晶体管m1
‑
3br的栅极、电容c1的第一端子电连接。晶体管m2
‑
2br的第二端子与晶体管m1
‑
2br的第二端子、晶体管m3
‑
2br的第一端子、晶体管m3
‑
2br的第一端子电连接。晶体管m2
‑
3br的第二端子与晶体管m1
‑
3br的第二端子、晶体管m3
‑
3br的第一端子、晶体管m3
‑
3br的第一端子电连接。晶体管m2
‑
2br的栅极、晶体管m2
‑
3br的栅极与布线wl电连接。
[0582]
此外,图26所示的布线x1l2b及布线x1l3b在图28中分别记载为布线wx1l2b及布线wx1l3b。
[0583]
当设定在晶体管m1、晶体管m1
‑
2b、晶体管m1
‑
3b、晶体管m1r、晶体管m1
‑
2br及晶体管m1
‑
3br的每一个中流过的电流时,对布线wl、布线wx1l、布线wx1l2b、布线wx1l3b输入高电平电位,使晶体管m2、晶体管m2
‑
2b、晶体管m2
‑
3b、晶体管m3、晶体管m3
‑
2b及晶体管m3
‑
3b都处于开启状态。此外,对布线x2l、布线x2l2b及布线x2l3b输入低电平电位,使晶体管m4、晶体管m4
‑
2b、晶体管m4
‑
3b、晶体管m4r、晶体管m4
‑
2br及晶体管m4
‑
3br处于关闭状态。
[0584]
此时,通过使设定在晶体管m1、晶体管m1
‑
2b及晶体管m1
‑
3b的每一个中的电流的总和从布线ol向电路mc流过,例如,使7i
ut
流过,保持部hc的节点n1成为规定电位。这里,通过对布线wl输入低电平电位,使晶体管m2处于关闭状态,在保持部hc的节点n1保持规定电位。由此,以i
ut
、2i
ut
、4i
ut
的电流在晶体管m1、晶体管m1
‑
2b及晶体管m1
‑
3b的每一个的源极与漏极间流过的方式进行设定。
[0585]
此外,同样地,通过使设定在晶体管m1r、晶体管m1
‑
2br及晶体管m1
‑
3br的每一个中的电流的总和从布线olb向电路mcr流过,例如,使7i
ut
流过,保持部hcr的节点n1r成为规定电位。并且,通过对布线wl输入低电平电位,在保持部hcr的节点n1保持规定电位,以i
ut
、2i
ut
、4i
ut
的电流在晶体管m1r、晶体管m1
‑
2br及晶体管m1
‑
3br的每一个的源极与漏极间流过的方式进行设定。
[0586]
通过构成图28的电路mp,可以进行与图26的电路mp同样的工作。再者,通过构成图28的电路mp,可以减少在电路mc中在形成晶体管m1、晶体管m1
‑
2b及晶体管m1
‑
3b时产生的结构偏差的影响。此外,同样地,可以减少在电路mcr中在形成晶体管m1r、晶体管m1
‑
2br及晶体管m1
‑
3br时产生的结构偏差的影响。
[0587]
此外,作为图26的电路mp的变形例子,也可以使保持部hc及保持部hcr具有彼此不同结构。在图29所示的电路mp中,将包括在图26的电路mp中的保持部hc及保持部hcr的每一个替换为电路hcs及电路hcsr。注意,与图26同样地,晶体管m1、晶体管m1
‑
2b及晶体管m1
‑
3b的每一个的w长与l长的比例为w/l、2
×
w/l、4
×
w/l。
[0588]
电路hcs例如与布线ol、布线olb电连接。电路hcs具有接收从布线ol和布线olb中
的一个或两个输入的信息(电位、电流等)并保持对应于该信息的电位的功能。此外,电路hcs与晶体管m1、晶体管m1
‑
2b及晶体管m1
‑
3b的每一个的栅极电连接。电路hcs具有将所保持的该电位施加到晶体管m1、晶体管m1
‑
2b及晶体管m1
‑
3b的每一个的栅极的功能。因此,对应于从电路hcs供应的电位及w长与l长的比例的源极
‑
漏极电流在晶体管m1、晶体管m1
‑
2b及晶体管m1
‑
3b的每一个中流过。注意,电路hcsr具有与电路hcs相同的功能,对应于从电路hcsr供应的电位及w长与l长的比例的源极
‑
漏极电流在晶体管m1r、晶体管m1
‑
2br及晶体管m1
‑
3br的每一个中流过。
[0589]
图30a示出包括在图29所示的电路mp中的电路hcs及电路hcsr的具体例子。图30a所示的电路hcs及电路hcsr作为一个例子具有包括sram(static random access memory:静态随机存取存储器)的结构。注意,在图30a中,为了示出电路hcs及电路hcsr所包括的电路元件的电连接结构,示出电路mp的整体。
[0590]
注意,在电路hcs及电路hcsr包括sram时,由于sram保持高电平电位和低电平电位中的一个,所以设定在电路mp中的第一数据(权系数)例如局限于2值(
“‑
1”、“ 1”的组合等)、3值(
“‑
1”、“0”、“ 1”的组合等)等。例如,在设定在电路mp中的第一数据(权系数)为“ 1”时,在电路hcs中保持高电平电位,在电路hcsr中保持低电平电位即可。此外,例如,在设定在电路mp中的第一数据(权系数)为
“‑
1”时,在电路hcs中保持低电平电位,在电路hcsr中保持高电平电位即可。此外,例如,在设定在电路mp中的第一数据(权系数)为“0”时,在电路hcs中保持低电平电位,在电路hcsr中保持低电平电位即可。
[0591]
电路hcs包括晶体管m7、晶体管m7s、反相器环形电路ivr。反相器环形电路ivr包括反相器电路iv1、反相器电路iv2。
[0592]
在本说明书等中,在没有特别的说明的情况下,晶体管m7及晶体管m7s在开启状态时最后在线性区域中工作。换言之,包括如下情况:上述各晶体管的栅极电压、源极电压及漏极电压进行适当的偏压,使得该晶体管在线性区域中工作。
[0593]
反相器电路iv1及反相器电路iv2的每一个具有在对输入端子输入输入信号时从输出端子输出该输入信号的反转信号的功能。因此,作为反相器电路iv1及反相器电路iv2的每一个例如可以使用反相器电路。图30b示出反相器电路iv1及反相器电路iv2的结构例子。如图30b所示,反相器电路iv1及反相器电路iv2可以由cmos(complementary mos:互补金属氧化物半导体)电路构成。注意,本发明的一个方式不局限于此,例如,也可以由仅使用n沟道型晶体管或p沟道型晶体管的单极性电路构成而不由cmos电路构成。
[0594]
作为反相器电路iv1及反相器电路iv2,例如可以采用nand电路、nor电路、xor电路、组合上述电路的电路等。具体而言,在将反相器电路替换为nand电路时,通过对nand电路的两个输入端子中的一方作为固定电位输入高电平电位,可以使nand电路用作反相器电路。另外,在将反相器电路替换为nor电路时,通过使nor电路的两个输入端子中的一方作为固定电位输入低电平电位,可以使nor电路用作反相器电路。另外,在将反相器电路替换为xor电路时,通过对xor电路的两个输入端子中的一方作为固定电平输入高电平电位,可以使xor电路用作反相器电路。
[0595]
如上所述,在本说明书等中记载的反相器电路可以替换为nand电路、nor电路、xor电路或组合上述电路的电路等的逻辑电路。因此,在本说明书等中,“反相器电路”也可以称为“逻辑电路”。
[0596]
晶体管m7的第一端子与布线ol电连接,晶体管m7的第二端子与反相器电路iv1的输入端子、反相器电路iv2的输出端子、晶体管m1的栅极、晶体管m1
‑
2b的栅极、晶体管m1
‑
3b的栅极电连接,晶体管m7的栅极与布线wl电连接。晶体管m7s的第一端子与布线olb电连接,晶体管m7s的第二端子与反相器电路iv1的输出端子、反相器电路iv2的输入端子电连接,晶体管m7s的栅极与布线wl电连接。反相器电路iv1及反相器电路iv2的高电源电位输入端子与布线veh电连接,反相器电路iv1及反相器电路iv2的低电源电位输入端子与布线ve电连接。
[0597]
布线veh作为一个例子被用作供应恒电压的布线。作为该恒电压,例如,可以为高电平电位的vdd或者高于低电平电位vss且低于vdd的电位vddl等。另外,该恒电压优选根据电路mp的结构适当地设定。此外,例如,对布线val也可以供应脉冲信号,而不供应恒电压。注意,在本结构例子的说明中,布线veh被用作供应电位vdd的布线。
[0598]
注意,在图30a及图30b的电路mp中,电路hcs具有与电路hcsr大致相同的电路结构。因此,为了与电路hcs所包括的电路元件区分,对电路hcsr所包括的电路元件的符号附上“r”。此外,晶体管m7r的第一端子与布线olb电连接,晶体管m7sr的第一端子与布线ol电连接。
[0599]
在对电路hcs及电路hcsr写入信息(例如,电位、电流等)时,对布线wl施加高电平电位,使晶体管m7、晶体管m7s、晶体管m7r、晶体管m7sr处于开启状态。然后,对布线ol输入高电平电位和低电平电位中的一个,对布线olb输入高电平电位和低电平电位中的另一个。尤其是,高电平电位优选与布线veh所供应的电位大致相等。这里,例如,高电平电位为电位vddl且低电平电位为电位vss来进行说明。
[0600]
在对电路hcs写入vddl和vss中的一个且对电路hcsr写入vddl和vss中的另一个之后,对布线wl施加低电平电位,使晶体管m7、晶体管m7s、晶体管m7r及晶体管m7sr处于关闭状态。由此,在电路hcs中,可以将vddl和vss中的一个保持在反相器环形电路ivr中且将vddl和vss中的另一个保持在反相器环形电路ivrr中。
[0601]
在电路hcs及电路hcsr的每一个保持规定电位之后,与图26的电路mp同样地,对布线x1l(在图26中布线wx1l)和布线x2l中的一个输入高电平电位,对另一个输入低电平电位,对布线x1l2b和布线x2l2b中的一个输入高电平电位,对另一个输入低电平电位,对布线x1l3b和布线x2l3b中的一个输入高电平电位,对另一个输入低电平电位,由此可以处理从电路mc或电路mcr向布线ol或布线olb流过的电流量作为2值或3值的第一数据(权系数)与多值(在图30a及图30b的结构例子中,15值)的第二数据(神经元信号的值)之积。
[0602]
例如可以将图30a的电路mp改变为图31所示的电路mp。图31的电路mp具有在图30a的电路mp中不设置电路hcsr的结构。作为具体结构,包括在反相器环形电路ivr中的反相器电路iv1的输出端子与电路mcr的晶体管m1r的栅极、电路mcr的晶体管m1
‑
2br的栅极、电路mcr的晶体管m1
‑
3br的栅极电连接。
[0603]
通过构成图31的电路mp的电路,可以与图30a的电路mp同样地工作。注意,图31的电路mp由于在具有图30a的电路mp中不设置电路hcsr的结构,所以可以使其功耗低于图30a的电路mp的功耗。
[0604]
例如可以将图30a的电路mp改变为图32所示的电路mp。图32的电路mp与图22a及图22b的电路mp同样地具有对图30a的电路mp加上布线il、布线ilb的结构。
[0605]
图32的电路mp具有使图30a的电路mp的布线ol及布线olb所具有的功能分离的结构。
[0606]
具体而言,图30a的电路mp的布线ol被用作对电路hcs输入高电平电位或低电平电位的布线、通过电路mc对布线ve供应电流的布线、通过电路mcr对布线ver供应电流的布线。此外,图30a的电路mp的布线olb被用作对电路hcsr输入高电平电位或低电平电位的布线、通过电路mc对布线ve供应电流的布线、通过电路mcr对布线ver供应电流的布线。
[0607]
另一方面,图32的电路mp的布线ol被用作通过电路mc对布线ve供应电流的布线、通过电路mcr对布线ver供应电流的布线。此外,图32的电路mp的布线olb被用作通过电路mc对布线ve供应电流的布线、通过电路mcr对布线ver供应电流的布线。此外,图32的电路mp的布线il被用作对电路hcs输入高电平电位和低电平电位中的一个的布线,图32的电路mp的布线ilb被用作对电路hcsr输入高电平电位和低电平电位中的另一个的布线。
[0608]
通过构成图32的电路mp,可以与图30a的电路mp同样地工作。
[0609]
在将图32的电路mp的结构应用于图2的运算电路110、图3的运算电路120时,图32的电路mp例如如图33所示的电路mp那样也可以具有不设置晶体管m7s及晶体管m7sr的结构。通过构成图33的电路mp,可以与图30a的电路mp同样地工作。
[0610]
图34示出与图30a不同的包括在图29所示的电路mp中的电路hcs及电路hcsr的具体例子。图34所示的电路mp具有包括被称为nosram(nonvolatile oxide semiconductor random access memory:氧化物半导体非易失性随机存取存储器)的存储电路的结构。注意,图34为了示出电路hcs及电路hcsr所包括的电路元件的电连接结构,示出电路mp的整体。
[0611]
电路hcs包括晶体管m8、电容c2。
[0612]
在本说明书等中,在没有特别的说明的情况下,晶体管m8在开启状态时最后在线性区域中工作。换言之,包括如下情况:上述各晶体管的栅极电压、源极电压及漏极电压进行适当的偏压,使得该晶体管在线性区域中工作。
[0613]
晶体管m8的第一端子与布线il电连接,晶体管m8的第二端子与电容c2的第一端子、晶体管m1的栅极、晶体管m1
‑
2b的栅极、晶体管m1
‑
3b的栅极电连接,晶体管m8的栅极与布线wl电连接。电容c2的第二端子与布线ve电连接。
[0614]
注意,在图34所示的电路hcs中,使晶体管m8的第二端子与电容c2的第一端子的电连接点为节点n2。
[0615]
此外,在图34的电路mp中,电路hcs具有与电路hcsr大致相同的电路结构。因此,为了与电路hcs所包括的电路元件等区分,对电路hcsr所包括的电路元件等的符号附上“r”。此外,晶体管m8r的第一端子与布线ilb电连接。
[0616]
注意,在电路hcs及电路hcsr具有包括nosram的结构时,可以在电路hcs及电路hcsr的每一个中保持高电平电位和低电平电位中的一个。因此,设定在电路mp中的第一数据(权系数)例如局限于2值(
“‑
1”、“ 1”等)、3值(
“‑
1”、“0”、“ 1”等)等。例如,在设定在电路mp中的第一数据(权系数)为“ 1”时,在电路hcs中保持高电平电位,在电路hcsr中保持低电平电位即可。此外,例如,在设定在电路mp中的第一数据(权系数)为
“‑
1”时,在电路hcs中保持低电平电位,在电路hcsr中保持高电平电位即可。此外,例如,在设定在电路mp中的第一数据(权系数)为“0”时,在电路hcs中保持低电平电位,在电路hcsr中保持低电平电位即可。
注意,在电路hcs、电路hcsr中也可以不保持高电平电位或低电平电位的2值(数字值)而保持3值以上的数字值或模拟值。
[0617]
在对电路hcs及电路hcsr写入信息(这里是电位)时,对布线wl施加高电平电位,使晶体管m8及晶体管m8r处于开启状态。然后,对布线il输入高电平电位和低电平电位中的一个,对布线ilb输入高电平电位和低电平电位中的另一个。这里,例如,高电平电位为电位vddl且低电平电位为电位vss来进行说明。
[0618]
在对电路hcs的电容c2的第一端子写入vddl和vss中的一个且对电路hcsr的电容c2r的第一端子写入vddl和vss中的另一个之后,对布线wl施加低电平电位,使晶体管m8及晶体管m8r处于关闭状态。由此,在电路hcs中,可以将vddl和vss中的一个保持在节点n2中且将vddl和vss中的另一个保持在节点n2r中。
[0619]
在电路hcs及电路hcsr的每一个保持规定电位之后,与图26的电路mp同样地,对布线x1l(在图26中布线wx1l)和布线x2l中的一个输入高电平电位,对另一个输入低电平电位,对布线x1l2b和布线x2l2b中的一个输入高电平电位,对另一个输入低电平电位,对布线x1l3b和布线x2l3b中的一个输入高电平电位,对另一个输入低电平电位,由此可以处理从电路mc或电路mcr向布线ol或布线olb流过的电流量作为3位的数据。
[0620]
通过构成图34的电路mp的电路,可以与图30a的电路mp同样地工作。
[0621]
图29至图34的每一个所示的电路mp具有包括一个电路hcs及一个电路hcsr的结构,但是电路mp也可以具有多个电路hcs及多个电路hcsr。
[0622]
图35所示的电路mp包括具有与电路hcs相同的功能的电路hcs
‑
2b、电路hcs
‑
3b、具有与电路hcsr相同的功能的电路hcs
‑
2br、电路hcs
‑
3br。具体而言,电路hcs
‑
2b、电路hcs
‑
3b、电路hcs
‑
2br及电路hcs
‑
3br具有接收从布线ol和布线olb中的一个或两个输入的信息(电位、电流等)且保持对应于该信息的电位的功能。尤其是,电路hcs
‑
2b具有施加保持在晶体管m1
‑
2b的栅极中的电位的功能,电路hcs
‑
3b具有施加保持在晶体管m1
‑
3b的栅极中的电位的功能,电路hcs
‑
2br具有施加保持在晶体管m1
‑
2br的栅极中的电位的功能,电路hcs
‑
3br具有施加保持在晶体管m1
‑
3br的栅极中的电位的功能。
[0623]
作为电路hcs、电路hcs
‑
2b、电路hcs
‑
3b、电路hcsr、电路hcs
‑
2br及电路hcs
‑
3br的结构,例如,也可以具有所有的电路包括sram或nosram的结构。此外,也可以具有选自电路hcs、电路hcs
‑
2b、电路hcs
‑
3b、电路hcsr、电路hcs
‑
2br和电路hcs
‑
3br中的一个以上的电路包括sram且其他电路包括nosram的结构。
[0624]
注意,包括在图35的电路mp中的电路hcs、电路hcs
‑
2b、电路hcs
‑
3b、电路hcsr、电路hcs
‑
2br及电路hcs
‑
3br的每一个与布线ol及布线olb电连接,但是根据本发明的一个方式的电路mp的结构不局限于此。例如,在图35的电路mp中,也可以与图32的电路mp同样地设置布线il、ilb,使电路hcs、电路hcs
‑
2b及hcs
‑
3b与布线il、布线ilb电连接。此外,例如,在图35的电路mp中,也可以与图33、图34的电路mp同样地设置布线il及布线ilb,使电路hcs、电路hcs
‑
2b及hcs
‑
3b与布线il电连接,使电路hcsr、电路hcs
‑
2br及电路hcs
‑
3br与布线ilb电连接。
[0625]
注意,本结构例子可以与本说明书所示的其他结构例子等适当地组合。
[0626]
<结构例子6>
[0627]
图36所示的电路mp是作为多个保持部包括电路hcs、电路hcs
‑
2b、电路hcs
‑
3b、电
路hcsr、电路hcs
‑
2br、电路hcs
‑
3br且具有与图35的电路mp不同的电路结构的一个例子。
[0628]
在包括在图36的电路mp中的晶体管m1的w长与l长的比例为w/l时,晶体管m1
‑
2b的w长与l长的比例优选为2
×
w/l,晶体管m1
‑
3b的w长与l长的比例优选为4
×
w/l。再者,晶体管m1r的尺寸优选与晶体管m1相同,晶体管m1
‑
2br的尺寸优选与晶体管m1
‑
2b相同,晶体管m1
‑
3br的尺寸优选与晶体管m1
‑
3b相同。
[0629]
电路hcs与布线ol、晶体管m1的栅极电连接,电路hcs
‑
2b与布线ol、晶体管m1
‑
2b的栅极电连接,电路hcs
‑
3b与布线ol、晶体管m1
‑
3b的栅极电连接。
[0630]
晶体管m1、晶体管m1
‑
2b、晶体管m1
‑
3b的每一个的第一端子与布线ve电连接,晶体管m3的第一端子与晶体管m4的第一端子、晶体管m1、晶体管m1
‑
2b、晶体管m1
‑
3b的每一个的第二端子电连接。晶体管m3的第二端子与布线ol电连接,晶体管m3的栅极与布线x1l电连接。晶体管m4的第二端子与布线olb电连接,晶体管m4的栅极与布线x2l电连接。
[0631]
在图36的电路mp中,电路mcr具有与电路mc大致相同的电路结构。因此,为了与电路mc所包括的电路元件等区分,对电路mcr所包括的电路元件等的符号附上“r”。此外,晶体管m3的第二端子与布线olb电连接,晶体管m4的第二端子与布线ol电连接。
[0632]
通过在电路mcr所包括的电路hcsr、电路hcs
‑
2br、电路hcs
‑
3br中保持低电平电位,例如保持vss,可以使晶体管m1r、晶体管m1
‑
2br、晶体管m1
‑
3br的每一个处于关闭状态。此时,通过在电路mc所包括的电路hcs、电路hcs
‑
2b、电路hcs
‑
3b的每一个保持高电平电位或低电平电位,根据保持在电路hcs、电路hcs
‑
2b、电路hcs
‑
3b的每一个中的电位决定在晶体管m1、晶体管m1
‑
2b、晶体管m1
‑
3b的每一个中流过的电流的量。然后,通过使晶体管m3处于开启状态,且使晶体管m4处于关闭状态,可以将该电流从布线ol通过电路mc向布线ve流过。此外,通过使晶体管m3处于关闭状态,且使晶体管m4处于开启状态,可以将该电流从布线olb通过电路mc向布线ve流过。
[0633]
此外,通过在电路mc所包括的电路hcs、电路hcs
‑
2b、电路hcs
‑
3b中保持低电平电位,例如保持vss,可以使晶体管m1、晶体管m1
‑
2b、晶体管m1
‑
3b的每一个处于关闭状态。此时,通过在电路mc所包括的电路hcsr、电路hcs
‑
2br、电路hcs
‑
3br的每一个保持高电平电位或低电平电位,根据保持在电路hcsr、电路hcs
‑
2br、电路hcs
‑
3br的每一个中的电位决定在晶体管m1r、晶体管m1
‑
2br、晶体管m1
‑
3br的每一个中流过的电流的量。然后,通过使晶体管m3r处于开启状态,且使晶体管m4r处于关闭状态,可以将该电路从布线olb通过电路mcr向布线ver流过。此外,通过使晶体管m3r处于关闭状态,且使晶体管m4r处于开启状态,可以将该电流从布线ol通过电路mcr向布线ver流过。
[0634]
当在图36的电路mp中例如保持正的第一数据(例如,这里是权系数)时,在电路hcsr、电路hcs
‑
2br、电路hcs
‑
3br中保持低电平电位,在电路hcs、电路hcs
‑
2b、电路hcs
‑
3b的每一个中保持对应于正的第一数据(权系数)的电位的组合。另外,在图36的电路mp中例如保持负的第一数据(权系数)时,在电路hcs、电路hcs
‑
2b、电路hcs
‑
3b中保持低电平电位,在电路hcsr、电路hcs
‑
2br、电路hcs
‑
3br的每一个中保持对应于负的第一数据(权系数)的电位的组合。
[0635]
图37示出包括在图36所示的电路mp中的电路hcs、电路hcs
‑
2b、电路hcs
‑
3b、电路hcsr、电路hcs
‑
2br、电路hcs
‑
3br的具体例子。图37所示的电路hcs、电路hcs
‑
2b、电路hcs
‑
3b、电路hcsr、电路hcs
‑
2br、电路hcs
‑
3br具有包括sram的结构。注意,在图37中,省略反相
器电路iv1、反相器电路iv2的每一个的高电源电位输入端子、低电源电位输入端子的记载。此外,关于图37所示的电路hcs、电路hcs
‑
2b、电路hcs
‑
3b、电路hcsr、电路hcs
‑
2br、电路hcs
‑
3br的结构,参照包括在图30a的电路mp中的电路hcs、电路hcsr的说明。
[0636]
作为与图37不同的具体例子,包括在图36所示的电路mp中的电路hcs、电路hcs
‑
2b、电路hcs
‑
3b、电路hcsr、电路hcs
‑
2br、电路hcs
‑
3br如图38所示也可以具有包括nosram的结构。注意,关于图38所示的电路hcs、电路hcs
‑
2b、电路hcs
‑
3b、电路hcsr、电路hcs
‑
2br、电路hcs
‑
3br的结构,参照包括在图34的电路mp中的电路hcs、电路hcsr的说明。
[0637]
此外,图36的电路mp作为一个例子可以变形为图39所示的电路mp。图39的电路mp如图26至图35所示的电路mp那样是能够处理多值的第二数据(例如,这里是神经元的信号的值(运算值))的电路。图39的电路mp具有对包括在图36的电路mp中的电路mc加上晶体管m3
‑
2x、晶体管m4
‑
2x、晶体管m1x、晶体管m1x
‑
2b、晶体管m1x
‑
3b的结构。注意,包括在图39的电路mp中的电路hcs、电路hcs
‑
2b、电路hcs
‑
3b、电路hcsr、电路hcs
‑
2br、电路hcs
‑
3br如图37所示具有包括sram的结构。
[0638]
另外,在本说明书等中,在没有特别的说明的情况下,与晶体管m1同样地,晶体管m1x、晶体管m1x
‑
2b、晶体管m1x
‑
3b在开启状态时有时最后在饱和区域中工作。也就是说,对上述各晶体管的栅极电压、源极电压及漏极电压有时进行适当的偏压,使得该晶体管在饱和区域中工作。注意,本发明的一个方式不局限于此。为了减小所供应的电压的振幅值,晶体管m1x、晶体管m1x
‑
2b、晶体管m1x
‑
3b也可以在线性区域中工作。另外,在第一数据(权系数)为模拟值时,晶体管m1x、晶体管m1x
‑
2b、晶体管m1x
‑
3b例如也可以根据第一数据(权系数)的大小有时在线性区域中工作,有时在饱和区域中工作。
[0639]
另外,在本说明书等中,在没有特别的说明的情况下,与晶体管m3、晶体管m4同样地,晶体管m3
‑
2x、晶体管m4
‑
2x在开启状态时有时最后在线性区域中工作。换言之,包括如下情况:对上述各晶体管的栅极电压、源极电压及漏极电压进行适当的偏压,使得该晶体管在线性区域中工作。注意,本发明的一个方式不局限于此。例如,晶体管m3
‑
2x、晶体管m4
‑
2x在开启状态时也可以在饱和区域中工作,也可以有时在线性区域工作有时在饱和区域工作。
[0640]
包括在图39的电路mp中的晶体管m1x的w长与l长的比例优选为2
×
w/l。此外,晶体管m1x
‑
2b的w长与l长的比例优选为4
×
w/l。另外,晶体管m1x
‑
4b的w长与l长的比例优选为8
×
w/l。在配置更多的晶体管时,同样地以2的幂增大w长与l长的比例即可。
[0641]
晶体管m1x、晶体管m1x
‑
2b、晶体管m1x
‑
3b的每一个的第一端子与布线ve电连接。晶体管m1x的栅极与电路hcs电连接,晶体管m1x
‑
2b的栅极与电路hcs
‑
2b电连接,晶体管m1x
‑
3b的栅极与电路hcs
‑
3b电连接。晶体管m3
‑
2x的第一端子与晶体管m4
‑
2x的第一端子、晶体管m1x、晶体管m1x
‑
2b、晶体管m1x
‑
3b的每一个的第二端子电连接。晶体管m3
‑
2x的第二端子与布线ol电连接,晶体管m3
‑
2x的栅极与布线x1l2x电连接。晶体管m4
‑
2x的第二端子与布线olb电连接,晶体管m4
‑
2x的栅极与布线x2l2x电连接。
[0642]
注意,在图39的电路mp中,电路hcs具有与电路hcsr大致相同的电路结构。因此,为了与电路hcs所包括的电路元件等区分,对电路hcsr所包括的电路元件等的符号附上“r”。晶体管m3
‑
2xr的第二端子与布线olb电连接,晶体管m4
‑
2xr的第二端子与布线ol电连接。
[0643]
布线x1l2x是用来切换晶体管m3
‑
2x、晶体管m3
‑
2xr的开启状态及关闭状态的布
线,布线x2l2x是用来切换晶体管m4
‑
2x、m4
‑
2xr的开启状态及关闭状态的布线。
[0644]
当在电路hcs中保持高电平电位,例如保持vddl时,在晶体管m1的源极与漏极间作为电流量流过i
ut
。此时,当在电路hcs
‑
2b中保持高电平电位,例如保持vddl时,由于晶体管m1
‑
2b的w长与l长的比例为晶体管m1的w长与l长的比例的2倍,所以在晶体管m1
‑
2b的源极与漏极间作为电流量流过2i
ut
。此外,当在电路hcs
‑
3b中保持高电平电位,例如保持vddl时,由于晶体管m1
‑
3b的w长与l长的比例为晶体管m1的w长与l长的比例的4倍,所以在晶体管m1
‑
3b的源极与漏极间作为电流量流过4i
ut
。
[0645]
也就是说,根据保持在电路hcs、电路hcs
‑
2b、电路hcs
‑
3b的每一个中的电位,从晶体管m3的第一端子与晶体管m4的第一端子的电连接点通过电路mc向布线ve流过的电流每隔i
ut
从0变化至7i
ut
。这里,将该电流量称为i
x1
。
[0646]
此外,当在电路hcs中保持高电平电位,例如保持vddl时,由于晶体管m1x的w长与l长的比例为晶体管m1的w长与l长的比例的2倍,所以在晶体管m1x的源极与漏极间作为电流量流过2i
ut
。另外,当在电路hcs
‑
2b中保持高电平电位,例如保持vddl时,由于晶体管m1x
‑
2b的w长与l长的比例为晶体管m1的w长与l长的比例的4倍,所以在晶体管m1x
‑
2b的源极与漏极间作为电流量流过4i
ut
。另外,当在电路hcs
‑
3b中保持高电平电位,例如保持vddl时,由于晶体管m1x
‑
3b的w长与l长的比例为晶体管m1的w长与l长的比例的8倍,所以在晶体管m1x
‑
3b的源极与漏极间作为电流量流过8i
ut
。
[0647]
也就是说,根据保持在电路hcs、电路hcs
‑
2b、电路hcs
‑
3b的每一个中的电位,从晶体管m3
‑
2x的第一端子与晶体管m4
‑
2x的第一端子的电连接点通过电路mc向布线ve的电流每隔2i
ut
从0变化至14i
ut
。这里,将该电流量称为i
x2
。也就是说,i
x2
=2i
x1
成立。
[0648]
这里,考虑在图39的电路mp中设定正的第一数据(权系数)时,对布线x1l、布线x2l、布线x1l2x、布线x2l2x的每一个施加高电平电位或低电平电位的情况。
[0649]
在对布线x1l、布线x2l、布线x1l2x、布线x2l2x的每一个供应低电平电位时,在电路mc中,晶体管m3、晶体管m3x
‑
2、晶体管m4、晶体管m4x
‑
2成为关闭状态。此时,电流不从布线ol通过电路mc向布线ve流过。
[0650]
在对布线x1l供应高电平电位,且对布线x2l、布线x1l2x、布线x2l2x的每一个供应低电平电位时,在电路mc中,晶体管m3处于开启状态,晶体管m3x
‑
2、晶体管m4、晶体管m4x
‑
2处于关闭状态。此时,从布线ol通过电路mc向布线ve作为电流量流过i
x1
。
[0651]
在对布线x2l供应高电平电位,且对布线x1l、布线x1l2x、布线x2l2x的每一个供应低电平电位时,在电路mc中,晶体管m4处于开启状态,晶体管m3、晶体管m3x
‑
2、晶体管m4x
‑
2处于关闭状态。此时,从布线olb通过电路mc向布线ve作为电流量流过i
x1
。
[0652]
在对布线x1l2x供应高电平电位,且对布线x1l、布线x2l、布线x2l2x的每一个供应低电平电位时,在电路mc中,晶体管m3
‑
2x处于开启状态,晶体管m3、晶体管m4、晶体管m4x
‑
2处于关闭状态。此时,从布线ol通过电路mc向布线ve作为电流量流过i
x2
=2i
x1
。
[0653]
在对布线x2l2l供应高电平电位,且对布线x1l、布线x1l2x、布线x1l2x的每一个供应低电平电位时,在电路mc中,晶体管m4
‑
2x处于开启状态,晶体管m3、晶体管m4、晶体管m3x
‑
2处于关闭状态。此时,从布线olb通过电路mc向布线ve作为电流量流过i
x2
=2i
x1
。
[0654]
再者,在对布线x1l、布线x1l2x供应高电平电位,对布线x2l、布线x2l2x的每一个供应低电平电位时,在电路mc中,晶体管m3、晶体管m3
‑
2x处于开启状态,晶体管m4、晶体管
m4x
‑
2处于关闭状态。此时,从布线ol通过电路mc向布线ve作为电流量流过i
x1
i
x2
=3i
x1
。
[0655]
同样地,在对布线x2l、布线x2l2x供应高电平电位,且对布线x1l、布线x1l2x的每一个供应低电平电位时,在电路mc中,晶体管m4、晶体管m4x
‑
2处于开启状态,晶体管m3、晶体管m3
‑
2x处于关闭状态。此时,从布线olb通过电路mc向布线ve作为电流量流过i
x1
i
x2
=3i
x1
。
[0656]
如上所述,包括在图39的电路mp中的电路mc可以将对应于保持在电路hcs、电路hcs
‑
2b、电路hcs
‑
3b的每一个中的电位的电流从布线ol或布线olb通过电路mc向布线ve流过,且根据输入到布线x1l、布线x2l、布线x1l2x、布线x2l2x的电位将该电流增大0倍、1倍、2倍、3倍而将其输出。
[0657]
在上述中,说明在图39的电路mp中设定正的第一数据(权系数)的例子,也与在图39的电路mp中设定负的第一数据(权系数)的情况相同,电路mp可以将电流从布线ol或布线olb通过电路mcr向布线ver流过,且根据输入到布线x1l、布线x2l、布线x1l2x、布线x2l2x的电位,将该电流增大0倍、1倍、2倍、3倍而将其输出。
[0658]
当在图39的电路mp中设定0的第一数据(权系数)时,对电路hcs、电路hcs
‑
2b、电路hcs
‑
3b、电路hcsr、电路hcs
‑
2br、电路hcs
‑
3br的每一个供应低电平电位,例如供应vss即可。由此,可以在晶体管m1、晶体管m1
‑
2b、晶体管m1
‑
3b、晶体管m1r、晶体管m1
‑
2br、晶体管m1
‑
3br、晶体管m1x、晶体管m1x
‑
2b、晶体管m1x
‑
3b、晶体管m1xr、晶体管m1x
‑
2br、晶体管m1x
‑
3br的每一个的源极与漏极间流过的电流量设定为0。由此,不管布线x1l、布线x2l、布线x1l2x、布线x2l2x所供应的电位如何,电流不从布线ol向电路mc或电路mcr流过,电流不从布线olb向电路mc或电路mcr流过。
[0659]
通过使保持在电路hcs、电路hcs
‑
2b、电路hcs
‑
3b的每一个中的电位为对应于第一数据(权系数)的电位,使输入到布线x1l、布线x2l、布线x1l2x、布线x2l2x的电位为对应于第二数据(神经元的信号的值)的电位,可以处理从布线ol或布线olb通过电路mc向布线ve流过的电流的量作为第一数据(权系数)与第二数据(神经元的信号的值)之积。
[0660]
注意,本结构例子可以与本说明书所示的其他结构例子等适当地组合。
[0661]
<结构例子7>
[0662]
在结构例子1至结构例子6中,说明可以以电路mp所保持的第一数据(例如,这里是权系数)为“正的多值”、“0”、“负的多值”计算第一数据与第二数据(例如,这里是神经元的信号的值)之积的电路mp,在本结构例子中,作为一个例子,说明可以计算第一数据(权系数)的“正的多值”、“0”、“负的多值”与第二数据(神经元的信号的值)的“ 1”、“0”的2值之积的电路mp。
[0663]
图40所示的电路mp是图16a的电路mp中不设置晶体管m4、晶体管m4r的电路。另外,该电路mp中不设置有晶体管m4、晶体管m4r,所以在图40中,也不设置有用来对晶体管m4、晶体管m4r的各栅极输入电位的布线x2l。另外,在图40中将相当于布线x1l的布线记为布线wxl。注意,这里,示出用于图16a情况的例子,但是本发明的一个方式不局限于此。在其他附图中,也可以同样地不设置晶体管m4、晶体管m4r。
[0664]
设定在图40的电路mp中的第一数据(权系数)与设定在图15a的电路mp中的第一数据(权系数)相同。因此,设定在图40的电路mp中的第一数据(权系数)参照图15a的电路mp的说明。作为该第一数据(权系数)例如可以为
“‑
2”、
“‑
1”、“0”、“ 1”、“ 2”。
[0665]
另外,对图40的电路mp输入的第二数据(神经元的信号的值)在对布线wxl施加高电平电位时设定为“ 1”,在对布线wxl施加低电平电位时设定为“0”。
[0666]
图40的电路mp的工作参照结构例子1的工作例子的说明。
[0667]
当在图40的电路mp中如上那样地定义第一数据(权系数)及所输入的第二数据(神经元的信号的值)时,关于各权系数,以下表表示:通过对电路mp输入第二数据(神经元的信号的值),从布线ol的节点outa输出的电流i
ol
的变化的有无;以及从布线olb的节点outb输出的电流i
olb
的变化的有无。注意,在下表中,将高电平电位记为high,将低电平电位记为low。
[0668]
[表5]
[0669][0670]
如上表所示,图40的电路mp可以计算第一数据(权系数)的正的多值或负的多值与第二数据(神经元的信号的值)的“ 1”、“0”的2值之积。注意,第一数据(权系数)不局限于5值,也可以为2值,也可以为5值以外的多值。作为2值,例如可以为“ 1”、“0”的2值或者“ 1”、
“‑
1”的2值。此外,第一数据(权系数)例如也可以为模拟值或多位(多值)的数字值。
[0671]
注意,在本工作例子中,在电路mp的电路mc、电路mcr的保持部hc、保持部hcr的每一个中设定的电流为多值,所设定的电流也可以为模拟值。例如,在第一数据(权系数)为“正的模拟值”时,在保持部hc的节点n1中设定模拟值的电流,在节点n1中保持对应于该电流的电位,在保持部hcr的节点n1r中保持低电平电位。在第一数据(权系数)为“负的模拟值”时,例如,在保持部hc的节点n1中保持低电平电位,在保持部hc的节点n1r中设定模拟值的电流,在节点n1r中保持对应于该电流的电位。电流i
ol
及电流i
olb
的电流的高低成为对应于模拟电位的高低。
[0672]
注意,本结构例子可以与本说明书所示的其他结构例子等适当地组合。
[0673]
<结构例子8>
[0674]
接着,对包括在电路ild中的晶体管及包括在电路mp中的晶体管具有相同的极性时的电路mp的结构例子进行说明。
[0675]
这里,说明在包括在电路ild的电流源电路isc中的恒流源电路isc1(恒流源电路isc2、恒流源电路isc3)具有包括图8c的n沟道型晶体管的结构时,所包括的晶体管都是n沟道型晶体管的电路mp的结构例子。
[0676]
图41a所示的电路mp是改变图21a的电路mp的结构的电路,图41a的电路mp与图21a的电路mp的不同之处在于保持部hc的结构、晶体管m1的背栅极的连接点。因此,省略图41a的电路mp中的与图21a的电路mp相同的连接结构的部分的说明。
[0677]
在图41a的电路mp中,保持部hc包括晶体管m9、电容c3。
[0678]
另外,在本说明书等中,在没有特别的说明的情况下,晶体管m9在开启状态时最后在线性区域中工作。换言之,包括如下情况:上述各晶体管的栅极电压、源极电压及漏极电压进行适当的偏压,使得该晶体管在线性区域中工作。
[0679]
晶体管m1的栅极与晶体管m9的第一端子、电容c3的第一端子电连接。晶体管m9的第二端子与布线ve电连接。晶体管m1的背栅极与晶体管m1的第二端子、电容c3的第二端子、晶体管m3的第一端子、晶体管m4的第一端子电连接。
[0680]
通过电连接晶体管m1的背栅极与晶体管m1的第二端子对晶体管m1的第一端子供应高电平电位,有时可以提高晶体管m1的阈值电压。注意,本发明的一个方式的半导体装置不局限于此,例如,图41a的电路mp也可以具有晶体管m1的背栅极与供应低电平电位的布线等电连接的结构。另外,例如,图41a的电路mp也可以具有晶体管m1不包括背栅极的结构。
[0681]
注意,在图41a所示的保持部hc中,将晶体管m1的栅极、晶体管m9的第一端子、电容c3的第一端子的电连接点记为节点n3。
[0682]
在图41a的电路mp中,电路mcr具有与电路mc大致相同的电路结构。因此,为了与电路mc所包括的电路元件等区分,对电路mcr所包括的电路元件等的符号附上“r”。
[0683]
在图41a的电路mp中,作为布线ve、布线ver所供应的电位,例如优选为高电平电位。在图8c所示的恒流源电路isc1(恒流源电路isc2、恒流源电路isc3)中,由于布线vso为低电平电位,所以布线ve、布线ver所供应的电位为高电平电位,可以将电流从电路mc或电路mcr通过布线ol、布线olb向电路ild流过。这里,将布线ve、布线ver所供应的电位设定为vdd进行说明。
[0684]
在图41a的电路mc中,当设定在晶体管m1的源极与漏极间流过的电流(设定第一数据(例如,这里是权系数))时,对布线wx1l、布线wl施加高电平电位,使晶体管m3、晶体管m9处于开启状态。由此,保持部hc的节点n3的电位成为vdd。然后,通过在图8a的电流源电路isc中生成电流,该电流从布线ve通过晶体管m1的源极与漏极间、电路mc的晶体管m3的源极与漏极间、布线ol向电流源电路isc流过。此时,根据电容c3的第二端子的电位(晶体管m1的第二端子的电位)决定该电流。这里,通过对布线wx1l、布线wl供应低电平电位,且使晶体管m3、m9处于关闭状态,可以在电容c3中保持晶体管m1的栅极与晶体管m1的第二端子之间的电压。由此,可以在晶体管m1的源极与漏极间设定该电流。然后,通过对布线wx1l、布线x2l的每一个供应规定电位,使晶体管m3和晶体管m4中的一个处于开启状态,使晶体管m3和晶体管m4中的另一个处于关闭状态,可以将被设定的电流从布线ve通过电路mc向布线ol或布线olb流过。
[0685]
图41b示出图41a的电路mp的结构的变形例子。图41b的电路mp与图41a的电路mp的不同之处在于晶体管m9的第二端子与布线va电连接而不与布线ve电连接,晶体管m9r的第二端子与布线va电连接而不与布线ver电连接。
[0686]
布线va例如被用作供应恒电压的布线。尤其是,该恒电压优选为接地电位、低电平电位、高于vss且布线ve所供应的高电平电位、低于vdd的电位。这里,布线va所供应的恒电压为v
m
,电位v
m
为高于接地电位、低电平电位、vss且低于布线ve所供应的高电平电位、vdd的电位。
[0687]
在图41a的电路mp中,在晶体管m1的第二端子的电位为v
s
时,晶体管m1的源极与漏极间电压为vdd
‑
v
s
。此外,在对晶体管m1的栅极输入v
m
时,晶体管m1的栅极与源极间电压为v
m
‑
v
s
。为了使晶体管m1在饱和区域中工作,在将晶体管m1的阈值电压设定为v
th
时,满足vdd
‑
v
s
>v
m
‑
v
s
‑
v
th
的关系即可。在晶体管m1为常开启特性时,即使栅极与源极间电压v
m
‑
v
s
为负值,栅极与源极间电压vdd
‑
v
s
也为正值,因此晶体管m1可以在饱和区域中工作。
[0688]
注意,常开启特性是指即使不对晶体管的栅极施加电压也存在沟道,而电流流过该晶体管的状态。
[0689]
此外,在图41b的电路mp中,也可以将布线va及布线var组合为一个布线。例如,如图41c所示的电路mp,也可以将布线va及布线var作为布线va组合为一个布线,沿着列方向上设置。注意,布线va也可以沿着行方向上设置而不是列方向(未图示)。
[0690]
接着,对与图41a至图41c不同的恒流源电路isc1(恒流源电路isc2、恒流源电路isc3)及电路mp为n沟道型晶体管的单极性电路时的电路mp的结构例子进行说明。
[0691]
图42所示的电路mp是图41a的电路mp以能够处理多值的第二数据(例如,这里是神经元的信号的值(运算值))的方式变形的电路。
[0692]
包括在图42的电路mp中的电路mc除了图41a的电路mp所包括的电路元件以外还包括晶体管m1
‑
2b、晶体管m3
‑
2b、晶体管m4
‑
2b、晶体管m10、保持部hc
‑
2b。
[0693]
在本说明书等中,在没有特别的说明的情况下,与晶体管m1同样地,晶体管m1
‑
2b在开启状态时有时最后在饱和区域中工作。也就是说,对上述各晶体管的栅极电压、源极电压及漏极电压有时进行适当的偏压,使得该晶体管在饱和区域中工作。注意,本发明的一个方式不局限于此。为了减小所供应的电压的振幅值,晶体管m1
‑
2b也可以在线性区域中工作。另外,在第一数据(权系数)为模拟值时,晶体管m1
‑
2b例如也可以根据第一数据(权系数)的大小有时在线性区域中工作,有时在饱和区域中工作。
[0694]
另外,在本说明书等中,在没有特别的说明的情况下,晶体管m3
‑
2b、晶体管m4
‑
2b、晶体管m10在开启状态时最后在线性区域中工作。换言之,包括如下情况:上述各晶体管的栅极电压、源极电压及漏极电压进行适当的偏压,使得该晶体管在线性区域中工作。
[0695]
接着,说明图42的电路mp的结构。注意,省略图42的电路mp中的与图41a的电路mp相同的结构的部分的说明。
[0696]
保持部hc
‑
2b具有与保持部hc相同的结构。因此,在说明包括在保持部hc
‑
2b中的电路元件等时,有时使用包括在保持部hc中的电路元件的符号进行说明。
[0697]
在图42的电路mp的电路mc中,晶体管m1
‑
2b的第一端子与布线ve电连接。晶体管m1
‑
2b的第二端子与晶体管m1
‑
2b的背栅极、晶体管m3
‑
2b的第一端子、晶体管m4
‑
2b的第一端子电连接。晶体管m1
‑
2b的栅极与保持部hc
‑
2b的晶体管m9的第一端子、保持部hc
‑
2b的电
容c1的第一端子电连接。保持部hc
‑
2b的电容c3与晶体管m10的第一端子、晶体管m1的第二端子电连接。晶体管m3
‑
2b的第二端子与布线ol电连接。晶体管m3
‑
2b的栅极与布线x1l2b电连接。晶体管m4
‑
2b的第二端子与布线olb电连接。晶体管m4
‑
2b的栅极与布线x2l2b电连接。晶体管m10的第二端子与晶体管m1的第二端子、晶体管m3的第一端子、晶体管m4的第一端子、保持部hc的电容c3的第二端子电连接。保持部hc
‑
2b的晶体管m9的第二端子与保持部hc的晶体管m9的第一端子电连接。保持部hc
‑
2b的晶体管m9的栅极、晶体管m10的栅极、与布线wl电连接。
[0698]
注意,在图42的电路mp中,电路mcr具有与电路mc大致相同的电路结构。因此,为了与电路mc所包括的电路元件等区分,对电路mcr所包括的电路元件等的符号附上“r”。此外,晶体管m3
‑
2br的第二端子与布线olb电连接,晶体管m4
‑
2br的第二端子与布线ol电连接。
[0699]
在图42的电路mp中,晶体管m3、晶体管m3
‑
2b、晶体管m3r、晶体管m3
‑
2br、晶体管m4、晶体管m4
‑
2b、晶体管m4r、晶体管m4
‑
2br的尺寸例如沟道长度及沟道宽度优选彼此相等。通过采用上述电路结构,有可能有效地进行布局。
[0700]
在图42的电路mp中,包括在保持部hcr、保持部hc
‑
2br中的每一个的晶体管m9r的尺寸例如沟道长度及沟道宽度优选与包括在保持部hc、保持部hc
‑
2b中的每一个的晶体管m9相等。此外,晶体管m10r的尺寸优选与晶体管m10相等。
[0701]
此外,在晶体管m1的w长与l长的比例为w/l时,晶体管m1
‑
2b的w长与l长的比例优选为2w/l。此外,晶体管m1r的尺寸优选与晶体管m1相等,晶体管m1
‑
2br的尺寸优选与晶体管m1
‑
2b相等。
[0702]
布线x1l2b是用来切换晶体管m3
‑
2b、晶体管m3
‑
2br的开启状态及关闭状态的布线,布线x2l2b是用来切换晶体管m4
‑
2b、晶体管m4
‑
2br的开启状态及关闭状态的布线。
[0703]
接着,对图42的电路mp中的电流的设定的方法(第一数据(权系数)的设定方法)进行说明。
[0704]
首先,对布线wx1l、布线wl供应高电平电位,使晶体管m3、晶体管m10、保持部hc的晶体管m9、保持部hc
‑
2b的晶体管m9处于开启状态。由此,保持部hc的节点n3的电位成为vdd,保持部hc
‑
2b的节点n3的电位成为vdd。然后,通过在图8a的电流源电路isc中作为电流量生成3i
ut
的电流,从布线ve向晶体管m1的源极与漏极间及晶体管m1
‑
2b的源极与漏极间的双方不同的电流流过。具体而言,由于晶体管m1
‑
2b的w长与l长的比例为晶体管m1的w长与l长的比例的2倍,所以在晶体管m1的源极与漏极间流过的电流的量为i
ut
,在晶体管m1
‑
2b的源极与漏极间流过的电流的量为2i
ut
。在晶体管m1与晶体管m1
‑
2b的每一个的源极与漏极间流过的电流通过晶体管m3的源极与漏极间、布线ol向电流源电路isc流过。此时,保持部hc的电容c3的第二端子的电位(晶体管m1的第二端子的电位)根据在晶体管m1的源极与漏极间流过的电流决定,保持部hc
‑
2b的电容c3的第二端子的电位(晶体管m1
‑
2b的第二端子的电位)根据在晶体管m1
‑
2b的源极与漏极间流过的电流决定。这里,通过对布线wx1l、布线wl供应低电平电位,使晶体管m3、m10、保持部hc的晶体管m9、保持部hc
‑
2b的晶体管m9处于关闭状态,可以在保持部hc的电容c3中保持晶体管m1的栅极与晶体管m1的第二端子之间的电压,可以在保持部hc
‑
2b的电容c3中保持晶体管m1
‑
2b的栅极与晶体管m1
‑
2b的第二端子之间的电压。由此,可以在将晶体管m1的源极与漏极间流过的电流的量设定为i
ut
,可以在将晶体管m1
‑
2b的源极与漏极间流过的电流的量设定为2i
ut
。
[0705]
然后,通过根据第二数据(神经元的信号的值)对布线wx1l、布线x2l、布线x1l2b、布线x2l2b的每一个供应规定电位,可以在电路mp中计算所设定的第一数据(权系数)与第二数据(神经元的信号的值)之积。注意,关于多值的第一数据(权系数)与多值的第二数据(神经元的信号的值)之积的计算的详细内容,在结构例子5中进行说明。
[0706]
注意,可以将图42的电路mp的结构改变为图43的电路mp的结构。图43的电路mp相当于在图42的电路mp中保持部hc
‑
2b的晶体管m9的第二端子的连接对象从保持部hc的晶体管m9的第一端子改变为布线ve,保持部hc
‑
2br的晶体管m9r的第二端子的连接对象从保持部hcr的晶体管m9r的第一端子改变为布线ver的结构。图43的电路mp可以与图42的电路mp同样地工作。
[0707]
此外,图42的电路mp及图43的电路mp如图41b的电路mp那样也可以将布线ve分为布线ve及布线va且将布线ver分为布线ver及布线var。图44所示的电路mp具有在图42的电路mp中将布线ve分为布线ve及布线va的结构,图45所示的电路mp具有在图43的电路mp中将布线ve分为布线ve及布线va的结构。
[0708]
图44的电路mp、图45的电路mp可以与图42、图43的每一个的电路mp同样地工作。注意,如图42、图43、图44、图45等所示,在电容c3与晶体管m1等的源极端子连接,该源极端子不与电源线等连接,其漏极端子与电源线等连接的情况下,在将正电流从电路ild通过切换电路tw[j]供应给布线ol或布线olb时,布线vcn所供应的恒电压优选为供应给布线ve或布线va的电压,例如为高电平电位(例如vdd等)。也就是说,在从布线vcn供应恒电压时,电容c3的两端的电位差优选近于零。也就是说,优选使晶体管m1处于关闭状态。换言之,优选对布线vcn供应电流不从电路mc输出的电位。另一方面,优选将布线vcn2设定为vss或接地电位等的低电平的电位。由此,通过从电路mp输出的电流可以改变布线ol及布线olb的电位。
[0709]
注意,本结构例子可以与本说明书所示的其他结构例子等适当地组合。
[0710]
<结构例子9>
[0711]
图46示出能够用于图14的运算电路170的电路bs及电路mp的一个例子。
[0712]
作为电路bs,例如,如图46所示,可以使用图40的电路mp。电路bmc相当于图40的电路mp的电路mc,电路bmcr相当于图40的电路mp的电路mcr。晶体管m11相当于图40的电路mp的晶体管m1,晶体管m12相当于图40的电路mp的晶体管m12,晶体管m13相当于图40的电路mp的晶体管m13,电容c4相当于图40的电路mp的电容c1,节点n4相当于图40的电路mp的节点n1。此外,布线wxbs相当于图40的电路mp的布线wxl,布线wlbs相当于图40的电路mp的布线wl,布线vf相当于图40的电路mp的布线ve。因此,关于图46所示的电路bs的结构,参照图40的电路mp的说明。
[0713]
作为电路mp,例如,如图46所示,可以使用图15a的电路mp。因此,关于图46所示的电路mp的结构,参照图15a的电路mp的说明。
[0714]
在图46的电路bs中,电路bmc具有与电路bmcr大致相同的电路结构。此外,在电路mp中,电路mcr具有与电路mc大致相同的电路结构。因此,为了与电路bs所包括的电路元件等区分,对电路bsr所包括的电路元件等的符号附上“r”,为了与电路mc所包括的电路元件等区分,对电路mcr所包括的电路元件等的符号附上“r”。
[0715]
当在电路bs中设定“正偏置”时,与图40的电路mp的工作同样地,对布线wxbs、布线wlbs供应高电平电位,使晶体管m12、晶体管m13、晶体管m12r、晶体管m13r处于开启状态即
可。然后,在图8a的电流源电路isc中,选择对应于该偏置的电流,使布线ol与电流源电路isc之间处于导通状态。由此,该电流从电流源电路isc通过布线ol及电路bmc向布线vf流过,节点n4的电位成为对应于该电流的电位。此外,此时,通过使布线olb与布线vcn之间处于导通状态,对电路bmcr一侧的节点n4r从布线vcn供应电位vss,所以节点n4r的电位成为vss。然后,通过对布线wxbs、布线wlbs供应低电平电位,使晶体管m12、晶体管m13、晶体管m12r、晶体管m13r处于关闭状态,可以保持节点n4、节点n4r的电位。由此,可以在电路bs中设定“正偏置”。
[0716]
此外,当在电路bs中设定“负偏置”时,对布线wxbs、布线wlbs供应高电平电位,使晶体管m12、晶体管m13、晶体管m12r、晶体管m13r处于开启状态。然后,在图8a的电流源电路isc中,选择对应于该偏置的电流,使布线olb与电流源电路isc之间处于导通状态。由此,该电流从电流源电路isc通过布线olb及电路bmcr向布线vfr流过,节点n4r的电位成为对应于该电流的电位。此外,此时,通过使布线ol与布线vcn之间处于导通状态,对电路bmc一侧的节点n4从布线vcn供应电位vss,所以节点n4的电位成为vss。然后,对布线wxbs、布线wlbs供应低电平电位,使晶体管m12、晶体管m13、晶体管m12r、晶体管m13r处于关闭状态,可以保持节点n4、节点n4r的电位。由此,可以在电路bs中设定“负偏置”。
[0717]
当在电路bs中设定“0的偏置”时,对布线wxbs、布线wlbs供应高电平电位,使晶体管m12、晶体管m13、晶体管m12r、晶体管m13r处于开启状态,使布线ol及布线olb与布线vcn之间处于导通状态,节点n4、n4r的电位成为vss。然后,对布线wxbs、布线wlbs供应低电平电位,使晶体管m12、晶体管m13、晶体管m12r、晶体管m13r处于关闭状态,保持节点n4、节点n4r的每一个的电位vss,由此可以在电路bs中设定“0的偏置”。
[0718]
此外,根据情况,当在电路bs中设定偏置时,也可以对节点n4、节点n4r的每一个供应vss以外的电位。
[0719]
当在电路bs中设定偏置之后,在电路mp中保持第一数据(例如,这里是权系数),对电路mp供应第二数据(例如,这里是神经元的信号的值)即可。具体而言,在电路mp中设定对应于该权系数的电流,对电路mp从布线wx1l、布线x2l的每一个供应对应于第二数据(神经元的信号的值)的电位。再者,通过在电路bs中对布线wxbs供应高电平电位,可以对在电路mp中计算的第一数据(权系数)与第二数据(神经元的信号的值)之积供应在电路bs中设定的偏置。
[0720]
此外,首先在电路mp中保持第一数据(权系数),在电路mp中计算第一数据(权系数)与第二数据(神经元的信号的值)之积一次,然后根据该计算结果在电路bs中设定偏置,再次进行运算。也就是说,也可以根据运算结果进行适当地改变偏置的工作。
[0721]
注意,在图46的结构例子中示出布线vf、布线vfr、布线ve、布线ver,本发明的一个方式不局限于此。例如,在图46的结构中,也可以将布线vf及布线ve组合为一个布线,且将布线vfr及布线ver组合为一个布线。此外,例如,如图16b的电路mp,在图46的结构中,也可以将布线vf及布线vfr组合为一个布线,且将布线ve及布线ver组合为一个布线。此外,例如,在图46的结构中,也可以将布线vf、布线vfr、布线ve、布线ver组合为一个布线。例如,在图46的结构中,也可以将选自布线vf、布线vfr、布线ve、布线ver中两个以上的布线组合为一个布线。
[0722]
注意,本结构例子可以与本说明书所示的其他结构例子等适当地组合。
[0723]
<结构例子10>
[0724]
接着,对能够用于图10所示的电路mp的电路结构的例子进行说明。
[0725]
图47a所示的电路mp例如为能够用于图7的运算电路140的图10的电路mp的结构例子。注意,图47a的电路mp相当于在图40所示的电路mp中将晶体管m3及晶体管m3r组合为一个晶体管且将布线ve及布线ver组合为一个布线的电路。具体而言,图40所示的电路mp的晶体管m3及晶体管m3r在图47a的电路mp中组合为晶体管mz,图40所示的电路mp的布线ve及布线ver在图47a的电路mp中组合为布线ve。
[0726]
在图47a的电路mp中,电路mcr具有与电路mc大致相同的电路结构。因此,为了与电路mc所包括的电路元件区分,对电路mcr所包括的电路元件的符号附上“r”。
[0727]
另外,在本说明书等中,在没有特别的说明的情况下,晶体管mz在开启状态时最后在线性区域中工作。换言之,包括如下情况:上述各晶体管的栅极电压、源极电压及漏极电压进行适当的偏压,使得该晶体管在线性区域中工作。
[0728]
另外,电路mc包括保持部hc及晶体管m20,电路mcr包括保持部hcr及晶体管m20r。
[0729]
晶体管m20的第一端子与晶体管mz的第一端子电连接,晶体管m20的栅极与晶体管m1的第二端子及电容c1的第一端子电连接,晶体管m20的第二端子与布线ol电连接。电容c1的第二端子与布线vl电连接。晶体管m20的第一端子与布线ol电连接。
[0730]
晶体管m20r的第一端子与晶体管mz的第一端子电连接,晶体管m20r的栅极与晶体管m1r的第二端子及电容c1r的第一端子电连接,晶体管m20r的第二端子与布线olb电连接。电容c1r的第二端子与布线vl电连接。晶体管m1的第一端子与布线olb电连接。
[0731]
布线vl例如被用作供应恒电压的布线。作为该恒电压,例如可以采用低电平电位的vss、接地电位(gnd)等。
[0732]
包括在图47a的电路mp中的保持部hc、保持部hcr与图15a等所示的包括在电路mp中的保持部hc、保持部hcr同样地可以设定相当于权系数的电流量。具体而言,例如,在保持部hc中,对布线xl供应规定电位使晶体管mz处于开启状态,对布线wl供应规定电位使晶体管m1处于开启状态,将相当于权系数的电流量从布线ol向电容c1的第一端子及晶体管m20的第二端子流过。此时,由于晶体管m20成为二极管连接,所以晶体管m20的栅极与源极间电压根据该电流量(在源极与漏极间流过的电流的量)决定。此时,在晶体管m20的源极的电位为布线vl所供应的电位时,决定晶体管m20的栅极的电位。这里,通过使晶体管m1处于关闭状态,可以保持晶体管m20的栅极的电位。注意,与保持部hcr同样地,通过将相当于权系数的电流量从布线olb向电容c1r的第一端子及晶体管m20r的第二端子流过,可以将对应于该电流量的电位保持在晶体管m20r的栅极中。
[0733]
这里,例如,作为设定在图48a至图48c的电路mp中的权系数,当在保持部hc的晶体管m20中被设定为i
ut
的电流流过且在保持部hcr的晶体管m20r中被设定为电流不流过时,该权系数为“ 1”,当在保持部hc的晶体管m20中被设定为电流不流过且在保持部hcr的晶体管m20r中被设定为i
ut
的电流流过时,该权系数为
“‑
1”,当在保持部hc、保持部hcr的每一个的晶体管m20、晶体管m20r中被设定为电流不流过时,该权系数为“0”。
[0734]
通过在保持部hc及保持部hcr的每一个中设定对应于权系数的电流,决定晶体管m20及晶体管m20r的每一个的栅极的电位。这里,例如通过对布线xl供应对应于神经元的信号的值的电位,决定在布线ol及/或布线olb与电路mp之间流过的电流。例如,在对布线xl作
为“ 1”的第二数据供应高电平电位时,布线vl所供应的恒电压被供应到晶体管m20的第一端子、晶体管m20r的第一端子。此外,例如,在对布线xl作为“0”的第二数据供应低电平电位时,布线vl所供应的恒电压不被供应到晶体管m20的第一端子、晶体管m20r的第一端子。也就是说,电流不在晶体管m20及晶体管m20r中流过。
[0735]
这里,当在晶体管m20中作为电流量设定i
ut
时,通过对晶体管m20的源极从布线vl供应电位,在晶体管m20的第一端子与第二端子之间作为电流量流过i
ut
。此外,在以电流不在晶体管m20中流过的方式设定时,即使对晶体管m20的源极从布线vl供应电位,电流也不在晶体管m20的第一端子与第二端子之间流过。同样地,当在晶体管m20r中作为电流量设定i
ut
时,通过对晶体管m20r的源极从布线vl供应电位,在晶体管m20r的第一端子与第二端子之间作为电流量流过i
ut
。此外,当以电流不在晶体管m20r中流过的方式设定时,即使对晶体管m20r的源极从布线vl供应电位,电流也不在晶体管m20r的第一端子与第二端子之间流过。
[0736]
也就是说,将上述内容总合,在权系数与神经元的信号的值之积为“ 1”时,i
ut
的电流量在电路mc与布线ol之间流过,而电流不在电路mcr与布线olb之间流过。此外,在权系数与神经元的信号的值之积为
“‑
1”时,i
ut
的电流量在电路mcr与布线olb之间流过,而电流不在电路mc与布线ol之间流过。另外,在权系数与神经元的信号的值之积为“0”时,电流不在电路mc与布线ol之间流过,且电流不在电路mcr与布线olb之间流过。
[0737]
如上所述,图47a的电路mp可以计算权系数的“ 1”、
“‑
1”、“0”的3值与神经元的信号(运算值)的“ 1”、“0”的2值之积。此外,图47a的电路mp与在结构例子7中说明的电路mp同样地,作为一个例子,改变在晶体管m20及晶体管m20r中设定的电流量,由此可以计算第一数据(权系数)的“正的多值”、“0”、“负的多值”与第二数据(神经元的信号的值)的“ 1”、“0”的2值之积。
[0738]
图47a所示的电路mp例如可以改变为图47b所示的电路mp。图47b所示的电路mp与图47a的电路mp的不同之处在于电容c1的第二端子及电容c1r的第二端子与布线cvl电连接,而不与布线vl电连接。
[0739]
布线cvl例如被用作供应恒电压的布线。作为该恒电压,例如可以采用高电平电位、低电平电位、接地电位等。
[0740]
注意,本结构例子可以与本说明书所示的其他结构例子等适当地组合。
[0741]
注意,本实施方式可以与本说明书所示的其他实施方式适当地组合。
[0742]
(实施方式3)
[0743]
在本实施方式中,说明能够进行多值的第一数据(例如,权系数和神经元的信号中的一个等)与多值的第二数据(例如,权系数和神经元的信号中的另一个等)的积和运算的半导体装置或该半导体装置的工作方法。
[0744]
<工作方法例子1>
[0745]
首先,对使用在上述实施方式中说明的半导体装置等进行多值的第一数据(例如,权系数和神经元的信号中的一个等)与多值的第二数据(例如,权系数和神经元的信号中的另一个等)的积和运算的工作方法的一个例子进行说明。
[0746]
作为一个例子,考虑使用图21a的电路mp的图11的运算电路150的工作方法。此外,为了简化起见,关于在布线ol、布线olb中流过的电流的变化,只由与布线ol、布线olb电连
接的一个电路mp进行。此外,与电路mp电连接的布线ve、布线ver的每一个对电路mp作为恒电压供应vss。另外,包括在电路afp中的电路actf[1]至actf[n]的每一个例如为具有积分电路的结构(或者,电流电荷(iq)转换电路)的电路actf。例如,在图6e的电路actf[j]中,也可以具有以负载lea、负载leb为电容等的结构。
[0747]
图48a是示出该工作方法的例子的时序图。具体而言,图48a示出时刻t11至时刻t15的期间及其附近的时刻的保持部hc的节点n1的电位、保持部hcr的节点n1r的电位、布线wx1l的电位、在布线ol中流过的电流i
ol
的电流量、在布线olb中流过的电流i
olb
的电流量、储存在电路actf的积分电路的电容中的电荷量的变化。尤其是,在图48a中,将通过从布线ol向包括在负载lea中的电容中流过的电流储存的电荷量记载为q
ol
,将通过从布线olb向包括在负载leb中的电容中流过的电流储存的电荷量记载为q
olb
。
[0748]
在图48a所示的时序图中,在时刻t11之前的时刻,对应于多值的第一数据(例如,这里是权系数)的电流被设定。注意,关于该电流的设定方法,参照实施方式2的说明。
[0749]
在图48a的时序图的工作例子中,预先在电路mp中设定“ 1”的权系数。具体而言,在时刻t11之前的时刻,以在晶体管m1中电流量i1流过的方式设定,在保持部hc的节点n1中保持v1,在保持部hcr的节点n1r中保持vss。注意,电位v1高于vss。此外,预先使开关swh、swhb处于开启状态,使开关swi、开关swib、开关swo、开关swob、开关swl、开关swlb处于关闭状态,在布线ol及布线olb与布线vcn2之间处于导通状态,将布线ol、布线olb的电位设定为高电平电位。
[0750]
在时刻t11以后,通过使布线ol及布线olb与电路afp之间处于导通状态,在图8a中,开关swo、开关swob成为开启状态,开关swi、开关swib、开关swl、开关swlb、开关swh、开关swhb成为关闭状态。
[0751]
在时刻t12至时刻t13的期间,对电路mp输入第二数据(例如,这里是神经元的信号的值)。注意,时刻t12至时刻t13的期间的输入时间为t
ut
。该输入时间的长度对应于神经元的信号的值的大小。也就是说,通过改变该输入时间的长度,可以改变运算结果。
[0752]
在图48a的工作例子中,作为向电路mp的第二数据(神经元的信号的值)的输入,对布线wx1l输入高电平电位,对布线x2l输入低电平电位。因此,对晶体管m3、晶体管m3r的每一个的栅极输入高电平电位,对晶体管m4、晶体管m4r的每一个的栅极输入低电平电位,晶体管m3、晶体管m3r的每一个成为开启状态,晶体管m4、晶体管m4r的每一个成为关闭状态。通过上述工作,在电路mc与布线ol之间及在电路mcr与布线olb之间成为导通状态,在电路mc与布线olb之间及在电路mcr与布线ol之间成为非导通状态。
[0753]
此时,由于在晶体管m1中以电流量为i1的电流流过的方式设定,所以电流量i1的电流从电路actf通过切换电路tw、布线ol、电路mc在布线ve中流过。此外,由于晶体管m1r处于关闭状态(以作为电流量流过0的方式设定),电流不从电路actf通过切换电路tw、布线olb、电路mcr向布线ver流过。
[0754]
这里,着眼于电路actf的积分电路。由于在时刻t12至时刻t13的期间进行第二数据(神经元的信号的值)的输入,所以在与布线ol处于导通状态的包括在电路actf中的积分电路的电容(负载lea)中在时刻t12至时刻t13的期间继续储存电荷。在理想上,在时刻t13,在该电容中储存t
ut
×
i1的电荷。注意,在图48a的时序图中,将在时刻t12至时刻t13的期间在该电容中储存的电荷量记载为q1。另一方面,与布线olb处于导通状态的包括在电路actf
中的积分电路的电容(负载leb)没有发生电荷的储存。由此,电路actf可以输出对应于在布线ol中流过的电荷量q1及在布线olb中流过的电荷量0的神经元的信号z
j(k)
。
[0755]
接着,考虑在图48a的时序图中对电路mp的神经元的信号的输入时间从t
ut
变化至2t
ut
的情况。图48b所示的时序图示出在图48a的时序图中对电路mp的神经元的信号的输入时间从t
ut
变化至2t
ut
的情况的工作例子。
[0756]
关于图48b的时序图的时刻t12之前的工作,与图48a的时序图的时刻t12之前的工作例子相同。因此,关于图48b的时序图的时刻t12之前的工作,参照图48a的时序图的时刻t12之前的工作的说明。
[0757]
在图48b的工作例子的时刻t12至时刻t14的期间,对电路mp输入神经元的信号。如上所述,时刻t12至时刻t14的期间的输入时间为2t
ut
。
[0758]
在图48b的工作例子中,与图48a的工作例子同样地,作为对电路mp的第二数据(神经元的信号的值)的输入,对布线wx1l输入高电平电位,对布线x2l输入低电平电位。因此,电流量i1的电流从电路actf通过切换电路tw、布线ol、电路mc向布线ve流过。此外,电流不从电路actf通过切换电路tw、布线olb、电路mcr向布线ver流过。
[0759]
由于在时刻t12至时刻t14的期间输入第二数据(神经元的信号的值),所以在与布线ol处于导通状态的积分电路的电容(负载lea)中在时刻t12至时刻t14的期间继续储存电荷。在理想上,在时刻t14,在该电容中储存2t
ut
×
i1(=2q1)的电荷。注意,在图48b的时序图中,将在时刻t12至时刻t14的期间在该电容中储存的电荷量记载为q2。另一方面,与布线olb处于导通状态的包括在电路actf中的积分电路的电容(负载leb)没有发生电荷的储存。由此,电路actf可以输出对应于在布线ol中流过的电荷量q2及在布线olb中流过的电荷量0的神经元的信号z
j(k)
。
[0760]
接着,在图48a的时序图中,考虑将设定在电路mp中的权系数从“ 1”改变为
“‑
2”的情况。具体而言,在图48c所示的时序图中,预先在时刻t11之前的时刻以在晶体管m1、m1r中电流i2(=2i1)流过的方式设定,在保持部hcr的节点n1r中保持v2,在保持部hc的节点n1中保持vss。注意,电位v2高于v1及vss。
[0761]
关于图48c的时序图的时刻t12之前的工作,与图48a的时序图的时刻t12之前的工作例子相同。因此,关于图48c的时序图的时刻t12之前的工作,参照图48a的时序图的时刻t12之前的工作的说明。
[0762]
在图48c的工作例子的时刻t12至时刻t13的期间,对电路mp输入神经元的信号。如上所述,时刻t12至时刻t13的期间的输入时间为t
ut
。
[0763]
在图48c的工作例子中,与图48a的工作例子同样地,作为对电路mp的第二数据(神经元的信号的值)的输入,对布线wx1l输入高电平电位,对布线x2l输入低电平电位。因此,电流量i2的电流从电路actf通过切换电路tw、布线olb、电路mcr向布线ver流过。此外,电流不从电路actf通过切换电路tw、布线ol、电路mc向布线ve流过。
[0764]
由于在时刻t12至时刻t13的期间进行第二数据(神经元的信号的值)的输入,所以在与布线olb处于导通状态的积分电路的电容(负载leb)中在时刻t12至时刻t13的期间继续储存电荷。在理想上,在时刻t13,在该电容中储存t
ut
×
i2(=2t
ut
×
i1=2q1)的电荷。注意,在图48c的时序图中,将在时刻t12至时刻t13的期间在该电容中储存的电荷量记载为q2。另一方面,与布线ol处于导通状态的包括在电路actf中的积分电路的电容(负载lea)没
有发生电荷的储存。由此,电路actf可以输出对应于在布线ol中流过的电荷量0及在布线olb中流过的电荷量q2的神经元的信号z
j(k)
。
[0765]
如图48a至图48c所示的工作例子,第二数据(神经元的信号的值)可以根据对电路mp的第二数据的输入期间决定,根据输入期间的长度决定从电路actf输出的运算结果。因此,通过第二数据(神经元的信号的值)根据输入期间的长度及布线wx1l、对布线x2l施加的电位定义,电路mp可以处理3值以上的第二数据(神经元的信号的值),可以进行多值的第一数据(权系数)与3值以上的第二数据(神经元的信号的值)的积和运算及/或激活函数的运算。
[0766]
在本工作例子中,对电路mp输入的第二数据(神经元的信号的值)作为一个例子可以定义为如下。对布线wx1l输入高电平电位,对布线x2l输入低电平电位,且输入期间为t
ut
时的第二数据(神经元的信号的值)为“ 1”,对布线wx1l输入高电平电位,对布线x2l输入低电平电位,且输入期间为2t
ut
时的第二数据(神经元的信号的值)为“ 2”,对布线wx1l输入高电平电位,对布线x2l输入低电平电位,且输入期间为3t
ut
时的第二数据(神经元的信号的值)为“ 3”。此外,对布线wx1l输入低电平电位,对布线x2l输入高电平电位,且输入期间为t
ut
时的第二数据(神经元的信号的值)为
“‑
1”,对布线wx1l输入高电平电位,对布线x2l输入低电平电位,且输入期间为2t
ut
时的第二数据(神经元的信号的值)为
“‑
2”,对布线wx1l输入高电平电位,对布线x2l输入低电平电位,且输入期间为3t
ut
时的第二数据(神经元的信号的值)为
“‑
3”。此外,对布线wx1l输入低电平电位,对布线x2l输入低电平电位时的第二数据(神经元的信号的值)为“0”。
[0767]
通过如上所述那样定义输入到电路mp中的第二数据(神经元的信号的值),在图48a所示的工作例子中,作为第一数据(权系数)的“ 1”与第二数据(神经元的信号的值)的“ 1”之积,可以算出“ 1”。此外,在图48b所示的工作例子中,作为第一数据(权系数)的“ 1”与第二数据(神经元的信号的值)的“ 2”之积,可以算出“ 2”。另外,在图48c所示的工作例子中,作为第一数据(权系数)的
“‑
2”与第二数据(神经元的信号的值)的“ 1”之积,可以算出
“‑
2”。在本工作例子中,以下表示出将第一数据(权系数)设定为
“‑2”“‑
1”“0”“ 1”和“ 2”中的任一个,将第二数据(神经元的信号的值)设定为
“‑2”“‑
1”“0”“ 1”和“ 2”中的任一个时的在布线ol中流过的电荷量q
ol
及在布线olb中流过的电荷量q
olb
。注意,在下表中,将高电平电位记载为high,将低电平电位记载为low。
[0768]
[表6]
[0769][0770]
本发明的一个方式不局限于上述定义。在上述中,作为第二数据(神经元的信号的值),定义正的多值、负的多值、0,但是输入期间是连续值而不是离散值(a为正实数,输入期间为a
×
t
ut
),可以处理第二数据(神经元的信号的值)作为模拟值。
[0771]
在图48a、图48b所示的工作例子中,设定在电路mp中的第一数据(权系数)为“ 1”,在图48c所示的工作例子中,设定在电路mp中的第一数据(权系数)为
“‑
2”,也可以使用“ 1
”“‑
2”以外的第一数据(权系数)进行计算。如实施方式1及实施方式2所说明,由于作为设定在电路mp中的第一数据(权系数)可以设定模拟值等,所以包括在电路actf中的积分电路的电容所储存的电荷量也可以根据模拟值等的第一数据(权系数)算出。
[0772]
在图48a至图48c所示的工作例子中,为了简化起见,考虑布线ol、布线olb只与一个电路mp电连接的情况,但是如图11的运算电路150那样,布线ol、布线olb也可以与多个电路mp电连接。由此,可以将从布线ol、布线olb的每一个输入到多个电路mp中的电荷量的总和储存在包括在电路actf中的积分电路的电容,电路actf可以输出对应于在布线ol、布线olb中流过的每一个的电荷量的神经元的信号z
j(k)
。注意,在图48a至图48c中,从时刻t12起开始布线wx1l的电位的变化。也就是说,在图48a至图48c的每一个中,即使在布线wx1l的电位成为高电平电位的期间不同时,从低电平电位变为高电平电位的时刻也相同(时刻t12),但是本发明的一个方式不局限于此。例如,即使在图48a至图48c的每一个的布线wx1l的电位成为高电平电位的期间不同时,也可以以从高电平电位变为低电平电位的时刻相同的方式工作。或者,即使在图48a至图48c的每一个的布线wx1l的电位成为高电平电位的期间不同时,也可以以在高电平电位的期间的中心的时刻相同的方式工作。
[0773]
注意,在本工作例子中,作为例子示出图11的运算电路150,但是即使根据情况改变其他运算电路也可以进行与本工作例子相同的工作。例如,考虑将图47a的电路mp用于图7的运算电路140,包括在电路afp中的电路actf[1]至actf[n]的每一个具有积分电路的结构(或者,电流电荷(iq)转换电路)的情况。在此时的电路结构中,根据第一数据(权系数)设定在晶体管m8及晶体管m8r的每一个中流过的电流量,根据第二数据(神经元的信号的值)设定对布线xl供应高电平电位的期间,由此可以与本工作例子同样地计算“正的多值”、“负的多值”和“0”中的任一个的第一数据与“正的多值”或“0”的第二数据之积。另外,也可以将第一数据及/或第二数据作为模拟值进行计算。
[0774]
注意,本结构例子可以与本说明书所示的其他工作方法例子等适当地组合。
[0775]
<工作方法例子2>
[0776]
接着,对与图48a至图48c所示的工作例子不同的其他工作方法例子进行说明。
[0777]
作为一个例子,与图48a至图48c同样地,考虑使用图21a的电路mp的图11的运算电路150的工作方法。此外,为了简化起见,关于在布线ol、布线olb中流过的电流的变化,只由与布线ol、布线olb电连接的一个电路mp进行。此外,与电路mp电连接的布线ve、布线ver的每一个对电路mp作为恒电压供应vss。另外,包括在电路afp中的电路actf[1]至actf[n]的每一个例如为具有积分电路(或者,电流电荷(iq)转换电路)的结构的电路actf。例如,在图6e的电路actf[j]中,也可以具有以负载lea、负载leb为电容等的结构。
[0778]
图49a是示出该工作方法的例子的时序图。具体而言,图49a示出时刻t21至时刻t25的期间及其附近的时刻的保持部hc的节点n1的电位、保持部hcr的节点n1r的电位、布线wx1l的电位、在布线ol中流过的电流i
ol
的电流量、在布线olb中流过的电流i
olb
的电流量、储存在电路actf的积分电路的电容中的电荷量的变化。尤其是,在图49a中,将通过从布线ol向包括在负载lea中的电容中流过的电流储存的电荷量记载为q
ol
,将通过从布线olb向包括在负载leb中的电容中流过的电流储存的电荷量记载为q
olb
。
[0779]
在图49a所示的时序图中,在时刻t21之前的时刻,对应于多值的第一数据(例如,这里是权系数)的电流被设定。注意,关于该电流的设定方法,参照实施方式2的说明。
[0780]
在图49a的时序图的工作例子中,预先在电路mp中设定“ 1”的第一数据(这里,例如是权系数)。具体而言,在时刻t21之前的时刻,以在晶体管m1中电流量i1流过的方式设定,在保持部hc的节点n1中保持v1,在保持部hcr的节点n1r中保持vss。注意,电位v1高于
vss。此外,预先使开关swh、开关swhb处于开启状态,使开关swi、开关swib、开关swo、开关swob、开关swl、开关swlb处于关闭状态,在布线ol及布线olb与布线vcn2之间处于导通状态,将布线ol、布线olb的电位设定为高电平电位。
[0781]
在时刻t21以后,通过使布线ol及布线olb与电路afp之间处于导通状态,在图8a中,开关swo、开关swob成为开启状态,开关swi、开关swib、开关swl、开关swlb、开关swh、开关swhb成为关闭状态。
[0782]
在时刻t22以后,对电路mp输入第二数据(例如,这里是神经元的信号的值)。注意,在图48a的工作例子中,对电路mp的第二数据(神经元的信号的值)的输入分为如下期间进行,即时刻t22至时刻t23的期间、时刻t23至时刻t24的期间、时刻t24至时刻t25的期间。具体而言,时刻t22至时刻t23的期间的输入时间为t
ut
,时刻t23至时刻t24的期间的输入时间为2t
ut
,时刻t24至时刻t25的期间的输入时间为4t
ut
。注意,在本说明书等中,每个期间称为第一子期间、第二子期间、第三子期间。
[0783]
在图49a的工作例子中,在第一子期间及第三子期间,作为向电路mp的第二数据(神经元的信号的值)的输入,对布线wx1l输入高电平电位,对布线x2l输入低电平电位。因此,对晶体管m3、晶体管m3r的每一个的栅极输入高电平电位,对晶体管m4、晶体管m4r的每一个的栅极输入低电平电位,晶体管m3、晶体管m3r的每一个成为开启状态,晶体管m4、晶体管m4r的每一个成为关闭状态。通过上述工作,在电路mc与布线ol之间及在电路mcr与布线olb之间成为导通状态,在电路mc与布线olb之间及在电路mcr与布线ol之间成为非导通状态。
[0784]
此时,由于晶体管m1以作为电流量流过i1的方式设定,所以在第一子期间及第三子期间,电流量i1的电流从电路actf通过切换电路tw、布线ol、电路mc向布线ve流过。注意,在第二子期间,由于对布线wx1l、布线x2l输入低电平电位,对晶体管m3、晶体管m3r、晶体管m4、晶体管m4r的每一个的栅极输入低电平电位,所以晶体管m3、晶体管m3r、晶体管m4、晶体管m4r都成为关闭状态,电流不从电路actf通过切换电路tw、布线ol、电路mc向布线ve流过。
[0785]
由于在第一子期间、第二子期间、第三子期间晶体管m1r处于关闭状态(以作为电流量流过0的方式设定),所以电流不从电路actf通过切换电路tw、布线olb、电路mcr向布线ver流过。
[0786]
这里,着眼于电路actf的积分电路。由于在时刻t22以后进行第二数据(神经元的信号)的输入,所以在与布线ol处于导通状态的包括在电路actf中的积分电路的电容(负载lea)中在时刻t22以后继续储存电荷。在理想上,在第一子期间,在该电容中储存t
ut
×
i1的电荷,在第三子期间,储存4t
ut
×
i1的电荷。注意,在图49a的时序图中,在第一子期间,储存在该电容中的电荷量为q1,在第三子期间,储存在该电容中的电荷量为q4。因此,将时刻t25以后的储存在该电容中的电荷量记载为q1 q4。另一方面,与布线olb处于导通状态的包括在电路actf中的积分电路的电容(负载leb)没有发生电荷的储存。由此,电路actf可以输出对应于在布线ol中流过的电荷量q1 q4(=5q1)及在布线olb中流过的电荷量0的神经元的信号z
j(k)
。
[0787]
接着,考虑在图49a的时序图中对电路mp的神经元的信号的输入从第一期间及第三期间改变为第二期间的情况。图49b所示的时序图示出在图49a的时序图中对电路mp的神经元的信号的输入从第一期间及第三期间改变为第二期间的情况的工作例子。
[0788]
关于图49b的时序图的时刻t22之前的工作,与图49a的时序图的时刻t22之前的工作例子相同。因此,关于图49b的时序图的时刻t22之前的工作,参照图49a的时序图的时刻t22之前的工作的说明。
[0789]
在图49b的工作例子的时刻t22之后,对电路mp输入神经元的信号。具体而言,如上所述,在第二子期间对电路mp输入神经元的信号。
[0790]
在图49b的工作例子中,在第二子期间,作为对电路mp的神经元的信号(运算值)的输入,对布线wx1l输入高电平电位,对布线x2l输入低电平电位。因此,在第二子期间,电流量i1的电流从电路actf通过切换电路tw、布线ol、电路mc向布线ve流过。注意,在第一子期间及第三子期间,由于对布线wx1l、布线x2l输入低电平电位,所以晶体管m3、晶体管m3r、晶体管m4、晶体管m4r都成为关闭状态,电流不从电路actf通过切换电路tw、布线ol、电路mc向布线ve流过。
[0791]
由于在第一子期间、第二子期间、第三子期间晶体管m1r处于关闭状态(以作为电流量流过0的方式设定),所以电流不从电路actf通过切换电路tw、布线olb、电路mcr向布线ver流过。
[0792]
由于在时刻t22以后进行第二数据(神经元的信号)的输入,所以在与布线ol处于导通状态的积分电路的电容(负载lea)中在时刻t22以后继续储存电荷。在理想上,在时刻t25,在该电容中储存2t
ut
×
i1的电荷。注意,在图49b的时序图中,将在时刻t22以后储存在该电容中的电荷量记载为q2。另一方面,与布线olb处于导通状态的包括在电路actf中的积分电路的电容(负载leb)没有发生电荷的储存。由此,电路actf可以输出对应于在布线ol中流过的电荷量q2(=2q1)及在布线olb中流过的电荷量0的神经元的信号z
j(k)
。
[0793]
接着,在图49a的时序图中,考虑将设定在电路mp中的权系数从“ 1”改变为
“‑
2”,且第二数据(神经元的信号)的输入从第一子期间及第三子期间改变为第一子期间及第二子期间的情况。
[0794]
在图49c所示的时序图中,预先在时刻t21之前的时刻以在晶体管m1中电流i2(=2i1)流过的方式设定,在保持部hc的节点n1中保持v2,在保持部hcr的节点n1r中保持vss。注意,电位v2高于v1及vss。
[0795]
关于图49c的时序图的时刻t22之前的工作,与图49a的时序图的时刻t22之前的工作例子相同。因此,关于图49c的时序图的时刻t22之前的工作,参照图49a的时序图的时刻t22之前的工作的说明。
[0796]
在图49c的工作例子的时刻t22之后,对电路mp输入神经元的信号。如上所述,在第一子期间及第二子期间对电路mp输入神经元的信号。
[0797]
在图49c的工作例子中,在第一子期间及第二子期间,作为对电路mp的第二数据(神经元的信号的值)的输入,对布线wx1l输入高电平电位,对布线x2l输入低电平电位。因此,在第一子期间及第二子期间,电流量i2的电流从电路actf通过切换电路tw、布线olb、电路mcr向布线ver流过。注意,在第四子期间,由于对布线wx1l、布线x2l输入低电平电位,所以晶体管m3、晶体管m3r、晶体管m4、晶体管m4r都成为关闭状态,电流不从电路actf通过切换电路tw、布线olb、电路mcr向布线ver流过。
[0798]
在第一子期间、第二子期间、第三子期间,由于晶体管m1处于关闭状态(以作为电流量流过0的方式设定),所以电流不从电路actf通过切换电路tw、布线ol、电路mc向布线ve
流过。
[0799]
由于在时刻t22以后进行第二数据(神经元的信号)的输入,所以在与布线olb处于导通状态的积分电路的电容(负载leb)中在时刻t22以后继续储存电荷。在理想上,在时刻t25,在该电容中储存6t
ut
×
i1(=t
ut
×
2i1 2t
ut
×
2i1)的电荷。注意,在图49c的时序图中,将在时刻t25以后在该电容中储存的电荷量记载为2(q1 q2)。另一方面,与布线olb处于导通状态的包括在电路actf中的积分电路的电容(负载lea)没有发生电荷的储存。由此,电路actf可以输出与对应于在布线ol中流过的电荷量0及在布线olb中流过的电荷量2(q1 q2)(=6q1)的电荷量q2对应的神经元的信号z
j(k)
。
[0800]
如图49a至图49c所示的工作例子,在能够对电路mp输入第二数据(神经元的信号的值)的期间设置多个子期间,可以根据选自该多个子期间中的一个以上的期间决定第二数据(神经元的信号的值),可以根据所选择的期间决定从电路actf输出的运算结果。因此,根据所选择的子期间及对布线wx1l、布线x2l施加的电位定义第二数据(神经元的信号的值),电路mp可以处理3值以上的第二数据(神经元的信号的值),可以进行多值的第一数据(权系数)与3值以上的第二数据(神经元的信号的值)的积和运算及/或激活函数的运算。
[0801]
在本工作例子中,对电路mp输入的第二数据(神经元的信号的值)作为一个例子可以定义为如下。只在第一子期间对布线wx1l输入高电平电位且对布线x2l输入低电平电位时的第二数据(神经元的信号的值)为“ 1”,只在第二子期间对布线wx1l输入高电平电位且对布线x2l输入低电平电位时的第二数据(神经元的信号的值)为“ 2”,只在第三子期间对布线wx1l输入高电平电位且对布线x2l输入低电平电位时的第二数据(神经元的信号的值)为“ 4”。只在第一子期间对布线wx1l输入低电平电位且对布线x2l输入高电平电位时的第二数据(神经元的信号的值)为
“‑
1”,只在第二子期间对布线wx1l输入低电平电位且对布线x2l输入高电平电位时的第二数据(神经元的信号的值)为
“‑
2”,只在第三子期间对布线wx1l输入低电平电位且对布线x2l输入高电平电位时的第二数据(神经元的信号的值)为
“‑
4”。此外,在第一子期间、第二子期间、第三子期间,对布线wx1l输入低电平电位且对布线x2l输入低电平电位时的第二数据(神经元的信号的值)为“0”。
[0802]
注意,在想要使第二数据(神经元的信号的值)成为“ 3”时,只在第一子期间及第二子期间对布线wx1l输入高电平电位且对布线x2l输入低电平电位即可,在想要使第二数据(神经元的信号的值)成为“ 5”时,在第一子期间及第三子期间对布线wx1l输入高电平电位且对布线x2l输入低电平电位即可。此外,在想要使第二数据(神经元的信号的值)成为
“‑
6”时,只在第二子期间及第三子期间对布线wx1l输入低电平电位且对布线x2l输入高电平电位即可,在想要使第二数据(神经元的信号的值)成为
“‑
7”时,在第一子期间、第二子期间及第三子期间对布线wx1l输入低电平电位且对布线x2l输入高电平电位即可。
[0803]
通过如上所述那样定义输入到电路mp中的第二数据(神经元的信号的值),在图49a所示的工作例子中,作为第一数据(权系数)的“ 1”与第二数据(神经元的信号的值)的“ 5”之积,可以算出“ 5”。此外,在图49b所示的工作例子中,作为第一数据(权系数)的“ 1”与第二数据(神经元的信号的值)的“ 2”之积,可以算出“ 2”。另外,在图49c所示的工作例子中,作为第一数据(权系数)的
“‑
2”与第二数据(神经元的信号的值)的“ 3”之积,可以算出
“‑
6”。
[0804]
本发明的一个方式不局限于上述定义。在上述中,作为能够输入第二数据(神经元
的信号的值)的期间,设置第一子期间、第二子期间、第三子期间,但是也可以设置四个以上的子期间。例如,将能够输入第二数据(神经元的信号的值)的期间分为第一子期间至第t子期间(t为4以上的整数),将第s子期间(s为4以上且t以下的整数)的长度设定为2
(s
‑
1)
×
t
ut
即可。此外,例如,将能够输入第二数据(神经元的信号的值)的期间分为第一子期间至第t子期间(t为4以上的整数),将第s子期间(s为4以上且t以下的整数)的长度设定为s
×
t
ut
。此外,也可以定义第二数据(神经元的信号的值)作为实数,例如,只在第一子期间对布线wx1l输入高电平电位且对布线x2l输入低电平电位时的第二数据(神经元的信号的值)为“ 0.1”,只在第二子期间对布线wx1l输入高电平电位且对布线x2l输入低电平电位时的第二数据(神经元的信号的值)为“ 0.2”,只在第三子期间对布线wx1l输入高电平电位且对布线x2l输入低电平电位时的第二数据(神经元的信号的值)为“ 0.4”等。
[0805]
在图49a、图49b所示的工作例子中,设定在电路mp中的第一数据(权系数)为“ 1”,在图49c所示的工作例子中,设定在电路mp中的第一数据(权系数)为“ 2”,也可以使用“ 1”、“ 2”以外的第一数据(权系数)进行计算。如实施方式1及实施方式2所说明,由于作为设定在电路mp中的第一数据(权系数)可以设定负值、多值、模拟值等,所以包括在电路actf中的积分电路的电容所储存的电荷量也可以根据负值、多值、模拟值等的第一数据(权系数)算出。
[0806]
在图49a至图49c所示的工作例子中,为了简化起见,考虑布线ol、布线olb只与一个电路mp电连接的情况,但是如图11的运算电路150那样,布线ol、布线olb也可以与多个电路mp电连接。由此,可以将从布线ol、布线olb的每一个输入到多个电路mp中的电荷量的总和储存在包括在电路actf中的积分电路的电容,电路actf可以输出对应于在布线ol、布线olb中流过的每一个的电荷量的神经元的信号z
j(k)
。
[0807]
如图49a至图49c的工作例子那样,作为能够输入第二数据(神经元的信号的值)的期间设置多个子期间,从多个子期间选择一个以上的期间,在被选择的期间输入信号的结构例如优选从电路设计阶段预先决定每个子期间的长度。通过采用这种电路结构,有时与图48a至图48c的工作例子被要求的电路结构相比,运算电路可以简单地及/或高效地进行布局。
[0808]
注意,在本工作例子中,作为例子示出图11的运算电路150,但是即使根据情况改变其他运算电路也可以进行与本工作例子相同的工作。
[0809]
注意,本结构例子可以与本说明书所示的其他工作方法例子等适当地组合。
[0810]
<工作方法例子3>
[0811]
这里,对使用图50的电路mp的图11的运算电路150的工作方法进行说明。
[0812]
与工作方法例子1及工作方法例子2同样地,为了简化起见,关于在布线ol、布线olb中流过的电流的变化,只由与布线ol、布线olb电连接的一个电路mp进行。此外,与电路mp电连接的布线ve、布线ver的每一个对电路mp作为恒电压供应vss。另外,包括在电路afp中的电路actf[1]至actf[n]的每一个作为一个例子为具有积分电路(或者,电流电荷(iq)转换电路)的结构的电路actf。例如,在图6e的电路actf[j]中,也可以以具有负载lea、负载leb为电容等的结构。
[0813]
图50示出与图26所示的电路mp同样的电路结构。注意,晶体管m1、晶体管m1r、晶体管m1
‑
2b、晶体管m1
‑
2br、晶体管m1
‑
3b、晶体管m1
‑
3br的每一个的尺寸,例如w长与l长优选
相等。此外,本工作方法例子与在实施方式2中说明的图26的电路mp的工作例子不同。
[0814]
具体而言,当对电路mp输入第二数据(例如,这里是神经元的信号的值)时,在对布线wx1l和布线x2l中的一个的高电平电位的输入时间为t
ut
时,对布线x1l2b和布线x2l2b中的一个的高电平电位的输入时间为2t
ut
,对布线x1l3b和布线x2l3b中的一个的高电平电位的输入时间为4t
ut
而进行工作。也就是说,在晶体管m3、晶体管m3r成为开启状态或者晶体管m4、晶体管m4r成为开启状态的时间为t
ut
时,以晶体管m3
‑
2b、晶体管m3
‑
2br成为开启状态或晶体管m4
‑
2b、晶体管m4
‑
2br成为开启状态的时间为2t
ut
,晶体管m3
‑
3b、晶体管m3
‑
3br成为开启状态或晶体管m4
‑
3b、晶体管m4
‑
3br成为开启状态的时间为4t
ut
的方式工作。因此,在图50的电路mp中,为了示出与图26的电路mp不同的工作,在布线wx1l、布线x2l、布线x1l2b、布线x2l2b、布线x1l3b、布线x2l3b的符号附近示出脉冲电压的示意图及输入时间。
[0815]
如在工作方法例子1、工作方法例子2中说明,通过在电路mp中设定第一数据(例如,这里是权系数),且设定晶体管m3或晶体管m4成为开启状态的时间,决定从布线ol或布线olb通过晶体管m1向布线ve流过的电荷量。此外,通过在电路mp中设定第一数据(权系数)决定晶体管m3r或晶体管m4r成为开启状态的时间,决定从布线ol或布线olb通过晶体管m1r向布线ver流过的电荷量。
[0816]
同样地,关于从布线ol或布线olb通过晶体管m1
‑
2b向布线ve流过的电荷量及从布线ol或布线olb通过晶体管m1
‑
2br向布线ver流过的电荷量,通过在晶体管m3
‑
2b、晶体管m3
‑
2br、晶体管m4
‑
2b、晶体管m4
‑
2br的每一个中设定成为开启状态的时间来决定。此外,关于从布线ol或布线olb通过晶体管m1
‑
3b向布线ve流过的电荷量及从布线ol或布线olb通过晶体管m1
‑
3br向布线ver流过的电荷量,在晶体管m3
‑
3b、晶体管m3
‑
3br、晶体管m4
‑
3b、晶体管m4
‑
3br的每一个中设定成为开启状态的时间来决定。
[0817]
因此,可以在电路mp中以如下表定义第二数据(神经元的信号的值)。
[0818]
[表7]
[0819][0820][0821]
这里,例如,在电路mp中预先设定“ 1”的第一数据(权系数)。具体而言,在晶体管m1中以电流量i1流过的方式设定,且晶体管m1r、晶体管m1
‑
2br、晶体管m1
‑
3br处于关闭状态。
[0822]
在电路mc中,晶体管m1、晶体管m1
‑
2b、晶体管m1
‑
3b的每一个的尺寸相等,晶体管m1、晶体管m1
‑
2b、晶体管m1
‑
3b的每一个的栅极与保持部hc的节点n1电连接,晶体管m1、晶体管m1
‑
2b、晶体管m1
‑
3b的每一个的第一端子与布线ve电连接,由此在晶体管m1、晶体管m1
‑
2b、晶体管m1
‑
3b的每一个的源极与漏极间彼此几乎相等的电流流过。该电流的量为i
ut
。
[0823]
当在电路mp中作为第二数据(神经元的信号的值)输入“ 7”时,通过晶体管m3只在时间t
ut
成为开启状态,且晶体管m4成为关闭状态,从布线ol通过晶体管m1向布线ve流过的电荷量为t
ut
×
i
ut
。注意,这里,t
ut
×
i
ut
=q
ut
。此外,同样地,通过晶体管m3
‑
2b只在时间2t
ut
成为开启状态,且晶体管m4
‑
2b成为关闭状态,从布线ol通过晶体管m1
‑
2b向布线ve流过的
电荷量为2t
ut
×
i
ut
=2q
ut
,通过晶体管m3
‑
3b在时间4t
ut
成为开启状态,且晶体管m4
‑
3b成为关闭状态,从布线ol通过晶体管m1
‑
3b向布线ve流过的电荷量为4t
ut
×
i
ut
=4q
ut
。因此,从布线ol通过电路mc向布线ve流过的电荷量为q
ut
2q
ut
4q
ut
=7q
ut
。另一方面,从布线olb通过电路mcr向布线ver流过的电荷量由于晶体管m1r、晶体管m1
‑
2br、晶体管m1
‑
3br处于关闭状态,所以成为0。
[0824]
注意,当在电路mp中作为第二数据(神经元的信号的值)输入
“‑
7”时,在布线olb与电路mc之间、在布线ol与电路mcr之间都成为导通状态,在布线ol与电路mcr之间、在布线ol与电路mc之间都成为非导通状态,因此从布线olb通过电路mc向布线ve流过的电荷量为q
ut
2q
ut
4q
ut
=7q
ut
,从布线ol通过电路mcr向布线ver流过的电荷量为0。
[0825]
此外,例如,在电路mp中预先设定
“‑
1”的第一数据(权系数)。具体而言,在晶体管m1r中以电流量i1流过的方式设定,且晶体管m1、晶体管m1
‑
2b、晶体管m1
‑
3b处于关闭状态。
[0826]
在电路mcr中,晶体管m1r、晶体管m1
‑
2br、晶体管m1
‑
3br的每一个的尺寸相等,晶体管m1r、晶体管m1
‑
2br、晶体管m1
‑
3br的每一个的栅极与保持部hcr的节点n1r电连接,晶体管m1r、晶体管m1
‑
2br、晶体管m1
‑
3br的每一个的第一端子与布线ver电连接,因此在晶体管m1r、晶体管m1
‑
2br、晶体管m1
‑
3br的每一个的源极与漏极间彼此几乎相等的电流流过。与在晶体管m1的源极与漏极间流过的电流同样地,该电流的量为i
ut
。
[0827]
当在电路mp中作为第二数据(神经元的信号的值)输入“ 7”时,通过晶体管m3r只在时间t
ut
成为开启状态,且晶体管m4r成为关闭状态,从布线olb通过晶体管m1r向布线ver流过的电荷量为t
ut
×
i
ut
=q
ut
。此外,同样地,通过晶体管m4
‑
2br只在时间2t
ut
成为开启状态,且晶体管m3
‑
2br成为关闭状态,从布线olb通过晶体管m1
‑
2br向布线ver流过的电荷量为2t
ut
×
i
ut
=2q
ut
,通过晶体管m4
‑
3br只在时间4t
ut
成为开启状态,且晶体管m3
‑
3br成为关闭状态,从布线olb通过晶体管m1
‑
3br向布线ver流过的电荷量为4t
ut
×
i
ut
=4q
ut
。因此,从布线olb通过电路mcr向布线ver流过的电荷量为q
ut
2q
ut
4q
ut
=7q
ut
。另一方面,从布线ol通过电路mc向布线ve流过的电荷量由于晶体管m1r、晶体管m1
‑
2br、晶体管m1
‑
3br处于关闭状态,所以为0。
[0828]
注意,当在电路mp中作为第二数据(神经元的信号的值)输入
“‑
7”时,在布线olb与电路mc之间、在布线ol与电路mcr之间都成为导通状态,在布线ol与电路mcr之间、在布线ol与电路mc之间成为非导通状态,因此从布线ol通过电路mcr向布线ver流过的电荷量为q
ut
2q
ut
4q
ut
=7q
ut
,从布线olb通过电路mc向布线ve流过的电荷量为0。
[0829]
因此,通过在电路mp中设定“ 1”的第一数据(权系数),根据正的第二数据(神经元的信号的值),从包括在电路mp中的晶体管m3、晶体管m3
‑
2b、晶体管m3
‑
3b中选择一个以上的成为开启状态的晶体管,可以将从布线ol通过电路mc向布线ve流过的电荷量设定为q
ut
、2q
ut
、3q
ut
、4q
ut
、5q
ut
、6q
ut
、7q
ut
中的任一个。注意,此时,从布线olb通过电路mcr向布线ver流过的电荷量为0。此外,在电路mp中设定
“‑
1”的第一数据(权系数),根据正的第二数据(神经元的信号的值),从包括在电路mp中的晶体管m3r、晶体管m3
‑
2br、晶体管m3
‑
3br选择一个以上的成为开启状态的晶体管,可以将从布线olb通过电路mcr向布线ver流过的电荷量设定为q
ut
、2q
ut
、3q
ut
、4q
ut
、5q
ut
、6q
ut
、7q
ut
中的任一个。注意,此时,从布线ol通过电路mc向布线ve流过的电荷量为0。
[0830]
通过在电路mp中设定“ 1”的第一数据(权系数),根据负的第二数据(神经元的信
号的值),从包括在电路mp中的晶体管m4、晶体管m4
‑
2b、晶体管m4
‑
3b中选择一个以上的成为开启状态的晶体管,可以将从布线olb通过电路mc向布线ve流过的电荷量设定为q
ut
、2q
ut
、3q
ut
、4q
ut
、5q
ut
、6q
ut
、7q
ut
中的任一个。注意,此时,从布线ol通过电路mcr向布线ver流过的电荷量为0。此外,在电路mp中设定
“‑
1”的第一数据(权系数),根据负的第二数据(神经元的信号的值)从包括在电路mp中的晶体管m4r、晶体管m4
‑
2br、晶体管m4
‑
3br选择一个以上的成为开启状态的晶体管,可以将从布线ol通过电路mcr向布线ver流过的电荷量设定为q
ut
、2q
ut
、3q
ut
、4q
ut
、5q
ut
、6q
ut
、7q
ut
中的任一个。注意,此时,从布线olb通过电路mc向布线ve流过的电荷量为0。
[0831]
例如,将设定在电路mp中的第一数据(权系数)从“ 1”改变为正整数的“a”。具体而言,在晶体管m1中以电流量i
a
(=ai1)流过的方式设定,且晶体管m1r、晶体管m1
‑
2br、晶体管m1
‑
3br处于关闭状态。此时,在晶体管m1
‑
2b、晶体管m1
‑
3b的每一个的源极与漏极间流过的电流量为i
a
。因此,通过根据第二数据(神经元的信号的值)从包括在电路mp中的晶体管m3、晶体管m3
‑
2b、晶体管m3
‑
3b选择一个以上的成为开启状态的晶体管,从布线ol通过电路mc向布线ve流过的电荷量为aq
ut
、2aq
ut
、3qa
ut
、4aq
ut
、5aq
ut
、6aq
ut
、7aq
ut
中的任一个。此外,在“a”为负整数时,aq
ut
、2aq
ut
、3qa
ut
、4aq
ut
、5aq
ut
、6aq
ut
、7aq
ut
中的任一个的电荷量从布线olb通过电路mcr向布线ver流过。
[0832]
注意,当在电路mp中预先设定“0”的第一数据(权系数)时,晶体管m1、晶体管m1r的每一个处于关闭状态。因此,电流不从布线ol或布线olb通过电路mc向布线ve流过,电流不从布线ol或布线olb通过电路mcr向布线ver流过。换言之,可以说在布线ol、布线olb的每一个中流过的电荷量为0。
[0833]
这里,着眼于电路actf的积分电路。当电流从布线ol或布线olb通过电路mc向布线ve流过时或者电流从布线ol或布线olb通过电路mcr向布线ver流过时,在图8a中,使开关swo、swob处于开启状态,使开关swi、开关swib、开关swl、开关swlb、开关swh、开关swhb处于关闭状态,使在布线ol及olb与电路afp之间处于导通状态,由此可以在包括在电路actf中的积分电路的电容中储存在布线ol、布线olb中流过的电荷量。因此,电路actf可以输出对应于在布线ol中流过的电荷量q
ol
及在布线olb中流过的电荷量q
olb
的神经元的信号z
j(k)
。
[0834]
以下表示出通过上述工作例子,第一数据(权系数)为“ 1”或
“‑
1”,以上述那样定义第二数据(神经元的信号的值)时的在布线ol中流过的电荷量q
ol
及在布线olb中流过的电荷量q
olb
。
[0835]
[表8]
[0836]
[0837][0838]
[表9]
[0839][0840]
如上所述,通过设定第一数据(权系数)及第二数据(神经元的信号的值),根据第一数据(权系数)与第二数据(神经元的信号的值)之积的结果,决定电流从布线ol向电路mc或电路mcr的电荷量q
ol
及电流从布线olb向电路mc或电路mcr的电荷量q
olb
。此外,在第一数据(权系数)与第二数据(神经元的信号的值)之积的结果为正值时,电流从布线ol向电路mc或电路mcr流过,在第一数据(权系数)与第二数据(神经元的信号的值)之积的结果为负值时,电流从布线olb向电路mc或电路mcr流过。也就是说,可以从电荷量q
ol
及电荷量q
olb
算出第一数据(权系数)与第二数据(神经元的信号的值)之积。例如,在第一数据(权系数)为
“‑
1”或“ 1”,第二数据(神经元的信号的值)为
“‑
7”至“ 7”中的任一个,且第一数据(权系数)与第二数据(神经元的信号的值)之积为正数时,在上述表中,在电流从布线ol向电路mc或电路mcr流过的电荷量q
ol
中,通过将q
ut
换成“ 1”,可以从电荷量q
ol
算出第一数据(权系数)与第二数据(神经元的信号的值)之积。另外,例如,在第一数据(权系数)为
“‑
1”或“ 1”,第二数据(神经元的信号的值)为
“‑
7”至“ 7”中的任一个,且第一数据(权系数)与第二数据(神经元的信号的值)之积为负数时,在上述表中,在电流从布线ol向电路mc或电路mcr流过的电荷量q
olb
中,通过将q
ut
换成
“‑
1”,可以从电荷量q
olb
算出第一数据(权系数)与第二数据(神经元的信号的值)之积。
[0841]
注意,在上述工作例子中,设定在电路mp中的第一数据(权系数)为“ 1”、
“‑
1”,也
可以使用“0”或模拟值等的第一数据(权系数)进行计算。由此,电路mp可以进行2值、多值、模拟值等的第一数据(权系数)与多值的第二数据(神经元的信号的值)的积和运算及/或激活函数的运算。
[0842]
本发明的一个方式不局限于上述定义。在上述中,作为第二数据(神经元的信号的值),定义正的多值、负的多值、0,但是例如输入期间是连续值而不是离散值(a为正实数,输入期间为a
×
t
ut
),可以处理第二数据(神经元的信号的值)作为模拟值。
[0843]
例如,在晶体管m3、晶体管m3r成为开启状态或者晶体管m4、晶体管m4r成为开启状态的时间为t
ut
,晶体管m3
‑
2b、晶体管m3
‑
2br成为开启状态或者晶体管m4
‑
2b、晶体管m4
‑
2br成为开启状态的时间为2t
ut
,晶体管m3
‑
3b、晶体管m3
‑
3br成为开启状态或者晶体管m4
‑
3b、晶体管m4
‑
3br成为开启状态的时间为4t
ut
时,对布线wx1l输入高电平电位,对布线x2l输入低电平电位,且对布线x1l2b、布线x2l2b、布线x1l3b、布线x2l3b输入低电平电位时的第二数据(神经元的信号的值)被定义为“ 0.1”等的实数而不是“ 1”。
[0844]
本发明的一个方式的半导体装置不局限于图50的电路mp的结构。例如,在图50的电路mp中,作为设定电流量的晶体管,在电路mc中包括晶体管m1、晶体管m1
‑
2b、晶体管m1
‑
3b的3个,在电路mcr中包括晶体管m1r、晶体管m1
‑
2br、晶体管m1
‑
3br的3个,但是在电路mc、电路mcr的每一个中,设定电流量的晶体管也可以为2个或4个以上。
[0845]
此外,本发明的一个方式的半导体装置及该半导体装置的工作方法不局限于上述方法。在上述中,说明图50的电路mp的晶体管m1、晶体管m1r、晶体管m1
‑
2b、晶体管m1
‑
2br、晶体管m1
‑
3b、晶体管m1
‑
3br的每一个的尺寸相等,例如,也可以使晶体管m1、晶体管m1r、晶体管m1
‑
2b、晶体管m1
‑
2br的w长与l长的比例为w/l,且使晶体管m1
‑
3b、晶体管m1
‑
3br的w长与l长的比例为2w/l。此时,通过以i1的电流在晶体管m1的源极与漏极间作为电流量流过的方式设定,由于晶体管m1
‑
2b的w长与l长的比例及晶体管m1
‑
3b的w长与l长的比例的每一个为晶体管m1的w长与l长的比例的2倍,所以2i1在晶体管m1
‑
2b、晶体管m1
‑
3b的每一个的源极与漏极间作为电流量流过。同样地,通过以i1的电流在晶体管m1r的源极与漏极间作为电流量流过的方式设定,由于晶体管m1
‑
2br的w长与l长的比例及晶体管m1
‑
3br的w长与l长的比例的每一个为晶体管m1r的w长与l长的比例的2倍,所以2i1在晶体管m1
‑
2br、晶体管m1
‑
3br的每一个的源极与漏极间作为电流量流过。
[0846]
这里,晶体管m3、晶体管m3r成为开启状态或者晶体管m4、晶体管m4r成为开启状态的时间为t
ut
,晶体管m3
‑
2b、晶体管m3
‑
2br成为开启状态或者晶体管m4
‑
2b、晶体管m4
‑
2br成为开启状态的时间为2t
ut
,晶体管m3
‑
3b、晶体管m3
‑
3br成为开启状态或者晶体管m4
‑
3b、晶体管m4
‑
3br成为开启状态的时间为2t
ut
。也就是说,在对电路mp输入第二数据(神经元的信号的值)时,对布线wx1l和布线x2l中的一个的高电平电位的输入时间为t
ut
,对布线x1l2b和布线x2l2b中的一个的高电平电位的输入时间为2t
ut
,对布线x1l3b和布线x2l3b中的一个的高电平电位的输入时间为2t
ut
。在图51的电路mp中,在布线wx1l、布线x2l、布线x1l2b、布线x2l2b、布线x1l3b、布线x2l3b的符号附近,示出与图50不同的脉冲电压的示意图及输入时间。
[0847]
当以i
ut
的电流在晶体管m1的源极与漏极间作为电流量流过的方式设定时,晶体管m3
‑
3b和晶体管m4
‑
3b中的一个只在时间2t
ut
成为开启状态,晶体管m3
‑
3b和晶体管m4
‑
3b中的另一个成为关闭状态,由此从布线ol或布线olb通过晶体管m1
‑
3b向布线ve流过的电荷量
为2t
ut
×
2i
ut
=4q
ut
。注意,由于从布线ol通过晶体管m1向布线ve流过的电荷量及从布线ol通过晶体管m1
‑
2b向布线ve流过的电荷量的条件与上述工作例子相同,所以省略其说明。
[0848]
此外,当以i
ut
的电流在晶体管m1r的源极与漏极间作为电流量流过的方式设定时,晶体管m3
‑
3br和晶体管m4
‑
3br中的一个只在时间2t
ut
成为开启状态,晶体管m3
‑
3br和晶体管m4
‑
3br中的另一个成为关闭状态,由此从布线ol或布线olb通过晶体管m1
‑
3br向布线ve流过的电荷量为2t
ut
×
2i
ut
=4q
ut
。注意,由于从布线ol或布线olb通过晶体管m1r向布线ver流过的电荷量及从布线ol或布线olb通过晶体管m1
‑
2br向布线ver流过的电荷量的条件与上述工作例子相同,所以省略其说明。
[0849]
如上所述,通过适当地改变晶体管m1、晶体管m1r、晶体管m1
‑
2b、晶体管m1
‑
2br、晶体管m1
‑
3b、晶体管m1
‑
3br的每一个的尺寸及对布线wx1l、布线x2l、布线x1l2b、布线x2l2b、布线x1l3b、布线x2l3b的每一个的高电平电位的输入时间,可以与图50所示的电路mp的工作例子同样地工作。
[0850]
此外,本发明的一个方式的半导体装置不局限于图50、图51的电路mp的结构。例如,在图50的电路mp中,作为设定电流量的晶体管,在电路mc中包括晶体管m1、晶体管m1
‑
2b、晶体管m1
‑
3b的3个,在电路mcr中包括晶体管m1r、晶体管m1
‑
2br、晶体管m1
‑
3br的3个,在电路mc、电路mcr的每一个中,设定电流量的晶体管也可以为2个或4个以上。此外,也可以根据该晶体管增减保持部的个数、布线数。
[0851]
本发明的一个方式的半导体装置的工作方法不局限于上述工作方法。例如,如在工作方法例子2中说明那样,也可以将对布线wx1l、布线x2l、布线x1l2b、布线x2l2b、布线x1l3b、布线x2l3b的每一个输入的信号的输入期间分为多个子期间。
[0852]
在本工作方法例子中,为了简化起见,考虑布线ol、布线olb只与一个电路mp电连接的情况,但是如图11的运算电路150那样,布线ol、布线olb也可以与多个电路mp电连接。由此,可以将从布线ol、布线olb的每一个输入到多个电路mp中的电荷量的总和储存在包括在电路actf中的积分电路的电容,电路actf可以输出对应于在布线ol、布线olb中流过的每一个的电荷量的神经元的信号z
j(k)
。
[0853]
注意,在本工作例子中,作为例子示出图11的运算电路150,即使根据情况改变其他运算电路也可以进行与本工作例子相同的工作。
[0854]
注意,本结构例子可以与本说明书所示的其他工作方法例子等适当地组合。
[0855]
<工作方法例子4>
[0856]
这里,对使用图52的电路mp的图11的运算电路150的工作方法进行说明。
[0857]
与工作方法例子1至工作方法例子3同样地,为了简化起见,关于在布线ol、布线olb中流过的电流的变化,只由与布线ol、布线olb电连接的一个电路mp进行。此外,与电路mp电连接的布线ve、布线ver的每一个对电路mp作为恒电压供应vss。另外,包括在电路afp中的电路actf[1]至电路actf[n]的每一个作为一个例子为具有积分电路(或者,电流电荷(iq)转换电路)的结构的电路actf。例如,在图6e的电路actf[j]中,也可以以具有负载lea、负载leb为电容等的结构。
[0858]
图52具有从图27所示的电路mp去除晶体管m1
‑
3b、晶体管m1
‑
3br、晶体管m3
‑
3b、晶体管m3
‑
3br、晶体管m4
‑
3b、晶体管m4
‑
3br、保持部hc
‑
3b、保持部hc
‑
3br的结构。因此,从图27也去除布线wx1l3b、布线x2l2b、布线wl3b。此外,晶体管m1、晶体管m1r、晶体管m1
‑
2b、晶
体管m1
‑
2br的每一个的尺寸,例如w长与l长优选相等。此外,本工作方法例子与在实施方式2中说明的图26的电路mp的工作例子不同。
[0859]
具体而言,在电流从电路afp向电路mp流过时,对布线wx1l和布线x2l中的一个的高电平电位的输入时间为t
ut
,且对布线x1l2b和布线x2l2b中的另一个的高电平电位的输入时间为2t
ut
而进行工作。也就是说,在晶体管m3、晶体管m3r成为开启状态或者晶体管m4、晶体管m4r成为开启状态的时间为t
ut
时,以晶体管m3
‑
2b、晶体管m3
‑
2br成为开启状态或晶体管m4
‑
2b、晶体管m4
‑
2br成为开启状态的时间为2t
ut
的方式工作。因此,在图52的电路mp中,为了示出与图27的电路mp不同的工作,在布线wx1l、布线x2l、布线x1l2b、布线x2l2b的符号附近示出脉冲电压的示意图及输入时间。
[0860]
如在工作方法例子1、工作方法例子2中说明,通过在电路mp中设定第一数据(例如,这里是权系数),且设定晶体管m3或晶体管m4成为开启状态的时间,决定从布线ol或布线olb通过晶体管m1向布线ve流过的电荷量。此外,通过在电路mp中设定第一数据(权系数)决定晶体管m3r或晶体管m4r成为开启状态的时间,决定从布线ol或布线olb通过晶体管m1r向布线ver流过的电荷量。
[0861]
同样地,关于从布线ol或布线olb通过晶体管m1
‑
2b向布线ve流过的电荷量及从布线ol或布线olb通过晶体管m1
‑
2br向布线ver流过的电荷量,通过在晶体管m3
‑
2b、晶体管m3
‑
2br、晶体管m4
‑
2b、晶体管m4
‑
2br的每一个中设定成为开启状态的时间来决定。
[0862]
在图52的保持部hc、保持部hc
‑
2b的每一个中作为数字值(2值)保持vss或v1。对保持部hc、保持部hc
‑
2b的每一个的电位vss的保持通过使图8a至图8c中的布线vcn及图52的保持部hc的节点n1及/或保持部hc
‑
2b的节点n1处于导通状态来进行。此外,对保持部hc、保持部hc
‑
2b的每一个的电位v1的保持通过将电流在晶体管m1及/或晶体管m1
‑
2b的每一个的源极与漏极间作为电流量i1设定来进行。注意,当在晶体管m1、m1
‑
2b的每一个中作为电流量i1设定时,因晶体管m1、m1
‑
2b的制造工序等导致的晶体管特性的偏差有时引起在保持部hc、hc
‑
2b的每一个中所保持的电压彼此不同。
[0863]
在保持部hcr、保持部hc
‑
2br的每一个中与上述同样地作为数字值(2值)保持vss或v1。
[0864]
这里,定义设定在电路mp中的第一数据(权系数)。
[0865]
在例如在电路mp中作为第一数据(权系数)设定“ 1”时,以在晶体管m1中电流量i1流过的方式设定,在保持部hc
‑
2b、保持部hcr、保持部hc
‑
2br中保持vss。由于晶体管m1的第一端子通过晶体管m3与布线ol电连接,通过晶体管m4与布线olb电连接,所以在对布线wx1l和布线x2l中的一个输入高电平电位时,从布线ol或布线olb通过晶体管m1向布线ve流过的电荷量为t
ut
×
i1(=q
ut
)。这里,t
ut
×
i1=qut。注意,由于晶体管m1r、晶体管m1
‑
2b、晶体管m1
‑
2br成为关闭状态,所以在晶体管m1r、晶体管m1
‑
2b、晶体管m1
‑
2br的每一个的源极与漏极间流过的电流量为0。
[0866]
当在电路mp中作为第一数据(权系数)设定“ 2”时,以在晶体管m1
‑
2b中电流量i1流过的方式设定,在保持部hc、保持部hcr、保持部hc
‑
2br中保持vss。由于晶体管m1
‑
2b的第一端子通过晶体管m3
‑
2b与布线ol电连接,通过晶体管m4
‑
2b与布线olb电连接,所以在对布线x1l2b和布线x2l2b中的一个输入高电平电位时,从布线ol或布线olb通过晶体管m1
‑
2b向布线ve流过的电荷量为2t
ut
×
i1=2q
ut
。注意,由于晶体管m1、晶体管m1r、晶体管m1
‑
2br成为
关闭状态,所以在晶体管m1、晶体管m1r、晶体管m1
‑
2br的每一个的源极与漏极间流过的电流量为0。
[0867]
当在电路mp中作为第一数据(权系数)设定“ 3”时,以在晶体管m1、晶体管m1
‑
2b中电流量i1流过的方式设定,在保持部hcr、保持部hc
‑
2br中保持vss。如上所述,在对布线wx1l和布线x2l中的一个输入高电平电位时,从布线ol或布线olb通过晶体管m1向布线ve流过的电荷量为t
ut
×
i1,在对布线x1l2b和布线x2l2b中的一个输入高电平电位时,从布线ol或布线olb通过晶体管m1向布线ve流过的电荷量为2t
ut
×
i1。因此,从布线ol或布线olb通过电路mc向布线ve流过的电荷量为t
ut
×
i1 2t
ut
×
i1=3q
ut
。注意,由于晶体管m1r、晶体管m1
‑
2br成为关闭状态,所以在晶体管m1r、晶体管m1
‑
2br的每一个的源极与漏极间流过的电流量为0。
[0868]
当将第一数据(权系数)设定为
“‑
1”时,以在晶体管m1r中电流量i1流过的方式设定,在保持部hc、保持部hc
‑
2b、保持部hc
‑
2br中保持vss。由于晶体管m1r的第一端子通过晶体管m3r与布线olb电连接,通过晶体管m4r与布线ol电连接,所以在对布线wx1l和布线x2l中的一个输入高电平电位时,从布线ol或布线olb通过晶体管m1r向布线ver流过的电荷量为t
ut
×
i1(=q
ut
)。这里,t
ut
×
i1=qut。注意,由于晶体管m1r、晶体管m1
‑
2b、晶体管m1
‑
2br成为关闭状态,所以在晶体管m1、晶体管m1
‑
2b、晶体管m1
‑
2br的每一个的源极与漏极间流过的电流量为0。
[0869]
当在电路mp中作为第一数据(权系数)设定
“‑
2”时,以在晶体管m1
‑
2br中电流量i1流过的方式设定,在保持部hc、保持部hcr、保持部hc
‑
2b中保持vss。由于晶体管m1
‑
2br的第一端子通过晶体管m3
‑
2br与布线olb电连接,通过晶体管m4
‑
2b与布线ol电连接,所以在对布线x1l2b和布线x2l2b中的一个输入高电平电位时,从布线ol或布线olb通过晶体管m1
‑
2br向布线ver流过的电荷量为2t
ut
×
i1=2q
ut
。注意,由于晶体管m1、晶体管m1r、晶体管m1
‑
2b成为关闭状态,所以在晶体管m1、晶体管m1r、晶体管m1
‑
2b的每一个的源极与漏极间流过的电流量为0。
[0870]
当在电路mp中作为第一数据(权系数)设定
“‑
3”时,以在晶体管m1r、晶体管m1
‑
2br中电流量i1流过的方式设定,在保持部hc、保持部hc
‑
2b中保持vss。如上所述,在对布线wx1l和布线x2l中的一个输入高电平电位时,从布线ol或布线olb通过晶体管m1r向布线ver流过的电荷量为t
ut
×
i1,在对布线x1l2b和布线x2l2b中的一个输入高电平电位时,从布线ol或布线olb通过晶体管m1r向布线ver流过的电荷量为2t
ut
×
i1。因此,从布线ol或布线olb通过电路mcr向布线ver流过的电荷量为t
ut
×
i1 2t
ut
×
i1=3q
ut
。注意,由于晶体管m1、晶体管m1
‑
2b成为关闭状态,所以在晶体管m1、晶体管m1
‑
2b的每一个的源极与漏极间流过的电流量为0。
[0871]
在第一数据(权系数)为“0”时,在保持部hc、保持部hcr、保持部hc
‑
2b、保持部hc
‑
2br中保持vss。因此,在晶体管m1、晶体管m1r、晶体管m1
‑
2b、晶体管m1
‑
2br的每一个的源极与漏极间流过的电流量为0。
[0872]
也就是说,在保持部hc、保持部hcr、保持部hc
‑
2b、保持部hc
‑
2br中保持数字值(2值),对布线wx1l和布线x2l中的一个的高电平电位的输入期间为t
ut
,对布线wx1l2b和布线x2l2b中的一个的高电平电位的输入期间为2t
ut
,由此可以表示多值(在本工作例子中
“‑
3”、
“‑
2”、
“‑
1”、“0”、“ 1”、“ 2”、“ 3”的7值)的第一数据(权系数)。
[0873]
注意,在本工作例子中,作为对电路mp输入的第二数据(这里,例如是神经元的信号)的定义,作为一个例子,在第二数据为“ 1”时,对布线wx1l、布线x1l2b输入高电平电位,且对布线x2l、布线x2l2b输入低电平电位,在第二数据为
“‑
1”时,对布线wx1l、布线x1l2b输入低电平电位,且对布线x2l、布线x2l2b输入高电平电位,在第二数据为“0”时,对布线wx1l、布线x1l2b、布线x2l、布线x2l2b的每一个输入低电平电位。
[0874]
这里,着眼于电路actf的积分电路。当电流从布线ol或布线olb通过电路mc向布线ve流过时或者电流从布线ol或布线olb通过电路mcr向布线ver流过时,在图8a中,使开关swo、开关swob处于开启状态,使开关swi、开关swib、开关swl、开关swlb、开关swh、开关swhb处于关闭状态,使在布线ol及布线olb与电路afp之间处于导通状态,由此可以在包括在电路actf中的积分电路的电容中储存在布线ol、布线olb中流过的电荷量。因此,电路actf可以输出对应于在布线ol中流过的电荷量q
ol
及在布线olb中流过的电荷量q
olb
的神经元的信号z
j(k)
。
[0875]
以下表示出通过上述工作例子,将第一数据(权系数)设定为“ 3”、“ 2”、“ 1”、“0”、
“‑
1”、
“‑
2”、
“‑
3”中的任一个,以上述那样定义第二数据(神经元的信号的值)时的在布线ol中流过的电荷量q
ol
及在布线olb中流过的电荷量q
olb
。
[0876]
[表10]
[0877][0878]
如上所述,通过设定第一数据(权系数)及第二数据(神经元的信号的值),根据第一数据(权系数)与第二数据(神经元的信号的值)之积的结果,决定电流从布线ol向电路mc或电路mcr的电荷量q
ol
及电流从布线olb向电路mc或电路mcr的电荷量q
olb
。此外,在第一数据(权系数)与第二数据(神经元的信号的值)之积的结果为正值时,电流从布线ol向电路mc或电路mcr流过,在第一数据(权系数)与第二数据(神经元的信号的值)之积的结果为负值时,电流从布线olb向电路mc或电路mcr流过。也就是说,可以从电荷量q
ol
及电荷量q
olb
算出第一数据(权系数)与第二数据(神经元的信号的值)之积。例如,在第一数据(权系数)为
“‑
3”至“ 3”,第二数据(神经元的信号的值)为
“‑
1”、“0”、“ 1”中的任一个,且第一数据(权系数)与第二数据(神经元的信号的值)之积为正数时,在上述表中,在电流从布线ol向电路mc或电路mcr流过的电荷量q
ol
中,通过将q
ut
换成“ 1”,可以从电荷量q
ol
算出第一数据(权系数)与第二数据(神经元的信号的值)之积。另外,例如,在第一数据(权系数)为
“‑
1”或“ 1”,第二数据(神经元的信号的值)为
“‑
7”至“ 7”中的任一个,且第一数据(权系数)与第二数据(神经元的信号的值)之积为负数时,在上述表中,在电流从布线ol向电路mc或电路mcr流过的电荷量q
olb
中,通过将q
ut
换成
“‑
1”,可以从电荷量q
olb
算出第一数据(权系数)与第二数据
(神经元的信号的值)之积。
[0879]
注意,在上述工作例子中,设定在电路mp中的第一数据(权系数)为“ 3”、“ 2”、“ 1”、“0”、
“‑
1”、
“‑
2”、
“‑
3”,调节对布线wx1l、布线x2l、布线x1l2b、布线x2l2b输入高电平电位的时间,也可以将第一数据(权系数)设定为模拟值等。由此,电路mp可以进行模拟值等的第一数据(权系数)与多值的第二数据(神经元的信号的值)的积和运算及/或激活函数的运算。
[0880]
此外,本发明的一个方式的半导体装置不局限于图52的电路mp的结构。例如,在图52的电路mp中,作为设定电流量的晶体管,在电路mc中包括晶体管m1、晶体管m1
‑
2b的2个,在电路mcr中包括晶体管m1r、晶体管m1
‑
2br的2个,在电路mc、电路mcr的每一个中,设定电流量的晶体管也可以为3个以上。此外,也可以根据该晶体管增减保持部的个数、布线数。
[0881]
本发明的一个方式的半导体装置的工作方法不局限于上述工作方法。例如,如在工作方法例子2中说明那样,也可以将对布线wx1l、布线x2l、布线x1l2b、布线x2l2b的每一个输入的信号的输入期间分为多个子期间。
[0882]
在本工作方法例子中,为了简化起见,考虑布线ol、布线olb只与一个电路mp电连接的情况,但是如图11的运算电路150那样,布线ol、布线olb也可以与多个电路mp电连接。由此,可以将从布线ol、布线olb的每一个输入到多个电路mp中的电荷量的总和储存在包括在电路actf中的积分电路的电容,电路actf可以输出对应于在布线ol、布线olb中流过的每一个的电荷量的神经元的信号z
j(k)
。
[0883]
注意,在本工作例子中,作为例子示出图11的运算电路150,即使根据情况改变其他运算电路也可以进行与本工作例子相同的工作。
[0884]
注意,本结构例子可以与本说明书所示的其他工作方法例子等适当地组合。
[0885]
<工作方法例子5>
[0886]
这里,对使用图53的电路mp的图11的运算电路150的工作方法进行说明。
[0887]
与工作方法例子1至工作方法例子4同样地,为了简化起见,关于在布线ol、布线olb中流过的电流的变化,只由与布线ol、布线olb电连接的一个电路mp进行。此外,与电路mp电连接的布线ve、布线ver的每一个对电路mp作为恒电压供应vss。另外,包括在电路afp中的电路actf[1]至电路actf[n]的每一个作为一个例子为具有积分电路(或者,电流电荷(iq)转换电路)的结构的电路actf。例如,在图6e的电路actf[j]中,也可以以具有负载lea、负载leb为电容等的结构。
[0888]
图53具有从图29所示的电路mp去除晶体管m1
‑
2b、晶体管m1
‑
2br、晶体管m1
‑
3b、晶体管m1
‑
3br、晶体管m3
‑
2b、晶体管m3
‑
2br、晶体管m3
‑
3b、晶体管m3
‑
3br、晶体管m4
‑
2b、晶体管m4
‑
2br、晶体管m4
‑
3b、晶体管m4
‑
3br、保持部hc
‑
2b、保持部hc
‑
2br、保持部hc
‑
3b、保持部hc
‑
3br的结构。因此,从图29也去除布线x1l2b、布线x2l2b、布线x1l3b、布线x2l3b。此外,本工作方法例子与在实施方式2中说明的图29的电路mp的工作例子不同。
[0889]
具体而言,在对电路mp输入第二数据(例如,这里是神经元的信号的值)时,根据第二数据(神经元的信号的值)设定对布线wx1l和布线x2l中的一个的高电平电位的输入时间。也就是说,设定晶体管m3、晶体管m3r成为开启状态或晶体管m4、晶体管m4r成为开启状态的时间。
[0890]
如在工作方法例子1中说明,通过在电路mp中设定第一数据(例如,这里是权系
数),且设定晶体管m3或晶体管m4成为开启状态的时间,决定从布线ol或布线olb通过晶体管m1向布线ve流过的电荷量。此外,通过在电路mp中设定第一数据(权系数)决定晶体管m3r或晶体管m4r成为开启状态的时间,决定从布线ol或布线olb通过晶体管m1r向布线ver流过的电荷量。
[0891]
作为一个例子,在第二数据(神经元的信号的值)为“ 1”的情况下,对布线x1l的高电平电位的输入期间为t
ut
,对布线x1l输入高电平电位,对布线x2l输入低电平电位时,可以以如下表定义其他第二数据(神经元的信号的值)。注意,下表只示出
“‑
3”至“ 3”的整数。
[0892]
[表11]
[0893]
信号x1lx2l
‑
3lowhigh(3t
ut
)
‑
2lowhigh(2t
ut
)
‑
1lowhigh(t
ut
)0lowlow 1high(t
ut
)low 2high(2t
ut
)low 3high(3t
ut
)low
[0894]
如在实施方式2的结构例子5中说明,电路hcs、电路hcsr具有包括sram的结构或包括nosram的结构。这里,在电路hcs、电路hcsr中保持2值(数字值)的电位。由此,作为一个例子,当在电路mp中设定的第一数据(权系数)为“ 1”时,在电路hcs中保持高电平电位(这里例如是vddl),在电路hcsr中保持低电平电位(这里例如是vss),当设定在电路mp中的第一数据(权系数)为
“‑
1”时,在电路hcs中保持低电平电位,在电路hcsr中保持高电平电位,当设定在电路mp中的第一数据(权系数)为“0”时,在电路hcs中保持低电平电位,在电路hcsr中保持低电平电位。
[0895]
注意,当在电路hcs中保持电压vddl时,在晶体管m1中流过的电流的量为i1。此外,当在电路hcs中保持电压vss时,在晶体管m1中流过的电流的量为0。同样地,当在电路hcsr中保持电压vddl时,在晶体管m1r中流过的电流的量为i1,当在电路hcsr中保持电压vss时,在晶体管m1r中流过的电流的量为0。
[0896]
接着,对图53的电路mp的具体的工作例子进行说明。
[0897]
在电路mp中例如预先设定“ 1”的第一数据(权系数)。
[0898]
当在电路mp中作为第二数据(神经元的信号的值)输入“ 3”时,通过晶体管m3只在时间3t
ut
成为开启状态,且晶体管m4成为关闭状态,从布线ol通过晶体管m1向布线ve流过的电荷量为3t
ut
×
i
ut
。注意,这里,t
ut
×
i
ut
=q
ut
。另一方面,从布线olb通过电路mcr向布线ver流过的电荷量由于晶体管m1r处于关闭状态,所以成为0。
[0899]
此外,当在电路mp中作为第二数据(神经元的信号的值)输入
“‑
3”时,在布线olb与电路mc之间、在布线ol与电路mcr之间都成为导通状态,在布线ol与电路mcr之间、在布线ol与电路mc之间都成为非导通状态,因此从布线olb通过电路mc向布线ve流过的电荷量为3t
ut
×
i
ut
=3q
ut
,从布线ol通过电路mcr向布线ver流过的电荷量为0。
[0900]
另外,考虑在电路mp中例如预先设定
“‑
1”的第一数据(权系数)的情况。
[0901]
当在电路mp中作为第二数据(神经元的信号的值)输入“ 3”时,通过晶体管m3只在
时间3t
ut
成为开启状态,且晶体管m4成为关闭状态,从布线olb通过晶体管m1r向布线ver流过的电荷量为3t
ut
×
i
ut
=3q
ut
。另一方面,从布线ol通过电路mcr向布线ve流过的电荷量由于晶体管m1处于关闭状态,所以为0。
[0902]
此外,当在电路mp中作为第二数据(神经元的信号的值)输入
“‑
3”时,在布线olb与电路mc之间、在布线ol与电路mcr之间都成为导通状态,在布线ol与电路mcr之间、在布线ol与电路mc之间成为非导通状态,因此从布线ol通过电路mcr向布线ver流过的电荷量为3t
ut
×
i
ut
=3q
ut
,从布线olb通过电路mc向布线ve流过的电荷量为0。
[0903]
这里,着眼于电路actf的积分电路。当电流从布线ol或布线olb通过电路mc向布线ve流过时或者电流从布线ol或布线olb通过电路mcr向布线ver流过时,在图8a中,使开关swo、开关swob处于开启状态,使开关swi、开关swib、开关swl、开关swlb、开关swh、开关swhb处于关闭状态,使在布线ol及布线olb与电路afp之间处于导通状态,由此可以在包括在电路actf中的积分电路的电容中储存在布线ol、布线olb中流过的电荷量。因此,电路actf可以输出对应于在布线ol中流过的电荷量q
ol
及在布线olb中流过的电荷量q
olb
的神经元的信号z
j(k)
。
[0904]
以下表示出通过上述工作例子,第一数据(权系数)为“ 1”或
“‑
1”,以上述那样定义第二数据(神经元的信号的值)时的在布线ol中流过的电荷量q
ol
及在布线olb中流过的电荷量q
olb
。
[0905]
[表12]
[0906][0907]
注意,在第二数据(神经元的信号的值)为
“‑
3”、
“‑
2”、
“‑
1”、“0”、“ 1”、“ 2”、“ 3”以外的整数或实数时,根据整数或实数,设定对布线x1l和布线x2l中的一个的高电平电位
的输入时间即可。例如,a为正实数,输入期间为a
×
t
ut
,由此可以处理第二数据(神经元的信号的值)作为模拟值。
[0908]
由此,与工作方法例子1至工作方法例子3同样地,第二数据(神经元的信号的值)为多值,可以将其供应给电路mp。
[0909]
注意,如上所述,包括在图53的电路mp中的电路hcs、电路hcsr具有包括sram的结构。在图54a中作为电路hcs、电路hcsr具有包括sram的结构示出图53的电路mp的详细具体例子。注意,关于在图54a中记载的符号、第一数据(权重数据)的保持方法等,参照图30a及图30b的电路mp的说明的记载。
[0910]
在图54a的电路mp中,在保持在电路hcs中的电位为低电平电位和高电平电位中的一个,保持在电路hcsr中的电位为低电平电位和高电平电位中的另一个时,也就是说,当在电路hcs、电路hcsr中不需要保持相同的电位时,图54a的电路mp可以改变为图54b的电路mp。图54b的电路mp在电路mc中包括电路hcs,通过包括在电路hcs中的反相器环形电路ivr,将对晶体管m1的栅极供应的信号的反转信号供应给晶体管m1r。注意,此时,作为一个例子,在对晶体管m1的栅极供应高电平电位时(在对晶体管m1r的栅极供应低电平电位时),可以将设定在电路mp中的第一数据(权系数)设定为“ 1”,当对晶体管m1的栅极供应低电平电位时(对晶体管m1r的栅极供应高电平电位时),可以将设定在电路mp中的第一数据(权系数)设定为
“‑
1”。
[0911]
图55a示出在电路hcs、电路hcsr中包括反相器环形电路ivr,且与图54a的电路mp不同的结构例子。图55a所示的电路mp在电路mc中包括具有反相器环形电路ivr的电路hcs、晶体管m3、m4,在电路mcr中包括具有反相器环形电路ivrr的电路hcsr、晶体管m3r、晶体管m4r。反相器环形电路ivr包括反相器电路iv1、反相器电路iv2,反相器环形电路ivrr包括反相器电路iv1r、反相器电路iv2r。
[0912]
反相器电路iv1的输出端子与反相器电路iv2的输入端子、晶体管m3的第一端子、晶体管m4的第一端子电连接,反相器电路iv2的输出端子与反相器电路iv1的输入端子电连接。晶体管m3的第二端子与布线ol电连接,晶体管m3的栅极与布线wx1l电连接。晶体管m4的第二端子与布线olb电连接,晶体管m4的栅极与布线x2l电连接。反相器电路iv1r的输出端子与反相器电路iv2r的输入端子、晶体管m3r的第一端子、晶体管m4r的第一端子电连接,反相器电路iv2r的输出端子与反相器电路iv1r的输入端子电连接。晶体管m3r的第二端子与布线olb电连接,晶体管m3r的栅极与布线wx1l电连接。晶体管m4r的第二端子与布线ol电连接,晶体管m4r的栅极与布线x2l电连接。
[0913]
电路hcs具有通过反相器环形电路ivr在反相器电路iv1的输出端子中保持高电平电位和低电平电位中的一个的功能,电路hcsr具有通过反相器环形电路ivrr在反相器电路iv1的输出端子中保持高电平电位和低电平电位中的一个的功能。由此,与图53、图54a同样地,作为一个例子,当在电路mp中设定的第一数据(权系数)为“ 1”时,在反相器电路iv1的输出端子中保持高电平电位(这里例如是vddl),在反相器电路iv1r的输出端子中保持低电平电位(这里例如是vss),当在电路mp中设定的第一数据(权系数)为
“‑
1”时,在反相器电路iv1的输出端子中保持低电平电位,在反相器电路iv1r的输出端子中保持高电平电位,当在电路mp中设定的第一数据(权系数)为“0”时,在反相器电路iv1的输出端子中保持低电平电位,在反相器电路iv1r的输出端子中保持低电平电位。
[0914]
对图55a的电路mp的第二数据(神经元的信号的值)的输入与图53、图54a同样地设定对布线wx1l和布线x2l中的一个的高电平电位的输入时间即可。
[0915]
图55a的电路mp与图53、图54a及图54b的每一个的电路mp不同,使用包括在电路hcs的反相器环形电路ivr中的晶体管从布线ol或布线olb向电路mc电流流过,使用包括在电路hcsr的反相器环形电路ivrr中的晶体管从布线ol或布线olb向电路mcr电流流过。
[0916]
图55a的电路mp可以改变为图55b所示的电路mp的结构。图55b的电路mp具有不设置包括在图55a的电路mp中的电路mcr的结构。也就是说,使用包括在电路hcs的反相器环形电路ivr中的晶体管从布线ol或布线olb向电路mc电流流过。注意,此时,作为一个例子,当对反相器电路iv1的输出端子供应高电平电位时,可以将设定在电路mp中的第一数据(权系数)设定为“ 1”,当对反相器电路iv1的输出端子供应低电平电位时,可以将设定在电路mp中的第一数据(权系数)设定为“0”。
[0917]
图55c的电路mp具有从图55b的电路mp去除布线x2l,且晶体管m4的第一端子与反相器电路iv1的输入端子、反相器电路iv2的输出端子电连接的结构。在布线wx1l的电位为高电平电位时,对布线ol或布线olb输出相反信号。此时,作为一个例子,在对反相器电路iv1的输出端子供应高电平电位时,可以将设定在电路mp中的第一数据(权系数)设定为“ 1”,在对反相器电路iv1的输出端子供应低电平电位时,可以将设定在电路mp中的第一数据(权系数)设定为
“‑
1”。此外,作为一个例子,在从电路mp向电路afp供应信息(例如,电流、电压等)的情况下,当对布线wx1l输入高电平电位时,也可以将对电路mp输入的第二数据(神经元的信号的值)设定为“ 1”,在对布线wx1l输入低电平电位时,也可以将对电路mp输入的第二数据(神经元的信号的值)设定为“0”。
[0918]
注意,图55a至图55c的电路mp例如可以用于图7所示的运算电路140的电路mp。
[0919]
如上所述,包括在图53的电路mp中的电路hcs、电路hcsr可以具有包括nosram的结构。在图56a中作为电路hcs、电路hcsr具有包括nosram的结构示出图53的电路mp的详细具体例子。注意,关于在图56a中记载的符号、第一数据(权重数据)的保持方法等,参照图34的电路mp的说明的记载。
[0920]
在图56a的电路mp中,也可以将布线il及布线ol组合为一个布线以及/或者将布线ilb及布线olb组合为一个布线。在图56b的电路mp中将布线il及布线ol作为布线ol组合为一个布线,将布线ilb及布线olb作为布线ol组合为一个布线。
[0921]
本发明的一个方式的半导体装置的工作方法不局限于上述工作方法。例如,如在工作方法例子2中说明那样,在图53至图56b的电路mp中,也可以将对布线x1l(图55a、图55b中,布线wx1l)、布线x2l的每一个输入的信号的输入期间分为多个子期间。
[0922]
在本工作方法例子中,为了简化起见,考虑布线ol、布线olb只与一个电路mp电连接的情况,但是如图11的运算电路150那样,布线ol、布线olb也可以与多个电路mp电连接。由此,可以将从布线ol、布线olb的每一个输入到多个电路mp中的电荷量的总和储存在包括在电路actf中的积分电路的电容,电路actf可以输出对应于在布线ol、布线olb中流过的每一个的电荷量的神经元的信号z
j(k)
。
[0923]
注意,在本工作例子中,作为例子示出图11的运算电路150,即使根据情况改变其他运算电路也可以进行与本工作例子相同的工作。
[0924]
注意,本结构例子可以与本说明书所示的其他工作方法例子等适当地组合。
[0925]
<工作方法例子6>
[0926]
这里,对使用图57的电路mp的图11的运算电路150的工作方法进行说明。
[0927]
与工作方法例子1至工作方法例子5同样地,为了简化起见,关于在布线ol、布线olb中流过的电流的变化,只由与布线ol、布线olb电连接的一个电路mp进行。此外,与电路mp电连接的布线ve、布线ver的每一个对电路mp作为恒电压供应vss。另外,包括在电路afp中的电路actf[1]至actf[n]的每一个作为一个例子为具有积分电路(或者,电流电荷(iq)转换电路)的结构的电路actf。例如,在图6e的电路actf[j]中,也可以以具有负载lea、负载leb为电容等的结构。
[0928]
图57示出与图36所示的电路mp同样的电路结构。注意,在图57的电路mp中电路hcs、电路hcs
‑
2b、电路hcs
‑
3b的每一个与布线olb电连接,电路hcsr、电路hcs
‑
2br、电路hcs
‑
3br的每一个与布线olb电连接。此外,在本工作方法例子中,与在实施方式2中说明的图36的电路mp的工作例子不同。
[0929]
具体而言,与工作方法例子5同样地,在电路mp中根据第二数据(例如,这里是神经元的信号的值)设定对布线wx1l和布线x2l中的一个的高电平电位的输入时间。也就是说,设定晶体管m3、晶体管m3r成为开启状态或晶体管m4、晶体管m4r成为开启状态的时间。
[0930]
如在工作方法例子1中说明,通过在电路mp中设定第一数据(例如,这里是权系数),且设定晶体管m3或晶体管m4成为开启状态的时间,决定从布线ol或布线olb通过晶体管m1向布线ve流过的电荷量。此外,通过在电路mp中设定第一数据(权系数)决定晶体管m3r或晶体管m4r成为开启状态的时间,决定从布线ol或布线olb通过晶体管m1r向布线ver流过的电荷量。
[0931]
关于从布线ol或布线olb通过晶体管m1
‑
2b向布线ve流过的电荷量及从布线ol或布线olb通过晶体管m1
‑
2br向布线ver流过的电荷量,通过在晶体管m3、晶体管m3r、晶体管m4、晶体管m4r的每一个中设定成为开启状态的时间来决定。
[0932]
因此,在图57的电路mp中的第二数据(神经元的信号的值)的定义可以与图53的电路mp中的第二数据(神经元的信号的值)相同。
[0933]
图57所示的电路hcs、电路hcs
‑
2b、电路hcs
‑
3b、电路hcsr、电路hcs
‑
2br、电路hcs
‑
3br如实施方式2的结构例子6所说明,作为一个例子可以具有包括sram的结构或包括nosram的结构。这里,在电路hcs、电路hcs
‑
2b、电路hcs
‑
3b、电路hcsr、电路hcs
‑
2br、电路hcs
‑
3br中保持2值(数字值)的电位。
[0934]
当晶体管m1、晶体管m1r的w长与l长的比例为w/l时,晶体管m1、晶体管m1r的w长与l长的比例为2w/l,晶体管m1、晶体管m1r的w长与l长的比例为4w/l。
[0935]
因此,设定在电路mp中的第一数据(这里,例如,权系数)可以参照实施方式2的结构例子6的内容。具体而言,例如,设定在电路mp中的第一数据(权系数)根据在晶体管m1、晶体管m1r、晶体管m1
‑
2b、晶体管m1
‑
2br、晶体管m1
‑
3b、晶体管m1
‑
3br的每一个中流过的电流决定。换言之,设定在电路mp中的第一数据(权系数)根据保持在电路hcs、电路hcs
‑
2b、电路hcs
‑
3b、电路hcsr、电路hcs
‑
2br、电路hcs
‑
3br的每一个中的电位决定。由此,作为一个例子,如下表所示,通过在电路hcs、电路hcs
‑
2b、电路hcs
‑
3b、电路hcsr、电路hcs
‑
2br、电路hcs
‑
3br的每一个中保持电位,可以设定设定在电路mp中的第一数据(权系数)。
[0936]
[表13]
[0937]
权系数hcshcsrhcs
‑
2bhcs
‑
2brhcs
‑
3bhcs
‑
3br 1vddlvssvssvssvssvss 2vssvssvddlvssvssvss 3vddlvssvddlvssvssvss 4vssvssvssvssvddlvss 5vddlvssvssvssvddlvss 6vssvssvddlvssvddlvss 7vddlvssvddlvssvddlvss
‑
1vssvddlvssvssvssvss
‑
2vssvssvssvddlvssvss
‑
3vssvddlvssvddlvssvss
‑
4vssvssvssvssvssvddl
‑
5vssvddlvssvssvssvddl
‑
6vssvssvssvddlvssvddl
‑
7vssvddlvssvddlvssvddl0vssvssvssvssvssvss
[0938]
注意,当在电路hcs中保持电压vddl时,在晶体管m1中流过的电流的量为i1。此外,由于晶体管m1
‑
2b的w长与l长的比例为晶体管m1的w长与l长的比例的2倍,所以当在电路hcs
‑
2b中保持电压vddl时,在晶体管m1中流过的电流的量为2i1。此外,由于晶体管m1
‑
3b的w长与l长的比例为晶体管m1的w长与l长的比例的4倍,所以当在电路hcs
‑
3b中保持电压vddl时,在晶体管m1
‑
3b中流过的电流的量为4i1。此外,同样地,当在电路hcsr中保持电压vddl时,在晶体管m1r中流过的电流的量为i1,当在电路hcs
‑
2br中保持电压vddl时,在晶体管m1
‑
2br中流过的电流的量为2i1,当在电路hcs
‑
3br中保持电压vddl时,在晶体管m1
‑
3br中流过的电流的量为4i1。注意,当在电路hcs、电路hcsr、电路hcs
‑
2b、电路hcs
‑
2br、电路hcs
‑
3b、电路hcs
‑
2br的每一个中保持电压vss时,在晶体管m1、晶体管m1r、晶体管m1
‑
2b、晶体管m1
‑
2br、晶体管m1
‑
3b、晶体管m1
‑
3br中流过的电流的量为0。
[0939]
接着,说明图57的电路mp的具体工作例子。
[0940]
在电路mp中例如预先设定“ 7”的第一数据(权系数)。此时,在晶体管m1的源极与漏极间电流i
ut
流过,在晶体管m1
‑
2b的源极与漏极间电流2i
ut
流过,在晶体管m1
‑
3b的源极与漏极间电流4i
ut
流过。
[0941]
当在电路mp中作为第二数据(神经元的信号的值)输入“ 3”时,通过晶体管m3只在时间3t
ut
成为开启状态,且晶体管m4成为关闭状态,从布线ol通过晶体管m1向布线ve流过的电荷量为3t
ut
×
i
ut
3t
ut
×
2i
ut
3t
ut
×
4i
ut
=21t
ut
×
i
ut
。注意,这里,t
ut
×
i
ut
=q
ut
。也就是说,从布线ol通过电路mc向布线ve流过的电荷量为21t
ut
×
i
ut
=21q
ut
。另一方面,从布线olb通过电路mcr向布线ver流过的电荷量由于晶体管m1r、晶体管m1
‑
2br、晶体管m1
‑
3br处于关闭状态,所以成为0。
[0942]
此外,当在电路mp中作为第二数据(神经元的信号的值)输入
“‑
3”时,在布线olb与电路mc之间、在布线ol与电路mcr之间都成为导通状态,在布线ol与电路mcr之间、在布线ol与电路mc之间都成为非导通状态,因此从布线olb通过电路mc向布线ve流过的电荷量为
21t
ut
×
i
ut
=21q
ut
,从布线ol通过电路mcr向布线ver流过的电荷量为0。
[0943]
在电路mp中例如考虑预先设定
“‑
7”的第一数据(权系数)的情况。此时,在晶体管m1r的源极与漏极间电流i1流过,在晶体管m1
‑
2br的源极与漏极间电流2i1流过,在晶体管m1
‑
3br的源极与漏极间电流4i1流过。
[0944]
当在电路mp中作为第二数据(神经元的信号的值)输入“ 3”时,通过晶体管m3只在时间3t
ut
成为开启状态,且晶体管m4成为关闭状态,从布线olb通过晶体管m1r向布线ver流过的电荷量为3t
ut
×
i
ut
3t
ut
×
2i
ut
3t
ut
×
4i
ut
=21t
ut
×
i
ut
。也就是说,从布线olb通过电路mcr向布线ver流过的电荷量为21t
ut
×
i
ut
=21q
ut
。另一方面,从布线ol通过电路mc向布线ve流过的电荷量由于晶体管m1r、晶体管m1
‑
2br、晶体管m1
‑
3br处于关闭状态,所以成为0。另一方面,从布线ol通过电路mc向布线ve流过的电荷量由于晶体管m1、m1
‑
2b、m1
‑
3b处于关闭状态,所以成为0。
[0945]
此外,当在电路mp中作为第二数据(神经元的信号的值)输入
“‑
3”时,在布线olb与电路mc之间、在布线ol与电路mcr之间都成为导通状态,在布线ol与电路mcr之间、在布线ol与电路mc之间成为非导通状态,因此从布线ol通过电路mcr向布线ver流过的电荷量为21t
ut
×
i
ut
=21q
ut
,从布线olb通过电路mc向布线ve流过的电荷量为0。
[0946]
通过改变设定在电路mp中的第一数据(权系数),由于保持在电路hcs、电路hcs
‑
2b、电路hcs
‑
3b、电路hcsr、电路hcs
‑
2br、电路hcs
‑
3br的每一个中的电位的组合变化,所以在晶体管m1、晶体管m1r、晶体管m1
‑
2b、晶体管m1
‑
2br、晶体管m1
‑
3b、晶体管m1
‑
3br的每一个中流过的电流的量变化。因此,从布线ol或布线olb通过电路mc向布线ve流过的电荷量及从布线ol或布线olb通过电路mcr向布线ver流过的电荷量可以根据第一数据(权系数)决定。
[0947]
注意,当在电路mp中预先设定“0”的第一数据(权系数)时,晶体管m1、晶体管m1r、晶体管m1
‑
2b、晶体管m1
‑
2br、晶体管m1
‑
3b、晶体管m1
‑
3br的每一个处于关闭状态。因此,电流不从布线ol或布线olb通过电路mc向布线ve流过,电流不从布线ol或布线olb通过电路mcr向布线ver流过。换言之,可以说在布线ol、布线olb的每一个中流过的电荷量为0。
[0948]
当对电路mp作为第二数据(神经元的信号的值)输入“0”时,由于对布线x1l、布线x2l的每一个输入低电平电位,所以晶体管m3、晶体管m3r、晶体管m4、晶体管m4r成为关闭状态。因此,电流不从布线ol或布线olb通过电路mc向布线ve流过,电流不从布线ol或布线olb通过电路mcr向布线ver流过。换言之,可以说在布线ol、布线olb的每一个中流过的电荷量为0。
[0949]
当电流从布线ol或布线olb通过电路mc向布线ve流过时或者电流从布线ol或布线olb通过电路mcr向布线ver流过时,在图8a中,使开关swo、开关swob处于开启状态,使开关swi、开关swib、开关swl、开关swlb、开关swh、开关swhb处于关闭状态,使在布线ol及olb与电路afp之间处于导通状态,由此可以在包括在电路actf中的积分电路的电容中储存在布线ol、布线olb中流过的电荷量。因此,电路actf可以输出对应于在布线ol、布线olb的每一个中流过的电荷量的神经元的信号z
j(k)
。
[0950]
如上所述,通过设定第一数据(权系数)及第二数据(神经元的信号的值),根据第一数据(权系数)与第二数据(神经元的信号的值)之积的结果,决定电流从布线ol向电路mc或电路mcr的电荷量q
ol
及电流从布线olb向电路mc或电路mcr的电荷量q
olb
。此外,在第一数
据(权系数)与第二数据(神经元的信号的值)之积的结果为正值时,电流从布线ol向电路mc或电路mcr流过,在第一数据(权系数)与第二数据(神经元的信号的值)之积的结果为负值时,电流从布线olb向电路mc或电路mcr流过。也就是说,可以从电荷量q
ol
及电荷量q
olb
算出第一数据(权系数)与第二数据(神经元的信号的值)之积。例如,在第一数据(权系数)为“ 7”,且第二数据(神经元的信号的值)为“ 3”时,q
ol
=21q
ut
、q
olb
=0。此时,由于从布线ol向电路mc或电路mcr电流流过,积的结果为正值。由此,作为一个例子,通过在从布线ol向电路mc或电路mcr电流流过的电荷量q
ol
中将q
ut
替换为“ 1”,可以从电荷量q
ol
作为第一数据(权系数)与第二数据(神经元的信号的值)的积的结果求出“ 21”。此外,例如,在第一数据(权系数)为
“‑
7”,第二数据(神经元的信号的值)为“ 3”时,q
ol
=0、q
olb
=21q
ut
。此时,由于从布线olb向电路mc或电路mcr电流流过,所以积的结果为负值。由此,作为一个例子,通过在从布线olb向电路mc或电路mcr电流流过的电荷量q
olb
中将q
ut
替换为
“‑
1”,可以从电荷量q
olb
作为第一数据(权系数)与第二数据(神经元的信号的值)的积的结果求出
“‑
21”。
[0951]
在第二数据(神经元的信号的值)为
“‑
3”、
“‑
2”、
“‑
1”、“0”、“ 1”、“ 2”、“ 3”以外的整数或实数时,根据整数或实数,设定对布线x1l和布线x2l中的一个的高电平电位的输入时间即可。例如,a为正实数,输入期间为a
×
t
ut
,由此可以处理第二数据(神经元的信号的值)作为模拟值。
[0952]
由此,与工作方法例子1至工作方法例子3、工作方法例子5同样地,可以以第二数据(神经元的信号的值)为多值并将其供应给电路mp。
[0953]
此外,本发明的一个方式的半导体装置不局限于图57的电路mp的结构。例如,在图57的电路mp中,作为设定电流量的晶体管,在电路mc中包括晶体管m1、晶体管m1
‑
2b、晶体管m1
‑
3b的3个,在电路mcr中包括晶体管m1r、晶体管m1
‑
2br、晶体管m1
‑
3br的3个,在电路mc、电路mcr的每一个中,设定电流量的晶体管也可以为2个或4个以上。此外,也可以根据该晶体管增加保持部的个数、布线数。
[0954]
本发明的一个方式的半导体装置的工作方法不局限于上述工作方法。例如,如在工作方法例子2中说明那样,在图57的电路mp中,也可以将对布线x1l、布线x2l的每一个输入的信号的输入期间分为多个子期间。
[0955]
在本工作方法例子中,为了简化起见,考虑布线ol、布线olb只与一个电路mp电连接的情况,但是如图11的运算电路150那样,布线ol、布线olb也可以与多个电路mp电连接。由此,可以将从布线ol、布线olb的每一个输入到多个电路mp中的电荷量的总和储存在包括在电路actf中的积分电路的电容,电路actf可以输出对应于在布线ol、布线olb中流过的每一个的电荷量的神经元的信号z
j(k)
。
[0956]
注意,在本工作例子中,作为例子示出图11的运算电路150,即使根据情况改变其他运算电路也可以进行与本工作例子相同的工作。
[0957]
注意,本结构例子可以与本说明书所示的其他工作方法例子等适当地组合。
[0958]
<工作方法例子7>
[0959]
这里,对使用图58的电路mp的图11的运算电路150的工作方法进行说明。
[0960]
与工作方法例子1至工作方法例子6同样地,为了简化起见,关于在布线ol、布线olb中流过的电流的变化,只由与布线ol、布线olb电连接的一个电路mp进行。此外,与电路mp电连接的布线ve、布线ver的每一个对电路mp作为恒电压供应vss。另外,包括在电路afp
中的电路actf[1]至actf[n]的每一个作为一个例子为具有积分电路(或者,电流电荷(iq)转换电路)的结构的电路actf。例如,在图6e的电路actf[j]中,也可以以具有负载lea、负载leb为电容等的结构。
[0961]
图58示出与图29所示的电路mp同样的电路结构。注意,晶体管m1、晶体管m1r、晶体管m1
‑
2b、晶体管m1
‑
2br、晶体管m1
‑
3b、晶体管m1
‑
3br的每一个的尺寸,例如w长与l长优选相等。此外,本工作方法例子与在实施方式2中说明的图29的电路mp的工作例子不同。
[0962]
具体而言,与图50的电路mp同样地,当对电路mp输入第二数据(例如,这里是神经元的信号的值)时,在对布线wx1l和布线x2l中的一个的高电平电位的输入时间为t
ut
时,对布线x1l2b和布线x2l2b中的一个的高电平电位的输入时间为2t
ut
,对布线x1l3b和布线x2l3b中的一个的高电平电位的输入时间为4t
ut
而进行工作。也就是说,在晶体管m3、晶体管m3r成为开启状态或者晶体管m4、晶体管m4r成为开启状态的时间为t
ut
时,以晶体管m3
‑
2b、晶体管m3
‑
2br成为开启状态或晶体管m4
‑
2b、晶体管m4
‑
2br成为开启状态的时间为2t
ut
,晶体管m3
‑
3b、晶体管m3
‑
3br成为开启状态或晶体管m4
‑
3b、晶体管m4
‑
3br成为开启状态的时间为4t
ut
的方式工作。因此,在图58的电路mp中,为了示出与图29的电路mp不同的工作,在布线wx1l、布线x2l、布线x1l2b、布线x2l2b、布线x1l3b、布线x2l3b的符号附近示出脉冲电压的示意图及输入时间。
[0963]
如在工作方法例子1、工作方法例子2中说明,通过在电路mp中设定第一数据(例如,这里是权系数),且设定晶体管m3或晶体管m4成为开启状态的时间,决定从布线ol或布线olb通过晶体管m1向布线ve流过的电荷量。此外,通过在电路mp中设定第一数据(权系数)决定晶体管m3r或晶体管m4r成为开启状态的时间,决定从布线ol或布线olb通过晶体管m1r向布线ver流过的电荷量。
[0964]
同样地,关于从布线ol或布线olb通过晶体管m1
‑
2b向布线ve流过的电荷量及从布线ol或布线olb通过晶体管m1
‑
2br向布线ver流过的电荷量,通过在晶体管m3
‑
2b、晶体管m3
‑
2br、晶体管m4
‑
2b、晶体管m4
‑
2br的每一个中设定成为开启状态的时间来决定。此外,关于从布线ol或布线olb通过晶体管m1
‑
3b向布线ve流过的电荷量及从布线ol或布线olb通过晶体管m1
‑
3br向布线ver流过的电荷量,在晶体管m3
‑
3b、晶体管m3
‑
3br、晶体管m4
‑
3b、晶体管m4
‑
3br的每一个中设定成为开启状态的时间来决定。
[0965]
因此,在图58的电路mp中的第二数据(神经元的信号的值)的定义作为一个例子可以与在工作方法例子3中说明的图50的电路mp中的第二数据(神经元的信号的值)相同。
[0966]
如在实施方式2的结构例子5中说明,作为一个例子,图58所示的电路hcs、电路hcsr可以具有包括sram的结构或包括nosram的结构。这里,在电路hcs、电路hcsr中保持2值(数字值)的电位。因此,作为一个例子,当在电路mp中设定的第一数据(权系数)为“ 1”时,在电路hcs中保持高电平电位(这里例如是vddl),在电路hcsr中保持低电平电位(这里例如是vss),当设定在电路mp中的第一数据(权系数)为
“‑
1”时,在电路hcs中保持低电平电位,在电路hcsr中保持高电平电位,当设定在电路mp中的第一数据(权系数)为“0”时,在电路hcs中保持低电平电位,在电路hcsr中保持低电平电位。
[0967]
注意,当在电路hcs中保持电压vddl时,在晶体管m1中流过的电流的量为i1。此外,当在电路hcs中保持电压vss时,在晶体管m1中流过的电流的量为0。同样地,当在电路hcsr中保持电压vddl时,在晶体管m1r中流过的电流的量为i
ut
,当在电路hcsr中保持电压vss时,
在晶体管m1r中流过的电流的量为0。
[0968]
在电路mc中,晶体管m1、晶体管m1
‑
2b、晶体管m1
‑
3b的每一个的尺寸相等,晶体管m1、晶体管m1
‑
2b、晶体管m1
‑
3b的每一个的栅极与电路hcs电连接,晶体管m1、晶体管m1
‑
2b、晶体管m1
‑
3b的每一个的第一端子与布线ve电连接,由此在晶体管m1、晶体管m1
‑
2b、晶体管m1
‑
3b的每一个的源极与漏极间彼此几乎相等的电流流过。因此,与晶体管m1相同地,在晶体管m1
‑
2b、晶体管m1
‑
3b的每一个的源极与漏极间流过的电流量为i
ut
。此外,晶体管m1r、晶体管m1
‑
2br、晶体管m1
‑
3br的每一个与晶体管m1的尺寸相等,晶体管m1r、晶体管m1
‑
2br、晶体管m1
‑
3br的栅极与电路hcsr电连接,晶体管m1r、晶体管m1
‑
2br、晶体管m1
‑
3br的每一个的第一端子与布线ver电连接,因此在晶体管m1r、晶体管m1
‑
2br、晶体管m1
‑
3br的每一个的源极与漏极间流过的电流与在晶体管m1的源极与漏极间流过的电流相等。因此,与晶体管m1相同地,在晶体管m1r、晶体管m1
‑
2br、晶体管m1
‑
3br的每一个的源极与漏极间流过的电流量为i
ut
。
[0969]
接着,说明图58的电路mp的具体工作例子。
[0970]
在电路mp中例如预先设定“ 1”的第一数据(权系数)。
[0971]
当在电路mp中作为第二数据(神经元的信号的值)输入“ 7”时,通过晶体管m3只在时间t
ut
成为开启状态,且晶体管m4成为关闭状态,从布线ol通过晶体管m1向布线ve流过的电荷量为t
ut
×
i
ut
。注意,这里,t
ut
×
i
ut
=q
ut
。此外,同样地,通过晶体管m3
‑
2b只在时间2t
ut
成为开启状态,且晶体管m4
‑
2b成为关闭状态,从布线ol通过晶体管m1
‑
2b向布线ve流过的电荷量为2t
ut
×
i
ut
=2q
ut
,通过晶体管m3
‑
3b在时间4t
ut
成为开启状态,且晶体管m4
‑
3b成为关闭状态,从布线ol通过晶体管m1
‑
3b向布线ve流过的电荷量为4t
ut
×
i
ut
=4q
ut
。因此,从布线ol通过电路mc向布线ve流过的电荷量为q
ut
2q
ut
4q
ut
=7q
ut
。另一方面,从布线olb通过电路mcr向布线ver流过的电荷量由于晶体管m1r、晶体管m1
‑
2br、晶体管m1
‑
3br处于关闭状态,所以成为0。
[0972]
注意,当在电路mp中作为第二数据(神经元的信号的值)输入
“‑
7”时,在布线olb与电路mc之间、在布线ol与电路mcr之间都成为导通状态,在布线ol与电路mcr之间、在布线ol与电路mc之间都成为非导通状态,因此从布线olb通过电路mc向布线ve流过的电荷量为q
ut
2q
ut
4q
ut
=7q
ut
,从布线ol通过电路mcr向布线ver流过的电荷量为0。
[0973]
此外,例如,考虑在电路mp中预先设定
“‑
1”的第一数据(权系数)的情况。
[0974]
当在电路mp中作为第二数据(神经元的信号的值)输入“ 7”时,通过晶体管m3r只在时间t
ut
成为开启状态,且晶体管m4r成为关闭状态,从布线olb通过晶体管m1r向布线ver流过的电荷量为t
ut
×
i
ut
=q
ut
。此外,同样地,通过晶体管m4
‑
2br只在时间2t
ut
成为开启状态,且晶体管m3
‑
2br成为关闭状态,从布线olb通过晶体管m1
‑
2br向布线ver流过的电荷量为2t
ut
×
i
ut
=2q
ut
,通过晶体管m4
‑
3br只在时间4t
ut
成为开启状态,且晶体管m3
‑
3br成为关闭状态,从布线olb通过晶体管m1
‑
3br向布线ver流过的电荷量为4t
ut
×
i
ut
=4q
ut
。因此,从布线olb通过电路mcr向布线ver流过的电荷量为q
ut
2q
ut
4q
ut
=7q
ut
。另一方面,从布线ol通过电路mc向布线ve流过的电荷量由于晶体管m1r、m1
‑
2br、m1
‑
3br处于关闭状态,所以为0。
[0975]
注意,当在电路mp中作为第二数据(神经元的信号的值)输入
“‑
7”时,在布线olb与电路mc之间、在布线ol与电路mcr之间都成为导通状态,在布线ol与电路mcr之间、在布线ol与电路mc之间成为非导通状态,因此从布线ol通过电路mcr向布线ver流过的电荷量为q
ut
2q
ut
4q
ut
=7q
ut
,从布线olb通过电路mc向布线ve流过的电荷量为0。
[0976]
因此,通过在电路mp中设定“ 1”的第一数据(权系数),根据正的第二数据(神经元的信号的值),从包括在电路mp中的晶体管m3、晶体管m3
‑
2b、晶体管m3
‑
3b中选择一个以上的成为开启状态的晶体管,可以将从布线ol通过电路mc向布线ve流过的电荷量设定为q
ut
、2q
ut
、3q
ut
、4q
ut
、5q
ut
、6q
ut
、7q
ut
中的任一个。注意,此时,从布线olb通过电路mcr向布线ver流过的电荷量为0。此外,在电路mp中设定
“‑
1”的第一数据(权系数),根据正的第二数据(神经元的信号的值),从包括在电路mp中的晶体管m3r、晶体管m3
‑
2br、晶体管m3
‑
3br选择一个以上的成为开启状态的晶体管,可以将从布线olb通过电路mcr向布线ver流过的电荷量设定为q
ut
、2q
ut
、3q
ut
、4q
ut
、5q
ut
、6q
ut
、7q
ut
中的任一个。注意,此时,从布线ol通过电路mc向布线ve流过的电荷量为0。
[0977]
通过在电路mp中设定“ 1”的第一数据(权系数),根据负的第二数据(神经元的信号的值),从包括在电路mp中的晶体管m4、晶体管m4
‑
2b、晶体管m4
‑
3b中选择一个以上的成为开启状态的晶体管,可以将从布线olb通过电路mc向布线ve流过的电荷量设定为q
ut
、2q
ut
、3q
ut
、4q
ut
、5q
ut
、6q
ut
、7q
ut
中的任一个。注意,此时,从布线ol通过电路mcr向布线ver流过的电荷量为0。此外,在电路mp中设定
“‑
1”的第一数据(权系数),根据负的第二数据(神经元的信号的值)从包括在电路mp中的晶体管m4r、晶体管m4
‑
2br、晶体管m4
‑
3br选择一个以上的成为开启状态的晶体管,可以将从布线ol通过电路mcr向布线ver流过的电荷量设定为q
ut
、2q
ut
、3q
ut
、4q
ut
、5q
ut
、6q
ut
、7q
ut
中的任一个。注意,此时,从布线olb通过电路mc向布线ve流过的电荷量为0。
[0978]
注意,当在电路mp中预先设定“0”的第一数据(权系数)时,晶体管m1、晶体管m1r、晶体管m1
‑
2b、晶体管m1
‑
2br、晶体管m1
‑
3b、晶体管m1
‑
3br的每一个处于关闭状态。因此,电流不从布线ol或布线olb通过电路mc向布线ve流过,电流不从布线ol或布线olb通过电路mcr向布线ver流过。换言之,可以说在布线ol、布线olb的每一个中流过的电荷量为0。
[0979]
当对电路mp输入“0”的第二数据(神经元的信号的值)时,晶体管m3、晶体管m3
‑
2b、晶体管m3
‑
3b、晶体管m4、晶体管m4
‑
2b、晶体管m4
‑
3b、晶体管m3r、晶体管m3
‑
2br、晶体管m3
‑
3br、晶体管m4r、晶体管m4
‑
2br、晶体管m4
‑
3br的每一个处于关闭状态。因此,电流不从布线ol或布线olb通过电路mc向布线ve流过,电流不从布线ol或布线olb通过电路mcr向布线ver流过。换言之,可以说在布线ol、布线olb的每一个中流过的电荷量为0。
[0980]
这里,着眼于电路actf的积分电路。当电流从布线ol或布线olb通过电路mc向布线ve流过时或者电流从布线ol或布线olb通过电路mcr向布线ver流过时,在图8a中,使开关swo、开关swob处于开启状态,使开关swi、开关swib、开关swl、开关swlb、开关swh、开关swhb处于关闭状态,使在布线ol及布线olb与电路afp之间处于导通状态,由此可以在包括在电路actf中的积分电路的电容中储存在布线ol、布线olb中流过的电荷量。因此,电路actf可以输出对应于在布线ol中流过的电荷量q
ol
及在布线olb中流过的电荷量q
olb
的神经元的信号z
j(k)
。
[0981]
以下表示出通过上述工作例子,第一数据(权系数)为“ 1”或
“‑
1”,以上述那样定义第二数据(神经元的信号的值)时的在布线ol中流过的电荷量q
ol
及在布线olb中流过的电荷量q
olb
。
[0982]
[表14]
[0983][0984]
[表15]
[0985][0986]
如上所述,通过设定第一数据(权系数)及第二数据(神经元的信号的值),根据第一数据(权系数)与第二数据(神经元的信号的值)之积的结果,决定电流从布线ol向电路mc或电路mcr的电荷量q
ol
及电流从布线olb向电路mc或电路mcr的电荷量q
olb
。此外,在第一数据(权系数)与第二数据(神经元的信号的值)之积的结果为正值时,电流从布线ol向电路mc或电路mcr流过,在第一数据(权系数)与第二数据(神经元的信号的值)之积的结果为负值时,电流从布线olb向电路mc或电路mcr流过。也就是说,可以从电荷量q
ol
及电荷量q
olb
算出第一数据(权系数)与第二数据(神经元的信号的值)之积。例如,在第一数据(权系数)为
“‑
1”或“ 1”,第二数据(神经元的信号的值)为
“‑
7”至“ 7”中的任一个,且第一数据(权系数)与第二数据(神经元的信号的值)之积为正数时,在上述表中,在电流从布线ol向电路mc或电路mcr流过的电荷量q
ol
中,通过将q
ut
换成“ 1”,可以从电荷量q
ol
算出第一数据(权系数)与第二数据(神经元的信号的值)之积。另外,例如,在第一数据(权系数)为
“‑
1”或“ 1”,第二数据(神经元的信号的值)为
“‑
7”至“ 7”中的任一个,且第一数据(权系数)与第二数据(神经元的信号的值)之积为负数时,在上述表中,在电流从布线ol向电路mc或电路mcr流过的电荷量q
olb
中,通过将q
ut
换成
“‑
1”,可以从电荷量q
olb
算出第一数据(权系数)与第二数据(神经元的信号的值)之积。
[0987]
本发明的一个方式不局限于上述定义。在上述中,作为第二数据(神经元的信号的
值),定义正的多值、负的多值、0,但是例如输入期间是连续值而不是离散值(a为正实数,输入期间为a
×
t
ut
),可以处理第二数据(神经元的信号的值)作为模拟值。
[0988]
例如,在晶体管m3、晶体管m3r成为开启状态或者晶体管m4、晶体管m4r成为开启状态的时间为t
ut
,晶体管m3
‑
2b、m3
‑
2br成为开启状态或者晶体管m4
‑
2b、晶体管m4
‑
2br成为开启状态的时间为2t
ut
,晶体管m3
‑
3b、晶体管m3
‑
3br成为开启状态或者晶体管m4
‑
3b、晶体管m4
‑
3br成为开启状态的时间为4t
ut
时,对布线wx1l输入高电平电位,对布线x2l输入低电平电位,且对布线x1l2b、布线x2l2b、布线x1l3b、布线x2l3b输入低电平电位时的第二数据(神经元的信号的值)被定义为“ 0.1”等的实数而不是“ 1”。
[0989]
本发明的一个方式的半导体装置不局限于图58的电路mp的结构。例如,在图58的电路mp中,作为设定电流量的晶体管,在电路mc中包括晶体管m1、晶体管m1
‑
2b、晶体管m1
‑
3b的3个,在电路mcr中包括晶体管m1r、晶体管m1
‑
2br、晶体管m1
‑
3br的3个,但是在电路mc、电路mcr的每一个中,设定电流量的晶体管也可以为2个或4个以上。
[0990]
此外,本发明的一个方式的半导体装置及该半导体装置的工作方法不局限于上述方法。在上述中,说明图58的电路mp的晶体管m1、晶体管m1r、晶体管m1
‑
2b、晶体管m1
‑
2br、晶体管m1
‑
3b、晶体管m1
‑
3br的每一个的尺寸相等,例如,如图51的电路mp那样,也可以使晶体管m1、晶体管m1r、晶体管m1
‑
2b、晶体管m1
‑
2br的w长与l长的比例为w/l,且使晶体管m1
‑
3b、晶体管m1
‑
3br的w长与l长的比例为2w/l。在电路hcs保持电位vddl时,通过以i1的电流在晶体管m1的源极与漏极间作为电流量流过的方式设定,由于晶体管m1
‑
2b的w长与l长的比例及晶体管m1
‑
3b的w长与l长的比例的每一个为晶体管m1的w长与l长的比例的2倍,所以2i1在晶体管m1
‑
2b、晶体管m1
‑
3b的每一个的源极与漏极间作为电流量流过。同样地,在电路hcsr保持电位vddl时,通过以i1的电流在晶体管m1r的源极与漏极间作为电流量流过的方式设定,由于晶体管m1
‑
2br的w长与l长的比例及晶体管m1
‑
3br的w长与l长的比例的每一个为晶体管m1r的w长与l长的比例的2倍,所以2i1在晶体管m1
‑
2br、晶体管m1
‑
3br的每一个的源极与漏极间作为电流量流过。
[0991]
这里,晶体管m3、晶体管m3r成为开启状态或者晶体管m4、晶体管m4r成为开启状态的时间为t
ut
,晶体管m3
‑
2b、晶体管m3
‑
2br成为开启状态或者晶体管m4
‑
2b、晶体管m4
‑
2br成为开启状态的时间为2t
ut
,晶体管m3
‑
3b、晶体管m3
‑
3br成为开启状态或者晶体管m4
‑
3b、晶体管m4
‑
3br成为开启状态的时间为2t
ut
。也就是说,在对电路mp输入第二数据(神经元的信号的值)时,对布线wx1l和布线x2l中的一个的高电平电位的输入时间为t
ut
,对布线x1l2b和布线x2l2b中的一个的高电平电位的输入时间为2t
ut
,对布线x1l3b和布线x2l3b中的一个的高电平电位的输入时间为2t
ut
。在图59的电路mp中,在布线wx1l、布线x2l、布线x1l2b、布线x2l2b、布线x1l3b、布线x2l3b的符号附近,示出与图58不同的脉冲电压的示意图及输入时间。
[0992]
当电路hcs保持电位vddl,以i
ut
的电流在晶体管m1的源极与漏极间作为电流量流过的方式设定时,晶体管m3
‑
3b和晶体管m4
‑
3b中的一个只在时间2t
ut
成为开启状态,晶体管m3
‑
3b和晶体管m4
‑
3b中的另一个成为关闭状态,由此从布线ol或布线olb通过晶体管m1
‑
3b向布线ve流过的电荷量为2t
ut
×
2i
ut
=4q
ut
。注意,由于从布线ol通过晶体管m1向布线ve流过的电荷量及从布线ol通过晶体管m1
‑
2b向布线ve流过的电荷量的条件与上述工作例子相同,所以省略其说明。
[0993]
当电路hcsr保持电位vddl,以i1的电流在晶体管m1r的源极与漏极间作为电流量流过的方式设定时,晶体管m3
‑
3br和晶体管m4
‑
3br中的一个只在时间2t
ut
成为开启状态,晶体管m3
‑
3br或晶体管m4
‑
3br成为关闭状态,由此从布线ol或布线olb通过晶体管m1
‑
3br向布线ver流过的电荷量为2t
ut
×
2i
ut
=4q
ut
。注意,由于从布线olb通过晶体管m1r向布线ver流过的电荷量及从布线olb通过晶体管m1
‑
2br向布线ver流过的电荷量的条件与上述工作例子相同,所以省略其说明。
[0994]
如上所述,通过适当地改变晶体管m1、晶体管m1r、晶体管m1
‑
2b、晶体管m1
‑
2br、晶体管m1
‑
3b、晶体管m1
‑
3br的每一个的尺寸及对布线x1l、布线x2l、布线x1l2b、布线x2l2b、布线x1l3b、布线x2l3b的每一个的高电平电位的输入时间,可以与图58所示的电路mp的工作例子同样地工作。
[0995]
此外,本发明的一个方式的半导体装置不局限于图58、图59的电路mp的结构。例如,在图58的电路mp中,使对应于保持在电路hcs中的电位的电流流过的晶体管为晶体管m1、晶体管m1
‑
2b、晶体管m1
‑
3b的3个,使对应于保持在电路hcsr中的电位的电流流过的晶体管为晶体管m1r、晶体管m1
‑
2br、晶体管m1
‑
3br的3个,在电路mc、mcr的每一个中,设定电流量的晶体管也可以为2个或4个以上。此外,也可以根据该晶体管增减保持部的个数、布线数。
[0996]
本发明的一个方式的半导体装置的工作方法不局限于上述工作方法。例如,如在工作方法例子2中说明那样,在图57的电路mp中,也可以将对布线x1l、布线x2l、布线x1l2b、布线x2l2b、布线x1l3b、布线x2l3b的每一个输入的信号的输入期间分为多个子期间。
[0997]
在本工作方法例子中,为了简化起见,考虑布线ol、布线olb只与一个电路mp电连接的情况,但是如图11的运算电路150那样,布线ol、布线olb也可以与多个电路mp电连接。由此,可以将从布线ol、布线olb的每一个输入到多个电路mp中的电荷量的总和储存在包括在电路actf中的积分电路的电容,电路actf可以输出对应于在布线ol、布线olb中流过的每一个的电荷量的神经元的信号z
j(k)
。
[0998]
注意,在本工作例子中,作为例子示出图11的运算电路150,即使根据情况改变其他运算电路也可以进行与本工作例子相同的工作。
[0999]
注意,本结构例子可以与本说明书所示的其他工作方法例子等适当地组合。
[1000]
<工作方法例子8>
[1001]
这里,对使用图60的电路mp的图11的运算电路150的工作方法进行说明。
[1002]
与工作方法例子1至工作方法例子7同样地,为了简化起见,关于在布线ol、布线olb中流过的电流的变化,只由与布线ol、布线olb电连接的一个电路mp进行。此外,与电路mp电连接的布线ve、布线ver的每一个对电路mp作为恒电压供应vss。此外,包括在电路afp中的电路actf[1]至电路actf[n]的每一个作为一个例子为具有积分电路(或者,电流电荷(iq)转换电路)的结构的电路actf。例如,在图6e的电路actf[j]中,也可以为将负载lea、负载leb用作电容等的结构。注意,例如,示出与一个保持部(例如,电路hcs)连接的晶体管有三个(例如,晶体管m1、晶体管m1
‑
2x、晶体管m1
‑
3x的三个)的情况,但是本发明的一个方式不局限于此。在各保持部也可以配置任意个数的晶体管。同样地,关于晶体管m3、晶体管m3
‑
2x、晶体管m3
‑
3x示出三个(晶体管m3、晶体管m3
‑
2x、晶体管m3
‑
3x或者晶体管m4、晶体管m4
‑
2x、晶体管m4
‑
3x)的情况,但是本发明的一个方式不局限于此,也可以配置任意个数的晶体
管。此外,示出保持部有三个(例如,电路hcs、电路hcs
‑
2b、电路hcs
‑
3b)的情况,但是本发明的一个方式不局限于此,也可以配置任意个数的保持部。
[1003]
在图60的电路mp中,电路mc包括晶体管m1、晶体管m1
‑
2x、晶体管m1
‑
3x、晶体管m1
‑
2b、晶体管m1
‑
2x
‑
2b、晶体管m1
‑
3x
‑
2b、晶体管m1
‑
3b、晶体管m1
‑
2x
‑
3b、晶体管m1
‑
3x
‑
2b、晶体管m3、晶体管m3
‑
2x、晶体管m3
‑
3x、晶体管m4、晶体管m4
‑
2x、晶体管m4
‑
3x、电路hcs、电路hcs
‑
2b、电路hcs
‑
3b。
[1004]
注意,晶体管m1、晶体管m1
‑
2x、晶体管m1
‑
3x的每一个的尺寸,例如,w长与l长优选彼此相等。此外,晶体管m1
‑
2b、晶体管m1
‑
2x
‑
2b、晶体管m1
‑
3x
‑
2b的尺寸优选彼此相等。此外,晶体管m1
‑
3b、晶体管m1
‑
2x
‑
3b、晶体管m1
‑
3x
‑
3b的尺寸优选彼此相等。
[1005]
再者,在晶体管m1、晶体管m1
‑
2x、晶体管m1
‑
3x的每一个的w长与l长的比例为w/l时,优选的是,晶体管m1
‑
2b、晶体管m1
‑
2x
‑
2b、晶体管m1
‑
3x
‑
2b的每一个的w长与l长的比例为2w/l,晶体管m1
‑
3b、晶体管m1
‑
2x
‑
3b、晶体管m1
‑
3x
‑
3b的每一个的w长与l长的比例为4w/l。也就是说,其栅极与保持部(例如,电路hcs、电路hcs
‑
2b、电路hcs
‑
3b等)电连接的晶体管(例如,晶体管m1、晶体管m1
‑
2b、晶体管m1
‑
3b等)的w长与l长的比例w/l根据保持部的个数以2的幂增大即可。
[1006]
与图29的电路mp所包括的电路hcs同样地,电路hcs、电路hcs
‑
2b、电路hcs
‑
3b的每一个具有接收从布线ol和布线olb中的一个或两个输入的信息(电位、电流等)保持对应于该信息的电位的功能。此外,电路hcs具有施加保持在与其电连接的晶体管的栅极中的该电位的功能。作为电路hcs、电路hcs
‑
2b、电路hcs
‑
3b,例如,可以具有包括sram的结构或包括nosram的结构。包括在图60的电路mp中的电路hcs、电路hcs
‑
2b、电路hcs
‑
3b的每一个作为数字值(2值)保持高电平电位(这里,例如vddl)和低电平电位(这里,例如vss)中的一个。
[1007]
注意,晶体管m1
‑
2b、晶体管m1
‑
2x
‑
2b、晶体管m1
‑
3x
‑
2b的每一个的栅极与电路hcs
‑
2b电连接。晶体管m1
‑
3b、晶体管m1
‑
2x
‑
3b、晶体管m1
‑
3x
‑
2b的每一个的栅极与电路hcs
‑
3b电连接。
[1008]
当对晶体管m1、晶体管m1
‑
2x、晶体管m1
‑
3x的每一个的栅极输入保持在电路hcs中的vddl时,在晶体管m1、晶体管m1
‑
2x、晶体管m1
‑
3x的每一个的源极与漏极间流过的电流量为i
ut
。由于晶体管m1
‑
2b、晶体管m1
‑
2x
‑
2b、晶体管m1
‑
3x
‑
2b的每一个的w长与l长的比例为晶体管m1的w长与l长的比例的2倍,所以在对晶体管m1
‑
2b、晶体管m1
‑
2x
‑
2b、晶体管m1
‑
3x
‑
2b的栅极输入保持在电路hcs
‑
2b中的vdd时,在晶体管m1
‑
2b、晶体管m1
‑
2x
‑
2b、晶体管m1
‑
3x
‑
2b的每一个的源极与漏极间流过的电流量为2i
ut
。另外,由于晶体管m1
‑
3b、晶体管m1
‑
2x
‑
3b、晶体管m1
‑
3x
‑
3b的每一个的w长与l长的比例为晶体管m1的w长与l长的比例的4倍,所以在对晶体管m1
‑
3b、晶体管m1
‑
2x
‑
3b、晶体管m1
‑
3x
‑
3b的栅极输入保持在电路hcs
‑
3b中的vdd时,在晶体管m1
‑
3b、晶体管m1
‑
2x
‑
3b、晶体管m1
‑
3x
‑
3b的每一个的源极与漏极间流过的电流量为4i
ut
。
[1009]
晶体管m1、晶体管m1
‑
2x、晶体管m1
‑
3x、晶体管m1
‑
2b、晶体管m1
‑
2x
‑
2b、晶体管m1
‑
3x
‑
2b、晶体管m1
‑
3b、晶体管m1
‑
2x
‑
3b、晶体管m1
‑
3x
‑
2b的每一个的第一端子与布线ve电连接。晶体管m1、晶体管m1
‑
2x、晶体管m1
‑
3x的每一个的栅极与电路hcs电连接。
[1010]
晶体管m1、晶体管m1
‑
2b、晶体管m1
‑
3b的每一个的第二端子与晶体管m3的第一端子、晶体管m4的第一端子电连接。晶体管m1
‑
2x、晶体管m1
‑
2x
‑
2b、晶体管m1
‑
2x
‑
3b的每一个
的第二端子与晶体管m3
‑
2x的第一端子、晶体管m4
‑
2x的第一端子电连接。晶体管m1
‑
3x、晶体管m1
‑
3x
‑
2b、晶体管m1
‑
3x
‑
3b的每一个的第二端子与晶体管m3
‑
3x的第一端子、晶体管m4
‑
3x的第一端子电连接。
[1011]
晶体管m3的栅极与布线x1l电连接,晶体管m4的栅极与布线x2l电连接。晶体管m3
‑
2x的栅极与布线x1l2x电连接,晶体管m4
‑
2x的栅极与布线x2l2x电连接。晶体管m3
‑
3x的栅极与布线x1l3x电连接,晶体管m4
‑
3x的栅极与布线x2l3x电连接。
[1012]
晶体管m3、晶体管m3
‑
2x、晶体管m3
‑
3x的每一个的第二端子与布线ol电连接,晶体管m4、晶体管m4
‑
2x、晶体管m4
‑
3x的每一个的第二端子与布线olb电连接。
[1013]
注意,在图60的电路mp中,电路mcr具有与电路mc大致相同的电路结构。因此,为了与电路mc所包括的电路元件等区分,对电路mcr所包括的电路元件等的符号附上“r”。此外,晶体管m3r、晶体管m3
‑
2xr、晶体管m3
‑
3xr的每一个的第二端子与布线olb电连接,晶体管m4、晶体管m4
‑
2x、晶体管m4
‑
3x的每一个的第二端子与布线ol电连接。
[1014]
对设定在图60的电路mp中的第一数据(这里,例如是权系数)进行说明。设定在图60的电路mp中的第一数据(权系数)可以根据保持在电路hcs、hcs
‑
2b、电路hcs
‑
3b、电路hcsr、电路hcs
‑
2br、电路hcs
‑
3br的每一个中的电位的组合定义。具体而言,如在工作方法例子6中说明的图57的电路mp,在电路hcs、电路hcs
‑
2b、电路hcs
‑
3b、电路hcsr、电路hcs
‑
2br、电路hcs
‑
3br的每一个中保持规定电位,设定第一数据(权系数)即可。由此,图60的电路mp中的第一数据(权系数)作为一个例子可以与在工作方法例子6中说明的图57的电路mp中的第一数据(权系数)的定义同样。
[1015]
接着,对输入到电路mp的第二数据(这里,例如是神经元的信号的值)进行说明。作为前提,当对电路mp输入第二数据(神经元的信号的值)的情况下,在对布线x1l和布线x2l中的一个的高电平电位的输入时间为t
ut
时,对布线x1l2x和布线x2l2x中的一个的高电平电位的输入时间为2t
ut
,对布线x1l3x和布线x2l3x中的一个的高电平电位的输入时间为4t
ut
而进行工作。也就是说,在晶体管m3、晶体管m3r成为开启状态或者晶体管m4、晶体管m4r成为开启状态的时间为t
ut
时,以晶体管m3
‑
2x、晶体管m3
‑
2xr成为开启状态或者晶体管m4
‑
2b、晶体管m4
‑
2br成为开启状态的时间为2t
ut
,晶体管m3
‑
3x、晶体管m3
‑
3xr成为开启状态或者晶体管m4
‑
3x、晶体管m4
‑
3xr成为开启状态的时间为4t
ut
的方式进行工作。
[1016]
如在工作方法例子1、工作方法例子2中说明,通过在电路mp中设定第一数据(例如,这里是权系数),且设定晶体管m3或晶体管m4成为开启状态的时间,决定从布线ol或布线olb通过晶体管m1、m1
‑
2b、晶体管m1
‑
3b向布线ve流过的电荷量。此外,通过在电路mp中设定第一数据(权系数),决定晶体管m3r或晶体管m4r成为开启状态的时间,决定从布线ol或布线olb通过晶体管m1r、晶体管m1
‑
2br、晶体管m1
‑
3br向布线ver流过的电荷量。
[1017]
同样地,关于从布线ol或布线olb通过晶体管m1
‑
2x、m1
‑
2x
‑
2b、m1
‑
2x
‑
3b向布线ve流过的电荷量及从布线ol或布线olb通过晶体管m1
‑
2xr、晶体管m1
‑
2x
‑
2br、晶体管m1
‑
2x
‑
3br向布线ver流过的电荷量,通过在晶体管m3
‑
2b、晶体管m3
‑
2br、晶体管m4
‑
2b、晶体管m4
‑
2br的每一个中设定成为开启状态的时间来决定。此外,关于从布线ol或布线olb通过晶体管m1
‑
3x、晶体管m1
‑
3x
‑
2b、晶体管m1
‑
3x
‑
3b向布线ve流过的电荷量及从布线ol或布线olb通过晶体管m1
‑
3xr、晶体管m1
‑
3x
‑
2br、晶体管m1
‑
3x
‑
3br向布线ver流过的电荷量,在晶体管m3
‑
3b、晶体管m3
‑
3br、晶体管m4
‑
3b、晶体管m4
‑
3br的每一个中设定成为开启状态的时间
来决定。
[1018]
因此,在图60的电路mp中的第二数据(神经元的信号的值)的定义作为一个例子可以与在工作方法例子3中说明的图50的电路mp中的第二数据(神经元的信号的值)相同。
[1019]
如上所述,通过设定第一数据(权系数)及第二数据(神经元的信号的值),可以由电流从布线ol向电路mc或电路mcr流过的电荷量及电流从布线olb向电路mc或电路mcr流过的电荷量表现第一数据(权系数)与第二数据(神经元的信号的值)之积。
[1020]
接着,说明图60的电路mp的具体工作例子。
[1021]
在电路mp中例如预先设定“ 7”的第一数据(权系数)。此时,在晶体管m1、晶体管m1
‑
2x、晶体管m1
‑
3x的源极与漏极间电流i
ut
流过,在晶体管m1
‑
2b、晶体管m1
‑
2x
‑
2b、晶体管m1
‑
3x
‑
2b的源极与漏极间电流2i
ut
流过,在晶体管m1
‑
3b、晶体管m1
‑
2x
‑
3b、晶体管m1
‑
3x
‑
3b的源极与漏极间电流4i
ut
流过。另一方面,在晶体管m1r、晶体管m1
‑
2xr、晶体管m1
‑
3xr、晶体管m1
‑
2br、晶体管m1
‑
2x
‑
2br、晶体管m1
‑
3x
‑
2br、晶体管m1
‑
3br、晶体管m1
‑
2x
‑
3br、晶体管m1
‑
3x
‑
3br的每一个的源极与漏极间流过的电流量成为0。
[1022]
当在电路mp中作为第二数据(神经元的信号的值)输入“ 7”时,通过晶体管m3只在时间t
ut
成为开启状态,且晶体管m4成为关闭状态,从布线ol通过晶体管m1、晶体管m1
‑
2b、晶体管m1
‑
3b的每一个向布线ve流过的电荷量为t
ut
×
i
ut
t
ut
×
2i
ut
t
ut
×
4i
ut
=7t
ut
×
i
ut
。注意,这里,t
ut
×
i
ut
=q
ut
。此外,通过晶体管m3
‑
2x只在时间2t
ut
成为开启状态,且晶体管m4
‑
2x成为关闭状态,从布线ol通过晶体管m1
‑
2x、晶体管m1
‑
2x
‑
2b、晶体管m1
‑
2x
‑
3b的每一个向布线ve流过的电荷量为2t
ut
×
i
ut
2t
ut
×
2i
ut
2t
ut
×
4i
ut
=14t
ut
×
i
ut
。此外,通过晶体管m3
‑
3x只在时间4t
ut
成为开启状态,且晶体管m4
‑
3x成为关闭状态,从布线ol通过晶体管m1
‑
3x、晶体管m1
‑
3x
‑
2b、晶体管m1
‑
3x
‑
3b的每一个向布线ve流过的电荷量为4t
ut
×
i
ut
4t
ut
×
2i
ut
4t
ut
×
4i
ut
=28t
ut
×
i
ut
。因此,从布线ol通过电路mc向布线ve流过的电荷量为7q
ut
14q
ut
28q
ut
=49q
ut
。另一方面,从布线olb通过电路mcr向布线ver流过的电荷量由于晶体管m1r、晶体管m1
‑
2xr、晶体管m1
‑
3xr、晶体管m1
‑
2br、晶体管m1
‑
2x
‑
2br、晶体管m1
‑
3x
‑
2br、晶体管m1
‑
3br、晶体管m1
‑
2x
‑
3br、晶体管m1
‑
3x
‑
3br的每一个处于关闭状态,所以为0。
[1023]
注意,当在电路mp中作为第二数据(神经元的信号的值)输入
“‑
7”时,在布线olb与电路mc之间、在布线ol与电路mcr之间都成为导通状态,在布线ol与电路mcr之间、在布线ol与电路mc之间都成为非导通状态,因此从布线olb通过电路mc向布线ve流过的电荷量为7q
ut
14q
ut
28q
ut
=49q
ut
,从布线ol通过电路mcr向布线ver流过的电荷量为0。
[1024]
在电路mp中例如预先设定
“‑
7”的第一数据(权系数)。此时,在晶体管m1r、晶体管m1
‑
2xr、晶体管m1
‑
3xr的源极与漏极间电流i
ut
流过,在晶体管m1
‑
2br、晶体管m1
‑
2x
‑
2br、晶体管m1
‑
3x
‑
2br的源极与漏极间电流2i
ut
流过,在晶体管m1
‑
3br、晶体管m1
‑
2x
‑
3br、晶体管m1
‑
3x
‑
3br的源极与漏极间电流4i
ut
流过。另一方面,在晶体管m1、晶体管m1
‑
2x、晶体管m1
‑
3x、晶体管m1
‑
2b、晶体管m1
‑
2x
‑
2b、晶体管m1
‑
3x
‑
2b、晶体管m1
‑
3b、晶体管m1
‑
2x
‑
3b、晶体管m1
‑
3x
‑
3b的每一个的源极与漏极间流过的电流量成为0。
[1025]
当在电路mp中作为第二数据(神经元的信号的值)输入“ 7”时,通过晶体管m3r只在时间t
ut
成为开启状态,且晶体管m4r成为关闭状态,从布线olb通过晶体管m1r、晶体管m1
‑
2br、晶体管m1
‑
3br的每一个向布线ver流过的电荷量为t
ut
×
i
ut
t
ut
×
2i
ut
t
ut
×
4i
ut
=7t
ut
×
i
ut
。注意,这里,t
ut
×
i
ut
=q
ut
。此外,通过晶体管m3
‑
2xr只在时间2t
ut
成为开启状态,且晶
体管m4
‑
2xr成为关闭状态,从布线ol通过晶体管m1
‑
2xr、晶体管m1
‑
2x
‑
2br、晶体管m1
‑
2x
‑
3br的每一个向布线ver流过的电荷量为2t
ut
×
i
ut
2t
ut
×
2i
ut
2t
ut
×
4i
ut
=14t
ut
×
i
ut
。此外,通过晶体管m3
‑
3xr只在时间4t
ut
成为开启状态,且晶体管m4
‑
3xr成为关闭状态,从布线olb通过晶体管m1
‑
3xr、晶体管m1
‑
3x
‑
2br、晶体管m1
‑
3x
‑
3br的每一个向布线ver流过的电荷量为4t
ut
×
i
ut
4t
ut
×
2i
ut
4t
ut
×
4i
ut
=28t
ut
×
i
ut
。因此,从布线olb通过电路mcr向布线ver流过的电荷量为7q
ut
14q
ut
28q
ut
=49q
ut
。另一方面,从布线ol通过电路mc向布线ve流过的电荷量由于晶体管m1、晶体管m1
‑
2x、晶体管m1
‑
3x、晶体管m1
‑
2b、晶体管m1
‑
2x
‑
2b、晶体管m1
‑
3x
‑
2b、晶体管m1
‑
3b、晶体管m1
‑
2x
‑
3b、晶体管m1
‑
3x
‑
3b的每一个成为关闭状态,所以成为0。
[1026]
注意,当在电路mp中作为第二数据(神经元的信号的值)输入
“‑
7”时,在布线olb与电路mc之间、在布线ol与电路mcr之间都成为导通状态,在布线ol与电路mcr之间、在布线ol与电路mc之间都成为非导通状态,因此从布线olb通过电路mc向布线ve流过的电荷量为7q
ut
14q
ut
28q
ut
=49q
ut
,从布线ol通过电路mcr向布线ver流过的电荷量为0。
[1027]
如上所述,通过在电路mp中作为正的第一数据(权系数)设定“ 1”至“ 7”的7值中的任一个,根据正的第二数据(神经元的信号的值),从包括在电路mp中的晶体管m3、晶体管m3
‑
2x、晶体管m3
‑
3x中选择一个以上的成为开启状态的晶体管,可以将从布线ol通过电路mc向布线ve流过的电荷量设定为每隔q
ut“q
ut”至“49q
ut”中的任一个。注意,此时,从布线olb通过电路mcr向布线ver流过的电荷量为0。此外,在电路mp中作为正的第一数据(权系数)设定
“‑
7”至
“‑
1”的7值中的任一个,根据正的第二数据(神经元的信号的值),从包括在电路mp中的晶体管m3r、晶体管m3
‑
2xr、晶体管m3
‑
3xr选择一个以上的成为开启状态的晶体管,可以将从布线olb通过电路mcr向布线ver流过的电荷量设定为每隔q
ut“q
ut”至“49q
ut”中的任一个。注意,此时,从布线ol通过电路mc向布线ve流过的电荷量为0。
[1028]
通过在电路mp中作为正的第一数据(权系数)设定“ 1”至“ 7”的7值中的任一个,根据负的第二数据(神经元的信号的值),从包括在电路mp中的晶体管m4、晶体管m4
‑
2x、晶体管m4
‑
3x中选择一个以上的成为开启状态的晶体管,可以将从布线olb通过电路mc向布线ve流过的电荷量设定为每隔q
ut“q
ut”至“49q
ut”中的任一个。注意,此时,从布线ol通过电路mcr向布线ver流过的电荷量为0。此外,在电路mp中作为正的第一数据(权系数)设定
“‑
7”至
“‑
1”的7值中的任一个,根据负的第二数据(神经元的信号的值)从包括在电路mp中的晶体管m4r、晶体管m4
‑
2xr、晶体管m4
‑
3xr选择一个以上的成为开启状态的晶体管,可以将从布线ol通过电路mcr向布线ver流过的电荷量设定为每隔q
ut“q
ut”至“49q
ut”中的任一个。注意,此时,从布线olb通过电路mc向布线ve流过的电荷量为0。
[1029]
注意,当在电路mp中预先设定“0”的第一数据(权系数)时,晶体管m1、晶体管m1
‑
2x、晶体管m1
‑
3x、晶体管m1
‑
2b、晶体管m1
‑
2x
‑
2b、晶体管m1
‑
3x
‑
2b、晶体管m1
‑
3b、晶体管m1
‑
2x
‑
3b、晶体管m1
‑
3x
‑
3b、晶体管m1r、晶体管m1
‑
2xr、晶体管m1
‑
3xr、晶体管m1
‑
2br、晶体管m1
‑
2x
‑
2br、晶体管m1
‑
3x
‑
2br、晶体管m1
‑
3br、晶体管m1
‑
2x
‑
3br、晶体管m1
‑
3x
‑
3br的每一个处于关闭状态。因此,电流不从布线ol或布线olb通过电路mc向布线ve流过,电流不从布线ol或布线olb通过电路mcr向布线ver流过。换言之,可以说在布线ol、布线olb的每一个中流过的电荷量为0。
[1030]
此外,在对电路mp输入“0”的第二数据(神经元的信号的值)时,晶体管m3、晶体管
m3
‑
2x、晶体管m3
‑
3x、晶体管m4、晶体管m4
‑
2x、晶体管m4
‑
3x、晶体管m3r、晶体管m3
‑
2xr、晶体管m3
‑
3xr、晶体管m4r、晶体管m4
‑
2xr、晶体管m4
‑
3xr的每一个成为关闭状态。因此,电流不从布线ol或布线olb通过电路mc向布线ve流过,电流不从布线ol或布线olb通过电路mcr向布线ver流过。换言之,可以说在布线ol、布线olb的每一个中流过的电荷量为0。
[1031]
这里,着眼于电路actf的积分电路。当电流从布线ol或布线olb通过电路mc向布线ve流过时或者电流从布线ol或布线olb通过电路mcr向布线ver流过时,在图8a中,使开关swo、开关swob处于开启状态,使开关swi、开关swib、开关swl、开关swlb、开关swh、开关swhb处于关闭状态,使在布线ol及olb与电路afp之间处于导通状态,由此可以在包括在电路actf中的积分电路的电容中储存在布线ol、布线olb中流过的电荷量。因此,电路actf可以输出对应于在布线ol中流过的电荷量q
ol
及在布线olb中流过的电荷量q
olb
的神经元的信号z
j(k)
。
[1032]
通过上述工作例子,下表示出将第一数据(权系数)设定为“0”以外的
“‑
7”至“ 7”中的任一个,且将第二数据(神经元的信号的值)设定为“0”以外的
“‑
7”至“ 7”中的任一个时的在布线ol中流过的电荷量q
ol
及在布线olb中流过的电荷量q
olb
。注意,在第一数据(权系数)和第二数据(神经元的信号的值)中的至少一个为“0”时,q
ol
=0、q
olb
=0。
[1033]
[表16]
[1034][1035]
[表17]
[1036][1037]
[表18]
[1038]
[1039][1040]
[表19]
[1041]
[1042][1043]
如上所述,通过设定第一数据(权系数)及第二数据(神经元的信号的值),根据第一数据(权系数)与第二数据(神经元的信号的值)之积的结果,决定电流从布线ol向电路mc或电路mcr的电荷量q
ol
及电流从布线olb向电路mc或电路mcr的电荷量q
olb
。此外,在第一数据(权系数)与第二数据(神经元的信号的值)之积的结果为正值时,电流从布线ol向电路mc或电路mcr流过,在第一数据(权系数)与第二数据(神经元的信号的值)之积的结果为负值时,电流从布线olb向电路mc或电路mcr流过。也就是说,可以从电荷量q
ol
及电荷量q
olb
算出第一数据(权系数)与第二数据(神经元的信号的值)之积。例如,在第一数据(权系数)为
“‑
7”至“ 7”中的任一个,第二数据(神经元的信号的值)为
“‑
7”至“ 7”中的任一个,且第一数据(权系数)与第二数据(神经元的信号的值)之积为正数时,在上述表中,在电流从布线ol向电路mc或电路mcr流过的电荷量q
ol
中,通过将q
ut
换成“ 1”,可以从电荷量q
ol
算出第一数
据(权系数)与第二数据(神经元的信号的值)之积。另外,例如,在第一数据(权系数)为
“‑
7”至“ 7”中的任一个,第二数据(神经元的信号的值)为
“‑
7”至“ 7”中的任一个,且第一数据(权系数)与第二数据(神经元的信号的值)之积为负数时,在上述表中,在电流从布线ol向电路mc或电路mcr流过的电荷量q
olb
中,通过将q
ut
换成
“‑
1”,可以从电荷量q
olb
算出第一数据(权系数)与第二数据(神经元的信号的值)之积。
[1044]
本发明的一个方式不局限于上述定义。在上述中,作为第二数据(神经元的信号的值),定义正的多值、负的多值、0,但是例如输入期间是连续值而不是离散值(a为正实数,输入期间为a
×
t
ut
),可以处理第二数据(神经元的信号的值)作为模拟值。
[1045]
本发明的一个方式的半导体装置不局限于图60的电路mp的结构。例如,在图60的电路mp中,保持电位的电路为电路hcs、电路hcs
‑
2b、电路hcs
‑
3b、电路hcsr、电路hcs
‑
2br、电路hcs
‑
3br的六个,每一个的电路与其栅极电连接的晶体管(晶体管m1、晶体管m1
‑
2x、晶体管m1
‑
3x)的个数有三个,也可以根据第一数据(权系数)及第二数据(神经元的信号的值)的有可能取得的值增减保持电位的电路及该晶体管的个数。此外,也可以根据该晶体管增减保持部的个数、布线数。
[1046]
本发明的一个方式的半导体装置的工作方法不局限于上述工作方法。例如,如在工作方法例子2中说明那样,在图60的电路mp中,也可以将对布线x1l、布线x2l、布线x1l2b、布线x2l2b、布线x1l3b、布线x2l3b的每一个输入的信号的输入期间分为多个子期间。
[1047]
在本工作方法例子中,为了简化起见,考虑布线ol、布线olb只与一个电路mp电连接的情况,但是如图11的运算电路150那样,布线ol、布线olb也可以与多个电路mp电连接。由此,可以将从布线ol、布线olb的每一个输入到多个电路mp中的电荷量的总和储存在包括在电路actf中的积分电路的电容,电路actf可以输出对应于在布线ol、布线olb中流过的每一个的电荷量的神经元的信号z
j(k)
。
[1048]
注意,在本工作例子中,作为例子示出图11的运算电路150,即使根据情况改变其他运算电路也可以进行与本工作例子相同的工作。
[1049]
注意,本结构例子可以与本说明书所示的其他工作方法例子等适当地组合。
[1050]
注意,本实施方式可以与本说明书所示的其他实施方式适当地组合。
[1051]
(实施方式4)
[1052]
在本实施方式中,对在上述实施方式中说明的半导体装置的结构例子及能够应用于该半导体装置的晶体管的结构例子进行说明。
[1053]
<半导体装置的结构例子>
[1054]
图61所示的半导体装置包括晶体管300、晶体管500及电容器600。图63a是晶体管500的沟道长度方向上的截面图,图63b是晶体管500的沟道宽度方向上的截面图,图63c是晶体管300的沟道宽度方向上的截面图。
[1055]
晶体管500是在沟道形成区域中包含金属氧化物的晶体管(os晶体管)。由于晶体管500的关态电流小,所以通过将该os晶体管用于半导体装置例如包括在运算电路110、运算电路120、运算电路130、运算电路140、运算电路150、运算电路160、运算电路170等中的电路mp的晶体管m2等,可以长期间保持写入内容。换言之,刷新工作的频率低或者不需要刷新工作,所以可以降低半导体装置的功耗。
[1056]
在本实施方式中说明的半导体装置如图61所示包括晶体管300、晶体管500、电容
器600。晶体管500设置在晶体管300的上方,电容器600设置在晶体管300及晶体管500的上方。注意,电容器600可以为包括在上述实施方式所说明的运算电路110、运算电路120、运算电路130、运算电路140、运算电路150、运算电路160、运算电路170等中的电路mp中的电容c1、电容c2、电容c3等。
[1057]
晶体管300设置在衬底311上,并包括:由导电体316、绝缘体315、衬底311的一部分构成的半导体区域313;以及被用作源区域和漏区域的低电阻区域314a及低电阻区域314b。注意,晶体管300例如可以用于包括在上述实施方式所说明的运算电路110、运算电路120、运算电路130、运算电路140、运算电路150、运算电路160、运算电路170等中的电路mp的晶体管m2等。
[1058]
作为衬底311,优选使用半导体衬底(例如单晶衬底或硅衬底)。
[1059]
如图63c所示,在晶体管300中,导电体316隔着绝缘体315覆盖半导体区域313的顶面及沟道宽度方向的侧面。如此,通过使晶体管300具有fin型结构,实效上的沟道宽度增加,所以可以改善晶体管300的通态特性。此外,由于可以增加栅电极的电场的影响,所以可以改善晶体管300的关闭特性。
[1060]
另外,晶体管300可以为p沟道型晶体管或n沟道型晶体管。
[1061]
半导体区域313的沟道形成区域、其附近的区域、被用作源区域或漏区域的低电阻区域314a及低电阻区域314b等优选包含硅类半导体等半导体,更优选包含单晶硅。此外,也可以使用包含ge(锗)、sige(硅锗)、gaas(砷化镓)、gaalas(镓铝砷)等的材料形成。可以使用对晶格施加应力,改变晶面间距而控制有效质量的硅。此外,晶体管300也可以是使用gaas和gaalas等的hemt(high electron mobility transistor:高电子迁移率晶体管)。
[1062]
在低电阻区域314a及低电阻区域314b中,除了应用于半导体区域313的半导体材料之外,还包含砷、磷等赋予n型导电性的元素或硼等赋予p型导电性的元素。
[1063]
作为被用作栅电极的导电体316,可以使用包含砷、磷等赋予n型导电性的元素或硼等赋予p型导电性的元素的硅等半导体材料、金属材料、合金材料或金属氧化物材料等导电材料。
[1064]
此外,由于导电体的材料决定功函数,所以通过选择该导电体的材料,可以调整晶体管的阈值电压。具体而言,作为导电体优选使用氮化钛或氮化钽等材料。为了兼具导电性和埋入性,作为导电体优选使用钨或铝等金属材料的叠层,尤其在耐热性方面上优选使用钨。
[1065]
注意,图61所示的晶体管300的结构只是一个例子,不局限于上述结构,根据电路结构或驱动方法使用适当的晶体管即可。例如,当在半导体装置中使用只有os晶体管的单极性电路时,如图62所示,作为晶体管300的结构采用与使用氧化物半导体的晶体管500相同的结构即可。在后面说明晶体管500的结构。
[1066]
以覆盖晶体管300的方式依次层叠有绝缘体320、绝缘体322、绝缘体324及绝缘体326。
[1067]
作为绝缘体320、绝缘体322、绝缘体324及绝缘体326,例如可以使用氧化硅、氧氮化硅、氮氧化硅、氮化硅、氧化铝、氧氮化铝、氮氧化铝及氮化铝等。
[1068]
注意,在本说明书中,“氧氮化硅”是指在其组成中氧含量多于氮含量的材料,而“氮氧化硅”是指在其组成中氮含量多于氧含量的材料。注意,在本说明书中,“氧氮化铝”是
指氧含量多于氮含量的材料,“氮氧化铝”是指氮含量多于氧含量的材料。
[1069]
绝缘体322也可以被用作使因设置在其下方的晶体管300等而产生的台阶平坦化的平坦化膜。例如,为了提高绝缘体322的顶面的平坦性,其顶面也可以通过利用化学机械抛光(cmp)法等的平坦化处理被平坦化。
[1070]
作为绝缘体324,优选使用能够防止氢或杂质从衬底311或晶体管300等扩散到设置有晶体管500的区域中的具有阻挡性的膜。
[1071]
作为对氢具有阻挡性的膜的一个例子,例如可以使用通过cvd法形成的氮化硅。在此,有时氢扩散到晶体管500等具有氧化物半导体的半导体元件中,导致该半导体元件的特性下降。因此,优选在晶体管500与晶体管300之间设置抑制氢的扩散的膜。具体而言,抑制氢的扩散的膜是指氢的脱离量少的膜。
[1072]
氢的脱离量例如可以利用热脱附谱分析法(tds)等测量。例如,在tds分析中的膜表面温度为50℃至500℃的范围内,当将换算为氢原子的脱离量换算为绝缘体324的每单位面积的量时,绝缘体324中的氢的脱离量为10
×
10
15
atoms/cm2以下,优选为5
×
10
15
atoms/cm2以下,即可。
[1073]
注意,绝缘体326的介电常数优选比绝缘体324低。例如,绝缘体326的相对介电常数优选低于4,更优选低于3。例如,绝缘体326的相对介电常数优选为绝缘体324的相对介电常数的0.7倍以下,更优选为0.6倍以下。通过将介电常数低的材料用于层间膜,可以减少产生在布线之间的寄生电容。
[1074]
此外,在绝缘体320、绝缘体322、绝缘体324及绝缘体326中埋入与电容器600或晶体管500连接的导电体328、导电体330等。此外,导电体328及导电体330具有插头或布线的功能。注意,有时使用同一附图标记表示具有插头或布线的功能的多个导电体。此外,在本说明书等中,布线、与布线连接的插头也可以是一个构成要素。就是说,导电体的一部分有时被用作布线,并且导电体的一部分有时被用作插头。
[1075]
作为各插头及布线(导电体328及导电体330等)的材料,可以使用金属材料、合金材料、金属氮化物材料或金属氧化物材料等导电材料的单层或叠层。优选使用兼具耐热性和导电性的钨或钼等高熔点材料,尤其优选使用钨。或者,优选使用铝或铜等低电阻导电材料。通过使用低电阻导电材料可以降低布线电阻。
[1076]
也可以在绝缘体326及导电体330上形成布线层。例如,在图61中,依次层叠有绝缘体350、绝缘体352及绝缘体354。此外,在绝缘体350、绝缘体352及绝缘体354中形成有导电体356。导电体356具有与晶体管300连接的插头或布线的功能。此外,导电体356可以使用与导电体328及导电体330同样的材料形成。
[1077]
此外,与绝缘体324同样,绝缘体350例如优选使用对氢具有阻挡性的绝缘体。此外,导电体356优选包含对氢具有阻挡性的导电体。尤其是,在对氢具有阻挡性的绝缘体350所具有的开口中形成对氢具有阻挡性的导电体。通过采用该结构,可以使用阻挡层将晶体管300与晶体管500分离,从而可以抑制氢从晶体管300扩散到晶体管500中。
[1078]
注意,作为对氢具有阻挡性的导电体,例如优选使用氮化钽等。此外,通过层叠氮化钽和导电性高的钨,不但可以保持作为布线的导电性而且可以抑制氢从晶体管300扩散。此时,对氢具有阻挡性的氮化钽层优选与对氢具有阻挡性的绝缘体350接触。
[1079]
此外,也可以在绝缘体354及导电体356上形成布线层。例如,在图61中,依次层叠
有绝缘体360、绝缘体362及绝缘体364。此外,在绝缘体360、绝缘体362及绝缘体364中形成有导电体366。导电体366具有插头或布线的功能。此外,导电体366可以使用与导电体328及导电体330同样的材料形成。
[1080]
此外,与绝缘体324同样,绝缘体360例如优选使用对氢具有阻挡性的绝缘体。此外,导电体366优选包含对氢具有阻挡性的导电体。尤其是,在对氢具有阻挡性的绝缘体360所具有的开口中形成对氢具有阻挡性的导电体。通过采用该结构,可以使用阻挡层将晶体管300与晶体管500分离,从而可以抑制氢从晶体管300扩散到晶体管500中。
[1081]
此外,也可以在绝缘体364及导电体366上形成布线层。例如,在图61中,依次层叠有绝缘体370、绝缘体372及绝缘体374。此外,在绝缘体370、绝缘体372及绝缘体374中形成有导电体376。导电体376具有插头或布线的功能。此外,导电体376可以使用与导电体328及导电体330同样的材料形成。
[1082]
此外,与绝缘体324同样,绝缘体370例如优选使用对氢具有阻挡性的绝缘体。此外,导电体376优选包含对氢具有阻挡性的导电体。尤其是,在对氢具有阻挡性的绝缘体370所具有的开口中形成对氢具有阻挡性的导电体。通过采用该结构,可以使用阻挡层将晶体管300与晶体管500分离,从而可以抑制氢从晶体管300扩散到晶体管500中。
[1083]
此外,也可以在绝缘体374及导电体376上形成布线层。例如,在图61中,依次层叠有绝缘体380、绝缘体382及绝缘体384。此外,在绝缘体380、绝缘体382及绝缘体384中形成有导电体386。导电体386具有插头或布线的功能。此外,导电体386可以使用与导电体328及导电体330同样的材料形成。
[1084]
此外,与绝缘体324同样,绝缘体380例如优选使用对氢具有阻挡性的绝缘体。此外,导电体386优选包含对氢具有阻挡性的导电体。尤其是,在对氢具有阻挡性的绝缘体380所具有的开口中形成对氢具有阻挡性的导电体。通过采用该结构,可以使用阻挡层将晶体管300与晶体管500分离,从而可以抑制氢从晶体管300扩散到晶体管500中。
[1085]
在上面说明包括导电体356的布线层、包括导电体366的布线层、包括导电体376的布线层及包括导电体386的布线层,但是本实施方式的半导体装置不局限于此。与包括导电体356的布线层同样的布线层可以为三层以下,与包括导电体356的布线层同样的布线层可以为五层以上。
[1086]
在绝缘体384上依次层叠有绝缘体510、绝缘体512、绝缘体514及绝缘体516。作为绝缘体510、绝缘体512、绝缘体514及绝缘体516中的一个,优选使用对氧或氢具有阻挡性的物质。
[1087]
例如,作为绝缘体510及绝缘体514,优选使用能够防止氢或杂质从衬底311或设置有晶体管300的区域等扩散到设置有晶体管500的区域中的具有阻挡性的膜。因此,绝缘体510及绝缘体514可以使用与绝缘体324同样的材料。
[1088]
作为对氢具有阻挡性的膜的一个例子,可以使用通过cvd法形成的氮化硅。在此,有时氢扩散到晶体管500等具有氧化物半导体的半导体元件中,导致该半导体元件的特性下降。因此,优选在晶体管300与晶体管500之间设置抑制氢的扩散的膜。具体而言,抑制氢的扩散的膜是指氢的脱离量少的膜。
[1089]
例如,作为对氢具有阻挡性的膜,绝缘体510及绝缘体514优选使用氧化铝、氧化铪、氧化钽等金属氧化物。
[1090]
尤其是,氧化铝的不使氧及导致晶体管的电特性变动的氢、水分等杂质透过的阻挡效果高。因此,在晶体管的制造工序中及制造工序之后,氧化铝可以防止氢、水分等杂质进入晶体管500中。此外,氧化铝可以抑制氧从构成晶体管500的氧化物释放。因此,氧化铝适合用作晶体管500的保护膜。
[1091]
例如,作为绝缘体512及绝缘体516,可以使用与绝缘体320同样的材料。此外,通过作为上述绝缘体使用介电常数较低的材料,可以减少产生在布线之间的寄生电容。例如,作为绝缘体512及绝缘体516,可以使用氧化硅膜和氧氮化硅膜等。
[1092]
此外,在绝缘体510、绝缘体512、绝缘体514及绝缘体516中例如埋入有导电体518、构成晶体管500的导电体(例如,导电体503)等。此外,导电体518被用作与电容器600或晶体管300连接的插头或布线。导电体518可以使用与导电体328及导电体330同样的材料形成。
[1093]
尤其是,与绝缘体510及绝缘体514接触的区域的导电体518优选为对氧、氢及水具有阻挡性的导电体。通过采用该结构,可以利用对氧、氢及水具有阻挡性的层将晶体管300与晶体管500分离,从而可以抑制氢从晶体管300扩散到晶体管500中。
[1094]
在绝缘体516的上方设置有晶体管500。
[1095]
如图63a和图63b所示,晶体管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。
[1096]
另外,如图63a和图63b所示,优选在氧化物530a、氧化物530b、导电体542a及导电体542b与绝缘体580之间配置有绝缘体544。此外,如图63a和图63b所示,导电体560优选包括设置在绝缘体550的内侧的导电体560a及嵌入在导电体560a的内侧的导电体560b。此外,如图63a和图63b所示,优选在绝缘体580、导电体560及绝缘体550上配置有绝缘体574。
[1097]
注意,下面有时将氧化物530a、氧化物530b及氧化物530c总称为氧化物530。
[1098]
在晶体管500中,在形成沟道的区域及其附近层叠有氧化物530a、氧化物530b及氧化物530c的三层,但是本发明的一个方式不局限于此。例如,可以设置氧化物530b的单层、氧化物530b与氧化物530a的两层结构、氧化物530b与氧化物530c的两层结构或者四层以上的叠层结构。另外,在晶体管500中,导电体560具有两层结构,但是本发明的一个方式不局限于此。例如,导电体560也可以具有单层结构或三层以上的叠层结构。注意,图61、图63a所示的晶体管500的结构只是一个例子而不局限于上述结构,可以根据电路结构或驱动方法使用适当的晶体管。
[1099]
在此,导电体560被用作晶体管的栅电极,导电体542a及导电体542b被用作源电极或漏电极。如上所述,导电体560填埋于绝缘体580的开口中及夹在导电体542a与导电体542b之间的区域。导电体560、导电体542a及导电体542b相对于绝缘体580的开口的配置是自对准地被选择。换言之,在晶体管500中,可以在源电极与漏电极之间自对准地配置栅电极。由此,可以在不设置用于对准的余地的方式形成导电体560,所以可以实现晶体管500的占有面积的缩小。由此,可以实现半导体装置的微型化及高集成化。
[1100]
再者,导电体560自对准地形成在导电体542a与导电体542b之间的区域,所以导电体560不包括与导电体542a及导电体542b重叠的区域。由此,可以降低形成在导电体560与导电体542a及导电体542b之间的寄生电容。因此,可以提高晶体管500的开关速度,从而晶体管500可以具有高频率特性。
[1101]
导电体560有时被用作第一栅(也称为顶栅极)电极。导电体503有时被用作第二栅(也称为底栅极)电极。在此情况下,通过独立地改变供应到导电体503的电位而不使其与供应到导电体560的电位联动,可以控制晶体管500的阈值电压。尤其是,通过对导电体503供应负电位,可以使晶体管500的阈值电压大于0v且可以减小关态电流。因此,与不对导电体503施加负电位时相比,在对导电体503施加负电位的情况下,可以减小对导电体560供应的电位为0v时的漏极电流。
[1102]
导电体503以与氧化物530及导电体560重叠的方式配置。由此,在对导电体560及导电体503供应电位的情况下,从导电体560产生的电场和从导电体503产生的电场连接,可以覆盖形成在氧化物530中的沟道形成区域。在本说明书等中,将由第一栅电极的电场和第二栅电极的电场电围绕沟道形成区域的晶体管的结构称为surrounded channel(s
‑
channel:围绕沟道)结构。
[1103]
另外,导电体503具有与导电体518同样的结构,以与绝缘体514及绝缘体516的开口的内壁接触的方式形成有导电体503a,其内侧形成有导电体503b。另外,在晶体管500中,层叠有导电体503a与导电体503b,但是本发明的一个方式不局限于此。例如,导电体503可以具有单层结构,也可以具有三层以上的叠层结构。
[1104]
在此,作为导电体503a优选使用具有抑制氢原子、氢分子、水分子、铜原子等杂质的扩散的功能(不容易使上述杂质透过)的导电材料。另外,优选使用具有抑制氧(例如,氧原子、氧分子等中的至少一个)的扩散的功能(不容易使上述氧透过)的导电材料。在本说明书中,“抑制杂质或氧的扩散的功能”是指抑制上述杂质和上述氧中的任一个或全部的扩散的功能。
[1105]
例如,通过使导电体503a具有抑制氧的扩散的功能,可以抑制因导电体503b氧化而导致导电率的下降。
[1106]
另外,在导电体503还具有布线的功能的情况下,作为导电体503b,优选使用以钨、铜或铝为主要成分的导电性高的导电材料。在此情况下,不一定需要设置导电体505。在附图中,导电体503b具有单层结构,但是也可以具有叠层结构,例如,可以采用钛或氮化钛和上述导电材料的叠层结构。
[1107]
绝缘体520、绝缘体522及绝缘体524被用作第二栅极绝缘膜。
[1108]
在此,与氧化物530接触的绝缘体524优选使用包含超过化学计量组成的氧的绝缘体。换言之,优选在绝缘体524中形成有过剩氧区域。通过以与氧化物530接触的方式设置上述包含过剩氧的绝缘体,可以减少氧化物530中的氧缺陷,从而可以提高晶体管500的可靠性。
[1109]
具体而言,作为具有过剩氧区域的绝缘体,优选使用通过加热使一部分的氧脱离的氧化物材料。通过加热使氧脱离的氧化物是指在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℃以下的范围内。
[1110]
另外,也可以将具有上述过剩氧区域的绝缘体与氧化物530接触而进行加热处理、微波处理和rf处理中的一个或多个处理。通过进行该处理,可以去除氧化物530中的水或氢。例如,在氧化物530中,发生voh的键合切断的反应,换言之,发生“voh
→
vo h”的反应而可以实现脱氢化。在此产生的氢的一部分有时与氧键合而作为h2o从氧化物530或氧化物530附近的绝缘体被去除。另外,氢的一部分有时向导电体542a及导电体542b扩散俘获(也称为被吸杂)。
[1111]
另外,上述微波处理例如优选使用具有产生高密度等离子体的功率的装置或对衬底一侧施加rf的功率的装置。例如,通过使用包含氧的气体且使用高密度等离子体,可以产生高密度的氧自由基,并且通过对衬底一侧施加rf,可以将由高密度等离子体产生的氧自由基有效地导入到氧化物530或氧化物530附近的绝缘体中。另外,在上述微波处理中,压力为133pa以上,优选为200pa以上,更优选为400pa以上即可。另外,作为向进行微波处理的装置内导入的气体例如使用氧及氩,并且该微波处理在氧流量比(o2/(o2 ar))为50%以下,优选为10%以上且30%以下的条件下进行。
[1112]
另外,在晶体管500的制造工序中,优选以氧化物530的表面露出的状态进行加热处理。该加热处理例如优选以100℃以上且450℃以下,更优选以350℃以上且400℃以下进行。加热处理在氮气体或惰性气体气氛或者包含10ppm以上、1%以上或10%以上的氧化性气体的气氛下进行。因此,可以对氧化物530供应氧而可以减少氧缺陷(vo)。另外,加热处理也可以在减压状态下进行。例如,加热处理优选在氧气氛下进行。或者,加热处理也可以在氮气体或惰性气体气氛下进行加热处理,然后为了填补脱离了的氧在包含10ppm以上、1%以上或10%以上的氧化性气体的气氛下进行加热处理。或者,也可以在包含10ppm以上、1%以上或10%以上的氧化性气体的气氛下进行加热处理之后,在氮气体或惰性气体气氛下连续进行加热处理。
[1113]
另外,通过对氧化物530进行加氧化处理,可以将氧化物530中的氧缺陷由所供应的氧填补,换言之,可以促进“vo o
→
null”的反应。再者,在残留在氧化物530中的氢与所供应的氧起反应,可以将该氢作为h2o去除(进行脱水化)。由此,可以抑制残留在氧化物530中的氢再键合于氧缺陷而形成voh。
[1114]
当绝缘体524具有过剩氧区域时,绝缘体522优选具有抑制氧(例如,氧原子、氧分子等)的扩散的功能(不容易使上述氧透过)。
[1115]
当绝缘体522具有抑制氧或杂质的扩散的功能时,氧化物530所包含的氧不扩散到绝缘体520一侧,所以是优选的。另外,可以抑制导电体503与绝缘体524或氧化物530所包含的氧起反应。
[1116]
作为绝缘体522,例如优选使用包含氧化铝、氧化铪、含有铝及铪的氧化物(铝酸铪)、氧化钽、氧化锆、锆钛酸铅(pzt)、钛酸锶(srtio3)或(ba,sr)tio3(bst)等所谓的high
‑
k材料的绝缘体的单层或叠层。当进行晶体管的微型化及高集成化时,由于栅极绝缘膜的薄膜化,有时发生泄漏电流等问题。通过作为被用作栅极绝缘膜的绝缘体使用high
‑
k材料,可以在保持物理厚度的同时降低晶体管工作时的栅极电位。
[1117]
尤其是,优选使用作为具有抑制杂质及氧等的扩散的功能(不容易使上述氧透过)
的绝缘材料的包含铝和铪中的一方或双方的氧化物的绝缘体。作为包含铝和铪中的一方或双方的氧化物的绝缘体,优选使用氧化铝、氧化铪、包含铝及铪的氧化物(铝酸铪)等。当使用这种材料形成绝缘体522时,绝缘体522被用作抑制氧从氧化物530释放或氢等杂质从晶体管500的周围部进入氧化物530的层。
[1118]
或者,例如也可以对上述绝缘体添加氧化铝、氧化铋、氧化锗、氧化铌、氧化硅、氧化钛、氧化钨、氧化钇、氧化锆。此外,也可以对上述绝缘体进行氮化处理。还可以在上述绝缘体上层叠氧化硅、氧氮化硅或氮化硅。
[1119]
绝缘体520优选具有热稳定性。例如,因为氧化硅及氧氮化硅具有热稳定性,所以是优选的。另外,通过high
‑
k材料的绝缘体与氧化硅或氧氮化硅组合,可以形成具有热稳定性且相对介电常数高的叠层结构的绝缘体520。
[1120]
在图63a及图63b的晶体管500中,作为由三层叠层结构构成的第二栅极绝缘膜使用绝缘体520、绝缘体522及绝缘体524,但是第二栅极绝缘膜也可以具有单层、两层或四层以上的叠层结构。此时,不局限于使用相同材料构成的叠层结构,也可以是使用不同材料形成的叠层结构。
[1121]
在晶体管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氧化物。
[1122]
另外,作为晶体管500优选使用载流子浓度低的金属氧化物。在降低金属氧化物的载流子浓度的情况下,降低金属氧化物中的杂质浓度而降低缺陷态密度即可。在本说明书等中,将杂质浓度低且缺陷态密度低的状态称为“高纯度本征”或“实质上高纯度本征”。作为金属氧化物中的杂质例如有氢、氮、碱金属、碱土金属、铁、镍、硅等。
[1123]
尤其是,包含在金属氧化物中的氢与键合于金属原子的氧起反应生成水,因此有时在金属氧化物中形成氧缺陷。另外,在氢进入氧化物530的氧缺陷时,有时氧缺陷与氢键合而形成voh。voh有时被用作供体且生成作为载流子的电子。另外,有时由于氢的一部分与键合于金属原子的氧键合,产生作为载流子的电子。因此,使用包含较多的氢的金属氧化物的晶体管容易具有常开启特性。另外,金属氧化物中的氢受热、电场等的作用容易移动,所以在金属氧化物包含较多的氢时,晶体管的可靠性有可能降低。在本发明的一个方式中,优选尽量降低氧化物530中的voh而成为高纯度本征或实质上高纯度本征。为了获得如此那样的voh十分降低的金属氧化物,重要的是:去除金属氧化物中的水分、氢等杂质(有时记为脱水、脱氢化处理。);以及对金属氧化物供应氧而填补氧缺陷(有时记为加氧化处理。)。通过将voh等杂质十分降低的金属氧化物用于晶体管的沟道形成区域,可以赋予稳定电特性。
[1124]
氢进入氧缺陷的缺陷会用作金属氧化物的供体。然而,难以定量地评价该缺陷。于是,在金属氧化物中,有时不是使用供体浓度而是使用载流子浓度进行评价。因此,在本说明书等中,作为金属氧化物的参数,有时不是使用供体浓度而是使用假定不施加电场的状态下的载流子浓度。换言之,本说明书等所记载的“载流子浓度”有时也可以称为“供体浓度”。
[1125]
因此,在将金属氧化物用于氧化物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。通过将氢等杂质被充分降低的金属氧化物用于晶体管的沟道形成区域,可以使晶体管具有稳定的电特性。
[1126]
此外,当在氧化物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。
[1127]
此外,在氧化物530使用金属氧化物时,因导电体542a及导电体542b与氧化物530接触而氧化物530中的氧扩散到导电体542a及导电体542b中,由此导电体542a及导电体542b有时被氧化。导电体542a及导电体542b的导电率因导电体542a及导电体542b的氧化而下降的可能性变高。注意,也可以将氧化物530中的氧向导电体542a及导电体542b扩散的情况称为导电体542a及导电体542b吸收氧化物530中的氧。
[1128]
此外,在氧化物530中的氧扩散到导电体542a及导电体542b时,在导电体542a与氧化物530b之间及导电体542b与氧化物530b之间有可能形成另一层。因为该另一层包含比导电体542a及导电体542b多的氧,所以推测该另一层具有绝缘性。此时,可以认为导电体542a或导电体542b、该另一层和氧化物530b的三层结构是由金属
‑
绝缘体
‑
半导体构成的三层结构,有时也将其称为mis(metal
‑
insulator
‑
semiconductor)结构或以mis结构为主的二极管连接结构。
[1129]
注意,上述另一层不局限于形成在导电体542a及导电体542b与氧化物530b之间,例如,另一层会形成在导电体542a及导电体542b与氧化物530c之间。
[1130]
另外,作为在氧化物530中被用作沟道形成区域的金属氧化物,优选使用其带隙为2ev以上,优选为2.5ev以上的金属氧化物。如此,通过使用带隙较宽的金属氧化物,可以减小晶体管的关态电流。
[1131]
在氧化物530中,当在氧化物530b之下设置有氧化物530a时,可以防止杂质从形成在氧化物530a下的结构物扩散到氧化物530b。当在氧化物530b之上设置有氧化物530c时,可以防止杂质从形成在氧化物530c的上方的结构物扩散到氧化物530b。
[1132]
另外,氧化物530优选具有各金属原子的原子个数比互不相同的多个氧化物层的叠层结构。具体而言,用于氧化物530a的金属氧化物的构成元素中的元素m的原子个数比优选大于用于氧化物530b的金属氧化物的构成元素中的元素m的原子个数比。另外,用于氧化物530a的金属氧化物中的相对于in的元素m的原子个数比优选大于用于氧化物530b的金属氧化物中的相对于in的元素m的原子个数比。另外,用于氧化物530b的金属氧化物中的相对于元素m的in的原子个数比优选大于用于氧化物530a的金属氧化物中的相对于元素m的in的原子个数比。另外,氧化物530c可以使用可用于氧化物530a或氧化物530b的金属氧化物。
[1133]
具体而言,作为氧化物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的叠层结构等。
[1134]
此外,例如,在用于氧化物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氧化物。
[1135]
作为上述以外的组成,在氧化物530b中例如可以使用具有in:zn=2:1的组成、in:zn=5:1的组成、in:zn=10:1的组成、这些组成中的任一个附近的组成等的金属氧化物。
[1136]
优选将这些氧化物530a、氧化物530b、氧化物530c以满足上述原子个数比的关系的方式组合。例如,优选的是,作为氧化物530a及氧化物530c采用具有in:ga:zn=1:3:4的组成及其附近的组成的金属氧化物,作为氧化物530b采用具有in:ga:zn=4:2:3至4.1的组成及其附近的组成的金属氧化物。注意,上述组成表示形成在基体上的氧化物中的原子个数比或者溅射靶材中的原子个数比。另外,作为氧化物530b的组成,通过提高in的比率,可以提高晶体管的通态电流或场效应迁移率等,所以是优选的。
[1137]
优选的是,使氧化物530a及氧化物530c的导带底的能量高于氧化物530b的导带底的能量。换言之,氧化物530a及氧化物530c的电子亲和势优选小于氧化物530b的电子亲和势。
[1138]
在此,在氧化物530a、氧化物530b及氧化物530c的接合部中,导带底的能级平缓地变化。换言之,也可以将上述情况表达为氧化物530a、氧化物530b及氧化物530c的接合部的导带底的能级连续地变化或者连续地接合。为此,优选降低形成在氧化物530a与氧化物530b的界面以及氧化物530b与氧化物530c的界面的混合层的缺陷态密度。
[1139]
具体而言,通过使氧化物530a与氧化物530b、以及氧化物530b与氧化物530c除了氧之外包含共同元素(为主要成分),可以形成缺陷态密度低的混合层。例如,在氧化物530b为in
‑
ga
‑
zn氧化物的情况下,作为氧化物530a及氧化物530c优选使用in
‑
ga
‑
zn氧化物、ga
‑
zn氧化物及氧化镓等。
[1140]
此时,载流子的主要路径为氧化物530b。通过使氧化物530a及氧化物530c具有上述结构,可以降低氧化物530a与氧化物530b的界面及氧化物530b与氧化物530c的界面的缺陷态密度。因此,界面散射对载流子传导的影响减少,可以提高晶体管500的通态电流。
[1141]
在氧化物530b上设置有被用作源电极及漏电极的导电体542a及导电体542b。作为导电体542a及导电体542b,优选使用选自铝、铬、铜、银、金、铂、钽、镍、钛、钼、钨、铪、钒、铌、锰、镁、锆、铍、铟、钌、铱、锶和镧中的金属元素、以上述金属元素为成分的合金或者组合上述金属元素的合金等。例如,优选使用氮化钽、氮化钛、钨、包含钛和铝的氮化物、包含钽和铝的氮化物、氧化钌、氮化钌、包含锶和钌的氧化物、包含镧和镍的氧化物等。另外,氮化钽、氮化钛、包含钛和铝的氮化物、包含钽和铝的氮化物、氧化钌、氮化钌、包含锶和钌的氧化物、包含镧和镍的氧化物是不容易氧化的导电材料或者吸收氧也维持导电性的材料,所以
是优选的。再者,氮化钽等金属氮化物膜对氢或氧具有阻挡性,所以是优选的。
[1142]
此外,虽然在图63a及图63b中示出单层结构的导电体542a及导电体542b,但是也可以采用两层以上的叠层结构。例如,优选层叠氮化钽膜及钨膜。另外,也可以层叠钛膜及铝膜。另外,也可以采用在钨膜上层叠铝膜的两层结构、在铜
‑
镁
‑
铝合金膜上层叠铜膜的两层结构、在钛膜上层叠铜膜的两层结构、在钨膜上层叠铜膜的两层结构。
[1143]
另外,也可以使用:在钛膜或氮化钛膜上层叠铝膜或铜膜并在其上形成钛膜或氮化钛膜的三层结构、在钼膜或氮化钼膜上层叠铝膜或铜膜并在其上形成钼膜或氮化钼膜的三层结构等。另外,也可以使用包含氧化铟、氧化锡或氧化锌的透明导电材料。
[1144]
另外,如图63a所示,有时在氧化物530与导电体542a(导电体542b)的界面及其附近作为低电阻区域形成有区域543a及区域543b。此时,区域543a被用作源区域和漏区域的一个,区域543b被用作源区域和漏区域的另一个。此外,沟道形成区域形成在夹在区域543a和区域543b之间的区域中。
[1145]
通过以与氧化物530接触的方式形成上述导电体542a(导电体542b),区域543a(区域543b)的氧浓度有时降低。另外,在区域543a(区域543b)中有时形成包括包含在导电体542a(导电体542b)中的金属及氧化物530的成分的金属化合物层。在此情况下,区域543a(区域543b)的载流子浓度增加,区域543a(区域543b)成为低电阻区域。
[1146]
绝缘体544以覆盖导电体542a及导电体542b的方式设置,抑制导电体542a及导电体542b的氧化。此时,绝缘体544也可以以覆盖氧化物530的侧面且与绝缘体524接触的方式设置。
[1147]
作为绝缘体544,可以使用包含选自铪、铝、镓、钇、锆、钨、钛、钽、镍、锗、钕、镧和镁等中的一种或两种以上的金属氧化物。另外,作为绝缘体544也可以使用氮氧化硅或氮化硅等。
[1148]
尤其是,作为绝缘体544,优选使用作为包含铝和铪中的一方或双方的氧化物的绝缘体的氧化铝、氧化铪、包含铝及铪的氧化物(铝酸铪)等。尤其是,铝酸铪的耐热性比氧化铪膜高。因此,在后面的工序的热处理中不容易晶化,所以是优选的。另外,在导电体542a及导电体542b是具有耐氧化性的材料或者吸收氧也其导电性不会显著降低的情况下,不需要必须设置绝缘体544。根据所需要的晶体管特性,适当地设计即可。
[1149]
通过包括绝缘体544,可以抑制绝缘体580所包含的水及氢等杂质经过氧化物530c、绝缘体550扩散到氧化物530b。此外,可以抑制绝缘体580所包含的过剩氧使导电体560氧化。
[1150]
另外,绝缘体550被用作第一栅极绝缘膜。绝缘体550优选以与氧化物530c的内侧(顶面及侧面)接触的方式配置。与上述绝缘体524同样,绝缘体550优选使用包含过量氧且通过加热释放氧的绝缘体形成。
[1151]
具体而言,可以使用包含过剩氧的氧化硅、氧氮化硅、氮氧化硅、氮化硅、添加有氟的氧化硅、添加有碳的氧化硅、添加有碳及氮的氧化硅、具有空孔的氧化硅。尤其是,氧化硅及氧氮化硅具有热稳定性,所以是优选的。
[1152]
通过作为绝缘体550以与氧化物530c的顶面接触的方式设置通过加热而释放氧的绝缘体,可以有效地从绝缘体550通过氧化物530c对氧化物530b的沟道形成区域供应氧。此外,与绝缘体524同样,优选降低绝缘体550中的水或氢等杂质的浓度。绝缘体550的厚度优
选为1nm以上且20nm以下。
[1153]
另外,为了将绝缘体550所包含的过剩氧高效地供应到氧化物530,也可以在绝缘体550与导电体560之间设置金属氧化物。该金属氧化物优选抑制从绝缘体550到导电体560的氧扩散。通过设置抑制氧的扩散的金属氧化物,从绝缘体550到导电体560的过剩氧的扩散得到抑制。换言之,可以抑制供应到氧化物530的过剩氧的减少。另外,可以抑制因过剩氧导致的导电体560的氧化。作为该金属氧化物,可以使用可用于绝缘体544的材料。
[1154]
另外,与第二栅极绝缘膜同样,绝缘体550也可以具有叠层结构。当进行晶体管的微型化及高集成化时,由于栅极绝缘膜的薄膜化,有时发生泄漏电流等问题,所以通过使被用作栅极绝缘膜的绝缘体具有high
‑
k材料与具有热稳定性的材料的叠层结构,可以在保持物理厚度的同时降低晶体管工作时的栅极电位。此外,可以实现具有热稳定性及高相对介电常数的叠层结构。
[1155]
在图63a及图63b中,被用作第一栅电极的导电体560具有两层结构,但是也可以具有单层结构或三层以上的叠层结构。
[1156]
作为导电体560a,优选使用具有抑制氢原子、氢分子、水分子、氮原子、氮分子、氧化氮分子(n2o、no、no2等)、铜原子等杂质的扩散的功能的导电材料。另外,优选使用具有抑制氧(例如,氧原子、氧分子等中的至少一个)的扩散的功能的导电材料。通过使导电体560a具有抑制氧的扩散的功能,可以抑制因绝缘体550所包含的氧导致导电体560b氧化而导电率下降。作为具有抑制氧的扩散的功能的导电材料,例如,优选使用钽、氮化钽、钌或氧化钌等。另外,作为导电体560a可以使用能够应用于氧化物530的氧化物半导体。此时,通过使用溅射法形成导电体560a,可以降低导电体560b的电阻值而使其成为导电体。可以将该导电体称为oc(oxide conductor)电极。
[1157]
作为导电体560b,优选使用以钨、铜或铝为主要成分的导电材料。由于导电体560b还被用作布线,所以优选使用导电性高的导电体。例如,可以使用以钨、铜或铝为主要成分的导电材料。导电体560b也可以具有叠层结构,例如,可以采用钛或氮化钛和上述导电材料的叠层结构。
[1158]
绝缘体580优选隔着绝缘体544设置在导电体542a及导电体542b上。绝缘体580优选具有过剩氧区域。例如,绝缘体580优选包含氧化硅、氧氮化硅、氮氧化硅、氮化硅、添加有氟的氧化硅、添加有碳的氧化硅、添加有碳及氮的氧化硅、具有空孔的氧化硅或树脂等。尤其是,氧化硅及氧氮化硅具有热稳定性,所以是优选的。尤其是,氧化硅和具有空孔的氧化硅容易在后面的工序中形成过剩氧区域,所以是优选的。
[1159]
绝缘体580优选具有过剩氧区域。通过以与氧化物530c接触的方式设置通过加热而释放氧的绝缘体580,可以将绝缘体580中的氧通过氧化物530c高效地供应给氧化物530。另外,优选降低绝缘体580中的水或氢等杂质的浓度。
[1160]
绝缘体580的开口以与导电体542a和导电体542b之间的区域重叠的方式形成。由此,导电体560填埋于绝缘体580的开口中及夹在导电体542a与导电体542b之间的区域。
[1161]
在进行半导体装置的微型化时,需要缩短栅极长度,但是需要防止导电体560的导电性的下降。为此,在增大导电体560的厚度的情况下,导电体560有可能具有纵横比高的形状。在本实施方式中,由于将导电体560填埋于绝缘体580的开口,所以即使导电体560具有纵横比高的形状,在工序中也不发生导电体560的倒塌。
[1162]
绝缘体574优选以与绝缘体580的顶面、导电体560的顶面及绝缘体550的顶面接触的方式设置。通过利用溅射法形成绝缘体574,可以在绝缘体550及绝缘体580中形成过剩氧区域。由此,可以将氧从该过剩氧区域供应到氧化物530中。
[1163]
例如,作为绝缘体574,可以使用包含选自铪、铝、镓、钇、锆、钨、钛、钽、镍、锗和镁等中的一种或两种以上的金属氧化物。
[1164]
尤其是,氧化铝具有高阻挡性,即使是0.5nm以上且3.0nm以下的薄膜,也可以抑制氢及氮的扩散。由此,通过利用溅射法形成的氧化铝可以在被用作氧供应源的同时还具有氢等杂质的阻挡膜的功能。
[1165]
另外,优选在绝缘体574上设置被用作层间膜的绝缘体581。与绝缘体524等同样,优选降低绝缘体581中的水或氢等杂质的浓度。
[1166]
另外,在形成于绝缘体581、绝缘体574、绝缘体580及绝缘体544中的开口配置导电体540a及导电体540b。导电体540a及导电体540b以隔着导电体560彼此对置的方式设置。导电体540a及导电体540b具有与后面说明的导电体546及导电体548同样的结构。
[1167]
在绝缘体581上设置有绝缘体582。绝缘体582优选使用对氧或氢具有阻挡性的物质。因此,作为绝缘体582可以使用与绝缘体514同样的材料。例如,作为绝缘体582优选使用氧化铝、氧化铪、氧化钽等金属氧化物。
[1168]
尤其是,氧化铝的不使氧及导致晶体管的电特性变动的氢、水分等杂质透过的阻挡效果高。因此,在晶体管的制造工序中及制造工序之后,氧化铝可以防止氢、水分等杂质进入晶体管500中。此外,氧化铝可以抑制氧从构成晶体管500的氧化物释放。因此,氧化铝适合用于晶体管500的保护膜。
[1169]
此外,在绝缘体582上设置有绝缘体586。作为绝缘体586可以使用与绝缘体320同样的材料。此外,通过将介电常数较低的材料用于上述绝缘体,可以减少产生在布线之间的寄生电容。例如,作为绝缘体586,可以使用氧化硅膜及氧氮化硅膜等。
[1170]
此外,在绝缘体520、绝缘体522、绝缘体524、绝缘体544、绝缘体580、绝缘体574、绝缘体581、绝缘体582及绝缘体586中埋入导电体546及导电体548等。
[1171]
导电体546及导电体548被用作与电容器600、晶体管500或晶体管300连接的插头或布线。导电体546及导电体548可以使用与导电体328及导电体330同样的材料形成。
[1172]
另外,也可以在形成晶体管500之后以围绕晶体管500的方式形成开口,并且以围绕该开口的方式形成对氢或水具有高阻挡性的绝缘体。通过由上述阻挡性高的绝缘体围绕晶体管500,可以防止水及氢从外方侵入。或者,也可以将多个晶体管500组合为一个而被对氢或水具有高阻挡性的绝缘体围绕。在以围绕晶体管500的方式形成开口时,因为可以兼作晶体管500的制造工序的一部分,所以例如优选形成到达绝缘体514或绝缘体522的开口而以与绝缘体514或绝缘体522接触的方式形成上述阻挡性高的绝缘体。作为对氢或水具有高阻挡性的绝缘体,例如可以使用与绝缘体522同样的材料。
[1173]
接着,在晶体管500的上方设置有电容器600。电容器600包括导电体610、导电体620及绝缘体630。
[1174]
此外,也可以在导电体546及导电体548上设置导电体612。导电体612被用作与晶体管500连接的插头或者布线。导电体610被用作电容器600的电极。此外,可以同时形成导电体612及导电体610。
[1175]
作为导电体612及导电体610可以使用包含选自钼、钛、钽、钨、铝、铜、铬、钕、钪中的元素的金属膜或以上述元素为成分的金属氮化物膜(氮化钽膜、氮化钛膜、氮化钼膜、氮化钨膜)等。或者,也可以使用铟锡氧化物、包含氧化钨的铟氧化物、包含氧化钨的铟锌氧化物、包含氧化钛的铟氧化物、包含氧化钛的铟锡氧化物、铟锌氧化物、添加有氧化硅的铟锡氧化物等导电材料。
[1176]
在图61中,导电体612及导电体610具有单层结构,但是不局限于此,也可以具有两层以上的叠层结构。例如,也可以在具有阻挡性的导电体与导电性高的导电体之间形成与具有阻挡性的导电体以及导电性高的导电体紧密性高的导电体。
[1177]
以隔着绝缘体630重叠于导电体610的方式设置导电体620。作为导电体620可以使用金属材料、合金材料、金属氧化物材料等导电材料。优选使用兼具耐热性和导电性的钨或钼等高熔点材料,尤其优选使用钨。当与导电体等其他构成要素同时形成导电体620时,使用低电阻金属材料的cu(铜)或al(铝)等即可。
[1178]
在导电体620及绝缘体630上设置有绝缘体650。绝缘体650可以使用与绝缘体320同样的材料形成。此外,绝缘体650可以被用作覆盖其下方的凹凸形状的平坦化膜。
[1179]
通过采用本结构,可以在抑制使用包含氧化物半导体的晶体管的半导体装置的电特性变动的同时提高可靠性。此外,可以实现使用包含氧化物半导体的晶体管的半导体装置的微型化或高集成化。
[1180]
接着,对在图61、图62中示出的os晶体管的其他结构例子进行说明。图64a及图64b是图63a及图63b所示的晶体管500的变形例子,图64a是晶体管500的沟道长度方向的截面图,图64b是晶体管500的沟道宽度方向的截面图。注意,图64a及图64b所示的结构也可以用于晶体管300等的本发明的一个方式的半导体装置所包括的其他晶体管。
[1181]
图64a及图64b所示的结构的晶体管500与图63a及图63b所示的结构的晶体管500的不同之处在于包括绝缘体402及绝缘体404。此外,与图63a及图63b所示的结构的晶体管500的不同之处在于与导电体540a的侧面接触地设置绝缘体552,且与导电体540b的侧面接触地设置绝缘体552。再者,与图63a及图63b所示的结构的晶体管500的不同之处在于不包括绝缘体520。
[1182]
在图64a及图64b所示的结构的晶体管500中,绝缘体512上设置有绝缘体402。此外,绝缘体574上及绝缘体402上设置有绝缘体404。
[1183]
图64a及图64b所示的结构的晶体管500中设置有绝缘体514、绝缘体516、绝缘体522、绝缘体524、绝缘体544、绝缘体580及绝缘体574,绝缘体404覆盖它们。也就是说,绝缘体404分别与绝缘体574的顶面、绝缘体574的侧面、绝缘体580的侧面、绝缘体544的侧面、绝缘体524的侧面、绝缘体522的侧面、绝缘体516的侧面、绝缘体514的侧面、绝缘体402的顶面接触。由此,氧化物530等被绝缘体404及绝缘体402与外部隔开。
[1184]
绝缘体402及绝缘体404优选高效地抑制氢(例如,氢原子、氢分子等中的至少一个)或水分子的扩散。例如,作为绝缘体402及绝缘体404,优选使用氢阻挡性较高的材料的氮化硅或氮氧化硅。由此,由于可以抑制氢等扩散到氧化物530中,因此可以抑制晶体管500的特性下降。因此,可以提高本发明的一个方式的半导体装置的可靠性。
[1185]
绝缘体552以与绝缘体581、绝缘体404、绝缘体574、绝缘体580及绝缘体544接触的方式设置。绝缘体552优选具有抑制氢或水分子的扩散的功能。例如,作为绝缘体552优选使
用氢阻挡性较高的材料的氮化硅、氧化铝或氮氧化硅等的绝缘体。尤其是,氮化硅为氢阻挡性较高的材料,因此优选用于绝缘体552。通过作为绝缘体552使用氢阻挡性较高的材料,可以抑制水或氢等的杂质从绝缘体580等通过导电体540a及导电体540b扩散到氧化物530。另外,可以抑制包含在绝缘体580中的氧被导电体540a及导电体540b吸收。如此,可以提高本发明的一个方式的半导体装置的可靠性。
[1186]
图65是示出晶体管500及晶体管300为图64a及图64b所示的结构的情况的半导体装置的结构例子的截面图。导电体546的侧面设置有绝缘体552。
[1187]
图64a及图64b所示的晶体管500可以根据状况改变晶体管的结构。例如,图64a及图64b的晶体管500作为变形例子可以为图66a及图66b所示的晶体管。图66a是晶体管的沟道长度方向的截面图,图66b是晶体管的沟道宽度方向的截面图。图66a及图66b所示的晶体管与图64a及图64b所示的晶体管的不同之处在于氧化物530c具有氧化物530c1及氧化物530c2的两层结构。
[1188]
氧化物530c1与绝缘体524的顶面、氧化物530a的侧面、氧化物530b的顶面及侧面、导电体542a及导电体542b的侧面、绝缘体544的侧面及绝缘体580的侧面接触。氧化物530c2与绝缘体550接触。
[1189]
作为氧化物530c1,例如可以使用in
‑
zn氧化物。此外,作为氧化物530c2,可以使用与氧化物530c具有单层结构时能够用于氧化物530c的材料相同的材料。例如,作为氧化物530c2,可以使用n:ga:zn=1:3:4[原子个数比]、ga:zn=2:1[原子个数比]或ga:zn=2:5[原子个数比]的金属氧化物。
[1190]
通过氧化物530c具有氧化物530c1及氧化物530c2的两层结构,与氧化物530c具有单层结构的情况相比,可以提高晶体管的通态电流。因此,晶体管例如可以作为功率mos晶体管使用。注意,图63a及图63b所示的结构的晶体管所包括的氧化物530c也可以具有氧化物530c1及氧化物530c2的两层结构。
[1191]
图66a及图66b所示的结构的晶体管例如可以用于图61、图62所示的晶体管300。此外,例如,如上所述,晶体管300可以用于包括在运算电路110、运算电路120、运算电路130、运算电路140、运算电路150、运算电路160、运算电路170等中的电路mp的晶体管m2等。注意,图66a、图66b所示的晶体管也可以用于本发明的一个方式的半导体装置所包括的晶体管300、500以外的晶体管。
[1192]
图67是示出晶体管500具有图63a所示的晶体管的结构且晶体管300具有图66a所示的晶体管的结构的情况的半导体装置的结构例子的截面图。注意,与图65同样地,在导电体546的侧面设置绝缘体552。如图67所示,在本发明的一个方式的半导体装置中,晶体管300及晶体管500可以都是os晶体管,且晶体管300及晶体管500可以具有彼此不同的结构。
[1193]
接着,对能够用于图61、图62的半导体装置的电容器进行说明。
[1194]
在图68a至图68c中,作为能够应用于图61所示的半导体装置的电容器600的例子示出电容器600a。图68a是电容器600a的俯视图,图68b是电容器600a的沿着点划线l3
‑
l4的截面的立体图,图68c是电容器600a的沿着点划线w3
‑
l4的截面的立体图。
[1195]
导电体610被用作电容器600a的一对电极中的一方,导电体620被用作电容器600a的一对电极中的另一方。另外,绝缘体630被用作夹在一对电极间的介电质。
[1196]
作为绝缘体630,例如使用氧化硅、氧氮化硅、氮氧化硅、氮化硅、氧化铝、氧氮化
铝、氮氧化铝、氮化铝、氧化铪、氧氮化铪、氮氧化铪、氮化铪、氧化锆等,并且可以采用叠层结构或单层结构。
[1197]
例如,绝缘体630可以使用氧氮化硅等绝缘耐压力高的材料和高介电常数(high
‑
k)材料的叠层结构。通过采用该结构,电容器600a可以包括高介电常数(high
‑
k)的绝缘体来确保充分的电容,并可以包括绝缘耐应力高的绝缘体来提高绝缘耐应力,从而可以抑制电容器600a的静电破坏。
[1198]
注意,作为高介电常数(high
‑
k)材料(相对介电常数高的材料)的绝缘体,有氧化镓、氧化铪、氧化锆、具有铝及铪的氧化物、具有铝及铪的氧氮化物、具有硅及铪的氧化物、具有硅及铪的氧氮化物或具有硅及铪的氮化物等。
[1199]
此外,作为绝缘体630,例如也可以以单层或叠层使用包含氧化铝、氧化铪、氧化钽、氧化锆、锆钛酸铅(pzt)、钛酸锶(srtio3)或(ba,sr)tio3(bst)等high
‑
k材料的绝缘体。例如,在绝缘体630具有叠层结构时,可以采用如下结构:依次层叠有氧化锆、氧化铝、氧化锆的三层叠层结构;依次层叠有氧化锆、氧化铝、氧化锆、氧化铝的四层结构;等。另外,作为绝缘体630也可以使用包含铪、锆的化合物等。随着半导体装置微型化及高集成化,由于用于栅极绝缘体及电容器的介电质薄膜化,有时发生晶体管或电容器的泄漏电流等的问题。通过作为被用作栅极绝缘体及电容器的介电质的绝缘体使用high
‑
k材料,可以在保持物理厚度的同时降低晶体管工作时的栅极电位并确保电容器的电容。
[1200]
在导电体610的下方电容器600a与导电体546及导电体548电连接。导电体546及导电体548被用作用来连接于其他电路元件的插头或布线。另外,在图68a至图68c中,将导电体546及导电体548统记为导电体540。
[1201]
另外,在图68a至图68c中,为了明确地示出附图,省略埋入有导电体546及导电体548的绝缘体586及覆盖导电体620及绝缘体630的绝缘体650。
[1202]
注意,图61、图62、图68a至图68c所示的电容器600是平面型,但是电容器的形状不局限于此。例如,电容器600也可以为图69a至图69c所示的气缸型电容器600b。
[1203]
图69a是电容器600b的俯视图,图69b是电容器600b的沿着点划线l3
‑
l4的截面图,图69c是电容器600b的沿着点划线w3
‑
l4的截面的立体图。
[1204]
在图69b中,电容器600b包括埋入有导电体540的绝缘体586上的绝缘体631、具有开口的绝缘体651、一对电极中的一方的导电体610以及一对电极中的另一方的导电体620。
[1205]
另外,在图69c中,为了明确地示出附图,省略绝缘体586、绝缘体650及绝缘体651。
[1206]
作为绝缘体631,例如可以使用与绝缘体586相同的材料。
[1207]
另外,在绝缘体631中,以与导电体540电连接的方式埋入有导电体611。导电体611例如可以使用与导电体330、导电体518相同的材料。
[1208]
作为绝缘体651,例如可以使用与绝缘体586相同的材料。
[1209]
另外,如上所述,绝缘体651具有开口,该开口与导电体611重叠。
[1210]
导电体610形成在该开口的底部及侧面。换言之,导电体610与导电体611重叠且与导电体611电连接。
[1211]
另外,导电体610的形成方法为如下:通过蚀刻法等在绝缘体651中形成开口,接着通过溅射法、ald法等形成导电体610。然后,通过cmp(chemichal mechanical polishing,化学机械抛光)法等以使形成在开口中的导电体610残留的方式去除形成在绝缘体651上的
导电体610。
[1212]
绝缘体630位于绝缘体651上及导电体610的形成面上。另外,绝缘体630在电容器中被用作夹在一对电极间的介电质。
[1213]
导电体620以填埋绝缘体651的开口的方式设置在绝缘体630上。
[1214]
绝缘体650以覆盖绝缘体630及导电体620的方式形成。
[1215]
图69a至图69c所示的气缸型的电容器600b比平面型的电容器600a可以提高静电电容的值。因此,例如通过作为在上述实施方式中说明的电容c1、电容c2等使用电容器600b,可以长时间保持电容器的端子间的电压。
[1216]
另外,本实施方式可以与本说明书所示的其他实施方式适当地组合。
[1217]
(实施方式5)
[1218]
在本实施方式中,对可用于上述的实施方式中已说明的os晶体管的金属氧化物cac
‑
os(cloud
‑
aligned composite oxide semiconductor)及caac
‑
os(c
‑
axis aligned crystalline oxide semiconductor)的结构进行说明。注意,在本说明书等中,cac表示功能或材料的构成的一个例子,caac表示结晶结构的一个例子。
[1219]
<金属氧化物的构成>
[1220]
cac
‑
os或cac
‑
metal oxide在材料的一部分中具有导电性的功能,在材料的另一部分中具有绝缘性的功能,作为材料的整体具有半导体的功能。此外,在将cac
‑
os或cac
‑
metal oxide用于晶体管的活性层的情况下,导电性的功能是使被用作载流子的电子(或空穴)流过的功能,绝缘性的功能是不使被用作载流子的电子流过的功能。通过导电性的功能和绝缘性的功能的互补作用,可以使cac
‑
os或cac
‑
metal oxide具有开关功能(开启/关闭的功能)。通过在cac
‑
os或cac
‑
metal oxide中使各功能分离,可以最大限度地提高各功能。
[1221]
cac
‑
os或cac
‑
metal oxide包括导电性区域及绝缘性区域。导电性区域具有上述导电性的功能,绝缘性区域具有上述绝缘性的功能。此外,在材料中,导电性区域和绝缘性区域有时以纳米粒子级分离。另外,导电性区域和绝缘性区域有时在材料中不均匀地分布。此外,有时导电性区域被观察为其边缘模糊且以云状连接。
[1222]
在cac
‑
os或cac
‑
metal oxide中,有时导电性区域及绝缘性区域以0.5nm以上且10nm以下,优选为0.5nm以上且3nm以下的尺寸分散在材料中。
[1223]
此外,cac
‑
os或cac
‑
metal oxide由具有不同带隙的成分构成。例如,cac
‑
os或cac
‑
metal oxide由具有起因于绝缘性区域的宽隙的成分及具有起因于导电性区域的窄隙的成分构成。在该结构中,当使载流子流过时,载流子主要在具有窄隙的成分中流过。此外,具有窄隙的成分与具有宽隙的成分互补作用,与具有窄隙的成分联动地在具有宽隙的成分中载流子流过。因此,在将上述cac
‑
os或cac
‑
metal oxide用于晶体管的沟道形成区域时,在晶体管的导通状态中可以得到高电流驱动力,即大通态电流及高场效应迁移率。
[1224]
就是说,也可以将cac
‑
os或cac
‑
metal oxide称为基质复合材料(matrix composite)或金属基质复合材料(metal matrix composite)。
[1225]
<金属氧化物的结构>
[1226]
氧化物半导体被分为单晶氧化物半导体和非单晶氧化物半导体。作为非单晶氧化物半导体,例如有caac
‑
os(c
‑
axis aligned crystalline oxide semiconductor)、多晶氧化物半导体、nc
‑
os(nanocrystalline oxide semiconductor)、a
‑
like os(amorphous
‑
like oxide semiconductor)及非晶氧化物半导体等。
[1227]
caac
‑
os具有c轴取向性,其多个纳米晶在a
‑
b面方向上连结而结晶结构具有畸变。注意,畸变是指在多个纳米晶连结的区域中晶格排列一致的区域与其他晶格排列一致的区域之间的晶格排列的方向变化的部分。
[1228]
虽然纳米晶基本上是六角形,但是并不局限于正六角形,有不是正六角形的情况。此外,在畸变中有时具有五角形及七角形等晶格排列。另外,在caac
‑
os的畸变附近观察不到明确的晶界(grain boundary)。即,可知通过使晶格排列畸变,可抑制晶界的形成。这可能是由于caac
‑
os可容许因如下原因而发生的畸变:在a
‑
b面方向上的氧原子的排列的低密度或因金属元素被取代而使原子间的键合距离产生变化等。
[1229]
caac
‑
os有具有层状结晶结构(也称为层状结构)的倾向,在该层状结晶结构中层叠有包含铟及氧的层(下面称为in层)和包含元素m、锌及氧的层(下面称为(m,zn)层)。另外,铟和元素m彼此可以取代,在用铟取代(m,zn)层中的元素m的情况下,也可以将该层表示为(in,m,zn)层。另外,在用元素m取代in层中的铟的情况下,也可以将该层表示为(in,m)层。
[1230]
caac
‑
os为结晶性高的氧化物半导体。另外,在caac
‑
os中观察不到明确的晶界,因此不容易发生起因于晶界的电子迁移率的下降。另外,氧化物半导体的结晶性有时因杂质的混入或缺陷的生成等而降低,因此可以说caac
‑
os是杂质或缺陷(氧缺陷等)少的氧化物半导体。因此,包含caac
‑
os的氧化物半导体的物理性质稳定。因此,包含caac
‑
os的氧化物半导体具有高耐热性及高可靠性。另外,caac
‑
os对制造工序中的高温度(所谓热积存;thermal budget)也具有稳定性。因此,在对os晶体管使用caac
‑
os时,能够扩大制造工序的自由度。
[1231]
在nc
‑
os中,微小的区域(例如1nm以上且10nm以下的区域,特别是1nm以上且3nm以下的区域)中的原子排列具有周期性。另外,nc
‑
os在不同的纳米晶之间观察不到结晶取向的规律性。因此,在膜整体中观察不到取向性。所以,有时nc
‑
os在某些分析方法中与a
‑
like os或非晶氧化物半导体没有差别。
[1232]
a
‑
like os是具有介于nc
‑
os与非晶氧化物半导体之间的结构的氧化物半导体。a
‑
like os包含空洞或低密度区域。也就是说,a
‑
like os的结晶性比nc
‑
os及caac
‑
os的结晶性低。
[1233]
氧化物半导体具有各种结构及各种特性。本发明的一个方式的氧化物半导体也可以包括非晶氧化物半导体、多晶氧化物半导体、a
‑
like os、nc
‑
os、caac
‑
os中的两种以上。
[1234]
<具有氧化物半导体的晶体管>
[1235]
在此,对将上述氧化物半导体用于晶体管的情况进行说明。
[1236]
通过将上述氧化物半导体用于晶体管,可以实现场效应迁移率高的晶体管。另外,可以实现可靠性高的晶体管。
[1237]
另外,优选将载流子浓度低的氧化物半导体用于晶体管。在以降低氧化物半导体膜的载流子浓度为目的的情况下,可以降低氧化物半导体膜中的杂质浓度以降低缺陷态密度。在本说明书等中,将杂质浓度低且缺陷态密度低的状态有时称为“高纯度本征”或“实质上高纯度本征”,此外,有时称为“本征”或“实质上本征”。
[1238]
另外,因为高纯度本征或实质上高纯度本征的氧化物半导体膜具有较低的缺陷态
密度,所以有可能具有较低的陷阱态密度。
[1239]
此外,被氧化物半导体的陷阱态密度俘获的电荷到消失需要较长的时间,有时像固定电荷那样动作。因此,有时在陷阱态密度高的氧化物半导体中形成沟道形成区域的晶体管的电特性不稳定。
[1240]
因此,为了使晶体管的电特性稳定,降低氧化物半导体中的杂质浓度是有效的。为了降低氧化物半导体中的杂质浓度,优选还降低附近膜中的杂质浓度。作为杂质有氢、氮、碱金属、碱土金属、铁、镍、硅等。
[1241]
<杂质>
[1242]
在此,说明氧化物半导体中的各杂质的影响。
[1243]
在氧化物半导体包含第14族元素之一的硅或碳时,氧化物半导体中形成缺陷能级。因此,将氧化物半导体中及氧化物半导体的界面附近的硅或碳的浓度(通过二次离子质谱分析法(sims)测得的浓度)设定为2
×
10
18
atoms/cm3以下,优选为2
×
10
17
atoms/cm3以下。
[1244]
另外,当氧化物半导体包含碱金属或碱土金属时,有时形成缺陷能级而形成载流子。因此,使用包含碱金属或碱土金属的氧化物半导体的晶体管容易具有常开启特性。由此,优选降低氧化物半导体中的碱金属或碱土金属的浓度。具体而言,将利用sims测得的氧化物半导体中的碱金属或碱土金属的浓度设定为1
×
10
18
atoms/cm3以下,优选为2
×
10
16
atoms/cm3以下。
[1245]
当氧化物半导体包含氮时,产生作为载流子的电子,并载流子浓度增加,而氧化物半导体容易被n型化。其结果,将含有氮的氧化物半导体用于半导体的晶体管容易具有常开启特性。因此,优选尽可能地减少氧化物半导体中的氮,例如,利用sims测得的氧化物半导体中的氮浓度小于5
×
10
19
atoms/cm3,优选为5
×
10
18
atoms/cm3以下,更优选为1
×
10
18
atoms/cm3以下,进一步优选为5
×
10
17
atoms/cm3以下。
[1246]
包含在氧化物半导体中的氢与键合于金属原子的氧起反应生成水,因此有时形成氧缺陷。当氢进入该氧缺陷时,有时产生作为载流子的电子。另外,有时由于氢的一部分与键合于金属原子的氧键合,产生作为载流子的电子。因此,使用包含氢的氧化物半导体的晶体管容易具有常开启特性。由此,优选尽可能地减少氧化物半导体中的氢。具体而言,在氧化物半导体中,利用sims测得的氢浓度低于1
×
10
20
atoms/cm3,优选低于1
×
10
19
atoms/cm3,更优选低于5
×
10
18
atoms/cm3,进一步优选低于1
×
10
18
atoms/cm3。
[1247]
通过将杂质被充分降低的氧化物半导体用于晶体管的沟道形成区域,可以使晶体管具有稳定的电特性。
[1248]
本实施方式可以与本说明书中的其他实施方式适当地组合。
[1249]
(实施方式6)
[1250]
本实施方式示出形成上述实施方式所示的半导体装置等的半导体晶片及组装有该半导体装置的电子构件的一个例子。
[1251]
<半导体晶片>
[1252]
首先,使用图70a说明形成有半导体装置等的半导体晶片的例子。
[1253]
图70a所示的半导体晶片4800包括晶片4801及设置在晶片4801的顶面的多个电路部4802。在晶片4801的顶面上没设置有电路部4802的部分相当于空隙4803,其为用于切割的区域。
[1254]
半导体晶片4800可以通过在前工序中在晶片4801的表面上形成多个电路部4802来制造。另外,也可以之后对晶片4801的形成有多个电路部4802的面的背面进行抛光来减薄晶片4801。通过上述工序,可以减少晶片4801翘曲等而实现构件的小型化。
[1255]
下面进行切割工序。沿点划线所示的划分线scl1及划分线scl2(有时称为切割线或截断线)进行切割。为了容易进行切割工序,优选以多个划分线scl1平行,多个划分线scl2平行,且划分线scl1与划分线scl2垂直的方式设置空隙4803。
[1256]
通过进行切割工序,可以从半导体晶片4800切割出图70b所示的芯片4800a。芯片4800a包括晶片4801a、电路部4802以及空隙4803a。此外,空隙4803a优选尽可能小。在此情况下,相邻的电路部4802之间的空隙4803的宽度只要与划分线scl1的划分用部及划分线scl2的划分用部大致相等即可。
[1257]
此外,本发明的一个实施方式的元件衬底的形状不局限于图70a所示的半导体晶片4800的形状。例如,可以为矩形形状的半导体晶片。此外,可以根据元件的制造工序及制造用设备适当地改变元件衬底的形状。
[1258]
<电子构件>
[1259]
图70c示出电子构件4700及安装有电子构件4700的衬底(安装衬底4704)的立体图。图70c所示的电子构件4700在模子4711中包括芯片4800a。注意,图70c所示的芯片4800a示出层叠电路部4802的结构。也就是说,作为电路部4802可以使用上述实施方式所说明的半导体装置。在图70c中,省略电子构件4700的一部分以表示其内部。电子构件4700在模子4711的外侧包括连接盘(land)4712。连接盘4712与电极焊盘4713电连接,电极焊盘4713通过引线4714与芯片4800a电连接。电子构件4700例如安装于印刷电路板4702。通过组合多个该电子构件并使其分别在印刷电路板4702上电连接,由此完成安装衬底4704。
[1260]
图70d示出电子构件4730的立体图。电子构件4730是sip(system in package:系统封装)或mcm(multi chip module:多芯片封装)的一个例子。在电子构件4730中,封装衬底4732(印刷电路板)上设置有插板(interposer)4731,插板4731上设置有半导体装置4735及多个半导体装置4710。
[1261]
电子构件4730包括半导体装置4710。半导体装置4710例如可以使用在上述实施方式中说明的半导体装置、高带宽存储器(hbm:high bandwidth memory:高宽带存储器)等。另外,半导体装置4735可以使用cpu、gpu、fpga、存储装置等集成电路(半导体装置)。
[1262]
封装衬底4732可以使用陶瓷衬底、塑料衬底或玻璃环氧衬底等。插板4731可以使用硅插板、树脂插板等。
[1263]
插板4731具有多个布线且具有与端子间距不同的多个集成电路电连接的功能。多个布线由单层或多层构成。另外,插板4731具有将设置于插板4731上的集成电路与设置于封装衬底4732上的电极电连接的功能。因此,有时也将插板称为“重布线衬底(rewiring substrate)”或“中间衬底”。另外,有时通过在插板4731中设置贯通电极,通过该贯通电极使集成电路与封装衬底4732电连接。另外,在使用硅插板的情况下,也可以使用tsv(through silicon via:硅通孔)作为贯通电极。
[1264]
作为插板4731优选使用硅插板。由于硅插板不需要设置有源元件,所以可以以比集成电路更低的成本制造。硅插板的布线形成可以在半导体工序中进行,树脂插板更易于形成微细的布线。
[1265]
在hbm中,为了实现宽存储器带宽需要连接许多布线。为此,要求安装hbm的插板上能够高密度地形成微细的布线。因此,作为安装hbm的插板优选使用硅插板。
[1266]
另外,在使用硅插板的sip或mcm等中,不容易发生因集成电路与插板间的膨胀系数的不同而导致的可靠性下降。另外,由于硅插板的表面平坦性高,所以设置在硅插板上的集成电路与硅插板间不容易产生连接不良。尤其优选将硅插板用于2.5d封装(2.5d安装),其中多个集成电路横着排放并配置于插板上。
[1267]
另外,也可以与电子构件4730重叠地设置散热器(散热板)。在设置散热器的情况下,优选设置于插板4731上的集成电路的高度一致。例如,在本实施方式所示的电子构件4730中,优选使半导体装置4710与半导体装置4735的高度一致。
[1268]
为了将电子构件4730安装在其他的衬底上,可以在封装衬底4732的底部设置电极4733。图70d示出用焊球形成电极4733的例子。通过在封装衬底4732的底部以矩阵状设置焊球,可以实现bga(ball grid array:球栅阵列)安装。另外,电极4733也可以使用导电针形成。通过在封装衬底4732的底部以矩阵状设置导电针,可以实现pga(pin grid array:针栅阵列)安装。
[1269]
电子构件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:四侧无引脚扁平封装)等安装方法。
[1270]
本实施方式可以与本说明书所示的其他实施方式适当地组合。
[1271]
(实施方式7)
[1272]
在本实施方式中,说明包括上述实施方式所说明的半导体装置的电子设备的一个例子。图71示出具有该半导体装置的电子构件4700(bmp)包括在各电子设备中的情况。
[1273]
[移动电话机]
[1274]
图71所示的信息终端5500是信息终端之一的移动电话机(智能手机)。信息终端5500包括外壳5510及显示部5511,作为输入接口在显示部5511中具备触摸屏,并且在外壳5510上设置有按钮。
[1275]
通过将上述实施方式所说明的半导体装置应用于信息终端5500,可以执行利用人工智能的应用程序。作为利用人工智能的应用程序,例如,可以举出识别会话来将该会话的内容显示在显示部5511上的应用程序、识别由使用者输入到显示部5511所具备的触控面板的文字或图形等来将该文字或该图形显示在显示部5511上的应用程序、执行指纹或声纹等的生物识别的应用程序等。
[1276]
[可穿戴终端]
[1277]
另外,图71示出可穿戴终端的一个例子的智能手表5900。智能手表5900包括外壳5901、显示部5902、操作按钮5903、表把5904、表带5905等。
[1278]
与上述信息终端5500同样,通过将上述实施方式所说明的半导体装置应用于可穿戴终端,可以执行利用人工知能的程序。作为利用人工知能的程序,例如可以举出管理戴上可穿戴终端的人的健康状态的程序、通过输入目的地选择适当的路径而带路的导航系统等。
[1279]
[信息终端]
[1280]
图71示出台式信息终端5300。台式信息终端5300包括信息终端主体5301、显示器5302及键盘5303。
[1281]
与上述信息终端5500同样,通过将上述实施方式所说明的半导体装置应用于台式信息终端5300,可以执行利用人工智能的应用程序。作为利用人工智能的应用程序,例如,可以举出设计支援软件、文章校对软件、菜单自动生成软件等。此外,通过使用台式信息终端5300,可以研发新颖的人工智能。
[1282]
注意,在上述例子中,图71示出智能手机及台式信息终端作为电子设备的例子,但是也可以应用智能手机及台式信息终端以外的信息终端。作为智能手机及台式信息终端以外的信息终端,例如可以举出pda(personal digital assistant:个人数码助理)、笔记本式信息终端、工作站等。
[1283]
[电器产品]
[1284]
另外,图71示出电器产品的一个例子的电冷藏冷冻箱5800。电冷藏冷冻箱5800包括外壳5801、冷藏室门5802及冷冻室门5803等。
[1285]
通过将上述实施方式所说明的半导体装置应用于电冷藏冷冻箱5800,可以实现具备人工智能的电冷藏冷冻箱5800。通过利用人工智能,可以使电冷藏冷冻箱5800具有基于储存在电冷藏冷冻箱5800中的食品或该食品的消费期限等自动生成菜单的功能、根据所储存的食品自动调整电冷藏冷冻箱5800的温度的功能。
[1286]
在上述例子中,作为电器产品说明电冷藏冷冻箱,但是作为其他电器产品,例如可以举出吸尘器、微波炉、电烤箱、电饭煲、热水器、ih炊具、饮水机、包括空气调节器的冷暖空調机、洗衣机、干衣机、视听设备等。
[1287]
[游戏机]
[1288]
另外,图71示出游戏机的一个例子的便携式游戏机5200。便携式游戏机5200包括外壳5201、显示部5202、按钮5203等。
[1289]
另外,图71示出游戏机的一个例子的固定式游戏机7500。固定式游戏机7500包括主体7520及控制器7522。主体7520可以以无线方式或有线方式与控制器7522连接。另外,虽然在图71中未图示,但是控制器7522可以包括显示游戏的图像的显示部、作为按钮以外的输入接口的触摸面板及控制杆、旋转式抓手、滑动式抓手等。另外,控制器7522不局限于图71所示的形状,也可以根据游戏的种类改变控制器7522的形状。例如,在fps(first person shooter,第一人称射击类游戏)等射击游戏中,作为扳机使用按钮,可以使用模仿枪的形状的控制器。另外,例如,在音乐游戏等中,可以使用模仿乐器、音乐器件等的形状的控制器。再者,固定式游戏机也可以设置照相机、深度传感器、麦克风等,由游戏玩者的手势及/或声音等操作以代替控制器的形状。
[1290]
另外,上述游戏机的影像可以由电视装置、个人计算机用显示器、游戏用显示器、头戴显示器等显示装置输出。
[1291]
通过将上述实施方式所说明的半导体装置用于便携式游戏机5200,可以实现低功耗的便携式游戏机5200。此外,借助于低功耗,可以降低来自电路的发热,由此可以减少因发热而给电路本身、外围电路以及模块带来的负面影响。
[1292]
并且,通过将上述实施方式所说明的半导体装置用于便携式游戏机5200,可以实
现具有人工智能的便携式游戏机5200。
[1293]
游戏的进展、游戏中出现的生物的言行、游戏上发生的现象等的表现本来是由该游戏所具有的程序规定的,但是通过将人工智能应用于便携式游戏机5200,可以实现不局限于游戏的程序的表现。例如,可以实现游戏玩者提问的内容、游戏的进展情况、时间、游戏上出现的人物的言行变化等的表现。
[1294]
此外,当使用便携式游戏机5200玩需要多个人玩的游戏时,可以利用人工智能构成拟人的游戏玩者,由此可以将人工智能的游戏玩者当作对手,一个人也可以玩多个人玩的游戏。
[1295]
在图71中,作为游戏机的例子示出便携式游戏机,但是本发明的一个方式的电子设备不局限于此。作为应用本发明的一个方式的电子设备,例如可以举出家用固定式游戏机、设置在娱乐设施(游戏中心,游乐园等)的街机游戏机、设置在体育设施的击球练习用投球机等。
[1296]
[移动体]
[1297]
上述实施方式所说明的半导体装置可以应用于作为移动体的汽车及汽车的驾驶座位附近。
[1298]
图71示出作为移动体的一个例子的汽车5700。
[1299]
汽车5700的驾驶座位附近设置有能够表示速度表、转速计、行驶距离、加油量、排档状态、空调的设定等的仪表板。另外,驾驶座位附近也可以设置有表示上述信息的显示装置。
[1300]
尤其是,通过将由设置在汽车5700上的摄像装置(未图示)拍摄的影像显示在上述显示装置上,可以将被支柱等遮挡的视野、驾驶座位的死角等提供给驾驶员,从而可以提高安全性。
[1301]
上述实施方式所说明的半导体装置可以应用于人工知能的构成要素,所以例如可以将该半导体装置应用于汽车5700的自动驾驶系统。另外,可以将该半导体装置应用于进行导航、危险预测等的系统。该显示装置可以表示导航、危险预测等的信息。
[1302]
虽然在上述例子中作为移动体的一个例子说明汽车,但是移动体不局限于汽车。例如,作为移动体,也可以举出电车、单轨铁路、船舶、飞行物(直升机、无人驾驶飞机(无人机)、飞机、火箭)等,可以对这些移动体应用本发明的一个方式的计算机,以提供利用人工智能的系统。
[1303]
[照相机]
[1304]
上述实施方式所说明的半导体装置可以应用于照相机。
[1305]
图71示出摄像装置的一个例子的数码相机6240。数码相机6240包括外壳6241、显示部6242、操作按钮6243、快门按钮6244等,并且安装有可装卸的镜头6246。在此,数码相机6240采用能够从外壳6241拆卸下镜头6246的结构,但是镜头6246及外壳6241被形成为一体。另外,数码相机6240还可以具备另外安装的闪光灯装置及取景器等。
[1306]
通过将上述实施方式所说明的半导体装置用于数码相机6240,可以实现低功耗的数码相机6240。此外,借助于低功耗,可以降低来自电路的发热,由此可以减少因发热而给电路本身、外围电路以及模块带来的负面影响。
[1307]
通过将上述实施方式所说明的半导体装置用于数码相机6240,可以实现具有人工
智能的数码相机6240。通过利用人工知能,数码相机6240可以具有如下功能:自动识别脸、物体等拍摄对象的功能;根据拍摄对象调节焦点、根据环境自动使用快闪的功能;对所拍摄的图像进行调色的功能;等。
[1308]
[视频摄像机]
[1309]
上述实施方式所说明的半导体装置可以应用于视频摄像机。
[1310]
图71示出摄像装置的一个例子的视频摄像机6300。视频摄像机6300包括第一外壳6301、第二外壳6302、显示部6303、操作键6304、镜头6305、连接部6306等。操作键6304及镜头6305设置在第一外壳6301上,显示部6303设置在第二外壳6302上。第一外壳6301与第二外壳6302由连接部6306连接,第一外壳6301与第二外壳6302间的角度可以由连接部6306改变。显示部6303的图像也可以根据连接部6306中的第一外壳6301与第二外壳6302间的角度切换。
[1311]
当记录由视频摄像机6300拍摄的图像时,需要进行根据数据记录方式的编码。通过利用人工知能,视频摄像机6300可以在进行编码时进行利用人工知能的类型识别。通过该类型识别,可以算出包括在连续的摄像图像数据中的人、动物、物体等差异数据而进行数据压缩。
[1312]
[pc用扩展装置]
[1313]
上述实施方式所说明的半导体装置可以应用于pc(personal computer;个人计算机)等计算机、信息终端用扩展装置。
[1314]
图72a示出该扩展装置的一个例子的可以携带且安装有能够进行运算处理的芯片的设置在pc的外部的扩展装置6100。扩展装置6100例如通过由usb(universal serial bus;通用串行总线)等连接于pc,可以进行使用该芯片的运算处理。注意,虽然图72a示出可携带的扩展装置6100,但是根据本发明的一个方式的扩展装置不局限于此,例如也可以采用安装冷却风机等的较大结构的扩展装置。
[1315]
扩展装置6100包括外壳6101、盖子6102、usb连接器6103及衬底6104。衬底6104被容纳在外壳6101中。衬底6104设置有驱动上述实施方式所说明的半导体装置等的电路。例如,衬底6104安装有芯片6105(例如,上述实施方式所半导体装置、电子构件4700、存储器芯片等。)、控制器芯片6106。usb连接器6103被用作连接于外部装置的接口。
[1316]
通过将扩展装置6100应用于pc等,可以提高该pc的运算处理能力。由此,例如没有充分的处理能力的pc也可以进行人工知能、动画处理等运算。
[1317]
[广播电视系统]
[1318]
上述实施方式所说明的半导体装置可以应用于广播电视系统。
[1319]
图72b示意性地示出广播电视系统中的数据传送。具体而言,图72b示出从广播电视台5680发送的电波(广播电视信号)到达每个家庭的电视接收机(tv)5600的路径。tv5600具备接收机(未图示),由此天线5650所接收的广播电视信号通过该接收机输入tv5600。
[1320]
虽然在图72b中示出超高频率(uhf,ultra high frequency)天线作为天线5650,但是可以使用bs及110度cs天线、cs天线等作为天线5650。
[1321]
电波5675a及电波5675b为地面广播电视信号,电波塔5670放大所接收的电波5675a并发送电波5675b。各家庭通过用天线5650接收电波5675b,就可以用tv5600收看地面tv播放。此外,广播电视系统可以为利用人造卫星的卫星广播电视、利用光路线的数据广播
电视等而不局限于图72b所示的地面广播电视。
[1322]
上述广播电视系统可以使用上述实施方式中所说明的半导体装置而利用人工智能。当从广播电视台5680向每个家庭的tv5600发送广播电视数据时,利用编码器进行广播电视数据的压缩;当天线5650接收该广播电视数据时,利用包括在tv5600中的接收机的解码器进行该广播电视数据的恢复。通过利用人工智能,例如可以在编码器的压缩方法之一的变动补偿预测中识别包含在显示图像中的显示模型。此外,也可以进行利用人工智能的帧内预测等。例如,当tv5600接收低分辨率的广播电视数据而进行高分辨率的显示时,可以在解码器所进行的广播电视数据的恢复中进行上转换等图像的补充处理。
[1323]
上述利用人工智能的广播电视系统适合用于广播电视数据量增大的超高清晰度电视(uhdtv:4k、8k)播放。
[1324]
此外,作为tv5600一侧的人工智能的应用,例如,可以在tv5600内设置具备人工智能的录像装置。通过采用这种结构,可以使该具备人工智能的录像装置学习使用者的爱好,而可以自动对符合使用者的爱好的电视节目录像。
[1325]
[识别系统]
[1326]
上述实施方式所说明的半导体装置可以应用于识别系统。
[1327]
图72c示出掌纹识别装置,包括外壳6431、显示部6432、掌纹读取部6433以及布线6434。
[1328]
图72c示出掌纹识别装置取得手6435的掌纹的情况。对所取得的掌纹进行利用人工知能的类型识别的处理,可以判断该掌纹是不是个人的掌纹。由此,可以构成进行安全性高的识别的系统。此外,本发明的一个实施方式的识别系统不局限于掌纹识别装置,而也可以是取得指纹、静脉、脸、虹膜、声纹、基因或体格等生物信息以进行生物识别的装置。
[1329]
注意,本实施方式可以与本说明书所示的其他实施方式适当地组合。
[1330]
[符号说明]
[1331]
ild:电路、wld:电路、xld:电路、afp:电路、actf:电路、mp:电路、mc:电路、mcr:电路、bs:电路、m1:晶体管、m1
‑
2b:晶体管、m1
‑
2br:晶体管、m1
‑
3b:晶体管、m1
‑
3br:晶体管、m1c:晶体管、m1cr:晶体管、m1p:晶体管、m1pr:晶体管、m1r:晶体管、m1s:晶体管、m1sr:晶体管、m1x:晶体管、m1xr:晶体管、m1x
‑
2b:晶体管、m1x
‑
2br:晶体管、m1x
‑
3b:晶体管、m1x
‑
3br:晶体管、m1x
‑
4b:晶体管、m1
‑
2x:晶体管、m1
‑
2xr:晶体管、m1
‑
3x:晶体管、m1
‑
3xr:晶体管、m1
‑
2x
‑
2b:晶体管、m1
‑
2x
‑
2br:晶体管、m1
‑
3x
‑
2b:晶体管、m1
‑
3x
‑
2br:晶体管、m1
‑
2x
‑
3b:晶体管、m1
‑
2x
‑
3br:晶体管、m1
‑
3x
‑
3b:晶体管、m1
‑
3x
‑
3br:晶体管、m2:晶体管、m2r:晶体管、m2s:晶体管、m2sr:晶体管、m2
‑
2b:晶体管、m2
‑
2br:晶体管、m2
‑
3b:晶体管、m2
‑
3br:晶体管、m3:晶体管、m3p:晶体管、m3pr:晶体管、m3r:晶体管、m3s:晶体管、m3sr:晶体管、m3x:晶体管、m3x
‑
2:晶体管、m3
‑
2b:晶体管、m3
‑
2br:晶体管、m3
‑
2x:晶体管、m3
‑
2xr:晶体管、m3
‑
3b:晶体管、m3
‑
3br:晶体管、m3
‑
3x:晶体管、m3
‑
3xr:晶体管、m4:晶体管、m4p:晶体管、m4pr:晶体管、m4r:晶体管、m4s:晶体管、m4sr:晶体管、m4x
‑
2:晶体管、m4
‑
2b:晶体管、m4
‑
2br:晶体管、m4
‑
2x:晶体管、m4
‑
2xr:晶体管、m4
‑
3b:晶体管、m4
‑
3br:晶体管、m4
‑
3x:晶体管、m4
‑
3xr:晶体管、m5:晶体管、m5r:晶体管、m6:晶体管、m6r:晶体管、m6s:晶体管、m6sr:晶体管、m7:晶体管、m7r:晶体管、m7s:晶体管、m7sr:晶体管、m8:晶体管、m8r:晶体管、m9:晶体管、m9r:晶体管、m10:晶体管、m10r:晶体管、m11:晶体管、m12:晶体管、m12r:晶体管、m13:晶体管、
m13r:晶体管、m20:晶体管、m20r:晶体管、mz:晶体管、cc:电容、ce:电容、ceb:电容、c1:电容、c1r:电容、c1s:电容、c1sr:电容、c2:电容、c2r:电容、c3:电容、c4:电容、n1:节点、n1r:节点、n2:节点、n2r:节点、n3:节点、n3r:节点、n4:节点、n4r:节点、ina:节点、inb:节点、outa:节点、outb:节点、s01a:开关、s01b:开关、s02a:开关、s02b:开关、s03:开关、swi:开关、swib:开关、swo:开关、swob:开关、swl:开关、swlb:开关、swh:开关、swhb:开关、swc1:开关、swc2:开关、swc3:开关、as3:模拟开关、as3r:模拟开关、as4:模拟开关、as4r:模拟开关、tw[1]:切换电路、tw[j]:切换电路、tw[n]:切换电路、hc:保持部、hcr:保持部、hcs:保持部、hcsr:保持部、hc
‑
2b:保持部、hc
‑
2br:保持部、hc
‑
3b:保持部、hc
‑
3br:保持部、iv1:反相器电路、iv1r:反相器电路、iv2:反相器电路、iv2r:反相器电路、inv3:反相器电路、ivr:反相器环形电路、ivrr:反相器环形电路、cmp1:比较器、isc:电流源电路、isc1:恒流源电路、isc2:恒流源电路、isc3:恒流源电路、hcs:电路、hcs
‑
2b:电路、hcs
‑
3b:电路、hcsr:电路、hcs
‑
2br:电路、hcs
‑
3br:电路、trf:转换电路、adca:模拟数字转换电路、adcb:模拟数字转换电路、bs:电路、bsr:电路、bmc:电路、bmcr:电路、tsa:端子、tsab:端子、tsb:端子、tsb1:端子、tsb2:端子、tsb3:端子、tsbb:端子、tsbb1:端子、tsbb2:端子、tsbb3:端子、tsc:端子、tscb:端子、vint:端子、voutt:端子、vreft:端子、il:布线、il[1]:布线、il[j]:布线、il[n]:布线、ilb:布线、ilb[1]:布线、ilb[j]:布线、ilb[n]:布线、ol:布线、ol[1]:布线、ol[j]:布线、ol[n]:布线、olb:布线、olb[1]:布线、olb[j]:布线、olb[n]:布线、wls[1]:布线、wls[i]:布线、wls[m]:布线、xl:布线、xls[1]:布线、xls[i]:布线、xls[m]:布线、wlbs:布线、wxbs:布线、val:布线、va:布线、var:布线、vb:布线、vso:布线、vcn:布线、vcn2:布线、ve:布线、ver:布线、vem:布线、vemr:布线、vf:布线、vfr:布线、vrefl:布线、vl:布线、vlr:布线、vls:布线、vlsr:布线、vlm:布线、vlmr:布线、veh:布线、s1l:布线、s2l:布线、vref1l:布线、vref2l:布线、wl:布线、w1l:布线、w2l:布线、wl2b:布线、wl3b:布线、wxl:布线、wx1l:布线、wx1l2b:布线、wx1l3b:布线、wx1lb:布线、x1:布线、x1l:布线、x1l2b:布线、x1l2x:布线、x1l3b:布线、x1l3x:布线、x2l:布线、x2l2b:布线、x2l2l:布线、x2l2x:布线、x2l3b:布线、x2l3x:布线、x2lb:布线、cvl:布线、scl1:划分线、scl2:划分线、100:神经网络、110:运算电路、120:运算电路、130:运算电路、140:运算电路、150:运算电路、160:运算电路、170:运算电路、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:手、7520:主体、7522:控制器
转载请注明原文地址:https://doc.8miu.com/read-950269.html