IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VHDL Discussion :

opérateurs arithmétiques / conversions


Sujet :

VHDL

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mai 2013
    Messages : 1
    Points : 1
    Points
    1
    Par défaut opérateurs arithmétiques / conversions
    Bonsoir

    Je cherche à créer la boîte suivante :

    entrée :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    x : std_logic_vector (10 downto 0);
    y : std_logic_vector (10 downto 0);
    sortie :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    addra : std_logic_vector (14 downto 0);
    Je fais un test sur x et y,
    Si 0<=x<=799 et 0<=y<=599 (en décimal) alors je fais les opérations.
    Sinon
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    adress <= (others => '0');
    Pas de problème là-dessus;


    Et je veux faire l'opération suivante (calcul sur les valeurs décimales de x et y) (en considérant les valeurs x,y non signées) :

    addra reçoit la valeur (quotient_de(y_décimale/4))*200 + quotient_de (x_décimale/4)) reconvertie en vecteur 15 bits.

    Étant donné que x,y sont sur 11 bits , la valeur maximale que pourrait prendre addra est de (quotient_de(2^11-1/4))*200 + quotient_de (2^11-1/4)) = 102861 qui se code sur 17 bits.

    Mais étant donné les contraintes sur x,y cette valeur max voulue est de 149*800+199 = 29999 qui se code bien sur 15 bits.

    Après plusieurs heures de recherches, je ne parviens pas à effectuer ces simples opérations (problèmes de conversion, de longueurs des vecteurs, valeurs non conformes à celles attendues...)

    Pouvez-vous m'aider à résoudre ce problème svp ?

    Merci,

  2. #2
    Membre à l'essai
    Inscrit en
    Avril 2007
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 9
    Points : 10
    Points
    10
    Par défaut
    Bonjour;

    tout d'abord je ne sais pas pas si tu as déclaré use ieee.std_logic_arith.all dans ton programme.
    tu peux créer une variable dans ton process pour faire les opérations et l'affecter à la fin au signal approprié.

    Bonne chance.

Discussions similaires

  1. Réponses: 3
    Dernier message: 03/12/2010, 16h56
  2. Héritage privé et opérateur de conversion
    Par Lavock dans le forum Langage
    Réponses: 7
    Dernier message: 21/06/2010, 19h25
  3. Opérateur de conversion implicit + dérivation
    Par mister3957 dans le forum C++
    Réponses: 5
    Dernier message: 13/05/2009, 14h50
  4. Réponses: 3
    Dernier message: 02/07/2007, 17h32
  5. Opérateur de conversion en dehors d'une classe
    Par kwakanar dans le forum C++
    Réponses: 4
    Dernier message: 08/11/2005, 18h06

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo