SystemC-在SystemC模拟中测量并包含文件解析时间 我有一个简单的C++函数,它逐行解析CSV(10-10k行)文件,并将每个字段插入定义的结构,结构的数组更具体。 现在我想用 SystemC< 方法来分析解析时间(没有C++实用程序,例如代码),并将其包含在模拟中,像其他进程一样,生成跟踪文件——这是可能的吗?

SystemC-在SystemC模拟中测量并包含文件解析时间 我有一个简单的C++函数,它逐行解析CSV(10-10k行)文件,并将每个字段插入定义的结构,结构的数组更具体。 现在我想用 SystemC< 方法来分析解析时间(没有C++实用程序,例如代码),并将其包含在模拟中,像其他进程一样,生成跟踪文件——这是可能的吗?,c++,systemc,C++,Systemc,几天来,我一直在用各种可能的方式努力做到这一点。实际上,我已经意识到,sc\u time\u stamp()在特定情况下是无用的,因为它只显示声明的sc\u start()模拟经过的时间 我想它会简单到: 等待(),直到位置edg parseFile() 信号写入(1) doOtherStuff() 但显然不是 互联网上充斥着加法器、计数器和其他逻辑东西的例子,但我并没有发现任何与我的问题有关的东西 提前谢谢 SystemC是一个建模库。因此,您只能使用sc_时间戳测量模拟时间。 如果您想测量物

几天来,我一直在用各种可能的方式努力做到这一点。实际上,我已经意识到,
sc\u time\u stamp()
在特定情况下是无用的,因为它只显示声明的
sc\u start()
模拟经过的时间

我想它会简单到:

  • 等待(),直到位置edg
  • parseFile()
  • 信号写入(1)
  • doOtherStuff()
  • 但显然不是

    互联网上充斥着加法器、计数器和其他逻辑东西的例子,但我并没有发现任何与我的问题有关的东西


    提前谢谢

    SystemC是一个建模库。因此,您只能使用sc_时间戳测量模拟时间。 如果您想测量物理时间,您需要使用其他一些C/C++库()来测量它

    然后,如果要将此时间添加到模拟时间,可以将

    wait( measured_parsing_time );
    
    您的问题“使用systemc测量解析时间”和您给出的伪代码示例似乎表明您想要测量实时性。伪代码

    wait some-event
    parseFile()
    signal.write(1)
    ...
    
    由于(除非parseFile()本身有等待语句)parseFile()是在一个增量周期内执行的,因此将花费零模拟时间。如果parseFile()确实有wait语句(例如wait 10ms),那么在模拟时间内它将需要10ms。systemc知道进程需要多长时间才能完成的唯一方法是告诉它