开始使用MATLAB SystemC工作流使用命令行接口
这个例子展示了如何使用HDL编码器™命令行界面生成SystemC代码从MATLAB®代码,包括浮点定点转换。
概述
SystemC代码生成使用命令行界面有以下基本步骤:
设置高级合成(HLS)工具路径SystemC代码生成通过使用函数
hdlsetuphlstoolpath
。创建一个
fixpt
编码器配置对象。创建一个
高密度脂蛋白
编码器配置对象。设置配置对象参数。
运行
codegen
命令来生成SystemC代码。
高密度脂蛋白编码器命令行界面可以使用两个编码器配置对象codegen
命令。的fixpt
编码器配置对象配置浮点定点转换你的MATLAB代码。的高密度脂蛋白
编码器配置对象配置SystemC代码生成和编程选项。
示例代码实现了一个简单的对称有限脉冲响应(杉木)滤波器及其试验台。使用这个示例中,您可以配置浮点定点转换和生成SystemC代码。
设置这个例子的冷杉模型和试验台。
mlhdlc_demo_setup (“sfir”);
创建浮点定点转换配置对象
如果你的设计已经使用定点类型和功能,那么你可以跳过定点转换的第一步。
要执行浮点定点转换,您需要一个fixpt
配置对象。
创建一个fixpt
配置对象,指定您的测试台上的名字。
fixptcfg = coder.config (“fixpt”);fixptcfg。TestBenchName =“mlhdlc_sfir_tb”;
定点转换类型建议选项
代码生成器可以根据你的选择提出定点类型字长或部分的长度。这两个选项是互斥的。
该类型的单词长度24
:
fixptcfg。DefaultWordLength = 24;fixptcfg。ProposeFractionLengthsForDefaultWordLength = true;
或者,您可以提出定点类型基于分数长度。下面的代码配置编码器提出类型基于长度的一小部分10
:
fixptcfg。DefaultFractionLength = 10;fixptcfg。ProposeWordLengthsForDefaultFractionLength = true;
安全裕度
代码生成器的仿真数据范围增加它的定点基地类型建议安全裕度百分比。例如,默认的安全裕度4
,这就增加了仿真数据范围用于定点类型的提议4%
。
设置SafetyMargin
来10%
:
fixptcfg。SafetyMargin = 10;
数据记录
代码生成器之前和之后运行的试验台设计一个浮点定点转换。您可以启用模拟数据日志记录的量化影响新定点数据类型。
启用数据日志记录fixpt
配置对象:
fixptcfg。LogIOForComparisonPlotting = true;
数值类型的建议报告
代码生成器启动配置类型建议报告一旦定点类型提出了:
fixptcfg。LaunchNumericTypesReport = true;
创建SystemC代码生成配置对象
要生成SystemC代码,您必须创建一个高密度脂蛋白
配置对象和设置试验台的名字:
hdlcfg = coder.config (“高密度”);hdlcfg。TestBenchName =“mlhdlc_sfir_tb”;
目标语言和合成工具
生成SystemC代码指定目标语言SystemC
和合成工具韵律层云
。
hdlcfg。开发“SystemC”;hdlcfg。SynthesisTool =“韵律层”;
代SystemC试验台的代码
配置代码生成器来生成一个SystemC试验台从MATLAB®试验台:
hdlcfg。GenerateHDLTestBench = true;
模拟生成的SystemC代码
如果你想模拟生成SystemC代码,您还必须配置代码生成器来生成SystemC试验台。
hdlcfg。SimulateGeneratedCode = true;
SystemC代码生成的合成工具
你可以合成SystemC代码通过使用合成工具生成的韵律层云。配置代码生成器使用这个工具。
hdlcfg。SynthesizeGeneratedCode = true;
SystemC运行代码生成
现在,你有你的fixpt
和高密度脂蛋白
配置对象设置,运行codegen
命令执行浮点定点转换和生成SystemC代码:
codegen-float2fixedfixptcfg配置hdlcfgmlhdlc_sfir报告
SystemC代码生成报告
在MATLAB命令行窗口中,您可以通过点击查看代码生成报告查看报告
。
代码生成报告能帮助你:
调试代码生成问题,并验证您的MATLAB代码适用于代码生成。
视图生成的SystemC代码。
访问额外的报告一致性报告。
看看代码生成器决定和传播类型信息在MATLAB代码中变量和表达式。
查看一个MATLAB函数代码中的窗格中,单击MATLAB源窗格的函数的名称。在代码中窗格中,当你暂停一个变量或表达式,工具提示显示信息的大小,类型和复杂性。
限制
只支持韵律层为高水平的综合工具。金宝app韵律层仅支持点对点(p2p)通信金宝appSystemC代码生成。
生成SystemC不支持多个线程上运行的代码。金宝app
真正的数据类型和系统对象不支持SystemC代码生成。金宝app
不支持结构和枚举顶级DUT的输入和输出端口SystemC代码生成。金宝app