// Verilated -*- C++ -*- // DESCRIPTION: Verilator output: Tracing implementation internals #include "verilated_vcd_c.h" #include "Valu6__Syms.h" //====================== void Valu6::trace(VerilatedVcdC* tfp, int, int) { tfp->spTrace()->addInitCb(&traceInit, __VlSymsp); traceRegister(tfp->spTrace()); } void Valu6::traceInit(void* userp, VerilatedVcd* tracep, uint32_t code) { // Callback from tracep->open() Valu6__Syms* __restrict vlSymsp = static_cast(userp); if (!Verilated::calcUnusedSigs()) { VL_FATAL_MT(__FILE__, __LINE__, __FILE__, "Turning on wave traces requires Verilated::traceEverOn(true) call before time 0."); } vlSymsp->__Vm_baseCode = code; tracep->module(vlSymsp->name()); tracep->scopeEscape(' '); Valu6::traceInitTop(vlSymsp, tracep); tracep->scopeEscape('.'); } //====================== void Valu6::traceInitTop(void* userp, VerilatedVcd* tracep) { Valu6__Syms* __restrict vlSymsp = static_cast(userp); Valu6* const __restrict vlTOPp VL_ATTR_UNUSED = vlSymsp->TOPp; // Body { vlTOPp->traceInitSub0(userp, tracep); } } void Valu6::traceInitSub0(void* userp, VerilatedVcd* tracep) { Valu6__Syms* __restrict vlSymsp = static_cast(userp); Valu6* const __restrict vlTOPp VL_ATTR_UNUSED = vlSymsp->TOPp; const int c = vlSymsp->__Vm_baseCode; if (false && tracep && c) {} // Prevent unused // Body { tracep->declBus(c+1,"alu_in_1", false,-1, 31,0); tracep->declBus(c+2,"alu_in_2", false,-1, 31,0); tracep->declBus(c+3,"alu_op_i", false,-1, 3,0); tracep->declBus(c+4,"alu_output", false,-1, 31,0); tracep->declBus(c+1,"alu6 alu_in_1", false,-1, 31,0); tracep->declBus(c+2,"alu6 alu_in_2", false,-1, 31,0); tracep->declBus(c+3,"alu6 alu_op_i", false,-1, 3,0); tracep->declBus(c+4,"alu6 alu_output", false,-1, 31,0); tracep->declBus(c+5,"alu6 complement2", false,-1, 31,0); tracep->declBus(c+6,"alu6 sum", false,-1, 31,0); tracep->declBus(c+7,"alu6 right", false,-1, 31,0); } } void Valu6::traceRegister(VerilatedVcd* tracep) { // Body { tracep->addFullCb(&traceFullTop0, __VlSymsp); tracep->addChgCb(&traceChgTop0, __VlSymsp); tracep->addCleanupCb(&traceCleanup, __VlSymsp); } } void Valu6::traceFullTop0(void* userp, VerilatedVcd* tracep) { Valu6__Syms* __restrict vlSymsp = static_cast(userp); Valu6* const __restrict vlTOPp VL_ATTR_UNUSED = vlSymsp->TOPp; // Body { vlTOPp->traceFullSub0(userp, tracep); } } void Valu6::traceFullSub0(void* userp, VerilatedVcd* tracep) { Valu6__Syms* __restrict vlSymsp = static_cast(userp); Valu6* const __restrict vlTOPp VL_ATTR_UNUSED = vlSymsp->TOPp; vluint32_t* const oldp = tracep->oldp(vlSymsp->__Vm_baseCode); if (false && oldp) {} // Prevent unused // Body { tracep->fullIData(oldp+1,(vlTOPp->alu_in_1),32); tracep->fullIData(oldp+2,(vlTOPp->alu_in_2),32); tracep->fullCData(oldp+3,(vlTOPp->alu_op_i),4); tracep->fullIData(oldp+4,(vlTOPp->alu_output),32); tracep->fullIData(oldp+5,(((IData)(1U) + (~ vlTOPp->alu_in_2))),32); tracep->fullIData(oldp+6,(vlTOPp->alu6__DOT__sum),32); tracep->fullIData(oldp+7,((((0x1fU >= (0x3fU & vlTOPp->alu_in_2)) ? (vlTOPp->alu_in_1 >> (0x3fU & vlTOPp->alu_in_2)) : 0U) | ((8U & (IData)(vlTOPp->alu_op_i)) ? ((IData)(0xffffffffU) << ((0x80000000U & vlTOPp->alu_in_2) ? 0U : ((0x10U & ((~ (vlTOPp->alu_in_2 >> 4U)) << 4U)) | ((8U & ((~ (vlTOPp->alu_in_2 >> 3U)) << 3U)) | ((4U & ((~ (vlTOPp->alu_in_2 >> 2U)) << 2U)) | ((2U & ((~ (vlTOPp->alu_in_2 >> 1U)) << 1U)) | (1U & (~ vlTOPp->alu_in_2)))))))) : 0U))),32); } }