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