diff --git a/submissions/AryanPanigrahy_2024AAPS0761G_stopwatch/rtl/control_fsm.v b/submissions/AryanPanigrahy_2024AAPS0761G_stopwatch/rtl/control_fsm.v deleted file mode 100644 index 94a69a5..0000000 --- a/submissions/AryanPanigrahy_2024AAPS0761G_stopwatch/rtl/control_fsm.v +++ /dev/null @@ -1,49 +0,0 @@ -module control_fsm ( - input wire clk, - input wire rst_n, // active-low reset - input wire start, - input wire stop, - input wire reset, - output reg count_enable, - output reg [1:0] state -); - -localparam IDLE = 2'b00; -localparam RUNNING = 2'b01; -localparam PAUSED = 2'b10; - -always @(posedge clk) begin - if (!rst_n) begin - state <= IDLE; - end else if (reset) begin - state <= IDLE; - end else begin - case (state) - IDLE: begin - if (start) - state <= RUNNING; - end - - RUNNING: begin - if (stop) - state <= PAUSED; - end - - PAUSED: begin - if (start) - state <= RUNNING; - end - - default: state <= IDLE; - endcase - end -end - -always @(*) begin - if (state == RUNNING) - count_enable = 1'b1; - else - count_enable = 1'b0; -end - -endmodule diff --git a/submissions/AryanPanigrahy_2024AAPS0761G_stopwatch/rtl/minutes_counter.v b/submissions/AryanPanigrahy_2024AAPS0761G_stopwatch/rtl/minutes_counter.v deleted file mode 100644 index fc76a0f..0000000 --- a/submissions/AryanPanigrahy_2024AAPS0761G_stopwatch/rtl/minutes_counter.v +++ /dev/null @@ -1,19 +0,0 @@ -module minutes_counter ( - input wire clk, - input wire rst_n, // active-low reset - input wire enable, - output reg [7:0] minutes -); - -always @(posedge clk) begin - if (!rst_n) - minutes <= 8'd0; - else if (enable) begin - if (minutes == 8'd99) - minutes <= 8'd0; - else - minutes <= minutes + 8'd1; - end -end - -endmodule diff --git a/submissions/AryanPanigrahy_2024AAPS0761G_stopwatch/rtl/seconds_counter.v b/submissions/AryanPanigrahy_2024AAPS0761G_stopwatch/rtl/seconds_counter.v deleted file mode 100644 index c1622aa..0000000 --- a/submissions/AryanPanigrahy_2024AAPS0761G_stopwatch/rtl/seconds_counter.v +++ /dev/null @@ -1,22 +0,0 @@ -module seconds_counter ( - input wire clk, - input wire rst_n, // active-low reset - input wire enable, - output reg [5:0] seconds, - output wire rollover -); - -assign rollover = (enable && seconds == 6'd59); - -always @(posedge clk) begin - if (!rst_n) - seconds <= 6'd0; - else if (enable) begin - if (seconds == 6'd59) - seconds <= 6'd0; - else - seconds <= seconds + 6'd1; - end -end - -endmodule diff --git a/submissions/AryanPanigrahy_2024AAPS0761G_stopwatch/rtl/stopwatch_top.v b/submissions/AryanPanigrahy_2024AAPS0761G_stopwatch/rtl/stopwatch_top.v deleted file mode 100644 index 2bc573c..0000000 --- a/submissions/AryanPanigrahy_2024AAPS0761G_stopwatch/rtl/stopwatch_top.v +++ /dev/null @@ -1,40 +0,0 @@ -module stopwatch_top ( - input wire clk, - input wire rst_n, // active-low reset - input wire start, - input wire stop, - input wire reset, - output wire [7:0] minutes, - output wire [5:0] seconds, - output wire [1:0] status // 00=IDLE, 01=RUNNING, 10=PAUSED -); - -wire count_enable; -wire sec_rollover; - -control_fsm u_control_fsm ( - .clk(clk), - .rst_n(rst_n), - .start(start), - .stop(stop), - .reset(reset), - .count_enable(count_enable), - .state(status) -); - -seconds_counter u_seconds_counter ( - .clk(clk), - .rst_n(rst_n), - .enable(count_enable), - .seconds(seconds), - .rollover(sec_rollover) -); - -minutes_counter u_minutes_counter ( - .clk(clk), - .rst_n(rst_n), - .enable(sec_rollover), - .minutes(minutes) -); - -endmodule diff --git a/submissions/AryanPanigrahy_2024AAPS0761G_stopwatch/tb/tb_stopwatch.v b/submissions/AryanPanigrahy_2024AAPS0761G_stopwatch/tb/tb_stopwatch.v deleted file mode 100644 index 4450480..0000000 --- a/submissions/AryanPanigrahy_2024AAPS0761G_stopwatch/tb/tb_stopwatch.v +++ /dev/null @@ -1,45 +0,0 @@ -module tb_stopwatch; - -reg clk = 0; -reg rst_n = 0; -reg start = 0; -reg stop = 0; -reg reset = 0; - -wire [7:0] minutes; -wire [5:0] seconds; -wire [1:0] status; - -always #5 clk = ~clk; - -stopwatch_top dut ( - .clk(clk), - .rst_n(rst_n), - .start(start), - .stop(stop), - .reset(reset), - .minutes(minutes), - .seconds(seconds), - .status(status) -); - -initial begin - rst_n = 0; - #20 rst_n = 1; - - start = 1; #10 start = 0; - #300; - - stop = 1; #10 stop = 0; - #100; - - start = 1; #10 start = 0; - #100; - - reset = 1; #10 reset = 0; - #50; - - $finish; -end - -endmodule \ No newline at end of file diff --git a/submissions/AryanPanigrahy_2024AAPS0761G_stopwatch/verilator_sw/obj_dir/Vcontrol_fsm.cpp b/submissions/AryanPanigrahy_2024AAPS0761G_stopwatch/verilator_sw/obj_dir/Vcontrol_fsm.cpp deleted file mode 100644 index 644ffb2..0000000 --- a/submissions/AryanPanigrahy_2024AAPS0761G_stopwatch/verilator_sw/obj_dir/Vcontrol_fsm.cpp +++ /dev/null @@ -1,103 +0,0 @@ -// Verilated -*- C++ -*- -// DESCRIPTION: Verilator output: Model implementation (design independent parts) - -#include "Vcontrol_fsm__pch.h" - -//============================================================ -// Constructors - -Vcontrol_fsm::Vcontrol_fsm(VerilatedContext* _vcontextp__, const char* _vcname__) - : VerilatedModel{*_vcontextp__} - , vlSymsp{new Vcontrol_fsm__Syms(contextp(), _vcname__, this)} - , clk{vlSymsp->TOP.clk} - , rst_n{vlSymsp->TOP.rst_n} - , start{vlSymsp->TOP.start} - , stop{vlSymsp->TOP.stop} - , reset{vlSymsp->TOP.reset} - , minutes{vlSymsp->TOP.minutes} - , seconds{vlSymsp->TOP.seconds} - , status{vlSymsp->TOP.status} - , rootp{&(vlSymsp->TOP)} -{ - // Register model with the context - contextp()->addModel(this); -} - -Vcontrol_fsm::Vcontrol_fsm(const char* _vcname__) - : Vcontrol_fsm(Verilated::threadContextp(), _vcname__) -{ -} - -//============================================================ -// Destructor - -Vcontrol_fsm::~Vcontrol_fsm() { - delete vlSymsp; -} - -//============================================================ -// Evaluation function - -#ifdef VL_DEBUG -void Vcontrol_fsm___024root___eval_debug_assertions(Vcontrol_fsm___024root* vlSelf); -#endif // VL_DEBUG -void Vcontrol_fsm___024root___eval_static(Vcontrol_fsm___024root* vlSelf); -void Vcontrol_fsm___024root___eval_initial(Vcontrol_fsm___024root* vlSelf); -void Vcontrol_fsm___024root___eval_settle(Vcontrol_fsm___024root* vlSelf); -void Vcontrol_fsm___024root___eval(Vcontrol_fsm___024root* vlSelf); - -void Vcontrol_fsm::eval_step() { - VL_DEBUG_IF(VL_DBG_MSGF("+++++TOP Evaluate Vcontrol_fsm::eval_step\n"); ); -#ifdef VL_DEBUG - // Debug assertions - Vcontrol_fsm___024root___eval_debug_assertions(&(vlSymsp->TOP)); -#endif // VL_DEBUG - vlSymsp->__Vm_deleter.deleteAll(); - if (VL_UNLIKELY(!vlSymsp->__Vm_didInit)) { - vlSymsp->__Vm_didInit = true; - VL_DEBUG_IF(VL_DBG_MSGF("+ Initial\n");); - Vcontrol_fsm___024root___eval_static(&(vlSymsp->TOP)); - Vcontrol_fsm___024root___eval_initial(&(vlSymsp->TOP)); - Vcontrol_fsm___024root___eval_settle(&(vlSymsp->TOP)); - } - VL_DEBUG_IF(VL_DBG_MSGF("+ Eval\n");); - Vcontrol_fsm___024root___eval(&(vlSymsp->TOP)); - // Evaluate cleanup - Verilated::endOfEval(vlSymsp->__Vm_evalMsgQp); -} - -//============================================================ -// Events and timing -bool Vcontrol_fsm::eventsPending() { return false; } - -uint64_t Vcontrol_fsm::nextTimeSlot() { - VL_FATAL_MT(__FILE__, __LINE__, "", "No delays in the design"); - return 0; -} - -//============================================================ -// Utilities - -const char* Vcontrol_fsm::name() const { - return vlSymsp->name(); -} - -//============================================================ -// Invoke final blocks - -void Vcontrol_fsm___024root___eval_final(Vcontrol_fsm___024root* vlSelf); - -VL_ATTR_COLD void Vcontrol_fsm::final() { - Vcontrol_fsm___024root___eval_final(&(vlSymsp->TOP)); -} - -//============================================================ -// Implementations of abstract methods from VerilatedModel - -const char* Vcontrol_fsm::hierName() const { return vlSymsp->name(); } -const char* Vcontrol_fsm::modelName() const { return "Vcontrol_fsm"; } -unsigned Vcontrol_fsm::threads() const { return 1; } -void Vcontrol_fsm::prepareClone() const { contextp()->prepareClone(); } -void Vcontrol_fsm::atClone() const { - contextp()->threadPoolpOnClone(); -} diff --git a/submissions/AryanPanigrahy_2024AAPS0761G_stopwatch/verilator_sw/obj_dir/Vcontrol_fsm.h b/submissions/AryanPanigrahy_2024AAPS0761G_stopwatch/verilator_sw/obj_dir/Vcontrol_fsm.h deleted file mode 100644 index 4209318..0000000 --- a/submissions/AryanPanigrahy_2024AAPS0761G_stopwatch/verilator_sw/obj_dir/Vcontrol_fsm.h +++ /dev/null @@ -1,95 +0,0 @@ -// Verilated -*- C++ -*- -// DESCRIPTION: Verilator output: Primary model 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 VERILATED_VCONTROL_FSM_H_ -#define VERILATED_VCONTROL_FSM_H_ // guard - -#include "verilated.h" - -class Vcontrol_fsm__Syms; -class Vcontrol_fsm___024root; - -// This class is the main interface to the Verilated model -class alignas(VL_CACHE_LINE_BYTES) Vcontrol_fsm VL_NOT_FINAL : public VerilatedModel { - private: - // Symbol table holding complete model state (owned by this class) - Vcontrol_fsm__Syms* const vlSymsp; - - public: - - // CONSTEXPR CAPABILITIES - // Verilated with --trace? - static constexpr bool traceCapable = false; - - // PORTS - // The application code writes and reads these signals to - // propagate new values into/out from the Verilated model. - VL_IN8(&clk,0,0); - VL_IN8(&rst_n,0,0); - VL_IN8(&start,0,0); - VL_IN8(&stop,0,0); - VL_IN8(&reset,0,0); - VL_OUT8(&minutes,7,0); - VL_OUT8(&seconds,5,0); - VL_OUT8(&status,1,0); - - // CELLS - // Public to allow access to /* verilator public */ items. - // Otherwise the application code can consider these internals. - - // Root instance pointer to allow access to model internals, - // including inlined /* verilator public_flat_* */ items. - Vcontrol_fsm___024root* const rootp; - - // CONSTRUCTORS - /// Construct the model; called by application code - /// If contextp is null, then the model will use the default global context - /// If name is "", then makes a wrapper with a - /// single model invisible with respect to DPI scope names. - explicit Vcontrol_fsm(VerilatedContext* contextp, const char* name = "TOP"); - explicit Vcontrol_fsm(const char* name = "TOP"); - /// Destroy the model; called (often implicitly) by application code - virtual ~Vcontrol_fsm(); - private: - VL_UNCOPYABLE(Vcontrol_fsm); ///< Copying not allowed - - public: - // 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(); - /// Are there scheduled events to handle? - bool eventsPending(); - /// Returns time at next time slot. Aborts if !eventsPending() - uint64_t nextTimeSlot(); - /// Trace signals in the model; called by application code - void trace(VerilatedTraceBaseC* tfp, int levels, int options = 0) { contextp()->trace(tfp, levels, options); } - /// Retrieve name of this model instance (as passed to constructor). - const char* name() const; - - // Abstract methods from VerilatedModel - const char* hierName() const override final; - const char* modelName() const override final; - unsigned threads() const override final; - /// Prepare for cloning the model at the process level (e.g. fork in Linux) - /// Release necessary resources. Called before cloning. - void prepareClone() const; - /// Re-init after cloning the model at the process level (e.g. fork in Linux) - /// Re-allocate necessary resources. Called after cloning. - void atClone() const; - private: - // Internal functions - trace registration - void traceBaseModel(VerilatedTraceBaseC* tfp, int levels, int options); -}; - -#endif // guard diff --git a/submissions/AryanPanigrahy_2024AAPS0761G_stopwatch/verilator_sw/obj_dir/Vcontrol_fsm.mk b/submissions/AryanPanigrahy_2024AAPS0761G_stopwatch/verilator_sw/obj_dir/Vcontrol_fsm.mk deleted file mode 100644 index 42e547c..0000000 --- a/submissions/AryanPanigrahy_2024AAPS0761G_stopwatch/verilator_sw/obj_dir/Vcontrol_fsm.mk +++ /dev/null @@ -1,68 +0,0 @@ -# Verilated -*- Makefile -*- -# DESCRIPTION: Verilator output: Makefile for building Verilated archive or executable -# -# Execute this makefile from the object directory: -# make -f Vcontrol_fsm.mk - -default: Vcontrol_fsm - -### Constants... -# Perl executable (from $PERL, defaults to 'perl' if not set) -PERL = perl -# Python3 executable (from $PYTHON3, defaults to 'python3' if not set) -PYTHON3 = python3 -# Path to Verilator kit (from $VERILATOR_ROOT) -VERILATOR_ROOT = C:/msys64/mingw64/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... -# C++ code coverage 0/1 (from --prof-c) -VM_PROFC = 0 -# 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 = mingw32 - -### Vars... -# Design prefix (from --prefix) -VM_PREFIX = Vcontrol_fsm -# Module prefix (from --prefix) -VM_MODPREFIX = Vcontrol_fsm -# 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 = \ - main \ - -# User .cpp directories (from .cpp's on Verilator command line) -VM_USER_DIR = \ - .. \ - -### Default rules... -# Include list of all generated classes -include Vcontrol_fsm_classes.mk -# Include global rules -include $(VERILATOR_ROOT)/include/verilated.mk - -### Executable rules... (from --exe) -VPATH += $(VM_USER_DIR) - -main.o: main.cpp - $(OBJCACHE) $(CXX) $(CXXFLAGS) $(CPPFLAGS) $(OPT_FAST) -c -o $@ $< - -### Link rules... (from --exe) -Vcontrol_fsm: $(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/submissions/AryanPanigrahy_2024AAPS0761G_stopwatch/verilator_sw/obj_dir/Vcontrol_fsm__ConstPool_0.cpp b/submissions/AryanPanigrahy_2024AAPS0761G_stopwatch/verilator_sw/obj_dir/Vcontrol_fsm__ConstPool_0.cpp deleted file mode 100644 index 2dfbf41..0000000 --- a/submissions/AryanPanigrahy_2024AAPS0761G_stopwatch/verilator_sw/obj_dir/Vcontrol_fsm__ConstPool_0.cpp +++ /dev/null @@ -1,27 +0,0 @@ -// Verilated -*- C++ -*- -// DESCRIPTION: Verilator output: Constant pool -// - -#include "verilated.h" - -extern const VlUnpacked Vcontrol_fsm__ConstPool__TABLE_h58dadc62_0 = {{ - 0x01U, 0x00U, 0x01U, 0x01U, 0x01U, 0x00U, 0x01U, 0x01U, - 0x01U, 0x00U, 0x01U, 0x01U, 0x01U, 0x01U, 0x01U, 0x01U, - 0x01U, 0x01U, 0x01U, 0x01U, 0x01U, 0x00U, 0x01U, 0x01U, - 0x01U, 0x01U, 0x01U, 0x01U, 0x01U, 0x01U, 0x01U, 0x01U, - 0x01U, 0x00U, 0x01U, 0x01U, 0x01U, 0x01U, 0x01U, 0x01U, - 0x01U, 0x00U, 0x01U, 0x01U, 0x01U, 0x01U, 0x01U, 0x01U, - 0x01U, 0x01U, 0x01U, 0x01U, 0x01U, 0x01U, 0x01U, 0x01U, - 0x01U, 0x01U, 0x01U, 0x01U, 0x01U, 0x01U, 0x01U, 0x01U -}}; - -extern const VlUnpacked Vcontrol_fsm__ConstPool__TABLE_hbe93f50b_0 = {{ - 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, - 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, - 0x00U, 0x01U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, - 0x00U, 0x01U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, - 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x02U, 0x00U, 0x00U, - 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, - 0x00U, 0x01U, 0x00U, 0x00U, 0x00U, 0x02U, 0x00U, 0x00U, - 0x00U, 0x01U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U -}}; diff --git a/submissions/AryanPanigrahy_2024AAPS0761G_stopwatch/verilator_sw/obj_dir/Vcontrol_fsm__Syms.cpp b/submissions/AryanPanigrahy_2024AAPS0761G_stopwatch/verilator_sw/obj_dir/Vcontrol_fsm__Syms.cpp deleted file mode 100644 index 687361c..0000000 --- a/submissions/AryanPanigrahy_2024AAPS0761G_stopwatch/verilator_sw/obj_dir/Vcontrol_fsm__Syms.cpp +++ /dev/null @@ -1,28 +0,0 @@ -// Verilated -*- C++ -*- -// DESCRIPTION: Verilator output: Symbol table implementation internals - -#include "Vcontrol_fsm__pch.h" -#include "Vcontrol_fsm.h" -#include "Vcontrol_fsm___024root.h" - -// FUNCTIONS -Vcontrol_fsm__Syms::~Vcontrol_fsm__Syms() -{ -} - -Vcontrol_fsm__Syms::Vcontrol_fsm__Syms(VerilatedContext* contextp, const char* namep, Vcontrol_fsm* modelp) - : VerilatedSyms{contextp} - // Setup internal state of the Syms class - , __Vm_modelp{modelp} - // Setup module instances - , TOP{this, namep} -{ - // Check resources - Verilated::stackCheck(15); - // Configure time unit / time precision - _vm_contextp__->timeunit(-12); - _vm_contextp__->timeprecision(-12); - // Setup each module's pointers to their submodules - // Setup each module's pointer back to symbol table (for public functions) - TOP.__Vconfigure(true); -} diff --git a/submissions/AryanPanigrahy_2024AAPS0761G_stopwatch/verilator_sw/obj_dir/Vcontrol_fsm__Syms.h b/submissions/AryanPanigrahy_2024AAPS0761G_stopwatch/verilator_sw/obj_dir/Vcontrol_fsm__Syms.h deleted file mode 100644 index 8d50b77..0000000 --- a/submissions/AryanPanigrahy_2024AAPS0761G_stopwatch/verilator_sw/obj_dir/Vcontrol_fsm__Syms.h +++ /dev/null @@ -1,38 +0,0 @@ -// 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 VERILATED_VCONTROL_FSM__SYMS_H_ -#define VERILATED_VCONTROL_FSM__SYMS_H_ // guard - -#include "verilated.h" - -// INCLUDE MODEL CLASS - -#include "Vcontrol_fsm.h" - -// INCLUDE MODULE CLASSES -#include "Vcontrol_fsm___024root.h" - -// SYMS CLASS (contains all model state) -class alignas(VL_CACHE_LINE_BYTES)Vcontrol_fsm__Syms final : public VerilatedSyms { - public: - // INTERNAL STATE - Vcontrol_fsm* const __Vm_modelp; - VlDeleter __Vm_deleter; - bool __Vm_didInit = false; - - // MODULE INSTANCE STATE - Vcontrol_fsm___024root TOP; - - // CONSTRUCTORS - Vcontrol_fsm__Syms(VerilatedContext* contextp, const char* namep, Vcontrol_fsm* modelp); - ~Vcontrol_fsm__Syms(); - - // METHODS - const char* name() { return TOP.name(); } -}; - -#endif // guard diff --git a/submissions/AryanPanigrahy_2024AAPS0761G_stopwatch/verilator_sw/obj_dir/Vcontrol_fsm___024root.h b/submissions/AryanPanigrahy_2024AAPS0761G_stopwatch/verilator_sw/obj_dir/Vcontrol_fsm___024root.h deleted file mode 100644 index 4520342..0000000 --- a/submissions/AryanPanigrahy_2024AAPS0761G_stopwatch/verilator_sw/obj_dir/Vcontrol_fsm___024root.h +++ /dev/null @@ -1,44 +0,0 @@ -// Verilated -*- C++ -*- -// DESCRIPTION: Verilator output: Design internal header -// See Vcontrol_fsm.h for the primary calling header - -#ifndef VERILATED_VCONTROL_FSM___024ROOT_H_ -#define VERILATED_VCONTROL_FSM___024ROOT_H_ // guard - -#include "verilated.h" - - -class Vcontrol_fsm__Syms; - -class alignas(VL_CACHE_LINE_BYTES) Vcontrol_fsm___024root final : public VerilatedModule { - public: - - // DESIGN SPECIFIC STATE - VL_IN8(clk,0,0); - VL_IN8(rst_n,0,0); - VL_IN8(start,0,0); - VL_IN8(stop,0,0); - VL_IN8(reset,0,0); - VL_OUT8(minutes,7,0); - VL_OUT8(seconds,5,0); - VL_OUT8(status,1,0); - CData/*0:0*/ __Vtrigprevexpr___TOP__clk__0; - CData/*0:0*/ __VactContinue; - IData/*31:0*/ __VactIterCount; - VlTriggerVec<1> __VactTriggered; - VlTriggerVec<1> __VnbaTriggered; - - // INTERNAL VARIABLES - Vcontrol_fsm__Syms* const vlSymsp; - - // CONSTRUCTORS - Vcontrol_fsm___024root(Vcontrol_fsm__Syms* symsp, const char* v__name); - ~Vcontrol_fsm___024root(); - VL_UNCOPYABLE(Vcontrol_fsm___024root); - - // INTERNAL METHODS - void __Vconfigure(bool first); -}; - - -#endif // guard diff --git a/submissions/AryanPanigrahy_2024AAPS0761G_stopwatch/verilator_sw/obj_dir/Vcontrol_fsm___024root__DepSet_h07920634__0.cpp b/submissions/AryanPanigrahy_2024AAPS0761G_stopwatch/verilator_sw/obj_dir/Vcontrol_fsm___024root__DepSet_h07920634__0.cpp deleted file mode 100644 index 8a14e1d..0000000 --- a/submissions/AryanPanigrahy_2024AAPS0761G_stopwatch/verilator_sw/obj_dir/Vcontrol_fsm___024root__DepSet_h07920634__0.cpp +++ /dev/null @@ -1,168 +0,0 @@ -// Verilated -*- C++ -*- -// DESCRIPTION: Verilator output: Design implementation internals -// See Vcontrol_fsm.h for the primary calling header - -#include "Vcontrol_fsm__pch.h" -#include "Vcontrol_fsm___024root.h" - -void Vcontrol_fsm___024root___eval_act(Vcontrol_fsm___024root* vlSelf) { - VL_DEBUG_IF(VL_DBG_MSGF("+ Vcontrol_fsm___024root___eval_act\n"); ); - Vcontrol_fsm__Syms* const __restrict vlSymsp VL_ATTR_UNUSED = vlSelf->vlSymsp; - auto& vlSelfRef = std::ref(*vlSelf).get(); -} - -void Vcontrol_fsm___024root___nba_sequent__TOP__0(Vcontrol_fsm___024root* vlSelf); - -void Vcontrol_fsm___024root___eval_nba(Vcontrol_fsm___024root* vlSelf) { - VL_DEBUG_IF(VL_DBG_MSGF("+ Vcontrol_fsm___024root___eval_nba\n"); ); - Vcontrol_fsm__Syms* const __restrict vlSymsp VL_ATTR_UNUSED = vlSelf->vlSymsp; - auto& vlSelfRef = std::ref(*vlSelf).get(); - // Body - if ((1ULL & vlSelfRef.__VnbaTriggered.word(0U))) { - Vcontrol_fsm___024root___nba_sequent__TOP__0(vlSelf); - } -} - -extern const VlUnpacked Vcontrol_fsm__ConstPool__TABLE_h58dadc62_0; -extern const VlUnpacked Vcontrol_fsm__ConstPool__TABLE_hbe93f50b_0; - -VL_INLINE_OPT void Vcontrol_fsm___024root___nba_sequent__TOP__0(Vcontrol_fsm___024root* vlSelf) { - VL_DEBUG_IF(VL_DBG_MSGF("+ Vcontrol_fsm___024root___nba_sequent__TOP__0\n"); ); - Vcontrol_fsm__Syms* const __restrict vlSymsp VL_ATTR_UNUSED = vlSelf->vlSymsp; - auto& vlSelfRef = std::ref(*vlSelf).get(); - // Init - CData/*5:0*/ __Vtableidx1; - __Vtableidx1 = 0; - CData/*5:0*/ __Vdly__seconds; - __Vdly__seconds = 0; - // Body - __Vdly__seconds = vlSelfRef.seconds; - if (vlSelfRef.rst_n) { - if ((1U == (IData)(vlSelfRef.status))) { - __Vdly__seconds = ((0x3bU == (IData)(vlSelfRef.seconds)) - ? 0U : (0x3fU & ((IData)(1U) - + (IData)(vlSelfRef.seconds)))); - } - if (((1U == (IData)(vlSelfRef.status)) & (0x3bU - == (IData)(vlSelfRef.seconds)))) { - vlSelfRef.minutes = ((0x63U == (IData)(vlSelfRef.minutes)) - ? 0U : (0xffU & ((IData)(1U) - + (IData)(vlSelfRef.minutes)))); - } - } else { - __Vdly__seconds = 0U; - vlSelfRef.minutes = 0U; - } - __Vtableidx1 = ((((IData)(vlSelfRef.stop) << 5U) - | ((IData)(vlSelfRef.start) << 4U)) - | (((IData)(vlSelfRef.status) << 2U) - | (((IData)(vlSelfRef.reset) - << 1U) | (IData)(vlSelfRef.rst_n)))); - if (Vcontrol_fsm__ConstPool__TABLE_h58dadc62_0[__Vtableidx1]) { - vlSelfRef.status = Vcontrol_fsm__ConstPool__TABLE_hbe93f50b_0 - [__Vtableidx1]; - } - vlSelfRef.seconds = __Vdly__seconds; -} - -void Vcontrol_fsm___024root___eval_triggers__act(Vcontrol_fsm___024root* vlSelf); - -bool Vcontrol_fsm___024root___eval_phase__act(Vcontrol_fsm___024root* vlSelf) { - VL_DEBUG_IF(VL_DBG_MSGF("+ Vcontrol_fsm___024root___eval_phase__act\n"); ); - Vcontrol_fsm__Syms* const __restrict vlSymsp VL_ATTR_UNUSED = vlSelf->vlSymsp; - auto& vlSelfRef = std::ref(*vlSelf).get(); - // Init - VlTriggerVec<1> __VpreTriggered; - CData/*0:0*/ __VactExecute; - // Body - Vcontrol_fsm___024root___eval_triggers__act(vlSelf); - __VactExecute = vlSelfRef.__VactTriggered.any(); - if (__VactExecute) { - __VpreTriggered.andNot(vlSelfRef.__VactTriggered, vlSelfRef.__VnbaTriggered); - vlSelfRef.__VnbaTriggered.thisOr(vlSelfRef.__VactTriggered); - Vcontrol_fsm___024root___eval_act(vlSelf); - } - return (__VactExecute); -} - -bool Vcontrol_fsm___024root___eval_phase__nba(Vcontrol_fsm___024root* vlSelf) { - VL_DEBUG_IF(VL_DBG_MSGF("+ Vcontrol_fsm___024root___eval_phase__nba\n"); ); - Vcontrol_fsm__Syms* const __restrict vlSymsp VL_ATTR_UNUSED = vlSelf->vlSymsp; - auto& vlSelfRef = std::ref(*vlSelf).get(); - // Init - CData/*0:0*/ __VnbaExecute; - // Body - __VnbaExecute = vlSelfRef.__VnbaTriggered.any(); - if (__VnbaExecute) { - Vcontrol_fsm___024root___eval_nba(vlSelf); - vlSelfRef.__VnbaTriggered.clear(); - } - return (__VnbaExecute); -} - -#ifdef VL_DEBUG -VL_ATTR_COLD void Vcontrol_fsm___024root___dump_triggers__nba(Vcontrol_fsm___024root* vlSelf); -#endif // VL_DEBUG -#ifdef VL_DEBUG -VL_ATTR_COLD void Vcontrol_fsm___024root___dump_triggers__act(Vcontrol_fsm___024root* vlSelf); -#endif // VL_DEBUG - -void Vcontrol_fsm___024root___eval(Vcontrol_fsm___024root* vlSelf) { - VL_DEBUG_IF(VL_DBG_MSGF("+ Vcontrol_fsm___024root___eval\n"); ); - Vcontrol_fsm__Syms* const __restrict vlSymsp VL_ATTR_UNUSED = vlSelf->vlSymsp; - auto& vlSelfRef = std::ref(*vlSelf).get(); - // Init - IData/*31:0*/ __VnbaIterCount; - CData/*0:0*/ __VnbaContinue; - // Body - __VnbaIterCount = 0U; - __VnbaContinue = 1U; - while (__VnbaContinue) { - if (VL_UNLIKELY(((0x64U < __VnbaIterCount)))) { -#ifdef VL_DEBUG - Vcontrol_fsm___024root___dump_triggers__nba(vlSelf); -#endif - VL_FATAL_MT("../rtl\\stopwatch_top.v", 1, "", "NBA region did not converge."); - } - __VnbaIterCount = ((IData)(1U) + __VnbaIterCount); - __VnbaContinue = 0U; - vlSelfRef.__VactIterCount = 0U; - vlSelfRef.__VactContinue = 1U; - while (vlSelfRef.__VactContinue) { - if (VL_UNLIKELY(((0x64U < vlSelfRef.__VactIterCount)))) { -#ifdef VL_DEBUG - Vcontrol_fsm___024root___dump_triggers__act(vlSelf); -#endif - VL_FATAL_MT("../rtl\\stopwatch_top.v", 1, "", "Active region did not converge."); - } - vlSelfRef.__VactIterCount = ((IData)(1U) - + vlSelfRef.__VactIterCount); - vlSelfRef.__VactContinue = 0U; - if (Vcontrol_fsm___024root___eval_phase__act(vlSelf)) { - vlSelfRef.__VactContinue = 1U; - } - } - if (Vcontrol_fsm___024root___eval_phase__nba(vlSelf)) { - __VnbaContinue = 1U; - } - } -} - -#ifdef VL_DEBUG -void Vcontrol_fsm___024root___eval_debug_assertions(Vcontrol_fsm___024root* vlSelf) { - VL_DEBUG_IF(VL_DBG_MSGF("+ Vcontrol_fsm___024root___eval_debug_assertions\n"); ); - Vcontrol_fsm__Syms* const __restrict vlSymsp VL_ATTR_UNUSED = vlSelf->vlSymsp; - auto& vlSelfRef = std::ref(*vlSelf).get(); - // Body - if (VL_UNLIKELY(((vlSelfRef.clk & 0xfeU)))) { - Verilated::overWidthError("clk");} - if (VL_UNLIKELY(((vlSelfRef.rst_n & 0xfeU)))) { - Verilated::overWidthError("rst_n");} - if (VL_UNLIKELY(((vlSelfRef.start & 0xfeU)))) { - Verilated::overWidthError("start");} - if (VL_UNLIKELY(((vlSelfRef.stop & 0xfeU)))) { - Verilated::overWidthError("stop");} - if (VL_UNLIKELY(((vlSelfRef.reset & 0xfeU)))) { - Verilated::overWidthError("reset");} -} -#endif // VL_DEBUG diff --git a/submissions/AryanPanigrahy_2024AAPS0761G_stopwatch/verilator_sw/obj_dir/Vcontrol_fsm___024root__DepSet_h07920634__0__Slow.cpp b/submissions/AryanPanigrahy_2024AAPS0761G_stopwatch/verilator_sw/obj_dir/Vcontrol_fsm___024root__DepSet_h07920634__0__Slow.cpp deleted file mode 100644 index 04961db..0000000 --- a/submissions/AryanPanigrahy_2024AAPS0761G_stopwatch/verilator_sw/obj_dir/Vcontrol_fsm___024root__DepSet_h07920634__0__Slow.cpp +++ /dev/null @@ -1,79 +0,0 @@ -// Verilated -*- C++ -*- -// DESCRIPTION: Verilator output: Design implementation internals -// See Vcontrol_fsm.h for the primary calling header - -#include "Vcontrol_fsm__pch.h" -#include "Vcontrol_fsm___024root.h" - -VL_ATTR_COLD void Vcontrol_fsm___024root___eval_static(Vcontrol_fsm___024root* vlSelf) { - VL_DEBUG_IF(VL_DBG_MSGF("+ Vcontrol_fsm___024root___eval_static\n"); ); - Vcontrol_fsm__Syms* const __restrict vlSymsp VL_ATTR_UNUSED = vlSelf->vlSymsp; - auto& vlSelfRef = std::ref(*vlSelf).get(); - // Body - vlSelfRef.__Vtrigprevexpr___TOP__clk__0 = vlSelfRef.clk; -} - -VL_ATTR_COLD void Vcontrol_fsm___024root___eval_initial(Vcontrol_fsm___024root* vlSelf) { - VL_DEBUG_IF(VL_DBG_MSGF("+ Vcontrol_fsm___024root___eval_initial\n"); ); - Vcontrol_fsm__Syms* const __restrict vlSymsp VL_ATTR_UNUSED = vlSelf->vlSymsp; - auto& vlSelfRef = std::ref(*vlSelf).get(); -} - -VL_ATTR_COLD void Vcontrol_fsm___024root___eval_final(Vcontrol_fsm___024root* vlSelf) { - VL_DEBUG_IF(VL_DBG_MSGF("+ Vcontrol_fsm___024root___eval_final\n"); ); - Vcontrol_fsm__Syms* const __restrict vlSymsp VL_ATTR_UNUSED = vlSelf->vlSymsp; - auto& vlSelfRef = std::ref(*vlSelf).get(); -} - -VL_ATTR_COLD void Vcontrol_fsm___024root___eval_settle(Vcontrol_fsm___024root* vlSelf) { - VL_DEBUG_IF(VL_DBG_MSGF("+ Vcontrol_fsm___024root___eval_settle\n"); ); - Vcontrol_fsm__Syms* const __restrict vlSymsp VL_ATTR_UNUSED = vlSelf->vlSymsp; - auto& vlSelfRef = std::ref(*vlSelf).get(); -} - -#ifdef VL_DEBUG -VL_ATTR_COLD void Vcontrol_fsm___024root___dump_triggers__act(Vcontrol_fsm___024root* vlSelf) { - VL_DEBUG_IF(VL_DBG_MSGF("+ Vcontrol_fsm___024root___dump_triggers__act\n"); ); - Vcontrol_fsm__Syms* const __restrict vlSymsp VL_ATTR_UNUSED = vlSelf->vlSymsp; - auto& vlSelfRef = std::ref(*vlSelf).get(); - // Body - if ((1U & (~ vlSelfRef.__VactTriggered.any()))) { - VL_DBG_MSGF(" No triggers active\n"); - } - if ((1ULL & vlSelfRef.__VactTriggered.word(0U))) { - VL_DBG_MSGF(" 'act' region trigger index 0 is active: @(posedge clk)\n"); - } -} -#endif // VL_DEBUG - -#ifdef VL_DEBUG -VL_ATTR_COLD void Vcontrol_fsm___024root___dump_triggers__nba(Vcontrol_fsm___024root* vlSelf) { - VL_DEBUG_IF(VL_DBG_MSGF("+ Vcontrol_fsm___024root___dump_triggers__nba\n"); ); - Vcontrol_fsm__Syms* const __restrict vlSymsp VL_ATTR_UNUSED = vlSelf->vlSymsp; - auto& vlSelfRef = std::ref(*vlSelf).get(); - // Body - if ((1U & (~ vlSelfRef.__VnbaTriggered.any()))) { - VL_DBG_MSGF(" No triggers active\n"); - } - if ((1ULL & vlSelfRef.__VnbaTriggered.word(0U))) { - VL_DBG_MSGF(" 'nba' region trigger index 0 is active: @(posedge clk)\n"); - } -} -#endif // VL_DEBUG - -VL_ATTR_COLD void Vcontrol_fsm___024root___ctor_var_reset(Vcontrol_fsm___024root* vlSelf) { - VL_DEBUG_IF(VL_DBG_MSGF("+ Vcontrol_fsm___024root___ctor_var_reset\n"); ); - Vcontrol_fsm__Syms* const __restrict vlSymsp VL_ATTR_UNUSED = vlSelf->vlSymsp; - auto& vlSelfRef = std::ref(*vlSelf).get(); - // Body - const uint64_t __VscopeHash = VL_MURMUR64_HASH(vlSelf->name()); - vlSelf->clk = VL_SCOPED_RAND_RESET_I(1, __VscopeHash, 16707436170211756652ull); - vlSelf->rst_n = VL_SCOPED_RAND_RESET_I(1, __VscopeHash, 1638864771569018232ull); - vlSelf->start = VL_SCOPED_RAND_RESET_I(1, __VscopeHash, 9867861323841650631ull); - vlSelf->stop = VL_SCOPED_RAND_RESET_I(1, __VscopeHash, 16026904639853099817ull); - vlSelf->reset = VL_SCOPED_RAND_RESET_I(1, __VscopeHash, 9928399931838511862ull); - vlSelf->minutes = VL_SCOPED_RAND_RESET_I(8, __VscopeHash, 12308508970105077781ull); - vlSelf->seconds = VL_SCOPED_RAND_RESET_I(6, __VscopeHash, 2737571640425906867ull); - vlSelf->status = VL_SCOPED_RAND_RESET_I(2, __VscopeHash, 14822974759303984767ull); - vlSelf->__Vtrigprevexpr___TOP__clk__0 = VL_SCOPED_RAND_RESET_I(1, __VscopeHash, 9526919608049418986ull); -} diff --git a/submissions/AryanPanigrahy_2024AAPS0761G_stopwatch/verilator_sw/obj_dir/Vcontrol_fsm___024root__DepSet_hd0ae6818__0.cpp b/submissions/AryanPanigrahy_2024AAPS0761G_stopwatch/verilator_sw/obj_dir/Vcontrol_fsm___024root__DepSet_hd0ae6818__0.cpp deleted file mode 100644 index 904e6ad..0000000 --- a/submissions/AryanPanigrahy_2024AAPS0761G_stopwatch/verilator_sw/obj_dir/Vcontrol_fsm___024root__DepSet_hd0ae6818__0.cpp +++ /dev/null @@ -1,26 +0,0 @@ -// Verilated -*- C++ -*- -// DESCRIPTION: Verilator output: Design implementation internals -// See Vcontrol_fsm.h for the primary calling header - -#include "Vcontrol_fsm__pch.h" -#include "Vcontrol_fsm__Syms.h" -#include "Vcontrol_fsm___024root.h" - -#ifdef VL_DEBUG -VL_ATTR_COLD void Vcontrol_fsm___024root___dump_triggers__act(Vcontrol_fsm___024root* vlSelf); -#endif // VL_DEBUG - -void Vcontrol_fsm___024root___eval_triggers__act(Vcontrol_fsm___024root* vlSelf) { - VL_DEBUG_IF(VL_DBG_MSGF("+ Vcontrol_fsm___024root___eval_triggers__act\n"); ); - Vcontrol_fsm__Syms* const __restrict vlSymsp VL_ATTR_UNUSED = vlSelf->vlSymsp; - auto& vlSelfRef = std::ref(*vlSelf).get(); - // Body - vlSelfRef.__VactTriggered.setBit(0U, ((IData)(vlSelfRef.clk) - & (~ (IData)(vlSelfRef.__Vtrigprevexpr___TOP__clk__0)))); - vlSelfRef.__Vtrigprevexpr___TOP__clk__0 = vlSelfRef.clk; -#ifdef VL_DEBUG - if (VL_UNLIKELY(vlSymsp->_vm_contextp__->debug())) { - Vcontrol_fsm___024root___dump_triggers__act(vlSelf); - } -#endif -} diff --git a/submissions/AryanPanigrahy_2024AAPS0761G_stopwatch/verilator_sw/obj_dir/Vcontrol_fsm___024root__Slow.cpp b/submissions/AryanPanigrahy_2024AAPS0761G_stopwatch/verilator_sw/obj_dir/Vcontrol_fsm___024root__Slow.cpp deleted file mode 100644 index 7e0fd73..0000000 --- a/submissions/AryanPanigrahy_2024AAPS0761G_stopwatch/verilator_sw/obj_dir/Vcontrol_fsm___024root__Slow.cpp +++ /dev/null @@ -1,24 +0,0 @@ -// Verilated -*- C++ -*- -// DESCRIPTION: Verilator output: Design implementation internals -// See Vcontrol_fsm.h for the primary calling header - -#include "Vcontrol_fsm__pch.h" -#include "Vcontrol_fsm__Syms.h" -#include "Vcontrol_fsm___024root.h" - -void Vcontrol_fsm___024root___ctor_var_reset(Vcontrol_fsm___024root* vlSelf); - -Vcontrol_fsm___024root::Vcontrol_fsm___024root(Vcontrol_fsm__Syms* symsp, const char* v__name) - : VerilatedModule{v__name} - , vlSymsp{symsp} - { - // Reset structure values - Vcontrol_fsm___024root___ctor_var_reset(this); -} - -void Vcontrol_fsm___024root::__Vconfigure(bool first) { - (void)first; // Prevent unused variable warning -} - -Vcontrol_fsm___024root::~Vcontrol_fsm___024root() { -} diff --git a/submissions/AryanPanigrahy_2024AAPS0761G_stopwatch/verilator_sw/obj_dir/Vcontrol_fsm__pch.h b/submissions/AryanPanigrahy_2024AAPS0761G_stopwatch/verilator_sw/obj_dir/Vcontrol_fsm__pch.h deleted file mode 100644 index ec4b0b0..0000000 --- a/submissions/AryanPanigrahy_2024AAPS0761G_stopwatch/verilator_sw/obj_dir/Vcontrol_fsm__pch.h +++ /dev/null @@ -1,28 +0,0 @@ -// Verilated -*- C++ -*- -// DESCRIPTION: Verilator output: Precompiled header -// -// Internal details; most user sources do not need this header, -// unless using verilator public meta comments. -// Suggest use Vcontrol_fsm.h instead. - - -#ifndef VERILATED_VCONTROL_FSM__PCH_H_ -#define VERILATED_VCONTROL_FSM__PCH_H_ // guard - -// GCC and Clang only will precompile headers (PCH) for the first header. -// So, make sure this is the one and only PCH. -// If multiple module's includes are needed, use individual includes. -#ifdef VL_PCH_INCLUDED -# error "Including multiple precompiled header files" -#endif -#define VL_PCH_INCLUDED - - -#include "verilated.h" - -#include "Vcontrol_fsm__Syms.h" -#include "Vcontrol_fsm.h" - -// Additional include files added using '--compiler-include' - -#endif // guard diff --git a/submissions/AryanPanigrahy_2024AAPS0761G_stopwatch/verilator_sw/obj_dir/Vcontrol_fsm__ver.d b/submissions/AryanPanigrahy_2024AAPS0761G_stopwatch/verilator_sw/obj_dir/Vcontrol_fsm__ver.d deleted file mode 100644 index bec4b8d..0000000 --- a/submissions/AryanPanigrahy_2024AAPS0761G_stopwatch/verilator_sw/obj_dir/Vcontrol_fsm__ver.d +++ /dev/null @@ -1 +0,0 @@ -obj_dir/Vcontrol_fsm.cpp obj_dir/Vcontrol_fsm.h obj_dir/Vcontrol_fsm.mk obj_dir/Vcontrol_fsm__ConstPool_0.cpp obj_dir/Vcontrol_fsm__Syms.cpp obj_dir/Vcontrol_fsm__Syms.h obj_dir/Vcontrol_fsm___024root.h obj_dir/Vcontrol_fsm___024root__DepSet_h07920634__0.cpp obj_dir/Vcontrol_fsm___024root__DepSet_h07920634__0__Slow.cpp obj_dir/Vcontrol_fsm___024root__DepSet_hd0ae6818__0.cpp obj_dir/Vcontrol_fsm___024root__Slow.cpp obj_dir/Vcontrol_fsm__pch.h obj_dir/Vcontrol_fsm__ver.d obj_dir/Vcontrol_fsm_classes.mk : C:\msys64\mingw64\bin\verilator_bin.exe ../rtl\control_fsm.v ../rtl\minutes_counter.v ../rtl\seconds_counter.v ../rtl\stopwatch_top.v C:/msys64/mingw64/share/verilator\include\verilated_std.sv C:/msys64/mingw64/share/verilator\include\verilated_std_waiver.vlt C:\msys64\mingw64\bin\verilator_bin.exe diff --git a/submissions/AryanPanigrahy_2024AAPS0761G_stopwatch/verilator_sw/obj_dir/Vcontrol_fsm__verFiles.dat b/submissions/AryanPanigrahy_2024AAPS0761G_stopwatch/verilator_sw/obj_dir/Vcontrol_fsm__verFiles.dat deleted file mode 100644 index e8b69f3..0000000 --- a/submissions/AryanPanigrahy_2024AAPS0761G_stopwatch/verilator_sw/obj_dir/Vcontrol_fsm__verFiles.dat +++ /dev/null @@ -1,24 +0,0 @@ -# DESCRIPTION: Verilator output: Timestamp data for --skip-identical. Delete at will. -C "-Wall --cc ../rtl/control_fsm.v ../rtl/minutes_counter.v ../rtl/seconds_counter.v ../rtl/stopwatch_top.v --exe main.cpp --build" -S 1034 0 1769897241 0 1769914067 0 "RYEBG6Wu18pSPpAWCREzbVefdMeQnI6Vf53TXkL1" "../rtl\control_fsm.v" -S 403 0 1769897289 0 1769914088 0 "itVidZqQHHtJWxTkIAuBNGZjixUEWV0Qh60wWdDH" "../rtl\minutes_counter.v" -S 481 0 1769897103 0 1769914103 0 "HTbs0dEE5L2EVBBU6BA2fWCf6k5HHdS42h6ZXvuB" "../rtl\seconds_counter.v" -S 825 0 1769897181 0 1769914212 0 "ctUaZfz1x42Kl4YI99BXBXFoBBa1YjQa2ZBv2F8Z" "../rtl\stopwatch_top.v" -S 6733 0 1769913417 0 1759538540 0 "lZAeZsH562SCYMbp50mB9ABU2NoyPlRZqMnsvJq1" "C:/msys64/mingw64/share/verilator\include\verilated_std.sv" -S 2787 0 1769913417 0 1759538540 0 "MDpoccaHI5fnW1BJLumiMpLkAQR6sBwAf7j8Gtj1" "C:/msys64/mingw64/share/verilator\include\verilated_std_waiver.vlt" -S 14831115 0 1769913417 0 1759538540 0 "unhashed" "C:\msys64\mingw64\bin\verilator_bin.exe" -T 3551 0 1769913916 0 1769914277 0 "unhashed" "obj_dir/Vcontrol_fsm.cpp" -T 3778 0 1769913916 0 1769914277 0 "unhashed" "obj_dir/Vcontrol_fsm.h" -T 2057 0 1769913916 0 1769914277 0 "unhashed" "obj_dir/Vcontrol_fsm.mk" -T 1275 0 1769913916 0 1769914277 0 "unhashed" "obj_dir/Vcontrol_fsm__ConstPool_0.cpp" -T 891 0 1769913916 0 1769914277 0 "unhashed" "obj_dir/Vcontrol_fsm__Syms.cpp" -T 1022 0 1769913916 0 1769914277 0 "unhashed" "obj_dir/Vcontrol_fsm__Syms.h" -T 1160 0 1769913916 0 1769914277 0 "unhashed" "obj_dir/Vcontrol_fsm___024root.h" -T 7181 0 1769913916 0 1769914277 0 "unhashed" "obj_dir/Vcontrol_fsm___024root__DepSet_h07920634__0.cpp" -T 4006 0 1769913916 0 1769914277 0 "unhashed" "obj_dir/Vcontrol_fsm___024root__DepSet_h07920634__0__Slow.cpp" -T 1090 0 1769913916 0 1769914277 0 "unhashed" "obj_dir/Vcontrol_fsm___024root__DepSet_hd0ae6818__0.cpp" -T 748 0 1769913916 0 1769914277 0 "unhashed" "obj_dir/Vcontrol_fsm___024root__Slow.cpp" -T 814 0 1769913916 0 1769914277 0 "unhashed" "obj_dir/Vcontrol_fsm__pch.h" -T 811 0 1769914277 0 1769914277 0 "unhashed" "obj_dir/Vcontrol_fsm__ver.d" -T 0 0 1769914277 0 1769914277 0 "unhashed" "obj_dir/Vcontrol_fsm__verFiles.dat" -T 1824 0 1769913916 0 1769914277 0 "unhashed" "obj_dir/Vcontrol_fsm_classes.mk" diff --git a/submissions/AryanPanigrahy_2024AAPS0761G_stopwatch/verilator_sw/obj_dir/Vcontrol_fsm_classes.mk b/submissions/AryanPanigrahy_2024AAPS0761G_stopwatch/verilator_sw/obj_dir/Vcontrol_fsm_classes.mk deleted file mode 100644 index 4736cb9..0000000 --- a/submissions/AryanPanigrahy_2024AAPS0761G_stopwatch/verilator_sw/obj_dir/Vcontrol_fsm_classes.mk +++ /dev/null @@ -1,53 +0,0 @@ -# Verilated -*- Makefile -*- -# DESCRIPTION: Verilator output: Make include file with class lists -# -# This file lists generated Verilated files, for including in higher level makefiles. -# See Vcontrol_fsm.mk for the caller. - -### Switches... -# C11 constructs required? 0/1 (always on now) -VM_C11 = 1 -# Timing enabled? 0/1 -VM_TIMING = 0 -# Coverage output mode? 0/1 (from --coverage) -VM_COVERAGE = 0 -# Parallel builds? 0/1 (from --output-split) -VM_PARALLEL_BUILDS = 0 -# Tracing output mode? 0/1 (from --trace-fst/--trace-saif/--trace-vcd) -VM_TRACE = 0 -# Tracing output mode in FST format? 0/1 (from --trace-fst) -VM_TRACE_FST = 0 -# Tracing output mode in SAIF format? 0/1 (from --trace-saif) -VM_TRACE_SAIF = 0 -# Tracing output mode in VCD format? 0/1 (from --trace-vcd) -VM_TRACE_VCD = 0 - -### Object file lists... -# Generated module classes, fast-path, compile with highest optimization -VM_CLASSES_FAST += \ - Vcontrol_fsm \ - Vcontrol_fsm___024root__DepSet_hd0ae6818__0 \ - Vcontrol_fsm___024root__DepSet_h07920634__0 \ - -# Generated module classes, non-fast-path, compile with low/medium optimization -VM_CLASSES_SLOW += \ - Vcontrol_fsm__ConstPool_0 \ - Vcontrol_fsm___024root__Slow \ - Vcontrol_fsm___024root__DepSet_h07920634__0__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 += \ - Vcontrol_fsm__Syms \ - -# Global classes, need linked once per executable, fast-path, compile with highest optimization -VM_GLOBAL_FAST += \ - verilated \ - verilated_threads \ - -# Global classes, need linked once per executable, non-fast-path, compile with low/medium optimization -VM_GLOBAL_SLOW += \ - -# Verilated -*- Makefile -*- diff --git a/submissions/AryanPanigrahy_2024AAPS0761G_stopwatch/verilator_sw/obj_dir/Vstopwatch_top.cpp b/submissions/AryanPanigrahy_2024AAPS0761G_stopwatch/verilator_sw/obj_dir/Vstopwatch_top.cpp deleted file mode 100644 index 00addb7..0000000 --- a/submissions/AryanPanigrahy_2024AAPS0761G_stopwatch/verilator_sw/obj_dir/Vstopwatch_top.cpp +++ /dev/null @@ -1,103 +0,0 @@ -// Verilated -*- C++ -*- -// DESCRIPTION: Verilator output: Model implementation (design independent parts) - -#include "Vstopwatch_top__pch.h" - -//============================================================ -// Constructors - -Vstopwatch_top::Vstopwatch_top(VerilatedContext* _vcontextp__, const char* _vcname__) - : VerilatedModel{*_vcontextp__} - , vlSymsp{new Vstopwatch_top__Syms(contextp(), _vcname__, this)} - , clk{vlSymsp->TOP.clk} - , rst_n{vlSymsp->TOP.rst_n} - , start{vlSymsp->TOP.start} - , stop{vlSymsp->TOP.stop} - , reset{vlSymsp->TOP.reset} - , minutes{vlSymsp->TOP.minutes} - , seconds{vlSymsp->TOP.seconds} - , status{vlSymsp->TOP.status} - , rootp{&(vlSymsp->TOP)} -{ - // Register model with the context - contextp()->addModel(this); -} - -Vstopwatch_top::Vstopwatch_top(const char* _vcname__) - : Vstopwatch_top(Verilated::threadContextp(), _vcname__) -{ -} - -//============================================================ -// Destructor - -Vstopwatch_top::~Vstopwatch_top() { - delete vlSymsp; -} - -//============================================================ -// Evaluation function - -#ifdef VL_DEBUG -void Vstopwatch_top___024root___eval_debug_assertions(Vstopwatch_top___024root* vlSelf); -#endif // VL_DEBUG -void Vstopwatch_top___024root___eval_static(Vstopwatch_top___024root* vlSelf); -void Vstopwatch_top___024root___eval_initial(Vstopwatch_top___024root* vlSelf); -void Vstopwatch_top___024root___eval_settle(Vstopwatch_top___024root* vlSelf); -void Vstopwatch_top___024root___eval(Vstopwatch_top___024root* vlSelf); - -void Vstopwatch_top::eval_step() { - VL_DEBUG_IF(VL_DBG_MSGF("+++++TOP Evaluate Vstopwatch_top::eval_step\n"); ); -#ifdef VL_DEBUG - // Debug assertions - Vstopwatch_top___024root___eval_debug_assertions(&(vlSymsp->TOP)); -#endif // VL_DEBUG - vlSymsp->__Vm_deleter.deleteAll(); - if (VL_UNLIKELY(!vlSymsp->__Vm_didInit)) { - vlSymsp->__Vm_didInit = true; - VL_DEBUG_IF(VL_DBG_MSGF("+ Initial\n");); - Vstopwatch_top___024root___eval_static(&(vlSymsp->TOP)); - Vstopwatch_top___024root___eval_initial(&(vlSymsp->TOP)); - Vstopwatch_top___024root___eval_settle(&(vlSymsp->TOP)); - } - VL_DEBUG_IF(VL_DBG_MSGF("+ Eval\n");); - Vstopwatch_top___024root___eval(&(vlSymsp->TOP)); - // Evaluate cleanup - Verilated::endOfEval(vlSymsp->__Vm_evalMsgQp); -} - -//============================================================ -// Events and timing -bool Vstopwatch_top::eventsPending() { return false; } - -uint64_t Vstopwatch_top::nextTimeSlot() { - VL_FATAL_MT(__FILE__, __LINE__, "", "No delays in the design"); - return 0; -} - -//============================================================ -// Utilities - -const char* Vstopwatch_top::name() const { - return vlSymsp->name(); -} - -//============================================================ -// Invoke final blocks - -void Vstopwatch_top___024root___eval_final(Vstopwatch_top___024root* vlSelf); - -VL_ATTR_COLD void Vstopwatch_top::final() { - Vstopwatch_top___024root___eval_final(&(vlSymsp->TOP)); -} - -//============================================================ -// Implementations of abstract methods from VerilatedModel - -const char* Vstopwatch_top::hierName() const { return vlSymsp->name(); } -const char* Vstopwatch_top::modelName() const { return "Vstopwatch_top"; } -unsigned Vstopwatch_top::threads() const { return 1; } -void Vstopwatch_top::prepareClone() const { contextp()->prepareClone(); } -void Vstopwatch_top::atClone() const { - contextp()->threadPoolpOnClone(); -} diff --git a/submissions/AryanPanigrahy_2024AAPS0761G_stopwatch/verilator_sw/obj_dir/Vstopwatch_top.exe b/submissions/AryanPanigrahy_2024AAPS0761G_stopwatch/verilator_sw/obj_dir/Vstopwatch_top.exe deleted file mode 100644 index 099a2ff..0000000 Binary files a/submissions/AryanPanigrahy_2024AAPS0761G_stopwatch/verilator_sw/obj_dir/Vstopwatch_top.exe and /dev/null differ diff --git a/submissions/AryanPanigrahy_2024AAPS0761G_stopwatch/verilator_sw/obj_dir/Vstopwatch_top.h b/submissions/AryanPanigrahy_2024AAPS0761G_stopwatch/verilator_sw/obj_dir/Vstopwatch_top.h deleted file mode 100644 index 69f5558..0000000 --- a/submissions/AryanPanigrahy_2024AAPS0761G_stopwatch/verilator_sw/obj_dir/Vstopwatch_top.h +++ /dev/null @@ -1,95 +0,0 @@ -// Verilated -*- C++ -*- -// DESCRIPTION: Verilator output: Primary model 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 VERILATED_VSTOPWATCH_TOP_H_ -#define VERILATED_VSTOPWATCH_TOP_H_ // guard - -#include "verilated.h" - -class Vstopwatch_top__Syms; -class Vstopwatch_top___024root; - -// This class is the main interface to the Verilated model -class alignas(VL_CACHE_LINE_BYTES) Vstopwatch_top VL_NOT_FINAL : public VerilatedModel { - private: - // Symbol table holding complete model state (owned by this class) - Vstopwatch_top__Syms* const vlSymsp; - - public: - - // CONSTEXPR CAPABILITIES - // Verilated with --trace? - static constexpr bool traceCapable = false; - - // PORTS - // The application code writes and reads these signals to - // propagate new values into/out from the Verilated model. - VL_IN8(&clk,0,0); - VL_IN8(&rst_n,0,0); - VL_IN8(&start,0,0); - VL_IN8(&stop,0,0); - VL_IN8(&reset,0,0); - VL_OUT8(&minutes,7,0); - VL_OUT8(&seconds,5,0); - VL_OUT8(&status,1,0); - - // CELLS - // Public to allow access to /* verilator public */ items. - // Otherwise the application code can consider these internals. - - // Root instance pointer to allow access to model internals, - // including inlined /* verilator public_flat_* */ items. - Vstopwatch_top___024root* const rootp; - - // CONSTRUCTORS - /// Construct the model; called by application code - /// If contextp is null, then the model will use the default global context - /// If name is "", then makes a wrapper with a - /// single model invisible with respect to DPI scope names. - explicit Vstopwatch_top(VerilatedContext* contextp, const char* name = "TOP"); - explicit Vstopwatch_top(const char* name = "TOP"); - /// Destroy the model; called (often implicitly) by application code - virtual ~Vstopwatch_top(); - private: - VL_UNCOPYABLE(Vstopwatch_top); ///< Copying not allowed - - public: - // 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(); - /// Are there scheduled events to handle? - bool eventsPending(); - /// Returns time at next time slot. Aborts if !eventsPending() - uint64_t nextTimeSlot(); - /// Trace signals in the model; called by application code - void trace(VerilatedTraceBaseC* tfp, int levels, int options = 0) { contextp()->trace(tfp, levels, options); } - /// Retrieve name of this model instance (as passed to constructor). - const char* name() const; - - // Abstract methods from VerilatedModel - const char* hierName() const override final; - const char* modelName() const override final; - unsigned threads() const override final; - /// Prepare for cloning the model at the process level (e.g. fork in Linux) - /// Release necessary resources. Called before cloning. - void prepareClone() const; - /// Re-init after cloning the model at the process level (e.g. fork in Linux) - /// Re-allocate necessary resources. Called after cloning. - void atClone() const; - private: - // Internal functions - trace registration - void traceBaseModel(VerilatedTraceBaseC* tfp, int levels, int options); -}; - -#endif // guard diff --git a/submissions/AryanPanigrahy_2024AAPS0761G_stopwatch/verilator_sw/obj_dir/Vstopwatch_top.mk b/submissions/AryanPanigrahy_2024AAPS0761G_stopwatch/verilator_sw/obj_dir/Vstopwatch_top.mk deleted file mode 100644 index b9ea693..0000000 --- a/submissions/AryanPanigrahy_2024AAPS0761G_stopwatch/verilator_sw/obj_dir/Vstopwatch_top.mk +++ /dev/null @@ -1,68 +0,0 @@ -# Verilated -*- Makefile -*- -# DESCRIPTION: Verilator output: Makefile for building Verilated archive or executable -# -# Execute this makefile from the object directory: -# make -f Vstopwatch_top.mk - -default: Vstopwatch_top - -### Constants... -# Perl executable (from $PERL, defaults to 'perl' if not set) -PERL = perl -# Python3 executable (from $PYTHON3, defaults to 'python3' if not set) -PYTHON3 = python3 -# Path to Verilator kit (from $VERILATOR_ROOT) -VERILATOR_ROOT = C:/msys64/mingw64/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... -# C++ code coverage 0/1 (from --prof-c) -VM_PROFC = 0 -# 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 = mingw32 - -### Vars... -# Design prefix (from --prefix) -VM_PREFIX = Vstopwatch_top -# Module prefix (from --prefix) -VM_MODPREFIX = Vstopwatch_top -# 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 = \ - main \ - -# User .cpp directories (from .cpp's on Verilator command line) -VM_USER_DIR = \ - .. \ - -### Default rules... -# Include list of all generated classes -include Vstopwatch_top_classes.mk -# Include global rules -include $(VERILATOR_ROOT)/include/verilated.mk - -### Executable rules... (from --exe) -VPATH += $(VM_USER_DIR) - -main.o: main.cpp - $(OBJCACHE) $(CXX) $(CXXFLAGS) $(CPPFLAGS) $(OPT_FAST) -c -o $@ $< - -### Link rules... (from --exe) -Vstopwatch_top: $(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/submissions/AryanPanigrahy_2024AAPS0761G_stopwatch/verilator_sw/obj_dir/Vstopwatch_top__ALL.a b/submissions/AryanPanigrahy_2024AAPS0761G_stopwatch/verilator_sw/obj_dir/Vstopwatch_top__ALL.a deleted file mode 100644 index d53cd5b..0000000 Binary files a/submissions/AryanPanigrahy_2024AAPS0761G_stopwatch/verilator_sw/obj_dir/Vstopwatch_top__ALL.a and /dev/null differ diff --git a/submissions/AryanPanigrahy_2024AAPS0761G_stopwatch/verilator_sw/obj_dir/Vstopwatch_top__ALL.cpp b/submissions/AryanPanigrahy_2024AAPS0761G_stopwatch/verilator_sw/obj_dir/Vstopwatch_top__ALL.cpp deleted file mode 100644 index a189da1..0000000 --- a/submissions/AryanPanigrahy_2024AAPS0761G_stopwatch/verilator_sw/obj_dir/Vstopwatch_top__ALL.cpp +++ /dev/null @@ -1,9 +0,0 @@ -// DESCRIPTION: Generated by verilator_includer via makefile -#define VL_INCLUDE_OPT include -#include "Vstopwatch_top.cpp" -#include "Vstopwatch_top___024root__DepSet_hbd04a910__0.cpp" -#include "Vstopwatch_top___024root__DepSet_h23df8dc6__0.cpp" -#include "Vstopwatch_top__ConstPool_0.cpp" -#include "Vstopwatch_top___024root__Slow.cpp" -#include "Vstopwatch_top___024root__DepSet_h23df8dc6__0__Slow.cpp" -#include "Vstopwatch_top__Syms.cpp" diff --git a/submissions/AryanPanigrahy_2024AAPS0761G_stopwatch/verilator_sw/obj_dir/Vstopwatch_top__ALL.d b/submissions/AryanPanigrahy_2024AAPS0761G_stopwatch/verilator_sw/obj_dir/Vstopwatch_top__ALL.d deleted file mode 100644 index 4d2421e..0000000 --- a/submissions/AryanPanigrahy_2024AAPS0761G_stopwatch/verilator_sw/obj_dir/Vstopwatch_top__ALL.d +++ /dev/null @@ -1,13 +0,0 @@ -Vstopwatch_top__ALL.o: Vstopwatch_top__ALL.cpp Vstopwatch_top.cpp \ - Vstopwatch_top__pch.h \ - C:/msys64/mingw64/share/verilator/include/verilated.h \ - C:/msys64/mingw64/share/verilator/include/verilated_config.h \ - C:/msys64/mingw64/share/verilator/include/verilatedos.h \ - C:/msys64/mingw64/share/verilator/include/verilated_types.h \ - C:/msys64/mingw64/share/verilator/include/verilated_funcs.h \ - Vstopwatch_top__Syms.h Vstopwatch_top.h Vstopwatch_top___024root.h \ - Vstopwatch_top___024root__DepSet_hbd04a910__0.cpp \ - Vstopwatch_top___024root__DepSet_h23df8dc6__0.cpp \ - Vstopwatch_top__ConstPool_0.cpp Vstopwatch_top___024root__Slow.cpp \ - Vstopwatch_top___024root__DepSet_h23df8dc6__0__Slow.cpp \ - Vstopwatch_top__Syms.cpp diff --git a/submissions/AryanPanigrahy_2024AAPS0761G_stopwatch/verilator_sw/obj_dir/Vstopwatch_top__ALL.o b/submissions/AryanPanigrahy_2024AAPS0761G_stopwatch/verilator_sw/obj_dir/Vstopwatch_top__ALL.o deleted file mode 100644 index c81c6fc..0000000 Binary files a/submissions/AryanPanigrahy_2024AAPS0761G_stopwatch/verilator_sw/obj_dir/Vstopwatch_top__ALL.o and /dev/null differ diff --git a/submissions/AryanPanigrahy_2024AAPS0761G_stopwatch/verilator_sw/obj_dir/Vstopwatch_top__ConstPool_0.cpp b/submissions/AryanPanigrahy_2024AAPS0761G_stopwatch/verilator_sw/obj_dir/Vstopwatch_top__ConstPool_0.cpp deleted file mode 100644 index a096464..0000000 --- a/submissions/AryanPanigrahy_2024AAPS0761G_stopwatch/verilator_sw/obj_dir/Vstopwatch_top__ConstPool_0.cpp +++ /dev/null @@ -1,27 +0,0 @@ -// Verilated -*- C++ -*- -// DESCRIPTION: Verilator output: Constant pool -// - -#include "verilated.h" - -extern const VlUnpacked Vstopwatch_top__ConstPool__TABLE_h58dadc62_0 = {{ - 0x01U, 0x00U, 0x01U, 0x01U, 0x01U, 0x00U, 0x01U, 0x01U, - 0x01U, 0x00U, 0x01U, 0x01U, 0x01U, 0x01U, 0x01U, 0x01U, - 0x01U, 0x01U, 0x01U, 0x01U, 0x01U, 0x00U, 0x01U, 0x01U, - 0x01U, 0x01U, 0x01U, 0x01U, 0x01U, 0x01U, 0x01U, 0x01U, - 0x01U, 0x00U, 0x01U, 0x01U, 0x01U, 0x01U, 0x01U, 0x01U, - 0x01U, 0x00U, 0x01U, 0x01U, 0x01U, 0x01U, 0x01U, 0x01U, - 0x01U, 0x01U, 0x01U, 0x01U, 0x01U, 0x01U, 0x01U, 0x01U, - 0x01U, 0x01U, 0x01U, 0x01U, 0x01U, 0x01U, 0x01U, 0x01U -}}; - -extern const VlUnpacked Vstopwatch_top__ConstPool__TABLE_hbe93f50b_0 = {{ - 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, - 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, - 0x00U, 0x01U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, - 0x00U, 0x01U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, - 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x02U, 0x00U, 0x00U, - 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, - 0x00U, 0x01U, 0x00U, 0x00U, 0x00U, 0x02U, 0x00U, 0x00U, - 0x00U, 0x01U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U -}}; diff --git a/submissions/AryanPanigrahy_2024AAPS0761G_stopwatch/verilator_sw/obj_dir/Vstopwatch_top__Syms.cpp b/submissions/AryanPanigrahy_2024AAPS0761G_stopwatch/verilator_sw/obj_dir/Vstopwatch_top__Syms.cpp deleted file mode 100644 index 09f2630..0000000 --- a/submissions/AryanPanigrahy_2024AAPS0761G_stopwatch/verilator_sw/obj_dir/Vstopwatch_top__Syms.cpp +++ /dev/null @@ -1,28 +0,0 @@ -// Verilated -*- C++ -*- -// DESCRIPTION: Verilator output: Symbol table implementation internals - -#include "Vstopwatch_top__pch.h" -#include "Vstopwatch_top.h" -#include "Vstopwatch_top___024root.h" - -// FUNCTIONS -Vstopwatch_top__Syms::~Vstopwatch_top__Syms() -{ -} - -Vstopwatch_top__Syms::Vstopwatch_top__Syms(VerilatedContext* contextp, const char* namep, Vstopwatch_top* modelp) - : VerilatedSyms{contextp} - // Setup internal state of the Syms class - , __Vm_modelp{modelp} - // Setup module instances - , TOP{this, namep} -{ - // Check resources - Verilated::stackCheck(15); - // Configure time unit / time precision - _vm_contextp__->timeunit(-12); - _vm_contextp__->timeprecision(-12); - // Setup each module's pointers to their submodules - // Setup each module's pointer back to symbol table (for public functions) - TOP.__Vconfigure(true); -} diff --git a/submissions/AryanPanigrahy_2024AAPS0761G_stopwatch/verilator_sw/obj_dir/Vstopwatch_top__Syms.h b/submissions/AryanPanigrahy_2024AAPS0761G_stopwatch/verilator_sw/obj_dir/Vstopwatch_top__Syms.h deleted file mode 100644 index 6a37af4..0000000 --- a/submissions/AryanPanigrahy_2024AAPS0761G_stopwatch/verilator_sw/obj_dir/Vstopwatch_top__Syms.h +++ /dev/null @@ -1,38 +0,0 @@ -// 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 VERILATED_VSTOPWATCH_TOP__SYMS_H_ -#define VERILATED_VSTOPWATCH_TOP__SYMS_H_ // guard - -#include "verilated.h" - -// INCLUDE MODEL CLASS - -#include "Vstopwatch_top.h" - -// INCLUDE MODULE CLASSES -#include "Vstopwatch_top___024root.h" - -// SYMS CLASS (contains all model state) -class alignas(VL_CACHE_LINE_BYTES)Vstopwatch_top__Syms final : public VerilatedSyms { - public: - // INTERNAL STATE - Vstopwatch_top* const __Vm_modelp; - VlDeleter __Vm_deleter; - bool __Vm_didInit = false; - - // MODULE INSTANCE STATE - Vstopwatch_top___024root TOP; - - // CONSTRUCTORS - Vstopwatch_top__Syms(VerilatedContext* contextp, const char* namep, Vstopwatch_top* modelp); - ~Vstopwatch_top__Syms(); - - // METHODS - const char* name() { return TOP.name(); } -}; - -#endif // guard diff --git a/submissions/AryanPanigrahy_2024AAPS0761G_stopwatch/verilator_sw/obj_dir/Vstopwatch_top___024root.h b/submissions/AryanPanigrahy_2024AAPS0761G_stopwatch/verilator_sw/obj_dir/Vstopwatch_top___024root.h deleted file mode 100644 index 730f584..0000000 --- a/submissions/AryanPanigrahy_2024AAPS0761G_stopwatch/verilator_sw/obj_dir/Vstopwatch_top___024root.h +++ /dev/null @@ -1,44 +0,0 @@ -// Verilated -*- C++ -*- -// DESCRIPTION: Verilator output: Design internal header -// See Vstopwatch_top.h for the primary calling header - -#ifndef VERILATED_VSTOPWATCH_TOP___024ROOT_H_ -#define VERILATED_VSTOPWATCH_TOP___024ROOT_H_ // guard - -#include "verilated.h" - - -class Vstopwatch_top__Syms; - -class alignas(VL_CACHE_LINE_BYTES) Vstopwatch_top___024root final : public VerilatedModule { - public: - - // DESIGN SPECIFIC STATE - VL_IN8(clk,0,0); - VL_IN8(rst_n,0,0); - VL_IN8(start,0,0); - VL_IN8(stop,0,0); - VL_IN8(reset,0,0); - VL_OUT8(minutes,7,0); - VL_OUT8(seconds,5,0); - VL_OUT8(status,1,0); - CData/*0:0*/ __Vtrigprevexpr___TOP__clk__0; - CData/*0:0*/ __VactContinue; - IData/*31:0*/ __VactIterCount; - VlTriggerVec<1> __VactTriggered; - VlTriggerVec<1> __VnbaTriggered; - - // INTERNAL VARIABLES - Vstopwatch_top__Syms* const vlSymsp; - - // CONSTRUCTORS - Vstopwatch_top___024root(Vstopwatch_top__Syms* symsp, const char* v__name); - ~Vstopwatch_top___024root(); - VL_UNCOPYABLE(Vstopwatch_top___024root); - - // INTERNAL METHODS - void __Vconfigure(bool first); -}; - - -#endif // guard diff --git a/submissions/AryanPanigrahy_2024AAPS0761G_stopwatch/verilator_sw/obj_dir/Vstopwatch_top___024root__DepSet_h23df8dc6__0.cpp b/submissions/AryanPanigrahy_2024AAPS0761G_stopwatch/verilator_sw/obj_dir/Vstopwatch_top___024root__DepSet_h23df8dc6__0.cpp deleted file mode 100644 index 7541316..0000000 --- a/submissions/AryanPanigrahy_2024AAPS0761G_stopwatch/verilator_sw/obj_dir/Vstopwatch_top___024root__DepSet_h23df8dc6__0.cpp +++ /dev/null @@ -1,169 +0,0 @@ -// Verilated -*- C++ -*- -// DESCRIPTION: Verilator output: Design implementation internals -// See Vstopwatch_top.h for the primary calling header - -#include "Vstopwatch_top__pch.h" -#include "Vstopwatch_top___024root.h" - -void Vstopwatch_top___024root___eval_act(Vstopwatch_top___024root* vlSelf) { - VL_DEBUG_IF(VL_DBG_MSGF("+ Vstopwatch_top___024root___eval_act\n"); ); - Vstopwatch_top__Syms* const __restrict vlSymsp VL_ATTR_UNUSED = vlSelf->vlSymsp; - auto& vlSelfRef = std::ref(*vlSelf).get(); -} - -void Vstopwatch_top___024root___nba_sequent__TOP__0(Vstopwatch_top___024root* vlSelf); - -void Vstopwatch_top___024root___eval_nba(Vstopwatch_top___024root* vlSelf) { - VL_DEBUG_IF(VL_DBG_MSGF("+ Vstopwatch_top___024root___eval_nba\n"); ); - Vstopwatch_top__Syms* const __restrict vlSymsp VL_ATTR_UNUSED = vlSelf->vlSymsp; - auto& vlSelfRef = std::ref(*vlSelf).get(); - // Body - if ((1ULL & vlSelfRef.__VnbaTriggered.word(0U))) { - Vstopwatch_top___024root___nba_sequent__TOP__0(vlSelf); - } -} - -extern const VlUnpacked Vstopwatch_top__ConstPool__TABLE_h58dadc62_0; -extern const VlUnpacked Vstopwatch_top__ConstPool__TABLE_hbe93f50b_0; - -VL_INLINE_OPT void Vstopwatch_top___024root___nba_sequent__TOP__0(Vstopwatch_top___024root* vlSelf) { - VL_DEBUG_IF(VL_DBG_MSGF("+ Vstopwatch_top___024root___nba_sequent__TOP__0\n"); ); - Vstopwatch_top__Syms* const __restrict vlSymsp VL_ATTR_UNUSED = vlSelf->vlSymsp; - auto& vlSelfRef = std::ref(*vlSelf).get(); - // Init - CData/*5:0*/ __Vtableidx1; - __Vtableidx1 = 0; - CData/*5:0*/ __Vdly__seconds; - __Vdly__seconds = 0; - // Body - __Vdly__seconds = vlSelfRef.seconds; - if (vlSelfRef.rst_n) { - if ((1U == (IData)(vlSelfRef.status))) { - __Vdly__seconds = ((0x3bU == (IData)(vlSelfRef.seconds)) - ? 0U : (0x3fU & ((IData)(1U) - + (IData)(vlSelfRef.seconds)))); - } - if (((1U == (IData)(vlSelfRef.status)) & (0x3bU - == (IData)(vlSelfRef.seconds)))) { - vlSelfRef.minutes = ((0x63U == (IData)(vlSelfRef.minutes)) - ? 0U : (0xffU & ((IData)(1U) - + (IData)(vlSelfRef.minutes)))); - } - } else { - __Vdly__seconds = 0U; - vlSelfRef.minutes = 0U; - } - __Vtableidx1 = ((((IData)(vlSelfRef.stop) << 5U) - | ((IData)(vlSelfRef.start) << 4U)) - | (((IData)(vlSelfRef.status) << 2U) - | (((IData)(vlSelfRef.reset) - << 1U) | (IData)(vlSelfRef.rst_n)))); - if (Vstopwatch_top__ConstPool__TABLE_h58dadc62_0 - [__Vtableidx1]) { - vlSelfRef.status = Vstopwatch_top__ConstPool__TABLE_hbe93f50b_0 - [__Vtableidx1]; - } - vlSelfRef.seconds = __Vdly__seconds; -} - -void Vstopwatch_top___024root___eval_triggers__act(Vstopwatch_top___024root* vlSelf); - -bool Vstopwatch_top___024root___eval_phase__act(Vstopwatch_top___024root* vlSelf) { - VL_DEBUG_IF(VL_DBG_MSGF("+ Vstopwatch_top___024root___eval_phase__act\n"); ); - Vstopwatch_top__Syms* const __restrict vlSymsp VL_ATTR_UNUSED = vlSelf->vlSymsp; - auto& vlSelfRef = std::ref(*vlSelf).get(); - // Init - VlTriggerVec<1> __VpreTriggered; - CData/*0:0*/ __VactExecute; - // Body - Vstopwatch_top___024root___eval_triggers__act(vlSelf); - __VactExecute = vlSelfRef.__VactTriggered.any(); - if (__VactExecute) { - __VpreTriggered.andNot(vlSelfRef.__VactTriggered, vlSelfRef.__VnbaTriggered); - vlSelfRef.__VnbaTriggered.thisOr(vlSelfRef.__VactTriggered); - Vstopwatch_top___024root___eval_act(vlSelf); - } - return (__VactExecute); -} - -bool Vstopwatch_top___024root___eval_phase__nba(Vstopwatch_top___024root* vlSelf) { - VL_DEBUG_IF(VL_DBG_MSGF("+ Vstopwatch_top___024root___eval_phase__nba\n"); ); - Vstopwatch_top__Syms* const __restrict vlSymsp VL_ATTR_UNUSED = vlSelf->vlSymsp; - auto& vlSelfRef = std::ref(*vlSelf).get(); - // Init - CData/*0:0*/ __VnbaExecute; - // Body - __VnbaExecute = vlSelfRef.__VnbaTriggered.any(); - if (__VnbaExecute) { - Vstopwatch_top___024root___eval_nba(vlSelf); - vlSelfRef.__VnbaTriggered.clear(); - } - return (__VnbaExecute); -} - -#ifdef VL_DEBUG -VL_ATTR_COLD void Vstopwatch_top___024root___dump_triggers__nba(Vstopwatch_top___024root* vlSelf); -#endif // VL_DEBUG -#ifdef VL_DEBUG -VL_ATTR_COLD void Vstopwatch_top___024root___dump_triggers__act(Vstopwatch_top___024root* vlSelf); -#endif // VL_DEBUG - -void Vstopwatch_top___024root___eval(Vstopwatch_top___024root* vlSelf) { - VL_DEBUG_IF(VL_DBG_MSGF("+ Vstopwatch_top___024root___eval\n"); ); - Vstopwatch_top__Syms* const __restrict vlSymsp VL_ATTR_UNUSED = vlSelf->vlSymsp; - auto& vlSelfRef = std::ref(*vlSelf).get(); - // Init - IData/*31:0*/ __VnbaIterCount; - CData/*0:0*/ __VnbaContinue; - // Body - __VnbaIterCount = 0U; - __VnbaContinue = 1U; - while (__VnbaContinue) { - if (VL_UNLIKELY(((0x64U < __VnbaIterCount)))) { -#ifdef VL_DEBUG - Vstopwatch_top___024root___dump_triggers__nba(vlSelf); -#endif - VL_FATAL_MT("../rtl\\stopwatch_top.v", 1, "", "NBA region did not converge."); - } - __VnbaIterCount = ((IData)(1U) + __VnbaIterCount); - __VnbaContinue = 0U; - vlSelfRef.__VactIterCount = 0U; - vlSelfRef.__VactContinue = 1U; - while (vlSelfRef.__VactContinue) { - if (VL_UNLIKELY(((0x64U < vlSelfRef.__VactIterCount)))) { -#ifdef VL_DEBUG - Vstopwatch_top___024root___dump_triggers__act(vlSelf); -#endif - VL_FATAL_MT("../rtl\\stopwatch_top.v", 1, "", "Active region did not converge."); - } - vlSelfRef.__VactIterCount = ((IData)(1U) - + vlSelfRef.__VactIterCount); - vlSelfRef.__VactContinue = 0U; - if (Vstopwatch_top___024root___eval_phase__act(vlSelf)) { - vlSelfRef.__VactContinue = 1U; - } - } - if (Vstopwatch_top___024root___eval_phase__nba(vlSelf)) { - __VnbaContinue = 1U; - } - } -} - -#ifdef VL_DEBUG -void Vstopwatch_top___024root___eval_debug_assertions(Vstopwatch_top___024root* vlSelf) { - VL_DEBUG_IF(VL_DBG_MSGF("+ Vstopwatch_top___024root___eval_debug_assertions\n"); ); - Vstopwatch_top__Syms* const __restrict vlSymsp VL_ATTR_UNUSED = vlSelf->vlSymsp; - auto& vlSelfRef = std::ref(*vlSelf).get(); - // Body - if (VL_UNLIKELY(((vlSelfRef.clk & 0xfeU)))) { - Verilated::overWidthError("clk");} - if (VL_UNLIKELY(((vlSelfRef.rst_n & 0xfeU)))) { - Verilated::overWidthError("rst_n");} - if (VL_UNLIKELY(((vlSelfRef.start & 0xfeU)))) { - Verilated::overWidthError("start");} - if (VL_UNLIKELY(((vlSelfRef.stop & 0xfeU)))) { - Verilated::overWidthError("stop");} - if (VL_UNLIKELY(((vlSelfRef.reset & 0xfeU)))) { - Verilated::overWidthError("reset");} -} -#endif // VL_DEBUG diff --git a/submissions/AryanPanigrahy_2024AAPS0761G_stopwatch/verilator_sw/obj_dir/Vstopwatch_top___024root__DepSet_h23df8dc6__0__Slow.cpp b/submissions/AryanPanigrahy_2024AAPS0761G_stopwatch/verilator_sw/obj_dir/Vstopwatch_top___024root__DepSet_h23df8dc6__0__Slow.cpp deleted file mode 100644 index aff71a9..0000000 --- a/submissions/AryanPanigrahy_2024AAPS0761G_stopwatch/verilator_sw/obj_dir/Vstopwatch_top___024root__DepSet_h23df8dc6__0__Slow.cpp +++ /dev/null @@ -1,79 +0,0 @@ -// Verilated -*- C++ -*- -// DESCRIPTION: Verilator output: Design implementation internals -// See Vstopwatch_top.h for the primary calling header - -#include "Vstopwatch_top__pch.h" -#include "Vstopwatch_top___024root.h" - -VL_ATTR_COLD void Vstopwatch_top___024root___eval_static(Vstopwatch_top___024root* vlSelf) { - VL_DEBUG_IF(VL_DBG_MSGF("+ Vstopwatch_top___024root___eval_static\n"); ); - Vstopwatch_top__Syms* const __restrict vlSymsp VL_ATTR_UNUSED = vlSelf->vlSymsp; - auto& vlSelfRef = std::ref(*vlSelf).get(); - // Body - vlSelfRef.__Vtrigprevexpr___TOP__clk__0 = vlSelfRef.clk; -} - -VL_ATTR_COLD void Vstopwatch_top___024root___eval_initial(Vstopwatch_top___024root* vlSelf) { - VL_DEBUG_IF(VL_DBG_MSGF("+ Vstopwatch_top___024root___eval_initial\n"); ); - Vstopwatch_top__Syms* const __restrict vlSymsp VL_ATTR_UNUSED = vlSelf->vlSymsp; - auto& vlSelfRef = std::ref(*vlSelf).get(); -} - -VL_ATTR_COLD void Vstopwatch_top___024root___eval_final(Vstopwatch_top___024root* vlSelf) { - VL_DEBUG_IF(VL_DBG_MSGF("+ Vstopwatch_top___024root___eval_final\n"); ); - Vstopwatch_top__Syms* const __restrict vlSymsp VL_ATTR_UNUSED = vlSelf->vlSymsp; - auto& vlSelfRef = std::ref(*vlSelf).get(); -} - -VL_ATTR_COLD void Vstopwatch_top___024root___eval_settle(Vstopwatch_top___024root* vlSelf) { - VL_DEBUG_IF(VL_DBG_MSGF("+ Vstopwatch_top___024root___eval_settle\n"); ); - Vstopwatch_top__Syms* const __restrict vlSymsp VL_ATTR_UNUSED = vlSelf->vlSymsp; - auto& vlSelfRef = std::ref(*vlSelf).get(); -} - -#ifdef VL_DEBUG -VL_ATTR_COLD void Vstopwatch_top___024root___dump_triggers__act(Vstopwatch_top___024root* vlSelf) { - VL_DEBUG_IF(VL_DBG_MSGF("+ Vstopwatch_top___024root___dump_triggers__act\n"); ); - Vstopwatch_top__Syms* const __restrict vlSymsp VL_ATTR_UNUSED = vlSelf->vlSymsp; - auto& vlSelfRef = std::ref(*vlSelf).get(); - // Body - if ((1U & (~ vlSelfRef.__VactTriggered.any()))) { - VL_DBG_MSGF(" No triggers active\n"); - } - if ((1ULL & vlSelfRef.__VactTriggered.word(0U))) { - VL_DBG_MSGF(" 'act' region trigger index 0 is active: @(posedge clk)\n"); - } -} -#endif // VL_DEBUG - -#ifdef VL_DEBUG -VL_ATTR_COLD void Vstopwatch_top___024root___dump_triggers__nba(Vstopwatch_top___024root* vlSelf) { - VL_DEBUG_IF(VL_DBG_MSGF("+ Vstopwatch_top___024root___dump_triggers__nba\n"); ); - Vstopwatch_top__Syms* const __restrict vlSymsp VL_ATTR_UNUSED = vlSelf->vlSymsp; - auto& vlSelfRef = std::ref(*vlSelf).get(); - // Body - if ((1U & (~ vlSelfRef.__VnbaTriggered.any()))) { - VL_DBG_MSGF(" No triggers active\n"); - } - if ((1ULL & vlSelfRef.__VnbaTriggered.word(0U))) { - VL_DBG_MSGF(" 'nba' region trigger index 0 is active: @(posedge clk)\n"); - } -} -#endif // VL_DEBUG - -VL_ATTR_COLD void Vstopwatch_top___024root___ctor_var_reset(Vstopwatch_top___024root* vlSelf) { - VL_DEBUG_IF(VL_DBG_MSGF("+ Vstopwatch_top___024root___ctor_var_reset\n"); ); - Vstopwatch_top__Syms* const __restrict vlSymsp VL_ATTR_UNUSED = vlSelf->vlSymsp; - auto& vlSelfRef = std::ref(*vlSelf).get(); - // Body - const uint64_t __VscopeHash = VL_MURMUR64_HASH(vlSelf->name()); - vlSelf->clk = VL_SCOPED_RAND_RESET_I(1, __VscopeHash, 16707436170211756652ull); - vlSelf->rst_n = VL_SCOPED_RAND_RESET_I(1, __VscopeHash, 1638864771569018232ull); - vlSelf->start = VL_SCOPED_RAND_RESET_I(1, __VscopeHash, 9867861323841650631ull); - vlSelf->stop = VL_SCOPED_RAND_RESET_I(1, __VscopeHash, 16026904639853099817ull); - vlSelf->reset = VL_SCOPED_RAND_RESET_I(1, __VscopeHash, 9928399931838511862ull); - vlSelf->minutes = VL_SCOPED_RAND_RESET_I(8, __VscopeHash, 12308508970105077781ull); - vlSelf->seconds = VL_SCOPED_RAND_RESET_I(6, __VscopeHash, 2737571640425906867ull); - vlSelf->status = VL_SCOPED_RAND_RESET_I(2, __VscopeHash, 14822974759303984767ull); - vlSelf->__Vtrigprevexpr___TOP__clk__0 = VL_SCOPED_RAND_RESET_I(1, __VscopeHash, 9526919608049418986ull); -} diff --git a/submissions/AryanPanigrahy_2024AAPS0761G_stopwatch/verilator_sw/obj_dir/Vstopwatch_top___024root__DepSet_hbd04a910__0.cpp b/submissions/AryanPanigrahy_2024AAPS0761G_stopwatch/verilator_sw/obj_dir/Vstopwatch_top___024root__DepSet_hbd04a910__0.cpp deleted file mode 100644 index 58e7850..0000000 --- a/submissions/AryanPanigrahy_2024AAPS0761G_stopwatch/verilator_sw/obj_dir/Vstopwatch_top___024root__DepSet_hbd04a910__0.cpp +++ /dev/null @@ -1,26 +0,0 @@ -// Verilated -*- C++ -*- -// DESCRIPTION: Verilator output: Design implementation internals -// See Vstopwatch_top.h for the primary calling header - -#include "Vstopwatch_top__pch.h" -#include "Vstopwatch_top__Syms.h" -#include "Vstopwatch_top___024root.h" - -#ifdef VL_DEBUG -VL_ATTR_COLD void Vstopwatch_top___024root___dump_triggers__act(Vstopwatch_top___024root* vlSelf); -#endif // VL_DEBUG - -void Vstopwatch_top___024root___eval_triggers__act(Vstopwatch_top___024root* vlSelf) { - VL_DEBUG_IF(VL_DBG_MSGF("+ Vstopwatch_top___024root___eval_triggers__act\n"); ); - Vstopwatch_top__Syms* const __restrict vlSymsp VL_ATTR_UNUSED = vlSelf->vlSymsp; - auto& vlSelfRef = std::ref(*vlSelf).get(); - // Body - vlSelfRef.__VactTriggered.setBit(0U, ((IData)(vlSelfRef.clk) - & (~ (IData)(vlSelfRef.__Vtrigprevexpr___TOP__clk__0)))); - vlSelfRef.__Vtrigprevexpr___TOP__clk__0 = vlSelfRef.clk; -#ifdef VL_DEBUG - if (VL_UNLIKELY(vlSymsp->_vm_contextp__->debug())) { - Vstopwatch_top___024root___dump_triggers__act(vlSelf); - } -#endif -} diff --git a/submissions/AryanPanigrahy_2024AAPS0761G_stopwatch/verilator_sw/obj_dir/Vstopwatch_top___024root__Slow.cpp b/submissions/AryanPanigrahy_2024AAPS0761G_stopwatch/verilator_sw/obj_dir/Vstopwatch_top___024root__Slow.cpp deleted file mode 100644 index d45ae62..0000000 --- a/submissions/AryanPanigrahy_2024AAPS0761G_stopwatch/verilator_sw/obj_dir/Vstopwatch_top___024root__Slow.cpp +++ /dev/null @@ -1,24 +0,0 @@ -// Verilated -*- C++ -*- -// DESCRIPTION: Verilator output: Design implementation internals -// See Vstopwatch_top.h for the primary calling header - -#include "Vstopwatch_top__pch.h" -#include "Vstopwatch_top__Syms.h" -#include "Vstopwatch_top___024root.h" - -void Vstopwatch_top___024root___ctor_var_reset(Vstopwatch_top___024root* vlSelf); - -Vstopwatch_top___024root::Vstopwatch_top___024root(Vstopwatch_top__Syms* symsp, const char* v__name) - : VerilatedModule{v__name} - , vlSymsp{symsp} - { - // Reset structure values - Vstopwatch_top___024root___ctor_var_reset(this); -} - -void Vstopwatch_top___024root::__Vconfigure(bool first) { - (void)first; // Prevent unused variable warning -} - -Vstopwatch_top___024root::~Vstopwatch_top___024root() { -} diff --git a/submissions/AryanPanigrahy_2024AAPS0761G_stopwatch/verilator_sw/obj_dir/Vstopwatch_top__pch.h b/submissions/AryanPanigrahy_2024AAPS0761G_stopwatch/verilator_sw/obj_dir/Vstopwatch_top__pch.h deleted file mode 100644 index 5075ce2..0000000 --- a/submissions/AryanPanigrahy_2024AAPS0761G_stopwatch/verilator_sw/obj_dir/Vstopwatch_top__pch.h +++ /dev/null @@ -1,28 +0,0 @@ -// Verilated -*- C++ -*- -// DESCRIPTION: Verilator output: Precompiled header -// -// Internal details; most user sources do not need this header, -// unless using verilator public meta comments. -// Suggest use Vstopwatch_top.h instead. - - -#ifndef VERILATED_VSTOPWATCH_TOP__PCH_H_ -#define VERILATED_VSTOPWATCH_TOP__PCH_H_ // guard - -// GCC and Clang only will precompile headers (PCH) for the first header. -// So, make sure this is the one and only PCH. -// If multiple module's includes are needed, use individual includes. -#ifdef VL_PCH_INCLUDED -# error "Including multiple precompiled header files" -#endif -#define VL_PCH_INCLUDED - - -#include "verilated.h" - -#include "Vstopwatch_top__Syms.h" -#include "Vstopwatch_top.h" - -// Additional include files added using '--compiler-include' - -#endif // guard diff --git a/submissions/AryanPanigrahy_2024AAPS0761G_stopwatch/verilator_sw/obj_dir/Vstopwatch_top__ver.d b/submissions/AryanPanigrahy_2024AAPS0761G_stopwatch/verilator_sw/obj_dir/Vstopwatch_top__ver.d deleted file mode 100644 index 9925972..0000000 --- a/submissions/AryanPanigrahy_2024AAPS0761G_stopwatch/verilator_sw/obj_dir/Vstopwatch_top__ver.d +++ /dev/null @@ -1 +0,0 @@ -obj_dir/Vstopwatch_top.cpp obj_dir/Vstopwatch_top.h obj_dir/Vstopwatch_top.mk obj_dir/Vstopwatch_top__ConstPool_0.cpp obj_dir/Vstopwatch_top__Syms.cpp obj_dir/Vstopwatch_top__Syms.h obj_dir/Vstopwatch_top___024root.h obj_dir/Vstopwatch_top___024root__DepSet_h23df8dc6__0.cpp obj_dir/Vstopwatch_top___024root__DepSet_h23df8dc6__0__Slow.cpp obj_dir/Vstopwatch_top___024root__DepSet_hbd04a910__0.cpp obj_dir/Vstopwatch_top___024root__Slow.cpp obj_dir/Vstopwatch_top__pch.h obj_dir/Vstopwatch_top__ver.d obj_dir/Vstopwatch_top_classes.mk : C:\msys64\mingw64\bin\verilator_bin.exe ../rtl\control_fsm.v ../rtl\minutes_counter.v ../rtl\seconds_counter.v ../rtl\stopwatch_top.v C:/msys64/mingw64/share/verilator\include\verilated_std.sv C:/msys64/mingw64/share/verilator\include\verilated_std_waiver.vlt C:\msys64\mingw64\bin\verilator_bin.exe diff --git a/submissions/AryanPanigrahy_2024AAPS0761G_stopwatch/verilator_sw/obj_dir/Vstopwatch_top__verFiles.dat b/submissions/AryanPanigrahy_2024AAPS0761G_stopwatch/verilator_sw/obj_dir/Vstopwatch_top__verFiles.dat deleted file mode 100644 index 4e5f5fc..0000000 --- a/submissions/AryanPanigrahy_2024AAPS0761G_stopwatch/verilator_sw/obj_dir/Vstopwatch_top__verFiles.dat +++ /dev/null @@ -1,24 +0,0 @@ -# DESCRIPTION: Verilator output: Timestamp data for --skip-identical. Delete at will. -C "-Wall --timing --cc ../rtl/control_fsm.v ../rtl/minutes_counter.v ../rtl/seconds_counter.v ../rtl/stopwatch_top.v --top-module stopwatch_top --exe main.cpp --build" -S 1034 0 1769897241 0 1769914067 0 "RYEBG6Wu18pSPpAWCREzbVefdMeQnI6Vf53TXkL1" "../rtl\control_fsm.v" -S 403 0 1769897289 0 1769914088 0 "itVidZqQHHtJWxTkIAuBNGZjixUEWV0Qh60wWdDH" "../rtl\minutes_counter.v" -S 481 0 1769897103 0 1769914103 0 "HTbs0dEE5L2EVBBU6BA2fWCf6k5HHdS42h6ZXvuB" "../rtl\seconds_counter.v" -S 825 0 1769897181 0 1769914212 0 "ctUaZfz1x42Kl4YI99BXBXFoBBa1YjQa2ZBv2F8Z" "../rtl\stopwatch_top.v" -S 6733 0 1769913417 0 1759538540 0 "lZAeZsH562SCYMbp50mB9ABU2NoyPlRZqMnsvJq1" "C:/msys64/mingw64/share/verilator\include\verilated_std.sv" -S 2787 0 1769913417 0 1759538540 0 "MDpoccaHI5fnW1BJLumiMpLkAQR6sBwAf7j8Gtj1" "C:/msys64/mingw64/share/verilator\include\verilated_std_waiver.vlt" -S 14831115 0 1769913417 0 1759538540 0 "unhashed" "C:\msys64\mingw64\bin\verilator_bin.exe" -T 3629 0 1769914594 0 1769915648 0 "unhashed" "obj_dir/Vstopwatch_top.cpp" -T 3800 0 1769914594 0 1769915648 0 "unhashed" "obj_dir/Vstopwatch_top.h" -T 2069 0 1769914594 0 1769915648 0 "unhashed" "obj_dir/Vstopwatch_top.mk" -T 1279 0 1769914594 0 1769915648 0 "unhashed" "obj_dir/Vstopwatch_top__ConstPool_0.cpp" -T 907 0 1769914594 0 1769915648 0 "unhashed" "obj_dir/Vstopwatch_top__Syms.cpp" -T 1040 0 1769914594 0 1769915648 0 "unhashed" "obj_dir/Vstopwatch_top__Syms.h" -T 1180 0 1769914594 0 1769915648 0 "unhashed" "obj_dir/Vstopwatch_top___024root.h" -T 7293 0 1769914594 0 1769915648 0 "unhashed" "obj_dir/Vstopwatch_top___024root__DepSet_h23df8dc6__0.cpp" -T 4068 0 1769914594 0 1769915648 0 "unhashed" "obj_dir/Vstopwatch_top___024root__DepSet_h23df8dc6__0__Slow.cpp" -T 1112 0 1769914594 0 1769915648 0 "unhashed" "obj_dir/Vstopwatch_top___024root__DepSet_hbd04a910__0.cpp" -T 774 0 1769914594 0 1769915648 0 "unhashed" "obj_dir/Vstopwatch_top___024root__Slow.cpp" -T 824 0 1769914594 0 1769915648 0 "unhashed" "obj_dir/Vstopwatch_top__pch.h" -T 839 0 1769914594 0 1769915648 0 "unhashed" "obj_dir/Vstopwatch_top__ver.d" -T 0 0 1769914594 0 1769915648 0 "unhashed" "obj_dir/Vstopwatch_top__verFiles.dat" -T 1840 0 1769914594 0 1769915648 0 "unhashed" "obj_dir/Vstopwatch_top_classes.mk" diff --git a/submissions/AryanPanigrahy_2024AAPS0761G_stopwatch/verilator_sw/obj_dir/Vstopwatch_top_classes.mk b/submissions/AryanPanigrahy_2024AAPS0761G_stopwatch/verilator_sw/obj_dir/Vstopwatch_top_classes.mk deleted file mode 100644 index 06173cb..0000000 --- a/submissions/AryanPanigrahy_2024AAPS0761G_stopwatch/verilator_sw/obj_dir/Vstopwatch_top_classes.mk +++ /dev/null @@ -1,53 +0,0 @@ -# Verilated -*- Makefile -*- -# DESCRIPTION: Verilator output: Make include file with class lists -# -# This file lists generated Verilated files, for including in higher level makefiles. -# See Vstopwatch_top.mk for the caller. - -### Switches... -# C11 constructs required? 0/1 (always on now) -VM_C11 = 1 -# Timing enabled? 0/1 -VM_TIMING = 0 -# Coverage output mode? 0/1 (from --coverage) -VM_COVERAGE = 0 -# Parallel builds? 0/1 (from --output-split) -VM_PARALLEL_BUILDS = 0 -# Tracing output mode? 0/1 (from --trace-fst/--trace-saif/--trace-vcd) -VM_TRACE = 0 -# Tracing output mode in FST format? 0/1 (from --trace-fst) -VM_TRACE_FST = 0 -# Tracing output mode in SAIF format? 0/1 (from --trace-saif) -VM_TRACE_SAIF = 0 -# Tracing output mode in VCD format? 0/1 (from --trace-vcd) -VM_TRACE_VCD = 0 - -### Object file lists... -# Generated module classes, fast-path, compile with highest optimization -VM_CLASSES_FAST += \ - Vstopwatch_top \ - Vstopwatch_top___024root__DepSet_hbd04a910__0 \ - Vstopwatch_top___024root__DepSet_h23df8dc6__0 \ - -# Generated module classes, non-fast-path, compile with low/medium optimization -VM_CLASSES_SLOW += \ - Vstopwatch_top__ConstPool_0 \ - Vstopwatch_top___024root__Slow \ - Vstopwatch_top___024root__DepSet_h23df8dc6__0__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 += \ - Vstopwatch_top__Syms \ - -# Global classes, need linked once per executable, fast-path, compile with highest optimization -VM_GLOBAL_FAST += \ - verilated \ - verilated_threads \ - -# Global classes, need linked once per executable, non-fast-path, compile with low/medium optimization -VM_GLOBAL_SLOW += \ - -# Verilated -*- Makefile -*- diff --git a/submissions/AryanPanigrahy_2024AAPS0761G_stopwatch/verilator_sw/obj_dir/main.d b/submissions/AryanPanigrahy_2024AAPS0761G_stopwatch/verilator_sw/obj_dir/main.d deleted file mode 100644 index e7e548c..0000000 --- a/submissions/AryanPanigrahy_2024AAPS0761G_stopwatch/verilator_sw/obj_dir/main.d +++ /dev/null @@ -1,6 +0,0 @@ -main.o: ../main.cpp Vstopwatch_top.h \ - C:/msys64/mingw64/share/verilator/include/verilated.h \ - C:/msys64/mingw64/share/verilator/include/verilated_config.h \ - C:/msys64/mingw64/share/verilator/include/verilatedos.h \ - C:/msys64/mingw64/share/verilator/include/verilated_types.h \ - C:/msys64/mingw64/share/verilator/include/verilated_funcs.h diff --git a/submissions/AryanPanigrahy_2024AAPS0761G_stopwatch/verilator_sw/obj_dir/main.o b/submissions/AryanPanigrahy_2024AAPS0761G_stopwatch/verilator_sw/obj_dir/main.o deleted file mode 100644 index b712208..0000000 Binary files a/submissions/AryanPanigrahy_2024AAPS0761G_stopwatch/verilator_sw/obj_dir/main.o and /dev/null differ diff --git a/submissions/AryanPanigrahy_2024AAPS0761G_stopwatch/verilator_sw/obj_dir/verilated.d b/submissions/AryanPanigrahy_2024AAPS0761G_stopwatch/verilator_sw/obj_dir/verilated.d deleted file mode 100644 index 088b8ab..0000000 --- a/submissions/AryanPanigrahy_2024AAPS0761G_stopwatch/verilator_sw/obj_dir/verilated.d +++ /dev/null @@ -1,12 +0,0 @@ -verilated.o: C:/msys64/mingw64/share/verilator/include/verilated.cpp \ - C:/msys64/mingw64/share/verilator/include/verilated_config.h \ - C:/msys64/mingw64/share/verilator/include/verilatedos.h \ - C:/msys64/mingw64/share/verilator/include/verilated_imp.h \ - C:/msys64/mingw64/share/verilator/include/verilated.h \ - C:/msys64/mingw64/share/verilator/include/verilated_types.h \ - C:/msys64/mingw64/share/verilator/include/verilated_funcs.h \ - C:/msys64/mingw64/share/verilator/include/verilated_syms.h \ - C:/msys64/mingw64/share/verilator/include/verilated_sym_props.h \ - C:/msys64/mingw64/share/verilator/include/verilated_threads.h \ - C:/msys64/mingw64/share/verilator/include/verilated_trace.h \ - C:/msys64/mingw64/share/verilator/include/verilatedos_c.h diff --git a/submissions/AryanPanigrahy_2024AAPS0761G_stopwatch/verilator_sw/obj_dir/verilated.o b/submissions/AryanPanigrahy_2024AAPS0761G_stopwatch/verilator_sw/obj_dir/verilated.o deleted file mode 100644 index 2400689..0000000 Binary files a/submissions/AryanPanigrahy_2024AAPS0761G_stopwatch/verilator_sw/obj_dir/verilated.o and /dev/null differ diff --git a/submissions/AryanPanigrahy_2024AAPS0761G_stopwatch/verilator_sw/obj_dir/verilated_threads.d b/submissions/AryanPanigrahy_2024AAPS0761G_stopwatch/verilator_sw/obj_dir/verilated_threads.d deleted file mode 100644 index b36b7ce..0000000 --- a/submissions/AryanPanigrahy_2024AAPS0761G_stopwatch/verilator_sw/obj_dir/verilated_threads.d +++ /dev/null @@ -1,8 +0,0 @@ -verilated_threads.o: \ - C:/msys64/mingw64/share/verilator/include/verilated_threads.cpp \ - C:/msys64/mingw64/share/verilator/include/verilatedos.h \ - C:/msys64/mingw64/share/verilator/include/verilated_threads.h \ - C:/msys64/mingw64/share/verilator/include/verilated.h \ - C:/msys64/mingw64/share/verilator/include/verilated_config.h \ - C:/msys64/mingw64/share/verilator/include/verilated_types.h \ - C:/msys64/mingw64/share/verilator/include/verilated_funcs.h diff --git a/submissions/AryanPanigrahy_2024AAPS0761G_stopwatch/verilator_sw/obj_dir/verilated_threads.o b/submissions/AryanPanigrahy_2024AAPS0761G_stopwatch/verilator_sw/obj_dir/verilated_threads.o deleted file mode 100644 index 93a79f3..0000000 Binary files a/submissions/AryanPanigrahy_2024AAPS0761G_stopwatch/verilator_sw/obj_dir/verilated_threads.o and /dev/null differ diff --git a/submissions/AryanPanigrahy_2024AAPS0761G_stopwatch/README.md b/submissions/SohamSawant_2024B2AC0970G_Stopwatch/README.md similarity index 100% rename from submissions/AryanPanigrahy_2024AAPS0761G_stopwatch/README.md rename to submissions/SohamSawant_2024B2AC0970G_Stopwatch/README.md diff --git a/submissions/SohamSawant_2024B2AC0970G_Stopwatch/rtl/control_fsm.v b/submissions/SohamSawant_2024B2AC0970G_Stopwatch/rtl/control_fsm.v new file mode 100644 index 0000000..f211663 --- /dev/null +++ b/submissions/SohamSawant_2024B2AC0970G_Stopwatch/rtl/control_fsm.v @@ -0,0 +1,49 @@ +module process_manager ( + input wire i_clock, + input wire i_async_rst_n, + input wire i_soft_reset, + input wire i_trigger_run, + input wire i_trigger_halt, + output reg o_enable_sig, + output reg [1:0] r_current_state +); + +localparam S_READY = 2'b00; +localparam S_OPERATING = 2'b01; +localparam S_SUSPENDED = 2'b10; + +always @(posedge i_clock) begin + if (!i_async_rst_n) begin + r_current_state <= S_READY; + end else if (i_soft_reset) begin + r_current_state <= S_READY; + end else begin + case (r_current_state) + S_READY: begin + if (i_trigger_run) + r_current_state <= S_OPERATING; + end + + S_OPERATING: begin + if (i_trigger_halt) + r_current_state <= S_SUSPENDED; + end + + S_SUSPENDED: begin + if (i_trigger_run) + r_current_state <= S_OPERATING; + end + + default: r_current_state <= S_READY; + endcase + end +end + +always @(*) begin + if (r_current_state == S_OPERATING) + o_enable_sig = 1'b1; + else + o_enable_sig = 1'b0; +end + +endmodule \ No newline at end of file diff --git a/submissions/SohamSawant_2024B2AC0970G_Stopwatch/rtl/minutes_counter.v b/submissions/SohamSawant_2024B2AC0970G_Stopwatch/rtl/minutes_counter.v new file mode 100644 index 0000000..ee2817a --- /dev/null +++ b/submissions/SohamSawant_2024B2AC0970G_Stopwatch/rtl/minutes_counter.v @@ -0,0 +1,19 @@ +module tally_controller ( + input wire sys_clk, + input wire hw_rst_n, + input wire inc_tick, + output reg [7:0] count_val +); + +always @(posedge sys_clk) begin + if (!hw_rst_n) + count_val <= 8'd0; + else if (inc_tick) begin + if (count_val == 8'd99) + count_val <= 8'd0; + else + count_val <= count_val + 8'd1; + end +end + +endmodule \ No newline at end of file diff --git a/submissions/SohamSawant_2024B2AC0970G_Stopwatch/rtl/seconds_counter.v b/submissions/SohamSawant_2024B2AC0970G_Stopwatch/rtl/seconds_counter.v new file mode 100644 index 0000000..dee2249 --- /dev/null +++ b/submissions/SohamSawant_2024B2AC0970G_Stopwatch/rtl/seconds_counter.v @@ -0,0 +1,22 @@ +module time_unit_logic ( + input wire m_clk, + input wire a_rst_n, + input wire pulse_en, + output reg [5:0] q_val, + output wire overflow_flag +); + +assign overflow_flag = (pulse_en && q_val == 6'd59); + +always @(posedge m_clk) begin + if (!a_rst_n) + q_val <= 6'd0; + else if (pulse_en) begin + if (q_val == 6'd59) + q_val <= 6'd0; + else + q_val <= q_val + 6'd1; + end +end + +endmodule \ No newline at end of file diff --git a/submissions/SohamSawant_2024B2AC0970G_Stopwatch/rtl/stopwatch_top.v b/submissions/SohamSawant_2024B2AC0970G_Stopwatch/rtl/stopwatch_top.v new file mode 100644 index 0000000..3d379ee --- /dev/null +++ b/submissions/SohamSawant_2024B2AC0970G_Stopwatch/rtl/stopwatch_top.v @@ -0,0 +1,40 @@ +module chronometer_main ( + input wire i_sys_clk, + input wire i_hw_reset_n, + input wire i_cmd_start, + input wire i_cmd_stop, + input wire i_cmd_reset, + output wire [7:0] o_val_min, + output wire [5:0] o_val_sec, + output wire [1:0] o_fsm_state +); + +wire w_run_gate; +wire w_tick_overflow; + +process_manager inst_fsm_ctrl ( + .i_clock(i_sys_clk), + .i_async_rst_n(i_hw_reset_n), + .i_trigger_run(i_cmd_start), + .i_trigger_halt(i_cmd_stop), + .i_soft_reset(i_cmd_reset), + .o_enable_sig(w_run_gate), + .r_current_state(o_fsm_state) +); + +time_unit_logic inst_sec_timer ( + .m_clk(i_sys_clk), + .a_rst_n(i_hw_reset_n && !i_cmd_reset), + .pulse_en(w_run_gate), + .q_val(o_val_sec), + .overflow_flag(w_tick_overflow) +); + +tally_controller inst_min_timer ( + .sys_clk(i_sys_clk), + .hw_rst_n(i_hw_reset_n && !i_cmd_reset), + .inc_tick(w_tick_overflow), + .count_val(o_val_min) +); + +endmodule \ No newline at end of file diff --git a/submissions/SohamSawant_2024B2AC0970G_Stopwatch/tb/tb_stopwatch.v b/submissions/SohamSawant_2024B2AC0970G_Stopwatch/tb/tb_stopwatch.v new file mode 100644 index 0000000..d2610ee --- /dev/null +++ b/submissions/SohamSawant_2024B2AC0970G_Stopwatch/tb/tb_stopwatch.v @@ -0,0 +1,45 @@ +module test_bench_main; + +reg tb_clk = 0; +reg tb_rst_n = 0; +reg tb_run = 0; +reg tb_halt = 0; +reg tb_soft_rst = 0; + +wire [7:0] tb_min_out; +wire [5:0] tb_sec_out; +wire [1:0] tb_fsm_status; + +always #5 tb_clk = ~tb_clk; + +chronometer_main u_system_under_test ( + .i_sys_clk(tb_clk), + .i_hw_reset_n(tb_rst_n), + .i_cmd_start(tb_run), + .i_cmd_stop(tb_halt), + .i_cmd_reset(tb_soft_rst), + .o_val_min(tb_min_out), + .o_val_sec(tb_sec_out), + .o_fsm_state(tb_fsm_status) +); + +initial begin + tb_rst_n = 0; + #20 tb_rst_n = 1; + + tb_run = 1; #10 tb_run = 0; + #300; + + tb_halt = 1; #10 tb_halt = 0; + #100; + + tb_run = 1; #10 tb_run = 0; + #100; + + tb_soft_rst = 1; #10 tb_soft_rst = 0; + #50; + + $finish; +end + +endmodule \ No newline at end of file diff --git a/submissions/AryanPanigrahy_2024AAPS0761G_stopwatch/verilator_sw/Makefile b/submissions/SohamSawant_2024B2AC0970G_Stopwatch/verilator_sw/Makefile similarity index 100% rename from submissions/AryanPanigrahy_2024AAPS0761G_stopwatch/verilator_sw/Makefile rename to submissions/SohamSawant_2024B2AC0970G_Stopwatch/verilator_sw/Makefile diff --git a/submissions/AryanPanigrahy_2024AAPS0761G_stopwatch/verilator_sw/main.cpp b/submissions/SohamSawant_2024B2AC0970G_Stopwatch/verilator_sw/main.cpp similarity index 100% rename from submissions/AryanPanigrahy_2024AAPS0761G_stopwatch/verilator_sw/main.cpp rename to submissions/SohamSawant_2024B2AC0970G_Stopwatch/verilator_sw/main.cpp