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;
197 switch (
socket->nb_transport_fw(trans, phase, t)) {
MyTransaction(tlm::tlm_mm_interface *mm)
mytransaction_type * claim()
void free(tlm::tlm_generic_payload *t)
void release(mytransaction_type *t)
sync_enum_type myNBTransport(transaction_type &trans, phase_type &phase, sc_core::sc_time &t)
tlm_utils::simple_initiator_socket< SimpleATInitiator1 > initiator_socket_type
std::queue< mytransaction_type * > mEndResponseQueue
unsigned int mTransactionCount
tlm::tlm_sync_enum sync_enum_type
MyTransaction< unsigned int > mytransaction_type
void logEndTransaction(mytransaction_type &trans)
sc_core::sc_event mEndRequestPhase
void logStartTransation(mytransaction_type &trans)
initiator_socket_type socket
tlm::tlm_generic_payload transaction_type
SimpleATInitiator1(sc_core::sc_module_name name, unsigned int nrOfTransactions=0x5, unsigned int baseAddress=0x0)
bool initTransaction(mytransaction_type *&trans)
unsigned int mNrOfTransactions
transaction_type * mCurrentTransaction
unsigned int mBaseAddress
const sc_core::sc_time ACCEPT_DELAY
SC_HAS_PROCESS(SimpleATInitiator1)
sc_core::sc_event mEndResponseEvent
tlm::tlm_phase phase_type
const char * name() const
void set_data_ptr(unsigned char *data)
void set_address(const sc_dt::uint64 address)
void set_command(const tlm_command command)
sc_dt::uint64 get_address() const
tlm_response_status get_response_status() const
void set_data_length(const unsigned int length)
tlm_command get_command() const
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 &))
const sc_time SC_ZERO_TIME
const sc_time & sc_time_stamp()