Beispiele für Timing-Analyzer-Taktmultiplexer

author-image

Von

Der Timing Analyzer macht es einfach, Synopsys® Design Constraint (SDC)-Befehle zu verwenden, um komplexe Taktstrukturen wie multiplexierte Taktfrequenzen einzuschränken. Im Folgenden sehen Sie drei Beispielschaltkreise und die entsprechenden SDC-Befehle, um diese einzuschränken.

Abbildung 1. Zeigt einen einfachen Register-zu-Register-Schaltkreis, der vom CLK-Port getaktet wird.

Angenommen, der CLK-Port wird von einem Off-Chip-Multiplexer angetrieben, der zwischen zwei Takten wählt, einer mit einer 10-ns-Zeit und einer mit einer 8-ns-Zeit. Die folgenden SDC-Befehle zeigen, wie Sie dem CLK-Port mehrere Takte zuweisen. Er zeigt auch, wie Sie eine Ausnahme hinzufügen, die darauf hinweist, dass die beiden Takte nie gleichzeitig im FPGA aktiv sind.

Anzahl Erstellen Sie die zwei Takte auf dem Port
create_clock -name clk_100 -period 10 [get_ports clk]
create_clock -name clk_125 -period 8 [get_ports clk] -add
# Setzen Sie die beiden Takte als exklusive Takte
set_clock_groups -exclusive -group {clk_100} -group {clk_125}

Abbildung 2. Zeigt einen einfachen Register-to-Register-Schaltkreis mit einem Taktmultiplexer auf dem FPGA mit zwei Taktanschlüssen: clkA und clkB.

Angenommen, der clkA-Port wird von einem Takt mit einer 10-ns-Zeit angetrieben, und dass der clkB-Port von einer Taktfrequenz mit einer 8-ns-Zeit angetrieben wird. Die folgenden SDC-Befehle zeigen, wie man die Taktfrequenzen zuweisen kann. Dieses Beispiel ähnelt dem vorherigen Beispiel, aber die Taktfrequenzen werden separaten Ports zugewiesen.

Anzahl Erstellen Sie auf jedem Port eine Uhr
create_clock -name clk_100 -period 10 [get_ports clkA]
create_clock -name clk_125 -period 8 [get_ports clkB] -add
# Setzen Sie die beiden Taktfrequenzen set_clock_groups
-exclusive -group {clk_100} -group {clk_125}

Abbildung 3. Zeigt einen komplexeren Taktkreis mit verbundenen Taktmultiplexern auf der FPGA.

In diesem Fall müssen Sie den Befehl set_clock_groups verwenden, um anzuzeigen, dass die Taktfrequenzen A und D, A und B, C und D und B und C nie gleichzeitig aktiv sein können.

create_clock -name A-period 10 [get_ports clkA]
create_clock -name B -period 8 [get_ports clkB]
create_clock -name C-period 8 [get_ports clkC]
create_clock -name D -period 10 [get_ports clkD]
# Cut-Pfade zwischen Takten
set_clock_groups -exclusive -group {A C} -group {B D}

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.