首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >SystemC -在systemc仿真中测量并包含文件解析时间

SystemC -在systemc仿真中测量并包含文件解析时间
EN

Stack Overflow用户
提问于 2016-04-27 16:36:57
回答 2查看 237关注 0票数 2

我有一个简单的C++函数,它解析CSV (10-10k行)文件逐行并将每个字段插入到定义的结构中,结构数组更具体。

现在,我希望使用systemc方法(没有C++实用程序,例如clock())来测量解析时间,并像其他任何进程一样将其包含在仿真中并生成跟踪文件--这完全可能吗?

几天来,我一直在以各种可能的方式努力做到这一点。实际上,我已经意识到sc_time_stamp()在这种特殊情况下是无用的,因为它只显示声明的sc_start()模拟运行时间。

我以为它会很简单:

  1. wait() until pos.edg
  2. parseFile()
  3. signal.write(1)
  4. doOtherStuff()

但很明显这不是..。

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

提前感谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-04-28 14:39:01

您的问题“使用systemc度量解析时间”和您给出的伪代码示例似乎表明您希望测量实时。伪码

代码语言:javascript
运行
复制
wait some-event
parseFile()
signal.write(1)
...

由于(除非parseFile()本身有等待语句) parseFile()是在一个增量循环中执行的,那么模拟时间将完全为零。如果parseFile()确实有等待语句(例如等待10 ms ),那么在模拟时间内它将花费10 ms。systemc知道一个进程需要多长时间才能完成的唯一方法就是告诉它。

票数 0
EN

Stack Overflow用户

发布于 2016-04-28 14:37:56

SystemC是一个建模库。因此,您只能测量仿真时间与sc_time_stamp。如果您想要测量物理时间,则需要使用其他C/C++库(Easily measure elapsed time)来度量它。

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

代码语言:javascript
运行
复制
wait( measured_parsing_time );
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36895796

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档