// Verilated -*- C++ -*- // DESCRIPTION: Verilator output: Design implementation internals // See Vcomputer.h for the primary calling header #include "Vcomputer__pch.h" #include "Vcomputer___024root.h" VL_ATTR_COLD void Vcomputer___024root___eval_static(Vcomputer___024root* vlSelf) { (void)vlSelf; // Prevent unused variable warning Vcomputer__Syms* const __restrict vlSymsp VL_ATTR_UNUSED = vlSelf->vlSymsp; VL_DEBUG_IF(VL_DBG_MSGF("+ Vcomputer___024root___eval_static\n"); ); auto &vlSelfRef = std::ref(*vlSelf).get(); } VL_ATTR_COLD void Vcomputer___024root___eval_initial__TOP(Vcomputer___024root* vlSelf); VL_ATTR_COLD void Vcomputer___024root___eval_initial(Vcomputer___024root* vlSelf) { (void)vlSelf; // Prevent unused variable warning Vcomputer__Syms* const __restrict vlSymsp VL_ATTR_UNUSED = vlSelf->vlSymsp; VL_DEBUG_IF(VL_DBG_MSGF("+ Vcomputer___024root___eval_initial\n"); ); auto &vlSelfRef = std::ref(*vlSelf).get(); // Body Vcomputer___024root___eval_initial__TOP(vlSelf); vlSelfRef.__Vtrigprevexpr___TOP__clk__0 = vlSelfRef.clk; } VL_ATTR_COLD void Vcomputer___024root___eval_initial__TOP__17(Vcomputer___024root* vlSelf); VL_ATTR_COLD void Vcomputer___024root___eval_initial__TOP__18(Vcomputer___024root* vlSelf); VL_ATTR_COLD void Vcomputer___024root___eval_initial__TOP__19(Vcomputer___024root* vlSelf); VL_ATTR_COLD void Vcomputer___024root___eval_initial__TOP__20(Vcomputer___024root* vlSelf); VL_ATTR_COLD void Vcomputer___024root___eval_initial__TOP__21(Vcomputer___024root* vlSelf); VL_ATTR_COLD void Vcomputer___024root___eval_initial__TOP__22(Vcomputer___024root* vlSelf); VL_ATTR_COLD void Vcomputer___024root___eval_initial__TOP__23(Vcomputer___024root* vlSelf); VL_ATTR_COLD void Vcomputer___024root___eval_initial__TOP__24(Vcomputer___024root* vlSelf); VL_ATTR_COLD void Vcomputer___024root___eval_initial__TOP__25(Vcomputer___024root* vlSelf); VL_ATTR_COLD void Vcomputer___024root___eval_initial__TOP__26(Vcomputer___024root* vlSelf); VL_ATTR_COLD void Vcomputer___024root___eval_initial__TOP__27(Vcomputer___024root* vlSelf); VL_ATTR_COLD void Vcomputer___024root___eval_initial__TOP__28(Vcomputer___024root* vlSelf); VL_ATTR_COLD void Vcomputer___024root___eval_initial__TOP__29(Vcomputer___024root* vlSelf); VL_ATTR_COLD void Vcomputer___024root___eval_initial__TOP__30(Vcomputer___024root* vlSelf); VL_ATTR_COLD void Vcomputer___024root___eval_initial__TOP__31(Vcomputer___024root* vlSelf); VL_ATTR_COLD void Vcomputer___024root___eval_initial__TOP__32(Vcomputer___024root* vlSelf); VL_ATTR_COLD void Vcomputer___024root___eval_initial__TOP__33(Vcomputer___024root* vlSelf); VL_ATTR_COLD void Vcomputer___024root___eval_initial__TOP(Vcomputer___024root* vlSelf) { (void)vlSelf; // Prevent unused variable warning Vcomputer__Syms* const __restrict vlSymsp VL_ATTR_UNUSED = vlSelf->vlSymsp; VL_DEBUG_IF(VL_DBG_MSGF("+ Vcomputer___024root___eval_initial__TOP\n"); ); auto &vlSelfRef = std::ref(*vlSelf).get(); // Body Vcomputer___024root___eval_initial__TOP__17(vlSelf); Vcomputer___024root___eval_initial__TOP__18(vlSelf); Vcomputer___024root___eval_initial__TOP__19(vlSelf); Vcomputer___024root___eval_initial__TOP__20(vlSelf); Vcomputer___024root___eval_initial__TOP__21(vlSelf); Vcomputer___024root___eval_initial__TOP__22(vlSelf); Vcomputer___024root___eval_initial__TOP__23(vlSelf); Vcomputer___024root___eval_initial__TOP__24(vlSelf); Vcomputer___024root___eval_initial__TOP__25(vlSelf); Vcomputer___024root___eval_initial__TOP__26(vlSelf); Vcomputer___024root___eval_initial__TOP__27(vlSelf); Vcomputer___024root___eval_initial__TOP__28(vlSelf); Vcomputer___024root___eval_initial__TOP__29(vlSelf); Vcomputer___024root___eval_initial__TOP__30(vlSelf); Vcomputer___024root___eval_initial__TOP__31(vlSelf); Vcomputer___024root___eval_initial__TOP__32(vlSelf); Vcomputer___024root___eval_initial__TOP__33(vlSelf); } VL_ATTR_COLD void Vcomputer___024root___eval_initial__TOP__0(Vcomputer___024root* vlSelf) { (void)vlSelf; // Prevent unused variable warning Vcomputer__Syms* const __restrict vlSymsp VL_ATTR_UNUSED = vlSelf->vlSymsp; VL_DEBUG_IF(VL_DBG_MSGF("+ Vcomputer___024root___eval_initial__TOP__0\n"); ); auto &vlSelfRef = std::ref(*vlSelf).get(); // Body vlSelfRef.computer__DOT__program_rom[0U] = 0xe000U; IData/*31:0*/ __Vilp1; __Vilp1 = 1U; while ((__Vilp1 <= 0xf9fU)) { vlSelfRef.computer__DOT__program_rom[__Vilp1] = 0U; __Vilp1 = ((IData)(1U) + __Vilp1); } } VL_ATTR_COLD void Vcomputer___024root___eval_initial__TOP__1(Vcomputer___024root* vlSelf) { (void)vlSelf; // Prevent unused variable warning Vcomputer__Syms* const __restrict vlSymsp VL_ATTR_UNUSED = vlSelf->vlSymsp; VL_DEBUG_IF(VL_DBG_MSGF("+ Vcomputer___024root___eval_initial__TOP__1\n"); ); auto &vlSelfRef = std::ref(*vlSelf).get(); // Body IData/*31:0*/ __Vilp1; __Vilp1 = 0xfa0U; while ((__Vilp1 <= 0x1f3fU)) { vlSelfRef.computer__DOT__program_rom[__Vilp1] = 0U; __Vilp1 = ((IData)(1U) + __Vilp1); } } VL_ATTR_COLD void Vcomputer___024root___eval_initial__TOP__2(Vcomputer___024root* vlSelf) { (void)vlSelf; // Prevent unused variable warning Vcomputer__Syms* const __restrict vlSymsp VL_ATTR_UNUSED = vlSelf->vlSymsp; VL_DEBUG_IF(VL_DBG_MSGF("+ Vcomputer___024root___eval_initial__TOP__2\n"); ); auto &vlSelfRef = std::ref(*vlSelf).get(); // Body IData/*31:0*/ __Vilp1; __Vilp1 = 0x1f40U; while ((__Vilp1 <= 0x2edfU)) { vlSelfRef.computer__DOT__program_rom[__Vilp1] = 0U; __Vilp1 = ((IData)(1U) + __Vilp1); } } VL_ATTR_COLD void Vcomputer___024root___eval_initial__TOP__3(Vcomputer___024root* vlSelf) { (void)vlSelf; // Prevent unused variable warning Vcomputer__Syms* const __restrict vlSymsp VL_ATTR_UNUSED = vlSelf->vlSymsp; VL_DEBUG_IF(VL_DBG_MSGF("+ Vcomputer___024root___eval_initial__TOP__3\n"); ); auto &vlSelfRef = std::ref(*vlSelf).get(); // Body IData/*31:0*/ __Vilp1; __Vilp1 = 0x2ee0U; while ((__Vilp1 <= 0x3e7fU)) { vlSelfRef.computer__DOT__program_rom[__Vilp1] = 0U; __Vilp1 = ((IData)(1U) + __Vilp1); } } VL_ATTR_COLD void Vcomputer___024root___eval_initial__TOP__4(Vcomputer___024root* vlSelf) { (void)vlSelf; // Prevent unused variable warning Vcomputer__Syms* const __restrict vlSymsp VL_ATTR_UNUSED = vlSelf->vlSymsp; VL_DEBUG_IF(VL_DBG_MSGF("+ Vcomputer___024root___eval_initial__TOP__4\n"); ); auto &vlSelfRef = std::ref(*vlSelf).get(); // Body IData/*31:0*/ __Vilp1; __Vilp1 = 0x3e80U; while ((__Vilp1 <= 0x4e1fU)) { vlSelfRef.computer__DOT__program_rom[__Vilp1] = 0U; __Vilp1 = ((IData)(1U) + __Vilp1); } } VL_ATTR_COLD void Vcomputer___024root___eval_initial__TOP__5(Vcomputer___024root* vlSelf) { (void)vlSelf; // Prevent unused variable warning Vcomputer__Syms* const __restrict vlSymsp VL_ATTR_UNUSED = vlSelf->vlSymsp; VL_DEBUG_IF(VL_DBG_MSGF("+ Vcomputer___024root___eval_initial__TOP__5\n"); ); auto &vlSelfRef = std::ref(*vlSelf).get(); // Body IData/*31:0*/ __Vilp1; __Vilp1 = 0x4e20U; while ((__Vilp1 <= 0x5dbfU)) { vlSelfRef.computer__DOT__program_rom[__Vilp1] = 0U; __Vilp1 = ((IData)(1U) + __Vilp1); } } VL_ATTR_COLD void Vcomputer___024root___eval_initial__TOP__6(Vcomputer___024root* vlSelf) { (void)vlSelf; // Prevent unused variable warning Vcomputer__Syms* const __restrict vlSymsp VL_ATTR_UNUSED = vlSelf->vlSymsp; VL_DEBUG_IF(VL_DBG_MSGF("+ Vcomputer___024root___eval_initial__TOP__6\n"); ); auto &vlSelfRef = std::ref(*vlSelf).get(); // Body IData/*31:0*/ __Vilp1; __Vilp1 = 0x5dc0U; while ((__Vilp1 <= 0x6d5fU)) { vlSelfRef.computer__DOT__program_rom[__Vilp1] = 0U; __Vilp1 = ((IData)(1U) + __Vilp1); } } VL_ATTR_COLD void Vcomputer___024root___eval_initial__TOP__7(Vcomputer___024root* vlSelf) { (void)vlSelf; // Prevent unused variable warning Vcomputer__Syms* const __restrict vlSymsp VL_ATTR_UNUSED = vlSelf->vlSymsp; VL_DEBUG_IF(VL_DBG_MSGF("+ Vcomputer___024root___eval_initial__TOP__7\n"); ); auto &vlSelfRef = std::ref(*vlSelf).get(); // Body IData/*31:0*/ __Vilp1; __Vilp1 = 0x6d60U; while ((__Vilp1 <= 0x7cffU)) { vlSelfRef.computer__DOT__program_rom[__Vilp1] = 0U; __Vilp1 = ((IData)(1U) + __Vilp1); } } VL_ATTR_COLD void Vcomputer___024root___eval_initial__TOP__8(Vcomputer___024root* vlSelf) { (void)vlSelf; // Prevent unused variable warning Vcomputer__Syms* const __restrict vlSymsp VL_ATTR_UNUSED = vlSelf->vlSymsp; VL_DEBUG_IF(VL_DBG_MSGF("+ Vcomputer___024root___eval_initial__TOP__8\n"); ); auto &vlSelfRef = std::ref(*vlSelf).get(); // Body IData/*31:0*/ __Vilp1; __Vilp1 = 0x7d00U; while ((__Vilp1 <= 0x8c9fU)) { vlSelfRef.computer__DOT__program_rom[__Vilp1] = 0U; __Vilp1 = ((IData)(1U) + __Vilp1); } } VL_ATTR_COLD void Vcomputer___024root___eval_initial__TOP__9(Vcomputer___024root* vlSelf) { (void)vlSelf; // Prevent unused variable warning Vcomputer__Syms* const __restrict vlSymsp VL_ATTR_UNUSED = vlSelf->vlSymsp; VL_DEBUG_IF(VL_DBG_MSGF("+ Vcomputer___024root___eval_initial__TOP__9\n"); ); auto &vlSelfRef = std::ref(*vlSelf).get(); // Body IData/*31:0*/ __Vilp1; __Vilp1 = 0x8ca0U; while ((__Vilp1 <= 0x9c3fU)) { vlSelfRef.computer__DOT__program_rom[__Vilp1] = 0U; __Vilp1 = ((IData)(1U) + __Vilp1); } } VL_ATTR_COLD void Vcomputer___024root___eval_initial__TOP__10(Vcomputer___024root* vlSelf) { (void)vlSelf; // Prevent unused variable warning Vcomputer__Syms* const __restrict vlSymsp VL_ATTR_UNUSED = vlSelf->vlSymsp; VL_DEBUG_IF(VL_DBG_MSGF("+ Vcomputer___024root___eval_initial__TOP__10\n"); ); auto &vlSelfRef = std::ref(*vlSelf).get(); // Body IData/*31:0*/ __Vilp1; __Vilp1 = 0x9c40U; while ((__Vilp1 <= 0xabdfU)) { vlSelfRef.computer__DOT__program_rom[__Vilp1] = 0U; __Vilp1 = ((IData)(1U) + __Vilp1); } } VL_ATTR_COLD void Vcomputer___024root___eval_initial__TOP__11(Vcomputer___024root* vlSelf) { (void)vlSelf; // Prevent unused variable warning Vcomputer__Syms* const __restrict vlSymsp VL_ATTR_UNUSED = vlSelf->vlSymsp; VL_DEBUG_IF(VL_DBG_MSGF("+ Vcomputer___024root___eval_initial__TOP__11\n"); ); auto &vlSelfRef = std::ref(*vlSelf).get(); // Body IData/*31:0*/ __Vilp1; __Vilp1 = 0xabe0U; while ((__Vilp1 <= 0xbb7fU)) { vlSelfRef.computer__DOT__program_rom[__Vilp1] = 0U; __Vilp1 = ((IData)(1U) + __Vilp1); } } VL_ATTR_COLD void Vcomputer___024root___eval_initial__TOP__12(Vcomputer___024root* vlSelf) { (void)vlSelf; // Prevent unused variable warning Vcomputer__Syms* const __restrict vlSymsp VL_ATTR_UNUSED = vlSelf->vlSymsp; VL_DEBUG_IF(VL_DBG_MSGF("+ Vcomputer___024root___eval_initial__TOP__12\n"); ); auto &vlSelfRef = std::ref(*vlSelf).get(); // Body IData/*31:0*/ __Vilp1; __Vilp1 = 0xbb80U; while ((__Vilp1 <= 0xcb1fU)) { vlSelfRef.computer__DOT__program_rom[__Vilp1] = 0U; __Vilp1 = ((IData)(1U) + __Vilp1); } } VL_ATTR_COLD void Vcomputer___024root___eval_initial__TOP__13(Vcomputer___024root* vlSelf) { (void)vlSelf; // Prevent unused variable warning Vcomputer__Syms* const __restrict vlSymsp VL_ATTR_UNUSED = vlSelf->vlSymsp; VL_DEBUG_IF(VL_DBG_MSGF("+ Vcomputer___024root___eval_initial__TOP__13\n"); ); auto &vlSelfRef = std::ref(*vlSelf).get(); // Body IData/*31:0*/ __Vilp1; __Vilp1 = 0xcb20U; while ((__Vilp1 <= 0xdabfU)) { vlSelfRef.computer__DOT__program_rom[__Vilp1] = 0U; __Vilp1 = ((IData)(1U) + __Vilp1); } } VL_ATTR_COLD void Vcomputer___024root___eval_initial__TOP__14(Vcomputer___024root* vlSelf) { (void)vlSelf; // Prevent unused variable warning Vcomputer__Syms* const __restrict vlSymsp VL_ATTR_UNUSED = vlSelf->vlSymsp; VL_DEBUG_IF(VL_DBG_MSGF("+ Vcomputer___024root___eval_initial__TOP__14\n"); ); auto &vlSelfRef = std::ref(*vlSelf).get(); // Body IData/*31:0*/ __Vilp1; __Vilp1 = 0xdac0U; while ((__Vilp1 <= 0xea5fU)) { vlSelfRef.computer__DOT__program_rom[__Vilp1] = 0U; __Vilp1 = ((IData)(1U) + __Vilp1); } } VL_ATTR_COLD void Vcomputer___024root___eval_initial__TOP__15(Vcomputer___024root* vlSelf) { (void)vlSelf; // Prevent unused variable warning Vcomputer__Syms* const __restrict vlSymsp VL_ATTR_UNUSED = vlSelf->vlSymsp; VL_DEBUG_IF(VL_DBG_MSGF("+ Vcomputer___024root___eval_initial__TOP__15\n"); ); auto &vlSelfRef = std::ref(*vlSelf).get(); // Body IData/*31:0*/ __Vilp1; __Vilp1 = 0xea60U; while ((__Vilp1 <= 0xf9ffU)) { vlSelfRef.computer__DOT__program_rom[__Vilp1] = 0U; __Vilp1 = ((IData)(1U) + __Vilp1); } } VL_ATTR_COLD void Vcomputer___024root___eval_initial__TOP__16(Vcomputer___024root* vlSelf) { (void)vlSelf; // Prevent unused variable warning Vcomputer__Syms* const __restrict vlSymsp VL_ATTR_UNUSED = vlSelf->vlSymsp; VL_DEBUG_IF(VL_DBG_MSGF("+ Vcomputer___024root___eval_initial__TOP__16\n"); ); auto &vlSelfRef = std::ref(*vlSelf).get(); // Body IData/*31:0*/ __Vilp1; __Vilp1 = 0xfa00U; while ((__Vilp1 <= 0xffffU)) { vlSelfRef.computer__DOT__program_rom[__Vilp1] = 0U; __Vilp1 = ((IData)(1U) + __Vilp1); } } VL_ATTR_COLD void Vcomputer___024root___eval_initial__TOP__17(Vcomputer___024root* vlSelf) { (void)vlSelf; // Prevent unused variable warning Vcomputer__Syms* const __restrict vlSymsp VL_ATTR_UNUSED = vlSelf->vlSymsp; VL_DEBUG_IF(VL_DBG_MSGF("+ Vcomputer___024root___eval_initial__TOP__17\n"); ); auto &vlSelfRef = std::ref(*vlSelf).get(); // Body Vcomputer___024root___eval_initial__TOP__0(vlSelf); Vcomputer___024root___eval_initial__TOP__1(vlSelf); Vcomputer___024root___eval_initial__TOP__2(vlSelf); Vcomputer___024root___eval_initial__TOP__3(vlSelf); Vcomputer___024root___eval_initial__TOP__4(vlSelf); Vcomputer___024root___eval_initial__TOP__5(vlSelf); Vcomputer___024root___eval_initial__TOP__6(vlSelf); Vcomputer___024root___eval_initial__TOP__7(vlSelf); Vcomputer___024root___eval_initial__TOP__8(vlSelf); Vcomputer___024root___eval_initial__TOP__9(vlSelf); Vcomputer___024root___eval_initial__TOP__10(vlSelf); Vcomputer___024root___eval_initial__TOP__11(vlSelf); Vcomputer___024root___eval_initial__TOP__12(vlSelf); Vcomputer___024root___eval_initial__TOP__13(vlSelf); Vcomputer___024root___eval_initial__TOP__14(vlSelf); Vcomputer___024root___eval_initial__TOP__15(vlSelf); Vcomputer___024root___eval_initial__TOP__16(vlSelf); IData/*31:0*/ __Vilp1; __Vilp1 = 0xf067U; while ((__Vilp1 <= 0xffffU)) { vlSelfRef.computer__DOT__memoryandvideo__DOT__RAM[__Vilp1] = 0xf1U; __Vilp1 = ((IData)(1U) + __Vilp1); } } VL_ATTR_COLD void Vcomputer___024root___eval_initial__TOP__18(Vcomputer___024root* vlSelf) { (void)vlSelf; // Prevent unused variable warning Vcomputer__Syms* const __restrict vlSymsp VL_ATTR_UNUSED = vlSelf->vlSymsp; VL_DEBUG_IF(VL_DBG_MSGF("+ Vcomputer___024root___eval_initial__TOP__18\n"); ); auto &vlSelfRef = std::ref(*vlSelf).get(); // Body IData/*31:0*/ __Vilp1; __Vilp1 = 0xe0c7U; while ((__Vilp1 <= 0xf066U)) { vlSelfRef.computer__DOT__memoryandvideo__DOT__RAM[__Vilp1] = 0xf1U; __Vilp1 = ((IData)(1U) + __Vilp1); } } VL_ATTR_COLD void Vcomputer___024root___eval_initial__TOP__19(Vcomputer___024root* vlSelf) { (void)vlSelf; // Prevent unused variable warning Vcomputer__Syms* const __restrict vlSymsp VL_ATTR_UNUSED = vlSelf->vlSymsp; VL_DEBUG_IF(VL_DBG_MSGF("+ Vcomputer___024root___eval_initial__TOP__19\n"); ); auto &vlSelfRef = std::ref(*vlSelf).get(); // Body IData/*31:0*/ __Vilp1; __Vilp1 = 0xd127U; while ((__Vilp1 <= 0xe0c6U)) { vlSelfRef.computer__DOT__memoryandvideo__DOT__RAM[__Vilp1] = 0xf1U; __Vilp1 = ((IData)(1U) + __Vilp1); } } VL_ATTR_COLD void Vcomputer___024root___eval_initial__TOP__20(Vcomputer___024root* vlSelf) { (void)vlSelf; // Prevent unused variable warning Vcomputer__Syms* const __restrict vlSymsp VL_ATTR_UNUSED = vlSelf->vlSymsp; VL_DEBUG_IF(VL_DBG_MSGF("+ Vcomputer___024root___eval_initial__TOP__20\n"); ); auto &vlSelfRef = std::ref(*vlSelf).get(); // Body IData/*31:0*/ __Vilp1; __Vilp1 = 0xc187U; while ((__Vilp1 <= 0xd126U)) { vlSelfRef.computer__DOT__memoryandvideo__DOT__RAM[__Vilp1] = 0xf1U; __Vilp1 = ((IData)(1U) + __Vilp1); } } VL_ATTR_COLD void Vcomputer___024root___eval_initial__TOP__21(Vcomputer___024root* vlSelf) { (void)vlSelf; // Prevent unused variable warning Vcomputer__Syms* const __restrict vlSymsp VL_ATTR_UNUSED = vlSelf->vlSymsp; VL_DEBUG_IF(VL_DBG_MSGF("+ Vcomputer___024root___eval_initial__TOP__21\n"); ); auto &vlSelfRef = std::ref(*vlSelf).get(); // Body IData/*31:0*/ __Vilp1; __Vilp1 = 0xb1e7U; while ((__Vilp1 <= 0xc186U)) { vlSelfRef.computer__DOT__memoryandvideo__DOT__RAM[__Vilp1] = 0xf1U; __Vilp1 = ((IData)(1U) + __Vilp1); } } VL_ATTR_COLD void Vcomputer___024root___eval_initial__TOP__22(Vcomputer___024root* vlSelf) { (void)vlSelf; // Prevent unused variable warning Vcomputer__Syms* const __restrict vlSymsp VL_ATTR_UNUSED = vlSelf->vlSymsp; VL_DEBUG_IF(VL_DBG_MSGF("+ Vcomputer___024root___eval_initial__TOP__22\n"); ); auto &vlSelfRef = std::ref(*vlSelf).get(); // Body IData/*31:0*/ __Vilp1; __Vilp1 = 0xa247U; while ((__Vilp1 <= 0xb1e6U)) { vlSelfRef.computer__DOT__memoryandvideo__DOT__RAM[__Vilp1] = 0xf1U; __Vilp1 = ((IData)(1U) + __Vilp1); } } VL_ATTR_COLD void Vcomputer___024root___eval_initial__TOP__23(Vcomputer___024root* vlSelf) { (void)vlSelf; // Prevent unused variable warning Vcomputer__Syms* const __restrict vlSymsp VL_ATTR_UNUSED = vlSelf->vlSymsp; VL_DEBUG_IF(VL_DBG_MSGF("+ Vcomputer___024root___eval_initial__TOP__23\n"); ); auto &vlSelfRef = std::ref(*vlSelf).get(); // Body IData/*31:0*/ __Vilp1; __Vilp1 = 0x92a7U; while ((__Vilp1 <= 0xa246U)) { vlSelfRef.computer__DOT__memoryandvideo__DOT__RAM[__Vilp1] = 0xf1U; __Vilp1 = ((IData)(1U) + __Vilp1); } } VL_ATTR_COLD void Vcomputer___024root___eval_initial__TOP__24(Vcomputer___024root* vlSelf) { (void)vlSelf; // Prevent unused variable warning Vcomputer__Syms* const __restrict vlSymsp VL_ATTR_UNUSED = vlSelf->vlSymsp; VL_DEBUG_IF(VL_DBG_MSGF("+ Vcomputer___024root___eval_initial__TOP__24\n"); ); auto &vlSelfRef = std::ref(*vlSelf).get(); // Body IData/*31:0*/ __Vilp1; __Vilp1 = 0x8307U; while ((__Vilp1 <= 0x92a6U)) { vlSelfRef.computer__DOT__memoryandvideo__DOT__RAM[__Vilp1] = 0xf1U; __Vilp1 = ((IData)(1U) + __Vilp1); } } VL_ATTR_COLD void Vcomputer___024root___eval_initial__TOP__25(Vcomputer___024root* vlSelf) { (void)vlSelf; // Prevent unused variable warning Vcomputer__Syms* const __restrict vlSymsp VL_ATTR_UNUSED = vlSelf->vlSymsp; VL_DEBUG_IF(VL_DBG_MSGF("+ Vcomputer___024root___eval_initial__TOP__25\n"); ); auto &vlSelfRef = std::ref(*vlSelf).get(); // Body IData/*31:0*/ __Vilp1; __Vilp1 = 0x7367U; while ((__Vilp1 <= 0x8306U)) { vlSelfRef.computer__DOT__memoryandvideo__DOT__RAM[__Vilp1] = 0xf1U; __Vilp1 = ((IData)(1U) + __Vilp1); } } VL_ATTR_COLD void Vcomputer___024root___eval_initial__TOP__26(Vcomputer___024root* vlSelf) { (void)vlSelf; // Prevent unused variable warning Vcomputer__Syms* const __restrict vlSymsp VL_ATTR_UNUSED = vlSelf->vlSymsp; VL_DEBUG_IF(VL_DBG_MSGF("+ Vcomputer___024root___eval_initial__TOP__26\n"); ); auto &vlSelfRef = std::ref(*vlSelf).get(); // Body IData/*31:0*/ __Vilp1; __Vilp1 = 0x63c7U; while ((__Vilp1 <= 0x7366U)) { vlSelfRef.computer__DOT__memoryandvideo__DOT__RAM[__Vilp1] = 0xf1U; __Vilp1 = ((IData)(1U) + __Vilp1); } } VL_ATTR_COLD void Vcomputer___024root___eval_initial__TOP__27(Vcomputer___024root* vlSelf) { (void)vlSelf; // Prevent unused variable warning Vcomputer__Syms* const __restrict vlSymsp VL_ATTR_UNUSED = vlSelf->vlSymsp; VL_DEBUG_IF(VL_DBG_MSGF("+ Vcomputer___024root___eval_initial__TOP__27\n"); ); auto &vlSelfRef = std::ref(*vlSelf).get(); // Body IData/*31:0*/ __Vilp1; __Vilp1 = 0x5427U; while ((__Vilp1 <= 0x63c6U)) { vlSelfRef.computer__DOT__memoryandvideo__DOT__RAM[__Vilp1] = 0xf1U; __Vilp1 = ((IData)(1U) + __Vilp1); } } VL_ATTR_COLD void Vcomputer___024root___eval_initial__TOP__28(Vcomputer___024root* vlSelf) { (void)vlSelf; // Prevent unused variable warning Vcomputer__Syms* const __restrict vlSymsp VL_ATTR_UNUSED = vlSelf->vlSymsp; VL_DEBUG_IF(VL_DBG_MSGF("+ Vcomputer___024root___eval_initial__TOP__28\n"); ); auto &vlSelfRef = std::ref(*vlSelf).get(); // Body IData/*31:0*/ __Vilp1; __Vilp1 = 0x4487U; while ((__Vilp1 <= 0x5426U)) { vlSelfRef.computer__DOT__memoryandvideo__DOT__RAM[__Vilp1] = 0xf1U; __Vilp1 = ((IData)(1U) + __Vilp1); } } VL_ATTR_COLD void Vcomputer___024root___eval_initial__TOP__29(Vcomputer___024root* vlSelf) { (void)vlSelf; // Prevent unused variable warning Vcomputer__Syms* const __restrict vlSymsp VL_ATTR_UNUSED = vlSelf->vlSymsp; VL_DEBUG_IF(VL_DBG_MSGF("+ Vcomputer___024root___eval_initial__TOP__29\n"); ); auto &vlSelfRef = std::ref(*vlSelf).get(); // Body IData/*31:0*/ __Vilp1; __Vilp1 = 0x34e7U; while ((__Vilp1 <= 0x4486U)) { vlSelfRef.computer__DOT__memoryandvideo__DOT__RAM[__Vilp1] = 0xf1U; __Vilp1 = ((IData)(1U) + __Vilp1); } } VL_ATTR_COLD void Vcomputer___024root___eval_initial__TOP__30(Vcomputer___024root* vlSelf) { (void)vlSelf; // Prevent unused variable warning Vcomputer__Syms* const __restrict vlSymsp VL_ATTR_UNUSED = vlSelf->vlSymsp; VL_DEBUG_IF(VL_DBG_MSGF("+ Vcomputer___024root___eval_initial__TOP__30\n"); ); auto &vlSelfRef = std::ref(*vlSelf).get(); // Body IData/*31:0*/ __Vilp1; __Vilp1 = 0x2547U; while ((__Vilp1 <= 0x34e6U)) { vlSelfRef.computer__DOT__memoryandvideo__DOT__RAM[__Vilp1] = 0xf1U; __Vilp1 = ((IData)(1U) + __Vilp1); } } VL_ATTR_COLD void Vcomputer___024root___eval_initial__TOP__31(Vcomputer___024root* vlSelf) { (void)vlSelf; // Prevent unused variable warning Vcomputer__Syms* const __restrict vlSymsp VL_ATTR_UNUSED = vlSelf->vlSymsp; VL_DEBUG_IF(VL_DBG_MSGF("+ Vcomputer___024root___eval_initial__TOP__31\n"); ); auto &vlSelfRef = std::ref(*vlSelf).get(); // Body IData/*31:0*/ __Vilp1; __Vilp1 = 0x15a7U; while ((__Vilp1 <= 0x2546U)) { vlSelfRef.computer__DOT__memoryandvideo__DOT__RAM[__Vilp1] = 0xf1U; __Vilp1 = ((IData)(1U) + __Vilp1); } } VL_ATTR_COLD void Vcomputer___024root___eval_initial__TOP__32(Vcomputer___024root* vlSelf) { (void)vlSelf; // Prevent unused variable warning Vcomputer__Syms* const __restrict vlSymsp VL_ATTR_UNUSED = vlSelf->vlSymsp; VL_DEBUG_IF(VL_DBG_MSGF("+ Vcomputer___024root___eval_initial__TOP__32\n"); ); auto &vlSelfRef = std::ref(*vlSelf).get(); // Body IData/*31:0*/ __Vilp1; __Vilp1 = 0x607U; while ((__Vilp1 <= 0x15a6U)) { vlSelfRef.computer__DOT__memoryandvideo__DOT__RAM[__Vilp1] = 0xf1U; __Vilp1 = ((IData)(1U) + __Vilp1); } } VL_ATTR_COLD void Vcomputer___024root___eval_initial__TOP__33(Vcomputer___024root* vlSelf) { (void)vlSelf; // Prevent unused variable warning Vcomputer__Syms* const __restrict vlSymsp VL_ATTR_UNUSED = vlSelf->vlSymsp; VL_DEBUG_IF(VL_DBG_MSGF("+ Vcomputer___024root___eval_initial__TOP__33\n"); ); auto &vlSelfRef = std::ref(*vlSelf).get(); // Body IData/*31:0*/ __Vilp1; __Vilp1 = 0U; while ((__Vilp1 <= 0x606U)) { vlSelfRef.computer__DOT__memoryandvideo__DOT__RAM[__Vilp1] = 0xf1U; __Vilp1 = ((IData)(1U) + __Vilp1); } } VL_ATTR_COLD void Vcomputer___024root___eval_final(Vcomputer___024root* vlSelf) { (void)vlSelf; // Prevent unused variable warning Vcomputer__Syms* const __restrict vlSymsp VL_ATTR_UNUSED = vlSelf->vlSymsp; VL_DEBUG_IF(VL_DBG_MSGF("+ Vcomputer___024root___eval_final\n"); ); auto &vlSelfRef = std::ref(*vlSelf).get(); } #ifdef VL_DEBUG VL_ATTR_COLD void Vcomputer___024root___dump_triggers__stl(Vcomputer___024root* vlSelf); #endif // VL_DEBUG VL_ATTR_COLD bool Vcomputer___024root___eval_phase__stl(Vcomputer___024root* vlSelf); VL_ATTR_COLD void Vcomputer___024root___eval_settle(Vcomputer___024root* vlSelf) { (void)vlSelf; // Prevent unused variable warning Vcomputer__Syms* const __restrict vlSymsp VL_ATTR_UNUSED = vlSelf->vlSymsp; VL_DEBUG_IF(VL_DBG_MSGF("+ Vcomputer___024root___eval_settle\n"); ); auto &vlSelfRef = std::ref(*vlSelf).get(); // Init IData/*31:0*/ __VstlIterCount; CData/*0:0*/ __VstlContinue; // Body __VstlIterCount = 0U; vlSelfRef.__VstlFirstIteration = 1U; __VstlContinue = 1U; while (__VstlContinue) { if (VL_UNLIKELY((0x64U < __VstlIterCount))) { #ifdef VL_DEBUG Vcomputer___024root___dump_triggers__stl(vlSelf); #endif VL_FATAL_MT("computer.v", 11, "", "Settle region did not converge."); } __VstlIterCount = ((IData)(1U) + __VstlIterCount); __VstlContinue = 0U; if (Vcomputer___024root___eval_phase__stl(vlSelf)) { __VstlContinue = 1U; } vlSelfRef.__VstlFirstIteration = 0U; } } #ifdef VL_DEBUG VL_ATTR_COLD void Vcomputer___024root___dump_triggers__stl(Vcomputer___024root* vlSelf) { (void)vlSelf; // Prevent unused variable warning Vcomputer__Syms* const __restrict vlSymsp VL_ATTR_UNUSED = vlSelf->vlSymsp; VL_DEBUG_IF(VL_DBG_MSGF("+ Vcomputer___024root___dump_triggers__stl\n"); ); auto &vlSelfRef = std::ref(*vlSelf).get(); // Body if ((1U & (~ vlSelfRef.__VstlTriggered.any()))) { VL_DBG_MSGF(" No triggers active\n"); } if ((1ULL & vlSelfRef.__VstlTriggered.word(0U))) { VL_DBG_MSGF(" 'stl' region trigger index 0 is active: Internal 'stl' trigger - first iteration\n"); } } #endif // VL_DEBUG VL_ATTR_COLD void Vcomputer___024root___stl_sequent__TOP__0(Vcomputer___024root* vlSelf); VL_ATTR_COLD void Vcomputer___024root___eval_stl(Vcomputer___024root* vlSelf) { (void)vlSelf; // Prevent unused variable warning Vcomputer__Syms* const __restrict vlSymsp VL_ATTR_UNUSED = vlSelf->vlSymsp; VL_DEBUG_IF(VL_DBG_MSGF("+ Vcomputer___024root___eval_stl\n"); ); auto &vlSelfRef = std::ref(*vlSelf).get(); // Body if ((1ULL & vlSelfRef.__VstlTriggered.word(0U))) { Vcomputer___024root___stl_sequent__TOP__0(vlSelf); } } VL_ATTR_COLD void Vcomputer___024root___stl_sequent__TOP__0(Vcomputer___024root* vlSelf) { (void)vlSelf; // Prevent unused variable warning Vcomputer__Syms* const __restrict vlSymsp VL_ATTR_UNUSED = vlSelf->vlSymsp; VL_DEBUG_IF(VL_DBG_MSGF("+ Vcomputer___024root___stl_sequent__TOP__0\n"); ); auto &vlSelfRef = std::ref(*vlSelf).get(); // Init CData/*1:0*/ computer__DOT__BusSel; computer__DOT__BusSel = 0; CData/*7:0*/ computer__DOT__InstructionData; computer__DOT__InstructionData = 0; // Body vlSelfRef.videoSignal = (1U & (vlSelfRef.computer__DOT__memoryandvideo__DOT__RAM [(7U & ((IData)(vlSelfRef.computer__DOT__memoryandvideo__DOT__pixelCounter) >> 3U))] >> (7U & (IData)(vlSelfRef.computer__DOT__memoryandvideo__DOT__pixelCounter)))); vlSelfRef.computer__DOT__RegisterSel = (3U & (vlSelfRef.computer__DOT__program_rom [vlSelfRef.PC] >> 9U)); vlSelfRef.computer__DOT____Vcellinp__Conditional____pinNumber2 = (7U & (vlSelfRef.computer__DOT__program_rom [vlSelfRef.PC] >> 0xaU)); vlSelfRef.computer__DOT__OperationSel = (7U & ( vlSelfRef.computer__DOT__program_rom [vlSelfRef.PC] >> 0xdU)); computer__DOT__BusSel = (3U & (vlSelfRef.computer__DOT__program_rom [vlSelfRef.PC] >> 0xbU)); computer__DOT__InstructionData = (0xffU & vlSelfRef.computer__DOT__program_rom [vlSelfRef.PC]); vlSelfRef.computer__DOT__AddressBus = ((0x100U & vlSelfRef.computer__DOT__program_rom [vlSelfRef.PC]) ? (IData)(vlSelfRef.computer__DOT__X) : (IData)(computer__DOT__InstructionData)); vlSelfRef.computer__DOT____Vcellinp__memoryandvideo____pinNumber2 = (((IData)(vlSelfRef.computer__DOT__MP) << 8U) | (IData)(vlSelfRef.computer__DOT__AddressBus)); vlSelfRef.computer__DOT__B = ((0U == (IData)(computer__DOT__BusSel)) ? vlSelfRef.computer__DOT__memoryandvideo__DOT__RAM [vlSelfRef.computer__DOT____Vcellinp__memoryandvideo____pinNumber2] : ((1U == (IData)(computer__DOT__BusSel)) ? (IData)(computer__DOT__InstructionData) : ((2U == (IData)(computer__DOT__BusSel)) ? 0U : (IData)(vlSelfRef.ACC)))); if ((4U & (IData)(vlSelfRef.computer__DOT__OperationSel))) { vlSelfRef.computer__DOT__carry = (1U & ((1U & (~ ((IData)(vlSelfRef.computer__DOT__OperationSel) >> 1U))) && (1U & ((1U & (IData)(vlSelfRef.computer__DOT__OperationSel)) ? (1U & (((IData)(vlSelfRef.ACC) - (IData)(vlSelfRef.computer__DOT__B)) >> 8U)) : (1U & (((IData)(vlSelfRef.ACC) + (IData)(vlSelfRef.computer__DOT__B)) >> 8U)))))); vlSelfRef.computer__DOT__Y = (0xffU & ((2U & (IData)(vlSelfRef.computer__DOT__OperationSel)) ? 0U : ( (1U & (IData)(vlSelfRef.computer__DOT__OperationSel)) ? ((IData)(vlSelfRef.ACC) - (IData)(vlSelfRef.computer__DOT__B)) : ((IData)(vlSelfRef.ACC) + (IData)(vlSelfRef.computer__DOT__B))))); } else if ((2U & (IData)(vlSelfRef.computer__DOT__OperationSel))) { if ((1U & (IData)(vlSelfRef.computer__DOT__OperationSel))) { vlSelfRef.computer__DOT__carry = (1U & (((IData)(vlSelfRef.ACC) ^ (IData)(vlSelfRef.computer__DOT__B)) >> 8U)); vlSelfRef.computer__DOT__Y = (0xffU & ((IData)(vlSelfRef.ACC) ^ (IData)(vlSelfRef.computer__DOT__B))); } else { vlSelfRef.computer__DOT__carry = (1U & (((IData)(vlSelfRef.ACC) | (IData)(vlSelfRef.computer__DOT__B)) >> 8U)); vlSelfRef.computer__DOT__Y = (0xffU & ((IData)(vlSelfRef.ACC) | (IData)(vlSelfRef.computer__DOT__B))); } } else if ((1U & (IData)(vlSelfRef.computer__DOT__OperationSel))) { vlSelfRef.computer__DOT__carry = (1U & (((IData)(vlSelfRef.ACC) & (IData)(vlSelfRef.computer__DOT__B)) >> 8U)); vlSelfRef.computer__DOT__Y = (0xffU & ((IData)(vlSelfRef.ACC) & (IData)(vlSelfRef.computer__DOT__B))); } else { vlSelfRef.computer__DOT__carry = (1U & ((IData)(vlSelfRef.computer__DOT__B) >> 8U)); vlSelfRef.computer__DOT__Y = (0xffU & (IData)(vlSelfRef.computer__DOT__B)); } } VL_ATTR_COLD void Vcomputer___024root___eval_triggers__stl(Vcomputer___024root* vlSelf); VL_ATTR_COLD bool Vcomputer___024root___eval_phase__stl(Vcomputer___024root* vlSelf) { (void)vlSelf; // Prevent unused variable warning Vcomputer__Syms* const __restrict vlSymsp VL_ATTR_UNUSED = vlSelf->vlSymsp; VL_DEBUG_IF(VL_DBG_MSGF("+ Vcomputer___024root___eval_phase__stl\n"); ); auto &vlSelfRef = std::ref(*vlSelf).get(); // Init CData/*0:0*/ __VstlExecute; // Body Vcomputer___024root___eval_triggers__stl(vlSelf); __VstlExecute = vlSelfRef.__VstlTriggered.any(); if (__VstlExecute) { Vcomputer___024root___eval_stl(vlSelf); } return (__VstlExecute); } #ifdef VL_DEBUG VL_ATTR_COLD void Vcomputer___024root___dump_triggers__act(Vcomputer___024root* vlSelf) { (void)vlSelf; // Prevent unused variable warning Vcomputer__Syms* const __restrict vlSymsp VL_ATTR_UNUSED = vlSelf->vlSymsp; VL_DEBUG_IF(VL_DBG_MSGF("+ Vcomputer___024root___dump_triggers__act\n"); ); auto &vlSelfRef = std::ref(*vlSelf).get(); // Body if ((1U & (~ vlSelfRef.__VactTriggered.any()))) { VL_DBG_MSGF(" No triggers active\n"); } if ((1ULL & vlSelfRef.__VactTriggered.word(0U))) { VL_DBG_MSGF(" 'act' region trigger index 0 is active: @(posedge clk)\n"); } } #endif // VL_DEBUG #ifdef VL_DEBUG VL_ATTR_COLD void Vcomputer___024root___dump_triggers__nba(Vcomputer___024root* vlSelf) { (void)vlSelf; // Prevent unused variable warning Vcomputer__Syms* const __restrict vlSymsp VL_ATTR_UNUSED = vlSelf->vlSymsp; VL_DEBUG_IF(VL_DBG_MSGF("+ Vcomputer___024root___dump_triggers__nba\n"); ); auto &vlSelfRef = std::ref(*vlSelf).get(); // Body if ((1U & (~ vlSelfRef.__VnbaTriggered.any()))) { VL_DBG_MSGF(" No triggers active\n"); } if ((1ULL & vlSelfRef.__VnbaTriggered.word(0U))) { VL_DBG_MSGF(" 'nba' region trigger index 0 is active: @(posedge clk)\n"); } } #endif // VL_DEBUG VL_ATTR_COLD void Vcomputer___024root___ctor_var_reset(Vcomputer___024root* vlSelf) { (void)vlSelf; // Prevent unused variable warning Vcomputer__Syms* const __restrict vlSymsp VL_ATTR_UNUSED = vlSelf->vlSymsp; VL_DEBUG_IF(VL_DBG_MSGF("+ Vcomputer___024root___ctor_var_reset\n"); ); auto &vlSelfRef = std::ref(*vlSelf).get(); // Body vlSelf->clk = VL_RAND_RESET_I(1); vlSelf->videoSignal = VL_RAND_RESET_I(1); vlSelf->reset = VL_RAND_RESET_I(1); vlSelf->PC = VL_RAND_RESET_I(16); vlSelf->ACC = VL_RAND_RESET_I(8); vlSelf->computer__DOT__X = VL_RAND_RESET_I(8); vlSelf->computer__DOT__MP = VL_RAND_RESET_I(8); vlSelf->computer__DOT__carryReg = VL_RAND_RESET_I(1); vlSelf->computer__DOT__B = VL_RAND_RESET_I(8); vlSelf->computer__DOT__AddressBus = VL_RAND_RESET_I(8); vlSelf->computer__DOT__carry = VL_RAND_RESET_I(1); vlSelf->computer__DOT__Y = VL_RAND_RESET_I(8); vlSelf->computer__DOT__PP = VL_RAND_RESET_I(8); vlSelf->computer__DOT__RegisterSel = VL_RAND_RESET_I(2); vlSelf->computer__DOT__OperationSel = VL_RAND_RESET_I(3); vlSelf->computer__DOT____Vcellinp__Conditional____pinNumber2 = VL_RAND_RESET_I(3); vlSelf->computer__DOT____Vcellinp__memoryandvideo____pinNumber2 = VL_RAND_RESET_I(16); for (int __Vi0 = 0; __Vi0 < 65536; ++__Vi0) { vlSelf->computer__DOT__program_rom[__Vi0] = VL_RAND_RESET_I(16); } vlSelf->computer__DOT__memoryandvideo__DOT__pixelCounter = VL_RAND_RESET_I(6); for (int __Vi0 = 0; __Vi0 < 65536; ++__Vi0) { vlSelf->computer__DOT__memoryandvideo__DOT__RAM[__Vi0] = VL_RAND_RESET_I(8); } vlSelf->__Vtrigprevexpr___TOP__clk__0 = VL_RAND_RESET_I(1); }