Wprowadzenie
Transkrypt
Wprowadzenie
Wprowadzenie Programowalne Układy Cyfrowe dr inż. Paweł Russek Program wykładu Wprowadzenie – – – – geneza, systematyka, charakterystyka PLD, Zastosowanie. Układy SPLD (Simple PLD): – – PROM, PLA, PAL Technologia. – Układy GAL Przykłady Układy CPLD Podsumowanie Literatura www.actel.com www.altera.com www.xilinx.com www.latticesemi.com Amazon Book Search: for ”fpga” over 1000 results Field Programmable Gate Arrays J.V. Oldfield, R.C. Dorf Field Programable Gate Array Technology ed. S.M. Trimberger Digital System Design And Prototyping Using Field Programmable Logic, Z. Salcic, A. Smailagic Klasyfikacja systemów cyfrowych Pamięci Pamięci Mikroprocesory Mikroprocesory Logika Logika „glue logic”, interfejsy sprzętowe, transmisja danych, wyświetlanie, przetwarzanie sygnałów, ... Technologie Układów Cyfrowych Układy programowalne „Programmable Logic Devices (PLDs) are standard, off-the-shelf parts that offer customers a wide range of logic capacity, features, speed, and voltage characteristics - and these devices can be changed at any time to perform any number of functions.” „Xilinx web page” Układy programowalne Zalety Niski koszt NRE Niski koszt implementacji projektu Łatwość modyfikacja projektu Zmniejszone ryzyko projektowe Łatwość weryfikacji i testowania projektu Wady Koszt/rozmiary chipu Szybkość Jakość projektowania Wymagane duże doświadczenie projektowe Opłacalność stosowania Opłacalność stosowania c.d. Zastosowanie Wireless communications – Wireline communications – Lcd, set top boxes, high end cameras Video & Image processing – Optical and radio transmission, tel. Switches, traffic managers, backplane transceivers Consumer electronics – High speed switches, routers, DSL multiplexers Telecom – Cellular base station Surveillance, broadcast, copression, Automotive – GPS, driver assistance, car threat avoidance, cruise control etc. Zastosowanie cd. Aerospace and Defence ASIC prototyping Embedded systems Test and Measurment Storage Data security Medical HPRC Custom designs Tools for PLD Migration to open source framework Tradiotionally HDL HLS: AutoESL (Xilinx 2011) SoC design tools Virtualization – – – Shared Board farms Tools provisioning Cloud computing and development Geneza współczesnych PLD/FPGA F(A,B,C,...) Literały: A,B,C,A’,B’,C’, ... Wyrażenia iloczynowe (ang. product terms): p1=A••B’••C, p2=A’••C, ... Postać kanoniczna: F(A,B,C,...) = A••B+A••C’+A••B’••C+ ... Podejście naiwne Realizacja matrycy OR Realizacja matrycy AND AND/OR Notacja graficzna PROM - najprostszy PLD (y1,y2,..., yk) =F(x1,x2,..., xn) !!! xn...x2 x1 y1 y2 yk ....00000 0 0 0 ....00001 1 1 1 ....00010 1 1 1 ....00011 0 0 0 ....00100 0 0 0 ....00101 0 0 0 ....00110 0 0 0 ....00111 1 1 1 x0 x1 x2 x3 x4 . . . xn A0 A1 A2 A3 A4 . . . An D0 D1 D2 . . . Dk Rozwiązanie bardzo rozrzutne. Problem. Zbudować FSM przy pomocy ROM i rejestru y0 y1 y2 . . . yk Programmable Logic Array. PLA Matryca OR i matryca AND programowalne Możliwe współdzielenie (min)termów przez funkcje wyjściowe Wejścia i wyjścia są jednokierunkowe. Układ PLA - przykład Problem. Podać formuły funkcji logicznych Programmable Array Logic. PAL Matryca AND programowalna, matryca OR stałe Brak współdzielenia termów przez funkcje wyjściowe Posiada dwukierunkowe wejścia/wyjścia Mniejsza ilość połączen programowalnych – szybsze Mniejszy pobór mocy Struktura PAL PAL kaskadowanie Posiada dwukierunkowe wejścia/wyjścia Zwiększania liczby dostępnych termów dla wyjścia Rodzina układów PAL Kombinacyjne Do realizacji logiki kombinacyjnej Sekwencyjne Do realizacji logiki sekwencyjnej (FSM) Arytmetyczne Sumy termalne mogą być łączone przez XOR PAL oznaczenia PAL 16H8 W sumie 16 wejść i wyjść Typ wyjścia (H,L,R,A,V) PAL16L8 PAL16R4 PAL16A4 8 wyjść Układ 22V10 OLMC Output Logic Macro Cell 22V10 tryby pracy OLMC Wspóczesny PAL 16V8 8 wyrażeń iloczynowych (termów) na wyjście 32 wejścia do matrycy AND Kontrolne funkcje 1 termu Przykład 16V8. PROM revisited Układy PAL vs GAL Element programowalny PAL EPROM, UVCMOS GAL EEPROM, EECMOS Programowanie Dalszy rozwój PLD 1. Jak uczynić układy jeszcze bardziej efektywnymi wobec wzrastających możliwości technologii półprzewodnikowej? Dodać nową możliwość w postaci konfigurowalnego bloku we/wy 1. 2. Zwiększyć rozmiar typowych PAL i GAL.? Nie efektywne bo: – – 3. Pomysł dobry, ale ma ciągle nie daje dostatecznych możliwości układom PLD Spowolni działanie Zmarnuje miejsce Umieścić kilka PAL i GAL w pojedynczej strukturze razem z dodatkową strukturą łączącą bloki wewnątrz układu Układy CPLD. Complex PLD Blok PAL w CPLD CPLD. Input Output Block Podsumowanie Układy CPLD choć ciągle stosowane ustępują miejsca układom FPGA Układy CPLD znajdują zastosowane w zastosowaniach o skrajnie niskim poborze prądu i o bardzo dużych wymaganiach szybkościowych.