CN111611528A - 电流值可变的电流积分和电荷共享的多位卷积运算模组 - Google Patents

电流值可变的电流积分和电荷共享的多位卷积运算模组 Download PDF

Info

Publication number
CN111611528A
CN111611528A CN202010260236.4A CN202010260236A CN111611528A CN 111611528 A CN111611528 A CN 111611528A CN 202010260236 A CN202010260236 A CN 202010260236A CN 111611528 A CN111611528 A CN 111611528A
Authority
CN
China
Prior art keywords
current
bit
convolution
convolution operation
operation unit
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.)
Granted
Application number
CN202010260236.4A
Other languages
English (en)
Other versions
CN111611528B (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.)
Shenzhen Jiutian Ruixin Technology Co ltd
Original Assignee
Shenzhen Jiutian Ruixin Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shenzhen Jiutian Ruixin Technology Co ltd filed Critical Shenzhen Jiutian Ruixin Technology Co ltd
Priority to CN202010260236.4A priority Critical patent/CN111611528B/zh
Publication of CN111611528A publication Critical patent/CN111611528A/zh
Application granted granted Critical
Publication of CN111611528B publication Critical patent/CN111611528B/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/15Correlation function computation including computation of convolution operations
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computational Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Complex Calculations (AREA)

Abstract

本发明涉及一种模拟运算模组,尤其涉及一种关于卷积运算的模拟运算模组,提出了一组模拟乘法器和累加器(MAC)。其中,电容器中的电流积分用于两个多位二进制数卷积过程的乘法运算的实现,而电容器间的电荷共享实现加法过程。权重位wji,k位数升高的方向的卷积运算单元内输入电流依位2倍递增,从而使给定位数的二进制乘数权重wji在相乘时每一位k具有位权变化。这个思路适用于一系列二进制位数可调的多位卷积可用于实现有两个或更多个输入的一般卷积,特别地,可以加入偏置运算单元阵列。该发明可用作于神经网络卷积运算单元或运算加速器硬件实现的存储器或近存储器运算的单元。

Description

电流值可变的电流积分和电荷共享的多位卷积运算模组
技术领域
本发明涉及一种模拟运算模组,尤其涉及一种关于卷积运算的模拟运算模组,本发明还涉及一种卷积运算的模拟运算方法。
背景技术
对低信噪比的量化,模拟运算比传统数字运算具有更高的功效,因此,通常将数字量转化为模拟量再进行运算。尤其对于神经网络,相较其运算能耗在神经网络的中、大型硬件实现中,由于传统的数据存储在磁盘中,进行运算时需要将数据提取到内存中,此过程需要大量的I/O连接传统存储器的存储往往占用了更多的功耗。而基于模拟内存和近内存运算则可以将运算过程发送到数据本地执行,极大地提升了运算速度、节约了存储面积、降低了数据传输以及运算功耗。本发明提出了一种超低功耗模拟内存或近内存运算的有效实现方法。
近期论文“A Mixed-Signal Binarized Convolutional-Neural-NetworkAccelerator Integrating Dense weight Storage and Multiplication for ReducedData Movement”Symp.VLSI Circuits,pp.141-142,2018,提出的基于二进制的内存或近内存的对1比特二进制数乘法的模拟运算展现了高效的表现,通过静态随机存取存储器(Static Random-Access Memory,SRAM)单元存储1位的权重与输入的混合信号做卷积运算,极大地提高了运算能力以及降低了存储面积,该方法涉及的结构注重一位的乘法运算在神经网络中传递的过程,即输入层到卷积层再到池化层,最后输出。但是该背景技术文件,其模拟运算电路的实现没有涉及乘数或被乘数权位变化的情况,局限于1位的乘法运算在第一次层的输入,不能用于多位二进制数的卷积模拟运算。
极少数的多位运算涉及乘数或被乘数的权位的变化,如论文:
(1)“In-Memory Computation of a Machine-Learning Classifier in aStandard 6T SRAM Array”,JSSC,pp.915-924,2017;(2)“A 481pJ/decision 3.4Mdecision/s multifunctional deep inmemory inference processor using standard6T SRAM array”,arXiv:1610.07501,2016;(3)“A Microprocessor implemented in 65nmCMOS with Configurable and Bit-scalable Accelerator for Programmable In-memory Computing”,arXiv:1811.04047,2018;(4)“A Twin-8T SRAM Computation-In-Memory Macro for Multiple-Bit CNN-Based Machine Learning,”,ISSCC,pp.396-398,2018,(5)“A 42pJ/Decision 3.12TOPS/W Robust In-Memory Machine LearningClassifier with On-Chip Training,”ISSCC,pp.490-491,2018;但是这些多位运算都是通过利用调制当前域中的控制总线、电容电荷共享、脉冲宽度调制(Pulse-width-modulated,PWM)、修改SRAM单元,或者用近存储器运算的复杂数字矩阵矢量处理等方式实现的。这些多位运算的实施方法中,多位模拟乘法器和累加器一直采用非常复杂的数字处理控制,但是在低信噪比的量化方面,传统的数字运算相较模拟运算耗费大量功效,因此这些数字处理控制下的多位运算会产生很大的运算耗能。
CN201910068644提出的二值化的卷积,进行异或运算阶段是通过调制SRAM内控制总线从而实现电位的变化,但是该专利给出的技术方案和教导是要求采取复杂的数字处理控制,对控制模块的要求高,消耗过多的能耗。因此,本领域亟需一种对低信噪比的信号采用模拟运算实现超低功耗的解决方案。
发明内容
有鉴于此,本发明的目的在于提供一种超低功耗、结构紧凑、运算速度快的基于电流值可变的电流积分和电荷共享的多位二进制的卷积模拟运算的模组,该模组支持两个或更多个输入的一般卷积,且二进制的位数可以调整,尤其是可用作于神经网络卷积运算单元或运算加速器硬件实现的模拟内存运算的单元。
所涉及的模组除了上述的优点,其基于矩阵单元的实现对于存储器内或接近存储器的基于卷积的运算单元来说是合理的,不仅降低与存储器存取相关进程的功率,而且还使得矩阵物理实现更加紧凑。为实现上述的目的,采用以下的技术方案:
基于卷积运算的两个阶段,本发明提出一种基于电流值可变的电流积分和电荷共享的多位卷积运算的模组。所述模组包括:至少一个数字输入xi,至少一个数模转换器(Digital to Analog Converter,DAC)将所述的数字输入xi按照给定位数转化为电流在电路中传输;至少一个权重wji,该权重表示为一个二进制数时,wji,k为其第k位上的值;每个卷积运算单元(i,j,k)用于1个带位权的1位二进制wji,k与1个多位二进制xi的乘法运算,由多个卷积运算单元构成的卷积运算阵列,该阵列完成卷积运算的乘法运算和加法运算;至少一个输出yj
Figure BDA0002439008280000031
特别地,所述的电流Ixi是由DAC将数字输入xi按照DAC给定位数转换的。
特别地,所述的卷积运算阵列的规模为i*j*k,每个运算单元(i,j,k)包括电流Ixi、至少一个开关、至少一个控制信号、节点aji,k、值为Cu的电容。
特别地,对于Ixi对应的j*k组卷积运算单元,所述卷积运算单元由k方向依位2倍递增的输入电流Ixi、开关、偏置控制信号、节点aji,k、至少一个容量为Cu的电容组成,其中第k位对应的运算单元的输入电流为2(k-1)*Ixi。控制信号控制卷积运算单元内电流Ixi积分,卷积运算单元内wji,k为1时,控制信号一直为接通状态,对应的卷积运算单元内的开关一直为闭合状态,电流Ixi进入电容器中积分,电容器两端的电压逐渐升高。卷积运算单元内wji,k为0时,控制信号一直处于断开状态,对应卷积运算单元内的开关一直处于断开状态,电流Ixi积分得到的电荷量为0。
进一步地,所述电流Ixi在k方向逐位2倍递增可以通过一组逐位进行放大的电流放大器。
进一步地,假设wji,1=wji,B=1,i,j分别相同,那么在电容内不同大小的电流经过相同的积分时间后,储存的电荷量不同,其对应的电容两端的电压,k=B卷积运算单元内的电容会是k=1的电容电压的2(B-1)倍。
特别地,卷积运算单元内节点aji,k处的电压定义为xi*wji,k*2(k-1)乘数结果,其值由权重各位上的值wji,k和卷积运算单元内电流Ixi的大小决定;
进一步地,所述yj是给定一个j,连接一个i*k面的所有aji,k节点得到的组合节点的电压。由于电容放电的特性,不同运算单元内的电容通过各自被连接的节点进行电荷共享,电荷共享结束后,每个电容内的电荷量是相同的,但乘法阶段电流积分得到的总电荷量不变,组合节点处的累加电压为卷积运算的输出yj
进一步地,对于模组用于神经网络运算单元,通常需要添加偏置。本发明偏置bj转换为给定电流Ixi的附加输入的固定电流Ib,是添加额外的偏置运算单元单独进行运算的,所述的偏置运算单元阵列的规模为j*k,每个偏置运算单元(j,k)包括偏置电流Ib、至少一个开关、至少一个控制信号、节点aj,k、值为Cu的电容,k方向卷积运算单元内的电流依位2倍递增。
进一步地,所述yj的偏置bj为1*k组单元所有节点aj,k累积电压和,可以添加模数转换器将输出yj转换为数字输出。
进一步地,为减弱电流镜上的反冲或瞬态效应,所述开关为虚拟开关或电流器或非开关元件。
进一步地,在连接组合节点时添加衰减电容Catt,从而调整累积电压的刻度范围,使得累积电压缩放到一定的刻度范围内,满足数模转换器的输入范围。
本发明还提供一种基于电流值可变的电流积分和电荷共享的多位卷积模拟运算方法,包括:DAC按照给定位数将数字输入xi转换为模拟信号的电流Ixi在电路中传输;wji,k是权重wji第k位上的值,k∈[1,B],其中B指二进制的最高位,每一位wji,k对应一个卷积运算单元且wji,k是0或1;k方向卷积运算单元依权重wji的每一位wji,k由低位到高排列;使用电流放大器将k方向卷积运算单元内输入电流Ixi依位2倍递增,进入第k位对应卷积运算单元内的电流为2(k-1)*Ixi;电流进入卷积运算单元后,控制信号控制所述电容的电流积分,控制信号接通后,电流Ixi经过开关,通过与电容正极板连接的节点aji,k进入电容内积分,所有电容积分时间同为T,积累的电荷为2(k-1)*Ixi*T,节点aji,k的电压为xi*wji,k*2(k-1)的乘法结果,控制信号为断开状态,电流Ixi积分积累的电荷为0,aji,k处的电压为0;经过相同的积分时间之后,短接一个i*k面的所有卷积运算单元内节点aji,k,每个卷积运算单元内电容间电荷共享,得到的组合节点的电压是卷积的输出结果yj
附图说明
图1为本发明一实施方式中卷积运算乘法阶段电路实现的示意图;
图2为本发明一实施方式中卷积运算加法阶段输出实现的示意图(图中没有画出ADC,在需要将yj转化为数字输出时可以添加在每个输出yj之前);
图3为本发明一实施方式为卷积运算添加偏置运算单元乘法的实现示意图;
图4为本发明一实施方式的加偏置后的输出示意图。
主要元件符号说明
Figure BDA0002439008280000051
Figure BDA0002439008280000061
具体实施方式
为了使发明的目的、原理、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。
应当理解,正如本发明内容部分所述,此处所描述的具体实施例用以解释本发明,但是本发明还可以采用不同于在此描述的其他方式来实施,本领域的技术人员可以在不违背本发明内涵的基础上做类似推广,因此本发明不受下面公开的具体实施例的限制。
参考图1,对于如下的一个一般的卷积运算:
多位的二进制数xi构成的输入矩阵,i从1至N;多个权重wji构成卷积核,也称为权重矩阵,j表示当i确定后,相应的第j窗口;假设当输入构成n*n的输入矩阵,卷积核为m*m的权重矩阵时,j为1~n-m+1(n>m时,窗口移动);输出为yj,所有的yj构成一次卷积运算结果,即为一层神经网络特征提取;
所述的wji表示为多位的二进制数时,wji,k为wji第k位上的值;两个多位二进制∑xi*wji的卷积运算过程分为两阶段:
乘法阶段:输入xi乘以权重wji的每一位再乘以该位的位权2(k-1),,即xi*wji,k*2(k -1),wji,k为0或1。
加法阶段:将乘法阶段每个乘法运算的结果累积求和得到输出yj
输出yj在卷积核的大小确定下,当本发明的模组用于神经网络的卷积计算时,乘法阶段权重wji构成的权重矩阵共享,即j从1变化到n-m+1时,wi1=wi2=wi3=...=wji
针对上述对于多位二进制的卷积运算,本发明需要解决乘法阶段被乘数乘以乘数每一位时位权的变化以及乘法结果的累加的加法阶段。
本发明实施例提出了一种基于电流积分的时间可调和电荷累积的用于实现上述多位卷积运算的运算模组10。所述模组10包括:至少一个数字输入xi,至少一个数模转换器101(Digital to analog converter,DAC)将所述的数字输入xi按照给定的位数转化为电流Ixi在电路中传输;至少一个权重wji,该权重表示为一个二进制数时,wji,k为其二进制表示第k位上的值;由多个卷积运算单元102构成的卷积运算阵列,卷积运算阵列的规模为i*j*k,每个运算单元(i,j,k)包括电流Ixi、开关1021、控制信号103、节点aji,k、值为Cu的电容1022,电容1022的一端接地,在其他实施例中,所述的电容可以替换为电阻等原件,在进行卷积运算前电容1022需要重置到给定的直流电压。该阵列完成卷积运算的乘法运算和加法运算,以及至少一个输出yj
乘法阶段,如图1结合电流Ixi在k方向的卷积运算单元内2倍递增实现加权多位。在本实施方式是基于矩阵单元的对内存内或近内存卷积的运算单元的实现,不仅降低与存储器存取相关进程的功率,而且使矩阵物理实现更加紧凑。具体而言,数模转换器101将给定位数的二进制数的数字输入xi转换为模拟信号的电流Ixi,DAC的分辨率与数字输入xi的位数一致。电流Ixi被电流镜镜像或复制到同一i对应的j*k个卷积运算单元102中,k方向wji,k对应的卷积运算单元依其所在位从低到高依次排列,权重wji的位数递增,输入电流Ixi在k方向依位2倍递增。在其他的实施例中,将2倍递增的电流分别输入到卷积运算单元内可以采用一组放大器对电流进行依次2倍放大,权重wji第k位wji,k对应的卷积运算单元内的电流大小为2(k-1)*Ixi;因此对于不同的i*k面,j方向的卷积运算单元的电流积分可以同时进行并且同时结束,即卷积窗口的移动可以同时进行计算,不需要先计算完一个卷积窗口,再待窗口移动后,计算下一个卷积窗口。在其他的实施例中,所述需要经过DAC转化的电流Ixi可以根据需要先在DAC中被缩放再在电路中传输以控制电流值不超过一定阈值,减少传输的功率损耗。此后电流Ixi经过开关1021,同时为了减弱电流镜上的反冲或瞬态效应,在其他的实施例中所述开关为虚拟开关或电流器或如电流器、虚拟负载等非开关元件。
图1是本发明的卷积运算乘法阶段的实施方式。本实施例中由
Figure BDA0002439008280000081
可知,当电容内电流的积分时间相同时,电容1022存储的电荷量与电流Ixi的大小成正比例,那么只要i、j、k方向各个卷积运算单元内的电流Ixi的积分时间相同且k方向卷积运算单元内电流Ixi两倍递增,进而电容在电容容量相同的情况下,电容两端的电压2倍递增。具体地,对于每个输入的电流Ixi对应的j*1*k个卷积运算单元102,k方向电流Ixi两倍递增,即权重wji位数wji,k每升高1位,该位对应的j个卷积运算单元102内的电流Ixi大小增加2倍。
举例说明,假设wji,1=wji,2=wji,3=….=1,i,j分别相同。例如k=1、2、3,对应卷积运算单元102内的电流分别为Ixi、2Ixi、4Ixi,第k位的电流值为2(k-1)*Ixi那么经过相同的积分时间T,对应电容1022储存的电荷量分别为Q、2Q、4Q,进一步地由U=Q/C,电容1022容量相同时,电容1022两端的电压与其储存的电荷量成正比例,则其对应的电容1022两端的电压分别为U、2U、4U,即高位是较低位的2倍,k=B卷积运算单元102内的电容1022的值会是k=1的卷积运算单元102内电容1022电压的2(B-1)倍,即实现权重wji或者是乘数每一位在分别乘以输入xi或者是被乘数带有权位的变化。在其他实施例中,k方向电流Ixi两倍递增可以通过一组放大器进行逐位放大。本实施例中,权重的控制不再需要复杂的数字处理控制,因为不需要对积分时间进行2倍的控制,电流Ixi的积分过程由控制信号103控制,那么对于某个位wji,k,其值为1或0,对于wji,k为1对应的卷积运算单元102,控制信号103一直为接通状态,所述开关1021的闭合,不需要考虑该位卷积运算单元102内电流2(k-1)*Ixi经过特定的积分时间后断开的情况,wji,k为0时,控制信号103为一直断开状态,保持开关1021一直断开,电流不进行积分。应当注意,以上只是wji的一种特殊情况,实际上不管wji,k为0或者1,各个卷积运算单元102内电流2(k-1)*Ixi的积分时间相同,只是wji,k=0对应卷积运算单元102内进行的是电流值为0的积分,wji,k=1对应卷积运算单元102内进行的是值为2(k-1)*Ixi的积分,各个卷积运算单元102内的电流大小只会依位2倍变化,不会因为wji,k是0或者1而被影响。
具体地,开关1021处于闭合状态时,电流Ixi通过开关1021到达节点aji,k,该节点与电容1022的上极板连接,之后电流Ixi进入电容1022器Cu,对每次的卷积运算,所述的电容1022器需要在电流Ixi流进前,重置到给定的直流电压,清除上一次的运算结果。在电路中该电容1022器接地,那么电容1022器两端的电压是节点aji,k处的电压。电流进入电容1022器后,随积分时间的推移电容1022内的储存的电荷量增加,即开关1021处于闭合状态时,电流不断地积分,此时电容1022器两端的电压逐渐变大,所述的积分时间是开关1021通断时间。
电流积分结束后,节点aji,k处的电压为电容1022两端的电压,电压值定义为xi*wji,k*2(k-1)为的乘数结果。
加法阶段,如图2通过电荷共享得出卷积输出。本发明所有的卷积运算单元102都完成上述乘法阶段的电流积分的操作后,对于j=1,x1所对应的k个单元完成一次x1*w11的运算,x1*w11的运算拆开来看输入x1分别乘以权重w11的每一位wji,k以及该位的位权2(k-1),再将分别得到的结果相加。同理,xi对应的k个单元完成一次xi*wi1运算,那么j=1,i∈N对应的所有i*1*k阵列完成一个卷积窗口的乘运算,所述i*1*k阵列每个单元的节点aji,k电压储存乘法结果,完成乘法运算后,电容1022短路,短接j=1对应阵列内所有电容1022上方的节点aji,k,此时所述对应阵列中的所有电容1022并联,由于每个单元内电容1022储存的电荷量不同以及电容1022放电的特性,被短接的阵列内的电容1022进行电荷共享,每个电容1022内的储存电荷量相同,但总的电荷值不变,得到的组合节点的电压为乘法阶段每一个乘法结果节点aji,k电压的累加和,即为输出y1。在其他的实施例中,对于卷积神经网络,权重矩阵共享的情况下,不同窗口对应的卷积核是相同,即运算不同窗口卷积结果时,被乘数(权重wji)构成的权重矩阵是相同的,wj1=wj2=wj3=.....=wji,减少了参与运算的参数量。同理,短接其他j对应的i*j*k阵列的节点aji,k使电容1022并联,可得到其他相应的输出yj如下等式1:
Figure BDA0002439008280000101
在其他实施例中,对输出信号进行转换。卷积运算阵列的执行模拟乘法的累加的运算后,输出是模拟信号,在需要输出信号是数字信号时,在输出之前加上一个模数转换器(Analog-to-Digital Converter,ADC),得到的输出yj为数字信号。例如,该卷积运算模组运用到卷积神经网络,所述数字输出yj又可以作为数字输入进入卷积运算阵列中进行第二层的神经网络的卷积运算。此外,在其他的实施例中,如果累积电压在模数转换器输入范围摆动或过高,可以通过在如图1的乘法阶段增加单位电容Cu来有效地解决所述的问题,但这样每组卷积运算单位102需要的电容数量增加,需要更多的物理面积,不利于元件微小化。因此考虑在连接组合节点时,同时连接额外的值为Catt的衰减电容105进入组合节点中,从而调整累积电压的刻度范围,使得累积电压缩放到一定的刻度范围内,满足数模转换器的输入范围。每当输出yj时,使用衰减电容105,衰减电容105上方节点aatt,j与原来的节点aji,k连接,这种解决方案更有效地利用所述模组物理实现的面积。
图3和图4为本发明所述的卷积运算单元102用于卷积神经网络运算时,添加偏置运算单元1051的一个实施例。考虑卷积运算加入偏置b使得卷积运算更为高效准确,代表性的是为给定的输出yj添加二进制偏置bj。那么对应的卷积输出yj由等式1改为如下等式2。
Figure BDA0002439008280000102
图3阐述了如何在乘法阶段添加上这个额外的功能。由于偏置位的量化的执行方式类似于图1或图2中的权重,所以偏置的实现视为给定电流Ixi的附加输入的固定电流Ib
本发明偏置bj转换为给定电流Ixi的附加输入电流Ib,是添加额外的偏置运算单元1041单独进行运算的,所述的偏置运算单元1041构成规模为j*k偏置运算阵列104,每个偏置运算单元1041(j,k)包括电流Ib、开关1021、至少一条偏置控制信号1042、节点aj,k、容量为Cu的电容1022;电流Ib在电容1022内积分,与卷积运算阶段类似,将权重wji转变为bj,偏置位bj,k是偏置bj第k位上的值,其值为0或1,每一个偏置位对应一个偏置运算单元1041,k方向偏置位bj,k所对应的偏置运算单元从低位到高位递增排列,偏置电流Ib在k方向依位2倍递增,第k位偏置运算单元内输入的偏置电流的大小为2(k-1)*Ib,应当注意,同卷积运算阵列,偏置电流Ib的2倍递增可以通过一组放大器对输入的电流进行一次放大后。此时偏置运算单元1041内开关1021闭合的是一条一直为接通或者断开的偏置控制信号1042,bj,k为1时,偏置运算单元1041内的偏置控制信号1042一直为接通状态,此时开关1021闭合,偏置电流Ib经过开关1021进入电容中积分,电容器存储电荷;bj,k为0时,偏置运算单元1041内的偏置控制信号1042一直为断开状态,此时开关1021断开,偏置电流Ib不经过开关1021进入电容中积分,电容器中没有存储电荷。基于相同的原理,电容1022两端的电压储存为偏置运算单元1041乘法阶段的计算结果。
图4阐述了在累加阶段,需要加上额外的电容1022用于电荷的共享和节点的累加。
同理,短接给定的j对应的k个单元节点aj,k,偏置运算阵列的1*k个电容1022并联,由于电容1022放电的特性,被短接的阵列内的电容1022进行电荷共享,每个电容1022内的储存电荷量相同,但总的电荷值不变,得到的组合节点的电压为乘法阶段每一个乘法结果节点aji,k电压的累加和,即yj的偏置b为1*k组单元所有节点aj,k累积电压和,如图4,所述的卷积和偏置的运算单元的物理实现是独立的,但是在输出最后加上偏置的卷积结果时,可以连接卷积运算单元102以及偏置运算单元1041的对应节点,得到的组合节点的电压为加了偏置的卷积运算结果,基于与未加偏置阶段的原理,在其他实施例中,可以在输出结果时加上衰减电容105进行输出。
本发明还提供一种基于电流值可变的电流积分和电荷共享的多位卷积模拟运算方法,以图1为例说明,DAC按照给定位数将数字输入xi转换为模拟信号的电流Ixi在电路中传输;wji,k是权重wji第k位上的值,k∈[1,B],其中B指二进制的最高位,每一位wji,k对应一个卷积运算单元102且wji,k是0或1;k方向卷积运算单元102依权重wji的每一位wji,k由低位到高排列;使用电流放大器将k方向卷积运算单元102内输入电流Ixi依位2倍递增,进入第k位对应卷积运算单元102内的电流为2(k-1)*Ixi;电流进入卷积运算单元后,控制信号控制所述电容1022的电流积分,控制信号接通后,电流Ixi经过开关1021,通过与电容1022正极板连接的节点aji,k进入电容1022内积分,所有电容1022积分时间同为T,积累的电荷为2(k-1)*Ixi*T,节点aji,k的电压为xi*wji,k*2(k-1)的乘法结果,控制信号为断开状态,电流Ixi积分积累的电荷为0,aji,k处的电压为0;经过相同的积分时间之后,短接一个i*k面的所有卷积运算单元102内节点aji,k,每个卷积运算单元102内电容间电荷共享,得到的组合节点的电压是卷积的输出结果yj
值得注意的是,上述实施例中,所包括的各个模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.电流值可变的电流积分和电荷共享的多位卷积运算模组,其特征在于,包括:
至少一个数字输入xi,至少一个数模转换器(Digital to analog converter,DAC),至少一个权重wji,由多个卷积运算单元构成的卷积运算阵列,至少一个输出yj
所述数字输入xi由DAC按照给定的位数转换为模拟信号的电流Ixi在电路中传输;
所述权重wji,j表示该权重是第j窗口的权重索引,wji,k是权重wji第k位上的值,k∈[1,B],其中B指二进制的最高位,每一位wji,k对应一个卷积运算单元且wji,k是0或1;
所述的卷积运算阵列的规模为i*j*k,i方向是输入方向,j方向是卷积窗口方向,k方向卷积运算单元依权重wji的每一位wji,k由低位到高排列;
所述每个卷积运算单元包括输入电流、开关、至少一个控制信号、节点aji,k、至少一个电容,k方向卷积运算单元内输入电流Ixi依位2倍递增,第k位对应卷积运算单元内的电流为2(k-1)*Ixi
所述控制信号控制电容的电流的积分,控制信号为接通状态,电流Ixi经过开关,通过与电容上极板连接的节点aji,k进入电容内积分,所有电容积分时间同为T,积累的电荷为2(k -1)*Ixi*T,节点aji,k的电压为xi*wji,k*2(k-1)的乘法结果,控制信号为断开状态时,电流Ixi积分积累的电荷为0,aji,k处的电压为0;
所述yj是通过短接一个i*k面的所有卷积运算单元内节点aji,k,每个卷积运算单元内电容间电荷共享,得到的组合节点的电压是卷积计算的输出结果。
2.如权利要求1所述的模组,所述xi对应的1*k个卷积运算单元的组合电压为xi*wji的结果,一个i*k面的卷积运算单元组合节点的电压为∑xi·wji的结果,完成一次卷积核和输入矩阵的卷积过程的运算。
3.如权利要求1或2所述的模组,其特征在于,所述的控制信号一直为接通或者一直为断开。
4.如权利要求3所述的模组,其特征在于,所述的电容可以替换为电阻。
5.如权利要求4所述的模组,其特征在于,当组合节点的累积电压摆动高于模数转换器的输入范围,输出yj在连接模数转换器前并联衰减电容器,调整累积电压的全刻度范围。
6.如权利要求5所述的模组,其特征在于,所述开关为虚拟开关或电流器等非开关元件,减弱电流镜上的反冲或瞬态效应。
7.如权利要求1或6所述的模组,其特征在于,所述的电流2倍递增可以通过加上一组电流放大器依位对电流2倍放大。
8.如权利要求7所述的模组,其特征在于,所述卷积运算阵列可以添加偏置模块,包括:
偏置电流Ib,偏置bj,由多个偏置运算单元构成的偏置运算阵列;
所述的电流Ib是电流Ixi附加的固定电流;
所述的偏置运算阵列的规模为j*k,每个偏置运算单元(j,k)包括偏置电流Ib、开关、控制信号、节点aj,k、至少一个电容;bj,k是多位二进制偏置bj的第k位,每个bj,k对应一个偏置运算单元,k方向偏置运算单元依bj,k由低位到高位排列,并且偏置运算单元内偏置电流Ib在k方向2倍递增;
输出yj的偏置为1*k组偏置运算单元所有节点aj,k累积电压和。
9.一种基于电流值可变的电流积分和电荷共享的多位卷积模拟运算方法,其特征在于,包括:
DAC按照给定位数将数字输入xi转换为模拟信号的电流Ixi在电路中传输;
wji,k是权重wji第k位上的值,k∈[1,B],其中B指二进制的最高位,每一位wji,k对应一个卷积运算单元且wji,k是0或1;k方向卷积运算单元依权重wji的每一位wji,k由低位到高排列;
使用电流放大器将k方向卷积运算单元内输入电流Ixi依位2倍递增,进入第k位对应卷积运算单元内的电流为2(k-1)*Ixi
电流进入卷积运算单元后,控制信号控制所述电容的电流积分,控制信号接通后,电流Ixi经过开关,通过与电容正极板连接的节点aji,k进入电容内积分,所有电容积分时间同为T,积累的电荷为2(k-1)*Ixi*T,节点aji,k的电压为xi*wji,k*2(k-1)的乘法结果,控制信号为断开状态,电流Ixi积分积累的电荷为0,aji,k处的电压为0;
经过相同的积分时间之后,短接一个i*k面的所有卷积运算单元的节点aji,k,每个卷积运算单元内电容间电荷共享,得到的组合节点的电压是卷积的输出结果yj
10.如权利要求9所述的运算方法,其特征在于,在连接ADC输出yj前,并联衰减电容器来调整累积电压的全刻度范围,使组合节点的累积电压摆动低于模数转换器输入范围。
CN202010260236.4A 2020-04-03 2020-04-03 电流值可变的电流积分和电荷共享的多位卷积运算模组 Active CN111611528B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010260236.4A CN111611528B (zh) 2020-04-03 2020-04-03 电流值可变的电流积分和电荷共享的多位卷积运算模组

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010260236.4A CN111611528B (zh) 2020-04-03 2020-04-03 电流值可变的电流积分和电荷共享的多位卷积运算模组

Publications (2)

Publication Number Publication Date
CN111611528A true CN111611528A (zh) 2020-09-01
CN111611528B CN111611528B (zh) 2023-05-02

Family

ID=72200081

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010260236.4A Active CN111611528B (zh) 2020-04-03 2020-04-03 电流值可变的电流积分和电荷共享的多位卷积运算模组

Country Status (1)

Country Link
CN (1) CN111611528B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113608031A (zh) * 2021-08-04 2021-11-05 北京英瑞来科技有限公司 一种变电站避雷器冲击阻抗监测方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170368682A1 (en) * 2016-06-27 2017-12-28 Fujitsu Limited Neural network apparatus and control method of neural network apparatus
CN110288510A (zh) * 2019-06-11 2019-09-27 清华大学 一种近传感器视觉感知处理芯片及物联网传感装置
CN209657299U (zh) * 2019-05-16 2019-11-19 北京知存科技有限公司 模拟向量-矩阵乘法运算电路以及芯片
CN110543933A (zh) * 2019-08-12 2019-12-06 北京大学 基于flash存算阵列的脉冲型卷积神经网络

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170368682A1 (en) * 2016-06-27 2017-12-28 Fujitsu Limited Neural network apparatus and control method of neural network apparatus
CN209657299U (zh) * 2019-05-16 2019-11-19 北京知存科技有限公司 模拟向量-矩阵乘法运算电路以及芯片
CN110288510A (zh) * 2019-06-11 2019-09-27 清华大学 一种近传感器视觉感知处理芯片及物联网传感装置
CN110543933A (zh) * 2019-08-12 2019-12-06 北京大学 基于flash存算阵列的脉冲型卷积神经网络

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113608031A (zh) * 2021-08-04 2021-11-05 北京英瑞来科技有限公司 一种变电站避雷器冲击阻抗监测方法及装置
CN113608031B (zh) * 2021-08-04 2024-02-02 北京英瑞来科技有限公司 一种变电站避雷器冲击阻抗监测方法及装置

Also Published As

Publication number Publication date
CN111611528B (zh) 2023-05-02

Similar Documents

Publication Publication Date Title
CN111144558B (zh) 基于时间可变的电流积分和电荷共享的多位卷积运算模组
CN110209375B (zh) 一种基于radix-4编码和差分权重存储的乘累加电路
CN111431536B (zh) 子单元、mac阵列、位宽可重构的模数混合存内计算模组
US10878317B2 (en) Method and system for performing analog complex vector-matrix multiplication
Sun et al. An energy-efficient quantized and regularized training framework for processing-in-memory accelerators
US20220075596A1 (en) Integer matrix multiplication based on mixed signal circuits
CN110991623B (zh) 基于数模混合神经元的神经网络运算系统
CN113627601B (zh) 子单元、mac阵列、位宽可重构的模数混合存内计算模组
CN115048075A (zh) 基于电容耦合的sram存算一体芯片
CN111611529B (zh) 电容容量可变的电流积分和电荷共享的多位卷积运算模组
CN112181895A (zh) 可重构架构、加速器、电路部署和计算数据流方法
CN115906976A (zh) 一种全模拟向量矩阵乘法存内计算电路及其应用
Yu et al. A 4-bit mixed-signal MAC array with swing enhancement and local kernel memory
CN111611528A (zh) 电流值可变的电流积分和电荷共享的多位卷积运算模组
CN114330694A (zh) 实现卷积运算的电路及其方法
CN115879530B (zh) 一种面向rram存内计算系统阵列结构优化的方法
CN115691613B (zh) 一种基于忆阻器的电荷型存内计算实现方法及其单元结构
KR102603799B1 (ko) 메모리 장치 및 그 동작 방법
CN113741857A (zh) 一种乘累加运算电路
Lin et al. A reconfigurable in-SRAM computing architecture for DCNN applications
CN112784971A (zh) 基于数模混合神经元的神经网络运算电路
CN113672854A (zh) 一种基于电流镜和存储单元的存内运算方法、卷积运算方法、装置及其应用
CN111988031A (zh) 一种忆阻存内矢量矩阵运算器及运算方法
Guo et al. VCCIM: a voltage coupling based computing-in-memory architecture in 28 nm for edge AI applications
CN115658013B (zh) 向量乘加器的rom存内计算装置和电子设备

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
GR01 Patent grant
GR01 Patent grant