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