entity address_decoder is
PORT(address : in STD_LOGIC_VECTOR ( 0 to 3 );
decoded_address : out integer range 0 to 15);
end address_decoder;
architecture dataflow of address_decoder is
begin
PROCESS(address)
begin
if address = "0000" then decoded_address <= '0';
elsif address = "0001" then decoded_address <= '1';
elsif address = "0010" then decoded_address <= '2';
elsif address = "0011" then decoded_address <= '3';
elsif address = "0100" then decoded_address <= '4';
Это ошибка, которая приходит
ОШИБКА: HDLParsers: 800 Тип decoded_address несовместим с типом «0». ОШИБКА: HDLParsers: 800 Тип decoded_address несовместим с типом «1». ОШИБКА: HDLParsers: 800 Тип decoded_address несовместим с типом «2». ОШИБКА: HDLParsers: 800 Тип decoded_address несовместим с типом «3». ОШИБКА: HDLParsers: 800 Тип decoded_address несовместим с типом «4».
Это потому, что адрес и decoded_address являются двумя разными типами данных? Любая идея о том, как избавиться от этой ошибки?
decoded_address <= to_integer(unsigned(address));
Так что, если ваш компонент теперь имеет только одну строку кода, вы должны сэкономить ее. - person Paebbels   schedule 31.12.2014