Как запустить Qt-интерфейс симуляции SystemC - PullRequest
0 голосов
/ 05 ноября 2018

Я пишу графический интерфейс в Qt, где у меня есть:

  QApplication app(argc, argv);

, который вызывается:

 app.exec();

, который возвращается только после завершения работы приложения.

Для выполнения моделирования SystemC внутри приложения мне нужно вызвать:

sc_start(...);

Который также возвращается только после завершения симуляции.

Должен ли я взломать Qt или SystemC, чтобы обойти проблему, или есть какой-то прием, который я могу использовать? Как я могу избежать взаимной блокировки двух блокирующих вызовов?

1 Ответ

0 голосов
/ 06 ноября 2018

Вы должны запускать их внутри двух разных потоков или процессов. И разработать механизм связи для обмена данными между симуляцией и графическим интерфейсом.

Другая распространенная идея, используемая отладчиками SystemC и интерактивными программами просмотра сигналов, - запускать SystemC под GDB и использовать протокол GDB-MI для управления моделированием из GUI.

...