本发明属于新型计算技术领域,具体涉及一种单双极混合高效忆阻逻辑电路及其控制方法。
背景技术:
非易失逻辑运算作为一种新型的非冯诺依曼计算架构,能够将计算、存储融合为一体,从根本上解决传统计算机面临的冯诺依曼瓶颈。忆阻器作为第四种基本电路元件,其阻值可以在外部电刺激的作用下在高、低阻态之间发生可逆的转变,当外部电刺激撤去后,其阻值可以非易失地保存在器件内部当中。忆阻器阻态在外界电刺激的作用下发生改变和电刺激撤去后阻态非易失的保持可以分别看作是逻辑操作和信息存储两个过程,因此忆阻器可以天然地应用于实现非易失逻辑,从而在根本上克服冯诺依曼瓶颈,实现新的高能效计算模式。
按照电学操作极性来划分,忆阻器件主要可以分为双极性器件和单极性器件。当前忆阻器应用于非易失逻辑的研究大多数都是基于双极性器件。然而,单极性忆阻器应用于非易失逻辑具有一些双极型器件不可比拟的优势。比如说,单极性忆阻器的开关比很高,并且可以使用二极管作为选择管从而具有极高的集成密度,另外由于只需要一种极性的电压对单极性器件进行操作,可以极大地简化外围控制电路的设计。因此,基于单极性器件的非易失逻辑正在引起越来越广泛的关注。更进一步,如果将双极性忆阻器和单极性忆阻器组合起来,就可以充分结合并利用两者的特点,从而实现更加高效的非易失逻辑。目前,只有少部分研究报道过通过单双极忆阻器组合实现非易失逻辑,但实现的逻辑功能单一,电路可重构性和灵活度低。因此,充分利用单双极忆阻器的特点来构建一种具备高可重构性和高灵活度的高效忆阻逻辑电路显得十分必要和关键。
技术实现要素:
为了解决当前基于忆阻器实现非易失逻辑时低效、功能单一等问题,本发明提供一种单双极混合高效忆阻逻辑电路及其控制方法,能够解决当前利用忆阻器实现非易失逻辑存在的可重构性和灵活度差、效率偏低等问题。
本发明的一个目的在于提出一种单双极混合高效忆阻逻辑电路。
本发明的单双极混合高效忆阻逻辑电路为单元形式或者为阵列形式,其中逻辑电路单元用于实现基本布尔逻辑,逻辑电路阵列用于在此基础上实现更加复杂的逻辑运算功能。
忆阻器包含两个端口;其中,双极性忆阻器具有极性,定义双极型忆阻器的两个端口为正向端和负向端;假设双极性忆阻器初始状态为高阻态,通过在正向端施加正电压v+(该正电压与双极性忆阻器由高阻态转变为低阻态阈值电压vset,bipolar满足:v+>vset,bipolar)、负向端接地,或通过在负向端施加负电压v-(该负电压与双极性忆阻器由高阻态转变为低阻态阈值电压vset,bipolar满足:v-<-vset,bipolar)、正向端接地,能够使忆阻器由高阻态转变为低阻态;由于单极性忆阻器没有极性,所以单极性忆阻器的两个端口在进行电学操作时是等价的,在这里不作区分;在进行逻辑操作时,忆阻器的两个端口分别连接字线和位线。
本发明的单双极混合高效忆阻逻辑电路单元包括:第一至第三双极性忆阻器和单极性忆阻器;第一双极性忆阻器、第二双极性忆阻器和单极性忆阻器构成逻辑运算单元,单极性忆阻器和第三双极性忆阻器构成逻辑级联单元;对于逻辑运算单元,第一和第二双极性忆阻器的第一端与单极性忆阻器的第一端相连构成星型电路结构;逻辑运算时,第一双极性忆阻器的第二端作为第一操作电压输入端,与第一线相连;第二双极性忆阻器的第二端作为第二操作电压输入端,与第二线相连;单极性忆阻器的第二端作为接地电压输入端,与第三线相连;第一双极性忆阻器的第一端、第二双极性忆阻器的第一端和单极性忆阻器的第一端连接至第五线;对于逻辑级联单元,单极性忆阻器的第一端与第三双极性忆阻器的第一端相连构成串联电路结构;对于逻辑级联单元,第三双极性忆阻器的第二端作为级联电压输入端,与第四线相连;单极性忆阻器的第二端作为接地电压输入端,与第三线相连;第三双极性忆阻器的第一端和单极性忆阻器的第一端连接至第五线;定义电路中忆阻器的高阻态和低阻态分别为逻辑“1”和“0”;在逻辑操作前先进行单元初始化操作,其中单极性忆阻器初始化为低阻态,第三双极性忆阻器初始化为高阻态;初始化后执行逻辑运算时,第一和第二双极性忆阻器的阻值分别作为输入逻辑变量p和q,第一和第二线分别连接第一和第二操作电压,第三线接地,施加电压后由于分压作用对单极性忆阻器的阻值产生影响,将单极性忆阻器的最终阻值作为逻辑输出值;逻辑运算完成之后,撤去施加在第一至第三线上的电压,由于单极性忆阻器具有非易失性,电压撤去之后,逻辑输出值能够以电阻的形式长期保存在单极性忆阻器中;当单极性忆阻器的输出值需要用作输入变量时,第三线接地,第四线连接级联电压,通过第四线向第三双极性忆阻器施加级联电压,将单极性忆阻器的阻值转移至第三双极性忆阻器中,完成逻辑级联功能;通过控制第一和第二操作电压的不同状态,从而实现多种布尔逻辑功能。
第一至第四线为字线或位线;如果第一至第四线为字线,第五线为位线,则双极性忆阻器的正向端作为第二端,负向端作为第一端,执行行操作;如果第一至第四线为位线,第五线为字线,则双极性忆阻器的负向端作为第二端,正向端作为第一端,执行列操作。
通过控制第一和第二操作电压的不同状态,并且在单极性忆阻器由高阻态转变为低阻态的阈值电压vset,unipolar、双极性忆阻器由高阻态转变为低阻态的阈值电压vset,bipolar、单极性忆阻器由低阻态转变为高阻态的阈值电压vreset,unipolar和双极性忆阻器由低阻态转变为高阻态的阈值电压vreset,bipolar满足相应条件时,实现异或xor、与非nand、或非nor、反负实质蕴涵rnimp、负实质蕴涵nimp、非p和非q的逻辑功能。
第一至第四线为字线,第五线为位线,双极性忆阻器的正向端作为第二端,负向端作为第一端,执行行操作:
当第一操作电压为-v且第二操作电压为v,v=2|vresetunipolar|,并满足|vsetbipolar|>4|vresetunipolar|,|vresetbipolar|>2|vresetunipolar|,|vsetunipolar|>2|vresetunipolar|时,实现异或逻辑功能;
当第一操作电压为v且第二操作电压为v,v=2|vresetunipolar|,并满足|vsetbipolar|>2|vresetunipolar|,|vsetunipolar|>2|vresetunipolar|时,实现与非逻辑功能;
当第一操作电压为v且第二操作电压为v,
当第一操作电压为v且第二操作电压为0,v=2|vresetunipolar|,并满足|vsetbipolar|>2|vresetunipolar|,
当第一操作电压为0且第二操作电压为v,v=2|vresetunipolar|,并满足|vsetbipolar|>2|vresetunipolar|,
当第一操作电压为v且第二操作电压为浮置,v=2|vresetunipolar|,并满足|vsetbipolar|>2|vresetunipolar|,|vsetunipolar|>2|vresetunipolar|时,实现非p逻辑功能;
当第一操作电压为浮置且第二操作电压为v,v=2|vresetunipolar|,并满足|vsetbipolar|>2|vresetunipolar|,|vsetunipolar|>2|vresetunipolar|时,实现非q逻辑功能;
逻辑级联时,单极性忆阻器由高阻态转变为低阻态的阈值电压vset,unipolar、双极性忆阻器由高阻态转变为低阻态的阈值电压vset,bipolar、级联电压vcascade满足:|vset,bipolar|≈|vset,unipolar|,并且|vset,bipolar|<vcascade<2|vset,bipolar|。
第一至第四线为位线,第五线为字线,双极性忆阻器的负向端作为第二端,正向端作为第一端,执行列操作:
当第一操作电压为v且第二操作电压为-v,v=2|vresetunipolar|,并满足|vsetbipolar|>4|vresetunipolar|,|vresetbipolar|>2|vresetunipolar|,|vsetunipolar|>2|vresetunipolar|时,实现异或逻辑功能;
当第一操作电压为-v且第二操作电压为-v,v=2|vresetunipolar|,并满足|vsetbipolar|>2|vresetunipolar|,|vsetunipolar|>2|vresetunipolar|时,实现与非逻辑功能;
当第一操作电压为-v且第二操作电压为-v,
当第一操作电压为-v且第二操作电压为0,v=2|vresetunipolar|,并满足|vsetbipolar|>2|vresetunipolar|,
当第一操作电压为0且第二操作电压为-v,v=2|vresetunipolar|,并满足|vsetbipolar|>2|vresetunipolar|,
当第一操作电压为-v且第二操作电压为浮置,v=2|vresetunipolar|,并满足|vsetbipolar|>2|vresetunipolar|,|vsetunipolar|>2|vresetunipolar|时,实现非p逻辑功能;
当第一操作电压为浮置且第二操作电压为-v,v=2|vresetunipolar|,并满足|vsetbipolar|>2|vresetunipolar|,|vsetunipolar|>2|vresetunipolar|时,实现非q逻辑功能;
逻辑级联时,单极性忆阻器由高阻态转变为低阻态的阈值电压vset,unipolar、双极性忆阻器由高阻态转变为低阻态的阈值电压vset,bipolar、级联电压-vcascade满足:|vset,bipolar|≈|vset,unipolar|,并且|-2vset,bipolar|<-vcascade<-|vset,bipolar|。
本发明的单双极混合高效忆阻逻辑电路阵列包括:由双极性结构和单极性结构组成的m×n阵列;其中,双极性结构采用一个晶体管串联一个双极性忆阻器的1t1r结构,双极性忆阻器的负向端为第一端,正向端为第二端,单极性结构采用一个晶体管串联一个单极性忆阻器的1t1r结构;阵列中具有双极性结构m×n阵列,m和n均为自然数,对于两输入变量的逻辑运算,m和n至少有一个≥2,m<m,n<n,其余均为单极性结构;如果1≤i≤m,在第i行中,第一至第n双极性结构的第二端分别连接至第一至第n字线;第一至第n双极性结构的第一端分别连接至第i位线;在第i行中,第n+1至第n单极性结构的第一端分别连接至第i位线,第二端分别连接至第n+1至第n字线;如果m+1≤i≤m,在第i行中,第一至第n单极性结构的第一端分别连接至第i位线,第二端分别连接至第1至第n字线;对于n≥2,满足执行行操作的条件,执行行操作时:定义电路中忆阻器的高阻态和低阻态分别为逻辑“1”和“0”;选择第一至第n列中的第k列和第l列为逻辑运算列,1≤k≤n,1≤l≤n,以及在第n+1至第n列中选择第r列作为逻辑输出列,n+1≤r≤n,并且选择需要执行逻辑运算的行;在逻辑操作前先进行初始化操作,其中单极性忆阻器初始化为低阻态,除第k列和第l列中代表逻辑输入变量之外的双极性忆阻器初始化为高阻态;初始化后执行逻辑运算时,第k列和第l列的双极性忆阻器的阻值分别作为输入逻辑变量p和q,通过控制第k字线和第l字线分别连接至第一和第二操作电压,并且将第r字线接地,除第k字线和第l字线之外的其它字线浮置,并将所有位线浮置,需要执行逻辑运算的行的双极性结构和单极性结构中的晶体管打开,其余晶体管关闭;施加电压后由于分压作用对单极性忆阻器的阻值的产生影响,将单极性忆阻器的最终阻值作为逻辑输出值;逻辑运算完成之后,撤去施加在第k、第l和第r字线的电压,由于单极性忆阻器具有非易失性,电压撤去之后,逻辑输出值能够以电阻的形式长期保存在第r字线的单极性忆阻器中;当第r字线的单极性忆阻器的输出值需要用作输入变量时,第r字线接地,选择第t字线连接级联电压,1≤t≤n,通过第t列双极性忆阻器施加级联电压,将第r列单极性忆阻器的阻值转移至第t列双极性忆阻器中,完成逻辑级联功能;对于m≥2,满足执行列操作的条件,执行列操作时:定义电路中忆阻器的高阻态和低阻态分别为逻辑“1”和“0”;选择第一至第m行中的第u行和第v行为逻辑运算列,1≤u≤m,1≤v≤m,以及在第m+1至第m行中选择第w行作为逻辑输出列,m+1≤w≤m,并且选择需要执行逻辑运算的列;在逻辑操作前先进行初始化操作,其中单极性忆阻器初始化为低阻态,除第u行和第v行中代表逻辑输入变量之外的双极性忆阻器初始化为高阻态;初始化后执行逻辑运算时,第u行和第v行的双极性忆阻器的阻值分别作为输入逻辑变量p和q,通过控制第u位线和第v位线分别连接至第一和第二操作电压,并且将第w位线接地,除第u位线和第v位线之外的其它位线浮置,并将所有字线浮置,需要执行逻辑运算的列的双极性结构和单极性结构中的晶体管打开,其余晶体管关闭;施加电压后由于分压作用对单极性忆阻器的阻值的产生影响,将单极性忆阻器的最终阻值作为逻辑输出值;逻辑运算完成之后,撤去施加在第u、第v和第w位线的电压,由于单极性忆阻器具有非易失性,电压撤去之后,逻辑输出值能够以电阻的形式长期保存在第w位线的单极性忆阻器中;当第w位线的单极性忆阻器的输出值需要用作输入变量时,第w位线接地,选择第s位线连接级联电压,1≤s≤m,通过第s行双极性忆阻器施加级联电压,将第w行单极性忆阻器的阻值转移至第s行双极性忆阻器中,完成逻辑级联功能;通过控制第一和第二操作电压的不同状态,从而实现多种布尔逻辑功能,具有很高的可重构性。
同样,单双极混合高效忆阻逻辑电路阵列,通过控制第一和第二操作电压的不同状态,并且在单极性忆阻器由高阻态转变为低阻态的阈值电压vset,unipolar、双极性忆阻器由高阻态转变为低阻态的阈值电压vset,bipolar、单极性忆阻器由低阻态转变为高阻态的阈值电压vreset,unipolar和双极性忆阻器由低阻态转变为高阻态的阈值电压vreset,bipolar满足相应条件时,实现异或xor、与非nand、或非nor、反负实质蕴涵rnimp、负实质蕴涵nimp、非p和非q的逻辑功能。
本发明的另一个目的在于提供一种单双极混合高效忆阻逻辑电路的控制方法。
本发明的单双极混合高效忆阻逻辑电路的控制方法,包括对电路单元的控制方法以及对电路阵列的控制方法。
本发明的单双极混合高效忆阻逻辑电路单元的控制方法,包括以下步骤:
1)定义电路中忆阻器的高阻态和低阻态分别为逻辑“1”和“0”,对电路单元初始化;
2)逻辑运算:
a)第一和第二双极性忆阻器的阻值分别作为输入逻辑变量p和q;
b)第一和第二线分别连接第一和第二操作电压,第三线接地,从而第一和第二双极性忆阻器与单极性忆阻器构成星型电路结构,作为逻辑运算单元;
c)施加电压后由于分压作用对单极性忆阻器的阻值产生影响,将单极性忆阻器的最终阻值作为逻辑输出值;
3)逻辑运算完成之后,撤去施加在第一至第三线上的电压,由于单极性忆阻器具有非易失性,电压撤去之后,逻辑输出值能够以电阻的形式长期保存在单极性忆阻器中;
4)逻辑级联:
a)当单极性忆阻器的输出值需要用作输入变量时,第三线接地,第四线连接级联电压,单极性忆阻器与第三双极性忆阻器构成逻辑级联单元;
b)通过第四线向第三双极性忆阻器施加级联电压,将单极性忆阻器的阻值转移至第三双极性忆阻器中,完成逻辑级联功能;
5)通过控制第一和第二操作电压的不同状态,从而实现多种布尔逻辑功能。
其中,第一至第四线为字线或位线;如果第一至第四线为字线,第五线为位线,执行行操作;如果第一至第四线为位线,第五线为字线,执行列操作。
在步骤1)中,为了保证实现正确的逻辑功能,需要先对电路单元进行初始化的操作,将用作逻辑输出的单极性忆阻器置为低阻态,用作逻辑级联的第三双极性忆阻器置为高阻态。
在步骤3)中,为了确保逻辑级联的正确性,执行行操作时,级联电压为vcascade,单极性忆阻器由高阻态转变为低阻态的阈值电压vset,unipolar、双极性忆阻器由高阻态转变为低阻态的阈值电压vset,bipolar、级联电压vcascade满足:|vset,bipolar|≈|vset,unipolar|,并且|vset,bipolar|<vcascade<2|vset,bipolar|;执行列操作时,级联电压为-vcascade,单极性忆阻器由高阻态转变为低阻态的阈值电压vset,unipolar、双极性忆阻器由高阻态转变为低阻态的阈值电压vset,bipolar、级联电压-vcascade满足:|vset,bipolar|≈|vset,unipolar|,并且-2|vset,bipolar|<-vcascade<-|vset,bipolar|。
本发明的单双极混合高效忆阻逻辑电路阵列的控制方法,对于n≥2,选择行操作,对于m≥2,选择列操作。
本发明的单双极混合高效忆阻逻辑电路阵列的控制方法,n≥2,满足执行行操作的条件,执行行操作时,包括以下步骤:
1)选择第一至第n列中的第k列和第l列为逻辑运算列,1≤k≤n,1≤l≤n,以及在第n+1至第n列中选择第r列作为逻辑输出列,n+1≤r≤n,并且选择需要执行逻辑运算的行;
2)定义电路中忆阻器的高阻态和低阻态分别为逻辑“1”和“0”,对电路单元初始化;
3)逻辑运算:
a)第k列和第l列的双极性忆阻器的阻值分别作为输入逻辑变量p和q;
b)通过控制第k字线和第l字线分别连接至第一和第二操作电压,并且将第r字线接地,除第k字线和第l字线之外的其它字线浮置,并将所有位线浮置,需要执行逻辑运算的行的双极性结构和单极性结构中的晶体管打开,其余晶体管关闭;
c)施加电压后由于分压作用对单极性忆阻器的阻值的产生影响,将单极性忆阻器的最终阻值作为逻辑输出值;
4)逻辑运算完成之后,撤去施加在第k、第l和第r字线的电压,由于单极性忆阻器具有非易失性,电压撤去之后,逻辑输出值能够以电阻的形式长期保存在第r字线的单极性忆阻器中;
5)逻辑级联:
a)当第r字线的单极性忆阻器的输出值需要用作输入变量时,第r字线接地,选择第t字线连接级联电压vcascade,1≤t≤n;
b)通过第t列双极性忆阻器施加级联电压vcascade,将第r列单极性忆阻器的阻值转移至第t列双极性忆阻器中,完成逻辑级联功能。
其中,在步骤2)中,单极性忆阻器初始化为低阻态,除第k列和第l列中代表逻辑输入变量之外的双极性忆阻器初始化为高阻态。
在步骤5)中,为了确保逻辑级联的正确性,单极性忆阻器由高阻态转变为低阻态的阈值电压vset,unipolar、双极性忆阻器由高阻态转变为低阻态的阈值电压vset,bipolar和级联电压vcascade满足:|vset,bipolar|≈|vset,unipolar|,并且|vset,bipolar|<vcascade<2|vset,bipolar|。
本发明的单双极混合高效忆阻逻辑电路阵列的控制方法,m≥2,满足执行列操作的条件,执行列操作时,包括以下步骤:
1)选择第一至第m行中的第u行和第v行为逻辑运算列,1≤u≤m,1≤v≤m,以及在第m+1至第m行中选择第w行作为逻辑输出列,m+1≤w≤m,并且选择需要执行逻辑运算的列;
2)定义电路中忆阻器的高阻态和低阻态分别为逻辑“1”和“0”,对电路单元初始化;
3)逻辑运算:
a)第u行和第v行的双极性忆阻器的阻值分别作为输入逻辑变量p和q;
b)通过控制第u位线和第v位线分别连接至第一和第二操作电压,并且将第w位线接地,除第u位线和第v位线之外的其它位线浮置,并将所有字线浮置,需要执行逻辑运算的列的双极性结构和单极性结构中的晶体管打开,其余晶体管关闭;
c)施加电压后由于分压作用对单极性忆阻器的阻值的产生影响,将单极性忆阻器的最终阻值作为逻辑输出值;
4)逻辑运算完成之后,撤去施加在第u、第v和第w位线的电压,由于单极性忆阻器具有非易失性,电压撤去之后,逻辑输出值能够以电阻的形式长期保存在第w位线的单极性忆阻器中;
5)逻辑级联:
a)当第w位线的单极性忆阻器的输出值需要用作输入变量时,第w位线接地,选择第s位线连接级联电压-vcascade,1≤s≤m;
b)通过第s行双极性忆阻器施加级联电压-vcascade,将第w行单极性忆阻器的阻值转移至第s行双极性忆阻器中,完成逻辑级联功能。
其中,在步骤2)中,单极性忆阻器初始化为低阻态,除第u行和第v行的双极性忆阻器初始化为高阻态。
在步骤3)中,执行列操作时,第一操作电压和第二操作电压是行操作时第一操作电压和第二操作电压的相反数。
在步骤5)中,执行列操作时,级联电压是行操作时级联电压的相反数。单极性忆阻器由高阻态转变为低阻态的阈值电压vset,unipolar、双极性忆阻器由高阻态转变为低阻态的阈值电压vset,bipolar和级联电压-vcascade满足:|vset,bipolar|≈|vset,unipolar|,并且-2|vset,bipolar|<-vcascade<-|vset,bipolar|
本发明的优点:
本发明提供一种基于单双极混合的非易失忆阻逻辑电路,通过构建混合忆阻逻辑单元可以在同一单元实现多种布尔逻辑功能,且每一种布尔逻辑仅需一步逻辑操作即可完成;通过扩展混合忆阻逻辑单元进一步构建混合忆阻逻辑阵列,从而实现更加复杂的逻辑功能;该混合忆阻逻辑阵列由单极性结构包围双极性结构构成,在利用混合忆阻阵列实现逻辑功能时,可以根据实际情况同时在多行或多列之间实现并行运算,操作更加灵活、高效;另外,只需一步初始化操作就可以在同一阵列当中实现多种不同逻辑功能的转换,具备很高的逻辑功能可重构性;这种混合忆阻阵列在实验上是可以制备的,只需要选取不同的顶电极材料分别构建单极性忆阻阵列和双极性忆阻阵列即可;综合所需的逻辑操作步骤和所需的器件数目来看,与其它典型的基于忆阻器实现非易失逻辑的方法(imply、magic等)相比,利用本发明提出的单双极混合忆阻电路实现非易失逻辑具有较大的优势,因此可以作为实现高效可重构非易失逻辑的通用方法。
附图说明
图1为本发明的单双极混合高效忆阻逻辑电路单元的一个实施例实现行操作的示意图;
图2为本发明的单双极混合高效忆阻逻辑电路单元的一个实施例实现列操作的示意图;
图3为本发明的单双极混合高效忆阻逻辑电路阵列的一个实施例的示意图;
图4为本发明的单双极混合高效忆阻逻辑电路单元基于行操作的一个实施例的对于实现基本布尔逻辑操作的仿真结果图,其中,(a)为实现xor的仿真结果图,(b)为实现nand的仿真结果图;
图5为本发明的单双极混合高效忆阻逻辑电路阵列的一个实施例实现1位二进制全加器时逻辑运算的流程图,其中,(a)~(f)分别为每一步具体流程图;
图6为本发明的单双极混合高效忆阻逻辑电路阵列的一个实施例实现2位二进制全加器时逻辑运算的示意图;
图7为本发明的单双极混合高效忆阻逻辑电路阵列的一个实施例实现奇偶校验时逻辑运算的示意图;
图8为本发明的单双极混合高效忆阻逻辑电路阵列的一个实施例实现具备逻辑功能可重构性的示意图。
具体实施方式
下面结合附图,通过具体实施例,进一步阐述本发明。
实施例一
执行行操作时,定义忆阻器与位线相连的一端称为第一端,与字线相连的一端称为第二端,双极性忆阻器的正向端作为第二端,负向端作为第一端,第一至第三双极性忆阻器和一个单极性忆阻器的第一端连接同一位线。
如图1所示,本实施例实现行操作的单双极混合高效忆阻逻辑电路单元包括:第一至第三双极性忆阻器和单极性忆阻器;其中,第一和第二双极性忆阻器in1和in2的第二端分别作为第一和第二操作电压输入端;第一和第二双极性忆阻器in1和in2的第一端连接至单极性忆阻器o的第一端,从而第一和第二双极性忆阻器in1和in2与单极性忆阻器o构成星型电路结构;单极性忆阻器o的第一端连接至第三双极性忆阻器c的第一端,从而单极性忆阻器o与第三双极性忆阻器c串联;第一和第二双极性忆阻器in1和in2的第二端分别连接第一和第二字线wl1和wl2;第一和第二双极性忆阻器in1和in2的第一端连接至位线bl;单极性忆阻器o的第一端连接至位线bl,第二端连接至第三字线wl3;第三双极性忆阻器c的第一端连接至位线bl,第二端连接至第四字线wl4;第一和第二双极性忆阻器与单极性忆阻器构成逻辑运算单元,单极性忆阻器与第三双极性忆阻器构成逻辑级联单元。
实施例二
执行列操作时,定义正向端作为第一端,忆阻器与字线相连的一端称为第一端,与位线相连的一端称为第二端,双极性忆阻器的负向端作为第二端,第一至第三双极性忆阻器和一个单极性忆阻器的第一端连接同一字线。
如图2所示,本实施例实现列操作的单双极混合高效忆阻逻辑电路单元包括:第一至第三双极性忆阻器和单极性忆阻器;其中,第一和第二双极性忆阻器in1和in2的第二端分别作为第一和第二操作电压输入端;第一和第二双极性忆阻器in1和in2的第一端连接至单极性忆阻器o的第一端,从而第一和第二双极性忆阻器in1和in2与单极性忆阻器o构成星型电路结构;单极性忆阻器o的第一端连接至第三双极性忆阻器c的第一端,从而单极性忆阻器o与第三双极性忆阻器c串联;第一和第二双极性忆阻器in1和in2的第二端分别连接第一和第二位线bl1和bl2;第一和第二双极性忆阻器in1和in2的第一端连接至字线wl;单极性忆阻器o的第一端连接至字线wl,第二端连接至第三位线bl3;第三双极性忆阻器c的第一端连接至字线wl,第二端连接至第四位线bl4;第一和第二双极性忆阻器与单极性忆阻器构成逻辑运算单元,单极性忆阻器与第三双极性忆阻器构成逻辑级联单元。
实施例三
如图3所示,本实施例的单双极混合高效忆阻逻辑电路阵列包括:由双极性结构和单极性结构组成的3×8阵列;其中,双极性结构采用一个晶体管串联一个双极性忆阻器的1t1r结构,单极性结构采用一个晶体管串联一个单极性忆阻器的1t1r结构;阵列中具有双极性结构2×5阵列,其余均为单极性结构;在第一和第二行中,第一至第五双极性结构的第二端(正向端)分别连接至第一至第五字线wl1~wl5;第一和第二行的第一至第五双极性结构的第一端(正向端)分别连接至第一和第二位线bl1和bl2;第一和第二行的第六至第八单极性结构的第一端分别连接至第一和第二位线bl1和bl2,第二端分别连接至第六至第八字线;在第三行中,第一至第八单极性结构的第一端分别连接至第三位线,第二端分别连接至第一至第八字线。
实施例四
图4中,(a)和(b)分别给出了实施例一中混合忆阻逻辑单元基于行操作实现xor和nand时对用于输出的单极性忆阻器的仿真结果,针对四种输入情况,仿真给出了逻辑运算前与逻辑运算后流过单极性忆阻器的读取电流。读取电流反映了器件的电阻状态:相对高的读取电流表示lrs(逻辑“0”),相对低的读取电流表示hrs(逻辑“1”)。
实施例一的单双极混合高效忆阻逻辑电路单元实现行操作的控制方法,包括以下步骤:
1)初始化:
将用作逻辑输出的单极性忆阻器置为低阻态(wl3:vset,unipolar,bl:接地),用作逻辑级联的双极性忆阻器置为高阻态(wl4:vreset,bipolar,bl:接地),这与图4中单极性忆阻器在初始化后、逻辑运算前相对高的读取电流lrs相对应。
2)逻辑运算(logicoperation):
逻辑运算在图1中的逻辑运算单元中实现。按照表1给出的信息,执行xor逻辑时,需要在wl1端施加电压-v,wl2端施加电压v,此时使wl3接地并且bl保持浮置。如果输入变量p和q相同(p=0,q=0或p=1,q=1),用作输出的单极性忆阻器件的电阻将保持lrs(逻辑“0”)。只有当输入变量p和q是不同的值(p=0,q=1或p=1,q=0)时,用作输出的单极性忆阻器的电阻才会从lrs(逻辑“0”)变为hrs(逻辑“1”)。实现xor逻辑时,器件电压需要满足以下关系:
|vset,bipolar|>4|vreset,unipolar|(1)
|vreset,bipolar|>2|vreset,unipolar|(2)
|vset,unipolar|>2|vreset,unipolar|(3)
实现nand逻辑时,在wl1端和wl2端同时施加电压v,此时使wl3接地并且bl保持浮置。只有当p=1,q=1时,用作输出的单极性忆阻器的电阻才会保持lrs(逻辑“0”)。否则,用作输出的单极性忆阻器的初始lrs(逻辑“0”)将变为hrs(逻辑“1”)。
实现nand逻辑时,器件电压需要满足以下关系:
|vset,bipolar|>2|vreset,unipolar|(4)
|vset,unipolar|>2|vreset,unipolar|(5)
实现表1中其它布尔逻辑时也可以按照同样的模式进行操作,每一种布尔逻辑都只需要一步即可完成。最终的逻辑运算结果以阻态的形式原位地保存在相应的单极性忆阻器当中,用时只需要施加读取电压读出即可。
3)逻辑级联(logiccascade):
如果需要将存储在单极性忆阻器中的逻辑运算结果继续用于下一步逻辑运算的输入,需要通过图1中的逻辑级联单元将用于输出的单极性器件的阻值转移到用于输入的双极性忆阻器当中。级联单元由双极性忆阻器和单极性器件串联构成,在级联操作时,将级联电压vcascade施加到wl4,而将wl3接地。
表1
实施例五
通过1位二进制全加器来举例说明基于混合忆阻逻辑阵列实现复杂逻辑功能的方法。
1)基于忆阻混合阵列实现1位二进制全加器。对于1位全加器来说,3个输入变量分别为加数a、被加数b和来自低位的进位ci,2个输出变量分别为本位和s以及向高位的进位co。基于xor和nand逻辑的表达式可以写成如下形式:
从表1可以看出,xor逻辑对于电压的要求最高,因此只要满足xor逻辑对于电压的要求即满足式(1)(2)(3),就可以同时实现表1中的所有布尔逻辑功能。综合逻辑级联和xor对电压的要求,得到总的电压要求:
|vset,bipolar|≈|vset,unipolar|>4|vreset,unipolar|(8)
|vreset,bipolar|>2|vreset,unipolar|(9)
1位二进制全加器需要的1t1r阵列规模为3×8,表2给出了具体的逻辑操作步骤,图5给出了表2中6步逻辑运算的具体过程,可以看出,在整个逻辑运算过程中,既可以横向、多行并行操作,也可以纵向、多列并行操作,有利于节省逻辑操作步骤,具有很高的灵活度和运算效率。利用本发明提出的混合忆阻阵列,只需要13个器件、6步逻辑运算(不包括初始化)就可以实现1位二进制全加器的功能。
表2
实施例六
基于忆阻混合阵列实现2位二进制全加器。对于2位全加器来说,5个输入变量分别为加数a1,a0、被加数b1,b0和来自低位的进位ci,3个输出变量分别为本位和s1,s0以及向高位的进位co。基于xor和nand逻辑的表达式可以写成如下形式:
逻辑操作同样需要满足式(8)(9),2位二进制全加器需要的1t1r阵列规模为5×11,表3给出了具体的逻辑操作步骤,图6给出了表3中14步逻辑运算的过程。标注相同数字和颜色的用于输出的单极性忆阻器或用于级联的双极性忆阻器可以在同一步并行操作。需要特别指出的是,为了节省使用的器件数目,这里位于wl5,bl1的双极性忆阻器先后被用于实现
表3
实施例七
基于忆阻混合阵列实现奇偶校验。奇偶校验在错误检测和计算数据校正中发挥着重要的作用。校验码生成和奇偶校验可以全部在规模为3×12的1t1r阵列中完成。这里,a3a2a1a0代表传输之前的4位二进制代码。表4展示出了奇校验码生成和奇偶校验的逻辑过程,图7则给出了表4中逻辑运算的具体步骤。在逻辑运算过程中,奇校验码c可表示为:
a′3a′2a′1a′0代表传输之后得到的4位二进制代码,将a′3a′2a′1a′0按位进行xor运算,得到:
最后,通过xor运算
表4
实施例八
本发明提出的单双极忆阻逻辑阵列在逻辑功能实现上具有高度的可重构性。例如,在一个规模为5×13的1t1r阵列中,只需要1个初始化的步骤就可以实现2位二进制全加器和奇偶校验功能的转换。在图8中,被实线包围的区域表示实现2位全加器所需要的区域,而由虚线围绕的区域表示执行奇偶校验功能所需的区域。
与其它基于忆阻器的非易失逻辑实现方法相比,本发明提出的单双极混合忆阻逻辑电路具备更高的效率和灵活度,为高效可重构非易失逻辑实现提供了新的技术方案。
最后需要注意的是,公布实施例的目的在于帮助进一步理解本发明,但是本领域的技术人员可以理解:在不脱离本发明及所附的权利要求的精神和范围内,各种替换和修改都是可能的。因此,本发明不应局限于实施例所公开的内容,本发明要求保护的范围以权利要求书界定的范围为准。