存算单元及存内计算电路
未命名
09-24
阅读:79
评论:0
1.本发明涉及存内计算领域,尤其是涉及一种存算单元及存内计算电路。
背景技术:
2.人工智能、大数据等新兴信息产业的迅速发展,催生了对高能效半导体芯片的巨大需求。在材料器件方面,随着半导体技术进入后摩尔时代,芯片制造工艺现已逼近2纳米,制造成本和功耗急剧增加,当前硅基芯片材料即将到达其性能极限。碳纳米管拥有天然的超小尺寸、超高的载流子迁移率和平均自由程,以其作为导通沟道的碳纳米晶体管(cnfet),不仅尺寸缩小性强,而且具备高速及低功耗等显著优势。在计算架构方面,目前神经网络等智能算法被广泛应用于各个不同领域,但是对于此类数据密集型应用,传统冯诺依曼架构中存储单元与计算单元分离的设计,会导致大量的数据搬移开销。存内计算架构通过将计算功能集成到内存中可最小化数据的搬移开销,可实现高能效、高性能的大规模数据处理。
3.现有技术中,模拟域存内计算根据基尔霍夫电流定律或电荷守恒定律等物理定律,实现阵列级并行的乘累加操作。该计算模式下,由于计算结果以模拟电压的形式体现,因此极易受到工艺、电压和温度的扰动影响,计算结果精度可控性差;此外模拟计算结果需要面积、能耗开销极大的模数转换器(adc)与外围数字电路对接,因此计算能效也会大幅降低。
技术实现要素:
4.本发明的目的在于提供一种存算单元及存内计算电路,可以在数字域内进行近似乘法计算,以使得计算电路具有高性能、低功耗和高能效的优势。
5.为了达到上述目的,本发明提供了一种存算单元,包括:
6.6t sram单元,用于存储数字域的权重数据;
7.若干个或非门,每个所述或非门的第一输入端均连接所述6t sram单元的权重点,每个所述或非门的第二输入端分别接收数字域的输入数据,每个所述或非门的输出端输出该或非门接收的所述输入数据和所述权重数据的部分积。
8.可选的,在所述的存算单元中,所述或非门的数量越多,处理的输入数据越多,并且,产生的部分积越多。
9.可选的,在所述的存算单元中,所述6t sram单元由4个碳基材料的nmos管和2个碳基材料的pmos管组成;
10.可选的,在所述的存算单元中,所述或非门由碳基材料的nmos管和碳基材料的pmos管组成。
11.本发明还提供了一种存内计算电路,包括:
12.若干个存算子阵列,每个所述存算子阵列包括若干个存算单元,以获得所有所述存算单元产生的部分积;
13.若干个近似乘法器,每个所述近似乘法器对应一个所述存算子阵列,用于对获得的所有所述部分积数据进行累加计算,并输出累加数据;
14.近存加法器,用于对所有所述累加数据进行加法计算,并输出加法结果。
15.可选的,在所述的存内计算电路中,每组所述存算子阵列包括四个存算单元。
16.可选的,在所述的存内计算电路中,所述近似乘法器由精确半加器、精确全加器、近似半加器、近似全加器和近似4:2压缩器组成,所述半加器、全加器、近似半加器、近似全加器和近似4:2压缩器分别处理所述部分积中不同bit位的数据。
17.可选的,在所述的存内计算电路中,所述部分积的部分低bit数据由近似半加器和近似全加器处理。
18.可选的,在所述的存内计算电路中,所述部分积的部分高bit数据由精确半加器和精确全加器处理。
19.可选的,在所述的存内计算电路中,所述近似半加器、近似全加器和近似4:2压缩器均由多个碳基材料的nmos管和多个碳基材料的pmos管组成。
20.在本发明提供的存算单元及存内计算电路中,可以在数字域内进行近似乘法计算,受到工艺、电压和温度的扰动影响较小,提高了计算结果的可控性,同时,另外,本发明的存算单元及存内计算电路去除了模拟域存内计算中能耗与面积开销极大的adc电路,因此本发明不但具有模拟域存内计算的高性能优势,还兼具了数字计算的高能效优势,同时,还降低了电路的面积和功耗。
附图说明
21.图1是本发明实施例的存算单元的示意图;
22.图2是本发明实施例的存内计算电路的示意图;
23.图3是本发明实施例的近似乘法器的示意图;
24.图4是本发明实施例的近似半加器的示意图;
25.图5是本发明实施例的近似全加器的示意图;
26.图6是本发明实施例的近似4:2压缩器的示意图;
27.图中:n1-第一nmos管、n2-第二nmos管、n3-第三nmos管、n4-第四nmos管、n5-第五nmos管、n6-第六nmos管、n7-第七nmos管、n8-第八nmos管、n9-第九nmos管、n10-第十nmos管、n11-第十一nmos管、n12-第十二nmos、n13-第十三nmos、n14-第十四nmos、n15-第十五nmos、n16-第十六nmos、n17-第十七nmos、n18-第十八nmos、n19-第十九nmos、n20-第二十nmos、p1-第一pmos管、p2-第二pmos管、p3-第三pmos管、p4-第四pmos管、p5-第五pmos管、p6-第六pmos管、p7-第七pmos管、p8-第八pmos管、p9-第九pmos管、p10-第十pmos管、p11-第十一pmos管、p12-第十二pmos管、p13-第十三pmos管、p14-第十四pmos管、p15-第十五pmos管、p16-第十六pmos管、p17-第十七pmos管、p18-第十八pmos管、nor1-第一或非门、nor2-第二或非门、nor3-第三或非门、nor4-第四或非门。
具体实施方式
28.下面将结合示意图对本发明的具体实施方式进行更详细的描述。根据下列描述,本发明的优点和特征将更清楚。需说明的是,附图均采用非常简化的形式且均使用非精准
的比例,仅用以方便、明晰地辅助说明本发明实施例的目的。
29.在下文中,术语“第一”“第二”等用于在类似要素之间进行区分,且未必是用于描述特定次序或时间顺序。要理解,在适当情况下,如此使用的这些术语可替换。类似的,如果本文所述的方法包括一系列步骤,且本文所呈现的这些步骤的顺序并非必须是可执行这些步骤的唯一顺序,且一些所述的步骤可被省略和/或一些本文未描述的其他步骤可被添加到该方法。
30.请参照图1,本发明提供了一种存算单元,包括:
31.6t sram单元,用于存储数字域的权重数据;
32.若干个或非门,每个或非门的第一输入端均连接6t sram单元的权重点,每个或非门的第二输入端分别接收数字域的输入数据,每个或非门的输出端输出该或非门接收的输入数据和权重数据的部分积。
33.进一步的,或非门的数量越多,处理的输入数据越多,并且,产生的部分积越多。
34.优选的,6t sram单元由4个碳基材料的nmos管和2个碳基材料的pmos管组成;或非门由碳基材料的nmos管和碳基材料的pmos管组成,其电路拓扑结构与传统硅基cmos电路相同,两个碳基nmos管以并联形式构成下拉网络,两个pmos管以串联形式构成上拉网络。请参照图1,4个nmos管分别是第一nmos管n1、第二nmos管n2、第三nmos管n3和第四nmos管n4;2个pmos管为第一pmos管p1和第二pmos管p2。第一nmos管n1的源极接地,第一nmos管n1的漏极接第一pmos管p1的漏极,第一pmos管p1的源极接电源电压,第一pmos管p1的栅极接第一nmos管n1的栅极,并同时连接至第二pmos管p2的漏极与第二nmos管n2的漏极。第二nmos管n2的源极接地,第二nmos管n2的漏极接第二pmos管p2的漏极,第二pmos管p2的源极接电源电压,第二pmos管p2的栅极接第二nmos管n2的栅极,并同时连接至第一pmos管p1的漏极与第一nmos管n1的漏极。第三nmos管n3的栅极接字线,第三nmos管n3的漏极接位线,第三nmos管n3的源极接第一pmos管p1的漏极也同样接第一nmos管n1的漏极。第四nmos管n4的栅极接字线,第四nmos管n4的源极接反位线,第四nmos管n4的漏极接第二pmos管p2的漏极也同样接第二nmos管n2的漏极,并且连接点是存储点qb。同时,本发明实施例选用4个或非门,分别是第一或非门nor1、第二或非门nor2、第三或非门nor3和第四或非门nor4,第一或非门nor1、第二或非门nor2、第三或非门nor3和第四或非门nor4的第一输入端均接存储点qb,以获得6t sram单元的存储数据,第二输入端接不同的输入数据,例如,四个或非门就可以接收4bit的输入数据,每个或非门分别接收1bit的输入数据,输入数据可以与6t sram单元存储的数据进行部分积运算。四个或非门的输出端接乘法器,均输出部分积。本发明实例中或非门的个数可变,或非门的个数取决于当前sram存储数据的权重,sram存储数据权重越高,或非门的个数越多,或非门输出至乘法器的部分积精度越高,乘法计算结果越准确。
35.请参照图2,本发明提供了一种存内计算电路,包括:
36.若干个存算子阵列,每个存算子阵列包括若干个存算单元,以获得所有存算单元产生的部分积;
37.若干个近似乘法器,每个近似乘法器对应一个存算子阵列,用于对获得的所有部分积数据进行累加计算,并输出累加数据;
38.近存加法器,用于对所有累加数据进行加法计算,并输出加法结果。
39.优选的,每组存算子阵列包括四个存算单元,分别是sram3单元、sram2单元、sram1
单元和sram0单元,每个存算单元提供至少一个部分积数据。图2中,本发明实施例中,sram3单元包含了四个或非门,每个或非门具有两个输入端,一个输入端接收输入数据,四个或非门可以处理4个输入数据,例如图2中的四个输入数据in3、in2、in1和in0,每个或非门的另一输入端连接sram3单元内部的存储节点qb。获得输入数据和sram3单元内部存储的权重数据的乘积,并将其输出。sram2单元包含了三个或非门,可以处理3个输入数据(例如输入数据in3、in2和in1)和sram2单元内部存储的权重数据的乘积;sram1单元包含了两个或非门,可以处理2个输入数据(例如输入数据in3和in2)和sram1单元内部存储的权重数据的乘积;sram0单元包含了一个或非门,可以处理1个输入数据(例如输入数据in3)和sram0单元内部存储的权重数据的乘积。sram内部存储的数据权重越大,或非门越多。由于一个6t sram单元只能存储一个比特数据,0或者1。所以一个4比特数据需要分别存储在4个6t sram单元(也相当于4个存算单元即sram3单元、sram2单元、sram1单元和sram0单元)的内部,并且,这4比特数据的权重均不相同。以十进制数(4352)进行说明,其中4在千位上,权重更大,计算乘法时,对最终结果影响最大,所以部分积需要尽可能准确;2在个位上,权重很小,算乘法时,即使有一定偏差也不会对最终结果产生较大影响。而在本发明实施例中,输入信号和权重信号采用的均是二进制表示,但是其和十进制数类似,对于更高权重位的数字,计算需要更精确,所以用四个或非门计算部分积;对于较低的权重位,可以用较少的或非门计算部分积。对于最低权重位的数字,计算结果可以允许有偏差,所以低位没有用与非门计算(只需算高位权重的数字的部分积),在算法上相当于在最低位直接补零,可以节省硬件开销。
40.进一步的,请参照图3,近似乘法器由精确半加器、精确全加器、近似半加器、近似全加器和近似4:2压缩器组成。其中,所有部分积的部分低bit数据由近似半加器和近似全加器处理。部分积的部分高bit数据由精确半加器和精确全加器处理。例如,如果乘数和被乘数都是4bit的数据,则产生的部分积会是4个4bit数据,经移位排列后,从低位到高位的顺序分为第一bit位、第二bit位、第三bit位、第四bit位、第五bit位、第六bit位和第七bit位。其中,第一bit位至第四bit位属于低bit数据,第五bit位至第七bit位属于高bit数据,第一bit位和第七bit位直接传递至下一级加法器,第二bit位采用近似半加器进行处理,第三bit位采用近似全加器进行处理,第四bit位采用近似4:2压缩器进行处理,第五bit位采用精确全加器进行处理,第六bit位采用精确半加器进行处理。
41.进一步的,精确半加器、精确全加器、近似半加器、近似全加器和近似4:2压缩器均由多个碳基材料的nmos管和碳基材料的pmos组成,碳基材料具有很多与硅基材料不同的性质,因此硅基电路无法直接适用于碳基电路,需要进行针对性电路设计。碳基材料特殊性质具体为:碳纳米管中空穴与电子的迁移率相似,因此相同尺寸的n型cnfet与p型cnfet具有对称的驱动能力;碳基制造工艺目前仍不够成熟,具有多维度扰动特性,如直径扰动、间距扰动等,在本发明中通过数字电路的实现方式能够规避此类扰动对计算结果的影响。当硅基电路迁移到碳基材料时,需要进行针对性设计以保证碳基电路的功能正确性以及期望的能效、面积、性能收益。所以要想使用碳基材料的电路,则在电路的结构上也必须达到要求才能使得碳基材料运用得当。精确半加器和精确全加器的电路结构为现有技术,只是nmos管和pmos管的材料选为碳基材料,因此,电路结构在此不做赘述。
42.接着,请参照图4,图4为近似半加器的示意图,近似半加器由基本或门逻辑构成,接收两个输入信号x1和x2,此处的x1和x2为图3中第二bit(#2)位的四个部分积数据,输出
近似半加器的计算结果,电路结构包括第三pmos管p3、第四pmos管p4、第五pmos管p5、第五nmos管n5、第六nmos管n6和第七nmos管n7。第三pmos管p3的源极接电源电压,漏极接第四pmos管p4的源极,第四pmos管p4的漏极接第六nmos管n6的漏极,第六nmos管n6的源极接地。第五nmos管n5的漏极接第四pmos管p4的漏极,第五nmos管n5的源极接地。第三pmos管p3的栅极和第四pmos管p4的栅极分别接进行近似加法的数据x1和x2。第五nmos管n5的栅极和第六nmos管n6的栅极分别接进行近似加法的数据x1和x2,并且,第五nmos管n5的栅极和第三pmos管p3的栅极接的数据相同,第六nmos管n6的栅极和第四pmos管p4的栅极接的数据相同。第五pmos管p5的源极接电源电压,第五pmos管p5的漏极作为近似加法器的输出,第五pmos管p5的栅极接第四pmos管p4的漏极。第七nmos管n7的漏极接第五pmos管p5的漏极,也即是作为输出结果,第七nmos管n7的源极接地,第七nmos管n7的栅极接第五nmos管n5的漏极,同时接第六nmos管n6的漏极。
43.接着,请参照图5,图5为近似全加器的示意图,近似全加器接收三个输入信号,分别是第一输入信号x1,第二输入信号x2,第三输入信号x3的反相信号x3b,此处的三个输入信号x1,x2,x3分别对应于图3中第三bit(#3)位的三个部分积数据,第三输入信号的反向信号x3b由第三输入信号x3经反相器获得。近似全加器输出两个信号,分别为进位信号c
out
与“和”信号s。近似全加器电路结构由5个nmos管和5个pmos管组成,5个nmos管分别是第八nmos管n8、第九nmos管n9、第十nmos管n10、第十一nmos管n11和第十二nmos管n12,5个pmos管分别是第六pmos管p6、第七pmos管p7、第八pmos管p8、第九pmos管p9和第十pmos管p10,5个nmos管和5个pmos管的连接方式如图5。其中第六pmos管p6,第七pmos管p7,第八nmos管n8,第九nmos管n9连接构成两输入与非门结构,该与非门结构分别接收第一输入信号x1和第二输入信号x2作为输入,与非门输出结果记为m。第八pmos管p8,第九pmos管p9,第十nmos管n10,第十一nmos管n11连接构成两输入或非门结构,该或非门结构分别接收与非门结构的输出结果m和第三输入信号的反向信号x3b,或非门的输出结果即为近似全加器的进位输出信号c
out
。第十pmos管p10与第十二nmos管n12连接构成反相器电路,反相器电路的输入信号为前一级或非门的输出结果信号,即c
out
信号,反相器的输出信号为近似全加器的“和”信号s。
44.接着,请参照图6,近似4:2压缩器接收四个输入信号,此处的四个输入信号分别为图3中第四bit(#4)位的四个部分积数据,分别为图6中的第一输入信号x1、第二输入信号x2、第三输入信号x3和第四输入信号x4,为方便电路计算,还会利用反相器生成第一输入信号的反向信号x1b和第三输入信号的反向信号x3b。近似4:2压缩器产生两个输出信号,分别为进位信号c与“和”信号s。近似4:2压缩器的电路结构由8个nmos管和8个pmos管组成,8个nmos管分别是第十三nmos管n13、第十四nmos管n14、第十五nmos管n15、第十六nmos管n16、第十七nmos管n17、第十八nmos管n18、第十九nmos管n19和第二十nmos管n20。8个pmos管分别是第十一pmos管p11、第十二pmos管p12、第十三pmos管p13、第十四pmos管p14、第十五pmos管p15、第十六pmos管p16、第十七pmos管p17和第十八pmos管p18。其中第十一pmos管p11与第十三nmos管n13以传输门形式连接,第十一pmos管p11的栅极控制信号为第一输入信号x1,第十三nmos管n13的栅极控制信号为第一输入信号的反向信号x1b,传输门两端分别连接至第二输入信号x2与中间节点m1。第十二pmos管p12作为传输管连接第一输入信号反信号x1b与中间节点m1,其中栅极控制信号为第二输入信号x2。第十四nmos管n14作为传
输管连接第一输入信号x1与中间节点m1,其中栅极控制信号为第二输入信号的反信号x2b。此时,由第十一pmos管p11,第十三nmos管n13,第十二pmos管p12,第十四nmos管n14共同组成异或门电路,即中间节点m1电平逻辑为第一输入信号x1与第二输入信号x2的异或逻辑。第十三pmos管p13与第十五nmos管n15以传输门形式连接,第十三pmos管p13的栅极控制信号为第三输入信号x3,第十五nmos管n15的栅极控制信号为第三输入信号的反向信号x3b,传输门两端分别连接至第四输入信号x4与中间节点m2。第十四pmos管p14作为传输管连接第三输入信号反信号x3b与中间节点m2,其中栅极控制信号为第四输入信号x4。第十六nmos管n16作为传输管连接第三输入信号x3与中间节点m2,其中栅极控制信号为第四输入信号的反信号x4b。此时,由第十三pmos管p13、第十五nmos管n15、第十四pmos管p14和第十六nmos管n16共同组成异或门电路,即中间节点m2电平逻辑为第三输入信号x3与第四输入信号x4的异或逻辑。第十五pmos管p15与第十七nmos管n17构成反相器,反相器输入信号为中间节点m1,输出信号为中间节点m3。第十六pmos管p16与第十八nmos管n18构成反相器,反相器输入信号为中间节点m2,输出信号为中间节点m4。第十七pmos管p17,第十八pmos管p18,第十九nmos管n19,第二十nmos管n20共同构成两输入与非门电路,其中该与非门的两个输入分别为中间节点m3和中间节点m4,与非门电路的输出结果即为近似4:2压缩器的“和”输出信号。此外,近似4:2压缩器的第四输入信号x4直接作为4:2压缩器的进位输出信号c。
45.综上,在本发明实施例提供的存内计算电路中,受到工艺、电压和温度的扰动影响较小,提高了计算结果的可控性,同时,另外,本发明的存算单元及存内计算电路去除了模拟域存内计算中能耗与面积开销极大的adc电路,因此本发明不但具有模拟域存内计算的高性能优势,还兼具了数字计算的高能效优势,同时,还降低了电路的面积和功耗。
46.上述仅为本发明的优选实施例而已,并不对本发明起到任何限制作用。任何所属技术领域的技术人员,在不脱离本发明的技术方案的范围内,对本发明揭露的技术方案和技术内容做任何形式的等同替换或修改等变动,均属未脱离本发明的技术方案的内容,仍属于本发明的保护范围之内。
技术特征:
1.一种存算单元,其特征在于,包括:6t sram单元,用于存储数字域的权重数据;若干个或非门,每个所述或非门的第一输入端均连接所述6t sram单元的权重点,每个所述或非门的第二输入端分别接收数字域的输入数据,每个所述或非门的输出端输出该或非门接收的所述输入数据和所述权重数据的部分积。2.如权利要求1所述的存算单元,其特征在于,所述或非门的数量越多,处理的输入数据越多,并且,产生的部分积越多。3.如权利要求1所述的存算单元,其特征在于,所述6t sram单元由4个碳基材料的nmos管和2个碳基材料的pmos管组成。4.如权利要求3所述的存算单元,其特征在于,所述或非门由碳基材料的nmos管和碳基材料的pmos管组成。5.一种存内计算电路,其特征在于,包括:若干个存算子阵列,每个所述存算子阵列包括若干个如权利要求1~4中任一项所述的存算单元,以获得所有所述存算单元产生的部分积;若干个近似乘法器,每个所述近似乘法器对应一个所述存算子阵列,用于对获得的所有所述部分积数据进行累加计算,并输出累加数据;近存加法器,用于对所有所述累加数据进行加法计算,并输出加法结果。6.如权利要求5所述的存内计算电路,其特征在于,每组所述存算子阵列包括四个存算单元。7.如权利要求5所述的存内计算电路,其特征在于,所述近似乘法器由精确半加器、精确全加器、近似半加器、近似全加器和近似4:2压缩器组成,所述半加器、全加器、近似半加器、近似全加器和近似4:2压缩器分别处理所述部分积中不同bit位的数据。8.如权利要求7所述的存内计算电路,其特征在于,所述部分积的部分低bit数据由近似半加器和近似全加器处理。9.如权利要求7所述的存内计算电路,其特征在于,所述部分积的部分高bit数据由精确半加器和精确全加器处理。10.如权利要求9所述的存内计算电路,其特征在于,所述近似半加器、近似全加器和近似4:2压缩器均由多个碳基材料的nmos管和多个碳基材料的pmos管组成。
技术总结
本发明提供了一种存算单元及存内计算电路,包括:6T SRAM单元,用于存储数字域的权重数据;若干个或非门,每个所述或非门的第一输入端均连接所述6T SRAM单元的权重点,每个所述或非门的第二输入端分别接收数字域的输入数据,每个所述或非门的输出端输出该或非门接收的所述输入数据和所述权重数据的部分积。本发明可以在数字域内进行近似乘法计算,以使得计算电路具有高性能、低功耗和高鲁棒性的优势。势。势。
技术研发人员:孙亚男 李智 何卫锋 王琴 毛志刚
受保护的技术使用者:上海交通大学
技术研发日:2022.03.14
技术公布日:2023/9/22
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
航空商城 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/