Hilfe für IDELAY

Gast #1828247
Lesenswert?

Ich verwende einen Xilinx FPGA (Virtex 5 LX30T Speedgrade -1) und einen 
TI AD-Wandler mit max 400MSample (ADS5474)

Hier das Datenblatt des AD-Wandlers:

http://focus.ti.com/lit/ds/symlink/ads5474.pdf

Auf Seite 7 wird das Timing des Wandlers beschrieben. Der Wandler 
erzeugt ein Dataready Signal (DRY). Dies gibt an wann die Daten fertig 
sind. Zudem gibt es 14 Datenleitungen.

Was mich jetzt sehr nachdenklich macht ist das tSKEW auf Seite 7 des 
Datenblatts. Hier steht das die Verzögerung (Skew) zwischen der 
DRY-Leitung und den Daten typisch 0ps beträgt. Im äußersten FALL aber +- 
500ps beträgt.

Da ich gerade beim Routen der Platine bin, überlege ich gerade ob es 
nicht sinnvoll ist das DRY-Signal um 500ps zu verzögerung.

Dadurch möchte ich erreichen das die Daten am FPGA immer füher ankommen 
als das DRY-Signal, das auf einen globalen Clock Buffer geht.

Es handelt sich beim DRY als auch bei den Daten um LDVS-Pegel
#1829181
Lesenswert?

Hallo!

Bin auch gerade an einem Projekt mit TI ADC-ADS62P49... Ich habe von TI 
einige Informationen, wie die das auf dem Board TSW1200 realisiert 
haben...

Wenn du Interesse hast, könnte man ein paar Ideen austauschen - sende 
mir dazu einfach deine Email Adresse über die Nachrichtenfunktion...

Gruß Simon
Moderator (Firma: Titel) Persönliche Seite #1829213
Lesenswert?

Johann schrieb:
> Wenn ich den OFFSET IN BEFORE Constraint benutze, wird dann auch ein
> IDELAY verwendet oder wird das dann über längere Leitungen realisiert?
Da wird gar nichts verwendet, sondern du teilst dem System nur mit, was 
du aus Datenblättern ausgerechnet hast...

Wenn du ein IDELAY willst, mußt du ein IDELAY instatiieren:
http://www.xilinx.com/itp/xilinx7/books/data/docs/v4lsc/v4lsc0122_113.html
Gast #1829984
Lesenswert?

Demnach muss ich ein IDELAY selber einfügen.

Und ich dachte schon ich gebe einfach das Constraint an und der Compiler 
routet mir das ganze so das es eingehalten wird.

Demnach muss ich ein Constraint erzeugen und ein IDELAY einfügen. Mit 
dem Constraint überprüft dann der Compiler ob mit Hilfe des IDELAY die 
Setup Time eingehalten wird.

Auf meinem Board ist das ganze wie folgt geroutet. Die Datenleitung und 
die Datenready-Leitung sind gleich lang. Die Datenreadyleitung geht auf 
einen Globalen Clock Eingang beim FPGA.

Im Datenblatt des AD-Wandlers (siehe oben) steht das zwischen der 
Datareadyleitung und den Datenleitungen im typischen Fall ein Skew von 
0ps vorhanden ist. Jedoch kann auch ein Skew von +- 500ps vorhanden 
sein. Dadurch bin ich der Meinung das man diesen Worst Case Fall 
abfangen muss, indem man die Datareadyleitung um mindestens 500ps 
verzögert.

Also muss ich beim Constraint angeben, das die Datenreadyleitung einen 
maximalen Takt von 200MHz besitzt. Das IDELAY werde ich dann zwischen 
dem Globalen Clock Pin und dem BUFG setzen. Dadruch verzöger ich das 
ganze um 624ps --> 8 Steps a 200MHz. Das IDELAY benötigt laut Datenblatt 
einen Clock als Referenz. Auf meinem Board ist ein 50MHz Quarzoscillator 
verbaut, der mit einem Globalen Clock Eingang verbunden ist. Aus dem 
50MHz Clock erzeuge ich dann ein 200MHz Clock, den ich dann als 
Referenzsignal für das IDELAY verwende.

Ist das so richtig oder mache ich da einen Denkfehler. Ich hoffe das ich 
morgen ein kleines Testprogramm schreiben kann und dann darüber 
berichten kann.

Schon mal vielen Dank für die bereits gegebenen Informationen.

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