www.mikrocontroller.net

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


Autor: Andreas N. (poolspieler)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Georg A. (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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...

Autor: Christian R. (supachris)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Andreas N. (poolspieler)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Christian R. (supachris)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Georg A. (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Andreas N. (poolspieler)
Datum:

Bewertung
0 lesenswert
nicht 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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.