//----------------------------------------------------- // Design Name : up_down_counter // File Name : up_down_counter.cpp // Function : Up down counter // Coder : Deepak Kumar Tala //----------------------------------------------------- #include "systemc.h" SC_MODULE (up_down_counter) { //-----------Input Ports--------------- sc_in clk; sc_in reset; sc_in enable; sc_in up_down; //-----------Output Ports--------------- sc_out > out; //------------Internal Variables-------- sc_uint<8> count; //-------------Code Starts Here--------- void counter () { if (reset.read()) { count = 0 ; } else if (enable.read()) { if (up_down.read()) { count = count + 1; } else { count = count - 1; } } out.write(count); } SC_CTOR(up_down_counter) { SC_METHOD (counter); sensitive << clk.pos(); } };