用于机器学习的基于电荷泵的电流模式神经元的制作方法


用于机器学习的基于电荷泵的电流模式神经元
1.相关申请的交叉引用
2.本技术要求2021年06月21日提交的、美国非临时专利申请号17/353,564的优先权,该申请又要求2020年06月22日提交的美国临时申请号63/042,537的权益,其内容通过引用以其整体并入于此。
技术领域
3.本技术涉及存储器内计算,并且更具体地涉及用于机器学习应用的基于电荷泵的电流模式存储器内计算位单元(神经元)。


背景技术:



4.数据的计算机处理通常使用冯诺依曼架构,其中从存储器中检索数据以在算术和逻辑单元中进行处理。在诸如机器学习的计算密集型应用中,去往和来自存储器的数据流成为处理速度的瓶颈。为了解决这种数据移动瓶颈,已经开发了存储器内计算架构,其中数据处理硬件跨位单元分布。


技术实现要素:



5.根据本公开的一个方面,提供了一种用于机器学习的存储器,包括:偏置电路、位线和神经元,神经元包括:具有连接到位线的漏极的输出晶体管;滤波器权重电容器;数模转换器;耦合在偏置电路和滤波器权重电容器之间的第一开关;耦合在数模转换器和滤波器权重电容器之间的第二开关;以及耦合在滤波器权重电容器和输出晶体管的栅极之间的第三开关。
6.根据本公开的另一方面,提供了一种用于机器学习的存储器,包括:读取位线;具有连接到读取位线的漏极的输出晶体管;电荷泵电容器;滤波器权重电容器;电压源;以及开关的集合,开关的集合具有第一开关配置,在第一开关配置中,滤波器权重电容器由电压源充电,并且开关的集合具有第二开关配置,在第二开关配置中,滤波器权重电容器被耦合到电荷泵电容器,以将升压电压提供到输出晶体管的栅极。
7.根据本公开的又一方面,提供了一种用于机器学习的存储器,包括:多个神经元,每个神经元包括:位线、位线开关,以及具有通过位线开关连接到位线的端子的输出晶体管;以及偏置电路,包括:电荷源和开关矩阵,开关矩阵被配置为将电荷源耦合到神经元中的一个选中神经元,以用升压电压对神经元中的一个选中神经元的输出晶体管中的栅极电容进行充电。
8.最后,根据本公开的另一方面,提供了一种针对神经元的操作的方法,包括:驱动电流通过二极管接法晶体管,以将电荷泵电容器充电至电荷泵电压;响应于训练数据集,调整电压数模转换器(vdac)以用vdac电压对滤波器权重电容器进行充电;响应于输入位的第一二进制值,将电荷泵电容器和滤波器权重电容器串联耦合,以将输出晶体管的栅极充电至vdac电压和电荷泵电压之和;以及响应于输出晶体管的栅极的充电,通过输出晶体管传
导电流的镜像版本。
9.通过以下详细描述可以更好地理解这些和其他有利特征。
附图说明
10.图1a图示了根据本公开的方面的基于电荷泵的电流模式神经元和偏置电路。
11.图1b图示了根据本公开的方面的、在训练阶段的充电级期间以及在计算阶段的刷新级期间针对图1a的神经元的开关配置。
12.图1c图示了根据本公开的方面的、在响应于输入位的第一二进制值的训练阶段或计算阶段的评估级期间针对图1a的神经元的开关配置。
13.图1d图示了根据本公开的方面的、在响应于输入位的第二二进制值的训练阶段或计算阶段的评估级期间针对图1a的神经元的开关配置。
14.图2图示了根据本公开的方面的、在训练阶段期间或在计算阶段期间针对图1a的神经元的一些操作波形。
15.图3图示了根据本公开的方面的由公共偏置电路偏置的基于电荷泵的电流模式神经元的阵列。
16.图4图示了根据本公开的方面的被布置以形成滤波器的多个基于电荷泵的电流模式神经元。
17.图5图示了根据本公开的方面的包括用于存储滤波器权重电压的可变电容器的基于电荷泵的电流模式神经元。
18.图6图示了根据本公开的方面的图5的神经元的修改,以包括电压-数模转换器。
19.图7图示了根据本公开的方面的具有滤波器权重电容器的基于电荷泵的电流模式神经元,该滤波器权重电容器由电流数模转换器用滤波器权重电压进行充电。
20.图8图示了根据本公开的方面的基于电荷泵的电流模式神经元和偏置电路,其中输出晶体管是pmos晶体管。
21.图9图示了根据本公开的方面的基于电荷泵的电流模式神经元的阵列和公共偏置电路,其中每个神经元中的输出晶体管的栅极电容被配置为用作滤波器权重电容器并且其中偏置电路包括vdac。
22.图10图示了根据本公开的方面的基于电荷泵的电流模式神经元的阵列和公共偏置电路,其中每个神经元中的输出晶体管的栅极电容被配置为用作滤波器权重电容器,并且其中偏置电路包括idac。
23.图11图示了根据本公开的方面的电流模式神经元的阵列和公共偏置电路,其中每个神经元中的输出晶体管的栅极电容被配置为用作滤波器权重电容器,并且其中偏置电路仅包括vdac和开关矩阵。
24.图12是根据本公开的方面的基于电荷泵的电流模式电路的操作的示例方法的流程图。
25.本公开的实施方式及其优点通过参考下面的详细描述得到最好的理解。应当理解,相同的附图标记用于标识图中的一个或多个图中图示的相同元件。
具体实施方式
26.将传统的冯诺依曼架构用于机器学习应用是麻烦的,因为去往和来自存储器的数据流成为增加处理速度的瓶颈。因此已经开发了存储器内计算架构,其中数据处理硬件跨位单元或神经元分布。例如,机器学习应用的每个层通常实现一个或多个滤波器。滤波器是乘法和累加电路,它将多个滤波器权重与对应的多个输入位相乘并且对乘法的结果求和(累加)。每个滤波器权重由存储器内计算神经元存储,该神经元还用于将存储的滤波器权重与来自输入矢量的输入位相乘。公开了一种特别有利的存储器内计算神经元,该神经元包括用于存储滤波器权重的滤波器权重电容器。在一些实施方式中,在训练阶段期间,滤波器权重电容器的第一极板被充电至模拟滤波器权重电压,而滤波器权重电容器的第二极板被放电至地。根据训练,模拟滤波器权重被调整为适当的值。例如,诸如电压数模转换器(vdac)的电压源可以生成模拟滤波器权重电压。然后,验证阶段可以跟随训练阶段,在验证阶段中,模拟滤波器权重电压不被进一步改变。
27.随着神经元被训练和验证,使得每个神经元的滤波器权重电容器被充电到适当的滤波器权重电压,神经网络然后可以在通常被表示为计算或预测的阶段中处理数据。为了向层中的每个神经元提供偏置,电荷泵电容器可以耦合到滤波器权重电容器的第二极板,而滤波器权重电容器的上极板耦合到输出电容器的栅极,输出电容器具有耦合到读取位线的漏极端子或源极端子。电荷泵电容器可以是偏置电路的一部分,该偏置电路也可以偏置其他神经元。因此,偏置电路在本文中也可以被表示为公共偏置电路,因为它跨多个神经元被共享。在训练阶段的充电级中,公共偏置块中的电流源将电流驱动到二极管接法晶体管的漏极中。二极管接法晶体管的栅极耦合到电荷泵电容器。因此,电荷泵电容器将在充电级期间充电至电荷泵电压(vchargep)。类似的充电级可以出现在计算阶段中。随着充电级完成,训练阶段可以进行到评估级,在评估级中,电荷泵电容器然后耦合到滤波器权重电容器的第二极板,导致滤波器权重电容器和电荷泵电容器的串联堆叠或组合。滤波器权重电容器因此以电荷泵方式被泵送,以在评估级期间被充电至滤波器权重电压和电荷泵电压之和。类似的评估级在计算阶段期间的充电级之后出现。两个评估级之间的区别在于,训练阶段响应于训练数据,而在计算阶段期间处理新数据。在两个评估级中,神经元都响应于输入位的二进制值。根据该二进制值,滤波器权重电容器的第一极板要么耦合到输出晶体管的栅极,要么与输出晶体管的栅极隔离,该输出晶体管具有耦合到位线的漏极。
28.如果输入位具有使得滤波器权重电容器的第一极板耦合到输出晶体管的栅极的二进制值,则输出晶体管和二极管接法晶体管形成电流镜。因此,输出晶体管将通过位线传导镜像电流,该镜像电流将根据vdac电压变化。该电流变化相对于由电流源电流建立的偏置电流而存在。例如,假设vdac具有两位的精度(resolution)。然后,镜像到位线的电流将具有四个可能的值,该值取决于在训练阶段期间建立的所得vdac电压。鉴于该电流镜像和电荷泵电容器的使用,本文公开的神经元可以被表示为基于电荷泵的电流模式神经元。
29.刚刚描述的神经元包括滤波器权重电容器和用于滤波器权重电容器的充电的多个开关。每个开关可以由对应的晶体管开关实现。因此,神经元可以包括用于开关的数个晶体管(例如,4个或5个开关晶体管)以及滤波器权重电容器和输出晶体管。这种晶体管集合在数目上与常规的基于静态随机存取存储器(基于sram)的存储器内计算位单元类似。然而,注意,需要由类似的基于sram的神经元实现存储的滤波器权重位的数目取决于每个滤
波器权重的位数目。如果每个滤波器权重是四位,则需要四个sram位单元来存储滤波器权重。但是本文公开的基于电荷泵的电流模式神经元的滤波器权重可以由vdac实现,导致密度(给定神经元的实现所需的半导体面积)的显著增加。
30.耦合到输出晶体管的漏极的位线在本文中也被表示为读取位线。读取位线的预充电取决于输出晶体管的极性。如果输出晶体管是n型金属氧化物半导体(nmos)晶体管,则读取位线可以通过被充电至电源电压而被预充电。如果输出晶体管是p型金属氧化物半导体(pmos)晶体管,则读取位线可以通过被放电而被预充电。在其他实施方式中,读取位线可以被预充电到在地和电源电压之间的中间电压。
31.现在将更详细地讨论用基于电荷泵的电流模式神经元形成的存储器内计算的一些示例实现。图1a中示出了示例神经元100和相关联的偏置电路101。神经元100包括滤波器权重电容器(cweight)、nmos输出晶体管m1,以及五个晶体管开关s1、s2、s3、s4和s5的集合。开关s1耦合在滤波器权重电容器的第二极板和偏置电路101的vchargep输出节点之间。开关s2耦合在电压数模转换器(vdac)110的输出和滤波器权重电容器的第一极板之间。开关s3耦合在滤波器权重电容器的第一极板和输出晶体管m1的栅极之间。开关s4耦合在滤波器权重电容器的第二极板和地之间。最后,开关s5耦合在输出晶体管m1的栅极和地之间。输出晶体管m1的源极连接到地,而输出晶体管m1的漏极连接到读取位线(rbl)。
32.晶体管开关的状态取决于操作模式。如上所述,神经网络中的神经元在训练阶段期间被训练,以建立训练神经元的滤波器权重值。然后,训练在验证阶段期间被评估。尽管滤波器权重在验证阶段期间未被改变,但神经网络可以被调谐,诸如通过在验证阶段期间删除隐藏层。在神经网络被训练和验证的情况下,神经网络可以用于在计算阶段(在本文中也被表示为预测阶段)期间处理输入数据。在训练阶段的充电级期间,控制信号控制开关s1和开关s4的状态,而控制信号的补码控制开关s1、开关s3和开关s5。在训练阶段和计算阶段的评估级期间,开关s1和开关s3由数据控制信号控制,当输入位具有二进制真状态时,该数据控制信号被生效。在评估级期间,开关s5由数据控制信号的补码控制,当输入位具有二进制假状态时,该补码被生效。现在将更详细地讨论这些开关状态(也可以被表示为开关配置)。
33.开关s1到开关s5的开关状态取决于神经元100是处于训练阶段、验证阶段还是计算阶段。在训练阶段(或计算阶段)的充电级期间针对神经元100的开关状态在图1b中被示出。开关s2和开关s4响应于控制信号的生效而被闭合。开关s1、开关s3和开关s5响应于补码控制信号的取消生效而被打开。用于开关集合的该开关配置在本文中可以被表示为第一开关配置。在开关s2和开关s4闭合的情况下,vdac 110将滤波器权重电容器充电至滤波器权重电压vdac,该滤波器权重电压vdac取决于神经元训练。在偏置电路101中,电流源i将偏置电流i驱动到二极管接法nmos晶体管m2的漏极,二极管接法nmos晶体管m2具有连接到地的源极。电荷泵电容器(cchargep)具有连接到地的第二极板和连接到二极管接法晶体管m2的栅极的第一极板。响应于电流i,二极管接法晶体管m2的栅极和电荷泵电容器被充电至电荷泵电压vchargep。
34.在训练阶段的评估级期间,针对存储器内计算神经元100的开关配置取决于训练
数据集的输入位是二进制真还是假。在计算阶段的评估级期间,针对其输入位,存在相同的开关配置行为。以下讨论将假设输入位为高有效,但也可以使用低有效的约定。在训练阶段(或计算阶段)的评估级期间,神经元100中的开关集合响应于输入训练位的二进制高状态的开关配置在图1c中被示出。该开关配置在本文中也可以被表示为第二开关配置。响应于输入位的高状态,开关s1和开关s3闭合。控制信号在评估级期间被取消生效,以便开关s2和开关s4被打开。在评估级期间,开关s5响应于输入位的补码由于输入位在图1c中被生效为高,因此开关s5被打开。如前所述,电荷泵电容器在充电级期间被充电至电荷泵电压vchargep。随着开关s1在后续的评估级期间被闭合,由于滤波器权重电容器和电荷泵电容器的串联耦合,滤波器权重电容器的第一极板因此以电荷泵方式被升压至升压电压(滤波器权重电压vdac和vchargep之和)。该升压电压通过闭合的开关s3驱动输出晶体管m1的栅极。因此,电荷泵电容器和滤波器权重电容器响应于输入位为真而被串联堆叠。根据vdac和vchargep电压的值,输出晶体管m1在评估部分期间传导电流i的电流镜调整版本,以相应地减小读取位线电压。例如,如果vdac电压为零,则输出晶体管m1的栅极被充电至vchargep电压。在训练阶段之前,读取位线电压被预充电到电源电压或电源电压的一部分。根据vdac电压(其表示滤波器权重)的值,位线被相应地放电以等于某个模拟值。
35.在训练阶段或计算阶段期间,在评估级期间的输入位也可以具有二进制假(二进制低值)。在评估级期间响应于输入位的这种二进制低状态的针对神经元100的开关配置在图1d中被示出。该开关配置在本文中也可以被表示为第三开关配置。由于输入位具有二进制低值,补码输入位为二进制高,使得开关s5被闭合以将输出晶体管m1的栅极接地,并且开关s1、开关s2、开关s3和开关s4被打开。因此,如果输入位为低,则读取位线浮动。然后,读取位线保持在其预充电电压。
36.随着训练或输入数据流通过神经元100,顺序的充电和评估部分如图2的波形中所示那样出现。特别地,来自训练数据(或计算阶段期间的输入数据)的第一输入位在第一周期(周期1)期间被评估,其中第一周期(周期1)在时间t1处以控制信号在周期1的充电级期间的脉冲开始。然后,神经元100将处于第一开关配置,如关于图1b所讨论的。在充电级之后,控制信号被取消生效以开始周期1的评估级。在周期1的评估级中,输入位为二进制高,使得神经元100将处于第二开关配置,如关于图1c所讨论的。类似地,第二训练位在时间t2处开始的第二训练周期(周期2)期间被评估。周期2也开始于充电级,其中控制信号被生效。在周期2的评估部分中,输入训练位为低,使得神经元100将处于第三开关配置,如关于图1d所讨论的。
37.在计算阶段期间,包括神经元100的机器学习应用处理输入数据。当数据通过各个层到达包含神经元100的层时,输入位将由神经元100接收,该输入位将用存储在滤波器权重电容器上的vdac电压进行处理。如果滤波器权重电容器没有泄漏,则在它处理输入位之前不需要充电阶段来刷新滤波器权重电容器上的vdac电压。但是为了解决任何这种泄漏,计算阶段可以从充电级(其也可以被表示为如图2中所示的刷新级)开始。控制信号和补
码控制信号在该充电刷新级期间如关于图1b所讨论的那样操作,以便可以刷新滤波器权重电容器电压vdac和充电电容器电压vchargep。如果输入位在刷新充电之后具有逻辑高状态,则神经元100将处于第二开关配置,使得输出晶体管m1的栅极被充电至vdac和vchargep电压之和。相反,如果输入位在刷新之后为低,则神经元100将处于第三开关配置,使得读取位线浮动(保持在其预充电状态)。
38.为了增加密度,偏置电路101可以为如图3中所示的存储器内计算阵列300中的多个神经元100所共用。vchargep电压可以为多个神经元100所共用,或者可以针对每个神经元100改变。根据训练,设置用于每个神经元100的vdac电压。根据其输入位,每个神经元可以使其读取位线放电或浮动。每个滤波器权重的大小(以位为单位的宽度)取决于vdac的精度。在通常应用中,滤波器权重通常为4位宽或8位宽,尽管在备选实施方式中该值可以被减小或增加。注意,这种滤波器权重的sram实现分别需要四个或八个位单元。然而在每个神经元100中,这四个或八个位单元的功能可以仅使用5个晶体管开关s1至开关s5、输出晶体管和滤波器权重电容器来被执行。与sram实现相比,神经元100的多位滤波器权重实现因此提供了密度的显著增加。即使滤波器权重仅是一位,神经元100的密度仍然与常规的sram位单元相当。此外,除了常规的模拟电路装置匹配之外,神经元100不需要单独的匹配。
39.可以组织多个神经元100来形成滤波器。如前所述,滤波器是乘法和累加电路,它将多个滤波器权重与对应的多个输入位相乘,并且对乘法的结果求和(累加)。图4中示出了示例滤波器400,滤波器400包括多个神经元100,所有神经元100都耦合到公共读取位线rbl。为了说明清楚起见,公共偏置电路未在图4中被示出,但可以如关于偏置电路101所讨论的那样被布置。
40.如本文所公开的,基于电荷泵的电流模式神经元有多种备选实施方式。例如,图5中示出了神经元500,在图5中,滤波器权重电容器使用用作可变电容器的电容性数模转换器(cdac)来进行实现。cdac与针对vdac 110讨论的类似地被训练,以使神经元500不需要vdac。偏置电路101如关于神经元100讨论的那样起作用。开关s2耦合在电荷泵电容器cchargep的第一极板和cdac的第一极板之间。开关s4耦合在cdac的第二极板和地之间。控制信号控制开关s2和开关s4在充电级期间闭合,使得cdac被充电到vchargep。开关s3耦合在cdac的第一极板和输出晶体管m1的栅极之间,与如针对神经元100所讨论的类似。在计算阶段期间,开关s1可以选择性地被耦合到地或被耦合到电源电压vdd的节点,具体取决于输入位的值。例如,如果输入位为二进制高,则开关s1选择vdd,以便cdac的第二极板被相应地充电。然后,cdac的第一极板被一电压泵浦到cchargep之上,该电压取决于在训练阶段期间建立的cdac设置。开关s5如针对神经元100所讨论的那样起作用。
41.为了更大的灵活性,cdac可以与vdac 110组合,如图6中针对神经元600所示的。偏置电路101如针对神经元100所讨论的那样被布置。开关s1至开关s5如针对神经元500所讨论的那样被布置,除了开关s1耦合到vdac 110。
42.在神经元100的又一备选实施方式中,vdac 100的功能可以由如图7中所示的电流dac(idac)710实现。公共偏置电路705包括电流源105、二极管接法晶体管m2,以及如针对偏置电路101讨论的电荷泵电容器。电荷泵电容器因此被这些电路元件充电至vchargep。此外,偏置电路705包括idac 710,idac 710通过开关s1耦合到电荷泵电容器的第一极板。开
关s1在对于每个神经元单独或唯一的充电阶段期间闭合。如果存在n个神经元,开关s1因此响应于n个对应的时钟相位在训练期间,电荷泵电容器因此根据idac 710的设置被充电至vchargep+vdac的等效值。滤波器权重电容器cweight具有连接到地的第二极板,并且具有通过开关s2耦合到电荷泵电容器的第一极板的第一极板。滤波器权重电容器的第一极板也耦合到输出晶体管m1的栅极。开关s3耦合在输出晶体管的栅极和地之间。控制信号控制开关s2。类似地,补码输入位控制开关s3。
43.在神经元100、神经元500、神经元600和神经元700中,输出晶体管m1和二极管接法晶体管m2是nmos晶体管。这些晶体管的pmos实现在图8中针对神经元800和偏置电路805被示出。偏置电路包括pmos二极管接法晶体管p1,pmos二极管接法晶体管p1具有其通过电流源810耦合到地的漏极。二极管接法晶体管p1的源极耦合到针对电源电压vdd的节点。电荷泵电容器cchargep具有耦合到二极管接法晶体管p1的栅极的第一极板,并且具有耦合到电源节点的第二极板。电荷泵电容器的第一极板通过开关s1耦合到滤波器权重电容器cweightp的第二极板。在充电级期间,滤波器权重电容器的第一极板通过开关s2耦合到地。在充电级期间,vdac 110通过开关s3耦合到滤波器权重电容器的第二极板。在评估级中,根据输入位的二进制值,滤波器权重电容器的第一极板通过开关s4耦合到pmos输出晶体管p2的栅极。在评估级期间,输出晶体管p2的栅极还通过由输入位的补码控制的开关s5耦合到用于电源电压的节点。在充电级期间,当控制信号被生效以将滤波器权重电容器充电至-vdac时,开关s2和开关s3闭合。在充电级之后,开关s2和开关s3被打开。如果输入位在后续计算阶段中为二进制高,则开关s1和开关s4闭合,以便输出晶体管的栅极被充电至升压电压vchargep-vdac。因此,神经元800将滤波器权重电容器和电荷泵电容器串联堆叠,与针对神经元100讨论的类似。然后,输出晶体管p2将传导由电流源810传导的电流的镜像版本。该镜像电流与由电流源810传导的电流的比例取决于升压电压vchargep-vdac。读取位线耦合到输出晶体管p2的漏极,并且在计算阶段之前被放电(或部分放电)。由于镜像电流的传导,读取位线电压将因此从地或该部分电压级上升。如果输入位在评估级期间是二进制0,则开关s5闭合以关断晶体管p2并且使读取位线浮动。
44.针对神经元100、神经元500、神经元600、神经元700和神经元800讨论的单独的滤波器权重电容器可以在其中输出晶体管的栅极电容用作滤波器权重电容器的备选实施方式中被消除。图9中示出了示例神经元900。公共偏置电路905包括诸如vdac 110的电荷源、开关s1至开关s4、滤波器权重电容器、电流源105、二极管接法晶体管m2和电荷泵电容器,所有这些都如针对神经元100讨论的那样被布置。但是神经元900仅包括输出晶体管m1和耦合在输出晶体管m1的漏极和读取位线之间的位线开关s5。在充电级期间,开关s2和开关s4闭合,以使滤波器权重电容器可以被充电到vdac。在评估级期间,开关s1和开关s3闭合并且开关s2和开关s4打开,以使滤波器权重电容器被充电至升压电压vchargep+vdac。
45.尽管偏置电路905为多个神经元所公用,但是vdac 110被设置为如由特定神经元的训练阶段确定的任何适当的值。为了将所得的升压电压vchargep+vdac施加到选中神经元中的输出晶体管m1的栅极,滤波器权重电容器的第一极板通过开关s3(在控制信号的脉冲后被闭合)和开关矩阵910耦合到选中神经元的输出晶体管m2的栅极。在图9中,为了说
明清楚起见,除了神经元900之外的附加神经元未被示出。但是每个神经元的输出晶体管的栅极可以通过开关矩阵910耦合到滤波器权重电容器。因此,在充电级期间,选中输出晶体管m1的栅极电容被充电至升压电压vchargep+vdac。在神经元900的后续计算阶段中,开关矩阵910被配置为将输出晶体管的栅极与滤波器权重电容器隔离。根据输入位值,开关s5被打开或被闭合。如果开关s5被闭合,则输出晶体管m1将通过读取位线传导镜像电流,如针对神经元100所讨论的。
46.由于神经元900使用其栅极电容作为滤波器权重电容器,因此神经元900也可以被表示为栅极电容器单元。用于这种栅极电容器单元的偏置电路可以以多种备选实施方式来实现。例如,偏置电路1110可以通过如图10中所示的开关矩阵910来偏置栅极电容器单元的阵列1000。偏置电路1110中的idac 1005在训练阶段期间被训练,与如针对vdac 110讨论的类似。idac 1005驱动二极管接法晶体管m2的漏极。电荷泵电容器的第一极板耦合到二极管接法晶体管的栅极,并且通过开关矩阵910耦合到选中输出晶体管的栅极。在充电状态期间,滤波器权重电容器然后被充电至取决于idac 1005的训练的电压vchargep。阵列1000包括范围从第一栅极电容器单元1115至第n栅极电容器单元1120的n个栅极电容器单元。每个神经元/栅极电容器单元如关于神经元900所讨论的那样被布置。
47.在充电级期间,开关矩阵910被配置成使得选中神经元的输出晶体管的栅极耦合到充电的滤波器权重电容器。然后,选中输出晶体管的栅极电容被相应地充电,以便在评估级期间,根据选中神经元的输入位的值,从对应的读取位线汲取镜像电流。例如,神经元1115中的位线开关s5由输入位控制。类似地,输入位控制神经元1120中的位线开关s5。
48.在又一栅极电容器单元实施方式中,偏置电路1105可以仅包括诸如vdac 110的电荷源和开关矩阵910,如图11中所示。vdac 110在训练阶段期间被训练,以提供适当的vdac电压。在评估级期间,所得的vdac电压通过开关矩阵910耦合到来自栅极电容器单元阵列1100的选中神经元。每个神经元如针对阵列1000讨论的那样来实现。
49.现在将关于图12的流程图讨论基于电荷泵的电流模式神经元的操作的方法。方法包括驱动电流通过二极管接法晶体管以将电荷泵电容器充电至电荷泵电压的动作1200。偏置电路101、偏置电路305和偏置电路805中的电荷泵电容器的充电是动作1200的一个示例。方法还包括动作1205,动作1205响应于训练数据集,并且包括调整电压数模转换器(vdac)以用vdac电压对滤波器权重电容器进行充电。vdac 110在神经元100、神经元800和偏置电路1110中的训练阶段的评估级期间的操作是动作1205的一个示例。此外,方法包括动作1210,动作1210响应于输入位的第一二进制值,并且包括将电荷泵电容器和滤波器权重电容器串联耦合,以将输出晶体管的栅极充电至vdac电压和电荷泵电压之和。神经元100的第二开关配置和神经元800的等效开关配置是动作1210的示例。最后,方法包括动作1215,动作1215响应于输出晶体管的栅极的充电,通过输出晶体管传导电流的镜像版本。由神经元100中的输出晶体管m1或神经元800中的输出晶体管p2进行的传导是动作1215的示例。
50.现在将通过以下示例条款总结本公开:
51.条款1.一种用于机器学习的存储器,包括:
52.偏置电路;
53.位线;以及
54.神经元,包括:
55.输出晶体管,具有连接到所述位线的漏极;
56.滤波器权重电容器;
57.数模转换器;
58.第一开关,耦合在所述偏置电路和所述滤波器权重电容器之间;
59.第二开关,耦合在所述数模转换器和所述滤波器权重电容器之间;以及
60.第三开关,耦合在所述滤波器权重电容器和所述输出晶体管的栅极之间。
61.条款2.根据条款1所述的存储器,其中所述神经元还包括:
62.第四开关,耦合在地和所述滤波器权重电容器之间。
63.条款3.根据条款2所述的存储器,其中所述神经元还包括:
64.第五开关,耦合在地和所述输出晶体管的所述栅极之间。
65.条款4.根据条款1-3中任一项所述的存储器,其中输出晶体管是n型金属氧化物半导体(nmos)晶体管。
66.条款5.根据条款1所述的存储器,其中所述偏置电路包括:
67.二极管接法晶体管;
68.电荷泵电容器,耦合到所述二极管接法晶体管的栅极;以及
69.电流源,耦合到所述二极管接法晶体管的漏极。
70.条款6.根据条款5所述的存储器,其中所述二极管接法晶体管包括nmos二极管接法晶体管。
71.条款7.根据条款1-6中任一项所述的存储器,其中所述滤波器权重电容器包括第一极板和第二极板,所述第一开关被耦合在所述第二极板和所述偏置电路之间,并且所述第二开关被耦合在所述第一极板和所述数模转换器之间,并且所述第三开关被耦合在所述第一极板和所述输出晶体管的所述栅极之间。
72.条款8.根据条款1所述的存储器,其中所述滤波器权重电容器包括电容性数模转换器。
73.条款9.根据条款8所述的存储器,其中所述电容性数模转换器包括第一极板和第二极板,并且其中所述第一开关被耦合在所述第一极板和所述偏置电路之间,所述第二开关被耦合在所述第二极板和所述数模转换器之间,并且所述第三开关被耦合在所述第一极板和所述输出晶体管的所述栅极之间。
74.条款10.根据条款1所述的存储器,其中所述输出晶体管包括p型金属氧化物半导体(pmos)输出晶体管。
75.条款11.根据条款10所述的存储器,其中所述滤波器权重电容器包括第一极板和第二极板,所述第一开关被耦合在所述第二极板和所述偏置电路之间,所述第二开关被耦合在所述第二极板和所述数模转换器之间,并且所述第三开关被耦合在所述第一极板和所述输出晶体管的所述栅极之间,所述神经元还包括:
76.第四开关,耦合在所述第一极板和地之间;以及
77.第五开关,耦合在所述输出晶体管的所述栅极和用于电源电压的节点之间。
78.条款12.一种用于机器学习应用的存储器,包括:
79.读取位线;
80.输出晶体管,具有连接到所述读取位线的漏极;
81.电荷泵电容器;
82.滤波器权重电容器;
83.电压源;以及
84.开关的集合,具有第一开关配置,在所述第一开关配置中,所述滤波器权重电容器由所述电压源充电,并且所述开关的集合具有第二开关配置,在所述第二开关配置中,所述滤波器权重电容器被耦合到所述电荷泵电容器,以将升压电压提供到所述输出晶体管的栅极。
85.条款13.根据条款12所述的存储器,还包括:
86.偏置电路,包括所述电荷泵电容器和电流源,其中所述电流源被配置为将所述电荷泵电容器充电至偏置电压,并且其中所述电压源包括电压数模转换器。
87.条款14.根据条款13所述的存储器,其中所述开关的集合还包括第三开关配置,在所述第三开关配置中,所述输出晶体管被关断。
88.条款15.根据条款14所述的存储器,其中所述第二开关配置响应于输入位为真,并且所述第三开关配置响应于所述输入位为假。
89.条款16.根据条款13-15中任一项所述的存储器,其中偏置电路还包括二极管接法晶体管,所述二极管接法晶体管具有连接到所述电流源的漏极和连接到所述电荷泵电容器的栅极。
90.条款17.根据条款16所述的存储器,其中所述二极管接法晶体管是具有连接到用于电源电压的节点的源极的pmos晶体管。
91.条款18.根据条款16所述的存储器,其中所述二极管接法晶体管是具有连接到地的源极的nmos晶体管。
92.条款19.一种用于机器学习应用的存储器,包括:
93.多个神经元,每个神经元包括:
94.位线;
95.位线开关;以及
96.输出晶体管,具有通过所述位线开关连接到所述位线的端子;以及
97.偏置电路,包括:
98.电荷源;以及
99.开关矩阵,所述开关矩阵被配置为将所述电荷源耦合到所述神经元中的一个选中神经元,以用升压电压对所述神经元中的所述一个选中神经元的所述输出晶体管中的栅极电容充电。
100.条款20.根据条款19所述的存储器,其中每个位线开关被配置为响应于相应输入位的二进制状态而闭合。
101.条款21.根据条款19所述的存储器,其中所述偏置电路还包括电流数模转换器,所述电流数模转换器被配置为用所述升压电压对电荷泵电容器进行充电。
102.条款22.根据条款21所述的存储器,其中所述偏置电路还包括:
103.二极管接法晶体管,具有耦合到所述电流数模转换器的栅极和漏极。
104.条款23.根据条款19所述的存储器,其中所述电荷源包括:
105.滤波器权重电容器;
106.数模转换器;以及
107.开关的集合,具有第一开关配置,在所述第一开关配置中,所述滤波器权重电容器由所述数模转换器充电,并且开关的集合具有第二开关配置,在所述第二开关配置中,所述滤波器权重电容器耦合到电荷泵电容器,以将所述升压电压提供给所述开关矩阵。
108.条款24.根据条款23所述的存储器,其中所述偏置电路还包括:
109.二极管接法晶体管,具有耦合到所述电荷泵电容器的栅极。
110.条款25.根据条款24所述的存储器,其中所述偏置电路还包括:
111.电流源,被配置为将电流驱动到所述二极管接法晶体管的漏极中。
112.条款26.一种针对神经元的操作的方法,包括:
113.驱动电流通过二极管接法晶体管,以将电荷泵电容器充电至电荷泵电压;
114.响应于训练数据集,调整数模转换器的电压(vdac)以用vdac电压对滤波器权重电容器进行充电;
115.响应于输入位的第一二进制值,将所述电荷泵电容器和所述滤波器权重电容器串联耦合,以将输出晶体管的栅极充电至所述vdac电压和所述电荷泵电压之和;以及
116.响应于所述输出晶体管的所述栅极的所述充电,通过所述输出晶体管传导所述电流的镜像版本。
117.条款27.根据条款26所述的方法,其中用所述vdac电压对所述滤波器权重电容器进行充电还包括:接通第一开关以将所述滤波器权重电容器的第一极板耦合到所述电压数模转换器,以及接通第二开关以将所述滤波器权重电容器的第二极板接地。
118.条款28.根据条款26所述的方法,还包括:
119.响应于所述输入位的第二二进制值,关断所述输出晶体管。
120.条款29.根据条款28所述的方法,其中关断所述输出晶体管包括将所述输出晶体管的所述栅极接地。
121.条款30.根据条款28所述的方法,其中关断所述输出晶体管包括将所述输出晶体管的所述栅极充电至电源电压。
122.应当理解,在不背离本公开的范围的情况下,可以对本公开的材料、装置、配置和设备的使用方法进行许多修改、替换和变化。鉴于此,本公开的范围不应当限于本文所示和描述的特定实施方式的范围,因为它们仅作为其中的一些示例,而是应当与所附权利要求及其功能等价物的范围完全相称。

技术特征:


1.一种用于机器学习的存储器,包括:偏置电路;位线;以及神经元,包括:输出晶体管,具有连接到所述位线的漏极;滤波器权重电容器;数模转换器;第一开关,耦合在所述偏置电路和所述滤波器权重电容器之间;第二开关,耦合在所述数模转换器和所述滤波器权重电容器之间;以及第三开关,耦合在所述滤波器权重电容器和所述输出晶体管的栅极之间。2.根据权利要求1所述的存储器,其中所述神经元还包括:第四开关,耦合在地和所述滤波器权重电容器之间。3.根据权利要求2所述的存储器,其中所述神经元还包括:第五开关,耦合在地和所述输出晶体管的所述栅极之间。4.根据权利要求1所述的存储器,其中输出晶体管是n型金属氧化物半导体(nmos)晶体管。5.根据权利要求1所述的存储器,其中所述偏置电路包括:二极管接法晶体管;电荷泵电容器,耦合到所述二极管接法晶体管的栅极;以及电流源,耦合到所述二极管接法晶体管的漏极。6.根据权利要求5所述的存储器,其中所述二极管接法晶体管包括nmos二极管接法晶体管。7.根据权利要求1所述的存储器,其中所述滤波器权重电容器包括第一极板和第二极板,所述第一开关被耦合在所述第二极板和所述偏置电路之间,并且所述第二开关被耦合在所述第一极板和所述数模转换器之间,并且所述第三开关被耦合在所述第一极板和所述输出晶体管的所述栅极之间。8.根据权利要求1所述的存储器,其中所述滤波器权重电容器包括电容性数模转换器。9.根据权利要求8所述的存储器,其中所述电容性数模转换器包括第一极板和第二极板,并且其中所述第一开关被耦合在所述第一极板和所述偏置电路之间,所述第二开关被耦合在所述第二极板和所述数模转换器之间,并且所述第三开关被耦合在所述第一极板和所述输出晶体管的所述栅极之间。10.根据权利要求1所述的存储器,其中所述输出晶体管包括p型金属氧化物半导体(pmos)输出晶体管。11.根据权利要求10所述的存储器,其中所述滤波器权重电容器包括第一极板和第二极板,所述第一开关被耦合在所述第二极板和所述偏置电路之间,所述第二开关被耦合在所述第二极板和所述数模转换器之间,并且所述第三开关被耦合在所述第一极板和所述输出晶体管的所述栅极之间,所述神经元还包括:第四开关,耦合在所述第一极板和地之间;以及第五开关,耦合在所述输出晶体管的所述栅极和用于电源电压的节点之间。
12.一种用于机器学习应用的存储器,包括:读取位线;输出晶体管,具有连接到所述读取位线的漏极;电荷泵电容器;滤波器权重电容器;电压源;以及开关的集合,具有第一开关配置,在所述第一开关配置中,所述滤波器权重电容器由所述电压源充电,并且所述开关的集合具有第二开关配置,在所述第二开关配置中,所述滤波器权重电容器被耦合到所述电荷泵电容器,以将升压电压提供到所述输出晶体管的栅极。13.根据权利要求12所述的存储器,还包括:偏置电路,包括所述电荷泵电容器和电流源,其中所述电流源被配置为将所述电荷泵电容器充电至偏置电压,并且其中所述电压源包括电压数模转换器。14.根据权利要求13所述的存储器,其中所述开关的集合还包括第三开关配置,在所述第三开关配置中,所述输出晶体管被关断。15.根据权利要求14所述的存储器,其中所述第二开关配置响应于输入位为真,并且所述第三开关配置响应于所述输入位为假。16.根据权利要求13所述的存储器,其中偏置电路还包括二极管接法晶体管,所述二极管接法晶体管具有连接到所述电流源的漏极和连接到所述电荷泵电容器的栅极。17.根据权利要求16所述的存储器,其中所述二极管接法晶体管是具有连接到用于电源电压的节点的源极的pmos晶体管。18.根据权利要求16所述的存储器,其中所述二极管接法晶体管是具有连接到地的源极的nmos晶体管。19.一种用于机器学习应用的存储器,包括:多个神经元,每个神经元包括:位线;位线开关;以及输出晶体管,具有通过所述位线开关连接到所述位线的端子;以及偏置电路,包括开关矩阵,所述开关矩阵被配置为将电荷源耦合到所述神经元中的一个选中神经元,以用升压电压对所述神经元中的所述一个选中神经元的所述输出晶体管中的栅极电容进行充电。20.根据权利要求19所述的存储器,其中每个位线开关被配置为响应于相应输入位的二进制状态而闭合。21.根据权利要求19所述的存储器,其中所述电荷源包括电流数模转换器,所述电流数模转换器被配置为用所述升压电压对电荷泵电容器进行充电。22.根据权利要求21所述的存储器,其中所述偏置电路还包括:二极管接法晶体管,具有耦合到所述电流数模转换器的栅极和漏极。23.根据权利要求19所述的存储器,其中所述电荷源包括:滤波器权重电容器;数模转换器;以及
开关的集合,具有第一开关配置,在所述第一开关配置中,所述滤波器权重电容器由所述数模转换器充电,并且所述开关的集合具有第二开关配置,在所述第二开关配置中,所述滤波器权重电容器被耦合到电荷泵电容器,以将所述升压电压提供给所述开关矩阵。24.根据权利要求23所述的存储器,其中所述偏置电路还包括:二极管接法晶体管,具有耦合到所述电荷泵电容器的栅极。25.根据权利要求24所述的存储器,其中所述偏置电路还包括:电流源,被配置为将电流驱动到所述二极管接法晶体管的漏极中。26.一种针对神经元的操作的方法,包括:驱动电流通过二极管接法晶体管,以将电荷泵电容器充电至电荷泵电压;响应于训练数据集,调整电压数模转换器(vdac)以用vdac电压对滤波器权重电容器进行充电;响应于输入位的第一二进制值,将所述电荷泵电容器和所述滤波器权重电容器串联耦合,以将输出晶体管的栅极充电至所述vdac电压和所述电荷泵电压之和;以及响应于所述输出晶体管的所述栅极的所述充电,通过所述输出晶体管传导所述电流的镜像版本。27.根据权利要求26所述的方法,其中用所述vdac电压对所述滤波器权重电容器进行充电还包括:接通第一开关以将所述滤波器权重电容器的第一极板耦合到所述电压数模转换器,以及接通第二开关以将所述滤波器权重电容器的第二极板接地。28.根据权利要求26所述的方法,还包括:响应于所述输入位的第二二进制值,关断所述输出晶体管。29.根据权利要求28所述的方法,其中关断所述输出晶体管包括将所述输出晶体管的所述栅极接地。30.根据权利要求28所述的方法,其中关断所述输出晶体管包括将所述输出晶体管的所述栅极充电至电源电压。

技术总结


提供了一种存储器内计算阵列,其中每个神经元包括电容器和输出晶体管。在评估阶段期间,滤波器权重电压和输入位的二进制状态控制输出晶体管是导通还是被关断,以影响连接到输出晶体管的读取位线的电压。出晶体管的读取位线的电压。出晶体管的读取位线的电压。


技术研发人员:

M

受保护的技术使用者:

高通股份有限公司

技术研发日:

2021.06.22

技术公布日:

2023/2/3

本文发布于:2024-09-21 05:26:48,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/3/59091.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:所述   神经元   晶体管   电容器
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议