tag reporting
This commit is contained in:
parent
bf3d254fe9
commit
6bf839435d
|
|
@ -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",
|
||||
|
|
|
|||
|
|
@ -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_) {
|
||||
|
|
|
|||
|
|
@ -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_; }
|
||||
|
|
|
|||
Loading…
Reference in New Issue