vhdl convertit le sous-type en type pour le hdl actif
-
21-12-2019 - |
Question
J'ai un pakcgae dans lequel je déclare un tas de sous-types et de types.Dans Active HDL, il semble y avoir un problème chaque fois que j'essaie de créer un port à partir d'un sous-type, je me demande donc s'il existe un moyen de les convertir en types à la place.Ce qui suit serait un sous-type que j'aimerais convertir :
le sous-type word_t est std_logic_vector (15 jusqu'à 0) ;-- Mot (définition)
Est-ce possible sans simplement créer un type qui est un enregistrement ou un tableau ?merci
La solution
Je ne pense pas qu'il soit possible de créer directement un type
basé sur un autre subtype
, mais sans le subtype
ça peut se faire comme :
type word_t is array (15 downto 0) of std_logic;
Cependant, créer un nouveau type
car le port rendra l'utilisation du port fastidieuse, en raison de la nature de type dur du VHDL.
Une solution alternative peut consister à créer un subtype
avec la gamme pour word_t
, comme:
subtype word_range_t is natural range 15 downto 0;
et puis utilise ça subtype
avec std_logic_vector
dans le port
déclaration, comme :
... std_logic_vector(word_range_t);
Le port est alors toujours compatible avec std_logic_vector
, et la taille du mot est alors toujours facilement maintenable.