Technical Site

Realizacja funkcji logicznych

Jak wiesz, każda bramka wykonuje jakąś małą, prostą funkcję logiczną. Grupa kilku bramek może realizować bardziej skomplikowane funkcje. Oto przykładowa funkcja i jej fizyczny realizator.

Funkcja na domyślnych bramkach

Zauważ, że w funkcji najpierw jest dodawanie (alternatywa, czyli OR), potem mnożenie (koniunkcja, czyli AND), a mimo to pierwsza jest bramka AND. Dlaczego? Kolejność działań obowiązuje również na liczbach dwójkowych.

To jest tylko schemat, a w realu pojedyncze bramki z trzema nóżkami nie istnieją (przynajmniej na zajęciach) ;). Są uwięzione w układach scalonych po kilka sztuk każdy. Spróbujmy zbudować realizator tej funkcji na prawdziwych układach scalonych. Potrzebujemy kości zawierające bramki NOT, AND i OR. Ich numery to kolejno 7404, 7408, 7432.

Układy scalone potrzebne do wykonania funkcji

Teraz wystarczy podpiąć układy do zasilania i poukładać przewody tak, jak na poprzednim schemacie. Do rzeczy.

Gotowy zestaw wykonywujący funkcję

Użyliśmy trzech kości, nieużyte pozostają cztery bramki NOT i po trzy bramki AND i OR. Trochę to mało ekonomiczne. Na szczęście istnieją Prawa De Morgana. Znasz je z teorii mnogości (zbiory), oraz z logiki. Teraz poznasz Prawa De Morgana dla UTK. :)

Prawa De Morgana

Logika

~(p ∨ q) ⇔ (~p) (~q) — Negacja alternatywy jest równoważna koniunkcji negacji.

~(p q) ⇔ (~p) ∨ (~q) — Negacja koniunkcji jest równoważna alternatywie negacji.

Teoria mnogości (zbiory)

(A ∪ B)' = A' ∩ B' — Dopełnienie sumy zbiorów jest równoważne ilorazowi dopełnień.

(A ∩ B)' = A' ∪ B' — Dopełnienie ilorazu zbiorów jest równoważne sumie dopełnień.

Algebra Boole'a

a + b = a * b — Negacja sumy jest równoważna ilorazowi negacji.

a * b = a + b — Negacja ilorazu jest równoważna sumie negacji.

Jeśli dobrze się przyglądniesz to zauważysz, że to wszystko, to jest to samo, tylko znaki inne. Nawet, jeśli nie chwytasz, o co chodzi, to nie ważne. Istotne jest to abyś pamiętał, że każdą bramkę można zastąpić, używając bramek NAND lub NOR. Wynika to z Praw de Morgana.

Zamiennik: NAND

Zamienniki: NAND

Zamiennik: NOR

Zamienniki: NAND

Zamienniki dla XOR i XNOR

Zamienniki NAND i NOR dla XOR i XNOR są ponadprogramowe.

Zamienniki NAND dla XOR i XNOR
Zamienniki NOR dla XOR i XNOR

Spróbujmy zatem zamienić wszystkie bramki naszej funkcji...

...na odpowiadające im konfiguracje bramek NAND.

Przyjrzyj się teraz zaznaczonym bramkom. Czy ma to jakiś sens, kiedy jeden NAND jest po drugim? To tak, jakby ustawić dwa NOT obok siebie. Co to oznacza? Można je pominąć! W ostateczności, nasz układ wygląda tak.

Przenieśmy teraz schemat na prawdziwy scalak.

Tym sposobem, zamiast trzech chipów jest jeden, używamy o jedną bramkę mniej, niż w normalnej budowie funkcji i nieużyta pozostaje tylko jedna bramka, zamiast dziesięciu! W masowej produkcji urządzeń cyfrowych taka oszczędność jest bardzo znacząca, zwłaszcza, że bramki NAND są najtańsze. Być może gorzej się czyta takową funkcję i jest to nieporęczne, ale dla maszyny nie ma to żadnego znaczenia.