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 :

Fonctions de conversions


Sujet :

VHDL

  1. #1
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2014
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 31
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2014
    Messages : 20
    Points : 18
    Points
    18
    Par défaut Fonctions de conversions
    Bonjour,

    Je suis débutante en langage VHDL, j'ai du mal à comprendre un truc concernant la conversion ( sur la bibliothèque STD_LOGIC_ARITH.All )
    Alors voilà soient les 7 signaux suivants :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    OI3 : out integer range -2048 to 2047;
    OLL:  out std_logic_vector(10 downto 0);
    OS1: out signed(7 downto 0);
    OU1: out unsigned(10 downto 0);
     
    IL1, IL2, IL3 : in std_logic_vector(3 downto 0)
    quand j arrive à la conversion, je ne suis pas très sûre à propos de la différence entre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    OI3 <= conv_integer(IL1);
    et :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    OLL <= conv_std_logic_vector(unsigned(IL1),OLL'length);
    OS1 <= conv_signed(unsigned(IL3),OS1'length);
    OU1 <= conv_unsigned(unsigned(IL2),OU1'length);
    pourquoi le unsigned ( en rouge ) figure dans certains cas et ne figurent pas dans d'autres ?
    le programme serait il incorrecte si l'on avait pas mentionné le unsigned ?
    Merci de me clarifier

  2. #2
    Membre expérimenté

    Homme Profil pro
    Collégien
    Inscrit en
    Juillet 2010
    Messages
    545
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Afghanistan

    Informations professionnelles :
    Activité : Collégien

    Informations forums :
    Inscription : Juillet 2010
    Messages : 545
    Points : 1 429
    Points
    1 429
    Par défaut
    Bonjour,

    D’après ce que je vois tu veux étendre la taille de ton vecteur de 4 bits vers 11.
    Il faut que synthétiseur sache si le vecteur est signé ou non: exemple :
    "1000" -> " 00000001000" en non signé
    "1000" -> " 11111111000" en signé

    Donc tu indique si le vecteur est ou non, en utilisant les types signed ou unsigned.

    Il doit exister une définition des fonctions
    conv_std_logic_vector
    conv_signed
    conv_unsigned

    à la fois pour les types signed et unsigned.

  3. #3
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2014
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 31
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2014
    Messages : 20
    Points : 18
    Points
    18
    Par défaut
    Bonjour,

    Ahhh j'y vois plus clair maintenant merci beaucoup :)

Discussions similaires

  1. Fonction de conversion de nombre en lettres
    Par david_chardonnet dans le forum Langage
    Réponses: 21
    Dernier message: 08/12/2021, 17h51
  2. Fonction de conversion de volume
    Par soso78 dans le forum Algorithmes et structures de données
    Réponses: 3
    Dernier message: 23/08/2005, 21h12
  3. [TestStand] Fonction de conversion...
    Par capblans dans le forum Autres langages
    Réponses: 4
    Dernier message: 26/04/2005, 08h58
  4. Réponses: 5
    Dernier message: 12/01/2005, 20h58
  5. Fonction de conversion de COLORREF en hexadécimal?
    Par charliejo dans le forum MFC
    Réponses: 4
    Dernier message: 21/02/2004, 18h25

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