Technika Cyfrowa: Wykład NR 2

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 45

Technika cyfrowa

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

 A’·B + A·B’ = (A’·B)’’ + (A·B’)’’ – podwójna negacja AB Y


(A’·B)’’ + (A·B’)’’ = {[B·(A’ + B’)]’·[A·(A’ + B’)]’}’ = 00 0
= {[B·(A·B)’]’·[A·(A·B)’]’} – prawo De Morgana 01 1
10 1
11 0

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=C+B·(A+C) = C+BA +BC =C+BC+AB=(pochłanianie) =C+AB

• 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)

f-cje I rodz. f-cje II rodz.


a’·b’·c’ a+b+c
a’·b’·c a+b+c’
a’·b·c’ a+b’+c
a’·b·c a+b’+c’
a·b’·c’ a’+b+c
a·b’·c a’+b+c’
a·b·c’ a’+b’+c
a·b·c a’+b’+c’
21
Postać kanoniczna sumacyjna i iloczynowa
• Opisana tabelą prawdy funkcja logiczna może być
następnie przedstawiona na dwa sposoby:
1. Funkcje proste I rodzaju odpowiadające liniom dla których
wyjście przyjmuje stan 1 w tabeli prawdy są wybierane i
sumowane z użyciem operatora + (OR) – suma iloczynów –
postać kanoniczna sumacyjna
2. Funkcje proste II rodzaju odpowiadające liniom dla których
wyjście przyjmuje stan 0 w tabeli prawdy są mnożone z użyciem
operatora · (AND) – iloczyn sum – postać kanoniczna iloczynowa
• Suma iloczynów i iloczyn sum zwracają identyczne wyniki

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)

• Po zapisaniu w wymaganej formie funkcja logiczna może


zostać uproszczona w celu minimalizacji liczby bramek
logicznych potrzebnych do jej realizacji

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

Realizacja postaci kanonicznej Realizacja postaci kanonicznej


sumacyjnej (suma iloczynów) iloczynowej (iloczyn sum)

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

• X = AB’ + AC + B’C’ + A’BD’

29
Mapa Karnaugh’a

• Upraszczanie funkcji logicznych z wykorzystaniem algebry Boole’a


wymaga pomysłowości, intuicji i sporego doświadczenia
• Mapowanie Karnaugh’a, wprowadzone przez Maurice Karnaugh w
1953, jest metodą minimalizacji, która pozwala zawsze uzyskać
najprostszą możliwą postać układu logicznego
• Mapa Karnaugh’a jest graficzną reprezentacją funkcji logicznej
• Może być narysowana bezpośrednio na podstawie postaci
kanonicznej sumacyjnej lub iloczynowej wyrażenia boolowskiego
• Może też być narysowana na podstawie tablicy prawdy, jednakże z
dodatkową operacją zapisywania postaci sumacyjnej lub
iloczynowej.

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

• K-mapa może być użyta do upraszczania postaci funkcji


mających dwie, trzy, cztery, pięć lub nawet sześć
zmiennych wejściowych
• Jednakże, rozwiązywanie 5-cio lub 6-cio wejściowych
K-map jest bardzo żmudne
• Zmienne wejściowe K-mapy muszą być ułożone w taki
sposób aby przechodząc między sąsiednimi komórkami
zmianie ulegała tylko jedna zmienna wejściowa
• Wiersze i kolumny na brzegach mapy również przyjmuje
się jako sąsiednie (topologia torusa)

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’

• Po utworzeniu K-mapy i zakreśleniu sąsiednich komórek w grupy,


wyznaczamy wyrażenia składowe postaci kanonicznej sumacyjnej
(iloczynowej) znajdując zmienne, które pozostają stałe w danej
grupie (tylko te zmienne są istotne)

Y=B’D’ + BD 35
Mapa Karnaugh’a

• Weźmy równanie: X = A’·(B’C + B’C’) + A’BC’


• Postać sumacyjna: X = A’B’C + A’B’C’ + A’BC’
• Postać zoptymalizowana: X = A’B’ + A’C’

To są zmienne, które pozostają


stałe w danej grupie

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

V’W’ V’W VW VW’


T
T’P’
P
T’P
TP
V
V 1

TP W

T P’

• A = TP + TV’ + PV’

45

You might also like