Programowalne Układy Logiczne Konfiguracja/Rekonfiguracja
Transkrypt
Programowalne Układy Logiczne Konfiguracja/Rekonfiguracja
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 Fpga Recon. Hrdw. Daughter board Workstation Fpga Recon. Hrdw. Daughter board Workstation Fpga Recon. Hrdw. 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 z z z z 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 Obiekt 2 FPGA 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 Akceleracja sprzętowa = Czas realizacji algorytmu przez procesor Czas realizacji algorytmu przez FPGA + Czas konfiguracji FPGA Układy wielokontekstowe Konfigu racja 4 3 2 1 FPGA