一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种存内计算单元、阵列及装置的制作方法

2021-06-18 20:18:00 来源:中国专利 TAG:计算 阵列 单元 装置
一种存内计算单元、阵列及装置的制作方法

本发明涉及存内计算技术领域,特别是涉及一种存内计算单元、阵列及装置。



背景技术:

深度神经网络(dnns)和卷积神经网络(cnns)在大规模识别任务中的精度得到了前所未有的提高。为了解决算法复杂度和内存访问限制的问题,在最近的算法中,权重和神经元激活被二进制化为 1或者−1,使得权重和输入激活之间的乘法成为xnor运算,xnor运算的累积成为这些xnor结果的比特数。

传统单bit输入乘单bit权重的计算方式效率较低,计算吞吐量没有相对优势;在计算过程中,传统计算方式会存在输入与为0权重相乘的无效计算。



技术实现要素:

本发明的目的是提供一种存内计算单元、阵列及装置,提高了计算效率。

为实现上述目的,本发明提供了如下方案:

一种存内计算单元,包括静态随机存取存储器和计算电路,所述计算电路包括管t7、管t8、管t9、管t10、反相器和耦合电容;

所述管t8和所述管t9构成传输门,所述管t7的栅极和源极相连形成二极管,管t7的栅极和所述反相器的输入共点连接并用于连接输入信号,所述反相器的输出连接所述管t10的栅极,所述管t10的源极接地,所述管t7的漏极和所述管t10的漏极均连接所述传输门的输入,所述管t8的栅极连接所述静态随机存取存储器的权重存储点q,所述管t9的栅极连接所述静态随机存取存储器的权重存储点qb,所述传输门的输出与所述耦合电容的第一端连接,所述耦合电容的第二端用于输出所述计算电路的输出信号;

权重存储点qb和权重存储点q用于存储权重值,所述计算电路用于所述输入信号与权重值的乘累加计算。

可选地,所述管t7、所述管t8和管t10为nmos管,所述管t9为pmos管。

可选地,所述静态随机存取存储器为6t静态随机存取存储器,所述6t静态随机存取存储器包括管t1、管t2、管t3、管t4、管t5、管t6、位线、位线反和字线;

所述管t1的源极和所述管t2的源极均连接电源vdd,所述管t1的栅极分别与所述管t2的漏极、所述管t3的栅极、所述管t4的漏极、所述管t6的源极、所述管t10的栅极和所述管t8的栅极连接,所述管t2的栅极分别与所述管t1的漏极、所述管t3的漏极、所述管t4的栅极、所述管t5的源极、所述管t9的栅极和所述管t7的栅极连接,所述管t3的源极和所述管t4的源极均与公共端vss连接,所述管t5的栅极和所述管t6的栅极均与所述字线连接,所述管t5的漏极与所述位线连接,所述管t6的漏极与所述位线反连接,所述管t5的源极为权重存储点q,所述管t6的源极为权重存储点qb,差分的权重值分别存储于所述权重存储点q和权重存储点qb。

可选地,所述管t1和所述管t2为pmos管。

可选地,所述管t3、所述管t4、所述管t5和所述管t6为nmos管。

本发明还公开了一种存内计算阵列,所述存内计算阵列包括上述的存内计算单元;多个所述存内计算单元呈矩阵式排列;

各列所述存内计算单元的位线共线连接;各列所述存内计算单元的位线反共线连接;所述耦合电容的第二端与所述读位线连接,各列所述存内计算单元的读位线共线连接;

各行所述存内计算单元的字线共线连接,各行所述存内计算单元的输入共线连接。

本发明还公开了一种存内计算装置,所述存内计算装置包括上述的存内计算阵列、输入译码驱动模块、预充及读写位线控制模块、字线地址译码模块和模数转换器阵列模块;

所述输入译码驱动模块用于为所述存内计算阵列提供输入信号,所述预充及读写位线控制模块用于为对控制位线和位线反进行控制,所述字线地址译码模块用于提供字线,所述模数转换器阵列模块包括多个模数转换器,模数转换器与所述存内计算阵列中各列的读位线一一对应连接,各所述模数转换器用于将读位线的乘累加结果转换为数字信号后输出

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

本发明公开了一种存内计算单元,通过权重存储点qb和权重存储点q控制传输门,只有当权重为1时计算单元的电路导通进行充放电操作,而在权重为0时电路不导通,从而节约了运算律,减低了功耗同时提高了运算效率。

附图说明

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

图1为本发明一种存内计算单元结构示意图;

图2为本发明一种存内计算单元详细结构示意图;

图3为本发明一种存内计算装置结构示意图;

图4为本发明一种存内计算单元充电状态示意图;

图5为本发明一种存内计算单元放电状态示意图;

图6为本发明一种存内计算单元保持状态示意图。

具体实施方式

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

本发明的目的是提供一种存内计算单元、阵列及装置,提高了计算效率。

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

图1为本发明一种存内计算单元结构示意图,图2为本发明一种存内计算单元详细结构示意图,如图1和图2所示,一种存内计算单元包括静态随机存取存储器和计算电路,所述计算电路包括管t7、管t8、管t9、管t10、反相器和耦合电容。

所述管t8和所述管t9构成传输门,所述管t7的栅极和源极相连形成二极管,管t7的栅极和所述反相器的输入共点连接并用于连接输入信号,所述反相器的输出连接所述管t10的栅极,所述管t10的源极接地,所述管t7的漏极和所述管t10的漏极均连接所述传输门的输入,所述管t8的栅极连接所述静态随机存取存储器的权重存储点q,所述管t9的栅极连接所述静态随机存取存储器的权重存储点qb,所述传输门的输出与所述耦合电容的第一端连接,所述耦合电容的第二端用于输出所述计算电路的输出信号。

权重存储点qb和权重存储点q用于存储权重值,所述计算电路用于所述输入信号与权重值的乘累加计算。

所述管t7、所述管t8和管t10为nmos管,所述管t9为pmos管。

本发明还公开了一种存内计算阵列,所述存内计算阵列包括上述的存内计算单元;多个所述存内计算单元呈矩阵式排列。存内计算阵列如图3中④部分所示。

各列所述存内计算单元的位线共线连接;各列所述存内计算单元的位线反共线连接;所述耦合电容的第二端与所述读位线连接,各列所述存内计算单元的读位线共线连接。

各行所述存内计算单元的字线共线连接,各行所述存内计算单元的输入共线连接。

图3为本发明一种存内计算装置结构示意图,如图3所示,一种存内计算装置包括上述的存内计算阵列(图3中的①部分)、输入译码驱动模块(图3中的②部分)、预充及读写位线控制模块(图3中的④部分)、字线地址译码模块(图3中的③部分)和模数转换器阵列模块(图3中的⑤部分)。存内计算阵列为256行64列的存内计算阵列;输入包括输入[0],输入[1],...,输入[255];字线包括字线[0],字线[1],...,字线[255];读位线(rbl)包括读位线[0],读位线[1],...,读位线[63];读位线对应的输出包括输出[0],输出[1],...,输出[63];位线包括位线[0],位线[1],...,位线[63];位线反包括位线反[0],位线反[1],...,位线反[63]。图3中的④部分虚线框内为单个存内计算单元。

所述输入译码驱动模块用于为所述存内计算阵列提供输入信号,所述预充及读写位线控制模块用于为对控制位线和位线反进行控制,所述字线地址译码模块用于对字线进行控制,所述模数转换器阵列模块包括多个模数转换器,模数转换器与所述存内计算阵列中各列的读位线一一对应连接,各所述模数转换器用于将读位线的乘累加结果转换为数字信号后输出。

所述静态随机存取存储器为6t静态随机存取存储器,所述6t静态随机存取存储器包括管t1、管t2、管t3、管t4、管t5、管t6、位线、位线反和字线。

所述管t1的源极和所述管t2的源极均连接电源vdd,所述管t1的栅极分别与所述管t2的漏极、所述管t3的栅极、所述管t4的漏极、所述管t6的源极、所述管t10的栅极和所述管t8的栅极连接,所述管t2的栅极分别与所述管t1的漏极、所述管t3的漏极、所述管t4的栅极、所述管t5的源极、所述管t9的栅极和所述管t7的栅极连接,所述管t3的源极和所述管t4的源极均与公共端vss连接,所述管t5的栅极和所述管t6的栅极均与所述字线连接,所述管t5的漏极与所述位线连接,所述管t6的漏极与所述位线反连接,所述管t5的源极为权重存储点q,所述管t6的源极为权重存储点qb,差分的权重值分别存储于所述权重存储点q和权重存储点qb。

所述管t1和所述管t2为pmos管。

所述管t3、所述管t4、所述管t5和所述管t6为nmos管。

其中管t1—管t6构成的sram(staticrandom-accessmemory,静态随机存取存储器)存储单元用于存储权重值。其中差分的权重值分别存储于q点和qb点。字线连接至管t5和管t6的栅极控制传输管t5和管t6的通断,位线分别连接管t5和管t6的源极、漏极,将通过“预充&&读/写控制”模块将当前列的位线预充到1v,则位线反为0,通过“字线地址译码”模块将当前行字线置为高电平后,管t5和管t6管导通,则位线将与q点导通,q点充为高电平,且经过管t2和管t4组成的反相器后,qb点值成为低电平,同时由于位线反为低电平,也加速了qb点的放电速度。这个过程完成了q点高点平,qb点低电平的权重写入。

在6t单元下面部分的管t7、管t8、管t9、管t10以及耦合电容c构成计算电路。其中管t7栅源相接作为单向导通的二极管使用,管t8和管t9构成传输门,管t10栅极连接输入信号的反信号,源极接地用于放电,耦合电容c用于充电。基本计算原理如表1所示:

表1计算原理操作表

如表1所示,具体电路的工作过程分为充电、放电以及保持三个状态,在计算选中的当前列时,读位线通过预充&&读/写控制模块(预充及读写控制模块)预充至0.5v。

充电部分原理如图4所示,当输入译码驱动模块选中的当前行输入为高电平(即1v时),且权重为 1时(表现为q=1,qb=0,即传输门导通),完成1×1= 1,在电路中体现为输入端由二极管t7通过传输门(由管t8和管t9组成)向耦合电容c充电,则耦合电容c两端电压会随输入端的充电而升高,表现结果即为电压在读位线上积累。

放电部分原理如图5所示,当“输入译码驱动”模块选中的当前行输入为低电平(即0v时),且权重为 1时(表现为q=1,qb=0,即传输门导通),完成0×1=0,在电路中体现为输入端的反信号为高,导通管t10,在读位线预充的0.5v电压将通过导通的传输管经由管t10向地放电,具体表现为读位线上电压的下降。(注:管t7的连接方式表现为单向二极管,故放电电流不会通过管t7干扰输入)。

保持部分原理如图6所示,当权重为0时(表现为q=0,qb=1,即传输门不导通),nmos管t8和pmos管t9完全处于截止状态,输入无论为0或是1均无法向耦合电容c进行充放电,读位线上电压处于保持状态,这种保持状态简化了无效的乘累加计算,因为任何输入与为0权重相乘均为0。

通过计算电路,在读位线上进行电压的积累后,将读位线连接至模数转换器阵列模块(模数转换模块)进行模拟电压转数字信号的量化。

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

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

再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜