diff options
author | David Shah <dave@ds0.me> | 2020-04-10 21:48:04 +0100 |
---|---|---|
committer | David Shah <dave@ds0.me> | 2020-04-10 21:48:04 +0100 |
commit | 85672a6c1fd2d99cc1e5690ab978625e78ccc95d (patch) | |
tree | ccedbbd89f5c19e2f0ab77735d5f088899ed2708 /passes | |
parent | 93ef516d919b40ace2099bc7586bfda8648f0757 (diff) | |
download | yosys-85672a6c1fd2d99cc1e5690ab978625e78ccc95d.tar.gz yosys-85672a6c1fd2d99cc1e5690ab978625e78ccc95d.tar.bz2 yosys-85672a6c1fd2d99cc1e5690ab978625e78ccc95d.zip |
memory_bram: Fix ignorance of valid, matched rules
Signed-off-by: David Shah <dave@ds0.me>
Diffstat (limited to 'passes')
-rw-r--r-- | passes/memory/memory_bram.cc | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/passes/memory/memory_bram.cc b/passes/memory/memory_bram.cc index a25b4536a..0898ec288 100644 --- a/passes/memory/memory_bram.cc +++ b/passes/memory/memory_bram.cc @@ -1102,9 +1102,6 @@ void handle_cell(Cell *cell, const rules_t &rules) auto &bram = rules.brams.at(match.name).at(vi); bool or_next_if_better = match.or_next_if_better || vi+1 < GetSize(rules.brams.at(match.name)); - if (failed_brams.count(pair<IdString, int>(bram.name, bram.variant))) - continue; - int avail_rd_ports = 0; int avail_wr_ports = 0; for (int j = 0; j < bram.groups; j++) { @@ -1140,6 +1137,9 @@ void handle_cell(Cell *cell, const rules_t &rules) int efficiency = (100 * match_properties["bits"]) / (dups * cells * bram.dbits * (1 << bram.abits)); match_properties["efficiency"] = efficiency; + if (failed_brams.count(pair<IdString, int>(bram.name, bram.variant))) + goto next_match_rule; + log(" Metrics for %s: awaste=%d dwaste=%d bwaste=%d waste=%d efficiency=%d\n", log_id(match.name), awaste, dwaste, bwaste, waste, efficiency); |