PrimeTime keeps track of inverters and buffers in clock trees. It recognizes the positive or
negative sense of the clock signal arriving at each register clock pin. No specific action is
necessary to tell PrimeTime the sense of a clock tree that has only buffers and inverters. In
this case, the clock signal arriving at the register clock pin is said to be “unate”
對於 Non-Unate Clock Signals在PrimeTime該如何找出
To resolve this ambiguity for PrimeTime, you can specify the sense of a clock signal at a
point in the clock path using the set_clock_sense command. For example,
pt_shell> set_clock_sense -positive [get_pins xor1.z]
對於有多clock輸入時,可以指定clock
pt_shell> set_clock_sense -positive \
-clock [get_clocks CLK] [get_pins mux1.z]
Clock Sense Examples
set_clock_sense -stop_propagation
You could use the -stop_propagation option to stop propagation of specified clocks in
the clock list from the specified pins or cell timing arcs in the object list. This is appropriate
in cases where the clock physically does not propagate past a certain pin as both clock
and clock as data propagation are stopped at the pin in any form.
set_clock_sense -logical_stop_propagation
You use the -logical_stop_propagation option to stop only the clock acting as a
clock, but not the clock acting as data propagation. You might want the clock to continue
to propagate forward, but in a way that PrimeTime does not analyze it as clock and only
treats the clock as data.
Note:
The timing_arc object is supported only with the -stop_propagation option.
Physical Clock Stopping
In this case, TESTCLK never physically exists beyond UMUX2. To model this in PrimeTime, you should use the following command:set_clock_sense -stop_propagation -clocks TESTCLK UMUX2/Z
It might be desirable to analyze the U3 through U5 buffers only as a data path. In this case, the clock could be logically stopped at the input of U3 by using the following command:
set_clock_sense -logical_stop_propagation -clocks CLK U3/A














