Hallo Community, ich möchte einen Takt (100 MHz) sowie 4 Datensignale die auf diesen referenziert sind über ein IDDR-FF mit 400 MHz abtasten. Das IDDR-FF liefert mir zur steigenden sowie zur fallenden Flanke einen Wert (Ausgänge Q0 und Q1). Meine Frage ist wie kann ich am einfachsten die Daten zum Takt rückgewinnen? Indem ich die Daten und den Takt von Q0 und Q1 (IDDR-Ausgänge) über mehrere FFs synchronisiere und auf die steigende bzw. fallende Flanke triggere? Wie löst man soetwas in der Praxis. Vielen Dank.
Zumindest bei Xilinx haben die IDDR-FF Optionen, dass sie dir Q0 und Q1 gleichzeitig z.B. zur steigenden Taktflanke zur Verfügung stellen. Somit brauchst du bei nachgeschalteter Logik nur noch auf eine Flanke (i.e. rising) reagieren und hast einfach einen doppelt so breiten Datenbus.
machbar mit Oversampling. Ggf. muss man noch mit einem Counter nachhelfen um auf den besten Samplepunkt zu kommen. Noch besser: Nutze deinen Takt um die Signale in ein asynchrones FIFO einzutakten. Dort kannst du diese wieder sauber rausziehen.
Hallo, danke für eure Antworten. Ich werde mich für die Variante mit dem async. FIFO entscheiden, welches ich mit meinem resynchronisierten Takt (100 MHz) auslese.
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.