mikrocontroller.net

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


Autor: Alt68er (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Bernd G. (Firma: LWL flex SSI) (berndg)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Uwe Bonnes (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Christian R. (supachris)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Alt68er (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Duke Scarring (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Alt68er (Gast)
Datum:

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

Autor: Christian R. (supachris)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Matthias G. (mgottke)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Christian R. (supachris)
Datum:

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

Autor: FPGA-Manni (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielleicht hilft es, die JTAG-clock herabzusetzen.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.