Vamos con el primer ejemplo…
Initiator
Empezamos con los includes de las cabeceras necesarias
#include
using namespace sc_core;
#include "tlm.h"
#include "tlm_utils/simple_initiator_socket.h"
Primero incluimos systemc (previsible, eh?) y luego tlm.h (también previsible).
Por último incluimos el socket mas sencillo de todos para este ejemplo.
A continuación declaramos la classe Initiator
class Initiator: sc_module
{
public:
tlm_utils::simple_initiator_socket initiator_socket;
SC_HAS_PROCESS(Initiator);
Initiator(sc_module_name name_);
private:
void initiator_thread();
};