发布时间:2026/7/9 15:01:15
SystemC -- A notion of time
1、simulation kernel用sc_time数据类型来跟踪仿真时间指定delay和timeouts。sc_time是用一个64bit的无符号整型数来表示。SC_SECseconds 10^0 秒SC_MSmilliseconds 10^-3 毫秒SC_USmicroseconds 10^-6 微秒SC_NSnanoseconds 10^-9 纳秒SC_PSpicoseconds 10^-12 皮秒SC_FSfemtoseconds 10^-15 飞秒sc_time_stamp()用来获取当前的仿真时间返回值是一个sc_time对象。sc_simulation_time()returns time as a double in the currentdefault time unit.Info: (I804) /IEEE_Std_1666/deprecated: sc_simulation_time() is deprecated use sc_time_stamp()To establish the default time unit, call sc_set_default_time_unit(). you must call this routine prior to call time specifications and prior tothe initiation of sc_start().sc_start()启动仿真括号中可带参数指定的时间流逝后仿真停止。If you provide a time argument, simulation stops after the specified simulation time has elapsed.#include stdafx.h #include systemc.h #include iostream using namespace std; SC_MODULE(My_Module) { SC_CTOR(My_Module) { SC_THREAD(mytime); } void mytime(); }; void My_Module::mytime() { int a 5,b3,c; c a b; wait(5,SC_NS); coutThe time is now sc_time_stamp()!endl; sc_time t_delay(2,SC_MS); t_delay * 2; coutDelaying t_delayendl; wait(t_delay); coutThe time is now sc_time_stamp()!endl; } int sc_main(int sc_argc,char * argv[]) { My_Module md(); sc_time m_time(5,SC_SEC); //sc_start(); //sc_start(10.0,SC_MS); //limit sim to 10 ms sc_start(m_time);//start sim and maximum simulation time system(pause); return 0; }输出#include stdafx.h #include systemc.h #include iostream using namespace std; int sc_main(int sc_argc,char * argv[]) { sc_set_time_resolution(1.0,SC_MS); sc_start(7200,SC_SEC);//limit simulation to 2 hours(or 7200 secs) sc_time st sc_time_stamp();//获取当前仿真时刻和时间单位 double t sc_simulation_time();//仅仅获取当前仿真时刻而无时间单位 //sc_cycle、sc_initialize用于完成周期级仿真。 unsigned hours int(t/3600.0); t - 3600*hours; unsigned minutes int(t/60.0); t - 60.0*minutes; double seconds t; cout hours hours minutes minutes seconds seconds endl; //system(pause); return 0; }输出上面时间输出错误没有考虑到time units。sc_report_handler::set_actions(/IEEE_Std_1666/deprecated, SC_DO_NOTHING); 加入该句可以关闭有关deprecated 的warnings。#include systemc.h #include iostream #include math.h using namespace std; int sc_main(int sc_argc,char * argv[]) { sc_report_handler::set_actions(/IEEE_Std_1666/deprecated, SC_DO_NOTHING); cout my time resolution is sc_get_time_resolution()endl;//ps 10^-12s double t1 sc_get_time_resolution().to_seconds(); cout my time resolution is t1s.endl; sc_start(7296,SC_SEC); sc_time t sc_time_stamp(); coutCurrent time is tendl; double t2 sc_simulation_time();//ns? long long index pow((double)10,(double)9); double ts t2/index; // ns -- s unsigned hours (int)(ts/3600.0); ts - 3600 * hours; unsigned minutes (int)(ts/60.0); ts - 60 * minutes; double seconds ts; cout Time is hours hours minutes minutes seconds seconds endl; system(pause); return 0; }输出#include systemc.h #include iostream using namespace std; int sc_main(int sc_argc,char * argv[]) { sc_report_handler::set_actions(/IEEE_Std_1666/deprecated, SC_DO_NOTHING); /* for example,if the specified time resolution is 100ps, then coding 20ps will result in an effective value of 0 ps */ sc_set_time_resolution(1,SC_NS); sc_set_default_time_unit(1,SC_MS); //establish the default time unit cout my time resolution is sc_get_time_resolution()endl;//ns 10^-9s double t1 sc_get_time_resolution().to_seconds(); cout my time resolution is t1s.endl; sc_start(7296,SC_SEC); sc_time t sc_time_stamp(); coutCurrent time is tendl; double t2 sc_simulation_time();//default time unit double ts t2/1000; // ms -- s unsigned hours (int)(ts/3600.0); ts - 3600 * hours; unsigned minutes (int)(ts/60.0); ts - 60 * minutes; double seconds ts; cout Time is hours hours minutes minutes seconds seconds endl; system(pause); return 0; }输出

相关新闻

代码版本管理工具repogit常用命令
2026/7/9 15:01:15

代码版本管理工具repogit常用命令

代码版本管理工具repo&git常用命令repo常用命令repo相关操作:repo构建本地版本管理:repo分支管理操作repo遍历所有project 执行git命令操作repo manifest 管理repo sync -l 拉取本地分支基于当前分支创建新分支git 常用命令git命令参数:g…

阅读更多
Fine-tuning彻底讲透:从零基础到实战微调,为什么说Fine-tuning是AI开发者必须跨越的分水岭?
2026/7/9 14:01:15

Fine-tuning彻底讲透:从零基础到实战微调,为什么说Fine-tuning是AI开发者必须跨越的分水岭?

你有没有过这种体验:辛辛苦苦写了一整套Prompt,大模型还是答非所问?让它写代码,明明说了"用React Hooks风格",它还是给你生成Class组件;让它翻译专业文档,明明要的是"法律英语&q…

阅读更多
PIC18F45K50与PAM8904构建低功耗多事件警报系统
2026/7/9 14:01:15

PIC18F45K50与PAM8904构建低功耗多事件警报系统

1. 项目背景与硬件选型解析在工业控制、智能家居和安防系统中,可靠的通知和警报功能是保障系统安全运行的关键环节。传统的蜂鸣器驱动方案往往存在功耗高、音质差、功能单一等问题。本项目基于PIC18F45K50微控制器和PAM8904高效音频放大器构建了一套灵活可配置的多事…

阅读更多
魔兽世界终极宏编辑器指南:GSE高级宏编译器完全教程
2026/7/9 16:01:16

魔兽世界终极宏编辑器指南:GSE高级宏编译器完全教程

魔兽世界终极宏编辑器指南:GSE高级宏编译器完全教程 【免费下载链接】GSE-Advanced-Macro-Compiler GSE is an alternative advanced macro editor and engine for World of Warcraft. 项目地址: https://gitcode.com/gh_mirrors/gs/GSE-Advanced-Macro-Compiler…

阅读更多
Excel 与 SPSS 正态性检验对比:箱线图、直方图、Q-Q图 3种方法优劣解析
2026/7/9 16:01:16

Excel 与 SPSS 正态性检验对比:箱线图、直方图、Q-Q图 3种方法优劣解析

Excel与SPSS正态性检验全攻略:箱线图、直方图与Q-Q图的深度对比1. 正态性检验的核心价值与工具选择当我们面对一组数据时,第一件事往往是了解它的分布特征。正态分布(又称高斯分布)作为统计学中最重要的一种概率分布,其…

阅读更多
3D动画师的救星:UniRig如何让复杂骨骼绑定变得像喝水一样简单?
2026/7/9 16:01:16

3D动画师的救星:UniRig如何让复杂骨骼绑定变得像喝水一样简单?

3D动画师的救星:UniRig如何让复杂骨骼绑定变得像喝水一样简单? 【免费下载链接】UniRig [SIGGRAPH 2025] One Model to Rig Them All: Diverse Skeleton Rigging with UniRig 项目地址: https://gitcode.com/gh_mirrors/un/UniRig 你是否曾经面对…

阅读更多
创世战车甜心定位与实战指南:中距离支援与模块破坏
2026/7/9 16:01:16

创世战车甜心定位与实战指南:中距离支援与模块破坏

🚀 30款热门AI模型一站整合,DeepSeek/GLM/Qwen 随心用,限时 5 折。 👉 点击领海量免费额度 1. 先搞清楚“甜心”在创世战车里到底是个什么定位 “甜心”不是那种能让你开局就冲进敌阵乱杀的战车类型。如果你指望它像重坦一样扛…

阅读更多
STM32L021K4与MCP3428的高精度低功耗数据采集方案
2026/7/9 16:01:16

STM32L021K4与MCP3428的高精度低功耗数据采集方案

1. MCP3428与STM32L021K4的硬件组合解析在嵌入式数据采集系统中,ADC(模数转换器)的性能往往决定了整个系统的精度上限。MCP3428作为Microchip推出的18位Δ-Σ型ADC芯片,其核心优势在于将高分辨率与低噪声特性集成在了TSSOP-10的小…

阅读更多
AI 赋能服饰赛道,天丝阔腿裤爆款文案该怎么造?
2026/7/9 15:01:16

AI 赋能服饰赛道,天丝阔腿裤爆款文案该怎么造?

深耕 AI 产业落地的北京先智先行科技有限公司,目前拥有三款标杆级旗舰产品,分别是具备私有化部署能力的先知大模型、面向从业者教学赋能的先行 AI 商学院、一站式内容生产载体先知 AIGC 超级工场,全方位覆盖企业数字化内容创作全链路需求。该…

阅读更多
通达OA SQL注入漏洞深度剖析:从手工注入到自动化利用与防御
2026/7/8 4:53:25

通达OA SQL注入漏洞深度剖析:从手工注入到自动化利用与防御

1. 项目概述与漏洞背景最近在梳理一些历史OA系统的安全风险时,通达OA v11.6版本中的一个老漏洞又进入了我的视线。这个漏洞位于/general/bi_design/appcenter/report_bi.func.php文件中,是一个典型的SQL注入点。虽然这个漏洞的利用方式看起来并不复杂&am…

阅读更多
3步彻底解决Windows右键菜单混乱问题:ContextMenuManager使用全攻略
2026/7/9 0:51:16

3步彻底解决Windows右键菜单混乱问题:ContextMenuManager使用全攻略

3步彻底解决Windows右键菜单混乱问题:ContextMenuManager使用全攻略 【免费下载链接】ContextMenuManager 🖱️ 纯粹的Windows右键菜单管理程序 项目地址: https://gitcode.com/gh_mirrors/co/ContextMenuManager 你是否曾为Windows右键菜单中那些…

阅读更多
GXDE OS下Wayland兼容性实战:从deepin-mutter原理到VMware Tools修复
2026/7/8 22:48:04

GXDE OS下Wayland兼容性实战:从deepin-mutter原理到VMware Tools修复

如果你正在用 GXDE OS 或者任何基于 Deepin 的发行版,并且遇到了“检测到窗口系统采用 Wayland 协议,程序即将退出”这类弹窗,或者发现 VMware Tools 在 Ubuntu 24.04 这类默认 Wayland 的系统上启动失败,那这篇文章就是为你准备的…

阅读更多
Unity WebGL部署Apache Tomcat:MIME配置、Gzip压缩与缓存优化实战
2026/7/9 0:01:12

Unity WebGL部署Apache Tomcat:MIME配置、Gzip压缩与缓存优化实战

1. 项目概述:当Unity WebGL遇上Apache Tomcat如果你是一名Unity开发者,想把精心制作的WebGL游戏或应用部署到自己的服务器上,那么Apache Tomcat大概率是你绕不开的一环。这不仅仅是把一堆构建出来的文件扔进一个文件夹那么简单。我见过太多项…

阅读更多
掌握Docker多阶段构建镜像优化技巧
2026/7/9 0:01:12

掌握Docker多阶段构建镜像优化技巧

掌握Docker多阶段构建镜像优化技巧在容器化技术日益普及的今天,Docker已成为开发与运维领域的基石工具。然而,随着应用复杂度提升,构建出的Docker镜像体积庞大、层数繁多、安全性欠佳等问题逐渐凸显,直接影响着部署效率、传输速度…

阅读更多
Ansible的AWX与作业模板调度
2026/7/9 0:01:12

Ansible的AWX与作业模板调度

在当今快速迭代的IT运维与开发领域,自动化已成为提升效率、保障一致性的核心支柱。Ansible作为一款强大的IT自动化工具,以其无代理、简单易用的特点广受欢迎。而AWX,作为Ansible上游项目提供的企业级Web界面、API及任务引擎,则将A…

阅读更多
基于Dify与DeepSeek构建私有知识库问答系统实战指南
2026/7/8 18:15:39

基于Dify与DeepSeek构建私有知识库问答系统实战指南

在业务中快速构建一个能理解私有文档、准确回答专业问题的智能助手,是很多开发团队面临的共同挑战。传统方案往往需要从零开始搭建复杂的 RAG(检索增强生成)系统,涉及文档解析、向量化、检索、大模型调用等多个环节,整…

阅读更多
FAE放射组学分析工具:医学影像特征探索的完整解决方案
2026/7/8 10:11:21

FAE放射组学分析工具:医学影像特征探索的完整解决方案

FAE放射组学分析工具:医学影像特征探索的完整解决方案 【免费下载链接】FAE FeAture Explorer 项目地址: https://gitcode.com/gh_mirrors/fae/FAE 你是否曾经面对海量医学影像数据感到无从下手?想要从CT、MRI等影像中提取有价值的定量特征&#…

阅读更多
DesktopNaotu:你的终极离线思维导图解决方案,告别网络依赖!
2026/7/9 3:17:42

DesktopNaotu:你的终极离线思维导图解决方案,告别网络依赖!

DesktopNaotu:你的终极离线思维导图解决方案,告别网络依赖! 【免费下载链接】DesktopNaotu 桌面版脑图 (百度脑图离线版,思维导图) 跨平台支持 Windows/Linux/Mac OS. (A cross-platform multilingual Mind Map Tool) 项目地址:…

阅读更多