Forum: FPGA, VHDL & Co. Maximale Anzahl von FPGAs in der JTAG-Kette


von Alt68er (Gast)


Lesenswert?

Kann jemand aus der Hand sagen, wieviele FPGAs man in einer JTAG-Kette 
valid betreiben kann/darf? Ich finde dazu in der Doku nichts.

Es geht konkret um Xilix S3A. Verbaut sind je Kette >10 + ein EEPROM. 
Sie werden vom Kabel allesamt erkannt (mit EEPROM) und auch das BEladen 
scheint zu klappen (EEPROM+indivuduell) jedoch funktioniert das Verify 
nicht, die User-Codes werden auch nicht korrekt zurückgelesen und 
ChipSccope findet nach dem Konfigurieren eines FPGAs keinen Core, obeohl 
ein LA korrekt eincompiliert ist.

von Bernd G. (Gast)


Lesenswert?

Lang ist es her: Vor über 10 Jahren hatte ich das Problem mit 
irgendwelchen Steinen von AMD/Vantis M4A3-128 oder so. Da musste ich die 
JTAG-Kette immer in Achter-Päckchen zerlegen. Ich glaube, mehr lässt die 
Spezifikation auch heute nicht zu.

von Uwe Bonnes (Gast)


Lesenswert?

Vom Protokoll ist die Kettenlaenge unbegrenzt. Von den elektrischen 
Signalen sieht das anders aus, und von der programmtechnischen JTAG 
Realisierung dann nochmals. Bei deinem Beispiel koennte ich mir ein 
Klingeln auf TCK, oder die Flanke von TCK ist so verschliffen, dass am 
Schaltpunkt mehrmals geschaltet wird.

von Christian R. (supachris)


Lesenswert?

Also wir haben hier 8 Spartan 3e, 8 Platform Flashes für die Spartans, 
16 FIFOs, 1 Virtex 4 und seinen Platform Flash in der Kette, also 
insgesamt 34 Devices, das funktioniert ohne Probleme. Die 8 Spartans 
sind über 8 steckbare Leiterplatten verteilt, bei denen jeweils am 
JTAG-Eingang solche Tiny-Logic Buffer hängen. Mit dem USB Platform Cable 
II gibts da überhaupt keine Probleme. Kommt halt alles aufs Design an.

von Alt68er (Gast)


Lesenswert?

Laut Xilinx Messages beim Programmieren läuft das Ganze auf 3MHz. Das 
ist etwas wenig für verschliffene Flanken, oder?

Hat jemand ein Beispiel, wieviele er funktionabel ladbar am Laufen hat?

von Duke Scarring (Gast)


Lesenswert?

@Alt68er:

Bei uns wurden die JTAG-Ketten auch aufgesplittet (12 Devices -> 8 + 4 
Devices). Es gibt aber trotzdem die von Dir beobachteten Probleme. In 
der nächsten Boardrevision werden hoffentlich noch ein paar Puffer 
dazwischen kommen.

Als Workaround kannst Du solange den Programmer wechseln, bis Du einen 
funktionierenden gefunden hast.

Duke

von Alt68er (Gast)


Lesenswert?

Der Programmer war das erste, was ich weggetauscht habe. Ohne Erfolg. 
Die Signale sehen eigentlich gut aus.

von Christian R. (supachris)


Lesenswert?

Was für ein Programmer? Ein alter Serial-Programmer und das Parallel 
Cable III machen bei den Spartans und dem Virtex bei uns auch Probleme. 
Mit CollRunner II keine Probleme, aber irgendwie ist das selbe 
Fehlerbild bei den Spartans. Schreiben geht anscheinend, Verify bricht 
dann ab.

von Matthias G. (mgottke)


Lesenswert?

In der Vergangenheit hatte ich auch schon mehrfach Probleme mit 
Xilinx-Bausteine. Das Problem ist nicht die Bautrate, sondern die 
Flankensteilheit. Gerade Xilinx geagiert sehr empfindlich auf alle 
Flanken die nicht äußerst steil sind. Das betrifft vor allem das TCK. 
Oft sind in den Programmern nämlich Serienwiderstände eingebaut. Dann 
Speilen nämlich die Eingangskapazitäten und die Kapazitäten auf der 
Leiterplatte eine Rollen.

Die beste Lösung ist, am JTAG-Anschluss der LP einen sehr niederohmigen 
Treiber zu verwenden. Z.B. NC7SZ125. Aber Achtung, nachfolgend keine 
Serienwiderstände. Diese sind aber oft auch auf den LPs und den 
verschiedenen App-Notes empfohlen.

Hilfreich kann auch ein 100 Ohm Abschlusswiderstand sein. Dieser dann 
aber je nach Leitungslänge über ein paar pF (z.B. 100pF) dynamisch an 
den in Reihe an GND koppeln. Bei starken Leitungstreibern kann es 
nämlich auch zu Übersprechen von Signalen auf TCK kommen. Habe ich auch 
schon erlebt. Auch deshalb sind in den Programmern oft die 
Serienwiderstände.

von Gast (Gast)


Lesenswert?

>Hilfreich kann auch ein 100 Ohm Abschlusswiderstand sein.
>Dieser dann aber je nach Leitungslänge über ein paar pF (z.B. 100pF)
>dynamisch an den in Reihe an GND koppeln.

Der letzte Satzteil ist ein wenig verstümmelt und irreführend - wie ist 
das gemeint?

von Christian R. (supachris)


Lesenswert?

...an den Widerstand in Reihe. Da fehlt wohl das Widerstand. Quasi ein 
TP-Filter, um die schnellen Flanken etwas zu verschleifen.

von FPGA-Manni (Gast)


Lesenswert?

Vielleicht hilft es, die JTAG-clock herabzusetzen.

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.