Forum: FPGA, VHDL & Co. JTAG Kette


von Stefan B (Gast)


Lesenswert?

Ist es möglich über einen JTAG Port Bausteine verschiedener Hersteller
(Xilinx Spartan FPGA, Altera MAXII CPLD) mit einem Programm zu
programmieren?
Ich möchte die komplette Kette mit dem Jam Player (Altera) von Diskette
konfigurieren.
Kann man auch für Xilinx Bausteine Jam Dateien erstellen, bzw mit
Quartus oder Max+Plus in solche konvertieren?

Danke,
MfG
Stefan

von Feadi (Gast)


Lesenswert?

Hi,

es gibt das *.SVF Dateiformat (Serial Vector Format), und das XSVF (das
komprimierte SVF).

Die beide sind IMHO JTag-Standart. Impact von Xilinx kann auch
Bausteine von anderen Herstellern mit hilfe einer SVF/XSVF Datei
beschreiben.
Impact kann auch SVF/XSVF Dateien erzeugen.

Nur von dem Jam Player habe ich keine Ahnung. Aber wenn er SVF/XSVF
unterstützt, hast Du sehr gute Chancen.

Gruß, Feadi

von stefanb (Gast)


Lesenswert?

Hi, Danke für die Antwort.
Also ich hab schon svf files erstellt mit Impact und wollte die dann in
jam files umwandeln, da der jam player nur .jam untersützt.
Allerdings kann Quartus zwar sowohl jam als auch svf erzeugen, aber man
kann scheinbar keine svf dateien einlesen, nur jam und pof.
also hab ichs mit dem "svf2jam" converter versucht. allerdings kommen
da jam files raus die erstens viel größer sind und zweitens auch völlig
anderst strukturiert und auch nicht funktionieren.
Hat irgendjemand schon mal versucht mit dem Jam Player CPLDs/FPGAs von
Xilinx zu programmieren? oder geht das überhaupt nicht?
Falls doch, erkennt der JamPlayer dann automatisch welcher Chip in der
JTAG chain mit dem jam file konfiguriert werden soll bzw. wie kann man
es ihm angeben?
Das dumme ist, daß ich Impact zum programmieren wohl nicht benutzen
kann. Ich habe 2 JTAG-Ports auf der Karte, im Moment ist an dem Altera
Port nur ein MAXII CPLD dran und an dem Xilinx zwei SpartanIII FPGAs
und 2 PROMS in der Kette.
Wenn ich die Kette zu einer verbinde muß ich zum ansteuern den Altera
Port verwenden, bei dem die Pin Belegung anderst ist als beim Xilinx
Port.
Also müsste ich den Altera Byteblaster verwenden und der funktioniert
mit Impact denk ich nicht, sondern nur mit Altera Software.

von stefanb (Gast)


Lesenswert?

Hab gerade noch versucht die mit Quartus erzeugte svf für den MAX II
CPLD in Impact reinzuladen. Aber das funktioniert scheinbar ebenfalls
nicht. Auch hier kann ich svf, sxdv und stapl files erzeugen aber nicht
laden. Wie kann ich dann in Impact Bausteine mit svf dateien
programmieren?

von Feadi (Gast)


Lesenswert?

Hi,

probier mal das hier:
- impact starten,
- "configure devices" -> weiter,
- "boundary-scan mode" -> weiter,
- "enter a boundary-scan chain" -> fertigstellen,
- dateityp auf xsvf setzen, und datei laden

Und dann den Chip beschreiben.

Gruß, Feadi

von stefanb (Gast)


Lesenswert?

Danke erstmal!

Ja so kann ich jetzt wenigstens schon mal alle (.svf) und (.xsvf) die
ich mit Impact gemacht habe laden und auch programmieren.
Wenn ich aber die (.svf) die ich mit Quartus erstellt habe laden möchte
kommen mehrere Fehlermeldungen und es wird gar nichts geladen.
Aber die (.svf) sollten doch kompatibel sein oder nicht? Müsste doch
der selbe Standard sein.

von Feadi (Gast)


Lesenswert?

IMHO ist das Serial-Vector-Format im JTag Dokument beschrieben. Sicher
kann ich das aber nicht sagen, weil man dieses Dokument leider nicht
(kostenlos) bekommt.

Damit bin ich am Ende meines Wissen angelangt.

Gruß, Feadi

von F01Qx (Gast)


Lesenswert?

Vielleicht liegt das daran, dass die .svf-Datei für die Xilinx-Bausteine
im Unix-Format vorliegt, die für die Altera-Bausteine im Windows-Format.
Impact frisst jedenfalls nur Dateien im Unix-Format.

von F01Qx (Gast)


Lesenswert?

@Feadi:
Wenn man nach serial vector format googelt, ist der erste Link gleich
ein Treffer:
www.asset-intertech.com/support/svf.pdf

von Stefan (Gast)


Lesenswert?

Danke.

Mittlerweile hab ich eigentlich aufgegeben die Kette zu einer
zusammenzufassen und mit einem Programm zu programmieren.
Das wichtigste ist daß ich sie ohne Betriebssystem (also Windows oder
Linux) programmieren kann, also von einer bootfähigen Diskette.

Bei der Altera Kette klappt das auch mit dem Jam Player und den Jam
Files. Aber von Xilinx scheint es nichts zu geben was unter DOS
lauffähig ist und womit man seine Bausteine programmieren kann.
JDrive läuft zwar in der DOS-Box von Windows aber nicht im normalen 16
Bit DOS, dazu müsste es erst neu für DOS kompiliert werden, was ich
auch versucht habe. Aber man muß dann einiges in den Source Dateien
umschreiben da JDrive windrvr benutzen will um auf den Parallelport
zuzugreifen und eigentlich für Windows geschrieben ist.

Kennt jemand ein Programm (von Xilinx oder auch nicht) mit dem man in
DOS seine FPGAS und PROMS konfigurieren kann??

von Frank v. Münchow-Pohl (Gast)


Lesenswert?

Hallo,

um nochmal auf die vorherige Diskussion zurückzukommen: svf2jam hat
eine eigene Einstellung für XSVF, ob deshalb XILINX-Programmierung
wirklich funktioniert, weiß ich aber leider auch nicht. JAM-Dateien
sind im Vergleich zu SVF meist größer (und auch nahezu unleserlich),
das muss aber nichts bedeuten. Während SVF eine Sequenz von
JTAG-Aktionen beschreibt, sind JAM-"Programme" durch die Verwendung
von Variablen und Unterprogrammen viel komplexer, eine bestimmte Aktion
kann durch beliebig viele unterschiedliche JAM-Programme beschrieben
werden. Deshalb wäre eigentlich SVF als low-level Beschreibung besser
geeignet fürs reine Programmieren. Die Stärke von JAM liegt m. E. bei
"echten" Programmen, wie z. B. idcode.jam.

Ich kenne derzeit leider auch kein einfaches SVF-Tools, das auf DOS
portiert werden könnte. Recht flexibel ist das Programmiertool von
Lattice, leider verwendet es wieder ein eigenes Format (VME), SVF lässt
sich aber in dieses Format umwandeln. Das Lattice-Tool lässt sich
einfach auf DOS portieren, sinnvoll ist das aber wohl nur, wenn auch
Lattice-Bauteile mit in der Chain liegen.

Generell gilt für alle JTAG-Programmierdateien, dass die Chain-Struktur
an irgendeiner Stelle bei der Generierung eingegeben werden muss, bei
SVF auf jeden Fall schon bei der Erzeugung.

Ich würde auch immer versuchen, mit einer JTAG-Chain für alle Bauteile
auszukommen. Zumindest ist jedes mir bekannte JTAG-Tool in der Lage,
fremde Bausteine in die Chain-Definition aufzunehmen.

Grüße,

Frank v. Münchow-Pohl

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.