fiaccel

加速定点代码和转换浮点数MATLAB代码定点MATLAB代码

语法

fiaccel -选项fcn
fiaccel -float2fixedfcn

描述

fiaccel -选项fcn将MATLAB®文件fcn.m一个MEX函数,它加速了定点代码。使用fiaccel,你的守则必须符合下列其中一项规定:

  • 顶级函数没有输入或输出,代码使用fi

  • 顶级函数有一个输出或一个非常量输入,并且至少有一个输出或输入是afi.

  • 顶级函数至少有一个输入或输出,其中包含一个内置的整数类(int8,uint8,int16,uint16,int32,uint32,int64,或uint64),代码使用fi.

请注意

如果您的顶级文件位于包含Unicode字符的路径上,代码生成可能无法找到该文件。

fiaccel -float2fixedfcn转换浮点MATLAB函数,fcn到定点的MATLAB代码。

输入参数

fcn

MATLAB函数,从中生成一个MEX函数。fcn必须适合代码生成。有关代码生成的信息,请参阅代码加速和代码生成从MATLAB

选项

编译器选项的选择。fiaccel使单个命令行选项优先于使用配置对象指定的选项。如果命令行选项冲突,则选择最右边的选项。

arg游戏example_inputs

通过提供示例输入值的单元数组来定义MATLAB函数输入的大小、类和复杂性。单元数组中示例输入的位置必须对应于MATLAB函数定义中输入参数的位置。若要生成输入参数比函数定义少的函数,请忽略不需要的参数的示例值。

在它们所应用的函数之后立即指定示例输入。

您可以提供一个而不是一个示例值coder.Type对象。创建一个coder.Type对象,使用coder.typeof.

配置config_object

指定基于的MEX生成参数config_object,定义为一个MATLAB变量coder.mexconfig.例如:

cfg = coder.mexconfig;

- dout_folder

将生成的文件存储在指定的绝对或相对路径中out_folder.如果指定的文件夹out_folder不存在,fiaccel为您创建它。

如果您没有指定文件夹位置,fiaccel在默认文件夹中生成文件:

fiaccel /墨西哥人/fcn.

fcn是在命令行中指定的MATLAB函数的名称。

该函数不支持文件夹名称中的下列字符:万博1manbetx*)、问号(?)、美元($)和英镑(#)。

-float2fixedfloat2fixed_cfg_name

使用浮点到定点转换配置对象指定的设置生成定点MATLAB代码float2fixed_cfg_name.

这个选项,fiaccel在文件夹中生成文件codegen / fcn_name / fixpt.

你必须设定TestBenchName的属性float2fixed_cfg_name.例如:

fixptcfg。TestBenchName =“myadd_test”;
指定myadd_test测试文件是浮点到定点配置对象吗fixptcfg.

属性时不能使用此选项全球选择。

- g

以调试模式编译MEX函数,并关闭优化。如果未指定,fiaccel在优化模式下生成MEX函数。

全球global_values

在MATLAB文件中为全局变量指定初始值。使用单元格数组中的值global_values在编译的函数中初始化全局变量。单元格数组应该提供每个全局变量的名称和初始值。您必须在编译之前初始化全局变量fiaccel.如果不为全局变量提供初始值,则使用全球选项,fiaccel检查MATLAB全局工作空间中的变量。如果你不提供初始值,fiaccel生成一个错误。

生成的MEX代码和MATLAB都有自己的全局数据副本。为了确保一致性,您必须在两者交互时同步它们的全局数据。如果不同步数据,则它们的全局变量可能不同。

属性时不能使用此选项-float2fixed选择。

-我包含路径

添加包含路径到代码生成路径的开头。

fiaccel搜索代码生成路径第一个在将MATLAB代码转换为MEX代码时。

-launchreport

生成并打开代码生成报告。如果不指定此选项,fiaccel仅当发生错误或警告消息或您指定报告选择。

-nargout

在生成的入口点函数中指定输出参数的数量。代码生成器按照MATLAB函数定义中输出参数的顺序生成指定数量的输出参数。

- ooutput_file_name

生成带有基名称的MEX函数output_file_name加上一个特定于平台的扩展。

output_file_name可以是文件名或包含现有路径。

如果不指定输出文件名,则基名称为fcn_mex,它允许您运行原始的MATLAB函数和MEX函数并比较结果。

- ooptimization_option

优化生成的MEX代码,基于的值optimization_option:

  • 启用:内联-启用功能内联

  • 禁用:内联-禁用功能内联

如果不指定,fiaccel使用内联优化。

报告

生成代码生成报告。如果不指定此选项,fiaccel仅当发生错误或警告消息或您指定-launchreport选择。

- - - - - - ?

显示帮助fiaccel命令。

例子

创建一个测试文件并计算移动平均线。然后,用fiaccel加速代码和比较。

函数avg = test_moving_average(x) %#codegen如果nargin < 1, x = fi(rand(100,1),1,16,15);end z = fi(0 (10,1),1,16,15);avg = x;对于k = 1:length(x) [avg(k),z] = moving_average(x(k),z);结束函数[avg,z] = moving_average(x,z) %#codegen如果nargin < 2, z = fi(0 (10,1),1,16,15);z(2:end) = z(1:end-1);%更新缓冲区z(1) = x;%添加新值avg =均值(z);%计算移动平均%使用fiaccel创建一个MEX函数和%加速代码x = fi(rand(100,1),1,16,15);fiaccel test_moving_average -args {x} -报告%比较非加速和加速代码。 x = fi(rand(100,1),1,16,15); % Non-compiled version tic,avg = test_moving_average(x);toc % Compiled version tic,avg = test_moving_average_mex(x);toc

转换成浮点数MATLAB定点编码

创建一个coder.FixptConfig对象,fixptcfg,默认设置。

fixptcfg = coder.config (“fixpt”);

设置测试工作台名称。在本例中,测试工作台函数名为dti_test.

fixptcfg。TestBenchName =“dti_test”;

将浮点MATLAB函数转换为定点MATLAB代码。在本例中,MATLAB函数名为贸易工业部.

fiaccel-float2fixedfixptcfg贸易工业部

介绍了R2011a