Как использовать пользовательские типы в субмодуле vhdl?

Допустим, у меня есть следующее в файле .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 (что имеет смысл). Как мне использовать пользовательский тип в другом модуле?


person Adam A.    schedule 05.08.2012    source источник
comment
Предположим, что пользовательский тип также использует общие параметры, как бы вы это учитывали? я имею в виду, как именно передать параметры пакету?   -  person Ankur Gautam    schedule 06.11.2014


Ответы (1)


Вам нужно поместить пользовательский тип(ы) в пакет, который вы затем включите в обе сущности.

person Charles Steinkuehler    schedule 05.08.2012
comment
Как бы вы передали параметры в пакет? - person Ankur Gautam; 06.11.2014