VHDL attribution des littéraux
Je suis en train d'utiliser des entiers non signés en VHDL avec bien défini bits largeurs. Il semble VHDL ne m'aime pas tenter d'assigner des valeurs littérales de ces types définis comme:
variable LCD_DATA: unsigned(19 downto 0) := 0;
Mais dans mon IDE (Quartus), je reçois une plainte "type non signé ne correspond pas littéral entier." Je reçois aussi des plaintes pour ajouter des numéros à la définition des types comme ça. Quel est le préféré changer j'ai besoin de faire?
OriginalL'auteur Christopher Brown | 2014-03-18
Vous devez vous connecter pour publier un commentaire.
Voir les autres réponses, et remarque que pour les non-zéro littéraux, vous voulez probablement faire quelque chose comme:
Substituer un littéral pour n. Cela fonctionne pour n=0 aussi, bien sûr, mais ce n'est pas aussi propre que l'
(others => '0')
.Corrigé, merci.
Pour -2008 que l'Article 12.3 de la Visibilité, de la même Note 2.
L'original erronée réponse
variable LCD_DATA: unsigned(19 downto 0) := to_unsigned(n, LCD_DATA'length);
Essentiellement quelque chose qui n'est pas disponible jusqu'à ce qu'il est déclaré et la déclaration estvariable_declaration ::= [ shared ] variable identifier_list : subtype_indication [ := expression ] ;
, qui est l'endroit où la après le point-virgule commentaire vient de. Voir la norme IEEE Std 1076-1993 4.3.1.3 (gestion collective 6.4.2.4 -2008) les déclarations de Variables.Ouais, je suis tellement habitué à l'utilisation de ce concept dans les processus, etc., J'ai oublié que c'était illégal dans les déclarations.
OriginalL'auteur fru1tbat
unsigned
est liée à std_ulogic, où la valeur d'un élément serait de "0".qui fournit un agrégat pour l'affectation par défaut de tous les éléments mis à '0'.
Vous ne pouvez pas affecter un seul élément de type entier à un tableau de std_ulogic éléments.
Vous pouvez ajouter signé ou non signé naturel (non signé) ou entier (signé) à l'aide de "+" les fonctions définies dans le paquetage numeric_std:
OriginalL'auteur user1155120
Et pour la 2ème partie de votre question, tout en ajoutant le nombre de ce type.
De vérifier si vous avez utilisé bibliothèques ci-dessus dans le code ou pas.
OriginalL'auteur user3217310