Add handling of verific OPER_SELECTOR and OPER_WIDE_SELECTOR
authorClifford Wolf <clifford@clifford.at>
Mon, 26 Feb 2018 14:20:27 +0000 (15:20 +0100)
committerClifford Wolf <clifford@clifford.at>
Mon, 26 Feb 2018 14:20:27 +0000 (15:20 +0100)
Signed-off-by: Clifford Wolf <clifford@clifford.at>
frontends/verific/verific.cc

index 4c28d4c43e9a30d8d21442367c37f8453fa2b3fd..1a16f7508033af84560888e1c9f1d3558191d128 100644 (file)
@@ -569,6 +569,19 @@ bool VerificImporter::import_netlist_instance_cells(Instance *inst, RTLIL::IdStr
                return true;
        }
 
+       if (inst->Type() == OPER_SELECTOR)
+       {
+               module->addPmux(inst_name, State::S0, IN2, IN1, net_map_at(inst->GetOutput()));
+               return true;
+       }
+
+       if (inst->Type() == OPER_WIDE_SELECTOR)
+       {
+               SigSpec out = OUT;
+               module->addPmux(inst_name, SigSpec(State::S0, GetSize(out)), IN2, IN1, out);
+               return true;
+       }
+
        if (inst->Type() == OPER_WIDE_TRI) {
                module->addMux(inst_name, RTLIL::SigSpec(RTLIL::State::Sz, inst->OutputSize()), IN, net_map_at(inst->GetControl()), OUT);
                return true;