//=========================================== // Function : Asynchronous read write RAM // Coder : Deepak Kumar Tala // Date : 18-April-2002 //=========================================== #ifndef RAM_DP_AR_AW #define RAM_DP_AR_AW #include "systemc.h" #define DATA_WIDTH 8 #define ADDR_WIDTH 8 #define RAM_DEPTH 1 << ADDR_WIDTH SC_MODULE (ram_dp_ar_aw) { sc_in > address_0; sc_in cs_0 ; sc_in we_0 ; sc_in oe_0 ; sc_in > address_1; sc_in cs_1 ; sc_in we_1 ; sc_in oe_1 ; sc_inout_rv data_0; sc_inout_rv data_1; //-----------Internal variables------------------- sc_uint mem [RAM_DEPTH]; //-----------Methods------------------------------ void READ_0 (); void READ_1 (); void WRITE_0 (); void WRITE_1 (); //-----------Constructor-------------------------- SC_CTOR(ram_dp_ar_aw) { SC_METHOD (READ_0); sensitive << address_0 << cs_0 << we_0 << oe_0; SC_METHOD (READ_1); sensitive << address_1 << cs_1 << we_1 << oe_1; SC_METHOD (WRITE_0); sensitive << address_0 << cs_0 << we_0 << data_0; SC_METHOD (WRITE_1); sensitive << address_1 << cs_1 << we_1 << data_1; } }; #endif