Numer indeksu 0 Michał Moroz Imię i nazwisko Numer indeksu 0 Paweł Tarasiuk Imię i nazwisko kierunek: Informatyka semestr grupa II rok akademicki: 00/00 Laboratorium elektroniki i miernictwa Ćwiczenie EL Realizacja logicznych układów kombinacyjnych z bramek NOR Ocena:
Streszczenie Sprawozdanie z ćwiczenia, którego celem było udowodnienie tautologii oraz zbudowanie układów logicznych za pomocą bramek NOR. Teoria W tym rozdziale zostaną omówione pokrótce poszczególne zagadnienia związane z tematem przeprowadzanego ćwiczenia.. Tablice Karnaugha i minimalizacja funkcji logicznej Istnieje wiele metod minimalizacji funkcji logicznej dla przykładu można wymienić tablice Karnaugha, metodę Espresso (rozwiązanie bazujące na heurystyce) bądź metodę Quine a- McCluskeya (metodę identyczną do tablic Karnaugha, ale znacznie prostszą w implementacji dla komputerów). W ogólności służą one do zbudowania układu opisanego pewną funkcją jego wejść za pomocą jak najmniejszej ilości bramek. W metodzie Karnaugh korzystamy z tablicy, w której kolumny i rzędy to kolejne możliwe stany logiczne poszczególnych wejść układu (część wejść jest kolumnami, a część rzędami) poukładane za pomocą kodu Graya, czyli tak, aby za każdym razem zmieniał się tylko jeden bit. Dla przykładu, w układzie o trzech wejściach A, B oraz C, tablica ta będzie wyglądała tak: C 0 AB 00 0 0 Następnie taką tablicę wypełniamy wartościami znajdującymi się w tabeli prawdy funkcji, którą chcemy zminimalizować. Po czym zaznaczamy jak największe obszary jedynek (lub zer) stosując się do kilku prostych zasad - obszary muszą być prostokątne lub kwadratowe, mogą nachodzić na siebie, możliwe jest także sklejanie krawędzi dla przykładu, łączenie pierwszego i ostatniego elementu w danym wierszu/kolumnie jest dozwolone. Po zaznaczeniu jak najmniejszej ilości jak największych obszarów wystarczy potraktować taki obszar jako jedną funkcję logiczną a następnie zsumować wszystkie takie funkcje. Sama metoda jest dość intuicyjna i przeznaczona dla ludzi, nie dla komputerów. Problemem jest mała ilość zmiennych, dla których jest ona skuteczna przy bardziej skomplikowanych układach obliczanie tą metodą jest żmudne i czasochłonne, niekoniecznie też dojdziemy do całkowitego minimum. Innym problemem jest to, że metoda ta pozwala minimalizować pojedynczą funkcję układ z jednym wyjściem. Metoda ta nie daje automatycznie rozwiązania dla układu o kilku różnych wyjściach.. Bramka NOR i realizacja innych bramek za jej pomocą Bramka NOR jest odwróceniem bramki OR, tj. F (A, B) = A + B () Zatem stworzenie bramki OR jest banalnie prostym zadaniem wystarczy jedynie podłączyć inwerter na wyjściu bramki NOR. Michał Moroz, Paweł Tarasiuk, ćw. EL / 0
Inwerter jest też bardzo prosty do wykonania za pomocą bramki NOR, można dokonać tego łącząc wszystkie wejścia bramki ze sobą. Bramkę AND można osiągnąć za pomocą praw de Morgana, które zostały przedstawione poniżej: A + B = AB () A B = A + B () Dzięki tym prawom możemy wyznaczyć wzór funkcji dla bramki AND, który wynosi: AB = A + B () co, na podstawie wzoru () możemy osiągnąć za pomocą bramki NOR z odwróconymi obydwoma wejściami. Identycznie wygląda sprawa dla większej ilości wejść. Tablice Karnaugha operują tylko na negacjach oraz na sumie i iloczynie, więc pozostałe bramki moglibyśmy spokojnie pominąć, jednak metoda, której użyliśmy do stworzenia jednego z układów znacznie się upraszcza, kiedy zdefiniujemy jeszcze bramkę EXOR. Funkcja wyznaczona za pomocą metody Karnaugha dla bramki EXOR wygląda tak: Korzystając z praw de Morgana wyznaczamy: i określamy końcowy wzór bramki EXOR: F (A, B) = AB + BA () AB = A + B () co przekłada się na schemat zaprezentowany na rysunku. F (A, B) = B + A + A + B (7) IN A J ICA ICA ICB ICC 0 ICC J IN B J ICB Rysunek : EXOR skonstruowany za pomocą bramek NOR i NOT zrealizowany na przykładowych układach z serii 7xx. Zadania Wszystkie doświadczenia wykonywane były z użyciem zasilacza DF7SBA, nr J T 0 oraz układów EL-0 oraz ZSL-0. Michał Moroz, Paweł Tarasiuk, ćw. EL / 0
. Sprawdzanie prawa de Morgana Wyprowadziliśmy w równaniu () wzór na bramkę AND, który odpowiada schematowi przedstawionemu na rysunku. IN A ICA J ICA J IN B ICB J Rysunek : AND skonstruowany za pomocą bramek NOR i NOT. Na podstawie tego schematu zbudowaliśmy układ zastępczy bramki AND i sprawdziliśmy jego stany. Jego tabela prawdy znajduje się w tabeli. Tabela : Tabela prawdy dla zastępczego układu AND. IN A IN B 0 0 0 0 0 0 0.. Wnioski Tabela prawdy zbadanego układu pokrywa się z tabelą prawdy bramki AND, z czego wynika prawdziwość prawa de Morgana dla iloczynu. Zaprezentowany układ jest najprostszą możliwą realizacją bramki AND.. Zadanie 0 Do tego zadania podeszliśmy nieco odmienną metodą, nie korzystając z tablic Karnaugha, zatem najpierw ją opiszemy a potem udowodnimy za pomocą tablic. Do zrealizowania był układ inkrementatora szesnastkowego bez wyjścia i wejścia przeniesienia. Jego możliwe stany wejściowe i wyjściowe zostały opisane w tabeli. Michał Moroz, Paweł Tarasiuk, ćw. EL / 0
Tabela : Tabela prawdy dla inkrementatora. IN A IN B IN C IN D A B C D 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Zauważyliśmy, że układ ten można rozłożyć na cztery jednakowe inkrementatory binarne z wejściem i wyjściem przeniesienia tak jak zostało to przedstawione na rysunku. J A J B J C J D VCC U INC U INC U INC U INC CO CI CO CI CO CI CO CI IN A J IN B J7 IN C J IN D IN IN IN J IN Rysunek : Schemat blokowy układu. Przyjrzyjmy się pojedynczemu blokowi nazwanemu INC. Rozpatrujemy układ, który posiada następującą tabelę prawdy: Tabela : Tabela prawdy dla układu INC. CI IN CO 0 0 0 0 0 0 0 0 0 Wystarczy szybki rzut oka na powyższą tabelę aby zauważyć, że wyjście zachowuje się jak wyjście bramki EXOR o wejściach w CI oraz IN, a CO zachowuje się jak AND o wejściach Michał Moroz, Paweł Tarasiuk, ćw. EL / 0
CI oraz IN. Zatem wystarczy połączyć obie bramki ze sobą, aby uzyskać układ INC. Schemat tego układu został zaprezentowany na rysunku. CI J ICA ICA ICB ICC 0 ICC J IN J ICB ICD J CO Rysunek : Schemat pojedynczego układu INC. Jeśli wejście CI pierwszego układu podłączymy na stałe do VCC, okazuje się, że układ minimalizuje się nam do pojedynczego inwertera dla wyjścia i do wejścia IN dla wyjścia CO, z czego skorzystamy w końcowym schemacie: Tabela : Tabela prawdy dla układu INC z CI ustawionym na VCC. CI IN CO 0 0 0 Podobnie, nie korzystając z wyjścia CO ostatniego układu INC, możemy z końcowego schematu usunąć bramkę ICD przy ostatnim układzie INC. Uwzględniając powyższe modyfikacje otrzymujemy schemat przedstawiony na rysunku. Michał Moroz, Paweł Tarasiuk, ćw. EL / 0
IN D J7 ICA ICA ICB ICC 0 ICC J D J C IN C J ICB ICD ICA ICA ICB ICC 0 ICC J B IN B J ICB ICD ICA ICA ICB ICC 0 ICC J A IN A J0 ICB Rysunek : Schemat inkrementatora. Brakujące bramki NOT zastąpiliśmy bramkami NOR którym połączono wejścia. W podobny sposób zastąpiliśmy brakujące dwuwejściowe bramki NOR trójwejściowymi tak, aby zmieścić się w limicie 0 bramek (xnot, xnor dwuwejściowa, xnor trzywejściowa). Otrzymaliśmy układ który ma identyczną tablicę prawdy z tą przedstawioną w tabeli. Podczas rysowania schematu układu popełniliśmy błąd który spowodował nieprawidłowe stany na wyjściu A. Sprawdzając doświadczalnie działanie wyjść B, C oraz D, nie znaleźliśmy w nich żadnych problemów, dzięki czemu mogliśmy zawęzić miejsce występowania problemu do ok. bramek. Po przetestowaniu połączeń pomiędzy nimi, sprawdziliśmy jeszcze raz schemat i odkryliśmy tam nieprawidłowe połączenie bramka ICA była podłączona do wyjścia ICB a nie do jego wejścia. Po zastosowaniu odpowiedniej poprawki układ zaczął działać poprawnie. Spróbujmy teraz sporządzić układ metodą Karnaugha. Michał Moroz, Paweł Tarasiuk, ćw. EL 7 / 0
Tabela : Tablica Karnaugha dla wyjścia D AB 00 0 0 00 CD 0 0 0 0 0 0 0 0 0 0 Tabela : Tablica Karnaugha dla wyjścia C AB 00 0 0 00 0 0 0 0 CD 0 0 0 0 0 0 Tabela 7: Tablica Karnaugha dla wyjścia B AB 00 0 0 00 0 0 CD 0 0 0 0 0 0 0 0 Tabela : Tablica Karnaugha dla wyjścia A AB 00 0 0 00 0 0 CD 0 0 0 0 0 0 0 0 Poszczególne funkcje reprezentują minimalne funkcje wyczytane z tablic. Dla uproszczenia będziemy się posługiwać indeksami macierzowymi tablicy, od a do a. gdzie pierwszy wyraz to pierwszy i czwarty wiersz tabeli. F D(A, B, C, D) = D () F C(A, B, C, D) = CD + CD () gdzie pierwszy wyraz to drugi wiersz tabeli a drugi wyraz to czwarty wiersz tej tabeli. F B(A, B, C, D) = BC + BD + BCD (0) Michał Moroz, Paweł Tarasiuk, ćw. EL / 0
gdzie pierwszy wyraz to kwadrat a a tabeli 7, drugi wyraz to kwadrat złożony z a a oraz a i a, a trzeci wyraz to prostokąt a i a. F A(A, B, C, D) = AB + AC + AD + ABCD () gdzie pierwszy wyraz to czwarta kolumna tabeli, drugi wyraz to kwadrat a a, trzeci wyraz to kwadrat a a oraz a a, a czwarty wyraz to a. Otrzymujemy układ analogiczny, ale nietrywialny do minimalizacji ze względu na brak jawnych zależności pomiędzy konkretnymi funkcjami. Wcale nie jest prosto wpaść na taką definicję funkcji A, aby zawierała w sobie wywołania funkcji lub podfunkcji B, C, oraz D. Niejasne jest także istnienie wyjścia przeniesienia. Schemat będący dokładną kalką tych czterech funkcji prezentuje się na rysunku. IN D D IN C ICA ICB ICB 7LSD C IN B ICA ICA 7LSD B 7LSD ICC 0 ICD ICB ICC 0 J ICA J J ICB J J7 ICC ICA J IN A J ICD ICD ICA ICB ICB 7LSD ICC 0 7LSD ICD 7LSD J A ICC 0 Rysunek : Schemat układu wyznaczonego z tablic Karnaugha... Wnioski Mimo że każda z pojedynczych funkcji wyznaczonych metodą Karnaugha jest zminimalizowana, to ich połączenie nie jest, co prowadzi do konieczności dalszego minimalizowania funk- Michał Moroz, Paweł Tarasiuk, ćw. EL / 0
cji, które nie jest prostym zadaniem. Porównując obydwa podejścia okazuje się, że rozdzielanie skomplikowanego układu na czynniki pierwsze okazało się być trafionym pomysłem, a brutalne korzystanie z tablic Karnaugha nie poskutkowało. Wnioski końcowe Metoda Karnaugha okazała się problematyczną dla układów kombinacyjnych z kilkoma wyjściami. Korzystanie z niej znacząco upraszcza tworzenie prostych, podstawowych układów, jednak może prowadzić do nadmiernie skomplikowanych układów podczas prób łączenia poszczególnych funkcji w większe całości. Żródłami błędów w ćwiczeniu (poza błędem studenta) mogły być niestykające połączenia i uszkodzone kable połączeniowe jednak przy odrobinie uwagi i uprzednim sprawdzaniu połączeń można byłoby wyeliminować, przynajmniej częściowo, to zagrożenie. Literatura [] Bogdan Żółtowski, Wprowadzenie do zajęć laboratoryjnych z fizyki, Skrypt Politechniki Łódzkiej, Łódź 00. [] David Halliday, Robert Resnick, Jearl Walker, Podstawy fizyki, Tom., Wydawnictwo Naukowe PWN, Warszawa 00. Michał Moroz, Paweł Tarasiuk, ćw. EL 0 / 0