assinado para std_logic_vector, fatia resultados
Preciso pegar o valor absoluto de um resultado e só estou interessado nos bits mais significativos. Isto é o que eu fiz:
data_ram_h <= std_logic_vector(abs(signed(resize(r4(calc_cnt - 2), data_ram_h'length) + r4(calc_cnt - 1) +
r4(calc_cnt) + r4(calc_cnt + 1) + r4(calc_cnt + 2) -
r2(calc_cnt - 2) - r2(calc_cnt - 1) - r2(calc_cnt) -
r2(calc_cnt + 1) - r2(calc_cnt + 2))))(11 downto 4);
Tento verificar a sintaxe e recebo este erro:
type conversion std_logic_vector is not allowed as a prefix for an slice name.
data_ram_h é um std_logic_vector da dimensão correta e oabdômen A função retorna um sinal, para que não haja problemas na conversão para std_logic_vector. A biblioteca que estou usando é useieee.numeric_std.all.
Onde eu estou errado? Agradecemos antecipadamente c: