Partielle dynamische Rekonfiguration verschiedene Arten ?

Gast #2021502
Lesenswert?

Undercover schrieb:
> Hallo leute,
>
> habe jetzt in internet gesehen es existieren, verschiedene Arten zu der
> dynamischen Rekonfiguration könnt ihr mir deshalb diesbezüglich
> sagen:Welche verschiedene Arten existieren für die Durchführung von
> Partielle dynamische Rekonfiguration ?
>
> lg

Wie schon im anderen Thread: Recherchier selber
#2021522
Lesenswert?

Da der Workflow immer extrem auf den Hersteller des FPGAs zugeschnitten 
ist, wirst du keine so allgemein gültigen Aussagen erhalten. Außerdem 
ist das eine Technik, die m.W. extrem wenig Leute anwenden weil das nur 
selten nötig ist. Wo ich es gelesen habe, ist in Space Technik. Da 
konfiguriert man nur einen Teil des FPGA aus einem Festspeicher und lädt 
den Rest nach.
Gast #2021537
Lesenswert?

@D.I. Nein, sind keine Hausaufgaben! Es sind Themengebiet in den ich 
mich gerade einlese und aufgrund der knappen Infos im Netzs (wie 
Christian schon sagt), dachte das ich mich hierher wenden kann in der 
Hoffnung, dass jemand Stichpunktartig wissen teilt!

@Christian: Voerst recht herzlichen dank! Das heisst, es existieren 
keine allgemeinen Workflows der dynamischen Rekonfiguration. Verstehe... 
Existieren auch keine Grundlegenden Vorgehensweisen, an den man sich 
orientieren kann falls man selber eine partiell dynamische 
rekonfiguration entwickeln möchte ?!
Gast #2021751
Lesenswert?

Naja. Herstellerspezifisch allemal, aber bisher ist das ja eigentlich 
nur Xilinx die das anbieten (Altera hat es für 28nm angekündigt).

Im Groben kann man die Xilinx Ansätze in 2 Kategorien aufteilen:

1) Difference Based (gibts nicht mehr)
2) Partition Based

Difference Based funktionierte durch die sog. "Glitchless 
Reconfiguration", welche es erlaubt teile des FPGAs zu rekonfigurieren 
und dabei garantiert, dass sich Konfigurationsspeicherbits die nach PR 
wieder den gleichen Wert haben nicht glitchen während/durch die 
Rekonfiguration. Das erlaubt es dass man Teile des FPGAs rekonfiguriert 
indem man einen Teil des Konfigurationsspeichers ändert, einen anderen 
Teil nicht (mit den gleichen Daten überschreibt). Bei Difference-Based 
werden dann 2 Designs auf Bitstream-Ebene verglichen. Doku dazu ist 
XAPP290.

Partition Based funktioniert auf der Ebene von Design-Modulen, welche 
man als rekonfigurierbar definiert. Diese werden dann für sich 
synthetisiert sodass man für ein solches Design statische von 
rekonfigurierbarer Logik unterscheiden kann. Das ging früher über Xilinx 
9.1/10.X mit einem zugangsbeschränktem Programm (Early Access EAPR) 
welches diese Toolchain patchte. Synthese erfolgt in ISE, Rest über 
Planahead.

In ISE 11.X gabs auch irgendeine PR zu der ich nichts sagen kann.
ISE 12.X hat das nun als offizielles Feature eingeführt. Der Partitioned 
Ansatz ist weiterhin der gleiche, allerdings der Workflow ein anderer:

Beim EAPR hat man rekonf. Logik als Module synthetisiert, dann die 
Statische und final alles (das kann gerne mal 1 Nacht dauern) in einem 
Prozess "merge" zusammengeführt. Bei 12.1 Hat man hingegen 
"Konfigurationen" die jew. aus statischer Logik und einer Auswahl von 
rekonf. Instanzen besteht. Dann wird das synthetisiert und geroutet, 
anschlißened wird der statische Anteil extrahiert und für weitere 
Konfigurationen (rekonf. Module anders belegt) verwendet. Am Ende hat 
man für jede Konfiguration einen vollen Bitstream und für jede Belegung 
der rekonf. Module einen kleineren partiellen Bitstream. Insgesamt muss 
man jede Variante eines rekonf. Moduls (die versch. Implementierung) in 
mind. 1 Konfiguration drinne haben.

Doku hierzu:
EAPR: UG208
Neuerer Flow: UG702, UG 743, UG744

Gruß, Micha.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren