From b8936029065835366e9e057a219c0c5194db8662 Mon Sep 17 00:00:00 2001 From: joshua Date: Sat, 14 May 2022 23:30:38 -0500 Subject: Verilog update --- verilog/alu/v6/obj_dir/Valu6__Trace__Slow.cpp | 127 ++++++++++++++++++++++++++ 1 file changed, 127 insertions(+) create mode 100644 verilog/alu/v6/obj_dir/Valu6__Trace__Slow.cpp (limited to 'verilog/alu/v6/obj_dir/Valu6__Trace__Slow.cpp') diff --git a/verilog/alu/v6/obj_dir/Valu6__Trace__Slow.cpp b/verilog/alu/v6/obj_dir/Valu6__Trace__Slow.cpp new file mode 100644 index 0000000..89bdf46 --- /dev/null +++ b/verilog/alu/v6/obj_dir/Valu6__Trace__Slow.cpp @@ -0,0 +1,127 @@ +// 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); + } +} -- cgit v1.2.3