2013-05-11 1 views
1

두 파일 master.vhd 및 slave.vhd가 있습니다. 오류 또는 경고없이 모두 합성됩니다. 구조적으로 상위 모듈을 만들고 연결하려고합니다. 저는 자일링스 ISE 14.2를 사용하고 있습니다.상단 모듈 입력 및 출력이없는 VHDL

내 top.vhd 파일은 다음과 같다 : 나는 이런 식으로 작업을 수행 할 때

library ieee; 
use ieee.std_logic_1164.all; 

entity top is 
end top; 

architecture structural of top is 

signal reset, clk : std_logic; 
signal req, ack, sig : std_logic; 

begin 

    master : entity work.master_v10_zad1(rtl) 
    port map(
     reset => reset, 
     clk => clk, 
     req => req, 
     ack => ack, 
     sig => sig 
    ); 

    slave : entity work.slave_v10_zad1(rtl) 
    port map(
     reset => reset, 
     clk => clk, 
     req => req, 
     ack => ack, 
     sig => sig 
    ); 

end structural; 

내가 그것을 합성과 같은 경고를 많이 얻을 수 없습니다 경고 : XST : 647 - 입력은 사용되지 않습니다 . 이 포트는 보존되고 연결되지 않은 상태로 남아있을 것입니다 ... blah blah

그러나 최상위 엔티티에 일부 unpended 포트를 추가하면 ok가 합성되지만 여분의 포트는 필요하지 않습니다.

제 질문은 어떻게 두 개의 모듈을 최상위 구조 파일 (또는 다른 어떤 방식 으로든)에 연결하고 디자인을 합성 가능하게 유지하는 것입니다.

답변

1

출력이 없으면 어떠한 결과도 생성하거나 세계에 영향을 줄 수 없기 때문에 안전하게 최적화 할 수 있습니다. 이것은 기술적 인 관점보다는 철학적 인 것이지만 출력이 없다면 실제로 무엇을 할 수 있습니까?

그렇다면 최적화 된 상태에서 내부를 보호하기 위해 블록에서 충분한 출력을 제공 할 수 있지만 외부 FPGA 핀으로 출력하지 않아도됩니다. 이를 가능하게하는 "IOB 삽입 비활성화"합성 옵션이 있습니다. 정상적인 사용은 나중에 다른 최상위 설계에 통합되는 HDL IP를 작성하는 데 사용되지만, 이해하는 한 사용자 목적에 부합 할 수 있습니다.