technik:xilinx-fpga
ISE-Software ist auf fablab02 installiert. Vorgehen war:
- Bei Xilinx registrieren (trash-mail.com geht nicht! web.de oder echte Emailadresse verwenden)
- ISE für Linux 32bit installieren in den vorgeschlagenen Pfad in /opt/sowieso.
- .tar Datei runterladen, ca 4.6 GB, diese auspacken
- Setup als root laufen lassen: cd <Pfad>, chmod +x xsetup, gksu ./xsetup
- „Cable Drivers“ anschalten, WebPack auswählen.
- Setup als root starten
- Lizenz-Datei manuell herunterladen von Xilinx:
- Auf http://www.xilinx.com/getlicense Adresse etc bestätigen, dann WebPack anhaken, Generate Node-Locked License, Datei wird dann zugeschickt per Email. Diese .lic-Datei nach ~/.Xilinx/ kopieren (Verzeichnis muss evtl erst erstellt werden)
- als root: sed -i -e 's/TEMPNODE/tempnode/' -e 's/SYSFS/ATTRS/g' -e 's/BUS/SUBSYSTEMS/' /etc/udev/rules.d/xusbdfwu.rules
- /etc/init.d/udev restart
- USB-Kabel an- und abstöpseln
- ln -s /usr/lib/libusb-0.1.so.4 /opt/Xilinx/13.2/ISE_DS/ISE/lib/lin/libusb.so (nach http://javispedro.com/fpga/xilinx-usb-linux.html)
- funktioniert
Neueres zur Softwareinstallation:
- Treiberzeug sollte OHNE Xilinx-Sondertreiber einfach mit libusb gehen, wenn die udev Regeln passend erstellt werden.
- Installieren ganz ohne Rootrechte!
- Lizenzdatei nach ~/.Xilinx/Xilinx.lic kopieren, dann geht alles automatisch (auch wenn der Lizenzmanager kaputt ist)
- Vor Starten des ISE muss in der Bash „. /Xilinxverzeichnis/14.3/ISE_DS/settings32.sh“ bzw 64 ausgeführt werden, Leerzeichen nach dem Punkt!
- udev Regeln:
# /etc/udev/rules.d/xusbdfwu.rules # version 0003 ATTRS{idVendor}=="03fd", ATTRS{idProduct}=="0008", MODE="666" SUBSYSTEMS=="usb", ACTION=="add", ATTRS{idVendor}=="03fd", ATTRS{idProduct}=="0007", RUN+="/sbin/fxload -v -t fx2 -I /usr/share/xusbdfwu.hex -D $tempnode" SUBSYSTEMS=="usb", ACTION=="add", ATTRS{idVendor}=="03fd", ATTRS{idProduct}=="0009", RUN+="/sbin/fxload -v -t fx2 -I /usr/share/xusb_xup.hex -D $tempnode" SUBSYSTEMS=="usb", ACTION=="add", ATTRS{idVendor}=="03fd", ATTRS{idProduct}=="000d", RUN+="/sbin/fxload -v -t fx2 -I /usr/share/xusb_emb.hex -D $tempnode" SUBSYSTEMS=="usb", ACTION=="add", ATTRS{idVendor}=="03fd", ATTRS{idProduct}=="000f", RUN+="/sbin/fxload -v -t fx2 -I /usr/share/xusb_xlp.hex -D $tempnode" SUBSYSTEMS=="usb", ACTION=="add", ATTRS{idVendor}=="03fd", ATTRS{idProduct}=="0013", RUN+="/sbin/fxload -v -t fx2 -I /usr/share/xusb_xp2.hex -D $tempnode" SUBSYSTEMS=="usb", ACTION=="add", ATTRS{idVendor}=="03fd", ATTRS{idProduct}=="0015", RUN+="/sbin/fxload -v -t fx2 -I /usr/share/xusb_xse.hex -D $tempnode"
- udev neustarten, Dateien von ISE_DS/common/bin/lin/*.hex nach /usr/share kopieren oder udev Pfad passend anpassen
Proggen
- im IMPACT Doppeklick auf Boundary Scan, in die leere weiße Fläche rechts: Rechtsklick→Initialize Chain
- „Do you want to continue and set config files“→ No, Config: OK
- File → Save Project, Projektordner auswählen und als main.ipf speichern, OK
- Doppelklick auf Generate PROM File, dann auf Xilinx Flash/PROM, auf „grüner Pfeil“ klicken
- Device: xc04s, Add Storage Device, auf „grüner Pfeil“ klicken
- Output File Name: prom, OK, OK, .bit-Datei auswählen
- Doppelklick auf Generate File
- Auf Boundary Scan doppelklicken, Rechtsklick auf xc04s, Assign new Configuration File, prom.mcs wählen
ROM proggen:
- Rechtsklick auf ROM,
Links
- Thread zum Demoprogramm: http://www.mikrocontroller.net/topic/210702
technik/xilinx-fpga.txt · Zuletzt geändert: 03.11.2012 22:35 von Quecksilber