VHDL中的幂函数

use*_*892 3 vhdl modelsim

我想使用vhdl的幂函数,其中幂是浮点数,数字是整数(将始终为“ 2”)。

2 ^一些浮​​点数。

我使用ieee库和(fixed_float_types.all,fixed_pkg.all和float_pkg.all)。

我曾想过计算所有可能的输出并将它们保存在ROM中,但我不知道功率范围。

如何实现此功能,以及是否有任何类似的实现功能在哪里可以找到?

谢谢

Bri*_*ond 5

为了进行仿真,您可以在IEEE.math_real库中找到合适的幂函数

library IEEE;
use IEEE.math_real.all;
...
X <= 2 ** Y;
or
X <= 2.0 ** Y;
Run Code Online (Sandbox Code Playgroud)

这可能是不可综合的。如果我需要类似的操作进行综合,则可以使用值,斜率和二阶导数的查找表以及二次插值器。我已经对倒数和平方根函数使用了这种方法,以达到单精度精度。在合理的n范围内2 ** n足够平滑,以至于相同的方法应该起作用。