2

我正在使用赛灵思 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 连接到顶部模块的输入?

4

1 回答 1

0

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

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

是详细说明的链接。

于 2013-04-09T20:04:41.267 回答