VHDL에는 대체 이름을 명명 된 개체와 연결하는 메커니즘이 있습니다.
참조 IEEE 표준 1076에서 2008 사이 6.6 별칭 선언, 일반 6.6.1 파라 1 :
별칭 선언은 기존 개체 명에 대한 대체 이름을 선언한다.
개체 별칭에 대한 규칙은 6.6.2 개체 별칭에 있습니다. 여기서는 생성 문 할당 문 대상에 대한 색인을 생성 할 수있는 이름 (8.4 색인 이름)을 제공합니다.
문제는 A0_i가 식별자 (15.4)와 불가분의 어휘 요소 (15.3)입니다.
entity fff is
port (
a: in bit_vector(0 to 3);
b: in bit_vector(0 to 3)
);
end entity;
architecture sss of fff is
-- signal A0_0 : bit ; -- REPLACED
-- signal A0_1 : bit ;
-- signal A0_2 : bit ;
-- signal A0_3 : bit ;
signal A0: bit_vector (0 to 3); -- ADDED
-- IEEE Std 1076-2008 6.6 Alias declarations
-- 6.6.1 General
-- An alias declaration declares an alternate name for an existing named entity.
alias A0_0: bit is A0(0);
alias A0_1: bit is A0(1);
alias A0_2: bit is A0(2);
alias A0_3: bit is A0(3);
begin
U0:
for i in 0 to 3 generate
U1: A0(i) <= a(i) and b(i);
end generate;
end architecture sss;
객체라는 별칭 신호의 신호 배열을 선언 상기 프로그램 및 상기 어레이의 요소 별명 원래 이름 구성된 이름 집합체에 대해 생성 될 수 있기 때문이다.
추가 된 엔터티가있는이 수정 된 예는 색인 된 이름과 별칭 (예 : A0 (0) 및 A0_0)을 모두 분석하고 자세히 사용하도록 허용합니다.
A0에 0 ~ 3 범위의 비트 배열을 만들고 해당 범위를 포함하도록 Generate를 작성하십시오. U0 : A0'left에서 A0'right로 생성 U1 : A0 (i) <= a i)와 b (i); ' –
감사합니다. 하지만 나는 신호 이름을 바꾸는 것을 허락하지 않는다. 이 문제를 해결할 방법이 있습니까? –
신호의 대체 이름을 제공합니다 - * IEEE Std 1076-2008 6.6 별칭 선언, 6.6.1 별칭 선언은 기존 명명 된 엔터티에 대한 대체 이름을 선언합니다. *'signal A0 : bit_vector (0 to 3); 별칭 A0_0 : 비트는 A0 (0)입니다. 별칭 A0_1 : 비트는 A0 (1)입니다. 별칭 A0_2 : 비트는 A0 (2)입니다. 문제는 A0_i가 식별자, 분수가 아닌 어휘 구성 요소 (15.3)이며, A0_3이 식별자이고 A0 (i) 반면에 여기에서 색인 된 이름 (8.4)을 사용하려고합니다. – user1155120