一种加法器辅助实现图像卷积运算的闪存系统及方法与流程

文档序号:16754996发布日期:2019-01-29 17:16阅读:257来源:国知局
一种加法器辅助实现图像卷积运算的闪存系统及方法与流程

本发明属于半导体集成电路及其制造技术领域,更具体地,涉及一种加法器辅助实现图像卷积运算的闪存系统及方法,用于实现图像快速、准确的卷积。



背景技术:

卷积运算是分析数学中的一种重要运算,被广泛应用于数字信号处理和机器学习中。卷积运算实际上是一种加权求和的过程,在传统的cpu计算结构中,卷积运算往往被拆分成乘法运算和加法运算分步进行,这样卷积运算实现的效率并不高。为了提升卷积运算实现的效率,人们提出了垂直交叉阵列结构。这种结构不仅具有制作简单,成本低,集成密度大,易于三维集成等优点,同时其独特的结构还适用于进行并行计算。人们提出了一种基于norflash结构的模拟运算的编码型闪存系统,但在这种实现方式中,当所述norflash单元进行program编程操作时,在隧穿的过程中会在浮栅层中引入可动电荷,此时会造成阈值电压上升,而当进行erase擦除操作时,会擦除在隧穿过程中引入的可动电荷,此阈值电压下降。因此,当norflash单元之间阈值的涨落较高时,卷积计算准确性变得无法保证,更增加了输出单元设计的复杂性。



技术实现要素:

本发明的目的是通过以下技术方案根据本发明一个方面实现的一种加法器辅助实现图像卷积运算的闪存系统,包括:编码型闪存阵列以及输出模块,其中,所述编码型闪存阵列由阵列布置的多对相互连接的场效应管组成;在所述编码型闪存阵列中,每行/列的场效应管的栅极与字线相连,每行/列的场效应管的源极/漏极与位线相连,每行/列的多对场效应管的公共端与源线相连;所述输出模块包括,比较器、加法器以及运算放大器,其中,所述比较器的输出端与加法器的输入端连接,所述加法器的输出端与运算放大器的输入端连接;所述编码型闪存阵列通过位线与所述比较器的输入端相连,进而与所述输出模块连接。

优选的,所述编码型闪存阵列用于所述图像与卷积核的卷积运算,所述编码型闪存阵列中阵列放置的多对相互连接的场效应管不少于2skm2(m-n+1)2个,所述输出模块中的加法器不少于2k(m-n+1)2个,其中,k为卷积核的个数,m为图像像素阵列的行/列数,n为所述卷积核的行/列数,s为输入同一加法器的相邻位线的条数,具体为:

更优选的,所述卷积核用于控制所述场效应管的阈值电压,当所述场效应管为高阈值电压时,无法通过施加给定电压产生输出电流,当所述场效应管为低阈值电压时,通过施加给定电压产生输出电流。

更优选的,所述高阈值电压的绝对值大于所述低阈值电压的绝对值。

优选的,所述闪存系统还包括:输入模块、控制器、字线控制单元以及源线控制单元,上述硬件模块中,所述输入模块与字线控制单元连接,所述字线控制单元、所述源线控制单元与所述输出模块分别与所述编码型闪存阵列连接,所述控制器分别与字线控制单元、原线控制单元以及输出模块连接。

优选的,所述输入模块用于根据所述图像施加给定电压。

根据本发明的另一个方面,公开了一种使用上述的一种加法器辅助实现图像卷积运算的闪存系统的方法,包括:根据对输出图像的要求选取卷积核;通过所述控制器控制所述字线控制单元、所述源线控制单元以及所述输出模块对所述编码型闪存阵列进行擦除以及编程操作,进而将所述卷积核映射到所述编码型闪存阵列结构中;通过所述输入模块,根据所述图像中像素值对应的二进制编码施加给定电压,当二进制编码为1时,则向对应的场效应管施加给定电压;当二进制编码为0时,则向对应的场效应管施加零电平电压;所述输出模块通过位线采集与其相连的场效应管的输出电流,并通过所述比较器的调整、加法器的整合后由运算放大器进行输出,从而完成图像的卷积运算。

进一步的,在所述施加给定电压的过程中,通过所述控制器使得同一时刻的同一条位线上仅有一个相应的场效应管工作。

进一步的,所述运算放大器用于实现减法过程。

进一步的,所述给定电压为高阈值电压与低阈值电压绝对值之和的一半。

本发明基于编码型闪存(norflash),采用垂直交叉阵列结构对输入图像进行卷积运算,实现了对输入图像的卷积在硬件中的并行高效的运算;此外,通过所述输入模块,根据所述图像中像素值对应的二进制编码施加给定电压,并通过控制器的控制使得同一时刻的同一条位线上仅有一个相应的场效应管工作,最后由输出模块中的加法器对多次运算进行整合的方式,有效地降低了norflash单元涨落对计算准确性的影响,增加了卷积计算系统的鲁棒性。

附图说明

通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:

附图1示出了根据本发明实施方式的系统结构示意图。

附图2示出了根据本发明实施方式的工作流程图图。

附图3示出了根据本发明实施例的像素矩阵卷积原理示意图。

附图4示出了根据本发明实施例的编码型闪存阵列以及输出模块的部分电路结构示意图。

具体实施方式

下面将参照附图更详细地描述本公开的示例性实施方式。虽然附图中显示了本公开的示例性实施方式,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。

为了能够让卷积运算在硬件上得到高效实现,并被人们亟需在更为成熟的技术中找到可行的方案。本发明提供一种加法器辅助实现图像卷积运算的闪存系统及方法,利用了norflash(编码型闪存)单元,通过编程(program)/擦除(erase)操作来分别得到高/低阈值电压,并借此来区分不同的逻辑值。本发明中将高低不同的阈值电压作为信息的输入以及计算和存储的变量,每一行位线每次的输出电流先输出到比较器中进行调整,再通过所述加法器进行整合,进而输入到运算放大器中,由运算放大器输出结果。其中,所述比较器用于对由不同或相同的场效应管产生的高阈值电压或低阈值电压的变化而产生的不稳定的输出电流进行调整。在上述过程中,本发明通过脉冲电压信号触发卷积运算。

具体的,根据本发明的实施方式,提出一种加法器辅助实现图像卷积运算的闪存系统,包括:输入模块、控制器、编码型闪存阵列(norflash阵列)、字线控制单元、源线控制单元以及输出模块。本发明通过所述控制器控制,控制使得同一时刻的同一条位线上仅有一个相应的场效应管工作,从而使得每次该条位线获得卷积运算中相乘步骤的结果只包含两种状态,并通过数0、数1或数-1分别表示。其中,数0表示卷积运算中相乘步骤的结果为低电平;数1和数-1表示卷积运算中相乘步骤的结果为高电平。其中,对应卷积结果为数1或数-1的场效应管中会产生输出电流,对应卷积结果为数0的则不产生输出电流。输出电流通过位线输入到所述输出模块中的比较器中进行调整,然后由输出模块中的加法器进行整合,最后由输出模块中的运算放大器进行输出,完成卷积过程。通过上述方式,使得本发明系统及方法在图形的卷积运算过程中,避免了因在编码型闪存阵列单元间阈值的涨落较高时,计算准确性无法保证的问题。

如图1所示,为根据本发明实施方式的系统结构示意图,包括:输入模块,用于将输入图像输出至所述编码型闪存阵列;编码型闪存阵列,用于对输入图像的m×m输入图像矩阵和k个n×n卷积核进行卷积的计算;字线控制单元与控制器和字线相连,用于控制字线;源线控制单元与控制器和位线相连,用于控制源线;输出模块,用于包括处理卷积处理后的结果,并输出卷积处理后的图像;控制器,用于控制字线控制单元、源线控制单元和输出模块,将卷积核输出至编码型闪存阵列。上述硬件中,所述输入模块与字线控制单元相连,所述字线控制单元、所述源线控制单元与所述输出模块分别与所述编码型闪存阵列相连,所述控制器分别与字线控制单元、原线控制单元和输出模块相连。

具体的,所述图像卷积过程主要在所述码型闪存阵列与所述输出模块中完成。其中,所述编码型闪存阵列由至少2skm2(m-n+1)2的场效应管组成,其中每两个场效应管连接在一起,用于完成卷积过程中的相乘操作。在所述编码型闪存阵列中,每行/列的场效应管的栅极与字线相连,每行/列的场效应管的源极/漏极与位线相连,每行/列的编码型闪存阵列单元中两个场效应管的公共端与源线相连。所述输出模块中包括比较器、加法器和运算放大器,其中,所述加法器的输入端通过s个比较器与相邻的s条位线相连,从而对多条位线上的输出电流进行整合,并输入到所述运算放大器中,从而通过加法器和/或运算放大器完成卷积过程中的累和操作以及通过运算放大器完成信号的放大输出。上述中,所述编码型闪存单元的工作状态包括擦除状态、编程状态以及工作状态,其中,当所述编码型闪存阵列处于编程状态时,编码型闪存阵列为高阈值电压vth_high状态,此时编码型闪存阵列中的场效应管无发通过施加给定电压产生输出电流;当所述编码型闪存阵列处于擦除状态时,编码型闪存阵列为低阈值电压vth_low状态,此时由于未施加给定电压,因此也无输出电流产生。当所述编码型闪存阵列处于工作状态时,会根据施加给定电压的情况以及该场效应管的阈值电压的状态,决定是否产生输出电流。

更具体的,为达到本发明的目的,所述编码型闪存阵列中需要包括至少2skm2(m-n+1)2个场效应管,用于对输入图像的m×m个像素和k个n×n的卷积核进行卷积计算,其中所述卷积核用于控制场效应管的阈值电压,k为不小于1的正整数,可选的,所述卷积核为一阶梯度算子,包括罗伯特算子和普利威特算子。输入图像中,m为像素方阵的行/列数,n为卷积核方的阵行/列数,s为输入同一加法器的相邻位线的条数,具体为:

在所述编码型闪存阵列中m2条沿第一方向延伸的字线,用于连接各编码型闪存的栅端,以及输入电压信号;条沿与第一方向相同方向延伸的源线,用于连接各编码型闪存的漏端;2sk(m-n+1)2条沿第一方向垂直延伸的位线,用于连接各编码型闪存的源端以及连接输出模块。上述中,所述编码型闪存可以为浮栅晶体管、半浮栅晶体管或者新型电荷捕获闪存。所述编码型闪存处于擦除状态时,其阈值电压为vth_low;所述编码型闪存处于编程状态时,其阈值电压为vth_high,且vth_low小于vth_high,源线上的电压为给定电压vread。所述输出模块,用于相应的卷积操作以及对卷积后的结果进行处理,从而输出卷积后的图像。所述输出模块包含s个比较器、2k(m-n+1)2个加法器和k(m-n+1)2个运算放大器,每个加法器的输入端通过s个比较器与s条相邻的位线相连。每个运算放大器的正输入端和负输入端与相邻的每两个相邻加法器的输出端相连。

如附图2所示,为根据本发明实施方式的工作流程图,包括:根据对输出图像的要求选取卷积核;通过所述控制器控制所述字线控制单元、所述源线控制单元以及所述输出模块对所述编码型闪存阵列进行擦除以及编程操作,进而将所述卷积核映射到所述编码型闪存阵列结构中;通过所述输入模块,根据所述图像中像素值对应的二进制编码施加给定电压,当二进制编码为1时,则向对应的场效应管施加给定电压;当二进制编码为0时,则向对应的场效应管施加零电平电压;所述输出模块通过位线采集与其相连的场效应管的输出电流,并通过所述比较器的调整、加法器的整合后由运算放大器进行输出,从而完成图像的卷积运算。

具体的,本发明通过所述控制器控制,控制使得同一时刻的同一条位线上仅有一个编码型闪存阵列单元工作,从而使得每次该条位线获得卷积运算中相乘步骤的结果只包含两种状态,并通过数0、数1或数-1分别表示。其中,数0表示卷积运算中相乘步骤的结果为低电平;数1和数-1表示卷积运算中相乘步骤的结果为高电平。其中,对应卷积结果为数1或数-1的场效应管中会产生输出电流,对应卷积结果为数0的则不产生输出电流。上述过程具体为:在每次的卷积运算前,首先对编码型闪存阵列进行擦除以及编程操作,从而将卷积核映射到所述编码型闪存阵列中,进而通过所述卷积核对该编码型闪存阵列中的场效应管的阈值电压进行控制,如使得与卷积核中数1或数-1对应的场效应管为低阈值电压状态,以及使得与卷积核中数0对应的场效应管为高阈值电压状态;然后编码型闪存阵列将进入卷积工作状态,其中,输入图像的像素值可通过二进制编码进行表示,此时通过对所述二进制数1对应的场效应管施加给定电压,对所述二进制数0对应的场效应管施加零电平电压,从而使得仅有当阈值电压为低阈值电压,并且施加有给定电压的场效应管才能够产生输出电流,从而实现了卷积运算中的相乘步骤;在上述过程中通过控制器使得同一时刻同一条位线上仅有一个场效应管工作,即一次只计算一次相乘操作,此时该条位线上至多有一个场效应管产生输出电流,由于场效应管的阈值电压(高阈值电压或低阈值电压)不是固定不变的,因此输出电流将输入到比较器中进行调整,从而使得加法器获得更稳定的输出电流,进而进行整合,最后由运算放大器进行输出,完成卷积过程。其中,所述运算放大器还起到减法器的作用,用于处理卷积核中数为-1所对应的卷积算子。通过上述方式,使得通过本发明系统以及方法在图像的卷积运算过程中,避免了因编码型闪存阵列单元间阈值的涨落较高时,计算准确性无法保证的问题。上述中,给定电压为:(vth_high+vth_low)/2。

具体实施例

如图3所示,为根据本发明实施例的像素矩阵卷积原理示意图。其中,一个3×3大小的图像像素阵列经过一个2×2大小的卷积核处理之后得到一个2×2大小的输出图像像素矩阵。在norflash阵列电路结构中,所述3×3大小的图像像素阵列中的每个像素转换为对应电信号后由字线输入,因此需要9条字线。在卷积运算过程中,首先要对卷积核进行旋转180度操作,再与输入图像矩阵中2×2大小的部分中对应位置的像素相乘再进行累和,其中翻转180度后的卷积核按照从左到右,从上到下的顺序依次与图像矩阵中2×2大小的部分进行对应位置相乘再进行累和的操作,最终获得一个获得2×2大小的输出图像像素矩阵,该过程用公式可表示为:

yu,v=xi,j·f2,2+xi,j+1·f2,1+xi+1,j·f1,2+xi+1,j+1·f1,1

其中,yu,v为输出图像像素,f1,1、f1,2、f2,1以及f2,2构成卷积核矩阵。由该公式可知图2所示卷积过程中共需进行16个图像像素与卷积核元素相乘操作,8个累和操作,因此图1所示的norflash阵列电路结构中包含有16条位线、8个加法器,最后得到4个卷积结果由4个运算放大器放大后进行输出。然而需指出的是,本发明方法并不只限于上述卷积情形,对于一个m×m大小的图像,经由一个n×n(m>n)大小的卷积核进行卷积操作之后得到大小为(m-n+1)×(m-n+1)规模的输出图像。对图像进行卷积的意义在于,经过卷积核对源图像进行卷积操作之后,可以对原图像的特征进行提取,从而将原来大量的不同图像通过某些具体的特征进行分类,进而降低后续图像处理信息的计算量。

如图4所示,为根据本发明实施例的编码型闪存阵列以及输出模块的部分电路结构示意图。其中,所述编码型闪存阵列单元由两个相互连接的场效应管组成,每行/列的场效应管的集电极与字线相连,每行/列的场效应管的源端/漏端与位线相连,每行/列的编码型闪存阵列单元中两个场效应管的公共端与源线相连,相邻两条位线作为输入与对应加法器的输入端相连,相邻的加法器的输出端两两作为运算放大器的输入与运算放大器的输入端相连。所示结构中包括9条字线、16条位线以及5条源线,其中9条字线分别记作x1,1、x1,2、x1,3、x2,1、x2,2、x2,3、x3,1、x3,2以及x3,3。

在本发明实施例中,选择roberts算子作为卷积核,此时f1,1=-1,f1,2=0,f2,1=0,f2,2=1。输出图像矩阵中的像素点yu,v可由公式yu,v=xi,j·f2,2+xi,j+1·f2,1+xi+1,j·f1,2+xi+1,j+1·f1,1计算得到。定义norflash单元处于逻辑“0”时(由卷积核决定)其阈值电压为高电压vth_high,处于逻辑“1”时(由卷积核决定)其阈值电压为低电压vth_low上述过程中所述vth_low的绝对值小于所述vth_high的绝对值,此外,在源线上所加电压均为给定电压vread。

在字线上norflash结构的字线上的输入为电压信号,当输入的像素值xi,j≠0时,输入的电压信号为xi,j·(vth_high+vth_low)/2,当xi,j=0时,输入零电平电压信号。对应于负数运算,本发明在所提出的norflash结构中利用两个相邻的加法器的输出输入到所述运算放大器中来实现,其中所述运算放大器在此过程中充当减法器使用。为实现一个对应于实施例的卷积运算,本发明采用了一个16行9列的norflash结构来存储卷积核数据,输出单元中包括16个比较器、8个二输入加法器和4个运算放大器。其中在9列字线上从左到右依次加上图像像素阵列对应的电压信号,4行字线上均施加xi,j·(vth_high+vth_low)/2的电压信号。则对应于输出的卷积图像y1,1的像素点为,y1,1=x1,1·1+x1,2·0+x2,1·0+x2,2·(-1),对应到电路的实现中是将norflash结构中第一行第一列的norflash场效应管的阈值电压置到vth_low,第一行中的其余场效应管均置到vth_high,第二行所有norflash单元阈值电压置到vth_high,第三行所有norflash单元阈值电压置到vth_high,第四行第五列阈值电压变为vth_low,第四行中的其余场效应管均置到vth_high;经过比较器调整后由运算放大器进行整合,进而第一行位线流过的电流对应为x1,1·1+x1,2·0+x3,1·0+x2,2·0,第二行位线流过的电流对应为x1,1·0+x1,2·0+x2,1·0+x2,2·0,这两行电流通过加法器进行整合,其计算结果为x1,1·1+x1,2·0+x2,1·0+x2,2·0。第三行位线流过的电流对应为x1,1·0+x1,2·0+x2,1·0+x2,2·0,第四行位线流过的电流对应为x1,1·0+x1,2·0+x2,1·0+x2,2·1,这两行电流通过加法器进行整合,其计算结果为x1,1·0+x1,2·0+x2,1·0+x2,2·1;上述中两个加法器的输出输入到运算放大器中,可以得到输出结果为,y1,1=x1,1·1+x1,2·0+x2,1·0+x2,2·(-1),依此类推,下面各相邻4行电流经过比较器、加法器和运算放大器的处理还可以依次得到y1,2,y2,1,y2,2。因此,本发明实施例中,输出图像的像素点yu,v可由公式yu,v=xi,j-xi+1,j+1计算得到,最后再通过输出模块将运算放大器的输出结果转化为相应的输出图像进行输出,从而完成对输入图像的卷积处理过程。

以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1