Forum: FPGA, VHDL & Co. Verwendung von ISERDES2


von Christian (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

Ich versuche einen ISERDES2 in einem Spartan6 zu verwenden.
Zuerst möchte ich das Ding einmal "kennen lernen". Zweck ist die Zeit zu 
messen, die ein externes, asynchrones Signal high ist. Um eine 
Genauigkeit von ~1ns zu erreichen, will ich das Signal zuerst mit zwei 
kaskadierten ISERDES2 deserialisieren. Das geht allerdings schief.

Vermutlich habe ich irgend ein Verständnisproblem mit dem ISERDES2:
- Ich verwende den Modus "RETIMED" da die ausgehenden Daten dann 
synchron zur langsamen Clock sind. So erwarte ich die höchst mögliche 
Datenrate.
- Bitslip verwende ich nicht, da die absolute Ausrichtung der Daten 
irrelevant ist. Ich brauche nur ein Schieberegister in dem die Daten 
anschließend deserialisiert drin stehen.
- Ich deserialisiere 8 fach, SDR, die schnelle Clock kommt von einem 
BUFPLL. Von diesem verwende ich das SERDESSTROBE-Signal am IOCE-Eingang 
der ISERDES2.
- Einen IO-Delay verwende ich nicht, da das globale Timing wie gesagt in 
meinem Fall nicht relevant ist.

Um das Design zu testen habe ich ein Signal generiert, das 5 Takte HIGH, 
dann 4 Takte Low ist. So habe ich ein einfaches Testmuster, das ich 
leicht im Simulator wiedererkennen kann.

Nun sehe ich verschiedene Dinge die ich nicht verstehe:
- Das Cascade-Signal zwischen den beiden ISERDES sollte relativ zum 
Input-Signal 4 Takte der schnellen Clock verzögert sein. Allerdings ist 
es weniger verzögert. Vielleicht habe ich etwas falsch konfiguriert, 
allerdings sehe ich aus dem Datenblatt (UG381) nicht wie das überhaupt 
möglich ist. Das Signal wird doch hinter dem 4. FF abgegriffen (Abb 
3-1). Wie kann es da weniger als 4 Takte verzögert sein?
- Demenstprechend sind die Deserialisierten Daten auch totaler Käse. Ich 
sehe einzelne bits Low und einzelne bits high, in der Mitte der der 
deserialisierten 8 Bit. Die Daten vom SLAVE-ISERDES sind um eins 
verschoben gegenüber dem MASTER. (Slave Q2 zeigt die Daten von Master 
Q1).

Ich frage mich ob ich irgendwo ein Signal falsch verbunden habe oder ob 
ich ein prinzipielles Verständnisproblem mit dem ISERDES2 habe...

Design und Testbench sind im Anhang.

Schöne Grüße,
Christian

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.