Spartan 6 GTP: Byte Alignment klappt nicht

OP #2905650
Lesenswert?

Hallo zusammen,

kennt sich jemand mit den GTP Transceivern am Spartan 6 LXT aus?
Ich kriege in der Simulation das Byte Alignment mit dem Comma nicht hin. 
Ich habe einen 16 Bit Datenpfad mit 8B/10B eingestellt, als Comma wird 
in den Pausen K28.1 geschickt. Im Alignment ist eingestellt, dass er das 
K28.1 dekodieren soll und an den geraden Bytes ausrichten soll.
Aber das will der einfach nicht machen. Er setzt das 
TILE0_RXBYTEISALIGNED1_OUT auf 1 und bringt das Comma im High Byte, 
TILE0_RXCHARISK1_OUT ist demzufolge auch "10". Auch ein Manuelles 
RX_SLIDE hilft nicht, da kommt kurz das TILE0_RXBYTEREALIGN_OUT und dann 
richtet er wieder am High-Byte aus.

Was soll denn das? Ich hatte das auf dem SP605 schon mal laufen, da ging 
das korrekt, ohne funktionierende Simulation kann ich aber nicht weiter 
arbeiten.
Die Hardware steht im Moment nicht zur Verfügung. In der Simulation ist 
wie dann in der Hardware ein ML605 (GTX) mit dem SP605 (GTP) verbunden. 
In der Gegenrichtung klappt es, der Virtex 6 richtet den Datenstrom am 
LowByte korrekt aus.

In den Xilinx Answer Records und im Forum hab ich nichts dazu gefunden.
Ich nutze ISE 14.3, der GTP Wizzard hat die Version 1.11 im Moment. Der 
Fehler ist mit ModelSIM und ISim gleich.

Hat jemand da einen Tipp?
OP #2905756
Lesenswert?

Für das Alignment kann man nur ein Comma Symbol angeben. ich denke ja, 
dass es ein Simulationsproblem ist, da es in der Hardware (Da mit 
Loopback) schon mal geklappt hatte. Und er soll ja auch gerade nur ein 
Comma haben, damit er den 16 Bit Datenpfad richtig herum zusammen bauen 
kann. Wenn ich zwei Commas hätte, wäre ja nicht eindeutig gekennzeichnet 
auf welchem Byte das jetzt liegen soll.
Angehängte Dateien:
Gast #2905879
Lesenswert?

Welchen Simulator verwendest Du?
Aus einem Vorprojekt weiss ich, dass ISIM sowohl bei den SERDES, als 
auch den GTP Probleme hat und die Funktion scheinbar nicht i.O. ist, 
d.h. er einfach nicht korrekt simuliert.
OP #2905895
Lesenswert?

Wie ich oben schrieb: Ich verwende normalerweise ModelSim PE 10.1b, hab 
die Libs über Compxlib kompiliert. Aber zum Testen hab ich das Projekt 
auch mal in den ISim reingezogen, Ergebnis: Genau der gleiche Fehler. 
Ich vermute, dass die Lib an sich fehlerhaft ist, ist sicher in beiden 
Fällen die gleiche Source. Aber man kann ja nicht reingucken, SecureIP 
lässt grüßen.
Wenn wenigstens nur Highbyte/Lowbyte verdreht wäre. Aber es ist 
verschoben. Sonst würde ich halt für die Simulation einen Swap einbauen. 
Aber nee...
OP #2905985
Lesenswert?

heureka! Während des Schreiben vorhin kam mir die Idee, den RX Elastic 
Buffer nachdem alles komplett initialisiert ist, nochmal zu reseten. Und 
Tatsache, dann läufts plötzlich. Sehr seltsam, in der Hardware gehts 
ohne und die Doku verliert darüber kein Wort. Tolle Sache, ist dann wohl 
doch ein Simulationsmodell-Problem.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren