Timing Analyzer Clock Enable Multicycle

author-image

Von

Mit der set_multicycle_path Synopsys® Design Constraint (SDC) und den get_fanouts Befehlen können Sie basierend auf einem Aktivierungsregister eine Multizyklen-Ausnahme erstellen.

Abbildung 1 zeigt einen einfachen Schaltkreis, bei dem Register enable_reg verwendet wird, um ein registriertes aktiviertes Signal für Register din_a_reg[7.0], din_b_reg[7.0], din_x_reg[7..0], din_y_reg[7.0], a_times_b und x_times_yzu erstellen.

Abbildung 1. Einfaches registriertes Enable-Design.

Der Enable Register enable_reg generiert einen Enable-Pulse, der zwei Mal die Taktzeit des Registers beträgt. Daher muss für die korrekte Analyse eine Multizyklen-Ausnahme angewendet werden. Ein Multizyklen-Setup von 2 und ein Multicycle-Hold von 1 müssen auf das vom Register enable_reggespeiste aktivierte Register angewendet werden. Die Multizyklen-Ausnahme wird nur auf Register-zu-Register-Pfade angewendet, bei denen das Zielregister durch enable_regkontrolliert wird.

Um dies zu erreichen, können Sie die set_multicycle_path-Ausnahme auf alle aktivierten Register anwenden. Diese Methode kann in der Regel langwierig sein, da alle aktivierten Register angegeben werden müssen. Alternativ kann die Kombination aus set_multicycle_path und get_fanouts wie folgt verwendet werden:

#Setup Mehrerezyklus von 2 aktivierten zielgesteuerten Registern

set_multicycle_path 2 -to [get_fanouts [get_pins enable_reg|q*] \

-through [get_pins -hierarchical *|*ena*]] -end -setup

#Hold Mehrerezyklus von 1 bis aktivierten zielgesteuerten Registern

set_multicycle_path 1 -to [get_fanouts [get_pins enable_reg|q*] \

-through [get_pins -hierarchical *|*ena*]] -end –hold

Das Ziel der set_multicycle_path-Ausnahme ist auf alle Fanouts des Registers beschränkt, reg_en die den Enable-Port eines Registers füttern. Dies erfolgt mit der folgenden Option:

[get_fanouts [get_pins enable_reg|q*] -through [get_pins -hierarchical *|*ena*]]

Tabelle 1 zeigt die neuen Setup- und Hold-Beziehungen aller aktivierten Register-zu-Register-Pfade im Design, nachdem die Multizyklen-Ausnahmen angewendet wurden.

In Tabelle 1 beachten Sie, dass die Einrichtung und Das Halten von Beziehungen, die bei register enable_reg beginnen und an einem aktivierungsgesteuerten Register enden, 2 bzw. 1 sind. Wenn für diese Pfade keine Einrichtungs- und Hold-Beziehung erforderlich ist, können Sie die folgenden Multizyklen-Ausnahmen anwenden, um die ursprünglichen Beziehungen anzuwenden:

set_multicycle_path 1 -from [get_pins enable_reg|q*] –end -setup

set_multicycle_path 0 -from [get_pins enable_reg|q*] –end –hold

Laden Sie die Beispielleitung clock_enable_multicycle.qar herunter.

Der Inhalt dieser Seite ist eine Kombination aus menschlicher und computerbasierter Übersetzung des originalen, englischsprachigen Inhalts. Dieser Inhalt wird zum besseren Verständnis und nur zur allgemeinen Information bereitgestellt und sollte nicht als vollständig oder fehlerfrei betrachtet werden. Sollte eine Diskrepanz zwischen der englischsprachigen Version dieser Seite und der Übersetzung auftreten, gilt die englische Version. Englische Version dieser Seite anzeigen.