milch's shitty blog


Archive for May, 2012

Xilinx System Edition

Monday, May 28th, 2012

Ja, es ist mal wieder so weit, ich habe die Xilinx ISE installieren duerfen. Diesmal aber nicht nur das Webpack, sondern die allumfassende System Edition. Da man sich dabei jedes Mal aufs neue aergert und suchen muss wie das jetzt war will ich hier mal alles zusammenfassen.

Zuerst laedt man sich also das Paket runter, das sind knapp 6GB, dauert also je nach Internetanbindung etwas. Wenn man das hat wird installiert. Normalerweise auch kein Problem, der grafische Installer hat den Namen xsetup.

Hat man das alles erledigt wirds allerdings interessant. Die Lizenz, die ich bekommen habe ist eine Floating License. Die braucht also dringend einen Server, den werd ich bei mir lokal einrichten. Interessant dabei ist dass das Mistding gleich einen Port nach aussen auf macht und froehlich die Lizenz an jeden verteilt der sie haben will, das Loch sollte man also zumindest auf dem Notebook wieder zukitten.

Ich geh mal davon aus dass alles runtergeladen und entpackt wurde, und mache hier an genau dieser Stelle weiter. Wie oben schon geschrieben heisst der installer xsetup und liegt nach dem entpacken einfach so im Verzeichnis rum, der wird also mit sudo ./xsetup gestartet. Die Installation kann man einfach durchklicken wenn man moechte, wenn einem das eine oder andere zu viel ist kann man das abwaehlen, aber viel Speicherplatz sparen kann man da bei Xilinx nicht.

Ist alles installiert gilt es erstmal den Lizenzserver Einsatzbereit zu machen. Das Teil wurde anscheinend nie mit einer Debian-basierten Distribution getestet, jedenfalls sucht es in /usr/tmp nach dem tmp-Verzeichnis das da aber ja nicht ist. Nun denn, was nciht ist kann ja noch werden, wir legen also einen Symlink an:
sudo ln -s /tmp /usr/tmp

Hat man das getan wird es Zeit die Umgebungsvariablen zu laden die die Xilinx Tools gerne haetten. Das geschieht z.B. mit
source /path/to/xilinx/14.1/ISE_SD/settings64.sh.

Jetzt wo das erledigt ist startet man also FlexLM mit:
lmgrd -c path/to/license/file.lic

der Gute meldet sich dann mit allerlei Gedoens, wenn einen das Interessiert kann man -l /path/to/logfile.log machen und hat ein schoenes Logfile.

Jetzt ist man schon fast am Ziel wenn man bis hierher gekommen ist. Jetzt noch den Tools sagen wo sie suchen sollen nach der Lizenz, das geht ganz einfach, die gucken naemlich selbst schon in der Umgebungsvariable XILINXD_LICENSE_FILE. Die muss aber noch gesetzt werden.
export XILINXD_LICENSE_FILE=2100@localhost

Wenn es mit localhost nicht geht versuchts ruhig mal mit dem eigentlichen Hostnamen oder denkt euch einen aus und schreibt den in die /etc/hosts. Dabei ist zu beachten dass der Hostname immer auch in dem Lizenzfile geaendert wird, sonst gehts nicht.

Tjo, dann gibts noch einige Sachen die jetzt noch nicht wunderbar laufen, z.B. geht keinerlei Doku weil Xilinx die Librarys verkackt und der Firefox nicht mehr startet (soll heissen: nicht aus der DevUmgebung heraus).

Ein anderes Problem ist dass das xsdk kein make findet, nun, zum glueck ist DAS einfach zu beheben:
sudo ln -s /usr/bin/make /usr/bin/gmake

Hier noch eine kleine Liste der executables:
ise – offensichtlich die Xilinx ISE
planAhead – auch recht offensichtlich, PlanAhead
xps – Platform Studio (Hardware Teil des EDK)
xsdk – Software Development Kit (Software Teil des EDK)
analyzer – ChipScope (auch aus der ISE heraus startbar)
coregen – Core Generator (auch aus der ISE heraus startbar)
impact – iMPACT Programmiertool (auch aus der ISE heraus startbar)
constraints_editor – Contraints Editor (auch aus der ISE heraus startbar)
fpga_editor – FPGA Editor (auch aus der ISE heraus startbar)
timingan – Timing Analyzer (auch aus der ISE heraus startbar)
xpa – XPower Analyzer (auch aus der ISE heraus startbar)
compxlib – Simulation Library Compiler (z.B. fuer Modelsim)
sysgen – System Generator
isimgui – ISim Simulator von Xilinx

Wie man sehen kann gibts ne ganze Menge nuetzlicher Tools die mitgeliefert werden, ein rumstoebern in den bin/ Verzeichnissen von Xilinx lohnt sich also quasi immer, ausserdem gibts es einen tollen commandline guide[1] von Xilinx.

[1] http://www.xilinx.com/support/documentation/sw_manuals/xilinx14_1/devref.pdf