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 :

Nombre négatif en VHDL


Sujet :

VHDL

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mars 2011
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2011
    Messages : 20
    Points : 0
    Points
    0
    Par défaut Nombre négatif en VHDL
    Bonsoir,
    Svp j aimerais avoir comment un nombre négatif peut se coder en VHDL.
    Supposons que j'en ai le chiffre suivant en C :
    Donc en vhdl a = "1111".
    Mais si j'en ai :
    Ça correspond quoi en VHDL?? Est ce qu'il va faire le complément à 2 ??
    Je vais envoyer des nombres négatifs de code C vers un code VHDL ce pourquoi je pose la question.

    Merci.

  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,

    Pour représenter les nombres négatifs dans les systèmes numériques on utilise de nos jours "le complément à deux".
    Il y a eu quelques essais en utilisant le complément à un (calculateur de bord des missions Apollo), mais ça n'existe plus.

    Pour donner le signe d'un nombre on utilise le bit de poids le + fort, mais ce n'est qu'une interprétation:
    Quoi qu'il arrive "1111" reste une suite de bits, mais si tu considères qu c'est un entier non signé alors ça vaut 15.
    Si tu considères que c'est un entier signé alors ça vaut -1.

    En VHDL si tu veux faire explicitement ce choix tu peux utiliser les types "signed" et "unsigned". Il se comportent comme le std_logic_vector

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
     
    signal relatif      : signed(15 downto 0);
    signal naturel    : unsigned(15 downto 0);

    a= 15;
    Donc en vhdl a = "1111"
    Mais si j'en ai :
    a=-15;
    a=-15 Donc a = "10001". Il te faut un bit de +.

Discussions similaires

  1. Représentation hexa d'un nombre négatif
    Par sone47 dans le forum MATLAB
    Réponses: 3
    Dernier message: 21/02/2007, 17h26
  2. multiplication d'un nombre négatif
    Par tets88 dans le forum Access
    Réponses: 5
    Dernier message: 05/05/2006, 16h39
  3. Problème de tri de nombre négatif dans un état
    Par loutsky dans le forum Access
    Réponses: 11
    Dernier message: 21/04/2006, 14h30
  4. [D7 Ent. / XP] Trunc() sur un nombre négatif
    Par Magnus dans le forum Langage
    Réponses: 14
    Dernier message: 17/06/2005, 16h45
  5. [68000] EXT nombre négatif
    Par fastzombi dans le forum Autres architectures
    Réponses: 2
    Dernier message: 02/05/2004, 12h17

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