diff options
| author | Aditya Naik | 2021-05-08 12:51:18 -0400 |
|---|---|---|
| committer | Aditya Naik | 2021-05-08 12:51:18 -0400 |
| commit | 1acccc74b1036d9d3847fdcc60c392125a03be85 (patch) | |
| tree | 609c192f1b3e1b4ab89e1992741d988f4120138c /core/obj_dir | |
Initial
Added work on RV64 I core to date, including tb
Diffstat (limited to 'core/obj_dir')
| -rw-r--r-- | core/obj_dir/Vtb.cpp | 99 | ||||
| -rw-r--r-- | core/obj_dir/Vtb.d | 3 | ||||
| -rw-r--r-- | core/obj_dir/Vtb.h | 88 | ||||
| -rw-r--r-- | core/obj_dir/Vtb.mk | 66 | ||||
| -rw-r--r-- | core/obj_dir/Vtb__ALL.cpp | 5 | ||||
| -rw-r--r-- | core/obj_dir/Vtb__ALL.d | 5 | ||||
| -rw-r--r-- | core/obj_dir/Vtb__Slow.cpp | 117 | ||||
| -rw-r--r-- | core/obj_dir/Vtb__Syms.cpp | 21 | ||||
| -rw-r--r-- | core/obj_dir/Vtb__Syms.h | 35 | ||||
| -rw-r--r-- | core/obj_dir/Vtb__ver.d | 1 | ||||
| -rw-r--r-- | core/obj_dir/Vtb__verFiles.dat | 14 | ||||
| -rw-r--r-- | core/obj_dir/Vtb_classes.mk | 49 | ||||
| -rw-r--r-- | core/obj_dir/verilated.d | 8 |
13 files changed, 511 insertions, 0 deletions
diff --git a/core/obj_dir/Vtb.cpp b/core/obj_dir/Vtb.cpp new file mode 100644 index 0000000..f84c787 --- /dev/null +++ b/core/obj_dir/Vtb.cpp @@ -0,0 +1,99 @@ +// Verilated -*- C++ -*- +// DESCRIPTION: Verilator output: Design implementation internals +// See Vtb.h for the primary calling header + +#include "Vtb.h" +#include "Vtb__Syms.h" + +//========== + +void Vtb::eval_step() { + VL_DEBUG_IF(VL_DBG_MSGF("+++++TOP Evaluate Vtb::eval\n"); ); + Vtb__Syms* __restrict vlSymsp = this->__VlSymsp; // Setup global symbol table + Vtb* const __restrict vlTOPp VL_ATTR_UNUSED = vlSymsp->TOPp; +#ifdef VL_DEBUG + // Debug assertions + _eval_debug_assertions(); +#endif // VL_DEBUG + // Initialize + if (VL_UNLIKELY(!vlSymsp->__Vm_didInit)) _eval_initial_loop(vlSymsp); + // Evaluate till stable + int __VclockLoop = 0; + QData __Vchange = 1; + do { + VL_DEBUG_IF(VL_DBG_MSGF("+ Clock loop\n");); + _eval(vlSymsp); + if (VL_UNLIKELY(++__VclockLoop > 100)) { + // About to fail, so enable debug to see what's not settling. + // Note you must run make with OPT=-DVL_DEBUG for debug prints. + int __Vsaved_debug = Verilated::debug(); + Verilated::debug(1); + __Vchange = _change_request(vlSymsp); + Verilated::debug(__Vsaved_debug); + VL_FATAL_MT("tb.v", 6, "", + "Verilated model didn't converge\n" + "- See DIDNOTCONVERGE in the Verilator manual"); + } else { + __Vchange = _change_request(vlSymsp); + } + } while (VL_UNLIKELY(__Vchange)); +} + +void Vtb::_eval_initial_loop(Vtb__Syms* __restrict vlSymsp) { + vlSymsp->__Vm_didInit = true; + _eval_initial(vlSymsp); + // Evaluate till stable + int __VclockLoop = 0; + QData __Vchange = 1; + do { + _eval_settle(vlSymsp); + _eval(vlSymsp); + if (VL_UNLIKELY(++__VclockLoop > 100)) { + // About to fail, so enable debug to see what's not settling. + // Note you must run make with OPT=-DVL_DEBUG for debug prints. + int __Vsaved_debug = Verilated::debug(); + Verilated::debug(1); + __Vchange = _change_request(vlSymsp); + Verilated::debug(__Vsaved_debug); + VL_FATAL_MT("tb.v", 6, "", + "Verilated model didn't DC converge\n" + "- See DIDNOTCONVERGE in the Verilator manual"); + } else { + __Vchange = _change_request(vlSymsp); + } + } while (VL_UNLIKELY(__Vchange)); +} + +void Vtb::_eval(Vtb__Syms* __restrict vlSymsp) { + VL_DEBUG_IF(VL_DBG_MSGF("+ Vtb::_eval\n"); ); + Vtb* const __restrict vlTOPp VL_ATTR_UNUSED = vlSymsp->TOPp; +} + +VL_INLINE_OPT QData Vtb::_change_request(Vtb__Syms* __restrict vlSymsp) { + VL_DEBUG_IF(VL_DBG_MSGF("+ Vtb::_change_request\n"); ); + Vtb* const __restrict vlTOPp VL_ATTR_UNUSED = vlSymsp->TOPp; + // Body + return (vlTOPp->_change_request_1(vlSymsp)); +} + +VL_INLINE_OPT QData Vtb::_change_request_1(Vtb__Syms* __restrict vlSymsp) { + VL_DEBUG_IF(VL_DBG_MSGF("+ Vtb::_change_request_1\n"); ); + Vtb* const __restrict vlTOPp VL_ATTR_UNUSED = vlSymsp->TOPp; + // Body + // Change detection + QData __req = false; // Logically a bool + __req |= ((vlTOPp->tb__DOT__val1 ^ vlTOPp->__Vchglast__TOP__tb__DOT__val1) + | (vlTOPp->tb__DOT__val2 ^ vlTOPp->__Vchglast__TOP__tb__DOT__val2)); + VL_DEBUG_IF( if(__req && ((vlTOPp->tb__DOT__val1 ^ vlTOPp->__Vchglast__TOP__tb__DOT__val1))) VL_DBG_MSGF(" CHANGE: tb.v:10: tb.val1\n"); ); + VL_DEBUG_IF( if(__req && ((vlTOPp->tb__DOT__val2 ^ vlTOPp->__Vchglast__TOP__tb__DOT__val2))) VL_DBG_MSGF(" CHANGE: tb.v:11: tb.val2\n"); ); + // Final + vlTOPp->__Vchglast__TOP__tb__DOT__val1 = vlTOPp->tb__DOT__val1; + vlTOPp->__Vchglast__TOP__tb__DOT__val2 = vlTOPp->tb__DOT__val2; + return __req; +} + +#ifdef VL_DEBUG +void Vtb::_eval_debug_assertions() { + VL_DEBUG_IF(VL_DBG_MSGF("+ Vtb::_eval_debug_assertions\n"); ); +} +#endif // VL_DEBUG diff --git a/core/obj_dir/Vtb.d b/core/obj_dir/Vtb.d new file mode 100644 index 0000000..65e0d9a --- /dev/null +++ b/core/obj_dir/Vtb.d @@ -0,0 +1,3 @@ +Vtb.o: Vtb.cpp Vtb.h /usr/share/verilator/include/verilated_heavy.h \ + /usr/share/verilator/include/verilated.h \ + /usr/share/verilator/include/verilatedos.h Vtb__Syms.h diff --git a/core/obj_dir/Vtb.h b/core/obj_dir/Vtb.h new file mode 100644 index 0000000..e1386e3 --- /dev/null +++ b/core/obj_dir/Vtb.h @@ -0,0 +1,88 @@ +// Verilated -*- C++ -*- +// DESCRIPTION: Verilator output: Primary design header +// +// This header should be included by all source files instantiating the design. +// The class here is then constructed to instantiate the design. +// See the Verilator manual for examples. + +#ifndef _VTB_H_ +#define _VTB_H_ // guard + +#include "verilated_heavy.h" + +//========== + +class Vtb__Syms; + +//---------- + +VL_MODULE(Vtb) { + public: + + // LOCAL SIGNALS + // Internals; generally not touched by application code + CData/*4:0*/ tb__DOT__read1; + CData/*4:0*/ tb__DOT__read2; + CData/*4:0*/ tb__DOT__write; + QData/*63:0*/ tb__DOT__val1; + QData/*63:0*/ tb__DOT__val2; + QData/*63:0*/ tb__DOT__write_data; + QData/*63:0*/ tb__DOT__r__DOT__reg_array[32]; + + // LOCAL VARIABLES + // Internals; generally not touched by application code + CData/*4:0*/ __Vtask_tb__DOT__r__DOT__write_reg__0__regid; + QData/*63:0*/ __Vtask_tb__DOT__r__DOT__write_reg__0__data; + QData/*63:0*/ __Vchglast__TOP__tb__DOT__val1; + QData/*63:0*/ __Vchglast__TOP__tb__DOT__val2; + + // INTERNAL VARIABLES + // Internals; generally not touched by application code + Vtb__Syms* __VlSymsp; // Symbol table + + // CONSTRUCTORS + private: + VL_UNCOPYABLE(Vtb); ///< Copying not allowed + public: + /// Construct the model; called by application code + /// The special name may be used to make a wrapper with a + /// single model invisible with respect to DPI scope names. + Vtb(const char* name = "TOP"); + /// Destroy the model; called (often implicitly) by application code + ~Vtb(); + + // API METHODS + /// Evaluate the model. Application must call when inputs change. + void eval() { eval_step(); } + /// Evaluate when calling multiple units/models per time step. + void eval_step(); + /// Evaluate at end of a timestep for tracing, when using eval_step(). + /// Application must call after all eval() and before time changes. + void eval_end_step() {} + /// Simulation complete, run final blocks. Application must call on completion. + void final(); + + // INTERNAL METHODS + static void _eval_initial_loop(Vtb__Syms* __restrict vlSymsp); + void __Vconfigure(Vtb__Syms* symsp, bool first); + private: + static QData _change_request(Vtb__Syms* __restrict vlSymsp); + static QData _change_request_1(Vtb__Syms* __restrict vlSymsp); + void _ctor_var_reset() VL_ATTR_COLD; + public: + static void _eval(Vtb__Syms* __restrict vlSymsp); + private: +#ifdef VL_DEBUG + void _eval_debug_assertions(); +#endif // VL_DEBUG + public: + static void _eval_initial(Vtb__Syms* __restrict vlSymsp) VL_ATTR_COLD; + static void _eval_settle(Vtb__Syms* __restrict vlSymsp) VL_ATTR_COLD; + static void _initial__TOP__1(Vtb__Syms* __restrict vlSymsp) VL_ATTR_COLD; + static void _settle__TOP__2(Vtb__Syms* __restrict vlSymsp) VL_ATTR_COLD; +} VL_ATTR_ALIGNED(VL_CACHE_LINE_BYTES); + +//---------- + + +#endif // guard diff --git a/core/obj_dir/Vtb.mk b/core/obj_dir/Vtb.mk new file mode 100644 index 0000000..39f8e31 --- /dev/null +++ b/core/obj_dir/Vtb.mk @@ -0,0 +1,66 @@ +# Verilated -*- Makefile -*- +# DESCRIPTION: Verilator output: Makefile for building Verilated archive or executable +# +# Execute this makefile from the object directory: +# make -f Vtb.mk + +default: Vtb + +### Constants... +# Perl executable (from $PERL) +PERL = perl +# Path to Verilator kit (from $VERILATOR_ROOT) +VERILATOR_ROOT = /usr/share/verilator +# SystemC include directory with systemc.h (from $SYSTEMC_INCLUDE) +SYSTEMC_INCLUDE ?= +# SystemC library directory with libsystemc.a (from $SYSTEMC_LIBDIR) +SYSTEMC_LIBDIR ?= + +### Switches... +# SystemC output mode? 0/1 (from --sc) +VM_SC = 0 +# Legacy or SystemC output mode? 0/1 (from --sc) +VM_SP_OR_SC = $(VM_SC) +# Deprecated +VM_PCLI = 1 +# Deprecated: SystemC architecture to find link library path (from $SYSTEMC_ARCH) +VM_SC_TARGET_ARCH = linux + +### Vars... +# Design prefix (from --prefix) +VM_PREFIX = Vtb +# Module prefix (from --prefix) +VM_MODPREFIX = Vtb +# User CFLAGS (from -CFLAGS on Verilator command line) +VM_USER_CFLAGS = \ + +# User LDLIBS (from -LDFLAGS on Verilator command line) +VM_USER_LDLIBS = \ + +# User .cpp files (from .cpp's on Verilator command line) +VM_USER_CLASSES = \ + Vtb \ + +# User .cpp directories (from .cpp's on Verilator command line) +VM_USER_DIR = \ + . \ + + +### Default rules... +# Include list of all generated classes +include Vtb_classes.mk +# Include global rules +include $(VERILATOR_ROOT)/include/verilated.mk + +### Executable rules... (from --exe) +VPATH += $(VM_USER_DIR) + +Vtb.o: Vtb.cpp + $(OBJCACHE) $(CXX) $(CXXFLAGS) $(CPPFLAGS) $(OPT_FAST) -c -o $@ $< + +### Link rules... (from --exe) +Vtb: $(VK_USER_OBJS) $(VK_GLOBAL_OBJS) $(VM_PREFIX)__ALL.a $(VM_HIER_LIBS) + $(LINK) $(LDFLAGS) $^ $(LOADLIBES) $(LDLIBS) $(LIBS) $(SC_LIBS) -o $@ + + +# Verilated -*- Makefile -*- diff --git a/core/obj_dir/Vtb__ALL.cpp b/core/obj_dir/Vtb__ALL.cpp new file mode 100644 index 0000000..aa3c816 --- /dev/null +++ b/core/obj_dir/Vtb__ALL.cpp @@ -0,0 +1,5 @@ +// DESCRIPTION: Generated by verilator_includer via makefile +#define VL_INCLUDE_OPT include +#include "Vtb.cpp" +#include "Vtb__Slow.cpp" +#include "Vtb__Syms.cpp" diff --git a/core/obj_dir/Vtb__ALL.d b/core/obj_dir/Vtb__ALL.d new file mode 100644 index 0000000..e790eff --- /dev/null +++ b/core/obj_dir/Vtb__ALL.d @@ -0,0 +1,5 @@ +Vtb__ALL.o: Vtb__ALL.cpp Vtb.cpp Vtb.h \ + /usr/share/verilator/include/verilated_heavy.h \ + /usr/share/verilator/include/verilated.h \ + /usr/share/verilator/include/verilatedos.h Vtb__Syms.h Vtb__Slow.cpp \ + Vtb__Syms.cpp diff --git a/core/obj_dir/Vtb__Slow.cpp b/core/obj_dir/Vtb__Slow.cpp new file mode 100644 index 0000000..2423d7b --- /dev/null +++ b/core/obj_dir/Vtb__Slow.cpp @@ -0,0 +1,117 @@ +// Verilated -*- C++ -*- +// DESCRIPTION: Verilator output: Design implementation internals +// See Vtb.h for the primary calling header + +#include "Vtb.h" +#include "Vtb__Syms.h" + +//========== + +VL_CTOR_IMP(Vtb) { + Vtb__Syms* __restrict vlSymsp = __VlSymsp = new Vtb__Syms(this, name()); + Vtb* const __restrict vlTOPp VL_ATTR_UNUSED = vlSymsp->TOPp; + // Reset internal values + + // Reset structure values + _ctor_var_reset(); +} + +void Vtb::__Vconfigure(Vtb__Syms* vlSymsp, bool first) { + if (false && first) {} // Prevent unused + this->__VlSymsp = vlSymsp; + if (false && this->__VlSymsp) {} // Prevent unused + Verilated::timeunit(-3); + Verilated::timeprecision(-3); +} + +Vtb::~Vtb() { + VL_DO_CLEAR(delete __VlSymsp, __VlSymsp = nullptr); +} + +void Vtb::_initial__TOP__1(Vtb__Syms* __restrict vlSymsp) { + VL_DEBUG_IF(VL_DBG_MSGF("+ Vtb::_initial__TOP__1\n"); ); + Vtb* const __restrict vlTOPp VL_ATTR_UNUSED = vlSymsp->TOPp; + // Body + VL_WRITEF("%10# %10#\n",32,(IData)(vlTOPp->tb__DOT__val1), + 32,(IData)(vlTOPp->tb__DOT__val2)); + vlTOPp->tb__DOT__write = 2U; + vlTOPp->tb__DOT__write_data = 0x14ULL; + vlTOPp->tb__DOT__read1 = 1U; + vlTOPp->tb__DOT__read2 = 2U; + VL_WRITEF("%10# %10#\n",32,(IData)(vlTOPp->tb__DOT__val1), + 32,(IData)(vlTOPp->tb__DOT__val2)); + VL_STOP_MT("tb.v", 48, ""); + vlTOPp->__Vtask_tb__DOT__r__DOT__write_reg__0__data = 0x14ULL; + vlTOPp->__Vtask_tb__DOT__r__DOT__write_reg__0__regid = 2U; + vlTOPp->tb__DOT__r__DOT__reg_array[2U] = 0x14ULL; +} + +void Vtb::_settle__TOP__2(Vtb__Syms* __restrict vlSymsp) { + VL_DEBUG_IF(VL_DBG_MSGF("+ Vtb::_settle__TOP__2\n"); ); + Vtb* const __restrict vlTOPp VL_ATTR_UNUSED = vlSymsp->TOPp; + // Variables + CData/*4:0*/ __Vfunc_tb__DOT__r__DOT__read_reg__1__regid; + CData/*4:0*/ __Vfunc_tb__DOT__r__DOT__read_reg__2__regid; + QData/*63:0*/ __Vfunc_tb__DOT__r__DOT__read_reg__1__Vfuncout; + QData/*63:0*/ __Vfunc_tb__DOT__r__DOT__read_reg__2__Vfuncout; + // Body + vlTOPp->__Vtask_tb__DOT__r__DOT__write_reg__0__data + = vlTOPp->tb__DOT__write_data; + vlTOPp->__Vtask_tb__DOT__r__DOT__write_reg__0__regid + = vlTOPp->tb__DOT__write; + vlTOPp->tb__DOT__r__DOT__reg_array[vlTOPp->__Vtask_tb__DOT__r__DOT__write_reg__0__regid] + = vlTOPp->__Vtask_tb__DOT__r__DOT__write_reg__0__data; + __Vfunc_tb__DOT__r__DOT__read_reg__1__regid = vlTOPp->tb__DOT__read1; + __Vfunc_tb__DOT__r__DOT__read_reg__1__Vfuncout + = vlTOPp->tb__DOT__r__DOT__reg_array[__Vfunc_tb__DOT__r__DOT__read_reg__1__regid]; + __Vfunc_tb__DOT__r__DOT__read_reg__2__regid = vlTOPp->tb__DOT__read2; + __Vfunc_tb__DOT__r__DOT__read_reg__2__Vfuncout + = vlTOPp->tb__DOT__r__DOT__reg_array[__Vfunc_tb__DOT__r__DOT__read_reg__2__regid]; + __Vfunc_tb__DOT__r__DOT__read_reg__1__regid = vlTOPp->tb__DOT__read1; + __Vfunc_tb__DOT__r__DOT__read_reg__1__Vfuncout + = vlTOPp->tb__DOT__r__DOT__reg_array[__Vfunc_tb__DOT__r__DOT__read_reg__1__regid]; + vlTOPp->tb__DOT__val1 = __Vfunc_tb__DOT__r__DOT__read_reg__1__Vfuncout; + __Vfunc_tb__DOT__r__DOT__read_reg__2__regid = vlTOPp->tb__DOT__read2; + __Vfunc_tb__DOT__r__DOT__read_reg__2__Vfuncout + = vlTOPp->tb__DOT__r__DOT__reg_array[__Vfunc_tb__DOT__r__DOT__read_reg__2__regid]; + vlTOPp->tb__DOT__val2 = __Vfunc_tb__DOT__r__DOT__read_reg__2__Vfuncout; +} + +void Vtb::_eval_initial(Vtb__Syms* __restrict vlSymsp) { + VL_DEBUG_IF(VL_DBG_MSGF("+ Vtb::_eval_initial\n"); ); + Vtb* const __restrict vlTOPp VL_ATTR_UNUSED = vlSymsp->TOPp; + // Body + vlTOPp->_initial__TOP__1(vlSymsp); +} + +void Vtb::final() { + VL_DEBUG_IF(VL_DBG_MSGF("+ Vtb::final\n"); ); + // Variables + Vtb__Syms* __restrict vlSymsp = this->__VlSymsp; + Vtb* const __restrict vlTOPp VL_ATTR_UNUSED = vlSymsp->TOPp; +} + +void Vtb::_eval_settle(Vtb__Syms* __restrict vlSymsp) { + VL_DEBUG_IF(VL_DBG_MSGF("+ Vtb::_eval_settle\n"); ); + Vtb* const __restrict vlTOPp VL_ATTR_UNUSED = vlSymsp->TOPp; + // Body + vlTOPp->_settle__TOP__2(vlSymsp); +} + +void Vtb::_ctor_var_reset() { + VL_DEBUG_IF(VL_DBG_MSGF("+ Vtb::_ctor_var_reset\n"); ); + // Body + tb__DOT__read1 = VL_RAND_RESET_I(5); + tb__DOT__read2 = VL_RAND_RESET_I(5); + tb__DOT__val1 = VL_RAND_RESET_Q(64); + tb__DOT__val2 = VL_RAND_RESET_Q(64); + tb__DOT__write = VL_RAND_RESET_I(5); + tb__DOT__write_data = VL_RAND_RESET_Q(64); + for (int __Vi0=0; __Vi0<32; ++__Vi0) { + tb__DOT__r__DOT__reg_array[__Vi0] = VL_RAND_RESET_Q(64); + } + __Vtask_tb__DOT__r__DOT__write_reg__0__regid = VL_RAND_RESET_I(5); + __Vtask_tb__DOT__r__DOT__write_reg__0__data = VL_RAND_RESET_Q(64); + __Vchglast__TOP__tb__DOT__val1 = VL_RAND_RESET_Q(64); + __Vchglast__TOP__tb__DOT__val2 = VL_RAND_RESET_Q(64); +} diff --git a/core/obj_dir/Vtb__Syms.cpp b/core/obj_dir/Vtb__Syms.cpp new file mode 100644 index 0000000..5f8019a --- /dev/null +++ b/core/obj_dir/Vtb__Syms.cpp @@ -0,0 +1,21 @@ +// Verilated -*- C++ -*- +// DESCRIPTION: Verilator output: Symbol table implementation internals + +#include "Vtb__Syms.h" +#include "Vtb.h" + + + +// FUNCTIONS +Vtb__Syms::Vtb__Syms(Vtb* topp, const char* namep) + // Setup locals + : __Vm_namep(namep) + , __Vm_didInit(false) + // Setup submodule names +{ + // Pointer to top level + TOPp = topp; + // Setup each module's pointers to their submodules + // Setup each module's pointer back to symbol table (for public functions) + TOPp->__Vconfigure(this, true); +} diff --git a/core/obj_dir/Vtb__Syms.h b/core/obj_dir/Vtb__Syms.h new file mode 100644 index 0000000..3d4db64 --- /dev/null +++ b/core/obj_dir/Vtb__Syms.h @@ -0,0 +1,35 @@ +// Verilated -*- C++ -*- +// DESCRIPTION: Verilator output: Symbol table internal header +// +// Internal details; most calling programs do not need this header, +// unless using verilator public meta comments. + +#ifndef _VTB__SYMS_H_ +#define _VTB__SYMS_H_ // guard + +#include "verilated_heavy.h" + +// INCLUDE MODULE CLASSES +#include "Vtb.h" + +// SYMS CLASS +class Vtb__Syms : public VerilatedSyms { + public: + + // LOCAL STATE + const char* __Vm_namep; + bool __Vm_didInit; + + // SUBCELL STATE + Vtb* TOPp; + + // CREATORS + Vtb__Syms(Vtb* topp, const char* namep); + ~Vtb__Syms() = default; + + // METHODS + inline const char* name() { return __Vm_namep; } + +} VL_ATTR_ALIGNED(VL_CACHE_LINE_BYTES); + +#endif // guard diff --git a/core/obj_dir/Vtb__ver.d b/core/obj_dir/Vtb__ver.d new file mode 100644 index 0000000..3e2c57e --- /dev/null +++ b/core/obj_dir/Vtb__ver.d @@ -0,0 +1 @@ +obj_dir/Vtb.cpp obj_dir/Vtb.h obj_dir/Vtb.mk obj_dir/Vtb__Slow.cpp obj_dir/Vtb__Syms.cpp obj_dir/Vtb__Syms.h obj_dir/Vtb__ver.d obj_dir/Vtb_classes.mk : /usr/bin/verilator_bin /usr/bin/verilator_bin regs.v tb.v diff --git a/core/obj_dir/Vtb__verFiles.dat b/core/obj_dir/Vtb__verFiles.dat new file mode 100644 index 0000000..5cfe1ca --- /dev/null +++ b/core/obj_dir/Vtb__verFiles.dat @@ -0,0 +1,14 @@ +# DESCRIPTION: Verilator output: Timestamp data for --skip-identical. Delete at will. +C "-cc -Wall -Wno-UNOPTFLAT -Wno-STMTDLY -Wno-UNDRIVEN -Wno-UNUSED -Wno-IGNOREDRETURN tb.v --exe --build Vtb.cpp" +S 8158392 13113442 1608512454 749492301 1607455047 0 "/usr/bin/verilator_bin" +T 3853 9588217 1612668578 766783891 1612668578 766783891 "obj_dir/Vtb.cpp" +T 2966 9588210 1612668578 766783891 1612668578 766783891 "obj_dir/Vtb.h" +T 1742 9588708 1612668578 766783891 1612668578 766783891 "obj_dir/Vtb.mk" +T 4812 9588212 1612668578 766783891 1612668578 766783891 "obj_dir/Vtb__Slow.cpp" +T 524 9587930 1612668578 766783891 1612668578 766783891 "obj_dir/Vtb__Syms.cpp" +T 774 9587948 1612668578 766783891 1612668578 766783891 "obj_dir/Vtb__Syms.h" +T 213 9588712 1612668578 766783891 1612668578 766783891 "obj_dir/Vtb__ver.d" +T 0 0 1612668578 766783891 1612668578 766783891 "obj_dir/Vtb__verFiles.dat" +T 1576 9588704 1612668578 766783891 1612668578 766783891 "obj_dir/Vtb_classes.mk" +S 1031 9587412 1612667707 796752074 1612667707 796752074 "regs.v" +S 1009 9587945 1612667697 96751683 1612667697 96751683 "tb.v" diff --git a/core/obj_dir/Vtb_classes.mk b/core/obj_dir/Vtb_classes.mk new file mode 100644 index 0000000..f3651f2 --- /dev/null +++ b/core/obj_dir/Vtb_classes.mk @@ -0,0 +1,49 @@ +# Verilated -*- Makefile -*- +# DESCRIPTION: Verilator output: Make include file with class lists +# +# This file lists generated Verilated files, for including in higher level makefiles. +# See Vtb.mk for the caller. + +### Switches... +# C11 constructs required? 0/1 (always on now) +VM_C11 = 1 +# Coverage output mode? 0/1 (from --coverage) +VM_COVERAGE = 0 +# Parallel builds? 0/1 (from --output-split) +VM_PARALLEL_BUILDS = 0 +# Threaded output mode? 0/1/N threads (from --threads) +VM_THREADS = 0 +# Tracing output mode? 0/1 (from --trace/--trace-fst) +VM_TRACE = 0 +# Tracing output mode in FST format? 0/1 (from --trace-fst) +VM_TRACE_FST = 0 +# Tracing threaded output mode? 0/1/N threads (from --trace-thread) +VM_TRACE_THREADS = 0 +# Separate FST writer thread? 0/1 (from --trace-fst with --trace-thread > 0) +VM_TRACE_FST_WRITER_THREAD = 0 + +### Object file lists... +# Generated module classes, fast-path, compile with highest optimization +VM_CLASSES_FAST += \ + Vtb \ + +# Generated module classes, non-fast-path, compile with low/medium optimization +VM_CLASSES_SLOW += \ + Vtb__Slow \ + +# Generated support classes, fast-path, compile with highest optimization +VM_SUPPORT_FAST += \ + +# Generated support classes, non-fast-path, compile with low/medium optimization +VM_SUPPORT_SLOW += \ + Vtb__Syms \ + +# Global classes, need linked once per executable, fast-path, compile with highest optimization +VM_GLOBAL_FAST += \ + verilated \ + +# Global classes, need linked once per executable, non-fast-path, compile with low/medium optimization +VM_GLOBAL_SLOW += \ + + +# Verilated -*- Makefile -*- diff --git a/core/obj_dir/verilated.d b/core/obj_dir/verilated.d new file mode 100644 index 0000000..8efb1e5 --- /dev/null +++ b/core/obj_dir/verilated.d @@ -0,0 +1,8 @@ +verilated.o: /usr/share/verilator/include/verilated.cpp \ + /usr/share/verilator/include/verilatedos.h \ + /usr/share/verilator/include/verilated_imp.h \ + /usr/share/verilator/include/verilated.h \ + /usr/share/verilator/include/verilated_heavy.h \ + /usr/share/verilator/include/verilated_syms.h \ + /usr/share/verilator/include/verilated_sym_props.h \ + /usr/share/verilator/include/verilated_config.h |
