Heinrich H. schrieb:
> Hallo!
>
> Ich habe mir folgenden Typ und ein dazugehöriges Signal deklariert:
>
1 | > type sd_card_data_a is array (natural range 527 downto 0) of
|
2 | > std_logic_vector(7 downto 0);
|
3 | > signal sd_card_data_as : sd_card_data_a;
|
4 | >
|
>
> Was ich machen kann ist für einzelne Elemente des Arrays einen Alias
> anlegen:
>
1 | > alias data_start_block_s : std_logic_vector(7 downto 0) is
|
2 | > sd_card_data_as(0);
|
3 | >
|
>
> Was ich aber nicht hinbekomme ist für mehr als ein Element des Arrays
> ein Alias anzulegen:
>
1 | > alias data_stuff_bytes_s : std_logic_vector(15 downto 0) is
|
2 | > sd_card_data_as(10 downto 9);
|
3 | >
|
>
Die Fehlermeldungen von ghdl hierzu lautet:
../proj/sd_card_spi_wrapper.vhd:191:9: base type of aliased name and
name mismatch ../proj/sd_card_spi_wrapper.vhd:191:9: number of elements
not matching in type and name
und die von ISE lautet:
ERROR:HDLParsers:800 -
"/home/proj/fpga_svn/FPGA/lib/SD_Card/trunk/sd_card_spi_wrapper.vhd"
Line 191. Type of data_crc_value_lower_byte_as is incompatible with type
of sd_card_data_as.
> Auch wenn ich für den Alias einen eigenen Typen anlege haut's nicht hin:
>
1 | > type data_stuff_bytes_a is array (514 downto 513) of std_logic_vector(7
|
2 | > downto 0);
|
3 | > alias data_stuff_bytes_s : data_stuff_bytes_a is sd_card_data_as(2
|
4 | > downto 1);
|
5 | >
|
Die Fehlermeldungen von ghdl hierzu lautet:
../lib/SD_Card/trunk/sd_card_spi_wrapper.vhd:191:9: base type of aliased
name and name mismatch
und die von ISE lautet:
ERROR:HDLParsers:800 - "/home/proj/spi_wrapper.vhd" Line 191. Type of
data_crc_value_lower_byte_as is incompatible with type of
sd_card_data_as.