VHDL의 모든 버전에서, 어쩌면 2008 년에 유형을 선언하기 전에 사용할 수 있습니까?VHDL (2008)로 선언하기 전에 유형을 사용하십시오.
예. 나는 기업의 건축이 배열 선언이 : 동일한 아키텍처 섹션에서 여전히
type my_array is array (integer range <>) of my_type;
그리고, 그러나 나중에 파일에 나는이 있습니다
type my_type is record
my_field: signed(31 downto 0);
end record;
지금이에서 다음과 같은 오류를 제공을 Vivado :
[신디 8-1031] my_type 선언되지
물론 해결책은 배열 선언 위에 레코드 선언을 옮기는 것입니다. 그러나 이것은 매우 복잡하고 지저분 해져 유형의 수가 증가합니다 (기본적으로 유형을 종속성을 고려하여 토폴로지별로 정렬해야하기 때문에).
저는 모든 주요 프로그래밍 언어에서 지원되므로 어쩌면 VHDL로 존재할 수도 있습니다. 나는 또한 이것에 대해 VHDL 2008에 추가되었지만 VHDL 2008에 대한 나의 빠른 테스트에 대한 어떠한 자원도 찾을 수 없다는 것을 모호하게 읽었습니다.
형식이 동일한 아키텍처, 같은 파일이지만 아래 몇 줄에 여전히 선언되어 있으므로 VHDL 형식을 선언하기 전에 사용할 수 있습니까?
VHDL-2008의 일반 유형이 도움이 될 수 있습니다. –
흠. 제네릭은 복잡한 종속성 관계를 단순화하는 데 도움이 될 수 있지만 일반적으로 문제가 쉽게 발생하지는 않습니다 (이제는 제네릭을 별도로 연결하는 것에주의해야하므로 코드를 읽거나 반복하기가 더 어려워 질 수 있습니다). – Piedone