24 kwietnia 2013
Wojciech Kucewicz
1
24 kwietnia 2013
Wojciech Kucewicz
2
Cyfrowe
układy
kombinacyjne
Cyfrowe
układy
kombinacyjne
24 kwietnia 2013
Wojciech Kucewicz
3
Cyfrowe układy kombinacyjne
Cyfrowe układy kombinacyjne
Układy kombinacyjne charakteryzuje funkcja, która każdemu stanowi
wejściowemu X
i
X jednoznacznie przyporządkowuje stan 0 lub 1 sygnału
wyjściowego y
i
X1
X2
X3
Xn
Y1
Y2
Y3
Yn
24 kwietnia 2013
Wojciech Kucewicz
4
Podstawowe bramki
Podstawowe bramki
Cyfrowe układy kombinacyjne
Cyfrowe układy kombinacyjne
24 kwietnia 2013
Wojciech Kucewicz
5
Bramka logiczna CMOS
Bramka logiczna CMOS
Pull-up Network
Constracted
by PMOS
A
B
C
Pull-down Network
Constracted
by NMOS
A
B
C
V
DD
V
SS
F
out
Układ logiczny łączący wysoki potencjał V
DD
z
wyjściem buduje się z tranzystorów PMOS
Układ logiczny łączący niski potencjał V
SS
z
wyjściem buduje się z tranzystorów NMOS
24 kwietnia 2013
Wojciech Kucewicz
6
Inwerter CMOS
Inwerter CMOS
24 kwietnia 2013
Wojciech Kucewicz
7
Inwerter CMOS
Inwerter CMOS
n
n+
p
p+
p+
n+
n+
V
IN
V
OUT
V
SS
V
DD
V
DD
V
SS
V
IN
V
OUT
24 kwietnia 2013
Wojciech Kucewicz
8
Inwerter CMOS
Inwerter CMOS
Aby zapewnić taki sam prąd drenu tranzystorów PMOS i NMOS, kanał
tranzystora PMOS powinien być ok. dwukrotnie szerszy od kanału
tranzystora NMOS.
Skompensuje to różnice ruchliwości nośników w obu tranzystorach.
S G D
S G D
NMOS
PMOS
24 kwietnia 2013
Wojciech Kucewicz
9
Inwerter CMOS
Inwerter CMOS
PMOS transistor, 0.25m,
L
d
= 0.25m, W/L = 3,
V
DD
= -2.5V, V
T
= -0.4V
NMOS transistor, 0.25m,
L
d
= 0.25m, W/L = 1.5,
V
DD
= 2.5V, V
T
= 0.4V
24 kwietnia 2013
Wojciech Kucewicz
10
Inwerter CMOS
Inwerter CMOS
Aby charakterystyki obu tranzystorów w inwerterze
narysować na wspólnym wykresie należy wprowadzić wspólne
zmienne V
IN
, V
OUT
, and I
D
I
Dn
= I
D
V
GSn
= V
IN
V
DSn
= V
OUT
I
Dp
= - I
D
V
GSp
= V
IN
- V
DD
V
DSp
= V
OUT
- V
DD
I
Dn
I
Dp
S
V
DD
V
SS
V
IN
V
OUT
S
24 kwietnia 2013
Wojciech Kucewicz
11
Inwerter CMOS
Inwerter CMOS
Aby charakterystyki obu tranzystorów w inwerterze
narysować na wspólnym wykresie należy wprowadzić wspólne
zmienne V
IN
, V
OUT
, and I
D
I
Dn
= I
D
V
GSn
= V
IN
V
DSn
= V
OUT
Tranzystor NMOS
24 kwietnia 2013
Wojciech Kucewicz
12
Inwerter CMOS
Inwerter CMOS
Aby charakterystyki obu tranzystorów w inwerterze
narysować na wspólnym wykresie należy wprowadzić wspólne
zmienne V
IN
, V
OUT
, and I
D
I
Dp
= - I
D
V
GSp
= V
IN
- V
DD
V
DSp
= V
OUT
- V
DD
Tranzystor PMOS
24 kwietnia 2013
Wojciech Kucewicz
13
Inwerter CMOS
Inwerter CMOS
0.25m,
W/L
n
= 1.5, W/L
p
= 4.5,
V
DD
= 2.5V, V
Tn
= 0.4V, V
Tp
= -0.4V
V
IN
= 0 V
V
IN
= 0,5 V
V
IN
= 1,0 V
V
IN
= 1,5 V
V
in
= 2,0 V
0
0,5
1,0
1,5
2,0
2,5
V
out
2,5
2,0
1,5
1,0
0,5
0
0,5 1,0 1,5 2,0 2,5 V
in
24 kwietnia 2013
Wojciech Kucewicz
14
Inwerter CMOS
Inwerter CMOS
Charakterystyka przejściowa inwertera V
out
= f(V
in
)
0
0,5
1,0
1,5
2,0
2,5
24 kwietnia 2013
Wojciech Kucewicz
15
Inwerter CMOS
Inwerter CMOS
V
in
= V
SS
0
V
out
= V
DD
1
V
DD
V
SS
V
IN
V
OUT
V
DD
V
SS
V
IN
V
OUT
24 kwietnia 2013
Wojciech Kucewicz
16
Inwerter CMOS
Inwerter CMOS
V
in
= V
DD
1
V
out
= V
SS
0
24 kwietnia 2013
Wojciech Kucewicz
17
Próg
przełączania
Próg
przełączania
V
out
2,5
2,0
1,5
1,0
0,5
0
0,5 1,0 1,5 2,0 2,5 V
in
24 kwietnia 2013
Wojciech Kucewicz
18
Inwerter CMOS
Inwerter CMOS
Próg przełaczania V
m
NMOS off
PMOS lin
NMOS sat
PMOS lin
NMOS sat
PMOS sat
NMOS lin
PMOS sat
NMOS lin
PMOS off
Inwerter przełącza się w momencie gdy napięcie wejściowe jest równe napięciu
wyjściowemu. W tym czasie oba tranzystory są w stanie nasycenia (przewodzą)
V
out
2,5
2,0
1,5
1,0
0,5
0
0,5 1,0 1,5 2,0 2,5 V
in
24 kwietnia 2013
Wojciech Kucewicz
19
Margines szumów
Margines szumów
V
IL
Górny próg dla napięcia niskiego V
IL
i dolny dla napięcia wysokiego V
IH
definiuje
się przy wzmocnieniu dV
out
/dV
in
= -1
Margines szumów dla
napięcia niskiego
wynosi
NM
L
= V
IL
– V
SS
Margines szumów dla
napięcia wysokiego
wynosi
NM
H
= V
DD
- V
IH
V
IH
0
1
Im większe wzmocnienie – tym większe marginesy szumów
24 kwietnia 2013
Wojciech Kucewicz
20
Działanie
dynamiczne
Działanie
dynamiczne
24 kwietnia 2013
Wojciech Kucewicz
21
Działanie dynamiczne
Działanie dynamiczne
V
DD
V
SS
V
IN
V
OUT
Tranzystor działający jako przełącznik może być traktowany jak rezystor:
T
GS
ox
D
DS
on
DS
DS
T
GS
ox
D
V
V
L
W
C
I
V
R
V
V
V
V
L
W
C
I
1
2
1
2
Rezystancja tranzystora NMOS :
Tn
IN
ox
n
D
DS
NMOS
V
V
L
W
C
I
V
R
1
Rezystancja tranzystora PMOS :
Tp
IN
DD
ox
p
D
DS
PMOS
V
V
V
L
W
C
I
V
R
1
24 kwietnia 2013
Wojciech Kucewicz
22
Działanie dynamiczne
Działanie dynamiczne
V
DD
V
SS
V
IN
=0
V
OUT
Czas przełączenia bramki ze stanu 0 na 1 zależy od rezystancji kanału tranzystora
PMOS i pojemności obciążenia
24 kwietnia 2013
Wojciech Kucewicz
23
Działanie dynamiczne
Działanie dynamiczne
V
IN
=1
V
OUT
Czas przełączenia bramki ze stanu 1 na 0 zależy od rezystancji kanału tranzystora
NMOS i pojemności obciążenia
24 kwietnia 2013
Wojciech Kucewicz
24
Pojemności
pasożytnicze
24 kwietnia 2013
Wojciech Kucewicz
25
Źródła pojemności pasożytniczych
Źródła pojemności pasożytniczych
Pojemność doprowadzeń
Wewnętrzne pojemności bramki
Pojemności dołączone z zewnątrz
V
in
V
out
M2
M4
M1
M3
C
GD
C
DB2
C
DB1
C
W
C
G4
C
G2
V
in
V
out
V
in
V
out
M2
M4
M1
M3
C
GD
C
DB2
C
DB1
C
W
C
G4
C
G2
V
in
V
out
24 kwietnia 2013
Wojciech Kucewicz
26
Capacitance Calculations
Capacitance Calculations
V
in
V
out
M2
M4
M1
M3
C
GD
C
DB2
C
DB1
C
W
C
G4
C
G2
V
in
V
out
24 kwietnia 2013
Wojciech Kucewicz
27
Czas propagacji
24 kwietnia 2013
Wojciech Kucewicz
28
Czas propagacji
Czas propagacji
t
V
in
V
max
V
max
/2
0
t
V
out
V
max
V
max
/2
0
t
PLH
t
PHL
Czas propagacji: tplh, tphl
, opóźnienie mierzone od
momentu, gdy sygnał wejściowy osiągnie 50% wartości
maksymalnej, do czasu kiedy sygnał wyjściowy osiągnię 50
% wartości maksymalnej. Generalnie
tplh tphl
.
24 kwietnia 2013
Wojciech Kucewicz
29
Czas propagacji
Czas propagacji
t
V
in
V
max
0,9 V
max
0,1 Vmax
0
t
r
Czas narastania (Rise Time): tr
, czas potrzebny do wzrostu
sygnału od 10% do 90% jego wartości maksymalnej.
24 kwietnia 2013
Wojciech Kucewicz
30
Czas propagacji
Czas propagacji
t
V
in
V
max
0,9 V
max
0,1 Vmax
0
t
f
Czas opadania (Fall Time): tf
, czas potrzebny do spadku sygnału od
90% do 10% jego wartości maksymalnej.
24 kwietnia 2013
Wojciech Kucewicz
31
Czas propagacji w układach kombinacyjnych
Czas propagacji w układach kombinacyjnych
Czas propagacji sygnału w układzie wyznaczany jest to
największe opóźnienie jakie może wystąpić w układzie
5 ns
12 ns
5 ns
12 ns
8 ns
T
p
= 5 ns + 12 ns = 17 ns
T
p
= 8 ns + 12 ns = 20 ns
24 kwietnia 2013
Wojciech Kucewicz
32
Czas propagacji w układach
kombinacyjnych
Czas propagacji w układach
kombinacyjnych
Zastosowanie bramek ze skończonym czasem propagacji,
t
plh
and t
phl
I1
I2
I3
Gate
t
PLH
t
PHL
Invert
12
8
XOR
18
13
24 kwietnia 2013
Wojciech Kucewicz
33
Straty mocy
24 kwietnia 2013
Wojciech Kucewicz
34
Dynamiczne straty mocy
Dynamiczne straty mocy
P
dyn
= C
L
•
V
DD
2
•
f
P
dyn
= C
L
•
V
DD
2
•
f
P
dyn
= 6fF • 2.5V
2
• 500MHz = 20W
1M gates
P
tot
= 20W
P
tot
= 20W
Każde przełączenie braki wymaga
przeładowania pojemności pasożytniczych
Vout = 1
Vin =0
V
DD
V
SS
24 kwietnia 2013
Wojciech Kucewicz
35
Straty mocy przy przełączaniu (direct-
path)
Straty mocy przy przełączaniu (direct-
path)
P
d
= t
s
•
I
Peak
•
V
DD
•
f
P
d
= t
s
•
I
Peak
•
V
DD
•
f
P
dyn
= 100ps • 50 A • 2.5V • 500MHz
= 6.25 W
1M gates
P
tot
= 6.25 W
W momencie przełączania oba tranzystory:
PMOS i NMOS są przez moment jednocześnie
włączone
PMOS
NMOS
V
in
V
out
V
DD
V
SS
V
in
I
short
24 kwietnia 2013
Wojciech Kucewicz
36
Statyczne straty mocy
Statyczne straty mocy
P
stat
= I
stat
•
V
DD
P
stat
= I
stat
•
V
DD
P
stat
= 10pA/m
2
• 0.5 m
2
• 2.5V
= 125 pW
1M gates
P
tot
= 125 W
Źródło i dren są złączami p-n spolaryzowanymi zaporowo
PMOS
NMOS
V
in
V
out
V
DD
V
SS
24 kwietnia 2013
Wojciech Kucewicz
37
Bramka
transmisyjna
Bramka
transmisyjna
24 kwietnia 2013
Wojciech Kucewicz
38
Bramka transmisyjna
Bramka transmisyjna
NotEnable
Enable
Input
Ouput
Out
Enable
0
1
In
0
x
0
1
x
1
In
Out
En’
En
In
Out
En’
En
Bramka transmisyjna wykonana jest z 2 tranzystorów (NMOS i PMOS)
połączonych źródłami i drenami .
S D
En
In Out
TG
En
In Out
TG
24 kwietnia 2013
Wojciech Kucewicz
39
Bramka transmisyjna
Bramka transmisyjna
Out
Enable
0
1
In
0
x
0
1
x
1
Enable
V
in
V
out
t
24 kwietnia 2013
Wojciech Kucewicz
40
Rejestr przesuwny
Rejestr przesuwny
24 kwietnia 2013
Wojciech Kucewicz
41
Rejestr przesuwny
Rejestr przesuwny
Łącząc bramki transmisyjne w szeregowo i przełączając je naprzemiennie
można utworzyć rejestr przesuwny.
not
O
1
O
1
1
11
1
0
1
0
0000
24 kwietnia 2013
Wojciech Kucewicz
42
Inwerter
trójstanowy
Inwerter
trójstanowy
24 kwietnia 2013
Wojciech Kucewicz
43
Inwerter trójstanowy
Inwerter trójstanowy
Jaki jest stan logiczny linii?
Konflikt logiczny
Jaki jest stan logiczny linii?
Konflikt logiczny
Wejście Enable podłącza do linii tylko
jeden z inwerterów w danej chwili
Wejście Enable podłącza do linii tylko
jeden z inwerterów w danej chwili
En
En
En
Jak to zrealizować?
24 kwietnia 2013
Wojciech Kucewicz
44
Inwerter trójstanowy
Inwerter trójstanowy
F
Enable
0
1
V
in
0
x
1
1
x
0
24 kwietnia 2013
Wojciech Kucewicz
45
Inwerter trójstanowy
Inwerter trójstanowy
Inwerter z bramka transmisyjną na wyjściu
Inwerter z tranzystorem
NMOS na wyjściu
24 kwietnia 2013
Wojciech Kucewicz
46
Bramki
NAND & NOR
Bramki
NAND & NOR
24 kwietnia 2013
Wojciech Kucewicz
47
Logika NMOS
Logika NMOS
Tranzystory NMOS służą jako włączniki niskiego napięcia V
SS
.
Wysokie napięcie na bramce łączy wyjście z linią niskiego napięcia V
SS
.
V
SS
NMOS
F =V
SS
= 0
A =V
DD
= 1
A
F
A
F
24 kwietnia 2013
Wojciech Kucewicz
48
Logika NMOS
Logika NMOS
Połączenie równoległe tranzystorów
NMOS realizuje funkcję logiczną
zaprzeczenia sumy. Wystarczy, że jeden
z tranzystorów NMOS przewodzi (na
bramce logiczna 1), aby na wyjściu
otrzymać logiczne 0.
V
SS
NMOS
F
A
B
B
A
F
B
A
F
AB
F
AB
F
Połączenie szeregowe tranzystorów
NMOS realizuje funkcję logiczną
zaprzeczenia iloczynu. Oba tranzystory
NMOS muszą przewodzić (na bramkach
logiczna 1), aby na wyjściu otrzymać
logiczne 0.
24 kwietnia 2013
Wojciech Kucewicz
49
Logika NMOS
Logika NMOS
C
AB
F
C
AB
F
24 kwietnia 2013
Wojciech Kucewicz
50
Logika PMOS
Logika PMOS
Tranzystory PMOS służą jako włączniki wysokiego napięcia V
DD
.
Niskie napięcie na bramce łączy wyjście z linią wysokiego napięcia V
DD
.
A
F
A
F
24 kwietnia 2013
Wojciech Kucewicz
51
Logika PMOS
Logika PMOS
Połączenie równoległe tranzystorów
PMOS realizuje funkcję logiczną sumę
zaprzeczeń. Wystarczy, że jeden z
tranzystorów PMOS przewodzi (na
bramce logiczne 0), aby na wyjściu
otrzymać logiczną 1.
AB
F
B
A
F
B
A
F
B
A
F
PMOS
V
DD
F
A
B
Połączenie szeregowe tranzystorów PMOS
realizuje funkcję logiczną iloczynu
zaprzeczeń. Oba tranzystory PMOS muszą
przewodzić (na bramkach logiczne 0), aby
na wyjściu otrzymać logiczną 1.
24 kwietnia 2013
Wojciech Kucewicz
52
Logika PMOS
Logika PMOS
C
B
A
F
C
B
A
F
C
B
A
F
)
(
)
(
PMOS
V
DD
F
A
B
C
24 kwietnia 2013
Wojciech Kucewicz
53
Logika CMOS
Logika CMOS
Typ
połączenia
Szeregowe
Równoległe
PMOS
NMOS
B
A
F
B
A
F
B
A
F
B
A
F
24 kwietnia 2013
Wojciech Kucewicz
54
Bramka NAND
Bramka NAND
24 kwietnia 2013
Wojciech Kucewicz
55
Bramka NAND
Bramka NAND
F
B
0
1
A
0
1
1
1
1
0
F = A’ + B’ = (AB)’
F’ = A • B
F = (AB)’
PMOS
V
DD
F
A
B
NMOS
V
SS
24 kwietnia 2013
Wojciech Kucewicz
56
Bramka NAND
Bramka NAND
F
B
0
1
A
0
1
1
PMOS
V
DD
F
A
B
NMOS
V
SS
1
1
0
24 kwietnia 2013
Wojciech Kucewicz
57
Bramka NOR
Bramka NOR
24 kwietnia 2013
Wojciech Kucewicz
58
Bramka NOR
Bramka NOR
F
B
0
1
A
0
1
0
1
0
0
F’ = A + B
F = (A + B)’
F = A’ • B’ = (A + B)’
PMOS
V
DD
F
A
B
V
SS
NMOS
PMOS
V
DD
F
A
B
V
SS
NMOS
24 kwietnia 2013
Wojciech Kucewicz
59
Bramka NAND
Bramka NAND
F
B
0
1
A
0
1
0
0
0
1
24 kwietnia 2013
Wojciech Kucewicz
60
3 wejściowa bramka NOR
3 wejściowa bramka NOR
F
BC
00
01
11
10
A
0
1
0
0
0
1
0
0
0
0
F’=A + B + C
F=A’• B’• C’
PMOS
V
DD
F
A
B
V
SS
NMOS
C
24 kwietnia 2013
Wojciech Kucewicz
61
Bramka AND
Bramka AND
24 kwietnia 2013
Wojciech Kucewicz
62
Bramka AND
Bramka AND
=
A
B
A
B
F
F
A
B
A
B
F
F
24 kwietnia 2013
Wojciech Kucewicz
63
OR
24 kwietnia 2013
Wojciech Kucewicz
64
OR
OR
B
F = A+B
A
A’
A’
A
B
A’ A B A+B
0
0
1
X
B
0
0
1
1
X
B
1
1
0
0
A
X
1
1
1
0
A
X
1
BA’
A(A’)’
Górna gałąź przewodzi przy A = 1 podczas, gdy dolna bramka transmisyjna przesyła
stan B na wyjście przy A = 0.
Ponieważ tranzystor PMOS przewodzi tylko wysokie napięcie odpowiadające logicznej
wartości A = 1, rozważanie przewodzenia logicznego 0 nie ma sensu.
Funkcja OR jest wynikiem formalnego zapisu funkcji realizowanych przez górne i
dolne ramię układu:
F = A(A’)’ + A’B = A + A’B = A + B
(Twierdzenie o absorbcji)
24 kwietnia 2013
Wojciech Kucewicz
65
Bramki
XOR i XNOR
Bramki
XOR i XNOR
24 kwietnia 2013
Wojciech Kucewicz
66
Bramka XOR
Bramka XOR
F
B
0
1
A
0
0
1
1
1
0
XOR = F =A B
= A’B + AB’
PMOS
NMOS
F
V
DD
V
SS
A’
B
A
B
A
B’
A’
B’
F’ = AB + A’B’
F = A’B + AB’
24 kwietnia 2013
Wojciech Kucewicz
67
Bramka XNOR
Bramka XNOR
F
B
0
1
A
0
1
0
1
0
1
XNOR = F =(A B)’
= AB + A’B’
F’ = AB’ + A’B
F = AB + A'B’
24 kwietnia 2013
Wojciech Kucewicz
68
Układy scalone serii 7400
Układy scalone serii 7400
1A
1Y
2A
2Y
3A
3Y
GND
VCC
6A
6Y
5A
5Y
4A
4Y
Hex inverter
1A
1B
1Y
2A
2B
2Y
GND
VCC
4B
4A
4Y
3B
3A
3Y
Quad 2-input NAND gate
1A
1B
1Y
2A
2B
2Y
GND
VCC
4B
4A
4Y
3B
3A
3Y
Quad 2-input AND gate
1Y
1A
1B
2Y
2A
2B
GND
VCC
4Y
4B
4A
3Y
3B
3A
Quad 2-input NOR gate
24 kwietnia 2013
Wojciech Kucewicz
69
Układy scalone serii 7400
Układy scalone serii 7400
1A
1B
1Y
2A
2B
2Y
GND
VCC
4B
4A
4Y
3B
3A
3Y
2-input EXCLUSIVE-OR gate
1A
1B
2A
2B
2C
2Y
GND
VCC
1C
1Y
3C
3B
3A
3Y
Triple 3-input AND gate
1A
1B
1Y
2A
2B
2Y
GND
VCC
4B
4A
4Y
3B
3A
3Y
2-input OR gate
1A
1B
1C
1D
1Y
GND
VCC
2D
2C
2B
2A
2Y
Dual 4-input NAND gate
24 kwietnia 2013
Wojciech Kucewicz
70
Bramki złożone
Bramki złożone
24 kwietnia 2013
Wojciech Kucewicz
71
Bramki złożone
Bramki złożone
F = (A • B) + (C • D)
Można to zrobić dwoma sposobami:
• Projekt na poziomie bramek
- elementem konstrukcyjnym są proste bramki
• Projekt na poziomie tranzystorów
– elementem konstrukcyjnym są tranzystory
Jak zrealizować funkcję?
24 kwietnia 2013
Wojciech Kucewicz
72
Projekt na poziomie bramek
Projekt na poziomie bramek
F = (A • B) + (C • D)
F
CD
00
01
11
10
AB
00
1
1
0
1
01
1
1
0
1
11
0
0
0
0
10
1
1
0
1
24 kwietnia 2013
Wojciech Kucewicz
73
Bramki złożone
Bramki złożone
F = (A • B) + (C • D) Układ składa się 8 tranzystorów
F
CD
00
01
11
10
A
B
0 0
1
1
0
1
0 1
1
1
0
1
1 1
0
0
0
0
10
1
1
0
1
NMOS: F’ = AB + CD F = (AB + CD)’ = (AB)’(CD)’
PMOS: F = A’C’+A’D’+B’C’+B’D’ = C’(A’+B’)+D’(A’+B’) =
= (A’+B’)(C’+D’) = (AB)’ (CD)’ = (AB+CD)’
PMOS
NMOS
F
V
DD
V
SS
A
B
C
D
A
B
C
D
Funkcje niezaprzeczone wymagają dodatkowego
inwertera:
F = (A • B) + (C • D) ==> F = (A • B) + (C • D)
24 kwietnia 2013
Wojciech Kucewicz
74
The Complex Gate
The Complex Gate
Najłatwiej jest projektować funkcje zaprzeczone:
F = (A • B) + (C • D)
Function
A
B
C
D
F
Function
A
B
C
D
F
Not F
24 kwietnia 2013
Wojciech Kucewicz
75
Multipleksery
i demultipleksery
Multipleksery
i demultipleksery
Cyfrowe układy kombinacyjne
Cyfrowe układy kombinacyjne
24 kwietnia 2013
Wojciech Kucewicz
76
Multiplekser
Multiplekser
Multiplekser umożliwiaj wybór i przesłanie na wyjście sygnału
jednego z N wejść
Numer wejścia jest określany przez stan wejść adresowych (sterujących)
S0, S1 ....
Z uwagi na naturalny kod binarny stosowany do określenia adresu, liczba
wejść jest związana z liczbą wejść sterujących zależnością:
N = 2
n
D0
D1
D2
D3
S1 S0
Out
24 kwietnia 2013
Wojciech Kucewicz
77
Multiplekser
Multiplekser
S1
S0
F
Do zbudowania 2
n
wejściowego multipleksera potrzebne jest 2
n
bramek AND
(n+1)-wejściowych oraz bramka OR 2
n
-wejściowa
Multiplekser umożliwia zmianę formatu danych z równoległego na szeregowy.
0
0
D0
0
1
D1
1
0
D2
1
1
D3
24 kwietnia 2013
Wojciech Kucewicz
78
Multiplekser
Multiplekser
Dodatkowe wejście Enable pozwala zablokować stan wyjścia
multipleksera.
Sygnały z wejścia będą przesyłane do wyjścia tylko, gdy wejście Enable
=1
b
b
D0
D1
D2
D3
F
1
F
Enable
S1 S0
0
1
0 0
0
D0
0 1
0
D1
1 0
0
D2
1 1
0
D3
Multiplekser
Multiplekser
D0
D1
.
.
.
.
.
.
.
D8
F
S1 S2 S3
En
Funkcję multipleksera można opisać funkcją logiczną:
1
N
0
k
k
k
En
D
S
Out
gdzie S
k
jest mintermem utworzonym z wektora adresu
F
Enable
S1 S0
0
1
0 0
0
D0
0 1
0
D1
1 0
0
D2
1 1
0
D3
24 kwietnia 2013
Wojciech Kucewicz
80
Multiplekser
Multiplekser
S1
S0
F
0
0
0
0
1
1
1
0
1
1
1
0
2
n
–wejściowy multiplekser może być użyty do realizacji dowolnej funkcji
logicznej o n-zmiennych.
Realizuje się ją poprzez bezpośrednie podłączenie do odpowiednich wejść
multipleksera wartości logicznych „1” lub „0”
0
1
1
0
Multiplexer
D0
D1
D2
D3
S1 S0
F
24 kwietnia 2013
Wojciech Kucewicz
81
Multiplekser jako bramka AND
Multiplekser jako bramka AND
S1
S0
OUFT
0
0
0
0
1
0
1
0
0
1
1
1
2
n
–wejściowy multiplekser może być użyty do realizacji dowolnej funkcji logicznej
o n-zmiennych.
Realizuje się ją poprzez bezpośrednie podłączenie do odpowiednich wejść
multipleksera wartości logicznych „1” lub „0”
0
0
0
1
D0
D1
D2
D3
S1 S0
F
F
S0
S1
24 kwietnia 2013
Wojciech Kucewicz
82
Multiplekser jako bramka OR
Multiplekser jako bramka OR
S1
S0
F
0
0
0
0
1
1
1
0
1
1
1
1
0
1
1
1
2
n
–wejściowy multiplekser może być użyty do realizacji dowolnej funkcji logicznej
o n-zmiennych.
Realizuje się ją poprzez bezpośrednie podłączenie do odpowiednich wejść
multipleksera wartości logicznych „1” lub „0”
D0
D1
D2
D3
S1 S0
F
F
S0
S1
24 kwietnia 2013
Wojciech Kucewicz
83
Multiplekser
Multiplekser
F
F
Zastosowanie multipleksera 4 na 1 do realizacji funkcji 3 zmiennych:
F = x’y’z + xyz’ + yz
= x’ 1 0 + x 0 1 + 0 0
0
= x’ 0 1 + x 1 0 + 1 1
1
= x’ 0 0 + x 1 1 + 1 0
x
= x’ 1 1 + x 0 0 + 0 1
x’
S1=
y
S0=
z
0
0
0
1
1
0
1
1
Wejście multipleksera D0 podłączamy do 0,
D1 do x’,
D2 do x,
D3 do 1
24 kwietnia 2013
Wojciech Kucewicz
84
Multiplekser
Multiplekser
Zastosowanie multipleksera 4 na 1 do realizacji funkcji 3 zmiennych:
F = x’y’z + xyz’ + yz
yz
x
00
01
11
10
0
0
1
1
0
1
0
0
1
1
D0
D1
D3
D2
0
x’
1
x
24 kwietnia 2013
Wojciech Kucewicz
85
Multiplekser
Multiplekser
S1=
y
S0=
z
F
0
0
0
0
1
x’
1
0
x
1
1
1
0
x
1
y z
F
Funkcję (n+1)-zmiennych można realizować przy
pomocy multipleksera 2
n
na 1 oraz inwertera
Funkcję (n+1)-zmiennych można realizować przy
pomocy multipleksera 2
n
na 1 oraz inwertera
Zastosowanie multipleksera 4 na 1 do realizacji funkcji 3 zmiennych:
F = x’y’z + xyz’ + yz
D0
D1
D2
D3
S1 S0
24 kwietnia 2013
Wojciech Kucewicz
86
Multiplekser
Multiplekser
D0
D1
S
Out
D0
D1
S
Out
Multiplekser 2 na 1 można zbudować z 2 bramek transmisyjnych
24 kwietnia 2013
Wojciech Kucewicz
87
Multiplekser
Multiplekser
Multiplexer 2 na 1
D0
D1
Sel
F
==
D0
D1
Sel
F
24 kwietnia 2013
Wojciech Kucewicz
88
MUX
D0
D1
Sel
Out
MUX
D0
D1
Sel
Out
MUX
D0
D1
Sel
Out
Multiplekser
Multiplekser
A
B
C
D
F
S1=
S0=
Multiplekser 4 na 1 można zbudować z 2 multiplekserów
2 na 1
S1
S0
F
0
0
A
0
1
B
1
0
C
1
1
D
01
01
24 kwietnia 2013
Wojciech Kucewicz
89
Multiplekser
Multiplekser
Zbudować sterownik do wyświetlacza 7-segmentowego przy użyciu
multiplekserów
Decoder
BCD to 7 segm
x
0
x
1
x
2
x
3
b
c
d
e
f
a
g
x
3
x
2
x
1
x
0
a
b
c
d
e
f
g
0
0
0
0
1
1
1
1
1
1
0
0
0
0
1
0
1
1
0
0
0
0
0
0
1
0
1
1
0
1
1
0
1
0
0
1
1
1
1
1
1
0
0
1
0
1
0
0
0
1
1
0
0
1
1
0
1
0
1
1
0
1
1
0
1
1
0
1
1
0
1
0
1
1
1
1
1
0
1
1
1
1
1
1
0
0
0
0
1
0
0
0
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
0
1
1
1
0
1
0
x
x
x
x
x
x
x
1
0
1
1
x
x
x
x
x
x
x
1
1
0
0
x
x
x
x
x
x
x
1
1
0
0
x
x
x
x
x
x
x
1
1
1
0
x
x
x
x
x
x
x
1
1
1
1
x
x
x
x
x
x
x
24 kwietnia 2013
Wojciech Kucewicz
90
Multiplekser
Multiplekser
Budujemy multiplekser 16 do 1
x
3
x
2
x
1
x
0
a
0
0
0
0
1
0
0
0
1
0
0
0
1
0
1
0
0
1
1
1
0
1
0
0
0
0
1
0
1
1
0
1
1
0
1
0
1
1
1
1
1
0
0
0
1
1
0
0
1
1
1
0
1
0
x
1
0
1
1
x
1
1
0
0
x
1
1
0
0
x
1
1
1
0
x
1
1
1
1
x
1 0 0
1
24 kwietnia 2013
Wojciech Kucewicz
91
Demultiplekser
Demultiplekser
Demultiplekser umożliwia wybór i przesłanie sygnału
wejściowego na jedno z N wyjść
D0
D1
D2
D3
S1 S0
In
Demultiplexer
D0
D1
D2
D3
S1 S0
In
Numer wyjścia jest określany przez stan wejść adresowych (sterujących)
S0, S1 ....
Z uwagi na naturalny kod binarny stosowany do określenia adresu, liczba
wyjść jest związana z liczbą wejść sterujących zależnością:
N = 2
n
24 kwietnia 2013
Wojciech Kucewicz
92
Demultiplekser
Demultiplekser
Aby uzyskać 2
n
wyjść, należy zastosować n bramek AND (n+1) – wejściowych
Demultiplekser umożliwia zmianę formatu danych z szeregowego na
równoległy
S1
S0
En
able
S1 S0 D3 D2 D1 D0
0
0
0
0
0
Z
0
1
0
0
Z
0
1
0
0
Z
0
0
1
1
Z
0
0
0
24 kwietnia 2013
Wojciech Kucewicz
93
Demultiplekser
Demultiplekser
Funkcję demultipleksera można opisać funkcją logiczną:
Z
S
D
k
k
gdzie S
k
jest mintermem utworzonym z wektora adresu
S1
S0
En
able
S1 S0 D3 D2 D1 D0
0
0
0
0
0
Z
0
1
0
0
Z
0
1
0
0
Z
0
0
1
1
Z
0
0
0
24 kwietnia 2013
Wojciech Kucewicz
94
Demultiplekser
Demultiplekser
Po podaniu odpowiedniego sygnału na wejście demultipleksera na wyjściach są
dostępne realizacje wszystkich mintermów. Sumujemy przy pomocy bramki
OR tylko te mintermy, dla których funkcja przybiera wartość 1.
1
a b c
a’b’c’
a’b’c
a’bc’
a’bc
ab’c’
ab’c
abc’
abc
24 kwietnia 2013
Wojciech Kucewicz
95
Demultiplekser
Demultiplekser
Podstawowym elementem demultipleksera może być bramka transmisyjna
Demultiplexer 1 to 2
DMUX
D0
D1
Sel
In
==
D0
D1
Sel
In
24 kwietnia 2013
Wojciech Kucewicz
96
Kodery i
dekodery,
konwertery kodów
Kodery i
dekodery,
konwertery kodów
24 kwietnia 2013
Wojciech Kucewicz
97
Dekoder
Dekoder
Dekoder najczęściej służy do translacji słów kodu dwójkowego
na kod 1 z N
Stan logiczny n wejść określa na którym z 2
n
wyjść pojawi się
stan 1
S
0
S
1
Decoder
D0
D1
D2
D3
En
Dekoder dwubitowego słowa (X0, X1) na 1 z 4
Dekoder może posiadać wejście Enable.
Jeżeli wejście Enable ma stan 1 to dekoder jest aktywny (na jednym z wyjść
jest stan 1), a jeżeli 0 to dekoder jest nieaktywny ( na wszystkich wyjściach
jest stan 0)
24 kwietnia 2013
Wojciech Kucewicz
98
Dekoder 2-bitowy
Dekoder 2-bitowy
Tablicę prawdy dla dekodera 2-bitowego można zamienić na tablicę Karnough i
wyznaczyć funkcję logiczną
S
1
S
0
En
D3
D2
D1
D0
0
0
1
0
0
0
1
0
1
1
0
0
1
0
1
0
1
0
1
0
0
1
1
1
1
0
0
0
x
x
0
0
0
0
0
x1 x0
En
0
1
0 0
0
1
0 1
0
0
1 1
0
0
1 0
0
0
D0 = En S
0
’ S
1
’
x1 x0
En
0
1
0 0
0
0
0 1
0
1
1 1
0
0
1 0
0
0
D1 = En S
0
S
1
’
x1 x0
En
0
1
0 0
0
0
0 1
0
0
1 1
0
0
1 0
0
1
D2 = En S
0
’ S
1
S
1
S
0
En
0
1
0 0
0
0
0 1
0
0
1 1
0
1
1 0
0
0
D3 = En S
0
S
1
Wszystkie wyznaczone funkcje są
mintermami więc można je zrealizować
przy pomocy bramek AND
24 kwietnia 2013
Wojciech Kucewicz
99
Dekoder
Dekoder
Decoder
En
S0
D0
D1
D2
D3
S1
D
3
= EnS
0
S
1
D
2
= EnS
0
’S
1
D
1
= EnS
0
S
1
’
D
0
= EnS
0
’S
1
’
b
b
S0
S1
b
b
b
b
b
b
En
D0
D1
D2
D3
24 kwietnia 2013
Wojciech Kucewicz
100
Dekoder
Dekoder
Dekoder może realizować funkcje logiczne.
Ponieważ jego wyjścia są mintermami, należy zsumować te mintermy, dla których
wartość funkcji wynosi 1
S
1
S
0
F1
F2
0
0
0
0
0
1
1
1
1
0
1
1
1
1
0
1
24 kwietnia 2013
Wojciech Kucewicz
101
Dekoder 4-bitowy
Dekoder 4-bitowy
En
x0
D0
D1
D2
D3
x1
A
B
C
D
En
Out
0
0
0
0
1
m0
0
0
0
1
1
m1
0
0
1
0
1
m2
0
0
1
1
1
m3
0
1
0
0
1
m4
0
1
0
1
1
m5
0
1
1
0
1
m6
0
1
1
1
1
m7
1
0
0
0
1
m8
1
0
0
1
1
m9
1
0
1
0
1
m10
1
0
1
1
1
m11
1
1
0
0
1
m12
1
1
0
1
1
m13
1
1
1
0
1
m14
1
1
1
1
1
m15
x
x
x
x
0
none
A
B
En
x0
D0
D1
D2
D3
x1
En
x0
D0
D1
D2
D3
x1
En
x0
D0
D1
D2
D3
x1
En
x0
D0
D1
D2
D3
x1
C
D
m0
m1
m2
m3
m4
m5
m6
m7
m8
m9
m10
m11
m12
m13
m14
m15
Wielobitowy dekoder może być utworzony przez kaskodowe połączenie dekoderów 2-
bitowych , gdzie jeden z dekoderów jest
wykorzystany do włączania linii enable
24 kwietnia 2013
Wojciech Kucewicz
102
Koder
Koder
Encoder
x0
D0
D1
D2
D3
x1
Koder działa odwrotnie niż dekoder t.zn.
Kod 1 z 2
n
zamienia na kod n-bitowy kod binarny
D3
D2
D1
D0
x1
x0
0
0
0
1
0
0
0
0
1
0
0
1
0
1
0
0
1
0
1
0
0
0
1
1
24 kwietnia 2013
Wojciech Kucewicz
103
Koder priorytetowy
Koder priorytetowy
Przyjmijmy, że system składa się z 2
n
urządzeń, które
wymagają obsługi. Przy pomocy kodera priorytetowego można
ustalić kolejność obsługi urządzeń.
D0
D1
D2
D3
x1
x0
1
X
X
X
0
0
0
1
X
X
0
1
0
0
1
X
1
0
0
0
0
1
1
1
Przykład:
Należy obsłużyć 4 urządzenia o
różnym stopniu ważności – każde ma
swój 2-bitowy adres (x1x2).
Urządzenie podłączone do wejścia D0
ma najwyższy priorytet obsługi, a
urządzenie podłączone do wejścia D3
– najniższy.
Zapisujemy to w tablicy prawdy
24 kwietnia 2013
Wojciech Kucewicz
104
Koder priorytetowy
Koder priorytetowy
D
0
D
1
D
2
D
3
x
1
x
0
0
0
0
0
0
0
0
0
0
1
1
1
0
0
1
0
1
0
0
0
1
1
1
0
0
1
0
0
0
1
0
1
0
1
0
1
0
1
1
0
0
1
0
1
1
1
0
1
1
0
0
0
0
0
1
0
0
1
0
0
1
0
1
0
0
0
1
0
1
1
0
0
1
1
0
0
0
0
1
1
0
1
0
0
1
1
1
0
0
0
1
1
1
1
0
0
x
1
= D
0
’D
1
’D
3
+ D
0
’D
1
’D
2
= D
0
’D
1
’(D
3
+ D
2
)
x
1
= D
0
’D
1
’D
3
+ D
0
’D
1
’D
2
= D
0
’D
1
’(D
3
+ D
2
)
Budujemy tablicę prawdy dla wszystkich
możliwych kombinacji żądań obsługi w jednym
czasie.
Budujemy tablice Karnaugh dla stanu bitów adresu
urządzeń i wyznaczamy funkcję logiczną.
X1
D3D2
00
01
11
10
D1D0
0 0
0
0
0
0
0 1
1
0
0
0
1 1
1
0
0
0
10
1
0
0
0
24 kwietnia 2013
Wojciech Kucewicz
105
Koder priorytetowy
Koder priorytetowy
D
0
D
1
D
2
D
3
x
1
x
0
0
0
0
0
0
0
0
0
0
1
1
1
0
0
1
0
1
0
0
0
1
1
1
0
0
1
0
0
0
1
0
1
0
1
0
1
0
1
1
0
0
1
0
1
1
1
0
1
1
0
0
0
0
0
1
0
0
1
0
0
1
0
1
0
0
0
1
0
1
1
0
0
1
1
0
0
0
0
1
1
0
1
0
0
1
1
1
0
0
0
1
1
1
1
0
0
x
0
= D
0
’D
2
’D
3
+ D
0
’D
1
x
0
= D
0
’D
2
’D
3
+ D
0
’D
1
Budujemy tablicę prawdy dla wszystkich
możliwych kombinacji żądań obsługi w jednym
czasie.
Budujemy tablice Karnaugh dla stanu bitów adresu
urządzeń i wyznaczamy funkcję logiczną.
X0
D0D1
00
01
11
10
D2D3
0 0
0
1
0
0
0 1
1
1
0
0
1 1
0
1
0
0
10
0
1
0
0
24 kwietnia 2013
Wojciech Kucewicz
106
Koder priorytetowy
Koder priorytetowy
Encoder
x0
D0
D1
D2
D3
x1
D
0
D
1
D
2
D
3
x
1
x
0
0
0
0
0
0
0
0
0
0
1
1
1
0
0
1
0
1
0
0
0
1
1
1
0
0
1
0
0
0
1
0
1
0
1
0
1
0
1
1
0
0
1
0
1
1
1
0
1
1
0
0
0
0
0
1
0
0
1
0
0
1
0
1
0
0
0
1
0
1
1
0
0
1
1
0
0
0
0
1
1
0
1
0
0
1
1
1
0
0
0
1
1
1
1
0
0
x
1
= D
0
’D
1
’(D
3
+ D
2
)
x
0
= D
0
’(D
2
’D
3
+ D
1
)
x
1
= D
0
’D
1
’(D
3
+ D
2
)
x
0
= D
0
’(D
2
’D
3
+ D
1
)
24 kwietnia 2013
Wojciech Kucewicz
107
Hazard
Hazard
24 kwietnia 2013
Wojciech Kucewicz
108
Hazard
Hazard
Hazardem nazywamy krótkie zakłócenie impulsowe na wyjściu
układu podczas procesów przejściowych.
Zjawisko hazardu może wystąpić, gdy sygnał przesyłany jest dwoma
drogami o różnych opóźnieniach prowadzącymi do jednej bramki.
Na wyjściu bramki może powstać krótkotrwały impuls, wynikający z
różnicy opóźnień.
1
X
Y
Z
Hazard
Hazard
X
Y
F
24 kwietnia 2013
Wojciech Kucewicz
109
Hazard
Hazard
Hazard funkcjonalny
- powstaje na skutek jednoczesnej zmiany
dwóch lub więcej sygnałów wejściowych propagujących drogami o
różnych opóźnieniach (trudny do eliminacji)
Hazard logiczny
– pojedyncza zmiana sygnału na wejściu propaguje
drogami o różnych opóźnieniach (eliminowanie przez dodanie
nadmiarowych elementów w układzie).
Hazard krytyczny
- występuje w układach asynchronicznych.
24 kwietnia 2013
Wojciech Kucewicz
110
Typy Hazardu
Typy Hazardu
Hazard statyczny „w jedynkach”
Hazard statyczny „w zerach”
Hazard statyczny polega na pojawieniu się na wyjściu układu impulsu
związanego z różnym opóźnieniem sygnałów wejściowych.
24 kwietnia 2013
Wojciech Kucewicz
111
Hazard dynamiczny
Hazard dynamiczny
Hazard dynamiczny 1 0
Hazard dynamiczny 0 1
Hazard dynamiczny polega na pojawieniu się na wyjściu układu impulsu
szpilkowego bezpośrednio po zmianie poziomów logicznych z 0 na 1 lub
z 1 na 0.
24 kwietnia 2013
Wojciech Kucewicz
112
Hazard statyczny
Hazard statyczny
Hazard statyczny może wystąpić, gdy choćby jeden sygnał jest przesyłany
dwoma drogami o różnych opóźnieniach, prowadzącymi do jednej bramki.
Możliwość wystąpienia hazardu można wykryć na siatce Karnaugh, jeżeli
forma boolowska jest reprezentowana przez stykające się grupy,
odpowiadające implikantom prostym. Stykanie się takich grup wskazuje na
obecność hazardu. Aby uniknąć hazardu, należy wprowadzić dodatkową
bramkę reprezentującą dodatkowy implikant.
x
2
x
1
x
0
00
01
11
10
0
0
0
1
0
1
1
1
1
0
F = X
2
X
1
+ X
0
X’
2
F = X
2
X
1
+ X
0
X’
2
+ X
0
X
1
24 kwietnia 2013
Wojciech Kucewicz
113
Hazard statyczny
Hazard statyczny
F = X
2
X
1
+ X
0
X’
2
F = X
2
X
1
+ X
0
X’
2
+ X
0
X
1
X
2
Y
Y
1
Y
2
F
Przy X
0
= X
1
= 1 impuls hazardu
zostaje wyeliminowany
24 kwietnia 2013
Wojciech Kucewicz
114
Hazard dynamiczny
Hazard dynamiczny
W układach wielopoziomowych można zaobserwować zjawisko hazardu
dynamicznego. Polega ono na pojawieniu się na wyjściu układu impulsu
szpilkowego bezpośrednio po zmianie poziomów logicznych z 0 na 1 lub 1 na 0.
Hazard dynamiczny może wystąpić, gdy choćby jeden sygnał jest przesyłany
do wyjścia trzema drogami o różnych opóźnieniach.
X
1
Y
2
Y
4
F
X
1
Y
1
Y
3
Y
4
F
X
1
Y
1
F
X1
X2
X0
F
Y1
Y2
Y3
Y4
X1
X2
X0
F
Y1
Y2
Y3
Y4
24 kwietnia 2013
Wojciech Kucewicz
115
Hazard dynamiczny
Hazard dynamiczny
X
1
X
2
= 0
X
0
= 0
X
1
Y
2
Y
4
F
X
1
Y
1
Y
3
Y
4
F
X
1
Y
1
F
X
1
Y
1
Y
2
Y
3
Y
4
F
X1
X2
X0
F
Y1
Y2
Y3
Y4
X1
X2
X0
F
Y1
Y2
Y3
Y4
24 kwietnia 2013
Wojciech Kucewicz
116
Hazard
Hazard
Układy generujące hazard są również celowo wykorzystywane w praktyce.
Są stosowane jako układy detektorów początku i końca impulsu wejściowego.
Do uzyskania impulsów wyjściowych o pożądanej szerokości zwiększa się
opóźnienie jednego z torów sygnału wejściowego przez połączenie kaskadowe
dodatkowych inwerterów lub bramek.
Sa to tzw. Układy logicznego różniczkowania.
X
1
Y
1
F
X1
F
Y1
X1
F
Y1
24 kwietnia 2013
Wojciech Kucewicz
117
Hazard
Hazard
Układy generujące hazard są również celowo wykorzystywane w praktyce.
Są stosowane jako układy detektorów początku i końca impulsu wejściowego.
Do uzyskania impulsów wyjściowych o pożądanej szerokości zwiększa się
opóźnienie jednego z torów sygnału wejściowego przez połączenie kaskadowe
dodatkowych inwerterów lub bramek.
Sa to tzw. Układy logicznego różniczkowania.
X
1
Y
1
F
X1
F
Y1
X1
F
Y1
24 kwietnia 2013
Wojciech Kucewicz
118
Hazard
Hazard
Układy generujące hazard są również celowo wykorzystywane w praktyce.
Są stosowane jako układy detektorów początku i końca impulsu wejściowego.
Do uzyskania impulsów wyjściowych o pożądanej szerokości zwiększa się
opóźnienie jednego z torów sygnału wejściowego przez połączenie kaskadowe
dodatkowych inwerterów lub bramek.
Sa to tzw. Układy logicznego różniczkowania.
X
1
Y
1
F
X1
F
Y1
X1
F
Y1