CN116126779A - 一种9t存算电路、乘累加运算电路、存内运算电路及芯片 - Google Patents
一种9t存算电路、乘累加运算电路、存内运算电路及芯片 Download PDFInfo
- Publication number
- CN116126779A CN116126779A CN202310159746.6A CN202310159746A CN116126779A CN 116126779 A CN116126779 A CN 116126779A CN 202310159746 A CN202310159746 A CN 202310159746A CN 116126779 A CN116126779 A CN 116126779A
- Authority
- CN
- China
- Prior art keywords
- circuit
- memory
- multiply
- signal
- current
- 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
Links
- 238000004364 calculation method Methods 0.000 claims abstract description 52
- 238000012544 monitoring process Methods 0.000 claims abstract description 52
- 230000006870 function Effects 0.000 claims abstract description 18
- 238000009825 accumulation Methods 0.000 claims abstract description 9
- 238000000034 method Methods 0.000 claims description 38
- 230000008569 process Effects 0.000 claims description 27
- 238000006243 chemical reaction Methods 0.000 claims description 12
- 238000013139 quantization Methods 0.000 claims description 6
- 238000013500 data storage Methods 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 6
- 230000008901 benefit Effects 0.000 description 4
- 238000013461 design Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000013528 artificial neural network Methods 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 230000014759 maintenance of location Effects 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 230000003321 amplification Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003199 nucleic acid amplification method Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7807—System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
- G06F15/7821—Tightly coupled to memory, e.g. computational memory, smart memory, processor in memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods 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/544—Methods 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/5443—Sum of products
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Neurology (AREA)
- Computational Linguistics (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- Artificial Intelligence (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Memory System (AREA)
Abstract
本发明属于集成电路技术领域,具体涉及一种读裕度增强型存储阵列,一种9T存算电路、一种乘累加运算电路、基于9Tsram的存内运算电路,以及基于9Tsram的CIM芯片。其中,9T存算电路包括基础的的6T存储单元和由额外的三个NMOS管N5、N6、N7构成计算单元;乘累加运算电路是在前述9T存算电路的基础上进一步设计得到的,乘累加运算电路根据功能划分大致包括计算阵列、电流镜电路、输入电路、电流监测阵列,以及输出电路。基于乘累加运算电路的新架构和传统的SRAM电路,本发明还提供一种基于9Tsram的存内运算电路,CIM电路具有数据读/写、保持功能和乘累加运算功能。本发明解决了6Tsram仅具有数据存储功能,以及现有乘累加运算电路的操作逻辑复杂,运算效率低等问题。
Description
技术领域
本发明属于集成电路技术领域,具体涉及一种读裕度增强型存储阵列,一种9T存算电路、一种乘累加运算电路、基于9Tsram的存内运算电路,以及基于9Tsram的CIM芯片。
背景技术
伴随着机器学习、云计算、人工智能的等高新技术的快速发展,对于应用数据的需求也在日益增长,这也预示着“算力时代”的到来。在这样的环境下,冯·诺伊曼架构作为现代计算机结构的基石,同样面临着巨大的挑战。传统冯·诺依曼架构长期以来一直被视为主流计算的范式,在这一架构中,数据和指令都存储在公共存储器中,并通过总线传输到计算单元。在新兴的数据密集型应用程序(如机器学习)和边缘计算等场景下,由于运算规模的显著增大,在缓存和主存储器之间移动数据的成本占整个数据处理能耗的很大一部分,可以说,冯·诺依曼架构已经成为制约超大规模系统中数据处理性能的主要瓶颈。为了克服这一问题,计算机和集成电路等领域的学者主要的研究方向是开发基于存内计算(CIM)的解决方案。事实上,这样的解决方案将计算直接带入存储器电路,避免了与CPU的大部分数据交换。
随着研究的深入,存内计算架构已成为流行,并在许多新兴领域大规模取代了传统的冯·诺依曼架构,尤其是用于处理人工神经网络和解决资源移动受限的边缘计算设备中的各种优化和数学问题尤为突出。研究表明可以在内存中嵌入各种功能的CIM架构,从而显著减少了内存访问和相关的节能。除了提高了能效外,CIM体系结构还通过在具有嵌入式模拟乘法和累加(MAC)功能的存储阵列的位单元阵列中进行计算时实现大规模并行来提高计算性能。此外,CIM可以通过隔离边缘设备(即边缘计算)中的个人数据而不在云中读取或存储数据(即云计算),从而大大降低隐私和安全方面的担忧。乘法和乘累加运算是人工神经网络等应用中最广泛的一类运算操作,因此如何开发出可以高效处理点乘和乘累加运算等复杂逻辑运算任务的存内运算电路,成为本领域技术人员亟需解决技术难题。
发明内容
为了解决传统6Tsram仅具有数据存储功能,以及现有乘累加运算电路的操作逻辑复杂,运算效率低等问题,本发明提供一种9T存算电路、一种乘累加运算电路、基于9Tsram的存内运算电路,以及基于9Tsram的CIM芯片。
本发明采用以下技术方案实现:
一种9T存算电路,其用于作为大规模存内运算电路的基础功能单元。该款9T存算电路具有基础的数据读、写、保持功能,以及乘法运算功能。每个9T存算电路由2个PMOS管P1、P2,以及7个NMOS管N1~N7构成。按照功能划分,9T存算电路包括6T存储单元和计算单元。其中,P1、P2、N1、N2、N3、N4构成6T存储单元。6T存储单元用于存储数据,Q和QB为6T存储单元中的一对反向存储节点。N5、N6、N7构成计算单元;计算单元用于和6T存储单元共同构成实现乘法运算的基本单元。
在9T存算电路中,计算单元的电路连接关系如下:N5的栅极连接着存储节点Q,N7的栅极连接着存储节点QB;N5的源极、N7的漏极和N6的栅极相连,N5和N6的漏极相连并接入计算线CL。N7的源极接地,N6的源极接输入信号IN的反相信号NIN。
在本发明提供的方案中,6T存储单元沿用传统SRAM中的电路方案,具体的电路连接关系如下:N1和N2的栅极连接字线WL;N1的漏极与位线信号BL相连,N1的源极、P2的栅极、N4的栅极、P1的漏极、N3的漏极相连并作为存储节点Q。N2的漏极与位线信号BLB相连,N2的源极P1的栅极、N3的栅极、P2的漏极、N4的漏极相连并作为存储节点QB。P1、P2的源极接VDD;N3、N4的源极接地。
在本发明中,9T存储单元实现数据读、写、保持主要由6T存储单元实现,具体的操作逻辑如下:由WL控制N1、N2的开启,进行读写控制。PMOS晶体管P1、P2与NMOS晶体管N3、N4构成两个交叉耦合的反向器实现在Q和QB节点锁存电位,进而存储并保持相应的数据;
作为本发明进一步的改进,9T存储单元实现乘法运算的操作过程需要计算单元和6T存储单元共同参与,具体的操作逻辑如下:
一、操作数预存阶段
开启字线WL,并通过位线BL和BLB在数据写模式下向9T存算电路的存储节点Q写入第一操作数。
二、运算阶段
在计算模式下向计算线CL灌入电流信号I,并通过N6的源极向9T存算电路输入第二操作数IN的反向信号NIN。其中,IN的高电平状态代表第二操作数为1,IN的低电平状态代表第二操作数为0。
然后检测计算线CL是否存在向N5和N6的漏极流入的电流信号,将CL与9T存算电路间的电流导通标识IF作为乘法运算的计算结果,即IF=Q×IN。
本发明还包括一种乘累加运算电路,其用于进行乘累加运算。该型乘累加运算电路是在前述9T存算电路的基础上进一步设计得到的,乘累加运算电路根据功能划分大致包括计算阵列、电流镜电路、输入电路、电流监测阵列,以及输出电路。
其中,计算阵列由多个9T存算电路按列排布而成;所有9T存算电路均与位线BL、BLB以及计算线CL相连;每个9T存算电路均连接有一个用于控制开启的字线WL。
电流镜电路用于向计算线CL灌入运算阶段所需的电流信号I。
输入电路由多个反相器按列排布而成,每个反相器与一个9T存算电路按行对应。每个反相器用于根据输入信号IN向9T存算电路中N6的源极输出一个对应的反相信号NIN。
电流监测电路由三个NMOS管M5、M6、M7按照与9T存算电路中计算单元N5、N6、N7相同的电路连接关系连接而成,电流监测电路接入到计算线CL上,并模拟计算单元在乘积结果为1时的信号状态。电流监测电路用于均分计算线CL在运算阶段流入到各个乘积结果为1的计算单元中的电流信号I。
在本发明提供的乘累加运算电路中,电流镜电路由4个PMOS管M1、M2、M3、M4构成。电路连接关系如下:M1、M2的源极接VDD;M1的栅极、M1的漏极、M2的栅极,以及M3的源极连接。M2的漏极与M4的源极相连;M3的栅极、漏极均与M4的栅极相连;M3的漏极为参考电流IREF的输出端。M4的漏极为复制电流I的输出端并接计算线CL。
在本发明提供的乘累加运算电路中,电流监测电路的电路连接关系如下:M5的栅极连接着高电平的控制信号OPEN=1.2V,N7的栅极连接着低电平的控制信号NOPEN=0V。M5的源极、M7的漏极和M6的栅极相连。M5和M6的漏极相连并接入计算线CL;M7的源极接地,M6的源极接输入电路输出的反相信号NIN。
作为本发明进一步的改进,乘累加运算电路执行乘累加运算的操作逻辑如下:
一、操作数预存阶段
根据乘累加运算中第操作数的个数依次选择n条字线WL0~WLn-1开启,并通过对应的位线BL和BLB在数据写模式下向每一行的9T存算电路中的存储节点内写入各个第一操作数Q0~Qn-1。
二、运算阶段
在运算模式下,向输入电路中的各个反向器同步输入每个9T存算电路所需的第二操作数IN0~INn-1。同时,通过电流镜电路向计算线CL中灌入电流信号I,由输出电路采集流入到电流监测电路中的分流信号ΔI。最终输出对应的乘累加运算结果N:
本发明还包括一种基于9Tsram的存内运算电路,其包括:存算阵列、位线组、计算线组、字线组、输入电路、电流镜电路、电流监测电路,输出电路、预充电电路、字线转换电路、行译码模块、列译码模块,以及控制电路。
其中,存算阵列由若干个如前述的9T存算电路按照N行M列的方式排列而成。
位线组包括M条位线BL0~BLM-1和M条位线BLB0~BLBM-1。存算阵列中的每列中的各个9T存算电路连接在同一组位线BL和BLB上。
计算线组包括M条计算线CL0~CLM-1;存算阵列中的每列中的各个9T存算电路连接在同一条计算线CL上。
字线组包括N条字线WL0~WLN-1;存算阵列每行中的各个9T存算电路连接在同一条字线WL上。
输入电路由至少N+1个反相器按列排布而成。前N个反向器的输入端接对应第一操作数的输入信号IN,输出端接在对应行的9T存算电路中N6的源极上。最后一个反相器用于和一个电流监测电路相连,并在运算阶段保持输出常为低电平状态。
电流镜电路用于在执行乘法运算或乘累加运算时,向对应的计算线CL灌入运算阶段所需的电流信号I。电流镜电路的基本功能单元由4个PMOS管M1、M2、M3、M4构成。M1、M2的源极接VDD;M1的栅极、M1的漏极、M2的栅极,以及M3的源极连接。M2的漏极与M4的源极相连;M3的栅极、漏极均与M4的栅极相连;M3的漏极为参考电流IREF的输出端;M4的漏极为复制电流I的输出端并接计算线CL。
电流监测阵列由M个电流监测电路按行排列而成。每个电流监测电路连接在计算线上;电流监测电路用于均分计算线CL在运算阶段流入到各个乘积结果为1的计算单元中的电流信号I。电流监测电路由三个NMOS管M5、M6、M7构成;M5的栅极连接着高电平的控制信号OPEN=1.2V,N7的栅极连接着低电平的控制信号NOPEN=0V。M5的源极、M7的漏极和M6的栅极相连;M5和M6的漏极相连并接入计算线CL。M7的源极接地,M6的源极接输入电路输出的常为低电平的信号。
输出电路包括M组的数据读单元和运算结果量化单元。数据读单元用于在数据读写模式下根据位线电压输出对应9T存算电路中存储的数据Q。运算结果量化单元在运算模式下采集流入到电流监测电路中的分流信号ΔI,并输出对应的运算结果N。
预充电电路用于对位线组中选中的位线BL、BLB进行预充操作。
字线转换电路用于控制各条字线WL的开启。
行译码模块与字线转换电路连接,译码模块用于将地址信号译码后传入到字线转换电路。
列译码模块用于选择各位线组,进而结合行译码模块和字线转换电路实现对任意9T存算电路进行选择,以执行相应的数据读/写或运算操作。
控制电路包括时序控制模块、模式控制模块和读写控制模块。时序控制模块用于生成数据读/写、乘法运算或乘累加运算操作过程中所需的各个时钟信号。模式控制模块用于切换基于9Tsram的存内运算电路的工作模式,工作模式包括存储模式和运算模式。读写控制模块用于对电路执行数据读写操作的过程进行控制。
本发明还包括一种基于9Tsram的CIM芯片,其为一个集成电路,并由前述的基于9Tsram的存内运算电路封装而成。
本发明提供的技术方案,具有如下有益效果:
本发明在6Tsram存储单元的基础上设计出了一种新的9T存算电路结构,该9T存算电路可以在完全不影响原始6Tsram存储单元数据读写和数据保持功能的基础上,利用新增的计算线CL和三个NMOS管实现较为复杂的乘法运算操作。
本发明基于新设计的9T存算电路还提出了一个新的乘累加运算电路的架构,并设计出一种基于9Tsram的存内运算电路。在这种大规模集成电路,可以在每个9T存算电路执行的乘法运算的基础上,根据计算线的流入到各个计算单元中的分流信号的大小,确定连接在同一计算线上的所有乘积为1的9T存算电路的数量,即实现了乘累加运算。此外,本发明的存内运算电路还针对每个计算单元中的分流信号大小不可测的弊端设计出一种特殊的电流监测电路,用于实现对流入到每个计算单元的分流信号进行间接测量。
本发明提供的电路的一个突出的优势运算过程的操作逻辑简单,同一列中不同行的计算单元的乘法运算可以仅并行处理,因而可以在较短的周期内完成包含大规模操作数的乘累加运算任务。由于该电路中的乘累加运算的执行过程高效、快速,因而本发明非常适合应用于包含大量乘累加运算的人工神经网络的数据处理任务,具有极高的实用价值。
附图说明
图1为本发明实施例1中提供的9T存算电路的电路图。
图2为本发明实施例1中提供的9T存算电路在执行不同的乘法运算过程中的电路连接及信号流向图。
图3为本发明实施例2中提供的乘累加运算电路的电路架构图。
图4为本发明实施例2中提供的乘累加运算电路在执行乘累加运算阶段的电路连接及信号流向图,
图5为本发明实施例2中乘累加运算电路在执行乘累加运算阶段时各信号的波形图。
图6为本发明实施例3中提供的基于9Tsram的存内运算电路的模块框图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步地详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
实施例1
本实施例提供一种9T存算电路,其用于作为大规模存内运算电路的基础功能单元。该款9T存算电路具有基础的数据读、写、保持功能,以及乘法运算功能。如图1所示,每个9T存算电路由2个PMOS管P1、P2,以及7个NMOS管N1~N7构成。按照功能划分,9T存算电路包括6T存储单元和计算单元。
结合图1可知:在9T存算电路中,P1、P2、N1、N2、N3、N4构成6T存储单元。6T存储单元用于存储数据,Q和QB为6T存储单元中的一对反向存储节点。具体的,在本实施例的方案中,6T存储单元沿用传统SRAM中的电路方案,具体的电路连接关系如下:N1和N2的栅极连接字线WL。N1的漏极与位线信号BL相连,N1的源极、P2的栅极、N4的栅极、P1的漏极、N3的漏极相连并作为存储节点Q。N2的漏极与位线信号BLB相连,N2的源极P1的栅极、N3的栅极、P2的漏极、N4的漏极相连并作为存储节点QB。P1、P2的源极接VDD;N3、N4的源极接地。
剩余的三个NMOS管N5、N6、N7构成计算单元;计算单元用于和6T存储单元共同构成实现乘法运算的基本单元。具体地,计算单元的电路连接关系如下:N5的栅极连接着存储节点Q,N7的栅极连接着存储节点QB;N5的源极、N7的漏极和N6的栅极相连,N5和N6的漏极相连并接入计算线CL。N7的源极接地,N6的源极接输入信号IN的反相信号NIN。
本实施例提供的9T存储单元实现数据读、写、保持时仍然基于基础的6T存储单元实现,因而具体的操作逻辑仍然与传统的方法相同,具体的下:由WL控制N1、N2的开启,进行读写控制。PMOS晶体管P1、P2与NMOS晶体管N3、N4构成两个交叉耦合的反向器实现在Q和QB节点锁存电位,进而存储并保持相应的数据;
特别地,在本实施例提供的9T存储单元中,实现乘法运算的操作过程需要计算单元和6T存储单元共同参与,具体的操作逻辑如下:
一、操作数预存阶段
开启字线WL,并通过位线BL和BLB在数据写模式下向9T存算电路的存储节点Q写入第一操作数。
二、运算阶段
在计算模式下向计算线CL灌入电流信号I,并通过N6的源极向9T存算电路输入第二操作数IN的反向信号NIN。其中,IN的高电平状态代表第二操作数为1,IN的低电平状态代表第二操作数为0。
然后检测计算线CL是否存在向N5和N6的漏极流入的电流信号,将CL与9T存算电路间的电流导通标识IF作为乘法运算的计算结果,即IF=Q×IN。
为了更好的对本实施例中电路实现乘法运算的逻辑和原理更清楚地进行展现,以下结合图2进行更进一步的说明。图2的中间一列包含4个不同的9T存算电路,各个9T存算电路从上至下分别正在执行1×1,0×1,1×0,0×0四种不同的乘法运算过程。图2的左边是多个反相器,反相器用于根据输入信号IN生成反相信号NIN,反相信号NIN直接输入到右边的9T存算电路中用于完成乘法运算,构成乘法运算中第二操作数IN的来源。图2的右侧是中间的各个9T存算电路在执行乘法运算阶段,计算单元的局部放大和电流流向示意图。
结合图2可以看到:在进行乘法运算时,9T存算电路中的6T存储单元均已经预先写入了乘法运算所需的第一操作数Q,按照从上至下的顺序,第一个9T存算电路中Q0=1,第二个9T存算电路中Q1=1,第三个9T存算电路中Q2=0,第四个9T存算电路中Q3=1。
然后,由左边的各个反相器分别输入第二操作数IN,结合图2可以知道:按照从上至下的顺序,第一个反相器中IN0=1,则MIN0=0。第二个反相器中IN1=0,则MIN1=1。第三个反相器中IN2=1,则MIN2=0。第四个反相器中IN3=0,则MIN3=1。
接下来,由计算单元进行运算。对于第一行:在Q0=1,QB0=0的状态下,N1打开,N2关断;在输入IN0=1时,NIN0=0,N3形成二极管连接型,N3始终处于饱和区,则CL上的电流可以流入9T存算单元。此时,将IF记为计算线CL与9T存算电路间的电流导通标识,则:IF=1;相应地,将IF作为乘法结果,则可以看到:IF=Q×IN在当前状态下成立,完成运算1×1=1。
对于对于第二行:在Q1=1,QB1=0时,N4打开,N5关断;当输入IN1=0时,NIN1=1,由于NIN1为高电平,N6的源漏反转,使N6管的栅源相连成高阻态,此时无电流流入。IF=0。相应地,将IF作为乘法结果,则可以看到:IF=Q×IN在当前状态下成立,完成运算1×0=0。
对于第三和第四行:在Q2=0,QB2=1时,N7关断,N8打开;此时,N9的栅极将通过N8接地,使得N9关断,无论输入IN2为0还是1都不会有电流流入,IF=0。也就是说,Q3=0,IN3=0的情况与Q2=0,IN2=1的情况相同。相应地,将IF作为乘法结果,则可以看到:IF=Q×IN在第三行和第四行的状态下均成立,分别完成运算0×1=0,0×0=0。
综上所述:图2中的电路在执行乘法运算时的真值表如下表所述:
表1:本实施例中9T存算电路的乘法运算真值表
Q | QB | IN | NIN | <![CDATA[I<sub>F</sub>]]> |
1 | 0 | 1 | 0 | 1 |
1 | 0 | 0 | 1 | 0 |
0 | 1 | 1 | 0 | 0 |
0 | 1 | 0 | 1 | 0 |
基于上述内容可知,本实施例提供的9T存算电路是在传统的6T存储单元的基础上设计出的新的既具有数据读写和保持功能,又具有乘法运算功能的新电路,该电路将计算线与增加的3T计算单元部分间的电流导通标志IF作为乘法结果的输出,因而不会对6T存储单元部分的数据读写和保持功能造成影响,是用于执行乘法以及乘累加等复杂逻辑运算的存算电路中基础电路部分的新方案,具有很高的实用价值。
实施例2
在实施例1提供的具有乘法运算功能的9T存算电路的基础上,本实施例进一步提供一种采用新架构的乘累加运算电路。利用该电路实现快速、高效的乘累加运算。在该电路中,无论乘累加运算的数据规模有多大,也仅需要两个操作周期就可以完成运算过程。
具体的,如图3所示,本实施例提供的乘累加运算电路根据功能划分大致包括计算阵列、电流镜电路(Current Mirror)、输入电路、电流监测电路(Current Monitor Cell),以及输出电路五个部分。
其中,计算阵列由多个实施例1中的9T存算电路按列排布而成;所有9T存算电路均与位线BL、BLB以及计算线CL相连;每个9T存算电路均连接有一个用于控制开启的字线WL。在实际的应用方案中,同列中9T存算电路的数量可以根据支持的最大乘累加运算操作数的数量确定。
电流镜电路用于在执行乘法运算(只开启1行)或乘累加运算(同时开启多行)时,向对应的计算线CL灌入运算阶段所需的电流信号I。本实施例中的电流镜电路由4个PMOS管M1、M2、M3、M4构成。具体的电路连接关系为:M1、M2的源极接VDD;M1的栅极、M1的漏极、M2的栅极,以及M3的源极连接。M2的漏极与M4的源极相连;M3的栅极、漏极均与M4的栅极相连;M3的漏极为参考电流IREF的输出端;M4的漏极为复制电流I的输出端并接计算线CL。
输入电路由多个反相器按列排布而成,每个反相器与一个9T存算电路按行对应。每个反相器用于根据输入信号IN向执行运算的各个9T存算电路中N6的源极输出一个对应的反相信号NIN。
电流监测电路由三个NMOS管M5、M6、M7按照与9T存算电路中计算单元N5、N6、N7相同的电路连接关系连接而成,电流监测电路接入到计算线CL上,并模拟计算单元在乘积结果为1时的信号状态。电流监测电路用于均分计算线CL在运算阶段流入到各个乘积结果为1的计算单元中的电流信号I。
具体地,电流监测电路由的电路连接关系如下:M5的栅极连接着高电平的控制信号OPEN=1.2V,N7的栅极连接着低电平的控制信号NOPEN=0V。M5的源极、M7的漏极和M6的栅极相连;M5和M6的漏极相连并接入计算线CL。M7的源极接地,M6的源极接输入电路输出的常为低电平的信号。
在本实施例提供的乘累加运算电路,执行乘累加运算的操作逻辑大致如下:
一、操作数预存阶段
根据乘累加运算中第操作数的个数依次选择n条字线WL0~WLn-1开启,并通过对应的位线BL和BLB在数据写模式下向每一行的9T存算电路中的存储节点内写入各个第一操作数Q0~Qn-1。
二、运算阶段
在运算模式下,向输入电路中的各个反向器同步输入每个9T存算电路所需的第二操作数IN0~INn-1。
同时,通过电流镜电路向计算线CL中灌入电流信号I,由输出电路采集流入到电流监测电路中的分流信号ΔI。
最终输出对应的乘累加运算结果N:
本实施例提供的乘累加运算电路的原理可以结合图4进行说明,在图4的电路中,结合前述实施例中的内容可知:本实施例设计的由多个9T存算电路构成的“单列式”计算阵列中,每个9T存算电路在乘积结果为1时都会和计算线CL保持导通,那么计算线上的电流信号I就会“分流”各个9T存算电路中,每个9T存算电路中的分流信号可记为ΔI,由于所有9T存算电路的结构和导通状态是一致的,并同时并联在计算线CL上,所以各个分流信号ΔI也是大小相同的。在这一状态下,只要确定分流信号ΔI与原始电流信号I之间的比例关系,就可以知道有多少个9T存算电路的乘法运算结果为1,也就得到了乘累加运算的结果N。
在此基础上,考虑到流入每个9T存算电路中的分流信号ΔI难以实现直接测量,本实施例设计的乘累加运算电路单独增加了一个“3T计算单元”作为“电流监测电路”,电流监测电路也并联在计算线CL上,并保持与乘积为1的3T计算单元中的计算单元同步。此时电流监测电路也可以从计算线CL上分得一个部分的分流信号ΔI。
进一步地,本实施例中的输出电路可以利用灵敏放大器来检测电流监测电路中“分得”的分流信号ΔI的大小,然后通过硬件或软件的方法计算出最终的乘累加运算结果N,即:
结合前述内可知,本实施例提供的乘累加运算电路的运算过程包括预存阶段和计算阶段两步。因此该电路的运算过程具有快速、高效的特点。具体地,运算过程中,各信号的变化过程大致如图5所示。结合图5可知;在数据预测(wirte)阶段:需要将对应行的字线WL0~WLn-1打开,并将对应列的位线BL预充至高电平,写入对应的各个第一操作数Q0~Qn-1。然后在接下来的运算(Computing)阶段,由于先向计算线CL上灌入了电路信号I,则处于与CL保持导通状态的电流监测电流分得的分流信号ΔI很高,而当通过反相器输入各个第二操作数IN0~INn-1;则多个不同的计算单元也会保持与CL导通,此时,分流信号ΔI会根据运算结果逐渐从较高的原始值不断下降到较低的。最终,根据ΔI的降幅可以确定乘累加运算结果。
由此可知:在本实施例的电路中,只要完成第一操作数的预存过程,并同步输入多个第二操作数,则乘累加运算的运算过程和结果的输出都可以在一个周期内直接实现,运算过程和运算结果的量化过程都非常高效。
需要特别说明的是:在预存阶段,各个9T存算电路虽然是连接在同一组位线BL、BLB上的,所以各个9T存算电路中存储节点Q的值是无法一次性全部写入的,在运算过程中,第一操作数需要依次在不同周期内分别写入。这看似会导致乘累加运算的周期变长,效率变低。
然而,实际的情况并不是这样。因为每个9T存算电路中的6T存储单元是具有数据保持功能的,且乘累加运算过程并不会对存储节点的数据造成影响。所以该电路完全可以在不同的9T存算电路中分别写入多个不同的第一操作数,然后在执行乘累加运算时,直接选择所需第二操作数对应的9T存算电路参与运算即可。此时的操作逻辑变更为:
一、运算单元选择阶段
根据所需运算的第一操作数,选择各行已经预存相关数据的9T存算电路参与运算。
二、运算阶段
向各个9T存算电路输入第二操作数,向计算线CL灌入电流信号I;然后采集分流信号ΔI并输出运算结果。
此时,新的乘累加运算操作逻辑将数据预存阶段的依次写入各个第一操作数的过程,变为一次性选择合适的9T存算电路开启的过程。而不同行的字线WL的开启是可以同步完成的。所以,本实施例提供的乘累加运算电路仍然可以在最短两个周期内实现包含大规模操作数的乘累加运算。
由此可见,与大部分常规方案相比,本实施例提出的新的电路架构在乘累加运算中表现出了快速和高效的优势。
实施例3
基于实施例2提出的乘累加运算电路的新架构,本实施例进一步提供一种基于9Tsram的存内运算电路(CIM),该型CIM电路就是在基于6Tsram的大规模存储电路中,引入实施例2中的乘累加运算的架构,进而使得CIM电路同时具有数据读/写、数据保持功能。并可以实现简单的乘法运算和复杂的乘累加运算功能,而且本实施例提供的基于9Tsram的存内运算电路的一个突出的优势在于:执行乘累加运算功能的效率高、速度快。
具体地,如图6所示,本实施例提供的基于9Tsram的存内运算电路包括:存算阵列、位线组、计算线组、字线组、输入电路、电流镜电路、电流监测阵列,输出电路、预充电电路、字线转换电路、行译码模块、列译码模块,以及控制电路。
其中,存算阵列由若干个如实施例1中的9T存算电路按照N行M列的方式排列而成。该阵列中9T存算电路的行数N决定了该电路可支持的最大乘累加运算的操作数规模。而列数N则决定了该电路可以支持的并行完成的数据读/写,或乘累加运算的任务数量。
位线组包括M条位线BL0~BLM-1和M条位线BLB0~BLBM-1。存算阵列中的每列中的各个9T存算电路连接在同一组位线BL和BLB上。计算线组包括M条计算线CL0~CLM-1;存算阵列中的每列中的各个9T存算电路连接在同一条计算线CL上。字线组包括N条字线WL0~WLN-1;存算阵列每行中的各个9T存算电路连接在同一条字线WL上。
电流镜电路用于在执行乘法运算或乘累加运算时,向对应的计算线CL灌入运算阶段所需的电流信号I。电流镜电路的基本功能单元由4个PMOS管M1、M2、M3、M4构成。M1、M2的源极接VDD;M1的栅极、M1的漏极、M2的栅极,以及M3的源极连接。M2的漏极与M4的源极相连;M3的栅极、漏极均与M4的栅极相连;M3的漏极为参考电流IREF的输出端;M4的漏极为复制电流I的输出端并接计算线CL。
电流监测阵列由M个电流监测电路按行排列而成,每个电流监测电路由三个NMOS管M5、M6、M7按照与9T存算电路中计算单元N5、N6、N7相同的电路连接关系连接而成,电流监测电路接入到计算线CL上,并模拟计算单元在乘积结果为1时的信号状态。电流监测电路用于均分计算线CL在运算阶段流入到各个乘积结果为1的计算单元中的电流信号I。
电流监测电路(CMC)的电路结构与9T中的计算单元结构相同,与9T一样接入CL上,通过给定信号OPEN=1.2V,代表逻辑高电平“1”、NOPEN=0V,代表逻辑低电平“0”,NIN=0V则是由IN=1.2V代表逻辑高电平“1”经过反相器输出的逻辑低电平“0”,使得M1打开、M2关断,M1和M3组成二极管连接型,CMC只用了M1、M2、M3三根NMOS晶体管充当了一个导通的9T单元,减少了芯片面积。CMC的电路连接关系如下:M5的栅极连接着高电平的控制信号OPEN=1.2V,N7的栅极连接着低电平的控制信号NOPEN=0V。M5的源极、M7的漏极和M6的栅极相连;M5和M6的漏极相连并接入计算线CL。M7的源极接地,M6的源极接输入电路输出的常为低电平的信号。
输入电路由至少N+1个反相器按列排布而成。前N个反向器的输入端接对应第一操作数的输入信号IN,输出端接在对应行的9T存算电路中N6的源极上。最后一个反相器用于和一个电流监测电路相连,并在运算阶段保持输出常为低电平状态。
在实施例提供的方案中,考虑到电流监测电路相当于一个“冗余的9T存算电路”,为了简化电路设计,除了每个9T存算电路的第一操作数由输入电路进行赋值,输入电路还需要为电流监测电路进行“赋值”,并保证电流监测电路在乘累加运算阶段总是处在与乘积为1的9T存算电路“同步”的状态。
输出电路包括M组的数据读单元和运算结果量化单元。数据读单元用于在数据读写模式下根据位线电压输出对应9T存算电路中存储的数据Q。运算结果量化单元在运算模式下采集流入到电流监测电路中的分流信号ΔI,并输出对应的运算结果N。
预充电电路用于对位线组中选中的位线BL、BLB进行预充操作。字线转换电路用于控制各条字线WL的开启。行译码模块与字线转换电路连接,译码模块用于将地址信号译码后传入到字线转换电路。列译码模块用于选择各位线组,进而结合行译码模块和字线转换电路实现对任意9T存算电路进行选择,以执行相应的数据读/写或运算操作。
控制电路包括时序控制模块、模式控制模块和读写控制模块。时序控制模块用于生成数据读/写、乘法运算或乘累加运算操作过程中所需的各个时钟信号。模式控制模块用于切换基于9Tsram的存内运算电路的工作模式,工作模式包括存储模式和运算模式。读写控制模块用于对电路执行数据读写操作的过程进行控制。
本实施例提供的基于9Tsram的存内运算电路在实际应用过程中可以以集成电路芯片的形式提供。具体地,本实施例还可以提供一种基于9Tsram的CIM芯片,其为一个集成电路,并由前述的基于9Tsram的存内运算电路封装而成。
综上所述,本实施例提供的电路方案能有效克服工艺波动影响,提高MRAM阵列读操作成功率。以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种9T存算电路,其用于作为大规模存内运算电路的基础功能单元,所述9T存算电路具有基础的数据读、写、保持功能,以及乘法运算功能;其特征在于:所述9T存算电路由2个PMOS管P1、P2,以及7个NMOS管N1~N7构成,按照功能划分,所述9T存算电路包括6T存储单元和计算单元;其中,P1、P2、N1、N2、N3、N4构成6T存储单元;所述6T存储单元用于存储数据,Q和QB为6T存储单元中的一对反向存储节点;N5、N6、N7构成计算单元;所述计算单元用于和所述6T存储单元共同构成实现乘法运算的基本单元;
所述计算单元的电路连接关系如下:N5的栅极连接着存储节点Q,N7的栅极连接着存储节点QB;N5的源极、N7的漏极和N6的栅极相连,N5和N6的漏极相连并接入计算线CL;N7的源极接地,N6的源极接输入信号IN的反相信号NIN。
2.如权利要求1所述的9T存算电路,其特征在于:所述6T存储单元的电路连接关系如下:N1和N2的栅极连接字线WL;N1的漏极与位线信号BL相连,N1的源极、P2的栅极、N4的栅极、P1的漏极、N3的漏极相连并作为存储节点Q;N2的漏极与位线信号BLB相连,N2的源极P1的栅极、N3的栅极、P2的漏极、N4的漏极相连并作为存储节点QB;P1、P2的源极接VDD;N3、N4的源极接地。
3.如权利要求2所述的9T存算电路,其特征在于:所述9T存储单元实现数据读、写、保持的操作逻辑如下:由WL控制N1、N2的开启,进行读写控制;PMOS晶体管P1、P2与NMOS晶体管N3、N4构成两个交叉耦合的反向器实现在Q和QB节点锁存电位,进而存储并保持相应的数据。
4.如权利要求2所述的9T存算电路,其特征在于:所述9T存储单元实现乘法运算的操作逻辑如下:
一、操作数预存阶段
开启字线WL,并通过位线BL和BLB在数据写模式下向9T存算电路的存储节点Q写入第一操作数;
二、运算阶段
在计算模式下向计算线CL灌入电流信号I,并通过N6的源极向9T存算电路输入第二操作数IN的反向信号NIN;IN的高电平状态代表第二操作数为1,IN的低电平状态代表第二操作数为0;
然后检测计算线CL是否存在向N5和N6的漏极流入的电流信号,将CL与9T存算电路间的电流导通标识IF作为乘法运算的计算结果,即IF=Q×IN。
5.一种乘累加运算电路,其用于进行乘累加运算;其特征在于,所述乘累加运算电路包括:
计算阵列,其由多个如权利要求1-4中任意一项所述的9T存算电路按列排布而成;所有9T存算电路均与位线BL、BLB以及计算线CL相连;每个9T存算电路均连接有一个用于控制开启的字线WL;
电流镜电路,其用于向所述计算线CL灌入运算阶段所需的电流信号I;
输入电路,其由多个反相器按列排布而成,每个反相器与一个9T存算电路按行对应;每个反相器用于根据输入信号IN向所述9T存算电路中N6的源极输出一个对应的反相信号NIN;
电流监测电路,其由三个NMOS管M5、M6、M7按照与9T存算电路中计算单元N5、N6、N7相同的电路连接关系连接而成,所述电流监测电路接入到计算线CL上,并模拟计算单元在乘积结果为1时的信号状态;所述电流监测电路用于均分计算线CL在运算阶段流入到各个乘积结果为1的计算单元中的电流信号I;以及
6.如权利要求5所述的乘累加运算电路,其特征在于:所述电流镜电路由4个PMOS管M1、M2、M3、M4构成;电路连接关系如下:M1、M2的源极接VDD;M1的栅极、M1的漏极、M2的栅极,以及M3的源极连接;M2的漏极与M4的源极相连;M3的栅极、漏极均与M4的栅极相连;M3的漏极为参考电流IREF的输出端;M4的漏极为复制电流I的输出端并接计算线CL。
7.如权利要求5所述的乘累加运算电路,其特征在于,所述电流监测电路的电路连接关系如下:M5的栅极连接着高电平的控制信号OPEN,N7的栅极连接着低电平的控制信号NOPEN;M5的源极、M7的漏极和M6的栅极相连;M5和M6的漏极相连并接入计算线CL;M7的源极接地,M6的源极接输入电路输出的反相信号NIN。
9.一种基于9Tsram的存内运算电路,其特征在于,其包括:
存算阵列,其由若干个如权利要求1所述的9T存算电路按照N行M列的方式排列而成;
位线组,其包括M条位线BL0~BLM-1和M条位线BLB0~BLBM-1;所述存算阵列中的每列中的各个9T存算电路连接在同一组位线BL和BLB上;
计算线组,其包括M条计算线CL0~CLM-1;所述存算阵列中的每列中的各个9T存算电路连接在同一条计算线CL上;
字线组,其包括N条字线WL0~WLN-1;所述存算阵列每行中的各个9T存算电路连接在同一条字线WL上;
输入电路,其由至少N+1个反相器按列排布而成;前N个反向器的输入端接对应第一操作数的输入信号IN,输出端接在对应行的9T存算电路中N6的源极上;最后一个反相器用于和一个电流监测电路相连,并在运算阶段保持输出常为低电平状态;
电流镜电路,其用于在执行乘法运算或乘累加运算时,向对应的计算线CL灌入运算阶段所需的电流信号I;所述电流镜电路的基本功能单元由4个PMOS管M1、M2、M3、M4构成;M1、M2的源极接VDD;M1的栅极、M1的漏极、M2的栅极,以及M3的源极连接;M2的漏极与M4的源极相连;M3的栅极、漏极均与M4的栅极相连;M3的漏极为参考电流IREF的输出端;M4的漏极为复制电流I的输出端并接计算线CL;
电流监测阵列,其由M个电流监测电路按行排列而成;每个电流监测电路,其连接在计算线上;所述电流监测电路用于均分计算线CL在运算阶段流入到各个乘积结果为1的计算单元中的电流信号I;电流监测电路由三个NMOS管M5、M6、M7构成;M5的栅极连接着高电平的控制信号OPEN,N7的栅极连接着低电平的控制信号NOPEN;M5的源极、M7的漏极和M6的栅极相连;M5和M6的漏极相连并接入计算线CL;M7的源极接地,M6的源极接输入电路输出的常为低电平的信号;
输出电路,其包括M组的数据读单元和运算结果量化单元;所述数据读单元用于在数据读写模式下根据位线电压输出对应9T存算电路中存储的数据Q;所述运算结果量化单元在运算模式下采集流入到所述电流监测电路中的分流信号ΔI,并输出对应的运算结果N;
预充电电路,其用于对位线组中选中的位线BL、BLB进行预充操作;
字线转换电路,其用于控制各条字线WL的开启;
行译码模块,其与字线转换电路连接,所述译码模块用于将地址信号译码后传入到所述字线转换电路;
列译码模块,其用于选择各位线组,进而结合行译码模块和字线转换电路实现对任意9T存算电路进行选择,以执行相应的数据读/写或运算操作;以及
控制电路,其包括时序控制模块、模式控制模块和读写控制模块;时序控制模块用于生成数据读/写、乘法运算或乘累加运算操作过程中所需的各个时钟信号;模式控制模块用于切换基于9Tsram的存内运算电路的工作模式,工作模式包括存储模式和运算模式;读写控制模块用于对电路执行数据读写操作的过程进行控制。
10.一种基于9Tsram的CIM芯片,其特征在于:其由如权利要求9所述的基于9Tsram的存内运算电路封装而成。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310159746.6A CN116126779A (zh) | 2023-02-21 | 2023-02-21 | 一种9t存算电路、乘累加运算电路、存内运算电路及芯片 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310159746.6A CN116126779A (zh) | 2023-02-21 | 2023-02-21 | 一种9t存算电路、乘累加运算电路、存内运算电路及芯片 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116126779A true CN116126779A (zh) | 2023-05-16 |
Family
ID=86304576
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310159746.6A Pending CN116126779A (zh) | 2023-02-21 | 2023-02-21 | 一种9t存算电路、乘累加运算电路、存内运算电路及芯片 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116126779A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117608519A (zh) * | 2024-01-24 | 2024-02-27 | 安徽大学 | 基于10t-sram的带符号乘法与乘累加运算电路 |
CN117807021A (zh) * | 2024-03-01 | 2024-04-02 | 安徽大学 | 2t-2mtj存算单元和mram存内计算电路 |
CN118503203A (zh) * | 2024-07-10 | 2024-08-16 | 中国人民解放军国防科技大学 | 基于标准单元的可配置存内计算架构及其编译器 |
-
2023
- 2023-02-21 CN CN202310159746.6A patent/CN116126779A/zh active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117608519A (zh) * | 2024-01-24 | 2024-02-27 | 安徽大学 | 基于10t-sram的带符号乘法与乘累加运算电路 |
CN117608519B (zh) * | 2024-01-24 | 2024-04-05 | 安徽大学 | 基于10t-sram的带符号乘法与乘累加运算电路 |
CN117807021A (zh) * | 2024-03-01 | 2024-04-02 | 安徽大学 | 2t-2mtj存算单元和mram存内计算电路 |
CN117807021B (zh) * | 2024-03-01 | 2024-05-10 | 安徽大学 | 2t-2mtj存算单元和mram存内计算电路 |
CN118503203A (zh) * | 2024-07-10 | 2024-08-16 | 中国人民解放军国防科技大学 | 基于标准单元的可配置存内计算架构及其编译器 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11568223B2 (en) | Neural network circuit | |
WO2021003899A1 (zh) | 一种适用于全连接二值化神经网络的存内计算电路 | |
CN116126779A (zh) | 一种9t存算电路、乘累加运算电路、存内运算电路及芯片 | |
CN110750232B (zh) | 一种基于sram的并行乘加装置 | |
CN112036562B (zh) | 一种应用于存内计算的位单元及存算阵列装置 | |
CN110176264B (zh) | 一种基于内存内计算的高低位合并电路结构 | |
CN110674462B (zh) | 一种矩阵运算装置、方法、处理器和计算机可读存储介质 | |
US11100979B1 (en) | Low-power SRAM memory cell and application structure thereof | |
Jaiswal et al. | I-SRAM: Interleaved wordlines for vector Boolean operations using SRAMs | |
CN117608519B (zh) | 基于10t-sram的带符号乘法与乘累加运算电路 | |
CN116364137A (zh) | 一种同侧双位线的8t单元、逻辑运算电路及cim芯片 | |
CN111158635B (zh) | 一种基于FeFET的非易失性低功耗乘法器及其运行方法 | |
CN116312670A (zh) | 一种9t1c存算电路、乘累加运算电路、存内运算电路、芯片 | |
CN112233712B (zh) | 一种6t sram存算装置、存算系统及存算方法 | |
CN116204490A (zh) | 一种基于低电压技术的7t存算电路、乘累加运算电路 | |
Wang et al. | A 40-nm CMOS Multifunctional Computing-in-Memory (CIM) Using Single-Ended Disturb-Free 7T 1-Kb SRAM | |
Dhakad et al. | In-Memory Computing with 6T SRAM for Multi-operator Logic Design | |
Monga et al. | A Novel Decoder Design for Logic Computation in SRAM: CiM-SRAM | |
CN115658010A (zh) | 一种脉冲宽度调制电路、量化电路、存算电路、芯片 | |
Chen et al. | FAST: A fully-concurrent access SRAM topology for high row-wise parallelism applications based on dynamic shift operations | |
Challagundla et al. | Resonant Compute-In-Memory (rCIM) 10T SRAM Macro for Boolean Logic | |
Azougagh et al. | Computational memory architecture supporting in bit-line processing | |
CN118212961B (zh) | 一种终端设备的运算装置、阵列单元及其写算读控制方法 | |
Chen et al. | FAST: A Fully-Concurrent Access Technique to All SRAM Rows for Enhanced Speed and Energy Efficiency in Data-Intensive Applications | |
CN117807021B (zh) | 2t-2mtj存算单元和mram存内计算电路 |
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 |