#pragma once #include #include #include #include #include #include #include #include #include #include // For rand() #include // For time() #include "configuration.h" // Initiator module (processor core) SC_MODULE(core) { tlm_utils::simple_initiator_socket socket; tlm_utils::simple_target_socket target_socket; unsigned int source_router_id; // Source router ID for this core unsigned int source_core_id; SC_CTOR(core); // Thread for sending data void thread(); /// Forwarding function for receiving data from router tlm::tlm_sync_enum nb_transport_fw(tlm::tlm_generic_payload& trans, tlm::tlm_phase& phase, sc_time& delay); void log_info(std::string msg); void log_error(std::string msg); };