在 VHDL 中将浮点数和整数文字相乘

Multiplying float and integer literals in VHDL

我正在使用 VHDL-2002,尝试通过以下方式声明常量

constant CORDIC_SCALE_FACTOR    :   integer := 0.607252935*(2**COORDS_WIDTH);

其中 COORDS_WIDTH 是先前定义的泛型。但是,由于类型的原因,我无法执行此乘法。我想做的是将 2**COORDS_WIDTH 转换为浮点类型,然后将结果转换为整数值(假设转换将采用浮点数的实部并将其分配给整数)。我怎样才能做到这一点?我在网上找到了处理这种类型转换的资源,但没有找到关于文字的资源,这应该更容易。

找到解决方案,非常简单。 'float' 类型被命名为 'real'

constant CORDIC_SCALE_FACTOR    :   integer := integer(0.607252935*real(2**COORDS_WIDTH));