VHDL: Code pour mettre une valeur numérique à une variable STD_LOGIC_VECTOR
Je voudrais entrer un nombre dans une variable de type STD_LOGIC_VECTOR mais j'ai des problèmes avec le compilateur.
signal cl_output_ChA : STD_LOGIC_VECTOR (16-1 downto 0);
cl_ouput_ChA <= 111111111111111;
Le compilateur me donner ces deux messages:
- La valeur de l'entier de 111111111111111 est supérieure entier grand.
- Type de cl_output_ChA est incompatible avec le type de 111111111111111.
quelqu'un pourrait-il me donner une bonne ligne de code à mettre dans cette variable une valeur numérique particulière?
Je vous remercie beaucoup.
Quelqu'un pourrait-il créer une balise "code", ce qui pourrait indiquer quelqu'un de poser pour un morceau de code.
OriginalL'auteur Peterstone | 2011-07-14
Vous devez vous connecter pour publier un commentaire.
Tout d'abord, l'erreur est parce que le nombre que vous avez écrit, il est traité comme un entier.
Je retire ce que vous voulez dire pour le nombre binaire? Dans ce cas, utiliser "".
Vous pouvez aussi aller pour hex, x"".
Si vous souhaitez affecter un entier à un std_logic_vector, alors vous pouvez le faire comme ceci.
Où 12345 est le nombre entier (ou naturelle) et 16 est la largeur.
Oui, mais voir mon montage qui montre un chemin qui va de l'échelle si vous modifiez la longueur de vos vecteurs pour n'importe quelle raison.
merci pour l'éditer pour ajouter de la longueur de l'attribut.
OriginalL'auteur George
Vous pouvez également effectuer les opérations suivantes, qui met un 1 dans chaque morceau.
OriginalL'auteur fbo