[0017] 本发明所设计的三值同或门电路采用由三值忆阻器构成的4×3交叉阵列实现,共12个忆阻器,其中两个作为输入忆阻器,一个作为输出忆阻器。三值同或门的逻辑状态用忆阻器的阻值表示,RH、RM、RL分别代表三值逻辑的“0”、“1”、“2”。在本设计中,M1,2和M2,2均是输入忆阻器,M4,1是输出忆阻器,V1‑V7是直流电源。忆阻器M1,2和M2,2的初始状态是该逻辑门的两个输入A和B,M4,1的初始状态为RH,最终状态为逻辑门输出A⊙B。M1,3、M2,3、M4,2和M4,3的初始状态为RL,M3,2和M3,3的初始状态为RH。
[0018] 本发明所设计的三值异或门电路也采用由三值忆阻器构成的4×3交叉阵列实现,即在三值同或门的基础上再进行一次“非”运算即可得到三值异或输出结果。本设计共12个忆阻器,其中两个作为输入忆阻器,一个作为输出忆阻器。三值异或门的逻辑状态也用忆阻器的阻值表示,RH、RM、RL分别代表三值逻辑的“0”、“1”、“2”。在本电路中,M1,2和M2,2均是输入忆阻器,M3,1是输出忆阻器,V1‑V7是直流电源。忆阻器M1,2和M2,2的初始状态是该逻辑门的两个输入A和B,M3,1的初始状态为RL,最终状态为逻辑门输出A⊕B。M1,3、M2,3、M4,2和M4,3的初始状态为RL,M4,1、M3,2和M3,3的初始状态为RH。
[0019] 三值同或门和异或门逻辑的真值表如下表所示:
[0020] A B A⊙B A⊕BRH(0) RH(0) RL(2) RH(0)
RH(0) RM(1) RM(1) RM(1)
RH(0) RL(2) RH(0) RL(2)
RM(1) RH(0) RM(1) RM(1)
RM(1) RM(1) RM(1) RM(1)
RM(1) RL(2) RM(1) RM(1)
RL(2) RH(0) RH(0) RL(2)
RL(2) RM(1) RM(1) RM(1)
RL(2) RL(2) RL(2) RH(0)
[0021] “同或”逻辑运算可以通过 转换为只存在“或”和“非”操作的布尔表达式,而“异或”逻辑的实现只需在“同或”的基础上再进行一次“非”运算即可得到。
[0022] 本发明所设计的三值同或门工作过程可分为五个阶段,第一阶段为初始阶段,其余阶段为运算阶段。
[0023] 第一阶段,开关S2、S3闭合,其余开关断开。电压源V2输出VREAD,其余电压源输出0V。该阶段用于读取输入忆阻器M1,2和M2,2的初始状态,即逻辑门的输入。
[0024] 第二阶段,开关S1,2、S2,2、S2、S3闭合,其他开关断开,电压源V2输出VNOT,其余电压源输出0V。此时M1,2与固定电阻并联再与M1,3串联构成一个标准三值反相器(Standard Ternary Inverters,STI),M2,2与固定电阻并联再与M2,3串联也构成一个STI。经由这两个非门分别得到逻辑变量A和B的“非”运算,即 和 在该阶段,M1,2、M2,2是两个输入忆阻器,M1,3、M2,3是两个输出忆阻器,A和B的非运算结果存储在M1,3和M2,3中。
[0025] 第三阶段,S4、S5以及S6闭合,其余开关断开。电压源V4和V5输出VOR,其余电压源输出0V。此时M1,2、M2,2相当于并联,然后再与M3,2串联。同样,M1,3、M2,3相当于并联,然后再与M3,3串联。经由M1,2、M2,2和M3,2组成的或门电路完成A和B的“或”运算,经由M1,3、M2,3和M3,3组成的或门电路完成 和 的“或”运算。在两个或门电路中,M1,2、M2,2和M1,3、M2,3分别是两个或门的输入忆阻器,M3,2和M3,3分别是是输出忆阻器,A+B和 的结果就分别存储在M3,2和M3,3中。
[0026] 第四阶段,开关S3,2、S3,3、S6、S7闭合,其他开关断开,电压源V6输出‑VNOT,其余电压源输出0V。此时M3,2与固定电阻并联再与M4,2串联构成一个STI,M3,3与固定电阻并联再与M4,3串联也构成一个STI。经由这两个非门分别得到A+B和 的“非”运算,即 和在该阶段,M3,2、M3,3是两个输入忆阻器,M4,2、M4,3是两个输出忆阻器,A+B和 的非运算结果存储在M4,2和M4,3中。
[0027] 第五阶段,S1、S2、S3闭合,其余开关断开。电压源V2和V3输出‑VOR,其余电压源输出0V。此时M4,2、M4,3相当于并联,然后再与M4,1串联。经由M4,2、M4,3和M4,1组成的或门电路完成和 的“或”运算,运算结果存储在M4,1中,即可得到同或门电路的最终输出。
[0028] 本发明所设计的三值异或门工作过程可分为六个阶段,第一阶段为初始阶段,其余阶段为运算阶段。前五个阶段与同或门电路相同,下面是第六阶段的电路工作原理:开关S6、S7、S4,1闭合,其他开关断开,电压源V7输出‑VNOT,其余电压源输出0V。此时M4,1与固定电阻并联再与M3,1串联构成一个STI。经由这个非门得到 的“非”运算,运算结果存储在M3,1中,即可得到异或门电路的最终输出。
[0029] 由于该三值同或和异或逻辑门电路中两个输入忆阻器的参数以及在电路中的位置是相同的,因此下面分析中省去了部分重复的结果。
[0030] 优选的,对于所设计的三值或非门电路,采用的三值忆阻器模型的相关参数为a=e=10,b=10000,c=d=0.2,阈值电压vth1和vth2分别设为0.9V和1.1V;RH、RM、RL分别为10kΩ、1kΩ、100Ω;固定电阻为25Ω;VREAD为0.3V,VOR为1.25V,VNOT为1.123V。
[0031] 对于同或门电路,运算阶段的第一步为“非”逻辑运算,当输入均为逻辑“0”时,M1,2与固定电阻的并联阻值为24.9Ω,忆阻器M1,3两端的分压‑0.8991V,M2,2与固定电阻的并联阻值也为24.9Ω,忆阻器M2,3两端的分压‑0.8991V,均不超过阈值电压‑0.9V,因此,M1,3和M2,3的状态保持不变,即都为逻辑“2”。第二步为“或”逻辑运算,因M1,2和M2,2均为“0”、M1,3和M2,3均为“2”,则它们的并联总电阻分别为5kΩ、50Ω。此时M3,2两端的分压为0.833V,不超过阈值0.9V,因此M3,2的状态不变,为逻辑“0”。而M3,3两端的分压为1.244V,超过阈值0.9V,因此M3,3的状态切换为RM,在M3,3的阻值发生变化后,电压会在忆阻器之间重新分配,M3,3两端新的分压为1.19V,仍超过了阈值电压1.1V,所以M3,3的状态最终被切换为RL,即逻辑“2”。第三步为“非”逻辑运算,M3,2与固定电阻的并联阻值为24.9Ω,忆阻器M4,2两端的分压‑0.8991V,不超过阈值电压‑0.9V,因此M4,2状态不变,为逻辑“2”。而M3,3与固定电阻的并联阻值为20Ω,忆阻器M4,3两端的分压‑0.9358V,超过了阈值电压‑0.9V,因此切换为RM,在M4,3的阻值发生变化后,电压会在忆阻器之间重新分配,M4,3两端新的分压为‑1.101V,仍超过了阈值电压‑1.1V,所以M4,3的状态最终被切换为RH,即逻辑“0”。第四步为“或”逻辑运算,因M4,2和M4,3分别为“2”和“0”,则它们的并联总电阻为99Ω,此时M4,1两端的分压为1.238V,超过了阈值0.9V,因此M4,1的状态会被置为RM。在M4,1的阻值发生变化后,电压会在忆阻器之间重新分配,M4,1两端新的分压为1.137V,仍超过了阈值电压1.1V,所以M4,1的状态最终被切换为RL,即输出忆阻器最终输出逻辑“2”。
[0032] 当输入为逻辑“0”和“1”,在此取M1,2为0、M2,2为1,反之同理。第一步为“非”逻辑运算,M1,2与固定电阻的并联阻值为24.9Ω,忆阻器M1,3两端的分压‑0.8991V,M2,2与固定电阻的并联阻值为24.3Ω,忆阻器M2,3两端的分压‑0.9035V。M1,3两端分压不超过阈值电压‑0.9V,因此M1,3的状态保持不变,即为逻辑“2”。M2,3两端分压超过阈值电压‑0.9V,因此M2,3的状态切换为RM。状态变化后,M2,3两端分压变为‑1.0964V,不超过阈值电压‑1.1V,即状态不会进一步变化,为逻辑“1”。第二步为“或”逻辑运算,因M1,2和M2,2为“0”和“1”、M1,3和M2,3为“2”和“1”,则它们的并联总电阻分别为909Ω、90.9Ω。此时M3,2两端的分压为1.146V,而M3,3两端的分压为1.239V,均超过阈值0.9V,因此M3,2、M3,3的状态都切换为RM,在阻值发生变化后,电压会在忆阻器之间重新分配,M3,2、M3,3两端新的分压分别为0.655V、1.19V。M3,2两端分压不超过阈值1.1V,状态不会进一步变化,为逻辑“1”。而M3,3两端分压仍超过了阈值电压
1.1V,所以M3,3的状态最终被切换为RL,即逻辑“2”。第三步为“非”逻辑运算,M3,2与固定电阻的并联阻值为24.3Ω,忆阻器M4,2两端的分压‑0.9035V,M3,3与固定电阻的并联阻值为20Ω,忆阻器M4,3两端的分压‑0.9358V。M4,2和M4,3两端分压均超过阈值电压‑0.9V,因此状态都切换为RM。状态变化后,M4,2两端分压变化为‑1.0964V,不超过‑1.1V的阈值电压,因此状态不会进一步变化,为逻辑“1”。M4,3两端分压变为‑1.101V,仍超过阈值电压‑1.1V,即状态进一步置成RH,为逻辑“0”。第四步为“或”逻辑运算,因M4,2和M4,3分别为“1”和“0”,则它们的并联总电阻为909Ω,此时M4,1两端的分压为1.146V,超过了阈值0.9V,因此M4,1的状态会被置为RM。在M4,1的阻值发生变化后,电压会在忆阻器之间重新分配,M4,1两端新的分压为0.655V,不超过阈值电压1.1V,所以状态不会进一步变化,即输出忆阻器M4,1最终输出逻辑“1”。
[0033] 当输入为逻辑“0”和“2”,在此取M1,2为0、M2,2为2,反之同理。第一步为“非”逻辑运算,M1,2与固定电阻的并联阻值为24.9Ω,忆阻器M1,3两端的分压‑0.8991V,M2,2与固定电阻的并联阻值为20Ω,忆阻器M2,3两端的分压‑0.9358V。M1,3两端分压不超过阈值电压‑0.9V,因此M1,3的状态保持不变,即为逻辑“2”,M2,3两端分压超过阈值电压‑0.9V,因此M2,3的状态切换为RM,状态变化后,M2,3两端分压变为‑1.101V,超过阈值电压‑1.1V,即状态进一步置成RH,为逻辑“0”。第二步为“或”逻辑运算,因M1,2和M2,2为“0”和“2”、M1,3和M2,3为“2”和“0”,则它们的并联总电阻均为99Ω,M3,2、M3,3两端分压均为1.238V,超过0.9V的阈值电压,故状态均切换为RM。在阻值发生变化后,电压会在忆阻器之间重新分配,M3,2、M3,3两端新的分压为1.137V,仍超过了阈值电压1.1V,所以M3,2、M3,3的状态最终被切换为RL,即输出均为逻辑“2”。第三步为“非”逻辑运算,M3,2与固定电阻的并联阻值为20Ω,忆阻器M4,2两端的分压‑
0.9358V,M3,3与固定电阻的并联阻值也为20Ω,忆阻器M4,3两端的分压‑0.9358V,均超过阈值电压‑0.9V,因此,M4,2和M4,3的状态都将切换为RM,阻值发生变化后,两端分压都变化为‑
1.101V,仍超过‑1.1V的阈值电压,因此状态都会进一步切换为RH,即M4,2和M4,3都为逻辑“0”。第四步为“或”逻辑运算,因M4,2和M4,3均为“0”,则它们的并联总电阻为5kΩ,此时M4,1两端的分压为0.833V,不超过阈值0.9V,因此M4,1的状态保持不变,即输出忆阻器最终输出逻辑“0”。
[0034] 当输入均为逻辑“1”时,第一步为“非”逻辑运算,M1,2与固定电阻的并联阻值为24.3Ω,忆阻器M1,3两端的分压‑0.9035V,M2,2与固定电阻的并联阻值也为24.3Ω,忆阻器M2,3两端的分压‑0.9035V,均超过阈值电压‑0.9V,因此,M1,3和M2,3的状态都将切换为RM,阻值发生变化后,两端分压都变化为‑1.0964V,不超过‑1.1V的阈值电压,因此状态不会进一步变化,M1,3和M2,3都为逻辑“1”。第二步为“或”逻辑运算,因M1,2和M2,2均为“1”、M1,3和M2,3也都为“1”,则它们的并联总电阻都为500Ω,此时M3,2、M3,3两端的分压都为1.19V,均超过了阈值0.9V,因此M3,2、M3,3的状态会被置为RM。在阻值发生变化后,电压会在忆阻器之间重新分配,M3,2、M3,3两端新的分压都为0.833V,均未超过阈值电压1.1V,所以状态不会进一步变化,即M3,2、M3,3输出都为逻辑“1”。第三步为“非”逻辑运算,M3,2与固定电阻的并联阻值为24.3Ω,忆阻器M4,2两端的分压‑0.9035V,M3,3与固定电阻的并联阻值也为24.3Ω,忆阻器M4,3两端的分压‑0.9035V,均超过阈值电压‑0.9V,因此,M4,2和M4,3的状态都将切换为RM,阻值发生变化后,两端分压都变化为‑1.0964V,不超过‑1.1V的阈值电压,因此状态不会进一步变化,M4,2和M4,3都为逻辑“1”。第四步为“或”逻辑运算,因M4,2和M4,3均为“1”,则它们的并联总电阻为500Ω,此时M4,1两端的分压为1.19V,超过了阈值0.9V,因此M4,1的状态会被置为RM。在阻值发生变化后,电压会在忆阻器之间重新分配,M4,1两端新的分压为0.833V,未超过阈值电压1.1V,所以状态不会进一步变化,即输出忆阻器M4,1最终输出逻辑“1”。
[0035] 当输入为逻辑“1”和“2”时,在此取M1,2为1、M2,2为2,反之同理。第一步为“非”逻辑运算,M1,2与固定电阻的并联阻值为24.3Ω,忆阻器M1,3两端的分压‑0.9035V,M2,2与固定电阻的并联阻值为20Ω,忆阻器M2,3两端的分压‑0.9358V。M1,3和M2,3两端分压均超过阈值电压‑0.9V,因此状态都切换为RM。状态变化后,M1,3两端分压变化为‑1.0964V,不超过‑1.1V的阈值电压,因此状态不会进一步变化,为逻辑“1”。M2,3两端分压变为‑1.101V,仍超过阈值电压‑1.1V,即状态进一步置成RH,为逻辑“0”。第二步为“或”逻辑运算,因M1,2和M2,2为“1”和“2”、M1,3和M2,3为“1”和“0”,则它们的并联总电阻分别为90.9Ω、909Ω。此时M3,2两端的分压为1.239V,超过了阈值0.9V,因此M3,2的状态会被置为RM。在M3,2的阻值发生变化后,电压会在忆阻器之间重新分配,M3,2两端新的分压为1.146V,仍超过了阈值电压1.1V,所以M3,2的状态最终被切换为RL,即逻辑“2”。而M3,3两端的分压为1.146V,超过了阈值0.9V,因此M3,3的状态会被置为RM。在M3,3的阻值发生变化后,电压会在忆阻器之间重新分配,新的分压为0.655V,不超过阈值电压1.1V,所以M3,3的状态不会进一步变化,即逻辑“1”。第三步为“非”逻辑运算,M3,2与固定电阻的并联阻值为20Ω,忆阻器M4,2两端的分压‑0.9358V,M3,3与固定电阻的并联阻值为24.3Ω,忆阻器M4,3两端的分压‑0.9035V。M4,2和M4,3两端分压均超过阈值电压‑0.9V,因此状态都切换为RM。状态变化后,M4,2两端分压变为‑1.101V,仍超过阈值电压‑1.1V,即状态进一步置成RH,为逻辑“0”。M4,3两端分压变化为‑1.0964V,不超过‑1.1V的阈值电压,因此状态不会进一步变化,为逻辑“1”。第四步为“或”逻辑运算,因M4,2和M4,3分别为“0”和“1”,则它们的并联总电阻为909Ω,此时M4,1两端的分压为1.146V,超过了阈值
0.9V,因此M4,1的状态会被置为RM。在M4,1的阻值发生变化后,电压会在忆阻器之间重新分配,M4,1两端新的分压为0.655V,不超过阈值电压1.1V,所以状态不会进一步变化,即输出忆阻器M4,1最终输出逻辑“1”。
[0036] 当输入均为逻辑“2”时,第一步为“非”逻辑运算,M1,2与固定电阻的并联阻值为20Ω,忆阻器M1,3两端的分压‑0.9358V,M2,2与固定电阻的并联阻值也为20Ω,忆阻器M2,3两端的分压‑0.9358V,均超过阈值电压‑0.9V,因此,M1,3和M2,3的状态都将切换为RM,阻值发生变化后,两端分压都变化为‑1.101V,仍超过‑1.1V的阈值电压,因此状态都会进一步切换为RH,M1,3和M2,3都为逻辑“0”。第二步为“或”逻辑运算,因M1,2和M2,2均为“2”、M1,3和M2,3均为“1”,则它们的并联总电阻分别为50Ω、5kΩ。此时M3,2两端的分压为1.244V,超过阈值0.9V,因此M3,2的状态切换为RM,在M3,2的阻值发生变化后,电压会在忆阻器之间重新分配,新的分压为1.19V,仍超过了阈值电压1.1V,所以M3,2的状态最终被切换为RL,即逻辑“2”。而M3,3两端的分压为0.833V,不超过阈值0.9V,因此M3,3的状态不变,为逻辑“0”。第三步为“非”逻辑运算,M3,2与固定电阻的并联阻值为20Ω,忆阻器M4,2两端的分压‑0.9358V,超过了阈值电压‑0.9V,因此切换为RM,在M4,2的阻值发生变化后,电压会在忆阻器之间重新分配,M4,2两端新的分压为‑1.101V,仍超过了阈值电压‑1.1V,所以M4,2的状态最终被切换为RH,即逻辑“0”。而M3,3与固定电阻的并联阻值为24.9Ω,忆阻器M4,3两端的分压‑0.8991V,不超过阈值电压‑0.9V,因此M4,3状态不变,为逻辑“2”。第四步为“或”逻辑运算,因M4,2和M4,3分别为“0”和“2”,则它们的并联总电阻为99Ω,此时M4,1两端的分压为1.238V,超过了阈值0.9V,因此M4,1的状态会被置为RM。在M4,1的阻值发生变化后,电压会在忆阻器之间重新分配,M4,1两端新的分压为1.137V,仍超过了阈值电压1.1V,所以M4,1的状态最终被切换为RL,即输出忆阻器最终输出逻辑“2”。
[0037] 对于异或门电路,经过上述的运算的四个步骤后得到M4,1的输出结果,再通过由M4,1与固定电阻并联再与M3,1串联构成的一个STI后,即可得到异或门输出M3,1的结果。
[0038] 因此,当输入均为“0”或均为“1”时,经上述四个步骤,得到M4,1的输出为RL,即逻辑“2”。然后第五步为“非”运算,此时M4,1与固定电阻的并联阻值为20Ω,忆阻器M3,1两端的分压‑0.9358V,超过阈值电压‑0.9V,因此M3,1的状态切换为RM,状态变化后,两端分压变为‑1.101V,仍超过阈值电压‑1.1V,即状态进一步置成RH,为逻辑“0”。
[0039] 当输入为“0”和“1”、“1”和“1”、“1”和“2”时,经上述四个步骤,得到M4,1的输出为RM,即逻辑“1”。然后第五步为“非”运算,M4,1与固定电阻的并联阻值为24.3Ω,忆阻器M3,1两端的分压‑0.9035V,超过阈值电压‑0.9V,因此,M3,1的状态将切换为RM,阻值发生变化后,两端分压变化为‑1.0964V,不超过‑1.1V的阈值电压,因此状态不会进一步变化,即最终输出为逻辑“1”。
[0040] 当输入为“0”和“2”时,经上述四个步骤,得到M4,1的输出为RH,即逻辑“0”。然后第五步为“非”运算,M4,1与固定电阻的并联阻值为24.9Ω,忆阻器M3,1两端的分压‑0.8991V,不超过阈值电压‑0.9V,因此M3,1的状态保持不变,即最终输出为逻辑“2”。
[0041] 本领域的普通技术人员应当认识到,以上实施例仅是用来验证本发明,而并非作为对本发明的限定,只要是在本发明的范围内,对以上实施例的变化、变形都将落在本发明的保护范围内。