Timing Analyzer generierten Taktbefehl erstellen

author-image

Von

Der Timing Analyzer betrachtet Taktteiler, Ripple-Takte oder Schaltkreise, die die Eigenschaften des eingehenden oder Host-Takts als generierte Taktfrequenzen ändern oder ändern. Sie sollten die Ausgabe dieser Schaltkreise als generierte Taktfrequenzen definieren. Diese Definition ermöglicht es dem Timing Analyzer, diese Taktfrequenzen zu analysieren und alle damit verbundenen Netzwerklatenzen zu berücksichtigen.

Sie können den Befehl create_generated_clock verwenden, um generierte Taktfrequenzen zu erstellen. Die folgende Liste zeigt den create_generated_clock Befehl und die verfügbaren Optionen:

create_generated_clock
   [-name <clock name>]
   -source <host pin>
   [-edges <edge list>]
   [-edge_shift <shift list>]
   [-divide_by <factor>]
   [-multiply_by <factor> >]
   [-duty_cycle <Percent>]
   [-add]
   [-invert]
   [-host_clock <clock>]
   [-phase <phase>]
   [-offset <offset>]
   <source-Objekte>

Tabelle 1 beschreibt die Optionen für den Befehl create_generated_clock.

Die Quellenlatenz basiert auf Takt-Netzwerkverzögerungen vom Host-Takt (nicht unbedingt der Host-Pin). Sie können den Befehl set_clock_latency -source verwenden, um die Quellenlatenz zu überschreiben.

Abbildung 1 zeigt Wellenformen für die folgenden SDC-Befehle, die einen invertierten generierten Takt basierend auf einer 10-ns-Taktfrequenz erstellen.

create_clock -Zeitraum 10 [get_ports clk]
create_generated_clock -divide_by 1 -invert -source [get_registers clk] \
    [get_registers Gen|clkreg]

Abbildung 1. Generieren einer invertierten Taktfrequenz.

Abbildung 2 zeigt Wellenformen für die folgenden SDC-Befehle, die den generierten Takt mithilfe der Optionen -edges und -edge_shift ändern.

create_clock-Zeitraum 10 -Wellenform { 0 5 } [get_ports clk]
# Erstellt eine Divide-by-2-Takt-create_generated_clock-Quelle
[get_ports clk] -edges { 1 3 5 } \
    [get_registers clkdivA|clkreg]
# Erstellt eine Teilung nach 2 Takt, unabhängig vom Arbeitszyklus des Host-Takts, jetzt 50 %)
create_generated_clock -source [get_ports clk] -edges { 1 1 5 } -edge_shift  0 5 0 } \
    [get_registers clkdivB|clkreg]

Abbildung 2. Edges & Edge beim Verschieben einer generierten Taktfrequenz.

Abbildung 3 zeigt Wafeforms für die folgenden SDC-Befehle, die den Effekt der Option -multiply auf den generierten Takt demonstrieren.

create_clock-Zeitraum 10 -Wellenform { 0 5 } [get_ports clk]
# Erstellt eine Multiplikator-mit-2-Takt-create_generated_clock-Quelle
[get_ports clk] -multiply_by 2 \
    [get_registers clkmperformance|clkreg]

Abbildung 3. Multiplikation einer generierten Taktfrequenz.

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.