我的模块有两个泛型:A和B
我想生成一个输入,该输入是带有以下参数的std_logic_vectors数组:
数组元素的数量A
元素宽度B的数量
我想在一个包装中创建一个二维数组,同时在两个维度上都具有通用宽度。
是正确的吗?
TYPE t_pos1_in_vec IS ARRAY (NATURAL RANGE <>) OF STD_LOGIC_VECTOR(NATURAL RANGE <>);
答案 0 :(得分:2)
在您的包裹中,您必须写:
type t_pos1_in_vec is array (natural range <>) of std_logic_vector;
请注意,(natural range <>)
之后没有std_logic_vector
。
然后在您的实体中
entity my_entity is
generic
(
A : natural := 12; -- number of elements
B : natural := 32 -- element width
);
port (
multidimensional_array : in t_pos1_in_vec(A-1 downto 0)(B-1 downto 0)
);
end entity my_entity;