一种基于ReRAM的单比特存内计算电路转让专利

申请号 : CN202111416378.6

文献号 : CN113838504B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 乔树山黄茂森尚德龙周玉梅

申请人 : 中科南京智能技术研究院

摘要 :

本发明涉及一种基于ReRAM的单比特存内计算电路,包括存储阵列模块、行译码与输入驱动模块、列译码与位线源线驱动模块、列选模块和电流电压转换及读出模块;存储阵列模块包括多行多列的阻变存储单元;行译码与输入驱动模块与存储阵列模块中各行阻变存储单元中字线连接,列译码与位线源线驱动模块与存储阵列模块中各列阻变存储单元中位线和源线连接;列选模块与存储阵列模块中各列阻变存储单元中位线连接;电流电压转换及读出模块与列选模块连接,电流电压转换及读出模块用于将被列选模块选中的一列对应的位线电流转换成电压后,将转换后的电压通过与十个电压比较器比较输出十位的输出数据。本发明降低了存内计算的占用面积和功耗。

权利要求 :

1.一种基于ReRAM的单比特存内计算电路,其特征在于,包括存储阵列模块、行译码与输入驱动模块、列译码与位线源线驱动模块、列选模块和电流电压转换及读出模块;

所述存储阵列模块包括多行多列的阻变存储单元;所述行译码与输入驱动模块与所述存储阵列模块中各行阻变存储单元中字线连接,所述列译码与位线源线驱动模块与所述存储阵列模块中各列阻变存储单元中位线和源线连接;所述列选模块与所述存储阵列模块中各列阻变存储单元中位线连接,所述列选模块用于选中所述存储阵列模块中一列进行计算;所述电流电压转换及读出模块与所述列选模块连接,所述电流电压转换及读出模块用于将被所述列选模块选中的一列对应的位线电流转换成电压后,将转换后的电压通过与十个电压比较器比较输出十位的输出数据;

所述阻变存储单元包括Re器件和NMOS管N0,所述Re器件的一端连接位线,所述Re器件的另一端连接所述NMOS管N0的源极,所述NMOS管N0的漏极连接源线,所述NMOS管N0的栅极连接字线,各行所述阻变存储单元的字线共线,各列所述阻变存储单元的位线共线,各列所述阻变存储单元的源线共线;

所述电流电压转换及读出模块包括电流电压转换单元和电压比较输出单元,所述电流电压转换单元用于将所述列选模块输入的电流转换为电压,所述电压比较输出单元包括十个电压比较器,各所述电压比较器输入转换后的电压并输出一位电压比较值,各所述电压比较器输入的参考电压不同;

所述电压比较器包括管N3、管N4、电容Ci、反相器I1、反相器I2和反相器I3;所述电流电压转换单元的输出端分别连接管N3的漏极和电容Ci的一端,管N3的源极连接参考电压,管N3的栅极连接使能信号S3,电容Ci的另一端分别连接管N4的源极和反相器I1的输入端,反相器I1的输出端分别与反相器I2的输入端和管N4的漏极连接,管N4的栅极连接使能信号S4,反相器I2的输出端连接反相器I3的输出端;

所述存储阵列模块包括256行×64列的阻变存储单元。

2.根据权利要求1所述的基于ReRAM的单比特存内计算电路,其特征在于,包括权重写入阻变存储单元模式和二进制乘累加计算模式;

当所述基于ReRAM的单比特存内计算电路为所述权重写入阻变存储单元模式时,所述行译码与输入驱动模块对预设存储数据的行地址信号进行译码,并根据行地址信号译码结果导通所述存储阵列模块中第i行字线,所述列译码与位线源线驱动模块对所述预设存储数据的列地址信号进行译码,并根据列地址信号译码结果选定所述存储阵列模块中第j列阻变存储单元的位线和源线;当权重值写入1时,第i行字线置于高电平,第i行第j列的所述阻变存储单元中NMOS管N0导通,所述列译码与位线源线驱动模块控制第j列阻变存储单元的位线的电压为预设电压,所述列译码与位线源线驱动模块控制第j列阻变存储单元的源线接地,第i行第j列的所述阻变存储单元中Re器件为低阻状态;当权重值写入0时,第i行字线置于高电平,第i行第j列的所述阻变存储单元中NMOS管N0导通,所述列译码与位线源线驱动模块控制第j列阻变存储单元的位线接地,所述列译码与位线源线驱动模块控制第j列阻变存储单元的源线为设定电压,第i行第j列的所述阻变存储单元中Re器件为高阻状态;

当所述基于ReRAM的单比特存内计算电路为所述二进制乘累加计算模式时,输入数据输入所述行译码与输入驱动模块,所述列选模块选中一列阻变存储单元,选中的一列阻变存储单元对应的位线中电流流过对应各阻变存储单元的Re器件和NMOS管N0到对应的源线,选中的一列阻变存储单元对应的源线接地。

3.根据权利要求1所述的基于ReRAM的单比特存内计算电路,其特征在于,所述电流电压转换单元包括管P1、管P2、管P3、管N1、管N2和电容Cc;管P1的源极连接电源电压,管P1的漏极连接所述列选模块,管P1的栅极连接管P1的漏极和管N1的漏极,管N1的源极分别连接管P3的漏极和管P2的栅极,管N1的栅极连接使能信号S1,管P3的源极连接电源电压,管P3的栅极连接使能信号S0,管P2的源极连接电源电压,管P2的漏极分别连接管N2的漏极和电容Cc的一端,电容Cc的另一端接地,管N2的源极接地,管N2的栅极连接使能信号S2,管P2的漏极为所述电流电压转换单元的输出端。

4.根据权利要求3所述的基于ReRAM的单比特存内计算电路,其特征在于,管P1、管P2和管P3为PMOS管,管N1和管N2为NMOS管。

5.根据权利要求1所述的基于ReRAM的单比特存内计算电路,其特征在于,管N3和管N4为NMOS管。

说明书 :

一种基于ReRAM的单比特存内计算电路

技术领域

[0001] 本发明涉及存内计算领域,特别是涉及一种基于ReRAM的单比特存内计算电路。

背景技术

[0002] 深度卷积神经网络(DCNNs)继续证明了推理精度的提高,深度学习正在向边缘计算转移。这一发展推动了低资源机器学习算法及其加速硬件的工作。DCNNs中最常见的运算是乘法和累加(MAC),它控制着功率和延迟。MAC操作具有很高的规则性和并行性,因此非常适合硬件加速。然而,内存访问量严重限制了传统数字加速器的能源效率。因此,存内计算(CIM)对DCNN加速越来越有吸引力。
[0003] 目前存内计算的设计中,按存储介质来划分可分为基于SRAM的设计和基于新型非易失性存储器的设计。基于SRAM的设计技术成熟,但面积功耗过大。

发明内容

[0004] 本发明的目的是提供一种基于ReRAM的单比特存内计算电路,降低了存内计算的占用面积和功耗。
[0005] 为实现上述目的,本发明提供了如下方案:
[0006] 一种基于ReRAM的单比特存内计算电路,包括:存储阵列模块、行译码与输入驱动模块、列译码与位线源线驱动模块、列选模块和电流电压转换及读出模块;
[0007] 所述存储阵列模块包括多行多列的阻变存储单元;所述行译码与输入驱动模块与所述存储阵列模块中各行阻变存储单元中字线连接,所述列译码与位线源线驱动模块与所述存储阵列模块中各列阻变存储单元中位线和源线连接;所述列选模块与所述存储阵列模块中各列阻变存储单元中位线连接,所述列选模块用于选中所述存储阵列模块中一列进行计算;所述电流电压转换及读出模块与所述列选模块连接,所述电流电压转换及读出模块用于将被所述列选模块选中的一列对应的位线电流转换成电压后,将转换后的电压通过与十个电压比较器比较输出十位的输出数据;
[0008] 所述阻变存储单元包括Re器件和NMOS管N0,所述Re器件的一端连接位线,所述Re器件的另一端连接所述NMOS管N0的源极,所述NMOS管N0的漏极连接源线,所述NMOS管N0的栅极连接字线,各行所述阻变存储单元的字线共线,各列所述阻变存储单元的位线共线,各列所述阻变存储单元的源线共线。
[0009] 可选地,包括权重写入阻变存储单元模式和二进制乘累加计算模式;
[0010] 当所述基于ReRAM的单比特存内计算电路为所述权重写入阻变存储单元模式时,所述行译码与输入驱动模块对预设存储数据的行地址信号进行译码,并根据行地址信号译码结果导通所述存储阵列模块中第i行字线,所述列译码与位线源线驱动模块对所述预设存储数据的列地址信号进行译码,并根据列地址信号译码结果选定所述存储阵列模块中第j列阻变存储单元的位线和源线;当权重值写入1时,第i行字线置于高电平,第i行第j列的所述阻变存储单元中NMOS管N0导通,所述列译码与位线源线驱动模块控制第j列阻变存储单元的位线的电压为预设电压,所述列译码与位线源线驱动模块控制第j列阻变存储单元的源线接地,第i行第j列的所述阻变存储单元中Re器件为低阻状态;当权重值写入0时,第i行字线置于高电平,第i行第j列的所述阻变存储单元中NMOS管N0导通,所述列译码与位线源线驱动模块控制第j列阻变存储单元的位线接地,所述列译码与位线源线驱动模块控制第j列阻变存储单元的源线为设定电压,第i行第j列的所述阻变存储单元中Re器件为高阻状态;
[0011] 当所述基于ReRAM的单比特存内计算电路为所述二进制乘累加计算模式时,输入数据输入所述行译码与输入驱动模块,所述列选模块选中一列阻变存储单元,选中的一列阻变存储单元对应的位线中电流流过对应各阻变存储单元的Re器件和NMOS管N0到对应的源线,选中的一列阻变存储单元对应的源线接地。
[0012] 可选地,所述电流电压转换及读出模块包括电流电压转换单元和电压比较输出单元,所述电流电压转换单元用于将所述列选模块输入的电流转换为电压,所述电压比较输出单元包括十个电压比较器,各所述电压比较器输入转换后的电压并输出一位电压比较值,各所述电压比较器输入的参考电压不同。
[0013] 可选地,所述电流电压转换单元包括管P1、管P2、管P3、管N1、管N2和电容Cc;管P1的源极连接电源电压,管P1的漏极连接所述列选模块,管P1的栅极连接管P1的漏极和管N1的漏极,管N1的源极分别连接管P3的漏极和管P2的栅极,管N1的栅极连接使能信号S1,管P3的源极连接电源电压,管P3的栅极连接使能信号S0,管P2的源极连接电源电压,管P2的漏极分别连接管N2的漏极和电容Cc的一端,电容Cc的另一端接地,管N2的源极接地,管N2的栅极连接使能信号S2,管P2的漏极为所述电流电压转换单元的输出端。
[0014] 可选地,管P1、管P2和管P3为PMOS管,管N1和管N2为NMOS管。
[0015] 可选地,所述电压比较器包括管N3、管N4、电容Ci、反相器I1、反相器I2和反相器I3;所述电流电压转换单元的输出端分别连接管N3的漏极和电容Ci的一端,管N3的源极连接参考电压,管N3的栅极连接使能信号S3,电容Ci的另一端分别连接管N4的源极和反相器I1的输入端,反相器I1的输出端分别与反相器I2的输入端和管N4的漏极连接,管N4的栅极连接使能信号S4,反相器I2的输出端连接反相器I3的输出端。
[0016] 可选地,管N3和管N4为NMOS管。
[0017] 可选地,所述存储阵列模块包括256行×64列的阻变存储单元。
[0018] 根据本发明提供的具体实施例,本发明公开了以下技术效果:
[0019] 本发明存储单元为阻变存储单元,降低了存内计算占用面积和功耗,电流电压转换电路将电流转换为电压模式,易于读出;后接十个电压比较器实现计算结果的读取,简化了读出电路结构。

附图说明

[0020] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0021] 图1为本发明一种基于ReRAM的单比特存内计算电路结构示意图;
[0022] 图2为本发明电流电压转换及读出模块结构示意图。

具体实施方式

[0023] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0024] 本发明的目的是提供一种基于ReRAM的单比特存内计算电路,降低了存内计算的占用面积和功耗。
[0025] 为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
[0026] 图1为本发明一种基于ReRAM的单比特存内计算电路结构示意图,如图1所示,一种基于ReRAM的单比特存内计算电路,包括:存储阵列模块1、行译码与输入驱动模块2、列译码与位线源线驱动模块3、列选模块4和电流电压转换及读出模块5。
[0027] 存储阵列模块1用于权重的存储。
[0028] 存储阵列模块1包括多行多列的阻变存储单元;行译码与输入驱动模块2与存储阵列模块1中各行阻变存储单元中字线连接,列译码与位线源线驱动模块3与存储阵列模块1中各列阻变存储单元中位线和源线连接;列选模块4与存储阵列模块1中各列阻变存储单元中位线连接,列选模块4用于选中存储阵列模块1中一列进行计算;电流电压转换及读出模块5与列选模块4连接,电流电压转换及读出模块5用于将被列选模块4选中的一列对应的位线电流转换成电压后,将转换后的电压通过与十个电压比较器比较输出十位的输出数据。
[0029] 存储阵列模块1包括256行阻变存储单元,64列阻变存储单元。图1中Cell表示阻变存储单元。
[0030] 行译码与输入驱动模块2在进行行译码时对存储阵列模块1中存储阵列字线进行控制,用于权重的存储,行译码与输入驱动模块2在进行驱动输入时将外部256个一位的输入数据作用于WL(0) WL(255)(图1中WL[0] WL[255])。~ ~
[0031] 列译码与位线源线驱动模块3在列译码时对位线BL(i)和源线SL(i)进行作用,用作权重写入,在进行计算时将源线SL(i)接地。
[0032] 列选模块4用于选中64列中的一列进行计算。
[0033] 电流电压转换及读出模块5将电流转换为电压模式,一个电压值通过内部十个电压比较器与参考电压比较实现计算结果的读取,十个电压比较器的输出构成一个10位的输出结果(输出数据)(OUT[9:0])。
[0034] 阻变存储单元包括Re器件和NMOS管N0,Re器件的一端连接位线,Re器件的另一端连接NMOS管N0的源极,NMOS管N0的漏极连接源线,NMOS管N0的栅极连接字线,各行阻变存储单元的字线共线,各列阻变存储单元的位线共线,各列阻变存储单元的源线共线。
[0035] 电流电压转换及读出模块5包括电流电压转换单元51和电压比较输出单元52,电流电压转换单元51用于将列选模块4输入的电流转换为电压,电压比较输出单元52包括十个电压比较器,各电压比较器输入转换后的电压并输出一位电压比较值,各电压比较器输入的参考电压不同。
[0036] 如图2所示,电流电压转换单元51包括管P1、管P2、管P3、管N1、管N2和电容Cc;管P1的源极连接电源电压,管P1的漏极连接列选模块4,管P1的栅极连接管P1的漏极和管N1的漏极,管N1的源极分别连接管P3的漏极和管P2的栅极,管N1的栅极连接使能信号S1,管P3的源极连接电源电压,管P3的栅极连接使能信号S0,管P2的源极连接电源电压,管P2的漏极分别连接管N2的漏极和电容Cc的一端,电容Cc的另一端接地,管N2的源极接地,管N2的栅极连接使能信号S2,管P2的漏极为电流电压转换单元51的输出端。
[0037] 管P1、管P2和管P3为PMOS管,管N1和管N2为NMOS管。
[0038] 如图2所示,电压比较器包括管N3、管N4、电容Ci、反相器I1、反相器I2和反相器I3;电流电压转换单元51的输出端分别连接管N3的漏极和电容Ci的一端,管N3的源极连接参考电压,管N3的栅极连接使能信号S3,电容Ci的另一端分别连接管N4的源极和反相器I1的输入端,反相器I1的输出端分别与反相器I2的输入端和管N4的漏极连接,管N4的栅极连接使能信号S4,反相器I2的输出端连接反相器I3的输出端。
[0039] 管N3和管N4为NMOS管。
[0040] 一种基于ReRAM的单比特存内计算电路包括权重写入阻变存储单元模式和二进制乘累加计算模式。
[0041] 当基于ReRAM的单比特存内计算电路为权重写入阻变存储单元模式时,行译码与输入驱动模块2对预设存储数据的行地址信号进行译码,并根据行地址信号译码结果选通存储阵列模块1中第i行字线,列译码与位线源线驱动模块3对预设存储数据的列地址信号进行译码,并根据列地址信号译码结果选定存储阵列模块1中第j列阻变存储单元的位线和源线;当权重值写入1时,第i行字线置于高电平,第i行第j列的阻变存储单元中NMOS管N0导通,列译码与位线源线驱动模块3控制第j列阻变存储单元的位线的电压为预设电压,列译码与位线源线驱动模块3控制第j列阻变存储单元的源线接地,第i行第j列的阻变存储单元中Re器件为低阻状态,完成权重值写入1;当权重值写入0时,第i行字线置于高电平,第i行第j列的阻变存储单元中NMOS管N0导通,列译码与位线源线驱动模块3控制第j列阻变存储单元的位线接地,列译码与位线源线驱动模块3控制第j列阻变存储单元的源线为设定电压,第i行第j列的阻变存储单元中Re器件为高阻状态,完成权重值写入0。设定电压为1.5V。Re器件为低阻状态时,Re器件所在线路导通,Re器件为高阻状态时,Re器件所在线路不导通。
[0042] 当基于ReRAM的单比特存内计算电路为二进制乘累加计算模式时,输入数据输入行译码与输入驱动模块2,256行输入数据被驱动到WL(0) WL(255),列选模块4选中一列阻~变存储单元,选中的一列阻变存储单元对应的位线中电流流过对应各阻变存储单元的Re器件和NMOS管N0到对应的源线,选中的一列阻变存储单元对应的源线接地。当输入数据为1时WL(i)为高电平,输入数据为0时WL(i)为低电平,当权重值为1时,其存储节点为低阻状态,当权重为0时,其存储节点为高阻状态。开始计算时,列选模块4选中所计算的列,WL(i)被使能,通路被打开,电流从BL(j)流过阻变器件Re和MOS管到SL(j)后接地,IDL即为整列乘累加后的电流,列选的同时S0控制管P3关闭,S1控制管N1开启,S2控制管N2断开,P2管导通并将IDL复制充电到电容Cc上,乘累加后的电流即转换为VSUM,然后S0控制管P3开启,S1控制管N1断开,S2控制管N2断开,计算结束开始读取VSUM。
[0043] 图2为电流电压转换及读出模块5结构示意图,在读取阶段,VSUM与十个参考电压VREF[9:0]通过十个电压比较器进行比较,得出一个十位的结果OUT[9:0]。读取分为两步:第一步,在计算开始时S3控制管N2关闭,S4控制管N4打开,此时反相器I1两端短接处于高增益状态,电容Ci左端电位为计算的结果VSUM;第二步,计算结束时S3控制管N2打开,S4控制管N4关闭,此时参考电压给进来,若VSUM>VREF,Ci左侧放电,右侧感应为低电平反相器I1输出一个高电平,得出结果OUT(i)=1,若VSUM
[0044] 本发明中,存内计算装置中的存储模块采用非易失性ReRAM存储单元,ReRAM单元的优点是面积小、功耗低;电流电压转换电路将电流转换为电压模式,易于读出;后接十个电压比较器实现计算结果的读取,简化了读出电路结构,通过列选模块使阵列的64列共用一个读出电路,减小了整体电路中读出部分的面积。
[0045] 本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
[0046] 本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。