主要内容

松散定时的Systemc / TLM模拟

此示例使用Simulink®型号从Simulink®Coder™或嵌入式码®生成SystemC™/ TLM组件时,突出显示“定时”时序模式的使用。金宝app

在Si金宝appmulink®模型中,通过信号采样率和集中定时求解器来控制源和沉积之间的数据的移动。在SystemC / TLM模型中,数据宿源之间的交互由Systemc仿真内核和时间通过SC_THREADS协同地屈服于另一个螺纹的时间来控制等待呼叫。

对于定时系统/ TLM模拟模型,模型遵守通信接口和处理的注释延迟。对于松散定时的模拟,该模型不允许线程在时间上“跑步”,因此不与其他一些线程的时间感不同的“本地时间”。相反,启动器立即与TLM事务的返回延迟同步,并且通常执行非零定时等待,以便执行轮询循环和同步需求。模拟时间将在松散定时模型中提前,以反映系统中的通信,处理和轮询延迟。该模型的目标除了适当同步数据移动与未定量的系统之外,还具有功能正确的模拟,具有快速壁时钟执行时间。这种速度允许在SystemC / TLM架构模型上近的实时软件开发。

对于此示例,我们使用FIR滤波器的Simulink模金宝app型作为SystemC / TLM生成的基础。

下载188bet金宝搏运行此演示所需的产品:

  • Systemc 2.3.1(包括TLM库)

  • 对于代码验证,制作和兼容GNU-Compiler,GCC,在Windows®上的LaveS中的Linux®或VisualStudio®编译器中的路径中

注意:该示例包括代码生成构建过程。金宝appSimulink不允许您在MATLAB安装区域中构建程序。如有必要,请在开始任何构建之前更改为不在MATLAB安装区域的工作目录。

1.打开预配置的模型

打开TLM松散 - 定时测试窗模型, 点击开放式按钮。

以下模型在Simulink中打开。金宝app

2.查看TLM生成器目标配置选项

在Simuli金宝appnk ToolStrip中,选择模型设置来自造型标签。在里面配置参数对话框,选择TLM发电机查看然后标签tlm testbench.查看并查看测试台设置,如下图所示。选择详细的测试铃声消息复选框,以查看SystemC / TLM模拟中的启动器/目标交互的完整日志。由于这将是数千行,如果需要,取消选择选项以获取SystemC / TLM模拟的简化日志。

3.构建模型

在“模型”窗口中,右键单击DualFilter块并选择C / C ++代码>为此子系统生成代码在上下文菜单中启动TLM组件和测试禁止生成。或者您可以在MATLAB命令窗口中执行以下命令:

>> SLBUILD('tlmgdemo_lttb / dualfilter')

当Matlab命令窗口中显示以下消息时,生成将完成:

###启动Simulink金宝app编码器型号的构建过程================================================================= DualFilter代码生成的代码生成信息文件不存在。1个1个模型(0型号已达到约会)构建持续时间:0H 0M 14.832S

4.打开生成的文件

通过单击生成的报告中的“Dualfilter_lttb_tlm_tb.cpp”或在Matlab编辑器中打开Matlab Web浏览器中的生成的测试窗源代码:

5.查看生成的代码

“具有定时”的规范导致测试禁止指示TLM组件通过特殊配置界面在定时模式下运行,mw_backdoorcfg_if.。由于代码指示,定时模式的选择是动态的,并且可以在仿真过程中改变。由于这种选择纯粹是模拟构造,因此它不通过“前门”TLM交易编程。

此外,由于代码指示,TestBench必须使用正确的时序模式设置本地辅助对象,以确保其启动器线程在TLM事务呼叫中使用适当的同步。

实现松散定时同步类,mw_syncfimeded_tb., 在里面mw_金宝appsupport_tb.cpp.文件显示了启动器线程和TLM事务所使用的各种同步呼叫的详细信息。与未定义的模拟不同,呼叫利用了不零次的等待,但是,与未定量的仿真一样,允许允许“本地时间”延迟累积。

6.验证生成的代码

在里面配置参数对话框,进入tlm testbench.配置参数对话框和推送验证TLM组件按钮到在松散 - 定时定时模式下运行生成的测试窗或在MATLAB命令窗口中执行:

>> VERVERYTLMGDEMOMODEL('LTTB')

这个动作将:

  • 构建生成的代码

  • 运行Si金宝appmulink以捕获输入刺激和预期结果

  • 将Simulink数据转金宝app换为TLM向量

  • 运行独立的Systemc / TLM测试台可执行文件

  • 将TLM结果转换回Simulink数据金宝app

  • 执行数据比较

  • 为具有数据错误 - 比较的任何信号生成图形窗口