2013-05-11 67 views
1

我有兩個文件,master.vhd和slave.vhd,都合成沒有錯誤或警告。我想創建一個結構頂層模塊並連接它們。我正在使用Xilinx 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 - 輸入從未使用。這個端口將被保留並保持未連接狀態......等等等等

但是,如果我在頂層實體中添加一些不需要的端口,那麼它會合成好,但我不需要額外的端口,它們只是混亂!

我的問題是如何將兩個模塊與頂層結構文件(或任何其他工作方式)連接起來並保持設計合成?

回答

1

如果它沒有輸出,那麼它不能產生任何結果或以任何方式影響世界,因此它可以安全地進行優化。這是一個哲學問題而不是技術問題,但是沒有產出,它究竟能做什麼?除此之外,您可以從模塊提供足夠的輸出以保持其內部結構不受優化,但不會將其輸出至外部FPGA引腳。有一個「禁用IOB插入」綜合選項,允許這一點。正常的用途是創建HDL IP,稍後將其集成到另一個頂級設計中,但據我瞭解,它可能會用於您的目的。