Added addBufGate module method
authorClifford Wolf <clifford@clifford.at>
Tue, 2 Feb 2016 10:26:07 +0000 (11:26 +0100)
committerClifford Wolf <clifford@clifford.at>
Tue, 2 Feb 2016 10:26:07 +0000 (11:26 +0100)
frontends/verific/verific.cc
kernel/rtlil.cc
kernel/rtlil.h

index 45cd4f3fc9d0244ca85e4fe976631f87c48360a4..1ec6a7c0a3782dc65cda7d04ac010597e2fa3e61 100644 (file)
@@ -186,6 +186,11 @@ static bool import_netlist_instance_gates(RTLIL::Module *module, std::map<Net*,
                return true;
        }
 
+       if (inst->Type() == PRIM_BUF) {
+               module->addBufGate(RTLIL::escape_id(inst->Name()), net_map.at(inst->GetInput()), net_map.at(inst->GetOutput()));
+               return true;
+       }
+
        if (inst->Type() == PRIM_INV) {
                module->addNotGate(RTLIL::escape_id(inst->Name()), net_map.at(inst->GetInput()), net_map.at(inst->GetOutput()));
                return true;
index 1f3f789990ba7648bb753b0a6b76b65d2370020f..a706491e8c8618eb6e7f8bc68b59c5c0e8d93fa5 100644 (file)
@@ -1702,6 +1702,7 @@ DEF_METHOD(Pmux,     "$pmux",       1)
                add ## _func(name, sig1, sig2, sig3, sig4, sig5); \
                return sig5;                                      \
        }
+DEF_METHOD_2(BufGate,  "$_BUF_",  A, Y)
 DEF_METHOD_2(NotGate,  "$_NOT_",  A, Y)
 DEF_METHOD_3(AndGate,  "$_AND_",  A, B, Y)
 DEF_METHOD_3(NandGate, "$_NAND_", A, B, Y)
index 3fc280032ba40184d3aafed30cbc5aa0d56f820b..940e36ab36074ced267dfadc4a19ab8b8740c4dc 100644 (file)
@@ -1016,6 +1016,7 @@ public:
        RTLIL::Cell* addDlatchsr (RTLIL::IdString name, RTLIL::SigSpec sig_en, RTLIL::SigSpec sig_set, RTLIL::SigSpec sig_clr,
                        RTLIL::SigSpec sig_d, RTLIL::SigSpec sig_q, bool en_polarity = true, bool set_polarity = true, bool clr_polarity = true);
 
+       RTLIL::Cell* addBufGate  (RTLIL::IdString name, RTLIL::SigBit sig_a, RTLIL::SigBit sig_y);
        RTLIL::Cell* addNotGate  (RTLIL::IdString name, RTLIL::SigBit sig_a, RTLIL::SigBit sig_y);
        RTLIL::Cell* addAndGate  (RTLIL::IdString name, RTLIL::SigBit sig_a, RTLIL::SigBit sig_b, RTLIL::SigBit sig_y);
        RTLIL::Cell* addNandGate (RTLIL::IdString name, RTLIL::SigBit sig_a, RTLIL::SigBit sig_b, RTLIL::SigBit sig_y);
@@ -1087,6 +1088,7 @@ public:
        RTLIL::SigSpec Mux      (RTLIL::IdString name, RTLIL::SigSpec sig_a, RTLIL::SigSpec sig_b, RTLIL::SigSpec sig_s);
        RTLIL::SigSpec Pmux     (RTLIL::IdString name, RTLIL::SigSpec sig_a, RTLIL::SigSpec sig_b, RTLIL::SigSpec sig_s);
 
+       RTLIL::SigBit BufGate  (RTLIL::IdString name, RTLIL::SigBit sig_a);
        RTLIL::SigBit NotGate  (RTLIL::IdString name, RTLIL::SigBit sig_a);
        RTLIL::SigBit AndGate  (RTLIL::IdString name, RTLIL::SigBit sig_a, RTLIL::SigBit sig_b);
        RTLIL::SigBit NandGate (RTLIL::IdString name, RTLIL::SigBit sig_a, RTLIL::SigBit sig_b);