1 / 28

Układy logiczne

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)

daire
Download Presentation

Układy logiczne

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Układy logiczne Architektura Systemów Komputerowych mgr inż. Michał Misiak

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

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

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

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

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

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

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

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

  10. Złożoność procesorów • http://en.wikipedia.org/wiki/Transistor_count

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

  12. FPGA w rzeczywistości Źródło: http://web.mit.edu/skd/www/mas/images/fpga.jpg Dwaj duzi dostawcy: Altera i Xlinix.

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

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

  15. 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+

  16. 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 …

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

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

  19. Układy logiczne • Układy kombinacyjne

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

  21. 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 „-”

  22. 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)=-}

  23. Funkcje boolowskie • Reprezentacja funkcji boolowskich w postaci formuł ułatwia realizację elementów logicznych (bramki logiczne) • Operatory: AND, OR, NOT • Przykład formuły

  24. Inne operatory

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

  26. Dekompozycja • Transformacja pojedynczego wyrażenia na zbiór kilku nowych wyrażeń Realizacja na 9 bramkach Realizacja na 8 bramkach

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

  28. Dziękuje! Zapraszam na kolejne wykłady ;)

More Related