Допустим, у меня есть следующее в файле .vhd верхнего уровня.
entity toplevel is
....
end toplevel;
architecture behave of toplevel is
type state is (A, B, C);
signal cur_state : state;
...
E1 : entity submodule_entity port map(
...
cur_state => cur_state);
...
end behave;
и в паре сущность/архитектура моего второго файла у меня есть следующее
entity submodule_entity is
port(
...
cur_state : in state);
end entity;
Синтезатор жалуется, что состояние типа не определено в submodule_entity (что имеет смысл). Как мне использовать пользовательский тип в другом модуле?