[[Vorlage(Archiviert, "Details können der Diskussion zum Artikel entnommen werden." )]] {{{#!vorlage Wissen [:Terminal: Ein Terminal öffnen] [:Editor: Einen Editor öffnen] [:Packprogramme: Archive entpacken] [:Programme_starten: Ein Programm starten] [:ln: Symbolische Links setzen] [:Rechte:Rechte für Dateien und Ordner ändern] [:Pakete_installieren: Installation von Programmen] [:Programme_kompilieren:] }}} [[Inhaltsverzeichnis(1)]] [[Bild(logo.png, 120, align=left)]] [wikipedia_en:Xilinx ISE: Xilinx ISE (Design Suite)] ist eine proprietäre [:Entwicklungsumgebungen:Entwicklungsumgebung], welche die kostenfreie Edition WebPack enthält und von Xilinx hauptsächlich zum Design ihrer [wikipedia:FPGA:FPGAs] und [wikipedia:CPLD:CPLDs] entwickelt wurde. Möglich wird dies durch eine [wikipedia:Hardware_Description_Language:Hardwarebeschreibungssprache] (HDL) wie [wikipedia:Verilog:] oder [wikipedia:VHDL:], mit deren Hilfe man ähnlich einer [wikipedia:Programmiersprache:] Operationen, Design und Verhalten von [wikipedia:Integrierter_Schaltkreis:integrierten Schaltungen] beschreiben kann. Genauer befähigt Xilinx ISE den Entwickler ein Design zu [wikipedia:Synthese_(Elektrotechnik):synthethisieren], d.h. aus einer Verhaltensbeschreibung eine [wikipedia:Netzliste:] (Verschaltung der Hardware) zu erzeugen. Dieser Vorgang ist durchaus vergleichbar mit dem Vorgang der [wikipedia:Kompilierung:] und ähnlich rechenaufwändig. Darüber hinaus bietet Xilinx ISE Möglichkeiten an, mit denen das Designs analysiert, mit verschiedenen [wikipedia:Stimuli:] simuliert, als [wikipedia:Register_Transfer_Level:RTL] (Register Transfer Level) Diagramm angezeigt oder auch direkt auf ein Gerät (z.B. FPGA) übertragen werden kann. = Installation = {{{#!vorlage Hinweis Im Wesentlichen bezieht sich folgende Installationsanweisung auf die Version 13.2, kann aber größtenteils auch ab den 12er Versionen angewendet werden. Bei älteren Versionen gestaltet sich die Installation teilweise deutlich anders! Entsprechend müssen bei anderen Versionen die Programmpfade angepasst werden. Ebenso wenn man ISE nicht in dem vorgeschlagenen Pfad installiert. }}} == Xilinx ISE herunterladen und Installation starten== Zunächst lädt man sich von der [http://www.xilinx.com/support/download/index.htm Projektseite] {en} {dl} die Xilinx ISE Design Suite herunter. Achtung: Diese ist mit einer Größe von mehreren Gigabyte nicht gerade klein. Nach dem Download entpackt man diese [3], öffnet ein Terminal [1], wechselt in das entpackte Verzeichnis und startet das Setup-Skript mit [:sudo:Rootrechten]: {{{#!vorlage Befehl sudo ./xsetup }}} Anfangs kann man auswählen, welche Edition man installieren will. Verfügt man nicht über eine Lizenz, empfiehlt es sich das kostenfreie ISE WebPack auszuwählen. Danach hat man je nach Version verschiedene Optionen zur Auswahl: {{{#!vorlage Tabelle Installationsoptionen +++ Option Empfehlung +++ ''"Acquire or Manage a License Key"'' Sollte man deaktivieren, da beim ersten Aufruf von ISE sowieso auf eine Lizenz geprüft wird, bzw. man kann aus ISE den Lizenzmanager starten. Anderenfalls wird der Ordner `~/.Xilinx` mit Rootrechten erzeugt, was beim Ändern der Lizenz zu Problemen führen kann. Siehe dazu folgendes Problem [#Eine-neue-Lizenz-im-Lizenzmanager-bewirkt-keine-nderung Eine neue Lizenz im Lizenzmanager bewirkt keine Änderung] +++ ''"Enable WebTalk ..."'' WebTalk sendet Nutzungsdaten der Software und der einzelnen Tools an den Hersteller Xilinx, um ISE verbessern zu können. Dabei werden laut eigener Aussagen keine Daten gesendet, mit Hilfe derer man das entwickelte Design erschließen könnte. Benutzer von ISE WebPack können diese Option nicht deaktiveren. Alle anderen sollten sich genauestens über dieses "Feature" informieren und selbst entscheiden. +++ ''"Ensure Linux System Generator Symlinks"'' Der Beschreibung nach verbessert es die Kommunikation zwischen ISE und [:Matlab:]. Daher kann es aktiviert bleiben (Standardeinstellung). +++ ''"Install Cable Drivers"'' Sollte man deaktivieren, da es nichts bringt, außer einer Fehlermeldung am Ende der Installation, die man aber getrost ignorieren kann. Zur Installation eines Kabeltreibers siehe [#Installation-des-Kabeltreibers Installation des Kabeltreibers]. }}} {{{#!vorlage Warnung Das Installationsverzeichnis darf __auf keinen Fall__ eines der folgenden Zeichen enthalten: `:, *, ?, ", ], [, |, <, >, $, %, ä, ö, ü, ß` oder ein Leerzeichen. Darüber hinaus sollten, um etwaigen Problemen aus den Weg zu gehen, andere Sonderzeichen vermieden werden. }}} Danach folgt die Angabe des Installationspfades, welchen man am besten voreingestellt auf '''/opt/Xilinx/13.2''' lässt (siehe dazu Artikel [:opt:]). Bei Bedarf können Einstellungen einer vorherigen Installation importieren werden. Die Installation kann auf Grund der Datenmenge recht viel Zeit in Anspruch nehmen. == Start == Nach der Installation muss man mit '''source''' die [:Umgebungsvariable:] `$XILINX` setzen. Erst danach kann man ISE per '''ise''' starten [4]: * 32 Bit System {{{#!vorlage Befehl source /opt/Xilinx/13.2/ISE_DS/settings32.sh ise }}} * 64 Bit System {{{#!vorlage Befehl source /opt/Xilinx/13.2/ISE_DS/settings64.sh ise }}} = Problembehebung = == PDF Dokumente werden nicht aufgerufen == Da ISE standardmäßig in '''/usr/bin/acroread''' nach einem Programm zum Anzeigen von PDF Dokumenten sucht, kann man dieses Problem mit Hilfe eines symbolischen Links [5] lösen. Für den Fall, dass [:Evince:] installiert sein sollte, reicht der folgende Befehl: {{{#!vorlage Befehl sudo ln -s /usr/bin/evince /usr/bin/acroread }}} Anderenfalls muss der Befehl entsprechend angepasst werden. == Webseiten werden nicht aufgerufen == Sollten Webseiten aus ISE (z.B. über ''"Help -> WebTalk_Help"'') nicht aufrufbar sein und in der Konsole folgende Fehler auftreten, {{{ /usr/lib/firefox-5.0/firefox-bin: /opt/Xilinx/13.2/ISE_DS/ISE/lib/lin64/libstdc++.so.6: version `GLIBCXX_3.4.14' not found (required by /usr/lib/firefox-5.0/libxul.so) /usr/lib/firefox-5.0/firefox-bin: /opt/Xilinx/13.2/ISE_DS/ISE/lib/lin64/libstdc++.so.6: version `GLIBCXX_3.4.9' not found (required by /usr/lib/firefox-5.0/libxul.so) }}} so reicht es die mitgeführten libstdc++6 Bibliotheken aus ISE zu verschieben, sodass ISE auf die systeminternen Bibliotheken zugreifen kann. Der Einfachheit halber meldet man sich in einer Root-Shell an, da sämtliche Befehle Rootrechte benötigen. * 32 Bit System {{{#!vorlage Befehl sudo su cd /opt/Xilinx/13.2/ISE_DS/ISE/lib/lin mkdir orig && mv libstdc++* orig cd /opt/Xilinx/13.2/ISE_DS/common/lib/lin/ mkdir orig && mv libstdc++* orig exit }}} * 64 Bit System {{{#!vorlage Befehl sudo su cd /opt/Xilinx/13.2/ISE_DS/ISE/lib/lin64 mkdir orig && mv libstdc++* orig cd /opt/Xilinx/13.2/ISE_DS/common/lib/lin64/ mkdir orig && mv libstdc++* orig exit }}} Sollte libstdc++6 nicht installiert sein, muss die Bibliothek noch installiert werden [7]: {{{#!vorlage Paketinstallation libstdc++6 }}} == Problem bei setzen der Umgebungsvariable == Wenn der Aufruf der Konfigurationsdatei fehlschlägt (Meldung: "file not found" beim [#Start Programmstart]), könnte das Problem an fehlenden Privilegien und Rechten liegen. Umgehen kann man das Problem, indem man einen Parameter (den Installationspfad) setzt. Danach kann man wie gewohnt ISE starten. {{{#!vorlage Befehl source /opt/Xilinx/13.2/ISE_DS/settings64.sh /opt/Xilinx/13.2/ISE_DS ise }}} [[Bild(xilinx_error_umlaute.png, 400, align=right)]] == Fehlende Rechte == Tritt die Fehlermeldung "The directory ... is read only" auf, so hat man entweder im Verzeichnis keine Schreibrechte und muss sie entsprechend anpassen [6]. Oder es tritt wie im Beispiel ein Sonderzeichen (hier ä) im Pfad auf, d.h. man muss entweder einen anderen Pfad wählen oder einen symbolischen Link [5] auf das entsprechende Verzeichnis setzen. == Eine neue Lizenz im Lizenzmanager bewirkt keine Änderung == Falls man über den Lizenzmanager versucht eine neue Lizenz per ''"Copy License"'' einzufügen und nach einer Erfolgsmeldung keine Änderung wahrnimmt, sollte man die Rechte des Ordners '''~/.Xilinx''' auf den aktuellen Benutzer setzen [6]: {{{#!vorlage Befehl chown -R user:user /home/user/.Xilinx }}} == ChipScope Pro == Wenn ihr euch bei Xilinx für eine 30 Tage Evaluierungslizenz angemeldet habt, könnt ihr auch mal mit dem ChipScope Pro spielen. Um die "analyzer" und "inserter" tools zu benutzen muss für die Shell Scripte von "dash" auf "bash" umgeschaltet werden. {{{#!vorlage Befehl sudo dpkg-reconfigure dash }}} Im Fenster dann einfach "no" auswählen. == Sysgen 14.7 == Wird Xilinx IDE zusammen mit Matlab verwendet (Sysgen) kommt beim Start folgender Fehler: {{{ /opt/Xilinx/14.7/ISE_DS/ISE/sysgen/util/sysgen: 82: /opt/Xilinx/14.7/ISE_DS/ISE/sysgen/util/sysgen: Syntax error: "(" unexpected }}} Grund ist, dass im sysgen-Skript in der ersten Zeile "#! /bin/sh" steht. Unter Ubuntu verweist /bin/sh standardmäßig auf /bin/dash. Ändert man "#! /bin/sh" in "#! /bin/bash" startet zwar Matlab, jedoch gibt es dann bei der Synthese weitere Fehler, sodass diese nicht erfolgreich ist. Daher muss der Link geändert werden: {{{#!vorlage Befehl sudo rm /bin/sh sudo ln -s /bin/bash /bin/sh }}} Alternativ (wie im vorherigen beschrieben): {{{#!vorlage Befehl sudo dpkg-reconfigure dash }}} Im Fenster dann einfach "no" auswählen. == ISim Simulator startet nicht == Sollte beim Starten einer Simulation der Fehler {{{ERROR:Simulator:861 - Failed to link the design}}} kommen, sollte überprüft werden, ob in '''/usr/bin/gcc''' der gcc alias auf eine Version von gcc mit einer Versionsnummer kleiner oder gleich 6 verweist. Mit einer höheren gcc Version (z.B. gcc-7) startet der ISim Simulator nicht. = Installation des Kabeltreibers = == Vorbereitung == Folgende Packete müssen installiert werden [7]: {{{#!vorlage Paketinstallation git build-essential libusb-dev fxload }}} == USB Treiber herunterladen und kompilieren == Nachdem man alle benötigten Packete installiert hat, meldet man sich der Einfachheit halber in einer Root-Shell an, da alle nachfolgenden Befehle Rootrechte benötigen: {{{#!vorlage Befehl sudo su }}} Danach lädt man den Treiber herunter und kompiliert [8] ihn: {{{#!vorlage Befehl cd /opt/Xilinx git clone git://git.zerfleddert.de/usb-driver cd usb-driver/ make }}} == Firmware laden == Ob die Firmware bereits geladen wurde, sieht man an der Ausgabe von {{{#!vorlage Befehl lsusb }}} Ist die Firmware bereits geladen, endet die Device ID auf `8`, {{{ Bus 001 Device 006: ID 03fd:0008 Xilinx, Inc. }}} ansonsten endet die Device ID auf `d` {{{ Bus 001 Device 006: ID 03fd:000d Xilinx, Inc. }}} Um die Firmware zu laden führt man das Skript '''setup_pcusb''' mit Rootrechten aus und startet danach [:udev:] neu: {{{#!vorlage Experten Ist die Umgebungsvariable `$XILINX` bereits geladen, braucht der Aufruf von '''setup_pcusb''' keinen Parameter. }}} {{{#!vorlage Befehl ./setup_pcusb /opt/Xilinx/13.2/ISE_DS/ISE /etc/init.d/udev restart }}} Anschließend kann man die Root-Shell wieder verlassen: {{{#!vorlage Befehl exit }}} Ob der Treiber erfolgreich geladen wurde, kann man über '''lsusb''' (s.o.) oder auch über eine eventuell vorhandene LED auf dem angeschlossenen FPGA Board feststellen. Verwendet man z.B. das [http://www.xilinx.com/support/documentation/boards_and_kits/ug230.pdf Xilinx Spartan 3E Board] {en} {dl}, leuchtet die LED neben dem USB Anschluss auf, sobald die Firmware geladen wurde. Wenn der USB Kabeltreiber nach obiger Anleitung nicht funktioniert, sollte man einen Blick in die '''README''' (Zeile 77) im aktuellen Ordner werfen, da in dieser eine alternative Vorgehensweise erklärt wird. Die '''README''' kann auch separat heruntergeladen werden: [http://git.zerfleddert.de/cgi-bin/gitweb.cgi/usb-driver/blob/HEAD:/README README] {en} {dl}. == Digilent Plugin == Das Digilent Plugin und Adept für Xilinx Impact kann man [http://www.digilentinc.com/Products/Catalog.cfm?NavPath=2,66&Cat=12 hier] {en} herunterladen und nach Anleitung (Readme) installieren. Führt das Plugin beim Klick auf "Cable Setup" zum Absturz von Impact, so könnte vielleicht [http://www.mikrocontroller.net/topic/254522#2653234 dieser Thread] {de} helfen. = Benutzung und alternative Programme= Um einen groben Einblick in die Benutzung von ISE zu bekommen, lohnt es sich auf der [http://www.xilinx.com/ Herstellerseite ] {en} Informationen einzuholen. Speziell ist das [http://www.xilinx.com/itp/xilinx10/books/docs/qst/qst.pdf Quick Start Tutorial] {en} {dl} für die Version 10 empfehlenswert, welches größtenteils auch auf nachfolgende Versionen anwendbar ist. Besonders empfehlenswert ist folgende Anleitung, welche die Möglichkeiten der Simulation mit verschiedenen Programmen, darunter [http://www.altera.com/products/software/quartus-ii/web-edition/qts-we-index.html Quartus II] {en} von [http://www.altera.com/ Altera] {en}, die freien Programme [http://iverilog.icarus.com/ Icarus Verilog] {en} und [http://gtkwave.sourceforge.net/ GTKWave] {en}, als auch die Integration letzerer in Eclipse beschreibt: [http://www.ra.informatik.tu-darmstadt.de/fileadmin/user_upload/Group_RA/verilog/TUD_Inf_RA_Verilog_Tutorials.pdf Verilog Tutorials] {de} {dl}. Eine weitere empfehlenswerte Seite ist [http://www.fpga4fun.com/index.html fpga4fun] {en}, welche zahlreiche Informationen zu FPGA Projekten liefert. {{{#!vorlage Hinweis Freie Software kann in Form von Icarus Verilog und GTKWave, sowie einer Vielzahl anderer Programme, einen großen Teil der Entwicklung (Code schreiben, Simulation, etc.) abdecken (oftmals auch besser), aber meistens keine Synthese für ein bestimmtes FPGA durchführen. }}} = Links = * [http://www.xilinx.com/support/download/index.htm Xilinx ISE Projektseite] {en} {dl} * [http://forums.xilinx.com/t5/Installation-and-Licensing/Guide-for-ISE-12-1-on-64-bit-Ubuntu-10-04/m-p/69690 Installationsanleitung ISE 12.1 auf 64Bit] {en} * [http://www.george-smart.co.uk/wiki/Xilinx_JTAG_Linux Installationsanleitung und USB Kabeltreiber] {en} * [http://forums.xilinx.com/t5/Installation-and-Licensing/ISE-13-1-on-kubuntu-11-04/td-p/151626 Webseiten Problem] {en} # tag: Programmierung, Hardware, unfreie Software, Elektronik