aboutsummaryrefslogtreecommitdiffstats
path: root/passes
diff options
context:
space:
mode:
authorEddie Hung <eddie@fpgeh.com>2019-12-31 16:12:40 -0800
committerEddie Hung <eddie@fpgeh.com>2019-12-31 16:12:40 -0800
commitcac7f5d82eb2760bcc248d15315b0d8460c92cb0 (patch)
treec245e915251ef6f574579119e73565307c687f6d /passes
parent6b825c719b5bf6f63d3397cfadf8293b5d14dde6 (diff)
downloadyosys-cac7f5d82eb2760bcc248d15315b0d8460c92cb0.tar.gz
yosys-cac7f5d82eb2760bcc248d15315b0d8460c92cb0.tar.bz2
yosys-cac7f5d82eb2760bcc248d15315b0d8460c92cb0.zip
Do not re-order carry chain ports, just precompute iteration order
Diffstat (limited to 'passes')
-rw-r--r--passes/techmap/abc9.cc22
1 files changed, 0 insertions, 22 deletions
diff --git a/passes/techmap/abc9.cc b/passes/techmap/abc9.cc
index b63a1aa6c..1ae1637bd 100644
--- a/passes/techmap/abc9.cc
+++ b/passes/techmap/abc9.cc
@@ -1003,28 +1003,6 @@ struct Abc9Pass : public Pass {
log_error("Module '%s' contains an 'abc9_carry' input port but no output port.\n", log_id(m));
if (!carry_in && carry_out)
log_error("Module '%s' contains an 'abc9_carry' output port but no input port.\n", log_id(m));
- // Make carry_in the last PI, and carry_out the last PO
- // since ABC requires it this way
- auto &ports = m->ports;
- for (auto it = ports.begin(); it != ports.end(); ) {
- RTLIL::Wire* w = m->wire(*it);
- log_assert(w);
- if (w == carry_in || w == carry_out) {
- it = ports.erase(it);
- continue;
- }
- if (w->port_id > carry_in->port_id)
- --w->port_id;
- if (w->port_id > carry_out->port_id)
- --w->port_id;
- log_assert(w->port_input || w->port_output);
- log_assert(ports[w->port_id-1] == w->name);
- ++it;
- }
- ports.push_back(carry_in->name);
- carry_in->port_id = ports.size();
- ports.push_back(carry_out->name);
- carry_out->port_id = ports.size();
}
}