Application of Feynman-like notation to synthesis of circuits from memristors Marek Perkowski November 5, 2012.

Slides:



Advertisements
Similar presentations
Reversible Gates in various realization technologies
Advertisements

SOP and POS Forms Notation.
Documentation Standards
Chapter 2 Logic Circuits.
ECE 667 Synthesis & Verification - Boolean Functions 1 ECE 667 Spring 2013 ECE 667 Spring 2013 Synthesis and Verification of Digital Circuits Boolean Functions.
ECE 331 – Digital System Design
Lecture 20, Slide 1EECS40, Fall 2004Prof. White Lecture #20 ANNOUNCEMENT Midterm 2 Thursday Nov. 18, 12:40 – 2:00 pm A-L initials in F295 Haas Business.
Technology Mapping.
Chapter 4 Gates and Circuits.
How to build a digital gate. CMOS NAND Gate Several realization of NOT 1. This is how a NOT operation is often represented schematically. 2. Sometimes.
Boolean Functions and their Representations
CHAPTER 3 Digital Logic Structures
4/11/03 Minute Paper How does MS window work? Like how do we have the screen on the computer. Is it just a bunch of Binary #’s representing colors? When.
 2000 M. CiesielskiPTL Synthesis1 Synthesis for Pass Transistor Logic Maciej Ciesielski Dept. of Electrical & Computer Engineering University of Massachusetts,
EET 1131 Unit 5 Boolean Algebra and Reduction Techniques
Computer Engineering (Logic Circuits) (Karnaugh Map)
© 2000 Prentice Hall Inc. Figure 6.1 AND operation.
Design Of Combinational Logic Circuits
W. G. Oldham EECS 40 Fall 2001 Lecture 2 Copyright Regents of University of California The CMOS Inverter: Current Flow during Switching V IN V OUT V DD.
ENGG 1203 Tutorial Combinational Logic (I) 1 Feb Learning Objectives
Project Description The memristor was proposed in 1971 by Leon Chua [1] on the basis of symmetry using the classical relationships describing resistance,
Chapter 4 Gates and Circuits. 4–2 Chapter Goals Identify the basic gates and describe the behavior of each Describe how gates are implemented using transistors.
Introduction to Digital Logic Design Appendix A of CO&A Dr. Farag
Chapter 4 Gates and Circuits.
Digital Logic Synthesis for Memristors
MOS Transistors The gate material of Metal Oxide Semiconductor Field Effect Transistors was original made of metal hence the name. Present day devices’
Chapter 4 Gates and Circuits.
Logic Design A Review. Binary numbers Binary numbers to decimal  Binary 2 decimal  Decimal 2 binary.
Digital Electronics. Introduction to Number Systems & Codes Digital & Analog systems, Numerical representation, Digital number systems, Binary to Decimal.
1 Lecture 10 PLDs  ROMs Multilevel logic. 2 Read-only memories (ROMs) Two dimensional array of stored 1s and 0s  Input is an address  ROM decodes all.
Computer Organization 1 Logic Gates and Adders. Propositions –Venn Diagrams.
Combinational Logic By Taweesak Reungpeerakul
Company LOGO DKT 122/3 DIGITAL SYSTEM 1 WEEK #7 COMBINATIONAL LOGIC ANALYSIS.
Optimization Algorithm
Combinational Problems: Unate Covering, Binate Covering, Graph Coloring and Maximum Cliques Example of application: Decomposition.
Logic Gates Shashidhara H S Dept. of ISE MSRIT. Basic Logic Design and Boolean Algebra GATES = basic digital building blocks which correspond to and perform.
Chapter 3: Digital Logic Dr Mohamed Menacer Taibah University
Sneha.  Gates Gates  Characteristics of gates Characteristics of gates  Basic Gates Basic Gates  AND Gate AND Gate  OR gate OR gate  NOT gate NOT.
CH51 Chapter 5 Combinational Logic By Taweesak Reungpeerakul.
LOGIC GATES & BOOLEAN ALGEBRA
1 Lecture 6 BOOLEAN ALGEBRA and GATES Building a 32 bit processor PH 3: B.1-B.5.
Logic Gates. The Inverter The inverter (NOT circuit) performs the operation called inversion or complementation. Standard logic symbols: 1 1 input output.
Computer Organization and Design Transistors & Logic - II Montek Singh Oct {21,28}, 2015 Lecture 10.
1 BOOLEAN ALGEBRA Basic mathematics for the study of logic design is Boolean Algebra Basic laws of Boolean Algebra will be implemented as switching devices.
Digital Logic Design Week 4 Boolean algebra. Laws and rules De Morgan’s theorem Analysis of logic circuits Standard forms Project 1 preparation.
Technology Mapping. 2 Technology mapping is the phase of logic synthesis when gates are selected from a technology library to implement the circuit. Technology.
BOOLEAN ALGEBRA AND LOGIC SIMPLIFICATION
CHAPTER 1 INTRODUCTION TO DIGITAL LOGIC
© 2009 Pearson Education, Upper Saddle River, NJ All Rights ReservedFloyd, Digital Fundamentals, 10 th ed Binary Numbers For digital systems, the.
ECE 171 Digital Circuits Chapter 4 Boolean Algebra Herbert G. Mayer, PSU Status 2/1/2016 Copied with Permission from prof. Mark PSU ECE.
CEC 220 Digital Circuit Design More Karnaugh Maps Monday, February 02 CEC 220 Digital Circuit Design Slide 1 of 11.
DE MORGAN’S THEOREM. De Morgan’s Theorem De Morgan’s Theorem.
WORKING PRINCIPLE OF DIGITAL LOGIC
1 Binary Signals Logic gate circuits are designed to input and output only two types of signals: “high” (1) and “low” (0), as represented by a variable.
CHAPTER 1 INTRODUCTION TO DIGITAL LOGIC:K-Map. K-Map (1)  Karnaugh Map provides a systematic method for simplifying Boolean expressions and may produce.
De Morgan’s Theorem,.
Logic Gates and Boolean Algebra
Digital Logic.
Lecture 6 Topics Combinational Logic Circuits
ECE 434 Advanced Digital System L03
Example of application: Decomposition
ECE434a Advanced Digital Systems L02
Combinatorial Logic Circuit
Optimization Algorithm
CSE 370 – Winter Combinational Implementation - 1
Triangular Sorter Using Memristive Architecture.
Reading: Hambley Ch. 7 through 7.5
13 Digital Logic Circuits.
Logic Gates By Dr.Mazin Alzewary
Reading: Hambley Ch. 7 through 7.5
Presentation transcript:

Application of Feynman-like notation to synthesis of circuits from memristors Marek Perkowski November 5, 2012

Using the Memristor to build basic logic gates

Logic Design with Memristors 1.Wiliams Team at HP 1.Basic concepts 2.Demonstration of IMPLY 3.Demonstration of NAND 2.Israeli Team at Technion - Kvatinsky 1.Circuit design methodology 2.Performance robustness tradeoff 3.Demonstration that the widely used memristor model is not pracrtical 3.Finnish team - Lehtonen 1.Show theory with minimum ancilla bits 2.No algorithm 3.No results 4.Restriction of assumption 4.Our work at PSU 1.Practical model 2.Practical assumptions 3.More general Optimal algorithm

Leon Chua Historic Discovery Leon Chua, The Missing Circuit Element, IEEE Proc Invention based on search for general principles of physics and Nature = he referst to Aristotle etc

Memristors becoming practical Hewlett Packard 2008 D Strukov et al The Missing Memristor found, Nature 2008 R off = high resistance R ON = low resistance Very simplified model of memristor

So far, most of the applications of memristor are in analog design 1.Dr. Teuscher PSU – evolving CAM circuits 2.Memory Digital 3.Memory analog 4.Fuzzy Circuits 5.Analog Circuit 6.Neuromorphic Systems

Y. Ho et al, Nonvolatile Memristor Memory, Device Characteristics and Design Implications, ICCAD, 2009 A. Afifi et al, Implementation of Biologically Plausible Spiking Neural Network Models on the Memristor Crossbar-based CMOS/Nano Circuits.ECCTD 2009

We can do standard binary logic with memristors! 1.Logic values represented as resistances. 2.R ON = logic 1, R OFF = logic 0. 3.Circuit uses primarily resistors 4.Memristor can be used as: 1.Input storage/processing 2.Output storage/processing 3.Computational logic element 4.Latch or memory circuit

Computing with Memristive Devices 1.Memristive Devices allow for reconfigurable logic 2.Will allow for reconfigurable analog circuis 3.They allow high density logic 4.They will be used in high density DSP and image processing, Neural, etc. applications. 5.Memristive devices will change computing paradigm. 1.CPU embedded memory 2.Reboot-less power down at any time 3.Extending Moore’s Law beyond CMOS Limit. J Borghetti et al PNAS, Vol 106, No 6, 2009.

Islands of Memristors for parallel calculations, SIMD mode inside normal MOSFET logic

Memristive Stateful Logic Gate 1.This gate realizes material implication p  q 2.Device q can be SET conditionally depending on the status of the device p. 3.“Stateful Logic”, functioning complete NAND and status storing in device s Needs two pulses Needs three pulses

J Burghes et al, Nature Vol 404, 2010

Memristive Implication Logic DR Stewart, GS Snider, PJ Kuekes, JJ Yang, DR Stewart, RS Williams, Nature 464, 873 (2010)

Needs two pulses for executing IMPLY

Memristive Implication Logic DR Stewart, GS Snider, PJ Kuekes, JJ Yang, DR Stewart, RS Williams, Nature 464, 873 (2010) Needs two pulses

Set to PqPqPqPq New value

EXOR realized with memristors

Memristor Based XOR gate output 2 memristors 3 FETs 1 resistor 2 steps First create VRST by S1=1, S2 =0 Next create VSET by S1=0, S2=1 Input and output data are in memristors

R Y R P R Q

In this approach, the logic state is represented as resistance, where a high resistance is logical state zero, and a low resistance is logical state one. An example of this approach, the IMPLY logic gate, is shown in Figure 2.

Using the Memristor to build basic logic gates NOT OR AND NAND NOR EXOR MUX Memristor A B x ABX

Costs of gates with memristors Realized with memristors Numbers of levels IMPLY11+ AND33 OR22+ NAND22+ NOR33 EXOR43 XNOR INHIBIT22+ NOT11+ MUX53 Good for TANT, Negative gate methods CHANGE

examples ((abc)’+ (ab))’ + (bcd) = ((a’ + b’ + c’) + ab)’ + bcd = (abc) * (ab)’ + bcd = (abc) * (a’ + b’) + bcd = (b’c) + bcd

example ((ab)  0) = (a’+b’) ((ab)  (ab)) = (a’+b’) + ab (0  ab) = (ab) (a  b) = (a’+b)

a b  a + b  a a b a + b a 0 a b  (  a + b) = a *  b 0 a  a +  b =  (a * b) b 0 All these circuits assume that value of b already exists. If it does not exist, we need two inverters (from IMPLY) to create it.

a b  a + b  a a b a + b a 0 a b  (  a + b) = a *  b 0 a   (a * b) b 0 0 All these circuits assume that value of b already exists. If it does not exist, we need two inverters (from IMPLY) to create it.

Now we assume that all inputs must be created with Stateful IMPLY technology from scratch.

NOT & OR

NOTOR with two inputs A 0 B x A B x A 0 x Ax B 0 0

NOT A 0 x Ax B C A 0 NOT is a one WM gate AAAA

B 2-input OR is a two WM gate A 0 B X=A+B B 0 0 A+B BBBB 0 B 2-input OR A B 0 AAAA 0 0

NAND & AND

NAND A 0 B x A B x NAND & AND

B C A input AND is a two ancilla gate 2-input NAND is a one ancilla gate 0 NAND(a,b) AND(a,b) 0 NAND & AND

0 b c d Working (memorizing) memristor (b  a) =b’+a (c  (b  a)  c) = (c’+(b’+a)=(bc)’+a (bcd)’+0 0 y z v (yzv)’ Realization of a Sum of positive Products bcd+yzv Imply serves as inverter NAND(b,c,d) NAND(y,z,v) Two Working Memristors SOP

Inhibit gate A * B’ = (A’ + B)’ 2 gates B C A input INHIBIT is a two WM gate A’ Two working bits B’ A’ + B 0 A * B’ = (A’ + B)’

PSE gates

B C A AA 0 0 PS is a two WM gate 0 0 X=(AB)’C (AB) (AB) + C’ (AB)’

A B C D E F B C A 0 (A+B+C)=X D 0 X’+D’+E’+F’= (XDEF)’ E F AA 00 BB CC X XDEF X= (A+B+C) 0 0 PSE gate has 2 WM

NOR Gates

NOR B C A AA NOR is a two WM bit gate A A+B BB 0 (A+B)’

EXOR Gates

EXOR = 8 literals in NAND = 8 IMPLY B A 0 EXOR is a three WM gate 0 A’B + A B’ A’ A’ B’ B A A A + B’ 0 A’B 0 B’ B B + A’ 0

SYNTHESIS WITH EXORS WITH NO LIMIT ON NUMBER OF ANCILLA BITS

B A0 0 A’B + A B’ A’ A A + B’ 0 A’B 0B’ B B + A’ 0 C 0 0 A’B + A B’ A’ A A + B’ 0 A’B 0B’ B B + A’ 0 First Working Memristor Second Working Memristor Third Working Memristor Fourth Working Memristor This circuit has 4 working memristors and 16 IMPLY gates

B A 0 0 A’B + A B’ A’ A A + B’ 0 A’B 0 B’ B B + A’ 0

MUX

MUX B 0 MUX is a three ancilla gate 0 A C (AB)’ AB + A’C A A’ B C (A’C)’ 0 0 A’ A (A+C’)’ 7 WM expected

Circuits from reversible gates versus circuits from memristor material implications Similarities No fanout In-gate memory exists Differences No inverter Different gates

Examples of typical multi- input gates

B 0 C A AA  A +  B  A +  B +  C =  (ABC) Realization of positive product (negated) which is multi-input NAND

0   A  A A +   BA + B +   C Realization of positive product (negated) which is multi-input OR AAAA BBBB CCCC

Gates from AND and OR similar to PS Gate

(A+B+C) DE A B C D E A B C D E D’ + E’ + (ABC) PSE gate with not negated inputs TANT IMPLICANT DE * (A+B+C) Various gates similar to PSE

B C A AA  A +  B (ABC) 0 D 0 0 E  D +  E=  (DE)  (ABC) We loose info and initialize to zero DE + (ABC) Sum of any number of positive products is a two-ancilla gate

AND/OR gate (PS gate)

A B C D E F A B C D E F A B C D E F A+B+C

METHOD 1: Example of synthesis using the step-by- step realization method with KMaps

Using the Memristor to build OTHER gates

Example of synthesis based on mapping Mapping from an existing circuit network Can be solved using dynamic programming

MATERIAL NOT FOR NOW Slides below have errors

Ashenhurst Curtis Decomposition

Ashenhurst-Curtis Decomposition arbitrary

Ashenhurst-Curtis Decomposition with symmetric predecessor arbitrary symmetric

Ashenhurst-Curtis Decomposition with symmetric predecessor symmetric Arbitrary remainder

Ashenhurst-Curtis Decomposition with symmetric predecessor and successor symmetric

METHOD 2: Bi-Decomposition of Binary Single-Output Circuits

Boolean Operations

Graphical OR decomposition 1.We arbitrarily partitionate all input variables to sets {a,b} and {c,d} 2.We assume OR gate 3. We find function g on variables a and b only 4. We calculate the reminder function g on variables c and d and may be more

First variant of synthesis Student should show how this function is realized on memristors to minimize the number of working transistors (Ancilla)

Second variant of synthesis We assume AND Decomposition

Our final algorithm (initial ideas) 1.Use METHOD 2 - bi-decomposition, first try OR decomposition, next AND, next EXOR. 2.Count width of circuit at every stage. 3.If the desired width is exceeded continue function using METHOD 1. 1.Anika, give examples of combined method on function of 5 variables or 6 variables. 2. Write the pseudo-code of the final algorithm before programming.

The method to analyze all circuits in bi- decomposition, and how to realize them with memristors

\/ * \/ \/ * * \/ + \/ Or \/ * \/ \/ * \/ \/ + \/ IMPLY NAND IMPLY NAND X Y NOT X Y’ X Y ZV exor X Y Z’ V

+ * \/ + * * * \/ + * * exor Please complete

+ * \/ + * * * \/ + * * exor Please complete

+ * * * * * * * * * *

+ * * * * * * * * * * Can we evaluate quickly how many two-input NAND and IMPLY gates and how many ancilla we need directly from a tree? a b cd e f g h i j k l m n p r

+ * * a b c d g h i k

+ * * a b c d g h i k C EXOR B A 0 EXOR(A,B) 0 B A 0 EXOR(A,B) a h b c d g k i a+b 0 c+d g+h i+k

Memristors vs reversible a b c d Working (memorizing) memristor (a  b) = a’+b ((a  b)  c) = (a’+b)’+c)=(ab’+c) (((a  b)  c)  d) =( (ab’+c)  d) = ((ab’)+c)’ +d =(ab’)’ * c’ + d = = (a’+b)c’+d= =a’c’ + bc’ + d

a=0 b c d (a  b) = a’+b ((a  b)  c) = (a’+b)’+c)=(ab’+c) (((a  b)  c)  d) =( (ab’+c)  d) = ((ab’)+c)’ +d =(ab’)’ * c’ + d = = (a’+b)c’+d= =a’c’ + bc’ + d Example of circuit synthesis with negations along the bit line =0’c’ + bc’ + d

a b c d (a  b) = a’+b ((a  b)  c) = (a’+b)’+c)=(ab’+c) (((a  b)  c)  d) =( (ab’+c)  d) = ((ab’)+c)’ +d =(ab’)’ * c’ + d = = (a’+b)c’+d= =a’c’ + bc’ + d The same circuit in my new notation Working bits

a b c d (a  b) = a’+b ((a  b)  c) = (a’+b)’+c)=(ab’+c) (((a  b)  c)  d) =( (ab’+c)  d) = ((ab’)+c)’ +d =(ab’)’ * c’ + d = = (a’+b)c’+d= =a’c’ + bc’ + d d c b Graphical Illustration of the method with negations in the bit line

p mi p =  p + mi 0 mi 0 mj mi S1 S2 S3 mj 0 mi

AND/OR A 0 B X=(AB)’ A B x 0 C 0 C D X=(AB)’C A 0 B X=(AB)’ 0 C 0 X=(AB)’C = (A’+B’)C X=AB X=AB+C’

MUX A C B 0 A B C 0 (A’B)+(AC) (A+C’)’= A’C A’+B’ = (AB)’ AB +A’C

MUX B 0 MUX is a three ancilla gate 0 MUX A C 0 0 A B C X X Can we build a less expensive MUX?

10 01 a01a01 b a01a01 Realize best positive product a01a01 b 0 1 Create the reminder function Invert the remainder function a01a01 b 0 1 Realize best positive product a01a01 b a01a01 Create the reminder function Invert the remainder function a01a01 b 0 1 There are no positive products so invert a01a01 b 0 1 a b out 0 aa  a*  b = X  a*  b + ab Simplified schematics for AB + X Simplified schematics for inverter

a b out 0 aa  a*  b  a*  b + ab a+b (AB)’ (AB) inverter 0 Real Circuit for the last example, showing all details

A B 0 0 B A 0 C 0 C Three input EXOR is a Three Ancilla Gate

SYNTHESIS WITH EXORS WITH NO LIMIT ON NUMBER OF ANCILLA BITS A B 0 C 0

1.In their design there are 21 memristors 2.We need 2 two-input exors. Exor has 4 gates. 3.2*4 = 8. Our design has 8 gates not But we have fan-out of two A B 0 C Conclusion. When we want to decrease the number of ancilla bits we need: Conclusion. When we want to decrease the number of ancilla bits we need: 1.Methods with many exors are not good as they would require copying elements. 2.Methods are good if they naturally create trees 0

A B 0 C C 0 A B 0 1.But we have fan-out of two 2.So we replicate the first EXOR, and we have only 12 gates, not 21 as in their design Can we design three-input EXOR as a two-ancilla gate?

A B 0 C C A B 0 Synthesis with copying to get a tree 0 A XOR B

C EXOR B A0 EXOR(A,B) 0 Example of coloring to show that exor of three inputs must have three ancilla, all in red are one ancilla but blue and green cannot be combined

C EXOR B A0 EXOR(A,B) 0 B A0 EXOR(A,B)