Forum: FPGA, VHDL & Co. JTAG für Xilinx Bausteine


von Steffen Hausinger (Gast)


Lesenswert?

Hallo zusammen,

bisher habe ich meinen FPGA nur auf dem (Digilent) Eval-Board 
eingesetzt. Dort ist ein JTAG-Anschluss mit an Board. Jetzt möchte ich 
gerne eine eigene Platine entwickeln und auf den FPGA samt passendem 
Konfigurationsflash weiterhin über JTAG zugreifen. Am liebsten auch per 
iMPACT.

Sehe ich es richtig, dass ich dafür ausschließlich das XUP Programming 
Cable verwenden kann? Kann ich damit denn alle Xilinx Bausteine, also 
auch beispielsweise deren CPLDs, programmieren? Was ist mit dem 
Konfigurationsflash (SPI) - wird das ebenfalls funktionieren? Oder geht 
das nur mit diesem "Platform-Flash", von dem in dem Datenblatt die Rede 
ist?

Grüße
Steffen

von Christian R. (supachris)


Lesenswert?

Also du kannst zum Beispiel den Xilinx original USB Programmer 
verwenden, der kann alle Xilinx Bausteine programmieren und seit iMpact 
10.1 oder so auch an den FPGA angeschlossene SPI Flashes durch "Indirect 
programming".
Ein ganzes Stück billiger und auch noch Impact Kompatibel ist der 
Digilent XUP.
Oder du baust dir den Nachbau des Xilinx Platform Loaders, wie er auf 
den Xilinx Boards integriert ist. Den Schaltplan usw. findest du hier im 
Forum.

von Steffen H. (steffenh)


Lesenswert?

Ach das ist mit "indirect programming" gemeint. Ich bin heute auf der 
Seite von Trenz Elektronik darüber gestolpert und wusste nichts damit 
anzufangen. Wie funktioniert das? Muss der FPGA die JTAG-Befehle denn 
nicht einfach nur in der Chain an den SPI-Flash weiterleiten? Wandelt er 
die noch?

Kann ich also auf diesen Platform-Flash verzichten, ja?

von Christian R. (supachris)


Lesenswert?

Du brauchst dann keinen Platform Flash. Musst aber einen kompatiblen SPI 
Flash an die entsprechenden Pins am FPGA anschließen. Steht im 
Configuration User Guide. Welche SPI Flashes passen, steht auch da drin, 
da geht nicht jeder. Impact lädt dann einen kleinen Core per JTAG in den 
FPGA, der dann die Übersetzung zwischen JTAG und SPI macht. Sehr bequem 
die ganze Sache. Aber auf jeden Fall auf die Beschaltung des Flashes 
usw. achten, das muss alles genau passen.

von Steffen H. (steffenh)


Lesenswert?

Christian R. schrieb:
> Impact lädt dann einen kleinen Core per JTAG in den
> FPGA, der dann die Übersetzung zwischen JTAG und SPI macht.

Interessant! Warum einfach, wenn es auch kompliziert geht ;-)

Ich dachte, im Datenblatt zum Spartan 3E bereits alles über die 
Konfigurationsmöglichkeiten gelesen zu haben. Dass es ein eigenes 350 
Seiten starkes Dokument dazu gibt, habe ich eben erst entdeckt! Ich 
werde es mir zu Gemüte führen.

Eines noch: Kann ich theoretisch auch über mein Spartan 3E Eval-Board 
den FPGA auf meiner eigenen Platine programmieren? Im Prinzip müsste ich 
dafür doch nur die JTAG-Chain aus dem Board herausführen und in meine 
eigene Platine hinein. Wird das - als Low-Cost Lösung - wohl 
funktionieren?

von Thomas R. (tinman) Benutzerseite


Lesenswert?

ist keine low-cost lösung, der 3E board hat vollständiges Xilinx XUP 
drauf, die pins sind herausgeführt.

hier gabs ein nachbau dessen was auf den 3E board drauf ist + die par 
fehlende teile (i/o buffer) damit es volständiges Xilinx XUP wird :

Xilinx USB-JTAG-Adapter

von Ex-X3Eler (Gast)


Lesenswert?

Moin,

>Eines noch: Kann ich theoretisch auch über mein Spartan 3E Eval-Board
>den FPGA auf meiner eigenen Platine programmieren? Im Prinzip müsste ich
>dafür doch nur die JTAG-Chain aus dem Board herausführen und in meine
>eigene Platine hinein. Wird das - als Low-Cost Lösung - wohl
>funktionieren?

falls du dich auf das Board in UG230.pdf beziehst: man kann zwar
statt über USB auch per JTAG Stiftstecker konfigurieren (dann auch
Chips am FX2-Stecker/Erweiterungsboards). Aber über USB lassen sich
nur das FPGA, den CoolrunnerII CPLD und glaube noch das Flash
programmieren. Für eigene FPGAs/CPLDs muss du schon eine
TDI/TDO-Leitung auftrennen und dein Board in die Kette einbinden;
glaube sowas mal gesehen zu haben!?

Schade, (sonst wär's ja ein billiger und sehr nützlicher Ersatz für
den teuere USB-Programmer)

Gruss

Ex-X3Eler

von Steffen Hausinger (Gast)


Lesenswert?

Thomas R. schrieb:
> ist keine low-cost lösung, der 3E board hat vollständiges Xilinx XUP
> drauf, die pins sind herausgeführt.

Low-cost in dem Sinne, als dass es einerseits unüblich ist, ein ganzes 
FPGA-Board nur als JTAG-Adapter zu nutzen. Es aber andererseits 
unglaublich günstig ist, wenn man bereits eins hat.

Danke für den Link zum Nachbau-Projekt. Aber ich habe schon genug mit 
der eigentlichen Schaltung zu tun, da bin ich froh, wenn ich einfach ein 
fertiges Teil habe, was getestet ist und funktioniert. Also: nicht 
elegant, aber günstig!



Ex-X3Eler schrieb:
> falls du dich auf das Board in UG230.pdf beziehst: man kann zwar
> statt über USB auch per JTAG Stiftstecker konfigurieren (dann auch
> Chips am FX2-Stecker/Erweiterungsboards). Aber über USB lassen sich
> nur das FPGA, den CoolrunnerII CPLD und glaube noch das Flash
> programmieren. Für eigene FPGAs/CPLDs muss du schon eine
> TDI/TDO-Leitung auftrennen und dein Board in die Kette einbinden

Ja, genau das Board meine ich. Allerdings schreibt Thomas R. einen 
Beitrag über Dir, dass die Chain herausgeführt wird. Und ich meine auch, 
eine entsprechende Pfostenleiste gefunden zu haben. Hat das denn schon 
jemand genutzt und kann sicher sagen, dass es funktioniert?

von Ex-X3Eler (Gast)


Lesenswert?

Gut, dann meinen wir ja das selbe Board: Ganz oben rechts
auf dem Board ist die JTAG-Stiftleiste, von der Thomas R.
schreibt.
Der Coolrunner-CPLD managt die OnBoard-JTAG-Kette. Die kann
entweder per USB oder per Stiftleiste angesteuert werden.
Die Kette aber wird nicht herausgeführt. Irgendwo glaube ich
im Xilinx-Forum war aber mal eine Lötanleitung, mit der man
dann eigene FPGAs einbinden konnte (glaube, es musste eine
Leitung aufgebohrt werden??).
Mein Board hatte ich bei Trenz gekauft und erhielt auch von
dort die Info, dass das Konfigurieren von externen Chips
nicht möglich ist.
Schau dir aber einfach mal die Schematics an, sind bei Xilinx
auch einzeln runterladbar.

Ex-X3Eler

P.S. mit der Bastelvariante hat man dann aber ein interessantes
Board: Ein FPGA und einen Programmer.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Ex-X3Eler schrieb:
> Die Kette aber wird nicht herausgeführt.
Das kann ich bestätigen.
Offenbar wollte sich Xilinx nicht selber das Wasser abgraben...
Oder der, der das Design des Starterbords gemacht hat, hat nicht über 
den Tellerrand hinausgeschaut...

von Ex-X3Eler (Gast)


Lesenswert?

@Lothar Miller,

für mehr Flexibilität muss man eigentlich immer über
den Tellerrand schauen..

Ex-X3Eler

von Steffen Hausinger (Gast)


Lesenswert?

Alles klar, meinen Königsweg aus SPI-Flash und JTAG-Schnittstelle kann 
ich mit dem XUP-Kabel dann ja gehen. Die Idee mit dem Board fiel mir nur 
nebenbei ein, ich werde mir das Kabel leisten.

Herzlichen Dank für Eure Weiterhilfe!

Grüße
Steffen

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.