convertidor del sistema binario a un bcd digital

 

el objetivo de esta practica fue realizar un convertidor binario a digital por medio de un display de 7 segmentos. Se anexa el código con la implementación de puertos para la tarjeta 

código que se desarrollo

--librerias

library IEEE;

use IEEE.STD_LOGIC_1164.ALL;

--Entidad donde se define los puertos

entity bcd is

    Port (

                 i0 : in  STD_LOGIC;

                 i1 : in  STD_LOGIC;

    i2 : in  STD_LOGIC;

    i3 : in  STD_LOGIC;

                 ACT : out STD_LOGIC;

                 ACT1 : out STD_LOGIC;

                 ACT2 : out STD_LOGIC;

                 ACT3 : out STD_LOGIC;

                 ACT4 : out STD_LOGIC;

                 ACT5 : out STD_LOGIC;

                 ACT6 : out STD_LOGIC;

                 ACT7 : out STD_LOGIC;    

    a : out  STD_LOGIC;

    b : out  STD_LOGIC;

    c : out  STD_LOGIC;

    d : out  STD_LOGIC;

    e : out  STD_LOGIC;

    q : out  STD_LOGIC;

    g : out  STD_LOGIC);

end bcd;

--Arquitectura donde se describe el comportamiento del hardware

architecture Behavioral of bcd is

--inicio del programa

begin

 

ACT <= '0';

ACT1 <= '1';

ACT2 <= '1';

ACT3 <= '1';   --se declaran los displays que se ocuparon en este caso solo se ocupo el primero y por eso se pone 0

ACT4 <= '1';

ACT5 <= '1';

ACT6 <= '1';

ACT7 <= '1';

 

--se definen cada segmento del display

A <= NOT((NOT i3 AND NOT i2 AND NOT i1 AND NOT i0) OR (NOT i3 AND NOT i2 AND i1 AND NOT i0) OR

(NOT i3 AND NOT i2 AND i1 AND i0) OR (NOT i3 AND i2 AND NOT i1 AND i0) OR

(NOT i3 AND i2 AND i1 AND NOT i0) OR (NOT i3 AND i2 AND i1 AND i0) OR

(i3 AND NOT i2 AND NOT i1 AND NOT i0) OR (i3 AND NOT i2 AND NOT i1 AND i0));

 

B <= NOT((NOT i3 AND NOT i2 AND NOT i1 AND NOT i0) OR (NOT i3 AND NOT i2 AND NOT i1 AND i0) OR

(NOT i3 AND NOT i2 AND i1 AND NOT i0) OR (NOT i3 AND NOT i2 AND i1 AND i0) OR

(NOT i3 AND i2 AND NOT i1 AND NOT i0) OR (NOT i3 AND i2 AND i1 AND i0) OR

(i3 AND NOT i2 AND NOT i1 AND NOT i0) OR (i3 AND NOT i2 AND NOT i1 AND i0));

 

C <= NOT((NOT i3 AND NOT i2 AND NOT i1 AND NOT i0) OR (NOT i3 AND NOT i2 AND NOT i1 AND i0) OR

(NOT i3 AND NOT i2 AND i1 AND i0) OR (NOT i3 AND i2 AND NOT i1 AND NOT i0) OR

(NOT i3 AND i2 AND NOT i1 AND i0) OR (NOT i3 AND i2 AND i1 AND NOT i0) OR

(NOT i3 AND i2 AND i1 AND i0) OR (i3 AND NOT i2 AND NOT i1 AND NOT i0)

OR (i3 AND NOT i2 AND NOT i1 AND i0));

 

D <= NOT((NOT i3 AND NOT i2 AND NOT i1 AND NOT i0) OR (NOT i3 AND NOT i2 AND i1 AND NOT i0) OR

(NOT i3 AND NOT i2 AND i1 AND i0) OR (NOT i3 AND i2 AND NOT i1 AND i0) OR

(NOT i3 AND i2 AND i1 AND NOT i0) OR (i3 AND NOT i2 AND NOT i1 AND NOT i0)

OR (i3 AND NOT i2 AND NOT i1 AND i0));

 

E <= NOT((NOT i3 AND NOT i2 AND NOT i1 AND NOT i0) OR (NOT i3 AND NOT i2 AND i1 AND NOT i0) OR

(NOT i3 AND i2 AND i1 AND NOT i0) OR ( i3 AND NOT i2 AND NOT i1 AND NOT i0));

 

Q <= NOT ( (NOT i3 AND NOT i2 AND NOT i1 AND NOT i0) OR (NOT i3 AND i2 AND NOT i1 AND NOT i0) OR

(NOT i3 AND i2 AND NOT i1 AND i0) OR (NOT i3 AND i2 AND i1 AND NOT i0) OR

(i3 AND NOT i2 AND NOT i1 AND NOT i0) OR (i3 AND NOT i2 AND NOT i1 AND i0));

 

G <= NOT((NOT i3 AND NOT i2 AND i1 AND NOT i0) OR (NOT i3 AND NOT i2 AND i1 AND i0) OR

(NOT i3 AND i2 AND NOT i1 AND NOT i0) OR (NOT i3 AND i2 AND NOT i1 AND i0) OR

(NOT i3 AND i2 AND i1 AND NOT i0) OR (i3 AND NOT i2 AND NOT i1 AND NOT i0) OR

(i3 AND NOT i2 AND NOT i1 AND i0));           

 

--fin del programa

end Behavioral;


Autor :

Luis Alberto Cano Alvarez 





Comentarios

Entradas más populares de este blog

Ejercicio 4 de VHDL en EDA playground.

arquitectura de los DSP

Qué es un dispositivo lógico programable?