2017-03-24 3 views
1

제목과 정확히 일치합니다. 내가 언급하는 포트와 신호를 둘러싼 별표가 있습니다. 포트가 매핑되는 신호와 같은 이름으로 지정되는 것이 어떤 방식 으로든 충돌합니까? 아니면 다른 이름을 사용하는 것이 좋은 코딩 관행입니까?포트가 VHDL로 매핑되는 신호의 이름을 공유 할 수 있습니까?

fml_fulladd_vhdl 
    PORT MAP(
     C_in => C_in, -- this line 
     x => x(3), 
     y => y(3), 
     s => s(3), 
     C_out => C_out); -- and this line 

도움을 제공 할 수있는 사람에게 감사드립니다.

+2

예. . . . . . –

답변

2

네, 정상적인 사례입니다.

당신이 가질 수없는 것은 관련된 엔티티의 포트 중 하나와 이름이 같은 아키텍처 내의 신호입니다. 동일한 계층 구조의 구성 요소에있는 포트 중 하나와 동일한 이름의 신호가 정상입니다. 실제로 엔티티의 포트를 인스턴스화 된 구성 요소의 포트 (동일하거나 다른 이름의 포트)에 직접 연결할 수 있으며 중간 신호는 필요하지 않습니다 (동일한 방향 포트 및 유형 규칙을 전제로).

여러 개의 전체 덧셈기를 여러 개 연쇄하여 다중 비트 숫자를 추가하는 경우 (예 : 4 비트 숫자를 추가하는 것처럼 보임) 하나의 출력 (최종 인스턴스의 출력) 만 드라이브해야합니다 하나의 비트 C_out 신호 또는 여러 개의 드라이버가 있습니다. 각 fulladd 인스턴스의 C_in에 C_out을 연결하려면 중간 신호가 필요합니다.

+0

유용한 정보를 제공해 주셔서 감사합니다. 이것은 매우 철저한 답변 이었지만, 정확히 내가 필요로했던 것입니다. 두 번째 부분에 대해서는 4 비트 덧셈기를 생성하기 위해 fulladd 구성 요소를 계단식으로 연결 한 것이 맞습니다. 나는 그들을 위해 중간 std_logic_vector 신호를 사용했다. 다시 한번 감사드립니다. –