Marco Antonio Bueno Gasca & Ricardo Montero Cortés | Diseño Digital en VHDL | 24 de abril de 2013 Practica 1. VHDL Estructura y comportamiento. BLANCA G. DE LA PEÑA VALENCIA
Marco Antonio Bueno Gasca & Ricardo Montero Cortés | Diseño Digital en VHDL | 24 de abril
de 2013
Practica 1. VHDL Estructura y comportamiento.
BLANCA G. DE LA PEÑA VALENCIA
PÁGINA 1
Introducción.
2.5.2 Descripción por flujo de datos.
La descripción por flujo datos indica la forma en que los datos se pueden transferir de una señal a otra
sin necesidad de declaraciones secuenciales (if-then-else). Este tipo de descripciones permite definir el
flujo que tomarán los datos entre módulos encargados de realizar operaciones. En este tipo de
descripción se pueden utilizar dos formatos: mediante instrucciones when-else (cuando-si no) o por
medio de ecuaciones booleanas.
Process (a, b) begin If (a = '0' and b = '0') then
Fl <= '0 ‘; Else
Fl <= ' 1’;
End i f;
End process;
a) Descripción por flujo de datos mediante when-else
A continuación se muestra el código del comparador de igualdad de dos bits descrito antes. Nótese que
la diferencia entre los listados 2.2 y 2.3 radica en la eliminación del proceso y en la descripción sin
declaraciones secuenciales (if-then-else).
Begin
c <= '1' when (a = b) else '0'; (asigna a C el valor de 1 cuando a=b si no vale 0).
End f_datos;
En VHDL se manejan dos tipos de declaraciones: secuenciales y concurrentes.
Una declaración secuencial de la forma if-then-else se halla en el listado dentro del proceso, donde su
ejecución debe seguir un orden para evitar la pérdida de la lógica descrita. En cambio, en una declaración
concurrente esto no es necesario, ya que no importa el orden en que se ejecutan.
b) Descripción por flujo de datos mediante ecuaciones booleanas Otra forma de describir el circuito comparador de dos bits es mediante la obtención de sus ecuaciones booleanas.
Begin c <= (a (1) xnor b (l) and a (0) xnor b (0)) ;
End booleana; La forma de flujo de datos en cualquiera de sus representaciones describe el camino que los datos siguen al ser transferidos de las operaciones efectuadas entre las entradas a y b a la señal de salida c.
Begin f <= ((a or b) xnor (c and b));
End compuertas;
PÁGINA 2
Ejercicio 1.
Ilustración 1. Contexto del comparador de 4 bits, con comentários.
Ilustración 2. Compilación del cuerpo en Aldec Active-HDL Student Edition.
La compilación se hizo de la siguiente manera ir a barra de estado, dar clic en Desing > Compile,
después se guardó el archivo. Ahora procederemos a crear la simulación en ondas, nos vamos a la
barra de herramientas y en el iconito a lado el de un disquet, (New wavefrom).
Comentarios
Compilación.
PÁGINA 3
Ilustración 3. Simulación del comparador de 4 Bits.
Ahora, pasando al ispLeaver, vamos a crear el archivo gal, para la compuerta en ISIS Proteus.
Ilustración 4. Creando el Fuse Map, para la creación de la gal en el ISIS.
Run las Waves
Compilación en ispLEVER.
PÁGINA 4
PÁGINA 5
Ilustración 5. La creación de la compuerta GAL, mandando a llamar las preposiciones .sym
PÁGINA 6
Ejercicio 2.
Ilustración 6. Insertando When-else en el contexto.
Ilustración 7. Compilación del contexto when-else.
La compilación se hizo de la siguiente manera ir a barra de estado, dar clic en Desing > Compile,
después se guardó el archivo. Ahora procederemos a crear la simulación en ondas, nos vamos a la
barra de herramientas y en el iconito a lado el de un disquet, (New wavefrom).
Compilación
Comentarios
PÁGINA 7
Ilustración 8. Simulación del contexto de Active.
Después pasamos a ispLEVER, y creamos la compilación para el Fuse Map.
Ilustración 9. Compilación para crear el archivo GAL en ISIS.
Run las Waves
Compilación en ispEAVER.
PÁGINA 8
PÁGINA 9
Ilustración 10. La creación del circuito.
Ilustración 11. Se puede comparar con la simulación de waves del active.
PÁGINA 10
Ejercicio 3.
Ilustración 12. Creación de comentarios.
Ilustración 13. Compilación del contexto de Active.
La compilación se hizo de la siguiente manera ir a barra de estado, dar clic en Desing > Compile,
después se guardó el archivo. Ahora procederemos a crear la simulación en ondas, nos vamos a la
barra de herramientas y en el iconito a lado el de un disquet, (New wavefrom).
C
o
m
e
n
t
a
ri
o
s
Compilaciones.
PÁGINA 11
Ilustración 14. Realización de las Waves.
Ilustración 15. Zoom, para ver las waves.
Run las Waves
PÁGINA 12
Ilustración 16. Cuando estén en 1, todos prenden en 1.
Ilustración 17. Creación del ispLEVER.
Ahora, obtendremos la datasheet para el ISIS.
Compilación en ispLEAVER, y la
creación del Fuse Map para ISIS
PÁGINA 13
PÁGINA 14
PÁGINA 15
Conclusión.
Ricardo Montero Cortez.
“La programación es un tema nuevo y de gran importancia para nuestra carrera de electrónica, pues
por medio de ella podremos crear circuitos con las características que deseemos.
Actualmente comenzamos a familiarizarnos con los entornos de programación en estos
lenguajes, pues cada lenguaje en sí, es diferente y requiere atención específica a la hora de utilizarlos,
por medio de la práctica lograremos el manejo con facilidad de las herramientas de los lenguajes y
podremos hacer infinidad de programas en los circuitos.
Las estructuras que comenzamos a utilizar nos hacen darnos cuenta que podemos realizar
una serie de instrucciones y ejecutar tareas específicas.”
Marco Antonio Bueno Gasca.
“El presente trabajo planteó como objetivo primario el de estudiar el algoritmo ACTIVE y utilizar el
lenguaje de descripción de hardware ispLEVER para describir algunas de sus arquitecturas.
Como objetivo secundario se propuso simular las descripciones realizadas modificando los
parámetros de interés: ancho de palabra y número de iteraciones, para determinar la exactitud que
se obtiene en los resultados. La simulación se llevó a cabo con ISIS Proteus.”
Bibliografía.
- VHDL: El Arte de Programar Sistemas Digitales Por Jessica Alcalá Jara, David G. Maxinez,
Editorial: Continental Edición: Primera, Año: 2003, Pág 29 – 35.
- R. de J. Romero-Troncoso, Electrónica Digital y Lógica Programable, Ed. Universidad de Gto,
México, 2007.
- R. de J. Romero-Troncoso, Sistemas digitales con VHDL, Ed. Legaria, México, 2004.