我有一个2 D矩阵,其中每个元素应该是64位std_logic_vector。
现在我想将某些值存储到矩阵中,如下面所示。我怎么做? 例如:
type a is array (0 to 10,0 to 10) of std_logic_vector(63 downto 0);
signal a1: a;
a1(0,0) <= std_logic_vector( to_float64(12.23) );
基本上我不知道如何将float64转换为std_logic_vector。
我正在使用ieee_proposed中的float_pkg库。
答案 0 :(得分:4)
为什么不这样做:
type aftype is array (0 to 10,0 to 10) of float64;
signal af: aftype;
然后没有转换。
就转化而言,to_float
函数需要一种类型来了解如何格式化real
输入:
signal f : float64;
f <= to_float(12.34, f);
-- or
af(0,0) <= to_float(12.34,f);
如果您必须拥有std_logic_vector,则可以使用包中的to_std_logic_vector
(别名为to_slv
):
a1(0,0) <= to_slv(to_float(12.34,f));