vhdl converte subtipo em tipo para hdl ativo
-
21-12-2019 - |
Pergunta
Eu tenho um pakcgae no qual declaro vários subtipos e tipos.No Active HDL, parece haver um problema sempre que tento criar uma porta a partir de um subtipo, então estou me perguntando se existe uma maneira de convertê-los em tipos.O seguinte seria um subtipo que eu gostaria de converter:
o subtipo word_t é std_logic_vector (15 até 0);- Palavra (definição)
Isso é possível sem apenas criar um tipo que seja um registro ou um array?obrigado
Solução
Não pense que é possível criar diretamente um type
baseado em outro subtype
, mas sem o subtype
isso pode ser feito como:
type word_t is array (15 downto 0) of std_logic;
Contudo, criar um novo type
para a porta, o uso da porta será complicado, devido à natureza rígida do VHDL.
Uma solução alternativa pode ser fazer um subtype
com a faixa para word_t
, como:
subtype word_range_t is natural range 15 downto 0;
e então use isso subtype
com std_logic_vector
no port
declaração, como:
... std_logic_vector(word_range_t);
A porta ainda é compatível com std_logic_vector
, e o tamanho da palavra ainda é facilmente mantido.