在VHDL中,我创建了以下程序包:
--! Custom, 8 bit register map package
package regmap_package is
--! Amount of registers in the array
constant reg_nr : natural := 8;
--! The 8bit register map array type
type regmap_t is array(0 to (reg_nr - 1)) of std_logic_vector(7 downto 0);
end package regmap_package;
使用此程序包,可以访问新类型regmap_t
,它是大小为reg_nr
x 8位的2d数组。
在vhdl中,我无法弄清楚如何访问此数组中的单个位。我只能访问单个“寄存器”,即8个完整位。我正在尝试得到这样的东西:
some_signal <= regmap_var(0,1);
为了从第一个寄存器(nr 0)访问第二个(位号1,从0开始计数)。
答案 0 :(得分:3)
这不是2D数组,它只是1D数组,其中元素本身是1D数组。因此,您需要将每个索引保持在自己的()
some_sl_signal <= regmap_var(0)(1);