Greetings! This is my first thread.
I have a package that contains the following type:
1 | type t_rgb_64x48 is array(0 to 47) of std_logic_vector(63 downto 0);
|
and is being used in my file.vhd file.
------------------------
file.vhd contains an entity that contains the type of the package
mentioned earlier:
1 | RData_in : in t_rgb_64x48;
|
2 | ColumnAddress_Start : in integer;
|
3 | ColumnAddress_End : in integer;
|
4 | RowAddress_Start : in integer;
|
5 | RowAddress_End : in integer;
|
It also contains a signal with its corresponding type:
1 | type t_vgaram is array(0 to 479) of std_logic_vector(639 downto 0);
|
2 | signal s_rstorage : t_vgaram;
|
------------------------
I need to access s_rstorage through the following statement:
1 | s_rstorage(ColumnAddress_End downto ColumnAddress_Start)
|
2 | (RowAddress_End downto RowAddress_Start)
|
3 | <= RData_in(ColumnAddress_End downto
|
4 | ColumnAddress_Start)
|
5 | (RowAddress_End downto RowAddress_Start);
|
to store the value of RData_in to s_rstorage and making sure that they
are of the same width in 2D.
The problem is this error:
Type of s_rstorage is incompatible with type of RData_in.
I know that they have different types as the cause of the error. But how
do I fix this problem?