35
ELE 523E COMPUTATIONAL NANOELECTRONICS W6: Computing with Nano Arrays, 13/10/2014 FALL 2014 Mustafa Altun Electronics & Communication Engineering Istanbul Technical University Web: http://www.ecc.itu.edu.tr/

ELE 523E COMPUTATIONAL NANOELECTRONICS W6: Computing with Nano Arrays, 13/10/2014 FALL 2014 Mustafa Altun Electronics & Communication Engineering Istanbul

Embed Size (px)

Citation preview

Page 1: ELE 523E COMPUTATIONAL NANOELECTRONICS W6: Computing with Nano Arrays, 13/10/2014 FALL 2014 Mustafa Altun Electronics & Communication Engineering Istanbul

ELE 523E COMPUTATIONAL NANOELECTRONICS

W6: Computing with Nano Arrays, 13/10/2014FALL 2014

Mustafa AltunElectronics & Communication Engineering

Istanbul Technical University

Web: http://www.ecc.itu.edu.tr/

Page 2: ELE 523E COMPUTATIONAL NANOELECTRONICS W6: Computing with Nano Arrays, 13/10/2014 FALL 2014 Mustafa Altun Electronics & Communication Engineering Istanbul

Outline

Computing with nano arrays Self-assembly Two-terminal vs. four-terminal

Arrays of two-terminal devices Diode based Transistor based

Arrays of four-terminal devices

Page 3: ELE 523E COMPUTATIONAL NANOELECTRONICS W6: Computing with Nano Arrays, 13/10/2014 FALL 2014 Mustafa Altun Electronics & Communication Engineering Istanbul

Self-assembly

From disordered to ordered and regular structure

Page 4: ELE 523E COMPUTATIONAL NANOELECTRONICS W6: Computing with Nano Arrays, 13/10/2014 FALL 2014 Mustafa Altun Electronics & Communication Engineering Istanbul

Why Self-assembly?

We prefer order to disorder. Living cells self-assemble. Self-assembly is practical to manufacture

nano structures.

Self-assembled nano structures

Page 5: ELE 523E COMPUTATIONAL NANOELECTRONICS W6: Computing with Nano Arrays, 13/10/2014 FALL 2014 Mustafa Altun Electronics & Communication Engineering Istanbul

Why Self-assembly?

Directed assembly Advantages

Results in a functional construct from a print/layout

Disadvantages Costly in nanoscale Time consuming

Self assembly Advantages

Fast and efficient in nanoscale Results in condensed structures

Disadvantages Not results in a functional

construct

Page 6: ELE 523E COMPUTATIONAL NANOELECTRONICS W6: Computing with Nano Arrays, 13/10/2014 FALL 2014 Mustafa Altun Electronics & Communication Engineering Istanbul

Research on Self-assembly

Video-1: Self-Assembly of Lithographically Patterned 3D Micro/NanostructuresLab: Gracias LabUniversity: John Hopkins UniversityURL: http://www.youtube.com/watch?v=GL0im9b6GgU

Video-2: It's Not Magic: Watch How Smart Parts Self-AssembleLab: Self-assembly LabUniversity: Massachusetts Institute of Technology (MIT)URL: http://www.youtube.com/watch?v=GIEhi_sAkU8

Videos from Labs:

Page 7: ELE 523E COMPUTATIONAL NANOELECTRONICS W6: Computing with Nano Arrays, 13/10/2014 FALL 2014 Mustafa Altun Electronics & Communication Engineering Istanbul

Nano Arrays

SELFASSEMBLY

REGULARNANO

ARRAYS

Switch

Page 8: ELE 523E COMPUTATIONAL NANOELECTRONICS W6: Computing with Nano Arrays, 13/10/2014 FALL 2014 Mustafa Altun Electronics & Communication Engineering Istanbul

Modelling Nano Arrays

Switch

Four-terminal Switch

Closed Open

Two-terminal switch

Closed Open

Page 9: ELE 523E COMPUTATIONAL NANOELECTRONICS W6: Computing with Nano Arrays, 13/10/2014 FALL 2014 Mustafa Altun Electronics & Communication Engineering Istanbul

Two-terminal Diode-based Model

Controllable crosspointNano array

Crosspoint

Diode connection between wires

No connection between wires

Closed Open

Page 10: ELE 523E COMPUTATIONAL NANOELECTRONICS W6: Computing with Nano Arrays, 13/10/2014 FALL 2014 Mustafa Altun Electronics & Communication Engineering Istanbul

Two-terminal Diode-based Model

Example: Implement the Boolean function f = A+B with diode based nanoarrays.

D1

D2

R1

A

B f

Diode-resistor logic

R1

A

B

f

Page 11: ELE 523E COMPUTATIONAL NANOELECTRONICS W6: Computing with Nano Arrays, 13/10/2014 FALL 2014 Mustafa Altun Electronics & Communication Engineering Istanbul

Two-terminal Diode-based Model

Example: Implement the Boolean function f = A B with diode based nanoarrays.

D1

D2

A

B

R1

f

A B

f

R1

Diode-resistor logic

Page 12: ELE 523E COMPUTATIONAL NANOELECTRONICS W6: Computing with Nano Arrays, 13/10/2014 FALL 2014 Mustafa Altun Electronics & Communication Engineering Istanbul

Two-terminal Diode-based Model

Example: Implement the Boolean function f = A B + C D with diode based nanoarrays.

A B C DR3

f

R2

R1

Page 13: ELE 523E COMPUTATIONAL NANOELECTRONICS W6: Computing with Nano Arrays, 13/10/2014 FALL 2014 Mustafa Altun Electronics & Communication Engineering Istanbul

Two-terminal CMOS-based Model

From Snider, G., et al., (2004). CMOS-like logic in defective, nanoscale crossbars. Nanotechnology.

Page 14: ELE 523E COMPUTATIONAL NANOELECTRONICS W6: Computing with Nano Arrays, 13/10/2014 FALL 2014 Mustafa Altun Electronics & Communication Engineering Istanbul

Two-terminal CMOS-based Model

Example: Implement the Boolean function f = Aꞌ with CMOS based nanoarrays.

Page 15: ELE 523E COMPUTATIONAL NANOELECTRONICS W6: Computing with Nano Arrays, 13/10/2014 FALL 2014 Mustafa Altun Electronics & Communication Engineering Istanbul

Two-terminal CMOS-based Model

Example: Implement the Boolean function f = (A B + C D)ꞌ with CMOS based nanoarrays.

Page 16: ELE 523E COMPUTATIONAL NANOELECTRONICS W6: Computing with Nano Arrays, 13/10/2014 FALL 2014 Mustafa Altun Electronics & Communication Engineering Istanbul

Two-terminal vs. Four-terminal

Shannon’s work: A Symbolic Analysis of Relay and Switching Circuits(1938)

x1

x2

x1 x2

Parallel: x1 + x2Series: x1 . x2

Page 17: ELE 523E COMPUTATIONAL NANOELECTRONICS W6: Computing with Nano Arrays, 13/10/2014 FALL 2014 Mustafa Altun Electronics & Communication Engineering Istanbul

Two-terminal vs. Four-terminal

Two-terminal switch

Closed Open

CMOS transistor

Control

Four-terminal SwitchNano array

Closed OpenSwitch

Page 18: ELE 523E COMPUTATIONAL NANOELECTRONICS W6: Computing with Nano Arrays, 13/10/2014 FALL 2014 Mustafa Altun Electronics & Communication Engineering Istanbul

Two-terminal vs. Four-terminal

x4

x5

x6

x2 x3

x1 x6x2

x1 x3x2

x4

x5

x6

x1

x2

x3

BOTTOM

TOP

(a) (b)

What are the Boolean functions implemented in (a) ad (b)?

Page 19: ELE 523E COMPUTATIONAL NANOELECTRONICS W6: Computing with Nano Arrays, 13/10/2014 FALL 2014 Mustafa Altun Electronics & Communication Engineering Istanbul

A Lattice of Four-terminal Switches

3 × 3 2D switching network and its lattice form

LE

FT

RIG

HT

BOTTOM

TOP

BOTTOM

LE

FT

RIG

HT

TOP

Page 20: ELE 523E COMPUTATIONAL NANOELECTRONICS W6: Computing with Nano Arrays, 13/10/2014 FALL 2014 Mustafa Altun Electronics & Communication Engineering Istanbul

Four-terminal Switch-based Model

Switches are controlled by Boolean literals. fL evaluates to 1 iff there exists a top-to-bottom path.

gL evaluates to 1 iff there exists a left-to-right path.

x9

x1 x4

x2 x5

x7

x8

x3 x6

LE

FT

TOP

RIG

HT

BOTTOM

f L

gL

0

1 0

1 1

1

0

0 1

LE

FT

TOP

RIG

HT

BOTTOM

f L

gL

fL = 1gL = 0

Page 21: ELE 523E COMPUTATIONAL NANOELECTRONICS W6: Computing with Nano Arrays, 13/10/2014 FALL 2014 Mustafa Altun Electronics & Communication Engineering Istanbul

Logic Synthesis Problem

How can we implement a given target Boolean function fT with a lattice of four-terminal switches?

Example: fT = x1x2x3+x1x4

x1x2x3 + x1x4 + x1x2 + x1x2x3x4 x1x2x3 + x1x4 + x1x2x4 + x1x2x3x4fL1 = fL2 =fL2 = x1x2x3 + x1x4fL1 = x1x2 + x1x4

x2 x1

x1 x4

x3 x1

BOTTOM

RIG

HTL

EF

T

TOP

x2 x4

x1 x1

x3 x4

BOTTOM

RIG

HTL

EF

T

TOP

Page 22: ELE 523E COMPUTATIONAL NANOELECTRONICS W6: Computing with Nano Arrays, 13/10/2014 FALL 2014 Mustafa Altun Electronics & Communication Engineering Istanbul

Logic Synthesis Problem

x1

x1 x1

x2 x4

x5

x5

x3 x4

LE

FT

TOP

RIG

HT

BOTTOM

Example: fT = x1x2x3+x1x4+x1x5

9 TOP-TO-BOTTOM PATHS!

Page 23: ELE 523E COMPUTATIONAL NANOELECTRONICS W6: Computing with Nano Arrays, 13/10/2014 FALL 2014 Mustafa Altun Electronics & Communication Engineering Istanbul

Synthesis Method

Example: fT = x1x2x3+x1x4+x1x5

x1 x2 x3

x1 x4

x1 x5

x1

x2 x4 x5

x3 x4 x5 {x5}

{x1} {x1}

{x2} {x4}

{x1}

{x5}

{x3} {x4}

x1 x2 x3

x1 x4

x1 x5

x1

x2 x4 x5

x3 x4 x5

fTD = (x1+x2+x3)(x1+x4)(x1+x5)

fTD = x1 + x2x4x5 + x3x4x5

x5

x1 x1

x2 x4

x1

x5

x3 x4

x1 x2 x3

x1 x4

x1 x5

x1

x2 x4 x5

x3 x4 x5

Start with fT and its dual.

Assign each product of fT to a

column. Assign each product of fT

D to

a row. Compute an intersection set

for each site. Arbitrarily select a literal from

an intersection set and assign it to the corresponding site.

Page 24: ELE 523E COMPUTATIONAL NANOELECTRONICS W6: Computing with Nano Arrays, 13/10/2014 FALL 2014 Mustafa Altun Electronics & Communication Engineering Istanbul

x1 x1

x1 x1

x2

x3

x3 x4 x2

x1 x2 x3

x2

x4

x5

x3

x2 x3

x2 x4 x4 x5 x5

x1x4

x2 x3x4

x2 x4x5

x3x5

x1 x2 x5

x1 x3 x4

x2 x3 x4

x2 x4 x5

{x2, x3, x4}

Synthesis Method

Example: fT = x1x2x3+x1x4+x2x3x4+x2x4x5+x3x5

fTD= x1x2x5+x1x3x4+x2x3x4+x2x4x5

Page 25: ELE 523E COMPUTATIONAL NANOELECTRONICS W6: Computing with Nano Arrays, 13/10/2014 FALL 2014 Mustafa Altun Electronics & Communication Engineering Istanbul

x1 x1

x1 x1

x2

x3

x3 x4 x2

x1 x2 x3

x2

x4

x5

x3

x2 x3

x2 x4 x4 x5 x5

x1x4

x2 x3x4

x2 x4x5

x3x5

x1 x2 x5

x1 x3 x4

x2 x3 x4

x2 x4 x5

Math Behind the Method – Theorem 1

Theorem 1 (Altun and Riedel, 2010): If fT and fTD are implemented as

subsets of all top-to-bottom and left-to-right paths, respectively, then fL = fT

and gL = fTD.

fTD= x1x2x5+x1x3x4+x2x3x4+x2x4x5

Example: fT = x1x2x3+x1x4+x2x3x4+x2x4x5+x3x5

Page 26: ELE 523E COMPUTATIONAL NANOELECTRONICS W6: Computing with Nano Arrays, 13/10/2014 FALL 2014 Mustafa Altun Electronics & Communication Engineering Istanbul

x1 x1

x1 x1

x2

x3

x3 x4 x2

x1 x2 x3

x2

x4

x5

x3

x2 x3

x2 x4 x4 x5 x5

x1x4

x2 x3x4

x2 x4x5

x3x5

x1 x2 x5

x1 x3 x4

x2 x3 x4

x2 x4 x5

Math Behind the Method – Theorem 1

Example: fT = x1x2x3+x1x4+x2x3x4+x2x4x5+x3x5

Theorem 1 allows us to only consider column-paths. We do not need to enumerate all paths!

Page 27: ELE 523E COMPUTATIONAL NANOELECTRONICS W6: Computing with Nano Arrays, 13/10/2014 FALL 2014 Mustafa Altun Electronics & Communication Engineering Istanbul

Math Behind the Method – Theorem 2

Theorem 2 (Altun and Riedel, 2010): Consider a product Pi of fT in ISOP

form. For any literal x of Pi there exists at least one product Pj of fTD such

that Pi ∩ Pj = x.

Lemma (Fredman and Khachiyan, 1996): Consider products Pi and Pj of

fT and fTD in ISOP forms, respectively. Pi ∩ Pj ≠ Ø

x1 x1

x1 x1

x2

x3

x3 x4 x2

x1 x2 x3

x2

x4

x5

x3

x2 x3

x2 x4 x4 x5 x5

x1x4

x2 x3x4

x2 x4x5

x3x5

x1 x2 x5

x1 x3 x4

x2 x3 x4

x2 x4 x5

Page 28: ELE 523E COMPUTATIONAL NANOELECTRONICS W6: Computing with Nano Arrays, 13/10/2014 FALL 2014 Mustafa Altun Electronics & Communication Engineering Istanbul

Math Behind the Method – Theorem 2

x1 x1

x1 x1

x2

x3

x3 x4 x2

x1 x2 x3

x2

x4

x5

x3

x2 x3

x2 x4 x4 x5 x5

x1x4

x2 x3x4

x2 x4x5

x3x5

x1 x2 x5

x1 x3 x4

x2 x3 x4

x2 x4 x5

Example: fT = x1x2x3+x1x4+x2x3x4+x2x4x5+x3x5

Theorem 2 (Altun and Riedel, 2010): Consider a product Pi of fT in ISOP

form. For any literal x of Pi there exists at least one product Pj of fTD such

that Pi ∩ Pj = x.

Each column is for each product!

Page 29: ELE 523E COMPUTATIONAL NANOELECTRONICS W6: Computing with Nano Arrays, 13/10/2014 FALL 2014 Mustafa Altun Electronics & Communication Engineering Istanbul

Method’s Performance

Size of the lattice: m×n

The time complexity:O(m2n2)

n and m are the number of products of the target function fT and its dual fT

D, respectively.

Page 30: ELE 523E COMPUTATIONAL NANOELECTRONICS W6: Computing with Nano Arrays, 13/10/2014 FALL 2014 Mustafa Altun Electronics & Communication Engineering Istanbul

Implementing Parity Functions

A Parity function f evaluates to 1 iff the number of variables assigned to 1 is an odd number:

XORk-1

xk

XORk-1

BOTTOM

xk

Implementing XORk Implementing XORk

TOP

XORk-1

xk

XORk-1

BOTTOM

xk

TOP

OUR METHOD

Page 31: ELE 523E COMPUTATIONAL NANOELECTRONICS W6: Computing with Nano Arrays, 13/10/2014 FALL 2014 Mustafa Altun Electronics & Communication Engineering Istanbul

Implementing Parity Functions

Example: Implementing XOR1, XOR1, XOR2, XOR2, XOR3, and XOR3.

XORk

XORk

XORk-1

xk

XORk-1

xk

XORk-1

xk

XORk-1

xk

x1 x1

x2 x2

x1 x1

x2 x2

XOR2

XOR2

x1 x1

x2 x2

x1 x1

x2 x2

x3 x3 x3 x3

x1 x1

x2 x2

x1 x1

x2 x2

x3 x3 x3 x3

XOR3

XOR3

x1

x1

XOR1

XOR1

Page 32: ELE 523E COMPUTATIONAL NANOELECTRONICS W6: Computing with Nano Arrays, 13/10/2014 FALL 2014 Mustafa Altun Electronics & Communication Engineering Istanbul

Implementing Parity Functions

Lattice size: (log m +1)×n compared to m×n

n and m are the number of products of the target function fT and its dual fT

D, respectively.

XORk XORk

XORk-1

xk

XORk-1

xk

XORk-1

xk

XORk-1

xk

OUR METHOD

Page 33: ELE 523E COMPUTATIONAL NANOELECTRONICS W6: Computing with Nano Arrays, 13/10/2014 FALL 2014 Mustafa Altun Electronics & Communication Engineering Istanbul

Implementing parity functions

Example: Implementing XOR4

x1 x1

x2 x2

x1 x1

x2 x2

x3 x3 x3 x3

x1 x1

x2 x2

x1 x1

x2 x2

x3 x3 x3 x3

XOR4

x4 x4 x4 x4x4 x4 x4 x4

x1

x2

x1

x1 x4

x2 x3

x1 x4

x2 x3

x1 x4 x1 x4

XOR4

OPTIMAL

Lattice size: (log m +1)×n= (log 8 +1)×8=32

Lattice size: 3×5=15

Page 34: ELE 523E COMPUTATIONAL NANOELECTRONICS W6: Computing with Nano Arrays, 13/10/2014 FALL 2014 Mustafa Altun Electronics & Communication Engineering Istanbul

Optimal Lattice Sizes

We need at least 3 rows to implement the target functions.

Can we implement the target functions with 2 columns?

NO for fT1; YES for fT2.

The minimum lattice sizes for fT1 and fT2

are 9 and 6.BOTTOM

TOP

Example: fT1 = x1x2x3+x1x4+x1x5 fT2 = x1x2x3+x1x2x4+x2x3x4. (contd.) fT1

D= x1+x2x4x5+x3x4x5 fT2D= x1x4+x1x2+x2x3.

Page 35: ELE 523E COMPUTATIONAL NANOELECTRONICS W6: Computing with Nano Arrays, 13/10/2014 FALL 2014 Mustafa Altun Electronics & Communication Engineering Istanbul

Suggested Readings

Shannon, C. E. (1938). A symbolic analysis of relay and switching circuits. Electrical Engineering, 57(12), 713-723.

Whitesides, G. M., & Grzybowski, B. (2002). Self-assembly at all scales.Science, 295(5564), 2418-2421.

Snider, G., Kuekes, P., Hogg, T., & Williams, R. S. (2005). Nanoelectronic architectures. Applied Physics A, 80(6), 1183-1195.

Altun, M., & Riedel, M. D. (2012). Logic synthesis for switching lattices.Computers, IEEE Transactions on, 61(11), 1588-1600.