Lecture 10
Lecture 10
1 1 0 1 0
0 1
1 0 1 0 0
0 volts: BLACK
1 volt: WHITE
0.37 volts: 37% Gray
etc.
Representation of a picture:
Scan points in some prescribed
raster order… generate voltage
waveform
How much information
at each point?
v Copy v
v INV 1-v
Copy INV
Copy INV
?
output
0 or 1
“Ideal”
Abstract World
Real World
0/1
Manufacturing
Variations
Noise Bits
Volts or
Electrons or
Ergs or Gallons
Keep in mind, the world is not digital, we engineer it to behave that way.
We must use real physical phenomena to implement digital designs!
No feedback (yet!)
Invalid
Invalid Output
Input
Valid Valid
“0” Forbidden Zone “1”
Min Voltage volts
Max Voltage
Y
Doesn’t a wire do the same thing?
‘1’ if an XOR
odd number A: A buffer restores marginal digital
B of my inputs are ‘1’ signals, because the output is as
good or “better” than the input (i.e.
it solves that bad image problem
from slide 7).
A Y A Y
buffer inverter
A A
AND Y OR Y
B B
B henceforth refer to
digital processing
elements as “GATES”
Load
with a switch?
• By creating and opening
paths between higher and
lower potentials
This symbol
indicates a
“low” or
ground
potential
saturation:
VGS ≥ VTH VDS
VDS ≥ VDsat S D
linear:
VGS ≤ VTH -VGS
VDS > VDsat
S “ “ D
VGS - VTH
VIN VOUT
“1” “0”
Valid “0”
Vin
Valid “0” Valid “1”
A Y
This diagram is greatly
exaggerated (The invalid
inverter input region is actually
MUCH smaller)!
“1” G D “0” G D
“0” G D “1” G D
P-FET S P-FET S
N-FET S N-FET S
Thanks. It runs A A
in the family...
A
Series N connections: A B
B Parallel P connections:
A
A B
B
Parallel N connections: Series P connections:
A B C
A 0 0
0 1
B 1 0
1 1
B
What function does
this gate compute?
A B C
0 0
0 1
A
1 0
1 1
A
What do we do?
Thus far, we
B
have a few gates?
(AND, OR, which we haven’t made yet.
An Inverter, and those funky CMOS
things that we have made.)
Logic
Gates
We need
… a systematic approach for designing logic
SURGE
Hum… all of these have 2-inputs (no surprise)
… 2 inputs have 4 permutations, giving 22 output cases
24
How many permutations of 4 outputs are there? ___
2N
Generalizing, there are 2 , N-input gates!
Comp 411 – Fall 2015 9/22/15 L10 – Transistors and Logic 32
Show me the Gates!
How many of
these gates
can be
There are only 16 possible 2-input gates implemented
using a single
… some we know already, others are just silly CMOS gate?
B>A XOR
A
B
Y
The TRICK is to OR
A y A
the ANDs of all
Y input combinations
B B that generate an
output of “1”. You
don’t need the OR
gate if only one input
combination results
How many different gates do we really need? in a “1”.
NANDs and NORs are UNIVERSAL UNIVERSAL gates, but not all gates are UNIVERSAL.
Q: What is a COMBINATIONAL FUNCTION?
A: Any function that can be written as a
truth table.
= =
= =
= =
Ah!, but what if we want more than 2-inputs
log2N 22 21
2
log N ) levels...
N-input TREE has O( ______
log N ) gate delays.
Signal propagation takes O( _______
logic. A
B
C
Y
INVERTERS/AND/OR A
B
C
A
B
C
A A
B
Y
≡ B
Y
DeMorgan’s Laws
xyz = x + y + z
AB=A+B
NOR-NOR
C C
A € A
B
Y
≡ B
Y
x + y = xy
Comp 411 – Fall 2015 9/22/15 L10 – Transistors and Logic 40
More Useful Gate Structures
Vdd
AOI (AND-OR-INVERT)
A
A AOI and OAI
C
B
C
D
Y
≡ D
Y structures can
be realized as a
single CMOS
B gate. However,
their function is
OAI (OR-AND-INVERT) equivalent to 3
Vdd levels of logic.
A A
B
Y
C B
An OAI’s DeMorgan
equivalent is usually
easier to think about.
D
A
≡ C
Y
B
Y D
C
D
A
If C is 1 then
Y
B copy B to Y,
otherwise copy
C A to Y
2-input Multiplexer
B
A 0
C Y B 1
Gate
A
symbol
C
schematic
A 4-bit wide
2-input Mux
A 4-input Mux
A0 0
(implemented as 0 Y0
B0 11
a tree) S
I0 A1
0
0 0
0 Y1
I1 11S B1 11S
0 Y
A 0
0 A0-3
I2 11S B 1 Y A2 0 Y0-3
0
0 C 2 0 B0-3
I3 B2 11 Y2
11S 3
D S
S S
A3
0
0 Y3
S0 S1 B3 1
1S
Mux Logic:
Consider implementation of some arbitrary
Combinational function, F(A,B,C) An example of
“structured” logic
... using a MULTIPLEXER synthesis
as the only circuit element:
0 0
0 1
0 2
1 3 Y
0 4
1 5
1 6
1 7
A,B,C
There’s
Desired Logic - Largely by something
Function interesting
inspection or going on
in those
exhaustive search MUXes
0 0
C 1 Y
C 2
1 3