cmos circuits 2006 - ece.duke.edujmorizio/ece261/classlectures/cmos_circuits.… · cmos switch a c...
TRANSCRIPT
![Page 1: CMOS circuits 2006 - ece.duke.edujmorizio/ece261/classlectures/CMOS_circuits.… · CMOS switch a C b S = 0 S = 1 a Good 0 Good 1 (Transmission gate) b s s. EE 261 James Morizio 13](https://reader034.vdocuments.mx/reader034/viewer/2022050601/5fa8e867d196b300095d8acd/html5/thumbnails/1.jpg)
EE 261 James Morizio 1
MOS Transistors
• Silicon substrate doped with impurities• Adding or cutting away insulating glass (SiO2)• Adding wires made of polycrystalline silicon (polysilicon,
poly) or metal, insulated from the substrate by SiO2
Drain Source
Gate
nn
Drain Source
Gate SiO2 (insulator)
p-type (doped)substrate
Drain Source
Gate
nMOS transistor
pMOS transistor
channel
Width WLength
L
Conductor(poly)
![Page 2: CMOS circuits 2006 - ece.duke.edujmorizio/ece261/classlectures/CMOS_circuits.… · CMOS switch a C b S = 0 S = 1 a Good 0 Good 1 (Transmission gate) b s s. EE 261 James Morizio 13](https://reader034.vdocuments.mx/reader034/viewer/2022050601/5fa8e867d196b300095d8acd/html5/thumbnails/2.jpg)
EE 261 James Morizio 2
Silicon Lattice• Transistors are built on a silicon substrate• Silicon is a Group IV material• Forms crystal lattice with bonds to four neighbors
Si SiSi
Si SiSi
Si SiSi
![Page 3: CMOS circuits 2006 - ece.duke.edujmorizio/ece261/classlectures/CMOS_circuits.… · CMOS switch a C b S = 0 S = 1 a Good 0 Good 1 (Transmission gate) b s s. EE 261 James Morizio 13](https://reader034.vdocuments.mx/reader034/viewer/2022050601/5fa8e867d196b300095d8acd/html5/thumbnails/3.jpg)
EE 261 James Morizio 3
Dopants• Silicon is a semiconductor• Pure silicon has no free carriers and conducts poorly• Adding dopants increases the conductivity• Group V: extra electron (n-type)• Group III: missing electron, called hole (p-type)
As SiSi
Si SiSi
Si SiSi
B SiSi
Si SiSi
Si SiSi
-
+
+
-
![Page 4: CMOS circuits 2006 - ece.duke.edujmorizio/ece261/classlectures/CMOS_circuits.… · CMOS switch a C b S = 0 S = 1 a Good 0 Good 1 (Transmission gate) b s s. EE 261 James Morizio 13](https://reader034.vdocuments.mx/reader034/viewer/2022050601/5fa8e867d196b300095d8acd/html5/thumbnails/4.jpg)
EE 261 James Morizio 4
p-n Junctions• A junction between p-type and n-type
semiconductor forms a diode.• Current flows only in one direction
p-type n-type
anode cathode
![Page 5: CMOS circuits 2006 - ece.duke.edujmorizio/ece261/classlectures/CMOS_circuits.… · CMOS switch a C b S = 0 S = 1 a Good 0 Good 1 (Transmission gate) b s s. EE 261 James Morizio 13](https://reader034.vdocuments.mx/reader034/viewer/2022050601/5fa8e867d196b300095d8acd/html5/thumbnails/5.jpg)
EE 261 James Morizio 5
nMOS Transistor• Four terminals: gate, source, drain, body• Gate – oxide – body stack looks like a capacitor
– Gate and body are conductors– SiO2 (oxide) is a very good insulator– Called metal – oxide – semiconductor (MOS) capacitor– Even though gate is
no longer made of metal
n+
p
GateSource Drain
bulk Si
SiO2
Polysilicon
n+
![Page 6: CMOS circuits 2006 - ece.duke.edujmorizio/ece261/classlectures/CMOS_circuits.… · CMOS switch a C b S = 0 S = 1 a Good 0 Good 1 (Transmission gate) b s s. EE 261 James Morizio 13](https://reader034.vdocuments.mx/reader034/viewer/2022050601/5fa8e867d196b300095d8acd/html5/thumbnails/6.jpg)
EE 261 James Morizio 6
nMOS Operation• Body is commonly tied to ground (0 V)• When the gate is at a low voltage:
– P-type body is at low voltage– Source-body and drain-body diodes are OFF– No current flows, transistor is OFF
n+
p
GateSource Drain
bulk Si
SiO2
Polysilicon
n+D
0
S
![Page 7: CMOS circuits 2006 - ece.duke.edujmorizio/ece261/classlectures/CMOS_circuits.… · CMOS switch a C b S = 0 S = 1 a Good 0 Good 1 (Transmission gate) b s s. EE 261 James Morizio 13](https://reader034.vdocuments.mx/reader034/viewer/2022050601/5fa8e867d196b300095d8acd/html5/thumbnails/7.jpg)
EE 261 James Morizio 7
nMOS Operation Cont.• When the gate is at a high voltage:
– Positive charge on gate of MOS capacitor– Negative charge attracted to body– Inverts a channel under gate to n-type– Now current can flow through n-type silicon from
source through channel to drain, transistor is ON
n+
p
GateSource Drain
bulk Si
SiO2
Polysilicon
n+D
1
S
![Page 8: CMOS circuits 2006 - ece.duke.edujmorizio/ece261/classlectures/CMOS_circuits.… · CMOS switch a C b S = 0 S = 1 a Good 0 Good 1 (Transmission gate) b s s. EE 261 James Morizio 13](https://reader034.vdocuments.mx/reader034/viewer/2022050601/5fa8e867d196b300095d8acd/html5/thumbnails/8.jpg)
EE 261 James Morizio 8
pMOS Transistor• Similar, but doping and voltages reversed
– Body tied to high voltage (VDD)– Gate low: transistor ON– Gate high: transistor OFF– Bubble indicates inverted behavior
SiO2
n
GateSource Drain
bulk Si
Polysilicon
p+ p+
![Page 9: CMOS circuits 2006 - ece.duke.edujmorizio/ece261/classlectures/CMOS_circuits.… · CMOS switch a C b S = 0 S = 1 a Good 0 Good 1 (Transmission gate) b s s. EE 261 James Morizio 13](https://reader034.vdocuments.mx/reader034/viewer/2022050601/5fa8e867d196b300095d8acd/html5/thumbnails/9.jpg)
EE 261 James Morizio 9
Power Supply Voltage
• GND = 0 V• In 1980’s, VDD = 5V• VDD has decreased in modern processes
– High VDD would damage modern tiny transistors– Lower VDD saves power
• VDD = 3.3, 2.5, 1.8, 1.5, 1.2, 1.0, …
![Page 10: CMOS circuits 2006 - ece.duke.edujmorizio/ece261/classlectures/CMOS_circuits.… · CMOS switch a C b S = 0 S = 1 a Good 0 Good 1 (Transmission gate) b s s. EE 261 James Morizio 13](https://reader034.vdocuments.mx/reader034/viewer/2022050601/5fa8e867d196b300095d8acd/html5/thumbnails/10.jpg)
EE 261 James Morizio 10
Transistors as Switches• We can view MOS transistors as electrically
controlled switches• Voltage at gate controls path from source to drain
g
s
d
g = 0
s
d
g = 1
s
d
g
s
d
s
d
s
d
nMOS
pMOS
OFF ON
ON OFF
![Page 11: CMOS circuits 2006 - ece.duke.edujmorizio/ece261/classlectures/CMOS_circuits.… · CMOS switch a C b S = 0 S = 1 a Good 0 Good 1 (Transmission gate) b s s. EE 261 James Morizio 13](https://reader034.vdocuments.mx/reader034/viewer/2022050601/5fa8e867d196b300095d8acd/html5/thumbnails/11.jpg)
EE 261 James Morizio 11
MOS Transistor Switches
N
a
b
s
N-switch a
b
sS = 0
S = 1
Good 0, Poor 1
0
1
0
1(degraded)
![Page 12: CMOS circuits 2006 - ece.duke.edujmorizio/ece261/classlectures/CMOS_circuits.… · CMOS switch a C b S = 0 S = 1 a Good 0 Good 1 (Transmission gate) b s s. EE 261 James Morizio 13](https://reader034.vdocuments.mx/reader034/viewer/2022050601/5fa8e867d196b300095d8acd/html5/thumbnails/12.jpg)
EE 261 James Morizio 12
MOS Transistor Switches
P-switcha
b
s P
a
b
s
S = 1
S = 0
Good 1, Poor 0
1
0
1
0(degraded)
a b
s
s
CMOS switch
a b
s
C S = 0
S = 1
a
Good 0Good 1
(Transmissiongate)
b
s
s
![Page 13: CMOS circuits 2006 - ece.duke.edujmorizio/ece261/classlectures/CMOS_circuits.… · CMOS switch a C b S = 0 S = 1 a Good 0 Good 1 (Transmission gate) b s s. EE 261 James Morizio 13](https://reader034.vdocuments.mx/reader034/viewer/2022050601/5fa8e867d196b300095d8acd/html5/thumbnails/13.jpg)
EE 261 James Morizio 13
Signal Strength
• Strength of signal– How close it approximates ideal voltage source
• VDD and GND rails are strongest 1 and 0• nMOS pass strong 0
– But degraded or weak 1
• pMOS pass strong 1– But degraded or weak 0
• Thus nMOS are best for pull-down network
![Page 14: CMOS circuits 2006 - ece.duke.edujmorizio/ece261/classlectures/CMOS_circuits.… · CMOS switch a C b S = 0 S = 1 a Good 0 Good 1 (Transmission gate) b s s. EE 261 James Morizio 13](https://reader034.vdocuments.mx/reader034/viewer/2022050601/5fa8e867d196b300095d8acd/html5/thumbnails/14.jpg)
EE 261 James Morizio 14
CMOS Inverter
1
0
YA VDD
A Y
GNDA Y
![Page 15: CMOS circuits 2006 - ece.duke.edujmorizio/ece261/classlectures/CMOS_circuits.… · CMOS switch a C b S = 0 S = 1 a Good 0 Good 1 (Transmission gate) b s s. EE 261 James Morizio 13](https://reader034.vdocuments.mx/reader034/viewer/2022050601/5fa8e867d196b300095d8acd/html5/thumbnails/15.jpg)
EE 261 James Morizio 15
CMOS Logic Gates-1Inverter
Input Outputa a
VDD
Gnd
Pull-down
Pull-up
path
path
2-input NAND
Gnd
VDD
a
b
a b
Pull-down
Pull-up
tree
tree
a b
z
z0 0 Z0 1 Z1 0 Z1 1 0
a b z0 0 10 1 11 0 11 1 Z
Pull-down Pull-uptruth tabletruth table
a b z0 0 10 1 11 0 11 1 0
NANDtruth table
![Page 16: CMOS circuits 2006 - ece.duke.edujmorizio/ece261/classlectures/CMOS_circuits.… · CMOS switch a C b S = 0 S = 1 a Good 0 Good 1 (Transmission gate) b s s. EE 261 James Morizio 13](https://reader034.vdocuments.mx/reader034/viewer/2022050601/5fa8e867d196b300095d8acd/html5/thumbnails/16.jpg)
EE 261 James Morizio 16
CMOS Inverter
010
YA VDD
A=1 Y=0
GND
ON
OFF
A Y
![Page 17: CMOS circuits 2006 - ece.duke.edujmorizio/ece261/classlectures/CMOS_circuits.… · CMOS switch a C b S = 0 S = 1 a Good 0 Good 1 (Transmission gate) b s s. EE 261 James Morizio 13](https://reader034.vdocuments.mx/reader034/viewer/2022050601/5fa8e867d196b300095d8acd/html5/thumbnails/17.jpg)
EE 261 James Morizio 17
CMOS Inverter
01
10YA VDD
A=0 Y=1
GND
OFF
ON
A Y
![Page 18: CMOS circuits 2006 - ece.duke.edujmorizio/ece261/classlectures/CMOS_circuits.… · CMOS switch a C b S = 0 S = 1 a Good 0 Good 1 (Transmission gate) b s s. EE 261 James Morizio 13](https://reader034.vdocuments.mx/reader034/viewer/2022050601/5fa8e867d196b300095d8acd/html5/thumbnails/18.jpg)
EE 261 James Morizio 18
CMOS NAND Gate
1
1
0
0
A
1
0
1
0
YB
A
B
Y
![Page 19: CMOS circuits 2006 - ece.duke.edujmorizio/ece261/classlectures/CMOS_circuits.… · CMOS switch a C b S = 0 S = 1 a Good 0 Good 1 (Transmission gate) b s s. EE 261 James Morizio 13](https://reader034.vdocuments.mx/reader034/viewer/2022050601/5fa8e867d196b300095d8acd/html5/thumbnails/19.jpg)
EE 261 James Morizio 19
CMOS NAND Gate
1
1
0
0A
1
0
1
10YB
A=0
B=0
Y=1OFF
ON ON
OFF
![Page 20: CMOS circuits 2006 - ece.duke.edujmorizio/ece261/classlectures/CMOS_circuits.… · CMOS switch a C b S = 0 S = 1 a Good 0 Good 1 (Transmission gate) b s s. EE 261 James Morizio 13](https://reader034.vdocuments.mx/reader034/viewer/2022050601/5fa8e867d196b300095d8acd/html5/thumbnails/20.jpg)
EE 261 James Morizio 20
CMOS NAND Gate
1
1
00
A
110
1
10
YB
A=0
B=1
Y=1OFF
OFF ON
ON
![Page 21: CMOS circuits 2006 - ece.duke.edujmorizio/ece261/classlectures/CMOS_circuits.… · CMOS switch a C b S = 0 S = 1 a Good 0 Good 1 (Transmission gate) b s s. EE 261 James Morizio 13](https://reader034.vdocuments.mx/reader034/viewer/2022050601/5fa8e867d196b300095d8acd/html5/thumbnails/21.jpg)
EE 261 James Morizio 21
CMOS NAND Gate
1
10
0
A
11
101
10
YB
A=1
B=0
Y=1ON
ON OFF
OFF
![Page 22: CMOS circuits 2006 - ece.duke.edujmorizio/ece261/classlectures/CMOS_circuits.… · CMOS switch a C b S = 0 S = 1 a Good 0 Good 1 (Transmission gate) b s s. EE 261 James Morizio 13](https://reader034.vdocuments.mx/reader034/viewer/2022050601/5fa8e867d196b300095d8acd/html5/thumbnails/22.jpg)
EE 261 James Morizio 22
CMOS NAND Gate
11
0
0
A
11
10
01
10
YB
A=1
B=1
Y=0ON
OFF OFF
ON
![Page 23: CMOS circuits 2006 - ece.duke.edujmorizio/ece261/classlectures/CMOS_circuits.… · CMOS switch a C b S = 0 S = 1 a Good 0 Good 1 (Transmission gate) b s s. EE 261 James Morizio 13](https://reader034.vdocuments.mx/reader034/viewer/2022050601/5fa8e867d196b300095d8acd/html5/thumbnails/23.jpg)
EE 261 James Morizio 23
CMOS NOR Gate
1
1
0
0
A
01
00
01
10
YB
A
BY
![Page 24: CMOS circuits 2006 - ece.duke.edujmorizio/ece261/classlectures/CMOS_circuits.… · CMOS switch a C b S = 0 S = 1 a Good 0 Good 1 (Transmission gate) b s s. EE 261 James Morizio 13](https://reader034.vdocuments.mx/reader034/viewer/2022050601/5fa8e867d196b300095d8acd/html5/thumbnails/24.jpg)
EE 261 James Morizio 24
CMOS Logic Gates-22-input NOR
Gnd
VDD
a b
a
b
Pull-down
Pull-up
tree
tree
a b
z
z0 0 Z0 1 01 0 01 1 0
a b z0 0 10 1 Z1 0 Z1 1 Z
Pull-down Pull-uptruth tabletruth table
a b z0 0 10 1 01 0 01 1 0
NORtruth table
• Generalize to n-input NAND and n-input NOR?
• There is always (for all input combinations) a pathfrom either 1 or 0 to the output
• No direct path from 1 to 0 (low power dissipation)• Fully restored logic• No ratio-ing is necessary (ratio-less logic)
![Page 25: CMOS circuits 2006 - ece.duke.edujmorizio/ece261/classlectures/CMOS_circuits.… · CMOS switch a C b S = 0 S = 1 a Good 0 Good 1 (Transmission gate) b s s. EE 261 James Morizio 13](https://reader034.vdocuments.mx/reader034/viewer/2022050601/5fa8e867d196b300095d8acd/html5/thumbnails/25.jpg)
EE 261 James Morizio 25
3-input NAND Gate
• Y pulls low if ALL inputs are 1• Y pulls high if ANY input is 0
![Page 26: CMOS circuits 2006 - ece.duke.edujmorizio/ece261/classlectures/CMOS_circuits.… · CMOS switch a C b S = 0 S = 1 a Good 0 Good 1 (Transmission gate) b s s. EE 261 James Morizio 13](https://reader034.vdocuments.mx/reader034/viewer/2022050601/5fa8e867d196b300095d8acd/html5/thumbnails/26.jpg)
EE 261 James Morizio 26
3-input NAND Gate• Y pulls low if ALL inputs are 1• Y pulls high if ANY input is 0
A
B
Y
C
![Page 27: CMOS circuits 2006 - ece.duke.edujmorizio/ece261/classlectures/CMOS_circuits.… · CMOS switch a C b S = 0 S = 1 a Good 0 Good 1 (Transmission gate) b s s. EE 261 James Morizio 13](https://reader034.vdocuments.mx/reader034/viewer/2022050601/5fa8e867d196b300095d8acd/html5/thumbnails/27.jpg)
EE 261 James Morizio 27
CMOS Compound (Complex) Gates-1
• What function is implemented by this circuit?
z
c d
Gnd
a
b
VDD
a b c
d
![Page 28: CMOS circuits 2006 - ece.duke.edujmorizio/ece261/classlectures/CMOS_circuits.… · CMOS switch a C b S = 0 S = 1 a Good 0 Good 1 (Transmission gate) b s s. EE 261 James Morizio 13](https://reader034.vdocuments.mx/reader034/viewer/2022050601/5fa8e867d196b300095d8acd/html5/thumbnails/28.jpg)
EE 261 James Morizio 28
Compound Gates-2VDD
a
b
a
How to implementF = ab + bc + ca?
• F = ab + bc + ca
b
ac
c
b
a b
VDD
Gnd
F F
Gnd
c
c
![Page 29: CMOS circuits 2006 - ece.duke.edujmorizio/ece261/classlectures/CMOS_circuits.… · CMOS switch a C b S = 0 S = 1 a Good 0 Good 1 (Transmission gate) b s s. EE 261 James Morizio 13](https://reader034.vdocuments.mx/reader034/viewer/2022050601/5fa8e867d196b300095d8acd/html5/thumbnails/29.jpg)
EE 261 James Morizio 29
And-Or-Invert (AOI) Gatesabc
de
fgh
F
Pull-upnetwork
a
b
c
F
Gnd
h
f
g
d
e
![Page 30: CMOS circuits 2006 - ece.duke.edujmorizio/ece261/classlectures/CMOS_circuits.… · CMOS switch a C b S = 0 S = 1 a Good 0 Good 1 (Transmission gate) b s s. EE 261 James Morizio 13](https://reader034.vdocuments.mx/reader034/viewer/2022050601/5fa8e867d196b300095d8acd/html5/thumbnails/30.jpg)
EE 261 James Morizio 30
Or-And-Invert (OAI) Gate
abc
de
fgh
Fa b c
Pull-upnetwork
d e
f g h
Gnd
F
• Generally, complex CMOS gates can be derived directly from maxterms of thefunction (as in a Karnaugh map)
![Page 31: CMOS circuits 2006 - ece.duke.edujmorizio/ece261/classlectures/CMOS_circuits.… · CMOS switch a C b S = 0 S = 1 a Good 0 Good 1 (Transmission gate) b s s. EE 261 James Morizio 13](https://reader034.vdocuments.mx/reader034/viewer/2022050601/5fa8e867d196b300095d8acd/html5/thumbnails/31.jpg)
EE 261 James Morizio 31
Transmission Gates
• Pass transistors produce degraded outputs• Transmission gates pass both 0 and 1 well
![Page 32: CMOS circuits 2006 - ece.duke.edujmorizio/ece261/classlectures/CMOS_circuits.… · CMOS switch a C b S = 0 S = 1 a Good 0 Good 1 (Transmission gate) b s s. EE 261 James Morizio 13](https://reader034.vdocuments.mx/reader034/viewer/2022050601/5fa8e867d196b300095d8acd/html5/thumbnails/32.jpg)
EE 261 James Morizio 32
Transmission Gates• Pass transistors produce degraded outputs• Transmission gates pass both 0 and 1 well
g = 0, gb = 1a b
g = 1, gb = 0a b
0 strong 0
Input Output
1 strong 1
g
gb
a b
a bg
gb
a b
g
gb
a b
g
gb
g = 1, gb = 0
g = 1, gb = 0
![Page 33: CMOS circuits 2006 - ece.duke.edujmorizio/ece261/classlectures/CMOS_circuits.… · CMOS switch a C b S = 0 S = 1 a Good 0 Good 1 (Transmission gate) b s s. EE 261 James Morizio 13](https://reader034.vdocuments.mx/reader034/viewer/2022050601/5fa8e867d196b300095d8acd/html5/thumbnails/33.jpg)
EE 261 James Morizio 33
Tristates
• Tristate buffer produces Z when not enabled
11011000
YAENA Y
EN
A Y
EN
EN
![Page 34: CMOS circuits 2006 - ece.duke.edujmorizio/ece261/classlectures/CMOS_circuits.… · CMOS switch a C b S = 0 S = 1 a Good 0 Good 1 (Transmission gate) b s s. EE 261 James Morizio 13](https://reader034.vdocuments.mx/reader034/viewer/2022050601/5fa8e867d196b300095d8acd/html5/thumbnails/34.jpg)
EE 261 James Morizio 34
Tristates• Tristate buffer produces Z when not enabled
111001Z10Z00YAEN
A Y
EN
A Y
EN
EN
![Page 35: CMOS circuits 2006 - ece.duke.edujmorizio/ece261/classlectures/CMOS_circuits.… · CMOS switch a C b S = 0 S = 1 a Good 0 Good 1 (Transmission gate) b s s. EE 261 James Morizio 13](https://reader034.vdocuments.mx/reader034/viewer/2022050601/5fa8e867d196b300095d8acd/html5/thumbnails/35.jpg)
EE 261 James Morizio 35
Nonrestoring Tristate• Transmission gate acts as tristate buffer
– Only two transistors– But nonrestoring
• Noise on A is passed on to Y
A Y
EN
EN
![Page 36: CMOS circuits 2006 - ece.duke.edujmorizio/ece261/classlectures/CMOS_circuits.… · CMOS switch a C b S = 0 S = 1 a Good 0 Good 1 (Transmission gate) b s s. EE 261 James Morizio 13](https://reader034.vdocuments.mx/reader034/viewer/2022050601/5fa8e867d196b300095d8acd/html5/thumbnails/36.jpg)
EE 261 James Morizio 36
Tristate Inverter• Tristate inverter produces restored output
– Violates conduction complement rule– Because we want a Z output
A
YEN
EN
![Page 37: CMOS circuits 2006 - ece.duke.edujmorizio/ece261/classlectures/CMOS_circuits.… · CMOS switch a C b S = 0 S = 1 a Good 0 Good 1 (Transmission gate) b s s. EE 261 James Morizio 13](https://reader034.vdocuments.mx/reader034/viewer/2022050601/5fa8e867d196b300095d8acd/html5/thumbnails/37.jpg)
EE 261 James Morizio 37
Tristate Inverter• Tristate inverter produces restored output
– Violates conduction complement rule– Because we want a Z output
A
YEN
A
Y
EN = 0Y = 'Z'
Y
EN = 1Y = A
A
EN
![Page 38: CMOS circuits 2006 - ece.duke.edujmorizio/ece261/classlectures/CMOS_circuits.… · CMOS switch a C b S = 0 S = 1 a Good 0 Good 1 (Transmission gate) b s s. EE 261 James Morizio 13](https://reader034.vdocuments.mx/reader034/viewer/2022050601/5fa8e867d196b300095d8acd/html5/thumbnails/38.jpg)
EE 261 James Morizio 38
Multiplexers
• 2:1 multiplexer chooses between two inputs
X11X011X00X0
YD0D1S0
1
S
D0
D1Y
![Page 39: CMOS circuits 2006 - ece.duke.edujmorizio/ece261/classlectures/CMOS_circuits.… · CMOS switch a C b S = 0 S = 1 a Good 0 Good 1 (Transmission gate) b s s. EE 261 James Morizio 13](https://reader034.vdocuments.mx/reader034/viewer/2022050601/5fa8e867d196b300095d8acd/html5/thumbnails/39.jpg)
EE 261 James Morizio 39
Multiplexers
• 2:1 multiplexer chooses between two inputs
1X110X0111X000X0YD0D1S
0
1
S
D0
D1Y
![Page 40: CMOS circuits 2006 - ece.duke.edujmorizio/ece261/classlectures/CMOS_circuits.… · CMOS switch a C b S = 0 S = 1 a Good 0 Good 1 (Transmission gate) b s s. EE 261 James Morizio 13](https://reader034.vdocuments.mx/reader034/viewer/2022050601/5fa8e867d196b300095d8acd/html5/thumbnails/40.jpg)
EE 261 James Morizio 40
Gate-Level Mux Design
• How many transistors are needed?
1 0 (too many transistors)Y SD SD= +
![Page 41: CMOS circuits 2006 - ece.duke.edujmorizio/ece261/classlectures/CMOS_circuits.… · CMOS switch a C b S = 0 S = 1 a Good 0 Good 1 (Transmission gate) b s s. EE 261 James Morizio 13](https://reader034.vdocuments.mx/reader034/viewer/2022050601/5fa8e867d196b300095d8acd/html5/thumbnails/41.jpg)
EE 261 James Morizio 41
Gate-Level Mux Design• How many transistors are needed? 20
1 0 (too many transistors)Y SD SD= +
44
D1
D0S Y
4
2
22 Y
2
D1
D0S
![Page 42: CMOS circuits 2006 - ece.duke.edujmorizio/ece261/classlectures/CMOS_circuits.… · CMOS switch a C b S = 0 S = 1 a Good 0 Good 1 (Transmission gate) b s s. EE 261 James Morizio 13](https://reader034.vdocuments.mx/reader034/viewer/2022050601/5fa8e867d196b300095d8acd/html5/thumbnails/42.jpg)
EE 261 James Morizio 42
Transmission Gate Mux
• Nonrestoring mux uses two transmission gates
![Page 43: CMOS circuits 2006 - ece.duke.edujmorizio/ece261/classlectures/CMOS_circuits.… · CMOS switch a C b S = 0 S = 1 a Good 0 Good 1 (Transmission gate) b s s. EE 261 James Morizio 13](https://reader034.vdocuments.mx/reader034/viewer/2022050601/5fa8e867d196b300095d8acd/html5/thumbnails/43.jpg)
EE 261 James Morizio 43
Transmission Gate Mux
• Nonrestoring mux uses two transmission gates– Only 4 transistors S
S
D0
D1
YS
![Page 44: CMOS circuits 2006 - ece.duke.edujmorizio/ece261/classlectures/CMOS_circuits.… · CMOS switch a C b S = 0 S = 1 a Good 0 Good 1 (Transmission gate) b s s. EE 261 James Morizio 13](https://reader034.vdocuments.mx/reader034/viewer/2022050601/5fa8e867d196b300095d8acd/html5/thumbnails/44.jpg)
EE 261 James Morizio 44
Inverting Mux• Inverting multiplexer
– Use compound AOI22– Or pair of tristate inverters– Essentially the same thing
• Noninverting multiplexer adds an inverter
S
D0 D1
Y
S
D0
D1Y
0
1S
Y
D0
D1
S
S
S
S
S
S
![Page 45: CMOS circuits 2006 - ece.duke.edujmorizio/ece261/classlectures/CMOS_circuits.… · CMOS switch a C b S = 0 S = 1 a Good 0 Good 1 (Transmission gate) b s s. EE 261 James Morizio 13](https://reader034.vdocuments.mx/reader034/viewer/2022050601/5fa8e867d196b300095d8acd/html5/thumbnails/45.jpg)
EE 261 James Morizio 45
4:1 Multiplexer
• 4:1 mux chooses one of 4 inputs using two selects
![Page 46: CMOS circuits 2006 - ece.duke.edujmorizio/ece261/classlectures/CMOS_circuits.… · CMOS switch a C b S = 0 S = 1 a Good 0 Good 1 (Transmission gate) b s s. EE 261 James Morizio 13](https://reader034.vdocuments.mx/reader034/viewer/2022050601/5fa8e867d196b300095d8acd/html5/thumbnails/46.jpg)
EE 261 James Morizio 46
4:1 Multiplexer
• 4:1 mux chooses one of 4 inputs using two selects– Two levels of 2:1 muxes– Or four tristates
S0
D0
D1
0
1
0
1
0
1Y
S1
D2
D3
D0
D1
D2
D3
Y
S1S0 S1S0 S1S0 S1S0
![Page 47: CMOS circuits 2006 - ece.duke.edujmorizio/ece261/classlectures/CMOS_circuits.… · CMOS switch a C b S = 0 S = 1 a Good 0 Good 1 (Transmission gate) b s s. EE 261 James Morizio 13](https://reader034.vdocuments.mx/reader034/viewer/2022050601/5fa8e867d196b300095d8acd/html5/thumbnails/47.jpg)
EE 261 James Morizio 47
CMOS Exclusive-Nor Gatea
b
F = a b
• 8-transistor implementation
TG1
TG2
a b TG1 TG2 F
0 0 nonconducting conducting B (1)0 1 nonconducting conducting B (0)1 0 conducting nonconducting B (0)1 1 conducting nonconducting B (1)
• Better, 6-transistor implementation is possible!
![Page 48: CMOS circuits 2006 - ece.duke.edujmorizio/ece261/classlectures/CMOS_circuits.… · CMOS switch a C b S = 0 S = 1 a Good 0 Good 1 (Transmission gate) b s s. EE 261 James Morizio 13](https://reader034.vdocuments.mx/reader034/viewer/2022050601/5fa8e867d196b300095d8acd/html5/thumbnails/48.jpg)
EE 261 James Morizio 48
D Latch• When CLK = 1, latch is transparent
– D flows through to Q like a buffer
• When CLK = 0, the latch is opaque– Q holds its old value independent of D
• a.k.a. transparent latch or level-sensitive latch
CLK
D Q
Latc
h D
CLK
Q
![Page 49: CMOS circuits 2006 - ece.duke.edujmorizio/ece261/classlectures/CMOS_circuits.… · CMOS switch a C b S = 0 S = 1 a Good 0 Good 1 (Transmission gate) b s s. EE 261 James Morizio 13](https://reader034.vdocuments.mx/reader034/viewer/2022050601/5fa8e867d196b300095d8acd/html5/thumbnails/49.jpg)
EE 261 James Morizio 49
D Latch Design• Multiplexer chooses D or old Q
1
0
D
CLK
QCLK
CLKCLK
CLK
DQ Q
Q
![Page 50: CMOS circuits 2006 - ece.duke.edujmorizio/ece261/classlectures/CMOS_circuits.… · CMOS switch a C b S = 0 S = 1 a Good 0 Good 1 (Transmission gate) b s s. EE 261 James Morizio 13](https://reader034.vdocuments.mx/reader034/viewer/2022050601/5fa8e867d196b300095d8acd/html5/thumbnails/50.jpg)
EE 261 James Morizio 50
D Latch Operation
CLK = 1
D Q
Q
CLK = 0
D Q
Q
D
CLK
Q
![Page 51: CMOS circuits 2006 - ece.duke.edujmorizio/ece261/classlectures/CMOS_circuits.… · CMOS switch a C b S = 0 S = 1 a Good 0 Good 1 (Transmission gate) b s s. EE 261 James Morizio 13](https://reader034.vdocuments.mx/reader034/viewer/2022050601/5fa8e867d196b300095d8acd/html5/thumbnails/51.jpg)
EE 261 James Morizio 51
D Flip-flop
• When CLK rises, D is copied to Q• At all other times, Q holds its value• a.k.a. positive edge-triggered flip-flop, master-
slave flip-flop
Flop
CLK
D Q
D
CLK
Q
![Page 52: CMOS circuits 2006 - ece.duke.edujmorizio/ece261/classlectures/CMOS_circuits.… · CMOS switch a C b S = 0 S = 1 a Good 0 Good 1 (Transmission gate) b s s. EE 261 James Morizio 13](https://reader034.vdocuments.mx/reader034/viewer/2022050601/5fa8e867d196b300095d8acd/html5/thumbnails/52.jpg)
EE 261 James Morizio 52
D Flip-flop Design
• Built from master and slave D latches
QM
CLK
CLKCLK
CLK
Q
CLK
CLK
CLK
CLK
D
Latc
h
Latc
h
D QQM
CLK
CLK
![Page 53: CMOS circuits 2006 - ece.duke.edujmorizio/ece261/classlectures/CMOS_circuits.… · CMOS switch a C b S = 0 S = 1 a Good 0 Good 1 (Transmission gate) b s s. EE 261 James Morizio 13](https://reader034.vdocuments.mx/reader034/viewer/2022050601/5fa8e867d196b300095d8acd/html5/thumbnails/53.jpg)
EE 261 James Morizio 53
D Flip-flop Operation
CLK = 1
D
CLK = 0
Q
D
QM
QMQ
D
CLK
Q
![Page 54: CMOS circuits 2006 - ece.duke.edujmorizio/ece261/classlectures/CMOS_circuits.… · CMOS switch a C b S = 0 S = 1 a Good 0 Good 1 (Transmission gate) b s s. EE 261 James Morizio 13](https://reader034.vdocuments.mx/reader034/viewer/2022050601/5fa8e867d196b300095d8acd/html5/thumbnails/54.jpg)
EE 261 James Morizio 54
Race Condition• Back-to-back flops can malfunction from clock
skew– Second flip-flop fires late– Sees first flip-flop change and captures its result– Called hold-time failure or race condition
CLK1
D Q1
Flop
Flop
CLK2
Q2
CLK1
CLK2
Q1
Q2
![Page 55: CMOS circuits 2006 - ece.duke.edujmorizio/ece261/classlectures/CMOS_circuits.… · CMOS switch a C b S = 0 S = 1 a Good 0 Good 1 (Transmission gate) b s s. EE 261 James Morizio 13](https://reader034.vdocuments.mx/reader034/viewer/2022050601/5fa8e867d196b300095d8acd/html5/thumbnails/55.jpg)
EE 261 James Morizio 55
Nonoverlapping Clocks• Nonoverlapping clocks can prevent races
– As long as nonoverlap exceeds clock skew
• We will use them in this class for safe design– Industry manages skew more carefully instead
φ1
φ1φ1
φ1
φ2
φ2φ2
φ2
φ2
φ1
QMQD
![Page 56: CMOS circuits 2006 - ece.duke.edujmorizio/ece261/classlectures/CMOS_circuits.… · CMOS switch a C b S = 0 S = 1 a Good 0 Good 1 (Transmission gate) b s s. EE 261 James Morizio 13](https://reader034.vdocuments.mx/reader034/viewer/2022050601/5fa8e867d196b300095d8acd/html5/thumbnails/56.jpg)
EE 261 James Morizio 56
Design Representation Levels• Design domains
– Behavioral– Structural– Physical
Gajski and Kuhn’s Y-chart(layered like an onion)
Behavioral Structural
Physical (geometric)
Chip
Cells
Polygons
TransistorsGates
ProcessorBoolean equationsDifferential equations
Algorithms
• Hardware description languages commonly used at behavioral level, e.g. VHDL, Verilog
• Example: Consider the carry function co = ab + bc + cia
![Page 57: CMOS circuits 2006 - ece.duke.edujmorizio/ece261/classlectures/CMOS_circuits.… · CMOS switch a C b S = 0 S = 1 a Good 0 Good 1 (Transmission gate) b s s. EE 261 James Morizio 13](https://reader034.vdocuments.mx/reader034/viewer/2022050601/5fa8e867d196b300095d8acd/html5/thumbnails/57.jpg)
EE 261 James Morizio 57
Verilog Example (Behavioral)module carry (co, a, b, ci);output co;input a, b, ci;assign
co = (a & b) | (a & ci) | (b & ci);end module
Boolean equation form: Boolean truth table form:
primitive carry (co, a, b, ci);output co;input a, b, ci;table
// a b c co1 1 ? : 1;1 ? 1 : 1;? 1 1 : 1;0 0 ? : 0;0 ? 0 : 0;? 0 0 : 0;
end tableend module
Timing information:
module carry (co, a, b, ci);output co;input a, b, ci;Wire #10 co = (a & b) | (a & ci) | (b & ci);end module
co changes 10 time units after a, b, or c changes
![Page 58: CMOS circuits 2006 - ece.duke.edujmorizio/ece261/classlectures/CMOS_circuits.… · CMOS switch a C b S = 0 S = 1 a Good 0 Good 1 (Transmission gate) b s s. EE 261 James Morizio 13](https://reader034.vdocuments.mx/reader034/viewer/2022050601/5fa8e867d196b300095d8acd/html5/thumbnails/58.jpg)
EE 261 James Morizio 58
Verilog Example (Structural)
module add4 (s, c4, ci, a, b);output [3:0] s;output [3:0] c4;input [3:0] a, b;input ci;wire [2:0] co;
add a0 (co[0], s[0], a[0], b[0], ci);add a1 (co[1], …, b[1], co[0]);add a2 (co[2], …, , co[1]);add a3 (c4, s[3], a[3], b[3], co[2]);
end module
Structural representation of 4-bit adder (top-down) :module add (co, s, a, b, ci);
output s, co;input a, b, ci;sum s1 (s, a, b, ci);carry c1 (co, a, b, ci);
end module
internal3-bit
signal
module carry (co, a, b, ci);output co;input a, b, ci;wire x, y, z;and g1 (y, z, b);and g2 (z, b, ci);and g3 (z, a, ci);or g4 (co, x, y, z);
end moduleTechnology-independent