将std_logic_vector INPUT转换为IEEE Float类型

时间:2013-10-06 19:56:38

标签: vhdl xilinx hdl intel-fpga

如何转换我的实体的std_logic_vector INPUT 在IEEE Float类型中,在我的进程中做一些操作? 我的实体需要接收IEEE Float of A / D转换器。

2 个答案:

答案 0 :(得分:1)

VHDL默认情况下没有float类型 - 它具有real,这是不可合成的。

然而,IEEE标准化VHDL floating-point types是完全可合成的。

您必须首先将std_logic_vector转换为unsignedsigned向量,然后转换为合适的浮点类型,不必是IEEE-754定义的型

答案 1 :(得分:-1)

VHDL的浮点类型(实数)不可合成(可能除了一些非常专业的工具),所以如果你有一个IEEE浮点形式的输入std_logic_vector,你将不得不提取和处理所需的数据字段(符号,指数, mantissa)你自己(或者使用一个为你做这件事的库,知道这将消耗大量的硬件资源)。

就个人而言,如果可能的话,我会避免使用浮点数,而是坚持使用固定点。