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 유형이 '1'유형과 호환되지 않습니다. 오류 : HDLParsers : 800 decoded_address 유형이 '2'유형과 호환되지 않습니다. 오류 : HDLParsers : 800 decoded_address 유형이 '3'유형과 호환되지 않습니다. 오류 : HDLParsers : 800 decoded_address 유형이 '4'유형과 호환되지 않습니다.HDLParsers : HDLParsers : decoded_address 800 유형 0 '의 형식과 호환되지 않는 "**"800 유형 "**"이</p> <p>오류를 오는 오류가
주소와 디코딩 된 주소가 서로 다른 두 가지 데이터 유형입니까? 이 오류를 제거하는 방법에 대한 아이디어가 있습니까?
이없는 주소 때문에입니다 및 decoded_address는 다른 유형입니다. 왜냐하면 decoding_address와 '1', '2', '3'및 '4'가 서로 다른 유형이기 때문입니다. 문자를 정수 신호에 할당하려고합니다. – mfro
'0', '1', '2', '3'및 '4'에서 작은 따옴표를 제거하십시오. decoded_address 유형은 문자 리터럴을 할당하려고하는 정수입니다. 대신 numerated_address의 범위 제약 조건과 호환되는 숫자 리터럴을 할당하십시오. 일반적으로 XST 이전의 ISIM 또는 Modelsim에서 설계 사양을 분석하는 것이 좋으며, 오류 메시지가이 경우 명확하지 않을 수 있습니다. – user1155120
@DavidKoontz : 귀하의 의견은 질문에서 정확한 문제를 다루기 때문에 의견 대신 답변으로 게시하는 것이 좋지 않으므로 다른 사람들이 질문에 답변이 있음을 알게되고 제대로 닫힐 수 있습니다. ? –