Laboratorium elektroniki i miernictwa Ćwiczenie EL3

Transkrypt

Laboratorium elektroniki i miernictwa Ćwiczenie EL3
150946
Numer indeksu
151021
Numer indeksu
Michał Moroz
Imię i nazwisko
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ć tablice Karnaugha, metodę Espresso (rozwiązanie bazujące na heurystyce) bądź metodę Quine’aMcCluskeya (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:
00
C
AB
01 11
10
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.
Michał Moroz, Paweł Tarasiuk, ćw. EL3
2 / 10
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.
IN A
IC2A
1
J3
2
74AC04D
IC1A
2
1
IC1C
3
IC2C
8
10
74ALS02D
5
6
9
IC1B
J1
OUT
74AC04D
5
4
74ALS02D
6
IN B
J2
IC2B
3
4
74ALS02D
74AC04D
Rysunek 1: EXOR skonstruowany za pomocą bramek NOR i NOT zrealizowany na przykładowych 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.
Michał Moroz, Paweł Tarasiuk, ćw. EL3
3 / 10
2.1
Sprawdzanie prawa de Morgana
Wyprowadziliśmy w równaniu (4) wzór na bramkę AND, który odpowiada schematowi przedstawionemu na rysunku 2.
IC2A
IN A
1
J3
2
74AC04D
IC1A
2
1
3
IC2B
IN B
3
J2
4
J1
OUT
74ALS02D
74AC04D
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 przeniesienia. Jego możliwe stany wejściowe i wyjściowe zostały opisane w tabeli 2.
Michał Moroz, Paweł Tarasiuk, ćw. EL3
4 / 10
IN A
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
Tabela 2: Tabela prawdy dla inkrementatora.
IN B IN C IN D OUT A OUT B OUT C
0
0
0
0
0
0
0
0
1
0
0
1
0
1
0
0
0
1
0
1
1
0
1
0
1
0
0
0
1
0
1
0
1
0
1
1
1
1
0
0
1
1
1
1
1
1
0
0
0
0
0
1
0
0
0
0
1
1
0
1
0
1
0
1
0
1
0
1
1
1
1
0
1
0
0
1
1
0
1
0
1
1
1
1
1
1
0
1
1
1
1
1
1
0
0
0
OUT D
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
OUT D
J1
OUT C
J2
VCC
OUT
IN D
J6
CI
IN
CO
J5
CI
IN
CO
OUT
U1
INC
IN C
IN
CI
J7
J8
IN A
CO
IN B
CI
IN
CO
U2
INC
OUT
U3
INC
OUT
U4
INC
OUT B
J3
OUT A
J4
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.
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
Michał Moroz, Paweł Tarasiuk, ćw. EL3
5 / 10
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.
CI
IC2A
1
J3
2
74AC04D
IC1A
2
1
IC1C
3
IC2C
8
10
74ALS02D
5
6
9
IC1B
J1
OUT
74AC04D
5
74ALS02D
4
6
IN
J2
IC2B
3
4
74ALS02D
74AC04D
IC1D
11
13
12
J4
CO
74ALS02D
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 schematu usunąć bramkę IC1D przy ostatnim układzie INC.
Uwzględniając powyższe modyfikacje otrzymujemy schemat przedstawiony na rysunku 5.
Michał Moroz, Paweł Tarasiuk, ćw. EL3
6 / 10
IC4A
IN D
1
J3
2
J7
74AC04D
OUT D
IC3A
2
1
IC3C
3
IC4C
8
10
74ALS02D
5
6
9
IC3B
J5
OUT C
74AC04D
5
74ALS02D
4
6
IC4B
IN C
3
74ALS02D
4
J6
74AC04D
74ALS02D
12
13
11
IC3D
IC2A
1
2
74AC04D
IC1A
2
1
IC1C
3
IC2C
8
10
74ALS02D
5
6
9
IC1B
J1
OUT B
74AC04D
5
74ALS02D
4
6
IC2B
IN B
3
74ALS02D
4
J2
74AC04D
74ALS02D
12
13
11
IC1D
IC6A
1
2
74AC04D
IC5A
2
1
IC5C
3
IC6C
8
10
74ALS02D
5
6
9
IC5B
J9
OUT A
74AC04D
5
4
74ALS02D
6
IN A
J10
IC6B
3
4
74ALS02D
74AC04D
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.
Michał Moroz, Paweł Tarasiuk, ćw. EL3
7 / 10
Tabela 5: Tablica Karnaugha dla wyjścia D
AB
00 01 11 10
00 1
1
1
1
01 0
0
0
0
CD
11 0
0
0
0
10 1
1
1
1
Tabela 6: Tablica Karnaugha dla wyjścia C
AB
00 01 11 10
00 0
0
0
0
01 1
1
1
1
CD
11 0
0
0
0
10 1
1
1
1
Tabela 7: Tablica Karnaugha dla wyjścia B
AB
00 01 11 10
00 0
1
1
0
01 0
1
1
0
CD
11 1
0
0
1
10 0
1
1
0
Tabela 8: Tablica Karnaugha dla wyjścia A
AB
00 01 11 10
00 0
0
1
1
01 0
0
1
1
CD
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 a11 do a44 .
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
Michał Moroz, Paweł Tarasiuk, ćw. EL3
(10)
8 / 10
gdzie pierwszy wyraz to kwadrat a12 – a23 tabeli 7, drugi wyraz to kwadrat złożony z a12 – a13
oraz a42 i a43 , a trzeci wyraz to prostokąt a31 i a34 .
F A(A, B, C, D) = AB + AC + AD + ABCD
(11)
gdzie pierwszy wyraz to czwarta kolumna tabeli 8, drugi wyraz to kwadrat a13 – a24 , trzeci
wyraz to kwadrat a13 – a14 oraz a43 – a44 , a czwarty wyraz to a32 .
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 6.
IC6A
IN D
1
J1
2
OUT D
J5
74AC04D
IC1A
1
3
IC5B
2
4
5
IC1B
4
IC6B
IN C
3
J2
6
74ALS08D
OUT C
74LS32D
6
5
4
74ALS08D
J6
IC1C
8
74ALS08D
9
10
74AC04D
IC1D
12
11
13
74ALS08D
IC2A
IC6C
IN B
5
IC4A
1
1
6
3
2
J7
IC5A
3
2
1
3
74AC04D
74ALS08D
2
74LS32D
IC2B
J3
OUT B
74LS32D
4
6
5
IC2C
8
74ALS08D
9
10
74ALS08D
IC2D
12
11
13
IC4B
74ALS08D
4
IC3A
5
6
IC4D
1
3
2
IC6D
IN A
9
J8
74AC04D
11
13
IC4C
74ALS08D
8
12
74LS32D
9
IC3B
8
4
J4
OUT A
74LS32D
10
6
5
74LS32D
74ALS08D
IC3C
9
8
10
74ALS08D
Rysunek 6: Schemat układu wyznaczonego z tablic Karnaugha.
2.2.1
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 funkMichał Moroz, Paweł Tarasiuk, ćw. EL3
9 / 10
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.
3
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
[1] Bogdan Żółtowski, Wprowadzenie do zajęć laboratoryjnych z fizyki, Skrypt Politechniki Łódzkiej, Łódź 2002.
[2] David Halliday, Robert Resnick, Jearl Walker, Podstawy fizyki, Tom 3., Wydawnictwo Naukowe PWN, Warszawa 2005.
Michał Moroz, Paweł Tarasiuk, ćw. EL3
10 / 10

Podobne dokumenty