문제

나는 여러 하위 유형과 유형을 선언하는 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, 단어의 크기는 여전히 쉽게 유지 관리할 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top