这是我使用的图书馆:
library IEEE;
use IEEE.STD_LOGIC_1164.all;
use IEEE.NUMERIC_STD.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
信号:
signal CountTemp : std_logic_vector(15 downto 0);
和报告声明:
report "Actual CountTemp: " & integer'image(to_integer(unsigned(CountTemp)));
我收到了这个错误:
at 30 ns, Instance /TESTFILE_tb/ : Warning: NUMERIC_STD.TO_INTEGER: metavalue detected, returning 0
答案 0 :(得分:1)
包含metavalue detected
的错误意味着您传入了一个参数(在本例中为unsigned(CountTemp)
),该参数包含状态不是0
或1
的位。
尝试初始化您的计数器:
signal CountTemp : std_logic_vector(15 downto 0) := (others => '0');
由于没有这个,CountTemp的值将是"UUUUUUUUUUUUUUUU"
,即元值。
或者,在将信号传递给to_integer
之前,请确保您已为信号指定了一些内容。