diff options
Diffstat (limited to 'common/timing.cc')
-rw-r--r-- | common/timing.cc | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/common/timing.cc b/common/timing.cc index d110498c..0cdb5be2 100644 --- a/common/timing.cc +++ b/common/timing.cc @@ -1315,6 +1315,8 @@ void timing_analysis(Context *ctx, bool print_histogram, bool print_fmax, bool p if (print_fmax) { log_break(); unsigned max_width = 0; + auto &result = ctx->timing_result; + result.clock_fmax.clear(); for (auto &clock : clock_reports) max_width = std::max<unsigned>(max_width, clock.first.str(ctx).size()); for (auto &clock : clock_reports) { @@ -1324,6 +1326,9 @@ void timing_analysis(Context *ctx, bool print_histogram, bool print_fmax, bool p if (ctx->nets.at(clock.first)->clkconstr) target = 1000 / ctx->getDelayNS(ctx->nets.at(clock.first)->clkconstr->period.minDelay()); + result.clock_fmax[clock.first].achieved = clock_fmax[clock.first]; + result.clock_fmax[clock.first].constraint = target; + bool passed = target < clock_fmax[clock.first]; if (!warn_on_failure || passed) log_info("Max frequency for clock %*s'%s': %.02f MHz (%s at %.02f MHz)\n", width, "", |