What is false path?
When set_disable_timing is preferred to set_false_path?
A false
path is a logic path that exists but should not be analyzed for timing. For
example, a path can
exist between two multiplexed logic blocks that are never selected at the same time, so
that path is not valid for timing analysis.
For
example, to declare a false path from pin FFB1/CP to pin FFB2/D:
pt_shell>
set_false_path -from [get_pins FFB1/CP] -to [get_pins FFB2/D]
Declaring
a path to be false removes all timing constraints from the path. PrimeTime
still
calculates
the path delay, but does not report it to be an error, no matter how long or
short
the
delay.
What is set_disable_timing?
What is set_disable_timing?
Setting
a false path is a point-to-point timing exception. This is different from using
the
set_false_path command, which
disables timing analysis for a specified pin, cell, or
port. Using the set_disable_timing
command removes the affected objects from
timing
analysis,
rather than removing the timing constraints from the paths.
If all paths
through a pin are false, using set_disable_timing
[get_pins pin_name] is more
efficient than
using set_false_path
-through [get_pins pin_name]. Because PT calculates path delay in case of set_false_path
Another example of a false path is a path between flip-flops belonging to two clock domains that are asynchronous with respect to each other.
To declare all paths between two clock domains to be false, you can use a set of two
commands such as the following:
pt_shell> set_false_path -from [get_clocks ck1] -to [get_clocks ck2]pt_shell> set_false_path -from [get_clocks ck2] -to [get_clocks ck1]
For efficiency, be sure to specify each clock by its clock name, not by the pin name (useget_clocks, not get_pins).
An alternative is to use the set_clock_groups command to exclude paths from consideration that are launched by one clock and captured by another. Although this has the same effect as declaring a false path between the two clocks, it is not considered a timing exception and is not reported by the report_exceptions command.
Another example of a false path is a path between flip-flops belonging to two clock domains that are asynchronous with respect to each other.
To declare all paths between two clock domains to be false, you can use a set of two
commands such as the following:
pt_shell> set_false_path -from [get_clocks ck1] -to [get_clocks ck2]pt_shell> set_false_path -from [get_clocks ck2] -to [get_clocks ck1]
For efficiency, be sure to specify each clock by its clock name, not by the pin name (useget_clocks, not get_pins).
An alternative is to use the set_clock_groups command to exclude paths from consideration that are launched by one clock and captured by another. Although this has the same effect as declaring a false path between the two clocks, it is not considered a timing exception and is not reported by the report_exceptions command.
suppose if we gave as set_disable_timing -from [get_pins FFB1/CP] -to [get_pins FFB2/D] tool will the tool calculate the max tran and max violations for that data path ?
ReplyDeleteNo
Delete