基于阻变器件交叉阵列结构实现逻辑计算的方法与流程

文档序号:14725553发布日期:2018-06-19 06:35阅读:283来源:国知局

本发明属于微电子技术领域,具体涉及一种基于阻变器件交叉阵列结构的计算-存储融合方法。



背景技术:

传统计算系统采用冯诺依曼架构,存储器与计算单元在空间上分离,它们之间的频繁数据交换,消耗大量的能量和时间,对于海量信息的处理效率极低。因此,发展逻辑计算和数据存储一体化的新型信息器件及技术成为微电子领域的研究热点。非易失性阻变存储器具有体积小,功耗低,易于大规模集成的优点,有望突破冯诺依曼架构瓶颈,实现计算-存储融合的新型高效计算系统。

目前,基于阻变器件的逻辑操作在实现复杂逻辑时需要庞大数量的计算单元,而且操作步骤复杂冗长,不符合实际运用的需求。



技术实现要素:

(一)要解决的技术问题

有鉴于此,本发明的目的在于提供一种基于阻变器件交叉阵列结构实现逻辑计算的方法,以解决以上所述的至少部分技术问题。

(二)技术方案

本发明实施例提供一种基于阻变器件交叉阵列结构实现逻辑计算的方法,其中包括步骤:

选择共用一条字线或位线的两个或三个阻变单元;

其中一个阻变单元,为输出阻变单元,其余的阻变单元为输入阻变单元;

阻变单元共用的字线或位线的一端不加电压,输出阻变单元非共用的一端接高电平或低电平,输入阻变单元非共用的一端接与输出阻变单元非共用的一端相反的电平,实现各输入阻变单元的信息经逻辑运算后到存入输出阻变单元。

在进一步的方案中,输入阻变单元包括一第一输入阻变单元和一第二输入阻变单元,初始化将一输出阻变单元置“1”,一第一输入阻变单元,一第二输入阻变单元和一输出阻变单元有一端共用一条字线或位线,字线或位线不加电平;一第一输入阻变单元和一第二输入阻变单元的另一端接高电平或低电平,一输出阻变单元的另一端接与一第一输入阻变单元和一第二输入阻变单元的另一端相反的电平,并保证一输出阻变单元电流方向为负,实现“与非”逻辑,即一第一输入阻变单元存储数据为A、一第二输入阻变单元存储数据为B,则一输出阻变单元在实现“与非”逻辑后存储数据为

在进一步的方案中,输入阻变单元包括一第一输入阻变单元,初始化将一输出阻变单元置“0”,一第一输入阻变单元和一输出阻变单元有一端共用一条字线或位线,字线或位线不加电平;一第一输入阻变单元的另一端接高电平或低电平,一输出阻变单元的另一端接与一第一输入阻变单元的另一端相反的电平,并保证一输出阻变单元电流方向为正,实现“复制”逻辑,即一第一输入阻变单元存储数据为A,则一输出阻变单元在实现“复制”逻辑后存储数据为R=A。

在进一步的方案中,输入阻变单元包括一第一输入阻变单元和一第二输入阻变单元,第一输入阻变单元和第二输入阻变单元存储的数据分别表示为“A”和“B”,输出阻变单元存储结果表示为“R”,输出阻变单元正端接地,负端接电压,预先初始化为“0”;第一输入阻变单元、第二输入阻变单元和输出阻变单元的正端或负端相连;第一输入阻变单元、第二输入阻变单元和输出阻变单元的正端相连时,第一输入阻变单元和第二输入阻变单元的负端接电压,输出阻变单元的负端接地;或第一输入阻变单元、第二输入阻变单元和输出阻变单元的负端相连时,第一输入阻变单元和第二输入阻变单元的正端接地,输出阻变单元的正端接电压;施加脉冲,保证输出阻变单元电流方向为正,实现“或”运算,结果存储在输出阻变单元中,运算的结果表示为R=A+B。

在进一步的方案中,其中连接到同一字线或者同一位线的第一输入阻变单元和第二输入阻变单元存储的数据为“A”和“B”,连接到所述字线或者位线的输出阻变单元初始存储的数据为“C”,所连接到同一位线或者字线的三个阻变单元存在两种情况,即正端连接在一起或负端连接在一起,如果正端连在一起,通过字线或者位线向第一输入阻变单元和第二输入阻变单元不互连的那两端施加电压VOR,同时将与第一、第二输入阻变单元不相连的输出阻变单元的那端接地,如果负端连在一起,接电压VOR和接地的方式相反,最终结果存储在输出阻变单元中,其阻值R为A、B和C“或”运算的结果,表示为R=A+B+C。

在进一步的方案中,输入阻变单元包括第一输入阻变单元和第二输入阻变单元,连接到同一字线或者同一位线的第一输入阻变单元和第二输入阻变单元存储的数据为“A”和“B”,连接到所述字线或者位线的输出阻变单元初始存储的数据为“C”,所连接到同一位线或者字线的三个阻变单元存在两种情况,即正端连接在一起或负端连接在一起,如果正端连在一起,通过字线或者位线将第一输入阻变单元和第二输入阻变单元不相连的那两端接地,同时将与第一、第二输入阻变单元不相连的输出阻变单元的那端施加电压VNAND,如果负端连在一起,接电压VNAND和接地的方式相反,最终结果存储在输出阻变单元中,其阻值R为A和B“与非”运算的结果再和C相“与”,表示

在进一步的方案中,其中第一输入阻变单元和输出阻变单元连接到同一字线或者同一位线,第一输入阻变单元存储的数据为“A”,连接到所述字线或者位线的输出阻变单元初始存储的数据为“C”,所连接到同一位线或者字线的两个阻变单元存在两种情况,即正端连接在一起或负端连接在一起,如果正端连在一起,通过字线或者位线向第一输入阻变单元不互连的那端施加电压VCOPY,同时将与第一输入阻变单元不互连的输出阻变单元的那端接地,如果负端连在一起,接电压VCOPY和接地的方式相反,最终结果存储在输出阻变单元中,其阻值R为A和C“或”运算的结果,表示为R=A+C。

本发明提供一种基于阻变器件交叉阵列结构实现逻辑计算的方法,通过以上至少两种以上逻辑计算方法的组合或重构,实现16种二值布尔逻辑运算。

(三)有益效果

通过上述方法,解决现有基于阻变器件逻辑计算时需要大量阻变单元,操作步骤复杂冗长的缺陷,本发明提出了一种基于阻变器件交叉阵列结构的计算-存储一体化的实现方法,通过设计脉冲序列在交叉点阵中施加的位置,阻变单元形成不同的串并结构。

附图说明

图1为本发明实施例交叉点阵存储阵列示意图。

图2A和图2B分别为本发明实施例阻变器件置位和复位示意图。

图3A和图3B分别为本发明实施例“或”逻辑的两种运算方式示意图。

图4A和图4B分别为本发明实施例“与非”逻辑的两种运算方式示意图。

图5A和图5B分别为本发明实施例“复制”逻辑的两种运算方式示意图。

图6为本发明实施例实现一位全加器的运算示意图。

图7为本发明实施例实现“复制”的并行运算示意图。

图8为本发明实施例实现部分并行全加器的运算示意图。

图9为本发明实施例实现8种布尔运算的组合示意图;

图10为本发明实施例实现另8种布尔运算的组合示意图。

具体实施方式

所述基于阻变单元的交叉阵列结构的新型计算-存储一体化的方法包括通过控制器向位线或者字线的基本单元施加脉冲序列,配置阻变器件基本单元形成不同的串并结构,实现“与非”、“或”、“复制”3种基本逻辑运算并在此基础上相互组合,能实现全部的二值布尔逻辑运算。

图1为交叉点阵存储阵列示意图,本发明的逻辑计算操作方法不用对其结构进行改变,不改变原有的数据读写方法,所以对基本阻变单元的读取和置位方式及外围的读写电路不做赘述。

根据本发明的实施例,依据不同逻辑计算的需要,将处于同一字线或位线的需要参与计算的阻变单元与结果存储单元施加相应的脉冲进行运算,运算结果直接存储在结果存储单元中,可用于下步的运算或输出。实现的不同的类型的运算,是由施加脉冲的方式决定的,通过施加不同方式的脉冲形成阻变单元不同的串并结构,完成相应的逻辑计算功能。阵列中所有的阻变单元都可以参与运算或存储运算结果,计算和存储是同时完成的,节省了数据传输时间,且不需要对交叉点阵的存储结构和读写电路做任何改变,实现了计算与存储过程上和架构上的融合。实现的运算功能涵盖16种布尔逻辑,进一步组合可实现加法、乘法等复杂运算,这将在下面相详细描述。

图2A和图2B分别为本发明实施例阻变器件置位和复位示意图。阻变器件处于高组态和低阻态分别对应了逻辑“0”和“1”,如图2A所示,器件由“0”变为“1”的过程为置位,器件正端接电压V,负端接地,电流从正端流向负端,器件由高阻态变为低阻态;如图2B所示,器件由“1”变为“0”的过程为复位,器件正端接地,负端接电压V,电流从负端流向正端,器件由低阻态变为高阻态。

“或”逻辑操作

图3A和图3B给出了本发明实施例“或”逻辑运算的实现方法。如图3A和图3B所示,第一输入阻变器件、第二输入阻变器件和结果存储器件存储的信息分别为A、B和R,为了方便表述,后面用A、B和R指代这三种器件,所连接到同一位线或者字线的三个阻变单元存在图中所示两种情况,即正端连接在一起或负端连接在一起,首先将结果存储器件R置为“0”,施加脉冲,保证R电流方向为正,即A、B和R反端相连时(参见图3A),A和B正端接地,R正端接电压V;A、B和R正端相连时(参见图3B),A和B正端接地,R正端接电压V,即可在阻变单元R中得到A和B“或”逻辑运算的结果,表示为R=A+B。

多输入逻辑操作R’=A+B+R

图3A和图3B给出了本发明实施例或逻辑运算的实现方法。如图3A和3B所示,第一输入阻变器件、第二输入阻变器件和结果存储器件存储的信息分别为A、B和R,所连接到同一位线或者字线的三个阻变单元存在图中所示两种情况,即正端连接在一起或负端连接在一起,施加脉冲,保证R电流方向为正,即A、B和R反端相连时,A和B正端接地,R正端接电压V;A、B和R正端相连时,A和B正端接地,R正端接电压V,即可在阻变单元R中得到A、B和R“或”逻辑运算的结果R’,表示为R’=A+B+R,阻变单元R中存储的初始信息被覆盖。

“与非”逻辑操作

图4A和图4B给出了本发明实施例“与非”逻辑运算的实现方法。第一输入阻变器件、第二输入阻变器件和结果存储器件存储的信息分别为A、B和R,所连接到同一位线或者字线的三个阻变单元存在图中所示两种情况,即正端连接在一起或负端连接在一起,首先将结果存储器件R置为“1”,施加脉冲,保证R电流方向为负,即A、B和R反端相连时,A和B正端接电压V,R正端接地(参见图4A所示);A、B和R正端相连时,A和B正端接电压V,R正端接地,即可在阻变单元R中得到A和B“与非”逻辑运算的结果(参见图4B所示),表示

多输入逻辑操作为

图4A和图4B给出了本发明实施例“与非”逻辑运算的实现方法。如图4所示,第一输入阻变器件、第二输入阻变器件和结果存储器件存储的信息分别为A、B和R,所连接到同一位线或者字线的三个阻变单元存在图中所示两种情况,即正端连接在一起或负端连接在一起,施加脉冲,保证R电流方向为负,即A、B和R反端相连时,A和B正端接电压V,R正端接地;A、B和R正端相连时,A和B正端接电压V,R正端接地,即可在阻变单元R中得到A和B“与非”再和R“与”的逻辑运算的结果R’,表示为

“复制”逻辑操作

图5A和图5B给出了本发明实施例“复制”逻辑运算的实现方法。如图5A所示,第一输入阻变器件和结果存储器件存储的信息分别为A和R,所连接到同一位线或者字线的两个阻变单元存在图中所示两种情况,即正端连接在一起或负端连接在一起,首先将结果存储器件R置为“0”,施加脉冲,保证R电流方向为正,即A、和R反端相连时,A正端接地,R正端接电压V;A和R正端相连时,A正端接地,R正端接电压V,即可在阻变单元R中得到A的“复制”逻辑运算的结果,表示为R=A。

衍生的“或”逻辑操作

图5A和5B给出了本发明实施例衍生的“或”逻辑运算的实现方法。如图5A所示,第一输入阻变器件和结果存储器件存储的信息分别为A和R,所连接到同一位线或者字线的两个阻变单元存在图中所示两种情况,即正端连接在一起或负端连接在一起,施加脉冲,保证R电流方向为正,即A、和R反端相连时,A正端接地,R正端接电压V;图5B所示,A和R正端相连时,A正端接地,R正端接电压V,即可在阻变单元R中得到A和R的“或”逻辑运算的结果,表示为R’=A+R,其中R’为运算完之后阻变单元R中存储的信息,R的初始值将被覆盖。

“全加”运算

全加运算为全加器中的一位运算,相较于半加运算它将进位考虑在内。输入包括Ai、Bi和前一位的进位Ci-1,输出包括本位和Si和产生的进位Ci。通过将上述基本逻辑运算和衍生逻辑运算合理组合,实现全加功能,只需6个阻变单元,7步操作即可。全加器逻辑表达式如下:

如图6所示,实现全加逻辑一共需要6个处在同一字线或位线上的阻变单元,两个加数Ai和Bi以及上一位的进位Ci-1分别存储在其中3个阻变单元中,另外3个阻变单元用来存储中间过程的结果和最终的计算结果。

全加运算时,首先Ai和Bi进行“或”运算,结果为Ai+Bi保存在阻变单元1中;第二步,将Ai、Bi和Ai+Bi进行多输入逻辑操作(Ai+Bi),结果为保存在阻变单元1中,将原存储数据覆盖;第三步,将和Ci-1做“与非”逻辑运算,结果保存在阻变单元2中;第四步,将和Ci-1做“或”逻辑运算,结果保存在阻变单元3中;第五步,将Ci-1和做多输入逻辑运算,结果为结果保存在阻变单元3中;第六步,Ai和Bi进行“与非”运算,结果保存在阻变单元2中;第七步,与进行“与非”运算,结果为Ci保存在原Ci-1的位置。

根据本公开的实施例,提出了一种基于阻变器件交叉点阵存储结构的逻辑计算实现方法,计算和存储基于相同的硬件架构,且在计算的同时完成数据的存储,实现了计算存储融合,每步的计算结果存储在输出单元中,在级联中作为下一个计算的输入单元,避免了数据的传输和调用,有效的减少了实现计算功能所需的阻变器件数量和操作步骤。

并行运算

本发明所阐述的逻辑运算方法可以同时执行,实现并行计算。以复制逻辑的并行计算为例,如图7,第一输入阻变器件和第一结果存储器件存储的信息分别为A和R,第二输入阻变器件和第二结果存储器件存储的信息分别为A’和R’,首先将结果存储器件R和R’置为“0”,施加脉冲,保证R’电流方向为正,即A和A’负端接电压V,R和R’负端接地,即可在阻变单元R中得到A的“复制”逻辑运算的结果,表示为R=A,同时,在阻变单元R’中得到A’的“复制”逻辑运算的结果,表示为R’=A’。以上所设计的各种逻辑运算及基于基本逻辑计算所实现的复杂逻辑功能都可以运用这种方式并行完成。

部分并行多位全加器

将本发明实现的并行运算与一位全加器相结合可以实现部分并行多位全加器。如图8所示,实现两位全加逻辑一共需要两组6个处在同一字线或位线上的阻变单元,通过复制逻辑将两个加数Ai和Bi以及高一位的两个加数Ai+1和Bi+1对齐,Ci-1为上一位的进位,另外的阻变单元用来存储中间过程的结果和最终的计算结果。

全加运算时,首先Ai和Bi进行“或”运算,将Ai和Bi正端接地,负端接VOR,结果为Ai+Bi保存在阻变单元1-1中,根据电路分析结果,在此激励下Ai+1和Bi+1也进行了进行“或”运算,结果Ai+1+Bi+1保存在阻变单元2-1中;第二步,将Ai、Bi和Ai+Bi进行多输入逻辑操作(Ai+Bi),结果为保存在阻变单元1-1中,将原存储数据覆盖,同样的也同时得到,保存在2-1中;第三步,将Ai+1和Bi+1所连接的字线或位线接1/2VNAND,再将和Ci-1做“与非”逻辑运算,结果保存在阻变单元1-3中;第四步,将Ai+1和Bi+1所连接的字线或位线接1/2VOR,再将和Ci-1做“或”逻辑运算,结果保存在阻变单元1-4中;第五步,Ai和Bi,Ai+1和Bi+1进行“与非”运算,结果保存在阻变单元1-5中,结果保存在阻变单元2-5中;第六步,将Ai+1和Bi+1所连接的字线或位线接1/2VNAND,与进行“与非”运算,结果为Ci保存在原Ci-1的位置;第七步,将Ci通过复制逻辑移到2-1处;第八步,将Ai和Bi所连接的字线或位线接1/2VNAND,再将和Ci做“与非”逻辑运算,结果保存在阻变单元2-3中;第九步,将Ai和Bi所连接的字线或位线接1/2VOR,再将和Ci做“或”逻辑运算,结果保存在阻变单元2-4中;第十步,将Ai和Bi所连接的字线或位线接1/2VNAND,与进行“与非”运算,结果为Ci+1保存在原Ci的位置;第十一步,将Ci-1和Ci和做多输入逻辑运算,结果分别为Si和Si+1,结果保存在阻变单元1-4和2-4中.

多位全加器均可按照这种方法进行步骤简化,n位全加器需要3+4n步能运算完毕。

为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明作进一步的详细说明。

图9为本发明实施例实现8种布尔运算的组合示意图;图10为本发明实施例实现另8种布尔运算的组合示意图。如图9和图10所示,通过对上述实施例中的逻辑运算方法进行组合,最多三步就可以实现16种布尔逻辑计算的任意一种。

以上实施例实现逻辑计算和数据存储一体化,解决现有基于阻变器件逻辑计算时需要大量阻变单元,操作步骤复杂冗长的缺陷,本发明提出了一种基于阻变器件交叉阵列结构的计算-存储一体化的实现方法,通过设计脉冲序列在交叉点阵中施加的位置,阻变单元形成不同的串并结构,实现与非、或、复制3种基本逻辑运算并在此基础上相互组合,实现16种基本布尔逻辑,有效的减少了逻辑运算所需的阻变单元数量和操作步骤。

以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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