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

Langage_VHDL



  1. #1
    elec_cup
    Invité

    Langage_VHDL


    ------

    Bonjour,

    process
    begin
    RS_232<=(others=>'0');
    loop
    wait until donnees'event;
    RS_232<= donnees&"000000000000000000000 0";
    wait until donnees_2'event;
    RS_232<= (RS_232 10 downto 0) & (donnees_2 21 downto 11) & "00000000000";
    wait until donnees_3'event;
    RS_232<=(RS_232 21 downto 0) & donnees_3;
    end loop;
    end process;
    -----------------------------------------------------------------

    RS_232 est un std_logic_vector de 33 bits égal à 3*11 bits, ces trois mots étant donnees, donnees_2 et donnees_3.
    Lorsque donnees_2'event, je veux garder sur RS_232 les 11 premiers bits de donnees, et donc mettre donnees_2 sur les bits (11 à 21) de RS_232, et lorsque donnees_3'event, je veux mettre donnees_3 sur les bits (22 à 32) de RS_232.

    Je ne sais pas écrire ces lignes de codes !!
    Je ne sais ps assigné ces valeurs à RS_232 !!

    Cordialement

    DELALIN Ambroise

    -----

  2. #2
    jiherve

    Re : Langage_VHDL

    Bonsoir,
    encore une fois du non shynthétisable mais passons.
    si RS_232 c'est un std_logic_vector(32 downto 0) et données_x des std_logic_vector(10 downto 0) alors
    RS_232<= donnees&"000000000000000000000 0";
    RS_232<= (donnees & "00000000000000000000000") ;
    manque un zéro

    RS_232<= (RS_232 10 downto 0) & (donnees_2 21 downto 11) & "00000000000";
    RS_232<= (RS_232( 32 downto 22) & donnees_2 & "00000000000");

    RS_232<=(RS_232 21 downto 0) & donnees_3;
    RS_232<=(RS_232 (32 downto 11) & donnees_3);
    JR
    l'électronique c'est pas du vaudou!

  3. #3
    invitea613d208

    Re : Langage_VHDL

    Je ne sais pas écrire ces lignes de codes !!
    Je ne sais ps assigné ces valeurs à RS_232 !!
    Mais j'ai été dotés des mots usuels de politesse !

  4. #4
    elec_cup
    Invité

    Re : Langage_VHDL

    Bonjour,

    merci jiherve de ta réponse.
    Qu'entends-tu par non synthétisable ? Sachant que j'ai fais un test_bench pour le simuler.


    Cordialement DELALIN Ambroise

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

    Re : Langage_VHDL

    Bonsoir,
    non synthétisable cela signifie que bien que ton code soit simulable il ne peut être converti en portes logique.
    ici avec un bon compilo c'est peut être possible avec l'instanciation de comparateur, mais le résultat sera lamentable car de facto cela induit des latch,or le latch est un péché mortel (dix pater et trois ave au minimum)
    Si tu veux faire du code synthetisable cela doit commencer par
    process(resetn, clock)
    begin
    il resetn = '0' then
    .....
    elsif rising_edge(clock) then
    ....
    end if;
    end process;
    bien sur des assignations purement combinatoires sont possibles mais il faut à tout prix éviter les latch.
    JR
    l'électronique c'est pas du vaudou!

  7. #6
    elec_cup
    Invité

    Re : Langage_VHDL

    Bonjour.

    Que signifie les mots techniques pater et ave ?
    Ensuite pour éviter les lacth's, il faut donc toujours mettre une liste de sensibilité dans les process? ==> Ceci inclut donc de ne plus utiliser de 'wait' ?
    Ensuite, malgrès tout ces changements, l'utilisation de l'instanciation par un port map est-il toujours utilisable ?
    Ensuite :
    "Bien sur des assignations purement combinatoires sont possibles mais il faut à tout prix éviter les latch" ==> Il suffit de ne pas utiliser de 'wait' non ?


    En vous remerciant !

    Cordialement

    DELALIN Ambroise

  8. #7
    jiherve

    Re : Langage_VHDL

    Citation Envoyé par elec_cup Voir le message
    Bonjour.

    Que signifie les mots techniques pater et ave ?

    DELALIN Ambroise
    Toi tu n'es jamais allé au catéchisme !

    Les latch apparaissent des que l'on a un assignation du type:
    If toto = '1' then
    titi <= tata;
    end if;
    si écrit en dehors d'un process synchrone.
    ou bien titi <= tata when toto = '1';
    ou bien effectivement avec un wait.
    JR
    l'électronique c'est pas du vaudou!

  9. #8
    elec_cup
    Invité

    Re : Langage_VHDL

    Et si !
    J'ai été au cathéchisme mais cela s'oublie bien vite ^^
    Merci de ta réponse.

    Cordialement

    DELALIN Ambroise

Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...