Esta es mi primera pregunta.
Tengo un paquete que contiene el siguiente tipo:
type t_rgb_64x48 is array(0 to 47) of std_logic_vector(63 downto 0);
y se está utilizando en mi archivo file.vhd.
file.vhd contiene una entidad que contiene el tipo del paquete mencionado anteriormente:
RData_in : in t_rgb_64x48;
ColumnAddress_Start : in integer;
ColumnAddress_End : in integer;
RowAddress_Start : in integer;
RowAddress_End : in integer;
También contiene una señal con su tipo correspondiente:
type t_vgaram is array(0 to 479) of std_logic_vector(639 downto 0);
signal s_rstorage : t_vgaram;
Necesito acceder a s_rstorage
a través de la siguiente declaración:
s_rstorage(ColumnAddress_End downto ColumnAddress_Start)
(RowAddress_End downto RowAddress_Start)
<= RData_in(ColumnAddress_End downto
ColumnAddress_Start)
(RowAddress_End downto RowAddress_Start);
para almacenar el valor de RData_in
a s_rstorage
y asegurarse de que tengan el mismo ancho en 2D.
El problema es este error:
Type of s_rstorage is incompatible with type of RData_in.
Sé que tienen diferentes tipos como la causa del error. ¿Pero cómo soluciono este problema?