以下是我正在使用的图书馆:
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
发布于 2015-08-06 22:10:54
包含metavalue detected
的错误意味着您传入了一个参数(在本例中为unsigned(CountTemp)
),该参数包含的位的状态不是0
或1
。
尝试初始化您的计数器:
signal CountTemp : std_logic_vector(15 downto 0) := (others => '0');
因为如果没有这个,CountTemp的值将是"UUUUUUUUUUUUUUUU"
,即一个元值。
或者,在将信号传递给to_integer
之前,请确保已将某些内容分配给信号。
https://stackoverflow.com/questions/31857486
复制相似问题