Contador de 0 a 9

 


LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
 
ENTITY CONTDOR_0_TO_9 IS
   
              PORT ( CLICK : IN  STD_LOGIC;
           INI : IN  STD_LOGIC;
           RESET : IN  STD_LOGIC;
           DISPLY : OUT  STD_LOGIC_VECTOR(6 DOWNTO 0)
                                           );
 
END CONTDOR_0_TO_9;
 
ARCHITECTURE BEHAVIORAL OF CONTDOR_0_TO_9 IS
 
CONSTANT RETRASO_FIN : INTEGER := 49_999_999;
 
SIGNAL RETRASO : INTEGER RANGE 0 TO RETRASO_FIN :=0;
SIGNAL CONTADOR_PRINCIPAL : INTEGER RANGE 0 TO 9 := 0;
 
BEGIN
 
PROCESS(CLK)
BEGIN
IF RISING_EDGE(CLK) THEN 
   IF RESET = '1' THEN
              RETRASO <= 0;
              CONTADOR_PRINCIPAL <= 0;
ELSE
                IF INI = '1' THEN 
                 RETRASO <= RETRASO +1;
                             IF RETRASO = RETRASO_FIN THEN 
                                RETRASO <= 0;
                                          CONTADOR_PRINCIPAL <=CONTADOR_PRINCIPAL +1;
                                           IF CONTADOR_PRINCIPAL =9 THEN
                                              CONTADOR_PRINCIPAL <=0;
                                                         END IF;
                                          END IF;
                 END IF;
              END IF;
              END IF;
END PROCESS;
 
           --""ABCDEFG 
DISPLAY <= "1111110" WHEN CONTADOR_PRINCIPAL = 0 ELSE 
           "0110000" WHEN CONTADOR_PRINCIPAL = 1 ELSE
                                           "1101101" WHEN CONTADOR_PRINCIPAL = 2 ELSE
                                           "1111001" WHEN CONTADOR_PRINCIPAL = 3 ELSE
                                           "0110011" WHEN CONTADOR_PRINCIPAL = 4 ELSE
                                           "1011011" WHEN CONTADOR_PRINCIPAL = 5 ELSE
                                           "1011111" WHEN CONTADOR_PRINCIPAL = 6 ELSE
                                           "1110000" WHEN CONTADOR_PRINCIPAL = 7 ELSE
                                           "1111111" WHEN CONTADOR_PRINCIPAL = 8 ELSE
                                           "1111011";
  
 
              
                            
END BEHAVIORAL;
 
--""ABCDEFG 
DISPLAY <= "1111110" WHEN CONTADOR_PRINCIPAL = 0 ELSE 
           "0110000" WHEN CONTADOR_PRINCIPAL = 1 ELSE
                                           "1101101" WHEN CONTADOR_PRINCIPAL = 2 ELSE
                                           "1111001" WHEN CONTADOR_PRINCIPAL = 3 ELSE
                                           "0110011" WHEN CONTADOR_PRINCIPAL = 4 ELSE
                                           "1011011" WHEN CONTADOR_PRINCIPAL = 5 ELSE
                                           "1011111" WHEN CONTADOR_PRINCIPAL = 6 ELSE
                                           "1110000" WHEN CONTADOR_PRINCIPAL = 7 ELSE
                                           "1111111" WHEN CONTADOR_PRINCIPAL = 8 ELSE
                                           "1111011";


UFC 
NET CLK LOC =E7;
 
NET INI LOC =P14:
NET RESET LOC =B14;
 
NET DISPLAY<6> LOC =C6
NET DISPLAY<5> LOC =A7
NET DISPLAY<4> LOC =B7
NET DISPLAY<3> LOC =A8
NET DISPLAY<2> LOC =A9
NET DISPLAY<1> LOC =B9
NET DISPLAY<0> LOC =F10


Comentarios

Entradas populares de este blog

Sumador completo

Sumador de 4 bits