CN115048075A - 基于电容耦合的sram存算一体芯片 - Google Patents

基于电容耦合的sram存算一体芯片 Download PDF

Info

Publication number
CN115048075A
CN115048075A CN202210457425.XA CN202210457425A CN115048075A CN 115048075 A CN115048075 A CN 115048075A CN 202210457425 A CN202210457425 A CN 202210457425A CN 115048075 A CN115048075 A CN 115048075A
Authority
CN
China
Prior art keywords
module
sram
input
data
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
CN202210457425.XA
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.)
Peking University
Original Assignee
Peking 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 Peking University filed Critical Peking University
Priority to CN202210457425.XA priority Critical patent/CN115048075A/zh
Publication of CN115048075A publication Critical patent/CN115048075A/zh
Priority to PCT/CN2023/083070 priority patent/WO2023207441A1/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/52Multiplying; Dividing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

本发明提供一种基于电容耦合的SRAM存算一体芯片,包括:输入模块、按位乘法模块、电容衰减模块以及输出模块,通过输入模块接收输入数据;通过按位乘法模块实现输入数据与存储数据的乘法运算,得到乘法运算结果;并采用电容衰减模块,以层次化电容衰减器结构乘法运算结果的按层累加,不仅结构更加简单,而且计算时间更短,可以快速得到数字累加结果,提高乘法累加运算的能量效率以及计算吞吐。

Description

基于电容耦合的SRAM存算一体芯片
技术领域
本发明涉及集成电路设计技术领域,尤其涉及一种基于电容耦合的SRAM存算一体芯片。
背景技术
存内计算(Compute-In-Memory,CIM)技术,是指把传统以计算为中心的架构转变为以数据为中心的架构,其直接利用存储器进行数据处理,从而把数据存储与计算融合在同一个芯片当中,即构成存算一体芯片,可以彻底消除冯诺依曼计算架构瓶颈,降低数据传输造成的额外功耗和性能损失。静态随机存取存储器(Static Random Access Memory,SRAM)因其高速、低功耗和高鲁棒性的特点,可被广泛用于构造存算一体芯片。
目前,存算一体芯片可以作为神经网络模型的乘法累加运算的硬件化实现,但是现有的存算一体芯片,为了实现多比特的数据累加,通常采用基于电荷的CIM结构,在模拟域使用开关阵列和额外的控制信号实现电荷共享电路,共享控制复杂,延时大,对存算一体芯片的计算性能产生极大影响。
发明内容
本发明提供一种基于电容耦合的SRAM存算一体芯片,用以解决现有技术中存在的缺陷。
本发明提供一种基于电容耦合的SRAM存算一体芯片,包括:输入模块、按位乘法模块、电容衰减模块以及输出模块,所述输入模块、所述按位乘法模块、所述电容衰减模块以及所述输出模块依次连接;
所述输入模块用于接收输入数据;
所述按位乘法模块包括多个位乘法单元,每个所述位乘法单元均用于基于电容耦合原理,将所述输入数据与按位存储的存储数据的一位数据进行乘法运算,得到所述存储数据的一位数据对应的乘法运算结果;
所述电容衰减模块包括两层电容衰减器阵列,第一层电容衰减器阵列中的每个第一类电容衰减器分别连接于相邻两个位乘法单元之间,第二层电容衰减器阵列中的每个第二类电容衰减器分别连接于相邻两个第一类电容衰减器之间;所述电容衰减模块用于将所述存储数据的各位数据对应的乘法运算结果进行按层累加,得到多比特数据模拟累加结果;
所述输出模块用于确定并输出所述多比特数据模拟累加结果对应的数字累加结果。
根据本发明提供的一种基于电容耦合的SRAM存算一体芯片,所述输入模块包括输入稀疏感知模块以及输入稀疏比较模块,所述输入稀疏感知模块与所述按位乘法模块连接;
所述输出模块包括Flash模数转换模块,所述输入稀疏感知模块、所述输入稀疏比较模块以及所述Flash模数转换模块依次连接;
所述输入稀疏感知模块用于将所述输入数据转换为模拟电压;
所述输入稀疏比较模块用于将所述模拟电压与第一参考电压进行比较,得到第一比较结果;
所述Flash模数转换模块用于基于所述第一比较结果,将所述多比特数据模拟累加结果与第二参考电压进行比较,得到第二比较结果,并将所述第二比较结果作为所述数字累加结果。
根据本发明提供的一种基于电容耦合的SRAM存算一体芯片,所述SRAM存算一体芯片的工作模式包括存储操作模式以及计算操作模式;
所述存储操作模式下,所述输入模块以及所述输出模块不工作;
所述计算操作模式下,所述SRAM存算一体芯片对所述输入数据与所述存储数据进行乘法累加运算。
根据本发明提供的一种基于电容耦合的SRAM存算一体芯片,所述输入稀疏比较模块包括多个第一比较器,所述Flash模数转换模块包括多个Flash模数转换单元,每个所述Flash模数转换单元包括多个第二比较器;
所述第一比较器与所述第二比较器一一对应连接,且每个所述第一比较器的第一参考电压与对应连接的所述第二比较器的第二参考电压相同。
根据本发明提供的一种基于电容耦合的SRAM存算一体芯片,所述Flash模数转换单元的数量与所述第二类电容衰减器的数量相同。
根据本发明提供的一种基于电容耦合的SRAM存算一体芯片,所述位乘法单元包括一列9T1C单元阵列,所述9T1C单元阵列包括多个9T1C单元;
所述SRAM存算一体芯片还包括SRAM读写外部结构,所述SRAM读写外部结构与所述9T1C单元连接。
根据本发明提供的一种基于电容耦合的SRAM存算一体芯片,所述9T1C单元包括六个第一类晶体管以及三个第二类晶体管,所述第一类晶体管与所述第二类晶体管均与所述SRAM读写外部结构连接;
所述六个第一类晶体管用于存储所述存储数据的一位数据;
所述三个第二类晶体管用于计算所述六个第一类晶体管存储的所述存储数据的一位数据与所述输入数据的对应位进行乘法运算。
根据本发明提供的一种基于电容耦合的SRAM存算一体芯片,所述SRAM读写外部结构包括SRAM控制器、SRAM外围电路以及地址解码驱动;
所述SRAM控制器分别与所述SRAM外围电路以及所述地址解码驱动连接,所述SRAM外围电路以及所述地址解码驱动均与所述9T1C单元连接。
根据本发明提供的一种基于电容耦合的SRAM存算一体芯片,所述SRAM存算一体芯片还包括存内计算控制器,所述存内计算控制器分别与所述输入模块以及所述输出模块连接。
根据本发明提供的一种基于电容耦合的SRAM存算一体芯片,所述存储数据包括神经网络中的多个4位的权重数据。
本发明提供的基于电容耦合的SRAM存算一体芯片,包括:输入模块、按位乘法模块、电容衰减模块以及输出模块,通过输入模块接收输入数据;通过按位乘法模块实现输入数据与存储数据的乘法运算,得到乘法运算结果;并采用电容衰减模块,以层次化电容衰减器结构乘法运算结果的按层累加,不仅结构更加简单,而且计算时间更短,可以快速得到数字累加结果,提高乘法累加运算的能量效率以及计算吞吐。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明提供的基于电容耦合的SRAM存算一体芯片的结构示意图之一;
图2是本发明提供的基于电容耦合的SRAM存算一体芯片中的4b-DAC的结构示意图;
图3是本发明提供的基于电容耦合的SRAM存算一体芯片中DAC阵列、输入稀疏感知模块与按位乘法模块连接示意图;
图4是本发明提供的基于电容耦合的SRAM存算一体芯片中每个位乘法单元的结构示意图;
图5是本发明提供的基于电容耦合的SRAM存算一体芯片中9T1C单元的乘法操作时序图;
图6是本发明提供的基于电容耦合的SRAM存算一体芯片的按位乘法模块中每个位乘法单元包括一列9T1C单元阵列时,按位乘法模块与电容衰减模块的连接示意图
图7是本发明提供的基于电容耦合的SRAM存算一体芯片中9T1C单元和HCA列的版图;
图8是本发明提供的基于电容耦合的SRAM存算一体芯片的结构示意图之二;
图9是本发明提供的基于电容耦合的SRAM存算一体芯片带输入稀疏感知的MAC运算的工作时序图;
图10是本发明提供的基于电容耦合的SRAM存算一体芯片在不同温度和工艺角下的模拟计算转移函数、线性拟合结果和工艺涨落的蒙特卡洛仿真示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
神经网络在模式识别、自动控制、金融分析、生物医疗等领域都得到了广泛应用并取得了优异的表现,卷积神经网络作为人工神经网络中应用最为广泛的一种网络,在图像处理方面的表现尤为出色。然而随着任务的复杂度不断增加,神经网络的规模不断增大,网络中的参数量、计算量也越来越大,这也就意味着神经网络映射到硬件上所消耗的资源和功耗日益增加。卷积神经网络中最核心,也是占比最多的运算为乘法累加(MultiplyAccumulate,MAC)运算,因而实现一个低功耗卷积神经网络的关键在于低功耗MAC运算单元的设计。
存内计算(Compute-In-Memory,CIM)技术,旨在把传统以计算为中心的架构转变为以数据为中心的架构,其直接利用存储器进行数据处理,从而把数据存储与计算融合在同一个芯片当中,可以彻底消除冯·诺依曼计算架构瓶颈,特别适用于深度学习神经网络(Deep Convolution Neural Network,DCNN)这种大数据量大规模并行的应用场景。这种系统架构由于存储单元和计算单元集成在一起,不仅保留了存储电路本身所具有的存储和读写功能,同时可以支持不同的逻辑或者乘加运算,从而在很大程度上减少了中央处理器和存储器电路之间频繁的总线交互,也进一步降低了大量的数据搬移量,能够以超低的功耗进行大量并行的计算,极大地提升了系统的能量效率,是推动人工智能应用实现高能效计算的一个极具潜力的研究方向。
以前的CIM结构,与传统冯·诺依曼架构相比,具有显著的能效和吞吐量优势。现有的SRAM-CIM通过晶体管电流实现MAC运算。但是,基于电流的计算非线性和涨落较差,导致DCNN的精度显著下降。基于电荷域计算的CIM,电容器的失配和工艺变化较小,具有较好的非线性和精度。然而,基于电荷域计算的CIM仍然面临一些挑战,包括:
第一,实现点乘的存储和计算单元设计需要在晶体管数量、尺寸和计算动态范围之间进行权衡,如采用8T1C单元,晶体管数目少,但在动态范围内会有阈值损失,而采用10T1C单元,虽然可以实现轨到轨的动态范围,但其存储和计算单元较大。
第二,为了实现多比特的权重累加,基于电荷域的CIM在模拟域使用开关阵列和额外的控制信号实现电荷共享电路,或者在数字域使用移位器组和加法器组,前者共享控制复杂,延时大,后者功耗大,面积大。
第三,将模拟MAC运算结果转换为数字编码的多位模数转换器(Analog-to-Digital Converter,ADC)消耗大量的能源,对整体能源效率造成严重影响。
也就是说,现有的存算一体芯片,在实现多比特的数据累加时,因为在模拟域使用了开关阵列和额外的控制信号实现电荷共享电路,所以导致了共享控制复杂、延时大、降低存算一体芯片的计算性能以及能源效率等问题。为此,现急需提供一种基于电容耦合的SRAM存算一体芯片,以解决多比特数据累加时出现的问题。
图1为本发明实施例中提供的一种基于电容耦合的SRAM存算一体芯片的结构示意图,如图1所示,该芯片包括:输入模块1、按位乘法模块2、电容衰减模块3以及输出模块4;
所述输入模块1、所述按位乘法模块2、所述电容衰减模块3以及所述输出模块4依次连接;
所述输入模块1用于接收输入数据;
所述按位乘法模块2包括多个位乘法单元21,每个所述位乘法单元均用于基于电容耦合原理,将所述输入数据与按位存储的存储数据的一位数据进行乘法运算,得到所述存储数据的一位数据对应的乘法运算结果;
所述电容衰减模块3包括两层电容衰减器阵列,第一层电容衰减器阵列31中的每个第一类电容衰减器311分别连接于相邻两个位乘法单元21之间,第二层电容衰减器阵列32中的每个第二类电容衰减器321分别连接于相邻两个第一类电容衰减器311之间;
所述电容衰减模块3用于将所述存储数据的各位数据对应的乘法运算结果进行按层累加,得到多比特数据模拟累加结果;
所述输出模块4用于确定并输出所述多比特数据模拟累加结果对应的数字累加结果。
具体地,本发明实施例中提供的基于电容耦合的SRAM存算一体芯片,为实现输入数据的接收,输入模块1可以包括数模转换器(Digital-to-Analog Converter,DAC)阵列,DAC阵列中可以包括多个DAC,每个DAC的位数可以根据每个位乘法单元中按位存储的单个存储数据的位数、单个输入数据的位数进行确定,三者可以一致,例如可以均为4位(即4b)。此时,DAC阵列中可以包括多个4b-DAC,每个4b-DAC均可以用于接收一个4b的输入数据。DAC阵列中包括的4b-DAC数量可以根据需要进行设定,例如可以设定为128。
每个4b-DAC的结构均可以如图2所示,每个4b-DAC均通过片外偏置(Off-chipexternal bias)提供驱动电压。考虑到芯片设计中电压基准设计的难度和准确度,为了设计上的方便,本发明实施例中片外偏置为每个4b DAC提供的驱动电压包括16个,从GND到VDD的1/16VDD为梯度,在芯片上主要实现的是4-16的译码器功能。将一个4b的输入数据(4bInput)输入至一个4b DAC中,得到译码结果(DAC-OUT)。
按位乘法模块2可以包括多个位乘法单元21,按位乘法模块2中位乘法单元21的数量可以根据需要进行设置,例如可以设置为64,即按位乘法模块2共可以实现64个4b的存储数据与输入数据的按位乘法运算。每个位乘法单元21可以包括与DAC阵列中DAC数量相同的计算单元,以使DAC与计算单元一一对应连接。在每个计算单元内可以存储有对应位的存储数据(即1b的存储数据)。
每个计算单元中包括电容,进而可以通过电容耦合原理,实现连接的DAC输出的译码结果与存储的对应位的存储数据之间的乘法运算,则每个位乘法单元可以实现所有输入数据与一个存储数据的一位数据进行乘法运算,可以得到该存储数据的一位数据对应的乘法运算结果。由此,4个相邻的位乘法单元可以共同实现所有输入数据与按位存储的一个4b的存储数据的乘法运算。
本发明实施例中,电容衰减模块3包括两层电容衰减器(Capacity Attenuator,CA)阵列,第一层电容衰减器阵列31中的每个第一类电容衰减器311分别连接于相邻两个位乘法单元21之间,第二层电容衰减器阵列32中的每个第二类电容衰减器321分别连接于相邻两个第一类电容衰减器311之间。
第一类电容衰减器311与第二类电容衰减器321的衰减系数可以根据每一个存储数据的各位数据的比例进行确定,例如第一类电容衰减器311的衰减系数可以是AC=0.5,此时第一类电容衰减器311是1/2CA,第二类电容衰减器321的衰减系数可以是AC=0.25,此时第二类电容衰减器321是1/4CA。
通过电容衰减模块3的结构,可以将每个存储数据的各位数据对应的乘法运算结果进行按层累加,得到每个存储数据的多比特数据模拟累加结果。
与4个相邻的位乘法单元对应的两个第一类电容衰减器311以及一个第二类电容衰减器321可以构成层次化电容衰减器(Hierarchical Capacitor Attenuator,HCA)结构。因此,与按位乘法模块2连接的电容衰减模块3,共可以包括64个HCA结构,实现64个4b的存储数据与输入数据的按位乘法运算结果的累加。
相比于基于权重电容阵列和补偿电容阵列的电容共享的累加方式,HCA结构并未采用开关阵列用于模拟数据的暂存和电荷共享。因此,HCA结构更加简单。
此外,本发明实施例中,电容衰减模块3可以通过强的外加电压进行驱动,以实现电压稳定输出,相比于基于电容共享的权重累加模式通过弱的内部电压再平衡实现电压稳态输出的方式,得到多比特数据模拟累加结果的计算时间更短。
芯片中的输出模块4可以包括多个模数转换器(Analog-to-Digital Converter,ADC),每个DAC的位数可以根据每个位乘法单元中按位存储的单个存储数据的位数进行确定,例如可以均为4位。此时,输出模块4中可以包括多个4b-ADC,每个4b-ADC均与一个HCA结构连接,将每个存储数据对应的多比特数据模拟累加结果转换为数字累加结果,并将该数字累加结果进行输出。
本发明实施例中提供的基于电容耦合的SRAM存算一体芯片,包括:输入模块、按位乘法模块、电容衰减模块以及输出模块,通过输入模块接收输入数据;通过按位乘法模块实现输入数据与存储数据的乘法运算,得到乘法运算结果;并采用电容衰减模块,以层次化电容衰减器结构乘法运算结果的按层累加,不仅结构更加简单,而且计算时间更短,可以快速得到数字累加结果,提高乘法累加运算的能量效率以及计算吞吐。
在上述实施例的基础上,本发明实施例中提供的基于电容耦合的SRAM存算一体芯片,所述输入模块包括输入稀疏感知模块以及输入稀疏比较模块,所述输入稀疏感知模块与所述按位乘法模块连接;
所述输出模块包括Flash模数转换模块,所述输入稀疏感知模块、所述输入稀疏比较模块以及所述Flash模数转换模块依次连接;
所述输入稀疏感知模块用于将所述输入数据转换为模拟电压;
所述输入稀疏比较模块用于将所述模拟电压与第一参考电压进行比较,得到第一比较结果;
所述Flash模数转换模块用于基于所述第一比较结果,将所述多比特数据模拟累加结果与第二参考电压进行比较,得到第二比较结果,并将所述第二比较结果作为所述数字累加结果。
具体地,本发明实施例中,输入模块除包括DAC阵列之外,还可以包括输入稀疏感知模块以及输入稀疏比较模块,DAC阵列、输入稀疏感知模块与按位乘法模块连接。如图3所示,DAC阵列中每个DAC得到的译码结果可以表示为IA[i],0≤i≤N-1,N为DAC阵列中的DAC数量,可以为128。可以理解的是,无论输入模块中是否包含有输入稀疏感知模块以及输入稀疏比较模块,IA[i]均可以输入至位乘法单元进行乘法运算。
输入稀疏感知模块可以是IS-DAC(Input Sparsity Sensing DAC),可以包括NMOS11以及多个感知支路,感知支路与DAC阵列中的DAC一一对应连接,IS-DAC共可以包括一个NMOS和128个感知支路,NMOS负责放电,NMOS的源极可以接地,NMOS的栅极可以接收外部的复位信号(RST_IS)。
每个感知支路包括开关12和电容13,DAC、开关12以及电容13依次连接,IS-DAC则可以包括由128个开关构成的开关阵列以及由128个电容构成的电容阵列。所有电容的另一极板均分别与NMOS的集电极和输入稀疏比较模块连接。开关阵列可以接收外部的栅极连接控制信号(IS-Eval),IS-DAC结合开关阵列的控制信号,通过电容阵列以电容耦合的方式将所有的IA[i]转换成一个代表输入稀疏度的模拟电压VIS
输入稀疏比较模块可以包括输入稀疏比较器阵列(Input Sparsity Comparator,IS-CA),包括多个第一比较器,第一比较器的数量可以根据需要进行设置,例如可以包括15个。IS-CA通过外部的使能信号(IS_SA_EN)进行控制。每个第一比较器的反相端接有第一参考电压Vref[j],0≤j≤M-1,M为IS-CA中比较器的数量,可以为15。
IS-CA中每个第一比较器可以将模拟电压VIS与第一参考电压Vref[j]进行比较,得到第一比较结果,即1b的温度计码DR[j],IS-CA则可以输出15b的温度计码DR<0:14>。
输出模块可以包括Flash模数转换模块,Flash模数转换模块中可以包括多个Flash模数转换单元(Flash-AD),每个Flash-AD均可以是一个4b-ADC,因此Flash模数转换模块可以看作是4b-Flash-AD阵列。Flash模数转换模块中Flash-AD的数量可以与存储数据的数量相同,即Flash模数转换模块中共可以包括64个Flash-AD,可以分别记为Flash-AD<k>,0≤k≤K-1,K为Flash模数转换模块中Flash-AD的数量,可以为64。
每个Flash-AD可以包括多个第二比较器,Flash-AD中第二比较器与IS-CA中第一比较器一一对应连接,因此每个Flash-AD中比较器可以有15个。Flash-AD中每个第二比较器均有第二参考电压,Flash-AD中第二比较器可以基于对应的第一比较器的第一比较结果,将多比特数据模拟累加结果与第二参考电压进行比较,得到第二比较结果,并将该第二比较结果作为多比特数据模拟累加结果对应的数字累加结果输出。
IS-CA中的第一比较器与Flash-AD中第二比较器均为强臂比较器(strong-armcomparator),IS-CA中的第一比较器按与IS-DAC的距离由近至远的顺序,第一参考电压由低至高。同理,Flash-AD中第二比较器按连接的IS-CA中的第一比较器与IS-DAC的距离由近至远的顺序,第二参考电压由低至高。
因此,每个Flash-AD中,第一个第二比较器可以表示为L-Comp<0>,其对应的第二参考电压的取值范围为0-400mV。最后一个第二比较器可以表示为H-Comp<14>,其对应的第二参考电压的取值范围为400-900mV。
本发明实施例中,采用输入稀疏感知模块、输入稀疏比较模块以及Flash模数转换模块结合的方式,可以实现芯片的高吞吐率。Flash模数转换模块拥有轨到轨的译码范围。由于MAC运算中,整个动态范围是很少能达到的,特别是当输入数据是稀疏的情况下。为此,基于输入稀疏感知模块实时的感知输入稀疏特性的输入稀疏感知策略,用于Flash模数转换模块的译码,以减少比较次数,从而实现能量的减低。该策略在不考虑存储数据的情况下,估计128个4b的输入数据的和并且量化,根据量化的结果,允许跳过冗余的比较器工作。
在上述实施例的基础上,本发明实施例中提供的基于电容耦合的SRAM存算一体芯片,所述SRAM存算一体芯片的工作模式包括存储操作模式以及计算操作模式;
所述存储操作模式下,所述输入模块以及所述输出模块不工作;
所述计算操作模式下,所述SRAM存算一体芯片对所述输入数据与所述存储数据进行乘法累加运算。
具体地,本发明实施例中,SRAM存算一体芯片的工作模式可以包括两种,分别为存储操作(SRAM)模式以及计算操作(CIM)模式。存储操作模式是指将存储数据按位存储至SRAM存算一体芯片中的操作模式,存储位置可以是位乘法单元中。计算操作模式是指将输入数据与存储数据进行计算的操作模式。
在存储操作模式下,输入模块以及输出模块均不工作。
在计算操作模式下,SRAM存算一体芯片中所有模块均进行工作,对输入数据与存储数据进行乘法累加运算。
在上述实施例的基础上,本发明实施例中提供的基于电容耦合的SRAM存算一体芯片,所述输入稀疏比较模块包括多个第一比较器,所述Flash模数转换模块包括多个Flash模数转换单元,每个所述Flash模数转换单元包括多个第二比较器;
所述第一比较器与所述第二比较器一一对应连接,且每个所述第一比较器的第一参考电压与对应连接的所述第二比较器的第二参考电压相同。
具体地,本发明实施例中,第一比较器的第一参考电压与连接的第二比较器的第二参考电压可以相同,如此可以保证通过输入稀疏度对第二比较器的工作状态进行准确判断,进而在减少工作的第二比较器的数量的情况下提高输出结果的准确性。
在上述实施例的基础上,本发明实施例中提供的基于电容耦合的SRAM存算一体芯片,所述Flash模数转换单元的数量与所述第二类电容衰减器的数量相同。
具体地,本发明实施例中,Flash-AD的数量与第二类电容衰减器的数量相同,且可以一一对应连接,如此可以保证每个Flash模数转换单元实现一个4b的存储数据对应的数字累加结果的确定及输出。
在上述实施例的基础上,本发明实施例中提供的基于电容耦合的SRAM存算一体芯片,所述输入稀疏感知模块可以通过电容耦合的方式将128个4b的输入数据转换成一个代表着输入稀疏度的模拟电压VIS。然后IS-CA将VIS与第一比较器的第一参考电压进行比较。第一比较结果为15b的温度计码DR[0:14],代表着量化后的输入稀疏度。温度计码DR[0:14]在读出阶段决定每个Flash-AD中15个第二比较器的工作状态和第二比较结果。
第二比较器的控制逻辑为:当温度计码DR[i]=0时,其相对应的第二比较器Comp<i>将会被跳过比较,其比较结果会被置为0。当温度计码DR[i]=1时,其相对应的第二比较器Comp<i>将会正常工作,产生输出。
在上述实施例的基础上,本发明实施例中提供的基于电容耦合的SRAM存算一体芯片,所述位乘法单元包括一列9T1C单元阵列,所述9T1C单元阵列包括多个9T1C单元;
所述SRAM存算一体芯片还包括SRAM读写外部结构,所述SRAM读写外部结构与所述9T1C单元连接。
具体地,本发明实施例中,每个位乘法单元均可以包括一列9T1C单元阵列,每个9T1C单元阵列包括多个9T1C单元。每个9T1C单元均为一个计算单元,包含有9个晶体管T和1个电容(Cbitcell)。通过9T实现存储以及乘法运算,通过电容的电容耦合原理将乘法运算结果累积在电容的上极板。
该SRAM存算一体芯片还可以包括SRAM读写外部结构,该SRAM读写外部结构可以通过字线WL、位线BL/BLB与每个9T1C单元连接,以实现对每个9T1C的驱动及控制。
本发明实施例中,采用9T1C单元阵列作为位乘法单元,实现存储数据的一位数据与输入数据的乘法运算,相比于现有技术中的8T1C和10T1C,平衡了晶体管数目与动态范围,提高了芯片性能。
在上述实施例的基础上,本发明实施例中提供的基于电容耦合的SRAM存算一体芯片,所述9T1C单元包括六个第一类晶体管以及三个第二类晶体管,所述第一类晶体管与所述第二类晶体管均与所述SRAM读写外部结构连接;
所述六个第一类晶体管用于存储所述存储数据的一位数据;
所述三个第二类晶体管用于计算所述六个第一类晶体管存储的所述存储数据的一位数据与所述输入数据的对应位进行乘法运算。
具体地,如图4所示,每个位乘法单元可以包括一列9T1C单元阵列,9T1C单元阵列包括多个9T1C单元,每个9T1C单元可以用于对存储数据的一位数据进行存储。每个9T1C单元阵列中9T1C单元的数量可以与输入数据的数量相同,例如可以均为128。
每个9T1C单元的输入均为IA[i],每个9T1C单元中,输入线IA[i]将9个晶体管T分为上面6T和下面3T。上面6T可以是第一类晶体管,主要用于存储数据的一位数据的存储,下面3T可以是第二类晶体管,用于输入数据与上面6T中存储的一位数据的乘法运算。
6T中包括节点Q和节点QB,输入数据则以电压形式存储至节点Q。3T中第一个T与第二个T并列后与第三个T串联,QB[i]以及Q[i]分别为与第一个T与第二个T的栅极连接的线上的电压。每个9T1C单元中的电容C与第三个T并列,电容C的上极板电压可以表示为Mult[i],可以用于表征IA[i]与Q点存储的一位数据的乘积运算结果。
图4中,每个9T1C单元均连接有字线WL[i]以及位线BL、位线BLB,每个9T1C单元均包含有计算线CL。计算线CL上连接有用于复位的开关,该开关接通后相应计算线可以接收到复位信号(RST_MAC)。
每个9T1C单元的操作真值表如表1所示,4b Input与IA的对应关系如表2所示。
表1 9T1C单元的操作真值表
Figure BDA0003619303020000151
表2 4b Input与IA的对应关系表
4b Input IA 4b Input IA
0000 GND 1000 8/15 VDD
0001 1/15 VDD 1001 9/15 VDD
0010 2/15 VDD 1010 10/15 VDD
0011 3/15 VDD 1011 11/15 VDD
0100 4/15 VDD 1100 12/15 VDD
0101 5/15 VDD 1101 13/15 VDD
0110 6/15 VDD 1110 14/15 VDD
0111 7/15 VDD 1111 VDD
从表1和表2可以看出,9T1C单元具有轨到轨的动态范围,大于8T1C设计。所用电容为~1.33f MOM电容,可在芯片制备时放置在9T晶体管上方,具有较小的面积开销。4b的存储数据中的1b数据存储在每个9T1C单元中,4b的输入数据作为4b-DAC生成的模拟电压施加在输入线IA[0:127]上,用于驱动对应行上所有的一位数据为1的电容的上极板Mult[i]。
9T1C单元的乘法操作可以包括两个阶段:复位(reset)和输出评估(evaluation),如图5所示。9T1C单元的乘法操作从将电容C的上底板复位到GND开始。此处,有两种复位方式。如果Q=0,则与QB相连的晶体管T打开并将计算线(CL)拉低至GND。如果Q=1,传输门打开并将CL拉低到IA,即复位阶段的GND。复位后,模拟电压施加到IA。当且仅当Q=1时,模拟电压才能传输到节点Mult。多个存储数据存储在9T1C单元阵列中的多个9T1C单元中,多个9T1C单元并行化进行乘法操作,并且在评估阶段将多个输入数据作为驱动电压应用于IA。基于电容耦合原理,产生的电压V_CL与存储数据的1b数据和4b的输入数据的按位MAC运算结果成正比。
在上述实施例的基础上,本发明实施例中提供的基于电容耦合的SRAM存算一体芯片,图6为按位乘法模块中每个位乘法单元包括一列9T1C单元阵列时,按位乘法模块与电容衰减模块的连接示意图。
图6中仅示出了一个4b的存储数据对应的4个相邻的位乘法单元以及一个HCA结构中包括的第一层电容衰减器阵列中的两个第一类电容衰减器、第二层电容衰减器阵列中的一个第二类电容衰减器。该4b的存储数据中4位数据分别表示为W[0]、W[1]、W[2]、W[3],每位数据对应一个计算线,分别为CL[0]、CL[1]、CL[2]、CL[3]。
两个第一类电容衰减器分别为Cw01、Cw02,一个第二类电容衰减器为Cw01/23,Cw01分别与CL[0]、CL[1]连接,Cw02分别与CL[2]、CL[3]连接,Cw01/23分别与CL[1]、CL[3]连接。
如图6所示,128个4b的IA与一个存储数据的4个1b数据的乘法运算结果分别存放在CL[3]、CL[2]、CL[1]和CL[0]上。HCA结果中的2个第一类电容衰减器的衰减系数AC=0.5,可以通过计算W[0](W[2])和W[1](W[3])数据对的和确定,一个第二类电容衰减器的衰减系数AC=0.25,可以通过计算W[0:1]和W[2:3]数据对的和确定。上述计算过程即按照一位数据的比例来确定各电容衰减器的衰减系数AC,并且这个过程是分层次的。
通过在输出点看进去的每个支路CL[0]、CL[1]、CL[2]和CL[3]的电容贡献满足1:2:4:8的计算,可以确定相关的电容值分别为:
Cw01=Cw23=128Cbitcell
Cw01/23=64Cbitcell
由于9T1C单元的乘法操作可以包括reset阶段和evaluation阶段。在reset阶段,第一类电容衰减器以及第二类电容器衰减的上极板和下极板均放电至GND。而在evaluation阶段,所有4b的输入数据都通过4b-DAC输入到9T1C单元阵列中,将9T1C单元中的电容的上极板钳在一个固定的由4b-DAC产生的电压。然后,当由4个位乘法单元中所有的9T1C单元中的电容和HCA结构中的电容衰减器组成的耦合电容阵列重新达到一个稳态时,代表着计算结果的HCA结构的输出电压VHCA就产生了。VHCA会被4b的Flash模数转换模块进行量化,输出4b的计算结果。理想情况下,不考虑寄生电容,VHCA可以通过以下公式计算得到:
Figure BDA0003619303020000171
其中,IAi是第i行的输入,wi,j是第i行、第j列存储的存储数据的一位数据,为0或者1,IAmax,i为最大的输入值,对于4b的输入数据,IAmax,i为15。
在上述实施例的基础上,本发明实施例中提供的基于电容耦合的SRAM存算一体芯片,9T1C单元的晶体管面积大小为0.7um×1.42um,1.33fF的MOM电容面积为0.55um×1.42um。
图7为9T1C单元和HCA列的版图,其中包括4列9T1C单元和1个HCA结构,展现一个4b的权重数据的乘法累加的实现版图。考虑到版图的对称性和匹配,做以下三点改进:第一,HCA结构中的Cw0/Cw23和Cw0/23电容分别被拆分为128和64个9T1C单元层级的单位电容Cbitcell。这些小的单位电容在保证预设的比例情况下,分布在整个按位乘法模块的版图中。因此,对于每一行,7个不同功能的9T1C单元层级的小电容分布在4个9T1C单元的晶体管层面的版图。第二,将W[2]列和W[3]列交换位置,使得列布局从左到右依次变为W[0],W[1],W[3]和W[2],实现了一个中心对称的版图布局,使得W[0:1]和W[2:3]之间的模拟计算失配能够最小化。第三,引入了64个虚拟电容,和64个Cw01/23的小电容相互交织排布,可以最大化电容阵列版图的对称性,使得随机失配的影响降到最小。
图7中,A均为单位电容Cbitcell,B均为第一类电容衰减器,C均为虚拟电容,D均为第二类电容衰减器。
在上述实施例的基础上,本发明实施例中提供的基于电容耦合的SRAM存算一体芯片,所述SRAM读写外部结构可以包括SRAM控制器(SRAM Controller)、SRAM外围电路(SRAMPeripheral circuits)以及地址解码驱动(Address Decoder&Driver)。
SRAM读写外部结构SRAM控制器可以分别与SRAM外围电路以及地址解码驱动连接,用以实现对芯片的存储功能的全局控制。SRAM外围电路以及地址解码驱动均与9T1C单元连接,以保证存储数据可以按位存储至每个9T1C单元中。
本发明实施例中,通过SRAM控制器可以实现芯片存储功能的自动化实现。
在上述实施例的基础上,本发明实施例中提供的基于电容耦合的SRAM存算一体芯片,所述SRAM存算一体芯片还可以包括存内计算控制器(CIM Controller),存内计算控制器可以分别与输入模块以及输出模块连接。通过存内计算控制器,可以实现对芯片的计算功能的全局控制。
在上述实施例的基础上,本发明实施例中提供的基于电容耦合的SRAM存算一体芯片,所述存储数据包括神经网络中的多个4位的权重数据。
具体地,本发明实施例中,神经网络中通常包括大量的4位的权重数据,均可以将其作为存储数据按位存储至芯片中的位乘法单元,并将其与神经网络的输入数据进行乘法累加运算,进而可以实现神经网络中卷积核的功能。
图8为本发明实施例中提供的基于电容耦合的SRAM存算一体芯片的完整结构示意图,该芯片可以实现神经网络中64个卷积核单个实现128次运算的需求。该芯片包括128×256的9T1C单元阵列、SRAM控制器、SRAM外围电路、地址解码器驱动、CIM控制器、128个4b-DAC、IS-DAC、IS-CA、包含有1×64个HCA的电容衰减模块以及包含有1×64个4b-ADC的Flash模数转换模块。9T1C单元阵列的大小为128×256,该芯片的存储容量为32kb。9T1C单元阵列的256列一共分为64个组,每个组包含4列,用于存放一个4b的权重数据。
在SRAM模式下,4b-DAC、IS-DAC、IS-CA、4b-ADC均不工作,此时,该芯片为6T-SRAM存储器,进行正常的读写操作,在该模式下,神经网络的权重数据会写入到SRAM中。在CIM模式下,该芯片完全并行执行4b MAC运算,单个周期内,所有行进行4b的输入数据的输入,该芯片共可以支持128个4b的输入数据,可以分别表示为IN[0][0:3]、IN[1][0:3]、…、IN[127][0:3]。输入数据经对应的4b-DAC可以得到对应的译码结果IA[0]、IA[1]、…、IA[127]。
通过电容耦合方式在模拟域计算128个输入数据和64个128×4b权重的向量矩阵乘法。Flash模数转换模块将代表MAC运算结果的模拟电压转换为4b数字码输出。另外,如果要实现更高位宽的计算,可以通过串行输入计算结合移位累加器实现。
SRAM外围电路为9T1C单元阵列中的每个9T1C单元提供位线BL/BLB,地址解码驱动为每个9T1C单元提供字线WL。
在9T1C单元阵列与电容衰减模块之间还连接有CIM控制器控制的开关,该开关可以接地,用以实现对应计算线CL[i]的复位(RST)。
如图9所示,为输入模块中包括输入稀疏感知模块以及输入稀疏比较模块、输出模块包括Flash模数转换模块的带输入稀疏感知的MAC运算的工作时序图。从图9中可以看出,带输入稀疏感知的MAC运算的工作时序分为输入稀疏感知(Input Sparsity Sensing,IS)和MAC运算两个相独立而又通过温度计码DR[0:14]相互联系的过程。IS过程分为:复位(Reset_IS)和输出评估(Evaluation_IS)两个过程。MAC运算过程也分为复位(Reset_MAC)和输出评估(Evaluation_MAC)两个过程。CLK为芯片的工作时钟,该工作时钟通过时序控制模块产生RST_IS、EVAL_IS(即图2中的IS-Eval)、SA_EN_IS(即图3中的IS_SA_EN)、RST_MAC、EVAL_MAC(表示MAC运算过程中感知支路中开关的栅极连接控制信号)和SA_EN_MAC(表示MAC运算过程中IS-CA的使能信号)。RST_IS与EVAL_IS、RST_MAC与EVAL_MAC是两个反相的信号。SA_EN_IS和SA_EN_MAC均用于Evaluation阶段的读出。在整个过程中,将RST_IS的信号提前至RST_MAC信号之前,这样使得DR[0:14]可以在MAC运算阶段之前就能够产生,从而控制Flash模数转换模块中第二类比较器的工作状态和输出。在输入数据输入至芯片之前,IS-DAC通过RST_IS信号完成重置。然后在输入数据输入至芯片之后,IS-DAC马上进行模拟域中输入稀疏度的评估,产生VIS,然后准备通过IS-CA开始VIS的量化。同时,MAC运算的Reset_MAC过程正在进行。当Evaluation_MAC过程开始的时候,IS-CA已经产生了DR[0:14]。这样的工作时序使得输入稀疏感知策略的加入并不会降低芯片计算的吞吐率。
综上所述,本发明实施例中提供的基于电容耦合的SRAM存算一体芯片,采用9T1C单元,该单元以电容耦合方式在电容域进行乘法运算;通过层次化衰减电容结构实现4b的存储数据的累加,该结构没有传统电荷共享结构的额外的开关、复杂的控制,和长的共享时间,大大提高了多比特权重数据计算系统的计算吞吐;采用基于输入稀疏感知策略的Flash模数转换模块,可以降低AD的比较次数,提高系统的能效。该芯片可以支持8192个4b×4b的MAC运算。
基于以上内容,模拟了基于电容耦合的SRAM存算一体芯片在3种温度(-40/27/85℃)和3种工艺角(TT/SS/FF)组合共9种情况下的模拟计算传递函数。仿真时,给按位乘法模块中所有的9T1C单元的存储位置写1,然后从小到大、等梯度的输入相应的模式,然后记录HCA结构输出的电压VHCA的大小,便可得到电压VHCA和MAC运算结果之间的关系曲线,如图10所示。图10的横坐标为MAC运算结果,纵坐标为电压VHCA,单位为V。曲线可以表示为:
y=0.4676x-1.6388,R2=1
在不同的温度和工艺角组合下,模拟计算传递函数没有显著差异,对27℃下TT角的结果进行线性拟合,发现拟合优度R2=1,说明该芯片可以实现具有良好的线性MAC运算,也说明温度和工艺相关的非理想性对其稳定性影响较小。此外,可以在曲线上选取三个点,分别位于MAC=360、960和1560,给出了基于500个蒙特卡罗模拟结果的工艺涨落变化。这三个点涨落的最大标准差为0.297mV。因此,由于传递函数线性拟合良好,且温度和工艺变化小,该芯片可以为卷积神经网络的应用提供了有效的计算。
另外,对芯片的结构进行了模拟计算电压建立时间的仿真。仿真时,先将9T1C单元的存储位置全部写1,然后从小到大、等梯度输入相应的模式,使得MAC运算结果逐渐递增。128个4b的输入数据与4b的权重数据的MAC运算的模拟电压的平均建立时间为0.2ns。与传统的基于权重电容阵列的电荷共享的多比特权重累加的方案比较,该芯片的模拟电压建立时间减少了90%,从而使得该芯片在计算吞吐量上相对于电荷共享的方案有了50%的提升。模拟电压建立时间的减少和吞吐量的提升主要得益于在该芯片的模拟电压是在强烈且明确的外部施加的电压下建立的,而电荷共享结构下模拟电压是在微弱且浮动的内部电压下通过电势的再平衡建立的。
本发明实施例中,还比较了存在和不存在输入稀疏感知策略的情况下不同输入稀疏度下该芯片的能效。在这两种情况下,该芯片的能效都随着输入稀疏度的增加而增加,并且增量越来越大。在不存在输入稀疏感知策略的情况下增量的存在表明9T1C单元节省了具有稀疏点积结果的电容器的驱动器成本。在较低的稀疏度(<30%)下,由于IS-DAC和IS-CA的成本,存在输入稀疏感知策略的结果低于不存在输入稀疏感知策略的结果。当输入稀疏度较高(>30%)时,存在输入稀疏感知策略的结果明显大于不存在输入稀疏感知策略的结果,这要归功于计算期间Flash模数转换模块中的大量跳过第二类比较器。该芯片引入的输入稀疏感知策略,在5%到95%的输入稀疏度下实现了460~2264.4TOPS/W的高能效。在平均能效方面,存在输入稀疏感知策略的结果显示提高了12.8%,达到666TOPS/W的高能效。
如表3所示为本发明实施例中提供的芯片结构与现有芯片结构的性能对比情况表,本发明实施例中提供的芯片结构实现了更高的能效和吞吐量,与现有芯片结构相比分别提高了10倍和1.84倍。并且行为模拟结果显示CIFAR-10数据集中的分类精度与其他工作相当。表3中现有芯片结构均以给出结构的文章出处的形式体现。
表3所示为本发明实施例中提供的芯片结构与现有芯片结构的性能对比情况表
Figure BDA0003619303020000221
Figure BDA0003619303020000231
Figure BDA0003619303020000241
其中,表3中尾注的含义如下:1表示本地计算单元的平均面积(Average areaconsidered local computing cell);2表示1b权重MAC运算的电流计算和多位权重累加的电荷共享(Current computation for 1b weight MAC and charge-sharing for multi-bit weight accumulation);3表示根据描述估计得到(Estimated from thedescription),4表示从提出的以NMOS作为传输门开关的结构估计得到(Estimated fromthe proposed structure with NMOS as transmission gate);5表示从图中估计得到(Estimated from the graph);6表示归一化为4b/4b输入/权重操作(Normalized to 4b/4b input/weight operation);7表示一个MAC运算算作两次运算(即乘法和加法)(One MACis counted as two operations(multiplication and addition));8表示考虑比较器偏移电压的行为仿真结果(Behavioral simulation result considering comparatoroffset voltage)。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (10)

1.一种基于电容耦合的SRAM存算一体芯片,其特征在于,包括:输入模块、按位乘法模块、电容衰减模块以及输出模块,所述输入模块、所述按位乘法模块、所述电容衰减模块以及所述输出模块依次连接;
所述输入模块用于接收输入数据;
所述按位乘法模块包括多个位乘法单元,每个所述位乘法单元均用于基于电容耦合原理,将所述输入数据与按位存储的存储数据的一位数据进行乘法运算,得到所述存储数据的一位数据对应的乘法运算结果;
所述电容衰减模块包括两层电容衰减器阵列,第一层电容衰减器阵列中的每个第一类电容衰减器分别连接于相邻两个位乘法单元之间,第二层电容衰减器阵列中的每个第二类电容衰减器分别连接于相邻两个第一类电容衰减器之间;所述电容衰减模块用于将所述存储数据的各位数据对应的乘法运算结果进行按层累加,得到多比特数据模拟累加结果;
所述输出模块用于确定并输出所述多比特数据模拟累加结果对应的数字累加结果。
2.根据权利要求1所述的基于电容耦合的SRAM存算一体芯片,其特征在于,所述输入模块包括输入稀疏感知模块以及输入稀疏比较模块,所述输入稀疏感知模块与所述按位乘法模块连接;
所述输出模块包括Flash模数转换模块,所述输入稀疏感知模块、所述输入稀疏比较模块以及所述Flash模数转换模块依次连接;
所述输入稀疏感知模块用于将所述输入数据转换为模拟电压;
所述输入稀疏比较模块用于将所述模拟电压与第一参考电压进行比较,得到第一比较结果;
所述Flash模数转换模块用于基于所述第一比较结果,将所述多比特数据模拟累加结果与第二参考电压进行比较,得到第二比较结果,并将所述第二比较结果作为所述数字累加结果。
3.根据权利要求2所述的基于电容耦合的SRAM存算一体芯片,其特征在于,所述SRAM存算一体芯片的工作模式包括存储操作模式以及计算操作模式;
所述存储操作模式下,所述输入模块以及所述输出模块不工作;
所述计算操作模式下,所述SRAM存算一体芯片对所述输入数据与所述存储数据进行乘法累加运算。
4.根据权利要求2所述的基于电容耦合的SRAM存算一体芯片,其特征在于,所述输入稀疏比较模块包括多个第一比较器,所述Flash模数转换模块包括多个Flash模数转换单元,每个所述Flash模数转换单元包括多个第二比较器;
所述第一比较器与所述第二比较器一一对应连接,且每个所述第一比较器的第一参考电压与对应连接的所述第二比较器的第二参考电压相同。
5.根据权利要求4所述的基于电容耦合的SRAM存算一体芯片,其特征在于,所述Flash模数转换单元的数量与所述第二类电容衰减器的数量相同。
6.根据权利要求1所述的基于电容耦合的SRAM存算一体芯片,其特征在于,所述位乘法单元包括一列9T1C单元阵列,所述9T1C单元阵列包括多个9T1C单元;
所述SRAM存算一体芯片还包括SRAM读写外部结构,所述SRAM读写外部结构与所述9T1C单元连接。
7.根据权利要求6所述的基于电容耦合的SRAM存算一体芯片,其特征在于,所述9T1C单元包括六个第一类晶体管以及三个第二类晶体管,所述第一类晶体管与所述第二类晶体管均与所述SRAM读写外部结构连接;
所述六个第一类晶体管用于存储所述存储数据的一位数据;
所述三个第二类晶体管用于计算所述六个第一类晶体管存储的所述存储数据的一位数据与所述输入数据的对应位进行乘法运算。
8.根据权利要求6所述的基于电容耦合的SRAM存算一体芯片,其特征在于,所述SRAM读写外部结构包括SRAM控制器、SRAM外围电路以及地址解码驱动;
所述SRAM控制器分别与所述SRAM外围电路以及所述地址解码驱动连接,所述SRAM外围电路以及所述地址解码驱动均与所述9T1C单元连接。
9.根据权利要求1-8中任一项所述的基于电容耦合的SRAM存算一体芯片,其特征在于,所述SRAM存算一体芯片还包括存内计算控制器,所述存内计算控制器分别与所述输入模块以及所述输出模块连接。
10.根据权利要求1-8中任一项所述的基于电容耦合的SRAM存算一体芯片,其特征在于,所述存储数据包括神经网络中的多个4位的权重数据。
CN202210457425.XA 2022-04-27 2022-04-27 基于电容耦合的sram存算一体芯片 Pending CN115048075A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202210457425.XA CN115048075A (zh) 2022-04-27 2022-04-27 基于电容耦合的sram存算一体芯片
PCT/CN2023/083070 WO2023207441A1 (zh) 2022-04-27 2023-03-22 基于电容耦合的sram存算一体芯片

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210457425.XA CN115048075A (zh) 2022-04-27 2022-04-27 基于电容耦合的sram存算一体芯片

Publications (1)

Publication Number Publication Date
CN115048075A true CN115048075A (zh) 2022-09-13

Family

ID=83157158

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210457425.XA Pending CN115048075A (zh) 2022-04-27 2022-04-27 基于电容耦合的sram存算一体芯片

Country Status (2)

Country Link
CN (1) CN115048075A (zh)
WO (1) WO2023207441A1 (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115664422A (zh) * 2022-11-02 2023-01-31 北京大学 一种分布式逐次逼近型模数转换器及其运算方法
CN115658012A (zh) * 2022-09-30 2023-01-31 杭州智芯科微电子科技有限公司 向量乘加器的sram模拟存内计算装置和电子设备
CN115794728A (zh) * 2022-11-28 2023-03-14 北京大学 一种存内计算位线钳位与求和外围电路及其应用
CN116029351A (zh) * 2023-03-30 2023-04-28 南京大学 基于光电存算单元的模拟域累加读出电路
WO2023207441A1 (zh) * 2022-04-27 2023-11-02 北京大学 基于电容耦合的sram存算一体芯片

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117316237B (zh) * 2023-12-01 2024-02-06 安徽大学 时域8t1c-sram存算单元及时序跟踪量化的存算电路

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111144558B (zh) * 2020-04-03 2020-08-18 深圳市九天睿芯科技有限公司 基于时间可变的电流积分和电荷共享的多位卷积运算模组
CN111611529B (zh) * 2020-04-03 2023-05-02 深圳市九天睿芯科技有限公司 电容容量可变的电流积分和电荷共享的多位卷积运算模组
US11176991B1 (en) * 2020-10-30 2021-11-16 Qualcomm Incorporated Compute-in-memory (CIM) employing low-power CIM circuits employing static random access memory (SRAM) bit cells, particularly for multiply-and-accumluate (MAC) operations
CN113658628B (zh) * 2021-07-26 2023-10-27 安徽大学 一种用于dram非易失存内计算的电路
CN115048075A (zh) * 2022-04-27 2022-09-13 北京大学 基于电容耦合的sram存算一体芯片

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023207441A1 (zh) * 2022-04-27 2023-11-02 北京大学 基于电容耦合的sram存算一体芯片
CN115658012A (zh) * 2022-09-30 2023-01-31 杭州智芯科微电子科技有限公司 向量乘加器的sram模拟存内计算装置和电子设备
CN115658012B (zh) * 2022-09-30 2023-11-28 杭州智芯科微电子科技有限公司 向量乘加器的sram模拟存内计算装置和电子设备
CN115664422A (zh) * 2022-11-02 2023-01-31 北京大学 一种分布式逐次逼近型模数转换器及其运算方法
CN115664422B (zh) * 2022-11-02 2024-02-27 北京大学 一种分布式逐次逼近型模数转换器及其运算方法
CN115794728A (zh) * 2022-11-28 2023-03-14 北京大学 一种存内计算位线钳位与求和外围电路及其应用
CN115794728B (zh) * 2022-11-28 2024-04-12 北京大学 一种存内计算位线钳位与求和外围电路及其应用
CN116029351A (zh) * 2023-03-30 2023-04-28 南京大学 基于光电存算单元的模拟域累加读出电路
CN116029351B (zh) * 2023-03-30 2023-06-13 南京大学 基于光电存算单元的模拟域累加读出电路

Also Published As

Publication number Publication date
WO2023207441A1 (zh) 2023-11-02

Similar Documents

Publication Publication Date Title
US11714749B2 (en) Efficient reset and evaluation operation of multiplying bit-cells for in-memory computing
CN115048075A (zh) 基于电容耦合的sram存算一体芯片
US11948659B2 (en) Sub-cell, mac array and bit-width reconfigurable mixed-signal in-memory computing module
Liu et al. Parallelizing SRAM arrays with customized bit-cell for binary neural networks
Chou et al. Cascade: Connecting rrams to extend analog dataflow in an end-to-end in-memory processing paradigm
Chen et al. CAP-RAM: A charge-domain in-memory computing 6T-SRAM for accurate and precision-programmable CNN inference
CN111144558B (zh) 基于时间可变的电流积分和电荷共享的多位卷积运算模组
US11875244B2 (en) Enhanced dynamic random access memory (eDRAM)-based computing-in-memory (CIM) convolutional neural network (CNN) accelerator
Jiang et al. A two-way SRAM array based accelerator for deep neural network on-chip training
US20220276835A1 (en) Sub-cell, Mac array and Bit-width Reconfigurable Mixed-signal In-memory Computing Module
Ha et al. A 36.2 dB high SNR and PVT/leakage-robust eDRAM computing-in-memory macro with segmented BL and reference cell array
CN115080501A (zh) 基于局部电容电荷共享的sram存算一体芯片
US11018687B1 (en) Power-efficient compute-in-memory analog-to-digital converters
Mu et al. SRAM-based in-memory computing macro featuring voltage-mode accumulator and row-by-row ADC for processing neural networks
Tsai et al. RePIM: Joint exploitation of activation and weight repetitions for in-ReRAM DNN acceleration
Lee et al. A charge-sharing based 8t sram in-memory computing for edge dnn acceleration
CN116092553A (zh) 一种兼具乘加功能的存储器
Soliman et al. A ferroelectric fet based in-memory architecture for multi-precision neural networks
Cheon et al. A 2941-TOPS/W charge-domain 10T SRAM compute-in-memory for ternary neural network
Yu et al. A 4-bit mixed-signal MAC array with swing enhancement and local kernel memory
Zhang et al. In-memory multibit multiplication based on bitline shifting
Xiao et al. A 128 Kb DAC-less 6T SRAM computing-in-memory macro with prioritized subranging ADC for AI edge applications
Kim et al. A charge-domain 10T SRAM based in-memory-computing macro for low energy and highly accurate DNN inference
CN115691613A (zh) 一种基于忆阻器的电荷型存内计算实现方法及其单元结构
Iqbal et al. A process and data variations tolerant capacitive coupled 10T1C sram for in-memory compute (IMC) in deep neural network accelerators

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