掌桥专利:专业的专利平台
掌桥专利
首页

计算器件以及计算方法

文献发布时间:2023-06-19 16:11:11



技术领域

本发明的实施例涉及计算器件以及计算方法。

背景技术

本公开一般涉及存储器内计算,或者存储器内的计算(“CIM”),并且更具体地涉及用于数据处理(诸如乘积累积(“MAC”)操作)中使用的存储器阵列。存储器内计算或者存储器内的计算系统储存位于计算机的主随机存取存储器(RAM)中的信息,并在存储器单元层级执行计算,而不是在每个计算步骤的主RAM和数据储存之间移动大量数据。当储存的数据存储在RAM中时,由于储存的数据更快速地被存取,所以存储器内计算允许实时分析数据,使得商业应用和机器学习应用中的报告和决策更快。正在努力以提高存储器内计算系统的性能。

发明内容

根据本发明实施例的一个方面,提供了一种计算器件,包括:存储器阵列,包括在存储器单元的行和列中分组的多个存储器单元,每个存储器单元包括用于储存数据的存储器单位、包括第一开关器件和电流发生器器件的电流源以及第二开关器件;多个输入线,每个输入线连接到相应的行中的第二开关器件,并用于将输入信号传输到行中的第二开关器件;多个输出线,每个输出线与存储器单位的相应列相关联;以及多个电流控制器,每个电流控制器通过电流控制线连接到存储器单元的相应列中的电流发生器器件,并用于设置由存储器单元的相应列中的电流发生器器件产生的电流水平;其中,根据从输入线接收的输入信号,存储器单元的每个列中的第二开关器件用于存储器单元中的电流源到与列相关联的输出线的连接或断开,并且根据储存在存储器单元中的存储器单位中的数据,每个存储器单元中的第一开关器件用于允许或防止来自电流发生器器件的电流。

根据本发明实施例的另一个方面,提供了一种计算器件,包括:多个输入线;多个输出线;多个控制信号发生器;多个电流控制线,每个控制线连接到多个控制信号发生器中的相应一个;和多个存储器单元,以二维阵列的行和列逻辑排列,每个行与多个输入线中的相应一个输入线相关联,每个列与多个输出线和电流控制线中的相应一个相关联。存储器单元包括:存储器单位,具有至少两个存储器状态;第一开关晶体管,用于从存储器单位接收指示存储器状态的信号,并且至少部分地根据存储器状态被接通或断开;第二开关晶体管,用于从与存储器单元相关联的输入线接收输入,并至少部分地根据输入信号被接通或断开;和电流调节晶体管,用于通过与存储器单元相关联的电流控制线接收来自与存储器单元相关联的控制信号发生器的控制信号,并至少部分地根据控制信号产生电流的水平;第一晶体管和第二开关晶体管以及电流调节晶体管连接为向输出线传递电流,电流的水平由存储器状态、输入信号和控制信号的组合确定。

根据本发明实施例的又一个方面,提供了一种计算方法,包括:在多个相应的存储器元件中储存多数位字数的多个数位,每个数位具有值和位值;根据储存在相应的存储器元件中的数位的值,接通或断开多个电流源,每个电流源与相应的一个存储器元件相关联;将控制信号施加到每个电流源,以根据储存在相应的存储器元件中的数位的位值设置电流源提供的电流水平;以及通过输入线施加输入信号以激活多个开关器件,每个开关器件与相应的一个存储器元件相关联,以允许由相应的电流源提供的电流流到与存储器元件相关联的输出线。

附图说明

当结合附图进行阅读时,从以下详细描述可最佳理解本发明的各个方面。应该强调,根据工业中的标准实践,各个部件未按比例绘制并且仅用于说明的目的。实际上,为了清楚的讨论,各个部件的尺寸可以任意地增大或减小。

图1是根据一些实施例的存储器内计算系统的示意图,存储器内计算系统包括四位精确权重计算子系统,其中包括电流源的9-晶体管(“9T”)(基于电流的静态随机存取存储器(“SRAM”))用于每个存储器元件。

图2是根据一些实施例的类似于图1中所示存储器内计算系统(除每个存储器元件中的电流调节晶体管的源极连接到节点Q以外)的存储器内计算系统的示意图。

图3是根据一些实施例的类似于图1中所示存储器内计算系统(除电流源中的晶体管是P沟道金属氧化物半导体场效应晶体管(“MOSFET”)(“PMOS”)以外)的存储器内计算系统的示意图。

图4是根据一些实施例的类似于图3中所示存储器内计算系统(除了每个存储器元件中的电流调节晶体管的漏极连接到节点Q以外)的存储器内计算系统的示意图。

图5是根据一些实施例的从存储器单元的位列的位线的电流求和、以及使用一个或多个模数转换器(“ADC”)将和转换为数字输出的框图。

图6A示出了根据一些实施例的与基于电流的SRAM一起使用的逐次逼近寄存器(“SAR”)ADC。

图6B示出了根据一些实施例的使用基于电流的SRAM并且使用脉冲计数作为输入对加权输入求和。

图7示出了根据一些实施例的使用时域ADC来生成与模拟输入加权和对应的数字信号。

图8示出了根据一些实施例的计算过程。

图9概述了根据一些实施例的计算过程。

图10示出了根据一些实施例的CIM操作。

具体实施方式

以下公开内容提供了许多用于实现本发明的不同特征不同的实施例或实例。下面描述了组件和布置的具体实施例或实例以简化本发明。当然,这些仅是实例而不旨在限制。例如,在以下描述中,在第二部件上方或者上形成第一部件可以包括第一部件和第二部件直接接触形成的实施例,并且也可以包括在第一部件和第二部件之间可以形成额外的部件,从而使得第一部件和第二部件可以不直接接触的实施例。此外,本发明可以在各个示例中重复参考数字和/或字母。该重复是为了简单和清楚的目的,并且其本身不指示讨论的各个实施例和/或配置之间的关系。

本公开中所示的具体示例涉及存储器内计算。存储器内计算的应用的示例是乘积累加(“MAC”)操作,其中数字的输入阵列由另外的数字(例如,权重)的阵列(例如,列)中各自的元件相乘(加权),并将乘积加在一起(累加)以产生输出总和。这在数学上类似于两个向量的点乘积(或标量乘积),其中两个矢量的分量相互成对相乘,并且分量对的乘积被求和。在某些人工智能(AI)系统中,诸如人工神经网络,可以通过多个权重的列来加权数字的阵列。每个列的加权产生各自的输出和。因此,由数字的输入阵列通过多个列的矩阵中的权重来产生和的输出阵列。

常用类型的集成电路存储器是静态随机存取存储器(SRAM)器件。典型的SRAM存储器器件具有存储器单元的阵列。在一些示例中,每个存储器单元使用连接在较高参考电位和较低参考电位(例如,地)之间的六晶体管(6T),使得两个储存节点中的一个可以由要储存的信息占据,在另外的储存节点处储存互补的信息。SRAM单元中的每个位储存在晶体管中的四个上,其形成两个交叉耦合的反相器。另外两个晶体管连接到存储器单元字线(WL')以通过选择性地将单元连接到其位线(BL)来控制对存储器单元的存取。当使能字线时,连接到位线的感测放大器感测并输出储存的信息。连接到位线的输入/输出(I/O)电路通常在处理存储器单元数据时被使用。

根据本公开的一些方面,存储器内计算(CIM)系统包括存储器阵列,其中,除了传统的(例如6T SRAM)存储器单元,每个存储器单元还具有受控电流源,受控电流源具有电流调节晶体管和由存储器节点(Q或QB,其中与储存的值相对应的电压被保持)控制的开关晶体管,并用于使通过电流调节晶体管的电流通过。存储器单元的每个列中的电流调节晶体管由公共电流控制线上的电流控制电压控制。在一些实施例中,不同列的电流控制电压相差2的幂因子,使得每个电流源中的电流与储存在该列中的相应存储器单元中的位的位值(place value)(2

根据本公开的某些方面,可以利用WL上的脉冲串(脉冲的数量对应于输入的值)或单个脉冲(其宽度对应于输入的值)实现多位输入。例如,在一些实施例中,可以使用4位输入,但是其他位宽度在本公开的范围内。例如,输入0由0(0000

在一些实施例中,输入信号可以乘以排列在列中的多位(例如,四位)权重(即权重值)。可以通过对对应于多位权重的每个位的列中的所有单元的位线进行充电来实现多位权重累积的输入;因此,每个BL上的电压指示来自连接到BL的每个单元的电流的和,并且因此指示输入的和,每个输入分别由与列相关联的二进制权重加权。因此,在BL上执行乘积累加功能,并且总BL电流成比例于权重位与多位输入的按位相乘。然后,将与多位权重的列对应的所有BL的电流相加在一起以产生模拟信号(例如,一时间段的电压或信号),因此其值是分别由多位权重加权的多位输入的和。由于每个列的电流控制电压对应于列的位值,所以权重的最高有效位(most significant bits,MSB)对最终的电流和的贡献比权重的最低有效位(least significant bits,LSB)更多。因此,最终的模拟信号反映了每个RBL的正确含义。例如,对于四位权重的列,来自最大MSB的对最终电压(或时间长度)的贡献将是来自LSB的贡献的八(2

在某些进一步的实施例中,在一些示例中使用模数转换器(ADC),诸如逐次逼近寄存器(“SAR”)ADC或时域ADC,以将最终的模拟信号转换为多位数字输出。

参考图1和图10,在下面进一步说明这些实施例的详细方面之前提供了一些示例实施例的概述。在诸如人工智能的某些应用中,提出了模型系统。将一组输入(例如,数字)提供给模型系统,模型系统处理输入并生成输出。将输出与期望的输出进行比较,如果输出与期望的输出不足够接近,则调整模型系统,重复该过程,直到模型系统的输出足够接近期望的输出。例如,为了具有能够阅读的机器,可以将一组字母的片段提供给模型系统。系统取得片段(输入)并根据算法处理片段,并输出系统确定其收到的字母。如果输出字母与输入字母不同,则可以调整系统并再次进行测试,直到输出与输入匹配的次数的百分比足够高。

对于一些应用,模型系统可以是乘法系统,其通过将每个输入乘以一个值(有时称为“权重”)并且将乘积一起求和(累加)来处理一组输入。系统可以包括以行和列布置的元件的二维阵列,每个元件存储权重,并且能够接收输入并产生输出,输出是输入和储存的权重的算术乘积。模型系统可以将提供给元件的整个行的每个输入和元件的每个列的输出加在一起。

例如,图10中所示的系统(1000)具有各自储存权重的元件的二维阵列(在该示例中3x3)(1010)、或单元(1020)。每个单元(1020)连接到输入线WL,并且每个列中的单元连接到相同的输出线BL。在图10中,每个单元由电阻器的符号表示,因为如果要用图1所示的9T基于电流的SRAM单元(120)替换电阻元件,位线BL中产生的输出电流(Y

如图1所示,每个单元(120)具有节点Q,节点Q由SRAM单元保持在指示储存在单元中的值(权重)的电压下。从图1中的图中可以容易地理解,对于每个单元,对于输入WL处的二进制“1”以及电流调节晶体管接通,如果Q是“1”则单元(110)将从BL中汲取电流,如果Q为“0”则无电流,对于WL'处的二进制“0”,无论Q的值如何,单元(110)都不会汲取电流。如果在给定的时间段上的电流汲取量(即,一定量的汲取电荷量)高于阈值被认为是输出“1”,因此单个单元(110)的输出由下表给出:

从该表中可以看出,输出是输入和权重的乘积。

此外,因为相同列中的单元(110)共享相同的BL,所以BL中的电流是连接到它的所有单元(110)的电流的和。因此,每个BL中的电流表示输入(WL)和相应储存权重的二进制乘积的和。此外,由于通过每个电流调节晶体管的电流与电流调节控制线(CL(190))处的栅极电压成比例,因此每个BL中的总电流与相应CL上的电压成比例。

再次参考图1,在使用多位(在该示例中四位)权重进行乘积累加操作的系统中,每个输入(WL)被提供给多个(例如,四个)单元(110),分别储存多位权重的一个位。每个BL连接到具有相同位值(即2

此外,附加参考图5,因为BL并联连接,所以通过电阻器(510)的总电流是多位权重(W

最后,根据欧姆定律,如图5所示以及下面更详细描述的,将多位权重(W

此外,如图1所示,因为CIM系统(100)中的存储器单元(120)各自具有6T SRAM单元,所以CIM系统(100)本身可以简单地用作存储器阵列,使用位线BL'和BLB'数据线以及WL'用于写入线。可选地,位线BL'和BLB'可用于将数据写入(由WL'使能)存储器单元(120),并且位线BL可用于从存储器单元(120)读取(由WL使能)读取数据。

为了更详细地解释上述系统及其操作,参考图1,在一些实施例中,计算器件(100)包括以行和列布置的存储器单元(120)的二维(“2D”)阵列(110)。每个存储器单元(120)包括6T SRAM单元(130)、受控电流源(150)和CIM电流开关晶体管(WLC(160))。2D存储器阵列(110)还包括一组CIM字线(WL(170)),每个行一个;一组CIM位线(BL(180)),每个列一个;以及一组电流调节控制线(CL(190))。

在这种情况下,每个6T SRAM单元(130)包括:第一反相器(132),由串联连接(即,源极-漏极电流路径串联)在高参考电压(诸如VDD)和低参考电压(诸如地)之间的P型金属氧化物半导体(MOS)场效应晶体管(PMOS)(142)和n型MOS场效果晶体管(NMOS)(144)形成;第二反相器(134),由串联连接在高参考电压(诸如VDD)和低参考电压(诸如地)之间的PMOS(146)和NMOS(148)形成;以及两个写入存取晶体管(136、138),在该示例中是NMOS。反相器(132、134)反向耦合,即,一个的输出(Q、QB)(即,源极/漏极电流路径之间的结)耦接到另一个的输入(即,栅极)(QB、Q);写入存取晶体管(136、138)各自具有其源极/漏极电流路径,源极/漏极电流路径连接在反向耦合的反相器(132、134)的相应结和相应位线(BL',BLB')之间,并且写入存取晶体管(136、138)的栅极连接到字线(WL')。

该示例中的每个受控电流源(150)包括彼此串联连接的电流开关晶体管(152)和电流调节晶体管(154)。受控电流源(150)进一步与CIM电流开关晶体管(WLC(160))串联连接。电流开关晶体管(152)的栅极连接到储存节点(Q,QB)中的一个(例如,反相节点QB)。电流调节晶体管的栅极连接到调节电流控制线(190)。CIM电流开关晶体管(WLC(160))的栅极连接到CIM写入线(WL(170))。

在该示例中,电流开关晶体管(152)、电流调节晶体管(154)和CIM电流开关晶体管(WLC(160))都是NMOS。可以使用其他类型的晶体管和连接,如以下示例所示。例如,可以使用PMOS;电流源开关晶体管(152)的栅极可以连接到6T存储器单元(130)的非反相输出(Q)。

在CIM操作中,将多位权重写入6T SRAM单元,这可以通过传统方法进行,每个单元(130)储存“1”或“0”。为了计算输入的加权和,电流调节晶体管(154)的栅极由电流调节控制线(CL(190))偏置。如上所述,由于每个存储器单元(120),任何瞬间到位线BL[j]或来自位线BL[j]的单元电流I

在一些实施例中,诸如图1所示的示例,存储了多位权重(本示例中4位),分别在每行(在该示例中为4位宽)中。在该示例中,从左到右,位从最小有效位(LSB)排列到最大有效位(MSB)。因此,从左到右,每个列具有位值1、2、4和8。相应地,从左到右,相应CLS(190)上的偏置电压也具有相对的值1、2、4和8。结果是每个BL上的总电流与该第(j)列的位置2

上面给出的示例假定通过电流调节晶体管(154)的电流与栅极电压成比例,但是这种比例条件不是必须的;其他栅极电压可以适当地实现WL上的输入和储存在每个列的各个存储器单元(120)中的权重之间的乘积的相同和的期望的BL电流比。

在一些实施例中,CL上的栅极电流由精确电源(电流源或电流源)提供,诸如零温度系数电路(“ZTC”)或NMOS或PMOS电流镜。在CIM操作的一些实施例中,诸如当数据不是从任何单元读取或者不是写入任何单元时,用于VDD的较低电压(例如2伏)是可接受的,以确保单元(130)将正确地保持数据。在这种情况下,可以将SRAM设置为电源降低的保持模式以节省功率。

计算器件的其他配置是可能的。例如,在一些实施例中,诸如图2中所示的器件(200),其与图1中的器件相同,除了每个单元120的电流调节晶体管(154)的源极连接到6T单元130的储存节点(在该情况下Q)。通过这种配置,减小了BL漏电流。

在一些实施例中,诸如图3中所示的器件(300),其与图1中的器件相同,除了每个单元(120)中的电流源(150)中使用PMOS晶体管(352、354)代替NMOS晶体管(152、154)。

在一些实施例中,诸如图4中所示的器件(400),其与图3中的器件相同,除了每个单元120的电流调节晶体管(354)的漏极连接到6T单元130的储存节点(在该情况下Q)。利用这种配置,减小了BL漏电流。

参考图5,在一些实施例中,多位权重(W

在一些实施例中,通过相应的输入线(520、530、540),来自多位权重的多个列的上述输出电压可以被馈送到相同的ADC(550)。尤其是,在一些实施例中,可以使用高速逐次逼近寄存器,诸如图6A所示的示例SAR ADC(600)。基于电流的CIM使能要在一个ADC操作中执行的转换,而不是N个ADC操作(每个位线一个)。这种SAR ADC的结构和操作是已知的,这里不再详细说明。简而言之,具有2幂次的电容比(例如,对于5位转换器,C、C/2、C/4、C/8、C/16、加上C/16的“伪”电容器)的电容器在共同端(620)处连接,共同端(620)连接到比较器(610)的输入(反相)。在一些实施例中,比较器(610)的另一输入(非反相)连接到地。电容器的另一端开始连接到输入电压V

对于N位SAR ADC,它通常需要N+1个时钟周期,以进行采样和逐位比较步骤。因此,例如对于图6A中所示的5位SAR ADC,需要6个时钟周期以完成模拟信号到数字信号的转换。

利用基于电流的SRAM,多位权重的相同位列中的所有单元以及相同列中的所有位列同时进行电流求和。此外,在一些实施例中,如图6B所示,WL上的每个输入数字由脉冲串表示,脉冲的数量与输入数字成比例。例如,输入0(0000

在一些实施例中,诸如图7所示的示例,与图5中所示的器件类似的计算器件(700)中的多位权重的每个列的组合BL电流可以使用时域ADC被转换为数字信号。在一些实施例中,时域ADC包括如图7所示连接的电容C的电容器(710)和比较器(750)。通过线(720)将组合BL电流馈送到电容器(710)。V

类似于SAR ADC的以上示例,对于N位输入,需要单个ADC操作,而不是N个ADC操作(每个输入位一个)。

更一般地,在一些实施例中,如图8中所概述的,计算方法(800)包括:(810)储存一组多数位数字的数位在一组相应的存储器元件中,每个数位具有值和位值;(820)取决于存储在相应的存储器元件中的数位的值,接通或断开一组电流源,每个电流源与相应的一个存储器元件相关联;(830)将控制信号施加到每个电流源,以根据储存在相应的存储器元件中的数位的位值来设置电流源提供的电流水平;以及(840)通过输入线施加输入信号以激活一组开关器件,每个开关器件与相应的一个存储器元件相关联,以允许由相应的电流源提供的电流流到与存储器元件相关联的输出线。

可以采用上述公开的其他变型。例如,可以使用除SRAM单元以外的其他类型的存储器单元。例如,代替6T SRAM单元可以使用非易失性存储器(NVM)单元,诸如FeRAM、FeFET和闪存。

这里公开的各种示例相比传统器件和方法具有某些优点。例如,如图9中的示例系统所示,由于存储器元件可以作为传统存储器以及CIM元件被存取,因此可以减少或消除使用外部存储器(诸如外部DRAM)。具有某些实施例的设计提供了灵活性。例如,可以使用SRAM或NVM CI。SRAM具有快速写入和高写入耐久性的优势;NVM具有非易失性、小占位面积、低泄漏以及瞬间接通器件的能力的优点。基于SRAM的存储器内计算可以导致能耗降低。利用SRAM,CIM的权重的在线更新(即,在基于旧权重值进行计算输出的同时,将新权重值写入存储器中)也是可行性的。在人工神经网络应用中,通常需要MAC操作的迭代,每次迭代使用不同的一组权重值。由于非易失性存储器阵列的速度相对较慢,需要多个阵列来存储多组权重值。相反,利用以上某些实施例中公开的SRAM单元,由于这种存储器单元的高速,可以在神经网络操作中随着连续的权重值组重新加载单个SRAM阵列。

在一些实施例中,如图9所示,可以从存储器模块更新CIM器件(诸如集成电路(900))的CIM的权重值,在一些实施例中存储器模块可以是片上存储器(910)。在一些实施例中,权重值在被提供给CIM的SRAM阵列(930)之前,可以以压缩模式被存储并且通过解压缩模块(920)来解压缩。压缩和解压缩系统和方法是众所周知的。例如,韩松,“深度学习的高效方法和硬件”斯坦福大学大学(2017年)(在http://purl.stanford.edu/qf934gh3708处可访问),在此通过引用并入本文。深度压缩(Deep Compression)由剪枝、量化训练和可变长度编码组成,它可以压缩深度神经网络数个量级而没有什么预测准确度损失。这种大型压缩能使机器学习在移动设备上运行。深度压缩是一种三阶段流程,它可以在保留原始准确度的情况下减小深度神经网络的模型大小。首先我们可以移除冗余连接而剪枝网络,这一过程只需要保留提供最多信息的连接。下一步需要量化权重,并令多个连接共享相同的权重。因此只有有效权重和索引需要储存,且每个参数只需要较少的位就能表示。最后,我们可以应用可变长度编码(Huffman编码)来利用有效权重的不均匀分布,并在没有训练准确度损失情况下使用可变长度编码表征权重。我们最重要的观点是,剪枝与量化训练可以在不相互影响的情况下压缩神经网络,因此可以产生惊人的高压缩率。深度压缩令存储需求变得很小(兆字节空间),所有的权重都可以在芯片上缓存而不需要芯片外的DRAM。而动态随机储存器不仅慢同时能耗还比较高,因此深度压缩可以令模型更加高效。

在一些实施例中,一种计算器件包括:存储器阵列,包括在存储器单元的行和列中分组的多个存储器单元,每个存储器单元包括用于储存数据的存储器单位、包括第一开关器件和电流发生器器件的电流源以及第二开关器件;多个输入线,每个输入线连接到相应的行中的第二开关器件,并用于将输入信号传输到行中的第二开关器件;多个输出线,每个输出线与存储器单位的相应列相关联;以及多个电流控制器,每个电流控制器通过电流控制线连接到存储器单元的相应列中的电流发生器器件,并用于设置由存储器单元的相应列中的电流发生器器件产生的电流水平;其中,根据从输入线接收的输入信号,存储器单元的每个列中的第二开关器件用于存储器单元中的电流源到与列相关联的输出线的连接或断开,并且根据储存在存储器单元中的存储器单位中的数据,每个存储器单元中的第一开关器件用于允许或防止来自电流发生器器件的电流。

在一些实施例中,多个电流控制器用于设置存储器单元的每个连续列中的由电流发生器器件产生的电流水平以因子2增加。

在一些实施例中,在每个存储器单元中:存储器单位包括用于在储存节点处储存信号的静态随机存取存储器(SRAM)单元,第一开关器件包括第一晶体管,第一晶体管具有连接到储存节点的栅极,电流发生器器件包括第二晶体管,第二晶体管具有连接到与存储器单元中的列相关联的电流控制线的栅极,第二开关器件包括第三晶体管,第三晶体管具有连接到与存储器单元的行相关联的输入线的栅极。

在一些实施例中,每个SRAM单元中是六晶体管SRAM。

在一些实施例中,根据存储在储存节点的信号和第三晶体管的栅极处接收的输入信号的组合,第一晶体管和第三晶体管用于允许或防止由第二晶体管产生的电流流到输出线。

在一些实施例中,每个存储器单位用于储存指示权重值的信号,每个输入信号指示输入数字,并且第一开关和第二开关以及电流源共同用于向与存储器单元相关联的输出线提供电流,电流的水平指示储存在存储器单位中的权重值和由输入信号指示的输入数字的乘积。

在一些实施例中,对于每个存储器单元:存储器单位是具有两个储存节点的SRAM单元,两个储存节点用于储存彼此互补的指示二进制值的对应信号,其中第一晶体管、第二晶体管和第三晶体管的串联组合具有两端,两端中的一个连接到输出线,并且其中第一晶体管的栅极连接到储存节点中的一个。

在一些实施例中,串行组合的另一端连接到储存节点中的另一个。

在一些实施例中,计算器件还包括模数转换器(“ADC”),其中多个输出线彼此连接并且用于产生指示多个输出线的组合电流的信号,其中ADC用于接收信号并将信号转换为数字信号。

在一些实施例中,ADC包括逐次逼近寄存器ADC。

在一些实施例中,ADC包括时域ADC。

在一些实施例中,每个存储器单元还包括数据输入/输出线和数据使能线,用于使能存储器单位以通过数据输入/输出线接收数据并允许通过数据输入/输出线从存储器单位检索数据。

在一些实施例中,一种计算器件,包括:多个输入线;多个输出线;多个控制信号发生器;多个电流控制线,每个控制线连接到多个控制信号发生器中的相应一个;和多个存储器单元,以二维阵列的行和列逻辑排列,每个行与多个输入线中的相应一个输入线相关联,每个列与多个输出线和电流控制线中的相应一个相关联,存储器单元包括:存储器单位,具有至少两个存储器状态;第一开关晶体管,用于从存储器单位接收指示存储器状态的信号,并且至少部分地根据存储器状态被接通或断开;第二开关晶体管,用于从与存储器单元相关联的输入线接收输入,并至少部分地根据输入信号被接通或断开;和电流调节晶体管,用于通过与存储器单元相关联的电流控制线接收来自与存储器单元相关联的控制信号发生器的控制信号,并至少部分地根据控制信号产生电流的水平;第一晶体管和第二开关晶体管以及电流调节晶体管连接为向输出线传递电流,电流的水平由存储器状态、输入信号和控制信号的组合确定。

在一些实施例中,每个存储器状态对应于数值权重值,并且输入信号对应于数值输入值,其中第一晶体管和第二开关晶体管以及电流调节晶体管连接为向输出线传递电流,电流的水平成比例于对应于存储器状态的数值权重值与对应于输入信号的数值输入值的乘积。

在一些实施例中,第一晶体管和第二开关晶体管以及电流调节晶体管连接为形成具有两端的串联组合,两端中的一个连接到输出线,其中存储器单位具有储存节点,存储器单位用于存储指示存储器状态的信号,其中第一开关晶体管具有连接到储存节点的栅极,第二晶体管具有连接到输入线的栅极,并且电流调节晶体管具有连接到电流控制线的栅极。

在一些实施例中,多个电流控制器用于设置存储器单元的每个连续列中的由电流调节晶体管产生的电流水平以因子2增加。

在一些实施例中,计算器件还包括具有输入的ADC,其中多个输出线在公共节点处连接在一起,公共节点连接到ADC的输入。

在一些实施例中,公共节点还连接到电阻器或电容器。

在一些实施例中,一种计算方法包括:在多个相应的存储器元件中储存多数位字数的多个数位,每个数位具有值和位值;根据储存在相应的存储器元件中的数位的值,接通或断开多个电流源,每个电流源与相应的一个存储器元件相关联;将控制信号施加到每个电流源,以根据储存在相应的存储器元件中的数位的位值设置电流源提供的电流水平;以及通过输入线施加输入信号以激活多个开关器件,每个开关器件与相应的一个存储器元件相关联,以允许由相应的电流源提供的电流流到与存储器元件相关联的输出线。

在一些实施例中,施加输入信号包括施加具有脉冲计数的多个脉冲的串或者具有脉冲宽度的单个脉冲,并且从提供给输出线的电流获得成比例于脉冲计数或脉冲宽度与存储的多数位数字的乘积的量。

上述概述了几个实施例的特征,以便本领域技术人员可以更好地理解本公开的各个方面。本领域技术人员应当理解,他们可以容易地使用本公开作为设计或修改用于实现本文所介绍的实施例的相同目的和/或实现其相同优点的其它过程和结构的基础。本领域技术人员还应当认识到,此类等效结构不背离本发明的精神和范围,并且它们可以在不背离本发明的精神和范围的情况下在本发明中进行各种改变、替换以及改变。

技术分类

06120114735182