Professional Documents
Culture Documents
Technika Cyfrowa: Wykład NR 2
Technika Cyfrowa: Wykład NR 2
Technika Cyfrowa: Wykład NR 2
Wykład nr 2
1
Algebra Boole’a
• Wprowadzona przez angielskiego matematyka George
Boole (1815–1864)
• Dział matematyki zajmujący się relacjami logicznymi
między wyrażeniami, które mogą być reprezentowane
symbolicznie za pomocą równań lub tabel prawdy
• Wyrażeniem może być albo Prawda albo Fałsz bez
dwuznaczności, np. Yuri Gagarin był pierwszym
człowiekiem, który odbył podróż kosmiczną
• Tak więc, algebra Boole’a jest algebraicznym opisem
procesów logicznego rozumowania i myślenia
2
Algebra Boole’a
• W algebrze Boole’a zmienne przyjmują wartości prawda
albo fałsz zwykle oznaczane jako 1 albo 0
• Głównymi działaniami w algebrze Boole’a są:
koniunkcja: and, i , · , (iloczyn)
dysjunkcja: or, lub , + , (suma)
negacja: not, ̅ , ‘ , (nie)
• Claude Shannon (1916–2001) w latach ’30 XX w·, w swojej
dysertacji wykazał, że algebra Boole’a jest idealnym sposobem
reprezentowania operacji logicznych w systemach liczbowych
(“Prawdopodobnie najważniejsza i również najsławniejsza
dysertacja XX wieku.“)
• Algebra Boole’a jest potężnym narzędziem analizy i
projektowania układów logicznych
3
Algebra Boole’a
• Przykład:
– Alarm samochodowy A jest uruchamiany, jeśli światła mijania S
są włączone i drzwi kierowcy D są otwarte lub jeśli kluczyk K jest
przekręcony i drzwi D są otwarte
– A = K i D lub S i D ↔ A = K·D + S·D
– Prosta implementacja z wykorzystaniem bramek logicznych:
Kluczyk przekręcony K
AND
Drzwi otwarte D
A
OR Alarm
Światła włączone S
A = KD + SD
AND
Drzwi otwarte D
4
Algebra Boole’a
• Kontynuacja przykładu:
– Możemy zaobserwować, że alarm jest włączany przy otwartych
drzwiach i kiedy kluczyk jest przekręcony lub światła mijania są
włączone
– Mamy więc: A = D(K + S)
– Formalnie właśnie zastosowaliśmy prawo rozdzielności
– Uproszczony układ logiczny pokazano poniżej:
D
A
Alarm
K
S A = D(K + S)
Wejście z bramki
OR do bramki AND
wymaga nawiasu
5
Algebra Boole’a
• Równoważne i dopełniające wyrażenia boolowskie :
– Dwa dane wyrażenia boolowskie są równoważne, jeśli jedno z
nich równa się 1 tylko wtedy gdy drugie również równa się 1 oraz
kiedy jedno równa się 0 drugie też równa się 0
– Wyrażenia dopełniają się, jeśli jedno z nich równa się 1 tylko
wtedy gdy drugie równa się 0 i na odwrót
– Dopełnienie danego wyrażenia otrzymuje się przez zmianę
wszystkich literałów, to znaczy wszystkie „·” zamieniamy na „+”,
wszystkie „+” na „·”, wszystkie „0” na „1” a „1” na „0”
– Wyrażenie: A’·B + A·B’ i jego dopełnienie: (A + B’)·(A’ + B)
– Suma wyrażenia i jego dopełnienia zawsze daje „1”, natomiast
iloczyn wyrażenia z jego dopełnieniem zawsze daje „0”
6
Algebra Boole’a
• Boolowskie wyrażenia dualne:
– Boolowskie wyrażenie dualne otrzymuje się zamieniając
wszystkie operacje „·” na „+” natomiast wszystkie „+” na „·”,
wszystkie wartości 0 na 1 natomiast 1 na 0, natomiast literały
pozostają niezmienione
– Do wyrażenia: A’·B + A·B’ wyrażeniem dualnym jest
(A’ + B)·(A + B’)
– Nie istnieje bezpośrednia zależność między wartościami wyrażeń
dualnych
– Obydwa wyrażenia mogą przyjąć wartość 1 lub 0. Może też jedno
wyrażenie przyjąć wartość 1 a drugie wartość 0.
7
Algebra Boole’a
• Postulaty algebry Boole’a :
(1) 1·1 = 1 0+0=0
(2) 1·0 = 0·1 = 0 0+1=1+0=1
(3) 0·0 = 0 1+1=1
(4) 1’ = 0 0’ = 1
8
Algebra Boole’a
• Twierdzenia algebry Boole’a:
1. Element neutralny sumy i iloczynu
X+0=X X·1 = X
2. Tożsamość
X+1=1 X·0 = 0
3. Idempotentność
X + X + X +···+ X = X X·X·X· …… ·X = X
4. Komplementarność
X + X’ = 1 X·X’ = 0
5. Przemienność
X+Y=Y+X X·Y = Y·X
6. Łączność
X + (Y + Z) = Y + (Z + X) = Z + (X + Y) X·(Y·Z) = Y·(Z·X) = Z·(X·Y)
7. Rozdzielność
X + Y·Z = (X + Y)·(X + Z) X·(Y + Z) = X·Y + X·Z
9
Algebra Boole’a
• Twierdzenia algebry Boole’a (kontynuacja):
8. (X + Y’)·Y = X·Y X·Y’ + Y = X + Y
9. Z·X + Z·X’·Y = Z·X + Z·Y (Z + X)·(Z + X’ + Y) = (Z + X)·(Z + Y)
10. Sklejanie
X·Y + X·Y’ = X (X + Y)·(X + Y’) = X
11. Pochłanianie
X + X·Y = X X·(X + Y) = X
12. Zgodność
X·Y + X’·Z + Y·Z = X·Y + X’·Z (X + Y)·(X’ + Z)·(Y + Z) = (X + Y)·(X’ + Z)
13. Transpozycja
X·Y + X’·Z = (X + Z)·(X’ + Y) (X + Y)·(X’ + Z) = X·Z + X’·Y
14. Podwójna odwrotność
X’’ = X
15. Prawa De Morgana
(X + Y)’ = X’·Y’ (X1 + X2 + X3 + …· +Xn)’ = X1’·X2’·X3’· …· ·Xn’
(X·Y)’ = X’+ Y’ (X1·X2·X3· …· ·Xn)’ = (X1’ + X2’ + X3’ + …· + Xn’) 10
Algebra Boole’a
• Przykład: zamiast dwuwejściowej bramki OR zastosować
tylko dwuwejściowe bramki NAND
Bramka NAND
Funkcja dwuwejściowej bramki OR: Y = (A + B) A
Y
(A + B) = (A’’ + B’’) – podwójna negacja B
Y = (A·B)’
(A’’ + B’’) = (A’·B’)’ – prawo De Morgana
AB Y
(A’·B’)’ = [(A·A)’·(B·B)’]’ – idempotentność 00 1
01 1
10 1
11 0
11
Algebra Boole’a
• Przykład: zamiast dwuwejściowej bramki XOR zastosować
tylko dwuwejściowe bramki NAND
Bramka XOR
Dwuwejściowa bramka XOR realizuje funkcję: A
Y
Y = A’·B + A·B’ B
12
Algebra Boole’a
• Zadanie: zapisać i uprościć równanie poniższego układu
13
Algebra Boole’a
• Zadanie: zapisać i uprościć równanie poniższego układu
B·(A+C)
A+C X=C+B·(A+C)
• X = AB + C
14
Algebra Boole’a
• Zadanie: zapisać i uprościć równanie poniższego układu
• X = BC + A
15
Algebra Boole’a
• Zadanie: zapisać i uprościć równanie poniższego układu
• X = B’ + C
16
Algebra Boole’a
• Zadanie: zapisać i uprościć równanie poniższego układu
• X = AB
17
Algebra Boole’a
• Zadanie: zapisać i uprościć równanie poniższego układu
używając praw De Morgan’a:
• X = A’B
18
Algebra Boole’a
• Zadanie: zapisać i uprościć równanie poniższego układu
używając praw De Morgan’a:
• X = A’ + B’ + C + D
19
Postać kanoniczna sumacyjna i iloczynowa
• Funkcja logiczna może być opisana za pomocą tabeli
prawdy
• Każdy wiersz tabeli reprezentuje jeden ze stanów
wejściowych i związane z nimi stany wyjściowe
Układ
logiczny
kombinacyjny
20
Postać kanoniczna sumacyjna i iloczynowa
• Prosta funkcja I rodzaju przyjmuje wartość 1 tylko dla jednej
kombinacji stanów wejściowych i jest wynikiem mnożenia · (AND)
• Prosta funkcja II rodzaju przyjmuje wartość 0 tylko dla jednej
kombinacji stanów wejściowych i jest wynikiem sumowania + (OR)
22
Postać kanoniczna sumacyjna i iloczynowa
(b) iloczyn sum (funkcji prostych II rodzaju)
Linia
Linia y = (a+b+c)·(a+b’+c)·(a’+b’+c)·( a’+b’+c’)
Linia Linia #1 Linia #3 Linia #7 Linia #8
Linia
Linia Linia #2 Linia #4 Linia #5 Linia #6
Linia y = (a’·b’·c) + (a’·b·c) + (a·b’·c’) + (a·b’·c)
Linia
Linia
(a) suma iloczynów (funkcji prostych I rodzaju)
23
Postać kanoniczna sumacyjna i iloczynowa
• Forma wyrażenia boolowskiego, w której każdy składnik zawiera
wszystkie zmienne zanegowane lub nie, nazywa się formą
kanoniczną tego wyrażenia
24
Postać kanoniczna sumacyjna i iloczynowa
• Postać sumacyjna może być łatwo zrealizowana za pomocą
kombinacyjnego układu bramek logicznych zwanego
AND–OR–INVERT (AOI)
• Układy AOI są dostępne w różnych konfiguracjach i technologiach
np. TTL lub CMOS
25
( NOR)
Postać kanoniczna sumacyjna i iloczynowa
• Dana kanoniczna postać iloczynowa może być
przekształcona do równoważnej postaci sumacyjnej
poprzez następujące operacje:
wykonanie mnożenia i zastosowanie uproszczeń:
(A + B + C’)·(A + B’ + C) = AA + AB’ + AB + AC + AC’ + BC + B’C’ =
= A + BC + B’C’
dołączenie wszystkich możliwych kombinacji
brakujących zmiennych:
A = A·(B + B’)·(C + C’) = ABC + ABC’ + AB’C + AB’C’
BC = BC·(A + A’) = ABC + A’BC
B’C’ = B’C’·(A + A’) = AB’C’ + A’B’C’
ostatecznie: A + BC + B’C’ = ABC + ABC’ + AB’C + AB’C’ + A’BC +
AB’C’ + A’B’C’ 26
Postać kanoniczna sumacyjna i iloczynowa
• Dana kanoniczna postać sumacyjna może zostać
przekształcona do postaci iloczynowej przez:
znalezienie wyrażenia dualnego
wymnożenie wyrazów w nawiasach
usunięcie powtórzeń
ponowne nalezienie wyrażenie dualnego
• Przykład: AB + A’B’
Wyrażenie dualne do powyższego: (A + B)·(A’ + B’)
Po wymnożeniu otrzymamy: AA’ + AB’ + A’B + BB’ = AB’ + A’B
AB’ + A’B wyrażenie dualne = (A + B’)·(A’ + B)
ostatecznie: AB + A’B’ = (A + B’)·(A’ + B)
27
Postać kanoniczna sumacyjna i iloczynowa
• Aby otrzymać postać kanoniczną sumacyjną należy
dołączyć wszystkie możliwe kombinacje brakujących
zmiennych
• Przykład: (A’ + B)·(A’ + B + C’ + D)
(A’ + B) = (A’ + B + C + D)·(A’ + B + C + D’)·(A’ + B + C’ +
D)·(A’ + B + C’ + D’)
ostatecznie: (A’ + B)·(A’ + B + C’ + D) = (A’ + B + C +
D)·(A’ + B + C + D’)·(A’ + B + C’ + D)·(A’ + B + C’ + D’)
28
Postać kanoniczna sumacyjna i iloczynowa
• Uprościć układ do jego postaci kanonicznej sumacyjnej
29
Mapa Karnaugh’a
30
Mapa Karnaugh’a
• Mapa Karnaugh’a (K-mapa) zawiera komórki reprezentujące każdą
linię tabeli prawdy
• Wyznaczanie liczby komórek w K-mapie jest więc tym samym co
wyznaczanie liczby kombinacji lub wejść w tabeli prawdy
• Mapa dla 2-óch zmiennych zawiera 4 komórki. Mapa dla 3-ech
zmiennych zawiera 8 komórek. Mapa dla 4-ech zmiennych składa się
z 16 komórek.
31
Mapa Karnaugh’a
32
Mapa Karnaugh’a
• Aby utworzyć K-mapę na podstawie funkcji sumacyjnej należy
wstawić 1 w każdej komórce, dla której funkcja prosta I rodzaju
odpowiada 1 logicznej na wyjściu
• Aby utworzyć K-mapę na podstawie funkcji iloczynowej należy
wstawić 0 w każdej komórce mapy, dla której funkcja prosta II
rodzaju odpowiada 0 logicznemu na wyjściu
• X jest wstawiany w komórkach „bez znaczenia”
Tabela prawdy
K-mapa sumacyjna
K-mapa iloczynowa 33
Mapa Karnaugh’a
• Kiedy mamy już utworzoną mapę Karnaugh’a, następnym
krokiem jest zaznaczenie grup 1-nek (postać sumacyjna)
lub 0-er (postać iloczynowa):
– Każda komórka zawierająca „1” („0”) musi być wzięta pod uwagę
co najmniej raz, jednakże może być zaznaczona tyle razy ile
potrzeba
– Celem jest zebranie wszystkich zaznaczonych komórek w jak
najmniejszą liczbę grup
– Liczba komórek w grupie musi zawsze być potęgą 2, to znaczy, że
grupy mogą mieć 1, 2, 4, 8, 16 komórek
– Każda grupa powinna być tak duża jak tylko się da
– Wejścia „bez znaczenia” mogą być brane pod uwagę jeśli
pomoże to utworzyć większe grupy
34
Mapa Karnaugh’a
• Funkcja boolowska 3-ech zmiennych i jej K-mapa:
Kod Gray’a
Y = A’B’C’ + A’BC’ + AB’C’ + ABC’
Y = C’
Y=B’D’ + BD 35
Mapa Karnaugh’a
36
Mapa Karnaugh’a
• Uprościć następujące równanie używając K-mapy:
X = A‘B + A‘B‘C‘ + ABC‘ + AB‘C‘
• Ponieważ wyrażenie A’B nie zawiera zmiennej C, jest
spełnione bez względu na na to czy C jest w stanie
logicznym wysokim, czy w niskim
37
Mapa Karnaugh’a
• Uprościć następujące równanie używając K-mapy:
X = A’BC’D + AB’C’D + A’B’C’D + ABC’D + ABC’D’ + ABCD
38
Mapa Karnaugh’a
• Uprościć następujące równanie używając K-mapy:
X = BC’D’ + A’BC’D + ABC’D + A’BCD + ABCD
39
Mapa Karnaugh’a
• Uprościć następujące równanie używając K-mapy:
X = A’B’C’ + AC’D’ + AB’ + ABCD’ + A’B’C
40
Mapa Karnaugh’a
• Uprościć następujące równanie używając K-mapy:
X = B’·(CD + C’) + CD’·[(A + B)’ + AB]
• Uwaga: najpierw należy przekształcić równanie do postaci
sumacyjnej: X = B’CD + A’B’CD’ + ABCD’
41
Mapa Karnaugh’a
• Uprościć następujące równanie używając K-mapy:
X = A’D’ + AB’D’ + A’C’D + A’CD
Cztery rogi = BD
42
Mapa Karnaugh’a
• Uprościć następujące równanie używając K-mapy:
X = A’B’D’ + AC’D’ + A’BC’ + ABC’D + AB’CD’
Powtórzenie 43
Mapa Karnaugh’a
• Zbiornik w fabryce chemicznej jest wyposażony w cztery
czujniki HIGH/LOW (1/0) monitorujące temperaturę (T),
ciśnienie (P), poziom płynu (V) oraz wagę (W)
• Alarm włącza się w następujących sytuacjach
przekroczenia parametrów:
– Za wysoki poziom płynu i za wysoka temperatura i za wysokie
ciśnienie
– Za niski poziom płynu i za wysoka temperatura i za wysoka waga
– Za niski poziom płynu i za niska temperatura i za wysokie ciśnienie
– Za niski poziom płynu i za niska waga i za wysoka temperatura
• Zaprojektować układ włączający alarm używając bramek
AOI i inverterów
44
Mapa Karnaugh’a
• A = VTP + V’TW + V’T’P + V’W’T
TP W
T P’
• A = TP + TV’ + PV’
45