Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
1
Sources: TSR, Katz, Boriello & Vahid
Number representations
Logic gates
Boolean algebra
Introduction to CMOS
Logic representations
SOP and POS
K-maps
Algorithm for simplification
2
Sources: TSR, Katz, Boriello & Vahid
Digital circuit
a
b
a
b
1
Combinational
0
digital circuit
1
0
Sequential
digital circuit
3
Sources: TSR, Katz, Boriello & Vahid
2.7
Description
Step 2 Convert to
equations
Step 3 Implement
as a gatebased
circuit
4
Sources: TSR, Katz, Boriello & Vahid
a
b
c
abc
bcd
d
cde
y
def
efg
g
fgh
h
5
Sources: TSR, Katz, Boriello & Vahid
6
Sources: TSR, Katz, Boriello & Vahid
a
b
c
a
b
c
a
b
c
a
b
a
b
c
a
b
c
a
b
c
7
Sources: TSR, Katz, Boriello & Vahid
Inputs: A, B, Carry-in
Outputs: Sum, Carry-out
A
0
0
0
0
1
1
1
1
B
0
0
1
1
0
0
1
1
Cin Cout S
0
1
0
1
0
1
0
1
A
B
Cin
A
B
A
B
A
B
A
B
A
B
S
Cout
8
Sources: TSR, Katz, Boriello & Vahid
9
Sources: TSR, Katz, Boriello & Vahid
10
Sources: TSR, Katz, Boriello & Vahid
F = 001
011
101
110
111
B
0
0
1
1
0
0
1
1
C
0
1
0
1
0
1
0
1
F
0
1
0
1
0
1
1
1
F
1
0
1
0
1
0
0
0
11
Sources: TSR, Katz, Boriello & Vahid
B
0
0
1
1
0
0
1
1
C
0
1
0
1
0
1
0
1
minterms
ABC m0
ABC m1
ABC m2
ABC m3
ABC m4
ABC m5
ABC m6
ABC
m7
F in canonical form:
F(A, B, C) = m(1,3,5,6,7)
= m1 + m3 + m5 + m6 + m7
= ABC + ABC + ABC + ABC + ABC
canonical form minimal form
F(A, B, C) = ABC + ABC + ABC + ABC + ABC
= (AB + AB + AB + AB)C + ABC
= ((A + A)(B + B))C + ABC
= C + ABC
= ABC + C
= AB + C
12
Sources: TSR, Katz, Boriello & Vahid
B
0
0
1
1
0
0
1
1
C
0
1
0
1
0
1
0
1
F
0
1
0
1
0
1
1
1
F
1
0
1
0
1
0
0
0
F = (A + B + C) (A + B + C) (A + B + C) (A + B + C) (A + B + C)
13
Sources: TSR, Katz, Boriello & Vahid
B
0
0
1
1
0
0
1
1
C
0
1
0
1
0
1
0
1
maxterms
A+B+C
A+B+C
A+B+C
A+B+C
A+B+C
A+B+C
A+B+C
A+B+C
M0
M1
M2
M3
M4
M5
M6
M7
F in canonical form:
F(A, B, C) = M(0,2,4)
= M0 M2 M4
= (A + B + C) (A + B + C) (A + B + C)
canonical form minimal form
F(A, B, C) = (A + B + C) (A + B + C) (A + B + C)
= (A + B + C) (A + B + C)
(A + B + C) (A + B + C)
= (A + C) (B + C)
14
Sources: TSR, Katz, Boriello & Vahid
A
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
B
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
C
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
D
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
W
0
0
0
0
0
0
0
1
1
0
X
X
X
X
X
X
X
0
0
0
1
1
1
1
0
0
0
X
X
X
X
X
X
Y
0
1
1
0
0
1
1
0
0
0
X
X
X
X
X
X
Z
1
0
1
0
1
0
1
0
1
0
X
X
X
X
X
X
off-set of W
on-set of W
dont care (DC) set of W
F1
canonical sum-of-products
minimized sum-of-products
F2
canonical product-of-sums
F3
minimized product-of-sums
F4
17
Sources: TSR, Katz, Boriello & Vahid
18
Sources:
Sources:
TSR, Katz,
Katz, Boriello
Boriello &
& Vahid
Vahid
Boolean cubes
Visual technique for applying the uniting theorem
n input variables = n-dimensional "cube"
11
01
0
1-cube
00
111
3-cube
Y Z
000
101
2-cube
10
0111
1111
4-cube
Y
X
0000
W
X
1000
20
Sources: TSR, Katz, Boriello & Vahid
F
11
01
B
00
10
21
Sources: TSR, Katz, Boriello & Vahid
B
0
0
1
1
0
0
1
1
Cin
0
1
0
1
0
1
0
1
Cout
0
0
0
1
0
1
1
1
111
B C
000
AB(Cin'+Cin)
101
A
A(B+B')Cin
111
110
010
000
001
B C
F(A,B,C) = m(4,5,6,7)
101
100
In general,
an m-subcube within an n-cube (m < n) yields a term with n m literals
23
Karnaugh maps
Flat map of Boolean cube
wraparound at edges
hard to draw and visualize for more than 4 dimensions
virtually impossible for more than 6 dimensions
A
0
1
0
0
1
1
0
2
3
0
24
Sources: TSR, Katz, Boriello & Vahid
AB
0
C 1
00
11
01
2
6
7
011
111
110
010
001
B C
A
10
000
101
100
12
13
15
11
14
10
25
Sources: TSR, Katz, Boriello & Vahid
F=
B
Cout =
A
0
Cin 0
f(A,B,C) = m(0,4,5,7)
AB
0
C 1
00
11
01
10
B
26
Sources: TSR, Katz, Boriello & Vahid
27
Sources:
Sources:
TSR, Katz,
Katz, Boriello
Boriello &
& Vahid
Vahid
Students (%)
30.0%
20.0%
10.0%
0~5
5 ~ 10
10 ~ 15
15 ~ 20
20 ~ 25
25 ~ 30
30 ~ 35
35 ~ 40
40 ~ 45
45 ~ 50
50 ~ 55
55 ~ 60
60 ~ 65
65 ~ 70
70 ~ 75
75 ~ 80
80 ~ 85
85 ~ 90
90 ~ 95
95 ~ 100
0.0%
Bucket of Points
buckets # students
0~5
14
5 ~ 10
0
10 ~ 15
0
15 ~ 20
0
20 ~ 25
0
25 ~ 30
1
30 ~ 35
0
35 ~ 40
0
40 ~ 45
0
45 ~ 50
1
50 ~ 55
3
55 ~ 60
0
60 ~ 65
4
65 ~ 70
6
70 ~ 75
11
75 ~ 80
18
80 ~ 85
11
85 ~ 90
29
90 ~ 95
11
95 ~ 100
42
students (%)
9.27%
0.00%
0.00%
0.00%
0.00%
0.66%
0.00%
0.00%
0.00%
0.66%
1.99%
0.00%
2.65%
3.97%
7.28%
11.92%
7.28%
19.21%
7.28%
27.81%
Chap 1
Logic representations
SOP and POS
K-maps
29
Sources: TSR, Katz, Boriello & Vahid
0111
C
0000
A
B
1111
1000
f=
f=
C
B
Another Example
F = m(0, 2, 7, 8, 14, 15) + d(3, 6, 9, 12, 13)
32
Sources: TSR, Katz, Boriello & Vahid
N1
N2
A
B
C
D
LT
EQ
GT
AB<CD
AB=CD
AB>CD
block diagram
and
truth table
A
0
B
0
C
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
D
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
LT
0
1
1
1
0
0
1
1
0
0
0
1
0
0
0
0
EQ
1
0
0
0
0
1
0
0
0
0
1
0
0
0
0
1
GT
0
0
0
0
1
0
0
0
1
1
0
0
1
1
1
0
D
C
D
C
K-map for LT
K-map for EQ
K-map for GT
34
Sources: TSR, Katz, Boriello & Vahid
A1
A2
B1
B2
P1
P2
P4
P8
block diagram
and
truth table
A2 A1 B2
0 0 0
0
1
1
0 1 0
0
1
1
1 0 0
0
1
1
1 1 0
0
1
1
B1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
P8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
P4
0
0
0
0
0
0
0
0
0
0
1
1
0
0
1
0
P2
0
0
0
0
0
0
1
1
0
1
0
1
0
1
1
0
P1
0
0
0
0
0
1
0
1
0
0
0
0
0
1
0
1
4-variable K-map
for each of the 4
output functions
35
Sources: TSR, Katz, Boriello & Vahid
B2
K-map for P8
K-map for P4
B1
B2
A2
0
A1
A1
A2
B2
A1
B1
K-map for P2
K-map for P1
B1
B2
A2
0
B1
A1
36
Sources: TSR, Katz, Boriello & Vahid
I1
I2
I4
I8
O1
O2
O4
O8
block diagram
and
truth table
I8
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
I4
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
I2
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
I1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
O8
0
0
0
0
0
0
0
1
1
0
X
X
X
X
X
X
O4
0
0
0
1
1
1
1
0
0
0
X
X
X
X
X
X
O2
0
1
1
0
0
1
1
0
0
0
X
X
X
X
X
X
O1
1
0
1
0
1
0
1
0
1
0
X
X
X
X
X
X
I2
O8
O4
I1
I2
I8
0
I4
I4
I8
I2
I4
I1
O2
O1
I1
I2
I8
1
I1
I4
38
Sources: TSR, Katz, Boriello & Vahid
39
Sources: TSR, Katz, Boriello & Vahid
Contention: X
Contention: circuit tries to drive output to 1 and 0
Warnings:
Contention usually indicates a bug.
X is used for dont care and contention - look at the
context to tell them apart
Transmission Gate:
Mux/Tristate building block
nMOS pass 1s poorly
pMOS pass 0s poorly
Transmission gate is a better switch
passes both 0 and 1 well
EN
A
EN
A is not connected to B
Floating: Z
Floating, high impedance, open, high Z
Floating output might be 0, 1, or somewhere in
between
A voltmeter wont indicate whether a node is
floating
Tristate Buffer
E
Y
A
E
0
0
1
1
A
0
1
0
1
Y
Z
Z
0
1
Sources: TSR, Katz, Boriello & Vahid
Tristate Busses
Floating nodes are used in tristate busses
many different drivers, but only one is active at once
processor
en1
to bus
from bus
video
en2
to bus
Ethernet
en3
sharedbus
from bus
to bus
from bus
memory
en4
to bus
from bus
S
0
0
0
0
1
1
1
1
D1
0
0
1
1
0
0
1
1
D0
D1
D0
0
1
0
1
0
1
0
1
Logic gates
D0 D1
00
01
11
10
S
0
1
Pass gates
S
D0
Y
0
1
0
1
0
0
1
1
Tristates
Y
D0
D1
Y = D 0S + D1S
Y
D1
D0
S
D1
Multiplexers
2:1 mux:
4:1 mux:
8:1 mux:
Z = A'I0 + AI1
Z = A'B'I0 + A'BI1 + AB'I2 + ABI3
Z = A'B'C'I0 + A'B'CI1 + A'BC'I2 + A'BCI3 +
AB'C'I4 + AB'CI5 + ABC'I6 + ABCI7
In general: Z =
2 n -1(m
k=0
kIk)
I0
I1
2:1
mux
A
I0
I1
I2
I3
4:1
mux
A B
I0
I1
I2
I3
I4
I5
I6
I7
8:1
mux
A B C
45
Sources: TSR, Katz, Boriello & Vahid
B
0
1
0
1
Y
0
0
0
1
Y = AB
AB
00
01
10
11
Y = AB
A
0
0
1
1
B
0
1
0
1
Y
0
0
0
1
0
B
C1
0
0
1
1
0
0
1
1
C2
0
1
0
1
0
1
0
1
Function
1
A+B
(A B)'
A xor B
A xnor B
AB
(A + B)'
0
Comments
always 1
logical OR
logical NAND
logical xor
logical xnor
logical AND
logical NOR
always 0
0
1
2
3 8:1 MUX
4
5
6
7
S2 S1 S0
C0
C1
C2
48
49
Sources: TSR, Katz, Boriello & Vahid
Demux or Decoder
N inputs, 2N outputs
One-hot outputs: only one output HIGH at once
2:4
Decoder
A1
A0
A1
0
0
1
1
A0
0
1
0
1
Y3
0
0
0
1
11
10
01
00
Y3
Y2
Y1
Y0
Y2
0
0
1
0
Y1
0
1
0
0
Y0
1
0
0
0
1:2 Decoder:
O0 = G S
O1 = G S
2:4 Decoder:
O0 = G S1
O1 = G S1
O2 = G S1
O3 = G S1
S0
S0
S0
S0
O0
O1
O2
O3
O4
O5
O6
O7
3:8 Decoder:
= G S2 S1 S0
= G S2 S1 S0
= G S2 S1 S0
= G S2 S1 S0
= G S2 S1 S0
= G S2 S1 S0
= G S2 S1 S0
= G S2 S1 S0
51
Sources: TSR, Katz, Boriello & Vahid
Decoder Implementation
A1
A0
Y3
Y2
Y1
Y0
A
B
2:4
Decoder
11
10
01
00
Y = AB + AB
= A B
Minterm
AB
AB
AB
AB
0
1
2
3
3:8 DEC 4
5
6
7
S2 S1 S0
A
A'B'C'
A'B'C
A'BC'
A'BC
AB'C'
AB'C
ABC'
ABC
Enable
0
1
2
3
4
5
6
4:16 7
DEC 8
9
10
11
12
13
14
15
A'B'C'D'
A'B'C'D
A'B'CD'
A'B'CD
A'BC'D'
A'BC'D
A'BCD'
A'BCD
AB'C'D'
AB'C'D
AB'CD'
AB'CD
ABC'D'
ABC'D
ABCD'
ABCD
A B C D
Sources: TSR, Katz, Boriello & Vahid
Another example
F(A,B,C) = M(0,2,4)
55
Sources: TSR, Katz, Boriello & Vahid
56
Sources: TSR, Katz, Boriello & Vahid
Timing
Delay between input change and output changing
How to build fast circuits?
A
delay
A
Y
Time
Y
tpd
A
Y
tcd
Time
Sources: TSR, Katz, Boriello & Vahid
n1
n2
C
Y
D
Short Path
Glitches or Hazards
Glitch occurs when an input change causes multiple output changes;
circuit with a potential for a glitch has a hazard
There are 3 types of hazards:
Example: B = A1 = 00
Critical Path
1
n1
Y=1
What happens if
A = 0, C = 1, & Y
B falls?
A
B
n2
C=1
Short Path
Y
B
AB
00
01
11
10
n2
n1
Y = AB + BC
Y
Time
glitch
Sources: TSR, Katz, Boriello & Vahid
Fixing a hazard
Y
AB
00
01
11
10
AC
Y = AB + BC + AC
A=0
B=1 0
Y=1
C=1
Another example
A
F(A,B,C,D)=m(1,3,5,7,8,9,12,13)
Test two single bit input transitions:
1100 -> 1101
1100 -> 0101
A
B
Z
63
Sources: TSR, Katz, Boriello & Vahid
64
Sources: TSR, Katz, Boriello & Vahid
A2
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
A1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
A0
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
Y3
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
Y2
0
0
0
0
1
1
1
1
0
0
0
0
0
0
0
0
Y1
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
Y0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
A3
0
0
0
0
1
A2
0
0
0
1
X
A1
0
0
1
X
X
A0
0
1
X
X
X
Y3
0
0
0
0
1
Y2
0
0
0
1
0
A3 A 2 A1 A0
A3
Y3
A2
Y2
A1
Y1
A0
Y0
PRIORITY
CiIRCUIT
Y1
0
0
1
0
0
Y0
0
1
0
0
0
Y3
Y2
Y1
Y0
Multiple-Output Circuits
Many circuits have more than one output
Can give each a separate circuit, or can share gates
Ex: F = ab + c, G = ab + bc
Multi-level logic
x = (A + B + C) (D + E) F + G
factored form not written as two-level S-o-P
1 x 3-input OR gate, 2 x 2-input OR gates, 1 x 3-input AND gate
10 wires (7 literals plus 3 internal wires)
A
B
C
D
E
F
G
Multiple-Output Example:
BCD to 7-Segment Converter
a
f
b
g
e
c
d
abcdefg =
(a)
1111110
0110000
1101101
(b)
68
Sources: TSR, Katz, Boriello & Vahid