vhdl nexys3 compteur de signal
Répondre à la discussion
Affichage des résultats 1 à 5 sur 5

vhdl nexys3 compteur de signal



  1. #1
    yoann30

    vhdl nexys3 compteur de signal


    ------

    coucou la communauté
    excusez moi je suis confronté a un probleme sur un code vhdl
    (je suis sur nexys3)
    en gros ce code serais un compteur de signal
    je m'explique
    a chaque changement de valeur sur I_octet
    je doit avoir ( en valeur binaire visible sur les led de la nexys) un +1
    comme O_octet est codé sur 3 bit ,a "111" je fait un reset sur O_octet
    mon probleme est que je n'ai aucune led qui s'allume
    en revanche le code se compile sans erreur

    Code:
    library IEEE;
    use IEEE.STD_LOGIC_1164.ALL;
    use IEEE.STD_LOGIC_ARITH.ALL; 
    use IEEE.STD_LOGIC_UNSIGNED.ALL;
    use IEEE.NUMERIC_STD.ALL;
    
    
    
    entity compteur_signal is
    
        Port (                           
                       I_octet   : in  STD_LOGIC_VECTOR (7 downto 0); --signaux a compter
    		   clk         : in  STD_LOGIC;-----------------------horloge (je sais pas trop pourquoi j'en mets une pour l'instant 
                       
                       O_octet : out  STD_LOGIC_VECTOR (2 downto 0));--signal de sortie j'affiche en val num sur mes led 
    
    
    end compteur_signal ;
    
    architecture Behavioral of compteur_signal is
    		
    
          signal S_O_octet : std_logic_vector (2 downto 0) :="000" ;-- crée pour travailler tranquilement sur O_octet
          signal S_I_octet : std_logic_vector (7 downto 0);-- crée pour travailler tranquilement sur I_octet
    
    begin
    	
    	S_I_octet <= I_octet;-- association  de I_octet a son signal
    	process (S_I_octet,clk)  --------------------remettre clock dans les sensitives
    
    begin
    --	
            S_O_octet <= "000";
    	if clk'event and clk='1' then 
    	if S_I_octet /= S_I_octet then
            S_O_octet <= S_O_octet +1;
    
    			end if;
    		END IF ;	
    	end process;
    	
    	process ( clk)
    		if clk'event and clk='1' then 
    			if S_O_octet = "111"then
    				S_O_octet <= "000";
    			end if;
    		
    	end process;
    O_octet <= S_O_octet; -- association  de o_octet a son signal
    end Behavioral;

    merci de me signaler la ou surement les erreurs que vous voyez m'voyez
    bonne soirée

    -----
    Dernière modification par Antoane ; 08/04/2015 à 15h17. Motif: Ajout balises [/code]

  2. #2
    indri

    Re : vhdl nexys3 compteur de signal

    Comme dit dans mon mp, met les balises [CODE] pour la visibilité

    Sinon la ligne:
    Code:
    if S_I_octet /= S_I_octet then
    si '/=' veut bien dire différent (ca fait longtemps donc plus trop sure ^^) ben ce if est tout le temps faux!

    S_I_octet <= I_octet; dans ce cas-ci c'est inutile, pareil pour celui de sortie...si tu les laissais dans le process clocké à la limite...

    anecdotique:
    if clk'event and clk='1' then

    Tu peux le remplacer par
    if rising_edge(clk) then
    Là où va le vent...

  3. #3
    jiherve

    Re : vhdl nexys3 compteur de signal

    Bonjour,
    plusieurs erreurs, celle signalé par Indri et aussi l'affectation de S_O_octet dans deux process concurrents, ça c'est mortel
    voilà un code qui doit fonctionner, je ne l'ai toutefois pas compilé, à l'avenir utilise la balise code disponible
    Code:
    library IEEE;
    use IEEE.STD_LOGIC_1164.ALL;
    --use IEEE.STD_LOGIC_ARITH.ALL; inutile overloading de package
    --use IEEE.STD_LOGIC_UNSIGNED.ALL;inutile overloading de package
    use IEEE.NUMERIC_STD.ALL;
    
    
    
    entity compteur_signal is
    
    Port (
    I_octet : in STD_LOGIC_VECTOR (7 downto 0); --signaux a compter
    clk : in STD_LOGIC;-----------------------horloge (je sais pas trop pourquoi j'en mets une pour l'instant
    reset : in STD_LOGIC; -- il faut toujours un reset
    
    O_octet : out STD_LOGIC_VECTOR (2 downto 0));--signal de sortie j'affiche en val num sur mes led
    
    
    end compteur_signal ;
    
    architecture Behavioral of compteur_signal is
    
    
    signal S_O_octet : std_logic_vector (2 downto 0) :="000" ;-- crée pour travailler tranquillement sur O_octet
    signal S_I_octet : std_logic_vector (7 downto 0);-- crée pour travailler tranquillement sur I_octet
    
    begin
    
       process (reset,clk) --------------------remettre clock dans les sensitives
    
      begin 
        if reset = '0' then
         S_O_octet <= (others => '0');
        elsif rising_edge(clk) then
          if S_I_octet /= I_octet then
            if S_O_octet /= "111" then
             S_O_octet <= S_O_octet +1;
           else
             S_O_octet <=(others => '0');
           end if;
         S_I_octet <= I_octet;--memorisation
      end if;
    END IF ;
    end process;
    
    O_octet <= S_O_octet; -- association de o_octet a son signal
    end Behavioral;
    JR
    l'électronique c'est pas du vaudou!

  4. #4
    yoann30

    Re : vhdl nexys3 compteur de signal

    merci beaucoup pour vos reponse en revanchepour les balises code
    je sais pas trop commment faire
    merci pour ton code la je peut pas trop compiler je viens d'acheter un portable en urgence je suis sous w8 et je ne peut meme pas creer un dual boot jai pas acces au bios
    sous pretexte de t'interesser au vhdl ils pensent que t'aime les bit a toute les sauces pfffff

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

    Re : vhdl nexys3 compteur de signal

    Citation Envoyé par yoann30 Voir le message
    en revanchepour les balises code
    je sais pas trop commment faire
    Dans le mode 'Répondre' tu as l'outil 'CODE' (#) dans les options au dessus (pas en mode 'réponse rapide'), tu sélectionne le texte puis tu clique dessus!
    Ou tu rajoute manuellement [CODE] blblatoncode [/ CODE] (sans l'espace)
    Là où va le vent...

Discussions similaires

  1. Problème VHDL compteur synchrone
    Par justind1989 dans le forum Électronique
    Réponses: 22
    Dernier message: 17/10/2014, 11h04
  2. description vhdl et compteur
    Par mathy11 dans le forum Électronique
    Réponses: 10
    Dernier message: 14/06/2012, 18h14
  3. compteur/decomteur en VHDL
    Par cherwam07 dans le forum Électronique
    Réponses: 20
    Dernier message: 28/01/2009, 08h24
  4. [VHDL] Compteur Modulo N
    Par invitef9e6be50 dans le forum Électronique
    Réponses: 3
    Dernier message: 26/01/2007, 19h53
  5. compteur vhdl
    Par inviteacb3e291 dans le forum Électronique
    Réponses: 1
    Dernier message: 15/11/2006, 10h31
Découvrez nos comparatifs produits sur l'informatique et les technologies.