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
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...
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?
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.
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
>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.
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.