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