Technika Cyfrowa 1 Wykład 8: Cyfrowe układy scalone
Transkrypt
Technika Cyfrowa 1 Wykład 8: Cyfrowe układy scalone
JS TC 1 V CYFROWE UKŁADY SCALONE JS TC 1 1 Parametry Technika Cyfrowa 1 1.1 Parametry statyczne Przyjmujemy logikę dodatnią – napięcie zasilające Ucc > 0 – 0 log. ~ 0 V, 1 log. ~ Ucc Wykład 8: Cyfrowe układy scalone Rodzina charakterystyk przejściowych dla układów odwracających i nieodwracających UO UO dr inż. Jarosław Sugier [email protected] IIAR, pok. 227 C-3 UI 0 UI 0 8-1 NMH UOLmax Obciążalność stałoprądowa (fan-out) NL = IOLmax / IILmax – NH = IOHmax / IIHmax – Nmax = min{ NH, NL } UI UIHmin 1.2 Parametry dynamiczne UILmax NML UOLmax UILmax UIHmin JS TC 1 Parametry prądowe: IOHmax , IOLmax , IIHmax , IILmax UOHmin UOHmin 0 JS TC 1 UCC UO 8-2 UI Out In UO Zakres poziomów log. na WE (UILmax, UIHmin) oraz WY (UOLmax, UOHmin) tpLH Odporność na zakłócenia stałoprądowe (noise margin) – NML = UILmax – UOLmax – NMH = UOHmin – UIHmin – NM = min( NML, NMH ) Czas propagacji układu kombinacyjnego – tpHL, tpLH – tp = ( tpHL + tpLH ) / 2 Odporność na zakłócenia impulsowe 8-3 Parametry przełączania się układu synchronicznego / przerzutnika – czas ustawienia (set-up), podtrzymania (hold) oraz przełączania tpHL ⇒ Dla układów CMOS tp zależy od pojemności obciążenia i ono decyduje o praktycznej obciążalności Nmax JS TC 1 8-4 JS TC 1 1.3 Straty mocy Moc rozpraszana Clk Pd = (CL + CPD) · UCC · US · f + UCC · ICC CL – pojemność obciążenia CPD – pojemność wewnętrzna US – amplituda zmian UWE f – częstotliwość przełączania ICC – prąd spoczynkowy IN tS tH Q tpCQ Współczynnik dobroci A = Pd · tp [pJ] Parametry okresowego przebiegu prostokątnego – szerokość stanu 0 / 1: twL, twH – współczynnik wypełnienia: twH / ( twL + twH ) [%] – czas narastania / opadania zbocza: ttLH, ttHL (albo: tR, tF) 8-5 8-6 1 JS TC 1 Przykład (bramkowany licznik modulo 5) 2 Klasyfikacje cyfrowych układów scalonych Na podstawie podanych parametrów oszacuj maksymalną częstotliwość pracy układu. Przerzutniki: tpCQ = 3.5 ns tH = 1.0 ns tS = 2.0 ns G J Q K Q2 Q J Q Dwa podstawowe kryteria ¾ ilość bramek w układzie (złożoność układu, tzw. stopień integracji), Q2 ¾ technologia wykonania. 2.1 Stopień integracji Clk Bramki: tpLH = 2.0 ns tpHL = 1.5 ns JS TC 1 ¾ SSI (Small Scale Integration) 4 × NAND 4 × OR... – proste układy rodziny TTL Q0 ¾ MSI (Medium Scale Inetgration) przerzutniki (np. SN7474: 2 × D = 2 × 6 NAND) rejestry, liczniki proste układy arytmetyczne... – bardziej złożone układy rodziny TTL Q1 K Q J Q Q0 K Q – liczba bramek logicznych w układzie Q1 < 10 10 ÷ 100 8-7 8-8 JS TC 1 ¾ LSI (Large Scale Inetgration) proste mikroprocesory (liczba tranzystorów): – 4004 (1971) 2.550 – 8008 (1972) 2.500 – 8080 (1974) 5.000 układy WE /WY, zegary, kalkulatory... 100 ÷ 10.000 JS TC 1 UWAGI: Klasyfikacja utworzona na początku lat 80. ... Miarą złożoności układu jest liczba tranzystorów a nie bramek; CMOS: 1 bramka ~ 4 tranzystory. Gordon Moore (współzałożyciel firmy Intel w 1968 r), 1965: liczba tranzystorów w układzie scalonym rośnie wraz z czasem w tempie wykładniczym. ¾ VLSI (Very Large Scale Inetgration) > 10.000 mikroprocesory (liczba tranzystorów): – 8086 – i386DX – i486DX – Pentium – Pentium II – Pentium III – Pentium IV pamięci, ... (1978) (1985) (1989) (1993) (1997) (1999) (2000) 29.000 275.000 1.200.000 3.100.000 7.500.000 24.000.000 42.000.000 www.intel.com 8-9 8-10 A·B A B +UCC A·B B JS TC 1 – Połączenie – Idea pracy logiki diodowo-rezystorowej A +UCC +UCC JS TC 1 2.2 Technologie ––– UKŁADY BIPOLARNE ––––––––––––––––––––––––––––––– 2.2.1 Rodzina TTL (Transistor-Transistor Logic) A B 1965 r, Texas Instruments, układy SN74xx A+B – Bramka TTL rodziny podstawowej +UCC – Inwerter na stopniu tranzystorowym 130 4k 1k6 +5V T3 A B A T2 A·B 1k A T1 8-11 T4 8-12 2 JS TC 1 – Parametry rodzin TTL JS TC 1 2.2.2 Rodzina ECL (Emiter Coupled Logic) Standardowa S Schottky LS Low pow. S (1976) F Fast (1979) AS Adv. S (1980) ALS Adv. LS (1980) TP (Nmax=10) [ns] 10 3 9 3.5 1.7 5 Pd [mW/bramka] 10 19 2 5.5 8 1 A [pJ] 100 57 18 19 14 5 1962, Motorola; – Wzmacniacz różnicowy ze sprzężeniem emiterowym jako bramka logiczna +UCC A+B A+B +UREF fmax [MHz] (‘00) 25 125 33 150 200 50 fmax [MHz] (‘74) 20 100 25 100 105 34 IOHmax [mA] 0.4 1 0.4 1 2 0.4 IOLmax [mA] 16 20 8 20 20 8 IILmax [mA] 1.6 2 0.4 0.6 0.5 0.2 Nmax 10 10 20 33 40 40 VCC [V] 5±0.25 5±0.25 5±0.25 5±0.25 5±0.5 5±0.5 A B – Podstawowe parametry (rodzina standardowa 10K): 8-13 JS TC 1 tp = 1 ns Pd = 60 mW (1 bramka) A = 60 pJ Nmax ≈ 70 NM = 0.2 V (TTL ≈ 1V) 8-14 2.2.3 Układy MOS – pMOS: chronologicznie pierwsze – nMOS: szybsze (większa ruchliwość nośników n); symbole tranzystorów: Cechy układów ECL (jako porównanie z TTL): (+) szybkość (bo w TTL: tranzystory nasycone / odcięte) (–) duży pobór mocy (bo w TTL: tranzystory nasycone / odcięte) D G (+) względnie stały pobór mocy (TTL: impulsy Icc podczas przełączania, tzw. power noise) (+) WY komplementarne S NEMOS (z kanałem wzbogacanym, Enhanced, norm. OFF) D G S NDMOS (z kanałem zubożanym, Depleted, norm. ON) – Technologia HMOS: downsizing, zmniejszanie długości kanału tranzystora zwiększa gęstość upakowania oraz szybkość. – Idea realizacji funkcji podstawowych: (–) mała amplituda logiczna +VDD +VDD +VDD RL A·B RL A RL A+B A A A B B 8-15 8-16 JS TC 1 – +VDD – Para tranzystorów komplementarnych: I”RL” P(E)MOS – otwierany przy UG = L (B) (A) JS TC 1 2.2.4 Układy CMOS Różna realizacja rezystancji obciążającej „R L”: +VDD JS TC 1 –– UKŁADY UNIPOLARNE –––––––––––––––––––––––––––––––– (B) (A) (A) NEMOS: UGS = U”RL” = VDD – UO – Prostsza technologia, chronologicznie pierwsze – UT = napięcie progowe otwierające tranzystor Enhanced – Schematy bramek podstawowych UO UT VDD – UOH = VDD – UT, mniejsza ampl. log. (mniejszy margines zakłóceń) – Gorsza wydajność prądowa, dłuższe czasy przełączania N(E)MOS – otwierany przy UG = H +VDD A +VDD A A A (B) NDMOS: UGS = 0 (const) – – UOH ≈ VDD, większa ampl. log. (większy margines zakłóceń) Lepsza wydajność prądowa, krótsze czasy przełączania – Trudniejsza technologia; z czasem wyparły całkowicie (A) 8-17 8-18 3 +VDD JS TC 1 +VDD A A·B FUP = f = (a + b)c = a + b + c = a b + c = F (a, b, c ) B A+B A JS TC 1 – Projektowanie bramek typu AOI (And–Or–Invert) / OAI (Or–And–Invert) Np. f = /[(a + b)c] FDN = f = ( a + b)c = F ( a, b, c ) B +VDD – Tranzystory nMOS = sekcja pull-down (zwarcie WY z GND ⇒ UO ≈ 0V), Tranzystory pMOS = sekcja pull-up (zwarcie WY z +VDD ⇒ UO ≈ +VDD) C A B – Równoległe lub szeregowe konfiguracje tranzystorów w sekcjach (A+B)·C A – Dla każdej konfiguracji sygnałów WE dokładnie jedna z sekcji (pull-up lub pull-down) otwarta, druga zamknięta ⇒ statyczny prąd zasilania IDD ≈ 0 B C – Praktycznie zerowy statyczny pobór mocy: Pd = Pd( f ), Pd( 0 ) ≈ 0 8-19 8-20 JS TC 1 3 Układy scalone ASIC Application Specific Integrated Circuits JS TC 1 3.1 Rodzaje układów ASIC • Dwie pierwsze klasy układów ASIC (Full Custom, Semi Custom) – programowalne w procesie produkcji, programowalne maską (użytkownik przekazuje projekt producentowi u.s., układy po wyprodukowaniu mają architekturę niemodyfiukowalną). Dwie pozostałe klasy układów (PLD, FPGA): wszystkie układy określonego typu opuszczają producenta identyczne (produkcja wielkoseryjna, niskie koszty), programowanie układu po jego wykonaniu poprzez utworzenie połączeń w istniejącej sieci ścieżek sygnałowych / skonfigurowanie elementów logicznych. Podstawowy rozdział cyfrowych u.s.: Wielkie standardy: standardowe, uniwersalne elementy o strukturze niemodyfikowalnej po wyprodukowaniu; np. bramki i układy funkcjonalne rodzin TTL, ECL, MOS, mikroprocesory, pamięci... Układy ASIC: użytkownik ma w pewien sposób wpływ na strukturę logiczną układu ¾ Full-Custom ¾ Semi-Custom • Standard Cells • Gate Arrays ¾ Field Programmable Gate Arrays (FPGA) ¾ Programmable Logic Devices: układy PLD, Complex PLD (CPLD) • Zalety ASIC: niższe koszty zaprojektowania, wykonania i uruchomienia systemu cyfrowego; możliwość reprogramowania układu ⇒ ułatwione testowanie, wprowadzanie zmian w projekcie... 8-21 JS TC 1 8-22 JS TC 1 3.1.1 Full-Custom ASIC (układy z pełnym cyklem projektowym) 3.1.3 Gate-Array ASIC • Użytkownik sam projektuje wszystkie lub wybrane komórki logiczne układu, rozmieszczenie oraz połączenia. • Regularna, niezmienna struktura elementów układu (matryca elementarnych bloków logicznych), użytkownik projektuje sieć połączeń (warstwy metalizacji). • Stosowane przeważnie w układach nowych lub wysoce specjalizowanych, gdy brak gotowych projektów wymaganych komórek. • Standardowe układy produkowane seryjnie i „magazynowane”, po otrzymaniu projektu dodawane tylko warstwy metalizacji. • Produkcja we wsadach po 5 ÷ 30 wafli (wafer), każdy wafel zawiera 10 ÷ 100 układów. • Taniej i szybciej niż standard-cell. 3.1.2 Standard-Cell ASIC (komórki standardowe) • Standardowe, produkowane masowo układy scalone opuszczają producenta w identycznej postaci. 3.1.4 Układy PLD (Programmable Logic Devices) • Układ projektowany z predefiniowanych standardowych komórek (standard cells), zaprojektowanych w trybie full-custom; dostępne komercyjne biblioteki standardowych komórek. • Jedna duża matryca programowanych połączeń – programowanie wyłącznie po stronie użytkownika. • Duże komórki, realizujące złożone bloki funkcjonalne (np. mikroprocesory) – tzw. mega cells, cores. • Przykłady: - programowalne pamięci tylko do odczytu (PROM) - układy PAL, PLA: dwupoziomowa struktura sumy iloczynów, realizująca zaprogramowaną funkcję boolowską. • Regularny rozkład komórek w układzie, zwykle rzędy (wiersze) komórek o stałej wysokości i zmiennej długości ⇒ uporządkowana struktura połączeń. 8-23 8-24 4 JS TC 1 JS TC 1 3.2 Rachunek ekonomiczny układów ASIC Układy CPLD „Koszt całkowity projektu i produkcji” = • W jednej strukturze wiele modułów PAL + jedna globalna matryca połączeń. koszt stały ( ≈ przygotowanie projektu) + koszt jednostkowy (koszt u.s., montażu itp.) × liczba egzemplarzy 3.1.5 Układy FPGA Przykład: Porównanie trzech technologii • Nazywane także FPLD (Field Programmable Logic Devices). • Zasada programowania podobna do PLD, ale bardziej złożona struktura: dwuwymiarowa matryca programowalnych bloków logicznych w miejsce prostej dwupoziomowej struktury logicznej typu suma iloczynów. CBIC (cell-based IC = standard cell ASIC) MGA (mask programmable gate array) FPGA • Programowanie nie tylko sieci połączeń (jak w PLD), ale także pewien sposób konfigurowania funkcji komórek logicznych: - struktura układu: regularny układ komórek logicznych, które zawierają pewną (programowalną) logikę kombinacyjną oraz przerzutnik(i); - komórki logiczne otoczone siecią (programowalnych) linii sygnałowych. Koszty: CBIC: (stały) 146.000$ (jednostkowy) 8$ MGA 86.000$ 10$ FPGA 21.800$ 39$ (From: Application–Specific Integrated Circuits, Smith, Addison-Wesley, 1997) • Liderzy architektur FPGA: firmy Xilinx oraz Altera. 8-25 8-26 JS TC 1 JS TC 1 3.3 Technologie programowania układów PLD • „Programowanie układu”: utworzenie (lub nie) połączeń w określonych punktach linii sygnałowych, tzw. punktach programowalnych ⇒ określenie dróg przesyłania sygnałów pomiędzy elementami układu (bramkami, przerzutnikami, blokami funkcjonalnymi) i uzyskanie w ten sposób układu kombinacyjnego lub sekwencyjnego o żądanej funkcji. • Ogólna struktura nie zaprogramowanego układu wyznacza nieprzekraczalne ramy projektu (programowaniu podlega sieć połączeń między elementami zawartymi w układzie, nie rodzaj i liczba owych elementów). • Trzy główne technologie programowania – analogiczne do realizacji programowalnych pamięci tylko do odczytu (ROM): Wyrównanie kosztów: FPGA vs. Gate Array Gate Array vs. Standard Cells - programowanie jednokrotne (Programmable ROM, PROM) - programowanie kasowalne przez naświetlenie promieniami UV (Erasable Programmable ROM, EPROM) - programowanie kasowalne elektrycznie (Electrically Erasable PROM, EEPROM, E2PROM) 2.000 szt. 20.000 szt. (From: Application–Specific Integrated Circuits, Smith, Addison-Wesley, 1997) 8-27 8-28 JS TC 1 3.3.1 Programowanie nieodwracalne (One-Time Programming, OTP) JS TC 1 3.3.2 Programowanie kasowalne (Erasable Programming) A. Bezpieczniki (Fuses) • Technologia chronologicznie pierwsza, związana z układami bipolarnymi. • Technologia MOS, jako programowane połączenie tranzystor • EPROM i EEPROM: tranzystor nMOS normalnie otwarty z bramka swobodną (floating gate) • Metoda: przepalenie bezpiecznika – fragmentu odpowiednio przygotowanej ścieżki metalizacji. • Programowanie EPROM - hot electron tunneling: Napięcie programowania VPP >> +5V (+15÷20V), lawinowe wstrzykniecie elektronów na bramkę swobodną ⇒ przesunięcie napięcia progowego tranzystora powyżej +5V (tranzystor stale odcięty) VPP access gate floating gate VD < VPP Photo AMD B. Antybezpieczniki (Antifuses) n+ Source • Antybezpiecznik jest normalnie rozwarty (off); przepuszczenie odpowiednio dużego prądu (5 ÷ 15 mA) stapia izolujący dielektryk i powoduje stałe zwarcie (on). • Mniejsza zajętość miejsca => technologia stosowana w układach CMOS o dużym stopniu scalenia. n+ Drain thin gate oxide P-Type Silicon Fig. Altera 8-29 FAMOS = Floating – gate Avalanche – injection MOS 8-30 5 JS TC 1 Kasowanie: JS TC 1 3.3.3 Programowanie kasowalne elektrycznie (Electrically Erasable Programming) • Inna metoda wprowadzania elektronów na bramkę swobodną: efekt tunelowy Fowlera – Nordheima, wstrzyknięcie elektronów wprost z drenu. • Cieńsza warstwa dielektryka (10 vs. 100 nm), niższe napięcie programowania (VGD ~ +12V): • Naświetlenie promieniowaniem jonizującym (UV 2537 Å), jonizacja dielektryka umożliwia wzbudzonym elektronom spłynięcie z bramki swobodnej. • Obudowy ceramiczne z oknem ze szkła kwarcowego. • Powolne; trwa od kilku sekund do kilkunastu minut. • Jeśli trwa za długo niebezpieczeństwo nieodwracalnego pozbawienia bramki swobodnej możliwości uwięzienia elektronów (over-erasure). n+ Source n+ Drain • Samoczynne kasowanie pod wpływem promieniowania słonecznego, promieniowania tła (trwałość zapisu ograniczona). Tranz. FLOTOX = FLOating – gate Thin OXide • Ograniczona ilość cykli programowanie – kasowanie; rzędu 1000. • Niższe natężenie prądu ⇒ dłuższy czas programowania, zwykle rzędu ~ms. • Kasowanie: ten sam efekt przy odwróconej polaryzacji napięć = odprowadzenie elektronów z bramki swobodnej. W sumie: • Czas programowania dość długi (~µs), ale najkrótszy wśród metod programowania odwracalnego. • Bardzo dobre możliwości scalania (pojedynczy tranzystor jako jednocześnie urządzenie programujące i odczytujące). 8-31 • Podczas kasowania niebezpieczeństwo silnego dodatniego naładowania bramki swobodnej (tranzystor stale otwarty) ⇒ specjalne układy kontrolujące rozładowanie. 8-32 JS TC 1 Różne technologie programowania wielokrotnego – podsumowanie: EPROM EEPROM Vcc [V] 5, 12 Program/erase cycles Program method Flash NOR NAND 5 5, 3.3, 2.5 5, 3.3 ~103 ~105 ~105 ~106 Hot electron FN tunneling Hot electron FN tunneling Erase method UV light FN tunneling FN tunneling FN tunneling Program time 10 µs / Byte 5 ms / Byte 10 µs / Byte 300 µs / 512 Byte Erase time ~30 min 10 ms / chip 1 s / 64 kByte 5 ms / 16 kByte • Pamięci Flash = technologia E2PROM + odpowiednia organizacja matrycy pamięciowej oraz możliwość jednoczesnego kasowania wszystkich lub grupy komórek. 8-33 6