VHDL - 如何在其实体中定义带有包的组件的端口映射?
VHDL - How to Define Port Map of a component with a package in its entity?
我正在尝试使用包通过顶级实体在不同组件中移动数据块。
我已经用数组定义了一个包为
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" 吗?
C2 : Array_Count
PORT MAP ( CLK1HZ, RESET, ????);
数组包需要在其他组件中更新。
谢谢。
实体声明前需要"use"包:
use work.my_array_pkg.all;
或
library my_library;
use my_library.my_array_pkg.all;
使包裹内容可见。
那么你需要在实例化组件之前声明该类型的信号,例如:
signal my_digit : my_array;
现在将端口连接到该信号
C2 : Array_Count
PORT MAP (
C_1Hz => CLK1HZ,
reset => RESET,
digit => my_digit);
我正在尝试使用包通过顶级实体在不同组件中移动数据块。
我已经用数组定义了一个包为
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" 吗?
C2 : Array_Count
PORT MAP ( CLK1HZ, RESET, ????);
数组包需要在其他组件中更新。
谢谢。
实体声明前需要"use"包:
use work.my_array_pkg.all;
或
library my_library;
use my_library.my_array_pkg.all;
使包裹内容可见。
那么你需要在实例化组件之前声明该类型的信号,例如:
signal my_digit : my_array;
现在将端口连接到该信号
C2 : Array_Count
PORT MAP (
C_1Hz => CLK1HZ,
reset => RESET,
digit => my_digit);