Professional Documents
Culture Documents
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
A
B
C
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
+ B + C
Y=
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
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.
Paso 13. Una vez implementado el cdigo, se genera el programa dando click en la
parte de Generate Programming File.
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.
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 (
Ecuacin 1
A
B
Y
C
Ecuacin 2
Ecuacin 3
X
Y
X
Y
W
YZ
W
Y
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
74LS00
Diagrama
74LS02
Diagrama
74LS04
Diagrama
74LS21
Diagrama
74LS32
Diagrama
74LS86
Diagrama
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.
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