Computation of Boolean Formulas Using Sneak Paths in Crossbar …eecs.ucf.edu/~velasquez/DAC.pdf ·...

1
RESEARCH POSTER PRESENTATION DESIGN © 2012 www.PosterPresentations.com Memristor-based nano-crossbar computing is a revolutionary computing paradigm that does away with the traditional Von Neumann architectural separation of memory and computation units. The computation of Boolean formulas using memristor circuits has been a subject of several recent investigations. Crossbar computing, in general, has also been a topic of active interest, but sneak paths have posed a hurdle in the design of pervasive general-purpose crossbar computing paradigms. In this paper, we demonstrate that sneak paths in nano-crossbar computing can be exploited to design a Boolean-formula evaluation strategy. We demonstrate our approach on a simple Boolean formula and a 1-bit addition circuit. We also conjecture that our nano-crossbar design will be an eective approach for synthesizing high-performance customized arithmetic and logic circuits. ABSTRACT DEFINITIONS Our method to evaluate Boolean formulas requires the formulas to be in negation normal form (NNF). Let φ be an NNF Boolean formula. We define an array of memristors M φ as follows. For φ =l, a literal, let = if l is true (this denotes a turned-on memirstor), and if false (turned-off memristor). Then For φ = φ 1 φ 2 , the array has m 1 + m 2 − 1 rows and n 1 + n 2 columns, and is defined by (Where green memristors are turned on, black memristors are turned off, and superscripts indicate array dimensions): For φ = φ 1 φ 2 , the array has m 1 + m 2 rows and n 1 + n 2 + 2 columns, and is defined by: The memristor array M φ is an operator on the nanowires it intersects. To compute the value of φ, denoted v(φ), it must be applied to a set of nanowires in which only the first (or bottom) row has current. If this current forms a sneak path trajectory that causes significant current to be generated in the last (top) row, then φ evaluates to true. Below are a couple of examples. CROSSBAR DESIGNS We built a memristor-based crossbar model for the formula ¬A ¬B ¬C recognizing the pattern “A=0, B=0, C=0”, in which we used 10,000 Ω as the turned-oresistance, and 1,000 Ω as the turned-on resistance. In the crossbar figure below, the red curve shows the flow of the current through the only low-resistance path in the crossbar when the memristors for ¬A, ¬B, and ¬C are turned-on. When any of these memristors is turned-o, there is no low-resistance path from +V to ground in the crossbar. The figure on the right shows the results of simulating this circuit using HSPICE for two cases. For the only case in which the formula is true, when ¬A, ¬B and ¬C are true, the current flowing through the voltage source is of the order of 10 -4 amperes. For the case when ¬A, ¬B and ¬C are false, and hence the formula is false, the current flowing through the voltage source is less than 10 -5 . The nano-crossbar design for the sum bit in a 1-bit adder, whose formula is given by S = (~A ^ ~B ^ ) V (~A ^ B ^ ~ ) V (A ^ ~B ^ ~ ) V (A ^ B ^ ), and the results from the simulations on said design are shown below. Note that the measured voltage at the top crosswire relates very well with the expected logical sum of the 1-bit adder: a voltage value in excess of 1 volt indicates the logical value true, while a voltage value below 0.5 volts indicates the logical value false. In more recent work, we have also developed designs for computing Boolean matrix products in a space-efficient manner by using sneak paths as a tool. We define A and B below and the image on the right symbolizes the crossbar construction for the product C = AB. Below are the results of the simulation. Notice that the voltage values measured compare favorably to the expected result. EXPERIMENTS FUTURE WORK We have proposed a design for the evaluation of Boolean formulas using memristor-based crossbars. Our approach is counterintuitive. It transfigures sneak paths, well-known as a problem, into first-class design elements. Our framework is also asynchronous, requiring a single voltage pulse to perform computations. Furthermore, it is easily scalable to arbitrarily large Boolean formulas. We are currently investigating nano-crossbar computation frameworks for calculating binary scalar multiplication, Boolean matrix products, and arithmetic involving integers. We seek to propose a library of methods to perform mathematical operations which can be combined to compute more complex operations. We will leverage this design to create a new algorithmic framework for constructing memristor-based nano-crossbar circuits that can implement programs involving arithmetic and logical operations as well as randomized algorithms. The resulting computing architecture will have applications in several important areas of computational data science and cyber-security, including extreme-scale simulation of complex systems such as agent-based models, biochemical reactions and fluid dynamics computations. By accelerating satisfiability solving, this research will also create new avenues for accelerating other NP-hard problems. REFERENCES [1] Zdenek Biolek, Dalibor Biolek, and Viera Biolkova. Spice model of memristor with nonlinear dopant drift. Radioengineering, 18(2):210214, 2009. [2] Julien Borghetti, Gregory S Snider, Philip J Kuekes, J Joshua Yang, Duncan R Stewart, and R Stanley Williams. ‘memristive’switches enable ‘stateful’logic operations via material implication. Nature, 464(7290):873876, 2010. [3] Y. Cassuto, S. Kvatinsky, and E. Yaakobi. Sneak-path constraints in memristor crossbar arrays. In Information Theory Proceedings (ISIT), 2013 IEEE International Symposium on, pages 156160, 2013. [4] Ella Gale, Ben de Lacy Costello, and Andrew Adamatzky. Boolean logic gates from a single memristor via low-level sequential logic. In Unconventional Computation and Natural Computation, pages 7989. Springer, 2013. [5] Yogesh N Joglekar and Stephen J Wolf. The elusive memristor: properties of basic electrical circuits. European Journal of Physics, 30(4):661, 2009. [6] Themistoklis Prodromakis, Boon Pin Peh, Christos Papavassiliou, and Christofer Toumazou. A versatile memristor model with nonlinear dopant kinetics. Electron Devices, IEEE Transactionson, 58(9):30993105, 2011. [7] Adam Rak and Gyorgy Cserey. Macromodeling of the memristor in spice. Computer-aided design of integrated circuits and systems, IEEE Transactions on, 29(4):632636, 2010. [8] Dmitri B Strukov, Gregory S Snider, Duncan R Stewart, and R Stanley Williams. The missing memristor found. Nature, 453(7191):8083, 2008. [9] Frank Y. Wang. Memristor for introductory physics. arXiv preprint, arXiv:0808.0286, 2008. Memristor: A memristor consists of a film with a low-resistance (R on ) region containing ions that drift as current is applied. The undoped region of the film has a much higher resistance denoted by R off . The total resistance (memristence) of a memristor at time t can be given by: = () + (1 − ) where = / , is the average ion mobility and q is the charge. Thus, we can redefine memristance as a function of charge as follows: = = (1 − 2 ) Memristor Crossbar: A memristor crossbar is an m-by-n array of memristors. We use crossbars like this one to compute Boolean formulas by redirecting current from the first row (horizontal nanowire) to the last row such that significant current will flow through the final row iff the Boolean formula evaluates to true. Sneak Paths: Letting ‘1’ denote a turned-on memristor (low resistance) and ‘0’ denote a turned-off memristor (high resistance), we informally define sneak paths as trajectories of current generated by the redirection of current when a turned-on memristor is encountered. This redirection occurs whenever a nanowire has current and on said nanowire there is a turned-on memristor. The low resistance of said memristor causes the current in the nanowire to “sneak” into that memristor’s other interconnected nanowire. Examples of this can be seen in the figure below. In these examples it can be seen that a horizontal nanowire with current (green) will only sneak current to a vertical nanowire if a turned-on memristor is encountered in said nanowire. The same applies for vertical nanowires with current. It is worth noting that sneak currents actually pose a significant problem in individually-addressable memristor Designs [3] due to the possibility of a sneak current causing a turned-off memristor to be read as if it were turned-on. We propose crossbar designs that are not only free of this problem, but actually utilize sneak currents as a tool to aid in the computation of Boolean formulas. 1: University of Central Florida, 2: Air Force Research Laboratory Computation of Boolean Formulas Using Sneak Paths in Crossbar Computing Sumit Kumar Jha 1 Alvaro Velasquez 1 Dilia E. Rodriguez 2 Joseph E. Van Nostrand 2 [email protected] [email protected] [email protected] [email protected] RELATED WORKS In [2], HP Labs developed a method for implementing stateful logic using memristors. They begin by implementing implication logic using two memristors and extend this framework to create a NAND operation using three memristors and three synchronized voltage pulses. The method is as follows. Let be the voltage applied to a memristor to achieve a turned-on (low resistance) state, turns off a memristor (high resistance), and maintains a memristor’s state so that a sneak current does not affect its current state. Now let p and q be memristors (see a. below); then applying V COND to p and V SET to q, we see that the final state of q and the initial states of p and q will be indicative of an implication operation. Arguing that the NAND operation is computationally complete, HP Labs demonstrated a way to implement NAND using three memristors and three voltage pulses. In theory, this method can be used to compute Boolean formulas, but it is very difficult to scale this method to larger formulas.

Transcript of Computation of Boolean Formulas Using Sneak Paths in Crossbar …eecs.ucf.edu/~velasquez/DAC.pdf ·...

Page 1: Computation of Boolean Formulas Using Sneak Paths in Crossbar …eecs.ucf.edu/~velasquez/DAC.pdf · Sumit Kumar Jha1 Alvaro Velasquez1 Dilia E. Rodriguez2 Joseph E. Van Nostrand2

RESEARCH POSTER PRESENTATION DESIGN © 2012

www.PosterPresentations.com

Memristor-based nano-crossbar computing is a revolutionary computing

paradigm that does away with the traditional Von Neumann architectural

separation of memory and computation units. The computation of Boolean

formulas using memristor circuits has been a subject of several recent

investigations. Crossbar computing, in general, has also been a topic of

active interest, but sneak paths have posed a hurdle in the design of

pervasive general-purpose crossbar computing paradigms. In this paper, we

demonstrate that sneak paths in nano-crossbar computing can be exploited

to design a Boolean-formula evaluation strategy. We demonstrate our

approach on a simple Boolean formula and a 1-bit addition circuit. We also

conjecture that our nano-crossbar design will be an effective approach for

synthesizing high-performance customized arithmetic and logic circuits.

ABSTRACT

DEFINITIONS

Our method to evaluate Boolean formulas requires the formulas to be in

negation normal form (NNF). Let φ be an NNF Boolean formula. We

define an array of memristors Mφ as follows.

• For φ =l, a literal, let = if l is true (this denotes a turned-on

memirstor), and ⊗ if false (turned-off memristor). Then

• For φ = φ1 ∧ φ2, the array has m1 + m2 − 1 rows and n1 + n2 columns,

and is defined by (Where green memristors are turned on, black

memristors are turned off, and superscripts indicate array dimensions):

• For φ = φ1 ∨ φ2, the array has m1 + m2 rows and n1 + n2 + 2 columns,

and is defined by:

The memristor array Mφ is an operator on the nanowires it intersects. To

compute the value of φ, denoted v(φ), it must be applied to a set of

nanowires in which only the first (or bottom) row has current. If this

current forms a sneak path trajectory that causes significant current to be

generated in the last (top) row, then φ evaluates to true. Below are a couple

of examples.

CROSSBAR DESIGNS

We built a memristor-based crossbar model for the formula ¬A ∧ ¬B ∧ ¬C

recognizing the pattern “A=0, B=0, C=0”, in which we used 10,000 Ω as

the turned-off resistance, and 1,000 Ω as the turned-on resistance. In the

crossbar figure below, the red curve shows the flow of the current through

the only low-resistance path in the crossbar when the memristors for ¬A,

¬B, and ¬C are turned-on. When any of these memristors is turned-off,

there is no low-resistance path from +V to ground in the crossbar.

The figure on the right shows the results of simulating this circuit using

HSPICE for two cases. For the only case in which the formula is true,

when ¬A, ¬B and ¬C are true, the current flowing through the voltage

source is of the order of 10-4 amperes. For the case when ¬A, ¬B and ¬C

are false, and hence the formula is false, the current flowing through the

voltage source is less than 10-5.

The nano-crossbar design for the sum bit in a 1-bit adder, whose formula is

given by S = (~A ^ ~B ^ 𝐶𝑖𝑛) V (~A ^ B ^ ~𝐶𝑖𝑛) V (A ^ ~B ^ ~𝐶𝑖𝑛) V (A ^

B ^ 𝐶𝑖𝑛), and the results from the simulations on said design are shown

below. Note that the measured voltage at the top crosswire relates very

well with the expected logical sum of the 1-bit adder: a voltage value in

excess of 1 volt indicates the logical value true, while a voltage value

below 0.5 volts indicates the logical value false.

In more recent work, we have also developed designs for computing

Boolean matrix products in a space-efficient manner by using sneak paths

as a tool. We define A and B below and the image on the right symbolizes

the crossbar construction for the product C = AB.

Below are the results of the simulation. Notice that the voltage values

measured compare favorably to the expected result.

EXPERIMENTS FUTURE WORK

We have proposed a design for the evaluation of Boolean formulas using

memristor-based crossbars. Our approach is counterintuitive. It

transfigures sneak paths, well-known as a problem, into first-class design

elements. Our framework is also asynchronous, requiring a single voltage

pulse to perform computations. Furthermore, it is easily scalable to

arbitrarily large Boolean formulas.

We are currently investigating nano-crossbar computation frameworks for

calculating binary scalar multiplication, Boolean matrix products, and

arithmetic involving integers. We seek to propose a library of methods to

perform mathematical operations which can be combined to compute more

complex operations.

We will leverage this design to create a new algorithmic framework for

constructing memristor-based nano-crossbar circuits that can implement

programs involving arithmetic and logical operations as well as

randomized algorithms. The resulting computing architecture will have

applications in several important areas of computational data science and

cyber-security, including extreme-scale simulation of complex systems

such as agent-based models, biochemical reactions and fluid dynamics

computations. By accelerating satisfiability solving, this research will also

create new avenues for accelerating other NP-hard problems.

REFERENCES

[1] Zdenek Biolek, Dalibor Biolek, and Viera Biolkova. Spice model of

memristor with nonlinear dopant drift. Radioengineering, 18(2):210–214,

2009.

[2] Julien Borghetti, Gregory S Snider, Philip J Kuekes, J Joshua Yang,

Duncan R Stewart, and R Stanley Williams. ‘memristive’switches enable

‘stateful’logic operations via material implication. Nature, 464(7290):873–

876, 2010.

[3] Y. Cassuto, S. Kvatinsky, and E. Yaakobi. Sneak-path constraints in

memristor crossbar arrays. In Information Theory Proceedings (ISIT),

2013 IEEE International Symposium on, pages 156–160, 2013.

[4] Ella Gale, Ben de Lacy Costello, and Andrew Adamatzky. Boolean

logic gates from a single memristor via low-level sequential logic. In

Unconventional Computation and Natural Computation, pages 79–89.

Springer, 2013.

[5] Yogesh N Joglekar and Stephen J Wolf. The elusive memristor:

properties of basic electrical circuits. European Journal of Physics,

30(4):661, 2009.

[6] Themistoklis Prodromakis, Boon Pin Peh, Christos Papavassiliou, and

Christofer Toumazou. A versatile memristor model with nonlinear dopant

kinetics. Electron Devices, IEEE Transactionson, 58(9):3099–3105, 2011.

[7] Adam Rak and Gyorgy Cserey. Macromodeling of the memristor in

spice. Computer-aided design of integrated circuits and systems, IEEE

Transactions on, 29(4):632–636, 2010.

[8] Dmitri B Strukov, Gregory S Snider, Duncan R Stewart, and R Stanley

Williams. The missing memristor found. Nature, 453(7191):80–83, 2008.

[9] Frank Y. Wang. Memristor for introductory physics. arXiv preprint,

arXiv:0808.0286, 2008.

Memristor: A memristor consists of a film with a low-resistance (Ron)

region containing ions that drift as current is applied. The undoped region

of the film has a much higher resistance denoted by Roff.

The total resistance (memristence) of a memristor at time t can be given

by: 𝑀 =𝑤(𝑡)

𝐷𝑅𝑜𝑛 + (1 −

𝑤 𝑡

𝐷)𝑅𝑜𝑓𝑓

where 𝑤 𝑡 = 𝜇𝑅𝑜𝑛𝑞/𝐷, 𝜇 is the average ion mobility

and q is the charge.

Thus, we can redefine memristance as a

function of charge as follows:

𝑀 𝑞 =𝑑𝜑

𝑑𝑞= 𝑅𝑜𝑓𝑓(1 − 𝜇𝑅𝑜𝑛𝑞

𝐷2)

Memristor Crossbar: A memristor crossbar is an m-by-n array of

memristors. We use crossbars like this one to compute Boolean formulas

by redirecting current from the first row (horizontal nanowire) to the last

row such that significant current will flow through the final row iff the

Boolean formula evaluates to true.

Sneak Paths: Letting ‘1’ denote a turned-on memristor (low resistance)

and ‘0’ denote a turned-off memristor (high resistance), we informally

define sneak paths as trajectories of current generated by the redirection of

current when a turned-on memristor is encountered. This redirection

occurs whenever a nanowire has current and on said nanowire there is a

turned-on memristor. The low resistance of said memristor causes the

current in the nanowire to “sneak” into that memristor’s other

interconnected nanowire. Examples of this can be seen in the figure below.

In these examples it can be seen that a horizontal

nanowire with current (green) will only sneak current to

a vertical nanowire if a turned-on memristor is

encountered in said nanowire. The same applies for

vertical nanowires with current.

It is worth noting that sneak currents actually pose a

significant problem in individually-addressable memristor

Designs [3] due to the possibility of a sneak current causing a turned-off

memristor to be read as if it were turned-on. We propose crossbar designs

that are not only free of this problem, but actually utilize sneak currents as

a tool to aid in the computation of Boolean formulas.

1: University of Central Florida, 2: Air Force Research Laboratory

Computation of Boolean Formulas Using Sneak Paths in Crossbar Computing

Sumit Kumar Jha1 Alvaro Velasquez1 Dilia E. Rodriguez2 Joseph E. Van Nostrand2

[email protected] [email protected] [email protected] [email protected]

RELATED WORKS

In [2], HP Labs developed a method for implementing stateful logic using

memristors. They begin by implementing implication logic using two

memristors and extend this framework to create a NAND operation using

three memristors and three synchronized voltage pulses. The method is as

follows.

Let 𝑉𝑆𝐸𝑇 be the voltage applied to a memristor to achieve a turned-on (low

resistance) state, 𝑉𝐶𝐿𝐸𝐴𝑅 turns off a memristor (high resistance), and 𝑉𝐶𝑂𝑁𝐷maintains a memristor’s state so that a sneak current does not affect its

current state. Now let p and q be memristors (see a. below); then applying

VCOND to p and VSET to q, we see that the final state of q and the initial

states of p and q will be indicative of an implication operation.

Arguing that the NAND operation is computationally complete, HP Labs

demonstrated a way to implement NAND using three memristors and three

voltage pulses. In theory, this method can be used to compute Boolean

formulas, but it is very difficult to scale this method to larger formulas.