Forum: FPGA, VHDL & Co. interne differentielle Signale


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Andi (chefdesigner)


Lesenswert?

In der Schaltung eines Zulieferers, die wir "eingemeinden" sollen, ist 
mir ein spezieller Buffer aufgefallen. Es handelt sich um die 
"IBUFGDS_DIFF_OUT" Komponente. Kurze Recherche bei AMD liefert einen 
konventonellen Input-Buffer für differenzieller Signale (im Beispiel ein 
Takteingang) der aber hinten zum FPGA hin ebenfalls differenziell ist.

Ich bin etwas verwundert, wie das technisch zu bewerten ist. Wozu 
benötigt man in dem FPGA eine differenzielle Leitung? Leider habe ich 
die files noch nicht, sondern nur die Schaltungsbeschreibung, kann es 
also nicht simulieren lassen.

Welche Pegel hat so eine Buffer? Aus der Beschreibung bei AMD scheint 
das kein wirkliches differenzielles Signal zu sein, sondern einfach 
komplementär.

Ich nehme an, das wird für DDR-Funktionen verwendet?

Kann dieser negierte Takt auch intern im VHDL-Schaltungsbereich benutzt 
werden?

von Gustl B. (gustl_b)


Lesenswert?

A. F. schrieb:
> sondern einfach komplementär.
> Ich nehme an, das wird für DDR-Funktionen verwendet?
> Kann dieser negierte Takt auch intern im VHDL-Schaltungsbereich benutzt
> werden?

Ja.

Edith zitiert UG571 (v1.12) August 28, 2019:

IMPORTANT: When this primitive is used for a clock signal, the OB output 
to the interconnect logic has no direct connection to a clock buffer.

Seltsamerweise sieht dieser Hinweis nur in manchen Versionen vom 
SelectIO UG dabei.

: Bearbeitet durch User
von Andi (chefdesigner)


Lesenswert?

Gustl B. schrieb:
> Ja.

Haben wir aber noch nie gebraucht und wir haben reihenweise 
DDR-Schaltungen.

Ich nehme an, die werden durch den Core stillschweigend eingebaut?

von Gustl B. (-gb-)


Lesenswert?

Naja, hängt sehr von dem ab was man genau macht.
Ein IDDR braucht nur einen Takt, verwendet aber beide Flanken.
Der ISERDESE2 braucht mehere Takte - unter anderem auch den CLK und das 
Invertierte davon (CLKB).
Ein OSERDESE2 braucht zwei Takte, einmal den Takt mit dem die parallelen 
Daten ankommen und den schnellen Takt für die serielle Ausgabe.

A. F. schrieb:
> Ich nehme an, die werden durch den Core stillschweigend eingebaut?

Kann sein, hängt sehr vom Core ab. Wenn du mit DDR DDR-Speicher und mit 
Core einen Speichercontroller meinst wie den MIG, dann ist das wohl so.

von Moadl K. (Firma: XXX) (moadl)


Lesenswert?

Was ich noch aus meiner aktiven Zeit mit Xilinx Architektur weiß:
Es gibt prinzipiell den Ibufds_diffout, damit bekommst du das 
einkommende differentielle Signal intern "doppelt", einmal normal und 
einmal invertiert.
Das ist für Real-Time window monitoring sehr praktisch, da damit am 
invertierten Signal der Abstand zu den Augengrenzen getestet werden kann 
und damit das aktive Signal ohne Datenverlust immer in der Mitte des 
Auges gehalten werden kann.

Beim Taktsignal wüsste ich nicht dass ich da den invertierten Pfad 
verwendet hätte da typischerweise sofort auf einen der Io Taktbuffer 
gegangen wurde.

SG
Moadl

von Sim (Gast)


Lesenswert?

Moadl K. schrieb:
> Das ist für Real-Time window monitoring sehr praktisch, da damit am
> invertierten Signal der Abstand zu den Augengrenzen getestet werden kann
> und damit das aktive Signal ohne Datenverlust immer in der Mitte des
> Auges gehalten werden kann.

teressant sehr - meinste Feedbacksysteme für blinde Hunde?

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.