www.mikrocontroller.net

Forum: FPGA, VHDL & Co. Synchronizer: FF-Kette vs Shiftregister?


Autor: Fpga Kuechle (fpgakuechle) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Zum Thema platzsparende Realisierung im Xilinx-FPGA:

In einem Synchronizer wird ein Signal mehrmals abgetaktet es ist also 
eine Kette von 1bit-Registern. Solche Kette können in einem Xilinx-FPGA 
aus Slice FF oder einem SRL16 (16 bit Shift-reg. spezielle Konfiguration 
der 4-LUT) realisiert werden. Als SRL16 Makro ist es kleiner (1/4 Slice) 
als eine FF Realisierung (1/2 slice (2stufiger synchronizer)).

Hat ein SRL16 Synchronizer funktional oder andere Nachteile gegenüber 
einen FF-Synchronizer, wie gelegentlich behauptet ?

PS.: Dies gilt besonders bei internen Synchronizeren (Clock domain 
Übergange) weniger beim Einsynchronisieren externer Signal, da bei 
letzteren das erste FF als IOB-FF quasi geschenkt ist.

Autor: Johannes T. (johnsn)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vor dieser Frage stand ich auch mal. Ein Nachteil ist wohl, dass das 
Schieberegister nicht resetiert werden kann. Das heißt u.U. hat man dann 
einen undefinierten Zustand.

Aber ich würde mal sagen, wenn man nicht allzulange Schieberegister hat 
(etwa nur zum synchronisieren) tut das 1/4 slice nicht weh und vom Speed 
her, macht das auch sicher keinen großen Unterschied.

Allerdings, wenn du nur interne Signale synchronisierst, dann werden die 
(asynchronen) Signale doch bei einem Reset auf einen definierten Pegel 
gebracht, somit brauch der Reset nur so lange garantiert anliegen, wie 
die Länge deinen SRLs ist und du hast wieder einen definierten Zustand 
am Ausgang.

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Fpga Kuechle (fpgakuechle)

>Hat ein SRL16 Synchronizer funktional oder andere Nachteile gegenüber
>einen FF-Synchronizer, wie gelegentlich behauptet ?

@ Johannes Traxler (johnsn)

>Aber ich würde mal sagen, wenn man nicht allzulange Schieberegister hat
>(etwa nur zum synchronisieren) tut das 1/4 slice nicht weh und vom Speed
>her, macht das auch sicher keinen großen Unterschied.

AFAIK haben die SRL16 ein geringfügig geringere maximale Taktfrequenz, 
was im Umkehrschluss bedeutet, dass sie etwas länger brauchen um 
metastabile Zustände aufzulösen. Damit ergibt sich theoretische eine 
höhere Wahrscheinlichkeit, dass metastabile Zustände am Ausgang des 
Synchronizers auftauchen. Aber ob ma sich nun über 10^-20 oder 10^-18 
unterhält, ist wohl sehr akademisch.

MfG
Falk

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.