子单元、MAC阵列、位宽可重构的模数混合存内计算模组制造技术

技术编号:24945246 阅读:32 留言:0更新日期:2020-07-17 22:40
本发明专利技术涉及一种模数混合存内计算的子单元,用于1位乘法计算,仅需要9个晶体管,在此基础上,提出多个子单元共用计算电容器、晶体管以组成1个计算单元,使得平均下来子单元的晶体管数量逼近8个,进而提出一种MAC阵列,用于乘加计算,包含多个计算单元,每个单元内的子单元以时分复用的方式被激活。进一步地,提出MAC阵列的差分体系,提高计算的容错能力。进一步地,提出一种用于内存内模数混合运算模组,对MAC阵列的并行模拟输出数字化并进行其它数字域的运算。所述运算模组中的模数转换模块充分利用MAC阵列的电容器,既能减少运算模组的面积,又能降低运算误差。进一步地,提出一种充分利用数据稀疏性来节省模数转换模块能耗的方法。

【技术实现步骤摘要】
子单元、MAC阵列、位宽可重构的模数混合存内计算模组
本专利技术涉及一种模数混合存内计算领域,并且更具体地,涉及一种子单元、MAC阵列、位宽可重构的模数混合存内计算模组。
技术介绍
目前,现有移动和物联网之类的新兴边缘应用要求高能效和高单位面积的运算速率。高能效意味着更长的电池寿命,而高单位面积的运算速率意味着在指定的运算速率下减小面积,进而降低成本。如今,深度神经网络(DeepNeuralNetwork,DNN)中的前馈推理计算以乘法累加(Multiply-And-Accumulate,MAC)计算为主导,需要MAC计算的高能效和低面积的实现,同时减少待处理数据的搬运量。传统数字集成电路实现MAC有抗噪声能力强、精度高、扩展性好、设计方法成熟等优点,但是数字电路占用的芯片面积大、功耗大,难以实现高能效的大规模神经网络。并且传统数字电路采用的冯诺依曼结构带来的存储器和中央运算单元之间的数据交换瓶颈在DNN应用中的大规模数据搬运下会严重限制运算能效和运算速度。模拟电路实现MAC具有结构简单、功耗较低的优点,所以模拟和模数混合信号计算具有实现高能效的潜力。而为了打破冯诺依曼架构的瓶颈,近年来成为研究热点的存内计算从本质上无法以纯数字电路的形式实现,需要模拟电路的辅助。同时由于DNN对包括电路噪声造成的计算错误的承受能力较高,DNN专用集成电路(ASIC)正重新引起关注。论文“Amixed-signalbinarizedconvolutional-neural-networkacceleratorintegratingdenseweightstorageandmultiplicationforreduceddatamovement”,DOI:10.1109/VLSIC.2018.8502421(以下称“论文1”)和论文“AMicroprocessorimplementedin65nmCMOSwithconfigurableandbit-scalableacceleratorforprogrammablein-memorycomputing”,arXiv:1811.04047(以下称“论文2”),阐述1位MAC计算的乘法阶段是等效于1位权重和1位输入进行同或(XNOR)运算,把XNOR运算结果以电压的形式存储到电容器,加法阶段是利用电荷共享,每个电容器的电荷相同但所有电容器的总电荷不变,得出1位MAC计算结果。上述1位MAC计算的每个1位计算单元都有10个晶体管。论文1和论文2的现有技术存在的问题为:(1)对于每个加法操作,将无条件驱动每个计算单元中的传输门,而无法利用输入数据的稀疏性达到节省能耗的目的;(2)每一个进行1位乘法的运算单元配置一个独立电容器,逐次逼近型(SuccessiveApproximation,SAR)模拟数字转换器(AnalogtoDigitalConverter,ADC)的金属氧化物金属(MetalOxideMetal,MOM)电容器位于静态随机存储器(StaticRandomAccessMemory,SRAM)计算阵列之外,因为该阵列内部没有空间,从而降低了面积效率;(3)利用电荷共享的加法阶段需要连接存储XNOR运算结果的电容器的顶板。这种电路拓扑使加法容易受到非理想效应的影响,例如电荷注入,时钟馈通,传输门晶体管的漏极/源极处的非线性寄生电容,以及连接到电容器顶板的晶体管的漏电等,从而导致计算错误。此外,因为物理版图的不匹配而带来的运算电容器与ADC中的数模转换器里的电容器之间的不匹配也会导致计算错误。论文“Analways-on3.8μJ/86%CIFAR-10mixed-signalbinaryCNNprocessorwithallmemoryonchipin28nmCMOS”,DOI:10.1109/ISSCC.2018.8310264(以下称“论文3”)提出一种仅支持二进制化的权重和激活值的二值神经网络(BNN)的运算模组。论文3中的运算模组的不足为:(1)该架构只支持BNN,无法用于视觉应用的大型DNN模型,例如对象检测等,适用范围小;(2)1位MAC计算的乘法阶段至少需要一个或(OR)门,两个同或(XNOR)门,两个异或(NOR)门和一个锁存器,使用的晶体管数量多,面积占用大。论文“Conv-RAM:anenergy-efficientSRAMwithembeddedconvolutioncomputationforlow-powerCNN-basedmachinelearningapplications”,DOI:10.1109/ISSCC.2018.8310397(以下称“论文4”)提出一种具有嵌入式卷积计算功能的节能SRAM。论文4中的SRAM的不足有:(1)每个1位计算SRAM单元具有10个晶体管。每个单元中的晶体管数越高,存储密度越小;(2)利用位线上的寄生电容存储电荷,以用于随后的平均操作。与如MOM电容器之类的显式电容器相比,位线寄生电容的建模不充分,并且可能遭受更大的失配,导致较低的计算精度;(3)论文内所使用的水平电荷平均方法需要6个额外的晶体管,这些晶体管在几行单元之间共享,限制了吞吐量,因为并非所有行都可以同时执行计算;(4)差分电荷平均线VpAVG和VnAVG上的共模电压取决于输入数据Xin的大小,在通过局部MAV电路评估平均值后,此共模电压是不稳定的。因此差分结构的高效率高速ADC,例如SARADC并不适用。文章的方案采用了最大占用2N-1(N是ADC分辨率)次步骤进行收敛的基于斜坡的ADC,降低了模数转换的速度,导致了较低的计算吞吐量;(5)阵列的输入使用额外的DAC电路将输入数据Xin(通常是特征图)从数字表示转换为模拟表示,DAC电路的非理想特性会导致更多的精度损失以及面积和能量的开销。综上所述,在神经网络计算过程中,现有技术中的MAC阵列中进行1位乘法的计算单元使用的晶体管多;存储乘法结果用于累加的电容器与存储单元一一对应,即存储单元的个数与电容器的数量相同,而电容一般会比SRAM单元大很多,特别是在先进工艺制程下,会导致MAC阵列占用面积大;同时存在乘加运算中晶体管的无条件驱动,导致运算能效不高;另外,计算错误率高导致适用场景有限等。因此,在模数混合存内计算领域,亟需一种面积小、能效高、容错能力好的位宽可重构的模数混合存内计算的运算模组。
技术实现思路
有鉴于此,本专利技术提供一种子单元、MAC阵列、位宽可重构的模数混合存内计算模组。为减小计算误差,还提供了差分体系的MAC阵列的实现。为达到上述目的,本专利技术采用如下技术方案:第一方面,提供了一种内存内计算子单元,进行1位乘法计算,包括:一个传统6TSRAM单元、一个互补传输门、一个第一N型MOS管、一个计算电容器;所述传统6TSRAM单元由MOS管M1、M2、M3、M4、M5、M6组成,其中MOS管M1、M2组成的CMOS反相器与MOS管M3、M4组成CMOS反相器交叉耦合,所述交叉耦合的两个CMOS反相器存储1位的过滤器参数,M5、M6为用于所述过滤器参数读写本文档来自技高网
...

【技术保护点】
1.一种内存内模数混合计算子单元,进行1位乘法计算,其特征在于,包括:一个传统6TSRAM单元、一个互补传输门、一个第一N型MOS管、一个计算电容器;/n所述传统6T SRAM单元由MOS管M1、M2、M3、M4、M5、M6组成,其中MOS管M1、M2组成的CMOS反相器与MOS管M3、M4组成CMOS反相器交叉耦合,所述交叉耦合的两个CMOS反相器存储1位的过滤器参数,M5、M6为用于所述过滤器参数读写的位线的控制开关;/n所述传统6T SRAM单元中M1、M2组成的CMOS反相器输出端连接互补传输门的输入端,互补传输门的输出端连接第一N型MOS管漏极;/n所述第一N型MOS管源极接地,漏极连接计算电容器的底板;/n所述互补传输门的N型MOS管栅极连接输入信号,P型MOS管栅极连接互补输入信号且与第一N型MOS管栅极输入信号在运算时电平相同;/n所述输入信号与过滤器参数的乘法结果存储为计算电容器底板的电压,多个子单元用于组成一个计算单元,同一所述计算单元内的每一个子单元共用同一所述第一N型MOS管、计算电容器。/n

【技术特征摘要】
1.一种内存内模数混合计算子单元,进行1位乘法计算,其特征在于,包括:一个传统6TSRAM单元、一个互补传输门、一个第一N型MOS管、一个计算电容器;
所述传统6TSRAM单元由MOS管M1、M2、M3、M4、M5、M6组成,其中MOS管M1、M2组成的CMOS反相器与MOS管M3、M4组成CMOS反相器交叉耦合,所述交叉耦合的两个CMOS反相器存储1位的过滤器参数,M5、M6为用于所述过滤器参数读写的位线的控制开关;
所述传统6TSRAM单元中M1、M2组成的CMOS反相器输出端连接互补传输门的输入端,互补传输门的输出端连接第一N型MOS管漏极;
所述第一N型MOS管源极接地,漏极连接计算电容器的底板;
所述互补传输门的N型MOS管栅极连接输入信号,P型MOS管栅极连接互补输入信号且与第一N型MOS管栅极输入信号在运算时电平相同;
所述输入信号与过滤器参数的乘法结果存储为计算电容器底板的电压,多个子单元用于组成一个计算单元,同一所述计算单元内的每一个子单元共用同一所述第一N型MOS管、计算电容器。


2.如权利要求1所述的子单元,其特征在于,所述计算单元内的子单元以时分复用的方式被激活,同一计算单元内的某时刻处于工作状态的子单元的互补传输门的P型MOS管栅极的互补输入信号与第一N型MOS管栅极连接的信号电平相同。


3.一种包括权利要求2所述子单元的MAC阵列,进行乘加运算,其特征在于,包括多个计算单元,每一计算单元内的所有子单元的互补传输门的输出端连接同一个计算电容器的底板,同一列的所有计算单元内的计算电容器顶板连接同一累加总线,每一累加总线的电压对应MAC阵列中每一列乘法计算结果的累加和。


4.如权利要求3所述的MAC阵列,其特征在于,MAC阵列还包括差分互补传输门、差分计算电容器和第一P型MOS管;所述MAC阵列的每一计算单元内,每个传统6TSRAM单元中M3、M4组成的CMOS反相器的输出端分别连接一个差分互补传输门的输入端,所有M3、M4组成的CMOS反相器所连接的差分互补传输门的输出端连接同一第一P型MOS管漏极;所述第一P型MOS管漏极连接差分计算电容器的底板,源极接VDD;差分乘法结果存储为差分计算电容器底板的电压,同一列每一差分单元的计算电容器的顶板连接同一差分累加总线。


5.如权利要求3所述的MAC阵列,其特征在于,MAC阵列还包括第一CMOS反相器和差分计算电容器;组成MAC阵列的每一个计算单元内所有互补传输门的输出端连接同一第一CMOS反相器的输入端,第一CMOS反相器的输出端连接一个差分计算电容器底板;差分乘法结果存储为差分计算电容器底板的电压,同一列的所有差分计算电容器顶板连接同一差分累加总线。


6.一种位宽可重构的模数混合内存内计算的运算模组,其特征在于,包括:如权利要求3至5中任一项所...

【专利技术属性】
技术研发人员:杨闵昊刘洪杰阿隆索·莫尔加多尼尔·韦伯克里斯蒂安·恩茨
申请(专利权)人:深圳市九天睿芯科技有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1