Technika Cyfrowa Wykład : Programowalne układy logiczne dr inż Jarosław Sugier JaroslawSugier@pwrwrocpl II pok C- J Sugier TC - Treść wykładu w tym semestrze: I Programowalne układy logiczne II Architektura systemów mikroprocesorowych III Mikrokontroler : architektura programowanie I Podstawy arytmetyki binarnej Programowanie w języku wewnętrznym (elementy Zaliczenie: Kolokwium; proponowany termin: Ocena końcowa wykładu OcenaWyk: if( OcenaLab == OcenaKol == OcenaWyk = ; else OcenaWyk = * OcenaKol + * OcenaLab; J Sugier TC - LITERATURA J Sugier TC Technika mikroprocesorowa: P Misiurewicz: Podstawy techniki mikroprocesorowej Opisy mikrokomputerów rodziny : A Rydzewski; J Janiczek AStepień; J Grabowski S Koślacz: Podstawy i praktyka programowania mikroprocesorów Technika cyfrowa układy PLD: B Wilkinson: Układy cyfrowe J Pieńkos J Turczyński: Układy scalone TTL w systemach cyfrowych P Zbysiński J Pasierbiński: Układy programowalne: pierwsze kroki T Łuba MA Markowski B Zbierzchowski: Komputerowe projektowanie układów cyfrowych w strukturach PLD - Układy PLD (Programmable Logic Devices Matryca programowalna I IN WE + DD + DD + DD T + DD F WY Matryca AND Matryca OR Elementy: J Sugier TC N linii poziomych z sygnałami WE I N K linii pionowych reprezentujących tzw termy T T K M linii poziomych z sygnałami WY F F M połączenia programowalne (oznaczone kółkami - Analiza pracy: Tranzystory MOS otwierane poziomem logicznego (PEMOS Wówczas: T k = wszystkie tranzystory termu k w matrycy górnej są zamknięte punkty są nie zaprogramowane lub na dołączonych wejściach I i = J Sugier TC Czyli: T k = wszystkie uczestniczące w nim sygnały WE są równe funkcja NAND: T k = NAND(α k + α k + α kn + I N gdzie: α ij = punkt programowalny jest zwarty (WE I j dołączone α ij = punkt programowalny jest rozwarty (WE I j nie dołączone Analogicznie pracuje matryca dolna: F m = NAND(β m + T β m + T β mn + T N gdzie β ij = lub w zależności od zaprogramowania jw - a Schemat symboliczny matrycy programowalnej b Schemat równoważny z praw demorgana c Postać symboliczna przyjęta w schematach układów PLD a I I IN połączenia progr T połączenia progr F b I I IN połączenia progr T połączenia progr F I N c T T T T K J Sugier TC F F F M -
Klasyfikacja architektur PLD Typ układu: PAL (Programmable Array Logic PLE (Programmable Logic Element J Sugier TC 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 - Układy PLE Nieprogramowalna matryca AND Idea na przykładzie struktury o WE i WY: T T T T I F F F F J Sugier TC Termy T T odpowiadają wszystkim kombinacjom b; w każdej chwili dokładnie jeden z nich jest aktywny i zaprogramowane dla niego słowo w matrycy OR zostanie podane na WY Czyli: pamięć ROM (Read Only Memory o organizacji słów -bitowych ( x której zawartość ustala się programując matrycę OR W zależności od technologii pamięć PROM EPROM lub E PROM - W porównaniu do klasycznych realizacji pamięci ROM: - zaleta: szybsza odpowiedź - wada: mniejszy stopień scalenia mniejsze pojemności Bufory trójstanowe zwykle występują na wyjściach w układach PLE O O O O OE (output enable Bufor -stanowy: OE = OUT = IN ( lub OE = OUT = Z (stan wysokiej impedancji IN OE J Sugier TC 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 OUT - Układy PAL J Sugier TC 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 PROM (np rodzina PALCE jako EE CMOS Podstawowa klasyfikacja układów PAL: - kombinacyjne (seria L / H - rejestrowe (seria R - z makrokomórkami programowalnymi (seria - Układy PAL kombinacyjne Termy (linie teraz poziome są ponumerowane (obudowa - wyprowadzeniowa; w układach większych obudowa -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 PALL - WE / WY matryca - WY ze sprzężeniami zwrotnymi (dwa skrajne bez! I I I I I I I G N D L- ( (- J Sugier TC O I/O I/O I/O I/O I/O I/O O I CC - PALL: Komórka WY I J Sugier TC Na każde wypr WY przypada termów (AND: sterujący buforem + dołączonych na stałe do bramki OR Matryca AND: x punktów programowania ( = linii termów ( + = pionowych linii sygnałowych Obudowa wyprowadzeniowa ( WE + WY + cc + GND Term T k sterujący k-tym buforem WY może być różnie zaprogramowany: - T k = const pin pracuje jako WY (realizuje zaprogramowaną funkcję - T k = const pin pracuje jako dodatkowe WE - T k = / funkcja zmienna pin pracuje jako WE / WY (np transmisja dwukierunkowa na jednej linii sygnałowej I/O -
ASYNCHRONOUS RESET (TO ALL REGISTERS SYNCHRONOUS PRESET (TO ALL REGISTERS Układy PAL rejestrowe Układ PALR 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 termów na każdą bramkę OR Matryca programowalna Sygnały dostępne w matrycy: WE + sprzężeń zwr z przerzutników I I I I R- ( (- J Sugier TC CC O O O O O O J Sugier TC Układy pokrewne R R: dwa skrajne WY rejestrowe zastąpiono WE/WY kombinacyjnymi identycznymi jak w L ( termów dołączonych do bramki OR + term sterujący buforem trójstanowym; sprzężenie zwrotne pobrane za buforem możliwa praca dwukierunkowa R- ( (- CC I/O O O Obudowa -wypr (WE + Clk + /OE + WY + cc + GND OE nieprogramowalny wypr WY nie mogą być dwukierunkowe I I G N D O O OE - I R: cztery skrajne WY jako kombinacyjne WE/WY jw - Oznaczenia układów PAL J Sugier TC Układy PAL z makrokomórkami programowalnymi J Sugier TC ilość sygnałów doprowadzonych do matrycy programowalnej (liczba WE + liczba sprzężeń zwrotnych PAL L PAL R L / H = układ kombinacyjny z WY aktywnymi (Low / (High R = układ z WY rejestrowymi C = układ kombinacyjny z wyjściami komplementarnymi P = układ kombinacyjny z polaryzacją wyjść programowaną: = układ z makrokomórkami WY programowanymi ( inne ilość WY lub ilość WY rejestrowych - PAL Bramki OR dołączone do jednakowych makrokomórek programowalnych Matryca AND Sygnały w matrycy: wypr zewn + sprzężeń zwr Różna liczba termów dołączonych do bramek OR: / / / / / / / / / Dodatkowe dwa termy realizujące wspólne dla wszystkich makrokomórek sygnały i Obudowa -wypr (WE + WY + cc + GND ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( - Makrokomórka Output Logic Macro Cell J Sugier TC Możliwe tryby pracy makrokomórki J Sugier TC S S I/O n S = S = S = S = S = High / Low S = Comb / Register a Registered/active low S = S = b Combinatorial/active low S = S = Zaprogramowanie dwóch punktów (S oraz S steruje pracą multiplekserów i określa konkretną funkcję makrokomórki Przerzutnik typu D z sygnałami (Asynchronous Reset oraz (Synchronous Preset dwa dodatkowe termy globalne w matrycy Sygnał Clk wspólny dla wszystkich makrokomórek pobierany z WE I c Registered/active high d Combinatorial/active high Dodatkowy term steruje bufor -stanowy - -
CC Układ PAL Poza konfiguracjami niestandardowymi może emulować dowolny układ z rodziny R lub z rodziny H Obudowa wypr matryca AND programowalnych makrokomórek WY (MC MC Dwa globalne punkty programowania (SG SG i po dwa lokalne w każdej makrokomórce (SL i SL i ; razem punktów programowania PALCE MC CL= CL= PTD= - MC CL= CL= PTD= - MC CL= CL= PTD= - MC CL= CL= PTD= - MC CL= CL= PTD= - MC CL= CL= PTD= - MC CL= CL= PTD= - MC CL= CL= PTD= - J Sugier TC - Nazwy PAL / GAL: 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 kasowalne elektrycznie 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 r firma AMD wycofała się z rynku układów PLD sprzedając swój oddział (f-ma antis do Lattice J Sugier TC - J Sugier TC 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 PL: I I Układy PGA / FPGA J Sugier TC 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 Typowo: pamięć konfiguracji przechowywana w komórkach RAM konieczność inicjalizacji I/O I/O - - Firma Xilinx koncepcja LCA (Logic Cell Array: - (Configurable Logic Block = konfigurowalny blok logiczny (dowolna funkcja boolowska zmiennych wejściowych + przerzutnik(i - (Switch Matrix = programowalne połączenia pomiędzy różnego rodzaju liniami sygnałowymi biegnącymi pomiędzy - = buforowanie wyprowadzenia zewnętrznego J Sugier TC Programowanie układów PLD J Sugier TC Zaprojektowanie układu cyfrowego Edytor i kompilator PLD Np systemy PALASM (AMD CUPL ABEL Wynik: mapa przepalonych połączeń w matrycy układu np plik w standardowym formacie JEDEC (Joint Electron Device Engineering Council Programatory zewnętrzne Urządzenie zewnętrzne + komputer PC (podłączenie przez port szeregowy lub równoległy + oprogramowanie ( - -
J Sugier TC J Sugier TC Programowanie w systemie (In System Programming I Programowanie układu wlutowanego ostatnio coraz bardziej popularne Joint Test Action Group (JTAG IEEE Boundary Scan Test Interface Standard ( standard testowania połączeń obwodów drukowanych IEEE - interfejs TAP (Test Access Port: sygnały urządzenia połączone szeregowo - język BSDL (Boundary Scan Description Language: zestaw instrukcji testujących przesyłanych interfejsem TAP Lata : wykorzystanie interfejsu TAP przez producentów PLD / FPGA do programowania i testowania in system; rozszerzanie zestawu instrukcji BSDL IEEE Standard for In-System Configuration of Programmable Devices standaryzacja zastosowania do programowania I - sygnały interfejsu TAP: -TDI(Test Data Input - TDO (Test Data Output -TMS(Test Mode Select -TCK(Test Clock Idea połączenia urządzeń łańcuch JTAG (JTAG scan chain: TDI TMS TCK TDO ispgal ispgal ispmach G Lattice Semiconductor: układ GAL w wersji I; obudowa wypr sygnały interfejsu TAP jako dodatkowe wyprowadzenia -