VHDL:组件端口到实体端口,它如何知道是什么?

VHDL:组件端口到实体端口,它如何知道是什么?,vhdl,fpga,Vhdl,Fpga,在最底层的加法器3中,程序如何知道哪些cout属于实体加法器4bit,哪些cout属于组件全加器? 这和箭头的方向有关吗 首先非常感谢当然,左边是组件内部的名称,右边是vhdl信号的名称 这与它知道左B是std_逻辑而右B是std_逻辑向量的方式相同。当然,左边是组件内部的名称,右边是vhdl信号的名称 这与它知道左侧B是std_逻辑,而右侧B是std_逻辑向量的方式相同。左侧是“引脚名称”,右侧是“导线名称”-因此这两个: entity Adder4Bit is Port ( A : in

在最底层的加法器3中,程序如何知道哪些cout属于实体加法器4bit,哪些cout属于组件全加器? 这和箭头的方向有关吗


首先非常感谢

当然,左边是组件内部的名称,右边是vhdl信号的名称


这与它知道左B是std_逻辑而右B是std_逻辑向量的方式相同。

当然,左边是组件内部的名称,右边是vhdl信号的名称

这与它知道左侧B是std_逻辑,而右侧B是std_逻辑向量的方式相同。

左侧是“引脚名称”,右侧是“导线名称”-因此这两个:

entity Adder4Bit is
Port ( A : in  STD_LOGIC_VECTOR (3 downto 0);
       B : in  STD_LOGIC_VECTOR (3 downto 0);
       S : out  STD_LOGIC_VECTOR (3 downto 0);
       COUT : out  STD_LOGIC);
end Adder4Bit;

architecture structure of Adder4Bit is

component FullAdder -- add the fulladder to this architecture
port (
        A       : in std_logic;
        B       : in std_logic;
        CIN : in std_logic;
        SUM : out std_logic;
        COUT    : out std_logic
        );
end component;

signal wires : std_logic_vector(3 downto 1) := "000";       -- Make a signal "wires" with initial value 000

begin

adder0 : FullAdder port map ( A=> A(0), B => B(0), CIN => '0', SUM => S(0), COUT => wires(1)        );
adder1 : FullAdder port map ( A=> A(1), B => B(1), CIN => wires(1), SUM => S(1), COUT => wires(2)   );
adder2 : FullAdder port map ( A=> A(2), B => B(2), CIN => wires(2), SUM => S(2), COUT => wires(3)   );
adder3 : FullAdder port map ( A=> A(3), B => B(3), CIN => wires(3), SUM => S(3), COUT => COUT       );


end structure;
adder2
COUT
引脚连接到名为
导线(3)
的信号,而
adder3
COUT
引脚连接到名为
COUT
的信号

这是管脚和信号被命名为同一事物的问题之一——坚持下去,一周左右你甚至都不会注意到它

左侧是一个“引脚名称”,右侧是一个“导线名称”-因此这两个:

entity Adder4Bit is
Port ( A : in  STD_LOGIC_VECTOR (3 downto 0);
       B : in  STD_LOGIC_VECTOR (3 downto 0);
       S : out  STD_LOGIC_VECTOR (3 downto 0);
       COUT : out  STD_LOGIC);
end Adder4Bit;

architecture structure of Adder4Bit is

component FullAdder -- add the fulladder to this architecture
port (
        A       : in std_logic;
        B       : in std_logic;
        CIN : in std_logic;
        SUM : out std_logic;
        COUT    : out std_logic
        );
end component;

signal wires : std_logic_vector(3 downto 1) := "000";       -- Make a signal "wires" with initial value 000

begin

adder0 : FullAdder port map ( A=> A(0), B => B(0), CIN => '0', SUM => S(0), COUT => wires(1)        );
adder1 : FullAdder port map ( A=> A(1), B => B(1), CIN => wires(1), SUM => S(1), COUT => wires(2)   );
adder2 : FullAdder port map ( A=> A(2), B => B(2), CIN => wires(2), SUM => S(2), COUT => wires(3)   );
adder3 : FullAdder port map ( A=> A(3), B => B(3), CIN => wires(3), SUM => S(3), COUT => COUT       );


end structure;
adder2
COUT
引脚连接到名为
导线(3)
的信号,而
adder3
COUT
引脚连接到名为
COUT
的信号

这是管脚和信号被命名为同一事物的问题之一——坚持下去,一周左右你甚至都不会注意到它