logic design with memristors - technionacrc.ee.technion.ac.il/uploads/file/workshop 07_03...

46
Logic Design with Memristors Shahar Kvatinsky Technion – Israel Institute of Technology ACRC Workshop March 2012 1

Upload: vuonghuong

Post on 17-Mar-2018

239 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: Logic Design with Memristors - Technionacrc.ee.technion.ac.il/uploads/file/workshop 07_03 /Shahar... · Memristors are Useful for Logic •Two terminal resistive device •Not only

Logic Design

with Memristors

Shahar Kvatinsky

Technion – Israel Institute of Technology ACRC Workshop March 2012

1

Page 2: Logic Design with Memristors - Technionacrc.ee.technion.ac.il/uploads/file/workshop 07_03 /Shahar... · Memristors are Useful for Logic •Two terminal resistive device •Not only

Memristors are Useful for Logic

• Two terminal resistive device

• Not only memory

• This talk is about

memristor-based logic circuits

2

Resistor

v R i

Capacitor

q C v

Inductor

L i

Memristor

M q

Chua, “Memristor – The Missing Circuit Element,” IEEE Trans., 1971

Chua and Kang, “Memristive Devices and Systems,” Proceedings of the IEEE, 1976

Page 3: Logic Design with Memristors - Technionacrc.ee.technion.ac.il/uploads/file/workshop 07_03 /Shahar... · Memristors are Useful for Logic •Two terminal resistive device •Not only

RON

ROFF

Voltage [V] C

urr

en

t [m

A]

Logic with Memristors

• Memristors as a building block

• Memristor can:

– Store an input value

– Store an output value

– Perform logic operation

– Act as a state register (latch, Flip-Flop)

– Act as a configurable switch

3

Page 4: Logic Design with Memristors - Technionacrc.ee.technion.ac.il/uploads/file/workshop 07_03 /Shahar... · Memristors are Useful for Logic •Two terminal resistive device •Not only

Why Use Memristors in Logic?

Integrating memristors with standard logic

4

Logic inside the memory

Memristor layer

CMOS

layer

Save die area

More logic on die Beyond Von-Neumann

Flexible

Page 5: Logic Design with Memristors - Technionacrc.ee.technion.ac.il/uploads/file/workshop 07_03 /Shahar... · Memristors are Useful for Logic •Two terminal resistive device •Not only

Memristor Polarity

5

Decrease resistance Increase resistance

Current

Voltage

Current

Page 6: Logic Design with Memristors - Technionacrc.ee.technion.ac.il/uploads/file/workshop 07_03 /Shahar... · Memristors are Useful for Logic •Two terminal resistive device •Not only

Outline

• Motivation / Why logic with memristors?

• Integrating memristor with standard logic

• Memristor-based logic inside the memory:

– IMPLY logic Gate

– Memristor Aided LoGIC (MAGIC)

• Design methodology

• Conclusions

6

Page 7: Logic Design with Memristors - Technionacrc.ee.technion.ac.il/uploads/file/workshop 07_03 /Shahar... · Memristors are Useful for Logic •Two terminal resistive device •Not only

AND and OR (Eshraghian 2011)

• Voltage as logic state

• Memristors only as computational elements

7

K. Eshraghian, course notes on “Memristive Circuits and Systems,” Technion, June 2011

OR AND

IN1 IN1

IN2 IN2

OUT OUT

Page 8: Logic Design with Memristors - Technionacrc.ee.technion.ac.il/uploads/file/workshop 07_03 /Shahar... · Memristors are Useful for Logic •Two terminal resistive device •Not only

AND Operation

8

K. Eshraghian, course notes on “Memristive Circuits and Systems,” Technion, June 2011

Decrease resistance

AND IN2 IN1

0 0 0

0 1 0

0 0 1

1 1 1

ROFF

RON

0

0

No current 0

1

1

1

Increase resistance

ROFF >> RON

~0

IN1

IN2

OUT

ON ONOUT CC CC CC

ON OFF OFF

R RV V V V

R R R

Page 9: Logic Design with Memristors - Technionacrc.ee.technion.ac.il/uploads/file/workshop 07_03 /Shahar... · Memristors are Useful for Logic •Two terminal resistive device •Not only

AND to OR

9

K. Eshraghian, course notes on “Memristive Circuits and Systems,” Technion, June 2011

AND IN2 IN1

0 0 0

0 1 0

0 0 1

1 1 1

IN1

IN2

OUT

OR IN2 IN1

0 0 0

1 1 0

1 0 1

1 1 1

AND OR

Page 10: Logic Design with Memristors - Technionacrc.ee.technion.ac.il/uploads/file/workshop 07_03 /Shahar... · Memristors are Useful for Logic •Two terminal resistive device •Not only

OR Operation

10 K. Eshraghian, course notes on “Memristive Circuits and Systems,” Technion, June 2011

OR IN2 IN1

0 0 0

1 1 0

1 0 1

1 1 1

1

0

Increase resistance

Decrease resistance

RON

ROFF

~1

OFFOUT CC CC

ON OFF

RV V V

R R

ROFF >> RON

Page 11: Logic Design with Memristors - Technionacrc.ee.technion.ac.il/uploads/file/workshop 07_03 /Shahar... · Memristors are Useful for Logic •Two terminal resistive device •Not only

Need for Amplification

• Chain of memristor-based logic gates

11

AND

OR

0

VCC

VCC

0 OR

1 V

1 V

ONCC

ON OFF

RV

R R

OFFCC

ON OFF

RV

R R

0.97 V

OFF ON OFFCC

ON OFF ON OFF

R R RV

R R R R

0.01V

0.99V

VCC = 1V

RON = 100 Ω

ROFF = 10 kΩ

Page 12: Logic Design with Memristors - Technionacrc.ee.technion.ac.il/uploads/file/workshop 07_03 /Shahar... · Memristors are Useful for Logic •Two terminal resistive device •Not only

CMOS Compatibility

• Memristors can be fabricated with CMOS

• Input/output are voltages – as in standard CMOS logic

• Amplify signal – signal restoration

12 K. Eshraghian, course notes on “Memristive Circuits and Systems,” Technion, June 2011 J. Borghetti etl al, “A Hybrid Nanomemristor/Transistor Logic Circuit Capable of Self-Programming,” PNAS 2008

AND OR

Page 13: Logic Design with Memristors - Technionacrc.ee.technion.ac.il/uploads/file/workshop 07_03 /Shahar... · Memristors are Useful for Logic •Two terminal resistive device •Not only

Integrating Memristor with Standard Logic - Summary

• Good for integration with standard logic

• Signal restoration through CMOS

• Save die area: 2 transistor - 2 memristor

• CMOS - memristor layer transition:

vias, power and area overhead

13

Page 14: Logic Design with Memristors - Technionacrc.ee.technion.ac.il/uploads/file/workshop 07_03 /Shahar... · Memristors are Useful for Logic •Two terminal resistive device •Not only

Outline

• Motivation / Why logic with memristors?

• Integrating memristor with standard logic

• Memristor-based logic inside the memory:

– IMPLY logic Gate

– Memristor Aided LoGIC (MAGIC)

• Design methodology

• Conclusions

14

Page 15: Logic Design with Memristors - Technionacrc.ee.technion.ac.il/uploads/file/workshop 07_03 /Shahar... · Memristors are Useful for Logic •Two terminal resistive device •Not only

Logic Inside the Memory

• Based on memristor-based crossbar memory

15

Page 16: Logic Design with Memristors - Technionacrc.ee.technion.ac.il/uploads/file/workshop 07_03 /Shahar... · Memristors are Useful for Logic •Two terminal resistive device •Not only

RON

ROFF

Voltage [V] C

urr

en

t [m

A]

Logical State as Resistance

• RON → logical ‘1’, ROFF → logical ‘0’

• The input of the logic gate is the

memristor-based cells value

• The result is stored into the

memory

16

Page 17: Logic Design with Memristors - Technionacrc.ee.technion.ac.il/uploads/file/workshop 07_03 /Shahar... · Memristors are Useful for Logic •Two terminal resistive device •Not only

IMPLY Function

17

p IMP q q p

1 0 0

1 1 0

0 0 1

1 1 1

If p then q

p → q

IMPLY + FALSE Complete logic

• One of the elementary 2 input Boolean functions

Truth Table

Page 18: Logic Design with Memristors - Technionacrc.ee.technion.ac.il/uploads/file/workshop 07_03 /Shahar... · Memristors are Useful for Logic •Two terminal resistive device •Not only

IMPLY Logic with Memristors

18

p IMP q q p

1 0 0

1 1 0

0 0 1

1 1 1

Logic 0 → ROFF

Logic 1 → RON

ON G OFFR R R

| | | |COND SETV V

J. Borghetti et al, “Memristive Switches Enable „Stateful‟ Logic Operation via Material Implication,” Nature, 2010

IN IN OUT

Page 19: Logic Design with Memristors - Technionacrc.ee.technion.ac.il/uploads/file/workshop 07_03 /Shahar... · Memristors are Useful for Logic •Two terminal resistive device •Not only

Behavior for Different Cases

20

p IMP q → q q p Case

1 0 0 1

1 1 0 2

0 0 1 3

1 1 1 4

IN OUT Decrease resistance

~1 V

0.5 V 1 V

1 kΩ

RON = 100 Ω

ROFF = 10 kΩ

10 kΩ ~0 V

100 Ω 100 Ω ~0.5 V

~0.5 V

10 kΩ

State Drift S. Kvatinsky et al, “Memristor-based IMPLY Logic Design Procedure,” ICCD, 2011

Page 20: Logic Design with Memristors - Technionacrc.ee.technion.ac.il/uploads/file/workshop 07_03 /Shahar... · Memristors are Useful for Logic •Two terminal resistive device •Not only

Performance and Robustness Tradeoff

21

p IMP q → q q p Case

1 0 0 1

1 1 0 2

0 0 1 3

1 1 1 4

Write time

State drift

TRADEOFF

IN OUT Refreshing the gate

S. Kvatinsky et al, “Memristor-based IMPLY Logic Design Procedure,” ICCD, 2011

Page 21: Logic Design with Memristors - Technionacrc.ee.technion.ac.il/uploads/file/workshop 07_03 /Shahar... · Memristors are Useful for Logic •Two terminal resistive device •Not only

General Functions with IMPLY

• Sequential operation of IMPLY and FALSE

• NAND:

– Step 1 – FALSE(S)

– Step 2 – P IMPLY S

– Step 3 – Q IMPLY S

• 1- bit Full Adder

– Naive approach: 89 computation steps

– Parallel approach: 5 computation steps

22

1-bit Full

Adder

A B

Cin Cout

S Wald and Satat B.Sc. Project, Technion 2012

Page 22: Logic Design with Memristors - Technionacrc.ee.technion.ac.il/uploads/file/workshop 07_03 /Shahar... · Memristors are Useful for Logic •Two terminal resistive device •Not only

IMPLY Summary

• Performance and robustness tradeoff

• Need for refresh because of state drift

• For general Boolean function needs many

computation stages:

– Slow

– Complex controller

– Power consumption

23 S. Kvatinsky et al, “Memristor-based IMPLY Logic Design Procedure,” ICCD, 2011

Page 23: Logic Design with Memristors - Technionacrc.ee.technion.ac.il/uploads/file/workshop 07_03 /Shahar... · Memristors are Useful for Logic •Two terminal resistive device •Not only

Outline

• Motivation / Why logic with memristors?

• Integrating memristor with standard logic

• Memristor-based logic inside the memory:

– IMPLY logic Gate

– Memristor Aided LoGIC (MAGIC)

• Design methodology

• Conclusions

24

Page 24: Logic Design with Memristors - Technionacrc.ee.technion.ac.il/uploads/file/workshop 07_03 /Shahar... · Memristors are Useful for Logic •Two terminal resistive device •Not only

MAGIC – Memristor Aided LoGIC

25

AND

OR

NAND

S. Kvatinsky et al, “MAGIC: Memristor Aided LoGIC,” unpublished 2012

NOR

• One applied voltage VG

• Separate input and output memristors IN1 IN2 OUT

IN1

IN2

OUT

VG

VG

IN1 IN2 OUT VG

IN1

IN2

VG

OUT

Page 25: Logic Design with Memristors - Technionacrc.ee.technion.ac.il/uploads/file/workshop 07_03 /Shahar... · Memristors are Useful for Logic •Two terminal resistive device •Not only

MAGIC NOR

26

NOR IN2 IN1

1 0 0

0 1 0

0 0 1

0 1 1

RON

S. Kvatinsky et al, “MAGIC: Memristor Aided LoGIC,” unpublished 2012

ROFF >> RON

ROFF

ROFF <<VG

Increase resistance

>VG/2

ROFF

RON

RON

State drift

Initialize OUT to RON

Page 26: Logic Design with Memristors - Technionacrc.ee.technion.ac.il/uploads/file/workshop 07_03 /Shahar... · Memristors are Useful for Logic •Two terminal resistive device •Not only

MAGIC NOR in Crossbar

27

S. Kvatinsky et al, “MAGIC: Memristor Aided LoGIC,” unpublished 2012

Page 27: Logic Design with Memristors - Technionacrc.ee.technion.ac.il/uploads/file/workshop 07_03 /Shahar... · Memristors are Useful for Logic •Two terminal resistive device •Not only

MAGIC - Summary

• Good for logic inside the memory

• Separate input and output memristors

• Easy and intuitive

• State drift phenomenon - noise margin issues

28 S. Kvatinsky et al, “MAGIC: Memristor Aided LoGIC,” unpublished 2012

Page 28: Logic Design with Memristors - Technionacrc.ee.technion.ac.il/uploads/file/workshop 07_03 /Shahar... · Memristors are Useful for Logic •Two terminal resistive device •Not only

Outline

• Motivation / Why logic with memristors?

• Integrating memristor with standard logic

• Memristor-based logic inside the memory:

– IMPLY logic Gate

– Memristor Aided LoGIC (MAGIC)

• Design methodology

• Conclusions

29

Page 29: Logic Design with Memristors - Technionacrc.ee.technion.ac.il/uploads/file/workshop 07_03 /Shahar... · Memristors are Useful for Logic •Two terminal resistive device •Not only

Need Design Methodology

• Decide which family to use

• Determine proper circuit parameters

– RG?

– Voltage levels? VCOND? VSET?

– Logic gate delay?

30 S. Kvatinsky et al, “Memristor-based IMPLY Logic Design Procedure,” ICCD, 2011

Page 30: Logic Design with Memristors - Technionacrc.ee.technion.ac.il/uploads/file/workshop 07_03 /Shahar... · Memristors are Useful for Logic •Two terminal resistive device •Not only

Developing Design Methodology

• IMPLY logic gate design methodology (ICCD 2011)

• Developing a complete design methodology

• General design constraints:

– Power

– Area

– Performance

• Specific design constraints

31 S. Kvatinsky et al, “Memristor-based IMPLY Logic Design Procedure,” ICCD, 2011

Page 31: Logic Design with Memristors - Technionacrc.ee.technion.ac.il/uploads/file/workshop 07_03 /Shahar... · Memristors are Useful for Logic •Two terminal resistive device •Not only

Outline

• Motivation / Why logic with memristors?

• Integrating memristor with standard logic

• Memristor-based logic inside the memory:

– IMPLY logic Gate

– Memristor Aided LoGIC (MAGIC)

• Design methodology

• Conclusions

32

Page 32: Logic Design with Memristors - Technionacrc.ee.technion.ac.il/uploads/file/workshop 07_03 /Shahar... · Memristors are Useful for Logic •Two terminal resistive device •Not only

Logic with Memristors

Many issues – huge opportunities!

33

MAGIC IMPLY Hybrid

Reduce die area

More computation on die

Beyond Von-Neumann architecture

Page 33: Logic Design with Memristors - Technionacrc.ee.technion.ac.il/uploads/file/workshop 07_03 /Shahar... · Memristors are Useful for Logic •Two terminal resistive device •Not only

Thanks! http://memristor.shorturl.com

34

Page 34: Logic Design with Memristors - Technionacrc.ee.technion.ac.il/uploads/file/workshop 07_03 /Shahar... · Memristors are Useful for Logic •Two terminal resistive device •Not only

BACKUP

35

Page 35: Logic Design with Memristors - Technionacrc.ee.technion.ac.il/uploads/file/workshop 07_03 /Shahar... · Memristors are Useful for Logic •Two terminal resistive device •Not only

Conventional FPGA

• FPGA power consumption:

– 90% - SRAM (routing)

– 10% - computing

LB – logic blocks

CB – connection blocks

SB – switching blocks 38

Cong and Xiao, “mrFPGA: A Novel FPGA Architecture with Memristor-Based Reconfiguration,” NANOARCH 2011

Page 36: Logic Design with Memristors - Technionacrc.ee.technion.ac.il/uploads/file/workshop 07_03 /Shahar... · Memristors are Useful for Logic •Two terminal resistive device •Not only

Switching and Connection Blocks

• Memristor as configurable switch

• 1.6X better power consumption

• 2.28X better critical path delay

39 Xia et al, “Memristor-CMOS Hybrid Integrated Circuits for Reconfigurable Logic,” Nano Letters 2009

Page 37: Logic Design with Memristors - Technionacrc.ee.technion.ac.il/uploads/file/workshop 07_03 /Shahar... · Memristors are Useful for Logic •Two terminal resistive device •Not only

Logic Block

• LUT with 1T1M instead of SRAM

40 Liu and Wang, “rFPGA: Exploring RRAM Application in FPGA,” NANOARCH 2008

Page 38: Logic Design with Memristors - Technionacrc.ee.technion.ac.il/uploads/file/workshop 07_03 /Shahar... · Memristors are Useful for Logic •Two terminal resistive device •Not only

Linear Ion Drift Model

41

Write time

State variable - w

Memristance MQ

Time [nsec]

Case 3

Case 1

p IMP q q p Case

1 0 0 1

0 0 1 3

State drift

S. Kvatinsky et al, “Memristor-based IMPLY Logic Design Procedure,” ICCD, 2011 Time [nsec]

Page 39: Logic Design with Memristors - Technionacrc.ee.technion.ac.il/uploads/file/workshop 07_03 /Shahar... · Memristors are Useful for Logic •Two terminal resistive device •Not only

Design Flow

42

Understand circuit behavior and determine

state at beginning of operation

Simplified memristor

switching model

Roughly determine circuit parameters

Detailed memristor

model

Estimate the final

parameters

S. Kvatinsky et al, “Memristor-based IMPLY Logic Design Procedure,” ICCD, 2011

Page 40: Logic Design with Memristors - Technionacrc.ee.technion.ac.il/uploads/file/workshop 07_03 /Shahar... · Memristors are Useful for Logic •Two terminal resistive device •Not only

8-bit Full Adder Example

43

C_out S C_in B A

0 0 0 0 0

0 1 1 0 0

0 1 0 1 0

1 0 1 1 0

0 1 0 0 1

1 0 1 0 1

1 0 0 1 1

1 1 1 1 1

1-bit Full Adder

A B

C_in C_out

S

in

out in

S A B C

C A B C A B

Page 41: Logic Design with Memristors - Technionacrc.ee.technion.ac.il/uploads/file/workshop 07_03 /Shahar... · Memristors are Useful for Logic •Two terminal resistive device •Not only

General Design Constraints

• Power consumption

• Performance – gate delay time

• Area – number of memristors (and transistors)

44

Page 42: Logic Design with Memristors - Technionacrc.ee.technion.ac.il/uploads/file/workshop 07_03 /Shahar... · Memristors are Useful for Logic •Two terminal resistive device •Not only

IMPLY Design Constraints

• Power – determine VSET and VCOND

• Performance - minimize computation steps

• Area - minimize number of memristors

• Solution – parallel computing

45

Page 43: Logic Design with Memristors - Technionacrc.ee.technion.ac.il/uploads/file/workshop 07_03 /Shahar... · Memristors are Useful for Logic •Two terminal resistive device •Not only

8-bit IMPLY Full Adder

• Naive approach:

– 89 computation steps per bit

– 3 memristors per bit + 5 memristors

• Improved approach:

– Parallel computing, scheduling

– 5 computation steps per bit (+18)

– 9 memristors per bit (72 total) 46

Wald and Satat B.Sc. Project, Technion 2012

Page 44: Logic Design with Memristors - Technionacrc.ee.technion.ac.il/uploads/file/workshop 07_03 /Shahar... · Memristors are Useful for Logic •Two terminal resistive device •Not only

Hybrid CMOS-Memristor Design Constraints

• Minimize number of CMOS-memristor

transitions (number of vias)

• Solution: use inverter (or buffers) only when

necessary

47

Page 45: Logic Design with Memristors - Technionacrc.ee.technion.ac.il/uploads/file/workshop 07_03 /Shahar... · Memristors are Useful for Logic •Two terminal resistive device •Not only

8-bit Hybrid CMOS-Memristor Full Adder

• 144 memristors

• Area and vias is depended on memristor behavior:

– Linear memristor – 160 transistors, 80 vias

– Nonlinear memristor- 256 memristors, 96 vias

48 Wald and Satat B.Sc. Project, Technion 2012

Page 46: Logic Design with Memristors - Technionacrc.ee.technion.ac.il/uploads/file/workshop 07_03 /Shahar... · Memristors are Useful for Logic •Two terminal resistive device •Not only

Design Summary

49

Hybrid CMOS-Memristor

IMPLY

6X faster 1 step

Sequential 58 steps

Performance

144 memristors 72 memristors 2X smaller

Area – memristor layer

Memristor behavior 80-96 transistors

Controller Area – CMOS layer

Static and dynamic More power

Dynamic power

Power