主要内容

Divide by Constant HDL Optimized

将输入除以常量并舍入到整数并生成优化的 HDL 代码

自 R2021a 起

  • Divide by Constant HDL Optimized block

库:
Fixed-Point Designer HDL Support / Math Operations

描述

Divide by Constant HDL Optimized 模块使用具有周期精确延迟的 HDL 优化架构,输出输入除以一个常量的结果,并使用指定的舍入方法将结果舍入为整数。

Divide by Constant HDL Optimized 模块使用的算法在功能上类似于 Granlund-Montgomery-Warren 方法。除法运算是通过与倒数相乘计算的,这通常有助于在嵌入式系统上实现更好的性能。

端口

输入

全部展开

被除数,指定为实数标量。

定点数据类型不支持斜率偏置表示。

数据类型: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32 | Boolean | fixed point

输入是否有效,指定为布尔标量。此控制信号指示来自 X 输入端口的数据是否有效。当此值为 1 (true) 时,此模块捕获 X 输入端口上的值。当此值为 0 (false) 时,模块忽略输入样本。

数据类型: Boolean

输出

全部展开

除法和舍入运算的结果,以标量形式返回。

数据类型: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32 | Boolean | fixed point

指示输出数据是否有效,以布尔标量形式返回。当此控制信号的值为 1 (true) 时,模块已成功计算输出 Y。当此值为 0 (false) 时,输出数据无效。

数据类型: Boolean

参数

全部展开

除数,指定为正实数值有限标量。

编程用法

模块参数Denominator
类型:字符向量
值:计算结果为正实数值有限定点或数值的 MATLAB® 表达式
数据类型:single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point
默认值:'10'

要使用的舍入方法,指定为以下值之一:

  • 向下 - 朝负无穷方向舍入到最接近的整数。

  • 向上 - 向正无穷方向舍入到最接近的整数。

  • 最邻近值 - 舍入到最接近的整数。结值向正无穷方向舍入到最接近的整数。

  • - 向零方向舍入到最接近的整数。

  • 收敛 - 舍入到最接近的整数。结值舍入到最接近的偶数。

编程用法

模块参数RndMeth
类型:字符向量
值: 'Floor' | 'Ceiling' | 'Nearest' | 'Zero' | 'Convergent'
默认值:'Floor'

提示

模块 Divide by Constant HDL OptimizedReal Divide HDL OptimizedComplex Divide HDL Optimized 都执行除法运算并生成优化的 HDL 代码。

  • Real Divide HDL OptimizedComplex Divide HDL Optimized 基于 CORIDC 算法。这些模块接受各种各样的输入,但会导致更大的延迟。

  • Divide by Constant HDL Optimized 只接受实数输入和常量除数。使用此模块会消耗 DSP 片,但会以更少的周期和更高的时钟频率完成除法运算。

算法

全部展开

扩展功能

全部展开

版本历史记录

在 R2021a 中推出