Как исправить позиционные ассоциации Ошибка (10437) - PullRequest
0 голосов
/ 24 марта 2019

Что я хочу сделать, это взять несколько битов 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: позиционные ассоциации должны быть перечислены перед именованными ассоциациями

...