====== Programmierung ====== Programmiert wird mit impact und Xilinx Parallel-cable III. Xilinx prop. Cabledriver ersetzen (windrv6.so): - git clone git:/ /git.zerfleddert.de/usb-driver - make -> erzeugt libusb-driver.so - ggf. chmod 666 /dev/parportx - Programmer (impact) Aufrufen unter shell als normaler user: - export LD_PRELOAD=/path/to/libusb-driver.so - impact - wenn device-id für unsere xc9536 nicht passt (beginnt mit 0000 statt 0010): - /home/Xilinx/14.7./ISE_DS/ISE/xc9500/data/xc9500.bsd folgendes editieren: - IDCODE_REGISTER of XC9536: "0010" -> in "0000" ändern - Programmieren in ISE (auf s222 nur ise eingeben - shellscipt unter /usr/bin): - impact aus ISE aufrufen (doppelclick auf Configure target device) - in impact: - new porject - Fenster mit configure devices mit Boundary-Scan (JTAG) -> OK - Device-chain mit XC9536 erschein. - Click auf XC9536 - Aktionen wie Programmieren aufrufen - sollte ohne Fehler ablaufen. ====== Löschen ====== Der XC9536 kann mit ISE Webpack 14.x und parallel cable III nicht mehr gelöscht werden. ISE unterstützt nur noch Bulk-Erase. Diese Mode ist beim XC9536 nicht implementiert. XC9536 muss im Sectormode gelöscht werden. Workaround: Löschen über SVF-File erase.svf. Diese ist war ursprünglich für XC9572 geschrieben. Die ID-Fehler wurden angepasst. Löschen scheint damit zu funktionieren (keine Garantie): Löschvorgang: - impact aufrufen - neues Projekt - Fenster mit configure devices mit Boundary-Scan (JTAG) -> cancel - Impact flows Fenster: Boundary Scan -> doppelclick - rechtsclick in leere Arbeitsfläche -> Add Xilinx Device - erase.svf auswählen - SVF anklicken und Execute Svf/Xsvf ausführen - Vorgang bricht nach ca. 50% mit Fehler ab (XC8573 ist doppelt so gross), Baustein ist aber trotzdem gelöscht. ====== ISE aufrufen ====== * cd /home/Xilinx/14.7/ISE_DS/ISE/bin/lin * ./ise ====== Unbenutze I/O auf GND legen ====== * right-click on "Implement Design" in the Processes window. * Properties -> Create Programmable GND pins on Unused I/O