CN117079687A - 基于忆阻器的非易失sram存内计算电路、阵列和方法 - Google Patents

基于忆阻器的非易失sram存内计算电路、阵列和方法 Download PDF

Info

Publication number
CN117079687A
CN117079687A CN202210487335.5A CN202210487335A CN117079687A CN 117079687 A CN117079687 A CN 117079687A CN 202210487335 A CN202210487335 A CN 202210487335A CN 117079687 A CN117079687 A CN 117079687A
Authority
CN
China
Prior art keywords
neural network
reram
weight
sram
nvsram
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202210487335.5A
Other languages
English (en)
Inventor
孙亚男
李学清
何卫锋
徐浏凯
刘松原
李智
汪登峰
毛志刚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Jiaotong University
Original Assignee
Shanghai Jiaotong University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shanghai Jiaotong University filed Critical Shanghai Jiaotong University
Priority to CN202210487335.5A priority Critical patent/CN117079687A/zh
Publication of CN117079687A publication Critical patent/CN117079687A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/41Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming static cells with positive feedback, i.e. cells not needing refreshing or charge regeneration, e.g. bistable multivibrator or Schmitt trigger
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Biophysics (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Computational Linguistics (AREA)
  • Molecular Biology (AREA)
  • Artificial Intelligence (AREA)
  • Computer Hardware Design (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Neurology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Static Random-Access Memory (AREA)

Abstract

本发明提供一种利用ReRAM器件进行数据存储的nvSRAM‑CIM单元电路,包括:SRAM存储单元,SRAM存储单元包括6管SRAM存储单元和一个控制管;ReRAM数据存储电路,ReRAM数据存储电路与SRAM存储单元的Q节点连接;SRAM存储单元中的权值存储至ReRAM数据存储电路中;ReRAM数据存储电路中存储的权值恢复至SRAM存储单元中;利用SRAM存储单元中的权值进行存内计算。本发明实现高能效的神经网络运行;将神经网络的权值存储在阵列内的ReRAM器件中,可以实现对大规模神经网络权值的高密度存储和阵列级并行的神经网络权值载入,避免了从片外对权值进行读取,降低数据搬运的功耗,进而提高神经网络加速器的能效;同时,提出了神经网络权值映射方法对网络权值进行映射,提高硬件的资源利用率。

Description

基于忆阻器的非易失SRAM存内计算电路、阵列和方法
技术领域
本发明实例涉及电路设计领域,尤其涉及一种基于忆阻器的非易失性SRAM存内计算电路、阵列和方法。
背景技术
目前,神经网络等数据密集型应用正在逐渐兴起,并被广泛地应用在人们日常生活中的诸多领域。然而,在传统冯诺依曼架构下,计算单元和存储单元的分离会导致在执行此类数据密集型和计算密集型任务时,在数据搬移上产生海量的能耗和延时开销,因此造成的问题被称为内存墙问题。
近来,多种非易失性静态随机存储器(non-volatile SRAM,nvSRAM)单元结构被提出,这种电路结构能够将数据存储在阻变存储器(Resistive Random Access Memory,ReRAM)等非易失存储单元中,在需要使用的时候再将其恢复至SRAM单元中。
同时,基于静态随机存储器(SRAM)的存内运算(compute-in-memory,CIM)架构的神经网络加速器被提出用来解决传统计算架构中面临的内存墙问题。这类新型神经网络加速器能够高能效、低延时地完成数据密集型的应用,因此被广泛地部署到资源受限的边缘端。然而在SRAM CIM中,由于SRAM单元面积较大,在有限的片上资源下能够存储的神经网络权值十分有限,无法将大规模神经网络权值完整地存储在片上,导致在执行神经网络时仍然需要在数据存储单元和加速器之间进行大量的数据传输,使神经网络计算能耗大大增加。另外,多种基于ReRAM交叉阵列的神经网络加速器也被提出。这类新型神经网络加速器能够高密度地存储数据,大大减少数据搬移。此类加速器在进行计算时,通过基尔霍夫电流定律实现乘累加,这种存算机制在进行计算时存在直流通路,导致电路整体功耗较高;同时,ReRAM器件会受到权值扰动的影响,使得ReRAM器件实际阻值偏离理想值,使计算结果出现误差,降低神经网络精度。
因此,如何实现对大规模神经网络权值的高密度存储和高能效高精度的神经网络加速是当前神经网络加速器面临的一个重要挑战。
发明内容
针对现有技术中的缺陷,本发明的目的是提供一种基于忆阻器的非易失性SRAM单元电路、阵列、映射和加速方法。
根据本发明的一个方面,提供一种利用ReRAM器件进行数据存储的nvSRAM-CIM单元电路,包括:
SRAM存储单元,所述SRAM存储单元包括6管SRAM存储单元和一个控制管;
ReRAM数据存储电路,所述ReRAM数据存储电路与所述SRAM存储单元的Q节点连接;
所述SRAM存储单元中的权值存储至所述ReRAM数据存储电路中;
所述ReRAM数据存储电路中存储的权值恢复至所述SRAM存储单元中;
利用所述SRAM存储单元中的权值进行存内计算。
优选地,所述SRAM存储单元共包含7个晶体管,其中5个NMOS管记为N1~N4、N7,2个PMOS管记为P1~P2
所述P1和N1组成一个反相器,所述P2和N2构成另一个反相器,所述两个反相器交叉耦合形成反相器环,作为数据存储模块;
所述N3和N4管为传输管,将所述SRAM存储单元的数据存储节点Q和QB,分别与位线BL、反位线BLB连接,由字线WL控制,完成数据的读写;
所述N7管为在6管SRAM单元底部添加一个列共享的控制管。
优选地,所述ReRAM数据存储电路包括若干个被分成多个组的ReRAM器件,第i组ReRAM中的第j个ReRAM器件记为Ri_j,同一组的ReRAM器件由同一个NMOS管NGi控制;
在选定特定的ReRAM器件Ri_j时,通过NGi管对ReRAM所在的第i组进行选择;
再通过SLj对第i组中的第j个ReRAM器件进行选择。
根据本发明的第二个方面,提供一种基于nvSRAM-CIM单元的存内运算子阵列,包括由所述的nvSRAM-CIM存算电路构成的阵列,所述阵列尺寸与神经网络尺寸适配;还包括预充电结构、输入信号译码器、阵列信号控制器、ADC和S&A电路;
所述神经网络权值存储在所述阵列nvSRAM-CIM存算电路的每个SRAM单元连接的ReRAM器件中。
输入信号根据输入信号译码器结果按行输入到所述阵列中;
计算结果按列输出到对应的所述ADC中;
通过移位加法器得到最后的乘累加结果。
根据本发明的第三个方面,提供一种神经网络权值的映射方法,将神经网络权值映射到所述的一种基于nvSRAM-CIM单元的存内运算子阵列上。
优选地,包括:
将一层神经网络转化为一个R行C列的矩阵,R=Cx×k×k,C=Mx×q,其中Cx为输入通道数,k为卷积核尺寸,Mx为输出通道数,q为权值量化位数;
将权值划分为多个块,每个权值块的尺寸为单个nvSRAM-CIM存算子阵列中同时能够开启并进行存内运算的尺寸,并将各个块尽平均地分配到各个存算子阵列;
在各个存算子阵列中上一层网络权值写入的末尾,将各个权值块写入。
优选地,同一权值的不同比特被存储在同一行中的不同的nvSRAM-CIM单元中;同一权值被存储在各个nvSRAM-CIM单元中相同的位置。
根据本发明的第四个方面,提供一种神经网络加速方法,通过对神经网络权值进行复制并写入到不同的所述的一种基于nvSRAM-CIM单元的存内运算子阵列上。
优选地,所述神经网络中的矩阵乘法计算被分配到各个存内运算子阵列中,利用所有存算子阵列的计算资源,实现神经网络运行提速。
与现有技术相比,本发明具有如下的有益效果:
本发明实施例中的一种利用ReRAM器件进行数据存储的nvSRAM-CIM单元电路以及根据神经网络的应用需求构建的nvSRAM-CIM阵列,利用nvSRAM存内运算机制,实现高能效的神经网络运行;将神经网络的权值存储在阵列内的ReRAM器件中,可以实现对大规模神经网络权值的高密度存储和阵列级并行的神经网络权值载入,避免了从片外对权值进行读取,降低数据搬运的功耗,进而提高神经网络加速器的能效;同时,提出了神经网络权值映射方法对网络权值进行映射,提高硬件的资源利用率。
附图说明
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1为本发明一实施例的nvSRAM-CIM单元电路图;
图2为本发明一实施例的nvSRAM-CIM存内运算子阵列图;
图3为本发明一实施例的nvSRAM-CIM存内运算的神经网络映射流程图;
图4为本发明一实施例的nvSRAM-CIM存内运算单个权值映射方法图;
图5为本发明一实施例的nvSRAM-CIM神经网络加速器的权值块分配图;
图6为本发明一实施例的神经网络加速方法流程图。
具体实施方式
下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进。这些都属于本发明的保护范围。
如图1所示,为本发明一实施例的一种利用ReRAM器件进行数据存储的nvSRAM-CIM单元电路的结构示意图。从图中可见,包括两个部分:SRAM存储单元和ReRAM数据存储电路,SRAM存储单元包括6管SRAM存储单元和一个控制管;ReRAM数据存储电路与SRAM存储单元的Q节点连接。
其中7管SRAM单元,相比传统的6管SRAM单元增加了一个控制管N7,能够有效降低漏电流,从而减小电路功耗;二是ReRAM权值存储电路,根据SRAM单元中存储的权值,将权值写入到指定的ReRAM器件中。通过控制GRO_SELi信号和SLj信号,可以选中单个Ri_j。该电路共能够实现三种功能,将SRAM中的权值存储至ReRAM中,将ReRAM中存储的权值恢复至SRAM中,利用SRAM中的权值进行存内计算。
具体的,SRAM单元共包含7个晶体管,其中包含5个NMOS管记为N1~N4、N7,包含2个PMOS管记为P1~P2。其中P1和N1组成一个反相器,P2和N2构成另一个反相器,两个反相器交叉耦合形成反相器环,作为数据存储模块;N3和N4管为传输管,将SRAM的数据存储节点Q和QB,分别与位线BL和反位线BLB连接,由字线WL控制,负责完成数据的读写;N7管为在传统的6管SRAM单元底部添加一个列共享的控制管,用于控制列的开关,减小漏电流,降低功耗。
NvSRAM-CIM电路中的ReRAM单元被分成多个组,第i组ReRAM中的第j个ReRAM器件记为Ri_j,同一组的ReRAM器件由同一个NMOS管NGi控制,每一组中的第j个ReRAM器件对应一个信号SLj
在选定特定的ReRAM器件Ri_j时,通过NGi管对ReRAM所在的第i组进行选择,之后再通过SLj对第i组中的第j个ReRAM器件进行选择。通过对每个nvSRAM-CIM电路连接多个ReRAM单元,可以有效扩大神经网络的片上存储空间,实现对大规模神经网络权值的存储。
进一步的,其对应的三种功能的实现,分别为:
(一)在对ReRAM权值进行存储时,在通过拉高GRO_SELi信号并拉低SLj信号选中指定的ReRAM器件Ri_j的同时,将RST信号和CBL信号拉高,可以实现ReRAM器件的复位。完成器件复位之后,拉低RST信号,拉高SLi信号和STR信号,此时电路会根据SRAM中存储的Q节点的值对ReRAM器件进行条件性置位。若Q的值为1,则此时存在从SLi出发,经过ReRAM器件Ri_j,组选择管NGi,N8和N9晶体管,到GND的通路,使得Ri_j被置位;若Q为0,则此时的N9晶体管不会被打开,Ri_j不会被置位。通过这种方式,可以将SRAM中的权值Q存储到ReRAM器件中。
(二)在将ReRAM中的权值恢复到SRAM单元中时,首先需要拉高WL信号,之后分别通过BL信号线和N3管,BLB信号线和N4管,对SRAM中的Q和QB节点进行预充电。之后拉低WL信号,使N3管和N4管关断;拉高RSTR信号,使N5管和N6管打开。此时将ReRAM组中与Ri_j器件相连的SLj信号线拉高,其余不和Ri_j器件相连的SLx信号线拉低,则此时NGi管源端节点成为组内的分压节点,当Ri_j器件电阻值为高(所存的值为0)时,分压节点的电压为低;当Ri_j器件电阻值为低(所存的值为1)时,分压节点电压为高。此时Q和QB节点分别经过N5管、NGi管和N6管、Rref器件,向ReRAM组内分压节点和GND节点放电。根据ReRAM组内分压节点电压值不同,Q节点的放电速度不同,当组内分压节点电压较高时,Q节点放电速度较慢,QB节点放电速度较快,电压下降速度更快,当QB节点电压下降为低后,Q节点的上拉管P1会被打开,Q节点被拉高,最终恢复为1;当组内分压节点电压较低时,Q节点放电速度较快,此时Q节点会先于QB节点下降为低,QB节点的上拉管P2会被打开,QB节点被拉高,QB节点会恢复为1,Q节点恢复为0。该功能缩短了神经网络加速器加载权值的路径,减小了神经网络加速器的延时和功耗。
(三)在将权值从ReRAM器件中恢复到SRAM中后,可以利用SRAM中的权值进行存内运算,存内运算可同时开启多行,计算结果由CBL信号线列向输出。进行存内运算时,首先需要先对CBL信号线进行预充电。在完成充电后,以单行存算为例,将输入数据通过行共享RST信号输入,同时拉高STR信号,此时若RST信号和SRAM中存储的Q节点同时为高,则CBL信号线会通过N10管、N9管、N8管进行放电,使得CBL信号线电压降低,此过程即完成了输入数据和单行存储数据的点乘操作。如果同时开启多行SRAM,每行的放电电流将会在列向上累加,因此根据放电后的CBL信号线电压,可以得到权值数据和输入数据的乘累加结果。
在本发明的其他实施例中,一种利用ReRAM器件进行数据存储的nvSRAM-CIM单元电路同样适用于碳基电路等其他材料的电路。
基于相同的发明构思,本发明的另一个实施例中提供一种基于nvSRAM-CIM单元的存内运算子阵列,其结构图如图2所示,包括多个nvSRAM-CIM单元构成的阵列以及预充电结构、输入信号译码器、阵列信号控制器、c模数转换器(Analog-to-Digital Converter,ADC)和移位加法器(shift&adder,S&A)等外围电路组成。神经网络权值存储在所述nvSRAM-CIM单元构成的阵列的每个SRAM单元连接的ReRAM器件中,能够实现对神经网络权值的高密度存储,完成大规模神经网络的片上存储。该阵列能够直接从ReRAM器件中恢复神经网络权值至SRAM单元中,不需要从片外加载网络权值,大幅度缩短了数据加载的路径,降低了神经网路运行能效和延时。
阵列中的阵列级信号由所述信号控制器进行控制,实现由SRAM向ReRAM中写入权值,并由ReRAM器件向SRAM中恢复权值;预充电电路为进行存内运算时的CBL线进行充电;输入信号根据输入信号译码器结果按行输入到所述阵列中获得计算结果;计算结果按列输出到对应的所述ADC中;通过移位加法器S&A得到最后的乘累加结果。
存内运算子阵列尺寸可以根据神经网络尺寸进行配置,本实施例中阵列的规格包括256行256列nvSRAM-CIM存算电路。
在本发明的其他实施例中,一种基于nvSRAM-CIM单元的存内运算子阵列能够完成一系列使用乘累加运算的应用,能够实现神经网络加速、图像滤波等功能。
基于相同的发明构思,本发明的优选实施例中提供一种神经网络权值的映射方法,将神经网络权值映射到基于nvSRAM-CIM单元的存内运算子阵列上,其流程图如图3所示。将神经网络模型(float32)进行权值量化和量化模型后,开始映射。
针对基于nvSRAM-CIM阵列的存内运算神经网络加速器,本发明提出了完整的神经网络权值映射方法将网络权值存储在nvSRAM-CIM阵列中。如图3所示,为本实施例中的一种神经网络权值的映射方法的流程图,包括:
S0,获取神经网络模型;
S1,对神经网络模型进行权值量化;
S2,对神经网络进行量化;
S3,对量化后的神经网络进行映射,权值映射从神经网络的第一层开始,逐层进行。
S301,将该层神经网络转化为R行C列的矩阵,R=Cx×k×k,C=Mx×q,其中Cx为输入通道数,k为卷积核尺寸,Mx为输出通道数,q为权值量化位数;
S302,将权值划分为多个块,每个权值块的尺寸为单个nvSRAM-CIM存算子阵列中同时能够开启并进行存内运算的尺寸(图3中以32行256列为例);
S303,将划分好的各个块尽可能平均地分配到各个存算子阵列,同时使各个存算子阵列上的权值数量尽可能均匀,通过这种方式可以使各个存内运算子阵列同时运行,提高神经网络加速器运行效率;值得一提的是,每一块会被对应到一个阵列上,但是一个阵列会对应多个块;
S304,在完成对权值块的分配之后,在各个存算子阵列中上一层网络权值写入的末尾,将各个权值块写入。
S305,在对神经网络所有卷积层和全连接层都完成映射后,整体映射流程结束。
由于nvSRAM-CIM阵列单次只能加载所有nvSRAM-CIM单元内同一位置的ReRAM中存储的数据,因此在对神经网络权值进行映射时,需要保证在恢复数据时,同一权值的所有比特均能够被恢复到nvSRAM-CIM阵列的SRAM单元中。针对上述情况,本发明提供一个优选实施例,如图4所示,为本实施例中的nvSRAM-CIM存内运算单个权值映射方法图,同一权值的不同比特被存储在同一行中的不同的nvSRAM-CIM单元中。同时,同一权值被存储在各个nvSRAM-CIM单元中相同的位置。例如图中的权值w0,该权值共有8个比特,存储在各个单元中第一组ReRAM中的第一个ReRAM器件内。
图5为上述实施例中的nvSRAM-CIM神经网络加速器的权值块分配图。对于神经网络的第x层,可以在神经网络权值转化成二维矩阵之后,对该矩阵进行分块并将各块分配到各个存算子阵列上。图中Ri代表该阵列由nvSRAM-CIM阵列中所有单元中的第i个ReRAM器件组成,如对于有3组、每组8个ReRAM器件的nvSRAM-CIM单元来说,其中共包含R1~R24共24个ReRAM器件。
基于相同的发明构思,本发明提供一种神经网络加速方法,图6为本实施例的神经网络加速的流程示意图。上述实施例中的nvSRAM-CIM存内运算阵列的权值容量,与神经网络权值数量并不完全匹配,可能存在一定的冗余,因此,需对权值进行复制。对权值进行复制之后,将同一权值的多份复制分配到不同的阵列,通过这种方式可以将不同的输入数据分别输入到各个阵列中的权值,使各个阵列同时进行计算存内运算操作,提高网络运行效率,同时提高对nvSRAM-CIM存算阵列上的存储空间的利用效率。
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变形或修改,这并不影响本发明的实质内容。上述各优选特征在互不冲突的情况下,可以任意组合使用。

Claims (10)

1.一种利用ReRAM器件进行数据存储的nvSRAM-CIM单元电路,其特征在于,包括:
SRAM存储单元,所述SRAM存储单元包括6管SRAM存储单元和一个控制管;
ReRAM数据存储电路,所述ReRAM数据存储电路与所述SRAM存储单元的Q节点连接;
所述SRAM存储单元中的权值存储至所述ReRAM数据存储电路中;
所述ReRAM数据存储电路中存储的权值恢复至所述SRAM存储单元中;
利用所述SRAM存储单元中的权值进行存内计算。
2.根据权利要求1所述的一种利用ReRAM器件进行数据存储的nvSRAM-CIM单元电路,其特征在于,所述SRAM存储单元共包含7个晶体管,其中5个NMOS管记为N1~N4、N7,2个PMOS管记为P1~P2
所述P1和N1组成一个反相器,所述P2和N2构成另一个反相器,所述两个反相器交叉耦合形成反相器环,作为数据存储模块;
所述N3和N4管为传输管,将所述SRAM存储单元的数据存储节点Q和QB,分别与位线BL、反位线BLB连接,由字线WL控制,完成数据的读写;
所述N7管为在6管SRAM单元底部添加一个列共享的控制管。
3.根据权利要求1所述的一种利用ReRAM器件进行数据存储的nvSRAM-CIM单元电路,其特征在于,所述ReRAM数据存储电路包括若干个被分成多个组的ReRAM器件,第i组ReRAM中的第j个ReRAM器件记为Ri_j,同一组的ReRAM器件由同一个NMOS管NGi控制,每一组中的第j个ReRAM器件对应一个信号SLj
在选定特定的ReRAM器件Ri_j时,通过NGi管对ReRAM所在的第i组进行选择,再通过信号SLj对第i组中的第j个ReRAM器件进行选择。
4.一种基于nvSRAM-CIM单元的存内运算子阵列,其特征在于,包括由权利要求1-3任一项所述的nvSRAM-CIM单元电路构成的阵列,所述阵列尺寸与需进行权值存储的神经网络尺寸适配;还包括预充电结构、输入信号译码器、阵列信号控制器、ADC和S&A;
所述神经网络权值存储在所述阵列中的每个nvSRAM-CIM单元电路的SRAM单元连接的ReRAM器件中;
所述阵列中的阵列级信号由所述信号控制器进行控制,实现由SRAM向ReRAM中写入权值,并由ReRAM器件向SRAM中恢复权值;
所述预充电电路为进行存内运算时的CBL线进行充电;
输入信号根据所述输入信号译码器结果按行输入到所述阵列中获得计算结果;
所述计算结果按列输出到对应的所述ADC中;
通过所述移位加法器S&A得到最后的乘累加结果。
5.一种神经网络权值的映射方法,其特征在于,将神经网络权值映射到权利要求4所述的一种基于nvSRAM-CIM单元的存内运算子阵列上。
6.根据权利要求5所述的一种神经网络权值的映射方法,其特征在于,权值映射从所述神经网络的第一层开始,逐层进行。
7.根据权利要求5所述一种神经网络权值的映射方法,其特征在于,包括:
将一层神经网络转化为一个R行C列的矩阵,R=Cx×k×k,C=Mx×q,其中Cx为输入通道数,k为卷积核尺寸,Mx为输出通道数,q为权值量化位数;
将权值划分为多个块,每个权值块的尺寸为单个nvSRAM-CIM存算子阵列中同时能够开启并进行存内运算的尺寸;
将划分后的各个块平均地分配到各个存算子阵列中;
在各个存算子阵列中上一层网络权值写入的末尾,将各个权值块写入。
8.根据权利要求5所述的一种神经网络权值的映射方法,其特征在于,
同一权值的不同比特被存储在同一行中的不同的nvSRAM-CIM单元中;
同一权值被存储在各个nvSRAM-CIM单元中相同的位置。
9.一种神经网络加速方法,其特征在于,通过对神经网络权值进行复制并写入到不同的如权利要求4所述的一种基于nvSRAM-CIM单元的存内运算子阵列上。
10.根据权利要求5-8所述的神经网络映射方法或权利要求9所述的神经网络加速方法,其特征在于,所述神经网络中的矩阵乘法计算被分配到各个存内运算子阵列中,利用所有存算子阵列的计算资源,提速神经网络运行。
CN202210487335.5A 2022-05-06 2022-05-06 基于忆阻器的非易失sram存内计算电路、阵列和方法 Pending CN117079687A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210487335.5A CN117079687A (zh) 2022-05-06 2022-05-06 基于忆阻器的非易失sram存内计算电路、阵列和方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210487335.5A CN117079687A (zh) 2022-05-06 2022-05-06 基于忆阻器的非易失sram存内计算电路、阵列和方法

Publications (1)

Publication Number Publication Date
CN117079687A true CN117079687A (zh) 2023-11-17

Family

ID=88704796

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210487335.5A Pending CN117079687A (zh) 2022-05-06 2022-05-06 基于忆阻器的非易失sram存内计算电路、阵列和方法

Country Status (1)

Country Link
CN (1) CN117079687A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118333119A (zh) * 2024-06-13 2024-07-12 温州核芯智存科技有限公司 存算单元、存算方法、存内计算区块及神经网络电路组件

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118333119A (zh) * 2024-06-13 2024-07-12 温州核芯智存科技有限公司 存算单元、存算方法、存内计算区块及神经网络电路组件

Similar Documents

Publication Publication Date Title
CN110427171B (zh) 可扩展的定点数矩阵乘加运算的存内计算设备和方法
Sun et al. XNOR-RRAM: A scalable and parallel resistive synaptic architecture for binary neural networks
Sun et al. Fully parallel RRAM synaptic array for implementing binary neural network with (+ 1,− 1) weights and (+ 1, 0) neurons
Song et al. Pipelayer: A pipelined reram-based accelerator for deep learning
CN112101534A (zh) 用于深度神经网络的可重新配置存储器压缩技术
EP3671748A1 (en) In-memory computing for machine learning
US11302392B2 (en) Analog-to-digital converter and neuromorphic computing device including the same
CN114546335B (zh) 一种多比特输入与多比特权重乘累加的存内计算装置
US11574173B2 (en) Power efficient near memory analog multiply-and-accumulate (MAC)
US11620504B2 (en) Neuromorphic device based on memory
CN112992232B (zh) 一种多位正负单比特存内计算单元、阵列及装置
CN114300012B (zh) 一种解耦合sram存内计算装置
TW202135076A (zh) 記憶體裝置、計算裝置及計算方法
Liu et al. Bit-transformer: Transforming bit-level sparsity into higher preformance in reram-based accelerator
KR20220118924A (ko) 컴퓨트 인 메모리 누산기
Ma et al. In-memory computing: The next-generation ai computing paradigm
CN117079687A (zh) 基于忆阻器的非易失sram存内计算电路、阵列和方法
CN117608519A (zh) 基于10t-sram的带符号乘法与乘累加运算电路
CN115587620A (zh) 神经形态装置和包括该神经形态装置的电子装置
CN117316237B (zh) 时域8t1c-sram存算单元及时序跟踪量化的存算电路
CN115424645A (zh) 计算器件、存储器控制器和执行存储器中计算的方法
US20220238151A1 (en) In-memory computation device and in-memory computation method
CN115312090A (zh) 一种存内计算电路及方法
CN116543807A (zh) 一种基于近似计算的高能效sram存内计算电路和方法
CN116543808A (zh) 一种基于sram单元的全数字域存内近似计算电路

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination