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

一种数字存内计算阵列装置的制作方法

2021-06-25 17:23:00 来源:中国专利 TAG:计算 阵列 装置 数字


1.本发明涉及存内计算技术领域,特别是涉及一种数字存内计算阵列装置。


背景技术:

2.深度卷积神经网络(dcnns)继续证明了推理精度的提高,深度学习正在向边缘计算转移。这一发展推动了低资源机器学习算法及其加速硬件的工作。dcnns中最常见的运算是乘法和累加(mac),它控制着功率和延迟。mac操作具有很高的规则性和并行性,因此非常适合硬件加速。然而,内存访问量严重限制了传统数字加速器的能源效率。因此,存内计算(cim)对dcnn加速越来越有吸引力。
3.现在的存算阵列基本都基于模拟域的计算方式,计算操作分为基于电阻分压器、放电率等的电流域计算和基于电荷共享、电容分压器等的电荷域计算两种。模拟域计算容易受环境的影响,比如温度和噪声。


技术实现要素:

4.本发明的目的是提供一种数字存内计算阵列装置,实现用数字方法进行乘累加,提高了计算精度。
5.为实现上述目的,本发明提供了如下方案:一种数字存内计算阵列装置,包括行译码及输入驱动模块、写权重的位线控制及计算的列控制模块、256行
×
64列存内计算模块,各存内计算模块包括位单元、管t7、管t8和同或门,管t7和管t8构成传输门,所述位单元为sram存储单元;所述写权重的位线控制及计算的列控制模块用于为各列提供控制信号re和控制信号ren;所述行译码及输入驱动模块用于为各行提供输入信号;所述位单元的权重存储点q与传输门的输入端连接,传输门的输出端与所述同或门的第一输入端连接,所述同或门的第二输入端连接所述输入信号,所述同或门的输出作为位单元的输出,管t7的栅极连接控制信号re,管t8的栅极连接控制信号ren;各位单元输入的输入信号与权重存储点q通过同或门进行同或操作;每次对一列位单元进行计算,256个位单元的1bit输出通过累加后输出一个9bit的乘累加结果。
6.可选地,所述位单元为6t sram存储单元。
7.可选地,所述256个位单元的1bit输出通过8级加法器树累加后输出一个9bit的乘累加结果。
8.可选地,所述写权重的位线控制及计算的列控制模块还用于控制各列位单元提供位线和位线反。
9.可选地,所述行译码及输入驱动模块还用于控制各行位单元的字线。
10.可选地,管t7为nmos管,管t8为pmos管。
11.根据本发明提供的具体实施例,本发明公开了以下技术效果:
本发明一种数字存内计算阵列装置,各位单元中管t7和管t8构成传输门,通过输入信号与权重值进行同或,实现数字方法进行乘累加不会造成计算精度的损失。
附图说明
12.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
13.图1为本发明一种数字存内计算阵列装置结构示意图;图2为本发明位单元结构示意图。
具体实施方式
14.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
15.本发明的目的是提供一种数字存内计算阵列装置,实现用数字方法进行乘累加,提高了计算精度。
16.为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
17.图1为本发明一种数字存内计算阵列装置结构示意图,如图1所示,一种数字存内计算阵列装置,包括行译码及输入驱动模块

、写权重的位线控制及计算的列控制模块

、256行
×
64列存内计算模块

,各存内计算模块包括位单元、管t7、管t8和同或门,管t7和管t8构成传输门,所述位单元为sram存储单元。
18.所述写权重的位线控制及计算的列控制模块用于为各列提供控制信号re和控制信号ren;所述行译码及输入驱动模块用于为各行提供输入信号。
19.如图2所示,所述位单元的权重存储点q与传输门的输入端连接,传输门的输出端与所述同或门的第一输入端连接,所述同或门的第二输入端连接所述输入信号,所述同或门的输出作为位单元的输出,管t7的栅极连接控制信号re,管t8的栅极连接控制信号ren。
20.各位单元输入的输入信号与权重存储点q通过同或门进行同或操作。
21.每次对一列位单元进行计算,256个位单元的1bit输出通过累加后输出一个9bit的乘累加结果。
22.所述位单元为6t sram存储单元。
23.所述256个位单元的1bit输出通过8级加法器树

累加后输出一个9bit的乘累加结果。
24.所述写权重的位线控制及计算的列控制模块还用于控制各列位单元提供位线bl和位线反blb。
25.所述行译码及输入驱动模块还用于控制各行位单元的字线。
26.管t7为nmos管,管t8为pmos管。
27.下面详细说明本发明一种数字存内计算阵列装置,256行
×
64列存内计算模块

中位单元用于权重存储。写权重的位线控制及计算的列控制模块

对位线bl(i)和位线反blb(i)进行控制实现权重写入,模块

还对列选控制信号re(i)和控制信号ren(i)进行作用选中第i列进行计算。行译码及输入驱动模块

包括行译码功能和输入驱动功能,行译码时对存储阵列字线wl(i)进行作用,驱动输入时对输入信号in(i)进行作用;输入in与权重q进行同或操作生成1bit的计算结果,256个1bit的数连接到模块

(8级加法器树)输出一个9bit的结果。
28.本发明阵列装置在两种模式下工作:1、将权重写入存储器单元的存值模式;2、实现二进制乘累加操作的计算模式。
29.在存值模式中,对于正常的数据写操作,本发明位单元的读/写操作与常规6t sram单元的写操作相同。存储单元的行译码模块对要存数据的行地址信号进行译码,选定阵列的某一行wl(i);列译码模块对要存数据的列地址信号进行译码,选定阵列某一列bl(i)和blb(i),实现存储阵列中所存数据的写操作。
30.在计算模式下,权值存储在存储单元中,256行输入数据in(0)~in(255)被同时激活输入到阵列。当输入数据为1时in(i)为高电平,输入数据为0时in(i)为低电平,当权重值为1时,其存储节点(q)存储逻辑“1”,当权重为0时,其存储节点(q)存储逻辑“0”。输入in(i)和权重q之间的乘运算(同或)结果out(同或门的输出)为0或者1,256个1bit的out通过第一级加法器得到128个2bit的结果,通过第二级加法器得到64个3bit的结果,以此类推,通过第八级加法器后得到1个9bit的结果进行输出。
31.图2示出了本发明所用的位单元以及其与计算结构的连接。阵列装置中的位单元即6管标准sram存储单元:包括两个上拉pmos管t1、t2,两个下拉nmos管t3、t4,两个传输管t5、t6(nmos管),字线wl,位线bl和位线反blb。计算结构包括两个传输管t7、t8以及同或门。
32.连接关系:管t1源极连接电源vdd,管t1栅极连接qb点(权重存储点),漏极连接q点(权重存储点);管t2源极连接电源vdd,管t2栅极连接q点,管t2漏极连接qb点;管t3源极接地,管t3栅极连接qb点,管t3漏极连接q点;t4管源极接地,t4管栅极连接q点,t4管漏极连接qb点;t5管源极连接位线bl,t5管栅极连接字线wl,t5管漏极连接q点;t6管源极连接位线反blb,t6管栅极连接字线wl,t6管漏极连接qb点;管t7源极连接同或门的第一个输入端,管t7栅极连接控制信号re,管t7漏极连接q点;管t8源极连接q点,管t8栅极连接控制信号ren,管t8漏极连接同或门的第一个输入端;in连接同或门的第二个输入端,同或门的输出端连接out。
33.控制信号re与控制信号ren是相反的关系,re为1时,ren为0,此时t7管和t8管导通,以此控制q点到同或门的导通。
34.如图2所示,单个位单元存储的权重与输入信号in的计算步骤:第一步输入驱动模块将输入信号传输到in,同时控制信号re和控制信号ren控制传输门导通,第二步输入与权值通过同或门进行乘计算得到一个1位的输出。
35.存算阵列每次对一列进行计算,每列有256行所以得出256个out,加法器对这256个1bit的数累加后输出一个9bit的乘累加结果。
36.本次发明中,存内计算装置中的存储模块采用稳定的6管单元,容易实现。用数字方法进行乘累加不会造成计算精度的损失,可应用于一些高精度的计算模型。64列共用一
个加法器树极大的节省了面积。
37.本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
38.本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。
再多了解一些

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

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

相关文献

  • 日榜
  • 周榜
  • 月榜