vhdl - Page 3
Répondre à la discussion
Page 3 sur 4 PremièrePremière 3 DernièreDernière
Affichage des résultats 61 à 90 sur 118

vhdl



  1. #61
    pol5700

    Re : vhdl


    ------

    ha ok j'avais pas compris sa comme sa dsl

    -----

  2. #62
    Jack
    Modérateur

    Re : vhdl

    il manque begin après process

    je propose également de remplacer
    Code:
    compte(7 downto 0) <= std_logic_vector(to_unsigned(1 58,8));
    elsif valid = '0' and mono_i = '1' then--pendant la durée du bit et tant que le bit 8 du compteur reste à 1 on décompte , donc cela décompte de 256+158 à 255 donc 160 periodes [/b]
    compte <= std_logic_vector(unsignedv(com pte) -1);
    par

    Code:
    compte(7 downto 0) <= "10011110";
    elsif valid = '0' and mono_i = '1' then--pendant la durée du bit et tant que le bit 8 du compteur reste à 1 on décompte , donc cela décompte de 256+158 à 255 donc 160 periodes [/b]
    compte <= compte - 1;

  3. #63
    jiherve

    Re : vhdl

    Re
    En effet cela évite le recours à to_unsigned qui est défini dans numeric_std que manifestement MaxplusII ne connait pas
    pour le begin je l'avais déja signalé mais comme par flemme j'ai recopié son code il reste manquant.
    JR

  4. #64
    Jack
    Modérateur

    Re : vhdl

    Syntaxiquement, en tout cas, ça passe maintenant.

    A pol5700 de jouer pour la suite

  5. #65
    Jack
    Modérateur

    Re : vhdl

    on peut de plus ramener ces 2 lignes

    compte(8) <= '1';
    compte(7 downto 0) <= "10011110";

    à une seule

    compte(8 downto 0) <= "110011110";

  6. #66
    pol5700

    Re : vhdl

    [QUOTE=Jack;1038635]on peut de plus ramener ces 2 lignes

    compte(8) <= '1';
    compte(7 downto 0) <= "10011110";

    à une seule

    compte(8 downto 0) <= "110011110";[/QUOTE]

    ya une erreur avec ta derniere ligne il me dit.

    es tu sur qu'il faille mettre des " " et non ' ' ??


    ci joint le message d'erreur lors de la compilation

    qu'en pensez vous? tjs une erreur de syntaxe?
    Images attachées Images attachées  

  7. #67
    pol5700

    Re : vhdl

    Code:
    entity monostable is
    port
    	(
    	clk,valid,clrn: in std_logic;
    	mono: out std_logic
    	);
    end monostable;
    
    architecture arch_monostable of monostable is
    
    signal compte : std_logic_vector(8 downto 0);
    signal raz_i : std_logic;
    alias mono_i : std_logic is compte(8);
    
    
    begin
    Process(Clk, clrn)
    begin
    If clrn = '0' then -- reset asynchrone à la mise sous tension au moins on sait d'où l'on part
    compte <= (others => '0');
    raz_i <= '1';
    elsif rising_edge(clk) then -- on fait du synchrone et pas de la zoubida
    raz_i <= valid;-- retard d'un coup d'horloge pour détecter le front descendant, cela suppose que valid est synchrone de l'horloge 
    if valid = '0' and raz_i = '1' then --détection front descendant on charge le compteur a 256 + 158
    compte(8 downto 0) <= '110011110';
    elsif valid = '0' and mono_i = '1' then--pendant la durée du bit et tant que le bit 8 du compteur reste à 1 on décompte , donc cela décompte de 256+158 à 255 donc 160 periodes [/b]
    compte <= compte - 1;
    end if;
    end if;
    end begin;
    end process;
    mono <= mono_i ;
    raz <= raz_i ;
    
    end arch_monostable;
    voila le prog comme j'ai voulu le simuler!

  8. #68
    Jack
    Modérateur

    Re : vhdl

    Je n'ai pas d'erreur de compil

    Voilà mon fichier:

    PS : indente ton source, c'est illisible

  9. #69
    pol5700

    Re : vhdl

    tu compil avec quoi?

    max+plus2???

    avec le prog que je vien de mettre???

    pkoi j'ai des erreur lol

  10. #70
    pol5700

    Re : vhdl

    ok deja j'avais mi une ligne de code en trop, un begin end

    mais j'ai tjs pas reussi a simuler!

    les 2 prog sont pareil, le tien me dit qu'il y a deja une entity du meme nom mais en la changeant, l'erreur est tjs la.


    pkoi dans ton prog tu as mis raz en sortie???

    t'es sur pour les " " et non ' '??

  11. #71
    jiherve

    Re : vhdl

    Re
    Jack à recopié le code que je t'ai écris, j'avais mis raz en sortie des fois que tu en ai besoin ailleurs.
    et " " au lieu de ' ' c'est parce que c'est la syntaxe correcte.
    JR

  12. #72
    pol5700

    Re : vhdl

    faut mettre des " " partout ou juste sur les code binaire.

    les '0' ou '1' : c'est la bonne syntaxe?

    pkoi mon logiciel me parle d'une entity pareil???

  13. #73
    jiherve

    Re : vhdl

    re
    qu'entends tu par partout ?
    les " " ce sont des délimiteurs de chaine de caractères (string) on ne les utilise que dans ce but.
    JR

  14. #74
    pol5700

    Re : vhdl

    ben ya plein de '0' '1' dans le prog
    c'est la bonne syntaxe ou il faut mettre "1" "0"???

    pour mon erreur, sais tu d'ou sa vien???

  15. #75
    Jack
    Modérateur

    Re : vhdl

    '0' ou '1' c'est pour des bits
    "00101" c'est pour des vecteurs.

    Je compile avec MAX+PLUSII

    Le source est celui que j'ai placé en fichier joint plus tôt. C'est celui de jiherve avec les petites modif de syntaxe.

    A+

  16. #76
    jiherve

    Re : vhdl

    Re
    non la syntaxe est bonne!
    JR

  17. #77
    pol5700

    Re : vhdl

    lol bizar que chez moi il me dit que l'entity est la meme

    voila le mess d'erreur:


    "test" must contain an entity of the same name

  18. #78
    Jack
    Modérateur

    Re : vhdl

    je ne vois pas comment il peut trouver "test" quelque part vu que ce mot ne figure nulle part dans le source.

  19. #79
    pol5700

    Re : vhdl

    non "test" c'est le nom sous laquel je l'ai enregistré.

  20. #80
    pol5700

    Re : vhdl

    lol le truc trop con!

    je pensai pas que le nom changé quelques chose a la simul!

    c'est bon c'est simuler.

    merci, je vais voir le resultat.

    merci pour tout.

    chaud quand meme le vhdl!

  21. #81
    Jack
    Modérateur

    Re : vhdl

    Citation Envoyé par pol5700 Voir le message
    non "test" c'est le nom sous laquel je l'ai enregistré.
    Il FAUT que le nom du fichier corresponde à celui de l'entité.

  22. #82
    jiherve

    Re : vhdl

    Citation Envoyé par jiherve Voir le message
    re
    qu'entends tu par partout ?
    les " " ce sont des délimiteurs de chaine de caractères (string) on ne les utilise que dans ce but.
    JR
    Precision dans le cas qui nous interesse c'est bien une chaine de caractères (0 et 1) qui est convertie en valeur logique std_logic_vector on aurait pu aussi ecrire:
    compte(8 downto 0) <= "ZZZZZZZZZ";-- haute impedance
    ou
    compte(8 downto 0) <= "UUUUUUUUU";
    etc etc
    car il ne faut pas oublier qu'un un signal de type std_logic possède 9 etats possibles.
    JR

  23. #83
    pol5700

    Re : vhdl

    voila apres test je peu dire sa marche pas lol!

    j'explique!

    la sortie raz recopie l'entrée valid.

    la sortie mono detecte bien le front descendant mais ne revien pas a 1 apres les 160 impulsions d'horloge, elle reste a 1 et sa meme sur une tré grande durée de simulation.

    l'entrée clrn ne sert a rien vu qu'elle doit etre active a la fin du comptage.

    c'est moi qui est mal simuler ou alors sa bug?

    jack sa ta donné quoi toi?

  24. #84
    jiherve

    Re : vhdl

    re
    question ton signal valid est il plus long ou plus petit que 160 periode d'horloge ?
    Le clrn il sert au debut .
    Le code tel qu'il est est fait pour un signal valid plus grand que 160 periodes.
    si ce n'est pas le cas changes:
    elsif valid = '0' and mono_i = '1' then
    par
    elsif mono_i = '1' then
    JR

  25. #85
    pol5700

    Re : vhdl

    clk est 160 fois plus rapide que valid.
    le clrn est une entrée? il sert just a remettre tout a zéro au debut? c'est pas lui qui remet a zéro le compteur quand il est a 160?

  26. #86
    pol5700

    Re : vhdl

    mtn sa marche mieu, mais raz recopis tjs valid.

    mono est bien plus long que 160periode

    pis cmt faire pour que le clrn ne soi pas une entrée, qu'il se gere tout seul, car la c'est moi qui doit mettre une impulsion.

  27. #87
    pol5700

    Re : vhdl

    autre question la sa me fait un monostable redeclenchable, or sa serai cool si c'été un monostable non redeclenchable.

    c'est pour cela qu'il est beaucoup trop long!

    meric

  28. #88
    Jack
    Modérateur

    Re : vhdl

    J'essaierai d'ajouter une condition sur la valeur du compteur pour lancer la tempo

    .... and compteur = ...

    ce qui permettrait de relancer la tempo que lorsque le compteur est revenu à sa valeur initiale.

    A+

  29. #89
    pol5700

    Re : vhdl

    ha jpe faire des and.....?

    a quel moment tu mettrai cette ligne de code?

  30. #90
    jiherve

    Re : vhdl

    Bonsoir
    Bien sur que raz recopie valid puisque il y ajuste un retard d'un coup d'horloge entre les deux.
    Si tu veux un mono non retriggerable tu écris:
    if valid = '0' and raz_i = '1' and mono_i = '0' then
    ...
    elsif mono_i = '1' then
    ...
    end if;
    JR

Page 3 sur 4 PremièrePremière 3 DernièreDernière

Discussions similaires

  1. langage vhdl
    Par invite21ed25dc dans le forum Électronique
    Réponses: 1
    Dernier message: 15/12/2007, 07h51
  2. vhdl
    Par invite21ed25dc dans le forum Électronique
    Réponses: 12
    Dernier message: 09/12/2007, 14h29
  3. vhdl
    Par invitedcb8d9bb dans le forum Électronique
    Réponses: 5
    Dernier message: 29/03/2007, 19h52
  4. vhdl
    Par invite4add737e dans le forum Électronique
    Réponses: 0
    Dernier message: 16/11/2006, 23h41
Découvrez nos comparatifs produits sur l'informatique et les technologies.