ELE 523E COMPUTATIONAL NANOELECTRONICS W6: Computing with Nano Arrays, 13/10/2014 FALL 2014 Mustafa...
-
Upload
stephen-palmer -
Category
Documents
-
view
220 -
download
0
Transcript of ELE 523E COMPUTATIONAL NANOELECTRONICS W6: Computing with Nano Arrays, 13/10/2014 FALL 2014 Mustafa...
![Page 1: ELE 523E COMPUTATIONAL NANOELECTRONICS W6: Computing with Nano Arrays, 13/10/2014 FALL 2014 Mustafa Altun Electronics & Communication Engineering Istanbul.](https://reader036.fdocuments.in/reader036/viewer/2022062516/56649d885503460f94a6dbfc/html5/thumbnails/1.jpg)
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.](https://reader036.fdocuments.in/reader036/viewer/2022062516/56649d885503460f94a6dbfc/html5/thumbnails/2.jpg)
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.](https://reader036.fdocuments.in/reader036/viewer/2022062516/56649d885503460f94a6dbfc/html5/thumbnails/3.jpg)
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.](https://reader036.fdocuments.in/reader036/viewer/2022062516/56649d885503460f94a6dbfc/html5/thumbnails/4.jpg)
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.](https://reader036.fdocuments.in/reader036/viewer/2022062516/56649d885503460f94a6dbfc/html5/thumbnails/5.jpg)
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.](https://reader036.fdocuments.in/reader036/viewer/2022062516/56649d885503460f94a6dbfc/html5/thumbnails/6.jpg)
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.](https://reader036.fdocuments.in/reader036/viewer/2022062516/56649d885503460f94a6dbfc/html5/thumbnails/7.jpg)
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.](https://reader036.fdocuments.in/reader036/viewer/2022062516/56649d885503460f94a6dbfc/html5/thumbnails/8.jpg)
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.](https://reader036.fdocuments.in/reader036/viewer/2022062516/56649d885503460f94a6dbfc/html5/thumbnails/9.jpg)
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.](https://reader036.fdocuments.in/reader036/viewer/2022062516/56649d885503460f94a6dbfc/html5/thumbnails/10.jpg)
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.](https://reader036.fdocuments.in/reader036/viewer/2022062516/56649d885503460f94a6dbfc/html5/thumbnails/11.jpg)
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.](https://reader036.fdocuments.in/reader036/viewer/2022062516/56649d885503460f94a6dbfc/html5/thumbnails/12.jpg)
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.](https://reader036.fdocuments.in/reader036/viewer/2022062516/56649d885503460f94a6dbfc/html5/thumbnails/13.jpg)
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.](https://reader036.fdocuments.in/reader036/viewer/2022062516/56649d885503460f94a6dbfc/html5/thumbnails/14.jpg)
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.](https://reader036.fdocuments.in/reader036/viewer/2022062516/56649d885503460f94a6dbfc/html5/thumbnails/15.jpg)
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.](https://reader036.fdocuments.in/reader036/viewer/2022062516/56649d885503460f94a6dbfc/html5/thumbnails/16.jpg)
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.](https://reader036.fdocuments.in/reader036/viewer/2022062516/56649d885503460f94a6dbfc/html5/thumbnails/17.jpg)
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.](https://reader036.fdocuments.in/reader036/viewer/2022062516/56649d885503460f94a6dbfc/html5/thumbnails/18.jpg)
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.](https://reader036.fdocuments.in/reader036/viewer/2022062516/56649d885503460f94a6dbfc/html5/thumbnails/19.jpg)
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.](https://reader036.fdocuments.in/reader036/viewer/2022062516/56649d885503460f94a6dbfc/html5/thumbnails/20.jpg)
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.](https://reader036.fdocuments.in/reader036/viewer/2022062516/56649d885503460f94a6dbfc/html5/thumbnails/21.jpg)
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.](https://reader036.fdocuments.in/reader036/viewer/2022062516/56649d885503460f94a6dbfc/html5/thumbnails/22.jpg)
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.](https://reader036.fdocuments.in/reader036/viewer/2022062516/56649d885503460f94a6dbfc/html5/thumbnails/23.jpg)
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.](https://reader036.fdocuments.in/reader036/viewer/2022062516/56649d885503460f94a6dbfc/html5/thumbnails/24.jpg)
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.](https://reader036.fdocuments.in/reader036/viewer/2022062516/56649d885503460f94a6dbfc/html5/thumbnails/25.jpg)
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.](https://reader036.fdocuments.in/reader036/viewer/2022062516/56649d885503460f94a6dbfc/html5/thumbnails/26.jpg)
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.](https://reader036.fdocuments.in/reader036/viewer/2022062516/56649d885503460f94a6dbfc/html5/thumbnails/27.jpg)
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.](https://reader036.fdocuments.in/reader036/viewer/2022062516/56649d885503460f94a6dbfc/html5/thumbnails/28.jpg)
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.](https://reader036.fdocuments.in/reader036/viewer/2022062516/56649d885503460f94a6dbfc/html5/thumbnails/29.jpg)
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.](https://reader036.fdocuments.in/reader036/viewer/2022062516/56649d885503460f94a6dbfc/html5/thumbnails/30.jpg)
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.](https://reader036.fdocuments.in/reader036/viewer/2022062516/56649d885503460f94a6dbfc/html5/thumbnails/31.jpg)
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.](https://reader036.fdocuments.in/reader036/viewer/2022062516/56649d885503460f94a6dbfc/html5/thumbnails/32.jpg)
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.](https://reader036.fdocuments.in/reader036/viewer/2022062516/56649d885503460f94a6dbfc/html5/thumbnails/33.jpg)
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.](https://reader036.fdocuments.in/reader036/viewer/2022062516/56649d885503460f94a6dbfc/html5/thumbnails/34.jpg)
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.](https://reader036.fdocuments.in/reader036/viewer/2022062516/56649d885503460f94a6dbfc/html5/thumbnails/35.jpg)
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.