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

Vhdl



  1. #1
    cam18

    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. Publicité
  3. #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!

  4. #3
    cam18

    Re : Vhdl

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

  5. #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».

  6. A voir en vidéo sur Futura
  7. Comparatifs

    Gagnez du temps et de l'argent grâce à nos comparatifs de produits. Parmi nos sujets :
  8. #5
    cam18

    Re : Vhdl

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

  9. #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

  10. Publicité
  11. #7
    cam18

    Re : Vhdl

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

  12. #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».

  13. #9
    cam18

    Re : Vhdl

    Merci beaucoup pour toutes vos réponses !

  14. #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 george12 dans le forum Électronique
    Réponses: 2
    Dernier message: 09/12/2008, 21h59
  2. Point flottant en VHDL et vhdl-200x
    Par grel08128103 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 eagle_75 dans le forum Électronique
    Réponses: 5
    Dernier message: 29/03/2007, 19h52
Découvrez nos comparatifs produits sur l'informatique et les technologies.