CN113488092A - 基于sram实现多比特权重存储与计算的电路及存储与模拟计算系统 - Google Patents

基于sram实现多比特权重存储与计算的电路及存储与模拟计算系统 Download PDF

Info

Publication number
CN113488092A
CN113488092A CN202110750909.9A CN202110750909A CN113488092A CN 113488092 A CN113488092 A CN 113488092A CN 202110750909 A CN202110750909 A CN 202110750909A CN 113488092 A CN113488092 A CN 113488092A
Authority
CN
China
Prior art keywords
sram
output
voltage value
terminal
bit
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
CN202110750909.9A
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 New Helium Brain Intelligence Technology Co ltd
Original Assignee
Shanghai New Helium Brain Intelligence Technology Co ltd
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 New Helium Brain Intelligence Technology Co ltd filed Critical Shanghai New Helium Brain Intelligence Technology Co ltd
Priority to CN202110750909.9A priority Critical patent/CN113488092A/zh
Publication of CN113488092A publication Critical patent/CN113488092A/zh
Pending legal-status Critical Current

Links

Images

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
    • G11C11/413Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing, timing or power reduction
    • 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
    • G11C11/413Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing, timing or power reduction
    • G11C11/414Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing, timing or power reduction for memory cells of the bipolar type
    • G11C11/416Read-write [R-W] circuits 

Landscapes

  • Engineering & Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)
  • Semiconductor Memories (AREA)

Abstract

本发明的基于SRAM实现多比特权重存储与计算的电路及存储与模拟计算系统,本发明充分利用了SRAM的特性,让SRAM不仅有存的能力,同时又具备了算的能力,通过在存储阵列中额外增加不同容值的电容N列对应不同比特,赋予其可以进行权重存储和运算的能力,并提升计算精度。

Description

基于SRAM实现多比特权重存储与计算的电路及存储与模拟计 算系统
技术领域
本发明涉及数据处理领域,特别是涉及一种基于SRAM实现多比特权重存储与计算的电路及存储与模拟计算系统。
背景技术
近年来AI相关技术的快速发展,在让我们的生活更美好的同时,也对各种应用场景下的算力提出了越来越高的要求。模拟运算(Analog Computing),省去了数据搬运造成的时间和功耗上的损失;并且适用于低功耗,高效率场景。在现有技术中,一般仅将SRAM应用于运作存储单元,并不能使SRAM作为基础的模拟运算单元,且计算的精度不能达到需求。
发明内容
鉴于以上所述现有技术的缺点,本发明的目的在于提供一种基于SRAM实现多比特权重存储与计算的电路及存储与模拟计算系统,解决了现有技术中一般仅将SRAM应用于运作存储单元,并不能使SRAM作为基础的模拟运算单元,且计算的精度不能达到需求的问题。
为实现上述目的及其他相关目的,本发明提供一种基于SRAM实现多比特权重存储与计算的电路,用于进行模拟计算和/或储存流程,所述电路包括:N列对应不同比特10TSRAM单元,且对应第N比特的各10T SRAM单元的第一输入输出端分别连接第N比特位线LBLT-N端,其第二输入输出端分别连接第N比特位线LBLF-N端;其中,N为大于或等于1的整数,且对应第N比特的所述10T SRAM单元包括:6T SRAM单元,具有同时输入输出数据的输入输出端Q1以及Q2;第一NMOS管、第二NMOS管、第三NMOS管以及第四NMOS管;一端接地且依次连接的2N-1个第一电容以及2N-1个第二电容,且所述第一电容以及第二电容的储存的电荷量均为Cu;六个CMOS传输门,依次记为P1~P6;并且其中,所述6T SRAM单元的输入输出端Q1分别连接第N比特位线BL-N1端以及所述第二NMOS管的栅极,所述6T SRAM单元的输入输出端Q2分别连接第N比特位线BL-N2端以及所述第四NMOS管的栅极;所述第一NMOS管的漏极连接所述所述第二NMOS管的漏极,所述第三NMOS管的漏极连接所述第四NMOS管的漏极,且所述第一NMOS管的源极连接距离接地端最远的第一电容的一端,所述第三NMOS管的源极连接距离接地端最远的第二电容的一端;所述距离接地端最远的第一电容的一端还分别连接CMOS传输门P1、CMOS传输门P2以及CMOS传输门P3;所述距离接地端最远的第二电容的一端分别连接CMOS传输门P4、CMOS传输门P5以及CMOS传输门P6;与所述CMOS传输门P3以及CMOS传输门P6连接的输出端GRBL;读字线RWL分别与所述第一NMOS管的栅极、所述第三NMOS管的栅极、所述所述距离接地端最远的第一电容的一端、距离接地端最远的第二电容的一端、第N比特位线BL-N1端以及第N比特位线BL-N2端连接;字线控制端WL和使能控制端EN分别连接至所述电路的相应电平;所述正向平均电压输出端Pavg以及反向平均电压值输出端Navg分别与CMOS传输门P1、CMOS传输门P2、CMOS传输门P4以及CMOS传输门P5正向连接以及反向连接。
于本发明的一实施例中,所述模拟计算流程包括:在一个时钟信号内的充电步骤以及计算步骤。
于本发明的一实施例中,所述充电步骤包括:当所述读字线RWL、字线控制端WL和使能控制端EN输出为高电平时,所述CMOS传输门P3以及CMOS传输门P6输出为低电平时,各第一电容和第二电容分别依次充电为6T SRAM单元中预先存储的输入输出端Q1以及Q2的电压;当所述读字线RWL、字线控制端WL和使能控制端EN输出为低电平时,所述CMOS传输门P3以及CMOS传输门P6输出为高电平,各第一电容和第二电容放电到和GRBL电压相同。
于本发明的一实施例中,所述计算步骤包括:基于单比特计算步骤,分别计算对应各比特的第N比特位线LBLT-N端以及第N比特位线LBLF-N端各自的电荷量;基于模拟计算步骤,根据对应各比特的所述10T SRAM单元的第N比特位线LBLT-N端以及第N比特位线LBLF-N端各自的电荷量获得电路的输出电压值。
于本发明的一实施例中,所述单比特计算步骤包括:若对应第N比特的10T SRAM单元中的6T SRAM单元存0,所述第二NMOS管截止,则LBLT-N端的电压VLBLT-N为所述输出端GRBL输出电压值VGRBL,则LBLT-N端的电荷量为QNT=2N-1×Cu×VGRBL,所述第四NMOS管通电,则LBLF-N端的电压VLBLF-N为0,则LBLF-N端的电荷量QNF为0若对应第N比特的10T SRAM单元中的6T SRAM单元存1,所述第二NMOS管通电,则LBLT-N端的电压VLBLT-N为0,则LBLT-N端的电荷量QNT为0,LBLF-N端的电压VLBLF-N为为所述输出端GRBL输出电压值VGRBL,则LBLF-N端的电荷量为QNF=2N-1×Cu×VGRBL
于本发明的一实施例中,所述模拟计算步骤包括:对应各比特的第N比特位线LBLT-N端以及第N比特位线LBLF-N端各自的电荷量QNT以及QNF获得正向平均电压值输出端Pavg输出的电压VPavg以及所述反向平均电压值输出端Navg输出电压值VNavg;根据正向平均电压值输出端Pavg输出的电压VPavg以及所述反向平均电压值输出端Navg输出电压值VNavg计算输出电压值V为:V=VPavg-VNavg
于本发明的一实施例中,所述对应各比特的第N比特位线LBLT-N端以及第N比特位线LBLF-N端各自的电荷量QNT以及QNF获得正向平均电压值输出端Pavg输出的电压VPavg以及所述反向平均电压值输出端Navg输出电压值VNavg的方式包括:分别对对应各比特的第N比特位线LBLT-N端的电荷量QNT以及对应各比特的10T SRAM单元对应的第一电容的个数2N-1及每个第一电容的电荷量Cu进行求和获得电荷量求和值QT以及所有第一电容的总电荷量NC,根据电荷量求和值QT以及所有第一电容的总电荷量NC获得正向平均电压值输出端Pavg输出的电压VPavg为:
Figure BDA0003146223400000031
分别对对应各比特的第N比特位线LBLF-N端的电荷量QNF以及对应各比特的10T SRAM单元对应的第一电容的个数2N-1及每个第一电容的电荷量Cu进行求和获得电荷量求和值QF以及所有第一电容的总电荷量NC,根据电荷量求和值QF以及所有第一电容的总电荷量NC获得所述反向平均电压值输出端Navg输出电压值VNavg为:
Figure BDA0003146223400000032
于本发明的一实施例中,所述储存流程包括:写入流程以及读出流程;其中,所述写入流程包括:当字线控制端WL以及使能控制端EN同时输出为高电平时,所述对应第N比特的所述10T SRAM单元的6T SRAM单元的输入输出端Q1以及Q2写入数据;所述读出流程包括:当所述使能控制端EN输出为高电平时,所述对应第N比特的所述10T SRAM单元的6T SRAM单元的输入输出端Q1以及Q2读出数据。
为实现上述目的及其他相关目的,本发明提供一种存储与模拟计算系统,所述系统包括:由多个所述的基于SRAM实现多比特权重存储与计算的电路构成的SRAM阵列;计算模块,连接所述SRAM阵列,用于基于模拟计算公式对所述SRAM阵列的输出电压值进行模拟计算。
于本发明的一实施例中,所述模拟计算公式包括:
Figure BDA0003146223400000033
Figure BDA0003146223400000034
其中,所述k为所述SRAM阵列中的第k行的电路,i为所述SRAM阵列中的第i列的电路,所述VY为为输出电压值,所述VPavg为所述SRAM阵列的正向平均电压值输出端Pavg输出的正向平均电压值,所述VNavg为所述SRAM阵列的反向平均电压值输出端Navg输出电压值,所述VY,k为所述SRAM阵列中各电路的输出电压值的平均值,所述wk,i为第k行第i列的电路对应的对应第N比特的所述10T SRAM单元的6T SRAM单元的输入输出端的输出值,VGRBLi为第k行第i列的电路中输出端GRBL的输出电压值。
如上所述,本发明的一种基于SRAM实现多比特权重存储与计算的电路及存储与模拟计算系统,具有以下有益效果:本发明充分利用了SRAM的特性,让SRAM不仅有存的能力,同时又具备了算的能力,通过在存储阵列中额外增加不同容值的电容N列对应不同比特,赋予其可以进行权重存储和运算的能力,并提升计算精度。
附图说明
图1显示为本发明一实施例中的基于SRAM实现多比特权重存储与计算的电路的结构示意图。
图2显示为本发明一实施例中的存储与模拟计算系统的结构示意图。
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
需要说明的是,在下述描述中,参考附图,附图描述了本发明的若干实施例。应当理解,还可使用其他实施例,并且可以在不背离本发明的精神和范围的情况下进行机械组成、结构、电气以及操作上的改变。下面的详细描述不应该被认为是限制性的,并且本发明的实施例的范围仅由公布的专利的权利要求书所限定。这里使用的术语仅是为了描述特定实施例,而并非旨在限制本发明。空间相关的术语,例如“上”、“下”、“左”、“右”、“下面”、“下方”、““下部”、“上方”、“上部”等,可在文中使用以便于说明图中所示的一个元件或特征与另一元件或特征的关系。
在通篇说明书中,当说某部分与另一部分“连接”时,这不仅包括“直接连接”的情形,也包括在其中间把其它元件置于其间而“间接连接”的情形。另外,当说某种部分“包括”某种构成要素时,只要没有特别相反的记载,则并非将其它构成要素,排除在外,而是意味着可以还包括其它构成要素。
其中提到的第一、第二及第三等术语是为了说明多样的部分、成分、区域、层及/或段而使用的,但并非限定于此。这些术语只用于把某部分、成分、区域、层或段区别于其它部分、成分、区域、层或段。因此,以下叙述的第一部分、成分、区域、层或段在不超出本发明范围的范围内,可以言及到第二部分、成分、区域、层或段。
再者,如同在本文中所使用的,单数形式“一”、“一个”和“该”旨在也包括复数形式,除非上下文中有相反的指示。应当进一步理解,术语“包含”、“包括”表明存在所述的特征、操作、元件、组件、项目、种类、和/或组,但不排除一个或多个其他特征、操作、元件、组件、项目、种类、和/或组的存在、出现或添加。此处使用的术语“或”和“和/或”被解释为包括性的,或意味着任一个或任何组合。因此,“A、B或C”或者“A、B和/或C”意味着“以下任一个:A;B;C;A和B;A和C;B和C;A、B和C”。仅当元件、功能或操作的组合在某些方式下内在地互相排斥时,才会出现该定义的例外。
本发明实施例中提供一种基于SRAM实现多比特权重存储与计算的电路,本发明充分利用了SRAM的特性,让SRAM不仅有存的能力,同时又具备了算的能力,通过在存储阵列中额外增加不同容值的电容N列对应不同比特,赋予其可以进行权重存储和运算的能力,并提升计算精度。
下面以附图为参考,针对本发明的实施例进行详细说明,以便本发明所述技术领域的技术人员能够容易地实施。本发明可以以多种不同形态体现,并不限于此处说明的实施例。
如图1所示,展示本发明实施例中的基于SRAM实现多比特权重存储与计算的电路的结构示意图。
用于进行模拟计算和/或储存流程,所述电路包括:
N个对应不同比特权重的且依次按列排列的10T SRAM单元,且对应第N比特的各10T SRAM单元的第一输入输出端分别连接第N比特位线LBLT-N端,其第二输入输出端分别连接第N比特位线LBLF-N端;N为为大于或等于1的整数;例如,图1中的LBL_T0_0、LBL_F0_0、LBL_T0_1、LBL_F0_1、LBL_T0_N-1以及LBL_F0_N-1;
其中,对应第N比特的所述10T SRAM单元包括:6T SRAM单元6T,具有同时输入输出数据的输入输出端Q1以及Q2;第一NMOS管NM1、第二NMOS管NM2、第三NMOS管NM3以及第四NMOS管NM4;一端接地且依次连接的2N-1个第一电容C1以及2N-1个第二电容C2,且所述第一电容以及第二电容的储存的电荷量均为Cu;六个CMOS传输门,依次记为P1~P6;
并且其中,所述6T SRAM单元6T的输入输出端Q1分别连接连接第N比特位线BL-N1端以及所述第二NMOS管NM2的栅极,所述6T SRAM单元6T的输入输出端Q2分别连接连接第N比特位线BL-N2端以及所述第四NMOS管NM4的栅极;所述第一NMOS管NM1的漏极连接所述所述第二NMOS管NM2的漏极,所述第三NMOS管NM3的漏极连接所述第四NMOS管NM4的漏极,且所述第一NMOS管NM1的源极连接距离接地端最远的第一电容C1的一端,所述第三NMOS管NM3的源极连接距离接地端最远的第二电容C2的一端;所述距离接地端最远的第一电容C1的一端还分别连接CMOS传输门P1、CMOS传输门P2以及CMOS传输门P3;所述距离接地端最远的第二电容C2的一端分别连接CMOS传输门P4、CMOS传输门P5以及CMOS传输门P6;与所述CMOS传输门P3以及CMOS传输门P6连接的输出端GRBL;读字线RWL分别与所述第一NMOS管NM1的栅极、所述第三NMOS管NM3的栅极、所述距离接地端最远的第一电容C1的一端、距离接地端最远的第二电容C2的一端、第N比特位线BL-N1端以及第N比特位线BL-N2端连接;字线控制端WL和使能控制端EN分别连接至所述电路的相应电平;所述正向平均电压输出端Pavg以及反向平均电压值输出端Navg分别与CMOS传输门P1、CMOS传输门P2、CMOS传输门P4以及CMOS传输门P5正向连接以及反向连接。
需要说明的是,图1中以三个10T SRAM单元为例,本申请的10T SRAM单元个数不以此为限制。
可选的,所述CMOS传输门P1、CMOS传输门P2、CMOS传输门P4以及CMOS传输门P5用于在所述模拟计算流程中需进行正向平均电压值和/或反向平均电压值计算时打开开关;和/或,所述CMOS传输门P3以及CMOS传输门P6用于在所述模拟计算流程中需进行乘法计算时打开开关。
具体的,所述CMOS传输门P1、CMOS传输门P2、CMOS传输门P4以及CMOS传输门P5用于在需进行正向平均电压值和/或反向平均电压值计算时打开开关,否则则关闭开关;所述CMOS传输门P3以及CMOS传输门P6用于在所述模拟计算流程中需进行乘法计算时打开开关,否则则关闭开关。
优选的,所述CMOS传输门P1与所述CMOS传输门P4相同,所述CMOS传输门P2与所述CMOS传输门P5相同,所述CMOS传输门P3与所述CMOS传输门P6相同。
可选的,所述储存流程包括:写入流程以及读出流程;其中,所述写入流程包括:当字线控制端WL以及使能控制端EN同时输出为高电平时,所述对应第N比特的所述10T SRAM单元的6T SRAM单元的输入输出端Q1以及Q2写入数据;所述读出流程包括:所述读出流程包括:当所述使能控制端EN输出为高电平时,所述对应第N比特的所述10T SRAM单元的6TSRAM单元的输入输出端Q1以及Q2读出数据。
可选的,所述模拟计算流程包括:在一个时钟信号分割成的充电步骤以及计算步骤。
可选的,所述充电步骤包括:所述充电步骤包括:当所述读字线RWL、字线控制端WL和使能控制端EN输出为高电平时,所述CMOS传输门P3以及CMOS传输门P6输出为低电平时,各第一电容C1和第二电容C2分别依次充电为6T SRAM单元6T中预先存储的输入输出端Q1以及Q2的电压;当所述读字线RWL、字线控制端WL和使能控制端EN输出为低电平时,所述CMOS传输门P3以及CMOS传输门P6输出为高电平,各第一电容C1和第二电容C2放电到和GRBL电压相同,以完成计算步骤。
可选的,所述计算步骤包括:基于单比特计算步骤,分别计算对应各比特的第N比特位线LBLT-N端以及第N比特位线LBLF-N端各自的电荷量;基于模拟计算步骤,根据对应各比特的所述10T SRAM单元的第N比特位线LBLT-N端以及第N比特位线LBLF-N端各自的电荷量获得电路的输出电压值。
可选的,所述单比特计算步骤包括:若对应第N比特的10T SRAM单元中的6T SRAM单元存0,所述第二NMOS管NM2截止,则LBLT-N端的电压VLBLT-N为所述输出端GRBL输出电压值VGRBL,则LBLT-N端的电荷量为QNT=2N-1×Cu×VGRBL,所述第四NMOS管NM4通电,则LBLF-N端的电压VLBLF-N为0,则LBLF-N端的电荷量QF为0;若对应第N比特的10T SRAM单元中的6T SRAM单元存1,所述第二NMOS管NM2通电,则LBLT-N端的电压VLBLT-N为0,则LBLT-N端的电荷量QN为0,LBLF-N端的电压VLBLF-N为所述输出端GRBL输出电压值VGRBL,则LBLF-N端的电荷量为QNF=2N-1×Cu×VGRBL
可选的,基于不同的权重值来进行单比特计算步骤,若N等于2,则设定第1比特的10T SRAM单元为LSB权重,第2比特的10T SRAM单元为MSB权重;若N大于2,则设定第1比特的10T SRAM单元为LSB权重,第2至N-1比特的10T SRAM单元为MSB-N-1权重,第N比特的10TSRAM单元为MSB权重;
若N等于2时,权重值具有两位,且分别具有以下几种情况:
(1)权重值为00,则对应LSB权重的第1比特的10T SRAM单元的的6T SRAM单元存0,所述第二NMOS管NM2截止,则LBL_T0_0端的电压VLBL_T0_0为所述输出端GRBL输出电压值VGRBL,则LBL_T0_0端的电荷量为Q1T=Cu×VGRBL,所述第四NMOS管NM4通电,则LBL_F0_0端的电压VLBL_F0_0为0,则LBL_F0_0端的电荷量Q1F为0;则对应MSB权重的第2比特的10T SRAM单元的6TSRAM单元存0,所述第二NMOS管NM2截止,读字线RWL高电平,则LBL_T0_1端的电压VLBL_T0_1为所述输出端GRBL输出电压值VGRBL,则LBL_T0_1端的电荷量为Q2T=2Cu×VGRBL,所述第四NMOS管NM4通电,则LBL_F0_1端的电压VLBL_F0_1为0,则LBL_F0_1端的电荷量Q2F为0;
(2)权重值为10,则对应LSB权重的第1比特的10T SRAM单元的的6T SRAM单元存0,所述第二NMOS管NM2截止,则LBL_T0_0端的电压VLBL_T0_0为所述输出端GRBL输出电压值VGRBL,则LBL_T0_0端的电荷量为Q1T=Cu×VGRBL,所述第四NMOS管NM4通电,则LBL_F0_0端的电压VLBL_F0_0为0,则LBL_F0_0端的电荷量Q1F为0;则对应MSB权重的第2比特的10T SRAM单元的6TSRAM单元存1,所述第二NMOS管NM2通电,则LBL_T0_1端的电压VLBL_T0_1为0,则LBL_T0_1端的电荷量Q2T为0,LBL_F0_1端的电压VLBL_F0_1为所述输出端GRBL输出电压值VGRBL,则LBL_F0_1端的电荷量为Q2F=2Cu×VGRBL
(3)权重值为01,则对应LSB权重的第1比特的10T SRAM单元的的6T SRAM单元存1,所述第二NMOS管NM2通电,则LBL_T0_0端的电压VLBL_T0_0为0,则LBL_T0_0端的电荷量Q1T为0,LBL_F0_0端的电压VLBL_F0_0为所述输出端GRBL输出电压值VGRBL,则LBL_F0_0端的电荷量为Q1F=Cu×VGRBL;则对应MSB权重的第2比特的10T SRAM单元的6T SRAM单元存0,所述第二NMOS管NM2截止,读字线RWL高电平,则LBL_T0_1端的电压VLBL_T0_1为所述输出端GRBL输出电压值VGRBL,则LBL_T0_1端的电荷量为Q2T=2Cu×VGRBL,所述第四NMOS管NM4通电,则LBL_F0_1端的电压VLBL_F0_1为0,则LBL_F0_1端的电荷量Q2F为0;
(4)权重值为11,则对应LSB权重的第1比特的10T SRAM单元的的6T SRAM单元存1,所述第二NMOS管NM2通电,则LBL_T0_0端的电压VLBL_T0_0为0,则LBL_T0_0端的电荷量Q1T为0,LBL_F0_0端的电压VLBL_F0_0为所述输出端GRBL输出电压值VGRBL,则LBL_F0_0端的电荷量为Q1F=Cu×VGRBL;则对应MSB权重的第2比特的10T SRAM单元的6T SRAM单元存1,所述第二NMOS管NM2通电,则LBL_T0_1端的电压VLBL_T0_1为0,则LBL_T0_1端的电荷量Q2T为0,LBL_F0_1端的电压VLBL_F0_1为所述输出端GRBL输出电压值VGRBL,则LBL_F0_1端的电荷量为Q2F=2Cu×VGRBL
若N大于2时,权重值具有N位二进制数,第N位对应第N比特的10T SRAM单元,进而对应第N比特的10T SRAM单元分别计算在2N种权重值情况下分别获得的对应第N比特的10TSRAM单元的LBLT-N端以及LBLF-N端各自的电荷量,其计算步骤和N等于2类似,因此不作赘述。
可选的,所述模拟计算步骤包括:对应各比特的第N比特位线LBLT-N端以及第N比特位线LBLF-N端各自的电荷量QNT以及QNF获得正向平均电压值输出端Pavg输出的电压VPavg以及所述反向平均电压值输出端Navg输出电压值VNavg;根据正向平均电压值输出端Pavg输出的电压VPavg以及所述反向平均电压值输出端Navg输出电压值VNavg计算输出电压值V为:
V=VPavg-VNavg; (1)
可选的,所述对应各比特的第N比特位线LBLT-N端以及第N比特位线LBLF-N端各自的电荷量QNT以及QNF获得正向平均电压值输出端Pavg输出的电压VPavg以及所述反向平均电压值输出端Navg输出电压值VNavg的方式包括:
分别对对应各比特的第N比特位线LBLT-N端的电荷量QNT以及对应各比特的10TSRAM单元对应的第一电容的个数2N-1及每个第一电容的电荷量Cu进行求和获得电荷量求和值QT以及所有第一电容的总电荷量NC,根据电荷量求和值Q以及第一电容个数求和值C获得正向平均电压值输出端Pavg输出的电压VPavg为:
Figure BDA0003146223400000091
分别对对应各比特的第N比特位线LBLF-N端的电荷量QNF以及对应各比特的10TSRAM单元对应的第一电容的个数2N-1及每个第一电容的电荷量Cu进行求和获得电荷量求和值QF以及第一电容个数求和值NC,根据电荷量求和值QF以及所有第一电容的总电荷量NC获得所述反向平均电压值输出端Navg输出电压值VNavg为:
Figure BDA0003146223400000092
举例来说,对应若N等于2时,权重值具有两位,且分别具有以下几种情况:
(1)权重值为00,则LBL_T0_0端的电荷量为Q1T=Cu×VGRBL,LBL_T0_1端的电荷量为Q2T=2Cu×VGRBLLBL_F0_0端的电荷量Q1F为0,LBL_F0_1端的电荷量Q2F为0;则电荷量求和值QT
QT=Q1T+Q2T=Cu×VGRBL+2Cu×VGRBL=3Cu×VGRBL; (4)
QF=Q1F+Q2F=0; (5)
NC=(1+2)Cu=3Cu; (6)
Figure BDA0003146223400000093
Figure BDA0003146223400000094
进而,输出电压值V为:
V=VPavg-VNavg=VGRBL; (9)
(2)权重值为10,则LBL_T0_0端的电荷量为Q1T=Cu×VGRBL,LBL_T0_1端的电荷量为Q2T为0,LBL_F0_0端的电荷量Q1F为0,LBL_F0_1端的电荷量Q2F为2Cu×VGRBL;则QT=Q1T+Q2T=Cu×VGRBL+0=Cu×VGRBL;QF=2Cu×VGRBL;NC=(1+2)Cu=3Cu;
Figure BDA0003146223400000101
进而,输出电压值V为:
Figure BDA0003146223400000102
(3)权重值为01,则LBL_T0_0端的电荷量为Q1T为0,LBL_T0_1端的电荷量为Q2T为2Cu×VGRBL,LBL_F0_0端的电荷量Q1F为Cu×VGRBL,LBL_F0_1端的电荷量Q2F为0;则QT=Q1T+Q2T=2Cu×VGRBL;QF=Cu×VGRBL;NC=(1+2)Cu=3Cu;
Figure BDA0003146223400000103
Figure BDA0003146223400000104
进而,输出电压值V为:
Figure BDA0003146223400000105
(4)权重值为11,则LBL_T0_0端的电荷量为Q1T为0,LBL_T0_1端的电荷量为Q2T为0,LBL_F0_0端的电荷量Q1F为Cu×VGRBL,LBL_F0_1端的电荷量Q2F为2Cu×VGRBL;则QT=0;QF=3Cu×VGRBL;NC=(1+2)Cu=3Cu;VPavg=0;VNavg=VGRBL。进而,输出电压值V为:-VGRBL
如图2展示本发明实施例中的存储与模拟计算系统的结构示意图。
所述系统包括:
由多个如图1所示的所述的基于SRAM实现多比特权重存储与计算的电路211构成的SRAM阵列21;
计算模块22,连接所述SRAM阵列21,用于基于模拟计算公式对所述SRAM阵列的输出电压值进行模拟计算。
其中,所述基于SRAM实现存储及模拟计算的电路211包括:N列对应不同比特的10TSRAM单元2111;且对应第N比特的所述10T SRAM单元包括:6T SRAM单元,具有同时输入输出数据的输入输出端Q1以及Q2;第一NMOS管、第二NMOS管、第三NMOS管以及第四NMOS管;一端接地且依次连接的2N-1个第一电容以及2N-1个第二电容;六个CMOS传输门,依次记为P1~P6;需要说明的是,具体各部件的连接关系与图1的连接方式相同,因此在此不作赘述。
可选的,所述基于SRAM实现存储及模拟计算的电路211的数量为至少两个,而图2中均以四个为例。
可选的,所述SRAM阵列21可以复制一个基于SRAM实现存储及模拟计算的电路211的连接方法,延伸成SRAM阵列,同时具备读写以及运算能力。延伸方式可以横向在列里面延伸成N个,也可以在延伸行数成K行,一个阵列总的电路个数=N x K。
可选的,所述模拟计算公式包括:
Figure BDA0003146223400000111
Figure BDA0003146223400000112
其中,所述k为所述SRAM阵列中的第k行的电路,i为所述SRAM阵列中的第i列的电路,所述VY为为输出电压值,所述VPavg为所述SRAM阵列的正向平均电压值输出端Pavg输出的正向平均电压值,所述VNavg为所述SRAM阵列的反向平均电压值输出端Navg输出电压值,所述VY,k为所述SRAM阵列中各电路的输出电压值的平均值,所述wk,i为第k行第i列的电路对应的对应第N比特的所述10T SRAM单元的6T SRAM单元输入输出端的输出值值,VGRBLi为第k行第i列的电路中输出端GRBL的输出电压值。
具体的,所述计算模块22基于模拟计算公式对所述SRAM阵列的输出电压值进行模拟计算的方式包括:
先分别将第k行第i列的电路对应的对应第N比特的所述10T SRAM单元的6T SRAM单元的输出值与对应的第k行第i列的电路中输出端GRBL的输出电压值VGRBLi进行乘法计算,再将各电路计算的乘法值进行求和并除以电路的个数,获得所述SRAM阵列中各电路的输出电压值的平均值;
则再将同一行的电路的输出电压值进行求和,等于所述正向平均电压值输出端Pavg输出的正向平均电压值以及反向平均电压值输出端Navg输出的反向平均电压值相减值。
综上所述,本发明基于SRAM实现多比特权重存储与计算的电路及存储与模拟计算系统,本发明充分利用了SRAM的特性,让SRAM不仅有存的能力,同时又具备了算的能力,通过在存储阵列中额外增加不同容值的电容N列对应不同比特,赋予其可以进行权重存储和运算的能力,并提升计算精度。所以,本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。
上述实施例仅示例性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,但凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。

Claims (10)

1.一种基于SRAM实现多比特权重存储与计算的电路,其特征在于,用于进行模拟计算和/或储存流程,所述电路包括:N列对应不同比特的10T SRAM单元,且对应第N比特的各10TSRAM单元的第一输入输出端分别连接第N比特位线LBLT-N端,其第二输入输出端分别连接第N比特位线LBLF-N端;
其中,N为大于或等于1的整数,且对应第N比特的所述10T SRAM单元包括:
6T SRAM单元,具有同时输入输出数据的输入输出端Q1以及Q2;
第一NMOS管、第二NMOS管、第三NMOS管以及第四NMOS管;
一端接地且依次连接的2N-1个第一电容以及2N-1个第二电容,且所述第一电容以及第二电容的储存的电荷量均为Cu;
六个CMOS传输门,依次记为P1~P6;
并且其中,所述6T SRAM单元的输入输出端Q1分别连接第N比特位线BL-N1端以及所述第二NMOS管的栅极,所述6T SRAM单元的输入输出端Q2分别连接第N比特位线BL-N2端以及所述第四NMOS管的栅极;
所述第一NMOS管的漏极连接所述所述第二NMOS管的漏极,所述第三NMOS管的漏极连接所述第四NMOS管的漏极,且所述第一NMOS管的源极连接距离接地端最远的第一电容的一端,所述第三NMOS管的源极连接距离接地端最远的第二电容的一端;
所述距离接地端最远的第一电容的一端还分别连接CMOS传输门P1、CMOS传输门P2以及CMOS传输门P3;所述距离接地端最远的第二电容的一端分别连接CMOS传输门P4、CMOS传输门P5以及CMOS传输门P6;
与所述CMOS传输门P3以及CMOS传输门P6连接的输出端GRBL;
读字线RWL分别与所述第一NMOS管的栅极、所述第三NMOS管的栅极、所述所述距离接地端最远的第一电容的一端、距离接地端最远的第二电容的一端、第N比特位线BL-N1端以及第N比特位线BL-N2端连接;
字线控制端WL和使能控制端EN分别连接至所述电路的相应电平;
所述正向平均电压输出端Pavg以及反向平均电压值输出端Navg分别与CMOS传输门P1、CMOS传输门P2、CMOS传输门P4以及CMOS传输门P5正向连接以及反向连接。
2.根据权利要求1中所述的基于SRAM实现多比特权重存储与计算的电路,其特征在于,所述模拟计算流程包括:在一个时钟信号内的充电步骤以及计算步骤。
3.根据权利要求2中所述的基于SRAM实现多比特权重存储与计算的电路,其特征在于,所述充电步骤包括:
当所述读字线RWL、字线控制端WL和使能控制端EN输出为高电平时,所述CMOS传输门P3以及CMOS传输门P6输出为低电平时,各第一电容和第二电容分别依次充电为6T SRAM单元中预先存储的输入输出端Q1以及Q2的电压;
当所述读字线RWL、字线控制端WL和使能控制端EN输出为低电平时,所述CMOS传输门P3以及CMOS传输门P6输出为高电平,各第一电容和第二电容放电到和GRBL电压相同。
4.根据权利要求2中所述的基于SRAM实现多比特权重存储与计算的电路,其特征在于,所述计算步骤包括:
基于单比特计算步骤,分别计算对应各比特的第N比特位线LBLT-N端以及第N比特位线LBLF-N端各自的电荷量;
基于模拟计算步骤,根据对应各比特的所述10T SRAM单元的第N比特位线LBLT-N端以及第N比特位线LBLF-N端各自的电荷量获得电路的输出电压值。
5.根据权利要求4中所述的基于SRAM实现多比特权重存储与计算的电路,其特征在于,所述单比特计算步骤包括:
若对应第N比特的10T SRAM单元中的6T SRAM单元存0,所述第二NMOS管截止,则LBLT-N端的电压VLBLT-N为所述输出端GRBL输出电压值VGRBL,则LBLT-N端的电荷量为QNT=2N-1×Cu×VGRBL,所述第四NMOS管通电,则LBLF-N端的电压VLBLF-N为0,则LBLF-N端的电荷量QNF为0;
若对应第N比特的10T SRAM单元中的6T SRAM单元存1,所述第二NMOS管通电,则LBLT-N端的电压VLBLT-N为0,则LBLT-N端的电荷量QNT为0,LBLF-N端的电压VLBLF-N为为所述输出端GRBL输出电压值VGRBL,则LBLF-N端的电荷量为QNF=2N-1×Cu×VGRBL
6.根据权利要求5中所述的基于SRAM实现多比特权重存储与计算的电路,其特征在于,所述模拟计算步骤包括:
对应各比特的第N比特位线LBLT-N端以及第N比特位线LBLF-N端各自的电荷量QNT以及QNF获得正向平均电压值输出端Pavg输出的电压VPavg以及所述反向平均电压值输出端Navg输出电压值VNavg
根据正向平均电压值输出端Pavg输出的电压VPavg以及所述反向平均电压值输出端Navg输出电压值VNavg计算输出电压值V为:
V=VPavg-VNavg
7.根据权利要求6中所述的基于SRAM实现多比特权重存储与计算的电路,其特征在于,所述对应各比特的第N比特位线LBLT-N端以及第N比特位线LBLF-N端各自的电荷量QNT以及QNF获得正向平均电压值输出端Pavg输出的电压VPavg以及所述反向平均电压值输出端Navg输出电压值VNavg的方式包括:
分别对对应各比特的第N比特位线LBLT-N端的电荷量QNT以及对应各比特的10TSRAM单元对应的第一电容的个数2N-1及每个第一电容的电荷量Cu进行求和获得电荷量求和值QT以及所有第一电容的总电荷量NC,根据电荷量求和值QT以及所有第一电容的总电荷量NC获得正向平均电压值输出端Pavg输出的电压VPavg为:
Figure FDA0003146223390000031
分别对对应各比特的第N比特位线LBLF-N端的电荷量QNF以及对应各比特的10TSRAM单元对应的第一电容的个数2N-1及每个第一电容的电荷量Cu进行求和获得电荷量求和值QF以及所有第一电容的总电荷量NC,根据电荷量求和值QF以及所有第一电容的总电荷量NC获得所述反向平均电压值输出端Navg输出电压值VNavg为:
Figure FDA0003146223390000032
8.根据权利要求1中所述的基于SRAM实现多比特权重存储与计算的电路,其特征在于,所述储存流程包括:写入流程以及读出流程;
其中,所述写入流程包括:当字线控制端WL以及使能控制端EN同时输出为高电平时,所述对应第N比特的所述10T SRAM单元的6T SRAM单元的输入输出端Q1以及Q2写入数据;
所述读出流程包括:当所述使能控制端EN输出为高电平时,所述对应第N比特的所述10T SRAM单元的6T SRAM单元的输入输出端Q1以及Q2读出数据。
9.一种存储与模拟计算系统,所述系统包括:
由多个如权利要求1至8任一项所述的基于SRAM实现多比特权重存储与计算的电路构成的SRAM阵列;
计算模块,连接所述SRAM阵列,用于基于模拟计算公式对所述SRAM阵列的输出电压值进行模拟计算。
10.根据权利要求9中所述的存储与模拟计算系统,其特征在于,所述模拟计算公式包括:
Figure FDA0003146223390000033
Figure FDA0003146223390000034
其中,所述k为所述SRAM阵列中的第k行的电路,i为所述SRAM阵列中的第i列的电路,所述VY为为输出电压值,所述VPavg为所述SRAM阵列的正向平均电压值输出端Pavg输出的正向平均电压值,所述VNavg为所述SRAM阵列的反向平均电压值输出端Navg输出电压值,所述VY,k为所述SRAM阵列中各电路的输出电压值的平均值,所述wk,i为第k行第i列的电路对应的对应第N比特的所述10T SRAM单元的6T SRAM单元的输入输出端的输出值,VGRBLi为第k行第i列的电路中输出端GRBL的输出电压值。
CN202110750909.9A 2021-07-02 2021-07-02 基于sram实现多比特权重存储与计算的电路及存储与模拟计算系统 Pending CN113488092A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110750909.9A CN113488092A (zh) 2021-07-02 2021-07-02 基于sram实现多比特权重存储与计算的电路及存储与模拟计算系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110750909.9A CN113488092A (zh) 2021-07-02 2021-07-02 基于sram实现多比特权重存储与计算的电路及存储与模拟计算系统

Publications (1)

Publication Number Publication Date
CN113488092A true CN113488092A (zh) 2021-10-08

Family

ID=77940339

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110750909.9A Pending CN113488092A (zh) 2021-07-02 2021-07-02 基于sram实现多比特权重存储与计算的电路及存储与模拟计算系统

Country Status (1)

Country Link
CN (1) CN113488092A (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110044094A1 (en) * 2009-08-24 2011-02-24 Texas Instruments Incorporated 10T SRAM Cell with Near Dual Port Functionality
CN111431536A (zh) * 2020-05-18 2020-07-17 深圳市九天睿芯科技有限公司 子单元、mac阵列、位宽可重构的模数混合存内计算模组
KR20200103262A (ko) * 2019-02-25 2020-09-02 연세대학교 산학협력단 비트라인의 전하 공유에 기반하는 cim 장치 및 그 동작 방법
CN112581996A (zh) * 2020-12-21 2021-03-30 东南大学 基于磁性随机存储器的时域存内计算阵列结构
US20210158854A1 (en) * 2019-11-27 2021-05-27 Taiwan Semiconductor Manufacturing Company, Ltd. Compute in memory system
CN112966814A (zh) * 2021-03-17 2021-06-15 上海新氦类脑智能科技有限公司 融合脉冲神经网络信息处理方法及融合脉冲神经网络

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110044094A1 (en) * 2009-08-24 2011-02-24 Texas Instruments Incorporated 10T SRAM Cell with Near Dual Port Functionality
KR20200103262A (ko) * 2019-02-25 2020-09-02 연세대학교 산학협력단 비트라인의 전하 공유에 기반하는 cim 장치 및 그 동작 방법
US20210158854A1 (en) * 2019-11-27 2021-05-27 Taiwan Semiconductor Manufacturing Company, Ltd. Compute in memory system
CN111431536A (zh) * 2020-05-18 2020-07-17 深圳市九天睿芯科技有限公司 子单元、mac阵列、位宽可重构的模数混合存内计算模组
CN112581996A (zh) * 2020-12-21 2021-03-30 东南大学 基于磁性随机存储器的时域存内计算阵列结构
CN112966814A (zh) * 2021-03-17 2021-06-15 上海新氦类脑智能科技有限公司 融合脉冲神经网络信息处理方法及融合脉冲神经网络

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
AVISHEK BISWAS: "Conv-RAM: An Energy-Efficient SRAM with Embedded Convolution Computation for Low-Power CNN-Based Machine Learning Applications", 《IEEE INTERNATIONAL SOLID-STATE CIRCUITS CONFERENCE》, 14 February 2018 (2018-02-14), pages 488 - 489 *

Similar Documents

Publication Publication Date Title
Sun et al. Fully parallel RRAM synaptic array for implementing binary neural network with (+ 1,− 1) weights and (+ 1, 0) neurons
US11663457B2 (en) Neural network circuits having non-volatile synapse arrays
CN111523658B (zh) 双位存储单元及其在存内计算的电路结构
CN112581996A (zh) 基于磁性随机存储器的时域存内计算阵列结构
CN113467751A (zh) 一种基于磁性随机存储器的模拟域存内计算阵列结构
CN110941185B (zh) 一种用于二值神经网络的双字线6tsram单元电路
US11574173B2 (en) Power efficient near memory analog multiply-and-accumulate (MAC)
CN115048075A (zh) 基于电容耦合的sram存算一体芯片
EP3743857A2 (en) Neural network circuits having non-volatile synapse arrays
US11693560B2 (en) SRAM-based cell for in-memory computing and hybrid computations/storage memory architecture
CN112181895B (zh) 可重构架构、加速器、电路部署和计算数据流方法
CN111193511A (zh) 一种应用于基于eFlash存算一体电路的数模混合读取电路的设计
CN114937470B (zh) 基于多比特sram单元的定点全精度存内计算电路
Tsai et al. RePIM: Joint exploitation of activation and weight repetitions for in-ReRAM DNN acceleration
CN114496010A (zh) 一种基于磁性随机存储器的模拟域近存计算阵列结构
CN115691613B (zh) 一种基于忆阻器的电荷型存内计算实现方法及其单元结构
US20220319596A1 (en) Compute-in-memory array and module, and data computing method
CN113488092A (zh) 基于sram实现多比特权重存储与计算的电路及存储与模拟计算系统
TWI771014B (zh) 記憶體電路及其操作方法
CN115629734A (zh) 并行向量乘加器的存内计算装置和电子设备
CN114863964A (zh) 基于局部乘-整体加结构的存内计算电路、存储器及设备
CN112767985A (zh) 基于sram实现存储及模拟计算的电路及存储及模拟计算系统
CN115658012B (zh) 向量乘加器的sram模拟存内计算装置和电子设备
Jiang Architecture and Circuit Design Optimization for Compute-In-Memory
Krishnan et al. IMC architecture for robust DNN acceleration

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