std_logic_vector
我需要对存储为信号的 IEEE 754 浮点数进行操作。
例如:
signal a, b, ans : std_logic_vector( 63 downto 0 );
..
ans <= std_logic_vector(to_float(a) + to_float(b));
我怎样才能做到这一点?(我想我需要在转换过程中的某处定义位数?) 编辑:代码是可合成的,但我收到警告。代码:
variable tempfloat1, tempfloat2, tempfloat3 : float32;
..
tempfloat1 := to_float(s_do_ssc2wb, exponent_width => 8, fraction_width => 23 );
tempfloat2 := to_float(s_do_wb2ssc, exponent_width => 8, fraction_width => 23 );
tempfloat3 := tempfloat1 + tempfloat2;
警告:
"float_pkg_c.vhdl" line 1515: VHDL Assertion Statement with non constant condition is ignored.
"float_pkg_c.vhdl" line 1600: Index value(s) does not match array range, simulation mismatch.
我想知道它的正确语法是什么......“添加”函数不接受用户指南中示例中的参数。