Programowalne Układy Logiczne Konfiguracja/Rekonfiguracja dr inż. Paweł Russek
Program wykładu Metody konfigurowania PLD Zaawansowane metody konfigurowania FPGA Rekonfigurowalne systemy obliczeniowe
Pamięć konfiguracji
Programowanie klasyczne Programator EPROM/EEPROM Swobodny dostęp do pamięci konfiguracji Wykorzystanie wszystkich pinów Konieczny adaptor Gang-programatory Rozwiązanie uniwersalne Konieczne ciągłe wsparcie producenta
Programowanie na PCB ISP In System Programming, ISC Szeregowy dostęp do danych IEEE1532/IEEE1149.1(JTAG) Rozwiązanie relatywnie wolne Prototypowanie/serwis Daisy-chain
Programowanie FPGA Od 300k bitów do 30M bitów danych konfiguracyjnych Tryby programowania ISP Szeregowy Równoległy (zrównoleglenie danych) Zewnętrzna pamięć Szeregowa Równoległa Dedykowany mikrokontroler Xilinx Platform FLASH PROM
Konfiguracja CPLD: On the Fly Relatywnie długi czas programowania Rejestry cieni Nie zakłóca pracy układu W wielu zastosowaniach CPLD pracuje z kilkoma przełączanymi konfiguracjami Aplikacje: Programowalna matryca komutacyjna Programowanie FPGA
Systemy obliczeniowe z FPGA Wielokrotne wykorzystanie struktury krzemowej Oszczędność energii Szybkość pracy Długi czas projektowania Realizacje zorientowane na dane, a nie instrukcje
Przykład systemu z FPGA Koder/Decoder wideo z UCLA DWT Kwantyzacja Kodowanie entropowe
Systemy hybrydowe Podział algorytmu na zadania odpowiednie dla FPGA i procesora MicroBlaze PowerPC VIRTEX II PRO Procesor Procesor Procesor Recon. Hrdw. Fpga Daughter board Workstation Recon. Hrdw. Fpga Daughter board Workstation Recon. Hrdw. Fpga Daughter board Workstation
Celoxica DK Design Suite Podział projektu na HW, SW Kosymulacja Abstrakcyjny model sprzętu Handel-C Virtex II Pro, Excalibur www.celoxica.com
Reconfigurable computing A Reconfigurable Computing Primer by Michael Barr Multimedia Systems Design, September 1998, pp. 44-47
Częściowa rekonfiguracja Oszczędność czasu Swobodny dostęp do danych FPGA. Możliwość odczytu konfiguracji Problemy z DRC??? bit1 bit2 bit
Rodzina XC6200 XC6216, XC6264 Interface FastMAP. Pamięć konfiguracji dostępna tak jak zwykła pamięć RAM Dostępu szeregowy i równoległy Odczyt i zapis
Atmel AT40K FPGA Zgodne z rodziną XC4000 Częściowa rekonfiguracja Kompresja pliku konfiguracyjnego
Zarządzanie zasobami FPGA W środowisku wielozadaniowym zasoby FPGA są dobrem dzielonym. Obiekty sprzętowe o zamkniętej fizycznie i logicznie strukturze. Możliwość relokacji obiektów Konieczność odczytania wewnętrznych stanów obiektu
Problemy zarządzania zasobami FPGA Konieczność dynamicznej relokacji i zmiany orientacji obiektu Obiekt 1 FPGA Obiekt 2 Obiekt 3 Relokacja
Run Time Reconfiguration - RTR Niezakłócona praca układu podczas rekonfiguracji jego części.
Konfiguracja Virtex FPGA Tryby programowania Struktura pliku bit Kolumnowa organizacja pamięci konfiguracji.
Cechy rodziny Virtex SelectMap: RTR. Możliwość konfiguracji części struktury podczas gdy reszta ciągle pracuje. Minimalny kwant konfiguracji to ramka Możliwe 2 tryby rekonfiguracji: Modułowa. Kiedy,moduły są całkowicie niezależne Różnicowa. Kiedy wprowadzamy tylko niewielkie różnice do konfiguracji Wysokość rekonfigurowalnego modułu jest zawsze pełną wysokością struktury, a szerokość to wielokrotność 4 kolumn CLB
Modular Design. Bus Macro Dla konfiguracji gdzie moduły muszą się ze sobą komunikować
Modular Design Projektowanie w zespołach wielu ludzi Projektowanie dla RTR
Wydajność systemu rekonfigurowalnego Wydajność spada przy konieczności częstej podmiany konfiguracji Czas realizacji algorytmu przez procesor Akceleracja sprzętowa = Czas realizacji algorytmu przez FPGA + Czas konfiguracji FPGA Układy wielokontekstowe 4 3 2 1 Konfigu racja FPGA