Techniki wykonania cyfrowych układów scalonych Cyfrowe układy scalone dzielimy ze względu na liczbę bramek elementarnych tworzących dany układ na: małej skali integracji SSI do 10 bramek, średniej skali integracji MSI od 10 do 100 bramek, dużej skali integracji LSI od 100 do 10000 bramek. wielkiej skali integracji (VLSI very large scale of integration) ultra wielkiej skali integracji (ULSI ultra large scale of integration) Ze względu na sposób wytwarzania dzielimy je na: TTL najpopularniejsze obecnie, jest to zmodyfikowana technika DTL, gdzie elementy diodowe zastąpiono bipolarnymi tranzystorami wieloemiterowymi, MOS wykorzystujące tranzystory unipolarne z kanałem typu P (PMOS) i z kanałem typu N (NMOS). W technice PMOS i NMOS wykonuje się układy MSI i LSI zawierające całe bloki funkcyjne, CMOS wykorzystujące unipolarne tranzystory komplementarne, są obecnie równie popularne jak TTL, ECL najszybsze układy wykorzystujące tranzystory bipolarne, I 2 L wykorzystujące tranzystory bipolarne, charakteryzują się dużą gęstością upakowania w strukturze scalonej, CTD oparte na technologii MOS, wykorzystują zjawisko magazynowania i transportu ładunku, reprezentującego informację, stosowane do budowy pamięci półprzewodnikowych. Zwykle układ scalony jest zamknięty w hermetycznej obudowie metalowej, ceramicznej lub wykonanej z tworzywa sztucznego.
Dlaczego scalamy układy??? Zalety scalania: duże upakowanie elementów funkcjonalnych w objętości (miniaturyzacja) duża niezawodność niska cena niskie czasy propagacji sygnału (duża częstotliwość pracy) małe zużycie energii Zadania układu scalonego Przetwornik A/C, licznik, sumator, konwerter systemu liczbowego, wzmacniacz sygnału, Układy scalone mogą realizować określone funkcje zgodne a algebrą Bool a Zamiennik: NAND (Funktory) Zamiennik: NOR
Korzystając wyłącznie z bramek NAND narysuj schematy realizujący funkcje: Przykłady: Realizacja układowa to (gdzie jest tutaj błąd?): 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.
Y = (A-B) * [(NIE C) +D]
Upraszczanie algebraiczne polega na stosowaniu tożsamości praw algebry Boole a poznanych juz na zajęciach. Wracając do r-a A-1, upraszczając je możemy otrzymać następujące postacie:
lub Realizacja układowa to: 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. 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. Teraz wystarczy podpiąć układy do zasilania i poukładać przewody tak, jak na poprzednim schemacie. Do rzeczy.
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. :) Logika Prawa De Morgana ~(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. Zamienniki dla XOR i XNOR
Zamienniki NAND i NOR dla XOR i XNOR są ponadprogramowe. 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.