1 UNIVERSIDAD DISTRITAL FRANCISCO JOSE DE CALDAS FACULTAD DE INGENIERÍA ELÉCTRICA ELECTRÓNICA DIGITAL LABORATORIOS VHDL

31 de Enero de 2012 Entregado por: Luis Ignacio Sánchez Castillo – 20101007004 Estudiante cuarto semestre Ingeniería Eléctrica. Al Profesor: Ernesto Gómez Vargas. Docente de Electrónica Digital. Objetivo General. Realizar las practicas indicadas en el software Max+plus II Manager y utilizar Vhdl para describir circuitos digitales. LABORATORIO Digitales I VHDL Objetivo: Familiarizarse con la herramienta de simulación de VHDL (MaxPlus2) Recursos: Para esta práctica se puede utilizar cualquier herramienta que permita simular VHDL, aunque para los siguientes ejemplos se utilizara Maxplus2. Ejercicio: Describa con VHDL la siguiente función como suma de productos y como producto de sumas y realice las respectivas compilaciones y simulaciones. F(x,y,z)=xy* + x*z + yz

A

B

C

1 4 2 3 5

6 7 8

9

2 UNIVERSIDAD DISTRITAL FRANCISCO JOSE DE CALDAS FACULTAD DE INGENIERÍA ELÉCTRICA ELECTRÓNICA DIGITAL LABORATORIOS VHDL Código Suma de productos: Código Producto de Sumas: .

2. Ejercicio: Implemente la siguiente función de la forma 1. F(x. 3 y simule los respectivos resultados.z)=xy* + x*z + yz A B C 1 4 2 3 5 6 7 8 9 Código forma 1: .y.3 UNIVERSIDAD DISTRITAL FRANCISCO JOSE DE CALDAS FACULTAD DE INGENIERÍA ELÉCTRICA ELECTRÓNICA DIGITAL LABORATORIOS VHDL Simulación: LABORATORIO Digitales II VHDL Objetivo: Implementar una función a partir de la tabla de verdad.

4 UNIVERSIDAD DISTRITAL FRANCISCO JOSE DE CALDAS FACULTAD DE INGENIERÍA ELÉCTRICA ELECTRÓNICA DIGITAL LABORATORIOS VHDL Código Forma 2: Código Forma 3: .

5 UNIVERSIDAD DISTRITAL FRANCISCO JOSE DE CALDAS FACULTAD DE INGENIERÍA ELÉCTRICA ELECTRÓNICA DIGITAL LABORATORIOS VHDL Simulación: Forma 1 Forma 2 Forma 3 LABORATORIO Digitales III VHDL .

6 UNIVERSIDAD DISTRITAL FRANCISCO JOSE DE CALDAS FACULTAD DE INGENIERÍA ELÉCTRICA ELECTRÓNICA DIGITAL LABORATORIOS VHDL Objetivo: Implementar un sumador en paralelo de cuatro bits. realice la compilación y simulación. Ejercicio: Modifique la descripción anterior para que tenga carry de entrada y carry de salida. Código Sumador: Simulación: .

Decodificador: Multiplexor de 2 a 1: .Construya desde el modo grafico un multiplexor de 8 entradas a partir del multiplexor de dos entradas diseñado en el punto anterior. .7 UNIVERSIDAD DISTRITAL FRANCISCO JOSE DE CALDAS FACULTAD DE INGENIERÍA ELÉCTRICA ELECTRÓNICA DIGITAL LABORATORIOS VHDL LABORATORIO Digitales IV VHDL Ejercicio: . .Modele en VHDL un decodificadorde 4 a 7 segmentos. .Modele en VHDL un multiplexor de dos entradas.Modele en VHDL un demultiplexor de ocho salidas como se muestra en la siguiente tabla (entrada I).

8 UNIVERSIDAD DISTRITAL FRANCISCO JOSE DE CALDAS FACULTAD DE INGENIERÍA ELÉCTRICA ELECTRÓNICA DIGITAL LABORATORIOS VHDL Código Decodificador de 4 a 7: Código Multiplexor: .

9 UNIVERSIDAD DISTRITAL FRANCISCO JOSE DE CALDAS FACULTAD DE INGENIERÍA ELÉCTRICA ELECTRÓNICA DIGITAL LABORATORIOS VHDL Multiplexor de 8 a 1: Demultiplexor de 8 salidas: .

10 UNIVERSIDAD DISTRITAL FRANCISCO JOSE DE CALDAS FACULTAD DE INGENIERÍA ELÉCTRICA ELECTRÓNICA DIGITAL LABORATORIOS VHDL Simulaciones: Decodificador de 4 a 7 Multiplexor de 2 a 1 Multiplexor de 8 entradas .

.Modele en VHDL un Flip-Flop Tipo JK.11 UNIVERSIDAD DISTRITAL FRANCISCO JOSE DE CALDAS FACULTAD DE INGENIERÍA ELÉCTRICA ELECTRÓNICA DIGITAL LABORATORIOS VHDL Demultiplexor de 8 salidas LABORATORIO Digitales V VHDL Objetivos: Realizar la descripción VHDL de Flip –flops y registros Ejercicio: -Modele en VHDL un Flip-Flop Tipo Da partir del siguiente circuito y compare el resultado con el diseñado en el punto anterior de la presente guía. .Modele en VHDL un Flip-Flop Tipo T. .

12 UNIVERSIDAD DISTRITAL FRANCISCO JOSE DE CALDAS FACULTAD DE INGENIERÍA ELÉCTRICA ELECTRÓNICA DIGITAL LABORATORIOS VHDL . Código Flip-Flop tipo D Código Flip-Flop tipo D con compuertas Código Flip-Flop tipo JK . (F=0 desplazamiento a la derecha.Modele un Registro de desplazamiento de 4 bits a la derecha y a la izquierda que tenga una entrada de selección f que indique el sentido del desplazamiento. F=1 desplazamiento a la izquierda).

13 UNIVERSIDAD DISTRITAL FRANCISCO JOSE DE CALDAS FACULTAD DE INGENIERÍA ELÉCTRICA ELECTRÓNICA DIGITAL LABORATORIOS VHDL Código Flip-Flop tipo T Código Registro .

14 UNIVERSIDAD DISTRITAL FRANCISCO JOSE DE CALDAS FACULTAD DE INGENIERÍA ELÉCTRICA ELECTRÓNICA DIGITAL LABORATORIOS VHDL Simulaciones: • Flip-Flop tipo D • Flip-Flop tipo D con compuertas • Flip-Flop tipo JK • Flip-Flop tipo T .

6.15 UNIVERSIDAD DISTRITAL FRANCISCO JOSE DE CALDAS FACULTAD DE INGENIERÍA ELÉCTRICA ELECTRÓNICA DIGITAL LABORATORIOS VHDL • Registro de desplazamiento LABORATORIO Digitales VI VHDL Objetivo: Realizar la descripción VHDL de contadores. 12. Ejercicio: Modele en VHDL un Contador de 4 bits que tenga un pin que habilite el conteo ascendente o descendente. 3. 9. 0. 3. Modele en VHDL un contador ascendente (múltiplos de 3) de cuatro bits con la siguiente secuencias (0. 15. 6….) Código Contador de 4 bits Código Contador Ascendente ..

16 UNIVERSIDAD DISTRITAL FRANCISCO JOSE DE CALDAS FACULTAD DE INGENIERÍA ELÉCTRICA ELECTRÓNICA DIGITAL LABORATORIOS VHDL Simulaciones: • Contador de 4 Bits • Contador ascendente LABORATORIO Digitales VII VHDL .

-Simule y compile y haga todos los comentarios respectivos. Código Máquina de estados: . Ejercicio: -Modifique la anterior descripción para que tenga en cuenta todos los posibles saltos al estado de error.17 UNIVERSIDAD DISTRITAL FRANCISCO JOSE DE CALDAS FACULTAD DE INGENIERÍA ELÉCTRICA ELECTRÓNICA DIGITAL LABORATORIOS VHDL Objetivo: El objetivo de esta practica es mirar como se modela con VHDL las Maquinas de estados Finitas.

Architecture f_1 of fsm is type estados is (s0. end f_1. L.s2. when s2 => Simulación Máquina de estados: if ( T='1'and V='0')then estado <= S2. use ieee. elsif clk'event and clk ='1' then case estado is when s0 => if (L='0' )then estado <= s0. V1.E: OUT std_logic). elsif(L='0' and V='1')then estado <= s0.18 UNIVERSIDAD DISTRITAL FRANCISCO JOSE DE CALDAS FACULTAD DE INGENIERÍA ELÉCTRICA ELECTRÓNICA DIGITAL LABORATORIOS VHDL library ieee. elsif(L='1' and T='1'and V='0')then estado <= s2. use ieee.T. elsif(L='1' AND T='1')THEN estado<=s3. end if.reset : in std_logic. when s3 => estado <= s3. end case.V : in std_logic. end if. V1 <= '1' when (estado = s0) else '0'. elsif(T='0' and V='0')then estado<=s3. s3).all.std_logic_1164.all. elsif(L='1' and V='1')then estado <= s3.reset) begin if reset = '1' then estado <= s0.std_logic_unsigned. C <= '1' when (estado = s1) else '0'. End fsm. elsif(L='1' and V='1')then estado <= s3. end process. begin process (clk. signal estado : estados. elsif(L='1' and T='0'and V='0')then estado <= s1.all. end if. elsif(L='0')then estado<=s3. E <= '1' when (estado = s3) else '0'.std_logic_arith. when S1 => if (L='1' and T='0'and V='0')then estado <= s1.s1. . elsif(L='1' and V='1')then estado <= s3. use ieee. V2 <= '1' when (estado = s2) else '0'.C. Entity fsm is port ( clk.V2. end if.

Programar en Vhdl economiza gastos debido a que podemos implemetar todo un circuito en una sola pastilla. los cuales ocuparian demasiado espacio.19 UNIVERSIDAD DISTRITAL FRANCISCO JOSE DE CALDAS FACULTAD DE INGENIERÍA ELÉCTRICA ELECTRÓNICA DIGITAL LABORATORIOS VHDL CONCLUSIONES • • • Despues de haber realizado estas prácticas puede dearme cuenta de la importacia de usar Vhdl para describir circuitos digitales. La descripción funcional en Vhdl es muy similar a los lenguajes de software debido a que se realiza de forma secuancial. en vez de utilizar gran cantidad de intagrados. .