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.
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.
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.
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.
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?
@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
Der Programmer war das erste, was ich weggetauscht habe. Ohne Erfolg. Die Signale sehen eigentlich gut aus.
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.
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.
>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?
...an den Widerstand in Reihe. Da fehlt wohl das Widerstand. Quasi ein TP-Filter, um die schnellen Flanken etwas zu verschleifen.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.