如何启动 SystemC 模拟的 Qt 前端

How to start a Qt frontend of a SystemC simulation

我正在用 Qt 编写 GUI,我有:

  QApplication app(argc, argv);

调用者:

 app.exec();

其中 returns 仅当应用程序终止时。

为了在应用程序中执行 SystemC 模拟,我需要调用:

sc_start(...);

这也 returns 仅当模拟终止时。

我应该破解 Qt 或 SystemC 来绕过这个问题,还是我可以使用一些技巧?如何避免两次阻塞调用的死锁?

您应该 运行 它们在两个不同的线程或进程中。并设计一种通信机制,在仿真和GUI之间交换数据。

SystemC 调试器和交互式波形查看器使用的另一个常见想法是 运行 GDB 下的 SystemC 并使用 GDB-MI 协议从 GUI 控制模拟。