一种分布式位线补偿数模混合存内计算阵列的制作方法

文档序号:30179146发布日期:2022-05-26 12:45阅读:150来源:国知局
一种分布式位线补偿数模混合存内计算阵列的制作方法

1.本发明涉及存内计算技术领域,特别是涉及一种分布式位线补偿数模混合存内计算阵列。


背景技术:

2.近年来,人工智能(ai)对高能效计算系统的需求日益增长,包括边缘智能及其应用,冯诺依曼体系结构广泛用于支持使用处理单元(pes)、控制单元和内存的各种任务。自从人工智能系统和深度神经网络(dnn)出现以来,冯诺依曼架构一直在努力适应dnn。人工智能系统中的dnn需要大量的并行乘积(mac)操作。在mac操作过程中,处理单元(pe)和内存之间不可避免地要进行大量权重和中间输出的数据传输,这会导致不可避免的功耗和延迟,从而限制了某些ai应用,如电池供电的边缘设备。因此,出现了内存计算(cim)体系结构,通过在模内存储器的位行(bl)上并发访问多个单元来执行节能的并行mac操作。这大大减少了生成的中间数据量,并促进了高度并行计算。
3.传统单比特输入乘单比特权重的计算方式效率较低,单个计算单元耗费的晶体管数量较多,且由于权重连接至计算管的源漏极会导致计算过程中位线电压摆幅过大时对权重值进行干扰;不仅如此,在同一列含有多个计算单元进行计算时,若有效计算单元数量过大时,耦合电容电压的上升与有效计算单元数量呈非线性关系,这会导致计算结果无法精准被量化;其次,传统的大阵列存算单元排布方式会引起字线和位线的负载过大,这样会导致字线上的脉冲信号发生明显衰减,若衰减后字线脉宽变窄后,有效计算单元对耦合电容的充电时间就会变短,这也会影响计算结果的精度。


技术实现要素:

4.有鉴于此,本发明提供了一种分布式位线补偿数模混合存内计算阵列,计采用8t计算单元,相对节省了晶体管数量,且在计算乘法阶段由于计算逻辑与权重存储单元解耦合消除了读写干扰;同时本设计提出的电流镜补偿器修正了多个计算单元的充电与累计电压非线性的问题。
5.为实现上述目的,本发明提供了如下方案:一种分布式位线补偿数模混合存内计算阵列,包括:存内计算模块、输出模块、主控模块和输入驱动模块;所述主控模块分别与所述输出模块和所述输入驱动模块连接;所述存内计算模块包括4簇存内计算子模块,每簇所述存内计算子模块均包括4组存内计算单元;每组所述存内计算单元包括32行
×
8列个阵列分布的存储计算电路;每行所述存储计算电路并联连接后与所述输入驱动模块连接;每列所述存储计算电路串联连接,且每列所述存储计算电路均串联一个电流镜补偿器,每列所述存储计算电路通过一个耦合电容与所述输出模块连接。
6.优选地,所述存储计算电路包括6t-sram、第一三极管和第二三极管;所述第一三极管和所述第二三极管组成计算电路;所述6t-sram对权重值进行存储;所述第一三极管的栅极与所述输入驱动模块连接,所述第一三极管的源极接电源线,所述第一三极管的漏极与所述第二三极管的漏极连接;所述第二三极管的栅极与所述6t-sram连接,所述第二三极管的源极分别与所述耦合电容和所述电流镜补偿器连接。
7.优选地,所述6t-sram包括第三三极管、第四三极管、第一非门和第二非门;所述第三三极管的栅极和所述第四三极管的栅极均与字线wl连接;所述第三三极管的源极与位线bl连接,所述第四三极管的漏极与位线blb连接;所述第三三极管的漏极、所述第一非门的第一端和所述第二非门的第二端之间相连接;所述第一非门的第二端、所述第二非门的第一端和所述第四三极管的源极均与所述第二三极管的栅极连接。
8.优选地,所述电流镜补偿器包括第五三极管、第六三极管、第七三极管和第八三极管;所述第五三极管的源极和所述第八三极管的源极均与电源线连接;所述第五三极管的栅极、所述第八三极管的栅极、所述第六三极管的漏极和所述第五三极管的漏极之间相连接;所述第六三极管的源极与所述第七三极管的漏极连接;所述第六三极管的栅极与所述第八三极管的漏极通过读位线rbl分别与所述耦合电容和所述第二三极管的源极连接;所述第七三极管的源极接地,所述第七三极管的的栅极用于输入反信号。
9.优选地,所述第一三极管、所述第五三极管和所述第八三极管均为pmos管,所述第二三极管、所述第三三极管、所述第四三极管、所述第六三极管和所述第七三极管均为nmos管。
10.优选地,4簇所述存内计算子模块和4组所述存内计算单元均为分布式结构。
11.根据本发明提供的具体实施例,本发明公开了以下技术效果:本发明涉及一种分布式位线补偿数模混合存内计算阵列,包括:存内计算模块、输出模块、主控模块和输入驱动模块;所述主控模块分别与所述输出模块和所述输入驱动模块连接;所述存内计算模块包括4簇存内计算子模块,每簇所述存内计算子模块均包括4组存内计算单元;每组所述存内计算单元包括32行
×
8列个阵列分布的存储计算电路;每行所述存储计算电路并联连接后与所述输入驱动模块连接;每列所述存储计算电路串联连接,且每列所述存储计算电路均串联一个电流镜补偿器,每列所述存储计算电路通过一个耦合电容与所述输出模块连接。
12.本发明存内计算单元采用8t结构,所用的管子数目较少,可以在一定程度上节省面积,在计算过程之中避免了权重的干扰。
13.本发明电流镜补偿器可以改善同一列多个计算电路累加时对耦合电容充电非线性的问题,利于提升计算精度。
14.本发明采用分布式设计,而非传统的大阵列模式,从而字线驱动负载较小,无论是权重写入还是计算时,输入信号脉冲的衰减现象会比较小,保证了信号输入的稳定性。
附图说明
15.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
16.图1为本发明分布式位线补偿数模混合存内计算阵列结构图;图2为本发明存内计算单元电路图;图3为本发明计算原理图;图4为本发明第一种耦合电容无电荷贡献的示意图;图5为本发明电流镜补偿器电路图;图6为本发明存内计算子模块多片叠加结构示意图;图7为本发明第二种耦合电容无电荷贡献的示意图。
17.符号说明:1-存内计算模块,2-输出模块,3-主控模块,4-输入驱动模块,11-存内计算子模块,111-存内计算单元。
具体实施方式
18.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
19.本发明的目的是提供一种分布式位线补偿数模混合存内计算阵列,计采用8t计算单元,相对节省了晶体管数量,且在计算乘法阶段由于计算逻辑与权重存储单元解耦合消除了读写干扰;同时本设计提出的电流镜补偿器修正了多个计算单元的充电与累计电压非线性的问题。
20.为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
21.图1为本发明分布式位线补偿数模混合存内计算阵列结构图。如图1所示,本发明提供了一种分布式位线补偿数模混合存内计算阵列,包括:存内计算模块1、输出模块2、主控模块3和输入驱动模块4。
22.其中,所述主控模块3分别与所述输出模块2和所述输入驱动模块4连接。
23.所述存内计算模块1包括4簇存内计算子模块11,每簇所述存内计算子模块11均包括4组存内计算单元111。4簇所述存内计算子模块11采用分布式设计,4组所述存内计算单元111分别定义为group1、group2、group3和group4,4组所述存内计算单元111采用多片叠加结构,如图6所示。
24.如图2所示,每组所述存内计算单元111均包括32行
×
8列个阵列分布的存储计算电路。每行所述存储计算电路并联连接后与所述输入驱动模块4连接。
25.每列所述存储计算电路串联连接,且每列所述存储计算电路均串联一个电流镜补偿器,每列所述存储计算电路通过一个耦合电容c与所述输出模块2连接。
26.具体地,所述存储计算电路包括6t-sram、第一三极管p1和第二三极管n1。
27.所述6t-sram包括第三三极管n2、第四三极管n3、第一非门和第二非门。
28.如图5所示,所述电流镜补偿器包括第五三极管p2、第六三极管n4、第七三极管n5和第八三极管p3。
29.本实施例中,所述第一三极管p1、所述第五三极管p2和所述第八三极管p3均为pmos管,所述第二三极管n1、所述第三三极管n2、所述第四三极管n3、所述第六三极管n4和所述第七三极管n5均为nmos管。
30.所述第一三极管p1和所述第二三极管n1组成计算电路;所述6t-sram对权重值进行存储。
31.所述第一三极管p1的栅极与所述输入驱动模块4连接,所述输入驱动模块4输入in至所述第一三极管p1的栅极,所述第一三极管p1的源极接电源线vdd,所述第一三极管p1的漏极与所述第二三极管n1的漏极连接。
32.所述第二三极管n1的栅极与所述6t-sram连接,所述第二三极管n1的源极分别与所述耦合电容c和所述电流镜补偿器连接。
33.所述第三三极管n2的栅极和所述第四三极管n3的栅极均与字线wl连接。
34.所述第三三极管n2的源极与位线bl连接,所述第四三极管n3的漏极与位线blb连接。
35.所述第三三极管n2的漏极、所述第一非门的第一端和所述第二非门的第二端之间相连接。
36.所述第一非门的第二端、所述第二非门的第一端和所述第四三极管n3的源极均与所述第二三极管n1的栅极连接。
37.所述第五三极管p2的源极和所述第八三极管p3的源极均与电源线vdd连接。
38.所述第五三极管p2的栅极、所述第八三极管p3的栅极、所述第六三极管n4的漏极和所述第五三极管p2的漏极之间相连接。
39.所述第六三极管n4的源极与所述第七三极管n5的漏极连接。
40.所述第六三极管n4的栅极与所述第八三极管p3的漏极通过读位线rbl分别与所述耦合电容c和所述第二三极管n1的源极连接。
41.所述第七三极管n5的源极通过公共接地线vss接地,所述第七三极管n5的的栅极用于输入in的反信号inb。
42.图3中耦合电容c的下端接输出模块2,此处为显示方便就显示为接vss,若q点为低电平(q=l)表示权重为0(weight=0);若q点为高电平(q=h)表示权重为1(weight=1)。因为与输入驱动模块4相接的第一三极管p1为pmos管,故输入为高电平时表示输入in=0,计算电路不导通;输入为低电平时表示输入in=1,计算电路导通。当权重weight=1,且输入in=1时,电源线vdd通过第一三极管p1和第二三极管n1由读位线rbl向耦合电容c充电,在耦合电容c上有δv电压的上升,完成1x1=1的计算。
43.图4和图7均为耦合电容无电荷贡献的示意图,其中图4表示权重weight=0与输入input=l相乘,由于权重连接的是第二三极管n1的栅极,而第二三极管n1为nmos管,当q=0
时,第二三极管n1不导通,所以电源vdd无法向耦合电容c充电,表示完成了1x0=0计算;同样的,如图7所示,当权重weight=1,输入input=h时,input连接第一三极管p1的栅极,而第一三极管p1为pmos管,故第一三极管p1不导通,电源vdd也无法完成对耦合电容c的充电,表示完成0x1=0计算。
44.当一列32个存储计算电路在同时进行计算时,按照理论值,耦合电容c上的累计电压应该是随着有效计算(1x1=1)的个数呈线性增加,但经过实验发现并非如此。实验表明,在有效计算个数递增时,对耦合电容c的电荷贡献度在逐渐下降,以至于当同一列中有效计算个数多至2/3时,对耦合电容c的电荷贡献微乎其微。如果要达到精确计算的目的,这种非线性现象需要极力避免,所以本发明通过增设电流镜补偿器来补偿读位线rbl上电压无法随有效计算个数非线性递增的现象。
45.当同一列有效计算个数增多,但耦合电容c上累加电压并非成线性增长时,读位线rbl上累计的电压值已经达到第五三极管p2的阈值电压,所以vdd通过第八三极管p3产生镜像电流补充读位线rbl上的电流,以达到补充非线性的效果。
46.本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
47.本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1