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
6
4 2
8
7
3 5
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:
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. Ejercicio:
Implemente la siguiente función de la forma 1, 2, 3 y simule los respectivos resultados. F(x,y,z)=xy* + x*z + yz
A
B
C
1
6
4 2
3 5
Código forma 1:
8
7
9
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. Ejercicio:
Modifique la descripción anterior para que tenga carry de entrada y carry de salida, realice la compilación y simulación.
Código Sumador:
Simulación:
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. - Construya desde el modo grafico un multiplexor de 8 entradas a partir del multiplexor de dos entradas diseñado en el punto anterior. - Modele en VHDL un demultiplexor de ocho salidas como se muestra en la siguiente tabla (entrada I).
Decodificador:
Multiplexor de 2 a 1:
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
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 JK. - 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
- 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=0 desplazamiento a la derecha, F=1 desplazamiento a la izquierda). Código Flip-Flop tipo D
Código Flip-Flop tipo D con compuertas
Código Flip-Flop tipo JK
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
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. Ejercicio:
Modele en VHDL un Contador de 4 bits que tenga un pin que habilite el conteo ascendente o descendente. Modele en VHDL un contador ascendente (múltiplos de 3) de cuatro bits con la siguiente secuencias (0, 3, 6, 9, 12, 15, 0, 3, 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
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. Ejercicio:
-Modifique la anterior descripción para que tenga en cuenta todos los posibles saltos al estado de error. -Simule y compile y haga todos los comentarios respectivos.
Código Máquina de estados:
18
UNIVERSIDAD DISTRITAL FRANCISCO JOSE DE CALDAS FACULTAD DE INGENIERÍA ELÉCTRICA ELECTRÓNICA DIGITAL LABORATORIOS VHDL
library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_arith.all; use ieee.std_logic_unsigned.all;
if ( T='1'and V='0')then estado <= S2; elsif(L='0' and V='1')then
Entity fsm is port ( clk,reset : in std_logic; L,T,V : in std_logic; V1,C,V2,E: OUT std_logic); End fsm;
estado <= s0; elsif(L='1' and V='1')then estado <= s3; elsif(T='0' and V='0')then
Architecture f_1 of fsm is type estados is (s0,s1,s2, s3); signal estado : estados; begin process (clk,reset) begin if reset = '1' then estado <= s0; elsif clk'event and clk ='1' then case estado is when s0 => if (L='0' )then estado <= s0; elsif(L='1' and T='0'and V='0')then estado <= s1; elsif(L='1' and V='1')then estado <= s3; elsif(L='1' AND T='1')THEN estado<=s3; end if; when S1 => if (L='1' and T='0'and V='0')then estado <= s1; elsif(L='1' and T='1'and V='0')then estado <= s2; elsif(L='1' and V='1')then estado <= s3; elsif(L='0')then estado<=s3; end if; when s2 => Simulación Máquina de estados:
estado<=s3; end if; when s3 => estado <= s3; end case; end if; end process; V1 <= '1' when (estado = s0) else '0'; C <= '1' when (estado = s1) else '0'; V2 <= '1' when (estado = s2) else '0'; E <= '1' when (estado = s3) else '0'; end f_1;
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. Programar en Vhdl economiza gastos debido a que podemos implemetar todo un circuito en una sola pastilla, en vez de utilizar gran cantidad de intagrados, los cuales ocuparian demasiado espacio.