TEMAT: Funktory logiczne. LEKCJA 1. Bramką logiczną (funktorem) nazywa się układ elektroniczny realizujący funkcje logiczne jednej lub wielu zmiennych. Sygnały wejściowe i wyjściowe bramki przyjmują wartość 0 lub 1. 2. Rodzaje bramek logicznych: NOT negacja (nie); AND iloczyn logiczny lub koniunkcja (i); OR suma logiczna lub alternatywa (lub); NAND (Not-AND) negacja iloczynu logicznego (nie i); NOR (Not-OR) negacja sumy logicznej (nie lub); EX-OR (Exclusive OR) suma modulo 2 lub różnica symetryczna (albo); EX-NOR (Exclusive Not OR) zaprzeczenie różnicy symetrycznej (nie albo); 3. Wszystkie bramki logiczne, z wyjątkiem NOT mogą mieć większą liczbę wejść. Bramki logiczne należą do grupy cyfrowych układów kombinacyjnych, tzn. układów w których stan wyjść jednoznacznie zależy od aktualnego stanu wejść. 4. Podstawowe bramki logiczne: Bramka OR czyli funkcja logiczna lub - jest to układ sumy logicznej, który daje na wyjściu sygnał jeden, jeżeli tą wartość ma co najmniej jeden z sygnałów. Oznacza to, że zero pojawia się wtedy i tylko wtedy, kiedy oba sygnały są wartości zero. Bramka AND czyli funkcja logiczna i, jest to układ logiczny, który spełnia następujące funkcje: na wyjściu pojawia się sygnał 1 wtedy i tylko wtedy, kiedy oba sygnały wejściowe posiadają wartość logiczną jeden. Bramka NOT (inwerter) realizuje funkcje logiczną nie. Jest to układ zmieniający wartość logiczną sygnału na przeciwną tzn. daje na wyjściu sygnał jeden, gdy na wejściu pojawia się zero i odwrotnie. Bramka NOR (funkcja logiczna nie-lub, układ sumy zanegowanej) jest to układ na którego wyjściu pojawia się sygnał jeden wtedy i tylko wtedy, gdy na wszystkich wejściach istnieje sygnał zero. Bramka NAND (funkcja logiczna nie-i ) jest to układ logiczny iloczynu zanegowanego, dający na wyjściu wartość zero wtedy i tylko wtedy, gdy na wejściu wszystkie sygnały mają wartość jeden. Bramki NAND oraz NOR nazywa się funkcjonalnie pełnymi, ponieważ przy ich użyciu (samych NAND lub samych NOR) można zbudować układ realizujący dowolną funkcję logiczną. Bramkę logiczną EXOR często wykorzystywana jest w układach arytmetyki (sumatory).
5. Przykład Przedstaw funkcje za pomocą odpowiednich bramek y = ((~a) (~b)) + (a (~b)) + (a b) W obecnej postaci do zrealizowania tego wyrażenia potrzebna jest siec 6 bramek logicznych: dwie NOT do uzyskania negacji sygnałów logicznych a i b; trzy AND do wykonania kolejnych koniunkcji; jedna OR o trzech wejściach do wykonania alternatywy trzech koniunkcji; 6. 7. Korzystając z prawa algebry Boole'a wyżej wymienione wyrażenie można wyrazić za pomocą: y=((~a) (~b)) + (a (~b)) + (a b) = ((~a) (~b)) + (a ((~b) + b)) = ((~a) (~b)) + (a 1) = ((~a) (~b)) + a = a + (~b) Dokonane uproszczenia nazywa się minimalizacją funktora logicznego (funkcji logicznej) i stanowi jedno z podstawowych zagadnień techniki cyfrowej. Dzięki rachunkowi logicznemu można upraszczać złożone funktory logiczne, co daje wymierne korzyści w postaci uproszczenia struktury układów logicznych, mniejszej liczby bramek, mniejszego kosztu urządzenia wynikowego, zwiększenia niezawodności działania, zmniejszenia poboru energii. 8. Każdy, dowolnie skomplikowany funktor logiczny da się przy pomocy algebry Boole'a sprowadzić do postaci, w której występują tylko same operacje NAND: y = (a b) + (c (~d)) + (a c) = ~(~((a b) + (c (~d)) + (a c))) = ~(~(a b) (~(c (~d))) (~(a c)))
Przy konstruowaniu sieci logicznych istnieje tendencja sprowadzania wszystkich funkcji do funkcji NAND. Dzięki czemu układ zbudowany jest z jednolitych elementów i jest tańszy. 9. Bramka trójstanowa, bramka TS (ang. three-state) - jest to bramka logiczna, która na wyjściu, oprócz dwóch stanów logicznych (0 i 1 logicznej), może przyjmować stan logicznie nieokreślony. Stan ten nazywany jest stanem wysokiej impedancji i oznaczany jest (Z). Bramki trójstanowe, oprócz standardowych wejść, posiadają również wejście dodatkowe S. NAND TS - kiedy wejście S przyjmuje wartość 1 logicznej, bramka NAND TS działa jak zwykła bramka NAND. Natomiast kiedy na wejściu S pojawia się 0 logiczne, na wyjściu bramki jest stan wysokiej impedancji. NOT TS - nazywana jest również negatorem trójstanowym. W bramce NOT TS wejście S jest zanegowane, więc pracuje ona tak jak zwykły negator dla S = 0. Natomiast dla S=1, na wyjściu negatora trójstanowego jest stan wysokiej impedancji. 10. Koder jest cyfrowym układem kombinacyjnym mającym k wejść oraz n wyjść. Służy do przetworzenia kodu 1 z k, czyli zamianie informacji z jednego tylko aktywnego wejścia układu, w określony binarny kod wyjściowy. Ponieważ istnieje możliwość jednoczesnej aktywacji więcej niż jednego wejścia informacyjnego, koder uznaje zawsze informację z najstarszego w hierarchii wejścia (jednocześnie ignorując informacje na pozostałych). Na wyjściu kodera pojawia się stan odpowiadający wybranemu wejściu, przedstawiony w żądanym kodzie binarnym. Rys. Koder priorytetowy Kodery są stosowane głównie do wprowadzania informacji w postaci liczb dziesiętnych (np. z klawiatury) i tłumaczenie jej na kod zrozumiały dla układu cyfrowego. 11. Dekoder działa odwrotnie do kodera, tzn. zamienia kod binarny na wejściu na określony kod wyjściowy 1 z n. Ma więc n wyjść, przy czym każdemu ze słów wejściowych jest przyporządkowany sygnał aktywny (zwykle logiczne zero) pojawiający się tylko na wybranym, jednym z n wyjść (pozostałe zmienne wyjściowe mają wartość przecinkową).
Rys. Dekoder 12. Multiplekser to układ kombinacyjny, najczęściej cyfrowy. Jest układem komutacyjnym (przełączającym) sygnały cyfrowe, mającym k wejść informacyjnych (zwanych też wejściami danych), n wejść adresowych (sterujących) oraz jedno wyjście y. Ma też wejście sterujące działaniem układu, zwane wejściem strobującym S. Działanie multipleksera polega na wybraniu określonego sygnału wejściowego x i przełączeniu go do wyjścia y. Numer wejścia, czyli sygnał wejściowy jest określony przez podanie jego numeru na wejście adresowe a. Wejście strobujące S służy do zablokowaniu pracy multipleksera. Jeśli na wejście strobujące zostanie podane logiczne zero, to wyjście y przyjmuje określony stan logiczny (zazwyczaj zero), niezależny od stanu wejść x i a. Rys. Multiplekser (lewy) (x - wejścia informacyjne, a wejścia adresowe, S wejście strobujące, y wyjście) i demultipkser (prawy) (x - wejście informacyjne, a wejścia adresowe, S wejście strobujące, y wyjścia). 13. Demultiplekser jest układem mającym jedno wejście x, n wejść adresowych a oraz k wyjść, a także wejście strobujące S. Pełni funkcję odwrotną do multipleksera. Jego działanie polega na przełączeniu sygnału wejścia x do określonego wyjścia y. Numer wyjścia jest określony przez podanie jego numeru na wejście adresowe a. Na pozostałych wyjściach występuje stan logiczny zero. Jeśli na wejście strobujące zostanie podane logiczne zero, to wyjścia y przyjmują określony stan logiczny (zwykle 0), niezależnie ani od stanu wejścia x, ani wejść adresowych a. 14. Przerzutnik jest najprostszym układem sekwencyjnym, umożliwiający przechowywanie najmniejszej porcji informacji, czyli jednego bitu. Przerzutniki dzielą się na: asynchroniczne RS w których zmiana stanu wejść może spowodować natychmiastową zmianę stanu wyjść; synchroniczne RS, JK, T, D w których stan wyjść może ulec zmianie wyłącznie w określonych chwilach, wyznaczonym aktywnym zboczem przebiegu czasowego (zegarowego, taktującego).
Przerzutnik RS może być asynchroniczny (brak wejścia zegarowego) lub synchroniczny (jest wejście zegarowe), ale zawsze występuje tzw. stan logiczny zabroniony. Pozostałe przerzutniki są przerzutnikami dwutaktowymi (tzw masterslave M-S). Wejścia wyjścia przerzutników: wejścia informacyjne (oznaczane R, S, J-K, T, D); wejścia programujące: ustawiające (ozn. S Set) i zerujące (ozn. R-Reset); wejście zegarowe (synchroniczne) (ozn. C Clock); wyjście proste (ozn. Q); wyjście zanegowane (ozn. NOT Q); Wpis do przerzutnika (pojawienie się informacji na wyjściu) jest wyzwalany: zboczem ujemnym (opadającym) : przerzutniki JK i T; zboczem dodatnim (narastającym) : przerzutnik D; Przerzutnik RS asynchroniczny Stan w którym oba wyjścia są w stanie niskim jest stanem niedozwolonym. Jest on niezgodny z definicją stanów wyjściowych przerzutnika, zgodnie z którą stan obu wyjść musi być przeciwny. R S Q n 1 1 Stan zabroniony 1 0 0 0 1 1 0 0 Q n-1 Rys. Schemat graficzny, tabela charakterystyczna. Przerzutnik JK JK jest przerzutnikiem synchronicznym, co oznacza, że reaguje na stan wejść tylko przy podaniu odpowiedniego sygnału na wejście zegarowe. Wyjątkiem są wejścia asynchroniczne R i S. Podanie stanu wysokiego na wejście Set powoduje ustawienie w stan wysoki przerzutnika niezależnie od tego, czy został dostarczony sygnał zegarowy. Wejście Reset w analogiczny sposób zeruje przerzutnik. J K Q n 1 1 Not Q n-1 1 0 1 0 1 0 0 0 Q n-1 Rys. Schemat graficzny, tabela charakterystyczna. Przerzutni T To taki przerzutnik, który po podaniu wartości logicznej 1 na wejście T i wyzwoleniu zboczem sygnału zegarowego, zmienia stan wyjść na przeciwny. Podanie 0 na wejście T powoduje zachowanie bieżącego stanu przerzutnika.
T Q n 0 Q n-1 1 Not Q n-1 Rys. Schemat graficzny, tabela charakterystyczna. D Przerzutnik D Jeden z podstawowych rodzajów przerzutników synchronicznych, nazywany układem opóźniającym. Przerzutnik ten przepisuje stan wejścia informacyjnego D na wyjście Q. Przepisanie informacji następuje tylko przy odpowiednim stanie wejścia zegarowego. Q n 0 0 1 1 Rys. Schemat graficzny, tabela charakterystyczna. 15. Licznikiem nazywamy układ cyfrowy (sekwencyjne) służący do zliczania i pamiętania liczby impulsów wejściowych. Zbudowane są z odpowiednio połączonych przerzutników (JK lub T). Podstawowymi parametrami charakteryzującymi licznik są jego pojemność N oraz kod, w którym jest podawana liczba zliczonych impulsów. Pojemność N określa maksymalną liczbę impulsów, którą może zliczyć licznik. Po przekroczeniu tej wartości licznik zaczyna zliczanie impulsów od początku. Pojemność zależy od liczby przerzutników n wchodzących w skład licznika i wynosi N = 2 n Podział liczników jest następujący: ze względu na liczbę N stanów występujących w jednym pełnym cyklu: - modulo N (mod N) (licznik przechodzi przez wszystkie stany i następnie cykl jest powtarzany); - do N (licznik przechodzi przez wszystkie stany cyklu i pozostaje w stanie ostatnim, w celu powtórzenia cyklu należy sprowadzić go do stanu początkowego wyzerować); pod względem długości cyklu: - stałej długości cyklu (pojemności); - programowanej długości cyklu (pojemności); pod względem kierunku zliczania: - jednokierunkowe liczące w przód (dodające); - jednokierunkowe liczące wstecz (odejmujące); - dwukierunkowe, rewersyjne (dodające i odejmujące); pod względem sposobu oddziaływania impulsów: - asynchroniczne (szeregowe); - synchroniczne (równoległe); - asynchroniczno-synchroniczne;
Rys. Schemat logiczny, przebiegi czasowe i tablica prawdy licznika szeregowego zbudowanego z trzech przerzutników typu JK. 16. Rejestrem nazywamy układ cyfrowy (sekwencyjne) przeznaczony do krótkoterminowego przechowywania niewielkich ilości informacji lub do zamiany postaci informacji z równoległej na szeregową albo odwrotnie. Występuje w wielu układach związanych z technika cyfrową, miedzy innymi rejestry są elementami mikroprocesora. Rejestrem są to układ zbudowane z przerzutników (np. typu D) Liczba bitów informacji, jaka może być przechowywana w rejestrze, jest nazywana długością rejestru i odpowiada zawsze liczbie przerzutników, z których jest zbudowany rejestr. Ze sposobem wprowadzania i wyprowadzania informacji w rejestrach wiąże się podział rejestrów na następujące grupy: rejestry z wejściem i wyjściem szeregowy (SISO); rejestry z wejściem i wyjściem równoległym (PIPO); rejestry z wejściem szeregowym i wyjściem równoległym (SIPO); rejestry z wejściem równoległym i wyjściem szeregowym (PISO). 17. Sumator jest cyfrowym układem kombinacyjnym, który wykonuje operacje dodawania dwóch (lub więcej) liczb dwójkowych. Rozróżnia się dwa główne rodzaje sumatorów: z przeniesieniami szeregowymi; z przeniesieniami równoległymi.