如何将顶层模块的输入端口连接到组件输出端口?

时间:2013-04-09 19:41:44

标签: vhdl xilinx

我正在使用Xilinx ISE 13.2。

我是VHDL的新手,我在连接组件时遇到了麻烦。我有一个顶级模块和一个组件(在另一个文件中定义)定义如下:

entity kcpsm3_int_test is
    Port (      number_in  : in std_logic_vector(3 downto 0);
                    number_out  : out std_logic_vector(3 downto 0);
                    button      : in std_logic;
           interrupt_event : in std_logic;
                       clk : in std_logic);
    end kcpsm3_int_test;

component debounce_logic
Port ( clk   : in  STD_LOGIC;
       btn_in  : in  STD_LOGIC;
       btn_out : out  STD_LOGIC);
end component;

--port
db: debounce_logic
 port map(
            clk     => clk,
        btn_in  => button,
        btn_out  => btn_out);

我还定义了一个信号btn_out来连接这两个。我可以看到两个其他组件(处理器和ROM)是如何连接的,但我无法连接这两个组件。我想我需要以某种方式移植顶级模块,但我不知道该怎么做,而且我几乎被困在这里,我该怎么办?如何将去抖动逻辑的btn_out输出连接到顶层模块的输入?

1 个答案:

答案 0 :(得分:0)

您所做的是: 声明了一个名为kcpsm3_int_test的实体 声明了一个名为debounce_logic的组件,该组件已在其他地方定义。 你接下来要做的是: 实例化组件debounce_logic和端口映射。它会看起来像这样。

db_1 : debounce_logic
PORTMAP (clk => clk,
         ....
         );

here是一个详细解释的链接。