Sunteți pe pagina 1din 22

Facultad de ingeniería electrónica, eléctrica y telecomunicaciones

Tarea VHDL

Nombre:

Usccachi valencia Darwin darius

Código:

14190110

Escuela:
Ingeniería electronica

2018
PROBLEMAS VHDL
Problema 1.

Utilizando quartus II

solo tuvimos duracion de licensia de 2 dias .

codigo

library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_arith.all;
use ieee.std_logic_unsigned.all;

entity sumres is
port( A,B : in std_logic_vector (3 downto 0);
ci : in std_logic;
EN : in std_logic;
S : out std_logic_vector (3 downto 0);
Co : out std_logic);
end sumres;

architecture solucion of sumres is


begin

process (EN,A,B)
begin
if (EN= ‘1’) then S<=A+B;
elsif (EN= ‘0’) then S=<A-B;
end if;
end process;

end solucion;

El circuito funciona como restador para EN=1


El circuito funciona como sumador para EN=0
Problema 2.

CODIGO

library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_arith.all;
use ieee.std_logic_unsigned.all;

entity comparador is
port( A : in std_logic_vector (3 downto 0);
B : in std_logic_vector(3 downto 0);
IGU : out std_logic;
MAY : out std_logic;
MEN : out std_logic;
end comparador;

architecture behavioral of comparador is


begin
IGU <= ‘1’ when A = B else ‘0’;
MAY <= ‘1’ when A > B else ‘0’;
MEN <= ‘1’ when A < B else ‘0’;
end architecture;

Problema 3

Haciendo el problema en max plus:


CODIGO

LIBRARY ieee;

USE ieee.std_logic_1164.ALL;

ENTITY EJERCICIO3 IS

PORT(

X1, X2, X3, X4 : IN STD_LOGIC;

F1,F2 : OUT STD_LOGIC);

END EJERCICIO3;

ARCHITECTURE INTERIOR OF EJERCICIO3 IS

SIGNAL NX3,NX4: STD_LOGIC;

BEGIN

NX3<= NOT X3; NX4<= NOT X4;


F1<= (X1 AND NX3)OR(X2 AND NX3)OR

(NX3 AND NX4)OR(X1 AND X2)OR(X1 AND NX4);

F2<= (X1 OR NX3)AND(X1 OR X2 OR NX4)AND(X2 OR NX3 OR NX4);

END INTERIOR;

COMPILANDO EL CODIGO
CREANDO EL DIAGRAMA DE TIEMPO

Y PONIENDO EL TIEMPO A NUESTRAS ENTRADAS Y COMPILANDO PARA ACTIVAR NUESTRAS


FUNCIONES
PROBLEMAS 4

CODIGO

LIBRARY ieee;

USE ieee.std_logic_1164.ALL;

ENTITY EJERCICIO4 IS

PORT(

X1,X2,X3,X4 : IN STD_LOGIC;

F1,F2 : OUT STD_LOGIC);

END EJERCICIO4;

ARCHITECTURE INTERIOR OF EJERCICIO4 IS


SIGNAL NX1,NX2,NX3,NX4 : STD_LOGIC;

BEGIN

NX1<= NOT X1;

NX2<= NOT X2;

NX3<= NOT X3;

NX4<= NOT X4;

F1<= (X1 AND X3)OR(NX1 AND NX3)OR(X2 AND X4)OR

(NX2 AND NX4);

F2<= (X1 AND X2 AND NX3 AND NX4)OR(NX1 AND NX2 AND X3 AND X4)OR

(X1 AND NX2 AND NX3 AND X4) OR(NX1 AND X2 AND X3 AND NX4);

END INTERIOR;

ESCRIBIENDO EL CODIGO EN MAX PLUS


COMPILANDO EL CODIGO

CREANDO EL DIAGRAMA DE TIEMPO Y EXPORTANDO NUESTRAS ENTRADAS Y SALIDAS

PONIENDOLE TIEMPO A NUESTRO DIAGRAMA Y COMPILANDO LA FUNCION


PROBLEMA 5

CODIGO

LIBRARY ieee;

USE ieee.std_logic_1164.ALL;

ENTITY EJERCICIO5 IS

PORT(

X1,X2,X3,X4 : IN STD_LOGIC;

F : OUT STD_LOGIC);

END EJERCICIO5;

ARCHITECTURE INTERIOR OF EJERCICIO5 IS

SIGNAL NX1,NX2,NX3,NX4 : STD_LOGIC;


BEGIN

NX1 <= NOT X1;

NX2 <= NOT X2;

NX3 <= NOT X3;

NX4 <= NOT X4;

F<= (NX1 AND NX3)OR

(X1 AND X2 AND NX4)OR

(X1 AND X2 AND X4)OR

(X1 AND NX2 AND NX3)OR

(NX1 AND X2 AND X4)OR

(NX1 AND NX2 AND NX4);

END INTERIOR;

PONIENDOLO EN MAX PLUS

COMPILANDO EL CODIGO
CREANDO EL DIAGRAMA DEL TIEMPO Y EXTRAYENDO NUESTRAS FUNCIONES

DANDOLE TIEMPO A NUESTRAS ENTRADAS PARA COMPILAR Y OBTENER NUESTRAS SALIDAS


PROBLEMA 7

CODIGO

LIBRARY ieee;

USE ieee.std_logic_1164.ALL;

ENTITY EJERCICIO7 IS

PORT(

X1,X2,X3,X4 : IN STD_LOGIC;

F : OUT STD_LOGIC);

END EJERCICIO7;

ARCHITECTURE INTERIOR OF EJERCICIO7 IS

SIGNAL NX1,NX3,NX4 : STD_LOGIC;


BEGIN

NX1 <= NOT X1;

NX3 <= NOT X3;

NX4 <= NOT X4;

F<= (X1 AND NX3)OR(NX1 AND X2 AND X3 AND NX4);

END INTERIOR;

PONIENDO EL CODIGO EN MAX PLUS

COMPILANDO EL CODIGO
CREANDO EL DIAGRAMA DEL TIEMPO Y EXTRAYENDO ENTRADAS Y SALIDAS

PONIENDO TIEMPO A NUESTRAS ENTRADAS COMPILAMOS Y OBSERVAMOS NUESTRAS


SALIDAS DE NUESTRAS FUNCIONES
PROBLEMA 8

CODIGO

LIBRARY ieee;

USE ieee.std_logic_1164.ALL;

ENTITY EJERCICIO8 IS

PORT(

X1,X2,X3,X4 : IN STD_LOGIC;

F : OUT STD_LOGIC);

END EJERCICIO8;

ARCHITECTURE INTERIOR OF EJERCICIO8 IS

SIGNAL NX2,NX4 : STD_LOGIC;

BEGIN
NX2 <= NOT X2;

NX4 <= NOT X4;

F<= (NX2 AND X3 AND X4)OR(X1 AND X3 AND NX4);

END INTERIOR;

PONIENDO EN EL PROGRAMA DE MAX PLUS

COMPILANDO EL CODIGO
CREANDO EL DIAGRAMA DE TIEMPO Y EXTRAYENDO NUESTRAS ENTRADAS Y SALIDAS

DANDOLES TIEMPO A NUESTRAS ENTRADAS OBTENEMOS NUESTRAS SALIDAS COMPILANDO


EL DIAGRAMA DE TIEMPO
PROBLEMA 9

CODIGO

LIBRARY ieee;

USE ieee.std_logic_1164.ALL;

USE work.fulladd_package.ALL;

ENTITY EJERCICIO9 IS

PORT( X,Y : IN STD_LOGIC_VECTOR(3 DOWNTO 0);

V,N,Z : OUT STD_LOGIC);

END comp;

ARCHITECTURE INTERIOR OF EJERCICIO9 IS

SIGNAL S : STD_LOGIC_VECTOR(3 DOWNTO 0);

SIGNAL C : STD_LOGIC_VECTOR(1 TO 4);

BEGIN
stage0: fulladd PORT MAP ('1',X(0),NOT Y(0), S(0), C(1));

stage1: fulladd PORT MAP (C(1), X(1), NOT Y(1), S(1), C(2));

stage2: fulladd PORT MAP (C(2), X(2), NOT Y(2), S(2), C(3));

stage3: fulladd PORT MAP (C(3), X(3), NOT Y(3), S(3), C(4));

V<= C(4) XOR C(3);

N<= S(3);

Z<= '1' WHEN S(3 DOWNTO 0)= "0000" ELSE '0';

END INTERIOR;

PONIENDO EL CODIGO EN MAX PLUS

COMPILANDO EL CODIGO

S-ar putea să vă placă și