aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEddie Hung <eddieh@ece.ubc.ca>2019-02-09 10:16:23 -0800
committerGitHub <noreply@github.com>2019-02-09 10:16:23 -0800
commita520b38424531e83ef47d2c37aab17a2bc764765 (patch)
tree80fb75d2aac2d81685872013549a03fcc6c9f4d6
parent54820974bb98ef0909bd8c36811b88594389e413 (diff)
parent3927f8c9c08d8a6fafc42c4aa37664315e30a098 (diff)
downloadnextpnr-a520b38424531e83ef47d2c37aab17a2bc764765.tar.gz
nextpnr-a520b38424531e83ef47d2c37aab17a2bc764765.tar.bz2
nextpnr-a520b38424531e83ef47d2c37aab17a2bc764765.zip
Merge pull request #226 from YosysHQ/190207
Fix slack_histogram computation accessing num_bins+1
-rw-r--r--common/timing.cc3
1 files changed, 1 insertions, 2 deletions
diff --git a/common/timing.cc b/common/timing.cc
index 13f0e07b..8a48b761 100644
--- a/common/timing.cc
+++ b/common/timing.cc
@@ -930,8 +930,7 @@ void timing_analysis(Context *ctx, bool print_histogram, bool print_fmax, bool p
unsigned bar_width = 60;
auto min_slack = slack_histogram.begin()->first;
auto max_slack = slack_histogram.rbegin()->first;
- auto bin_size = std::max(1u, (max_slack - min_slack) / num_bins);
- num_bins = std::min((max_slack - min_slack) / bin_size, num_bins) + 1;
+ auto bin_size = std::max<unsigned>(1, ceil((max_slack - min_slack) / float(num_bins)));
std::vector<unsigned> bins(num_bins);
unsigned max_freq = 0;
for (const auto &i : slack_histogram) {