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 :

Description comportementale : résultats décalés décodeur 2 vers 4


Sujet :

VHDL

  1. #1
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Octobre 2017
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2017
    Messages : 2
    Points : 3
    Points
    3
    Par défaut Description comportementale : résultats décalés décodeur 2 vers 4
    Bonjour, j'ai un problème que je ne comprend pas, j'essaie de décrire en comportemental un décodeur 2 vers 4, qui a donc deux entrées (E1 et E0) et quatre sorties (S3, S2, S1 et S0).
    Pour déterminer les sorties dans le process, je convertis la concaténation de E1 et E0 en entier et je fais un CASE pour exprimer les sorties.
    J'ai donc fais ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    ARCHITECTURE comp OF dec2to4 IS
    BEGIN 
     
      PROCESS (E1, E0)
        VARIABLE numSortie : INTEGER;
      BEGIN
        numSortie := TO_INTEGER(UNSIGNED(STD_LOGIC_VECTOR'(E1 & E0)));
        CASE numSortie IS
          WHEN 0 => 
            S3 <= '0';
            S2 <= '0';
            S1 <= '0';
            S0 <= '1';
          WHEN 1 => 
            S3 <= '0';
            S2 <= '0';
            S1 <= '1';
            S0 <= '0';
          WHEN 2 => 
            S3 <= '0';
            S2 <= '1';
            S1 <= '0';
            S0 <= '0';
          WHEN 3 => 
            S3 <= '1';
            S2 <= '0';
            S1 <= '0';
            S0 <= '0';
          WHEN OTHERS =>
            S3 <= '0';
            S2 <= '0';
            S1 <= '0';
            S0 <= '0';
        END CASE;
      END PROCESS;
    END ARCHITECTURE comp;
    Et là il n'y a pas de problèmes, ça fonctionne :
    Nom : wave1.JPG
Affichages : 1265
Taille : 35,9 Ko

    Maintenant j'ai voulu mettre le signal de sortie dans un signal intermédiaire et connecter ce signal aux vraies sorties seulement à la fin du process :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    ARCHITECTURE comp OF dec2to4 IS
      SIGNAL S : STD_LOGIC_VECTOR(3 DOWNTO 0);
    BEGIN 
     
      PROCESS (E1, E0)
        VARIABLE numSortie : INTEGER;
      BEGIN
        numSortie := TO_INTEGER(UNSIGNED(STD_LOGIC_VECTOR'(E1 & E0)));
     
        CASE numSortie IS
        WHEN 0 => 
          S <= "0001";
        WHEN 1 => 
          S <= "0010";
        WHEN 2 => 
          S <= "0100";
        WHEN 3 => 
          S <= "1000";
        WHEN OTHERS =>
          S <= "0000";
        END CASE;
     
        (S3, S2, S1, S0) <= S;
        END CASE;
      END PROCESS;
    END ARCHITECTURE comp;
    Et là voilà ce que j'obtiens :
    Nom : wave2.JPG
Affichages : 1257
Taille : 36,4 Ko

    Pourquoi il me dit que le signal est undefined ? C'est comme si tout était décalé, je comprends pas...

  2. #2
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Octobre 2017
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2017
    Messages : 2
    Points : 3
    Points
    3
    Par défaut
    J'ai trouvé, au lieu de déclarer un signal il fallait déclarer une variable dans le process.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Exportation] résultat zone de liste vers word
    Par popof60 dans le forum Access
    Réponses: 4
    Dernier message: 03/04/2007, 11h15
  2. Envoyer les résultats d'un formulaire vers un fichier plat
    Par juan_di_nissa dans le forum Langage
    Réponses: 4
    Dernier message: 02/03/2007, 13h10
  3. Export le résultat d'une requette vers Excel
    Par aityahia dans le forum Coldfusion
    Réponses: 3
    Dernier message: 05/12/2006, 21h56
  4. Réponses: 8
    Dernier message: 28/09/2006, 15h56
  5. Envoyer résultat d'une popup vers son window.parent
    Par LFC dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 05/12/2004, 11h18

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