mirror of
https://github.com/The-OpenROAD-Project/OpenSTA.git
synced 2026-08-22 05:57:30 +02:00
report_clock_min_period ignore mcp/path delays
Signed-off-by: James Cherry <[email protected]>
This commit is contained in:
Binary file not shown.
Binary file not shown.
+7
-2
@@ -3073,16 +3073,21 @@ MinPeriodEndVisitor::copy()
|
|||||||
void
|
void
|
||||||
MinPeriodEndVisitor::visit(PathEnd *path_end)
|
MinPeriodEndVisitor::visit(PathEnd *path_end)
|
||||||
{
|
{
|
||||||
|
Network *network = sta_->network();
|
||||||
Path *path = path_end->path();
|
Path *path = path_end->path();
|
||||||
ClockEdge *src_edge = path_end->sourceClkEdge(sta_);
|
ClockEdge *src_edge = path_end->sourceClkEdge(sta_);
|
||||||
ClockEdge *tgt_edge = path_end->targetClkEdge(sta_);
|
ClockEdge *tgt_edge = path_end->targetClkEdge(sta_);
|
||||||
if (path->minMax(sta_) == MinMax::max()
|
PathEnd::Type end_type = path_end->type();
|
||||||
|
if ((end_type == PathEnd::Type::check
|
||||||
|
|| end_type == PathEnd::Type::output_delay)
|
||||||
|
&& path->minMax(sta_) == MinMax::max()
|
||||||
&& src_edge->clock() == clk_
|
&& src_edge->clock() == clk_
|
||||||
&& tgt_edge->clock() == clk_
|
&& tgt_edge->clock() == clk_
|
||||||
// Only consider rise/rise and fall/fall paths.
|
// Only consider rise/rise and fall/fall paths.
|
||||||
&& src_edge->transition() == tgt_edge->transition()
|
&& src_edge->transition() == tgt_edge->transition()
|
||||||
|
&& path_end->multiCyclePath() == nullptr
|
||||||
&& (include_port_paths_
|
&& (include_port_paths_
|
||||||
|| !(path_end->isOutputDelay()
|
|| !(network->isTopLevelPort(path->pin(sta_))
|
||||||
|| pathIsFromInputPort(path_end)))) {
|
|| pathIsFromInputPort(path_end)))) {
|
||||||
Slack slack = path_end->slack(sta_);
|
Slack slack = path_end->slack(sta_);
|
||||||
float period = clk_->period() - slack;
|
float period = clk_->period() - slack;
|
||||||
|
|||||||
+1
-1
@@ -1087,7 +1087,7 @@ proc report_clock_min_period { args } {
|
|||||||
if { [info exists keys(-clocks)] } {
|
if { [info exists keys(-clocks)] } {
|
||||||
set clks [get_clocks $keys(-clocks)]
|
set clks [get_clocks $keys(-clocks)]
|
||||||
} else {
|
} else {
|
||||||
set clks [all_clocks]
|
set clks [sort_by_name [all_clocks]]
|
||||||
}
|
}
|
||||||
set include_port_paths [info exists flags(-include_port_paths)]
|
set include_port_paths [info exists flags(-include_port_paths)]
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user