Práctica #1. Compuertas y Multiplexores M ultiplexores con VHDL
Objetivos: •
•
•
•
Familiarizarse con el programa Galaxy para la creación de proyectos. Obtener las bases necesarias del lenguaje VHDL para la programación de sistemas digitales. Familiarizarse con el programa Active-HDL Sim para la l a simulación de sistemas digitales. Aplicar los conocimientos conocimientos teóricos de Arquitectura Arquitectura de computadoras computadoras
Esta guía los llevará paso a paso en la creación de proyectos en VHDL, así como en la simulación del sistema digital.
Para la creación y simulación de sistemas digitales utilizaremos el programa Galaxy. El primer paso es crear el proyecto en el cual realizaremos el diseño en VHDL. Esto se muestra en las figuras 1 y 2.
Figura 1. Creación de nuevo proyecto con Galaxy
Figura 2. Nuevo proyecto con Galaxy (2).
1
Dr. Marco Aceves, PhD
Práctica #1. Compuertas y Multiplexores con VHDL
En este caso, debido a que se pretende programar un dispositivo GAL se seleccionara “Project [Target – Library] “
En el siguiente cuadro de diálogo, se seleccionará el nombre de la librería, el nombre del proyecto y el tipo (VHDL es más completo que Verilog, por lo que se usará éste). El cuadro de diálogo de la información del proyecto se muestra en la figura 3.
Figura 3. Información del proyecto VHDL en Galaxy
Para iniciar a trabajar con VHDL simplemente es necesario agregar un archivo de texto usando el mismo procedimiento anteriormente mencionado. Sin embargo, en lugar de seleccionar “Project” se seleccionará “text file”. Nota importante: es necesario que al grabar su archivo de texto se ponga manualmente la extensión vhd, de otra forma no podrá ser agregado al proyecto.
Para agregar archivos vhd al proyecto recién creado, seleccione “add files” en el menú Project, como lo muestra en la figura 4.
2
Dr. Marco Aceves, PhD
Práctica #1. Compuertas y Multiplexores con VHDL
Figura 4. Archivo VHDL agrega al proyecto.
Como ejemplo, a continuación se muestra una compuerta OR programada en VHDL. library ieee; use ieee.std_logic_1164.all; ENTITY Compuerta_OR IS PORT (a, b : IN std_logic; x : OUT std_logic); END Compuerta_OR; ARCHITECTURE algoritmica OF Compuerta_OR IS BEGIN x <= a OR b; END algoritmica;
Una vez terminado su programa en VHDL, el siguiente paso es compilarlo. En la siguiente figura (Figura 5, se muestra cómo compilarlo.
3
Dr. Marco Aceves, PhD
Práctica #1. Compuertas y Multiplexores con VHDL
Figura 5. Compilación de un programa en VHDL. En la pestaña de “Compiler” aparecerán los errores en caso de haberlos, como lo muestra la figura 5.
Una vez que tanto el diseño como la compilación son correctas, el siguiente paso es la simulación del programa VHD.
Para la simulación se utilizará el programa “Active-HDL Sim”. Una ves abierto el programa para simulación se tiene que abrir el archivo VHD, como lo muestra la figura 6.
4
Dr. Marco Aceves, PhD
Práctica #1. Compuertas y Multiplexores con VHDL
FIgura 6. Active-HDL Sim.
Lo siguiente es agregar las señales de entrada y salida que se requieren simular. Para esto se selecciona “add signals” del menú “waveform”. En el siguiente cuadro de diálogo, se seleccionarán todas las entradas y salidas como se muestra en la figura 7.
Figura 7. Señales por se agregadas en Active-HDL Sim.
A continuación se necesitará definir el comportamiento de las entradas para poder simular la salida(s). A este comportamiento se le llama “stimulus”.
5
Dr. Marco Aceves, PhD
Práctica #1. Compuertas y Multiplexores con VHDL
Seleccionar las entradas y con click derecho, seleccionar “stimulators”. Esto se muestra en la Figura 8.
Figura 8. Creación de “Stimulus” para las señales de entrada.
Es recomendable utilizar para estos ejercicios el tipo de simulador reloj. En este ejemplo la frecuencia de la señal “a” es de 1MHz y la de la señal “b” es de 10MHz (Se pueden utilizar KHz y Hz).
La creación de los “stimulus” se muestra en la Figura 9.
6
Dr. Marco Aceves, PhD
Práctica #1. Compuertas y Multiplexores con VHDL
Figura 9. Ejemplo de “stimulators” de una compuerta OR. Por último, iniciará la simulación oprimiendo el botón que se muestra en la figura 10.
Figura 10. Inicio de la simulación y observabilidad de la salida “x” para una compuerta OR
7
Dr. Marco Aceves, PhD
Práctica #1. Compuertas y Multiplexores con VHDL
Figura 11. Inicio de la simulación y observabilidad de la salida “x” para una compuerta AND
El siguiente paso es hacer algo ligeramente más complejo más relacionado con la materia arquitectura de computadoras: un multiplexor. El siguiente código muestra un comparador de 2 bits en el cual si a y b son iguales el resultado de C es verdadero, de lo contrario arrojará falso. Basado en dicho código, desarrolle un multiplexor como lo muestra la figura 12
Figura 12. Diagrama de un Multiplexor se 4 entradas de 2 bits cada una.
El multiplexor funcionará de la manera siguiente: a, b, c y d serán de 2 bits cada una, lo mismo que la salida y Existirá una señal de selección sel de 2 bits de tal forma que si
8
Dr. Marco Aceves, PhD
Práctica #1. Compuertas y Multiplexores con VHDL
sel = 00
y=a
sel = 01
y=b
sel = 10
y=c
sel = 11
y=a
Lo anterior da una guía paso a paso de cómo diseñar un sistema digital en VHDL. Habiendo terminado su guía, están listos para su siguiente práctica. Su práctica consiste en lo siguiente:
1) Diseñar la lógica en VHDL de las siguientes compuertas: OR (ya fue mostrada), AND, NOT, NAND y XOR en diferentes archivos (si es posible proyectos). 2) Comprobar mediante simulación el diseño para dichas compuertas (OR, AND, NOT, NAND y XOR). 3) Diseñar y simular en VHDL un multiplexor de 4 entradas y 2 bits cada una.
La realización de esta práctica es por equipos, y deberá de ser documentada el diseño, la simulación, los resultados y las conclusiones de la misma de manera individual, incluidas en el mismo reporte.
El reporte deberá ser enviado por e-mail en la fecha que se indique, en formato .doc (de compatibilidad 2003) o pdf.
9
Dr. Marco Aceves, PhD
Práctica #1. Compuertas y Multiplexores con VHDL
La calificación para esta práctica se dará de la siguiente manera:
Objetivo e Introducción
10%
Diseño de las compuertas en VHDL
15%
Simulación de las compuertas en Active-HDL Sim
15%
Explicación de la simulación
10%
Diseño del multiplexor
20%
Simulación y explicación de dicha lógica
20%
Conclusiones de su práctica
10%
Archivos completos
0% (pero deben de ser enviados)
La práctica deberá de ser enviada por mail en la fecha acordada. Los archivos utilizados vhd, rpt y de proyecto deberán de ser compactados (zip o rar sin contraseña) y enviados por mail al igual que su reporte. El retraso de la entrega de su práctica demeritará en un 15% del total por día. Después de 3 días de retraso, no se admitirán prácticas
10
Dr. Marco Aceves, PhD