diff options
author | Clifford Wolf <clifford@clifford.at> | 2016-02-02 11:26:07 +0100 |
---|---|---|
committer | Clifford Wolf <clifford@clifford.at> | 2016-02-02 11:26:07 +0100 |
commit | ba407da18793981289d6fa444071a0c8628cb5f3 (patch) | |
tree | a522c74513ff13a331a6cb19e72bc97fbf7c4732 | |
parent | d6592d5b996b1b5af1af701e32cc74694cd491ef (diff) | |
download | yosys-ba407da18793981289d6fa444071a0c8628cb5f3.tar.gz yosys-ba407da18793981289d6fa444071a0c8628cb5f3.tar.bz2 yosys-ba407da18793981289d6fa444071a0c8628cb5f3.zip |
Added addBufGate module method
-rw-r--r-- | frontends/verific/verific.cc | 5 | ||||
-rw-r--r-- | kernel/rtlil.cc | 1 | ||||
-rw-r--r-- | kernel/rtlil.h | 2 |
3 files changed, 8 insertions, 0 deletions
diff --git a/frontends/verific/verific.cc b/frontends/verific/verific.cc index 45cd4f3fc..1ec6a7c0a 100644 --- a/frontends/verific/verific.cc +++ b/frontends/verific/verific.cc @@ -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; diff --git a/kernel/rtlil.cc b/kernel/rtlil.cc index 1f3f78999..a706491e8 100644 --- a/kernel/rtlil.cc +++ b/kernel/rtlil.cc @@ -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) diff --git a/kernel/rtlil.h b/kernel/rtlil.h index 3fc280032..940e36ab3 100644 --- a/kernel/rtlil.h +++ b/kernel/rtlil.h @@ -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); |