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

技术领域

本发明涉及存内计算技术领域,特别是涉及一种电压裕度增强型电容耦合存算一体单元、子阵列及装置。

背景技术

深度神经网络(DNN)规模的空前增长导致了现代机器学习(ML)加速器中大量数据需要从片外存储器移动到片内处理核心。目前产业界正在探索在存储器阵列中计算(CIM)设计,以及外围混合信号电路,以减轻这种存储器壁瓶颈:包括存储器延迟和能量开销。静态随机存取存储器位单元与高性能逻辑晶体管和互连单片集成,可以实现定制的CIM设计。

传统单比特输入乘单比特权重的计算方式效率较低,计算吞吐量没有相对优势;权重存储使用DRAM 1T1C结构虽然可节省晶体管数量,但是DRAM自身的漏电需要刷新的特点本身需耗费很大功耗;在使用耦合电容进行充放电过程中,单端充放电时间长,不利于进行快速计算;另外在读位线上累加的乘累加计算电压量化范围小,不利于ADC量化,且存内计算功耗较大。

发明内容

本发明的目的是提供一种电压裕度增强型电容耦合存算一体单元、子阵列及装置,以优化计算过程和节省ADC量化时间。

为实现上述目的,本发明提供了一种电压裕度增强型电容耦合存算一体单元,所述单元包括:

6T-SRAM存储单元,用于读、写和存储权重值;

计算单元,与所述6T-SRAM存储单元连接,用于将输入数据与权重值进行乘法操作;

所述6T-SRAM存储单元的字线端与字线连接,所述6T-SRAM存储单元的位线端与位线连接,所述6T-SRAM存储单元的反位线端与反位线连接;

所述计算单元的输入线端与输入线连接,所述计算单元的列选线端与列选线连接;所述计算单元的读位线端与读位线连接;所述输入线用于传输输入数据;

所述计算单元包括:晶体管T7、晶体管T8、晶体管T9、晶体管T10、晶体管T11、晶体管T12以及耦合电容C;

晶体管T7的漏极、晶体管T10的源极、耦合电容C的另一端均与公共端VSS连接,晶体管T7的栅极、晶体管T8的栅极均与所述6T-SRAM存储单元上的Q点连接,晶体管T7的源极、晶体管T8的源极、晶体管T9的漏极和晶体管T10的漏极均与所述晶体管T11的源极连接,晶体管T9的栅极、晶体管T10的栅极均与所述6T-SRAM存储单元上的QB点连接,所述晶体管T11的栅极和所述晶体管T12的栅极均与列选线连接,所述晶体管T11的漏极与所述晶体管T12的漏极均与所述耦合电容C的一端连接。

可选地,所述6T-SRAM存储单元包括:

晶体管T1、晶体管T2、晶体管T3、晶体管T14、晶体管T5和晶体管T6;

晶体管T1的源极和晶体管T2的源极均与电源VDD连接,晶体管T1的栅极、晶体管T3的栅极、晶体管T2的漏极和晶体管T4的漏极均与Q点连接,晶体管T2的栅极、晶体管T4的栅极、晶体管T1的漏极和晶体管T3的漏极均与QB点连接,晶体管T3的源极和晶体管T4的源极均与公共端VSS连接,晶体管T5的栅极和晶体管T6的栅极均与字线连接,晶体管T5的漏极与QB点连接,晶体管T5的源极与位线连接,晶体管T6的源极与Q点连接,晶体管T6的漏极与反位线连接。

可选地,晶体管T3、晶体管T4、晶体管T5、晶体管T6、晶体管T8、晶体管T10和晶体管T11均为NMOS,晶体管T1、晶体管T2、晶体管T7、晶体管T9和晶体管T12均为PMOS。

可选地,当Q=0V,QB=VDD,此时权重值为0;当Q=VDD,QB=0V,此时权重值为+1;其中,VDD=1V;

当权重值为+1,输入数据为1时,则耦合电容C充电;当权重值为+1,输入数据为0时,则耦合电容C放电;当权重值为0,输入数据为1或0时,则耦合电容C放电;当列选线输入的列选信号为0V时,通过读位线将耦合电容C预充到0.5V;当列选线输入的列选信号为VDD,权重值为0时,耦合电容C放电。

本发明还提供一种电压裕度增强型电容耦合存算一体子阵列,所述子阵列包括:

K个上述单元;K为大于等于2的正整数;

各单元均与字线、位线、反位线、输入线和列选线连接,读位线与第一个存在计算单元内晶体管T12的源极连接,第一个存在计算单元内晶体管T12的源极连接,第k个存在计算单元内晶体管T12的漏极与第k+1个存在计算单元内晶体管T12的源极连接,其中,k为大于等于1且小于K的正整数。

本发明还提供一种电压裕度增强型电容耦合存算一体装置,所述装置包括:

第一输入模块、第二输入模块、第三输入模块和计算单元阵列;所述第一输入模块为字线译码及驱动模块;所述第二输入模块为列译码、位线驱动及预存模块;所述第三输入模块为输入译码及驱动模块;所述计算单元阵列包括M×N个阵列设置的上述所述的子阵列,其中,M为大于1的正整数,N为大于1的正整数;

所述第一输入模块的M个字线端分别与M根字线连接;

所述第二输入模块的N个列选线端分别与N根列选线连接,所述第二输入模块的位线端与位线连接,所述第二输入模块的反位线端与反位线连接;所述第二输入模块的N个读位线端分别与N根读位线连接;

所述第三输入模块的M个输入线端分别与M根输入线连接;

M×N个子阵列的位线端均与位线连接,M×N个子阵列的反位线端均与反位线连接,第j+1列的M个子阵列的列选端均与第j根列选线连接,第j+1列的M个子阵列的读位线端均与第j根读位线连接,第i+1行的N个子阵列的计算字线端均与第i根字线连接,第i+1行的N个子阵列的输入线端均与第i根输入线连接,其中,i为大于等于0且小于M的正整数,j为大于等于0且小于N的正整数。

可选地,所述装置还包括:

N个模拟数字转换器;第j+1个模拟数字转换器的一端输入参考电压,第j+1个模拟数字转换器的另一端与第j根读位线连接,第j+1个模拟数字转换器的输出端输出累加结果;所述累加结果为第j+1列的M个子阵列输出到第j根读位线上的数据进行累加获得的结果。

可选地,所述计算单元阵列包括:256×32个子阵列。

根据本发明提供的具体实施例,本发明公开了以下技术效果:

本发明公开的电压裕度增强型电容耦合存算一体单元在实现权重值为1,输入数据为1的乘法时,1×1=1,有两个通道对耦合电容进行充电,相比普通的只有单端充电的计算电路,若要将耦合电容充到额定电压值则只需要单端充电方式50%的充电时间,这样将很大程度上加速计算过程;若充电时间相同,则耦合电容两端的电压值则为单端充电方式的2倍,这样在ADC量化过程中读位线上的电压量化范围在理论上将会有2倍的提升。同样在放电过程中也是同理,在计算0×1=0,0×0=0,1×0=0,即放电时,放电通道也为两条,放电速度在理论上也是单端放电的两倍,加速了计算过程,进而降低实现存内计算的功耗。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本发明电压裕度增强型电容耦合存算一体单元结构图;

图2为本发明读位线预充电原理图;

图3为本发明耦合电容充电原理图;

图4为本发明耦合电容放电原理图一;

图5为本发明耦合电容放电原理图二;

图6为本发明电压裕度增强型电容耦合存算一体子阵列结构图;

图7为本发明均压原理图;

图8为本发明电压裕度增强型电容耦合存算一体装置结构图。

符号说明:

①、字线译码及驱动模块,②、列译码、位线驱动及预充模块,③、子阵列,④、输入译码及驱动模块,⑤、模拟数字转换器。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明的目的是提供一种电压裕度增强型电容耦合存算一体单元、子阵列及装置,以优化计算过程和节省ADC量化时间。

为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。

实施例1

如图1所示,本发明公开一种电压裕度增强型电容耦合存算一体单元,所述单元包括:6T-SRAM存储单元和计算单元;所述计算单元与所述6T-SRAM存储单元连接;所述6T-SRAM存储单元的字线端与字线连接,所述6T-SRAM存储单元的位线端与位线连接,所述6T-SRAM存储单元的反位线端与反位线连接;所述计算单元的输入线端与输入线连接,所述计算单元的列选线端与列选线连接;所述计算单元的读位线端与读位线连接;所述输入线用于传输输入数据;所述6T-SRAM存储单元用于读、写和存储权重值;所述计算单元用于将输入数据与权重值进行乘法操作。

所述计算单元包括:晶体管T7、晶体管T8、晶体管T9、晶体管T10、晶体管T11、晶体管T12以及耦合电容C;晶体管T7的漏极、晶体管T10的源极、耦合电容C的另一端均与公共端VSS连接,晶体管T7的栅极、晶体管T8的栅极均与所述6T-SRAM存储单元上的Q点连接,晶体管T7的源极、晶体管T8的源极、晶体管T9的漏极和晶体管T10的漏极均与所述晶体管T11的源极连接,晶体管T9的栅极、晶体管T10的栅极均与所述6T-SRAM存储单元上的QB点连接,所述晶体管T11的栅极和所述晶体管T12的栅极均与列选线连接,所述晶体管T11的漏极与所述晶体管T12的漏极均与所述耦合电容C的一端连接。

作为一种可选的实施方式,本发明所述6T-SRAM存储单元包括:晶体管T1、晶体管T2、晶体管T3、晶体管T14、晶体管T5和晶体管T6;晶体管T1的源极和晶体管T2的源极均与电源VDD连接,晶体管T1的栅极、晶体管T3的栅极、晶体管T2的漏极和晶体管T4的漏极均与Q点连接,晶体管T2的栅极、晶体管T4的栅极、晶体管T1的漏极和晶体管T3的漏极均与QB点连接,晶体管T3的源极和晶体管T4的源极均与公共端VSS连接,晶体管T5的栅极和晶体管T6的栅极均与字线连接,晶体管T5的漏极与QB点连接,晶体管T5的源极与位线连接,晶体管T6的源极与Q点连接,晶体管T6的漏极与反位线连接。本实施例中,晶体管T3、晶体管T4、晶体管T5、晶体管T6、晶体管T8、晶体管T10和晶体管T11均为NMOS,晶体管T1、晶体管T2、晶体管T7、晶体管T9和晶体管T12均为PMOS。

在图1中,晶体管T1-晶体管T6构成经典的6T-SRAM存储单元用于存储权重值。其中差分的权重值分别存储于Q点和QB点。字线连接至晶体管T5的栅极和晶体管T6的栅极,控制晶体管T5和晶体管T6的通断,位线及反位线分别连接晶体管T5的源漏和晶体管T6管的源漏,通过图8中列译码、位线驱动及预充模块将当前列的位线预充到高电平(即VDD),则位线反为低电平(即0V),通过字线译码及驱动模块将当前行字线置为高电平后,晶体管T5和晶体管T6导通,则位线将与QB点导通,QB点充为高电平,且经过晶体管T2和晶体管T4组成的反相器后,Q点值成为低电平,同时由于反位线为低电平,也加速了Q点的放电速度。这个过程完成了Q点高电平,QB点低电平的权重写入。

本发明晶体管T7、晶体管T8、晶体管T9和晶体管T10组成数据选择器MUX,Q点连接晶体管T7的栅极和晶体管T8的栅极,由Q点值决定其中哪个晶体管导通,晶体管T7的漏极接公共端VSS,晶体管T8的漏极接输入线,晶体管T9的源极接输入线,晶体管T10的源极接公共端VSS;列选信号分别接晶体管T11的栅极和晶体管T12的栅极,即若列选信号为高电平,晶体管T11导通,晶体管T12断开,若列选信号为低电平,晶体管T12导通,晶体管T11断开。

计算原理详见表1:

表1 计算原理操作表

如表1所示,由Q=1V,QB=0V表示权重为+1, Q=0V,QB=1V表示权重为0,输入数据为高电平表示+1,输入数据为低电平表示0;权重值与输入数据实现乘法即1×1=1,1×0=0,0×1=0,0×0=0;当权重值为+1,输入数据为1时,则耦合电容C充电;当权重值为+1,输入数据为0时,则耦合电容C放电;当权重值为0,输入数据为1或0时,则耦合电容C放电;当列选线输入的列选信号为0V时,通过读位线将耦合电容C预充到0.5V;当列选线输入的列选信号为VDD,权重值为0时,耦合电容C放电。因此具体电路的实现工作过程分为读位线预充电,耦合电容充电,耦合电容放电等步骤,下面将结合计算原理对各步骤具体论述:

(1)、读位线预充电:

如图2所示,在选中的当前列开始计算前,列选信号为低电平,晶体管T12导通,通过图8中的列译码、位线驱动及预充模块经由读位线,晶体管T12向耦合电容C预充电,将A点电压预充到0.5V。

(2)、耦合电容充电原理:

如图3所示,选中当前列,将列选线输入的列选信号置为高电平,晶体管T11导通,当输入数据为高电平(即1V时),且权重=1(表现为Q=1,QB=0)时,完成1×1=+1,在电路中体现为在晶体管T8和晶体管T9导通的情况下,输入数据通过导通的晶体管T8和晶体管T9向耦合电容C充电,则点A电压会随两个充电通道的充电而升高。

(3)、耦合电容放电原理一:

如图4所示,选中当前列,将列选线输入的列选信号置为高电平,晶体管T11导通,当输入数据为低电平(即0V时),且权重=1(表现为Q=1,QB=0)时,完成0×1=0,在电路中体现为在晶体管T8和晶体管T9导通的情况下,由于输入数据为低电平,耦合电容C的A端电压将被输入的低电平通过导通的晶体管T8和晶体管T9拉低,在电路中表现为放电。

(4)、耦合电容放电原理二:

如图5所示,选中当前列,将列选线输入的列选信号置为高电平,晶体管T11导通,当权重值=0(表现为Q=0,QB=1)时,晶体管T8为截止断开状态,晶体管T7为导通状态,晶体管T9为截止断开状态,晶体管T10为导通状态,由于与输入相接的晶体管T8和晶体管T9均断开,输入无论为0或是1均无法向耦合电容C进行充电;由于晶体管T7和晶体管T10均导通且连接至公共端VSS,耦合电容C将通过晶体管T7和晶体管T10两条通路向公共端VSS放电,这种放电状态简化了无效的乘累加计算,因为任何输入数据与为权重值0相乘均为0。图2-图5中黑体实线表示电路中导通路段,灰体实线为电路中非导通路段。

实施例2

如图6所示,本发明公开一种电压裕度增强型电容耦合存算一体子阵列,所述子阵列包括:K个实施例1所述的单元;K为大于等于2的正整数;各单元均与字线、位线、反位线、输入线和列选线连接,读位线与第一个存在计算单元内晶体管T12的源极连接,第一个存在计算单元内晶体管T12的源极连接,第k个存在计算单元内晶体管T12的漏极与第k+1个存在计算单元内晶体管T12的源极连接,其中,k为大于等于1且小于K的正整数。本实施例中K取4。

均压原理:如图7所示,在计算完输入数据乘权重值后,计算结果在子阵列中各自表现为耦合电容两端的电压,将所乘得的结果累加可通过均压来完成。当列选信号置低时,即在子阵列中与列选信号相连的PMOS导通,将耦合电容两端的电压均压结果连接到读位线,读位线连接至模拟数字转换器(ADC)将乘累加结果进行数字化。图7中黑体实线表示电路中导通路段,灰体实线为电路中非导通路段。

实施例3

如图8所示,本发明还公开一种电压裕度增强型电容耦合存算一体装置,所述装置包括:第一输入模块、第二输入模块、第三输入模块和计算单元阵列;所述第一输入模块为字线译码及驱动模块①;所述第二输入模块为列译码、位线驱动及预存模块②;所述第三输入模块为输入译码及驱动模块④;所述计算单元阵列包括M×N个阵列设置的实施例2所述的子阵列③,其中,M为大于1的正整数,N为大于1的正整数。

所述第一输入模块的M个字线端分别与M根字线连接;所述第二输入模块的N个列选线端分别与N根列选线连接,所述第二输入模块的位线端与位线连接,所述第二输入模块的反位线端与反位线连接;所述第二输入模块的N个读位线端分别与N根读位线连接;所述第三输入模块的M个输入线端分别与M根输入线连接。

M×N个子阵列的位线端均与位线连接,M×N个子阵列的反位线端均与反位线连接,第j+1列的M个子阵列的列选端均与第j根列选线连接,第j+1列的M个子阵列的读位线端均与第j根读位线连接,第i+1行的N个子阵列的计算字线端均与第i根字线连接,第i+1行的N个子阵列的输入线端均与第i根输入线连接,其中,i为大于等于0且小于M的正整数,j为大于等于0且小于N的正整数。

作为一种可选的实施方式,本发明所述装置还包括:N个模拟数字转换器⑤;第j+1个模拟数字转换器的一端输入参考电压,第j+1个模拟数字转换器的另一端与第j根读位线连接,第j+1个模拟数字转换器的输出端输出累加结果;所述累加结果为第j+1列的M个子阵列输出到第j根读位线上的数据进行累加获得的结果。本实施例中,所述计算单元阵列包括:256×32个子阵列,即M为256,N为32。

如图8所示,第0根字线为图8中的字线[0],以后以此类推;第欧根输入线为图8中的输入线[0],以后以此类推;第0根列选线为图8中的列选线[0],以后以此类推;第0根读位线为图8中的读位线[0],以后以此类推;第一个模拟数字转换器为图8中的Q[0],以后以此类推。

本发明公开的电压裕度增强型电容耦合存算一体单元具有以下优点:

1、本发明公开的电压裕度增强型电容耦合存算一体单元中存储部分采用经典6T-SRAM存储单元做权重值存储,相比DRAM 1T1C的存储权重方法,权重值无泄漏且不需要周期刷新以保持权重,在功耗方面有极大的节省。且为权重值连接至晶体管的栅极,所以在计算过程中对权重值并无读写干扰。

2、本发明公开的电压裕度增强型电容耦合存算一体单元中运算部分,简化了75%乘累加运算量,传统存内计算实现乘法组合有四种,即1×1=1,1×0=0,0×1=0,0×0=0,而本发明中,只有在权重值和输入数据均为1时,计算结果才对耦合电容两端的电压升高有贡献,即1×1=1;而对于输入数据为0,0×1=0,或者权重值为0,1×0=0,0×0=0,对耦合电容C两端电压均无有效贡献的计算则可减少对读位线电压的均压时间,此举无论是在功耗还是计算速度都有很大的提升。

3、本发明公开的存内计算基本单元计算电路在实现权重值为1,输入数据为1的乘法时,1×1=1,有两个通道对耦合电容C进行充电,相比普通的只有单端充电的计算电路,若要将耦合电容C充到额定电压值则只需要单端充电方式50%的充电时间,这样将很大程度上加速计算过程;若充电时间相同,则耦合电容C两端的电压值则为单端充电方式的2倍,这样在ADC量化过程中读位线上的电压量化范围在理论上将会有2倍的提升。同样在放电过程中也是同理,在计算0×1=0,0×0=0,1×0=0,即放电时,放电通道也为两条,放电速度在理论上也是单端放电的两倍,加速了计算过程。

4、本发明公开的基于SRAM的易量化多比特权重实现的存内计算电路结构,可实现单周期内单比特输入数据与四比特权重值相乘,且将乘累加结果在读位线上通过电压积累。且在计算过程中仅对有效计算结果进行累加,优化了计算过程和节省了ADC量化时间,在一定程度上降低了实现存内计算的功耗。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。

本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。

相关技术
  • 电压裕度增强型电容耦合存算一体单元、子阵列及装置
  • 电压裕度增强型电容耦合存算一体单元、子阵列及装置
技术分类

06120113211225