diff --git a/Changes b/Changes index e3d23ce0c..981f6211e 100644 --- a/Changes +++ b/Changes @@ -20,6 +20,7 @@ Verilator 4.205 devel * Optimize a lot more model variables into function locals (#3027). [Geza Lore] * Remove deprecated --no-relative-cfuncs option (#3024). [Geza Lore] +* Remove deprecated --inhibit-sim option (#3035). [Geza Lore] * Merge const static data globally into a new constant pool (#3013). [Geza Lore] * Allow configure override of AR program (#2999). [ahouska] * In XML, show pinIndex information (#2877). [errae233] diff --git a/bin/verilator b/bin/verilator index 752412a3c..0e7dddd1b 100755 --- a/bin/verilator +++ b/bin/verilator @@ -332,7 +332,6 @@ detailed descriptions of these arguments. --gate-stmts Tune gate optimizer depth --if-depth Tune IFDEPTH warning +incdir+ Directory to search for includes - --inhibit-sim Create function to turn off sim --inline-mult Tune module inlining -LDFLAGS Linker pre-object arguments for makefile --l2-name Verilog scope name of the top module diff --git a/docs/guide/deprecations.rst b/docs/guide/deprecations.rst index 2bc811c1a..aa9fcb5df 100644 --- a/docs/guide/deprecations.rst +++ b/docs/guide/deprecations.rst @@ -11,10 +11,6 @@ C++11 compiler support require C++14 or newer compilers for both compiling Verilator and compiling Verilated models no sooner than January 2022. -Inhibit-Sim Option - The :vlopt:`--inhibit-sim` option is planned for removal no sooner than - July 2021. - Configuration File -msg The :vlopt:`lint_off` "-msg" option has been replaced with the "-rule" option. "-msg" is planned for removal no sooner than January 2021. diff --git a/docs/guide/exe_verilator.rst b/docs/guide/exe_verilator.rst index 626a6575d..9fc6b68e8 100644 --- a/docs/guide/exe_verilator.rst +++ b/docs/guide/exe_verilator.rst @@ -527,14 +527,6 @@ Summary: See :vlopt:`-y`. -.. option:: --inhibit-sim - - Rarely needed and deprecated. Create a :code:`inhibitSim(bool)` - function to enable and disable evaluation. This allows an upper level - testbench to disable modules that are not important in a given - simulation, without needing to recompile or change the SystemC modules - instantiated. - .. option:: --inline-mult Tune the inlining of modules. The default value of 2000 specifies that up diff --git a/src/V3EmitC.cpp b/src/V3EmitC.cpp index ea505740b..460709e39 100644 --- a/src/V3EmitC.cpp +++ b/src/V3EmitC.cpp @@ -2490,11 +2490,6 @@ void EmitCImp::emitCtorImp(AstNodeModule* modp) { emitSensitives(); - putsDecoration("// Reset internal values\n"); - if (modp->isTop()) { - if (v3Global.opt.inhibitSim()) puts("__Vm_inhibitSim = false;\n"); - puts("\n"); - } putsDecoration("// Reset structure values\n"); puts(modName + "__" + protect("_ctor_var_reset") + "(this);\n"); emitTextSection(AstType::atScCtor); @@ -2644,7 +2639,6 @@ void EmitCImp::emitSavableImp(AstNodeModule* modp) { puts("os " + op + " vlSymsp->_vm_contextp__;\n"); // Save all members - if (v3Global.opt.inhibitSim()) puts("os" + op + "__Vm_inhibitSim;\n"); for (AstNode* nodep = modp->stmtsp(); nodep; nodep = nodep->nextp()) { if (const AstVar* varp = VN_CAST(nodep, Var)) { if (varp->isIO() && modp->isTop() && optSystemC()) { @@ -2830,7 +2824,6 @@ void EmitCImp::emitWrapEval() { putsDecoration("// Initialize\n"); puts("if (VL_UNLIKELY(!vlSymsp->__Vm_didInit)) " + protect("_eval_initial_loop") + "(this);\n"); - if (v3Global.opt.inhibitSim()) puts("if (VL_UNLIKELY(__Vm_inhibitSim)) return;\n"); if (v3Global.opt.threads() == 1) { uint32_t mtaskId = 0; @@ -3207,9 +3200,6 @@ void EmitCImp::emitInt(AstNodeModule* modp) { } ofp()->putsPrivate(false); // public: if (modp->isTop()) { - if (v3Global.opt.inhibitSim()) { - puts("bool __Vm_inhibitSim; ///< Set true to disable evaluation of module\n"); - } if (v3Global.opt.mtasks()) emitThreadingState(); } emitCoverageDecl(modp); // may flip public/private @@ -3314,10 +3304,6 @@ void EmitCImp::emitInt(AstNodeModule* modp) { "must call on completion.\n"); } puts("void final();\n"); - if (v3Global.opt.inhibitSim()) { - puts("/// Disable evaluation of module (e.g. turn off)\n"); - puts("void inhibitSim(bool flag) { __Vm_inhibitSim = flag; }\n"); - } } puts("\n// INTERNAL METHODS\n"); diff --git a/src/V3Options.cpp b/src/V3Options.cpp index 0944e812b..9fb3da414 100644 --- a/src/V3Options.cpp +++ b/src/V3Options.cpp @@ -1097,10 +1097,6 @@ void V3Options::parseOptsList(FileLine* fl, const string& optdir, int argc, char [this, &optdir](const char* optp) { addIncDirUser(parseFileArg(optdir, optp)); }); DECL_OPTION("-if-depth", Set, &m_ifDepth); DECL_OPTION("-ignc", OnOff, &m_ignc); - DECL_OPTION("-inhibit-sim", CbOnOff, [this, fl](bool flag) { - fl->v3warn(DEPRECATED, "-inhibit-sim option is deprecated"); - m_inhibitSim = flag; - }); DECL_OPTION("-inline-mult", Set, &m_inlineMult); DECL_OPTION("-LDFLAGS", CbVal, callStrSetter(&V3Options::addLdLibs)); diff --git a/src/V3Options.h b/src/V3Options.h index af6e127b8..f6002f722 100644 --- a/src/V3Options.h +++ b/src/V3Options.h @@ -242,7 +242,6 @@ private: bool m_hierarchical = false; // main switch: --hierarchical bool m_hierChild = false; // main switch: --hierarchical-child bool m_ignc = false; // main switch: --ignc - bool m_inhibitSim = false; // main switch: --inhibit-sim bool m_lintOnly = false; // main switch: --lint-only bool m_gmake = false; // main switch: --make gmake bool m_main = false; // main swithc: --main @@ -470,7 +469,6 @@ public: bool publicFlatRW() const { return m_publicFlatRW; } bool lintOnly() const { return m_lintOnly; } bool ignc() const { return m_ignc; } - bool inhibitSim() const { return m_inhibitSim; } bool quietExit() const { return m_quietExit; } bool reportUnoptflat() const { return m_reportUnoptflat; } bool verilate() const { return m_verilate; }