Podstawy układów logicznych
Prawa logiki 2/19 Algebra Boole’a Prawa logiki Wyrażenia i funkcje logiczne Bramki logiczne
Wartości zmiennych (sygnałów) mogą przyjmować dwie wartości: Algebra Boole’a 3/19 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.
Algebrą Boole'a nazywa się szóstkę: ( {0,1} , , , , 0 , 1 ) Algebra Boole’a 4/19 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.
Priorytet operatorów logicznych jest następujący: Algebra Boole’a 5/19 Działanie operatorów sumy, iloczynu i negacji ilustrują poniższe tablice prawdy: Priorytet operatorów logicznych jest następujący: negacja, iloczyn, suma
Właściwości algebry Boole'a opisuje twierdzenie: Twierdzenie 1. Algebra Boole’a 6/19 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 - prawa przemienności, 2 - prawa łączności 3 - prawa rozdzielności, 4 - prawa de’Morgana
Algebra Boole’a 7/19
Przykłady wyrażeń logicznych: a , x1 , cd+a(c+b) , x1x2(x3+x4) Wyrażenia logiczne 8/19 Wyrażenia 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.
Wyrażenia logiczne 9/19 W teorii układów logicznych wykorzystuje się także dwa standardowe zapisy wyrażeń logicznych. Są to: 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.: 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.:
Funkcje logiczne 10/19 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. Funkcję logiczną nazywamy niezupełną, jeżeli nie jest określona dla wszystkich możliwych kombinacji Ai zmiennych będących jej argumentami. Nieokreśloność funkcji dla kombinacji Ai oznaczamy 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.
f(x1,x2,x3)={f1(x1,x2,x3);f2(x1,x2,x3);f3(x1,x2,x3)} Funkcje logiczne 11/19 Przykłady: funkcja f1 jest funkcją zupełną funkcja f2 jest funkcją niezupełną funkcja f3 jest funkcją słabookreśloną 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 Funkcje logiczne 12/19 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.
Funkcje logiczne 13/19 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ładzi). 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.
Funkcje logiczne 14/19 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ć: W wielu przypadkach funkcja podana wyrażeniem może być od razu realizowana na odpowiednich układach logicznych.
postać KPS wychodząc z zapisu z postać KPI wychodząc z zapisu z . Funkcje logiczne 15/19 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. 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. Zapisy dziesiętne uwzględniające tzw. jedynki funkcji: f1 = [1, 3, 4, 6, 7] f2 = [0, 1, 4 (2, 7)] f3 = [2, 7 (1, 3, 5, 6)] Zapisy dziesiętne uwzględniające tzw. zera funkcji: 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 postać KPI wychodząc z zapisu z .
Przejście od zapisu dziesiętnego do postaci kanonicznych: Funkcje logiczne 16/19 Przejście od zapisu dziesiętnego do postaci kanonicznych: f2 = [0, 1, 4 (2, 7)] f1 = [0, 2, 5]
Bramki logiczne 17/19
Bramki logiczne 18/19
Bramki logiczne 19/19 Symbol ○ zarówno na wyjściu jak i wejściu układu logicznego oznacza negację sygnału. Przykładowo, bramki na rysunku poniżej są wzajemnie równoważne (i ilustrują jedno z praw de Morgana). Natomiast symbol > przy sygnale wejściowym układu cyfrowego oznacza wrażliwość danego wejścia na wybrane zbocze narastające (trójkąt niezamalowany) lub opadające (trójkąt zaczerniony). Wejścia takie spotyka się często w przerzutnikach lub rejestrach.