0

TLM初心者です。TLM fifo で 2 つのプロセスを接続するためのサンプル コードを教えてください。

ありがとうございました

4

2 に答える 2

3

doulos で検索しましたが、ソケットの例しか表示されませんでした。誰かが私を助けてくれたので、ここにtlm fifoのコード例を残します

#include "systemc"
#include "tlm.h"


// PRODUCER 1

SC_MODULE(producer)
{
sc_core::sc_port< tlm::tlm_fifo_put_if<int> > out;  //FIFO OUT

SC_CTOR(producer)
    : out("out")
{
    SC_THREAD(run);  //função
}

void run()
{
    int i = 42;
    std::cout << name() << ": " << i << std::endl;
    out->put(i);
}
}; // producer

// CONSUMER

SC_MODULE(consumer)
{
    sc_core::sc_port< tlm::tlm_fifo_get_if<int> > in;

    SC_CTOR(consumer)
    : in("in")
    {
        SC_THREAD(run);  //função
    }

    void run()
    {
       int i = in->get();
       std::cout << name() << ": " << i << std::endl;
    }
}; // consumer


 // MAIN
 int sc_main(int, char*[] )
 {
     tlm::tlm_fifo<int> fifo("fifo");

     producer prod("producer");
     prod.out(fifo);
     consumer cons("consumer");
     cons.in(fifo);

     sc_core::sc_start();
     char myLine[100];
     cin.getline(myLine, 100);
     return 0;
}

ありがとうございました

于 2012-10-04T10:04:26.847 に答える
1

doulos の Web サイトにいくつかの良い例があります。

于 2012-10-02T17:16:09.010 に答える