Forum: FPGA, VHDL & Co. Beschleunigung von IP Core entwicklung mit Xilinx EDK


von Andreas N. (poolspieler)


Lesenswert?

Hallo,
ich bin gerade dabei, eigene IP Cores zu entwickeln.
Die Simulation (im ISE) klappt schon ganz gut. Hardwaremäßig habe ich 
meinen ersten IP Core auch schon zum laufen bekommen.
Aber es ist schon ein wahnsinniger Zeitaufwand, nach jeder Änderung des 
IP Cores ein komplettes "generate Bitstream" im XPS machen zu müssen.
Und das dauert dann seine 5 bis 10 Minuten... :-(

Gibt es da eine schnellere Lösung? Oder wie macht Ihr das?

Gruß,
Andreas

von Georg A. (Gast)


Lesenswert?

Vorher besser simulieren und testen ;) Man kann es allerdings auch 
übertreiben, es ist wirklich ein Trade-off. Gerade im Zusammenspiel mit 
anderen Bauteilen (Asynchronität etc.) liegt ein weites Feld an 
Möglichkeiten, auf die man am Anfang bei der Testbencherstellung nicht 
kommt. Da hilft wirklich nur probieren und gleich genügend interne 
Debugging-Signale rausführen.

Ansonsten ist eine schnellere CPU mit mehr Cache auch hilfreich. Dem 
Vernehmen nach soll die Xilinx-SW unter Linux auch etwas schneller sein. 
Und ein makefile für alles und die Abschaffung der GUI entlasten die 
Nerven auch ziemlich...

von Christian R. (supachris)


Lesenswert?

...die sollten lieber mal das Ding parallelisieren. Das läuft auf einem 
Quad-Core auch nur auf einer CPU. Schlimm. Ich muss immer etwa 20 
Minuten auf mein Virtex 4 Design im ISE warten, beim EDK incl. PPC usw 
dauerts noch länger.

von Andreas N. (poolspieler)


Lesenswert?

Hallo,
ich entnehme Euren Antworten, dass man nicht drum herum kommt, jedes mal 
komplett zu synthetisieren - hab ich mir schon gedacht... :-(

Wobei ich es trotzdem nicht ganz verstehe:
Warum muss er denn die ganzen IPs und den kompletten MircoBlaze neu 
synthetisieren - obwohl sich daran nichts geändert hat???
Naja, die Xilinxer werden schon wissen was sie tun.

Mit der Simulation hast Du Recht - man kann schon einiges vorher 
abklären und testen - aber in der Praxis sieht alles oft ganz anders 
aus...

Mitte 2009 soll ja die Version 11 von ISE kommen - mal schaun, was sich 
da alles tun wird.

Gruß,
Andreas

von Christian R. (supachris)


Lesenswert?

Naja, theretisch kann man das Design auch in Partitionen unterteilen, 
die dann meines Wissens nicht immer neu implementiert werden müssen. 
Aber da kenn ich mich leider (noch) nicht aus.

Zur Version 11: Schneller geworden ist es bisher noch nie. Weniger 
Fehler als in der Vorgänger-Version waren auch noch nie drin. Bei Xilinx 
hat sich bei uns bewährt, immer die ältest mögliche Major-Version incl. 
der Service Packs zu benutzen. Ich arbeite momentan mit der 9.2.0.4 und 
das geht sehr zuverlässig.

von Georg A. (Gast)


Lesenswert?

> Warum muss er denn die ganzen IPs und den kompletten MircoBlaze neu
> synthetisieren - obwohl sich daran nichts geändert hat???

Tut er auch nicht. Der Microblaze oder die anderen Cores werden nicht 
neu aus der Quelle synthetisiert. Das passiert nur, wenn sich das mhs 
geändert hat. Allerdings lädt xst die synthetisierte Netzliste wieder 
ein und macht über das Gesamtdesign eine Optimierung (FF-Balancing, 
etc.). Und das ist auch noch langwierig genug... Man kann das Laden und 
Optimieren der Cores auch unterbinden (d.h. der MB ist nur noch eine 
Blackbox). Das Ergebnis ist aber sehr lahm.

> aber in der Praxis sieht alles oft ganz anders aus...

Ich weiss... Bei meinen Designs (fast immer mit asynchronen Interfaces 
nach aussen...) wird eigentlich nur am Anfang simuliert (d.h. 
Datenfluss, prinzipielle Abläufe) und der Rest dann dem statistischen 
Experiment namens Realität überlassen.

von Andreas N. (poolspieler)


Lesenswert?

Hallo Georg,
ich habe noch nicht die genauen Zeiten für die Synthese mitgestoppt.
Du könntest aber Recht haben (und hast Du sicherlich auch...):
Wenn man einen "neuen MircoBlaze" erzeugt, dann dauert es noch länger...
Seltsamerweise ist in der letzten Zeit mein Kaffekonsum stark 
angestiegen... ;-) Woran das wohl liegt.

Beim Experiment "Realität" gibt es aber leider zwei Stufen:
Stufe1: Entwicklung und Test bei Laborbedingungen
Stufe2: Praxiseinsatz

Und die haben meistens auch noch seeeehr unterschiedliche Ergebnisse...

Dann wünsche ich Euch noch ein schönes synthesefehlerfreies Wochenende!

Gruß,
Andreas

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.