WYKŁAD 3. Układy PLD Rodzina układów PLD Programmable Logic Devices SPLD CPLD FPGA WYKŁAD 3. Układy FPGA: obszary zastosowań Field Programmable Gate Array Komputery serwery jednostki wspomagające obliczenia sterowanie strumieniem danych grafika Przemysł algorytmy sterowania sieci komunikacyjne układy IO, peryferia Komunikacja bezprzewodowa Praktycznie układy FPGA wi-fi występują w każdej dziedzinie struktury komunikacji 3G elektroniki … WYKŁAD 3. Układy FPGA Field Programmable Gate Array Programowalny układ logiczny jest układem półprzewodnikowym o programowalnej strukturze wewnętrznej producent rodzina typ „3” trzecia edycja „5” pięć tysięcy elementów logicznych WYKŁAD 3. Układy FPGA: przykład systemu oznaczeń WYKŁAD 3. Struktura wewnętrzna FPGA FPGA zawierają rozmieszczone matrycowo różne bloki logiczne Poszczególne bloki są łączone ze sobą za pośrednictwem linii traktów połączeniowych oraz programowalnych matryc kluczy połączeniowych umieszczonych w miejscu krzyżowania się traktów poziomych i pionowych WYKŁAD 3. Struktura wewnętrzna FPGA: Logic Array Block tu kodujemy funkcjonalność WYKŁAD 3. Struktura wewnętrzna FPGA: matryca połączeń tu znajduje się LAB WYKŁAD 3. Główne parametry pamięci funkcje DSP procesory mnożarki cyfrowe przetwarzanie sygnałów układy czasowo licznikowe transmisja WYKŁAD 3. Układy FPGA: bloki pamięciowe W zależności od wizji projektanta bloki pamięciowe mogą posiadać różną funkcjonalność Przykład układu EP3C5 (a) posiada 46 bloków M9K, łącznie 423936 bitów czyli 52kB (b) Projektant ma możliwość wykorzystania tej struktury jako - Pamięć jednoportowa ram - Pamięć dwuportowa ram - Pamięć stała rom - Pamięć FIFO - Rejestr przesuwny (c) jeśli jest taka potrzeba może wstępnie wypełnić dowolny obszar pamięci (d) szyny adresowe i danych pamięci dwuportowych mogą być niezależne (e) Do diagnostyki struktur pamięciowych można wykorzystać narzędzie środowiska QUARTUS – „In system memory contrent editor” (f) Konfiguracje rozmiaru pamięci: od 8192x1 do 256x36 WYKŁAD 3. Układy FPGA: Sygnały kontrolne pamięci WYKŁAD 3. Układy FPGA: Pamięć jednoportowa a dwuportowa WYKŁAD 3. Układy FPGA: rejestr przesuwny WYKŁAD 3. Układy FPGA: przykłady wykorzystania pamięci Pamięć jednoportowa - pamięć próbek - pamięci podręczne procesorów - tablice stałych - generatory przebiegu - automaty Pamięć dwuportowa - wymiana danych między systemami o różnych prędkościach - jednostki przetwarzania informacji Rejestry przesuwne - pamięci FIFO - implementacje stosu - akwizycja danych bez jawnego adresowania - filtry cyfrowe WYKŁAD 3. Mnożarki ogólna struktura Mnożarka dla danych typu BYTE Mnożarka dla danych typu floating-point IEEE754 WYKŁAD 3. DLACZEGO FPGA 1. W przypadku zmian koncepcyjnych, poprawek wymianie podlega struktura a nie płytka czy układ scalony 2. Jeden układ FPGA zajmuje zdecydowanie mniej przestrzeni niż kilkanaście standardowych układów wykonawczych co wpływa na redukcję kosztów 3. Testowanie układów czy finalnych rozwiązań jest wspomagane przez środowisko projektowe QUARTUS 4. Można tworzyć własne niepowtarzalne struktury cyfrowe pod względem budowy i funkcjonalności, co wpływa na skrócenie czasu między pomysłem a sprzedażą Dlaczego nie stosować procesorów ? WYKŁAD 3. DLACZEGO FPGA Procesory działają sekwencyjnie a 1 układy FPGA mogą działać równolegle Struktura procesorów jest niezmienna 2 w układach FPGA tę strukturę można zmieniać