Circuitos Digitales - AYUDA URGENTE

 
Vista:

AYUDA URGENTE

Publicado por Andrea Ortez (1 intervención) el 08/06/2013 16:38:49
HOLA, NO SE SI ESTE BLOG ESTA ACTIVO, PERO DE VERDAD NECESITO QUE ME AYUDEN CON UN CONTADOR DE COMPUERTAS LOGICAS (SOLO COMPUERTAS LOGICAS) DEL 0 al 46
ES PARA UNA EVALUACION! GRACIAS :D
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Contador de compuertas lógicas de 0 a 46

Publicado por Alejandro (117 intervenciones) el 29/08/2023 18:04:40
Aquí tienes un diseño básico de un contador ascendente de 0 a 46 utilizando solo compuertas lógicas. En este ejemplo, se utiliza una combinación de compuertas AND, OR y NOT para implementar el contador. Te recuerdo que este es un diseño simplificado y que puede requerir ajustes específicos según los tipos de compuertas que tengas disponibles y los tiempos de propagación.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
 
entity contador_comp_logicas is
    Port (
        CLK     : in STD_LOGIC; -- Reloj
        RESET   : in STD_LOGIC; -- Reset del contador
        Count   : out STD_LOGIC_VECTOR(5 downto 0) -- Salida del contador
    );
end contador_comp_logicas;
 
architecture Behavioral of contador_comp_logicas is
    signal internal_count : STD_LOGIC_VECTOR(5 downto 0) := "000000"; -- Registro interno del contador
 
    signal enable_next : STD_LOGIC; -- Habilitar siguiente incremento
 
    -- Compuertas lógicas para determinar cuándo habilitar el siguiente incremento
    signal enable_0 : STD_LOGIC;
    signal enable_9 : STD_LOGIC;
    signal enable_19 : STD_LOGIC;
    signal enable_29 : STD_LOGIC;
    signal enable_39 : STD_LOGIC;
 
begin
    -- Habilitar el siguiente incremento en función de los valores de count
    enable_0 <= (internal_count = "000000");
    enable_9 <= (internal_count = "01001");
    enable_19 <= (internal_count = "10011");
    enable_29 <= (internal_count = "11001");
    enable_39 <= (internal_count = "11111");
 
    -- Combinación de las señales de habilitación
    enable_next <= enable_0 OR enable_9 OR enable_19 OR enable_29 OR enable_39;
 
    process (CLK, RESET)
    begin
        if RESET = '1' then
            internal_count <= "000000";
        elsif rising_edge(CLK) then
            if enable_next = '1' then
                internal_count <= STD_LOGIC_VECTOR(unsigned(internal_count) + 1);
            end if;
        end if;
    end process;
 
    Count <= internal_count;
 
end Behavioral;

Este diseño utiliza compuertas lógicas para implementar la lógica de control que determina cuándo habilitar el siguiente incremento en el contador. Asegúrate de adaptar este diseño a los tipos de compuertas lógicas que tienes disponibles y realiza pruebas exhaustivas para verificar su funcionamiento.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar