Synchroner vs. asynchroner Reset: Timing, Takt und Freigabe
Beide Mechanismen setzen Flip-Flops auf einen definierten Anfangswert, unterscheiden sich aber im Zeitpunkt, zu dem der Reset wirkt. Beim synchronen Reset wird das Reset-Signal wie andere Daten an der Taktflanke übernommen. Beim asynchronen Reset wird der Reset-Anschluss des Flip-Flops direkt genutzt, sodass der Reset unabhängig vom Takt sofort wirkt. In der Praxis wird häufig ein Verfahren eingesetzt, bei dem der Reset asynchron sofort aktiviert und nur seine Freigabe mit dem Takt synchronisiert wird.
| Merkmal | Synchroner Reset | Asynchroner Reset |
|---|---|---|
| Wirkzeitpunkt | Wenn bei aktivem Reset eine Taktflanke eintrifft | Sofort, wenn der Reset aktiv wird. Kein Warten auf den Takt |
| Takt erforderlich? | Ja. Steht der Takt, ist kein Reset möglich | Nein. Wirkt auch, bevor der Takt anläuft oder während er steht |
| Verilog-Code | always @(posedge clk) if (!rst_n) q <= 0; else q <= d; | always @(posedge clk or negedge rst_n) if (!rst_n) q <= 0; else q <= d; |
| Schaltungsaufbau | Vor dem Dateneingang wird Reset-Logik eingefügt | Es werden Flip-Flops mit Reset-Anschluss verwendet |
| Fläche und Datenpfad | Im Datenpfad kommen Gatter hinzu, was Verzögerung und Fläche entsprechend erhöhen kann | Die Zelle ist um den Reset-Anschluss größer, im Datenpfad kommt aber keine Logik hinzu |
| Glitch-Festigkeit | Hoch. Glitches außerhalb des Flankenzeitpunkts werden nicht übernommen | Gering. Glitches auf der Reset-Leitung können einen ungewollten Reset auslösen |
| Pulsbreite des Resets | Muss mindestens eine Taktperiode lang aktiv gehalten werden | Wirkt auch bei kurzen Pulsen |
| Timing-Analyse | Wie ein normaler Dateneingang über Setup und Hold analysierbar | Das Timing der Freigabe (Recovery- und Removal-Zeit) wird separat geprüft |
| Hinweise zur Reset-Freigabe | Da synchron zum Takt, treten innerhalb derselben Taktdomäne kaum Probleme auf | Liegt die Freigabe nahe an der Taktflanke, kann der Freigabezyklus von Flip-Flop zu Flip-Flop abweichen oder Metastabilität auftreten. Ein Reset-Synchronisierer richtet die Freigabe am Takt aus |
| Geeignete Schaltungen | Schaltungen mit ständig laufendem Takt, Schaltungen mit störanfälligem Reset-Signal | Schaltungen, die direkt nach dem Einschalten initialisiert werden sollen, Schaltungen, deren Takt anhalten kann |
Die Zahlenwerte sind typische Größenordnungen und variieren je nach Prozessgeneration und Produkt.