Domanda

Ho un pakcgae in cui dichiaro un mucchio di sottotipi e tipi.In HDL attivo, sembra che ci sia un problema ogni volta che provo a fare un porto da un sottotipo, quindi mi chiedo se c'è un modo per convertirli su tipi.Il seguente sarebbe un sottotipo che vorrei convertire:

sottotipo word_t è std_logic_vector (15 downto 0);- Parola (definizione)

È possibile senza solo creare un tipo che è un record o un array? Grazie

È stato utile?

Soluzione

Non pensare che sia possibile creare direttamente un type basato su un altro subtype, ma senza il subtype può essere fatto come:

type word_t is array (15 downto 0) of std_logic;
.

Tuttavia, la creazione di un nuovo type per la porta avrà l'uso del porto ingombrante, a causa della natura di tipo dura del VHDL.

Un'operazione alternativa può essere quella di creare un subtype con la gamma per word_t, come:

subtype word_range_t is natural range 15 downto 0;
.

e quindi utilizzare quel subtype con std_logic_vector nella dichiarazione port, come:

... std_logic_vector(word_range_t);
.

La porta è quindi ancora compatibile con std_logic_vector e la dimensione della parola è quindi ancora facilmente manterrabile.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top