Código VHDL en Quartus II

(1/1)

RobertoCF:
Hola a todos, soy nuevo en esto del diseño de circuitos y estoy buscando ayuda con un ejercicio. He instalado el programa Quartus II y tengo el siguiente enunciado:

Problema: Debo realizar un circuito lógico que tiene cuatro entradas A, B, C y D. Determine las ecuaciones lógicas para el circuito, si la salida será alta solo cuando un número impar de
entradas sean altas. Trace un diagrama de circuito con las compuertas que desee.

Me gustaría aprender cómo abordar este ejercicio y escribir el código VHDL correspondiente. Si alguno de ustedes podría proporcionarme un punto de partida o algunos consejos para comenzar, estaría muy agradecido.

TickTack:
Hace poco estuve probando cosas en VHDL y pasé por un ejercicio más o menos parecido al tuyo. Hace que si bien tu pregunta tiene más de seis meses, quizás mí comentario le sirva a otro que también esté ocupado en ese lenguaje de descripción.

Para abordar el ejercicio que pusiste, primero necesitas determinar las ecuaciones lógicas que describen la salida en función de las entradas. En este caso, la salida será alta (1) cuando un número impar de entradas sean altas (1).

Puedes utilizar la lógica XOR (exclusiva O) para implementar esta condición. La función XOR devuelve un valor alto (1) cuando el número de entradas altas es impar. Entonces, puedes expresar la salida como la operación XOR de todas las entradas.

Aquí tienes un ejemplo de cómo podrías escribir el código VHDL para este circuito:

Código:

library IEEE;
use IEEE.STD_LOGIC_1164.ALL;

entity Circuito_Impar is
    Port ( A, B, C, D : in  STD_LOGIC;
           Salida : out  STD_LOGIC);
end Circuito_Impar;

architecture Behavioral of Circuito_Impar is
begin
    -- Ecuaciones lógicas para la salida
    Salida <= (A xor B xor C xor D);
end Behavioral;


Este código define una entidad llamada Circuito_Impar con cuatro entradas (A, B, C y D) y una salida (Salida). La arquitectura implementa la ecuación lógica utilizando la operación XOR para todas las entradas. Cuando el número de entradas altas es impar, la salida será alta (1); de lo contrario, será baja (0).

Después de escribir el código VHDL, puedes compilarlo en Quartus II y simular el circuito para ver si funciona.

Navegación

[0] Índice de Mensajes