summaryrefslogtreecommitdiff
path: root/passes/memory/memory_bram.cc
diff options
context:
space:
mode:
authorClifford Wolf <clifford@clifford.at>2015-09-24 11:37:15 +0200
committerClifford Wolf <clifford@clifford.at>2015-09-24 11:37:15 +0200
commit3501f8e3643bfb6cd13f8d6e1acb03fa6672fd27 (patch)
treee71a9ebf9901b8d8af579d62b9f2eda9fb8d045b /passes/memory/memory_bram.cc
parent1b8cb9940e7c586b387cb212b4d9b9dbb881d62a (diff)
Fixed memory_bram for ROMs in BRAMs with write-enable inputs
Diffstat (limited to 'passes/memory/memory_bram.cc')
-rw-r--r--passes/memory/memory_bram.cc2
1 files changed, 1 insertions, 1 deletions
diff --git a/passes/memory/memory_bram.cc b/passes/memory/memory_bram.cc
index 824d6a6e..f638b5bb 100644
--- a/passes/memory/memory_bram.cc
+++ b/passes/memory/memory_bram.cc
@@ -433,7 +433,7 @@ bool replace_cell(Cell *cell, const rules_t &rules, const rules_t::bram_t &bram,
SigSpec rd_data = cell->getPort("\\RD_DATA");
SigSpec rd_addr = cell->getPort("\\RD_ADDR");
- if (match.shuffle_enable && bram.dbits >= portinfos.at(match.shuffle_enable - 'A').enable*2 && portinfos.at(match.shuffle_enable - 'A').enable > 0)
+ if (match.shuffle_enable && bram.dbits >= portinfos.at(match.shuffle_enable - 'A').enable*2 && portinfos.at(match.shuffle_enable - 'A').enable > 0 && wr_ports > 0)
{
int bucket_size = bram.dbits / portinfos.at(match.shuffle_enable - 'A').enable;
log(" Shuffle bit order to accommodate enable buckets of size %d..\n", bucket_size);