www.mikrocontroller.net

Forum: FPGA, VHDL & Co. Frage zum Reset


Autor: Frank (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
ich arbeite mit der Altera Quartus II Umgebung und habe folgendes 
'Problem':
Der Kontroller (40MHz) meines Datenpfades arbeitet viel langsamer als 
der Datenpfad selbst (150MHz). Der Kontroller setzt die Steuersignal 
wenn der Datenpfad sich im Reset befindet. Zur Laufzeit ändern sich die 
Steuersignale nicht.
Wenn der Kontroller nun den Datenpfad anhalten möchte, tut er dies über 
das Setzen des Resets. Dieser kommt nun für den Datenpfad völlig 
asynchron.

Meine Frage nun: Wie kann ich ein 'langsameres' Signal sauber auf ein 
schnelleres synchronisieren, via One-Shot Lösung ... ??? Freue mich über 
Vorschläge ! Ansonsten schönes WE,
Frank

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du nimmst einfach ein 3-Bit Schieberegister in deinem 150MHz-Pfad und 
schiebst da deinen Reset durch. Wenn der am Ende angekommen ist, ist der 
Synchron zum 150MHz-Pfad.

>  Dieser kommt nun für den Datenpfad völlig asynchron.
Interessant ist nicht das Eintreten in den Reset, sondern das Verlassen 
des selben...

Autor: Hans (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Lothar,

das kann ich so nicht ganz stehen lassen. Ein Reset muß ja nicht immer 
die ganze Schaltung zurücksetzen. Und wenn dann beispielsweise am Ende 
einer Pipeline oder bei einem Datenbus ein asynchroner Reset eben mal 
die Datenregister zurücksetzt, aber das Handshake Signal noch nicht, 
dann würde die nachfolgende Schaltung noch irgendwelchen Murks 
übernehmen. Gerade bei lokal genutzten Resets sollte man daher auch auf 
ein synchrones setzen des Resets achten.
Ansonsten nur nebenbei: reichen nicht auch zwei Register zum 
einsynchronisieren?

Autor: Oberklotz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dies gilt nicht nur für Resets. Alle Signale sollten so synchronisiert 
werden.

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hans schrieb:
> Ansonsten nur nebenbei: reichen nicht auch zwei Register zum
> einsynchronisieren?
Es reicht bei moderaten Taktgeschwindigkeiten (<200MHz) und aktuellen 
FPGAs sogar locker eines... ;-)
Siehe dort im Beitrag "Re: Signal per Taktflanken setten/resetten"


Oberklotz schrieb:
> Alle Signale sollten so synchronisiert werden.
Dazu vollstes ACK.

Autor: Frank (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Lothar,
wie geht man den genau vor, um den reset sauber wegzunehmen. Genau 
hierüber 'removal & recovery' beschwert sich der timequest analyzer.
Gruss,
Frank

Autor: MATLAB und VHDL-Chef (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Es reicht bei moderaten Taktgeschwindigkeiten (<200MHz) und aktuellen
>FPGAs sogar locker eines... ;-)
Ja und nein. Es kommt auf die Wahrscheinlichkeit und den Schaden laut 
FMEA an. Nimm 3, dann sparst Du Dir die Betrachtung.

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.