aboutsummaryrefslogtreecommitdiffstats
path: root/passes/opt
diff options
context:
space:
mode:
authorMarcelina Koƛcielnicka <mwk@0x04.net>2021-05-26 02:49:50 +0200
committerMarcelina Koƛcielnicka <mwk@0x04.net>2021-05-26 03:34:02 +0200
commit83a218141c1a333b582c257c316ddea63e1ca519 (patch)
tree39045cf09567b257cf5a95c78b2b7c7260ea7638 /passes/opt
parent57ca51be76ec4dc6eba802728ca6407520c704e4 (diff)
downloadyosys-83a218141c1a333b582c257c316ddea63e1ca519.tar.gz
yosys-83a218141c1a333b582c257c316ddea63e1ca519.tar.bz2
yosys-83a218141c1a333b582c257c316ddea63e1ca519.zip
kernel/mem: Add sub_addr helpers.
Diffstat (limited to 'passes/opt')
-rw-r--r--passes/opt/opt_mem_feedback.cc8
1 files changed, 2 insertions, 6 deletions
diff --git a/passes/opt/opt_mem_feedback.cc b/passes/opt/opt_mem_feedback.cc
index 8e93c93b9..131103843 100644
--- a/passes/opt/opt_mem_feedback.cc
+++ b/passes/opt/opt_mem_feedback.cc
@@ -145,9 +145,7 @@ struct OptMemFeedbackWorker
continue;
for (int sub = 0; sub < (1 << port.wide_log2); sub++) {
- SigSpec addr = sigmap_xmux(port.addr);
- for (int i = 0; i < port.wide_log2; i++)
- addr[i] = State(sub >> i & 1);
+ SigSpec addr = sigmap_xmux(port.sub_addr(sub));
async_rd_bits[addr].resize(mem.width);
for (int i = 0; i < mem.width; i++)
async_rd_bits[addr][i].insert(sigmap(port.data[i + sub * mem.width]));
@@ -168,9 +166,7 @@ struct OptMemFeedbackWorker
for (int sub = 0; sub < (1 << port.wide_log2); sub++)
{
- SigSpec addr = sigmap_xmux(port.addr);
- for (int k = 0; k < port.wide_log2; k++)
- addr[k] = State(sub >> k & 1);
+ SigSpec addr = sigmap_xmux(port.sub_addr(sub));
if (!async_rd_bits.count(addr))
continue;