E6Cyfrowe uklady kombinacyjne


24 kwietnia 2013 Wojciech Kucewicz 1
Cyfrowe
Cyfrowe
układy
układy
kombinacyjne
kombinacyjne
24 kwietnia 2013 Wojciech Kucewicz 2
Cyfrowe układy kombinacyjne
Cyfrowe układy kombinacyjne
Y1
X1
Y2
X2
Y3
X3
Yn
Xn
Układy kombinacyjne charakteryzuje funkcja, która każdemu stanowi
wejściowemu Xi X jednoznacznie przyporządkowuje stan 0 lub 1 sygnału
wyjściowego yi
24 kwietnia 2013 Wojciech Kucewicz 3
Cyfrowe układy kombinacyjne
Cyfrowe układy kombinacyjne
Podstawowe bramki
Podstawowe bramki
24 kwietnia 2013 Wojciech Kucewicz 4
Bramka logiczna CMOS
Bramka logiczna CMOS
VDD
Układ logiczny łączący wysoki potencjał VDD z
A
wyjściem buduje się z tranzystorów PMOS
Pull-up Network
B
Constracted
by PMOS
C
Fout
A
Układ logiczny łączący niski potencjał VSS z
Pull-down Network
B
wyjściem buduje się z tranzystorów NMOS
Constracted
by NMOS
C
VSS
24 kwietnia 2013 Wojciech Kucewicz 5
Inwerter CMOS
Inwerter CMOS
24 kwietnia 2013 Wojciech Kucewicz 6
Inwerter CMOS
Inwerter CMOS
VDD
VIN
VOUT
VIN
VSS
VSS VOUT VDD
24 kwietnia 2013 Wojciech Kucewicz 7
n
+
p
+
p
n
+
+
p
n
n
+
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 8
Inwerter CMOS
Inwerter CMOS
NMOS transistor, 0.25mm, PMOS transistor, 0.25mm,
Ld = 0.25mm, W/L = 1.5, Ld = 0.25mm, W/L = 3,
VDD = 2.5V, VT = 0.4V VDD = -2.5V, VT = -0.4V
24 kwietnia 2013 Wojciech Kucewicz 9
Inwerter CMOS
Inwerter CMOS
Aby charakterystyki obu tranzystorów w inwerterze
narysować na wspólnym wykresie należy wprowadzić wspólne
zmienne VIN , VOUT , and ID
VDD
IDn = ID
S
VGSn = VIN IDp
VDSn = VOUT
VIN
VOUT
IDp = - ID
VGSp = VIN- VDD
IDn
S
VDSp = VOUT- VDD
VSS
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 VIN , VOUT , and ID
IDn = ID
VGSn = VIN
VDSn = VOUT
Tranzystor NMOS
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 VIN , VOUT , and ID
IDp = - ID
VGSp = VIN- VDD
VDSp = VOUT- VDD
Tranzystor PMOS
24 kwietnia 2013 Wojciech Kucewicz 12
Inwerter CMOS
Inwerter CMOS
VIN = 0 V
VIN = 0,5 V
VIN = 1,0 V
VIN = 1,5 V
1,5 1,0
Vin = 2,0 V
0,5
2,0
2,5 0
0.25mm, W/Ln = 1.5, W/Lp = 4.5, VDD = 2.5V, VTn = 0.4V, VTp = -0.4V
24 kwietnia 2013 Wojciech Kucewicz 13
Inwerter CMOS
Inwerter CMOS
Vout
2,5
0 0,5
1,0
2,0
1,5
1,0
0,5
1,5
2,0 2,5
0
0,5 1,0 1,5 2,0 2,5 Vin
Charakterystyka przejściowa inwertera Vout = f(Vin)
24 kwietnia 2013 Wojciech Kucewicz 14
Inwerter CMOS
Inwerter CMOS
VDD
VIN
VOUT
Vin = VSS Ł 0 Vout = VDD Ł 1
VSS
24 kwietnia 2013 Wojciech Kucewicz 15
Inwerter CMOS
Inwerter CMOS
VDD
VIN
VOUT
Vin = VDD Ł 1 Vout = VSS Ł 0
VSS
24 kwietnia 2013 Wojciech Kucewicz 16
Próg
Próg
przełączania
przełączania
24 kwietnia 2013 Wojciech Kucewicz 17
Inwerter CMOS
Inwerter CMOS
Vout
2,5
NMOS off
NMOS sat
PMOS lin
PMOS lin
2,0
1,5 NMOS sat
PMOS sat
Próg przełaczania Vm
1,0
NMOS lin
0,5
PMOS sat
NMOS lin
PMOS off
0
0,5 1,0 1,5 2,0 2,5 Vin
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ą)
24 kwietnia 2013 Wojciech Kucewicz 18
Margines szumów
Margines szumów
Górny próg dla napięcia niskiego VIL i dolny dla napięcia wysokiego VIH definiuje
się przy wzmocnieniu dVout/dVin = -1
Im większe wzmocnienie  tym większe marginesy szumów
Vout
2,5
2,0
1,5
VIH
VIL
1,0 0 1
Margines szumów dla Margines szumów dla
napięcia niskiego napięcia wysokiego
0,5
wynosi wynosi
NML = VIL  VSS NMH = VDD - VIH
0
0,5 1,0 1,5 2,0 2,5 Vin
24 kwietnia 2013 Wojciech Kucewicz 19
Działanie
Działanie
dynamiczne
dynamiczne
24 kwietnia 2013 Wojciech Kucewicz 20
Działanie dynamiczne
Działanie dynamiczne
Tranzystor działający jako przełącznik może być traktowany jak rezystor:
W 1
VDD
2
ID = m Cox (VGS - VT )VDS - VDS ł
ę ś
L 2


VDS
1
Ron =
ID m Cox W
(VGS - VT )
L
VIN
VOUT
Rezystancja tranzystora NMOS :
VDS
1
RNMOS =
ID mnCox W
(VIN - VTn )
L
Rezystancja tranzystora PMOS :
VSS
VDS
1
RPMOS =
ID mpCox W
(VDD - VIN + VTp)
L
24 kwietnia 2013 Wojciech Kucewicz 21
Działanie dynamiczne
Działanie dynamiczne
VDD
VIN=0 VOUT
VSS
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 22
Działanie dynamiczne
Działanie dynamiczne
VIN=1 VOUT
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 23
Pojemności
pasożytnicze
24 kwietnia 2013 Wojciech Kucewicz 24
yródła pojemności pasożytniczych
yródła pojemności pasożytniczych
Vin Vout
Vin Vout
M4
M4
M2
M2
CG4
CG4
CDB2 Vout
CDB2 Vout
CGD
CGD
Vin
Vin
CDB1 CW
CDB1 CW
M1
M1
CG2 M3
CG2 M3
Pojemność doprowadzeń
Wewnętrzne pojemności bramki
Pojemności dołączone z zewnątrz
24 kwietnia 2013 Wojciech Kucewicz 25
Capacitance Calculations
Capacitance Calculations
Vin Vout
M4
M2
CG4
Vout
Vin CGD CDB2
CDB1 CW
M1
CG2 M3
24 kwietnia 2013 Wojciech Kucewicz 26
Czas propagacji
24 kwietnia 2013 Wojciech Kucewicz 27
Czas propagacji
Czas propagacji
Czas propagacji: tplh, tphl, opóznienie mierzone od
momentu, gdy sygnał wejściowy osiągnie 50% wartości
Vin maksymalnej, do czasu kiedy sygnał wyjściowy osiągnię 50
% wartości maksymalnej. Generalnie tplh ą tphl.
Vmax
Vmax/2
t
0
tPLH tPHL
Vout
Vmax
Vmax/2
t
0
24 kwietnia 2013 Wojciech Kucewicz 28
Czas propagacji
Czas propagacji
Czas narastania (Rise Time): tr, czas potrzebny do wzrostu
sygnału od 10% do 90% jego wartości maksymalnej.
Vin
Vmax
0,9 Vmax
0,1 Vmax
t
0
tr
24 kwietnia 2013 Wojciech Kucewicz 29
Czas propagacji
Czas propagacji
Czas opadania (Fall Time): tf , czas potrzebny do spadku sygnału od
90% do 10% jego wartości maksymalnej.
Vin
Vmax
0,9 Vmax
0,1 Vmax
t
0
tf
24 kwietnia 2013 Wojciech Kucewicz 30
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óznienie jakie może wystąpić w układzie
5 ns 12 ns
5 ns 12 ns
8 ns
Tp = 5 ns + 12 ns = 17 ns Tp = 8 ns + 12 ns = 20 ns
24 kwietnia 2013 Wojciech Kucewicz 31
Czas propagacji w układach
Czas propagacji w układach
kombinacyjnych
kombinacyjnych
Zastosowanie bramek ze skończonym czasem propagacji,
tplh and tphl
Gate tPLH tPHL
Invert 12 8
XOR 18 13
I1 I2 I3
24 kwietnia 2013 Wojciech Kucewicz 32
Straty mocy
24 kwietnia 2013 Wojciech Kucewicz 33
Dynamiczne straty mocy
Dynamiczne straty mocy
VDD
Pdyn = CL " VDD2 " f
Pdyn = CL " VDD2 " f
Vin =0
Vout = 1
Pdyn = 6fF " 2.5V2 " 500MHz = 20mW
1M gates
VSS
Ptot = 20W
Ptot = 20W
Każde przełączenie braki wymaga
przeładowania pojemności pasożytniczych
24 kwietnia 2013 Wojciech Kucewicz 34
Straty mocy przy przełączaniu (direct-
Straty mocy przy przełączaniu (direct-
path)
path)
VDD
Pd= ts " IPeak " VDD " f
Pd= ts " IPeak " VDD " f
PMOS
Vin Vout
NMOS
Pdyn = 100ps " 50 mA " 2.5V " 500MHz
= 6.25 mW
VSS
1M gates
Vin
Ptot = 6.25 W
Ishort
W momencie przełączania oba tranzystory:
PMOS i NMOS są przez moment jednocześnie
włączone
24 kwietnia 2013 Wojciech Kucewicz 35
Statyczne straty mocy
Statyczne straty mocy
VDD
Pstat = Istat " VDD
Pstat = Istat " VDD
PMOS
Vin Vout
NMOS
Pstat = 10pA/mm2 " 0.5 mm2 " 2.5V
= 125 pW
VSS
yródło i dren są złączami p-n spolaryzowanymi zaporowo
1M gates
Ptot = 125 mW
24 kwietnia 2013 Wojciech Kucewicz 36
Bramka
Bramka
transmisyjna
transmisyjna
24 kwietnia 2013 Wojciech Kucewicz 37
Bramka transmisyjna
Bramka transmisyjna
Enable
En
En
In Out
In Out
Input Ouput
S D

En
En
NotEnable
Bramka transmisyjna wykonana jest z 2 tranzystorów (NMOS i PMOS)
połączonych zródłami i drenami .
Enable
Out
En
En
0 1
In Out
In Out
0 x 0
TG
TG
In
1 x 1
24 kwietnia 2013 Wojciech Kucewicz 38
Bramka transmisyjna
Bramka transmisyjna
Enable
Out
0 1
0 x 0
In
1 x 1
Enable
Vin
Vout
t
24 kwietnia 2013 Wojciech Kucewicz 39
Rejestr przesuwny
Rejestr przesuwny
24 kwietnia 2013 Wojciech Kucewicz 40
Rejestr przesuwny
Rejestr przesuwny
Aącząc bramki transmisyjne w szeregowo i przełączając je naprzemiennie
można utworzyć rejestr przesuwny.
O
1
1
notF O
1
0
0
1
1
F
1
1
0
0
0
0
24 kwietnia 2013 Wojciech Kucewicz 41
Inwerter
Inwerter
trójstanowy
trójstanowy
24 kwietnia 2013 Wojciech Kucewicz 42
Inwerter trójstanowy
Inwerter trójstanowy
En
En
En
Wejście Enable podłącza do linii tylko
Wejście Enable podłącza do linii tylko
Jaki jest stan logiczny linii?
Jaki jest stan logiczny linii?
jeden z inwerterów w danej chwili
jeden z inwerterów w danej chwili
Konflikt logiczny
Konflikt logiczny
Jak to zrealizować?
24 kwietnia 2013 Wojciech Kucewicz 43
Inwerter trójstanowy
Inwerter trójstanowy
Enable
F
0 1
0 x 1
1 x 0
24 kwietnia 2013 Wojciech Kucewicz 44
V
in
Inwerter trójstanowy
Inwerter trójstanowy
Inwerter z tranzystorem
Inwerter z bramka transmisyjną na wyjściu
NMOS na wyjściu
24 kwietnia 2013 Wojciech Kucewicz 45
Bramki
Bramki
NAND & NOR
NAND & NOR
24 kwietnia 2013 Wojciech Kucewicz 46
Logika NMOS
Logika NMOS
Tranzystory NMOS służą jako włączniki niskiego napięcia VSS.
Wysokie napięcie na bramce łączy wyjście z linią niskiego napięcia VSS.
F =VSS = 0
A =VDD= 1
NMOS
VSS
F = A F = A
24 kwietnia 2013 Wojciech Kucewicz 47
Logika NMOS
Logika NMOS
Połączenie równoległe tranzystorów
Połączenie szeregowe tranzystorów
NMOS realizuje funkcję logiczną
NMOS realizuje funkcję logiczną
zaprzeczenia sumy. Wystarczy, że jeden
zaprzeczenia iloczynu. Oba tranzystory
z tranzystorów NMOS przewodzi (na
NMOS muszą przewodzić (na bramkach
bramce logiczna 1), aby na wyjściu
logiczna 1), aby na wyjściu otrzymać
otrzymać logiczne 0.
logiczne 0.
F
NMOS
A B
VSS
F = AB F = AB
F = A + B F = A + B
24 kwietnia 2013 Wojciech Kucewicz 48
Logika NMOS
Logika NMOS
F = AB + C F = AB + C
24 kwietnia 2013 Wojciech Kucewicz 49
Logika PMOS
Logika PMOS
Tranzystory PMOS służą jako włączniki wysokiego napięcia VDD.
Niskie napięcie na bramce łączy wyjście z linią wysokiego napięcia VDD.
F = A F = A
24 kwietnia 2013 Wojciech Kucewicz 50
Logika PMOS
Logika PMOS
Połączenie równoległe tranzystorów Połączenie szeregowe tranzystorów PMOS
PMOS realizuje funkcję logiczną sumę realizuje funkcję logiczną iloczynu
zaprzeczeń. Wystarczy, że jeden z zaprzeczeń. Oba tranzystory PMOS muszą
tranzystorów PMOS przewodzi (na przewodzić (na bramkach logiczne 0), aby
bramce logiczne 0), aby na wyjściu na wyjściu otrzymać logiczną 1.
otrzymać logiczną 1.
VDD
A
PMOS
B
F
F = A + B F = AB
F = AB F = A + B
24 kwietnia 2013 Wojciech Kucewicz 51
Logika PMOS
Logika PMOS
VDD
A C
PMOS
B
F
F = AB + C F = (A + B)C F = (A + B)C
24 kwietnia 2013 Wojciech Kucewicz 52
Logika CMOS
Logika CMOS
Typ
Szeregowe Równoległe
połączenia
PMOS
F = A B
F = A + B
NMOS
F = A + B
F = A B
24 kwietnia 2013 Wojciech Kucewicz 53
Bramka NAND
Bramka NAND
24 kwietnia 2013 Wojciech Kucewicz 54
Bramka NAND
Bramka NAND
VDD
B
A
B
F = A + B = (AB)
PMOS
F
F
0 1
0 1 1
A
1 1 0
NMOS
F = A " B
F = (AB)
VSS
24 kwietnia 2013 Wojciech Kucewicz 55
Bramka NAND
Bramka NAND
VDD
B
A
B
PMOS
F
F
0 1
1
0 1
A
1 1 0
NMOS
VSS
24 kwietnia 2013 Wojciech Kucewicz 56
Bramka NOR
Bramka NOR
24 kwietnia 2013 Wojciech Kucewicz 57
Bramka NOR
Bramka NOR
VDD
B
F = A " B = (A + B)
F
0 1
PMOS
0 1 0
A
1 0 0
F
F = A + B
NMOS
A
F = (A + B)
B
VSS
24 kwietnia 2013 Wojciech Kucewicz 58
Bramka NAND
Bramka NAND
VDD
B
F
0 1
PMOS
1 0
0
A
F
1 0 0
NMOS
A
B
VSS
24 kwietnia 2013 Wojciech Kucewicz 59
3 wejściowa bramka NOR
3 wejściowa bramka NOR
VDD
F=A " B " C
BC
F
00 01 11 10
PMOS
0 1 0 0 0
B
A
1 0 0 0 0
F
F =A + B + C
A
NMOS
C
VSS
24 kwietnia 2013 Wojciech Kucewicz 60
Bramka AND
Bramka AND
24 kwietnia 2013 Wojciech Kucewicz 61
Bramka AND
Bramka AND
A
A
F
F
B
B
A
A
F
F
B
B
24 kwietnia 2013 Wojciech Kucewicz 62
=
OR
24 kwietnia 2013 Wojciech Kucewicz 63
OR
OR
A
A B A A Ł B Ł A+B
A
0 0 1 X B 0
A(A )
0 1 1 X B 1
F = A+B
1 0 0 A X 1
B
1 1 0 A X 1
BA
A
Górna gałąz 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 64
Bramki
Bramki
XOR i XNOR
XOR i XNOR
24 kwietnia 2013 Wojciech Kucewicz 65
Bramka XOR
Bramka XOR
VDD
A
B
A
F
PMOS
0 1
B
B
0 0 1 F = A B + AB
F
A
1 1 0
F = AB + A B
A
NMOS
XOR = F =A B A
= A B+ AB
B
B
VSS
24 kwietnia 2013 Wojciech Kucewicz 66
Bramka XNOR
Bramka XNOR
B
F
0 1
0 1 0 F = AB + A'B
A
1 0 1
F = AB + A B
XNOR = F =(A B)
= AB + A B
24 kwietnia 2013 Wojciech Kucewicz 67
Układy scalone serii 7400
Układy scalone serii 7400
VCC 6A 6Y 5A 5Y 4A 4Y VCC 4B 4A 4Y 3B 3A 3Y
1A 1Y 2A 2Y 3A 3Y GND 1A 1B 1Y 2A 2B 2Y GND
Hex inverter Quad 2-input NAND gate
VCC 4Y 4B 4A 3Y 3B 3A VCC 4B 4A 4Y 3B 3A 3Y
1Y 1A 1B 2Y 2A 2B GND 1A 1B 1Y 2A 2B 2Y GND
Quad 2-input NOR gate Quad 2-input AND gate
24 kwietnia 2013 Wojciech Kucewicz 68
Układy scalone serii 7400
Układy scalone serii 7400
VCC 4B 4A 4Y 3B 3A 3Y VCC 1C 1Y 3C 3B 3A 3Y
1A 1B 1Y 2A 2B 2Y GND 1A 1B 2A 2B 2C 2Y GND
2-input EXCLUSIVE-OR gate Triple 3-input AND gate
VCC 2D 2C 2B 2A 2Y
VCC 4B 4A 4Y 3B 3A 3Y
1A 1B 1C 1D 1Y GND
1A 1B 1Y 2A 2B 2Y GND
2-input OR gate
Dual 4-input NAND gate
24 kwietnia 2013 Wojciech Kucewicz 69
Bramki złożone
Bramki złożone
24 kwietnia 2013 Wojciech Kucewicz 70
Bramki złożone
Bramki złożone
Jak zrealizować funkcję?
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
24 kwietnia 2013 Wojciech Kucewicz 71
Projekt na poziomie bramek
Projekt na poziomie bramek
F = (A " B) + (C " D)
CD
F
00 01 11 10
00 1101
01 1101
AB
11 0000
c
10 1101
24 kwietnia 2013 Wojciech Kucewicz 72
Bramki złożone
Bramki złożone
F = (A " B) + (C " D)
Układ składa się 8 tranzystorów
PMOS
VDD
A
PMOS: F = A C +A D +B C +B D = C (A +B )+D (A +B ) =
B
= (A +B )(C +D ) = (AB) (CD) = (AB+CD)
CD
C
F
D
00 01 11 10
F
0 0
1 1 0 1
0 1
1 1 0 1
A
A
NMOS
C
B
1 1
0 0 0 0
10
1 1 0 1
B
D
VSS
NMOS: F = AB + CD Ł F = (AB + CD) = (AB) (CD)
24 kwietnia 2013 Wojciech Kucewicz 73
The Complex Gate
The Complex Gate
Najłatwiej jest projektować funkcje zaprzeczone:
F = (A " B) + (C " D)
F
A
B
Function
C
D
Funkcje niezaprzeczone wymagają dodatkowego
inwertera:
F = (A " B) + (C " D) ==> F = (A " B) + (C " D)
FNot F
A
B
Function
C
D
24 kwietnia 2013 Wojciech Kucewicz 74
Cyfrowe układy kombinacyjne
Cyfrowe układy kombinacyjne
Multipleksery
Multipleksery
i demultipleksery
i demultipleksery
24 kwietnia 2013 Wojciech Kucewicz 75
Multiplekser
Multiplekser
Multiplekser umożliwiaj wybór i przesłanie na wyjście sygnału
jednego z N wejść
D0
D1
Out
D2
D3
S1 S0
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 = 2n
24 kwietnia 2013 Wojciech Kucewicz 76
Multiplekser
Multiplekser
S1 S0 F
00 D0
01 D1
10 D2
11 D3
Do zbudowania 2n wejściowego multipleksera potrzebne jest 2n bramek AND
(n+1)-wejściowych oraz bramka OR 2n-wejściowa
Multiplekser umożliwia zmianę formatu danych z równoległego na szeregowy.
24 kwietnia 2013 Wojciech Kucewicz 77
Multiplekser
Multiplekser
D0
Enable
F
D1
S1 S0 0 1
0 0
0 D0
D2
0 1
0 D1
F
1 0
0 D2
D3
1 1
0 D3
b
b
1
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
24 kwietnia 2013 Wojciech Kucewicz 78
Multiplekser
Multiplekser
En
Enable
F
D0
S1 S0 0 1
D1
.
0 0
0 D0
.
F
0 1
0 D1
.
.
1 0
0 D2
.
.
1 1
0 D3
.
D8
S1 S2 S3
Funkcję multipleksera można opisać funkcją logiczną:
N-1
Out = Sk Dk En

k = 0
gdzie Sk jest mintermem utworzonym z wektora adresu
Multiplekser
Multiplekser
2n  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
D0
S1 S0 F
1
D1
F
000
1 D2
011
D3
0
101
S1 S0
110
24 kwietnia 2013 Wojciech Kucewicz 80
Multiplexer
Multiplekser jako bramka AND
Multiplekser jako bramka AND
2n  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
S1 S0 OUFT
0
D0
S0
0
D1
000
F
F
0 D2
010

S1
100 D3
1
111
S1 S0
24 kwietnia 2013 Wojciech Kucewicz 81
Multiplekser jako bramka OR
Multiplekser jako bramka OR
2n  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
S1 S0 F
0
D0
S0
1
D1
000
F
F
1 D2
011

S1
101 D3
1
111
S1 S0
24 kwietnia 2013 Wojciech Kucewicz 82
Multiplekser
Multiplekser
Zastosowanie multipleksera 4 na 1 do realizacji funkcji 3 zmiennych:
F = x y z + xyz + yz
S1=y S0=z FF
00
= x 1 0 + x 0 1 + 0 0 0
01 x
= x 1 1 + x 0 0 + 0 1
10 = x 0 0 + x 1 1 + 1 0 x
11 = x 0 1 + x 1 0 + 1 1 1
Wejście multipleksera D0 podłączamy do 0,
D1 do x ,
D2 do x,
D3 do 1
24 kwietnia 2013 Wojciech Kucewicz 83
Multiplekser
Multiplekser
Zastosowanie multipleksera 4 na 1 do realizacji funkcji 3 zmiennych:
F = x y z + xyz + yz
yz 00 01 11 10
x
0
0110
1
001 1
D0 D1 D3 D2
0x 1 x
24 kwietnia 2013 Wojciech Kucewicz 84
Multiplekser
Multiplekser
Zastosowanie multipleksera 4 na 1 do realizacji funkcji 3 zmiennych:
F = x y z + xyz + yz
0
S1=y S0=z F
D0
D1
F
000
D2
x
01x
D3
10x
1
111
S1 S0
y z
Funkcję (n+1)-zmiennych można realizować przy
Funkcję (n+1)-zmiennych można realizować przy
pomocy multipleksera 2n na 1 oraz inwertera
pomocy multipleksera 2n na 1 oraz inwertera
24 kwietnia 2013 Wojciech Kucewicz 85
Multiplekser
Multiplekser
D0
D0
Out
Out
D1
D1
S
S
Multiplekser 2 na 1 można zbudować z 2 bramek transmisyjnych
24 kwietnia 2013 Wojciech Kucewicz 86
Multiplekser
Multiplekser
Multiplexer 2 na 1
D0
F
D0
F
D1
D1
==
Sel
Sel
24 kwietnia 2013 Wojciech Kucewicz 87
Multiplekser
Multiplekser
Multiplekser 4 na 1 można zbudować z 2 multiplekserów
2 na 1
S1 S0 F
D0
A
Out
00A
D1
Sel
B
D0
F
01B
Out
10C
D1
Sel
C
D0
11D
Out
D1
D
Sel
S0= S1=
0 0
1 1
24 kwietnia 2013 Wojciech Kucewicz 88
MUX
MUX
MUX
Multiplekser
Multiplekser
Zbudować sterownik do wyświetlacza 7-segmentowego przy użyciu
multiplekserów
x3 x2 x1 x0 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
a
x0
0 1 0 0 0 1 1 0 0 1 1
x1
Decoder
x2
0 1 0 1 1 0 1 1 0 1 1
BCD to 7 segm
f b
x3
g
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
e c
1 0 0 1 1 1 1 1 0 1 1
d
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 89
Multiplekser
Multiplekser
Budujemy multiplekser 16 do 1
x3 x2 x1 x0 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 90
Demultiplekser
Demultiplekser
Demultiplekser umożliwia wybór i przesłanie sygnału
wejściowego na jedno z N wyjść
D0
D0
D1 D1
In
In
D2
D2
D3
D3
S1 S0
S1 S0
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 = 2n
24 kwietnia 2013 Wojciech Kucewicz 91
Demultiplexer
Demultiplekser
Demultiplekser
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
Aby uzyskać 2n wyjść, należy zastosować n bramek AND (n+1)  wejściowych
Demultiplekser umożliwia zmianę formatu danych z szeregowego na
równoległy
24 kwietnia 2013 Wojciech Kucewicz 92
S0
S1
Enable
Demultiplekser
Demultiplekser
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
Funkcję demultipleksera można opisać funkcją logiczną:
Dk = Sk Z
gdzie Sk jest mintermem utworzonym z wektora adresu
24 kwietnia 2013 Wojciech Kucewicz 93
S0
S1
Enable
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.
a b c
a b c
a bc
a bc
1
ab c
ab c
abc
abc
a b c
24 kwietnia 2013 Wojciech Kucewicz 94
Demultiplekser
Demultiplekser
Demultiplexer 1 to 2
D0
D0
In
In
D1
D1
==
Sel
Sel
Podstawowym elementem demultipleksera może być bramka transmisyjna
24 kwietnia 2013 Wojciech Kucewicz 95
DMUX
Kodery i
Kodery i
dekodery,
dekodery,
konwertery kodów
konwertery kodów
24 kwietnia 2013 Wojciech Kucewicz 96
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 2n wyjść pojawi się
stan 1
S0 D0
Decoder
S1 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 97
Dekoder 2-bitowy
Dekoder 2-bitowy
Tablicę prawdy dla dekodera 2-bitowego można zamienić na tablicę Karnough i
wyznaczyć funkcję logiczną
S1 S0 En D3 D2 D1 D0
En
En
En
En
x1 x0
x1 x0
x1 x0
S1 S0
001 0001
01
01
01
01
0 0 01
0 0 00
0 0 00
011 001 0 0 0 00
0 1 01
0 1 00
0 1 00
0 1 00
101 0 1 00
1 1 01
1 1 00
1 1 00
1 1 00
111 1 000
1 0 01
1 0 00
1 0 00
1 0 00
xx0 0000
D0 = En S0 S1
D1 = En S0 S1
Wszystkie wyznaczone funkcje są
mintermami więc można je zrealizować
D2 = En S0 S1
przy pomocy bramek AND
D3 = En S0 S1
24 kwietnia 2013 Wojciech Kucewicz 98
Dekoder
Dekoder
D3 = EnS0S1
S0 D0
D2 = EnS0 S1
b
b
S1
D1 = EnS0S1
D1
D0 = EnS0 S1
b
b
D2
b
b
D3
b
b
D0
D1
D2
D3
24 kwietnia 2013 Wojciech Kucewicz 99
S0
Decoder
S1
En
En
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
S1 S0 F1 F2
000 0
011 1
101 1
110 1
24 kwietnia 2013 Wojciech Kucewicz 100
Dekoder 4-bitowy
Dekoder 4-bitowy
Wielobitowy dekoder może być utworzony przez kaskodowe połączenie dekoderów 2-
bitowych , gdzie jeden z dekoderów jest
D0
m0
wykorzystany do włączania linii enable
A B C D En Out
x0 D1
m1
0 0 0 0 1 m0
D2
m2
x1
0 0 0 1 1 m1
m3
D3
En
0 0 1 0 1 m2
D0
0 0 1 1 1 m3 m4
x0 D1 m5
0 1 0 0 1 m4
m6
0 1 0 1 1 m5
D2
x1
D0
m7
0 1 1 0 1 m6
D3
En
x0 D1
0 1 1 1 1 m7
D0
1 0 0 0 1 m8 D2
x1
m8
x0 D1
1 0 0 1 1 m9
D3
En m9
D2
1 0 1 0 1 m10
x1 m10
1 0 1 1 1 m11 D3 m11
En
1 1 0 0 1 m12
D0
m12
1 1 0 1 1 m13
x0 D1
m13
1 1 1 0 1 m14
m14
D2
x1
A
B
1 1 1 1 1 m15
m15
D3
En
x x x x 0 none
D C
24 kwietnia 2013 Wojciech Kucewicz 101
Koder
Koder
Koder działa odwrotnie niż dekoder t.zn. Kod 1 z 2n
zamienia na kod n-bitowy kod binarny
D3 D2 D1 D0 x1 x0
000100
D0
x0
D1
001 0 01
Encoder
D2
x1
D3
0 1 0010
1 00011
24 kwietnia 2013 Wojciech Kucewicz 102
Koder priorytetowy
Koder priorytetowy
Przyjmijmy, że system składa się z 2n urządzeń, które
wymagają obsługi. Przy pomocy kodera priorytetowego można
ustalić kolejność obsługi urządzeń.
Przykład:
D0 D1 D2 D3 x1 x0
Należy obsłużyć 4 urządzenia o
różnym stopniu ważności  każde ma
1 XXX00
swój 2-bitowy adres (x1x2).
Urządzenie podłączone do wejścia D0
0 1 XX01
ma najwyższy priorytet obsługi, a
urządzenie podłączone do wejścia D3
001 X 10
 najniższy.
Zapisujemy to w tablicy prawdy
000111
24 kwietnia 2013 Wojciech Kucewicz 103
Koder priorytetowy
Koder priorytetowy
D0 D1 D2 D3 x1 x0
Budujemy tablicę prawdy dla wszystkich
0 0 0 0 0 0
możliwych kombinacji żądań obsługi w jednym
czasie.
0 0 0 1 1 1
Budujemy tablice Karnaugh dla stanu bitów adresu
0 0 1 0 1 0
urządzeń i wyznaczamy funkcję logiczną.
0 0 1 1 1 0
D3D2
0 1 0 0 0 1
X1
0 1 0 1 0 1
00 01 11 10
0 1 1 0 0 1
0 0
0 0 0 0
0 1 1 1 0 1
1 0 0 0 0 0
0 1
1 0 0 0
D1D0
1 0 0 1 0 0
1 1
1 0 0 0
1 0 1 0 0 0
10
1 0 1 1 0 0 1 0 0 0
1 1 0 0 0 0
1 1 0 1 0 0
x1 = D0 D1 D3 + D0 D1 D2
x1 = D0 D1 D3 + D0 D1 D2
1 1 1 0 0 0
= D0 D1 (D3 + D2)
= D0 D1 (D3 + D2)
1 1 1 1 0 0
24 kwietnia 2013 Wojciech Kucewicz 104
Koder priorytetowy
Koder priorytetowy
D0 D1 D2 D3 x1 x0
Budujemy tablicę prawdy dla wszystkich
0 0 0 0 0 0
możliwych kombinacji żądań obsługi w jednym
czasie.
0 0 0 1 1 1
Budujemy tablice Karnaugh dla stanu bitów adresu
0 0 1 0 1 0
urządzeń i wyznaczamy funkcję logiczną.
0 0 1 1 1 0
D0D1
0 1 0 0 0 1
X0
0 1 0 1 0 1
00 01 11 10
0 1 1 0 0 1
0 0
0 1 0 0
0 1 1 1 0 1
1 0 0 0 0 0
0 1
1 1 0 0
D2D3
1 0 0 1 0 0
1 1
0 1 0 0
1 0 1 0 0 0
10
1 0 1 1 0 0 0 1 0 0
1 1 0 0 0 0
1 1 0 1 0 0
x0 = D0 D2 D3 + D0 D1
x0 = D0 D2 D3 + D0 D1
1 1 1 0 0 0
1 1 1 1 0 0
24 kwietnia 2013 Wojciech Kucewicz 105
Koder priorytetowy
Koder priorytetowy
D0 D1 D2 D3 x1 x0
0 0 0 0 0 0
x1 = D0 D1 (D3 + D2)
x1 = D0 D1 (D3 + D2)
0 0 0 1 1 1
x0 = D0 (D2 D3 + D1)
x0 = D0 (D2 D3 + D1)
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
D0
x0
D1
1 1 0 1 0 0
Encoder
D2
1 1 1 0 0 0
x1
D3
1 1 1 1 0 0
24 kwietnia 2013 Wojciech Kucewicz 106
Hazard
Hazard
24 kwietnia 2013 Wojciech Kucewicz 107
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óznieniach prowadzącymi do jednej bramki.
Na wyjściu bramki może powstać krótkotrwały impuls, wynikający z
różnicy opóznień.
X
1
Y
F
X
Y
Z
24 kwietnia 2013 Wojciech Kucewicz 108
Hazard
Hazard
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óznieniach (trudny do eliminacji)
Hazard logiczny  pojedyncza zmiana sygnału na wejściu propaguje
drogami o różnych opóznieniach (eliminowanie przez dodanie
nadmiarowych elementów w układzie).
Hazard krytyczny - występuje w układach asynchronicznych.
24 kwietnia 2013 Wojciech Kucewicz 109
Typy Hazardu
Typy Hazardu
Hazard statyczny polega na pojawieniu się na wyjściu układu impulsu
związanego z różnym opóznieniem sygnałów wejściowych.
Hazard statyczny  w jedynkach
Hazard statyczny  w zerach
24 kwietnia 2013 Wojciech Kucewicz 110
Hazard dynamiczny
Hazard dynamiczny
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.
Hazard dynamiczny 1 Ł 0
Hazard dynamiczny 0 Ł 1
24 kwietnia 2013 Wojciech Kucewicz 111
Hazard statyczny
Hazard statyczny
Hazard statyczny może wystąpić, gdy choćby jeden sygnał jest przesyłany
dwoma drogami o różnych opóznieniach, 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.
x2x1
00 01 11 10
F = X2X1 + X0X 2
x0
00010
F = X2X1 + X0X 2 + X0X1
11110
24 kwietnia 2013 Wojciech Kucewicz 112
Hazard statyczny
Hazard statyczny
F = X2X1 + X0X 2 F = X2X1 + X0X 2 + X0X1
X2
Y
Y1
Przy X0 = X1 = 1 impuls hazardu
zostaje wyeliminowany
Y2
F
24 kwietnia 2013 Wojciech Kucewicz 113
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óznieniach.
X1 Ł Y2 Ł Y4 Ł F
X1 Ł Y1 Ł Y3 Ł Y4 Ł F
X1
X1
X2
X2
Y2
Y2
X1 Ł Y1 Ł F
Y3
Y3
Y1
Y1
X0 Y4
X0 Y4
F
F
24 kwietnia 2013 Wojciech Kucewicz 114
Hazard dynamiczny
Hazard dynamiczny
X1
X1
X1
X1 Ł Y2 Ł Y4 Ł F
X2 = 0
X2
X2
Y2
Y2
X1 Ł Y1 Ł Y3 Ł Y4 Ł F
X0 = 0
Y3
Y3
Y1
Y1
X1 Ł Y1 Ł F
X0 Y4
X0 Y4
F
F
X1
Y1
Y2
Y3
Y4
F
24 kwietnia 2013 Wojciech Kucewicz 115
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óznienie 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.
Y1
Y1
X1
X1
F
F
X1
Y1
F
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óznienie 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.
Y1
Y1
X1
X1
F
F
X1
Y1
F
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óznienie 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.
Y1
Y1
X1
X1
F
F
X1
Y1
F
24 kwietnia 2013 Wojciech Kucewicz 118


Wyszukiwarka

Podobne podstrony:
Uklady kombinacyjne[1]
ptcim1 uklady kombinacyjne 1
9 Cyfrowe Układy Kombinacyjne
BRAMKI I UKŁADY KOMBINACYJNE
układy kombinacyjne
MSE7Cyfrowe uklady kombinacyjne
W1 Układy kombinacyjne AiS 2013
Mudry energetyczne układy dłoni(1)
uklady rownan (1)
PRZERZUTNIKI I UKŁADY SEKWENCYJNE
Układy napęd lista1 3 3 8 15
15 Język Instruction List Układy sekwencyjne Działania na liczbach materiały wykładowe
układy zasilania instalacji
Człowiek jako całość Układy funkcjonalne
Uklady prostownicze
uklady bilansu 13

więcej podobnych podstron