CN209657299U - 模拟向量-矩阵乘法运算电路以及芯片 - Google Patents
模拟向量-矩阵乘法运算电路以及芯片 Download PDFInfo
- Publication number
- CN209657299U CN209657299U CN201920708363.9U CN201920708363U CN209657299U CN 209657299 U CN209657299 U CN 209657299U CN 201920708363 U CN201920708363 U CN 201920708363U CN 209657299 U CN209657299 U CN 209657299U
- Authority
- CN
- China
- Prior art keywords
- dac
- flash memory
- analog
- matrix multiplication
- circuit
- 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
Links
- 239000011159 matrix material Substances 0.000 title claims abstract description 78
- 238000006243 chemical reaction Methods 0.000 claims abstract description 86
- 229920005994 diacetyl cellulose Polymers 0.000 claims description 33
- 230000006870 function Effects 0.000 abstract description 12
- 238000000034 method Methods 0.000 abstract description 10
- 238000004088 simulation Methods 0.000 abstract 2
- 230000032258 transport Effects 0.000 abstract 1
- 102100024624 Arylacetamide deacetylase Human genes 0.000 description 21
- 101710165123 Diadenylate cyclase Proteins 0.000 description 21
- 238000010586 diagram Methods 0.000 description 8
- 238000003491 array Methods 0.000 description 7
- 230000001276 controlling effect Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 239000000758 substrate Substances 0.000 description 4
- 230000003071 parasitic effect Effects 0.000 description 2
- 230000001105 regulatory effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 239000000243 solution Substances 0.000 description 2
- 230000006641 stabilisation Effects 0.000 description 2
- 238000011105 stabilization Methods 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000000712 assembly Effects 0.000 description 1
- 238000000429 assembly Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000007418 data mining Methods 0.000 description 1
- 239000002784 hot electron Substances 0.000 description 1
- 238000002347 injection Methods 0.000 description 1
- 239000007924 injection Substances 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000000465 moulding Methods 0.000 description 1
- 239000002245 particle Substances 0.000 description 1
- 230000000087 stabilizing effect Effects 0.000 description 1
- 230000005641 tunneling Effects 0.000 description 1
Landscapes
- Read Only Memory (AREA)
Abstract
本实用新型提供一种模拟向量‑矩阵乘法运算电路以及芯片,利用模拟向量‑矩阵乘法运算对其接收的模拟电流信号做矩阵乘加运算结果为输出电流累加值的特性,用多级低精度DAC组配实现高精度DAC的功能,各级DAC分别将数字输入信号的部分比特位转换为模拟电流信号;各级DAC所转换的比特位不存在重复位,各级DAC的数量大于等于待运算的数字输入信号的总数量;转换装置包括与多级DAC对应的多级转换电路,各级转换电路用于将对应的DAC输出的模拟电流信号转换为对应量级的模拟电压信号,然后将处理后的信号输至闪存处理阵列执行运算,以此实现利用多级低精度DAC组配实现高精度DAC的功能,降低电路面积与时延。
Description
技术领域
本实用新型涉及半导体集成电路领域,尤其涉及一种模拟向量-矩阵乘法运算电路以及芯片。
背景技术
矩阵乘法运算广泛应用于图像处理、推荐系统、数据降维等数据挖掘领域,向量-矩阵乘法是一种常用的算术运算函数。随着对低性能与低功耗的极致追求,越来越多的系统采用硬件电路直接实现向量-矩阵乘法运算,尤其地,基于闪存单元的模拟向量-矩阵乘法运算电路得到芯片设计者的青睐。
现有的模拟向量-矩阵乘法电路通常需要设置DAC(数模转换电路)将多比特数字输入信号转换为模拟电流信号,再利用转换电路将模拟电流信号转换为模拟电压信号,进而利用闪存处理阵列对模拟电压信号进行模拟向量-矩阵乘法运算。其中,闪存处理阵列的每一行输入均需要对应一个高精度DAC(比如6比特,8比特,12比特等)。本领域技术人员都知道,高精度DAC通常面积比较大、建立时间(从开始输入至输出稳定的时间)比较长,因此,现有的模拟向量-矩阵乘法电路占用电路面积大,严重影响了电路的成本和处理频率。
实用新型内容
有鉴于此,本实用新型实施例提供了一种模拟向量-矩阵乘法运算电路以及芯片,通过利用低精度DAC合成高精度DAC,以减小电路的面积和建立时间,进而降低电路的成本,提低处理频率。
为了达到上述目的,本实用新型采用如下技术方案:
第一方面,提供一种模拟向量-矩阵乘法运算电路,包括:DAC模块、转换装置以及闪存处理阵列;其中,
该DAC模块包括用于将数字输入信号的全部比特位转换为多个模拟电流信号的多级DAC,各级DAC分别将数字输入信号的部分比特位转换为模拟电流信号;
各级DAC所转换的比特位不存在重复位,并且,各级DAC的数量大于等于待运算的数字输入信号的总数量;
该转换装置包括与该多级DAC对应的多级转换电路,各级转换电路用于将对应的DAC输出的模拟电流信号转换为对应量级的模拟电压信号;
该闪存处理阵列对该模拟电压信号进行运算。
进一步地,针对相同的输入电流,第m级转换电路的输出电压Um与第n级转换电路的输出电压Un的比值:
Um:Un=2x-1:2y-1
其中,x表示第m级转换电路所对应的DAC所转换的比特位中最低比特位数,y表示第n级转换电路所对应的DAC所转换的比特位中最低比特位数。
进一步地,最高级转换电路包括一电流-电压转换单元,第n级转换电路包括:并联连接的z个电流-电压转换单元,z表示针对相同输入电流时最高级转换电路的输出电压与第n级转换电路的输出电压的比值。
进一步地,该电流-电压转换单元包括:晶体管,该晶体管的栅极与漏极相连,并连接在对应的DAC的输出端以及该闪存处理阵列的输入端之间,源极接入偏置电压;
其中,该晶体管的数量大于等于1。
进一步地,该电流-电压转换单元包括:运算放大器以及晶体管,
该运算放大器的反相输入端连接对应的DAC的输出端,并连接该晶体管的漏极;该运算放大器的正相输入端接入偏置电压;运算放大器的输出端连接该晶体管的源极,并连接该闪存处理阵列的输入端;该晶体管的栅极接入偏置电压;
其中,该晶体管的数量大于等于1。
进一步地,所述闪存处理阵列包括呈阵列排布的闪存单元,每个所述闪存的单元的阈值电压可调,
其中,同一列中对应同一数字输入信号的部分比特位的闪存单元的阈值电压相等。
进一步地,该闪存处理阵列包括:闪存单元阵列以及减法器;
该闪存单元阵列包括:正值权重列和常数列,该减法器的数量等于该正值权重列的数量且二者一一对应连接,该常数列的数量小于该正值权重列的数量;
该常数列可以是一列或者复制多列;
减法器的被减数输入端对应连接正值权重列的输出端,减数输入端连接常数列的输出端,输出端输出模拟向量-矩阵乘法运算结果;
其中,多个减法器的减数输入端连接同一常数列。
进一步地,还包括:
编程电路,连接该闪存单元阵列中每一个闪存单元的源极、栅极和/或衬底,用于调控闪存单元的阈值电压;
控制器,连接该编程电路,通过控制该编程电路工作,控制投入工作的闪存单元的数量以及各闪存单元的阈值电压。
进一步地,还包括:
ADC模块,连接在该闪存处理阵列的输出端,用于将该闪存处理阵列输出的模拟向量-矩阵乘法运算结果转换为数字输出信号。
第二方面,提供一种芯片,其特征在于,包括上述的模拟向量-矩阵乘法运算电路。
本实用新型提供的模拟向量-矩阵乘法运算电路以及芯片,利用模拟向量-矩阵乘法运算对其接收的模拟电流信号做矩阵乘加运算结果为输出电流累加值的特性,用多级低精度DAC组配实现高精度DAC的功能,各级DAC分别将数字输入信号的部分比特位转换为模拟电流信号;各级DAC所转换的比特位不存在重复位,并且,各级DAC的数量大于等于待运算的数字输入信号的总数量;转换装置包括与多级DAC对应的多级转换电路,各级转换电路用于将对应的DAC输出的模拟电流信号转换为对应量级的模拟电压信号,然后将处理后的信号输至闪存处理阵列执行运算,以此实现利用多级低精度DAC组配实现高精度DAC的功能,有效减小DAC的面积和建立时间,进而降低模拟向量-矩阵乘法运算电路以及芯片的成本,提高处理频率。
另外,本实用新型提供的模拟向量-矩阵乘法运算电路以及芯片,闪存处理阵列包括:编程半导体器件阵列以及减法器;该闪存单元阵列包括:正值权重列和常数列,该减法器的数量等于该正值权重列的数量且二者一一对应连接,该常数列的数量小于该正值权重列的数量;该常数列可以是一列或者复制多列;减法器的被减数输入端对应连接正值权重列的输出端,减数输入端连接常数列的输出端,输出端输出模拟向量-矩阵乘法运算结果;其中,多个减法器的减数输入端连接同一常数列,在将权重写入闪存单元之前,可将权重阵列中每一个元素均加上一个常数正值得到待配置权重阵列,该常数正值大于等于该权重阵列中绝对值最大的负值权重的绝对值,以此使得待配置权重阵列中没有负值权重,然后再将待配置权重阵列写入正值权重列,将常数正值写入该常数列中,由于减法器的被减数输入端对应连接正值权重列的输出端,减数输入端连接常数列的输出端,相当于在运算结果中减去了该常数正值的影响,以此,使得模拟向量-矩阵乘法运算电路中的闪存处理阵列不需要设置负值权重列,且多个正值权重列共享常数列,能够简化电路结构,有效减少元器件数量,减小电路面积,降低成本开销,利于集成化。
为让本实用新型的上述和其他目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附图式,作详细说明如下。
附图说明
为了更清楚地说明本实用新型实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本实用新型的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了本实用新型实施例模拟向量-矩阵乘法运算电路的结构图;
图2示出了本实用新型实施例模拟向量-矩阵乘法运算电路的电路图;
图3示出了本实用新型实施例模拟向量-矩阵乘法运算电路中的电流-电压转换单元的电路图一;
图4示出了本实用新型实施例模拟向量-矩阵乘法运算电路中的电流-电压转换单元的电路图二;
图5示出了本实用新型实施例模拟向量-矩阵乘法运算电路中的闪存处理阵列的电路图一;
图6示出了本实用新型实施例模拟向量-矩阵乘法运算电路中的闪存处理阵列的电路图二。
具体实施方式
下面将结合本实用新型实施例中的附图,对本实用新型实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本实用新型一部分实施例,而不是全部的实施例。基于本实用新型中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本实用新型保护的范围。
现有的模拟向量-矩阵乘法电路中,闪存处理阵列的每一行输入均需要对应一个高精度DAC(比如6比特,8比特,12比特等),DAC的数量众多。本领域技术人员都知道,DAC的面积和时延与其精度正相关,例如,8比特DAC的电路规模是4比特DAC的电路规模的24倍,因此,现有的模拟向量-矩阵乘法电路DAC电路占用面积大,严重影响了电路的成本和处理频率。
为解决上述技术问题,本实用新型实施例提供一种模拟向量-矩阵乘法运算电路以及芯片,利用模拟向量-矩阵乘法运算对其接收的模拟电流信号做矩阵乘加运算结果为输出电流累加值的特性,用多级低精度DAC组配实现高精度DAC的功能,各级DAC分别将数字输入信号的部分比特位转换为模拟电流信号;各级DAC所转换的比特位不存在重复位,并且,各级DAC的数量大于等于待运算的数字输入信号的总数量;转换装置包括与多级DAC对应的多级转换电路,各级转换电路用于将对应的DAC输出的模拟电流信号转换为对应量级的模拟电压信号,然后将处理后的信号输至闪存处理阵列执行运算,以此实现利用多级低精度DAC组配实现高精度DAC的功能,有效减小DAC的面积和建立时间,进而降低模拟向量-矩阵乘法运算电路以及芯片的成本,提高处理频率。
图1示出了本实用新型实施例模拟向量-矩阵乘法运算电路的结构图。如图1所示,该模拟向量-矩阵乘法运算电路包括:DAC模块、转换装置以及闪存处理阵列300。
其中,该DAC模块包括用于将数字输入信号的全部比特位转换为多个模拟电流信号的第一级DAC1001至第S级DAC100S,S为大于等于2的正整数,各级DAC分别将数字输入信号的部分比特位转换为模拟电流信号;各级DAC所转换的比特位不存在重复位,并且,各级DAC的数量大于等于待运算的数字输入信号的总数量;该转换装置包括与第一级DAC至第S级DAC对应的第一级转换电路2001至第S级转换电路200S,各级转换电路用于将对应的DAC输出的模拟电流信号转换为对应量级的模拟电压信号;该闪存处理阵列对该模拟电压信号进行运算。
另外,闪存处理阵列包括呈阵列排布的闪存单元,每个闪存的单元的阈值电压可调,其中,同一列中对应同一数字输入信号的部分比特位的闪存单元的阈值电压相等。
具体地,在电路工作时,首先利用控制器或编译器根据DAC的精度和级数按照相同的划分规则将多个数字输入信号中的每个数字输入信号划均分成R个部分,其中,R≤S,且每个部分的比特位数可以相同也可以不同,R个部分分别输入R级DAC,每级DAC用于将其接收的数字输入信号的部分转换为对应的模拟电流信号,R级DAC将数字输入信号的多个部分转换为R个模拟电流信号,但是,此时得到的多个模拟电流信号不能体现数字输入信号的高低位的差别,因此,通过设置R级转换电路,将对应的DAC输出的模拟电流信号转换为对应量级的模拟电压信号,然后利用闪存处理阵列对其接收的模拟电流信号做矩阵乘加运算后,输出电流进行累加,使得利用多级低精度(或称低比特位)DAC和对应的多级转换电路处理后的输出经过闪存处理阵列运算后,与利用一个高精度DAC和对应的转换电路处理后经闪存处理阵列运算后的结果相同,因此,实现了利用多级低精度DAC组配实现高精度DAC的功能,有效降低了电路的规模和面积,节约了成本,并提高了处理频率。
值得说明的是,针对相同的输入电流,第m级转换电路的输出电压Um与第n级转换电路的输出电压Un的比值:
Um:Un=2x-1:2y-1
其中,x表示第m级转换电路所对应的DAC所转换的比特位中最低比特位数,y表示第n级转换电路所对应的DAC所转换的比特位中最低比特位数。
具体地,通过将转换电路的输出电压按照上述比值设置,能够将对应的DAC输出的模拟电流信号转换为对应量级的模拟电压信号,以体现数字输入信号的高低位的差别。
在一个可选的实施例中,最高级转换电路(即参照图1中的第R级转换电路)包括一电流-电压转换单元,第n级转换电路包括:并联连接的z个电流-电压转换单元,z表示针对相同输入电流时最高级转换电路的输出电压与第n级转换电路的输出电压的比值。
具体地,通过将第n级转换电路中的电流-电压转换单元的个数按照上述进行设置,能够使得多级转换电路能够将对应的DAC输出的模拟电流信号转换为对应量级的模拟电压信号。
当然,本领域技术人员可以理解的是,为设计方便,各级转换电路中电流-电压转换单元的数量可以设置为均大于等于最低级转换电路中电流-电压转换单元的数量,在工作时,通过控制器控制各级转换电路中电流-电压转换单元的开启数量即可,只需保证各级转换电路的输出电压的比值满足上述关系即可。
下面,以利用模拟向量-矩阵乘法运算电路对H个8比特数字输入信号D1~DH执行模拟向量-矩阵乘法运算为例,对本实用新型实施例提供的模拟向量-矩阵乘法运算电路进行详细说明,参见图2。
若采用现有模拟向量-矩阵乘法运算电路对H个8比特数字输入信号执行模拟向量-矩阵乘法运算,则需要H个8比特DAC。
而采用本实用新型实施例提供的模拟向量-矩阵乘法运算电路,以用两个4比特DAC组配实现一个8比特DAC的功能为例,说明电路工作原理。
本实用新型实施例提供的模拟向量-矩阵乘法运算电路包括:H个高4比特位DAC10011~1001H、H个低4比特位DAC10021~1002H、与H个高4比特位DAC一一对应连接的H个高4比特转换电路20011~2001H、与H个低4比特位DAC一一对应连接的H个低4比特转换电路20021~2002H以及与2H个转换电路一一对应的2H行闪存单元。
其中,低4比特位DAC与高4比特位DAC可以采用相同的电路结构实现。
该高4比特转换电路包括一个晶体管,其阻抗为R,该晶体管的栅极与漏极相连,并连接在对应的DAC的输出端以及该闪存单元的输入端之间,源极接入偏置电压。
该低4比特转换电路包括并联的16个晶体管,每个晶体管的栅极与漏极相连,并连接在对应的DAC的输出端以及该闪存单元的输入端之间,源极接入偏置电压。
其中,通过将低4比特转换电路设置并联的16个晶体管(也可称为负载),以使针对相同输入电流时,该高4比特转换电路的输出电流是该低4比特转换电路的输出电路的24倍。当然,也可将该高4比特转换电路设置J个晶体管,将该低4比特转换电路设置16J个晶体管,只要高4比特转换电路的输出电流是该低4比特转换电路的输出电路的24倍即可。
该2H行闪存单元中,每一行的所有闪存单元的栅极均连接至同一转换电路的输出端,每一列的所有闪存单元的源极均接入同一偏置电压,每一列的所有闪存单元的漏极均连接在一起,作为模拟电流输出端,N列闪存单元对应N个模拟电流输出端,其中,每个闪存单元的阈值电压均可调节。其中,通过预先按照一定规则动态调节各闪存单元的阈值电压VTH,可将各闪存单元看作一个可变的等效模拟权重(记为Wk,j,其中0<k<2H和0<j<N分别代表行号和列号),相当于存储一个模拟数据,而闪存单元阵列则存储一个模拟数据阵列电路工作时,将一列模拟电压信号V1~V2H分别施加至2H行闪存单元,其中第K行所有闪存单元的栅极均得到一模拟电压信号Vk,漏极输入一偏置电压Vb,源极分别输出电流信号Ik,1~Ik,N,根据闪存单元的特性,I=V×W每个闪存单元的源极输出电流等于栅压乘以该闪存单元的权重,即Ik,1=VkWk,1,Ik,N=VkWk,N,因为每一列的所有闪存单元的源极均连接至同一个模拟电流输出端,根据基尔霍夫定律,所以在该模拟电流输出端的电流Ij为该列所有闪存单元的源极电流之和,即为多个模拟电流输出端输出多个电流和实现矩阵乘法运算功能。
该模拟向量-矩阵乘法运算电路工作之前,预先通过控制器或编译器将H个8比特数字输入信号中D1~DH的每个数字输入信号均拆成一个高4比特输入信号D高和低4比特输入信号D低,进而得到2H个4比特输入信号D1低~DH低、D1高~DH高,另外,将同一数字输入信号所对应的高4比特数字输入信号和低4比特数字输入信号所对应的相同列的闪存单元的阈值设置为相等。
电路工作时,将D1高~DH高分别输至H个高4比特位DAC10011~100m得到I11~I1H,经H个高4比特转换电路20011~2001H转换为模拟电压信号I11×R~I1H×R。
将D1低~DH低分别输至H个低4比特位DAC10021~1002H得到I21~I2H,经H个低4比特转换电路20021~2002H转换为模拟电压信号
2H行闪存单元对模拟电压信号I11×R~I1H×R、执行模拟向量-矩阵乘法运算。
由此,本实用新型实施例利用模拟向量-矩阵乘法运算对其接收的模拟电流信号做矩阵乘加运算结果为输出电流累加值的特性,用两个4比特DAC组配实现一个8比特DAC的功能,对H个8比特数字输入信号执行模拟向量-矩阵乘法运算时,需要2H个4比特DAC,而一个4比特DAC的电路规模是8比特DAC电路规模的1/24倍,由此,本实用新型实施例的模拟向量-矩阵乘法运算电路中DAC的电路规模是现有模拟向量-矩阵乘法运算电路中DAC的电路规模的1/23倍,大大降低了电路规模。
本领域技术人员可以理解的是,DAC的精度越高,采用本实用新型实施例提供的方案的效果越明显。
本实用新型实施例以利用两个4比特DAC电路实现8比特DAC电路的功能为例,包括但不限于此,比如将一个8比特DAC拆分成1个5比特DAC和一个3比特DAC,将一个6比特DAC拆成2个3比特DAC,将一个12比特DAC拆成2个6比特DAC或3个4比特DAC等等,本实用新型实施例对将一个高精度DAC拆分成的低精度DAC的拆分数量以及低精度DAC的精度不作限制。
在一个可选的实施例中,参见图2,该电流-电压转换单元可以包括:晶体管,该晶体管的栅极与漏极相连,并连接在对应的DAC的输出端以及该闪存处理阵列的输入端之间,源极接入偏置电压;
其中,该晶体管的数量大于等于1。
具体地,可以将晶体管的数量设置为大于1个,使得该转换电路的实际工作点是多个晶体管工作点的平均值,从而大大减小工艺偏差带来的影响,在实际电路实现中,晶体管的数量可以根据实际需求选取,以折中稳健性和面积开销。
在一个可选的实施例中,参见图3,该电流-电压转换单元包括:一个运算放大器以及一个晶体管,该运算放大器的反相输入端连接对应的DAC的输出端,并连接该晶体管的漏极;该运算放大器的正相输入端接入偏置电压;运算放大器的输出端连接该晶体管的源极,并连接该闪存处理阵列的输入端;该晶体管的栅极接入偏置电压。
在一个进一步地实施例中,参见图4,该晶体管的数量大于1,使得该转换电路的实际工作点是多个晶体管工作点的平均值,从而大大减小工艺偏差带来的影响,在实际电路实现中,晶体管的数量可以根据实际需求选取,以折中稳健性和面积开销。
在一个可选的实施例中,参见图5,该闪存处理阵列300包括:该闪存处理阵列包括:闪存单元阵列以及减法器301~30n。
该闪存单元阵列包括:正值权重列101~10n和常数列20,该减法器301~30n的数量等于该正值权重列101~10n的数量且二者一一对应连接,该常数列20的数量小于该正值权重列301~30n的数量(本实施例中以常数列20的数量为1对本申请的方案进行示例性说明)。
减法器的被减数输入端对应连接正值权重列的输出端,减数输入端连接该常数列20的输出端,输出端运算结果;
其中,多个减法器301~30n的减数输入端连接同一常数列20。
当然,该闪存单元阵列也可以采用栅极耦合、源极求和的拓扑结构或栅极耦合、漏极求和的拓扑结构,本实用新型实施例对此不作限制。
下面,对闪存处理阵列的原理进行说明:
在将权重阵列写入闪存单元之前,将权重阵列中每一个元素均加上一个常数正值C,得到待配置权重阵列,该常数正值大于等于该权重阵列中绝对值最大的负值权重的绝对值,以此使得待配置权重阵列中没有负值权重;然后,将待配置权重阵列写入正值权重列,将常数正值写入该常数列中,一减法器的被减数输入端对应连接一正值权重列的输出端,减数输入端连接一常数列的输出端,输出端输出模拟向量-矩阵乘法运算结果,即通过减法器在运算结果中减去该常数正值的影响,以此,不需要设置负值权重列,且多个正值权重列共享一常数列,能够简化电路结构,有效减少元器件数量,减小电路面积,降低成本开销,利于集成化。
下面,针对某一行来说,以权重为【5,-3,6,-8】,输入电压为V为例,说明本申请的原理(本例为了简洁说明本申请原理,选用了最为简单的权重行为例,在实际应用中,权重阵列的规模依运算需求而定,对于深度神经网络运算来说,权重阵列往往规模很大,本实用新型的优势更加明显)。
采用本实用新型实施例提供的闪存处理阵列,先将所有权重值均加上9(大于等于8即可),得到待配置权重列【14,6,15,1】,则需要在第一正值权重晶体管(对应第1正值权重列)中写入14,第二正值晶体管中写入6,第三正值晶体管中写入14,第四正值晶体管中写入1,常数晶体管(对应常数列)中写入9,通过对应的减法器后,输出最终的结果【5V,-3V,6V,-8V】,共需要5个晶体管实现,能够有效减少了约38%的晶体管。
本领域技术人员可以理解的是,运算规模越大,本申请的优势越明显。
图6示出了本实用新型实施例模拟向量-矩阵乘法运算电路中的闪存处理阵列的电路图二。如图6所示,该闪存处理阵列可以设置多个常数列,将多个常数列等分或不等分地穿插在整个闪存单元阵列中,从而在闪存单元阵列规模较大时,能有效减小共享该常数列的正值权重列的列数,以此,能够减少寄生参数的影响,提高驱动力,电路的使用和控制也能更灵活,提高运算的精度和速度。
本领域技术人员可以理解的是,当该常数列为多个时,可以统一设置该常数列的权重,此时,将权重阵列作为一个整体来考虑;也可以将每个常数列与其对应的正值权重列一起,作为一个运算单元,在进行实际应用中,可将权重阵列按列拆分,然后分配到不同的运算单元中,每个运算单元根据自身的运算任务,设置常数列的权重值,进行各自的运算,以此能够更加灵活地实现运算,并且,也可以实现多运算任务并行处理,能够有效提高运算速度和效率。
在一个可选的实施例中,该闪存处理阵列还可以包括:稳流模块,该稳流模块连接在该常数列的输出端。
其中,通过在常数列的输出端设置稳流模块,可以有效减小寄生参数的影响,进一步提高驱动力,提高运算的精度和速度。
在一个可选的实施例中,该模拟向量-矩阵乘法运算电路还可以包括:编程电路,连接闪存处理阵列中每一个闪存单元的源极、栅极和/或衬底,用于调控闪存单元的阈值电压。
其中,该编程电路可以包括:电压产生电路和电压控制电路,该电压产生电路用于产生编程电压或者擦除电压,该电压控制电路用于将该编程电压加载至选定的闪存单元的源极,或者,将擦除电压加载至选定的闪存单元的栅极或衬底,以调控闪存单元的阈值电压。
具体地,编程电路利用热电子注入效应,根据闪存单元阈值电压需求数据,向闪存单元的源极施加高电压,将沟道电子加速到高速,以增加闪存单元的阈值电压。
并且,编程电路利用隧穿效应,根据闪存单元阈值电压需求数据,向闪存单元的栅极或衬底施加高电压,从而减少闪存单元的阈值电压。
在一个可选的实施例中,该模拟向量-矩阵乘法运算电路还可以包括:控制器,连接该编程电路,通过控制该编程电路工作,控制投入工作的闪存单元的数量以及各闪存单元的阈值电压;并且,该控制器还可以根据模拟向量-矩阵乘法运算需求对运算进行控制。
在一个可选的实施例中,该模拟向量-矩阵乘法运算电路还可以包括:行列译码器,用于选通待编程的闪存单元。
在上述实施例中,该闪存单元可以采用浮栅晶体管。
在上述实施例中,该模拟向量-矩阵乘法运算电路还可以包括:偏置电压产生电路,用于产生预设的偏置电压,输入至偏置电压输入端,可以理解的是,该模拟向量-矩阵乘法运算电路还可以不设置偏置电压产生电路,通过复用编程电路中的电压产生电路,控制该电压产生电路产生预设的偏置电压,输入至偏置电压输入端。
在一个可选的实施例中,该模拟向量-矩阵乘法运算电路还可以包括:ADC模块,连接在该闪存处理阵列的输出端,用于将该闪存处理阵列输出的模拟向量-矩阵乘法运算结果转换为数字输出信号。
另一方面,本实用新型实施例还提供一种芯片,该芯片包括上述模拟向量-矩阵乘法运算电路。其中,该芯片可为存算一体芯片。
另外,本实用新型实施例还提供一种电子设备,该电子设备可以包括上述的模拟向量-矩阵乘法运算电路,具体的,电子设备例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本实用新型中应用了具体实施例对本实用新型的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本实用新型的方法及其核心思想;同时,对于本领域的一般技术人员,依据本实用新型的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本实用新型的限制。
Claims (9)
1.一种模拟向量-矩阵乘法运算电路,其特征在于,包括:DAC模块、转换装置以及闪存处理阵列;其中,
所述DAC模块包括用于将数字输入信号的全部比特位转换为多个模拟电流信号的多级DAC,各级DAC分别将数字输入信号的部分比特位转换为模拟电流信号;
各级DAC所转换的比特位不存在重复位,并且,各级DAC的数量大于等于待运算的数字输入信号的总数量;
所述转换装置包括与所述多级DAC对应的多级转换电路,各级转换电路用于将对应的DAC输出的模拟电流信号转换为对应量级的模拟电压信号;
所述闪存处理阵列对所述模拟电压信号进行运算。
2.根据权利要求1所述的模拟向量-矩阵乘法运算电路,其特征在于,针对相同的输入电流,第m级转换电路的输出电压Um与第n级转换电路的输出电压Un的比值:
Um:Un=2x-1:2y-1
其中,x表示第m级转换电路所对应的DAC所转换的比特位中最低比特位数,y表示第n级转换电路所对应的DAC所转换的比特位中最低比特位数。
3.根据权利要求2所述的模拟向量-矩阵乘法运算电路,其特征在于,最高级转换电路包括一电流-电压转换单元,第n级转换电路包括:并联连接的z个电流-电压转换单元,z表示针对相同输入电流时最高级转换电路的输出电压与第n级转换电路的输出电压的比值。
4.根据权利要求3所述的模拟向量-矩阵乘法运算电路,其特征在于,所述电流-电压转换单元包括:晶体管,所述晶体管的栅极与漏极相连,并连接在对应的DAC的输出端以及所述闪存处理阵列的输入端之间,源极接入偏置电压;
其中,所述晶体管的数量大于等于1。
5.根据权利要求3所述的模拟向量-矩阵乘法运算电路,其特征在于,所述电流-电压转换单元包括:运算放大器以及晶体管,
所述运算放大器的反相输入端连接对应的DAC的输出端,并连接所述晶体管的漏极;所述运算放大器的正相输入端接入偏置电压;运算放大器的输出端连接所述晶体管的源极,并连接所述闪存处理阵列的输入端;所述晶体管的栅极接入偏置电压;
其中,所述晶体管的数量大于等于1。
6.根据权利要求1所述的模拟向量-矩阵乘法运算电路,其特征在于,所述闪存处理阵列包括呈阵列排布的闪存单元,每个所述闪存的单元的阈值电压可调,
其中,同一列中对应同一数字输入信号的部分比特位的闪存单元的阈值电压相等。
7.根据权利要求1所述的模拟向量-矩阵乘法运算电路,其特征在于,所述闪存处理阵列包括:闪存单元阵列以及减法器;
所述闪存单元阵列包括:正值权重列和常数列,所述减法器的数量等于所述正值权重列的数量且二者一一对应连接,所述常数列的数量小于所述正值权重列的数量;
所述常数列可以是一列或者复制多列;
减法器的被减数输入端对应连接正值权重列的输出端,减数输入端连接常数列的输出端,输出端输出模拟向量-矩阵乘法运算结果;
其中,多个减法器的减数输入端连接同一常数列。
8.根据权利要求1所述的模拟向量-矩阵乘法运算电路,其特征在于,还包括:
ADC模块,连接在所述闪存处理阵列的输出端,用于将所述闪存处理阵列输出的模拟向量-矩阵乘法运算结果转换为数字输出信号。
9.一种芯片,其特征在于,包括权利要求1至8任一项所述的模拟向量-矩阵乘法运算电路。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201920708363.9U CN209657299U (zh) | 2019-05-16 | 2019-05-16 | 模拟向量-矩阵乘法运算电路以及芯片 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201920708363.9U CN209657299U (zh) | 2019-05-16 | 2019-05-16 | 模拟向量-矩阵乘法运算电路以及芯片 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN209657299U true CN209657299U (zh) | 2019-11-19 |
Family
ID=68530267
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201920708363.9U Active CN209657299U (zh) | 2019-05-16 | 2019-05-16 | 模拟向量-矩阵乘法运算电路以及芯片 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN209657299U (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111611528A (zh) * | 2020-04-03 | 2020-09-01 | 深圳市九天睿芯科技有限公司 | 电流值可变的电流积分和电荷共享的多位卷积运算模组 |
US20220137924A1 (en) * | 2019-02-26 | 2022-05-05 | Beljing Zhicun (Witin) Technology Corporation Limited | Dynamic bias analog vector-matrix multiplication operation circuit and operation control method therefor |
TWI785435B (zh) * | 2020-01-03 | 2022-12-01 | 美商超捷公司 | 調校非揮發性記憶體單元之向量矩陣乘法陣列中之選定非揮發性記憶體單元之方法 |
CN115906735A (zh) * | 2023-01-06 | 2023-04-04 | 上海后摩智能科技有限公司 | 基于模拟信号的多比特数存算一体电路、芯片及计算装置 |
US12124944B2 (en) | 2020-01-03 | 2024-10-22 | Silicon Storage Technology, Inc. | Precise data tuning method and apparatus for analog neural memory in an artificial neural network |
-
2019
- 2019-05-16 CN CN201920708363.9U patent/CN209657299U/zh active Active
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220137924A1 (en) * | 2019-02-26 | 2022-05-05 | Beljing Zhicun (Witin) Technology Corporation Limited | Dynamic bias analog vector-matrix multiplication operation circuit and operation control method therefor |
US12093342B2 (en) * | 2019-02-26 | 2024-09-17 | Beljing Zhicun (Witin) Technology Corporation Limited | Dynamic bias analog vector-matrix multiplication operation circuit and operation control method therefor |
TWI785435B (zh) * | 2020-01-03 | 2022-12-01 | 美商超捷公司 | 調校非揮發性記憶體單元之向量矩陣乘法陣列中之選定非揮發性記憶體單元之方法 |
TWI799355B (zh) * | 2020-01-03 | 2023-04-11 | 美商超捷公司 | 精確資料調校方法及用於人工神經網路中之類比神經記憶體之裝置 |
US11636322B2 (en) | 2020-01-03 | 2023-04-25 | Silicon Storage Technology, Inc. | Precise data tuning method and apparatus for analog neural memory in an artificial neural network |
US11847556B2 (en) | 2020-01-03 | 2023-12-19 | Silicon Storage Technology, Inc. | Precise data tuning method and apparatus for analog neural memory in an artificial neural network |
US12124944B2 (en) | 2020-01-03 | 2024-10-22 | Silicon Storage Technology, Inc. | Precise data tuning method and apparatus for analog neural memory in an artificial neural network |
CN111611528A (zh) * | 2020-04-03 | 2020-09-01 | 深圳市九天睿芯科技有限公司 | 电流值可变的电流积分和电荷共享的多位卷积运算模组 |
CN111611528B (zh) * | 2020-04-03 | 2023-05-02 | 深圳市九天睿芯科技有限公司 | 电流值可变的电流积分和电荷共享的多位卷积运算模组 |
CN115906735A (zh) * | 2023-01-06 | 2023-04-04 | 上海后摩智能科技有限公司 | 基于模拟信号的多比特数存算一体电路、芯片及计算装置 |
CN115906735B (zh) * | 2023-01-06 | 2023-05-05 | 上海后摩智能科技有限公司 | 基于模拟信号的多比特数存算一体电路、芯片及计算装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN209657299U (zh) | 模拟向量-矩阵乘法运算电路以及芯片 | |
CN111949935A (zh) | 模拟向量-矩阵乘法运算电路以及芯片 | |
US11379673B2 (en) | Analog vector-matrix multiplication circuit | |
CN109086249B (zh) | 模拟向量-矩阵乘法运算电路 | |
TWI720524B (zh) | 用於執行記憶體內乘法與累加函數的方法及電路 | |
CN111611534B (zh) | 一种动态偏置模拟向量-矩阵乘法运算电路及其运算控制方法 | |
CN111353122B (zh) | 可做内乘积运算的存储器储存装置及其操作方法 | |
CN211016545U (zh) | 基于NAND Flash的存内计算芯片、存储装置以及终端 | |
CN111241028A (zh) | 一种数模混合存算一体芯片以及运算装置 | |
WO2020172951A1 (zh) | 可软件定义存算一体芯片及其软件定义方法 | |
CN111128279A (zh) | 基于NAND Flash的存内计算芯片及其控制方法 | |
CN111614353A (zh) | 一种存算一体芯片中数模转换电路与模数转换电路复用装置 | |
CN113344170B (zh) | 神经网络权重矩阵调整方法、写入控制方法以及相关装置 | |
CN208547942U (zh) | 模拟向量-矩阵乘法运算电路 | |
CN112162947A (zh) | 输出可配置存算一体芯片以及电子设备 | |
US20220309328A1 (en) | Compute-in-memory devices, systems and methods of operation thereof | |
CN213365506U (zh) | 输出可配置存算一体芯片以及电子设备 | |
CN112632460B (zh) | 源极耦合、漏极求和的模拟向量-矩阵乘法运算电路 | |
CN209514618U (zh) | 动态偏置模拟向量-矩阵乘法运算电路 | |
CN208569628U (zh) | 模拟向量-矩阵乘法运算电路 | |
CN115913239A (zh) | 模拟数字转换电路、电子装置和操作方法 | |
CN110022110B (zh) | 音圈马达阻尼控制电路 | |
CN114168107A (zh) | 一种存内精度可调的矢量矩阵乘法运算方法及运算器 | |
US20220140796A1 (en) | Voltage amplifier based on cascaded charge pump boosting | |
Halonen et al. | Programmable analog VLSI CNN chip with local digital logic |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address |
Address after: Room 213-175, 2nd Floor, Building 1, No. 180 Kecheng Street, Qiaosi Street, Linping District, Hangzhou City, Zhejiang Province, 311100 Patentee after: Hangzhou Zhicun Computing Technology Co.,Ltd. Country or region after: China Address before: 1707 shining building, 35 Xueyuan Road, Haidian District, Beijing 100083 Patentee before: BEIJING WITINMEM TECHNOLOGY Co.,Ltd. Country or region before: China |
|
CP03 | Change of name, title or address |