opearotr infaisable

I

info_req

Guest
Helo chère,
Je suis en utilisant (i) (std_logic_vector) * (entier) de passer std_logic_vector droit
ii) SLL, SHL, etc pour le décalage gauche / droite mais cela ne fonctionne pas.J'ajoute aussi des bibliothèques appropriées

ERREUR est comme: l'opérateur infaisable.

ce que mai est le problème???merci d'avance

 
Vous pouvez le faire manuellement pour éviter ce problème:
Par exemple, un nombre 5 bits pour être décalées vers la gauche par 3:
num (4 downto 2) <= num (2 downto 0);
num (2 downto 0) <= "00";

Si vous souhaitez utiliser la multiplication, alors vous devriez utiliser un nombre binaire au lieu d'un entier:
par exemple:
num2 <= num1 * "100"; - déplacer par 2, num2 sa taille doit être supérieure à num1 par 2.
num1 <= num2 (4 downto 0); - si le processus à l'intérieur, contiendra la valeur de l'horloge précédente, être prudent.

et vous devez inclure ieee.std_logic_unsigned .*;

Notez que la méthode de multiplication consomme plus de matériel si vous voulez faire la synthèse de votre code.

 
Wont VHDL vous permettent d'utiliser des opérateurs tels que * sur les types de données différents.C'est votre problème.
Mais si vous devez le faire, alors vous devrez définir votre propre opérateur, qui voudrait écrire une fonction qui prendrait un type std_logic_vector, et le type entier, multipliez-le et renvoie le résultat dans le type de données de votre choix, Cela s'appelle aussi la surcharge oprator.
Kr,
Avi
http://www.vlsiip.com

 

Welcome to EDABoard.com

Sponsor

Back
Top