// 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 _Vdut_H_ #define _Vdut_H_ #include "verilated_heavy.h" #include "Vdut__Dpi.h" class Vdut__Syms; class Vdut_dut; class VerilatedVcd; //---------- VL_MODULE(Vdut) { public: // CELLS // Public to allow access to /*verilator_public*/ items; // otherwise the application code can consider these internals. Vdut_dut* dut; // PORTS // The application code writes and reads these signals to // propagate new values into/out from the Verilated model. VL_IN8(sys_clk,0,0); VL_OUT8(serial_source_valid,0,0); VL_IN8(serial_source_ready,0,0); VL_OUT8(serial_source_data,7,0); VL_IN8(serial_sink_valid,0,0); VL_OUT8(serial_sink_ready,0,0); VL_IN8(serial_sink_data,7,0); // LOCAL SIGNALS // Internals; generally not touched by application code // LOCAL VARIABLES // Internals; generally not touched by application code VL_SIG8(__Vclklast__TOP__sys_clk,0,0); VL_SIG(__Vm_traceActivity,31,0); // INTERNAL VARIABLES // Internals; generally not touched by application code Vdut__Syms* __VlSymsp; // Symbol table // PARAMETERS // Parameters marked /*verilator public*/ for use by application code // CONSTRUCTORS private: Vdut& operator= (const Vdut&); ///< Copying not allowed Vdut(const Vdut&); ///< 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 WRT DPI scope names. Vdut(const char* name="TOP"); /// Destroy the model; called (often implicitly) by application code ~Vdut(); /// Trace signals in the model; called by application code void trace (VerilatedVcdC* tfp, int levels, int options=0); // API METHODS /// Evaluate the model. Application must call when inputs change. void eval(); /// Simulation complete, run final blocks. Application must call on completion. void final(); // INTERNAL METHODS private: static void _eval_initial_loop(Vdut__Syms* __restrict vlSymsp); public: void __Vconfigure(Vdut__Syms* symsp, bool first); private: static QData _change_request(Vdut__Syms* __restrict vlSymsp); void _ctor_var_reset(); public: static void _eval(Vdut__Syms* __restrict vlSymsp); private: #ifdef VL_DEBUG void _eval_debug_assertions(); #endif // VL_DEBUG public: static void _eval_initial(Vdut__Syms* __restrict vlSymsp); static void _eval_settle(Vdut__Syms* __restrict vlSymsp); static void _sequent__TOP__2(Vdut__Syms* __restrict vlSymsp); static void _sequent__TOP__3(Vdut__Syms* __restrict vlSymsp); static void _settle__TOP__1(Vdut__Syms* __restrict vlSymsp); static void traceChgThis(Vdut__Syms* __restrict vlSymsp, VerilatedVcd* vcdp, uint32_t code); static void traceChgThis__2(Vdut__Syms* __restrict vlSymsp, VerilatedVcd* vcdp, uint32_t code); static void traceChgThis__3(Vdut__Syms* __restrict vlSymsp, VerilatedVcd* vcdp, uint32_t code); static void traceChgThis__4(Vdut__Syms* __restrict vlSymsp, VerilatedVcd* vcdp, uint32_t code); static void traceChgThis__5(Vdut__Syms* __restrict vlSymsp, VerilatedVcd* vcdp, uint32_t code); static void traceChgThis__6(Vdut__Syms* __restrict vlSymsp, VerilatedVcd* vcdp, uint32_t code); static void traceFullThis(Vdut__Syms* __restrict vlSymsp, VerilatedVcd* vcdp, uint32_t code); static void traceFullThis__1(Vdut__Syms* __restrict vlSymsp, VerilatedVcd* vcdp, uint32_t code); static void traceInitThis(Vdut__Syms* __restrict vlSymsp, VerilatedVcd* vcdp, uint32_t code); static void traceInitThis__1(Vdut__Syms* __restrict vlSymsp, VerilatedVcd* vcdp, uint32_t code); static void traceInit (VerilatedVcd* vcdp, void* userthis, uint32_t code); static void traceFull (VerilatedVcd* vcdp, void* userthis, uint32_t code); static void traceChg (VerilatedVcd* vcdp, void* userthis, uint32_t code); } VL_ATTR_ALIGNED(128); #endif // guard