VHDL:组件端口到实体端口,它如何知道是什么?
在最底层的加法器3中,程序如何知道哪些cout属于实体加法器4bit,哪些cout属于组件全加器? 这和箭头的方向有关吗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
首先非常感谢当然,左边是组件内部的名称,右边是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
的信号
这是管脚和信号被命名为同一事物的问题之一——坚持下去,一周左右你甚至都不会注意到它