有效
一种基于波兹编码方案的数字域存内计算电路及方法
司鑫、张兆阳、刘斐然、高寅海、郭安、王博、蒲星宇、何圣楠
东南大学
摘要
本发明是一种基于波兹编码方案的数字域存内计算电路及方法,该电路由多个存算单元在列上重复排列构成,每个存算单元包括4个SRAM存储单元阵列、4个波兹乘法单元阵列、4个多通道加法树单元、1个外部移位加法单元,在列上重复排列的多个存算单元共用1个波兹编码输入单元。SRAM存储单元阵列用于存储计算时需要的权重数据。波兹编码输入单元对外部输入进行波兹编码,波兹乘法单元进行乘操作,多通道加法树单元对多个波兹乘法结果累加,外部移位加法单元对于4个加法树的输出进行移位相加,组合输出多位计算结果。本发明受工艺、电压、温度影响小,计算的速度和准确度高;突破了数字域存内计算周期多的瓶颈,提升吞吐率,实现全精度计算。
1.一种基于波兹编码方案的数字域存内计算电路,其特征在于:该电路包括全局字线驱动模块、读写端口、时序控制、存算控制、波兹编码输入单元、外部移位加法单元以及由8个在列上重复排列的存算单元构成;每一个存算单元包括包括4个SRAM存储单元阵列、4个波兹乘法单元阵列、4个多通道加法树单元、1个外部移位加法单元,在列上重复排列的多个存算单元共用1个波兹编码输入单元。
2.根据权利要求1所述的一种基于波兹编码方案的数字域存内计算电路,其特征在于,所述SRAM存储单元阵列包括多个分裂字线SRAM存储单元、局部位线(LBL)、互补局部位线(LBLB)、全局位线(GBL)、互补全局位线(GBLB),横向字线(HWL)、字线(WL)、读字线(RWL)、第一NMOS管(N1),第二NMOS管(N2),第一PMOS管(P1),第二PMOS管(P2);所述SRAM存储单元的数据存储节点均与局部位线(LBL)相连,所述SRAM存储单元的互补数据存储节点均与互补局部位线(LBLB)相连;第一NMOS管(N1)源极连接全局位线(GBL),漏极连接局部位线(LBL),栅极连接横向字线(HWL);第二NMOS管(N2)源极连接互补全局位线(GBLB),漏极连接互补局部位线(LBLB),栅极连接横向字线(HWL)。
3.根据权利要求1所述的一种基于波兹编码方案的数字域存内计算电路,其特征在于,所述波兹乘法单元阵列包括多个波兹乘法单元波兹编码输入单元的移位互补(SHIFTB)、置零ZERO、取反结果作为五个输入控制线,同时输入到多个波兹乘法单元;一个波兹乘法单元包括第三NMOS管(N3),第四NMOS管(N4),第五NMOS管(N5),第六NMOS管(N6),第七NMOS管(N7),第八NMOS管(N8),第九NMOS管(N9),第十NMOS管(N10),第十一NMOS管(N11),第十二NMOS管(N12),第一反相器(INV1),第二反相器(INV2),移位单元包括第一传输门(TG1),第二传输门(TG2),第三传输门(TG3),第四传输门(TG4);其中,第三NMOS管(N3)的源极接局部位线(LBL),漏极接全局位线(GBL),栅极接横向字线(HWL);第四NMOS管(N4)的源极接互补局部位线(LBLB),漏极接互补全局位线(GBLB),栅极接横向字线(HWL);第五NMOS管(N5)的源极接局部位线(LBL),栅极接全局位线(GBL),漏极分别与第六NMOS管(N6)的漏极、第九NMOS管(N9)的漏极、第一传输门(TG1)输入端和第三传输门(TG3)输入端连接;第六NMOS管(N6)的源极接第一反相器(INV1)输出端,栅极接互补全局位线(GBLB);第七NMOS管(N7)的源极接互补局部位线(LBLB),栅极接全局位线(GBL),漏极分别与第八NMOS管(N8)的漏极、第十NMOS管(N10)的漏极、第二传输门(TG2)输入端和第四传输门(TG4)输入端连接;第八NMOS管(N8)的源极接第二反相器(INV2)输出端,栅极接互补全局位线(GBLB);第九NMOS管(N9)的源极接地(VSSm),栅极接置零(ZERO);第十NMOS管(N10)的源极接地(VSSm),栅极接置零(ZERO);第十一NMOS管(N11)的源极接地(VSSm),漏极接部分积[2:0]的最高位(PP2),栅极接移位互补(SHIFTB);第十二NMOS管(N12)的源极接地(VSSm),漏极接部分积[2:0]的最低位(PP0),栅极接移位(SHIFT);第一反相器(INV1)的输入端接局部位线(LBL);第二反相器(INV2)的输入端接互补局部位线(LBLB),输出端接第八NMOS管(N8)源极;第一传输门(TG1)的输出端接部分积[2:0]的最高位(PP2),控制端接移位(SHIFT),互补控制端接移位互补(SHIFTB);第二传输门(TG2)的输出端接部分积[2:0]的中间位(PP1),控制端接移位(SHIFT),互补控制端接移位互补(SHIFTB);第三传输门(TG3)的输出端接部分积[2:0]的中间位(PP1),控制端接移位互补(SHIFTB),互补控制端接移位(SHIFT);第四传输门(TG4)的输出端接部分积[2:0]的最低位(PP0),控制端接移位互补(SHIFTB),互补控制端接移位(SHIFT)。
4.根据权利要求1所述的一种基于波兹编码方案的数字域存内计算电路,其特征在于,所述多通道加法树单元包括7级加法器,实现128个3bit数据相加;第一级加法器输入128个3位输入数据PP[2:0]实现3位数据的加法,得到64个第一级加法器4位输出数据PP[3:0];第二级加法器输入64个4位数据PP[3:0]实现4位数据间的加法,得到32个第二级加法器的5位输出数据PP[4:0],以此类推,最终得到一个10位数据输出PP[9:0]。
5.根据权利要求1所述的一种基于波兹编码方案的数字域存内计算电路,其特征在于,所述外部移位加法单元包括两级移位相加结构,将每个存算单元的4个加法树输出结果进行移位相加,最终得到一个18比特数据输出计算结果,其表征为128通道的3bit输入与8bit权重乘法相加的结果。
6.根据权利要求1所述的一种基于波兹编码方案的数字域存内计算电路,其特征在于,所述波兹编码输入单元阵列包括多个波兹编码输入单元,每个波兹编码输入单元将输入的3位特征数据INPUT[2:0]、波兹编码为5位特征数据,包括移位互补SHIFT(B)、取反RESERVE(B)、置零ZERO,并驱动到存算单元。
7.根据权利要求1所述的一种基于波兹编码方案的数字域存内计算电路,其特征在于,所述波兹乘法单元阵列中每级波兹乘法单元对应1个波兹编码输入单元;128个波兹乘法单元与多通道加法树单元的连接关系为,每个波兹乘法单元的部分积PP0、PP1、PP2信号分别连接多通道加法树单元的3位输入数据PP0、PP1、PP2;第2n个波兹乘法单元的3位输入数据PP0、PP1、PP2信号与第2n+1个波兹乘法单元的3位输入数据PP0、PP1、PP2信号相加得到新的4位输出数据PP0、PP1、PP2、PP3,n=0,1,…,63。
8.一种如权利要求1-7任一所述的基于波兹编码方案的数字域存内计算电路的计算方法,其特征在于,当存算单元的计算周期开始时,首先将横向字线HWL置于低电平,同时打开字线WL<2m>和读字线RWL<2m+1>,存储在分裂字线SRAM存储单元中的高低位数据分别读取到局部字线LBL和互补局部位线LBLB上,波兹编码信号移位SHIFTB、取反、置零ZERO从波兹编码输入单元输入至存算单元中的波兹乘法模块,输出PP0、PP1、PP2,一共3bit的波兹乘法结果,横向按行排列的128个PP0、PP1、PP2输入至多通道加法树单元,其输出结果反映了128个存算单元的累加和。
9.根据权利要求8所述的基于波兹编码方案的数字域存内计算电路的计算方法,其特征在于,所述存内计算电路的每个波兹乘法单元能够计算2bit权重乘3bit输入信号,每个存算单元包括1个波兹编码输入单元;存算电路输出信号为外部移位加法单元的Pout<n>的数字域结果。




