32 #ifndef __SIMPLE_AT_INITIATOR1_H__ 33 #define __SIMPLE_AT_INITIATOR1_H__ 36 #include "tlm_utils/simple_initiator_socket.h" 52 template <
typename DT>
101 unsigned int nrOfTransactions = 0x5,
102 unsigned int baseAddress = 0x0) :
149 std::cout <<
name() <<
": Send write request: A = 0x" 151 <<
", D = 0x" << trans.
getData() << std::dec
155 std::cout <<
name() <<
": Send read request: A = 0x" 156 << std::hex << (int)trans.
get_address() << std::dec
164 std::cout <<
name() <<
": Received error response @ " 168 std::cout <<
name() <<
": Received ok response";
170 std::cout <<
": D = 0x" << trans.
getData() << std::dec;
188 mytransaction_type* ptrans;
191 mytransaction_type& trans = *ptrans;
197 switch (socket->nb_transport_fw(trans, phase, t)) {
274 assert(dynamic_cast<mytransaction_type*>(&trans));
275 mytransaction_type* myTrans =
static_cast<mytransaction_type*
>(&trans);
305 sync_enum_type
r = socket->nb_transport_fw(*trans, phase, t);
SimpleATInitiator1(sc_core::sc_module_name name, unsigned int nrOfTransactions=0x5, unsigned int baseAddress=0x0)
void set_streaming_width(const unsigned int streaming_width)
void register_nb_transport_bw(MODULE *mod, sync_enum_type(MODULE::*cb)(transaction_type &, phase_type &, sc_core::sc_time &))
mytransaction_type * claim()
bool initTransaction(mytransaction_type *&trans)
initiator_socket_type socket
tlm::tlm_generic_payload transaction_type
sc_core::sc_event mEndResponseEvent
unsigned int mTransactionCount
SC_HAS_PROCESS(SimpleATInitiator1)
const char * name() const
unsigned int mBaseAddress
sc_dt::uint64 get_address() const
std::queue< mytransaction_type * > mEndResponseQueue
MyTransaction< unsigned int > mytransaction_type
void set_address(const sc_dt::uint64 address)
MyTransaction(tlm::tlm_mm_interface *mm)
transaction_type * mCurrentTransaction
void release(mytransaction_type *t)
void set_data_ptr(unsigned char *data)
tlm::tlm_sync_enum sync_enum_type
sc_core::sc_event mEndRequestPhase
unsigned int mNrOfTransactions
tlm::tlm_phase phase_type
const sc_time & sc_time_stamp()
tlm_response_status get_response_status() const
const sc_time SC_ZERO_TIME
void logEndTransaction(mytransaction_type &trans)
sync_enum_type myNBTransport(transaction_type &trans, phase_type &phase, sc_core::sc_time &t)
tlm_command get_command() const
void set_command(const tlm_command command)
void logStartTransation(mytransaction_type &trans)
void set_data_length(const unsigned int length)
void free(tlm::tlm_generic_payload *t)
tlm_utils::simple_initiator_socket< SimpleATInitiator1 > initiator_socket_type
const sc_core::sc_time ACCEPT_DELAY