Vhdl
Répondre à la discussion
Affichage des résultats 1 à 10 sur 10

Vhdl



  1. #1
    invited701b211

    Vhdl


    ------

    Bonjour,

    Je suis en train de coder un composant en VHDL et pour se faire, j'ai besoin de racorder deux composants entre eux. Le problème est que la sortie du premier est codée sur 8 bits alors que l'entré du second est codée sur 64 bits.
    Comment faire pour ajouter suffisamment de zéros à mon premier signal ?
    J'ai essayé par concaténation mais je n'y suis pas arrivée.

    Le problème se pause également dans l'autre sens : une fois sortie de mon composant en 64 bits je dois de nouveau repasser le signal en 8 bits.

    Merci d'avance.

    -----

  2. #2
    jiherve

    Re : Vhdl

    Bonsoir,
    assez rigolo comme usage!
    signal toto : std_logic_vector(7 downto 0);
    signal titi : std_logic_vector(63 downto 0);
    constant tata : std_logic_vector(55 downto 0) := (others => '0');
    Begin
    titi <= (tata & toto);-- aligné sur lsb
    ou
    titi <= (toto & tata );-- aligné sur msb
    end;
    dans l'autre sens:
    toto <= titi(7 downto 0);-- lsb
    ou
    toto <= titi(63 downto 56);-- msb
    JR
    l'électronique c'est pas du vaudou!

  3. #3
    invited701b211

    Re : Vhdl

    Merci beaucoup, débutant en vhdl je ne voyait pas du tout comment faire.

  4. #4
    stefjm

    Re : Vhdl

    Bonjour,
    Je préfixerais les noms de variable avec leur type pour ne pas me mélanger les pinceaux :
    Par exemple :
    Code:
      signal stv8Toto : std_logic_vector(7 downto 0);
    Cordialement.
    Moi ignare et moi pas comprendre langage avec «hasard», «réalité» et «existe».

  5. A voir en vidéo sur Futura
  6. #5
    invited701b211

    Re : Vhdl

    C'est en effet une bonne idée. Merci du conseil.

  7. #6
    Hayuki

    Re : Vhdl

    sans vouloir vous offenser :
    moi je ferais plus simplement :

    titi(7 downto 0) <= toto;
    ou
    titi(24 downto 14) <= toto;
    ou
    titi(20 downto 13) <= toto;
    ou
    ...
    enfin ce qui vous chante

  8. #7
    invited701b211

    Re : Vhdl

    Mais dans ce cas là, les autres bits seront initialisés à zéro ?

  9. #8
    stefjm

    Re : Vhdl

    Citation Envoyé par Hayuki Voir le message
    titi(24 downto 14) <= toto;
    Toto n'est pas de bonne taille, d'où l'intérêt du préfixe qui donne le type et la taille.
    Citation Envoyé par cam18 Voir le message
    Mais dans ce cas là, les autres bits seront initialisés à zéro ?
    Non bien sûr, d'où l'intérêt de la concaténation.
    Moi ignare et moi pas comprendre langage avec «hasard», «réalité» et «existe».

  10. #9
    invited701b211

    Re : Vhdl

    Merci beaucoup pour toutes vos réponses !

  11. #10
    jiherve

    Re : Vhdl

    Bonsoir,
    Citation Envoyé par Hayuki Voir le message
    sans vouloir vous offenser :
    moi je ferais plus simplement :

    titi(7 downto 0) <= toto;
    ou
    titi(24 downto 14) <= toto;
    ou
    titi(20 downto 13) <= toto;
    ou
    ...
    enfin ce qui vous chante
    Oui et cela produit de la daube comme celle que je suis malheureusement obligé de corriger tous les jours.
    Le VHDL est un langage fortement structuré et typé mais le résultat ne vaux pas plus que la façon qu'on a de l'écrire.
    une autre façon correcte de l'écrire est:
    begin
    titi <= (others => '0');
    titi(7 downto 0) <= toto;
    end;
    C'est une affectation concurrente, l'un des must de ce langage.
    Sans vouloir t'offenser.
    JR
    l'électronique c'est pas du vaudou!

Discussions similaires

  1. Vhdl
    Par invite35890bd8 dans le forum Électronique
    Réponses: 2
    Dernier message: 09/12/2008, 21h59
  2. Point flottant en VHDL et vhdl-200x
    Par invite6eee6b27 dans le forum Logiciel - Software - Open Source
    Réponses: 0
    Dernier message: 02/09/2008, 19h47
  3. vhdl
    Par pol5700 dans le forum Électronique
    Réponses: 117
    Dernier message: 29/03/2007, 23h29
  4. vhdl
    Par invitedcb8d9bb dans le forum Électronique
    Réponses: 5
    Dernier message: 29/03/2007, 19h52
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...