blob: 4a9f08eb2d2e804a837388bab756a522a3cd4acb (
plain) (
tree)
|
|
// Verilated -*- C++ -*-
// DESCRIPTION: Verilator output: Design implementation internals
// See Valu6.h for the primary calling header
#include "verilated.h"
#include "Valu6___024root.h"
VL_INLINE_OPT void Valu6___024root___combo__TOP__0(Valu6___024root* vlSelf) {
if (false && vlSelf) {} // Prevent unused
Valu6__Syms* const __restrict vlSymsp VL_ATTR_UNUSED = vlSelf->vlSymsp;
VL_DEBUG_IF(VL_DBG_MSGF("+ Valu6___024root___combo__TOP__0\n"); );
// Body
vlSelf->alu6__DOT__sum = (vlSelf->alu_in_1 + ((IData)(
(((IData)(vlSelf->alu_op_i)
>> 3U)
| (2U
==
(3U
& (IData)(vlSelf->alu_op_i)))))
?
((IData)(1U)
+
(~ vlSelf->alu_in_2))
: vlSelf->alu_in_2));
vlSelf->alu_output = ((0U == (7U & (IData)(vlSelf->alu_op_i)))
? vlSelf->alu6__DOT__sum
: ((4U == (7U & (IData)(vlSelf->alu_op_i)))
? (vlSelf->alu_in_1
^ vlSelf->alu_in_2)
: ((6U == (7U & (IData)(vlSelf->alu_op_i)))
? (vlSelf->alu_in_1
| vlSelf->alu_in_2)
: ((7U == (7U & (IData)(vlSelf->alu_op_i)))
? (vlSelf->alu_in_1
& vlSelf->alu_in_2)
: ((1U == (7U
& (IData)(vlSelf->alu_op_i)))
? ((0x40U
& vlSelf->alu_in_2)
? 0U
: ((0x1fU
>=
(0x3fU
& vlSelf->alu_in_2))
?
(vlSelf->alu_in_1
<<
(0x3fU
& vlSelf->alu_in_2))
: 0U))
: ((5U ==
(7U
& (IData)(vlSelf->alu_op_i)))
? ((
(0x1fU
>=
(0x3fU
& vlSelf->alu_in_2))
?
(vlSelf->alu_in_1
>>
(0x3fU
& vlSelf->alu_in_2))
: 0U)
| ((8U
& (IData)(vlSelf->alu_op_i))
?
((IData)(0xffffffffU)
<<
((vlSelf->alu_in_2
>> 0x1fU)
? 0U
:
((0x10U
& ((~
(vlSelf->alu_in_2
>> 4U))
<< 4U))
| ((8U
& ((~
(vlSelf->alu_in_2
>> 3U))
<< 3U))
| ((4U
& ((~
(vlSelf->alu_in_2
>> 2U))
<< 2U))
| ((2U
& ((~
(vlSelf->alu_in_2
>> 1U))
<< 1U))
| (1U
& (~ vlSelf->alu_in_2))))))))
: 0U))
: ((2U
==
(7U
& (IData)(vlSelf->alu_op_i)))
?
(vlSelf->alu6__DOT__sum
>> 0x1fU)
:
((3U
==
(7U
& (IData)(vlSelf->alu_op_i)))
?
((vlSelf->alu_in_1
< vlSelf->alu_in_2)
? 1U
: 0U)
: 0U))))))));
}
void Valu6___024root___eval(Valu6___024root* vlSelf) {
if (false && vlSelf) {} // Prevent unused
Valu6__Syms* const __restrict vlSymsp VL_ATTR_UNUSED = vlSelf->vlSymsp;
VL_DEBUG_IF(VL_DBG_MSGF("+ Valu6___024root___eval\n"); );
// Body
Valu6___024root___combo__TOP__0(vlSelf);
}
#ifdef VL_DEBUG
void Valu6___024root___eval_debug_assertions(Valu6___024root* vlSelf) {
if (false && vlSelf) {} // Prevent unused
Valu6__Syms* const __restrict vlSymsp VL_ATTR_UNUSED = vlSelf->vlSymsp;
VL_DEBUG_IF(VL_DBG_MSGF("+ Valu6___024root___eval_debug_assertions\n"); );
// Body
if (VL_UNLIKELY((vlSelf->alu_op_i & 0xf0U))) {
Verilated::overWidthError("alu_op_i");}
}
#endif // VL_DEBUG
|