280 likes | 492 Views
Układy logiczne. Architektura Systemów Komputerowych. mgr inż. Michał Misiak. Technologie współczesnej mikroelektroniki. Przenikanie się oprogramowania i sprzętu tzw. Soft-Hardware Zastosowanie metod komputerowego wspomagania projektowania złożonych układów (CAD – Computer Aided Design)
E N D
Układy logiczne Architektura Systemów Komputerowych mgr inż. Michał Misiak
Technologie współczesnej mikroelektroniki • Przenikanie się oprogramowania i sprzętu tzw. Soft-Hardware • Zastosowanie metod komputerowego wspomagania projektowania złożonych układów (CAD – Computer Aided Design) • Korzystanie z języków specyfikacji sprzętu tzw. Hardware Description Language zamiast składaniu z dostępnych komponetnów
Tranzystor • Tranzystor unipolarny (FET) i bipolarny • Metal-Oxide-Semiconductor FET • Dren oraz źródło – silnie domieszkiwane obszary z doprowadzonymi kontaktami • Przepływ prądu pomiędzy źródłem, a drenem występuje po przez kanał • Sterowanie prądem następuje po przez zmiany napięcia bramka- źródło • Stany tranzystora: • Nasycony: UDS >= UDSsat • Nienasycony: UDS < UDSsat • UDSsat = UGS - UT Źródło: http://www.chip.pl/arts/archiwum/n/printversion/printversion_58937.html UGS – napięcie bramka-źródło UT – napięcie progowe (tworzenie kanału) UDS – napięcie źródło-dren UDSat – napięcie nasycenia Uwaga! Możliwość uszkodzenia tranzystora MOS ze względu na przebicie elektrostatyczne izolatora
Tranzystory MOS • Tranzystory tego typu charakteryzują się: • małym poborem mocy, • odpornością na zakłócenia • dużą częstotliwością przełączania • Prostą konstrukcją – duże możliwości miniaturyzacji
CMOS – Complemenrtary MOS • Technologia półprzewodnikowa krzemowych układów scalonych • Układy zbudowane z tranzystorów MOS • Połączone w taki sposób, że w ustalonym stanie logicznym przewodzi tylko jeden • Układ nie pobiera w stanie jałowym prądu • Problem przy wysokich częstotliwościach – przeładowywanie pojemności • Bardzo tanie w realizacji • Zapewniają dużą gęstość tranzystorów – w nowoczesnych układach powierzchnia tranzystora to 1um • Niewystarczająca szybkość przełączania CMOS – zastępują je rozwiązania na arsenku galu Układ wykonany W technologii CMOS
Miniaturyzacja układów • Minimalny wymiar charakterystyczny - głównym wyznacznikiem stopnia miniaturyzacji • Minimalny wymiar charakterystyczny definiowany jest przez rozdzielczość procesu litograficznego i procesu trawienia • MWC – przeważnie jest to wymiar pojedynczego tranzystora MOS • W drugiej połowie ’90 powszechnie przemysłową technologią była 0,35um, przy średnicy podłoża 200 nm
Proces wytwarzania mikroprocesorów • Wykonanie monolitycznego krzemowego walca • Pozbawienie walca wszelkich zanieczyszczeń po przez proces odwirowywania • Cięcie walca na części – najczystsze są wewnętrzne części tzw. wafla (ang. silicon wafer) • Pokrycie wafla warstwami domieszek • Przeprowadzenie procesu litografii • Przykrycie warstwą miedzi, która będzie stanowiła serię wyprowadzeń • Cięcie wafla w celu uzyskania rdzeni procesorów
Proces litografii • Wyrysowanie na płytce krzemu pokrytej światłoczułym lakierem • Naświetloną część lakieru łatwo zmyć odkrywając części do wytrawienia • Maszyną do litografii jest skaner litograficzny • Wykorzystywany efekt przesunięcia fali • Prowadzone badania nad długościami fali światła pozwalające produkować tranzystory o 0,07 mikrona
Clean Room • Zachowanie wysokiej czystości • Norma ISO 14644-1: 2 cząsteczki wielkości 2um na 1 metr sześcienny • Żółty kolor oświetlenia utrzymywany ze względu na procesy litograficzne
Złożoność procesorów • http://en.wikipedia.org/wiki/Transistor_count
Technologie układów programowalnych • Rozwój technologii pozwolił na budowę układów programowalnych przez użytkownika tzw. PLD/FPGA • Ulepszenie procesu technologicznego: • redukowaniu wymiarów elementów półprzewodnikowych • zwiększenie liczby warstw metalizowanych połączeń • powstanie nowych technik programowania • FPLD (Field Programmable Logic Devices) – układy z możliwością programowania i rekonfiguracji • Technologie wykorzystywane do tworzenia FPLD: pamięć SRAM, FLASH i ROM • Są to odpowiednio zorganizowane systemy pamięci pozwalające realizować zmienne funkcje przetwarzania • Aktualnie układy FPLD pozwalają realizować projekty o złożoności kliku milionów bramek • Możliwość rekonfiguracji statycznej i online pozwalającej zmienić strukturę w trakcie działania
FPGA w rzeczywistości Źródło: http://web.mit.edu/skd/www/mas/images/fpga.jpg Dwaj duzi dostawcy: Altera i Xlinix.
Cechy układów PLD/FPGA • Układy produkowane w dużych seriach: niska cena, wysoka jakość • Nie jest wymagane zamawianie ich u producenta (w przeciwieństwie do układów ASIC) • Układy nie realizują żadnej specyficznej funkcji • W porównaniu do procesorów układy te oferują: większą szybkość, niższy koszt i wyższą niezawodność • Słabo nadają się do realizacji bardzo złożonych systemów
Zastosowanie FPGA/PLD • Aparaty i urządzenia produkowane w małych seriach • Zastępowanie układów małej i średniej skali integracji • Zastosowanie wymagające wielokrotnego programowania: • Prototypy, emulatory, symulatory • Programowalne i rekonfigurowalne koprocesory, procesory specyficzne • Kontrolery wymagające adaptacji
Metody komputerowego wspomagania projektowania • Narzędzia te umożliwiają: • Modelowanie • Budowę wirtualnych prototypów • Symulację i analizę • Automatyczną syntezę • Wykorzystywanie gotowych projektów (desing reuse): rdzeni mikroprocesorów, mikrokontrolerów, procesorów sygnałowych, etc … • Przykłady ALTERA MAXII+
Komputerowe wspomaganie projektowania układów • Problem: gęstość upakowania elementów w najnowszych układach sięga 100 mln tranzystorów/10 mln bramek • Wykorzystanie komputerowych systemów projektowania • Stworzenie języków opisu sprzętu (Hardware Description Language) • Narzędzia te umożliwiają: • Modelowanie • Budowę wirtualnych prototypów • Symulację i analizę • Automatyczną syntezę • Wykorzystywanie gotowych projektów (desing reuse): rdzeni mikroprocesorów, mikrokontrolerów, procesorów sygnałowych, etc …
Hardware Description Langauge • Umożliwienie projektantowi układów scalonych opisywanie: funkcji, struktury i parametrów na wyższym poziomie abstrakcji • Specyfikacja powinna zapewniać opis: • zachowania systemu • ograniczeń strukturalnych i fizycznych • System powinien umożliwić symulację oraz animację modelowanego systemu w celu analizy lub weryfikacji różnych charakterystyk • Języki HDL znacznie bardziej skomplikowane niż języki programowania • Opis zawiera skomplikowane informacje na temat struktury i parametrów • Układy wykonują operacje współbieżne na bardzo niskim poziomie abstrakcji (w programowaniu dane w układach przetwarzane są szeregowo) • Postanie koncepcji produktu wirtualnego • Biblioteki funkcjonalne
Synteza układów • Specyfikacja układu w języku HDL • Kompilacja do opisu przesłań rejestrowych • Kompilacja do poziomu sieci logicznej • Synteza i optymalizacja logiczna • Odwzorowanie technologiczne • Synteza fizyczna lub programowanie układu
Układy logiczne • Układy kombinacyjne
Układy kombinacyjne • Podstawowy układ logiczny umożliwiający realizacje funkcji boolowskich • Składa się z elementów logicznych • Jest elementem złożonych układów cyfrowych
Funkcja boolowska • Odwzorowanie zbioru wektorów (ciągów binarnych) z X w zbiór wektorów Y, gdzie X i Y są podzbiorami n-krotnego iloczynu kartezjańskiego B={0,1} Jeśli X = Bn, to funkcję nazywamy zupełną. Jeśli funkcja dla danego wektora jest nieokreślona to oznaczmy to przez „-”
Funkcja boolowska • może być przedstawiona w postaci tablicy o n+1 kolumnach i 2n wierszach • W kolejnych wierszach zapisywane są wszystkie wartości ciągu x1, x2, … xn, czyli wszystkie wektory x • W ostatniej kolumnie podana jest wartość Y • Funkcję można zapisać podając zbiory wektorów dla których funkcja przyjmuje odpowiednie wartości • F={x: f(x)=1} • R={x: f(x)=0} • D={x: f(x)=-}
Funkcje boolowskie • Reprezentacja funkcji boolowskich w postaci formuł ułatwia realizację elementów logicznych (bramki logiczne) • Operatory: AND, OR, NOT • Przykład formuły
Synteza dwupoziomowa • Zaletą formuł boolowskich jest możliwość upraszczania wyrażeń, a co za tym idzie minimalizacji liczby wykorzystanych bramek • Upraszczanie zgodnie z prawami alegebry Bool’a • Możliwość reprezentacji funkcji za pomocą różnych wyrażeń boolowskich – reprezentacja formułami równoważnymi • Najprostszy sposób to: • Generacja implikantów • Slekecja implikantów prostych • Jest to jednak najbardziej złożony algorytm, gdyż należy do zbioru problmów NPZupełnych
Dekompozycja • Transformacja pojedynczego wyrażenia na zbiór kilku nowych wyrażeń Realizacja na 9 bramkach Realizacja na 8 bramkach
Układy sekwencyjne • Modelem układu sekwencyjnego jest automat. • Definicja automatu: • Zbiór liter wejściowych X i wyjściowych Y • Zbiór stanów wewnętrznych S • Funkcja przejść • Funkcja wyjść • Automaty Mealy’ego i Moore’a
Dziękuje! Zapraszam na kolejne wykłady ;)