aboutsummaryrefslogtreecommitdiffstats
path: root/common/timing.cc
diff options
context:
space:
mode:
authorEddie Hung <eddieh@ece.ubc.ca>2018-11-13 14:14:51 -0800
committerEddie Hung <eddieh@ece.ubc.ca>2018-11-13 14:14:51 -0800
commit9f13bc7eb0f5045f82360c7b6d686cfe0b6c8e01 (patch)
tree3c22a72aa8782d14e2b16b20f704ff25a1b4af0e /common/timing.cc
parentc5ba77e06bc49dbf880f5f034cb900b7b7d41241 (diff)
downloadnextpnr-9f13bc7eb0f5045f82360c7b6d686cfe0b6c8e01.tar.gz
nextpnr-9f13bc7eb0f5045f82360c7b6d686cfe0b6c8e01.tar.bz2
nextpnr-9f13bc7eb0f5045f82360c7b6d686cfe0b6c8e01.zip
[timing] Crit path report to print out edges
Diffstat (limited to 'common/timing.cc')
-rw-r--r--common/timing.cc7
1 files changed, 4 insertions, 3 deletions
diff --git a/common/timing.cc b/common/timing.cc
index 4c6ed9f5..b5ebe488 100644
--- a/common/timing.cc
+++ b/common/timing.cc
@@ -601,6 +601,7 @@ void timing_analysis(Context *ctx, bool print_histogram, bool print_fmax, bool p
}
}
+ log_info("curr total\n");
for (auto sink : crit_path) {
auto sink_cell = sink->cell;
auto &port = sink_cell->ports.at(sink->port);
@@ -631,8 +632,9 @@ void timing_analysis(Context *ctx, bool print_histogram, bool print_fmax, bool p
for (auto &clock : clock_reports) {
log_break();
- log_info("Critical path report for clock '%s':\n", clock.first.c_str(ctx));
- log_info("curr total\n");
+ std::string start = clock.second.first.start.edge == FALLING_EDGE ? std::string("negedge") : std::string("posedge");
+ std::string end = clock.second.first.end.edge == FALLING_EDGE ? std::string("negedge") : std::string("posedge");
+ log_info("Critical path report for clock '%s' (%s -> %s):\n", clock.first.c_str(ctx), start.c_str(), end.c_str());
auto &crit_path = clock.second.second.ports;
print_path_report(clock.second.first, crit_path);
}
@@ -642,7 +644,6 @@ void timing_analysis(Context *ctx, bool print_histogram, bool print_fmax, bool p
std::string start = format_event(xclock.start);
std::string end = format_event(xclock.end);
log_info("Critical path report for cross-domain path '%s' -> '%s':\n", start.c_str(), end.c_str());
- log_info("curr total\n");
auto &crit_path = crit_paths.at(xclock).ports;
print_path_report(xclock, crit_path);
}