CN110008440B - 一种基于模拟矩阵运算单元的卷积运算及其应用 - Google Patents

一种基于模拟矩阵运算单元的卷积运算及其应用 Download PDF

Info

Publication number
CN110008440B
CN110008440B CN201910299610.9A CN201910299610A CN110008440B CN 110008440 B CN110008440 B CN 110008440B CN 201910299610 A CN201910299610 A CN 201910299610A CN 110008440 B CN110008440 B CN 110008440B
Authority
CN
China
Prior art keywords
voltage
analog
circuit
input
output
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.)
Active
Application number
CN201910299610.9A
Other languages
English (en)
Other versions
CN110008440A (zh
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.)
Hengshuo Semiconductor Hefei Co ltd
Original Assignee
Hengshuo Semiconductor Hefei Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hengshuo Semiconductor Hefei Co ltd filed Critical Hengshuo Semiconductor Hefei Co ltd
Priority to CN201910299610.9A priority Critical patent/CN110008440B/zh
Publication of CN110008440A publication Critical patent/CN110008440A/zh
Application granted granted Critical
Publication of CN110008440B publication Critical patent/CN110008440B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means

Abstract

本发明涉及电路设计技术领域,公开了一种基于模拟矩阵运算单元的卷积运算及其应用,所述卷积运算将卷积核经过转换拼接成P个长度为Q的横向量,并映射到模拟矩阵运算单元中,输入特征图按照滑动窗口进行切分转换成N个长度为Q的横向量,在脉冲波下,依次将N个长度为Q的横向量映射到向量中,同时输出N个长度为P的运算结果经采样保持器得到完整的卷积结果输出。本发明有效提高了卷积计算的速率,减少了功耗和电路面积,具有高度计算并行性,大大提高了计算的密度和效率,具有较高的实用价值和广泛的应用前景。

Description

一种基于模拟矩阵运算单元的卷积运算及其应用
技术领域
本发明涉及电路设计技术领域,具体涉及一种基于模拟矩阵运算单元的卷积运算及 其应用。
背景技术
卷积神经网络在图像识别,目标检测和许多机器学习应用领域显示出巨大的优势。 卷积神经网络主要由卷积层,池化层,全连接层级联组成,主要有输入层像素块和卷积核之间的卷积操作、为引入非线性而进行的激活操作、为减少特征值而对特征图进行的 下采样操作(即池化)以及卷积之后的全连接操作,其中,绝大部分计算量都在卷积层 和全连接层。
大型的卷积神经网络,具有庞大的参数集和计算量。为完成庞大的计算量,一般芯片的设计思路是基于冯诺依曼架构上大量增加并行的运算单元,从早期的GPU,再到现 在的FPGA,ASIC,NPU,TPU,都是由控制单元,存储单元,计算单元构成的。运算过 程中,首先要将权重和输入特征存至片外的存储器,然后将需要运算的数据通过片内的 一二级缓存,再到寄存器,最后送入ALU单元进行运算。这种架构存在两大问题:运算 过程中,片内片外的数据往返传输消耗了大量的运算时间和功耗,计算单元和存储器之 间的数据搬运消耗了大量的资源;为满足算力需要不断增加的并行计算单元的数量与存 储单元带宽之间存在矛盾,成为AI芯片算力提升的瓶颈。
发明内容
针对现有技术的不足,本发明提供一种模拟乘法电路、模拟乘法方法及其应用,用以解决背景技术中提出的问题。
本发明解决技术问题采用如下技术方案:
一种基于模拟矩阵运算单元的卷积运算,所述模拟矩阵运算单元能够实现向量(a1…aQ)与矩阵
Figure BDA0002027799780000011
的乘法输出;
所述卷积运算包括以下步骤:
将卷积核经过转换拼接成P个长度为Q的横向量,并映射到矩阵
Figure BDA0002027799780000021
中;
将输入特征图按照滑动窗口进行切分转换成N个长度为Q的横向量;
在N个脉冲波下,依次将N个长度为Q的横向量映射到向量(a1…aQ)中,矩阵运 算单元的模拟输出端口按照脉冲波序列,输出N个长度为P的运算结果;
通过采样保持器将所有输出的运算结果采样保持至一个时间点,得到完整的卷积结 果。
优选地,所述模拟矩阵运算单元由P个模拟乘加单元构成,所述模拟乘加单元能够实现一个行向量[V1,V2,…,Vn]与列向量[W1,W2,...,Wn]T的乘法输出。
优选地,所述模拟乘加单元由Q个模拟乘法电路横构成;
所述模拟乘法电路包括一对浮栅场效应管M1、M2和一个差分电流检测电路;所述M1和M2共栅极并接入电压源,共漏极或共源极并接入模拟电压输入,所述差分电流检 测电路包括两个电流输入端和一个输出端,所述两个电流输入端对应接入M1和M2各自 源极或漏极,所述差分电流检测电路能保持两个电流输入端电压不变且输出端结果为两 个电流输入端输入电流差值的函数;所述M1和M2的栅源电压大于两者阈值电压的最大 值,漏源电压小于栅源电压分别与两者阈值电压差值的最小值;
所述模拟乘加单元中的Q个模拟乘法电路共栅极且共同一个差分电流检测电路,所 述每个模拟乘法电路中该对浮栅场效应管的共漏极或共源极分别接入对应的输入电压信号;所述差分电流检测电路的输出端结果为每个模拟乘法电路输出的基于该对浮栅场效应管输出电流差值的函数之和。
优选地,所述模拟乘法电路执行乘法运算的步骤包括:
对两个浮栅场效应管M1、M2中的浮置栅极执行擦除和写操作,将乘数以所述一对浮栅场效应管的阈值电压差值的形式进行存储;
对两个浮栅场效应管源极、漏极和选栅极执行电压施加,以所述模拟电压输入与所 述两个电流输入端电压差值的形式输入被乘数;
通过差分电流检测电路输出基于所述一对浮栅场效应管输出电流差值的函数作为 所述被乘数与乘数的乘积结果。
优选地,所述模拟矩阵运算单元为一个P行Q列的模块电路,所述模块电路中的每列浮栅场效应管的共漏极或共源极接入同一的输入电压信号;
通过控制P个模拟乘加单元的栅极电压,确定参加计算的乘加单元的个数,实现向量[a1…aQ]与矩阵
Figure BDA0002027799780000031
的乘法输出,其中J≤P。
优选地,所述模拟矩阵运算单元在确定参加计算的乘加单元的个数后执行以下步骤:
对每对浮栅场效应管中的浮置栅极执行擦除和写操作,按照一对浮栅场效应管的阈 值电压差值对应一个乘数进行存储,完成大小为J×Q的乘数矩阵的存储;
对每对浮栅场效应管源极、漏极和控制栅极执行电压施加,以每个乘法电路中模拟 电压输入与所述两个电流输入端电压差值对应一个被乘数,完成元素个数为Q的横向被乘数向量的输入;
通过每行中设置差分电流检测电路输出得到被乘数向量与乘数矩阵的乘积结果。
优选地,所述差分电流检测电路包括两个电流-电压转换器和一个电压差分放大器; 所述电流-电压转换器由一个运算放大器和一个阻性负载构成,运算放大器的负极输入 端为所述电流-电压转换器的电流输入端口,运算放大器的输出端为所述电流-电压转换 器的电压输出端口,运算放大器的正极输入端外加直流电平Vb,所述阻性负载连接在运算放大器的负极输入端与运算放大器的输出端之间。
优选地,所述电压差分放大器由一个运算放大器、两个阻值相同的电阻R1、R3和两个阻值相同的电阻R2、R4构成,所述电压差分放大器的两个电压输入端口分别通过电阻 R1、R3连接到运算放大器的正、负极输入端,运算放大器的正极输入端通过电阻R2连接 到直流电平Vb,运算放大器的负极输入端通过电阻R4连接到运算放大器的输出端,运 算放大器的输出端为所述电压差分放大器的电压输出端口。
优选地,所述阻性负载为浮栅场效应管或MOS管,所述浮栅场效应管或MOS管的 栅极外加栅极电压,漏极或源极连接到所述运算放大器的输出端,源极或漏极连接到所 述运算放大器的负极输入端;
所述浮栅场效应管或MOS管的漏源电压VDS、栅源电压VGS和阈值电压VTH满足:VDS<<2(VGS-VTH)。
本发明还提供一种采用所述的基于模拟矩阵运算单元的卷积运算实现卷积神经网 络的方法,包括:
DAC电路、卷积层电路、激活函数电路、采样保持电路、池化层电路、全连接层电 路和ADC电路,各个电路间的级联构成卷积神经网络;
所述的DAC电路用于将输入层的数字输入转化为模拟输入;
所述卷积层电路与全连接层电路均采用所述基于模拟矩阵运算单元的卷积运算实 现功能并构建电路;
所述的激活函数电路将卷积层的输出电流转换为电压,同时完成激活函数作用,包 括ReLU激活函数实现和sigmoid函数实现;
所述的采样保持电路用于将卷积层的序列计算结果采样并保持在同一时间点;
所述的池化层电路用于池化层的实现,包括平均池化电路和最大池化电路;
所述的ADC电路用于将输出层的模拟输出转换为数字输出;
具体步骤包括:
输入特征图经过DAC电路转换为模拟信号输入;
经过卷积层电路得到第一次卷积计算结果,然后经过激活函数电路,将计算结果从 电流转变为电压,并且进行非线性化;
经过采样保持电路,得到一个完整的中间特征图,再经过池化电路,将模拟信号降维;
继续经过全连接层电路进行全连接运算,最后经过激活函数电路得到模拟输出特征 图,并经ADC电路转换为数字输出。
优选地,所述全连接层电路为一个P行Q列的的模拟矩阵运算单元,具体实现方法为:
将输入层[a1…aQ]按照每个乘法电路中模拟电压输入与所述两个电流输入端电压差值对应一个ai其中i∈(1…Q),从模拟矩阵运算单元模拟电压输入端输入;
将全连接层的P×Q个权重拆分为P个横向量,即[w11,w21,…wQ1], [w12,w22,…wQ2],……[w1P,w2P,…wQP],按照一对浮栅场效应管的阈值电压差值对应 一个乘数进行存储,将其映射到模拟矩阵运算单元的P行中,完成大小为P×Q的权重 矩阵的存储;
经过一个计算周期,通过采样保持器将所有输出的运算结果采样保持至一个时间点,得到完整的卷积结果,输出层向量[b1,b2,…bP]。
与现有技术相比,本发明具有如下的有益效果:
(1)本发明采用模拟矩阵运算单元实现存储与计算一体化进行卷积运算,模拟运算单元在存储权重的同时完成该权重的相关运算,省去了数据的往返传输;采用多脉冲 下向量依次输入和依次输出,并对输出进行采样保持,相对于冯诺依曼结构的存储运算 分隔体系,节省了90%以上的能效,另一方面模拟计算单元能够完成多位计算且模拟运 算单元之间具有高度的计算并行性,相对于数字计算单元实现,极大地减少了面积,大 大的提高了的计算密度和效率,此外对于组成模拟矩阵运算单元的浮栅场效应管阵列进 行栅极控制选择,可以选定模拟乘加单元的个数,从而快速决定计算的规模,使得卷积 运算的实用性和适用性更强。
(2)本发明构成模拟矩阵运算单元的模拟乘法电路通过阈值电压差值存储乘数,模拟电压输入与所述两个电流输入端电压差值的形式输入被乘数,以电流差值的函数读出乘积的方式实现乘法运算,由于乘法的乘数是预先存储在闪存单元中的,通过预先存 储能够多次复用的乘数,能极大的减少运算数据的读取,并且通过不同的电路拓扑结构 可拓展为向量的点积以及向量与矩阵的乘法。
(3)本发明用一对浮栅场效应管的阈值电压差值存储一个乘数,以电流差值的形式 获取乘积的方法,比仅采用一个浮栅场效应管进行存储的线性度更好,可以达到更高的精度。
(4)本发明对于差分电流检测电路的改进型设计,一方面能够使得电流输入端的电 压保持稳定,避免了现有技术中当电流改变时,电流流过负载成为负载上的电压明显会改变从而引起的计算误差,另一方面,特别的采用工作在深三极管区的浮栅场效应管或MOS管代替常用的电阻作为电流-电压转换器中的阻性负载,实现了输出电流流经作为 负载的浮栅场效应管或MOS管,可以抵消工艺参数的影响,确保在不同温度和不同工 艺下的乘法结果一致性。
(5)本发明更优异的地方在于输出电流流经作为负载的浮栅场效应管,可以通过控制调整作为负载的浮栅场效应管的阈值电压,实现对乘法结果的比例进行灵活缩放的效果。
(6)本发明成对出现的浮栅场效应管,能够有效抵消阈值电压受到的体效应的影响,从而保证乘积结果的一致性,因此乘数与被乘数都可以为正值、负值或零,扩大了 乘积使用范围,能够完成多比特运算。
(7)本发明在浮栅阵列的基础上实现存算一体化,用于卷积神经网络的推理过程,浮栅单元存储权重参数同时完成和此权重相关的乘加法运算,在此基础上完成了卷积神经网络中卷积层和全连接层的运算实现,并配合具体的池化层模块和激活函数模块电 路,实现了多层卷积神经网络,具有较好的通用性。
关于本发明相对于现有技术,其他突出的实质性特点和显著的进步在实施例部分进 一步详细介绍。
附图说明
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特 征、目的和优点将会变得更明显:
图1是本发明的模拟乘法电路的结构图;
图2a是本发明采用的一般差分电流检测电路的结构图;
图2b是电流-电压转换器结构图;
图2c是电压差分放大器的结构图;
图3a是本发明采用MOS管作为阻性负载的改进型差分电流检测电路的结构图;
图3b是本发明采用浮栅场效应管作为阻性负载的改进型差分电流检测电路的 结构图;
图3c是本发明采用MOS管作为阻性负载的电流-电压转换器结构图;
图3d是本发明采用浮栅场效应管作为阻性负载的电流-电压转换器结构图;
图4是本发明采用改进型差分电流检测电路的模拟乘法电路的结构图;
图5是本发明乘累加电路的结构图;
图6是本发明卷积运算采用的模拟矩阵运算单元电路结构图;
图7是本发明的带数据选择器的模拟矩阵运算单元电路结构图;
图8是本发明的采用改进型差分电流检测电路的模拟矩阵运算单元电路结构 图;
图9是本发明的采用改进型差分电流检测电路的带数据选择器的模拟矩阵运算单元结构图;
图10是本发明模拟乘法方法的流程图;
图11是本发明的一种应用在模拟矩阵运算单元中的乘法方法的流程图;
图12是本发明的基于模拟矩阵运算单元实现2D卷积运算的示意图;
图13是本发明的基于模拟矩阵运算单元实现2D卷积运算的原理图;
图14是本发明的基于模拟矩阵运算单元实现一个具体的3D卷积运算的示意图;
图15是本发明的基于模拟矩阵运算单元实现一个具体的3D卷积运算的原理图;
图16是本发明的基于模拟矩阵运算单元实现一个具体的3D卷积运算的时序图;
图17是本发明的基于模拟矩阵运算单元实现一般3D卷积操作的示意图;
图18是本发明的基于模拟矩阵运算单元实现一般3D卷积操作中将3D卷积核的权重参数映射到模拟矩阵计算单元的流程图;
图19是本发明的基于模拟矩阵运算单元实现一般3D卷积操作的时序图;
图20是本发明的一种采用上述的基于模拟矩阵运算单元的卷积运算实现卷积神经 网络的方法流程示意图;
图21是本发明提供的一种ReLU激活函数电路图;
图22是本发明提供的一种sigmoid激活函数电路图;
图23是本发明提供的一种输入特征图分别经过最大值池化和平均值池化的示意图;
图24是本发明提供的一种输入特征图最大值池化的电路原理图;
图25是本发明提供的一种全连接层的输入输出示意图;
图26是本发明提供的基于模拟矩阵运算单元进行全连接运算的示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、 完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实 施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下 所获得的所有其他实施例,都属于本发明保护的范围。
参照说明书附图1-26,对本发明一种基于模拟矩阵运算单元的卷积运算及其应用进行具体实施例描述:
实施例1
如图1所示,为本实施例中构成模拟矩阵运算单元的单个模拟乘法电路,包括一对浮栅场效应管M1、M2和一个差分电流检测电路;
其中M1和M2共栅极并接入电压源,共漏极或共源极并接入模拟电压输入,差分电流检测电路包括两个电流输入端和一个输出端,所述两个电流输入端对应接入M1和M2各自源极或漏极;在这里说明的是如果M1和M2共漏极接入模拟电压输入,则两个电流 输入端对应接入M1和M2各自源极,如果M1和M2共源极接入模拟电压输入,则两个 电流输入端对应接入M1和M2各自漏极,这是由于浮栅场效应管的源漏极可以互换的结 果;
本实施例中采用的差分电流检测电路能保持两个电流输入端电压不变,所述输出端 结果为两个电流输入端输入电流差值的函数;
如图2a所示是满足本实施例功能的一般差分电流检测电路:
所述差分电流检测电路包括两个电流-电压转换器和一个电压差分放大器;所述电 流-电压转换器由一个运算放大器和一个阻性负载构成,运算放大器的负极输入端为所述电流-电压转换器的电流输入端口,运算放大器的输出端为所述电流-电压转换器的电压输出端口,运算放大器的正极输入端外加直流电平Vb,所述阻性负载连接在运算放大 器的负极输入端与运算放大器的输出端之间;所述电压差分放大器由一个运算放大器、 两个阻值相同的电阻R1、R3和两个阻值相同的电阻R2、R4构成,所述电压差分放大器 的两个电压输入端口分别通过电阻R1、R3连接到运算放大器的正、负极输入端,运算放 大器的正极输入端通过电阻R2连接到直流电平Vb,运算放大器的负极输入端通过电阻 R4连接到运算放大器的输出端,运算放大器的输出端为所述电压差分放大器的电压输出 端口;
具体的,图2a的差分电流检测电路是由图2b的电流-电压转换器和图2c的电压差分放大器构成的。图2b的电流-电压转换器的输入电流为Iin,通过负载R转换为输出电 压Vout,输出与输入有如下关系:Vout=Vb+IinR,实现了电流-电压的转换;图2c的电 压差分放大器的输出与输入有如下关系:
Figure RE-GDA0002063821250000081
实现了差分电压放大。
参考图10,在上述模拟乘法电路的实现乘法方法,包括以下步骤:
步骤S1、对两个浮栅场效应管M1、M2中的浮置栅极执行擦除和写操作,将乘数以 所述一对浮栅场效应管的阈值电压差值的形式进行存储;
步骤S2、对两个浮栅场效应管源极、漏极和选栅极执行电压施加,以所述模拟电压输入与所述两个电流输入端电压差值的形式输入被乘数;
步骤S3、通过差分电流检测电路输出基于所述一对浮栅场效应管输出电流差值的函 数作为所述被乘数与乘数的乘积结果。
具体说明上述乘法方法:
以图1所述电路结构图为例,对于M1和M2以读取操作进行乘法运算时,M1和M2须确保工作在三极管区,而栅源极电压VGS、漏源电压VDS均相同,在此处VDS=Vin-Vb,读出 M1和M2的输出电流ID1,2
Figure BDA0002027799780000082
M1和M2的电流差值
Figure BDA0002027799780000083
可以表示为阈值电压差值VTH2-VTH1与漏源电压 VDS的乘积,以阈值电压差值VTH1-VTH2为乘数,漏源电压VDS为被乘数即可实现乘法。
在本实施例中用一对浮栅场效应管的阈值电压差值存储一个乘数,以电流差值的形 式获取乘积的方法,乘积结果有很好的线性度,可以达到较高的精度。
为了使M1和M2都工作在三极管区,需要满足M1和M2的栅源电压大于两者阈值电压的最大值也即VGS>max{VTH1,VTH2},漏源电压小于栅源电压分别与两者阈值电压差值 的最小值,也即VDS<min{VGS-VTH1,VGS-VTH2}。
在VGS固定的情况下,需要对阈值电压VTH的动态范围与漏源电压VDS的动态范围进行 折中选择。对于乘数的存储方式,所述M1和M2的栅源电压VGS为固定值,漏源电压VDS取值范围为[0,VDS(max)],阈值电压VTH1、VTH2的取值范围为[0,VTH(max)]:
当VTH1-VTH2=ΔVTH>0时,选择VTH1=VTH(max),VTH2=VTH(max)-ΔVTH,当 VTH1-VTH2=-ΔVTH<0时,选择VTH2=VTH(max),VTH1=VTH(max)-ΔVTH;这种选择是为了选 择较大的阈值电压可以进一步减小浮栅场效应管的电流以减小功耗。
场效应管的体效应:阈值电压会受源极-衬底的电压VSB影响,一般施加的衬底电压VB是固定的,p衬底接地,n衬底接最高电位,所以只用看VS当被乘数Vin-Vb>0时, VS=Vb是恒定值;当被乘数Vin-Vb<0时,VS=Vin是随输入改变的,所以阈值电压 也随输入改变。具体的在本实施例中,如图2所示输入的被乘数为漏源电压即Vin-Vb。 当Vin>Vb时,电流由电压输入端流向差分电流检测电路的输入端口,两个闪存单元的 上端为漏极,下端为源极;当Vin<Vb时,电流由差分电流检测电路的输入端口流向电 压输入端,两个闪存单元的上端为源极,下端为漏极,此时由于源极的电位由外部输入, 闪存单元的阈值电压受到体效应的影响,变化量为
Figure BDA0002027799780000091
由 于两个闪存单元的的源极-衬底电压VSB始终相同,阈值电压受到体效应影响的变化量 ΔVTH1,2相同,因此存储的阈值电压差值VTH1-VTH2不变,乘积结果不受影响。因此,被 乘数可以为正值、负值或零。
在本实施例中,可以继续对差分电流检测电路进行进一步改进,如图3a和3b所示,主要是阻性负载采用浮栅场效应管或MOS管,所述浮栅场效应管或MOS管的栅极外加 栅极电压,漏极连接到所述运算放大器的输出端,源极连接到所述运算放大器的负极输 入端;
为了保证浮栅场效应管或MOS管工作在深三极管区,所述浮栅场效应管或MOS管的漏源电压VDS、栅源电压VGS和阈值电压VTH满足:VDS<<2(VGS-VTH)。
更进一步具体的说明,参照图3c与图3d中的电流-电压转换器分别采用MOS管或浮栅场效应管作为负载,工作在深三极管区的阻抗为
Figure BDA0002027799780000101
在此改进的差分电流检测电路中输出电流流经作为负载的浮栅场效应管或MOS管, 可以抵消工艺参数的影响,确保在不同温度和不同工艺角下的乘法结果一致性。
继续参考图4,乘数以浮栅场效应管的阈值电压差值VTH1-VTH2存储,可以为正值、负值或零,被乘数以输入电压值Vin输入。闪存单元M1、M2的电流为
Figure BDA0002027799780000102
通过电流-电压转换器转换为电压
Figure BDA0002027799780000103
最后通过电压差分放大器得到输出
Figure BDA0002027799780000104
最终的乘法结果为 Vout-Vb=K(VTH2-VTH1)(Vb-Vin),系数
Figure BDA0002027799780000105
与工艺参数μCox无关,且 电阻为比值的形式。
在此改进型差分电流检测电路中,输出电流流经作为负载的浮栅场效应管,可以通 过控制调整作为负载的闪存单元的阈值电压,实现对乘法结果的比例进行灵活缩放的效 果。
参考图5,本实施例中直接构成模拟矩阵运算单元一种乘累加电路,包括若干个模拟乘法电路,所述若干个模拟乘法电路共栅极且共同一个差分电流检测电路,所述每个 模拟乘法电路中该对浮栅场效应管的共漏极或共源极分别接入对应的输入电压信号;
所述差分电流检测电路的输出端结果为每个模拟乘法电路输出的基于该对浮栅场 效应管输出电流差值的函数之和。
在本实施例中差分电流检测电路可以获取多对所述浮栅场效应管电流差值之和,或 者,可以获取多对所述浮栅场效应管中的第一个浮栅场效应管电流之和,以及多对所述浮栅场效应管中的第二个浮栅场效应管电流之和,再得到其差值,以实现乘累加运算的 效果。
参考图6是本实施例中卷积运算采用的模拟矩阵运算单元,所述模拟矩阵运算单元为一个P行Q列的模块电路,所述每一行均为一个包括Q个模拟乘法电路的乘累加电 路;
所述每列浮栅场效应管的共漏极或共源极接入同一的输入电压信号。
具体而言本实施例中P行Q列的模块电路,参照图11中的乘法流程图,按照一对浮栅 场效应管的阈值电压差值对应一个乘数进行存储,完成大小为P×Q的乘数矩阵的存储
Figure BDA0002027799780000111
每列浮栅场效应管的一端源或漏极相连构成位线(BL)信号,以每个 乘法电路中模拟电压输入与所述两个电流输入端电压差值对应一个被乘数,完成元素个 数为Q的横向被乘数向量的输入(a1…aQ);模块电路中中Q行中每行的栅极接入同一个字 线(WL)信号,另一端源或漏极每行相连构成两条源/漏极线(SDL),接到一个差分电 流检测电路,产生一个乘累加输出,所有的Q个输出可表示为输出向量
Figure BDA0002027799780000112
实现了向量与矩阵的乘法。
参照图8,是本实施例中模拟矩阵运算单元也可以采用改进型差分电流检测电路的 实现的电路示意图,其差分电流检测电路为采用浮栅场效应管作为阻性负载的改进型差分电流检测电路,实现向量与矩阵的乘法:
Figure BDA0002027799780000113
被 乘数aj=Vin(j)-Vb,乘数bij=VTH(i,j)-V′TH(i,j),系数
Figure BDA0002027799780000114
乘法结 果ci=Vout(i)-Vb
参照图7,本实施例中进一步改进的模拟矩阵运算单元,包括第一数据选择器和第二数据选择器,所述第一数据选择器设置在每列浮栅场效应管的共漏极或共源极与其对应的输入电压信号之间,所述第二数据选择器设置在每行浮栅场效应管的共源极或共漏极与差分电流检测电路的电流输入端之间;
所述第一、二数据选择器组合用于从P行Q列的模块电路任意选取X行、Y列单元形成 新的工作模块;以减少电路中输入信号、差分电流检测电路与输出信号的数量。
参照图9,本实施例中进一步改进的模拟矩阵运算单元电路结构示意图,其差分电流检测电路为采用浮栅场效应管作为阻性负载的改进型差分电流检测电路。
本实施例中卷积运算包括以下步骤:
将卷积核经过转换拼接成P个长度为Q的横向量,并映射到矩阵
Figure BDA0002027799780000121
中;
将输入特征图按照滑动窗口进行切分转换成N个长度为Q的横向量;
在N个脉冲波下,依次将N个长度为Q的横向量映射到向量(a1…aQ)中,矩阵运 算单元的模拟输出端口按照脉冲波序列,输出N个长度为P的运算结果;
通过采样保持器将所有输出的运算结果采样保持至一个时间点,得到完整的卷积结 果。
下面以具体维度的卷积计算解释实施例1中的如何基于上述模拟矩阵运算单元实现 卷积方法:
实施例2
参考图12,是本实施例的一个基于模拟矩阵运算单元实现2D卷积运算的示意图:其中输入特征图的维度为5×5,输出特征图的维度为3×3,卷积核的维度为3×3,未 考虑偏置bias。
图13是该2D卷积用模拟矩阵运算单元实现的原理图;将大小为3×3卷积核转换为横向量[w11,w12,w13,w21,w22,w23,w31,w32,w33]将其映射到模拟矩阵运算单元的一行;将 输入特征图按照滑动窗口转换为9个横向量,即[a11,a12,a13,a21,a22,a23,a31,a32,a33], [a12,a13,a14,a22,a23,a24,a32,a33,a34],……,[a33,a34,a35,a43,a44,a45,a53,a54,a55],将其转换 为模拟电压,然后在9个脉冲波下从模拟输入端口并行序列依次输入;在模拟输出端口 依次输出9个运算结果,[b11,b12,b13,b21,b22,b23,b31,b32,b33]。通过采样保持器,将所有运 算结果采样保持至一个时间点,得到一个3×3的输出特征图。1个脉冲进行一次滑窗运 算,9个脉冲构成一个完整的卷积周期,进行一次完整的卷积计算,输出一个完整2D 卷积结果;
实施例3
参考图14,是本实施例基于模拟矩阵运算单元实现一个具体的3D卷积运算的示意图:
其中输入特征图维度为3×3×3,输出特征图维度为3×3×2,采用了2个1×1× 3的卷积核,2个1×1×1的偏置bias。
参考图15,是该3D卷积用模拟矩阵运算单元实现的原理图,将2个大小为1×1 ×3卷积核和2个1×1×3的偏置bias转换为2个横向量[w11,w12,w13,b1],[w21,w22,w23,b2], 将其映射到模拟矩阵运算单元的两行;将输入特征图按照滑动窗口转换为9个横向量, 即[a111,a112,a113,1],[a121,a122,a123,1],……,[a331,a332,a333,1]。其转换为模拟电压,然后 在9个脉冲波下从模拟输入端口并行序列依次输入;在模拟输出端口依次输出9个运算 结果[b111,b112],[b121,b122],……,[b331,b332],通过采样保持器,将所有运算结果采样保 持至一个时间点,得到一个3×3×2的输出特征图。一个脉冲进行1次滑窗运算,9个 脉冲构成一个完整的卷积周期,进行一次完整的卷积计算,输出一个完整3D卷积结果;
参考图16是该3D卷积运算的时序图。
实施例4
参照图17-19,本实施例是基于模拟矩阵运算单元的一般3D卷积操作;
图17是该操作的示意图,其中输入特征图的维度是
Figure BDA0002027799780000131
(即第l-1层的特征图维度(长×宽×通道)),输出特征图的维度是
Figure BDA0002027799780000132
(即第l层的特征图 维度(长×宽×通道)),卷积操作使用了
Figure BDA0002027799780000133
个维度为
Figure BDA0002027799780000134
(即第l层的3D 卷积核维度(长×宽×通道))的卷积核;
图18是将3D卷积核的权重参数映射到模拟矩阵计算单元的流程图;每个3D卷积核的维度为
Figure BDA0002027799780000135
将其切片成
Figure BDA0002027799780000136
个大小为f[l]×f[l]的2D卷积核,然后将这 些2D卷积核转换为横向量,拼接成一个横向量,即 [w111,w121,…,wff1,w112,…,wff2,…,wffn],向量长度为
Figure BDA0002027799780000137
一共有
Figure BDA0002027799780000138
个 大小为
Figure BDA0002027799780000139
的3D卷积核,将其全部切片展开为
Figure BDA00020277997800001310
个长度为
Figure BDA00020277997800001311
的 横向量,然后将它们拼接为一个维度为
Figure BDA00020277997800001312
的权重矩阵,将其映射到矩 阵运算模块,具体为:权重矩阵第一行映射模拟矩阵计算单元第一行,矩阵第二行映射 模拟矩阵计算单元第二行,矩阵第三行映射模拟矩阵计算单元第三行……
图19是3D卷积操作进行运算的时序图;进行一次完整的卷积操作需要
Figure BDA00020277997800001313
个脉冲周期,将输入特征图按照滑动窗口进行切分,
可以转化为
Figure BDA00020277997800001314
个横向量,每个横向量的长度为
Figure BDA00020277997800001315
即 [a11,a12,…,a1f,a21,…,a2f,…,aff]…[a12,a13,…,aff+1,a22,…,a2f+1,…,af+1f+1]。 将其通过DAC转换为模拟电压,然后在
Figure BDA00020277997800001316
个脉冲波下从模拟输入端口并行序列依 次输入;矩阵运算单元的模拟输出端口按照脉冲波序列输出
Figure BDA00020277997800001317
个长度为
Figure BDA00020277997800001318
的运算 结果,通过采样保持器,将其输出保持在一个时间点,于是得到一个大小为
Figure BDA00020277997800001319
的3D输出矩阵;一个脉冲进行一次滑窗运算,
Figure BDA0002027799780000141
个脉冲构成一卷积运算周期,进 行一次完整的卷积计算,输出一个完整3D卷积结果。
实施例5
参照图20,本实施例提供一种采用上述的基于模拟矩阵运算单元的卷积运算实现卷 积神经网络的方法,实现了一个输入层,卷积层,池化层,全连接层,输出层共5层得 卷积神经网络,具体包括DAC电路、卷积层电路、激活函数电路、采样保持电路、池化 层电路、全连接层电路和ADC电路,各个电路间的级联构成卷积神经网络;
所述的DAC电路用于将输入层的数字输入转化为模拟输入;
所述卷积层电路与全连接层电路均采用所述基于模拟矩阵运算单元的卷积运算实 现功能并构建电路;
所述的激活函数电路将卷积层的输出电流转换为电压,同时完成激活函数作用;
所述的采样保持电路用于将卷积层的序列计算结果采样并保持在同一时间点;
所述的池化层电路用于池化层的实现,包括平均池化电路和最大池化电路;
所述的ADC电路用于将输出层的模拟输出转换为数字输出;
具体步骤包括:
输入特征图经过DAC电路转换为模拟信号输入;
经过卷积层电路得到第一次卷积计算结果,然后经过激活函数电路,将计算结果从 电流转变为电压,并且进行非线性化;
经过采样保持电路,得到一个完整的中间特征图,再经过池化电路,将模拟信号降维;
继续经过全连接层电路进行全连接运算,最后经过激活函数电路得到模拟输出特征 图,并经ADC电路转换为数字输出。
在本实施例中激活函数可以采用ReLU激活函数或者sigmoid激活函数,具体的:
参考图21,为满足本实施例的一种ReLU激活函数电路图,该ReLU激活函数的电路包 括:电流电压转换器,反相器,电压限幅器;电流电压转换器用于将来自矩阵计算单元的模拟输出端口的电流转换为电压;反相器起到电压反向缓冲的作用;电压限幅器采用 二极管方式,将大于0的电压输出,小于0的电压保持为0;输入电流与输出电压的关系 为
Figure BDA0002027799780000142
参考图22,为满足本实施例的一种sigmoid激活函数电路图,该sigmoid激活函数的 电路包括:带偏置的电流电压转换器,反相器,电压限幅器;电流电压转换器用于将来自矩阵计算单元的模拟输出端口的电流转换为电压,在电流电压转换器的负极性端串联电阻并提供偏置电压;反相器起到电压反向缓冲的作用;电压限幅器将输出电压限制在 一定的电压范围内,输入电流与输出电压的关系为
Figure BDA0002027799780000151
本实施例中还提供了一个卷积神经网络的池化层电路池化操作的示例,包括平均值 池化和最大值池化具体的:
参考图23是一个维度为4×4的输入特征图分别经过最大值池化和平均值池化的示 意图;
参考图24是最大值池化的电路原理图,包括配置单元和一些平均池化单元和最大池 化单元。配置单元用来根据池化降维的大小配置平均池化单元和最大池化单元的个数,一个池化单元(平均或者最大)能够进行一个池化窗口的操作,就是将多个模拟信号取 最大值或者平均值输出。最大池化单元由模拟信号比较器和模拟多路复用器构成,模拟 信号比较器比较池化窗口的多路模拟输入信号的大小,找出最大模拟输入信号,然后通 过模拟多路复用器选通最大模拟输入信号,过滤其余模拟信号;平均池化单元由模拟反 向加法器和一个电压反向器串联组成,池化窗口的多路模拟输入信号从
Figure BDA0002027799780000152
输入, 池化结果从
Figure BDA0002027799780000153
输出。当R1=R2=…=Rn=nRf时,
Figure BDA0002027799780000154
起到一个平均 模拟输入电压的作用。
本实施例中给出一个全连接层电路均采用所述基于模拟矩阵运算单元的卷积运算 实现的示例,具体的:
参考图25是一个全连接层的示意图,输入层为[a1…aQ],输出层为[b1,b2,…bP],共有P×Q个权重参数,未考虑偏置;
参考图26,是用模拟矩阵运算单元进行全连接运算的示意图;将输入层[a1…aQ]按照每个乘法电路中模拟电压输入与所述两个电流输入端电压差值对应一个ai其中 i∈(1,2,…Q),从模拟矩阵运算单元模拟电压输入端输入;
将全连接层的P×Q个权重拆分为P个横向量,即[w11,w21,…wQ1], [w12,w22,…wQ2],……[w1P,w2P,…wQP],按照一对浮栅场效应管的阈值电压差值对应 一个乘数进行存储,将其映射到模拟矩阵运算单元的P行中,完成大小为P×Q的权重 矩阵的存储;
经过一个计算周期,通过采样保持器将所有输出的运算结果采样保持至一个时间点,得到完整的卷积结果,输出层向量[b1,b2,…bP]。
本发明的一种模拟乘法电路、模拟乘法方法及其应用能通过以乘数预先存储、被乘 数在运算时输入的方式实现两个数的乘法、两个向量的点积以及向量与矩阵的乘法,运算速度快、电路功耗低、方法简单易行,具有较高的实用价值和广泛的应用前景。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且 在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。 因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本 发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同 要件的含义和范围内的所有变化囊括在本发明内。不应将权利要求中的任何附图标 记视为限制所涉及的权利要求。
此外,应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式 仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技 术人员应当将说明书作为一个整体,各实施例中的技术方案也可以经适当组合,形 成本领域技术人员可以理解的其他实施方式。

Claims (8)

1.一种基于模拟矩阵运算单元的卷积运算方法,其特征在于,所述模拟矩阵运算单元能够实现向量
Figure DEST_PATH_IMAGE002
与矩阵
Figure DEST_PATH_IMAGE004
的乘法输出;
所述卷积运算包括以下步骤:
将卷积核经过转换拼接成P个长度为Q的横向量,并映射到矩阵
Figure DEST_PATH_IMAGE006
中;
将输入特征图按照滑动窗口进行切分转换成N个长度为Q的横向量;
在N个脉冲波下,依次将N个长度为Q的横向量映射到向量
Figure DEST_PATH_IMAGE002A
中,矩阵运算单元的模拟输出端口按照脉冲波序列,输出N个长度为P的运算结果;
通过采样保持器将所有输出的运算结果采样保持至一个时间点,得到完整的卷积结果;
所述模拟矩阵运算单元由P个模拟乘加单元构成,所述模拟乘加单元能够实现一个行向量
Figure DEST_PATH_IMAGE008
与列向量
Figure DEST_PATH_IMAGE010
的乘法输出;
所述模拟乘加单元由Q个模拟乘法电路横构成;
所述模拟乘法电路包括一对浮栅场效应管M1、M2和一个差分电流检测电路;所述M1和M2共栅极并接入电压源,共漏极或共源极并接入模拟电压输入,所述差分电流检测电路包括两个电流输入端和一个输出端,所述两个电流输入端对应接入M1和M2各自源极或漏极,所述差分电流检测电路能保持两个电流输入端电压不变且输出端结果为两个电流输入端输入电流差值的函数;所述M1和M2的栅源电压大于两者阈值电压的最大值,漏源电压小于栅源电压分别与两者阈值电压差值的最小值;
所述模拟乘加单元中的Q个模拟乘法电路共栅极且共用一个差分电流检测电路,所述每个模拟乘法电路中该对浮栅场效应管的共漏极或共源极分别接入对应的输入电压信号;所述差分电流检测电路的输出端结果为每个模拟乘法电路输出的基于该对浮栅场效应管输出电流差值的函数之和;
所述模拟乘法电路执行乘法运算的步骤包括:
对两个浮栅场效应管M1、M2中的浮置栅极执行擦除和写操作,将乘数以所述一对浮栅场效应管的阈值电压差值的形式进行存储;
对两个浮栅场效应管源极、漏极和选栅极执行电压施加,以所述模拟电压输入与所述两个电流输入端电压差值的形式输入被乘数;
通过差分电流检测电路输出基于所述一对浮栅场效应管输出电流差值的函数作为所述被乘数与乘数的乘积结果。
2.根据权利要求1所述的一种基于模拟矩阵运算单元的卷积运算方法,其特征在于,所述模拟矩阵运算单元为一个P行Q列的模块电路,所述模块电路中的每列浮栅场效应管的共漏极或共源极接入同一的输入电压信号;
通过控制P个模拟乘加单元的栅极电压,确定参加计算的乘加单元的个数,实现向量
Figure DEST_PATH_IMAGE012
与矩阵
Figure DEST_PATH_IMAGE014
的乘法输出,其中J≤P。
3.根据权利要求2所述的一种基于模拟矩阵运算单元的卷积运算方法,其特征在于,所述模拟矩阵运算单元在确定参加计算的乘加单元的个数后执行以下步骤:
对每对浮栅场效应管中的浮置栅极执行擦除和写操作,按照一对浮栅场效应管的阈值电压差值对应一个乘数进行存储,完成大小为J×Q的乘数矩阵的存储;
对每对浮栅场效应管源极、漏极和控制栅极执行电压施加,以每个乘法电路中模拟电压输入与所述两个电流输入端电压差值对应一个被乘数,完成元素个数为Q的横向被乘数向量的输入;
通过每行中设置差分电流检测电路输出得到被乘数向量与乘数矩阵的乘积结果。
4.根据权利要求1所述的一种基于模拟矩阵运算单元的卷积运算方法,其特征在于,所述差分电流检测电路包括两个电流-电压转换器和一个电压差分放大器;所述电流-电压转换器由一个运算放大器和一个阻性负载构成,运算放大器的负极输入端为所述电流-电压转换器的电流输入端口,运算放大器的输出端为所述电流-电压转换器的电压输出端口,运算放大器的正极输入端外加直流电平Vb,所述阻性负载连接在运算放大器的负极输入端与运算放大器的输出端之间。
5.根据权利要求1所述的一种基于模拟矩阵运算单元的卷积运算方法,其特征在于,所述电压差分放大器由一个运算放大器、两个阻值相同的电阻R1、R3和两个阻值相同的电阻R2、R4构成,所述电压差分放大器的两个电压输入端口分别通过电阻R1、R3连接到运算放大器的正、负极输入端,运算放大器的正极输入端通过电阻R2连接到直流电平Vb,运算放大器的负极输入端通过电阻R4连接到运算放大器的输出端,运算放大器的输出端为所述电压差分放大器的电压输出端口。
6.根据权利要求4所述的一种基于模拟矩阵运算单元的卷积运算方法,其特征在于,所述阻性负载为浮栅场效应管或MOS管,所述浮栅场效应管或MOS管的栅极外加栅极电压,漏极或源极连接到所述运算放大器的输出端,源极或漏极连接到所述运算放大器的负极输入端;
所述浮栅场效应管或MOS管的漏源电压VDS、栅源电压VGS和阈值电压VTH满足: VDS ≪2(VGS−VTH)。
7.一种采用如权利要求1-6任意一项所述的基于模拟矩阵运算单元的卷积运算方法实现卷积神经网络的方法,其特征在于,包括:
DAC电路、卷积层电路、激活函数电路、采样保持电路、池化层电路、全连接层电路和ADC电路,各个电路间的级联构成卷积神经网络;
所述的DAC电路用于将输入层的数字输入转化为模拟输入;
所述卷积层电路与全连接层电路均采用所述基于模拟矩阵运算单元的卷积运算实现功能并构建电路;
所述的激活函数电路将卷积层的输出电流转换为电压,同时完成激活函数作用;
所述的采样保持电路用于将卷积层的序列计算结果采样并保持在同一时间点;
所述的池化层电路用于池化层的实现,包括平均池化电路和最大池化电路;
所述的ADC电路用于将输出层的模拟输出转换为数字输出;
具体步骤包括:
输入特征图经过DAC电路转换为模拟信号输入;
经过卷积层电路得到第一次卷积计算结果,然后经过激活函数电路,将计算结果从电流转变为电压,并且进行非线性化;
经过采样保持电路,得到一个完整的中间特征图,再经过池化电路,将模拟信号降维;
继续经过全连接层电路进行全连接运算,最后经过激活函数电路得到模拟输出特征图,并经ADC电路转换为数字输出。
8.根据权利要求7所述的一种实现卷积神经网络的方法,其特征在于,所述全连接层电路为一个P行Q列的模拟矩阵运算单元,具体实现方法为:
将输入层
Figure DEST_PATH_IMAGE012A
按照每个乘法电路中模拟电压输入与两个电流输入端电压差值对应一个
Figure DEST_PATH_IMAGE016
,从模拟矩阵运算单元模拟电压输入端输入;
将全连接层的
Figure DEST_PATH_IMAGE018
个权重拆分为P个横向量,即
Figure DEST_PATH_IMAGE020
Figure DEST_PATH_IMAGE022
,……
Figure DEST_PATH_IMAGE024
,按照一对浮栅场效应管的阈值电压差值对应一个乘数进行存储,将其映射到模拟矩阵运算单元的P行中,完成大小为
Figure DEST_PATH_IMAGE018A
的权重矩阵的存储;
经过一个计算周期,通过采样保持器将所有输出的运算结果采样保持至一个时间点,得到完整的卷积结果,输出层向量
Figure DEST_PATH_IMAGE026
CN201910299610.9A 2019-04-15 2019-04-15 一种基于模拟矩阵运算单元的卷积运算及其应用 Active CN110008440B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910299610.9A CN110008440B (zh) 2019-04-15 2019-04-15 一种基于模拟矩阵运算单元的卷积运算及其应用

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910299610.9A CN110008440B (zh) 2019-04-15 2019-04-15 一种基于模拟矩阵运算单元的卷积运算及其应用

Publications (2)

Publication Number Publication Date
CN110008440A CN110008440A (zh) 2019-07-12
CN110008440B true CN110008440B (zh) 2021-07-27

Family

ID=67171823

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910299610.9A Active CN110008440B (zh) 2019-04-15 2019-04-15 一种基于模拟矩阵运算单元的卷积运算及其应用

Country Status (1)

Country Link
CN (1) CN110008440B (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110717580B (zh) * 2019-09-27 2022-03-11 东南大学 面向二值化神经网络的基于电压调制的计算阵列
CN110750231B (zh) * 2019-09-27 2021-09-28 东南大学 一种面向卷积神经网络的双相系数可调模拟乘法计算电路
CN111611529B (zh) * 2020-04-03 2023-05-02 深圳市九天睿芯科技有限公司 电容容量可变的电流积分和电荷共享的多位卷积运算模组
CN111144558B (zh) * 2020-04-03 2020-08-18 深圳市九天睿芯科技有限公司 基于时间可变的电流积分和电荷共享的多位卷积运算模组
CN111639758B (zh) * 2020-04-11 2023-05-02 复旦大学 一种基于柔性材料的模拟卷积计算器件
CN111627479B (zh) * 2020-05-29 2022-05-27 北京大学 编码型闪存装置、系统和编码方法
CN111813709B (zh) * 2020-07-21 2023-08-08 北京计算机技术及应用研究所 一种基于fpga存算一体架构的高速并行存储方法
CN111833888B (zh) * 2020-07-24 2022-11-11 清华大学 一种语音关键词识别的近传感器处理系统、电路及方法
CN113381759A (zh) * 2021-06-21 2021-09-10 江南大学 一种用于神经网络存算阵列的温度补偿单元及方法
CN113672854B (zh) * 2021-08-25 2024-02-06 恒烁半导体(合肥)股份有限公司 一种基于电流镜和存储单元的存内运算方法、装置及其应用
CN113672855A (zh) * 2021-08-25 2021-11-19 恒烁半导体(合肥)股份有限公司 一种存内运算方法、装置及其应用
CN114117986B (zh) * 2022-01-29 2022-07-19 深圳市芯茂微电子有限公司 一种运算器
CN117236261B (zh) * 2023-11-15 2024-03-08 深圳市深鸿盛电子有限公司 Mos管参数模型的构建方法、装置、设备及存储介质

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6754645B2 (en) * 2001-03-20 2004-06-22 Winbond Electronics Corp. Voltage-mode pulse width modulation VLSI implementation of neural networks
US10438117B1 (en) * 2015-05-21 2019-10-08 Google Llc Computing convolutions using a neural network processor
CN104915322B (zh) * 2015-06-09 2018-05-01 中国人民解放军国防科学技术大学 一种卷积神经网络硬件加速方法
CN107305538B (zh) * 2016-04-22 2020-07-31 中科寒武纪科技股份有限公司 一种子矩阵运算装置及方法
CN106843809B (zh) * 2017-01-25 2019-04-30 北京大学 一种基于nor flash阵列的卷积运算方法
TWI630623B (zh) * 2017-04-07 2018-07-21 力旺電子股份有限公司 可編程可抹除的非揮發性記憶體
CN109615061B (zh) * 2017-08-31 2022-08-26 中科寒武纪科技股份有限公司 一种卷积运算方法及装置
CN108090496A (zh) * 2017-12-22 2018-05-29 银河水滴科技(北京)有限公司 基于卷积神经网络的图像处理的方法和装置
CN108446097B (zh) * 2018-03-09 2021-06-25 恒烁半导体(合肥)股份有限公司 一种基于NOR Flash模块的数据运算方法
CN109359269A (zh) * 2018-08-27 2019-02-19 北京大学 进行矩阵向量乘法运算的系统及进行神经网络运算方法
CN109190756B (zh) * 2018-09-10 2022-02-18 中国科学院计算技术研究所 基于Winograd卷积的运算装置及包含该装置的神经网络处理器

Also Published As

Publication number Publication date
CN110008440A (zh) 2019-07-12

Similar Documents

Publication Publication Date Title
CN110008440B (zh) 一种基于模拟矩阵运算单元的卷积运算及其应用
CN109800876B (zh) 一种基于NOR Flash模块的神经网络的数据运算方法
CN110007895B (zh) 一种模拟乘法电路、模拟乘法方法及其应用
US10332592B2 (en) Hardware accelerators for calculating node values of neural networks
US10529418B2 (en) Linear transformation accelerators
JP5160304B2 (ja) 抵抗変化型可変抵抗素子を備えた積演算装置、及び積和演算装置、これらの装置を各ニューロン素子に備えるニューラルネットワーク、並びに積演算方法
CN109635941B (zh) 一种基于1t1r存储器件的最大池化处理器
CN111553415A (zh) 一种基于忆阻器的esn神经网络图像分类处理方法
WO2022222498A1 (zh) 基于忆阻器阵列的数据处理方法、电子装置
CN112070204B (zh) 一种基于阻变存储器的神经网络映射方法、加速器
CN110390074B (zh) 一种阻式存储器的计算系统
CN110383282A (zh) 用于混合信号计算的系统和方法
CN110569962B (zh) 一种基于1t1r存储器阵列的卷积计算加速器及其操作方法
US11922169B2 (en) Refactoring mac operations
CN115376581B (zh) 一种基于忆阻器的存内计算阵列结构
CN113593622A (zh) 存内计算装置及运算装置
CN113672855A (zh) 一种存内运算方法、装置及其应用
CN115879530B (zh) 一种面向rram存内计算系统阵列结构优化的方法
CN116384246A (zh) 用于矩阵运算的存算一体装置及其操作方法
US20240036825A1 (en) Scalar product circuit, and method for computing binary scalar products of an input vector and weight vectors
Doevenspeck et al. Noise tolerant ternary weight deep neural networks for analog in-memory inference
US20220012586A1 (en) Input mapping to reduce non-ideal effect of compute-in-memory
CN111988031B (zh) 一种忆阻存内矢量矩阵运算器及运算方法
CN113988279A (zh) 一种支持负值激励的存算阵列输出电流读出方法及系统
CN111625760B (zh) 基于闪存电学特性的存算一体方法

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
CB02 Change of applicant information

Address after: 230000 building 11, alumni enterprise innovation park, Luyang University of science and technology, northwest of the intersection of Tianshui road and Taihe Road, Luyang District, Hefei City, Anhui Province

Applicant after: Hengshuo semiconductor (Hefei) Co.,Ltd.

Address before: 230000 building 11, alumni Innovation Park, Luyang University of science and technology, northwest of the intersection of Tianshui road and Taihe Road, Luyang District, Hefei City, Anhui Province

Applicant before: ZBIT SEMICONDUCTOR Ltd.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant