计算平方根,有符号的平方根,或平方根的倒数
金宝app模拟/数学运算
HDL编码器/HDL浮点运算
HDL编码器/数学运算
这个Sqrt块计算输入信号的平方根、带符号的平方根或平方根的倒数。中选择下列函数之一作用参数列表。
作用 | 描述 | 数学表达式 | MATLAB®等效 |
---|---|---|---|
sqrt |
输入的平方根 |
|
sqrt |
signedSqrt |
输入绝对值的平方根,乘以输入符号 |
|
— |
rSqrt |
输入平方根的倒数 |
|
— |
块图标将更改以匹配功能。
Port_1
- - - - - -输入信号向块输入信号以计算平方根、有符号平方根或平方根倒数。这个sqrt
函数接受实的或复杂的输入,除了复杂的定点信号。signedSqrt
和rSqrt
不要接受复杂的输入。对于signedSqrt
函数时,输入信号必须是浮点数。
此表总结了对的浮点、整型和定点数据类型的复杂类型和负金宝app值的支持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
作用
方法 | 支持的数据类型金宝app | 何时使用此方法 |
---|---|---|
确切的 |
浮点数 |
你不想要一个近似。 笔记 输入或输出必须是浮点数。 |
牛顿法 |
浮点、定点和内置整数类型 |
你需要一个快速的,近似的计算。 |
这个确切的
该方法提供的结果与MATLAB计算结果一致。
笔记
的算法sqrt
和signedSqrt
你总是确切的
键入,无论“块”对话框上显示什么选择。
块参数:AlgorithmType |
类型:字符向量 |
价值观:“准确” |“牛顿·拉弗森” |
违约:“准确” |
迭代次数
-用于Newton-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
上主要的窗格。
该类型可以继承、直接指定或表示为数据类型对象,例如金宝app仿真软件。NumericType
.
请遵循以下指导原则为平方根函数显式设置中间数据类型,sqrt
:
输入和输出数据类型 | 中间数据类型 |
---|---|
输入或输出是双精度的。 | 使用双。 |
输入或输出是单一的,任何非单一的数据类型都是单一的不翻倍。 | 使用单或双。 |
输入和输出都是定点的。 | 利用不动点。 |
遵循以下指南明确设置倒数平方根函数的中间数据类型,rSqrt
:
输入和输出数据类型 | 中间数据类型 |
---|---|
输入是双精度的,输出不是单精度的。 | 使用双。 |
输入不是单输入,输出是双输出。 | 使用双。 |
输入和输出都是定点的。 | 利用不动点。 |
谨慎
不设置中间结果数据类型来继承:从输出继承
当:
你选择牛顿法
计算平方根的倒数。
输入数据类型为浮点型。
输出数据类型为定点。
在这些条件下,选择继承:从输出继承
产生次优性能并产生错误。
要避免此错误,请将输入信号从浮点数据类型转换为定点数据类型数据类型转换用于执行转换的Sqrt块前面的块。
当作用参数设置为signedSqrt
.
块参数:中间结果数据类型STR |
类型:字符向量 |
价值观:'继承:通过内部规则继承' |“继承:从输入继承” |'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)
|<数据类型表达式>
| ...指定输出数据类型。该类型可以继承、直接指定或表示为数据类型对象,例如金宝app仿真软件。NumericType
.
块参数: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输出范围的较低值金宝app®检查为有限的实的双精度的标量值。
笔记
如果指定总线对象作为此块的数据类型,则不要在该块上设置总线数据的最小值。金宝appSimulink忽略此设置。相反,设置指定为数据类型的总线对象的总线元素的最小值。有关总线元素的最小参数的信息,请参见金宝app仿真软件。BusElement
.
金宝appSimulink使用最小值执行以下操作:
参数范围检查(参见指定块参数的最小值和最大值)在一些街区。
定点数据类型的自动缩放。
优化您从模型生成的代码。这种优化可以删除算法代码,并影响某些模拟模式(如SIL或外部模式)的结果。有关更多信息,请参见使用指定的最小值和最大值进行优化(嵌入式编码器).
笔记
最小输出不饱和或剪裁实际输出信号。使用饱和块来代替。
块参数:奥特明 |
类型:字符向量 |
价值观:标量 |
违约:“[]” |
最大
-范围检查的最大输出值[]
(默认)|标量将Simulink检查的输出范围的上限值指定为有限、实数、双精度标量值。金宝app
笔记
如果指定总线对象作为此块的数据类型,请不要设置块上总线数据的最大值。Simulink忽略此设置。相反,设置指定为数据类型的总线对象的总线元素的最大值。有关总线元件的最大参数的信息,请参阅金宝app金宝app仿真软件。BusElement
.
金宝appSimulink使用最大值执行以下操作:
参数范围检查(参见指定块参数的最小值和最大值)在一些街区。
定点数据类型的自动缩放。
优化您从模型生成的代码。这种优化可以删除算法代码,并影响某些模拟模式(如SIL或外部模式)的结果。有关更多信息,请参见使用指定的最小值和最大值进行优化(嵌入式编码器).
笔记
输出最大不饱和或剪裁实际输出信号。使用饱和块来代替。
块参数:奥特马克斯 |
类型:字符向量 |
价值观:标量 |
违约:“[]” |
整数舍入模式
-定点操作舍入模式地板上
(默认)|天花板
|会聚性的
|最近的
|圆形的
|简单的
|零
指定定点操作的舍入模式。有关更多信息,请参见四舍五入(定点设计师).
块参数:RndMeth |
类型:特征向量 |
价值观:“天花板”|“收敛”|“地板”|“最近”|“圆形”|“最简单”|“零” |
违约:“地板” |
根据定点工具的更改锁定输出数据类型设置
-防止定点工具覆盖数据类型关
(默认)|在…上
选择此选项可锁定此块的输出数据类型设置,以防定点工具和定点顾问进行更改。有关更多信息,请参阅使用锁定输出数据类型设置(定点设计师).
块参数:磅秤 |
类型:字符向量 |
价值观:“关闭” |“开” |
违约:“关闭” |
整数溢出饱和
-选择发生整数溢出时的行为关
(默认)|在…上
行动 | 采取这一行动的理由 | 溢出会发生什么 | 实例 |
---|---|---|---|
选中此复选框。 |
您的模型可能存在溢出,并且您希望在生成的代码中提供显式的饱和保护。 |
溢出饱和到数据类型可以表示的最小值或最大值。 |
的最大值 |
不要选中此复选框。 |
您希望优化生成代码的效率。 您希望避免过度指定块如何处理超出范围的信号。有关更多信息,请参见故障排除信号范围错误. |
溢出将换行为可由数据类型表示的适当值。 |
的最大值 |
当您选中此复选框时,饱和度将应用于块上的每个内部操作,而不仅仅是输出或结果。通常,当不可能溢出时,代码生成过程可以检测到。在这种情况下,代码生成器不会产生饱和代码。
块参数:剂量 |
类型:字符向量 |
价值:“关闭” |“开” |
违约:“关闭” |
数据类型 |
|
直接馈通 |
|
多维信号 |
|
适应信号 |
|
过零检测 |
|
HDL编码器™ 提供影响HDL实现和合成逻辑的其他配置选项。
为Sqrt阻挡作用着手sqrt
,代码生成器支持各种架构和数据类型。金宝app
这个sqrtfunction
体系结构支持定点类型和浮点金宝app类型的代码生成。当您使用浮点类型时,设置浮点IP库(HDL编码器)来本机浮点
。您可以指定LatencyStrategy和自定义延迟HDL属性,用于在硬件平台上针对您的设计时从一系列频率值中进行选择。
使用使用乘数结合HDL块属性LatencyStrategy和自定义延迟属性指定是否使用流水线移位和加或乘算法计算平方根
对于此体系结构,您可以指定手足畸形和LatencyStrategy设置的本机浮点选项卡中的HDL块属性对话框。
体系结构 | 定点 | 本机浮点 | 手足畸形 | LatencyStrategy |
---|---|---|---|---|
sqrtfunction |
✓ | ✓ | ✓ | ✓ |
sqrtnewton |
✓ | — | — | — |
sqrtnewtonsinglerate |
✓ | — | — | — |
牛顿 |
✓ | — | — | — |
recipsqrtnewtonsinglerate |
✓ | — | — | — |
此块具有多周期实现,这些实现会在生成的代码中引入额外的延迟。若要查看添加的延迟,请查看生成的模型或验证模型。请参阅生成模型和验证模型(HDL编码器).
体系结构 | 参数 | 额外的延迟周期 | 描述 |
---|---|---|---|
SQRTF函数 (默认) |
|
取决于参数选择、输出字长以及输入和输出分数长度。 |
要指定此体系结构,请设置作用来 使用流水线移位/加法算法或基于乘法的算法来计算平方根。 这个 要查看延迟计算,请在MATLAB命令提示符处输入: HDLMathLib |
SqrtNewton |
迭代 |
迭代 + 3 |
要指定此体系结构,请设置作用来 使用迭代牛顿法。选择此选项以优化区域。 的默认值 的建议值 |
SqrtNewtonSingleRate |
迭代 |
(迭代 * 4) + 6 |
要指定此体系结构,请设置作用来 使用单速率流水线牛顿法。选择此选项以优化速度,或者如果您想要单速率实施。 的默认值 的建议值 |
牛顿 |
迭代 |
迭代 + 2 |
要指定此体系结构,请设置作用来 使用迭代牛顿法。选择此选项以优化区域。 |
RecipSqrtNewtonSingleRate |
迭代 |
(迭代 * 4) + 5 |
要指定此体系结构,请设置作用来 使用单速率流水线牛顿法。选择此选项以优化速度,或者如果您想要单速率实施。 |
一般 | |
---|---|
约束输出管道 | 通过移动设计中的现有延迟,在输出端放置的寄存器数量。分布式管道不会重新分配这些寄存器。默认值是 |
迭代 | 的迭代次数 |
输入管道 | 要插入生成代码的输入管道阶段的数目。分布式管道和受约束的输出管道可以移动这些寄存器。默认值是 |
OutputPipeline | 要在生成的代码中插入的输出管道阶段数。分布式流水线和受限输出流水线可以移动这些寄存器。默认值是 |
使用乘数 | 选择算法 |
LatencyStrategy | 指定是否将设计中的块映射到 |
自定义延迟 | 当LatencyStrategy被设置为 |
本机浮点 | |
---|---|
手足畸形 | 指定是否希望HDL编码器插入额外的逻辑来处理设计中的正常数字。非正数是指大小小于最小浮点数的数,可以在尾数中不带前导零表示。默认值是 |
输入必须是无符号标量值。
输出是一个定点标量值。
您单击了与此MATLAB命令对应的链接:
通过在MATLAB命令窗口中输入命令来运行命令。Web浏览器不支持MATLAB命令。金宝app
您还可以从以下列表中选择网站:
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家/地区网站未针对您所在地的访问进行优化。