5. PROGRAMOWALNE UKŁADY LOGICZNE



Podobne dokumenty
Technika Cyfrowa 2. Wykład 1: Programowalne układy logiczne

Programowalne Układy Logiczne. Wykład I dr inż. Paweł Russek

Cyfrowe układy scalone

Technika Cyfrowa 1. Wykład 8: Cyfrowe układy scalone V CYFROWE UKŁADY SCALONE. dr inż. Jarosław Sugier IIAR, pok.

Cyfrowe układy scalone

Programowalne scalone układy cyfrowe PLD, CPLD oraz FPGA

Temat: Pamięci. Programowalne struktury logiczne.

Technika Cyfrowa 2 wykład 1: programowalne struktury logiczne - wprowadzenie

Cyfrowe układy scalone

Systemy wbudowane. Układy programowalne

Elementy cyfrowe i układy logiczne

Wykorzystanie standardu JTAG do programowania i debugowania układów logicznych

Układy programowalne

RODZAJE PAMIĘCI RAM. Cz. 1

4. Wpisz do tabeli odpowiednie oznaczenia ukladów: PAL, PLA, PLE

Elektronika cyfrowa i mikroprocesory. Dr inż. Aleksander Cianciara

Technika Cyfrowa 2 wykład 4: FPGA odsłona druga technologie i rodziny układów logicznych

43 Pamięci półprzewodnikowe w technice mikroprocesorowej - rodzaje, charakterystyka, zastosowania

Układy programowalne. Wykład z ptc część 5

PROJEKTOWANIE UKŁADÓW VLSI

MIKROELEKTRONIKA [gr.], dział. elektroniki zajmujący się działaniem, konstrukcją Fifth i technologią Level układów scalonych.

PROGRAMMABLE DEVICES UKŁADY PROGRAMOWALNE

Układy programowalne. Wykład z ptc część 5

Zwykle układ scalony jest zamknięty w hermetycznej obudowie metalowej, ceramicznej lub wykonanej z tworzywa sztucznego.

Technika Mikroprocesorowa

Spis treœci. Co to jest mikrokontroler? Kody i liczby stosowane w systemach komputerowych. Podstawowe elementy logiczne

mgr inż. Tadeusz Andrzejewski JTAG Joint Test Action Group

Artykuł zawiera opis i dane techniczne

Struktura i funkcjonowanie komputera pamięć komputerowa, hierarchia pamięci pamięć podręczna. System operacyjny. Zarządzanie procesami

Bramki logiczne Podstawowe składniki wszystkich układów logicznych

Układy cyfrowe. Najczęściej układy cyfrowe służą do przetwarzania sygnałów o dwóch poziomach napięć:

Krótkie przypomnienie

System mikroprocesorowy i peryferia. Dariusz Chaberski

Architektura systemu komputerowego

Podstawy Informatyki JA-L i Pamięci

Podstawy elektroniki cyfrowej dla Inżynierii Nanostruktur. Piotr Fita

Zaliczenie Termin zaliczenia: Sala IE 415 Termin poprawkowy: > (informacja na stronie:

Technika mikroprocesorowa. W. Daca, Politechnika Szczecińska, Wydział Elektryczny, 2007/08

Tranzystor JFET i MOSFET zas. działania

Szkolenia specjalistyczne

Wstęp do Techniki Cyfrowej... Synchroniczne układy sekwencyjne

Systemy operacyjne i sieci komputerowe Szymon Wilk Superkomputery 1

Zbudować 2wejściową bramkę (narysować schemat): a) NANDCMOS, b) NORCMOS, napisać jej tabelkę prawdy i wyjaśnić działanie przy pomocy charakterystyk

Projektowanie układów FPGA. Żródło*6+.

Pamięci RAM i ROM. R. J. Baker, "CMOS Circuit Design, Layout, and Simulation", Wiley-IEEE Press, 2 wyd. 2007

Logiczne układy bistabilne przerzutniki.

Cyfrowe układy kombinacyjne. 5 grudnia 2013 Wojciech Kucewicz 2

Podstawy elektroniki cz. 2 Wykład 2

Podział układów cyfrowych. rkijanka

Elektronika i techniki mikroprocesorowe

Sterowniki Programowalne (SP)

Programowalna matryca logiczna

Spis treúci. Księgarnia PWN: Krzysztof Wojtuszkiewicz - Urządzenia techniki komputerowej. Cz. 1. Przedmowa Wstęp... 11

Tranzystor jako element cyfrowy

Systemy na Chipie. Robert Czerwiński

Pamięci RAM i ROM. Pamięć RAM 2. R. J. Baker, "CMOS Circuit Design, Layout, and Simulation", Wiley-IEEE Press, 2 wyd (C mbit.

Ćwiczenie 24 Temat: Układy bramek logicznych pomiar napięcia i prądu. Cel ćwiczenia

Technika cyfrowa Inżynieria dyskretna cz. 2

Ćwiczenie 25 Temat: Interfejs między bramkami logicznymi i kombinacyjne układy logiczne. Układ z bramkami NOR. Cel ćwiczenia

ZL10PLD. Moduł dippld z układem XC3S200

Elementy cyfrowe i układy logiczne

Charakterystyka mikrokontrolerów. Przygotowali: Łukasz Glapiński, Mateusz Kocur, Adam Kokot,

Cyfrowe Elementy Automatyki. Bramki logiczne, przerzutniki, liczniki, sterowanie wyświetlaczem

Czterowejściowa komórka PAL

Różnicowe układy cyfrowe CMOS

Wstęp Architektura... 13

Układy reprogramowalne i SoC Wprowadzenie

Programator ICP mikrokontrolerów rodziny ST7. Full MFPST7. Lite. Instrukcja użytkownika 03/09

Programowalne Układy Logiczne Konfiguracja/Rekonfiguracja

LEKCJA TEMAT: Zasada działania komputera.

Architektura komputerów Wykład 2

Układy FPGA. Programowalne Układy Cyfrowe dr inż. Paweł Russek

Podstawowe bramki logiczne

Kierunek Inżynieria Akustyczna, V rok Programowalne Układy Cyfrowe. Platforma sprzętowa. Rajda & Kasperek 2014 Katedra Elektroniki AGH 1

Wykład II. Pamięci operacyjne. Studia stacjonarne Pedagogika Budowa i zasada działania komputera

Mikrokontrolery AVR techniczne aspekty programowania

Cyfrowe układy sekwencyjne. 5 grudnia 2013 Wojciech Kucewicz 2

Politechnika Warszawska

Systemy Wbudowane. Arduino - rozszerzanie. Podłączanie wyświetlacza LCD. Podłączanie wyświetlacza LCD. Podłączanie wyświetlacza LCD

Układy scalone. wstęp układy hybrydowe

Literatura. adów w cyfrowych. Projektowanie układ. Technika cyfrowa. Technika cyfrowa. Bramki logiczne i przerzutniki.

Porty wejścia/wyjścia w układach mikroprocesorowych i w mikrokontrolerach

Mikrokontrolery i mikrosystemy

TECHNIKA CYFROWA ELEKTRONIKA ANALOGOWA I CYFROWA. Badanie rejestrów

Cyfrowe układy scalone c.d. funkcje

LABORATORIUM PROJEKTOWANIA UKŁADÓW VLSI

Wykład II. Pamięci półprzewodnikowe. Studia Podyplomowe INFORMATYKA Architektura komputerów

UKŁAD SCALONY. Cyfrowe układy można podzielić ze względu na różne kryteria, na przykład sposób przetwarzania informacji, technologię wykonania.

Pamięci RAM i ROM. R. J. Baker, "CMOS Circuit Design, Layout, and Simulation", Wiley-IEEE Press, 2 wyd. 2007

Elementy cyfrowe i układy logiczne

Porty wejścia/wyjścia w układach mikroprocesorowych i w mikrokontrolerach

Elektrotechnika II Stopień (I stopień / II stopień) Ogólno akademicki (ogólno akademicki / praktyczny)

Sprawdzenie poprawności podstawowych bramek logicznych: NOT, NAND, NOR

Technika mikroprocesorowa

Programowalne Układy Cyfrowe Laboratorium

PSM niebanalne Flashe

Inwerter logiczny. Ilustracja 1: Układ do symulacji inwertera (Inverter.sch)

Tab. 1 Tab. 2 t t+1 Q 2 Q 1 Q 0 Q 2 Q 1 Q 0

Język opisu sprzętu VHDL

Transkrypt:

5. PROGRAMOWALNE UKŁADY LOGICZNE 5.1. Wstęp: Cyfrowe układy scalone Dwa podstawowe kryteria klasyfikacji ilość bramek w układzie (złożoność układu, tzw. stopień integracji), technologia wykonania. 5.1.1. Stopień integracji -liczba bramek logicznych w układzie SSI (Small Scale Integration) < 10 4 x NAND 4 x OR... - proste układy rodziny TTL MSI (Medium Scale Inetgration) 10 100 przerzutniki (np. SN7474: 2 x D = 2 x 6 NAND) rejestry, liczniki proste układy arytmetyczne... - bardziej złożone układy rodziny TTL LSI (Large Scale Inetgration) 100-10.000 proste mikroprocesory (liczba tranzystorów): -4004 (1971) 2550-8008 (1972) 2500-8080 (1974) 5000 układy WE /WY, zegary, kalkulatory... VLSI (Very Large Scale Inetgration) > 10.000 mikroprocesory (liczba tranzystorów): -8086 (1978) 29000 -i386dx (1985) 275000 -i486dx (1989) 1200000 -Pentium (1993) 3100000 -Pentium II (1997) 7500000 -Pentium III (1999) 24000000 -Pentium IV (2000) 42000000 1

UWAGI: Klasyfikacja utworzona na początku lat 80. Obecnie miarą złożoności mikroprocesorów jest raczej liczba tranzystorów niż bramek (pamięci podręczne cache...). 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. 5.1.2. Technologie Tranzystory bipolarne - rodzina TTL (Transistor-Transistor Logic): 1965, Texas Instruments, układy SN74 - rodzina ECL (Emiter Coupled Logic): 1962, Motorola; większy pobór mocy, najszybsze Tranzystory unipolarne MOS: mniejszy pobór mocy, mniejsze rozmiary (nawet 10x) lepsze scalanie - pmos: chronologicznie pierwsze - nmos: szybsze (większa ruchliwość nośników n); technologia HMOS: down, sizing, zmniejszanie długości kanału tranzystora zwiększa także szybkość; największy stopień scalenia - Complementary MOS, CMOS: oba typy tranzystorów MOS, najmniejszy pobór mocy 2

5.2. Wstęp: Układy ASIC Application Specific Integrated Circuits Podstawowy rozdział cyfrowych układów scalonych: 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ę logiczna układu Full-Custom Semi-Custom Standard Cells Gate Arrays Field Programmable Gate Arrays (układy FPGA) Programmable Logic Devices (układy PLD) 5.2.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ą już ostateczną architekturę, która nie ulega zmianom. 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. Zalety ASIC: niższe koszty zaprojektowania, wykonania i uruchomienia systemu cyfrowego, szczególnie przy produkcji wielkoseryjnej. Możliwości reprogramowania układu - ułatwione testowanie, wprowadzanie zmian w projekcie... 3

5.2.1.1. Full-Custom ASIC Użytkownik sam projektuje wszystkie lub wybrane komórki logiczne układu, rozmieszczenie oraz połączenia. Stosowane przeważnie w układach nowych lub wysoce specjalizowanych, gdy brak gotowych projektów wymaganych komórek. Produkcja we wsadach po 5 30 wafli (wafer), każdy wafel zawiera 10 100 układów. 5.2.1.2. Standard-Cell ASIC Układ projektowany z predefiniowanych standardowych komórek (standard cells), zaprojektowanych w trybie full-custom; dostępne komercyjne biblioteki standardowych komórek. Duże komórki, realizujące złożone bloki funkcjonalne (np. mikroprocesory) - tzw. mega cells, cores. 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ń. 5.2.1.3. Gate-Array ASIC Regularna, niezmienna struktura elementów układu (matryca elementarnych bloków logicznych), użytkownik projektuje sieć połączeń (warstwy metalizacji). Standardowe układy produkowane seryjnie i magazynowane, po otrzymaniu projektu dodawane tylko warstwy metalizacji. Taniej i szybciej niż standard-cell. Cykl produkcji dni-tygodnie. 5.2.1.4. Układy PLD (Programmable Logic Devices) Standardowe, produkowane masowo układy scalone opuszczają producenta w identycznej postaci. Nie ma modyfikowanych masek (komórki logiczne czy metalizacje), jeden duży blok programowanych połączeń, programowanie wyłącznie po stronie użytkownika. 4

Przykłady: - programowalne pamięci tylko do odczytu (PROM) - układy PAL, PLA: dwupoziomowa struktura sumy iloczynów, realizująca zaprogramowaną funkcję boolowską. 5.2.1.5. Układy FPGA Nazywane także FPLD (Field Programmable Logic Devices). Zasada programowania podobna do PLD, ale bardziej złożona struktura. 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. Liderzy architektur FPGA: firmy Xilinx oraz Altem. 5.2.2. Rachunek ekonomiczny układów ASIC Koszt całkowity projektu i produkcji = = koszt stały (przygotowanie projektu) +koszt jednostkowy (koszt u.s., montażu itp.) x liczba egzemplarzy Przykład: Porównanie trzech technologii CBIC (cell-based IC = standard cell ASIC) MCA (mask programmable gate array) FPGA Koszty: (stały) (jednostkowy) CBIC 146000 $ 8 $ MGA 86000 $ 10 $ FPGA 21800 $ 39 $ (Application Specific Integrated Circuits, Smith, Addison-Wesley, 1997) 5

Wyrównanie kosztów: FPGA vs. Gate Array 2000szt FPGA vs. Standard Cells 4000 Gate Array vs. StandardCells 20000 (Applicatioin Specific Infegrafed Circuifs, Smith, Addison-Wesley, 1997) 5.2.3. Programowanie układów PLD & FPGA 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). 6

Trzy główne technologie programowania - analogiczne do realizacji programowalnych pamięci tylko do odczytu (ROM): - programowanie jednokrotne (Programmable ROM, PROM) - programowanie kasowalne przez naświetlenie promieniami UV (Erasable Programmable ROM, EPROM) - programowanie kasowalne elektrycznie (Electrically Erasable PROM, EEPROM, E2PROM) 5.2.3.1. Programowanie nieodwracalne (One -Time Programming, OTP) A. Bezpieczniki (Fuses) Technologia chronologicznie pierwsza, związana z układami bipolarnymi. Metoda: przepalenie bezpiecznika - fragmentu odpowiednio przygotowanej ścieżki metalizacji. B. Antybezpieczniki (Antifuses) Antybezpiecznik jest normalnie rozwarty (off); przepuszczenie odpowiednio dużego prądu (5 15 ma) stapia izolujący dielektryk i powoduje stałe zwarcie (on). Antybezpieczniki zajmują mniej miejsca, dzięki niskiej rezystancji i pojemności są także szybkie. 5.2.3.2. Programowanie kasowalne (Erasable Programming) Technologia MOS, jako programowane połączenie tranzystor EPROM i EEPROM: tranzystor nmos z bramka swobodną (floating gate) 7

Programowanie EPROM - hot electron tunneling: Napięcie programowania V PP >>+5V (+15 20V), lawinowe wstrzykniecie elektronów na bramkę swobodną przesunięcie napięcia progowego tranzystora powyżej +5 V (tranzystor stale odcięty) Kasowanie: Naświetlenie promieniowaniem jonizującym (UV 2537 A o ), jonizacja dielektryka umożliwia wzbudzonym elektronom spłynięcie z bramki swobodnej. Obudowy 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). Samoczynne kasowanie pod wpływem promieniowania słonecznego, promieniowania tła (trwałość zapisu ograniczona). Ograniczona ilość cykli programowanie - kasowanie; rzędu 1000. 8

W sumie: Czas programowania dość długi (5 10 µ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). 5.2.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, niższe napięcie programowania (V GD -+12V): Niższe natężenie prądu dłuższy czas programowania, zwykle rzędu-5 ms. Kasowanie: ten sam efekt przy odwróconej polaryzacji napięć = odprowadzenie elektronów z bramki swobodnej. Podczas kasowania niebezpieczeństwo silnego dodatniego naładowania bramki swobodnej (tranzystor stale otwarty) specjalne układy kontrolujące rozładowanie. 9

Różne technologie programowania wielokrotnego - podsumowanie: EPROM EEPROM Flash NOR NAD V cc [V] 5; 12 5 5; 3,3; 2,5 5; 3,3 Program/erase cycles ~10 3 ~10 5 ~10 5 ~10 6 Program method 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 E 2 PROM + możliwość jednoczesnego kasowania wszystkich lub grupy komórek. 5.3. Układy PLD 5.3.1. Matryca programowalna Elementy: N linii poziomych z sygnałami WE I 1...I N, K linii pionowych reprezentujących tzw. termy T 1... T K, M linii poziomych z sygnałami WY F 1...F M, połączenia programowalne (oznaczone kółkami). 10

Analiza pracy: Tranzystory MOS otwierane poziomem 0 logicznego (napięciem niskim). Wówczas: T k = 0 wszystkie tranzystory termu k w matrycy górnej są zamknięte punkty są nie zaprogramowane lub na dołączonych wejściach I i = 1. Czyli: T k = 0 wszystkie uczestniczące w nim sygnały WE są równe 1 funkcja NAND: T k = NAND(α k1 +I 1, α k2 + I 2,..., α kn + I N ) gdzie: α ij = 0 punkt programowalny jest zwarty (WE I j dołączone) α ij = 1 punkt programowalny jest rozwarty (WE I j nie dołączone) Analogicznie pracuje matryca dolna: F m = NAND(β m1 +T 1, β m2 +T 2,..., β mn + T N ) gdzie β ij = 0 lub 1 w zależności od zaprogramowania j.w. a) Schemat symboliczny matrycy programowalnej b) Schemat równoważny z praw de Morgana c) Postać symboliczna używana w schematach układów PLD a b c 11

Klasyfikacja architektur PLD Typ układu: PAL (Pragrammable Array Logic) PLE (Programmable Logic Element) PLA (Programmable Logic Array) Matryca AND: Programowalna NIEprogramowalna Programowalna Matryca OR: NIEprogramowalna Programowalna Programowalna Nieprogramowalność oznacza, że w danej matrycy linie sygnałowe są na stałe dołączone do określonych bramek. Np. w układach PAL linie termów są na stałe dołączone do bramek OR: matryca OR jest nieprogramowalna, każda bramka OR ma swój zestaw termów, każdy term na dołączony do dokładnie jednej bramki OR. Programowanie decyduje o tym, jakie sygnały WE uczestniczą w wyznaczaniu poszczególnych termów. 5.3.2. Układy PLE Nieprogramowalna matryca AND. Idea na przykładzie struktury o 3 WE i 4 WY: Termy T 0... T 7 odpowiadają wszystkim 8 kombinacjom sygnałów WE; w każdej chwili dokładnie jeden z nich jest aktywny (równy 1) i zaprogramowane dla niego słowo w matrycy OR zostanie podane na WY. Czyli: pamięć ROM (Read Only Memory) o organizacji 8 słów 4-bitowych (8 x 4), której zawartość ustala się programując matrycę OR. W zależności od technologii pamięć PROM, EPROM lub E 2 PROM. W porównaniu do klasycznych realizacji pamięci ROM: - zaleta: szybsza odpowiedź - wada: mniejszy stopień scalenia, mniejsze pojemności 12

Bufory trójstanowe - zwykle występują na wyjściach w układach PLE Bufor 3-stanowy: OE=1 OUT=IN (0 lub 1) OE=0 OUT=Z (stan wysokiej impedancji) Niezbędne jeśli do jednej linii sygnałowej dołączane wiele wyjść (jak np. przy łączeniu wyjść wielu układów pamięci do magistrali danych). 5.3.3. Układy PAL Nieprogramowalna matryca OR każdy term dołączony na stałe do jednej z bramek OR Struktura: dwupoziomowy układ AND - OR (SOP, Sum Of Products) Najbardziej rozpowszechniona rodzina układów PLD Produkowana początkowo głównie w dwóch technologiach - PROM: przepalane bezpieczniki, szybkie układy bipolarne - EPROM: układy MOS obecnie coraz częściej także w technologii E 2 PROM (np. rodzina PALCE, EE CMOS) Podstawowa klasyfikacja układów PAL: - kombinacyjne - rejestrowe - z makrokomórkami programowalnymi 13

5.3.3.1. Układy PAL kombinacyjne Termy (linie teraz poziome) są ponumerowane 0..63 (obudowa 20- wyprowadzeniowa; w układach większych 0..74, obudowa 24-wypr.). Wejścia do matrycy programowalnej (linie pionowe): piny WE + sprzężenia zwrotne z WY. Ich liczba = liczba WE + liczba sprzężeń zwrotnych. Wszystkie sygnały w matrycy są dostępne komplementarnie; funkcje WY są zanegowane. Układ PAL16L8-10 WE / 8 WY, matryca 64x32-6 WY ze sprzężeniami zwrotnymi (dwa skrajne bez!) 14

PAL16L8: Komórka WY Na każde wypr. WY przypada 8 termów (AND): 1 sterujący buforem + 7 dołączonych na stałe do bramki OR Matryca AND: 64 x 32 punktów programowania (8x8 = 64 linii termów, (10 + 6) x 2 = 32 pionowych linii sygnałowych) Obudowa 20 wyprowadzeniowa (10 WE + 8 WY + Vcc + GND) Term T 8k sterujący k-tym buforem WY może być różnie zaprogramowany: - T 8k = const 1 pin pracuje jako WY (realizuje zaprogramowaną funkcję) - T 8k = const 0 pin pracuje jako dodatkowe WE - T 8k = 0/1- funkcja zmienna pin pracuje jako WE/WY (np. transmisja dwukierunkowa na jednej linii sygnałowej) 15

5.3.3.2. Układy PAL rejestrowe Układ PAL16R8 Sygnał z każdej bramki OR podawany na przerzutnik typu D Dwa sygnały WE wspólne dla wszystkich komórek WY: - Clk - /OE Po 8 termów na każdą bramkę OR Matryca programowalna 64 x 32 Sygnały dostępne w matrycy: 8 WE + 8 sprzężeń zwrotnych z przerzutników Obudowa 20-wypr. (8WE+Clk+/OE + 8WY + Vcc + GND) OE nieprogramowalny, wyprowadzenia WY nie mogą być dwukierunkowe 16

Układy pokrewne 16R8 16R6: dwa skrajne WY rejestrowe zastąpiono WE/WY kombinacyjnymi identycznymi jak w 16L8 (7 termów dołączonych do bramki OR + 1 term sterujący buforem trójstanowym; sprzężenie zwrotne pobrane za buforem możliwa praca dwukierunkowa). 16R4: cztery skrajne WY jako kombinacyjne WE/WY j.w. Oznaczenia układów PAL PAL 16 L 8 PAL 16 R 6 ilość sygnałów doprowadzonych do matrycy programowalnej (liczba WE + liczba sprzężeń zwrotnych) ilość WY lub ilość WY rejestrowych. L / H = układ kombinacyjny z WY aktywnymi 0 (Low) / 1 (High) R = układ z WY rejestrowymi C = układ kombinacyjny z wyjściami komplementarnymi P = układ kombinacyjny z polaryzacją wyjść programowalną V =układ z makrokomórkami WY programowanymi 17

5.3.3.3.Układy PAL z makrokomórkami programowalnymi PAL22V10 Bramki OR dołączone do 10 jednakowych makrokomórek programowalnych Matryca AND 132 x 44 Sygnały w matrycy: 12 wyprowadzeń zewnętrznych + 10 sprzężeń zwrotnych Różna liczba termów dołączonych do bramek OR: 8/10/12/14/16/16/14/12/10/8 Dodatkowe dwa termy realizujące wspólne dla wszystkich makrokomórek sygnały AR i SP Obudowa 24-wypr. (12 WE + 10 WY + V cc + GND) 18

Makrokomórka OLMC - Output Logic Macro Cell Zaprogramowanie dwóch punktów (S0 oraz S1) steruje pracą multiplekserów i określa konkretną funkcję makrokomórki. Przerzutnik typu D z sygnałami AR (Asynchronous Reset) oraz SP (Synchronous Preset) - dwa dodatkowe termy globalne w matrycy. Sygnał Clk wspólny dla wszystkich makrokomórek, pobierany z WE I 0. Dodatkowy term steruje bufor 3-stanowy. Możliwe tryby pracy makrokomórki a. Registered/active low b. Combinatorial/active low c. Registerea/active high d. Combinatorial/active high 19

Układ PAL16V8 Poza konfiguracjami niestandardowymi może emulować dowolny układ z rodziny 16R8 lub z rodziny 10H8. Obudowa 20 wyprowadzeń, matryca AND 64 x 32. 8 programowalnych makrokomórek WY (MC 0 MC 7 ). Dwa globalne punkty programowania (SG0, SG1) i po dwa lokalne w każdej makrokomórce (SL0 i, SL1 i ) razem 18 punktów programowania 20

SG0 - wykorzystanie wyprowadzeń 1 i 11 1 wyprowadzenia 1 i 11 jako I 0 i I 9 (urządzenie bez rejestrów, np. 16L8) 0 wyprowadzenia 1 i 11 jako Clk i OE (urządzenie z rejestrami, np. 16R8) SG1 - rodzaj architektury 1 układ rodziny 16R8 (16R8, 16R6, 16R4 lub 16L8) 0 układ rodziny 10H8 SL0 x - razem z SG1 określa funkcję komórki (rejestrowa 0 / kombinacyjna 1) SL1 x - polaryzacja WY (bramka XOR) Układy PAL / GAL - uwagi: Moduły PLD z makrokomórkami programowalnymi jako pierwsza wprowadziła firma Lattice Semiconductors i nazwała je układami GAL (Generic Array Logic). Były to układy reprogramowalne, co odróżniło je od ówczesnych układów PAL produkowanych przez AMD. Obecnie ta różnica zatarła się: rodzina GAL została wchłonięta przez układy PAL, które także stały się reprogramowalne (PALCE = EE CMOS). GAL is registered trademark of Lattice Seimiconductors Corp. PAL is registered trademark of Advanced Micro Devices, Inc. W 1999 r firma AMD wycofała się z rynku układów PLD, sprzedając swój oddział (firma Vantis) do Lattice. 21

5.3.4. Układy PLA Najbardziej uniwersalna struktura PLD: obie matryce programowalne. Układy chronologicznie pierwsze, ale rozpowszechniały się z oporami; obecnie wyparte przez prostsze układy PAL, znacznie rzadziej od nich stosowane. Przykład układ PLS153: Idea PLA przetrwała sekwenserach programowalnych PLS (Programmable Logic Sequencer): matryce programowalne + przerzutniki + sprzężenia zwrotne. Np. układ PLS105:- - 16 wyprowadzeń WE - 48 termów AND - łącznie 14 przerzutników typu RS; na każdy przerzutnik 2 linie sumy OR (do wejść R i S) - wspólny sygnał zegarowy (pobierany z dedykowanego WE) oraz PRESET - stan 8 przerzutników podawany na wyprowadzenia WY poprzez bufory 3-stanowe - stan 6 ukrytych" przerzutników dostępny jako sprzężenie zwrotne w matrycy AND 22

5.4. Układy PGA / FPGA Przypomnienie: Gate Arrays - najprostsza z technologii układów programowalnych maską (gotowa matryca bramek + projektowanie warstw metalizacji). Programmable Gate Arrays - połączenie idei matrycy gotowych bloków oraz koncepcji programowania punktów połączeń linii sygnałowych jak w technologiach PLD. Popularne obecnie układy FPGA (Field Programmable GA) - układy reprogramowalne elektrycznie. Firma Xilinx, koncepcja LCA (Logic Cell Array): - CLB (Configurable Logic Block) = konfigurowalny blok logiczny (dowolna funkcja boolowska zmiennych wejściowych + przerzutnik(i)) - SW (Switch Matrix) = programowalne połączenia pomiędzy różnego rodzaju liniami sygnałowymi, biegnącymi pomiędzy CLB. - I/O Block = bufonowanie wyprowadzenia zewnętrznego. 23

5.5. Programowanie układów PLD 5.5.1. Zaprojektowanie układu cyfrowego Edytor i kompilator PLD. Np. systemy PALASM (AMD), CUPL, ABEL... Wynik: mapa przepalonych" połączeń w strukturze układu, np. plik w standardowym formacie JEDEC (Joint Electron Device Engineering Council). 5.5.2. Programatory zewnętrzne Urządzenie zewnętrzne + komputer PC (podłączenie przez port szeregowy lub równoległy) + oprogramowanie 24

5.5.3. Programowanie w systemie (In System Programming, ISP) Programowanie układu wlutowanego", ostatnio coraz bardziej popularne. Joint Test Action Group (JTAG) => IEEE 1149.1 Boundary Scan Test Interface Standard (1990) - standard testowania połączeń obwodów drukowanych. IEEE 1149.1 - interfejs TAP (Test Access Port): 4 sygnały, urządzenia połączone szeregowo - język BSDL (Boundary Scan Description Language): zestaw instrukcji testujących przesyłanych interfejsem TAP Lata 90.: wykorzystanie interfejsu TAP przez producentów PLD / FPGA do programowania i testowania in system; rozszerzanie zestawu instrukcji BSDL. IEEE 1532 Standard for In-System Configuration of Programmable Devices standaryzacja zastosowania 1149.1 do programowania ISP. 4 sygnały interfejsu TAP: - TDI (Test Data Input) - TDO (Test Data Output) - TMS (Test Mode Select) - TCK (Tes tclock) Idea połączenia urządzeń - Łańcuch JTAG (JTAG scan chain): Lattice Semiconductor: układ GAL22V10 w wersji ISP; obudowa 28 wyprowadzeń, sygnały interfejsu TAP jako dodatkowe 4 wyprowadzenia. 25