Fixed-Point Designer

对定点和浮点算法进行建模和优化

 

Fixed-Point Designer™ 提供了丰富的数据类型和工具,用于在嵌入式硬件上优化和实现定点和浮点算法。它包括定点和浮点数据类型以及特定于目标的数值设置。使用 Fixed-Point Designer,您可以执行特定于目标的定点位真仿真。然后,您可以事先测试和调试溢出及精度损失等量化效应,之后再在硬件上实现设计。

Fixed-Point Designer 提供的应用程序和工具可用于分析双精度算法,并将其转换为降精度浮点或定点。使用优化工具,您可以选择满足数值精度要求和目标硬件约束的数据类型。为了高效实现,您可以将运算量庞大的设计构造替换为硬件最优的模式,如压缩的查找表。

您可以直接从定点和浮点优化模型生成产品级 C 和 HDL 代码。

快速入门:

数据类型探索

探索浮点和定点数据类型,分析数值精度取舍。

定点规格

为设计指定各种定点属性,包括特定于应用的字长、二进制小数点定标、任意斜率与偏差定标,以及舍入和溢出模式等控制细节。

指定某个定点数据类型及其全部属性,例如舍入模式。

浮点仿真

在仿真和代码生成中,为非规范浮点数(如下溢为零)进行目标硬件行为仿真。使用 MATLAB® 和 Simulink® 中的 fp16 半精度数据类型对有限精度浮点进行仿真。

仪表化和可视化

借助整个模型范围内的自动仪表化收集仿真数据和统计量。收集范围数据来探索和分析您的设计。借助可视化来优化您的设计,以高效利用硬件资源。

可视化信号范围及直方图数据。

推导范围分析

根据对设计的数学分析推导出信号范围,并确定最坏情况下的范围或边缘情形,而无需创建全面涵盖所有情形的仿真测试平台。使用推导范围可以确保您的设计能够预防或处理所有可能的溢出。

使用设计范围来推导范围。

自动确定数据类型

使用定点和浮点数据类型量化和优化您的设计。

定点量化

在软件的引导下探索不同的定点数据类型及其对系统数值行为所产生的量化影响。观察设计中变量的动态范围,并确保转换后的算法在浮点表示和定点表示下具有一致的行为。

使用定点工具转换浮点模型。

浮点量化

将双精度设计自动转换为单精度,并对单精度情形下有限精度浮点表示和量化的效应进行分析。

使用单精度转换器进行自动转换。

数据类型优化

自动遍历各种定点配置以选择最佳的异质数据类型,同时满足对系统数值行为的容差限制。该优化旨在使用定点数据类型将总位宽度降至最低,以实现高效设计。

嵌入式实现

探索实现设计时面临的取舍,并使用高效的嵌入式算法优化您的设计。

函数逼近和查找表压缩

借助最优查找表,以数学方法逼近复杂的函数(如 sqrt 和 exp)或复杂的子系统。通过优化数据点和数据类型,压缩现有查找表来减少内存使用量。

生成位真代码

在从仿真到代码生成(包括加速、处理器在环仿真和软件在环仿真)的整个过程中,确保基于模型的设计始终保持比特精度一致。基于位真表示分析和验证定点算法。从降精度设计(包括半精度型)生成高效的代码。

在仿真器中验证所生成代码的位真行为。

HDL 优化矩阵模块

定点 HDL 库包含一系列 Simulink 模块,可对线性方程组及核心矩阵运算(如 QR 分解)的设计模式进行建模,以在 FPGA 上获得高效硬件实现。使用 HDL Coder™ 为包含此类模块的设计生成 HDL 代码。

库模块,为 QR 分解提供 HDL 优化设计模式。

测试和调试

分析、测试和调试算法的数值行为。

溢出和精度损失检测

快速识别、跟踪并调试溢出、精度损失以及范围或精度浪费的问题来源,并将您的设计与理想的浮点行为进行对比。保持模型和代码的比特精度一致可以最大限度地发挥基于模型设计的众多优势,帮助您在工作流早期发现上述问题。

跟踪溢出的根本原因。    

测试数值边缘情形

生成涵盖多种数值情形的定点和浮点值,例如接近边界的值和非规范数,以测试算法的边缘情形,实现数值一致。生成具有不同维度和复/实性、使用整数、浮点和定点数据类型的信号的组合。

使用数据生成器 API 生成测试数据。

最新特性

增强的定点工具

探索设计中的信号范围,并对 Simulink 模型进行数据类型优化

查找表优化

迭代地重新设计并批量压缩查找表,并行运行查找表优化

数据类型优化

增强功能,包括将已知数据类型和安全裕度指定为附加约束

技术预览

在 Simulink 中设计、仿真和生成半精度数据类型的代码

定点库

用于硬件高效数学运算和矩阵运算的 Simulink 模块库。

关于这些特性和相应函数的详细信息,请参阅发行说明