подписано в std_logic_vector, результаты среза

Мне нужно принять абсолютное значение результата, и меня интересуют только самые важные биты. Вот что я сделал:

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);

Я пытаюсь проверить синтаксис, и я получаю эту ошибку:

type conversion std_logic_vector is not allowed as a prefix for an slice name.

data_ram_h является std_logic_vector правильного измерения, аабс Функция возвращает подпись, чтобы не было проблем при преобразовании в std_logic_vector. Используемая мной библиотека - это useieee.numeric_std.all.

Где я не прав? Заранее спасибо c:

Ответы на вопрос(2)

Ваш ответ на вопрос