Fixed-Point Designer

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

 

Fixed-Point Designer™ 提供了丰富的数据类型和工具来开发定点和单精度算法,以优化它们在嵌入式硬件上的性能。Fixed-Point Designer 会分析您的设计,并建议数据类型和属性,如字长和定标。您可以指定详细的数据属性(如舍入 模式和溢出操作),并可以混合使用单精度和定点数据。您可以执行位真仿真,以观察范围和精度受限时的影响 ,而无需在硬件上实现设计。

Fixed-Point Designer 可让您将双精度算法转换为单精度或定点算法。您可以创建和优化满足数值精度要求和目标硬件约束的数据类型。您可以通过数学分析或仪表化仿真来确定设计的范围要求。Fixed-Point Designer 提供的应用程序和工具可引导您完成数据转换,并可帮助您对比定点结果与浮点基线。

Fixed-Point Designer 支持 C、HDL 和 PLC 代码生成。

开始:

数据类型探索

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

定点规格

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

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

浮点仿真

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

对比单精度仿真与双精度基线。

仪表化和可视化

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

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

推导范围 分析

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

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

自动确定数据类型

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

定点量化

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

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

浮点量化

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

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

数据类型优化

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

嵌入式实现

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

函数逼近和查找表压缩

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

生成位真代码

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

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

HDL 优化矩阵模块

一些 Simulink® 模块,可对线性方程组与核矩阵运算(如 QR 分解)的设计模式进行建模,以便在 FPGA 上高效实现硬件方案。

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

测试和调试

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

溢出和精度损失检测

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

跟踪溢出的根本原因。    

测试数值边缘情况

生成大量定点和浮点值来测试边缘情况,例如接近边界的值和非规范数字,以确保算法的数值一致性。生成不同维度或复杂度的信号与整数、浮点或定点数据类型的组合。 

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

最新功能

定点工具

基于定点工具中的多个模拟场景推荐数据类型

恢复点

将模型恢复到原始设计

查找表优化

允许优化查找表中出现曲线外的表值

数据类型优化

指定多个仿真场景以优化数据类型

有限精度机器学习

基于经过训练的 SVM 模型量化并生成定点 C/C++ 代码

测试位模式

生成仿真输入,以测试设计中的完整运算位范围

半精度数据类型

在 MATLAB 中设计并仿真半精度系统

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

获取免费试用版

30 天探索触手可及。

马上下载

准备购买?

获取详细价格和并探索相关产品。

您是学生吗?

获得 MATLAB 和 Simulink 学生版软件。

了解更多