Hi,
nachdem ich im letzten Semester eine Vorlesung zum Thema FPGA und VHDL
gehört habe, würde ich das ganze nun gerne vertiefen, da ich es doch
recht interessant finde.
Auf der Arbeit kann ich mir ein Evaluation Board (von Xilinx und/oder
Altera) ausleihen. Blöderweise werden diese über die Parallele
Schnittstelle programmiert und ich besitze keinen Rechner mehr, der eine
hat.
Egal. Im Internet bin ich auf den USBprog und OpenOCD gestoßen, die wohl
beide über eine alternative Firmware auch als JTAG-Adapter fungieren
sollen.
Beide Sachen kosten im Embedded Projects Shop das gleiche.
Nun meine Frage. Ist es problemlos möglich einen dieser beiden Adapter
als USB-Programmieradapter zu benutzten, sofern ich an die
entsprechenden Pins der Stiftleiste, über die das parallele Kabel
angeschlossen wird, gehe? Und wenn ja, welcher ist die bessere Wahl?
Oder ist es gar egal? Welche Alternativen gäbe es sonst noch?
Als OS benutze ich Ubuntu in der 64Bit Version. Das Xilinx ISE Webpack
habe ich mittlerweile ans laufen bekommen.
Gruß Marcel
Marcel schrieb:
> Auf der Arbeit kann ich mir ein Evaluation Board (von Xilinx und/oder> Altera) ausleihen. Blöderweise werden diese über die Parallele> Schnittstelle programmiert und ich besitze keinen Rechner mehr, der eine> hat.
welches ? Manche haben schon usb integriert.
>> Egal. Im Internet bin ich auf den USBprog und OpenOCD gestoßen, die wohl> beide über eine alternative Firmware auch als JTAG-Adapter fungieren> sollen.>
ehm, da ich weder/noch benutze kann ich nciht wirklich beantowrten, ist
mir aber wirklich neu das usbprob oder openocd jtag als xilinx platform
cable oder altera usb blaster benutzt werden können.
Guck erstmal welches board(s) du ausleihen kannst.
"Kauf dir doch eine paralleln Pci-Karte dazu"
Schau vorher lieber mal in das Handbuch deines Mainboards. Normalerweise
haben alle eine 10-polige Stiftleiste, welche du über einen
Verbindungsstecker als serielle Schnittstelle herausführen kannst (bei
Conrad z.B. Art.Nr. 976253 - 62).
So hab ich das bei meinem neuen Rechner auch gemacht. Bei einem Notebook
siehts da natürlich schlechter aus^^
gast schrieb:
> "Kauf dir doch eine paralleln Pci-Karte dazu">> Schau vorher lieber mal in das Handbuch deines Mainboards. Normalerweise> haben alle eine 10-polige Stiftleiste, welche du über einen> Verbindungsstecker als serielle Schnittstelle herausführen kannst (bei> Conrad z.B. Art.Nr. 976253 - 62).
Es geht hier um die parallele Schnittstelle, und die wird leider immer
seltener. Auch auf den Mainboards.
Die PCI LPT Karten funktionieren in vielen Fällen nicht.
Die Programme erwarten meistens die IO Ports an den Standard Adressen
wie
0x378 usw.
Leih dir am besten ein Altera Board und kauf Dir eine USB Blaster
kompatibles
JTAG Interface. Für XIlinx die USB JTAGS sind um einiges teurer.
Wenn Du nicht den herstellerspezifischen Adapter (DLC5-DLC11 bei Xilinx,
XXXBlaster bei Altera hast), musst Du ueber SVF gehen(*). Ausserdem muss
die Spannung auf den JTAG Leitungen stimmen, der Adapter sollte also
Pegelwandler haben. Ich wuerde ein FT2232(H) basierten Adapter
vorziehen, dann muss nicht noch der Adapter programmiert werden. Und
dann muss auch noch das Pinout stimmen. Altera hat wohl meist 10 Pins
mit 2.54 mm Raster, Xilinx 14 Pins im 2 mm Raster. Ich habe hier ein
Eagle Design in 1/4 Euro mit Designregeln fuer das Zwillingsangebot mit
dem FT2232H und 10 Pin, 14 Pin und 20 Pin Wannen.
Das aktuelle xc3sprog auf Sourceforge kann fuer Xilinx Devices auch
Bitfiles direkt verarbeiten...
Also richtig sinnvoll arbeiten geht meiner Meinung nach nur mit den
Xilinx JTAG Programmern mit USB. Die gehen direkt in ImPact und sind
schnell und zuverlässig. Wenn das Board von deinem Arbeitgeber kommt,
lässt sich da vielleicht auch ein USB Programmer besorgen.
Ja das stimmt, aber das kann man dann nur dort verwenden. Der rote
Programmer ist ja gleichzeitig Debugger noch und SPI Flashes lassen sich
auch proggen. Aber stimmt schon, ist halt ein professionelles Werkzeug,
was leider für Bastler zu teuer ist.
Wobei man die Nachbauten der USB-JTAG-Programmer aus Ebay.com/.de schon
fuer 80$ bekommt. Klar, immer noch viel Geld, aber das lohnt sich schon,
wenn man sich etwas laenger/intensiver mit dem Thema beschaefftigen
will.
Gruss
So, hab mich mal schlau gemacht.
Ausleihen kann ich mir ein AltiumDesigner LiveDesignEvaluationKit mit
einem XILINX Spartan 3 (XC3S1000-4FG456C).
Entsprechende Programmieradapter haben wir hier nicht vorrätig, zum
verleihen über. Zumal diese auch scheinbar mit diesem Board nicht
funktionieren sollen.
Bzgl. OpenOCD: http://www.embedded-projects.net/index.php?page_id=256>> Programmierung von CPLDs und FPGAs mit JTAG-Schnittstelle <<
Sollte das ganze also funktionieren?
Vorm Einbau einer PCI-Karte würde wohl erstmal Abstand nehmen wollen, da
ich das ganze auch gerne am Laptop betreiben würde und das ganze
scheinbar auch nicht das gelbe vom Ei sein soll.
gruß Marcel
Mit dem usbprog müsste es mit dem XSVF-Player gehen. Probiert habe ich
es noch nicht, werde ich aber demnächst.
siehe http://www.embedded-projects.net/index.php?page_id=157
Schöner wäre es natürlich ohne den Umweg über diese Datei. Vielleicht
besteht eine Chance, dass jemand irgendwann eine Firmware macht, mit der
es direkt geht?
Thomas
So,
habe mir mittlerweile den USBProg bestellt und die Firmware des
XSVF-Players aufgespielt.
Das Board das ich benutzte ich wie bereits ein LiveDesign Evaluation Kit
von Altium. Den Stromlaufplan habe ich angehangen. Auf Seite 5 findet
die Anschlussbelegung des Wannensteckers, mit dem das Board programmiert
werden soll.
Altium unterstützt soweit ich das mitbekommen habe, einen Hardware JTAG,
sowie einen Software JTAG. Der HardwareJTAG dient zum Programmieren und
ist somit die klassische JTAG-Schnittstelle. Über den Software-JTAG kann
man virtuelle Instrumente im FPGA steuern.
Ich bin nun hingegangen und habe mir eine 26poliges Flachbandkabel
genommen und ein 10poliges, habe das die einen Ende abisoliert und in
einem Steckbrett die entsprechenden Kabel zusammengesteckt. Die anderen
Enden über die entsprechenden Stecker mit den Wannen verbunden.
Führe ich nun jedoch den Player aus, antwortet dieser mir nur damit, das
der aufgenommene TD0 Wert, nicht dem erwarteten Wert entspricht und
bricht ab.
>>Programming... 0%
Programming error: Captured TDO value differs from expected TDO value.<<
Weiß da wer weiter?