计算平方根,有符号的平方根,或平方根的倒数
万博1manbetxSimulink / Math操作
HDL编码器/ HDL浮点操作
HDL编码器/数学操作
这SQRT.块计算输入信号的平方根、带符号的平方根或平方根的倒数。中选择下列函数之一功能参数列表。
功能 | 描述 | 数学表达式 | MATLAB®等效 |
---|---|---|---|
SQRT. |
输入的平方根 |
|
SQRT. |
signedSqrt |
输入的绝对值的方块,乘以输入的标志 |
|
- |
rSqrt |
输入的平方根的倒数 |
|
- |
块图标更改以匹配函数。
Port_1
- - - - - -输入信号输入信号到块以计算平方根,符号的平方根或平方根的往复式。这SQRT.
函数接受实的或复杂的输入,除了复杂的定点信号。signedSqrt
和rSqrt
不接受复杂的输入。输入信号必须是浮点数。
此表总结了对浮点,整数和固定点数据类型的复杂类型和负万博1manbetx值的支持SQRT.
那rSqrt
, 和signedSqrt
功能。
功能 | 数据类型 | 复杂的 | 负 | |
---|---|---|---|---|
输入 | 输出 | |||
SQRT. |
浮点 | 是的 | 是的 | 是的 |
整数和定点 | 不 | 不 | 不 | |
|
浮点 | 不 | 不 | 是的 |
整数和定点 | 不 | 不 | 不 | |
signedSqrt |
浮点 | 不 | 是的 | 是的 |
整数和定点 | 不 | 不 | 不 |
如果输入为负,请设置输出信号对所有函数进行复杂处理,除了signedSqrt
.
数据类型:单
|双
|一半
|INT8.
|int16
|int32
|int64
|uint8
|uint16
|uint32
|uint64
|固定点
Port_1
——输出信号输出信号是输入信号的平方根,带符号的平方根,或者平方根的倒数。当输入是整数或定点类型时,输出必须是浮点数。
数据类型:单
|双
|一半
|INT8.
|int16
|int32
|int64
|uint8
|uint16
|uint32
|uint64
|固定点
功能
- 函数块执行SQRT.
(默认)|signedSqrt
|rSqrt
指定块计算的数学函数。块图标改变以匹配您选择的功能。
功能 | 块图标 |
---|---|
SQRT. |
|
signedSqrt |
|
rSqrt |
当此参数设置为时signedSqrt
, 这中间结果数据类型参数被禁用。
块参数:操作符 |
类型:字符向量 |
价值:“√” |“signedSqrt” |“rSqrt” |
默认:“√” |
输出信号类型
-输出信号类型汽车
(默认)|真实的
|复杂的
指定块的输出信号类型。
功能 | 输入信号类型 | 输出信号类型 | ||
---|---|---|---|---|
汽车 | 真实的 | 复杂的 | ||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
块参数:OutputSignalType |
类型:字符向量 |
价值:'汽车' |“真实”的 |'复杂的' |
默认:'汽车' |
样品时间
—将采样时间指定为其他值-1
-1
(默认)|标量|向量将样本时间指定为-1以外的值。有关更多信息,请参阅指定采样时间.
除非将其明确设置为除此之外的值,否则此参数不可见。-1
.要了解更多信息,请参阅不建议使用采样时间的块.
块参数:采样时间 |
类型:特征向量 |
价值观:标量或矢量 |
默认:'-1' |
方法
- 计算平方根互易的方法确切的
(默认)|牛顿莱到
指定计算平方根的互易的方法。此参数仅对此有效rSqrt
功能。
方法 | 支持的数据类型万博1manbetx | 何时使用此方法 |
---|---|---|
确切的 |
浮点 |
你不想要一个近似。 笔记 输入或输出必须是浮点数。 |
牛顿莱到 |
浮点,固定点和内置整数类型 |
你需要一个快速的,近似的计算。 |
这确切的
方法提供与MATLAB计算一致的结果。
笔记
的算法SQRT.
和signedSqrt
的总是确切的
类型,无论在块对话框中出现什么选择。
块参数:AlgorithmType |
类型:字符向量 |
价值:“准确” |'牛顿 - 拉申' |
默认:“准确” |
迭代次数
- 用于牛顿Raphson算法的迭代次数3.
(默认)|整数指定执行Newton-Raphson算法的迭代次数。参数有效rSqrt
功能和牛顿莱到
值方法.
笔记
如果输入0,块输出就是牛顿-拉夫森算法的初始猜想。
块参数:迭代 |
类型:字符向量 |
价值:整数 |
默认:'3' |
单击显示数据类型助手按钮来显示数据类型的助理,它可帮助您设置数据类型属性。有关更多信息,请参阅使用数据类型助手指定数据类型.
中间结果数据类型
-中间结果的数据类型继承:通过内部规则继承
(默认)|继承:继承自输入
|Inherit:从输出继承
|双
|单
|INT8.
|uint8
|int16
|uint16
|int32
|uint32
|int64
|uint64
|Fixdt(1,16,0)
|fixdt(1, 16日2 ^ 0,0)
|<数据类型表达式>
设置时指定中间结果的数据类型功能来SQRT.
要么rSqrt
在这一点主要的窗格。
该类型可以直接遗传,指定,或表示为数据类型对象,例如万博1manbetx仿真软件。NumericType
.
笔记
为避免溢出,中间数据类型必须大于或等于可以包含输出数据类型的平方的数据类型。
请遵循以下指导原则为平方根函数显式设置中间数据类型,SQRT.
:
输入和输出数据类型 | 中间数据类型 |
---|---|
输入或输出是双倍的。 | 使用双。 |
输入或输出是单个,任何非单数据类型都是不翻倍。 | 使用单次或双倍。 |
输入和输出都是定点的。 | 利用不动点。 |
遵循这些指南,即明确为互酷方形根功能进行明确设置中间数据类型,rSqrt
:
输入和输出数据类型 | 中间数据类型 |
---|---|
输入是双精度的,输出不是单精度的。 | 使用双。 |
输入不是单输入,输出是双输出。 | 使用双。 |
输入和输出都是定点的。 | 利用不动点。 |
谨慎
不设置中间结果数据类型来继承:继承输出
当:
你选择牛顿莱到
计算平方根的倒数。
输入数据类型是浮点。
输出数据类型是固定点。
在这些条件下,选择继承:继承输出
产生次优的性能并产生错误。
为避免此错误,请将输入信号从浮点转换为固定点数据类型。例如,插入一个数据类型转换块在SQRT块前面执行转换。
当功能参数设置为signedSqrt
.
块参数:IntermediateResultsDataTypeStr |
类型:字符向量 |
价值:'继承:通过内部规则继承 |“继承:从输入继承” |'Inherit:从输出继承' |'双倍的' |“单一” 那“int8” 那'uint8' 那int16 那“uint16” 那“int32” 那“uint32” 那'int64' 那'uint64' 那fixdt (1 16 0) 那fixdt(1, 16日2 ^ 0,0) .'<数据类型表达式>' |
默认:'继承:通过内部规则继承 |
输出
-输出数据类型继承:与第一次输入相同
(默认)|继承:通过内部规则继承
|继承:通过反向传播继承
|双
|单
|一半
|INT8.
|int32
|uint32
|int64
|uint64
|fixdt(1, 16日2 ^ 0,0)
|<数据类型表达式>
|......指定输出数据类型。该类型可以直接遗传,指定,或表示为数据类型对象,例如万博1manbetx仿真软件。NumericType
.
当输入是小于single precision的浮点数据类型时,继承:通过内部规则继承
的设置决定输出数据类型继承小于单精度的浮点输出类型配置参数。当编码数据类型所需的位数小于编码单精度数据类型所需的32位时,数据类型小于单精度数据类型。例如,一半
和int16
小于单精度。
块参数:OutDataTypeStr |
类型:字符向量 |
价值:'继承:通过内部规则继承 |'继承:通过后部传播继承' |“继承:与第一次输入相同” |'双倍的' |“单一” |“一半” |“int8” |'uint8' |int16 |“uint16” |“int32” |“uint32” |'int64' |'uint64' |fixdt (1 16 0) |fixdt(1, 16日2 ^ 0,0) |fixdt(1, 16日2 ^ 0,0) |'<数据类型表达式>' |
默认:“继承:与第一次输入相同” |
最低限度
- 范围检查的最小输出值[]
(默认)|标量指定Simulink的输出范围的较低值万博1manbetx®检查为有限的实的双精度的标量值。
笔记
如果指定总线对象作为此块的数据类型,则不要在该块上设置总线数据的最小值。万博1manbetxSimulink忽略此设置。相反,设置指定为数据类型的总线对象的总线元素的最小值。有关总线元素的最小参数的信息,请参见万博1manbetx仿真软件。BusElement
.
万博1manbetxSimulink使用最小值来执行:
参数范围检查(参见指定块参数的最小值和最大值)对于一些块。
定点数据类型的自动缩放。
优化您从模型生成的代码。这种优化可以删除算法代码,并影响某些模拟模式(如SIL或外部模式)的结果。有关更多信息,请参阅使用指定的最小值和最大值进行优化(嵌入式编码).
笔记
输出最小值不饱和或夹住实际输出信号。使用饱和块来代替。
块参数:inumin. |
类型:字符向量 |
价值:标量 |
默认:“[]” |
最大
- 范围检查的最大输出值[]
(默认)|标量指定Simulink Check作为有限,实际,双,标量值的输出范围的上值。万博1manbetx
笔记
如果将总线对象指定为此块的数据类型,请不要在块上设置总线数据的最大值。万博1manbetxSimulink忽略此设置。相反,设置指定为数据类型的总线对象的总线元素的最大值。有关总线元素的最大参数的信息,请参阅万博1manbetx仿真软件。BusElement
.
万博1manbetxSimulink使用最大值来执行:
参数范围检查(参见指定块参数的最小值和最大值)对于一些块。
定点数据类型的自动缩放。
优化您从模型生成的代码。这种优化可以删除算法代码,并影响某些模拟模式(如SIL或外部模式)的结果。有关更多信息,请参阅使用指定的最小值和最大值进行优化(嵌入式编码).
笔记
输出最大不饱和或夹住实际输出信号。使用饱和块来代替。
块参数:outmax. |
类型:字符向量 |
价值:标量 |
默认:“[]” |
整数舍入模式
-定点操作舍入模式地板上
(默认)|天花板
|收敛
|最近
|圆形的
|简单的
|零
指定定点操作的舍入模式。有关更多信息,请参阅四舍五入(定点设计师).
块参数:rndmeth. |
类型:特征向量 |
价值观:'天花板'|'收敛'|'地板'|'最近'|'圆'|'最简单'|'零' |
默认:'地面' |
锁定输出数据类型设置根据固定点工具的更改
- 防止定点工具覆盖数据类型离开
(默认)|在
选择锁定此块的输出数据类型设置,以防止定点工具和固定点顾问的更改。有关更多信息,请参阅使用锁定输出数据类型设置(定点设计师).
块参数:lockscale. |
类型:字符向量 |
价值:“关闭” |'在' |
默认:“关闭” |
整数溢出饱和
- 选择Integer溢出时的行为离开
(默认)|在
行动 | 采取这一行动的理由 | 溢出会发生什么 | 例子 |
---|---|---|---|
选中此复选框。 |
您的模型具有可能的溢出,并且您希望在生成的代码中进行显式饱和保护。 |
溢出到数据类型可以表示的最小值或最大值。 |
的最大值 |
不要选中此复选框。 |
您希望优化生成代码的效率。 您希望避免过度指定块如何处理超出范围的信号。有关更多信息,请参阅排除信号范围错误. |
溢出到可由数据类型表示的适当值。 |
的最大值 |
当您选中此复选框时,饱和度将应用于块上的每个内部操作,而不仅仅是输出或结果。通常,当不可能溢出时,代码生成过程可以检测到。在这种情况下,代码生成器不会产生饱和代码。
块参数:杜索尔 |
类型:字符向量 |
价值:“关闭” |'在' |
默认:“关闭” |
数据类型 |
|
直接喂养 |
|
多维信号 |
|
适应信号 |
|
零交叉检测 |
|
HDL Coder™提供了影响HDL实现和合成逻辑的其他配置选项。
为SQRT.块功能设置SQRT.
,代码生成器支持各种架构和数据类型。万博1manbetx
这sqrtfunction
体系结构支持定点类型和浮点万博1manbetx类型的代码生成。当您使用浮点类型时,设置浮点IP库(HDL编码器)来本地浮点
.您可以指定LatencyStrategy和CustomLatency.HDL属性可在硬件平台上针对设计时从一系列频率值中进行选择。
使用UseMightier结合HDL块属性LatencyStrategy和CustomLatency.属性指定是否使用流水线移位和加或乘算法计算平方根
对于此体系结构,您可以指定扶手和LatencyStrategy设置的本地浮点选项卡中的HDL块属性对话框。
体系结构 | 定点 | 本土浮点 | 扶手 | LatencyStrategy |
---|---|---|---|---|
sqrtfunction |
✓ | ✓ | ✓ | ✓ |
sqrtnewton |
✓ | - | - | - |
sqrtnewtonsinglerate |
✓ | - | - | - |
Recripsqrtnewton. |
✓ | - | - | - |
Recripsqrtnewtonsinglerate. |
✓ | - | - | - |
该块具有多循环实现,可在生成的代码中引入额外的延迟。要查看添加的延迟,请查看生成的模型或验证模型。看生成的模型和验证模型(HDL编码器).
体系结构 | 范围 | 额外的延迟周期 | 描述 |
---|---|---|---|
sqrtfunction. (默认) |
|
取决于参数选择、输出字长以及输入和输出分数长度。 |
指定此架构,设置功能来 使用流水线移位/加法算法或基于乘法的算法来计算平方根。 这 要查看延迟计算,请在MATLAB命令提示符处输入: HDLMathLib 通过设置改善设计频率并降低资源利用UseMightier来 |
SqrtNewton |
迭代 |
迭代 + 3 |
指定此架构,设置功能来 使用迭代牛顿方法。选择此选项以优化区域。 默认值 推荐的价值 |
sqrtnewtonsinglerate. |
迭代 |
(迭代 * 4)+ 6 |
指定此架构,设置功能来 使用单速流水线牛顿方法。选择此选项以优化速度,或者是否希望单次实现。 默认值 推荐的价值 |
Recripsqrtnewton. |
迭代 |
迭代 + 2 |
指定此架构,设置功能来 使用迭代牛顿方法。选择此选项以优化区域。 |
RecipSqrtNewtonSingleRate |
迭代 |
(迭代 * 4)+ 5 |
指定此架构,设置功能来 使用单速流水线牛顿方法。选择此选项以优化速度,或者是否希望单次实现。 |
牛顿 - 拉赛迭代方法:
ReciprocalRsqrtBasedNewton
和ReciprocalRsqrtBasedNewtonSingleRate
实现牛顿Raphson方法:
一般 | |
---|---|
ConstrainedOutputPipeline | 通过在您的设计中移动现有延迟,在输出处放置寄存器数。分布式流水线不会重新分配这些寄存器。默认为 |
迭代 | 的迭代次数 |
InputPipeline. | 要插入生成代码的输入管道阶段的数目。分布式管道和受约束的输出管道可以移动这些寄存器。默认为 |
OutputPipeline | 输出流水线阶段以生成的代码插入。分布式管道和受约束的输出管道可以移动这些寄存器。默认为 |
UseMightier | 选择算法 通过设置属性来增加设计频率并减少资源利用率UseMightier来 |
LatencyStrategy | 指定是否将块映射到您的设计中 通过设置属性来增加设计频率并减少资源利用率UseMightier来 |
CustomLatency. | 当LatencyStrategy被设置为 |
本地浮点 | |
---|---|
扶手 | 指定是否希望HDL编码器插入额外的逻辑来处理设计中的正常数字。非正数是指大小小于最小浮点数的数,可以在尾数中不带前导零表示。默认为 |
输入必须是无符号的标量值。
输出是一个固定点标量值。
您单击了与此MATLAB命令对应的链接:
通过在MATLAB命令窗口中输入命令来运行命令。Web浏览器不支持MATLAB命令。万博1manbetx
您还可以从以下列表中选择一个网站:
选择中国网站(以中文或英文)以获取最佳网站性能。其他MathWorks国家网站未优化您的位置。