WO2018193338A1 - Stochastic memristor logic devices - Google Patents

Stochastic memristor logic devices Download PDF

Info

Publication number
WO2018193338A1
WO2018193338A1 PCT/IB2018/052524 IB2018052524W WO2018193338A1 WO 2018193338 A1 WO2018193338 A1 WO 2018193338A1 IB 2018052524 W IB2018052524 W IB 2018052524W WO 2018193338 A1 WO2018193338 A1 WO 2018193338A1
Authority
WO
WIPO (PCT)
Prior art keywords
memristor
terminal
logic
output
cycle
Prior art date
Application number
PCT/IB2018/052524
Other languages
French (fr)
Inventor
Rawan NAOUS
Khaled Nabil Salama
Original Assignee
King Abdullah University Of Science And Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by King Abdullah University Of Science And Technology filed Critical King Abdullah University Of Science And Technology
Priority to US16/606,786 priority Critical patent/US10748609B2/en
Priority to EP18721470.5A priority patent/EP3613048B1/en
Publication of WO2018193338A1 publication Critical patent/WO2018193338A1/en
Priority to US16/922,255 priority patent/US11393527B2/en

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0021Auxiliary circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0021Auxiliary circuits
    • G11C13/004Reading or sensing circuits or methods
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0021Auxiliary circuits
    • G11C13/0069Writing or programming circuits or methods
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1006Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/20Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits characterised by logic function, e.g. AND, OR, NOR, NOT circuits
    • H03K19/21EXCLUSIVE-OR circuits, i.e. giving output if input signal exists at only one input; COINCIDENCE circuits, i.e. giving output only if all input signals are identical
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2213/00Indexing scheme relating to G11C13/00 for features not covered by this group
    • G11C2213/10Resistive cells; Technology aspects
    • G11C2213/15Current-voltage curve
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/20Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits characterised by logic function, e.g. AND, OR, NOR, NOT circuits

Definitions

  • Resistive random access memory or the memristor
  • ReRAM Resistive random access memory
  • Conventional logic design often prioritizes the repeatability and accuracy of an operation. This practice pushes the use of the available resources up to its limits and can lead to overdesigning and costly error correcting schemes to ensure precision.
  • extra design margins can be added. A tradeoff arises between the level of accuracy and other performance metrics such as energy efficiency and delay.
  • the memristor has been integrated into applications that target the current systems' repeatability and accuracy constraints.
  • FIG. 1 A is an illustration of an example of a memristor and an example truth table of the memristor in accordance with the present disclosure.
  • FIG. IB illustrates a number of example graphs of performance characteristics of the memristor of FIG. 1A in accordance with the present disclosure.
  • FIG. 2 illustration of an example of a memristor logic device in accordance with the present disclosure.
  • FIGS. 3A-3C are illustrations and graphs that demonstrate the operation of a memristor logic device as a NAND gate in accordance with the present disclosure.
  • FIGS. 4A-4C are illustrations and graphs that demonstrate the operation of a memristor logic device as an AND gate in accordance with the present disclosure.
  • FIGS. 5A-5C are illustrations and graphs that demonstrate the operation of a memristor logic device as an OR gate in accordance with the present disclosure.
  • FIGS. 6A-6C are illustrations and graphs that demonstrate the operation of a memristor logic device as a NOR gate in accordance with the present disclosure.
  • FIGS. 7A-7C are illustrations and graphs that demonstrate the operation of a memristor logic device as a half-adder in accordance with the present disclosure.
  • FIGS. 8A-8E are illustrations and graphs that demonstrate the operation of a memristor logic device as a full adder in accordance with the present disclosure.
  • Embodiments of the present disclosure involve approximate computing based on stochastic memristor logic devices. It combines emerging technologies and unconventional computing approaches. Moreover, it introduces a circuit-based technique to achieve approximation and adaptability.
  • a memristor can be used for variable or stochastic switching between two resistive states respectively. It offers opportunities to benefit from the intrinsic variations in investigating alternative approaches. This feature can increase performance and provide for reconfiguration and adaptability of arithmetic components and building blocks for image processing applications, quantum computing, and further applications.
  • the memristor can be used for realizing Boolean operators. Lowering the applied voltage levels shifts the memristor into a stochastic mode of operation. Variable switching behavior in this mode can lead to a probabilistic output for logic gates, approximate computing with memristor-based logic gates.
  • the principles disclosed herein relate to approximate computing based on stochastic memristive elements or memristor-based logic gates, along with the probabilistic analysis of the underlying behavior, and its impact on the overall performance. Moreover, it further introduces a circuit based technique to achieve approximation and adaptability. It essentially builds on the variability of the memristor that is related to the amplitude of the applied voltage along with the time period. This allows for configuring the accuracy, the energy level, and delay based on the design requirements and available resources. Hence, incorporating these elements within digital logic designs, the gates would then behave in a probabilistic manner. With a mathematical distribution for the switching events, and a sequential logic approach, a formulation for the output of the gates and its corresponding cascades can be established. This accounts for the probabilistic feature of the gates and the corresponding arithmetic block structure.
  • a memristor 100 with two terminals, a terminal Ti and a terminal T 2 .
  • a truth table 101 shows an example of the operation of the memristor 100, as will be discussed further below.
  • the memristor 100 can be described as a non-linear circuit element that exhibits a change in its resistance based on the applied input bias. It is a non-volatile component that retains the value upon the removal of the input excitation.
  • Two main variants are available with continuous and threshold-based behavior. The former undergoes a change with every level of voltage applied. The later on the other hand, does not show any change in case the applied voltage is below a set threshold, which primarily makes this type of devices suitable for the digital applications.
  • FIG. IB shows graphs 102, 104, 106, and 108, which exhibit examples of performance characteristics of the memristor 100.
  • the graph 102 shows a hysteresis that relates the voltage and current through the memristor 100.
  • x represents the resistance of the memristor.
  • 3 ⁇ 4 + V t ⁇ - ⁇ V M - V t ⁇ ] (3) W (x, V M ) e(V M )0(R OFF - x) + ⁇ (- ⁇ ⁇ ) ⁇ ( ⁇ - R 0N ) (4)
  • corresponds to the step function applied within the window function to confine the range of the resistance values between the high ROEF and low RON resistance states respectively.
  • the rate of change is controlled by the parameter ⁇ , and the threshold voltage is set by V t .
  • the material characteristics play an important role in the underlying mechanisms of the memristor.
  • the interfacial interactions of the internal composition can pose an added level of the operation, mainly the variability.
  • different devices can show a stochastic feature, particularly in the switching between the two resistance states.
  • the switching can be seen as an event occurring due to a set of input characteristics.
  • the memristor operation can have a switching mechanism between resistance states that can be described or approximated by a mathematical distribution such as the Poisson.
  • modification of the physical equations governing the state and the ionic interactions needs to be established.
  • in one approach can portray the corresponding behavior by mapping the change into the threshold voltage.
  • the threshold voltage is not represented as a hard value but rather varies according to the input states in the sub-threshold regime.
  • Important parameters in the variability can be the input voltage and the time period. The smaller the voltage applied, the longer it takes for the switching to occur, and vice versa. This can be shown by the graphs 106 and 108, which show switching probability as a function of voltage and time, respectively.
  • the average time ⁇ for the device to switch and the applied voltage are exponentially related
  • the graph 104 shows the resultant outcome of the stochastic process as a characteristic hysteresis with added switching points below the threshold. Nonetheless, despite this variability, the memristor can remain suitable for logic operations as it can toggle between two stable states.
  • the ON state corresponding to the set operation with moving to RON, and the OFF state with moving to ROFF- Current sensing can be used to measure the output of the memristor. Accordingly, the low resistance state shows a high current that maps into digital ⁇ ', and the high resistance state gives a low current that corresponds to digital ⁇ '.
  • Probabilistic analysis and formulation can be used to incorporate the probabilistic element into the digital computing realm, as discussed below. Several designs can be for the memristor 100 in logic design.
  • the imply operator can be the basis for Boolean gates.
  • two memristors and a load resistor are used to sequentially and conditionally set/reset output according to q' ⁇ — p(imp)q.
  • a CMOS-like logic can also be used, with polarized memristors resembling pmos and nmos transistors connected to form the complete set of the logic operators.
  • a third approach builds on sequential logic, with several cycles needed to perform a logic operation such as a Boolean operation. In spite of the added cycles, only a single memristor is needed to perform 14 out of 16 logic operators.
  • AND, NAND, OR, and NOR can be performed with 3 cycles including an initialization cycle and two logical cycles that apply logical inputs to the terminals. Moreover, it all can be done within the compact memristive crossbar memory which paves the way for in-memory computing and further innovations as well. The basics of the sequential logic operations along with the added probabilistic outcomes are discussed further below.
  • the principles of operation of the sequential logic approach can use the two terminals of the memristor 100 as the inputs of any logic operator. Building on a bipolar switching, where opposite polarities are used for the SET and RESET of the memristor state of the memristor 100. A positive voltage, greater than the threshold, across the terminals Ti and T2 (e.g., Ti-T 2 >Vt) would move the memristor into the ON state or ⁇ ', where as a negative voltage would shift it back to the OFF state or ⁇ '. In this approach, no change is reflected in the memristor state (z) in case the terminals Tl and T2 are at the same potential.
  • the truth table 101 shows this behavior.
  • a sequence of cycles can be applied.
  • three cycles can be used to achieve the correct output of the operation.
  • the first cycle can be considered an initialization cycle, where the memristor is put in a predetermined state, that would also facilitate the attainment of the required operation for the applied input parameters or logical inputs.
  • a logical T can be applied to Ti, and a logical '0' can be applied to T2 as an initialization stage, where Ti is greater than T 2 .
  • Ti can be set less than T2 as an initialization stage.
  • T 1 -T2 can be greater than the threshold V t for some operational versions.
  • the applied voltage can be ⁇ 5V to ensure proper switching and state change.
  • lower voltages e.g. below the threshold voltage Vt
  • the gates can then behave in a probabilistic manner, but allow for better energy efficiency. Thereby, giving rise to the concept of approximate computing. The analysis of the gates under probabilistic operation is discussed further below.
  • a memristor logic device 200 that can perform logic and can also be referred to as a logic gate.
  • the memristor logic device 200 has a memristor 100 and an output circuit 203.
  • the memristor 100 has terminals Ti and T2 that can be used to control a state of the memristor 100.
  • the memristor logic device 200 can perform different logic operations by applying a series of inputs or input cycles to the terminal Ti and T2, which can be considered terminals of the memristor logic device 200.
  • the inputs can be applied by circuitry, such as an input circuit that includes passive and active circuit elements or components.
  • Such an input circuit can control the timing an sequencing of logical inputs that can be applied to the terminals such as a particular voltage, a ground, or an open circuit.
  • the output circuit 203 can give an output at an output terminal of the memristor logic device 200.
  • the output circuit 203 can, for example, use current sensing to determine a state of the memristor 100 after each of a number of inputs to the terminal Ti and T 2 .
  • the state that is sensed can be utilized to generate a probabilistic logical output, that can in some cases be used in another logic device such as another memristor logic device (e.g., memristor logic devices can be cascaded).
  • the output circuit 203 can include passive circuit elements and/or active circuit elements such as op-amps.
  • the initialization stage is deterministic
  • the values are masked with the probability of switching and the sequence of applied input parameters.
  • the certainty of having a correct output can be characterized by P
  • the output for every entry in the truth table can hold a probability to be correct. This probability can be determined by the switching probability of the memristor and the sequence of input application.
  • a NAND gate 303 and a memristor logic device 200 that is configured to operate as a NAND gate.
  • a series of control inputs along with logical inputs can be applied to the terminals Ti and T2 such that the memristor logic device 200 operates as a NAND gate.
  • a sequence of inputs can be applied to the memristor logic device 200 at the terminals Ti and T 2 , including an initialization cycle and two logical cycles.
  • the logical cycles can include logical inputs p and q being input sequentially to the memristor logic device 200 at one of the terminals Ti and T2 (e.g., in a particular order), while a specific set of control inputs are applied sequentially to the other one of the terminals Ti and T 2 .
  • the first cycle can be an initialization cycle and can apply control input 1, to Ti and control input 0 to T 2 .
  • the second cycle can apply a control input 0 to Ti and a logical input q to T 2 .
  • the third cycle can apply a control input 1 to Ti and a logical input p to T 2 .
  • the state of the memristor 100 of the memristor logic device 200 once the third cycle is performed can cause a probabilistic logical output of the memristor logic device 200.
  • the initialization cycle control input T can be deterministic.
  • the voltage of the control input ' 1 ' can be greater than the threshold Vt for the initialization cycle.
  • the logical inputs and/or control inputs after the initialization cycle can be a lower voltage (e.g., lower than Vt).
  • FIG. 3B includes a table 312 that shows one example of inputs to Ti and T2 that can cause the memristor logic device 200 to operate as a NAND gate.
  • the three cycles applied to Ti can be (1, 0, 1) respectively, where the second two cycles (0,1) after the initialization input can be referred to as control inputs that can cause the memristor logic device 200 to operate as a NAND gate.
  • the three cycles applied to T2 can be (0, q, p) respectively, where q and p are logical inputs to the memristor logic device 200.
  • the state of the memristor 100 of the memristor logic device 200 once the third cycle is performed can cause a probabilistic logical output of the memristor logic device 200.
  • the probabilistic output of the memristor logic device 200 operating as a NAND gate for each set of logical inputs can be described by P ou t, as shown in the equations in table 315.
  • graphs 318 and 321 show the output probabilities for P ou t(l) and Pout(0), respectively.
  • the hard line represents the theoretical probabilistic analysis presented earlier.
  • the points represent the simulation verification with the memristor element.
  • the three cycle operation of the NAND gate can be applied on the memristor in sequence. All the truth table entries can be tested for 100 times each.
  • the simulation can be run over a period of 1ms and the voltage ranged between 2V and 4V accordingly.
  • the number of matches can be counted for each run and the overall probabilities can be calculated based on the expected outcome for the gate.
  • the behavior of the gate can be further quantified with the notion of accuracy or precision. It can be specified as
  • N corresponds to the total number of entries in a particular truth table.
  • Ni is the number of entries with the output set to ⁇ '
  • No is the number of entries with the output set to '0' .
  • the accuracy for the NAND operator can be calculated as
  • Graph 324 shows the accuracy of the NAND gate with respect to the switching probability of the memristor.
  • the theoretical precision attained can be verified with simulation of the memristor for 100 times for the all of the input pairs, and recording the output states.
  • the NAND gates shows high accuracy starting from 75%. It is due to the deterministic initialization state that shifts the ON state to the output in two of the possible gate input combination. Hence, a large space for saving in terms of simple logic operation is possible with the scaling of the voltage and benefiting from the stochastic feature of the memristor 100.
  • a similar analysis is conducted for all the remaining gates that require 3 cycles for operation, i.e. AND, OR, and NOR. When cascading the gates to form an arithmetic device that performs an arithmetic operation, a probabilistic dimension is added into the analysis and requires the accommodation of further parameters into account.
  • FIG. 4 A shows an AND gate 403, with logical inputs p and q.
  • FIG. 4 A also shows the memristor logic device 200 configured to operate as an AND gate.
  • a series of control inputs along with logical inputs can be applied to the terminals Ti and T2 such that the memristor logic device 200 operates as an AND gate.
  • the first cycle can be an initialization cycle and can apply control input 1, to Ti and control input 0 to T 2 .
  • the second cycle can apply a logical input p to Ti and a control input 1 to T 2 .
  • the third cycle can apply a logical input q to Ti and a control input 1 to T 2 .
  • the state of the memristor 100 of the memristor logic device 200 once the third cycle is performed can cause a probabilistic logical output of the memristor logic device 200.
  • FIG. 4B includes a table 412 that shows one example of inputs to Ti and T2 that can cause the memristor logic device 200 to operate as an AND gate.
  • the three cycles applied to Ti can be (1, p, q) respectively, where p and q are the logical inputs to the AND gate.
  • the three cycles applied to T2 can be (0, 1, 1) respectively, where 1 , 1 can be control inputs that cause the memristor logic device 200 to operate as an AND gate.
  • the state of the memristor 100 of the memristor logic device 200 once the third cycle is performed can cause a probabilistic logical output of the memristor logic device 200.
  • the probabilistic output of the memristor logic device 200 operating as an AND gate for each set of logical inputs can be described by P ou t, as shown in the equations in table 415.
  • FIG. 4C shows graphs 418, 421, and 424.
  • Graphs 418 and 421 show the output probabilities for P ou t(l) and P ou t(0), respectively.
  • the hard line represents the theoretical probabilistic analysis presented earlier.
  • the points represent the simulation verification with the memristor element.
  • Graph 424 shows the accuracy of the AND gate with respect to the switching probability of the memristor.
  • FIG. 5A shows an OR gate 503, with logical inputs p and q.
  • the memristor logic device 200 is shown with inputs configured to cause it to operate as an OR gate.
  • a series of control inputs along with logical inputs can be applied to the terminals Ti and T2 such that the memristor logic device 200 operates as an OR gate.
  • the first cycle can be an initialization cycle and can apply control input 1, to Ti and control input 0 to T 2 .
  • the second cycle can apply a control input 0 to Ti and a logical input q to T 2 .
  • the third cycle can apply a control input 1 to Ti and a logical input p to T 2 .
  • the state of the memristor 100 of the memristor logic device 200 once the third cycle is performed can cause a probabilistic logical output of the memristor logic device 200.
  • FIG. 5B includes a table 512 that shows one example of inputs to Ti and T2 that can cause the memristor logic device 200 to operate as an OR gate.
  • the three cycles applied to Ti can be (1, p, q) respectively, where p and q are the logical inputs to the OR gate.
  • the three cycles applied to T2 can be (0, 1, 0) respectively, where the second two cycles (1,0) can be control inputs that cause the memristor logic device 200 to operate as an OR gate.
  • the state of the memristor 100 of the memristor logic device 200 once the third cycle is performed can cause a probabilistic logical output of the memristor logic device 200.
  • the probabilistic output of the memristor logic device 200 operating as an OR gate for each set of logical inputs can be described by r out, as shown in the equations in table 515.
  • FIG. 5C shows graphs 518, 521, and 524.
  • Graphs 518 and 521 show the output probabilities for P ou t(l) and P ou t(0), respectively.
  • the hard line represents the theoretical probabilistic analysis presented earlier.
  • the points represent the simulation verification with the memristor element.
  • Graph 524 shows the accuracy of the OR gate with respect to the switching probability of the memristor.
  • FIG. 6A shows a NOR gate 603, with logical inputs p and q.
  • the memristor logic device 200 is shown with inputs configured to cause it to operate as a NOR gate.
  • a series of control inputs along with logical inputs can be applied to the terminals Ti and T2 such that the memristor logic device 200 operates as a NOR gate.
  • the first cycle can be an initialization cycle and can apply control input 1, to Ti and control input 0 to T 2 .
  • the second cycle can apply a control input 0 to Ti and a logical input q to T 2 .
  • the third cycle can apply a control input 0 to Ti and a logical input p to T 2 .
  • the state of the memristor 100 of the memristor logic device 200 once the third cycle is performed can cause a probabilistic logical output of the memristor logic device 200.
  • FIG. 6B includes a table 612 that shows one example of inputs to Ti and T2 that can cause the memristor logic device 200 to operate as a NOR gate.
  • the three cycles applied to Ti can be (1, 0, 0) respectively, where the second two cycles (0,0) can be control inputs that cause the memristor logic device 200 to operate as a NOR gate.
  • the three cycles applied to T2 can be (0, q, p) respectively, where p and q are the logical inputs to the NOR gate.
  • the state of the memristor 100 of the memristor logic device 200 once the third cycle is performed can cause a probabilistic logical output of the memristor logic device 200.
  • the probabilistic output of the memristor logic device 200 operating as an OR gate for each set of logical inputs can be described by r out, as shown in the equations in table 615.
  • FIG. 6C shows graphs 618, 621, and 624.
  • Graphs 618 and 621 show the output probabilities for P ou t(l) and P ou t(0), respectively.
  • the hard line represents the theoretical probabilistic analysis presented earlier.
  • the points represent the simulation verification with the memristor element.
  • Graph 624 shows the accuracy of the NOR gate with respect to the switching probability of the memristor.
  • Basic arithmetic operations can build on the main logic gates that can be formed by a combination of the principles disclosed herein.
  • FIG. 7A shows a half-adder 703, and a corresponding memristor half-adder 704.
  • the memristor half-adder 704 is an arithmetic device that includes a memristor OR gate 705, a memristor NAND gate 706, and a memristor AND gate 707 composing an XOR gate.
  • the memristor half-adder performs a half-adder operation, which is an arithmetic operation.
  • a basic building block can be a half adder. It can be mainly composed of an XOR gate for calculating the sum bit, comprising the OR gate 705, the NAND gate 706, and the AND gate 707. Another AND gate is used for the carry bit, as shown in the schematic of the half-adder 703.
  • the logic equations for the output bits So and Co are
  • the cycles applied to each memristor gate can be designed to be staggered for proper sequential operation.
  • the third cycle (e.g. the output cycle) of the OR gate 705 may not complete at the same time as the third cycle of the NAND gate 706. Instead, they can complete sequentially, such that one of the gate outputs can be the logical 'p' and the other gate output can be the sequentially applied logical 'q' input to the AND gate 707.
  • all inputs to the AND gate 707 can be probabilistic.
  • the input probabilities can be assigned as Pin(l) and P; n (0).
  • the probabilities for the inputs p and q are considered the same as they are coming from the outputs of the OR and NAND gates in the first stage that can exhibit similar probabilistic operation in terms of the output probabilities for ' 1 ' and ⁇ '.
  • the output probabilities for the AND gate with probabilistic inputs are
  • FIG. 7B shows a truth table 709 for a half adder.
  • the sum bit So can have two entries for '0' and two entries for T. Thereby, the accuracy or precision of the sum bit is specified as
  • FIG. 7C includes graphs 718, 721, and 724.
  • Graph 718 shows the accuracy measure in response to the level of voltage applied across the terminals of the memristor. Savings up to 18% in the voltage can have a minor impact on the accuracy, which can decrease drastically with lower values.
  • FIG. 721 shows the accuracy as a function of the delay for a voltage of 3.7V and 3V respectively. As depicted, the accuracy of operation of the adder can increase with larger application time overlying the probabilistic behavior of the memristor. A compromise can arise between the delay and the accuracy achieved for a particular input voltage. This feature of approximate computing can be highly efficient with higher bit adders, especially with the added saving per block.
  • the graph 724 shows the accuracy for the sum and carry bit in the theoretical and simulation forms. As noticed, the performance of the sum bit starts off at 50% as two cases are present for the high bit and since the AND gate produces accurate ⁇ ' . The accuracy of the carry bit can start with a lower performance than the sum, but can catch up at a switching probability of 0.3, and can have better performance onward.
  • FIG. 8 A shows a schematic of a full adder 803.
  • the XOR gate initiated with deterministic inputs.
  • the arithmetic block can be extended to include the carry in bit Cin, and an additional XOR operation can be performed to calculate the sum Si.
  • the carry requires two AND operations and an OR to get the final carry out Ci.
  • FIG. 8B shows a truth table 812 for the full adder. The equations for the output bits can be specified as
  • FIG. 8C includes graphs 818 and 821, showing results of this analytical approach for SI and CI, respectively.
  • the simulation can include the theoretical formulation based on the probabilities of the inputs and its consequent relation and cascades.
  • a system level simulation of the memristor element-based structure can be conducted. A 100 simulation runs for the full architecture were conducted, and the resultant output can be noted in regards to the expected output behavior for all the entries in the truth table 812.
  • FIG. 8D includes a graph 825 that shows the sum accuracy plot with respect to the switching probability for various numbers of bits.
  • an N-bit adder can output characteristics as shown.
  • a ripple-carry adder structure can be adopted.
  • degradation of performance can be saturated after 4 cascades. That is the accuracy of the sum bit, and similarly for the carry bit, can show a consistent behavior for adders with 4 bits and higher. That is, the effect of probabilistic components can fade or be balanced with the internal operation of the probabilistic internal adder blocks.
  • FIG. 8E includes a graph 828 and a graph 831. These graphs show examples of the configurable accuracy, delay, and energy relationship of the present disclosure.
  • the graph 828 shows an example of accuracy as a function of voltage applied, for a number of time delays.
  • the graph 831 shows an example of input voltage as a function of applied time period, for a number of precision measures. Depending on the applied time period, a 100% precision of operation can be achieved at a lower nominal voltage at the expense of longer delay. Fixed accuracy levels for a range of voltages and time can allow for diverse options in the design space allocation.

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Logic Circuits (AREA)

Abstract

In accordance with the present disclosure, one embodiment includes a memristor that is caused to be in a particular resistance state by a voltage applied across terminals of the memristor. A first logical input and a second logical input that are below a threshold voltage of the memristor are applied to a first terminal of the memristor. A first control input and a second control input are applied to a second terminal of the memristor. A logical output is determined based on a resistance state of the memristor.

Description

STOCHASTIC MEMRISTOR LOGIC DEVICES
BACKGROUND
[0001 ] Resistive random access memory (ReRAM), or the memristor, is one of the prominent devices of emerging non-volatile memory technologies. Conventional logic design often prioritizes the repeatability and accuracy of an operation. This practice pushes the use of the available resources up to its limits and can lead to overdesigning and costly error correcting schemes to ensure precision. However, when dealing with applications where the notion of accuracy is not formally set, extra design margins can be added. A tradeoff arises between the level of accuracy and other performance metrics such as energy efficiency and delay. Thus far, the memristor has been integrated into applications that target the current systems' repeatability and accuracy constraints.
BRIEF DESCRIPTION OF THE DRAWINGS
[0002] Many aspects of the present disclosure can be better understood with reference to the following drawings. The components in the drawings are not necessarily to scale, emphasis instead being placed upon clearly illustrating the principles of the present disclosure. Moreover, in the drawings, like reference numerals designate corresponding parts throughout the several views.
[0003] FIG. 1 A is an illustration of an example of a memristor and an example truth table of the memristor in accordance with the present disclosure.
[0004] FIG. IB illustrates a number of example graphs of performance characteristics of the memristor of FIG. 1A in accordance with the present disclosure.
[0005] FIG. 2 illustration of an example of a memristor logic device in accordance with the present disclosure. [0006] FIGS. 3A-3C are illustrations and graphs that demonstrate the operation of a memristor logic device as a NAND gate in accordance with the present disclosure.
[0007] FIGS. 4A-4C are illustrations and graphs that demonstrate the operation of a memristor logic device as an AND gate in accordance with the present disclosure.
[0008] FIGS. 5A-5C are illustrations and graphs that demonstrate the operation of a memristor logic device as an OR gate in accordance with the present disclosure.
[0009] FIGS. 6A-6C are illustrations and graphs that demonstrate the operation of a memristor logic device as a NOR gate in accordance with the present disclosure.
[0010] FIGS. 7A-7C are illustrations and graphs that demonstrate the operation of a memristor logic device as a half-adder in accordance with the present disclosure.
[001 1 ] FIGS. 8A-8E are illustrations and graphs that demonstrate the operation of a memristor logic device as a full adder in accordance with the present disclosure.
DETAILED DESCRIPTION
[0012] Embodiments of the present disclosure involve approximate computing based on stochastic memristor logic devices. It combines emerging technologies and unconventional computing approaches. Moreover, it introduces a circuit-based technique to achieve approximation and adaptability.
[0013] As discussed above, a tradeoff arises between the level of accuracy and other performance metrics such as energy efficiency and delay. As disclosed herein, a memristor can be used for variable or stochastic switching between two resistive states respectively. It offers opportunities to benefit from the intrinsic variations in investigating alternative approaches. This feature can increase performance and provide for reconfiguration and adaptability of arithmetic components and building blocks for image processing applications, quantum computing, and further applications. [0014] The memristor can be used for realizing Boolean operators. Lowering the applied voltage levels shifts the memristor into a stochastic mode of operation. Variable switching behavior in this mode can lead to a probabilistic output for logic gates, approximate computing with memristor-based logic gates.
[0015] The principles disclosed herein relate to approximate computing based on stochastic memristive elements or memristor-based logic gates, along with the probabilistic analysis of the underlying behavior, and its impact on the overall performance. Moreover, it further introduces a circuit based technique to achieve approximation and adaptability. It essentially builds on the variability of the memristor that is related to the amplitude of the applied voltage along with the time period. This allows for configuring the accuracy, the energy level, and delay based on the design requirements and available resources. Hence, incorporating these elements within digital logic designs, the gates would then behave in a probabilistic manner. With a mathematical distribution for the switching events, and a sequential logic approach, a formulation for the output of the gates and its corresponding cascades can be established. This accounts for the probabilistic feature of the gates and the corresponding arithmetic block structure.
[0016] With reference to FIG. 1A, depicted is a memristor 100 with two terminals, a terminal Ti and a terminal T2. A truth table 101 shows an example of the operation of the memristor 100, as will be discussed further below. The memristor 100 can be described as a non-linear circuit element that exhibits a change in its resistance based on the applied input bias. It is a non-volatile component that retains the value upon the removal of the input excitation. Two main variants are available with continuous and threshold-based behavior. The former undergoes a change with every level of voltage applied. The later on the other hand, does not show any change in case the applied voltage is below a set threshold, which primarily makes this type of devices suitable for the digital applications. [0017] FIG. IB shows graphs 102, 104, 106, and 108, which exhibit examples of performance characteristics of the memristor 100. The graph 102 shows a hysteresis that relates the voltage and current through the memristor 100.
[0018] Under the criteria of threshold based devices, several models are available in the literature that characterize this behavior. Either in direct fitting to the physical characteristics or mere abstraction to capture the threshold mechanism. For the modeling and simulation a bipolar model can be used. It offers a reliable and simple systematic approach to the resistance change and the intermediate state equations described as
/ = xVM (1) dx , ^ (2) — = f(VM)W{x, VM)
Where x represents the resistance of the memristor. The functions f(Vjvi) and W(X,VM) model the threshold property and the window function respectively as follows f(VM) = β(ΥΜ - 0.5) [|¾ + Vt \ - \VM - Vt \] (3) W (x, VM) = e(VM)0(ROFF - x) + θ (-νΜ)θ (χ - R0N) (4)
[0019] Θ corresponds to the step function applied within the window function to confine the range of the resistance values between the high ROEF and low RON resistance states respectively. The rate of change is controlled by the parameter β, and the threshold voltage is set by Vt.
[0020] Aside from the generic modeling, the material characteristics play an important role in the underlying mechanisms of the memristor. The interfacial interactions of the internal composition can pose an added level of the operation, mainly the variability. In that perspective, different devices can show a stochastic feature, particularly in the switching between the two resistance states. In an abstraction scheme, the switching can be seen as an event occurring due to a set of input characteristics. The memristor operation can have a switching mechanism between resistance states that can be described or approximated by a mathematical distribution such as the Poisson. To add this variable operation into the available models, modification of the physical equations governing the state and the ionic interactions needs to be established. However, in one approach can portray the corresponding behavior by mapping the change into the threshold voltage. That is, the threshold voltage is not represented as a hard value but rather varies according to the input states in the sub-threshold regime. Important parameters in the variability can be the input voltage and the time period. The smaller the voltage applied, the longer it takes for the switching to occur, and vice versa. This can be shown by the graphs 106 and 108, which show switching probability as a function of voltage and time, respectively. The average time τ for the device to switch and the applied voltage are exponentially related
log10( ) = aV (5)
With a and e being fitting parameters that are determined based on the device fabrication and material used. The values can be extracted as -2.67 and 5.43 accordingly. Moreover, the probability of switching within a time interval t was found to be following a Poisson distribution.
Ps(t = l - e- (6)
[0021 ] The graph 104 shows the resultant outcome of the stochastic process as a characteristic hysteresis with added switching points below the threshold. Nonetheless, despite this variability, the memristor can remain suitable for logic operations as it can toggle between two stable states. The ON state corresponding to the set operation with moving to RON, and the OFF state with moving to ROFF- Current sensing can be used to measure the output of the memristor. Accordingly, the low resistance state shows a high current that maps into digital Ί ', and the high resistance state gives a low current that corresponds to digital Ό'. Probabilistic analysis and formulation can be used to incorporate the probabilistic element into the digital computing realm, as discussed below. Several designs can be for the memristor 100 in logic design. For example, the imply operator can be the basis for Boolean gates. Where two memristors and a load resistor are used to sequentially and conditionally set/reset output according to q' <— p(imp)q. A CMOS-like logic can also be used, with polarized memristors resembling pmos and nmos transistors connected to form the complete set of the logic operators. A third approach builds on sequential logic, with several cycles needed to perform a logic operation such as a Boolean operation. In spite of the added cycles, only a single memristor is needed to perform 14 out of 16 logic operators. For example, AND, NAND, OR, and NOR can be performed with 3 cycles including an initialization cycle and two logical cycles that apply logical inputs to the terminals. Moreover, it all can be done within the compact memristive crossbar memory which paves the way for in-memory computing and further innovations as well. The basics of the sequential logic operations along with the added probabilistic outcomes are discussed further below.
[0022] The principles of operation of the sequential logic approach can use the two terminals of the memristor 100 as the inputs of any logic operator. Building on a bipolar switching, where opposite polarities are used for the SET and RESET of the memristor state of the memristor 100. A positive voltage, greater than the threshold, across the terminals Ti and T2 (e.g., Ti-T2>Vt) would move the memristor into the ON state or Ί ', where as a negative voltage would shift it back to the OFF state or Ό'. In this approach, no change is reflected in the memristor state (z) in case the terminals Tl and T2 are at the same potential.
[0023] Referring back to FIG. 1A, the truth table 101 shows this behavior. In order to realize a boolean operation, a sequence of cycles can be applied. For the logic gate, three cycles can be used to achieve the correct output of the operation. The first cycle can be considered an initialization cycle, where the memristor is put in a predetermined state, that would also facilitate the attainment of the required operation for the applied input parameters or logical inputs. For example, a logical T can be applied to Ti, and a logical '0' can be applied to T2 as an initialization stage, where Ti is greater than T2. In other cases, Ti can be set less than T2 as an initialization stage. In some cases, T1-T2 can be greater than the threshold Vt for some operational versions. Considering a device with set/reset threshold voltage of ± 4:6V, the applied voltage can be ± 5V to ensure proper switching and state change. However, once a stochasticity mode is in place, lower voltages (e.g. below the threshold voltage Vt) can trigger the switching to a stable state that would not change unless the reverse polarity voltage is applied. Hence, the gates can then behave in a probabilistic manner, but allow for better energy efficiency. Thereby, giving rise to the concept of approximate computing. The analysis of the gates under probabilistic operation is discussed further below.
[0024] Referring now to FIG. 2, a memristor logic device 200 is shown, that can perform logic and can also be referred to as a logic gate. The memristor logic device 200 has a memristor 100 and an output circuit 203. The memristor 100 has terminals Ti and T2 that can be used to control a state of the memristor 100. The memristor logic device 200 can perform different logic operations by applying a series of inputs or input cycles to the terminal Ti and T2, which can be considered terminals of the memristor logic device 200. The inputs can be applied by circuitry, such as an input circuit that includes passive and active circuit elements or components. Such an input circuit can control the timing an sequencing of logical inputs that can be applied to the terminals such as a particular voltage, a ground, or an open circuit. The output circuit 203 can give an output at an output terminal of the memristor logic device 200. The output circuit 203 can, for example, use current sensing to determine a state of the memristor 100 after each of a number of inputs to the terminal Ti and T2. The state that is sensed can be utilized to generate a probabilistic logical output, that can in some cases be used in another logic device such as another memristor logic device (e.g., memristor logic devices can be cascaded). In some cases, the output circuit 203 can include passive circuit elements and/or active circuit elements such as op-amps.
[0025] Based on the sequential logic highlighted earlier, a single memristor behavior governs the output values. Hence, under sub-threshold excitation the memristor can be characterized by a probability of switching Ps(t). With the incorporation of this variability, a set of assumptions can be used for analysis to ensure a common ground and to provide a simple overview of the expected outcome.
1) The initialization stage is deterministic
2) The inputs p and q to the logic gates are deterministic
3) The operation of the memristor is probabilistic with a generic switching probability Ps(t)
[0026] Thus, instead of having a certain correct output, the values are masked with the probability of switching and the sequence of applied input parameters. For each entry in the truth table, depending on the input setting, the certainty of having a correct output can be characterized by P For each gate the output for every entry in the truth table can hold a probability to be correct. This probability can be determined by the switching probability of the memristor and the sequence of input application.
[0027] Moving to FIG. 3A, shown is a NAND gate 303, and a memristor logic device 200 that is configured to operate as a NAND gate. A series of control inputs along with logical inputs can be applied to the terminals Ti and T2 such that the memristor logic device 200 operates as a NAND gate. For example, a sequence of inputs can be applied to the memristor logic device 200 at the terminals Ti and T2, including an initialization cycle and two logical cycles. Note that in some cases the logical cycles can include logical inputs p and q being input sequentially to the memristor logic device 200 at one of the terminals Ti and T2 (e.g., in a particular order), while a specific set of control inputs are applied sequentially to the other one of the terminals Ti and T2.
[0028] In NAND operation, the first cycle can be an initialization cycle and can apply control input 1, to Ti and control input 0 to T2. The second cycle can apply a control input 0 to Ti and a logical input q to T2. The third cycle can apply a control input 1 to Ti and a logical input p to T2. The state of the memristor 100 of the memristor logic device 200 once the third cycle is performed can cause a probabilistic logical output of the memristor logic device 200. In some cases, the initialization cycle control input T can be deterministic. Also, the voltage of the control input ' 1 ' can be greater than the threshold Vt for the initialization cycle. In some cases, the logical inputs and/or control inputs after the initialization cycle can be a lower voltage (e.g., lower than Vt).
[0029] FIG. 3B includes a table 312 that shows one example of inputs to Ti and T2 that can cause the memristor logic device 200 to operate as a NAND gate. For example, the three cycles applied to Ti can be (1, 0, 1) respectively, where the second two cycles (0,1) after the initialization input can be referred to as control inputs that can cause the memristor logic device 200 to operate as a NAND gate. The three cycles applied to T2 can be (0, q, p) respectively, where q and p are logical inputs to the memristor logic device 200. The state of the memristor 100 of the memristor logic device 200 once the third cycle is performed can cause a probabilistic logical output of the memristor logic device 200. The probabilistic output of the memristor logic device 200 operating as a NAND gate for each set of logical inputs can be described by Pout, as shown in the equations in table 315.
[0030] Details in the analysis for a NAND gate and all remaining gates can follow [[the]] a similar construct and flow, but can have their own set of probabilities and consequent behavior. For the input pair (p, q), four different combinations are available. For (p, q) = (0, 0), the first cycle can put the memristor in the ON state by applying control input 1 , to Ti and control input 0 to T2. The second cycle will not have an effect on the state of the memristor as a zero potential can put across its terminals. For the third cycle, a positive potential may not have an effect in changing the state as it is already in the ON state. Thus, having the pair (0, 0) can always produce a correct output, and P(l) = 1. For the pair (0,1), to get a correct one at the output, the memristor should switch to the ON state in the third cycle or it should not switch in the second and third cycles. The probability of getting the correct out for (0,1) is then
Po,i(X) = Ps (t) + (1 - ps(t))2
(7)
Figure imgf000011_0001
[0031 ] For the pair (1, 0), zero potential can be applied in the second and third cycles. This can move the initialization state directly to the output, so P(l) = 1. For the pair (1, 1), the second cycle can determine whether the output is correct or not, as the third cycle has zero potential and the previous state would then impact the output. Thus, to have a correct '0' at the output, the memristor can switch to the OFF state in the second cycle. Thus, P(0) = Ps(t). The overall probabilities of the NAND gate to get the '0' and the T correct at the output for the pair (1,1) are
PoutM = Ps(f) PoutW =
Figure imgf000011_0002
[0032] In FIG. 3C, graphs 318 and 321 show the output probabilities for Pout(l) and Pout(0), respectively. In each graph, the hard line represents the theoretical probabilistic analysis presented earlier. The points represent the simulation verification with the memristor element. The three cycle operation of the NAND gate can be applied on the memristor in sequence. All the truth table entries can be tested for 100 times each. The simulation can be run over a period of 1ms and the voltage ranged between 2V and 4V accordingly. The number of matches can be counted for each run and the overall probabilities can be calculated based on the expected outcome for the gate. In addition to the single bit probabilities, the behavior of the gate can be further quantified with the notion of accuracy or precision. It can be specified as
(9)
Accuracy = -r^ Pout(0) + -^P0Ut(X)
[0033] where N corresponds to the total number of entries in a particular truth table. Ni is the number of entries with the output set to Ί ' , and No is the number of entries with the output set to '0' . The accuracy for the NAND operator can be calculated as
Figure imgf000012_0001
[0034] Graph 324 shows the accuracy of the NAND gate with respect to the switching probability of the memristor. The theoretical precision attained can be verified with simulation of the memristor for 100 times for the all of the input pairs, and recording the output states. The NAND gates shows high accuracy starting from 75%. It is due to the deterministic initialization state that shifts the ON state to the output in two of the possible gate input combination. Hence, a large space for saving in terms of simple logic operation is possible with the scaling of the voltage and benefiting from the stochastic feature of the memristor 100. A similar analysis is conducted for all the remaining gates that require 3 cycles for operation, i.e. AND, OR, and NOR. When cascading the gates to form an arithmetic device that performs an arithmetic operation, a probabilistic dimension is added into the analysis and requires the accommodation of further parameters into account.
[0035] FIG. 4 A shows an AND gate 403, with logical inputs p and q. FIG. 4 A also shows the memristor logic device 200 configured to operate as an AND gate. A series of control inputs along with logical inputs can be applied to the terminals Ti and T2 such that the memristor logic device 200 operates as an AND gate. For example, the first cycle can be an initialization cycle and can apply control input 1, to Ti and control input 0 to T2. The second cycle can apply a logical input p to Ti and a control input 1 to T2. The third cycle can apply a logical input q to Ti and a control input 1 to T2. The state of the memristor 100 of the memristor logic device 200 once the third cycle is performed can cause a probabilistic logical output of the memristor logic device 200.
[0036] FIG. 4B includes a table 412 that shows one example of inputs to Ti and T2 that can cause the memristor logic device 200 to operate as an AND gate. For example, the three cycles applied to Ti can be (1, p, q) respectively, where p and q are the logical inputs to the AND gate. The three cycles applied to T2 can be (0, 1, 1) respectively, where 1 , 1 can be control inputs that cause the memristor logic device 200 to operate as an AND gate. The first cycle (e.g., where Ti=l, and T2=0) can be referred to as an initialization cycle or initialization inputs. The state of the memristor 100 of the memristor logic device 200 once the third cycle is performed can cause a probabilistic logical output of the memristor logic device 200. The probabilistic output of the memristor logic device 200 operating as an AND gate for each set of logical inputs can be described by Pout, as shown in the equations in table 415.
[0037] FIG. 4C shows graphs 418, 421, and 424. Graphs 418 and 421 show the output probabilities for Pout(l) and Pout(0), respectively. In each graph, the hard line represents the theoretical probabilistic analysis presented earlier. The points represent the simulation verification with the memristor element. Graph 424 shows the accuracy of the AND gate with respect to the switching probability of the memristor.
[0038] FIG. 5A shows an OR gate 503, with logical inputs p and q. The memristor logic device 200 is shown with inputs configured to cause it to operate as an OR gate. A series of control inputs along with logical inputs can be applied to the terminals Ti and T2 such that the memristor logic device 200 operates as an OR gate. For example, the first cycle can be an initialization cycle and can apply control input 1, to Ti and control input 0 to T2. The second cycle can apply a control input 0 to Ti and a logical input q to T2. The third cycle can apply a control input 1 to Ti and a logical input p to T2. The state of the memristor 100 of the memristor logic device 200 once the third cycle is performed can cause a probabilistic logical output of the memristor logic device 200.
[0039] FIG. 5B includes a table 512 that shows one example of inputs to Ti and T2 that can cause the memristor logic device 200 to operate as an OR gate. For example, the three cycles applied to Ti can be (1, p, q) respectively, where p and q are the logical inputs to the OR gate. The three cycles applied to T2 can be (0, 1, 0) respectively, where the second two cycles (1,0) can be control inputs that cause the memristor logic device 200 to operate as an OR gate. The first cycle (e.g., where Ti=l, and T2=0) can be referred to as an initialization cycle or initialization inputs. The state of the memristor 100 of the memristor logic device 200 once the third cycle is performed can cause a probabilistic logical output of the memristor logic device 200. The probabilistic output of the memristor logic device 200 operating as an OR gate for each set of logical inputs can be described by r out, as shown in the equations in table 515.
[0040] FIG. 5C shows graphs 518, 521, and 524. Graphs 518 and 521 show the output probabilities for Pout(l) and Pout(0), respectively. In each graph, the hard line represents the theoretical probabilistic analysis presented earlier. The points represent the simulation verification with the memristor element. Graph 524 shows the accuracy of the OR gate with respect to the switching probability of the memristor.
[0041 ] FIG. 6A shows a NOR gate 603, with logical inputs p and q. The memristor logic device 200 is shown with inputs configured to cause it to operate as a NOR gate. A series of control inputs along with logical inputs can be applied to the terminals Ti and T2 such that the memristor logic device 200 operates as a NOR gate. For example, the first cycle can be an initialization cycle and can apply control input 1, to Ti and control input 0 to T2. The second cycle can apply a control input 0 to Ti and a logical input q to T2. The third cycle can apply a control input 0 to Ti and a logical input p to T2. The state of the memristor 100 of the memristor logic device 200 once the third cycle is performed can cause a probabilistic logical output of the memristor logic device 200.
[0042] FIG. 6B includes a table 612 that shows one example of inputs to Ti and T2 that can cause the memristor logic device 200 to operate as a NOR gate. For example, the three cycles applied to Ti can be (1, 0, 0) respectively, where the second two cycles (0,0) can be control inputs that cause the memristor logic device 200 to operate as a NOR gate. The three cycles applied to T2 can be (0, q, p) respectively, where p and q are the logical inputs to the NOR gate. The first cycle (e.g., where Ti=l, and T2=0) can be referred to as an initialization cycle or initialization inputs. The state of the memristor 100 of the memristor logic device 200 once the third cycle is performed can cause a probabilistic logical output of the memristor logic device 200. The probabilistic output of the memristor logic device 200 operating as an OR gate for each set of logical inputs can be described by r out, as shown in the equations in table 615.
[0043] FIG. 6C shows graphs 618, 621, and 624. Graphs 618 and 621 show the output probabilities for Pout(l) and Pout(0), respectively. In each graph, the hard line represents the theoretical probabilistic analysis presented earlier. The points represent the simulation verification with the memristor element. Graph 624 shows the accuracy of the NOR gate with respect to the switching probability of the memristor. Basic arithmetic operations can build on the main logic gates that can be formed by a combination of the principles disclosed herein. [0044] FIG. 7A shows a half-adder 703, and a corresponding memristor half-adder 704. The memristor half-adder 704 is an arithmetic device that includes a memristor OR gate 705, a memristor NAND gate 706, and a memristor AND gate 707 composing an XOR gate. The memristor half-adder performs a half-adder operation, which is an arithmetic operation. For incorporating the stochastic memristor-based gates into an arithmetic operator, a basic building block can be a half adder. It can be mainly composed of an XOR gate for calculating the sum bit, comprising the OR gate 705, the NAND gate 706, and the AND gate 707. Another AND gate is used for the carry bit, as shown in the schematic of the half-adder 703. The logic equations for the output bits So and Co are
S0 = p (XOR) q (11) C0 = p (AND) q (12) However, as illustrated earlier, only 4 out of the 6 logic gates operators are possible with a single memristor. The remaining gates of XOR and XNOR can be attained by a combination of the basic gates. For example, The XOR is obtained by applying the OR gate 705, and the NAND gate 706 to the inputs p and q and then putting the results back into the AND gate 707. The equation of the operation is
p(XOR)q = (p(OR)q) AND (p (NAND)q) (13)
[0045] So, in order to analyze the behavior of this XOR gate, in this example the assumption of having deterministic inputs p and q may not hold valid. Especially at the input of the AND gate used to calculate the sum. For cascaded logic both inputs of the second stage logic can be probabilistic. The stochastic behavior of the memristor, and the gates in the first cycle can impose different input conditions on the following gates.
[0046] Note that because the logic is sequential, the cycles applied to each memristor gate can be designed to be staggered for proper sequential operation. For example, the third cycle (e.g. the output cycle) of the OR gate 705 may not complete at the same time as the third cycle of the NAND gate 706. Instead, they can complete sequentially, such that one of the gate outputs can be the logical 'p' and the other gate output can be the sequentially applied logical 'q' input to the AND gate 707. In some cases, there can also be circuits that apply the control input Ί ' to the top terminal of the AND gate 707 before the p and q inputs are received sequentially from the OR gate 705 and the NAND gate 706. In other cases, all inputs to the AND gate 707 can be probabilistic.
[0047] Further to the analysis of the AND gate, a distinct set of output probabilities can be formulated along with the precision of the sum and carry bit. The input probabilities can be assigned as Pin(l) and P;n(0). The probabilities for the inputs p and q are considered the same as they are coming from the outputs of the OR and NAND gates in the first stage that can exhibit similar probabilistic operation in terms of the output probabilities for ' 1 ' and Ό'. The output probabilities for the AND gate with probabilistic inputs are
PoutM = 3 + OPiniff) - Pin (X) - 2)Ps(t)
(14)
+(1 - Pin l) - P? (0) + P&(0)Pin(l))Ps 2(t))
PoutiX) = PiniX)Psit) + (pin (i) - i)pin(i)ps(t) (15)
[0048] FIG. 7B shows a truth table 709 for a half adder. The sum bit So can have two entries for '0' and two entries for T. Thereby, the accuracy or precision of the sum bit is specified as
Accuracy{S0) = i (Pout(0) + Pout(l)) (16)
[0049] For the carry bit Co, the accuracy can be that of the deterministic input AND gate that was shown earlier in Figure 5. It can be primarily dependent on the switching probability Ps(t) as its inputs can be deterministic. Accuracy(C0) = 7 (1 + Ps(t) - Ps 2 (t)) ^
4
[0050] The theoretical analysis can also be verified with simulation of the gates based on the stochastic memristor.
[0051 ] FIG. 7C includes graphs 718, 721, and 724. Graph 718 shows the accuracy measure in response to the level of voltage applied across the terminals of the memristor. Savings up to 18% in the voltage can have a minor impact on the accuracy, which can decrease drastically with lower values. FIG. 721 shows the accuracy as a function of the delay for a voltage of 3.7V and 3V respectively. As depicted, the accuracy of operation of the adder can increase with larger application time overlying the probabilistic behavior of the memristor. A compromise can arise between the delay and the accuracy achieved for a particular input voltage. This feature of approximate computing can be highly efficient with higher bit adders, especially with the added saving per block. The graph 724 shows the accuracy for the sum and carry bit in the theoretical and simulation forms. As noticed, the performance of the sum bit starts off at 50% as two cases are present for the high bit and since the AND gate produces accurate Ί ' . The accuracy of the carry bit can start with a lower performance than the sum, but can catch up at a switching probability of 0.3, and can have better performance onward.
[0052] FIG. 8 A shows a schematic of a full adder 803. In the half-adder, the XOR gate initiated with deterministic inputs. Thus, only the last AND gate required analysis with probabilistic inputs. However, the arithmetic block can be extended to include the carry in bit Cin, and an additional XOR operation can be performed to calculate the sum Si. Whereas the carry requires two AND operations and an OR to get the final carry out Ci. FIG. 8B shows a truth table 812 for the full adder. The equations for the output bits can be specified as
S1 = (p (XOR) q) XOR Cin (18) Q = (p (AND) q) OR ((p (XOR) q) AND Cin) (19)
[0053] The calculation of the output bits passes through several stages of gates. Hence, the inputs are not deterministic as the cascade induces the notion of variability or probabilistic outcomes. In a similar fashion to the analysis for the gates provided in the previous section, the output probabilities and the corresponding accuracy for each of the logic gates can be formulated based on non-deterministic input parameters. These equations can be tested with the output accuracy of the sum and carry bits.
[0054] FIG. 8C includes graphs 818 and 821, showing results of this analytical approach for SI and CI, respectively. The simulation can include the theoretical formulation based on the probabilities of the inputs and its consequent relation and cascades. In addition, a system level simulation of the memristor element-based structure can be conducted. A 100 simulation runs for the full architecture were conducted, and the resultant output can be noted in regards to the expected output behavior for all the entries in the truth table 812.
[0055] Moreover, there can be a relatively small degradation for the full adder in comparison to the half adder. This is due to the fact that both bits So and Si can be outputs of an XOR gate, but the first can be with deterministic inputs and the latter can be with probabilistic inputs. Thus, in this case the stochasticity can have a negative impact on performance. However, when comparing the carry bits Co and Ci, the performance can be enhanced with the added probabilistic operation. As shown, the accuracy of the full adder can have better performance up until around 0.3 probability of switching, after which, the accuracy for the half adder carry can show faster improvements. [0056] FIG. 8D includes a graph 825 that shows the sum accuracy plot with respect to the switching probability for various numbers of bits. To have a general overview of the system performance under several cascades, an N-bit adder can output characteristics as shown. A ripple-carry adder structure can be adopted. In some cases, degradation of performance can be saturated after 4 cascades. That is the accuracy of the sum bit, and similarly for the carry bit, can show a consistent behavior for adders with 4 bits and higher. That is, the effect of probabilistic components can fade or be balanced with the internal operation of the probabilistic internal adder blocks.
[0057] FIG. 8E includes a graph 828 and a graph 831. These graphs show examples of the configurable accuracy, delay, and energy relationship of the present disclosure. The graph 828 shows an example of accuracy as a function of voltage applied, for a number of time delays. The graph 831 shows an example of input voltage as a function of applied time period, for a number of precision measures. Depending on the applied time period, a 100% precision of operation can be achieved at a lower nominal voltage at the expense of longer delay. Fixed accuracy levels for a range of voltages and time can allow for diverse options in the design space allocation.
[0058] Although embodiments have been described herein in detail, the descriptions are by way of example. The features of the embodiments described herein are representative and, in alternative embodiments, certain features and elements may be added or omitted. Additionally, modifications to aspects of the embodiments described herein may be made by those skilled in the art without departing from the spirit and scope of the present invention defined in the following claims, the scope of which are to be accorded the broadest interpretation so as to encompass modifications and equivalent structures.

Claims

CLAIMS Therefore, at least the following is claimed:
1. A method comprising:
initializing a memristor by applying, in a first cycle, a voltage across a first terminal and a second terminal of the memristor, wherein initializing the memristor causes the memristor to be in a particular resistance state;
applying, in a second cycle, a first logical input to the first terminal of the memristor and a first control input to the second terminal of the memristor, the first logical input being below a threshold voltage of the memristor;
applying, in a third cycle, a second logical input to the first terminal of the memristor and a second control input to the second terminal of the memristor, the second logical input being below the threshold voltage of the memristor; and
determining a logical output of a memristor logic device comprising the memristor based on a resistance state of the memristor once the second logical input is applied.
2. The method of claim 1, wherein the memristor logic device is performing a logic operation that is at least one of an AND operation, an OR operation, a NAND, or a NOR operation at least in part by applying the first cycle, the second cycle, and the third cycle.
3. The method of claim 1, further comprising determining a probability that the logical output is a correct logical output for a logic operation being performed by the memristor logic device.
4. The method of claim 1, wherein determining the logical output further comprises current sensing to detect the resistance state of the memristor.
5. The method of claim 1, wherein the memristor logic device is a first memristor logic device, and further comprising
applying the logical output of the first memristor logic device to an input of another a second memristor logic device; and
performing an arithmetic operation using an arithmetic device comprising a plurality of memristor logic devices including the first_memristor logic device and the second memristor logic device.
6. The method of claim 5, wherein performing the arithmetic operation further comprises:
generating an arithmetic output of the arithmetic device; and determining a probability that the arithmetic output is a correct arithmetic output of the arithmetic operation.
7. An apparatus comprising:
a memristor comprising a first terminal, a second terminal, and an output terminal;
an input circuit that applies a sequence of inputs to the first terminal and a corresponding sequence of inputs to the second terminal in a plurality of cycles comprising an initialization cycle that causes the memristor to be in a particular state; and
at least one logic cycle that applies a logical input to the first terminal and a control input to the second terminal, wherein a voltage across the first terminal and the second terminal remains below a threshold voltage of the memristor for the at least one logic cycle; and
wherein a logical output at the output terminal is based on a resistance state of the memristor once the sequence of inputs to the first terminal and the corresponding sequence of inputs to the second terminal are applied.
8. The apparatus of claim 7, wherein the memristor logic device is configured to perform a logic operation that is at least one of an AND operation, an OR operation, a NAND, or a NOR operation based at least in part on the at least one logic cycle.
9. The apparatus of claim 7, further comprising:
output circuitry that determines a probability that the logical output is a correct logical output for a logic operation being performed by the apparatus.
10. The apparatus of claim 7, further comprising an output circuit that performs current sensing to detect the resistance state of the memristor and generates the logical output at the output terminal.
11. The apparatus of claim 7, wherein the memristor is a first memristor, and further comprising:
an arithmetic device that performs an arithmetic operation, the arithmetic device comprising the first memristor configured to perform a first logic operation; and
at least one second memristor coupled to an output of the first memristor and configured to perform a second logic operation.
12. The apparatus of claim 11, further comprising output circuitry configured to:
determine an arithmetic output of the arithmetic device; and determine a probability that the arithmetic output is a correct arithmetic output.
13. A logic device, comprising:
a memristor comprising a first terminal, a second terminal, and an output terminal; input circuitry coupled to the first terminal, and the second terminal, the input circuitry configured to apply a sequence of inputs to the memristor to cause the memristor to operate as the logic device, wherein the sequence of inputs comprises: an initialization cycle that initializes a state of the memristor; and at least a first logic cycle that that includes applying a logical input to the first terminal and a control input to the second terminal, wherein a voltage across the first terminal and the second terminal remains below a threshold voltage of the memristor for the at least one logic cycle; and
output circuitry configured to determine a logical output at the output terminal based on a resistance state of the memristor once the sequence of inputs are applied.
14. The logic device of claim 13, wherein the logic device is configured to perform a logic operation that is at least one of an AND operation, an OR operation, a NAND, or a NOR operation based at least in part on the at least one logic cycle.
15. The logic device of claim 13, wherein the output circuitry is further configured to:
determine a probability that the logical output is a correct logical output for a logic operation being performed by the memristor logic device.
16. The logic device of claim 13, wherein the output circuitry is further configured to:
perform current sensing to detect the resistance state of the memristor and generates the logical output at the output terminal.
17. The logic device of claim 13, wherein the logic device is configured to operate as a NAND gate, and wherein the sequence of inputs comprises: the initialization cycle comprising applying a control input of 1 to the first terminal and a control input of 0 to the second terminal;
a first logic cycle comprising applying a control input of 0 to the first terminal and a logical input of q to the second terminal; and
a second logic cycle comprising applying a control input of 1 to the first terminal and a logical input of p to the second terminal.
18. The logic device of claim 13, wherein the logic device is configured to operate as a AND gate, and wherein the sequence of inputs comprises:
the initialization cycle comprising applying a control input of 1 to the first terminal and a control input of 0 to the second terminal;
a first logic cycle comprising applying a logical input of p to the first terminal and a control input of 1 to the second terminal; and
a second logic cycle comprising applying a logical input of q to the first terminal and a contrail input of 1 to the second terminal.
19. The logic device of claim 13, wherein the logic device is configured to operate as a OR gate, and wherein the sequence of inputs comprises:
the initialization cycle comprising applying a control input of 1 to the first terminal and a control input of 0 to the second terminal;
a first logic cycle comprising applying a control input of 0 to the first terminal and a logical input of q to the second terminal; and
a second logic cycle comprising applying a control input of 1 to the first terminal and a logical input of p to the second terminal.
20. The logic device of claim 13, wherein the logic device is configured to operate as a NOR gate, and wherein the sequence of inputs comprises:
the initialization cycle comprising applying a control input of 1 to the first terminal and a control input of 0 to the second terminal;
a first logic cycle comprising applying a control input of 0 to the first terminal and a logical input of q to the second terminal; and
a second logic cycle comprising applying a control input of 0 to the first terminal and a logical input of p to the second terminal.
PCT/IB2018/052524 2017-04-20 2018-04-10 Stochastic memristor logic devices WO2018193338A1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US16/606,786 US10748609B2 (en) 2017-04-20 2018-04-10 Stochastic memristor logic devices
EP18721470.5A EP3613048B1 (en) 2017-04-20 2018-04-10 Stochastic memristor logic devices
US16/922,255 US11393527B2 (en) 2017-04-20 2020-07-07 Stochastic memristor logic devices

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201762487758P 2017-04-20 2017-04-20
US62/487,758 2017-04-20

Related Child Applications (2)

Application Number Title Priority Date Filing Date
US16/606,786 A-371-Of-International US10748609B2 (en) 2017-04-20 2018-04-10 Stochastic memristor logic devices
US16/922,255 Continuation US11393527B2 (en) 2017-04-20 2020-07-07 Stochastic memristor logic devices

Publications (1)

Publication Number Publication Date
WO2018193338A1 true WO2018193338A1 (en) 2018-10-25

Family

ID=62092184

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/IB2018/052524 WO2018193338A1 (en) 2017-04-20 2018-04-10 Stochastic memristor logic devices

Country Status (3)

Country Link
US (2) US10748609B2 (en)
EP (1) EP3613048B1 (en)
WO (1) WO2018193338A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113314176A (en) * 2021-06-04 2021-08-27 哈尔滨工程大学 memristor-CMOS (complementary Metal oxide semiconductor transistor) logic module and factorization carry look-ahead adder

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017146706A1 (en) * 2016-02-25 2017-08-31 Hewlett Packard Enterprise Development Lp Performing complex multiply-accumulate operations
CN114092503A (en) * 2020-08-24 2022-02-25 华为技术有限公司 Detection circuit, chip and electronic equipment
US11462267B2 (en) * 2020-12-07 2022-10-04 Rockwell Collins, Inc. System and device including memristor material
CN112803943B (en) * 2020-12-31 2023-06-16 杭州电子科技大学 Digital AND gate implementation method based on three-value memristor
CN113362872B (en) * 2021-06-16 2022-04-01 华中科技大学 Memristor-based complete nonvolatile Boolean logic circuit and operation method

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100220523A1 (en) * 2009-03-01 2010-09-02 International Business Machines Corporation Stochastic synapse memory element with spike-timing dependent plasticity (stdp)

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8183554B2 (en) * 2006-04-03 2012-05-22 Blaise Laurent Mouttet Symmetrical programmable memresistor crossbar structure
WO2009072213A1 (en) * 2007-12-07 2009-06-11 Fujitsu Limited Resistance change-type memory device, nonvolatile memory device, and method for manufacturing them
WO2010136007A2 (en) * 2009-05-29 2010-12-02 Forschungszentrum Jülich GmbH Memory element, stacking, memory matrix and method for operation
CN105190761A (en) * 2013-03-27 2015-12-23 惠普发展公司,有限责任合伙企业 Non-volatile memory based synchronous logic
US9685954B2 (en) * 2014-03-09 2017-06-20 Technion Research & Development Foundation Ltd. Pure memristive logic gate
WO2015161450A1 (en) * 2014-04-22 2015-10-29 华为技术有限公司 Latch and d trigger
CN104124960B (en) * 2014-06-20 2018-02-23 华中科技大学 A kind of non-volatile boolean calculation circuit and its operating method
GB2548081B (en) * 2016-02-23 2019-10-02 Univ Oxford Brookes Logic gate
US10171083B2 (en) * 2016-12-05 2019-01-01 Board Of Regents, The University Of Texas System Memristor logic design using driver circuitry

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100220523A1 (en) * 2009-03-01 2010-09-02 International Business Machines Corporation Stochastic synapse memory element with spike-timing dependent plasticity (stdp)

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
ANNE SIEMON ET AL: "Realization of Boolean Logic Functionality Using Redox-Based Memristive Devices", ADVANCED FUNCTIONAL MATERIALS, vol. 25, no. 40, 1 October 2015 (2015-10-01), DE, pages 6414 - 6423, XP055494332, ISSN: 1616-301X, DOI: 10.1002/adfm.201500865 *
LINN E ET AL: "Paper;Beyond von Neumann logic operations in passive crossbar arrays alongside memory operations;Beyond von Neumann logic operations in passive crossbar arrays alongside memory operations", NANOTECHNOLOGY, IOP, BRISTOL, GB, vol. 23, no. 30, 10 July 2012 (2012-07-10), pages 305205, XP020227293, ISSN: 0957-4484, DOI: 10.1088/0957-4484/23/30/305205 *
YI LI ET AL: "Realization of Functional Complete Stateful Boolean Logic in Memristive Crossbar", ACS APPLIED MATERIALS & INTERFACES, vol. 8, no. 50, 21 December 2016 (2016-12-21), US, pages 34559 - 34567, XP055494341, ISSN: 1944-8244, DOI: 10.1021/acsami.6b11465 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113314176A (en) * 2021-06-04 2021-08-27 哈尔滨工程大学 memristor-CMOS (complementary Metal oxide semiconductor transistor) logic module and factorization carry look-ahead adder
CN113314176B (en) * 2021-06-04 2024-05-28 哈尔滨工程大学 Memristor-CMOS logic module and factorization carry-look-ahead adder

Also Published As

Publication number Publication date
US20200194066A1 (en) 2020-06-18
EP3613048A1 (en) 2020-02-26
US11393527B2 (en) 2022-07-19
US10748609B2 (en) 2020-08-18
EP3613048B1 (en) 2021-03-10
US20200335162A1 (en) 2020-10-22

Similar Documents

Publication Publication Date Title
US11393527B2 (en) Stochastic memristor logic devices
Singh Hybrid memristor-cmos (memos) based logic gates and adder circuits
US10855288B2 (en) Logic design with unipolar memristors
CN106941350B (en) Memristor-based exclusive-OR gate circuit and design and manufacturing method
Puglisi et al. Energy-efficient logic-in-memory I-bit full adder enabled by a physics-based RRAM compact model
Teimoory et al. A hybrid memristor-CMOS multiplier design based on memristive universal logic gates
Gupta et al. Scrimp: A general stochastic computing architecture using reram in-memory processing
Puglisi et al. SIMPLY: Design of a RRAM-based smart logic-in-memory architecture using RRAM compact model
CA2542055A1 (en) Method and apparatus for a chaotic computing module
Wang et al. A novel design for memristor-based multiplexer via NOT-material implication
Irmanova et al. Multi-level memristive memory with resistive networks
WO2015197853A1 (en) Device and method for calibrating a digital sensor
Ensan et al. SCARE: Side channel attack on in-memory computing for reverse engineering
Naous et al. Approximate computing with stochastic memristors
Paramasivam et al. A Novel Hybrid CMOS-Memristor Based 2-Bit Magnitude Comparator using Memristor Ratioed Logic Universal Gate for Low Power Applications
Wouters et al. Reliability of Computing-In-Memory Concepts Based on Memristive Arrays
Naous et al. Stochastic memristor logic devices
Chakraborty et al. Bdd based synthesis technique for design of high-speed memristor based circuits
Hosseinzadeh et al. Optimizing multi-level ReRAM memory for low latency and low energy consumption
Ibrahim et al. Digital design using CMOS and hybrid CMOS/memristor gates: A comparative study
CN109584930B (en) Data reading method and nonvolatile memory device using the same
Lieske et al. Multi-level memristive voltage divider: Programming scheme trade-offs
US10665277B2 (en) Timing calibration system and a method thereof
Bunnam et al. An excitation time model for general-purpose memristance tuning circuit
Brackmann et al. Improved Arithmetic Performance by Combining Stateful and Non‐Stateful Logic in Resistive Random Access Memory 1T–1R Crossbars

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 18721470

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2018721470

Country of ref document: EP

Effective date: 20191120