166 lines
6.8 KiB
C++
166 lines
6.8 KiB
C++
// Verilated -*- C++ -*-
|
|
// DESCRIPTION: Verilator output: Design implementation internals
|
|
// See Vtb.h for the primary calling header
|
|
|
|
#include "verilated.h"
|
|
|
|
#include "Vtb___024root.h"
|
|
|
|
VL_ATTR_COLD void Vtb___024root___eval_static__TOP(Vtb___024root* vlSelf);
|
|
|
|
VL_ATTR_COLD void Vtb___024root___eval_static(Vtb___024root* vlSelf) {
|
|
if (false && vlSelf) {} // Prevent unused
|
|
Vtb__Syms* const __restrict vlSymsp VL_ATTR_UNUSED = vlSelf->vlSymsp;
|
|
VL_DEBUG_IF(VL_DBG_MSGF("+ Vtb___024root___eval_static\n"); );
|
|
// Body
|
|
Vtb___024root___eval_static__TOP(vlSelf);
|
|
}
|
|
|
|
VL_ATTR_COLD void Vtb___024root___eval_static__TOP(Vtb___024root* vlSelf) {
|
|
if (false && vlSelf) {} // Prevent unused
|
|
Vtb__Syms* const __restrict vlSymsp VL_ATTR_UNUSED = vlSelf->vlSymsp;
|
|
VL_DEBUG_IF(VL_DBG_MSGF("+ Vtb___024root___eval_static__TOP\n"); );
|
|
// Body
|
|
vlSelf->tb__DOT__clk = 0U;
|
|
vlSelf->tb__DOT__uut__DOT__cevrim_r = 0U;
|
|
vlSelf->tb__DOT__uut__DOT__y_0 = 0U;
|
|
vlSelf->tb__DOT__uut__DOT__y_1 = 0U;
|
|
vlSelf->tb__DOT__uut__DOT__y_2 = 0U;
|
|
}
|
|
|
|
VL_ATTR_COLD void Vtb___024root___eval_final(Vtb___024root* vlSelf) {
|
|
if (false && vlSelf) {} // Prevent unused
|
|
Vtb__Syms* const __restrict vlSymsp VL_ATTR_UNUSED = vlSelf->vlSymsp;
|
|
VL_DEBUG_IF(VL_DBG_MSGF("+ Vtb___024root___eval_final\n"); );
|
|
}
|
|
|
|
VL_ATTR_COLD void Vtb___024root___eval_triggers__stl(Vtb___024root* vlSelf);
|
|
#ifdef VL_DEBUG
|
|
VL_ATTR_COLD void Vtb___024root___dump_triggers__stl(Vtb___024root* vlSelf);
|
|
#endif // VL_DEBUG
|
|
VL_ATTR_COLD void Vtb___024root___eval_stl(Vtb___024root* vlSelf);
|
|
|
|
VL_ATTR_COLD void Vtb___024root___eval_settle(Vtb___024root* vlSelf) {
|
|
if (false && vlSelf) {} // Prevent unused
|
|
Vtb__Syms* const __restrict vlSymsp VL_ATTR_UNUSED = vlSelf->vlSymsp;
|
|
VL_DEBUG_IF(VL_DBG_MSGF("+ Vtb___024root___eval_settle\n"); );
|
|
// Init
|
|
CData/*0:0*/ __VstlContinue;
|
|
// Body
|
|
vlSelf->__VstlIterCount = 0U;
|
|
__VstlContinue = 1U;
|
|
while (__VstlContinue) {
|
|
__VstlContinue = 0U;
|
|
Vtb___024root___eval_triggers__stl(vlSelf);
|
|
if (vlSelf->__VstlTriggered.any()) {
|
|
__VstlContinue = 1U;
|
|
if (VL_UNLIKELY((0x64U < vlSelf->__VstlIterCount))) {
|
|
#ifdef VL_DEBUG
|
|
Vtb___024root___dump_triggers__stl(vlSelf);
|
|
#endif
|
|
VL_FATAL_MT("tb.v", 1, "", "Settle region did not converge.");
|
|
}
|
|
vlSelf->__VstlIterCount = ((IData)(1U)
|
|
+ vlSelf->__VstlIterCount);
|
|
Vtb___024root___eval_stl(vlSelf);
|
|
}
|
|
}
|
|
}
|
|
|
|
#ifdef VL_DEBUG
|
|
VL_ATTR_COLD void Vtb___024root___dump_triggers__stl(Vtb___024root* vlSelf) {
|
|
if (false && vlSelf) {} // Prevent unused
|
|
Vtb__Syms* const __restrict vlSymsp VL_ATTR_UNUSED = vlSelf->vlSymsp;
|
|
VL_DEBUG_IF(VL_DBG_MSGF("+ Vtb___024root___dump_triggers__stl\n"); );
|
|
// Body
|
|
if ((1U & (~ (IData)(vlSelf->__VstlTriggered.any())))) {
|
|
VL_DBG_MSGF(" No triggers active\n");
|
|
}
|
|
if (vlSelf->__VstlTriggered.at(0U)) {
|
|
VL_DBG_MSGF(" 'stl' region trigger index 0 is active: Internal 'stl' trigger - first iteration\n");
|
|
}
|
|
}
|
|
#endif // VL_DEBUG
|
|
|
|
VL_ATTR_COLD void Vtb___024root___stl_sequent__TOP__0(Vtb___024root* vlSelf) {
|
|
if (false && vlSelf) {} // Prevent unused
|
|
Vtb__Syms* const __restrict vlSymsp VL_ATTR_UNUSED = vlSelf->vlSymsp;
|
|
VL_DEBUG_IF(VL_DBG_MSGF("+ Vtb___024root___stl_sequent__TOP__0\n"); );
|
|
// Body
|
|
vlSelf->tb__DOT__cevrim = vlSelf->tb__DOT__uut__DOT__cevrim_r;
|
|
vlSelf->tb__DOT__bitti_mi = (0x10U == (IData)(vlSelf->tb__DOT__uut__DOT__cevrim_r));
|
|
}
|
|
|
|
VL_ATTR_COLD void Vtb___024root___eval_stl(Vtb___024root* vlSelf) {
|
|
if (false && vlSelf) {} // Prevent unused
|
|
Vtb__Syms* const __restrict vlSymsp VL_ATTR_UNUSED = vlSelf->vlSymsp;
|
|
VL_DEBUG_IF(VL_DBG_MSGF("+ Vtb___024root___eval_stl\n"); );
|
|
// Body
|
|
if (vlSelf->__VstlTriggered.at(0U)) {
|
|
Vtb___024root___stl_sequent__TOP__0(vlSelf);
|
|
}
|
|
}
|
|
|
|
#ifdef VL_DEBUG
|
|
VL_ATTR_COLD void Vtb___024root___dump_triggers__act(Vtb___024root* vlSelf) {
|
|
if (false && vlSelf) {} // Prevent unused
|
|
Vtb__Syms* const __restrict vlSymsp VL_ATTR_UNUSED = vlSelf->vlSymsp;
|
|
VL_DEBUG_IF(VL_DBG_MSGF("+ Vtb___024root___dump_triggers__act\n"); );
|
|
// Body
|
|
if ((1U & (~ (IData)(vlSelf->__VactTriggered.any())))) {
|
|
VL_DBG_MSGF(" No triggers active\n");
|
|
}
|
|
if (vlSelf->__VactTriggered.at(0U)) {
|
|
VL_DBG_MSGF(" 'act' region trigger index 0 is active: @(posedge tb.clk)\n");
|
|
}
|
|
if (vlSelf->__VactTriggered.at(1U)) {
|
|
VL_DBG_MSGF(" 'act' region trigger index 1 is active: @(posedge tb.bitti_mi)\n");
|
|
}
|
|
if (vlSelf->__VactTriggered.at(2U)) {
|
|
VL_DBG_MSGF(" 'act' region trigger index 2 is active: @([true] __VdlySched.awaitingCurrentTime())\n");
|
|
}
|
|
}
|
|
#endif // VL_DEBUG
|
|
|
|
#ifdef VL_DEBUG
|
|
VL_ATTR_COLD void Vtb___024root___dump_triggers__nba(Vtb___024root* vlSelf) {
|
|
if (false && vlSelf) {} // Prevent unused
|
|
Vtb__Syms* const __restrict vlSymsp VL_ATTR_UNUSED = vlSelf->vlSymsp;
|
|
VL_DEBUG_IF(VL_DBG_MSGF("+ Vtb___024root___dump_triggers__nba\n"); );
|
|
// Body
|
|
if ((1U & (~ (IData)(vlSelf->__VnbaTriggered.any())))) {
|
|
VL_DBG_MSGF(" No triggers active\n");
|
|
}
|
|
if (vlSelf->__VnbaTriggered.at(0U)) {
|
|
VL_DBG_MSGF(" 'nba' region trigger index 0 is active: @(posedge tb.clk)\n");
|
|
}
|
|
if (vlSelf->__VnbaTriggered.at(1U)) {
|
|
VL_DBG_MSGF(" 'nba' region trigger index 1 is active: @(posedge tb.bitti_mi)\n");
|
|
}
|
|
if (vlSelf->__VnbaTriggered.at(2U)) {
|
|
VL_DBG_MSGF(" 'nba' region trigger index 2 is active: @([true] __VdlySched.awaitingCurrentTime())\n");
|
|
}
|
|
}
|
|
#endif // VL_DEBUG
|
|
|
|
VL_ATTR_COLD void Vtb___024root___ctor_var_reset(Vtb___024root* vlSelf) {
|
|
if (false && vlSelf) {} // Prevent unused
|
|
Vtb__Syms* const __restrict vlSymsp VL_ATTR_UNUSED = vlSelf->vlSymsp;
|
|
VL_DEBUG_IF(VL_DBG_MSGF("+ Vtb___024root___ctor_var_reset\n"); );
|
|
// Body
|
|
vlSelf->tb__DOT__parca = VL_RAND_RESET_I(3);
|
|
vlSelf->tb__DOT__clk = VL_RAND_RESET_I(1);
|
|
vlSelf->tb__DOT__yukseklik = VL_RAND_RESET_I(5);
|
|
vlSelf->tb__DOT__cevrim = VL_RAND_RESET_I(5);
|
|
vlSelf->tb__DOT__bitti_mi = VL_RAND_RESET_I(1);
|
|
vlSelf->tb__DOT__uut__DOT__cevrim_r = VL_RAND_RESET_I(5);
|
|
vlSelf->tb__DOT__uut__DOT__y_0 = VL_RAND_RESET_I(5);
|
|
vlSelf->tb__DOT__uut__DOT__y_1 = VL_RAND_RESET_I(5);
|
|
vlSelf->tb__DOT__uut__DOT__y_2 = VL_RAND_RESET_I(5);
|
|
vlSelf->__Vdly__tb__DOT__uut__DOT__y_0 = VL_RAND_RESET_I(5);
|
|
vlSelf->__Vdly__tb__DOT__uut__DOT__y_1 = VL_RAND_RESET_I(5);
|
|
vlSelf->__Vdly__tb__DOT__uut__DOT__y_2 = VL_RAND_RESET_I(5);
|
|
vlSelf->__Vtrigrprev__TOP__tb__DOT__clk = VL_RAND_RESET_I(1);
|
|
vlSelf->__Vtrigrprev__TOP__tb__DOT__bitti_mi = VL_RAND_RESET_I(1);
|
|
}
|