Что я хочу сделать, это взять несколько битов std_logic_vector, затем расширить их и подписать их другим std_logic_vector
Допустим, у меня есть следующее
A : std_logic_vector(31 downto 0);
B : std_logic_vector(31 downto 0);
Я хочу сделать это:
A <= 000...0 & B(6 downto 0)
where "000...0" = 25 zeros
Мой код следующий:
PC : IN STD_LOGIC_VECTOR(31 DOWNTO 0);
PC_ADD : OUT STD_LOGIC_VECTOR(31 DOWNTO 0);
---
--- Inside the architecture i do this
PC_ADD <= (6 DOWNTO 0 => PC(8 DOWNTO 2), (OTHERS => '0'));
Я получаю следующую ошибку:
Ошибка (10437): ошибка списка ассоциаций VHDL в XXXXX.vhd: позиционные ассоциации должны быть перечислены перед именованными ассоциациями