vhdl 하위 유형을 활성 HDL 유형으로 변환
-
21-12-2019 - |
문제
나는 여러 하위 유형과 유형을 선언하는 pakcgae를 가지고 있습니다.Active HDL에서는 하위 유형을 포트로 만들려고 할 때마다 문제가 있는 것 같은데, 대신 유형으로 변환할 수 있는 방법이 있는지 궁금합니다.다음은 변환하고 싶은 하위 유형입니다.
하위 유형 word_t는 std_logic_Vector(15에서 0까지)입니다.-- 단어(정의)
레코드나 배열인 유형을 생성하지 않고도 이것이 가능합니까?감사해요
해결책
직접 생성하는 것이 가능하다고 생각하지 마십시오. type
다른 것을 기반으로 subtype
, 하지만 subtype
그것은 다음과 같이 할 수 있습니다:
type word_t is array (15 downto 0) of std_logic;
그러나 새로운 생성 type
VHDL의 하드 유형 특성으로 인해 포트 사용이 번거로워집니다.
대체 해결 방법은 다음을 수행하는 것입니다. subtype
범위는 다음과 같습니다. word_t
, 좋다:
subtype word_range_t is natural range 15 downto 0;
그런 다음 그걸 사용해 subtype
~와 함께 std_logic_vector
에서 port
다음과 같은 선언:
... std_logic_vector(word_range_t);
그러면 포트는 여전히 다음과 호환됩니다. std_logic_vector
, 단어의 크기는 여전히 쉽게 유지 관리할 수 있습니다.
제휴하지 않습니다 StackOverflow