3
0
Fork 0
mirror of https://github.com/YosysHQ/yosys synced 2025-07-24 05:08:56 +00:00

xilinx/ice40/ecp5: undo permuting LUT masks in lut_map

Now done in read_aiger
This commit is contained in:
Eddie Hung 2020-01-21 12:29:07 -08:00
parent 48f3f5213e
commit ce6a690d27
4 changed files with 96 additions and 142 deletions

View file

@ -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());