32#ifndef __SIMPLE_AT_INITIATOR2_H__
33#define __SIMPLE_AT_INITIATOR2_H__
36#include "tlm_utils/simple_initiator_socket.h"
52 template <
typename DT>
101 unsigned int nrOfTransactions = 0x5,
102 unsigned int baseAddress = 0) :
145 std::cout <<
name() <<
": Send write request: A = 0x"
147 <<
", D = 0x" << trans.
getData() << std::dec
151 std::cout <<
name() <<
": Send read request: A = 0x"
152 << std::hex << (
unsigned int)trans.
get_address() << std::dec
160 std::cout <<
name() <<
": Received error response @ "
164 std::cout <<
name() <<
": Received ok response";
166 std::cout <<
": D = 0x" << std::hex << trans.
getData() << std::dec;
193 switch (
socket->nb_transport_fw(trans, phase, t)) {
231 socket->nb_transport_fw(trans, phase, t);
MyTransaction(tlm::tlm_mm_interface *mm)
void release(mytransaction_type *t)
void free(tlm::tlm_generic_payload *t)
mytransaction_type * claim()
sc_core::sc_event mEndRequestPhase
bool initTransaction(mytransaction_type *&trans)
tlm::tlm_sync_enum sync_enum_type
initiator_socket_type socket
sync_enum_type myNBTransport(transaction_type &trans, phase_type &phase, sc_core::sc_time &t)
void logEndTransaction(mytransaction_type &trans)
unsigned int mBaseAddress
MyTransaction< unsigned int > mytransaction_type
tlm::tlm_generic_payload transaction_type
tlm_utils::simple_initiator_socket< SimpleATInitiator2 > initiator_socket_type
unsigned int mTransactionCount
tlm::tlm_phase phase_type
SimpleATInitiator2(sc_core::sc_module_name name, unsigned int nrOfTransactions=0x5, unsigned int baseAddress=0)
SC_HAS_PROCESS(SimpleATInitiator2)
transaction_type * mCurrentTransaction
void logStartTransation(mytransaction_type &trans)
const sc_core::sc_time ACCEPT_DELAY
unsigned int mNrOfTransactions
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()