report_tag_arrivals

Signed-off-by: James Cherry <cherry@CerezoBook.local>
This commit is contained in:
James Cherry 2026-05-28 12:43:10 -07:00
parent 0c243b564b
commit 8f84d721f3
4 changed files with 21 additions and 9 deletions

View File

@ -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();

View File

@ -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);
}
}

View File

@ -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

View File

@ -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
}
}