VHDL-如何定义实体中包含包的组件的端口映射?

VHDL-如何定义实体中包含包的组件的端口映射?,vhdl,Vhdl,我试图使用包通过顶级实体来移动不同组件中的数据块 我定义了一个数组为的包 library IEEE; use IEEE.STD_LOGIC_1164.all; package my_array_pkg is type my_array is array ( 0 to 9) of std_logic_vector(3 downto 0); end my_array_pkg; 然后在顶层实体中,我将我的组件声明为 COMPONENT Array_Count is Port ( C_1Hz

我试图使用包通过顶级实体来移动不同组件中的数据块

我定义了一个数组为的包

library IEEE;
use IEEE.STD_LOGIC_1164.all;

package my_array_pkg is
 type my_array is array ( 0 to 9) of std_logic_vector(3 downto 0);
end my_array_pkg;

然后在顶层实体中,我将我的组件声明为

COMPONENT Array_Count is
Port ( C_1Hz    : in std_logic;
        reset : in std_logic;
        digit  : out my_array
        );
end COMPONENT;
现在,有人可以帮助我如何在端口映射中声明这个“digit:out my_array”



需要在其他组件中更新阵列包

谢谢

您需要在实体声明之前“使用”包:

use work.my_array_pkg.all;

使包内容可见

然后,您需要在实例化组件之前声明该类型的信号,例如:

signal my_digit : my_array;
现在将端口连接到该信号

C2 : Array_Count
    PORT MAP ( 
        C_1Hz => CLK1HZ, 
        reset => RESET, 
        digit => my_digit);
signal my_digit : my_array;
C2 : Array_Count
    PORT MAP ( 
        C_1Hz => CLK1HZ, 
        reset => RESET, 
        digit => my_digit);