diff --git a/search/Search.cc b/search/Search.cc index 5b596bcb..4ac9ba8d 100644 --- a/search/Search.cc +++ b/search/Search.cc @@ -2738,8 +2738,10 @@ Search::reportArrivals(Vertex *vertex) const if (exists) report_->print(" / %s", delayAsString(arrivals[req_index], this)); } - report_->print(" %s", tag->asString(this)); - if (tag_group->hasClkTag()) { + report_->print(" %s", tag->asString(true, false, this)); + bool report_clk_prev = false; + if (report_clk_prev + && tag_group->hasClkTag()) { PathVertex prev = check_crpr_->clkPathPrev(vertex, arrival_index); report_->print(" clk_prev=[%s]", prev.isNull() ? "NULL" : prev.name(this)); @@ -2894,10 +2896,7 @@ Search::reportTags() const for (TagIndex i = 0; i < tag_next_; i++) { Tag *tag = tags_[i]; if (tag) - report_->print("Tag %4u %4u %s\n", - tag->index(), - tag->hash() % tag_set_->capacity(), - tag->asString(false, this)) ; + report_->print("%s\n", tag->asString(this)) ; } size_t long_hash = tag_set_->longestBucketHash(); printf("Longest hash bucket length %d hash=%zu\n", diff --git a/search/Tag.cc b/search/Tag.cc index 65ed862c..02ddee98 100644 --- a/search/Tag.cc +++ b/search/Tag.cc @@ -86,11 +86,12 @@ Tag::~Tag() const char * Tag::asString(const StaState *sta) const { - return asString(true, sta); + return asString(true, true, sta); } const char * Tag::asString(bool report_index, + bool report_rf_min_max, const StaState *sta) const { const Network *network = sta->network(); @@ -100,12 +101,14 @@ Tag::asString(bool report_index, if (report_index) str += stringPrintTmp("%4d ", index_); - const RiseFall *rf = transition(); - PathAnalysisPt *path_ap = corners->findPathAnalysisPt(path_ap_index_); - str += stringPrintTmp("%s %s/%d ", - rf->asString(), - path_ap->pathMinMax()->asString(), - path_ap_index_); + if (report_rf_min_max) { + const RiseFall *rf = transition(); + PathAnalysisPt *path_ap = corners->findPathAnalysisPt(path_ap_index_); + str += stringPrintTmp("%s %s/%d ", + rf->asString(), + path_ap->pathMinMax()->asString(), + path_ap_index_); + } ClockEdge *clk_edge = clkEdge(); if (clk_edge) @@ -138,8 +141,8 @@ Tag::asString(bool report_index, const PathVertex crpr_clk_path(clk_info_->crprClkPath(), sta); if (!crpr_clk_path.isNull()) { - str += " crpr_clk "; - str += crpr_clk_path.name(sta); + str += " crpr_pin "; + str += network->pathName(crpr_clk_path.pin(sta)); } if (input_delay_) { diff --git a/search/Tag.hh b/search/Tag.hh index b350cb3c..ed2a6e90 100644 --- a/search/Tag.hh +++ b/search/Tag.hh @@ -57,6 +57,7 @@ public: ~Tag(); const char *asString(const StaState *sta) const; const char *asString(bool report_index, + bool report_rf_min_max, const StaState *sta) const; ClkInfo *clkInfo() const { return clk_info_; } bool isClock() const { return is_clk_; }