From d565906c2b050a58d35895a743c47316880d752f Mon Sep 17 00:00:00 2001 From: James Cherry Date: Mon, 29 Sep 2025 09:48:57 -0700 Subject: [PATCH] tag/glk_info debug Signed-off-by: James Cherry --- search/ClkInfo.cc | 4 +++- search/Latches.cc | 20 ++++++++++++++++++-- search/Tag.cc | 8 ++++++-- 3 files changed, 27 insertions(+), 5 deletions(-) diff --git a/search/ClkInfo.cc b/search/ClkInfo.cc index 3e343b26..76e21287 100644 --- a/search/ClkInfo.cc +++ b/search/ClkInfo.cc @@ -166,8 +166,10 @@ ClkInfo::to_string(const StaState *sta) const const Pin *crpr_clk_pin = crpr_clk_path_.vertex(sta)->pin(); result += " crpr "; result += network->pathName(crpr_clk_pin); - result += "/"; + result += " "; result += std::to_string(crpr_clk_path_.tag(sta)->index()); + result += "/"; + result += crpr_clk_path_.minMax(sta)->to_string(); } if (is_gen_clk_src_path_) diff --git a/search/Latches.cc b/search/Latches.cc index f9328082..7d746e25 100644 --- a/search/Latches.cc +++ b/search/Latches.cc @@ -75,6 +75,8 @@ Latches::latchRequired(const Path *data_path, time_given_to_startpoint = 0.0; } else if (enable_path && disable_path) { + debugPrint(debug_, "latch", 1, "latch %s", + sdc_network_->pathName(data_path->pin(this))); Delay open_latency, latency_diff, max_borrow; float nom_pulse_width, open_uncertainty; Crpr open_crpr, crpr_diff; @@ -102,8 +104,7 @@ Latches::latchRequired(const Path *data_path, + PathEnd::checkSetupMcpAdjustment(data_clk_edge, enable_clk_edge, mcp, 1, sdc_) + open_crpr; - debugPrint(debug_, "latch", 1, "latch data %s %s enable %s", - network_->pathName(data_path->pin(this)), + debugPrint(debug_, "latch", 1, "data %s enable %s", delayAsString(data_arrival, this), delayAsString(enable_arrival, this)); if (delayLessEqual(data_arrival, enable_arrival, this)) { @@ -145,6 +146,11 @@ Latches::latchRequired(const Path *data_path, adjusted_data_arrival = data_arrival; time_given_to_startpoint = 0.0; } + debugPrint(debug_, "latch", 2, "req %s borrow %s time_given %s adj_arrival %s", + delayAsString(required, this), + delayAsString(borrow, this), + delayAsString(time_given_to_startpoint, this), + delayAsString(adjusted_data_arrival, this)); } void @@ -209,6 +215,16 @@ Latches::latchBorrowInfo(const Path *data_path, open_crpr = 0.0; crpr_diff = 0.0; } + debugPrint(debug_, "latch", 2, "nom_width %s open_lat %s lat_diff %s open_uncert %s", + delayAsString(nom_pulse_width, this), + delayAsString(open_latency, this), + delayAsString(latency_diff, this), + delayAsString(open_uncertainty, this)); + debugPrint(debug_, "latch", 2, "open_crpr %s crpr_diff %s open_uncert %s max_borrow %s", + delayAsString(open_crpr, this), + delayAsString(crpr_diff, this), + delayAsString(open_uncertainty, this), + borrow_limit_exists ? delayAsString(max_borrow, this) : "none"); } void diff --git a/search/Tag.cc b/search/Tag.cc index 0ebfde38..32a29420 100644 --- a/search/Tag.cc +++ b/search/Tag.cc @@ -138,11 +138,15 @@ Tag::to_string(bool report_index, result += network->pathName(clk_src); } + result += " crpr_pin "; const Path *crpr_clk_path = clk_info_->crprClkPath(sta); - if (crpr_clk_path != nullptr) { - result += " crpr_pin "; + if (crpr_clk_path) { result += network->pathName(crpr_clk_path->pin(sta)); + result += " "; + result += crpr_clk_path->minMax(sta)->to_string(); } + else + result += "null"; if (input_delay_) { result += " input ";