// Verilated -*- C++ -*- // DESCRIPTION: Verilator output: Design implementation internals // See Valu.h for the primary calling header #include "verilated.h" #include "Valu___024root.h" VL_INLINE_OPT void Valu___024root___combo__TOP__0(Valu___024root* vlSelf) { if (false && vlSelf) {} // Prevent unused Valu__Syms* const __restrict vlSymsp VL_ATTR_UNUSED = vlSelf->vlSymsp; VL_DEBUG_IF(VL_DBG_MSGF("+ Valu___024root___combo__TOP__0\n"); ); // Body vlSelf->alu__DOT__result = ((8U & (IData)(vlSelf->op)) ? ((4U & (IData)(vlSelf->op)) ? ((2U & (IData)(vlSelf->op)) ? ((1U & (IData)(vlSelf->op)) ? vlSelf->in1 : 0U) : ((1U & (IData)(vlSelf->op)) ? (((0x1fU >= vlSelf->in2) ? (vlSelf->in1 >> vlSelf->in2) : 0U) | ((vlSelf->in1 >> 0x1fU) ? ((IData)(0xffffffffU) << ((0x10U & ((~ (vlSelf->in2 >> 4U)) << 4U)) | ((8U & ((~ (vlSelf->in2 >> 3U)) << 3U)) | ((4U & ((~ (vlSelf->in2 >> 2U)) << 2U)) | ((2U & ((~ (vlSelf->in2 >> 1U)) << 1U)) | (1U & (~ vlSelf->in2))))))) : 0U)) : 0U)) : 0U) : ((4U & (IData)(vlSelf->op)) ? ((2U & (IData)(vlSelf->op)) ? ((1U & (IData)(vlSelf->op)) ? (vlSelf->in1 & vlSelf->in2) : (vlSelf->in1 | vlSelf->in2)) : ((1U & (IData)(vlSelf->op)) ? ((0x1fU >= vlSelf->in2) ? (vlSelf->in1 >> vlSelf->in2) : 0U) : (vlSelf->in1 - vlSelf->in2))) : ((2U & (IData)(vlSelf->op)) ? ((1U & (IData)(vlSelf->op)) ? ((vlSelf->in1 < vlSelf->in2) ? 1U : 0U) : (((vlSelf->in1 >> 0x1fU) == (vlSelf->in2 >> 0x1fU)) ? 0U : ((vlSelf->in1 >> 0x1fU) ? 1U : 0U))) : ((1U & (IData)(vlSelf->op)) ? ((0x1fU >= vlSelf->in2) ? (vlSelf->in1 >> vlSelf->in2) : 0U) : (vlSelf->in1 + vlSelf->in2))))); vlSelf->out = vlSelf->alu__DOT__result; } void Valu___024root___eval(Valu___024root* vlSelf) { if (false && vlSelf) {} // Prevent unused Valu__Syms* const __restrict vlSymsp VL_ATTR_UNUSED = vlSelf->vlSymsp; VL_DEBUG_IF(VL_DBG_MSGF("+ Valu___024root___eval\n"); ); // Body Valu___024root___combo__TOP__0(vlSelf); } #ifdef VL_DEBUG void Valu___024root___eval_debug_assertions(Valu___024root* vlSelf) { if (false && vlSelf) {} // Prevent unused Valu__Syms* const __restrict vlSymsp VL_ATTR_UNUSED = vlSelf->vlSymsp; VL_DEBUG_IF(VL_DBG_MSGF("+ Valu___024root___eval_debug_assertions\n"); ); // Body if (VL_UNLIKELY((vlSelf->op & 0xf0U))) { Verilated::overWidthError("op");} } #endif // VL_DEBUG