Bonjour, cliquez-ici pour vous inscrire et participer au forum.
  • Login:



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

vhdl

  1. sound

    Date d'inscription
    décembre 2007
    Messages
    19

    vhdl

    bonjour,
    en vhdl, comment fait-on pour affecter une même valeur pour plusieurs sorties ?
    par exemple, est-ce qu'on peut écrire :
    H, K, P <="00001";

    merci de vos reponses.

    -----

     


    • Publicité



  2. sound

    Date d'inscription
    décembre 2007
    Messages
    19

    Re : vhdl

    Citation Envoyé par sound Voir le message
    bonjour,
    en vhdl, comment fait-on pour affecter une même valeur pour plusieurs sorties ?
    par exemple, est-ce qu'on peut écrire :
    H, K, P <="00001";

    merci de vos reponses.
    comment faire, svp ?
     

  3. Jack

    Date d'inscription
    avril 2003
    Localisation
    Metz
    Messages
    16 103

    Re : vhdl

    je dirais:
    H <="00001";
    K <="00001";
    P <="00001";
     

  4. sound

    Date d'inscription
    décembre 2007
    Messages
    19

    Re : vhdl

    et si par exemple il y a plus de 100 sorties qui ont la même valeur, est-ce qu'il faut nécessairement écrire toutes les sorties une à une ?
     

  5. Jack

    Date d'inscription
    avril 2003
    Localisation
    Metz
    Messages
    16 103

    Re : vhdl

    Je te rappelle que l'opérateur <= n'est pas celui d'une affectation, mais celui d'une connexion électrique. Pas question d'utiliser une boucle comme dans un langage informatique.

    Je pense qu'il peut être possible de limiter le nombre d'opérations en déclarant un grand vecteur qui serait la concaténation de H, K, P, etc.

    A+
     


    • Publicité



  6. sound

    Date d'inscription
    décembre 2007
    Messages
    19

    Re : vhdl

    quelle différence entre <= et = ?
     

  7. Jack

    Date d'inscription
    avril 2003
    Localisation
    Metz
    Messages
    16 103

    Re : vhdl

    le symbole = est celui de l'égalité lors d'une comparaison. Ca n'a rien a voir avec <=

    Vus les questions que tu poses, tu devrais consulter un peu de doc. On en trouve pour tous les niveaux et en Français assez facilement.

    A+
     

  8. sound

    Date d'inscription
    décembre 2007
    Messages
    19

    Re : vhdl

    merci, mais comment fait-on pour mettre plusieurs valeurs après when
    par exemple, si je veux que s devienne f quand cc="01" "11" "10"
    with cc select
    s <= f when "01" et ?
     

  9. jiherve

    Date d'inscription
    juin 2006
    Localisation
    gironde
    Âge
    65
    Messages
    15 177

    Re : vhdl

    Bonsoir
    plusieurs solutions mais qui reviennent au même:
    déclarer les sortie comme une array :
    type sortie_typ array 0 to x of std_logic_vector(5 downto 0);
    sortie : sortie_typ;

    alors on peut écrire:
    loop_init : for i in 0 to x loop
    sortie(i) <= "00001";
    end loop loop_init;

    ou bien c'est plus élégant

    sortie <= (others => ((0) => '1', others=>'0'));
    attention à l'emballage dans des process ad'hoc

    s <= f when toto = "01" or toto= "xy" .......else t;
    JR
     

  10. Jack

    Date d'inscription
    avril 2003
    Localisation
    Metz
    Messages
    16 103

    Re : vhdl

    Sound, je te laisse entre les mains DU spécialiste du forum

    A+
     

  11. sound

    Date d'inscription
    décembre 2007
    Messages
    19

    Re : vhdl

    comment mettre plusieurs sorties après :
    with adr select

    par exemple
    with adr select
    a <= '1' when "011", '0' when "001";
    c <= "010" when "010", "111" when "110";

    est-ce que c'est bon ?
     

  12. sound

    Date d'inscription
    décembre 2007
    Messages
    19

    Re : vhdl

    Citation Envoyé par sound Voir le message
    comment mettre plusieurs sorties après :
    with adr select

    par exemple
    with adr select
    a <= '1' when "011", '0' when "001";
    c <= "010" when "010", "111" when "110";

    est-ce que c'est bon ?
    comment mettre plusieurs sorties après :
    with adr select ?
     

  13. jiherve

    Date d'inscription
    juin 2006
    Localisation
    gironde
    Âge
    65
    Messages
    15 177

    Re : vhdl

    Bonjour
    c'est l'équivalent concurrent d'un CASE donc il manque le when others car si tu manipules des signaux ou variable de type st_logic alors chaque élément possède 9 états possibles et que '0' ou '1' cela n'en fait que deux!
    Je n'utilise jamais cette construction mais je doute que ton écriture soit juste!
    Il faut repeter le with...
    Avec un Case c'est plus simple!
    JR
    Dernière modification par jiherve ; 09/12/2007 à 15h33.
     


    • Publicité







Sur le même thème :





 

Discussions similaires

  1. langage vhdl
    Par sound dans le forum Électronique
    Réponses: 1
    Dernier message: 15/12/2007, 08h51
  2. vhdl
    Par pol5700 dans le forum Électronique
    Réponses: 117
    Dernier message: 30/03/2007, 00h29
  3. vhdl
    Par eagle_75 dans le forum Électronique
    Réponses: 5
    Dernier message: 29/03/2007, 20h52
  4. vhdl
    Par koko720 dans le forum Électronique
    Réponses: 0
    Dernier message: 17/11/2006, 00h41