一种存内计算单元的制作方法

文档序号:29975433发布日期:2022-05-11 12:03阅读:115来源:国知局
一种存内计算单元的制作方法

1.本发明涉及存内计算领域,特别是涉及一种存内计算单元。


背景技术:

2.现有的存内计算单元结构中,大部分为不区分正负且采用相同字线和位线的结构。且原本的结构精度较差,且易产生干扰,不便于修复权重数据。
3.因此,亟需一种能够实现输入数据正负分离以及便于修复权重数据的存内计算单元。


技术实现要素:

4.本发明的目的是提供一种存内计算单元,能够实现输入数据正负分离以及便于修复权重数据。
5.为实现上述目的,本发明提供了如下方案:一种存内计算单元,包括:输入模块、存储模块以及计算模块;所述输入模块的输入分别与无符号的输入数据以及输入符号位连接,所述输入模块的输出分别与读字线rwl+以及读字线rwl-连接;所述输入模块用于根据无符号的输入数据以及输入符号位,通过布尔逻辑运算,进行电路的正负输入分离;所述计算单元分别与所述输入模块、所述存储模块以及读位线rbl+和读位线rbl-连接;所述计算单元用于进行乘法运算;所述存储模块用于存储权重数据。
6.可选地,所述输入模块包括:与门a1、与门a2以及反相器i1;所述与门a1的输入与无符号的输入数据以及输入符号位连接,所述与门a1的输出与读字线rwl+连接;所述与门a2的两个输入分别与无符号的输入数据以及所述反相器i1的输出连接,所述与门a2的输出与读字线rwl-连接;所述反相器i1的输入与输入符号位连接。
7.可选地,所述存储模块包括:两个sram 6t存储单元。
8.可选地,所述计算模块包括:管n1、管n2、管n3以及管n4;所述管n1的栅极与读字线rwl+连接,所述管n1的漏极与所述管n2的漏极连接,所述管n1的源极与读位线rbl+连接;所述管n2的栅极与一所述sram 6t存储单元的q端连接,所述管n2的源极与地线vss连接;所述管n3的栅极与读字线rwl-连接,所述管n3的漏极与所述管n4的漏极连接,所述管n3的源极与读位线rbl-连接;所述管n4的栅极与另一所述sram 6t存储单元的q端连接,所述管n4的源极与地线vss连接。
9.可选地,所述管n1、管n2、管n3以及管n4均为nmos管。
10.可选地,所述存内计算单元包括:存储模式和计算模式。
11.根据本发明提供的具体实施例,本发明公开了以下技术效果:
本发明所提供的一种存内计算单元,根据无符号的输入数据in[i]以及输入符号位signed,通过布尔逻辑运算,进行电路的正负输入分离;分裂式的字线和分裂式的位线使数据的精度更高,在大规模集成使可以实现更多比特位输出精度;权重的存储和点积计算采用不同的字线和位线,使两者互相不产生干扰,同时便于修改权重数据。
附图说明
[0012]
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0013]
图1为本发明所提供的一种存内计算单元结构示意图。
具体实施方式
[0014]
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0015]
本发明的目的是提供一种存内计算单元,能够实现输入数据in[i]正负分离以及便于修复权重数据。
[0016]
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
[0017]
图1为本发明所提供的一种存内计算单元结构示意图,如图1所示,本发明所提供的一种存内计算单元,包括:输入模块、存储模块以及计算模块;所述输入模块的输入分别与无符号的输入数据in[i]以及输入符号位signed连接,所述输入模块的输出分别与读字线rwl+以及读字线rwl-连接;所述输入模块用于根据无符号的输入数据in[i]以及输入符号位signed,通过布尔逻辑运算,进行电路的正负输入分离;所述计算单元分别与所述输入模块、所述存储模块以及读位线rbl+和读位线rbl-连接;所述计算单元用于进行乘法运算;所述存储模块用于存储权重数据。
[0018]
所述输入模块包括:与门a1、与门a2以及反相器i1;所述与门a1的输入与无符号的输入数据in[i]以及输入符号位signed连接,所述与门a1的输出与读字线rwl+连接;所述与门a2的两个输入分别与无符号的输入数据in[i]以及所述反相器i1的输出连接,所述与门a2的输出与读字线rwl-连接;所述反相器i1的输入与输入符号位signed连接。
[0019]
所述存储模块包括:两个sram 6t存储单元。
[0020]
所述计算模块包括:管n1、管n2、管n3以及管n4;所述管n1、管n2、管n3以及管n4均为nmos管。
[0021]
所述管n1的栅极与读字线rwl+连接,所述管n1的漏极与所述管n2的漏极连接,所述管n1的源极与读位线rbl+连接;所述管n2的栅极与一所述sram 6t存储单元的q端连接,所述管n2的源极与地线vss连接;所述管n3的栅极与读字线rwl-连接,所述管n3的漏极与所述管n4的漏极连接,所述管n3的源极与读位线rbl-连接;所述管n4的栅极与另一所述sram 6t存储单元的q端连接,所述管n4的源极与地线vss连接。
[0022]
所述存内计算单元包括:存储模式和计算模式。
[0023]
操作过程:存储模式:存储模式由基本的sram 6t存储单元完成,其余模块均处于关闭状态。此时输入数据存储在bl和blb上,当wl信号使能,输入通过nmos传输到sram内部进行锁存,完成存储操作。
[0024]
计算模式:首先通过存储模式将权重存储到sram中,并对rbl+和rbl-进行预充电,使其预充电到高电位vdd。当输入到来后,将去掉符号位的输入和自身的符号位通过与门进行布尔逻辑运算,使正负输入分别进入到两条不同的位线上。为使得rwl+得到正数输入,rwl-得到负数输入,表1为rwl+的输出真值表,实现了rwl+ = signed*in[i]的逻辑,表2为rwl-的输出真值表,实现的rwl
‑ꢀ
=的逻辑。
[0025]
表1表2当输入完成正负分离,会使得rwl+或rwl-中的一个字线开启,从而通过管n1、管n2或管n3、管n4,根据sram中存储的权重判定是否对预充电的rbl+或rbl-进行放电,从而完成点积运算。
[0026]
本发明相比于现有的技术,本技术主要有三个优点。
[0027]
第一个优点为输入数据正负分离。此优点通过前置的与门a1,a2和i1实现,用简单的布尔逻辑完成了正输入和负输入的分离;第二个优点为计算模式采用分裂式字线(rwl+,rwl-)和分裂式位线(rbl+,rbl-)。
和一般的存内计算结构不同,本设计采用分裂式的字线和分裂式的位线使数据的精度更高,在大规模集成使可以实现更多比特位输出精度;第三个优点为存储和计算分离。本设计中权重的存储和点积计算采用不同的字线和位线,使两者互相不产生干扰,同时便于修改权重数据。
[0028]
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
[0029]
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1