顶级模块VHDL,没有输入和输出

时间:2013-05-11 19:43:40

标签: 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, 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 个答案:

答案 0 :(得分:2)

如果它没有输出那么它就不能以任何方式产生任何结果或影响世界,因此它可以安全地被优化掉。这是一个哲学而非技术点,但是,如果没有输出,它实际上能做什么?

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