我正在Qt中编写GUI,我在其中:
QApplication app(argc, argv);
由以下人员调用:
app.exec();
仅在应用程序终止时返回。
要在应用程序内部执行SystemC仿真,我需要调用:
sc_start(...);
仅当模拟终止时,它还会返回。
我应该破解Qt或SystemC来解决问题,还是可以使用一些技巧?如何避免两个阻塞调用的死锁?
答案 0 :(得分:2)
您应该在两个不同的线程或进程中运行它们。并设计了一种通信机制,可以在仿真和GUI之间交换数据。
SystemC调试器和交互式波形查看器使用的另一个常见想法是在GDB下运行SystemC,并使用GDB-MI协议从GUI控制仿真。