układy logiczne
DESCRIPTION
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) - PowerPoint PPT PresentationTRANSCRIPT
Uniwersytet ŁódzkiWydział Matematyki i Informatyki, Katedra Analizy Nieliniowej
Układy logiczne
Architektura Systemów Komputerowych
mgr inż. Michał Misiak
Wydział Matematyki i Informatyki UŁ, Katedra Analizy Nieliniowej, M.Misiak © 2008
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
Wydział Matematyki i Informatyki UŁ, Katedra Analizy Nieliniowej, M.Misiak © 2008
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://w
ww
.chip.pl/arts/archiwum
/n/printversion/printversion_58937.html
Uwaga! Możliwość uszkodzenia tranzystora MOS ze względu na przebicie elektrostatyczne izolatora
UGS – napięcie bramka-źródłoUT – napięcie progowe (tworzenie kanału)UDS – napięcie źródło-drenUDSat – napięcie nasycenia
Wydział Matematyki i Informatyki UŁ, Katedra Analizy Nieliniowej, M.Misiak © 2008
Tranzystory MOS
Tranzystory tego typu charakteryzują się:małym poborem mocy, odpornością na zakłóceniadużą częstotliwością przełączaniaProstą konstrukcją – duże możliwości
miniaturyzacji
Wydział Matematyki i Informatyki UŁ, Katedra Analizy Nieliniowej, M.Misiak © 2008
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 wykonanyW technologii CMOS
Wydział Matematyki i Informatyki UŁ, Katedra Analizy Nieliniowej, M.Misiak © 2008
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
Wydział Matematyki i Informatyki UŁ, Katedra Analizy Nieliniowej, M.Misiak © 2008
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
Wydział Matematyki i Informatyki UŁ, Katedra Analizy Nieliniowej, M.Misiak © 2008
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
Wydział Matematyki i Informatyki UŁ, Katedra Analizy Nieliniowej, M.Misiak © 2008
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
Wydział Matematyki i Informatyki UŁ, Katedra Analizy Nieliniowej, M.Misiak © 2008
Złożoność procesorów
http://en.wikipedia.org/wiki/Transistor_count
Wydział Matematyki i Informatyki UŁ, Katedra Analizy Nieliniowej, M.Misiak © 2008
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
Wydział Matematyki i Informatyki UŁ, Katedra Analizy Nieliniowej, M.Misiak © 2008
FPGA w rzeczywistości
Źródło: http://web.mit.edu/skd/www/mas/images/fpga.jpg
Dwaj duzi dostawcy: Altera i Xlinix.
Wydział Matematyki i Informatyki UŁ, Katedra Analizy Nieliniowej, M.Misiak © 2008
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
Wydział Matematyki i Informatyki UŁ, Katedra Analizy Nieliniowej, M.Misiak © 2008
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
Wydział Matematyki i Informatyki UŁ, Katedra Analizy Nieliniowej, M.Misiak © 2008
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+
Wydział Matematyki i Informatyki UŁ, Katedra Analizy Nieliniowej, M.Misiak © 2008
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 …
Wydział Matematyki i Informatyki UŁ, Katedra Analizy Nieliniowej, M.Misiak © 2008
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
Wydział Matematyki i Informatyki UŁ, Katedra Analizy Nieliniowej, M.Misiak © 2008
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
Wydział Matematyki i Informatyki UŁ, Katedra Analizy Nieliniowej, M.Misiak © 2008
Układy logiczne
Układy kombinacyjne
Wydział Matematyki i Informatyki UŁ, Katedra Analizy Nieliniowej, M.Misiak © 2008
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
Wydział Matematyki i Informatyki UŁ, Katedra Analizy Nieliniowej, M.Misiak © 2008
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}
mn BYBXgdzieYXf ,:,:
Jeśli X = Bn, to funkcję nazywamy zupełną. Jeśli funkcja dla danego wektora jest nieokreślona to oznaczmy to przez „-”
Wydział Matematyki i Informatyki UŁ, Katedra Analizy Nieliniowej, M.Misiak © 2008
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)=-}
Wydział Matematyki i Informatyki UŁ, Katedra Analizy Nieliniowej, M.Misiak © 2008
Funkcje boolowskie
Reprezentacja funkcji boolowskich w postaci formuł ułatwia realizację elementów logicznych (bramki logiczne)
Operatory: AND, OR, NOT
Przykład formuły
321321321321 xxxxxxxxxxxxf
X1 x2 x3 f
0 0 0 0 0
1 0 0 1 1
2 0 1 0 0
3 0 1 1 1
4 1 0 0 0
5 1 0 1 1
6 1 1 0 1
7 1 1 1 1
Wydział Matematyki i Informatyki UŁ, Katedra Analizy Nieliniowej, M.Misiak © 2008
Inne operatory
ba ba baa b
0 0
0 1
1 0
1 1
1
0
0
0
1
1
1
0
0
1
1
0
1
0
0
1
NOR NAND EXOR EQ
ba
Wydział Matematyki i Informatyki UŁ, Katedra Analizy Nieliniowej, M.Misiak © 2008
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
Wydział Matematyki i Informatyki UŁ, Katedra Analizy Nieliniowej, M.Misiak © 2008
Dekompozycja
Transformacja pojedynczego wyrażenia na zbiór kilku nowych wyrażeń
bcdacdabdabcf
abg dch
ghghf
Realizacja na 9 bramkach
Realizacja na 8 bramkach
Wydział Matematyki i Informatyki UŁ, Katedra Analizy Nieliniowej, M.Misiak © 2008
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
Wydział Matematyki i Informatyki UŁ, Katedra Analizy Nieliniowej, M.Misiak © 2008
Dziękuje!
Zapraszam na kolejne wykłady ;)