You are on page 1of 23

INSTITUTO POLITCNICO NACIONAL

Unidad Profesional Interdisciplinaria en Ingeniera y


Tecnologas Avanzadas
Ingeniera Mecatrnica
Circuitos Lgicos

Prctica 0. Introduccin al entorno VHDL


Alumnos:

XXXXXXXXXXXX
Bello Ramrez Oscar Ivn
XXXXXXXXXXXXX
XXXXXXXXXXXX
Medina Torres Jael Sebastin
XXXXXXXXXXXXX
XXXXXXXXXXXX
Toral Robles Adrin
XXXXXXXXXXXXX
XXXXXXXXXXXX

Grupo:
2MV12

Profesor:
Trejo Salazar David Benjamn

Fecha de Entrega:
15 de Septiembre de 2013

OBJETIVO.
Sentar las bases que constituyen el entorno de Programacin en el lenguaje VHDL,
para as poder cargarlos dentro de un dispositivo PLD y poder verificar su
funcionamiento.
As mismo, se busca reafirmar los conocimientos del lgebra de Boole y de los
teoremas utilizados en clase para la reduccin de expresiones Booleanas.

INTRODUCCIN
El lenguaje VHDL fue creado con el propsito de especificar y documentar circuitos
y sistemas digitales utilizando un lenguaje formal. En la prctica se ha convertido,
en un gran nmero de entornos de CAD, en el HDL de referencia para realizar
modelos sintetizables automticamente. Las principales caractersticas del lenguaje
VHDL se explican en los siguientes puntos:
Descripcin textual normalizada:
El lenguaje VHDL es un lenguaje de descripcin que especifica los circuitos
electrnicos en un formato adecuado para ser interpretado tanto por mquinas como
por personas. Se trata adems de un lenguaje formal, es decir, no resulta ambiguo
a la hora de expresar el comportamiento o representar la estructura de un circuito.
Es, por ltimo, un lenguaje ejecutable, lo que permite que la descripcin textual del
hardware se materialice en una representacin del mismo utilizable por
herramientas auxiliares tales como simuladores y sintetizadores lgicos,
compiladores de silicio, simuladores de tiempo, de cobertura de fallos, herramientas
de diseo fsico, etc.
Amplio rango de capacidad descriptiva:
El lenguaje VHDL posibilita la descripcin del hardware con distintos niveles de
abstraccin, pudiendo adaptarse a distintos propsitos y utilizarse en las sucesivas
fases que se dan en el desarrollo de los diseos. Adems es un lenguaje adaptable
a distintas metodologas de diseo y facilita la actualizacin y adaptacin de los
diseos a los avances de la tecnologa en cada momento.
Otras ventajas:
Adems de las ventajas ya reseadas tambin es destacable la capacidad del
lenguaje para el manejo de proyectos de grandes dimensiones, las garantas que
comporta su uso cuando, durante el ciclo de mantenimiento del proyecto, hay que
sustituir componentes o realizar modificaciones en los circuitos, y el hecho de que,
para muchas organizaciones contratantes, sea parte indispensable de la
documentacin de los sistemas.

PROCEDIMIENTO Y DESARROLLO.
Ejercicio 1. Realizar la reduccin de la siguiente expresin Booleana con las
propiedades del lgebra de Boole, dibujar la solucin con simbologa y una
vez que se tenga la solucin comprobar con tablas de verdad y con un PLD
las ecuaciones resultantes.

Paso 1. Mediante las propiedades del lgebra de Boole, se reduce la ecuacin hasta
su mnima expresin.
+B+D+ )+ A (B+C
) + B
+ CD
(
) + B
+ CD
(1+B+ )+ A (B+C
) + B
+ CD
+ B+ + A (B+C
) + B
+ CD
+ + A (B+C
+ B
+ CD
+ AB+AC
+ B
+ CD
+B + AC
+ CD
+B + AC
+ D)
+B + C (A
+B + C (A + D)
+ C +B + CD
+ B + C

Paso 2. Se plantea la solucin mediante el uso de simbologa.

A
B
C

Paso 3. Se analiza la respuesta de la ecuacin dada mediante una tabla de verdad.


ABCD

AB

0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111

0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1

1
0
1
0
1
0
1
0
0
0
0
0
0
0
0
0

0
0
0
0
1
0
1
0
0
0
0
0
1
0
1
0

0
0
0
0
1
1
1
1
0
0
0
0
0
0
0
0

C
A
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0

CD

0
1
0
1
0
1
0
1
0
0
0
0
0
0
0
0

0
0
0
1
0
0
0
1
0
0
0
1
0
0
0
1

1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0

1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1

Paso 4. Se comprueba la solucin planteada (reducida) mediante el uso de tablas


de verdad.
ABCD
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111

+ B + C
Y=
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1

Paso 5. Para comprobar la solucin mediante un PLD, se recurre a la apertura de


la herramienta ISE Design para la programacin en VHDL.

Fig. 1 Acceso a la herramienta ISE Design Suite 14.2

Paso 6.Una vez que abrimos el software de programacin en VHDL, generamos un


nuevo proyecto mediante la ruta File/ New Project y asignamos un nombre para este
como se muestra en la Fig. 2; posteriormente seleccionamos los parmetros
adecuados de nuestra tarjeta a utilizar mediante el cuadro de dilogo de la Fig. 3.

Fig. 2 Asignacin de un nombre de Proyecto.

Fig. 3 Ventana de dilogo de asignacin de parmetros de la tarjeta a utilizar.

Paso 7. Posteriormente, procedemos a generar nuestro archivo syntetisize (.vhd)


mediante la ruta Project/ New Source/ VHDL Module asignando un nombre para el
mismo.

Fig. 4 Ventana de dilogo para generar el archivo .vhd.

Paso 8. A continuacin se indican las variables de entrada y salida para la utilizacin


dentro del cdigo de programacin.

Fig. 5 Ventana de asignacin de variables.

Paso 9. Finalmente escribimos nuestro cdigo en la parte de la entidad o entity


(interfaz del dispositivo con el exterior).

Fig. 6 Generacin del cdigo VHDL.

Paso 10. Procedemos a sintetizar nuestro cdigo en busca de algn error de


sintaxis.

Fig. 7 Verificacin del cdigo.

Paso 11. Una vez verificado nuestro cdigo, deberemos implementar los pines a
utilizar en nuestra FPGA, dando click derecho sobre el nombre de nuestro
programa, eligiendo la opcin de new source y seleccionando BMM File; damos un
nombre al archivo y asignamos cada una de las variables a las entradas y salidas
de nuestra tarjeta.

Fig. 8 Generacin del archivo Implement (.ucf).

Fig. 9 Escritura de Cdigo del archivo Implement (.ucf).

Paso 12. Posteriormente Implementamos nuestro archivo dando doble click en


Implement Design.

Fig. 10 Implementacin del archivo .ucf.

Paso 13. Una vez implementado el cdigo, se genera el programa dando click en la
parte de Generate Programming File.

Fig. 11 Generacin del archivo de programa.

Paso 14. Ya que todos los parmetros estn configurados de la manera correcta,
procedemos a cargar nuestro programa (Generate Programming File .bit) mediante
la herramienta Digilent Adept.

Fig. 12 Carga del archivo .bit mediante la herramienta Digilent Adept.

Paso 15. Finalmente visualizamos nuestro programa en la FPGA.

Fig. 13 Visualizacin de resultados en la tarjeta.

Ejercicio 2. Al igual que el ejercicio 1, seguir el mismo procedimiento para las


siguientes operaciones.

Paso 1. Mediante las propiedades del lgebra de Boole, se reducen las ecuaciones
hasta su mnima expresin.

Ecuacin 1
A (BC+ AC) + BC
ABC + AC + BC
A (BC + C) + BC
AC + BC
C (A + B)

Ecuacin 2

(
)

(XY + ) ( + )
XY + XY + +
(XY + + 1)

Ecuacin 3

(
+ + )

((
+ ) (
) )

+ + ))

((X + Y) (
+ X + X

+ Y + X
+ ) + X
Y (

Paso 2. Se plantea la solucin mediante el uso de simbologa.

Ecuacin 1

A
B

Y
C

Ecuacin 2

Ecuacin 3

X
Y
X
Y
W
YZ
W
Y

Paso 3. Se analiza la respuesta de cada ecuacin dada mediante una tabla de


verdad.
Ecuacin 1
ABC
0000
0001
0010
0011
1100
1101
1110
1111

R=BC+AC S=A(R) Y=S+BC


0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
1
1
0
1
1
1
1
1

Ecuacin 2
XYZ
0000
0001
0010
0011
1100
1101
1110
1111

R=
Z
0
1
0
1
0
0
0
0

S= R + XZ
0
0
0
0
0
1
0
1

q=
1
1
1
1
1
0
1
0

Ecuacin 3
XYZW
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111

X+Y
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1

=
+
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0

B= YZW
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1

A+B
1
1
1
1
0
0
0
1
0
0
0
0
0
0
0
1

=
+
0
0
0
0
1
1
1
0
1
1
1
1
1
1
1
0

1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0

q=CD
0
0
0
0
1
1
1
0
1
1
1
1
0
0
0
1

Paso 4. Se procede a comprobar la solucin arrojada por las tablas de verdad


mediante la generacin del cdigo en VHDL.

Fig. 14 Archivo (.vhd) de la Ecuacin1.

Fig. 15 Archivo (.vhd) de la Ecuacin2.

Fig. 16 Archivo (.vhd) de la Ecuacin 3.

Ejercicio 3. Disear en el lenguaje de descripcin de hardware, los siguientes


integrados:

74LS00

Tabla de Verdad y Ecuacin

Diagrama

Implementacin del Cdigo VHDL

74LS02

Tabla de Verdad y Ecuacin

Diagrama

Implementacin del Cdigo VHDL

74LS04

Tabla de Verdad y Ecuacin

Diagrama

Implementacin del Cdigo VHDL

74LS21

Tabla de Verdad y Ecuacin

Diagrama

Implementacin del Cdigo VHDL

74LS32

Tabla de Verdad y Ecuacin

Diagrama

Implementacin del Cdigo VHDL

74LS86

Tabla de Verdad y Ecuacin

Diagrama

Implementacin del Cdigo VHDL

Conclusiones
Para la presente prctica, pude darme cuenta de manera sencilla como es que
funciona el cdigo VHDL para la implementacin de circuitos digitales dentro de una
FPGA; aplicando ciertos programas de baja dificultad y sentando las bases de
programacin para trabajar en un futuro con programas mucho ms complejos que
los hasta ahora implementados.
Dentro del primer ejercicio pude implementar de manera sencilla un cdigo
booleano previamente reducido y analizado en tablas de verdad como parte
introductoria al software ISE Design Suite 14.2.
Para los siguientes ejercicios, ya sentadas las bases de programacin en cdigo
VHDL y la utilizacin del software de implementacin, pude experimentar y poner a
prueba mis conocimientos adquiridos en ecuaciones de mayor complejidad.
Sin duda, esta primer prctica introductoria me ayudar a poder enfrentarme a
problemas de mayor complejidad en un futuro.

Por Jael Sebastian Medina Torres

Durante esta prctica se comprendi y se practic el lgebra Bool. Adems de


desarrollar la habilidad en el programa de Project Navigator de ISE, para el diseo
de circuitos lgicos. Hay que mencionar que tambin nos permiti conocer los
diferentes integrados que son tiles en el diseo fsico de un circuito lgico y si
estructura interna del mismo.
Por Oscar Ivn Bello Ramrez

El desarrollo de sta prctica fue muy importante pues utilizamos por primera vez
el entorno VHDL y comenzamos a familiarizarnos con programas como ISE y
Adept. Aprendimos declarar variables, crear proyectos y archivos VHDL, adems
como crear una funcin y declarar las entradas y salidas con base en al modelo de
Nexys en la que trabajemos. En general creo que fue una buena prctica para
establecer conceptos bsicos sobre el uso de dispositivos FPGA y un buen repaso
para los temas de algebra booleana.
En lo personal, me gust realizar la prctica, no fue complicado y aunque
cometimos errores, fue un buen comienzo para entender ms de circuitos lgicos.
Por Adrian Toral Robles

You might also like