Download obj_dir/Vsim___024root__0__Slow.cpp from SanketAI/chiforge: direct link, hf CLI and curl.
- Browser
- Download file 6.98 kB
-
https://huggingface.co/spaces/SanketAI/chiforge/resolve/main/obj_dir/Vsim___024root__0__Slow.cpp
- Command line
-
hf download hf://spaces/SanketAI/chiforge/obj_dir/Vsim___024root__0__Slow.cpp
-
curl -L -o Vsim___024root__0__Slow.cpp https://huggingface.co/spaces/SanketAI/chiforge/resolve/main/obj_dir/Vsim___024root__0__Slow.cpp
6.98 kB
| // Verilated -*- C++ -*- | |
| // DESCRIPTION: Verilator output: Design implementation internals | |
| // See Vsim.h for the primary calling header | |
| VL_ATTR_COLD void Vsim___024root___eval_static(Vsim___024root* vlSelf) { | |
| VL_DEBUG_IF(VL_DBG_MSGF("+ Vsim___024root___eval_static\n"); ); | |
| Vsim__Syms* const __restrict vlSymsp VL_ATTR_UNUSED = vlSelf->vlSymsp; | |
| auto& vlSelfRef = std::ref(*vlSelf).get(); | |
| // Body | |
| do { | |
| vlSelfRef.__VactTriggeredAcc[vlSelfRef.__Vi] | |
| = vlSelfRef.__VactTriggered[vlSelfRef.__Vi]; | |
| vlSelfRef.__Vi = ((IData)(1U) + vlSelfRef.__Vi); | |
| } while ((0U >= vlSelfRef.__Vi)); | |
| } | |
| VL_ATTR_COLD void Vsim___024root___eval_final(Vsim___024root* vlSelf) { | |
| VL_DEBUG_IF(VL_DBG_MSGF("+ Vsim___024root___eval_final\n"); ); | |
| Vsim__Syms* const __restrict vlSymsp VL_ATTR_UNUSED = vlSelf->vlSymsp; | |
| auto& vlSelfRef = std::ref(*vlSelf).get(); | |
| } | |
| VL_ATTR_COLD void Vsim___024root___dump_triggers__stl(const VlUnpacked<QData/*63:0*/, 1> &triggers, const std::string &tag); | |
| VL_ATTR_COLD bool Vsim___024root___eval_phase__stl(Vsim___024root* vlSelf); | |
| VL_ATTR_COLD void Vsim___024root___eval_settle(Vsim___024root* vlSelf) { | |
| VL_DEBUG_IF(VL_DBG_MSGF("+ Vsim___024root___eval_settle\n"); ); | |
| Vsim__Syms* const __restrict vlSymsp VL_ATTR_UNUSED = vlSelf->vlSymsp; | |
| auto& vlSelfRef = std::ref(*vlSelf).get(); | |
| // Locals | |
| IData/*31:0*/ __VstlIterCount; | |
| // Body | |
| __VstlIterCount = 0U; | |
| vlSelfRef.__VstlFirstIteration = 1U; | |
| do { | |
| if (VL_UNLIKELY(((0x00002710U < __VstlIterCount)))) { | |
| Vsim___024root___dump_triggers__stl(vlSelfRef.__VstlTriggered, "stl"s); | |
| VL_FATAL_MT("/workspace/.tmp_verilator/testbench.sv", 3, "", "DIDNOTCONVERGE: Settle region did not converge after '--converge-limit' of 10000 tries"); | |
| } | |
| __VstlIterCount = ((IData)(1U) + __VstlIterCount); | |
| vlSelfRef.__VstlPhaseResult = Vsim___024root___eval_phase__stl(vlSelf); | |
| vlSelfRef.__VstlFirstIteration = 0U; | |
| } while (vlSelfRef.__VstlPhaseResult); | |
| } | |
| VL_ATTR_COLD void Vsim___024root___eval_triggers_vec__stl(Vsim___024root* vlSelf) { | |
| VL_DEBUG_IF(VL_DBG_MSGF("+ Vsim___024root___eval_triggers_vec__stl\n"); ); | |
| Vsim__Syms* const __restrict vlSymsp VL_ATTR_UNUSED = vlSelf->vlSymsp; | |
| auto& vlSelfRef = std::ref(*vlSelf).get(); | |
| // Body | |
| vlSelfRef.__VstlTriggered[0U] = ((0xfffffffffffffffeULL | |
| & vlSelfRef.__VstlTriggered[0U]) | |
| | (IData)((IData)(vlSelfRef.__VstlFirstIteration))); | |
| } | |
| VL_ATTR_COLD bool Vsim___024root___trigger_anySet__stl(const VlUnpacked<QData/*63:0*/, 1> &in); | |
| VL_ATTR_COLD void Vsim___024root___dump_triggers__stl(const VlUnpacked<QData/*63:0*/, 1> &triggers, const std::string &tag) { | |
| VL_DEBUG_IF(VL_DBG_MSGF("+ Vsim___024root___dump_triggers__stl\n"); ); | |
| // Body | |
| if ((1U & (~ (IData)(Vsim___024root___trigger_anySet__stl(triggers))))) { | |
| VL_DBG_MSGS(" No '" + tag + "' region triggers active\n"); | |
| } | |
| if ((1U & (IData)(triggers[0U]))) { | |
| VL_DBG_MSGS(" '" + tag + "' region trigger index 0 is active: Internal 'stl' trigger - first iteration\n"); | |
| } | |
| } | |
| VL_ATTR_COLD bool Vsim___024root___trigger_anySet__stl(const VlUnpacked<QData/*63:0*/, 1> &in) { | |
| VL_DEBUG_IF(VL_DBG_MSGF("+ Vsim___024root___trigger_anySet__stl\n"); ); | |
| // Locals | |
| IData/*31:0*/ n; | |
| // Body | |
| n = 0U; | |
| do { | |
| if (in[n]) { | |
| return (1U); | |
| } | |
| n = ((IData)(1U) + n); | |
| } while ((1U > n)); | |
| return (0U); | |
| } | |
| void Vsim___024root___act_sequent__TOP__0(Vsim___024root* vlSelf); | |
| VL_ATTR_COLD void Vsim___024root___eval_stl(Vsim___024root* vlSelf) { | |
| VL_DEBUG_IF(VL_DBG_MSGF("+ Vsim___024root___eval_stl\n"); ); | |
| Vsim__Syms* const __restrict vlSymsp VL_ATTR_UNUSED = vlSelf->vlSymsp; | |
| auto& vlSelfRef = std::ref(*vlSelf).get(); | |
| // Body | |
| if ((1ULL & vlSelfRef.__VstlTriggered[0U])) { | |
| Vsim___024root___act_sequent__TOP__0(vlSelf); | |
| } | |
| } | |
| VL_ATTR_COLD bool Vsim___024root___eval_phase__stl(Vsim___024root* vlSelf) { | |
| VL_DEBUG_IF(VL_DBG_MSGF("+ Vsim___024root___eval_phase__stl\n"); ); | |
| Vsim__Syms* const __restrict vlSymsp VL_ATTR_UNUSED = vlSelf->vlSymsp; | |
| auto& vlSelfRef = std::ref(*vlSelf).get(); | |
| // Locals | |
| CData/*0:0*/ __VstlExecute; | |
| // Body | |
| Vsim___024root___eval_triggers_vec__stl(vlSelf); | |
| if (VL_UNLIKELY(vlSymsp->_vm_contextp__->debug())) { | |
| Vsim___024root___dump_triggers__stl(vlSelfRef.__VstlTriggered, "stl"s); | |
| } | |
| __VstlExecute = Vsim___024root___trigger_anySet__stl(vlSelfRef.__VstlTriggered); | |
| if (__VstlExecute) { | |
| Vsim___024root___eval_stl(vlSelf); | |
| } | |
| return (__VstlExecute); | |
| } | |
| bool Vsim___024root___trigger_anySet__act(const VlUnpacked<QData/*63:0*/, 1> &in); | |
| VL_ATTR_COLD void Vsim___024root___dump_triggers__act(const VlUnpacked<QData/*63:0*/, 1> &triggers, const std::string &tag) { | |
| VL_DEBUG_IF(VL_DBG_MSGF("+ Vsim___024root___dump_triggers__act\n"); ); | |
| // Body | |
| if ((1U & (~ (IData)(Vsim___024root___trigger_anySet__act(triggers))))) { | |
| VL_DBG_MSGS(" No '" + tag + "' region triggers active\n"); | |
| } | |
| if ((1U & (IData)(triggers[0U]))) { | |
| VL_DBG_MSGS(" '" + tag + "' region trigger index 0 is active: @([true] __VdlySched.awaitingCurrentTime())\n"); | |
| } | |
| } | |
| VL_ATTR_COLD void Vsim___024root___ctor_var_reset(Vsim___024root* vlSelf) { | |
| VL_DEBUG_IF(VL_DBG_MSGF("+ Vsim___024root___ctor_var_reset\n"); ); | |
| Vsim__Syms* const __restrict vlSymsp VL_ATTR_UNUSED = vlSelf->vlSymsp; | |
| auto& vlSelfRef = std::ref(*vlSelf).get(); | |
| // Body | |
| const uint64_t __VscopeHash = VL_MURMUR64_HASH(vlSelf->vlNamep); | |
| vlSelf->tb_full_adder__DOT__a = VL_SCOPED_RAND_RESET_I(1, __VscopeHash, 13747735994981389321ull); | |
| vlSelf->tb_full_adder__DOT__b = VL_SCOPED_RAND_RESET_I(1, __VscopeHash, 686105649783556071ull); | |
| vlSelf->tb_full_adder__DOT__cin = VL_SCOPED_RAND_RESET_I(1, __VscopeHash, 4012772730186193120ull); | |
| vlSelf->tb_full_adder__DOT__uut__DOT__sum = VL_SCOPED_RAND_RESET_I(1, __VscopeHash, 13287595272639865983ull); | |
| vlSelf->tb_full_adder__DOT__uut__DOT__cout = VL_SCOPED_RAND_RESET_I(1, __VscopeHash, 13664396158812022014ull); | |
| for (int __Vi0 = 0; __Vi0 < 1; ++__Vi0) { | |
| vlSelf->__VstlTriggered[__Vi0] = 0; | |
| } | |
| for (int __Vi0 = 0; __Vi0 < 1; ++__Vi0) { | |
| vlSelf->__VactTriggered[__Vi0] = 0; | |
| } | |
| for (int __Vi0 = 0; __Vi0 < 1; ++__Vi0) { | |
| vlSelf->__VactTriggeredAcc[__Vi0] = 0; | |
| } | |
| for (int __Vi0 = 0; __Vi0 < 1; ++__Vi0) { | |
| vlSelf->__VnbaTriggered[__Vi0] = 0; | |
| } | |
| vlSelf->__Vi = 0; | |
| for (int __Vi0 = 0; __Vi0 < 3; ++__Vi0) { | |
| vlSelf->__Vm_traceActivity[__Vi0] = 0; | |
| } | |
| } | |