主要内容

定点的工具

浮点模型转换为定点模型

描述

定点的工具使您能够自动转换浮点模型使用定点数据类型,优化现有数据类型的模型,并分析模型使用范围和数据类型丰富的统计数据和可视化。

定点的工具根据您的需要提供三个工作流程:

  • 优化定点转换——自动将您的模型转换成使用优化定点数据类型。

  • 迭代定点转换——自动提出定点数据类型和手动选择数据类型适用于您的模型。

  • 收集范围——探索模型的数值行为之前或之后数据类型转换。

下表总结了这三个工作流之间的区别。下面更详细地解释这些选项。

工作流 改变模型的数据类型 易用性 数量的控制数据类型应用到模型 需要知识的系统行为公差 命令行工作流程
优化定点转换 是的 一个步骤 是的 fxpopt
迭代定点转换 是的 多次迭代 推荐 DataTypeWorkflow.Converter
收集范围 没有 一个步骤 N /一个 推荐 DataTypeWorkflow.Converter

优化定点转换工作流程

优化定点转换工作流的定点的工具提供了一个完全自动化的模型转换的方式万博1manbetx®模型不动点。如果你知道系统的预期行为,这种行为可以指定可接受的公差,您可以使用此工作流为你找到最优数据类型系统。您可以实现更好的结果如果你另外指定任何已知的范围或供应额外的模拟输入。

该工具允许您指定允许的字,也会考虑您指定目标硬件的局限性。你也可以指定一个安全裕度的范围增加收集的范围指定的金额。优化的数据类型留在指定行为公差和最小化的成本设计。如果找到不止一个可行的解决方案,您可以应用,探索不同的解决你的模型来找到一个适合您的需求。万博 尤文图斯你可以探索的范围和统计数据基准模型使用丰富的可视化快速点溢出和其他数值问题的来源。你可以比较不同的定点实现的结果仿真数据检查员。

优化后的数据类型定点的工具,您可以导出工作流MATLAB®脚本。这允许您继续优化数据类型使用fxpopt在命令行,其他高级选项可供进一步定制优化过程。

此工作流将自动改变数据类型在您的模型优化过程的完成。如果你完成了,准备开始前一步优化,您可以自动恢复初始状态的模型。

迭代定点转换工作流程

迭代定点转换工作流的定点的工具是一个交互式自动指定定点数据类型的仿真软件模型。万博1manbetx模型对象的工具收集范围,提出定点数据类型,精度和覆盖范围最大化。然后你可以检查数据类型建议和应用选择性地在您的模型对象。

该工具允许您提出单词长度或部分的长度,让你选择fixed-precision设计,和还将考虑限制你指定的目标硬件。你也可以指定一个安全裕度的范围增加收集的范围指定的金额。丰富的可视化允许你去探索你的模型对象的范围,并迅速点溢出和其他数值问题的来源,之前和之后都将您的模型转换为定点。如果该数据类型不符合你的需要,你可以继续遍历这个过程。你可以比较不同的定点实现的结果仿真数据检查员。

这个工作流给你完全控制提出了数据类型是应用于您的模型,如果任何。如果你完成转换的准备步骤,模型可以自动恢复到原来的状态。

这个工作流不需要您指定所需的系统的行为,但是建议您指定任何已知的范围,模拟输入,信号公差以达到更精确的数据类型的建议,能够评估提出了数据类型是否满足指定的需求的设计。

范围收集工作流程

收集范围工作流的定点的工具是一个分析和故障排除工具,不会改变你的模型。这个工作流提供了独立的访问范围收集步骤中发现数据类型转换工作流。

你可以选择指定额外的模拟输入和公差模型的记录信号。这个工具将单独收集范围为指定所有模拟输入,并合并结果组合视图。如果你想探索理想的浮点的行为你的系统,你可以选择收集启用了数据类型覆盖的范围。

丰富的可视化允许你去探索你的模型对象的范围,并迅速点溢出,下溢,和其他数值问题,转换为定点之前或之后。信号不符合指定的公差突出显示在结果中。你可以比较模拟运行的结果使用仿真数据检查员。

打开定点工具

  • 万博1manbetx仿真软件将来发布:应用程序选项卡,在代码生成,点击应用程序图标。

  • MATLAB命令提示:输入fxptdlg(“system_name”),在那里“system_name”是模型或系统的名字你想转换,指定为一个字符串。

例子

全部展开

这个例子展示了如何使用优化定点转换工作流的定点的工具。在这个例子中使用的模型是一个简单的数字滤波器建模使用浮点数据类型。在本例中,您指定为滤波器的输出行为约束和优化的定点数据类型嵌入式高效过滤器子系统。

打开mSimpleFIR模型。

open_system (“mSimpleFIR”);

检查嵌入式高效过滤器子系统。

open_system (“mSimpleFIR /嵌入式高效过滤器”);

已知的设计最大和最小值显式地指定块的模型,包括输入和输出的嵌入式高效过滤器子系统。

打开定点工具。在仿真软件上®万博1manbetx应用程序选项卡,在代码生成,点击应用程序图标。

开始定点转换工作流程,优化选择优化定点转换

选择您想要分析子系统。下系统设计(SUD),选择嵌入式高效过滤器子系统。

选择范围收集方法来使用。下范围收集模式中,选择模拟与派生的范围。在范围分析步骤的优化,该工具将范围从模拟最大和最小值,设计明确指定最小值和最大值值块模型,并推导出最小值和最大值,通过静态分析,推导出计算范围的对象模型。

指定模拟输入。对于这个示例,使用默认的模型输入的模拟。

指定记录信号信号公差。设置绝对的宽容相对宽容output_signal: 10.01

准备定点的模型转换,点击准备。定点工具创建一个备份版本comaptibility模型和检查模型的转换过程。更多关于准备检查,看到使用定点工具准备转换的系统

接下来,扩大设置按钮箭头用于数据类型优化配置设置。对于这个示例,使用默认设置。

为了优化模型中的数据类型,点击优化数据类型

在优化过程中,软件分析对象在系统设计的范围。优化将考虑所有指定的行为约束,包括设计最小和最大公差值和信号,将异构数据类型应用到您的系统同时最小化目标函数。在这个例子中,目标函数设置为默认值位宽度总和,指示单词长度的总和最小化的优化系统设计。

在优化过程中,软件使得几个设置和模型配置参数的变化。这些变化包括抑制诊断的目的,使测井与仿真数据检查,减少内存消耗的结果,确保模型的有效性,加快优化过程,关闭数据类型覆盖。有关更多信息,请参见模型优化配置中更改数据类型。你可以恢复这些诊断优化完成后。

关于打印到优化过程的细节优化的细节窗格在定点的工具。你可以暂停或停止优化优化搜索完成点击之前解决停止

优化完成后,定点工具显示一个表,其中包含所有的解决方案在优化过程中发现。万博 尤文图斯解决方案1表中对应的最佳解决方案。

万博 尤文图斯解决方案要求在表的基础上成本,这是定义的目标函数中指定设置菜单。可行的解决方案,满万博 尤文图斯足定义的行为约束标有pass状态表的解决方案。万博 尤文图斯解决方案,不符合的行为约束标有失败状态。这个示例使用公差在滤波器的输出系统的子系统定义所需的行为。更多信息定义其他类型的行为约束,明白了指定行为的约束

在优化过程中,对象的工具收集范围和统计模型。探索这些范围,工作流的浏览器窗格中,选择BaselineRun

结果表格显示的总结收集到的统计数据在范围收集阶段的优化,包括仿真模拟最小和最大值。你可以点击查看更多细节的任何结果结果细节窗格。的仿真数据的可视化窗格显示直方图的摘要中的每个对象所使用的比特模式。

您可以自定义显示的信息结果电子表格,或使用探索标签排序和过滤这些结果基于额外的标准。有关更多信息,请参见控制视图定点工具

最好的解决方案在优化过程中,发现解决方案1是自动应用到模型中。比较这个基线运行优化的解决方案,点击比较。在嵌入式高效过滤器子系统中,您可以看到应用优化定点数据类型。当你点击比较对于一个拥有记录信号的模型,工具打开仿真数据检查。在仿真数据检查,选择output_signal作为比较的信号。植物的情节输出信号解决方案1在指定的公差带。

你可以继续探索其他解决方案通过选择一个解决方案的解决方案表和点击万博 尤文图斯应用和比较

优化数据类型在定点工具之后,您可以选择导出优化工作流步骤一个MATLAB®脚本。这允许您保存当前优化工作流步骤,继续优化数据类型使用fxpopt在命令行中。

点击导出脚本出口一个脚本命名fxpOptimizationOptions当前工作目录。

转换过程后,如果你想要恢复您的模型状态的转换过程,点击恢复原始模型。任何更改到模型转换的准备阶段是后删除。

这个例子展示了如何使用迭代定点转换工作流的定点的工具。在这个例子中使用的模型是一个简单的数字滤波器建模使用初始猜测定点数据类型。在本例中,您指定已知行为约束的输出滤波器和改进的定点数据类型嵌入式高效过滤器子系统。

打开mSimpleFIR_fxp模型。

open_system (“mSimpleFIR_fxp”);

检查嵌入式高效过滤器子系统。

open_system (“mSimpleFIR_fxp /嵌入式高效过滤器”);

已知的设计最大和最小值显式地指定块的模型,包括输入和输出的嵌入式高效过滤器子系统。

打开定点工具。在仿真软件上®万博1manbetx应用程序选项卡,在代码生成,点击应用程序图标。

开始定点转换工作流程,优化选择迭代定点转换

选择您想要分析子系统。下系统设计(SUD),选择嵌入式高效过滤器子系统。

选择范围收集方法来使用。下范围收集模式中,选择模拟与派生的范围。在范围分析步骤的优化,该工具将范围从模拟最大和最小值,设计明确指定最小值和最大值值块模型,并推导出最小值和最大值,通过静态分析,推导出计算范围的对象模型。

指定模拟输入。对于这个示例,使用默认的模型输入的模拟。

指定记录信号信号公差。设置绝对的宽容相对宽容output_signal: 10.01

准备定点的模型转换,点击准备。定点工具创建一个备份版本comaptibility模型和检查模型的转换过程。更多关于准备检查,看到使用定点工具准备转换的系统

接下来,收集范围。扩大收集范围按钮箭头并选择双精度。点击收集范围开始收集运行范围。

当您选择双精度范围收集模式,工具模拟系统设计启用了数据类型覆盖。数据类型覆盖执行定点数据类型的全球覆盖的模型中,从而避免量子化效应。这使您能够建立一个理想的浮点基线模型的行为。

范围的结果存储在集合BaselineRun。的结果表格显示的摘要统计期间收集的收集范围模拟,包括当前指定的数据类型的模型(SpecifiedDT)、模拟最小和仿真最大值。编译后的数据类型(CompiledDT)列显示所有对象的两倍嵌入式高效过滤器子系统,表明数据类型覆盖范围收集过程中应用的仿真。

你可以点击查看更多细节的任何结果结果细节窗格。的仿真数据的可视化窗格显示直方图的摘要中的每个对象所使用的比特模式。仿真数据表明,一些对象模型中潜在的下溢。

您可以自定义显示的信息结果电子表格,或使用探索标签排序和过滤这些结果基于额外的标准。有关更多信息,请参见控制视图定点工具

接下来,扩大设置箭头按钮来配置设置用于数据类型的建议。集提出字长

提出基于范围收集数据类型和数据类型的建议设置指定,点击提出数据类型。工具使用所有可用的数据范围来计算数据类型的建议包括设计最大或最小值,模拟最大或最小值,推导出最小或最大的值。所有对象的数据类型,提出了系统设计的锁输出数据类型设置定点对变化的工具参数是清除。

该数据类型写入模型,点击应用数据类型。该工具更新SpecifiedDT列显示的数据类型被应用到模型中。

使用的模拟模型应用定点数据类型。扩大模拟与嵌入的类型按钮箭头并选择指定数据类型。然后单击模拟与嵌入的类型

定点工具模拟了模型使用新的定点数据类型和日志最小和最大值和溢出数据为系统中所有对象的设计。这些信息存储在一个新命名EmbeddedRun。旁边的图标EmbeddedRun显示一个状态,指出所有信号系统设计满足指定的公差。的仿真数据的可视化窗格中显示新的更新EmbeddedRun数据。

存储在比较理想的结果BaselineRun与新应用定点数据类型,选择EmbeddedRun在SDI运行比较下拉菜单。然后单击比较结果打开仿真数据检查

在仿真数据检查,选择output_signal作为比较的信号。

滤波器输出信号的情节EmbeddedRun在指定的公差带。

如果转换的行为系统不满足您的要求或如果你想探索额外的数据类型选择的影响,可以应用新的建议设置后提出新的数据类型。继续迭代,直到你找到设置的定点系统的行为是可以接受的。

转换过程后,如果你想要恢复您的模型状态的转换过程,点击恢复原始模型。任何更改到模型转换的准备阶段是后删除。

这个例子展示了如何使用收集范围工作流的定点的工具。在这个例子中使用的模型是一个简单的数字滤波器建模使用定点数据类型。在本例中,您分析数值模型的行为来确定源的溢出嵌入式高效过滤器子系统。

打开mSimpleFIR_fxp_ovf模型。

open_system (“mSimpleFIR_fxp_ovf”);

检查嵌入式高效过滤器子系统。

open_system (“mSimpleFIR_fxp_ovf /嵌入式高效过滤器”);

已知的设计最大和最小值显式地指定块的模型,包括输入和输出的嵌入式高效过滤器子系统。

打开定点工具。在仿真软件上®万博1manbetx应用程序选项卡,在代码生成,点击应用程序图标。

开始收集范围工作流、选择收集范围

选择您想要分析子系统。下系统设计(SUD),选择嵌入式高效过滤器子系统。

选择范围收集方法来使用。下范围收集模式中,选择模拟与派生的范围。范围收集期间,该工具将范围从模拟最小和最大值,最小和最大设计值显式地指定的块模型,并推导出最小值和最大值,通过静态分析,推导出计算范围的对象模型。

指定模拟输入。对于这个示例,使用默认的模型输入的模拟。

指定记录信号信号公差。设置绝对的宽容相对宽容output_signal: 10.01

接下来,扩大收集范围箭头按钮来配置设置用于收集范围。选择双精度暂时覆盖在模型中数据类型与双打在基线范围收集运行。点击收集范围

范围的结果集合存储在运行BaselineRun。的结果电子表格显示的摘要统计期间收集的收集范围,包括当前指定的数据类型的模型(SpecifiedDT)、模拟最小和仿真最大值。编译后的数据类型(CompiledDT)列显示所有对象的两倍嵌入式高效过滤器子系统,表明数据类型覆盖范围收集过程中应用的仿真。

你可以点击查看更多细节的任何结果结果细节窗格。的仿真数据的可视化窗格显示直方图的摘要中的每个对象所使用的比特模式。

您可以自定义显示的信息结果电子表格,或使用探索标签排序和过滤这些结果基于额外的标准。有关更多信息,请参见控制视图定点工具

接下来,使用指定的定点数据类型目前模拟模型的模型。扩大设置按钮箭头并选择指定数据类型,然后单击模拟与嵌入的类型

定点工具商店仿真的结果EmbeddedRun

旁边的图标EmbeddedRun显示一个失败状态,这表明一个或多个信号不符合指定的公差。的结果产品块与这一结果表明,有一个问题。的结果细节窗格显示块溢出1670倍,表明一个贫穷的单词长度的选择。

存储在比较理想的结果BaselineRun与定点的结果,选择EmbeddedRun在SDI运行比较下拉菜单。然后单击比较结果打开仿真数据检查。在仿真数据检查,选择output_signal作为比较的信号。

相关的例子

参数

系统或子系统分析或转换为定点。你可以选择单个子系统模型一次促进调试通过隔离数字的来源问题,或者你可以选择顶层模型。

更多信息转换系统包含特定的建模结构,见:

如何系统对象的工具收集范围,指定为以下之一:

  • 模拟范围通过模拟——收集范围。收集和合并多个模拟运行的范围,指定模拟输入。数据类型一样好试验台提供建议。

  • 派生的范围——收集范围通过静态分析的范围,也被称为范围分析派生的范围分析。收集的范围使用此选项仅基于设计模型上指定的范围。这个选项通常提供了更为保守的数据类型的建议。有关更多信息,请参见分析范围是如何工作的

  • 模拟与派生的范围——收集范围通过模拟和派生范围分析和结合的结果。提出的数据类型是基于仿真的结合和派生的范围。此选项提供了最全面的信息。

有关更多信息,请参见选择一个范围收集方法

输入的模拟,指定为一个万博1manbetxSimulink.SimulationInput对象。

如果你选择范围收集模式模拟范围模拟与派生的范围,您可以选择指定额外的模拟输入改善收集范围的准确性和数据类型的建议。在收集仿真范围,定点的工具捕捉每个指定的最小值和最大值模拟场景。如果万博1manbetxSimulink.SimulationInput您选择对象包含不止一个模拟场景,定点的工具提出了数据类型的基础上,合并范围从所有模拟场景。

一组全面的输入信号,锻炼你的设计将导致更精确的数据类型建议为您的系统。例如,看到的提出模拟合并范围的数据类型

确定的数值行为新定点实现是可以接受的,你可以为单个信号定义公差模型,启用了日志。您可以指定下列类型的公差:

  • 绝对的宽容的绝对值最大可接受的区别原始信号和信号转换的设计。

  • 相对宽容——指定为一个百分比,最大相对偏差之间的原始输出和新设计的输出。例如,值1)依照表明之间的最大差异的百分之一的原始值和信号值转换的设计。

  • 宽容时间(秒)——时间间隔的最大和最小值定义上下值比较。

优化定点转换工作流,您必须指定至少一个行为约束以优化数据类型。信号公差是一种类型的行为约束,您可以指定。

迭代定点转换工作流、信号公差不需要提出数据类型,但所需的工具来确定嵌入式运行是否在公差内。

收集范围工作流、信号公差不需要收集范围,但所需的工具来确定收集的范围是否在公差内。

有关更多信息,请参见指定行为的约束公差计算

收集对象模型中使用的范围:

  • 使用当前设置——使用当前数据类型覆盖在模型上设置。

  • 双精度——覆盖在模型中数据类型与双打。

  • 单精度——覆盖在模型中数据类型与单打。

  • 按比例缩小的双精度——覆盖在模型中数据类型扩展双打。

取决于收集的范围范围收集模式和任何模拟输入指定。

有关更多信息,请参见定点覆盖仪器和数据类型使用自定义数据类型集合覆盖设置范围

数据类型选择设置菜单取决于选择的工作流。

优化定点转换工作流选项

选项 描述
允许的字

(2:128)(默认)

单词长度,可用于优化系统设计。最终结果的优化使用单词长度的十字路口允许的字和单词长度兼容硬件约束中指定硬件实现你的模型的面板。

马克斯迭代

50(默认)

最大数量的迭代执行,指定为一个标量整数。优化过程遍历不同的解决方案,直到找到一个理想的解决方案,达到最大迭代次数,或达到另一个停止条件。万博 尤文图斯

最大时间(秒)

600年(默认)

最大优化运行的时间,以秒为单位指定为一个标量数字。优化运行,直到达到指定的时候,一个理想的解决方案,或另一个停止条件。

耐心(迭代)

10(默认)

最大迭代次数,没有新的找到最佳解决方案,指定为一个标量整数。继续优化只要算法最好继续寻找新的解决方案。万博 尤文图斯

安全裕度(%)

0(默认)

安全裕度,指定为一个积极的标量值,表示百分比的范围增加收集的范围。安全系数应用于联盟的收集范围。

目标函数

目标函数中使用优化搜索。优化算法试图最小化一个目标函数,同时满足指定的行为约束。

  • 位宽度总和(默认)最小化总宽度总和。

  • 操作数——最小化估计计数的运营商在生成的C代码。

    这个选项可能会导致较低的项目从仿真软件模型生成C代码的内存大小。万博1manbetx的“OperatorCount”目标函数不适合FPGA和ASIC的目标。

请注意

使用操作数在优化目标函数,模型必须准备代码生成。关于确定代码生成准备的更多信息,请参阅检查代码生成模型和配置(嵌入式编码)

执行社区搜索

(默认)

是否执行社区搜索优化的解决方案。

禁用这个选项可以提高优化过程的速度,但也会增加的机会找到一个不太理想的解决方案。

使用并行

(默认)

是否要并行运行的迭代优化。

并行运行的迭代需要并行计算工具箱™许可证。如果你没有一个并行计算工具箱许可证,或者如果你没有启用这个选项,在串行迭代运行。

迭代定点转换工作流选项

选项 描述
提出

是否提出部分长度或单词长度的对象系统的设计。

  • 部分长度(默认)定点的工具使用范围和指定的信息默认字长价值提出best-precision分数中的对象模型的长度。

  • 字长- - -定点的工具使用范围和指定的信息违约部分长度值提出单词长度中的对象模型。

提出signedness

是的(默认)

是否使用收集到的信息提出signedness范围。

模拟最小/最大安全裕度(%)

2(默认)

指定一个安全系数适用于收集仿真范围。的定点的工具将指定数量的收集范围和基地这个大范围的建议。

将双/单/类型的一半

是的(默认)

是否生成数据类型对象,目前建议指定一个双,单或half-precision数据类型。

继承类型转换

是的(默认)

生成数据类型是否建议为结果,当前指定一个继承的数据类型。

默认字长

16(默认)

数据类型的默认字长使用建议,指定为一个标量整数。只有在启用此设置提出设置被设置为部分长度

违约部分长度

4(默认)

违约部分用于数据类型长度建议,指定为一个标量整数。只有在启用此设置提出设置被设置为字长

范围收集工作流选项

选项 描述
验证使用

数据类型覆盖设置用于嵌入式仿真。

  • 指定数据类型——使用指定数据类型的模型

  • 按比例缩小的双精度——覆盖数据类型扩展双打。

限制

提示

之前介绍过的R2006a