Я позволю себе превратить комментарий в ответ.Начальное значение для типа записи может быть определено константой этого типа.
type t_foo is record
a : integer;
b : std_logic;
end record;
constant INIT_T_FOO : t_foo := (a => 4, b => '0');
signal bar : t_foo := INIT_T_FOO;
Недостатком этого подхода является то, что пользователь должен гарантировать, что правильное начальное значение устанавливается каждый раз, когда объект типаt_foo
определяется.Использование константы для определения начального значения может сэкономить время при наборе текста и упростит изменение начального значения позже.Но опять же, невозможно обеспечить конкретное начальное значение таким способом, все сводится к дисциплине кодирования и человеческим ошибкам, поэтому это неоптимальное решение.