CN116368461A - 应用采用静态随机存取存储器(sram)位单元的低功耗cim电路的内存内计算(cim),特别是用于乘法和累积(mac)运算 - Google Patents

应用采用静态随机存取存储器(sram)位单元的低功耗cim电路的内存内计算(cim),特别是用于乘法和累积(mac)运算 Download PDF

Info

Publication number
CN116368461A
CN116368461A CN202180068631.5A CN202180068631A CN116368461A CN 116368461 A CN116368461 A CN 116368461A CN 202180068631 A CN202180068631 A CN 202180068631A CN 116368461 A CN116368461 A CN 116368461A
Authority
CN
China
Prior art keywords
circuit
cim
multiplication
true
complementary
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
CN202180068631.5A
Other languages
English (en)
Inventor
K·A·谢克
B·查瓦
D·S·帕坦
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.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
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 Qualcomm Inc filed Critical Qualcomm Inc
Publication of CN116368461A publication Critical patent/CN116368461A/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/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/409Read-write [R-W] circuits 
    • G11C11/4094Bit-line management or control circuits
    • 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/544Methods 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 for evaluating functions by calculation
    • G06F7/5443Sum of products
    • 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
    • G06F7/523Multiplying only
    • 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/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/403Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells with charge regeneration common to a multiplicity of memory cells, i.e. external refresh
    • G11C11/404Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells with charge regeneration common to a multiplicity of memory cells, i.e. external refresh with one charge-transfer gate, e.g. MOS transistor, per cell
    • G11C11/4045Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells with charge regeneration common to a multiplicity of memory cells, i.e. external refresh with one charge-transfer gate, e.g. MOS transistor, per cell using a plurality of serially connected access transistors, each having a storage capacitor
    • 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/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/4074Power supply or voltage generation circuits, e.g. bias voltage generators, substrate voltage generators, back-up power, power control circuits
    • 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/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/409Read-write [R-W] circuits 
    • G11C11/4096Input/output [I/O] data management or control circuits, e.g. reading or writing circuits, I/O drivers or bit-line switches 
    • 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/412Digital 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 using field-effect transistors only
    • 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/417Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing, timing or power reduction for memory cells of the field-effect type
    • G11C11/418Address circuits
    • 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/417Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing, timing or power reduction for memory cells of the field-effect type
    • G11C11/419Read-write [R-W] circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/54Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using elements simulating biological cells, e.g. neuron
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C5/00Details of stores covered by group G11C11/00
    • G11C5/06Arrangements for interconnecting storage elements electrically, e.g. by wiring

Landscapes

  • Engineering & Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Computational Mathematics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Power Engineering (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Neurology (AREA)
  • Static Random-Access Memory (AREA)
  • Semiconductor Memories (AREA)

Abstract

一种采用包括静态随机存取存储器(SRAM)位单元电路的CIM电路的低功耗内存内计算(CIM)系统。CIM电路可以用于乘法和累积(MAC)运算。CIM电路可以包括五晶体管(5T)SRAM位单元,每个5T SRAM位单元具有耦合到存取电路以访问SRAM位单元以进行读取/写入操作的单个位线。CIM电路还包括耦合到SRAM位单元的乘法电路(例如,基于异或(XOR)的电路)。CIM电路被配置为执行由乘法电路接收的输入数据值与存储在SRAM位单元中的权重数据值的乘法。5T SRAM位单元中的存取电路的减少允许减小耦合到5T SRAM位单元的反相器的电源电压轨处的上拉电压,以减少待机功率,同时提供存储稳定性。

Description

应用采用静态随机存取存储器(SRAM)位单元的低功耗CIM电 路的内存内计算(CIM),特别是用于乘法和累积(MAC)运算
相关申请的交叉引用
本申请要求于2020年10月30日提交的题为“COMPUTE-IN-MEMORY(CIM)EMPLOYINGLOW-POWER CIM CIRCUITS EMPLOYING STATIC RANDOM ACCESS MEMORY(SRAM)BIT CELLS,PARTICULARLY FOR MULTIPLY-AND-ACCUMLUATE(MAC)OPERATIONS”的美国专利申请号17/084,779的优先权,该申请通过引用整体并入本文。
技术领域
本公开的技术总体上涉及机器学习计算,并且更具体地涉及与用于机器学习计算的静态随机存取存储器(SRAM)单元电路集成的计算机的内存内计算(CIM)电路。
背景技术
机器学习是计算设备逐步提高特定任务的性能的能力。例如,机器学习算法可以使用来自处理已知数据的结果来“训练”计算设备以便以更高精度处理新数据。神经网络是一种可以在其中实现机器学习算法的框架。神经网络是按照大脑的组织来建模的,具有多个节点,每个节点对应于大脑突触。每个节点从前面的节点接收表示输入数据的输入信号,并且生成成为后续节点的输入信号的输出。节点按顺序层被组织,使得在第一处理阶段,第一层的节点从外部源接收输入数据,并且生成提供给第二层中的每个节点的输出。在下一处理阶段,第二层的节点接收第一层中的每个节点的输出,并且随着第一层中的节点接收和处理新的外部输入,生成另外的输出以提供给第三层中的每个节点,在后续处理阶段,以此类推。
在每个节点内,通过将数字输入信号乘以相关数字权重,对每个输入信号进行唯一加权。与表示权重数据的加权输入信号相对应的乘积被求和以生成节点输出。这些操作统称为乘法和累积(MAC)运算。图1是表示可以用于神经网络的常规节点100的操作的框图。在节点100中,数字输入信号X0-XM中的每个数字输入信号被接收并且与相应数字权重数据W0-WM相乘以生成乘积P0-PM。数字权重数据W0-WM在每个处理阶段由节点100存储和重用。当处理已知数据时,可以使用基于实际结果与预期结果的比较的反馈而在机器学习方法中更新数字权重数据W0-WM。节点100使用累积或求和功能将乘积P0-PM相加在一起以生成求和信号SUM。常规节点100可以包括附加步骤,在附加步骤中,可以对SUM信号执行“激活功能”以从节点100产生OUTPUT信号。然而,激活功能超出了本公开的范围,并且在本文中不再进一步讨论。
在一组新的数字输入信号X0-XM被提供时,图1中的节点100在每个处理阶段执行“M”个乘法运算和求和函数。由执行神经网络框架的处理设备执行的操作的数目将取决于到神经网络的外部输入的数目、每个层中的节点的数目、以及神经网络中的层的数目。在大型神经网络中,处理设备必须在每个处理阶段执行数千次操作。当数字输入信号和权重是高精度浮点值时,执行MAC运算需要大量的处理时间、功率和存储器,从而消耗大量能量,其中大部分能量作为热量被耗散。此外,必须在存储器与执行MAC运算的一个或多个处理器之间传输大量数据,这可能会导致延迟,从而增加应用的响应时间。因此,在常规处理设备上执行的神经网络应用可能具有非常慢的响应时间,占用大量存储器,并且导致电池操作设备快速放电。
期望在处理器可访问的存储器系统中的存储器阵列中提供存储器电路,以存储权重数据,该权重数据可以高效地与输入数据相乘,以用于执行MAC运算,包括用于机器学习应用。
发明内容
详细描述中公开的方面包括应用采用静态随机存取存储器(SRAM)位单元的CIM电路的低功耗内存内计算(CIM)系统。作为非限制性示例,CIM电路可以用于乘法和累积(MAC)运算,诸如在机器学习应用中采用的运算。CIM电路各自包括SRAM位单元电路,SRAM位单元电路包括用于存储数据的存储电路。通过对位线进行预充电并且激活耦合在位线与存储电路之间的存取电路(例如,存取晶体管),可以从SRAM位单元电路的存储电路中读取数据。通过在位线上断言具有期望逻辑电平的电压并且激活存取电路,可以将数据写入SRAM位单元电路的存储电路。在本文中公开的各方面,CIM电路还可以在输入数据与SRAM位单元的存储电路中的存储数据之间执行乘法运算。在这点上,CIM电路包括耦合到SRAM位单元电路的乘法电路。作为示例,乘法电路可以是基于异或(XOR)的电路,该电路被配置为执行基于XOR的逻辑运算(例如,XOR或负异或(XNOR)运算)以执行乘法运算。CIM电路被配置为执行乘法电路中接收的输入信号上的输入数据与来自SRAM位单元电路中的存储数据的权重数据的乘法。CIM系统可以采用大量CIM电路。因此,可能需要减少CIM电路中的待机和/或动态功耗,以减少CIM系统中的总功耗。
在这点上,在一个示例性方面,CIM系统包括位线驱动器电路,该位线驱动器电路被配置为对耦合到CIM电路的SRAM位单元电路的位线进行预充电,以进行读取操作。因为位线驱动器电路可以耦合到多于一个CIM电路,所以要读取的SRAM位单元电路的存取电路也被激活,使得存储在存储电路中的电荷可以通过存取电路被传递到位线。为了减少对CIM电路的读取操作中的动态功率,位线驱动器电路可以被配置为将位线预充电至降低的预充电电压。例如,CIM系统可以被包括在基于处理器的系统中,该系统包括由存储器域中的存储器域电源电压(例如,VDD)供电的其他存储器阵列。作为一个示例,位线驱动器电路被配置为将位线预充电至从存储器域电源电压的电压电平降低的预充电电压电平(例如,VDD/2)。通过降低位线上的预充电电压,降低了对CIM电路的读取操作的动态功率。用于读取操作的位线的预充电中的电压摆幅也被减少,从而进一步减少了读取操作所耗散的动态功率。然而,降低用于读取操作的位线预充电电压会导致SRAM位单元的存储电路与存取电路之间的读取干扰问题。例如,在互补六晶体管(6T)SRAM位单元电路中,在位线上断言的用于读取操作的减小的位线预充电电压可能不会导致反相器电路中的下拉N型场效应晶体管(FET)(NFET)增强所存储的逻辑“0”值以足够快地放电,从而避免相应的存取电路在其存储节点上引起电荷累积。这可能导致互补存储节点上的电压翻转。
因此,在另一示例性方面,CIM电路中的SRAM位单元电路可以被提供为五晶体管(5T)SRAM位单元电路。5T SRAM位单元包括交叉耦合到互补反相器电路的真反相器。单个存取电路耦合在单个位线与真反相器电路之间。与6T互补SRAM位单元电路相比,5T SRAM位单元电路消除了耦合到互补反相器电路的互补位线和互补存取电路(例如,互补存取晶体管)。通过消除CIM电路的5T SRAM位单元电路中的互补存取电路,减少或避免了在读取操作中将位线充电到降低的预充电电压时在5T SRAM位单元电路中的互补接入电路与互补反相器电路之间可能存在的争用。此外,通过消除CIM电路的5T SRAM位单元电路中的互补位线和互补存取晶体管,可以进一步降低CIM电路的动态和待机功率。
6T SRAM位单元中提供有位线和互补位线,以提供位线与互补位线之间的差分电压,从而实现CIM电路中可能不需要的针对读取操作的高读取灵敏度。例如,在采用CIM电路的应用中,高精度的读取感测可以不像采用6T SRAM位单元的存储器应用那样重要。
此外,通过在读取操作中降低耦合到CIM电路的5T SRAM位单元电路的位线上断言的预充电电压,可以增加降低的位线预充电电压与为SRAM位单元供电的电源电压之间的电压裕度。因此,通过采用降低的位线预充电电压以用于对CIM电路进行读取操作,存在电压裕度可用于允许降低提供给CIM电路的5T SRAM位单元电路的电源电压。降低CIM电路的电源电压可以进一步减少CIM电路的待机和动态功率,而不会增加其5T SRAM位单元电路中的读取干扰的可能性。降低的电源电压可以允许5T SRAM位单元中的存储节点在读取操作中仍然足够快地放电,以避免读取干扰条件,因为要在5T SRAM位单元中放电的位线预充电电压也被降低。
然而,在向没有互补存取晶体管的5T SRAM位单元电路提供降低的电源电压的情况下,将数据写入5T SRAM位单元电路可能会很困难。这是因为,5T SRAM位单元电路中较弱的NFET存取晶体管与较强的下拉NFET晶体管之间存在写入争用问题。因此,在另外的示例性方面,可以在写入操作中升压提供给5T SRAM位单元电路的电源电压,以提供写入辅助,以避免或减少CIM电路的5T SRAM位单元电路中的写入争用风险。此外,由于采用CIM电路的机器学习应用可能涉及比写入操作多得多的读取操作,因此对CIM电路的写入操作的电源电压进行升压可以不会对CIM电路的总体动态功耗产生显著影响。此外,如果需要,还可以可选地在读取操作中升压提供给CIM电路中的5T SRAM位单元电路的电源电压,以向SRAM位单元电路提供读取辅助。提供读取辅助可以使对SRAM位单元电路的读取操作更快,从而在读取操作中消耗更少的动态功率。
在另一方面,CIM系统可以在一个或多个相应的CIM阵列电路中包括一个或多个CIM电路阵列,每个CIM阵列电路耦合到公共的、全局位线。为了减小耦合到给定CIM阵列电路中的CIM电路的位线的线电容,位线驱动器电路可以物理地位于其相应的CIM阵列电路的端部CIM电路之间。例如,位线驱动器电路可以物理地位于CIM阵列电路的中间,以减少位线驱动器电路与CIM阵列电路中最远的CIM电路之间的距离。作为一个示例,可以将由位线驱动器电路驱动的一个位线提供给给定CIM阵列电路中的CIM电路中的一半CIM电路,并且将由位线驱动器电路提供和驱动的另一位线提供给CIM电路中的第二半CIM电路。以这种方式,与耦合到CIM阵列中的全部CIM电路的单个位线相比,两(2)个位线各自具有减小了大约一半的长度。这允许减小由位线驱动器电路驱动的位线的长度,从而减小位线的线电容。减小位线中的线电容可以减少针对读取操作而对位线进行预充电和针对写入操作而断言写入数据的时间,从而减少由CIM电路消耗的动态功率。
在另一示例性方面,可以提供电容器电路,并且将其耦合到CIM电路中的乘法电路的乘法输出节点。电容器电路存储表示CIM电路的乘法运算的乘法乘积输出的电荷,该电荷将被断言并累积在全局位线上。电容器电路可以被提供为非易失性(NV)电容器电路,该电路具有在功率循环中以非易失方式保持电荷的能力。
在另一示例性方面,用于对全局位线进行预充电的全局位线驱动器也可以被配置为以降低的电源电压(例如,VDD/2)对全局位线进行预充电。全局位线可以耦合到例如CIM列阵列电路中的CIM电路的多个乘法输出,其中乘法输出的电荷在乘法运算中在全局位线上累积。在CIM电路被激活以执行乘法运算之前,全局位线被预充电。降低全局位线上的预充电电压可以降低给定CIM电路阵列中用于乘法运算的CIM电路的动态功率。
在这点上,在一方面中,提供了一种CIM电路。CIM电路包括位线。CIM电路还包括SRAM位单元。SRAM位单元电路包括存储电路,存储电路包括真反相器电路和互补反相器电路,真反相器电路包括真反相器输入节点和真反相器输出节点,真反相器输出节点包括真存储节点,互补反相器电路包括互补反相器输入节点和互补反相器输出节点,互补反相器输入节点耦合到真反相器输出节点,互补反相器输出节点包括仅耦合到真反相器输入节点的互补存储节点。SRAM位单元电路还包括耦合到真存储节点的存取电路。CIM电路还包括乘法电路,乘法电路包括耦合到存储电路的第一乘法输入节点、第二乘法输入节点和乘法输出节点。乘法电路被配置为在乘法输出节点上生成第一乘法输入节点上的第一乘法输入和第二乘法输入节点的第二乘法输入的乘法乘积。
在另一示例性方面,提供了一种执行CIM操作的方法。该方法包括激活存取电路以将位线耦合到SRAM位单元电路的真反相器电路的真存储节点。SRAM位单元电路包括真反相器电路和互补反相器电路,真反相器电路包括真反相器输入节点和真反相器输出节点,真反相器输出节点包括真存储节点,互补反相器电路包括互补反相器输入节点和互补反相器输出节点,互补反相器输入节点耦合到真反相器输出节点,互补反相器输出节点包括仅耦合到真反相器输入节点的互补存储节点。该方法还包括将来自真存储节点的真数据值作为第一乘法输入提供给乘法电路的第一乘法输入节点。该方法还包括基于第一乘法输入和第二乘法输入的乘法在乘法电路的乘法输出节点上生成乘法乘积。
在另一示例性方面,提供了一种存储器系统。该存储器系统包括CIM阵列电路,CIM阵列电路包括多个CIM电路。CIM阵列电路中的每个CIM电路包括SRAM位单元电路,SRAM位单元电路包括存储电路和存取电路,存储电路包括真反相器电路和互补反相器电路,真反相器电路包括真反相器输入节点和真反相器输出节点,真反相器输出节点包括真存储节点,互补反相器电路包括互补反相器输入节点和互补反相器输出节点,互补反相器输入节点耦合到真反相器输出节点,互补反相器输出节点包括仅耦合到真反相器输入节点的互补存储节点,存取电路耦合到真存储节点。CIM阵列电路中的每个CIM电路还包括乘法电路,乘法电路包括耦合到存储电路的第一乘法输入节点、第二乘法输入节点和乘法输出节点。乘法电路被配置为在乘法输出节点上生成第一乘法输入节点上的第一乘法输入和第二乘法输入节点的第二乘法输入的乘法乘积。CIM阵列电路还包括耦合到多个CIM电路的第一子集的存取电路中的每个存取电路的第一位线。CIM阵列电路还包括耦合到多个CIM电路的第二子集的存取电路中的每个存取电路的第二位线,多个CIM电路的第二子集不同于多个CIM电路的第一子集。CIM阵列电路还包括耦合到第一位线和第二位线的位线驱动器电路。位线驱动器电路被配置为将第一位线预充电至真读取数据的第一预充电电压,并且将第二位线预充电至互补读取数据的第二预充电电压。
附图说明
图1是深度神经网络(DNN)节点的示例性乘法和累积(MAC)运算图;
图2是负异或(NOR)(XNOR)真值表的图,示出了XNOR逻辑运算可以用于二进制乘法;
图3是示例性内存内计算(CIM)电路的示图,该电路包括六晶体管(6T)静态随机存取存储器(SRAM)位单元和基于异或(XOR)的电路形式的乘法电路,其中CIM电路被配置为执行存储在SRAM位单元电路中的数据值与提供给乘法电路的输入值的乘法运算;
图4是示例性CIM电路的示图,该电路包括五晶体管(5T)SRAM位单元电路和基于XOR的电路形式的乘法电路,该5T SRAM位单元电路被配置为耦合到单个位线,该乘法电路用于生成乘法输出,该乘法输出表示输入数据值与具有输入数据值的5T SRAM位单元电路中的存储数据值的乘法运算,其中CIM电路被配置为以降低的电源电压操作,以降低待机和动态功率;
图5是针对图4中的CIM电路中的写入操作的信号图;
图6是针对图4中的CIM电路中的读取操作的信号图;
图7是示例性CIM系统,该CIM系统包括多个CIM阵列电路,每个CIM阵列电路包括图4中的多个CIM电路,其中每个CIM电路被配置为将表示乘法输出的电荷施加到相应的全局位线以被累积为MAC运算,并且其中每个CIM列阵列电路包括位线驱动器电路,该位线驱动器电路被配置为以降低的电压驱动其相应CIM阵列电路的位线以降低动态功率;
图8是图7中的CIM阵列电路的位线和全局位线的示例性布局的示图;
图9是与图4中的CIM电路类似的另一示例性CIM电路的示图,但其中乘法电路的存取电路耦合到5T SRAM位单元电路的存储节点;
图10是示例性的基于处理器的系统的框图,该系统可以包括CIM系统,该CIM系统包括一个或多个CIM电路,每个CIM电路包括5T SRAM位单元电路和基于XOR的电路形式的乘法电路,该5T SRAM位单元电路被配置为耦合到单个位线,该乘法电路用于生成乘法输出,该乘法输出表示输入数据值与具有输入数据值的5T SRAM位单元电路中的存储数据值的乘法运算,其中CIM电路被配置为以降低的电源电压操作,以降低待机和动态功率,包括但不限于图4和图7-图9中的CIM电路;以及
图11是示例性无线通信设备的框图,该无线通信设备包括射频(RF)组件,并且包括CIM系统,该CIM系统包括一个或多个CIM电路,每个CIM电路包括5T SRAM位单元电路和基于XOR的电路形式的乘法电路,该5T SRAM位单元电路被配置为耦合到单个位线,该乘法电路用于生成乘法输出,该乘法输出表示输入数据值与具有输入数据值的5T SRAM位单元电路中的存储数据值的乘法运算,其中CIM电路被配置为以降低的电源电压操作,以降低待机和动态功率,包括但不限于图4和图7-图9中的CIM电路。
具体实施方式
现在参考附图,描述了本公开的若干示例性方面。本文中使用“示例性”一词是指“用作示例、实例或说明”。本文中描述为“示例性的”的任何方面不一定被解释为优选于或优于其他方面。
详细描述中公开的各方面包括应用采样静态随机存取存储器(SRAM)位单元的CIM电路的低功耗内存内计算(CIM)系统。作为非限制性示例,CIM电路可以用于乘法和累积(MAC)运算,诸如在机器学习应用中采用的运算。CIM电路各自包括SRAM位单元电路,SRAM位单元电路包括用于存储数据的存储电路。通过对位线进行预充电并且激活耦合在位线与存储电路之间的存取电路(例如,存取晶体管),可以从SRAM位单元电路的存储电路中读取数据。通过在位线上断言具有期望逻辑电平的电压并且激活存取电路,可以将数据写入SRAM位单元电路的存储电路。在本文中公开的各方面,CIM电路还可以在输入数据与SRAM位单元的存储电路中的存储数据之间执行乘法运算。在这点上,CIM电路包括耦合到SRAM位单元电路的乘法电路。作为示例,乘法电路可以是基于异或(XOR)的电路,该电路被配置为执行基于XOR的逻辑运算(例如,XOR或负异或(XNOR)运算)以执行乘法运算。CIM电路被配置为执行乘法电路中接收的输入信号上的输入数据与来自SRAM位单元电路中的存储数据的权重数据的乘法。CIM系统可以采用大量CIM电路。因此,可能需要减少CIM电路中的待机和/或动态功耗,以减少CIM系统中的总功耗。
在这点上,在一个示例性方面,CIM系统包括位线驱动器电路,该位线驱动器电路被配置为对耦合到CIM电路的SRAM位单元电路的位线进行预充电,以用于进行读取操作。因为位线驱动器电路可以耦合到多于一个CIM电路,所以要读取的SRAM位单元电路的存取电路也被激活,使得存储在存储电路中的电荷可以通过存取电路传递到位线。为了减少对CIM电路的读取操作中的动态功率,位线驱动器电路可以被配置为将位线预充电至降低的预充电电压。例如,CIM系统可以被包括在基于处理器的系统中,该系统包括由存储器域中的存储器域电源电压(例如,VDD)供电的其他存储器阵列。作为一个示例,位线驱动器电路被配置为将位线预充电至从存储器域电源电压的电压电平降低的预充电电压电平(例如,VDD/2)。通过降低位线上的预充电电压,降低了用于对CIM电路进行读取操作的动态功率。用于读取操作的位线的预充电中的电压摆幅也被减少,从而进一步减少了用于读取操作的所耗散的动态功率。然而,降低用于读取操作的位线预充电电压会导致存储电路与SRAM位单元的存取电路之间的读取干扰问题。例如,在互补六晶体管(6T)SRAM位单元电路中,在位线上断言的用于读取操作的减小的位线预充电电压可能不会导致反相器电路中的下拉N型场效应晶体管(FET)(NFET)增强所存储的逻辑“0”值以足够快地放电,从而避免相应的存取电路在其存储节点上引起电荷累积。这可能导致互补存储节点上的电压翻转。
因此,在另一示例性方面,CIM电路中的SRAM位单元电路可以被提供为五晶体管(5T)SRAM位单元电路。5T SRAM位单元包括交叉耦合到互补反相器电路的真反相器。单个存取电路耦合在单个位线与真反相器电路之间。与6T互补SRAM位单元电路相比,5T SRAM位单元电路消除了耦合到互补反相器电路的互补位线和互补存取电路(例如,互补存取晶体管)。通过消除CIM电路的5T SRAM位单元电路中的互补存取电路,减少或避免了在读取操作中将位线充电到降低的预充电电压时在5T SRAM位单元电路中的互补接入电路与互补反相器电路之间可能存在的争用。此外,通过消除CIM电路的5T SRAM位单元电路中的互补位线和互补存取晶体管,可以进一步降低CIM电路的动态和待机功率。
6T SRAM位单元中提供有位线和互补位线,以提供位线与互补位线之间的差分电压,从而实现CIM电路中可能不需要的针对读取操作的高读取灵敏度。例如,在采用CIM电路的应用中,高精度的读取感测可以不像采用6T SRAM位单元的存储器应用那样重要。
此外,通过在读取操作中降低耦合到CIM电路的5T SRAM位单元电路的位线上断言的预充电电压,可以增加降低的位线预充电电压与为SRAM位单元供电的电源电压之间的电压裕度。因此,通过采用降低的位线预充电电压以对CIM电路进行读取操作,存在电压裕度可用于允许降低提供给CIM电路的5T SRAM位单元电路的电源电压。降低CIM电路的电源电压可以进一步减少CIM电路的待机和动态功率,而不会增加其5T SRAM位单元电路中的读取干扰的可能性。降低的电源电压可以允许5T SRAM位单元中的存储节点在读取操作中仍然足够快地放电,以避免读取干扰条件,因为要在5T SRAM位单元中放电的位线预充电电压也被降低。
然而,在向没有互补存取晶体管的5T SRAM位单元电路提供降低的电源电压的情况下,将数据写入5T SRAM位单元电路可能会很困难。这是因为,5T SRAM位单元电路中较弱的NFET存取晶体管与较强的下拉NFET晶体管之间存在写入争用问题。因此,在另外的示例性方面,可以在写入操作中升压提供给5T SRAM位单元电路的电源电压,以提供写入辅助,以避免或减少CIM电路的5T SRAM位单元电路中的写入争用风险。此外,由于采用CIM电路的机器学习应用可能涉及比写入操作多得多的读取操作,因此对CIM电路的写入操作的电源电压进行升压可以不会对CIM电路的总体动态功耗产生显著影响。此外,如果需要,还可以可选地在读取操作中升压提供给CIM电路中的5T SRAM位单元电路的电源电压,以向SRAM位单元电路提供读取辅助。提供读取辅助可以使对SRAM位单元电路的读取操作更快,从而在读取操作中消耗更少的动态功率。
在另一方面,CIM系统可以在一个或多个相应的CIM阵列电路中包括一个或多个CIM电路阵列,每个CIM阵列电路耦合到公共的、全局位线。为了减小耦合到给定CIM阵列电路中的CIM电路的位线的线电容,位线驱动器电路可以物理地位于其相应的CIM阵列电路的端部CIM电路之间。例如,位线驱动器电路可以物理地位于CIM阵列电路的中间,以减少位线驱动器电路与CIM阵列电路中最远的CIM电路之间的距离。作为一个示例,可以将由位线驱动器电路驱动的一个位线提供给给定CIM阵列电路中的CIM电路中的一半CIM电路,并且将由位线驱动器电路提供和驱动的另一位线提供给CIM电路中的第二半CIM电路。以这种方式,与耦合到CIM阵列中的全部CIM电路的单个位线相比,两(2)个位线各自具有减小了大约一半的长度。这允许减小由位线驱动器电路驱动的位线的长度,从而减小位线的线电容。减小位线中的线电容可以减少针对读取操作而对位线进行预充电和针对写入操作而断言写入数据的时间,从而减少由CIM电路消耗的动态功率。
在另一示例性方面,可以提供电容器电路,并且将其耦合到CIM电路中的乘法电路的乘法输出节点。电容器电路存储将被断言并累积在全局位线上的电荷,该电荷表示CIM电路的乘法运算的乘法乘积输出。电容器电路可以被提供为非易失性(NV)电容器电路,该电路具有在功率循环中以非易失方式保持电荷的能力。
在另一示例性方面,用于对全局位线进行预充电的全局位线驱动器也可以被配置为以降低的电源电压(例如,VDD/2)对全局位线进行预充电。全局位线可以耦合到例如CIM列阵列电路中的CIM电路的多个乘法输出,其中乘法输出的电荷在乘法运算中在全局位线上累积。在CIM电路被激活以执行乘法运算之前,全局位线被预充电。降低全局位线上的预充电电压可以降低给定CIM电路阵列中用于乘法运算的CIM电路的动态功率。
如上所述,CIM电路包括可以提供二进制乘法运算的基于XOR的电路。图2是XNOR逻辑真值表200的示图,其示出了对两个输入X和Y进行XNOR运算以生成XNOR输出202,这等效于输入X和Y的二进制乘法运算。输入X和Y(都是“0”或“1”值)的二进制乘法等于“1”,这是图2所示的XNOR运算的XNOR输出202。输入X和Y(一个的值为“0”,另一个的值为“1”)的二进制乘法等于“0”,这也是图2所示的XNOR运算的XNOR输出202。因此,用于执行基于XOR的逻辑运算(诸如XNOR逻辑运算)的基于XOR的电路可以用于二进制乘法。基于XOR的电路可以与存储器位单元结合,以执行存储器位单元中的存储值与第二输入值的二进制乘法。这种电路布置对于机器学习应用尤其有用,在机器学习应用中,作为基于XOR的电路的输入值的权重值被存储在存储器位单元中。
在讨论包括存储器位单元(其中每个存储器位单元具有被配置为执行低功耗乘法运算的集成乘法电路)的CIM电路的示例之前(从图4开始),首先参照下面的图3描述包括6TSRAM位单元电路形式的存储器位单元的示例性CIM电路。
在这点上,图3是示例性CIM电路300的示图,CIM电路300包括6T SRAM位单元电路304形式的耦合到乘法电路306的存储器位单元电路302。在该示例中,乘法电路306是基于XOR的电路308的形式,基于XOR的电路308被配置为执行基于XOR的逻辑运算(例如,XNOR逻辑运算)。CIM电路300被配置为执行作为6T SRAM位单元电路304中的存储数据的存储数据值与提供给乘法电路306的输入数据值X的二进制乘法。输入数据值X由图3中的标签“X”表示。输入数据值X的互补数据值由图3中的标签“XB”表示。多个CIM电路300可以以行和列格式被布置成存储器阵列,以提供MAC运算。例如,CIM电路300可以被布置成列阵列,其中CIM电路300的每个输出耦合到公共的、全局位线(GBL)310,以在乘法输出节点314上以GBL 310上的电荷的形式将来自乘法电路306的二进制乘法输出312提供为乘法乘积。以这种方式,从GBL 310上的每个CIM电路300断言的二进制乘法输出312的电荷可以作为表示点积的累积电荷被累积,以提供作为MAC运算的一部分的累积运算。
继续参考图3,6T SRAM位单元电路304包括存储电路316,存储电路316包括真反相器电路318T和互补反相器电路318C。真反相器电路318T和互补反相器电路318C各自包括相应的上拉真正(P)型场效应晶体管(FET)(PFET)PT和上拉互补PFET PC以及下拉真负(N)型FET(NFET)NT和下拉互补NFET NC,总共四(4)个晶体管。真PFET PT和互补PFET PC耦合到被配置为接收电源电压VDD的正电源电压轨320P。真NFET NT和互补NFET NC耦合到负电源电压轨320N,在该示例中,负电源电压轨320N是接地节点并且被配置为接收接地电压VSS。真反相器电路318T具有真反相器输入节点322T-I,真反相器输入节点322T-I被配置为接收输入信号以在真反相器输出节点324T-O上生成与输入信号的逻辑值相反的逻辑值的输出信号。例如,如果真反相器输入节点322T-I上的输入信号是正电源电压VDD的电压,则真反相器电路318T被配置为基于接地电压VSS在真反相器输出节点324T-O上生成输出信号。如果真反相器输入节点322T-I上的输入信号是接地电压VSS的电压,则真反相器电路318T被配置为基于正电源电压VDD在真反相器输出节点324T-O上生成输出信号。互补反相器电路318C被配置为在其互补反相器输出节点324C-O上生成输出信号,该输出信号具有与由真反相电路318T在真反相器输出节点324T-O上生成的输出信号相反的逻辑值。
通过真反相器输入节点322T-I耦合到互补反相器输出节点324C-O,并且互补反相器输入节点322C-I耦合到真反相器输出节点324T-O,真反相电路318T和互补反相器电路318C彼此交叉耦合。互补反相器输入节点322C-I耦合到真反相器输出节点324T-O形成真存储节点326T。真反相器输入节点322T-I耦合到互补反相器输出节点324C-O形成互补存储节点326C。SRAM位单元电路304将表示互补逻辑值的真存储节点326T处的电压强制为互补存储节点326C处的电压。真反相器电路318T和互补反相器电路318C的交叉耦合使真存储节点326T和互补存储节点326T上的电压保持增强以保持,直到发生改变真存储节点326T和互补存储节点326C上的存储电压的写入操作。
为了执行CIM电路300的6T SRAM位单元电路304中的存储电路316中的存储数据的乘法运算,该示例中的XNOR电路328形式的乘法电路306被配置为执行如图2所示的XNOR逻辑运算。XNOR电路328包括真PFET 330T和互补PFET 330C,真PFET 330T和互补PFET 330C包括耦合到相应的真乘法输入节点332T和互补乘法输入节点332C的相应的栅极G。真PFET330T和互补PFET 330C的栅极G被配置为接收表示为输入数据X和XB的相应输入数据信号。存储在相应真存储节点326T和互补存储节点326C中的仅一个存储节点处的输入数据XB、X由XNOR电路328的相应PFET 330T、330C一次传递到乘法输出节点314,因为基于输入数据X与XB之间的互补电压,PFET 330T、330C中一次仅有一个PFET有效。XNOR电路328被配置为在相应真数据XB、X与作为附加的相应乘法输入节点的真存储节点326T和互补存储节点326C上的相应存储数据之间执行XNOR运算,以在乘法输出节点314上生成乘法输出312。例如,存储在真存储节点326T上的数据可以是通过用于机器学习应用的乘法电路306与输入数据XB相乘的权重数据。CIM电路300中的乘法运算类似于6T SRAM存储器位单元中的读取操作,因为存储在真存储节点326T和互补存储节点326C处的存储数据也被放电到位线BL和互补位线BLB。
CIM电路300还包括被配置为存储电荷以锁存乘法输出312的电容器电路334。CIM电路300还包括传输门336,传输门336用作选择器件以控制CIM电路300中的电流,以执行乘法运算并且控制电容器电路334中的锁存电荷向GBL 310的传递。以这种方式,传递到GBL310的表示乘法输出312的电荷可以与表示来自其他CIM电路的乘法输出的其他电荷累积为点积,以提供MAC运算。
为了从6T SRAM位单元电路304的存储电路316中读取数据,还提供了位线驱动器电路338。位线驱动器电路338被配置为基于为SRAM位单元电路304供电的电源电压VDD将位线BL和互补位线BLB预充电至互补电压电平,以在读取操作中读取存储在存储电路316中的数据。耦合到真存取电路340T和互补存取电路340C(在该示例中为NFET,其在SRAM位单元电路304中提供总共六(6)个晶体管)的栅极G的字线(WL)被断言以评估真存储节点326T和互补存储节点326C上的差分电压。例如,如果表示逻辑值“1”的电压被存储在真存储节点326T处,并且表示逻辑值电平“0”的电压被存储在互补存储节点326C处,则PFET PT保持真存储节点326上的电荷。真存取电路340T将真存储节点326T上的电荷传递到位线BL,以表示存储节点326T中存储的逻辑“1”值。表示存储在真存储节点326T处的逻辑值“1”的电压导致互补NFET NC对互补位线BLB上的预充电电压进行放电,以表示互补存储节点326C中的逻辑“0”值。
为了将数据写入6T SRAM位单元电路304的存储电路316,位线驱动器电路338还被配置为基于为6T SRAM位单元电路304供电的电源电压VDD将写入数据和互补写入数据断言为相应位线BL和互补位线BLB上的写入电压和互补写入电压。这导致位线BL和互补位线BLB上的写入电压作为写入数据通过激活的真存取电路340T、和互补存取电路340C传递到相应真存储节点326T和互补存储节点326C。
由CIM电路300在其操作中耗散的有功或动态功率是正电源电压轨320P上的电源电压VDD的电压电平、位线BL和互补位线BLB的预充电和放电中的电压摆幅、以及位线BL和互补位线BLB的电容的函数。正电源电压轨320P和负电源电压轨320N处的电源电压VDD、VSS的电压电平影响由6T SRAM位单元电路304和乘法电路306中的真反相器电路318T和互补反相器电路318C在乘法运算中耗散的有功功率。在正电源电压轨320P和负电源电压轨320N处的电源电压VDD、VSS的电压电平还决定当对位线BL和互补位线BLB预充电以对6T SRAM位单元电路304进行写入操作时的摆幅电压电平。位线BL和互补位线BLB的线电容(其作为它们长度的函数而增加)也影响用于乘法运和写入操作的CIM电路300的动态功耗。位线BL和互补位线BLB的增加的线电容导致充电时间的增加,并且因此导致用于对位线BL和互补位线BL进行预充电和放电的动态功率的增加。CIM电路300的动态功率也被乘法运算消耗,导致真存储节点326T和互补存储节点326C中存储的电压被放电到位线BL和互补位线BLB,类似于常规6T SRAM存储器位单元中的读取操作。
正电源电压轨320P和负电源电压轨320N处的电源电压VDD、VSS的电压电平也影响由CIM电路300耗散的待机(即,空闲)功率。正电源电压轨320P处的电源电压VDD在待机操作期间向6T SRAM位单元电路304的真反相器电路318T和互补反相器电路318C提供电力,以将存储电路316中的真存储节点326T和互补存储节点326C处的作为存储数据的电压增强为存储数据。正电源电压轨320P和负电源电压轨320N处的电源电压VDD、VSS的电压电平也影响真存取电路340T和互补存取电路340C中的漏电流量,从而影响6T SRAM位单元电路304的功耗。
期望降低CIM电路300的功耗,特别是在诸如移动设备等低功耗应用中采用时。例如,存储器阵列可以包含大量CIM电路300。因此,CIM电路300耗散的有功和待机功率乘以存储器阵列中存在的CIM电路300的数目。
在这点上,图4是CIM系统401中包括的示例性CIM电路400的示图。CIM系统401可以包括多个其他CIM电路400(未示出)。CIM电路400包括存储器位单元电路402,存储器位单元电路402包括5T SRAM位单元电路404,与图3中的CIM电路300中的6T SRAM位单元电路304相反。5T SRAM位单元电路404耦合到乘法电路406(其在该示例中是基于XOR的电路408),以执行5T SRAM位单元电路404中的存储数据与提供给乘法电路406的输入数据的乘法运算。5TSRAM位单元电路404消除了互补存取电路,如图3中的6T SRAM位单元电路304中存在的互补存取电路340C。5T SRAM位单元电路404还消除了互补位线电路,如图3中的6T SRAM的位单元电路304中的互补位线BLB。如下面更详细地讨论的,在CIM电路400中以这种方式提供5TSRAM位单元电路404有助于操作CIM电路400以执行乘法(即,读取)和写入操作,同时比图3中的CIM电路300消耗更少的动态和待机功率。
在这点上,如图4所示,5T SRAM位单元电路404包括存储电路416,存储电路416包括真反相器电路418T和互补反相器电路418C。真反相器电路418T和互补反相器电路418C各自包括用于总共四(4)个晶体管的相应的上拉真PFET PT和上拉互补PFET PC以及下拉真负NFET NT和下拉互补负NFET NC。真PFET PT耦合到被配置为接收第一电源电压VDL(1)的第一正电源电压轨420P(1)。互补PFET PC耦合到被配置为接收第二电源电压VDL(2)的第二正电源电压轨420P(2)。第二电源电压VDL(2)可以等于或基于空闲/待机操作中的第一电源电压VDL(1),以保持真存储节点426T和互补存储节点426C中的存储数据。真NFET NT耦合到第一负电源电压轨420N(1),第一负电源电压轨420N(1)被配置为接收第一接地电压VSL(1)(其在该示例中为接地电压)。互补NFET NC耦合到第二负电源电压轨420N(2),第二负电源电压轨420N(2)被配置为接收第二接地电压VSL(2)(其在该示例中为接地电压)。第二接地电压VSL(2)可以等于或基于空闲/待机操作中的第一接地电压VSL(1),以保持真存储节点426T和互补存储节点426C中的存储数据。
真反相器电路418T具有真反相器输入节点422T-I,真反相器输入节点422T-I被配置为接收输入信号,以在真反相器输出节点424T-O上生成与输入信号的逻辑值相反的逻辑值的输出信号。例如,如果真反相器输入节点422T-I上的输入信号是基于第一正电源电压VDL(1)的电压,则真反相器电路418T被配置为基于接地电压VSL(1)在真反相器输出节点424T-O上生成输出信号。如果真反相器输入节点422T-I上的输入信号是基于第一接地电压VSL(1)的电压,则真反相器电路418T被配置为基于第一正电源电压VDL(1)在真反相器输出节点424T-O上生成输出信号。
互补反相器电路418C具有互补反相器输入节点422C-I,互补反相器输入节点422C-I被配置为接收输入信号,以在互补反相器输出节点424C-O上生成与输入信号的逻辑值相反的逻辑值的输出信号。例如,如果互补反相器输入节点422C-I上的输入信号是基于第二正电源电压VDL(2)的电压,则互补反相器电路418C被配置为基于第二接地电压VSL(2)在互补反相器输出节点424C-O上生成输出信号。如果互补反相器输入节点422C-I上的输入信号是基于第二接地电压VSL(2)的电压,则互补反相器电路418C被配置为基于第二正电源电压VDL(2)在真反相器输出节点424T-O上生成输出信号。
通过真反相器输入节点422T-I耦合到互补反相器输出节点424C-O,并且互补反相器输入节点422C-I耦合到真反相器输出节点424T-O,真反相电路418T和互补反相器电路418C彼此交叉耦合。互补反相器输入节点422C-I耦合到真反相器输出节点424T-O形成真存储节点426T。真反相器输入节点422T-I耦合到互补反相器输出节点424C-O形成互补存储节点426C。真存储节点426T处电压的电压电平是互补存储节点426C处电压的互补电压电平。真反相器电路418T和互补反相器电路418C的交叉耦合使真存储节点426T和互补存储节点426C上的电压保持增强以保持,直到发生改变存储电压的写入操作。
为了执行图4中的CIM电路400的5T SRAM位单元电路404中的存储电路416中的存储数据的乘法运算,该示例中XNOR电路428形式的乘法电路406被配置为执行图2所示的XNOR逻辑运算。XNOR电路428包括真PFET 430T和互补PFET 430C,真PFET 430T和互补PFET430C包括耦合到相应真乘法输入节点432T和互补乘法输入节点432C的相应栅极G。真PFET430T和互补PFET 430C的漏极D耦合到相应互补存储节点426C和真存储节点426T。真PFET430T和互补PFET 430C的源极S耦合到XNOR电路428的乘法输出节点414。真PFET 430T和互补PFET 430C的栅极G被配置为接收表示为输入数据X和XB的相应输入信号。存储在互补存储节点426C和真存储节点426T中的仅一个存储节点处的输入数据X和XB由XNOR电路428的相应真PFET 430T和互补PFET 430C一次传递到乘法输出节点414,因为基于输入数据X与XB之间的互补电压,PFET 430t、430C中一次仅有一个有效。XNOR电路428被配置为在相应真输入信号X和XB与作为附加的相应乘法输入节点的互补存储节点426C和真存储节点426T上的相应存储数据之间执行XNOR逻辑运算,以在乘法输出节点414上生成乘法输出412。例如,存储在真存储节点426T上的数据可以是权重数据乘以用于机器学习应用的输入数据X。由CIM电路400执行的乘法运算与SRAM位单元电路的读取操作相似,因为真存储节点426T和互补存储节点426C上的存储数据也被放电到位线BL。
图4中的CIM电路400还包括被配置为存储电荷以锁存乘法输出412的电容器电路434。电容器电路434可以是在没有CIM电路400被供电的情况下最终将失去其电荷的电容器电路。备选地,电容器电路434可以是被配置为即使在没有电力的情况下也保持电荷的非易失性(NV)电容器电路。以这种方式,如果电容器电路434被提供为NV电容器电路,则即使经过CIM电路400的功率循环,电容器电路434也将保持表示CIM电路400的乘法输出412的电荷。例如,电容器电路434可以是铁电电容器,该铁电电容器可以通过由外部电场对薄铁电膜的极化来存储电荷,并且即使在外部电场被移除的情况下也保持极化。CIM电路400还包括传输门436,传输门436用作选择器件以控制CIM电路400中的电流,以执行乘法运算并且控制电容器电路434中的锁存电荷向GBL 410的传递。以这种方式,传递到GBL 410的表示乘法输出412的电荷可以与表示来自其他CIM电路的乘法输出的其他电荷一起累积,以提供MAC运算。
为了从5T SRAM位单元电路404的存储电路416中读取数据,CIM系统401中还提供了位线驱动器电路438。位线驱动器电路438被配置为将位线BL预充电至用于读取操作的预充电电压。为了执行读取操作,位线驱动器电路438向位线BL施加预充电电压。耦合到存取电路440的栅极G的字线(WL)(其在该示例中作为NFET提供,其在SRAM位单元电路404中提供总共五(5)个晶体管)也被断言以激活存取电路440,以将位线BL电耦合到真存储节点426T。例如,在读取操作中,如果表示逻辑值“1”的电压被存储在真存储节点426T处,并且表示逻辑值为“0”的电压被存储在互补存储节点426C处,则真反相器电路418T中的真PFET PT保持来自真存储节点426T上的电源电压VDD的电荷,该电荷被传递到位线BL。然而,如果表示逻辑值“0”的电压被存储在真存储节点426T处,表示逻辑值为“1”的电压被存储在互补存储节点426C处并且导致真PFET PT关断。真NFET NT导通以将真存储节点426T和位线BL拉至第一负电源电压轨420N(1)。存取电路440将真存储节点426T的电荷传递到位线BL以用于读取操作。位线BL上的电压电平可以被感测以确定存储在5T SRAM位单元电路404的真存储节点426T中的数据值的逻辑。
为了降低CIM电路400的动态功率,该示例中的位线驱动器电路438被配置为将5TSRAM位单元电路404中的位线路BL预充电至降低的预充电电压VPRE。例如,CIM系统401可以被包括在基于处理器的系统中,该系统包括由存储器域中的存储器域电源电压(例如,VDD)供电的其他存储器阵列。位线驱动器电路438可以被配置为将位线BL预充电至降低的预充电电压VPRE,该电压VPRE的电压电平低于存储器域电源电压VDD以用于对CIM电路400进行写入操作。作为一个示例,预充电电压VPRE可以是存储器域电源电压VDD的一半(例如,VDD/2)。通过降低位线BL上的预充电电压VPRE,CIM电路400中的动态功率被降低以用于写入操作。此外,与基于存储器域电源电压VDD的电压来对位线BL进行预充电相比,在CIM电路400中将位线BL预充电至预充电电压VPRE的预充电时间减少。这增加了预充电时间的速度,以提供更快的写入操作并且因此减少写入操作中的动态功率。用于读取操作的位线BL的预充电中的电压摆幅也减少,从而进一步减少了用于读取操作的CIM电路400中耗散的动态功率。
在CIM电路400中提供SRAM位单元电路作为5T SRAM位单元电路404可以允许在位线BL上断言的预充电电压VPRE降低以用于读取操作,而不会在5T SRAM位单元电路404的存储电路416与存取电路440之间引起读取干扰问题。这是因为,在5T SRAM位单元电路404中不存在互补存取电路,如图3中的6T SRAM位单元电路304中的互补存取电路340C。如果耦合到互补存储节点426C的互补存取电路被包括在5T SRAM位单元电路404中,则由位线驱动器电路438在位线BL上断言的用于读取操作的减小的预充电电压VPRE可以削弱互补反相器电路418C中的下拉互补NFET NC。在这种情况下,下拉互补NFET NC可能不会以足够快的速度从互补位线释放由互补存取电路传递的预充电电压,以防止在互补存储节点426C上从降低的预充电电压发生电荷累积。这随后可能导致真PFET PT关断,并且在读取操作中导致真存储节点426T上的电压翻转。因此,这可能在读取操作中导致互补存储节点426C上的电压翻转。
因此,通过在CIM电路400中将SRAM位单元电路提供为5T SRAM位单元电路404,可以减少或避免位线BL上针对读取操作而断言的预充电电压VPRE,并且不会增加读取干扰问题的可能性。此外,消除5T SRAM位单元电路404中的互补位线和互补存取电路也可以减少CIM电路400的待机和动态功率。在图3中的6T SRAM位单元304中提供位线BL和互补位线BLB,以提供位线BL与互补线BLB之间的差分电压,以针对图4中的CIM电路400中可能不需要的读取操作,实现高读取灵敏度。例如,在采用CIM电路400的应用中,高精度的读取感测可能不如采用图3中的6T SRAM位单元电路304的存储器应用那么重要。
此外,在读取操作中,降低由位线驱动器电路438在耦合到CIM电路404的5T SRAM位单元电路404的位线BL上断言的预充电电压VPRE可以增加真存储节点426T与为SRAM位单元电路404供电的电源电压VDL(1)之间的电压裕度。预充电电压VPRE可以小于正电源电压VDL(1)。因此,通过采用降低的位线预充电电压VPRE以用于对CIM电路400进行读取操作,存在可用的电压裕度。该电压裕度允许减小提供给CIM电路400的5T SRAM位单元电路404的第一正电源电压轨420P(1)和第二正电源电压轨420P(2)的正电源电压VDL(1)和VDL(2),而不会增加其5T SRAM位单元电路404中的读取干扰的可能性。例如,电源电压VDL(1)、VDL(2)可以是存储器域电源电压VDD的一半VDD/2。降低5T SRAM位单元电路404的电源电压还降低5T SRAM位单元电路404以及CIM电路400的待机(泄漏)和动态功率。降低的正电源电压VDL(1)、VDL(2)仍然可以允许存储逻辑值“0”的5T SRAM位单元404中的真存储节点426T在读取操作中足够快地放电到第一负电源电压轨420N(1),而不会在真存储节点426T上累积电荷,以避免或减少读取干扰条件。
然而,随着提供给CIM电路400的5T SRAM位单元电路404的正电源电压VDL(1)、VDL(2)的降低,其中5T SRAM位单元电路404没有互补存取晶体管,将数据写入5T SRAM位单元电路404中可能很困难。在该示例中,由于存取电路440的较弱NFET与反相器电路418T的较强下拉NFET NT之间的争用,在5T SRAM位单元电路404的存储电路416中可以存在针对写入操作的写入争用问题。因此,在另外的示例性方面,可以在写入操作中升压提供给5T SRAM位单元电路404的互补反相器电路418C的第二电源电压VDL(2)、VSL(2),以提供写入辅助,以避免或减少CIM电路400的5T SRAM位单元电路404中的写入争用风险。对提供给5T SRAM位单元电路404的互补反相器电路418C的第二电源电压VDL(2)、VSL(2)进行升压可以通过在写入操作中辅助翻转5T SRAM位单元电路404中的互补反相器418C的状态来提供写入辅助。耦合到5TSRAM位单元电路404的字线WL也可以在写入操作中被升压。
如果CIM电路400应用于机器学习应用,则CIM电路404的5T SRAM位单元电路404可以执行比写入操作多的读取操作。因此,在对CIM电路400的写入操作中,对互补反相器电路418C的第二电源电压VDL(2)、VSL(2)进行升压可能不会对CIM电路400的总体动态功耗产生显著影响。升压第二电源电压VDL(2)可以涉及增加第二正电源电压轨420P(2)处的第二电源电流VDL(2)的电压。升压第二电源电压VSL(2)可以涉及减小或降低第二负电源电压轨420N(2)处的电压。此外,如果需要,提供给CIM电路400中的5T SRAM位单元电路404的电源电压也可以可选地在读取操作中被升压,以向5T SRAM位单元电路404提供读取辅助。提供读取辅助可以使对5T SRAM位单元电路404的读取操作更快,从而在读取操作中消耗更少的动态功率。
数据也可以被写入CIM电路400的5T SRAM位单元电路404的存储电路416,该存储电路416用于乘法运算。在写入操作中,位线驱动器电路338断言位线BL上的写入电压,以表示要写入真存储节点426T的数据的逻辑值。耦合到单个存取电路440的栅极G的字线(WL)被断言,以激活存取电路440,以将写入数据从位线BL传递到真存储节点426T。真存储节点426T上的写入电压导致互补反相器电路418C将互补电压存储到互补存储节点426C上的写入电压。然而,在图4中向CIM电路400的5T SRAM位单元电路404提供较低的正电源电压VDL(1)、VDL(2)的情况下,针对写入操作,在存储电路416中的互补反相器电路418C中可能发生写入争用问题。例如,在写入操作中,如果逻辑“1”被存储在真存储节点426T中,并且位线BL上断言的要写入真存储节点426T的写入数据是逻辑“0”,则存取电路440将真存储节点426T放电到位线BL以将逻辑“0’写入真存储节点426T。在该示例中,存取电路440能够传递强逻辑“0”作为NFET。然而,在写入操作开始时存储在互补存储节点426C中的逻辑“0”可能导致增强的真PFET PT克服存取电路440的驱动强度,以将真存储节点426T充电到电源电压VDL(1)(即,逻辑“1”),从而在真存储节点426T上引起写入争用。这又会导致互补存储节点426C上的写入争用问题。
因此,在该示例中,可以在写入操作中对提供给5T SRAM位单元电路404中的互补反相器电路418C的正电源电压VDL(2)和负电源电压VSL(2)进行升压,以提供写入辅助,以避免或减少5T SRAM位单元电路404中的写入争用风险。这在图5中的写入时序图500中通过示例示出。如图所示,对于写入操作,位线BL被预充电到写入电压VPRE,以实现逻辑“0”或“1”写入操作。字线WL被断言以激活存取电路440。为互补反相器电路418C供电的相应的第二正电源电压轨420P(2)和第二负电源电压轨420N(2)上的电源电压最初是耦合到为真反相器电路418T供电的第一正电源电压轨420P(1)和第一负电源电压轨420N(1)的较低电源电压VDL(2)和VSL(2)。然而,如图5所示,响应于字线WL的下降沿,相应的第二正电源电压轨420P(2)和第二负电源电压轨420N(2)上的电源电压VDL(2)、VSL(2)可以分别被正和负地升压到正(即,电压较大)和负(即,电压较小)升压电源电压VDH(2)、VSH(2)。在写入操作中,相应的第二正电源电压轨420P(2)和第二负电源电压轨420N(2)上的电源电压被升压(分别增加和降低电压)超过相应的较低电源电压VDL(2)和VSL(2),以向互补反相器电路418C提供写入辅助,以避免真存储节点426T的写入争用问题。
在升压过程中消耗了附加的动态功率,但在待机期间和在执行乘法运算时,可以使用较低的电源电压VDL(2)、VSL(2)对CIM电路400进行供电。机器学习应用可以涉及比对CIM电路400的写入操作多得多的读取操作。因此,将电源电压VDL(2)、VSL(2)升压到CIM电路400的5T SRAM位单元电路404中的互补反相器电路418C的升压电源电压VDH(2)、VSH(2)以用于写入操作可能不会对CIM电路400中的总功耗产生显著影响。
如果需要,提供给CIM电路400中的5T SRAM位单元电路404中的互补反相器电路418C的电源电压VDL(2)、VSL(2)也可以可选地在读取(乘法)操作中被升压,以向5T SRAM位单元电路404提供读取辅助。提供读取辅助可以使对SRAM位单元电路404的读取操作更快,从而在CIM电路400中的乘法运算中消耗更少的动态功率。这在图6中的读取时序图502中通过示例示出。如其中所示,对于读取(即,乘法)操作,字线WL被断言以激活期望的CIM电路400的存取电路440。为互补反相器电路418C供电的第二正电源电压轨420P(2)和第二负电源电压轨420N(2)上的电源电压最初是较低的电源电压VDL(2)和VSL(2),电源电压VDL(2)和VSL(2)在该示例中耦合到相应的第一正电源电压轨420P(1)和第一负电源电压轨420N(1),为真反相器电路418T供电。然而,如图6所示,响应于字线的断言的上升沿,第二正电源电压轨420P(2)和第二负电源电压轨420N(2)上的电源电压可以分别被正和负地升压到升压电源电压VDH(2)和VSH(2)。在这点上,在该示例中,第二正电源电压轨420P(2)上的电源电压可以被正地升压(即,电压增加)到升压电源电压VDH(2)以超过(即,大于)电源电压VDL(1)。在该示例中,第二负电源电压轨420N(2)上的电源电压可以被负地升压(即,电压降低)到升压电源电压VSH(2)以负地超过(即,低于)电源电压VSL(1)。响应于字线WL的下降沿,第二正电源电压轨420P(2)和第二负电源电压轨420N(2)上的电源电压可以分别被正地升压(即,电压增加)和负地升压(即,电压降低)到升压电源电压VDH(2)、VSH(2),以提供读取辅助。
如上所述,CIM系统401可以包括多个CIM电路400,以提供存储器阵列。在这点上,图7图示了CIM系统401,CIM系统401包括CIM阵列700,CIM阵列700包括多个CIM列阵列电路702(1)-702(X)。一个或多个相应CIM列阵列电路702(1)-702(X)各自包括多个CIM电路400。例如,CIM阵列700包括CIM电路400(1)(1)-400(Y)(X),其中“X”是CIM列阵列电路702(1)-702(X)的数目,而“Y”是给定CIM列阵列电路702(1)-702(X)中CIM电路400的行。如图7所示,每个CIM列阵列电路702(1)-702(X)都有自己的专用位线驱动器电路438(1)-438(X),专用位线驱动器电路438(1)-438(X)被配置为驱动其相应的位线BL1-BLX
如图7所示,在另一示例中,为了减小耦合到给定CIM列阵列电路702(1)-702(X)中的CIM电路400(1)()-400(Y)()的位线BL1-BLX的线电容,针对写入操作而对相应的位线BL1-BLX进行预充电的位线驱动器电路438(1)-438(X)在其相应的CIM列阵列电路702(1)-702(X)中物理地位于端部CIM电路400(1)()、400(Y)()之间。例如,位线驱动器电路438(1)-438(X)可以物理地位于每个相应CIM列阵列电路702(1)-702(X)的中间,以减少位线驱动器电路438(1)-438(X)与其相应的CIM列阵列电路702(1)-702(X)中最远的端部CIM电路400(1)()、400(Y)()之间的距离。作为一个示例,如果“X”等于512,位线BL1-BL256可以被提供给由相应的位线驱动器电路438(1)-438(X)驱动的CIM列阵列电路702(1)-702(X)中的CIM电路400(1)()-400(Y/2)的一半。互补位线BLB257-BLBY,512可以由相应位线驱动器电路438(1)-438(X)驱动到CIM电路400(Y/2+1)-400(Y)的第二半部。以这种方式,两个位线BL和BLB各自具有的长度与耦合到给定CIM列阵列电路702(1)-702(X)中的所有CIM电路400(1)()、400(Y)()的单个位线相比减少了大约一半。这允许减小由位线驱动器电路438(1)-438(X)驱动的位线BL、BLB的长度,从而减小相应的位线BL、BLB的线电容。减少位线BL、BLB中的线电容减少了将位线BL、BLB预充电到预充电电压的时间,从而减少了针对CIM电路400(1)(1)、400(Y)(X)对位线BL、BLB进行预充电所消耗的动态功率。
在另一示例性方面,如图7所示,提供了全局位线(GBL)驱动器电路704(1)-704(X),并且其用于对相应CIM列阵列电路702(1)-702(X)的GBL 410(1)-410(X)进行预充电。GBL驱动器电路704(1)-704(X)各自被配置为驱动每个CIM列阵列电路702(1)-702(X)中的相应YL线上的预充电电压,其中每个YL线耦合到相应CIM列阵列电路702(1)-702(X)中的CIM电路400的传输门436。GBL 410(1)-410(X)被预充电,以激活相应的CIM列阵列电路702(1)-702(X)中的CIM电路400的传输门436,以在相应的CIM列阵列电路702(1)-702(X)中执行MAC运算。以这种方式,可以激活针对给定CIM列阵列电路702(1)-702(X)的CIM电路400(1)()、400(Y)(),以在它们的相应乘法输出412上执行它们的乘法,并且在它们要累积的相应GBL 410(1)-410(X)上被断言。GBL驱动器电路704(1)-704(X)可以被配置为以降低的电源电压(例如,VDD/2)对它们相应的GBL 410(1)-410(X)进行预充电,以在需要时进一步降低动态功率。还针对每个CIM列阵列电路702(1)-702(X)提供列选择线Y1-YX,并且将其耦合到给定CIM电路400(1)()、400(Y)()中的传输门436(1)()-436(Y)(),以为MAC运算激活CIM列阵列电路702(1)-702(X)。
此外,如图8所示,由于CIM电路400(1)(1)、400(Y)(X)没有用于它们相应的SRAM位单元电路404的互补位线,X轴方向上有更多空间用于为每个CIM列阵列电路702(1)-702(X)中的列选择线Y1-YX提供空间。如果在CIM列阵列电路702(1)-702(X)中采用图3中的6T SRAM位单元电路304,则这与线布局800相比较。
图9是与图4中的CIM电路400类似的另一示例性CIM电路900的示图。CIM电路900可以被设置在CIM系统901中,如图4和图7中所述。在图9中的CIM电路900中,提供了与图4中的乘法电路406类似的乘法电路906。图9中的CIM电路900与图4中的CIM电路400之间的公共组件用相同的元件编号表示,并且不再赘述。然而,在图9中,真PFET 430T和互补PFET 430C的栅极G耦合到相应的互补存储节点426C和真存储节点426T。真PFET 430T和互补PFET 430C的漏极D耦合到真乘法输入节点432T和互补乘法输入节点432C。
为了对图9中的CIM电路900中的5T SRAM位单元电路404中的存储电路416中的存储数据执行乘法运算,该示例中XNOR电路928形式的基于XOR的电路908被配置为执行XNOR运算。真PFET 430T和互补PFET 430C的真乘法输入节点432T和互补乘法输入节点432C被配置为接收表示为输入数据X和XB的相应输入信号。真PFET 430T和互补PFET 430C的栅极G被配置为在真存储节点426T和互补集存储节点426C上接收真存储数据和互补存储数据。由于基于真存储节点426T与互补存储节点426C之间的互补电压,PFET 430T、430C中一次仅有一个有效,所以XNOR电路928的相应的PFET 430T、430C一次仅将真存储节点426T和互补存储节点426C中的一个存储节点处的存储数据传递到乘法输出节点914。XNOR电路928被配置为在真输入信号X和XB与真存储节点426T和互补存储节点426C上的存储数据之间执行XNOR运算,以在乘法输出节点914上生成乘法输出912。
注意,当第一耦合参考FET的源极/漏极,而第二耦合参考同一FET的漏极/源极时,这表示,源极参与第一耦合,漏极参与第二耦合,或者漏极参与第一耦合,源极参与第二耦合。
一种CIM系统可以设置在或集成到任何基于处理器的设备中,该CIM系统包括根据本文中公开的各方面的一个或多个CIM电路,每个CIM电路包括5T SRAM位单元电路,5TSRAM位单元电路被配置为耦合到用于读取和写入操作的单个位线,并且被配置为以降低的电源电压操作以降低待机和动态功率,并且每个CIM电路还包括基于XOR的电路,基于XOR的电路用于生成表示作为SRAM位单元电路中的存储数据的读取存储数据值与输入数据值的乘法运算的乘法输出,CIM电路包括但不限于图4和图7-图10中的CIM电路。示例(但不限于)包括机顶盒、娱乐单元、导航设备、通信设备、固定位置数据单元、移动位置数据单元、全球定位系统(GPS)设备、移动电话、蜂窝电话、智能电话、会话发起协议(SIP)电话、平板电脑、平板手机、服务器、计算机、便携式计算机、移动计算设备、可穿戴计算设备(例如,智能手表、健康或健身跟踪器、眼镜等)、台式计算机、个人数字助理(PDA)、监视器、计算机显示器、电视机、调谐器、收音机、卫星收音机、音乐播放器、数字音乐播放器、便携式音乐播放器、数字视频播放器、视频播放器、数字视频盘(DVD)播放器、便携式数字视频播放器、汽车、车辆组件、航空电子系统、无人机和多旋翼飞行器。
在这点上,图10图示了基于处理器的系统1000的一个示例,该系统包括CIM系统,该CIM系统包括根据本文中公开的各方面的一个或多个CIM电路,每个CIM电路包括5T SRAM位单元电路,5T SRAM位单元电路被配置为耦合到用于读取和写入操作的单个位线,并且被配置为以降低的电源电压操作以降低待机和动态功率,并且每个CIM电路还包括基于XOR的电路,基于XOR的电路用于生成表示作为SRAM位单元电路中的存储数据的读取存储数据值与输入数据值的乘法运算的乘法输出,CIM电路包括但不限于图4和图7-图10中的CIM电路。在该示例中,基于处理器的系统1000可以形成为集成电路(IC)1004,作为片上系统(SoC)1006。基于处理器的系统1000包括中央处理单元(CPU)1008,CPU 1008包括一个或多个处理器1010,处理器1010也可以称为CPU核或处理器核。CPU 1008可以具有耦合到CPU 1008以用于对临时存储的数据进行快速访问的高速缓冲存储器1012。高速缓冲存储器1012可以包括CIM系统,该CIM系统包括根据本文中公开的方面的一个或多个CIM电路,每个CIM电路包括5T SRAM位单元电路,5T SRAM位单元电路被配置为耦合到用于读取和写入操作的单个位线,并且被配置为以降低的电源电压操作以降低待机和动态功率,并且每个CIM电路还包括基于XOR的电路,基于XOR的电路用于生成表示作为SRAM位单元电路中的存储数据的读取存储数据值与输入数据值的乘法运算的乘法输出,CIM电路包括但不限于图4和图7-图10中的CIM电路。
CPU 1008耦合到系统总线1014,系统总线1014可以使基于处理器的系统1000中包括的主设备和从设备相互耦合。众所周知,CPU 1008通过在系统总线1014之上交换地址、控制和数据信息来与这些其他设备进行通信。例如,CPU 1008可以向作为从设备的一个示例的存储器控制器1016传送总线事务请求。尽管图10中未示出,但可以提供多个系统总线1014,其中每个系统总线1014构成不同结构。
其他主设备和从设备可以连接到系统总线1014。如图10所示,作为示例,这些设备可以包括存储器系统1020(包括存储器控制器1016和(多个)存储器阵列1018)、一个或多个输入设备1022、一个或多个输出设备1024、一个或多个网络接口设备1026和一个或多个显示控制器1028。存储器系统1020、一个或多个输入设备1022、一个或多个输出设备1024、一个或多个网络接口设备1026和一个或多个显示控制器1028中的每一者可以包括CIM系统,该CIM系统包括根据本文中公开的各方面的一个或多个CIM电路,每个CIM电路包括5T SRAM位单元电路,5T SRAM位单元电路被配置为耦合到用于读取和写入操作的单个位线,并且被配置为以降低的电源电压操作以降低待机和动态功率,并且每个CIM电路还包括基于XOR的电路,基于XOR的电路用于生成表示作为SRAM位单元电路中的存储数据的读取存储数据值与输入数据值的乘法运算的乘法输出,CIM电路包括但不限于图4和图7-图10中的CIM电路。
(多个)输入设备1022可以包括任何类型的输入设备,包括但不限于输入键、开关、语音处理器等。(多个)输出设备1024可以包括任何类型的输出设备,包括但不限于音频、视频、其他视觉指示器等。(多个)网络接口设备1026可以是被配置为允许与网络1030交换数据的任何设备。网络1030可以是任何类型的网络,包括但不限于有线或无线网络、专用或公共网络、局域网(LAN)、无线局域网(WLAN)、广域网(WAN)、BluetoothTM网络和因特网。(多个)网络接口设备1026可以被配置为支持期望的任何类型的通信协议。
CPU 1008还可以被配置为通过系统总线1014访问(多个)显示控制器1028,以控制发送给一个或多个显示器1032的信息。(多个)显示控制器1028经由一个或多个视频处理器1034将要被显示的信息发送给(多个)显示器1032,该视频处理器1034将要被显示的信息处理成适合(多个)显示器1032的格式。(多个)显示器1032可以包括任何类型的显示器,包括但不限于阴极射线管(CRT)、液晶显示器(LCD)、等离子显示器、发光二极管(LED)显示器等。(多个)显示控制器1028、(多个)视频处理器1034和显示器1032可以包括CIM系统,该CIM系统包括根据本文中公开的各方面的一个或多个CIM电路,每个CIM电路包括5T SRAM位单元电路,5T SRAM位单元电路被配置为耦合到用于读取和写入操作的单个位线,并且被配置为以降低的电源电压操作以降低待机和动态功率,并且每个CIM电路还包括基于XOR的电路,基于XOR的电路用于生成表示作为SRAM位单元电路中的存储数据的读取存储数据值与输入数据值的乘法运算的乘法输出,CIM电路包括但不限于图4和图7-图10中的CIM电路。
图11图示了示例性无线通信设备1100,无线通信设备1100包括由一个或多个IC1102形成的射频(RF)组件,其中任何IC 1102可以包括CIM系统,该CIM系统包括根据本文中公开的各方面的一个或多个CIM电路,每个CIM电路包括5T SRAM位单元电路,5T SRAM位单元电路被配置为耦合到用于读取和写入操作的单个位线,并且被配置为以降低的电源电压操作以降低待机和动态功率,并且每个CIM电路还包括基于XOR的电路,基于XOR的电路用于生成表示作为SRAM位单元电路中的存储数据的读取存储数据值与输入数据值的乘法运算的乘法输出,CIM电路包括但不限于图4和图7-图10中的CIM电路。
如图11所示,无线通信设备1100包括收发器1104和数据处理器1106。数据处理器1106可以包括用于存储数据和程序代码的存储器。收发器1104包括支持双向通信的发射器1108和接收器1110。通常,无线通信设备1100可以包括用于任何数目的通信系统和频带的任何数目的发射器1108和/或接收器1110。收发器1104的全部或一部分可以在一个或多个模拟IC、RF IC(RFIC)、混合信号IC等上实现。
发射器1108或接收器1110可以用超外差架构或直接转换架构来实现。在超外差架构中,信号在多个阶段中在RF与基带之间进行频率转换,例如,在一个阶段中从RF到中频(IF),然后在另一阶段中从IF到基带。在直接转换架构中,信号在一个阶段中在RF与基带之间进行频率转换。超外差和直接转换架构可以使用不同的电路块和/或具有不同的要求。在图11中的无线通信设备1100中,发射器1108和接收器1110用直接转换架构来实现。
在发射路径中,数据处理器1106处理要发射的数据,并且向发射器1108提供I和Q模拟输出信号。在示例性无线通信设备1100中,数据处理器1106包括数模转换器(DAC)1112(1)、1112(2),该DAC 1112(1)、1112(2)用于将由数据处理器1106生成的数字信号转换为I和Q模拟输出信号,例如,I和Q输出电流,以供进一步处理。
在传输器1108内,低通滤波器1114(1)、1114(2)分别对I和Q模拟输出信号进行滤波,以去除由先前数模转换引起的不期望的信号。放大器(AMP)1116(1)、1116(2)分别放大来自低通滤波器1114(1)、1114(2)的信号,并且提供I和Q基带信号。上变频器1118通过混频器1120(1)、1120(2)利用来自TX LO信号发生器1122的I和Q传输(TX)本地振荡器(LO)信号对I和Q基带信号进行上变频,以提供上变频信号1124。滤波器1126对上变频信号1124进行滤波,以去除由上变频引起的不期望的信号以及接收频带中的噪声。功率放大器(PA)1128放大来自滤波器1126的上变频信号1124以获取期望的输出功率电平并且提供发射RF信号。发射RF信号被路由通过双工器或开关1130,并且经由天线1132被发射。
在接收路径中,天线1132接收由基站发射的信号,并且提供接收的RF信号,该信号被路由通过双工器或开关1130并且提供给低噪声放大器(LNA)1134。双工器或开关1130被设计为以特定接收(RX)到TX双工器频率分离来操作,使得RX信号与TX信号隔离。所接收的RF信号由LNA 1134放大并且由滤波器1136滤波以获取期望的RF输入信号。下变频混频器1138(1)、1138(2)将滤波器1136的输出与来自RX LO信号发生器1140的I和Q RX LO信号(即,LO_I和LO_Q)进行混频,以生成I和Q基带信号。I和Q基带信号由AMP 1142(1)、1142(2)放大,并且由低通滤波器1144(1)、1144(2)进一步滤波,以获取I和Q模拟输入信号,这些信号被提供给数据处理器1106。在该示例中,数据处理器1106包括模数转换器(ADC)1146(1)、1146(2),该ADC 1146(1)、1146(2)用于将模拟输入信号转换为数字信号以由数据处理器1106进一步处理。
在图11的无线通信设备1100中,TX LO信号发生器1122生成用于上变频的I和Q TXLO信号,而RX LO信号发生器1140生成用于下变频的I和Q RX LO信号。每个LO信号是具有特定基频的周期性信号。TX锁相环(PLL)电路1148从数据处理器1106接收定时信息,并且生成用于调节来自TX LO信号发生器1122的TX LO信号的频率和/或相位的控制信号。类似地,RXPLL电路1150从数据处理器1106接收定时信息,并且生成用于调节来自RX LO信号发生器1140的RX LO信号的频率和/或相位的控制信号。
本领域技术人员将进一步认识到,结合本文中公开的各方面而描述的各种说明性逻辑块、模块、电路和算法可以实现为电子硬件、存储在存储器或另一计算机可读介质中并且由处理器或其他处理设备执行的指令、或这两者的组合。作为示例,本文中描述的主设备和从设备可以用于任何电路、硬件组件、IC或IC芯片。本文中公开的存储器可以是任何类型和大小的存储器,并且可以被配置为存储期望的任何类型的信息。为了清楚地说明这种可互换性,上面已经大体上就其功能描述了各种说明性组件、块、模块、电路和步骤。这样的功能如何实现取决于特定应用、设计选择和/或施加在整个系统上的设计约束。熟练的技术人员可以针对每个特定应用以不同方式实现所描述的功能,但是这样的实现决策不应当被解释为导致偏离本公开的范围。
结合本文中公开的各方面而描述的各种说明性逻辑块、模块和电路可以用被设计为执行本文中描述的功能的处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其他可编程逻辑器件、离散门或晶体管逻辑、离散硬件组件、或其任何组合来实现或执行。处理器可以是微处理器,但在备选方案中,处理器可以是任何常规处理器、控制器、微控制器或状态机。处理器还可以被实现为计算设备的组合(例如,DSP和微处理器的组合、多个微处理器、与DSP核相结合的一个或多个微处理器、或任何其他这样的配置)。
本文中公开的各方面可以体现在硬件和存储在硬件中的指令中,并且可以驻留在例如随机存取存储器(RAM)、闪存、只读存储器(ROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、寄存器、硬盘、可移动盘、CD-ROM、或本领域已知的任何其他形式的计算机可读介质中。示例性存储介质耦合到处理器,使得处理器可以从存储介质读取信息并且向存储介质写入信息。在备选方案中,存储介质可以集成到处理器中。处理器和存储介质可以驻留在ASIC中。ASIC可以驻留在远程站中。在备选方案中,处理器和存储介质可以作为分立组件驻留在远程站、基站或服务器中。
还应当注意,本文中的任何示例性方面中描述的操作步骤都是用于提供示例和讨论。所描述的操作可以以不同于所示序列的很多不同序列来执行。此外,在单个操作步骤中描述的操作实际上可以在多个不同步骤中执行。附加地,在示例性方面中讨论的一个或多个操作步骤可以组合。应当理解,流程图中所示的操作步骤可以进行很多不同修改,这对于本领域的技术人员来说是显而易见的。本领域技术人员还将理解,信息和信号可以使用各种不同科技和技术中的任何一种来表示。例如,在整个以上描述中引用的数据、指令、命令、信息、信号、比特、符号和芯片可以通过电压、电流、电磁波、磁场或粒子、光场或粒子、或其任何组合来表示。
提供本公开的先前描述是为了使得本领域技术人员能够制作或使用本公开。对本领域技术人员来说,对本公开的各种修改将是显而易见的,并且本文中定义的一般原理可以应用于其他变型。因此,本公开不旨在局限于本文中描述的示例和设计,而是应当被给予与本文中公开的原理和新颖特征一致的最宽范围。

Claims (27)

1.一种内存内计算(CIM)电路,包括:
位线;
静态随机存取存储器(SRAM)位单元电路,包括:
存储电路,包括:
真反相器电路,包括真反相器输入节点和真反相器输出节点,所述真反相器输出节点包括真存储节点;以及
互补反相器电路,包括互补反相器输入节点和互补反相器输出节点,所述互补反相器输入节点耦合到所述真反相器输出节点,所述互补反相器输出节点包括仅耦合到所述真反相器输入节点的互补存储节点;以及
存取电路,耦合到所述真存储节点;以及
乘法电路,包括耦合到所述存储电路的第一乘法输入节点、第二乘法输入节点和乘法输出节点;
所述乘法电路被配置为在所述乘法输出节点上生成所述第一乘法输入节点上的第一乘法输入和所述第二乘法输入节点上的第二乘法输入的乘法乘积。
2.根据权利要求1所述的CIM电路,还不包括耦合到所述互补存储节点的第二存取电路。
3.根据权利要求2所述的CIM电路,还不包括耦合到所述SRAM位单元电路的第二位线。
4.根据权利要求1所述的CIM电路,其中所述乘法电路包括基于异或(XOR)的电路,所述基于XOR的电路被配置为在所述乘法输出节点上生成所述乘法乘积,作为所述第一乘法输入和所述第二乘法输入的基于XOR的逻辑运算。
5.根据权利要求4所述的CIM电路,其中:
所述第一乘法输入节点包括:
第一真乘法输入节点,耦合到所述真存储节点并且被配置为接收所述真存储节点上的真存储数据;以及
第一互补乘法输入节点,耦合到所述互补存储节点并且被配置为接收所述互补存储节点上的互补存储数据;
所述第二乘法输入节点包括:
第二真乘法输入节点,被配置为接收第二真乘法输入数据;以及
第二互补乘法输入节点,被配置为接收第二互补乘法输入数据;并且
所述基于XOR的电路包括:
第一乘法晶体管,包括:
第一源极/漏极,耦合到所述第一真乘法输入节点;
第一漏极/源极,耦合到所述乘法输出节点;以及
第一栅极,耦合到所述第二真乘法输入节点;以及第二乘法晶体管,包括:
第二源极/漏极,耦合到所述第一互补乘法输入节点;
第二漏极/源极,耦合到所述乘法输出节点;以及
第二栅极,耦合到所述第二互补乘法输入节点。
6.根据权利要求4所述的CIM电路,其中:
所述第一乘法输入节点包括:
第一真乘法输入节点,耦合到所述真存储节点并且被配置为接收所述真存储节点上的真存储数据;以及
第一互补乘法输入节点,耦合到所述互补存储节点并且被配置为接收所述互补存储节点上的互补存储数据;
所述第二乘法输入节点包括:
第二真乘法输入节点,被配置为接收第二真乘法输入数据;以及
第二互补乘法输入节点,被配置为接收第二互补乘法输入数据;并且
所述基于XOR的电路包括:
第一乘法晶体管,包括:
第一源极/漏极,耦合到所述第二真乘法输入节点;
第一漏极/源极,耦合到所述乘法输出节点;以及
第一栅极,耦合到所述第一真乘法输入节点;以及
第二乘法晶体管,包括:
第二源极/漏极,耦合到所述第二互补乘法输入节点;
第二漏极/源极,耦合到所述乘法输出节点;以及
第二栅极,耦合到所述第一互补乘法输入节点。
7.根据权利要求1所述的CIM电路,还包括耦合到所述乘法输出节点的非易失性(NV)电容器电路。
8.根据权利要求7所述的CIM电路,其中所述NV电容器电路包括铁电电容器电路。
9.根据权利要求1所述的CIM电路,其中:
所述位线被配置为被预充电至预充电电压;以及
所述存取电路被配置为响应于所述存取电路被激活而将所述真存储节点上的数据值传递到所述位线。
10.根据权利要求1所述的CIM电路,还包括:
耦合到所述真反相器电路的第一电源电压轨,所述第一电源电压轨被配置为接收第一电源电压;以及
耦合到所述互补反相器电路的第二电源电压轨,所述第二电源电压轨被配置为接收第二电源电压;
所述第二电源电压轨被配置为响应于所述存取电路被激活以执行对所述SRAM位单元电路的存取操作而基于所述第二电源电压提供升压电压,所述升压电压超过所述第一电源电压。
11.根据权利要求1所述的CIM电路,还包括:
第一正电源电压轨,被配置为接收第一正电源电压;
第二正电源电压轨,被配置为接收第二正电源电压;
第一负电源电压轨,被配置为接收第一接地电压;以及
第二负电源电压轨,被配置为接收第二接地电压;
其中所述真反相器电路包括:
真正(P)型场效应晶体管(FET)(PFET),包括:
真P型源极,耦合到所述第一正电源电压轨;
真P型栅极,耦合到所述互补反相器输出节点;以及
真P型漏极,耦合到所述互补反相器输入节点;以及
真负(N)型FET(NFET),包括:
真N型漏极,耦合到所述第一负电源电压轨;
真N型栅极,耦合到所述互补反相器输出节点;以及
真N型源极,耦合到所述互补反相器输入节点;以及
所述互补反相器电路包括:
互补PFET,包括:
互补P型源极,耦合到所述第二正电源电压轨;
互补P型栅极,耦合到所述真反相器输出节点;以及
互补P型漏极,耦合到所述真反相器输入节点;以及
互补NFET,包括:
互补N型漏极,耦合到所述第二负电源电压轨;
互补N型栅极,耦合到所述真反相器输出节点;以及
互补N型源极,耦合到所述真反相器输入节点。
12.根据权利要求11所述的CIM电路,其中所述第二正电源电压轨耦合到所述第一正电源电压轨。
13.根据权利要求11所述的CIM电路,其中:
所述第二正电源电压轨被配置为响应于所述存取电路被激活以执行对所述SRAM位单元电路的存取操作而基于所述第二正电源电压提供正升压电压,所述正升压电压超过所述第一正电源电压;以及
所述第二负电源电压轨被配置为响应于所述存取电路被激活以执行对所述SRAM位单元电路的所述存取操作而基于所述第二接地电压提供负升压电压,所述负升压电压负地超过所述第一接地电压。
14.根据权利要求1所述的CIM电路,其中所述SRAM位单元电路是五晶体管(5T)SRAM位单元电路。
15.根据权利要求1所述的CIM电路,被集成到选自由以下各项组成的组的设备中:机顶盒;娱乐单元;导航设备;通信设备;固定位置数据单元;移动位置数据单元;全球定位系统(GPS)设备;移动电话;蜂窝电话;智能电话;会话发起协议(SIP)电话;平板电脑;平板手机;服务器;计算机;便携式计算机;移动计算设备;可穿戴计算设备;台式计算机;个人数字助理(PDA);监视器;计算机显示器;电视机;调谐器;收音机;卫星收音机;音乐播放器;数字音乐播放器;便携式音乐播放器;数字视频播放器;视频播放器;数字视频盘(DVD)播放器;便携式数字视频播放器;汽车;车辆组件;航空电子系统;无人机;以及多旋翼飞行器。
16.根据权利要求1所述的CIM电路,被集成到集成电路(IC)中。
17.一种执行内存内计算(CIM)操作的方法,包括:
激活存取电路以将位线耦合到静态随机存取存储器(SRAM)位单元电路的真反相器电路的真存储节点,所述SRAM位单元电路包括:
所述真反相器电路,包括真反相器输入节点和真反相器输出节点,所述真反相器输出节点包括所述真存储节点;以及
互补反相器电路,包括互补反相器输入节点和互补反相器输出节点,所述互补反相器输入节点耦合到所述真反相器输出节点,所述互补反相器输出节点包括仅耦合到所述真反相器输入节点的互补存储节点;
将来自所述真存储节点的真数据值作为第一乘法输入提供给乘法电路的第一乘法输入节点;
断言到所述乘法电路的第二乘法输入节点的第二乘法输入;以及
基于所述第一乘法输入和所述第二乘法输入的乘法在所述乘法电路的乘法输出节点上生成乘法乘积。
18.根据权利要求17所述的方法,还包括:
向所述真反相器电路提供第一正电源电压轨的第一正电源电压;
向所述互补反相器电路提供第二正电源电压轨的第二正电源电压;以及
响应于所述接入电路被激活,正地升压所述第二正电源电压以超过所述第一正电源电压。
19.根据权利要求18所述的方法,还包括:
向所述真反相器电路提供第一负电源电压轨的第一接地电压;
向所述互补反相器电路提供第二负电源电压轨的第二接地电压;以及
响应于所述接入电路被激活,负地升压所述第二接地电压以负地超过所述第一接地电压。
20.根据权利要求17所述的方法,还包括:
向基于处理器的系统中的存储器阵列提供存储器域电源电压;
向所述真反相器电路提供小于所述存储器域电源电压的第一电源电压;以及
向所述互补反相器电路提供第二电源电压。
21.根据权利要求20所述的方法,还包括将所述位线预充电至所述第一电源电压。
22.一种存储器系统,包括:
内存内计算(CIM)阵列电路,包括多个CIM电路,每个CIM电路包括:
静态随机存取存储器(SRAM)位单元电路,包括:
存储电路,包括:
真反相器电路,包括真反相器输入节点和真反相器输出节点,所述真反相器输出节点包括真存储节点;以及
互补反相器电路,包括互补反相器输入节点和互补反相器输出节点,所述互补反相器输入节点耦合到所述真反相器输出节点,所述互补反相器输出节点包括仅耦合到所述真反相器输入节点的互补存储节点;以及
存取电路,耦合到所述真存储节点;以及
乘法电路,包括耦合到所述存储电路的第一乘法输入节点、第二乘法输入节点和乘法输出节点;
所述乘法电路被配置为在所述乘法输出节点上生成所述第一乘法输入节点上的第一乘法输入和所述第二乘法输入节点上的第二乘法输入的乘法乘积;
第一位线,耦合到所述多个CIM电路的第一子集的所述存取电路中的每个存取电路;
第二位线,耦合到所述多个CIM电路的第二子集的所述存取电路中的每个存取电路,所述多个CIM电路的所述第二子集不同于所述多个CIM电路的所述第一子集;以及
位线驱动器电路,耦合到所述第一位线和所述第二位线;
所述位线驱动器电路被配置为:
将所述第一位线预充电至真读取数据的第一预充电电压;以及
将所述第二位线预充电至互补读取数据的第二预充电电压。
23.根据权利要求22所述的存储器系统,其中所述位线驱动器电路物理地位于所述CIM阵列电路中,在所述多个CIM电路的所述第一子集中的第一端部CIM电路与所述多个CIM电路的所述第二子集中的第二端部CIM电路之间。
24.根据权利要求22所述的存储器系统,其中:
所述多个CIM电路的所述第一子集中的CIM电路的数目等于所述多个CIM电路的所述第二子集中的CIM电路的数目;
所述多个CIM电路的所述第一子集被布置在第一线性阵列中;
所述多个CIM电路的所述第二子集被布置在与所述第一线性阵列对准的第二线性阵列中;并且
所述位线驱动器电路物理地位于所述第一线性阵列与所述第二线性阵列之间的区域中。
25.根据权利要求22所述的存储器系统,其中:
所述CIM阵列电路还包括全局位线(GBL);以及
所述CIM阵列电路中的所述多个CIM电路的所述乘法输出节点中的每个乘法输出节点耦合到所述GBL。
26.根据权利要求25所述的存储器系统,其中所述CIM阵列电路还包括全局位线驱动器电路,所述全局位线驱动器电路被配置为将所述GBL预充电至预充电电压。
27.根据权利要求26所述的存储器系统,还包括存储器阵列,其中:
所述存储器阵列被配置为接收存储器域电源电压;以及
所述全局位线驱动器电路被配置为将所述GBL预充电至小于所述存储器域电源电压的所述预充电电压。
CN202180068631.5A 2020-10-30 2021-09-14 应用采用静态随机存取存储器(sram)位单元的低功耗cim电路的内存内计算(cim),特别是用于乘法和累积(mac)运算 Pending CN116368461A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US17/084,779 2020-10-30
US17/084,779 US11176991B1 (en) 2020-10-30 2020-10-30 Compute-in-memory (CIM) employing low-power CIM circuits employing static random access memory (SRAM) bit cells, particularly for multiply-and-accumluate (MAC) operations
PCT/US2021/050317 WO2022093413A1 (en) 2020-10-30 2021-09-14 Compute-in-memory (cim) employing low-power cim circuits employing static random access memory (sram) bit cells, particularly for multiply-and-accumluate (mac) operations

Publications (1)

Publication Number Publication Date
CN116368461A true CN116368461A (zh) 2023-06-30

Family

ID=78080563

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180068631.5A Pending CN116368461A (zh) 2020-10-30 2021-09-14 应用采用静态随机存取存储器(sram)位单元的低功耗cim电路的内存内计算(cim),特别是用于乘法和累积(mac)运算

Country Status (5)

Country Link
US (1) US11176991B1 (zh)
EP (1) EP4204950B1 (zh)
CN (1) CN116368461A (zh)
TW (1) TW202217602A (zh)
WO (1) WO2022093413A1 (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11914973B2 (en) * 2020-11-19 2024-02-27 Apple Inc. Performing multiple bit computation and convolution in memory
US11551747B2 (en) * 2021-03-25 2023-01-10 Taiwan Semiconductor Manufacturing Company, Ltd. Computation apparatus and method using the same
CN114298297A (zh) * 2021-11-04 2022-04-08 清华大学 存内计算装置、芯片及电子设备
US20230317149A1 (en) * 2022-03-31 2023-10-05 International Business Machines Corporation Reconfigurable data processing and storage unit for deep neural networks
CN115048075A (zh) * 2022-04-27 2022-09-13 北京大学 基于电容耦合的sram存算一体芯片
US20240028298A1 (en) * 2022-07-19 2024-01-25 Samsung Electronics Co., Ltd. Memory device and method with in-memory computing
EP4332751A1 (en) * 2022-08-30 2024-03-06 Samsung Electronics Co., Ltd. Apparatus and method with in-memory computing (imc)
CN115658011B (zh) * 2022-09-30 2023-11-28 杭州智芯科微电子科技有限公司 向量乘加器的sram存内计算装置和电子设备
CN117608519B (zh) * 2024-01-24 2024-04-05 安徽大学 基于10t-sram的带符号乘法与乘累加运算电路

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9875788B2 (en) * 2010-03-25 2018-01-23 Qualcomm Incorporated Low-power 5T SRAM with improved stability and reduced bitcell size
US10332590B2 (en) * 2017-09-21 2019-06-25 Qualcomm Incorporated Static random access memory (SRAM) bit cells employing current mirror-gated read ports for reduced power consumption
EP3671748A1 (en) * 2018-12-21 2020-06-24 IMEC vzw In-memory computing for machine learning
US11126402B2 (en) * 2019-03-21 2021-09-21 Qualcomm Incorporated Ternary computation memory systems and circuits employing binary bit cell-XNOR circuits particularly suited to deep neural network (DNN) computing

Also Published As

Publication number Publication date
TW202217602A (zh) 2022-05-01
US11176991B1 (en) 2021-11-16
WO2022093413A1 (en) 2022-05-05
EP4204950A1 (en) 2023-07-05
EP4204950B1 (en) 2023-10-18

Similar Documents

Publication Publication Date Title
US11176991B1 (en) Compute-in-memory (CIM) employing low-power CIM circuits employing static random access memory (SRAM) bit cells, particularly for multiply-and-accumluate (MAC) operations
US11126402B2 (en) Ternary computation memory systems and circuits employing binary bit cell-XNOR circuits particularly suited to deep neural network (DNN) computing
US10410714B2 (en) Multi-level cell (MLC) static random access memory (SRAM) (MLC SRAM) cells configured to perform multiplication operations
CN107251142B (zh) 一种负电源轨正升压写入辅助电路和相关系统及方法
US10224087B1 (en) Sensing voltage based on a supply voltage applied to magneto-resistive random access memory (MRAM) bit cells in an MRAM for tracking write operations to the MRAM bit cells
US10332590B2 (en) Static random access memory (SRAM) bit cells employing current mirror-gated read ports for reduced power consumption
US10803942B1 (en) Transistor noise tolerant, non-volatile (NV) resistance element-based static random access memory (SRAM) physically unclonable function (PUF) circuits, and related systems and methods
US20190342106A1 (en) Physically unclonable function (puf) circuits employing multiple puf memories to decouple a puf challenge input from a puf response output for enhanced security
EP3467833A1 (en) Read-assist circuits for memory bit cells employing a p-type field-effect transistor (pfet) read port(s), and related memory systems and methods
US10319425B1 (en) Offset-cancellation sensing circuit (OCSC)-based non-volatile (NV) memory circuits
CN109716654B (zh) 电压电平移位器电路、电压电平移位方法和存储器系统
US10424380B1 (en) Physically unclonable function (PUF) memory employing static random access memory (SRAM) bit cells with added passive resistance to enhance transistor imbalance for improved PUF output reproducibility
US20190305971A1 (en) Physically unclonable function (puf) memory employing static random access memory (sram) bit cells enhanced by stress for increased puf output reproducibility
US10290340B1 (en) Offset-canceling (OC) write operation sensing circuits for sensing switching in a magneto-resistive random access memory (MRAM) bit cell in an MRAM for a write operation
US10438654B2 (en) Transpose static random access memory (SRAM) bit cells configured for horizontal and vertical read operations
US10163490B2 (en) P-type field-effect transistor (PFET)-based sense amplifiers for reading PFET pass-gate memory bit cells, and related memory systems and methods
US20210349689A1 (en) Multi-bit compute-in-memory (cim) arrays employing bit cell circuits optimized for accuracy and power efficiency
CN110121839B (zh) 以最小保持时间对脉冲锁存器计时的自适应脉冲发生电路
US11322199B1 (en) Compute-in-memory (CIM) cell circuits employing capacitive storage circuits for reduced area and CIM bit cell array circuits
US20220392524A1 (en) Digital compute-in-memory (dcim) bit cell circuit layouts and dcim arrays for multiple operations per column
CN107210065B (zh) 动态标签比较电路以及相关系统和方法
CN116134979A (zh) 采用非对称宽度读取字线和写入字线的静态随机存取存储器(sram)位单元及相关方法
WO2022119627A1 (en) Compute-in-memory (cim) bit cell circuits each disposed in an orientation of a cim bit cell circuit layout including a read word line (rwl) circuit in a cim bit cell array circuit

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