一种具有三输入与逻辑功能的忆阻器逻辑电路的制作方法

文档序号:13423615阅读:793来源:国知局
一种具有三输入与逻辑功能的忆阻器逻辑电路的制作方法

本发明涉及逻辑电阻忆阻器,特别涉及一种具有三输入与逻辑功能的忆阻器逻辑电路。



背景技术:

忆阻器,全称记忆电阻,是一种有记忆功能的非线性电阻,通过控制电流的变化可以改变其阻值。例如,定义忆阻器为高阻态即hrs时为逻辑“0”,当忆阻器为低阻态即lrs时为逻辑“1”。在传统的逻辑电路中,要实现具有记忆功能的三输入与逻辑电路,需要8个cmos晶体管实现与逻辑运算和一个触发器实现信息存储。这种传统的逻辑器件不仅不易于集成还需要进行存储操作,且这种存储是易失性。而本技术只需要一个忆阻器、三个模拟开关、一个按键开关、三个运算放大器以及若干电阻实现与逻辑。这种技术不仅易于集成,而且逻辑直接存储在忆阻器中,这种存储是非易失性的。



技术实现要素:

本发明的目的在于提供一种具有三输入与逻辑功能的忆阻器逻辑电路,使得三输入逻辑电路可重构,不需要额外的存储电路,且存储在忆阻器的逻辑是非易失性的。

为解决上述技术问题,本发明的实施方式提供了一种具有三输入与逻辑功能的忆阻器逻辑电路,其特征在于,包含:三个模拟开关s1(13)、s2(14)、s3(15),一个按键开关set(4),直流电压源v1、v2,三个运算放大器t1(5)、t2(6)、t3(7),一个忆阻器m1(8)以及若干电阻组成;输入端vin(1)作为模拟开关s1(13)的控制信号,当输入端vin1(1)为逻辑“1”的时候电压源v1与电阻r1(9)形成通路,vin1(1)为逻辑“0”的时候电阻r1(9)与电压源v1断开;输入端vin2(2)作为模拟开关s2(14)的控制信号,当输入端vin2(2)为逻辑“1”的时候电压源v1与电阻r2(10)形成通路,vin2(2)为逻辑“0”的时候电阻r2(10)与电压源v1断开;输入端vin3(3)作为模拟开关s3(15)的控制信号,当输入端vin3(3)为逻辑“1”的时候运算放大器t1(5)的输出端与电阻r3(11)形成通路,vin3(3)为逻辑“0”电阻r3(11)与运算放大器t1(5)的输出端断开;按键开关set(4)闭合时,电压源v2与电阻r4(12)相连,当按键开关set(4)断开时,电压源v2与电阻r4(12)不相连即无电压输入到运算放大器t3(7)负极输入端;忆阻器m1(8)的正极与运算放大器t2(6)输出端相连,忆阻器m1(8)的负极与运算放大器t3(7)的输出端相连。通过三个逻辑操作步骤,一个忆阻器、三个模拟开关、一个按键开关、三个运算放大器与若干电阻实现三输入与逻辑功能。本发明的电路具有可重构性、存储非易失性。本发明相对于现有技术而言,通过忆阻器有着记忆功能的非线性电阻特性,从而实现其逻辑结果可以直接存储在忆阻器上,这种存储是非易失性的。

还可以通过三个模拟开关与一个按键开关控制实现忆阻器的正向或反向写入以及加在忆阻器两端电压大小,达到将忆阻器置“0”或“1”的目的。

另外,当输入端vin1(1)、输入端vin2(2)、输入端vin3(3)输入逻辑同时为“1”时,按键开关set(4)断开时,逻辑电路中给予忆阻器的电压的绝对值总是大于它的阈值电压,可以将忆阻器m1(8)设定为低阻态;当按键开关set(4)断开时,输入端vin1(1)、输入端vin2(2)输入逻辑不同时为1时或vin3(3)为“0”的时候,逻辑电路中给予忆阻器m1(8)的电压的绝对值总是小于它的阈值电压,并不会改变忆阻器的阻值大小。当按键开关set(4)闭合时,输入端vin1(1)与输入端vin2(2)输入逻辑同时为“0”或者输入端vin3(3)输入逻辑为“0”时候,忆阻器m1(8)设定为高阻态即逻辑“0”。

与传统的三输入与逻辑功能的逻辑电路相比,本发明具有可重构、存储非易失性等特点。

附图说明

图1是传统具有三输入与逻辑功能的电路图,

图2是本发明的逻辑电路,

图3是实施例h-spice电路仿真结果图。

其中1---输入端vin1,2---输入端vin2,3---输入端vin3,4---输入端set,5---运算放大器t1,6---运算放大器t2,7---运算放大器t3,8---忆阻器m1,9---电阻r1,10---电阻r2,11---电阻r3,12---电阻r4

13---模拟开关s1,14---模拟开关s2,15---模拟开关s3

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明的各实施方式进行详细的阐述。然而,本领域的普通技术人员可以理解,在本发明各实施方式中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本申请各权利要求所要求保护的技术方案。

本发明的第一实施方式涉及一种具有三输入与逻辑功能的忆阻器逻辑电路。具体流程如图2,3所示。

图2中,电阻r1、r2、r3、r4、r6、r7、r8、r9都取相同的阻值,r5的阻值只取r1阻值的一半。输入端vin1(1),vin2(2)与vin3(3)为三个输入变量:vin1与vin2是否为逻辑“1”或“0”来决定给予运算放大器t1(5)的输出电压值。

当vin1(1)与vin2(2)同时为1时,运算放大器t1(5)输出电压的绝对值超过阈值电压即|vsum|>|vth|;vin3(3)信号是控制vsum是否能够成功加到忆阻器m1(8)的关键,当vin3(3)为逻辑“1”的时候,运算放大器t1(5)的输出电压可以通过运算放大器t2(6)加到忆阻器上,当vin3(3)为逻辑“0”的时候,运算放大器t1(5)的输出电压不可以通过运算放大器t2(6)加到忆阻器上。完成这个逻辑功能,需要三个逻辑操作步骤:

1.将忆阻器置“0”(高阻态)或者“1”(低阻态)。为了实现三输入与逻辑,这里要将忆阻器置成“0”(高阻态),可以通过vin1(1)为“0”,vin2(2)为输入逻辑“0”,vin3(3)输入逻辑为“0”,按键开关set(4)处于闭合状态即正向电压加在忆阻器的负极上从而使忆阻器置为高阻态“0”

2.写入数据,将按键开关set(4)断开,vin1(1)、vin2(2)、vin3(3)作为三变量,输出忆阻器的电阻逻辑,且存储在忆阻器中。当vin1(1)、vin2(2)输入逻辑同时为“1”时候,|vsum|>|vth|,若vin3(3)此时为“1”,运算放大器t2(5)的输出电压可以加到忆阻器上,将忆阻器从“0”(高阻态)置为“1”(低阻态);当vin1(1)、vin2(2)输入逻辑同时为“1”时候,|vsum|>|vth|,若vin3(3)输入逻辑此时为“0”,运算放大器t2(5)的输出电压不可以加到忆阻器上,忆阻器不会改变状态,此时忆阻器阻值状态为“0”(高阻态);当vin1(1)、vin2(2)不同时为“1”时候,|vsum|>|vth|,不管vin3(3)此时为“0”或“1”,此时忆阻器的状态维持不变即“0”(高阻态)

3.读数据,将按键开关set(4)断开,输入端vin3(3)输入逻辑置为“1”,vin1(1)与vin2(2)仅有一个为“1”的时候,将忆阻器的阻值即逻辑运算结果读取出来。

图3是使用h-spice软件进行电路仿真的曲线图:这里选取的忆阻器高阻态电阻为10k,低阻态电阻为1k,阈值电压为4.6v。选取合适的电阻与6v直流电压源,当按键开关set(4)断开时,vin1(1)、vin2(2)与vin3(3)同时为逻辑”1“时加在忆阻器电压为6v;当set(4)断开时,vin3(3)逻辑为“1”,且vin1(1)、vin2(2)不同时为逻辑”1“时,加在忆阻器电压为3v;当按键开关set(4)断开时,vin1(1)、vin2(2)同时为逻辑”0“时,不管vin3(3)逻辑为“0”或“1”,加在忆阻器电压为0v。

0ns的时候加在忆阻器两端的是反向电压6v,即为-6v,将忆阻器置成高阻态即逻辑为“0”,实现步骤1。(置0操作)后面set(4)一直为逻辑“0”

100ns的时候加在忆阻器两端的正向电压0v,此时忆阻器状态不变还是高阻态即“0”,即vin1(1)、vin2(2)逻辑都为“0”,vin3(3)逻辑逻辑为“1”,忆阻器状态仍为高阻态即逻辑运算结果为“0”。(“001”操作)

200ns的时候加在忆阻器两端的正向电压3v,因为忆阻器状态本身已经为高阻态即逻辑“0”所以不需要重复步骤1,此时忆阻器状态不变还是高阻态即“0”,即vin1(1)、vin2(2)中一个逻辑为“1”,一个逻辑为“0”,vin3(3)电压逻辑为“1”,忆阻器状态仍为高阻态即逻辑运算结果为“0”。(“011”或“101”操作)

300ns的时候加在忆阻器两端的正向电压6v,因为忆阻器状态本身已经为高阻态即逻辑“0”所以不需要重复步骤1,此时忆阻器状态改变为高阻态即“1”,即vin1(1)、vin2(2)中逻辑都为“1”,vin3(3)逻辑为“1”,忆阻器状态改变为低阻态即逻辑运算结果为“1”。(“111”操作)

因为300ns的“111”操作将忆阻器状态改变为低阻态即逻辑运算结果为“1”,为了不影响后面操作,所以将忆阻器重新置为高阻态即逻辑“0”。

400ns的时候加在忆阻器两端的是电压6v,将忆阻器置成高阻态即逻辑为“0”,实现步骤1。(置0操作)

410ns的时候加在忆阻器两端的反向电压0v,因为忆阻器状态本身已经为高阻态即逻辑“0”所以不需要重复步骤1,此时忆阻器状态改变为高阻态即“1”,即vin1(1)、vin2(2)中逻辑都为“0”,vin3(3)逻辑为“0”,忆阻器状态仍为高阻态即逻辑运算结果为“0”。(“000”操作)

500ns的时候加在忆阻器两端的反向电压3v,因为忆阻器状态本身已经为高阻态即逻辑“0”所以不需要重复步骤1,此时忆阻器状态还是高阻态即“0”,即vin1(1)、vin2(2)中一个逻辑为“1”,一个逻辑为“0”,vin3(3)逻辑为“0”,忆阻器状态仍为高阻态即逻辑运算结果为“0”。

(“010”或“100”操作)

600ns的时候加在忆阻器两端的正向电压6v,因为忆阻器状态本身已经为高阻态即逻辑“0”所以不需要重复步骤1,此时忆阻器状态改变为高阻态即“1”,即vin1(1)、vin2(2)中逻辑都为“1”,vin3(3)逻辑为“0”,忆阻器状态仍为高阻态即逻辑运算结果为“0”。(“110”操作)

其电路真值表:

本领域的普通技术人员可以理解,上述各实施方式是实现本发明的具体实施例,而在实际应用中,可以在细节上对其作适当改变,扩展其应用范围。

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