Сообщаете std_logic_vector как целое число без знака в ISim?
Вот библиотеки, которые я использую:
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
1 ответ
Ошибки, содержащие metavalue detected
означает, что вы передали параметр (в данном случае unsigned(CountTemp)
) которые содержат биты с состояниями, отличными от 0
или же 1
,
Попробуйте инициализировать ваш счетчик:
signal CountTemp : std_logic_vector(15 downto 0) := (others => '0');
Поскольку без этого значение CountTemp будет "UUUUUUUUUUUUUUUU"
т. е. метазначение.
В качестве альтернативы, убедитесь, что вы присвоили что-то своему сигналу, прежде чем передать его to_integer
,