• Nie Znaleziono Wyników

Laboratorium elektroniki i miernictwa Ćwiczenie EL2

N/A
N/A
Protected

Academic year: 2021

Share "Laboratorium elektroniki i miernictwa Ćwiczenie EL2"

Copied!
10
0
0

Pełen tekst

(1)

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 EL2

Realizacja logicznych układów kombinacyjnych z bramek NAND

Ocena:

(2)

Streszczenie

Sprawozdanie z ćwiczenia, którego celem było udowodnienie tautologii oraz zbudowanie układów logicznych za pomocą bramek NAND.

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 NAND i realizacja innych bramek za jej pomocą

Bramka NAND jest odwróceniem bramki AND, tj.

F (A, B) = AB (1)

Zatem stworzenie bramki AND jest banalnie prostym zadaniem – wystarczy jedynie podłą-

czyć inwerter na wyjściu bramki NAND.

(3)

Inwerter jest też bardzo prosty do wykonania za pomocą bramki NAND, można dokonać tego łącząc wszystkie wejścia bramki ze sobą. Zauważamy, że układ ten jest dokładnie taki sam jak w przypadku analizowanej wcześniej bramki NOR.

Bramkę OR 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 OR, który wynosi:

A + B = A · B (4)

co, na podstawie wzoru (1) możemy osiągnąć za pomocą bramki NAND z odwróconymi oby- dwoma wejściami. Schemat tej bramki pokazany jest na rysunku 1.

IN C

OUT D

IN D 74ALS00D

74LS06D

74LS06D J1

J3

J2

1 2

3

9 8 IC2A

IC1D

11 10

IC1E

Rysunek 1: OR skonstruowany za pomocą bramek NAND i NOT.

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)

Negację w postaci F (A, B) = AB możemy w trywialny sposób uzyskać za pomocą bramki NAND i inwertera. Spoglądając na opisaną we wzorze (4) funkcję zauważamy, że wejścia bram- ki NAND w układzie OR muszą być zanegowane. Wiążąc oba fakty ze sobą, bramki NAND rozwiązują nam problem konieczności użycia dodatkowych inwerterów w układzie bramki OR.

Określamy końcowy wzór bramki EXOR:

F (A, B) = BA · AB (6)

co przekłada się na schemat zaprezentowany na rysunku 2.

(4)

IN C

OUT D

IN D

74ALS00D 74LS06D

74LS06D

74ALS00D

74ALS00D J1

J3

J2

1 2

3 IC2A

9 8

IC1D

11 10

IC1E

1 2

3 IC3A

1 2

3 IC4A

Rysunek 2: EXOR skonstruowany za pomocą bramek NAND i NOT zrealizowany na przykła- dowych układach z serii 74xx.

2 Zadania

Wszystkie doświadczenia wykonywane były z użyciem zasilacza DF1731SB3A, nr J3–T6–

261/1 oraz układów EL2-02, EL3-03 oraz EL2-01.

2.1 Zadanie 8

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ł czterowyjściowy układ sterujący linijką świetlną. Jego możliwe stany wejściowe i wyjściowe zostały opisane w tabeli 1.

Tabela 1: Tabela prawdy dla sterownika linijki świetlnej.

IN D IN C IN B IN A OUT D OUT C OUT B OUT A

0 0 0 0 0 0 0 0

0 0 0 1 0 0 0 1

0 0 1 0 0 0 1 1

0 0 1 1 0 1 1 1

0 1 0 0 1 1 1 1

0 1 0 1 1 1 1 1

0 1 1 0 1 1 1 1

0 1 1 1 1 1 1 1

1 0 0 0 1 1 1 1

1 0 0 1 1 1 1 1

1 0 1 0 1 1 1 1

1 0 1 1 1 1 1 1

1 1 0 0 1 1 1 1

1 1 0 1 1 1 1 1

1 1 1 0 1 1 1 1

1 1 1 1 1 1 1 1

Okazuje się że układ spełnia poniższe wzory:

F D(A, B, C, D) = C + D (7)

(5)

F C(A, B, C, D) = C + D + AB = F D(A, B, C, D) + AB (8)

F B(A, B, C, D) = C + D + B = F C(A, B, C, D) + B (9)

F A(A, B, C, D) = C + D + B + A = F B(A, B, C, D) + A (10) Wzory te można łatwo przekształcić w schemat ideowy, który został przedstawiony na ry- sunku 3.

IN A

IN B

IN C OUT C

OUT D 74LS32D

74ALS08D

IN D

OUT A

OUT B

74LS32D

74LS32D

74LS32D J1

J2

J3

J7

J8 4

5

6 IC7B 1

2

3 IC8A

J4

J5

J6

4 5

6 IC1B

4 5

6 IC2B

4 5

6 IC3B

Rysunek 3: Schemat ideowy układu z wykorzystaniem bramek AND i OR.

Następnie korzystając ze wzoru (4) bardzo prosto przekształcamy układ do postaci pokazanej na rysunku 4. Po raz kolejny zrezygnowaliśmy z inwertera wejściowego bramki IC4D na rzecz negacji w bramce IC4B.

IN A

IN B

IN C OUT C

OUT D IN D

OUT A

OUT B

74ALS00D 74ALS00D

74ALS00D

74ALS00D

74ALS00D 74LS06D

74LS06D

74LS06D

74LS06D

74LS06D

74LS06D

74LS06D J1

J2

J3

J7

J8

J4

J5

J6

1 2

3 IC4A 4

5 6 IC4B

9 10

8 IC4C

12 13

11 IC4D

1 2

3 IC5A

1 2

IC6A

3 4

IC6B

5 6

IC6C

9 8

IC6D

11 10

IC6E

13 12

IC6F

1 2

IC9A

Rysunek 4: Schemat sterownika linijki świetlnej.

Brakujące bramki NOT zastąpiliśmy bramkami NAND którym połączono wejścia. Wyko- rzystując 12 bramek nie było celu użycia żadnej trójwejściowej bramki, cały układ wykonaliśmy na bramkach dwuwejściowych oraz czterech dostępnych inwerterach.

Podczas tworzenia schematu układu popełniliśmy błąd który spowodował, że zamiast wejść poszczególnych bramek OR negowaliśmy wyjścia, dzięki czemu układ dawał całkowicie błędne wyniki. Po dokładniejszym przeanalizowaniu schematu udało nam się wykryć błąd i wyelimino- wać go.

Spróbujmy teraz sporządzić układ metodą Karnaugha.

(6)

Tabela 2: Tablica Karnaugha dla wyjścia D AB

00 01 11 10

CD

00 0 0 0 0

01 1 1 1 1

11 1 1 1 1

10 1 1 1 1

Tabela 3: Tablica Karnaugha dla wyjścia C AB

00 01 11 10

CD

00 0 0 1 0

01 1 1 1 1

11 1 1 1 1

10 1 1 1 1

Tabela 4: Tablica Karnaugha dla wyjścia B AB

00 01 11 10

CD

00 0 1 1 0

01 1 1 1 1

11 1 1 1 1

10 1 1 1 1

Tabela 5: Tablica Karnaugha dla wyjścia A AB

00 01 11 10

CD

00 0 1 1 1

01 1 1 1 1

11 1 1 1 1

10 1 1 1 1

Wzór (7) jest naturalną konsekwencją tabeli 2. Podobnie jest ze wzorem (8) i tabelą 3 oraz wzorem (10) i tabelą 8. Jeśli chodzi zaś o tabelę 7, może być ona interpretowana wzorem (9), jak i poniższym:

F B(A, B, C, D) = C + D + B = F D(A, B, C, D) + B (11)

W obecnym układzie nie ma większego znaczenia, czy wykorzystamy F C czy F D, ponie-

waż obie funkcje w tym przypadku dają spójne wyniki, aczkolwiek korzystając z wzoru (11)

moglibyśmy osiągnąć minimalnie mniejsze opóźnienia na wyjściu układu względem jego wejścia.

(7)

2.1.1 Wnioski

Powyższy układ był prosty do zbudowania i ręcznie i za pomocą map Karnaugha, oba po- dejścia dawały nieznacznie inne schematy wynikowe. Otrzymany układ zbadany doświadczalnie daje dokładnie takie takie wyniki jak przedstawione w tabeli 1.

3 Zadanie 9

Do otrzymania był układ sumatora jednobitowego wraz z wejściem i wyjściem przeniesienia.

Jego tablica prawdy przedstawiona jest w tabeli 6.

Tabela 6: Tabela prawdy dla sumatora.

CI IN B IN A OUT CO

0 0 0 0 0

0 0 1 1 0

0 1 0 1 0

0 1 1 0 1

1 0 0 1 0

1 0 1 0 1

1 1 0 0 1

1 1 1 1 1

Podczas wykonywania doświadczenia próbowaliśmy doprowadzić układ do działania, ale nie zdążyliśmy – część schematu była nie do końca poprawnie zaprojektowana. Chcieliśmy skorzystać z map Karnaugha do stworzenia poprawnego układu i udało nam się narysować układ na kartce papieru, jednak zabrakło czasu aby go przetestować.

Poniżej przedstawione są mapy Karnaugha dla sumatora:

Tabela 7: Tablica Karnaugha dla wyjścia OUT AB

00 01 11 10

C 0 0 1 0 1

1 1 0 1 0

Tabela 8: Tablica Karnaugha dla wyjścia CO AB

00 01 11 10

C 0 0 0 1 0

1 0 1 1 1

Ciekawostką jest fakt, że w zależności od wejścia C układ dla wejść A oraz B można przed- stawić za pomocą czterech bramek. Dla C = 0 OUT to EXOR po A i B, a CO to AND z A i B. Z kolei dla C = 1 OUT to EXNOR po A i B, a CO to OR z A i B. Zapiszemy to teraz jako wzory wyczytane z tablic Karnaugha:

F OU T (A, B, C) = (AB + BA)C + (AB + AB)C (12)

(8)

F CO(A, B, C) = (A + B)C + AB (13) co łatwo można przekształcić w schemat przedstawiony na rysunku 5.

IN A

IN B

CI

CO OUT 74LS86D

74LS86D

74LS32D

74LS32D

74ALS08D

74ALS08D J1

J2

J3

J4 J5 1

2

3 IC6A

4 5

6 IC6B

1 2

3 IC7A

4 5

6 IC7B

1 2

3 IC8A

4 5

6 IC8B

Rysunek 5: Schemat ideowy sumatora.

Po przekształceniu bramek AND, OR oraz EXOR otrzymujemy schemat przedstawiony na rysunku 6.

IN A

IN B

CI

CO OUT 74ALS00D

74ALS00D

74ALS00D 74ALS00D

74ALS00D

74ALS00D 74ALS00D

74ALS00D

74ALS00D 74AC06D

74AC06D

74AC06D

74AC06D

74ALS00D J1

J2

J3

J4 1 J5

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

1 2

IC4A

3 4

IC4B

5 6

IC4C

9 8

IC4D

4 5

6 IC5B

Rysunek 6: Schemat sumatora.

Zauważyliśmy, że układ ten da się jeszcze uprościć, ze względu na fakt, że równoważny jest wzór (13) oraz (14).

F CO(A, B, C) = (AB + BA)C + AB (14)

Możemy zastosować tą metodę ponieważ AB obsługuje nam wypadek który nie jest obsłu-

giwany przez bramkę EXOR. Dzięki temu zamiast bramki OR możemy wykorzystać bramkę

EXOR użytą do konstrukcji układu dla OUT. Schemat ideowy tego układu znajduje się na

rysunku 7, a po niezbędnych przekształceniach końcowy schemat znajduje się na rysunku 8.

(9)

IN A

IN B

CI

CO OUT 74LS86D

74LS86D

74LS32D 74ALS08D

74ALS08D J1

J2

J3

J4 J5 1

2

3 IC6A

4 5

6 IC6B

4 5

6 IC7B

1 2

3 IC8A

4 5

6 IC8B

Rysunek 7: Schemat ideowy sumatora – zoptymalizowany.

IN A

IN B

CI

CO OUT 74ALS00D

74ALS00D

74ALS00D 74ALS00D

74ALS00D

74ALS00D 74ALS00D

74ALS00D

74ALS00D 74AC06D

74AC06D

74AC06D

74AC06D J1

J2

J3

J4 1 J5

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

1 2

IC4A

3 4

IC4B

5 6

IC4C

9 8

IC4D

Rysunek 8: Schemat końcowy sumatora – zoptymalizowany.

3.1 Wnioski

Wykorzystując symulator załączony razem z niniejszym sprawozdaniem, przetestowaliśmy nasz układ. Otrzymane wyniki są identyczne z tablicą prawdy znajdującą się w tabeli 6.

4 Wnioski końcowe

Oba układy okazały się bardzo podatne na budowę metodą Karnaugha. Drugi ze skonstru- owanych układów tą metodą okazał się jednak być nieoptymalnym i wymagał dalszej analizy.

Ż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.

Zastosowanie symulatora całkowicie wyklucza błąd w połączeniach oraz funkcjonowaniu bra-

mek – zatem pozwala na sprawdzenie, czy badany układ ma nieprawidłową konstrukcję, czy też

problem wynikał z niedoskonałości użytych urządzeń.

(10)

Literatura

[1] Bogdan Żółtowski, Wprowadzenie do zajęć laboratoryjnych z fizyki, Skrypt Politechniki Łódz- kiej, Łódź 2002.

[2] David Halliday, Robert Resnick, Jearl Walker, Podstawy fizyki, Tom 3., Wydawnictwo Na-

ukowe PWN, Warszawa 2005.

Cytaty

Powiązane dokumenty

Zabawę powtarzamy 2/3 razy Modyfikacja: Na linii startu możemy ułożyć mix rzeczy do segregacji, na linii mety 2/3 pojemniki do segregacji i w zależności od rzeczy którą

Rzut karny przyznaje się, gdy: pewna sytuacja bramkowa zostanie powstrzymana przez zawodnika lub działacza drużyny przeciwnej, kiedy bramkarz wszedł do

Przerzutniki JK udostępnione na stanowisku laboratoryjnym należą do grupy układów synchronicznych (wykorzystywana jest linia taktująca/zegarowa) i są wyzwalane zboczem

Kiedy napięcie na bazie tranzystora będzie niższe od wartości na emiterze o graniczną wartość przewodzenia diody, prąd zacznie płynąć przez to złącze i tranzystor zacznie

Układ wspólnego kolektora charakteryzuje się wzmocnieniem napięciowym równym 1 (w rzeczywistości nieco poniżej jedności) i dużą impedancją wejściową, dzięki czemu dobrze

Udało nam się udowodnić, że dla niskich częstotliwości i dla stałego sygnału wzmacniacz operacyjny jest układem o liniowym wzmocnieniu oraz przewidywalnym stopniu wzmocnienia.

Przeglądając katalogi producentów układów cyfrowych można z łatwością zauważyć, że najszerszą ofertę stanowią bramki NAND, gdyż są one najchętniej stosowane

Mówimy, że bramki tworzą układ funkcjonalnie pełny, gdy za ich pomocą można zrealizować dowolną funkcję boolowską. Podstawowy układ funkcjonalnie pełny tworzą bramki: NOT,