Моя простая программа "HelloWorld" не работает. Программы печатают обычное уведомление об авторских правах SystemC, но не строку «Hello World»).
Если я напишу аналогичную программу, используя SC_METHOD
(удалив wait
вызовы), я смогу увидеть напечатанное сообщение.
Что вызывает это?
#include <iostream>
#include "systemc.h"
SC_MODULE(stim)
{
sc_in<bool> Clk;
void StimGen()
{
cout << "Hello World!\n";
wait();
cout << "Hello again, world!\n";
wait();
}
SC_CTOR(stim)
{
SC_THREAD(StimGen);
sensitive << Clk.pos();
}
};
int sc_main(int argc, char* argv[])
{
sc_clock TestClk("clk", 10,SC_NS);
stim Stim1("Stimulus");
Stim1.Clk(TestClk);
sc_start(); // run forever
return 0;
}