aboutsummaryrefslogtreecommitdiffstats
path: root/passes/pmgen
diff options
context:
space:
mode:
authorClifford Wolf <clifford@clifford.at>2019-08-23 16:26:54 +0200
committerClifford Wolf <clifford@clifford.at>2019-08-23 16:26:54 +0200
commit55bf8f69e085caa0a3f0ccae8bf231f77aba6bbc (patch)
tree9a04b631aa9e8d2ebb847a9efb85ce68def996c6 /passes/pmgen
parentadb81ba3861d66a94f237fd29a67b8978980cd37 (diff)
downloadyosys-55bf8f69e085caa0a3f0ccae8bf231f77aba6bbc.tar.gz
yosys-55bf8f69e085caa0a3f0ccae8bf231f77aba6bbc.tar.bz2
yosys-55bf8f69e085caa0a3f0ccae8bf231f77aba6bbc.zip
Fix port hanlding in pmgen
Signed-off-by: Clifford Wolf <clifford@clifford.at>
Diffstat (limited to 'passes/pmgen')
-rw-r--r--passes/pmgen/pmgen.py7
1 files changed, 3 insertions, 4 deletions
diff --git a/passes/pmgen/pmgen.py b/passes/pmgen/pmgen.py
index c2621393d..573722d68 100644
--- a/passes/pmgen/pmgen.py
+++ b/passes/pmgen/pmgen.py
@@ -422,8 +422,6 @@ with open(outfile, "w") as f:
print(" void add_siguser(const SigSpec &sig, Cell *cell) {", file=f)
print(" for (auto bit : sigmap(sig)) {", file=f)
print(" if (bit.wire == nullptr) continue;", file=f)
- print(" if (sigusers.count(bit) == 0 && bit.wire->port_id)", file=f)
- print(" sigusers[bit].insert(nullptr);", file=f)
print(" sigusers[bit].insert(cell);", file=f)
print(" }", file=f)
print(" }", file=f)
@@ -478,10 +476,11 @@ with open(outfile, "w") as f:
else:
print(" ud_{}.{} = {}();".format(current_pattern, s, t), file=f)
current_pattern = None
- print(" for (auto cell : module->cells()) {", file=f)
+ print(" for (auto port : module->ports)", file=f)
+ print(" add_siguser(module->wire(port), nullptr);", file=f)
+ print(" for (auto cell : module->cells())", file=f)
print(" for (auto &conn : cell->connections())", file=f)
print(" add_siguser(conn.second, cell);", file=f)
- print(" }", file=f)
print(" for (auto cell : cells) {", file=f)
for index in range(len(blocks)):