Если позже в строке, я хочу преобразовать в список чисел со знаком, представляющих те же номера.Есть ли способ, которым я могу завершить преобразование типа без необходимости делать цикл for?
Да.
library ieee;
use ieee.numeric_std.all;
entity no_mce_provided is
end entity;
architecture foo of no_mce_provided is
type A_type is array (0 to 9) of integer;
signal my_array : A_type := (0, 1, 2, 3, 4, 5, 6, 7, 8, 9);
type S_type is array (my_array'range) of signed(31 downto 0);
signal a,b,c,d,e,f,g,h,i,j: signed(31 downto 0);
begin
(a,b,c,d,e,f,g,h,i,j) <= S_type'(to_signed(my_array(0), 32),
to_signed(my_array(1), 32),
to_signed(my_array(2), 32),
to_signed(my_array(3), 32),
to_signed(my_array(4), 32),
to_signed(my_array(5), 32),
to_signed(my_array(6), 32),
to_signed(my_array(7), 32),
to_signed(my_array(8), 32),
to_signed(my_array(9), 32)
);
end architecture;
Использование выражения в правой частисоставной тип в форме агрегата, здесь цель квалифицированного выражения, предоставляющего тип агрегата.Обратите внимание, что цель назначения также составная, тип определяется из контекста (правая сторона).
Этот пример анализирует, разрабатывает и моделирует, несмотря на утверждение Мэтью Тейлора в противном случае.(Я подозреваю, что вы могли бы сделать свой вопрос немного более конкретным, чем вопрос да / нет.)