无输入和输出的顶层模块VHDL

无输入和输出的顶层模块VHDL,vhdl,xilinx,Vhdl,Xilinx,我有两个文件,master.vhd和slave.vhd,这两个文件都是合成的,没有错误或警告。我想创建一个结构顶部模块并连接它们。我正在使用Xilinx ISE 14.2 我的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, a

我有两个文件,master.vhd和slave.vhd,这两个文件都是合成的,没有错误或警告。我想创建一个结构顶部模块并连接它们。我正在使用Xilinx ISE 14.2

我的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;
当我这样做时,我无法合成它,并得到许多警告,如:WARNING:Xst:647-从未使用输入。此端口将被保留并保持未连接状态。。。废话

但是,如果我在顶部实体中添加一些不需要的端口,那么它可以合成,但是我不需要额外的端口,它们只是杂乱无章


我的问题是,如何将两个模块与顶层结构文件(或任何其他可行的方式)连接起来,并保持设计的可合成性?

如果没有输出,则无法产生任何结果或以任何方式影响世界,因此可以安全地对其进行优化。这是一个哲学观点,而不是一个技术观点,但是,如果没有输出,它实际上能做什么呢

除此之外,您可以从块中提供足够的输出,以保持其内部不被优化,但不能将其输出到外部FPGA引脚。有一个“禁用IOB插入”合成选项,允许这样做。通常用于创建HDL IP,稍后将集成到另一个顶级设计中,但据我所知,它可能满足您的目的