diff --git a/include/sta/Search.hh b/include/sta/Search.hh index 841dbe6b..4dc40efe 100644 --- a/include/sta/Search.hh +++ b/include/sta/Search.hh @@ -353,7 +353,8 @@ public: TagGroup *tagGroup(const Vertex *vertex) const; TagGroup *tagGroup(TagGroupIndex index) const; void reportArrivals(Vertex *vertex, - bool report_tag_index) const; + bool report_tag_index, + int digits) const; Slack wnsSlack(Vertex *vertex, PathAPIndex path_ap_index); void levelsChangedBefore(); diff --git a/search/Search.cc b/search/Search.cc index ee735a0c..1ab8c639 100644 --- a/search/Search.cc +++ b/search/Search.cc @@ -2754,7 +2754,8 @@ ReportPathLess::operator()(const Path *path1, void Search::reportArrivals(Vertex *vertex, - bool report_tag_index) const + bool report_tag_index, + int digits) const { report_->report("Vertex {}", vertex->to_string(this)); TagGroup *tag_group = tagGroup(vertex); @@ -2771,7 +2772,6 @@ Search::reportArrivals(Vertex *vertex, for (const Path *path : paths) { const Tag *tag = path->tag(this); const RiseFall *rf = tag->transition(); - std::string req = delayAsString(path->required(), this); bool report_prev = false; std::string prev_str; if (report_prev) { @@ -2791,7 +2791,8 @@ Search::reportArrivals(Vertex *vertex, } report_->report(" {} {} {} / {} {}{}", rf->shortName(), path->minMax(this)->to_string(), - delayAsString(path->arrival(), this), req, + delayAsString(path->arrival(), digits, this), + delayAsString(path->required(), digits, this), tag->to_string(report_tag_index, false, this), prev_str); } } diff --git a/search/Search.i b/search/Search.i index dbf3dc0f..6f0376de 100644 --- a/search/Search.i +++ b/search/Search.i @@ -269,9 +269,10 @@ report_tag_groups() void report_tag_arrivals_cmd(Vertex *vertex, - bool report_tag_index) + bool report_tag_index, + int digits) { - Sta::sta()->search()->reportArrivals(vertex, report_tag_index); + Sta::sta()->search()->reportArrivals(vertex, report_tag_index, digits); } void diff --git a/search/Search.tcl b/search/Search.tcl index 6d3c7223..066b922b 100644 --- a/search/Search.tcl +++ b/search/Search.tcl @@ -805,10 +805,19 @@ proc report_slack { args } { ################################################################ # Internal debugging command. -proc report_tag_arrivals { pin } { - set pin [get_port_pin_error "pin" $pin] +proc report_tag_arrivals { args } { + global sta_report_default_digits + + parse_key_args "report_tag_arrivals" args keys {-digits} flags {} + set pin [get_port_pin_error "pin" [lindex $args 0]] + if [info exists keys(-digits)] { + set digits $keys(-digits) + check_positive_integer "-digits" $digits + } else { + set digits $sta_report_default_digits + } foreach vertex [$pin vertices] { - report_tag_arrivals_cmd $vertex 1 + report_tag_arrivals_cmd $vertex 1 $digits } }