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

Foi útil?

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.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top