aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEddie Hung <eddie@fpgeh.com>2019-05-30 16:02:40 -0700
committerEddie Hung <eddie@fpgeh.com>2019-05-30 16:02:40 -0700
commita41553a86125d58a0811975aa8636388615ba239 (patch)
tree182f9ed3667ab6c1381913cf85f161470a06347f
parent4a6b9af227cb22e89fd463c665016544060d2acd (diff)
downloadyosys-a41553a86125d58a0811975aa8636388615ba239.tar.gz
yosys-a41553a86125d58a0811975aa8636388615ba239.tar.bz2
yosys-a41553a86125d58a0811975aa8636388615ba239.zip
read_xaiger() to name box signals
-rw-r--r--frontends/aiger/aigerparse.cc12
1 files changed, 8 insertions, 4 deletions
diff --git a/frontends/aiger/aigerparse.cc b/frontends/aiger/aigerparse.cc
index 7adfacb53..399e46737 100644
--- a/frontends/aiger/aigerparse.cc
+++ b/frontends/aiger/aigerparse.cc
@@ -689,23 +689,27 @@ void AigerReader::post_process()
RTLIL::Wire* w = box_module->wire(port_name);
log_assert(w);
RTLIL::SigSpec rhs;
+ RTLIL::Wire* wire = nullptr;
for (int i = 0; i < GetSize(w); i++) {
if (w->port_input) {
log_assert(static_cast<unsigned>(co_count) < outputs.size());
- RTLIL::Wire* wire = outputs[co_count++];
+ wire = outputs[co_count++];
log_assert(wire);
log_assert(wire->port_output);
wire->port_output = false;
- rhs.append(wire);
}
if (w->port_output) {
log_assert(static_cast<unsigned>(pi_count + ci_count) < inputs.size());
- RTLIL::Wire* wire = inputs[pi_count + ci_count++];
+ wire = inputs[pi_count + ci_count++];
log_assert(wire);
log_assert(wire->port_input);
wire->port_input = false;
- rhs.append(wire);
}
+ rhs.append(wire);
+ if (GetSize(w) == 1)
+ module->rename(wire, RTLIL::escape_id(stringf("%s.%s", log_id(cell), log_id(port_name))));
+ else
+ module->rename(wire, RTLIL::escape_id(stringf("%s.%s[%d]", log_id(cell), log_id(port_name), i)));
}
cell->setPort(port_name, rhs);
}