如何转换我的实体的std_logic_vector INPUT 在IEEE Float类型中,在我的进程中做一些操作? 我的实体需要接收IEEE Float of A / D转换器。
答案 0 :(得分:1)
VHDL默认情况下没有float
类型 - 它具有real
,这是不可合成的。
然而,IEEE标准化VHDL floating-point types是完全可合成的。
您必须首先将std_logic_vector
转换为unsigned
或signed
向量,然后转换为合适的浮点类型,不必是IEEE-754定义的型
答案 1 :(得分:-1)
VHDL的浮点类型(实数)不可合成(可能除了一些非常专业的工具),所以如果你有一个IEEE浮点形式的输入std_logic_vector,你将不得不提取和处理所需的数据字段(符号,指数, mantissa)你自己(或者使用一个为你做这件事的库,知道这将消耗大量的硬件资源)。
就个人而言,如果可能的话,我会避免使用浮点数,而是坚持使用固定点。