diff --git a/src/V3Tristate.cpp b/src/V3Tristate.cpp index e77209362..ef34bd8c3 100644 --- a/src/V3Tristate.cpp +++ b/src/V3Tristate.cpp @@ -58,6 +58,7 @@ #include "V3Ast.h" #include "V3Const.h" #include "V3Stats.h" +#include "V3Inst.h" //###################################################################### @@ -545,6 +546,9 @@ private: refp->user1p(enp); refp->varp()->user1p(enp); } + // Simplify interconnect in preperation for V3Inst + // (This could be a separate visitor, but we're in the neighborhood) + V3Inst::pinReconnectSimple(nodep, m_cellp, m_modp); } // Default: Just iterate diff --git a/src/Verilator.cpp b/src/Verilator.cpp index f71c0944a..3dd996878 100644 --- a/src/Verilator.cpp +++ b/src/Verilator.cpp @@ -193,6 +193,8 @@ void process () { V3Inst::dearrayAll(v3Global.rootp()); //v3Global.rootp()->dumpTreeFile(v3Global.debugFilename("dearray.tree")); + // Expand inouts, stage 2 + // Also simplify pin connections to always be AssignWs in prep for V3Unknown V3Tristate::tristateAll(v3Global.rootp()); v3Global.rootp()->dumpTreeFile(v3Global.debugFilename("tristate.tree"));