Hallo, ich habe in einigen Threads schon gelesen, dass man die Synthese, Mapping etc. mit Kommandozeilen ausführen solle. Wie funktioniert das und was bringt das genau? Das einzige, was ich mir jetzt vorstellen kann, sind irgendwelche spezielle Optionen beim synthetisieren, die damit übergeben werden und nicht immer wieder in der GUI eingestellt werden müssen. Gibt's da noch was anderes, oder ist es das?
Spezielle Optionen, die in der GUI fehlen und die man von der Commandozeile aufrufen kann gibt es eher nicht. Die GUI sollte schon alle möglichen Einstellungen abdecken. Es gibt aber Leute (ich gehöre dazu), die lieber mit der Tastatur arbeiten als mit der Maus alles mögliche anzuklicken und die die Xilinx-GUI nicht mögen (da gehöre ich auch wieder dazu). Außerdem hat man, wenn man den ganzen Ablauf in ein makefile steckt, nur mehr text-basierte Quellfiles, was für die Versionskontrolle mittels CVS oder ähnlichem günstiger ist. Wenn man solch ein makefile einmal hat, ist es kein großes Problem es an weitere Projekte anzupassen. Klaus
Ok, und wie sieht so ein Makefile aus, bzw. wo steht, was da alles reinkann oder muss?
Wenn Du mit ISE und einem Projekt arbeitest, werden im Projektarbeitsverzeichnis als <projekt>.cmd_log die Aufrufe der einzelnen Programme mitgeschrieben. Auf der Kommandozeile die entsprechenden Environmentvariablen setzte und dann das Kommando in die Kommandozeile hineinkopieren und ausfuehren. Bzgl. Makefile: Viele Leute scheinen sie zu verwenden, meine Bitten, ein Beispiel zu posten bleiben aber bisher immer unbeantwortet...
Hallo, Ich habe mal unter http://www.openreconf.org/wiki/Xilinx_Makefile ein paar Dinge dokumentiert, die ich darueber weiss. Abgesehen davon kann ich nur empfehlen mal in http://www.xilinx.com/support/sw_manuals/xilinx9/download/dev.zip reinzugucken. Dort findet man Diagramme, die die Abhaenigkeiten und Aufgaben der einzelnen Tools zeigen und die mir sehr geholfen haben. j.
Für den Fall Linux, VHDL und CPLD's habe ich mir ein Shellscript geschrieben, welches den gesamten Ablauf weitestgehend automatisiert. So brauche ich nur noch VHDL- und ucf Dateien zu erstellen, Script im Verzeichnis (eventuell mit ein paar Optionen) starten und fertig. Die GUI finde ich unter langsameren Rechnern einfach unbedienbar. http://www.jcwolfram.de/projekte/cpldlinux/main.php oder bei berlios.de nach vhdl2cpld suchen. Gruß Jörg
@Uwe und andere: Unter http://www.xess.com/appnotes/makefile.html gibt es ein Beispiel, mit welchem sich (nach kleineren Anpassungen) arbeiten läßt. Ein weiterer Vorteil: der ganze Vorgang spart ungefähr 30% Zeit gegenüber dem Ablauf in der ISE/IDE. Rick
> Bzgl. Makefile: Viele Leute scheinen sie zu verwenden, meine Bitten, ein > Beispiel zu posten bleiben aber bisher immer unbeantwortet... Ich hätte geglaubt, daß es genug Informationen dazu gibt, aber ich kann ja mal kurz beschreiben, wie ich es mache. Mich hat es immer gestört, daß bei der ISE-GUI alle Dateien irgendwie ins Projektverzeichnis geschmissen werden. Deshalb gibt es bei mir für die verschiedenen Schritte Unterverzeichnisse. \Project-Verzeichnis mit Quellfiles + makefile (top) + Quellfiles (*.vhd) | + \XST (Unterverzeichnis zur Synthese, separates Makefile, xst.r ) | + makefile | + xst.scr (script für XST) | + project.prj (liste der Files) | + \ModelSim (Unterverzeichnis zur Simulation, separates Makefile) | + \Xilinx (Unterverzeichnis zum Fitten, separates Makefile) + makefile (für Place & route) Das ganze arbeitet in der Cygwin-Umgebung (lang lebe Unix!). Klaus
Die Vorteile aus meiner Sicht: - Kürzere Gesamtdurchlaufzeiten (wie Rick Dangerus bereits schrieb) - Niedrigerer Speicherbedarf: Der Rechner fängt später an zu swappen, steigt die Geschwindigkeit in einigen Fällen weiter. - Das von mir verwendete ISE 8.1i hat ein Speicherloch, das dazu führt, dass nach ca. 4 (unter Windows) oder 6 (Linux) Durchläufen der Speicherverbrauch so stark angestiegen ist, dass ich den Projektnavigator neu starten muss (kostet wieder Zeit). Beim Start der einzelnen Tools aus einem Shellskript oder einem Makefile entfällt dieses Problem. - Bei einem auf die persönlichen Bedürfnisse angepasstem Makefile sind die öfter geänderten Einstellungen alle am Anfang der Datei zusammengefasst und können so sehr schnell überblickt werden und müssen nicht durch wilde Klickerei zusammengesucht werden. Der beim ISE eingebaute Texteditor ist auch nicht so toll, dass man deswegen die Unhandlichkeit des ganzen Navigatorgedöns in Kauf nehmen möchte. Ich kenne jemanden, der bei einem Chip-Hersteller arbeitet. Dort benutzt niemand den Navigator, höchstens zur Einarbeitung. Dafür ist er auch sehr gut geeignet und wohl auch primär vorgesehen.
Ich kann das hier geschriebene voll und ganz bestätigen. Ich nutze das Xess-Makefile mit ISE 8.1i unter Linux und brauche damit weniger Speicher und Zeit als mit der IDE. Bei Xess gibt es ein paar kleine Perl-Skripte, die alle nötigen Informationen aus den Xilinx-Metadateien extrahieren. Leider hat Xilinx die Projekt-Dateien vor ein oder zwei Versionen von Klartext auf ein unbekanntes Binärformat umgestellt, so dass die Tools nicht mehr alles auslesen können. So ist einige Handarbeit nötig, bevor man das Makefile anwenden kann. Wenn man sehr viel Zeit hat, kann man sich auch die Doku zu den einzelnen Tools (XST, PAR, etc.) durchlesen und alles selbst bauen. In der ISE-Doku wird so ziemlich jede Kommandozeilen-Option beschrieben... Gruß, Till.
> Bei Xess gibt es ein paar kleine Perl-Skripte, die alle nötigen > Informationen aus den Xilinx-Metadateien extrahieren. Leider hat Xilinx > die Projekt-Dateien vor ein oder zwei Versionen von Klartext auf ein > unbekanntes Binärformat umgestellt, so dass die Tools nicht mehr alles > auslesen können. So ist einige Handarbeit nötig, bevor man das Makefile > anwenden kann. > Gruß, Till. Kannst du bitte dein Makefile zeigen ?
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.