aboutsummaryrefslogtreecommitdiffstats
path: root/frontends/aiger
diff options
context:
space:
mode:
authorEddie Hung <eddie@fpgeh.com>2020-01-21 12:29:07 -0800
committerEddie Hung <eddie@fpgeh.com>2020-01-27 13:30:27 -0800
commitce6a690d27f3ce3b637f1d9be42b1efd744500d2 (patch)
treea369f2a8eef142f5dab828778cfa7eab8b20e363 /frontends/aiger
parent48f3f5213eb25237b2e856827a45a9f2baefebe9 (diff)
downloadyosys-ce6a690d27f3ce3b637f1d9be42b1efd744500d2.tar.gz
yosys-ce6a690d27f3ce3b637f1d9be42b1efd744500d2.tar.bz2
yosys-ce6a690d27f3ce3b637f1d9be42b1efd744500d2.zip
xilinx/ice40/ecp5: undo permuting LUT masks in lut_map
Now done in read_aiger
Diffstat (limited to 'frontends/aiger')
-rw-r--r--frontends/aiger/aigerparse.cc6
1 files changed, 4 insertions, 2 deletions
diff --git a/frontends/aiger/aigerparse.cc b/frontends/aiger/aigerparse.cc
index 418fd722c..f92a11c6d 100644
--- a/frontends/aiger/aigerparse.cc
+++ b/frontends/aiger/aigerparse.cc
@@ -410,7 +410,7 @@ void AigerReader::parse_xaiger()
RTLIL::Wire *output_sig = module->wire(stringf("$aiger%d$%d", aiger_autoidx, rootNodeID));
log_assert(output_sig);
uint32_t nodeID;
- RTLIL::SigSpec input_sig;
+ std::vector<SigBit> input_bits;
for (unsigned j = 0; j < cutLeavesM; ++j) {
nodeID = parse_xaiger_literal(f);
log_debug2("\t%u\n", nodeID);
@@ -420,8 +420,10 @@ void AigerReader::parse_xaiger()
}
RTLIL::Wire *wire = module->wire(stringf("$aiger%d$%d", aiger_autoidx, nodeID));
log_assert(wire);
- input_sig.append(wire);
+ input_bits.push_back(wire);
}
+ // Reverse input order as fastest input is returned first
+ RTLIL::SigSpec input_sig(std::vector<SigBit>(input_bits.rbegin(), input_bits.rend()));
// TODO: Compute LUT mask from AIG in less than O(2 ** input_sig.size())
ce.clear();
ce.compute_deps(output_sig, input_sig.to_sigbit_pool());