主要内容

Loosely-Timed SystemC / TLM模拟

这个例子强调了“时间”的使用时机模式时生成一个SystemC™/ TLM组件从一个仿真软件使用tlmgenerator®模型目标要么模型®编码器™或者嵌入式编码器®。金宝app

在仿真金宝app软件®模型、运动之间的数据来源和水槽是由信号采样率和一个集中的时间解决。SystemC / TLM模型之间的交互数据汇和源控制的SystemC仿真内核和时间的进步通过SC_THREADs合作产生另一个线程通过控制等待调用。

定时SystemC / TLM模拟模型坚持带注释的通信接口和处理延迟。loosely-timed模拟,模型不允许线程“提前”,所以没有想法的“当地时间”不同于其他线程的时间感。相反,发起者立即同步返回延迟从TLM一般事务和执行零时间等待为了执行轮询循环和synchronization-on-demand。模拟时间会提前在loosely-timed模型来反映沟通,处理和轮询系统延迟。模型的目标,除了适当的同步数据移动与不计时的系统,是一个功能正确模拟快速所执行时间。这个速度允许接近实时软件开发SystemC / TLM建筑模型。

在这个例子中,我们使用仿真软件模型的冷杉过滤器Sys金宝apptemC / TLM生成的基础。

下载188bet金宝搏产品需要运行这个演示:

  • SystemC 2.3.1(包括TLM库)

  • 代码验证,使和兼容的gnu编译器gcc,在你的路径在Linux®,或Visual Studio®编译器在你的路径在Windows®

注意:示例包含一个代码生成构建过程。金宝app仿真软件MATLAB不允许您构建项目安装区域。如有必要,更改工作目录,不是开始任何之前在MATLAB安装区域构建。

1。打开预配置模型

打开TLM loosely-timed testbench模型,单击开放模式按钮。

下面的模型在仿真软件。金宝app

2。回顾TLM生成器目标配置选项

在仿真软件将来金宝app发布,选择模型设置建模选项卡。在配置参数对话框中,选择TLM发电机视图,然后选项卡TLM Testbench查看和审核testbench设置如下图所示。选择复选框来查看完整的日志详细testbench消息的发起者/目标交互SystemC / TLM模拟。因为这将数千行,如果需要,取消选择该选项来获得一份简短的日志SystemC / TLM模拟。

3所示。构建模型

在模型窗口中,右键单击DualFilter块并选择C / c++代码>为这个子系统生成的代码在上下文菜单中启动TLM组件和testbench生成。或者你可以在MATLAB命令窗口中执行以下命令:

> > slbuild (“tlmgdemo_lttb / DualFilter”)

完成一代当以下消息出现在MATLAB命令窗口:

# # #开始仿真软件编码金宝app器模型构建过程:DualFilter # # #成功完成仿真软件编码器模型构建过程:DualFilter模型建立目标:总结构建模型重建行动的原因= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = DualFilter代码生成的代码生成信息文件不存在。1 1模型的建立(0模型已经更新)构建持续时间:0 h 0米14.59秒

4所示。打开生成的文件

开放源代码生成的testbench MATLAB DualFilter_lttb_tlm_tb web浏览器点击”。cpp的在MATLAB生成的报告或编辑器:

5。检查生成的代码

的规范与时间的结果testbench指示TLM组件在定时模式下运行通过一个特殊的配置接口,mw_backdoorcfg_IF。代码表示,时机的选择模式是动态的、可以改变的过程中模拟。因为这个选择是纯粹的模拟构造,它不是编程的“前门”TLM事务。

此外,随着代码表示,testbench必须设置一个本地helper对象与正确的时间模式以确保其发起者线程TLM事务中使用适当的同步调用。

loosely-timed同步的实现类,mw_syncfunctimed_tb,在mw_金宝appsupport_tb.cpp文件显示的细节所使用的各种同步调用启动程序线程和TLM事务。与不计时的模拟,要求利用等待的零次,但是,与不计时的模拟,不允许“当地时间延误积累。

6。验证生成的代码

配置参数对话框,进去TLM Testbench配置参数对话框和推动验证TLM组件按钮运行生成的testbench loosely-timed计时模式或在MATLAB命令窗口执行:

> > verifyTlmgDemoModel (“lttb”)

这一行动将:

  • 构建生成的代码

  • 运行仿真金宝app软件来捕捉输入的刺激和预期结果

  • 模型数据转换为TLM向量金宝app

  • 运行独立SystemC / TLM testbench可执行文件

  • TLM结果转换回模型数据金宝app

  • 执行一个数据比较

  • 生成一个图窗口数据mis-compares的任何信号