首先要区分SystemC 仿真时间 和 机器执行时间,机器执行时间 是我们CPU物理机跑程序所花费的物理时间,这个时间就是我们真是感受到的时间,1s,1min … ;而SystemC 仿真时间是SystemC程序执行过程中kernel调度的时间,SystemC仿真时间跟物理执行时间没有任何粒度上的对应关系,比如一个程序,在SystemC 仿真时间 从0ns到 100 ns过程中花费了CPU物理时间为10s;并不能推算出从100ns到200ns过程中也需要花费10s的物理时间。

对于1G Hz的silicon (硬件芯片),1s中就是执行了1G 个cycle;但如果是跑RTL code的Simulation,则跑1万个Cycle很有可能就需要花费CPU物理时间的1h,因为Simulation是串行执行。因为Simulation跑的太慢,所以一般会使用emulation platform来跑RTL code,用FPGA硬件设备来加速仿真过程。

SystemC是用纯软件来模拟硬件的实现,程序的仿真速度就跟我们的代码实现有很大的关系。一般可以用 cycle per S 来表述仿真速度,也就是物理执行时间的1S,SystemC 仿真时间推进了多少个cycle,如果我们SystemC程序配置的是1G Hz,则1个cycle就是1ns。

代码中可以用sc_core::sc_time_stamp()获取当前的仿真时间。

SC_ZERO_TIME是SystemC定义的一个时间宏,表示delta T,是SystemC Kernel调度的最小时间单位,对于程序员来讲,大部分情况下可以简单的理解为0T。注:如果涉及到SystemC调度顺序引发的问题,则可能需要考虑delta T的影响。

Class sc_time 是SystemC使用的时间类型,SystemC支持的时间单位 enum sc_time_unit {SC_FS = 0, SC_PS, SC_NS, SC_US, SC_MS, SC_SEC};

Simulation time is an integer quantity. Simulation time is initialized to zero at the start of simulation and increases monotonically during simulation. The physical significance of the integer value representing time within the kernel is determined by the simulation time resolution. Simulation time and time intervals are represented by class sc_time. Certain functions allow time to be expressed as a value pair having the signature <double,sc_time_unit>

仿真时间为整数。仿真时间在仿真开始时初始化为零,在仿真过程中单调增加。表示核内时间的整数值的物理意义是由模拟时间分辨率决定的。模拟时间和时间间隔由类sc_time表示。某些函数允许将time表示为< double sc_time_unit>的值。

SystemC time相关推荐

  1. 记一次关于mock Systemc.currentTimeMillis的实践

    因为在写单测过程中,发现@PrepareForTest和JaCoCo会有冲突,所以想要将JaCoCo修改为offline模式,但是这样一来,就需要对utils等模块全部重新写单测. 从单测的角度来说各 ...

  2. SystemC在Ubuntu16.04上安装测试

    使用SystemC进行硬件仿真 环境 linux-x86-64 bash g++ 下载解压SystemC SystemC下载地址 解压下载的包 tar zxvf systemc-2.3.3.tar.g ...

  3. 全数字实时仿真平台SkyEye与SystemC集成进行时序仿真

    SkyEye与SystemC集成进行时序仿真 仿真过程是正确实现设计的关键环节,用来验证设计者的设计思想是否正确,及在设计实现过程中各种分布参数引入后,其设计的功能是否依然正确无误.时序仿真使用布局布 ...

  4. SystemC 代码添加和测试方法

    1.启动流程 在 code/utils/ 下添加 new_systemc 相关代码,启动流程如下: 2.调用关系 3.地址映射 假设有两个 systemc 设备:device1 和 device2,d ...

  5. linux+systemc+编译,[转载]linux下systemC的安装编译仿真

    一.systemc的安装 花了将近一天的时间终于成功安装systemC,下面记录下整个过程. (1)在www.systemc.org网站下载systemc-2.2.0.tgz. (2)将其copy到l ...

  6. (1)FPGA面试技能提升篇(SystemC)

    1.1 FPGA面试技能提升篇1(SystemC) 1.1.1 本节目录 1)本节目录: 2)本节引言: 3)FPGA简介: 4)FPGA面试技能提升篇1(SystemC): 5)结束语. 1.1.2 ...

  7. SystemC自带example的pipe研习

    https://blog.csdn.net/chenleiyfk/article/details/116995520?spm=1001.2014.3001.5501 这是自己之前自理的一个架构方面的认 ...

  8. 虚拟机安装systemc

    Systemc是芯片公司系统软件工程师( ESL 方向)必备的软件,也许称之为一个C++拓展包更合适.SystemC 可以用于ESL精准时序建模,在芯片架构探索.性能比对和分析等方面具有不可替代的作用 ...

  9. win10 vs2017 community 新版 systemc

    1.下载与编译 SystemC: 下载 https://www.accellera.org/downloads/standards/systemc 初期只选择Core SystemC Language ...

最新文章

  1. this指向总结(无栗子)
  2. 封装php连接数据库返回方法
  3. win10巨帧数据包在哪里设置_Win10电脑总感觉网速慢,是什么原因
  4. cgi硬盘安装增强版怎么用_天津专业补光灯怎么用-安装
  5. 【MapReduce】
  6. 我本人一直以来犯的错误,在看了 Think In Java 后才抓了出来
  7. 在TypeScript中使用React钩子
  8. Python + Selenium WebDriver Api 知识回顾
  9. 20200120每日一句
  10. Java中的package、import、import static
  11. Linux之shell命令
  12. Java程序员简历书写
  13. html5%3chr%3e的样式,Vbs脚本编程简明教程
  14. 期待已久的屏幕录像专家2021
  15. 爬虫工具八爪鱼初体验
  16. 使用jQuery实现轮播图
  17. 领域对象映射到微服务代码模型
  18. OneNote for Windows10 闪退 的解决办法
  19. 云脉档案管理系统助力档案信息化建设
  20. GICv3软件overview手册之GICv4对虚拟LPI的直接注入(2)

热门文章

  1. 梦幻默认服务器文件夹修改器,【梦幻仙境V3.96服务端】梦幻最新完美开心版带存档与修改器时代梦幻最新5.2版本...
  2. 海思3516开发记录-AAC音频解码
  3. 关于报错An unexpected error occurred: “https://registry.yarnpkg.com/react: socket hang up“
  4. Oracle数据库PL SQL开发、Oracle-SQL开发习题答案
  5. 设备功耗计算专题《测试仪器使用篇,EFM32GG-STK3700使用教程》
  6. java long拼接,String类型集合元素分割和拼接,String类型集合转为Long类型集合
  7. 形参和实参的定义和区别
  8. PID微分积分电路(转载)
  9. Python接口测试实战1(下)- 接口测试工具的使用
  10. QlExpress 性能优化(二)