mirror of
https://github.com/The-OpenROAD-Project/OpenSTA.git
synced 2026-05-30 00:24:12 +08:00
path enum small speedups
Signed-off-by: James Cherry <cherry@parallaxsw.com>
This commit is contained in:
@@ -555,13 +555,13 @@ PathEnum::makeDivertedPath(Path *path,
|
||||
prev_copy->setPrevPath(copy);
|
||||
copies.push_back(copy);
|
||||
|
||||
if (Path::equal(p, after_div, this))
|
||||
if (p == after_div)
|
||||
after_div_copy = copy;
|
||||
if (first)
|
||||
div_path = copy;
|
||||
else if (network_->isLatchData(p->pin(this)))
|
||||
break;
|
||||
if (Path::equal(p, before_div, this)) {
|
||||
if (p == before_div) {
|
||||
// Replaced on next pass.
|
||||
copy->setPrevPath(after_div);
|
||||
copy->setPrevEdgeArc(div_edge, div_arc, this);
|
||||
@@ -603,12 +603,14 @@ PathEnum::updatePathHeadDelays(PathSeq &paths,
|
||||
delayAsString(arrival, this));
|
||||
path->setArrival(arrival);
|
||||
prev_arrival = arrival;
|
||||
const Tag *tag = path->tag(this);
|
||||
const ClkInfo *clk_info = tag->clkInfo();
|
||||
if (sdc_->crprActive()
|
||||
&& clk_info != prev_clk_info
|
||||
// D->Q paths use the EN->Q clk info so no need to update.
|
||||
&& arc->role() != TimingRole::latchDtoQ()) {
|
||||
// When crpr is enabled the diverion may be from another crpr clk pin,
|
||||
// so update the tags to use the corresponding ClkInfo.
|
||||
Tag *tag = path->tag(this);
|
||||
Tag *updated_tag = search_->findTag(path->transition(this),
|
||||
path_ap,
|
||||
prev_clk_info,
|
||||
|
||||
Reference in New Issue
Block a user