基于MIG逻辑的RRAM迭代乘法器电路及实现方法技术

技术编号:18117235 阅读:64 留言:0更新日期:2018-06-03 09:21
本公开提供了一种基于MIG逻辑的RRAM迭代乘法器电路,包括:I/O模块,第二级数据选择器,控制模块,第一级数据选择器,列译码器,RRAM单元阵列,响应模块以及读出模块。本公开采用阻变存储器和MAJ逻辑之间的关系,运用在计算方面,可以大幅度的减少运算的步骤,从而减少了步骤过多而在组边存储器内部产生的误差,提高了计算的准确性;同时本公开完成相同规模的乘法运算所需要的RRAM单元数量较少,从而可以有效的降低因为RRAM自身波动性,即阻值的不稳定性引起的计算误差。

【技术实现步骤摘要】
基于MIG逻辑的RRAM迭代乘法器电路及实现方法
本专利技术涉及非挥发性存储器计算领域,特别涉及一种基于MIG逻辑的电阻转变随机存储器(RRAM,ResistiveRandomAccessMemory,简称阻变存储器)的计算电路及实现方法。
技术介绍
随着大数据时代的到来,越来越多的数据需要进行存储和计算,传统的冯诺依曼计算机在大数据,海量的信息冲击下,其不足之处愈专利技术显,传统冯诺依曼计算机在处理数据时,会受到数据通路(即CPU与存储器相连的数据总线)的容量的限制,使得计算机处理数据的速度无法提高。而阻变存储器RRAM作为一个新型的存储器,近来受到广泛关注。阻变存储器具有非易失性,这个特性使存储器可以在断电的情况下依然能够保留所存储的数据信息。阻变存储器通过外界施加电场的作用来使器件在两个或者多个不同的电阻阻值之间转变来实现对信息的存储,电阻的转变发生后,阻值可以得到保留,所以阻变存储器被视为有前景的非易失存储器。图1为电阻转变随机存储器RRAM的I-V特性示意图。因为阻变存储器具有非易失的特性,所以可以将这一特性运用到数据计算方面,这样一来可以将存储与计算相结合到同一个器件上,打破了传统存储与计算分开的架构,可能会对未来的计算机带来革命性的改变。利用阻变存储器来进行逻辑运算已经有很多科研人员进行研究,最具有代表性的是惠普实验室设计了基于阻变存储器的”蕴含”操作,”蕴含”逻辑操作是惠普实验室于2008年利用阻变存储器完成了基本逻辑运算的以一种方法,其特点是利用阻变存储的阻态变化和电阻分压原理,将输入电压代表输入信号,最后将输出结果以电阻的形式存入到阻变存储器中,并且证明了蕴含操作和清零操作下可以实现任意的布尔逻辑的运算。但是该方法的运算过程复杂,而且需要很多忆阻器进行中间操作,会放大阻值误差。公开内容(一)要解决的技术问题本公开提供了一种基于MIG逻辑的RRAM迭代乘法器电路及实现方法,以至少部分解决以上所提出的技术问题。(二)技术方案根据本公开的一个方面,提供了一种基于MIG逻辑的RRAM迭代乘法器电路,包括:I/O模块,所述I/O模块为I/O输入,用于输入RRAM阵列信号,以及将计算完成后的结果信号输出到外围电路;第二级数据选择器,与I/O模块相连,用于获取I/O模块写入的数据,接收控制信号从而开启相应的工作模式;控制模块,连接到第二级数据选择器,用于向第二级数据选择器提供控制信号;所述控制信号包括:写使能信号和读使能信号,用于选择RRAM的工作模式;第一级数据选择器,连接到第二级数据选择器,第一级数据选择器用于接收列译码电路中的信号从而选择需要开启的RRAM单元;列译码器,连接到第一级数据选择器,用于接收列选通地址信号,进行地址译码,并发送给第一数据选择器,选择指定的RRAM单元;RRAM单元阵列,连接到第一级数据选择器,包括多个RRAM单元,其中,输入RRAM单元分别存储乘数和被乘数,输出RRAM用于输出乘法结果,工作RRAM用于存储计算所需的中间值;读出模块,与RRAM单元阵列及I/O模块相连,用于读出计算过程中的数据及乘法结果,并将乘法结果输出到外围处理电路;响应模块,连接到读出模块,用于给读出模块发送读出信号,控制数据读出。在本公开一些实施例中,所述RRAM迭代乘法器电路为RRAM阵列结构无符号位2×2迭代乘法器电路,其中,RRAM单元阵列包括一行由平行和垂直纳米线相连的15个RRAM单元,所述15个RRAM单元中,其中RRAM单元X2,X1,Y2,Y1为输入RRAM单元,RRAM单元Z1至Z4的RRAM组为输出RRAM单元,RRAM单元M1至M7的RRAM组为工作RRAM。在本公开一些实施例中,所述第二级数据选择器包括:多路选择器MUX,所述MUX的输出端与所述的第一级数据选择器的输出端相连;所述MUX的输入端与I/O模块相连;所述MUX的控制信号端连接所述控制信号模块。在本公开一些实施例中,第一级数据选择器包括:多个数据选择开关;所述数据选择开关数量与所述RRAM单元的个数相同,所述数据选择开关的输出端与所述RRAM存储阵列的行线相连;所述数据选择开关的输入端与所述第二级数据选择器的输出端相连;所述数据选择开关的控制端与所述列译码器的输出相连。在本公开一些实施例中,所述数据选择开关包括,传输门和反相器,所述传输门的控制信号以及所述反相器的输入端相连,作为数据选择开关的控制信号接入端;所述传输门输入端作为所述数据选择开关的输入端;所述传输门输出端与第二级数据选择器相连;反相器的输出端与传输门的反相时钟相连。在本公开一些实施例中,所述读出模块包括:灵敏放大器,所述灵敏放大器的输入一端与输出RRAM单元相连,另一端连接一个参考电压和参考电阻,输出端连接I/O模块;所述参考电阻的阻值远远大于RRAM单元的低阻态的阻值,同时远远小于其高阻态的阻值。根据本公开的另一个方面,提供了一种基于MIG逻辑的RRAM迭代乘法器电路的实现方法,包括:步骤S0,定义RRAM单元各逻辑值,输入信号X1,X2,Y1,Y2并且其他单元置为高阻;步骤S1,依次将Y1,Y2与X1和X2相与,并将得到的结果存入RRAM中;步骤S2,将计算结果错位相加求出最后的乘法结果。在本公开一些实施例中,所述步骤S0包括:定义RRAM单元高低组态逻辑值及电压VSET电压VCLEAR、电压VCNOD的逻辑值,其中,每个RRAM单元的上电极逻辑值标记为P,下电极逻辑值标记为Q。在本公开一些实施例中,所述步骤S1中,将乘数y1、y2求反,并得到x2y2、x1y2、x2y1、x1y1,并存入相应的RRAM单元中,包括:子步骤S11,在RRAM单元M1上分别加逻辑值为PM1=1,QM1=y2的电压,将与y2相反的逻辑值存入RRAM单元M1中;子步骤S12,在RRAM单元M2上分别加逻辑值为PM2=1,QM2=y1的电压,将与y1相反的逻辑值存入RRAM单元M2中;子步骤S13,在RRAM单元Z1上分别施加逻辑值为PZ1=x2,的电压,计算出X2Y2存入RRAM单元Z1中,作为乘法结果输出的最低位;子步骤S14,在RRAM单元M3上分别施加逻辑值为PM3=x1,的电压,计算出X1Y2存入RRAM单元M3中;子步骤S15,在RRAM单元M4上分别施加逻辑值为PM4=x2,的电压,计算出X2Y1存入RRAM单元M4中;子步骤S16,在RRAM单元Z3上分别施加逻辑值为PZ3=x1,的电压,计算出X1Y1存入RRAM单元Z3中。在本公开一些实施例中,所述步骤S2将计算结果错位相加求出最后的乘法结果包括:子步骤S21,通过MAJ门逻辑计算得出输出的次低位z2及次低位到次高位的进位c1;包括:次子步骤S211,在RRAM单元M5上分别施加逻辑值为PM5=x2y1,QM5=x1y2的电压,计算出存入RRAM单元M5中;次子步骤S212,在RRAM单元Z2上分别施加逻辑值为PZ2=x1y2,QZ2=x2y1的电压,计算出存入RRAM单元Z2中;次子步骤S213,在RRAM单元Z2上分别施加逻辑值为QZ2=0的电压,计算出逻辑乘法结果即z2的值,存入RRAM单元Z2中;次子步骤S214,在RRAM单元M3上分别施加逻辑值为PM3=X2Y1,QM3=本文档来自技高网...
基于MIG逻辑的RRAM迭代乘法器电路及实现方法

【技术保护点】
一种基于MIG逻辑的RRAM迭代乘法器电路,包括:I/O模块,所述I/O模块为I/O输入,用于输入RRAM阵列信号,以及将计算完成后的结果信号输出到外围电路;第二级数据选择器,与I/O模块相连,用于获取I/O模块写入的数据,接收控制信号从而开启相应的工作模式;控制模块,连接到第二级数据选择器,用于向第二级数据选择器提供控制信号;所述控制信号包括:写使能信号和读使能信号,用于选择RRAM的工作模式;第一级数据选择器,连接到第二级数据选择器,第一级数据选择器用于接收列译码电路中的信号从而选择需要开启的RRAM单元;列译码器,连接到第一级数据选择器,用于接收列选通地址信号,进行地址译码,并发送给第一数据选择器,选择指定的RRAM单元;RRAM单元阵列,连接到第一级数据选择器,包括多个RRAM单元,其中,输入RRAM单元分别存储乘数和被乘数,输出RRAM用于输出乘法结果,工作RRAM用于存储计算所需的中间值;读出模块,与RRAM单元阵列及I/O模块相连,用于读出计算过程中的数据及乘法结果,并将乘法结果输出到外围处理电路;响应模块,连接到读出模块,用于给读出模块发送读出信号,控制数据读出。

【技术特征摘要】
1.一种基于MIG逻辑的RRAM迭代乘法器电路,包括:I/O模块,所述I/O模块为I/O输入,用于输入RRAM阵列信号,以及将计算完成后的结果信号输出到外围电路;第二级数据选择器,与I/O模块相连,用于获取I/O模块写入的数据,接收控制信号从而开启相应的工作模式;控制模块,连接到第二级数据选择器,用于向第二级数据选择器提供控制信号;所述控制信号包括:写使能信号和读使能信号,用于选择RRAM的工作模式;第一级数据选择器,连接到第二级数据选择器,第一级数据选择器用于接收列译码电路中的信号从而选择需要开启的RRAM单元;列译码器,连接到第一级数据选择器,用于接收列选通地址信号,进行地址译码,并发送给第一数据选择器,选择指定的RRAM单元;RRAM单元阵列,连接到第一级数据选择器,包括多个RRAM单元,其中,输入RRAM单元分别存储乘数和被乘数,输出RRAM用于输出乘法结果,工作RRAM用于存储计算所需的中间值;读出模块,与RRAM单元阵列及I/O模块相连,用于读出计算过程中的数据及乘法结果,并将乘法结果输出到外围处理电路;响应模块,连接到读出模块,用于给读出模块发送读出信号,控制数据读出。2.根据权利要求1所述的RRAM迭代乘法器电路,所述RRAM迭代乘法器电路为RRAM阵列结构无符号位2×2迭代乘法器电路,其中,RRAM单元阵列包括一行由平行和垂直纳米线相连的15个RRAM单元,所述15个RRAM单元中,其中RRAM单元X2,X1,Y2,Y1为输入RRAM单元,RRAM单元Z1至Z4的RRAM组为输出RRAM单元,RRAM单元M1至M7的RRAM组为工作RRAM。3.根据权利要求1或2所述的RRAM迭代乘法器电路,所述第二级数据选择器包括:多路选择器MUX,所述MUX的输出端与所述的第一级数据选择器的输出端相连;所述MUX的输入端与I/O模块相连;所述MUX的控制信号端连接所述控制信号模块。4.根据权利要求1或2所述的RRAM迭代乘法器电路,第一级数据选择器包括:多个数据选择开关;所述数据选择开关数量与所述RRAM单元的个数相同,所述数据选择开关的输出端与所述RRAM存储阵列的行线相连;所述数据选择开关的输入端与所述第二级数据选择器的输出端相连;所述数据选择开关的控制端与所述列译码器的输出相连。5.根据权利要求4所述的RRAM迭代乘法器电路,所述数据选择开关包括,传输门和反相器,所述传输门的控制信号以及所述反相器的输入端相连,作为数据选择开关的控制信号接入端;所述传输门输入端作为所述数据选择开关的输入端;所述传输门输出端与第二级数据选择器相连;反相器的输出端与传输门的反相时钟相连。6.根据权利要求1或2所述的RRAM迭代乘法器电路,所述读出模块包括:灵敏放大器,所述灵敏放大器的输入一端与输出RRAM单元相连,另一端连接一个参考电压和参考电阻,输出端连接I/O模块;所述参考电阻的阻值远远大于RRAM单元的低阻态的阻值,同时远远小于其高阻态的阻值。7.一种基于MIG逻辑的RRAM迭代乘法器电路的实现方法,采用如权利要求2-6中任一项所述的MIG逻辑的RRAM迭代乘法器电路,包括:步骤S0,定义RR...

【专利技术属性】
技术研发人员:张锋范冬宇
申请(专利权)人:中国科学院微电子研究所
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1