ukł komb


Politechnika Białostocka
Wydział Elektryczny
Katedra Automatyki i Elektroniki
MATERIAAY POMOCNICZE DO WYKAADU
PODSTAWY TECHNIKI MIKROPROCESOROWEJ
sem. V EZ
Układy kombinacyjne
opracował
dr inż. L.Grodzki
Białystok 2006
Materiały pomocnicze do Podstaw Techniki Cyfrowej i Mikroprocesorowej dla kierunku EZ
Literatura uzupełniająca:
1. P.Misiurewicz, M.Perkowski - Teoria automatów - materiały pomocnicze do ćwiczeń i
laboratoriów. Skrypt Polit. Warszawskiej.
2. P.Misiurewicz, M.Perkowski, H.Kruszyński, A.Rydzewski - Zbiór zadań z teorii układów
logicznych. Skrypt Polit. Warszawskiej.
3. H.Kruszyński, A.Rydzewski, A.Śluzek - Teoria układów cyfrowych. Skrypt Polit.
Warszawskiej.
4. A.Skorupski - Podstawy techniki cyfrowej. WKiA 2001.
5. C.Zieliński - Podstawy projektowania układów cyfrowych. PWN 2003.
6. L.J.Grodzki, W.Owieczko  Podstawy techniki cyfrowej. Politechnika Białostocka 2004.
-2-
Materiały pomocnicze do Podstaw Techniki Cyfrowej i Mikroprocesorowej dla kierunku EZ
Podstawowe kody binarne
Kod NB
przykład zakres wartości
binarnie dziesiętnie szesnastkowo binarnie dziesiętnie szesnastkowo
0000 0 0 na 1 tetradzie (ang. nibble):
0001 1 1 0000..1111 0..15 0..0Fh
0010 2 2 na 1 bajcie:
0011 3 3 00000000.. 0..255 00..0FFh
0100 4 4 ..11111111
0101 5 5 na 2 bajtach:
0110 6 6 0000000000000000.. 0.. 0000..
0111 7 7 ..1111111111111111 ..65535 ..0FFFFh
1000 8 8
1001 9 9 wagi bitów w bajcie:
1010 10 A 27 26 25 24 23 22 21 20
1011 11 B 128 64 32 16 8 4 2 1
1100 12 C
1101 13 D
1110 14 E
1111 15 F
i
dowolna liczba naturalna w NB: L = bi " 2
"
NB
i = 0 .. N
Przykładowo: 30 = 16+8+4+2 = 24+23+22+21 00011110
Zastosowania:
arytmetyka liczb dodatnich, indeksowanie tablic, zliczanie zdarzeń.
Kod Gray a
przykład reguła tworzenia kolejnych kodów Gray a:
binarnie szesnastkowo
0000 0 0 0 0 0
0001 1 0 0 0 1 uzupełnienie  0 z przodu
0011 3 0 0 1 1 przepisanie w odwrotnej kolejności
0010 2 0 0 1 0 uzupełnienie  1 z przodu
0110 6 0 1 1 0
0111 7 0 1 1 1 przepisanie w odwrotnej kolejności
0101 5 0 1 0 1 uzupełnienie  1 z przodu
0100 4 0 1 0 0
1100 C 1 1 0 0
1101 D 1 1 0 1
1111 F 1 1 1 1
1110 E 1 1 1 0 przepisanie w odwrotnej kolejności
1010 A 1 0 1 0 uzupełnienie  1 z przodu
1011 B 1 0 1 1
1001 9 1 0 0 1
1000 8 1 0 0 0
Zaleta:
dowolne dwa kolejne kody (także pierwszy i ostatni) różnią się tylko na jednej pozycji!
Zastosowanie:
tarcze kodowe do kontroli położenia obracających się elementów.
-3- L.J.Grodzki
Materiały pomocnicze do Podstaw Techniki Cyfrowej i Mikroprocesorowej dla kierunku EZ
Kod U2
przykład zakres wartości
binarnie dziesiętnie szesnastkowo binarnie dziesiętnie szesnastkowo
1000 -8 8 na 1 tetradzie (ang. nibble):
1001 -7 9 1000..0111 -8..7 8..7
1010 -6 A na 1 bajcie:
1011 -5 B 10000000.. -128..127 80h..7Fh
1100 -4 C ..01111111
1101 -3 D na 2 bajtach:
1110 -2 E 1000000000000000.. -32768.. 8000h..
1111 -1 F ..0111111111111111 ..32767 ..7FFFh
0000 0 0
0001 1 1 wagi bitów w bajcie:
0010 2 2 -(27) 26 25 24 23 22 21 20
0011 3 3 -128 64 32 16 8 4 2 1
0100 4 4
0101 5 5
0110 6 6
0111 7 7
dowolna liczba całkowita w U2: LU 2 = - 128 " bN + bi " 2i
"
i = 0 .. N - 1
Przykładowo: 30 = 16+8+4+2 = 24+23+22+21 00011110
-30 = -128+64+32+2 = -(27)+26+21 11000010
Zalety:
prosta arytmetyka, prawidłowy znak sumy lub różnicy liczb powstaje automatycznie
Zastosowania:
arytmetyka liczb ze znakiem, cechy liczb w zapisie zmiennopozycyjnym.
Reguła negacji znaku w U2: - LU 2 = LU 2 + 1
Przykłady:
17 00010001 -17 11101111 1 00000001 256 0000000100000000
11101110 00010000 11111110 1111111011111111
+1 +1 +1 +1
-17 11101111 17 00010001 -1 11111111 -256 1111111100000000
Metoda mnemotechniczna:
256 0000000100000000 0 1 0 0h
negacja
-256 1111111100000000 0 F F 0 0h
dopełnienie do 15-stu dopełnienie do 16-stu
Kod U1
Do reprezentacji liczb ze znakiem. Na bazie kodu NB. Negacja znaku polega na negacji
wszystkich bitów zapisu.
Wady:
 podwójne zero , trudniejsza arytmetyka liczb o różnych znakach.
-4-
Materiały pomocnicze do Podstaw Techniki Cyfrowej i Mikroprocesorowej dla kierunku EZ
Kody pierścieniowe
kod 1z N kod 1 z N
przykłady dla N=8
binarnie szesnastkowo binarnie szesnastkowo
00000001 01 11111110 FE
00000010 02 11111101 FD
00000100 04 11111011 FB
00001000 08 11110111 F7
00010000 10 11101111 EF
00100000 20 11011111 DF
01000000 40 10111111 BF
10000000 80 01111111 7F
Kod pseudopierścieniowy
dla 8 bitów:
binarnie szesnastkowo
00000000 00
00000001 01
00000011 03
00000111 07
00001111 0F
00011111 1F
00111111 3F
01111111 7F
11111111 FF
11111110 FE
11111100 FC
11111000 F8
11110000 F0
11100000 E0
11000000 C0
10000000 80
Kod Aikena (2421)
przykład
binarnie szesnastkowo
0000 0
0001 1
0010 2
0011 3
0100 4
oś symetrii kodu
1011 B
1100 C słowa binarne położone symetrycznie względem tej osi
1101 D są wzajemnie swoimi negacjami
1110 E
1111 F
-5- L.J.Grodzki
Materiały pomocnicze do Podstaw Techniki Cyfrowej i Mikroprocesorowej dla kierunku EZ
Algebra Boole'a
Powszechnie stosowane układy cyfrowe (logiczne) pracują w oparciu o tzw. logikę
dwuwartościową. Wartości zmiennych (sygnałów) mogą przyjmować dwie wartości:
prawda oraz fałsz. W praktyce oznacza się je cyframi binarnymi, odpowiednio: 1 i 0.
Algebrę dwuwartościowych sygnałów logicznych nazywa się algebrą Boole'a.
Definicja 1.
Algebrą Boole'a nazywa się szóstkę:
( {0,1} , (" , '" ,ł , 0 , 1 )
gdzie:
{0,1} - jest zbiorem możliwych wartości;
(" - jest operatorem sumy logicznej;
'" - jest operatorem iloczynu logicznego;
ł - jest operatorem negacji logicznej (spotyka się także symbole: ~ lub Ź);
0 , 1 - są tzw. niezmiennikami operacji sumy i iloczynu.
Działanie operatorów sumy, iloczynu i negacji ilustrują poniższe tablice prawdy:
a b a b a a
a("b a'"b
0 0 0 0 0 0 0 1
0 1 1 0 1 0 1 0
1 0 1 1 0 0
1 1 1 1 1 1
Priorytet operatorów logicznych jest następujący: negacja, iloczyn, suma
Właściwości algebry Boole'a opisuje twierdzenie:
Twierdzenie 1.
Dla dowolnych zmiennych a, b, c algebry Boole'a zachodzą następujące własności:
1)
A1 A2
a("b = b("a a'"b = b'"a
2)
A3 A4
a("(b("c) = (a("b)("c a'"(b'"c) = (a'"b)'"c
A5 A6
ł1 = 0 ł0 = 1
A7 A8
a("1 = 1 a'"1 = a
A9 A10
a("0 = a a'"0 = 0
A11 A12
a ("ła = 1 a '"ła = 0
A13 A14
a (" a = a a '" a = a
3)
A15 A16
(a("b)'"c = a'"c("b'"c a("b'"c = (a("c)'"(a("b)
4)
A17 A18
a (" b= a '" b a '" b= a (" b
A19
a = a
1
prawa przemienności
2
prawa łączności
3
prawa rozdzielności
4
prawa de Morgana
-6-
Materiały pomocnicze do Podstaw Techniki Cyfrowej i Mikroprocesorowej dla kierunku EZ
Poniżej podane są tablice prawdy dla praw de Morgana.
a b a b a b a b
a (" b a (" b a '" b a '" b a '" b a (" b
0 0 0 1 1 1 1 0 0 0 1 1 1 1
0 1 1 0 0 1 0 0 1 0 1 1 1 0
1 0 1 0 0 0 1 1 0 0 1 1 0 1
1 1 1 0 0 0 0 1 1 1 0 0 0 0
Własności algebry Boole'a zawarte w twierdzeniu 1 są przydatne przy przekształcaniu
wyrażeń logicznych w celu ich minimalizacji i realizacji na wybranych układach cyfrowych.
Na podstawie tych własności można wyprowadzić szereg innych reguł przydatnych przy
przekształcaniu wyrażeń logicznych. Przykładowo:
a '" (a (" b) = a
a (" a '" b = a
a '" (a (" b) = a '" b
a (" a '" b = a (" b
a '" b (" a '" b = b
(a (" b) '" (a (" b) = b
Wyrażenia i funkcje logiczne
Zmienną logiczną nazywamy zmienną przyjmującą tylko jedną z dwóch możliwych wartości
(0 lub 1).
Wyrażeniem logicznym nazywamy połączenie przy pomocy operatorów logicznych i
nawiasów szeregu zmiennych logicznych.
Przykłady wyrażeń logicznych:
a , x1 , cd+a(c+b) , x1x2(x3+x4)
Wyrażenia logiczne mogą być zapisane dowolnie. W teorii układów logicznych wykorzystuje
się także dwa standardowe zapisy wyrażeń logicznych. Są to:
1. KPS - Kanoniczna Postać Sumacyjna, będąca sumą prostych iloczynów zmiennych
logicznych lub ich negacji. W każdym z iloczynów składających się na zapis wyrażenia
muszą być uwzględnione wszystkie argumenty wyrażenia. np.:
abc + abc + abc
2. KPI - Kanoniczna Postać Iloczynowa, będąca iloczynem prostych sum zmiennych
logicznych lub ich negacji. Każda z sum, będących czynnikami KPI, musi uwzględniać
wszystkie argumenty wyrażenia, np.:
(x1 + x2 + x3 + x4)(x1 + x2 + x3 + x4)
Funkcją logiczną nazywamy przyporządkowanie zbiorowi kombinacji Ai możliwych wartości
zmiennych logicznych (zwanych argumentami tej funkcji) wartości logicznych ze zbioru
{0 , 1}.
Kombinacje Ai wartości argumentów funkcji logicznej zwane są też słowami wejściowymi.
Funkcję logiczną nazywamy zupełną, jeżeli jest określona dla każdej możliwej kombinacji
zmiennych będących jej argumentami. Tzn. jeżeli funkcja ma n argumentów, to dla każdej z
2n kombinacji Ai (i=0..2n-1) wartości tych argumentów musi być przypisana jedna z dwóch
wartości logicznych (0 albo 1).
Funkcję logiczną nazywamy niezupełną, jeżeli nie jest określona dla wszystkich możliwych
kombinacji Ai zmiennych będących jej argumentami. Tzn. jeżeli funkcja ma n argumentów, to
-7- L.J.Grodzki
Materiały pomocnicze do Podstaw Techniki Cyfrowej i Mikroprocesorowej dla kierunku EZ
przynajmniej dla jednej spośród 2n kombinacji wartości tych argumentów nie jest przypisana
żadna z dwóch wartości logicznych (0 albo 1). Mówimy, że funkcja jest dla tej kombinacji
nieokreślona i oznaczamy ten fakt symbolem "-" albo "x".
Funkcję logiczną nazywamy słabookreśloną, jeżeli nie jest określona dla co najmniej połowy
wszystkich możliwych kombinacji zmiennych będących jej argumentami.
Przykład 1 zawiera tablicę prawdy dla trzech różnych funkcji logicznych.
Przykład 1.
funkcja f1 jest funkcją zupełną
numer zmienne logiczne funkcje logiczne
słowa
x1 x2 x3 f1 f2 f3
funkcja f2 jest funkcją niezupełną
wej.
funkcja f3 jest funkcją słabookreśloną
0 0 0 0 0 1 0
1 0 0 1 1 1 -
2 0 1 0 0 - 1
3 0 1 1 1 0 -
4 1 0 0 1 1 0
5 1 0 1 0 0 -
6 1 1 0 1 0 -
7 1 1 1 1 - 1
Jeżeli dwie lub więcej funkcji logicznych mają ten sam zbiór argumentów, to można mówić o
tzw. zespole funkcji albo funkcji wielowyjściowej. Tak więc funkcje z przykładu 1 mogą być
traktowane łącznie jako funkcja wielowyjściowa (trójwyjściowa) zmiennych logicznych
x1, x2 i x3:
f(x1,x2,x3)={f1(x1,x2,x3);f2(x1,x2,x3);f3(x1,x2,x3)}
Metody opisu funkcji logicznych
1. Opis słowny. Jawnym tekstem podaje się ilość i znaczenie zmiennych logicznych
(argumentów funkcji) i określa jakie wartości przyjmuje dana funkcja dla poszczególnych
słów wejściowych. Przykładowo, dla funkcji f3 z przykładu 1opis taki mógłby brzmieć
następująco:
"funkcja f3 jest ma 3 zmienne wejściowe: x1, x2, x3; gdy x2=1 przy x1=x3 wartość funkcji
wynosi 1; gdy x2=x3=0 wartość funkcji wynosi 0; dla pozostałych kombinacji x1, x2, x3
funkcja jest nieokreślona"
Opis słowny jest zwykle pierwszym etapem projektowania układu realizującego daną
funkcję logiczną. Z opisu słownego z reguły przechodzi się do tzw. tablicy prawdy.
2. Tablica prawdy. Jest to tabela, zawierająca wszystkie kombinacje Ai zmiennych
wejściowych i odpowiadające im wartości funkcji logicznych (jak w przykładzie 1). Jest
to czytelna forma zapisu, umożliwiająca opisanie wielu funkcji logicznych mających ten
sam zbiór argumentów. W oparciu o tablicę prawdy można zrealizować procedury
minimalizacji funkcji logicznej albo przejść do jednej z niżej opisanych metod.
3. Wyrażenie. Typowo matematyczny, zwięzły zapis funkcji wykorzystujący symbole
zmiennych i operatory logiczne. Przykładowo, dla funkcji f2 odpowiednie wyrażenie
miałoby postać:
f2 = x1 " x2 + x2 " x3
W wielu przypadkach funkcja podana wyrażeniem może być od razu realizowana na
odpowiednich układach logicznych.
-8-
Materiały pomocnicze do Podstaw Techniki Cyfrowej i Mikroprocesorowej dla kierunku EZ
4. Zapis dziesiętny. Syntetyczny zapis operujący ujętymi w nawiasy kwadratowe numerami
słów wejściowych reprezentujących kombinacje Ai wartości argumentów funkcji. Są dwa
warianty tego zapisu, w zależności od tego czy f(Ai)=1 czy też f(Ai)=0. Zapis dziesiętny
umożliwia także wskazanie, dla których słów wejściowych wartość funkcji jest
nieokreślona (f(Ai)=X) - symbole tych słów podaje się w nawiasach zwykłych. Dla funkcji
z przykładu 1, zapisy dziesiętne uwzględniające tzw. jedynki funkcji są następujące:
f1 = Ł[1, 3, 4, 6, 7] f2 = Ł[0, 1, 4 (2, 7)] f3 = Ł[2, 7 (1, 3, 5, 6)]
Natomiast zapisy uwzględniające zera są następujące:
f1 = [0, 2, 5] f2 = [3, 5, 6 (2, 7)] f3 = [0, 4 (1, 3, 5, 6)]
Zapis dziesiętny umożliwia minimalizację funkcji metodą Quine'a-McCluskey'a albo
podanie wprost odpowiednich wyrażeń logicznych. W tym drugim przypadku otrzymuje
się: postać KPS wychodząc z zapisu z Ł i postać KPI wychodząc z zapisu z .
Przejście od zapisu dziesiętnego do wyrażeń logicznych jest proste.
Należy wypisać wszystkie zero-jedynkowe słowa wejściowe Ai podane w nawiasach.
W przypadku zapisu z Ł: odpowiadają one iloczynom będącym składnikami KPS, a w
przypadku zapisu z  - sumom będącym czynnikami KPI.
Właściwe składniki KPS (iloczyny zmiennych) uzyskuje się zastępując w słowach Ai
(f(Ai)={1,X}) jedynki zmiennymi wprost, a zera - negacjami odpowiednich zmiennych.
Natomiast czynniki KPI (sumy zmiennych) uzyskuje się zastępując w słowach Ai
(f(Ai)={0,X}) zera zmiennymi wprost, a jedynki - negacjami odpowiednich zmiennych.
Ilustruje to poniższy przykład:
f2 = Ł[0, 1, 4 (2, 7)]
0 : 000 : x1 x2 x3
1: 001: x1 x2 x3
4 :100 : x1 x2 x3
f2KPS = x1 x2 x3 + x1 x2 x3 + x1 x2 x3 + x1 x2 x3 + x1 x2 x3
f1 = [0, 2, 5]
0 : 000 : (x1 + x2 + x3)
2 : 010 : (x1 + x2 + x3)
5:101: (x1 + x2 + x3)
f1KPI = (x1 + x2 + x3)(x1 + x2 + x3)(x1 + x2 + x3)
Układy kombinacyjne
Zdefiniowane w poprzednim punkcie funkcje logiczne są podstawą opisu układów
kombinacyjnych. Są to układy logiczne, w których stan ich wyjść jest wyłącznie funkcją
bieżącego stanu wejść. W ogólnym przypadku układ kombinacyjny może mieć n wejść i m
wyjść:
x1 y1
x2 y2
: :
: :
xn ym
Y = F(X) , F = {f1,f2,...,fm}
Oczywiście w rzeczywistych realizacjach układów cyfrowych występują niezerowe czasy
opóznienia reakcji na zmianę sygnału wejściowego, zwane czasem propagacji.
-9- L.J.Grodzki
Materiały pomocnicze do Podstaw Techniki Cyfrowej i Mikroprocesorowej dla kierunku EZ
Bramki logiczne
operacja operator zapis tablica prawdy bramka bramka
suma a b a+b
(" a (" b
a
logiczna 0 0 0
+ a + b
J
a
a+b
a+b
0 1 1
b
b
OR
1 0 1
OR
1 1 1
iloczyn a b
'" a '" b a"b
a
logiczny
" a " b 0 0 0
&
a
ab
ab
ab 0 1 0
b
b
AND
1 0 0
AND
1 1 1
negacja ~ ~a a ~a
a a a ,
0 1
a
1 0 NOT
NOT
różnica a b
" a " b a"b
symetryczna a
0 0 0 a
aVb =1
a " b + a " b
aVb
0 1 1
b
b
XOR
1 0 1
XOR
1 1 0
negacja ~(a + b) a b ~(a+b)
a
J
a
sumy 0 0 1 a+b
a+b
a + b
b
logicznej
0 1 0
b
NOR NOR
1 0 0
1 1 0
negacja ~(ab) a b ~(ab)
,
,
iloczynu
0 0 1
,-
,-
ab
logicznego
0 1 1 -
-
1 0 1
1 1 0
bufor a a y
a y
wzmacniacz 0 0
1 1
bufor a a s y
a y
trójstanowy x 0 Z
s
0 1 0
1 1 1
bufor a a y
a y
OC
z wyj. OC 0 0
1 1
Symbol % zarówno na wyjściu jak i wejściu układu logicznego oznacza
negację sygnału. Przykładowo, bramki na rysunku obok są wzajemnie
równoważne (i ilustrują jedno z praw de Morgana).
S "
Natomiast symbol > przy sygnale wejściowym układu cyfrowego oznacza
wrażliwość danego wejścia na wybrane zbocze narastające lub opadające. R "
Wejścia takie spotyka się często w przerzutnikach lub rejestrach.
-10-
Materiały pomocnicze do Podstaw Techniki Cyfrowej i Mikroprocesorowej dla kierunku EZ
Realizacja funkcji logicznych na podstawowych bramkach
Wykorzystując przedstawione wcześniej podstawowe bramki logiczne można w praktyce
zrealizować każdą funkcję logiczną. Należy jednak pamiętać, że realnie dostępne bramki
sumy i iloczynu nie mają dowolnej liczby wejść. Zwykle jest ich: 2, 3, 4 lub 8. Zmusza to
czasem do użycia większej liczby bramek, niż wynikałoby to z zapisu realizowanego
wyrażenia logicznego. Ograniczenia te były jeszcze dokuczliwsze w początkach techniki
cyfrowych układów scalonych, ponieważ wtedy konstruktorzy dysponowali jedynie 2-
wejściowymi bramkami.
W punkcie tym przedstawionych zostanie kilka przykładów realizacji układów
kombinacyjnych opisanych funkcjami logicznymi bezpośrednio na bramkach.
Przykład 2
Warianty realizacyjne funkcji f1 z przykładu 1
dla KPS: f1 = Ł[1, 3, 4, 6, 7]
1: 001: x1 x2 x3
3: 011: x1 x2 x3
4 :100 : x1 x2 x3
6 :110 : x1 x2 x3
7 :111: x1 x2 x3
a)
f1a = x1 x2 x3 + x1 x2 x3 + x1 x2 x3 + x1 x2 x3 + x1 x2 x3
x1 x2 x3
f
b)
f1b = x1 x2 x3 + x1 x2 x3 + x1 x2 x3 + x1 x2 x3 + x1 x2 x3 =
= x1 x2 x3 + x1 x2 x3 + x1 x2 x3 + x1 x2 x3 + x1 x2 x3 =
= x1 x2 x3 " x1 x2 x3 " x1 x2 x3 " x1 x2 x3 " x1 x2 x3
x1 x2 x3
f
"1"
(Vcc)
-11- L.J.Grodzki
Materiały pomocnicze do Podstaw Techniki Cyfrowej i Mikroprocesorowej dla kierunku EZ
dla KPI: f1 = [0, 2, 5]
0 : 000 : (x1 + x2 + x3)
2 : 010 : (x1 + x2 + x3)
5 :101: (x1 + x2 + x3)
c)
f1c = (x1 + x2 + x3)(x1 + x2 + x3)(x1 + x2 + x3)
x1 x2 x3
f
d)
f1d = (x1 + x2 + x3)(x1 + x2 + x3)(x1 + x2 + x3) =
= (x1 + x2 + x3)(x1 + x2 + x3)(x1 + x2 + x3) =
= (x1 + x2 + x3) " (x1 + x2 + x3) " (x1 + x2 + x3)
x1 x2 x3
f
W przykładzie 2b zastosowano bramki NAND 3- i 8-wejściowe. Niewykorzystane 3 wejścia
NAND-u 8-wejściowego zostały podłączone do napięcia zasilania by w ten sposób wymusić
na nich wysoki stan logiczny. Podanie "1" na te wejścia jest warunkiem prawidłowego
działania tej bramki i propagacji na wyjście f1 zanegowanego iloczynu pięciu wyjść
NAND-ów 3-wejściowych.
Przykład 3
a) a + bc b) a + bc = a + bc = a " bc
a
a
b
b
c
c
c) (a " b)(b + c) d) (a " b)(b + c) = (ab + ab)(b + c) =
= abb + abc + abb + abc = ab + abc + abc =
= ab(1 + c) + abc = ab + abc =
= ab + abc = a + b + abc = a + b + abc
c
a
b
b
a
c
-12-
Materiały pomocnicze do Podstaw Techniki Cyfrowej i Mikroprocesorowej dla kierunku EZ
Warianty a i b w przykładzie 3 ilustrują realizację tej samej funkcji logicznej: raz przy użyciu
bramek wynikających wprost z wyrażenia (a) i przy użyciu tylko 2-wejściowych NAND-ów.
Jeden z tych NAND-ów wykorzystano jako inwerter sygnału a.
Wariant c ilustruje prostą realizację przykładowej funkcji przy założeniu dostępności bramki
XOR. Przy braku takiej bramki należy tak przekształcić wyrażenie, aby można je było
zrealizować na posiadanych typach bramek. Zastosowana na końcu tego przekształcenia
podwójna negacja iloczynułab pozwoliła zastosować tylko jeden inwerter dla sygnału b
zamiast dwóch dla a i b.
Minimalizacja funkcji logicznych
Przedstawione powyżej metody polegają na realizacji układów cyfrowych na bramkach
logicznych wprost na podstawie wyrażeń logicznych bądz jedynie po ich przekształceniu
umożliwiającym użycie dostępnych elementów. Można je z powodzeniem stosować w
przypadku niezbyt złożonych funkcji o niewielu argumentach (do 4).
Przy bardziej złożonych funkcjach logicznych użycie tych metod prowadziłoby do
rozbudowanych układów cyfrowych. Dlatego dąży się do minimalizacji funkcji logicznych,
polegającej na zmniejszeniu liczby operatorów i zmiennych potrzebnych do ich zapisu.
Minimalizacja taka skutkuje koniecznością użycia mniejszej liczby bramek logicznych i
mniejszej sieci połączeń między nimi. To z kolei pozwala uzyskać układ cyfrowy zajmujący
mniej miejsca, zużywający mniej energii podczas pracy i bardziej niezawodny.
Zmniejszenie liczby zmiennych i operatorów w wyrażeniu opisującym funkcję logiczną
można osiągnąć poprzez odpowiednie przekształcenia tegoż wyrażenia. Pomocne są przy tym
właściwości algebry Boole'a podane w twierdzeniu 1.
Wspomniane utrudnienia wobec powszechności występowania w praktyce inżynierskiej
funkcji niezupełnych doprowadziły do opracowania precyzyjnych metod, umożliwiających
bezbłędne wyznaczenie minimalnej postaci APN albo KPN funkcji logicznej. Spośród metod
przydatnych przy "ręcznym" projektowaniu układów cyfrowych należy wymienić:
" metodę tablic Karnaugh'a;
" metodę Quine'a-McCluskey'a.
-13- L.J.Grodzki
Materiały pomocnicze do Podstaw Techniki Cyfrowej i Mikroprocesorowej dla kierunku EZ
Kombinacyjne bloki funkcjonalne
Dekodery
Są to układy zamieniające wybrany kod binarny (najczęściej NB) na kod pierścieniowy
(zanegowany lub nie). Dekodery dostępne w seriach układów cyfrowych oprócz wejść
informacyjnych (dekodowanych), posiadają też wejścia sterujące (odblokowujące wyjścia).
Rysunek poniżej przedstawia przykładową strukturę wewnętrzną dekodera NB1z8 z
wejściem odblokowującym oraz jego tablicę prawdy.
A B C
dekoder NB1z8
E A B C Y7Y6Y5Y4Y3Y2Y1Y0
0 x x x 0 0 0 0 0 0 0 0
Y0
1 0 0 0 0 0 0 0 0 0 0 1
1 0 0 1 0 0 0 0 0 0 1 0
Y1
1 0 1 0 0 0 0 0 0 1 0 0
1 0 1 1 0 0 0 0 1 0 0 0
Y2
1 1 0 0 0 0 0 1 0 0 0 0
1 1 0 1 0 0 1 0 0 0 0 0 Y3
1 1 1 0 0 1 0 0 0 0 0 0
Y4
1 1 1 1 1 0 0 0 0 0 0 0
Y5
Wyjścia dekoderów mogą także działać w
Y6
zanegowanym kodzie pierścieniowym. Rysunek
poniżej przedstawia przykładową strukturę
Y7
E
wewnętrzną dekodera NB1z8 z wejściem
odblokowującymłE oraz jego tablicę prawdy.
A B C
dekoder NB1z8
E A B C Y7Y6Y5Y4Y3Y2Y1Y0
1 x x x 1 1 1 1 1 1 1 1 Y0
0 0 0 0 1 1 1 1 1 1 1 0
Y1
0 0 0 1 1 1 1 1 1 1 0 1
0 0 1 0 1 1 1 1 1 0 1 1
Y2
0 0 1 1 1 1 1 1 0 1 1 1
0 1 0 0 1 1 1 0 1 1 1 1
Y3
0 1 0 1 1 1 0 1 1 1 1 1
0 1 1 0 1 0 1 1 1 1 1 1
Y4
0 1 1 1 0 1 1 1 1 1 1 1
Y5
Tego typu dekodery często znajdują zastosowanie w
konstrukcji dekoderów adresów systemów
Y6
mikroprocesorowych.
Y7
E
-14-
Materiały pomocnicze do Podstaw Techniki Cyfrowej i Mikroprocesorowej dla kierunku EZ
Kodem wejściowym dekodera nie musi być
A B C D
wyłącznie kod NB. Poniżej przedstawiono
dekoder BCD1z10.
Y0
dekoder BCD1z10
Y1
ABCD Y9Y8Y7Y6Y5Y4Y3Y2Y1Y0
0 0 0 0 1 1 1 1 1 1 1 1 1 0
Y2
0 0 0 1 1 1 1 1 1 1 1 1 0 1
0 0 1 0 1 1 1 1 1 1 1 0 1 1
Y3
0 0 1 1 1 1 1 1 1 1 0 1 1 1
0 1 0 0 1 1 1 1 1 0 1 1 1 1 Y4
0 1 0 1 1 1 1 1 0 1 1 1 1 1
Y5
0 1 1 0 1 1 1 0 1 1 1 1 1 1
0 1 1 1 1 1 0 1 1 1 1 1 1 1
Y6
1 0 0 0 1 0 1 1 1 1 1 1 1 1
1 0 0 1 0 1 1 1 1 1 1 1 1 1
Y7
1 0 1 0 1 1 1 1 1 1 1 1 1 1
1 0 1 1 1 1 1 1 1 1 1 1 1 1
Y8
1 1 0 0 1 1 1 1 1 1 1 1 1 1
1 1 0 1 1 1 1 1 1 1 1 1 1 1
Y9
1 1 1 0 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1
Enkodery zwykłe
Działanie enkoderów jest odwrotne do dekoderów - zamieniają one kod pierścieniowy na kod
NB lub inny. Przykład enkodera 1z10NB przedstawiono poniżej.
enkoder 1z10NB
X9X8X7X6X5X4X3X2X1X0 ABCD
X9 X8 X7 X6 X5 X4 X3 X2 X1 X0
0 0 0 0 0 0 0 0 0 1 0 0 0 0
0 0 0 0 0 0 0 0 1 0 0 0 0 1
A
0 0 0 0 0 0 0 1 0 0 0 0 1 0
B
0 0 0 0 0 0 1 0 0 0 0 0 1 1
0 0 0 0 0 1 0 0 0 0 0 1 0 0
C
0 0 0 0 1 0 0 0 0 0 0 1 0 1
0 0 0 1 0 0 0 0 0 0 0 1 1 0
D
0 0 1 0 0 0 0 0 0 0 0 1 1 1
0 1 0 0 0 0 0 0 0 0 1 0 0 0
1 0 0 0 0 0 0 0 0 0 1 0 0 1
Przyjęta realizacja na bramkach nie wykorzystuje wejścia X0. Jest to efektem maksymalnego
uproszczenia układu. Dlatego kombinacje wejściowe: 0000000001 oraz 0000000000 są
nierozróżnialne i obie dają na wyjściach kod 0000. Tak skonstruowany enkoder wymaga
podawania na jego wejścia Xi jedynie prawidłowych słów kodu 1z10.
-15- L.J.Grodzki
Materiały pomocnicze do Podstaw Techniki Cyfrowej i Mikroprocesorowej dla kierunku EZ
Enkodery priorytetowe
W praktyce rzadko spotyka się zwykłe enkodery. O wiele częściej mamy do czynienia z
enkoderami priorytetowymi. Są to układy, w których wejściom Xi przypisano priorytety.
Dzięki temu, do poprawnej pracy enkodera priorytetowego nie jest już wymagane podanie na
jego wejścia informacyjne wyłącznie poprawnego słowa kodu pierścieniowego. Kombinacja
zer i jedynek na wejściach takiego enkodera może być dowolna. Wyjścia kodowe podają
zawsze numer tego spośród aktywnych w danej chwili wejść Xi, które ma najwyższy priorytet.
X7 X6 X5 X4 X3 X2 X1 X0
enkoder priorytetowy 1z8NB
X7X6X5X4X3X2X1X0 ABC E
EO
0 0 0 0 0 0 0 0 0 0 0 1
0 0 0 0 0 0 0 1 0 0 0 0
0 0 0 0 0 0 1 x 0 0 1 0
0 0 0 0 0 1 x x 0 1 0 0 A
0 0 0 0 1 x x x 0 1 1 0
0 0 0 1 x x x x 1 0 0 0
B
0 0 1 x x x x x 1 0 1 0
0 1 x x x x x x 1 1 0 0
1 x x x x x x x 1 1 1 0
W przedstawionym przykładzie najwyższy
C
priorytet ma wejście X7, a najniższy  X0.
Jeżeli tylko na wejściu X0 jest "1" logiczna to
wyjścia ABC przyjmują stan 000. Taki sam stan wyjść uzyskuje się przy samych zerach na
wejściach Xi. Aby odróżnić te dwa przypadki enkoder wyposażono w dodatkowe wyjście EO,
które przyjmuje stan wysoki jedynie przy samych zerach na wejściach enkodera.
Dostępne w seriach układów cyfrowych enkodery priorytetowe mogą posiadać dodatkowe
wejścia zezwalające na ich pracę lub działać w tzw. logice ujemnej (aktywny jest niski
poziom logiczny). Przykładowe standardowe enkodery priorytetowe: 74147, 74148, 74348.
Z wymienionych trzech typów enkoderów dwa ostatnie posiadają dodatkowe sygnały
wejściowe i wyjściowe umożliwiające łączenie je w układy o zwielokrotnionej liczbie wejść
priorytetowych.
X15X14X13X12X11X10 X9 X8 X7 X6 X5 X4 X3 X2 X1 X0
priorytety: X15>...>X0
A3
10 6 10 6 10 6
X0 A2 X0 A2 X0 A2
11 7 11 7 11 7 A2
X1 A1 X1 A1 X1 A1
12 74148 8 12 74148 8 12 74148 8
X2 A0 X2 A0 X2 A0
13 13 13
X3 X3 X3
A1
1 14 1 14 1 14
X4 GS X4 GS X4 GS
2 15 2 15 2 15
X5 EO X5 EO X5 EO
3 3 3 A0
X6 X6 X6
4 4 4
X7 X7 X7
/EI /EI /EI
5 5 5
Jednym z częstszych zastosowań enkoderów priorytetowych są proste sprzętowe kontrolery
systemów przerwań komputerów. Zgłoszenia przerwań pochodzące z różnych zródeł są
doprowadzone do wejść enkodera. Na jego wyjściu pojawia się kod aktualnie najważniejszego
ze zgłoszonych przerwań.
-16-
Materiały pomocnicze do Podstaw Techniki Cyfrowej i Mikroprocesorowej dla kierunku EZ
Konwertery kodów
Konwerterami kodów nazywamy układy służące do zamiany jednego kodu na inny.
Omówiono wcześniej dekodery i enkodery można uważać za szczególne przypadki
konwerterów, w których jednym z kodów jest kod pierścieniowy.
Do budowy konwerterów można wykorzystywać podstawowe bramki logiczne realizujące
funkcje konwersji, wyznaczone dowolnymi metodami realizacji układów kombinacyjnych.
Zamiast stosować kilka układów scalonych SSI z bramkami, można użyć jednego układu PLD
z odpowiednią strukturą wewnętrznych połączeń.
Bardzo wygodnym środkiem realizacyjnym są także pamięci typu
X0 Y0
A0 D0
X1 Y1
A1 D1
PROM. Przykładowo, pamięć PROM o pojemności 256B może
X2 A2 D2 Y2
funkcjonować jako konwerter pomiędzy dowolnymi kodami 8-
X3 A3 D3 Y3
A4 D4
X4 Y4
bitowymi. Pamięć ta ma 8 wejść adresujących, na które należy podać
A5 D5
X5 Y5
konwertowany kod, oraz 8 wyjść danych, z których odczytuje się A6 D6
X6 Y6
/CE
A7 D7
X7 Y7
wynik konwersji kodu.
Wśród układów scalonych można znalezć gotowe konwertery zamieniające 4-bitowy kod NB
lub kod BCD na tzw. kod segmentowy, wykorzystywany do sterowania wyświetlaczem
7-segmentowym.
Przykładowy, typowy konwerter 7447, oprócz 4 wejść ABCD kodu BCD, posiada jeszcze:
- wejście LT, służące do wymuszonego włączenia wszystkich segmentów wyświetlacza;
- wejście RBI, umożliwiające wygaszanie segmentów przy ABCD=0000;
- wyjście RBO, zezwalające na wygaszanie segmentów zera na mniej znaczącej pozycji
wyświetlacza;
a
A a
dekoder 7447
B b
f b
7447
C c
DCBA LT RBI RBO a b c d e f g
D d
g
x x x x 0 x x 1 1 1 1 1 1 1
RBI e
e c
RBO f
0 0 0 0 1 0 0 0 0 0 0 0 0 0
LT g
d
0 0 0 0 1 1 1 1 1 1 1 1 1 0
0 0 0 1 1 x 1 0 1 1 0 0 0 0
0 0 1 0 1 x 1 1 1 0 1 1 0 1
0 0 1 1 1 x 1 1 1 1 1 0 0 1
0 1 0 0 1 x 1 0 1 1 0 0 1 1
A a
0 1 0 1 1 x 1 1 0 1 1 0 1 1
B b
7447
C c
0 1 1 0 1 x 1 0 0 1 1 1 1 1
D d
0 1 1 1 1 x 1 1 1 1 0 0 0 0 RBI e
+5V
RBO f
1 0 0 0 1 x 1 1 1 1 1 1 1 1
LT g
1 0 0 1 1 x 1 1 1 1 0 0 1 1
Jeżeli mozaika segmentów cyfr '6' i '9' standardowo generowana przez układ jest
niezadowalająca, można ją zmodyfikować przy pomocy dwóch bramek OR (patrz rysunek).
-17- L.J.Grodzki
Materiały pomocnicze do Podstaw Techniki Cyfrowej i Mikroprocesorowej dla kierunku EZ
Multipleksery
Multiplekserami nazywamy układy cyfrowe, które umożliwiają przekazanie informacji
cyfrowej z jednego z wielu wejść na jedno wyjście. Multipleksery, oprócz N wejść i 1
wyjścia, posiadają jeszcze K wejść adresowych. Słowo binarne (w kodzie NB) podane na te
wejścia adresowe określa, numer wejścia aktualnie połączonego z wyjściem układu. Oprócz
wymienionych wejść i wyjść, układ scalony z multiplekserem może mieć także wejścia
odblokowujące pracę układu oraz zanegowane wyjście sygnału wyjściowego Y.
X7
X6
multiplekser 8-1
A2A1A0 E Y
X5
x x x x 0 0
0 0 0 1 X0
X4
0 0 1 1 X1
Y
0 1 0 1 X2
X3
0 1 1 1 X3
X2
1 0 0 1 X4
X7
1 0 1 1 X5
X1
1 1 0 1 X6
Y
1 1 1 1 X7
X0
X0
A A A E
0
A2 A1 A0 E
W seriach układów cyfrowych można znalezć wiele odmian multiplekserów. Różnią się one
między sobą liczbą wejść adresujących, czyli ilością komutowanych wejść informacyjnych,
oraz liczbą wyjść (multipleksery pojedyncze, podwójne, poczwórne).
W przypadku konieczności przełączania dużej liczby sygnałów cyfrowych na jedno wyjście
możliwe jest kaskadowe łączenie mniejszych multiplekserów.
X63
X7
X7
X62
X7
X6
X61
X5
X60
Y
X4
Y
X59
X3
X58
X2
X57
X0
X1
X0
X56 X7
X0
A A A E
0
A A A E
0
Y
Y
+5V
Y
X15
X0
X7
X7
X14
X7
X6
X13
A A A E
0
X5
X12
Y
X4
+5V
X11 Y
X3
X10
A5 A4 A3
X2
X9
X0
X1
X8 X0
X0
A A A E
0
A A A E
0
A2 A1 A0 A3
+5V
A2 A1 A0
-18-
Materiały pomocnicze do Podstaw Techniki Cyfrowej i Mikroprocesorowej dla kierunku EZ
Demultipleksery
Demultipleksery są układami o działaniu odwrotnym do multiplekserów. Posiadają one
1 wejście informacji, 2N wyjść i N wejść adresowych. Mogą też być wyposażone w wejścia
sterujące (odblokowujące). Poniżej podano tablicę prawdy i schemat logiczny przykładowego
demultipleksera 8x1 z wejściem odblokowującym.
Y7
demultiplekser 1-8
Y6
A2A1A0 E Y7Y6Y5Y4Y3Y2Y1Y0
x x x x 0 0 0 0 0 0 0 0 0
Y5
0 0 0 1 0 0 0 0 0 0 0 X
0 0 1 1 0 0 0 0 0 0 X 0
Y4
0 1 0 1 0 0 0 0 0 X 0 0
X
0 1 1 1 0 0 0 0 X 0 0 0
Y3
1 0 0 1 0 0 0 X 0 0 0 0
1 0 1 1 0 0 X 0 0 0 0 0
Y2
Y7
1 1 0 1 0 X 0 0 0 0 0 0
1 1 1 1 X 0 0 0 0 0 0 0
Y1
X
Y0
Y0
A A A E
0
A2 A1 A0 E
Wymuszając na wejściu demultipleksera stały sygnał logiczny ("0" lub "1'), uzyskuje się układ
dekodera. W serii układów cyfrowych TTL można znalezć kilka różnych demultiplekserów:
74154 i 74159 (1-16), 74155 i 74156 (2x1-4).
Komparatory
Komparatory umożliwiają porównywanie słów binarnych. Komparator jednobitowy:
a b a>b a=b aa>b
0 0 0 1 0
a
a=b
0 1 0 0 1
b
1 0 1 0 0
a1 1 0 1 0
Rozbudowując sieć bramek można rozszerzyć porównywane słowa binarne na dowolną
długość. Można również, bazując na przedstawionym układzie komparatora jednobitowego
zrealizować iteracyjny komparator wielobitowy. Komparator taki (zwany także komparatorem
szeregowym) porównuje kolejne pary bitów dwóch słów wejściowych, poczynając od
najstarszych pozycji bitowych.
W seriach układów cyfrowych spotyka się równoległe
A3A2A1A0 B3B2B1B0
komparatory słów wielobitowych (najczęściej 4- lub 8-bitowych).
wy> we>
Jednym z nich jest układ 7485. Porównuje on dwa słowa 4-bitowe.
7485
wy= we=
Oprócz trzech wyjść relacji (A=B, A>B, Awy< we<
analogiczne wejścia. Umożliwia to łączenie wielu układów 7485
w kaskady porównujące słowa o długości kx4 bitów.
-19- L.J.Grodzki
Materiały pomocnicze do Podstaw Techniki Cyfrowej i Mikroprocesorowej dla kierunku EZ
Przy kaskadowym łączeniu kilku komparatorów 7485, należy pamiętać, że relacja pomiędzy
porównywanymi przez komparator czwórkami bitów dominuje nad sygnałami z wejść relacji.
Oznacza to, że w kaskadzie komparatorów, wyjścia relacji mniej znaczących tetrad należy
łączyć z wejściami relacji komparatorów bardziej znaczących tetrad (jak na rysunku poniżej).
x11 x10 x9 x8 y11 y10 y9 y8 x7 x6 x5 x4 y7 y6 y5 y4 x3 x2 x1 x0 y3 y2 y1 y0
A3A2A1A0 B3B2B1B0 A3A2A1A0 B3B2B1B0 A3A2A1A0 B3B2B1B0
X>Y
wy> we> wy> we> wy> we>
+5V
X=Y
7485 7485 7485
wy= we= wy= we= wy= we=
Xwy< we< wy< we< wy< we<
Inny typem komparatora jest układ 74688. Jest to prosty komparator słów ośmiobitowych,
wykrywający jedynie relację równości. Ma także wejście zezwalające na porównanie słów,
które można wykorzystać przy kaskadowym połączeniu kilku takich układów.
x0x1x2x3x4x5x6x7 y0y1y2y3y4y5y6y7 x8x9x10x11 y8y9y10y11
P7 Q7 P7 Q7 P7 Q7
P6 Q6 P6 Q6 P6 Q6
P5 Q5 P5 Q5 P5 Q5
P4 Q4 P4 Q4 P4 Q4
P3 Q3 P3 Q3 P3 Q3
P2 Q2 P2 Q2 P2 Q2
P1 Q1 P1 Q1 P1 Q1
P0 Q0 P0 Q0 P0 Q0
E P=Q E P=Q E P=Q
X=Y
Sumatory
Sumatory służą dodawaniu słów binarnych. Układ realizujący sumę słów 1-bitowych a i b, z
jednoczesną generacją bitu nadmiaru c (tzw. przeniesienia wychodzącego), przedstawiono na
rysunku poniżej, po lewej stronie.
ci-1
(ai+bi+ci-1)mod 2
ai
(a+b)mod 2 bi
a
b
c
ci+1
Bardziej rozbudowany układ, przedstawiony po prawej stronie, jest modułem pełnego
sumatora i-tych bitów słów a i b, uwzględniającym także przeniesienie wchodzące ci-1
powstałe z dodawania mniej znaczących bitów. Aącząc odpowiednio k takich modułów
uzyskuje się sumator słów k-bitowych.
bk-1 ak-1 b1 a1 b0 a0
ck ck-1 c1
sk-1 s1 s0
-20-
Materiały pomocnicze do Podstaw Techniki Cyfrowej i Mikroprocesorowej dla kierunku EZ
Układ o takiej konstrukcji zalicza się to tzw. układów iteracyjnych. Końcowy wynik
dodawania liczb a i b ustala się ze znacznym opóznieniem, proporcjonalnym do ilości
dodawanych bitów. Wynika to ze sposobu propagacji przeniesień z bitów młodszych na
starsze. Zakładając czas propagacji rzeczywistych bramek na poziomie 5ns, czas propagacji
przeniesienia dla jednej pozycji wynosi 10ns, a dla k pozycji - k"10ns. Również stan kolejnych
starszych bitów sumy si stabilizuje się z coraz większym opóznieniem. Dlatego układ taki nie
ma dużego znaczenia praktycznego.
Dostępne w seriach układów cyfrowych gotowe 4-bitowe
sumatory (7483 i 74283) wykorzystują mechanizm równoległej
A4A3A2A1 B4B3B2B1
propagacji bitów przeniesienia. Dzięki temu wynik dodawania,
7483
jak również przeniesienie wychodzące z najstarszego bitu
74283
C4 C0
ustalają się bardzo szybko: czas ustalania się bitów sumy -
S4S3S2S1
25ns, czas ustalania się przeniesienia - 15ns. Wymienione dwa
układy scalone różnią się jedynie przyporządkowaniem
wyprowadzeń sygnałom logicznym i liniom zasilającym.
Ponieważ układy te są wyposażone w wejście i wyjście przeniesienia możliwe jest
zbudowanie układów sumujących dłuższe niż 4 bity słowa. Oczywiście czas działania takiej
kaskady będzie odpowiednio dłuższy.
X11X10X9X8 Y11Y10Y9Y8 X7X6X5X4 Y7Y6Y5Y4 X3X2X1X0 Y3Y2Y1Y0
A4A3A2A1 B4B3B2B1 A4A3A2A1 B4B3B2B1 A4A3A2A1 B4B3B2B1
7483 7483 7483
C4 C0 C4 C0 C4 C0
S4S3S2S1 S4S3S2S1 S4S3S2S1
W11W10W9W8 W7W6W5W4 W3W2W1W0
Przykłady zastosowań sumatora 4-bitowego 7483.
X3X2X1X0 Y3Y2Y1Y0
A4A3A2A1 B4B3B2B1
7483
C4
C0
Y3Y2Y1Y0
S4S3S2S1
M/P
D4
X3X2X1X0
A4A3A2A1 B4B3B2B1
A4A3A2A1 B4B3B2B1
7483
7483
C4 C0
C4 C0
S4S3S2S1
S4S3S2S1
W3W2W1W0
D3D2D1D0
Układ po lewej stronie umożliwia dodawanie i odejmowanie liczb 4-bitowych. Rodzaj
operacji jest wybierany sygnałem sterującym M/łP:
- przy M/łP=0 bramki XOR nie negują bitów słowa Y, a przeniesoenie wchodzące C0=0 -
sumator liczy W=X+Y;
- przy M/łP=1 bramki XOR negują bity słowa Y i przeniesienie wchodzące C0=1 - sumator
liczy W=X+łY+1=X+(-Y)=X-Y.
Układ po prawej stronie realizuje dodawanie słów X i Y traktowanych będących cyframi kodu
BCD. Dodatkowy sumator realizuje tzw. korekcję dziesiętną, polegającą na dodaniu 6 do
pierwotnej sumy słów X i Y. Korekcja jest konieczna wtedy, gdy w górnym sumatorze:
pojawia się przeniesienie C4 lub suma ma wartość z przedziału <10;15> (co wykrywają
dodatkowe bramki AND).
-21- L.J.Grodzki
Materiały pomocnicze do Podstaw Techniki Cyfrowej i Mikroprocesorowej dla kierunku EZ
Jednostka ALU
Jest układ realizujący wiele różnych operacji arytmetyczno-logicznych. Przykładem takiego
układu jest 4-bitowa jednostka 74181. Moduł ten posiada:
- wejścia 4-bitowych argumentów A3-A0 i B3-B0;
- wyjście 4-bitowego wyniku operacji S3-S0;
- wejście przeniesienia wchodzącego C0;
A3A2A1A0 B3B2B1B0
M
F3
- wyjście przeniesienia wychodzącego C4;
A=B F2
- wejścia F3, F2, F1, F0 wybierające rodzaj operacji; 74181
G F1
- wejście M rozróżniające operacje logiczne (=1) T F0
C4 C0
S4S3S2S1
i arytmetyczne (=0);
- wyjście relacji A=B;
- dwa wyjścia przeniesień pomocniczych G i T.
ALU może funkcjonować zarówno w tzw. logice dodatniej jak i ujemnej. Zestawienie
dostępnych operacji układu 74181 podaje poniższa tabela.
Funkcja Wynik operacji S=...
logika dodatnia logika ujemna
F3F2F1F M=1 - op.logiczne M=0 - op.arytmet. M=1 - op.logiczne M=0 - op.arytmet.
0
0 0 0 0 A+C0 A-(1-C0)
łA łA
0 0 0 1
A (" B (A("B)+C0 A'"B (A'"B)-(1-C0)
0 0 1 0
łA'"B (łB("A) +C0 łA("B łB'"A-(1-C0)
0 0 1 1 0 C0-1 1 C0-1
0 1 0 0
A'"B A+(łB'"A) +C0 A (" B (A("łB)+A+C0
0 1 0 1
łB (A("B)+(łB'"A) +C0 łB (A("łB)+(A'"B) +C0
0 1 1 0 A-B-(1-C0) A-B-(1-C0)
A"B A"B
0 1 1 1
łB'"A łB'"A-(1-C0) łB("A (łB("A) +C0
1 0 0 0
łA("B A+(A'"B)+C0 łA'"B (A("B)+A+C0
1 0 0 1 A+B+ C0 A+B+ C0
A"B A"B
1 0 1 0 B B
(A("łB)+(A'"B) +C0 (A("B)+(łB'"A) +C0
1 0 1 1
A'"B (A'"B)-(1-C0) A("B (A("B)+ C0
1 1 0 0 1 A+A+C0 0 A+A+C0
1 1 0 1
łB("A (A("B)+A+C0 łB'"A A+(A'"B)+C0
1 1 1 0
A("B (A("łB)+A+C0 A'"B A+(łB'"A) +C0
1 1 1 1 A A-(1-C0) A A+C0
Układy 74181 mogą być łączone kaskadowo (wejścia i wyjścia przeniesień C0 i C4 -
łańcuchowo, a wejścia sterujące M i Fi - równolegle) w celu uzyskania wielobitowej ALU.
Przy kaskadowym łączeniu 74181 zaleca się korzystać z dodatkowego układu 74182. Jest to
tzw. generator przeniesień jednoczesnych. Zamiast łańcuchowego łączenia sygnałów C0 i C4,
wyjścia G i T poszczególnych ALU łączy się z 74182, a jego wyjścia Ci łączy się z
odpowiednimi wejściami C0 ALU.
-22-


Wyszukiwarka

Podobne podstrony:
Ukl log komb(TAK3)
03 PEiM Met opisu ukł elektr doc (2)
120123 IK wykład 4 WO SŻ kształt ukł geomet
14 fizjo ukl oddechowy
Ocena obiążenia i zmęczenia ukł mięśn szkieletowego EMG
synteza przelaczajacych ukl
rehabilitacja w ukł oddechowym
Funkcja ukł oddech ,jama nosowa, gardło, krtań
cw7 ukl 2skl
08 ukl rownan www
ukl odoperacyjne
Ukł w przetworn Monit SG 6841

więcej podobnych podstron