Fixed-Point Designer

 

Fixed-Point Designer

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

开始:

数据类型探索

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

定点规格

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

某个定点数据类型及其属性。

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

浮点仿真

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

仪表化和可视化

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

将信号范围可视化。

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

推导范围分析

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

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

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

自动确定数据类型

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

定点量化

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

定点工具。

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

浮点量化

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

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

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

数据类型优化

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

嵌入式实现

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

函数逼近和查找表压缩

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

生成位真代码

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

位真仿真。

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

HDL 优化矩阵模块

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

复矩阵突发 QR 分解模块。

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

测试和调试

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

溢出和精度损失检测

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

检测和调试溢出。

跟踪溢出的根本原因。    

测试数值边缘情形

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

数据生成器 API。

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