CN111344665B - 加法运算方法、半导体装置及电子设备 - Google Patents

加法运算方法、半导体装置及电子设备 Download PDF

Info

Publication number
CN111344665B
CN111344665B CN201880074049.8A CN201880074049A CN111344665B CN 111344665 B CN111344665 B CN 111344665B CN 201880074049 A CN201880074049 A CN 201880074049A CN 111344665 B CN111344665 B CN 111344665B
Authority
CN
China
Prior art keywords
memory
transistor
data
circuit
insulator
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201880074049.8A
Other languages
English (en)
Other versions
CN111344665A (zh
Inventor
山崎舜平
木村肇
福留贵浩
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Semiconductor Energy Laboratory Co Ltd
Original Assignee
Semiconductor Energy Laboratory Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Semiconductor Energy Laboratory Co Ltd filed Critical Semiconductor Energy Laboratory Co Ltd
Publication of CN111344665A publication Critical patent/CN111344665A/zh
Application granted granted Critical
Publication of CN111344665B publication Critical patent/CN111344665B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/499Denomination or exception handling, e.g. rounding or overflow
    • G06F7/49942Significance control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/499Denomination or exception handling, e.g. rounding or overflow
    • G06F7/49905Exception handling
    • G06F7/4991Overflow or underflow
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/50Adding; Subtracting
    • G06F7/501Half or full adders, i.e. basic adder cells for one denomination
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/57Arithmetic logic units [ALU], i.e. arrangements or devices for performing two or more of the operations covered by groups G06F7/483 – G06F7/556 or for performing logical operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/3001Arithmetic instructions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06GANALOGUE COMPUTERS
    • G06G7/00Devices in which the computing operation is performed by varying electric or magnetic quantities
    • G06G7/12Arrangements for performing computing operations, e.g. operational amplifiers
    • G06G7/16Arrangements for performing computing operations, e.g. operational amplifiers for multiplication or division
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06GANALOGUE COMPUTERS
    • G06G7/00Devices in which the computing operation is performed by varying electric or magnetic quantities
    • G06G7/48Analogue computers for specific processes, systems or devices, e.g. simulators
    • G06G7/60Analogue computers for specific processes, systems or devices, e.g. simulators for living beings, e.g. their nervous systems ; for problems in the medical field
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/38Indexing scheme relating to groups G06F7/38 - G06F7/575
    • G06F2207/48Indexing scheme relating to groups G06F7/48 - G06F7/575
    • G06F2207/4802Special implementations
    • G06F2207/4818Threshold devices
    • G06F2207/4824Neural networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Optimization (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Biomedical Technology (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • General Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Neurology (AREA)
  • Biophysics (AREA)
  • Data Mining & Analysis (AREA)
  • Physiology (AREA)
  • Neurosurgery (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • Evolutionary Computation (AREA)
  • Molecular Biology (AREA)
  • Power Engineering (AREA)
  • Thin Film Transistor (AREA)
  • Semiconductor Integrated Circuits (AREA)
  • Semiconductor Memories (AREA)
  • Control Of Indicators Other Than Cathode Ray Tubes (AREA)
  • Metal-Oxide And Bipolar Metal-Oxide Semiconductor Integrated Circuits (AREA)

Abstract

提供一种抑制溢出的加法电路。该加法电路包括第一存储器、第二存储器、第三存储器及第四存储器。加法运算包括如下步骤:对第一存储器提供具有符号的第一数据;对第二存储器提供保存在第一存储器中的具有正的符号的第一数据;对第三存储器提供保存在第二存储器中的具有负的符号的第一数据;对保存在第二存储器中的具有正的符号的第一数据、保存在第三存储器中的具有负的符号的第一数据进行加法运算生成第二数据;对第四存储器保存第二数据。当保存在第四存储器中的第二数据都为具有正的符号的第二数据或都为具有负的符号的第二数据时,对保存在第四存储器中的所有第二数据进行加法运算。

Description

加法运算方法、半导体装置及电子设备
技术领域
本发明的一个方式涉及一种加法运算方法、半导体装置及电子设备。
注意,本发明的一个方式不局限于上述技术领域。本说明书等所公开的发明的一个方式的技术领域涉及一种物体、程序、方法或制造方法。尤其是,本发明的一个方式涉及一种半导体装置、显示装置、发光装置、蓄电装置、存储装置、它们的驱动方法或它们的制造方法。
另外,在本说明书等中,半导体装置是指通过利用半导体特性而能够工作的元件、电路或装置等。作为一个例子,晶体管和二极管等半导体元件是半导体装置。此外,作为另外的例子,包含半导体元件的电路是半导体装置。此外,作为另外的例子,具备包含半导体元件的电路的装置是半导体装置。
背景技术
随着IoT(Internet of Things:物联网)及AI(Artificial Intelligence:人工智能)等信息技术的发展,被处理的数据量有增大的倾向。为了在电子设备中利用IoT及AI等信息技术,需要具有对大量数据进行运算处理的能力。再者,为了舒适地使用电子设备,需要为实现低功耗而抑制运算量的半导体装置。
专利文献1中公开了一种通过将精度低的加法器并联使用而使其作为具有特定精度的加法器进行工作的加法运算方法及加法器的结构。
[先行技术文献]
[专利文献]
[专利文献1]日本专利申请公开第平9-222991号公报
发明内容
发明所要解决的技术问题
组合了IoT和AI的电子设备存在如何实现低功耗化的课题。另外,电子设备中使用的半导体装置需要小型化以能够被收纳到在窄小的空间内。因此,半导体装置需要在不使运算处理能力下降的情况下缩小电路规模。
在AI,尤其是,例如,在深度学习(深层学习)中,通过利用机械学习可以从各种信息(图像、音声、大数据等)中抽出特征。AI包括神经网络,神经网络包括多个神经元。已知神经元模仿突触的功能进行积和运算处理。已知具有积和运算功能的电路算出多个输入信号乘于权系数的结果的总和。由于积和运算处理通过数字运算处理带符号的浮点的数据,所以存在逻辑规模变大的问题。存在功耗的大小与逻辑规模的大小成正比地增加的问题。
鉴于上述问题,本发明的一个方式的目的之一是提供一种带符号的整数型加法运算方法。另外,本发明的一个方式的目的之一是提供一种包括带符号的整数型加法运算方法的半导体装置。另外,本发明的一个方式的目的之一是提供一种能够使神经元运算低功耗化的半导体装置。另外,本发明的一个方式的目的之一是提供一种新颖的程序。另外,本发明的一个方式的目的之一是提供一种新颖的计算方法。另外,本发明的一个方式的目的之一是提供一种新颖的半导体装置。另外,本发明的一个方式的目的之一是提供一种新颖的半导体装置的驱动方法。
注意,这些目的的记载不妨碍其他目的的存在。本发明的一个方式并不需要实现所有上述目的。上述目的以外的目的可以显而易见地从说明书、附图、权利要求书等的描述中看出,并且可以从该描述中抽取上述目的以外的目的。
注意,本发明的一个方式的目的不局限于上述目的。上述目的并不妨碍其他目的的存在。此外,其他目的是上面没有提到而将在下面的记载中进行说明的目的。所属技术领域的普通技术人员可以从说明书或附图等的记载中导出并适当抽取该上面没有提到的目的。注意,本发明的一个方式实现上述目的及/或其他目的中的至少一个目的。
解决技术问题的手段
本发明的一个方式包括第一存储器、第二存储器、第三存储器及第四存储器。一种加法运算方法,包括如下步骤:对第一存储器提供具有符号的第一数据;对第二存储器提供保存在第一存储器中的具有正的符号的第一数据;对第三存储器提供保存在第一存储器中的具有负的符号的第一数据;当第一数据为零时进行丢弃;对保存在第二存储器中的具有正的符号的第一数据和保存在第三存储器中的具有负的符号的第一数据进行加法运算来生成第二数据;对第四存储器保存第二数据;在第四存储器中没有保存具有正的符号的第二数据时或者没有保存具有负的符号的第二数据时中的任意情况下,对保存在第四存储器中的所有第二数据进行加法运算。
在上述加法运算方法中,优选第一数据及第二数据为带符号的整数的数据。
在上述加法运算方法中,优选将第二数据保存在第一存储器中。
一种包括第一存储器、第二存储器、第三存储器、选择器电路、第一加法电路、第二加法电路及计数器电路的半导体装置。计数器电路包括第一计数器和第二计数器。第一存储器与第一加法电路和选择器电路电连接。选择器电路与第二存储器和第三存储器电连接。第二加法电路与第二存储器和第三存储器电连接。计数器电路与第一存储器和第一加法电路电连接。第一存储器具有被赋予具有符号的第一数据的功能。第一计数器及第二计数器具有被赋予初始值的功能。第二存储器具有在没有保存的数据时输出第一下溢标志(underflow flag)的功能。第三存储器具有在没有保存的数据时输出第二下溢标志的功能。第一数据供给到第一存储器和计数器电路。计数器电路具有在被供给第一下溢标志或第二下溢标志时判断第一计数器或第二计数器的值的功能。当第一计数器或第二计数器为初始值时,第一加法电路具有对保存在第一存储器中的第一数据进行加法运算的功能。
在上述各结构的半导体装置中,优选的是:选择器电路具有将保存在第一存储器中的具有正的符号的第一数据分配到第二存储器且将具有负的符号的第一数据分配到第三存储器的功能;第二加法电路具有对保存在第二存储器中的具有正的符号的第一数据和保存在第三存储器中的具有负的符号的第一数据进行加法运算生成第二数据的功能;第二数据被供给第一存储器和计数器电路,计数器电路具有在被供给第一下溢标志和第二下溢标志时判断第一计数器或第二计数器的值的功能;当第一计数器或第二计数器为初始值时,第一加法电路具有对保存在第一存储器中的第二数据进行加法运算的功能。
在上述各结构中,优选第二存储器及第三存储器具有先进先出的功能。
在上述各结构中,优选的是:半导体装置包括第一零插入电路和第二零插入电路,在第一下溢标志被输出而第二下溢标志未被输出的情况下,具有代替具有正的符号的第一数据由第一零插入电路供应为零的值的功能;在第二下溢标志被输出而第一下溢标志未被输出的情况下,具有代替具有负的符号的第一数据由第二零插入电路供应为零的值的功能。
一种包括神经网络的半导体装置,其中神经网络包括积和运算电路,积和运算电路包括多个乘法电路以及抑制因加法导致的溢出(overflow)的第一电路。第一电路包括第一存储器、第二存储器、第三存储器及第一加法电路。乘法电路的输出数据作为第一数据被供应给第一存储器。第二存储器及第三存储器具有先进先出的功能。第二存储器被供给第一存储器保存的具有正的符号的第一数据。第三存储器被供给第一存储器保存的具有负的符号的第一数据。第一加法电路通过对第二存储器读出的具有正的符号的第一数据和第三存储器读出的具有负的符号的第一数据进行加法运算来抑制因加法运算导致的溢出。
一种电子设备,优选包括上述各结构中的具有加法运算方法的半导体装置及收纳有半导体装置的框体。
一种包括神经网络的半导体装置,其中神经网络包括乘法电路,乘法电路包括第一晶体管至第四晶体管。乘法电路具有通过被赋予权重电位和数据电位而将进行乘法运算的结果作为输出电流输出的功能。第一晶体管具有通过对第一晶体管的栅极供给第一电位来使第一电流流过的功能。第二晶体管具有通过对第二晶体管的栅极供给第二电位来使第二电流流过的功能。第三晶体管具有通过对第三晶体管的栅极供给第三电位来使第三电流流过的功能。第四晶体管具有通过对第四晶体管的栅极供给第四电位来使第四电流流过的功能。乘法电路通过从第一电流减去第二电流及第三电流并对第一电流和第四电流进行加法运算得到输出电流。
在上述各结构中,第一电位通过对基准电位、权重电位和数据电位进行加法运算生成,第二电位通过对基准电位和数据电位进行加法运算生成,第三电位通过对基准电位和权重电位进行加法运算生成,作为第四电位被供给基准电位。
在上述各结构中,优选的是:乘法电路包括存储单元、参考单元、第一编程单元及第二编程单元;存储单元包括第一晶体管;参考单元包括第二晶体管;第一编程单元包括第三晶体管;第二编程单元包括第四晶体管;存储单元保持相当于第一电流的第一电位;参考单元保持相当于第二电流的第二电位;第一编程单元保持相当于第三电流的第三电位;第二编程单元保持相当于第四电流的第四电位。
发明效果
根据本发明的一个方式可以提供一种带符号的整数型加法运算方法。另外,根据本发明的一个方式可以提供一种具有带符号的整数型加法运算方法的半导体装置。另外,根据本发明的一个方式可以提供一种能够使神经元的运算低功耗化的半导体装置。另外,根据本发明的一个方式可以提供一种新颖的程序。另外,根据本发明的一个方式可以提供一种新颖的计算方法。另外,根据本发明的一个方式可以提供一种新颖的半导体装置。另外,根据本发明的一个方式可以提供一种新颖的半导体装置的驱动方法。
注意,本发明的一个方式的效果不局限于上述效果。上述效果并不妨碍其他效果的存在。另外,其他效果是上面没有提到而将在下面的记载中进行说明的效果。所属技术领域的普通技术人员可以从说明书或附图等的记载中导出并适当抽取上面没有提到的效果。注意,本发明的一个方式具有上述效果及/或其他效果中的至少一个效果。因此,本发明的一个方式根据情况有时不具有上述效果。
附图说明
[图1]说明加法运算方法的图。
[图2]说明半导体装置的电路图。
[图3]A说明加法运算方法的图。B说明半导体装置的电路图。
[图4]说明加法运算方法的图。
[图5]说明半导体装置的方框图。
[图6]说明半导体装置的方框图。
[图7]说明半导体装置的电路图。
[图8]说明半导体装置的电路图。
[图9]说明半导体装置的电路图。
[图10]说明半导体装置的电路图。
[图11]说明半导体装置的电路图。
[图12]说明半导体装置的电路图。
[图13]说明半导体装置的方框图。
[图14]示出存储装置的结构实例的电路图。
[图15]半导体装置的示意图。
[图16]存储装置的示意图。
[图17]示出电子设备的图。
[图18]示出半导体装置的结构实例的图。
[图19]示出晶体管的结构实例的图。
[图20]示出晶体管的结构实例的图。
具体实施方式
下面,参照附图对实施方式进行说明。但是,所属技术领域的普通技术人员可以很容易地理解一个事实,就是实施方式可以以多个不同形式来实施,其方式和详细内容可以在不脱离本发明的宗旨及其范围的条件下被变换为各种各样的形式。因此,本发明不应该被解释为仅限定在下面的实施方式所记载的内容中。注意,在一个实施方式中说明的内容(或者其一部分)可以应用于、组合于或者替换成在该实施方式中说明的其他内容(或者其一部分)和/或在其他的一个或多个实施方式中说明的内容(或者其一部分)。另外,通过将某一实施方式中示出的附图(或其一部分)与该附图的其他部分、该实施方式中示出的其他附图(或其一部分)和/或另一个或多个其他实施方式中示出的附图(也可以是其一部分)组合,可以构成更多图。
在附图中,为便于清楚地说明,有时夸大表示大小、层的厚度或区域。因此,本发明并不一定限定于上述尺寸。此外,在附图中,示意性地示出理想的例子,因此本发明不局限于附图所示的形状或数值等。
本说明书所使用的“第一”、“第二”、“第三”等序数词是为了避免构成要素的混淆而附加的,而不是为了在数目方面上进行限定的。
在本说明书中,为方便起见,使用了“上”、“下”等表示配置的词句,以参照附图说明构成要素的位置关系。另外,构成要素的位置关系根据描述各构成要素的方向适当地改变。因此,不局限于本说明书中所说明的词句,可以根据情况适当地更换。
在本说明书等中,晶体管是指至少包括栅极、漏极以及源极这三个端子的元件。晶体管在漏极(漏极端子、漏区域或漏电极)与源极(源极端子、源区域或源电极)之间具有沟道区域,并且电流能够通过沟道形成区域流过源极与漏极之间。注意,在本说明书等中,沟道区域是指电流主要流过的区域。
另外,在使用极性不同的晶体管的情况或电路工作中的电流方向变化的情况等下,源极及漏极的功能有时相互调换。因此,在本说明书等中,源极和漏极可以相互调换。
在本说明书等中,“电连接”包括通过“具有某种电作用的元件”连接的情况。在此,“具有某种电作用的元件”只要可以进行连接对象间的电信号的授收,就对其没有特别的限制。例如,“具有某种电作用的元件”不仅包括电极和布线,而且还包括晶体管等的开关元件、电阻器、电感器、电容器、其他具有各种功能的元件等。
在本说明书等中,“平行”是指两条直线形成的角度为-10°以上且10°以下的状态。因此,也包括该角度为-5°以上且5°以下的状态。另外,“垂直”是指两条直线形成的角度为80°以上且100°以下的状态。因此也包括85°以上且95°以下的角度的状态。
另外,在本说明书等中,可以将“膜”和“层”相互调换。例如,有时可以将“导电层”变换为“导电膜”。此外,例如,有时可以将“绝缘膜”变换为“绝缘层”。
在本说明书等中,在没有特别的说明的情况下,关态电流是指晶体管处于关闭状态(也称为非导通状态、遮断状态)的漏极电流。在没有特别的说明的情况下,在n沟道晶体管中,关闭状态是指栅极与源极间的电压Vgs低于阈值电压Vth的状态,在p沟道晶体管中,关闭状态是指栅极与源极间的电压Vgs高于阈值电压Vth的状态。例如,n沟道晶体管的关态电流有时是指栅极与源极间的电压Vgs低于阈值电压Vth时的漏极电流。
晶体管的关态电流有时取决于Vgs。因此,“晶体管的关态电流为I以下”有时是指存在使晶体管的关态电流成为I以下的Vgs的值。晶体管的关态电流有时是指预定的Vgs中的关闭状态、预定的范围内的Vgs中的关闭状态或能够获得充分被降低的关态电流的Vgs中的关闭状态等时的关态电流。
作为一个例子,设想一种n沟道晶体管,该n沟道晶体管的阈值电压Vth为0.5V,Vgs为0.5V时的漏极电流为1×10-9A,Vgs为0.1V时的漏极电流为1×10-13A,Vgs为-0.5V时的漏极电流为1×10-19A,Vgs为-0.8V时的漏极电流为1×10-22A。在Vgs为-0.5V时或在Vgs为-0.5V至-0.8V的范围内,该晶体管的漏极电流为1×10-19A以下,所以有时称该晶体管的关态电流为1×10-19A以下。由于存在使该晶体管的漏极电流成为1×10-22A以下的Vgs,因此有时称该晶体管的关态电流为1×10-22A以下。
在本说明书等中,有时以每沟道宽度W的电流值表示具有沟道宽度W的晶体管的关态电流。另外,有时以每预定的沟道宽度(例如1μm)的电流值表示具有沟道宽度W的晶体管的关态电流。在为后者时,关态电流的单位有时以具有电流/长度的次元的单位(例如,A/μm)表示。
晶体管的关态电流有时取决于温度。在本说明书中,在没有特别的说明的情况下,关态电流有时表示在室温、60℃、85℃、95℃或125℃下的关态电流。或者,有时表示在保证包括该晶体管的半导体装置等的可靠性的温度下或者在包括该晶体管的半导体装置等被使用的温度(例如,5℃至35℃中的任一温度)下的关态电流。“晶体管的关态电流为I以下”有时是指在室温、60℃、85℃、95℃、125℃、保证包括该晶体管的半导体装置等的可靠性的温度下或者在包括该晶体管的半导体装置等被使用的温度(例如,5℃至35℃中的任一温度)下存在使晶体管的关态电流成为I以下的Vgs的值。
晶体管的关态电流有时取决于漏极与源极间的电压Vds。在本说明书中,在没有特别的说明的情况下,关态电流有时表示Vds为0.1V、0.8V、1V、1.2V、1.8V、2.5V、3V、3.3V、10V、12V、16V或20V时的关态电流。或者,有时表示保证包括该晶体管的半导体装置等的可靠性的Vds时或者包括该晶体管的半导体装置等所使用的Vds时的关态电流。“晶体管的关态电流为I以下”有时是指:在Vds为0.1V、0.8V、1V、1.2V、1.8V、2.5V、3V、3.3V、10V、12V、16V、20V、保证包括该晶体管的半导体装置的可靠性的Vds或包括该晶体管的半导体装置等被使用的Vds下存在使晶体管的关态电流成为I以下的Vgs的值。
在上述关态电流的说明中,可以将漏极换称为源极。也就是说,关态电流有时指晶体管处于关闭状态时流过源极的电流。
在本说明书等中,有时将关态电流记作泄漏电流。在本说明书等中,关态电流例如有时指在晶体管处于关闭状态时流在源极与漏极间的电流。
电压是指两个点之间的电位差,而电位是指某一点的静电场中的某单位电荷所具有的静电能(电位能量)。但是,一般来说,将某一点的电位与基准的电位(例如接地电位)之间的电位差简称为电位或电压,通常,电位和电压是同义词。因此,在本说明书中,除了特别指定的情况以外,既可将“电位”称为“电压”,又可将“电压”称为“电位”。
(实施方式1)
在本实施方式中,参照图1至图4对抑制溢出的加法运算方法以及具有该加法运算方法的功能的半导体装置进行说明。
在AI中,例如,在深度学习(深层学习)中,通过利用机械学习可以从各种信息(图像、音声、大数据等)学习特征。但是,为了学习,需要对大量数据进行乘法、加法及减法等运算处理。因此,在AI中,优选使用包括神经网络的半导体装置进行运算,这样在学习速度上或功耗方面都有利。例如,已知神经网络包括模仿了人类大脑的神经元。神经元的工作可以与积和运算功能置换。也就是说,为了实现神经元的功能优选使用积和运算电路。但是,运算的一部分可以利用软件(程序)进行计算。
积和运算电路包括多个乘法电路以及对乘法运算结果的正整数或负整数进行加法运算的加法电路。作为积和运算电路的一个例子,优选采用利用带符号的浮点进行运算的电路或者利用带符号的整数进行运算的电路。但是,当采用利用带符号的浮点的运算时,虽然可以抽出更准确的信息特征,但是积和运算电路规模变大,功耗也大。当采用利用带符号的整数的运算时,可以进一步缩小积和运算电路的结构。通过缩小积和运算电路,具有积和运算电路的半导体装置变小,从而可以抑制耗电量。
在利用带符号的整数的运算中,当对正整数或负整数进行加法运算时,根据进行加法运算的顺序有时加法电路会发生溢出。但是,根据进行加法运算的顺序,也可以不发生溢出而在加法电路的位数范围内求得解。也就是说,在处理大量的数据的加法电路中,抑制溢出对求出正确运算结果十分重要。在本实施方式中,对抑制溢出的加法运算方法、使用该加法运算方法的半导体装置及其程序(软件)进行说明。
首先,参照图1A对抑制溢出的加法运算方法进行说明。在图1A中,作为一个例子,包括存储器M1、存储器M2、存储器M3及存储器M4。在此,以存储器M4为例进行说明,但是也可以再次使用存储器M1替代存储器M4。或者,也可以使用寄存器替代存储器M1及存储器M4。或者,存储器M1、存储器M2、存储器M3或存储器M4可以分别设置在其他的存储器芯片上,或者至少其中两个可以设置在同一存储器芯片上。或者,存储器M1、存储器M2、存储器M3及存储器M4也可以配置在同一存储器芯片上而彼此分配到不同的存储区域。
如图1A所示,包括ST1至ST5的步骤。首先,图1A示出:在步骤ST1中,作为输入数据IN1至IN9从传感器、输出电路或CPU等向存储器M1提供数据群1的例子。在此,对数据群1进行说明。数据群1优选能够分类为多个范围。例如,范围A是为0(零)的值,范围B是正整数值,范围C是负整数值。
作为提供给存储器M1的数据群1中的1个数据的值,例如,“A”表示零,“B1”表示正值,“C1”表示负值。也就是说,正整数是具有范围B的范围内的值的数值,如“B1”、“B2”、“B3”等那样第一个文字为“B”。“B”后面的数表示用于区分数据的符号,不表示值。同样地,负整数是具有范围C的范围内的值的数值,如“C1”、“C2”、“C3”、“C4”等那样第一个文字为“C”。“C”后面的数表示用于区分数据的符号。
接着,在步骤ST2中,存储器M2保存存储器M1中保存的具有正的符号的范围B的数据。例如,属于范围B的数据的“B1”、“B2”及“B3”被保存到存储器M2。存储器M3保存存储器M1中保存的具有负的符号的范围C的数据。例如,属于范围C的数据的“C1”、“C2”、“C3”及“C4”被保存到存储器M3。但是,当存储器M1中保存的数据群1中的数据为零时,可以丢弃该数据。或者,将该数据供给到存储器M2或存储器M3中。另外,在对存储器M2及存储器M3保存数据群1之后,优选存储器M1以范围A的数据初始化。因此,优选存储器M1具有复位功能。例如,当存储器M1采用寄存器结构时,易于安装复位功能。但是,在对存储器M1保存新数据时,如果能够对值进行覆写,那么存储器M1不需要必须具有复位功能。
接着,在步骤ST3中,从保存有具有正的符号的数据的存储器M2或保存有具有负的符号的数据的存储器M3中读出数据并进行加法运算。
例如,从存储器M2读出“B1”的数据并从存储器M3读出“C1”的数据并对其进行加法运算。因此,对具有正的符号的“B1”和具有负的符号的“C1”进行加法运算。加法运算的结果是比“B1”或“C1”都更接近零的数值。也就是说,加法运算的结果的绝对值比“B1”小。或者,加法运算的结果的绝对值比“C1”的绝对值小。例如,当“B1”的数据的绝对值比“C1”的数据的绝对值大时,加法运算的结果是具有正的符号的“B11”的数据。
在此,对“B11”进行说明。“B11”表示对存储器M2中保存的正整数“B1”和存储器M3中保存的负整数“C1”进行加法运算的结果为具有范围B内的值的数值,如“B11”、“B12”、“B13”等在“B”的后面的两位数表示用来区分数据的符号。
另外,对具有正的符号的“B2”和具有负的符号的“C2”进行加法运算,加法运算的结果是比“B2”或“C2”都更接近零的数值。也就是说,加法运算的结果的绝对值比“B2”小。或者,加法运算的结果的绝对值比“C2”的绝对值小。例如,当各数据的绝对值的大小相同时,加法运算的结果是为零,即,数据“A”。另外,对具有正的符号的“B3”和具有负的符号的“C3”进行加法运算,加法运算的结果是比“B3”或“C3”更接近零的数值。也就是说,加法运算的结果的绝对值比“B3”小。或者,加法运算的结果的绝对值比“C3”的绝对值小。例如,当“C3”的数据的绝对值比“B3”的数据的绝对值大时,加法运算的结果是具有负的符号的“C11”的数据。另外,虽然存储器M3中有“C4”的数据,但是存储器M2中没有应该进行加法运算的数据。像这样,在没有数据时,作为替代的数据代入“A”的数据,对“A”和“C4”进行加法运算。由此,加法运算的结果为“C4”的数据。或者,当没有应该进行加法运算的数据时,将“C4”的数据直接看作加法运算的结果。
在此,对“C11”进行说明。“C11”表示对存储器M2中保存的正整数“B3”和存储器M3中保存的负整数“C3”进行加法运算的结果为具有范围C的范围内的值的数值,如“C11”、“C12”、“C13”等在“C”的后面的两位数表示用来区分数据的符号。
如此,加法运算的结果作为数据群2被保存至存储器M4。此时,也可以将数据群2保存至存储器M1。通过将其保存至存储器M1,可以进一步缩小电路规模,从而可以降低功耗。注意,当将其保存至存储器M1时,与步骤ST1相比,数据数变少。所以,如之前所述,优选在将数据保存至存储器M1之前对存储器M1的数据进行初始化。
数据群2包括具有正的符号的数据、具有负的符号的数据及为零的数据。当将数据保存至存储器M4时,优选分别对具有正的符号的数据的数及具有负的符号的数据的数进行计数。此时,计数器CNP对具有正的符号的数据的数进行计数,计数器CNM对具有负的符号的数据的数进行计数。例如,在ST3,计数值为计数器CNP=1、计数器CNM=2。另外,优选计数器CNP、计数器CNM可以以任意的时序及初始值进行初始化。
当从存储器M2或存储器M3向存储器M4保存数据时,判定计数器CNP或计数器CNM的计数值。当计数器CNP或计数器CNM中的任意个保持初始值没有被更新时,可以对存储器M4中保存的数据群2都进行加法运算。在该情况下,在进行完所有的加法运算之后结束计算处理。
当计数器CNP及计数器CNM被更新时,在下一个步骤ST4中,存储器M4所保存的数据群2中具有正的符号的数据可以被保存至存储器M2而具有负的符号的数据可以被保存至M3。例如,存储器M2中保存有为范围B的数据的具有正的符号的数据“B11”。另外,存储器M3保存有为范围C的数据的具有负的符号的数据“C11”及“C4”。注意,虽然附图中示出将数据保存至存储器M2的例子,但是也可以保存至其他的存储器,例如,也可以保存至存储器M5。同样地,虽然附图中示出保存至存储器M3的例子,但是也可以保存至其他的存储器,例如,也可以保存至存储器M6。注意,当将数据保存至存储器M2时,与采用步骤ST2的情况相比,数据数变少。所以,优选在将数据保存至存储器M2之前对存储器M2的数据进行初始化。另外,优选对存储器M3的数据进行初始化。
接着,在步骤ST5中,从存储器M2读出“B11”的数据并从存储器M3读出“C11”的数据并对其进行加法运算。也就是说,对具有正的符号的“B11”及具有负的符号的“C11”进行加法运算。加法运算的结果是比“B11”或“C11”都更接近零的数值。也就是说,加法运算的结果的绝对值比“B11”小。或者,加法运算的结果的绝对值比“C11”的绝对值小。例如,当“C11”的数据的绝对值大于“B11”的数据的绝对值时,加法运算的结果是具有负的符号的“C111”的数据。接着,虽然存储器M3中有“C4”的数据,但是存储器M2中没有应该进行加法运算的数据时,作为替代的数据代入“A”的数据,对“A”和“C4”进行加法运算。或者,将“C4”直接看做加法运算的结果。这样,加法运算的结果为“C4”的数据。
在此,对“C111”进行说明。“C111”表示对存储器M2中保存的正整数“B11”和存储器M3中保存的负整数“C11”进行加法运算的结果为具有范围C的范围内的值的数值,如“C111”、“C112”、“C113”等在“C”的后面的三位数表示用来区分数据的符号。虽然图1A中没有进行例示,当存储器M2中保存的具有正的符号的数据与存储器M3中保存的具有负的符号的数据进行加法运算的结果为具有范围B的范围内的值的数值时,记作“B111”、“B112”、“B113”等,“B”的后面的三位数表示用来区分数据的符号。
加法运算的结果作为数据群3被保存至存储器M4。此时,也可以将数据群3保存至存储器M1。注意,当将其保存至存储器M1时,优选对存储器M1的数据进行初始化。通过将其保存至存储器M1,可以缩小电路规模,从而可以降低功耗。注意,当将其保存至存储器M4时,与采用步骤ST3的情况相比,数据数变少。所以,如之前所述,优选在将数据保存至存储器M4之前对存储器M4的数据进行初始化。
例如,在ST5,计数值为计数器CNP=0、计数器CNM=2。所以,由于计数器CNP保持初始值没被更新,所以对存储器M4中保存的数据群3都进行加法运算,由此完成运算处理。
通过采用上述加法运算方法,可以抑制对多个带符号的数据进行加法运算时发生溢出。通过抑制溢出,可以抑制因加法处理导致的数据劣化。注意,虽然在图1A中如步骤ST2、步骤ST4那样地暂时将数据保存至存储器M2及存储器M3,但是本发明的一个方式不局限于此。例如,也可以从存储器M1或存储器M4中选择输入范围B的数据和输入范围C的数据,对其进行加法运算并保存至存储器M4。
图1B示出对图1A说明的加法运算方法(步骤ST1至步骤ST5)附加实际数字的例子。首先,步骤ST11示出IN1至IN9对存储器M1赋予数据群1的例子。作为一个例子,存储器M1被赋予“-1”、“-3”、“2”、“3”、“0”、“0”、“-3”、“-1”、“1”。虽然图1A中没有进行说明,但是也可以利用计数器CNP、计数器CNM管理计数值。例如,在图1B的步骤ST11示出计数器CNP=3、计数器CNM=4。
作为一个例子,范围B被赋予正整数1至3的范围,范围C被赋予负整数-1至-3的范围。也就是说,当超过范围B或范围C(小于-3或大于3)时,发生溢出。例如,当按照存储器M1中保存的数据的顺序对“-1”和“-3”进行加法运算时,加法运算的结果为“-4”而发生溢出。但是,如图1A及图1B所示,在对具有正的符号的整数和具有负的符号的整数进行加法运算的方法中,加法运算的结果接近零而可以抑制溢出的发生。
接着,在步骤ST12,存储器M2被保存存储器M1中保存的具有正的符号的数据。存储器M3被保存存储器M1中保存的具有负的符号的数据。也就是说,存储器M2保存“2”、“3”、“1”。存储器M3保存“-1”、“-3”、“-3”、“-1”。
接着,在步骤ST13从保存有具有正的符号的数据的存储器M2、保存有具有负的符号的数据的存储器M3读出数据进行加法运算。也就是说,对存储器M2中保存的“2”和存储器M3中保存的“-1”进行加法运算。加法运算的结果“1”被保存至存储器M4。接着,对存储器M2中保存的“3”和存储器M3中保存的“-3”进行加法运算。加法运算的结果“0”被保存至存储器M4。接着,对存储器M2中保存的“1”与存储器M3中保存的“-3”进行加法运算。加法运算的结果“-2”被保存至存储器M4。接着,由于存储器M2中没有保存的数据,所以替代地赋予零,与存储器M3中保存的“-1”进行加法运算。或者,直接输出存储器M3中保存的“-1”。加法运算的结果“-1”被保存至存储器M4。注意,当加法运算的结果为“0”时,也可以不保存至存储器M4。
此时,具有正的符号的整数的计数值为计数器CNP=1,具有负的符号的整数的计数值为计数器CNM=2。因此,为了再次进行加法运算,从存储器M4向存储器M2及存储器M3分配数据并保存。
接着,在步骤ST14,存储器M2被保存“1”,存储器M3被保存“-2”、“-1”。
接着,在步骤ST15对存储器M2中保存的“1”和存储器M3中保存的“-2”进行加法运算。加法运算的结果“-1”被保存至存储器M4。接着,由于存储器M2中已没有保存的数据,以零代替,与存储器M3中保存的“-1”进行加法运算。或者,直接输出存储器M3中保存的“-1”。加法运算的结果“-1”被保存至存储器M4。
在ST15,计数值为计数器CNP=0、计数器CNM=2。因此,由于计数器CNP保持初始值而未被更新,所以对存储器M4中保存的数据都进行加法运算。其结果,可以算出加法运算的结果为“-2”。因此,通过将具有正的符号的整数和具有负的符号的整数依次组合并相加,可以抑制因溢出导致的数据劣化并算出正确的解。
图2A是说明具有图1A所示的加法运算方法的功能的加法电路10的电路图。加法电路10包括选择器20、存储器21、计数器22、控制电路23、选择器24、存储器24a、存储器24b、控制电路25、零插入电路26a、零插入电路26b、加法电路27、加法电路28及门电路29。计数器22包括计数器CNP22a及计数器CNM22b。加法电路10包括信号线DI、信号线DR、信号线DA、信号线DA1、信号线DA2、信号线DAP、信号线DAM、信号线FO1、信号线FO2、信号线FOUT1、信号线FOUT2、信号线DO、信号线SEL1、信号线SEL2、信号线WEP、信号线WEM、信号线UFP、信号线UFM、信号线REP、信号线REM、信号线WER、信号线FC、信号线DUF、信号线MB1、信号线MB2、信号线WE、信号线IRQ及信号线ACK。
选择器20通过信号线DA与存储器21电连接。另外,选择器20通过信号线DI与计数器22电连接并且通过信号线SEL1与门电路29电连接。
存储器21通过信号线DA1与选择器24电连接。选择器24通过信号线DAP与存储器24a电连接并且通过信号线DAM与存储器24b电连接。
控制电路23通过信号线DA1与存储器21电连接。另外,控制电路23通过信号线SEL2与选择器24电连接。另外,控制电路23通过信号线WEP与存储器24a电连接并且通过信号线WEM与存储器24b电连接。
存储器24a通过信号线FO1与零插入电路26a电连接。存储器24b通过信号线FO2与零插入电路26b电连接。
控制电路25通过信号线UFP及信号线REP与存储器24a电连接并且通过信号线UFM及信号线REM与存储器24b电连接。控制电路25通过信号线MB1与零插入电路26a电连接并且通过信号线MB2与零插入电路26b电连接。控制电路25通过信号线DUF与计数器22电连接并且通过信号线WER与加法电路27及门电路29电连接。
加法电路27通过信号线FOUT1与零插入电路26a电连接并且通过信号线FOUT2与零插入电路26b电连接。加法电路27通过信号线DR与选择器20及计数器22电连接。
信号线IRQ与计数器22及控制电路23电连接。另外,加法电路10输出信号线ACK及信号线DO。
接着,说明各自的功能。选择器20可以根据提供给信号线SEL1的信号选择输入数据DI或加法电路27的输出DR中的任一个并将其输出至信号线DA。向信号线SEL1提供的信号由用于进行对存储器21写入的信号线WE或用于写入加法电路27的输出DR的信号线WER生成。存储器21相当于图1的存储器M1。
存储器21可以使用DRAM(DynamicRandomAccessMemory:动态随机存取存储器)或SRAM(StaticRandomAccessMemory:静态随机存取存储器)等存储电路,也可以由寄存器构成。存储器21优选具有复位功能或读出复位功能。复位功能是指可以将存储器中保存的所有数据在任意时序变为任意初始值的功能。读出复位是指在读出访问的存储地址的数据时在读出后进行初始化的功能。
计数器22包括对被提供至信号线DI的数据或被提供至信号线DR的数据中的具有正的符号的整数进行计数的计数器CNP22a以及对具有负的符号的整数进行计数的计数器CNM22b。计数器22优选具有复位功能和使能功能。此外,优选计数器22被提供至信号线DUF的信号复位。另外,提供至信号线IRQ的信号使计数器22变为使能状态,通过使计数器22变为使能状态开始计数。
控制电路23可以通过选择器24将存储器21中保存的数据移动到存储器24a及存储器24b中。控制电路23可以根据提供至信号线SEL2的信号将存储器21中保存的数据分配到存储器24a或存储器24b。例如,当从存储器21移动的数据为具有正的符号的情况下,控制电路23可以通过信号线DAP将其保存至存储器24a。另外,当从存储器21移动的数据为具有负的符号的情况下,控制电路23可以通过信号线DAM将其保存至存储器24b。另外,控制电路23优选具有在信号线DA1的数据为零时丢弃为零的数据的功能。
存储器21、存储器24a及存储器24b优选具有先进先出的功能。存储器21、存储器24a及存储器24b能够在没有数据时输出下溢标志。通过具有先进先出的功能,可以具有读出复位的功能。图2中假设存储器24a及存储器24b具有先进先出功能的情况进行说明。另外,存储器21、存储器24a及存储器24b的存储器的大小可以适当地决定,优选的是,存储器21比存储器24a及存储器24b大。另外,存储器24a相当于图1的存储器M2,存储器24b相当于图1的存储器M3。
控制电路25可以监视存储器24a向信号线UFP输出的下溢标志及存储器24b向信号线UFM输出的下溢标志的状态。此外,还可以从存储器24a及存储器24b读出数据并提供至加法电路27进行加法运算。但是,当存储器24a向信号线UFP输出下溢标志时,零插入电路26a作为代替数据输出零。同样地,当存储器24b向信号线UFM输出下溢标志时,零插入电路26b作为代替数据提供零。
加法电路的结果通过信号线DR被保存至存储器21。此时,计数器22在加法运算的结果具有正的符号时利用计数器CNP22a进行计数而在加法运算的结果具有负的符号时利用计数器CNM22b进行计数。当存储器24a及存储器24b都输出下溢标志时,控制电路25对信号线DUF输出信号。计数器22根据信号线DUF被提供的信号使计数器CNP22a及计数器CNM22b停止并进行判定。判定结果经信号线FC通知控制电路23及加法电路28。所告知的判定结果优选包括告知计数器CNP22a或计数器CNM22b中的任意个是否发生下溢的第一结果以及告知没有发生下溢的计数器的计数值的第二结果。
当计数器CNP22a或计数器CNM22b中的任意个保持初始值时,计数器22可以判断存储器21中保存的数据的符号相同(包括零)。当计数器CNP22a或计数器CNM22b中的任意个为初始值时,加法电路28通过信号线DA2读出数据进行加法运算。运算结束后,加法电路28可以通过信号线ACK被提供的信号将运算结束一事告知CPU等。此时,向信号线DO输出加法运算的结果,为了保持信息,优选信号线DO为锁存状态。再者,优选信号线DO、信号线ACK具有读出复位功能。
当计数器CNP22a及计数器CNM22b进行计数时,可以判断保存有与存储器21具有不同符号的数据。此时,利用控制电路23再次进行加法运算。
因此,CPU等外围电路通过将想对加法电路10进行加法运算的多个数据保存至存储器21并对信号线IRQ供应信号以使加法电路10开始进行运算处理。当运算结束时,加法电路10对信号线ACK提供信号以告知CPU等外围电路运算结束了。也就是说,可以通过设置数据并执行运算指令来得到运算结果。在加法电路10进行运算的期间,CPU等外围电路可以进行不同的处理。另外,半导体装置包括加法电路10,该加法电路10具有如下加法运算方法:通过对正整数和负整数进行加法运算抑制溢出;并通过丢弃运算结果为零的数据减少运算量。
图2B是对零插入电路26(零插入电路26a和26b)进行详细说明的电路图。零插入电路26包括多个门电路26c、开关SW0、开关SW1。门电路26c包括两个输入端子和一个输出端子。门电路26c的输出端子与信号线FOUT[n:0]的任一个电连接。另外,门电路26c的一个输入端子与信号线FO[n:0]的任一个电连接。另一个输入端子与开关SW0的一个电极及开关SW1的一个电极电连接。开关SW0的另一个电极与布线Vdd电连接,布线Vdd优选被施加加法电路10的高电源电压。开关SW1的另一个电极与布线Vss电连接,布线Vss优选被施加加法电路10的低电源电压,例如,GND。
开关SW0及开关SW1由被提供至信号线MB的信号控制。另外,优选开关SW0及开关SW1进行排他性的工作。门电路26c可以根据被提供至信号线MB的信号使开关SW0变为导通状态并在同一期间使开关SW1变为关闭状态。另外,还可以向输出端子输出与被提供至信号线FO的信号相同的信号。另外,门电路26c可以根据被提供至信号线MB的信号使开关SW0变为关闭状态并在同一期间使开关SW1变为导通状态。由此,信号线FOUT被提供零。也就是说,门电路26c可以将被提供至信号线FO的任意数据转换为零。
本发明的一个方式不局限于上述加法电路。例如,也可以利用程序来实现。也就是说,也可以不采用硬件而利用软件实施本发明的一个方式的加法运算方法。
图3A是说明具有与图1A具有不同结构的抑制溢出的加法运算方法的图。
图3A与图1A的不同之处在于其包括存储器M5和存储器M6。与图1A不同,图3A所示的加法运算方法可以将输入数据或运算后的数据分类为更详细的多个范围。例如,可以将正整数的分类范围分为范围B及范围BB。范围BB具有比范围B更大的值。还可以将负整数的分类范围分为范围C及范围CC。范围CC具有比范围C更小的值。通过像这样进行详细分类,在进行加法运算时,可以使加法运算的结果成为更小的值。由此,可以进一步抑制进行加法运算时发生溢出。
图3B是示出具有与图2A不同结构的半导体装置的电路图。加法电路10a与加法电路10的不同之处在于其包括控制电路30、选择器31、存储器31a至存储器31d、控制电路32、零插入电路33a及零插入电路33b。鉴于纸张大小,没有示出存储器31b和存储器31c。另外,加法电路10a与加法电路10的不同之处还在于其还包括信号线DAP1、信号线DAP2、信号线DAM1、信号线DAM2、信号线FO1、信号线FO2、信号线FO3、信号线FO4、信号线WEP1、信号线WEP2、信号线WEM1、信号线WEM2、信号线UFP1、信号线UFP2、信号线UFM1、线UFM2、信号线REP1、信号线REP2、信号线REM1及信号线REM2。
控制电路30与控制电路23的不同之处在于控制电路30与存储器31a至存储器31d(存储器31b、存储器31c未图示)对应。选择器31与选择器24的不同之处在于选择器31与存储器31a至存储器31d对应。存储器31a被保存范围BB的范围内的数据,存储器31b被保存范围B的范围内的数据,存储器31c被保存范围C的范围内的数据,存储器31d被保存范围CC的范围内的数据。控制电路32与控制电路25的不同之处在于控制电路32与存储器31a至存储器31d对应。零插入电路33a与零插入电路26a的不同之处在于零插入电路33a与信号线FO1、信号线FO2对应。零插入电路33b与零插入电路26b的不同之处在于零插入电路33b与信号线FO3、信号线FO4对应。
如图3B所示,在加法处理中,为了进一步抑制溢出优选追加对输入范围进行详细管理的存储器。因为溢出得到抑制,所以可以进行更准确的运算。
图4A是说明具有与图1A不同结构的抑制溢出的加法运算方法的图。图4A示出步骤ST31至步骤ST33的例子。在图1A中,按具有正的符号的整数和具有负的符号的整数进行了分类。另一方面,在图4A中,在步骤ST32,不仅可以对具有正的符号的整数与具有负的符号的整数进行分类,还可以按绝对值大的值的顺序进行排列。对符号不同的值按绝对值的大小的顺序进行加法运算。由此,两个值的加法运算的结果接近零。其结果,不会发生因溢出导致的计算精度下降,可以更快地进行加法处理。
注意,虽然在图4A中分开保存至存储器M2和存储器M3,但是本发明的一个方式不局限于此。例如,也可以不对具有正的符号的整数和具有负的符号的整数进行分类地保存。例如,也可以将最大值至最小值都保存至存储器M2。例如,如图4B所示,以“3”、“2”、“1”、“0”、“0”、“-1”、“-1”、“-3”、“-3”的顺序保存至存储器M2。并且,将最大值和最小值依次相加。例如,对“3”和“-3”进行加法运算,然后,对“2”和“-3”进行加法运算,接着,对“1”和“-1”进行加法运算,然后,对“0”和“-1”进行加法运算。通过进行上述处理,即便在具有正的符号的整数和具有负的符号的整数在个数上大不相同的情况下也可以快速地进行处理。注意,虽然在图4B中示出在对存储器M2保存数据之后进行加法运算,但是本发明的一个方式不局限于此。例如,也可以从存储器M1取出适当的数值并将最大值和最小值依次相加。
另外,在图4B所示的情况下,在对没有符号的整数进行加法运算的情况下,也可以减少因溢出导致的计算精度的下降。也就是说,在只有具有正的符号的整数(也可以包括零)或只有具有负的符号的整数(也可以包括零)的情况下,也可以与图4B同样地保存最大值至最小值,然后将最大值和最小值依次相加。注意,在此,虽然在对存储器M2保存数据之后进行加法运算,但是本发明的一个方式不局限于此。例如,也可以从存储器M1取出适当的数值并按最大值和最小值依次相加。
另外,在图1A的步骤ST5、图1B的步骤ST15、图3A的步骤ST25等中,可以使用与图4B同样的方法对没有符号的整数进行加法运算。作为不同的例子,在只对具有正的符号的整数进行加法运算或者只对具有负的符号的整数进行加法运算的情况下,可以采用与图4B同样的方法对没有符号的整数进行加法运算。
本实施方式相当于对其他实施方式的一部分或全部进行更改、追加、修正、删除、应用、上位概念化或下位概念化的方式。因此,可以将本实施方式的一部分或全部自由地组合于、应用于或替换为其他实施方式的一部分或全部而实施。
(实施方式2)
在本实施方式中,参照图5至图13对包括能够抑制溢出的加法电路的半导体装置进行说明。
图5A是示出具备神经网络的半导体装置80的方框图。作为一个例子,半导体装置80包括CPU81、存储器82、摄像装置83、神经网络84、显示器控制器85a、显示装置85b及输入输出总线86。CPU81、存储器82、摄像装置83、神经网络84及显示器控制器85a通过输入输出总线86连接。但是,摄像装置83也可以不经过输入输出总线86地与神经网络84电连接,神经网络84也可以不经过输入输出总线86地与显示器控制器85a电连接。
作为一个例子,图5B示出摄像装置83与神经网络84连接且神经网络84对CPU81输出数据的结构实例。神经网络84包括乘法单元块84a及驱动器84d。乘法单元块84a包括多个神经元84b。作为一个例子,各神经元84b包括多个乘法单元11、多个参考单元12、运算电路13及图2A中说明的加法电路10。注意,当利用软件或程序进行加法运算时,可以不设置加法电路10。
图5C是说明神经元84b的图。作为一个例子,神经元84b包括乘法电路40及转换电路15。注意,转换电路15不是必须的。乘法电路40优选包括多个乘法单元11。转换电路15与加法电路10电连接。也就是说,神经元84b包括由乘法电路40和加法电路10构成的积和运算电路。
图6A示出乘法单元11所包括的晶体管。说明对晶体管的栅极提供权系数△W及数据△V来利用晶体管进行△W×△V的乘法运算的方法。当晶体管在饱和区域进行工作时,流过晶体管的电流Id可以由算式1表示。
Ids=k×(Vgs-Vth)2 (算式1)
电流Ids根据Vgs改变。当晶体管的栅极被提供基准电压Vref、权系数△W及数据△V时,需要将算式2代入算式1的Vgs进行电流Ids的计算。此时,代入的Vgs为Vgs1,计算出的电流Ids为电流I1。
Vgs1=Vref+△W+△V (算式2)
为了得到△W×△V的乘法运算结果,通过展开代入了算式2的算式1,可以在算式5中得到△W×△V项。
I1=k×(Vref+△W+△V-Vth)2 (算式3)
假设系数A=Vref+Vth的情况。
I1=k×(△W+△V+A)2 (算式4)
I1=k×(A2+2×A×△W+△W2+2×A×△V+△V2+2×△W×△V) (算式5)
同样地,可以通过对算式1的Vgs代入Vgs2=Vref+△V得到电流I2。
另外,可以通过对算式1的Vgs代入Vgs3=Vref+△W得到电流I3。
另外,可以通过对算式1的Vgs代入Vgs4=Vref得到电流I4。
通过算式5得到的A2+2×A×△W+△W2相当于代入Vgs3时得到的电流I3。
通过算式5得到的2×A×△V+△V2可以通过如下方法得到:代入Vgs2时得到的电流I2减去代入Vgs4时得到的电流I4。
因此,为了从算式5得到△W×△V的乘法运算结果,下面的算式6成立。I5不依赖于晶体管的Vth。
I5=2×k×△W×△V (算式6)
当△V>0且△W>0或△V<0且△W<0时算式7成立。
I1+I4-I2-I3-I5=0 (算式7)
或者,作为不同的情况,当△V<0、△W>0或△V<0、△W>0时算式8成立。
I1+I4-I2-I3+I5=0 (算式8)
也就是说,要想利用晶体管得到△W×△V的乘法运算结果,可以通过计算电流I1至电流I4来算出。
图6B中作为一个例子示出电流I1至电流I5。I5(7)示出算式7的电流方向,I5(8)示出算式8的电流方向。
图7A中作为一个例子示出说明积和运算电路的乘法电路40的电路图。作为乘法电路40的一个例子,包括乘法单元11、参考单元12、运算电路13及转换电路15。转换电路15例如具有将电流信号转换为电压信号的功能。或者,作为转换电路15的一个例子,具有将模拟信号转换为数字信号的功能。或者,作为转换电路15的一个例子,具有去除输出信号中的噪声成分的功能。作为运算电路13的一个例子,包括开关S1、第一编程单元及第二编程单元。乘法单元11、参考单元12各包括存储单元。另外,作为乘法电路40的一个例子,包括布线Vdd、布线Vss、信号线SL、信号线SLR、信号线WL1及信号线WD。
作为乘法单元11中的存储单元的一个例子,包括晶体管41、晶体管42及电容器43。作为参考单元12中的存储单元的一个例子,包括晶体管44、晶体管45及电容器46。作为运算电路13的一个例子,包括形成电流镜的晶体管47、晶体管48。再者,作为第一编程单元的一个例子,包括晶体管49、电容器50及开关S2。再者,作为第二编程单元的一个例子,包括晶体管51、电容器52及开关S3。
晶体管47至晶体管49是p沟道型晶体管,其他的晶体管是n沟道型晶体管。
积和运算电路既可以由在沟道形成区域中包含硅(单晶硅等)的晶体管(以下,也称为Si晶体管)构成,又可以由在沟道形成区域中包含氧化物半导体的晶体管(以下,也称为OS晶体管)构成。尤其是,OS晶体管的关态电流极小而适合用于保持电压的晶体管。注意,也可以由Si晶体管和OS晶体管的双方构成积和运算电路。在图7A中,作为一个例子,优选开关S2、开关S3、晶体管41或晶体管44为OS晶体管。
晶体管41的源极和漏极中的一个与信号线SL电连接。晶体管41的源极和漏极中的另一个与晶体管42的栅极及电容器43的一个电极电连接。晶体管42的源极和漏极中的一个与布线Vss电连接。晶体管42的源极和漏极中的另一个与开关S1的一个电极、开关S2的一个电极及晶体管49的源极和漏极中的一个电连接。开关S2的另一个电极与晶体管49的栅极及电容器50的一个电极电连接。晶体管49的源极和漏极中的另一个与布线Vdd、电容器50的另一个电极电连接。开关S1的另一个电极与转换电路15的输入端子、晶体管51的源极和漏极中的一个、开关S3的一个电极及晶体管48的源极和漏极中的一个电连接。晶体管51的栅极与开关S3的另一个电极及电容器52的一个电极电连接。晶体管51的源极和漏极中的另一个与布线Vss、电容器52的另一个电极及晶体管45的源极和漏极中的一个电连接。晶体管48的源极和漏极中的另一个与布线Vdd及晶体管47的源极和漏极中的一个电连接。晶体管48的栅极与晶体管47的栅极、晶体管47的源极和漏极中的另一个及晶体管45的源极和漏极中的另一个电连接。晶体管45的栅极与晶体管44的源极和漏极中的一个及电容器46的一个电极电连接。电容器46的另一个电极与布线WD电连接。晶体管44的源极和漏极中的另一个与布线SLR电连接。
节点FN10由晶体管41的源极和漏极中的另一个、晶体管42的栅极及电容器43的一个电极连接而形成。节点FN20由晶体管44的源极和漏极中的一个、晶体管45的栅极及电容器46的一个电极连接而形成。节点FN30由开关S2的另一个电极、晶体管49的栅极及电容器50的一个电极连接而形成。节点FN40由开关S3的另一个电极、晶体管51的栅极及电容器52的一个电极连接而形成。
在此,参照图7C、D、E对转换电路15进行说明。作为一个例子,转换电路15包括IV转换电路15a及放大电路15b。IV转换电路15a可以使用电阻器、电容器及二极管等。利用IV转换电路15a可以将电流转换为电压。其结果,可以容易地取出输出信号。并且,利用放大电路15b可以将被转换为电压的输出信号准确地输出。作为放大电路15b的一个例子,可以采用运算放大器、源极跟随电路、源极接地电路或电压跟随电路等。另外,如图7D或图7E所示,IV转换电路15a可以由运算放大器、无源元件(例如,电阻器或电容器)构成。图7D示出采用运算放大器和电阻器的IV转换电路,图7E示出采用运算放大器和电容器的积分电路。如图7D或图7E所示,通过使用运算放大器,可以利用虚拟接地的效果来控制运算放大器的输入端子的电位,所以是优选的。
接着,参照图7A、图7B对乘法电路40的工作的一个例子进行说明。
首先,对图7A进行说明。节点FN10通过布线SL被写入Vgs3(=Vref+△W),晶体管42中流过电流I3。节点FN30通过开关S2被提供相当于流过晶体管49的电流I3的电位。同时,节点FN20通过布线SLR被写入Vgs4(=Vref),晶体管45中流过电流I4。电流I4被形成电流镜的晶体管47和晶体管48复制。节点FN40通过开关S3被提供相当于流过晶体管51的电流I4的电位。
接着,对图7B进行说明。使开关S2及开关S3变为关闭状态以保存被提供至节点FN30或节点FN40的电位。
接着,通过仅以数据△V改变信号线WD的电位,节点FN10通过电容器43被提供数据△V。也就是说,节点FN10的电位从Vgs3变至Vgs1(=Vref+△W+△V)。同时,节点FN20通过电容器46被提供数据△V。也就是说,节点FN10的电位从Vgs4变至Vgs2(=Vref+△V)。电流I2被形成电流镜的晶体管47和晶体管48复制。由此,晶体管48中可以流过电流I2。
晶体管42可以流过电流I1,晶体管49中可以流过电流I3,晶体管48中可以流过电流I2,晶体管51中可以流过电流I4。这里,通过使开关S1为导通状态,可以对转换电路15提供电流I5。由此,可以将△W×△V的乘法运算结果作为I5得到。
图8与图7A的不同之处在于图8具有包括多个存储单元的乘法单元11以及包括多个存储单元的参考单元12。也就是说,可以根据基尔霍夫的电流定律对从具有多个存储单元的乘法单元11输出的多个电流进行加法运算。另外,信号线NSEL2与开关S2电连接,信号线NSEL3与开关S3电连接。但是,优选乘法单元11和参考单元12中的存储单元的个数相同。另外,开关S1也可以使用晶体管,更优选的是使用模拟开关。通过采用模拟开关可以更准确地进行乘法运算。
作为不同点,第一编程单元的晶体管49a的沟道宽度优选对应乘法单元11的级数变大。因此,当乘法单元11中连接有n级的存储单元时,优选晶体管49a的沟道宽度是晶体管42a的沟道宽度的n倍。更优选的是,大于晶体管42a的沟道宽度的n倍。
第二编程单元的晶体管51a沟道宽度优选对应参考单元12的级数变大。因此,当参考单元12中连接有n级的存储单元时,优选晶体管51a的沟道宽度是晶体管45a的沟道宽度的n倍。更优选的是,大于晶体管45a的沟道宽度的n倍。
图9是说明与图8不同的运算电路13a的电路图。图9中说明的运算电路13a还包括晶体管47a、晶体管48a、晶体管49b、电容器50a、开关S2a、晶体管51b、电容器52a及开关S3a。
通过采用图9所示的电路结构,可以使用于加法处理的晶体管的饱和特性更平坦。当利用电流镜等复制电流时,可以使用更精确的电流。由此,通过使用运算电路13a可以提高加法运算精度。
图10A是说明与图7A不同的乘法电路40a的电路图。图10A中的主要晶体管由n沟道型晶体管构成。在假设开关也由n沟道型晶体管构成时,可以仅由n沟道型晶体管构成所有晶体管。在该情况下可以简化制造工序。
作为乘法电路40a的一个例子,包括乘法单元11a、参考单元12a、运算电路13b及转换电路15。作为运算电路13b的一个例子,包括开关S1、第一编程单元及第二编程单元。乘法单元11a及参考单元12a各包括存储单元。作为乘法电路40a的一个例子,包括布线Vdd、布线Vss、信号线SL、信号线SLR、信号线WL1及信号线WD。
作为乘法单元11a中的存储单元的一个例子,其包括晶体管61、晶体管62及电容器63。作为参考单元12a的一个例子,包括晶体管64、晶体管65及电容器66。作为运算电路13b的一个例子,包括晶体管72、电容器73、晶体管74、电容器75、晶体管76、电容器77及开关S7至开关S15。再者,作为第一编程单元的一个例子,包括晶体管67、电容器68及开关S4。再者,作为第二编程单元的一个例子,包括晶体管69、电容器70、晶体管71、开关S5及开关S6。
图10A中优选开关S4、开关S5、开关S12、开关S14、开关S15、晶体管61或晶体管64例如为OS晶体管。由于OS晶体管的关态电流极小,所以适合用于保持电压的晶体管。
积和运算电路既可以由Si晶体管构成,又可以由OS晶体管构成。尤其是,OS晶体管是关态电流极小的晶体管,所以适合于构成积和运算电路的存储器的晶体管。注意,也可以由Si晶体管和OS晶体管的双方构成积和运算电路。
晶体管61的源极和漏极中的一个与信号线SL电连接。晶体管61的源极和漏极中的另一个与晶体管62的栅极及电容器63的一个电极电连接。晶体管62的源极和漏极中的一个与布线Vss电连接。晶体管62的源极和漏极中的另一个与电容器68的一个电极、晶体管67的源极和漏极中的一个、开关S1的一个电极、开关S6的一个电极及开关S10的一个电极电连接。晶体管67的栅极与电容器68的另一个电极、开关S4的一个电极电连接。晶体管67的源极和漏极中的另一个与开关S4的另一个电极及布线Vdd电连接。
开关S1的另一个电极与转换电路15电连接。晶体管64的源极和漏极中的一个与布线SLR电连接。晶体管64的源极和漏极中的另一个与晶体管65的栅极及电容器66的一个电极电连接。晶体管65的源极和漏极中的一个与布线Vss电连接。晶体管65的源极和漏极中的另一个与开关S7的一个电极及开关S9的一个电极电连接。开关S7的另一个电极与晶体管72的源极和漏极中的一个、电容器73的一个电极及开关S8的一个电极电连接。晶体管72的源极和漏极中的另一个与开关S15的一个电极及布线Vdd电连接。晶体管72的栅极与电容器73的另一个电极、开关S15的另一个电极电连接。
开关S9的另一个电极与晶体管74的源极和漏极中的一个、电容器75的一个电极及开关S11的一个电极电连接。晶体管74的源极和漏极中的另一个与开关S14的一个电极及布线Vdd电连接。晶体管74的栅极与电容器75的另一个电极及开关S14的另一个电极电连接。开关S11的另一个电极与开关S10的另一个电极、电容器77的一个电极及晶体管76的源极和漏极中的一个电连接。晶体管76的源极和漏极中的另一个与开关S12的一个电极电连接。晶体管76的栅极与电容器77的另一个电极及开关S13的一个电极电连接。开关S12的另一个电极与开关S13的另一个电极及布线Vdd电连接。开关S8的另一个电极与晶体管71的源极和漏极中的一个及开关S5的一个电极电连接。晶体管71的栅极与电容器70的一个电极、开关S5的另一个电极及晶体管69的栅极电连接。晶体管69的源极和漏极中的一个与开关S6的另一个电极电连接。晶体管71的源极和漏极中的另一个与电容器70的另一个电极、晶体管69的源极和漏极中的另一个及布线Vss电连接。
节点FN50通过连接晶体管61的源极和漏极中的另一个、晶体管62的栅极及电容器63的一个电极而形成。节点FN60通过连接晶体管64的源极和漏极中的另一个、晶体管65的栅极及电容器66的一个电极而形成。节点FN70通过连接晶体管67的栅极、电容器68的另一个电极及开关S4的一个电极而形成。节点FN80通过连接晶体管71的栅极、电容器70的一个电极、开关S5的另一个电极及晶体管69的栅极而形成。
接着,参照图10A、图10B及图11对乘法电路40a的工作的一个例子进行说明。
首先,对图10A进行说明。使开关S4、开关S7及开关S15为导通状态。节点FN50通过布线SL被写入Vgs3(=Vref+△W),晶体管62流过电流I3。节点FN70通过开关S4被提供相当于流过晶体管67的电流I3的电位。同时,节点FN60通过布线SLR被写入Vgs4(=Vref),晶体管65流过电流I4。电流I4通过开关S7流过晶体管72。因此,电容器73通过开关S15被提供相当于电流I4的电位。
接着,使开关S4、开关S7及开关S15变为关闭状态以保存提供到节点FN70及电容器73的电位。
接着,对图10B进行说明。使开关S5和开关S8为导通状态。节点FN80被提供相当于流过晶体管71的电流I4的电位。
接着,通过仅以数据△V改变信号线WD的电位,节点FN50通过电容器63被提供数据△V。也就是说,节点FN50的电位从Vgs3变至Vgs1(=Vref+△W+△V)。同时,节点FN60通过电容器66被提供数据△V。也就是说,节点FN60的电位从Vgs4变至Vgs2(=Vref+△V)。
接着,使开关S9、开关S11、开关S13及开关S14变为导通状态。相当于流过晶体管74的电流I2的电位被供应给电容器75。由于开关S13及开关S14为导通状态,所以电容器77被供应与电容器75相同的电位。因此,即便不具备开关S14和电容器75,只要晶体管74的栅极及晶体管74的源极和漏极中的另一个与布线Vdd连接就能够进行同样的工作。
接着,对图11进行说明。使开关S9、开关S11、开关S13及开关S14变为关闭状态。节点FN80保存被提供的电位。接着,使开关S6、开关S10及开关S12变为导通状态。
晶体管62可以流过电流I1,晶体管67可以流过电流I3,晶体管76可以流过电流I2,晶体管69可以流过电流I4。这里,通过使开关S1为导通状态,可以对转换电路15提供电流I5。由此,可以将△W×△V的乘法运算结果作为I5得到。
图12与图8的不同之处在于还具有包括多个存储单元的乘法单元11a、包括多个存储单元的参考单元12a及运算电路13b。另外,信号线NSEL4与开关S4电连接,信号线NSEL5与开关S7及开关S15电连接,信号线NSEL6与开关S9、开关S11及开关S13电连接,信号线NSEL7与开关S5及开关S8电连接,信号线NSEL8与开关S1、开关S6、开关S10及开关S12电连接。另外,也可以将信号线NSEL4与信号线NSEL5作为一个信号线。
但是,优选乘法单元11a与参考单元12a中的存储单元的个数相同。另外,开关S1也可以使用晶体管,更优选的是使用模拟开关。通过采用模拟开关可以更准确地进行乘法运算。
作为不同点,第一编程单元的晶体管67a的沟道宽度优选对应乘法单元11a的级数变大。因此,当乘法单元11a中连接有n级的存储单元时,优选晶体管67a的沟道宽度是晶体管62a的沟道宽度的n倍。更优选的是,大于晶体管62a的沟道宽度的n倍。
第二编程单元的晶体管69a的沟道宽度优选对应参考单元12a的级数变大。因此,当参考单元12a中连接有n级的存储单元时,优选晶体管69a的沟道宽度为晶体管65a的沟道宽度的n倍。更优选的是,大于晶体管65a的沟道宽度的n倍。
同样地,优选晶体管71a、晶体管72a、晶体管74a及晶体管76a的沟道宽度大于晶体管65a的沟道宽度的n倍。
图13示出与图5B所示的方框图不同的神经网络84c。与图5的不同之处在于图13中的神经元共有参考单元12及运算电路13。各神经元的存储单元可以通过开关90(1)至开关90(i)中的任意个连接运算对象的存储单元。通过共用参考单元12及运算电路13可以提高神经元的安装密度,由此可以进行更多的运算。
本实施方式相当于对其他实施方式的一部分或全部进行更改、追加、修正、删除、应用、上位概念化或下位概念化的方式。因此,可以将本实施方式的一部分或全部自由地组合于、应用于或替换为其他实施方式的一部分或全部而实施。
(实施方式3)
在本实施方式中,参照图14,对根据本发明的一个方式的使用将氧化物用于半导体的晶体管(OS晶体管)及电容器的存储装置(以下有时称为OS存储装置)进行说明。OS存储装置是至少包括电容器和控制该电容器的充放电的OS晶体管的存储装置。因OS晶体管的关态电流极小所以OS存储装置具有优良的保持特性,从而可以被用作非易失性存储器。
<存储装置的结构实例>
参照图14对能够用于实施方式1说明的存储器M1至存储器M3、实施方式2说明的乘法电路的存储单元MC的结构实例进行说明。
[DOSRAM]
图14A至图14C示出DRAM的存储单元MC的电路结构实例。在本说明书等中,有时将使用1OS晶体管1电容器型存储单元的DRAM称为DOSRAM(Dynamic Oxide SemiconductorRandom Access Memory)。图14A所示的存储单元1471包括晶体管T1及电容器CA。此外,晶体管T1包括栅极(有时称为前栅极)及背栅极。
晶体管T1的第一端子与电容器CA的第一端子连接,晶体管T1的第二端子与布线BIL连接,晶体管T1的栅极与布线WOL连接,晶体管T1的背栅极与布线BGL连接。电容器CA的第二端子与布线CAL连接。
布线BIL被用作位线,布线WOL被用作字线。布线CAL被用作用来对电容器CA的第二端子施加指定的电位的布线。在数据的写入及读出时,优选对布线CAL施加低电平电位。布线BGL被用作用来对晶体管T1的背栅极施加电位的布线。通过对布线BGL施加任意电位,可以增加或减少晶体管T1的阈值电压。
此外,存储单元MC不局限于存储单元1471,而可以改变其电路结构。例如,存储单元MC也可以采用如图14B所示的存储单元1472那样的晶体管T1的背栅极不与布线BGL连接,而与布线WOL连接的结构。此外,例如,存储单元MC也可以是如图14C所示的存储单元1473那样的由单栅极结构的晶体管,即不包括背栅极的晶体管T1构成的存储单元。
通过作为晶体管T1使用OS晶体管,可以使晶体管T1的泄漏电流为极低。换言之,因为可以由晶体管T1长时间保持写入的数据,所以可以降低存储单元的刷新频率。此外,还可以不进行存储单元的刷新工作。此外,由于泄漏电流极低,因此可以将多值数据或模拟数据保持在存储单元1471、存储单元1472、存储单元1473中。
此外,在DOSRAM中,虽然没有进行图示通过采用以重叠于存储单元1471下的方式设置读出放大器的结构,可以缩短位线。由此,位线电容减小,从而可以减少存储单元的存储电容。
[NOSRAM]
图14D至图14H示出2晶体管1电容器的增益单元型存储单元的电路结构实例。图14D所示的存储单元1474包括晶体管T2、晶体管T3、电容器CB。此外,晶体管T2包括前栅极(有时仅称为栅极)及背栅极。在本说明书等中,有时将包括将OS晶体管用于晶体管T2的增益单元型存储单元的存储装置称为NOSRAM(Nonvolatile Oxide Semiconductor RAM)。
晶体管T2的第一端子与电容器CB的第一端子连接,晶体管T2的第二端子与布线WBL连接,晶体管T2的栅极与布线WOL连接,晶体管T2的背栅极与布线BGL连接。电容器CB的第二端子与布线CAL连接。晶体管T3的第一端子与布线RBL连接,晶体管T3的第二端子与布线SL连接,晶体管T3的栅极与电容器CB的第一端子连接。
布线WBL被用作写入位线,布线RBL被用作读出位线,布线WOL被用作字线。布线CAL被用作用来对电容器CB的第二端子施加指定的电位的布线。在数据的写入、保持及读出时,优选对布线CAL施加低电平电位。布线BGL被用作用来对晶体管T2的背栅极施加电位的布线。通过对布线BGL施加任意电位,可以增加或减少晶体管T2的阈值电压。
此外,存储单元MC不局限于存储单元1474,而可以适当地改变其电路结构。例如,存储单元MC也可以采用如图14E所示的存储单元1475那样的晶体管T2的背栅极不与布线BGL连接,而与布线WOL连接的结构。此外,例如,存储单元MC也可以是如图14F所示的存储单元1476那样的由单栅极结构的晶体管,即不包括背栅极的晶体管T2构成的存储单元。此外,例如,存储单元MC也可以具有如图14G所示的存储单元1477那样的将布线WBL和布线RBL组合为一个布线BIL的结构。
在将上述实施方式所示的半导体装置用于存储单元1474等的情况下,作为晶体管T2可以使用晶体管41,作为晶体管T3可以使用晶体管42,作为电容器CB可以使用电容器43。通过作为晶体管T2使用OS晶体管,可以使晶体管T2的泄漏电流为极低。由此,因为可以由晶体管T2长时间保持写入的数据,所以可以降低存储单元的刷新频率。此外,还可以不进行存储单元的刷新工作。此外,由于泄漏电流极低,因此可以将多值数据或模拟数据保持在存储单元1474中。存储单元1475至1477也是同样的。
此外,晶体管T3也可以是Si晶体管。Si晶体管的导电型可以是n沟道型或p沟道型。Si晶体管的场效应迁移率有时比OS晶体管高。因此,作为用作读出晶体管的晶体管T3,也可以使用Si晶体管。此外,通过将Si晶体管用于晶体管T3,可以层叠于晶体管T3上地设置晶体管T2,从而可以减少存储单元的占有面积,并可以实现存储装置的高集成化。
此外,晶体管T3也可以是OS晶体管。在将OS晶体管用于晶体管T2、M3时,可以仅使用n型晶体管构成存储单元1474至存储单元1477。
此外,图14H示出3晶体管1电容器的增益单元型存储单元的一个例子。图14H所示的存储单元1478包括晶体管T4至T6及电容器CC。电容器CC可以适当地设置。存储单元1478与布线BIL、RWL、WWL、BGL及GNDL电连接。布线GNDL是供应低电平电位的布线。此外,也可以将存储单元1478电连接到布线RBL、WBL,而不与布线BIL电连接。
晶体管T4是包括背栅极的OS晶体管,该背栅极与布线BGL电连接。此外,也可以使晶体管T4的背栅极和栅极互相电连接。或者,晶体管T4也可以不包括背栅极。
此外,晶体管T5、T6各自可以是n沟道型Si晶体管或p沟道型Si晶体管。或者,晶体管T4至T6都是OS晶体管。在此情况下,可以仅使用n型晶体管构成存储单元1478。
注意,本实施方式所示的存储单元1471至存储单元1478等的结构不局限于上述结构。另外,也可以根据需要改变,去除或追加这些电路及连接到该电路的布线、电路元件等的配置或功能。
本实施方式可以与其他实施方式等所记载的结构适当地组合而实施。
本实施方式相当于对其他实施方式的一部分或全部进行更改、追加、修正、删除、应用、上位概念化或下位概念化的方式。因此,可以将本实施方式的一部分或全部自由地组合于、应用于或替换为其他实施方式的一部分或全部而实施。
(实施方式4)
在本实施方式中,参照图15说明安装有本发明的半导体装置的芯片1200的一个例子。在芯片1200上安装有多个电路(系统)。如此,在一个芯片上集成有多个电路(系统)的技术有时被称为系统芯片(System on Chip:SoC)。
如图15A所示,芯片1200包括CPU(CentralProcessingUnit)1211、GPU(GraphicsProcessingUnit)1212、模拟运算部1213、存储器控制器1214、接口1215、网络电路1216等。GPU优选具有神经网络。
在芯片1200上设置有凸块(未图示),该凸块如图15B所示那样与印刷线路板(PrintedCircuitBoard:PCB)1201的第一面连接。此外,在PCB1201的第一面的背面设置有多个凸块1202,该凸块1202与母板1203连接。
此外,也可以在母板1203上设置有DRAM1221、闪存1222等的存储装置。例如,可以将上述实施方式所示的DOSRAM应用于DRAM1221。此外,例如,可以将上述实施方式所示的NOSRAM应用于闪存1222。
CPU1211优选具有多个CPU核。此外,GPU1212优选具有多个GPU核。此外,CPU1211和GPU1212可以分别具有暂时储存数据的存储器。或者,也可以在芯片1200上设置有CPU1211和GPU1212共同使用的存储器。可以将上述NOSRAM或DOSRAM应用于该存储器。此外,GPU1212适合用于多个数据的并行计算,其可以用于图像处理或积和运算。通过作为GPU1212设置使用本发明的氧化物半导体的图像处理电路或积和运算电路,可以以低耗电量执行图像处理及积和运算。
此外,因为在同一芯片上设置有CPU1211和GPU1212,所以可以缩短CPU1211和GPU1212之间的布线,并可以以高速进行从CPU1211到GPU1212的数据传送、CPU1211及GPU1212所具有存储器之间的数据传送以及GPU1212中的运算结束之后的从GPU1212到CPU1211的运算结果传送。
模拟运算部1213具有模拟/数字(A/D)转换电路和数字/模拟(D/A)转换电路中的一方或双方。此外,也可以在模拟运算部1213中设置上述积和运算电路。
存储控制器1214具有用作DRAM1221的控制器的电路及用作闪存1222的接口的电路。
接口1215具有与如显示装置、扬声器、麦克风、影像拍摄装置、控制器等外部连接设备之间的接口电路。控制器包括鼠标、键盘、游戏机用控制器等。作为上述接口,可以使用通用串行总线(USB)、高清晰度多媒体接口(HDMI)(注册商标)等。
网络电路1216具有局域网(LAN)等网络电路。此外,还可以具有网络安全用电路。
上述电路(系统)可以经同一制造工序形成在芯片1200上。由此,即使芯片1200所需的电路个数增多,也不需要增加制造工序,可以以低成本制造芯片1200。
可以将包括设置有具有GPU1212的芯片1200的PCB1201、DRAM1221以及闪存1222的母板1203称为GPU模块1204。
GPU模块1204因具有使用SoC技术的芯片1200而可以减少其尺寸。此外,GPU模块1204因具有高图像处理能力而适合用于智能手机、平板终端、膝上型个人计算机、便携式(可携带)游戏机等便携式电子设备。此外,通过利用使用GPU1212的积和运算电路,可以执行深度神经网络(DNN)、卷积神经网络(CNN)、递归神经网络(RNN)、自动编码器、深度玻尔兹曼机(DBM)、深度置信网络(DBN)等运算,由此可以将芯片1200用作AI芯片,或者,可以将GPU模块用作AI系统模块。
本实施方式所示的结构可以与其他实施方式所示的结构适当地组合而实施。
(实施方式5)
在本实施方式中,说明使用上述实施方式所示的半导体装置的存储装置的应用例子。上述实施方式所示的半导体装置例如可以应用于各种电子设备(例如,信息终端、计算机、智能手机、电子书阅读器终端、数码相机(也包括摄像机)、录像再现装置、导航系统等)的存储装置。注意,在此,计算机包括平板电脑、笔记型计算机、台式计算机以及大型计算机诸如服务器系统。或者,上述实施方式所示的半导体装置应用于存储器卡(例如,SD卡)、USB存储器、SSD(固态硬盘)等各种可移动存储装置。图16示意性地示出可移动存储装置的几个结构实例。例如,上述实施方式所示的半导体装置加工为被封装的存储器芯片并用于各种存储装置或可移动存储器。
图16A是USB存储器的示意图。USB存储器1100包括外壳1101、盖子1102、USB连接器1103及基板1104。基板1104被容纳在外壳1101中。例如,基板1104上安装有存储器芯片1105及控制器芯片1106。可以将上述实施方式所示的半导体装置组装于基板1104上的存储器芯片1105等。
图16B是SD卡的外观示意图,图16C是SD卡的内部结构的示意图。SD卡1110包括外壳1111、连接器1112及基板1113。基板1113被容纳在外壳1111中。例如,基板1113上安装有存储器芯片1114及控制器芯片1115。通过在基板1113的背面一侧也设置存储器芯片1114,可以增大SD卡1110的容量。此外,也可以将具有无线通信功能的无线芯片设置于基板1113。由此,通过主机装置与SD卡1110之间的无线通信,可以进行存储器芯片1114的数据的读出及写入。可以将上述实施方式所示的半导体装置组装于基板1113上的存储器芯片1114等。
图16D是SSD的外观示意图,图16E是SSD的内部结构的示意图。SSD1150包括外壳1151、连接器1152及基板1153。基板1153被容纳在外壳1151中。例如,基板1153上安装有存储器芯片1154、存储器芯片1155及控制器芯片1156。存储器芯片1155为控制器芯片1156的工作存储器,例如,可以使用DOSRAM芯片。通过在基板1153的背面一侧也设置存储器芯片1154,可以增大SSD1150的容量。可以将上述实施方式所示的半导体装置组装于基板1153上的存储器芯片1154等。
本实施方式可以与其他实施方式等所记载的结构适当地组合而实施。
(实施方式6)
<电子设备>
本发明的一个方式的半导体装置可以应用于各种电子设备。图17示出使用根据本发明的一个方式的半导体装置的电子设备的具体例子。
图17A示出显示器830。显示器830包括显示部831、外壳832、扬声器833等。另外,LED灯、操作键(包括电源开关或操作开关)、连接端子、各种传感器以及麦克风等。或者,也可以利用遥控操作机834对显示器830进行操作。
显示器830接收广播电波,可以用作电视装置。
作为显示器830能够接收的广播电波,可以举出地上波或从卫星发送的电波等。此外,作为广播电波,有模拟广播、数字广播等,还有影像及声音的广播或只有声音的广播等。例如,可以接收UHF频带(300MHz以上且3GHz以下)或者VHF频带(30MHz以上且300MHz以下)中的指定的频带发送的广播电波。例如,通过使用在多个频带中接收的多个数据,可以提高传输率,从而可以获得更多的信息。由此,可以将具有超过全高清的分辨率的影像显示在显示部831上。例如,可以显示具有4K-2K、8K-4K、16K-8K或更高的分辨率的影像。
另外,也可以采用如下结构:使用广播数据来生成显示在显示部831上的图像,该广播数据是利用通过因特网、LAN(Local Area Network:局域网)、Wi-Fi(注册商标)等计算机网络的数据传输技术而传输的。此时,显示器830也可以不包括调谐器。
另外,当显示器830与计算机连接时可以用作计算机用显示器。另外,与计算机连接的显示器830可以进行多人同时阅览,可以用于会议系统。另外,通过利用网络显示计算机数据并使显示器830与网络连接可以将显示器830用于电视会议系统。
另外,显示器830可以用作数字标牌。
例如,可以将本发明的一个方式的半导体装置用于显示部的驱动电路或图像处理部。通过将本发明的一个方式的半导体装置用于显示部的驱动电路或图像处理部,可以以低功率进行高速的工作或信号处理。
另外,通过将使用了本发明的一个方式的半导体装置的AI系统用于显示器830的图像处理部,可以进行噪声去除处理、灰度转换处理、色调校正处理、亮度校正处理等图像处理。另外,可以执行如下处理:伴随分辨率的上变频(up-conversion)的像素间补充处理;以及伴随帧频的上变频的帧间补充等的处理。另外,灰度转换处理不仅只转换图像的灰度数,当增大灰度数时还进行灰度值的补充。此外,扩大动态范围的高动态范围(HDR)处理也包括在灰度转换处理中。
图17B所示的摄像机2940包括外壳2941、外壳2942、显示部2943、操作开关2944、透镜2945及连接部2946等。操作开关2944及透镜2945设置在外壳2941中,显示部2943设置在外壳2942中。另外,摄像机2940在外壳2941的内侧具有天线、电池等。而且,外壳2941和外壳2942由连接部2946连接,由连接部2946可以改变外壳2941和外壳2942之间的角度。可以根据外壳2942与外壳2941所形成的角度而改变显示在显示部2943中的图像的方向并切换图像的显示/非显示。
例如,可以将本发明的一个方式的半导体装置用于显示部的驱动电路或图像处理部。通过将本发明的一个方式的半导体装置用于显示部的驱动电路或图像处理部,可以以低功率进行高速的工作或信号处理。
另外,通过将使用本发明的一个方式的半导体装置的AI系统用于摄像机2940的图像处理部,可以实现对应摄像机2940周围的环境的摄影。具体而言,可以以对应周围的亮度的最佳的曝光进行摄影。另外,当同时在逆光、室内、室外等亮度不同的情况下进行摄影时,可以进行高动态范围(HDR)摄影。
另外,AI系统可以学习摄影者的摄影时的习惯而对摄影进行辅助。具体而言,学习摄影者的手抖的习惯并在摄影时对应其进行校正,由此可以尽量地减少拍摄的图像中因手抖而导致的图像畸变。另外,当摄影时使用变焦距功能时可以以被摄像体一直位于图像的中心的方式控制透镜的方向等。
图17C所示的信息终端2910在外壳2911中包括显示部2912、麦克风2917、扬声器部2914、照相机2913、外部连接部2916及操作开关2915等。显示部2912设置有使用柔性衬底的显示面板及触摸屏。另外,信息终端2910在外壳2911的内侧具有天线、电池等。信息终端2910例如可以被用作智能手机、移动电话、平板信息终端、平板电脑或电子书阅读器终端等。
例如,使用本发明的一个方式的半导体装置的存储装置可以长时间地保持上述信息终端2910的控制数据及控制程序等。
另外,通过将使用了本发明的一个方式的半导体装置的AI系统用于信息终端2910的图像处理部,可以进行噪声去除处理、灰度转换处理、色调校正处理、亮度校正处理等图像处理。另外,可以执行如下处理:伴随分辨率的上变频的像素间补充处理;以及伴随帧频的上变频的帧间补充等的处理。另外,灰度转换处理不仅只转换图像的灰度数,当增大灰度数时还进行灰度值的补充。此外,扩大动态范围的高动态范围(HDR)处理也包括在灰度转换处理中。
另外,AI系统学习使用者的习惯可以对信息终端2910的操作进行辅助。安装有AI系统的信息终端2910可以从使用者的手指的动作或视线等预测触摸输入。
图17D所示的膝上型个人计算机2920包括外壳2921、显示部2922、键盘2923及指向装置2924等。另外,膝上型个人计算机2920在外壳2921的内侧具有天线、电池等。
例如,使用本发明的一个方式的半导体装置的存储装置可以长时间地保持膝上型个人计算机2920的控制数据及控制程序等。
另外,通过将使用了本发明的一个方式的半导体装置的AI系统用于膝上型个人计算机2920的图像处理部,可以进行噪声去除处理、灰度转换处理、色调校正处理、亮度校正处理等图像处理。另外,可以执行如下处理:伴随分辨率的上变频的像素间补充处理;以及伴随帧频的上变频的帧间补充等的处理。另外,灰度转换处理不仅只转换图像的灰度数,当增大灰度数时还进行灰度值的补充。此外,扩大动态范围的高动态范围(HDR)处理也包括在灰度转换处理中。
另外,AI系统学习使用者的习惯,可以对膝上型个人计算机2920的操作进行辅助。安装有AI系统的膝上型个人计算机2920可以通过使用者的手指的动作以及视线等预测对显示部2922的触摸输入。另外,在文本的输入中,AI系统通过过去输入的文本信息、上下文或如照片等的图来预测输入,以辅助转换。由此,可以尽可能地减低输入错误及转换错误。
图17E是示出汽车的一个例子的外观图,图17F示出导航装置860。汽车2980包括车身2981、车轮2982、仪表盘2983及灯2984等。另外,汽车2980具有天线、电池等。导航装置860包括显示部861、操作按钮862及外部输入端子863。汽车2980与导航装置860可以分别独立,但是优选将导航装置860安装至汽车2980而能够联动地工作。
例如,使用本发明的一个方式的半导体装置的存储装置可以长期地保持汽车2980及导航装置860的控制数据及控制程序等。另外,通过将使用本发明的一个方式的半导体装置的AI系统用于汽车2980的控制装置等,AI系统可以学习驾驶者的驾驶技术和驾驶时的习惯,从而辅助驾驶者进行安全驾驶以及辅助高效利用汽油、电池等燃料的驾驶。为了辅助驾驶者进行安全驾驶,不仅需要学习驾驶者的驾驶技术和习惯,还要对汽车2980的速度及移动方法等汽车的举动以及导航装置860中保存的道路信息等进行综合学习,从而可以防止发生车道偏离以及撞到其它汽车、步行者或结构体等。具体而言,当前方有急转弯时,导航装置860将该道路信息发送至汽车2980,由此可以控制汽车2980的速度并辅助方向盘操作。
本实施方式可以与其他实施方式等所记载的结构适当地组合而实施。
(实施方式7)
本实施方式中说明能够用于上述实施方式说明的GPU或计算机的半导体装置及能够用于该半导体装置的OS晶体管的结构实例。
〈半导体装置的结构实例〉
图18所示的半导体装置包括晶体管300、晶体管200及电容器100。图19A是晶体管200的沟道长度方向上的截面图,图19B是晶体管200的沟道宽度方向上的截面图,图19C是晶体管300的沟道宽度方向上的截面图。
晶体管200是在包含氧化物半导体的半导体层中形成沟道的晶体管。由于晶体管200的关态电流小,所以通过将其用于半导体装置,可以长期间保持存储内容。换言之,不需要刷新工作或刷新工作的频率极低,所以可以充分减小半导体装置的功耗。
在图18所示的半导体装置中,布线1001与晶体管300的源极和漏极中的一个连接,布线1002与晶体管300的源极和漏极中的另一个连接。另外,布线1003与晶体管200的源极和漏极中的一个连接,布线1004与晶体管200的顶栅极连接,布线1006与晶体管200的底栅极连接。并且,晶体管300的栅极及晶体管200的源极和漏极中的另一个与电容器100的一个电极连接,布线1005与电容器100的另一个电极连接。
在此,当对实施方式3所示的存储单元使用本实施方式所示的半导体装置时,晶体管T2对应于晶体管200,晶体管T3对应于晶体管300,电容器CB对应于电容器100。另外,布线SL对应于布线1001,布线RBL对应于布线1002,布线WBL对应于布线1003,布线WOL对应于布线1004,布线CAL对应于布线1005,布线BGL对应于布线1006。
另外,当对实施方式2所示的运算电路使用本实施方式所示的半导体装置时,作为一个例子,晶体管42对应于晶体管300,晶体管41对应于晶体管200,电容器43对应于电容器100。
另外,当对存储单元和运算电路的双方使用本实施方式所示的半导体装置时,可以分别在同一工序中形成晶体管T3和晶体管42、晶体管T2和晶体管41、电容器CB和电容器43。由此,可以简化制造工序,由此可以降低成本。
如图18所示,在本发明的一个方式的半导体装置包括晶体管300、晶体管200及电容器100。晶体管200设置在晶体管300的上方,电容器100设置在晶体管300及晶体管200的上方。
晶体管300设置在衬底311上,并包括:导电体316、绝缘体315、由衬底311的一部分构成的半导体区域313;以及被用作源区或漏区的低电阻区域314a及低电阻区域314b。
如图19C所示,在晶体管300中,导电体316隔着绝缘体315覆盖半导体区域313的顶面及沟道宽度方向的侧面。如此,通过使晶体管300具有Fin型结构,实效上的沟道宽度增加,所以可以改善晶体管300的通态特性。此外,由于可以增加栅电极的电场的影响,所以可以改善晶体管300的关态特性。
另外,晶体管300可以为p沟道晶体管或n沟道晶体管。
半导体区域313的沟道形成区或其附近的区域、被用作源区或漏区的低电阻区域314a及低电阻区域314b等优选包含硅类半导体等半导体,更优选包含单晶硅。此外,也可以使用包含Ge(锗)、SiGe(硅锗)、GaAs(砷化镓)、GaAlAs(镓铝砷)等的材料形成。可以使用对晶格施加应力,改变晶面间距而控制有效质量的硅。此外,晶体管300也可以是使用GaAs和GaAlAs等的HEMT(High Electron MobilityTransistor:高电子迁移率晶体管)。
在低电阻区域314a及低电阻区域314b中,除了应用于半导体区域313的半导体材料之外,还包含砷、磷等赋予n型导电性的元素或硼等赋予p型导电性的元素。
作为被用作栅电极的导电体316,可以使用包含砷、磷等赋予n型导电性的元素或硼等赋予p型导电性的元素的硅等半导体材料、金属材料、合金材料或金属氧化物材料等导电材料。
此外,由于导电体的材料决定功函数,所以通过改变导电体的材料,可以调整Vth。具体而言,作为导电体优选使用氮化钛或氮化钽等材料。为了兼具导电性和埋入性,作为导电体优选使用钨或铝等金属材料的叠层,尤其在耐热性方面上优选使用钨。
注意,图18所示的晶体管300的结构只是一个例子,不局限于上述结构,根据电路结构或驱动方法使用适当的晶体管即可。例如,与晶体管200同样,也可以在晶体管300中使用氧化物半导体。
以覆盖晶体管300的方式依次层叠有绝缘体320、绝缘体322、绝缘体324及绝缘体326。
作为绝缘体320、绝缘体322、绝缘体324及绝缘体326,例如可以使用氧化硅、氧氮化硅、氮氧化硅、氮化硅、氧化铝、氧氮化铝、氮氧化铝及氮化铝等。
绝缘体322也可以被用作使因设置在其下方的晶体管300等而产生的台阶平坦化的平坦化膜。例如,为了提高绝缘体322的顶面的平坦性,其顶面也可以通过利用化学机械抛光(CMP)法等的平坦化处理被平坦化。
作为绝缘体324,优选使用能够防止氢或杂质从衬底311或晶体管300等扩散到设置有晶体管200的区域中的具有阻挡性的膜。
作为对氢具有阻挡性的膜的一个例子,例如可以使用通过CVD法形成的氮化硅。在此,有时氢扩散到晶体管200等具有氧化物半导体的半导体元件中,导致该半导体元件的特性下降。因此,优选在晶体管200与晶体管300之间设置抑制氢的扩散的膜。具体而言,抑制氢的扩散的膜是指氢的脱离量少的膜。
氢的脱离量例如可以利用热脱附谱分析法(TDS(Thermal DesorptionSpectroscopy))等测量。例如,在TDS分析中的膜表面温度为50℃至500℃的范围内,当将换算为氢原子的脱离量换算为绝缘体324的每单位面积的量时,绝缘体324中的氢的脱离量为10×1015atoms/cm2以下,优选为5×1015atoms/cm2以下,即可。
注意,绝缘体326的介电常数优选比绝缘体324低。例如,绝缘体326的相对介电常数优选低于4,更优选低于3。例如,绝缘体326的相对介电常数优选为绝缘体324的相对介电常数的0.7倍以下,更优选为0.6倍以下。通过将介电常数低的材料用于层间膜,可以减少产生在布线之间的寄生电容。
此外,在绝缘体320、绝缘体322、绝缘体324及绝缘体326中埋入与电容器100或晶体管200连接的导电体328、导电体330等。此外,导电体328及导电体330具有插头或布线的功能。注意,有时使用同一附图标记表示具有插头或布线的功能的多个导电体。此外,在本说明书等中,布线、与布线连接的插头也可以是一个构成要素。就是说,导电体的一部分有时被用作布线,并且导电体的一部分有时被用作插头。
作为各插头及布线(导电体328及导电体330等)的材料,可以使用金属材料、合金材料、金属氮化物材料或金属氧化物材料等导电材料的单层或叠层。优选使用兼具耐热性和导电性的钨或钼等高熔点材料,尤其优选使用钨。或者,优选使用铝或铜等低电阻导电材料。通过使用低电阻导电材料可以降低布线电阻。
也可以在绝缘体326及导电体330上形成布线层。例如,在图18中,依次层叠有绝缘体350、绝缘体352及绝缘体354。此外,在绝缘体350、绝缘体352及绝缘体354中形成有导电体356。导电体356具有与晶体管300连接的插头或布线的功能。此外,导电体356可以使用与导电体328及导电体330同样的材料形成。
此外,与绝缘体324同样,绝缘体350例如优选使用对氢具有阻挡性的绝缘体。此外,导电体356优选包含对氢具有阻挡性的导电体。尤其是,在对氢具有阻挡性的绝缘体350所具有的开口中形成对氢具有阻挡性的导电体。通过采用该结构,可以使用阻挡层将晶体管300与晶体管200分离,从而可以抑制氢从晶体管300扩散到晶体管200中。
注意,作为对氢具有阻挡性的导电体,例如优选使用氮化钽等。此外,通过层叠氮化钽和导电性高的钨,不但可以保持作为布线的导电性而且可以抑制氢从晶体管300扩散。此时,对氢具有阻挡性的氮化钽层优选与对氢具有阻挡性的绝缘体350接触。
此外,也可以在绝缘体354及导电体356上形成布线层。例如,在图18中,依次层叠有绝缘体360、绝缘体362及绝缘体364。此外,在绝缘体360、绝缘体362及绝缘体364中形成有导电体366。导电体366具有插头或布线的功能。此外,导电体366可以使用与导电体328及导电体330同样的材料形成。
此外,与绝缘体324同样,绝缘体360例如优选使用对氢具有阻挡性的绝缘体。此外,导电体366优选包含对氢具有阻挡性的导电体。尤其是,在对氢具有阻挡性的绝缘体360所具有的开口中形成对氢具有阻挡性的导电体。通过采用该结构,可以使用阻挡层将晶体管300与晶体管200分离,从而可以抑制氢从晶体管300扩散到晶体管200中。
此外,也可以在绝缘体364及导电体366上形成布线层。例如,在图18中,依次层叠有绝缘体370、绝缘体372及绝缘体374。此外,在绝缘体370、绝缘体372及绝缘体374中形成有导电体376。导电体376具有插头或布线的功能。此外,导电体376可以使用与导电体328及导电体330同样的材料形成。
此外,与绝缘体324同样,绝缘体370例如优选使用对氢具有阻挡性的绝缘体。此外,导电体376优选包含对氢具有阻挡性的导电体。尤其是,在对氢具有阻挡性的绝缘体370所具有的开口中形成对氢具有阻挡性的导电体。通过采用该结构,可以使用阻挡层将晶体管300与晶体管200分离,从而可以抑制氢从晶体管300扩散到晶体管200中。
此外,也可以在绝缘体374及导电体376上形成布线层。例如,在图18中,依次层叠有绝缘体380、绝缘体382及绝缘体384。此外,在绝缘体380、绝缘体382及绝缘体384中形成有导电体386。导电体386具有插头或布线的功能。此外,导电体386可以使用与导电体328及导电体330同样的材料形成。
此外,与绝缘体324同样,绝缘体380例如优选使用对氢具有阻挡性的绝缘体。此外,导电体386优选包含对氢具有阻挡性的导电体。尤其是,在对氢具有阻挡性的绝缘体380所具有的开口中形成对氢具有阻挡性的导电体。通过采用该结构,可以使用阻挡层将晶体管300与晶体管200分离,从而可以抑制氢从晶体管300扩散到晶体管200中。
在上面说明包括导电体356的布线层、包括导电体366的布线层、包括导电体376的布线层及包括导电体386的布线层,但是本实施方式的半导体装置不局限于此。与包括导电体356的布线层同样的布线层可以为三层以下,与包括导电体356的布线层同样的布线层可以为五层以上。
在绝缘体384上依次层叠有绝缘体210、绝缘体212、绝缘体214及绝缘体216。绝缘体210、绝缘体212、绝缘体214及绝缘体216中的任意个优选使用对氧或氢具有阻挡性的物质。
例如,作为绝缘体210及绝缘体214,优选使用能够防止氢或杂质从衬底311或设置有晶体管300的区域等扩散到设置有晶体管200的区域中的具有阻挡性的膜。因此,绝缘体210及绝缘体214可以使用与绝缘体324同样的材料。
作为对氢具有阻挡性的膜的一个例子,可以使用通过CVD法形成的氮化硅。在此,有时氢扩散到晶体管200等具有氧化物半导体的半导体元件中,导致该半导体元件的特性下降。因此,优选在晶体管300与晶体管200之间设置抑制氢的扩散的膜。具体而言,抑制氢的扩散的膜是指氢的脱离量少的膜。
例如,作为对氢具有阻挡性的膜,绝缘体210及绝缘体214优选使用氧化铝、氧化铪、氧化钽等金属氧化物。
尤其是,氧化铝的不使氧及导致晶体管的电特性变动的氢、水分等杂质透过的阻挡效果高。因此,在晶体管的制造工序中及制造工序之后,氧化铝可以防止氢、水分等杂质进入晶体管200中。此外,氧化铝可以抑制氧从构成晶体管200的氧化物释放。因此,氧化铝适合用于晶体管200的保护膜。
例如,作为绝缘体212及绝缘体216,可以使用与绝缘体320同样的材料。此外,通过由介电常数较低的材料形成层间膜,可以减少产生在布线之间的寄生电容。例如,作为绝缘体212及绝缘体216,可以使用氧化硅膜和氧氮化硅膜等。
此外,在绝缘体210、绝缘体212、绝缘体214及绝缘体216中埋入有导电体218、构成晶体管200的导电体(导电体203)等。此外,导电体218被用作与电容器100或晶体管300连接的插头或布线。导电体218可以使用与导电体328及导电体330同样的材料形成。
尤其是,与绝缘体210及绝缘体214接触的区域的导电体218优选为对氧、氢及水具有阻挡性的导电体。通过采用该结构,可以利用对氧、氢及水具有阻挡性的层将晶体管300与晶体管200分离,从而可以抑制氢从晶体管300扩散到晶体管200中。
在绝缘体216的上方设置有晶体管200。
如图19A和图19B所示,晶体管200包括:嵌入在绝缘体214及绝缘体216中的导电体203;配置在绝缘体216及导电体203上的绝缘体220;配置在绝缘体220上的绝缘体222;配置在绝缘体222上的绝缘体224;配置在绝缘体224上的氧化物230a;配置在氧化物230a上的氧化物230b;配置在氧化物230b上且彼此隔开的导电体242a及导电体242b;配置在导电体242a及导电体242b上且形成有与导电体242a和导电体242b之间重叠的开口的绝缘体280;配置在开口中的导电体260;配置在氧化物230b、导电体242a、导电体242b及绝缘体280与导电体260之间的绝缘体250;配置在氧化物230b、导电体242a、导电体242b及绝缘体280与绝缘体250之间的氧化物230c。另外,如图19A、B所示,优选在氧化物230a、氧化物230b、导电体242a及导电体242b与绝缘体280之间配置有绝缘体244。另外,如图19A、B所示,导电体260优选包括配置在绝缘体250的内侧的导电体260a及以嵌入导电体260a的内侧的方式配置的导电体260b。另外,如图19A、B所示,优选在绝缘体280、导电体260及绝缘体250上配置有绝缘体274。
注意,下面有时将氧化物230a、氧化物230b及氧化物230c统称为氧化物230。此外,有时将导电体242a及导电体242b统称为导电体242。
在晶体管200中,在形成沟道的区域及其附近层叠有氧化物230a、氧化物230b及氧化物230c的三层,但是本发明不局限于此。例如,可以设置氧化物230b的单层、氧化物230b与氧化物230a的两层结构、氧化物230b与氧化物230c的两层结构或者四层以上的叠层结构。另外,在晶体管200中,导电体260具有两层结构,但是本发明不局限于此。例如,导电体260也可以具有单层结构或三层以上的叠层结构。注意,图18、图19A、图19B所示的晶体管200的结构只是一个例子而不局限于上述结构,可以根据电路结构或驱动方法使用适当的晶体管。
在此,导电体260被用作晶体管的栅电极,导电体242a及导电体242b被用作源电极或漏电极。如上所述,导电体260填埋于绝缘体280的开口中及夹在导电体242a与导电体242b之间的区域。导电体260、导电体242a及导电体242b相对于绝缘体280的开口的配置是自对准地被选择。换言之,在晶体管200中,可以在源电极与漏电极之间自对准地配置栅电极。由此,可以在不设置用于对准的余地的方式形成导电体260,所以可以实现晶体管200的占有面积的缩小。由此,可以实现半导体装置的微型化及高集成化。
再者,导电体260自对准地形成在导电体242a与导电体242b之间的区域,所以导电体260不包括与导电体242a及导电体242b重叠的区域。由此,可以降低形成在导电体260与导电体242a及导电体242b之间的寄生电容。因此,可以提高晶体管200的开关速度,从而晶体管200可以具有高频率特性。
导电体260有时被用作第一栅(也称为顶栅极)电极。导电体203有时被用作第二栅(也称为底栅极)电极。在此情况下,通过独立地改变供应到导电体203的电位而不使其与供应到导电体260的电位联动,可以控制晶体管200的Vth。尤其是,通过对导电体203供应负电位,可以使晶体管200的Vth大于0V且可以减小关态电流。因此,与不对导电体203施加负电位时相比,在对导电体203施加负电位的情况下,可以减小对导电体260供应的电位为0V时的漏极电流。
导电体203以与氧化物230及导电体260重叠的方式配置。由此,在对导电体260及导电体203供应电位的情况下,从导电体260产生的电场和从导电体203产生的电场连接,可以覆盖形成在氧化物230中的沟道形成区域。在本说明书中,将由第一栅电极的电场和第二栅电极的电场电围绕沟道形成区的晶体管的结构称为surrounded channel(S-channel:围绕沟道)结构。
另外,导电体203具有与导电体218同样的结构,以与绝缘体214及绝缘体216的开口的内壁接触的方式形成有导电体203a,其内侧形成有导电体203b。
绝缘体220、绝缘体222、绝缘体224及绝缘体250被用作栅极绝缘体。
在此,与氧化物230接触的绝缘体224优选使用包含超过化学计量组成的氧的绝缘体。换言之,优选在绝缘体224中形成有过剩氧区域。通过以与氧化物230接触的方式设置上述包含过剩氧的绝缘体,可以减少氧化物230中的氧空位,从而可以提高晶体管200的可靠性。
具体而言,作为具有过剩氧区域的绝缘体,优选使用通过加热使一部分的氧脱离的氧化物材料。通过加热使氧脱离的氧化物是指在TDS分析中换算为氧原子的氧的脱离量为1.0×1018atoms/cm3以上,优选为1.0×1019atoms/cm3以上,进一步优选为2.0×1019atoms/cm3以上,或者3.0×1020atoms/cm3以上的氧化物膜。另外,进行上述TDS分析时的膜的表面温度优选在100℃以上且700℃以下,或者100℃以上且400℃以下的范围内。
当绝缘体224具有过剩氧区域时,绝缘体222优选具有抑制氧(例如,氧原子、氧分子等中的至少一个)的扩散的功能(不容易使上述氧透过)。
当绝缘体222具有抑制氧或杂质的扩散的功能时,氧化物230所包含的氧不扩散到绝缘体220一侧,所以是优选的。另外,可以抑制导电体203与绝缘体224或氧化物230所包含的氧起反应。
作为绝缘体222,例如优选使用包含氧化铝、氧化铪、氧化钽、氧化锆、锆钛酸铅(PZT)、钛酸锶(SrTiO3)或(Ba,Sr)TiO3(BST)等的绝缘体的单层或叠层。当进行晶体管的微型化及高集成化时,由于栅极绝缘体的薄膜化,有时发生泄漏电流等问题。通过作为被用作栅极绝缘体的绝缘体使用high-k材料,可以在保持物理厚度的同时降低晶体管工作时的栅极电位。
尤其是,优选使用作为具有抑制杂质及氧等的扩散的功能(不容易使上述氧透过)的绝缘材料的包含铝和铪中的一方或双方的氧化物的绝缘体。作为包含铝和铪中的一方或双方的氧化物的绝缘体,优选使用氧化铝、氧化铪、包含铝及铪的氧化物(铝酸铪)等。当使用这种材料形成绝缘体222时,绝缘体222被用作抑制氧从氧化物230释放或氢等杂质从晶体管200的周围部进入氧化物230的层。
或者,例如也可以对上述绝缘体添加氧化铝、氧化铋、氧化锗、氧化铌、氧化硅、氧化钛、氧化钨、氧化钇、氧化锆。此外,也可以对上述绝缘体进行氮化处理。还可以在上述绝缘体上层叠氧化硅、氧氮化硅或氮化硅。
绝缘体220优选具有热稳定性。例如,因为氧化硅及氧氮化硅具有热稳定性,所以是优选的。另外,通过high-k材料的绝缘体与氧化硅或氧氮化硅组合,可以形成具有热稳定性且相对介电常数高的叠层结构的绝缘体220。
绝缘体220、绝缘体222及绝缘体224也可以具有两层以上的叠层结构。此时,不局限于使用相同材料构成的叠层结构,也可以是使用不同材料形成的叠层结构。
在晶体管200中,优选将被用作氧化物半导体的金属氧化物用于包含沟道形成区域的氧化物230。例如,作为氧化物230优选使用In-M-Zn氧化物(元素M为选自铝、镓、钇、铜、钒、铍、硼、钛、铁、镍、锗、锆、钼、镧、铈、钕、铪、钽、钨和镁等中的一种或多种)等金属氧化物。此外,作为氧化物230,也可以使用In-Ga氧化物、In-Zn氧化物。
作为在氧化物230中被用作沟道形成区域的金属氧化物,优选使用其带隙为2eV以上,优选为2.5eV以上的金属氧化物。如此,通过使用带隙较宽的金属氧化物,可以减小晶体管的关态电流。
在氧化物230中,当在氧化物230b之下设置有氧化物230a时,可以防止杂质从形成在氧化物230a下的结构物扩散到氧化物230b。当在氧化物230b之上设置有氧化物230c时,可以防止杂质从形成在氧化物230c的上方的结构物扩散到氧化物230b。
另外,氧化物230优选具有各金属原子的原子个数比互不相同的氧化物的叠层结构。具体而言,用于氧化物230a的金属氧化物的构成元素中的元素M的原子个数比优选大于用于氧化物230b的金属氧化物的构成元素中的元素M的原子个数比。另外,用于氧化物230a的金属氧化物中的相对于In的元素M的原子个数比优选大于用于氧化物230b的金属氧化物中的相对于In的元素M的原子个数比。另外,用于氧化物230b的金属氧化物中的相对于元素M的In的原子个数比优选大于用于氧化物230a的金属氧化物中的相对于元素M的In的原子个数比。另外,氧化物230c可以使用可用于氧化物230a或氧化物230b的金属氧化物。
优选的是,使氧化物230a及氧化物230c的导带底的能量高于氧化物230b的导带底的能量。换言之,氧化物230a及氧化物230c的电子亲和势优选小于氧化物230b的电子亲和势。
在此,在氧化物230a、氧化物230b及氧化物230c的接合部中,导带底的能级平缓地变化。换言之,也可以将上述情况表达为氧化物230a、氧化物230b及氧化物230c的接合部的导带底的能级连续地变化或者连续地接合。为此,优选降低形成在氧化物230a与氧化物230b的界面以及氧化物230b与氧化物230c的界面的混合层的缺陷态密度。
具体而言,通过使氧化物230a与氧化物230b、以及氧化物230b与氧化物230c除了氧之外还包含共同元素(为主要成分),可以形成缺陷态密度低的混合层。例如,在氧化物230b为In-Ga-Zn氧化物的情况下,作为氧化物230a及氧化物230c优选使用In-Ga-Zn氧化物、Ga-Zn氧化物及氧化镓等。
此时,载流子的主要路径为氧化物230b。通过使氧化物230a及氧化物230c具有上述结构,可以降低氧化物230a与氧化物230b的界面及氧化物230b与氧化物230c的界面的缺陷态密度。因此,界面散射对载流子传导的影响减少,可以提高晶体管200的通态电流。
在氧化物230b上设置有被用作源电极及漏电极的导电体242(导电体242a及导电体242b)。作为导电体242,优选使用选自铝、铬、铜、银、金、铂、钽、镍、钛、钼、钨、铪、钒、铌、锰、镁、锆、铍、铟、钌、铱、锶和镧中的金属元素、以上述金属元素为成分的合金或者组合上述金属元素的合金等。例如,优选使用氮化钽、氮化钛、钨、包含钛和铝的氮化物、包含钽和铝的氮化物、氧化钌、氮化钌、包含锶和钌的氧化物、包含镧和镍的氧化物等。另外,氮化钽、氮化钛、包含钛和铝的氮化物、包含钽和铝的氮化物、氧化钌、氮化钌、包含锶和钌的氧化物、包含镧和镍的氧化物是不容易氧化的导电材料或者吸收氧也维持导电性的材料,所以是优选的。
另外,如图19A所示,有时在氧化物230与导电体242的界面及其附近作为低电阻区域形成有区域243(区域243a及区域243b)。此时,区域243a被用作源区和漏区中的一个,区域243b被用作源区和漏区中的另一个。此外,沟道形成区域形成在夹在区域243a和区域243b之间的区域中。
通过以与氧化物230接触的方式形成上述导电体242,区域243的氧浓度有时降低。另外,在区域243中有时形成包括包含在导电体242中的金属及氧化物230的成分的金属化合物层。在此情况下,区域243的载流子密度增加,区域243成为低电阻区域。
绝缘体244以覆盖导电体242的方式设置,抑制导电体242的氧化。此时,绝缘体244也可以以覆盖氧化物230的侧面且与绝缘体224接触的方式设置。
作为绝缘体244,可以使用包含选自铪、铝、镓、钇、锆、钨、钛、钽、镍、锗和镁等中的一种或两种以上的金属氧化物。
尤其是,作为绝缘体244,优选使用作为包含铝和铪中的一方或双方的氧化物的绝缘体的氧化铝、氧化铪、包含铝及铪的氧化物(铝酸铪)等。尤其是,铝酸铪的耐热性比氧化铪膜高。因此,在后面的工序的热处理中不容易晶化,所以是优选的。另外,在导电体242是具有耐氧化性的材料或者吸收氧也其导电性不会显著降低的情况下,不需要必须设置绝缘体244。根据所需要的晶体管特性,适当地设计即可。
绝缘体250被用作栅极绝缘体。绝缘体250优选以与氧化物230c的内侧(顶面及侧面)接触的方式配置。绝缘体250优选使用通过加热而使氧释放的绝缘体形成。例如,可以使用在TDS分析中换算为氧原子的氧的脱离量为1.0×1018atoms/cm3以上,优选为1.0×1019atoms/cm3以上,进一步优选为2.0×1019atoms/cm3以上,或者3.0×1020atoms/cm3以上的氧化物膜。另外,进行上述TDS分析时的膜的表面温度优选在100℃以上且700℃以下的范围内。
具体而言,可以使用包含过剩氧的氧化硅、氧氮化硅、氮氧化硅、氮化硅、添加有氟的氧化硅、添加有碳的氧化硅、添加有碳及氮的氧化硅、具有空孔的氧化硅。尤其是,氧化硅及氧氮化硅具有热稳定性,所以是优选的。
通过作为绝缘体250以与氧化物230c的顶面接触的方式设置通过加热而释放氧的绝缘体,可以高效地从绝缘体250通过氧化物230c对氧化物230b的沟道形成区域供应氧。此外,与绝缘体224同样,优选降低绝缘体250中的水或氢等杂质的浓度。绝缘体250的厚度优选为1nm以上且20nm以下。
另外,为了将绝缘体250所包含的过剩氧高效地供应到氧化物230,也可以在绝缘体250与导电体260之间设置金属氧化物。该金属氧化物优选抑制从绝缘体250到导电体260的氧扩散。通过设置抑制氧的扩散的金属氧化物,从绝缘体250到导电体260的过剩氧的扩散得到抑制。换言之,可以抑制供应到氧化物230的过剩氧的减少。另外,可以抑制因过剩氧导致的导电体260的氧化。作为该金属氧化物,可以使用可用于绝缘体244的材料。
在图19A及图19B中,被用作第一栅电极的导电体260具有两层结构,但是也可以具有单层结构或三层以上的叠层结构。
作为导电体260a,优选使用具有抑制氢原子、氢分子、水分子、氮原子、氮分子、氧化氮分子(N2O、NO、NO2等)、铜原子等杂质的扩散的功能的导电材料。另外,优选使用具有抑制氧(例如,氧原子、氧分子等中的至少一个)的扩散的功能的导电材料。通过使导电体260a具有抑制氧的扩散的功能,可以抑制因绝缘体250所包含的氧导致导电体260b氧化而导电率下降。作为具有抑制氧的扩散的功能的导电材料,例如,优选使用钽、氮化钽、钌或氧化钌等。
作为导电体260b,优选使用以钨、铜或铝为主要成分的导电材料。由于导电体260b还被用作布线,所以优选使用导电性高的导电体。例如,可以使用以钨、铜或铝为主要成分的导电材料。导电体260b也可以具有叠层结构,例如,可以采用钛、氮化钛和上述导电材料的叠层结构。
绝缘体280优选隔着绝缘体244设置在导电体242上。绝缘体280优选具有过剩氧区域。例如,绝缘体280优选包含氧化硅、氧氮化硅、氮氧化硅、氮化硅、添加有氟的氧化硅、添加有碳的氧化硅、添加有碳及氮的氧化硅、具有空孔的氧化硅或树脂等。尤其是,氧化硅及氧氮化硅具有热稳定性,所以是优选的。尤其是,氧化硅和具有空孔的氧化硅容易在后面的工序中形成过剩氧区域,所以是优选的。
绝缘体280优选具有过剩氧区域。通过以与氧化物230c接触的方式设置通过加热而释放氧的绝缘体280,可以将绝缘体280中的氧通过氧化物230c高效地供应给氧化物230的区域243。另外,优选降低绝缘体280中的水或氢等杂质的浓度。
绝缘体280的开口以与导电体242a和导电体242b之间的区域重叠的方式形成。由此,导电体260填埋于绝缘体280的开口中及夹在导电体242a与导电体242b之间的区域。
在进行半导体装置的微型化时,需要缩短栅极长度,但是需要防止导电体260的导电性的下降。为此,在增大导电体260的厚度的情况下,导电体260有可能具有纵横比高的形状。在本实施方式中,由于将导电体260填埋于绝缘体280的开口,所以即使导电体260具有纵横比高的形状,在工序中也不发生导电体260的倒塌。
绝缘体274优选以与绝缘体280的顶面、导电体260的顶面及绝缘体250的顶面的方式设置。通过利用溅射法形成绝缘体274,可以在绝缘体250及绝缘体280中形成过剩氧区域。由此,可以将氧从该过剩氧区域供应到氧化物230中。
例如,作为绝缘体274,可以使用包含选自铪、铝、镓、钇、锆、钨、钛、钽、镍、锗和镁等中的一种或两种以上的金属氧化物。
尤其是,氧化铝具有高阻挡性,即使是0.5nm以上且3.0nm以下的薄膜,也可以抑制氢及氮的扩散。由此,通过利用溅射法形成的氧化铝可以在被用作氧供应源的同时还具有氢等杂质的阻挡膜的功能。
另外,优选在绝缘体274上设置被用作层间膜的绝缘体281。与绝缘体224等同样,优选降低绝缘体281中的水或氢等杂质的浓度。
另外,在形成于绝缘体281、绝缘体274、绝缘体280及绝缘体244中的开口配置导电体240a及导电体240b。导电体240a及导电体240b以隔着导电体260彼此对置的方式设置。导电体240a及导电体240b具有与后面说明的导电体246及导电体248同样的结构。
在绝缘体281上设置有绝缘体282。绝缘体282优选使用对氧或氢具有阻挡性的物质。因此,作为绝缘体282可以使用与绝缘体214同样的材料。例如,作为绝缘体282优选使用氧化铝、氧化铪、氧化钽等金属氧化物。
尤其是,氧化铝的不使氧及导致晶体管的电特性变动的氢、水分等杂质透过的阻挡效果高。因此,在晶体管的制造工序中及制造工序之后,氧化铝可以防止氢、水分等杂质进入晶体管200中。此外,氧化铝可以抑制氧从构成晶体管200的氧化物释放。因此,氧化铝适合用于晶体管200的保护膜。
此外,在绝缘体282上设置有绝缘体286。作为绝缘体286可以使用与绝缘体320同样的材料。此外,通过由介电常数较低的材料形成层间膜,可以减少产生在布线之间的寄生电容。例如,作为绝缘体286,可以使用氧化硅膜及氧氮化硅膜等。
此外,在绝缘体220、绝缘体222、绝缘体224、绝缘体244、绝缘体280、绝缘体274、绝缘体281、绝缘体282及绝缘体286中埋入导电体246及导电体248等。
导电体246及导电体248被用作与电容器100、晶体管200或晶体管300连接的插头或布线。导电体246及导电体248可以使用与导电体328及导电体330同样的材料形成。
接着,在晶体管200的上方设置有电容器100。电容器100包括导电体110、导电体120及绝缘体130。
此外,也可以在导电体246及导电体248上设置导电体112。导电体112被用作与晶体管200连接的插头或者布线。导电体110被用作电容器100的电极。此外,可以同时形成导电体112及导电体110。
作为导电体112及导电体110可以使用包含选自钼、钛、钽、钨、铝、铜、铬、钕、钪中的元素的金属膜或以上述元素为成分的金属氮化物膜(氮化钽膜、氮化钛膜、氮化钼膜、氮化钨膜)等。或者,也可以使用铟锡氧化物、包含氧化钨的铟氧化物、包含氧化钨的铟锌氧化物、包含氧化钛的铟氧化物、包含氧化钛的铟锡氧化物、铟锌氧化物、添加有氧化硅的铟锡氧化物等导电材料。
在图18中,导电体112及导电体110具有单层结构,但是不局限于此,也可以具有两层以上的叠层结构。例如,也可以在具有阻挡性的导电体与导电性高的导电体之间形成与具有阻挡性的导电体以及导电性高的导电体紧密性高的导电体。
以隔着绝缘体130重叠于导电体110的方式设置导电体120。作为导电体120可以使用金属材料、合金材料、金属氧化物材料等导电材料。优选使用兼具耐热性和导电性的钨或钼等高熔点材料,尤其优选使用钨。当与导电体等其他构成要素同时形成时,可以使用低电阻金属材料的Cu(铜)或Al(铝)等。
在导电体120及绝缘体130上设置有绝缘体150。绝缘体150可以使用与绝缘体320同样的材料形成。此外,绝缘体150可以被用作覆盖其下方的凹凸形状的平坦化膜。
通过采用本结构,可以在抑制使用包含氧化物半导体的晶体管的半导体装置的电特性变动的同时提高可靠性。此外,可以提供一种通态电流大的包含氧化物半导体的晶体管。此外,可以提供一种关态电流小的包含氧化物半导体的晶体管。此外,可以提供一种功耗得到减少的半导体装置。此外,可以实现使用包含氧化物半导体的晶体管的半导体装置的微型化或高集成化。
<晶体管的结构实例1>
在图18及图19中,对用作源电极或漏电极的导电体242以接触于氧化物230的方式形成的结构实例进行了说明,但是OS晶体管的结构不局限于此。例如,也可以采用以下结构:不设置导电体242,使氧化物230选择性地低电阻化,在氧化物230b中设置源区域或漏区域。图20示出具有该结构的晶体管的结构实例。
图20A是沿着晶体管200A的沟道长度方向的截面图,图20B是沿着晶体管200A的沟道宽度方向的截面图。图20所示的晶体管200A是图19所示的晶体管200的变形例。所以,为了防止重复说明,主要对与晶体管200的不同之处进行说明。
与晶体管200同样,在晶体管200A中,作为含有沟道形成区的氧化物230使用用作氧化物半导体的金属氧化物。
通过对氧化物230添加形成氧缺陷的元素或者与氧缺陷键合的元素,氧化物230的载流子密度可能增大而被低电阻化。作为使氧化物230低电阻化的元素,典型的有硼或磷。另外,也可以使用氢、碳、氮、氟、硫、氯、钛、稀有气体等。作为稀有气体的典型例子,有氦、氖、氩、氪以及氙等。
上述元素的浓度可以利用二次离子质谱分析法(SIMS:Secondary Ion MassSpectrometry)等进行测量。
尤其是,硼及磷可以使用非晶硅或低温多晶硅的生产线的装置,所以是优选的。通过转用该生产线的设置,可以降低设备投资。
图20所示的区域243(区域243a及区域243b)是氧化物230b被添加上述元素而成的区域。区域243例如可以利用伪栅极形成。
例如,在氧化物230b上设置伪栅极,将该伪栅极用作掩模,对上述氧化物230b添加使该氧化物230b低电阻化的元素。也就是说,该元素被添加到氧化物230的不与伪栅极重叠的区域中,由此形成区域243。作为该元素的添加方法,可以使用:对离子化了的源气体进行质量分离而添加的离子注入法;不对离子化了的源气体进行质量分离而添加的离子掺杂法;以及等离子体浸没离子注入法等。
接着,可以在氧化物230b及伪栅极上形成成为绝缘体244的绝缘膜及成为绝缘体245的绝缘膜。将在后面进行详述,在去除伪栅极之前,通过在伪栅极上层叠成为绝缘体244的绝缘膜及成为绝缘体245的绝缘膜,可以在去除伪栅极之后的开口部的侧壁上形成绝缘体244与绝缘体245的叠层膜。从形成在伪栅极上的绝缘体244与绝缘体245的叠层膜上方进行使氧化物230b低电阻化的元素的添加。通过使区域243扩展到伪栅极的下部,可以设置区域243与氧化物230c及绝缘体250重叠的区域。
具体而言,在成为绝缘体245的绝缘膜上设置成为绝缘体280的绝缘膜,然后对成为绝缘体280的绝缘膜进行CMP(Chemical Mechanical Polishing)处理,去除成为绝缘体280的绝缘膜的一部分,使伪栅极露出。接着,在去除伪栅极时,优选还去除与伪栅极接触的绝缘体244的一部分。由此,在设置于绝缘体280中的开口部的侧面,绝缘体245及绝缘体244露出,在该开口部的底面,设置在氧化物230b中的区域243的一部分露出。接着,在该开口部依次形成成为氧化物230c的氧化膜,成为绝缘体250的绝缘膜及成为导电体260的导电膜,然后利用CMP处理等直到绝缘体280露出为止去除成为氧化物230c的氧化膜、成为绝缘体250的绝缘膜及成为导电体260的导电膜的一部分,由此可以形成图20所示的晶体管。
注意,不一定需要设置绝缘体244及绝缘体245。根据所需要的晶体管特性,适当地设计即可。
图20所示的晶体管200A可以利用已有的装置,另外,由于与晶体管200不同,不设置导电体242,由此可以降低成本。
[符号说明]
DA1:信号线、DA2:信号线、DAM1:信号线、DAM2:信号线、DAP1:信号线、DAP2:信号线、FN10:节点、FN20:节点、FN30:节点、FN40:节点、FN50:节点、FN60:节点、FN70:节点、FN80:节点、FO1:信号线、FO2:信号线、FO3:信号线、FO4:信号线、FOUT1:信号线、FOUT2:信号线、I1:电流、I2:电流、I3:电流、I4:电流、I5:电流、M1:存储器、M2:存储器、M3:存储器、M4:存储器、M5:存储器、M6:存储器、21:存储器、24a:存储器、24b:存储器、31a:存储器、31b:存储器、31c:存储器、31d:存储器、MB1:信号线、MB2:信号线、REM1:信号线、REM2:信号线、REP1:信号线、REP2:信号线、S1:开关、S2:开关、S3:开关、S4:开关、S5:开关、S6:开关、S7:开关、S8:开关、S9:开关、S10:开关、S11:开关、S12:开关、S13:开关、S14:开关、S15:开关、SW0:开关、SW1:开关、UFM1:信号线、UFM2:信号线、UFP1:信号线、UFP2:信号线、WEM1:信号线、WEM2:信号线、WEP1:信号线、WEP2:信号线、WL1:信号线、10:加法电路、10a:加法电路、11:乘法单元、11a:乘法单元、12:参考单元、12a:参考单元、13:运算电路、13a:运算电路、15:转换电路、15a:IV转换电路、15b:放大电路、20:选择器、22:计数器、22a:CNP、22b:CNM、23:控制电路、24:选择器、25:控制电路、26:零插入电路、26a:零插入电路、26b:零插入电路、26c:门电路、27:加法电路、28:加法电路、29:门电路、30:控制电路、31:选择器、32:控制电路、33a:零插入电路、33b:零插入电路、40:乘法电路、40a:乘法电路、41:晶体管、42:晶体管、42a:晶体管、43:电容器、44:晶体管、45:晶体管、45a:晶体管、46:电容器、47:晶体管、48:晶体管、49:晶体管、49a:晶体管、50:电容器、51:晶体管、51a:晶体管、52:电容器、61:晶体管、62:晶体管、62a:晶体管、63:电容器、64:晶体管、65:晶体管、65a:晶体管、66:电容器、67:晶体管、67a:晶体管、68:电容器、69:晶体管、69a:晶体管、70:电容器、71:晶体管、71a:晶体管、72:晶体管、72a:晶体管、73:电容器、74:晶体管、74a:晶体管、75:电容器、76:晶体管、76a:晶体管、77:电容器、80:半导体装置、81:CPU、82:存储器、83:摄像装置、84:神经网络、84a:乘法单元块、84b:神经元、84c:神经网络、85a:显示器控制器、85b:显示装置、86:输入输出总线、90:开关

Claims (9)

1.一种加法运算方法,包括如下步骤:
对第一存储器供给具有符号的第一数据;
对第二存储器提供具有正的符号的所述第一数据;
对第三存储器提供具有负的符号的所述第一数据;
当所述第一数据为零时丢弃所述第一数据;
对具有所述正的符号的所述第一数据和具有所述负的符号的所述第一数据进行加法运算来生成第二数据;
在第四存储器中保存所述第二数据;以及
在所述第四存储器中没有保存有具有所述正的符号的所述第二数据或者在所述第四存储器中没有保存有具有所述负的符号的所述第二数据的任意情况下,对保存在所述第四存储器中的所有所述第二数据进行加法运算。
2.根据权利要求1所述的加法运算方法,其中所述第一数据及所述第二数据是带符号的整数的数据。
3.根据权利要求1所述的加法运算方法,还包括如下步骤:将所述第二数据保存至所述第一存储器。
4.一种半导体装置,包括:
第一存储器、第二存储器、第三存储器、选择器电路、第一加法电路、第二加法电路以及包含第一计数器和第二计数器的计数器电路,
其中所述第一存储器与所述第一加法电路和所述选择器电路电连接,
所述选择器电路与所述第二存储器和所述第三存储器电连接,
所述第二加法电路与所述第二存储器和所述第三存储器电连接,
所述计数器电路与所述第一存储器和所述第一加法电路电连接,
所述第一存储器被配置为被供给具有符号的第一数据,
所述第一计数器及所述第二计数器被配置为被供给初始值,
所述第二存储器被配置为在没有保存的数据时输出第一下溢标志,
所述第三存储器被配置为在没有保存的数据时输出第二下溢标志,
所述计数器电路被配置为在被供给所述第一下溢标志或所述第二下溢标志时判断所述第一计数器或所述第二计数器的值,
并且,当所述第一计数器或所述第二计数器中的任意一个处于初始值时,所述第一加法电路被配置为对保存在所述第一存储器中的所有所述第一数据进行加法运算。
5.根据权利要求4所述的半导体装置,
其中所述选择器电路被配置为将具有正的符号的所述第一数据分配到所述第二存储器,并将具有负的符号的所述第一数据分配到所述第三存储器,
所述第二加法电路被配置为对具有所述正的符号的所述第一数据和具有所述负的符号的所述第一数据进行加法运算生成第二数据,
所述计数器电路被配置为在被提供所述第一下溢标志和所述第二下溢标志时判断所述第一计数器或所述第二计数器的值,
并且,当所述第一计数器或所述第二计数器中的任意一个处于所述初始值时,所述第一加法电路被配置为对所述第二数据进行加法运算。
6.根据权利要求4所述的半导体装置,其中所述第二存储器及所述第三存储器具有先进先出的功能。
7.根据权利要求4所述的半导体装置,还包括:第一零插入电路和第二零插入电路,
其中所述半导体装置被配置为在所述第一下溢标志被输出而所述第二下溢标志未被输出的情况下,由所述第一零插入电路供应为零的值;
并且,所述半导体装置被配置为在所述第二下溢标志被输出而所述第一下溢标志未被输出的情况下,由所述第二零插入电路供应为零的值。
8.一种具有神经网络的半导体装置,
其中,所述神经网络包括积和运算电路,
所述积和运算电路包括多个乘法电路以及第一电路,
所述第一电路包括第一存储器、第二存储器、第三存储器及第一加法电路,
所述乘法电路的输出数据作为第一数据被提供至所述第一存储器,
所述第二存储器及所述第三存储器具有先进先出的功能,
所述第二存储器被提供具有正的符号的所述第一数据,
所述第三存储器被提供具有负的符号的所述第一数据,
并且,所述第一加法电路被配置为将具有所述正的符号的所述第一数据和具有所述负的符号的所述第一数据进行加法运算。
9.一种电子设备,包括:
根据权利要求4或权利要求8所述的半导体装置;以及
放置有所述半导体装置的框体。
CN201880074049.8A 2017-11-17 2018-11-05 加法运算方法、半导体装置及电子设备 Active CN111344665B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JP2017221455 2017-11-17
JP2017-221455 2017-11-17
JP2018027238 2018-02-19
JP2018-027238 2018-02-19
PCT/IB2018/058647 WO2019097350A1 (ja) 2017-11-17 2018-11-05 加算方法、半導体装置、および電子機器

Publications (2)

Publication Number Publication Date
CN111344665A CN111344665A (zh) 2020-06-26
CN111344665B true CN111344665B (zh) 2024-04-26

Family

ID=66538846

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880074049.8A Active CN111344665B (zh) 2017-11-17 2018-11-05 加法运算方法、半导体装置及电子设备

Country Status (6)

Country Link
US (3) US11262981B2 (zh)
JP (3) JP7163308B2 (zh)
KR (3) KR102665195B1 (zh)
CN (1) CN111344665B (zh)
DE (1) DE112018005590T5 (zh)
WO (1) WO2019097350A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102020113088A1 (de) 2020-05-14 2021-11-18 Universität Stuttgart Körperschaft des öffentlichen Rechts Verfahren zur analogen Multiplikation und/oder Berechnung eines Skalarproduktes mit einer Schaltungsanordnung, insbesondere für künstliche neuronale Netzwerke
CN112214197B (zh) * 2020-10-16 2022-10-04 苏州兆芯半导体科技有限公司 Sram全加器及多比特sram全加器

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006277019A (ja) * 2005-03-28 2006-10-12 Nec Computertechno Ltd オーバーフロー検出方法、オーバーフロー検出装置及びオーバーフロー検出プログラム
CN101115042A (zh) * 2006-07-28 2008-01-30 株式会社东芝 发射装置及方法、接收装置及方法
CN102737707A (zh) * 2011-03-30 2012-10-17 株式会社半导体能源研究所 半导体装置及其驱动方法
CN106158008A (zh) * 2015-05-11 2016-11-23 力晶科技股份有限公司 半导体存储装置

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NL183424B (nl) * 1977-05-16 Enertec Elektronische energiemeter.
JPS5674774A (en) 1979-11-22 1981-06-20 Nec Corp Arithmetic circuit with overflow detector
JP3356613B2 (ja) 1996-02-14 2002-12-16 日本電気株式会社 加算方法および加算器
JP3833884B2 (ja) 2000-09-27 2006-10-18 株式会社東芝 ディジタルフィルタ
JP3974774B2 (ja) * 2001-12-11 2007-09-12 日本テキサス・インスツルメンツ株式会社 マルチプライヤ
JP2003241958A (ja) 2002-02-20 2003-08-29 Seiko Epson Corp 演算装置、演算方法およびデジタルフィルタ
US8159043B2 (en) * 2004-03-12 2012-04-17 Semiconductor Energy Laboratory Co., Ltd. Semiconductor device
ATE460772T1 (de) * 2005-04-19 2010-03-15 Alcatel Lucent Analog-multiplizierer
JP6580863B2 (ja) * 2014-05-22 2019-09-25 株式会社半導体エネルギー研究所 半導体装置、健康管理システム
US9773832B2 (en) 2014-12-10 2017-09-26 Semiconductor Energy Laboratory Co., Ltd. Semiconductor device and electronic device
JP6674838B2 (ja) 2015-05-21 2020-04-01 株式会社半導体エネルギー研究所 電子装置
US10545526B2 (en) * 2015-06-25 2020-01-28 Semiconductor Energy Laboratory Co., Ltd. Circuit, driving method thereof, and semiconductor device
DE112016000146T5 (de) 2015-10-23 2017-07-06 Semiconductor Energy Laboratory Co., Ltd. Halbleitervorrichtung und elektronische Vorrichtung
JP2017135698A (ja) * 2015-12-29 2017-08-03 株式会社半導体エネルギー研究所 半導体装置、コンピュータ及び電子機器
WO2017153864A1 (en) 2016-03-10 2017-09-14 Semiconductor Energy Laboratory Co., Ltd. Semiconductor device
US9934826B2 (en) 2016-04-14 2018-04-03 Semiconductor Energy Laboratory Co., Ltd. Semiconductor device
KR101818339B1 (ko) * 2016-04-29 2018-02-21 고려대학교 산학협력단 광안정성 확보를 위한 비정질 산화물 박막 트랜지스터
WO2018069785A1 (en) 2016-10-12 2018-04-19 Semiconductor Energy Laboratory Co., Ltd. Semiconductor device and system using the same
US11315009B2 (en) * 2017-03-03 2022-04-26 Hewlett Packard Enterprise Development Lp Analog multiplier-accumulators
US11556771B2 (en) 2017-04-10 2023-01-17 Semiconductor Energy Laboratory Co., Ltd. Semiconductor neural network device including a synapse circuit comprising memory cells and an activation function circuit
KR102554664B1 (ko) 2017-05-26 2023-07-11 가부시키가이샤 한도오따이 에네루기 켄큐쇼 촬상 장치 및 전자 기기
DE112018003051T5 (de) 2017-06-14 2020-02-27 Semiconductor Energy Laboratory Co., Ltd. Abbildungsvorrichtung und elektronisches Gerät
WO2018234919A1 (ja) 2017-06-21 2018-12-27 株式会社半導体エネルギー研究所 ニューラルネットワークを有する半導体装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006277019A (ja) * 2005-03-28 2006-10-12 Nec Computertechno Ltd オーバーフロー検出方法、オーバーフロー検出装置及びオーバーフロー検出プログラム
CN101115042A (zh) * 2006-07-28 2008-01-30 株式会社东芝 发射装置及方法、接收装置及方法
CN102737707A (zh) * 2011-03-30 2012-10-17 株式会社半导体能源研究所 半导体装置及其驱动方法
CN106158008A (zh) * 2015-05-11 2016-11-23 力晶科技股份有限公司 半导体存储装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
新型阻变存储器内的电压解决方案;廖启宏;吴雨欣;林殷茵;;半导体技术;20110603(第06期);全文 *

Also Published As

Publication number Publication date
DE112018005590T5 (de) 2020-10-15
JPWO2019097350A1 (ja) 2020-12-17
US11755285B2 (en) 2023-09-12
KR20240011885A (ko) 2024-01-26
CN111344665A (zh) 2020-06-26
US20220179621A1 (en) 2022-06-09
WO2019097350A1 (ja) 2019-05-23
JP7163308B2 (ja) 2022-10-31
JP2024037771A (ja) 2024-03-19
JP2023015077A (ja) 2023-01-31
US20240053961A1 (en) 2024-02-15
US20200278837A1 (en) 2020-09-03
KR102574650B1 (ko) 2023-09-06
JP7397944B2 (ja) 2023-12-13
KR20200087177A (ko) 2020-07-20
US11262981B2 (en) 2022-03-01
KR102665195B1 (ko) 2024-05-13
KR20230131957A (ko) 2023-09-14
KR102627117B1 (ko) 2024-01-23

Similar Documents

Publication Publication Date Title
JP7264894B2 (ja) 半導体装置
JP7397944B2 (ja) 半導体装置
JP7245371B2 (ja) 半導体装置
JP2023164563A (ja) 半導体装置
CN110506325A (zh) 半导体装置及半导体装置的制造方法
JP7190443B2 (ja) 半導体材料
JP2023026488A (ja) 半導体装置
TW201924070A (zh) 半導體裝置及其製造方法
JP2018156699A (ja) 半導体装置、電子部品、及び電子機器
KR102669811B1 (ko) 반도체 장치, 및 반도체 장치의 제작 방법
JP7493576B2 (ja) トランジスタ
WO2022023866A1 (ja) 半導体装置
JP7287970B2 (ja) 半導体装置、および半導体装置の作製方法
WO2021198841A1 (ja) 半導体装置
WO2022058838A1 (ja) 半導体装置、および電子機器
JP2018152399A (ja) 半導体装置、および半導体装置の作製方法
WO2019111095A1 (ja) 半導体材料、および半導体装置
WO2018163012A1 (ja) 半導体装置、および半導体装置の作製方法
JP2019087713A (ja) 半導体装置、および半導体装置の作製方法
JP2018180975A (ja) 半導体装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant