150946
Numer indeksu
Michał Moroz
Imię i nazwisko
151021
Numer indeksu
Paweł Tarasiuk
Imię i nazwisko
kierunek: Informatyka semestr 2 grupa II
rok akademicki: 2008/2009
Laboratorium
elektroniki i miernictwa
Ćwiczenie EL3
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.
1 Teoria
W tym rozdziale zostaną omówione pokrótce poszczególne zagadnienia związane z tematem przeprowadzanego ćwiczenia.
1.1 Tablice Karnaugha i minimalizacja funkcji logicznej
Istnieje wiele metod minimalizacji funkcji logicznej – dla przykładu można wymienić tabli- ce 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) po- ukł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:
AB 00 01 11 10 C 0
1
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.
1.2 Bramka NOR i realizacja innych bramek za jej pomocą
Bramka NOR jest odwróceniem bramki OR, tj.
F (A, B) = A + B (1)
Zatem stworzenie bramki OR jest banalnie prostym zadaniem – wystarczy jedynie podłączyć
inwerter na wyjściu bramki NOR.
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 (2)
A · B = A + B (3)
Dzięki tym prawom możemy wyznaczyć wzór funkcji dla bramki AND, który wynosi:
AB = A + B (4)
co, na podstawie wzoru (1) 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:
F (A, B) = AB + BA (5)
Korzystając z praw de Morgana wyznaczamy:
AB = A + B (6)
i określamy końcowy wzór bramki EXOR:
F (A, B) = B + A + A + B (7)
co przekłada się na schemat zaprezentowany na rysunku 1.
74ALS02D
74ALS02D
74ALS02D 74AC04D
74AC04D
74AC04D OUT
IN B IN A
1 2
3 IC1A
4 5
6 IC1B
10 8
9 IC1C
1 2
IC2A
3 4
IC2B
5 6
IC2C J1
J2 J3
Rysunek 1: EXOR skonstruowany za pomocą bramek NOR i NOT zrealizowany na przykłado- wych układach z serii 74xx.
2 Zadania
Wszystkie doświadczenia wykonywane były z użyciem zasilacza DF1731SB3A, nr J3–T6–
210–1 oraz układów EL3-02 oraz ZSL-01.
2.1 Sprawdzanie prawa de Morgana
Wyprowadziliśmy w równaniu (4) wzór na bramkę AND, który odpowiada schematowi przed- stawionemu na rysunku 2.
74ALS02D 74AC04D
74AC04D
OUT IN B
IN A
1 2
3 IC1A
1 2
IC2A
3 4
IC2B
J1
J2 J3
Rysunek 2: 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 1.
Tabela 1: Tabela prawdy dla zastępczego układu AND.
IN A IN B OUT
0 0 0
0 1 0
1 0 0
1 1 1
2.1.1 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.
2.2 Zadanie 10
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 przeniesie-
nia. Jego możliwe stany wejściowe i wyjściowe zostały opisane w tabeli 2.
Tabela 2: Tabela prawdy dla inkrementatora.
IN A IN B IN C IN D OUT A OUT B OUT C OUT D
0 0 0 0 0 0 0 1
0 0 0 1 0 0 1 0
0 0 1 0 0 0 1 1
0 0 1 1 0 1 0 0
0 1 0 0 0 1 0 1
0 1 0 1 0 1 1 0
0 1 1 0 0 1 1 1
0 1 1 1 1 0 0 0
1 0 0 0 1 0 0 1
1 0 0 1 1 0 1 0
1 0 1 0 1 0 1 1
1 0 1 1 1 1 0 0
1 1 0 0 1 1 0 1
1 1 0 1 1 1 1 0
1 1 1 0 1 1 1 1
1 1 1 1 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 3.
INC INC
INC INC
OUT D
OUT C
OUT B
OUT A IN D
IN C
IN B
IN A
VCC
IN
OUT CI CO U1
IN
OUT CI CO U2
IN
OUT CI CO U3
IN
OUT CI CO U4
J1
J2
J3
J4 J5J6J7J8
Rysunek 3: Schemat blokowy układu.
Przyjrzyjmy się pojedynczemu blokowi nazwanemu INC. Rozpatrujemy układ, który posiada następującą tabelę prawdy:
Tabela 3: Tabela prawdy dla układu INC.
CI IN OUT CO
0 0 0 0
0 1 1 0
1 0 1 0
1 1 0 1
Wystarczy szybki rzut oka na powyższą tabelę aby zauważyć, że wyjście OUT zachowuje się
jak wyjście bramki EXOR o wejściach w CI oraz IN, a CO zachowuje się jak AND o wejściach
CI oraz IN. Zatem wystarczy połączyć obie bramki ze sobą, aby uzyskać układ INC. Schemat tego układu został zaprezentowany na rysunku 4.
74ALS02D
74ALS02D
74ALS02D
74ALS02D 74AC04D
74AC04D
74AC04D OUT
IN CI
CO 1
2 3
IC1A
4 5
6 IC1B
10 8
9 IC1C
13 11
12 IC1D
1 2
IC2A
3 4
IC2B
5 6
IC2C J1
J2 J3
J4
Rysunek 4: 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 OUT i do wejścia IN dla wyjścia CO, z czego skorzystamy w końcowym schemacie:
Tabela 4: Tabela prawdy dla układu INC z CI ustawionym na VCC.
CI IN OUT CO
1 0 1 0
1 1 0 1
Podobnie, nie korzystając z wyjścia CO ostatniego układu INC, możemy z końcowego sche- matu usunąć bramkę IC1D przy ostatnim układzie INC.
Uwzględniając powyższe modyfikacje otrzymujemy schemat przedstawiony na rysunku 5.
74ALS02D
74ALS02D
74ALS02D
74ALS02D
74AC04D
74AC04D
74AC04D OUT B
IN B
74ALS02D
74ALS02D
74ALS02D
74ALS02D
74AC04D
74AC04D
74AC04D
OUT C
IN C IN D
74ALS02D
74ALS02D
74ALS02D 74AC04D
74AC04D
74AC04D OUT A
IN A
OUT D
1 2
3 IC1A
4 5
6 IC1B
10 8
9 IC1C
13
11 12
IC1D
1 2
IC2A
3 4
IC2B
5 6
IC2C J1
J2
1 2
3 IC3A
4 5
6 IC3B
10 8
9 IC3C
13
11 12
IC3D
1 2
IC4A
3 4
IC4B
5 6
IC4C J5
J6 J7
1 2
3 IC5A
4 5
6 IC5B
10 8
9 IC5C
1 2
IC6A
3 4
IC6B
5 6
IC6C J9
J10
J3
Rysunek 5: 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 20 bramek (4xNOT, 8xNOR dwuwejściowa, 8xNOR trzywejściowa). Otrzymaliśmy układ który ma identyczną tablicę prawdy z tą przedstawioną w tabeli 2.
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. 6 bramek. Po przetestowaniu połączeń pomiędzy nimi, sprawdziliśmy jeszcze raz schemat i odkryliśmy tam nieprawidłowe połączenie – bramka IC5A była podłączona do wyjścia IC6B 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.
Tabela 5: Tablica Karnaugha dla wyjścia D AB
00 01 11 10
CD
00 1 1 1 1
01 0 0 0 0
11 0 0 0 0
10 1 1 1 1
Tabela 6: Tablica Karnaugha dla wyjścia C AB
00 01 11 10
CD
00 0 0 0 0
01 1 1 1 1
11 0 0 0 0
10 1 1 1 1
Tabela 7: Tablica Karnaugha dla wyjścia B AB
00 01 11 10
CD
00 0 1 1 0
01 0 1 1 0
11 1 0 0 1
10 0 1 1 0
Tabela 8: Tablica Karnaugha dla wyjścia A AB
00 01 11 10
CD
00 0 0 1 1
01 0 0 1 1
11 0 1 0 1
10 0 0 1 1
Poszczególne funkcje reprezentują minimalne funkcje wyczytane z tablic. Dla uproszczenia będziemy się posługiwać indeksami macierzowymi tablicy, od a
11do a
44.
F D(A, B, C, D) = D (8)
gdzie pierwszy wyraz to pierwszy i czwarty wiersz tabeli 5.
F C(A, B, C, D) = CD + CD (9)
gdzie pierwszy wyraz to drugi wiersz tabeli 6 a drugi wyraz to czwarty wiersz tej tabeli.
F B(A, B, C, D) = BC + BD + BCD (10)
gdzie pierwszy wyraz to kwadrat a
12– a
23tabeli 7, drugi wyraz to kwadrat złożony z a
12– a
13oraz a
42i a
43, a trzeci wyraz to prostokąt a
31i a
34.
F A(A, B, C, D) = AB + AC + AD + ABCD (11) gdzie pierwszy wyraz to czwarta kolumna tabeli 8, drugi wyraz to kwadrat a
13– a
24, trzeci wyraz to kwadrat a
13– a
14oraz a
43– a
44, a czwarty wyraz to a
32.
Otrzymujemy układ analogiczny, ale nietrywialny do minimalizacji ze względu na brak jaw- nych 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 pre- zentuje się na rysunku 6.
74ALS08D
74ALS08D
74ALS08D
74ALS08D
74ALS08D
74ALS08D
74ALS08D
74ALS08D
74ALS08D
74ALS08D
74ALS08D
74LS32D
74LS32D
74LS32D
74LS32D 74LS32D 74LS32D
74AC04D
74AC04D
74AC04D
74AC04D
OUT D
OUT C
OUT B
OUT A IN D
IN C
IN B
IN A
1 2
3 IC1A
4 5
6 IC1B
9
10 8 IC1C
12 13
11 IC1D
1 2
3 IC2A
4 5
6 IC2B
9
10 8 IC2C
12 13
11 IC2D
1 2
3 IC3A
4 5
6 IC3B
9 10
8 IC3C
1 2
3 IC4A
4 5
6 IC4B
9 10
8 IC4C
12 13
11 IC4D 1 2
3 IC5A 4
5
6 IC5B
1 2
IC6A
3 4
IC6B
5 6
IC6C
9 8
IC6D
J1
J2
J3
J4 J5
J6
J7
J8