CN110245749B - 用于执行同或运算的计算单元、神经网络及方法 - Google Patents

用于执行同或运算的计算单元、神经网络及方法 Download PDF

Info

Publication number
CN110245749B
CN110245749B CN201910148042.2A CN201910148042A CN110245749B CN 110245749 B CN110245749 B CN 110245749B CN 201910148042 A CN201910148042 A CN 201910148042A CN 110245749 B CN110245749 B CN 110245749B
Authority
CN
China
Prior art keywords
field effect
effect transistor
transistor
ferroelectric field
line
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
CN201910148042.2A
Other languages
English (en)
Other versions
CN110245749A (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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics 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
Priority claimed from US16/137,227 external-priority patent/US10461751B2/en
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of CN110245749A publication Critical patent/CN110245749A/zh
Application granted granted Critical
Publication of CN110245749B publication Critical patent/CN110245749B/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/60Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
    • G06F7/607Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers number-of-ones counters, i.e. devices for counting the number of input lines set to ONE among a plurality of input lines, also called bit counters or parallel counters
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • Neurology (AREA)
  • Artificial Intelligence (AREA)
  • General Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Software Systems (AREA)
  • Molecular Biology (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Semiconductor Memories (AREA)
  • Logic Circuits (AREA)

Abstract

公开了用于执行同或运算的计算单元、神经网络及方法。描述了一种用于执行输入信号与权重的数字同或的计算单元和方法。所述计算单元包括至少一个铁电场效应晶体管对以及多个选择晶体管。铁电场效应晶体管对与多条输入线结合并存储权重。每个铁电场效应晶体管对包括第一铁电场效应晶体管和第二铁电场效应晶体管,其中,第一铁电场效应晶体管接收输入信号并存储第一权重,第二铁电场效应晶体管接收输入信号补码并存储第二权重。选择晶体管与铁电场效应晶体管对结合。

Description

用于执行同或运算的计算单元、神经网络及方法
本申请要求于2018年3月8日提交到美国专利商标局的第62/640,076号美国临时专利申请、于2018年4月28日提交到美国专利商标局的第62/664,102号美国临时专利申请以及于2018年9月20日提交到美国专利商标局的第16/137,227号美国专利申请的优先权,所述专利申请的公开内容通过引用全部包含于此。
技术领域
本发明构思涉及用于执行XNOR运算的计算单元、神经网络及方法。
背景技术
涉及深度学习神经网络(NN)或神经神态计算的应用(诸如,图像识别、自然语言处理以及更一般的各种模式匹配或分类任务)迅速变得与通用计算一样重要。NN的基本计算元素或神经元将一组输入信号乘以一组权重并对多个乘积进行求和。因此,神经元执行向量矩阵乘运算或乘法累加(MAC)运算。NN通常包括大量的互连的神经元,其中,每个神经元执行MAC运算。因此,NN的运算是计算密集型的。
NN的性能可通过提高MAC运算的效率来改善。可期望本地存储权重以降低功率和DRAM访问的频率。还可期望数字地执行MAC运算以帮助降低噪声和过程可变性。二进制神经元可能满足这些目标。因此,开发了二进制加权的XNORNet(同或网络)。
在二进制XNOR(同或)单元中,权重w在数学上是1和-1,但是被数字地表示为1和0。信号x类似地在数学上是1和-1,但是由1和0数字地表示。乘法运算pi=wixi的结果仅在x和w均为1时以及当它们在数学上均为-1(布尔表示中均为0)时是正的。这正好是异或运算的逻辑非(XNOR)。因此,各个权重和信号的乘积可被表示为pi=XNOR(wi,xi)。针对给定的神经的完整的MAC运算被表示为或者从布尔方面来说,被表示为sum=2Count(XNOR(w,x))-n。当n是神经元的输入的总数时,计数操作对XNOR表达式的非零结果的数量进行计数。然后,结果针对偏差被阈值处理,产生神经元的高输出或低输出。整个处理是数字的。结果,不会引发与模拟处理相关联的信息损失。
然而,权重的二进制表示的使用可以是信息损失的来源。二进制网络通常使用比模拟(或多位数字的)网络实质更多的神经元来获得相同水平的整体准确性。如果权重是三进制的而不是二进制的,则可能会有显著的改善。三进制权重取数学值-1、0和1。0权重针对输入的任何组合产生-1输出(逻辑0)。因此,三进制XNOR门(也被称为“门控XNOR”)的输出由以下等式给出:
当执行以上等式中的XNOR运算时,非零权重和所有的信号从{-1,1}域映射到{0,1}布尔域。该映射在基于权重的数学值进行的分支之后执行。
当使用相同数量的神经元时,三进制网络可相对于二进制网络提供提高的准确性。可选择地,三进制网络可实现与二进制网络相同的水平的准确性,但使用更少数量的神经元。这导致面积、功率以及推理吞吐量和延迟的节省。因此,二进制数字XNOR网络和三进制数字XNOR网络二者可用于诸如NN的应用。所期望的是改进的XNOR逻辑单元来增强数字二进制NN和/或数字三进制NN的运算或者其他逻辑运算。
发明内容
根据本发明构思的示例性实施例,一种用于执行输入信号与权重的XNOR运算的计算单元,包括:至少一个FE-FET对,与多条输入线结合并存储权重,每个FE-FET对包括第一FE-FET和第二FE-FET,第一FE-FET接收输入信号并存储第一权重,第二FE-FET接收输入信号补码并存储第二权重;多个选择晶体管,与FE-FET对结合。
所述多个选择晶体管包括第一选择晶体管和第二选择晶体管,所述多个选择晶体管中的每个包括栅极、源极和漏极,第一选择晶体管的源极连接到第一FE-FET的第一栅极,第二选择晶体管的源极连接到第二FE-FET的第二栅极,第一选择晶体管的栅极和第二选择晶体管的栅极结合到选择线。
第一选择晶体管的漏极与编程线结合,第二选择晶体管的漏极与编程补码线结合。
第一FE-FET包括第一漏极和与所述多条输入线中的第一输入线结合的第一源极,其中,第二FE-FET包括与所述多条输入线中的第二输入线结合的第二源极和第二漏极,第二漏极与第一漏极结合以提供动态存储节点。
所述计算单元还包括:复位晶体管,具有复位晶体管源极、复位晶体管栅极和复位晶体管漏极,复位晶体管源极连接到动态存储节点,复位晶体管栅极与复位线结合。
第一FE-FET包括第一铁电材料,第二FE-FET包括第二铁电材料,第一铁电材料和第二铁电材料包括PbZrTi、HfZrO、BaTiO3、B12TiO20、GeTe和BaxEu1-xTiO3中的至少一个,其中,x大于零且不大于一。
第一权重和第二权重补码对于非零权重是互补的,并且对于零权重是相等的。
所述多个FE-FET晶体管包括第一FE-FET和第二FE-FET,所述多个选择晶体管包括第一选择晶体管和第二选择晶体管。
根据本发明构思的示例性实施例,一种神经网络,包括:多条输入线;多个XNOR单元,所述多个XNOR单元中的每个用于执行输入信号与权重的数字XNOR运算,所述多个XNOR单元中的每个包括至少一个FE-FET对以及与所述至少一个FE-FET对结合的多个选择晶体管,所述至少一个FE-FET对与所述多条输入线的一部分结合并存储权重,每个FE-FET对包括第一FE-FET和第二FE-FET,第一FE-FET接收输入信号并存储第一权重,第二FE-FET接收输入信号补码并存储第二权重。
所述多个选择晶体管包括第一选择晶体管和第二选择晶体管,所述多个选择晶体管中的每个包括栅极、源极和漏极,第一选择晶体管的源极连接到第一FE-FET的第一栅极,第二选择晶体管的源极连接到第二FE-FET的第二栅极,第一选择晶体管的栅极和第二选择晶体管的栅极结合到选择线,第一选择晶体管的漏极与编程线结合,第二选择晶体管的漏极与编程补码线结合,其中,所述多个FE-FET由第一FE-FET和第二FE-FET构成。
第一FE-FET包括第一漏极和与所述多条输入线中的第一输入线结合的第一源极,其中,第二FE-FET包括第二漏极和与所述多条输入线的第二输入线结合的第二源极,第一漏极与第二漏极结合以形成动态存储节点。
所述多个XNOR单元中的每个还包括:复位晶体管,具有复位晶体管源极、复位晶体管栅极和复位晶体管漏极,复位晶体管源极连接到动态存储节点,其中,所述神经网络还包括多条复位线,所述多条复位线中的每条复位线与所述多个XNOR单元中的至少一个XNOR单元的复位晶体管栅极结合。
第一FE-FET包括第一铁电材料,第二FE-FET包括第二铁电材料,第一铁电材料和第二铁电材料包括PbZrTi、HfZrO、BaTiO3、B12TiO20、GeTe和BaxEu1-xTiO3中的至少一个,其中,x大于零且不大于一,其中,针对所述神经网络,第一铁电材料和第二铁电材料被集成在第一金属层或更高层。
根据本发明构思的示例性实施例,一种用于执行数字XNOR运算的方法,包括:将输入信号和输入信号补码提供给用于执行输入信号与权重的数字XNOR运算的XNOR单元,XNOR单元包括至少一个FE-FET对以及与所述至少一个FE-FET对结合的多个选择晶体管,所述至少一个FE-FET对与多条输入线结合并存储权重,每个FE-FET对包括第一FE-FET和第二FE-FET,第一FE-FET接收输入信号并存储第一权重,第二FE-FET接收输入信号补码并存储第二权重。
所述多个选择晶体管包括第一选择晶体管和第二选择晶体管,多个FE-FET由第一FE-FET和第二FE-FET构成,所述多个选择晶体管中的每个包括栅极、源极和漏极,第一选择晶体管的源极连接到第一FE-FET的第一栅极,第二选择晶体管的源极连接到第二FE-FET的第二栅极,第一选择晶体管的漏极与编程线结合,第二选择晶体管的漏极与编程补码线结合,第一选择晶体管的栅极和第二选择晶体管的栅极结合到选择线,所述方法还包括:将第一权重和第二权重编程到第一FE-FET和第二FE-FET中。将第一权重和第二权重编程的步骤还包括:通过将编程线设置为接地,将编程补码线设置为接地,将选择线设置为高状态,将所述多条输入线中的输入线和输入补码线设置为高状态,来擦除第一FE-FET和第二FE-FET;在擦除步骤之后,通过将输入信号线设置为接地,将输入信号补码线设置为接地,将选择线设置为高状态,以及对编程线施加脉冲、对编程补码线施加脉冲和对编程线和编程补码线均不施加脉冲中的一个,来写入第一FE-FET和第二FE-FET。
编程步骤使用非负电压。
提供输入信号的步骤还包括:实施复位步骤和评估步骤。
第一FE-FET包括第一漏极和与所述多条输入线中的第一输入线结合的第一源极,其中,第二FE-FET包括与所述多条输入线中的第二输入线结合的第二源极和第二漏极,第二漏极与第一漏极结合以提供动态存储节点,其中,XNOR单元还包括具有复位晶体管源极、复位晶体管栅极和复位晶体管漏极的复位晶体管,复位晶体管源极连接到动态存储节点,复位晶体管结合到复位线,所述方法还包括:在评估步骤之前对复位线施加脉冲。
所述方法还包括:在评估步骤之前,对编程线、编程补码线和选择线施加高脉冲。
提供输入信号的步骤还包括:将选择线设置为低状态;当选择线处于低状态时,在输入线上提供输入信号并在输入补码线上提供输入补码信号。
附图说明
图1是描绘数字XNOR计算单元的示例性实施例的框图。
图2是描绘包括多个XNOR计算单元并执行乘法累加运算的神经网络的一部分的示例性实施例的框图。
图3描绘用于执行数字XNOR运算的计算单元的示例性实施例。
图4描绘可用于所述执行数字XNOR运算的计算单元的FE-FET的一部分的示例性实施例。
图5是描绘执行数字XNOR运算的计算单元的示例性实施例的编程的时序图。
图6是描绘执行数字XNOR运算的计算单元的示例性实施例的推理运算的时序的示图。
图7描绘用于执行数字XNOR运算的计算单元的另一示例性实施例。
图8是描绘使用计算单元的示例性实施例执行XNOR运算的方法的示例性实施例的流程图。
具体实施方式
示例性实施例涉及执行XNOR运算并可用于包括但不限于机器学习、人工智能、神经形态计算和神经网络的各种领域中的数字计算单元。方法和系统可扩展到使用逻辑装置的其他应用。呈现下面的描述以使本领域的普通技术人员能够进行和使用本发明,并且在专利申请及其要求的情况下提供下面的描述。对在此描述的示例性实施例以及一般原则和特征的各种修改将是显而易见的。示例性实施例主要根据在特定实施方式中提供的特定方法和系统来描述。然而,所述方法和系统将在其他实施方式中有效地操作。
诸如“示例性实施例”、“一个实施例”和“另一个实施例”的短语可表示相同或不同的实施例以及多个实施例。将针对具有特定组件的系统和/或装置来描述实施例。然而,系统和/或装置可包括比示出的组件更多或更少的组件,并且可在不脱离本发明的范围的情况下进行组件的布置和类型的变化。示例性实施例还可在具有特定步骤的特定方法的情况下描述。然而,所述方法和系统有效地操作以用于与示例性实施例不一致的具有不同的和/或附加的步骤以及不同顺序的步骤的其他方法。因此,本发明不意图限制示出的实施例,而是符合与在此描述的原理和特征一致的最宽的范围。
除非在此另外指示或明确地与上下文相矛盾,否则在描述本发明的上下文中(尤其在权利要求书的上下文中)的单数形式的术语以及类似的指示物的使用将被解释为覆盖单数和复数二者。除非另外说明,否则术语“包含”、“具有”、“包括”以及“含有”将被解释为开放性术语(即,表示“包括,但不限于”)。
除非另外定义,否则在此使用的所有的技术术语和科学术语具有与本发明所属领域的普通技术人员通常理解的含义相同的含义。应注意,除非另外指明,否则在此提供的任何和所有示例或者示例性术语的使用仅意图更好地说明本发明,并不是对本发明的范围的限制。此外,除非另外定义,否则在通用词典中定义的所有术语可不被过分解释。
用于执行输入信号与权重的数字XNOR的计算单元和方法被描述。计算单元包括至少一个FE-FET对以及多个选择晶体管。FE-FET对与多条输入线结合并存储权重。每个FE-FET对包括第一FE-FET和第二FE-FET,其中,第一FE-FET接收输入信号并存储第一权重,第二FE-FET接收输入信号补码并存储第二权重。选择晶体管与FE-FET对结合。
图1是描绘数字XNOR计算单元100的示例性实施例的框图。为了简单起见,仅示出XNOR单元100的一部分。计算单元100对输入信号和权重数字地执行XNOR运算。因此,计算单元100可被认为是神经形态计算单元。此外,计算单元100可执行二进制XNOR运算或三进制XNOR运算。
计算单元100包括至少两个铁电场效应晶体管(FE-FET)110和120、选择晶体管130以及可选复位晶体管140。还示出输入线102和104以及输出线106和选择线108。输入线102和104分别接收用于推理运算的输入信号及其补码。输出线106提供XNOR运算的结果。例如,如果计算单元100是神经网络(NN)的一部分,则选择线108可用于选择计算单元100进行运算。
计算单元100包括至少两个FE-FET 110和120。在其他实施例中,可使用多于两个FE-FET,但是以单元密度为代价。在其他实施例中,每个计算单元仅包括两个FE-FET 110和120。FE-FET 110和120中的每个包括通常存在于形成铁电电容器的两个金属层之间的铁电层(未在图1中明确示出)以及晶体管(例如,FET)。在可选择的实施例中,铁电层可代替栅极氧化物。铁电层经由铁电层的极化状态来存储权重。例如,铁电层可包括PbZrTi、HfZrO、BaTiO3、B12TiO20、GeTe以及BaxEu1-xTiO3中的至少一个,其中,x大于零且不大于一。在其他实施例中,可使用其他和/或额外的铁电材料。
在运算中,可使用复位评估逻辑。因此,可在推理运算(即,使用先前编程的权重的XNOR运算)的开始时复位存储节点150。为了执行推理运算,输入x及其补码x_bar分别经由输入线102和输入线104而被提供给FE-FET 110和FE-FET 120,其中,输入线104也可被称为输入补码线。FE-FET 110和FE-FET 120内的铁电层的极化根据编程到FE-FET 110和FE-FET120中的权重而变化。在推理运算期间,对动态存储节点150执行选择性上拉。然后,动态存储节点电压可经由输出线106输出,以评估或提供XNOR运算的结果。因此,FE-FET 110和FE-FET 120连接,使得输出线106提供由FE-FET 110和FE-FET 120存储的输入信号x与权重w的XNOR。选择晶体管130选择XNOR单元100进行运算。可选复位晶体管140可用于例如针对三进制运算明确地复位计算单元100。在其他实施例中,可以以其他方式执行复位操作。因此,计算单元100可用于二进制模式或三进制模式。
计算单元100可高效地执行XNOR运算并且可以以相对紧凑的方式实现。因为运算是数字运算,因此模拟XNOR运算的问题可被减少或消除。例如,数字权重的使用导致FE-FET110和FE-FET 120的编程鲁棒性。数字运算还可导致输出线106的噪声更少。可避免ADC的使用并且还可节省功率和面积。权重还被本地存储在用作非易失性存储器的FE-FET 110和FE-FET 120中。推理运算可更高效更快速。如下面讨论的,计算单元100可提供二进制XNOR或三进制XNOR。因此,计算单元100可数字地、高效地且可靠地执行XNOR运算。
图2是描绘数字神经网络的一部分180的示例性实施例的框图。该部分180可被认为是神经元。神经元180执行乘法累加(MAC)运算。神经元180示出计算单元100的可能的使用,并不意图限制。
神经元180包括多个计算单元100-1、100-2、100-3和100-4(共同称为计算单元100)以及位计数和符号块190。在这个实施例中,四个输入x1、x2、x3和x4被期望与四个权重进行组合。因此,四个计算单元100用于执行四个XNOR运算。在可选择的实施例中,其他数量的计算单元100可被使用。图2中示出的计算单元100-1、100-2、100-3和100-4中的每个以与图1中描绘的计算单元100类似的方式进行运算。位计数和符号块190对来自四个XNOR单元100的非零结果的数量进行计数并减去四(神经元180的输入信号的数量)。然后,结果针对偏差被阈值处理,产生神经元180的高输出或低输出。
使用计算单元100的神经元180因此可执行MAC运算。因为使用以硬件实现的单元,因此,神经元180高效地运算。MAC运算可被数字地执行,这可避免模拟XNOR运算的问题。如针对图1讨论的,由计算单元100执行的XNOR运算还可以是紧凑的、高效的并且在二进制模式或三进制模式下运算。因此,神经元180的性能可改善。
图3描绘用于执行数字XNOR运算的计算单元100A的示例性实施例的示意图。计算单元100A与XNOR单元100类似并可用于神经元180或其他应用。因此,计算单元100A的与XNOR单元100中的组件类似的部分被相似地标记。因此,XNOR单元100A包括分别与输入线102和104、FE-FET 110和120、选择晶体管130、输出线106以及选择线108类似的输入线102和104、FE-FET 110A和120A、选择晶体管132和134、输出线106以及选择线108。还示出动态输出节点150和编程线152和154。在示出的实施例中,选择晶体管132和134是n-FET。FE-FET110A被示出为包括FET 112和具有铁电层的铁电电容器114,FE-FET 120A被示出为包括FET122和具有铁电层的铁电电容器124。例如,图4描绘在执行数字XNOR运算的计算单元中可使用的FE-FET 110A/120A的一部分的示例性实施例。FE-FET 110A/120A包括FET 112/122以及电容器114/124。铁电层116/126可包括PbZrTi、HfZrO、BaTiO3、B12TiO20、GeTe和BaxEu1- xTiO3中的一个或多个,其中,x大于零且不大于一。在一些实施例中,铁电层116/126被并入第一金属(M1)层中。在其他实施例中,铁电层116/126可被并入其他层中。
输入线102和输入线104分别传送输入信号x及其补码x_bar。输入线102和输入线104分别连接到FE-FET 110A的源极和FE-FET 120A的源极。FE-FET 110A的栅极和FE-FET120A的栅极分别经由选择晶体管132和选择晶体管134分别连接到编程线152和编程线154。编程线152和编程线154分别提供编程信号P及其补码P_bar,其中,编程线154还可被称为编程补码线。多个FE-FET的漏极可结合在一起并形成动态输出节点150。选择晶体管132和134具有分别连接到FE-FET 110A和120A的源极、分别连接到编程线152和154的漏极以及连接到选择线108的栅极。
如以上讨论的,存储在FE-FET 110A和FE-FET 120A的权重由铁电层116和铁电层126的极化确定。这些权重可被片外(off-chip)训练。例如,如果计算单元100A的预期应用仅是推理(片外训练),则擦除操作和编程操作不被频繁地执行。因此,FE-FET 110A和120A可仅在期望权重改变时被编程。例如,这在一些实施例中每年仅发生几次,以考虑片外训练的改进。在可选择的实施例中,FE-FET 110A和110B可被更频繁或更不频繁地编程。
被编程到FE-FET 110A和110B中的权重依赖于计算单元100A是被期望用于二进制模式下还是三进制模式下。两个FE-FET 110A和110B中的存储状态对于非零权重可以是互补的或者对于零权重可以是相等的(例如,针对二者设置高Vt状态)。可针对三进制运算或零加权而发生零权重的使用。
为了对权重编程,计算单元100A首先被擦除,然后被编程。如果计算单元100存在于阵列中,则整个阵列中的所有的计算单元100可首先被全局擦除,然后各个非零位被编程。为了擦除计算单元100A(以及阵列中的所有单元),编程线152上的信号P和编程线154上的信号P_bar均被设置为低(例如,接地)并且输入线102上的输入x和输入线104上的输入x_bar均被设置为高。计算单元100A的输出线106被允许浮置。在计算单元100A和阵列中,结果是跨过每个FE-FET 110A和120A中的铁电电容器114和124的负电压。在擦除结束之后,每个FE-FET 110A和120A在FE-FET 110A和120A中的底层的FET 112和122的栅极的节点上具有小的电压、零电压或略微负的电压。这使得所有FE-FET 110A和120A处于低导电率状态。
图5是描绘执行数字XNOR运算的计算单元的示例性实施例的编程的时序图200。在图5中示出的实施例中,编程线152和154被施加脉冲达到适度的高电压(诸如,2.5V-3V)。参照图3和图5,实线202表示施加到编程线152和154的电压,虚线204表示输入线102和104上的输入电压。短划线206是通过擦除在FE-FET 110A和120A的FET 112和122的栅极的电压。垂直线209的左侧的施加电压表示施加的能够对FE-FET 110A和120A进行擦除的电压。擦除在线209完成。因此,FE-FET 110A和120A的栅极的节点的电压恰好小到线209的右侧。因此,FE-FET 110A和120A二者已被擦除为低栅极电压。
在擦除完成之后,FE-FET 110A和120A可被编程。编程事件设置表示由FE-FET110A和120A存储的数学权重的各个位。如果期望进行三进制运算,则仅非零权重被编程。通过将信号输入线102和104接地(x、x_bar低)并将高电压施加到编程线152(P高)或编程线154(P_bar高)来实现编程。针对正被编程的每个计算单元100A,接通选择线108。编程线152或154上的高电压分别导致分别跨过每个FE-FET 110A和120A中的铁电电容器114或124的正电压。因此,导致极化状态的改变。现在每个FE-FET的栅极节点被编程为高的正电压,将底层FET设置为导电状态。在图5中,(可存储权重的)FE-FET 110A的最终编程状态的栅极电压由短划线207示出,而(可存储权重补码的)FE-FET 120A的最终编程状态的栅极电压由短划线208示出。因此,FE-FET 110A和120A中的一个或二者可被编程。在图5中,栅极电压207和栅极电压208不同。在一些实施例中,导通状态的FET和截止状态的FET之间的最终电压差大约为500mV。这可对应于通用的7nm节点FET。电压差可通过提高铁电电容器114和124的铁电极化与非铁电极化的比率而被显著地增加。例如,可使用具有更强铁电极化的更厚的铁电电容器/更厚的铁电层116/126。因此,可使用擦除-编程将权重编程到FE-FET 110A和110B中。
为了执行推理运算,输入x及其补码x_bar分别在输入线102和输入线104上提供。选择线108被驱动为低。因此,FE-FET 110A和120A的栅极被允许浮置。FE-FET 110A和120A的栅极可被允许浮置,以允许栅极电压在推理运算期间超过电源电压并提供满输出摆幅。期望铁电电压的差异被最小化或减小,以抑制读取干扰。计算单元100A的输出(输入x和权重的XNOR)可在存储节点150上形成。因此,推理运算可被执行。用于执行推理运算的时间还可保持很小。例如,图6是描绘执行数字XNOR运算的计算单元的示例性实施例的推理运算的时序的示图210。短划线212指示在输入线102上输入x从低到高的转变。短划线214和虚线216指示在推理运算期间在FE-FET110A和120A的栅极(即,分别在晶体管112和122的栅极)上形成的电压。如在图6中可以看出,稳定到最终电压可在少于0.1ns内发生。
因此,计算单元100A可具有改善的性能。计算单元100A可仅利用两个FE-FET 110A和120A结合两个选择nFET 132和134。因此,计算单元100A可以是紧凑的。因为FE-FET 110A和120A可被数字地编程,因此编程可以是鲁棒的。权重经由铁电层116/126的极化而被本地存储。因为不需要从片外DRAM访问权重,因此节省了时间和功率。因为计算单元100A可数字地执行XNOR(推理)运算,因此与模拟实现方式相比,在存储节点150上形成的输出可展现出降低的噪声。此外,推理运算被快速且高效地执行。计算单元100A可对于读取干扰具有鲁棒性。FE-FET的栅极节点(铁电电容器114和124的顶部节点)在推理期间浮置。因此,推理事件断定跨过铁电电容器114/124自身的电压非常小。此外,这种小的电压增量发生在比标准铁电材料的铁电极化响应小得多的时间尺度上。如以上针对图6所讨论的,推理时间可合理地保持在0.1ns以下。这个时间尺度可远小于标准铁电材料的铁电响应的时间。这是因为,在推理运算期间不期望铁电极化的改变。这个响应时间比PbZrTi响应快大约两个数量级,并且比HfZrO响应快至少几个数量级。因此,预期没有铁电层116/126的极化的改变。因此,重复的推理事件可对FE-FET 110A和120A中的栅极节点电压几乎没有影响。这表示不存在铁电层116/126的极化状态的改变。因此,推理/读取操作可不干扰FE-FET 110A和120A的编程状态。
计算单元100A还可用于三进制运算。针对三进制运算,使用全权重集{1,0,-1}。针对零权重,计算单元100A在以上讨论的擦除之后不被编程。换句话说,擦除-编程操作简单地通过擦除计算单元100A而被完成。然而,在存储节点150存在由于重复推理引起的电荷累积的可能性。这可能因为动态存储节点150的自然放电率与当FE-FET 110A和120A二者截止时(如针对零权重的情况)的推理速率相比低而发生。为了防止这种电荷累积,在三进制运算的每个推理之前执行明确的复位。在XNORNet情况下,输入线102的x和输入线104的x_bar的初始接地状态足以通过FE-FET 110A和/或FE-FET 120A使存储节点150放电。
在一个实施例中,可在没有任何额外的晶体管或互连的情况下使用计算单元100A。在这样的实施例中,存储节点150通过FE-FET 110A和120A放电。然而,当选择晶体管132和134导通时,FE-FET 110A和120A的导电率通过分别向编程线152和154施加高电压而被增加。FE-FET 110A和120A上增加的栅极电压使得正常截止的FE-FET 110A和120A暂时更导电。FE-FET110A和120A的这种较高的导电率使存储节点150能够快速放电。虽然这种方法起作用,但是编程线152和154的高压脉冲施加在每个推理时发生。这导致选择晶体管132和134上的功率和电压应力增大,这很少被另外强调。可选择地,可使用计算单元的不同实施例。
图7描绘用于使用明确的复位操作来执行数字XNOR运算的计算单元100B的另一示例性实施例。计算单元100B与XNOR单元100以及计算单元100A类似。因此,计算单元100B可用于神经元180或其他应用。因此,计算单元100B的与计算单元100/100A中的组件类似的部分被相似地标记。因此,计算单元100B包括分别与输入线102和104、FE-FET 110/110A和120/120A、选择晶体管130/132和134、输出线106和选择线108类似的输入线102和104、FE-FET 110B和120B、选择晶体管132和134、输出线106和选择线108。还示出与图3中所示类似的动态输出节点150和编程线152和154。选择晶体管132和134是n-FET。FE-FET 110B包括FET 112以及具有铁电层的铁电电容器114,FE-FET 120B包括FET 122以及具有铁电层的铁电电容器124。FET 112和122以及铁电电容器114和124与图3中所示类似。铁电层(图7中未标记)可包括PbZrTi、HfZrO、BaTiO3、B12TiO20、GeTe和BaxEu1-xTiO3中的一个或多个,其中,x大于零且不大于一。组件102、104、106、108、110B、112、114、120B、122、124、132、134、150、152和154的结构和功能类似于图2至图4中的相同编号的组件。
计算单元100B还包括可以是n-FET的复位晶体管140以及复位线142。复位晶体管140的栅极结合到复位线140,而源极结合到地,漏极连接到动态存储节点150。为了对FE-FET 110B和120B进行擦除,复位线142被设置为低,编程线152和154被施加低脉冲,并且输入线102和104被设置为高。针对推理/XNOR运算,通过在输入x和x_bar被施加到输入线102和104之前激励复位线142来导通复位FET 140。因此,复位晶体管140的使用使存储节点150放电。然后,输入x和x_bar可被施加并且推理运算可被执行。结果,当在三进制模式下使用计算单元100B时,可避免以上讨论的高电压。在利用具有施加到编程线152和154的高电压的较小的计算单元100A和利用具有复位FET 140但不采用高电压的较大的计算单元100B之间的选择取决于目标和技术约束。
图8是描绘用于使用硬件单元的示例性实施例执行XNOR运算的方法的示例性实施例的流程图。为简单起见,一些步骤可被省略,一些步骤可以以其他顺序执行和/或一些步骤可被组合。方法300还在XNOR单元100/100A/100B的情况下被描述。然而,方法300可结合另一XNOR计算单元而被使用。
经由步骤302,权重被编程到FE-FET 110/110A/110B和120/120A/120B中。因此,可如上所述执行步骤302。例如,步骤302可包括计算单元100/100A/100B的擦除,其中,计算单元100/100A/100B的擦除之后是编程步骤。尽管步骤302被示出为流程300的一部分,但是步骤302可适当地在方法300的剩余步骤之前执行并与方法300的剩余步骤分离。
经由步骤304,复位线142被可选地驱动为高,然后被驱动为低,以使能复位晶体管140。针对计算单元100B执行步骤304。可选择地,FE-FET 110A和120A可经由施加的电压而被复位。经由步骤306,接收信号及其补码。步骤306可包括分别接收输入线102中的x_value和输入线104中的x_value_bar。如上所述执行推理运算。然后,经由步骤308,可转发XNOR运算的结果。
因此,使用方法300,XNOR单元100、100A、100B和/或类似的装置可被使用。结果,可实现一个或多个XNOR单元100、100A、100B和/或类似装置的优点。已经描述了用于在二进制模式或三进制模式下使用紧凑型FE-FET计算单元100/100A/100B执行数字XNOR运算的方法和系统。已经根据示出的示例性实施例描述了所述方法和系统,并且本领域普通技术人员将容易地认识到可存在实施例的变型,并且任何变型都将在所述方法和系统的精神和范围内。因此,在不脱离所附权利要求的精神和范围的情况下,可由本领域普通技术人员进行很多修改。

Claims (18)

1.一种用于执行输入信号与权重的同或运算的计算单元,包括:
至少一个铁电场效应晶体管对,与多条输入线结合并存储权重,每个铁电场效应晶体管对包括第一铁电场效应晶体管和第二铁电场效应晶体管,第一铁电场效应晶体管接收输入信号并存储第一权重,第二铁电场效应晶体管接收输入信号补码并存储第二权重,其中,第一铁电场效应晶体管包括第一漏极,第二铁电场效应晶体管包括第二漏极,第二漏极与第一漏极结合以形成动态存储节点;
多个选择晶体管,与铁电场效应晶体管对结合,
复位晶体管,具有复位晶体管源极、复位晶体管栅极和复位晶体管漏极,复位晶体管漏极连接到动态存储节点,复位晶体管栅极与复位线结合。
2.根据权利要求1所述的计算单元,其中,所述多个选择晶体管包括第一选择晶体管和第二选择晶体管,所述多个选择晶体管中的每个包括栅极、源极和漏极,第一选择晶体管的源极连接到第一铁电场效应晶体管的第一栅极,第二选择晶体管的源极连接到第二铁电场效应晶体管的第二栅极,第一选择晶体管的栅极和第二选择晶体管的栅极结合到选择线。
3.根据权利要求2所述的计算单元,其中,第一选择晶体管的漏极与编程线结合,第二选择晶体管的漏极与编程补码线结合。
4.根据权利要求1所述的计算单元,其中,第一铁电场效应晶体管还包括与所述多条输入线中的第一输入线结合的第一源极,其中,第二铁电场效应晶体管还包括与所述多条输入线中的第二输入线结合的第二源极。
5.根据权利要求1所述的计算单元,其中,第一铁电场效应晶体管包括第一铁电材料,第二铁电场效应晶体管包括第二铁电材料,第一铁电材料和第二铁电材料包括PbZrTi、HfZrO、BaTiO3、B12TiO20、GeTe和BaxEu1-xTiO3中的至少一个,其中,x大于零且不大于一。
6.根据权利要求1所述的计算单元,其中,第一权重和第二权重对于非零权重是互补的,并且对于零权重是相等的。
7.根据权利要求1所述的计算单元,其中,所述多个选择晶体管包括第一选择晶体管和第二选择晶体管。
8.一种神经网络装置,包括:
多条输入线;
多个同或单元,所述多个同或单元中的每个用于执行输入信号与权重的数字同或运算,所述多个同或单元中的每个包括至少一个铁电场效应晶体管对以及与所述至少一个铁电场效应晶体管对结合的多个选择晶体管,所述至少一个铁电场效应晶体管对与所述多条输入线的一部分结合并存储权重,每个铁电场效应晶体管对包括第一铁电场效应晶体管和第二铁电场效应晶体管,第一铁电场效应晶体管接收输入信号并存储第一权重,第二铁电场效应晶体管接收输入信号补码并存储第二权重,
其中,第一铁电场效应晶体管包括第一漏极,第二铁电场效应晶体管包括第二漏极,第二漏极与第一漏极结合以形成动态存储节点,
其中,所述多个同或单元中的每个还包括:
复位晶体管,具有复位晶体管源极、复位晶体管栅极和复位晶体管漏极,复位晶体管漏极连接到动态存储节点,其中,所述神经网络还包括多条复位线,所述多条复位线中的每条复位线与所述多个同或单元中的至少一个同或单元的复位晶体管栅极结合。
9.根据权利要求8所述的神经网络装置,其中,所述多个选择晶体管包括第一选择晶体管和第二选择晶体管,所述多个选择晶体管中的每个包括栅极、源极和漏极,第一选择晶体管的源极连接到第一铁电场效应晶体管的第一栅极,第二选择晶体管的源极连接到第二铁电场效应晶体管的第二栅极,第一选择晶体管的栅极和第二选择晶体管的栅极结合到选择线,第一选择晶体管的漏极与编程线结合,第二选择晶体管的漏极与编程补码线结合。
10.根据权利要求9所述的神经网络装置,其中,第一铁电场效应晶体管还包括与所述多条输入线中的第一输入线结合的第一源极,其中,第二铁电场效应晶体管还包括与所述多条输入线的第二输入线结合的第二源极。
11.根据权利要求8所述的神经网络装置,其中,第一铁电场效应晶体管包括第一铁电材料,第二铁电场效应晶体管包括第二铁电材料,第一铁电材料和第二铁电材料包括PbZrTi、HfZrO、BaTiO3、B12TiO20、GeTe和BaxEu1-xTiO3中的至少一个,其中,x大于零且不大于一,其中,第一铁电材料布置在第一铁电场效应晶体管中包括的铁电电容器的两个金属层之间,第二铁电材料布置在第二铁电场效应晶体管中包括的铁电电容器的两个金属层之间。
12.一种用于执行数字同或运算的方法,包括:
将输入信号和输入信号补码提供给用于执行输入信号与权重的数字同或运算的同或单元,同或单元包括至少一个铁电场效应晶体管对以及与所述至少一个铁电场效应晶体管对结合的多个选择晶体管,所述至少一个铁电场效应晶体管对与多条输入线结合并存储权重,每个铁电场效应晶体管对包括第一铁电场效应晶体管和第二铁电场效应晶体管,第一铁电场效应晶体管接收输入信号并存储第一权重,第二铁电场效应晶体管接收输入信号补码并存储第二权重,
其中,第一铁电场效应晶体管包括第一漏极,第二铁电场效应晶体管包括第二漏极,第二漏极与第一漏极结合以形成动态存储节点,
其中,同或单元还包括具有复位晶体管源极、复位晶体管栅极和复位晶体管漏极的复位晶体管,复位晶体管漏极连接到动态存储节点,复位晶体管栅极结合到复位线。
13.一种用于执行数字同或运算的方法,包括:
将输入信号和输入信号补码提供给用于执行输入信号与权重的数字同或运算的同或单元,同或单元包括至少一个铁电场效应晶体管对以及与所述至少一个铁电场效应晶体管对结合的多个选择晶体管,所述至少一个铁电场效应晶体管对与多条输入线结合并存储权重,每个铁电场效应晶体管对包括第一铁电场效应晶体管和第二铁电场效应晶体管,第一铁电场效应晶体管接收输入信号并存储第一权重,第二铁电场效应晶体管接收输入信号补码并存储第二权重,
其中,所述多个选择晶体管包括第一选择晶体管和第二选择晶体管,所述多个选择晶体管中的每个包括栅极、源极和漏极,第一选择晶体管的源极连接到第一铁电场效应晶体管的第一栅极,第二选择晶体管的源极连接到第二铁电场效应晶体管的第二栅极,第一选择晶体管的漏极与编程线结合,第二选择晶体管的漏极与编程补码线结合,第一选择晶体管的栅极和第二选择晶体管的栅极结合到选择线,
所述方法还包括:
将第一权重和第二权重分别编程到第一铁电场效应晶体管和第二铁电场效应晶体管中,将第一权重和第二权重编程的步骤还包括:
通过将编程线设置为接地,将编程补码线设置为接地,将选择线设置为高状态,将所述多条输入线中的输入线和输入补码线设置为高状态,来擦除第一铁电场效应晶体管和第二铁电场效应晶体管;
在擦除步骤之后,通过将输入线设置为接地,将输入补码线设置为接地,将选择线设置为高状态,以及对编程线施加脉冲、对编程补码线施加脉冲和对编程线和编程补码线均不施加脉冲中的一个,来将第一权重和第二权重分别写入第一铁电场效应晶体管和第二铁电场效应晶体管。
14.根据权利要求13所述的方法,其中,编程步骤使用非负电压。
15.根据权利要求13所述的方法,其中,提供输入信号的步骤还包括:
实施复位步骤和评估步骤。
16.根据权利要求15所述的方法,其中,第一铁电场效应晶体管包括第一漏极和与所述多条输入线中的第一输入线结合的第一源极,其中,第二铁电场效应晶体管包括与所述多条输入线中的第二输入线结合的第二源极和第二漏极,第二漏极与第一漏极结合以形成动态存储节点,其中,同或单元还包括具有复位晶体管源极、复位晶体管栅极和复位晶体管漏极的复位晶体管,复位晶体管漏极连接到动态存储节点,复位晶体管栅极结合到复位线,
所述方法还包括:在评估步骤之前对复位线施加脉冲。
17.根据权利要求15所述的方法,还包括:
在评估步骤之前,对编程线、编程补码线和选择线施加高脉冲。
18.根据权利要求13所述的方法,其中,提供输入信号和输入信号补码的步骤还包括:
将选择线设置为低状态;
当选择线处于低状态时,在输入线上提供输入信号并在输入补码线上提供输入信号补码。
CN201910148042.2A 2018-03-08 2019-02-28 用于执行同或运算的计算单元、神经网络及方法 Active CN110245749B (zh)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US201862640076P 2018-03-08 2018-03-08
US62/640,076 2018-03-08
US201862664102P 2018-04-28 2018-04-28
US62/664,102 2018-04-28
US16/137,227 2018-09-20
US16/137,227 US10461751B2 (en) 2018-03-08 2018-09-20 FE-FET-based XNOR cell usable in neuromorphic computing

Publications (2)

Publication Number Publication Date
CN110245749A CN110245749A (zh) 2019-09-17
CN110245749B true CN110245749B (zh) 2024-06-14

Family

ID=67882975

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910148042.2A Active CN110245749B (zh) 2018-03-08 2019-02-28 用于执行同或运算的计算单元、神经网络及方法

Country Status (2)

Country Link
CN (1) CN110245749B (zh)
TW (1) TWI793278B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11120864B2 (en) * 2019-12-09 2021-09-14 International Business Machines Corporation Capacitive processing unit

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4541067A (en) * 1982-05-10 1985-09-10 American Microsystems, Inc. Combinational logic structure using PASS transistors

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4713792A (en) * 1985-06-06 1987-12-15 Altera Corporation Programmable macrocell using eprom or eeprom transistors for architecture control in programmable logic circuits
US6356112B1 (en) * 2000-03-28 2002-03-12 Translogic Technology, Inc. Exclusive or/nor circuit
KR100482996B1 (ko) * 2002-08-30 2005-04-15 주식회사 하이닉스반도체 비휘발성 강유전체 메모리 장치
US9263577B2 (en) * 2014-04-24 2016-02-16 Micron Technology, Inc. Ferroelectric field effect transistors, pluralities of ferroelectric field effect transistors arrayed in row lines and column lines, and methods of forming a plurality of ferroelectric field effect transistors
US10242989B2 (en) * 2014-05-20 2019-03-26 Micron Technology, Inc. Polar, chiral, and non-centro-symmetric ferroelectric materials, memory cells including such materials, and related devices and methods
WO2016158691A1 (ja) * 2015-04-01 2016-10-06 国立研究開発法人科学技術振興機構 電子回路
US10056393B2 (en) * 2016-03-01 2018-08-21 Namlab Ggmbh Application of antiferroelectric like materials in non-volatile memory devices
US10089577B2 (en) * 2016-08-05 2018-10-02 Xilinx, Inc. Binary neural networks on progammable integrated circuits

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4541067A (en) * 1982-05-10 1985-09-10 American Microsystems, Inc. Combinational logic structure using PASS transistors

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
A Multi-Bit Neuromorphic Weight Cell using Ferroelectric FETs, suitable for SoC Integration;BORNA OBRADOVIC et al.;https://arxiv.org/abs/1710.08034.pdf;第1-9页 *

Also Published As

Publication number Publication date
TW202036389A (zh) 2020-10-01
CN110245749A (zh) 2019-09-17
TWI793278B (zh) 2023-02-21

Similar Documents

Publication Publication Date Title
US10461751B2 (en) FE-FET-based XNOR cell usable in neuromorphic computing
US11842770B2 (en) Circuit methodology for highly linear and symmetric resistive processing unit
US11361215B2 (en) Neural network circuits having non-volatile synapse arrays
US11657259B2 (en) Kernel transformation techniques to reduce power consumption of binary input, binary weight in-memory convolutional neural network inference engine
US12073869B2 (en) Compute in memory system
US9697877B2 (en) Compute memory
US11157810B2 (en) Resistive processing unit architecture with separate weight update and inference circuitry
TWI699711B (zh) 記憶體裝置及其製造方法
US11119674B2 (en) Memory devices and methods for operating the same
CN112885386B (zh) 存储器控制方法、装置及铁电存储器
US20220269483A1 (en) Compute in memory accumulator
EP3743857A2 (en) Neural network circuits having non-volatile synapse arrays
US11693560B2 (en) SRAM-based cell for in-memory computing and hybrid computations/storage memory architecture
CN112447229A (zh) 执行乘法累加运算的非易失性存储器件
CN110245749B (zh) 用于执行同或运算的计算单元、神经网络及方法
US20200410040A1 (en) Computation circuit for performing vector-matrix multiplication and semiconductor device including the computation circuit
CN115699184A (zh) 用于机器学习的基于电荷泵的电流模式神经元
TWI849433B (zh) 用於實行記憶體內計算的計算裝置、記憶體控制器及方法
KR102709235B1 (ko) 용량성 커플링된 기입 동작을 갖는 컴퓨트-인-메모리 비트셀
US20230053948A1 (en) Apparatus and method with in-memory computing
US20230317124A1 (en) Memory system and operating method of memory system
JP7480391B2 (ja) インメモリコンピューティングのための記憶装置
US20230027768A1 (en) Neural network computing device and computing method thereof
Saragada et al. An in-memory architecture for machine learning classifier using logistic regression
US20230004350A1 (en) Compute in memory architecture and dataflows for depth-wise separable convolution

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