检测溢出
此示例显示了如何使用定点转换器应用程序。在转换过程中的数值测试阶段,您选择使用缩放双打模拟定点代码。然后,该应用程序报告生成的代码中的哪些表达式产生溢出固定点数据类型的值。
先决条件
此示例需要以下产品:s manbetx 845
MATLAB®
定点Designer™
C编译器
您可以使用
mex -setup
更改默认编译器。看更改默认编译器。
创建一个新文件夹并复制相关文件
创建一个本地工作文件夹,例如
Cover Flow功能
。更改为
DocRoot \ Toolbox \ fixpoint \示例
文件夹。在MATLAB命令行,输入:CD(FullFile(DocRoot,“工具箱”,“ FixPoint”,“示例”))
复制
溢出
和Overflow_test.m
文件到您本地的工作文件夹。最好的做法是创建一个单独的测试脚本来进行预处理和后处理,例如:
加载输入。
设置输入值。
输出测试结果。
有关更多信息,请参阅创建一个测试文件。
类型 姓名 描述 功能代码 溢出
入口点MATLAB功能 测试文件 Overflow_test.m
测试MATLAB脚本 溢出
打开定点转换器应用程序
导航到包含此示例文件的工作文件夹。
在MATLAB工具条上应用标签,下代码生成,单击应用程序图标。
选择源文件
添加入口点功能
溢出
到该项目,浏览到文件溢出
,然后单击打开。默认情况下,该应用程序将该项目的信息和设置保存在当前文件夹中的文件中Overflow.prj
。点击下一个去定义输入类型步。
应用屏幕
溢出
违反代码和固定点转换准备就绪问题。该应用找不到问题溢出
。
定义输入类型
在定义输入类型页面,添加
Overflow_test
作为测试文件,浏览到Overflow_test.m
,然后单击打开。点击Autodefine输入类型。
测试文件运行。该应用从测试文件确定输入类型
b
是双(1x12)
,,,,X
是双(256x1)
, 和重置
是逻辑(1x1)
。点击下一个去转换为固定点步。
转换为固定点
该应用程序为您的入口点MATLAB功能生成仪器MEX功能。该应用程序显示了代码中变量的编译信息 - 类型,大小和复杂性。有关更多信息,请参阅查看和修改变量信息。
在功能更换选项卡该应用显示为定点转换不支持的函数。万博1manbetx看运行模拟。
要查看fimath设置,请单击设置箭。设置fimath产品模式和总和模式至
keeplsb
。这些设置在C语言中建模整数操作的行为。点击分析。
测试文件,
Overflow_test
,运行。该应用显示模拟最小和最大范围变量标签。使用仿真范围数据,该软件根据默认类型提案设置为每个变量提出了定点类型,并将其显示在建议的类型柱子。要将浮点算法转换为固定点,请单击兑换。
该软件验证了建议的类型并生成了入口点函数的定点版本。
如果在验证期间发生错误和警告,则该应用将它们显示在输出标签。看验证类型。
测试数字并检查溢出
点击测试箭。验证测试文件是
Overflow_test.m
。选择使用缩放双打检测溢出,然后单击测试。该应用程序运行用于定义输入类型的测试文件以测试定点MATLAB代码。因为您选择检测溢出,所以它还使用建议的定点类型的缩放双版本运行模拟。缩放的双打将其数据存储在双精度的浮点上,因此它们在全范围内执行算术。由于他们保留了定点设置,因此可以报告计算范围范围内的固定点类型的范围。
模拟运行。该应用检测到溢出。该应用报告在溢出标签。要突出显示溢出的表达,请单击溢出。
确定是溢出的总和还是乘法。
在里面fimath设置,设置产品模式至
完整的准则
,然后重复转换并再次测试定点代码。溢出仍然发生,表明表达式中的添加是溢出的。