Podstawy Techniki Cyfrowej i Mikroprocesorowej 1
Transkrypt
Podstawy Techniki Cyfrowej i Mikroprocesorowej 1
Układy CPLD Programowalne układy cyfrowe – Studia niestacjonarne II – Wykład 3 Układy koncepcyjnie podobne do SPLD, lecz bardziej złoŜone: -mają większe zasoby logiczne i moŜliwości funkcjonalne -struktura hierarchiczna oparta o makrokomórki logiczne -od 4 do 16 komórek łączy się tworząc blok logiczny -większa liczba termów przypadająca na pojedynczą makrokomórkę -moŜliwość poŜyczki termów z sąsiednich makrokomórek dr inŜ. Sławomir Sambor [email protected] ITA, budynek C-5 pokój 708, Tel. 0 71 320 30 78 http://zstux.ita.pwr.wroc.pl/slawek/ Dla porównanie typowa struktura FPGA 1 Układy CPLD i FPGA róŜnią się nie tylko architekturą, ale mają takŜe róŜną strukturę połączeń między blokami Konfigurowanie (programowanie) układów CPLD i FPGA - uzupełnienie Oprócz znanych z SPLD metod: bezpieczniki, antybezpieczniki, tranzystory z izolowaną bramką w układach CPLD oraz FPGA stosuje się statyczne pamięci RAM. PoniewaŜ pamięci RAM są ulotne więc ich zawartość musi być ładowana po włączeniu zasilania z zewnętrznych nieulotnych pamięci konfiguracji Istnieje moŜliwość rekonfiguracji układu w czasie pracy. CPLD – trochę historii… Pierwsze dostępne na rynku CPLD to układy MegaPal firmy MMI. Klasyczne rozwiązania sprawdzone w układach PAL16/20 Znacznie zwiększono rozmiar matrycy programowalnej AND co wpłynęło na zwiększenie pojemności pasoŜytniczych i zwiększyło czas propagacji. Matryce połączeniowe realizowane są w postaci: a) kratownice – największe moŜliwości łączeniowe, wymaga jednak bardzo duŜej ilości punktów programowalnych, dla układu ze 128 makrokomórkami liczba elementów łączących mieści się w przedziale 65000..128000, czas opóźnienia 7..15 ns b) matryce zrealizowane w postaci zespołów programowalnych multiplekserów, zmniejsza to liczbę punktów programowalnych około 256-krotnie, a czas propagacji sygnału prze 4-wejściowe multipleksery nie przekracza 0,4..2 ns Układy MagaPal zyskały przydomek MegaSlow. NaleŜało zmienić koncepcję architektury duŜych układów: Podstawy Techniki Cyfrowej i Mikroprocesorowej 1 Układy CPLD firmy Altera 1) 2) 3) 4) Rodziny MAX3K/MAX7K Rodziny MAX3K/7K/9K – klasyczna architektura CPLD FLEX6K/8K, FLEX10K układy o duŜo bardziej skomplikowanej APEX20K architekturze, posiadają: ACEX1, ACEX2 konfigurowalne bloki pamięci SRAM wbudowane pętle PLL ultraszybkie interfejsy LVDS (Low Voltage Differential Signaling) - układy najmniej złoŜone - MAX3K od 32 do 256 makrokomórek programowalnych - MAX5K od 32 do 512 makrokomórek programowalnych - technologia CMOS z reprogramowalną pamięcią konfiguracji EEPROM - moŜliwość programowania i testowania w systemie dzięki interfejsowi JTAG - podstawowy element to bloki logiczne LAB (Logic Array Block) składające się 16 makrokomórek - szybka matryca połączeniowa PIA (Programmable Interconnect Array) wykonana z uŜyciem programowalnych multiplekserów - globalne sygnały OE rozprowadzane w strukturze przez PIA Układy CPLD i FPGA coraz bardziej się do siebie upodabniają Rodziny MAX3K/MAX7K Rodziny MAX3K/MAX7K Komórka wejściowo-wyjściowa Komórka wejściowo-wyjściowa stosowana w układach MAX7K Komórka najbardziej rozbudowana funkcyjnie Rodziny MAX3K/MAX7K Makrokomórka programowalna Rodzina MAX9K PIA została zastąpiona systemem szybkich traktów komunikacyjnych (Fast Track Interconnect) tworzących klasyczną matrycę w oknach której umieszczono LAB-y o budowie zbliŜonej do LAB-ów w MAX3K/9K. Rozmiary matrycy zaleŜą od wersji układu, przy czym liczba kolumn jest stała (5), a liczba wierszy zmienia się od 4 do 7. Przerzutnik moŜna skonfigurować jako T, D, JK, RS lub zatrzask Globalne sygnały zegarowe i resetowania nie zajmujące PIA - pewna niedogodność to przypisanie tych sygnałów do określonych wyprowadzeń układów Podstawy Techniki Cyfrowej i Mikroprocesorowej KaŜdy wiersz traktu komunikacyjnego składa się z 96 linii, natomiast kolumny zawierają po 48 linii 2 Lokalna matryca połączeniowa zapewnia komunikację między makrokomórkami w obrębie LABU Sygnały z wyjść makrokomórek podawane są poprzez multiplekser grupwy na 16 linii wiersza Rodzina MAX9K budowa komórek wejściowo-wyjściowych Sygnały z wyjść są równieŜ przekazywane na linie kolumn (poprzez demultiplekser) Zastosowano równieŜ dodatkowe multipleksery łączące 48 linii kolumny z 16 liniami wiersza Rodzina FLEX8K Pierwsze układy firmy Altera, w których wprowadzono ulotną pamięć konfiguracji SRAM (wcześniej zastosowano ją w układach FPGA firmy Xilinx) Rodzina FLEX8K struktura LAB-u Architektura troche podobna do omawianej wcześniej rodziny MAX9K. Sygnały z LE są podawane bezpośrednio do najbliŜszej kolumny i dodatkowo do wejścia multipleksera, który umoŜliwia dołączenie wszystkich wyjść LE do wiersza traktu połączeniowego. KaŜdy wiersz traktu składa się z 168 lub 216 linii, kaŜda kolumna zawiera 16 linii przesyłowych LAB-y składają się z 8 makrokomórek zwanych elementami logicznymi LE (Logic Element) Multiplekser ten umoŜliwia równieŜ połączenie między sygnałami wiersza i kolumny. Komórki wejściowo-wyjściowe IOE (Input Output Element) wyposaŜono w przerzutnik D z asynchronicznym zerowaniem Rodzina FLEX8K Wybór źródła sygnału zegarowego Rodzina FLEX8K tryby pracy LUT LUT spełnia rolę modułu kombinacyjnego o funkcji zadanej przez projektanta i wyjściu kombinacyjnym lub rejestrowym 4-wejściowa tablica dzielona jest na dwie 3-wejściowe jedna spełnia rolę generatora CARRY, druga moŜe realizować dowolną funkcję 3 argumentów (jedenym z nich jest sygnał przeniesienia) Podstawowym elementem LE jest konfigurowalna tablica LUT (Look-UP Table) MoŜliwość łączenia zasobów kilku LE. Dwie 3-wejściowe tablice jedna do generowania wzbudzeń przerzutnika D druga do generowania szybkiego przeniesienia Podstawy Techniki Cyfrowej i Mikroprocesorowej Sygnał sterujący kierunkiem zliczania wykorzystano do synchronicznego zerowania przerzutnika D 3 Rodzina FLEX8K komórka wejściowo-wyjściowa IOE Przerzutnik D z asynchronicznym zerowaniem oraz zespół multiplekserów ustalających przepływ sygnałów między wyprowadzeniami układu i jego wnętrzem Podstawy Techniki Cyfrowej i Mikroprocesorowej 4