Adld l6
Adld l6
Adld l6
http://ziyang.eecs.northwestern.edu/eecs303/
Outline
1. Implementation technologies
2. Homework
Section outline
1. Implementation technologies
Review of MUX composition
Steering logic
ROMs
FPGAs
Transformations for CMOS
5:32 decoder/demultiplexer
G1 Y7 \Y 31
\EN 1G 1Y 3 Y6 30
G2 A
Y5 29
S4 139 1 Y 2 G2B
S3 1B 1 Y 1 Y4 28
1A 1Y 0 138 Y3 27
S2 Y2 26
C
2G 2 Y 3 S1 Y1 25
2Y 2 B
S0 Y0 24
2B 2 Y 1 A
2A 2Y 0
G1 Y7 23
G2 A Y6 22
G2B Y5 21
\EN \Y31 Y4 20
138 Y3 19
S2 Y2 18
S1 C
5 : 32 . S0
B Y1 17
Y0 16
De c ode r . A
S ub s y s t e m .
15
G1 Y7
14
G2 A Y6
\Y0 G2B Y5
13
Y4
12
138 11
S4 S3 S2 S1 S0 S2
Y3
10
C Y2
S1 B Y1 9
S0 A Y0 8
Y7
7
G1
6
G2 A Y6
5
G2B Y5
Y4 4
138 3
Y3
S2 2
C Y2
S1 Y1 1
B
S0 Y0 \Y 0
A
Section outline
1. Implementation technologies
Review of MUX composition
Steering logic
ROMs
FPGAs
Transformations for CMOS
I1 Zero One
0 1 0
1 0 1
I1 Zero One
0 1 0
1 0 1
Can implement using logic gates
Zero
I1 Zero One
0 1 0
1 0 1
Can implement using TGs
I
1
"0 " On e
"1 " Ze ro
"0 "
I1 Zero One
0 1 0
1 0 1
Can implement using TGs
I
1
"0 " On e
"1 " Ze ro
"0 "
TG tally circuit
I
1
"0 " On e
"1 " Ze ro
"0 "
TG tally circuit
I
1
"0 " On e
"1 " Ze ro
"0 "
TG tally circuit
I
1
"0 " On e
"1 " Ze ro
"0 "
TG tally circuit
I
1
"0 " On e
"1 " Ze ro
"0 "
TG tally circuit
I
1
"0 " On e
"1 " Ze ro
"0 "
TG tally circuit
I
1
"0 " On e
"1 " Ze ro
"0 "
TG tally circuit
I
1
"0 " On e
"1 " Ze ro
"0 "
TG tally circuit
I
1
"0 " On e
"1 " Ze ro
"0 "
4-input tally
4-input tally
"0 " Tw o
I1
O ne
"0 " O ne
Z e ro
"1 " Z e ro
4-input tally
I1 I2 Zero One Two
0 0 1 0 0
0 1 0 1 0
1 0 0 1 0
1 1 0 0 1
I2
I1
"0 " Tw o
O ne
"0 " O ne
Z e ro
"1 " Z e ro
TG tally circuit
I2
"0 " Tw o
I1
O ne
"0 " O ne
Z e ro
"1 " Z e ro
TG tally circuit
I2
"0 " Tw o
I1
O ne
"0 " O ne
Z e ro
"1 " Z e ro
TG tally circuit
I2
"0 " Tw o
I1
O ne
"0 " O ne
Z e ro
"1 " Z e ro
TG tally circuit
I2
"0 " Tw o
I1
O ne
"0 " O ne
Z e ro
"1 " Z e ro
TG tally circuit
I2
"0 " Tw o
I1
O ne
"0 " O ne
Z e ro
"1 " Z e ro
TG tally circuit
I2
"0 " Tw o
I1
O ne
"0 " O ne
Z e ro
"1 " Z e ro
TG tally circuit
I2
"0 " Tw o
I1
O ne
"0 " O ne
Z e ro
"1 " Z e ro
TG tally circuit
I2
"0 " Tw o
I1
O ne
"0 " O ne
Z e ro
"1 " Z e ro
TG tally circuit
I2
"0 " Tw o
I1
O ne
"0 " O ne
Z e ro
"1 " Z e ro
TG tally circuit
I2
"0 " Tw o
I1
O ne
"0 " O ne
Z e ro
"1 " Z e ro
TG tally circuit
I2
"0 " Tw o
I1
O ne
"0 " O ne
Z e ro
"1 " Z e ro
TG tally circuit
I2
"0 " Tw o
I1
O ne
"0 " O ne
Z e ro
"1 " Z e ro
TG tally circuit
I2
I1
"0 " Tw o
O ne
"0 " O ne
Z e ro
"1 " Z e ro
TG tally circuit
I2
I1
"0 " Tw o
O ne
"0 " O ne
Z e ro
"1 " Z e ro
TG tally circuit
I2
I1
"0 " Tw o
O ne
"0 " O ne
Z e ro
"1 " Z e ro
TG tally circuit
I2
I1
"0 " Tw o
O ne
"0 " O ne
Z e ro
"1 " Z e ro
TG tally circuit
I2
I1
"0 " Tw o
O ne
"0 " O ne
Z e ro
"1 " Z e ro
TG tally circuit
I2
I1
"0 " Tw o
O ne
"0 " O ne
Z e ro
"1 " Z e ro
TG tally circuit
I2
I1
"0 " Tw o
O ne
"0 " O ne
Z e ro
"1 " Z e ro
TG tally circuit
I2
I1
"0 " Tw o
O ne
"0 " O ne
Z e ro
"1 " Z e ro
TG tally circuit
I2
I1
"0 " Tw o
O ne
"0 " O ne
Z e ro
"1 " Z e ro
TG tally circuit
I2
I1
"0 " Tw o
O ne
"0 " O ne
Z e ro
"1 " Z e ro
TG tally circuit
I2
I1
"0 " Tw o
O ne
"0 " O ne
Z e ro
"1 " Z e ro
TG tally circuit
I2
I1
"0 " Tw o
O ne
"0 " O ne
Z e ro
"1 " Z e ro
Section outline
1. Implementation technologies
Review of MUX composition
Steering logic
ROMs
FPGAs
Transformations for CMOS
PROM
+5 V +5 V +5 V +5 V
n
2 −1
i W o rd Li n e 0011
De c
j W o rd Li n e 1010
B i t Lin e s
0 n− 1
A dd re s s
F0 = A B C + A B C + A B C
F1 = A B C + A B C + A B C
F2 = A B C + A B C + A B C
F3 = A B C + A B C + A B C
Truth table
A B C F3 F2 F1 F0
0 0 0 0 1 0 0
0 0 1 0 1 1 1
0 1 0 0 0 1 0
0 1 1 1 0 0 0
1 0 0 1 1 0 1
1 0 1 0 0 0 1
1 1 0 1 0 0 0
1 1 1 0 0 1 0
Truth table
A B C F3 F2 F1 F0
0 0 0 0 1 0 0
0 0 1 0 1 1 1
0 1 0 0 0 1 0
0 1 1 1 0 0 0
1 0 0 1 1 0 1
1 0 1 0 0 0 1
1 1 0 1 0 0 0
1 1 1 0 0 1 0
Address
Truth table
A B C F3 F2 F1 F0
0 0 0 0 1 0 0
0 0 1 0 1 1 1
0 1 0 0 0 1 0
0 1 1 1 0 0 0
1 0 0 1 1 0 1
1 0 1 0 0 0 1
1 1 0 1 0 0 0
1 1 1 0 0 1 0
Word
outputs
8 words x
4 bits
addresses
24 Robert Dick Advanced Digital Logic Design
Review of MUX composition
Steering logic
Implementation technologies
ROMs
Homework
FPGAs
Transformations for CMOS
Memory composition
2764 EPR OM
8K x 8
2764
VPP
PGM
A12
A11
A10
O7
A9
O6
A8
O5
A7
O4
A6
O3
A5
O2
A4 O1
A3 O0
A2
A1
A0
CS
OE
Memory composition
2764 2764
VP P VP P
+ P GM + P GM
A12 A12
A11 A11
A10 O7 A10 O7
A9 O6 A9 O6
A8 O5 A8 O5
A7 O4 A7 O4
A6 O3 A6 O3
A5 O2 A5 O2
A4 O1 A4 O1
A3 O0 A3 O0
A2 A2
A1 A1
A0 A0
CS U3 CS U 2
OE OE
A13
/OE
A12:A0
D 15:D 8
D 7:D 0
2764 2764
VP P VP P
+ + P GM
P GM
A12 A12
A11 A11
A10 O7 A10 O7
A9 O6 A9 O6
A8 O5 A8 O5
A7 O4 A7 O4
A6 O3 A6 O3
A5 O2 A5
A4 O1
O2
A4 O1
A3 O0 A3
A2 A2 O0
A1 A1
A0 A0
CS U1 CS U 0
OE OE
16K x 16
Memory composition
2764 2764
VP P VP P
+ P GM + P GM
A12 A12
A11 A11
A10 O7 A10 O7
A9 O6 A9 O6
A8 O5 A8 O5
A7 O4 A7 O4
A6 O3 A6 O3
A5 O2 A5 O2
A4 O1 A4 O1
A3 O0 A3 O0
A2 A2
A1 A1
A0 A0
CS U3 CS U 2
OE OE
A13
/OE
A12:A0
D 15:D 8
D 7:D 0
2764 2764
VP P VP P
+ + P GM
P GM
A12 A12
A11 A11
A10 O7 A10 O7
A9 O6 A9 O6
A8 O5 A8 O5
A7 O4 A7 O4
A6 O3 A6 O3
A5 O2 A5
A4 O1
O2
A4 O1
A3 O0 A3
A2 A2 O0
A1 A1
A0 A0
CS U1 CS U 0
OE OE
16K x 16
Chip select
PLA
Takes advantage of don’t-cares
Good at random logic
Good when product terms shared
PAL
More area-efficient for certain designs
OR-plane can’t be programmed, usually no sharing
PROM
Design trivial
Can’t take advantage of don’t-cares
Area-inefficient
Product/sum terms not shared
Section outline
1. Implementation technologies
Review of MUX composition
Steering logic
ROMs
FPGAs
Transformations for CMOS
PLAs
10–100 gate equivalent
FPGAs
Altera
Actel
Xilinx
100–1,000,000 gate equivalent
Altera EPLDs
C lk
MUX
Ou tpu t
AND pad
Q MUX I/O P i n
ARR AY
In v e r t
Con tro l
F /B
MUX S e q. Lo g ic
B lo c k
P ro g ram m ab l e p o l a rity P ro g ram m ab l e fee dba c k
Lo g i c G l o ba l R o uti n g :
LA B A LA B H
Arra y P ro g ram m ab l e
B lo c k s Inte rc o nn ec t
LA B B LA B G
(s i m il a r to Arra y
P EP M5128:
m a c ro ce ll s ) I
A 8 Fi x e d Inputs
LA B C LA B F
52 I/O P i n s
8 LA B s
16 Ma c ro ce ll s /LA B
LA B D LA B E
32 Expand e rs /LA B
I/O Pad
Ma c roce ll
I/O
ARRAY
B l oc k
I
N I/O Pad
P
P I
U A
T
S E xpand e r
P ro du c t
Te rm
ARRAY
Ma c ro c e ll
P − Te rm s
Expand e r
P − Te rm s
4 9
2156 5368
5412
2200 5456
2244 5500 OUT P UT
2288 5544 LOGIC
MA CROCE L 14
2332 5588 L
2376 5632
2420 5676
2464 OUT P UT 5720 P − 5826
2508 LOGIC
19 R − 5827
2552 MA CROCE LL
2596 10
2640
2684 P − 5816 S Y NCHRONOUS
2728 R− 5817 5764 P RE S E T
2772
2816 11 13
2860
5 IN CREM EN 0 4 8 12 16 20 24 28 32 36 40
T
S OA S0 S1
D0
2:1 MUX
D1
2:1 MUX Y
D2
2:1 MUX
D3
S OB
Modified 4:1 MUX
R "0 "
2:1 MUX
"0 "
2:1 MUX Q
"1 "
2:1 MUX
Logic modules
Wiring tracks
Actel interconnect
Log ic M o dule
Ho rizo n t al
Tra c k A n t i− f u s e
Ve rt ic al
Tra c k
Antifuse routing
Log i c Mo du le
Inpu t
Log ic Mo du le
Lo g ic Mo du le
O u t pu t
Inpu t
Xilinx LCAs
IO B IO B IO B IO B
IO B
CLB CLB
IO B
W i ri n g Chann e l s
IO B
CLB CLB
IO B
Inputs
Input variables
Tri-state (high-Z) enable bit for output
Output clocks
Xilinx LCA
E nab l e
Output
MUX P AD
Out D Q Output
Buffe r
R
Direc t In
Q D
R eg i s te re d In TTL o r CMOS
Input Buffe r
Cl oc k s Gl o ba l R e s e t
Xilinx CLB
2 flip-flops
General function of 4 variables
2 non-general functions of 5 variables
Certain special-case functions of 6 variables
Global reset
Clock
Clock enable
Independent input, DIN
Xilinx CLB
Res et
D IN Mux D RD
Q
CE
Q1 Mux X
F
A
B C o m b ina tio na l
C F un c tio n
D G e n e ra t o r
E G
Q2 Mux Y
Mux D RD
Q
Clo c k Mux CE
Clo c k
Enab le
Function generator
Q1
A
B Mux F
F un c tio n
C Mux of 5
Va riable s
D G
E
Q2
Two constrained functions of five variables
Function generator
Q1
A
B Mux
F un c tio n
C Mux of 4 F
Va riab le s
D Mux
E
Q2
Q1
A
B Mux
F un c tio n
C Mux of 4 G
Va riab le s
D Mux
E
Q2
Two arbitrary functions of four variables
Function generator
Q1
A
B Mux
F un c tio n
C Mux of 4
Va riab le s
D E
F
Q2
Mux
Q1
A G
B Mux
F un c tio n
C Mux of 4
Va riab le s
D
Q2
Certain limited functions of 6 variables
A B = C D or A B > C D
GT = A C + A B D + B C D
EQ = A B C D + A B C D + A B C D + A B C D
Only 1 CLB required
CLB
CLB
CLB
CLB
CLB
CLB
C o ut S3 C2 S2 C1 S1 C0 S0
CLB CLB
S2 S0
S3 S1
C o ut C2
Xilinx interconnect
Xilinx interconnect
Xilinx interconnect
Direc t
Co nn ec t i o n s
Inte rc o nn ec t DI CE A DI CE A
B X B X
C C L B0 C C L B1
K Y K Y
Direc t C o nn ec ti o n s E D R E D R
Ho ri z o n t a l
Lo n g Li n e
G l o ba l Lo n g Li n e
Swi t c h i n g
M a t ri x
C o nn ec ti o n s
Ve r t i c a l Gl o ba l
Lo n g Li n e s Lo n g Li n e
Dynamic reconfiguration
Prototyping
Constant coefficient multiplication
Direct HW implementation of problem instance, e.g.,
3SAT
Design rule checking (DRC)
Prototype designs
Discrete packages
Slow
Error-prone
Custom layout requires circuit fabrication
Slow
Expensive for small runs
Can’t be changed
Section outline
1. Implementation technologies
Review of MUX composition
Steering logic
ROMs
FPGAs
Transformations for CMOS
(A + B) = A B
(AB) = A + B
A+B =A B
AB = A + B
A A B B A+B (A B ) A +B (AB)
0 1 0 1 0 0 1 1
0 1 1 0 1 1 1 1
1 0 0 1 1 1 1 1
1 0 1 0 1 1 0 0
A A B B AB (A + B ) A B (A + B)
0 1 0 1 0 0 1 1
0 1 1 0 0 0 0 0
1 0 0 1 0 0 0 0
1 0 1 0 1 1 0 0
AND/OR → NAND/NOR
A
B
C
D
AND/OR → NAND/NOR
A
B
C
D
A
B AND
OR
C
D AND
AND/OR → NAND/NOR
A
B AND
OR
C
D AND
NAND
A
B
C
D NAND
NAND
AND/OR → NAND/NOR
NAND
A
B
C
D NAND
NAND
NAND
A
B
C
D
NAND
NAND
=
83 Robert Dick Advanced Digital Logic Design
Implementation technologies
Homework
Outline
1. Implementation technologies
2. Homework
Homework
Review